Sie sind auf Seite 1von 14

1.

- AGRADECIMIENTOS Agradecemos a nuestros padres por brindarnos el apoyo necesario para la elaboracin de este proyecto, y a la universidad evanglica boliviana por permitirnos realizarlo 2.- JUSTIFICACION Hemos realizado este proyecto viendo que los equipos utilizados para la incubacin de huevos en las granjas avcolas resultas ser de alto costo, haciendo lo posible por elaborar una incubadora mucho mas econmica 3.- OBJETIVO Realizar una incubadora automatizada con el propsito de reducir los costos de equipo en las granjas avcolas 4.- INTRODUCCION En el presente proyecto usamos un PIC 16F877A para controlar la temperatura de una incubadora. El micro controlador se ve controlado a su vez por cuatro pulsadores que manejan la programacin de la temperatura en el PIC, sea que marca los limites superior e inferior de la temperaturas que se desea medir Los datos necesarios para controlar el PIC se visualizan en una pantalla LCD que va conectada al microcontrolador. Este proyecto utiliza un sensor de temperatura LM 35 que enva datos analgicos En muchos de los centros avcolas o personas que trabajan con poca cantidad de aves la adquisicin de una incubadora es bastante cara y se emplean otro tipo de sistemas de poca precisin y de un monitoreo errneo Es por eso que se ha realizado este proyecto para as poder controlar la temperatura de un ambiente que puede ser tratado como incubadora 5.- ELABORACION DEL PROYECTO 5.1.- EL TECLADO Dispositivo de entrada de datos que consta de 3 teclas o pulsadores, dispuestos e interconectados

Figura 1.1 Conexin y configuracin del teclado En la figura, vemos el esquema de conexionado del teclado y sus correspondientes pines a los que este proporciona datos. Cuando se presiona un pulsador se esta enviando un cero lgico que luego explicaremos su interpretacin. Tambin podemos ver el conexionado tpico con el puerto A del C Las resistencias de son necesarias para poder compartir controlar el flujo de corriente ya que para que el puerto A pueda tener lectura se necesita un cero logico y este se obtiene haciendo un corte a tierra. Durante la fase de lectura del teclado se produce un cortocircuito y tan solo circulara una pequea corriente y el puerto del C no correra ningn riesgo. Si no se tuviera las resistencias en la conexin al hacer el cortocircuito provocaramos un gran flujo de corriente y el PIC o uC llegara a daarse 5.2.- PANTALLA DE CRISTAL LIQUIDA (LCD) La pantalla de cristal liquido o LCD (Liquid Crystal Display) es un dispositivo Controlado de visualizacin grafico para la presentacin de caracteres, smbolos o incluso dibujos (en algunos modelos), es este caso dispone de 2 filas de 16 caracteres cada una y cada carcter dispone de una matriz de 5x7 puntos (pixels), aunque los hay de otro nmero de filas y caracteres. Este dispositivo esta gobernado internamente por un microcontrolador Hitachi 44780 y regula todos los parmetros de presentacin, este modelo es el mas comnmente usado y esta informacin se basar en el manejo de este u otro LCD compatible. Caractersticas principales: Pantalla de caracteres ASCII, adems de los caracteres Kanji y griegos. Desplazamiento de los caracteres hacia la izquierda o la derecha. Proporciona la direccin de la posicin absoluta o relativa del carcter. Memoria de 40 caracteres por lnea de pantalla. Movimiento del cursor y cambio de su aspecto. Permite que el usuario pueda programar 8 caracteres. 2

Conexin a un procesador usando un interfaz de 4 u 8 bits Para comunicarse con la pantalla LCD podemos hacerlo por medio de sus terminales de entrada de dos maneras posibles, con bus de 4 bits o con bus de 8 bits, este ltimo es el que explicare y la rutina tambin ser para este. En la figura 2.8 vemos las maneras posibles de conexionar el LCD con un pic16f84.

Figura 3.3 conexiones Como puede apreciarse el control de contraste se realiza al dividir la alimentacin de 5V con una resistencia variable de 10K. Las lneas de datos son triestado, esto indica que cuando el LCD no esta habilitado sus entradas y salidas pasan a alta impedancia. La descripcin de pines se lo puede observar en la tabla 2.3 PIN SIMBOLO DESCRIPCION N 1 2 3 Vss Vdd Vo Tierra de alimentacin GND Alimentacin de +5V CC Contraste del cristal liquido. ( 0 a +5V ) Seleccin del registro de control/registro de datos: RS=0 Seleccin registro de control RS=1 Seleccin registro de datos Seal de lectura/escritura: R/W=0 Escritura (Read) R/W=1 Lectura (Write) Habilitacin del modulo: E=0 Modulo desconectado E=1 Modulo conectado Bus de datos bidireccional. Tabla 3.1 Descripcin de pines

