(2017/4/29 追記)
「いや待てよ、」の回路を作ってみましたが、うまく動きませんでした。
リレーは切り替わりますが、SCの電圧が3V付近まで下がってもモバイルバッテリが出力しませんでした。
新しい電源に関する記事は「ハード編②」へ
古い記事を残しますが、以下の回路は動作しませんのでご注意ください。
※本記事の内容について、筆者は一切保証しませんし、問題が発生しても一切の責任を負いません。
真似する場合は全て自己責任でお願いします。
~追記ここまで~
バックアップ電源回路
IoTスマートドールを室内で移動させるためには一度電源を外す必要がある。
その度にRaspberry Pi Zeroを再起動するのは手間だし、外に連れ出す事も考えたらバッテリの内臓が必要だ。
そこで、市販のモバイルバッテリとUSB 5Vを自動的に切り替える回路を実装する。
要求仕様
①USBケーブルを挿すとバッテリの充電とRaspberry Pi Zeroへの電源供給を行う
②USBケーブルを抜くとバッテリから電源を供給する
→切り替え時間で瞬停しないようにする
③なるべく消費電力を少なくする
→リレーを使えば楽だけど、バッテリ駆動でそれはない
④Raspberry Pi Zeroは電源電圧4.7V付近で警告を発するため、電圧降下は1.5V以内に留める
⑤バッテリ充電時はモバイルバッテリの出力端子をメインの回路から切り離す
⑥バッテリ使用時にUSBケーブルから給電されたらそっちに切り替える
→給電されていない場合に逆流しないようにする
回路
(2017/2/12 追記)
残念ながら、この回路は使えない事が分かった。
MBの充電端子のGNDと出力のGNDが異なっていることが判明し、
これも切り換えないといけない。
GND側もFETでスイッチしないといけないが、
ドール内に収める観点から部品点数が増えるのが嫌なので、
「いや待てよ、」に追記したリレーの回路を使うことにする。
ググって出てきた電池とUSB電源を切り替える回路をヒントに設計。
参考元: http://gomisai.blog75.fc2.com/blog-entry-47.html
モバイルバッテリは充電端子に5Vを供給すると自動的に出力が止まる仕様。
動作説明
初期状態として、バッテリ(MB)と電気二重層コンデンサ(SC)は空とする。
USB 5Vを繋ぐとMBの充電が始まり、MBの出力は回路から切断される。
(切断されると書いたが、実際の所、解放なのか0Vなのかは不明)
この時、Q1,Q2のゲートは0Vである。
Q1のドレインにはUSB 5Vが来ているため、Vgs = -5V で ドレイン-ソースが導通する。
Q1だけだと、Q1のドレイン-ソースにあるボディダイオードで非導通時に逆流するリスクがある。
ダイオードを入れると少なくとも0.3Vの電圧低下が発生してしまうので、
Raspberry Pi Zeroから警告がでると予想できる。
そこでQ2を追加した。
Q1のドレインと繋がっているQ2のドレインは約5Vだが、OUTPUTはまだ0Vなので、Vgsは0Vで導通しないように見える。
しかし、Q2のボディダイオードを通じてソース側に電流が流れるため、電位差が生じる。
これにより導通し、Q2のドレインまでUSB 5Vが供給されるため、Vgs = 約-5V となる。
約とつけているのは、Q1, Q2のON抵抗(合わせて0.058Ωがあるため。
非導通時はQ2のボディダイオードが逆向きのため逆流しないし、
導通時はFETなので、電圧降下がほとんどない。
これ最初に考えた人凄い!!
Q3にはダイオードを通してゲートに電圧がかかる。恐らく約4.7V。
そのため、Vgs = 約-0.3V なので、モバイルバッテリに出力端子は完全に切断される。
このまま、MBとSCが十分に充電されるまで待ち、USB 5Vを抜く。
OUTPUT にはSCから電源供給されるため、MBの出力が始まるまで約5Vを維持できるはず。
(MBの反応が悪いと先にSCの電圧が下がり、落ちる・・・)
Q3のゲートはR2によって0Vに落ちているため、
Vgs = 約-5Vで導通する。
SCは5Vより微妙に低いので、導通と同時にモバイルバッテリの出力が始まるはず。
すると、D1を経由してQ1,Q2に4.7Vの電圧がかかり、非導通になる。
これでUSB端子とモバイルバッテリの充電端子への逆流が防がれる。
消費電力
この回路はR1,R2のどちらかが常に 4.7V/10kΩ = 0.47mA 流し続けるので、
5[V] x 0.47[mA] = 2.35[mW]
FETのON抵抗はドレイン-ソースで最大0.022Ω、ソースドレインで最大0.036Ωなので、
全体の電流をIと置くと、
USB 5V時:
(0.058[Ω] x I[A])[V] x I[A] = 58 * I^2[mW]
バッテリ駆動時:
(0.036[Ω] x I[A])[V] x I[A] = 36 * I^2[mW]
各モジュールの最大消費電力値で計算すると、
Raspberry Pi Zero:700[mW] / 5[v] = 140[mA]
Wifiドングル:1.3[W] / 5[v] = 260[mA]
XBee:33[mW] / 3.3[v] = 10[mA]
計410[mA]なので、
USB 5V時:
58 x 0.41^2 = 9.75[mW]
バッテリ駆動時:
36 x 0.41^2 = 6.05[mW]
いや待てよ
高感度5Vリレー941H-2C5Cは、コイルに29.9[mA]流れるようなので、
USB 5V 接続時だけ149.5[mW]消費する。
となると、バッテリ駆動時は0[mW]・・・・もうこれでいいじゃん!(爆
(2017/2/12 回路図アップデート)
還流ダイオードD1を追加。配線が単純になるように見直し。
MBの充電端子のGNDと出力のGNDが導通していないことが分かったので更に修正。