Simplest BMS

Skippic

100 W
Joined
Jun 22, 2010
Messages
224
Location
Bratislava, Slovakia
Can someone help me building a very simple BMS?

I'm looking for a balancing solution, that can be connected to a 10AH battery pack for at least 2months without discharging it completely.

If the battery is balanced with each charge, the voltage differences will be small and LVC / HVC for the whole pack (not individual cells) should be enough to protect it.

I was thinking of using a 4.1V zener diode in series with a small resistor to protect it. They would be connected to each cell. I'm not sure what the current at say 4V would be through the diode. Can anyone help me with that?

Also are there any decent 4.1V 2W zener diodes with little tolerance in breakdown voltage I could use? I was hoping to keep it simple without need for transistors...
 
You can add zener diodes in series, but there are other problems, like tolerance, horrible zener curve on some of the low value ones, ...
 
I tried to do it with 3.9 volt zeners and they didn't have a very sharp knee voltage, like Njay suggested. LEDs actually clamped more sharply. But I didn't really like that idea either. The best simple idea I could think of for a balancing charger would involve a transformer with as many taps as there are cells, with separate rectifiers going to each cell. Each cell should get a separate regulator, too, yet it might work with only the sum of the voltages being regulated.
 
Can we use something from GGoodrum's BMS?

http://www.endless-sphere.com/forums/download/file.php?id=71388

I do have a solution for the crappy tolerances:
http://www.ebay.com/itm/4-3V-Zener-Diode-0-5W-1-2W-DO35-RoHS-Qty-500-/400244729360?pt=LH_DefaultDomain_0&hash=item5d3071e610
buy 500 and select the exact voltage you need ;)
 
Once I designed a small dynamic load, which had a zener as reference voltage. When I built it, the zener voltage was so far from my design calculations that I had to trace the zener's curve to believe it. This is what I got:

bzx85c3v3defeituosocurv.jpg


It's (supposed to be) a 3.3V zener. I don't even know why they call it a zener. At first I though it was a defective part and measured all other 9 units I bought but the curve was similar. Then I picked the device's datasheet and although the graph isn't that detailed, it has room to show such curve (the same graph covers zeners up to a high voltage so it remains very little space for detail at 3.3V).

Now compare that with the curves from a few other zeners I also traced (these curves are of the reverse polarization of the diode, although they show all positive values):

ZPD4V7
zpd4v7test.png


1N5231 - Zener 5.1V
1n751test.png


BZX798 - Zener 5.6V
bzx798test.png
 
If this is so, can we use higher voltage zeners for lets say 8.2V and connecting 2s cells like this?

BMS.png

The only problem with this setup is if the first and last cell have no protection if the one next to them is lower.

For example if the above pack is at:
4.3,3.9,4.1,4.1,4.1,4.1,4.1,4.1
all zeners are at 8.2V or less

I'm thinking a very ugly way to prevent this is by doing something like putting a 3.9V zener with a 1k resistor on the first and last cell, to make sure they are always lower than the rest. A 4.3V zener might be more appropriate if the curve is as Njay says.

As feedback to the charger I would mount all the diodes and resistors on a heatsink and measure the temperature. Also the maximum voltage on the charger should be slightly above 4.1V per cell and the charging current when balancing (close to 4.1V/cell) should be reduced.
 
I would like to try the scheme I attached... it should work as ideal zener diode with VA:

U (V)
2,0 | 3,0 | 4,0 | 4,1 | 4,198 | 4,199 | 4,200 | 4,201 | 4,203
I (mA)
0,1 | 0,1 | 0,2 | 0,2 | 0,4 | 2,5 | 5 | 100 | 1000

I found it here http://www.zajic.cz/omezovac/omezovac.htm
 

Attachments

  • omez sch.jpg
    omez sch.jpg
    12.8 KB · Views: 5,133
kortas the currents are pretty good, but since you have to multiply this circuit by the number of cells in series, the BMS would not be simple.

