TMP36 Low Voltage Temperature Sensor (original) (raw)

TMP36 is a temperature sensor chip which generates an analog voltage at the output which is linearly proportional to the Celsius temperature. Then convert this voltage into temperature based on a 10 mV/°C scale factor. It has a shutdown capability which limits the output current to less than 0.5 µA. It provides a supply current of up to 50 µA.

Brief Description

This sensor provides a highly precise temperature in centigrade. Most importantly, it produces output in dc voltage that we can measure easily with the help of any bare metal microcontrollers such as Arduino Uno, STM32F4, PIC16F877A. On top of that, Celsius’s temperature and an output voltage change linearly which makes it easy to compensate temperature/Voltage variations. Having a linear relationship is helpful. Because we will not require any external calibration circuit. Furthermore, it offers a very low output impedance. In short, it is very easy to interface this sensor with ADCs or microcontrollers having built-in ADCs.

TMP36 Pin Configuration

The pinout of TMP36 shows that it is a three-terminal temperature sensor.

TMP36 pinout

Pin Description

Features

Where to use it?

TMP36 IC is used mainly in thermostats and temperature measuring applications. It has low output impedance and produces a linear output. It does not require external calibration and therefore you don’t need external components. These devices can handle temperature ranges of -40°C to 150°C. All these features make this chip suitable for use in a variety of temperature measuring applications. These devices provide stable operation along with capacitive loads and drive 10,000 pF load without creating any oscillations.

How to use TMP36 Temperature Sensor?

Their precise calibration allows them to be easily interfaced with ADC and Arduino.

Interfacing with Arduino

TMP36 interfacing with Arduino

Connection diagram with Arduino Uno

Arduino Interfacing Code

int Input;   double temperature; int sensorpin = A0; void setup() { Serial.begin(9600); } void loop() { Input= analogRead(A0); }

After this, we will have to do calculations to convert the voltage value into a Celsius temperature. For this purpose, we will initialize a temperature variable. Paste the code below in the void loop for voltage to a temperature conversion.
temperature = Input / 1024;

temperature = temperature * 5; temperature = temperature - 0.5; temperature = temperature * 100;

FAHRENHEIT THERMOMETERS TMP36

As we have seen earlier in the Arduino interfacing example, that by default we can measure centigrade temperature with this sensor. But we can convert this temperature into FAHRENHEIT by using a few more external electronics components. But if you are using a microcontroller ADC, you can achieve this with a microcontroller instead of using external electronics components.

This circuit can measure temperature in the range of 41°F to 257°F FAHRENHEIT. Just like the Celcius transfer scale, for Fahrenheit, it will be f 1 mV/°F.

TMP36 Fahrenheit Thermometer Example

Alternative Temperature Sensors

Applications

The applications of a TMP36 temperature sensor includes:

2D Diagram

The available packages of this IC include 3-pin TO-92, 8-pin SOIC_N,, and 5-pin SOT-23. The figure below shows the 2D diagram of the 3-pin TO-92 package. For other packages, check the datasheet.

2D diagram

Datasheet

TMP36 Datasheet