Li-ion Voltage Under Load & Runtime: 2RC Cell Model

Predict Li-ion cell voltage sag, cutoff time and usable capacity under constant, pulse or drive-style loads, with two RC transients and voltage relaxation.

#2RC #equivalent circuit #lithium-ion #NCR18650PF #pulse-load #runtime #state-of-charge #voltage-sag

A cell can contain plenty of charge and still stop powering a device when its terminal voltage falls below the device’s cutoff. This battery equivalent circuit model calculator estimates that difference for a Panasonic NCR18650PF lithium-ion cell. It is useful for engineers choosing a supply voltage threshold, students studying transients, and builders comparing steady and intermittent loads.

Choose a constant current, a repeating pulse, or a repeating drive-style current cycle. Set the peak current, initial state of charge, cutoff voltage, and observation duration. Pulse mode adds a background current, an on-time, and a period. The drive-style option is a deliberately simple six-stage discharge profile, scaled by the peak current and cycle duration; it is not an automotive certification cycle and includes no regenerative charging.

The voltage plot separates the open-circuit voltage from the voltage available at the terminals. The current plot shows exactly when the load changes. A third chart follows state of charge. Press play beside the time cursor to watch the schematic’s charge bar and terminal voltage change. The simulation itself is cached while the cursor moves, so playback does not rerun the discharge calculation.

The model combines OCV(SOC), an instantaneous resistance, and two parallel RC branches connected in series. Those branches preserve the recent load history: voltage recovers quickly when current stops, then relaxes more slowly. This explains why an Ah divided by current calculation can overstate real runtime under pulse loads or a high cutoff. Discharge ends at the first voltage crossing, even during one short pulse. The load then disconnects permanently for the relaxation trace; there is no automatic restart.

Results give delivered ampere-hours, watt-hours, and the percentage of the nominal 2.9 Ah rating obtained before stopping. The measured low-rate capacity used for SOC is 2.99732 Ah, so a low-current result can exceed 100% of the nominal rating. If the selected observation window ends first, the status explicitly says that cutoff was not reached; the displayed time is an observation limit, not a runtime prediction.

The 2RC battery model parameters were fitted here to Phillip Kollmeyer’s public Panasonic cell measurements, with separate pulse and sustained-discharge data. They are not copied from Chen and Rincón-Mora’s parameter table. Temperature interpolates measured parameter sets at 0 °C and 25 °C. Ageing is represented only by a remaining-capacity factor and a resistance multiplier. These controls support sensitivity studies, not remaining-life prediction.

Use the fitted cell as a reference, not as a universal lithium-ion chemistry. Subsecond switching, cell heating, charging, protection delay, manufacturing spread, and pack imbalance are outside this tool. Cold operation near depletion relies on an endpoint extension. Check the method and validation tolerances before using the result to set a product requirement.

How it is calculated

The reference cell is a Panasonic NCR18650PF. Positive current means discharge. A charge state and two polarization voltages obey

z˙=−I/Q,v˙j=−vj/τj+IRj/τj,\dot z=-I/Q,\qquad \dot v_j=-v_j/\tau_j+I R_j/\tau_j,
Vterm=UOC(z,T)−IR0(z,T)−v1−v2.V_{term}=U_{OC}(z,T)-I R_0(z,T)-v_1-v_2.

For one constant-current interval, each branch advances exactly as vj+=vje−Δt/τj+IRj(1−e−Δt/τj)v_j^{+}=v_j e^{-\Delta t/\tau_j}+I R_j(1-e^{-\Delta t/\tau_j}). SOC parameters are held at the interval's beginning, then refreshed; terminal OCV and R₀ use the new SOC. The calculation uses intervals of at most 5 s, reduced to 2.5 s within 0.15 V of cutoff, splits them at every load change, and bisects an interval containing cutoff. Both sides of current discontinuities appear in the trace. Delivered charge integrates I; delivered energy integrates each exponential polarization voltage analytically. The OCV and ohmic terms use exact antiderivatives of their piecewise-linear SOC curves, including intervals crossing table knots. All internal state arrays use normalized SI values, restored to explicit units in the named steps.

