diy solar

diy solar

XiaoXiang BMS Spontaneously resets Remaining Capacity display

Does the overkill version track small loads? I've got the generic JBD version from aliexpress and it will not read anything below around 0.5A. My vehicle mounted system has an idle load below this and can sit for a week or 2 without getting any charge so these small loads add up over time. Trying to debate if it is worth getting a Victron SmartShunt to more accurately track SOC with my use case.
I'm having this issue with mine now, never used to! I have a fridge load of 2.4a and it won't show it, but it will show up when there's a larger 10a already there!
 
I'm having this issue with mine now, never used to! I have a fridge load of 2.4a and it won't show it, but it will show up when there's a larger 10a already there!
So I've managed to correct this issue. Couldn't find anywhere to calibrate anything from the app, so connected upto the computer and reset the current calibration while idle. Also calibrated the cells to match my multimeter which now shows them a little more closely balanced. ?
 
I discovered today that for the Android app (the version from the overkillsolar web site), if you go to the Function Setting screen and then hit the "Reset Capacity" button, it will recalculate the SOC displayed on the main screen.
 
I discovered today that for the Android app (the version from the overkillsolar web site), if you go to the Function Setting screen and then hit the "Reset Capacity" button, it will recalculate the SOC displayed on the main screen.

My experience is that any time a any parameter is changed the BMS will default back to a guestimated SOC based on voltage.
The pack will then have to be fully charged before it will go back to tracking based on coulomb counting.
 
My experience is that any time a any parameter is changed the BMS will default back to a guestimated SOC based on voltage.
The pack will then have to be fully charged before it will go back to tracking based on coulomb counting.

Thanks.

Coulomb counters are high precision but have poor accuracy unless the initial conditions are well known.
I suspect what's happening is that there's a coarse SOC estimation with a linear interpolation based on 6 voltages in the settings ("Single cut-off voltage", "20% Voltage", "40% Voltage", "60% Voltage", "80% Voltage", "Single full voltage") which is used to initialize the SOC whenever it is unknown/uncertain. Similar to synchronizing a coulomb counter, but not limited to 100% SOC.

The rest of the time, the SOC just walks up or down based on the measured energy flows in and out of the cells.

I agree that the best accuracy is going to be obtained by taking the bank up to 100% SOC so the algorithm can synchronize at the top. It'd be nice if there was a way to disable the auto-initialize feature except for initial power on.
 
....................................... Similar to synchronizing a coulomb counter, but not limited to 100% SOC.......................................
Exactly. That's an excellent description of what it does. It's both automatic and also can be initialized manually using Reset Capacity in the app.

For anyone struggling with inaccurate results, make sure to go through all the setup steps.

Setting up a JBD BMS is neccesary.

- Check accuracy of Temperature, Current & Voltage and adjust if needed. (calibration)
- Determine the 100%, 80%, 60%, 40% & 20% voltage set points. I chose to use resting voltages. Voltage is stable after 24hrs rest. Enter & save those stable voltage set points.
- Choose Lite or Normal LiFePO4 as basic parameter settings depending on how you want to use the battery. Then further adjust those parameter settings to meet your requirements.

If you set it up correctly you will get accurate enough results. Skip the set up and get less than accurate results.

Understand that SOC is a combination of coulomb counting and voltage set points. Accurate 80%, 60%, 40% & 20% voltage set points are critical.

Newer JBD BMS's may have entries for 90%, 80%, 70%, 60%, 50%, 40%, 30%, 20% & 10% as you can enter those in the most current JBD Tools Windows PC program.

The BMS can learn capacity but the JBD BMS manual warns of up to 25% deviation if relying on that. Each automatic adjustement is 10% according to the manual. It's quicker and more accurate to do it manually IMO.

Resellers like Overkill might do a basic setup that's good enough for most but it's worth checking all the critical settings and adjusting/correcting as needed for your requirements.
 
