google-site-verification: google3bd66dd162ef54c7.html
FC2ブログ

Arduinoで作るクリスマスツリーイルミネーション(改良版)

 先週作ったArduinoで動かすクリスマスツリーイルミネーションの話の続きです。このツリーを見た家族の反応はとても良いのですが、後ろにプリント基板が剥き出しになっているのが残念という評価です。せめてケースか何かで覆って欲しいということでした。

▼ツリーの後ろに基板が剥き出しになっていると評判が悪い
Arduino UNOで動かすツリーイルミネーション
 ツリーの後ろ(この写真では右側)にあるのがArduino UNO の基板です。

 なるほど、普通の人から見ると、基板が剥き出しになっているのはあり得ない光景なんでしょう。そんなことで、回路を出来るだけコンパクトに作り直すことにしました。またイルミネーション自体は好評なので、回路をツリーに固定する許可が出ました。ちなみにこれまでは、簡単に取り外せるような仕組みで取り付けていたのですが、そんな配慮はいらなくなりました。

 これからが本題です。小さく作るためにはCPU(ATmega328PU)の単独動作にするしかありません。

▼クリスマスツリーの回路図 (クリックで別窓に拡大)
Arduinoを使ったクリスマスツリーの回路図
 Arduino UNO で動かしていたのをCPUの単独動作に変更した回路図です。

▼チップ単体動作の確認中
単体動作の最終確認
 この時点ではクロックにセラロックを使っていますが、最終的にはヒューズを書き換えて内部の8MHz CRオシレーターで動くようにします。

◆スケッチ
 せっかくなのでスケッチも見直しました。CPUを使っていない時は深いスリープに入れ、消費電流を減らすことにしました。ここは以前作ったdelayWDT関数を使えば簡単です。あと、LEDの点灯パターンの追加/改良と切り忘れタイマー機能などを組み込んでいます。

 このクリスマスツリーのスケッチ(20171129XmassTree.txt) (Shift-JISでエンコードしています。このブログの制限で拡張子はtxtになっています)

▼CPUの準備完了
足を延ばしたATmega328P
 動作確認が終わったらCPUの足を延ばして平らにします。足を曲げ戻したら間違いなく折れるはずなので、もう後戻りはできません。

▼スタンドの内側に回路を組み込み
ツリー照明コントローラー
 お椀型のスタンドの裏にCPUを両面テープで貼り付けて、配線しました。ケースの内側にはショート防止用にカプトンテープを貼っています。またスイッや配線はホットボンドで固定しています。

▼6時間延長スイッチ
6時間延長スイッチ
 このツリーには切り忘れ防止機能があり、6時間で自動消灯します。USBコネクタを挿抜して電源を入れ直してもいいのですが、あまりスマートでは無いのでリセットスイッチを設けました。このスイッチを押すとリセットがかかり、その時点から6時間ツリーが点灯します。

▼完成
Arduinoを使ったクリスマスツリー
 後ろにあったプリント基板が無くなり、すっきりしました。

▼動画


◆まとめ
・ コンパクトにまとまっていて、なかなか良い物が出来たと思います。最終的には透明な裏蓋を取り付ける予定です。

・ delayWDT関数を使った効果でCPUの消費電流は無視できるレベルまで下がりました。その結果、全体の消費電流は LEDが全点灯した状態でも1.2mA程度に収まっています。これなら単三を2本使ったDCDCコンバータータイプのUSB電源でも、長時間の動作が可能だと思います。ちなみにdelayWDTを使わない場合、CPUは常時15mAくらいの電流を電流を消費します。

・ こんなふうにLEDの数が多い場合は時分割駆動にして配線を減らすのが定石です。でも、それをやるとCPUを止められないので、消費電流の点では不利になりそうです。それに、この回路のようにCPU内蔵のプルアップ抵抗でLEDを光らせていると、絶対的な明るさが不足する可能性があります。でも10ms周期くらいの時分割駆動なら何とかなるかも知れません。どなたかやってみませんか?

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)
カレンダー
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コード