The first crossing of terminal cutoff or zero SOC permanently opens the load. If neither occurs before the maximum load duration, the status reports an observation limit. Relaxation then holds SOC and OCV fixed and lets both RC voltages decay. Every integration endpoint is cached in compact state blocks. Playback reads the immediately preceding integration checkpoint and applies only the remaining fraction of that same interval, with the same frozen RC parameters as the simulation. It evaluates OCV and the ohmic resistance at the returned SOC. Chart thinning is separate from this full state cache; moving the time cursor does not rerun the discharge. Plot sampling retains both sides of every load change and a regular grid of at most about 480 intervals. Internal integration remains at most 5 s, with refinement near cutoff. Bounded cache blocks keep every intermediate within the engine's unit-check limit.

For each RC branch, ∫0hvj dt=IRjh+(vj(0)−IRj)τj(1−e−h/τj)\int_0^h v_j\,dt=IR_jh+(v_j(0)-IR_j)\tau_j(1-e^{-h/\tau_j}). Subtracting these voltage integrals from the integrated OCV-minus-ohmic term and multiplying by current gives delivered joules. This resolves fast transients even when their time constants are shorter than the state integration interval.

Parameter identification. Own positive constrained least-squares fits use Kollmeyer's public 2.9 A, 10 s HPPC pulses and following relaxation at 0 °C and 25 °C. OCV is the pre-pulse rested voltage. At 25 °C the first sustained 1C discharge constrains the sum of the three resistances, preventing the slow branch from becoming poorly identified by a short pulse alone. The second 1C discharge and the 5.8 A pulses are held out. Attached source s3, pages 1–2, records filenames, SHA256 hashes, extraction rows, fitting bounds and derived parameters. The nominal rating is 2.9 Ah; the C/20 charge difference is 2.99732 Ah and defines the SOC capacity. Chen and Rincón-Mora supply the model architecture, not these fitted parameters.

Temperature linearly interpolates the six circuit parameters between 0 °C and 25 °C. Capacity ageing multiplies the measured capacity; resistance ageing multiplies all R values while keeping both time constants fixed. There is no additional Peukert penalty: the rate-capacity effect comes from current-dependent voltage loss and early cutoff, avoiding double counting. Constant current, pulses and the six-stage drive-style profile are prescribed current loads, not constant-power loads.

Numerical and measurement checks. At defaults, halving the integration ceilings from 5/2.5 s to 2.5/1.25 s changes cutoff by about 0.34 s and delivered charge by about 0.00038 Ah. The held-out 25 °C 1C case is accepted within 120 s (about 3.5%) and 0.10 Ah, with 20 mV tolerance at 1000 s. Two held-out 5.8 A pulse endpoints use 30 mV tolerance. These tolerances describe these checks, not a guaranteed error bound for every profile.

Playback continuity checks compare both sides of saved checkpoints whenever current is unchanged; real current-step voltage jumps are retained. The voltage-balance property verifies that all displayed voltage drops refer to the same playback state.

The independent constant-parameter 5.8 A, 1 s pulse at 0 °C delivers 0.005678006654465168 Wh by the closed-form RC integral; the energy reference case checks this value to 1 nWh.

Assumptions

One initially relaxed cell, with v₁ = v₂ = 0; prescribed nonnegative discharge current; fixed cell temperature. SOC is the fraction of the cell's low-rate charge capacity. The 25 °C zero-SOC OCV uses the C/20 one-hour-rest endpoint, 2.86117 V. Below the lowest 25 °C HPPC point (about 8% SOC), resistances continue the last rising depletion slope and time constants hold. Below the lowest cold point (about 17.7% SOC), cold resistances and time constants hold; cold OCV follows the warm endpoint shape with the last measured cold offset. These extensions are assumptions, not measurements.

The drive-style cycle repeats six current fractions 0.1, 0.4, 1.0, 0.2, 0.7, 0.3 for fractions 1/12, 1/6, 1/4, 1/6, 1/6, 1/6 of its period. It is an authored scenario, not UDDS, US06 or measured vehicle demand. Factors for ageing are independent sensitivity controls, not a fitted degradation law.

