Author Topic: Open source smart BMS  (Read 1696 times)

0 Members and 2 Guests are viewing this topic.

Offline green-bms

  • Newbie
  • Posts: 2
  • Country: it
Open source smart BMS
« on: August 28, 2021, 08:18:52 am »
Hello, I would like to share my project with you..
I made a BMS that I installed in my daughter's e-max scooter (16s 48v)
It is a BMS for prismatic cells, with modules that are fixed to the positive pole of each cell.
Each module is based on Attiny microcontroller and communicates in I2c with the control unit based on Arduino Mega.
The BMS is controlled and managed via an Android application on a smartphone connected to the BMS via Bluetooth.

Web Site: https://hackaday.io/project/181453-green-bms
Youtube channel: https://www.youtube.com/channel/UCdJnQnmzJSQNOAGbZR5iExA
Android app: https://play.google.com/store/apps/details?id=appinventor.ai_sergio_ghirardelli75.Green_bms_0_0&pcampaignid=pcampaignidMKT-Other-global-all-co-prtnr-py-PartBadge-Mar2515-1

All project files of Green BMS project are available at the following link: https://github.com/Green-bms/SmartBMS

Green BMS has been certified as open source hardware by the Open Source Hardware Association, with the UID: IT000007 https://certification.oshwa.org/it000007.html




« Last Edit: October 06, 2021, 09:33:02 pm by green-bms »
 
The following users thanked this post: croma641, ANTALIFE, JohnG, gnavigator1007, shakalnokturn

Online Siwastaja

  • Super Contributor
  • ***
  • Posts: 4555
  • Country: fi
Re: Open source smart BMS
« Reply #1 on: November 21, 2021, 06:25:06 pm »
Add a thermal fuse coupled to the power resistors!

I looked into failed BMS designs a decade ago and this is one of the classic ways to start a battery pack fire. (4.2V)^2 / 3ohms = 5.9W, this is a lot of power in a tight hotspot, especially if cooling is hindered by some thermal insulation etc., if the software fails leaving the balancers on, or the MOSFETs fail short.

Are you sure you need this much balancing current? This should be good up to some 1000Ah banks, is this intentional? Thermal (and mechanical) design would be much easier with lighter shunting, and you can do it for longer time by adding a bit of intelligence on the algorithm.

The classical miniBMS used a PTC polyfuse coupled to the balancing resistor for a cheap solution, balancing current was some 500mA AFAIK and was one of the highest on the EV market, many had 200-300mA. I used some 50mA balancing current in my design and a 100mA fuse limiting highest possible fault power dissipation to below half a Watt. This 50mA balancing current was tested good on a second-life 250Ah Ah pack with a few cells that were likely slightly damaged by overdischarge and leaking more charge than others.

Exceptionally well organized design files, thanks for sharing.
 
The following users thanked this post: ANTALIFE, green-bms

Offline green-bms

  • Newbie
  • Posts: 2
  • Country: it
Re: Open source smart BMS
« Reply #2 on: November 23, 2021, 05:57:15 pm »
Thank you Siwastaja for your suggestion.
A thermal fuse could be a good solution and maybe  1A of balancing is too much, I will consider your opinion in a future upgrade.

But consider that the system is not without high temperature protections: there is a TMP36 temperature sensor attached to balance resistor that is used by the software to cut balancing command if temperature reaches the overtemperature parameter threshold.
There is a second mosfet p-channel drived by the controller that have the function of balance enable and open the balance circuit if the cell voltage goes under 3,2 volt...this is to protect the cell in case of a fault on Mosfet N.

In any case thermal fuse is a very good idea: at which temperature you'd cut off the balancing? Can you suggest to me a small and cheap thermal fuse type in order to stay in a small space? Thank you!
« Last Edit: November 23, 2021, 06:42:23 pm by green-bms »
 

Online Siwastaja

  • Super Contributor
  • ***
  • Posts: 4555
  • Country: fi
Re: Open source smart BMS
« Reply #3 on: November 26, 2021, 05:46:04 pm »
Thermal fuse is so that software failure cannot set the thing in fire. Microcontroller can glitch and leave the gate drive on.

If you need to cut balancing regularly due to heat, you are balancing at lower average power; can just as well use lower-power resistors to begin with. Taken into extreme, if you use small enough balancing power, you can guarantee by (simple) thermal design (even testing could suffice) that overtemperature cannot happen at given current, after which you can guarantee maximum overcurrent by using just normal fuse, which is even simpler and cheaper than thermal fuse. I went that way in my design (with a 100mA fuse, which can be guaranteed to blow at 200mA in short enough time).

For thermal fuse, the key is coupling it to the resistors. Maybe a relatively high temperature like 120degC would be acceptable for fire protection. Then your software needs to detect much lower overtemperature (like 70 degC) to prevent that fuse ever blowing during edge cases of normal operation. Look at parametric search of your favorite distributor.

You get more space on the PCB by reducing balancing current.
« Last Edit: November 26, 2021, 05:47:35 pm by Siwastaja »
 
The following users thanked this post: ANTALIFE


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf