Industry Spotlight: Energy Storage Systems

Learn how Zitara helps Utilities, IPPs, and Operators maximize the profitability of their assets.


Expert Insights

Algorithm Accuracy Is Essential: Getting a Guaranteed State of Charge, Part 1

Are you procuring, operating, or selling battery-powered devices, vehicles, or assets? Getting accurate readings on state of charge (SoC) from your battery management systems (BMS) is critical to your success and profitability. But not only do batteries degrade over time, your BMS algorithms do too, and just when you need more accurate data on a fragile degrading asset. What’s more, your suppliers don’t guarantee the accuracy of the algorithms on your BMS, including SoC, state of health (SoH), energy/power availability, and safety algorithms. In this set of two posts, learn more about SoC algorithms and why you need performance guarantees to operate your deployments reliably and profitably.

Quick Takeaways

  • State of Charge (SoC) algorithms in battery management systems (BMS) are critical for the reliable and profitable operation of battery-powered devices, vehicles, and storage assets.
  • Today’s BMS implementation strategies, across various markets, frequently fail due to inaccurate SoC estimates.
  • Zitara Live is a guaranteed, accurate solution for SoC estimation, plus novel energy availability and thermal lookahead algorithms, that let operators continuously monitor true pack-level capabilities.

State of Charge (SoC) Is Harder to Track Than You Think

The humble % indicator on the top right of your phone screen belies an ocean of complexity. We've all seen how that % indicator gets harder and harder to believe as our phones and laptops age: batteries shutdown from 34% because it's cold or drop precipitously from reading 80% to 50% in just a few minutes of use.

The trouble is, SoC isn't a directly observable quantity. SoC algorithms estimate the remaining capacity as a percentage of the total available charge based on the voltage, temperature, and current sensor readings gathered by the battery management system (BMS).

At Zitara, our customers are deploying or operating everything from electric vehicles (EVs) and stationary energy storage systems (ESS) to tablets, drones, and even satellites. Most of them procure or specify battery packs with built-in BMS hardware and algorithms and haven’t seriously confronted their BMS software performance until engaging with Zitara.

Our more advanced EV and ESS customers have developed their own algorithms or worked with fuel gauge chip vendors to optimize SoC estimator performance for their application. They have already learned that SoC performance is important and deceptively difficult to get right.

We've encountered implementations across verticals using a variety of BMS approaches:

  • Off-the-shelf integrated BMS offerings (e.g. Orion or AMP solutions)
  • Fuel gauges that have been tuned by the chip vendor (e.g., TI or ADI solutions) for a specific cell
  • Custom algorithms developed by in-house battery teams for a particular pack
  • Relying entirely on BMS suppliers for algorithm support

We have found that these solutions routinely fail to meet our customers’ needs. Some use cases lead to SoC estimate errors of over 20% under routine operating conditions.

You Probably Have SoC Algorithm Performance Issues If…

Here are the three of the most common situations where we've seen significant SoC estimate errors across implementations:

1. You’re operating batteries with lithium iron phosphate (LFP) chemistry.

Zitara customers deploying batteries in ESS and EV applications now face economic and supply chain pressure to adopt battery cells with LFP chemistries from vendors like: CATL, BYD/Findreams, and Gotion. They are a more affordable alternative to the nickel- and cobalt-rich NMC/NCA cells that are predominately supplied by LG Energy, Panasonic, and Samsung SDI. While LFP cells have fewer exotic raw material needs, and are therefore expected to remain readily available as global demand grows, they are much harder to control precisely.

SoC estimation problems are well documented with LFP cells. Today's most performant SoC algorithms combine coulomb counting with temperature and voltage-based compensation. Coulomb counting cannot be used effectively alone because the inevitable errors in each measurement accumulate over time until the SoC estimate is unrelated to the state of the battery. What’s more, as cells age, they lose capacity, creating additional error because coulomb counting cannot track the changing health of the cell. Voltage compensation can be effective in correcting for both coulomb counting drift and capacity fade, but the strategy breaks down quickly for LFP. The coulomb counting with voltage compensation approach can still yield SoC estimate errors over 20% in LFP, even on brand-new batteries operating at normal temperatures.

