# How to calculate remaining battery capacity from charge discharge data?

If a dataset contains data collected over time from a re-chargeable battery and includes information such as voltage, current, average discharge rate and peak discharge rates.

how can the remaining capacity of the battery be calculated based on this data?

Are there any examples which can explicitly show this calculations as I do not come from an electronics background but i am trying to work on this data to predict battery remaining useful life and do not fully understand how to compute the capacity value out of this raw information?.

Thanks.

• Commented Jun 1, 2019 at 16:31
• Do you know the concept of area under a curve? Integrating a function over time? Commented Jun 3, 2019 at 4:49
• yes i am familiar with the concept of integration and auc.
– MugB
Commented Jun 4, 2019 at 9:07
• Battery capacity is the integral of current over time. Battery capacity is often given in Amp Hours or mA Hours. If you integrate discharge current, when the battery is dead, the integral will be equal to the battery capacity. It may be easier if you convert it to Amp seconds or mA seconds. Commented Jun 6, 2019 at 6:37
• I guess I may have misunderstood the question. You may be asking about cycle life. Not remaining discharge capacity. Commented Jun 6, 2019 at 6:51

The charge-discharge curve from battery datasheet only determines its "nameplate" capacity. The useful battery life (aka "service time") is measured in number of charge-discharge cycles at the point where the actual capacity (as measured by integrating its discharge curve) drops below certain level. Usually the EOL (end of life) level for batteries is considered at 70-80% of nameplate capacity. Consumer-grade batteries are considered good if they can sustain 300-500 full charge-discharge cycles (see BU-801b). Industrial-grade batteries last longer, which obviously depends on depth of discharge cycle and discharge rate. Here is one article that addresses this subject, Fig #3 shows capacity degradation with number of cycles and depth of each discharge:

In short, measuring actual capacity of a battery at certain time of battery use doesn't tell you the whole information and one cannot predict the remaining battery life based on one point alone. To determine the SOH (State of Health) of a battery you would need to cycle your battery several times under very controlled conditions (voltage/current and temperature), evaluate the rate of battery degradation, and then determine the EOL assuming 70-80% capacity degradation.

• thanks for this detailed explanation so from what i gather in the paper, the way in which the capacity can be measured is by obtaining the initial capacity and then cycling the battery a number of times after which another capacity measurement exercise is performed so the capacity at the current time = capacity at current time/capacity at the beginning *100, correct? but i think I am still not so clear about how to evaluate the battery degradation rate.
– MugB
Commented Jun 4, 2019 at 9:11

Each battery has a charge/discharge curve. It is specific to the battery chemistry and capacity. It is also dependent on how long the battery is charged for and the age of the battery.

If you have the charge/discharge curve, the battery capacity can reasonably be calculated from the battery voltage. Sometimes the charge/discharge curve can be found from manufacturers or by looking at similar battery chemistries.

• thanks. so essentially if i plot the data as in Voltage against Time, it should show me this charge/discharge curve, correct? but what if I want to plot capacity against time to see how the capacity of the battery is degrading, how can this be achieved with the data?
– MugB
Commented Jun 1, 2019 at 20:32