Battery voltage over time/temp formulas anyone?

Sorry for tag-wasn’t sure where this would belong.

I’m trying to craft some reasonably accurate battery level indicators in openHAB for my WirelessTag sensors. They output the voltage of their (CR2032 and CR2025) batteries. I don’t know if this voltage output is tested under load or not, however the WirelessTag dashboard itself can provide some pretty accurate levels for these batteries (as a percentage and it’s voltage at a given temperature), so I’m hoping II can figure a formula to plug into openHAB to convert their raw voltage and temperature data into an approximate battery level. Any ideas?

I was thinking maybe that both voltage and temperature could be merged (perhaps sine/cosines?) to produce a better battery level estimate.

@benhelps, the battery level should be in terms of percentage: a ratio of current voltage divided by 3 volts (for your batteries). Temperature is irrelevant. Suppose the current voltage is 2.6 volts, then the formula would be (2.6/3)*100 = 87%

Sorry - this is not correct. Battery voltage to capacity is very non-linear and there is not a direct correlation. Temperature also IS relevant to battery capacity (for Lithium batteries, hotter temperatures will provide more capacity, but less life). The load, and the internal resistance of the cell also has a huge effect so it’s really not possible to have meaningful results from such a simple formula.

This is a difficult topic, and it’s why so many battery devices have such poor battery level indicators.

For that matter, each battery cell could have differing resistance & capacitance. If we’re going to be that scientific on calculating an estimated battery life percentage, then it is not worth the trouble. A compromise would be to divide by some determined value less than 3 since these batteries are alleged 3v when new.

I’m not really sure I understand your point. As I said, battery voltage versus DoD is not linear -:


As you can see from the above, a standard Lithium battery with a 4.2v BoL voltage is 100% discharged (ie it has no further capacity) when it is at 3v (varying of course due to discharge rate which is caused by the cell IR).

A simple linear formula really will not provide anything useful - it’s not about being scientific. If you want something that is in any way useful, you need to model these capacity curves and understand the load.

1 Like

Perhaps the most useful part of that chart is clearly showing the “knee” at the end of capacity.
A practical approximation for most uses might be to approximate the early life with a straight line in %, and have the knee point determine when to send emails or whatever to show end-of-life.
Having temperature available hugely improves it.

And also it depends on the devices themselves what should be considered low battery. The sensors I use take CR2032 and (from memory) CR 2025?2045? batteries. At 3V+ they consider the battery full, but at 2.6/2.7V (temperature dependent) they consider the batteries low (one sensor averaging 15C considers 2.7V low while one averaging -15C considers 2.6V low but OK)

It shouldn’t really - unless the device is poorly designed to not work across the full capacity of the battery.

However, the reality is that devices are often poorly designed, and have even poorer battery monitoring systems that are often too simplistic to be especially useful…

Well sometimes (often times) yes, but sometimes it’s just that the chips being powered aren’t reliable under a certain voltage, even if that voltage is still considered viable for that battery. Also for many devices, they want to prompt for replacement of the battery before battery failure is imminent. Bad design is then using a battery smaller than practical because of a smallness factor preference, say simply to make it sexier to sell.

Yes, I agree, and that is my point. The device has not been properly designed to take account of the full range of the battery. A device should have a properly designed supply using (for example) the right components that can operate across the range of a battery, or, a properly designed power supply to ensure that the components are supplied with the correct voltage from the battery (using a DCDC converter).

Failure to do that means short battery life on the device. Yes, you are right that the manufacturer can warn you that the device is about to stop working, but that doesn’t (IMHO) mean that they have properly designed it, and the user will be swapping out half used batteries.

Possibly that is one definition - there are a lot more factors that this though…