Alternative balancing ideas and charging from solar

Better balance algorithm and charge stoppage anyone? I have LiFePo4, so I will use those numbers for this example.

I have charging shut off when any cell reaches 3.55V. It resumes charging when all cells are below 3.4. However, I think it might make sense to change that to stop charging at say 90% SOC, then every X days allow it to go to 3.55 to reset the SOC counter so that it does not get out of whack from accumulated error.

I think it would be good if the controller looked at all the cell voltages when the first cell hits 3.55V and then tell that top cell to bleed Z ah if any other cells are below 3.55V - Y.

There are 3 points to this. 1) I don’t think it helps the cells to be constantly hitting 3.55, then after they relax, going right back to 3.55. and 2) It does not make much sense to turn on the bypass at say 3.50, only to have charging and thus bypass stop moments later. Hardly any balancing will have been accomplished for my 280ah cells. 3) In addition, if all the cells are within tolerance, it makes no sense to do any bypass.


I have not looked at the module code, so I have no clue what I will find.

Wouldn’t you normally set the bypass to kick in at a higher voltage than you are charging to?

Bypass is there it catch cells which go higher than the set point during charging.

In a perfect battery all cells will charge uniformly until the maximum charge voltage is reached. This limit is normally set in the charge controller. Bypass wouldn’t be needed.

In the real world, individual cells will charge quicker than others so the voltage on that cell goes high, is caught by the bypass whilst charging continues on the other cells.

As long as the bypass can consume more power on that cell than the charger is producing then the cell will hold or drop voltage, allowing the lower voltage cells to catch up.

On a rules point of view, I think a count of the number of modules in bypass could be a good indication of when to stop charging. Along with the other critical safety limits on a per cell and temperature basis.

You mean pack voltage, not cell voltage, right? That would only work if the bypass can drain the current that the charger supplies, right? My solar can deliver 50A. Bypass is sending the current through the resistors on the module and that can only do 850mA when it is cold, right?


However your solar won’t be delivering 50A into almost fully charged cells, what does the current drop to at that sort of voltage?

I have not looked at that moment, but I don’t see any reason to believe it won’t be delivering that close to that. The batteries resistance does not rise to stop the current, right? I don’t have a solar charger. The MPP of 60 cell panels is very close to 27V and thus an MPPT does not add value. But even if I had one I don’t see how the charger will back off.

Have you looked at the charge and discharge graphs/curves for the cells, I think you will find the current drops towards the end.

At least that’s what should happen in a CC/CV charger. Do you not have anything between the solar and battery?

I am not sure what you mean by checking the cells. The charger needs to drop the current near the peak if you are expecting the cells to not be overcharged, right? The battery resistance is not going to rise to stop the current, right? That will happen with lead-acid, but not Li, right? Also the charger has to react very fast to not run the voltage too high.

I use the electrodacus DSSR20, which is just a diode (stop current from reversing at night) and a relay between the battery and panels.


That would be fantastic if that is possible!!
I thought I need to do it manually every 3 months.

For LiFePO4 high and low SOC is not benefiting for the cells.
Using charge up to 85-90% and prevent discharge below 10% increase the total lifespan or total cycles, apparently quite a lot.

My charge is set at 3.35 per cell, and 2 8 as low.

Or 52.3 and 45v for the 16 series.

This have as result that the cells do not Balance, untill I find it necessary and set the top voltage to 3.55 or 3.6 per cell.

That day (one with enough sunshine) the cells are balanced again, and then can go weeks / months without top charge.

One every 6 weeks would be great also.

As I have no influence on the weather, it should be best to (if possible) make it a voltage that all cells need to have reached, before turning back to the 3.35v (85-90%)

If that is to complex (to many lines of code for the small memory)
Setting once a month would be good also.

Now I do it every 2 or 3 months.
Often not really needed yet, just slightly out of balance.

Once a month should be more then enough.
It can miss one or 2 times without being a big problem.

And if there would be a real problem, that is why we have the rule sets :slight_smile:

I am going to do it unless @stuart tells me it won’t work.

I think @stuart is saying that everyone else has some sort of constant voltage charger that will be sure to drop the amps to not exceed that voltage, but that’s across the whole pack. If the cells are reasonably well balanced, then all should be OK. If however, the cells are not within some range of being balanced, you can have a scenario where the top cell gets too high a voltage and the module cannot dump power fast enough to protect it. If you’ve set the relays to turn off on a large cell voltage, then no harm will be done, but then no significant balancing will be done either.

Even if I had a constant voltage charger, I would still rather shut off at 90% SOC, and only go up to 3.55V to remove accumulated SOC error and check cell balancing. But, then that assumes one has SOC, which clearly is not normal for DIYBMS users so far.

It seems to me that a setup where the charger sets the V to 3.55 (x N cells) will eventually single out one cell for abuse. That cell will reach 3.55 first every day, never quite be in balance with it’s buddies, and because hitting 3.55 every day it is suffering more than it’s buddies and thus slowly loosing its capacity, ensuring it is always the victim.

Might be worth having a read through this

You can see from the graph that the current drops as the voltage increases, Full charge is reached when the current decreases to between 3 and 5 percent of the Ah rating.

I know you have a different battery chemistry but the same principle applies.

If what you stated were true, you could charge an EV car (for example) in a couple of minutes, but instead you can see that the last 20% of the battery takes almost as long to charge as the first 80%.

Lithium Charging is different from lead acid, the charger needs to switch from Constant Current (CC) to Constant Voltage (CV) if I’m correct its supposed to happen at 90%.

