google-site-verification: google3bd66dd162ef54c7.html

USB電源チェッカーからシャント抵抗の電圧測定端子を引き出した

 このところUSBの電源電流を測ることが多いです。手っ取り早くやるなら、USB電源電流チェッカーを使えば良いのですが、変化が大きい場合はオシロで確認したくなります。

 その場合はシャント抵抗を入れて両端電圧を測定しますが、

▼電源電流測定用シャント抵抗
電流測定用シャント抵抗
 これで測定出来ますが、毎回部品箱から抵抗を探してきて、はんだ付けするのもなんだか間抜けです。基板にUSBーAのオスとメスのコネクタを取り付け、その間をシャント抵抗で接続した物を用意しておけばいいですが、わざわざ作るほどの物でもありません。

 そんなことで、もっとうまい手が無いかと考えていたらありました。USB電源チェッカーを改造するのが一番の近道のようです。USB電源チェッカーには電流測定用のシャント抵抗が入っているので、その両端電圧を外部から測定出来るようにすれば、うまく行くはずです。

▼USB電源チェッカーを殻割り
USB電源チェッカーを殻割り
 失敗してもいいように、いくつか持っているチェッカーの中で一番古い物を素材に使いました。がっちりと接着されていたので、ピラニアソーで片側を切断してケースをこじ開けました。

▼シャント抵抗から測定端子を引き出し
シャント抵抗から端子引出し
 R050と表示のある大きなチップ抵抗がシャント抵抗です。両端電圧を外部から測定出来るようにスズメッキ線を使って端子を引き出します。ショートしそうな個所には基板にポリイミドテープを貼っておきました。なお、この抵抗はローサイド(GND側)に入っていました。

▼改造完了
端子をケースから出す
 ケース側面に穴を開け、そこから測定端子を出せば改造完了です。単線をダイレクトに出すと危ないし、すぐに折れたりしそうなので、小さなループにしておきました。ミノムシクリップの滑り止め効果もあります。

▼引出し部詳細
極性とシャント抵抗値を表示(彫刻)
 極性と、シャント抵抗の値を書いておきました。引出し穴はもう少し下に開けた方が良かったと思います。

 基板に実装されている抵抗のマーキングは50mΩですが、信頼出来そうな電流計と比較した結果から、このシャント抵抗の値は 50.8mΩと値付けしました。なお、この値にはパターンやはんだの抵抗の影響も入っているはずです。細かい誤差を気にしなければ 50mΩと思って使えば大丈夫です。

 これで簡単にUSB電源の電流測定を行うことが出来るようになりました。

▼使用例
消費電流変化測定中
 前の記事でやったのと同じでラズパイの消費電流をオシロで確認しているところです。こういう測定を、はんだごてを使わないですぐに始めることが出来るのは、今回の作った改造版のUSB電源チェッカーのおかげです。

▼ついでに電流変化の記録例
測定例
 Raspberry Pi Zero W の電源投入から安定状態に入ったことを確認し、シャットダウンコマンドで電源を切るまでの電流変化です。スケールは、縦軸は1目盛りが0.1A、横軸は1目盛りが50秒です。

◆まとめ
・ 簡単な改造ですが、これがあると確実に便利だと思います。

・ シャント抵抗電圧の測定端子はGND側に接続されています。下から2つ目の写真のような測定を行う場合、オシロの電源は別のUSB電源アダプタから取らないと、GNDの回りこみで大きな誤差が出ることがあるので注意が必要です(体験済ですw)

Raspberry Pi Zero W の消費電流測定

 Raspberry Pi Zero W をケースに入れて電源スイッチとシャットダウンスイッチを付けましたが、これで気持ちよく使えるようになりました。とは言ってもすぐにやりたいことは無いので、SSHからコマンド打って遊んでいる状態です。

 こんなふうにいじっていて気になったのが、シャットダウンしても結構な電流が流れていることです。さらに電源スイッチ(RUNスイッチ)を使って電源をオフにしても消費電流が完全にゼロになりません。電流はUSBパワーチェッカーを使ってモニターしたのですが、ちょっと気になる現象です。

▼ケースに入れた Raspberry Pi Zero W
Raspberry Pi Zero W
 トグルスイッチが電源スイッチ(RUN)、赤いボタンがシャットダウンスイッチです。

 USB電源チェッカーの分解能は10mAなので細かい変化が判り難いです。ということで電源ラインに0.1Ωのシャント抵抗を入れてデジタルマルチメーターで測定することにしました。

▼測定に使ったシャント抵抗
消費電流測定用シャント抵抗
 0.1Ωのセメント抵抗です。

 以下はシャント抵抗の両端電圧で、10倍すると電流になります。なお、ラズパイはSSHで使っていてグラフィックコンソールは動かしていない状態です。

▼ブート後のアイドル状態
安定時(SSH)
 ブート後SSHでログインしてシステムが安定した状態です。小さな変動がありますが消費電流は107mAでした。

▼負荷をかけた状態
負荷時
 システムに負荷をかけると 209mAまで電流が増えました。時々大きな値が出るのでオシロで波形を見てみました。

▼オシロで見た電流波形
電源電流波形
 200mAをベースに、時々350mAまでスパイク状に電流が増えています。スパイクの部分はたぶんWiFiを使っている時だと思います。

 ちなみに負荷を掛けた状態を作る方法としては yes を使うのが定石のようですが、今回は ls / -alR コマンドを実行させました。

 このコマンドは、ルートディレクトリ以下の全てのディレクトリとファイルの情報を表示しますが、何しろファイルの数が多いので実行が終わるのに1分以上かかります。その間ファイルシステムを引っ掻き回すと同時にコンソールに大量に文字が流れるので、WiFiにも負荷がかかるはずです。CPUには大した負荷が掛かっていないかも知れませんが、コマンドが覚えやすいのと出力が派手なので、こういう時はこのコマンドを使っています。なお、パーミッションが無いディレクトリは表示されないので sudo ls / -alR とやった方が良いのかも知れません。

▼SSHのコンソールに表示された is -alR の実行結果
ls コマンドで負荷をかける
 SSHで接続したタブレットからコマンドを実行している様子です。

▼シャットダウン後
シャットダウン後
 シャットダウンスイッチを使ってシャットダウンした状態です。コマンドとしては sudo shutdown -h now を実行した後の状態です。シャットダウンしても 37.6mA流れています。

 アイドル状態が107mAだったのでの30%くらいに電流が減っただけです。思ったより大きな電流が流れ続けています。どこで電流使っているんでしょうね。電池駆動する場合、これはかなり重い負荷になります。

▼RUNスイッチで電源をOFFにした状態
RUNスイッチON
 ここまでやっても電源電流は 12.7mA 流れています。思ってたより大きな電流なので注意が必要だと思います。

 ちなみに、Pi Zero にはRUNの信号ピンがあります。たぶん内部でプルアップされているようで、このピンに何も接続しないと電源が入ります。つまり、HighでRUNがイネーブルされ、GNDに落とすと電源がOFFになります。 

 Raspberry Pi Zero W で出来る方法はここまでです。あとは電源のマイクロUSBコネクタを引っこ抜くしかありません。マイクロUSBを抜けばもちろん電流はゼロになります。

◆まとめ
 シャットダウンコマンドで停止させても、RUNスイッチで電源を切っても結構な電流が流れることが判りました。Linuxが動くんだからしみったれたこと言うんじゃないよ、と言われそうですが、Arduinoなどのマイコンで育った自分としてはちょっと意外な結果でした。

Arduinoで作るクリスマスツリーのLEDイルミネーション (17LED)

 クリスマス用のインテリア小物ということで、カインズホームで小さなクリスマスツリーを買ってきました。

