現在、方言を話すおしゃべり猫型ロボット「ミーア」を開発中。
現在のミーアのESP32自作基板回路はこちら。
USB TypeCから給電できるようにしているが、逆に言えば、ESP32を絶えずUSBに接続していないと動作しない。
なので、今回、リポバッテリーからの駆動もできるようにリポ回路を追加したいと思う。リポ電池はこちらを使用。
LP552036:定格電圧が3.7Vで、標準容量(=最大容量):360mAh
Lipo電池について
Lipo電池の特性
Lipo電池の特性と条件は以下
- 定格電圧が3.7Vで、フル充電時には約4.2Vまで充電される(今回使用するLipoは4.28Vまで)。3.0V以上であれば充電開始できる。
- 4.2V以上の電圧が入ると壊れてしまう。
- 放電時には電圧が下がり、安全な放電限界は、一般的には3.0Vから3.2Vの範囲。3.0V以下になると壊れてしまう
- 過充電や過放電を防ぐために保護回路が必要。
Lipo充電回路:MCP73831チップを使用
MCP73831の電源電圧は、3.75~6Vの定電圧電源を使用する。USB端子のVBUS(5V)電源からの充電も行える。
データシートにある充電回路はこちら
データシートはこちら
今回使用する端子に関する説明記述は下記
充電電流:基本は1C充電。1C以下ならOK
リポバッテリーは1C充電するのが基本。1C充電とは、バッテリーの容量と同じ電流で充電することを指す。例えば、1000mAhのバッテリーなら1Aの充電電流で充電する。今回の場合は360mAhのバッテリーなので360mAの充電電流で充電する。
なぜ1C充電が基本なのか?
- リポバッテリーは正確な充電と放電が必要であり、特に過充電や過放電を避ける必要がある。過大な充電電流や急速充電は、バッテリーに対して過度な熱を発生させ、過熱や発火のリスクを高める可能性があるため。なので、1C充電は、バッテリーを安全に充電するための基本的なガイドラインの1つ。
- ただし、1C未満で行うことは問題ない。実際、電池の寿命を延ばすために、より遅い充電速度(例えば0.5Cや0.2Cなど)を使用することが推奨される場合が多い。これにより、電池へのストレスが少なくなり、長期的なパフォーマンスが向上することがある。デメリットは充電時間が長くなること。
今回は、1C充電の充電速度と最大充電電流が、360mAhで同じであるため、この充電電流速度は超えないように回路設計する必要がある。
充電電流はPROGで調整する
充電電流速度は、MCP73831チップのPROG端子に接続する抵抗によって調節できる。
MCP73831の充電電流は15mAから最大500mAまで対応している。
充電電流は抵抗と反比例になっており、IREG(充電電流:mA) = 1000V / Rprog(kΩ)の式で表される。
今回は、最大充電電流速度が360mAhなので、Rprog > 1000/360 = 2.77…kΩが条件となる。
今回はRprog=3kΩにしてみた。DatasheetにはProgに要求される抵抗誤差に関する記載は特になかったが、バッテリーで一般的に求められる±1%を使用。
リポバッテリーのピッチ間隔が2mmだったので、接続するコネクタは下記を選択
作成した回路はこちら
充電ステータスをLEDで可視化
今回は、充電ステータスを可視化したいため、充電状態を示すSTATピンを用いる。
行われている時は[Charge]ランプ(赤色LED)が点灯し、充電完了時には[Ready]ランプ(緑色LED)が点灯するように設計。
STATピンは充電状態を示すLEDに接続されており、リポバッテリーが接続されUSB端子からの充電が行われている時はSTATピンが低電圧(0V近い値)になり、LED2(赤色)が点灯する。充電が完了すると、STATピンが高電圧になり、LED4(緑色)がが点灯する。
充電中はSTATピンが低いため、LED4には十分な電圧差が生じず、そのため点灯しない。一般的な緑色のLEDの場合、フォワード電圧(順方向電圧:ダイオードが導通し始めて電流が流れるのに必要な最小限の電圧)は約2.0Vから2.2Vの範囲のため。
コメント
こんにちは。本記事を参考に自分も基板を作成してみました。しかし、USBでPCに接続するとLipo chargeのLEDが両方とも点灯してしまいます。またvscode platformIOでESP32に書き込みをしようとするとポートが見つからず書き込みができない状態です。何かわかることがあれば教えていただきたいです。
コメントくださりありがとうございます。
回路図と、VS Codeのログがありましたら、添付いただけますでしょうか?どうぞよろしくお願いいたします
返信ありがとうございます。どのように回路図を送信したらよいでしょうか。このコメントではjpgのファイルが送れないです。
すみません。。ファイル添付できるように、修正いたしました。
返信遅くなってしまいました。修正ありがとうございます。kicadの回路図を添付いたします。自分の回路は9軸のセンサをI2C接続してセンサの校正値をLCDに出力する回路を作製しました。Power、battery chargeのパートを参考にさせていただきました。USB type-cで充電、書き込みを行うためCH340をデータシートを参考にUSBパートを作成しました。自分が考える問題点としては、USBケーブルが充電専用もしくは対応していない(新たに購入しましたが直らず)、CH340Hのドライバが読み込めていない、回路の設計ミス等が考えられます。私のPCはwindows11Homeでデバイスマネージャで確認したポートはSilicon Labs CP210x USB to UART Bridge(COM5)です。吉永様はCH340のドライバをダウンロードされましたか?もしよろしかったら回路のデバッグをお願いしたいです。お忙しいところ恐縮ですが宜しくお願い致します。
回路図拝見しました
1)Lipo chargeのLEDが両方とも点灯してしまう問題
TATピンの電圧がLOWやHIGHではなく、中途半端な電圧(2V〜3V付近)にあるために、両方のLEDが点灯していると思われますが、回路を見る限り問題なさそうですね。テスターで充電中のSTATの電圧を測定できれば、原因特定できそうです。
私が使用しているPMOSFETはこちらなのですが、こちらを試してみるとかでしょうか?
https://www.lcsc.com/product-detail/MOSFETs_UMW-Youtai-Semiconductor-Co-Ltd-AO3401A_C347476.html
2)PlatformIOでESP32に書き込みができない問題
CH340ドライバーインストール
こちらは必要です。windowsの場合、下記からインストールしてください
https://www.wch.cn/downloads/CH341SER_ZIP.html
CH340EのTXとRXのクロス接続もされているので、回路図は問題なさそうに見えますね。
あまり有益な回答ではないですが、ご参考いただけますと幸いです。 追加でご質問ありましたら、お気軽にコメントください。