# Explanation about BMS



## dladd (Jun 1, 2011)

joamanya89 said:


> I would like to know what is the real deal behind the BMS, What does it exactly do?
> I've done a research on this forum, and a lot of people talks about it, but every body is saying something different...


that about sums it up. What different would you expect to hear now?



> What are the real risk on the lithium batteries so we should use BMS?
> 
> And is there a real risk or it is just use to be sure you are using all battery's energy, and no one is keeping a bit...?


The risk is you can damage a cell if it gets over 4v or down to 0v, and can start a fire if the charger 'runs away'. It's not so much about using every bit of energy (at least for me), I still cut off charging at 3.5v/cell which is what I would do if I did not have any BMS. I just feel safer about it because if a cell does go rogue the BMS will catch it and shut off the charger for me. Or beep at me while driving if it takes a dive. I understand that I paid the cost of a few extra cells to possibly save one cell... Is it worth it?

There are ways to mitigate the risk without BMS (careful balancing and occasional voltage checks of all the cells). And there are ways that BMS's can fail and make things worse than not being there in the first place. Or you can use a BMS and it could work just right. No one answer.


----------



## joamanya89 (Feb 13, 2012)

I'm doing my power controller by using a ucontroller to generate the pwm, if I make a voltage divider on each single cell, and connect it to my analog inputs pins on my ucontroller, I could be able to know the voltage on every single cell, would that be (not enough) but at least desent to avoid the BMS?

And even I could use a rele, so if i'm charging my batteries, and any of my cells go further than I want on voltage, I would be able to automatically cut off the charging


----------



## dladd (Jun 1, 2011)

joamanya89 said:


> I'm doing my power controller by using a ucontroller to generate the pwm, if I make a voltage divider on each single cell, and connect it to my analog inputs pins on my ucontroller, I could be able to know the voltage on every single cell, would that be (not enough) but at least desent to avoid the BMS?
> 
> And even I could use a rele, so if i'm charging my batteries, and any of my cells go further than I want on voltage, I would be able to automatically cut off the charging


well I'm not knowledgeable enough to follow what you are saying but I don't think that avoids a BMS, that sounds more like you making your own BMS. Nothing wrong with that.


----------



## PStechPaul (May 1, 2012)

You should read some of the literature about existing BMS ICs and then decide if it is worth it to design your own. Here is a start:
http://www.ti.com/lit/sg/slyt420/slyt420.pdf

Typically these ICs cost about $5 to $15 and can manage up to 20 cells or so. 

A different approach that I am working on is a single charge manager that is connected to each cell and continuously monitors its voltage and reports the SOC by means of a blinking LED. This could also be an optoisolator that could connect to a separate microcontroller and could be capable of two-way communication. I plan to use a tiny PIC10F322 or similar which will monitor voltage (and possibly current as well) and also drive the gate of a parallel connected MOSFET and power resistor which could perform pack balancing and overcharge protection by shunting charging current or bleeding stored current to equalize the SOC. 

There is some controversy over the reliability and efficacy of BMSs and their use on various battery chemistries. Ultimately you need to make informed decisions based on cost, complexity, and safety, and then perform extensive testing to verify the overall design. Since such systems impact battery life, which may extend to 10 years or more, it is difficult to prove any particular system and it is helpful to read the experiences of various forum members.

I think some form of battery management is necessary and it seems reasonable to spend 10% of the cell cost for protection and SOC information. So an individual BMS might be about $5 and a system for a large pack might be several hundred dollars.

To answer your question about using multiple ADC inputs of your microcontroller, You would need to use isolation amplifiers (expensive) or differential amplifiers (less accurate), especially with high voltage battery packs. And it's probably best to use a separate uC for the battery management function and use something like I2C or CANbus to communicate with your main controller.


----------



## Elithion (Oct 6, 2009)

joamanya89 said:


> ... BMS, What does it exactly do?


Wikipedia says it well: "A *battery management system* (BMS) is any electronic system that manages a rechargeable battery (cell or battery pack), such as by monitoring its state, calculating secondary data, reporting that data, protecting the battery, controlling its environment, and / or balancing it"

Li-ion BMS says: "The primary job of a BMS is to protect the battery (by preventing operation of any cell outside its safe operating area) A secondary job may be to maximize the battery capacity (by balancing the battery's SOC). 
"

Battery University says: "The _BMS_ assures safety, long life and provides state-of-charge (SoC). "


----------



## Elithion (Oct 6, 2009)

dladd said:


> sounds more like you making your own BMS. Nothing wrong with that.


Chapter 5 of the Li-ion BMS book covers pretty much every conceived way to do a BMS for a large Li-ion pack. You can read it for free in Google Books.


----------