RS

R/W

7-14 D0-D7

5.3.- SENSOR DE TEMPERATURA LM35 El LM 35 es un sensor de temperatura que tiene una salida proporcional en grados centigrados. Este sensor no necesita calibramiento alguno y puede testear temperaturas desde los -55 a 150C. Es un sensor de bajo costo y confiable que avanza a 10mV/C, trabaja desde los 4 a 30 V y consume 60uA

Figura 3.6LM35 configuraciones

5.4.- DIAGRAMA.

Figura 3.7 Diagrama del proyecto Como se puede observar que los pulsadores presentan valores que varian entre 0 y 5 V y estan conectados a el pic junto a sus respectivas resistencias En la parte de potencia se puede observar que se esta utilizando un optoacoplador el cual dispara el triac y enciende el generador de temperatura El uC esta trabajando con un oscilador de 4 Mhz

Figura 3.8 Diseo de la placa 5.5.- SOFTWARE DEL MICROCONTROLADOR PIC 16F877 list pcl equ estado equ ptoa equ ptob equ ptoc equ intcon equ eedata equ eeaddr equ adres equ adcon equ uni equ dec equ cen equ tiempo1 tiempo2 letra equ menor equ mayor equ buffer equ p=16f877A #include <p16F877A.inc> 0x02 ;Contador de programa (Parte baja) 0x03 ;Registro de estados 0x05 ;Puertos de E/S 0x06 0x07 0x0B ;Controlador de interrupciones 0x0C ;Registro de datos de la EEPROM 0x0D ;Registro de direccion de la EEPROM 0x1E ;Resultado de la conversin A/D (HIGH / LOW) 0x1F ;Configuracin del conversor A/D 0x20 ;Usados para manejar los datos a mostrar en display 0x21 0x22 equ 0x23 ;Usados para temporizar equ 0x24 0x25 ;Usado para apuntar la letra a colocar en el LCD 0x26 ;Temperatura de activacin 0x27 ;Temperatura de desactivacin 0x28 ;Usado como registro temporal

#define CARRY estado, 0 ;Bit de acarreo #define CERO estado, 2 ;Flag indicador de resultado cero #define ADGOadcon, 2 ;Bit que inicia la conversin (1) / Indica finalizacin (0) #define EEREAD eedata, 0 ;Bit que inicia la lectura de la EEPROM #define EEWRITE eedata, 1 ;Bit que inicia la escritura de la EEPROM Indica finalizacin #define EEWREN eedata, 2 ;Bit que habilita la escritura en la EEPROM #define EEAREA eedata, 7 ;Bit que selecciona el rea de EEPROM a utilizar (0=AREA DE DATOS) 5

#define #define #define #define #define #define #define #define ORG 0 goto INICIO INICIO

MINS ptoa, 1 ;Sube el punto mnimo MINB ptoa, 2 ;Baja el punto mnimo MAXSptoa, 3 ;Sube el punto mximo MAXB ptoa, 4 ;Baja el punto mximo BUZZER ptoc, 3 ;Salida al aviso acstico RELE ptoc, 4 ;Rel que maneja la carga (calefactor / enfriador) LCDE ptoc, 6 ;Habilitacin del LCD LCDRS ptoc, 7 ;Seleccin de modo del LCD

bsf estado, 5 ;Pasa a pgina 1 bcf estado, 6 movlw b'00011111' ;Configura puerto A movwf ptoa clrf ptob ;Puerto B completo como salidas (bus del LCD) clrf ptoc ;Puerto B completo como salidas movlw b'10001110' ;Configura los pines del Puerto A movwf adcon ;AN0 como nica entrada anloga bsf estado, 6 ;Pasa a pgina 3 bcf EEAREA ;Selecciona el banco de EEPROM de datos bcf estado, 6 ;Pasa a pgina 0 bcf estado, 5 movlw b'01000001' ;Enciende y configura el convertidor A/D - Selecciona AN0 como entrada movwf adcon clrf clrf clrf ptoa ptob ptoc ;Apaga todo

bsf estado, 6 clrf eeaddr bsf estado, 5 bsf EEREAD bcf estado, 5 movf eedata, 0 movwf menor (punto de activacin del rel) incf eeaddr bsf estado, 5 bsf EEREAD bcf estado, 5 movf eedata, 0 movwf mayor (punto de desactivacin del rel) bcf estado, 6 movlw b'00111000' texto 6

