Li-ion電池充放電制御回路試作　システム検討編

# 試作背景
先日作成した基板（[スマートホームコントロール基板](https://qiita.com/Antareskkudo/items/f71c0d45a3ad713813cb)）は便利な機能を持つのですが、電源供給がUSBケーブルのみとなっています。その為、配線が邪魔になったりと様々な制約があります。また、今後もポータブルデバイスの開発を考えています。
そこで今回は**バッテリ**の充放電回路を試作して、作成した基板（スマートホームコントロール基板）をケーブルレスにしたいと思います。同時に簡単な性能評価してみたいと思います。

既に物はできており下のような感じになりました！
![IMG_2490.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1100334/ca28c5c5-c1ab-73b3-6524-40071e582591.jpeg)



# 本シリーズの流れ
本開発では流れを詳しく説明していきます。そこで読者の皆様に分かりやすいようにトピック毎に記事を書いていきます。
※内容によってトピックを変更・合体して記事にする可能性があります。

1\. システム検討（本記事）
2\. 部品選定
3\. 回路設計
4\. 基板設計
5\. 実装
6\. 性能評価・まとめ

# 要求事項策定
では開発の説明を始めていきます。初めに本開発の要求事項を解説します。冒頭にも説明したように、本開発の第一の目的は私が以前作成した**スマートホームコントロール基板**をバッテリで駆動できるようにすることです。その他にも実現したい機能を設定しました。それぞれ説明していきます。

## バッテリを充電する
バッテリを使用（放電）するだけでなくその基板で充電できれば充電器を追加で用意する必要はないため、経済的にも機能的にも優位なものになると考えました。

## 決められた電圧を出力する
これは当たり前の要求かもしれませんが、バッテリの電圧が落ちても負荷が要求する電圧を供給する機能です。

## 充電中も負荷に電源供給を行う
目的の中で一番注目すべき項目です。バッテリを充電している間も負荷に電源を供給することで連続して負荷を稼働させる機能です。充電中では負荷とバッテリ両方に電源を供給し、外部電源が取り外されたら即座にバッテリからの給電に切り替わる機能です。

これらの要求事項を達成する基板を作っていきます。

# システム検討（ブロック図作成）
では要求事項を定めましたのでブロック図を描いていきます。上記で検討したものを実現できる構成は以下のようになります。矢印は電気の流れを表しています。
![01.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1100334/f5abf2d3-85a2-f047-0077-dd55fdead9ff.png)
それぞれのブロック毎にもう少し具体的な構成を考えていきます。

## 入力
システムに必要な電源を供給するための入力ブロックです。このブロックがうまく機能しないとシステム全体が成り立たなくなるので特に注意して検討します。本ブロックでは具体的な制約はありませんが、電源の取りやすい入力方式を選ぶことで今後の開発にも応用できます。そこで最も一般的な電源供給方法としてUSBによる給電を使用することにしました。具体的なコネクタについては次回の記事で選ぶことにします。
また、外部からの入力は高電圧、逆接続、瞬時的な電圧降下といった電源供給トラブルの可能性が考えられます。そのような電源トラブルを入力ブロックで防ぐことが必要になります。
上記より、入力ブロックの詳細な構成は次のようになります。
![03.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1100334/ebd35809-0966-5246-290f-f615d9c44185.png)
上記入力詳細ブロック図では供給を強制的に遮断するスイッチも付属しました。

## バッテリ充放電制御＆バッテリ
次にバッテリ充放電制御とバッテリブロックです。ここでは外部入力の電圧からバッテリを充電する機能を実現します。入力はUSBであるため5Vを考えますが、バッテリの充電ではバッテリの状態に合わせて電圧・電流を調整する必要があります。いわゆるCCCV充電というものです。[^1]これを実現するためにはICでバッテリの状態を監視して電源を供給する必要があります。
次にバッテリの保護を考えます。リチウムイオン電池は使い方を誤ると発火や有害ガスを発生させ人体に悪影響を及ぼします。その為に保護回路が必要となるのです。保護回路の機能としては次のようなものが考えられます。[^2]
* 過充電圧検出と遮断
* 過放電電圧（低電圧）検出と遮断
* 充電過電流検出と遮断
* 放電過電流（短絡）検出と遮断

これらの検出機能を持つICとそのICによって駆動されるスイッチがあればバッテリを安全に扱うことができます。
最後にバッテリです。今回はバッテリ回路を初めて開発するので制御が比較的簡単な1セル（3.6V相当）を使用します。負荷はそこまで大きくないためこのバッテリでも十分動作できると考えました。
上記より、バッテリ充放電制御＆バッテリブロックの詳細な構成は次のようになります。
![05.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1100334/9336d6df-beba-c5f1-89b8-e0dedd19b35e.png)
上記入力詳細ブロック図では供給を強制的に遮断するスイッチも付属しました。このスイッチは異常検出ICが制御する回路とは別に設定し、ユーザが任意でオンオフ制御するものです。

## 電源供給選択
次に外部給電かバッテリ給電かを選択するブロックについて考えます。本ブロックではいわゆる**OR回路**を考えます。この時、両方の入力がオン、すなわち外部給電とバッテリ給電がオンになっている時が重要です。この状況では一般的にバッテリ電圧はUSBからの給電電圧よりも低い値となります。その為、USBからの電流がバッテリ側にも流れてしまう可能性があります。そこで、USB給電がオフの時はバッテリ給電をオン、USB給電がオフの時はバッテリ給電をオンするスイッチを付けてあげればバッテリへの逆流の可能性はありません。バッテリ給電がUSB給電に逆流する可能性も考えられるので逆流防止機能をつけておけば互いの電源供給を分離できます。
上記より、電源供給選択ブロックの詳細な構成は次のようになります。
![06.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1100334/8a5b20b0-a2b2-34f7-faee-addf2937d9ed.png)

## 電圧制御
最後に電圧制御ブロックです。ここでは電源供給選択ブロックから来た電源の電圧を決められた電圧に調整します。一般的に電圧を調整・制御するICをレギュレータと言います。このレギュレータには**リニアレギュレータ**と**スイッチングレギュレータ**の二つの方式が存在します。今回の場合は低い電圧から高い電圧に変換する昇圧動作が必要であるため自動的にスイッチングレギュレータ方式を選ぶ必要があります。これ以外は特に追加要素はないです。
上記より、電圧制御ブロックの詳細な構成は次のようになります。
![07.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1100334/58a9a68b-97f7-c163-87f1-16df3df44372.png)

# システム検討まとめ
これで全ブロックの詳細な検討を完了できました。最後にすべてのブロックを統合してみます。下の図が全体のブロック図となります。
![09.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1100334/cef176d5-010a-b5c2-7bcf-e941c2c2c0d0.png)

これでシステム検討ができました。次回はこのブロック毎の機能をどう実現するかを考え、部品選定と回路設計をしていきます。


# シリーズ一覧
（Coming soon...）

[^1]: 詳しい内容については割愛します。詳しくはこちらをご覧ください⇒[CCCV充電とは？リチウムイオンバッテリーの充電方法について解説](https://voltechno.com/blog/battery-cccv/) 

[^2]: 厳密には保護回路の一部の機能は充電制御ICに付属する場合もありますが、すべての異常を検出できる訳ではないので保護回路は別に作成しておいた方が良いと考えます。