Thoughts on how to balance a bank, based on my experiences

We have all seen cells out of balance or had to send bank back to get “fixed”, me more than most for various reasons, all of them part of the learning curve, the Master Doctatorial Degree in “WTF Not To Do”.

Issues like:

  • BMS is not suited for daily use on a solar system. Lost a bank because of this.
  • Cells not A Grade, nor batch matched.
  • Experimenting in mixing and matching different cells in the same bank. Jip, it can work for a period of time. Drop the bank ah to the smallest cell.
  • Also mixed and matched different models of 280ah cells. For a limited time it is fine, just watch the cell volts on high SOC.

I have seen:

  1. Where the ah counter on the BMS reverts backward when charging IF the cell voltages jump around a teeny bit.
  2. How the BMS jumps to 100% SOC because one or two cells have reached a certain high voltage. AH put back cast aside at this point. Note: Over time, this has a cumulative effect on the actual SOC of the bank.
  3. How, in seconds, a cell shoots out to 3.65v and BMS disconnects. At the time, BMS SOC hits 100%.
  4. That “flat charge curve” of Lifepo4 cells, the BMS sits for an hour or more on 80% SOC, happily absorbing big amps, 0.008v Delta, whereas BMV shows 95% on coulomb counting at the time, even 100%.
  5. Why it is a good idea to discharge and recharge once a day. It helps with the balancing, a LOT!
  6. BMV will pick up nuances in volts/amps, BMS does not register it even, yet there are still amps going to the bank … and a cell shoots out.
  7. How, on 280ah cells, it is a good idea sometimes to hit them with as many amps as you can, not exceeding 280a obviously. Same with discharge. The cells appear to handle the Delta better, than on smaller amps charged assuming your cells are in balance.
  8. How working with 280ah cells, the mA balancing, takes much much longer than on say a 100/120ah bank. So a week of waiting for the BMS to balance becomes a month.

Tools one can use:

  1. Top balance the bank, even a 2nd time if it goes out of whack is first prize. But, it can be very tedious to strip it out … and dangerous if you go by TTT.
  2. Keep the bank on Keep Charged for a few days, see the BMS do its thing IF a cell does not run away that is. I do this now with bad weather. Bugger this shiite of trying to recharge it the next day.
  3. Victron has added under DVCC, Limit Charge Volts, the problem is, it is over the bank, so say you limit to 54v, 15 cells are well below that, one cell shoots out, the bank is still below 54v, so the feature is not “activated”. The banks’ voltage must reach 54v in total. Saw my arse good with this “mistake” I made.
  4. Limit charge current under DVCC, THAT works the best!
  5. If you have access to the cells, use “The Bulb”. Tedious, painful, taking great care not to get distracted and walk away. Painful to get that one cell back in line if you have forgotten about it.
  6. If some cells stay “behind”, charge them individually a teeny bit, and watch the volts, to top them up. Again, take great care not to walk away, stays focussed.

Conclusions I came to, having done this manually myself:

  1. Keep a track of the banks’ Delta, ideally in software for record-keeping, as it is a good indication that there is a problem brewing.
  2. When a cell, one cell:
    2.1) exceeds 3.45v, drop charge amps to 2amps.
    2.2) exceeds 3.5v, stop charging completely.
    This gives the BMS the chance to balance faster and stop a runaway situation resulting in a potential DC Ripple when the BMS disconnects because of one cell.
  3. If you are around your system, and the bank goes out of balance on high cell volts, switch on big draw items in the house (stove/oven/geyser), to drain some of the excess volts from the bank.

Focus for Lifepo4 banks should be on the individual cells to pull back the charge current, stop if even, instantly when your pre-set parameters are exceeded.

Hope this helps other DIY’ers … add your tricks here, please.

@Plonkster, NO derailing! :rofl:
@mmaritz … watch him.

I’ll just add that it is very common for a BMS not to notice charge current. They either use a shunt or a hall sensor (sometimes two, if it is a fancy unit). Whatever device you use, it has to cover a large spectrum (from 50mA all the way to 200A or even more), and quite often either the sensor or the ADC just doesn’t have the granularity. Usually the BMS will sacrifice accuracy at the low end, and that’s when you get…

But it’s not too big a deal. I think it is something you simply need to design into the system. If you are designing an off-grid setup with a massive battery (ergo, accuracy low down is going to suffer), but your average night-time load is a few hundred watts… you’re going to see significant SOC drift. Don’t like it? Buy a battery with a better BMS, or pair it up with a BMV :slight_smile:

1 Like

Forgot that part. Thanks!
It is one of the things that tripped me originally, where the bank still gets charged, unbeknownst to the BMS, the cells shoot out, because of crap BMS/cells.

BUT, on the new 280ah bank, it is good for balancing!

Few of us now rely 100% on Victron settings, BMV and BMS, to do the thing. BMV giving the SOC.

I have BMS and Smarshunt. Hence I can “talk the walk”, cause with some tuning of the BMV, one can get the two damn close more than not, sometimes in step even, most of the time close enough IF the cells are in balance.

The JBD BMS we use, is the best in the “price class”, next level is >R10k BMS’es.

