TERMÓMETRO DIGITAL CON PIC 16F877A
Enviado por criss_fonseca • 1 de Enero de 2014 • 2.597 Palabras (11 Páginas) • 1.182 Visitas
León, Ana
a_luz@hotmail.com
Escuela Superior Politécnica de Chimborazo
TERMÓMETRO DIGITAL CON PIC 16F877A
Resumen — La importancia de realizar un termómetro digital es debido a que es muy fácil realizar medidas de la temperatura con un sistema de adquisición de datos, pero la realización de medidas de temperatura exactas y repetibles no es tan fácil.
El presente proyecto pretende construir un termómetro digital que haciendo uso de un sensor de calor LM35DZ muestre la temperatura del ambiente en un visualizador LCD.
Índice de Términos —Sensor LM35, Termómetro Digital, Conversor analógioco digital
INTRODUCCIÓN
En el presente trabajo se explica el diseño y desarrollo para implementar un termómetro digital basado en el microcontrolador PIC 16F877A, fabricado por Microchip el cual programará en el lenguaje Microcode del microcontrolador para el funcionamiento del proyecto.
La temperatura es un factor de medida engañoso debido a su simplicidad. A menudo pensamos en ella como un simple número, pero en realidad es una estructura estadística cuya exactitud y repetitividad pueden verse afectadas por la masa térmica, el tiempo de medida, el ruido eléctrico y los algoritmos de medida.
La temperatura es difícil de medir con exactitud aún en circunstancias óptimas, y en las condiciones de prueba en entornos reales es aún más difícil.
Entendiendo las ventajas y los inconvenientes de los diversos enfoques que existen para medir la temperatura, resultará más fácil evitar los problemas y obtener mejores resultados.
I. DESARROLLO
DESCRIPCIÓN
Para realizar este proyecto será necesario el uso del microcontrolador PIC 16f877A el cual tiene incorporado un convertidor analógico digital que hace de interprete entre el sensor y el PIC, este PIC será programado en lenguaje ensamblador para que realice los métodos necesarios.
Con el presente proyecto pretendemos poner en práctica los conceptos hasta ahora aprendidos en el semestre y además desarrollar nuestras capacidades de formulación, desarrollo e implementación de proyectos de sistemas
El proyecto funciona de la siguiente manera: si la temperatura permanece entre 20°C y 24°C ninguno de los relés se activa, pero si la temperatura no se encuentra entre estos 2 rangos, se activa el relé que le corresponde, sea para calentar o enfriar el ambiente, si deseamos modificar los rangos de temperatura, presionamos el pulsador E, con los otros 2 botones aumentamos o disminuimos la temperatura mínima a comparar, y una vez que estemos de acuerdo presionamos la tecla E nuevamente, luego nos pide programar la temperatura máxima, procedemos igual que el caso anterior y cuando presionemos la tecla E, parpadeará tres veces el led, indicando que los nuevos valores ya fueron guardados en la memoria no volátil.
DISEÑO DEL TERMÓMETRO DIGITAL
El termómetro digital será desarrollado de acuerdo al siguiente diagrama a bloques:
Imagen 1.- Esquema gráfico del termómetro digital
Sensor LM35DZ
El sensor que se utilizará será el transistor LM35DZ modelo TO-92, el cual es un sensor de temperatura con buena precisión en escala Celsius. Éste dispositivo transforma la temperatura del ambiente en voltaje, del orden de mV. El LM35DZ entrega a la salida una resolución de 10mV por cada grado centígrado. Empleándolo solo sin ninguna configuración en especial, el dispositivo presenta un rango de medición de 2 a 150°C.
.
Posee las siguientes características:
• La salida es lineal y entrega 10mV/ºC
• Rango de utilización: -55ºC < T < +150ºC
• Rango de alimentación 4 a 30 voltios
• Consumo: 60 µA (en reposo)
Empleándolo solo sin ninguna configuración en especial, el dispositivo presenta un rango de medición de 2 a 150°C, como se muestra a
continuación:
Imagen 2.- Representación del LM35
Esta configuración es idónea para el proyecto ya que solo mediremos temperaturas hasta 99°C.
PIC 16F877A
EL Pic16F877 pertenece a la gama media de Microcontroladores donde encontraremos modelos desde 18 hasta 68 Pines, su repertorio de instrucciones es de 35, de 14 bits cada una (Todas las instrucciones son de un solo ciclo con excepción de las ramificaciones del programa que son de dos ciclos). Disponen de interrupciones y una pila de 8 niveles que permite el anidamiento de subrutinas. Se le puede encontrar en un tipo de encapsulado de 40 pines PDIP el cual es el mas utilizado para su utilización didáctica en proyectos escolares.
Imagen 3.- PIC 16F877A
Cuenta con una arquitectura Harvard en la que son independientes la memoria de instrucciones y la memoria de datos y cada una dispone de su propio sistema de buses para el acceso.
Para la visualización de la temperatura se utilizará un LCD de 2 líneas por 16 caracteres el cuál será conectado a la salida del puerto B del PIC para enviarle a éste los datos a visualizar.
Imagen 3.- LCD de 16x2
II. DESARROLLO
Para la elaboración del proyecto fue necesario la realización del código basado en los parámetros establecidos anteriormente, para lo cuál se utilizó el programa Microcode y para su respectiva simulación se llevó a cado mediante el programa Proteus.
Materiales:
1 PIC16F877A
1 LCD 2 x 16
1 sensor de temperatura LM35
1 resistencia de 10
1 resistencia de 330
1 resistencia de 10 K
6 resistencias de 4,7 K
1 potenciómetro de 10 K
1 led
1 cristal oscilador de 4 MHZ
2 condensadores cerámicos de 22pF
2 relés 12 V.
2 diodos rectificadores 1N4007
2 transistores 2N3904.
Código en Microcode:
DEFINE LCD_DREG PORTB ;bit de datos del LCD empezando
DEFINE LCD_DBIT 0 ;por B.0, B.1, B.2 y B.3
DEFINE LCD_RSREG PORTB ;bit de registro del LCD conectar
DEFINE LCD_RSBIT 5 ;en el puerto B.5
DEFINE LCD_EREG PORTB ;bit de Enable conectar
DEFINE LCD_EBIT 4 ;en elpuerto B.4
DEFINE ADC_BITS 10 ;Fije número de BITS
...