Termostato digital
FACULTAD DE INGENIERIA
INGENIERO EN ELECTRONICA
CIRCUITOS DIGITALES III
PROYECTO FINAL
TERMOSTATO
INTEGRANTES:
RAMIREZ SANCHEZ CRISTOBAL ANTONIO
VALDES LOPEZ FILIBERTO
PROFESOR:
INZUNZA GONZALEZ EVERARDO
ENSENADA B.C. A 10 DE JUNIO DEL 2009.
TERMOSTATO ELECTRONICO
Nuestro proyecto fue crear un termostato electrónicocon el PIC16F877A, el siguiente circuito centra su funcionamiento en el micro controlador que se ve en la figura el cual dispone en su interior de convertidor AD de 10 bits. Consta con 4 pulsadores el cual estos permiten crear el rango en el cual nosotros queremos que funcione nuestro termostato. Estos parámetros se almacenan automáticamente en la EEPROM interna del PIC por lo que no deben serrecargados al quitar la corriente. El LCD, una pantalla de 2 líneas x 16 caracteres indica en su parte superior la temperatura actual medida y en su parte inferior los parámetros inferior y superior. Un zumbador pita por 100mv cada vez que se presiona un pulsador, es decir cada °C.
El principio de funcionamiento es muy simple. Si la temperatura cae por debajo del límite inferior se activa el relé.Si la temperatura sobrepasa el límite superior se desactiva el relé.
A continuación observamos el diagrama eléctrico utilizado para crear nuestro termostato.
A continuacon el diagrama a bloques:
[pic]
A continuación se dará una breve explicación sobre cada etapa del circuito
Como vimos anteriormente que los 4 push botons, son los que nos darán el rango en el cual queremos que trabajenuestro termostato, aquí en la foto se observo lo que se implemento para que esto sea posible. Los 2 de la parte derecha son para crear el rango menor, y los de la parte izquierda son para el rango mayor, estos mandan una señal al microcontrolador y este a la pantalla LCD, el cual nos desplegara este rango en la parte inferior de la pantalla.
Aquí observamos la configuración del PIC que se hizopara que nuestro circuito funcione correctamente, en este capta las pulsaciones que se le dan al push botón, y en el programa las detecta y al momento de la salida manda información a la LCD.
En esta foto observamos lo que se estuvo diciendo anteriormente, en la parte superior de la pantalla se observa la temperatura en la cual se encontraba en ese entonces, y en la parte inferior se observael rango que se le puso, este puede variar dependiendo la aplicación la cual queramos.
Aquí se muestra la etapa de potencia en la cual si se pasaba del rango propuesto el led tenia que encender, y si disminuía mas del rango inferior propuesto, encendería otro led, lamentablemente esta parte no nos funciono en el circuito.
En la foto se observa el circuito ya implementado completamente, seobserva la temperatura que nos encontrábamos y el rango que se le propuso.
A continuación se mostrara el código:
; Control de temperatura con LM35 y pantalla de LCD
; Micro: PIC16F877 a 4MHz XT
LIST P=16F877
RADIX HEX
INCLUDE P16F877.INC
pcl equ 0x02 ;Contador de programa (Parte baja)
estado equ 0x03 ;Registro de estados
ptoa equ 0x05 ;Puertos de E/S
ptob equ 0x06
ptoc equ 0x07intcon equ 0x0B ;Controlador de interrupciones
eedata equ 0x0C ;Registro de datos de la EEPROM
eeaddr equ 0x0D ;Registro de direccion de la EEPROM
adres equ 0x1E ;Resultado de la conversión A/D (HIGH/LOW)
adcon equ 0x1F ;Configuración del conversor A/D
uni equ 0x20 ;Usados para manejar los datos a mostrar
en display
dec equ 0x21
cen equ 0x22
tiempo1equ 0x23 ;Usados para temporizar
tiempo2 equ 0x24
letra equ 0x25 ;Usado para apuntar la letra a colocar en
el LCD
menor equ 0x26 ;Temperatura de activación
mayor equ 0x27 ;Temperatura de desactivación
buffer equ 0x28 ;Usado como registro temporal
#define CARRY estado, 0 ;Bit de acarreo
#define CERO estado, 2 ;Flag indicador de resultado cero
#define RP0 estado, 5 ;Bit 0 selector...
Regístrate para leer el documento completo.