PR 記事には広告が含まれています
スポンサーリンク
Translate

ESP32-DevKitCのDeepSleepが結構電流を消費しているので原因を調べてみた

スポンサーリンク

ESP32-DevKitCは、ESP32を簡単に利用することができるボードです。

私は、Espressif Systems純正のESP32-DevKitCではなく、その互換品のESP32-DevKitCを安いのでよく使っています。その互換品のESP32-DevKitCを使って、郵便が届いたらメールで知らせてくれる「はかり」内蔵の郵便受けを作りました。この郵便受けについて詳しくはこちらをご覧ください。

この郵便受けは、1分毎に重さをはかり、重さが変化したらインターネットに接続してメールを送信するという仕組みになっていて、一通り処理が終わったら1分間のDeepSleepに入ります。

このDeepSleep中の電流が結構大きかったので、詳しく調べることにしました。

スポンサーリンク

DeepSleep中も消費電流が大きい

試しにこのボードだけで、DeepSleep中の電流を測定してみました。このボード、DeepSleep中にもかかわらず、11.38mAも消費しています。

ESP32単体のDeepSleep中の消費電流は数uAのはずです。11mAはかなり大きな電流です。どこで、どれだけ電流を消費しているのでしょうか。

スポンサーリンク

部品を取って調べてみる

ESP32-DevKitC

ESP32-DevKitCには、ESP32の他に、電源のレギュレータICと、USBシリアル変換のICが搭載されています。

電源のレギュレータIC

AMS1117消費電流

レギュレータICにはAMS1117-3.3というICが使われています。データシートで消費電流を調べてみると、約5mA消費することがわかります。

それでは実際に取り外して、電流がどれだけ変化するか調べてみます。

取り外しにはホットエアーを使います。

YAOGONG SMDホットエアーガン リワークステーションデジタルリワークはんだ付けステーション 3 つノズル110V 700W(858D)
YAOGONG

ホットエアーは、多ピンの表面実装部品を簡単に取り外すことができるので、とても便利な工具です。

レギュレータICが取り外せました。

レギュレータICを取り外し、安定化電源から3.3Vを供給します。DeepSleep中の電流は8.15mAに減りました。

レギュレータICを取り外す前が11.38mAだったので、レギュレータICで消費されていた電流は3.23mAです。おおよそデータシート通りです。

レギュレータICをもっと低消費電流の物に変えることで、最大3mA程度電流を下げられることがわかりました。

USBシリアル変換IC

USBシリアル変換ICには、CP2102というICが使われています。

CP2102消費電流

CP2102の消費電流は、サスペンドモードになっている時で約80uAということです。

それでは、ホットエアーでCP2102を取り外してみましょう。

ホットエアーのおかげで、簡単に取り外せました。

YAOGONG SMDホットエアーガン リワークステーションデジタルリワークはんだ付けステーション 3 つノズル110V 700W(858D)
YAOGONG

DeepSleep中の消費電流は0.00mAになってしまいました。10uA以下ということです。

取り外す前が8.15mAだったので、この電流が全てUSBシリアル変換ICで消費されていたことになります。

スポンサーリンク

CP2102は消費電流が大きいのか?

CP2102消費電流

CP2102はサスペンドモード中の消費電流が80uAとデータシートに書いてありますが、実際は8mAも消費しています。データシートが間違っているのでしょうか。

評価ボードでテスト

CP2102評価ボード

偶然ですが、SILICON LABS純正のCP2102評価ボードを持っていた(しかも全く使ったことがない新品)ので、このボードの消費電流を測定してみます。

この評価ボード単体の消費電流は0.49mAでした。80uAではありませんでしたが、部品が少し載っているので、それらが消費しているのかもしれません。

互換品ESP32-DevKitCのCP2102は互換品か?

左のICがSILICON LABSの本物のCP2102です。右が、互換品ESP32-DevKitCから取り外したCP2102です。

マーキングが違いますね。互換品ESP32-DevKitCのCP2102は、本物ではなく互換品なのかもしれません。そのため、サスペンド中の消費電流が本物のように低くならないのでしょう。

スポンサーリンク

CH340Cで置き換える

互換品CP2102は消費電流が大きすぎます。しかし取り外してしまうと、プログラムの書き換えができなくなってしまいます。

そこで、先日作ったCH340Cを使った書き込み機をつなぐことを検討します。CH340Cの書き込み機についてはこちらをご覧ください。

CH340Cの書き込み機だけの消費電流を測定したところ、15.8uAでした。SILICON LABの本物CP2102よりもかなり省電力です。

DeepSleep中の電流

ESP32-DevKitCにCH340Cの書き込み回路を接続し、DeepSleep中の電流を測定してみました。結果は18.8uA。これはすばらしい値ですね。

ESP32-DevKitCのUSBシリアル変換ICをCH340Cに変えるだけで、消費電流を劇的に下げることができます。

スポンサーリンク

違うESP32-DevKitCの消費電流も調べてみる

左がこれまで調べてきた互換品のESP32-DevKitCです。右もESP32が載っていない互換ボードですが、CP2102が本物っぽいです。このボードの消費電流も測ってみます。

結果は3.41mA。レギュレータICが3.2mAくらいだったので、CP2102の消費電流は0.2mA程度ということになります。

スポンサーリンク

まとめ

各ICの消費電流

互換品のESP32-DevKitCのDeepSleee中の消費電流は、11.4mAとかなり大きめなことがわかりました。

原因は

  • レギュレータICが3.2mA
  • 互換品CP2102が8.2mA

消費しているといることが原因でした。

本物のESP32-DevKitCの場合、

  • レギュレータICが3.2mA
  • CP2102が0.2mA

消費していました。

さらに、レギュレータICを使わず、CP2102をCH340Cの回路にすることで、DeepSleepの電流が18.8uAと劇的に下げられることがわかりました。

郵便受けも改造

早速、郵便が届いたらメールで知らせてくれる「はかり」内蔵の郵便受けの、ESP32-DevKitCのCP2102を取り外しました。レギュレータの代わりにDCDCコンバータを使っています。CP2102を取り外すことで、DeepSleep時の消費電流は0.07mAになりました。このDCDCコンバータについて詳しくはこちらです。

DeepSleep中の消費電流が70uAになったことから、バッテリー動作でもかなり長寿命になると思います。どのくらい寿命が伸びるか、しばらく様子を見たいと思います。

2021.4.30追加 つづき  HX711の省電力化もしてみました。

追加終わり

電池2,3本で動作するESP32-DevKitC互換機ができました👇👇!!