Now some good news!

I've spent some time searching and found this (among others):
http://search.digikey.com/scripts/DkSearch/dksus.dll?Detail&itemSeq=114668139

Reference Type Shunt, Precision
Voltage - Output 4.096V
Tolerance ±0.2%
Current - Cathode 73µA
Current - Output 15mA
Operating Temperature -40°C ~ 125°C

This combined with an 300ohm SMD resistor in series would discharge a cell at about 13mA whenever it would go above 4.096V. That is about 1Ah in 3days.

Since it's only for balancing and Lipos tend to stay balanced anyway, it's good enough. The discharging current below 4.096V is < 65uA or 1Ah in 21months - should be OK.

With a tolerance of ±0.2% the resulting voltage should be 4.088-4.104V or 4.09-4.10V.

Price is great @ 52cents each. With pin 3 shaved off and using SMD resistors it's smaller than the JST plugs you need to connect it to the pack.


I've already ordered some and will let you guys know if it works.


WARNING! This BMS design is only to be used with voltage limited chargers. For bulk chargers set the max voltage just below number of cells x 4.096V. There is no feedback to the charger, nor does the BMS have capacity to discharge faster than the battery charges.
 
That circuit above using the TL431 is almost identical to the BMS that was designed by Gary and Bob around three or four years ago on this forum (http://endless-sphere.com/forums/viewtopic.php?f=14&t=3345). I can't see the schematic on that thread now, as it seems to have been lost along the way, but here's my copy of the later "Lifecycle" version that I made way back in 2008:



If you ignore all the control stuff you can see that the heart of this BMS is a shunt regulator very like the one above.

Jeremy
 
For me the simplest BMS is none at all. I do not use them and don't plan on using them unless I build a motorcycle or car. I balance charge every time and use a reliable LVC such as the cycle analyst or one I've designed. If you use a good RC balance charger like the Hyperion, it should be all you need to keep your packs blalanced and charged. Just make sure you give yourself enough headroom for the LVC setting. Packs become unbalance easily when reaching the "knee", and you should never go that low if you plan on long cycle life.
 
_______________________I bulk_______________
_____________________charge, so_____________
____________________a BMS (even____________
_____________________a simple_______________
_____________________one) is________________
____________________necessary_______________
____________________if I don't _______________
____________________want to ________________
________________disassemble my______________
____________pack. If this works, I will__________
__________have one small portable and_________
___________reliable bulk charger and a__________
____________battery pack with a tiny___________
______________BMS. For____LVC I'm___________
_______________getting_____a CA.____________


Previously I wanted to do a more complicated setup, but this should be foolproof, small and cheap - all important to me.

Sorry for the picture, but I made a promise in another post ;)
 
Done!

file.php

file.php

file.php

file.php

file.php

file.php


As seen in the picture I've charged the pack to about 4.17V to test the BMS. As you can see the last cell isn't connected to a BMS (BLUE-RED). This way I can monitor the difference the BMS makes. I measured the voltage on the resistor for cell No.1, and it was about 64mV, so less then 3mA discharge at 4.17V.

One important detail I missed previously, is that the resistors have to be around 24ohms, since the current is (Vbat-Vzener)/R and not Vbat/R. I used resistors with high tolerance values, maybe I should get some more decent ones. IMHO the tolerance on the zener is by far more important then the resistor, because the zener dictates the final voltage and the resistor only how fast it is achieved.

This time I used 22ohm ones, so with 15mA max for the zener, we have a voltage drop of 22ohms * 0.015A= 0.33V. Therefore 4.096V + 0.33V = 4.426V. <= If the battery goes any higher, the zener will burn!

I'll report on the progress of the battery and when I have an hour to play with the BMS I'll make a graph [V]/.
 

