目次
ディープスリープ Deep Sleep とは
(乾電池などの電源を使って)マイコンを低消費電力で動かすときに使用する動作モードの一つです。Deep Sleep中は、マイコンの内部動作のほとんどを停止し、消費電力を抑えた状態で待機します。指定した時間を経過した時や、GPIOからの割り込み発生時などに自動起動し、復帰します。
例えばワイヤレス・センサは、測定したい場所に設置する必要がありますが、必ずしも近くにACコンセントやUSBがあって電源が容易に供給できるとは限りません。このような場合に、Deep Sleep を用いて、乾電池を長持ちさせる必要がでてきます。
データシート上のDeep Sleep時の消費電流
以下に各チップのデータシート上のDeep Sleep時の消費電流を示します。最新のESP32-C3チップが、最も優れていることが分かります。
チップ | Deep Sleep 時の消費電流 |
ESP32-C3 | 5 uA ※1 |
ESP32 | 10 uA |
ESP8266EX | 20 uA |
Deep Sleep 時の消費電流の測定方法
Deep Sleep時の消費電流の測定方法は、意外と容易ではありません。例えば、ESP32-C3チップ用の開発ボードESP32-C3-DevKitM-1には、USBシリアル変換ICや、電源LED、RGB-LED、レギュレータICなど、電力を消費する部品が接続されています。とくに、USBシリアル変換ICは10mAもの電流が流れ、乾電池での長期間駆動時には最も邪魔な存在です。
また、マイコン動作中は24mA程度、Deep Sleep中は5uAと、約5000倍の差があり、電流計によっては上手く測れないことや、電流計の内部抵抗でマイコンが起動しないこともあります。
そこで、基板上のレギュレータICと ESP32-C3-MINI-1 モジュールとを結ぶ電源ラインを切断し、切断部にスイッチSW1を挿入し、安定化電源を使って供給します。また、マイコン動作時に大きな電流が電流計に流れないように、電流計と並列にスイッチSW2を接続しました。SW2は電流計の2端子をワニ口クリップなどでワイヤー接続しておき、クリップの取り外し/取り付けでスイッチの代用としても良いでしょう。
マイコン起動時
起動時は、SW1を開いた状態(OFF)、SW2を閉じた状態(ON)で、USB電源と安定化電源を接続します。測定対象(マイコン)が起動しないときは、コンデンサを追加するか、SW1を閉じます(ON)。SW1を閉じるときに、電源レギュレータの出力電圧と安定化電源の出力電圧が異なると、各電源に不適切な電流が流れてしまいます。電源レギュレータによっては出力側の電圧が入力側より高くなると壊れてしまうこともあるので、必ず電圧を合わせおいてください。また、容量の大きなコンデンサは直流の漏れ電流が生じることがあるので、注意してください。
消費電流測定時
測定時は、マイコンをDeep Sleepに遷移させてから、SW1が閉じていたときはSW1を開き(OFF)、安定化電源から大きな電流(10mA以上)が流れていないことを確認してからSW2を開き(OFF)、電流計に流れる電流を読み取ります。
測定中にDeep Sleepが解除されると、電流計に大きな電流が流れてしまい、電流計を壊してしまうことがあるので注意してください。測定が終わったら速やかにSW2とSW1を閉じます(ON)。
測定用の改造例
下図は、レギュレータの出力を切断し、スライドスイッチSW1を接続したときのようすです。スイッチSW1は、レギュレータの出力端子にハンダ付け固定し、右側端子から上部にリード線を伸ばして、基板上の3.3Vのパターンに接続しています。また、その接続部とコンデンサとの間のパターンを削り取って切断しました。
本例では、開発ボードの3V3端子とGND端子に、安定化電源と電流を接続し、電力を供給しました。この構成により、USBシリアルや、電源LED、RGB LEDの電源は、USBから供給され、安定化電源からはESP32-C3-MINI-1モジュールのみに電力を供給することが出来るようになります。
なお、安定化電源からの電源ラインにはコンデンサが入らなくなるので、動作が不安定な場合は、開発ボードの3V3端子とGND端子にコンデンサを追加してください。
測定結果
ほぼチップ単体の消費電流(5 uA)と同じ 5.6 uAが得られました。なお、測定サンプル数は1つです。ばらつきや、今後の改良などで変化する場合があります。
モジュール | Deep Sleep 時の消費電流(実測) |
ESP32-C3-MINI-1 | 5 .6 uA |
関連情報
by bokunimo.net
「RISC-V搭載 ESP32-C3 Deep Sleep 時の消費電流を実測」への1件の返信
[…] 待機電力は従来のESP32の約半分でした(実測)。開発ボードを使わずに、ブレッドボード上で回路を組むことで、乾電池での間欠駆動時間を延ばすことが出来るでしょう。 […]