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

【自作基板 / JLCPCB】リポバッテリー残量ゲージIC、MAX17048を使ったブレークアウトボードの製作!

最近、リポバッテリーを使った自作基板製作の機会がなにかと増えてきました。

手軽に使える1セルリポバッテリーは、乾電池などを複数本使うよりも小型・軽量で扱え、昇降圧により3.3Vや5Vのマイコン駆動にも対応しやすく、またUSB経由での充電も手軽に行えたりと何かと便利です。(取り扱いには注意が必要です!)

自作基板の製作やそのテスト段階でリポバッテリーを扱うことが多くなってきたことから、最近はこれに関連する電源ボードや保護ボードなども製作していました。

入力側に接続するバッテリーの極性をフリーにすることで、接続間違いが起こらないよう考慮したこのようなボードは、テスト回路を組む際に非常に便利に使えています。

【自作基板 / JLCPCB】逆接続でも使える!極性フリー設計の1セルリポバッテリー保護ボードの製作
【自作基板 / JLCPCB】リポバッテリーを安全に使うためのブレッドボードDIP基板の製作!入力極性フリーに改良しました(V1.2)

ただ、バッテリーを消費する負荷がかかった状態では、負荷電流やバッテリー内部抵抗の影響によって端子電圧が変動するため、単純な電圧測定だけでは正確なバッテリー残量を予測することが難しく、例えば「テスターで測った電圧表示はまだ余裕があるのに急に電源が落ちる」なんてことも起こりがちです。

実際、リポバッテリーは放電中の負荷電流や温度によって端子電圧が変動しやすく、また残量に対する電圧変化も直線的ではないため、単純にセル電圧だけを見ても必ずしも現在の残量を正確に把握できるわけではありません!

そのため、単純な電圧測定ではなくバッテリーの放電特性を考慮したバッテリー残量(SoC: State of Charge)を高精度に推定できる「フュエルゲージIC」も使ってみようと考えていました。

いくつか候補をピックアップした中で、入手性が良く、外付け部品が少なく、I2C経由で電圧や推定残量などを手軽に取得できる『MAX17048』が扱いやすそうだったので、今回はこのチップを使ったブレークアウトボードを製作してみることにしました。

ブレッドボードや既存ボードなどへの組み込み、また充電チップとの連携も手軽に行えるボード構成を目指しました。

残量ゲージIC『MAX17048』を使ったブレークアウトボードの製作!

MAX17048とは?

MAX17048は、1セルのリチウムイオン/リチウムポリマーバッテリー向けのフュエルゲージIC(残量ゲージIC)です。

単純な電圧測定だけではなく、独自のアルゴリズムによりバッテリーの放電特性や負荷変動を考慮しながら推定残量(SoC: State of Charge)を高精度に算出することが出来ます。

一般的な残量計測ICでは、シャント抵抗(電流検出抵抗)を挿入して充放電電流を積算する方式のものもありますが、部品点数の増加やバッテリー特性を学習させるための充放電サイクル(Learning Cycle)が必要になることがあります。

一方MAX17048では、ModelGaugeアルゴリズムにより電流検出抵抗が不要で、外付け部品もほとんど追加することなく残量推定を行うことができます。

そのため回路構成を非常にシンプルにでき、自作基板への組み込みもしやすそうです。

I2C経由でセル電圧、推定残量(SoC)、充放電レート(CRATE)などを取得できるほか、残量低下や低電圧時のアラート出力機能も備えています。

実際に使用してみると、バッテリー接続直後から比較的安定した残量推定が利用できるようです。
これはなかなか便利ですね!

これまでリポバッテリーを扱う自作マイコンボードなどを製作する際は、空いているGPIOピンのADC機能を利用して抵抗分圧回路を追加して、バッテリー電圧を計測していました。

この方法でも電圧監視用途としては十分実用になりますが、単純な電圧値だけでは実際のバッテリー残量を正確に把握することはなかなか難しいものです。