Attachments

  • 2012-05-18 14.22.59.jpg
    2012-05-18 14.22.59.jpg
    145 KB · Views: 2,325
  • 2012-05-18 14.24.02.jpg
    2012-05-18 14.24.02.jpg
    110.9 KB · Views: 2,325
  • 2012-05-18 14.24.15.jpg
    2012-05-18 14.24.15.jpg
    147.4 KB · Views: 2,325
  • 2012-05-18 14.24.33.jpg
    2012-05-18 14.24.33.jpg
    118.2 KB · Views: 4,912
  • 2012-05-18 14.25.45.jpg
    2012-05-18 14.25.45.jpg
    157.9 KB · Views: 2,325
Another 3 hours, the values stay as before. I've managed to measure the piont of inflection at 4.09V (I need a better meter). The current until then is more or less stable at 30uA. I'll leave it on overnight, but from what I see it looks perfect!
 
Surprise, surprise!

I measured the pack this morning and the voltages are 4.13, 4.15, 4.15, 4.14 and 4.14. That didn't seem right, so I went ahead and measured with a multimeter to get: 4.11, 4.12, 4.13, 4.12 and 4.11. With discharging currents ranging from 1.3mA to 2.4mA. So the conclusion is, that the Battery Medic is off by about +0.02V. Also all cells are being discharged (unlike I thought at first). I'll wait a couple more days to see where the cells will settle - I would like to see all at the same voltage.

From my yesterday's measurement of 30uA below 4.09V a 10AH pack not taking account self discharge should last 38years.
 
You'll find that the zeners will be highly variable, I'm afraid, as they have a wide tolerance. Also, because they have a very ill-defined knee, they will carry on drawing current well below the nominal cut off voltage.

In short, it's a nice idea but it won't work at all well. For balancing cells you need more current than you can usefully shunt through a zener, if you use a higher power rated zener then the ill defined knee will mean the cell voltage will increase with increasing current (the opposite of what you want) and the current that the zeners bleed off when the back is just sitting there will drain the pack slowly.

What you've been measuring isn't the zener voltage, BTW, it's the natural; characteristics of the cells, from the look of it. To test your circuit, remove the cells and then power up the array of zeners and resistors, then measure the voltage across each. You'll find the results will be very different from those measured so far.
 
I'm not using normal zeners, I'm using the LM4040. The knee is very sharp. The current with the present setup is <30uA at 4.08V. The tolerance on these is 0.2% and you can get 0.1% if you want to pay more. I'm satisfied with 0.2% = +/-0.008V per cell. As for the slow balancing current, you are right, but these can function without any problem if you have your charger switch off at 4.1V/cell.

It's really cheap, you can bulk charge all the time and your cells stay within 0.016V from each other.
 
Sorry, I thought you mentioned zeners earlier, I missed the mention of these shunt regulators. However, 15 mA is way too low for balancing, as it means you have to limit the total charge current to < 15 mA during the balancing phase. My DIY BMS is slow to balance a 10Ah pack at around 150 mA balancing phase current, it can take 2 or 3 hours to get all cell groups balanced. At 15 mA it might take a whole day or more to balance, plus you need a way to detect the first cell to reach full charge in order to switch the charger to the low current balancing mode.
 
Yes I called them zeners ;)

My charger works in a different way, it charges when below 4.1V and turns off when 4.1V is reached. So the balancing doesn't need to be as quick as the charging current. I just expect the charger to get the whole pack to 4.1V on average and then the cells, that are above 4.096V get discharged slowly. My battery will be on the charger all the time, except when I'm riding, so easily 20h/day. I think 1-2h per day should be enough. There is no feedback to the charger (other then the total pack voltage).

The info I have from GCinDC is that after not balancing his cells for a month or so, with everyday riding (charging twice a day) he has 0.06V variation. That with 15mA should be done in about two days, so I'm still on the safe side.

The cost of this BMS is $21 for a 10Ah 24s pack. The size about 1cm x 4.5cm x 8cm with JSP plugs. Without, it's like 0.5cm x 2cm x 4.5cm.
 
But how do you detect when a cell has reached 4.1V?

