TMP36 sensor working fine or damaged?

Though my own stupidity, I misread the datasheet pins (didn't read that it was a bottom view, so I reversed the 5v and ground pins) and got that lovely smell.

Fortunately, I apparently didn't completely fry the sensor, I get readings anywhere from 16.89-17.87C. From an LCD thermometer nearby I get 19.2C On the datasheet it states a typical accuracy of +/- 1C @25C and ±2°C over the ?40°C to +125°C temperature range, so my readings are at times outside of the typical accuracy range but that of course is based on the assumption that the LCD thermometer is 100% accurate which of course it's not. So did I damage it or am I getting normal readings?

u could use some more of them and c if the "fried" part is far away...

some devices have internal protection diodes and the arduino has a fuse that shuts down at about 1A and the USB bus possibly shuts down already at 500mA...
so it might b, that ur part just got hot and didnt suffer any damage...

did u try what it says about the temperature in 10cm distance of a light bulb?
or close to a cup of coffee (but dont contaminate the cup with the part's "sweat"...)? :slight_smile:

i just read in the datasheet that up to +/- 3°C r within specification...
+/- 1°C is typical though...

have fun...

For #1 I would have done that, but I only ordered one (in retrospect I should have ordered 2).

For #4 I do stand corrected on that, I should have read beyond the general description.

I read the third post on this thread and set the analogReference to internal, and I'm now getting much more accurate readings.

The datasheet shows the input voltage 3v-5v
Output voltage .05 - 2v output.
Using the 3v reference you see a better resolution in temperature vs. 5v reference.

Also try filtering out the power to the TMP36 at the sensor w/ .1uf cap -

I'm still learning about reference voltages and such, so to have a reference voltage of 3v or better yet 3.3v as there is a 3.3v output on the arduino would I connect the AREF to the 3.3v, connect the voltage input pin of the sensor to 3.3v, and set analogReference(EXTERNAL)?

I'll probably still be using the 1.1v reference voltage as it provides more accuracy than a 3.3v reference voltage if I understand correctly, at the expense of only being able to read temperatures of up to 60c which isn't an issue for me.

Would that cap that you mentioned help reduce jitter in readings? Where should that cap be placed in the circuit (should it be in a series or in parallel from the voltage output to the input pin of the sensor)?

i would not use that AREF pin, because it can damage the arduino:

analogReference(INTERNAL) is safe and quite (but not very) temperature stable... :slight_smile:

the cap close to the TMP36's power pins could help to reduce jitter, if the power supply cables r very long (>20cm), i guess...
if they r short, arduino's capacitors will b sufficient...

As Riddick pointed out there is a chance of shorting out the Arduino if the AREF is not connected properly.

If you wanted full resolution (not accuracy) you would need a voltage reference higher than 2v.
But since you do not care about that, no need to connect anything to AREF. Just use the internal reference. It's safer.

If you need to use the full capability of the TMP36 you would connect the 3v pin to the AREF pin w/ a 5k resistor.
That would kind of act like a voltage divider and the actual reference voltage would be around 2.8v
Also add a .1uf cap between the AREF pin and ground, closest to the AREF pin as possible.

** MAKE SURE TO CALL analogReference(EXTERNAL) before calling analogRead() or else you will short out the Arduino. **

A good spot for the .1uf caps are at the analog pin, between the analog pin and ground.
Also as close to the TMP36's power connection as possible and ground.

Were it me doing the work... I'd use a TIL431CP (Data Sheet Attached) Adjustable reference (Zener) diode and adjust the ref for a 2.048V cathode voltage and use that as My Aref voltage, 2048/1024 = 2 mV/step. There are circuits and the math necessary to use the part in the data sheet.
If I didn't have a real accurate DMM the difference could be as much as 2.5% and that is why I would prefer to have a +/- 100 mV 'Calibration' range in the control for the TIL431CD. It is a common part and available as (I think) Samples from Ti.
I use this part with a 10K 10T '3296' type trim pot and a 22R current limiter for a clamp on the 3V3 rail on my Uno and Mega boards when I connect 3V3 devices to my 5V Arduino's.


TL1431CD.pdf (380 KB)