BMS circuit design
===
## Introduction
This project is for the Formula student competition. I designed this battery management system(BMS) to manage a 12V battery pack on a electrical race car and handle battery overcharge or overdischarge behaviours, which extend battery life and prevent explosion of batteries.
## CAD and Circuit
### ++3D model++
![](https://i.imgur.com/F8au48q.png =40%x)
### ++Schematic++
![](https://i.imgur.com/dNbzkzE.jpg)
### ++Layout++
![](https://i.imgur.com/JHuTfLe.png =40%x) ![](https://i.imgur.com/VO6TOum.png =50%x)
## Chip
###
Datasheet: [S8209A_AN](https://www.ablic.com/en/doc/datasheet/battery_protection/S8209A_E.pdf)
Product name: S-8209ABB-T8T1U
### Spec
Overcharge voltage(Detection)(V~CU~): 4.35V
Overcharge voltage(Release)(V~CL~): 4.35V
Cell balance voltage(Detection)(V~BU~): 4.2V
Cell balance voltage(Release)(V~BL~): 4.2V
OverDischarge voltage(Detection)(V~DL~): 2.5V
OverDischarge voltage(Release)(V~DU~): 2.7V
---
## Operation and Schematic Explaination
This circuit is designed to deal with battery ++overcharge++ and ++overdischarge++. It will be explained by a practical example.
The symbol used below can be found [here](#Symbol)
### ==Normal status==
`CO`、`BO`、`CB` of three IC are all low impedance.
### ==Overcharge==
If voltage of BAT_3 reached V~BU~.
* *Step 1*
![](https://i.imgur.com/RorrSM5.png)
`CB` of `IC3` will be pulled up to VDD3 and turn `Q6` on.
Charge current is bypassed since `Q6` is on.
:::warning
:bulb:Bypassing the current doesn't mean BAT_3 is no longer charged. The charge rate is only slower than BAT_1, BAT_2.
:bulb: This mechanism means any V~DS~ >= V~BU~ will trigger `CB` and turn MOS on.
:::
* *Step 2*
For BAT_3, V~DS~ >= V~CU~, a series of actions will conduct.
If V~DS~ >= V~CU~:
→ `CO` = VSS3 (Set to high impedance)
→ `CTLC` of `IC2` = VSS3
→ `CO` of `IC2` = VSS2
→ `CTLC` of `IC1` = VSS2
→ `CO` of `IC1` = VSS1
→ Turn off `Q2` then turn off `Q8`
→ Charging loop is cut.
* *Step 3*
It is in normal status again if all BAT's V~DS~ <= V~BL~
### ==OverDischarge==
If BAT_1, BAT_3 are in normal status and BAT_2 is overdischarged.
* *Step 1*
![](https://i.imgur.com/PCTeioe.png)
V~DS~ of `Q5` is below 2.5V
* *Step 2*
![](https://i.imgur.com/51Z13Uy.png)
`DO` of `IC2` is set to high impedance, indicate `IC1` by `CTLD`.
* *Step 3*
![](https://i.imgur.com/ZuCCK7Y.png)
![](https://i.imgur.com/lGLnSKe.png)
The voltage of `IC1`'s `CTLD` drop will cause `DO` in High-Z and `CB` is on high-voltage:
`CB` on → opens `Q3` and BAT_1 is short circuit
`DO` high → turns off `Q1`
:::warning
:fire:Heat Problem
When BAT_1 is short circuit, heat is generated.
On the PCB layout, it can be found that the pads of `R6` `R11` `R18` are larger than normal ones. This is for heat dissipation and high walts resistors are selected to withstand the temperture rise.
:::
* *Step 4*
Since `Q1` is turned off, `Q9` will be turned off. The loop is cut.
![](https://i.imgur.com/3LYwMaw.png)
## Symbol
Overcharge voltage(Detection): V~CU~
Overcharge voltage(Release): V~CL~
Cell balance voltage(Detection: V~BU~
Cell balance voltage(Release): V~BL~
OverDischarge voltage(Detection): V~DL~
OverDischarge voltage(Release): V~DU~
Mosfet Drain to Source voltage: V~DS~
VSS1: VSS of IC1
VSS2: VSS of IC2
VSS3: VSS of IC3