A Generic Battery Model and Its Parameter Identification

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.


Introduction
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 How to cite this paper: Song, D., Sun, C., Wang, P. and Jang, D. To improve EC model accuracy, additional resistor-capacitor (RC) networks can be integrated but at the cost of computational efficiency. The EC model with more RC networks also requires more detailed experimental data to determine its model parameters. Empirical models employ elementary mathematical functions such as polynomials, exponentials, power law, etc., to predict the battery performance. Some empirical models, also called OCV models [5], are just fitted mathematic functions for a specific battery without any physical meaning and therefore have limited popularity. Other empirical models, called generic models, are derived either from the Nernst equation [6] [7] or from the Butler-Volmer equation [8] and are now widely employed in various applications due to its simplicity and relatively high accuracy. The model parameter identification of the dynamic model developed in [8] [9] [10] is based on a batch least square approach that requires tedious testing and these data sets are not typically available or easy to obtain, especially for grid-scale battery systems. The identified model parameters vary with cycle life and no explicit expressions are presented for the parameters as functions of the battery's cycle life which make the model difficult to use for control purposes in grid applications. The newly released MATLAB software version R2017b [11] [12] includes a generic lithium-ion battery model that incor-porates the temperature and aging functions and these effects on battery performance can be evaluated individually. This generic MATLAB battery model has been modified by many researchers to include some missing features, such as the self-discharge and internal resistance variation [13], nonlinear temperature dependence [14], and is commonly applied to the dynamic analysis for electric vehicles [12] [15]. The most advantageous feature of the generic MATLAB battery model is that the model parameters are estimated from a manufacturer's datasheet and only three points on one discharge curve are needed, namely the initial fully charged point (100% state of charge), the point at the end of exponential zone and the point at the end of nominal zone [7]. MATLAB's generic model did not consider the variation of the battery capacity as a function of its self-discharge, discharge current, cycle life and temperature so it is unable to predict the voltage behavior near the end of the discharge process.
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) [16] [17] and these variations should be carefully considered when developing a the dynamic battery model. This paper describes the advancements made to the generic MATLAB battery model by introducing an additional parameter together with a variable capacity which is a function of the self-discharge rate, the discharge current, the cycle life and operating temperature. The effects of temperature and cycle life on battery performance are estimated using first-order approximations. An explicit and systematic approach is presented to determine the model parameters. More importantly, the identification of model parameters is based only on information typically provided in manufacturer's datasheets and no tedious battery testing is required.