その点、専用のフュエルゲージICを使うことで、セル電圧だけでなくバッテリーの推定残量(80%など)といった情報も簡単に取得できるため、より扱いやすくなりそうです。

また、MAX17048自体の消費電流は非常に小さく、アクティブ時で約23µA、休止状態では約3µAと低消費電力なため、バッテリー駆動機器へ組み込みやすいICとなっています。

本テストボードを製作して実際に使ってみるとかなり便利だったことから、負荷がどれくらいの放電率で動作しているのかといったことを視覚化できる、このようなボードも後に製作しました。

残量やセル電圧だけでなく、「実際にどれくらいバッテリーを消費しているのか?」「動作状態によってどの程度バッテリー負荷が変化するのか?」といったことを把握できると、バッテリー駆動時間の見積もりや省電力化の検討にも役立ちそうです!

シャント抵抗が接続されていないため実際の電流値までは計測できませんが、例えば負荷側(対象ボード)が休止状態の時にどれくらいの放電率があるのか、また無線通信時などにどの程度放電率が増加するのか、といった変化を視覚的に確認できるようになり、とても便利です!(別記事で詳しく紹介する予定です)

MAX17048を扱った評価・ブレークアウトボードは、Adafruit製のものやその互換ボードが多数販売されているようです。

必要な機能を手軽に試すだけであれば既製品を利用する方法が一番簡単ですが、今回はブレッドボード上での扱いやすさを考慮し、また他の充電ボードや電源管理ボードなどと組み合わせた連携、外部マイコンへの接続もしやすい構成でテストボードを自作することにしました。

ボード設計

MAX17048は1セル専用のフュエルゲージICですが、同一パッケージ品として2セル専用のMAX17049もあります。

せっかく基板を製作するので、本ボードでは両チップに対応させることにしました。

MAX17048(1セル専用)MAX17049(2セル専用)では、CELLピンとVDDピンの扱いが少し異なっています。

MAX17048ではVDDピンへバッテリーのプラス端子を接続して電圧測定を行いますが、MAX17049ではCELLピンが電圧測定入力となりVDDピンはチップ動作用電源として使用されます。(MAX17048のCELLピンは内部未接続)

本ボードでは、ボード背面のジャンパ接続によって切り替え、どちらのチップでも使えるようにしました。(デフォルトはMAX17048設定)

各ピンの耐圧なども変わってくるので、詳しくはデータシートを参照下さい!

参考 MAX17048/MAX17049 データシートANALOG DEVICES

あとは、I2Cライン(SDA / SCL)のVCCレベルでのプルアップ、イベント通知用のALRTピン(オープンドレイン)のプルアップ、現在のバッテリー状態を元に残量推定を再評価するためのQSTRT(Quick-Start)ピンを通常では無効状態にしている、というシンプルな構成のボードになりました。

ブレッドボードでの接続を容易にするため、バッテリー端子はJST-PHコネクタを2つ用意し、さらにブレッドボード側へ直接引き出したピンも追加しました。

コネクタのどちらかへバッテリーを接続し、未使用側のコネクタまたはピンヘッダー側へ外部からの充電回路を接続するといった使い方ができます。

以上が本ボードの構成です。

シンプルな構成ではありますが、外部に接続した充電回路やマイコンなどとの連携も考慮しており、試作や実験用途では便利に使えそうです。

注意
本ボードは、リポバッテリーを扱うボードとなります。
リポバッテリーは、取り扱いを誤ると発熱・破損・発火などの危険があります。
製作や実験は十分注意し、保護回路付きバッテリーの使用や極性確認などを行った上で自己責任にてお願いします!

JLCPCBに基板を発注

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

シンプルなボードではありますが、基板データ(Gerber / BOM / CPL)をダウンロードできるようにしておきます。
何かの参考になれば幸いです。

今回はアセンブリサービス(PCBA)を利用して、パーツの実装までをJLCPCB側で行ってもらいました。