▼小さなクリスマスツリー
カインズのスチールベルツリー
 高さ23cmほどで、スチール ベル ツリー(STEEL BELL TREE)という名前で売られていました。飾りを追加して上からLEDのスポット照明で照らすと綺麗です。

 でもせっかくなのでLEDのイルミネーションを付けてやることにしました。真面目にやるとハードが結構大変になりますが、以前書いた、Arduinoで簡単だけど豪華なLチカ、という記事の方法でやれば比較的楽に作れそうずです。

▼回路図(クリックで別窓に拡大)
Arduinoを使ったクリスマスツリー
 LEDを光らせる場合、電流制限抵抗を直列に入れますがこの回路図にそんな物はありません。無茶しやがって、と言われそうですが大丈夫です。電流制限抵抗としてCPUに内蔵されているプルアップ抵抗を使っています。外付け抵抗が無ければ、その分だけ配線作業が楽になります。

 CPU内のプルアップ抵抗は確か30kΩくらいだったと思いますが、ともかく抵抗が高いのでLEDの電流はたった0.06mAくらしか流れません。でも、最近のLEDは効率が良いので、こんなに少ない電流でもちゃんと光ります。

▼配線中
すずめっき線で骨格を作る
 スズメッキ線を魚の骨のようにはんだ付けします。長さは適当で、これが骨格になると同時にGND側の配線として使います。車のボディアースみたいなものです。

▼LEDをはんだ付け
LEDを取り付けて配線
 骨の先にLEDをはんだ付けして行きます。LEDのアノード側は背骨に沿って絶縁線で引き出しますが、そのはんだ付け部は収縮チューブを使ってショートしないようにしておきます。先端の一個は緑色、それ以外は全部白色のLEDを使いました。流れる電流が少ないので出来るだけ明るいLEDを使うことをお勧めします。

 ArduinoはUNOを使い、ピンヘッダを使って接続します。

▼ツリーと Arduino UNOを合体
LEDの配線の引き回し状態
 魚の背骨にあたる部分をツリーの中心に置き、LEDを押し込んで組み立てて行きます。LEDへの配線をツリーの部品にからませるとLEDの位置決めになって具合が良いです。
 
 CPUチップの単独動作にしてもいいのですが、面倒なのでUNOのままで使います。クリスマスが終わるまではここで働いてもらいます。

▼ソフト
 プログラムはこちら→ クリスマスツリーのイルミネーションプログラム (Shift-JISです。拡張子をunoに要変更)
 プログラムの解説は省略しますが、朝になってもツリーが光っているとなんだか間抜けなので、3時間で消灯する機能を入れました。 

▼完成
完成

▼点灯の様子

 1サイクルが53秒程度で、これを繰り返します。

◆まとめ
 ハードが簡単に済んだので、その分プログラムを頑張ったので、なかなか綺麗なイルミネーションが出来たと思います。

 先端の1個以外に16個のLEDがありますが、ちょうど 4 x 4 のマトリクスが構成できるので、工夫次第でもっと面白い点灯パターンを作ることが出来ると思います。

 CPUのプルアップ抵抗で点灯させているのでLEDはあまり明るく点灯しませんが、LEDの正面なら十分な輝度があると思います。もっと明るくしたい場合は、出力ピンにアサインして、電流制限抵抗を外付けすればOKです。
カレンダー
10 | 2017/11 | 12
- - - 1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 - -
プロフィール

ラジオペンチ

Author:ラジオペンチ
電子工作を中心としたブログです。たまに近所(東京都稲城市)の話題など。60過ぎて視力や器用さの衰えを感じつつ日々挑戦!
コメントを入れる時にメールアドレスの記入は不要です。なお、非公開コメントは受け付けていません。

記事が気に入ったらクリックを!
最新記事
カテゴリ
最新コメント
リンク
FC2カウンター
検索フォーム
月別アーカイブ
RSSリンクの表示
QRコード
QRコード