現時点の情報です。最新情報は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ボルトぐらい低下していますので、数日はもちそうです。
ただ、実験時間が長くなりすぎたので、データの取りまとめはしたいと思いますが、中国から取寄中の電流計を使った、消費電流測定を今後行っていきたいと思います。





コメント