Author Topic: Open Source BMS - LiIon / LiPo  (Read 8240 times)

0 Members and 1 Guest are viewing this topic.

Offline kallisti5Topic starter

  • Contributor
  • Posts: 45
  • Country: us
Open Source BMS - LiIon / LiPo
« on: April 10, 2017, 04:10:41 pm »
After collecting some 18650 batteries, I've noticed a lack of smart Open Source battery management systems.
I've begun to tinker with the idea of wifi connected Arduino monitoring large packs of batteries and regulating series cells. (3S 40P, etc)

(before anyone says it, LiIon and LiPo's love exploding when you mistreat them.
The goal here is to design a management strategy which safely contains their angry pixies.
Extreme caution + testing should be used with such a BMS as outlined below.)

I've been researching this stuff and have come up with the following design ideas:

  * Arduino monitoring voltage of each series
     * Main relay N.O. and held closed by Arduino GPIO to help prevent pack damage if Arduino is offline.
     * Voltage > 4.2v ,  turn on a resistor (relay controlled) connected to the impacted series to drain (able to dissipate max charge current?) the excess voltage to 4.2v.
     * Any series voltage < 3.10v , main relay (large, full pack current+voltage) turns off.
       * Voltage applied to relay > total voltage, re-enable pack.
  * Current monitoring
     * Each series vs the whole pack?
     * Turn off main relay in over-current situations.
  * Temperature monitoring?
     * Turn off main relay in over-temperature.

I think the rules above cover the most critical aspects of keeping a large group of LiIon's healthy... thoughts?
I've started writing some Arduino code here: https://github.com/kallisti5/erisbms


Some great resources:


)
« Last Edit: April 10, 2017, 10:56:11 pm by kallisti5 »
 

Offline kallisti5Topic starter

  • Contributor
  • Posts: 45
  • Country: us
Re: Open Source BMS - LiIon / LiPo
« Reply #1 on: April 11, 2017, 12:59:36 pm »
Some adjustments...

  * Arduino monitoring voltage of each series
     * Monitor voltages. 3 samples averaged over 1 second.
     * Main relay N.O. and held closed by Arduino GPIO to help prevent pack damage if Arduino is offline.
     * Voltage > 4.21v,  disable main relay. (emergency disconnect, the BMS isn't keeping up during charge).
       * Drain impacted cell(s) to 4.15v.
       * Power unavailable until excess cells dissipate :-\
     * Voltage > 4.18v,  turn on a resistor (relay controlled) connected to the impacted series to drain (able to dissipate max charge current?) the excess voltage to 4.15v
     * Any series voltage < 3.09v , main relay (large, full pack current+voltage) turns off until voltage provided.

 

Offline Jeroen_Bezemer

  • Contributor
  • Posts: 14
  • Country: nl
Re: Open Source BMS - LiIon / LiPo
« Reply #2 on: April 25, 2017, 08:45:46 pm »
For safety reasons you should add a watchdog : when the arduino is stuck with the relais in on position, something must switch it off.

Verstuurd vanaf mijn SHIELD Tablet K1 met Tapatalk

 

Offline martinj

  • Newbie
  • Posts: 3
  • Country: de
Re: Open Source BMS - LiIon / LiPo
« Reply #3 on: June 14, 2017, 08:28:10 pm »
Maybe a quite late reply. Just signed up in this forum and saw your message...

If Arduino is not a must, you could have a look at this Open Source BMS based on STM32 MCU: https://github.com/LibreSolar/BMS-5s

I'm still working on the software, but most of it can be used from the another BMS with up to 15 cells (for 48V systems): https://github.com/LibreSolar/BMS_24V_software
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf