Está en la página 1de 15

LM35 - SENSOR DE TEMPERATURA DE PRECISIÓN

1. DESCRIPCIÓN GENERAL
La serie LM35 son sensores de temperatura de alta precisión, cuya tensión de salida es linealmente proporcional a la temperatura Celsius (centígrados). El LM35 tiene pues una ventaja sobre los sensores lineales de temperatura calibrados en grados Kelvin, mientras que el usuario no está obligado a restar una gran tensión constante desde su salida para obtener una conveniente escala en Centígrados. El LM35 no requiere ninguna calibración o recorte para proporcionar una precisión típica de ±1/4 °C a temperatura ambiente y de ±3/4 °C durante un rango de temperatura de -55 a +150 °C. El LM35 tiene una baja impedancia de salida, salida lineal y precisa calibración inherente que permite hacer interfaz con circuitos de control o de lectura, especialmente fáciles. Ello puede utilizarse con una sola fuente de alimentación, o con más y menos alimentaciones. Así consume sólo 60 μA de su alimentación, tiene un muy bajo auto calentamiento, a menos de 0,1 °C en el aire inmóvil. El LM35 está diseñado para funcionar en un rango de temperatura de -55° a +150 °C, mientras que el LM35C está hecho para un rango de -40° a 110 °C (-10° con mayor exactitud). La serie LM35 está disponible en encapsulados herméticos de paquetes de transistores A-46, mientras que el LM35C, LM35CA, LM35D están también disponibles en paquetes plásticos de transistores A-92. El LM35D también está disponible en un pequeño esquema de montaje de superficie de 8 patillas y un paquete de de plástico A-220.

2. CARACTERISTICAS

• • • • • • • • • •

Calibrado directamente en Celsius (centígrados). Factor de escala lineal +10,0 mV/ °C. 0,5 °C de exactitud (a +25 °C). Diseñados para un rango de -55° a +150 °C. Apto para aplicaciones remotas. Bajo costo, debido a nivel de wafer de recorte. Opera desde 4 a 30 voltios. Baja corriente de alimentación (60 μA). Bajo calentamiento espontáneo, 0,08 °C en aire inmóvil. No linealidad para ± 1/4 °C típico.

una cápsula comúnmente utilizada por los transistores de baja potencia. A continuación se muestran las conexiones típicas del sensor LM35: Figura 1. como el BC548 o el 2N2904.• Baja impedancia de salida. Figura 2. Diagramas de conexiones del sensor LM35 El sensor se encuentra disponible en diferentes encapsulados pero el más común es el TO-92.1 W para 1 mA de carga. Encapsulado TO-46 . 0.

Encapsulado TO-220 En la figura 6 se puede observar un diagrama de las características típicas de rendimiento de la serie LM35. . Encapsulado TO-92 Figura 4.Figura 3. Encapsulado SO-8 Figura 5.

Características de rendimiento 3.1KΩ   en donde la ganancia de voltaje del mismo esta dada por Potenciome tro   Ganancia = 1 +  5.Figura 6. Circuito de acople del sensor LM35DZ En el circuito anterior se puede observar que a la salida del sensor de temperatura LM35DZ (Vo1) se conecta un circuito seguidor de voltaje (el seguidor de voltaje se lo utiliza cuando es necesario amplificar una señal de un circuito de alta impedancia y no se quiere tomar corriente de la señal). cuyo voltaje de salida esta dado por: Potenciome tro   Vo 3 = 1 +  * Vo 2 5. así mismo a la salida de este seguidor de voltaje (Vo2) va una etapa de amplificación (amplificador no inversor). CIRCUITO PARA ACOPLE DEL SENSOR LM35 Figura 7.1KΩ   .

. Éste dispositivo transforma la temperatura del ambiente en voltaje. se hace uso del potenciómetro. FUNCIONAMIENTO DEL SENSOR LM35 CON PIC BASIC En este apartado se va a desarrollar un termómetro digital en base al sensor LM35DZ. por último contamos con la etapa de visualización para la cual se empleará un display de cristal líquido (LCD) de 2 líneas por 16 caracteres. así como la temperatura actual del sensor. 1 LCD y haciendo uso del lenguaje de programación PIC BASIC. del orden de mV. El LM35DZ entrega a la salida una resolución de 10mV por cada grado centígrado. La etapa de conversión y la interpretación se llevará a cabo mediante el microcontrolador PIC16F877A y claro esta haciendo uso del lenguaje de programación PIC BASIC. En la figura 9 se puede observar el circuito resultante a partir del diagrama de bloques. el cual es un sensor de temperatura con buena precisión en escala Celsius. Diagrama de bloques para el funcionamiento del sensor LM35DZ El sensor que se utilizará será el LM35DZ modelo TO-92. Empleándolo solo sin ninguna configuración en especial. El termómetro digital será desarrollado de acuerdo al siguiente diagrama a bloques: Figura 8. en donde se presentaran el valor de la conversión.Para regular la el voltaje requerido y deseado. el dispositivo presenta un rango de medición de 1 a 150°C. 1 microcontrolador PIC16F877A. 4.

