ESP32への適切な電源供給方法

ESP32の電圧制限、電流消費、および間違った場合の挙動

組み込み製品開発におけるよくあるパターン:チームが動作するESP32プロトタイプを構築し、フィールドにユニットを展開した後、ランダムなリセットの報告を受け取り始めます。デバイスはベンチ上では問題なく見えます。USB電源メーターでは、平均電流は妥当に見えます—おそらく120mA。Wi-Fi接続イベント中に誰かが電源レールをオシロスコープで確認し、数ミリ秒間電圧が2.6Vに低下するのを見るまで、何も問題がないように見えます。その低下がブラウンアウト検出器をトリガーします。チップがリセットされます。問題はコードにあったのではなく、電源供給にあったのです。

ESP32の電源を正しく供給するには、配線する前に2つのことを理解する必要があります。それは、チップの電圧ウィンドウと、電流要求が一定の消費ではなくバーストとしてどのように振る舞うかです。

絶対最大定格 vs. 推奨動作電圧

ESP32チップは、信頼性の高い動作のために3.0Vから3.6VのVDD供給で動作します。絶対最大定格は3.6Vです。これを超えると、たとえ短時間であっても、内部LDOとI/Oセル保護構造を損傷します。その損傷はしばしば潜在的です—チップは数日または数週間動作を続けますが、過電圧イベントへの追跡が困難な方法で故障します。

下限同樣重要。3.0 V 以下時,晶片可能仍可運行,但 RF 效能會下降,快閃記憶體寫入可靠性也會降低。設計師有時為了省電而降低供電電壓。這種取捨幾乎沒有熱裕度,並可能在寒冷環境中出現邊際行為。

早期需要釐清的一個區別是:當您通過 USB 連接埠或 VIN 引腳為開發板供電時,板載 LDO 會處理降壓至 3.3 V 的過程。晶片永遠不會直接看到輸入電壓。當您連接到 3V3 引腳時,您將完全繞過該穩壓器。晶片供電軌現在是您提供的任何電壓。沒有保護,沒有穩壓,如果您的電源漂移到 3.6 V 以上,將沒有第二次機會。

VDD 的上限是硬性且不容協商的——超過 3.6 V 沒有任何餘裕,並且板載保護無法捕捉 3V3 引腳上的過壓。

Wi-Fi 和 BLE 傳輸期間的峰值電流瞬變

Engineer reading oscilloscope showing voltage dip on ESP32 VDD pin during Wi-Fi burst

ESP32 電源尺寸的平均電流數據具有誤導性。在 Wi-Fi TX 突發期間,晶片可能瞬間消耗高達 500 mA 的電流。這種尖峰只持續幾毫秒,但足以使薄弱的電源崩潰。

欠壓檢測器在 VDD 下降到約 2.44 V(ESP-IDF 中的預設閾值)時觸發。如果供電措施沒有足夠的容性負載來吸收突發需求,即使是穩態下以 200 mA 保持 3.3 V 的供電,也可能低於該閾值。問題不在於電源的 DC 額定值,而在於缺失的能量儲存。

僅根據平均負載對穩壓器進行尺寸設定而忽略大容量電容器計算的工程師經常會遇到這個問題。一個 100 µF 電解電容器與一個 100 nF 陶瓷電容器並聯,靠近 VDD 引腳放置,可以吸收大部分突發能量,防止供電軌下降。沒有它,即使是具有緩慢瞬態響應的功能性穩壓器,也會在電壓下降後才能做出反應。

電源選擇必須根據峰值需求來設定,而不是平均消耗。額定值為 300 mA 連續的穩壓器對於運行 Wi-Fi 的 ESP32 來說是不夠的。額定值為 500 mA 或 800 mA 的元件提供了突發行為所需的裕度。

ESP32の電源入力パスとオンボードレギュレータアーキテクチャ

ESP32システムへの電源の入り方と、各入力ピンがたどるパスを理解することは、設計が安全で、熱的に健全で、量産に適しているかを判断する上で重要です。

一般的なESP32開発ボードの3つの電気的入力ポイント

ESP32 development board with USB port, VIN, and 3V3 header pins visible on bench

