ロボットと暮らす:LiPoバッテリーの安全管理とDB化の試み
ロボットを動かす上で、避けて通れないのがバッテリーの管理です。特に古いホビーキットである「ロビ」を複数台運用したり、将来的な群制御を見据えたりする中で、汎用的な充電器の使い勝手の悪さや、バッテリーの寿命管理にモヤモヤを感じているエンジニアは多いのではないでしょうか。
今回は、RC用などのLiPoバッテリー(リポバッテリー)の基本的な特性とリスク、そしてそれを自作のスマート充電ステーションとPostgreSQLデータベースでスマートに管理するアプローチについてまとめました。
なぜリポバッテリーの管理は難しいのか?
リチウムポリマー(LiPo)バッテリーは、高出力で軽量という圧倒的なメリットを持つ一方で、扱いを誤ると発熱や発火のリスクがあるデリケートなエネルギー源です。
特に頭を悩ませるのが以下のポイントです。
- 過放電に弱い: 限界電圧を下回って使い続けると、セルが致命的なダメージを受けます。BMS(保護回路)が内蔵されている場合もありますが、頼り切っているとスリープ・ロック状態に陥り、充電器が「0Vのゴミ」と誤認して受け付けなくなるトラブルが起きます。
- 保管時の電圧(ストレージ電圧)の重要性: 満充電(4.2V/セル付近)のまま数週間放置すると、内部の化学劣化が急激に進みます。かといって使い切った状態も危険なため、保管時はストレージ電圧(3.8V/セル付近、2Sなら約7.6V〜7.8V)に調整する必要があります。
- 汎用充電器のUIと機能のミスマッチ: 市販のホビー用マルチチャージャー(パーフェクト・ネオ V3など)は優秀ですが、バランスコネクタが必須だったり、電圧が落ちすぎたバッテリーを一律でエラーとしてはじいてしまったりと、専用の小容量バッテリー(ロビ用など)の運用ではかえって不便な面があります。
「専用充電器」のストレージ管理のジレンマ
ロビに付属しているような専用充電器を観察すると、これがなかなかよくできています。
- プレチャージ(復活動作)機能: 電圧が低下したバッテリーに対し、最初から大電流を流さず、微小な電流で安全に電圧の回復を試みます(赤LEDの短点滅)。
- 状態の識別: 電圧の立ち上がり方を見て、「ただの長期放置による過放電」なのか「内部短絡(ショート)」なのかをLEDの点滅パターン(赤LEDの超点滅)で判別してくれます。
しかし、こうした専用充電器は「安全に起こして満タンにする」方向には特化しているものの、イベント後などに満タンのバッテリーを「ストレージ電圧まで適度に放電させる機能」は持っていません。
そのため、現場の運用としては以下のような役割分担が必要になります。
- 充電・復旧: 専用充電器の優秀なプレチャージ&充電アルゴリズムに任せる。
- 放電・保管管理: 満タンのバッテリーを適切なストレージ電圧に落とすための仕組み(あるいは負荷装置)を別途用意する。
なお、動作に関してはパーフェクト・ネオ V3で警告の出たバッテリーを純正充電器に接続した際の挙動からの推測になります。あと、「ロビの充電して」、「疲れちゃった」辺りがこれらの電圧の閾値なのかな?調べたこと無いのだけど...
すべてをデータ化する:DBによるバッテリー管理
個体数が多くなると、「このバッテリーはいつ買ったっけ?」「何回くらい使ったっけ?」という管理の破綻が起きます。そこで、テプラで個体ID(例: Robi-001)を貼った上で、すべての状態をPostgreSQLデータベースで一元管理するシステムを構想しています。

今後の展望:ハードウェアの改造とスマート化
今後は、この運用をさらに進めるために以下のステップを計画しています。
- 充電器のスマート化(ハードウェア改造): ロビ用充電器を分解し、AC一次側にガラス管ヒューズ(1A〜2A)を新設。内部にRaspberry piやpicoなどの小型マイコンと、電圧・電流センサー(INA226)、温度センサー(DS18B20)を組み込みます。
- IoT自動ロギング: 充電ステーションにバッテリーを挿すだけで、マイコンがリアルタイムに電圧・電流・温度を計測し、Wi-Fi経由でPostgreSQLへデータを自動送信する仕組みを構築します。
- 将来の拡張(ロボット&サーボ管理): バッテリーだけでなく、ロビ本体(
robots)やサーボモーター(servos)の来歴や累積負荷量もデータベースに紐付け、ゆくゆくは部品のローテーションによる予兆保全(プレディクティブ・メンテナンス)へとつなげていきます。
おわりに
レトロなホビーキットと、現代のクラウド・データベース、そしてIoT電子工作の組み合わせ。これは知的好奇心を刺激する最高の大人の遊びかなと思い計画しています。
「まずは充電器を1台バラして、1個のバッテリーのログを取る」という小さな一歩から、安全でスマートなロボット運用環境を作っていきたいと思います。

