Battery Cell

Description of the Battery Cell component in Schematic Editor

Enhanced self correcting cell model

The Battery Cell model is implemented in Typhoon HIL Schematic using a controlled voltage source and a current measurement. The terminal voltage signal that controls the voltage source is a signal processing function of previous states and the measured current, using the Enhanced self-correcting cell model.

The component has two power electronics terminals, with a positive terminal on top and a negative terminal on bottom of the component (as shown in the Battery Cell component icon). Additionally, there is another signal processing input which can be either a scalar input of cells temperature, or a vector input of the cell temperature followed by a balancing input. This is covered in more detail in Basic parameters (Tab) and Balancing circuit (Tab).

Short circuit of the cell can be simulated using the internal SCADA inputs of the component named Vcell Override and Vcell Value Set. When Vcell Override is set to 1, the terminal cell voltage of the component is bypassed and a new cell voltage matching the value of Vcell Value Set is assigned. Setting Vcell Override to 0 disables this feature.

Figure 1. Schematic diagram of the Battery Cell model

Cell current is the current that is derived after subtracting the balancing current (if there is a balancing circuit enabled) from the total measured current (I_t in Figure 1).

The number of cells in parallel is modeled by dividing the cell current by the corresponding value in the parameter field. This method assumes that all the cells in the parallel configuration have equal parameters.

State of charge of the cell is calculated using the coulomb counting method with an adjustable coulombic efficiency coefficient:

S O C ( t ) = i   ( t )   ·   η   ( S O H ,   T ) Q   ( S O H ,   T ) d t

Where Q is the total capacity parameter, i is the cell current, and η is the coulombic efficiency coefficient, which is applied only when the cell is being charged (otherwise its value is set to 1).

The initial state of charge can be set inside the Initial state of charge property. Additionally, in real time simulation, the state of charge can be overridden during the simulation by changing the State of Health SCADA input, SOH_set, inside of the Battery Cell component.

The State of charge (SOC) variable can range from -10% to 110% during runtime; the open circuit voltage for values below 0% and above 100% SOC is linearly extrapolated from the first two OCV data points and last two data points, respectively.

Terminal voltage (V_term in Figure 1) comprises four different components:
  1. Open circuit voltage (OCV) which represents the cell's terminal voltage when the diffusion process has subsided, there is no current flow, and the hysteresis effect is ignored. It is always a function of state of charge and optionally a function of temperature.
  2. Voltage drop on the internal resistance of the cell which is equal to the calculated internal battery cell resistance multiplied by the cell current (after balancing).
  3. Voltage drop due to chemical diffusion which is the effect of ion diffusion of battery cells. It can be modeled as a variable number of parallel resistor capacitor circuits connected in series. The order of these resistor capacitor circuits can theoretically go to infinity, but in practice, up to a third order is often sufficient. During charging or discharging the battery cell, the capacitors are polarized and will require time to discharge themsleves when the current stops flowing through the battery.
  4. Hysteresis effect voltage is important to replicate the state-of-the-art battery cell behavior. Combining all of the previous components of terminal voltage to accurately model the physical processes inside the battery cell is sometimes insufficient. When measuring the voltage on the terminals of the cell, hysteresis behavior of cell voltage in relation to cell current can be observed. One of the analytical equations that can be used to describe this behavior, called One state is described below:

    V h y s t e r e s i s t = h t - M 0 ( S O C ,   T ) · s i g t

    Where:

    h ˙ t = η ( S O H ,   T )   ·   i ( t )   ·   γ ( S O C ,   T ) Q ( S O H ,   T ) · h ( t ) + η   ( S O H ,   T )   ·   i ( t )   ·   γ ( S O C ,   T ) Q ( S O H ,   T ) · M ( S O C ,   T ) ,

    M, M0, γ are user customizable parameters, and s i g is a sign of the cell current.

Ports

  • P (electrical)
    • DC + port.
  • N (electrical)
    • DC - port.
  • T (signal processing)
    • If Balancing circuit is None, T is a scalar input of cells temperature
    • If Balancing circuit is Passive, T is a two dimensional (vectorized) signal input. The first element of a vector is the cell temperature while the second element of the vector controls the BL_SW port of the balancing circuit shown in Figure 2.
    • If Balancing circuit is Direct current input, T is a two dimensional (vectorized) signal input. The first element of a vector is the cell temperature while the second element of the vector controls I_balance port of the balancing circuit, shown in Figure 3.

