11月25日発売 書籍『Arduinoと3Dプリンタでロボットを作ろう』を出させて頂きました!

【自作基板 / JLCPCB】リポバッテリー残量計モニターの製作① [ボード設計 – 基板発注]

最近の自作基板製作では、リポバッテリーを扱う機会が何かと増えてきました。

乾電池などと比べると小型ながら大きな電力を取り出せることや、エネルギー密度が高く機器の小型化にも有利なため、電子工作でも使いやすい電源のひとつです。(取り扱いには注意が必要です)

しかし、リポバッテリーを扱う機器では、セル電圧だけでバッテリー残量の推定や充放電状態の確認を行うことは難しくなります。

一般的にバッテリー電圧や残量表示では、抵抗分圧回路を使ってマイコン等のADCで測定し、その値から推定する方法がよく使われていると思います。

例えば、1セルリポバッテリーでは満充電時が約4.2V、放電終止付近が約3.0V程度となるため、電圧をそのまま割合換算して残量表示するといった具合です。

しかし実際のリチウムイオン系バッテリーの放電特性は直線的ではなく、多くの容量帯域では電圧変化が比較的小さく、終盤になると急激に低下するといった特性を持っています。

さらに負荷電流が変化すると、バッテリー内部抵抗の影響によって電圧が一時的に低下するため、例えば以下のような現象も起こり得ます。

  • モーターや無線送信時だけ急に電圧が下がる
  • 負荷を停止すると電圧が回復する
  • 電圧だけでは残量推定が安定しない

実際にこれまで製作した試作回路を評価していると、瞬間的な電圧低下で残量表示が大きく変動してしまったり、まだ十分残っていると思っていたのに急に電源が落ちるといったことも起きたことがありました。

最近ではリポバッテリーを扱う機会が増え、そういったことも気になっていたので、以前からバッテリー残量計IC(Fuel Gauge)をいくつか試していました。

【自作基板 / JLCPCB】リポバッテリー残量ゲージIC、MAX17048を使ったブレークアウトボードの製作!
【JLCPCB】JLCPCBに発注していたリポバッテリー検証用ボードが届きました! [BQ24075 / BQ27441]

残量計IC(フューエルゲージIC)は、単純な電圧監視だけではなくバッテリーへの充放電量を積算したり、バッテリー特性モデルを利用することで、より実際の状態に近い残量推定などを行うことができます。

例えば、現在のバッテリー電圧(V)や電流(mA)意外にも、残量(% / mAh)や充放電率(% / h)といった情報を取得することもできます。

専用チップということもあり、高い精度でバッテリー状態の推定や各種情報の取得が行えるため、試作や評価用途で使ってみると非常に便利でした。

フューエルゲージICを使ってテストを行い一通り理解も深まったので、今回はMAX17048をベースに、リポバッテリーの残量や充放電率などをリアルタイムで確認できるモニターボードを製作してみることにしました。

リポバッテリー残量計モニターの製作

自作基板製作では、いつも試作回路を一旦組んで動作検証を行っていますが、リポバッテリーを扱う際は実際に組んだ回路(負荷)へバッテリーを接続し、消費電流や駆動時間などを確認しながらテストを行っていました。

例えば、「100mAhのバッテリーでは1時間程度しか駆動できなかったので、もう少し容量の大きいバッテリーへ変更しよう」や「待機時の消費電流が思ったより大きいので、回路を改善する必要がある」といった具合です。

デジタルマルチメーター等を接続して測定することもできますが、その都度測定環境を用意する必要があり、長時間の消費変化や実際のバッテリー消費量を確認するには少し手間がかかっていました。

そこでこれらを自動で計測できると、例えばバッテリー消費率(%/h)が分かれば、1時間あたりに何%バッテリーを消費しているのかを把握できるため、「このバッテリー容量なら◯時間程度駆動できそう」といったことが簡単に予測できます。

また、待機時(電源OFF時)にもバッテリー消費率が比較的高くなる場合は、試作回路側の漏れ電流や不要な待機電流が発生している可能性があるため、回路構成や電源設計などを見直す必要があるといったことも分かります。

このように、単純にセル電圧を見るだけではなく、消費状況を継続的に可視化できると、試作段階での消費電力改善やバッテリー容量の選定などかなり行いやすくなります。

ボード設計・コンセプト

今回製作したリポバッテリー(1セル専用)の残量計モニターボードがこちらになります。

Fuel Gauge ICとしてMAX17048を使用し、私がこれまで試作段階で最低限欲しかった、バッテリー電圧(V)現在の残量(%)バッテリー消費率(%/h)をモニターできるシンプルな構成で製作したボードとなります。

左側の[IN端子]にリポバッテリー(1セル)を接続し、右側の[OUT端子]に負荷を接続することで、負荷側のバッテリー消費状態をリアルタイムでモニター出来るというものです。

