ESP-WROOM-32 ( ESP32 )の消費電流を電流プローブ無しで測定してみました

記事公開日:2017年2月18日
最終修正日:2017年4月10日

スポンサーリンク

この記事以降、ESP32 ( ESP-WROOM-32 )の電流値が大体分かりました。
以下の記事も合わせてご覧ください。
●ESP-WROOM-32 (ESP32) の 電流 測定 その2
●ESP-WROOM-32 ( ESP32 ) のUSB電源突入電流(インラッシュカレント)を考える
●ESP-WROOM-32 ( ESP32 ) の保護機能付き電源強化対策の実験

こんばんは。

前回の記事に引き続き、いま旬の ESP-WROOM-32 ( ESP32 ) の電流値を、USBからの電源とLDO 通過後のものを自分なりに測定したものを報告してみようと思います。

と~っても高価な電流プローブは持ち合わせておりませんので、オシロスコープと固定抵抗で電流を検知することにトライしてみました。

おかげで、LDO ( ロー・ドロップ・アウト)電圧レギュレーター、ADP3338 の使用上の注意点も分かって来ましたし、ESP-WROOM-32 の電流消費パターンも分かって来ました。

では、ESP-WROOM-32 のプローブ無しの電流値測定方法を順番に説明していきます。

前回の記事でコンパイル書き込みした、スマホWi-Fi LED スイッチを使います。
また、ブレッドボード上の測定のため、精度には限界があり、あくまで目安とお考え下さい。

最新記事ではさらに詳細に電流測定をしておりますので、合わせてご参照ください。
ESP-WROOM-32 (ESP32) の 電流 測定 その2

測定用の準備

2ch以上のできるだけ高性能のオシロスコープ

抵抗両端の差動電圧を測るので、2chのプローブ測定ができるものが必要です。
また、瞬間の突発電流値を測定するためには、出来るだけサンプリング周波数の高いものを使った方が良いと思います。
私の場合はずっと以前に購入した以下のものを使いました。
因みにこれ、プローブは別売りでした。
プローブも当時は結構お高かったです。

ピーアンドエーテクノロジーズ PA-S2000/E
Current_01

電流検出用チップ抵抗(0.4~0.5Ωくらいのもの)

ESP-WROOM-32 の電流値を測定するための抵抗として、1Ω以下のもので、自己インダクタンスが低く、熱特性が良いものを使わねばなりません。
ESP-WROOM-32 の場合、瞬間で1Aの電流が流れますので、1Ωの抵抗の場合の電圧降下は

電圧降下= 1A × 1Ω = 1V

つまり、1Vも電圧降下してしまったら、3.3Vが2.3Vになってしまって、ESP-WROOM-32の動作に支障が出かねません。
そこで、例えば、0.5Ωならば、電圧降下も0.5V なので、動作的に問題ないと思われます。

ということで、秋月電子通商さんで、電流検出用チップ抵抗が売っていましたのでそれを使いました。

電流検出用チップ抵抗器 0.1Ω1W±0.5%

TSL1 TTE R100 D (KOA製)
表側
Current_03

裏側Current_04

ただ、0.1Ωのものしか売ってなかったので、それを4つ直列に接続しました。

この抵抗はカーボン抵抗よりも精度が良く、特性も良いらしいです。
自己インダクタンスも少ないので電流検出に適しているみたいです。
そのかわり、1チップ100円です! かなり高価です。

抵抗値を精密に測定できるテスター

ここで、電流検出抵抗をできるだけ正確に測定できるものが必要です。
これができないと、オシロスコープの電圧差から算出した電流値が狂ってしまいます。

私の手持ちの出来るだけ精密なテスターはこれがありました。
Current_02

これはインピーダンスメーターで、100Hz~100kHz まで信号を発信してインピーダンスを測定できます。
0.0001Ωまで測定できる優れものです。
ただ、これを買うお金があるのなら、安い電流プローブが買えてしまうかも・・・。

0.65mm 単線電線


電流検出用抵抗の両端に接続するものです。
要するに、ブレッドボードに直接させる便利な電線のことです。

電流検出抵抗のハンダ付け