ほとんどのESP32開発ボードは、電源を供給する3つの方法を提供しています。それぞれがボードのレギュレータ回路を異なるパスで通過します。

  • USBポート(5 V入力): USBコネクタは、オンボードLDO(一般的にはAMS1117-3.3または同等品)に供給されます。LDOは、チップに到達する前に5 V電源を3.3 Vに降圧します。これは、ベンチワークにおいて最も安全で一般的なパスです。
  • VINまたは5 Vヘッダーピン: このピンは、USBポートと同じLDO入力に接続されます。ボードのバリアントによっては、4.5 Vから12 Vまでの範囲で受け入れられます。LDOは、余分な電圧を熱として放散します。より高い入力電圧と中程度の負荷電流では、その熱は無視できなくなります。
  • 3V3 ヘッダーピン: このピンは、オンボードレギュレータを完全にバイパスして、チップの電源レールに直接接続されます。保護ダイオード、レギュレーション、電流制限はありません。ソース電圧が 3.6 V を超えてドリフトまたはスパイクした場合、チップがそれを吸収します。

3V3 ピンは、システム内の他の場所でクリーンでレギュレートされた 3.3 V 電源がある場合に、LDO の静止電流と熱を回避するのに役立ちます。外部低ドロップアウトレギュレータを使用するバッテリー駆動設計には適しています。厳密にレギュレートされた 3.3 V レール以外のソースには適していません。

LDO をバイパスするピンは、ESP32 の電源配線で最も重要な設計上の選択です。ピンを 1 つ間違えると、動作する回路と破壊されたチップの違いになります。

ESP32 チップ内部の電源レールトポロジ

ESP32 内部では、単一の VDD 電源が複数の内部電源ドメインに供給されます。RTC ドメイン — VDD3P3_RTC — は、ディープスリープ中に電源が供給され続け、RTC メモリと ULP コプロセッサを保持します。メインデジタルコアと Wi-Fi/BLE ラジオは、ディープスリープがアクティブになると電源がオフになります。VDD_SDIO ドメインはフラッシュメモリインターフェイスに電力を供給し、使用されるフラッシュデバイスに応じて 1.8 V または 3.3 V 動作に構成できます。

このドメイン構造は、バッテリー駆動設計において重要です。ファームウェアがスリープ中にラジオおよび CPU ドメインを正しく分離しない場合、静止電流は目標の 10 µA をはるかに超えて上昇します。一部のペリフェラルドライバは、チップがスリープしていると思っても、その電源ドメインをアクティブに保持します。データシートの数値だけに頼らず、高精度アンメータで実際のスリープ電流を測定することは、バッテリー容量の推定を行う前に標準的な実践です。

オリジナルの ESP32 は内部 LDO を使用しています。ESP32-S3 および ESP32-C3 のような新しいバリアントは、特定のピンで外部 DC-DC コンバータオプションをサポートしており、中程度の負荷電流で効率が大幅に向上します。バッテリーランタイムが重要な要件である設計では、ESP32 バリアントの選択は、1 行のファームウェアが記述される前に、電源アーキテクチャに影響します。

あらゆる実用的なESP32電源方式をステップバイステップで実装する

適切な電源方式は、ユースケース(ベンチ開発、パネル取り付け産業用設置、またはバッテリー駆動のフィールドデバイス)によって異なります。各パスには異なるコンポーネント、故障モード、および詳細に検討する価値のあるトレードオフがあります。

開発およびベンチプロトタイピング用のUSB電源

Micro-BまたはUSB-C経由でESP32開発ボードをPCまたはUSB充電器に接続するのは、最も簡単な方法です。外部コンポーネントなし、配線決定なし、レギュレータ計算なし。ファームウェア開発、シリアルフラッシュ、および軽い機能テストには、USB電源が適しています。

USB 2.0ポートは500 mAに制限されています。USB 3.0ポートは900 mAを供給できます。5 VにネゴシエートされたUSB-C PDポートは、充電器によっては1.5 A以上を供給できます。Wi-Fiを実行し、中程度のGPIO負荷を持つESP32の場合、USB 2.0ポートで十分な場合が多いです。リレードライバー、サーボ、または複数のセンサーを追加すると、電流予算はすぐに厳しくなります。

