乾電池2本で動かしていたESP-WROOM-32がたった10日で切れたので、色々調べる
Table of Contents
電池駆動のESP-WROOM-32がたった10日で電池切れ #
先日作った温湿度センサが、たった10日で電池切れになった。 半年くらいは持つと思っていただけに、予想外だった。 悔しいので、デジタルマルチテスターを購入し、調査してみる。
測定 #
まず、測定してみた。
- 電池2本に残っている電圧は、1.435Vだった(動作停止からしばらく経っている)
- 電池ボックスの端子間で測定
- レギュレータのIN-GND間も 1.435V
- レギュレータ(TA48033S)から出力する電圧は1.139Vになっていた
- レギュレータのOUT-GND間
- 3.3Vの定電圧レギュレータだったはずでは……?
- (後述)ドロップアウト電圧を今更知る……
ESP-WROOM-32の動作電圧 #
ESP32 #
まず、あらためてESP32のデータシートを見てみる。
https://www.espressif.com/sites/default/files/documentation/esp32_datasheet_en.pdf
上記データシートの21ページによると、
- ESP32の動作電圧は2.3Vから3.6V
- 推奨電圧は3.3V、推奨出力電流は500mA以上
なので、2.3Vまで下がっても、動作はするらしい。
内蔵するflashの動作電圧を1.8Vにすることもできて、それをすればバッテリー長持ちするよ的なことも書いてあった。
※ ESP-WROOM-32のデフォルトで、1.8Vになっている
Deep Sleep時にflashの電源を落とすこともできるよと書いてあった。
※ deep sleepに入ったら自動で切れると思ってたが…?
ESP-WROOM-32 #
今回の温湿度計で使用しているのは、ESP-WROOM-32。秋月で買ったDIP化キット。 データシートによれば、2.2V〜3.6Vで動作すると記載がある。 https://akizukidenshi.com/catalog/g/gK-11755/ https://akizukidenshi.com/download/ds/espressifsystems/esp_wroom_32_datasheet_en.pdf
ESP32-WROOM-32E #
ESP32-WROOM-32Eの動作電圧は、3.0〜3.6Vらしい。電池2本ではまず動作しないということになる……。
https://www.espressif.com/sites/default/files/documentation/esp32-wroom-32e_esp32-wroom-32ue_datasheet_en.pdf
レギュレータ TA48033S #
3.3Vを出力するレギュレータ。ドロップアウト電圧は0.3V。
ドロップアウト電圧とは…… #
https://emb.macnica.co.jp/articles/13390/
上記サイトによれば、ドロップアウト電圧とは、レギュレータから出力する電圧と、レギュレータに入力する電圧の、最小電位差とのこと。
レギュレータに入力する電圧は、出力電圧+ドロップアウト電圧以上である必要がある。
入力電圧と出力電圧の電位差が、この最小電位差よりも小さくなると、レギュレータから出力される電圧は、入力する電圧-ドロップアウト電圧になる。
https://www.rohm.co.jp/electronics-basics/dc-dc-converters/dcdc_what8
また、上記サイトによれば、レギュレータの中に入っているトランジスタが安定動作するために必要な電圧がドロップアウト電圧とのこと。
回路の中で使用しているTA48033Sは、ドロップアウト電圧が0.3V。 あらためて最初の測定結果をみると、0.296V(= 入力1.435V - 出力 1.139V)になっており、データシート通りだった。
ドロップアウト電圧を勘違いしていた #
ドロップアウト電圧を「レギュレータから3.3Vを出力できなくなる時の入力電圧の下限値」と思っていたのが間違い。 0.3Vから3.3Vに昇圧できると思っていた。 3.3V以上の電圧から下げることはできても、上げることはできなかった。
電池が空っぽになるまでESP32が動くことは絶対にあり得ず、半年持つことはまずない。 動作可能な期間の予測は、電池2本から出る3.0Vほどの電圧が2.3Vになるまでの期間で得られる電力で予想する必要があった。
そもそも、電池2本から3.6Vが入力できることは絶対にないので、 ドロップアウト電圧0.3Vの3.3Vレギュレータはそもそも不要だった。 3.3Vではなく2.5Vのレギュレータであれば設置する意味があったかもしれない……。
待機中に消費する電流と動作可能時間 #
プルアップ/プルダウンで使用する抵抗 #
今回使用しているESP-WROOM-32のENに、10kΩの抵抗をつけている。 ENのほか、Strapping Pinsにプルアップ/プルダウンの抵抗をつけている(内部でプルアップ/プルダウンされているから必要ないのに……)。
10kΩの抵抗の場合、3.3Vでは0.00033A(0.33mA=330µA)の電流が流れる。 電池駆動の環境で、常時かは不明であるものの、常時330µAが流れるのは大きい消費に感じる。
また、認識間違いだったとはいえ、5個全てのStrapping Pinsでも10kΩでプルアップ/プルダウンしているので、 ENも含めると6か所それぞれで330µAが常時流れていた可能性がある。
すると、0.330mA * 6 = 1.98mA となり、マイコン周辺で常時2mAほどの消費がされていた可能性がある。
レギュレータのバイアス電流 #
TA48033Sのバイアス電流は、0.8mA。最大1.8mAと記載がある。少なくとも1mAほどの消費がある。
電池の容量 #
http://neptmh.web.fc2.com/mht041/mht041.html
上記の測定を参考にすると、電池1本あたり1400mAh行かないくらいしか利用できないらしい(乾電池2本-ドロップアウト電圧が2.2Vになれば良いので、1本1.3Vのあたりを参考にした)。
待機中に3mAの電流があるとすると、3mAhなので、1400mAh * 2本 / 3mA = 930時間待機できる予想になる。39日相当。
機能としての動作で使用する電流は、温湿度センサの記事でも書いた通り、1時間あたり1mA使う予想をしている。
待機と動作全体では、1時間あたり4mA消費すると考えると、 1400mAh * 2本 / 4mA = 700時間 = 29日 動作する予想になる。
今回の結果は、まず電池が新品でなかったことを加味すると、29日より短くなるのは仕方ない……。
次に試すこと #
- 新品の電池を使用する
- Strapping Pinsに接続している抵抗を切る
- ENピンにつけている抵抗を、10kΩより大きいものにする
- 1µA以下に抑えたいので、3MΩ以上に変更する
レギュレータは外さずにそのまま使うことにする……。 (内部に保護回路とかが入っているようなので、レギュレータ無しで使用するよりは安全と考えた)
これで2ヶ月くらいは持つのではないだろうか……。