Question Understanding battery pack math

Please register or login

Welcome to ScubaBoard, the world's largest scuba diving community. Registration is not required to read the forums, but we encourage you to join. Joining has its benefits and enables you to participate in the discussions.

Benefits of registering include

  • Ability to post and comment on topics and discussions.
  • A Free photo gallery to share your dive photos with the world.
  • You can make this box go away

Joining is quick and easy. Log in or Register now!

stuartv

Seeking the Light
ScubaBoard Supporter
Scuba Instructor
Messages
11,592
Reaction score
8,154
Location
Lexington, SC
# of dives
500 - 999
I'm trying to better understand some of the math related to my DPV battery pack. I have a Genesis 2.1, so that is what I'll be using as an example.

Please correct me on what I say that is wrong!

The specs say it has 850 Wh of capacity. It has 72 indvidual 18650 cells which are 3500 mAh (i.e. 3.5 Ah) each.

18650 batteries are 4.2V when full, but the Genesis BMS limits the charge to 4.15V (or very close) in the interest of cell longevity.

18650 cells are generally not discharged below 2.5V. If they get to 2.0V or less, they are considered damaged beyond repair and a fire hazard to attempt to recharge.

850 / 72 = 11.8 Wh per cell.

11.8 Wh / 3.5Ah = 3.4V

Is that just telling us the average voltage the cell will put out? I.e. if you draw 1 A (from a 3.5Ah cel), then it will start at 4.15V and go down slowly, giving an average voltage of 3.4V over the 3.5 hours that it lasts? Meaning that it draws down to 2.65V and is then considered to be at 0% SOC (State Of Charge)?

That seems correct.

So, is this discharge curve (of voltage) linear? Is there a way to tell, just from the voltage, when you're at (just for example) 80% of total energy remaining? 3.85V is 80% of the way from 2.65 to 4.15V, so does that mean when the cells are at 3.85V, the pack is at 80% SOC?

Ultimately, I'm trying to understand what the BMS app for my scooter is telling me.

The % SOC that is displays doesn't seem to be connected to reality, at all. Last time I charged it, it was showing 1% SOC when the voltage of the whole pack was at 58.46V. And then it was showing 100% when V was at 72.29V. But it kept charging, right up to 74.78V - still showing 100%.

If I can't rely on the BMS app SOC to tell me how much battery I have left, and if voltage doesn't drop linearly with energy used/remaining, how do I tell how much energy my scooter has left?

For example: Say I don't want to ever run it below 20% remaining. I do a dive and the BMS app says I used 40%, so I have 60% remaining. Can I REALLY do the exact same dive again and finish at 20% remaining? It seems like I can't trust the BMS app in that way. And I can't look at the actual pack voltage and answer that question, either.

Maybe I need to calibrate the BMS somehow? If so, how do I do that? Charge the scooter to full and then run it until the scooter cuts off?

???????
 
batteries are always rated their nominal voltage, this is typically 3.6v or 3.7v depending on the cell. It will say it on the side, not sure which specific cell they are using. Below you can see for the NC18650ga that it is rated for 3.5ah at 3.6v, these are nominal ratings so there is some wiggle room there.
Mathy math says 3.5*3.6*72=907wh, but you'll see in the spec sheet that the minimum tolerance is 3350mah vs. 3500, so 3.35*3.6*72=868wh and I imagine that @Jon Nellis is being a reputable manufacturer and conservatively rating that battery as 850wh, which is also a nice number rounded to safety so it's a nominal 850wh pack. Always go forward with battery math, try not to go backwards, so instead of starting with 850/72, go from the cells and work your way up.

Lithium does not have a linear discharge curve, this is why they need shunts that are coulomb counters to give their actual SoC, you can't just put a volt meter on the cells and have any idea what is going on as we are talking about a fraction of a volt between 20% and 80%. I do not know the specifics of the BMS on that scooter, it may or may not have a coulomb counter built into the BMS that is actually counting amps going into and out of the battery to get the SoC, but that's how the wattsup meters work for reference.

The lithium charge/discharge curve looks like this
1708012856877.png


