14
11

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

情報通信システム工学科Advent Calendar 2018

Day 9

ESP32を省電力で使いたい

Last updated at Posted at 2018-12-08

今回は情報通信システム工学科 Advent Calendar 2018の9日目です。8日目はdaiさん(@dainbe)がラズパイについて書いたので、今回はラズパイに対抗してESP_WROOM_32(以下ESP32)についてです。

#まえがき
ESP32はWiFiやBluetoothが使え、ESP IDF以外にもArduino IDEやPythonで書けて便利です。しかし高機能であるため消費電力も他のマイコンの比にならないくらい多いです。定点観測カメラなどバッテリー駆動で動かしたい場合は一定周期で起動し、必要な処理を終えたら低消費電力のSleepモードに移行するのが賢明です。
//ESP32にはESP_WROOM_32やらESP_WROOM_32DやらESP_WROVER_32やらのバージョンがありますが基本的には同様の動作をするはずです。

#データシート
 まずはデータシートを確認します。
Table5より、5つの動作モードがあることが分かります。
・Active mode
・Modem-sleep mode
・Light-sleep mode
・Deep-sleep mode
・Hibernation mode

通常起動ではModem-sleep、コード上でWifi.begin()とかするとActiveに、sleep()とかするとLight-sleepに入ると思います。この3つのモードはメインのCPUが動作している状態なので消費電力が比較的大きいです。
Deep-sleepに入るとメインのCPUは停止するのでプログラム自体が終了しますが、コプロセッサからリセットをかけることは可能なようです。コプロセッサも停止させるとHibernationになります。
コプロセッサはアセンブラで書かなければならないらしいので今回はパスします。

#機材
ESP32_Core_board_V2
Arduino IDE
不燃性酸化金属皮膜抵抗 0.1Ω 3W
HX711使用 ロードセル用ADコンバータ モジュール基板

#実験
//実際に消費電流を測定します。
//詳しい結果が出たら追記します。

今回はESP32のボードを電池駆動させることを主眼に置く為、core boardのmicroUSB端子を通過する電流を測定します。
データシート上ではActive modeでWi-Fi Tx packet 13dBm~21dBmのときに160~260mAとなっています。

キャプチャ.PNG
今回は実験装置としてこのような回路を考えます。
右側のUSBコネクタにESP32測定対象をUSBケーブルで接続し、A点とB点の電位差を測定し抵抗値で割ることで通過した電流を求める事ができます。
この回路では500mAが流れた時に0.5*0.1=0.05Vの電圧降下が生じることになりますが、ボード上の3端子レギュレータの動作範囲を割ることは無いので恐らく大丈夫でしょう。それよりも重要なのは測定装置の分解能です。データシート上の最低電流はHibernation modeの5μAです。これを測定するためには並のテスターの分解能では測定できません。今回は24bitADCを使うことでギリギリ測定範囲内に収めることにしました。

#参考
https://trac.switch-science.com/wiki/esp32_tips
https://docs.espressif.com/projects/esp-idf/en/latest/api-guides/ulp.html

#おわりに
ESP32はラズパイには劣りますがPICやArduinoよりも高機能です。
setupにWiFi.begin()を書いた後にPOSTしてやればラズパイよりも簡単にWiFiのログイン認証を通せそうな気がします。
次は大木君(@2357gi)の機械学習にバトンタッチします。ところでESP32は安価なので大量に並列化して機械学習用のスパコンにできたりしないですかね?

14
11
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
14
11

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?