The Modified MATLAB Model
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 [7] is modified as, and , 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 There are a total of 7 unknowns in Equation (1): and m . The method described in [7] can be applied here to estimate the first 6 parameters once the needed three points on a discharge curve are accurately identified. The initial 100% state of charge point is at the beginning of the discharge process ( 0 t = ). The other two points, one at the end of exponential zone and one at the end of nominal zone, are challenging to distinguish and need to be finely adjusted in order to obtain a good fit. The supporting documentation [11] for MATLAB's generic battery model describes that the capacity adjustment parameter ( m ) is set at a default value of 0.1 and no detailed procedure is given on how to determine its value. In addition, the determination of the internal resistance relies on the cell efficiency which is not typically provided on manufacturer's datasheets. In this paper, a new procedure is introduced to determine all model parameters based only on the specifications typically provided on manufacturer's datasheets. As compared to the MATLAB method, the new procedure proposed is more tolerant of the positions of the required points on discharge curves. In general, the nominal capacity ( 0 Q ) of the battery can be found directly from manufacturer's datasheets. The following section will focus on how to determine the other6 unknowns. Figure 1 plots two typical discharge curves 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 ( ) , P V Q , the end point of discharge. Five equations are obtained by applying Equation (1) to these five points accordingly.
Equation (4) minus Equation (5) to eliminate the term ( 0 and noticing the relation of 3 , Equations (4) and (7) reduce to ( ) and Parameters A and B can be solved from Equations (10) and (11) as Equations (8) and (9) So the parameters m and K can be obtained from Equations (16) and (17) The second step is to determine parameters R and 0 V . 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 [7] is not applicable. Here a new procedure is proposed to calculate the internal resistance by using two points on two different discharge curves at two different discharge currents.
Applying the cell voltage Equation (1) to point P 6 on the discharge curve of current i 2 , Subtracting Equation (5) Once the values of parameters, , , , B A m K and R are available, the constant voltage, 0 V can be obtained from Equation (4),

Model Equations with Aging and Temperature Effects
To include both aging and temperature effects, the model Equation (1) is rewritten as, ,

V t i n t n T mQ i n t n T V n T R n T i K n T A n T Bit mQ i n t n T it
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. ( ) where n1 x k refers to the first-order degradation rate constant of parameter x related to cycling life; T1 is the degradation rate constant of parameter x related to temperature; ref T is a reference temperature.

Battery Capacity Degradation Considering Self-Discharge, Cycling Life and 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 [18]. Furthermore, it is also varies with the corresponding discharge current. These degradations must first be identified before calculating the degradation rate constants appearing in Equations (24) where sd k (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 [13] (i.e. with no load on the battery). Self-discharge varies with battery types. For a lithium-ion battery, the self-discharge rate is around 5% in the first 24 hours and then reduces to 1% -2% per month, plus 3% for safety circuit consumption [19]. The typical values of sd k for a lithium-ion battery cell is given in [9] as, The degradation of ( ) Q n  due to cycling is an irreversible and cumulative process and can be approximated by second-order approximation as, where Q is the battery's capacity given by Equation (2), Qn1 k and Qn2 k are the first-order and second-order degradation rates of battery capacity due to cycling, Since the capacity degradation of the battery is also dependent on temperature, Equation (30) is modified as where QT1 k and QT2 k 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) where the two battery capacities, where the two battery capacities,

First-Order Degradation Rate Constants Related to Cycling Life x k n1
To determine the first-order degradation rate constants related to cycling life n1 x k , point P 1 in Figure 1, and three other points on the discharge curve of ( ) 2 2 1 1 n n n n = > > , namely points P 7 , P 8 and P 9 , are required, as shown in Figure   2.
Applying the modified cell voltage Equation (23) with Equations (24)-(27) to point P 1 with n = 2, points P 7 , P 8 and P 9 respectively, and rearranging the resulting 4 equations into the following matrix form, Note that the value of Q in expressions (36) and (37)

First-Order Degradation Rate Constants Related to Temperature x k T1
Similar to n1 x k , the degradation rate constants related to temperature T1 x k can be calculated by applying the procedures given in Section 3.2 to point P 1 with 1 ref T T = + , points P 10 , P 11 and P 12 , as shown in Figure 3. The formulas for the calculation are given as follows.   0 1  0  0   0  2  ref  0  2  ref  0  2  ref  0  2  ref   0  2  ref  0  2  ref  0  2  ref  0  2  ref  0 11  11   0  2  ref  0  2  ref  0  2  ref  0  2  ref  0 12  12   exp   exp   T   T   T   V  R i  K  A   V T T  R i T T  K T T  A T T   mQ  V T T  R i T T  K T T  A T T Note that the value of Q in expressions (41) 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.

Model Validation
The modified model is verified by two steps. First, the model is applied to the two batteries used in [7] and the predicted battery voltages are compared with those generated by the generic MATLAB model. Secondly, the modified model with the inclusion of aging and temperature is applied to a commercially available lithium-ion battery and the model parameters are extracted. The new model's calculated battery voltage is then compared with the performance figures provided in the manufacturer's datasheet.

Comparison with the MATLAB Model
Both the nickel-metal hydride (NiMH) and lithium-ion batteries from [7] are used here to check the improvement of battery voltage prediction of the modified model Equations (1) and (2). For the NiMH battery, Figure 4 shows the comparison of voltage prediction by the modified model with the prediction by the generic MATLAB model, and with the values on the manufacturer's datasheet as well. It can be seen that the overall accuracy of the modified model is better than the generic MATLAB model for all three discharge rates, especially beyond the nominal region. Figure 5 plots the voltages from both MATLAB and the modified model calculation and from manufacturer's datasheet for the lithium-ion battery. It is clearly seen that the voltage prediction from the modified model at high C-rate is much better than the MATLAB model prediction. Another significant improvement  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. Figure 6 plots the battery capacity as the function of discharge current and in comparison with the data extracted from the manufacturer's data for both NiMH and lithium-ion batteries from [7].

Model Validation Using a Commercially Available Large-Format Lithium-Ion Battery
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 [20]. Based on the procedures given in Sections 2 and 3, the parameter values for the modified model are extracted and listed in Table 2       It can be seen from Figure 9 and Figure 10 that the new model has the capability to predict the discharge curves for different cycling numbers and at different temperatures with a reasonable accuracy.

Conclusion
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 parame-ters 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.