logo

Home products liionbms controllers 2CN0000B bms_controller_functional_descr

BMS controllers functional description

Functions of the 2Cx00xxx Li-Ion BMS controllers.

This page describes the functions of the BMS during normal operation. Many of the parameters described below are adjustable: see the programming page for instructions on how to do that. Refer to the specification page for maximum ratings and detailed electrical specifications.

back to topDisplay
Board level BMS controller, LED functions
Function of LEDs, on a board level BMS controller.

The BMS controller has multiple LEDs to report its status.
Name Color Function
V+Load Red On if BMS is receiving power from the load (e.g.: motor controller)
V+Source Amber On if BMS is receiving power from the source (e.g.: charger)
ContReq Green On if BMS is receiving a request to turn on the contactors (e.g.: ignition line)
Ibatt Red = discharging
Green = charging
On if there's battery current; gets brighter with more current
LLIM Blue On if BMS is driving the Low Limit line to ground
Note that polarity is programmable (ON = battery is fully discharged, or ON = battery is OK)
HLIM Amber On if BMS is driving the High Limit line to ground
Note that polarity is programmable (ON = battery is fully charged, or ON = battery is OK)
FLT Red On if BMS is driving the Fault line to ground
Note that polarity is programmable (ON = fault, or ON = OK)
Fan Blue On if BMS is driving the Fan
K1 Amber On if BMS is driving the coil of precharge relay K1
K2 Red On if BMS is driving the coil of positive contactor K2
K3 Green On if BMS is driving the coil of negative contactor K3
5V Green On if the internal 5 V supply is OK
I-lock Red On if the 2 pins of the Interlock connector are not shorted together
Note that polarity is programmable (shorted = OK, or open = OK)

back to topPower, State
Power to the controller anchor

The BMS controller is powered through either the V+1 or the V+2 lines, or both. Typically, the V+1 line is powered when the load is on (such as a vehicle is on), and the V+2 line is powered when the power source is on (such as a vehicle is plugged-in).

State anchor

When powered, the BMS controller can be in one of 9 States. The State is set by the state of the two power input lines (V+1 and V+2) and conditions, according to the following table.
Systems
that are on
Inputs Conditions State Source of
DOD calculation
Examples
V+Load
(motor ctrl)
V+Source
(charger)
neither Load and source are both off
(Vehicle is off and not plugged in).
- - - n.a. -
  • No power, so everything is off
Source Source is on (vehicle is plugged in).
Load is off (vehicle is off)
- ON Enabled Source on Source current
  • Vehicle plugged-in and charging
  • Sun shining on PV, charging
  • V2G / B2G, discharging battery into grid
Disabled Source stand-by none
  • Vehicle plugged-in, but fully charged
  • Sun shining on PV, but too cold to charge
Fault Source fault
  • Should be charging but no current
  • BMS communication problem
Load Load is on (vehicle is on)
Source is off (vehicle is not plugged in).
ON - Enabled Load on Load current
  • BEV driven from battery
  • HEV or PHEV in Charge Sustain
  • PHEV in Charge Deplete
  • Regeneration back into battery
  • Load powered from battery
Disabled Load stand-by none
  • Vehicle on, ignition off
  • UPS ready, no load
Fault Load fault
  • BMS limits ignored -> battery overcharged / over-discharged
  • Battery temperature outside limits
  • BMS communication problem
Both Load and source are both on
(Vehicle is on and plugged in).
ON ON Enabled Load-source on Load current plus source current
  • UPS in use
  • Sun shining on PV, sending power to the grid
  • Sun shining on PV, sending power to the home
Disabled Load-source stand-by none
  • Prevent vehicle from driving off while still plugged in.
  • UPS with battery fully charged, and no load
Fault Load-source fault
  • Attempt to drive off while vehicle still plugged in
  • BMS communication problem

Contactors anchor

The BMS controller includes hardware to drive contactors between the battery and the load.

