JBD BMS - How to correct inaccurate SOC value ✅

Visusolar

Explorer
Joined
Dec 6, 2020
Messages
283
*Edited, inserted instructions how to solve the SOC issue. All this here is based on WingNut's post here https://diysolarforum.com/threads/x...-remaining-capacity-display.22472/post-295322

Greetings to all JBD BMS owners!

Did you also notice that the SOC % value as well the remaining capacity value in your phone App is sometimes displayed inaccurately!?
IMG_20220601_081755.jpg

How does this issue occur?
Whenever you change certain parameters in your BMS phone App, the app recalibrates the SOC in reference to following set % voltage values.
IMG_20220601_071441.jpg
...and in particular to following more detailed ones which you can only access through the Chinese PC app (UART tool needed for that).
IMG_20220601_080054.jpg
Inaccurate % voltage reference/calibration values will lead to inaccurate SOC and remaining capacity values.

How to solve the issue of inaccurate SOC?
There are two choices.
1. After every time you change parameters in the phone app you have to fully charge your battery to reset SOC and capacity again.
2. Or determine the precise 100 90 80 70 60 50 40 39 20 10% cell voltage values of your battery and replace the inaccurate values with the accurate ones.

How to determine precise % voltage values step by step:
(Btw the coulomb counter of the JBD BMS is highly accurate! I compared it with the TK15 coulomb counter and the EBC-A05+ battery meter. Once you start this test don't change any parameters in the phone or PC app. Doing so the readings of the internal coulomb counter will stay accurate.)

1.
1.1 In the BMS phone App set the right (actual capacity) nominal and cycle capacity value of your battery, set single full voltage to 3.65V or to whatever voltage you usually gonna top-balance up.
IMG_20220601_070905.jpg
1.2 Charge and top-balance your battery to 100%
1.3 Let it rest for 30min (by this time the voltage is [almost] stable)
1.4 Write down the average (of all your cells) cell voltage (eg 3.500V)

2.
2.1 Calculate or time how much time it needs to discharge 10% of your battery capacity with your chosen test load and set an alarm when to pause discharging again.
2.2 Discharge to 90% and pause
2.3 Let it rest 30min
2.4 Write down the average cell voltage (like 3.333V)

3.
3.1 Discharge to 80% and follow through the same steps as before
3.2 Continue to follow those steps till 10%.
3.3 Connect BMS via UART tool to your PC (you can't adjust the 10 30 50 70 90% voltage calibration value points through the phone app) and correct all % voltage calibration value points.

I tested it and I can assure that now the totally inaccurate SOC issue doesn't occur anymore as well "reset capacity" in the phone app resets to almost (+-5%) actual SOC and true remaining capacity. If you want to have it spot on you have to go to one of the 100 90...10% points, let it rest 30min and then hit reset capacity.
 
Last edited:

onemanvan

Solar Enthusiast
Joined
Dec 4, 2020
Messages
20
I did some more digging to see if anyone on the diysolar forum had offered any hints as to how the jbd bms soc functionality works. I came across this post and tried it on my bms - it does seem to work!

When the BMS is initially powered up .... or any time a parameter setting is changed... the BMS calculates a guesstimated SOC based on the pack voltage. This guesstimate is derived from the cell 20-80% Cap. Voltage parameters ... and these parameters can be adjusted.
Once one cell reaches the cell full voltage, the BMS resets to 100% SOC and starts tracking via charge and discharge current ... which is coulomb counting.


My soc was giving the usual nonsensical value. All of my cells were sitting at about 3.35 volts. So I went into the parameters and changed the 'Cell full voltage' ( AKA - Single full voltage ) parameter to 3.3 volts.

Note that when you click on the question mark beside a parameter it will display a description of that parameter. Admittedly some of the chinglish is indecipherable and you need to have internet access for it to work at all...

Screenshot_20220531-125521.jpg

After saving the parameter values ( the check mark in the upper right corner of the screen ) I went back to the main screen and lo & behold the SOC was sitting at 100% - 120ah remaining capacity!


Screenshot_20220531-130012.jpg

So basically the bms resets the soc to 100% when the average voltage of all the cells equals the 'Cell full voltage' value. I suspect that for this to work reliably you'll want to set it to some value slightly lower than what your cells will be when your pack is almost fully charged. Only experimentation will answer that question...

The next test was to compare the jbd bms soc & remaining ah against my thornwave powermon
The results were very close - I pulled about 9ah out of the battery and everything was in agreement
The jbd remaining ah value fell from 120 to 110.9 and the powermon indicated -8.95 ah consumed
So the coulomb counting functionality appears to be working correctly.


Screenshot_20220531-175611.jpgScreenshot_20220531-175603.jpg
 
Last edited:

Visusolar

Explorer
Joined
Dec 6, 2020
Messages
283
*Deleted because obsolete now. Solution and explaination presented in first post.
 
Last edited:

squowse

Solar Addict
Joined
Jan 4, 2021
Messages
394
I did some more digging to see if anyone on the diysolar forum had offered any hints as to how the jbd bms soc functionality works. I came across this post and tried it on my bms - it does seem to work!

When the BMS is initially powered up .... or any time a parameter setting is changed... the BMS calculates a guesstimated SOC based on the pack voltage. This guesstimate is derived from the cell 20-80% Cap. Voltage parameters ... and these parameters can be adjusted.
Once one cell reaches the cell full voltage, the BMS resets to 100% SOC and starts tracking via charge and discharge current ... which is coulomb counting.


My soc was giving the usual nonsensical value. All of my cells were sitting at about 3.35 volts. So I went into the parameters and changed the 'Cell full voltage' ( AKA - Single full voltage ) parameter to 3.3 volts.

Note that when you click on the question mark beside a parameter it will display a description of that parameter. Admittedly some of the chinglish is indecipherable and you need to have internet access for it to work at all...

View attachment 96595

After saving the parameter values ( the check mark in the upper right corner of the screen ) I went back to the main screen and lo & behold the SOC was sitting at 100% - 120ah remaining capacity!


View attachment 96596

So basically the bms resets the soc to 100% when the average voltage of all the cells equals the 'Cell full voltage' value. I suspect that for this to work reliably you'll want to set it to some value slightly lower than what your cells will be when your pack is almost fully charged. Only experimentation will answer that question...

The next test was to compare the jbd bms soc & remaining ah against my thornwave powermon
The results were very close - I pulled about 9ah out of the battery and everything was in agreement
The jbd remaining ah value fell from 120 to 110.9 and the powermon indicated -8.95 ah consumed
So the coulomb counting functionality appears to be working correctly.


View attachment 96659View attachment 96660
I find this approach only works if you can set charger to a high voltage and trigger the over cell voltage.
If you change the cell full value to 3.3v as described, it will reset the SoC to 100% (assuming the cell is resting over 13,2v).
BUT - if you leave this setting then it will jump to 100% during charging. So you must change the cell full to 3.6 or similar. Immediatley afte changing this value to will change Soc to it's incorrect guesstimate value.
 
Top