USB電源のプロトタイプが予期せずリセットされる場合、ケーブルが原因であることがよくあります。これはエンジニアが最後に疑うものです。細くて低品質のUSBケーブルは、0.5 Ωから1 Ω以上の抵抗を持つことがあります。400 mAのドローで、その抵抗は電流がボードに到達する前に200〜400 mVをドロップさせます。LDOドロップアウトと組み合わされると、チップレールは仕様を下回ります。ケーブルを、データ専用ではなく充電用に定格された短くて高品質のものに交換すると、問題はしばしば解消されます。

USB電源は、生産パネル設置やUSBポートにアクセスできない展開には適していません。これはベンチツールです。エンクロージャー段階に達した設計には、異なる電源パスが必要です。

VIN経由の外部DC電源 — リニア対スイッチングレギュレータの選択

Engineer wiring buck converter output capacitors before connecting to ESP32 3V3 pin on bench

5Vのレギュレータ付きウォールアダプタをVINピンに接続することは、ベンチおよびパネルアプリケーションにおいて最も低コストなアプローチです。オンボードのAMS1117-3.3が降圧を処理し、クリーンな5VソースはLDOのドロップアウトを仕様内に十分保ちます。これは、ほとんどのシングルESP32アプリケーションで、軽度のペリフェラル負荷の場合、約500mAまでの負荷で信頼性高く動作します。

入力電圧が上昇すると(例えば12Vのパネル電源から)、LDOの熱負荷は急激に増加します。LDOで消費される電力は(Vin - 3.3V)×負荷電流に等しくなります。12V入力、300mA負荷の場合、LDOは約2.6Wを消費します。AMS1117の接合部-周囲間熱抵抗は、一般的なSOT-223パッケージで約65℃/Wです。ヒートシンクなしでは、この消費電力レベルでの接合部温度は周囲温度より約170℃上昇し、デバイスの定格をはるかに超えます。LDOは熱シャットダウンに入り、ボードはリセットされ、サイクルが繰り返されます。

12V入力または200mAを超える連続負荷の場合は、オンボードLDOを外部バックコンバータに置き換えてください。MP2307またはLM2596のような部品は、12V入力を処理し、最大1.5〜3Aで3.3V出力を供給し、消費熱はごくわずかです。注意深く従うべき配線手順:

  • 入力コンデンサ(通常100µF電解)をコンバータの入力ピンの近くに配置し、コンバータのGNDピンに短いグラウンドリターンを接続します。
  • 出力コンデンサ(47〜100µF電解+100nFセラミック)をコンバータの出力に配置し、ESP32ボードには配置しないでください。それらの間のトレースインダクタンスは依然として重要です。
  • バックコンバータにイネーブルピンがある場合は、抵抗分圧器を介して入力電圧に接続するか、抵抗を介してハイにプルアップしてください。フローティング状態にしておくと、予期しない起動動作を引き起こします。
  • バックコンバータの3.3V出力をESP32ボードの3V3ピンに接続し、オンボードLDOを完全にバイパスします。

パネル取り付け設置の場合、ケーブルゲージとコネクタタイプは、負荷下でボードに到達する電圧量に影響します。参照してください ESP32パネル配線ケーブル選定ガイド 電圧降下計算および産業用エンクロージャーに適したコネクタ推奨のため。

バッテリー電源 — LiPo、Li-Ion、および9Vアルカリ

Precision ammeter measuring ESP32 deep-sleep current from LiPo cell through LDO regulator

バッテリー駆動ESP32設計は、USBまたはDC電源設計よりも注意が必要です。供給電圧が放電曲線全体で変化し、充電回路が複雑さを増し、ディープスリープ電流がバッテリー寿命を直接決定するためです。

LiPoおよびLi-Ionセル が最も一般的な選択肢です。単一セルは公称電圧3.7Vで、満充電時に4.2Vに達します。この4.2VはESP32の最大定格3.6Vを上回るため、LiPoセルを3V3ピンに直接接続することはできません。2つのアプローチがうまく機能します。第一に、オンボード充電IC(TP4054またはMCP73831)とオンボードLDOを備えたESP32開発ボードを使用します。ボードが充電管理とレギュレーションを同時に処理します。第二に、カスタムPCBの場合、セルとESP32 VDDレール間にMCP1700または類似の低ドロップアウトレギュレータを使用します。MCP1700は250mAで約178mVのドロップアウト電圧を持ち、セルの電圧が約3.48Vまで低下しても出力をレギュレーション範囲内に保ちます。低電圧カットオフ回路を追加するか、保護ICを使用して、セルが3.0Vを下回って放電するのを防ぎます。これを行うと、容量が恒久的に低下します。

