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.

TMP64: Calculated temperature is too high

Part Number: TMP64
Other Parts Discussed in Thread: TMP117, TMP116,

I have several boards each with a TMP6431DECR temperature sensor on them connected as shown.

  

I'm using the voltage bias spreadsheet which I got from the "Thermistor design tool" link in the pdf for the data sheet which for me links here (as of today).  In that spreadsheet there is a page titled "4th order polynomial tmp vs res" with coefficients to a formula for converting RTD resistance to temperature for this part.  I'm using that formula to determine the temperature of the RTD by measuring the voltage on R1 to calculate the resistance and plugging that resistance value into that 4th order polynomial.  Here is that formula:

TºC = A4*(R^4) + A3*(R^3) + A2*(R^2) + A1*R + A0  
  Coefficients
  -2.739269E+02 A0
  1.150616E-02 A1
  -1.621244E-07 A2
  1.389699E-12 A3
  -4.856366E-18 A4

Using that 4th order polynomial, the value of the temperature I calculate is always too high for all the boards I tried.  They are all about the same amount too high as well, so I figure I must be doing something wrong in my calculation, but I can't figure it out.

Here's what I'm doing...

To make sure I know exactly what all the relevant values are, I pulled R2 off of one board and measured it to be 46,820 ohms then put it back in the circuit and measured these values with a DMM:

Voltage across R1 = 1.640V

Voltage across R2 = 1.653V

I also measured temperature on R1 with an external thermocouple to be 26.3C.

