Arduinoと同じようにプログラム出来て、しかもWi-Fi、Bluetooth搭載、アナログ入力16ピン、乾電池2本で稼動するけど格安の化け物マイコン 「ESP32モジュール」
これを乾電池2本でWi-Fi接続して使うという作例がWeb上には沢山あるので僕も同じように試してみたところ、「え?なんで動かんの?」という事態に見舞われたので備忘録として残します。
まず、ESP32モジュールを乾電池2本で動かす場合は、
必ず「Flash Fraquency」を40MHzで設定しないといけません!
<参考>
【ESP32/Arduino】乾電池2本で動かす場合の注意点 - ソースに絡まるエスカルゴ
この設定をせず80MHzで低電圧で動作させて壊したという事例もあるので、確実に40MHzに設定しましょう!
テストで実際に試したのがこんな感じの回路というか電源だけ(写真用で、電源線は繋いでいませんが)
USB-Serialでプログラムして動作を確認後、単体で動かずべくこのように乾電池2本に繋いでところ、Wi-Fiに繋がらずうんともすんとも言わない困った状態でした。
「USBに繋いだら動くのか?」と、USB充電器からシリアル変換器で3.3Vにして繋いでいろいろ試してら動く場合もあるし動かない場合もある、時間が経ったら動く場合もある。
という非常に不安定な状態で困りました。
乾電池2本で動かす算段で工作しているのに動かないと先に進めません。
いろいろ調べているうちに、このサイトを発見しました。
<参考>
ESP32 ( ESP-WROOM-32 , M5Stack )自分的 トラブルシューティング まとめ | mgo-tec電子工作
このサイトによりますと、ESP32は電源投入時とWi-Fi接続時に膨大な電流を消費するそうで、電源電圧が2.3Vを少しでも下回ると動かないということです。
しかも電源不良ではマイコン自体が故障する可能性があるそうです。
Wi-Fi待機時で160mA、Wi-Fiアクセス時300mA、リセットの瞬間600mA、また電源投入時の突入電流が2Aを超えることもあるそうで、なんとも化け物マイコンらしい電力の消費量!
<対策>
- ちょい太めの電源線を確保して、線も短くカットしました。
- 電解コンデンサとセラミックコンデンサを電池ボックスに入れました。
- 電源投入後すぐWi-Fi接続する設計から起動してから1秒後にWi-Fi接続をするように改造しました。(しかも、Wi-Fi接続時は全てのLEDを消灯させる)
するとー、何事も無いように起動しました!えっ!
感動の瞬間です!
「本当だ!乾電池2本で起動するんだー!!」
ということで、この回路はどこまで端折れるのか?
と試したところ、
今回の場合、線を太くして短くするだけで良かったようです。(Wi-Fiの接続を待ったのも良かったかもしれません。)
この状態でWi-Fi確立して通信しています。
面白いですね!
もし、ESP32を乾電池で動かそうと四苦八苦している方があれば一度電源線を見直してみてはいかがでしょうか?