2023年3月20日に
ChatGPTに聞いてみた リチウムイオン/リチウムポリマー電池用充電制御ICと電池残量モニタICを組み合わせた回路
という記事を書きました。
この記事はChatGPTに
リチウムイオン/リチウムポリマー電池用充電制御IC MCP73831T と
電流残量ゲージ用IC MAX17048
の使い方の質問をした記事で、実際に回路の設計及び基板の製作はやっていませんでした。
今回この内容でSpresense用の拡張ボードを作ってみました。
テストプログラム
電流残量計測のライブラリとして
adafruit Adafruit_MAX1704X を使用していますので
ライブラリのインストールを行ってください。
テストプログラムはこのライブラリのサンプルプログラム MAX1704_basic
を使いました。
変更なしでSpresenseでも動きます。
#include "Adafruit_MAX1704X.h"
Adafruit_MAX17048 maxlipo;
void setup() {
Serial.begin(115200);
while (!Serial) delay(10); // wait until serial monitor opens
Serial.println(F("\nAdafruit MAX17048 simple demo"));
if (!maxlipo.begin()) {
Serial.println(F("Couldnt find Adafruit MAX17048?\nMake sure a battery is plugged in!"));
while (1) delay(10);
}
Serial.print(F("Found MAX17048"));
Serial.print(F(" with Chip ID: 0x"));
Serial.println(maxlipo.getChipID(), HEX);
}
void loop() {
Serial.print(F("Batt Voltage: ")); Serial.print(maxlipo.cellVoltage(), 3); Serial.println(" V");
Serial.print(F("Batt Percent: ")); Serial.print(maxlipo.cellPercent(), 1); Serial.println(" %");
Serial.println();
delay(2000); // dont query too often!
}
このプログラムではバッテリーの電圧と残量をモニタすることが出来ます。
一番最初だけ 0V 0% になるみたいです。
接続しているバッテリーは 400mAh のバッテリーです。
残量14.9%、電圧3.713V からスタートで、充電を開始しました。
充電中は基板上のチャージモニタLEDが点灯します。
しばらく充電した時点でのターミナル表示
残量98.4%、電圧4.179V になりました。
リチウムイオンバッテリーの充電とモニター基板が動きました。
バッテリーの残量と電圧をグラフにしてみました
オレンジが残量(%) で
ブルーが電圧(V) です。
データーは5秒間隔で取得しています。
このグラフを見る限り問題なく使えそうです。
今回試作した基板は使っているコネクターの変更やレイアウトを変更して商品化したいと思っています。