上記は、3秒スリープ試験結果のブラウザ画面である。44時間4分42秒、ブート39065回でバッテリーを費やした。(44 x 3600 + 4 x 60 + 42) / 39065 ≒ 4.062秒となり、プロトコル時間は、この値からスリープ時間3秒を引いて1.062秒であった。この結果から、5秒スリープなどの連続駆動時間を次のように単純推定できる。

ただし、USB-UART変換デバイスなどは、常に電力を消費しているので、推定値まで伸びるとは考えられない。

  • 5秒スリープ :(5 + 1.062) x 39065 ≒ 236812秒 ≒ 66時間 = 2日18時間
  • 10秒スリープ:(10 + 1.062) x 39065 ≒ 432137秒 ≒ 120時間 = 5日0時間
  • 30秒スリープ:(30 + 1.062) x 39065 ≒ 1213437秒 ≒ 337時間 = 14日1時間
  • 60秒スリープ:(60 + 1.062) x 39065 ≒ 2385387秒 ≒ 663時間 = 27日15時間

使用したバッテリーが劣化せずに満充電で3200mAhを維持し、ESP32のディープスリープ時と周辺回路の消費電流の合計が10mAと仮定する。そして、ESP32のプロトコル時間内平均電流を未知数Protとする。3秒スリープの実験結果から次の式が得られる。

3200mAh = 3200 x 3600mAsec = (10mA x (3 + 1.062)sec + Prot x 1.062sec) x 39065

Prot = (3200 x 3600 / 39065 – 40.62) / 1.062 ≒ (294.89 – 40.62) / 1.062 ≒ 239.429mA

5秒スリープでのプロトコル時間が、3秒スリープと同じとすれば、ブート回数Bootsと連続駆動時間は以下となる。

3200 x 3600 = (10 x (5 + 1.062) + 239.429 x 1.062) x Boots

Boots = 3200 x 3600 / (60.62 + 254.274) = 3200 x 3600 / 314.894 ≒ 36584

連続駆動時間は、36584 x 6.062 ≒ 221772sec = 61時間36分12秒

スリープ時間10秒、30秒、60秒で同様の計算を行うと、下記の表になる。

スリープ(秒) ブート回数 駆動時間(秒) 駆動時間(日時分)
3 39065 158682 1日20時間05分
5 36584 221772 2日13時間36分
10 31571 349238 4日01時間01分
30 20393 633447 7日07時間57分
60 13320 813346 9日09時間56分

個々のセンサデバイスのバッテリー交換に関しては、前回の交換日時をメモしておいて、そこからの経過時間を計算しても良いが、ブート回数を指標として、その9割程度に達したときを目安として使えるだろう。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です