0% found this document useful (0 votes)
260 views33 pages

ECE5710 Notes02

BMS ECE Notes 2

Uploaded by

FREDERICK
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
260 views33 pages

ECE5710 Notes02

BMS ECE Notes 2

Uploaded by

FREDERICK
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 33

ECE4710/5710: Modeling, Simulation, and Identification of Battery Dynamics 2–1

Equivalent-Circuit Cell Models

2.1: Open-circuit voltage and state of charge


■ We begin our study of battery models by building up behavioral/
phenomenological analogs using common circuit elements.
■ The resulting “equivalent circuit” models will be helpful in getting a
feel for how cells respond to different usage scenarios, and are
adequate for some application design as well.
■ Ultimately, however, we will need a deeper physical understanding of
how the cells work. The rest of the course will focus on that.

Open-circuit voltage (OCV)


■ We start with the simplest possible model. An ideal battery is
modeled as an ideal voltage source. In this model,
i(t) +
• Voltage is not a function of current,

• Voltage is not a function of past usage, OCV + v(t)


• Voltage is constant. Period.



■ This model is inadequate, but provides a starting point.
• Batteries do supply a voltage to a load.
• And, when the cell is unloaded and in complete equilibrium (i.e.,
“open circuit”), the voltage is fairly predictable.
• An ideal voltage source will be part of our equivalent-circuit model.

Lecture notes prepared by Dr. Gregory L. Plett. Copyright © 2011–2018, Gregory L. Plett
ECE4710/5710, Equivalent-Circuit Cell Models 2–2
State of Charge
■ When a cell is fully charged, its open-circuit i(t) +
OCV(z(t))
voltage is higher than when it is discharged. +
v(t)
■ So, we can improve our model by including a −

dependence on the charge status of the cell. −


■ We define the state of charge (SOC) z(t) of a cell to be:1
• When the cell is fully charged, z = 100 %;
• Also, z = 0 % when the cell is fully discharged.

■ We define the total capacity Q of a cell to be the total amount of


charge removed when discharging a cell from z = 100 % to z = 0 %.
• Q is usually measured in Ah or mAh.

■ We can model SOC as (where ż = dz/dt)


ż(t) = −i(t)/Q
Z
1 t
z(t) = z(t0) − i(τ ) dτ ,
Q t0
where the sign of i(t) is positive on discharge.
■ In discrete time, if we assume that current is constant over sampling
interval 1t,
z[k + 1] = z[k] − i[k]1t/Q.
■ Note that cells are not perfectly efficient. We can accommodate this
fact by including an efficiency factor η(t)
ż(t) = −i(t)η(t)/Q

z[k + 1] = z[k] − i[k]η[k]1t/Q.


1
We will be more precise in our definitions later. But, these will suffice for now.

Lecture notes prepared by Dr. Gregory L. Plett. Copyright © 2011–2018, Gregory L. Plett
ECE4710/5710, Equivalent-Circuit Cell Models 2–3

• The term η[k] is called “coulombic efficiency.”

• We model η[k] ≤ 1 on charge, as some charge is typically lost due


to unwanted side reactions.
• We usually model η[k] = 1 on discharge.

■ Don’t confuse coulombic (or charge) efficiency with energy efficiency.

• Coulombic efficiency in a typical lithium-ion cell is around 99 % and


is equal to (charge out)/(charge in).
• Energy efficiency is closer to 95 %, and is equal to (energy
out)/(energy in).
◆ Energy is lost in resistive heating, but charge is not lost.
■ OCV is plotted as a function of OCV for different chemistries at 25°C
4.25

SOC for several lithium-ion 4

3.75
chemistries.
OCV (V)

3.5
■ Note that OCV is also a function 3.25

of temperature—we can include 3

2.75
that in the model as
2.5
0 20 40 60 80 100
OCV(z(t), T (t)). SOC (%)

■ Also note that “depth of discharge” or DOD is the inverse of SOC:

• DOD = 1 − SOC if it is being expressed as a fraction.

• DOD is sometimes expressed in Ah: DOD = Q(1 − SOC).

■ So, it’s possible to plot OCV curves versus DOD as well as SOC.

Lecture notes prepared by Dr. Gregory L. Plett. Copyright © 2011–2018, Gregory L. Plett
ECE4710/5710, Equivalent-Circuit Cell Models 2–4
2.2: Linear polarization

Equivalent series resistance


■ A cell’s voltage drops when it is under load. R0 +
OCV(z(t))
■ This can be modeled, in part, as a resistance +
in series with the ideal voltage source v(t)

v(t) = OCV(z(t)) − i(t)R0. −


■ Note that v(t) > OCV(z(t)) on charge, and v(t) < OCV(z(t)) on

discharge.
■ This implies that power is dissipated by the resistor R as heat, and
therefore that energy efficiency is not perfect.
■ This model is sufficient for many simple electronic circuit designs, but
not for advanced consumer electronics and xEV applications.

Diffusion voltages

■ Polarization refers to any departure of the cell’s terminal voltage away


from open-circuit voltage due to a passage of current.
■ i(t) × R0 is one example of Polarization visible during discharge and rest
4.15

polarization, modeling an 4.1

instantaneous response to a
Voltage (V)

4.05
change in input current.
4
■ In practice, we also observe a 3.95
dynamic (non-instantaneous)
3.9
0 10 20 30 40 50 60
response to a current step. Time (min)

Lecture notes prepared by Dr. Gregory L. Plett. Copyright © 2011–2018, Gregory L. Plett
ECE4710/5710, Equivalent-Circuit Cell Models 2–5
■ Similarly, when a cell is allowed to rest, its voltage does not
immediately return to OCV, but decays gradually (sometimes taking
an hour or more to approach OCV).
■ We will find out later that this phenomena is caused by slow diffusion
processes in the cell, so we will refer to this slowly-changing voltage
as a diffusion voltage.
■ Its effect can be closely approximated R1
R0 +
in a circuit using one or more parallel
OCV(z(t))
resistor-capacitor sub-circuits. +
C1 v(t)

