Rev - S2020 - Ayesha Ebrahim
Battery Management System
The BMS controls the discharging and charging of our 6s1p 22.2V LiPo battery to provide safety and logging functionality. The BMS logs data on an SD card and can display data on an LCD.
The battery management is performed by the BQ40Z80 using external FETs. The BQ40Z80 provides configurable protections including overvoltage, undervoltage and overcurrent protection. An STM32 is used to interface between BQ40Z80 and the SD card and LCD.
The Bq40Z80 chip communicates with the MCU over SMBus nd is programmed using the EV2400 programmer.
Block Diagram
-To Be Created-
Assembled PCB
BMS FETs
The BMS has four main FETs: the charge, discharge, pre-charge and pre-discharge FETs. Each of these FETs is turned ON during different battery condition/ events.
The charge and discharge FETs are the basic FETs that all BMS's need. The charge FET turns ON to allow current to flow into the battery and the discharge FET turns ON to allow the battery to supply power to a system.
The pre-charge FET is used when the battery cell voltage is below 3V. In this situation, chargign the battery at high currents. as per usual, can damage the battery cells so instead the battery is charged in a current-limited mode using the pre-charge FET.
The pre-discharge FET can be used to limit the inrush current from the battery during startup to prevent tripping the BMS chip's overcurrent protection.
Microcontroller
The PDB features an STM32F446RET6 microcontroller (MCU), with the following responsibilities:
- Log BMS data onto SD card
- Display cell voltages and current consumption on LCD
Components
- MCU
- MPN: STM32F446RET6
- Documentation
- Digi-Key link
- BMS chip
- MPN: BQ40Z80
- Documentation
- Digi-Key link
Project Documents
- GitHub link
- Google Drive Folder
Designers
- Ayesha Ebrahim - Schematic Capture and PCB Design - Former user (Deleted)
Built With
- Altium Designer - The PCB design software used