ESP32 の秘密の低電力機能がバッテリー プロジェクトで Pi よりも優れている理由

in tech

数日間動作するバッテリ駆動のセンサーと 1 年間動作するセンサーの違いは、ボードが何もしていないときに何をするかによって決まります。気象観測所、郵便受けの警報、植物の監視など、ほとんどの DIY プロジェクトは、人生の 99% をアイドル状態で過ごします。このようなシナリオでは、ピーク時のパフォーマンスよりもアイドル状態の描画の方がはるかに重要です。

Raspberry Pi ボードは多くのメーカーのデフォルトの選択ですが、これらは長時間アイドル状態に置くためではなく、コンピューティングのために構築されました。一方、ESP32 チップは、ほとんどの人が使用しない複数の省電力機能を備えています。

深い睡眠はミリアンペアをマイクロアンペアに変える

消費電力の低減はバッテリー寿命にとって不可欠です

通常の状況では、マイクロコントローラーは単独で数ミリアンペア、ボード上に電力を大量に消費するコンポーネントが追加されている場合は最大数百ミリアンペアの電力を消費します。バッテリーでプロジェクトを実行している場合、すべてのアンプが重要になります。

ESP32 は、ボードが消費する電力量を大幅に削減する非常に効果的なディープ スリープをサポートします。このモードでは、CPU、ほとんどの RAM、および無線の電源が完全にオフになります。リアルタイム クロック (RTC)、ウェイク タイマー、および一部の RTC メモリのみがアクティブのままになります。これらは、ボードを自動的にオンラインに戻す場合に不可欠です。

深い睡眠と通常の動作との差は非常に大きい場合があります。たとえば、ESP32-C3 は、ディープ スリープ中にわずか 5 マイクロアンペアしか消費できません。 S3 および C6 ボードは、7 マイクロアンペアまで低く抑えることができます。

ここで、プロジェクトが 20 分ごとに起動して数秒間読み取りを行ってからスリープに戻るだけで済む場合があると考えてみましょう。つまり、2,000mAh のバッテリー 1 個 (これはかなり一般的な容量) であれば、おそらく数か月間再充電せずに動作できる可能性があります。

もちろん、実際のボードには追加のコンポーネントがあるため、多くの場合これより高くなります。消費電力を最小限に抑えたい場合は、可能な限りシンプルなボードを使用してください。

RP2040 や RP2350 などの低電力 Raspberry Pi デバイスでも、「ディープ スリープ」状態では 500 マイクロアンペアから 750 マイクロアンペアを消費します。

一部の ESP32 ボードには超低電力プロセッサが搭載されています

メインチップがスリープしている間も、小さな 2 番目の CPU が動作し続けます。

reSpeaker Lite 開発ボード上の XIAO ESP32-S3。 クレジット: Adam Davidson / How-To Geek

超低電力 (ULP) コプロセッサは、メインのより強力な CPU がディープ スリープ状態にある間も動作を継続できる小型のセカンダリ CPU です。

これにより、メイン CPU をまったくアクティブにせずに、プロジェクトで GPIO のポーリング、センサーの読み取り、ADC 値のチェックなどの単純な作業を行うことができます。 ULP プロセッサは、追加の処理能力が実際に必要なときに、大きな CPU を選択的にウェイクアップできます。

数週間または数か月にわたって、これらの電力節約は加算されます。

注意すべき大きなシワが 2 つあります。 1 つ目は、すべての ESP32 ボードに ULP プロセッサが搭載されているわけではなく、搭載されているボードであっても、すべてが ULP プロセッサを搭載しているわけではないということです。 同じ つまり、それらの機能はまったく異なる可能性があります。単純なステート マシンを使用するものもあれば、低電力 RISC-V CPU を使用するものもあります。

2 つ目は、ULP コプロセッサを個別にプログラムする必要があることですが、これは利益を考慮すると大きな問題ではありません。

軽い睡眠と ESP-NOW で接続を維持

Wi-Fi ラジオを気軽に楽しみましょう

ESP32 の GPIO ピンのラベル。

デバイスを一度に数か月間稼働させたい場合、Wi-Fi は深刻な問題になる可能性があります。 Wi-Fi 無線をオンにし、接続し、データを送信し、その後切断することは、ESP32 がアイドリング状態またはディープ スリープ状態にある場合に比べて、かなりの電力を消費します。

この電力の消耗を避けるために、モデムをスリープ状態にして、自動的に軽いスリープに切り替えることができます。これにより、モデムの電源がオフになり、CPU が一時停止されますが、RAM の内容は保持されるため、起動にはほんの数秒しかかかりません。

ESP-NOW を選択することもできます。ESP-NOW は、最初に Wi-Fi ネットワークに接続せずに ESP32 ボードが直接通信できるピアツーピア プロトコルです。すべてのオーバーヘッドが排除されるわけではなく、すべてのアプリケーションに適しているわけではありませんが、ESP32 がオンラインに留まる時間を最小限に抑えることができます。

太陽光発電や小型電源は実は現実的

ESP32 がパワーを吸い取る

Anker PS100 100w ソーラーパネル。

注意していれば、ESP32 の平均消費電力を数分のオーダーに抑えることができます。 ミリワットこれは、冬の曇りの日でも、小さなソーラーパネルで問題なくカバーできる種類のものです。 Pi Zero 2 W は、それ自体が他の Raspberry Pi に比べてかなり低電力のデバイスであり、常に 500 ミリワット程度を消費します。

バッテリーとソーラー パネルで Pi ベースのセットアップを実行したい場合は、両方のバッテリーを大型化する必要があります そして あなたのパネル。

セットアップを簡素化する、バッテリー充電を処理するための接続が組み込まれた ESP32 ボードを購入することもできます。

ここには一般的な信頼性の利点もあります。 ESP32ボードは 非常に これは単純で、真夜中に停電しても、太陽が昇るとボードが通常どおり再起動し、バッテリーが充電されるだけです。 Pi Zero は誤った操作中に電源が失われると、microSD カードが破損する可能性があるため、手動で修復する必要があります。


バッテリーとソーラーのビルドでは、ESP32 がより良いデフォルトです

RP2040 および RP2350 ベースのボードは、Zero 2 W や Pi 5 などの完全な Raspberry Pi よりも消費電力が低くても、依然として電力を消費します。 大幅 適切に最適化された ESP32 ボードよりも多くの電力を供給します。 ESP32に電力を供給できるバッテリー 月 Pi 5 を実行できるのは数時間か、Pi Zero 2 W を (楽観的に見て) 1 日程度しか実行できないことです。

ESP32 のディープ スリープ、オプションの ULP コア、電力使用量を最小限に抑えるように設計された無線モードを組み合わせると、シンプルなバッテリ駆動のプロジェクトには ESP32 が最適です。

このテーマについてさらに詳しく知りたい方は以下をご覧ください

完全ガイドはこちら

関連記事

前の投稿
この 65 インチ東芝ミニ LED テレビは今なら 550 ドルで入手できます
次の投稿
Brave のシークレット フィルターを発見したため、YouTube Premium の支払いをやめました