AN201 - MP279x ADC Calibration Guide

Get valuable resources straight to your inbox - sent out once per month

Subscribe

We value your privacy


Abstract

The MP279x battery monitor family (which includes the MP2787, MP2790, MP2791, MP2796, and MP2797) supports analog-to-digital converter (ADC) sampling of the cell voltage and battery pack current.

The cell voltage and battery pack current are calibrated at the factory, and the accuracy of this calibration is available in each part’s respective datasheet. A higher accuracy can be achieved with system-level calibration. This application guide provides parameters and procedures needed for additional ADC calibration.

Introduction

The MP279x battery monitor family (which includes the MP2787, MP2790, MP2791, MP2796, and MP2797) supports ADC sampling of the cell voltage and battery pack current. Cell voltage calibration compares the actual cell voltage against the measured voltage to determine correction factors that can be used by the system microcontroller (MCU) to improve measurement accuracy. Cell voltage measurements can be calibrated with a calibration process based on cell voltage’s gain.

The pack current ADC measures the voltage across the current-sense resistor (shunt) between the SRP and SRN pins to determine the pack current. Pack current calibration requires determining the offsetand then the ADC’s current gain.

Calibration

Cell Voltage Calibration Process

Cell voltage calibration relies on the cell voltage measurement gain. Calibrate the cell voltage by following the steps below.

  1. Apply a known cell voltage (VCELL, which can be about 4000mV), between the device’s C0 and C1 pins.
  2. Write 1 to register 0x99, bit[0] through the MCU to start a high-resolution scan.
  3. Read register 0x99, bit[1]. If 0x99, bit[1] = 0x1, then ADC scanning is complete.
  4. Read register 0x6C, bits[14:0], and the result is Reading (in decimal format, which is converted from hex format).
  5. The cell voltage gain can be calculated with Equation (1):
  6. $$ \text{Gain} = \frac{V_{\text{CELL}}}{\text{Reading}} $$

    The cell voltage calculated by the ADC (VCELL_ADC) can be estimated with Equation (2):

    $$ V_{\text{CELL_ADC}} = \text{Gain} \times \text{Reading} $$

The above cell voltage calibration process is only applicable at room temperature (TA, where 0°C ≤ TA ≤ 25°C). For other temperature ranges, perform temperature compensation calibration on VCELL_ADC using Equation (2) to further improve accuracy. This makes it possible to obtain the final calibration value at a particular temperature (VCELL_TEMPC). The calibration process at other temperatures is described below.

  1. If TA < 0°C, calculate VCELL_TEMPC with the temperature compensation in Equation (3):
  2. $$ V_{\text{CELL_TEMPC}} = V_{\text{CELL_ADC}} \times \left( 1 + \frac{T}{40000} \right) $$
  3. If 0°C ≤ TA ≤ 25°C, VCELL_TEMPC can be estimated with Equation (4):
  4. $$ V_{\text{CELL_TEMPC}} = V_{\text{CELL_ADC}} $$
  5. If TA > 25°C, VCELL_TEMPC can be calculated with Equation (5):
  6. $$ V_{\text{CELL_TEMPC}} = V_{\text{CELL_ADC}} \times \left( 1 + \frac{T - 25}{66666} \right) $$

Notes:

  1. The LSB is replaced by the calibrated gain, and the calibrated result can directly get by the reading multiply the gain.
  2. We can take multiple Reading values and calculate the average to improve calibration accuracy.

Cell Voltage Calibration Example

Apply 4000mV (VCELL) between C0 and C1 with a measurement result of 26233. Then the gain can be estimated with Equation (6):

$$ \text{Gain} = \frac{V_{\text{CELL}}}{\text{Reading}} = \frac{4000}{26233} = 0.152482 $$

VCELL_ADC can be calculated with Equation (7):

$$ V_{\text{CELL_ADC}} = 0.152482 \times \text{Reading} $$

If the temperature is outside the room temperature range (TA < 0°C or TA > 25°C), Equation (3) and Equation (5) can be updated. For example, VCELL_TEMPC at -20°C and +40°C can be estimated with Equation (8) and Equation (9), respectively:

$$ V_{\text{CELL_TEMPC}} = \left( 0.152482 \times \text{Reading} \right) \times \left( 1 - \frac{20}{40000} \right) \quad (T = -20^\circ\text{C}) $$
$$ V_{\text{CELL_TEMPC}} = \left( 0.152482 \times \text{Reading} \right) \times \left( 1 + \frac{40 - 25}{66666} \right) \quad (T = 40^\circ\text{C}) $$

The MCU uses this calibration parameter (gain) to adjust each cell reading.

Figure 1 shows the cell measurement errors across different cell input voltages at room temperature, both before and after calibration.

Figure 1: Comparison of the Absolute Cell Voltage Error within the Measurement Range

Figure 2 shows the cell measurement errors across different temperatures when VCELL = 4V for each cell, before and after calibration. Temperature compensation was applied to data outside the room temperature range during the calibration process.

Figure 2: Comparison of Absolute Cell Voltage Error (VCELL = 4.5V) at Different Temperatures

Pack Current Calibration Process