■ The cell voltage is modeled as
v(t) = OCV(z(t)) − v C1 (t) − i(t)R0. −
■ When using data to identify model parameters, it becomes simpler if

we write this expression in terms of element currents instead:


v(t) = OCV(z(t)) − R1i R1 (t) − R0i(t).

■ To find an expression for the i R1 (t), we recognize that the current


through R1 plus the current through C 1 must be equal to i(t).
■ Further, i C1 (t) = C 1v̇ C1 (t), which gives

i R1 (t) + C 1v̇ C1 (t) = i(t).

■ Then, since v C1 (t) = R1i R1 (t),


di R (t)
i R1 (t) + R1C 1 1 = i(t)
dt
di R1 (t) 1 1
=− i R1 (t) + i(t).
dt R1 C 1 R1 C 1
■ This differential equation can be simulated as-is to determine i R1 (t).
We’ll see how to convert to discrete-time, shortly.
Lecture notes prepared by Dr. Gregory L. Plett. Copyright © 2011–2018, Gregory L. Plett
ECE4710/5710, Equivalent-Circuit Cell Models 2–6
Warburg impedance

■ In the literature, it is not uncommon to see equivalent-circuit models


containing a so-called “Warburg impedance” element, Z W .
■ For example, the Randles circuit C dl
(shown without OCV) is based on Rs
electrochemical principles, a bit like
we will see in later chapters. Rct ZW
■ In the circuit,

• Rs models the electrolyte resistance,

• Rct is the charge-transfer resistance that models the voltage drop


over the electrode–electrolyte interface due to a load,
• C dl is the double-layer capacitance that models the effect of
charges building up in the electrolyte at the electrode surface, and
• Z W is the Warburg impedance.
p
■ The frequency-dependent Warburg impedance Z W = A W / jω
models diffusion of lithium ions in the electrodes.
Cell impedance
■ The phase contributed to the 10

circuit by this element is 45◦, 8


−Imag(Z), (mΩ)

which is most easily observed in 6

a Nyquist plot of a cell’s


4
electrochemical impedance
2
spectrum as a straight line at
0
45◦ at low frequency. 0 5 10 15
Real(Z), (mΩ)

■ The figure shows a simulated electrochemical impedance spectrum


representing a realistic cell.
Lecture notes prepared by Dr. Gregory L. Plett. Copyright © 2011–2018, Gregory L. Plett
ECE4710/5710, Equivalent-Circuit Cell Models 2–7
■ The equivalent series resistance R0 for this cell is about 1.5 m,
found as the infinite-frequency impedance.
■ The low-frequency impedance is represented by the straight line at
45◦, and models lithium diffusion in the solid particles.
■ At mid-range frequencies, the semi-circular loop is caused by charge-
transfer dynamics, which can be modeled as a single R–C pair.
■ There is no simple differential-equation representation of a Warburg
impedance, which makes precise circuit simulation intractable.
■ However, it is possible to reproduce the effect of a Warburg
impedance employing multiple resistor–capacitor networks in series.
C1 C2 C3
ZW
= ...

R1 R2 R3

■ For an exact equivalence, an infinite number of resistor–capacitor


networks are needed; but, the circuit can often be modeled very well
over some frequency range using a small number of R–C pairs.
■ The double-layer capacitance is often omitted as it has little impact on
the Randles circuit performance except at very high frequencies.
■ With C dl removed from the circuit, and the Warburg impedance
replaced by a small finite number of R–C circuits, the cell model
collapses to the one we have already seen, with additional R–C pairs.
■ When we discuss implementation of physics-based models that have
this type of impedance relationship intrinsically built in, we will see
how to automatically create ODEs that accurately model the diffusion.

Lecture notes prepared by Dr. Gregory L. Plett. Copyright © 2011–2018, Gregory L. Plett
ECE4710/5710, Equivalent-Circuit Cell Models 2–8
2.3: Converting to discrete time
■ The R–C models we have seen to date are expressed in continuous
time as ordinary differential equations.
■ We wish to convert them to discrete-time ordinary difference
equations (ODEs) for easier use in a final application.
■ We start by deriving a generic process, which we will then apply to
the equation we’ve seen. Consider
ẋ(t) = ax(t) + bu(t)
Z t
x(t) = eat x(0) + ea(t−τ )bu(τ ) dτ .
|0 {z }
convolution

■ How did we get this result?


1. ẋ(t) − ax(t) = bu(t).
d
2. e−at [ẋ(t) − ax(t)] = [e−at x(t)] = e−at bu(t).
Z t dt Z t
d −aτ
3. [e x(τ )] dτ = e−at x(t) − x(0) = e−aτ bu(τ ) dτ .
0 dτ 0

■ We wish to evaluate x(t) at discrete times x[k] = x(k1t). So then,
x[k + 1] = x((k + 1)1t)
Z (k+1)1t
=e a(k+1)1t
x(0) + ea((k+1)1t−τ )bu(τ ) dτ .
0
■ With malice aforethought, break up the integral into two pieces.
Z k1t
x[k + 1] = ea1t eak1t x(0) + ea((k+1)1t−τ )bu(τ ) dτ
0
Z (k+1)1t
+ ea((k+1)1t−τ )bu(τ ) dτ
k1t

Lecture notes prepared by Dr. Gregory L. Plett. Copyright © 2011–2018, Gregory L. Plett
ECE4710/5710, Equivalent-Circuit Cell Models 2–9
Z k1t
=e a1t ak1t
e x(0) + ea1t ea(k1t−τ )bu(τ ) dτ
0
Z (k+1)1t
+ ea((k+1)1t−τ )bu(τ ) dτ
k1t
Z (k+1)1t
=e a1t
x(k1t) + ea((k+1)1t−τ )bu(τ ) dτ
k1t
Z (k+1)1t
=e a1t
x[k] + ea((k+1)1t−τ )bu(τ ) dτ .
k1t
■ Assume u(τ ) is constant from k1t to (k + 1)1t and equal to u(k1t)
Z (k+1)1t 
x[k + 1] = ea1t x[k] + ea(k+1)1t e−aτ dτ bu[k]
k1t
(k+1)1t !
1 −aτ
= ea1t x[k] + ea(k+1)1t − e bu[k]
a k1t

1 a(k+1)1t −ak1t
a1t −a(k+1)1t

= e x[k] + e e −e bu[k]
a
1 
= ea1t x[k] + ea1t − 1 bu[k].
a
■ To use this result for the ODE describing the R–C circuit,

1 1
a=− , b= , x[k] = i R1 [k], and u[k] = i[k].
R1 C 1 R1 C 1
■ Substituting these values into the generic result, we get
 
1t
i R1 [k + 1] = exp − i R1 [k]
R1 C 1
    
1t 1
+ (−R1C 1) exp − −1 i[k]
R1 C 1 R1 C 1
    
1t 1t
= exp − i R1 [k] + 1 − exp − i[k].
R1 C 1 R1 C 1
Lecture notes prepared by Dr. Gregory L. Plett. Copyright © 2011–2018, Gregory L. Plett
ECE4710/5710, Equivalent-Circuit Cell Models 2–10
Ballparking parameters
■ Note that if a single parallel R–C branch is in the model, it is quite
simple to get a ballpark idea of the parameter values.
■ First, conduct a pulse test on the Polarization visible during discharge and rest
4.15

cell, similar to the one shown at 4.1

the beginning of Topic 2.2. ≈ 4R1C 1

Voltage (V)
4.05

■ The immediate jump in voltage 4 1v ∞=(R0+R1 )1i


at the application of the current 3.95 1v 0 =R01i
pulse is 1v 0 = R01i, from which
3.9
0 10 20 30 40 50 60
we can deduce R0. Time (min)
■ The steady-state voltage change, is 1v ∞ = (R0 + R1)1i, from which
we can deduce R1.
■ The pulse response converges to steady state in about four or five
time constants, 1t = 4R1C 1, from which we can deduce the product
of R1 and C 1, and therefore C 1.
■ For the cell test conducted to gather the plotted data, 1i = 5 A,
|1v 0| = 41 mV, and |1v ∞| = 120 mV.
• From these values, we compute R0 ≈ 8.2 m and R1 ≈ 15.8 m.

■ The time to convergence is about 60 min − 20 min = 40 min = 2400 s.


So, we might estimate
2400
4R1C 1 ≈ 2400 s and C1 ≈ .
4R1
• Using our prior result for R1 , we can compute C 1 ≈ 38 kF.

■ If the model uses multiple parallel R–C branches in series, this simple
approach will not work—we’ll look at another approach later.

Lecture notes prepared by Dr. Gregory L. Plett. Copyright © 2011–2018, Gregory L. Plett
ECE4710/5710, Equivalent-Circuit Cell Models 2–11
2.4: Hysteresis voltages

■ If a cell is allowed to rest for long enough time, diffusion voltages


decay to zero, so the prior model voltage decays to OCV.
■ In reality, this doesn’t occur. For 3.8
Evidence of hysteresis

every SOC, there is a range of 3.6

possible stable “OCV” values.

Cell voltage (V)


3.4

3.2
■ Plot shows C/30 (approximate 3

equilibrium) test. 2.8

2.6
■ Evidence of hysteresis: Ignoring 2.4
0 20 40 60 80 100
it causes large prediction errors. SOC (%)

■ Note the distinction between hysteresis and diffusion voltages:


Diffusion voltages change with time but hysteresis voltages change
when SOC changes. They are not directly a function of time.

SOC-varying hysteresis

■ Let h(z, t) be the hysteresis voltage as a function of SOC and time,


and let ż = dz/dt. Then, one (not too great) model of hysteresis is
dh(z, t) 
= γ sgn(ż) M(z, ż) − h(z, t) ,
dz
where M(z, ż) is a function that gives the maximum polarization due
to hysteresis as a function of SOC and the rate-of-change of SOC.
■ Specifically, M(z, ż) is positive for charge (ż > 0) and is negative for
discharge (ż < 0).
■ The M(z, ż) − h(z, t) term in the differential equation states that the
rate-of-change of hysteresis voltage is proportional to the distance

Lecture notes prepared by Dr. Gregory L. Plett. Copyright © 2011–2018, Gregory L. Plett
ECE4710/5710, Equivalent-Circuit Cell Models 2–12

away from the major hysteresis loop, leading to a kind of exponential


decay of voltage to the major loop.
■ The term in front of this has a positive constant γ , which tunes the
rate of decay, and sgn(ż), which forces the equation to be stable for
both charge and discharge.
■ In order to fit the differential equation for h(z, t) into our model, we
must manipulate it to be a differential equation in time, not in SOC.
■ We accomplish this by multiplying both sides of the equation by dz/dt.
dh(z, t) dz  dz
= γ sgn(ż) M(z, ż) − h(z, t) .
dz dt dt
■ Note that dz/dt = −η(t)i(t)/Q, and that ż sgn(ż) = |ż|. Thus,

η(t)i(t)γ η(t)i(t)γ
ḣ(t) = − h(t) + M(z, ż).
Q Q
■ This may be converted into a difference equation for our discrete-time
application using the above techniques (assuming that i(t) and
M(z, ż) are constant over the sample period):
 
