diy solar

diy solar

BMS active balancer becomes unbalancer as cells age

rustyrotors

New Member
Joined
Dec 29, 2022
Messages
29
ive noticed my 2 year old, diy lifepo4 battery getting out of balance, two cells are out of balance, one SOC is about 10% over and the other is 10% under. 8S eve 304ah on a jk bms with 2A active balancing set at 3.4V. seems like what is happening is when its charging, the weakest cell's voltage is surging, making the bms think that cell needs to be discharged, so it dumps its power into the lowest voltage cell, the one with the least voltage surge. then when charging is done and its floating, the two cells reverse voltage state, the cell the balancer thought needed discharging is now the lowest voltage and works to undue what it just spent 1-2 hrs doing during charge. basically the weakest cell gets dumped into the strongest cell during bulk/abs charge, and effect is reversed in float. if the float voltage is not close to 3.4V, then the effect is never reversed, and the cells get pushed further and further out of balance every day. it seems on a newer battery, if the cells are well matched, they all surge together and this effect does not happen. but as cells age unevenly, the surge/sag overcomes the balancers ability to measure cell SOC based on voltage

problem is i dont really feed comfortable floating the cells at 3.4V for 4-6hrs a day, it degrades cell capacity. ive tried lower charge voltages, but only makesa difference of 20min in charge time, still spends roughly 1-2hrs every day putting the battery out of balance. at this piont i would be better off i disable balancing and just do it manually every so often. if only there was a way to disable balancing during charging, and only enable it during float or low current to eliminate the effect of voltage surge/sag. im looking at external active balancer triggered by victron relay output
 
Last edited:
I am surprised to hear of an EVE 304 having a problem at the 2 year mark.
What typical and max currents were you pulling?

I understand this problem. I have seen this behavior for the last decade. It is not unique to LiFePo4, it is every chemistry including lead acid , tho you just dont notice it with lead. You are describing cascading failure. Shttiest cell gets used more (balancing), spends more time at max charge, and hits lowest charge first.

The only appropriate course of action in my opinion is called bottom balancing. But I dont know and havent thought of how this would pertain to lifepo4>

Can anyone else chime in?
 
Last edited:
Don't try to balance at 3.4. That's barely touching the knee.
@Steve_S has a good write up somewhere about best practices for this.
 
the are supposedly grade A cells from Amy Zheng. Charges at 0.1C, discharges typical 0.02C

Don't try to balance at 3.4. That's barely touching the knee.
@Steve_S has a good write up somewhere about best practices for this.
how does increasing the balance voltage prevent the problem? i understand it only reduces the duration of the problem. any balancing during charging at whatever voltage pushes the cells further out of balance. its only when the C rate drops, like during float, the balancer actually works correcty
 
Last edited:
the are supposedly grade A cells from Amy Zheng. Charges at 0.1C, discharges typical 0.02C
Thats sucks....
how does increasing the balance voltage prevent the problem?
I dont think it will.
The HIGH cell is the bad cell that raises in voltage first.
The balancer will steal from the cell that needs it in the long run, no matter when you start balancing.
 
Thats sucks....
yea i need to do capacity test. i think have been very nice to these cells, they have never been overcharged, and hottest ive ever seen them get is 38C in middle of summer. i may have put some memory in them partial charging them the first year, i was bulking to 27.6V floating at 26.7V, but the past year ive been bulking to 28.8V with abs and float disabled, unitl i noticed recently one of the cells hitting OVP
 
I think a few of us notice this false runner behaviour, but maybe not as bad as you. Weirdly I find in one battery it's normally the middle cells of the string that seem to raise voltage early then become the lowest voltage cells during absorption.

I charge to 3.5v per cell (28v) absorption for 1 hour and then float at 3.375v (27v)

I set the JK balancer to come on at 3.49v to minimise the first false rising voltage cells balancing early. One key that I think helps is I use Dbus-serial battery (Victron) and I've set that to allow zero charge as soon as a cell hits 3.505v, that allows the others to come up with the balancer without overcharging any cell.

Although I charge at 0.25C around 250A across the three batteries when the suns out or the genny on, so I've also set a ramp down of charge current to stop the runners hitting the balance trigger voltage too soon, my lowest is 0.1C @ 3.49v (Actually 0.05C) just before zero charge current if a cell hits 3.505v, so I'm surprised you have this badly if 0.1C is your max charge. I find once they're up to around 27.90V it only takes 15min to get them balanced to <10mv but the Dbus-serialbattery charge controls really help with this. I think many commercial batteries also reduce charge current close to target voltage / 100% SOC but most DIY BMS's / charge controllers don't have a way to programme it for DIYers

My charge settings

CELL_VOLTAGES_WHILE_CHARGING = 3.505, 3.49, 3.48, 3.47, 3.46, 3.45, 3.30
MAX_CHARGE_CURRENT_CV_FRACTION = 0, 0.1, 0.2, 0.3, 0.5, 0.5, 1
(Fraction of the cell 0.5C rating - so a fraction of my 170A 0.5C for my 340Ah Cells: 0.1C = 17A)
 