Basic parameters (Tab)

  • State of charge vector
    • An array-like element and input into look up tables corresponding to other parameters inside this tab. It is the only mandatory field out of State of charge vector, Temperatures vector, and State of health vector for which at least one dimension of the Open circuit voltage vector look up table will be parametrized.
  • Initial state of charge
    • Sets the starting state of charge of the battery cell component in percentages.
  • State of health vector
    • An array-like element and input into look up tables corresponding to other parameters inside this tab. State of health vector is evaluated only in the case that other parameters in this tab have multidimensional arrays as inputs.

  • Temperatures vector
    • An array-like element and input into look up tables corresponding to other parameters inside this tab. Temperatures vector is evaluated only in the case that other parameters in this tab have multidimensional arrays as inputs. Temperature of the Battery Cell is provided by the signal processing input on the left side of this component.

  • Open circuit voltage
    • An array-like element representing the data points corresponding to State of charge vector with an optional temperature dependance.

    • For the model to compile, the length of State of charge vector must be equal to the number of columns in Open circuit voltage vector. If the parameter Open circuit voltage vector contains a two dimensional array-like element, then the rows must correspond to values inside the Temperatures vector parameter. In that case, columns are still data points of State of charge vector and must be of the same length. There must also be the same number of rows as the length of State of charge vector.

    • The output of the OCV is the linear interpolation between the provided points corresponding to the current state of charge (and temperature if a two dimensional array-like element is provided).

  • Internal resistance
    • The Internal resistance property can be constant, one dimensional array like element, or two dimensional array-like element.

    • If a two dimensional array is provided, length of Temperatures vector must be equal to the number of columns in Internal resistance. There must also be the same number of rows as the length of State of health vector. If instead a one dimensional array is provided, the length of the Temperatures vector parameter will be the only dependance for calculating Internal resistance. A single value can also be provided for Internal resistance, in which case, no dependance is created and resistance is a constant value.
  • Coulombic efficiency
    • The Coulombic efficiency property can be constant, one dimensional array like element, or two dimensional array-like element.

    • If a two dimensional array is provided, length of Temperatures vector must be equal to the number of columns in Coulombic efficiency. There must also be the same number of rows as the length of State of health vector. If instead a one dimensional array is provided, the length of the Temperatures vector parameter will be the only dependance for calculating Coulombic efficiency. A single value can also be provided for Coulombic efficiency, in which case, no dependance is created and Coulombic efficiency is a constant value.
  • Number of cells in parallel
    • An integer, positive number that represents the amount of identical cells to be paralleled in the battery cell.

  • Nominal capacity
    • The Nominal capacity combo box allows for parametrizing Battery Cell Total capacity by entering it directly or by calculating it from the available Discharge capacity. Choosing one option in this combo box will enable parameters corresponding to that option and disable parameters corresponding to the other option.

    • Total capacity and Discharge capacity can each be constants, one dimensional array like elements, or two dimensional array-like elements. Using Total capacity as an example, if a two dimensional array is provided, length of Temperatures vector must be equal to the number of columns in Total capacity. There must also be the same number of rows as the length of State of health vector. If instead a one dimensional array is provided, the length of the Temperatures vector parameter will be the only dependance for calculating Total capacity. A single value can also be provided for Total capacity, in which case, no dependance is created and total capacity is a constant value. The same applies for the Discharge capacity parameter.
  • Discharge capacity
    • Available if Nominal capacity is set to Discharge capacity.
    • Discharge capacity is the capacity that can be extracted from the fully charged battery with a particular constant current with a value of Discharge rate before it reaches the Minimum/cut-off voltage. Calculation is performed by including the effects of hysteresis (if enabled), diffusion voltage drop (if enabled), and the internal resistance voltage drop.

  • Minimum/cut-off voltage
    • Available if Nominal capacity is set to Discharge capacity.
  • Discharge rate
    • Available if Nominal capacity is set to Discharge capacity.
  • Total capacity
    • Available if Nominal capacity is set to Total capacity.
    • Total capacity is the total amount of energy cell contains when fully charged. It is not possible to extract all this energy at any finite discharge current (it would take an infinite amount of time to extract it all), so cell capacities are not typically given in terms of maximum capacity, but it is a necessary parameter for State of Charge calculation.
  • Execution rate
    • The signal processing time step for calculating the cell terminal voltage based on previous states and the current input.