η[k]i[k]γ 1t
h[k + 1] = exp − h[k]
Q
  
η[k]i[k]γ 1t
+ 1 − exp − M(z, ż).
Q
■ Note that this is a linear-time-varying system as the factors
multiplying the state and input change with i[k] and hence with time.
■ The simplest representation is when M(z, ż) = −M sgn(i[k]), when
 
η[k]i[k]γ 1t
h[k + 1] = exp − h[k]
Q
  
η[k]i[k]γ 1t
− 1 − exp − M sgn(i[k]).
Q
Lecture notes prepared by Dr. Gregory L. Plett. Copyright © 2011–2018, Gregory L. Plett
ECE4710/5710, Equivalent-Circuit Cell Models 2–13
■ With this representation −M ≤ h[k] ≤ M at all times, and h[k] has
units of volts.
■ When attempting to find the model parameters, we will find it valuable
to re-write this in an equivalent but slightly different representation,
which has unitless hysteresis state −1 ≤ h[k] ≤ 1,
 
η[k]i[k]γ 1t
h[k + 1] = exp − h[k]
Q
  
η[k]i[k]γ 1t
− 1 − exp − sgn(i[k])
Q

Hysteresis voltage = Mh[k].

■ This makes the output equation linear in M, which will make


estimating M from lab-test data easier.

Instantaneous hysteresis
■ In addition to the type of dynamic hysteresis that changes as SOC
changes, we also often see benefit in modeling an instantaneous
change in hysteresis voltage when the sign of current changes.
■ Define 
sgn(i[k]), |i[k]| > 0;
s[k] =
s[k − 1], otherwise.

■ Then, the instantaneous hysteresis is modeled as


Instantaneous hysteresis voltage = M0 s[k],
and overall hysteresis is
Hysteresis voltage = M0s[k] + Mh[k].

Lecture notes prepared by Dr. Gregory L. Plett. Copyright © 2011–2018, Gregory L. Plett
ECE4710/5710, Equivalent-Circuit Cell Models 2–14
2.5: The Enhanced Self-Correcting (ESC) cell model; OCV testing
■ The “enhanced self-correcting”
(ESC) cell model combines all R1
hyst R0 +
the aforementioned elements.
OCV(z(t))
+
■ Enhanced: Model includes a
C1 v(t)

(poor) description of hysteresis
(which is still better than not −

including it at all).
■ Self correcting: Model voltage converges to OCV + hysteresis on
X
rest, and to OCV + hysteresis − i R on constant current event.
■ The circuit can contain more than a single parallel resistor-capacitor
pair. We can define vector valued
   
−1t
 exp R1C 1 0 ··· 
   
i R [k + 1] = 
 −1t  i R [k]
0 exp 
 R2 C 2 
... ...
| {z }
A RC
 
 
−1t
 1 − exp R1C 1 
   
+ −1t  i[k].
 1 − exp 
 R2 C 2 
...
| {z }
B RC
 
η[k]i[k]γ 1t
■ Then, if we define A [k] = exp − ,
H
Q

Lecture notes prepared by Dr. Gregory L. Plett. Copyright © 2011–2018, Gregory L. Plett
ECE4710/5710, Equivalent-Circuit Cell Models 2–15
    
z[k + 1] 1 0 0 z[k]
    
 i R [k + 1]  =  0 A RC 0   i R [k] 
h[k + 1] 0 0 A H [k] h[k]
 
η[k]1t
− Q 0 " #
 i[k]
 
+ B 0  .
 RC  sgn(i[k])
0 ( A H [k] − 1)
■ This is the ESC “state equation”, and describes all dynamic effects.
■ The “output equation” is
X
v[k] = OCV(z[k], T [k]) + M0 s[k] + Mh[k] − R j i R j [k] − R0i[k].
j

■ These two equations, with associated parameter values filled in,


comprise the ESC model.
■ Note that all model parameters must be non-negative.

Cell testing to determine the OCV relationship


■ To find specific numeric values for the ESC model parameters, we
must perform experiments on the cells of interest.
■ A cell’s OCV is a static function of SOC and temperature; all other
aspects of a cell’s performance are dynamic in some sense. Separate
cell tests are performed to collect data for the OCV versus SOC
relationship and for the dynamic relationship.
■ We first discuss experiments to determine the OCV relationship.
• The cell is very slowly discharged, then very slowly charged while
measuring cell voltage and accumulated ampere hours.
Lecture notes prepared by Dr. Gregory L. Plett. Copyright © 2011–2018, Gregory L. Plett
ECE4710/5710, Equivalent-Circuit Cell Models 2–16

• Tests are run at a number of temperatures spread over the


operational range of the cell.
■ The following procedure is conducted for each temperature. (v min and
v max are cutoff voltages, specified by the cell manufacturer.)

OCV test script #1 (at test temperature)

1. Soak the fully charged cell at the test temperature for at least two
hours to ensure a uniform temperature throughout the cell.
2. Discharge the cell at a constant-current rate of C/30 until cell terminal
voltage equals manufacturer-specified v min.

OCV test script #2 (at 25 ◦C)

3. Soak the cell at 25 ◦C for at least two hours to ensure a uniform


temperature throughout the cell.
4. If the cell voltage is below v min, then charge the cell at a C/30 rate until
the voltage is equal to v min. If the cell voltage is above v min, then
discharge the cell at a C/30 rate until the voltage is equal to v min.

OCV test script #3 (at test temperature)

5. Soak the cell at the test temperature for at least two hours to ensure a
uniform temperature throughout the cell.
6. Charge the cell at a constant-current rate of C/30 until the cell terminal
voltage equals v max.

Lecture notes prepared by Dr. Gregory L. Plett. Copyright © 2011–2018, Gregory L. Plett
ECE4710/5710, Equivalent-Circuit Cell Models 2–17
OCV test script #4 (at 25 ◦C)