Where it applies

Use as a fitted Panasonic NCR18650PF reference, not as a universal chemistry or another cell's datasheet. Temperature is restricted to 0–25 °C. The quantitative held-out validation is at 25 °C; intermediate temperatures interpolate, and cold behavior and ageing factors need application-specific verification. The fit uses 2.9 A pulses and sustained discharge; held-out 5.8 A pulses test larger current. Treat results above 5.8 A and near depleted SOC as extrapolations. A 2.5–4.15 V cutoff is available, subject to the initial OCV condition. High cutoffs can legitimately give zero runtime at the first load step.

The observation window is at most 180 min. A result ending at this window is censored; it does not establish when cutoff would occur. A low-rate delivered/rated percentage above 100% is possible because the measured C/20 capacity exceeds the nominal rating. Very short pulses below 1 s, impedance at switching frequencies, charging and regeneration, hysteresis, self-discharge, thermal evolution, protection delays and automatic restart are excluded. No pack topology, cell imbalance, balancing or pack protection is modeled. No safety certification or prediction of cycle ageing is implied.

For readable full-profile charts, the loaded interval is limited to 300 pulse cycles or 100 drive-style cycles. Shorten the observation window or lengthen the period if this limit is reached.

References

  • M. Chen and G. A. Rincón-Mora (2006), An Accurate Electrical Battery Model Capable of Predicting Runtime and I–V Performance, IEEE Transactions on Energy Conversion 21(2), 504–511. https://doi.org/10.1109/TEC.2006.874229. Author manuscript: https://rincon-mora.gatech.edu/publicat/jrnls/tec05_batt_mdl.pdf (architecture only).
  • P. Kollmeyer (2018), Panasonic 18650PF Li-ion Battery Data, version 1. https://doi.org/10.17632/wykht8y7tg.1 ; https://data.mendeley.com/datasets/wykht8y7tg/1 . CC BY 4.0: https://creativecommons.org/licenses/by/4.0/ . Measurements extracted, sign convention changed, and circuit parameters fitted by WiredWhite; no endorsement implied.
  • Attached s3: Kollmeyer raw measurement excerpts and WiredWhite fit record, pages 1–2. Raw MAT file ids and hashes, measurement rows and fitting method make the calibration and held-out reference cases traceable.

Inputs

InputSymbolUnitDefault
Current profileprofileRepeating pulses
Load / peak current
Positive current discharges one cell. Drive-style stages use 10%, 40%, 100%, 20%, 70%, 30% of this current.
I_peakA4
Background current between pulsesI_baseA0.2
Pulse on-timet_ons20
Pulse period
One pulse plus the interval before the next pulse.
t_periods60
Drive-style cycle duration
Six stages last 1/12, 1/6, 1/4, 1/6, 1/6 and 1/6 of the cycle.
drive_periods120
Maximum load duration
If cutoff is not reached, this is an observation limit. The load disconnects at this time.
t_observemin180
Terminal-voltage cutoff
The first crossing latches the load off; no restart after voltage recovery.
V_cutV3
Relaxation after disconnectiont_restmin10
Initial state of charge
Fraction of the measured low-rate capacity. Start with a relaxed cell: both RC voltages are zero.
z_init1
Cell temperature
Held constant. Linearly interpolates the 0 °C and 25 °C fitted cell data; no heat balance.
T_cell°C25
Remaining-capacity factor
1 = the measured reference cell; 0.8 = 80% of its capacity. Does not predict cycle life.
f_capacity1
Resistance multiplier
Scales R₀, R₁ and R₂ together. Relaxation time constants are held fixed as a sensitivity assumption.
f_resistance1
Time cursor ▶
Play through the loaded interval and subsequent open-circuit relaxation.
t_cursormin50.08

Results

With the default inputs above, the calc gives:

