Roughly estimate the remaining capacity of a Li-ion cell with any load and temperature

Thread Starter

Marus780

Joined Jan 11, 2023
92
Hi !
I have a Panasonic NCR18650B Li-ion battery. The datasheet is here: https://www.tme.eu/Document/3e0170a1e089819f286f7066e69035b4/NCR18650B.pdf
In my circuit, the battery is monitored with a microcontroler and I know the voltage, current, temperature, internal resistance (70-100mR @ 25*C). What I want is to determine roughly when the battery state of charge has dropped bellow a certain point (lets say 30%). From the first graph in the datasheet it seems that the 30% is at around 3.5V with no load and 25*C. Now, when connecting a load, the voltage drops due to internal resistance and I can calculate it. It follows the values in the discharging graph with multiple loads. But the thing is that the internal resistance varies with temperature, and I want my estimation to be as correct as possible. The second graph shows the cell voltage when discharging with 3.2A at various temperatures. I don't really know what should I understand from here... At 30% (2500mAh capacity) and 0*C it seems that the voltage drops with another 0.2V. So, 30% will be 3.5V - 0.3V (3.2A load drop) - 0.2 (temperature drop) = 3.0V. Is this correct ? Ok, but then, how do I know how much voltage will drop due to temperature for other load currents ? Will it be proportional ? 0.2V / 3.2A = 63mV/A additional drop @ 0*C ?
 

nsaspook

Joined Aug 27, 2009
16,250
Define 'rough'. 30% SoC is still in the mainly linear drop part of the voltage curve. It's going to be difficult to get reliable voltage based measurement SoC estimates unless you have very good modeling of temperature, loading effects and high accuracy measurements to create lookup tables. If all you need is a good guess, then pick a voltage average for 30% on the curve.
1738291671456.png
1738291717060.png
https://www.nature.com/articles/s41598-025-85700-0

I'd look at 'fuel gauge' chips for a pre-made solution if you want good accuracy.
 

Thread Starter

Marus780

Joined Jan 11, 2023
92
That is to complex for me...

But I think I managed to understand how can I apply the info from datasheet to compensate for load current and temperature. I made an Excel workbook. The light orange cells are input. We choose a no load voltage that represents the desired SoC (in my case 3.5V for 25-30%). Then we measure the internal resistance and temperature at the time of measurement. And then, we can calculate the compensated voltage, function of current and temperature.
 

Attachments

nsaspook

Joined Aug 27, 2009
16,250
That is to complex for me...

But I think I managed to understand how can I apply the info from datasheet to compensate for load current and temperature. I made an Excel workbook. The light orange cells are input. We choose a no load voltage that represents the desired SoC (in my case 3.5V for 25-30%). Then we measure the internal resistance and temperature at the time of measurement. And then, we can calculate the compensated voltage, function of current and temperature.
It's not too complex, you just made a data based battery model. Now you need to make a error correction loop to check (energy predictions from it) it with reality (measured energy) from a full charge to what you decide is fully discharged.
 

Ya’akov

Joined Jan 27, 2019
10,226
In practice, the only way to get a real idea of SoC of a lithium cell is with a coulomb counter. Everything else is a guess that may or may not reflect the state of the battery.

If your proposed method was viable, it would be used in products—but it isn’t. Coulomb counter chips are common and inexpensive.
 

nsaspook

Joined Aug 27, 2009
16,250
In practice, the only way to get a real idea of SoC of a lithium cell is with a coulomb counter. Everything else is a guess that may or may not reflect the state of the battery.

If your proposed method was viable, it would be used in products—but it isn’t. Coulomb counter chips are common and inexpensive.
While I agree it's good and is easy to embed in a low-cost fuel gauge chip, it not the only way if what's needed are accurate energy/joule measurements instead of fuel gauge related Ah. Ah is not a unit of energy. The utility charges for energy, not current.

I don't specifically use a coulomb counter with LiFePO4 (my method does not work well with all battery types) cells that specifically tracks the in/out current loop as a proxy for true SoC. I don't really do care about Soc (I do display current data as an instantaneous measure of activity), as I track, compute data with, optimize the usage of and display Kwh. Watts and Watt*Hours are "mathematically complete" descriptions of loads and charging systems.
My current Home Assistant solar tracking system is based and programmed using energy related terms where home or EV battery bank voltage internal voltages could be in the hundred of volts. The Ah construct is IMO more suited to older linear systems where amps were easier to measure and log, with today more advanced switching power supplies, switching inverters with a constant load, the battery will be providing constant power. You don't care how many amps they are pulling.

https://ntrs.nasa.gov/api/citations/20220008848/downloads/2021.07 - Energies - A Critical Look at Coulomb Counting Approach for State of Charge Estimation.pdf
A Critical Look at Coulomb Counting Approach for State of Charge Estimation in Batteries
In this paper, we consider the problem of state-of-charge estimation for rechargeable batteries. Coulomb counting is a well-known method for estimating the state of charge, and it is regarded as accurate as long as the battery capacity and the beginning state of charge are known. The Coulomb counting approach, on the other hand, is prone to inaccuracies from a variety of sources, and the magnitude of these errors has not been explored in the literature. We formally construct and quantify the state-of-charge estimate error during Coulomb counting due to four types of error sources: (1) current measurement error; (2) current integration approximation error; (3) battery capacity uncertainty; and (4) timing oscillator error/drift. It is demonstrated that the state-of-charge error produced can be either time-cumulative or state-of-charge-proportional. Time-cumulative errors accumulate over time and have the potential to render the state-of-charge estimation utterly invalid in the long term. The proportional errors of the state of charge rise with the accumulated state of charge and reach their worst value within one charge/discharge cycle. The study presents methods for reducing time-cumulative and state-of-charge-proportional mistakes through simulation analysis.
Coulomb counting method is the well-known term that is used for the current-based
method [9]. In this method, SOC can be calculated as the ratio between the remaining
Coulombs and the battery capacity that is assumed to be known. The Coulomb counting
approach to SOC estimation can be approximated as follows.
 
Last edited:
Top