You can see that ~3.6v is around 20%, but 3.75 is around 80%. Since the Warpcore is 16s, that means your 20% is roughly 57.6v, and 80% is roughly 60v. The motor being on/off is going to cause that much voltage drop most likely so voltage is not a way to get SoC in lithium. This is actually a real problem in EV's, even with 400v and 800v architecture. What is happening when your voltage goes above 64v is the BMS needs to see a big enough voltage difference between each of the 16 "layers" to perform what is called top balancing, or ensuring that each of the "layers" is at the right state of charge. It can do this by measuring voltage, but only after the voltage starts to rise by enough to make a meaningful choice. It can't reall do anything with 3.6 vs 3.75 when it's that much of a swing in SoC but it can do a lot with 4.1 vs 4.2 being 94 vs 98% or whatever the specifics are. The voltage required to perform balancing is specific to the BMS and may be 4.1, may be 4.2, may be somewhere in between but it's a voltage "trigger" that the BMS uses to start balancing the cells so the charger needs to get up to that voltage and stay there for a while, in this battery I'd say probably half an hour, to let it really balance itself out.

I would guess that Jon put a BMS with a Shunt in it that is giving you an accurate SoC readout and it will give an accurate SoC. I will say that if he did, then they usually recalibrate to 100% at every charge cycle so it can say 100% for a while even though it's still charging and that will be during that top balancing stage. As far as calibration, if it does have a shunt, then the battery capacity is likely programmed into the firmware unless you have an option to specify the Ah of the pack. While the shunts can reset themselves to 100% based on 0 current flow while above a certain voltage, they count down from 100 then back up to 100 and the rate that they count is measured in amps so it has to be told how many amps 0 is to convert the coulombs or amps/sec into a % point. I.e. this is probably a 56ah pack so it may be programmed as 0.16ah=1% and I doubt you could change that. It's still only a guessometer at the end of the day, but it's a pretty damned close one.

I would strongly recommend NOT running the battery until it cuts off, getting it below 20% SoC is really bad for the cells and I do not know what the LVD is on that BMS but I would NEVER let it get below 56V and depending on the charger, I would top balance it right before a trip, then try to cycle it around 70-80% for longest life, but you're probably going to have it die based on age vs. cycles anyway. The biggest thing is not charging it after the last dive of the trip so long as it is above 30% or so.
 
batteries are always rated their nominal voltage, this is typically 3.6v or 3.7v depending on the cell. It will say it on the side, not sure which specific cell they are using. Below you can see for the NC18650ga that it is rated for 3.5ah at 3.6v, these are nominal ratings so there is some wiggle room there.

Thanks.

Yes, those are the specific cells I put in.

I believe it is 18s, not 16s.

I do believe the BMS counts coulombs.

The BMS app does have a setting for "full" Ah. It is currently set to 13.00Ah. I changed that from 26.00 when I cut the scooter down from a 2.2 to a 2.1.

The BMS app shows a setting for voltage to start balancing and it is set to 4000 mV.

So, you're saying now that I've charged it to full, the BMS % SOC that is displayed should be correct going forward? I.e. if I start at 100% (74.8V) and run it down to where the BMS says 60%, then I could expect to do the exact same dive again and finish at 20% SOC?

I don't understand why it wasn't already calibrated, if that is the issue. I don't think I have opened the hull since the last time I let it fully charge to 74.8V. But, I do know that the previous time I charged it, I did not let it fully charge. It got to around 99% (not sure of voltage) and I stopped it, then ran the motor in my living room until the BMS showed about 86% (not sure the voltage), for storage. Maybe that is why the BMS seemed to be out of calibration?
 
@stuartv yeah just saw 18s, so just adjust that math up a bit to multiply by 18.

Correct on your BMS SoC 100/60/20, if and only if the Ah is correct. Personally I would err on conservative with the ah setting. Nominal pack voltage is 3.6v*18s=64.8v. Nominal pack capacity in wh is 72*3.6*3.35=868wh. 868/64.8=13.4 and you have it set to 13. This gives you a few percent of buffer, not much but better than nothing so I would say that's good enough for a shunt. There is some discussion about whether 0% should ever actually be 0% for battery health and safety, so if you set it to say 12ah then when the shunt says 0% it should still have about 10% left and I would do that in say a motorhome/rv setting with lithium batteries where people think they can run something to empty, but that's your choice on whether you want to keep yourself saying I won't go below 20%, or build that safety factor into the shunt. Tomatoes potatoes so long as you aren't discharging below actual 20% SoC.

