What's Accurate SOC & Why are Batteries Aging Differently in Bank of 45 48V 100Ah Lithium Batteries?

Hi Everyone! This is my first post.

I am spending some time volunteering at a hospital in rural Malawi. In 2022, in a project funded by donations, a grid-tied ESS with a sizeable solar array and battery bank was added, stabilizing the power supply for the hospital and providing backup power during all-too-frequent utility outages. The battery bank was added onto in 2024, increasing the storage capacity. I am coming in as a residential electrician from the US, doing my best to learn about the system from Victron’s website, and I’ve finally hit the point where I have some installation-specific questions I can’t figure out on my own.

The system described briefly:

  • 3-Phase 230V 50Hz Grid

  • 6x Victron Quattro 48/15,000/200 - configured to 3-phase

  • 7x Fronius Symo 15.0-3-M - one on AC Input, six on AC Output

  • 45x Leoch 48V 100Ah LiFePO4 batteries, arranged in banks of 5, with a Victron BMV-700 monitoring each bank of 5

  • Victron Cerbo GX Controller

Lately, I’ve been looking into battery health and State of Charge readings, to make sure we are doing all we can do to take care of the investment and get the most out of the system. To do this, I have been using the built-in display on each individual battery to get capacity and SOC readings and then comparing that to the BMV readings. Below is a data set from this morning.

Bank Battery Model SOC (%) FCC (Ah) Rm (Ah) Cycles
1A BMV-700 53.3
1 Averge LFELI-48100TB 47.46 93.1 44.2 703
2 Averge LFELI-48100TB 51.38 100.0 51.3 696
3 LEOCH LFeLi-48100CB 55.9 90.8 50.8 1057
4 LEOCH LFeLi-48100CB 51.11 101.4 51.8 1070
5 LEOCH LFeLi-48100CB 47.77 87.3 41.7 1029
2A BMV-700 53.3
1 LEOCH LFeLi-48100CB 52.81 99.5 52.5 997
2 LEOCH LFeLi-48100CB 44.69 83.3 37.2 1072
3 LEOCH LFeLi-48100CB 56.82 108.7 61.7 917
4 LEOCH LFeLi-48100CB 55.74 98.8 55.1 943
5 LEOCH LFeLi-48100CB 56.07 100.9 56.6 1109
3A BMV-700 58.7
1 LEOCH LFeLi-48100CB 50.28 90.9 45.7 936
2 LEOCH LFeLi-48100CB 52.06 64.6 33.6 1121
3 LEOCH LFeLi-48100CB 52.96 74.8 39.6 1141
4 LEOCH LFeLi-48100CB 40.73 80.1 32.6 975
5 LEOCH LFeLi-48100CB 54.76 102.0 55.8 959
1B BMV-700 53.5
1 LEOCH LFeLi-48100CB 49.7 100.0 49.7 936
2 LEOCH LFeLi-48100CB 51.39 101.3 52.1 986
3 LEOCH LFeLi-48100CB 52.49 69.0 36.2 1032
4 LEOCH LFeLi-48100CB 54.51 97.3 53.0 764
5 LEOCH LFeLi-48100CB 54.1 102.5 55.4 821
2B BMV-700 54.1
1 LEOCH LFeLi-48100CB 56.05 92.0 51.6 1040
2 LEOCH LFeLi-48100CB 48.44 88.1 42.6 1054
3 LEOCH LFeLi-48100CB 48.3 94.5 45.6 1102
4 LEOCH LFeLi-48100CB 50.87 101.3 51.5 1123
5 LEOCH LFeLi-48100CB 50 94.9 47.4 1077
3B BMV-700 51.6
1 LEOCH LFeLi-48100CB 43.64 83.2 36.3 1082
2 LEOCH LFeLi-48100CB 49.79 100.0 49.7 1161
3 LEOCH LFeLi-48100CB 52.13 101.5 52.9 1107
4 LEOCH LFeLi-48100CB 54 102.6 55.4 1060
5 LEOCH LFeLi-48100CB 55.05 102.9 56.6 1026
1C BMV-700 51.4
1 Averge LFELI-48100TB 50.68 100.0 50.6 654
2 Averge LFELI-48100TB 50.36 100.0 50.3 645
3 Averge LFELI-48100TB 42.76 87.6 37.4 650
4 Averge LFELI-48100TB 49.23 100.0 49.2 663
5 Averge LFELI-48100TB 50.5 100.0 50.0 639
2C BMV-700 53.3
1 Averge LFELI-48100TB 51.69 100.0 51.6 686
2 Averge LFELI-48100TB 43.43 87.4 37.9 723
3 Averge LFELI-48100TB 50.41 100.0 50.4 647
4 Averge LFELI-48100TB 51.35 100.0 51.3 656
5 Averge LFELI-48100TB 50.68 100.0 50.6 662
3C BMV-700 55.2
1 Averge LFELI-48100TB 46.46 90.2 41.9 673
2 Averge LFELI-48100TB 50.97 100.0 50.9 663
3 Averge LFELI-48100TB 51.54 100.0 51.5 668
4 Averge LFELI-48100TB 51.86 100.0 51.8 653
5 Averge LFELI-48100TB 48.95 96.0 47.0 664

Two things stand out to me:

