Battery voltage is not linear with watt-hours

smorgasbord

Well-Known Member
There have been many a post about Battery SoC (State of Charge) read-outs. From @Court rightfully complaining in reviews when bikes have just 5 bars, to inaccurate voltage readings even those are available. Having worked in Automotive a bit, I know that even gas tank sensors are put through a look-up table to convert the level of non-uniform gas tanks into actual gallons. We need to do that with our eBike batteries, too - yet no-one does it! The Voltage to SoC charts posted here (I've even posted them) basically just divide the voltage difference at 100% and 0% into equal parts. But, voltage drop is not equal for equal watt-hours consumed.

We all know this when we see that we get far more miles going from 5 bars to 4 than when going from 2 bars to 1. It creates Range Anxiety.

To gather some data, I took a ride today. After a couple of miles, I reset the EggRider trip and rode 1.55 miles at PAS level 4 (of 9) at about 15MPH (Trip A).
Then I created a new trip and rode about 20 miles to drain the battery (and have some fun).
Back at the starting point, I reset the EggRider and did the same 1.55 miles at the same PAS level and trying to go the same speed (Trip B).

TripA:
Starting Voltage: 57.7volts = 96%
Ending Voltage: 57.1volts = 89%
Delta Voltage = 0.6 volts or 7%
Delta time: 6:43
71.3 Watt-hours consumed

TripB:
Starting Voltage: 54.1volts = 71%
Ending Voltage: 53.3volts = 66%
Delta Voltage = 0.8 volts or 5%
Delta time: 6:37 (OK, so I went 6 seconds faster)
67 Watt-hours consumed

Notice that even though I used less Watt-hours on the second trip, the voltage drop was greater (0.8 vs 0.6).

What surprised me was that apparently the EggRider already has some kind of non-linear table built-into it. With more voltage drop later in the day, the SoC% drop was smaller. Maybe there's some rounding going on.

Questions:
  • Does anyone know if the EggRider really has a battery voltage to battery SoC adjustment and so its SoC readout can actually be (more) trusted?
  • Why don't all displays do this? Having a look-up table to convert voltage to SoC takes little memory and tiny CPU.
  • Does anyone have good data on what the right battery voltage to SoC conversion table looks like? It would be easy, if time-consuming, to build.
 
Last edited:

TomD

Well-Known Member
Do controllers draw more amps for any given PAS as the voltage drops or do you need to pedal a little harder to maintain the same speed? Maybe that explains why Trip B consumed less battery? To draw any collusions you might have to do the test using throttle only.
 

smorgasbord

Well-Known Member
Do controllers draw more amps for any given PAS as the voltage drops or do you need to pedal a little harder to maintain the same speed? Maybe that explains why Trip B consumed less battery? To draw any collusions you might have to do the test using throttle only.

I had warmed up more by Trip B, so I probably just pedaled a bit harder. BUT, that doesn't matter since the EggRider is able to report both actual watt-hours consumed as well as voltage drop. In the first trip, 71.3 watt-hours took battery voltage down by 0.6 volts. That's 199 watt-hours per volt. In the second trip, 67 watt-hours took the battery voltage down by 0.8 volts. That's 84 watt-hours per volt.

Regardless of whether the trips covered the same ground or had more or less pedaling, there is still that watt-hour to voltage mapping difference, which supports my original contention that the commonly distributed charts we see that linearly map battery SoC to voltage are plain wrong, as are battery bars.

My battery has a 1,092 watt-hour (52 volts, 21 amp-hours) spec'd capacity. 100% is 58.8 volts, 0% is reported as 42 volts (and I'm never supposed to go near that). That's a delta voltage of 16.8 volts from full to really empty. Using the 199 wh/volt I get when near full, my battery capacity would be 16.8*199=3,343 watt-hours, which is ludicrous. Even at the 84 wh/volt number I got with the battery 2/3 full that's still a way too high 16.8*84=1,411wh. So, if I were to run this same experiment with the battery at 1/3 full, I'd probably get much lower numbers. If I did this enough, I'd be able to build a map that says, for instance:

