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.

BQ76972: BQ7697202 Thermistor Temperature Coefficient Error

Part Number: BQ76972

Tool/software:

Hello,

I'm having an issue reading accurate (or even close temperatures) out of the TI BQ76972 connected to a thermistor. I've followed TI's various documents to the best of my ability and I'm still having issues. Background:

I'm using a BQ76972 to measure a Panasonic ERTJ1VR153J Thermistor (nominal value 15kohm at 25C). I have multiple of these wired into inputs (for example, TS1). I've configured TS1 for thermistor input, with the 18k temperature model and an 18k pull-up value. 

I used TI's calculator to get polynomial values (input and output shown below). 

TI Calculator Input: I used the following lookup table of resistance values vs temperatures to feed into the TI calculator:

'config.txt':

ProcessingType=7
Rpullup=18k

'thermistor.txt':

# Resistances (Ohms)
646500
456750
326400
235950
172200
127290
94500
70950
53730
41010
31530
24435
19080
15000
11881.5
9474
7600.5
6135
4978.5
4063.5
3333
2748
2277
1896
1585.5

# Temperatures (degreesC)
-40
-35
-30
-25
-20
-15
-10
-5
0
5
10
15
20
25
30
35
40
45
50
55
60
65
70
75
80

TI Calculator Output:

********************************
Search complete, bestmaxerr = 1.1999999999999886
bestA [A1 A2 A3 A4 A5] = [-13966 18266 -5907 15580 2686]
bestB [B1 B2 B3 B4] = [-5859 9033 -5641 4627]
Adc0 = 11703
******************************

I then write these values in 2's complement form to the 18k coefficient registers (using a 2-byte I2C write that gets an 'ACK' while in Config_Mode of the chip) using the following structure:

I then wait ~10mS, and read these same coefficients back successfully.

Afterward, I finish initialization and read the thermistor values on a 1 Hz interval - the resulting value gets converted with the following code: 

I get a 'temperature' of roughly 533 degrees C. The two byte hex value returned from the read function is 0x1F83.

Am I doing something wrong here? I believe I've followed TI's documentation sufficient to the point of using the 18k temperature model / thermistor. Is there a simpler way to get less accurate temperatures? Due to the proprietary nature of TI's coefficient compiler, I'm not seeing a way to start simpler and iterate.

Thanks,

Justin R

  • Hello Justin,

    Thank you for your patience. Do you mind sharing what your TS1 is configured to, just to make sure that is configured correctly?

    Do you also mind sharing where you got your resistance values? From checking the Panasonic ERTJ1VR153J Thermistor datasheet (ERTj1VR153J),  for the model you have chosen, the values aren't quite matching up from what I can see which may explain the error you are seeing. 

    Best Regards,
    Alexis

  • Alexis,

    Regarding the Panasonic look-up table, the area you've highlighted in yellow is the scale factor as applied to the 25C rating - you'll notice that at 25C the value is '1', meaning 1 x 15kOhm. The table I provided is (scale factor * nominal resistance) in ohms.

    Regarding the TS1 settings - 

    OPT5:4 is 0 (18k pullup)

    OPT3:2 was 3 (raw counts).

    And there it is, OPT 3:2 needed to be 0, 18k temperature model. Temperatures now appear to be reading correctly.