直列接続された3つの単三アルカリ電池 は、新品で約4.5V、枯渇時に約3.3Vを供給します。低ドロップアウトレギュレータを介してVINに接続すると、この構成は充電回路なしで放電曲線の全体にわたって機能します。充電が非現実的で、使い捨て電池が許容されるアプリケーションに適しています。

9 V アルカリ電池 は、一般的で配線が容易なため魅力的です。問題は、オンボード LDO でのドロップアウトです。9 V 入力で 100 mA の負荷でも、LDO は約 570 mW を消費します。短時間、低デューティサイクルの使用であれば許容できます。Wi-Fi を定期的に使用するものであれば、オンボード LDO の前に 9 V を 5 V にステップダウンする小型のバックプリレギュレータを追加するか、LDO パスを完全に置き換えてください。

ディープスリープ電流の最適化が、バッテリー寿命を左右する要因です。Wi-Fi および BLE ラジオをオフにし、CPU をディープスリープ状態にすると、適切に設定された ESP32 は RTC メモリを保持しながら約 10 µA を消費します。ULP コプロセッサは、メイン CPU をウェイクアップせずに、約 150 µA で単純なセンサーポーリングタスクを実行できます。2000 mAh の LiPo セルで、5 分ごとに 1 秒間の Wi-Fi 送信ウィンドウ中に平均 80 mA のアクティブ電流、それ以外は 10 µA のスリープ電流の場合、推定バッテリー寿命は数ヶ月の範囲になります。正確な値は、ウェイクアップ頻度、接続時間、および特定のボードで測定された実際のスリープ電流によって異なります。

ESP32 を中心にバッテリー駆動製品を開発するチームは、一貫して低スリープ電流目標を達成するために必要なファームウェアの労力を過小評価しがちです。プロトタイプから量産ハードウェアまで、検証済みの電源設計を移行するためのガイダンスについては、 カスタム ESP32 ハードウェア製品開発を参照してください。

ESP32 電源 電気仕様 リファレンス

統合電圧、電流、および熱制限

以下の表は、ESP32電源設計における主要な電気的パラメータをまとめたものです。値は、オリジナルのESP32およびESP32-WROOM-32モジュールを代表するものです。新しいバリアント(S3、C3、S2)は、同様のVDD制限を共有しますが、スリープ電流とDC-DCサポートは異なります。

パラメータ 代表値/典型値 備考
VDD 推奨動作範囲 3.0 V – 3.6 V チップ直結; ボード3V3ピン
VDD 絶対最大定格 3.6 V ハードリミット。これ以上のマージンはありません。
GPIO絶対最大入力 VDD + 0.3 V I/Oセルタイプにより異なります
VIN範囲(ボード依存) 4.5 V – 12 V オンボードLDOに供給。7V以上では熱制限を確認してください。
アクティブ電流 (Wi-Fi TX バースト) ピーク 500 mA まで 数ミリ秒持続。このためのバルク容量をサイズ設定してください。
アクティブ電流 (標準平均) 80 – 240 mA RF アクティビティと CPU 負荷によります
ディープスリープ電流 (RTC 保持) 典型値 ~10 µA 実機ボードで測定。リビジョンにより変動します。
電源OFF時電流 ~5 µA RTC保持なし
ブラウンアウト検出閾値 (デフォルト) ~2.44 V ESP-IDFで設定可能。リセットをトリガーします。
AMS1117-3.3 最大連続出力 800 mA 熱的条件に基づき derate してください
AMS1117 熱抵抗 (SOT-223) ~65 °C/W 接合部から周囲 高 V_in で ~200 mA 超で使用する場合、ヒートシンクが必要です
動作温度 (産業用モジュール) -40 °C ~ +85 °C 標準モジュール; 特定のバリアントについては確認してください