58.8 volts to 57.8 volts - 220 watt-hours
57.8 volts to 56.8 volts - 200 watt-hours
...
54.8 volts to 53.8 volts - 84 watt-hours
...
45.8 volts to 44.8 volts - 40 watt-hours
etc.

As I said, it appears the EggRider does have some sort of mapping like this for its SoC % reporting, which is great. The stock Bafang displays do not do this, even if you're running the standard 48 volts.
 

steve marino

Active Member
I have an eBike w/ the 5 LED readouts for telling me what it thinks the remaining power might be. It's obviously pretty nuts, and that seems to be the consensus on all the LED type readouts of battery monitoring except for the high end Cycle Analyst . Maybe your LED readout apparatus is different than mine, I couldn't say, but mine is not at all trustworthy.
 

harryS

Well-Known Member
Automotive gas gauges on my cars are neither linear nor accurate. And if you ever looked at a discharge curve for a lithium battery, you know it's too much trouble for a $5 ebike display to put in the kind of smarts needed to make it good.
 

smorgasbord

Well-Known Member
I did a 30 mile ride today.
The 15 mile out route consumed 377.3 wh with the battery going from 100% to 77%, about 16.4 wh/battery percent
The 15 mile back route consumed 392.5 wh with the battery going from 77% to 54%, about 17 wh/battery percent

Those are pretty close! More confirmation that the battery percentage compared to watt hour usage is pretty linear.

What's still puzzling, however, is that even at 16wh/percent, I should have 1600 watt-hours total. But, my 52v battery is rated at 21ah, so that's just 1092 watt-hours. I need to take a longer ride and see if things get wonky as the battery charge gets below the 50% threshold.
 

Ravi Kempaiah

Well-Known Member
I did a 30 mile ride today.
The 15 mile out route consumed 377.3 wh with the battery going from 100% to 77%, about 16.4 wh/battery percent
The 15 mile back route consumed 392.5 wh with the battery going from 77% to 54%, about 17 wh/battery percent

Those are pretty close! More confirmation that the battery percentage compared to watt hour usage is pretty linear.

What's still puzzling, however, is that even at 16wh/percent, I should have 1600 watt-hours total. But, my 52v battery is rated at 21ah, so that's just 1092 watt-hours. I need to take a longer ride and see if things get wonky as the battery charge gets below the 50% threshold.


Most battery discharge curves look like this. Most cells are capped at 3.0 V.
It's most potent in the middle zone. As the cell nears the low voltage cutoff, it's ability to produce high enough current goes down.
Some of it can be mitigated with clever electronics so that the device never sees this exponential drop and that's what happens in EVs like Tesla. Even at 15% charge, you could do a quick 0 to 60mph. I am sure this tech will trickle down to E-bikes. Just takes a bit of time...

1587788870122.png
 

Browneye

Well-Known Member
Right. Measuring voltage for SOC is fuzzy at best. The only true way is to measure amps out then amps in. Since that's not only not convenient, it would be a PITA, so voltage is used as being close enough.
And why you're not supposed to overheat them, or freeze them, or leave them stored fully charged. It can be too easy to create an over or under charge state for individual cells. The charger excites the ions and they absorb current. When you remove the charger they settle down. Same for discharging - and why you can see bounce on some indicators, a drop under load.
 

smorgasbord

Well-Known Member
Took a 42 mile ride today.
Won't bore you with the details, but EggRider reported 259wh consumed for first 15% Battery SoC, 256.2wh for second 15%, and 220.6 wh for the third. I then consumed another 10% or so.

The Wh/Battery percent ratio was between 15.3 and 17.3, which is well within the battery voltage read-out accuracy given that I didn't stop every 15% and wait 10 minutes for the battery voltage to recover. For instance, when I finished the ride, I had 44% left, but after letting the bike sit idle in the garage while I pulled info from the EggRider app it ended up at 48% before I shut the bike down and plugged in the charger.

Anyway, I'm getting a good feel for how far my bike will take me. I should probably mention that these 42 miles included about 4000 feet of elevation gain (and since it was a round trip the same in downhills).