計測時には、本ボード上のマイコン(CH552P)やOLEDディスプレイ、ステータスLEDなどもわずかに電流を消費します。

バッテリー単体でも本ボードを駆動させ計測することは可能ですが、その場合はボード自身の消費分も測定結果へ含まれてしまいます。

そこで外部電源としてUSBを接続した場合は、ボード側で消費するこれら電力を自動的にUSB側から供給する構成にしました。

外部電源(USB接続)を使用することにより、負荷回路のみのバッテリー消費量をより正確に測定出来るようにしています。

また、実際に試作回路で使用することを考えると、バッテリーを何度も交換したり外部充電器へ接続し直したりするのは少し面倒です。

そのため今回は、バッテリーの充電機能もあわせて搭載しました。

これらの機能を1枚の基板にまとめることで、負荷側(試作回路)へバッテリーを供給しながら、バッテリー残量(%)や電圧(V)、バッテリー消費率(%/h)の変化を本ボード上で確認でき、また必要であればそのまま充電も行える構成を目指しました。

言ってしまえば、「バッテリーを接続するだけで、負荷側の状態を可視化できる簡易測定ツール」のようなイメージです。

本ボードを作成し、ハードウェア的に問題がないことを確認でき、ファームウェアの作成も完了したため、現在実際に使用しています。

これまで感覚的に「消費が多そう」「バッテリーが持たなそう」と判断していた部分も、バッテリー消費や待機時の消費の傾向を数値として確認できるようになったため、試作回路の評価やバッテリー容量の選定などがかなり行いやすくなりました。

個人的にはかなり便利なツールに仕上がったと思うので、現在このような専用プレートの製作も進めています。(製作が完了したら追記する予定です)

JLCPCBに基板を発注

基板の製造は、今回もJLCPCBを利用しました。

ブレッドボード上での試作・テストでは特に問題がなかったため、今回はアセンブリサービス(PCBA)を利用しパーツの実装までをJLCPCB側で行ってもらいました。

部品点数がそれなりに多いことや、小型パッケージ部品も含まれていたため、手実装の手間や実装ミスを減らせる点に加え、基板到着後すぐに動作確認や検証作業へ移れる点でも、PCBAの利用はかなり便利なものでした。

実際に届いた基板についても、ハードウェア的な問題は特になく、想定通り動作することが確認できました。

現在はファームウェアの作成も完了し、実際に使用しながら評価を進めています。

次回記事では、ファームウェアの書き込み方法や使用方法なども紹介できればと思っています。

また、いつものように基板データやパネルデータなどもダウンロードできるようにしておく予定です。

JLCPCBへの基本的な基板発注方法については、こちらの記事で詳しくまとめています。

【電子工作 / 基板製作】これから始める自作基板。JLCPCBでの基板発注ガイド(2025年版)

また、PCBAの利用方法に関しては、こちらの記事が参考になると思います。

あわせて見て頂ければと思います。

【JLCPCB】自分で設計しなくてもOK!オープンソース基板をJLCPCBのPCBAサービスを利用して実装済み基板を発注する手順

実装済み基板の到着

配送方法にOCS Expressを利用して、発注から10日かからずに実装済み基板が手元に届きました。

本当にJLCPCBのPCBAサービスは納期が早いんですよね…!
通常の基板発注とほぼ変わらない感覚で、部品実装済みの状態で届くこのスピード感には毎回驚かされます。

特に試作段階では、「回路修正 → 基板発注 → 動作確認」という流れを何度か繰り返すことになるため、基板到着までの期間が長いと、その分だけ開発全体も止まってしまいます。

PCBAを利用すると、基板が届いた時点で既に主要部品の実装が完了しているため、到着後すぐにファームウェアの書き込みや動作確認、検証作業へ移ることができるのもいいですね!

今回の基板についても、到着後にピンヘッダーやスイッチなどの未実装パーツを取り付け、そのまま電源投入・動作チェック、そしてファームウェアの作成へと進めることが出来ました。

最後に!

今回は、リポバッテリー残量計モニターボードの製作背景や設計コンセプト、基板発注から実装済み基板の到着までを紹介しました。

最初は単純にバッテリー残量を確認する程度のものを考えていましたが、実際に使ってみると、これまでの試作・評価環境では思っていた以上に便利なボードに仕上がりました。

今回は少し長くなってしまったので、次回の続編記事ではファームウェアの書き込みや完成までの流れ、また使用方法なども紹介したいと思います。

また、実際に使ってみて個人的にかなり気に入ったこともあり、製作当初は考えていなかったパネルの製作も進めています。

こちらについても、使用感などをあわせて紹介できればと思っています。

コメントを残す

メールアドレスが公開されることはありません。