The first thing that stands out is that the SOC values registered by the Victron BMVs don’t seem to correlate to any values given by the individual batteries. Taking bank 3C, for instance, if I sum the remaining charge and divide by the sum FCCs, I get an overall SOC of 50.0% for the bank. Or, if I divide the amount of Ah depleted by the 500Ah bank capacity as configured in the BMV, I get a calculated 51.38% SOC. However, the BMV itself reads 55.2%. Can anyone help me account for this difference? Or help me understand which value is most accurate? If there are settings that need to be tweaked (such as updating battery capacity in Victron Connect), what are they?

The second thing that stands out is that the full-charge capacities of the individual batteries have some serious outliers! Many batteries, both new and old, still register very close to their initial 100Ah capacity. However, one older battery is now as low as 64.6Ah, and even two newer ones read 87Ah! What is to be made of these differences? Is it normal for batteries to differ so much individually, and is this expected performance for 2 and 4-year old batteries? If not, what are some things we could try to improve the lifespan?

For context, all batteries are connected in parallel using a Victron Lynx Distributor busbar system. They are in an air-conditioned room with air-conditioners running constantly. Since I have been at the hospital (2 months now) the batteries are scheduled to charge to 100% once per week, but they often reach 100% anyway on sunny afternoons. They are set to self-consume down to 45% each night, but we consume down to 20% during nighttime outages before using the generator.

As I said initially, I am new to Victron products and to this forum, so in addition to help with the above questions I would also love to be connected to any resources in general that would help me learn more about the hospital’s system. Thank you in advance for your help!

Matthew

(Photos of the system below)

SOC is a calculated, not measured parameter. As such, being current integrated over time, it is subject to considerable errors. Treat SOC as a general indicator, and work on minimum cell voltages. Usual setting to tweak SOC discrepancies is charge efficiency - for lithium this should be 96% to 98%.

Also look at the total charge cycles for each battery: All batteries have a limited throughput of kWh, during which their capacity drops from 100% nominal to 80% nominal. Batteries with higher lifetime indicators (poor soh, FCC, or high cycle count - these will have had a higher cycle current. One thing to do is to check the current distribution in the battery system: If the total charge current is say 300A, is it equally distributed between the 9 banks, and within a bank is it equally shared between the 5 batteries? Any that are significantly low on current may have some problem with the connecting cables / terminations etc. Check for cleanliness, tightness and oxidation of connections. (and any heating of connections - an IR camera is a good tool to have for this).
Given the cycle efficiency of lithium batteries, charging / discharging imbalance is not such a problem as it was with lead.

Different soc and voltage on different batteries means different path lengths and different work performed by them.
To be expected in larger banks wired as stacks. Yay ohms law. Usually it means the end batteries get hurt a bit. The centre ones are on holiday.

Then add their changing internal resistances to mess with it more.

Sometimes bank rotation is necessary especially in stacks like that.

Between peukerts and each battery clearly having an advantage know what has gone into itself as an individual vs the bmv that only know each stack total, i think they are pretty close. The BMV voltage would be what you would measure over the entire stack with a multimeter. That voltage difference coupled with the current reading would be the reason why they have gauges slightly different ‘power amounts’

Hi Mike,

Thanks for the response! This is all good and helpful stuff.

So if I’m understanding you right on this, we’re never shooting for perfect on the BMV readings, just closer to accurate so that the system can manage itself better. I looked in the BMV settings, and they’re all currently set to 99% efficiency. Would you just bump it down to 98%, let it go for a week and compare? 97% if it still needs tweaking?

Regarding this recommendation, what is the best way to compare all of the current values for the BMVs vs. the Quattros? Is that best done by downloading the system data into a spreadsheet from the “Advanced” tab of the VRM portal? The only other way I could think of is looking at the real-time output, but for our setting the current fluctuates wildly given the varying solar input and hospital loads.

Does this mean the batteries with FCC of 83.3%, 64.4%, 74.8%, 80.1%, 69.0%, and 83.2% are “dead” already? It seems kind of early for only 1100+ cycles. Does this indicate that they’ve been stressed too much? And if they are at the end of their life, is there any harm in keeping them as part of the banks, since they’re installed in parallel?

Again, thank you for your response. This whole installation is new for me, and this is chipping away at my ignorance little by little. :slightly_smiling_face:

Hi LX,

Thanks for the response.

This makes sense, and I also note that for stacks of 5 or more it is recommended to install using busbars instead of cables like our original installers used. I’m wondering if perhaps the actual connections are the weaker point in our installation rather than the position. If you take bank 3A for example, it’s the center three batteries that are actually worse off than the two on the ends.

Is there a recommended rotation scheme? Maybe just something like this?

1 → 3

2 → 4

3 → 5

4 → 1

5 → 2

Again, thanks for the input.

Yes some path resistance differences. So
same cable length -
crimping constancy -
Torque at the terminals

Sometimes clamping on insulation is a factor.
And sometimes if the lug was modified burrs as well.

There are quite a few factors.

Batteries with reported FCC of <64% could be removed and bench tested for actual capacity.
Lithium lifecycle is a bit variable, but should be at least 2000 cycles.Over discharging over charging can compromise life, as can operating temperature.
Best way to measure current distribution would be about 10am on a sunny morning, with steady sunshine. Then use a clamp meter on each stack, then each battery within a stack. If you have fluctuating loads, then this will make it more difficult, but try to pick an average. spreadsheet values - if you can get them will also help.

Personally, I’d work on improving the layout of the batteries and inverters. What you have, with the 2 additional battery racks stuffed on the front does not allow easy access to either the inverters or the batteries. It also looks like the inverter spacing is minimal. Spreading this lot out will improve the cooling - leading to better efficiency and longer battery life, it would also help control the current distribution better.