+86-755-28171273
Home / Knowledge / Details

Jan 14, 2022

How to perform a TI impedance tracking battery fuel gauge for use with Lithium Iron Phosphate (LiFePO4) batteries in shallow discharge applications

TI's Impedance Tracking Battery Fuel Gauge technology is a powerful adaptive algorithm that remembers how battery characteristics change over time. Combining this algorithm with the specific chemistry of the battery pack provides a very accurate knowledge of the state of charge (SOC) of the battery, extending battery pack life.

However, updating information on the total chemical capacity (Qmax) of the battery requires certain conditions. This becomes more difficult at the extremely stable voltage state of a lithium iron phosphate (LiFePO4) battery (see Figure 1), especially if the battery cannot be fully discharged and left to rest for several hours. Figure 1 shows typical open circuit voltage (OCV) characteristics versus depth of discharge (DOD) for lithium cobalt oxide (LiCoO2) and lithium iron phosphate (LiFePO4) battery chemistries.

TI recommends using the Impedance Tracking 3 (IT3) algorithm for all LiFePO4 batteries. IT3 improvements to earlier impedance tracking algorithms include:

Better low temperature performance through better temperature compensation

More filtering to prevent SOC capacity jumps

Higher accuracy for non-ideal OCV reading of LiFePO4 batteries

Conservative remaining capacity estimates, plus additional load selection configurations

IT3 is included in TI's bq20z4x, bq20z6x and bq27541-V200 fuel gauges (listed not all).

Typical conditions for Qmax update

The impedance tracking algorithm defines Qmax as the total chemical capacity of the battery, which is calculated in milliamp-hours (mAh). A correct Qmax update must meet the following two conditions:

1. Both OCV measurements must be made outside the non-qualified voltage range, based on the battery chemical identity (ID) code determined by TI. OCV measurements can only be made on an idle battery (not charged or discharged for hours).

Reference 3 lists some unqualified voltage ranges, some of which are shown in Table 1. We can see that for chemical ID code 100, no OCV measurement is allowed if any cell voltage is above 3737mV or below 3800mV. In effect, this is the "disabled" range for OCV measurements to obtain the best accuracy. While the SOC percentage is given in this article, the fuel gauge determines the unqualified range based on voltage only.

2. The minimum passing charge must be integrated by the fuel gauge. By default, it is 37% of the total battery capacity. This pass-through charge percentage can be reduced to 10% for shallow discharge Qmax updates. The cost of this reduction is a loss of SOC accuracy, but is tolerable in other systems where he cannot update Qmax.

Now that we understand the requirements for shallow discharge Qmax updates, let's look at an example of data flash parameters that we need to modify in a lower capacity battery pack configuration. The default impedance tracking algorithm is based on a typical laptop battery pack with 2 parallel banks of 3 cells in series, a 3s2p configuration. Each group has a 2200-mAh capacity, so the total capacity is 4400hAh. Lithium iron phosphate batteries have about half that capacity, so if you use them in a 3s1p configuration, the total battery pack capacity is 1100mAh. Using a smaller capacity pack like this requires fine-tuning of specific data flash parameters in TI's fuel gauge evaluation software for optimal performance. The remainder of this article describes this process.

instance calculation

Take a look at a battery pack in a 3s1p configuration using an A123 system TM1100-mAh 18650 LiFePO4/Carbon stick battery. The TI Chemical ID code for this battery type is 404. This battery will be used in a storage system at a normal temperature of around 50°C. The discharge rate is 1C, and a 5-mΩ sense resistor is used for the fuel gauge for coulomb counting.

As shown in Table 1, the unacceptable voltage range for OCV measurements for chemical ID 404 is 3274mV (min, or ~34% SOC) to 3351mV (max, or ~93% SOC). Most LiFePO4 batteries have a very wide rejection voltage range (see Chemical ID 409 for comparison). However, depending on the specific battery characteristics, it may be possible to find a higher minimum reject voltage for the shallow discharge Qmax update. With a chemical ID of 404, it is possible to raise this value to 3322mV, allowing a shallow discharge Qmax update window of 3309 to 3322mV (see Figure 2). Designers can use this mid-range low error window to implement data flash modifications. Since only the high and low fail voltage ranges can be programmed, the main system must ensure that no lower OCV measurements are made below 3309mV. (The OCV measurement error increases dramatically between 3274 and 3309mV as the associated error grows.) Although only a 13-mV window works at lower OCV measurements (3322 – 3309 mV = 13 mV), its corresponding in a 70% to 64% SOC range.

LiFePO4 batteries have a very long relaxation time, so we can increase the data flash parameter "OCV wait time" to 18000 seconds (5 hours). Since the normal operating temperature of the battery has been increased, the parameter "Q Inactive Max Temperature" should be modified to 55°C. Also, "Qmax Maximum Time" should be modified to 21600 seconds (6 hours).

To reduce the Qmax pass charge from 37% to 10%, the "DOD Max Capacity Error", "Max Capacity Error" and "Qmax Filter" need to be modified as they all affect the fail time between OCV1 and OCV2 measurements. The "Qmax filter" is a compensation factor that changes Qmax according to the passing charge.

The purpose of setting these parameters is to obtain a "maximum capacity error" of less than 1% based on the measured pass charge, including the ADC maximum compensation error ("CC deadband"). However, some modifications to these values are required to allow the shallow discharge Qmax to update.

Instance 1 Qmax update timeout period

To obtain a cumulative error of less than 1% for a 10-mΩ sense resistor for a 1000-mAh battery, and a "CC deadband" with a fixed value of 10 μV in hardware, the timeout period for the Qmax update is determined by:

10 μV/10 mΩ = 1-mA compensation current.

1000-mAh capacity × 1% tolerance = 10-mAh capacity error.

10-mAh capacitance error/1-mA compensation current = 10 hours.

Therefore, from start to finish, including breaks, only 10 hours are available to complete a Qmax update. After the 10 hour timeout, the timer restarts as soon as the fuel gauge takes its next correct OCV reading.

Example 2 Data flash parameter modification

In a design using a 1100-mAh battery with a 5-mΩ sense resistor, the timeout period for the Qmax update can be calculated using the same method:

10 μV/5 mΩ = 2-mA compensation current.

1100 mAh × 1% = 11 mAh.

11 mAh/2-mA offset current = 5.5 hours.

In this case, the capacity error percentage needs to be relaxed to increase the Qmax timeout. Modifying the Maximum Capacity Error (from the default of 1%) to 3% gives:

1.1 Ah × 3% = 33 mAh

It will increase the Qmax failure time to:

33 mAh/2-mA capacity error = 16.5 hours.

The DOD Capacity Error needs to be set to 2x the Maximum Capacity Error, so it can be changed to 6% (the default is 2%).

The default value of 96 for the "Qmax Filter" needs to be scaled down based on the percentage of passed charge:

"Qmax filter" = 96/(37%/10%) = 96/3.7 = 26

Table 2 shows typical data flash parameters in the fuel gauge evaluation software that must be modified for shallow discharge Qmax updates. These special parameters are protected (classified as "hidden") but can be unlocked by TI's application staff. The example battery used in this table is the battery described earlier, which is a 3s1p battery using an A123 1100-mAh 18650 LiFePO4/Carbon rod cell (Chemical ID 404).


Send Message