ESP32開発ボードのDeepSleep消費電流

ESP32開発ボードのDeepSleep消費電流

ESP32開発ボードのDeepSleep消費電流

ESP32のデータシートによるとDeepSleep時の消費電流は150uA以下になっていますが、USBインターフェース、電源などが搭載された開発用ボードでは消費電流が増加し、ボードによって大きな違いがありました。

最初に簡単なUSB電源モニターを使ってLOLIN D32 と DOIT ESP32 DEVKIT V1 をDeepSleepにした時の電流値を確認しました。

LOLIN

LOLIN

DOIT

DOIT

使用したUSB電源モニターは微小電流の分解能が無く、0 → 10 → 13 → 16 という具合に飛んで表示されますので数値はあてになりませんが、”ボードによって消費電流に違いがある”という事は確認できました。また、ボードによってはPCにつなげてシリアルモニターを開いているときと閉じたときでは電流値が異なることがありました。

消費電流を気にするのは屋外などバッテリー駆動させるときなのでモバイルバッテリーなど単純な電源と接続した状態での消費電流を確認することにしました。
測定中の写真を撮り忘れたのでざっくり描くとこんな感じで測定しました。


測定手順
1. 測定する開発ボードにArduinoIDEのスケッチ例(ESP32→DeepSleep→ExternalWakeUp)を一か所変更して書き込む。
変更前:esp_sleep_enable_ext0_wakeup(GPIO_NUM_33,1);
変更後:esp_sleep_enable_ext0_wakeup(GPIO_NUM_33,0);
2. 電流測定用の抵抗(10Ω )をクリップリードでショートしておいて電源を供給。
3. ESP32をリセット。
4. ESP32がDeepSleepに移行するまで3秒待つ。
5. クリップリードを外し、抵抗の両端の電圧を測る。電圧値が10mV以下の時は抵抗を100Ωに変えて2.からやり直す。
6. 抵抗値と測定した電圧値から電流値を求める

結果
LOLIN D32-1: 30mV / 100Ω = 0.3mA
LOLIN D32-2: 29mV / 100Ω = 0.29mA
NodeMCU: 60mV / 10Ω = 6.0mA
DOIT DevKitV1-1: 108mV / 10Ω = 10.8mA
DOIT DevKitV1-2: 107mV / 10Ω = 10.7mA
DOIT DevKitV1-3: 109mV / 10Ω = 10.9mA

次回からバッテリー駆動の場合はLOLIN D32を使ってみたいと思います。