ECE5710 Notes02
ECE5710 Notes02
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 −
Lecture notes prepared by Dr. Gregory L. Plett. Copyright © 2011–2018, Gregory L. Plett
ECE4710/5710, Equivalent-Circuit Cell Models 2–3
3.75
chemistries.
OCV (V)
3.5
■ Note that OCV is also a function 3.25
2.75
that in the model as
2.5
0 20 40 60 80 100
OCV(z(t), T (t)). 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
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
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
R1 R2 R3
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
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
Voltage (V)
4.05
■ 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
3.2
■ Plot shows C/30 (approximate 3
2.6
■ Evidence of hysteresis: Ignoring 2.4
0 20 40 60 80 100
it causes large prediction errors. SOC (%)
SOC-varying hysteresis
Lecture notes prepared by Dr. Gregory L. Plett. Copyright © 2011–2018, Gregory L. Plett
ECE4710/5710, Equivalent-Circuit Cell Models 2–12
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.
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
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.
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)
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)
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
3.8
state of charge (lower solid 3.6
curve) and charge voltage 3.4
4 0.6
Open-circuit voltage (V)
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
Current (×1C)
dynamometer drive schedule” 0.4
(UDDS) profile. 0
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.
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.
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)
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 γ .
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
■ The figure below depicts the overall process for creating an enhanced
self-correcting (ESC) cell model.
■ The blue boxes = laboratory processes; the yellow boxes = data files;
and the green boxes = processing by MATLAB functions.
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
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
■ 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
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)
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
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)
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)
25
Capacity (Ah)
20
15
10
0
−25 −15 −5 5 15 25 35 45
Temperature (°C)
Lecture notes prepared by Dr. Gregory L. Plett. Copyright © 2011–2018, Gregory L. Plett