Equivalent Circuit Model introduces the Thevenin-style ECM as one of two families of equivalent circuit used across this site, and Battery Cell Modelling shows what a first-order version of it looks like. This page picks up where those leave off: the governing equations, how to turn an HPPC Test Procedure pulse test into fitted R1/C1 values, how the model is discretised to run inside a BMS control loop, and when a second RC branch earns its keep.
Circuit Structure
A first-order Thevenin ECM represents a cell as an open-circuit voltage source in series with an ohmic resistor R0 and a single parallel RC branch (R1, C1). The RC branch captures the charge-transfer and double-layer polarisation that doesn’t respond instantaneously to a current step; R0 captures the part that does.
Where:
- Vt = terminal voltage
- U(z) = open-circuit voltage as a function of state of charge z
- I = applied current, positive for discharge
- R0 = ohmic (instantaneous) resistance
- V1 = voltage across the RC branch
The RC branch itself is a first-order linear system driven by the applied current:
Step Response and Time Constants
For a constant current step applied at t = 0 with the branch initially relaxed (V1(0) = 0), the ODE above integrates to an exponential:
τ1 = R1C1 is the branch’s time constant: the time for V1 to reach roughly 63% of its final value on a step, or to decay to about 2% of its initial value after five time constants have elapsed. This isn’t just a curve-fitting detail — it’s the reason the standard HPPC rest period is what it is. See HPPC Test Procedure for the test itself: a 40 s rest after each pulse is long enough for a typical τ1 in the 5-10 s range to relax through several time constants, so the voltage at the end of the rest is a clean read of U(z) rather than a mix of OCV and residual polarisation.
Fitting R1 and C1 from HPPC Relaxation Data
The HPPC procedure’s own DCIR calculation gives two of the three first-order parameters directly: R0 from the 1 s point of the pulse, and R0+R1 from the 10 s point. It doesn’t fit τ1 (and so C1) — that comes from the shape of the voltage relaxation during the 40 s rest that follows, which the DCIR calculation doesn’t use. Fitting it means matching the relaxation curve to the same exponential form derived above, referenced to the voltage the branch is relaxing towards:
where V∞ is the voltage the branch is relaxing towards (effectively U(z) once fully settled) and ΔV = IR1 is the initial size of the polarisation being discharged. There are two practical ways to fit it. Rearranging to ln(V∞ − V(t)) = ln(ΔV) − t/τ1 and reading τ1 off the slope of a straight-line fit is quick, but needs a prior estimate of V∞ since a 40 s rest usually hasn’t fully settled. Fitting V∞, ΔV and τ1 together by nonlinear least squares against the raw relaxation trace is slower but doesn’t need that prior estimate.
As an illustration: a pulse at I = 50 A gives a 1 s DCIR of 2.0 mΩ (R0) and a 10 s DCIR of 3.2 mΩ (R0+R1), so R1 = 1.2 mΩ and the branch is being asked to relax through ΔV = IR1 = 60 mV. If the relaxation fit returns τ1 = 18 s, then C1 = τ1/R1 ≈ 15 kF at that SoC and temperature point — a plausible order of magnitude for a large-format cell’s charge-transfer and double-layer capacitance. Repeating this across the full SoC-temperature grid produces the R0, R1 and C1 lookup tables Equivalent Circuit Model describes.
Discretised Form for BMS Implementation
None of this runs as a continuous-time ODE on embedded hardware. The BMS integrates the RC branch’s state at each control-loop tick using the exact discretisation of the ODE above (exact, rather than a first-order Euler approximation, because the branch is linear and time-invariant over one step):
alongside a coulomb-counted SoC update:
where Δt is the control loop period and Qn is nominal capacity. Terminal voltage at each tick then follows directly from the terminal voltage equation above, evaluated with the current state estimates. Choosing Δt is a tradeoff of its own: it needs to be short relative to τ1 for the discretisation to track the branch accurately (as a rule of thumb, Δt ≤ τ1/10), but every tick shorter costs more compute on hardware that is usually already budget-constrained. In practice this recursion is rarely run open-loop: current and voltage sensor error accumulate in the SoC estimate over time, so BMS firmware typically wraps it in a Kalman filter or similar observer that corrects the state against the measured terminal voltage. See Enhancing Lithium-Ion Battery Management with Advanced Kalman Filter Tuning for that estimation layer.
First-Order vs Second-Order Models
Adding a second RC branch (R2, C2) in series with the first gives a second-order model:
The two branches are fitted to represent processes on different timescales from the same relaxation trace: a fast branch (τ1, typically single-digit seconds) for charge-transfer and double-layer effects, and a slow branch (τ2, typically tens of seconds to a few minutes) for diffusion and concentration polarisation. A single RC branch fits the fast part of a relaxation curve reasonably well but tends to leave a visible residual during the slow tail, especially at low SoC and low temperature where diffusion-limited behaviour is most pronounced.
Whether the second branch is worth adding depends on what the model is for. It roughly doubles the parameters to fit, store and propagate every control tick, and with only pulse-test excitation the two time constants can be hard to separate cleanly if they aren’t well spaced — a classic identifiability problem for RC-ladder fitting, and one reason Equivalent Circuit Model notes multisine excitation as an alternative to pulse testing where better parameter separation matters. For coarse online SoC estimation under mild current profiles, a well-fitted first-order model is often accurate enough. For applications with sustained low-SoC or low-temperature operation, or highly dynamic current profiles such as drive cycles, the second branch usually earns its added cost.
See also: Equivalent Circuit Model, Battery Cell Modelling, HPPC Test Procedure, DCIR of a Cell, Randles Circuit, Enhancing Lithium-Ion Battery Management with Advanced Kalman Filter Tuning, Ohm’s Law, Kalman Filter