使っている式

平均電流 = Σ(Ii × ti) / Σti
使える容量 = 公称容量 × 使える割合
寿命 = 使える容量 / (平均電流 + 自己放電の電流換算)

自己放電の電流換算 = 容量 × (%/月) / (30.44 × 24)
Cレート = 電流[mA] / 容量[mAh]

時間の割合と電荷の割合はずれます

ロボトレース機の例で考えます。走行 2500mA を 120秒、待機 45mA を 600秒。

状態電流時間の割合消費電荷の割合
走行2500 mA16.7%91.7%
待機45 mA83.3%8.3%

時間では待機が8割を占めるのに、電荷では走行が9割を食っています。待機電流を半分にしても寿命は4%しか伸びません。走行電流を10%削れば9%伸びます。どちらに手をかけるべきかは明らかです。

このツールでは消費電荷の内訳を帯グラフで表示し、5%未満の状態は 「ここを改善しても変わらない」と明示します。省電力の作業を無駄にしないためです。

公称容量はそのまま使えません

カタログの mAh は、決められた放電レートと温度、決められた終止電圧までの値です。実際には次の 理由で下回ります。

  • 終止電圧:レギュレータのドロップアウトに先に当たれば、そこで使い切りです
  • 放電レート:大電流で引くと取り出せる容量が減ります(Peukert 効果)
  • 温度:低温では内部抵抗が上がり、容量が落ちます
  • 劣化:サイクル数と保管状態で減っていきます

このツールは「使える割合」でまとめて見込む形にしています。Li-Po なら 80%、 アルカリ乾電池やコイン電池なら 70% あたりが出発点です。実測で校正してください。

Cレートの確認を忘れないでください

容量が足りていても、瞬間的に引ける電流には限りがあります。CR2032 は容量 220mAh ありますが 許容放電電流は数mA程度で、パルスで数十mA引くと電圧が大きく落ちてリセットします。寿命の計算が合っていても動かない典型例です。

このツールではピーク電流を Cレートに換算し、指定した上限を超えたら警告します。

長期スリープでは電池自体が支配的になります

スリープ電流を 1µA まで削っても、電池の自己放電が 3%/月 あればそちらが支配的です。 2200mAh の電池で 3%/月 は約 90µA 相当。回路を100倍改善しても意味がありません。 このツールでは自己放電が平均電流の20%を超えると指摘します。 年単位で動かすなら、回路より電池の選定が先です。

含んでいない要素

  • Peukert 効果の定量化(「使える割合」に丸めています)
  • 放電カーブの形。電圧が下がる過程での回路側の電流変化
  • 温度の影響、内部抵抗の増加
  • 昇圧・降圧コンバータの効率の負荷依存性。軽負荷では効率が大きく落ちます