The contactors can be controlled through the CAN bus. If not controlled through the CAN bus, the contactors can be controlled with the dedicated Contactors line (such as from the vehicle's Ignition line).

If the BMS controller sees a problem with the contactors, with isolation from the chassis, or with the load, it enters a Fault State.

In the Fault State, the BMS controller does not drive the contactors.

Contactors flowchart
Auxiliary power outputs anchor

Whenever either the V+1 or the V+2 lines is powered, the BMS controller outputs 2 supplies available to power external devices:

  • A V+ supply, at the voltage of the highest of the V+1 or the V+2 lines. This is typically used for accessories such as remote control or data loggers.
  • A 5 V supply. This output cannot source much current, so it is only available for very small loads.
back to topMonitored data

The BMS measures the cell and battery voltages, the cell temperatures and the battery current. It uses those values to do its job of managing the battery, and it reports them through the CAN Bus.

Battery voltage anchor

The BMS measures the voltage of each set of cells in parallel. It determines the voltage of the most charged and of the most discharged sets, and calculates the average cell voltage. It adds all the voltages in a series string to get the pack voltage.

Temperature anchor

The BMS measures the temperature of the cell boards, at each point that is located close to each set of cells in parallel (not the temperature of the cells themselves). It determines the hottest and of the coldest temperatures, and calculates the average temperature. Note that the temperature will be skewed during balancing, as the balance process creates head on the cell board, making it hotter than the cells.

Battery current anchor

The BMS controller calculates the total Battery Current as the sum of the Charger Current and the Load Current.

The BMS controller reads the charger current in one of two ways: through the CAN bus or, that failing, through an analog input line.

The BMS controller reads the Charger Current from the CAN bus, at a message and byte that can be programmed, and with a scale factor and offset that also can be programmed. See the programming page for the default message ID and values for this parameter and the instructions on how to change them.

If there is no CAN message with the Charger Current, the BMS controller reads the Charger Current from the ChgCur input line, with 0 V = no charging current, and 5 V = max charging current. See the programming page for the default scale for this parameter and the instructions on how to change it.

The BMS controller reads the Load Current (in or out of the battery) in one of two ways: through the CAN bus or, that failing, with a current sensor.

The BMS controller reads the Load Current from the CAN bus, at a message and byte that can be programmed, and with a scale factor and offset that also can be programmed. See the programming page for the default message ID and values for this parameter and the instructions on how to change them.

If there is no CAN message with the Load Current, the BMS controller reads the Load Current from a current sensor. the ChgCur input line, with 0 V = no charging current, and 5 V = max charging current. See the programming page for the default scale for this parameter and the instructions on how to change it.

back to topComputed data

The BMS uses the above measurements to calculate certain parameters: DOD (and SOC), Resistance, Capacity and current limits. It uses those values to do its job of managing the battery, and it reports them through the CAN Bus.

Depth Of Discharge anchor

Depth Of Discharge (DOD) is a measure of the electricity that is extracted from a battery. It starts at 0 when the battery is full, and increases as the battery is depleted. Its units are usually AH.

There is no direct way of measuring the Depth Of Discharge of a battery. No indirect method is of measuring it is accurate. In particular:

  • The battery current integration method ("Coulomb Counting") is prone to drift and lacks a reference point.
  • The voltage method is affected by temperature (chemical changes) and battery current (voltage drop in the cells). And, in any case, LiFePO4 cells have a very flat voltage vs. DOD curve.
This BMS controller uses a combination of the above methods:
  • It uses "Coulomb Counting" to calculate Depth Of Discharge in the middle range of DOD, when the voltage is very flat and doesn't give many clues on the DOD.
  • It uses the voltage method, compensated for temperature and current, at the low DOD, to set a reference point (by calibrating the DOD).

The BMS controller calculates DOD [Ah] as:

  • DOD = ∫(Ibatt * dt)
  • If (Vcell-max > Vcell-chgd) DOD = 0
State Of Charge anchor

State Of Charge (SOC) is the reverse of DOD: it starts at 0 when the battery is empty, and increases as the battery is charged. Its units are usually in %. It is a more standard measure of state of the battery's charge than DOD. However, unlike DOD, it suffers as it could exceed 100 % when the battery is fully charged, and could go negative when a high capacity battery is fully discharged.

The BMS controller calculates SOC from the DOD, limited to 0 and 100 %.
It holds the SOC at 90 % and only allows it to reach 100 % when the charger is turned off because the battery is full.
The BMS controller calculates SOC [%] as:

  • SOC = 100 * (1 - DOD / Nominal Capacity)
  • If (SOC < 0) SOC = 0
  • If (SOC > 90) SOC = 90
  • If (charger goes off) SOC = 100
Resistance anchor

The dynamic resistance of the battery is a measure of its internal DC resistance under load (as opposed to AC impedance at 1 kHz). It is the slope of a straight line that goes between two operating points in the battery's I-V curve. It is affected by DOD, temperature and age of the battery.

The BMS calculates the resistance of each set of cells in parallel, by taking multiple snapshots of their voltage at a given current. This works well for applications in which the current varies considerably during use.

  • For "Charge Sustain" applications (such as HEVs (Hybrid cars), the points are taken at a high charge current and a high discharge current.
  • For "Charge Deplete" applications (such as BEVs (Electric cars), the points are taken at a high discharge current and a low discharge current, as there may never be a point with high charge current.
  • For applications that use a constant current (such as a typical UPS) there is no way of measuring cell resistance, as there is only one data point.

The BMS determines the resistance of the most charged and of the most discharged sets of cells, and calculates the average resistance. It adds all the resistances in a series string (divided by the number of batteries in parallel, if that's the case), to get the pack resistance.

Capacity anchor

Battery capacity can only be measured in applications that fully charge and discharge the battery, such as PHEVs. In BEVs it is never desirable to completely run out of juice, so measuring the capacity may not be possible. In HEVs the battery never reaches either end of the DOD, so capacity measurement is not possible.

In those cases that capacity can be measured, it is the DOD at full discharge. Because of the possibility of DOD drift, this is only done during a cycle that starts from fully charged and doesn't include any long period of other than discharge.

In those cases that capacity cannot be measured, the nominal capacity is used instead.

State Of Health anchor

State Of Health (SOH) is normally 100 % and decreases as the battery is considered to be less than perfect. It is not strictly defined, and is implemented differently by different manufacturers.

The BMS controller uses a combination of Cell Resistance (if available) and Actual Capacity (if available) to calculate SOH. Therefore, it is not able to calculate SOH in applications that draw constant current and that do not charge and discharge the battery completely.

Charge Current Limit (CCL) and High Limit (HLIM) anchor

When the battery starts getting fully charged, or its temperature starts getting outside a safe range, it is not be able to take much more current in, if any. The BMS controller calculates a maximum current in (Charge Current Limit or CCL) from the voltage of the most charged set of cells, and from the temperature of the coldest and hottest cells. It reports that CCL in 2 ways: on the CAN Bus (in Amps) and on the CCL analog line, as a voltage between 5 V (no limit) down to 0 V (no charging current acceptable). It also drives the HLIM line: it start driving it active when the CCL goes down to 0, and inactive if the CCL goes back to normal (giving it some hysteresis).

The rest of the system must pay heed to the CCL, to prevent overcharging of the battery, or charging it when outside the allowable temperature range. For example, the HLIM line could be connected to the battery charger, to prevent shut it down. Or, the CCL could be sent to a motor inverter to prevent regenerative current from overcharging the battery (such as when going down a long mountain).

Discharge Current Limit (DCL) and Low Limit (LLIM) anchor

When the battery starts getting fully discharged, or its temperature starts getting outside a safe range, it is not be able to deliver much more current, if any. The BMS controller calculates a maximum current out (Discharge Current Limit or DCL) from the voltage of the least charged set of cells, and from the temperature of the coldest and hottest cells. It reports that DCL in 2 ways: on the CAN Bus (in Amps) and on the DCL analog line, as a voltage between 5 V (no limit) down to 0 V (no discharging current available). It also drives the LLIM line: it start driving it active when the DCL goes down to 0, and inactive if the DCL goes back to normal (giving it some hysteresis).

The rest of the system must pay heed to the DCL, to prevent over-discharging of the battery, or discharging it when outside the allowable temperature range. For example, the DCL could be sent to a motor driver to slow down the motor as the battery becomes more and more empty.

back to topBattery management

The BMS manages the battery by balancing its cells, requesting cooling if too hot, and, as a last measure, entering a fault state, during which no battery current is allowed.

Balancing anchor

A balanced battery will hold the maximum possible amount of energy. A balanced battery is one in which all the cells are at the same DOD at some point. Because all the cells have different capacity, it is not possible for all the cells to be equally charged no matter what the DOD. Therefore, that point can be chosen to be either at fully charged, or fully discharged, or somewhere in between: it doesn't matter which.

  • For "Charge Deplete" applications (such as BEVs, PHEVs or UPS), that point should be at 0 DOD (fully charged) because it is achieved after each charge, while the 0 SOC point may never be reached.
  • For "Charge Sustain" applications (such as HEVs) where that point is doesn't matter, as long as the battery is sufficiently balanced.
This BMS uses the 0 DOD point for balancing, as it is acceptable by all applications.

In order to Balance a battery, some charge must be removed from the most charged cells, or some must be added to the least charged cells, or both. This BMS does the first one: it uses passive balancing to dissipate some of the extra energy in the most charged cells as heat. Having done so, then the charger is able to put a bit more energy in all the cells. This process is repeated until all the cells are at the same DOD. At that point no more energy is dissipated for balancing.

The state of the charger (charging or off) is independent from the balancing process. Yet, the 2 processes work together to achieve a balanced pack.

Blancing plot
Plot of battery voltage and current, showing the balancing process.
Cooling anchor

A fan, blower or cooler my be added to the battery system. The BMS controller provides 2 output signals to such a cooler:

  • An on/off line that is driven active whenever the temperature exceeds a threshold. This line can drive a relay or a low power fan directly.
  • An variable PWM line that is at 0 % duty cycle until the battery reaches that threshold temperature, and goes up to 100% as the temperature reaches the maximum. This line can drive a power circuit to drive a variable speed fan.
Fault anchor

Should all else fail, the BMS controller will go in a fault state. This may be because the rest of the system did not heed the requests from the BMS controller:

  • The battery current is beyond what is specified by the Current Limits.
  • The battery is excessively charged or discharged.
  • The temperature is excessively hot or cold.
  • A vehicle is on while still plugged into the wall .
In that case, the BMS controller will:
  • Activate the FAULT output line. This line should be wired to disable both the source and the load.
  • Turn off the contactors.
e-logo

© 2010 Elithion™, LLC. All rights reserved, except where noted by CC mark. Handcrafted on 7/6/09 by Davide, graphic design by morninglori
The Elithion brand and the 'ə' (upside down 'e') logo are Trademarks of Elithion LLC.
Policies Contact us
 

In this page: