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?.


  • 1
    \$\begingroup\$ Go read batteryuniversity.com/learn/article/… \$\endgroup\$ – Tony Stewart Sunnyskyguy EE75 Jun 1 at 16:31
  • \$\begingroup\$ Do you know the concept of area under a curve? Integrating a function over time? \$\endgroup\$ – mkeith Jun 3 at 4:49
  • \$\begingroup\$ yes i am familiar with the concept of integration and auc. \$\endgroup\$ – MugB Jun 4 at 9:07
  • \$\begingroup\$ 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. \$\endgroup\$ – mkeith Jun 6 at 6:37
  • \$\begingroup\$ I guess I may have misunderstood the question. You may be asking about cycle life. Not remaining discharge capacity. \$\endgroup\$ – mkeith Jun 6 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:

enter image description here

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.

  • \$\begingroup\$ 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. \$\endgroup\$ – MugB Jun 4 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.

  • \$\begingroup\$ 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? \$\endgroup\$ – MugB Jun 1 at 20:32

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.