ESP32 電源 FAQ

別のマイクロコントローラーの 3.3 V GPIO ピンから ESP32 に電源を供給できますか?

ほとんどのマイクロコントローラーの GPIO ピンは、電源出力ではありません。たとえば、STM32 の GPIO ピンは最大約 25 mA を供給できます。ESP32 は Wi-Fi TX バースト中に最大 500 mA を必要とします。ESP32 の電源入力を別の MCU の GPIO ピンに接続すると、ソース MCU がリセットされるか、I/O 状態が破損するか、GPIO ドライバーが損傷する可能性があります。場合によっては、これらすべてが発生します。

正しいアプローチは、ソース MCU の 3.3 V 電源レール(VCC または 3V3 ヘッダーピン)を使用することです。これは、GPIO ではなく、ボードのメインレギュレーター出力に接続されています。ソースレギュレーターの電流予算が、追加の ESP32 負荷を処理できることを確認してください。バースト需要をローカルで処理するために、ESP32 の 3V3 入力に 10 µF のデカップリングコンデンサーを追加してください。

ピーク電流要件とバルクキャパシタンスがなぜ重要なのかについては、上記のエンジニアリングの原則セクションで詳しく説明しています。

Wi-Fi 操作中に ESP32 がリセットまたはクラッシュし続けるのはなぜですか?

Wi-Fi アクティビティ中のランダムなリセットは、ファームウェアのバグではなく、ほぼ常に電源の問題に起因します。根本原因は、頻度の順で、TX バースト中の電源レールの電圧低下、VDD のバルクキャパシタンス不足、接地不足による局所的な電圧降下、および動作電圧に近すぎるブラウンアウト検出しきい値です。

これの診断には、オシロスコープが必要であり、マルチメーターだけでは不十分です。Wi-Fi 接続イベント中に、電源出力ではなく、VDD ピンを直接プローブしてください。2.8 V 未満への低下を探してください。マルチメーターは、時間を平均化し、ミリ秒スケールの過渡現象を完全に無視するため、安定した 3.3 V を読み取ります。

修正手順:

  • ESP32 VDDピンの直近に100 µF電解コンデンサと100 nFセラミックコンデンサを追加します。
  • 供給電源を、少なくとも500 mAの連続出力定格を持つ部品にアップグレードします。
  • USB給電の場合、USBケーブルの抵抗を測定します。0.3 Ωを超えるケーブルは交換します(測定方法については、上記のUSB電源セクションを参照してください)。
  • ESP-IDFのブラウンアウトリセット検出設定を確認し、負荷下での電源の実際の最低出力値と閾値が一致していることを確認します。

これらの修正後も特にフィールド展開されたハードウェアで不安定性が持続する場合、構造化された障害分離アプローチにより、問題が電源、グランドノイズ、またはRF干渉のいずれであるかを絞り込むのに役立ちます。 組み込みシステムにおけるハードウェアの不安定性の診断 に、体系的な方法が記載されています。

冒頭のシナリオに戻りましょう。基板上ではランダムに見えるが、フィールドでは悪化するリセットは、まさにこの特徴を持っていることがよくあります。つまり、定常負荷下では電圧を維持するが、短いRFバースト中に電圧が低下する電源です。バルクコンデンサを追加し、限界的なレギュレータを交換することで、通常は問題が解決します。多くの場合、接続イベント中にVDDレールにオシロスコープを接続すると、症状が電源を明確に指し示すため、修正にかかる時間は最初の診断よりも短くなります。

信頼性の高いESP32ハードウェアを大規模に構築するには、一貫して適用されるのと同じ規律が必要です。正しい電圧マージン、正しいコンデンサ配置、正しいレギュレータサイジング、そしてデータシートから推定するのではなく、実際のハードウェアで検証されたスリープ電流です。STONE HMIは、産業用HMIシステム向けの量産グレードのファームウェアを開発しています。本番稼働にコミットする前に、実際の動作条件下での電源挙動を検証するというプロセス規律は、フィールドでの障害のリスクを低減します。フィールドでの障害は、診断に費用がかかり、ユニット出荷後に修正するにはさらに費用がかかります。