How small are these cells? Even if the balancer moves 2 amps for 2 hours it is off by 4 amp/hours max.
Going full charge then mostly discharged how far off are the cells at the bottom?
 
I'll dump more opinions here. Not at you, just cause I feel like writing something this morning and you have the interesting post of the day.

Disclaimer: hwy17's opinions are known to be amateurish, unfounded, pointlessly contrarian, and formed in the pursuit of dogma over reality.

There are a couple themes of pitfalls that I think the DIY solar community method is self inflicting:

1. Balancing during a rising voltage range in an attempt to get balancing done during a limited absorption window because the float voltage is going to deflate the balancing pressure. E.g. Bulk/Absorbing to 3.45 but starting balancing at 3.4 or 3.42. Balancing is being applied to cells that have not even broken out of the voltage boundary.

2. Applying huge active balancing currents, again also in the attempt to get balancing done in this limited window.

The first one creates the opportunity for bad balancing currents like you describe, the start balancing voltage is too low to reliably target cells, and the BMS is likely to start picking on the wrong cells. The second one amplifies the first, doing 10x the damage that passive balancer would when it's wrong.

I disagree with one concept in your logical model of the problem: Lower capacity cells does not fundamentally create a force that brings them back to a higher voltage first on every charge. If you have 4 glasses of water with 55, 59, 52, 52 ml of water in them, and you take 50 out of each, and then you add 50 back in, they will meet back where they started. It does not matter that the the 52ml glasses got more empty in the process, they will still all come back to where they started. Low cells do not intrinsically overshoot on every charge.

Proposed solution:

Solve for the original sin contained in pitfall 1 by never balancing any cells below your highest charging voltage. This way, the BMS can never be wrong, if a cell exceeds it's fair share of the highest charging voltage, then it is factually out of bounds and it has no excuse for being there.

So if your charge profile looks like Bulk 3.5 Absorb 3.5 Float 3.375 then set the BMS to start balancing at 3.5 and only balance cells over 3.5.

The downside of doing so is possibly not achieving enough balancing energy during the balancing window. But you have an active balancer that can work fast, and are currently suffering from the opposite problem - excessive balancing.
 
Last edited:
Lower capacity cells does not fundamentally create a force that brings them back to a higher voltage first on every charge
Wouldnt a high cell resistance give a fake SOC representation to the BMS?
A high resistance cell would need a much longer, and much slower charge to get to 100%?
There isnt any way in my opinion to get a high resistance cell to charge in the same time frame with the same charge current in a series battery.

Am I wrong? Just spitting in the wind.
 
I need some education.

With these cells, the cell that reaches a higher voltage than the others first when charging, is it doing so because it's actually getting to full charge first or because it has higher resistance that is limiting current flow into the cell and that cell is going to take longer to charge than the others?
 
how does increasing the balance voltage prevent the problem? i understand it only reduces the duration of the problem. any balancing during charging at whatever voltage pushes the cells further out of balance. its only when the C rate drops, like during float, the balancer actually works correcty
If the balance voltage is higher, just before or at target absorption voltage it's not going to start to unbalance the false runners early like before with a lower balance voltage. Until they are all up to the target voltage, and the closer they are to target voltage (further into the voltage knee of LFP) the more closely voltage is related to SOC, so less likely any cell that falsely showed a high charge voltage early, will still be an outlier. You really don't want them balancing whilst floating. Personally I don't think it's a big problem floating at the cell nominal 100% SOC voltage: roughly 3.375v (you can't overcharge them, anything above and you can) some chargers and BMS (Seplos) don't even have a float, they constantly call for the absorption voltage all day!

OGG has a video on setting balance voltage:


i was bulking to 27.6V floating at 26.7V, but the past year ive been bulking to 28.8V with abs and float disabled, unitl i noticed recently one of the cells hitting OVP

I think you just need to set balance to absorption voltage and set either a tail current of 0.05C cutoff and wait over a few charge cycles, or use serialbattery to stop charge at your target tail voltage with an absorption time for balancing, or use the open source charge cutoff logic driver. They should come back soon enough with more standard charge settings.
 
I was invoked, quickly looked through this.
1) A "reasonable" charging profile is key here... Pushing it over the edge can result in issues, just like you are seeing.
2) LFP has NO MEMORY this chemistry does not allow for that.... Let go of legacy nonsense that does not apply to this chemistry.
3) There is ABSOLUTELY NO HARM in floating LFP "provided" it is within the working voltage range. DON'T float above that.

I run 24V systems, have been down this path as I run with BUlk Cells, B cells & Grade A Perfectly matched cells... you want fun juggling that mix to make'em happy, not hard once you figure it out.
See here for a solid profile as I use with my MInite Solar Controllers AND JKBMS settings (Non-Inverter Type in these).
THERE IS A DIFFERENCE, I changed my Start Balance Volt to 4.2V

