Main Content

Estimation Equivalent Circuit Battery

Resistor-capacitor (RC) circuit battery that determines combined voltage using lookup tables

  • Estimation Equivalent Circuit Battery block

Libraries:
Powertrain Blockset / Energy Storage and Auxiliary Drive / Network Battery

Description

The Estimation Equivalent Circuit Battery block implements a resistor-capacitor (RC) circuit battery model that determines the combined voltage of a network battery using parameter lookup tables. The tables are functions of the state-of-charge (SOC). Consider using the block for estimating battery voltage and SOC, not in system-level models.

To acquire the SOC, the block integrates the charge and discharge currents. The block implements these values as lookup tables that are functions of the SOC:

  • Series resistance, Ro=ƒ(SOC)

  • Battery open-circuit voltage, Em=ƒ(SOC)

  • Network resistance, Rn=ƒ(SOC)

  • Network capacitance, Cn=ƒ(SOC)

To calculate the combined voltage of the battery network, the block uses these equations.

VT=EmIbattRo1nVnVn=0t[IbattCnVnRnCn]dtSOC=1Cbatt0tIbattdtIbatt=IinVout=VT

Positive current indicates battery discharge. Negative current indicates battery charge.

The equations use these variables.

SOC

State-of-charge

Em

Battery open-circuit voltage

Ibatt

Per module battery current

Iin

Combined current flowing from the battery network

Ro

Series resistance

n

Number of RC pairs in series

Vout, VT

Combined voltage of the battery network

Vn

Voltage for n-th RC pair

Rn

Resistance for n-th RC pair

Cn

Capacitance for n-th RC pair

Cbatt

Battery capacity

Examples

Ports

Inputs

expand all

Combined current flowing from the battery network, Iin, in A.

Output

expand all

Bus signal containing these block calculations.

SignalDescriptionVariableUnits

CapVolt

Voltage for n-th RC pair

VnV

Combined voltage of the battery network, Vout, in V.

Battery state-of-charge, SOC.

Parameters

expand all

Core Battery

Number of series RC pairs. For lithium, typically 1 or 2.

Programmatic Use

To set the block parameter value programmatically, use the set_param function.

To get the block parameter value programmatically, use the get_param function.

Parameter: NumRC
Values: 1 (default) | 2 | 3 | 4 | 5
Data Types: double

Open-circuit voltage table, Em, in V. Function of SOC.

Programmatic Use

To set the block parameter value programmatically, use the set_param function.

To get the block parameter value programmatically, use the get_param function.

Parameter: Em
Values: [3.8 3.8 3.8 3.8 3.8 3.8] (default) | array
Data Types: double

Series resistance table, Ro, in ohms. Function of SOC.

Programmatic Use

To set the block parameter value programmatically, use the set_param function.

To get the block parameter value programmatically, use the get_param function.

Parameter: R0
Values: [0.01 0.01 0.01 0.01 0.01 0.01] (default) | array
Data Types: double

State-of-charge (SOC) breakpoints, dimensionless.

Programmatic Use

To set the block parameter value programmatically, use the set_param function.

To get the block parameter value programmatically, use the get_param function.

Parameter: SOC_BP
Values: [0 .2 .4 .6 .8 1] (default) | vector
Data Types: double

Battery capacity, Cbatt, in Ah.

Programmatic Use

To set the block parameter value programmatically, use the set_param function.

To get the block parameter value programmatically, use the get_param function.

Parameter: BattCap
Values: 27.6250 (default) | scalar
Data Types: double

Initial battery capacity, Cbatto, in Ah.

Programmatic Use

To set the block parameter value programmatically, use the set_param function.

To get the block parameter value programmatically, use the get_param function.

Parameter: BattCapInit
Values: 27.6250 (default) | scalar
Data Types: double

Initial capacitor voltage, in V. Dimension of vector must equal the Number of series RC pairs.

