Main Content

Equivalent Circuit Battery

Resistor-capacitor (RC) circuit battery

  • Equivalent Circuit Battery block

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

Description

The Equivalent Circuit Battery block implements a resistor-capacitor (RC) circuit battery that you can parameterize using equivalent circuit modeling (ECM). To simulate the state-of-charge (SOC) and terminal voltage, the block uses load current and internal core temperature.

The Equivalent Circuit Battery block calculates the combined voltage of the network battery using parameter lookup tables. The tables are functions of the SOC and battery temperature. You can use the Estimation Equivalent Circuit Battery block to help create the lookup tables.

Specifically, the Equivalent Circuit Battery block implements these parameters as lookup tables that are functions of the SOC and battery temperature:

  • Series resistance, Ro=ƒ(SOC,T)

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

  • Battery capacity, Cbatt=ƒ(T)

  • Network resistance, Rn=ƒ(SOC,T)

  • Network capacitance, Cn=ƒ(SOC,T)

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

VT=EmIbattRo1nVnVn=0t[IbattCnVnRnCn]dtSOC=1Cbatt0tIbattdtIbatt=IinNpVout=NsVTPBattLoss=Ibatt2R0+1nVn2RnLdAmpHr=0tIbattdt

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

Power Accounting

For the power accounting, the block implements these equations.

Bus Signal DescriptionEquations

PwrInfo

PwrTrnsfrd — Power transferred between blocks

  • Positive signals indicate flow into block

  • Negative signals indicate flow out of block

PwrLdBatt

Battery network power

Vbatt=Vout   OR  Voutτs+1Pbatt=VbattIbattPLdBatt= Pbatt

PwrNotTrnsfrd — Power crossing the block boundary, but not transferred

  • Positive signals indicate an input

  • Negative signals indicate a loss

PwrLossBatt

Battery network power loss

PLossBatt=(Ibatt2R0+1nVn2Rn)

PwrStored — Stored energy rate of change

  • Positive signals indicate an increase

  • Negative signals indicate a decrease

PwrStoredBatt

Battery network power stored

PStoredBatt=PBatt+PLossBatt

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

Np

Number parallel branches

Np

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

Pbatt

Battery power

PLossBatt

Negative of battery network power loss

PBattLoss

Battery network power loss

PStoredBatt

Battery network power stored

PLdBatt

Battery network power

T

Battery temperature

Current Polarity, Hysteresis, and Entropic Heating

To incorporate current polarity, hysteresis voltage, and entropic heating into the battery model, enable these block parameters:

  • Include current polarity

  • Include hysteresis

  • Include entropic heating

Current Polarity

To improve calibration for charging and discharging processes, select Include current polarity. To model the current polarity, the block implements resistive and capacitive lookup tables with current direction.

Hysteresis

Hysteresis voltage adds a state estimator for non-linear voltage offsets when the battery current changes from charge to discharge. To calculate the combined voltage of the battery network with hysteresis, select Include hysteresis. The block uses these equations.

Hstate=(Hstateabs(Ibatt)Ibatt)HystRateCbattVHyst=HstateMaxHystVoltInstHystVoltsign(Ibatt)VT=VHyst+EmIbattRo1nVn

Entropic Heating

Entropic heating accounts for power losses that occur during the battery phase change. To calculate the battery network power loss with entropic heating, select Include entropic heating. The block uses these equations.

Pentropic=IBattTEntdUdTPLossBatt=(Ibatt2R0+1nVn2Rn+Pentropic)

The equations use these variables.

Hstate

Hysteresis state variable

HystRate

Hysteresis rate

VHyst

Hysteresis voltage

MaxHystVolt

Maximum hysteresis voltage

InstHystVolt

Instantaneous hysteresis voltage

EntdUdT

Entropic coefficient

Pentropic

Entropic reversible losses

Examples

Ports

Inputs

expand all

Rated battery capacity at the nominal temperature, Capbatt, in Ah.

Dependencies

To create this port, select External Input for the Initial battery capacity parameter.

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

Battery temperature, T, in K.

Output

expand all

Bus signal containing these block calculations.

SignalDescriptionVariableUnits

BattCurr

Combined current flowing from the battery network

Ibatt

A

BattAmpHr

Battery energy

LdAmpHr

A*h

BattSoc

State-of-charge capacity

SOC

NA

BattVolt

Combined voltage of the battery network

VoutV

BattPwr

Battery power

Pbatt

W

PwrInfo

PwrTrnsfrd

PwrLdBatt

Battery network power

PLdBatt

W

PwrNotTrnsfrd

PwrLossBatt

Battery network power loss

PLossBatt

W

PwrStored

PwrStoredBatt

Battery network power stored

PStoredBatt

W

HystState

Hysteresis state variable

Hstate

1

HystVolt

Hysteresis voltage

Vhyst

V

EntropicPwr

Entropic reversible losses

Pentropic

W

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

Parameters

expand all

Block Options

Initial battery capacity, Capbatt, in Ah.

Dependencies

Block Parameter Initial battery capacity Option

Creates

External Input

Input port CapInit
ParameterParameter Initial battery capacity, BattCapInit

Select Filtered to apply a first-order filter to the output battery voltage.

Dependencies

Setting Output battery voltage parameter to Filtered creates these parameters:

  • Output battery voltage time constant, Tc

  • Output battery voltage initial value, Vinit

Select this parameter to add current direction in the equivalent circuit battery.

To improve calibration for charging and discharging processes, select Include current polarity. To model the current polarity, the block implements resistive and capacitive lookup tables with current direction.

Select this parameter to add the hysteresis voltage.

Hysteresis voltage adds a state estimator for non-linear voltage offsets when the battery current changes from charge to discharge. To calculate the combined voltage of the battery network with hysteresis, select Include hysteresis. The block uses these equations.

Hstate=(Hstateabs(Ibatt)Ibatt)HystRateCbattVHyst=HstateMaxHystVoltInstHystVoltsign(Ibatt)VT=VHyst+EmIbattRo1nVn

Select this parameter to add entropic heating.

Entropic heating accounts for power losses that occur during the battery phase change. To calculate the battery network power loss with entropic heating, select Include entropic heating. The block uses these equations.

Pentropic=IBattTEntdUdTPLossBatt=(Ibatt2R0+1nVn2Rn+Pentropic)

Core Battery

Number of series RC pairs. For lithium, typically 1 or 2. The value 0 specifies that there are no RC elements in the circuit.

Open circuit voltage table, Em, in V. Function of SOC and battery temperature.

Series resistance table, Ro, in ohms. Function of SOC and battery temperature.

Series charge resistance table, in ohms. Function of SOC and battery temperature.

Dependencies

To enable this parameter, select Include current polarity.

Series discharge resistance table, in ohms. Function of SOC and battery temperature.

Dependencies

To enable this parameter, select Include current polarity.

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

Battery temperature breakpoints, K.

Battery capacity, Cbatt, in Ah. Function of battery temperature.

Initial battery capacity, Capbatt, in Ah.

Dependencies

Block Parameter Initial battery capacity Option

Creates

External Input

Input port CapInit
ParameterParameter Initial battery capacity, BattCapInit

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

Output battery voltage time constant, Tc, in s. Used in a first-order voltage filter.

Dependencies

Setting Output battery voltage parameter to Filtered creates these parameters:

  • Output battery voltage time constant, Tc

  • Output battery voltage initial value, Vinit

Output battery voltage initial value, Vinit, in V. Used in a first-order voltage filter.

Dependencies

Setting Output battery voltage parameter to Filtered creates these parameters:

  • Output battery voltage time constant, Tc

  • Output battery voltage initial value, Vinit

R and C Table Data

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

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

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

Dependencies

To enable this parameter, select Include current polarity.

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

Dependencies

To enable this parameter, select Include current polarity.

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

Dependencies

To enable this parameter, select Include current polarity.

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

Dependencies

To enable this parameter, select Include current polarity.

Cell Limits

Upper voltage limit, in V.

Lower voltage limit, in V.

Heating and Hysteresis

Entropic coefficient table data, EntdUdT, in V/K, as a function of SOC.

Dependencies

To enable this parameter, select Include entropic heating.

Hysteresis rate, dimensionless, specified as a scalar.

Dependencies

To enable this parameter, select Include hysteresis.

Maximum hysteresis voltage table data, in V, as a function of SOC and battery temperature.

Dependencies

To enable this parameter, select Include hysteresis.

Instantaneous hysteresis voltage table data, in V, as a function of SOC and battery temperature.

Dependencies

To enable this parameter, select Include hysteresis.

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

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

Version History

Introduced in R2017a

expand all