Power Electronics Control Design with Simulink

Battery State of Charge

Estimate battery state of charge with Simulink

State of charge (SOC) is a relative measure of the amount of energy stored in a battery, defined as the ratio between the amount of charge extractable from the cell at a specific point in time and the total capacity. Accurate state-of-charge estimation is important because battery management systems (BMSs) use the SOC estimate to inform the user of the expected usage until the next recharge, keep the battery within the safe operating window, implement control strategies, and ultimately improve battery life.

Traditional approaches to state-of-charge estimation, such as open-circuit voltage (OCV) measurement and current integration (coulomb counting), can be reasonably accurate for cell chemistries with a significant OCV variation throughout the SOC range, as long as the current measurement is accurate. However, estimating the state of charge for battery chemistries that exhibit a flat OCV-SOC discharge signature, such as lithium iron phosphate (LFP), is challenging. Kalman filtering is a promising alternative approach that circumvents these challenges with a slightly higher computational effort. Such observers typically include a nonlinear battery model, which uses the current and voltage measured from the cell as inputs, as well as a recursive algorithm that calculates the internal states of the system, including state of charge.

With Simulink® you can:

  • Use built-in estimation techniques such as Kalman filters and extended Kalman filters
  • Use reference examples to design your own state-of-charge observers
  • Create accurate battery models to verify the performance of your state-of-charge algorithm in simulation
  • Use estimated state of charge to develop BMS algorithms (e.g., to control the charging profile and monitor imbalance)

Estimating battery state of charge using an unscented Kalman filter in Simulink.

Developing Battery Management Systems with Simulink

Get a Free Trial

30 days of exploration at your fingertips.