電流検出抵抗は下図の様に裏側にして直列にハンダ付けするのが一番手軽です。
ユニバーサル基板などを使ってしまうと、インピーダンスが変わってしまうので、できるだけ直付けが良いと思います。

Current_05
直接ハンダ付けしているリード線は、φ0.65mm の単線電線を使いました。
なぜ、単線かというと、撚り線の場合は曲げ方によって抵抗値(インピーダンス値)が変わってしまいます。
ですから、できるだけ単線が良いということになります。
φ0.65mm ならばブレッドボードに直接挿せるので便利です。
そもそも、ブレッドボード自体が正確な測定には向いていないのですが、そこは今回は考えません。
何しろ、趣味の電子工作ですから・・・。

抵抗側の被覆を剥いているのは、そこにオシロスコープのプローブを噛ませられるようにするためです。

電流検出抵抗の抵抗値測定

では、この抵抗値を測定します。

ここで注意していただきたいのは、残念ながら市販の普通のテスターでは正確な抵抗値は測定できません
あまりにも抵抗値が小さいためです。
この抵抗値が正確に測れないと、電流値の正確な値を算出できません。

ということで、下図のように手持ちのインピーダンスメーターでこれを測定してみました。
Current_06

このインピーダンスメーターはデフォルトで1kHz測定です。
表示にあるように 0.4166Ωと出ました。

因みに、クリップを挟む場所は下図の様に、実際にプローブを挟む位置とします。

Current_07

リード線の先の方で測定すると、インピーダンスが変わってしまうので注意です。
結構シビアですね・・・。

これを100Hz 測定にしてみた結果は以下の通りです。

Current_08

全く同じ 0.4166Ωですね。
因みに、100kHz 測定にしてみると、こんな感じになります。

Current_09

さすがに自己インダクタンスが出てきて、インピーダンスが増加してしまいました。
これは、測定ワニ口クリップリード線のインダクタンスでした。
実は、これを差し引いて抵抗値を決めねばなりません。
今回の実験ではこれを差し引くことを忘れていましたが、ブレッドボード上の抵抗値やインダクタンスを考慮して、今回は0.4166Ωで勝手にヨシとしてしまいます。

LDO 電圧レギュレーターの改良

前回の記事で紹介した、ANALOG DEVICES のLDO (ロー・ドロップ・アウト)電圧レギュレーター、ADP3338 ですが、データシートを見る限り、回路図に1uFセラミックコンデンサを接続するように表記されていますが、よくよく読み込んでみると1uF以上のセラミックコンデンサで安定すると書いてあります。
つまり、1uFのセラミックコンデンサを使った場合、個体差で1uFを下回ってしまう可能性があります。
とくにF特性のものを使うと温度によって容量が変わるので要注意です。
これはねむいさんのぶろぐ記事でもサラッと記述されていました。

ということは、2uF以上のものを使った方が良いわけです。
そこで、手持ちのチップコンデンサで10uFのものがあったので、交換してみました。
サイズが大きくなったので、ハンダ付けが汚くなってしまいましたが、こんな感じです。

Current_LDO_10

今思えば、もうちょっと余裕のあるレイアウトにすれば良かったと思っています。
これに変えたことで、さらに電圧の安定感が増した気がします。

ESP-WROOM-32 の5V, 3.3Vラインをオシロスコープで測定

では、まず、USBからの5V 電源ラインと、3.3Vラインを測定してみます。
電流プローブはありませんので、電流検出抵抗でオシロスコープを使って差動電圧測定を行います。ESP-WROOM-32 の接続は前回の記事の回路を使い測定します。
因みに、USBポートは1A出力のACアダプターを使い、以前の記事のUSBテスターを挿入しています。

まず、3.3Vラインの測定で、電源投入時の突入電流を測る場合は、10uF電解コンデンサを外します。
なぜかというと、純粋にESP-WROOM-32 に流れる電流を測定したいので、コンデンサに電荷を貯めるための電流は測定から外したい為です。

ただ、0.1uFのチップコンデンサは面倒なので外しませんでした。
3.3Vライン測定の接続は以下の図のような感じです。

Current_11_3v3_ocillo

写真はこんな感じです。

Current_12_3v3

