Protocolo para crear un sistema para reducir energía mediante el control de temperatura en casas habitación Por: Itzel López Hernández Matrícula: 60883 Daniel Zúñiga Castro Matrícula: 64571 Asesor: Dr. José Mireles Jr. García Presentado a la academia de Sistemas Digitales y Comunicaciones del Instituto de Ingeniería y Tecnología de La Universidad Autónoma de Ciudad Juárez para su evaluación LA UNIVERSIDAD AUTÓNOMA DE CIUDAD JUÁREZ Septiembre 2009 Introducción. El impacto ambiental que se genera con el consumo de energía eléctrica es muy relevante en la actualidad ya que para producirla se generan contaminantes como óxidos de nitrógeno y dióxido de carbono, esto influye en el cambio climático que estamos viviendo. Según datos de la revista del consumidor de la Profeco en México la electricidad es el energético más utilizado después del gas LP y la leña. Hoy en día es necesario aportar ideas que nos ayuden a disminuir este problema de contaminación y gran costo económico. Con el uso de la tecnología las personas hemos conseguido tener una vida más cómoda y porque no crear una manera de disfrutar de un clima agradable en las habitaciones. A todos nos incomoda pasar frío o calor o cambiarnos de lugar buscando la parte más agradable dentro de un lugar cerrado. Se han creado muchos productos y sistemas de control con el fin de ahorrar energía y en este proyecto se diseñará un sistema que nos permitirá ahorrar energía eléctrica, así como disfrutar de mayor comodidad en cuanto al clima en habitaciones mediante control de ventilación utilizando comunicación RF con el fin de homogenizar la temperatura y generar una contribución importante al ahorro económico y energético. Se realizará investigación documental para determinar que sensores, actuadores y demás componentes se deben utilizar. Con el apoyo de herramientas como software de programación y simulación se llevará a cabo la implementación de este proyecto. Antecedentes En los últimos años se han desarrollado muchos productos para el ahorro de energía en varios países debido a la necesidad de reducir costos en beneficio a la economía y al medio ambiente. Entre las novedades están los dispositivos que utilizan radiofrecuencia, por ejemplo apagadores de luz, controles para iluminación, centros de entretenimiento y para la velocidad de ventiladores. También se ha creado un control para el agua que permite seleccionar agua caliente con el fin de evitar el desperdicio de agua fría, funciona mediante una señal por radiofrecuencia que activa el dispositivo. En cuanto al clima en casas habitación, un sistema para ahorrar energía es el de suelo radiante que era utilizado desde la antigüedad por países como Roma y España en la época medieval, se trata de introducir calor en el suelo y dejar que la radiación ambiente las casas. Esto se conseguía construyendo canales por debajo del suelo y haciendo circular aire caliente por ellos. Hoy en día se ha modernizado este sistema con tuberías de polietileno por las cuales circula agua entre 35º y 45º C. Ahora es muy importante seguir generando ideas aprovechando la tecnología para mejorar nuestra calidad de vida y ayudar también al medio ambiente. Fundamentos Teóricos. La energía eléctrica es un recurso del que dependen muchas actividades en la actualidad, si llega a faltar se produce un caos ya que estamos muy acostumbrados a todo lo que funciona con electricidad. El ahorro de energía es por lo tanto de vital importancia para seguir utilizándo la energía en el futuro, y en el presente nos beneficia también en la reducción de gastos. Tenemos en casas habitación gran número de aparatos que requieren conectarse a un tomacorriente, además las tarifas por consumo de luz se han incrementado últimamente. Cuando utilizamos sistemas de clima como la calefacción o la refrigeración el consumo de energía eléctrica aumenta considerablemente afectando nuestra economía, por lo que se requiere buscar soluciones haciendo uso de la tecnología para reducir el consumo de energia que es un recurso tan importante. Se ha vuelto una necesidad el crear formas para solucionar este problema de alto costo económico por lo cual en este proyecto se utilizarán varias herramientas de la tecnología a favor del ahorro de energía como el uso de de microcontroladores con funciones para comunicación por radiofrecuencia, sensores, y otros componentes para lograr el sistema que permita homogenizar la temperatura en las casas habitación y así evitar gastos innecesarios. Microcontrolador Un microcontrolador es un ordenador en un único chip que funciona con un conjunto de instrucciones almacenadas en su memoria. Normalmente se programan en lenguaje ensamblador o con un lenguaje de alto nivel como el lenguaje C. Cuando se ejecuta un programa en este chip, se reciben datos desde los dispositivos externos (entradas), se manipulan y se envían a dispositivos externos (salidas). Algunos recursos con los que cuentan los microcontroladores son: - Voltaje de alimentación entre +2.5v y +6v - Reloj. Se implementa con un cristal y dos capacitores, algunos microcontroladores cuentan con reloj interno. - Temporizadores. Son contadores que se activan con una señal de reloj interna o externa. Radiofrecuencia Se refiere cuando la corriente alterna es alimentada a una antena, entonces se genera un campo electromagnético también llamado onda de radio el cual es adecuado para transmisión de datos de modo inalámbrico. El rango del espectro de radiación electromagnética es desde 9 KHz hasta miles de GHz. La longitud de onda de un campo RF es inversamente proporcional a la frecuencia. Al incrementarse la frecuencia de las ondas electromagnéticas más allá del espectro de RF, su energía toma la forma de ondas infrarrojas (IR), visibles, ultravioletas (UV), rayos X y rayos gama. Muchos dispositivos inalámbricos hacen uso de tecnología RF como el teléfono celular, radio, televisión, comunicaciones satelitales. Algunos dispositivos operan en IR o en frecuencias bajas de luz visible, su longitud de onda es más corta que la de RF, ejemplos de estos dispositivos son el control remoto de televisión, teclados y ratones inalámbricos. Optoacoplador Un optoacoplador es un dispositivo de emisión y recepción de luz que funciona como un interruptor. Consiste en un fotoemisor y un fotorreceptor cuya conexión entre ambos es óptica. Se utiliza cuando se va a conectar corriente alterna y circuitos de bajo voltaje. Sensor Un sensor es un dispositivo que a partir de la energía del medio donde se mide, da una señal de salida transducible que es función de la variable medida, es decir toma una señal del medio físico y la convierte a una señal de voltaje. Justificación En temperaturas extremas la pérdida de energía en casas habitación es alta debido a que generalmente la temperatura es más alta en la parte superior con respecto a las partes bajas. Se pretende a través de este proyecto desarrollar una propuesta para reducir las pérdidas de energía al homogenizar el clima por medio de ventiladores. Metodología. Objetivo general. Utilizar un circuito electrónico con sensores, actuadores y comunicación RF para controlar y homogenizar la temperatura de habitaciones. Esquema de bloques 1.- Objetivo específico 1: Realizar investigación documental sobre el impacto del consumo innecesario de energía eléctrica. 1.1 Meta 1. Investigar en artículos, noticias y libros acerca del consumo de energía eléctrica para el 15 de octubre 2009. Actividad 1.1.1: Investigar del consumo innecesario de energía Requerimiento: Investigar en artículos de revistas Requerimiento: Investigar en Biblioteca UACJ Requerimiento: Investigar en Internet 2. Objetivo específico 2: Realizar investigación documental sobre el uso y funcionamiento de modulo de desarrollo PICRF y demás componentes. 2.1. Meta 1: Investigar acerca del funcionamiento e instrucciones de programación de modulo de comunicación rfpic, acerca de sensores y aplicaciones RF para comunicación inalámbrica entre dispositivos para el de 20 de octubre 2009. Actividad 2.1.1: Investigar como funciona el Rfpic Requerimiento: Investigar en Internet. Requerimiento: Investigar en Biblioteca UACJ Actividad 2.1.2: Investigar que sensor se necesita Requerimiento: Investigar en Internet. Requerimiento: Investigar en la Biblioteca UACJ. Actividad 2.1.3: Investigar sobre aplicaciones RF Requerimiento: Investigar en Internet. Requerimiento: Investigar en la Biblioteca UACJ. 3. Objetivo específico 3: Obtener requerimientos, características y condiciones para el funcionamiento del sistema 3.1. Meta 1: Determinar Los componentes electrónicos necesarios para el 30 de octubre 2009. Actividad 3.1.1: Analizar como funcionará el sistema. Requerimiento: Conclusiones de investigación teórica Requerimiento: Modulo de comunicación rfpic 3.2 Meta 2: Generar 3 diagramas de funcionamiento del sistema para el 10 noviembre 2009. Actividad 3.2.1: Generar diagramas. Requerimiento: Computadora Requerimiento: CD de módulo de comunicación rfpic 4. Objetivo específico 4: Lograr funcionamiento de programas de prueba para componentes del sistema 4.1. Meta 1: Generar 3 diagramas de flujo para la programación de prueba de los microcontroladores con los distintos dispositivos del sistema para el 13 de noviembre 2009. Actividad 4.1.1: Generar pseudocódigo Requerimiento: Realizar algoritmos. Requerimiento: Realizar diagramas de flujo. Actividad 4.1.2: Llevar a cabo la programación de prueba Requerimiento: Codificar programa Requerimiento: Software de Microchip Requerimiento: Software de simulación 4.2. Meta 2: Llevar a cabo construcción de circuitos para probar los programas para el 20 de enero de 2010. Actividad 4.2.1: Armar circuitos de prueba Requerimiento: Protoboard Requerimiento: Modulo de comunicación rfpic Requerimiento: Fuente de voltaje Requerimiento: componentes para circuito receptor y transmisor 5. Objetivo específico 5: Realizar programación para el funcionamiento de todo el sistema 5.1. Meta 1: Lograr comunicación entre circuito transmisor y receptor para el 15 de marzo 2010. Actividad 5.1.1: Realizar 3 diagramas de flujo Requerimiento: Generar pseudocódigo Requerimiento: Generar algoritmo Actividad 5.1.2: Codificar y simular programa Requerimiento: Diagramas de flujo Requerimiento: Software de Microchip Requerimiento: Software de simulación 6. Objetivo específico 6: Implementar proyecto 6.1. Meta 1: Llevar a cabo construcción de circuitos para el 15 de abril 2010. Actividad 6.1.1:Construir circuito transmisor Requerimiento: Tablillas y soldadura Requerimiento: Componentes del sistema transmisor. Actividad 6.1.2: Construir circuito receptor Requerimiento: Componentes del sistema receptor Requerimiento: ventilador Requerimiento: Maqueta para probar proyecto 6.2 Meta 2: Llevar a cabo al menos 3 pruebas de todo el proyecto para el 30 de abril 2010. Actividad 6.2.1: Realizar pruebas Requerimiento: Proyecto terminado 7.Objetivo específico 7: Finalizar redacción de tesis 7.1 Meta 1: Finalizar documento del proyecto para el 30 de abril 2010 Actividad 7.1.1: Recopilación de teoría y notas del proyecto Calendarización. ETAPA DISEÑO Actividad Actividad Actividad Actividad Actividad Actividad Actividad Actividad Actividad Actividad Actividad Actividad Actividad Actividad Actividad Octubre 2009 1.1.1 2.1.1 2.1.2 2.1.3 3.1.1 3.2.1 4.1.1 4.1.2 4.2.1 5.1.1 5.1.2 6.1.1 6.1.2 6.2.1 7.1.1 ETAPA DISEÑO Actividad Actividad Actividad Actividad Actividad Actividad Actividad Actividad Actividad Actividad Actividad Actividad Actividad Actividad Actividad 1.1.1 2.1.1 2.1.2 2.1.3 3.1.1 3.2.1 4.1.1 4.1.2 4.2.1 5.1.1 5.1.2 6.1.1 6.1.2 6.2.1 7.1.1 Abril 2010 Nov 2009 Mayo 2010 Enero 2010 Febrero 2010 Marzo 2010 REFERENCIAS. [1] José M. Angulo Usategui, Ignacio Angulo Martínez, Microcontroladores Pic:Diseño práctico de aplicaciones. McGraw-Hill, 1999 [2] [3] Ramón Pallás Areny, Sensores y acondicionadores de señal. Marcombo, 1998 http://www.renovae.org/index.php?option=com content&task=view&id=370&Itemid =76 , al 02 de Marzo del 2009. [4] http://www.esak.es/sueloradiante, Mayo del 2009 [5] http://www.profeco.gob.mx/revista/publicaciones/otras_pub/ahorroluz, Mayo 2009 SISTEMA PARA REDUCIR ENERGÍA MEDIANTE EL CONTROL DE TEMPERATURA EN CASAS HABITACIÓN Por Itzél López Hernández Daniel Zúñiga Castro Presentado al comité revisor del Instituto de Ingeniería y Tecnología de La Universidad Autónoma de Ciudad Juárez para obtener el título de INGENIERO EN SISTEMAS DIGITALES Y COMUNICACIONES UNIVERSIDAD AUTÓNOMA DE CIUDAD JUÁREZ Mayo 2010 UNIVERSIDAD AUTÓNOMA DE CIUDAD JUÁREZ Instituto de Ingeniería y Tecnología EVALUACiÓN' DE EXAMEN Fecha: 27 de Mayo del 2010 Horario: 09:00 - 11 :00 HRS. PROFESIONAL INTRACURRICULAR NIVEL: LICENCIATURA TEMA: lIReducción de energía mediante el control de ventilación en casas habitación" La evaluación del examen profesional intracurricular consta de 4 partes: (Desarrollado en 1 hora) 1°._ 2°._ 3°._ 4°._ Exposición por parte de los alumnos (máximo 20 minutos). Réplica por parte del jurado. Comentarios y/o recomendaciones. Entrega de resultados. Nombre del alumno: Daniel Zúñiga Castro Calificación Maestro de la materia (30%) Calificación Director de Trabajo (40%) 24 Calificación del Jurado (30%) TOTAL Se recomienda que el documento se deposite para consulta en la BIBLIOTECA SiD NoD Director de Trabajo Jurado ) Coordinad~aMateria "Proy.eeT~ Titu FIRMADO EN ORIGINAL Dr. Robert A ción" UNIVERSIDAD AUTÓNOMA DE CIUDAD JUÁREZ Instituto de Ingeniería y Tecnología EV ALUAClÓN DE EXAMEN Fecha: 27 de Mayo del 2010 Horario: 09:00 - 11 :00 HRS. PROFESIONAL INTRACURRICULAR NIVEL: LICENCIATURA TEMA: "Reducción de energía mediante el control de ventilación en casas habitación" La evaluación del examen profesional intracurricular consta de 4 partes: (Desarrollado en 1 hora) 1°._ 2°._ 3°._ 4°._ Exposición por parte de los alumnos (máximo 20 minutos). Réplica por parte del jurado. Comentarios y/o recomendaciones. Entrega de resultados. Nombre del alumno: Itzellópez Hernández Calificación Maestro de la materia (30%) 4 34 Calificación Director de Trabajo (40%) Calificación del Jurado (30%) TOTAL Se recomienda que el documento se deposite para consulta en la BIBLIOTECA Si D NoD Director de Trabajo Jurado Coordinador de la Materia "Proyect "tulación" FIRMADO EN ORIGINAL SISTEMA PARA REDUCIR ENERGÍA MEDIANTE EL CONTROL DE TEMPERATURA EN CASAS HABITACIÓN Los miembros del comité revisor que aprobaron el proyecto de titulación de: nombre del (os) alumno (s) José Mireles Jr. García ___________________________________________ Roberto Ambrosio Lázaro ___________________________________________ Ernesto Sifuentes de la Hoya ___________________________________________ ii Declaratoria de Originalidad Nosotros Itzel López Hernández y Daniel Zúñiga Castro, declaramos que el material contenido en este documento es original y no ha sido copiado de ninguna otra fuente, ni ha sido usado para obtener otro título o reconocimiento en ésta u otra institución de educación superior. __________________________ Itzel López Hernández __________________________ Daniel Zúñiga Castro iii AGRADECIMIENTOS Deseo expresar mi gratitud al Dr José Mireles Jr. García por permítirnos trabajar con este proyecto del cual el tuvo la idea y en especial manera al Ing. Raúl Rubio Reyes quién fue un gran apoyo durante este trabajo aportando sus conocimientos y experiencia, también agradezco a mis amigos por animarme en cada momento y a mi compañero de proyecto por su trabajo y esfuerzo. Deseo dedicar todos mis logros incluyendo primeramente a Dios quien me ha dado la capacidad para esta vocación, a mis padres quienes son la fuente de mi inspiración y a mis hermanos que me brindaron su apoyo incondicional durante toda la carrera. Itzel López Hernández. Quiero agradecer a mis padres y hermanos por darme su apoyo durante toda mi carrera, en especial a mi madre Martha Elizabeth Castro Blanco, también quiero agradecer a Dr. José Mireles Jr. García por confiar en nosotros para realizar este proyecto y por toda su ayuda, y un agradecimiento muy especial a mi compañera de proyecto Itzél López Hernández por confiar en mí y por todo su apoyo, además de haber sido durante el proceso de nuestro proyecto como una maestra para mí. Dedico este proyecto a mis padres y hermanos y principalmente a las tres personas más importantes de mi vida, a mi madre Martha Elizabeth Castro Blanco, a mi esposa Alejandra Correa Luna y a mi hijo Santiago Zúñiga Correa porque ellos han sido una gran motivación para mí. Daniel Zúñiga Castro. iv LISTA DE FIGURAS Figura Página Figura 3.1 Encapsulado DIP del PIC16F84A. ......................................................................10 Figura 3.2 Diagrama de pins del PIC16F84A.......................................................................11 Figura 3.3 Encapsulado DIP del PIC16F877A. ....................................................................12 Figura 3.4 Sensor de temperatura LM35 encapsulado plástico visto por abajo. ..................15 Figura 3.5 Sensor de temperatura LM35 conexión típica.....................................................16 Figura 3.6 Transmisor TWS-434A. ......................................................................................17 Figura 3.7 Receptor RWS-434..............................................................................................17 Figura 3.8 Ejemplo de codificación [9]. ...............................................................................18 Figura 3.9 Formato de un cero..............................................................................................18 Figura 3.10 Formato de un uno.............................................................................................19 Figura 3.11 Resolución de un ADC......................................................................................20 Figura 4.1 Diagrama de bloques del sistema. .......................................................................22 Figura 4.2 Resultado de la prueba en una casa con calefacción sin activar ventilador. .......23 Figura 4.3 Resultado de la prueba en una casa con calefacción activando ventilador. ........23 Figura 4.4 Comportamiento de la temperatura en habitación con calefacción.....................24 Figura 4.5 Conexión del transmisor......................................................................................25 Figura 4.6 Conexión de prueba para el transmisor. ..............................................................25 Figura 4.7 Conexión del circuito de prueba funcionamiento AT89S52. ..............................26 Figura 4.8 Conexión del circuito de prueba AT89S52- LCD...............................................27 Figura 4.9 Conexióen de circuito de prueba para optoacoplador y TRIAC. ........................28 v Figura 4.10 Conexión del circuito para probar el PIC16F84A.............................................29 Figura 4.11 Conexión de PIC16F84A y sensor I2C. ............................................................30 Figura 4.12 Conexión de PIC16F877A y sensor I2C. ..........................................................30 Figura 4.13 Conexión de circuito para probar sensor TCN75. ............................................31 Figura 4.14 Diagrama del programa transmisor ...................................................................33 Figura 4.15 Subrutina Undec. ...............................................................................................34 Figura 4.16 Subrutina Aumenta............................................................................................35 Figura 4.17 Subrutina Disminuye. ........................................................................................36 Figura 4.18 Subrutina Acciona. ............................................................................................37 Figura 4.19 Construcción de circuito de interfaz de usuario. ...............................................37 Figura 4.20 Diagrama de Flujo para el receptor. ..................................................................39 Figura 4.21 Diagrama de Flujo del Sistema. ........................................................................40 Figura 4.22 Conexión del Transmisor TWS-434A al Decodificador. ..................................41 Figura 4.23 Conexión del Receptor Rws-434 al Decodificador RWS-434. .........................42 Figura 4.24 Circuito Transmisor en protoboard. ..................................................................43 Figura 4.25 Circuito transmisor con antena..........................................................................43 Figura 4.26 Circuito transmisor mostrando dato a enviar. ...................................................44 Figura 4.27 Circuito receptor en protoboard. .......................................................................44 Figura 4.28 Circuito receptor mostrando dato recibido del TWS-434. ................................45 Figura 4.29 Lectura de LM35 y salida digital. .....................................................................45 Figura 5.1 Diagrama de la Etapa Transmisora. ....................................................................47 Figura 5.2 Circuito en protoboard de la interfaz de usuario. ................................................48 Figura 5.3 Circuito interfaz de usuario con transmisor en protoboard .................................48 vi Figura 5.4 Diagrama de conexión etapa receptora. ..............................................................50 Figura 5.5 Circuito receptor para activación de ventilador ..................................................51 Figura A Circuito transmisor reducido .................................................................................53 Figura B Circuito receptor reducido .....................................................................................53 vii LISTA DE TABLAS Tabla Página Tabla 3.1 Descripción la función de cada una de las terminales. ........................................ 11 Tabla 3.2 Descripción las características del PIC16F877A. ................................................ 12 Tabla 3.3 Descripción de pins del sensor digital TCN75..................................................... 13 Tabla 3.4 Descripción de los registros del sensor digital TCN75........................................ 14 viii Indice Declaratoria de Originalidad ................................................................................................. iii AGRADECIMIENTOS ........................................................................................................ iv LISTA DE FIGURAS ............................................................................................................ v LISTA DE TABLAS .......................................................................................................... viii INTRODUCCION ................................................................................................................. 1 Introducción a la Problemática .............................................................................................. 3 2.1 Objetivo general........................................................................................................ 4 2.2 Planteamiento del Problema Técnico ....................................................................... 4 2.3 Justificación .............................................................................................................. 4 2.4 Delimitación.............................................................................................................. 5 CAPITULO 3 ......................................................................................................................... 6 Marco Teórico........................................................................................................................ 6 3.1 Conceptos.................................................................................................................. 6 3.1.1 Ahorro de Energía .............................................................................................. 6 3.1.2 Clima Artificial .................................................................................................. 6 3.1.3 Aire Acondicionado ........................................................................................... 6 3.1.4 Calefacción......................................................................................................... 7 3.1.5 Homogenización de Temperatura ...................................................................... 7 3.1.6 Ventilador de Techo........................................................................................... 8 3.1.7 Radiofrecuencia (RF) ......................................................................................... 8 ix 3.1.8 Transmisión Digital........................................................................................... 9 3.1.9 Receptor de Comunicaciones............................................................................. 9 3.2 Microcontrolador ...................................................................................................... 9 3.2.1 Microcontrolador AT89S52 ............................................................................... 9 3.2.2 Microcontrolador PIC16F84A ........................................................................... 9 3.2.3 Microcontrolador PIC16F877A ....................................................................... 12 3.3 Sensor de Temperatura Serial TCN75 .................................................................... 13 3.4 Optoacoplador......................................................................................................... 14 3.5 TRIAC .................................................................................................................... 14 3.6 Sensor de Temperatura ........................................................................................... 15 3.6.1 Sensor de Temperatura LM35.......................................................................... 15 3.7 Pantalla de Cristal Líquido (Liquid Crystal Display LCD) .................................... 16 3.8 Módulo receptor RWS-434 y trasmisor TWS-434 ................................................. 16 3.9 Codificador CIP-8E ................................................................................................ 17 3.10 Decodificador CIP-8D .......................................................................................... 19 3.11 Convertidor Análogo Digital (ADC) .................................................................... 19 Desarrollo del Prototipo ....................................................................................................... 21 4.1 Análisis de material ................................................................................................ 24 4.1.1 Comunicación Inalámbrica .............................................................................. 24 4.1.2 Componentes para Interfaz con el Usuario ...................................................... 26 4.1.3 Activación de Alimentación de Corriente Alterna con Señal Digital .............. 27 x 4.1.4 Control de Activación del Ventilador .............................................................. 28 4.1.5 Funcionamiento del Sensor TCN75 ................................................................. 29 4.1.7 Resultado del Análisis...................................................................................... 31 4.2 Implementación del Proyecto. ................................................................................ 31 4.2.1 Interfaz con el usuario...................................................................................... 31 4.3 Programa para funcionamiento del circuito receptor.............................................. 38 4.4 Prueba del transmisor TWS-434A.......................................................................... 41 4.5 Prueba del Receptor RWS-434 ............................................................................... 41 Resultados ............................................................................................................................ 46 5.1 Etapa transmisora.................................................................................................... 46 5.2 Etapa receptora ....................................................................................................... 48 APÉNDICE A ...................................................................................................................... 54 APENDICE B ...................................................................................................................... 61 APENDICE C ...................................................................................................................... 70 Referencias.................................................................................................................... 91 xi CAPITULO I INTRODUCCION El propósito de este sistema es ayudar a las personas a tener un ahorro considerable de energía en las casas habitación y en el pago de servicios, ya sea de luz o gas. En la actualidad el pago de estos servicios es elevado en periodo de verano e invierno ya que las casas habitación consumen mayor energía para tener un ambiente agradable dentro de los hogares. En verano por ejemplo el aire acondicionado dura una gran parte del día encendido, de igual manera, en la estación de invierno la unidad de calefacción dura mucho tiempo funcionando. Para el caso de invierno, los aparatos de clima artificial consumen más energía de la necesaria debido a que el aire que sale de los ductos no se distribuye de manera uniforme, ya que gran parte de aire caliente se mantiene en la parte superior de las habitaciones. En este proyecto se pretende elaborar un sistema que permita homogenizar la temperatura en habitaciones que ya cuenten con aire y/o calefacción instalada, mediante el control de la recirculación del aire. El sistema consiste en controlar el accionamiento de un ventilador de techo el cual será activado por medio de un dispositivo con comunicación inalámbrica (por Radiofrecuencia). Específicamente, se desarrollará un circuito receptor con sensor de temperatura e interface de comunicación para activar con una señal digital la corriente alterna del ventilador. El sistema de control utilizará un microcontrolador AT89S52 programado para mostrar mensajes en un LCD los cuales proveerán al usuario la forma de seleccionar la temperatura deseada. El programa del microcontrolador también tendrá código de funcionamiento por 1 medio de unos botones con los que el usuario podrá hacer uso de este control, y por último un transmisor permitirá enviar la señal al circuito receptor del ventilador. 2 CAPITULO 2 Introducción a la Problemática En la actualidad las personas que cuentan con aparatos de clima artificial instalados en su casa pagan a la compañía de luz, y a las compañías de gas grandes cantidades de dinero, debido al gasto de energía que representa tener un ambiente controlado de temperatura en sus casas. El ahorro de energía es muy importante en la actualidad, principalmente para cuidar nuestro medio ambiente y al mismo tiempo para cuidar nuestra economía. En las casas habitación aun cuando cuentan con clima artificial la temperatura no se distribuye de manera uniforme, ya que se mantiene una diferencia entre la parte baja de la habitación y la parte alta, esto provoca que la temperatura deseada no se alcance con rapidez y que se consuma mucha energía. Con un sistema que permita homogenizar la temperatura en las casas habitación, es posible el ahorro de algunos servicios con los que cuentan los hogares como son la luz y el gas. Un principio esencial para el ahorro de energía consiste en conocer cómo funcionan los equipos y aparatos en el hogar, los diferentes tipos de energía que consumen y el distinto aprovechamiento que podemos obtener de ellos. 3 Es importantísimo tener en cuenta la trascendencia y la complejidad que hoy en día supone el consumo de energía en el interior de los hogares por lo que es necesario hacer un buen uso de esta energía y utilizarla con la mayor eficiencia. 2.1 Objetivo general El objetivo general de este proyecto es utilizar un sistema con sensores, actuadores, microcontroladores y comunicación RF para controlar el accionamiento de un ventilador de techo para con ello homogenizar la temperatura de habitaciones, para así lograr un ambiente de mayor confort y también ahorrar energía. 2.2 Planteamiento del Problema Técnico Desarrollar un circuito transmisor que permita controlar de manera inalámbrica el funcionamiento de un ventilador de techo, y que permita variar por medio de una interfaz con el usuario los límites de la temperatura que se desea en la habitación donde esté instalado el ventilador. De esta forma, un circuito receptor localizado en el ventilador accionará éste mediante una comparación de la temperatura recibida del circuito transmisor y la temperatura leída por un sensor localizado también en el ventilador, una vez hecha esta comparación se tomará la decisión por el circuito receptor de activar o no la alimentación del ventilador para así distribuir el aire y homogenizar la temperatura en la habitación. 2.3 Justificación Actualmente en temperaturas extremas la pérdida de energía en casas habitación es grande, Cuando encendemos nuestra calefacción, el aire caliente tiende a subir debido a que este es más ligero que el aire frío y por ello la temperatura es más alta en la parte superior de una habitación con respecto a las partes bajas. Se pretende a través de este proyecto desarrollar una propuesta para reducir las pérdidas de energía al homogenizar el ambiente por medio de un ventilador que distribuya el aire de manera uniforme en las casas habitación. 4 2.4 Delimitación Se utilizarán componentes de bajo costo para elaborar el proyecto lo cual permitirá mostrar el funcionamiento del sistema. (La circuitería podría ocupar menos espacio con componentes más sofisticados y de mayor costo lo cual permitiría obtener un producto más comercializable). El diseño del proyecto se limita a desarrollar un prototipo para controlar un ventilador con opción a expandir el número de ventiladores para diferentes habitaciones. 5 CAPITULO 3 Marco Teórico 3.1 Conceptos 3.1.1 Ahorro de Energía El ahorro de energía se refiere a hacer un uso eficiente de la energía evitando desperdiciarla. En el proceso de producción de energía eléctrica se queman combustibles fósiles que afectan directamente al medio ambiente, uno de los fenómenos que se presenta por la quema de combustibles fósiles es el efecto invernadero en el cuál los rayos solares quedan atrapados en la atmósfera terrestre provocando un calentamiento en nuestro planeta y generando cambios climatológicos importantes en el mismo. Al crear sistemas que permitan ahorrar energía se está contribuyendo al cuidado de nuestro medio ambiente. 3.1.2 Clima Artificial La función de los sistemas de clima artificial para una casa habitación es mantener un ambiente agradable ya que así se puede realizar las tareas en el hogar o descansar sin preocuparse del clima exterior. Una desventaja del clima artificial es que para gozar de sus beneficios se paga un precio alto en recibos de luz y gas, además se afecta al medio ambiente. 3.1.3 Aire Acondicionado El mecanismo de un aire acondicionado (refrigeración) para casa habitación tiene tres elementos principales: un compresor, un condensador y un evaporador, por medio de los cuales realiza una operación de intercambio de calor que permite el enfriamiento de la habitación. Los aparatos de aire acondicionado utilizan un gas el cual entra al compresor y 6 sale como aire caliente que fluye hacia un condensador, cuando el aire sale condensado baja su temperatura y por la presión cambia a estado líquido, al llegar al evaporador el líquido se convierte de nuevo en gas. Cuando el líquido va cambiando a gas y se evapora, extrae calor del aire que lo rodea lo que lo ayuda a pasar al estado gaseoso, al salir del evaporador es un gas frío a baja presión, luego vuelve al compresor para repetir el proceso. Un ventilador conectado al evaporador mueve el aire que circula en el interior de la habitación, el aire caliente es más ligero que el aire frío por lo que el aire caliente se concentra en la parte superior de la habitación. El aire caliente se utiliza para enfriar el gas en el evaporador. A medida que el calor se va extrayendo del aire que hay en la habitación, éste se va enfriando y se devuelve a la habitación hasta que llega a la temperatura deseada. 3.1.4 Calefacción Algunos sistemas de calefacción funcionan como el de aire acondicionado, este tipo de calefacción tiene como su elemento más importante una bomba de calor. En el proceso de funcionamiento, la bomba de calor toma el aire del exterior de la habitación el cuál esta a baja temperatura en tiempo de frío, luego la bomba comprime el aire haciendo que su temperatura suba, posteriormente el calor se libera hacia el interior de la habitación como aire caliente. El aire es un gas y por sus propiedades químicas al calentarse se hace más ligero, esto hace que se mantenga en la parte alta de la habitación. 3.1.5 Homogenización de Temperatura Como ya hemos visto la calefacción y el aire acondicionado liberan una cantidad de aire hacia el interior de la habitación donde se encuentran instalados para proporcionarnos un ambiente agradable en tiempo de frío o calor, la temperatura en las habitaciones no se distribuye de manera homogénea porque como ya hemos mencionado, el aire al aumentar de temperatura disminuye su densidad, lo cual hace que suba, de manera que la habitación es más caliente en la parte superior. 7 Con la ayuda de un ventilador de techo se puede homogenizar la temperatura, ya que éste al girar permite que el aire circule hacia el suelo, distribuyéndolo por la habitación. 3.1.6 Ventilador de Techo El uso de ventiladores de techo aumenta el confort térmico en las habitaciones y no gasta mucha energía. La función de un ventilador de techo para casa habitación es la de mover el aire que circula dentro de la habitación con dirección hacia el suelo. Se compone principalmente de un motor y cuatro o seis aspas. 3.1.7 Radiofrecuencia (RF) Cuando la corriente alterna es alimentada a una antena, entonces se genera un campo electromagnético también llamado onda de radio el cual es adecuado para transmisión de datos de modo inalámbrico. RF es una transmisión inalámbrica de datos por medio de señales análogas/digitales en una frecuencia en particular Muchos dispositivos inalámbricos hacen uso de tecnología RF como el teléfono celular, radio, televisión, comunicaciones satelitales. La longitud de onda de un campo RF es inversamente proporcional a la frecuencia. λ=c/f c = 3x10 pow(8) = velocidad de la luz (metros por segundo) f = Frecuencia de recepción (Hertz) λ = Longitud de onda (metros) Las ondas electromagnéticas conocidas como ondas de radio se propagan a una velocidad de 3x108 m/s en línea recta. Una señal de RF está comprendida entre los 30KHz y los 300 GHz. 8 3.1.8 Transmisión Digital Es la transmisión de señales digitales (binarias o pulsos digitales de valores discretos) entre dos o más sistemas de comunicaciones. 3.1.9 Receptor de Comunicaciones El receptor de comunicaciones es un dispositivo que recibe la señal transmitida, la decodifica y la presenta en forma reconocible, tiene la tarea de obtener la información que se le transmite y debe ser capaz de seleccionar la señal correcta, así como suministrar una amplificación suficiente para recuperar la señal modulada. 3.2 Microcontrolador Un micorcontrolador es un circuito integrado diseñado especialmente para controlar sistemas electrónicos, que consta de todos los elementos de una computadora, como memoria de programa, memoria RAM, memoria EEPROM y puertos de entrada y salida. Elementos generales de los microcontroladores: - Entrada para voltaje de alimentación entre +2.5v y +6v - Reloj. Se implementa con un cristal y dos capacitores, algunos microcontroladores cuentan con reloj interno. - Temporizadores. Son contadores que se activan con una señal de reloj interna o externa. 3.2.1 Microcontrolador AT89S52 El microcontrolador El AT89S52 es un microordenador de 8 bits de baja potencia, de alto rendimiento del CMOS. El dispositivo es manufacturado usando tecnología de memoria permanente de alta densidad de ATMEL. 3.2.2 Microcontrolador PIC16F84A Debido a su facilidad de uso y a sus múltiples aplicaciones, el PIC16F84A es uno de los microcontroladores más utilizados en la actualidad para realizar proyectos sencillos. Este 9 microcontrolador puede trabajar con una frecuencia máxima de 10 MHz y se alimenta con 5 volts. Se comunica por medio de los puertos A y B que trabajan entre 0 y 5 volts, los cuales se pueden usar como entradas para recibir datos y salidas para manipular dispositivos externos. El puerto A consta de 5 líneas que van de los pines RA0 a RA4, mientras que el puerto B puede trabajar con 8 líneas que van del RB0 a RB7. En el PIC 16F84A la memoria almacena el programa el cual contiene todas las instrucciones necesarias, para poder manipular el microcontrolador y poder realizar la tarea asignada. El microcontrolador PIC16F84 (Circuito Integrado Programable), está basado en memoria EEPROM o FLASH de 8 bits, desarrollado por Microchip Technology utilizando tecnología CMOS, el PIC16F84A se fabrica en dos tipos de encapsulación, SOIC (Montaje superficial) utilizado en circuitos muy complejos y el DIP (Versión convencional) es de un mayor tamaño pero de menor costo. Figura 3.1 Encapsulado DIP del PIC16F84A. El microcontrolador integra la siguiente estructura, CPU, RAM, ROM y puertos de entrada y salida. Siendo de alta velocidad y de un bajo costo, es ampliamente utilizado en una gran cantidad de funciones. Distribución y función de terminales El encapsulado DIP de 18 terminales es muy económico. El PIC16F84 es uno de los microcontroladores más utilizados en la actualidad, debido a sus múltiples aplicaciones y facilidad de uso. 10 Figura 3.2 Diagrama de pins del PIC16F84A. Tabla 1Tabla 3.1 Descripción la función de cada una de las terminales. No. Terminal NOMBRE TIPO DESCRIPCION 1 RA2 I/O Línea bidireccional del puerto A. 2 RA3 I/O Línea bidireccional del puerto A. 3 RA4/TOCKI I/O 4 MCLR I/P 5 Vss 6 RBO/INT I/O Puerto B bidireccional o interrupción externa. 7 RB1 I/O Línea bidireccional del puerto B o interrupción. 8 RB2 I/O Línea bidireccional del puerto B o interrupción. 9 RB3 I/O Línea bidireccional del puerto B o interrupción. 10 RB4 I/O Línea bidireccional del puerto B o interrupción. 11 RB5 I/O Línea bidireccional del puerto B o interrupción. 12 RB6 I/O Línea bidireccional del puerto B o interrupción. 13 RB7 I/O Línea bidireccional del puerto B o interrupción. 14 15 Vdd OSC2/CLKOU T OSC1/CLKIN Línea bidireccional del puerto A, o entrada de reloj 16 P para el TMR0. Reset/Entrada del voltaje de programación. (GND). Alimentación. P O Salida del oscilador a cristal. I Entrada del oscilador a cristal o entrada de la fuente de reloj externa. 17 RA0 I/O Línea bidireccional del puerto A. 11 18 RA1 I/O Línea bidireccional del puerto A. 3.2.3 Microcontrolador PIC16F877A Este microcontrolador también tiene características similares a las del PIC16F84A pero tiene más puertos y más funciones que nos permiten tener menos conexiones en hardware. El encapsulado DIP es de 40 terminales. El PIC16F877A tiene varias funciones entre ellas convertidor analógico digital, timers y manejo de I2C. Figura 3.3 Encapsulado DIP del PIC16F877A. Tabla 2Tabla 3.2 Descripción las características del PIC16F877A. Característica PIC16F877A Frecuencia de operación Resets(y retardos) Memoria Flash de programa Memoria de datos(Bytes) Memoria de datos EEPROM (bytes) Interrupciones Puertos I/O Timers Modulo 12 DC-20 MHZ POR, BOR (PWRT, OST) 8K 368 256 15 Puerto A,B,C,D,E 3 2 Comparación/Captura/PWM Comunicaciones seriales Comunicaciones Paralelas Modulo de 10 bits análogodigital Total de Instrucciones Tipo de encapsulado MSSP, USART PSP 8 canales de entrada 35 instrucciones 40-pin PDIP 44-pin PLCC 44-pin TQFP 44-pin QFN 3.3 Sensor de Temperatura Serial TCN75 El TCN75 de Microchip es un sensor de temperatura programable serialmente (I2C) que además puede notificar al procesador controlador cuándo la temperatura ambiente excede el valor de set point programado por el usuario. Esta notificación la realiza a través del pin de salida INT/CMPTR el cual puede ser programado como un simple comparador para operación como termostato o como una interrupción por evento de temperatura. La histéresis también puede ser programada. La comunicación con el TCN75 es realizada vía un bus de 2 hilos que es compatible con el protocolo estándar de la industria. Este permite leer la temperatura actual, programar el set point y la histéresis y configurar el dispositivo. Este sensor trabaja en el rango de –55 ºC a +125 ºC con precisión de 0.5 ºC, viene normalmente en encapsulado SOIC de 8 pines y existen modelos para trabajar con voltajes de 3.3 y 5 volt. Tabla 3Tabla 3.3 Descripción de pins del sensor digital TCN75. Pin 1 2 3 4 5 6 7 8 Símbolo SDA SCL INT/CMPTR GND A2 A1 A0 VDD 13 Función Datos seriales Bi-direccional Entrada de reloj bus serial Salida interrupción o comparador Común Pin Selección Dirección (MSB) Pin Selección Dirección Pin Selección Dirección (LSB) Entrada fuente de poder Tabla 4Tabla 3.4 Descripción de los registros del sensor digital TCN75. Nombre TEMP Descripción Temperatura ambiente Ancho Lectura Escritura 16 X X TSET Temperatura Set point 16 X X THYST Temperatura Hysteresis 16 X X POINT Apuntador de Registros Registro de Configuración 8 X X 8 X X CONFIG Notas Formato Complemento a 2 Formato Complemento a 2 Formato Complemento a 2 Registro Temperatura (TEMP), 16 bits, sólo lectura D15 D14 D13 D12 D11 D10 D9 MSB D7 D6 D5 D4 D3 D2 D8 D7 D6 D1 LSB X D5 D4 D3 D2 D1 D0 X X X X X X D5 D4 D3 D2 D1 D0 X X X X X X D5 D4 D3 D2 D1 D0 X X X X X X Registro Temperatura Set Point (TSET), 16 bits, Lectura/escritura D15 D14 D13 D12 D11 D10 D9 MSB D7 D6 D5 D4 D3 D2 D8 D7 D6 D1 LSB X Registro Hysteresis (THYST), 16 bits, Lectura/escritura D15 D14 D13 D12 D11 D10 D9 MSB D7 D6 D5 D4 D3 D2 D8 D7 D6 D1 LSB X 3.4 Optoacoplador Un optoacoplador es un dispositivo de emisión y recepción de luz que funciona como un interruptor. Consiste en un fotoemisor y un fotorreceptor cuya conexión entre ambos es óptica. Se utiliza cuando se va a conectar corriente alterna y circuitos de bajo voltaje. 3.5 TRIAC El TRIAC es parecido a un DIAC, el DIAC es una combinación paralela inversa de dos terminales de capas de semiconductor que permite el disparo de tensión en cualquier 14 dirección, pero el TRIAC tiene además una compuerta de control en la cual se aplica una señal de voltaje. Se utiliza para controlar el paso de corriente alterna. 3.6 Sensor de Temperatura Un sensor es un dispositivo que a partir de la energía del medio donde se mide, da una señal de salida transducible que es función de la variable medida, es decir toma una señal del medio físico y la convierte a una señal de voltaje, en este caso mide la temperatura del ambiente. 3.6.1 Sensor de Temperatura LM35 El sensor de temperatura LM35 es análogo tiene tres pines de conexión, el primero para 5 volts, el segundo es la salida y el tercero va a tierra. Este sensor entrega en su salida 10mv por grado centígrado y el rango de temperatura que puede leer va desde -155 grados hasta +150 grados centígrados. La señal análoga se puede procesar y convertir a digital por medio de un ADC. Figura 3.4 Sensor de temperatura LM35 encapsulado plástico visto por abajo. Hay varias formas de conectar este sensor análogo dependiendo el uso que queremos darle en la hoja de datos se sugieren algunas opciones una de ellas se presenta en la figura(3.5). 15 Figura 3.5 Sensor de temperatura LM35 conexión típica. 3.7 Pantalla de Cristal Líquido (Liquid Crystal Display LCD) Es una pantalla de cristal líquido para mostrar mensajes o cualquier carácter alfanumérico. La pantalla tiene una matriz de caracteres de 5 x 7 puntos normalmente distribuidos de 1 a 4 líneas de 16 hasta 40 caracteres cada línea. Tiene integrado un microcontrolador Hitachi 44780 que lleva programado el proceso de visualización. 3.8 Módulo receptor RWS-434 y trasmisor TWS-434 El TWS-434A y RWS-434 son elementos excelentes en las aplicaciones que requieren rangos cortos de Radiofrecuencia. El TWS-434 es un módulo transmisor el cual tiene una potencia de salida de hasta 8 mW a 433.92 MHz, alcanzando distancias de aproximadamente 60 metros en espacios abiertos y de 30 metros en espacios internos donde se tengan obstáculos. El Transmisor TWS-434 acepta señales digitales de entrada, puede operar con una tensión que va desde 1.5 Volts a 12 Volts-DC. 16 Figura 3.6 Transmisor TWS-434A. El RWS-434 es un módulo receptor que funciona a una frecuencia de 433.92 MHz. El receptor RWS-434 opera con una alimentación entre 4.5 y 5.5 Volts-DC, lo cual nos permite un gran ahorro de energía. Figura 3.7 Receptor RWS-434. 3.9 Codificador CIP-8E Este codificador es un PIC16F687 programado para leer 8 bits de datos y codificarlos en un paquete que se entrega por una sola línea de salida hacia un transmisor. La razón de utilizar una codificación es porque al enviar la señal a través de radio frecuencia el receptor debe reconocerla ya que hay varias señales que pueden llegar, sin 17 embargo solo una nos interesa descifrar. Un ejemplo de codificación puede hacerse como el ejemplo de la figura (3.8). Figura 3.8 Ejemplo de codificación [9]. En el paquete de desarrollo RFPIC de Microchip se presenta este tipo de codificación utilizada para enviar por una sola línea de salida del RFPIC el siguiente formato con la información a transmitir, que consta de cuatro partes las cuales se explican a continuación. Preámbulo: que es un número determinado de pulsos, los cuales duran un tiempo definido. Header: En el header la línea que está enviando la información se queda en nivel bajo por una cantidad de tiempo definida. Data: En esta parte se empiezan enviar los bits de datos. Figura 3.9 Formato de un cero. 18 Figura 3.10 Formato de un uno. Guard Time: Cuando se terminan de enviar datos la línea que está enviando la información se pone a nivel bajo nuevamente como en el header pero dura un tiempo diferente a éste. 3.10 Decodificador CIP-8D El decodificador CIP-8D es un PIC16F687 programado para descifrar el código que le entrega el receptor RWS-434 en un pin de entrada y envía 8 bits con el dato recibido por un puerto de salida. Siguiendo el ejemplo de la figura (3.8) de la señal enviada por RF. El receptor para reconocerla contara los pulsos verificando el tiempo de duración de cada parte del formato de código. Así por ejemplo hasta que reciba la cantidad de pulsos esperada del preámbulo iniciará a recibir la información, verificando todo el formato y si alguna parte no coincide con lo que se espera vuelve a la espera del preámbulo correcto. 3.11 Convertidor Análogo Digital (ADC) Un convertidor análogo digital consiste en un circuito electrónico que convierte una señal de voltaje a una señal discreta o digital. La señal digital depende de cuantos bits sea el convertidor así como de un voltaje de referencia conectado al circuito. Por ejemplo, un ADC de 8 bits, puede tener 2n códigos digitales. En la figura (3.11) se representa la resolución de una ADC de 8 bits. 19 Figura 3.11 Resolución de un ADC 20 CAPITULO 4 Desarrollo del Prototipo El prototipo a desarrollar permitirá controlar un ventilador de techo el cual tendrá la función de homogenizar la temperatura de una habitación y así generar un clima más confortable. El prototipo consta de dos etapas: Etapa transmisora: Se utilizará un microcontrolador AT89S52 de ATMEL para lograr una interfaz en donde el usuario pueda seleccionar la temperatura deseada por medio de botones y visualizar el valor en un display, además se conectará a un puerto del microcontrolador un codificador de datos que permita enviar la información proporcionada por el usuario a un transmisor TWS-434A el cual realiza la transmisión por medio de radiofrecuencia. Etapa Receptora: El dato enviado será captado por el receptor RWS-434 al cual se conectará un decodificador de 8 bits, el dato decodificado será leído por un microcontrolador PIC que también tomará lectura de un sensor de temperatura y hará la comparación de estos dos datos activando una salida si el dato leído por el sensor esta en el rango programado para encender el ventilador. 21 En la siguiente figura (4.1) se describe el diagrama general del prototipo. Figura 4.1 Diagrama de bloques del sistema. Inicialmente se realizaron pruebas para determinar cómo podría ayudar un ventilador en la homogenización de temperatura en espacios cerrados. A continuación se presentan las figuras de los resultados obtenidos. La primera prueba se realizó para conocer los cambios de temperatura utilizando la calefacción en una casa habitación, las medidas se tomaron dentro de una recámara. En la figura (4.2) se muestra que al encender la calefacción se va notando una diferencia de temperatura entre la parte alta y la parte baja de la habitación, conforme avanza el tiempo se pone mas caliente la parte superior mientras que casi no hay cambio en la parte baja. 22 35 30 25 20 temp inf 15 temp sup 10 5 0 0 min 3 min 4 min 5 min 6 min 8 min 10 min Figura 4.2 Resultado de la prueba en una casa con calefacción sin activar ventilador. En la figura (4.3) se muestran los resultados al encender la calefacción pero ahora también encendiendo un ventilador de techo. Como podemos ver la temperatura se homogeniza rápidamente y se mantiene muy similar en la parte superior y la parte inferior de la habitación. 30 25 20 temp inf 15 temp sup 10 5 0 0 min 1 min 3 min 4 min 5 min 6 min 8 min 9 min 10 min Figura 4.3 Resultado de la prueba en una casa con calefacción activando ventilador. En la segunda prueba se encendió la calefacción activando y desactivando el ventilador se observó que al encender el ventilador la temperatura empezaba a homogenizarse y al apagar el ventilador no tardaba mucho tiempo en notarse diferencia de temperatura en la parte inferior y superior. 23 En la figura (4.4) se pueden observar los resultados. Figura 4.4 Comportamiento de la temperatura en habitación con calefacción. 4.1 Análisis de material Para empezar el desarrollo del proyecto se instaló en una computadora software de programación de microcontroladores y programas de simulación de circuitos así como las hojas de datos de los componentes a utilizar. Con el fin de comprender el funcionamiento de los dispositivos elegidos se realizaron las siguientes pruebas. 4.1.1 Comunicación Inalámbrica Con el fin de utilizar comunicación inalámbrica RF se realizaron pruebas con los módulos transmisor y receptor del paquete de desarrollo de Microchip “RFPIC Development Kit”. Se programó el módulo transmisor con el archivo de prueba XMIT_DEMO.HEX utilizando la tablilla PIC starter de Microchip (Figura 4.2). 24 Figura 4.5 Conexión del transmisor. Se programó el PIC16F676 para funcionar con el módulo receptor con el programa RCVR_DEMO.HEX (Figura 4.6). Figura 4.6 Conexión de prueba para el transmisor. Conectamos en el módulo transmisor a 5v, al presionar un botón en éste se enciende un LED en la tablilla de programación PIC starter. 25 El transmisor funcionó correctamente a diferentes distancias del receptor en una habitación chica. Se programó el módulo transmisor con una prueba para enviar datos que funcionó correctamente. 4.1.2 Componentes para Interfaz con el Usuario Las siguientes pruebas se realizaron con el objetivo de verificar que nuestro microcontrolador ATMEL funcionara sin problemas y posteriormente implementar su uso para hacer una interfaz con el usuario del sistema de activación del ventilador, utilizando este microcontrolador y una pantalla LCD con el cual también se hicieron las pruebas que a continuación se muestran. Se programó el microcontrolador AT89S52 con un código para rotar LEDs el cual funcionó correctamente simulado (Figura 4.7) y armado en protoboard. Figura 4.7 Conexión del circuito de prueba funcionamiento AT89S52. Se elaboró y programó código para probar funcionamiento del LCD simulado (Figura 4.8) y en protoboard. 26 Figura 4.8 Conexión del circuito de prueba AT89S52- LCD. 4.1.3 Activación de Alimentación de Corriente Alterna con Señal Digital Para poder controlar un ventilador de techo con una señal digital es necesario utilizar un optoacoplador y un TRIAC, ya que la señal digital es de 5 volts y el ventilador requiere de un voltaje de corriente alterna de 110 volts por esta razón se hizo la prueba que a continuación se presenta. Se construyó circuito para activar el paso de corriente alterna con una señal digital utilizando optoacoplador, TRIAC y un foco simulado (Figura 4.9) y armado en protoboard. 27 Figura 4.9 Conexión de circuito de prueba para optoacoplador y TRIAC. 4.1.4 Control de Activación del Ventilador Un circuito con PIC controlará la señal digital de activación del ventilador por lo cual se verificó que funcionara del PIC16F84A con el cual se realizaron pruebas posteriormente con el sensor de temperatura. Se programó el microcontrolador PIC16f84A con un código para prender dos LEDs alternadamente el cual funcionó correctamente simulado (Figura 4.10) y armado en protoboard. 28 Figura 4.10 Conexión del circuito para probar el PIC16F84A. 4.1.5 Funcionamiento del Sensor TCN75 Ya que uno de nuestros objetivos es controlar la temperatura de las casas habitación, requerimos un sensor para este propósito. Las siguientes pruebas se realizaron con el fin de comprobar el funcionamiento del sensor digital de temperatura TCN75. Se elaboraron librerías con funciones de I2C para utilizar con el sensor TCN75 y PIC Se programó el PIC16F877A para leer el sensor TCN75 por medio del protocolo I2C Con el fin de revisar que microcontrolador funciona mejor para la aplicación se programó el PIC16F84A para leer el sensor digital TCN75. Se llevó a cabo la construcción de circuitos de prueba para cada uno de los PICs y así determinar cual utilizaríamos. 29 Figura 4.11 Conexión de PIC16F84A y sensor I2C. Figura 4.12 Conexión de PIC16F877A y sensor I2C. 30 En la figura (4.13) se muestra el circuito con un PIC16F84A que lee la temperatura del sensor y lo muestra en los LEDs como dato binario de 8 bits. Figura 4.13 Conexión de circuito para probar sensor TCN75. 4.1.7 Resultado del Análisis El resultado de estas pruebas fue exitoso por lo que se procedió a realizar la implementación del proyecto 4.2 Implementación del Proyecto. A continuación se describirá el procedimiento que se llevó a cabo para desarrollar el prototipo con descripción de los programas y diagramas de flujo. 4.2.1 Interfaz con el usuario El primer programa implementado es para crear una interfaz con el usuario del sistema en la etapa transmisora el cual cuenta con los siguientes elementos: Un microcontrolador AT89S52 de ATMEL con un display LCD y cuatro botones, a continuación se explica la función de este circuito. El LCD muestra números y texto para permitir al usuario seleccionar la temperatura por medio de los botones. La función de los botones es permitir al usuario modificar la temperatura y enviar el dato al receptor 31 Botón Cursor: Señala la posición del cursor para establecer valor del primer digito 00 o del segundo. 00 Botón Up: Sirve para ir subiendo el valor del digito donde esta posicionado el cursor 02 Botón Down: Sirve para bajar el valor del digito donde esta posicionado el cursor 01 Botón Enter: Enviar dato en formato binario a un puerto del microcontrolador Ejemplo: Si seleccionamos un 57 en pantalla, la salida es 111001 en un puerto. El dato de salida se enviará por radiofrecuencia al circuito receptor donde se controla la activación del ventilador. A continuación se muestran los diagramas de flujo para realizar el programa del funcionamiento de la interfaz con el usuario (Figura 4.14) 32 Inicio Mostrar mensaje en LCD Checar Botones Botón CURSOR Presionado Si Subrutina UNDEC No Botón UP presionado? Si Subrutina AUMENTA No Botón DOWN presionado? Si Subrutina DISMINUYE No Botón ENTER presionado? Si Subrutina ACCIONA No Checar Botones Figura 4.14 Diagrama del programa transmisor 33 Checar Botones Figura 4.15 Subrutina Undec. 34 Checar Botones No CURSOR=DECENAS Si CURSOR 2do. renglón columna 1 Mostrar posición del CURSOR en LCD Si CURSOR segundo renglón columna 1? No Revisar el rango de Decenas de 0 a 9 Revisar el rango de unidades de 0 a 9 Decenas = Decenas + 1 Unidades=Unidades + 1 Mostrar Decenas en Display Mostrar Unidades en Display Checar BOTONES Figura 4.16 Subrutina Aumenta. 35 CURSOR 2do. renglón columna 2 Checar Botones No CURSOR=DECENAS Si CURSOR 2do. renglón columna 1 Mostrar posición del CURSOR en LCD Si CURSOR segundo renglón columna 1? No Revisar el rango de Decenas de 0 a 9 Revisar el rango de unidades de 0 a 9 Decenas = Decenas - 1 Unidades = Unidades - 1 Mostrar Decenas en display Mostrar Unidades en display Checar BOTONES Figura 4.17 Subrutina Disminuye. 36 CURSOR 2do. renglón columna 2 Checar Botones Convertir ASCII del número seleccionado por el usuario a un número binario Enviar a un puerto de salida Figura 4.18 Subrutina Acciona. En la figura (4.19) se muestra el circuito para probar el funcionamiento de la interfaz de usuario. Temperatura seleccionada Salida en binario BOTONES . Figura 4.19 Construcción de circuito de interfaz de usuario. 37 4.3 Programa para funcionamiento del circuito receptor El programa que se implementa en el PIC16F877A es para permitir que conforme al dato enviado por el usuario, se encienda el ventilador de techo conforme a la temperatura deseada. El PIC tomará la lectura del sensor y leerá del decodificador el dato del usuario haciendo comparaciones para activar o no el optoacoplador conectado a un pin de salida del PIC. En la figura (4.20) se presenta el diagrama de flujo para realizar el programa que controlará la activación del ventilador en el circuito receptor. 38 Figura 4.20 Diagrama de Flujo para el receptor. 39 En la figura (4.21) se presenta el diagrama de todo el sistema. Figura 4.21 Diagrama de Flujo del Sistema. 40 Para la comunicación inalámbrica por radiofrecuencia se realizaron pruebas con el paquete de desarrollo RFPIC de microchip y el kit de comunicación TWS-434A /RWS-434, con el fin de elegir los componentes más prácticos para la comunicación inalámbrica. 4.4 Prueba del transmisor TWS-434A En la siguiente figura (Figura 4.22) se presenta el diagrama de conexión para probar el funcionamiento del transmisor TWS-434A con su codificador de datos Figura 4.22 Conexión del Transmisor TWS-434A al Decodificador. 4.5 Prueba del Receptor RWS-434 El receptor RWS-434 se probó con el diagrama de la figura (4.23) en la que se muestra también en decodificador de datos y su respectiva antena. 41 Figura 4.23 Conexión del Receptor Rws-434 al Decodificador RWS-434. El resultado de las pruebas mencionadas en los puntos (4.4) y (4.5) fue exitoso. Se hizo la comparación entre el paquete de desarrollo de microchip y estos los módulos que son más sencillos de utilizar, más prácticos y no son tan sensibles a estática y ruido por lo que decidimos utilizar estos últimos para la comunicación inalámbrica. En la figuras (4.24) y (4.25) se presenta la construcción del circuito transmisor que se realizó para comprobar el funcionamiento de los componentes de comunicación RF. 42 Figura 4.24 Circuito Transmisor en protoboard. Figura 4.25 Circuito transmisor con antena. 43 Figura 4.26 Circuito transmisor mostrando dato a enviar. En la Figura (4.27) se muestra el funcionamiento del RWS-434 con el circuito receptor verificando que el dato que fue enviado desde el TWS-434A (Figura 4.26). Figura 4.27 Circuito receptor en protoboard. 44 Figura 4.28 Circuito receptor mostrando dato recibido del TWS-434. 4.6 Lectura del sensor LM35 Con el fin de probar el funcionamiento de éste sensor de temperatura se programó el PIC16F877A para que tomara la lectura del LM35 por una entrada análoga y mostrara el dato obtenido en el ADC(Convertidor Análogo Digital) interno de este PIC por un puerto de salida digital. En la figura (4.29) se muestra la conexión. Figura 4.29 Lectura de LM35 y salida digital. 45 Capitulo 5 Resultados En este capítulo se explican los procedimientos de integración de todo el sistema. En base a las pruebas de hardware y software realizadas se eligieron los componentes a utilizar en nuestro sistema realizando algunos cambios de lo que se planteó en un inicio. 5.1 Etapa transmisora Esta etapa consiste en la interfaz con el usuario y el envío de la temperatura seleccionada a través de un transmisor que utiliza como medio de comunicación radiofrecuencia. Uno de los cambios fue sustituir los módulos de transmisor y receptor de microchip RFPIC por los módulos transmisor y receptor TWS-434A/ RWS-434 por ser éstos más prácticos y sencillos de utilizar, además de contar con mejores antenas disminuyendo el riesgo de interferencias. A continuación se enlista los componentes principales de la etapa transmisora que incluye la interfaz con el usuario y el envío de la información, el código del microcontrolador se anexa en el Apéndice C por su extensión. 1 Microcontrolador AT89S52 1 LCD LM071L 4 Botones de pulsación 1 Codificador CIP-8E 1 Transmisor RF TWS-434A 1 Antena En la figura (5.1) se muestra en diagrama de la etapa transmisora en el cual el usuario puede elegir la temperatura deseada por medio de unos botones, un display LCD muestra 46 este valor el cual es procesado por el microcontrolador AT98S52 y enviado en formato binario por un puerto de salida de 8 bits. Este puerto es conectado al Codificador CIP-8D, el cual tiene la función de convertir los 8 bits de entrada en un paquete de datos que salen por una sola línea hacia el transmisor TWS-434A. Figura 5.1 Diagrama de la Etapa Transmisora. 47 En la figura (5.2) se presenta la fotografía del circuito armado que funcionó correctamente. Figura 5.2 Circuito en protoboard de la interfaz de usuario. Figura 5.3 Circuito interfaz de usuario con transmisor en protoboard 5.2 Etapa receptora Esta etapa consiste en controlar la activación de alimentación del ventilador de techo según la temperatura elegida por el usuario. 48 Los cambios realizados en el circuito receptor son los siguientes: se sustituyó el sensor digital TCN75 por el sensor LM35 ya que consideramos que éste es un componente más comercial y sencillo de aplicar aunque se hicieron pruebas con el sensor digital también tiene la desventaja de ser sensible a la energía estática y de que si se llega a dañar no se consigue de manera rápida. Los componentes principales utilizados para la etapa receptora son los siguientes: 1 Módulo Receptor RWS-434 1 Antena 1 Decodificador CIP-8D 1 Sensor analógico LM35 1 PIC16F877A 1 Optoacoplador MOC3031 1 TRIAC MAC12D 1 Ventilador En la figura (5.4) se presenta el diagrama de conexión de la etapa receptora 49 Figura 5.4 Diagrama de conexión etapa receptora. La señal enviada del transmisor llega al Receptor RWS-434 y después sale hacia un decodificador CIP-8D, este decodificador tiene la función contraria al codificador, transforma el paquete de datos que viene del transmisor en 8 bits y estos salen hacia el PIC16F877A, el microcontrolador compara los valores del decodificador con los del Sensor LM35, y se activa el ventilador según el diagrama de flujo del receptor mostrado en el capítulo 4 en la figura (4.20). El código de éste programa se anexa en el Apéndice C por su extensión. 50 En la figura (5.5) se muestra el circuito receptor con sensor de temperatura y acoplamiento para activar corriente alterna. Figura 5.5 Circuito receptor para activación de ventilador 51 CONCLUSIONES. En cuanto al desarrollo de este proyecto observamos que lo más importante es la planeación y tomar en cuenta todas las ventajas e inconvenientes de los materiales que se vayan a utilizar, así como tener opciones alternativas en caso de que un componente no cumpla con las expectativas de los resultados que deseamos obtener. Por otra parte cuando elegimos los componentes éstos deben ser fáciles de conseguir de modo que si se descompone cualquiera de ellos se puedan reemplazar con rapidez ya que de lo contrario se pierde mucho tiempo, también debemos revisar cuales componentes podemos adaptar mejor al proyecto, además de que podamos implementarlos en dentro del tiempo límite que tenemos. En cuanto a los resultados obtenidos cubrimos una parte importante del desarrollo e implementación, pero por cuestiones de tiempo y cambio de componentes no llegamos a la parte de instalación del sistema ya en forma de dispositivo terminado. Entre las mejoras que se pueden realizar consideramos las siguientes: - Implementar este sistema para aire acondicionado y no solo para calefacción - Que el control remoto se pueda extender hacia todas las áreas de una casa habitación funcionando para los ventiladores que se desee. - Diseñar las cajas que contengan los circuitos. - Añadir a la programación el control de la velocidad y el sentido en el que giran las aspas del ventilador. - Reducir el tamaño de los circuitos. El tamaño de los circuitos podría reducirse a la mitad o menos, en la parte del circuito transmisor podemos utilizar un PIC16F684 de dos puertos con oscilador interno, también podemos eliminar el codificador programando la codificación en el mismo PIC ya que solo se requiere de una línea de salida para pasar la información al transmisor. El circuito transmisor quedaría como se muestra en la figura (A). El circuito receptor podría utilizar un PIC12F675 de 8 pins con oscilador interno ya que también cuenta con ADC, además se puede programar la decodificación en este PIC eliminando el uso del decodificador. El circuito receptor quedaría como se muestra en la figura (B). 52 Figura A Circuito transmisor reducido. Figura B Circuito receptor reducido. 53 APÉNDICE A HOJAS DE DATOS DEL CIRCUITO TRANSMISOR 54 55 56 57 LIQUID CRYSTAL DISPLAY (LCD) 58 59 60 APENDICE B HOJAS DE DATOS DE CIRCUITO RECEPTOR 61 62 63 64 65 66 67 68 69 APENDICE C CODIGOS DE PROGRAMACION ;CODIGO PARA MICROCONTROLADOR AT89S52 ;************************************************************ ;* LCD BOTONES up down, salida puerto ;* * ;* PROYECTO * ;* ITZEL LOPEZ HERNANDEZ * ;* DANIEL ZUÑIGA CASTRO ;************************************************************ ;---- Constantes para manejo del timer --------------------cero equ 1 ; Sin Multiplicador cinco equ 5 ; 1/4 de Segundo diez ; 1/2 Segundo equ 10 veinte equ 20 ; 1 Segundo ;----- LCD -------------------------------------------------EN EQU P3.7 RS EQU P3.6 RW EQU P3.5 ;-------------------------BOTONES UP DOWN-------------------UP EQU P3.0 ;AUMENTAR TEMPERATURA DE ACTIVACION DOWN EQU P3.1 ;DISMINUIR TEMPERATURA DE ACTIVACION ENTER EQU P3.2 ;ENTER , PARA ENVIAR SEÑAL PARA TRANSMISOR CURSOR EQU P3.3 ;MOVIMIENTO DEL CURSOR ; ;POSLCDR1 EQU 80H 09/02/10 ;POSLCDR2 EQU 0C0H 09/02/10 ; ;-----------------------------------------------------------ORG 00h ; Vector de Reset MOV SP,#30H ;Configura: 09/02/10 ;-------------- Configurar Timer 0--------------------------- 70 ANL TMOD,#0F0H ; BITS TIMER0 OFF ORL TMOD,#01H ; MODO 16 TIMER 0 ;-----------------------------------------------------------MOV P1,#0F0h ;----------CONFIGURACION DE ENTRADAS, BOTONES----------------SETB UP ;SELECCIONAR COMO ENTRADA SETB DOWN SETB ENTER SETB CURSOR ; ; INICIALIZACION DEL LCD ; LCALL LCDInic ; ;----------------------------------------------------------;------------------------;Mensaje por medio de tablas ;MOV A,#80H ;CURSOR EN EL PRIMER RENGLON PRIMER ESPACIO ;LCALL COMMAND ;MOV DPTR,#MENS1 ;ACALL DISPLAY ;MOV A,#0C0H ;LCALL COMMAND ;MOV DPTR,#MENS2 ;LCALL DISPLAY ;MOV A,#01H ;LCALL COMMAND ;MOV A,#80H ;ACALL COMMAND ;MOV DPTR,#MENS3 ;LCALL DISPLAY MOV A,#0C0H LCALL COMMAND ;CURSOR EN SEGUNDO RENGLON PRIMER ESPACIO ;COMANDOS DEL LCD 71 MOV DPTR,#MENS16 ;VALOR DE TABLA: CERO LCALL DISPLAY ;MOSTRAR EN LCD ;RUTINA PARA REVISAR BOTONES UP DOWN ;---------------------------------------------------------------BOTONES: MOV R5,#030H ;INICIALIZAR REGISTRO DE DECENAS 10/05/2010 MOV R6,#030H ;INICIALIZAR REGISTRO DE UNIDADES 10/05/2010 ;---------SOLO PRUEBA ----QUITAR 10/02/2010 ;MOV B,#02H ;MOV R4,#02H ;MOV R0,#30H ;MOV R5,#035H ;MOV R6,#037H ;-----------------------------------------------CHECAR: LCALL DELAY20mS1 ;******9/feb/2010 retardo contra rebote JNB CURSOR,UNDEC ;SI EL BOTON ES PRESIONADO SALTA A UNDEC LCALL DELAY20mS1 JNB UP,AUMENTA ;SI EL BOTON ES PRESIONADO BRINCA A AUMENTA LCALL DELAY20mS1 JNB DOWN,DISMINUYE ;SI EL BOTON ES PRESIONADO BRINCA A DISMINUYE LCALL DELAY20mS1 JNB ENTER,polin ;SI EL BOTON ES PRESIONADO BRINCA A ACCIONA JMP CHECAR ;ESPERA A QUE ALGUN BOTON SEA PRESIONADO polin: LJMP ACCIONA 72 ;----------------SE PRESIONO BOTON CURSOR-------------------------------------------UNDEC: MOV A,#0C1H ;MUEVE AL ACUMULADOR SEGUNDO RENGLON SEGUNDO ESPACIO LCD MOV R4,#01H ;GUARDAR POSICION DEL CURSOR UNIDADES ***------27/ene/10-------- LCALL COMMAND ;POCISIONA CURSOR LCALL DELAY20mS1 ;*********9/feb/2010 JNB CURSOR,UNDEC2 JMP CHECAR ;SI EL BOTON ES PRESIONADO SALTA A UNDEC2 ;VOLVER A CEHCAR BOTONES UNDEC2: MOV A,#0C0H ;POSICION EN PRIMERA COLUMNA RENGLON DOS MOV R4,#02H ;GUARDAR POSICION DEL CURSOR DECENAS ****-----27/ene/10-------- LCALL COMMAND ;POSICIONA CURSOR LJMP CHECAR ;VOLVER A CHECAR BOTONES ;-----------------------SE PRESIONO BOTON UP----------------------------------AUMENTA: cjne r4,#02h,posic1 mov a,#0C0H ;------10/02/2010 compara r4 con #2 y salta si es diferente ;posicion del cursor segundo renglon primer columna LCALL COMMAND Ljmp aum ;muestra cursor en lcd ;salto a etiqueta posic1: ;etiqueta mov a,#0C1H ;posicion del cursor segundo renglon columna LCALL COMMAND aum: ;posicion del cursor en lcd ;etiqueta cjne r4,#02h,incuni -----------10/02/2010 ;compara donde esta el cursor LCALL CAUM INC R5 ;esta en decenas , incrementa R5 LCALL MUD Ljmp dc1 incuni: ;salta a etiqueta ;esta en unidades, incrementa R6 LCALL CAUM INC R6 ;R6+1 LCALL MUD,dc1: ;DJNZ R1,CHECAR ;ETIQUETA para decrementar contador rango 0-9 ;DECREMENTA R1,SI AUN NO LLEGA A CERO SALTA A CHECAR dc1: LJMP CHECAR 73 ;-----------------------------SE PRESIONO BOTON DOWN---------------------------------------------DISMINUYE: cjne r4,#02h,posic2 mov a,#0C0H ;------10/02/2010 compara r4 con #2 y salta si es diferente ;posicion del cursor segundo renglon primer columna LCALL COMMAND ;muestra cursor en lcd Ljmp _1 ;salto a etiqueta posic2: ;etiqueta mov a,#0C1H ;posicion del cursor segundo renglon columna LCALL COMMAND ;posicion del cursor en lcd _1: dism2: ;no es down el primer boton en ser presionado cjne r4,#02h,decuni2 ;donde esta el cursor LCALL CAMB ;en decenas, checar valor que este en rango minimo 0 DEC R5 LCALL MUD Ljmp dc2 ;salto a etiqueta decuni2: LCALL CAMB ;en unidades, checar valor que este en rango minimo 0 DEC R6 ;decrementar unidades LCALL MUD dc2: ;para decrementar LJMP CHECAR ;salto a checar los botones ;********************************SUBRUTINA CAMBIAR ASCII PARA DISMINUIR***************************************************** CAMB: cjne r4,#02h,reu cjne r5,#30H,reg MOV R5,#3AH jmp reg reu: cjne r6,#30H,reg MOV R6,#3AH reg: Ret ; ;&&&&&&&&&&&&&&&&&&&&&&&&&&SUBRUTINA PARA CAMBIAR ASCII PARA 74 ;AUMENTAR&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& CAUM: cjne r4,#02h,reu1 cjne r5,#39H,reg1 MOV r5,#2FH jmp reg1 reu1: cjne r6,#39H,reg1 MOV R6,#2FH reg1: ret ;***********************************SUBRUTINA COMUN AUMENTA ;DISMINUYE**10/05/2010********************************************* MUD: cjne r4,#02h,uni2 ;comparar donde esta el cursor MOV A,R5 Ljmp mdisplay uni2: MOV A,R6 mdisplay: ;etiqueta para pasar a siguiente instruccion LCALL DATA_DISPLAY Ret ;-----------------------------------SE PRESIONO BOTON ENTER-------------------------ACCIONA: ;---------27/ene/10------------- mov a,r5 ;mueve lo que hay en r5 al acumulador add a,r6 ;suma lo que hay en r6 y lo que hay en el acumulador cjne a,#96,decadas subb a,#96 ;compara si la suma es igual a 96 y si no salta ;96-96=0 jmp salidap ;salidapuerto decadas: cjne r5,#48,diez_ ;decenas =0? jmp otrosnum ;si, entonces salta a etiqueta diez_: ;eligio 10? cjne r5,#49,veinte_ subb a,#87 ;decenas=1? si no salta a etiqueta ;Si, restar al acumulador 87 ,a=97-87=10 75 jmp salidap ;salida a puerto veinte_: ;eligio 20? cjne r5,#50,treinta ;decenas=2? si no salta a etiqueta subb a,#78 ;si, restar a=98-78=20 jmp salidap ;salida a puerto treinta: ;eligio 30? cjne r5,#51,cuarenta ;decenas=3? si no salta a etiqueta subb a,#69 ;si, restar a=99-69=30 jmp salidap ;salida a puerto cuarenta: ;eligio 40? cjne r5,#52,cincuenta ;decenas=4? si no salta a etiqueta subb a,#60 ;si, restar a=100-60=40 jmp salidap cincuenta: cjne r5,#53,alerta subb a,#51 ;eligio 50? ;decenas=5? si no salta a etiqueta ;si, restar a=101-51=50 jmp salidap otrosnum: cjne r5,#48,dieci subb a,#96 jmp salidap dieci: cjne r5,#49,venti subb a,#87 jmp salidap venti: cjne r5,#50,treint subb a,#78 jmp salidap 76 treint: cjne r5,#51,cuarent subb a,#69 jmp salidap cuarent: cjne r5,#52,cincuent subb a,#60 jmp salidap cincuent: cjne r5,#53,sesent subb a,#51 jmp salidap sesent: cjne r5,#54,setent subb a,#42 jmp salidap setent: cjne r5,#55,ochent subb a,#33 jmp salidap ochent: cjne r5,#56,novent subb a,#24 jmp salidap novent: cjne r5,#57,alerta subb a,#15 jmp salidap salidap: mov P1,A ;valor del LCD sale al puerto 0 en dato binario 77 alerta: LJMP CHECAR ;-------------------RETARDO CONTRA REBOTE--------------------------------DELAY20mS: CLR TR0 ;RESET Timer 0 CLR TF0 ;Bandera TF=0 MOV TH0,#76 ;50 mSegundos MOV TL0,#00 ; SETB TR0 ;INICIE A CONTAR Timer0 ESPERA5: JNB TF0,ESPERA5 ;HASTA QUE DESBORDE TIMER ; --- bye se cumplio tiempo ---CLR TR0 ;APAGAR TIMER RET ;------------------------------------------------------------------------;-------------------------CICLAR: LJMP CICLAR ;--------------------------; ;************************************************************* ; PROCEDIMIENTOS ;************************************************************* LCDInic: ; Iniciliza LCD ;------------------------------------------;Power On Retardo > 40ms mov R7,#cero MOV TH0,#76 ; 50 mSegundos MOV TL0,#00 ; LCALL ProcDelay ;------------------------------------------;Comandos de Inicialización ; 78 MOV A,#30H ;#1 LCALL INICIALIZA mov R7,#cero ;MOV TH0,#0A6h ; 25 mSegundos (4.1mS) MOV TH0,#76 ; 50 mSegundos MOV TL0,#00 ; LCALL ProcDelay ; MOV A,#30H ;#2 LCALL INICIALIZA mov R7,#cero ;MOV TH0,#0A6h ; 25 mSegundos (100 MicroS) MOV TH0,#76 ; 50 mSegundos MOV TL0,#00 ; LCALL ProcDelay ; ; Ya se puede revisar BF(Busy Flag) MOV A,#30H ;#3 LCALL INICIALIZA mov R7,#cero ;MOV TH0,#0A6h ; 25 mSegundos (X) MOV TH0,#76 ; 50 mSegundos MOV TL0,#00 ; LCALL ProcDelay ;----------------------------------------------; Modo de operación ; Ya se puede revisar la el bit de BF(Busy Flag) ; Se revisar BF ; MOV A,#38H ;5X8 Puntos DOS Renglones LCALL COMMAND MOV A,#0EH ;Prender LCD y activar cursor LCALL COMMAND MOV A,#01H ;Limpiar pantalla LCALL COMMAND MOV A,#06H ;Posicionar cursor y avanza Der. LCALL COMMAND ; 79 MOV A,#80H ;CURSOR: LINEA 1, COLUMNA 1 LCALL COMMAND ;-----------------------------------------------Ret ; INICIALIZA: CLR EN CLR RW CLR RS ACALL Sdelay SETB EN NOP NOP MOV P2,A LCALL Sdelay ; NOP CLR EN ; LCALL Sdelay RET ; Sdelay: MOV R7,#1 ; 1/4 Segundo MOV TH0,#76 ; MOV TL0,#00 ; LCALL ProcDelay Ret ; ProcDelay: CLR TR0 CLR TF0 TON: SETB TR0 ; Prende Timer0 Espera: JNB TF0,Espera CLR TR0 80 CLR TF0 DJNZ R7,TON RET ; COMMAND: LCALL READY CLR EN CLR RS CLR RW LCALL Sdelay SETB EN MOV P2,A ; LCALL Sdelay CLR EN ; LCALL Sdelay RET ; DATA_DISPLAY: LCALL READY CLR EN NOP NOP SETB RS NOP NOP CLR RW NOP NOP SETB EN NOP NOP MOV P2,A NOP NOP NOP ; 81 LCALL Sdelay CLR EN NOP NOP NOP NOP ; LCALL Sdelay RET ;---------------------------------------------------09-FEB-2010-------------------------------------------DELAY20mS1: CLR TR0 ;RESET Timer 0 CLR TF0 ;Bandera TF=0 MOV TH0,#76 ;50 mSegundos MOV TL0,#00 ; SETB TR0 ;INICIE A CONTAR Timer0 ESPERA1: JNB TF0,ESPERA1 ;HASTA QUE DESBORDE TIMER ; --- bye se cumplio tiempo ---CLR TR0 ;APAGAR TIMER RET ;-------------------------RETARDO CONTRA REBOTE----------------------------------------------------------------;***************************************** ; Revisar bandera de ocupado ;***************************************** READY: SETB P2.7 ;Como entrada CLR RS SETB RW ;RS=0 (Instrucciones LCD) ;RW=1 BACK: CLR EN ;EN=0 nop nop nop SETB EN ;EN=1 JB P2.7,BACK;HASTA QUE SE DESOCUPE RET 82 ;******************************************* ;Obtiene datos de las tablas ;******************************************* DISPLAY: CICLO: CLR A MOVC A,@A+DPTR; JZ FIN LCALL DATA_DISPLAY INC DPTR LJMP CICLO FIN: RET ; ;****************************************** ;TABLAS ;****************************************** ;Cero indicar de fin de cadena, como en C MENS1: DB 'I','n','i','c','i','o',0 MENS2: DB 'S','e','l','e','c','c','i','o','n','a','r',0 MENS3: DB 't','e','m','p','e','r','a','t','u','r','a',0 MENS16:DB '0','0',0 ; ;******************************************* ; END ; Directiva fin de programa CODIGO DE PROGRAMACION PARA EL PIC16F877A 83 ;-------PROGRAMA para comparar temperaturas activar y desactivar ventilador---15/05/2010---------------LIST P=16F877A ; Se selecciona que PIC va a utilizarse. ; Se selecciona la librería a emplear dentro de C:\Program Files\Microchip\MPASM Suite. Include "P16F877A.INC" __CONFIG _XT_OSC & _CP_OFF & _WDT_OFF & _PWRTE_ON ;****************ZONA DE VARIABLES Y CONSTANTES*********************************** CBLOCK 0X20 DATOSENSOR T1 T2 TEMP DATOUSUARIO ;Dato de temperatura deseada por el usuario DATOUmenos5 CINCO DOS CERO DATOUmas2 ENDC TIMER_CARGA500us equ d'256'-d'250' ;--------------------------ZONA DE CODIGO-------------------------------------------ORG 0X00 goto INICIO ;Subroutine READ_ANALOG_AN0; READ_ANALOG_AN1 ; Output: ADRESH and ADRESL contain 10-bit A/D result justified ; according to ADCON0, ADFM bit. ; READ_ANALOG_AN0 bcf ADCON0, CHS1 ; select analog channel AN0 84 bcf ADCON0, CHS0 READ_ANALOG bcf bsf STATUS,RP0 ADCON0, ADON call ; Turn on ADC module ret1ms bsf ADCON0,2 ; start A/D conversion btfsc ADCON0,2 goto bcf ; has A/D conversion completed? $-1 ADCON0, ADON ; Turn off ADC module (consumes no operating current) return ;-----------------CONFIGURAR TIMER------------------------------------------------------CONFTIMER bsf STATUS,RP0 movlw 0x0 ;acceso al banco 1 ;seleccionar bit TOCS del registro 100000 movwf OPTION_REG bcf STATUS,RP0 ;mover valor a registro ;regresar al banco 0 return ;***************************------------------************************** ;-------------------------subrutina timer 500us----------------------------------------TIMER0_500us movlw TIMER_CARGA500us ;carga del timer 0 movwf TMR0 bsf STATUS,RP0 ;acceso al banco 1 bcf INTCON,T0IF ;resetea el bit de desbordamiento timer 0 bcf STATUS,RP0 ;regresa al banco 0 TIMER0_REBOSAMIENTO btfss INTCON,T0IF ;se ha producido desbordamiento? goto TIMER0_REBOSAMIENTO ;todavia no return ret500ms ;subrutina de retardo .5s movlw d'50' movwf T2 85 TIME movlw d'50' movwf T1 call TIMER0_500us decfsz T1 goto $-2 decfsz T2 goto TIME return ret1ms movlw 0x40 movwf T2 call TIMER0_500us decfsz T2 goto $-2 return INI ;SUBRUTINA PARA INICIALIZAR ENTRADAS Y SALIDAS clrf PORTA ;LIMPIAR REGISTROS clrf PORTB clrf PORTC clrf PORTD bsf STATUS,RP0 ;Configuración de entradas ;movlw b'00000000' movlw b'11111111' ;W=255, para configurar como entradas para leer dato del receptor movwf TRISC movlw b'11111111' ;El puerto C ;W=255 puertoA como entradas PA.0 Como entrada análoga movwf TRISA movlw b'00000000' ;Valor al TRISA ;W=O para configurar como salidas movwf TRISD ;Puerto PD.0 Como salida para activar el optotriac bcf STATUS,RP0 ;---------------------------------------- 86 ;CONFIGURACION DEL ADC bcf STATUS,RP0 ;Selección de banco0 bcf ADCON0,ADCS1 ;A/D Conversion clock 00 RC INTERNO DEL ADC bsf ADCON0,ADCS0 bcf ADCON0,CHS2 ;Selección de Canal AN0 bcf ADCON0,CHS1 bcf ADCON0,CHS0 bcf ADCON0,ADON ;ADC is shut-off and consumes no operating current bsf STATUS,RP0 ;Selección del banco1 bcf ADCON1,ADCS2 bsf ADCON1,ADFM ; Right Justified .Bits mas significativos de ADRESH se lee como bsf ADCON1,PCFG3 ; Configuracion de vref- vdd y vref- vss cero bsf ADCON1,PCFG2 bsf ADCON1,PCFG1 ;ANALOG INPUT AN0 bcf ADCON1,PCFG0 bcf STATUS,RP0 return ;----------------------------------------------------------------------------------------------INICIO call INI ;llamada call CONFTIMER ;*********************************************PROGRAMA PRINCIPAL MAIN call READ_ANALOG bsf STATUS,RP0 ;Leer valor análogo del sensor LM35 ;Acceso al banco 1 movf ADRESL,W ;Mover valor leido del sensor a W bcf STATUS,RP0 ;Acceso al banco 0 call BYTEATEMP ;Llamada subrutina de librería que convierte el byte a una temperatura movlw d'03' ;14/05/2010 MOVER A W 87 addwf DATOSENSOR ;14/05/2010 ;movf DATOSENSOR,W SUMAR 3 A DATOSENSOR ;Guardar temperatura leida en registro W Principal movf PORTC,W ;Lee Puerto B movwf DATOUSUARIO ;Guarda valor del puertoB en variable CHECACERO clrf CERO ;Limpiar registros movf CERO,W ;W=CERO subwf DATOUSUARIO,W btfss STATUS,Z ;Resultado es cero ? goto CHECAIGUALES goto MAIN ;Restar DATOUSUARIO-CERO ;No; entonces DATOUSUARIO diferente de cero ;Si;entonces DATOUSUARIO=0 y volvemos al MAIN ;Checar si DATOUSUARIO es igual a DATOSENSOR (La temperatura que el usuario desea es igual a la lectura del sensor? CHECAIGUALES movf DATOUSUARIO,W ;Al registro w valor de la variable subwf DATOSENSOR,W ;Restar Valores DATOUSUARIO,DATOSENSOR btfss STATUS,Z ;El resultado es cero? goto RESTA5 goto MAIN ;no, entonces volver al MAIN ;Checar si DATOSENSOR es mayor o igual a DATOUSUARIO menos 5 RESTA5 movlw d'5' movwf CINCO movf CINCO,W ;W=5 ;CINCO=5 ;W=DATOUSUARIO subwf DATOUSUARIO,W ;Restar DATOUSUARIO-5 btfsc STATUS,C ;Resultado negativo? goto Guardadato ;No, Guardar Resultado goto MAIN ;Si, ir MAIN Guardadato movwf DATOUmenos5 ;Guarda SUMA2 88 movlw d'2' movwf DOS movf DATOUSUARIO,W addwf DOS,W movwf DATOUmas2 ;w=2 ;DOS=2 ;W=DATOUSUARIO ;SUMAR DOS + W ;Guardar en registro DATOUnas2 ;Comparacion DATOSENSOR >= DATOUmenos5? Igual movf DATOSENSOR,W subwf DATOUmenos5,W btfss STATUS,Z goto Comparamayor goto Activa ;Son iguales? ;No, Ir a etiqueta ;Activar ventilador Comparamayor movf DATOUmenos5,W ;W=5 subwf DATOSENSOR,W ;RESTAR DATOSENSOR-DATOUmenos5 btfss STATUS,C goto MAIN goto Comparamenor ;Resultado positivo? ;No, volver al MAIN ;Si, entonces DATOSENSOR >DATOUmenos5 ;Comparacion DATOSENSOR <= DATOUmas2 Comparamenor movf DATOUmas2,W subwf DATOSENSOR,W btfss STATUS,Z btfsc STATUS,C ;goto MAIN ;W=DATOUmas2 ;W=DATOSENSOR-DATOUmas2 ;DATOSENSOR=DATOUmas2 ;No, preguntar Resultado negativo? ;No entonces DATOSENSOR > DATOUmas2 y volvemos al inicio goto Desactiva ;No entonces DATOSENSOR > DATOUmas2 y desactiva ventilador goto Activa Desactiva bcf PORTD,0 ;Si, entonces DATOSENSOR < DATOUmas2 y se activa salida ;Para apagar ventilador ;Desactivar ventilador 89 call ret500ms ;Retardo .5 segundos goto MAIN ;Regresar al Main ;ACTIVAR VENTILADOR Activa bsf PORTD,0 call ret500ms ;Activar Ventilador ;Retardo .5 segundos goto MAIN ;Regresar al Main include<temperatura1.inc> END 90 Referencias. [1] José M. Angulo Usategui, Ignacio Angulo Martínez, Microcontroladores PIC: Diseño práctico de aplicaciones. McGraw-Hill, 1999 [2] Ramón Pallás Areny, Sensores y acondicionadores de señal. Marcombo, 1998 [3] Theodore L. Brown, Bruce E. Bursten, Julia R. Burdge. Química la ciencia Central. Prentice Hall. 2004 [4] www.renovae.org , Portal de energías renovables y ahorro Energético, 02 de Marzo 2009 [5] http://www.esak.es/sueloradiante, Mayo del 2009 [6] http://www.profeco.gob.mx/revista/publicaciones/otras_pub/ahorroluz, Mayo 2009 [7] http://www.atenasventilacion.com.ar/descargas/vt_c_tecnicas.pdf Junio 2009 [8] www.microchip.com, Enero 2010 91