diy solar

diy solar

Pseudo self-discharge exercise

sunshine_eggo

Happy Breffast!
Joined
Oct 26, 2021
Messages
15,943
Location
HBR, USA (6500' in ENE AZ)
Battery:
4S 25Ah Topband Navitas 3C cells.
120A JBD BMS
UART to USB adapter from Overkillsolar
Bluetooth module uses the BMS UART connector, so it was not installed.

VRM:
Raspberry Pi 3 B+ 1GB (RPi)
256G MicroSD
Venus OS 3.11 start, 3.12 end
@Louisvdw serial battery driver

There were NO LOADS applied to the battery. It sat there plugged into the RPi.

Started 10/28/23 22:00
Ended 12/14 18:00

Here's the overview showing BMS reported Voltage, Current SoC, Min and Max cell voltages:

1703134932487.png

Nope. I have no idea why the SoC dropped from about 63% to about 28%. This did coincide with a notable voltage drop. There must be some criteria that causes the BMS to adjust SoC based on voltage.

Worth noting that at no time did the BMS report a current - always 0.00A. I would assume this has more to do with the inability of the BMS to measure small currents AND/OR account for current IT uses.

Here's the drop:
1703135291550.png

It makes no sense. With min and max cells at 3.30/3.31V, the 68% was much closer to accurate.

Oh well. Here's the drop from 19% to 0% while only dropping from 13.10V to 12.96V and cells from 3.28V to 3.24V.

1703135594016.png

Voltage and cell delta stayed pretty constant ... with 0% SoC for another 8 days:

1703135751939.png

Here's where discharge protection kicked in at 10.81V and 2.50/2.83 min/max cell V:
1703136239372.png

Clearly, once discharge protection was engaged, less current was being drawn as the battery and cell voltages rebounded a bit.

Let it keep running until we got really low, 10.29V, 2.31/2.76 min/max cell V:
1703136380220.png

And here's the recharge:
1703136534021.png

Very pleased with the retained top balance... 3.60-3.65 @ 14.5V before protection was engaged.

The jump to 100% was due to my BMS set to 100% @ 3.45V.

Summary...

47 days
Self-discharged to lowest cell at 2.31V
Recharged to .05V delta at 3.65V peak

I can only conclude these cells are very well matched to each other. Prior to this test, when I first got them, these cells tested just over 25Ah as a 4S pack.

Average BMS draw was:

25Ah / (47 days * 24 hours/day) = 0.022A or 22mA

I expect this was due to the continuous communication with the RPi. I have let this battery sit 6 months with the bluetooth module attached, and it didn't discharge nearly this low.

Whatever is going on here, it's a fixed thing. I specified 250Ah instead of 25Ah, and the SoC dropped at about 1/10th the speed, so this SoC drain is unlikely to be an accuracy issue on a larger battery, particularly if it's regularly synched.

Lasty, taking a look at the termination values...

At 3.45V/cell, 90.8%, 5.22A (0.21C), 21:56
At 3.65V max, 3.96A, 22:17

That's 4.59A avg for 21 minutes or 1.61Ah or 6% SoC

Cut off was at 0.16C @ 3.65V, so the battery isn't quite fully charged, but it's darn close.
 
I have also been using dbus-serial driver with three JK BMS's, but I kept my SmartShunt to see if JK's were accurate.. well they're not at all, today I'll try and calibrate V and I in the app, but they all think they're discharging more than the SmartShunt sees. Definitely weird to show reducing SOC with no current though, unless the a low current value is seen mistakenly by the BMS but deemed below a threshold where it is actually shown.
 
All fascinating. What cell voltage parameters have you set on your Overkill for each 10% SOC step?
 
All fascinating. What cell voltage parameters have you set on your Overkill for each 10% SOC step?
? I was going to ask you the same question yesterday. I think I have mine all out of whack.

Thanks for the info @sunshine_eggo I trust my shunt way more than my JBDs.
 

Attachments

  • Screenshot_20231221-074443.jpg
    Screenshot_20231221-074443.jpg
    29.5 KB · Views: 4
I have also been using dbus-serial driver with three JK BMS's, but I kept my SmartShunt to see if JK's were accurate.. well they're not at all, today I'll try and calibrate V and I in the app, but they all think they're discharging more than the SmartShunt sees. Definitely weird to show reducing SOC with no current though, unless the a low current value is seen mistakenly by the BMS but deemed below a threshold where it is actually shown.

Can certainly be a possibility, but the math doesn't check out in my case. It went to 0% 10 days before cut-off.

All fascinating. What cell voltage parameters have you set on your Overkill for each 10% SOC step?

I don't recall making any changes in that regard, so they are likely the defaults. Unfortunately, I can't check without disconnecting from the RPi, and disconnects have resulted in resetting the SoC AND a re-ident of the VRM device where I actually lose the data because the device is gone. IIRC, this may have been coincident with an RPi reboot, but I'm not certain. Not willing to risk it at the moment... :p

This is a definite flaw with VRM/JBD interaction.

? I was going to ask you the same question yesterday. I think I have mine all out of whack.

Thanks for the info @sunshine_eggo I trust my shunt way more than my JBDs.

Fair. I also had this shunt in the mix:


There is a very strong correlation between my CL800, the BMS and the above meter during the charge and other discharge tests with currents ranging from 2 to 50A. The JBD seems to get really wonky below 2A and downright erratic below 1A.
 
Let it sit, and it did it again...

1704307804660.png

No load. It just did it. Still at that little voltage drop.

I think this behavior is in some way associated with use of the driver. I monitored the BMS over the course of months when it was connected to the bluetooth dongle, and as long as I checked every 1-2 months, there was no change in SoC. If I let it sit for several months, it would revert to SoC based on voltage.

For gigglez, I did a discharge. Used a 750W MSW inverter and an AC fan to pull about 2.3A:

1704314834858.png

The BMS stopped counting Ah discharged when it got to 0%, but it continued to draw 2.3A for 27 minutes for another 27/60 * 2.3 = 1.04Ah bringing the total capacity to just over 26Ah.

When I first got these cells, I did 25 full depth cycles with RC chargers, and they tested at 26.5Ah:

1704314994210.png

Please note that the voltage includes the voltage drop associated with the 20A current at cell voltage including the 3 foot 8awg charger leads. When the charger reads 2.38V, the cells were at 2.50V.

These cells were also charged to 3.65V with a tail current of 2A, or 0.08C, so these charges fell slightly short of the typical 0.05C tail current.

26.5Ah measured on individual cells with 26.04Ah - about 2% error. This could be due to degradation - they are 3 years old and were stored fully charged, or it could just be noise.

I obviously can't claim any actual accuracy, but correlation is a good emotional substitute. :)

Glad to see an actual discharge during use didn't see the odd SoC drop.
 
Last edited:
You are correct the BMS draws 15 to 20 milliamps when it's in use but within 60 seconds of no Bluetooth, data connection, charge or discharge, it goes into a sleep state below 1 milliamp.

I am also curious about the 10% voltage increment settings, maybe they are so out of whack or even reversed causing sudden SOC change?
 
You are correct the BMS draws 15 to 20 milliamps when it's in use but within 60 seconds of no Bluetooth, data connection, charge or discharge, it goes into a sleep state below 1 milliamp.

That's really good to know. I would assume the communication with the RPi is constant. Data is logged every 60 seconds, but realtime data is available at all times. My calculation said 22mA, but there's no BT radio being powered, so I would assume it would be a skosh higher.

I don't regard the BT portion of the driver to be reliable enough for actual system control, BUT I might give it a shot just for test purposes. It was really cool when I first tried it - simply having the RPi across the room... :)

I am also curious about the 10% voltage increment settings, maybe they are so out of whack or even reversed causing sudden SOC change?

I'm running a charge cycle that I want to record, so I'll check them after it's complete.
 
If it is the driver, maybe put the logs on Github and see if anyone can spot anything strange: https://github.com/louisvdw/dbus-serialbattery/issues?q=is:issue

Looking at the config file, could the code behind this be messed up somehow?:

Code:
; --------- BMS specific settings ---------

; -- LltJbd settings
; SoC low levels
; NOTE: SOC_LOW_WARNING is also used to calculate the Time-To-Go even if you are not using a LltJbd BMS
SOC_LOW_WARNING = 20
SOC_LOW_ALARM   = 10
 
If it is the driver, maybe put the logs on Github and see if anyone can spot anything strange: https://github.com/louisvdw/dbus-serialbattery/issues?q=is:issue

Looking at the config file, could the code behind this be messed up somehow?:

Code:
; --------- BMS specific settings ---------

; -- LltJbd settings
; SoC low levels
; NOTE: SOC_LOW_WARNING is also used to calculate the Time-To-Go even if you are not using a LltJbd BMS
SOC_LOW_WARNING = 20
SOC_LOW_ALARM   = 10

It could also be a config error... In my initial efforts, some settings that I felt were imported to fully define the operating parameters created some erratic behavior when on the BT connection. I kept it to just the minimums:

[DEFAULT]

; If you want to add custom values/settings, then check the values/settings you want to change in "config.default.ini"
; and insert them below to persist future driver updates.

; Example (remove the semicolon ";" to uncomment and activate the value/setting):
MAX_BATTERY_CHARGE_CURRENT = 50.0
MAX_BATTERY_DISCHARGE_CURRENT = 75.0

MIN_CELL_VOLTAGE = 2.500
MAX_CELL_VOLTAGE = 3.650
FLOAT_CELL_VOLTAGE = 3.375

LINEAR_LIMITATION_ENABLE = False

CVCM_ENABLE = False
 
It could also be a config error... In my initial efforts, some settings that I felt were imported to fully define the operating parameters created some erratic behavior when on the BT connection. I kept it to just the minimums:

[DEFAULT]

; If you want to add custom values/settings, then check the values/settings you want to change in "config.default.ini"
; and insert them below to persist future driver updates.

; Example (remove the semicolon ";" to uncomment and activate the value/setting):
MAX_BATTERY_CHARGE_CURRENT = 50.0
MAX_BATTERY_DISCHARGE_CURRENT = 75.0

MIN_CELL_VOLTAGE = 2.500
MAX_CELL_VOLTAGE = 3.650
FLOAT_CELL_VOLTAGE = 3.375

LINEAR_LIMITATION_ENABLE = False

CVCM_ENABLE = False

Yeah, there are also a ton of settings auto set to true that could easily be hard to work out when they were active, but I don't think any of them would cause the behaviour you've seen, unless something else was wrong in the code or BMS / connections.
 
I've reconnected to the RPi without incident... just 41 minutes of no data.

Wanted to see how consistent the Ah count was on a re-charge with > 2A charging (except during taper):

1704343535071.png

Pretty happy with that... 99.5%.

Worth noting that the power supply was registering about 20-30mA for the two hours VRM shows 0A. After about two hours, I initiated the higher voltage charge to cut-off.

This demonstrates that a charge to tail current 0A on with these cells at 3.42-3.43 is essentially fully charged.
 
it seems to me that all of the chinese BMS's do not read a drain below 2 amps or so. I have noticed the same on the DALY units. I ran both Magnum shunts and Bogart Engineering Trimetric shunts and over a perior of time the shunts would be in agreement +- 3% SOC on a 500 a/h pack but the DALY BMS would be off by 10-15% if I had low solar for a long period of time (2~3 days without reaching full charge). over a longer period of time it got ridiculous. the shunts would be saying the battery was at 30% and the BMS would be at 50~60%..
 
Cells were 3.30-3.31 when the SoC dropped from 84.6% to 30.0%

Just guessing here, but I wonder if the strange drops in SOC are due to the missing values set on your JBD for the SOC to voltage map?

From your screenshot is shows 0mV for 100%, 90%, 70%, 50%, 30% and 10%. Might be worth re-testing with those value set to correct voltages.

1704363597577.png
 
Just guessing here, but I wonder if the strange drops in SOC are due to the missing values set on your JBD for the SOC to voltage map?

From your screenshot is shows 0mV for 100%, 90%, 70%, 50%, 30% and 10%. Might be worth re-testing with those value set to correct voltages.

View attachment 186845

That's from the original JBDTools software. The image I posted in the message body is from Overkill's app, which doesn't even report those values, and it shows 3450 for 100%, so I'm not sure what's going on.

I loaded the overkill 4S defaults and tweaked as needed. It's back to sitting there doing nothing, so we'll see what happens... ;)
 
I tested (4) different JBD 8S 100A last night and found that they will not read less than 430-480 mA of charging current (11W in my case). I used a clamp meter and the Overkill android ap calibration feature (through JBD Bluetooth UART dongle).
 
I tested (4) different JBD 8S 100A last night and found that they will not read less than 430-480 mA of charging current (11W in my case). I used a clamp meter and the Overkill android ap calibration feature (through JBD Bluetooth UART dongle).

I saw values down to 0.24A, but I have no other means of confirmation aside from the 20-30mA reported by the power supply after the BMS showed 0A:

1704466699193.png
 
Back
Top