USBチェッカーを改造
2018-05-28
アマゾンで買ったUSBチェッカーですが、まだ数日しか経っていないのに接触不良を起こしだしました。
電流検出抵抗は50mΩですから0.5A流すと単純計算で25mVの電圧ドロップ、実際には接触抵抗もあるのでもっと落ちるでしょうが、0.2V以上も落ちては話になりません。コネクタ部分を触ると電圧がふらつくし・・・。
モバイルバッテリーの試験で頻繁に抜き差ししたのがよくなかったのか?それにしても早すぎます。
頭にきたのでバラして使ってないUSBケーブルを切断して半田付け、ホットボンドと結束バンドで固定しました。
使ったUSBケーブルの端子は金色をしてます、金メッキでしょう。
これで0.5A流して0.1V程度の電圧ドロップとなりました。

電流検出抵抗は50mΩですから0.5A流すと単純計算で25mVの電圧ドロップ、実際には接触抵抗もあるのでもっと落ちるでしょうが、0.2V以上も落ちては話になりません。コネクタ部分を触ると電圧がふらつくし・・・。
モバイルバッテリーの試験で頻繁に抜き差ししたのがよくなかったのか?それにしても早すぎます。

使ったUSBケーブルの端子は金色をしてます、金メッキでしょう。
これで0.5A流して0.1V程度の電圧ドロップとなりました。

スポンサーサイト
ダイソーの500円モバイルバッテリー
2018-05-27
ダイソーの500円(税別)モバイルバッテリーを買ってみました。
右側のは二年ほど前に買ったパナソニックのモバイルバッテリーです。LED付きルーペやちょっとした実験に使っていたのですが、最近になってスマホを買ったりUSB扇風機を買ったりしたので一個では足りず、500円(税別)と安いダイソーのを買いました。

早速性能を調べてみようと思いましたが、既にラジオペンチさんが詳しく調べられています。
ダイソーの500円モバイルバッテリー (回路調査)
ダイソーの500円モバイルバッテリー (特性測定)
ダイソーの500円モバイルバッテリー (リップル対策改造)
私の出る幕では無いと思いましたが、自分なりにやってみました。
(←クリックで拡大・・・するほどのことでありませんが)
先ずは簡単な実験基板を作りました。右側の端子に抵抗や電解コンデンサをはさんでオシロで波形を見ようというわけです。
実験中はラジオペンチさんの記事に倣って47μFの電解コンデンサをはさんだままにしました。
ここでちょっと問題になったのがUSB電源ケーブル。
上のは数年前に多分日本橋の共立電子で買ったケーブル。
下のは数週間ほど前に自作したケーブル。自作ケーブルのほうが電圧ドロップが少ないのです、約0.5A流して数十mVほど違いました。実験は自作ケーブルで行いました。
こんな感じで実験しました。
USB電圧・電流チェッカーはアマゾンで買った安物です。
これだけ安いと自作する気が失せます、性能もそこそこですし。
以下は負荷を変えてのオシロ画面です。(クリックで拡大)


負荷が軽くなるとリプルが大きくなります。
パナソニックのモバイルバッテリーの場合。
5mVp-pほどのノイズ。負荷を変えても変わりなし、さすがです。
電源スイッチもついており電子回路の実験に安心して使えます。
ダイソーのモバイルバッテリーがダメと言うつもりはありません。スマホの充電やLEDランプに使うには問題ありません。
要は使い分けです。
右側のは二年ほど前に買ったパナソニックのモバイルバッテリーです。LED付きルーペやちょっとした実験に使っていたのですが、最近になってスマホを買ったりUSB扇風機を買ったりしたので一個では足りず、500円(税別)と安いダイソーのを買いました。

早速性能を調べてみようと思いましたが、既にラジオペンチさんが詳しく調べられています。
ダイソーの500円モバイルバッテリー (回路調査)
ダイソーの500円モバイルバッテリー (特性測定)
ダイソーの500円モバイルバッテリー (リップル対策改造)
私の出る幕では無いと思いましたが、自分なりにやってみました。

先ずは簡単な実験基板を作りました。右側の端子に抵抗や電解コンデンサをはさんでオシロで波形を見ようというわけです。
実験中はラジオペンチさんの記事に倣って47μFの電解コンデンサをはさんだままにしました。

上のは数年前に多分日本橋の共立電子で買ったケーブル。
下のは数週間ほど前に自作したケーブル。自作ケーブルのほうが電圧ドロップが少ないのです、約0.5A流して数十mVほど違いました。実験は自作ケーブルで行いました。

