The LM36 is a precision temperature sensor that provides an analog output voltage directly proportional to the temperature in degrees Celsius. It is designed to operate over a wide temperature range, making it suitable for a variety of applications. The LM36 is easy to use, requiring no external calibration or trimming, and it delivers a linear output with a slope of 10 mV/°C. Its low power consumption and high accuracy make it ideal for temperature monitoring and control systems.
The LM36 is a versatile and reliable temperature sensor with the following key specifications:
Parameter | Value |
---|---|
Supply Voltage (Vcc) | 4 V to 30 V |
Output Voltage Range | 0.1 V to 2.9 V (for -40°C to 125°C) |
Output Sensitivity | 10 mV/°C |
Accuracy | ±0.5°C (at 25°C) |
Operating Temperature | -40°C to +125°C |
Quiescent Current | 130 µA (typical) |
Package Types | TO-92, SOIC-8 |
The LM36 is typically available in a 3-pin TO-92 or SOIC-8 package. Below is the pin configuration for the TO-92 package:
Pin Number | Pin Name | Description |
---|---|---|
1 | VOUT | Analog output voltage proportional to temperature |
2 | GND | Ground (0 V reference) |
3 | VCC | Positive supply voltage (4 V to 30 V) |
Below is an example of how to connect the LM36 to an Arduino UNO and read the temperature:
// LM36 Temperature Sensor Example
// Reads the temperature from the LM36 and displays it on the Serial Monitor.
const int sensorPin = A0; // Analog pin connected to LM36 VOUT
const float voltageRef = 5.0; // Reference voltage of Arduino (5V)
const float tempSlope = 10.0; // LM36 output slope (10 mV/°C)
const float offsetVoltage = 0.0; // LM36 offset voltage (0V at 0°C)
void setup() {
Serial.begin(9600); // Initialize serial communication
}
void loop() {
int sensorValue = analogRead(sensorPin); // Read analog value from LM36
float voltage = (sensorValue / 1023.0) * voltageRef; // Convert to voltage
float temperature = (voltage - offsetVoltage) * 100.0 / tempSlope;
// Convert voltage to temperature in °C
Serial.print("Temperature: ");
Serial.print(temperature);
Serial.println(" °C");
delay(1000); // Wait 1 second before next reading
}
voltageRef
variable accordingly.Incorrect Temperature Readings
Output Voltage is Constant
Temperature Fluctuations
Q: Can the LM36 measure negative temperatures?
A: Yes, the LM36 can measure temperatures as low as -40°C. The output voltage will still follow the 10 mV/°C slope, but it will be below 0.4 V for negative temperatures.
Q: Is the LM36 compatible with 3.3V systems?
A: The LM36 requires a minimum supply voltage of 4 V, so it is not directly compatible with 3.3V systems. However, you can use a voltage regulator or level shifter to interface it with 3.3V systems.
Q: How accurate is the LM36?
A: The LM36 has an accuracy of ±0.5°C at 25°C. Accuracy may vary slightly over the full temperature range.
Q: Can I use the LM36 in battery-powered applications?
A: Yes, the LM36 has a low quiescent current of 130 µA, making it suitable for battery-powered applications.