A new dynamic model is developed in this paper based on the generic MATLAB battery model. The battery capacity is expressed as a function of the self-discharge rate, the discharge current, the cycling life and the temperature of the battery. The dependence of the model parameters on cycle life and temperature are estimated from the first order approximation. The detailed procedures and formula to extract the model parameters are presented and the extraction relies only on the discharge curves at two different discharge currents, at two different life cycles, and at two different temperatures. These discharge curves are typically provided in the battery manufacturer’s datasheet. The proposed model is verified for both nickel-metal hydride and lithium-ion batteries by comparing the calculated discharge curves with the results from the generic MATLAB model. The model is further validated for the Sinopoly lithium-ion battery (SP-LFP1000AHA) by comparing the model results with the discharge curves from the manufacturer’s datasheet at different discharge currents, different cycling numbers, and different temperatures. Simulation results show that the new model can correctly predict voltage separation beyond the nominal zone while maintaining the same level of accuracy as the generic MATLAB model in the exponential and nominal zones.
Battery-based energy storage systems (ESS) are playing an increasingly important role in modern electrical grids as they can serve a variety of functions in the generation, transmission, and distribution of electric energy, especially in the case of the high penetration of intermittent renewable energy from wind and solar power generation [
According to their modeling methodology, battery models can be classified as Electrochemical Multiphysics, Equivalent Circuit (EC), and Empirical or semi- empirical dynamic models [
As a lithium-ion battery ages, its voltage and capacity decreases or fades and its internal resistance increases due to the loss of active lithium and the thickness of the solid electrolyte interface (SEI) [
In order to improve the accuracy of the generic MATLAB battery model beyond the nominal zone and to consider the capacity degradation, the equation of the generic MATLAB battery model [
V batt ( t ) = V 0 − R i − K m Q ( i ) m Q ( i ) − i t + A exp ( − B i t ) (1)
and
Q ( i ) = ( i i 0 ) α Q 0 (2)
where V batt ( t ) is the battery voltage (V), t is charging or discharging time (h), V 0 is a voltage constant (V), R is internal resistance of the battery (Ω), i is battery current (A) where positive current represents discharging the battery and negative current indicates charging the battery, K is a polarization constant (V/(Ah)), m is a capacity adjustment factor that accounts for capacity degradation, Q ( i ) is battery capacity (Ah) at the specific discharge current i and point in the battery’s life being modeled, A is exponential zone voltage constant (V), and B is exponential zone inverse time constant (1/(Ah)), and Q 0 is the nominal or rated battery capacity at the beginning of life (i.e. n = 1) at a reference discharge current of i 0 .
The parameter α in Equation (2) can be determined by two battery capacities ( Q i 1 , Q i 2 ) at two different discharge currents i 1 and i 2 under normal temperature (typically 25˚C) and near the beginning of life (e.g. n < 5), as shown in
α = log ( Q i 2 / Q i 1 ) log ( i 2 / i 1 ) (3)
There are a total of 7 unknowns in Equation (1): V 0 , R , K , A , B , Q 0 and m . The method described in [
at two different discharge currents that are commonly included in manufacturer’s datasheets.
The first step is to determine the parameters A , B , K and m by using five points on the discharge curve at i = i 1 ( i 1 > i 2 ) : P 1 ( V full , 0 ) , the initial fully charged point; P 2 ( V 2 , Q 2 ) and P 3 ( V 3 , Q 3 ) are within the exponential zone and satisfy the condition of Q 3 = 2 Q 2 ; P 4 ( V 4 , Q 4 ) , one point near the end point of nominal zone; and P 5 ( V 5 , Q 5 ) , the end point of discharge. Five equations are obtained by applying Equation (1) to these five points accordingly.
V full = V 0 − R i 1 − K + A (4)
V j = V 0 − R i 1 − K m Q i 1 m Q i 1 − Q j + A exp ( − B Q j ) , j = 2 , 3 , 4 , 5 (5)
Equation (4) minus Equation (5) to eliminate the term ( V 0 − R i 1 ),
V full − V 2 = K [ m Q i 1 m Q i 1 − Q 2 − 1 ] + A [ 1 − exp ( − B Q 2 ) ] (6)
V full − V 3 = K [ m Q i 1 m Q i 1 − Q 3 − 1 ] + A [ 1 − exp ( − B Q 3 ) ] (7)
V full − V 4 = K [ m Q i 1 m Q i 1 − Q 4 − 1 ] + A [ 1 − exp ( − B Q 4 ) ] (8)
V full − V 5 = K [ m Q i 1 m Q i 1 − Q 5 − 1 ] + A [ 1 − exp ( − B Q 5 ) ] (9)
Assuming Q 2 ≪ Q i 1 , Q 3 ≪ Q i 1 and noticing the relation of Q 3 = 2 Q 2 , Equations (4) and (7) reduce to
V full − V 2 ≈ A [ 1 − exp ( − B Q 2 ) ] (10)
and
V full − V 3 ≈ A [ 1 − exp ( − B Q 3 ) ] = A [ 1 − ( exp ( − B Q 2 ) ) 2 ] (11)
Parameters A and B can be solved from Equations (10) and (11) as
B = − 1 Q 2 ln ( V full − V 3 V full − V 2 − 1 ) (12)
A = V full − V 3 1 − exp ( − B Q 3 ) (13)
Let
A B 4 = V full − V 4 − A [ 1 − exp ( − B Q 4 ) ] (14)
A B 5 = V full − V 5 − A [ 1 − exp ( − B Q 5 ) ] (15)
Equations (8) and (9) becomes
K [ m Q i 1 m Q i 1 − Q 4 − 1 ] = A B 4 (16)
and
K [ m Q i 1 m Q i 1 − Q 5 − 1 ] = A B 5 (17)
So the parameters m and K can be obtained from Equations (16) and (17) as
m = 1 − A B 5 A B 4 1 − A B 5 A B 4 Q 4 Q 5 × Q 4 Q i 1 (18)
K = A B 5 [ m Q i 1 Q 5 − 1 ] (19)
The second step is to determine parameters R and V 0 . In some cases, the battery’s internal resistance and efficiency are not provided in manufacturer’s datasheets so the MATLAB method to determine R given in [
Applying the cell voltage Equation (1) to point P6 on the discharge curve of current i2,
V 6 = V 0 − R i 2 − K m Q i 2 m Q i 2 − Q 6 + A [ 1 − exp ( − B Q 6 ) ] (20)
Subtracting Equation (5) (for j = 3 ) from Equation (20), and solving for the internal resistance R results in the following equation,
R = 1 i 1 − i 2 { V 6 + K m Q i 2 m Q i 2 − Q 6 − A exp ( − B Q 6 ) − [ V 3 + K m Q i 1 m Q i 1 − Q 3 − A exp ( − B Q 3 ) ] } (21)
Once the values of parameters, B , A , m , K and R are available, the constant voltage, V 0 can be obtained from Equation (4),
V 0 = V full + R i 1 + K − A (22)
To include both aging and temperature effects, the model Equation (1) is rewritten as,
V batt ( t , i , n , t r ( n ) , T ) = V ( n , T ) − R ( n , T ) i − K ( n , T ) m Q ( i , n , t r ( n ) , T ) m Q ( i , n , t r ( n ) , T ) − i t + A ( n , T ) exp ( − B i t ) (23)
where n is n-th discharge-charge cycle starting from discharging a cell to a fully discharged state and then charging the cell to a fully charged state. t r ( n ) is the n-th resting time of the cell after the (n − 1)-th cycle. T is the cell temperature. Here the capacity adjustment ( m ) and exponential zone time constant ( B ) are assumed unchanged.
For simplicity, both the cycling- and temperature-dependences of the parameters in Equation (23) are estimated by the first-order approximation,
V ( n , T ) = V 0 ( 1 + k Vn1 ( n − 1 ) ) × ( 1 + k VT1 ( T − T ref ) ) (24)
R ( n , T ) = R 0 ( 1 + k Rn1 ( n − 1 ) ) × ( 1 + k R T1 ( T − T ref ) ) (25)
K ( n , T ) = K 0 ( 1 + k Kn1 ( n − 1 ) ) × ( 1 + k KT1 ( T − T ref ) ) (26)
A ( n , T ) = A 0 ( 1 + k An1 ( n − 1 ) ) × ( 1 + k AT1 ( T − T ref ) ) (27)
where k x n1 refers to the first-order degradation rate constant of parameter x related to cycling life; k x T1 is the degradation rate constant of parameter x related to temperature; T ref is a reference temperature.
A battery’s capacity Q degrades not only due to the cycling life and temperature, but also as a function of the resting time between two consecutive discharge-charge cycles [
Q ( n , t r ( n ) ) = ( 1 − k sd t r ( n ) ) Q ˜ ( n ) , n = 1 , 2 , ⋯ (28)
where k sd (1/h) is the rate constant of the self-discharge of the battery, Q ˜ ( n ) is the battery capacity at the beginning of the n-th cycle (before resting).
Once the battery is fully charged, its stored energy slowly diminishes due to internal self-discharge [
k s d = 8 × 10 − 5 1 / h
The degradation of Q ˜ ( n ) due to cycling is an irreversible and cumulative process and can be approximated by second-order approximation as,
Q ˜ ( n ) = Q ˜ ( n − 1 ) + ( n − 1 ) k Qn1 Q + ( n − 1 ) 2 k Qn2 Q , n = 1 , 2 , ⋯ Q ˜ ( 0 ) = Q (29)
where Q is the battery’s capacity given by Equation (2), k Qn1 and k Qn2 are the first-order and second-order degradation rates of battery capacity due to cycling, respectively.
The summation of above Equations (29) from 1 to n leads to,
Q ˜ ( n ) = Q [ 1 + ( n − 1 ) n 2 k Qn1 + ( n − 1 ) n ( 2 n − 1 ) 2 k Qn2 ] (30)
Since the capacity degradation of the battery is also dependent on temperature, Equation (30) is modified as
Q ˜ ( n , T ) = Q ( 1 + ( n − 1 ) n 2 k Qn1 + ( n − 1 ) n ( 2 n − 1 ) 2 k Qn2 ) × ( 1 + k QT1 ( T − T ref ) + k QT2 ( T − T ref ) 2 ) (31)
where k QT1 and k QT2 are the first and second-order degradation rates of the battery capacity related to temperature change.
Finally, the degradation of a battery’s capacity due to self-discharge, discharge current, life cycle and temperature is expressed by substituting Equations (31) and (2) into Equation (28) as
Q ( i , n , t r ( n ) , T ) = ( 1 − k sd t r ( n ) ) Q 0 ( i i 0 ) α ( 1 + ( n − 1 ) n 2 k Qn1 + ( n − 1 ) n ( 2 n − 1 ) 2 k Qn2 ) × ( 1 + k QT1 ( T − T ref ) + k QT2 ( T − T ref ) 2 ) , n = 1 , 2 , ⋯ (32)
Two battery capacities ( Q n 1 , Q n 2 ) at two different cycle numbers under normal or reference temperature are needed to calculate the cycling related degradation rates ( k Qn1 and k Qn2 ); another two battery capacities ( Q T 1 , Q T 2 ) at two different temperatures under in the first life cycle are required to estimate the temperature related degradation rates ( k QT1 and k QT2 ).
( k Qn1 k Qn2 ) = ( ( n 1 − 1 ) n 1 2 ( n 1 − 1 ) n 1 ( 2 n 1 − 1 ) 2 ( n 2 − 1 ) n 2 2 ( n 2 − 1 ) n 2 ( 2 n 2 − 1 ) 2 ) − 1 ( Q n 1 ( 1 − k sd t r ( n 1 ) ) × Q 0 × ( i n / i 0 ) α − 1 Q n 2 ( 1 − k sd t r ( n 2 ) ) × Q 0 × ( i n / i 0 ) α − 1 ) (33)
where the two battery capacities, Q n 1 and Q n 2 , can be found on the two discharge curves provided by manufacturer’s datasheet under two different cycling numbers n 1 and n 2 at normal temperature, as shown in
( k QT1 k QT2 ) = ( T 1 − T ref ( T 1 − T ref ) 2 T 2 − T ref ( T 2 − T ref ) 2 ) − 1 ( Q T 1 ( 1 − k sd t r ( 1 ) ) × Q 0 × ( i T / i 0 ) α − 1 Q T 2 ( 1 − k sd t r ( 1 ) ) × Q 0 × ( i T / i 0 ) α − 1 ) (34)
where the two battery capacities, Q T 1 and Q T 2 , can be found on the two discharge curves from the manufacturer’s datasheet under two different temperatures T 1 and T 2 at the first cycle, as shown in
To determine the first-order degradation rate constants related to cycling life k x n1 , point P1 in
Applying the modified cell voltage Equation (23) with Equations (24)-(27) to point P1 with n = 2, points P7, P8 and P9 respectively, and rearranging the resulting 4 equations into the following matrix form,
G k Xn = b (35)
where
k Xn = ( k Vn1 k Rn1 k Kn1 k An1 ) ; b = ( V full − ( V 0 − R 0 i 1 − K 0 + A 0 ) V 7 − ( V 0 − R 0 i n − K 0 + A 0 ) V 8 − ( V 0 − R 0 i n − K 0 m Q m Q − Q 8 + A 0 exp ( − B 0 Q 8 ) ) V 9 − ( V 0 − R 0 i n − K 0 m Q m Q − Q 9 + A 0 exp ( − B 0 Q 9 ) ) ) (36)
and
G = ( V 0 − R 0 i 1 − K 0 A 0 V 0 ( n 2 − 1 ) − R 0 i n ( n 2 − 1 ) − K 0 ( n 2 − 1 ) A 0 ( n 2 − 1 ) V 0 ( n 2 − 1 ) − R 0 i n ( n 2 − 1 ) − K 0 ( n 2 − 1 ) m Q m Q − Q 8 A 0 ( n 2 − 1 ) exp ( − B 0 Q 8 ) V 0 ( n 2 − 1 ) − R 0 i n ( n 2 − 1 ) − K 0 ( n 2 − 1 ) m Q m Q − Q 9 A 0 ( n 2 − 1 ) exp ( − B 0 Q 9 ) ) (37)
Note that the value of Q in expressions (36) and (37) should be the value of Q ( i , n , t r ( n ) , T ) at i = i n , n = n 2 , T = T ref .
The first-order degradation rate constants related to cycling life in Equations (24) to (27), k Vn1 , k Rn1 , k Kn1 and k An1 can be obtained by solving Equation (35),
k Xn = G − 1 b (38)
The internal resistance variation is usually very small and can be neglected within a certain life span (for example, n ≤ n 0 = 1000 ) and therefore, the degradation rate constant related to cycling life for internal resistance is modified as
k Rn1 = { 0 , n ≤ n 0 k Rn1 , n > n 0 (39)
Similar to k x n1 , the degradation rate constants related to temperature k x T1 can be calculated by applying the procedures given in Section 3.2 to point P1 with T = T r e f + 1 , points P10, P11 and P12, as shown in
G ˜ k ˜ XT = b ˜ (40)
where
k ˜ XT = ( k VT1 k RT1 k KT1 k AT1 ) ; b ˜ = ( V f u l l − ( V 0 − R 0 i 1 − K 0 + A 0 ) V 10 − ( V 0 − R 0 i T − K 0 + A 0 ) V 11 − ( V 0 − R 0 i T − K 0 m Q m Q − Q 11 + A 0 exp ( − B 0 Q 11 ) ) V 12 − ( V 0 − R 0 i T − K 0 m Q m Q − Q 12 + A 0 exp ( − B 0 Q 12 ) ) ) (41)
and
Note that the value of Q in expressions (41) and (42) should be the value of Q ( i , n , t r ( n ) , T ) at i = i T , n = 1 , T = T 2 .
The first-order degradation rate constants related to temperature in Equations (24) to (27), k VT1 , k RT1 , k KT1 and k AT1 can be obtained by solving Equation (40),
k ˜ XT = G ˜ − 1 b ˜ (43)
The final battery model takes into account the effects of self-discharge, cycling life and temperature on capacity degradation and battery voltage, and these dependencies are described by Equations (23) to (27), and (32). The identification of the model parameters depends only on the information typically provided in a manufacturer’s datasheet and the procedures used to derive them are presented in detail.
The modified model is verified by two steps. First, the model is applied to the two batteries used in [
Both the nickel-metal hydride (NiMH) and lithium-ion batteries from [
is the voltage prediction beyond the nominal zone. All of the three discharge curves (red lines) predicted by the generic MATLAB model converge to the rated capacity which is not the case comparing with the reference data. The modified model demonstrates much higher accuracy within this zone and has correctly predicted the separation of the three discharge curves (black lines) at the end of discharge process.
To further validate the modified battery model, a large-format high capacity (1000 Ah) lithium-ion battery from SINOPOLY was used. The specifications and discharge curves of the battery (Model: SP-LFP1000AHA) can be found in [
The capacity of the SP-LFP1000AHA battery varies with the discharge current, temperature and cycling number. Comparing with the experimental data, Equation (32) gives a very good approximation, as shown in
The voltage predictions by the new model are compared with the manufacturer’s datasheet for three different cycling numbers and the results are plotted in
Battery | Nickel Metal Hybrid (1.2 V 6.5 Ah) | Lithium-Ion (3.6 V 1 Ah) | ||
---|---|---|---|---|
Model Parameter | MATLAB Model [ | Modified Model | MATLAB Model [ | Modified Model |
V 0 ( V ) | 1.2848 | 1.3298 | 3.7348 | 3.82626 |
R ( Ω ) | 0.0046 | 0.0047 | 0.09 | 0.14222 |
K ( V ) | 0.01875 | 0.03842 | 0.00876 | 0.02054 |
A ( V ) | 0.144 | 0.14117 | 0.468 | 0.42273 |
B ( A ⋅ h ) − 1 | 2.3077 | 3.79613 | 3.5294 | 4.208 |
m | - | 1.14849 | - | 1.02115 |
α | - | −0.07897 | - | −0.01313 |
Q max , 0 ( A ⋅ h ) | - | 6.67206 | - | 1.04445 |
i 0 ( A ) | - | 6.5 | - | 0.2 |
Parameter | MATLAB model | Modified model | |
---|---|---|---|
V 0 ( V ) | 3.36757 | 3.36964 | For Equations (23)-(27) |
R 0 ( Ω ) | 0.00016 | 0.00016 | |
K 0 ( V ) | 0.03157 | 0.03546 | |
A 0 ( V ) | 0.08 | 0.08165 | |
B ( A ⋅ h ) − 1 | 0.07712 | 0.1003 | |
m | 1.0269 | ||
T ref ( ˚ C ) | 25 (assumed) | ||
k Vn1 | 9 . 71249 × 10 − 6 | ||
k Rn1 | 7.51635 × 10 − 4 | ||
k Kn1 | -8 .59363 × 10 − 5 | ||
k An1 | − 2.92489 × 10 − 4 | ||
k VT1 | 1.05135 × 10 − 3 | ||
k RT1 | 1.83721 × 10 − 2 | ||
k KT1 | − 7.72438 × 10 − 3 | ||
k AT1 | − 4.31833 × 10 − 2 | ||
n 0 | 1000 (assumed) | For Equation (39) | |
t r ( n ) | 0 (assumed) | For Equation (32) | |
α | −0.01212 | ||
Q 0 ( A ⋅ h ) | 1090 | 1090 | |
i 0 ( A ) | 100 | ||
k sd ( 1 / h ) | 8 × 10 − 5 [ | ||
k Qn1 | − 1.27571 × 10 − 7 | ||
k Qn2 | 1.22095 × 10 − 11 | ||
k QT1 | 1.32729 × 10 − 3 | ||
k QT2 | − 7.9763 × 10 − 6 |
It can be seen from
The well accepted generic MATLAB model is improved by adopting a variable battery capacity which is expressed as a function of self-discharge, discharge current, cycle number and temperature. The dependence of the model parameters on cycle life and temperature are linearly estimated. The detailed procedures are developed to determine the model parameters and the capacity function. The model parameter identification depends only on information typically available from manufacturer’s datasheets. The new model was compared with the generic MATLAB model for a nickel-metal hydride battery and the lithium-ion battery that are used for the generic MATLAB battery model validation. The simulation results demonstrated that the newly developed model has similar accuracy within the exponential and nominal zones compared to the generic MATLAB model but can correctly capture the discharge curve separation behavior beyond the nominal zone where the generic MATLAB model failed. Further validation on a large capacity lithium-ion battery has shown that the modified model can accurately predict the discharge curves at different discharge currents, at different points in cycle life, and at different temperatures. Future work will be devoted to further validate the model with various battery types, integrate it into a grid-scale energy storage control system with the goal of improving its reliable and economic operation.
Song, D., Sun, C., Wang, P. and Jang, D. (2018) A Generic Battery Model and Its Parameter Identification. Energy and Power Engineering, 10, 10-27. https://doi.org/10.4236/epe.2018.101002