USB電圧・電流チェッカーはアマゾンで買った安物です。
これだけ安いと自作する気が失せます、性能もそこそこですし。
以下は負荷を変えてのオシロ画面です。(クリックで拡大)




5mVp-pほどのノイズ。負荷を変えても変わりなし、さすがです。
電源スイッチもついており電子回路の実験に安心して使えます。
ダイソーのモバイルバッテリーがダメと言うつもりはありません。スマホの充電やLEDランプに使うには問題ありません。
要は使い分けです。
AD9833 DDSモジュールを試す(12) デバッグ
2018-05-20
自作したAD9833シグナルジェネレーターはロータリーエンコーダによって出力周波数を変えます。
ロータリーエンコーダをゆっくり回している時は問題ないのですが、勢いよく回すと表示周波数と周波数カウンタで測定した周波数が一致しなくなるという大問題があることがわかりました。
基板むき出しのままで実験している時には気付きませんでした。
ロータリーエンコーダ入力は割り込みによって処理しています。ここら辺に問題がありそうです。
スケッチはAD9833 Waveform Generatorのを一部修正して使わせてもらってます。
スケッチを調べなおしたところ loop() 内に問題があることがわかりました。
オリジナルのloop() の最後は以下のようになってます。(コメントは省略しました)
freq はグローバル変数でロータリーエンコーダ割り込みによって値が変わります。
AD9833setFrequency(freq, waveType) によって AD9833 の周波数を変え、
updateDisplay() によって表示を変えます。(updateDisplay() は内部で freq を見ています)
AD9833setFrequency(freq, waveType) の処理中にロータリーエンコーダ割り込みで freq の値が変わってしまうと
次の updateDisplay() で表示が一致しなくなることになります。
そこで次のように一時変数 temp を入れて対処しました。そのため updateDisplay() は引数を渡せるように書き換えました。
これで出力周波数と表示周波数の不一致という問題はなくなりました。
割り込みは苦手です、昔も今も。
ロータリーエンコーダをゆっくり回している時は問題ないのですが、勢いよく回すと表示周波数と周波数カウンタで測定した周波数が一致しなくなるという大問題があることがわかりました。
基板むき出しのままで実験している時には気付きませんでした。
ロータリーエンコーダ入力は割り込みによって処理しています。ここら辺に問題がありそうです。
スケッチはAD9833 Waveform Generatorのを一部修正して使わせてもらってます。
スケッチを調べなおしたところ loop() 内に問題があることがわかりました。
オリジナルのloop() の最後は以下のようになってます。(コメントは省略しました)
if (freq != freqOld) {
AD9833setFrequency(freq, waveType);
updateDisplay();
freqOld = freq;
}
freq はグローバル変数でロータリーエンコーダ割り込みによって値が変わります。
AD9833setFrequency(freq, waveType) によって AD9833 の周波数を変え、
updateDisplay() によって表示を変えます。(updateDisplay() は内部で freq を見ています)
AD9833setFrequency(freq, waveType) の処理中にロータリーエンコーダ割り込みで freq の値が変わってしまうと
次の updateDisplay() で表示が一致しなくなることになります。
そこで次のように一時変数 temp を入れて対処しました。そのため updateDisplay() は引数を渡せるように書き換えました。
long temp = freq;
if (temp != freqOld) {
AD9833setFrequency(temp, waveType);
updateDisplay(temp);
freqOld = temp;
}
これで出力周波数と表示周波数の不一致という問題はなくなりました。
割り込みは苦手です、昔も今も。
充電式ツインファンをアマゾンで買いました。
2018-05-19
仕事中に欲しいので買ってみました。充電式のツインファン。
ビジネス街にある某スーパーに勤めているのですが、昼のとっても忙しい時間にはレジの補助に入ることがあります。
私が担当するのは出入口一番近くのレジ、お昼はお客様がひっきりなしに来店されるので出入口はほぼ開いたままになります。
これからの時期は熱気が流れこんでとても暑いのです。そこでレジに置ける小さな扇風機を探していました。
ネットで探せばいろいろあるのですが、ファンがひとつだけがほとんど、二人でレジ作業をするので私一人涼しい思いをするわけにはいきません。
買ったままではレジ作業では使いにくいので改造しました。
かなり昔に買って使わなくなっていたgootのルーペ付き作業台ST-62に結束バンドで縛り付けました、ルーペは外してます。
ちなみにST-62は古いのでもう売ってません、新型はST-92です。
各ファンはある程度角度を変えられます。
これでかなり快適になりました。
電池を内蔵しておりUSBケーブルで充電できます。
風量は弱・中・強の三段階切り替え式です。
スイッチを二秒ほど長押しすると弱でファンが回り出します。もう一度押す(この場合は長押しは必要ありません)と中、更にもう一回押すと強、もう一度押して停止です。
面白いのはスイッチをダブルクリックすると左側が周り、次にダブルクリックで右側が周り、次のダブルクリックで停止します。
問題は耐久性ですが、買ったばかりなのでまだわかりません。
レジ補助は長くても一時間以内なのでまあ大丈夫でしょうが、しばらく様子見です。
ビジネス街にある某スーパーに勤めているのですが、昼のとっても忙しい時間にはレジの補助に入ることがあります。
私が担当するのは出入口一番近くのレジ、お昼はお客様がひっきりなしに来店されるので出入口はほぼ開いたままになります。
これからの時期は熱気が流れこんでとても暑いのです。そこでレジに置ける小さな扇風機を探していました。
ネットで探せばいろいろあるのですが、ファンがひとつだけがほとんど、二人でレジ作業をするので私一人涼しい思いをするわけにはいきません。

