ジェレミー・クック
ESP32は驚くべきデバイスです。数百メガヘルツで情報を処理し、WiFiやBluetooth経由で通信し、GPIOピンを使用してさまざまなタスクを実行できます 。 しかし、大きな力には大きな電力消費が伴うとも言えるでしょう。…
公平に言えば、ESP32の電力消費は、10年前の同様のデバイスと比較すると実際にはかなり低いです。しかし、現代のIoTアプリケーションでは、特にバッテリーが関係する場合、フル稼働時に数百ミリアンペアの電流を消費し、比較的電力を消費する可能性があります。
良いニュースとしては、ESP32にはスリープ モードと休止モードのシステムも備わっていることです。これらのモードを慎重に使用すると、ESPの電力消費を抑えることができます (少なくとも短時間の活動に限定することができます)。
スリープモード
ESP32のディープ スリープ モードとその他の電源モードの概要は、データシートから抜粋した以下の表に示されています。
ESP32には、ESP32モデムスリープ、ライトスリープ、ディープスリープ、休止状態、電源オフの5つの低電力モードがあります。モデムスリープとディープスリープには、アクティブな処理能力に基づいて異なる電力消費率を持ついくつかのサブモードがあります。休止状態では、一定時間後にRTCが起動する機能を除き、チップのほぼすべての機能が停止します。電源オフ モードは、CHIP_PUピンがローに設定されるとアクティブになり、処理を再開するには外部からの介入が必要になります。
結局のところ、ESP32の低電力モードでは、電源オフを無視して、それぞれ68mA ~ 5µA、つまり0.068A ~ 0.000005Aを消費することになります。欠点は、以下のように、各モードによってESP32の有用性が制限されることです。
電圧の影響を無視すると、小型の3.7V、850mAh充電式バッテリーで、モデムスリープ状態のESP32に約12.5時間電力を供給できます。浅いスリープは1000時間以上実行できます。中レベルのディープスリープ休止状態では、8500時間 (約1年) の動作時間が可能であり、休止状態は理論上20年近く維持できます。もちろん、デバイスが役に立つためには断続的に起動する必要がありますが、慎重に計画すれば、ESP32のセットアップによってバッテリーの充電間隔を非常に長くすることができます。
ESP32ディープスリープ開発ボードの違い
電力消費について議論する場合、ESP32チップまたはモジュールは電子機器全体の一部にすぎません。実験には開発ボードを使用することになるでしょう。より充実した電子機器の設計では、IoT「もの」を実行するために、関連部品のカスタム配置が必要になります。慎重にプログラミングすれば、ESP32を使用すると電力効率が非常に高くなりますが、周囲の電子機器については慎重に検討する必要があります。
この点を説明するために、 Adafruit HUZZAH32 ESP32 開発ボードを電源と電流測定装置に接続し、さらにDFRobot DFR0478 ESP32ボードも接続しました。どちらもこの ESP32複合ビデオ クロックの投稿で紹介されており、かなりニッチな使用例と考えられるものでは異なるパフォーマンスを示しました。おそらく、電力効率も両者を区別する特徴となるでしょう。
これをテストするために、私は深いスリープ状態に入り、起動し、オンボードを光らせる「TimerWakeUp」ESP32 Arduinoサンプルスケッチを修正したものを使用しました。 LEDライトそして、眠りにつくことで再びサイクルが始まります。5.3Vが各ボードに供給され、ESP32に必要な ~3.3電圧レベルに変換されました。消費結果は以下のとおりです。
HUZZAH32: | スリープ = 6.6mA | ウェイク = 43.2mAウェイク + LED = 44.6mA |
DFR0478: | スリープ = .02mA | ウェイク = 39.7mAウェイク + LED = 40.0mA |
公平に言えば、実際のIoTの使用状況をより良くシミュレートするには、バッテリー ポートを流れる電流を測定するのがよいかもしれません。それにもかかわらず、このシナリオでは、DFR0478 FireBeetleボード スリープモードでは他のモードよりもはるかに効率的です。
HUZZAH32はディープスリープ中に7000µA(7mA)を消費します。 バッテリー電源これは私が実験で測定したものとほぼ同じです。Andreas Spiessによる分析では、DFR0478は深いスリープ状態のときにバッテリーから53µA (0.053mA) の電流を引き出すことが分かりました。これは私がDFR0478で測定した値よりも大幅に大きいですが、彼のレポートでは異なる電源入力とボードの以前のバージョン (私がテストした2.0対4.0) が使用されています。この測定は、マルチメーターが報告できる下限値にも達しており、これが精度に影響を与える可能性があります。最後に注意点として、テストしたFireBeetleはWROOM-32D ESP32モジュールを使用しますが、HUZZAH32はWROOM-32Eを使用します。
そうは言っても、テストした2つのボードの間には桁違いの違いがあり、これはESP32をサポートする回路が電力消費に劇的な影響を及ぼす可能性があることをよく表しています。
ESP32の消費電力をスリープモードで抑える
ESP32は非常に強力なデバイスであり、動作には比較的大きな電力が必要になる場合があります。ただし、慎重にプログラミングすれば、これらのデバイスを数週間、数か月、あるいはそれ以上バッテリーで動作させることも可能です。重要なのは、低電力設計に伴うトレードオフを理解し、許容できるパフォーマンスを達成しながら何を省略できるかを理解することです。