To calibrate the current, follow the steps below.

  1. Ensure that there is no current flowing through the current-sense resistor connected between the SRP and SRN pins.
  2. Write 1 to register 0x99, bit[0] through the MCU to start a high-resolution scan.
  3. If 0x99, bit[1] = 0x1, the ADC scan is complete.
  4. Read register 0x6B, bits[15:0], the result is Reading1 (in decimal format, which is converted from hex format).
  5. Apply a known current (IC, about 1A) and ensure that the current goes through the current-sense resistor (RSENSE).
  6. Write 0 to register 0x99, bit[0] and repeat steps 2 and 3 to obtain the reading (in decimal format, as converted by hex format).
  7. Calculate the offset with Equation (10):
  8. $$ \text{Offset} = \text{Reading1} $$
  9. The current gain can be estimated with Equation (11):
  10. $$ \text{Current Gain} = \frac{I_c}{\text{Reading} - \text{Offset}} $$

    The calibration formula for the current (IADC) and voltage (VADC) can be calculated with Equation (12) and Equation (13), respectively:

    $$ I_{\text{ADC}} = \text{Current Gain} \times (\text{Reading} - \text{Offset}) $$
    $$ V_{\text{ADC}} = \text{Current Gain} \times R_{\text{SENSE}} \times (\text{Reading} - \text{Offset}) $$

Note:

3. To improve calibration accuracy, users can take multiple Reading1 and Reading values and calculate the average.

Pack Current Calibration Example

For this example, RSENSE is 200mΩ. When no current flows between SRP and SRN, the pack current ADC measurement directly provides the offset value. The offset can be calculated with Equation (14):

$$ \text{Offset} = \text{Reading1} = -9\ (\text{DEC}) $$

Apply 500mA of current (flowing between SRP and SRN) to RSENSE. The next reading can be estimated with Equation (15):

$$ \text{Reading} = -31669, \quad V_{\text{SRN} - \text{SRP}} = -96.18\,\text{mV} $$

The current gain can be calculated with Equation (16):

$$ \text{Current Gain} = \frac{V_{\text{SRN} - \text{SRP}}}{\text{Reading} - \text{Offset}} = \frac{-96.18}{-31660} = 0.003038 $$

VADC can be estimated with Equation (17):

$$ V_{\text{ADC}} = 0.003038 \times (\text{Reading} - \text{Offset}) $$

Figure 3 shows the current measurement absolute errors across different VSRP_SRN values at room temperature, both before and after calibration:

Figure 3: Comparison of Absolute Pack Current Error within the Measurement Range

Figure 4 shows the current measurement relative errors across different VSRP_SRN at room temperature, both before and after calibration.

Figure 4: Comparison of Relative Pack Current Error within the Measurement Range

Figure 5 shows the current measurement absolute errors across different VSRP_SRN values at different temperatures, both before and after calibration.

Figure 5: Comparison of Absolute Pack Current Error across the Full Temperature Range

Figure 6 shows the current measurement relative errors across different temperatures at VSRP_SRN = ±90mV, ±60mV, ±30mV, both before and after calibration.

Figure 6: Comparison of Relative Error for Fixed Current Points across the Full Temperature Range

Summary

Table 1 shows the cell voltage measurement error comparison.

Table 1: Cell Voltage ADC Error Comparison

T (°C) Room Temperature -40°C to +85°C -20°C to +65°C
Datasheet Specification (Cell Voltage Error, Uncalibrated) ±5mV ±12.5mV ±7.5mV
Example Unit (Cell Voltage Error, Uncalibrated) ±4mV ±10mV ±6mV
Example Unit (Cell Voltage Error, Calibrated) ±1mV ±5mV ±3mV


Figure 7 shows the cell measurement errors across different temperatures when VCELL = 4.5V for 65 chips, both before and after calibration.

Figure 7: Comparison of Absolute Error on Cell 8 (Cell 8 = 4.5V) for 65 Chips across Full Temperature Range

Table 2 shows the pack current measurement error comparison data.

Table 2: Current ADC Error Comparison

T (°C) Room -40°C to +85°C
Datasheet Specification (Pack Current Error, Uncalibrated) ±0.5% x Reading ±35μV ±1% x Reading ±35μV
Example Unit (Pack Current Error, Uncalibrated) ±0.2% x Reading ±35μV ±0.7% x Reading ±35μV
Example Unit (Pack Current Error, Calibrated) ±0.1% x Reading ±6μV ±0.2% x Reading ±6μV


Figure 8 shows the pack current measurement errors across different temperatures on 65 chips, before and after calibration.

Figure 8: Comparison of Relative Pack Current Error (VSRP-SRN = -70mV) for 65 Chips across Full Temperature Range

Cell voltage and battery pack current measurements can be significantly improved after being calibrated by the methods used in this guide.

Conclusion

This application note introduced the calibration methods and steps to calibrate the cell voltage and battery pack current measurements for the MP279x family of battery monitors. The cell voltage can be calibrated to reduce the error to within ±1mV at room temperature (TA). Across the full temperature range, the error is ±12.5mV before calibration, and the error is within ±5 mV after calibration. The pack current measurement error can be reduced to (±0.1% x (Reading ± 6μV)) after calibration at room temperature, and (±0.2% x (Reading ± 6μV)) across the full temperature range.

_______________________

Did you find this interesting? Get valuable resources straight to your inbox - sent out once per month!

获取技术支持