Cool to see how Victron, when the bank charged to set volts, how it charges, discharges a while, till all is settled or whatnot happens then.

I think Seplos might be better in some aspects and <R10k.

Probably true, for sub R3k, we are not doing too bad interfacing with both an RS485 port and BT for the App, which can go 8-18 cells to boot.

Thought to share, if you look at 4 number figures for a BMS, Victron has some BMS’es they approve, like i.e.


After I finished this post I realized that it could be perceived as rambling so read at your own peril :slight_smile: "

I am still wrapping my head around the whole lithium cell behavior. Coming from a lead acid bank that I monitored / looked after as best a possible and as a result got a fair value out of them it feels almost like you need to disregard all of that and start over.
I have been logging that data for about a month , on a 16 cell 280a EVE bank ,and a few observations (That will most likely change as time goes on) .

Soc - That BMV and BMS for the most part will stay “in sync” but as for lead acid I still dont trust them 100%. The BMV will some time “jump” to 100% when certain conditions are met and with solar their is always a chance that the weather will create these conditions and if you are going to run a bank on its limits this can create issues.
Example : Lets say you would like to discharge your bank to 10% soc every day but the BMV “jumped” to 100 from 95% you will , in theory , discharge your bank to 5% the next time and if that happens three times then you are at -5% but still “believe” that you are at 20% …
The BMS’s soc feels even a bit more crude compared to the bmv and it does make sense as the whole BMS is still cheaper than the BMV.
So then the question will be who do you trust …

It seems like the volts of the bank could be a “better” indication of the banks status but then you could have another challenge.
From my understanding “volts” is the part of a lithium bank that could possibly do the most harm and that is why most diy’s are “obsessed” with the delta of a bank but now a new question arrives - when do you check the delta if you are not logging the data?
For the most part my delta seems to be reasonable but if I look at the Max daily delta it seems to be “growing” ever so slightly. If you don’t look at the bank the whole day and you don’t log the data you will most likely miss it - but is that a bad thing?
On my bank the deviation from the standard only happens at the end of the day/charge and is only visible for about a hour or so and then it settles back to “normal”. If I didn’t see that would it have made a difference…
In some of the forums , even here , I have read that it is better not to charge the bank to 100% but 95% is better but now I circle back to what is 95% soc as I still don’t trust the BMV/BMS soc.

The next step would then be to look at the volts - most of the places I have looked at it seems like the sweet spot would be 3.45v for the cells or 55.2v on a 16 cell bank.
But now there is a new problem , or maybe perceived. Do you look at the bank as a whole or at cell level. As you might have a bank that is at 55v but if you have a delta of 0.5 the one cell could be at 3.95v or even worse so that seems to be not going to work.
So now you need to look at cell level . For the moment that is what I deiced to do.
If the highest cell in my bank hits 3.45v I change the charge current to 2A that will give each cell , in theory , about 125 mA of charge that should assist the bms to balance the bank and if the high cell hits 3.48v I call it quits and go to 0A.
Now I am not sure that this could be applied universally as each bank will differ in dynamics but for the moment that is where I am at.

I suspect that this will also change in future, ,

Many of the questions you ask, whether you should look at the whole bank or per cell, the delta at the end of the day, is why a good BMS should be better than the BMV, but the cheaper ones are not so here we are.

At the end of a charge cycle, there will always be one cell that jumps out. In a well balanced bank, this still happens. The amount by which it “jumps out” should reduce over time, but there is always one cell that has slightly less capacity than the rest, and that cell will always jump out.

The moment you see that cell jumping out, the battery is full. I mean we can argue all day about whether it is really full, since the other cells are at a lower voltage, but what I am saying is in a well balanced bank, we DEFINE this point as being 100% full. You will see some BMSes also jump from 95% (ish) to 100% rather suddenly. Most recently I saw this on a Dyness battery. It gets to 95% somewhat slowly… and then that last 5% takes only a minute, way too quick to be a real 5% of capacity.

This internal knowledge about individual cell voltages combined with a good shunt and accurate Ah counting should make the BMS the better estimate. I suspect, however, that cheaper BMSes rely more heavily on cell voltage readings, and less on actual Ah counting, and hence we have this discrepancy.

Because of the flat discharge curve in a LFP cell, it is easier to do voltage-based estimates at the high- and low ends. Between 30% and 80%, you are mostly reliant on Ah counting. That means that below 30% and above 80%, the BMS is typically the more accurate estimate. In the middle, a good Ah-counter will do better.

Something one could probably do, with a cheap BMS, is to use the lower of the estimates at the bottom end, and the higher of the two at the top end. It’s an experiment one could maybe try.

When you drop the charge current to 2A that is 2A into each cell, not 125mA, since the 16 cells are in series. You can allow the highest cell to go even higher before dropping the current to 0A as that will allow the BMS to do more balancing (most of these BMSs only balance while charging). Anything below 3.65V should be safe (the voltage can change quite quickly when you are up around 3.6V though, so do leave a little bit of a safety margin depending on how often you get updated cell voltage measurements).


Ah , true the good old series vs parallel mistake. Thanks