Electronic – arduino – Temperature sensor (TMP36) inaccurate readings

arduinosensortemperature

I've got a TMP36 temperature sensor of which I'm trying to read the value of using an Arduino Uno. I know that the sensor has an accuracy of -/+ 2 degrees celsius but my readings are peak far past this range.

I soldered three wires onto the three legs of the sensor. I hadn't exposed the legs (and thus) the sensor to the heat of soldering for that long a time, but could this have damaged the sensor?

Also the three wires I've soldered on are about 50cm in length and are twisted together, could this cause interference of the voltages?

Best Answer

  1. Output voltage pec is 750mV @ 25'C nom and your reading is what from cold start to after a few minutes? Does it change?

  2. Spec is 1000 pF load max you are using twisted cable which is typically 5 pF/cm depending on tpi, diam. etc., so 50cm x 5 = 250 pF, so cable seems ok to prevent instability and oscillation. If you don't have a microamp analog meter get one or use series drop R to estimate.

  3. Self heating from 5V should be less < 0.05'C unless it is damaged so measure current against spec to ensure self-heating is not the issue.

  4. open air thermal time constant is < 1 minute.. immersed in ice water is 3 seconds . what are the calibration results you get?

  5. Do you have 0.1 µF cap across IC?
  6. Did you add an op amp to compensate for offset only inherent to TP36 and not TMP35 or TMP37? VOUT @ 1mV/°F – 58°F It is designed for 'F