- Determine the 100%, 80%, 60%, 40% & 20% voltage set points. I chose to use resting voltages. Voltage is stable after 24hrs rest. Enter & save those stable voltage set points.

Would you be able to elaborate on your process here? I would guess it starts with formally capacity testing the pack, followed by incrementally discharging it to a percentage of that measured capacity, rest 24 hours, record voltage, repeat for each set point. That's a no small investment of time and effort..
 
Yes, that's exactly it. It does take time but I don't know how else it could be accomplished with a high level of accuracy. Copying someones settings might be close enough if the LFP cells are similar age, type & quality. With the exact test load known then it's easy to estimate when each discharge point will be reached and set a phone reminder to stop the discharge. Here's what 10% decrements looks like with my cylindrical LFP cells. You can see the voltage difference between discharge cutoff voltage and then the subsequent voltage recovery. I didn't realize that it takes around 24 hours rest to get the most stable voltage at first.
 

Attachments

  • discharge test.jpg
    discharge test.jpg
    88.4 KB · Views: 31
Not everyone will have accurate enough equipment for precise calibration. As to current, everyone can at least make sure that idle current is set to zero when there are no charge or discharge loads.
 

Attachments

  • calibration.jpg
    calibration.jpg
    96.3 KB · Views: 52
With cylindrical cells, I'm using:
Full: 3.45V
80%: 3.332V
60%: 3.293V
40%: 3.29V
20%: 3.24V

Prismatic cells might be like this. Some adjusting probably required.
80% 3.337
60% 3.302
40% 3.295
20% 3.251

Maybe those who have done actual discharge testing could post their results.
 
Yes, that's exactly it. It does take time but I don't know how else it could be accomplished with a high level of accuracy. Copying someones settings might be close enough if the LFP cells are similar age, type & quality. With the exact test load known then it's easy to estimate when each discharge point will be reached and set a phone reminder to stop the discharge. Here's what 10% decrements looks like with my cylindrical LFP cells. You can see the voltage difference between discharge cutoff voltage and then the subsequent voltage recovery. I didn't realize that it takes around 24 hours rest to get the most stable voltage at first.
So, as long as we let it sit idle for 24 hours the SOC is accurate?

Yes they have a bounce. If discharging and you stop, the voltage will rise. If charging and you stop, the voltage will settle.

I think most people will get a shunt or settle for "close enough".
 
Voltage is stable at around 24hrs after a discharge so I think the that if the 80/60/40/20 voltage set points are accurate then SOC will be accurate. Voltage, current & perhaps temperature settings would all have to accurate also.

In the Xiaoxiang App I used - FUNCTION SETTING -> RESET CAPACITY on three rested batteries just now and the SOC seems accurate to me based on my previous discharge testing.

3.334, 3.332, 3.332, 3.333; Average = 3.33275, App SOC 80%
3.329, 3.330, 3.329, 3.326; Average = 3.3285, App SOC 77%
3.290, 3.289, 3.291, 3.290; Average = 3.29, App SOC 40%
 
Yes, that's exactly it. It does take time but I don't know how else it could be accomplished with a high level of accuracy. Copying someones settings might be close enough if the LFP cells are similar age, type & quality. With the exact test load known then it's easy to estimate when each discharge point will be reached and set a phone reminder to stop the discharge. Here's what 10% decrements looks like with my cylindrical LFP cells. You can see the voltage difference between discharge cutoff voltage and then the subsequent voltage recovery. I didn't realize that it takes around 24 hours rest to get the most stable voltage at first.

I just started playing with my eight 280Ah cells and I'm trying to put together a test matrix so this is helpful information.. thanks.

Currently testing one cell at a time and recording the discharge curve between 3.65v and 2.5v at ~17a. After that's done I'm planning to bring them back up to ~3.33V for an internal resistance spot measurement. Once that info is in hand, the plan is to match IR and capacity as best as possible and group into two groups of 4 cells. Then top balance prior to final assembly and perform another capacity test for each pack.

