電池で動くESP32-DevkitCを作っています。ESP32-DevkitCの電源は、USBから電気を供給する方法と、外部電源から供給する方法の、2つの方法で供給することができます。
電池で動くESP32-DevkitCも、USBと電池と2つの電源の供給方法を実現したいと思います。
電源を切り替える超シンプルな方法
2ヶ所からの電気を供給す場合、最もシンプルな回路は2つの電源をつないでしまうことです。
ただし条件があって、利用者はUSBか電池かどちらか1つのみしか接続してはいけません。USBから供給するときは電池を外し、電池から供給するときはUSBは絶対に外さないといけません。
なぜなら、USBは5V、電池は3Vなので、USBと電池を同時に接続してしまうと、USBから電池へ電気が流れ、DCDCコンバータへは電源が供給されないだけでなく、USBから電池へ過大な電流が流れるために最悪USBが壊れてしまいます。利用者に不便を強いる、最悪な回路です。
そこで、どちらか電圧が高い方から電気を供給する方法として、ダイオードでORする方法があります。
ダイオードの入力側をアノード、出力側をカソードと呼びます。ダイオードは、アノードからカソードに向かって、一方通行にしか電流が流れないという特性があります。
このため、上の図のようにダイオードを接続することで、5VのUSBと3Vの電池が同時につながっている場合でも、USBの電気は電池へは流れないようになります。
また、ダイオードでORしたこの回路の場合、電圧の高い方から電気が供給されます。5Vと3Vの場合は5VのUSBから電気が供給され、バッテリーからは電気が流れません。このため、USBがつながっているときには、バッテリーの電気は消費されることがありません。USBを取り外すとバッテリーから電気がシームレスに供給されます。
ダイオードは電圧をロスする
先ほどの回路で完成と思いきや、問題が一つあります。ダイオードを通った電気は、電圧が下がってしまうのです。一般に整流用のダイオードで1V、小信号用のダイオードで0.6V、より低下の少ないショットキーバリアダイオードで0.4V程度、ダイオードを通ることで電圧が低下してしまいます。
例えば1N4007の整流用ダイオードの場合、データシートを見てみると、
Forward Voltageという欄を見ます。すると1.1Vとなっています。このダイオードを電気が通過すると1.1V電圧が下がってしまいます。
ショットキーバリアダイオードSB240LESの場合は、
Forward voltageは0.4V程度です。
このように、ダイオードを通ることで、電圧が低下してしまうのです。
例えば、Forward voltage(順方向電圧)が0.4Vショットキーバリアダイオードを、電源切り替えのOR回路に使うとします。USBの5Vの場合は4.6Vに低下する程度なので、後段のDCDCの動作に問題はありません。しかし、より低い電圧の電池の場合には問題が発生します。今回利用を考えているDCDCコンバータの最低動作電圧は1.8Vです。乾電池の場合は、新品の状態の3Vから2.2Vになった時点で、動作が停止することになります。充電電池の場合には開始電圧が2.4Vしかないので、0.2V低下するだけでDCDCコンバータの動作が停止してしまいます。ダイオードの順方向電圧は、低電圧の電池を電源とした場合には結構大きなロスであり、電池のエネルギーをかなり残した状態でDCDCコンバータが動作を停止してしまうことになります。
理想ダイオード
回路
理想ダイオードとは、その文字の通り理想的な動作をするダイオードです。どう理想的かというと、電圧降下がなく、アノード電圧>カソード電圧の時に電気が流れるダイオードです。
基本的な回路は上の図のようになります。入力電圧と、出力電圧の電圧をコンパレータで比較し、入力電圧>出力電圧の時のみスイッチが閉じて電気が流れます。逆に出力側の電圧が入力電圧よりも高い場合には、スイッチが開いて電気の逆流を防ぎます。スイッチは一般にMOS-FETが使われます。
そんな回路は面倒だ
実際理想ダイオードの回路を実際に作るには、低電圧で動作するコンパレータを探したり、低電圧でONするMOS-FETを探したり、MOS-FETをドライブする回路を考えたりと、結構面倒です。
そんなときは、Digikeyです。
世の中便利な物で、すでに理想ダイオードという電子部品が存在し、そのカテゴリーがDigikeyにはあります。
そのカテゴリーの中で、「電流-出力」を1A〜2Aにしてフィルターします。
あとは、リストアップされた中から良さそうなのを選ぶだけです。
こんな小さなパッケージの理想ダイオードがありました。
データシートを見ると1.5V〜5.5Vで動作し、連続電流は最大1.5A。ダイオードのような順方向電圧は存在せず、その代わりにスイッチがMOS-FETなので100mΩ程度のON抵抗があるだけです。使い方もとっても簡単です。/CEとGNDピンをGNDにつなぎ、STのピンを使わなければ、あとはダイオードのように使えてしまいます。条件にぴったりのデバイスです。これに決めました。
自動電源切り替え回路が完成
USBの電源にはショットキーバリアダイオードを使い、バッテリーの電源には理想ダイオードを使って、ORの回路を構成することにしました。
これにより、USBがつながっているときはUSBから電源が供給され、USBを外すとバッテリーから電源が供給されるという、電源の自動切り替えが実現できました。かつ理想ダイオードのおかげで、バッテリーで動作時にもバッテリーのエネルギーを最大限生かすことができます。
今回も、前回DCDCコンバータの回路のように回路を設計することなく、専用ICを利用するだけで簡単に回路が出来上がってしまいました。
2021.4.4 追加 つづきはこちら
追加終わり
コメント
初めてまして。
停電時でもマイコン(M5stamp)が駆動出来る回路を求めて、こちらのサイトに辿り着きました。
記事を参考に、商用電源(USB 5V)、バッテリー電源(アルカリ電池×4本)それぞれにLM66100の理想ダイオードを「/CEとGNDピンをGNDにつなぎ、STのピンは未使用」の方式で作成したところ、望んでいた挙動となり大満足です。
欲をかいて、商用電源断(停電時)を検知しようと、試しに商用電源&バッテリー電源ともに印加した状態で、テスターにて商用電源部分(理想ダイオードのVin-GND間)が5Vであることを確認した上で、商用電源を断しても、5V印加状態となり、どうやらバッテリー電源が回り込んでいる感じでした。
2つの理想ダイオードとも、VIN-VOUT間が短絡しているようで、ダイオードとして機能していないようです。
上記の商用電源を測定したい場合、何か気をつける点はあるのでしょうか?
教えていただけるとありがたいです。
加茂様
コメントありがとうございます。お役に立てて嬉しいです。
ちょっと今は調べる時間が不足しているため、後半の部分の回答はしばらくお時間を頂きますね。