SENSOR DE TEMPERATURA CON EL
LM35 Y EL PIC16F877A.
1.-
INTRODUCCION: La
temperatura es una de las magnitudes físicas que más se miden. Los
sensores de temperatura convierten una magnitud física en una resistencia o
tensión eléctrica. El uso de sensores de temperatura es muy amplio. Sea que se
trate de la temperatura ambiental en la casa o en la oficina o la temperatura
precisa de un material en proceso de ebullición, la medición de temperatura en
el ámbito privado o industrial es muy importante. Los sensores de temperatura
usan diferentes efectos físicos para convertir la temperatura en una magnitud
eléctrica. Los sensores de resistencia cambian su resistencia eléctrica al
cambiar la temperatura.
Los sensores de
temperatura como el LM35 son
dispositivos que transforman los cambios de temperatura en cambios en
señales eléctricas que son procesados por un equipo eléctrico o electrónico.
Hay tres tipos de sensores de temperatura, los termistores, los RTD y los
termopares.
El sensor de
temperatura, típicamente suele estar formado por el elemento sensor, el
encapsulado que lo envuelve y que está rellena de un material muy conductor de
la temperatura, para que los cambios se transmitan rápidamente al elemento
sensor y del cable al que se conectarán el equipo electrónico. En este caso el
sensor de temperatura ira conectado a un
PIC y este ira conectado una pantalla LCD de 16X2, y allí se mostrara la temperatura
actual.
A continuación les
mostramos el diagrama, el diagrama es muy simple, lleva pocos componentes electrónicos
y lo alimentaremos tan solo con 5v, estos 5v lo podríamos sacar de un cargador
de celular, ya que estos cargadores nos dan 5v, que sea con una corriente de
500mA hasta con 1A funciona excelente.
Diagrama. |
2.-MATERIALES:
- 1 PIC16f877a.
- 1 LCD de 16X2.
- 1 LM35 (Sensor de temperatura).
- 1 Crystal de 4MHz.
- 2 Condensadores cerámicos de 22pf.
- 1 Potenciómetro de 1kΩ.
- 1 Resistencia de 420Ω.
- 1 Resistencia de 10kΩ.
- 1 Pulsador N.A. (Para resetear el circuito).
- 1 Protoboard.
- 1 fuente de 5v (Pueden utilizar un cargador de celular, estos nos dan 5v)
- También necesitamos cablecillos para puentear en la protoboard.
3.-LCD 16X2: Es una pantalla delgada y
plana, formada por un número de píxeles en color o monocromos colocados delante
de una fuente de luz o reflectora.
El uso de estas
pantallas, está tan extendido hoy en día, que prácticamente todos los aparatos
electrónicos suelen llevarlas, para mejor uso y facilidad de interacción.
Existen muchos tipos de LCD, variando en forma y tamaño, número de píxeles, color, y la gran mayoría tienen un coste de unos pocos €uros en cualquier tienda de electrónica.
LCD 16X2. |
4.-EL SENSOR DE TEMPERATURA LM35.
El sensor que
nosotros vamos a utilizar para este circuito es el LM35, este sensor LM35 es un sensor de temperatura digital. A
diferencia de otros dispositivos como los termistores en
los que la medición de temperatura se obtiene de la medición de su resistencia
eléctrica, el LM35 (parecido a un transistor de gama baja) es un integrado con
su propio circuito de control, que proporciona una salida de voltaje
proporcional a la temperatura.
La salida del LM35 es
lineal con la temperatura, incrementando el valor a razón de 10mV por cada
grado centígrado. El rango de medición es de -55ºC (-550mV) a 150ºC (1500 mV).
Su precisión a temperatura ambiente es de 0,5ºC.
Los sensores LM35 son
relativamente habituales en el mundo de los aficionados a la electrónica por su
bajo precio, y su sencillez de uso, tiene tan solo 3 pines.
CARACTERISTICAS.
- Calibrado en centígrados °C.
- Factor de escala lineal 10.0 mV/°C
- Rango de medición de ?55° a +150°C
- Ideal para aplicaciones remotas.
- Funciona de 4 - 30 V.
- Consumo menor a 60 uA.
- Baja impedancia.
LM35, sensor de temperatura. |
PIC16F877A: En este proyecto se
utilizó el PIC 16F877A. Este microcontrolador es fabricado por Microchip familia a
la cual se le denomina PIC. El modelo 16F877A posee varias características que
hacen a este microcontrolador un dispositivo muy versátil, eficiente y práctico
para utilizarlo en nuestro sensor de temperatura.
Algunas
de estas características del PIC se muestran a continuación:
·
Soporta modo de comunicación serial,
posee dos pines para ello.
·
Amplia memoria para datos y programa.
· Memoria reprogramable: La memoria en
este PIC es la que se denomina FLASH;
este tipo de memoria se puede borrar electrónicamente (esto corresponde a la
"F" en el modelo).
· Set de instrucciones reducidas (tipo
RISC), pero con las instrucciones necesarias para facilitar su manejo.
CARACTERÍSTICAS.
En siguiente tabla de pueden observar las
características más relevantes del dispositivo:
CARACTERÍSTICAS
|
16F877a
|
Frecuencia máxima.
|
DX-20MHz
|
Memoria de programa flash
palabra de 14 bits.
|
8KB
|
Posiciones RAM de datos.
|
368
|
Posiciones EEPROM de
datos.
|
256
|
Puertos E/S.
|
A,B,C,D,E
|
Número de pines.
|
40
|
Interrupciones.
|
14
|
Timers.
|
3
|
Módulos CCP
|
2
|
Comunicaciones Serie.
|
MSSP, USART
|
Comunicaciones paralelo.
|
PSP
|
Líneas de entrada de CAD
de 10 bits.
|
8
|
Juego de instrucciones.
|
35 Instrucciones
|
Longitud de la
instrucción.
|
14 bits
|
Arquitectura.
|
Harvard
|
CPU.
|
Risc
|
Canales Pwm.
|
2
|
Pila Hardware.
|
-
|
Ejecución En 1 Ciclo
Máquina.
|
-
|
Configuración de los pines. |
C.I. 16f877a. |
LA PROGRAMACION: Para que el sensor funcione bien tenemos que
programarle el PIC, en mi caso lo programo en PROTON IDE (BASIC) , es un programa muy fácil de manejar ,a continuación
les dejare el código para que ustedes lo copien al PROTON IDE , PROTON IDEBASIC es un software como lenguaje c, c++ , asembler u otros programas para
escribir código o programar.
Pueden descargar e instalar protón AQUI, una vez que escriben la programación, le dan
compilar y nos genera un código hex, este código hex hay que copiarlo o
extraerlo a nuestro PIC, con un grabador de pics, ahora ya podemos probar nuestro circuito, a continuación el código
bas de proton, también les dejare para que lo descarguen y lo abran con proton.
Device = 16F877A 'DECLARAMOS EL PIC A USAR
XTAL = 4 'CRYSTAL DE 4Mhz
Declare LCD_TYPE 0 'DECLARAMOS LOS PUERTOS DE SALIDA Y DE PROGRAMACION.
Declare LCD_DTPIN PORTD.4
Declare LCD_RSPIN PORTD.2
Declare LCD_ENPIN PORTD.3
LCD_LINES 2
TRISD=0 'PUERTO D COMO SALIDA.
TRISA.0=1 'PUERTO A.0 COMO ENTRADA ANALOGICA.
ADCON1=%100000
Dim adc As Float
Dim resultado As Float
Print At 1,1, " SENSOR DE " 'FRASES AL COMENSAR LA PROGRAMACION.
Print At 2,1, "TEMPERATURA LM35"
DelayMS 3000
Print At 1,1, " "
Print At 2,1, " "
DelayMS 500
Print At 1,1, " PROGRAMADO CON "
Print At 2,1, " PIC 16F877A "
DelayMS 3000
Print At 1,1, " "
Print At 2,1, " "
DelayMS 500
inicio:
Print At 1,1, " TEMPERATURA " 'EN LA ´RIMERA FILA LA PALABRA TEMPERATURA.
Print At 2,1, "ACTUAL" 'FILA 2 PALABRA ACTUAL ASTA COLUMNA 8.
adc = ADIn 0
resultado = adc * 500/65472 'AQUI APARESCE LA TEMPERATURA.
Print At 2,8,DEC1,resultado,0
Print At 2,12,"'C "
GoTo inicio
End
VÍDEO.
1) Circuito en proteus, para que simulen
el circuito.
2) Código bas o código fuente en Protón
IDE.
3) Código HEX. Para que lo carguen a su
PIC.
Comentarios