The central problem with voltage compensation in LFP SoC estimation stems from the electrochemical properties of the cell family. LFP has a very flat OCV curve compared to NMC. The OCV curve is the average voltage (y-axis) of the cell at rest at different SoC levels (x-axis). Typical LFP and NMC OCV curves are shown in Figure 1.

A common LFP battery OCV curve is much flatter than typical NMC/NCA cells
Figure 1: A common LFP battery OCV curve is much flatter than typical NMC/NCA cells

Figure 2 focuses on the LFP curve, zooming into the flat middle section. Even magnified, there are sections where large changes in SoC make almost no difference to cell voltage. As an example, we’ve highlighted the 40mV OCV difference between the 38% and 96% SoC, more than half the capacity of the cell. There are smaller, but still significant segments where there is effectively no change in resting voltage with capacity. This particular 40mV rise is primarily due to behavior on the graphite anode side of the battery rather than the LFP cathode side, which may have a different composition and OCV characteristic even compared to other LFP cells made by the same manufacturer!

A segment of the LFP OCV curve showing nearly 60% of the SoC range is represented by only 40mV
Figure 2: A segment of the LFP OCV curve showing nearly 60% of the SoC range is represented by only 40mV

LFP’s flat voltage response gets worse when applying BMS systems developed for NMC/NCA’s steeper OCV response. Standard BMS hardware may have only 5mV resolution for voltage sensing, meaning it only delivers 8 voltage measurement steps covering nearly 60% of the SoC range for this cell. Limited resolution dramatically decreases the power of simple voltage compensation approaches. Still, if this were the only problem, the answer wouldn't necessarily be advanced software solutions like Zitara Live. If it was, then TI's new 1mV BMS analog frontend (AFE) might be precise enough permit voltage compensation strategies. TI’s solution gives 4x the resolution, or 40 steps of voltage measurement across the problem range. But, unfortunately, LFP chemistries have additional inconvenient properties that challenge voltage compensation with even the most accurate sensors.

Resolution is just the tip of the iceberg of problems with LFP SoC estimation. Although voltage compensation algorithms benefit from more precise sensors, they cannot deal with hysteresis. The OCV of LFP cells can change dramatically, depending on the recent loading history.

Figure 3 shows how bad the real situation is. Without including an accurate hysteresis model, voltage compensation algorithms have huge variance. As seen in the example, the same 3.3V measurement, no matter how accurate and precise, could correspond to any SoC value between 26% and 58%--nearly a third of the cell’s capacity. In our experience, the magnitude of the hysteresis effect can vary significantly across manufacturers, but also within a single manufacturer’s models. Worse yet, even the same model may show changes across production lots and will change for each battery as it degrades. Companies deploying lots of batteries need a solution like Zitara Live that can address these sources of uncertainty across the life of the asset.

Due to hysteresis, a 3.3V measurement could indicate any SoC between 26 and 58% of capacity.
Figure 3: Due to hysteresis, a 3.3V measurement could indicate any SoC between 26% and 58% of capacity.

2. You need to know your accurate SoC while current is flowing.

Voltage compensation is even more complicated when cells are charging and discharging, impacting the accuracy of SoC estimators across all chemistries, not just LFP. Some algorithms avoid this problem by applying voltage compensation only at rest. But not all applications allow for adequate rest periods. Many applications, whether EVs, grid storage, or aerospace, must know how much energy remains in the pack, the amount of power it can deliver, and the expected heat generation to operate safely.

When a cell is charging or discharging, its voltage is impacted by an overpotential, or the difference between the OCV the battery would have without load, and the measured voltage while under load. It develops because of the physical and chemical changes required from the battery during charge or discharge. Overpotential reduces cell voltage from the OCV during discharge, and increases it when charging.

Cell and module datasheets try to explain this behavior with simplified terms like alternating current internal resistance (ACIR) and direct current internal resistance (DCIR). However, the truth is much more dynamic. Zitara Studio can be used to create simulations, like the one in Figure 4, that illustrate how different pulses result in very different voltage responses that aren’t accurately captured by ACIR and DCIR numbers in a datasheet. These overpotentials depend on current magnitude, SoC, ambient temperature, self-heating, and recent usage patterns. The figure labels the overpotential voltages, which are easiest to understand by looking at how much "relaxation" happens during the rests and noting how long the effect of the pulse takes to fade.