Diffusion process (Tab)

  • Model order
    • Model order is a combo box which enables or disables up to three parallel connected resistor capacitor circuits. Resistors and capacitors are only modeled if their respective properties are enabled. If the Model order option is different than None, the Temperatures vector for diffusion parameters and State of health vector for diffusion parameters properties are enabled and represent array-like data for two dimensional or one dimensional look up tables, depending on the resistor and capacitor parameter fields.
  • Resistor 1
    • Available if Model order is different than None.
    • Represents the resistor value in ohms for the first RC circuit. Can be constant, single dimensional array (list) or a two dimensional array (nested list).
  • Capacitor 1
    • Available if Model order is different than None.
    • Represents the capacitor value in farads for the first RC circuit. Input value(s) can be constant, single dimensional array (list) or a two dimensional array (nested list).
  • Resistor 2
    • Available if Model order is set to 2 or 3.
    • Represents the resistor value in ohms for the second RC circuit. Can be constant, single dimensional array (list) or a two dimensional array (nested list).
  • Capacitor 2
    • Available if Model order is set to 2 or 3.
    • Represents the capacitor value in farads for the second RC circuit. Input value(s) can be constant, single dimensional array (list) or a two dimensional array (nested list).
  • Resistor 3
    • Available if Model order is set to 3.
    • Represents the resistor value in ohms for the third RC circuit. Can be constant, single dimensional array (list) or a two dimensional array (nested list).
  • Capacitor 3
    • Available if Model order is set to 3.
    • Represents the capacitor value in farads for the third RC circuit. Input value(s) can be constant, single dimensional array (list) or a two dimensional array (nested list).
  • Temperatures vector for diffusion parameters
    • Available if Model order is different than None
    • Array-like data for two dimensional or one dimensional look up tables, depending on the resistor and capacitor parameter fields.
  • State of health vector for diffusion parameters
    • Available if Model order is different than None
    • Array-like data for two dimensional or one dimensional look up tables, depending on the resistor and capacitor parameter fields.

Each of these resistor and capacitor parameters can be constants, one dimensional array-like elements, or two dimensional array-like elements. Using Resistor 1 as an example, if a two dimensional array is provided, the length of Temperatures vector for diffusion parameters must be equal to the number of columns in Resistor 1, and there must be the same number of rows as the length of State of health vector for diffusion parameters. If instead a one dimensional array is provided, the length of Temperatures vector for diffusion parameters will be the only dependance for calculating Resistor 1. You can also provide a single value for Resistor 1, in which case no dependance is created and it is calculated as a constant value. The same applies for all other parameters of the diffusion voltage.

Voltage hysteresis (Tab)

  • Hysteresis model
    • The Hysteresis model property allows you to select hysteresis effect implementation. Currently, only two implementations are allowed: None and One state.

    • If None is selected for the Hysteresis model property, voltage from hysteresis is always set to zero.

  • Temperatures vector for hystersis parameters
    • Available if Hysteresis model is set to One state.
    • Represents array-like data for two dimensional or one dimensional look up tables, depending on the M parameter, M0 parameter, and Gamma parameter fields.
  • State of charge vector for hystersis parameters
    • Available if Hysteresis model is set to One state.
    • Represents array-like data for two dimensional or one dimensional look up tables, depending on the M parameter, M0 parameter, and Gamma parameter fields.
  • M0 parameter, M parameter, Gamma parameter
    • Available if Hysteresis model is set to One state.
    • Each of these parameters can be constants, one dimensional array-like elements, or two dimensional array-like elements. Using M parameter as an example, if a two dimensional array is provided, the length of Temperatures vector for hysteresis parameters must be equal to the number of columns in M parameter, and there must be the same number of rows as the length of State of charge vector for hysteresis parameters. If instead a one dimensional array is provided, the length of Temperatures vector for hysteresis parameters will be the only dependance for calculating M parameter. You can also provide a single value for M parameter, in which case no dependance is created and it is calculated as a constant value. The same applies for M0 parameter and Gamma parameter.

Balancing circuit (Tab)

  • Balancing circuit
    • The Balancing circuit combo box allows you to select any of the three following balancing circuits:
      1. None: No balancing circuit is introduced and the cell current is the total terminal current.
      2. Passive balancing: A new signal processing input is appended on the Battery Cell component signal processing input, making it a two dimensional (vectorized) signal input. The first component of this input remains the temperature signal, while the second input controls the BL_SW port of the balancing circuit. When the value of this second input is larger than 0.5, the ideal switch shown in Figure 2 is closed. In this case, the cell current used for calculating Battery Cell states and outputs is the remainder of the difference of the terminal input current and the current flowing through a balancing resistor. The value for the balancing resistor is provided in the property Balancing parallel resistor.
        Figure 2. Battery Cell model with passive balancing enabled
      3. Direct input balancing: This option also modifies the signal processing input of the Battery Cell component into a two dimensional vector input. The second input signal is routed to the input port I_balance of the balancing circuit, shown in Figure 3. I_balance represents the value of the balancing current in amperes. In this case, the cell current used for calculating Battery Cell states and outputs is the remainder of the difference of the terminal input current and the input balancing current.
        Figure 3. Battery Cell model with direct input balancing enabled
  • Balancing parallel resistor
    • Available if Balancing circuit is set to Passive
    • Resistance of the balancing resistor used when passive balancing circuit is enabled

Thermal model (Tab)

  • Battery cell thermal model
    • Battery cell thermal model checkbox enables/disables the thermal model of the battery cell(s). If thermal model is enabled, the input temperature will no longer be the cell(s) temperature and will instead become the ambient temperature input to a Thermal network component, modeled with equivalent thermal resistances and capacitances according to the Cauer thermal model. The power input to the thermal network is obtained from ohmic losses coming from internal resistance and resistances coming from diffusion modeling. If there are multiple parallel battery cells specified in Number of cells in parallel, ohmic losses are combined from all the cells in parallel and injected as a power loss for a single thermal model, whose output is the temperature for all the battery cells in parallel.
  • Thermal resistance(s)
    • Available if Battery cell thermal model is enabled.
    • Thermal resistance(s) must be either a list of values or a single value. The number of elements must be the same as for the Thermal capacitance(s) parameter.
  • Thermal capacitance(s)
    • Available if Battery cell thermal model is enabled.
    • Thermal capacitance(s) must be either a list of values or a single value. The number of elements must be the same as for Thermal resistance(s) parameter.
  • Initial cell temperature
    • Available if Battery cell thermal model is enabled.
    • Initial cell temperature defines the initial temperature of the thermal network(s) in Celsius.

Measurements (Tab)

  • State of health
    • Enables/disables monitoring of Battery Cell state of health through a probe with the name SOH inside this component.
  • State of charge
    • Enables/disables monitoring of Battery Cell state of charge through a probe with the name SOC inside this component.
  • Open circuit voltage
    • Enables/disables monitoring of Battery Cell state of health through a probe with the name OCV inside this component.
  • Internal resistance
    • Enables/disables monitoring of Battery Cell state of health through a probe with the name Internal resistance inside this component.
  • Total capacity
    • Enables/disables monitoring of Battery Cell state of health through a probe with the name Total capacity inside this component.
  • Balancing current
    • Enables/disables monitoring of Battery Cell state of health through a probe with the name Balancing current inside this component.
  • Cell current
    • Enables/disables monitoring of Battery Cell state of health through a probe with the name Cell current inside this component.
  • Temperature
    • Enables/disables monitoring of Battery Cell state of health through a probe with the name Temperature inside this component.
  • Hysteresis voltage
    • Enables/disables monitoring of Battery Cell state of health through a probe with the name Hysteresis voltage inside this component.
  • Diffusion voltage
    • Enables/disables monitoring of Battery Cell diffusion voltage drop through a probe with the name Diffusion voltage inside this component.
Note: The Battery Cell component terminal current and voltage measurements are automatically enabled and can be monitored by selecting probes inside this component named It and Cell voltage.
Note: The Battery Cell component uses signal processing components. Disabling optional properties and providing constants or single dimensional data as parameters will reduce the signal processing computational load.