Those voltages and R1 value make R2=47,191 ohms.  Plug that value into the polynomial above and calculate the temperature of R1 to be 29.9C which is 3.3C higher than what I measured with the thermocouple.

  • Hi Rob,

    It looks like you are doing things correctly, but you also need to perform a single point offset calibration.  As this is a linear response device, single point calibration at any temperature is sufficient(room temp is fine).  Based on your measurement, you would need to implement an offset of about -3.6C.  I would recommend capturing multiple measurements to get an average and then determine the offset based on an average instead of a single measurement.  In the thermistor design tool, there is a tab for software based Low Pass Filter that you can configure and then generate the C code. In this tab, you can also enter your raw captured data into cells B62 to B241 to observe how different alpha values will affect the plot.  It is highly recommended to perform some type of filtering or oversampling to reduce noise and increase stability.  The filter tab provides this with a minimal amount of C code and zero external components. 

            

  • I guess that explains what I need to do to fix the offset problem, and it seems like the offset will be different from part to part so each board will need individual calibration parameters associated with it.  I figured these parts didn't need individual calibration to get the 0.2% accuracy that is touted in the data sheet.  

    I guess I don't know as much about these parts as I thought I did.  Can you help educate me on why it is that the A0 term of the equation above doesn't cover all the parts of this type?

  • Correct, each device should be offset corrected to achieve good accuracy.  

    These devices are different from a typical NTC thermistor in that they are not a resistor, but made from silicon.  Because of this, we are able to see a very linear response curve, but there are silicon variations between devices which require an offset to compensate.   

    We do have devices that can achieve +/-0.2C accuracy like the TMP116 or the TMP117(+/-0.1C) without any calibration. 

    One other thing to note is the accuracy of the thermocouple that you are using as a reference.  Depending on which type thermocouple, the accuracy may not be all that great.  We use an RTD as reference in our lab testing as higher accuracy can be realized.     

    https://www.thermocoupleinfo.com/thermocouple-accuracies.htm  

  • Thank you very much for you response, and your recommendations.  

  • In looking at the datasheet for the part, it specifies an R25 on page 7 of 47k +- 1% 
    The design spreadsheet for TMP6431DECR  lists resistance at 25C of 45778 at 25C (+-1%)
    This difference seems to correspond directly to the offset we are seeing using the spreadsheet values for calculating temperature.  

    We are actually only trying to hit a +-5C measurement target without calibration, but it seems like the spreadsheet is off by 4 degrees.  Either that or the or the part is not matching datasheet which I find a little harder to swallow.

    If we can avoid calibration by simply building in this offset, that would save a bunch of factory calibration on a disposable product.  I'm going to measure more parts in the lab to make sure math and parts agree.  But your thoughts?

  • David - 

    Here we recommend for best results to use the actual voltage from the part instead of using a calculated resistance - if you can see the 4th order Polynomial TMP vs VDC tab, and enter in your voltage of 1.64VDC, you will see the temperature is then calculated to be 27.3C, which is 1C away from what you measured with the thermocouple and it (the thermocouple) also has a +/- too - so here I think may be the answer you are looking for and gets you to the correct coefficients to use. 

  • Thanks Josh!

    David,

    Keep in mind that resistance is calculated and not measured because these parts are silicon and not resistors.  We never use resistance with these parts and instead convert the vsense directly to temperature. It’s more accurate and faster to convert it this way.  It's a bit of a methodology change when compared with NTCs, but can provide greater accuracy and lower long term drift when implemented properly. 

    Another thing to note on your board is the Rbias resistor.  If you use a lower PPM Rbias, you will see much lower variance in the signal.  Something like 0.5% and 50ppm or better works well.  The PPM rating is much more important than the % tolerance.  You may want to try using a tighter Rbias resistor and the filtering in your system without offset calibration to meet your +/-5C accuracy.  If you perform the offset calibration, you could probably get this down to about +/-1.5C over the temp range.  

  • Thanks Josh!

    David,

    Keep in mind that resistance is calculated and not measured because these parts are silicon and not resistors.  We never use resistance with these parts and instead convert the vsense directly to temperature. It’s more accurate and faster to convert it this way.  It's a bit of a methodology change when compared with NTCs, but can provide greater accuracy and lower long term drift when implemented properly. 

    Another thing to note on your board is the Rbias resistor.  If you use a lower PPM Rbias, you will see much lower variance in the signal.  Something like 0.5% and 50ppm or better works well.  The PPM rating is much more important than the % tolerance.  You may want to try using a tighter Rbias resistor and the filtering in your system without offset calibration to meet your +/-5C accuracy.  If you perform the offset calibration, you could probably get this down to about +/-1.5C over the temp range.  

    Also, here is an example of just what the low pass filter can do.  The measurements below were taken with no offset applied.  The reference temperature was 85.1C.    

  • I am in agreement on all of the above.   

    One thing I can't quite resolve.  If I put 42.553 uA into the "current bias" design spreadsheet to match datasheet conditions the resistance table at 25C is 47K  and the resistance poly and voltage poly tabs also seem to agree with 47K and a 2V temperature of 25.1C.  Moving the bias to 35uA (close to 3.3V 47K sees a decrease in the resistance as expected. 

    This seems like it should to correspond to a Vbias of 4V for a voltage mode bias with 47K top resistor.  In the voltage design sheet if I put in 4V for Vbias, the 25C resistance in the table is 45801 and  2V voltage yields 29.2C?


    Shouldn't these be equivalent between the 2 spreadsheets?

  • PS other devices in the Voltage mode template with 4 volt bias match their datasheets at 25C so I'm inclined to think there is a snafu somewhere there.
    i.e TMP6331 at 4V yield a 25C resistance of 100K,  TMP 6131 at 25C table yield 10K...

  • David,

    I think you are correct that there is an error for the TMP64 devices.  I am checking with the author of the spreadsheet and will let you know what I find out.

  • Thanks!  In the meantime I took the 10K 5 degree table, scaled to 47K  (multiplied all values by 4.7) and generated a new polynomial.  That seems to be putting the offset error within error limits of my lab probe on real data   I verified the method also by multiplying 10K by 10 to generate a 100K table for comparison and calculated error was 1 to 2 tenths of a percent when compared to 100K data  so seems pretty valid method until a new spreadsheet comes along.  

  • David,

    Yes, it does look like there was an update to the spreadsheet that miscalculates the temperature and tables, but only for the TMP64 devices as you pointed out.  I have attached an updated spreadsheet for voltage bias mode.  Please confirm that these are working for you and we will also get this updated on the web.  Thanks for pointing this out!

    Thermistor Design Tool VBias V1_701.xlsm

  • This looks like it is right on the money for me.  4V bias yields 47K.  2V into polynomial yields 25C.  My corrected lab data is within error margins of my equipment at this point.  

  • Part Number: TMP64

    See updated spread sheet at end of:   TMP64: Calculated temperature is too high - Sensors forum - Sensors - TI E2E support forums

    Note to test validity of spreadsheet,  Use 4V vbias to match datasheet excitation current and 25C value and should match the nominal 47k  (or 10K or 100K for other parts in sheet)