Welcome to Tesla Motors Club
Discuss Tesla's Model S, Model 3, Model X, Model Y, Cybertruck, Roadster and More.
Register

BMS Balancing - Current Understanding

This site may earn commission on affiliate links.
General question, what is a good level of balancing? < 10mV difference between cells? Asking for my eBike battery, which is currently 0.008V difference between the max and min cell groups. Obviously a different BMS, but similar cell chemistry (LG M50LT 2170 5ah cells).

1715870852587.png
 
No need, the car balances at all SOC levels when it’s not charging.
Not according to my 'tests' :-(


After my previous post I have charged 78% SoC to 93% SoC with 1 Phase x 5A x 230V = 1.150 kW - Charging Power Consumption of approx 0,180 kW.

This theoretically gives 10 hours of balancing each time. My Brick Voltage ImBalance improved as follows:

1716303672758.png


After driving down to approx 22% SoC, results are here:
1716303801333.png


So ImBalance at low SoC has been reduced by 6-7 mV. But Brick 12 (which has a high CAC) is still the 'Pull over safely' brick. I propose that the graph shows, that all Modules, but 2, 5, 6, 11 and 13 has had blead resistors on for some time.

Seing that it Recell is probably right, that it balances above 80% while charging, I did a 80% -87% Charge and Immediately left for my last long trip. If 2 x 13% ~ 2 x 10 hours improved 6 mV, then 1 x 7% should improve 6 mV 7% / 26 % or 1.6 mV, which should be 'just' measureable :cool: And I would avoid charging to above 90% WHICH I HATE!

Not so, here is the improvement which is nil:
1716304332185.png
 
^^^This.

Even if there was a method to rebalance the pack strings better than the BMS normally would, what is the point? If there are weak strings they will become weak and out of balance again at some point.

If I wanted my pack to have greater life and higher capacity, I would charge in smaller increments when possible, at night when it is cooler, and store inside wherever possible.

This approach is highly doable and guaranteed to be better than not.
I know I posted a lot of graphs, but if you examine my CAC versus Cell Voltage double graph, you will see that Module 2 Bricks 7 and 12 are so low in Top Voltage (4,14 V) that they will terminate the drive first (Bottom most Voltage graph) EVEN though they both hav a Capacity (CAC) above average (Module 2 CAC is 223,Ah - 224 Ah!). That is not optimal.

I will not continue to Balance in vain, because it causes degradation, so I may stop now or at least as soon as the weakets bricks (which are 13, 14, 42 and 54) are bottom balanced.
1716304613216.png
 

Attachments

  • 1716304582126.png
    1716304582126.png
    192 KB · Views: 4
  • 1716304552687.png
    1716304552687.png
    192 KB · Views: 5
Last edited:
Not according to my 'tests' :-(



Not so, here is the improvement which is nil:
View attachment 1049160

Unfortunately I changed two things when I did my last 80% - 87% SlowFox Charge!
A: I only charged 7% (80% - 87%)
B: I drove of immediately after reaching 87%

My previous two 'balancing attempts' were:
A: I charged 13% (80% - 93%)
B: I turned on Camp mode and used that to drain a few hours off, before leaving

Some other interesting findings are:
1:
- When I used Camp Mode to reduce the stress at 93% SoC, my SMT Nominal Capacity fell from 65,2 kWh to 64,4 kWh after first test and fell further to 63.4 kWh after second test!!!
- When i drove immediately after reaching 87%, then during my drive SMT Nominal Capacity grew to a new record of 65,4 kWh
That suggest that some vampire Drain is not taken into the Total Capacity :-(

That would explain why my Nominal Capacity is 65,4 kWh despite my weakest Brick having 220,2 Ah, which should give something like 3,7 V x 222,2 Ah x 6 Bricks/Module * 14 Modules = 68,4 kWh (Q: Why 3,7 Volts and not 3,6 Volts, which is average of 3,0V and 4,2V? Because energy is less at the low voltage and the BMS confirms I have 49,5% energy left when voltage is 3,675 V and I have 50,4% Left when voltage is 3,714 V. So half the energy appears to be below 3,7 Volts :)

2:
- After my first Balancing, my Minimum CAC improved by 0,3 Ah and my Maximum CAC stayed unchanged (ImBalance fell from 4,3 Ah to 4,1 Ah, so some rounding errors in here)
This - to me - suggest that CAC is 'calculated' with the Voltage swing currently possible :) After Balancing my weakest Brick 54 can go slightly lower in minimum Voltage, because it is still not the 'terminating' brick (Which is still Brick #12) The high CAC Bricks have not been blead and are still the 'EndOfDrive' bricks and so have unchanged possible voltage swing and CAC.

Makes sense of course! Calculating that brick 7 WOULD have even more than the current 224,2 Ah (around 225,8 Ah) if it was charged to 4,2 V instead of the current 4,14V is true, but adds no value.
 
Last edited:
  • Like
Reactions: mr_hyde
Where are you getting all this data? SMT?
Yes, - unfortunately I have to copy+paste from screen shots as I am on the Beta version of SMT in order to read out Min/Max CAC (Calculated Amperagehour Capacity) and the Beta version has 'lost' the existing ExportToCSV functionality. If I could get SMT to my old Windows Phone I could install the NON Beta version and export there.
 
Some other interesting findings are:
1:
- When I used Camp Mode to reduce the stress at 93% SoC, my SMT Nominal Capacity fell from 65,2 kWh to 64,4 kWh after first test and fell further to 63.4 kWh after second test!!!
- When i drove immediately after reaching 87%, then during my drive SMT Nominal Capacity grew to a new record of 65,4 kWh
Have you done a 100% charge recently? I found my capacity used to jump around a lot (differing by a few kWh depending on SOC), but after a proper 100% charge and balance it barely moves now and is very stable regardless of SOC.
 
  • Like
Reactions: dhrivnak
Have you done a 100% charge recently? I found my capacity used to jump around a lot (differing by a few kWh depending on SOC), but after a proper 100% charge and balance it barely moves now and is very stable regardless of SOC.
I have charged once to 100%, then learned from FB/Tesla BMS_u018/BMS_u029/BMS_a066 Professionals, that balancing happens while charging in the 80% - 100% SoC window.

I have then twice charged to 93% with very low Amp setting to allow prolonged Bleading. It may or may not have helped, in reality I don't know whether it was the very first 100% charge or the next 93% Charge that improved my ImBalance with 6 mV. I do know that yet a 93% and next 87% charge did nothing :-(

The 2 x 93% Charging were very close in calendar, but car was properly discharged to low SoC in between. I am tempted at trying 100% before my next longer trip, which will be in late June :)
 
I believe the balancing occurs higher than 80%, but I'm not sure. I'm still looking for a definitive breakdown of when it happens - what conditions trigger it.
I have been communicating with a Norwegian Tesla Fellow, whom confirms what Jason has stated earlier in this Forum, namely that Balancing Occurs whenever the BMS wants. And that matches my 'latest' data (It may however overcompensate a little, I will investigate!).

Current assumption (partly based on Jasons findings) is:
- Before an unknown date in 2016/17, Model S reuired charging to 93% to kick of the Bleading of (up to 100mA) from Over Voltaged bricks. Each blead Resistor CMS would be turned on for a calculated period of time, which could be days.
- Since 2016/17 Balancing takes place, when car has Rest'ed sufficient and have enogh data to perform an improvement.

My 'test's suggest that consistently cycling in narrow DoD at low SoC, does not present 'good' data to support the balancing. At least ImBalance can be slightly improved by intentionally cyckling with a larger DoD at higher SoC


Recap:
Issue:
A: My Voltage ImBalance is anywhere from 20 mV to 60 mV depending on SoC, but is lowest at my Mean SoC arguing that my car does balance:
1717422867854.png

B: Big ImBalance could be BMS unable to properly Balance, because some bricks could contain Paraistic Drain cells. (Weak Shorts from Dendrites). Then whenever car stands idle, some bricks will slowly discharge and next time balancing runs, it will take the other good bricks down to enforce the voltage balance. Weak shorts, could as well explain my CAC ImBalance of 4.1 Ah (now down from 4.3 Ah due to tests),

I semi ruled out parasitric cell by measuring all voltages over 1 - 2 days of idle and plotting the voltage drop over a few days - they do not dramatically point to weak shorts (the reason the graph looks so saggy is because the rounding is on one mV). A consitent Parasitic cell would consistently caue a High Delta:
1717423721505.png


C: My Voltage ImBalance does not match my CAC ImBalance. (It would be perfectly OK, if the Voltage Balance reflected 1/CAC relatively,, so that all weak Bricks are charged slightly higher than Strong Bricks, so that most goes to temination voltage at the same time. But my HigherThanAverage CAC Bricks are UnderCharged, so much that a strong/high Ah Capacity Brick goes to 'Stop Voltage' before bricks with lower CAC
Here are all Cell Voltages at very low SoC of around 5%, seems Module 2/Brick 12 takes the lead in a sprint towards3,2 Volts and will stop my drive:
1717422769105.png

I have calculated the Relative CAC for all bricks using the dV/dAh (slope) of dicharge from 93% to 31% (Hint, A wide and semi linear part of the Charge/Discharge Curve :) and there I had to cheat in my formula so that the difference in CAC is proportional to the dV/dAh Squared, which I think is the problem.

Here are thus printet on top of each other CalculatedCACFromSMTMinimumCAC and CalulatedCACFromSMT MaxCAC. 'MinCalculatedFromMax' correctly results in one Brick having exactly the minimum value and 'MaxCalulatedFromMin' as well correctly 'finds' one brick with Max value. So I am pretty convinced that Tesla squares the dV in their CalculatedAmperagehourCapacity estimations.
1717422739636.png


To test whether my car balances:
A: Always when in long rest and sufficient data have been stored
B: Only balances when charged to 100%
C: Only balances when charging and above 80% SoC

I have performed those tests :cool:

So far I can ONLY conclude, that charging in a bigger SoC window than I normally use (Namely 100%, 93% and 93% MaxSlowFox instead of mostly 20% - 65% SoC) has reduced my ImBalance around 6 mV at the best SoC.
1717423287993.png


When I walk through older measurements and sums longer Vampire Drain periods I get anothe rpicture than previously shown (where the car is only Idle for 1-3 days). This is how it looks, when including 3, 4 and 7 days drain:
1717423855692.png


If you compare the upper curves (== LongDurationIdleVampyreVoltageDrops), they are true replicas of the CAC graphs.

But if the Voltage Drop was ONLY from real Vampire Consumption, then the strong CAC bricks will have the smallest Voltage Drops (Which one of the , 'ShortTimeVampireDrainVoltageDrops) in the bottom .

This I propose CAN BE:
X: Balancing taking place, with an error in the BMS Algorithm, namely that the CAC ImBalance could be exaggerated, My CalculateMaxCACFromMin and CalculateMinCACFromMax, suggest that there is a Power(2) in the calculation.
Y: Balancing in the very low SoC end where voltage drops faster and faster towards 'Empty' and so the Bricks already low will drop faster ref:

1717424163257.png


I will need to collect 'Vampire/Idle Voltage Drop much nearer the mostt linear section, which is between between 15% and 55% SoC (the dV/dAh peak is assumed to be somwhere between 55% and 60% because of NCA)

Super simple example: If one were to consider the charge curve a straight line from > 15% SoC untill 100%, as in below:
1717424233038.png

Then MY CAC ImBalance shoul dresulyt in 22,14mV at 100% I don't see why the CAC based on the Voltage Swing based on the very same Ah's being put in, needs anything squared when comparing Bricks, I think it is linear, but I CAN BE WRONG :)

One can argue, who really cares, it just over compensates up the balancing, which will be slightly over compensated back next time etc. etc.

I have left my car idle at 60% SoC, If all goes well, it will Vampire Drain a few percent and kick off balancing from 58% and downwards - which is in a llinear discharge section and far away from excessive dV/dAh in the very low SoC end.

I NEED TO KNOW!
 

Attachments

  • 1717422312717.png
    1717422312717.png
    206.3 KB · Views: 2
Last edited:
  • Like
Reactions: mr_hyde
Recap:
Issue:
A: My Voltage ImBalance is anywhere from 20 mV to 60 mV depending on SoC, but is lowest at my Mean SoC arguing that my car does balance:
View attachment 1053136
1717483690675.png
1717483658292.png

When I walk through older measurements and sums longer Vampire Drain periods I get anothe rpicture than previously shown (where the car is only Idle for 1-3 days). This is how the voltage drop looks, when including 3, 4 and 7 days drain:
View attachment 1053143



I have left my car idle at 60% SoC, If all goes well, it will Vampire Drain a few percent and kick off balancing from 58% and downwards - which is in a llinear discharge section and far away from excessive dV/dAh in the very low SoC end.

I NEED TO KNOW!

Having 'slept on my data', I think the most likely explanation to be a stuck CMOS, that is AlwaysOn on a BMB, causing a constant blead on one brick, that the BMS tries to balance out in vain. This more or less prevents individual balancing.

Reasons for theory are:

A: A parasitic cell could cause the same symptoms, but if the parasitic load is much less than the assumed 100 mA blead current, then the ImBalance would occasionally be totally corrected (just after balancing). That I have not seen!. If the parasitic load is in excess of the assumed 100 mA blead current, then the ImBalance will forever grow. That appears not to be the case for now many, many months. If large parasitic drain was the problem, then I would expect a BMS_??? error.

B: If the voltage ImBalance was an overcorrection for CAC ImBalance, should it not stabilize in an overcorrected state= That is not what I see, in contrast I have three long rest periods with, what looks like, 'over correction'. This is not totally conclusive! Because bricks high in CAC are currently low in voltage and as all three long rest periiods monitored were at very, very low SoC, then the bricks already too low in Voltage balance will start to fall faster, giving the exact same results as an over balancing. Thus my car is now resting for days at +50% near the dV/dAh plateau. I don't know whether it WILL balance. If it needs some volatile data for the balancing, they may have gone, because I restarted the MCU, when the car reported 'MCU internal cable disconnected, please Restart'

C1: A stuck CMOS and blead resistors of the very same size, will in effect almost turn voltage balancing off. Now all bricks will constantly being blead.
If Tesla really wants to determine blead durations precisely, the resistors could be down to 1% precision, which just means that the Voltage ImBalance will grow untill approx 1/CAC ImBalance,

C2: If all blead resistors are constanly bleading all bricks, the drain will be: 3,7 V * 100 mA * 84 Bricks == 31 W to add to my standard Vampire Drain. That matches my current Drain, which is 60 W and is in excess of 2% per day at Danish Spring Temperatures.

1717481220494.png


According to historic TeslaMate data, my lowest ever Vampire Drain was in summer 2022 and summer 2023 and less than 30 W:

1717485854315.png


I think it all ads up to C being most likely :-( Not sure I want to spend $ several thousand, to have it diagnosed?

When trying to understand, why a larger DoD have improved both Voltage and CAC ImBalance ever so slightly - perhaps if an Always On stuck CMOS happens to be on a brick with high CAC, then the BMS can balance down some low CAC bricks slightly faster. Need to sleep on that! My improvement was a reduction of ImBalance by 5-6 mV and top ImBalance was 60 mV originally. My CACs improved from 219,9Ah/224.3Ah to 220,2Ah/224.3Ah, which must be because the Min CAC brick was lowered in voltage, which allows a slightly larger voltage swing before reaching termination voltage.
 
Last edited:
I think it all ads up to C (stuck CMOS) being most likely :-( Not sure I want to spend $ several thousand, to have it diagnosed?

Hmmmm, re-reading Jason Hughes excellent explanation regarding Condition X (Stuck CMOS) and Condition Z (wrong voltage reading from BMB1.5) I see:

A: Condition X should generate BMS_* alert and ask for service
B: Condition Z is unlikely in my BMB 2.0 battery

So more likely parasitic cells, draining less than the blead current?

https://skie.net/.../23_Explaining+Changes+post-firmware...
 
Hmmmm, re-reading Jason Hughes excellent explanation regarding Condition X (Stuck CMOS) and Condition Z (wrong voltage reading from BMB1.5) I see:

A: Condition X should generate BMS_* alert and ask for service
B: Condition Z is unlikely in my BMB 2.0 battery

So more likely parasitic cells, draining less than the blead current?

https://skie.net/.../23_Explaining+Changes+post-firmware...

Hmmmm2: My Jump from around 30 W Vampire Drain to +60 W Drain CAN have occurred early November 2022 and I received SW=2022.8.10.6 on November 4
🙁


Jason Hughes writes that fancy Blead gymnastics in Module Y can help diagnose Brick 6 in Module Y-1, perhaps my BMS is still diagnosing whether I have BMB Voltage sensor issues? I know the diagnosis should not take years, but I have deptived the BMS of data, because I always charge small DeptofDischarge around 40% SoC
🙁


1717500559329.png

Jason Snip:
'Cell 6 of one module is physically connected to cell 0 of the next module, so with some clever use of balancing circuits within the pack, it’s possible to get yet another alternative voltage calculation for the erratic cell 6.'

It is pretty clear (with higher Y-axis resolution, that all Brick # MOD 6 == 0 bricks are 'undercharged':
1717500477039.png
 
Last edited:
Hmmmm2: My Jump from around 30 W Vampire Drain to +60 W Drain CAN have occurred early November 2022 and I received SW=2022.8.10.6 on November 4
🙁
I failed to paste in the 'Regression Date'.

Here is a graph of Average Power when Resting for more than 12 hours (including preheating etc.), but it is obvious that before 'Early November 2022', the minimum power was approx half of 50 W and after more than 50 W:

1717504776045.png


These are the data for the jump:

1717505104734.png
 

Attachments

  • 1717504357879.png
    1717504357879.png
    57.3 KB · Views: 2
  • 1717505064764.png
    1717505064764.png
    59.9 KB · Views: 1
Last edited:
I failed to paste in the 'Regression Date'.

Here is a graph of Average Power when Resting for more than 12 hours (including preheating etc.), but it is obvious that before 'Early November 2022', the minimum power was approx half of 50 W and after more than 50 W:

View attachment 1053384

These are the data for the jump:

View attachment 1053386
This is an interesting deep dive, but I guess the important question, has the car flagged any of this as abnormal by triggering a fault?