かなり昔に買って使わなくなっていたgootのルーペ付き作業台ST-62に結束バンドで縛り付けました、ルーペは外してます。
ちなみにST-62は古いのでもう売ってません、新型はST-92です。
各ファンはある程度角度を変えられます。
これでかなり快適になりました。
電池を内蔵しておりUSBケーブルで充電できます。
風量は弱・中・強の三段階切り替え式です。
スイッチを二秒ほど長押しすると弱でファンが回り出します。もう一度押す(この場合は長押しは必要ありません)と中、更にもう一回押すと強、もう一度押して停止です。
面白いのはスイッチをダブルクリックすると左側が周り、次にダブルクリックで右側が周り、次のダブルクリックで停止します。
問題は耐久性ですが、買ったばかりなのでまだわかりません。
レジ補助は長くても一時間以内なのでまあ大丈夫でしょうが、しばらく様子見です。
AD9833 DDSモジュールを試す(11) どうにかケースに納めた
2018-05-15
AD9833 DDSモジュールを試す(10) ロータリーエンコーダの変更
2018-05-13
先の記事の続きです。
スケッチに手を入れたので多少ですが操作性がよくなりました。
百均でスチロール樹脂製のクリアケース見つけたのでこれに組み込んでみることにしました。外寸 155×101×54mm。
これならLCDの角穴を開けずにすみますから^^;;
ついでにロータリーエンコーダを変更することにしました。
ロータリーエンコーダ二つとプッシュスイッチ二つが必要なのですが、以前にデジットでスイッチ付きのロータリーエンコーダを買っていたので、これを使うことにしました。
ところが念のため試してみると、2クリックごとに設定値がアップ/ダウンするようになってしまいました。今までは1クリックごとだったのですが。
今までのロータリーエンコーダは秋月のこれで
クリック数:24
パルス数:24
です。
デジットのロータリーエンコーダの説明書を見ると
デテントポジション:30step
15パルス/1回転
となっています。1回転のパルス数がデテントポジションの半分です。
このままではかえって使いにくくなります。
どうしたものかとあれこれやっているうちに「パチッ」っと音がしてArduino NANO互換機とAD9833DDSモジュールのLEDが一瞬消えてしまいました、どうやらVCCとGNDをショートさせてしまったようです。
LCDの表示が消えたままです、輝度調整ボリュームをまわし切るとかろうじて表示されてます。
この状態でも一応スケッチの書き込みはできるし、DDS出力も正常です。
まさかと思って調べるとVCCが約3.3Vしかありません。どうやらNANO互換機の電源周りをおかしくしたようです。
でも約3.3Vはどこから?
Arduino NANO の回路図を読んでもどこをどうしてしまったのかわかりません。
もっとも私のはNANO互換機でUSBシリアルチップがFT232ではなくCH340ですが。
リセッタブルフューズがおかしくなったのか?
今のところ外部から5V電源をつないで動作しているとはいえ、交換したほうがよさそうですね。
さて先の2クリック問題ですが。
ロータリーエンコーダを使うためにRotary Encoder Arduino Libraryを使っているのですが、よく読むと解決方法が載ってました。
引用します。
書いてあるとおりに rotary.h の #define HALF_STEP をアンコメントすると1クリックごとに設定値がアップ/ダウンするようになりました。
思わぬ回り道をしてしまいました、一晩棒に振りました(涙
スケッチに手を入れたので多少ですが操作性がよくなりました。
百均でスチロール樹脂製のクリアケース見つけたのでこれに組み込んでみることにしました。外寸 155×101×54mm。
これならLCDの角穴を開けずにすみますから^^;;
ついでにロータリーエンコーダを変更することにしました。
ロータリーエンコーダ二つとプッシュスイッチ二つが必要なのですが、以前にデジットでスイッチ付きのロータリーエンコーダを買っていたので、これを使うことにしました。
ところが念のため試してみると、2クリックごとに設定値がアップ/ダウンするようになってしまいました。今までは1クリックごとだったのですが。

クリック数:24
パルス数:24
です。
デジットのロータリーエンコーダの説明書を見ると
デテントポジション:30step
15パルス/1回転
となっています。1回転のパルス数がデテントポジションの半分です。
このままではかえって使いにくくなります。
どうしたものかとあれこれやっているうちに「パチッ」っと音がしてArduino NANO互換機とAD9833DDSモジュールのLEDが一瞬消えてしまいました、どうやらVCCとGNDをショートさせてしまったようです。
LCDの表示が消えたままです、輝度調整ボリュームをまわし切るとかろうじて表示されてます。
この状態でも一応スケッチの書き込みはできるし、DDS出力も正常です。
まさかと思って調べるとVCCが約3.3Vしかありません。どうやらNANO互換機の電源周りをおかしくしたようです。
でも約3.3Vはどこから?
Arduino NANO の回路図を読んでもどこをどうしてしまったのかわかりません。
もっとも私のはNANO互換機でUSBシリアルチップがFT232ではなくCH340ですが。
リセッタブルフューズがおかしくなったのか?
今のところ外部から5V電源をつないで動作しているとはいえ、交換したほうがよさそうですね。
さて先の2クリック問題ですが。
ロータリーエンコーダを使うためにRotary Encoder Arduino Libraryを使っているのですが、よく読むと解決方法が載ってました。
引用します。
It's also possible to use 'half-step' mode. This just emits an event at both the 0-0 and 1-1 positions. This might be useful for some encoders where you want to detect all positions. In rotary.h, uncomment #define HALF_STEP to enable half-step mode.
書いてあるとおりに rotary.h の #define HALF_STEP をアンコメントすると1クリックごとに設定値がアップ/ダウンするようになりました。
思わぬ回り道をしてしまいました、一晩棒に振りました(涙
久々のArduinoなのにOld Bootloader??
2018-05-06
交流電圧計の測定に使っている発振器がどうにも不安定です。
昔々に格安で手に入れた発振モジュールを使っているのですが、一番データの欲しい数100KHzあたりが不安定。
ここ数日あれこれと手を入れてかなり改善はされましたが、それよりも周波数を読むのに別に周波数カウンタが必要で、これが面倒と言うか実験中机の上がごちゃごちゃになるのです。
そこで以前実験したままで放置していた(毎度のことですが^^;;)AD9833を使ったDDSオシレーターを引っ張り出してきました。
Arduino NANO互換機で制御してます。
ちなみに写真右上のピンクのはパナソニックのモバイルバッテリーです。数年前アマゾンで購入、他の色もあったのですが、買った時点ではこれが一番安かった。
Arduino NANO互換機をブレッドボードからユニバーサル基板に乗せ換え、Arduino IDEを1.8.5にバージョンアップし、昔のスケッチを書き込もうとしたのですが、書き込めません。
いつの間にやらツールメニューにATmega328P(Old Bootloader)という選択肢が追加されてました。
これを選ぶと書き込みができました。
でもどう違うんでしょうか?
スケッチにまずいところがあり、使い勝手がイマイチなのでこれから改造です。
出力は100mVrmsですのでアンプも入れたいところです。
ついでに今度こそちゃんとしたケースに入れようと思ってます。
昔々に格安で手に入れた発振モジュールを使っているのですが、一番データの欲しい数100KHzあたりが不安定。
ここ数日あれこれと手を入れてかなり改善はされましたが、それよりも周波数を読むのに別に周波数カウンタが必要で、これが面倒と言うか実験中机の上がごちゃごちゃになるのです。

Arduino NANO互換機で制御してます。
ちなみに写真右上のピンクのはパナソニックのモバイルバッテリーです。数年前アマゾンで購入、他の色もあったのですが、買った時点ではこれが一番安かった。
Arduino NANO互換機をブレッドボードからユニバーサル基板に乗せ換え、Arduino IDEを1.8.5にバージョンアップし、昔のスケッチを書き込もうとしたのですが、書き込めません。

これを選ぶと書き込みができました。
でもどう違うんでしょうか?
スケッチにまずいところがあり、使い勝手がイマイチなのでこれから改造です。
出力は100mVrmsですのでアンプも入れたいところです。
ついでに今度こそちゃんとしたケースに入れようと思ってます。