ResultValue
Disconnection statusVoltage cutoff reached; load disconnected
Time to stop / observation limit105.25 min
Usable capacity delivered2.583 Ah
Capacity delivered (% of nominal rating)89.1
Energy delivered9.231 Wh
SOC remaining at disconnection (%)13.8
Lowest attempted terminal voltage3 V
Terminal voltage at time cursor3.583 V

Checked against sources

Each case below was calculated by this calc and agrees with the value from its source (within the tolerance where one is shown).

Held-out 25 °C sustained 1C discharge

Source: Kollmeyer 2018, doi:10.17632/wykht8y7tg.1, 03-10-17_23.36 3349_Dis1C_2.mat. Second 1C run excluded from calibration. Row 100 gives voltage at 1000 s; final loaded row 342 reaches 2.49948 V at 3416.557992 s. Charge is raw Ah(0) minus Ah(342): 2.29264 - (-0.45896) = 2.75160 Ah. Runtime tolerance 120 s reflects model error and end behavior, not numerical precision.

Inputs: Current profile = Constant current; Load / peak current = 2.899 A; Terminal-voltage cutoff = 2.5 V; Maximum load duration = 70 min; Time cursor ▶ = 16.667 min; the others as above.

ResultSourceThis calc
First cutoff, depletion or observation end3,417 ± 120 s3,514 s
Usable capacity delivered2.752 ± 0.1 Ah2.83 Ah
Terminal voltage at time cursor3.713 ± 0.02 V3.708 V

Held-out 5.8 A pulse near 90% SOC

Source: Kollmeyer 2018, doi:10.17632/wykht8y7tg.1, 25 °C HPPC file, raw rows 19056 and 19157: pre-pulse Ah=-0.30212 and last loaded voltage 3.81516 V near 10 s. SOC=1-0.30212/2.99732. The 5.8 A pulses were excluded from parameter fitting; 30 mV allows transient timing and current dependence.

Inputs: Current profile = Constant current; Load / peak current = 5.799 A; Initial state of charge = 0.8992; Terminal-voltage cutoff = 2.5 V; Maximum load duration = 0.1667 min; the others as above.

ResultSourceThis calc
Lowest attempted terminal voltage3.815 ± 0.03 V3.807 V

Held-out 5.8 A pulse near 51% SOC

Source: Kollmeyer 2018, doi:10.17632/wykht8y7tg.1, 25 °C HPPC file, raw rows 49596 and 49697: rested Ah=-1.46217 before the held-out 5.8 A pulse; final loaded voltage 3.44651 V near 10 s. SOC=1-1.46217/2.99732. This current level is excluded from fitting.

Inputs: Current profile = Constant current; Load / peak current = 5.8 A; Initial state of charge = 0.5122; Terminal-voltage cutoff = 2.5 V; Maximum load duration = 0.1667 min; the others as above.

ResultSourceThis calc
Lowest attempted terminal voltage3.447 ± 0.03 V3.449 V

Independent constant-parameter 1 s cold-pulse energy

Source: Independent review benchmark supplied by the user, verified separately with a 40-digit mpmath closed-form RC integral. For an initially relaxed constant-parameter cell, E = I[(U-I R0)h - I sum(Rj(h-tauj(1-exp(-h/tauj))))]/3600 Wh. U=4.15439 V, R0=0.033721 ohm, R1=0.098612 ohm, R2=0.067625 ohm, tau1=0.252 s, tau2=48.88 s, I=5.8 A, h=1 s. Fitted parameters are constant across this pulse's SOC interval (0.999462..1). Remaining 5 s are open circuit and deliver zero energy. This is an analytic circuit benchmark, not a measured energy result; underlying fitted parameters: Kollmeyer 2018, doi:10.17632/wykht8y7tg.1, attached fit record s3.

Inputs: Load / peak current = 5.8 A; Background current between pulses = 0 A; Pulse on-time = 1 s; Pulse period = 10 s; Cell temperature = 0 °C; Maximum load duration = 0.1 min; Terminal-voltage cutoff = 2.5 V; the others as above.

ResultSourceThis calc
Energy delivered0.005678 Wh0.005678 Wh

Related Resources

Responses

Your email address will not be published. Required fields are marked *

L ading...