;Pasa a la pgina 2 de memoria ;Direcciona la primera posicin de la EEPROM ;Pasa a la pgina 3 de memoria ;Inicia la lectura de la EEPROM ;Vuelve a la pgina 3 de memoria ;Dato Ledo de la EEPROM -> W ;Guarda el dato ledo de la EEPROM en MENOR ;Direcciona a la segunda posicin de la EEPROM ;Pasa a la pgina 3 de memoria ;Inicia la lectura de la EEPROM ;Vuelve a la pgina 3 de memoria ;Dato Ledo de la EEPROM -> W ;Guarda el dato ledo de la EEPROM en MAYOR ;Pasa a la pgina 0 de memoria ;Comunicacin con el LCD a ocho bits - Dos lneas de

call CONTROL movlw d'2' call DEMORA movlw b'00000110' derecha call CONTROL movlw d'2' call DEMORA movlw b'00001100' call CONTROL movlw d'2' call DEMORA movlw b'00000001' call CONTROL movlw d'2' call DEMORA OTRA clrf movf call call incf movf sublw btfss goto

;Demora 2ms ;Mensaje esttico, se desplaza el cursor hacia la

;Demora 2ms ;Enciende el display - Oculta el cursor - Caracter fijo ;Demora 2ms ;Limpia la pantalla y pone cursor en posicin inicial ;Demora 2ms

letra ;Coloca el ttulo en el LCD letra, 0 ;Letra actual -> W LINEA1 ;Obtiene el caracter a colocar desde la tabla DATO ;Enva el caracter al LCD letra, 1 letra, 0 ;Comprueba si ya envi los 16 caracteres del ttulo d'16' CERO OTRA ;Si no llego a la letra 16 sigue enviando ;Posiciona el cursor en la 2da. linea ;Demora 1ms

movlw 0xC0 call CONTROL movlw d'1' call DEMORA OTRA2 clrf movf call call incf movf sublw btfss goto call activacin) call desactivacin) CICLO 7 bsf ADGO VERSUP

