現時点の情報です。最新情報はM5StickC非公式日本語リファレンスを確認してみてください。
概要
前回に引き続き、バッテリー駆動時間の計測をしてみました。
ディープスリープ
#include <M5StickC.h> void setup() { setCpuFrequencyMhz(240); M5.begin(); M5.Axp.ScreenBreath(12); M5.Lcd.fillScreen(WHITE); Serial2.begin(115200, SERIAL_8N1, 0, 26); Serial2.println(M5.Axp.GetBatVoltage()); // 画面を消す M5.Axp.ScreenBreath(0); // 60000000us = 60sのタイマー設定 esp_sleep_enable_timer_wakeup(60000000); // ディープスリープ esp_deep_sleep_start(); } void loop() { }
条件 | 動作時間 | 比 |
1分間隔タイマー | 10.5 | – |
5分間隔タイマー | 12.3 | 117% |
上記のコードだと半日しかバッテリーが持ちませんでした。1分と5分であまり動作時間に変わりがないのでCPU動作よりも、他の要因でバッテリーがなくなっていると推測することができます。
おそらく画面だけ一番暗くしていますが、AXP192が動いたままなのが原因な気がしますが未検証です。
AXP192側の条件を変えた検証を今後したいと思いますが、現状のバージョンだとAXP192クラスの動きがおかしいので、そこから検証しないといけない気もします。。。
まとめ
予想以上に長期稼働は難しそうに思えました。
ただ「M5StickCの消費電流 その2」で電源オフと、タイマーでのディープスリープで4.5mAの差があったので、80mAhのバッテリーだと長くても17時間程度しか動かないことになります。
タイマー起動だと、ESP32には電源供給せずにAXP192上のタイマーだけで管理したほうが省電力になりそうです。ちょっとAXP192のデータシート見直して、実験計画を組み直したいと思います。
これとは別に自然放電も測定していますが、一時間で0.02ボルトぐらい低下していますので、数日はもちそうです。
ただ、実験時間が長くなりすぎたので、データの取りまとめはしたいと思いますが、中国から取寄中の電流計を使った、消費電流測定を今後行っていきたいと思います。
コメント