One of the reason why I like to keep the SOC low to avoid trouble :slight_smile:
My hybrid MPPT Inverters have lithium settings.
Sadly only for S15.
Good thing is it shouldn’t get easily overcharged that way:-)
It should go to CV on time.
I set it to lower settings now, as the DIYBMS isn’t installed yet.

Anyways, Yes.
The chance that one cell gets higher charge before balance is huge.

I have (a real) 1A active Balancer (about $80) from China, that Balance always, 24/7 no matter the SOC.
That helps.
For 90 days it’s my only “BMS”, no any problems, but I did limited my charge current to max 150A (for [email protected])
(16*280Ah is being added when the setup is ready to finish)

I know many people say balancing isn’t really needed with good matched cells.

I don’t know why they say this, as it’s the nature of LiFePO4 to get out of balance.
(Actually all batteries that are build up of separate cells)

Lead acid is special to balance automatically between the cells, LiFePO4 doesn’t.

DIYBMS have a huge advantage to be able to set the cell balance start voltage, and that it’s capable of burning off a lot of current.
Relative speaking, where the Daly does 35mA, this one 850Ma without cooling.
There are 20* 1/4 watt resistors to do the dump load. That would make about 1.5A max.
I’m equipping my cell PCB’s with aluminium coolblocks, perhaps overkill.

It won’t be enough to burn off all charge, sure, it will slow down the charge, so the others can catch up.
If set early at 90% SOC it should do the trick :slight_smile:

I manually charged cells with PSU a few times and witnessed that it gets stuck at 3.49V for ages. Once it hits the 3.5 it goes fast to 3.65 and up.

Cell voltage during charge is not SOC.

I’m working on my setup, not installed yet.
So I need to find the sweet spot.
Probably setting it at 3.48 is soon enough to let the rest catch up.

@John_Taves, Great thanks for the improvement to make the BMS go into AP mode, so it keeps on working and keeps being accessable!

With possible the shunt added and “DYIBMS v5” (@stuart, sorry for using that name again) or better the development of spin-off “actibms” active balance we are making a wonderful product together!!

Happy to be part of this wonderful project!!

I apologize, I did not intend to say that the resistance was magically flat with respect to state of charge. That document that you referred me to did lower the amps that my intuition was assuming, but that does not change the fundamental point. My point is that for any decent sized cell, the modules cannot prevent overcharge. If I use the 3% that’s 8A for my batteries. You’d have to have a 28ah battery before you were at the point where a module can technically prevent overcharge, (or a charger that will do max of .03C). In addition you’d have to be confident that the module was able to get rid of the heat. Maybe I am confused, but I don’t see why anyone would be putting 1 module for that few Ah. (@Keith pack is 160Ah per module, mine 280Ah, and @fhorst1 uses 280Ah cells too)

In addition, the longer the cell is at capacity, the faster it wears. I have not done any math, so this is more of an assumption than a proven fact, but it makes more sense to add another battery and avoid going past say 90% SOC. I assume the cost of an additional battery to get to the desired capacity is much cheaper than the additional wear that going past 90% causes. If you take into account labor to replace a tired pack, I assume there is no point to doing the math to prove this.

This is why I think that balancing is not necessary. You must have a BMS that will shut off the charge at least when any one cell reaches the max V, and preferably when the SOC of the high cell reaches say 90%. And of course the same at the low end. If you have that, then balancing only increases the capacity by whatever the batteries were out of balance, thus balancing is a nice thing to have but not necessary for battery longevity.

Is there any reason that the software cannot be modified to do tell a module to dump XAh of juice? I know I can modify the controller to gather the info, and decide how much to drain.

The module knows nothing of “amp hours” (Ah) just the voltage of the cell.

I assume the ATTINY can keep track of time and we know the resistance of the module, so isn’t this a trivial calculation for the ATTINY or the controller?

When I added the current measurement and modified the controller to use it, I have a setting where you tell the controller the nominal capacity of your batteries. (If you run the batteries to full, then down to empty, the controller will tell you what capacity you have.) I would use the nominal capacity as a multiplier for the baseline drain. The controller would keep track of what happened after that drain for the next time. For example, if the previous top cell is no longer the top, and we have cells out of balance, then tell the next cell to drain half the Ah that we told the previous top one. If the same cell is still the top dog, then double the drain. I would keep track of that history to make sense of the individual cells SOC.

@Bill.Thomson, Sorry, but this is confusing. Are you intending to say that my statements are incorrect? Unless I made a mistake in my writing, everything I stated is supported by the referenced article. Taking that quote, which explicitly refers to a larger context, out of context and putting it next to an article with that name, sure seems to tell the reader that my statements are incorrect.

In a manner of speaking, yes. Specifically this one:

The article says:
Since new cell balancing technologies track the amount of balancing needed by individual cells, the usable life of battery packs is increased

Doesn’t that sound like balancing affects battery longevity?

From How Does Cell Balancing Improve Battery Life

At that point, if the energy keeps flowing through the cell, it gets damaged beyond repair. Now, if you attempt to charge this group of cells to the correct combined voltage, the healthy cells get overcharged and thus get damaged as they will take the energy that the already dead cell is no longer able to store. Imbalanced lithium-ion cells die the first time you try to use them. This is why balancing is absolutely required.


These 3 words indicate that there is a larger context necessary to understand the sentence.

This sentence explains that you did not pay attention to the context.

The DIYBMS does not do this.

This is key. I don’t do this because


All of this is discussion is in response to my posting that started with:

See above for that.


All I’m saying is that your comment

goes against what 45+ years as an Electronics Technician tells me. That’s all, nothing more.

If all the cells in a series string stay within their normal operating ranges they should be fine regardless of what their neighbor cell’s voltage is.
Not to say that balancing the cells makes charging/discharging much easier.