letra ;Coloca el ttulo en el LCD letra, 0 ;Letra actual -> W LINEA2 ;Obtiene el caracter a colocar desde la tabla DATO ;Enva el caracter al LCD letra, 1 letra, 0 ;Comprueba si ya envi los 16 caracteres del ttulo d'16' CERO OTRA2 ;Si no llego a la letra 16 sigue enviando VERINF ;Coloca en el LCD la temp. inferior (de ;Coloca en el LCD la temp. superior (de ;Inicia la conversin A/D

btfsc goto

ADGO $ -1

;Espera que termine de convertir ;Pasa a pgina 1 (para acceder a los ocho bits ;Resultado de conversin -> W ;Pasa a pgina 1 ;Guarda el dato obtenido de ADRESL en el buffer ;Limpia el CARRY ;Mira el bit menos significativo de ADRESH

bsf estado, 5 bajos del resultado) movf adres, 0 bcf estado, 5 movwf buffer temporal bcf btfsc (Bit 8) CARRY adres, 0

bsf CARRY ;Si est en 1 pone en uno el carry bcf buffer, 1 ;Hace desaparecer el bit 0 de ADRESL, mete el bit 0 de ADRESH por el 7 de ADRESL movf menor, 0 ;Punto de activacin -> W addlw d'1' ;Suma 1 a W subwf buffer, 0 ;W = Temp. Actual - (Menor + 1) btfss CARRY ;Si dio negativo es porque la temp. medida es igual o menor al punto de activacin bsf RELE ;Si dio negativo (si carry = 0) acciona el rel movf mayor, 0 subwf buffer, 0 btfsc CARRY temp. de desactivacin bcf RELE movf buffer, 0 call DECIMAL para la tabla ASCII movlw 0x8D call CONTROL movf call movf call movf call btfss activacin call btfss activacin call 8 BAJAMIN SUBEMIN MINB ;Mira el pulsador de decremento en temp. de cen, 0 DATO dec, 0 DATO uni, 0 DATO MINS ;Punto de desactivacin -> W ;W = Temp. Actual - (Mayor) ;Si dio negativo es porque an no alcanz la ;Si dio positivo (si carry = 1) desactiva el rel ;Dato digitalizado -> W ;Obtiene UNI, DEC y CEN con el agregado de 30h ;Coloca el cursor en la posicin 0Dh de la pantalla. ;Coloca en el LCD las centenas ;Coloca las decenas ;Coloca las unidades ;Mira el pulsador de incremento en temp. de

btfss desactivacin call btfss desactivacin call goto

MAXS SUBEMAX MAXB BAJAMAX CICLO

;Mira el pulsador de incremento en temp. de ;Mira el pulsador de decremento en temp. de

;Vuelve a medir y mostrar ;Suma el contenido de W al contador de

LINEA1 addwf pcl, 1 programa (para explorar la tabla) retlw "T" retlw "E" retlw "M" retlw "P" retlw "E" retlw "R" retlw "A" retlw "T" retlw "U" retlw "R" retlw "A" retlw ":" retlw " " retlw " " retlw " " retlw " "

LINEA2 addwf pcl, 1 ;Suma el contenido de W al contador de programa (para explorar la tabla) retlw " " retlw " " retlw " " retlw " " retlw " " retlw " " retlw b'01111111' ;Flecha izquierda retlw "-" retlw "-" retlw b'01111110' ;Flecha derecha retlw " " retlw " " retlw " " retlw " " retlw " " retlw " " SUBEMIN incf call btfss menor, 1 VERINF MINS ;Suma 1 a la temp. de activacin ;Actualiza la informacin en el LCD ;Espera que suelte el pulsador

goto goto BAJAMIN decf call btfss goto

$ -1 SAVEMIN menor, 1 VERINF MINB $ -1

;Una vez que suelta la tecla va a guardar el parmetro ;Resta 1 a la temp. de activacin ;Actualiza la informacin en el LCD ;Espera que suelte el pulsador ;Pasa a pgina 2 ;Direcciona el primer byte de la EEPROM ;Temp. Activacin -> EEPROM ;Ejecuta la rutina de grabacin ;Pasa a pgina 0 ;Va a hacer el TIC de teclado

SAVEMIN

bsf estado, 6 clrf eeaddr movf menor, 0 movwf eedata call EESAVE bcf estado, 6 goto TIC incf call btfss goto goto decf call btfss goto

SUBEMAX

mayor, 1 ;Suma 1 a la temp. de desactivacin VERSUP ;Actualiza la informacin en el LCD MAXS ;Espera que suelte el pulsador $ -1 SAVEMAX ;Una vez que suelta la tecla va a guardar el parmetro mayor, 1 VERSUP MAXB $ -1 ;Resta 1 a la temp. de desactivacin ;Actualiza la informacin en el LCD ;Espera que suelte el pulsador ;Pasa a pgina 2 ;Direcciona el 2do. byte de la EEPROM ;Temp. Activacin -> EEPROM ;Ejecuta la rutina de grabacin ;Pasa a pgina 0 ;Va a hacer el TIC de teclado

BAJAMAX

SAVEMAX bsf estado, 6 movlw d'1' movwf eeaddr movf mayor, 0 movwf eedata call EESAVE bcf estado, 6 goto TIC EESAVE

bsf estado, 5 ;Pasa a pgina 3 bsf EEWREN ;Habilita la escritura en la EEPROM movlw 0x55 ;Secuencia de seguridad movwf eeaddr movlw 0xAA movwf eeaddr bsf EEWRITE ;Inicia la grabacin bcf EEWREN ;Deshabilita la escritura btfsc EEWRITE ;Espera que termine de grabar goto $ -1 bcf estado, 5 ;Pasa a pgina 2 return bsf BUZZER ;Acciona el buzzer

TIC 10

movlw d'100' call DEMORA bcf BUZZER return CONTROL (Control) DATO ENVIAR LCD bcf goto bsf LCDRS ENVIAR LCDRS movwf ptob

;Deja sonar el buzzer durante 100ms

;Pone en bajo la lnea de modo del LCD ;Se saltea la sig. lnea ;Pone en alto la lnea de modo del LCD (Dato) ;Coloca el dato o control a enviar en el bus del ;Demora 1ms ;Habilita el LCD ;Demora 1ms ;Deshabilita el LCD ;Demora 1ms

movlw d'1' call DEMORA bsf LCDE movlw d'1' call DEMORA bcf LCDE movlw d'1' call DEMORA return DECIMAL

movwf uni ;Convierte el dato presente en W en UNI, DEC y CEN clrf dec clrf cen movlw d'100' ;Determina la cant. de centenas CENTENA subwf uni, 1 btfss CARRY goto CIEN incf cen, 1 goto CENTENA CIEN addwf uni, 1 movlw d'10' ;Determina la cant. de decenas DECENA subwf uni, 1 btfss CARRY goto DIEZ incf dec, 1 goto DECENA DIEZ addwf uni, 1 ;Uni queda con la cant. de unidades (sin decenas ni centenas) movlw 0x30 que queden en ASCII addwf uni, 1 addwf dec, 1 addwf cen, 1 return DEMORA valor en w TOP2 ;Le suma 30h a los valores de UNI, DEC y CEN para

movwf tiempo2 movlw d'110' movwf tiempo1

;Demora tantos milisegundos como

11

TOP1

nop nop nop nop nop nop decfsz goto decfsz goto return

tiempo1, 1 TOP1 tiempo2, 1 TOP2

VERINF lnea

movf menor, 0 ;Temperatura de activacin -> W call DECIMAL ;Obtiene UNI, DEC y CEN en formato ASCII movlw 0xC2 ;Posiciona el cursor en el tercer caracter de la 2da. call CONTROL movlw d'1' call DEMORA movf cen, 0 call DATO movf dec, 0 call DATO movf uni, 0 call DATO return ;para escribir el punto de activacin ;Demora 1ms ;Coloca en el LCD las centenas ;Coloca las decenas ;Coloca las unidades

VERSUP

movf mayor, 0 ;Temperatura de desactivacin -> W call DECIMAL ;Obtiene UNI, DEC y CEN en formato ASCII movlw 0xCB ;Posiciona el cursor en el caracter 12 de la 2da. lnea call CONTROL ;para escribir el punto de desactivacin movlw d'1' call DEMORA ;Demora 1ms movf cen, 0 ;Coloca en el LCD las centenas call DATO movf dec, 0 ;Coloca las decenas call DATO movf uni, 0 ;Coloca las unidades call DATO return end

12

6.- COSTO. No. 1. Fabricacin PCB 2. PIC 16F628 3. LCD 4. CAPACITORES 5. TRIAC 6. RESISTENCIAS 7. BOTONES 8. LM35 9. TOTAL EQUIPO Tabla 3.2 Costos 7.- RECOMENDACIN. Para un mayo rendimiento en el testeo del ambiente de la incubadora se recomienda evitar las bolsas de aire con un pequeo cooler. Tambin recalcamos que tener ligero cuidado con la conexin de los voltajes de alimentacin y tierra ya que algn corto circuito que se produzca puede daar el circuito. 8.- CONCLUSIONES. Se a conseguido implementar un controlador de temperatura para una incubadora avcola que tiene la posibilidad de monitorear y limitar la temperatura que deseamos obtener Se pudo acoplar una etapa de potencias para el control de el generador de temperatura Se lograron alcanzar todos los objetivos planteados. 9.- METODOLOGIA Para la implementacin del proyecto se trabaj en las siguientes etapas metodolgicas $45.25 $5.00 $3,00 $4 $1 $0.25 $12 $10 $7 PARTES Precio $us

13

Basndose en informacin obtenida, emitir ideas y soluciones las cuales puedan mejorar al sistema. Seleccin de la tecnologa ms adecuada en lo que se refiere a hardware y software, para la implementacin del proyecto.

10.- BIBLIOGRAFA. 10.1.- LIBROS 1. Compaa Editorial Electrnica CEKIT sa Electronica moderna y automatizacion 2. ANGULO USATEGUI, Jos M. y AMGULO MARTINEZ, Ignacio Microcontroladores PIC diseo practico de aplicaciones 11. Compaa Editorial Electrnica CEKIT sa Curso Bsico de Microcontroladores PIC. 12. Compaa Editorial Electrnica CEKIT sa Curso Avanzado de Microcontroladores PIC.

10.2.- INTERNET Microchip. Pgina de Javier Alzate: Microcontroladores PIC16CXX. El Rincn del Pic. Microsystems Engineering: Los autores de los libros de Pics (esp.) Archivos sobre Pics de David Tait. http://www.microchip.com http://www.geocities.com/CapeCanaveral/Lab/ 9827/microcon.htm http://members.es.tripod.de/~InfoE/infop.htm http://www.arrakis.es/~msyseng

http://www.labyrinth.net.au/~donmck/dtait/ind ex.html De todo un poco (Electrnica): Algunos http://www.arrakis.es/~ldr2000/manny/circuito circuitos. s Dontronics. http://www.dontronics.com Microcontoladores: Informacin, Herramientas http://www.geocities.com/TheTropics/2174/mi y Prog. cro.html Winkipedia http://es.wikipedia.org/wiki/Triac

14

Das könnte Ihnen auch gefallen