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