This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

BQ76952: Calibration Questions

Part Number: BQ76952

Tool/software:

Hello,

I've developed a calibration script based on on provided in https://www.ti.com/lit/an/sluaa32a/sluaa32a.pdf

I'm testing it on BQ76952EVM using cell simulator, I have Power supply which can deliver only up to 30V  so the calibration voltages V1 and V2 
are not really in the correct range but are 20.0/16  and 30.0/16 but still the math should work for them too.

It seems to work however the calibration params generated by the script are very different from those stored in the chip on the board.
Berore doing the calibartion i read the parameters from the chip:

Calibration Results Comparison:
----------------------------------------------------------------------
Parameter   Old   New 
----------------------------------------------------------------------
Cell 1 Gain 12120 601
Cell 2 Gain 12120 601
Cell 3 Gain 12120 600
Cell 4 Gain 12120 600
Cell 5 Gain 12121 601
Cell 6 Gain 12121 600
Cell 7 Gain 12121 601
Cell 8 Gain 12121 601
Cell 9 Gain 12124 600
Cell 10 Gain 12124 601
Cell 11 Gain 12124 601
Cell 12 Gain 12124 601
Cell 13 Gain 12130 601
Cell 14 Gain 12130 602
Cell 15 Gain 12130 601
Cell 16 Gain 12130 601
Cell Offset 0 0
VDiv Offset 0 61
TOS Gain 33931 1056
Pack Gain 34275 1082
LD Gain 34340 1080
Board Offset 0 0
CC Gain 7.476800 7.476800
Capacity Gain 2230042.500000 2230042.463967
Internal Temp Offset 0 0
----------------------------------------------------------------------



 

  • Hello Vadim,

    The device includes its own factory gain trim for the cell voltage ADC measurements. More information is given in Section 4.9 Factory Trim of Voltage ADC of the technical reference manual.

    Best Regards,
    Alexis

  • Hi Alexis,

    The example calibration script contains following code:

    TOS_Gain = int(round(2**16 * (4200 - 2500) / (TOS_Voltage_Counts_B/10 - TOS_Voltage_Counts_A/10)))
    PACK_Gain = int(round(2**16 * (4200 - 2500) / (PACK_Voltage_Counts_B/10 - PACK_Voltage_Counts_A/
    10)))
    LD_Gain = int(round(2**16 * (4200 - 2500) / (LD_Voltage_Counts_B/10 - LD_Voltage_Counts_A/10)))

    It  uses 4.2V and 2.5V  as reference voltages,
    But in reality when using fixture  these voltages will be much larger and should they be specified in centivolts?

  • Hello Vadim,

    The example calibration script are examples of code for what you can do following the steps listed in Section 2.4.1 TOS/PACK/LD Voltage Calibration Steps in the calibration guide so they do not need to be 4.2V or 2.5V.

    The units for TOS, PACK, and LD voltages are reported in cV (10mV LSB) by default so the TOS is actually 42V as each cell is 4.2V for the 10S example they used.




    Best Regards,
    Alexis

  • Hi Alexis,

    Oh I see, how it works for TOS Gains
    But what about  PACK and LD Gains?


    Pack and LD Voltages are usually different from TOS Voltage,  but the example assumes thats

    TOS_V2 - TOS_V1 == PACK_V2 - PACK_V1 == LD_V2 - LD_V1.

    Is this assumption always valid?
     

  • Hello Vadim,

    TOS_V2 - TOS_V1 == PACK_V2 - PACK_V1 == LD_V2 - LD_V1


    I would not assume that. The example just shows the same 'known' voltages being used to calibrate the gains. The known voltages chosen in this case were the same for all 3 gains, however, they can be changed to the user’s desired voltage when calibrating and do not have to be the same.

    The steps for calibrating in Section 2.4.1 TOS/PACK/LD Voltage Calibration Steps, say to apply a known voltage VPACKA and VPACKB to calculate the gain for PACK. These steps can similarly be applied to calibrate TOS and LD. 

    Best Regards,
    Alexis