実は、電流検出抵抗のこの位置は純粋なESP-WROOM-32に流れる電流というよりも、3.3Vライン全回路電流を測定することになります。
つまり、プルアップ抵抗に接続された0.1uFコンデンサなどにも電荷を貯める突入電流が流れます。
今回はESP-WROOM-32の回路を組むことによって、LDOやUSBポートにダメージを与える危険な電流がながれていないかどうかチェックしたいという意図があります。

5Vライン測定の接続は以下のような感じです。
3.3Vラインの電解コンデンサーは接続したままで測定しました。

Current_11_5V_ocillo

写真ではこんな感じです。

Current_12_5v

では、測定結果を順番に見ていきます。

電源投入時の大まかに見てみたオシロスコープ波形が下図の様になります。
緑色の波形はオシロスコープのMATH機能で、CH1電圧とCH2電圧の差を表示させています。
左のグラフが USB側5Vライン(Vbus)で、右側が 3.3V ラインです。
両方を並べると比較しやすいと思います。
ピークが出ているところは電位差が発生しているということになるので、直感的に電流が発生していることが分かって便利です。
差動電圧の目盛りは200mVです。

Current_21

突入電圧波形が5Vラインと3.3Vライン両方に、2パターン出ています。
タイプの違うコンデンサ等に電荷を貯めているんでしょうか?
この2つの山は接続するUSBポートによって異なります
パソコンのUSBポートに挿した場合はもっと酷い電流値になることがあります。

それと、後半の方にESP-WROOM-32 がリセット動作をした時に出る波形っぽいものが表示されています。
そこからCH1 電圧と CH2電圧の電位差が発生し始めているので、ESP-WROOM-32 が起動して電流を消費していると考えられます。

では、それぞれのポイントを拡大して見てみましょう。

まず、第1次突入電圧波形は以下の通りになります。

Current_22

5Vラインの差動電圧ピークが604mV を示しています。
これをオームの法則を用いて、電流値を算出すると、電流検出抵抗が0.4166Ωでしたので、

電流= 電圧/抵抗値 = 0.604 / 0.4166 = 1.450A

となります。かなりデカイですねぇ・・・。
USB3.0 の規格では900mA ですので、これはパソコンのUSB ポートにダメージを与える可能性があります。

3.3Vラインは 1.095Aですね。
LDO電圧レギュレーターの最大出力ピーク電流が1.6A なので問題ありませんが、もし、非力なレギュレーターを使っていたらダメージを与える可能性があります。

では、第2次突入電圧波形を拡大して見てみると、こうなります。

Current_23

5Vライン:1.229A
3.3Vライン:0.979A

2回目もかなりの電流です。
3.3V 側はADP3338 のおかげで全く心配無いのですが、USBポートが心配ですね。
2回もこれだけの突入電流が流れるとなると、回路設計を吟味して考えた方が良いですね。

では、突入電圧の後のESP-WROOM-32 のリセット電圧波形を見てみるとこんな感じです。

Current_24

これはねむいさんのぶろぐ記事でも紹介されているとおり、同じような波形が出ていますね。
5Vライン、3.3Vラインとも、およそ600mA 程の電流が流れています。

ここで、赤色のCH1電圧と青色のCH2電圧波形をよく注意して見ていただきたいのです。
5Vラインは赤色と青色両方とも約1Vも電圧降下を起こしています。
しかし、3.3Vラインは青色は約0.2V降下していますが、赤色は水平になっています。

これは、3.3Vラインが大きな電流が流れているにも関わらず、LDO ADP3338 によって電圧降下を防いでいるということを意味しています。
これ、スゴイですよね。
電流検出抵抗を外して、直で接続したら、3.3Vラインの電圧降下は殆ど無いということですよ。
改めて、ねむいさんのぶろぐ記事で紹介されたように、ADP3338 が優れものだということが実感できると思います。
スバラシイ!!!

次に、前回の記事で紹介したように、Arduino IDE でスマホとWi-Fi 通信した場合の電圧波形を見てみます。

Current_25

100ms 毎にパルス的に電流が流れていますね。
恐らく、ルーター(アクセスポイント)を常時SCANしているっぽいパルスですね。

これを拡大して見てみるとこんな感じです。

Current_26

リセット時と同じくらいで、5V, 3.3Vライン両方ともおよそ600mA の電流が流れています。
ここでも注目していただきたいのは、5Vラインでは約1V電圧降下を起こしているのですが、3.3Vラインの赤色のCH1は殆ど降下していません。

もし、Wi-Fi通信時の3.3Vラインが1Vも降下してしまったら、2.3Vになってしまうので、ESP-WROOM-32 の動作保証電圧範囲ギリギリです。
それを下回ってしまった場合、動作が不安定になったり、リセットを繰り返すなどの動作不良を起こすことが有り得ますね。

また、Wi-Fi通信時の平均電流消費は

5Vライン:約154mA
3.3Vライン:約163mA

となっていました。

この他、LED をONにしたりしても、電流値はそれほど変わりませんでした。
電源をOFF にした場合の電流値も大きいものはありませんでした。

以上、ESP-WROOM-32 の電源電流測定でした。

まとめ

これで、ESP-WROOM-32 のArduino IDE で開発した場合の Wi-Fi 通信による電源電流消費がおおよそ分かって来ました。

3.3Vラインについては、ESP-WROOM-32にだけに流れる純粋な電流というよりか、3.3Vライン全回路の電流を測定した形になりましたが、LDOデバイスの選定に役立つと思います。

以上まとめると

●突入電流は1A以上が2回流れる
●リセット電流は約600mA
●Wi-Fi通信時パルス電流は約600mA
●Wi-Fi待機時平均電流は約160mA
●3.3Vラインの電圧降下を出来るだけ少なくするLDO レギュレーターを使うべし。
●USBポートは3.0ポートを使い、USBポートを保護する何らかの方法が必要。

USBポートの危険性を感じるならば、いっそのことOTAにしてしまって、USB接続をしないという方法に特化しても良いかもしれません。
おそらく、将来的にはそうなってくるでしょう。
まだArduino IDE ではOTAはできないようですが・・・。

また、突入電流を抑制する方法を考えなければなりません。
3.3Vラインに大容量コンデンサーの容量を検討する場合、電源投入時に電荷を蓄えるための1A越えの電流継続時間が容量によって変わって来ます。
容量を大きくすると、突入電流の継続時間が長くなってしまいます。
ですから、コンデンサの容量を大きくすれば良いというものではありませんね。

NTCサーミスタを使うことも考えましたが、あまり現実的ではないような気がします。
やっぱり保護機能付きソフトスタート付きのDC-DCコンバータがあればそちらの方が良いような気がします。
ということで、これは今後の課題ですね。

以上、今回はここまでです。

ではまた・・・。

この記事以降、ESP32 ( ESP-WROOM-32 )の電流値が大体分かりました。
以下の記事も合わせてご覧ください。
●ESP-WROOM-32 (ESP32) の 電流 測定 その2
●ESP-WROOM-32 ( ESP32 ) のUSB電源突入電流(インラッシュカレント)を考える
●ESP-WROOM-32 ( ESP32 ) の保護機能付き電源強化対策の実験

スポンサーリンク

mgo-tec電子工作 関連コンテンツ ( 広告含む )
Amazon.co.jp 当ブログのおすすめ







投稿者:

mgo-tec

Arduino , ESP32 ( ESP-WROOM-32 ) , ESP8266 ( ESP-WROOM-02 )等を使って、主にスマホと連携した電子工作やプログラミング記事を書いてます。ライブラリも作ったりしてます。趣味、独学でやってますので、動作保証はしません。 電子回路やプログラミングの専門家ではありません。 畑違いの仕事をしてます。 でも、少しだけ電気の知識が必要な仕事なので、電気工事士や工事担任者等の資格は持ってます。

「ESP-WROOM-32 ( ESP32 )の消費電流を電流プローブ無しで測定してみました」への5件のフィードバック

  1. mgo-tecさん、お疲れさま。内容の濃さに何度も読みなおしています。
    測定場所はLDOの端子で 結果 ADP3338 で強化され 素晴らしい記事ですね。
    ESP8266での電源測定経験として ESP8266の電流を測定する場合は ESP8266チップの電源端子直下をグランドを含め測定プローブの長さを ゼロ近くで測定しないと正しく測れないと プロの方から教わり 実際に試してみるとその通りでした。
    シャント抵抗をきちんと用意して測定している所も素晴らしいですね。
    私の知識不足かも知れませんが NATIONAL INSTRUMENTSの「電流測定の理論と実際」では、測定するシャント抵抗の位置はグランド側と書かれています。たしかESP8266の時もプロからこの事を言われた記憶があります。
    http://www.ni.com/tutorial/7114/ja/
    今回 USBデジタルオシロをお買いになったのでしょうか。紹介にあったかなり高い物ですよね。この意気込みにも驚き成果があって更に嬉しくなりました。
    ESP32モジュールには 裏側中央に金色の放熱パターンがあります。これを私が使用している基板にある裏と表のGNDパターンにハンダ付けしますと、放熱効果と電源のノイズ対策ができ
    熱と電源変動を防ぐ事ができます。電気は全て電源からグランドに流れますので上流もそうですが下流の太さを最大限に広げる事が大事かなと思っています。
    記事は 小さな事も画像入りで書かれ 大変読みやすいです。
    実に大変な内容で、mgo-tecさんの努力に感謝しています。

    1. macsbugさん

      ご無沙汰しております。
      再び当ブログをご覧いただき、逆に感謝感謝です。
      m(_ _)m

      この電流測定は、抵抗値だけはある程度精密に測定できたかと思うのですが、なにしろ電線も必要以上に長いですし
      、ブレッドボード上なので電流値はかなりアバウトですね。
      あくまで電子工作用途の電流測定なので、ご容赦ください。

      それと、ESP-WROOM-32 モジュールに流れ込む電流を正確に測定するならば、GND側が良いということは初めて知りました。
      考えてみればそうですよね。
      そのモジュールで吐き出される電流はすべてGNDを通るわけですから・・・。
      なるほど!!
      ガッテン、納得です!!

      早速測定してみたのですが、この場合100mVレンジになってしまうので、オシロのトリガーがかかりにくいですね。
      しばらくいろいろ計測してみて工夫してみますね。

      電流検出抵抗の位置ですが、ESP-WROOM-32直近のGND側で検出した場合、それ以降の電流が通るデバイスは一切無いので、純粋にESP-WROOM-32の電流消費を計測するには良いと思います。
      LDO 3.3V出力直近にした場合、LDOの出力電流を計測できるので、LDOデバイスの選定に役立つと思います。
      それと、3.3Vのドロップ電圧を測定する場合も役立ちます。

      今回の回路の電流計測では、LDO出力から色々なコンデンサへ電流を分配して、ESP-WROOM-32 へ電流が入り込んでいるので、ESP-WROOM-32 の消費電流というよりか、LDO後の3.3Vライン全回路合算の電流と言った方が良かったですね。
      ということで、記事を修正しておきます。スイマセン・・・。
      m(_ _)m

      今回の測定の意図は、ESP-WROOM-32 の回路を組んだ際に、電流によってLDOやUSB機器にダメージがある電流が流れているのかどうかを確認したかったということがあります。
      ですから、今回の測定方法は、私的にはこれで良いのかな・・・と思ってます。
      今後、GND側で測定して、できるだけ純粋なESP-WROOM-32へ流れ込む電流値を測って記事にしたいと思います。

      それと、USBオシロやインピーダンスメータはわざわざ買ったのではなく、前からあったものを使ってます。
      今回の為に10万円もかける意気込みはさすがにありませんでした・・・。

      あと、macsbugさんの記事にあった基板はTwitterでも紹介させていただきましたが、かなり良い感じの基板ですよね。
      なるほど、金色パターンにハンダ付けは全く頭にありませんでした。
      基板に穴を開けちゃうんですね。なるほど・・・。
      下流側の安定も不可欠ですね。スバラシイです!!

      ということで、今回もまたとても有益な情報をわざわざコメント欄に投稿いただき、本当に恐縮で、感謝でいっぱいです。
      今後の電子工作に役立てていこうと思っています。
      ありがとうございました。
      m(_ _)m

    2. macsbugさん

      改めて、GND側で測定してみました。
      やっぱり、きれいな波形が取れましたね。
      ESP-WROOM-32直近とまではいかないのですが、これでも十分です。
      ある程度純粋なESP-WROOM-32吸い込み波形が得られたような気がします。
      改めてこれは記事にしたいと思います。
      いろいろとアドバイスありがとうございました。
      m(_ _)m

  2. mgo-tec様はじめまして、ねむいと申します。

    私の性格が災いし皆様の信頼をなかなか得られないのでこうして
    追実験をして確証を得られて頂いたことに誠に感謝しております。

    macsbug様がおっしゃられている通りESP-WROOM-32の裏面の
    GNDパタンのグランドプレーンへの接続は瞬間的な大電流の
    吸い込み吐き出しに対応するためにも「必須」であります。

    LED点滅程度なら問題ないでしょうけどコアクロックをあげて
    高速にデータをやり取りするような場合は貧弱なGNDだと
    さまざまな問題が噴出するでしょう。
    ブレッドボードのみで試されるようなライトなユーザーさんに
    その重要性がどれだけわかってもらえるのか?
    どうすればいいのかちょっと思案に暮れてます。

    本当は私も+3.3V電源に昇降圧DCDCを推したいところなのですが、
    回路が複雑になり他の方が再現しづらくなるのと不用意に扱って
    静電気で出力段のFET壊しちゃう人が続出しそうなのであえて
    効率は置いといて回路が比較的容易であまり気を払わなくても
    確実に動作する堅牢なADP3338やLT1963AなどのLDOを推しております。

    1. ねむいさん

      こちらこそ、わざわざ当ブログのコメント欄に投稿いただき、感謝いたします。
      勝手にリンクを貼ってしまい申し訳ございません。
      m(_ _)m
      いつもブログ拝見して、とても参考にしております。
      「ねむいさんのぶろぐ」記事については、私自身はかなり信頼しております。

      私のブログ記事の電流値については、ねむいさんや、macsbugさんの感じていらっしゃるとおり、ブレッドボード上測定なので、正確性には欠けると思っています。
      その文言も始めの方に一応表記しておいたのですが、ライトユーザーの方々は勘違いしてしまうかもしれませんね。

      実はmacsbugさんのアドバイスを受けて、LOWサイド電流値測定も現在進行中で、電流測定記事第2弾を上げようと思っています。
      DC-DCコンバーターもいくつか試している最中です。
      ねむいさんが推薦されているLT1963Aも今試しています。
      その記事を上げる際には改めてブレッドボードの貧弱性やGNDの重要性を記述しておこうと思います。
      突入電流抑制方法もいろいろ試していて、5Vラインの突入電流がなかなか良い案が見つかっていないところです。
      (それでもあくまで趣味の電子工作なのでブレッドボード上なのですが・・・。)

      私は回路の専門家ではありませんが、GNDパターンの重要性はある程度は分かっているつもりで、特にESP-WROOM-32になってくると、ブレッドボード上では正常動作はもはや無理だろうと思っておりました。
      実際、ブレッドボードの接点によってインピーダンスが変わって電流値もけっこう変わっていましたし・・・。
      それに、HIGHサイド電流測定ではコモンモード電圧やスパイクノイズが酷くて正確な電流値が測れていないですし、LOWサイドではキレイな電流波形を見ることができても、GND電圧に所々スパイクが発生していて、これはベタGNDパターンのようなものが無いと誤作動起こす予感がしました。
      (ブレッドボードでもベタグランド付きみたいなものがあるといいなぁと思ったり・・・)
      そもそも、ESP-WROOM-32 はもう素人には手の負えないほどの怪物マイコンということですね。

      でもやっぱりアマチュア電子工作家の私としては、この怪物を何とか使ってみたいのです。
      私のブログ記事では誤作動の危険性をユーザーの方々にできるだけ伝えて、その上でこのデバイスの電子工作をどうやって楽しんでいくかを試行錯誤していきたいと思っております。

      ということで、またちょくちょく「ねむいさん」のブログを拝見させていただきます。
      私のような素人電子工作家にたいへん貴重なアドバイスありがとうございました。
      m(_ _)m

コメントを残す

メールアドレスが公開されることはありません。

*画像の文字を入力してください。(スパム防止の為)