7. Soak the cell at 25 ◦C for at least two hours to ensure a uniform


temperature throughout the cell.
8. If the cell voltage is below v max, then charge the cell at a C/30 rate until
the voltage is equal to v max. If the cell voltage is above v max, then
discharge the cell at a C/30 rate until the voltage is equal to v max.
■ Voltage, accumulated ampere-hours discharged, and accumulated
ampere-hours charged are recorded periodically (e.g., once per
second) during every step.
■ Because a very low current rate is used, there is negligible heat
generation in the cell, and we can consider all data points to be
collected at the ambient test temperature for every script (but,
temperature data can be measured as well to verify this assumption).
■ Raw test output for scripts 1 and 3 are shown.
Measured voltage for test script 1 Measured voltage for test script 3
4.2 4.2

4 4
Voltage (V)

Voltage (V)

3.8 3.8

3.6 3.6

3.4 3.4

3.2 3.2

3 3
0 5 10 15 20 25 30 0 5 10 15 20 25 30
Time (h) Time (h)

Lecture notes prepared by Dr. Gregory L. Plett. Copyright © 2011–2018, Gregory L. Plett
ECE4710/5710, Equivalent-Circuit Cell Models 2–18
2.6: Determining Coulombic efficiency
■ There are some subtle points if the test temperature is not 25 ◦C.
■ Prior to step 2, the cell is still at 100 % state of charge, but its voltage
is no longer v max because OCV is temperature-dependent.
■ At the end of step 2, the cell will be at 0 % state of charge only if the
test temperature is 25 ◦C because, again, OCV is temperature-
dependent, and the v min specification defines 0 % SOC only for 25 ◦C.
• At other temperatures, the actual state of charge may be above or
below 0 % at the end of step 2.
■ Similarly, at the end of step 6, the cell will be at 100 % state of charge
only if the test temperature is 25 ◦C.
• At other temperatures, the actual state of charge may be above or
below 100 % at the end of step 6.
■ This is why we must execute test scripts 2 and 4, to ensure that the
cell is fully discharged and charged, respectively, before starting test
scripts 3 and 1 (for the next temperature to be tested).
■ These considerations require some careful processing of the data.
■ Let’s consider processing data for test temperature 25 ◦C first.
• This is the easiest case because all four scripts are then executed
at 25 ◦C—no other temperatures are involved.

• And, since voltages v max and v min are calibrated to 25 C, the net
ampere-hours discharged over all steps equals total capacity Q.
■ The net ampere-hours charged over all steps turns out to be slightly
higher than Q since the coulombic efficiency of the cell is not perfect.
Lecture notes prepared by Dr. Gregory L. Plett. Copyright © 2011–2018, Gregory L. Plett
ECE4710/5710, Equivalent-Circuit Cell Models 2–19
■ We compute the coulombic efficiency at 25 ◦C as
◦ total ampere-hours discharged in all steps at 25 ◦C
η(25 C) = .
total ampere-hours charged in all steps at 25 ◦C
■ At a test temperature T different from 25 ◦C, we must follow a
somewhat different approach.
■ We don’t know a priori the cell state of charge at the end of steps 2
and 6.
■ However, we do know that the cell is at 0 % SOC at the end of step 4
and is 100 % at the end of step 8.
■ We use this information to compute first the coulombic efficiency at
test temperature T :
total ampere-hours discharged
η(T ) =
total ampere-hours charged at temperature T
◦ total ampere-hours charged at 25 ◦C
− η(25 C) .
total ampere-hours charged at temperature T
■ The figure shows coulombic efficiency calculations for six different
lithium-ion cells as a function of temperature.
Coulombic efficiency
■ The efficiency should always
1.00
be less than one, but
Efficiency (unitless)

experimental accuracy of 0.99

accumulated ampere hours is


0.98
inexact, and these calculations
are reasonable, to within 0.97

experimental error. −25 −15 −5 5 15 25 35 45


Temperature (°C)

Lecture notes prepared by Dr. Gregory L. Plett. Copyright © 2011–2018, Gregory L. Plett
ECE4710/5710, Equivalent-Circuit Cell Models 2–20
2.7: Determining temperature-dependent OCV
■ We now compute an SOC corresponding to every data sample.
■ The depth-of-discharge (in Ah) at every point in time is calculated as
DOD(t) = total Ah discharged until t

− η(25 ◦C) × total Ah charged at 25 ◦C until t

− η(T ) × total Ah charged at temperature T until t.

■ Using this metric, the cell capacity Q (measured at temperature T ) is


equal to the depth-of-discharge at the end of step 4.
■ Likewise, the SOC corresponding to every data sample is then
depth of discharge(t)
state of charge(t) = 1 − .
Q
■ As a check, the state of charge at the end of step 4 must be 0 %, and
the state of charge at the end of step 8 must be 100 %.
Voltages versus SOC
4.2
■ The figure plots discharge
4.0
voltage from step 2 versus
Voltage (V)

3.8
state of charge (lower solid 3.6
curve) and charge voltage 3.4

from step 6 versus state of 3.2


Discharge voltage
Charge voltage
Approximate OCV
charge (upper solid curve). 3.0
0 20 40 60 80 100
State of charge (%)
■ These are the same data as shown before, but now presented as a
function of state of charge rather than test time.
■ This example shows that there is a challenge in determining the
open-circuit-voltage relationship at all states-of-charge:
Lecture notes prepared by Dr. Gregory L. Plett. Copyright © 2011–2018, Gregory L. Plett
ECE4710/5710, Equivalent-Circuit Cell Models 2–21

• Missing discharge voltages at low SOC because test encountered