It sounds like if I know the (limiting) capacity of the lowest capacity cell in each pack, I could do the pack capacity test in incremental steps, resting 24h and recording the pack voltages along the way..
However my final install will include a separate coulomb counting battery monitor, and I'm putting the two 4s packs in parallel so I'm trying to decide if this level of calibration is worth the additional effort.

I could also just pick off voltages from the per-pack discharge curve without a 24h rest. In a way, since my parallel banks will always be loaded and/or charging with solar, this might be more realistic anyway?
 
When the battery is in active use SOC must be a direct result of the beginning SOC and then coulomb counting. I say must be because SOC% doesn't plummet when a very large load pulls the voltage down. It's smart enough to ignore the temporary voltage drop. I've settled on using - FUNCTION SETTING -> RESET CAPACITY after the battery has been at rest. That way my beginning SOC will be accurate for the active use session.. This is all just my interpretation/opinion of what's going on.
 
Other than replacing the BMS, has anyone found a fix for this? Is there a firmware update, or a different phone (or desktop) app which will allow tweaking of how the SOC calc works?

I'm doing a multi-day, low draw capacity test on my ~271Ah pack and I got down to 30% last night. Voltage was fluttering between 12.91 and 12.92V. I turned the 2A load off as I was going to sleep and I wanted to get regular (~hourly) capacity stats from the BMS and shunt at the top and bottom of the capacity range since voltage varies more. I checked on the BMS a few times to see what voltage the pack would stabilize at (ultimately 13.02V). Interesting thing was when the voltage had increased by 0.1V the BMS reset from 30% to 100% capacity.

Note that up until that point the BMS was showing pack capacity correctly, but once there was NO LOAD (and no charging) this happened. My 80/60/40/20% voltage settings are pretty darn close as is my cell full and cell minimal voltage, so I do not think the BMS should have been confused by the change in resting voltage. Definitely feels like it could be a firmware bug. When I pulled my battery off my trailer my Simarine Pico was showing 89% capacity but the BMS was showing 100%. I keep my charging profile set to try not to float my LFP pack above 90%, and before I did my test I topped off my battery (at 14.6V/8.5A it took maybe 6 hours) so it does seem like the BMS must reset each night once the sun goes down and the load drops to ~30mA.

Ultimately I'll live with the incorrect SOC as my Simarine Pico is highly accurate... I'd only use the BMS columb counter and SOC if I pull the battery off the trailer.
 
Those of you with these problems running xiaoxiang, can you please check the version you have?
I have only seen these on V33.0.
I have some V32.0 that looks OK so far, without any reset to 100 SOC after a short while.

Thanks. ?
 

Attachments

  • Screenshot_20211228-144405.png
    Screenshot_20211228-144405.png
    130.8 KB · Views: 24
Mine says firmware version 20. It also says manufactured 4/26/21 but I find that hard to believe as I bought it used off ebay on 5/17/21.
 
BMS 1
version 32.0 manufacture date 2021-1-14
BMS 2
version 32.0 manufacture date 2021-1-14

Both ordered and received at the same time from aliexpress

Ordered two bluetooth smart shunt because I find the remaining capacity fluctuating too much when drawing load or charging
 
Thanks!

Well. There goes one theory out. Different versions and same issues.
I guess its no reason to use any more time configurating this, seems like wasting time.
Does anybody know if the latest version of this BMS have the same issues? The one with more voltage set points?

This BMS and the Daly, comes often with the prebuild batteries around 100Ah. Its a nightmare when the gremlins starts to work. And they do...
I find the smaller Daly useless. Really hoped the xiaoxiang was better...
Its often impossible to do anything with them without breaking the battery case. Here is what I did on those with the Daly BMS to be able to connect the UART, without breaking the battery case.
Piece of shit. :)
 

Attachments

  • newversion.jpg
    newversion.jpg
    363.2 KB · Views: 28
Back
Top