Now, when you discharged to 1%, that is obviously very bad for the batteries so don't do that, but what that does do is cause the cells to go out of balance. If they can hang out in the middle of the pack range then there they usually stay balanced, but if you ever discharge below 10% it is really important that you let it get up to 100% and you let it stay in absorption mode for at least 30mins so it can rebalance all of those cells, otherwise your SoC has the potential to be very inaccurate.

For storage, since you have a new battery charger that is programmable, just set a storage mode of 65v and let it hang out. Fully charge to 100% and let it go through absorption the night before a trip which will reset the BMS calibration to 100% and also make sure that all of the cells are balanced before you go out
 
Can you post a screenshot of the setup page for your BMS?
Do you have a Sentry on there?
 
The Warp Core BMS has Battery Capacity and Cycle Capacity parameter values.
26000mah/24000mah for the 1700Wh pack and 13000/12000 for the 850Wh pack.
The % remaining is based on the Cycle Capacity value, not full battery value and are ESTIMATES, since there is no way to factor capacity loss of the pack due to internal resistance and the heating that occurs when running at high power, vs lower power.
It also has a internal drain parameter, that calculates small idle voltage drop over time, if you leave it sitting unused. If you think the % remaining is not reporting correctly, there is a RESET CAPACITY button on the phone app (android app at least, I don't use the iphone app) that estimates remaining capacity based on current voltage. When the layers are disconnected for travel, the capacity value can be thrown off and you might need to RESET CAPACITY after reconnecting the layers.

The motor will shift into Low Power mode (approx. 300W good for roughly 200fpm) when the battery voltage drops to around 56-57V, which limits the current, to prevent draining the cells at too high of a rate, near the end of charge. This is roughly the 15% mark, but since there can be about 3V of sag at high power, the power reduction may kick in and then the voltage rebound back to 59-60V unloaded. After power reduction kicks in, you should have at least another 15 minutes of runtime at 300W on the 850Wh pack and around 30 minutes at normal cruise of 150-175W. Double those times for the 1700Wh pack. The motor will shut off at 50V. The battery will shut down at around 48V.

Yes, you can access most of the BMS parameters via the app, but unless you are 100% certain what the parameters affect, you should not go changing anything. Based on your not knowing how to calculate battery capacity, you really should not be messing with BMS parameters without better educating yourself on the basics of how batteries work.

Cheers,
Jon
 
Based on your not knowing how to calculate battery capacity, you really should not be messing with BMS parameters without better educating yourself on the basics of how batteries work.

Cheers,
Jon

Exactly why I'm not changing anything in there!
 
Can you post a screenshot of the setup page for your BMS?
Do you have a Sentry on there?

No, I don't have a Sentry.

These are the settings. The only thing I have changed from how it came to me (new in the box) is the 2 Total Capacity settings, which were 26000 and 24000. I converted the scooter from a Genesis 2.2 to a 2.1, which cut the battery capacity in half, so I changed those two settings per specific instructions from Jon.

2024-02-07 16.38.01.png



2024-02-07 16.38.10.png


2024-02-07 16.38.18.png
 
Here's an actual discharge curve at continuous full power. That's how we test every DPV before shipping. 4V of sag from full charge, low power reduction kicks in at the voltage knee, voltage recovers 1.5V after power reduction, then recovers 2V more when shut off.

Discharge is fairly linear at a fixed power, but you won't see that when you are diving variable speed. Voltage will fluctuate based on sag, that's why the Sentry measures Watthours used, for the best accuracy.

Discharge.png
 
That all seems inline with best practices.

I know there was a big with some BMSs that had the capacity percentages inaccurate if charge only balancing was enabled.

There is some debate if you will get more longevity out of cells by letting them cease charging when the highest reaches the programmed max then have the BMS discharge it down the lower cells to balance. Rather than having the charger continue to bounce it off it's upper limit while the rest catch up so to speak.
 
https://www.shearwater.com/products/teric/

Back
Top Bottom