このようなシンプルなテスト基板であれば、PCBAを利用しても5枚で約25ドルほどで製作でき、さらに10日かからずに届いてしまうので検証用途としてはとても便利なサービスです!

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

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

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

【自作基板 / 電子工作】JLCPCBのパーツ実装サービスPCBAを試してみました!自作基板の製造からパーツ実装までをおまかせ発注
JLCPCBのパーツ実装サービス『エコノミックPCBA』と『標準PCBA』について!

配送方法にOCS Expressを選択し、他の基板もいくつか一緒に発注していたのですが、発注完了から10日で実装済み基板が手元に届きました。

未実装のピンヘッダーを取り付けて基板は完成です。

基板単体で発注する場合と比べると多少コストはかかってしまいますが、ICチップの入手や細かなチップ部品の手配を個別に行う必要がなく、部品調達や実装の手間を大幅に減らせて、届いたらすぐにテストや検証を行えるのが良いですね!

何かメインの基板を発注するタイミングでこのような実装済み検証用基板を最近よく一緒に発注するようになりましたが、追加分としてまとめて載せてしまえば送料の負担も増えず、個人的にはかなり便利に感じています。

【自作基板 / JLCPCB】自作基板の下準備。PCBAでDIP化基板を作り、チップ待ち・実装待ちを解消し試作時間を短縮する!

使用パーツ一覧

今回使用したパーツの一覧です。

自身で部品を手配して製作される場合は、参考にして頂ければと思います。

パーツ定数入手先
コンデンサ
(0603)
C1 100nF
C2/C3 1μF
AliExpress
LED
(0603)
D1 PWR LEDAliExpress
バッテリー端子J1/J2 JST-PH(2P SMD)AliExpress / 秋月電子
抵抗
(0603)
R1/R2/R3/R4 10kΩ
R5 2kΩ
AliExpress
Fuel Gauge ICU1 MAX17048(TDFN)AliExpress
その他ピンヘッダーーーー

【追記】MAX17048を使ったリポバッテリー残量計モニターを製作してみました!

バッテリーへ接続した負荷の消費による残量(%)の変化やバッテリー消費率(%/h)をリアルタイムでモニターできるボードを製作してみました。

試作回路の消費電力評価やバッテリー容量選定などで便利に使えるツールとなりました!

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

【追記】フューエルゲージIC「BQ27441」も試してみました

今回試してみたMAX17048は、外付け部品が少なく比較的手軽に利用できるのが特徴で、セル電圧や残容量など基本的なバッテリー情報を取得したい用途では非常に扱いやすいチップでした。

同様なフューエルゲージICとしてBQ27441も試してみました。

BQ27441では、電流検出用シャント抵抗を使用したクーロンカウンタ方式なのが大きな違いになります。

基本的な残量表示だけでなく、フル充電時容量(mAh)や劣化状態(%)といった、より詳細なバッテリー状態も確認・推測することも出来ます。

【JLCPCB】JLCPCBに発注していたリポバッテリー検証用ボードが届きました! [BQ24075 / BQ27441]

最後に!

今回は、1セルリポバッテリー向けフュエルゲージIC「MAX17048」を使ったブレークアウトボードを製作してみました。

これまでは、抵抗分圧とマイコンのADCを利用してバッテリー電圧を監視することが多かったのですが、単純な電圧値だけではなかなか実際の残量を把握しにくい場面もあります。

MAX17048といった専用チップを利用することで、セル電圧だけでなく推定残量(SoC)や充放電レート(CRATE)、各種アラート機能なども簡単に利用できるようになり、小型のバッテリー駆動機器にはかなり便利そうな印象でした。

外付け部品も少なく回路自体もシンプルなので、自作基板への組み込みもしやすそうですね。

また、より詳細なバッテリー情報の取得や実際の充放電電流・残容量(mAh)などを扱えるフュエルゲージICも存在しているので、こうした別チップについても試してみたいと思っています。

1 COMMENT

コメントを残す

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