Skip to content

Battery Management System (BMS) for a 3S 12V 80Wh lithium-ion battery pack, focused on safe and intelligent fast charging, thermal protection, and cell health tracking. (2023)

License

Notifications You must be signed in to change notification settings

downl2160/bms-fast-charging

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

4 Commits
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ”‹ Battery Management System – Fast Charging + Safety Monitoring

This project was developed as a final year engineering project for a friend, with embedded system logic written and optimized by me. It is a custom Battery Management System (BMS) for a 3S 12V 80Wh lithium-ion battery pack, focused on safe and intelligent fast charging, thermal protection, and cell health tracking.


🧠 My Contribution

I designed and implemented the core fast charging logic and sensor-based safety protocol using an Arduino Nano. My optimized power delivery profile ensures safe and efficient battery charging across different charge levels:

Battery Charge (%) Charging Power
0% to 50% 200 Watts (Max)
50% to 80% 150 Watts
80% to 90% 100 Watts
90% to 100% ≀ 50 Watts

This tiered charging protocol protects the battery from overheating and overvoltage damage, especially in the final 10% where lithium-ion cells are most sensitive.


πŸ”§ Core Features

Feature Description
πŸ”‹ Fast Charging Charged a 12V/80Wh battery at 200W with intelligent tiered cutoff logic
🌑️ Thermal Protection Used analog temperature sensors to halt charging if temp > 50°C
βš–οΈ Cell Balancing Voltage readings from 3 cells used to detect imbalance
🧠 Degradation Tracking Estimated degradation from charge cycles and voltage drop over time
πŸ“‰ Safe Charge Control MOSFET/Relay switching based on sensor data

πŸ”© Hardware & Tools Used

Component Purpose
Arduino Nano Core controller running the BMS firmware
Current Sensor (ACS712) Measures charging current
Temperature Sensors (NTC) Reads battery thermal data
Voltage Divider Network Measures individual cell voltages
MOSFETs / Relays Switches high-current paths
3S Li-ion Battery Pack 12V / 80Wh test battery

πŸ’» Code Features (Arduino C++)

  • Real-time voltage & temperature sensing via ADC
  • Logic:
    • if temp > 50Β°C β†’ Stop charging
    • if cell voltage > 4.2V β†’ Stop charging
    • if Ξ”V > 0.1V across cells β†’ Slow down charging
  • Adaptive power levels based on charge percentage

🧠 Learning Outcomes

  • Real-world fast charging control
  • Battery safety + embedded power management
  • Multi-cell monitoring and logic control
  • Lithium-ion battery care principles