Battery life estimation considered impossible?
Richard A. Smith
richard at laptop.org
Thu Apr 17 06:40:21 EDT 2008
Martin Dengler wrote:
> 3. minutes_left = battery_capacity_pct / 0.59. From . The magic
> constant is about 1.2 pct of battery capacity = 2 minutes of power;
> this is what I've observed and consistent with other reported
> capacities I've seen; but of course the approach is fatally flawed.
Sorry I'm a bit late to respond. My attention has been elsewhere.
Accurate battery life estimation is going to present a challenge. The
first issues that come to mind are:
- The (eventual) large fluctuation of power draw once our power
management efforts mature. Sometime soon the XO will be constantly
fluctuating between 2 Watts during auto-suspend and the 7W when its
crunching. Since this will be driven by the user's usage habits it will
be difficult to predict. Once this starts happening the above algo will
- The XO has 3 different batteries and 2 different chemistries each with
a different capacity.
- In classroom situations that use 2 batteries/XO and the Multi-Battery
charger you may end up with a different battery every cycle.
- The available capacity of the battery changes based on the
temperature. LiFePO4 less so. NiMh more so.
- The capacity of the battery reduces every discharge/recharge cycle.
Design specs for the battery are 50% left after 2000 cycles which works
out that you can expect up to 10% loss per year. The degradation curve
for LiFePO4 is pretty much linear wrt time. I've not seen a curve for
NiMh. NiMh is tricky since the ambient temp while charging has a large
effect on its degradation.
The power draw is of course going to dominate the above issues and the
good news is that by using the data from accumulated current register
inside the battery you can get a very accurate reading on how much juice
you have used between any 2 instances in time. (Assuming the battery
isn't removed) So if you were to take ACR readings and build up some
sort of usage profile then that might get you close enough.
Batteries are also uniquely identifiable since the gas gage chip has a
64-bit unique id and we repoort that in the battery driver. So I
suppose you could build up a little database over time of the profiles
of all the batteries the XO has seen.
I use the ACR and battery ID in my power profile script.
See here for how to process ACR data:
I do think some sort of current power draw indication and history would
be a useful item. In particular it would be useful in assisting the
user when working with a solar panel. To maximize your results on solar
you have to align the panel with the sun. Watching the power draw
should allow you to figure that out. It just needs a few extra options
for setting a faster sample rate, telling ohm not to suspend, and then
present some sort of workload that makes the power draw fairly constant.
Richard Smith <richard at laptop.org>
One Laptop Per Child
More information about the Devel