Real Experience:
The Bulk & B cell packs keep up very well with the Grade-A packs BUT the deviations of the cells varies a bit at the top & bottom of course. By the time Bulk is finished & entering into ABSORB, Active Balancing is already doing some minor lifting, in the worst pack (bulks) there may be as much as 100mv difference. By the time Absorb is done (<1 hour to reach 14A [EndAmp setting]) that differential is usually down to about 40mv and within 30-45 Minutes of float that are all under 0.010 at which point the BMS' go into idle rest mode, just trickling in as needed.

Within 1 hour of entering into Float Mode, all packs are 100% with <=0.010 Delta in each pack.

I am now in process of finalizing out my systems, this will result in more detailed pages with specs & settings. Very soon, my bank will consist of 6x 24V/280AH Packs with 200A JK-Inverter BMS' at which point I'll do another full write up on that setup... I am transplanting my existing 280AH packs also into the new cases with new BMS, so everything will match for management & control.

Side Note: When dealing with "RUNNER" cells there are two issues.
1) When charging, some can reach a point (typically around 3.4x Volts +/- a bit) and all of a sudden they take charge faster that the others.
This is ultimately the LIMITER, because as soon as ANY cell reaches HVD the BMS stops incoming charge thus handicapping it, even if other packs continue to charge & increase their stored AH, the one will hold them back when it reconnects to catch up. The problem is, that when reconnecting it will take a burst & disconnect again. As soon as the other packs are full and stop charging, the Limited one will continue to pull to try & catch up but because it is in burst, it never will and as a result it will Draw Down the other packs. THIS IS OBSERVABLE ! The trick is to find the sweet spot to prevent the Runner from going high, the only way to do that is to ensure your profile is not overly aggressive.
* GOTCHA'S !
- Sometimes, A Runner is caused by loose/poor/corroded connections (usually slower taking charge)
- Cell #1 or Last Cell in Pack may also appear as runners and could be a result of the connections as well.
- A weak cell from factory will appear, there is no way to fix other than to replace. These would be evident Very Quickly right from the start.
2) When DIScharging, the runners will drop voltage fast "after" a certain point, typically around the 3.0V mark (end of working voltage range) where the cell discharges faster than the rest. These are the ones that can cause a shutdown via LVD if they are low enough even though the other cells may be quite higher. This is important to note (by observation) to see where that threshold is and to prevent Inverter or SCC shutting down improperly.

Many Solar Controllers will disconnect & goto defaults if the battery "vanishes" from them. Pending on SCC setup & Type, this can result in major pain... I have seen some that come back thinking they are 12V when in 24 or 48V banks... As you can imagine, the result is NOT good.

Hope it helps, Good Luck.
 
Wouldnt a high cell resistance give a fake SOC representation to the BMS?
A high resistance cell would need a much longer, and much slower charge to get to 100%?
There isnt any way in my opinion to get a high resistance cell to charge in the same time frame with the same charge current in a series battery.

Am I wrong? Just spitting in the wind.
The electrical theory surrounding IR deltas effect on the string balance are I think the shakiest area of understanding for all of the amateur community, including myself for sure. Some users like RCinFLA or UpNorthAndPersonal are probably at another level of understanding, and there's a barrier between their ability to explain it to us and our ability to absorb it and get up with them. I never know where to put Steve because he is obviously experienced, but I find his methods dogmatic (I am the pot calling kettle black here) and prescriptive. Steve has a method based on his theory, but it's mostly a method to be followed and if there are problems, then troubleshooting will be applied to how the method is not being followed correctly, rather than debating the theory of the method.

Anyway, dramatic characterizations that nobody asked for aside, here's my amateur mental model of cell variations and balance in a string:

1. The primary effect of a cell with high resistance would be to resist current but, importantly, resistance affects the entire series string. Resistance can not just limit energy input into the affected cell while passing higher energy input into all others. If pack amps is 10 but high resistance cell is limiting current to 9.9 amps, all cells in string get 9.9 amps. This is not an unbalancing effect.

2. The secondary effect of a cell with high resistance is that it's losing energy as heat because of the resistance. It's resistance is causing the whole pack to draw 9.9 amps instead of 10, but at the same time, it's internal resistance is causing itself to lose .1 amps as heat, 9.9 are flowing through whole pack, let's say health cells are absorbing all 9.9, but the unhealthy cell is getting 9.9 and losing .1 as internal heat so it is only absorbing 9.8 as real chemical energy. This is an unbalancing effect. (amperage figures here are made up for example and not intended to reflect real ratios, I don't know the real world ratios).

3. Self discharge presents a separate effect, with a weaker cell potentially self discharging faster than healthy cells. This is an unbalancing effect that happens continuously over time and not just during charge and discharge. Self discharge is probably associated with high resistance, with "weak" cells suffering from all these effects, 1, 2, and 3, at the same time.

What drives me to a contrarian opinion here, that weak cells do not inherently cause significant imbalance every cycle, is the different way the DIY EV community describes these problems. In the EV consensus it's more like this: Weak cells affect pack capacity by bottoming before the rest of the pack, that's it, the pack stays in top balance, do not try to twist the cell around with active balancing at the top, it's a bottom problem only.
 
Last edited:
Back
Top