I used a TL431 and optocoupler, driving a diode OR arrangement to switch the charger current right down when the first cell reached 4.2 V. What happens in practice is that one cell consistently hits full charge before the others (due to the natural variation in cell capacity that's unavoidable). If you keep the charge current at the normal charge rate the shunt across that cell overheats very quickly, as the full charge current for the other cells has to pass through the shunt.

The way around this is to detect the first cell to reach full charge, then use that signal to turn the charge current right down to the balancing current. This then limits the dissipation in the first (and subsequent) shunts, allows the higher capacity cells to "catch up", but slow the charge process right down.

I can't for the life of me see how a simple array of very low current shunts across a pack will work on their own as a BMS.
 
But how do you detect when a cell has reached 4.1V?

I just measure the voltage of the whole pack. The cells are more or less balanced so when I get an average of 4.1V/cell some have 4.08V and others 4.12V.

Your way, finding the cell that reaches max first is much nicer, but I couldn't be bothered. If it works, then simpler is better.

I can't for the life of me see how a simple array of very low current shunts across a pack will work on their own as a BMS.
===========================================
Imagine you have a pack with only 2 cells:

before charging:
3.8V, 3.9V

Start charging.

after a while:
4.0V, 4.1V
at this moment the shunt on the second cell starts discharging at some 5mA.
This of course is very slow and the pack reaches an average value of 4.1V very shortly.
4.05V, 4.15V
Since the current is so small, the difference between cells is still 0.1V.
With the average cell at 4.1V the charger temporarily shuts down.
The shunt on the second cell discharges slowly and maybe after one hour manages to get the second cell to 4.14V.
The charger starts charging (the average cell voltage is <4.1V).

The cycle continues until all cells are of equal value.
===========================================

The BMS is done by both the shunts and the charger.
 
Having made a couple of BMS units, I can tell you what will happen in reality.

There are small variances between cells, both in capacity and self-discharge rate. The difference might be very tiny, but it will have an effect that will cause your method to fail (this is based on personal experience of just using TL431 shunts with darlington power transistors to make them capable of higher current).

Let's say you have a 10S pack and you charge it at a low current, say 2 A with a power supply that is set to 41 V (4.1 V per cell).

When the pack is partially discharged and you start to charge it the cells will be at around 3.9 to 3.9 V each and will probably all be pretty much the same voltage. All the shunts will be off.

The cells will stay at around this voltage for most of the charge period, but towards the end, the terminal voltage of the cell with the lowest capacity, perhaps only by very tiny amount compared to the others, will start to quickly rise and its shunt will turn on. This is the normal characteristic for LiPo under charge.

You now have a situation where one shunt is on, and holding 4.1 V across one cell, and the other cells are still at around 3.9 to 4 V with their shunts off. These cells will be trying to draw full charge current still, as there is still enough of a voltage differential (about 0.9 to 1.8 V) for them to try and do so. The only way they can draw that current is through the shunt that has turned on.

You have a series resistor that looks to be 220 ohms in line with each shunt. The voltage differential will be across that series resistor, limiting current through the regulator to between 4 and 8 mA as you intend. However, this then means the charge current for the other cells will be flowing through the shunted cell, but allowing the voltage across this cell to rise to about 5 to 5.9 V as it over charges. You will have a fair bit of current trying to flow through the first cell to reach cut-off, and your shunt doesn't have the capacity to limit it, because of the series resistor.

Please don't take my word for it, try it, as I (and others, like Gary Goodrum, Richard Fechter and BobMcCree) have done. You will find that one cell will, at some point, go way over voltage with a simple system like this. Maybe not on the first charge or two, but at some point in the life of the pack it will happen and you'll perhaps blow a cell.
 
That might be right down the road, but for now my pack stays balanced even if I don't use a BMS. I only bulk charge it all the time and after some 30 charges the difference between cells is about 0.03V. Do you think the bigger differences come with age or were a thing of the older batteries?
 
Back
Top