Programmatic Use

To set the block parameter value programmatically, use the set_param function.

To get the block parameter value programmatically, use the get_param function.

Parameter: InitialCapVoltage
Values: 0 (default) | vector
Data Types: double

R and C Table Data

Network resistance table data for n-th RC pair, as a function of SOC, in ohms.

Programmatic Use

To set the block parameter value programmatically, use the set_param function.

To get the block parameter value programmatically, use the get_param function.

Parameter: R
Values: [0.005 0.005 0.005 0.005 0.005 0.005] (default) | array
Data Types: double

Network capacitance table data for n-th RC pair, as a function of SOC, in F.

Programmatic Use

To set the block parameter value programmatically, use the set_param function.

To get the block parameter value programmatically, use the get_param function.

Parameter: C
Values: [10000 10000 10000 10000 10000 10000] (default) | array
Data Types: double

Cell Limits

Upper voltage limit, in V.

Programmatic Use

To set the block parameter value programmatically, use the set_param function.

To get the block parameter value programmatically, use the get_param function.

Parameter: Vu
Values: Inf (default) | scalar
Data Types: double

Lower voltage limit, in V.

Programmatic Use

To set the block parameter value programmatically, use the set_param function.

To get the block parameter value programmatically, use the get_param function.

Parameter: Vl
Values: Inf (default) | scalar
Data Types: double

References

[1] Ahmed, Ryan, et al. "Model-Based Parameter Identification of Healthy and Aged Li-ion Batteries for Electric Vehicle Applications." SAE International Journal of Alternative Powertrains. 4, no. 2 (2015): 233 -47. https://doi.org/10.4271/2015-01-0252.

[2] Gazzarri, Javier, Nishant Shrivastava, Robyn Jackey, and Craig Borghesani. "Battery Pack Modeling, Simulation, and Deployment on a Multicore Real Time Target." SAE International Journal of Aerospace. 7, no. 2 (2014): 207–13. https://doi.org/10.4271/2014-01-2217.

[3] Huria, Tarun, Massimo Ceraolo, Javier Gazzarri, and Robyn Jackey. “High Fidelity Electrical Model with Thermal Dependence for Characterization and Simulation of High Power Lithium Battery Cells.” IEEE® International Electric Vehicle Conference, March 2012. https://doi.org/10.1109/ievc.2012.6183271.

[4] Huria, Tarun, Massimo Ceraolo, Javier Gazzarri, and Robyn Jackey. "Simplified Extended Kalman Filter Observer for SOC Estimation of Commercial Power-Oriented LFP Lithium Battery Cells." SAE Technical Paper Series, 2013. https://doi.org/10.4271/2013-01-1544.

[5] Jackey, Robyn A. "A Simple, Effective Lead-Acid Battery Modeling Process for Electrical System Component Selection." SAE Technical Paper Series, 2007. https://doi.org/10.4271/2007-01-0778.

[6] Jackey, Robyn A., Gregory L. Plett, and Martin J. Klein. "Parameterization of a Battery Simulation Model Using Numerical Optimization Methods." SAE Technical Paper Series, 2009. https://doi.org/10.4271/2009-01-1381.

[7] Jackey,Robyn, et al. "Battery Model Parameter Estimation Using a Layered Technique: An Example Using a Lithium Iron Phosphate Cell." SAE Technical Paper Series, 2013. https://doi.org/10.4271/2013-01-1547.

[8] Geng, Zeyang, Jens Groot, and Torbjorn Thiringer. “A Time- and Cost-Effective Method for Entropic Coefficient Determination of a Large Commercial Battery Cell.” IEEE Transactions on Transportation Electrification 6, no. 1 (March 2020): 257–66. https://doi.org/10.1109/TTE.2020.2971454.

Extended Capabilities

expand all

C/C++ Code Generation
Generate C and C++ code using Simulink® Coder™.

Version History

Introduced in R2017a