Diseño del circuito para el funcionamiento del sensor LM35 El pic 16F877A cuenta con pines que pueden utilizarse para la conversión A/D.. que significa que sólo vamos a utilizar el canal 0 (A. que son capaces de detectar el nivel de voltaje que ingresan a ellos. los mismos que utiliza el PIC para su alimentación. así como también cuales son los voltajes de referencia.6 mlV. y así tenemos que para: 0V ADCIN =0 2.0 VOUT U4:B 3 LM35 C1 10uF 2 RA0/AN0 RA1/AN1 RA2/AN2/VREFRA3/AN3/VREF+ RA4/T0CKI RA5/AN4/SS RC0/T1OSO/T1CKI RC1/T1OSI/CCP2 RE0/AN5/RD RC2/CCP1 RE1/AN6/WR RC3/SCK/SCL RE2/AN7/CS RC4/SDI/SDA RC5/SDO RC6/TX/CK RC7/RX/DT RD0/PSP0 RD1/PSP1 RD2/PSP2 RD3/PSP3 RD4/PSP4 RD5/PSP5 RD6/PSP6 RD7/PSP7 PIC16F877 LM358N R2 R1 10k 9. por ejemplo: si utilizamos un conversor A/D de 8 bits.5k Figura 9.).49V ADCIN= 127 5V ADCIN= 255 En definitiva nos dice que voltaje está entrando por un pin pero en valores de una variable de 255. digamos que Vref-= 0V y Vref+=5V. debemos cambiar unos bits del registro ADCON1. E1 y E2). A3. los 5 V los dividirá en 255 segmentos.23457 1 U3 U4:A 8 2 3 1 5 7 6 4 LM358N 4 8 114. entonces si a la entrada del pin A/D ingresan 19. quiere decir que entre los voltajes de referencias. A1. Para poner en funcionamiento los conversores A/D. En nuestro caso utilizaremos ADCON1=%00001110. A6 y A7) y los del puerto E (E0. en donde se debe configurar cual es el canal o los canales que deseamos utilizar. estos pines corresponden a los del puerto A (A0. 7 8 9 10 11 12 13 14 B 1 2 3 D0 D1 D2 D3 D4 D5 D6 D7 . es decir en este caso 0 y 5V.A2. el registro ADCIN nos entregará un valor de 1.0) con voltajes de referencias positivo y negativos.LCD1 LM016L VSS VDD VEE RS RW E 4 5 6 22pF 10K 4Mhz C? 10uF 1K 22pF U1 13 14 1 2 3 4 5 6 7 8 9 10 OSC1/CLKIN OSC2/CLKOUT MCLR/Vpp/THV RB0/INT RB1 RB2 RB3/PGM RB4 RB5 RB6/PGC RB7/PGD 33 34 35 36 37 38 39 40 15 16 17 18 23 24 25 26 19 20 21 22 27 28 29 30 U1(RA0/AN0) V=2. A5. (19. ver tabla1. A4.6 mlV.

Var Lee el conversor analógico del micro y guarda el resultado en el Var. Mientras que los registros del ADC se pueden alcanzar directamente.Tabla 1. ADCIN hace el proceso un poco más fácil. En la mayoría de los casos. Antes de que ADCIN pueda ser utilizado. Varios DEFINEs pueden también ser utilizados. El bit alto de ADCON1 controla si el resultado está a la izquierda o a la derecha. los resultados 8-bit se deben dejar alineados (ADCON1. noten que ADCON1=7 corresponde a PCFG =011x. Los valores por defecto se muestran abajo: DEFINE ADC_BITS 8 DEFINE ADC_CLOCK 3 DEFINE ADC_SAMPLEUS 50 ' Fije el número de BITS en el resultado (8. ADCIN Channel . Tabla de configuración para el registro ADCON1 del PIC16F877A. TRISA = 255 ' Fije PORTA todas entradas . 10 o 12) ' Fije el CLOCK (RC = 3) ' Fije el tiempo de muestreo en microsegundos ADC_SAMPLEUS es el número de microsegundos que el programa espera entre fijar el canal y comenzar la conversión analógica/digital. Vea las hojas de datos del microchip para más información sobre estos registros y cómo fijarlos para el dispositivo específico. Dependiendo del dispositivo. 10 o 12-bit ADC.7 = 0) y 10 y los resultados 12-bit justificados a la derecha (ADCON1. ADCON1 también necesita ser asignado como entradas de información analógicas y en algunos casos para fijar el formato del resultado y la fuente del reloj. por lo tanto convierte en pines digitales todos los pines del puerto A y puerto E. puede tener 8 .7 = 1). el registro de TRIS se debe fijar como entradas.

tal como se observa en la figura 9. por lo tanto debemos cambiarlos de posición utilizando DEFINE. Mostrar en un LCD el valor de la conversión y la temperatura actual medida por el sensor. EJEMPLO1: Realizar un programa en PIC BASIC que permita receptar el valor de la temperatura del sensor LM35DZ. lo que se requiere entonces es que.94V 5V ADCIN =0 ADCIN= 150 ADCIN= 255 Otro cambio importante es que los pines que controlan al LCD. LA ‘MEDICIÓN EFECTUADA POR EL SENSOR SE VISUALIZA EN UNA PANTALLA DE UN LCD. no pueden ser los predefinidos por PIC BASIC PRO. en este caso se utiliza los pines del puerto B.6 mV para un conversor de 8 bits. y así tenemos que para: 0 °C 150 °C 255 °C 0V 2. Utilizar el circuito de la figura 9 como referencia. B0 ' PORTA es analógico ' Lea el canal 0 y guarda el valor en B0 Para la amplificación del voltaje de salida del sensor LM35DZ. hay que tomar en cuenta la siguiente consideración: el sensor entrega a la salida una resolución de 10mV por cada grado centígrado y que la instrucción ADCIN tiene una resolución de 19. por cada grado centígrado haya una salida de 19.0 DEL MICROCONTROLADOR ‘------------------------------------------------------------------------------------------------------------------------------------------------‘ CONFIGURACIÓN DEL LCD DEFINE LCD_DREG DEFINE LCD_DBIT PORTB 4 ‘DEFINE PINES DEL LCD B4 A B7 ‘EMPEZANDO DESDE EL PUERTO B4 HASTA B7 ‘DEFINE EL PUERTO B PATA CONECTAR EL BIT RS ‘ESTE ES EL PUERTO B3 ‘DEFINE EL PUERTO B PATA CONECTAR EL BIT ENABLE DEFINE LCD_RSREG PORTB DEFINE LCD_RSBIT 3 DEFINE LCD_EREG PORTB . ‘PROGRAMA EJEMPLO DE USO DEL SENSOR DE TEMPERATURA LM35DZ CON UN MICROCONTROLADOR 16F877A. EL TERMINAL DE SALIDA DEL ‘SENSOR DESPUES DE LA ETAPA DE ACOPLAMIENTO SE CONECTA AL PIN PORTA.6 mV.96 (variando el potenciómetro de 10 K).ADCON1 = 0 ADCIN 0. esto se logra mediante una amplificación con una ganancia de 1.

0 ES ENTRADA ‘EL BIT A. QUE VISUALIZA EL ‘TEMPERATURA EN EL LCD GOTO INICIO ‘------------------------------------------------------------------------------------------------------------------------------------------------‘DEFINIICÓN DE LA SUBRUTINAS MEDIR: ADCIN 0.DEC3 DATOS .DATOS ‘ LEER EL CANAL 0 Y GUARDA LOS DATOS OBTENIDOS EN LA ‘VARIABLE DATOS TEMPERATURA= DATOS RETURN ‘MOSTRAR DESPLIEGA EN EL LCD EL VALOR LA CONVERSION Y LA TEMPERATURA MOSTRAR: LCDOUT $FE."CONVERSION: ".DEFINE LCD_EBIT 2 ‘ESTE ES EL PUERTO B2 ‘CONFIGURACIÓN DEL CONVERSOR A/D DEL MICROCONTROLDAOR DEFINE ADC_BITS 8 DEFINE ADC_CLOCK 3 DEFINE ADC_SAMPLEUS 50 ‘FIJA EL NÚMERO DE BITS CON LOS QUE SE VA A TRABAJAR 8 BITS ‘FIJA EL RELOJ RC=3 ‘FIJA EL TIEMPO DE MUESTREO ‘ENTRE FIJAR EL CANAL Y COMENZAR LA CONVERSIÓN A/D EN UN TIEMPO DE ‘50 US TRISA=%1 ADCON1=%00001110 ‘EL BIT A.0 ES CONVERSOR ‘DEFINICIÓN DE VARIABLES A UTILIZAR DATOS VAR BYTE SIM_GRADO CON 223 TEMPERATURA VAR BYTE ‘DATOS DE TAMAÑO DE 256 ‘CONSTANTE 223 QUE REPRESENTA EL SIMBOLO DE GRADO ‘GUARDA LA TEMPERATURA ACTUAL DEL SENSOR ‘-----------------------------------------------------------------------------------------------------------------------------------------------‘PROGRAMA PRINCIPAL INICIO: GOSUB MEDIR GOSUB MOSTRAR VALOR DE LA ‘LLAMADA A LA SUBRUTINA MEDIR QUE LEE LA ENTRADA DEL PIN A0 ‘’LLAMADA A LA SUBRUTINA MOSTRAR.1.

$C0. Utilizar los esquemas de las figura 10 y 11 como referencia.DEC3 TEMPERATURA. Realizar una comunicación inalámbrica usando dos módulos XBEE. JUNTO CON EL VALOR DE LA VARIABLE ‘TEMPERATURA SEGUIDO DEL SIMBOLO DE GRADO Y DE LA LETRA “C” PAUSE 100 RETURN ‘PAUSA DE 100 MILISEGUNDOS EJEMPLO2: Realizar un programa en PIC BASIC que permita obtener el valor de la temperatura del sensor LM35DZ. En el circuito receptor se debe leer serialmente la información enviada por el transmisor y mostrar en un LCD. . En el circuito transmisor se debe conectar el sensor LM35DZ y enviar en forma serial el valor de la conversión y la temperatura actual medida por el sensor."TEMPERATURA:". "C" ‘MUESTRE LA FRASE “TEMPERATURA:” EN LA LINEA 2 DEL LCD. SIM_GRADO.‘LIMPIE EL VISOR DEL LCD Y SAQUE LA FRASE “CONVERSION: " EN LA PRIMERA LÍNEA DEL LCD JUNTO ‘CON EL VALOR DE LA VARIABLE DATOS LCDOUT $FE.

bas" ‘PARA EL MODO DE COMUNICACIÓN SERIAL ‘CONFIGURACIÓN DEL CONVERSOR A/D DEL MICROCONTROLDAOR DEFINE ADC_BITS 8 DEFINE ADC_CLOCK 3 DEFINE ADC_SAMPLEUS 50 ‘FIJA EL NÚMERO DE BITS CON LOS QUE SE VA A TRABAJAR 8 BITS ‘FIJA EL RELOJ RC=3 ‘FIJA EL TIEMPO DE MUESTREO ‘ENTRE FIJAR EL CANAL Y COMENZAR LA CONVERSIÓN A/D EN UN TIEMPO DE ‘50 US TRISA=%1 ADCON1=%00001110 ‘EL BIT A.0 ES ENTRADA ‘EL BIT A. Circuito transmisor para el manejo del sensor LM35DZ ‘PROGRAMA PARA EL CIRCUITO TRANSMISOR ‘------------------------------------------------------------------------------------------------------------------------------------------------INCLUDE "modedefs.0 ES CONVERSOR ‘DEFINICIÓN DE VARIABLES A UTILIZAR DATOS VAR BYTE TEMPERATURA VAR BYTE VELOCIDAD CON 396 ‘DATOS DE TAMAÑO DE 256 ‘GUARDA LA TEMPERATURA ACTUAL DEL SENSOR ‘VELOCIDAD DE TRANSMISIÓN EN BAUDIOS DE 2400 ‘-----------------------------------------------------------------------------------------------------------------------------------------------‘PROGRAMA PRINCIPAL .Figura 10.

6.DATOS ‘ LEER EL CANAL 0 Y GUARDA LOS DATOS OBTENIDOS EN LA ‘VARIABLE DATOS TEMPERATURA= DATOS RETURN ‘TRANSMITIR ENVIA EN FORMA SERIAL EL VALOR DE LA CONVERSION Y LA TEMPERATURA AL MODULO XBEE TRANSMITIR: SEROUT2 PORTC.[DEC3 DATOS.INICIO: GOSUB MEDIR GOSUB TRANSMITIR MODULO XBEE PAUSE 200 ‘LLAMADA A LA SUBRUTINA MEDIR QUE LEE LA ENTRADA DEL PIN A0 ‘ENVIAR EL VALOR DE LA TEMPERATURA EN FORMA SERIAL AL ‘REPETIR CADA 200 MILISEGUNDOS GOTO INICIO ‘------------------------------------------------------------------------------------------------------------------------------------------------‘DEFINIICÓN DE LA SUBRUTINAS MEDIR: ADCIN 0. VELLOCIDAD. DEC3 TEMPERATURA] RETURN .

bas" ‘PARA EL MODO DE COMUNICACIÓN SERIAL ‘DEFINICIÓN DE VARIABLES Y CONSTANTES A UTILIZAR DEFINE LCD_DREG DEFINE LCD_DBIT PORTB 4 ‘DEFINE PINES DEL LCD B4 A B7 ‘EMPEZANDO DESDE EL PUERTO B4 HASTA B7 ‘DEFINE EL PUERTO B PATA CONECTAR EL BIT RS ‘ESTE ES EL PUERTO B3 ‘DEFINE EL PUERTO B PATA CONECTAR EL BIT ENABLE ‘ESTE ES EL PUERTO B2 DEFINE LCD_RSREG PORTB DEFINE LCD_RSBIT 3 DEFINE LCD_EREG DEFINE LCD_EBIT PORTB 2 TIEMPO_ESPERA CON 2000 DE 2000 US VELOCIDAD CON 396 SIM_GRADO CON 223 ‘CONTINÚE SI NO SE RECIBE UN CARÁCTER DENTRO ‘VELOCIDAD DE TRANSMISIÓN EN BAUDIOS DE 2400 ‘CONSTANTE 223 QUE REPRESENTA EL SIMBOLO DE GRADO . Circuito receptor para la visualización del valor de la conversión y la temperatura medida por el sensor LM35DZ y enviada por el circuito transmisor ‘PROGRAMA PARA EL CIRCUITO RECEPTOR ‘------------------------------------------------------------------------------------------------------------------------------------------------INCLUDE "modedefs.Figura 12.

$C0.7. DEC3 DATO2] NODATO: RETURN ‘MOSTRAR DESPLIEGA EN EL LCD EL VALOR LA CONVERSION Y LA TEMPERATURA MOSTRAR: LCDOUT $FE. "C" ‘MUESTRE LA FRASE “TEMPERATURA:” EN LA LINEA 2 DEL LCD.DEC3 DATO1 ‘LIMPIE EL VISOR DEL LCD Y SAQUE LA FRASE “CONVERSION: " EN LA PRIMERA LÍNEA DEL LCD JUNTO ‘CON EL VALOR DE LA VARIABLE DATO1 LCDOUT $FE. JUNTO CON EL VALOR DE LA ‘RECIBIR LOS DATOS EN FORMA SERIAL ‘’MOSTRAR EN EL LCD ‘REPETIR CADA 200 MILISEGUNDOS VARIABLE ‘DATO2 SEGUIDO DEL SIMBOLO DE GRADO Y DE LA LETRA “C” PAUSE 100 ‘PAUSA DE 100 MILISEGUNDOS RETURN . SIM_GRADO. [DEC3 DATO1. VELOCIDAD.DEC3 DATO2.DATO1 VAR WORD DATO2 VAR WORD ‘GUARDA EL VALOR DE LA CONVERSION ‘GUARDA EL VALOR DE LA TEMPERATURA MEDIDA ‘-----------------------------------------------------------------------------------------------------------------------------------------------‘PROGRAMA PRINCIPAL MAIN: GOSUB RECIBIR GOSUB MOSTRAR PAUSE 200 GOTO MAIN ‘------------------------------------------------------------------------------------------------------------------------------------------------‘DEFINIICÓN DE LA SUBRUTINAS RECIBIR: SERIN2 PORTC. NODATO. TIEMPO_ESPERA."CONVERSION: "."TEMPERATURA:".1.

html http://qubits.mforos.html http://todopic. http://mx.mforos.EJEMPLOS EN EL INTERNET CON MICROCONTROLADORES A continuación se colocan algunos link donde se pueden apreciar algunos ejemplos en el que utilizan el sensor LM35.com/2008/07/10/control-de-temperatura-con-sensorlm35dz/ http://www.geocities.x-robotics.wordpress.mforos.com/2009/01/sensando-temperatura-conlm35dz.blogspot.com/sensores.htm http://encaminandoc.com/46840/4676675-ejemplito-16f876a-temperatura-yluminosidad-con-un-lm35a-y-una-ldr-conv-ad/ .com/swastica83/index.com/46840/4683700-ejemplitos-16f876a-indice-decontenidos/ http://todopic.com/58527/3863991-termometro-digital/ http://todopic.