Zitara Studio simulation results illustrating the overpotential effect of a series of constant current pulses.
Figure 4: Zitara Studio simulation results illustrating the overpotential effect of a series of constant current pulses.

Over just a few pulses, you can see that very different overpotential responses to simple discharges, especially in the length of time required to recover. This effect can cause 20% to 50% uncertainty in SoC estimation. The problem occurs because common integrated BMS solutions and fuel gauge chips use overly simple models of this complex behavior. They cannot adequately compensate for the highly nonlinear nature of overpotential in operation.

Zitara exists because we believe capable, validated software is necessary to properly control today’s battery systems. In Zitara Studio, we transparently compare the performance of our software to real cell, module, and pack testing data. Zitara Live builds on the same algorithms and models to deliver the best possible performance in the field; it can be paired with a warranty for the ongoing accuracy over the life of an asset.

3. You operate your battery when it is old or cold.

All of the challenges to accurate algorithm performance that we’ve discussed are magnified as a battery ages or is exposed to temperature extremes—precisely the situations where good estimates are most important to effective operation. Many of the SoC algorithms Zitara has encountered adapt poorly to aging. Rather than adapting to the changing health of the battery as it ages, they will use a lookup table of worst-case parameters that were locked in during design.

We’ll turn again to Zitara Studio to show the impact of age and temperature on the voltage and thermal response to pulses similar to those we simulated before. This time we’re using a common 18650 NMC battery and evaluating it at 25°C and 0°C, at beginning-of-life (BoL) and after 300 cycles of high temperature, high current aging. Both age and low temperature increase overpotential and heat generation, but the combination has by far the most severe impact.

Zitara Studio simulation results showing how voltage and thermal response changes for a battery that is old, cold, or both.
Figure 5: Zitara Studio simulation results showing how voltage and thermal response changes for a battery that is old, cold, or both.

Temperature significantly affects overpotential, especially at lower temperatures and in large-format cells which can develop large thermal gradients. The last simulation illustrates the magnitude of the problem. After a 15-minute discharge at a 2.2 P-rate (2kW for the 900 W·h BYD Findreams C43F shown), Zitara Studio shows the battery takes over 5 hours to return to thermal equilibrium. Our software is able to estimate not only the surface temperature, which can be measured in the pack, but also the average internal temperature. It shows the pulse creates a 10°C thermal gradient that persists for hours and is important to understand to predict how the battery will respond to the next load.

Zitara Studio simulation showing thermal gradient between the core and surface temperatures of an LFP battery from a constant power discharge.
Figure 6: Zitara Studio simulation showing thermal gradient between the core and surface temperatures of an LFP battery from a constant power discharge.

The algorithms we build at Zitara have been validated to show strong performance across age, temperature, cell construction, and chemistry—even LFP! They can be deployed through Zitara Live using your existing BMS hardware. We can also help you determine whether the capability of your hardware, combined with our software, can deliver the observability and performance you need. If it can’t, we can assess the impact on performance of higher fidelity voltage or current sensors, or better temperature sensor coverage. In the second part of this series, we’ll talk about how inaccurate SoC costs you money and how Zitara can reduce operational failures and make your assets more profitable. Click here to keep reading.

Do you speak battery?

A roundup of terms, concepts, and acronyms to amp up your fluency.

Go to our battery glossary

Keep updated on Zitara insights, news, and events.

Thank you!
Uh oh! Something went wrong.

Get unparalleled insights into your batteries.

Zitara Studio

Make confident design choices with powerful simulation tools.

Discover Zitara Studio

Zitara Live

Embedded software to manage, monitor, and maximize your deployments.

Discover Zitara Live

Cell balance

Cell balance refers to the differences in state of charge of the series cells in a battery pack. The amount of imbalance is the highest cell’s state of charge (SoC) minus the lowest cell’s

Go to the battery glossary ->