cutoff voltage v min in step 2 before 0 % SOC was reached;
• Missing charge voltages at high SOC because test encountered
cutoff voltage v max in step 6 before 100 % SOC was reached.
■ We can estimate the cell’s ohmic resistance R0 at high SOC via
instantaneous voltage change when test moves from step 1 to step 2.
■ We can estimate the ohmic resistance at low SOC by looking at
voltage change when the test moves from step 5 to step 6.
■ Also, we can approximate the steady-state resistance at 50 % SOC by
considering the voltage change between the discharge voltage curve
and the charge voltage curve at the 50 % SOC point.
■ Then, we can assume that the resistance changes linearly from its
0 % SOC value to its 50 % SOC value, and then linearly again from its
50 % SOC value to its 100 % SOC value.

• At SOCs lower than 50 %, the OCV is estimated as the charge


voltage plus charge current times resistance at that SOC;
• At SOCs higher than 50 %, the OCV is estimated as the discharge
voltage plus discharge current times resistance at that SOC.
■ The figure shows this approximate OCV estimate as a dashed line.
■ We combine these individual approximate single-temperature OCV
results to make a final model of the form

OCV(z(t), T (t)) = OCV0(z(t)) + T (t) × OCVrel(z(t)),

where OCV0(z(t)) is the OCV relationship at 0 ◦C , and OCVrel(z(t))


(V/◦C) is the linear temperature correction factor at each SOC.
Lecture notes prepared by Dr. Gregory L. Plett. Copyright © 2011–2018, Gregory L. Plett
ECE4710/5710, Equivalent-Circuit Cell Models 2–22
■ Once OCV0(z(t)) and OCVrel(z(t)) are determined, OCV(z(t), T (t))
can be computed via two computationally efficient 1D table lookups.
■ To make OCV0(z(t)) and OCVrel(z(t)), note that we can write
   
Approx. OCV at SOC z, temp. T1 1 T1 " #
   
 Approx. OCV at SOC z, temp. T2   1 T2  OCV0(z)
 = 
 ...   ... ...  OCVrel(z)
   
| {z }
Approx. OCV at SOC z, temp. Tn 1 Tn X
| {z } | {z }
Y A

at every state of charge z.


■ One way to compute X from A and Y is to use the least-squares
solution, which is written mathematically as X = A†Y, where the
dagger symbol (†) represents a matrix pseudo-inverse, and is
computed in MATLAB as X=A\Y;

• We tend to use data only from tests above 0 ◦ C because accuracy


degrades at low temperatures due to high cell resistances.
■ The figures plot the outcome of this overall process for six different
lithium-ion cells.
OCV versus SOC for six cells at 0°C Per-degree OCV temperature variation

4 0.6
Open-circuit voltage (V)

OCV variation (mV/°C)

0.4

3.5 0.2
0
3 −0.2
−0.4
2.5 −0.6

0 20 40 60 80 100 0 20 40 60 80 100
State of charge (%) State of charge (%)

Lecture notes prepared by Dr. Gregory L. Plett. Copyright © 2011–2018, Gregory L. Plett
ECE4710/5710, Equivalent-Circuit Cell Models 2–23
2.8: Cell testing to determine the dynamic relationship

■ Dynamic data is captured while exercising the cell with a profile of


current versus time that is representative of the final application.
■ The figure shows a sample Normalized current for UDDS profile
1.2
profile for an automotive
0.8
application, the “urban

Current (×1C)
dynamometer drive schedule” 0.4

(UDDS) profile. 0

This current profile is repeated


■ -0.4

over the entire SOC and -0.8


0 4 8 12 16 20 24
Time (min)
temperature range of the cell.
Dynamic test script #1 (at test temperature)

1. Soak the fully charged cell at the test temperature for at least two
hours to ensure a uniform temperature throughout the cell.
2. the cell using a constant current at a C/1 rate long enough to deplete
about 10 % of capacity (helping ensure we avoid over-voltage
conditions during charging portions of the profile).
3. Execute dynamic profiles over the SOC range of interest, nominally
from 90 % SOC down to 10 % SOC.

Dynamic test script #2 (at 25 ◦C)

4. Soak the cell at 25 ◦C for at least two hours to ensure a uniform


temperature throughout the cell.
5. If the cell voltage is below v min, then charge the cell at a C/30 rate until
the voltage is equal to v min. If the cell voltage is above v min, then
Lecture notes prepared by Dr. Gregory L. Plett. Copyright © 2011–2018, Gregory L. Plett
ECE4710/5710, Equivalent-Circuit Cell Models 2–24

discharge the cell at a C/30 rate until the voltage is equal to v min. A
follow-on dither profile can be used to eliminate hysteresis to the
greatest degree possible.

Dynamic test script #3 (at 25 ◦C)

6. Charge the cell using a constant current at a C/1 rate until voltage is
equal to v max. Then, maintain voltage constant at v max until current
drops below C/30. A follow-on dither profile at the end can be used to
help eliminate hysteresis.
■ Voltage and current are recorded every second. Cell temperature
data may also be collected.
Output from test script 1 Zoom on output from test script 1
4.2 4.1

4.0
4.0
3.8
Voltage (V)

Voltage (V)

3.9
3.6

3.4 3.8

3.2 3.7
3.0
3.6
0 100 200 300 400 500 600 700 310 315 320 325 330 335 340
Time (min) Time (min)

Output from test script 2 Output from test script 3


4.2
3.4
4.0
3.3 3.8
Voltage (V)

Voltage (V)

3.2 3.6

3.1 3.4

3.2
3.0
3.0
0 50 100 150 200 250 300 350 0 50 100 150 200 250 300 350
Time (min) Time (min)

Lecture notes prepared by Dr. Gregory L. Plett. Copyright © 2011–2018, Gregory L. Plett
ECE4710/5710, Equivalent-Circuit Cell Models 2–25
■ The dynamic data is used to identify all ESC parameters, except for
the OCV versus SOC relationship, which has already been described.

• We first compute η and Q from the data, directly, as we did for the
OCV test results.
• We use a technique called subspace system identification to find
the R–C time constants.
• We then guess a value for γ .

• Using γ , we compute h[k]; we also compute z[k], s[k], i R j [k] and


OCV(z[k]).
• This leaves the following unexplained part of the measured cell
voltage

ṽ[k] = v[k] − OCV(z[k], T [k])


X
= Mh[k] + M0 s[k] − R j i R j [k] − R0i[k].
j

• We can solve this for the unknowns


 
M
 h

i M 
 0 
,
ṽ[k] = h[k] s[k] −i[k] −i R j [k] 

| {z } | {z }  R0 
Y A
Rj
| {z }
X

via least-squares solution X = A†Y.


• We then compute the RMS error and update γ to minimize this
error.

Lecture notes prepared by Dr. Gregory L. Plett. Copyright © 2011–2018, Gregory L. Plett
ECE4710/5710, Equivalent-Circuit Cell Models 2–26
2.9: Matlab code to create models from data and to simulate

■ A MATLAB toolbox and data set comprising code implementing these


steps and companion cell-test data collected from a number of cells is
available on the book web site.
■ Here, we quickly introduce the main code components. A great deal
of learning is possible if this discussion is coupled with a diligent
examination of the code itself, to see how the steps are implemented.

Creating the model

■ The figure below depicts the overall process for creating an enhanced
self-correcting (ESC) cell model.

OCV Test OCV


processOCV.m
Testing Data Relationship

Dynamic Test ESC Cell


processDynamic.m
Testing Data Model

■ The blue boxes = laboratory processes; the yellow boxes = data files;
and the green boxes = processing by MATLAB functions.

Using the model

■ Once the model is Cell


Current
created, it is ready to be
used. Initial Predicted
simCell.m
State Voltage
■ The figure depicts the
ESC Cell
process. Model

Lecture notes prepared by Dr. Gregory L. Plett. Copyright © 2011–2018, Gregory L. Plett
ECE4710/5710, Equivalent-Circuit Cell Models 2–27
Example of simCell.m
4.25

4.00
■ The following code illustrates

Voltage (V)
how to use the simCell.m 3.75

function. 3.50

■ Output is displayed to the right. 3.25


Truth
Model
3.00
0 100 200 300 400 500 600
Time (min)
load DYN_Files/E2_DYN/E2_DYN_35_P25.mat % load data file
load DYN_Files/E2model.mat % load model file

time = DYNData.script1.time; % make variables easier to access


voltage = DYNData.script1.voltage;
current = DYNData.script1.current;

ind = find(diff(time)<=0); % get rid of duplicate time steps


time(ind+1)=[]; voltage(ind+1)=[]; current(ind+1)=[];

t1=time(1); t2=time(end); % make sure evenly sampled in time


deltaT = 1; t = (t1:deltaT:t2) - t1; % one-second sampling
current = interp1(time,current,t1:deltaT:t2);
voltage = interp1(time,voltage,t1:deltaT:t2);

vest = simCell(current,25,deltaT,model,1,0,0); % simulate cell

figure(1); clf; % plot some results


plot(t/60,voltage,t/60,vest);
legend('Truth','Model','location','southwest');
xlabel('Time (min)'); ylabel('Voltage (V)');
title('Example of simCell.m');

Model internals
■ Sometimes, it may be important to query the model parameters.
• This may be done by directly accessing fields in “model”.
• But, this is generally not considered good programming practice.

Lecture notes prepared by Dr. Gregory L. Plett. Copyright © 2011–2018, Gregory L. Plett
ECE4710/5710, Equivalent-Circuit Cell Models 2–28

• Instead, the toolbox provides data accessor functions.

■ In order to determine OCV at one or more SOCs, the


OCVfromSOCtemp.m function may be used. For example,
load DYN_Files/E2model.mat % load model file
z = 0:0.01:1; % make SOC input vector
T = 25; % set temperature value
plot(z,OCVfromSOCtemp(z,T,model));

■ In order to determine SOC from one or more at-rest OCVs, the


SOCfromOCVtemp.m function may be used. For example,
load DYN_Files/E2model.mat % load model file
v = 2.5:0.01:4.2; % make voltage input vector
T = 25; % set temperature value
plot(v,SOCfromOCVtemp(v,T,model));

■ Finally, in order to determine a model dynamic parameter value, the


getParamESC.m function may be used. For example,
load DYN_Files/E2model.mat % load model file
T = 25; % set temperature value
gamma = getParamESC('GParam',T,model); % hysteresis rate factor

■ This requires that the user have some knowledge of the internal
structure of the model data structure. (Again, it is not recommended
that the user access the fields of this data structure directly. However,
the field name is required as input to the getParamESC.m function.)
■ See table on next page.

Lecture notes prepared by Dr. Gregory L. Plett. Copyright © 2011–2018, Gregory L. Plett
ECE4710/5710, Equivalent-Circuit Cell Models 2–29
Table of model fields

Identifier field
name An identifying string storing a name for the cell type
Fields pertaining to the OCV versus SOC relationship
OCV0 Vector of OCV versus SOC at 0 ◦C [V]
OCVrel Vector of change in OCV versus SOC per ◦C [V/◦C]
SOC SOC vector at which OCV0 and OCVrel are stored
SOC0 Vector of SOC versus OCV at 0 ◦C (unitless)
SOCrel Vector of change in SOC versus OCV per ◦C [1/◦C]
OCV OCV vector at which SOC0 and SOCrel are stored
Fields pertaining to the dynamic relationship
temps Temperatures at which dynamic parameters stored [◦C]
QParam Capacity Q at each temperature [Ah]
etaParam Coulombic efficiency η at each temperature (unitless)
GParam Hysteresis “gamma” parameter γ (unitless)
MParam Hysteresis M parameter [V]
M0Param Hysteresis M0 parameter [V]
R0Param Series resistance parameter R0 []
RCParam The R–C time constant parameter R j C j [s]
RParam Resistance R j of the R–C parameter []

Lecture notes prepared by Dr. Gregory L. Plett. Copyright © 2011–2018, Gregory L. Plett
ECE4710/5710, Equivalent-Circuit Cell Models 2–30
2.10: Example results

■ To give a better feel for the capabilities of an equivalent-circuit type


model, we present some modeling results in this section.
■ Data were collected from a 25 Ah automotive battery cell using the
procedures outlined in this chapter, and open-circuit-voltage and
dynamic modeling parameters were estimated from the data (using
one R–C sub-circuit in the model).
■ Here, we concentrate on simulating the optimized model open-loop,
and comparing its predictions against the measured voltage data for a
test conducted at 25 ◦C.
■ The figure shows an overlay of true and model-predicted voltage over
the entire 10 h test.
Comparing model to measured Comparing model to measured (zoom)
4.2 3.8
Measured Measured
Model 3.75 Model
Terminal voltage (V)

Terminal voltage (V)

4
3.7
3.8
3.65
3.6
3.6
3.4
3.55

3.2 3.5
0 100 200 300 400 500 600 275 280 285 290 295 300 305
Time (min) Time (min)

■ The root-mean-squared difference between the true and model


results was 5.37 mV in this case.
■ The right frame of the figure zooms in to one UDDS cycle, more
clearly showing that the circuit model captures the cell performance
quite well.

Lecture notes prepared by Dr. Gregory L. Plett. Copyright © 2011–2018, Gregory L. Plett
ECE4710/5710, Equivalent-Circuit Cell Models 2–31
■ Optimized temperature-dependent parameter values for seven
different cells are shown below (tests were conducted from −25 ◦C to
45 ◦C in 10 C◦ steps).
Resistance R0 Resistance Rj R−C time constants
120
200 5
100

Time constants (s)


Resistance (mΩ)

Resistance (mΩ)
150 4
80

60 3
100

40 2
50
20
1
0 0
−25 −15 −5 5 15 25 35 45 −25 −15 −5 5 15 25 35 45 −25 −15 −5 5 15 25 35 45
Temperature (°C) Temperature (°C) Temperature (°C)

Hysteresis M0 parameter Hysteresis M parameter Hysteresis γ parameter


140 400 250

120
200
M parameter (mV)

M parameter (mV)

300
100

γ (unitless)
80 150
200
60 100
40
100
0

50
20

0 0 0
−25 −15 −5 5 15 25 35 45 −25 −15 −5 5 15 25 35 45 −25 −15 −5 5 15 25 35 45
Temperature (°C) Temperature (°C) Temperature (°C)

Cell total capacity


30

25
Capacity (Ah)

20

15

10

0
−25 −15 −5 5 15 25 35 45
Temperature (°C)

■ These particular results are characteristic of results obtained from


other cells as well, in a variety of ways.
• ESR R0 decreases exponentially as temperature increases. This is
a near-universal result. Any model lacking this feature is suspect.
• Resistor–capacitor resistances R j also decrease (roughly)
exponentially as temperature increases. This is also expected.
• Resistor–capacitor time constants tend to increase with
temperature.
Lecture notes prepared by Dr. Gregory L. Plett. Copyright © 2011–2018, Gregory L. Plett
ECE4710/5710, Equivalent-Circuit Cell Models 2–32
◆ This might actually seem a surprising result, as we would expect
the cell dynamics to speed up at warmer temperatures.
◆ However, results in Chap. 7 (based on physics models) show
that at some states of charge the cell speeds up while at other
states of charge the cell slows down overall.
◆ The result in the figure shows a single optimized time constant
over all SOC, so it is not necessarily a surprising result.
◆ Moreover, the results in Chap. 7 lead us to realize that this
relationship should not be expected to be monotonic.
• Hysteresis is generally “speeding up” (that is, a smaller change in
SOC is required to effect a large change in the hysteresis state)
and decreasing in magnitude as temperature increases.
Hysteresis levels generally decrease as temperature increases.
• The measured capacity is very nearly constant across temperature
(as it should be).
■ In practice, the model will need to be evaluated at temperatures not
included in the testing protocol.

• Linear interpolation is used to approximate parameter values from


tables made via the system-identification process.
• This assumes a smoothness in the functions as temperature
varies. We don’t always (i.e., rarely) see this from the initial
system-identification output.
• Some hand smoothing of parameter relationships is usually
necessary to make models that match measured data nearly as
well as the automatically tuned versions, but which work better at
intermediate temperatures.
Lecture notes prepared by Dr. Gregory L. Plett. Copyright © 2011–2018, Gregory L. Plett
ECE4710/5710, Equivalent-Circuit Cell Models 2–33
Where from here?

■ Equivalent circuit models of battery cells are very powerful and


sufficient for many circuit designs and control algorithm development.
■ So, are we done? (No.)
■ Circuit models lack predictive power over the long term.

• How will a cell behave if it is subjected to stimuli not used during


training of the model?
• How will a cell behave as it ages?

• How can we control a cell to maximize its utility while maximizing


its life?
■ So, we now start to look at physics-based models of cells, which
enable us to increase the predictive power of our models.
■ These physics-based models are originally very complex, but
ultimately we will be able to reduce them to models of similar
complexity to the equivalent circuit models we have studied in this
chapter.

Lecture notes prepared by Dr. Gregory L. Plett. Copyright © 2011–2018, Gregory L. Plett

You might also like