QUE PARA OBTENER EL TITULO DE: INGENIERO EN COMUNICACIONES Y ELECTRNICA.
P R E S E N T A:
CASTILLO BAUTISTA BRAULIO ANTONIO
ASESORES:
Ing. Armando Martnez Ros Ing. Carlos Barroeta Zamudio
MEXICO, D.F. 2009 Implementacin de un protocolo de comunicacin inalmbrica para el control de dispositivos en forma remota de una casa domtica
I
II
AGRADECIMIENTOS
Quiero agradecer a la vida y a dios por haberme dado lo que he necesitado, por haberme puesto dentro de una familia maravillosa, me ha dado la satisfaccin de culminar mis estudios y da con da me da grandes alegras
A mis padres Braulio Castillo Ortz y Virginia Bautista Mrquez a quienes amo, respeto y admiro y son quienes me han enseado a esforzarme por alcanzar mis metas, gracias por haber estado presentes en todo momento, por su apoyo incondicional y sacrificios sobrehumanos que con nada pago, los amo.
Agradezco a mi hermana Diana Carolina con quien he compartido grandes momentos de felicidad, quien me ha tendido la mano apoyndome a lo largo de mis estudios y en este proyecto an a costa de mucho esfuerzo, mil gracias.
A mi hermanos Jos Marcos quien cada da me motiva a seguir adelante para ser de el un buen ejemplo.
A mis abuelos que en paz descansen quienes con su vida llena de nobleza me heredaron grandes experiencias.
A mis asesores Carlos Barroeta y Armando Martnez quienes me apoyaron en la realizacin de este proyecto.
Al Instituto Politcnico nacional por haberme abierto sus puertas para cumplir con mi formacin y darme grandes herramientas para la vida.
III
NDICE TEMTICO
NDICE DE FIGURAS VI APENDICES IX NDICE DE TABLAS IX Objetivo general ii Objetivos especficos ii Justificacin ii INTRODUCCIN 2 ANTECEDENTES 2 ESTRUCTURA DE LA TESIS 3 PLANTEAMIENTO DEL 4 PROBLEMA 4 Campo de aplicacin 7 CAPITULO I 8 LA DOMOTICA Y LAS COMUNICACINES 8 1.1 Domtica y casas inteligentes 9 1.1.1 El ahorro de energa 10 1.1.2 Comunicaciones 11 1.1.3 Seguridad 11 1.2 Definicin de vivienda inteligente 12 1.3 Sistemas Domticos 13 1.4 Tcnicas de modulacin usualmente usadas en dispositivos de comunicacin para domtica 15 1.4.1 Modulacin BPSK 15 1.4.1.2 Modulador BPSK 16 1.4.1.3 Demodulacin BPSK 17 1.4.1.4 Espectro de la seal BPSK 18 1.4.2 Modulacin QPSK 20 1.4.2.1 Modulador QPSK 20 1.4.2.2 Demodulador QPSK 23 1.4.3 Modulacin OQPSK 27 1.4 Tecnologias de comunicacin utilizadas en domtica 29 1.4.1 Bus europeo de instalacin (EIB) 29 1.4.1.1 Caractersticas del sistema EIB (Bus europeo de instalacin) 29 1.4.1.2 Ventajas del sistema EIB 30 1.4.2 Protocolo X.10 30 1.4.3 Bluetooth 31 1.4.4 ZigBee 32 1.5 Comparativa general 33 CAPITULO II 34 ZIGBEE 34 2.1 Introduccin a ZigBee 35 2.2 Arquitectura 35
IV
2.2.1 IEEE 802.15.4 36 2.2.1.1 Capas del estndar IEEE 802.15.4 36 2.2.1.1.1 Nivel fsico 36 2.2.1.1.1.1 Medidas de canal 38 2.2.1.1.2 Nivel de enlace de datos 41 2.2.1.2 Especificaciones del estndar IEEE 802.15.4 42 2.2.2 Niveles especificados por ZigBee Alliance 44 2.2.2.1 Nivel de red 44 2.2.2.2 Nivel de aplicacin 44 2.3 Dispositivos ZigBee 45 2.4 Topologas de redes ZigBee 46 2.4.1 Topologa en estrella 46 2.4.2 Topologa en rbol 47 2.4.3 Topologa en malla 48 2.5 Mdulos ZigBee 49 2.5.1 eZ430-RF2480 Development Tool 49 2.5.2 ATMEL Module 51 2.5.3 EasyBee ZigBee 52 2.5.4 XBee Module 53 CAPITULO III 54 DISEO DEL SISTEMA DE COMUNICACIN 54 3.1 MODLO XBEE 55 3.1.2 Modos de operacin 57 3.1.2.1 Modo recibir y transmitir 57 3.1.2.2 Modo de bajo consumo (Sleep Mode) 58 3.1.2.3 Modo de comandos 58 3.1.2.4 Modo transparente 59 3.1.2.5 Modo IDLE 59 3.2 Microcontroladores 59 3.2.1 Familias de microcontroladores 61 3.2.2 PIC 18F452 61 3.3 Pantalla de LCD de 4 x16 64 3.4 Teclado matricial de 4x4 65 3.5 Comunicacin mediante C.I. MAX 232 66 3.6 MPLAB C18 67 3.7 Software X-CTU 68 3.8 Componentes del coordinador 69 3.9 Diseo del sistema terminal inalambrico 1 70 3.9.1 Diseo del programa para el primer microcontrolador 71 3.9.1.1 Lectura del teclado 71 3.9.1.2 Men mostradopor la pantalla de LCD 73 3.10 Diseo del sistema terminal inalmbrico 2 75 3.11 Acoplamiento ptico entre un sistema digital y una etapa de potencia 80 3.12 Puente H (L293B) 81
V
CAPITULO IV 82 IMPLEMENTACIN DEL PROTOTIPO 82 4.1 Propuesta de implementacin en una casa 83 4.2 Configuracin de los modulos XBee 85 4.2.1 Configuracion con el software X-CTU 86 4.3 Componentes del sistema terminal 1 89 4.3.1 Configuracin con el software XCT-U 92 4.4 Componentes del sistema terminal 2 93 4.4.1 Configuracin con el software XCT-U 94 4.5 Componentes del acoplamiento ptico entre en sistema digital y la etapa de potencia 96 4.6 Manipulacin de motores de C.A. con C.I. L293B 97 4.7 La transmision serial del PIC 18F452 98 4.8 Programacin del primer microcontrolador 100 4.8.1 Control de accesos 101 4.8.2 Control de Ventilacin 102 4.8.3 Monitoreo de temperatura 104 4.8.4 Control de iluminacin 105 4.9 Programacin del 2 microcontrolador 106 4.9.1 Monitoreo de temperatura 107 4.9.2 Control de ventilacin e iluminacion 108 4.10 Desarrollo de la interfaz grffica 109 4.10.1 Descripcin de la aplicacin 109 4.10.2 Descripcin de la interfaz grfica 110 CAPITULO V 115 PRUEBAS Y RESULTADOS 115 5.1 Prueba del sistema terminal 1 116 5.2 Prueba del sistema terminal 2 121 5.3 Prueba del software 123 5.4 Rango de alcance 127 5.5 Muestra del estado de la ventilacin e iluminacin 129 CONCLUSIONES 130 ANEXO I: PROGRAMA DEL PRIMER MICROCONTROLADOR 132 ANEXO II: PROGRAMA DEL SEGUNDO MICROCONTROLADOR 139 ANEXO III: MANUALES DEL FABRICANTE 144 ANEXO IV: DISEO DE CIRCUITOS IMPRESOS 151 ANEXO V: ESTRUCTURA DE TRAMAS 153 ANEXO VI: COSTOS DEL SISTEMA CONSTRUIDO 157
VI
NDICE DE FIGURAS
Fig. A Dispositivos interconectados por medio de una red PAN. 6 Fig. B Distancias entre dispositivos dentro de una habitacin respectivamente uno de otro. 7
CAPITULO I Fig. 1.1 Modulacin PSK: en la parte superior se observa la seal binaria de informacin mientras que en la parte inferior la seal modulada BPSK. 16 Fig. 1. 2 Esquema de un Modulador BPSK 17 Fig. 1.3 Demodulador BPSK. 17 Fig. 1.4 Tren de pulsos binario. 18 Fig. 1.5 Espectro de Amplitud de una seal peridica de BPSK. 20 Fig. 1.6 Modulador QPSK. 21 Fig. 1.7 Diagrama de fasores para la modulacin QPSK. 22 Fig. 1.8 Demodulador QPSK. 23 Fig. 1.9 Alineacin de los bits con el retraso introducido en uno de los canales. 27 Fig. 1.10 Modulador OQPSK. 28 Fig. 1.11 Esquema de Conexin con EIB 29
CAPITULO II
Fig. 2.1 Tasa de error de bit contra relacin seal a ruido en los estndares IEEE 802.15.4, IEEE 802.11 e IEEE 805.15.1. 38 Fig. 2.2 RSSI en ambientes internos 39 Fig. 2.3 RSSI en ambientes externos (derecha). 39 Fig. 2.4 PER en ambientes internos. 40 Fig. 2.5 PER para ambientes externos. 41 Fig. 2.6 Capas que controlan el estndar IEEE 802.15.4. 42 Fig. 2.7 Canales del estndar IEEE 802.1.4 42 Fig. 2.8 Capas del Protocolo Zigbee. 45 Fig. 2.9 Diagrama Red ZigBee con topologa tipo estrella. 46 Fig. 2.10 Diagrama Red ZigBee con topologa tipo rbol. 47 Fig. 2. 11 Diagrama. Red ZigBee con topologa tipo malla. 48 Fig. 2.12 Transceiver CC2480 49 Fig. 2.13 eZ430-RF2480 Development Tool 50 Fig. 2.14 Modulo ATMEL 52 Fig. 2. 15 Modulo EasyBee ZigBee 52 Fig. 2.16 Modulos XBee de Maxstream 53
CAPITULO III
Fig. 3.1 Modos de operacin de los modulos XBee 57 Fig. 3.2 Esquema de un microcontrolador. 60
VII
Fig. 3.3 Esquema de conexin del PIC al LCD 64 Fig. 3.4 Teclado matricial 65 Fig. 3.5 Rebote generado al oprimir una tecla. 66 Fig. 3.6 Circuito integrado Max232 66 Fig. 3.7 Compilador MPLAB C18 67 Fig. 3.8 Software X-CTU, a la izquierda se encuentra la funcin de prueba de comunicacin, a la izquierda las opciones a configurar. 68 Fig. 3.9 Componentes de la interzaz con la computadora 69 Fig. 3.10 Diagrama a bloques del sistema terminal 1 70 Fig. 3.11 Diagra de flujo para detectar tecla oprimida en el teclado. 71 Fig. 3.12 Diagrama de flujo del men principal mostrado por la pantalla de LCD 73 Fig. 3.13 Diagrama de flujo de la opcin ACCESOS 74 Fig. 3.14 Diagrama de flujo para Entrada 74 Fig. 3.15 Diagramas de flujo para lectura de temperatura y control de la ventilacin. 75 Fig. 3.16 Diagrama a bloques del sistema terminal 2. 76 Fig. 3.17 Diagrama de flijo para el encendido y apagado de lamparas. 77 Fig. 3.18 Diagrama de flijo para el encendido y apagado de lamparas. 77 Fig. 3.19 Diagramas de flujo para la recepcin de temperatura y test de conectividad. 78 Fig. 3.20 Diagrama de flijo para el encendido y apagado de ventiladores. 79 Fig. 3.21 Diagrama de flijo para el encendido y apagado de lamparas. 79 Fig. 3.22 Configuracin De Un Optoacoplador. 80 Fig. 3.23 Figura y simbolo de un TRIAC 81 Fig. 3.24 Diagrama esquemtico para LM293B. 81
CAPITULO IV Fig. 4.1 Plano de la casa propuesta para la implementacin. 83 Fig. 4.2 Diseo en 3D de la Casa propuesta para la implementacin. 84 Fig. 4.3 Diagrama esquematico para el coordinador y pruebas. 85 Fig. 4.4 Circuito Impreso del coordinador 86 Fig. 4.5 Captura en pantalla de la ventana principal del software XCT-U 86 Fig. 4.6 A la izquierda se muestra la caprura en pantlla de una comunicacin exitosa, a la derecha se muestra el resultado de una comunicacin fallida. 87 Fig. 4.7 Configuracion del modulo central. 88 Fig. 4.8 Elementos configurados dentro de los modulos XBee 89 Fig. 4.9 Diagrama esquematico del nodo terminal 90 Fig. 4.10 Circuito Impreso del nodo terminal. 91 Fig. 4.11 Circuiti impreso del nodo terminal con todos sus componentes. 91 Fig. 4.12 Configuracion del modulo XBee del nodo terminal 1. 92 Fig. 4.13 Diagrama Esquematico del nodo terminal 2. 93 Fig. 4.14 Circuito impreso del nodo terminal 2. 94 Fig. 4.15 Configuracion del modulo XBee para el nodo terminal 2. 95 Fig. 4.16 Montaje Estndar Bsico Con Lgica Digital Positiva. 96 Fig. 4.17 Circuito utilizado para la manipulacin de elementos de C.A. 96 Fig. 4.18 Diagrama de conexin para el giro en un solo sentido del L293B 97
VIII
Fig. 4.19 Conexin al microcontrolador del L293B 97 Fig. 4.20 Se muestra la inicializacin del modo de transmision serial. 98 Fig. 4.21 Captura en pantalla del codigo fuente y la declaracin de las cadenas para el despliegue del menu principal 100 Fig. 4.22 Sentencia Switch para la apertura y cierre de la entrada principal. 101 Fig. 4.23 Sentencia Switch para el encendido y apagado de la ventilacin. 103 Fig. 4.24 Rutina de adrquisicion de datos de temperatura. 104 Fig. 4.25 Control de iluminacin 105 Fig. 4.26 Cadenas mostradas en el men del nodo terminal 2. 106 Fig. 4.27 Monitoreo de temperatura en el nodo terminal 2. 107 Fig. 4.28 Envio de datos para control de ventilacin. 108 Fig. 4.29 Captura en pantalla de la interfaz grfica 110 Fig. 4.30 Ventana para control de Iluminacin 112 Fig. 4.31 Ventana para monitoreo de temperatura. 112 Fig. 4.32 Test de conectividad con los nodos terminales 113 Fig. 4.33 Ventana para el control de ventilacin. 114
CAPITULO V
Fig. 5.1 Circuitos impresos de ambos nodos terminales con los dispositivos montados 116 Fig. 5.2 Menu principal del nodo terminal 1 117 Fig. 5.3 Contrasea para ingresar a alguno de los puntos de acceso. 117 Fig. 5.4 Submen para la opcion ACCESOS. 118 Fig. 5.5 Seleccionar la apertura de algn acceso. 118 Fig. 5. 6 Seleccionar el cierre de algun acceso. 119 Fig. 5.7 Monitoreo de temperatura ambiental. 120 Fig. 5.8 Activar o desactivar la iluminacin en un espacio. 120 Fig. 5.9 Nodo terminal 2 con todos sus elementos. 121 Fig. 5.10 Primer pantalla presentada por el nodo terminal 2. 122 Fig. 5.11 Pantalla presentada cuando es seleccionada la segunda opcin del men. 122 Fig. 5.12 Cierre de un acceso. 123 Fig. 5.13 Muestra del plano con la ubicacin marcada en el lugar del cierre de la entrada principal. 124 Fig. 5. 14 La imagen muestra el estado de la entada principal y una ventana de alerta tambin indica la accin tomada. 124 Fig. 5.15 Muestra del plano en el cual se encuentra el acceso principal. 125 Fig. 5.16 Monitoreo de la temperatura por medio del software. 125 Fig. 5.17 Prueba de conectividad. 126 Fig. 5.18 Datos recibidos en las pruebas mediante el monitoreo de temperatura. 127 Fig. 5.19 Datos recibidos con algunos errores. 128 Fig. 5. 20 Tablilla con bombillas de C.A. y ventiladores de C.D. 129
IX
APENDICES Figura A Circuito impreso del sistema terminal 1 151 Figura B Circuito impreso del sistema terminal 2 151 Figura C Circuito impreso del nodo central 152 Figura D Estructura del paquete de la capa fisica IEEE 802.15.4 153 Figura E Estructura de la trama MAC 154 Figura F Formato de Trama de Datos 155 Figura G Formato de la Trama de Acuse de Recibo 156 Figura H Formato de Trama de Comando MAC 156 NDICE DE TABLAS CAPITULO I
Tabla 1.1 Comparativa general de diferentes tecnologas inalmbricas. 33
CAPITULO II Tabla 2.1 Frecuencia de trabajo ZigBee 43
CAPITILO III Tabla 3.1 Comparativa entre los dispositivos ZigBee en el mercado 56 Tabla 3.2 Familia de microcontroladores en el mercado 61 Tabla 3.3 Caractersticas del PIC18F45 63 Tabla 3.4 Pines de la LCD 64 Tabla 3.5 Asignacin de cdigo para filas del teclado 72 Tabla 3.6 Valores asignados a cada tecla y su equivalencia en ASCII 72
CAPITULO IV Tabla 4.1 Caracteres utilizados para la inicializacin de la transmisin de datos del modo serial 99 Tabla 4.2 Valores hexadecimales enviados para los accesos. 102 Tabla 4.3 Valores hexadecimales enviados para la ventilacin. 102 Tabla 4.4 Valores correspondiestes al control de iluminacin 106 Tabla 4.5 Descripcin de los elementos de la interfaz grfica. 111
ii
Objetivo general
Determinar los elementos necesarios para la implementacin de un sistema de comunicacin inalmbrica para el control y monitoreo de sensores o actuadores en una casa domtica. Objetivos especficos
Investigar un sistema de comunicacin inalmbrico que cuente con las caractersticas necesarias para la optimizacin al mximo de la energa
Seleccionar el protocolo de comunicacin inalmbrico que mejor se adapte a las caractersticas de una vivienda media.
Implementar el sistema de comunicacin utilizando dispositivos capaces de cubrir un rea mnima y mxima respecto a los inmuebles donde estos puedan ser implementados.
Crear una interfaz grafica capaz de interactuar con el usuario con el mnimo de esfuerzo. Justificacin
La evolucin de los sistemas de comunicacin como en general de la electrnica se ha hecho a pasos gigantes, motivo por el cual su uso se extiende a muchos sectores para los cuales se han desarrollado protocolos capaces de satisfacer las necesidades particulares de stos.
En el campo de la domtica no es la excepcin aunque el campo de sta es muy amplio, abarcando desde edificios inteligentes hasta casas habitacin, es en este ltimo rubro donde el avance ha sido un tanto lento ya que se haba encontrado abandonado por las grandes empresas dedicadas al sector. En estos ltimos aos se han desencadenado una serie de avances para este sector olvidado, desarrollndose diferentes aplicaciones que involucran el uso de tecnologas mviles.
iii
Una de las principales necesidades que muchas personas buscan es el confort, la seguridad, el ahorro de energa y el control de todo su entorno, para esto se requiere evidentemente de toda una infraestructura de automatizacin y con ello un sistema que permita controlar toda esta tecnologa con el menor esfuerzo, es decir que la forma de manejar todo no le represente una prdida de tiempo.
Existen en el mercado actual tecnologas mviles que se prestan para su uso en domtica debido a sus caractersticas propias, una de estas tecnologas recibe el nombre de ZigBee, la cual se enfoca para aquellas aplicaciones que no requieren una alta tasa de transferencia, como lo es un sistema de comunicaciones capaz de transmitir seales de control para monitoreo de sensores y control de dispositivos.
El implementar un sistema domtico en una casa de tipo medio podra representar un gasto econmico considerable, por lo que es de gran ganancia trabajar con tecnologas que sean de un costo bajo a lo mas que se pueda. ZigBee es una tecnologa que ofrece esta posibilidad, ya que los dispositivos que se encuentran actualmente en el mercado tienen costos reducidos.
Sin duda una de las principales razones por la que se ha decidido hacer uso de ZigBee es el tamao que sus dispositivos poseen y su ultra bajo consumo de energa, cabe destacar que el tamao de los dispositivos en este sector es muy importante, esto debido a que la esttica en esta rea es siempre importante, por lo que los dispositivos de tamao reducido ayudan mucho en la preservacin de este aspecto.
1
INTRODUCCIN
2
INTRODUCCIN
Pensado en un mbito de tecnologa en el hogar, se pretende hacer uso de las nuevas tecnologas con el fin de mejorar la calidad de vida mediante la comodidad que la tecnologa ofrece. Para ello, se debe plantear desde un principio los objetivos que se pretenden alcanzar y los beneficios que con ellos queremos obtener.
Los sistemas de comunicacin en el hogar son una herramienta que brinda confiabilidad a los usuarios ya que adems se encargan de la seguridad. Los sistemas de seguridad tambin evolucionan cada da y su sistema de comunicacin alambico ha sido paulatinamente sustituido por sistemas inalmbricos.
Respecto a la automatizacin, esta comienza en la industria aeronutica y la automotriz, donde comenzaron a utilizar diversas automatizaciones con cierto grado de integracin. Despus siguieron los edificios comerciales y administrativos para finalmente ser las construcciones educacionales y viviendas los sitios en donde se pretendido introducir procesos cada vez ms inclinados hacia la tecnologa. ANTECEDENTES
En nuestros das es esencial utilizar la tecnologa para cubrir todas nuestras necesidades. En ingeniera se debe usar esa tecnologa en beneficio de la humanidad para poderle brindar comodidad y as hacerle la vida ms fcil, utilizando a nuestro entorno y modificarlo para cumplir con el objetivo, sin daar al medio ambiente o tratar de hacerle el menor dao posible. Los primeros intentos de crear un conjunto de normas y protocolos sobre Domtica se remonta a principio de los ochentas donde se desarrollaron diversos proyectos, en el ao de 1984 es lanzado el proyecto Smart House por la NAHB: National Association of Home Builders), el sistema antes mencionado se basa en la utilizacin de un cable unificado que sustituye a todos los diversos sistemas pueden existir en una vivienda como pueden ser electricidad, perifricos de audio y video, telfono, alarmas etc. para lo cual posteriormente se
3
crearon tecnologas de comunicacin tanto cableadas como inalmbricas con el fin de facilitar la interaccin de dispositivos dentro de una vivienda.
Una de las desventajas de las tecnologas mencionadas era su alto costo que no era justificado, pues siempre se ha considerado como un lujo, es por eso que las tecnologas de comunicaciones con un enfoque dirigido a aplicaciones como la que se pretende en este trabajo no haban sido tan populares. En este trabajo se pretende hacer uso de una tecnologa diferente que no necesite ser alambrada, esto con la principal meta de crear una aplicacin ms esttica, eficiente y sobretodo econmico. ESTRUCTURA DE LA TESIS
La estructura de este trabajo de tesis contempla el siguiente temario: Captulo 1: Se hace nfasis de la teora sobre la domtica y se da a conocer tericamente elementos que forman parte de ella, asimismo se mencionan diversas tecnologas en comunicaciones que han sido utilizadas para la domtica,
Capitulo 2: En este captulo se describe la forma en que trabaja la tecnologa ZigBee as como sus caractersticas y funciones.
Captulo 3: Aqu se expone el diseo del proyecto as como los diversos componentes que intervienen en l, desde como inicio el plan y as mismo todos los pasos que se siguieron hasta lograr los objetivos.
Captulo 4: Se mencionan todos los pasos para llevar a cabo el diseo planteado en el captulo anterior y se especifica la manera en la que se ha realizado tanto el hardware como el software.
Captulo 5: Se muestran los resultados finales obtenidos del proyecto.
4
PLANTEAMIENTO DEL PROBLEMA
5
Hoy en da la problemtica de comunicaciones en el sector de la domtica se ha vuelto muy diversa debido a que el principal problema es el costo que genera la implementacin de la tecnologa necesaria para la implantacin del sistema de comunicacin que controle o monitoree cada una de las actividades del hogar, en gran medida el costo es generado por la necesidad de instaurar protocolos que ofrezcan seguridad y por la cantidad de energa que estos consumen, en base a esto se hace presente encontrar una tecnologa y un protocolo capaces de tener un ultra bajo consumo de energa y de esta manera reducir los costos que esto genera. Una vez identificado el protocolo a trabajar ser necesario aplicarlo a las necesidades que requiera una casa o edificio en cuanto a la transmisin de datos de control o de monitoreo de sensores.
La aplicacin a desarrollar mediante el protocolo seleccionado deber ser de utilidad para el sector domtica y deber optimizar cada una de las tareas para los cuales se requiera el sistema de comunicacin. A menudo los datos transmitidos necesitan ser observadas y analizadas por el ser humano, tales como temperatura, humedad, presencia en una habitacin determinada , sobre todo cuando se trata de un sistema enfocado a seguridad, es por esto que se hace presente la necesidad de obtener una interfaz grafica que permita llevar a cabo la observacin del estado de cada uno de los sensores monitoreados as como una simulacin que permita emular las diferentes situaciones que podran hacerse presentes dentro de un hogar o edificio.
Primeramente es necesario definir el tipo de protocolo que se necesita utilizar para las aplicaciones de comunicacin entre los diferentes dispositivos que la domtica requiere, para lo cual es necesario analizar cul es el ms viable de acuerdo a los costos y consumo de energa principalmente. La problemtica a nivel de aplicacin surge con la necesidad de intercomunicar los diferentes dispositivos de un hogar ya sea directamente o a manera de sensores segn sea el caso, por lo cual se necesita crear una red que pueda transportar todos los datos de todos los sensores y dispositivos que existan dentro de una casa o edificio, la figura 1 muestra una posible red instaurada entre dispositivos existentes en una sala, el objetivo de intercomunicarlos es con el fin
6
de saber fcilmente cuando alguno tiene alguna falla adems de poder tener diversos caminos por los cuales la informacin pueda viajar.
Fig. A Dispositivos interconectados por medio de una red PAN.
Debido a la gran diversidad que existe en cuanto al tamao de la habitacin a intercomunicar y as mismo la distancia entre las diferentes habitaciones, surge la necesidad de verificar si la tecnologa a usar soporta satisfactoriamente la distancia de separacin entre ellas, adems de esto debe ser muy econmico y no decrementar su potencia de manera considerable para poder realizar el envo y recepcin de datos.
La distancia de separacin entre cada uno de los dispositivos que se utilicen debe cubrir al menos 30 metros en interiores para garantizar el envo y recepcin de los datos, para lo cual se ha establecido que una habitacin promedio nunca excede de un volumen mximo de 25 metros cuadrados, es por esto que se pretende encontrar una tecnologa que cumpla con las expectativas.
La distancia requerida entre dispositivos de una habitacin a otra es muy corta debido a que generalmente no tienen ms de 5 metros de largo, Por lo tano la tecnologa seleccionada deber cubrir al menos el largo de 6 habitaciones que pudiera tener una casa .
7
Fig. B Distancias entre dispositivos dentro de una habitacin respectivamente uno de otro.
Campo de aplicacin
El campo de aplicacin comprende las instalaciones de aquellos sistemas que realizan una funcin de automatizacin para diversos fines, como gestin de la energa, control y accionamiento de receptores de forma centralizada o remota, sistemas de emergencia y seguridad en edificios, entre otros, con excepcin de aquellos sistemas independientes e instalados como tales, que puedan ser considerados en su conjunto como aparatos, por ejemplo, los sistemas automticos de elevacin de puertas, persianas, toldos, cierres comerciales, sistemas de regulacin de climatizacin, redes privadas independientes para transmisin de datos exclusivamente y otros aparatos.
No obstante, a las instalaciones excluidas anteriormente, cuando formen parte de un sistema ms complejo de automatizacin, gestin de la energa o seguridad de viviendas o edificios, se les aplicarn los requisitos de la presente Instruccin adems los requisitos especficos reglamentarios correspondientes.
8
CAPITULO I
LA DOMOTICA Y LAS COMUNICACINES
9
1.1 Domtica y casas inteligentes Una de las principales necesidades del ser humano es la vivienda, debido a esto todo el tiempo hay una constante bsqueda de un hogar que asegure la comodidad, el confort y seguridad y as lograr la optimizacin de las tareas de la casa ha sido siempre una de las bsquedas del hombre. Este conjunto de necesidades han llevado al ser humano a una constante bsqueda tecnolgica que cubra cada una de estas exigencias y es as como se ha llevado a la invencin de mltiples aparatos elctricos y electrnicos para el hogar.
Todos los aparatos que forman parte de nuestra vida cotidiana en algunos casos son demasiados y debido al ritmo de vida actual las personas deben llevar una vida ms organizada para poder solventar todas sus ocupaciones y ahorrar lo ms posible tiempos. En la antigedad las personas dedicaban tiempo a tareas que hoy en da no toman tiempo y pueden efectuarse en tan solo unos minutos, esto da como resultado final tiempo libre para realizas otro tipo de acciones, y esto continuamente se transforma en un ciclo en el cual el ser humano busca obtener ms tiempo.
Es evidente la evolucin de la sociedad a las nuevas tendencias que marcan una necesidad imponente de una gama de soluciones a problemas relacionados con actividades simples pero que las personas consideran por su misma simplicidad que estas ocupen lo menos posible de su tiempo.
La tecnologa ha jugado un papel muy importante para la solucin de gran parte de los problemas mencionados, pues ha sido ella quien ha provisto de diversas soluciones y alternativas que han permitido a lo largo de los aos la mejora de mltiples tareas. A partir de la su evolucin, se han ido modificando muchas formas de realizar procesos en todos los mbitos ya sea en la industria o en el hogar, y en el caso de la industria esta posee un centro de atencin muy grande por parte de del sector de la automatizacin, no as con el hogar, ya que pocos aos son los que han transcurrido desde las primeras innovaciones en este sector, y menos tiempo an desde que el
10
sector de las comunicaciones ha enfocado aplicaciones enfocados para su uso domestico. Dentro de toda esta nueva gama de tecnologas enfocadas al uso domestico surge un nuevo concepto denominado casa inteligente el cual engloba en concreto cuatro grandes reas: la electrnica, la informtica, la arquitectura y las telecomunicaciones. Un concepto que est ntimamente relacionado con la tecnologa enfocada al hogar, es conocido como Domtica, cuya etimologa nos dice el significado concreto de esta palabra, por un lado domus que significa casa, por otro lado se hace una relacin entre este trmino y la palabra informtica, esto significa que el termino. Domtica hace referencia a todo un conjunto de tecnologas informticas y de comunicaciones que permiten automatizar y gestionar diferentes aplicaciones dentro de una instalacin de tipo domestico con el fin de proporcionar una mejor calidad de vida a las personas.
La domtica surge primeramente con la iniciativa de lograr realizar tareas concretamente de automatizacin con el objetivo de reducir el trabajo humano y facilitar la realizacin de distintas tareas, sin embargo estas tareas en principio solo haban representado ms gastos a quienes implementaban estas nuevas soluciones, y es en parte por esta razn que el desarrollo de aplicaciones a la domtica se ha realizado de una manera lenta, en la actualidad han surgido aplicaciones que buscan adems de lo anterior, lograr realizar acciones que permitan justificar o retribuir de alguna manera el gasto generado de la instalacin de todos los artefactos utilizados en la aplicacin de nuevos procesos. Los campos que la domtica cubre actualmente son: ahorro de energa, comunicaciones, seguridad. 1.1.1 El ahorro de energa
Hoy en da son muchos los dispositivos que se utilizan en el hogar que consumen grandes recursos energticos por lo que este factor se suma a uno de los principales objetivos de la domtica, se trata de la generacin de dispositivos capaces de de controlar ciertos procesos sin desperdiciar energa, tal es el caso de el control de la climatizacin, la regulacin de la iluminacin de acuerdo a la zona, la iluminacin por
11
deteccin de presencia, la desconexin automtica de dispositivos cuando estos no se usan, todo esto aunado con la construccin de dispositivos con un bajo consumo de energa constituyen una parte de las caractersticas que se pretenden actualmente en el sector domtica, todo esto con la meta de ahorrar gastos generados a causa del consumo energtico y que puede resultar a mediano y largo plazo un ahorro muy significativo . 1.1.2 Comunicaciones
En este sector la domtica juega un papel de tipo estratgico ya que sirve como un vinculo con aplicaciones que posiblemente generen gastos en recursos humanos o en tiempo, tal es el caso del mano a distancia de diversos servicios como alarmas, control de acceso, activacin de vlvulas hidrulicas, etc., algunas de las actividades que se requieren realizar implican gastos significativos respecto al tiempo en que estas se ejecutan. Dicho problema se resuelve con un buen sistema de comunicacin enfocado a estas necesidades. En domtica, todos los servicios tienen que estar comunicados entre s, basado en redes de comunicacin esto con el fin de asegurar premisas tales como seguridad, confort y comunicacin en la vivienda. Un sistema que es destinado a ser utilizado por la Domtica, tienen sus bases de funcionamiento en tres objetivos particulares: ahorro de energa, confort y seguridad. 1.1.3 Seguridad
En materia de seguridad, la domtica ha sido de mucha utilidad, esto debido a que todo el conjunto de sistemas y dispositivos se configuran siempre siguiendo este objetivo por lo que la seguridad de los habitantes est siempre presente. Estos sistemas permiten que el proceso de seguridad sea un trabajo conjunto entre las actividades de seguridad llevadas a cabo por el habitante y los procesos de seguridad del sistema inteligente; generando de esta manera en la persona que habita en la casa inteligente una sensacin de seguridad y tranquilidad, lo cual se traduce en confort. La seguridad es un rubro que necesita ser distribuido muchas veces en diferentes reas,
12
las principales son aquellas que requieren de cuidados especiales ya que por su naturaleza podran resultar peligrosas si son mal manipuladas, o bien la seguridad pone especial atencin a el monitoreo de sensores cuya actividad denota peligro de cualquier ndole. La seguridad en Domtica debe contar entre otros: alarmas de gas, alarmas de humo, alarmas de fuego, sensores de movimiento, alarmas policacas y alarmas de tipo mdicas. 1.2 Definicin de vivienda inteligente Este concepto engloba todas aquellas acciones que se realizan comnmente en el hogar tales como encender las luces, la climatizacin, el audio, la TV, sistemas de riego, sistemas de seguridad domestica, entre otras muchas tareas. El tema principal de las viviendas inteligentes es la automatizacin y control de todos estos servicios de manera inalmbrica. Sin embargo en general todo esto gira en torno a una sola tarea general que es: la realizacin con bajo esfuerzo humano, es decir, se trata de hacer por medio de las diferentes tecnologas el trabajo que el ser humano podra hacer.
Un proyecto de casa inteligente puede ser similar a una actividad como la decoracin de la misma, uno mismo puede comenzar desde lo ms bsico y posteriormente agregar ms adaptaciones de acuerdo con las necesidades que se tengan o vayan surgiendo as mismo de acuerdo al presupuesto que se tenga.
Las principales ventajas en general de una vivienda inteligente son:
Confort: Al permitir al usuario tener el control de dispositivos del hogar de manera remota o el programar todas las actividades para que estas se realicen de manera automtica, es un beneficio que permitir realizar tareas de manera fcil y sobre todo el tiempo podr ser aprovechado para realizar otras tareas.
Ahorro de energa: Sin duda este aspecto es primordial en base a que est directamente relacionado con el costo. Si un dispositivo consume demasiada energa implicara un costo elevado ya que la energa es uno de los recursos en
13
los cuales se busca siempre ahorrar para que de manera consecuente el gasto en dinero disminuya. Adems de lo anterior mediante este beneficio es posible que a mediano o largo plazo sea ms rentable hacer uso de un sistema domtico.
Economa: Un sistema de este tipo puede implementarse de manera gradual, y es por esto que puede adaptarse a las necesidades especificas que se tengan, por lo que de este modo se evita tener recursos innecesarios que implican un gasto mayor, adems del ahorro de energa que nos permite obtener constantes ahorros en cuanto a recursos econmicos.
Seguridad: Uno de los aspectos primordiales que se buscan en todos los hogares y por supuesto edificios ya que permiten tener el control total de la vivienda de manera remota haciendo ms fcil la manipulacin de un sistema de seguridad, y sobre todo ahorra tiempos al permitir una inspeccin de todo el lugar sin tener que ir hasta el fsicamente. 1.3 Sistemas Domticos Los sistemas domticos poseen una serie de caractersticas que los hace diferentes de otros tipos de sistemas informticos. En un sistema domtico, la interaccin con el entorno fsico del sistema, es un factor muy importante. En el desarrollo de estos sistemas es necesario establecer mecanismos, para que ste pueda extraer informacin del entorno y realizar acciones sobre l. Debido a esto, en el sistema domtico existirn dispositivos que no sern computadoras lo cual no es habitual en otros tipos de sistemas informticos, como pueden ser las aplicaciones de gestin o los sistemas puramente informticos.
Por otra parte, hay que destacar que un aspecto importante de los sistemas domticos, es la integracin de los distintos tipos de servicios que debe ofrecer: automatizacin, seguridad, comunicaciones, multimedia, etc. Para ello se valdr tanto de elementos hardware, como elementos software. Por todo esto, es necesario un lenguaje de modelado especfico, que tenga en cuenta estas caractersticas. A grandes
14
rasgos un recinto con entorno inteligente posee dos sistemas principales, los cuales deben de trabajar de manera conjunta: El sistema de administracin de toda la casa y el sistema para la administracin de habitaciones.
A) Sistemas de administracin de toda la casa: Contempla los sistemas de gestin y control propios de la casa y de las prestaciones indirectas que la mismo facilita a los usuarios, entre ellas:
Control ambiental: alumbrado. Control energtico. Seguridad: Circuito Cerrado de Televisin, alarmas de incendio e intrusos. Control de acceso: personas o visitantes. Sistema de altavoces-sonido. Control de sensores. Control de motores.
B) Sistema para la administracin de habitaciones: En este caso se incluyen los elementos necesarios para una adecuada automatizacin del ambiente individual, ya sea por prestacin directa al usuario o bien teniendo una instalacin lo suficientemente flexible y amplia, para que el usuario pueda instalar sus propios equipos con posibilidades de interconexin, entre ellas:
Control de alarmas: Permite gestionar las operaciones relacionadas por las distintas clases de indicadores.
Vigilancia de intrusos: Se trata de identificar la presencia de personas en recintos no autorizados y avisar en el momento en que se detecte.
Vigilancia mediante cmaras: permite al usuario ver determinados puntos del recinto de forma local o remota, mediante cmaras distribuidas estratgicamente. Esto permitir al usuario vigilar la presencia de extraos,
15
trabajadores, etc., incluyendo la grabacin de las imgenes que tome la cmara. Esta activacin podr realizarse de manera manual en el momento que el cliente lo crea conveniente, mediante seales de alarmas, o podr programarse para que se lleve a cabo en lapsos de tiempo determinados por el usuario.
Un punto considerado relevante e innerente a los sistemas anteriores, es lo referente a las soluciones de automatizacin, entre las principales podemos citar las siguientes:
Actuacion remota sobre dispositivos: encendido de boma de agua, desactivacion selectiva de cargas, sistemas de riego, iluminacion, persinas, etc Alarmas por eventos: deteccion y envio de mensajes por alarmas. Programacion de automecanismos: inicio programado de riego, control automatico temporizado de persianas, etc. [1]
1.4 Tcnicas de modulacin usualmente usadas en dispositivos de comunicacin para domtica
Dentro del ambiente de comunicaciones en el ambiente domtico se requiere enviar datos entre transmisor y receptor, dichos datos son manejados de forma digital para su fcil procesamiento mediante computadoras, microcontroladores o microprocesadores, debido a lo anterior se hace uso de tcnicas de modulacin digital. En los siguientes puntos se explicara la forma en que trabajan las tcnicas de modulacin PSK (BPSK, QPSK y OQPSK), las cuales son utilizadas en dispositivos de transmisin inalmbrica con aplicaciones en domtica incluyendo la tecnologa presentada en este trabajo. 1.4.1 Modulacin BPSK
Es una tcnica de modulacin digital que permite que la informacin se module de acuerdo a la fase, lo que significa que dependiendo de los valores de la entrada digital,
16
la seal analgica modulada va a tener una u otra fase de salida. Para ejemplificar esta forma de modulacin se considera que la seal de informacin a transmitir es una seal binaria con niveles de tensin de +1v. Asimismo la seal portadora:
Fig. 1.1 Modulacin PSK: en la parte superior se observa la seal binaria de informacin mientras que en la parte inferior la seal modulada BPSK.
La funcin para la seal que es modulada mediante la tcnica BPSK se defino como:
Cuando la entrada al modulador corresponde a un 0 lgico, la fase absoluta de salida para la seal BPSK es 180. Si la entrada es un 1 lgico entonces la fase de salida va a ser 0, como se muestra en la figura. 1.4.1.2 Modulador BPSK El modulador BPSK consta de un circuito que integra un modulador balanceado quien se encarga de multiplicar analgicamente las seales de entrada, asimismo
17
consta de un filtro pasa banda que elimina los armnicos que no son significativos para la seal BPSK, lo anterior con la finalidad de no interferir con otro tipo de seales que puedan transmitirse por el mismo canal.
Fig. 1. 2 Esquema de un Modulador BPSK
1.4.1.3 Demodulacin BPSK
En la figura siguiente se muestra un demodulador BPSK de deteccin sncrona. El recuperador de la seal portadora es un circuito que se encarga de obtener la seal BPSK recibida.
Fig. 1.3 Demodulador BPSK.
La demodulacin de una seal BPSK se puede representar de la siguiente forma:
Las dos posibles entradas analgicas para este demodulador son:
.
Para el proceso para obtener la seal digital original es:
Modulador Balanceado Filtro paso banda Seal binaria
g1(t) g2(t) Recuperador de la Portadora. Modulador balanceado Filtro pasa bajas.
18
(1.1)
(1.2)
Para el proceso para obtener la seal digital original es:
(1.3)
(1.4)
1.4.1.4 Espectro de la seal BPSK
Para ejemplificar el espectro de una seal BPSK se tomara para anlisis que la seal digita es una seal peridica por lo que tiene una anchura de bit constante Tb=T/2 y niveles de tensin +A. Esto con el fin de ejemplificar una seal donde nunca se mantenga contante la informacin.
Fig. 1.4 Tren de pulsos binario.
La funcin y transformada de Fourier de este tren de pulsos es el siguiente:
(1.5)
19
(1.6)
La funcin de la seal modulada BPSK es:
(1.7)
Por lo tanto la transformada de Fourier es la siguiente:
(1.8)
Aplicando la propiedad de translacin en la frecuencia a la ecuacin anterior tenemos:
=
( + ) (1.9)
Dado que Tb=T/2 , y sustituyendo lo anterior se tiene:
20
( + ) (1.10) De esta forma el espectro de una seal BPSK se representa como se muestra en la figura:
Fig. 1.5 Espectro de Amplitud de una seal peridica de BPSK. 1.4.2 Modulacin QPSK
Quaternary Phase Shift Seying, como se deduce su nombre, es un tipo de modulacin MPSK en la que M=4 , esto significa que la seal portadora de frecuencia puede tener 4 fases de salida diferentes, esto trae como consecuencia k=2 , entonces en el esquema de modulacin QPSK , los datos de entrada binarios estn compuestos por grupos de 2 bits que reciben el nombre de dibits y que producen 4 posibles combinaciones: 00,01,10 y 11. 1.4.2.1 Modulador QPSK El siguiente circuito muestra un modulador QPSK que utiliza una seal portadora , y en el que entra una seal digital f(t) secuencial con niveles de tensin v.
21
CANAL I CANAL Q
Fig. 1.6 Modulador QPSK.
En un modulador QPSK se distinguen dos canales, CANAL I y CANAL Q, cada uno de ellos conducir uno de los bits desde el convertidor serie-paralelo a du modulador balanceado correspondiente, cabe destacar que un modulador balanceado opera igual que un multiplicador analgico. El bit I, cuyo nivel de tensin puede ser de +1 o -1 v, es multiplicado por la seal portadora desplazada en fase 90, es decir . A la salida de los dos moduladores balanceados se tiene una suma lineal para obtener as la seal QPSK.
El filtro pasa banda que es colocado a la salida del modulador QPSK lo que hace es eliminar los armnicos que no son significativos de la seal modulada para no interferir con otras seales que pudieran transmitirse por el mismo canal.
Convertidor Serie/Paralelo Q I Modulador Balanceado Oscilador Generador de portadora ( ) Desplazador de fase de 90 Modulador Balanceado Sumador Lineal Filtro pasa Banda
22
Los valores que puede tomar la seal de salida son:
Entrada binaria
Fase de salida de la seal QPSK Q I 0 0
-135 0 1
-45 1 0
+135 1 1
+45
Su diagrama de fasores se muestra a continuacin:
Fig. 1.7 Diagrama de fasores para la modulacin QPSK.
En la modulacin QPSK, como se puede observar en la figura, la separacin angular entre fases de salida adyacentes es de 90. Adems para este modulador, cada dibit difiere del adyacente en un solo bit. Este sistema de codificacin recibe el nombre de Cdigo Gray.
90 Q I 1 0 Q I 1 1 Q I 0 0 Q I 0 1
23
CANAL I
CANAL Q
1.4.2.2 Demodulador QPSK
En la figura 1.8 se muestra el demodulador QPSK. El separador de potencia triplica la seal recibida sin que este procedimiento tenga como consecuencia la perdida de potencia, conducindola por el calan I y el canal Q hasta los multiplicadores analgicos. En el circuito recuperador de portadora se obtiene la portadora a partir de la seal de QPSK. Las salidas de los multiplicadores analgicos se hacen pasar por dos filtros de paso de bajas que tienen que tener una frecuencia de corte menor que .
Fig. 1.8 Demodulador QPSK.
De forma matemtica el proceso para la demodulacin QPSK para los posibles dibits que se pueden transmitir es el siguiente:
QI=00 para este dibit la seal analgica es la siguiente: . (1.11)
Separador de Potencia. Recuperador de la portadora . Desplazador de fase de 90. Filtro pasa bajos. Filtro pasa bajos. Convertidor Serie/Paralelo Q I
24
Si analizamos por el canal Q se obtiene:
(1.12)
Para el canal I:
(1.13)
QI=01 para este dibit la seal analgica es la siguiente: (1.14) Si analizamos por el canal Q se obtiene:
(1.15)
25
Para el canal I:
(1.16)
QI=10 para este dibit la seal analgica es la siguiente: . (1.17) Primeramente se analiza para el canal Q:
(1.18)
Para el canal I:
(1.19)
26
QI=11 para este dibit la seal analgica es la siguiente:
. (1.20)
Primeramente se analiza para el canal Q:
(1.21)
Para el canal I:
(1.22)
27
1.4.3 Modulacin OQPSK
La modulacin OQPSK es similar a la modulacin QPSK de pulsos rectangulares, en la que se ha limitado la mxima variacin de fase instantnea. As como en la modulacin QPSK se llegan a producir saltos de rad. entre dos smbolos consecutivos, en la modulacin OQPSK dichos saltos de fase instantnea se reducen a la mitad rad, de este modo se evita que la componente en fase y la componente en cuadratura cambien simultneamente su signo.
La limitacin del mximo salto de fase instantneo es til cuando la seal se amplifica mediante amplificadores de alta potencia. Para evitar que ambas componentes cambien de signo simultneamente en el transmisor, la componente en cuadratura se retarda temporalmente un tiempo equivalente a medio periodo de smbolo T/2 y posteriormente en recepcin con un filtro pasa bajo, se retarda la componente en fase temporalmente un tiempo equivalente a medio periodo de smbolo T/2, de este modo, quedan de nuevo las dos componentes sincronizadas.
Se puede definir como un caso particular de la modulacin QPSK en donde uno de los bits ya se ale canal Q o el canal I se retrasa medio periodo de bit (Tb/2) respecto al bit del otro canal. En la figura se muestra un ejemplo en el que el bit de informacin del canal I es retrasado un tiempo Tb/2 respecto al bit del canal Q.
Fig.1. 9 Alineacin de los bits con el retraso introducido en uno de los canales.
28
De acuerdo a la diferencia que se presenta en la figura anterior se modifica tambin la forma en la que trabaja un modulador OQPSK respecto del QPSK convencional. Para este caso se presenta un latch de retraso en uno de los dos canales:
Fig. 1.10 Modulador OQPSK.
Con OQPSK se consigue que no se produzca el cambo en ms de 1 bit simultneamente en el cdigo del dibit, es decir que nunca se dar la transicin de 00 a 11 o de 01 a 10. Esto traer como consecuencia que no se produzca un desplazamiento mayor a 90 en la fase de la seal analgica de salida OQPSK, esto significa que se asegura que la fase nunca pase de -135 a +45 o de -45 a +135. La ventaja principal de este tipo de modulacin es el mnimo desplazamiento que la fase realiza en el proceso de modulacin.
29
1.4 Tecnologias de comunicacin utilizadas en domtica 1.4.1 Bus europeo de instalacin (EIB)
Las instalaciones elctricas con este protocolo son casi como las instalaciones tradicionales, slo que el usuario utiliza unos interruptores para encender y apagar las luces de su hogar. A los mtodos con este esquema de conexin se le llaman Sistemas de control distribuidos en red.
Fig.1.11 Esquema de Conexin con EIB (Bus europeo de instalacin).
1.4.1.1 Caractersticas del sistema EIB (Bus europeo de instalacin)
Los elementos del EIB pueden comunicarse entre s, sin importar el fabricante del elemento.
Las seales recibidas por el sensor se envan al actuador correspondiente por la lnea del bus, que es un cable de dos hilos.
El sistema puede ser ampliado con un mximo de quince reas como instalacin unitaria. El sistema trabaja de manera descentralizada.
30
Su estructura puede ser lineal, de estrella o con ramificaciones, sin necesidad de un control central.
1.4.1.2 Ventajas del sistema EIB
Ahorro de tiempo: Los tiempos de montaje del sistema pueden reducirse debido a una planificacin e instalacin adecuada, con la ayuda de un software y con la reduccin de la cantidad de cables, el montaje es mucho ms fcil.
Flexibilidad: Es posible la ampliacin o modificacin de funciones gracias a la reprogramacin de los actuadores y sensores, incluso ampliando la instalacin existente.
Eficiencia en la comunicacin: Los componentes del sistema son compatibles entre s, creando una comunicacin sin problemas o interferencias. Esto garantiza la utilizacin racional de la energa.
Respeto por el medio ambiente: Al aprovecharse al mximo la energa, el sistema brinda un alto grado de efectividad y mejora el manejo de los recursos existentes, repercutiendo en ahorro de dinero.[2]
1.4.2 Protocolo X.10
X.10 permite controlar los aparatos electrodomsticos y las luces de la vivienda, haciendo uso de la instalacin elctrica ya presente en el hogar, evitando la instalacin de cables. Cada aparato posee una direccin a la que responde o enva informacin, contando con un total de 256 direcciones.
Debido a su permanencia de ms de 20 aos en el mercado, al empleo de su tecnologa y a su liderazgo, sus productos, son ampliamente utilizados en algunas viviendas residenciales o importantes edificios en los Estados Unidos de Norteamrica. La instalacin tambin es muy accesible, debido a que cualquier persona con un poco de conocimientos previos en electricidad o incluso los usuarios, pueden ser capaces de
31
elaborar una sencilla instalacin domtica. El empleo de X.10 no requiere cableado especial, pero si se requieren dos dispositivos para la comunicacin:
Un receptor: Se instala para enchufar algn electrodomstico. En l se especifica el cdigo de la unidad y el cdigo de la vivienda, ofreciendo un gran nmero de posibilidades.
Un controlador o transmisor: Emite las rdenes de cundo deben activarse los aparatos electrodomsticos y con qu intensidad, encontrndose estos en cualquier otro lugar de la vivienda.
X.10 protege efectivamente la vivienda porque monitorea constantemente el estado de la casa, ya sea en el lugar o a distancia. Se encarga de encender las luces cuando se requiere, activa el sistema de alarmas si es requerido tambin, incorporando tambin a sus beneficios el empleo de un guardin electrnico, llamado perro electrnico X.10, un mdulo que imita los ladridos de un perro Pastor Alemn [2]. 1.4.3 Bluetooth
Bluetooth aparece en el ao de 1998 como una norma desarrollada por un grupo de empresas con el objetivo optimizar la comunicacin inalmbrica mediante radiofrecuencia entre dispositivos de uso domestico como por ejemplo: computadoras, PDAs, telfonos celulares, impresoras etc. Esta tecnologa puede abastecer hasta 8 dispositivos en una sola WPAN (Wireless Personal Area Network).
Bluetooth opera en la banda de 2,56 GHz y ofrece hasta 1Mbps, que se reducen a un aproximado de 434 Kbps al descontar la sobrecarga de los protocolos. El alcance mximo es de entre 10 y 100 metros, aunque los resultados obtenidos de manera efectiva son diferentes ya que intervienen factores externos como el ruido electromagntico y los obstculos.
Las principales caractersticas de esta tecnologa son:
32
Una soporta un mximo de 8 nodos dentro una subred Bluetooth. Bluetooth maneja una velocidad de intercambio de hasta 1Mbps. Frecuencia de 2.4 GHz. Potencia de transmisin: 1mW para 10 metros, 100mW para 100 metros. Canales mximos de datos: 7 por subred. Velocidad de datos: 721 Kbps por subred. Cobertura: 10 Metros. Bajo consumo de energa: 2.7 Volts. [3] 1.4.4 ZigBee
Las redes ZigBee comenzaron a ser concebidas por el ao 1998, el organismo encargado del desarrollo es la ZigBee Alliance cuyo afn era disear redes ad-hoc de auto organizacin para radios digitales as como programas de certificacin, insignias y estrategias de comercializacin.
El enfoque principal fue desarrollar dispositivos para aplicaciones diferentes, las cuales proveern al usuario soluciones inalmbricas que son rentables, fciles de utilizar, altamente confiables y seguras. ZigBee ha sido diseado para soportar una diversa gama de aplicaciones con conectividad ms sofisticada que los anteriores sistemas inalmbricos. Se enfoca un segmento del mercado no atendido por los estndares existentes, con baja tasa de transmisin de datos, bajo ciclo de servicio de conectividad y bajo costo. Las principales caractersticas de esta tecnologa son:
Bajo costo en los dispositivos, la instalacin y el mantenimiento.
Los dispositivos ZigBee amplan la vida de las bateras ya que la naturaleza de ZigBee permite la creacin de redes que requieren poco mantenimiento.
Redes de alta densidad de nodos. ZigBee permite que las redes manejen hasta 65536 dispositivos [4].
33
1.5 Comparativa general
Una vez analizados los distintos medios de transmisin aplicables en Domtica se presenta un panorama de las diversas ventajas y desventajas que pueden tenerse al utilizar cualquiera de ellos, sin embargo cada uno de ellos es apto para necesidades diferentes, para el caso particular de este trabajo es prioritario encontrar una tecnologa que consuma muy pocos recursos tanto econmicos como en materia de energa. A continuacin se presenta una comparativa general de las tecnologas antes mencionadas.
Tabla 1.1 Comparativa general de diferentes tecnologas inalmbricas. EIB X.10 BLUETOOTH ZIGBEE Ancho de banda 12-96 Mbps 60bps 1Mbps 20 250kbps Aplicaciones
Automatizacin y Sistemas de control.
Control remoto de dispositivos elctricos Reemplazo de cable Monitorizacin y control Consumo energtico alto Alto Medio Bajo Puntos importantes Robustez, Seguridad, alta velocidad d transmisin.
Empleo de un guardin electrnico Costo, seguridad Consumo, costo, robustez, seguridad Complejidad
Media Alta Media - alta Baja Distancia En metros 300-600 No especificado 1 - 10 1 - 75
34
CAPITULO II
ZIGBEE
35
2.1 Introduccin a ZigBee Las tecnologas inalmbricas si bien pudiesen tener algunas desventajas en cuanto al ancho de banda se refiere respecto a tecnologas alambicas , poseen mltiples ventajas en el mbito de la domtica debito en primer lugar a el ahorro de toda la infraestructura que se requiere para una instalacin almbrica que para el caso prctico y esttico no es muy conveniente ya que en domtica uno de los puntos que ms sobresaltan a la vista es la esttica y como en todo tambin el costo resulta importante.
ZigBee es una tecnologa que se presta para esto ya que el estndar se ha hecho a medida para la monitorizacin y para tareas de control. Por este motivo, los mercados tales como la automatizacin de edificios y hogares, la atencin sanitaria, control industrial, control de alumbrado y control comercial, son las principales reas bajo las cuales trabaja la tecnologa en cuestin. 2.2 Arquitectura ZigBee es una tecnologa que basa su funcionamiento en el modelo de referencia OSI (Open System Interconection) y como tal tambin divide su arquitectura en capas que definen su funcionamiento, Sien embargo para el caso de las capas de ZigBee encontraremos una divisin entre los protocolos encargados de definir dichas capas, por una parte se encuentra presente la norma IEEE 802.15.4 y por otro lado se encuentran las normas dictadas por la ZigBee Alliance.
La ZigBee Alliance es el grupo conformado por diversas empresas que se dedican a la creacin de nuevas soluciones en el mbito inalmbrico principalmente para su uso en entornos residenciales aunque tambin hay diversas aplicaciones de uso comercial e industrial. Esta alianza tecnolgica, sin fines de lucro, conformada por ms de 100 firmas, la mayora de ellas fabricantes de semiconductores tienen el objeto de colaborar con el progreso e implementacin de una tecnologa inalmbrica de rea personal a bajo costo.
36
2.2.1 IEEE 802.15.4
ZigBee es una tecnologa que est basada en el estndar IEEE 802.15.4 que est enfocado para conexiones inalmbricas de tipo personal PAN con una tasa de transferencia baja como es el caso de la tecnologa de la que se hace uso para la realizacin de este trabajo. Para poder estudiar la tecnologa ZigBee, ser necesario tratar los niveles definidos por el estndar IEEE 802.15.4 especfico para conexiones inalmbricas tales como ZigBee y bajo la cual esta se basa.
IEEE 802.15.4 es una norma bajo la cual se define la especificacin de ZigBee. La finalidad del estndar IEEE 802.15.4 es definir los niveles de red bsicos para dar servicio a un tipo en particular de red inalmbrica de rea personal (WPAN) centrada para constituir la comunicacin entre dispositivos con un bajo costo y baja velocidad. Se hace nfasis en el bajo precio de los mdulos de comunicacin y su fcil reconocimiento con nodos cercanos y sin infraestructura, o con muy poca, as mismo con esto se favorece al mximo el bajo consumo de recursos materiales y por lo tanto econmicos. 2.2.1.1 Capas del estndar IEEE 802.15.4
La capa de ms bajo nivel es la capa fsica (PHY), que en conjunto con la capa de acceso al medio (MAC), brindan los servicios de transmisin de datos por el aire, punto a punto. Estas dos capas esta descritas dentro del estndar IEEE 802.15.4. El estndar trabaja sobre las bandas ISM de uso no regulado, dnde se definen hasta 16 canales en el rango de 2.4 GHz, cada una de ellas con un ancho de banda de 5 MHz 2.2.1.1.1 Nivel fsico
El nivel fsico PHY es quienes encarga de realizar la transmisin de datos sobre el medio fsico, asimismo asigna la interfaz fsica por medio de la cual se acceden a todos los servicios proporcionados por las capas superiores, as mismo mediante esta capa se realiza el control de los dispositivos transceptores encargados de la trasmisin y recepcin de datos y se realiza la seleccin del canal para este intercambio, dichos
37
transceptores trabajan bajo una de los tres rangos de frecuencias ya anteriormente mencionados:
De 868 a 868.8 MHz: Europa. Se permite de uno a tres canales. De 902 a 928 MHz: Norte Amrica. Se permite de diez a treinta canales. De 2400 a 2483.5 MHz: Uso en todo el mundo. Se permite hasta diecisis canales.
La IEEE 802.15.4 maneja dos modos diferentes de modulacin y as mismo puede manejar dos diferentes versiones para el nivel fsico (PHY). La primer versin es denominada PHY a 868/915 MHz y es conocida como la versin PHY de banda baja, esta versin utiliza modulacin por desplazamiento de fase binaria (BPSK) .La segunda versin PHY a 2.4 GHz es conocida como Banda alta y utiliza una tcnica de modulacin llamada OQPSK por sus siglas en ingles Offset Quadrature Phase-Shift Keying.
La grafica que se muestra en la figura 2.2 muestra que la tcnica de modulacin del estndar IEEE 802.15.4 es de manera clara ms eficiente que el utilizado por Wi-Fi o Bluetooth ya que obtenemos que es 7 dB o 18 dB mejor que las tcnicas utilizaras por los estndares IEEE802.11 e IEEE 802.15.4 que son quienes definen las tecnologas Wi-Fi y Bluetooth respectivamente. Es necesario recordar que la relacin seal a ruido es de suma importancia para lograr un enlace inalmbrico que pueda transmitir y recibir de manera optima, ya que como su nombre lo indica, la relacin seal a ruido establece la relacin entre la potencia de la seal recibida y la potencia del ruido presente en el canal de comunicacin [4].
38
Fig. 2.1 Tasa de error de bit contra relacin seal a ruido en los estndares IEEE 802.15.4, IEEE 802.11 e IEEE 805.15.1.
2.2.1.1.1.1 Medidas de canal
Dependiendo del tipo de dispositivo utilizado y el consumo de potencia que generan aplicaciones determinadas, con el estndar IEE 802.15.4 se espera una transmisin exitosa en un rango de 10 a 75 m con un consumo de potencia aproximado a 1mW. En las graficas mostradas en la figura 2.4 se analiza la tasa de error de paquete PER (Packet Error Rate) y el indicador de seal recibida RSSI (Receive Signal Strength Indication) tanto en ambientes exteriores como en interiores. El estndar IEE 802.15.4 define dentro de sus caractersticas una transmisin optima para interiores de hasta 32 metros entre el transmisor y el receptor con PSDU (Physical layer Service Data Unit) de tamaos de 20, 40,80 y 127 bytes. La grafica 2.3 tambin muestra la intensidad de seal recibida arroja que a mayor distancia la intensidad ir disminuyendo de manera paulatina conforme se aleja el transmisor del receptor, sin embargo esto es solo para el caso de ambientes internos donde se encuentren obstculos a cada paso como sucedera dentro de una casa.
39
Fig. 2.2 RSSI en ambientes internos
Fig. 2.3 RSSI en ambientes externos (derecha).
40
La grafica de la figura 2.4 muestra una relacin entre la intensidad de la seal recibida y la distancia, en este caso a diferencia de la respuesta que se obtiene en ambientes internos, la seal decae ms rpidamente sin embargo a partir de los 30 metros la intensidad de la seal es ms constante.
El segundo parmetro al cual se hace referencia en el estndar IEEE 802.15.4 es la tasa de error de paquete PER, ese parmetro tambin es manejado en funcin de la distancia, el estndar indica que la tasa de error para el caso de ambientes externos se dispara cuando se rebasa la distancia de 20 metros siendo probable despus de esta distancia la deteccin de errores. El panorama es diferente cuando se trabaja en ambientes externos ya que haya los 20 metros la probabilidad de error es muy baja y es hasta los 50 metros donde esta comienza a elevarse [5].
Fig. 2.4 PER en ambientes internos.
41
Fig. 2.5 PER para ambientes externos. 2.2.1.1.2 Nivel de enlace de datos
En este nivel encontramos la subcapa de Control de Acceso al Medio (MAC). sta se encarga de transmitir tramas MAC. Adems del servicio de datos, ofrece una interfaz de control y regula el acceso al canal fsico y al balizado de l a red. Tambin se encarga de controlar la validacin de tramas y las asociaciones entre nodos tiempo. Por ltimo, ofrece puntos de enganche para servicios seguros.
Tambin podemos encontrar en el nivel de enlace de datos la subcapa de control de Enlace Lgico (LLC) que hace la funcin de interfaz con los niveles superiores de la pila de protocolos. En la Figura 2.6 podemos observar los diferentes niveles definidos por el estndar 802.15.4 y las capas intermedias que hacen posible la comunicacin con los niveles superiores definidos por un tipo de red inalmbrica de rea personal WPAN, como ZigBee.
42
IEEE 802.15.4
Fig. 2.6 Capas que controlan el estndar IEEE 802.15.4.
2.2.1.2 Especificaciones del estndar IEEE 802.15.4
El medio de transmisin ZigBee trabaja sobre la banda ISM en concreto se definen algunas frecuencias dedicadas a su uso, 915 MHz para su uso en Estados Unidos de Norteamrica, 868 MHz para Europa y 2.4 GHz para el resto del mundo, la razn es que esta ltima es libre en gran parte del mundo y por este motivo las empresas dedicadas a su desarrollo optan por utilizar esta frecuencia. Para el caso de 2.4 GHz se definen 26 canales y cada uno de ellos los posee un ancho de banda especifico de 5 MHz.
Fig. 2.7 Canales del estndar IEEE 802.1.4 NIVEL FSICO ENLACE DE DATOS
CONTROL DE ACCESO AL MEDIO SUBNIVEL DE CONVERGENCIA CONTROL DE ENLACE DE DATOS (LLC)
43
Tres bandas, 27 canales especificados:
Tabla 2.1 Frecuencia de trabajo ZigBee
FRECUENCIA COVERTURA TRANSFERENCIA DE DATOS NUMRO DE CANALES SENSIBILIDAD DE RECEPCION MODULACION 2405-24800 MHz RESTO DEL MUNDO 250 Kbps 16 -85 dBm O-QPSK 868.3 A 870 MHz EUROPA 20 Kbps 1 -92 dBm BPSK 902-828 MHz AMRICA 40 Kbps 10 -92 dBm BPSK
a) Sensibilidad: -85 dBm @ 1%PER b) Potencia de salida: 0dB c) Alcance: Interiores (30m), exteriores libres (75m)
Caractersticas de la comunicacin:
a) Estructura simple. b) Entrega de datos segura ya que se hace uso de :
CSMA/CA (Acceso Mltiple con Deteccin de Portadora Prevencin de colisin). Reconocimiento de mensaje [6].
44
2.2.2 Niveles especificados por ZigBee Alliance 2.2.2.1 Nivel de red
Las funciones principales del nivel de red son dar paso al correcto uso del Subnivel MAC, definido anteriormente por el estndar IEEE 802.15.4, as como ofrecer una interfaz ajustada para su uso por parte del nivel superior, el nivel de aplicacin.
Por una parte, se realiza el ruteo en base a la topologa de la red en la que el dispositivo se encuentra. Por otra parte, las funciones de control del nivel de red controlan la configuracin de nuevos dispositivos y el establecimiento de nuevas redes; puede decidir si un dispositivo colindante pertenece a la red e identifica nuevos routers y vecinos. El control puede detectar as mismo la presencia de receptores, lo que posibilita la comunicacin directa y la sincronizacin a nivel MAC.
2.2.2.2 Nivel de aplicacin
Se trata del nivel ms elevado definido por la especificacin y, por tanto, la interfaz efectiva entre el nodo ZigBee y sus usuarios. En l se ubican la mayor parte de los componentes definidos por la especificacin: tanto ZDOs, (ZigBee Device Objects) quienes se encargan de definir el papel del dispositivo en la red, si el actuar como coordinador, router o dispositivo final como sus procedimientos de control y los objetos de aplicacin. El direccionamiento de los dispositivos ZigBee, a su vez, parte del nivel de aplicacin. Un nodo est formado por un transceptor compatible con 802.15.4 y una o ms tipos de dispositivos conformados por un conjunto de atributos que pueden ya sea monitorearse o controlar por medio de eventos [7].
45
ZIGBEE IEEE 802.15.4
NIVEL DE APLICACIN
Fig. 2.8 Capas del Protocolo Zigbee. 2.3 Dispositivos ZigBee Dentro de una red constituida por esta tecnologa se pueden encontrar tres tipos de dispositivos diferentes que cumplen con funciones diferentes de acuerdo a la posicin en que se encuentran dentro de una red, dichos dispositivos son los que a continuacin se mencionan:
Coordinador ZigBee ZC (ZigBee Coordinator): Este dispositivo es el que tiene ms funciones dentro de una red ZigBee ya que entre sus funciones se encuentra controlar y coordinar la red y las diferentes rutas que deben de seguir cada uno de los dispositivos para comunicarse entre ellos, para poder constituir una red ZigBee es forzosamente necesario tener por lo menos un Coordinador. NIVEL DE RED SUBCAPA DE APOYO A LA APLICACIN SERVICIO DE SEGURIDAD
OBJETOS DE APLICACIN
OBJETO DE DISPOSITIVO ZIGBEE CONTROL DE ACCESO AL MEDIO (MAC) NIVEL FISICO
46
Router ZigBee (ZigBee Router, ZR): Este dispositivo tiene como meta principal la interconexin de cada uno de los dispositivos que se encuentren separados dentro de una topologa de red del mismo modo este dispositivo ofrece la posibilidad de obtener un nivel de aplicacin para la ejecucin de cdigo por parte de los usuarios.
Dispositivo Final (ZigBee End Device, ZED): Este tercer dispositivo tiene la tarea de tener la funcionalidad necesaria para comunicarse con el nodo principal de una red que bien puede ser un Router ZigBee o un Coordinador ZigBee, este dispositivo se encarga de transmitir informacin hacia el router o coordinador al que se encuentre conectad, sin embargo no puede transmitir directamente a otro ZED, para esto es necesario atravesar la ruta hacia el por medio de un ZR o ZC, una de las grandes ventajas de estos dispositivos conectados a una red ZigBee es su ahorro de energa, pues no se requiere que estn encendidos todo el tiempo pues es posible mantenerlos en modo de hibernacin hasta que se requiera de ellos. 2.4 Topologas de redes ZigBee 2.4.1 Topologa en estrella
En redes en estrella el coordinador se sita en el centro, y toda conexin que se quiera realizar entre los distintos nodos de la red debe pasar por ste. En la Figura 2.9 vemos ilustrada la tpica estructura de una red en estrella.
Coordinador de red. Dispositivo de funcin completa (FFD). Dispositivo de funcin reducida (RFD).
Fig. 2.9 Diagrama Red ZigBee con topologa tipo estrella.
47
En una red estrella se tiene un solo nodo central activo que normalmente es quien administra la red y evita problemas derivados de una mala distribucin de la red , las ventajas que una red de este tipo puede generar es la facilidad de implementacin as como la facilidad de incrementar los dispositivos conectados a la red, as mismo el fallo de un nodo perifrico no influira el desempeo de la red completa , otro problema que resuelve esta topologa son las colisiones de datos, las cuales se eliminan al existir una sola conexin por parte de cada estacin al dispositivo central.
2.4.2 Topologa en rbol
En esta topologa de red en la que los nodos estn colocados en forma de rbol el coordinador ser la raz del rbol. La conexin en rbol es parecida a una serie de redes en estrella interconectadas, salvo en que no tiene un nodo central. En cambi o, tiene un nodo de enlace troncal, generalmente ocupado por un coordinador, desde el que se ramifican los dems nodos.
Coordinador de red. Dispositivo de funcin completa (FFD). Dispositivo de funcin reducida (RFD).
Fig. 2.10 Diagrama Red ZigBee con topologa tipo rbol.
48
Los problemas que presentan este tipo de topologa radican en que los datos son recibidos por todas las estaciones no importando para quien vayan dirigidos. Por lo tanto surge el problema de dotar a la red con un mecanismo que permita identificar al destinatario de los mensajes. 2.4.3 Topologa en malla
La topologa ms interesante es la topologa de malla. Consiste en que al menos uno de los nodos tendr ms de dos conexiones. Con ello conseguimos que si, en un momento dado, un nodo del camino falla y se cae, pueda seguir la comunicacin entre todos los dems nodos debido a que se rehacen todos los caminos.
El establecimiento de una red de malla es una manera de encami nar datos, voz e instrucciones entre los nodos. Las redes de malla se diferencian de otras redes en que las piezas de la red (los nodos) estn conectadas unas con otras por uno u otro camino. Esta configuracin ofrece caminos redundantes por toda la red, de modo que si falla un cable, otro se har cargo del trfico. Esta topologa, a diferencia de las vistas en apartados anteriores, no requiere de un servidor o nodo central, con lo que se reduce el mantenimiento. Un error en un nodo, no implica la cada de toda la red.
Como ya se ha comentado anteriormente, las redes de malla son autogenerables. La red puede funcionar incluso cuando un nodo desaparece o la conexin falla, ya que el resto de nodos evitan el paso por ese punto. Consecuentemente, se forma una red muy confiable.[8]
Coordinador de red. Dispositivo de funcin completa (FFD). Dispositivo de funcin reducida (RFD).
Fig. 2. 11 Diagrama. Red ZigBee con topologa tipo malla.
49
2.5 Mdulos ZigBee
Una vez que se conocen lo dispositivos bajo los cuales se basa esta tecnologa y los lineamientos que deben seguir, corresponde el turno a la bsqueda de mdulos comerciales que trabajen bajo ZigBee. Para este trabajo se ha realizado una bsqueda de diferentes dispositivos fabricados por empresas diferentes y que perteneces a la ZigBee Alliance y por tal motivo son quienes se encargan de la distribucin de productos relacionados.
Si bien en esencia el protocolo no cambia, cada fabricante ofrece diversas soluciones aplicables a l, por lo que en este apartado se detallan diferentes componentes que han sido analizados para ver sus cualidades y saber cul es el ms adecuado y cual ofrece mejores soluciones.
2.5.1 eZ430-RF2480 Development Tool
Se tratad e una herramienta de la hempresa Texas instruments, la cual contiene lo necesario para la implementacin de proyectos por medio de ZigBee, asimismo cabe destacar que este dispositivo es compatible y estrechamente vinculada con micronoctroladores de la familia MSP430, dicha herramienta contiene:
Un soporte para las bateras de los mdulos. 2 bateras AAA 3 Mdulos CC2480 Una interface USB eZ430-RF.
Fig. 2.12 Transceiver CC2480
50
Dentro de esta herramienta son incluidas algunas herramientas de trabajo en software as como documentacin sobre el hardware incluido dentro de este kit, del mismo modo es posible descargarlas desde la pgina web del fabricante. Dichos tiles son los siguientes:
La gua de usuario de eZ430-RF2480 Entornos de trabajo Code Composer Essentials (CCE) e IAR Embedded Workbench. Una gua de usuario para la familia de microcontroladores MSP430.
Fig. 2.13 eZ430-RF2480 Development Tool Este kit contempla todo un entorno de desarrollo as como los dispositivos necesarios para la implementacin de proyectos de tipo inalmbrico, para lo anterior se utiliza una interfaz incluida dentro de esta herramienta de tipo USB, de esta manera la creacin de nuevas aplicaciones se torna ms cmoda por su fcil interaccin con las computadoras ya que muchas veces es utilizada para el alojamiento de interfaces graficas que ejecutan acciones sobre los diferentes dispositivos utilizadas, tambin es posible mediante la presente herramienta realizar simulaciones en tiempo real sobre el dispositivo por medio de una computadora y el hardware y software subministrado por la empresa Texas Instruments.
El kit, como ya se ha preciso anteriormente, consta de tarjetas inalmbricas que trabajan bajo una frecuencia de 2.4 GHz, mismas que incluyen un microcontrolador de
51
la familia MSP430 de ultra bajo consumo. Los proyectos que se realicen con estos dispositivos pueden gozar de una autonoma gracias a la plataforma de batera que incluye el kit. Algunas de las caractersticas principales del eZ430-RF2480 son:
Dos LED (rojo/verde) indicadores para el desarrollo de la Comunicacin. Una interface USB til en la programacin de los dispositivos. Transceiver CC2480 a 2.4GHz. UART Un microcontrolador MSP430 de ultra-bajo consumo a 16MHz. 18 pines disponibles para la realizacin de pruebas.
El eZ430-RF2480 utiliza dos entornos de programacin para poder escribir, descargar y programar diferentes aplicaciones dentro del dispositivo ZigBee. Los entornos mencionados son:
Code Composer Essentials (CEE) IAR Embedded Workbench Integrated Development Environment (IDE)
2.5.2 ATMEL Module
ATMEL es el nombre del fabricante que proporciona dispositivos compatibles con la especificacin ZigBee. En este caso se nos detalla, por separado, cual es el transceiver y el microcontrolador utilizados para la implementacin del mdulo. Como se puede comprobar en la Figura 2.14, nos encontramos con otra solucin completa al integrar en su PCB todos los componentes requeridos y compatibles con ZigBee, por lo tanto debemos de analizar dichos componentes para conocer los beneficios que pueden aportar al proyecto y de este modo llegar a la mejor solucin posible.
52
Fig. 2.14 Modulo ATMEL 2.5.3 EasyBee ZigBee
EasyBee se fundamenta en un mdulo vlido para ZigBee dentro del estndar IEEE 802.15.4. El mdulo EasyBee, que se aprecia en la Figura 2.15, contiene todo el conjunto de circuitos necesarios, integrando una antena integrada. La capa MAC incluye la generacin CRC-16, la evaluacin de canal clara, la deteccin de seal de energa, la seguridad, encriptacin y autentificacin. Cabe sealar que este dispositivo nicamente es un tranceiver, por lo que para su implementacin requiere como varios de los otros mdulos un microcontrolador externo.
Fig. 2. 15 Modulo EasyBee ZigBee
A continuacin se enuncian las caractersticas ms resaltantes de este modulo:
Frecuencia: 2.4GHz. Posibilidad de antena integrada o externa. Potencia de salida: 1mW (+0dBm).
53
Temperatura: -40C a 85C. Volate necesario: 2.1 3.6V. Distancia mxima: 120m. [12] 2.5.4 XBee Module
Es uno de los mdulos que hace uso utilizacin de ZigBee. El dispositivo tiene como labor principal la transmisin y recepcin de datos que son suministrados ya sea por un microcontrolador o mediante una computadora. Para el este trabajo se utilizarn los mdulos XBee series 1 y series 2, que son mdulos de radio frecuencia que trabajan en la banda de 2.4 GHz por medio del protocolo IEEE 802.15.4 fabricados por MAXSTREAM. Son utilizados en automatizacin de casas, sistemas de seguridad, monitoreo de sistemas remotos, aparatos domsticos, alarmas contra incendio, plantas tratadoras de agua, etc. Los mdulos XBee especficamente tienen un alcance en interiores de hasta 30 metros, y en exteriores el alcance es de hasta 100 metros. En la Figura 2.16 se muestran los tres diferentes tipos de XBee.Las principales especificaciones del mdulo XBee son las siguientes:
Potencia de salida: 50mW Consumo de corriente en Rx: 45mA Consumo de corriente en Tx: 295mA Consumo de voltaje: 3.0 3.4V Tamao (cm): 2.43 x 3.29 Temperatura: -40C a 85C Distancia: Interior: 30m / Exterior: hasta 100 mts. [9]
Fig. 2.16 Modulos XBee de Maxstream
54
CAPITULO III DISEO DEL SISTEMA DE COMUNICACIN
55
Para la implementacin del sistema de comunicacin se necesitan los siguientes mdulos o dispositivos:
Modulo XBee Microcontroladores. Pantalla de LCD de 4 x16. Teclado matricial de 4x4. Comunicacin mediante C.I. MAX 232.
3.1 MODLO XBEE
Analizando las diferentes opciones que existen en el mercado podemos observar las principales caractersticas as como sus ventajas y desventajas que ofrecen los diferentes dispositivos existentes de manera comercial; en base a lo anterior se puede llegar a la determinacin del elemento a emplear as como diferentes observaciones que permitirn concluir que la mejor opcin es la de utilizar los mdulo Maxstream.
Observando las diferentes posibilidades se han utilizado diferentes criterios para llegar al dispositivo a utilizar antes mencionado. Uno de los puntos ms importantes en la abertura del dispositivo para trabajar con mltiples microcontroladores ya que se desea que el gasto por este dispositivo sea reducido o bien que sea ajustable a las necesidades que se tengan, de mismo modo es una ventaja si existe una cierta facilidad para interconectarse con los puertos de una computadora ya que en algn momento dado puede ser necesario para una interfaz grafica con el usuario por medio de una computadora. En base a lo anterior se ha credo que no es muy conveniente utilizar la herramienta eZ430-RF2480 de Texas puesto que es difcil implementar el transceiver ZigBee con otro microcontrolador diferente al de la familia que se especifica, as mismo las herramientas proporcionadas y el contenido de aplicaciones ya implementadas que trae hacen de esta opcin muy costosa.
56
Tabla 3.1 Comparativa entre los dispositivos ZigBee en el mercado
Otra caracterstica que se ha tomado en cuenta fue la facilidad con que el dispositivo seleccionado puede ser montada y desmontada ya sea en placa de circuito impreso o en una tablilla de pruebas para su fcil manejo, por este motivo la utilizacin de los dispositivos provistos por ATMEL es considerada no oportuna ya que en sus herramientas de desarrollo el dispositivo ZigBee se encuentra incrustado en la placa de circuito impreso por lo que es difcil manipular el dispositivo en su forma independiente. Una opcin alternativa por su tamao y facilidad de manipulacin en forma individual es el modulo EasyBee sin embargo no es fcil de encontrar en Mxico y la informacin presente sobre este modulo an es limitada por lo que se ha descartado tambin esta opcin. La solucin que se ha considerado ideal es el modulo XBee fabricado por Maxstream ya que es de bajo costo, y fcil manipulacin y compatibilidad con varios tipos de microcontroladores, as mismo es sencilla la realizacin de interfaces para la computadora, por lo anterior se determina que el dispositivo que mas es conveniente es el modulo XBee. [9]
Consum o Rx Consumo Tx Peso Dimensiones c incluido Potencia de salida Consumo de voltaje Xbee 40mA 40mA 3gr 2.43 x 2.76 no 1.25- 2mW
2.1- 3.6V ATMEL 15.5m A 16.5mA 5gr 2.25x2.3 no 4mW 3.6V Texas Instruments 13.3m A 21.2mA 5gr 3 x 2 x 0.1 si 1mW 3.6V EasyBee 20mA 18mA 3gr 2.6 x 2 no 1mW 2.1- 3.6V
57
3.1.2 Modos de operacin
Fig. 3.1 Modos de operacin de los modulos XBee 3.1.2.1 Modo recibir y transmitir
El modulo trabaja bajo estos modos cuando recibe algn paquete por medio de la antena o cuando el buffer de salida tiene algn dato, el cual es transmitido en modo serial. La informacin transmitida puede ser de tipo Directa o Indirecta. En el primer modo la informacin es enviada inmediatamente a la direccin de destino, mientras que en el modo Indirecto la informacin se retiene por el mdulo durante un perodo de tiempo y es enviada slo cuando la direccin de destino realiza una peticin de envi. Asimismo es posible enviar informacin por dos formas diferentes: Unicast y Broadcast. Por la primera, la comunicacin es realizada solo desde un punto a otro, y es el nico modo que permite respuesta de quien recibe el paquete , es decir, quien recibe debe enviar un ACK (acknowledgement) o acuse de recibo, llamado as ya que indica que recibi el paquete, el usuario no puede verlo ya que es interno de los mdulos.
MODO IDLE
MODO TRANSMITIR
MODO COMANDOS
MODO SLEEP
MODO RECIBIR
58
El modulo que ha enviado un paquete recibe este acuse de recibo y en caso contrario el paquete ser reenviado de nuevo en un nmero mximo de 3 veces, una vez concluidos estos 3 intentos se incrementa el registro interno de fallas del modulo
3.1.2.2 Modo de bajo consumo (Sleep Mode)
El modo de Bajo Consumo o modo Sleep, es el que utiliza dicho modulo para desactivarse momentneamente en un periodo determinado en el cual no existe intercambio de informacin esto tiene como consecuencia el ahorro de energa en un alto o mediano porcentaje dependiendo de la aplicacin dada, ya que muchas veces estas no demandan al modulo estar en modo activo permanentemente ya que solo requieren la atencin por parte del modulo cuando se enven datos, mismos que en algunas tareas no son constantes. El ahorro de energa de este modo es configurable y asimismo depende de la alimentacin del modulo de acuerdo a los rangos permitidos, el consumo de corriente cuando es activado el modo sleep vara entre 10A y 50A.
3.1.2.3 Modo de comandos
Este modo permite ingresar comandos de tipo AT las cuales son instrucciones que sirven para interactuar entre los usuarios y dispositivos terminales modem en este caso al mdulo XBee, con los comandos AT se configura, ajusta o modifica el conjunto de parmetros tales como la direccin propia o la de algn destino, as como su modo de operacin entre algunos otros. Para ingresar a este modo dentro de los mdulos es necesario un software terminal como por ejemplo Hyperterminal en Windows XP o cualquier otro similar, la empresa Maxstream ha desarrollado un software propietario que contiene un software de tipo terminal llamado X-CTU que adems incluye otras aplicaciones.
59
3.1.2.4 Modo transparente
Este modo almacena en el buffer de entrada todo lo que ingresa por el pin 3 para posteriormente ser transmitido y todo lo que ingresa como paquete es guardado en el buffer de entrada y luego se enva mediante el pin 2 este modo est enfocado para cuando nicamente existe una conexin punto a punto . Dependiendo de cmo se configure el modulo, es posible transmitir la informacin de manera inmediata en cuanto la informacin ingrese o es posible configurar un retardo de tiempo dado sin recibir ningn carcter serial por el pin 3. Una vez finalizado el tiempo de espera configurado se procede en ese momento y se toma lo que se encuentre en el buffer de entrada, se empaqueta, y finalmente transmite.
3.1.2.5 Modo IDLE
Finalmente cuando el modulo se encuentra encendido pero sin configurar alguno de los modulos anteriors, es decir no envia ningun pauqete de datos ni recibe nada y asimismo no se encuentra dormido entonces se encuentra en este modo en el que solo se encuentra energizado pero no realiza ninguna accin.[11]
3.2 Microcontroladores
Un microcontrolador es un dispositivo usualmente utilizado para tareas que requieren tres unidades funcionales existentes dentro de una computadora las cuales son: CPU, memoria y Unidades de entrada y salida, asimismo es posible realizar operaciones aritmticas y lgicas, es decir, se trata de un circuito integrado que contiene las caractersticas de un computador. En la figura 3.2 se muestra el esquema a bloques de un microcontrolador, el cual contiene elementos primordiales como un microprocesador, al menos 2 memorias, una RAM y una ROM y puertos para la conexin de elementos perifricos.
60
Fig. 3.2 Esquema de un microcontrolador.
Los microcontroladores difieren de un CPU comn en la capacidad de manejar en un solo chip varios perifricos mediante sus puertos de entrada y salida, y sin necesidad de conectarle memoria RAM y ROM de manera externa, esto a menos que se requiera ms de la que posee el fabricante del chip, sin embargo es por este motivo que existe en el mercado un amplia gama de microcontroladores con las cantidades de recursos necesarias para la implementacin de las funciones que requieran una cantidad mayor de memoria o de frecuencia de operacin. Cabe destacar que los microcontroladores son de mucha utilidad cuando se requiere manipular un sistema que requiera las caractersticas de un CPU pero dedicadas exclusivamente a una funcin en especifico. El tamao y las caractersticas de este dependen de los recursos que este pueda manejar, y la seleccin del ms ideal est directamente relacionada con esto ya que en muchas ocasiones no se requieren grandes recursos y por este motivo no s necesario invertir en un dispositivo costoso que ser mal aprovechado. PERIFERICO 1 PERIFERICO 2
MICROPROCESADOR MEMORIA 1 MEMORIA 2 VCC GND CLK I/O CONTROL
61
3.2.1 Familias de microcontroladores
Tabla 3.2 Familia de microcontroladores en el mercado
3.2.2 PIC 18F452
Este dispositivo se encarga de diversas tareas dentro del sistema desarrollado, se encarga de sincronizar la recepcin y envi de datos y de coordinar todas las tareas que realiza el sistema mencionadas a continuacin:
Adquisicin de datos. Visualizacin por pantalla de cristal lquido (LCD). Deteccin de datos introducidos en el teclado matricial. Ejecucin de algoritmo de identificacin por contrasea Convertidor ADC para sensores analgicos. Control de dispositivos XBee va EUSART. EMPRESA 8 bits 12 bits 14 bits 16 bits 32 bits Microchip Familia 10f2xx Familia 12Cxx de 12 bits Familia 12Fxx, 16Cxx y 16Fxx de 14 bits (PIC16F87X) 18Cxx y 18Fxx de 16 bits Pic 32 Freescale 68HC05 68HC08 68HC11 HCS08 No fabricados No fabricados 68HC12 68HC16 683xx 68HCS12 68HCSX12 Hitachi H8 No fabricados No fabricados No fabricados No fabricados Intel MCS-48 (familia 8048) MCS51 (familia 8051) 8xC251 No fabricados No fabricados MCS96, MXS296 No fabricados Nacional Semiconductor COP8 No fabricados No fabricados No fabricados No fabricados
62
Se ha decidido utilizar el PIC18F452 por las caractersticas tcnicas que posee ya que consta de mltiples herramientas que son necesarias para la realizacin de este proyecto entre ellas la cantidad de puertos que se tienen dentro del microcontrolador y la capacidad para poder manejar dentro de un mismo puerto seales analgicas y digitales, as mismo el fabricante provee a los usuarios de mltiples ejemplos para la manipulacin de diversas herramientas y funciones existentes dentro del dispositivo. Las caractersticas importantes tomadas en cuenta para seleccin de este dispositivo para su implantacin dentro de este proyecto son las siguientes:
Recursos contenidos dentro del PIC:
Memoria RAM suficiente para guardar los valores adquiridos de las seales tanto de entrada como de salida, de tipo analgicos como digitales
Memoria EEPROM con posibilidad de escribir y borrar cuando se est ejecutando el programa.
Memoria de programa FLASH, con una cantidad suficiente para grabar un programa extenso y posibilidad de borrar y volver a escribir, no estando en tiempo real.
Un convertidor A/D, til para la adquisicin de datos de diversos sensores sin la necesidad de utilizar convertidores ADC externos, asimismo se cuenta con 8 canales analgicos para la recepcin de datos.
Se dispone de tres puertos de entrada-salida, de 8 bits, uno de 6 bits y uno de 3 bits.
Comunicacin con la pantalla de LCD por medio del puerto C y puerto D. Monitoreo de sensores analgicos por el puerto A. Entrada de teclado por medio del puerto B. Envi y recepcin de datos en forma serial por el Puerto C.
63
Uno de los factores ms importantes para la seleccin de este dispositivo han sido la cantidad de puertos que se tienen dentro del mismo dispositivo, ya que se hace uso de varios de ellos al mismo tiempo por lo que era necesario utilizar un microcontrolador con suficientes entradas y salidas para controlar diversos dispositivos, del mismo modo quedando libres un puerto y algunos pines de entrada y salida, se incrementan las posibilidades de ampliar las funciones del circuito en algn futuro o as mismo es posible aumentar la memoria RAM. E importante conocer tambin lo antes mencionado sobre la caracterstica que se tiene en el dispositivo de poder multiplicar cuatro veces la frecuencia de oscilacin ya que se reducen interferencias generadas por osciladores de ms alta frecuencia.
En la siguente tabla s emuestran las caracteristicas mas relevantes del PIC18F452:
Tabla 3.3 Caractersticas del PIC18F45
PIC18F452 Memoria de programa FLASH (14 bits) 32K Memoria de datos RAM (8 bits) 1536 Memoria de datos EEPROM 256 Interrupciones 18 Frecuencia de operacin Hasta 40MHz Puertos E/S Puertos A, B, C, D, E
Timers 4 Modulo A/D de 10 bits 8 canales de entrada Comunicacin serie EUSART
64
3.3 Pantalla de LCD de 4 x16
El display utilizado es el modelo JHD539M2, es una pantalla de cristal lquido estndar de 4 filas por 16 caracteres y el controlador que utiliza es un KS0066 de la empresa Samsung. El display puede incorpora luz backlight mediante la activacin de los pines 15 y 16 a VCC y a GND respectivamente, as que el consumo que tiene puede ser controlado si no se requiere de el uso de la luz de fondo. El dispositivo LCD se controla a travs del puerto C y D, donde tres bits son de control y cuatro son los bits que se utilizan para enviar datos.
Fig. 3.3 Esquema de conexin del PIC al LCD
Este dispositivo dispone de 16 pines de los cuales dos son para alimentacin (VSS y VDD), 1 para ajuste de contraste (V0), 3 para control (RS, R/W y E) y los restantes 8 para transmisin/recepcin de datos (D0-D7). En la tabla 3. Se muestra el aspecto y posicin de los pines de un mdulo LCD estndar. Existen tambin mdulos LCD que disponen de 14 pines, usualmente no contienen pines para la iluminacin del LCD mediante LEDs, comnmente llamado backlight o luz de fondo como se menciona anteriormente. La forma ms sencilla de controlar los mdulos LCD es a travs de un microcontrolador. Para ello se seleccion el PIC18F452 conectado al mdulo LCD como se muestra en la figura 3.3. Tabla 3.4 Pines de la LCD
El teclado incorpora 16 teclas, las cuales estn conectadas de forma matricial, el teclado funciona de la siguiente manera, todas las teclas se cuentan como activas cuando en la entrada del PIC, este ve un 0. Por lo tanto la secuencia es la siguiente. Primero se lee el estado de los primeros pines del puerto B, y se comprueba pin por pin a ver si hay alguna a 0, en caso afirmativo el dispositivo identifica cual es y mediante una rutina para convertir el dato a cdigo ASCII se puede enviar al LCD y mostrar dicho dato.
Fig. 3.4 Teclado matricial
Al hacer uso del teclado matricial se sabe que este estar conformado por interruptores de tipo push-boton, por lo que cuando este se cierra no hace contacto inmediatamente con el otro extremo que se conecta con el interruptor, sino que tarda un instante de tiempo en milisegundos en hacerlo, esto genera un rebote elctrico que degenera en respuestas inesperadas por parte de nuestro sistema debido a que la seal enviada oscila por un instante en un estado alto y bajo de manera intermitente. Para corregir este problema es posible adicionar filtros al circuito para la atenuacin de este rebote, sin embargo se ha preferido realizar la correccin mediante software. Se sabe que el tiempo de este rebote es aproximado de 30ms, por lo que si se aumenta
66
un retardo igual a esta cantidad de tiempo cada vez que una tecla es presionada, entonces estaremos realizando la lectura de la tecla cuando esta envi la seal deseada y no ruido elctrico provocado por el rebote.
Fig. 3.5 Rebote generado al oprimir una tecla.
3.5 Comunicacin mediante C.I. MAX 232
Este circuito es de gran utilidad cuando se desean ajustar voltajes de comunicacin serial a niveles TTL, en el caso de este trabajo es requerido ya que el modulo XBee utilizado es manipulado de manera serial por lo que los datos recibidos son enviados por medio del puerto USB mediante un adaptador RS-232 a USB, por tal motivo es requerido este circuito que servir como interfaz para comunicar a l a computadora con el modulo inalmbrico. Del mismo modo es necesario tener una interfaz para realizar pruebas y configurar los parmetros mediante el software terminal o mediante el X- CTU, software que provee el fabricante para la manipulacin de los mdulos por medio del ordenador.
Fig. 3.6 Circuito integrado Max232
67
3.6 MPLAB C18 MPLAB C18 es un compilador de C, el cual produce cdigo que puede ser ejecutado por la familia de microcontroladores de Microchip PIC18XXXX. En nuestro caso, la plataforma utiliza el PIC18f452. MPLAB C18 toma sentencias estndares de C, como por ejemplo "while (a!=b)", y las convierte en cdigo mquina del PIC18XXXX. El cdigo fuente es compilado en bloques de cdigo de programa y datos, los cuales son "enlazados" con otros bloques de cdigo y datos, los cuales luego son puestos en varias regiones de la memoria del microcontrolador PIC18XXXX; este proceso es llamado "construir", posteriormente es generado un archivo con extensin .asm, dicho archivo es el que se introduce dentro del microcontrolador por medio de un programador.
El compilador C18 y sus herramientas, como el ensamblador o el enlazador, pueden construir un archivo .HEX, el cual puede ser programado en un microcontrolador PIC18XXXX, en la figura 3.7 se encuentra la captura en pantalla del compilador.
Fig. 3.7 Compilador MPLAB C18
68
3.7 Software X-CTU Si bien es cierto que es posible utilizar Hyperteminal de Windows para configurar un mdulo XBee, existe un programa llamado X-CTU, el cual permite realizar estar operaciones de manera ms natural, fcil y rpida. El ejecutable se puede encontrar en la pgina de MCI ingeniera o en la pgina oficial de MAXSTREAM quien es el fabricante de los mdulos XBee, mediante este software es posible configurar a los mdulos y realizar un testeo entre ellos para determinar si fueron configurados de manera optima, del mismo modo posee 2 maneras de llevar a cabo la configuracin, una de ellas es de manera grafica y otra es mediante comandos AT, la primera es til si se realiza una conexin hacia una computadora o si la configuracin ser esttica, sin embargo si se requieren realizar cambios a la configuracin de manera constante o si la configuracin la realizara un microcontrolador es necesario que sea por medio de comandos AT.
Fig. 3.8 Software X-CTU, a la izquierda se encuentra la funcin de prueba de comunicacin, a la izquierda las opciones a configurar.
69
3.8 Componentes del coordinador
Los modulos Xbee requieren de una terminal para ser programados, comunmente se utiliza hyperterminal o algn software similar, para ello es necesario conectar el dispositivo a uno de los puertos de la computadora, para lo cual comunmente se utiliza una interfase serial directa o mediante un adaptador para el puerto USB, as mismo son necesarios una serie de comandos llamados AT quienes son una utilidad cuando se requiere un mediador entre la terminal y el usuario. La empresa encargada de desarrollar los modulos Xbee a desarrollado un software con una terminal para la manipulacin de comandos AT, y de igual manera dicho software propietario denominado X-CTU maneja una interfaz grafica para la definicin de parametros en los modulos. Dicho software se describira mas adelante, ahora corresponde el turno de describir los componentes necesarios para interactuar el modulo con la computadora, dicho modulo servira como coordinador de los demas dispositvos que esten enlazados a el.
Fig. 3.9 Componentes de la interzaz con la computadora
70
3.9 Diseo del sistema terminal inalambrico 1
Fig. 3.10 Diagrama a bloques del sistema terminal 1
El sistema terminal tiene una funcin de adquisicin de datos mediante un sensor de temperatura el cual enva el dato adquirido hacia el microcontrolador por uno de sus puertos analgicos, la funcin de dicho bloque es monitorear temperatura a distancia de manera inalmbrica por medio de mdulos XBee, sin embargo el sistema se encarga del mismo modo de controlar la apertura y cierre de accesos as como el encendido y apagado de la ventilacin o iluminacin. Debido a lo anterior se requiere contar con un men que tenga el papel de interfaz de usuario con el sistema, de este modo se podr seleccionar mediante un men la opcin que el usuario desee, asimismo para dicha tarea es de utilidad el colocar un teclado como perifrico de entrada hacia el sistema. LCD
PIC 18F452 1 2 3 A 4 5 6 B 7 8 9 C * 0 # E
MODULO XBEE ALIMENTACION DE 5 v. ALIMENTACION DE 3.3 v. PUERTO D PUERTO C PUERTO B Tx/Rx Sensor de Temperatura PUERTO A
71
3.9.1 Diseo del programa para el primer microcontrolador
El microcontrolador la interactuar con el usuario por medio de un tecl ado y una pantalla de LCD cuenta con varios puertos de E/S que permiten controlar las funciones de los dispositivos perifricos y los datos provenientes de manera analgica por parte de sensores que pudiesen conectarse a l, de este mismo modo son coordi nados por el microcontrolador la transmisin y recepcin de datos del modulo XBee que permiten controlar las funciones implementadas en el hogar tal como el cierre y apertura de puertas o encendido y apagado de ventilacin.
3.9.1.1 Lectura del teclado
Fig. 3.11 Diagra de flujo para detectar tecla oprimida en el teclado. Para esta tarea es utilizado por completo el puerto B, dividido en dos partes, la primera de ellas formada por 4 bits enfocados a enviar hacia las filas del teclado un dato que permite identificar mas a delante a la tecla oprimida, la segunda parte del Verificar se presiona alguna tecla Tecla presionada? Recorrer renglones para encontrar la columna donde se oprimi la tecla. Convertir en cdigo ASCII la tecla oprimida. Si No INICIO
INICIO
72
puerto igualmente formada por 4 bits reconoce si ha sido enviado por cualquiera de los pines un dato diferente de 1, esto es porque inicialmente se enva solo 1s y un solo cero hacia las filas y se varia la posicin de dicho cero de manera constante. Los datos enviados hacia las filas para reconocer a la tecla oprimida son llamadas dentro del programa cdigo de fila, y se enuncian a continuacin: Tabla 3.5 Asignacin de cdigo para filas del teclado
Numero de Fila Cdigo asignado (hexadecimal) 1 FEh 2 FDh 3 FBh 4 F7h
Una vez asignados los valores a enviar para las filas se rastrea en las columnas de una en una hasta encontrar aquella que posea un valor de cero a su entrada, esto significara que se ha encontrado la tecla oprimida, dicho proceso se repite una y otra vez en cada una de las filas y de manera continua mientras se mande a llamar la funcin escrita para lectura de teclado. Por ltimo cuando la tecla oprimida es encontrada se procede a cargar una variable con un dato en hexadecimal asignado conforme a cada tecla, de este modo tendremos la lectura de un valor independiente y diferente en cada caso, si se desea enviar caracteres hacia la LCD o hacia el modulo XBee es necesario realizar la equivalencia con el cdigo ASCII, en la siguiente tabla se muestran los datos asignados a cada tecla: Tabla 3.6 Valores asignados a cada tecla y su equivalencia en ASCII
Tecla 0 1 2 3 4 5 6 7 8 9 A B C D E F Valor asignado
Fig. 3.12 Diagrama de flujo del men principal mostrado por la pantalla de LCD
El men se conforma por cuatro opciones principales las cuales contienen a su vez otro submen y opciones para seleccionar la accin deseada tal como encender y apagar la iluminacin en una habitacin en especfico, cada opcin contienen el cdigo parara ejecutar las instrucciones pertinentes a el rubro seleccionado.
Cabe sealar que para efectos de orden se ha provisto realizar un cdigo fuente por cada una de las opciones, dicho cdigo fuente es introducido dentro de una funcin en lenguaje C, la anterior funcin es llamada cada vez que se decide accesar a una opcin y es entonces cuando se ejecutan. Para ingresar a las opciones es utilizada una sentencia de tipo switch en la cual se introduce la funcin construida con todas sus instrucciones. INICIO Lectura del teclado 01h? 02h? 03h? 04h? ACCESOS
VENTILACION
TEMPERATURA
ILUMINACIN
FIN
74
Fig. 3.13 Diagrama de flujo de la opcin ACCESOS
Fig. 3.14 Diagrama de flujo para Entrada ACCESOS Lectura del teclado 01h? 02h? 03h? 04h? FIN ENTRADA GARAGE CAJA FUERTE BODEGA ENTRADA, GARAGE CAJA FUERTE, BODEGA Lectura del teclado 01h? 02h? 03h? 04h? A B C D 01h? Cerrar Abrir 01h? Cerrar Abrir 01h? Cerrar Abrir 01h? Cerrar Abrir FIN
75
Fig. 3.15 Diagramas de flujo para lectura de temperatura y control de la ventilacin.
3.10 Diseo del sistema terminal inalmbrico 2
El sistema terminal inalmbrico 2 se enfoca al control a distancia de la ventilacin y de la iluminacin, a diferencia del anterior este se encargara de emitir datos y desplegar las acciones realizadas por medio de la pantalla de LCD, todo es regulado en este nodo por una cadena de 8 bits que simbolizan cada uno una accin dentro de este nodo terminal. El conjunto de datos es enviado y recibido por los mdulos inalmbricos XBee. Los cambios se van desplegando por medio de un men que tiene el papel de interfaz VENTILACION Lectura del teclado 01h? ON OFF FIN TEMPERATURA Seleccionar canal analgico Convertir dato analgico a digital Verificar si se ha finalizado la conversin Finalizo? Leer canal ADC C= Valor ledo por (5/255)*100 FIN
76
de usuario con el sistema, de este modo se podr seleccionar mediante un men programado posteriormente desde Visual Basic por medio de el ordenador, asimismo con dicha tarea se demuestra que se pueden controlar de forma remota diversas acciones por medio de mdulos inalmbricos XBee.
Fig. 3.16 Diagrama a bloques del sistema terminal 2.
Las acciones efectuadas por este nodo son desplegadas en la pantalla, el men principal es: Control de iluminacin, Control de ventilacin y la realizacin de un test de conectividad, para cada una de estas opciones se ha designado un cdigo en hexadecimal que lo identifica inmiscuido en una funcin dentro del programa del microcontrolador. Asimismo se requiere del envi de un pulso que active cada uno de los dispositivos terminales, en este caso ventiladores o lmparas, por ello es que se encuentran libres 2 puertos del microcontrolador, por medio de los cuales se efecta el envi del pulso anteriormente mencionado.
LCD
PIC 18F45 2
MODULO XBEE ALIMENTACIO N DE 5 v. ALIMENTACIO N DE 3.3 v. PUERTO D PUERTO C PUERTO B Tx/Rx PUERTO A
77
Fig. 3.17 Diagrama de flijo para el encendido y apagado de lamparas.
Fig. 3.18 Diagrama de flijo para el encendido y apagado de lamparas. Lmpara N Lectura de los datos recibidos por el modulo XBee
6Bh? ON OFF FIN Enviar 1s Enviar 0s ILUMINACIN Lectura de los datos recibidos por el modulo XBee 6Bh? 6Dh? 70h? 71h? Lmpara 1 Lmpara 3
Lmpara 4
Lmpara 5
FIN 6Ch? Lmpara 2 73h? Lmpara 6
78
Fig. 3.19 Diagramas de flujo para la recepcin de temperatura y test de conectividad. TEMPERATURA Inicializar USART para recepcin de datos. Esperar a que finalice la transmisin. Leer el dato del buffer de la USART. Finalizo? Desplegar en la pantalla de LCD. FIN TEST Inicializar USART para recepcin de datos. Esperar a que finalice la transmisin. Leer el dato del buffer de la USART. Finalizo? Enviar por la USART un 50h FIN 70h?
79
Fig. 3.20 Diagrama de flijo para el encendido y apagado de ventiladores.
Fig. 3.21 Diagrama de flijo para el encendido y apagado de lamparas. VENTILACIN Lectura de los datos recibidos por el modulo XBee 41h? 43h? 44h? Ventilador 1 Ventilador 3
Ventilador 4 FIN 42h? Ventilador 2 Ventilador N Lectura de los datos recibidos por el modulo XBee
41h? ON OFF FIN Enviar 1s Enviar 0s
80
3.11 Acoplamiento ptico entre un sistema digital y una etapa de potencia
El microcontrolador realiza diversas operaciones de control, mismas que deben enviadas hacia una etapa de potencia, esto por medio dispositivos como pueden ser los tiristores ya sea triacs, scr, etc. para actuar sobre cargas resistivas o inductivas, tal es el caso de los sistemas de iluminacin, o en el control de la velocidad de motores, etc. Al manejar potencia, es decir la manipulacin de corrientes altas, es necesario tener en cuenta la seguridad elctrica para la operacin y proteccin del microcontrolador utilizado.
La relacin entre ambas etapas (la digital y la de potencia) se hace por medio de un acoplamiento que haga posible aislar elctricamente los dos sistemas. Esto se logra con los dispositivos llamados optoacopladores. La figura 3.22 muestra un acoplamiento ptico y, al mismo tiempo, un aislamiento elctrico. Por ello tambin reciben el nombre de optoaisladores. El acoplamiento se efecta en el rango del espectro infrarrojo a partir de dispositivos emisores de luz, comnmente LEDs, estos realizan la funcin de un emisor y por medio de dispositivos optodetectores se implementan los receptores.
Fig. 3.22 Configuracin De Un Optoacoplador.
81
Fig. 3.23 Figura y simbolo de un TRIAC
3.12 Puente H (L293B)
Los motores de C.D. Utilizados comnmente en domtica requieren de cierta corriente a travs de sus bobinas, en el caso de este trabajo son ejemplificados por medio de ventiladores que contienen motores de corriente directa. Dicha corriente es muy elevada con respecto a lo que un microcontrolador puede soportar. Dado lo anterior, es necesario utilizar un puente H por elemento inductivo si fuese el caso de motores con ms de uno de estos elementos. Un puente H es un dispositivo capaz de soportar el flujo bidireccional de corriente invertida.
El circuito integrado para el puente H que se ocup para el proyecto es un LM293B y a partir de 2.3 hasta 7 volts se detecta un nivel alto, es decir, un 1 lgico y un estado bajo, es decir, un 0 lgico, desde 0 hasta 1.5 volts .
Fig. 3.24 Diagrama esquemtico para LM293B.
82
CAPITULO IV
IMPLEMENTACIN DEL PROTOTIPO
83
4.1 Propuesta de implementacin en una casa
Este proyecto se realiza con la intensin de ser implementado en una casa la cual tuviera un alto sistema de seguridad en sus accesos donde solo gente autorizada pudiese entrar. Asimismo se pretende dar un cierto grado de comodidad que en una casa se debe que tener; agregando diversas funciones que pudieran ser controladas de forma remota, o bien, que la casa se pudiera controlar, desde abrir una puerta hasta encender un foco por comunicacin inalmbrica. Se ha propuesto la organizacin de diversas habitaciones y lugares dentro de una casa donde sera posible la implementacin del proyecto, esto considerando los elementos principales que todo hogar tiene. (Vase figura 4.1)
Fig. 4.1 Plano de la casa propuesta para la implementacin.
84
Fig. 4.2 Diseo en 3D de la Casa propuesta para la implementacin.
Esta casa cuenta con los siguientes elementos:
Puerta principal y puerta para la cochera, puerta para la recamara 1 y 2, puerta para el bao y la cocina. Cochera, 2 recamaras, bao, cocina, comedor. Una sala comedor. 2 recamaras y un bao . Un estudio dentro de la sala comedor. Una puerta a la cochera.
Cada una de las estancias cuenta con una lmpara incandescente, es decir, la casa cuenta con 6 lmparas en total y cuatro de las estancias se encontrara ventilada. La casa cuenta con un sensor de temperatura que monitorea la misma en todo momento. La casa a escala se puede controlar por un sistema de comunicacin inalmbrica.
85
4.2 Configuracin de los modulos XBee
Para comunicar el dispositivo ya sea para realizar pruebas con una computadora o para utilizarla como interfase con un nodo coordinador se utiliza un circuito mediante el cual se hace uso de la comunicaion serial, para lo anteriormente descrito se utiliza un circuito integrado que se distribuye comercialmente con el nombre de MAX232, la tarea de este elemento es transformar seales de tipo digital en rangos TTL a valores que son reconocidos por las interfaces de tipo RS-232. Es posible hacer uso del puerto serial de las computadoras para conectarse al circuito integrado, sin embargo resulta mas practico utulizar un cable adaptador USB-RS-232, esto por el motivo principal de que todas las computadoras modernas manejan mas este puerto. A si mismo para comunicar el dispositivo mediante un microcontrolador es necesario manejar comunicacin serial por lo que en la seleccin del microcontrolador que manejara datos enviados por el dispositivo coordinador tendra que tomarse en cuanta esta caracterstica.
Fig. 4.3 Diagrama esquematico para el coordinador y pruebas.
86
Fig. 4.4 Circuito Impreso del coordinador 4.2.1 Configuracion con el software X-CTU
La figura 4.5 mustra la pantalla pruncipal del software XCT-U, cuando el programa es ejecutado se selecciona de manera predeterminada la pestaa PC Settings, en ella se selecciona el puerto por el cual sera conectado el modulo y la tasa de transmision en baudios a la cual el modulo envia y recibe datos, dicha tasa de transmision es seleccionable entre 1200 y 230400 bps, para este proyecto se ha optado por utilizar 9600 bps.
Fig. 4.5 Captura en pantalla de la ventana principal del software XCT-U
87
Para determinar si la conexin de l modulo XBee con la computadora mediante el circuito mostrado en la figura 4.4 es realizada de manera correcta se utiliza una funcin incluida dentro del software llamada Test/Query. Una vez realizada la prueba el programa arroja una ventana indicando que la conexin con el modulo es realizada de modo exitoso, en caso contrario se muestra una ventana con un mensaje que indicara que la conexin de la computadora con el dispositivo ha sido fallida, ambos casos se muestran en la figura 4.5.
Fig. 4.6 A la izquierda se muestra la caprura en pantlla de una comunicacin exitosa, a la derecha se muestra el resultado de una comunicacin fallida.
El dispositivo coordinador ser el elemento central dentro de la red, y este se comunicara directamente con una computadora y un software con interfaz con el usuario, dicho dispositivo se comunicara con mdulos XBee configurados como dispositivos finales, los cuales pueden enviar datos al nodo central, sin embargo en este caso no se encuentran configurados para enviar mensajes entre ellos directamente sin pasar antes por el nodo central. Para que se la comunicacin antes mencionada es imprescindible que sea configurada una direccin de 16 bits que representa el dispositivo con el que se comunicara el nodo central, del mismo modo se configura la
88
direccin propia con la cual otros mdulos pueden intercambiar datos. La figura 4.7 muestra la forma de configurar al modulo.
Fig. 4.7 Configuracion del modulo central.
Como se observa en la figura 4.7 las direcciones se introducen mediante comandos AT, para accesar a este modo lo primero que se ha hecho es colocar +++ con este comando se indica al modulo que se introducirn una serie de comandos, al primer comando mostrado es ATMY, este tiene como consecuencia la introduccin hacia el modulo de la direccin propia del modulo, para este caso se ah dispuesto que sea cero. El comando siguiente es ATDL, el cual introduce la direccin de un modulo con el cual se mantendr una comunicacin saliente del nodo central. Cabe sealar que no en todos los casos es necesario colocar una direccin de destino, ya que el nodo central en ocasiones solo se encarga de recolectar datos y no de enviar, en estos casos la direccin de destino para el coordinador sale sobrando ya que no es de utilidad. Todas las instrucciones son introducidas en la pestaa terminal, y son almacenadas en los
89
mdulos de forma permanente hasta que se sobrescriban, la figura 4.8 muestra la pestaa Modem Configuration en la cual se puede ver todos los cambios realizados.
Fig. 4.8 Elementos configurados dentro de los modulos XBee
4.3 Componentes del sistema terminal 1
Como se haba mencionado con anterioridad, la construccin del nodo terminal tiene como objetivo controlar funcione de manera remota dentro de una casa domtica, el objetivo es que el usuario pueda manipularlas y observar el estado fcilmente, por tal motivo se cuenta dentro del circuito con un apantalla de LCD que muestra las acciones realizadas que se ejecutan en base a lo que el usuario desea y del mismo modo introduce mediante un teclado. En el capitulo anterior se describe a bloques el diagrama mostrado en la figura 4.9, en la cual se muestran las conexiones entre los dispositivos utilizados en el nodo terminal.
90
Fig. 4.9 Diagrama esquematico del nodo terminal
En el diagrama esquemtico de la figura 4.9 se observa que el corazn de este sistema es un microcontrolador, quien se encarga de coordinar todos los eventos que ocurren de manera remota, la funcin de dicho sistema es controlar la apertura y cierre de accesos, encendido y apagado de la ventilacin, monitoreo de temperatura y el control de la iluminacin. Para el monitoreo de temperatura se ha introducido en el sistema un sensor LM35, el cual tiene una variacin de 10mV /C, en base a esta variacin se ha diseado el programa dentro del microcontrolador el cual nos da una lectura en grados Celsius.
Cabe sealar que se ha procurado que los componentes de Hardware sean los menos posibles, por tal motivo se ha hecho uso del sensor LM35 directamente en su forma analgica conectndolo con un puerto analgico del microcontrolador. Para hacer lectura del sensor de temperatura es necesario hacer uso de las funciones de conversin ADC del PIC18F452.
91
Fig. 4.10 Circuito Impreso del nodo terminal.
En la figura 4.10 se muestra el circuito impreso y los elementos montados sobre ella y en la figura 4.11 se ilustra la manera en que se encuentra el circuito del noto terminal despus de insertar todos sus componentes, cabe sealar que para efectos prcticos se ha dispuesto de reguladores de voltaje de 5 v. y 3.3 v. con el objetivo de unificar las fuentes en una sola para todos los dispositivos.
Fig. 4.11 Circuiti impreso del nodo terminal con todos sus componentes.
92
4.3.1 Configuracin con el software XCT-U
En la figura 4.12 se muestra la configuracin de la direccin del nodo central, cuya direccin de destino se propuso que fuera 1234, la direccin antes mencionada corresponder ahora a la direccin del dispositivo que se encuentra funcionando en el nodo terminal, en este caso la direccin de destino es aquella que hemos configurado en la figura 4.7 como direccin de origen, los comandos introducidos para llevar a cabo la configuracin anterior se muestran en la misma figura. Cabe sealar que cada vez que se introduce un comando y este es recibido correctamente por el dispositivo se mostrara un OK como respuesta, en caso contrario no existir dicho resultado.
Fig. 4.12 Configuracion del modulo XBee del nodo terminal 1.
93
4.4 Componentes del sistema terminal 2
El nodo terminal 2 es del mismo modo que el anterior controlado por el nodo principal tiene como objetivo controlar funcione de manera remota dentro de una casa domtica, la finalidad es que el usuario pueda manipularlas y observar el estado fcilmente, por tal motivo se cuenta dentro del circuito con un apantalla de LCD que muestra las acciones realizadas que se ejecutan en base a la accin ejecutada, a diferencia del anterior las funciones son seleccionadas desde el nodo principal y no con un teclado, as mismo son emitidos pulsos que activan o desactivan la iluminacin y la ventilacin. En la figura 4.13 se muestra el diagrama esquemtico del nodo terminal 2 donde el teclado no es requerido.
Fig. 4.13 Diagrama Esquematico del nodo terminal 2.
94
En la figura 4.14 se aprecia el circuito impreso con sus elementos montados sobre ella se ilustra la manera en que se encuentra el circuito del noto terminal 2 despus de insertar todos sus componentes, del mismo modo que al nodo terminal 1 ha sido necesario para efectos prcticos disponer de reguladores de voltaje de 5 v. y 3.3 v. con el objetivo de unificar las fuentes en una sola para todos los dispositivos. Asimismo se observa la ausencia de un teclado el cual no es necesario para seleccionar la accin a realizar.
Fig. 4.14 Circuito impreso del nodo terminal 2.
4.4.1 Configuracin con el software XCT-U
Para la configuracin del modulo XBee de este nodo es necesario tomar en cuenta los mismos parmetros que los dos anteriores, del mismo modo es necesario tener una direccin de origen y una direccin destino, la direccin destino se conservara igual que la del nodo terminal 1, esto en base a que el nodo principal es el mismo destino para ambos nodos principales. Para el caso de la direccin propia del dispositivo XBee en cuestin se ha propuesto 2222, la direccin antes mencionada corresponder ahora a la direccin del dispositivo que se encuentra funcionando en el nodo terminal, en este
95
caso la direccin de destino es aquella que hemos configurado en la figura 4.7 como direccin de origen. Para este nodo la direccin destino es la direccin 0, los comandos introducidos para llevar a cabo la configuracin anterior se muestran en la figura 4.15. Cabe sealar que cada vez que se introduce un comando y este es recibido correctamente por el dispositivo se mostrara un OK como respuesta, en caso contrario no existir dicho resultado.
El nodo terminal dos se encargara de enviar datos hacia el nodo principal, sin embargo, en nodo terminal 1 tambin podr enviar datos hacia el nodo terminal 2 a travs del nodo principal, esto es debido a que los tres dispositivos XBee se encontraran relacionados por medio de las direcciones de destino y de origen.
Fig. 4.15 Configuracion del modulo XBee para el nodo terminal 2.
96
4.5 Componentes del acoplamiento ptico entre en sistema digital y la etapa de potencia El principal motivo para llevar a cabo acoplamiento ptico y aislamiento elctrico es por proteccin del microcontrolador ya que si en algn momento ocurre un corto en la etapa de potencia, o cualquier otro tipo de anomala elctrica, el optoacoplador protege a todo el circuito digital.
Fig. 4.16 Montaje Estndar Bsico Con Lgica Digital Positiva.
La figura 4.17 presentar la configuracin estndar empleada para hacer acoplamiento ptico entre sistemas digitales y etapas de potencia. El montaje requerido se selecciona de acuerdo con las caractersticas del sistema a estudiar.
Fig. 4.17 Circuito utilizado para la manipulacin de elementos de C.A.
97
4.6 Manipulacin de motores de C.A. con C.I. L293B El movimiento de los ventiladores esta determinado segn las instrucciones que envi el microcontrolador, as, cuando enve un nivel alto en la pata nmero 2 del elemento LM293B y al mismo tiempo enve un nivel bajo a la pata nmero 7 del mismo circuito integrado, este componente enviar una seal a un motor desde la pata 3 y 6, el cual har girar un motor. Hay 4 ventiladores que se activan de acuerdo a la salida entregada por parte del microcontrolador.
Fig. 4.18 Diagrama de conexin para el giro en un solo sentido del L293B
Fig. 4.19 Conexin al microcontrolador del L293B
98
4.7 La transmision serial del PIC 18F452
Fig. 4.20 Se muestra la inicializacin del modo de transmision serial.
La figura 4.20 nos muestra en con la funcin openUSART la inicializacin del modo de transmision siincrona del microcontrolador. Para el presente trabajo se ha escogido realizar el envio de datos en sere ya que es posible manipular mas facilmente el modulo XBee de este modo, ya que unicamente utilziamos 2 pines del mimo facilitando enormemete la interconexin entre el microcontrolador y el modulo inalambrico.
Para la comunicacin serial es necesario agregar la librera usart.h a las libreras manipuladas por el proyecto. Con esta librera se configura el modo de transmisin y recepcin serie del microcontrolador 18F452.
99
Dentro del la funcin openUSART se configuran parmetros relacionados con el modo de transmisin de datos que el microcontrolador efectuara, los puntos importantes que se tienen que configurar son la habilitacin de la transmisin o la recepcin, en el caso de este proyecto se ha seleccionado ambos, de este modo el microcontrolador se encontrara listo para realizar un intercambio de informacin. Otro parmetro de gran importancia es la configuracin del modo de transmisin ya sea que este sea sncrono o asncrono, para nuestro caso se ha seleccionado el asncrono debido a que el contenido de informacin que se transmite no requiere de mayores atributos, esto es en base a que los bytes intercambiados solo tienen el propsito de transportar informacin relativa a sensores y seales para activar o desactivar dispositivos. Para la configuracin de los parmetros es necesario revisar el manual de usuario del compilador, el cual nos provee de las cadenas que reconoce la funcin openUSART, en base a las cuales se varan los parmetros antes mencionados. La tabla 8 muestra las cadenas que reconoce la funcin openUSART. Tabla 4.1 Caracteres utilizados para la inicializacin de la transmisin de datos del modo serial
CADENA DESCRIPCION USART_TX_INT_ON Activar transmisin de datos. USART_TX_INT_OFF Desactivar transmisin de datos. USART_RX_INT_ON Activar recepcin de datos. USART_RX_INT_OFF Desactivar recepcin de datos. USART_ASYNCH_MODE Activar transmisin asncrona. USART_SYNCH_MODE Activar transmisin sncrona. USART_EIGHT_BIT Utilizar 8 para cada trama. USART_SINGLE_RX Tx / Rx datos con una separacin de tiempo. USART_CONT_RX Transmitir y recibir datos de forma continua. USART_BRGH_HIGH Alta tasa de transicin. USART_BRGH_LOW Baja tasa de trasmisin.
100
4.8 Programacin del primer microcontrolador
El primer microcontrolador se encargara de controlar los accesos de manera remota para lo cual es necesario que se cuente con una contrasea de entrada que permita aumentar el nivel de seguridad en la permisin o restriccin de los accesos al recinto. Otra opcin es el control de ventilacin e iluminacin de manera remota. El microcontrolador se encargara de administrar el envi de los bytes que identifican a cada una de las acciones antes mencionadas, y del mismo modo este microcontrolador utiliza un sensor de temperatura LM35 para el monitoreo de la misma. En la figura 4.21 se observan las declaraciones de las funciones a ejecutar y las cadenas que desplegara la pantalla de LCD.
Fig. 4.21 Captura en pantalla del codigo fuente y la declaracin de las cadenas para el despliegue del menu principal
101
4.8.1 Control de accesos
El uso de la transmisin serial se utiliza para enviar y recibir datos mediante la computadora a los mdulos XBee, los cuales se retransmiten y finalmente un modulo receptor enva de nuevo mediante transmisin serial hacia el microcontrolador, se ha definido un valor determinado en hexadecimal para cada una de las acciones realizadas. Para el control de accesos en el programa diseado se ha hecho uso de sentencias Switch, en la figura 4.22 se observa parte de dicha sentencia en la cual se ve la estructura de esta. Los bytes enviados son reconocidos por el nodo principal conectado a la computadora y de este modo se reconoce la accin requerida.
Fig. 4.22 Sentencia Switch para la apertura y cierre de la entrada principal.
102
Para cada accin requerida dentro de la funcin de ACCESOS se tiene especificado un cdigo diferente que fue asignado para diferenciarlos entre s por parte del nodo terminal, la tabla 9, muestra dichos valores. Tabla 4.2 Valores hexadecimales enviados para los accesos.
4.8.2 Control de Ventilacin
Para el control de ventilacin se ha decidido ejemplificar con el control de 4 ventiladores colocados en la sala, la recamara 1, la recamara 2 y la cocina. En el software se ejemplifican dichas acciones mediante el despliegue de imgenes como se explicara ms adelante. Tabla 4.3 Valores hexadecimales enviados para la ventilacin. VALOR HEXADECIMAL ACCIN 61h Abrir la Entrada Principal 62h Cerrar la Entrada Principal 63h Abrir la puerta de la Recamara1 64h Cerrar la puerta de la Recamara1 65h Abrir la puerta de la Recamara 2 66h Crrar la puerta de la Recamara 2 67h Abrir la puerta del Garage 68h Cerrar la Puerta del Garage VALOR HEXADECIMAL ACCIN 41h Activar el Ventilador de la Sala 1 42h Desacticar el Ventilador de la Sala 1 43h Activar el Ventilador de la Recamara 1 44h Desacticar el Ventilador de la Recamara 1 45h Activar el Ventilador de la Recamara 2 46h Desacticar el Ventilador de la Recamara 2 47h Activar el Ventilador de la Cocina 48h Desacticar el Ventilador de la Cocina
103
En la tabla 10 muestra los valores asignados para el caso de el control de la ventilacin, del mismo modo que en el caso del control de accesos se hace uso de sentencias Switch las cuales contienen las instrucciones a realizar en cada uno de sus casos contenidos en ella, cada caso es seleccionado mediante la identificacin de caracteres enviados por medio del teclado matricial. Para el despliegue del estado ON y OFF se ha introducido un lapso de tiempo para borrar y volver a escribir el estado, esto solo para fines estticos, ya que se decidi que el estado parpadeara cuando era cambiado, de este modo es ms apreciable el cambio del mismo.
Fig. 4.23 Sentencia Switch para el encendido y apagado de la ventilacin.
104
4.8.3 Monitoreo de temperatura
Fig. 4.24 Rutina de adrquisicion de datos de temperatura. Para el monitoreo de temperatura se ha hecho uso de un canal analgico del microcontrolador, esto con la finalidad de no realizar un circuito externo, por lo cual al rutina mostrada en la figura 4.24 contiene las instrucciones pertinentes para la lectura de un dato analgico, debido a que los datos de temperatura se deben monitorear de manera constante se ha introducido la rutina dentro de un bucle que permite realizar lecturas ininterrumpidas sobre la temperatura, para realizar el envo de la informacin tanto de unidades como de decimales de una manera ms optima se unen ambas en una sola cifra, de esta forma se envan solamente datos enteros, la conversin se realiza una vez que la informacin ha llegado.
105
4.8.4 Control de iluminacin
Fig. 4.25 Control de iluminacin
Para el control de iluminacin se han diseado dos formas de hacerlo, una de ellas es la presente. Esta enva datos desde el nodo terminal 1 hacia el nodo principal, enseguida este retransmitir la instruccin hacia el nodo terminal 2 para finalmente emitir la seal que activara al dispositivo luminoso. La segunda es el control directo mediante el software diseado en Visual Basic. Se ha di spuesto manipular en diferentes habitaciones la iluminacin, para lo cual se requiere del envo de un cdigo que diferencie el encendido y el apagado entre dichas habitaciones. Para la emisin de este conjunto de bytes e han propuesto diferentes bytes en hexadecimal para cada caso. La tabla 11 muestra los diferentes conjuntos de bits para cada caso.
106
Tabla 4.4 Valores correspondiestes al control de iluminacin
4.9 Programacin del 2 microcontrolador El segundo microcontrolador tiene la funcin de recibir e interpretar datos provenientes del nodo principal a travs del modulo XBee conectado directamente al nodo terminal 2. En este caso el microcontrolador se conecta con el modulo de transmisin inalmbrica por medio de la USART, en ese caso las funciones son principalmente implementadas para la recepcin de datos ya que este nodo es destinado a demostrar que la informacin puede ser enviada y recibida por medio de tecnologa ZigBee en este caso utilizando mdulos XBee.
Fig. 4.26 Cadenas mostradas en el men del nodo terminal 2. VALOR HEXADECIMAL ACCIN 6Bh Activar la Iluminacin del Garage 6Ch Desactivar la Iluminacin del Garage 6Dh Activar la Iluminacin de la Recamara 1 6Eh Desactivar la Iluminacin de la Recamara 1 6Fh Activar la Iluminacin de la Recamara 2 70h Desactivar la Iluminacin de la Recamara 2 71h Activar la Iluminacin de la Cocina 72h Desactivar la Iluminacin de la Cocina
107
4.9.1 Monitoreo de temperatura
Fig. 4.27 Monitoreo de temperatura en el nodo terminal 2.
El nodo terminal 2 recibe la temperatura reenviada por medio del software diseado en Visual Basic, cada vez que el estado cambia en el nodo terminal 1 se enva a la interfaz grafica, est a su vez la reenva al nodo terminal 2. La particularidad de esta aplicacin es demostrar que los valores sensados de algn parmetro pueden ser vistos de forma remota desde cualquier punto conectado dentro de la red implementada mediante mdulos XBee. Dentro de la programacin propia del microcontrolador se ha separado el dato en dos partes, una corresponde a las unidades y otra a los decimales, lo anterior para que pueda ser desplegado de forma clara por la pantalla de LCD.
108
4.9.2 Control de ventilacin e iluminacion
Fig. 4.28 Envio de datos para control de ventilacin.
Para el control de ventilacin e iluminacin igualmente se ha previsto el envi de un cdigo previamente predeterminado que indica los cambios a realizarse en este rubro. La figura 4.28 muestra la forma en la que se envan dichos valores hexadecimales, existe una rutina del mismo tipo para cada uno de los ventiladores y lmparas a controlar.
109
4.10 Desarrollo de la interfaz grffica La interfaz grafica es propiamente una interfaz de tipo hombre mquina, que tiene como objetivo crear un mecanismo que permita a un ser humano interactuar con los dispositivos remotos para as determinar el estado de los mismos y conocer los cambios registrados en variables fsicas tales como temperatura encendido y apagado de la ventilacin o la apertura y cierre de puertas.
4.10.1 Descripcin de la aplicacin
Como ya se ha mencionado el softwae es indispensable para interactuar con el usuario, debidoa esto dicha interfaz tiene como host a una computadora por medio de la cual se puede controlar el sistema de dispositivos remotos, asi mismo se motitorean los mismos, esta aplizacion se encarga de controlar los puertos sreales o USB del ordenador , lo anterior con el firme objetovo de enviar informacion necesaria al modulo XBee, mismo qu a su vez se encargara de enviar informacion al microcontrolador 18F452 quien aminstra las funciones programadas, y se ubica en las subrutinas programadas en el.
Para la elaboracion de la interfaz hombre maquina se ha seleccionado el entorno grfico de Visual Basic 6 ya que tiene la posibilidad de incluir un entorno grafico ms amigable, asi mismo es posible controlar los puertos de la computadora, mismos que son escenciales para poder disear unsistema de adquisicion de datos, del mismo modo con el control de puertos es posible realizar interacin con hardware externo: El entorno de desarrollo de Visual Basic 6 provee una sere de funciones que permiten anipular de unamanera mas optima los parametross de los puertos tales como la tasa de transmision y el tamao de la trama de bots a recibir. A continuacin se describe el modo de funcionamiento de la interfaz grafica y la descripcion de las ventanas que se han desarrollado para cada aplicacin.
110
4.10.2 Descripcin de la interfaz grfica
Fig. 4.29 Captura en pantalla de la interfaz grfica En la figura 4.31 se observa la ventana principal como se puede observar, esta pantalla invita al usuario a escoger un puerto USB disponible para la comunicacin, la persona que utiliza el software es entonces capaz de elegir por lo tanto el puerto deseado colocando el cursor sobre el mismo. Cuando se realiza esta accin, es necesario pulsar el botn conectar, con lo anterior el programa habilitar el puerto escogido y lo abrir, tenindolo listo tanto para la transmisin como para la recepcin. Una vez determinado el puerto de comunicaciones, se puede observar el Men del Sistema, el cual se encuentra constituido de: Iluminacin, Temperatura, Ventilacin y un botn de Test de Conectividad que sirve para realizar una prueba que determine si los mdulos envan y reciben datos de manera correcta. La pantalla principal tambin cuenta con recuadros donde se muestra el estado de los accesos y de la ventilacin mediante imgenes en movimiento. 2 3 1 4 5 6 7 8 9 10 11 12 13 14 15
111
Los diferentes elementos que conforman la pantalla principal de la interfaz grafica se muestran en la siguientetabla: Tabla 4.5 Descripcin de los elementos de la interfaz grfica.
# NOMBRE DESCRIPCIN 1 No. De puerto Selecciona el numero de puerto a utilizar dentro de la computadora. 2 Conectar Habilita el puerto seleccionado para comenzar a enviar y recibir datos. 3 Desconectar Cierra el puerto seleccionado. 4 Iluminacin Abre el panel de control para la iluminacin. 5 Temperatura Abre la ventana de monitoreo de temperatura. 6 Ventilacin Abre la ventana de control de ventilacin. 7 Test de conectividad Abre la ventana para realizar prueba de conectividad con el modulo XBee. 8 Entrada Principal Muestra el estado mediante una imagen. 9 Puerta 1 Muestra el estado mediante una imagen. 10 Puerta2 Muestra el estado mediante una imagen. 11 Garage Muestra el estado mediante una imagen. 12 Ventilacin en habitacin 1 Muestra el estado mediante una imagen. 13 Ventilacin en habitacin 2 Muestra el estado mediante una imagen. 14 Ventlacin en la sala Muestra el estado mediante una imagen. 15 Ventilacin en la cocina Muestra el estado mediante una imagen.
La seleccin del puerto se ha colocado para poder migrar a algn otro disponible si fuese necesario debido a que muchos otros dispositivos utilizan este puerto y por lo tanto es posible que se encuentren ocupados. Dentro del men, el primer botn india mediante una etiqueta textual la leyenda Iluminacin, al pulsar sobre l se abrir una nueva ventana. La nueva instancia abierta tendr la opcin de encender o apagar un conjunto de lmparas existentes en una casa habitacin.
112
Fig. 4.30 Ventana para control de Iluminacin
Fig. 4.31 Ventana para monitoreo de temperatura.
113
En la figura 4.33 se aprecia la ventana para el monitoreo de la temperatura, dentro de la cual se despliega el dato enviado a travs del modulo XBee dentro del nodo terminal 1. Del mismo modo se aprecia mediante una barra de termmetro el incremento o decremento de la temperatura. Tanto el despliegue textual de las magnitudes de la temperatura como la imagen del termmetro estn enlazados de tal forma que cambian de estado en el mismo instante de tiempo. Dentro de la ventana mencionada por ltimo se incluye un recuadro donde se mostrar una imagen que indicar cuando la temperatura sea considerada como excesiva, motivo por el cual la ventilacin se encender, y de este modo se pretende que la temperatura ambiental dentro del recinto disminuya.
Como parte de las funciones del software elaborado mediante el entorno de desarrollo de Visual Basic se ha considerado que para fines demostrativos era de gran utilidad el incluir una rutina dentro del programa que verificara el envi y recepcin de datos por medio de los mdulos inalmbricos con el objetivo de verificar su funcionamiento y apreciarlo de forma ms grfica.
Fig. 4.32 Test de conectividad con los nodos terminales
114
Otra de las opciones que nos presenta la ventana principal, es la posibilidad de seleccionar el elemento de ventilacin que se desea activar mediante otro formulario con los elementos necesarios para encender y apagar de manera remota, sin embargo a diferencia de la opcin presentada en la pantalla de presentacin del software, el mando es tomado desde el ordenador y no por un nodo terminal.
Fig. 4.33 Ventana para el control de ventilacin.
Cabe mencionar que el cdigo fuente para cada una de las ventanas se encuentra dentro del mismo proyecto de visual basic, sin embargo ha sido necesario declarar la apertura del puerto a utilizar al inicio de cada uno de ellos puesto que no se reconoce la declaracin de este para diferentes formularios, sin embargo esto no interfiere con el libre y correcto funcionamiento del software.
115
CAPITULO V
PRUEBAS Y RESULTADOS
116
5.1 Prueba del sistema terminal 1
En el capitulo anterior se presenta la construccin de los nodos terminales y del nodo central, en la figura 5.1 se aprecian ambos circuitos con todos sus dispositivos montados. Los circuitos en cuestin funcionan de manera independiente en cada nodo, es decir que cada circuito se comunica con el nodo central y este se encarga si fuese necesario de transmitir el mensaje hacia el nodo terminal 2 o nodo terminal 1.
Fig. 5.1 Circuitos impresos de ambos nodos terminales con los dispositivos montados.
117
Fig. 5.2 Menu principal del nodo terminal 1
La figura 5.2, muestra al circuito del nodo terminal 1 funcionando, en la pantalla se muestran cuatro opciones a elegir mediante el teclado, las cual es son: Accesos, Ventilacin, Temperatura e Iluminacin. Una vez que se selecciona la primer opcin de las que se presentan ser mostrada una pantalla de un submen. Sin embargo debido a que los accesos deben de otorgarse solo a aquellas personas de confianza se protege mediante contrasea (vase figura 5.3).
Fig. 5.3 Contrasea para ingresar a alguno de los puntos de acceso.
118
Fig. 5.4 Submen para la opcion ACCESOS.
En la figura 5.3 se muestra la pantalla mostrada para pedir el ingreso de una contrasea configurada dentro del programa introducido en el microcontrolador, si esta es correcta se mostrara la pantalla siguiente donde se puede seleccionar el elemento al que se le podr otorgarle la libertad de dar acceso o restringir dicho ingreso, estas opciones tambin son seleccionadas mediante el teclado (vase figura 5.4).
Fig. 5.5 Seleccionar la apertura de algn acceso.
119
Una vez que se accede al submen de ACCESOS es posible permitir el acceso a un recinto o bloquear el mismo, en la figura 5.5 como ya se menciono se aprecia la pantalla mostrada cuando se accede a un recinto y en la figura 5.6 se muestra la contraparte de este, es decir el cierre de un acceso. Para ambos casos anteriormente sealados se enva un cdigo en hexadecimal que indica al software de control la accin realizada.
Fig. 5. 6 Seleccionar el cierre de algun acceso.
Una vez seleccionada una de las dos opciones presentadas en la ltima pantalla mostrada (vase figura 5.6) se puede retroceder en el men presionando la tecla A, y de esta manera se pude retroceder y seleccionar otro de los accesos. Sin embargo si lo que se desea es regresar al inicio el procedimiento es similar, pero en este caso se debe presionar os veces repetidas la tecla A, ahora estando en el men principal ser posible seleccionar una accin diferente. La figura 5.7 muestra la pantalla que aparece una vez que se ha seleccionado la segunda opcin presentada por el men principal, en este caso se trata de Ventilacin , del mismo modo que en los accesos, para encender la ventilacin se presiona el 1 y para apagar la ventilacin se presiona el 2.
120
Regresando al men principal seleccionando ahora la tercera de las opciones se encontrar la pantalla mostrada en la figura 5.8, lo anterior corresponde a el despliegue de la temperatura ambiental monitoreada por el software programado en Visual Basic, Cuando se selecciona esta opcin el modulo XBee enva la informacin de manera constante del dato monitoreado.
Fig. 5.7 Monitoreo de temperatura ambiental.
La ltima de las opciones presentadas por la pantalla del nodo terminal 1 es la posibilidad de controlar la iluminacin desde un mando remoto, se selecciona alguna de las cuatro opciones y posteriormente el microcontrolador cambiara la pantalla a la mostrada en la figura 5.10 dentro de la cual se controla de manera directa el encendido y apagado.
Fig. 5.8 Activar o desactivar la iluminacin en un espacio.
121
5.2 Prueba del sistema terminal 2
El nodo terminal 2 es mostrado en la figura 5.11, en donde se encuentra con sus componentes, a diferencia con el anterior este dispositivo recibir completamente datos y solo enviara cuando se solicite realizar una prueba de conectividad, todas las peticiones sern visualizadas por medio de la pantalla de LCD. La tablilla de circuito impreso contiene headers hacia los puertos configurados como salida del microcontrolador, dichos puerto son el puerto A y el puerto B. Lo anterior se ha realizado con el objetivo de enlazar el nodo con dispositivos termi nales por medio de un circuito de potencia como pueden ser lmparas y ventiladores.
Fig. 5.9 Nodo terminal 2 con todos sus elementos.
122
Fig. 5.10 Primer pantalla presentada por el nodo terminal 2.
La figura 5.12, ejemplifica al circuito del nodo terminal 2 cuando es encendido, en la pantalla se muestran cuatro opciones posibles para ser seleccionadas por medio de mando remoto a travs de los mdulos XBee, las opciones que componen el men estn conformadas por: Temperatura, Ventilacin, Iluminacin y Test. La primea de las opciones recibe el dato retransmitido por el nodo principal a cerca de la temperatura, y es mostrada de igual forma que en nodo terminal 1.
Fig. 5.11 Pantalla presentada cuando es seleccionada la segunda opcin del men.
123
5.3 Prueba del software
Una vez que el software comienza a ejecutarse es necesario seleccionar el puerto por el cual se conectara la computadora con el nodo central, enseguida se presionara el botn Conectar por medio del cual se inicia la apertura del Puerto seleccionado para la realizacin del envo de datos a travs de l.
Fig. 5.12 Cierre de un acceso.
Cuando se recibe un byte con el cdigo correspondiente a alguno de los accesos se despliega en el software una imagen con una puerta cerrada o abierta segn sea el caso, tambin salta una ventana de alerta indicando la accin realizada. Para cada movimiento realizado en el cual se encuentra involucrado el software despus de ser ejecutado se muestra u instante un plano en donde se marca la posicin del elemento y una imagen del elemento en 3D.
124
Fig. 5.13 Muestra del plano con la ubicacin marcada en el lugar del cierre de la entrada principal.
Fig. 5. 14 La imagen muestra el estado de la entada principal y una ventana de alerta tambin indica la accin tomada.
125
Fig. 5.15 Muestra del plano en el cual se encuentra el acceso principal.
Fig. 5.16 Monitoreo de la temperatura por medio del software.
126
Fig. 5.17 Prueba de conectividad.
En la figura 5.21 se puede ver que al momento de realizar algn movimiento sobre la iluminacin o apertura de algn acceso se produce un sealamiento dentro de un pequeo plano de la casa, de este modo es ms fcil darse una idea de los eventos que van sucediendo a causa de las decisiones tomadas de manera remota. En la figura 5.22 se presenta la captura en pantalla del software una vez que ha comenzado a monitorear la temperatura en tiempo real, donde se activa tambin una imagen que muestra un ventilador girando, esto a manera de indicador cuando la temperatura excede los 28 C, indicando as que es momento de activar la ventilacin. La figura 5.23 se ilustra la ventana que corresponde a la funcin de test de conectividad donde es posible identificar si las conexiones con los mdulos se han llevado a cabo.
127
5.4 Rango de alcance
Se realizaron pruebas con los circuitos impresos y los mdulos XBee, esto con el fin de comprobar el alcance que nos brindan los mdulos. De los parmetros ms determinantes en este aspecto se encuentran los obstculos mismos que pueden ser las paredes, puertas y ventanas, las cuales son inevitables en las aplicaciones de redes inalmbricas. En estas condiciones es de gran utilidad especificar el rango de alcance de los dispositivos.
Primero se experiment dentro de distancias pequeas y dentro de una misma habitacin, como es el caso de una sala , en donde se obtuvieron resultados ptimos en cunto a funcionamiento y nivel de seal del mdulo remoto, pues ste trabaj de manera adecuada y adems capt una buena seal. Los dos dispositivos se comunicaron sin ningn problema presentando los valores adquiridos tanto en la pantalla del PC como en el LCD.
Fig. 5.18 Datos recibidos en las pruebas mediante el monitoreo de temperatura.
128
En la figura 5.24 se observan los datos en hexadecimal recibidos por el nodo principal. Se ha realizado esta prueba con el monitoreo de temperatura ya que esta opcin permite recibir datos de manera continua. Luego se aument un poco ms la distancia. El mdulo terminal se coloc en una habitacin, mientras que el mdulo coordinador junto con el host fue trasladado a otra habitacin. Bajo estas condiciones el prototipo respondi an de manera ptima, ya que sigui actuando de forma correcta y con un buen nivel de seal.
Fig. 5.19 Datos recibidos con algunos errores.
Finalmente se procedi a colocar al mdulo base en el extremo ms apartado con respecto al mdulo terminal; es decir, fueron separadas la mayor distancia posible entre s con el fin de comprobar si en estas condiciones exista algn problema. Realizando las correspondientes pruebas al prototipo, se pudo comprobar que
129
segua funcionando sin ningn problema a una distancia de hasta 50 metros, aproximadamente con obstculos . En la imagen 5.25 se observa en algunas partes que el dato en hexadecimal no es un numero, en base a que nunca se envan datos que representen caracteres diferentes de algn numero, se puede afirmar que a partir de esta distancia se comienzan a recibir perdidas en la transmisin debido a los variados obstculos que siempre hay en una casa.
5.5 Muestra del estado de la ventilacin e iluminacin
Para mostrar el cambio de estado de la ventilacin e iluminacin se han colocado dentro del software en Visual Basic imgenes que cambian de acuerdo a la peticin realizada desde los nodos terminales, sin embargo para efectos demostrativos se ha colocado una tablilla con bombillas y ventiladores de C.D., con lo anterior se demuestra que es posible agregar al sistema de comunicacin de manera sencilla elementos que requieran cierto nivel de potencia, lo anterior anexando algunos elementos descritos anteriormente.
Fig. 5. 20 Tablilla con bombillas de C.A. y ventiladores de C.D.
130
CONCLUSIONES
Al finalizar este trabajo de tesis se ha comprobado la posibilidad de implementar un red con tecnologa ZigBee para la adquisicin de datos y el control de dispositivos tiene una buena calidad de enlace, asimismo se ha corroborado que al realizar un prototipo que sea funcional de manera remota hace ms fcil la manipulacin de diversas variables as como permitir la lectura en cualquier momento haciendo uso de una PC o de un nodo terminal sin necesidad de estar en el lugar preciso. Por lo anterior se puede afirmar que mediante un prototipo como el construido se facilitan las tareas relacionadas con la observacin y manipulacin a distancia de mltiples dispositivos sensores.
La utilizacin de diversos aparatos que funcionen bajo rangos de frecuencia similares no afecta en el desempeo del prototipo pues al estar en contacto con ellos no se ha presentado fallas en la transmisin. Uno de los beneficios de utilizar la tecnologa ZigBee es la mejora de transmisin de datos entre diversos dispositivos tomando en cuenta la distancia que sta puede proporcionar, la cual en zonas abiertas alcanza los 100 metros.
Comparando la distancia mencionada en el prrafo anterior con las distancias manejadas por otras tecnologas inalmbricas a nivel PAN, ZigBee es capaz de lograr un mayor alcance y un menor consumo de energa. Los estndares inalmbricos ms populares como por ejemplo el Bluetooth, no satisfacen las necesidades de la automatizacin y control ya que no han sido diseados considerando estas razones como premisas, tal es el caso de Bluetooth el cual ha sido diseado para aplicaciones en las Telecomunicaciones, audio, etc.
Gracias a la ausencia de cableado en la implementacin de una red con tecnologa ZigBee es ms sencillo realizar la implementacin de la misma ya que no es necesario bajo ninguna circunstancia colocar otros materiales tales como canaletas o conectores, dichos elementos demoran el proceso de implementacin y claramente cambian el
131
aspecto del lugar donde sean implementados, lo anterior no es necesario si lo que se busca es solo comunicacin con fines como el propio de este proyecto: monitoreo de sensores control de dispositivos en forma remota o algn uso que no requiere de un ancho de banda muy grande.
Los elementos necesarios para implementar un protocolo de comunicacin inalmbrico en un hogar domtico son un microcontrolador, los modulados de comunicacin, sensores y actuadores acordes a las variables que se desea manipular y una interfaz grfica.
El microcontrolador PIC18F452 es un elemento que tiene los elementos y caractersticas necesarias para la implementacin de un mando remoto como el presente en este trabajo. Estas caractersticas nos permiten concluir que al momento de utilizarlo como elemento de procesamiento de datos provee a nuestro sistema de comunicaciones la inteligencia necesaria para cumplir con las tareas asignadas.
El uso de una interfaz grfica facilita la visualizacin y manipulacin de los sensores o actuadores por parte del usuario ya que este no necesita realizar configuraciones directas al mdulo.
El estndar ZigBee es un conjunto de protocolos de comunicacin inalmbrica de bajo consumo, basado en el estndar 802.15.4 de redes WPANs, este estndar se caracteriza por haber sido diseado para funciones y en aplicaciones que requieren una comunicacin segura con una baja tasa de envi de datos, por lo cual de acuerdo a estas caractersticas lo hacen ideal para utilizarlo como sistema de comunicacin entre los dispositivos y elementos de una casa, ya que en ningn caso se requiere de elevadas tasas de transmisin.
132
///////////////////////////////////////////////////////////////////////////// ////////CASTILLO BAUTISTA BRAULIO ANTONIO ////////PIC18F452 ////////SISTEMA DE CONTROL DOMOTICO ///////////////////////////////////////////////////////////////////////////// #include <p18f452.h> // Registros del PIC a utilizar #include <portb.h> // Funciones sobre el Puerto B #include <delays.h> // Rutinas de retardo #include <LCD16x4_2.h>//ruta del archivo en mi PC #include <usart.h> #include <adc.h> #include <stdlib.h> /* Configuracin de Bits de Microchip */ #pragma config LVP = OFF #pragma config WDT = OFF #pragma config OSC = XT //////////////////////////////// #define Col1 PORTBbits.RB4 // Define la Columna 1 #define Col2 PORTBbits.RB5 // Define la Columna 2 #define Col3 PORTBbits.RB6 // Define la Columna 3 #define Col4 PORTBbits.RB7 // Define la Columna 4 void Inicializa_Puerto(void); // Prototipo de funcion, incializa Puerto void Visualiza_Tecla(void); // Prototipo de funcion, valor de tecla void Lee_Teclado(); // Prototipo de funcion, lee el teclado void transmicion(void); void accesos(void); void temperatura(void); void ventilacion(void); void iluminacion(void); unsigned char Tecla,comandoinc, /* Teclado matricial */ Teclado[4][4] = { 0X01, 0X02, 0X03, 0X0A, 0X04, 0X05, 0X06, 0X0B, 0X07, 0X08, 0X09, 0X0C, 0X00, 0X0F, 0X0E, 0X0D },
/* Codigo en ASCII a desplegar en LCD */ Display[16] = { 0X30, 0X31, 0X32, 0X33, 0X34, 0X35, 0X36, 0X37, 0X38, 0X39, 0X41, 0X42, 0X43, 0X44, 0X45, 0X46 };
//*************************************************************** //inicio del programa prncipal //*************************************************************** void main(void) {
case 0x04: iluminacion(); goto menu1; break; }//fin de la estructura switch
while(1){ } } ////////////fin del programa principal /////////////////////////////////////////////////////////////////////////////////////////// ////////////////////Definicin de funciones////////////////////////////////// /////////////////////////////////////////////////////////////////////////////////////////// /* Lee el teclado en busca de alguna tecla oprimida */ void Lee_Teclado() { unsigned char Fila, Control[4] = {0xFE, 0xFD,0xFB, 0xF7}; // Codigo de Fila a controlar de F1 a F4 PORTB = 0xFF;// Teclado desconectado
}//fin del ciclo for } void Visualiza_Tecla(void) { //Comando_LCD(DDRAM_LINEA_2); Comando_LCD(0XD3); Dato_LCD(Display[Tecla]);//una cadena desde la memoria de datos } void accesos(void){ Comando_LCD(DDRAM_LINEA_1); Dato_String_LCD(borrar); Comando_LCD(DDRAM_LINEA_2); Dato_String_LCD(borrar); Comando_LCD(DDRAM_LINEA_3); Dato_String_LCD(borrar); Comando_LCD(DDRAM_LINEA_4); Dato_String_LCD(borrar); Comando_LCD(DDRAM_LINEA_1); Datos_LCD(" A C C E S O S "); Comando_LCD(DDRAM_LINEA_2); Datos_LCD("================"); Comando_LCD(DDRAM_LINEA_3); Datos_LCD("Password: "); salto2: Comando_LCD(0xD3);
//*password de acceso*// Tecla=0; nadatecleado: while(Tecla!=0x01){ Lee_Teclado(); //Visualiza_Tecla();
while(1){ Tecla=0; while(Tecla==0){Lee_Teclado();} switch(Tecla){ case 0x01:
while(BusyUSART());// Esperar a que el bffer de salida este vacio WriteUSART(0x61); //enviar un 61h para abrir la entrada principal
i=0; while(i<5){ Delay10TCYx(80);// Retaedo para activar parpadeo de la cadena enviada Comando_LCD(DDRAM_LINEA_3);//posicionarse en la linea 3 de la LCD Datos_LCD(" ABIERTO ");//Enviar la cadena "ABIERTO" a la LCD Delay10TCYx(80);;// Retaedo para activar parpadeo de la cadena enviada Comando_LCD(DDRAM_LINEA_3);//posicionarse en la linea 3 de la LCD
Datos_LCD(" ");//Borrado de la linea 3 de la pantalla de LCD Delay10TCYx(80);// Retaedo para activar parpadeo de la cadena enviada Comando_LCD(DDRAM_LINEA_3);//posicionarse en la linea 3 de la LCD Datos_LCD(" ABIERTO ");//Enviar la cadena "ABIERTO" a la LCD
i++; } Tecla=0; break;
case 0x02:
while(BusyUSART());// Esperar a que el bffer de salida este vacio WriteUSART(0x62);//enviar un 62h para abrir la entrada principal i=0; while(i<5){
Delay10TCYx(80);// Retaedo para activar parpadeo de la cadena enviada Comando_LCD(DDRAM_LINEA_3);//posicionarse en la linea 3 de la LCD Datos_LCD(" CERRADO ");//Enviar la cadena "CERRADO" a la LCD
Delay10TCYx(80);// Retaedo para activar parpadeo de la cadena enviada Comando_LCD(DDRAM_LINEA_3);//posicionarse en la linea 3 de la LCD
Datos_LCD(" ");//Borrado de la linea 3 de la pantalla de LCD Delay10TCYx(80);// Retaedo para activar parpadeo de la cadena enviada Comando_LCD(DDRAM_LINEA_3);//posicionarse en la linea 3 de la LCD Datos_LCD(" CERRADO ");//Enviar la cadena "CERRADO" a la LCD i++;
// esperar a qu el buffer de salida se encuentre vacio while(BusyUSART()); // enviar un 41eh para establecer encendido del ventilador WriteUSART(0x41);
i=0; while(i<5){
//Lapso de tiempo para parpadeo de mensajes
Delay10TCYx(80); Comando_LCD(DDRAM_LINEA_3); //Posicionamiento en linea 3 Datos_LCD(" Estado:ON "); // escritura de cadena en la pantalla de LCD
Delay10TCYx(80);//Lapso de tiempo para parpadeo de mensajes Comando_LCD(DDRAM_LINEA_3);//Posicionamiento en linea 3
Datos_LCD(" Estado: ");// escritura de cadena en la pantalla de LCD Delay10TCYx(80);//Lapso de tiempo para parpadeo de mensajes Comando_LCD(DDRAM_LINEA_3);//Posicionamiento en linea 3 Datos_LCD(" Estado:ON ");// escritura de cadena en la pantalla de LCD i++;
}
break; case 0x02: while(BusyUSART());// esperar a qeu el biffer de salida se encuentre vacio WriteUSART(0x42);// enviar un 41h para establecer encendido del ventilador i=0; while(i<5){
Delay10TCYx(80);// escritura de cadena en la pantalla de LCD Comando_LCD(DDRAM_LINEA_3);//Posicionamiento en linea 3
Datos_LCD(" Estado: ");// escritura de cadena en la pantalla de LCD Delay10TCYx(80);// escritura de cadena en la pantalla de LCD Comando_LCD(DDRAM_LINEA_3);//Posicionamiento en linea 3 Datos_LCD(" Estado:OFF ");// escritura de cadena en la pantalla de LCD i++;
} break; case 0x0A: Tecla=0x00; goto finventilacion;
break;
}//fin switch para ventilacin }//fin while infinito finventilacion: ;}//fin case2
/////CASO 3 DEL MENU PRINCIPAL void temperatura(void){ /* Comando_LCD(DDRAM_LINEA_1); Dato_String_LCD(borrar); Comando_LCD(DDRAM_LINEA_2); Dato_String_LCD(borrar); Comando_LCD(DDRAM_LINEA_3); Dato_String_LCD(borrar); Comando_LCD(DDRAM_LINEA_4); Dato_String_LCD(borrar); Comando_LCD(DDRAM_LINEA_1); Datos_LCD(" TEMPERATURA "); Comando_LCD(DDRAM_LINEA_2); Datos_LCD("================"); OpenADC( ADC_FOSC_RC & ADC_RIGHT_JUST & ADC_1ANA_0REF, ADC_CH0 & ADC_INT_OFF );
while(1){ SetChanADC(0); //Seleccin del canal analgico //retardo para garantizar una lectura en el canal analgico. Delay10TCYx(2); ConvertADC();//comenzar la conversin de analgico a digital
while(BusyADC()==1){ //verificar si la conversin ya fue realizada }
canal0=ReadADC();// si la conversin fue realizada se leer el canal
ADCtemp=(canal0/1.9607843); //conversin a grados centgrados
137
Comando_LCD(DDRAM_LINEA_3);// situarse en la linea 3 de la LCD // Dato_LCD('0x69');
//ADCtemp=ADCtemp*100; Comando_LCD(0XDC);//una posicin especfica en al LCD Datos_LCD(" 'C");// desplegar el caracter C itoa(ADCtemp, String);// convertir un dato entero auna cadena T=atoi(String);// almacenar el dato sin concertir en la variable T Comando_LCD(0XD3);//una posicin especfica en la LCD Dato_String_LCD(String);// imprimir las unidades en la pantalal de LCD T=T*100;// vizualizar los decimales como enteros ADCtemp=ADCtemp*100;//igualar magnitud con los decimales dec=ADCtemp-T;// obtener los decimales a desplegar en la LCD itoa(dec, cadenadec);// convertir los datos enteros de los decimales a una cadena Comando_LCD(0XD9);//Una posicin especfica en la LCD Dato_String_LCD(cadenadec);// desplegar el dato en la pantalla de LCD Comando_LCD(0XD7);// Una posicion especifica en la LCD Datos_LCD(".");
Lee_Teclado(); // si es precionada la eltra A regresar al men principal. if(Tecla==0x0A){goto fintemperatura;}
}//fin while fintemperatura: */ Comando_LCD(DDRAM_LINEA_1); Dato_String_LCD(borrar); Comando_LCD(DDRAM_LINEA_2); Dato_String_LCD(borrar); Comando_LCD(DDRAM_LINEA_3); Dato_String_LCD(borrar); Comando_LCD(DDRAM_LINEA_4); Dato_String_LCD(borrar); Comando_LCD(DDRAM_LINEA_1); Datos_LCD(" TEMPERATURA "); Comando_LCD(DDRAM_LINEA_2); Datos_LCD("================");
putcUSART('b'); //WriteUSART(0x0B); //CloseUSART(); /*Comando_LCD(0X93);//posicion en el LCD for(i=0;i<=12;i++) { Dato_LCD(mensaje_eco1[i]); } //esperar a que el buffer de transmisin //este vacio o disponible while(BusyUSART()); //esperamos caracter del virtual terminal while(!DataRdyUSART()); getsUSART(recepcion_eco1,4); Comando_LCD(0XC3); for(i=0;i<=8;i++) { Dato_LCD(recepcion_eco1[i]); } */ while(i!=1); i++;
}
139
//////////////////////////////////////////////////////////////////////////// ////////CASTILLO BAUTISTA BRAULIO ANTONIO ////////PIC18F452 ////////SISTEMA DE CONTROL DOMOTICO ////////Aegundo microcontrolador /////////////////////////////////////////////////////////////////////////////
#include <p18f452.h> // Registros del PIC a utilizar #include <portb.h> // Funciones sobre el Puerto B #include <delays.h> // Rutinas de retardo #include <LCD16x4_2.h>//ruta del archivo en mi PC #include <usart.h> #include <adc.h> #include <stdlib.h> /* Configuracin de Bits de Microchip */ #pragma config LVP = OFF #pragma config WDT = OFF #pragma config OSC = XT //////////////////////////////// #define Col1 PORTBbits.RB4 // Define la Columna 1 #define Col2 PORTBbits.RB5 // Define la Columna 2 #define Col3 PORTBbits.RB6 // Define la Columna 3 #define Col4 PORTBbits.RB7 // Define la Columna 4
i++; } break; case 0x0A: goto finABCD; }//fin switch para habitacion B }//fin while infinito break; case 0x03: ////////////////////////////////habitacion C//////////////////////////////// Comando_LCD(DDRAM_LINEA_4); Datos_LCD("[1]ON [2]OFF"); Comando_LCD(DDRAM_LINEA_3); Datos_LCD(" Espacio C :ON "); while(1){ Tecla=0; while(Tecla==0){Lee_Teclado();} switch(Tecla){ //opciones de iluminacion de A case 0x01: while(BusyUSART()); WriteUSART(0x6F); i=0; break; case 0x02: while(BusyUSART()); WriteUSART(0x70); while(i<5){ Delay10TCYx(80); Comando_LCD(DDRAM_LINEA_3); Datos_LCD(" Espacio C:OFF "); Delay10TCYx(80);
141
Comando_LCD(DDRAM_LINEA_3) Datos_LCD(" Espacio C: "); Delay10TCYx(80); Comando_LCD(DDRAM_LINEA_3); Datos_LCD(" Espacio C:OFF "); i++; } break; case 0x0A: goto finABCD; }//fin switch para habitacion B
}//fin while infinito break; case 0x04:////////////////////////////////habitacion D//////////////////////////////// Comando_LCD(DDRAM_LINEA_4); Datos_LCD("[1]ON [2]OFF"); Comando_LCD(DDRAM_LINEA_3); Datos_LCD(" Espacio D :ON "); while(1){ Tecla=0; while(Tecla==0){Lee_Teclado();} switch(Tecla){ //opciones de iluminacion de A case 0x01: while(BusyUSART()); WriteUSART(0x71); i=0; while(i<5){ Delay10TCYx(80); Comando_LCD(DDRAM_LINEA_3); Datos_LCD(" Espacio D:ON "); Delay10TCYx(80); Comando_LCD(DDRAM_LINEA_3); Datos_LCD(" Espacio D: "); Delay10TCYx(80); Comando_LCD(DDRAM_LINEA_3); Datos_LCD(" Espacio D:ON "); i++; } break; case 0x02: while(BusyUSART()); WriteUSART(0x72); i=0; while(i<5){ Delay10TCYx(80); Comando_LCD(DDRAM_LINEA_3); Datos_LCD(" Espacio D:OFF "); Delay10TCYx(80); Comando_LCD(DDRAM_LINEA_3); Datos_LCD(" Espacio D: "); Delay10TCYx(80); Comando_LCD(DDRAM_LINEA_3); Datos_LCD(" Espacio D:OFF "); i++; } break; case 0x0A: goto finABCD; }//fin switch para habitacion B }//fin while infinito break; case 0x05: break; }//switch para seleccionar abitacion a iluminar ; } void transmicion(void) { //inicio de la transmicin via UART///////// // configuramos el EUSART para 9.6K baudios //Comando_LCD(0XC0); //Datos_LCD("tx="); //Comando_LCD(0X90);//posicion en el LCD //Datos_LCD("rx="); // configuramos el EUSART para 9.6K baudios OpenUSART(USART_TX_INT_OFF & USART_RX_INT_OFF & USART_ASYNCH_MODE & USART_EIGHT_BIT & USART_CONT_RX & USART_BRGH_HIGH, 25); //esperar a que el buffer de transmisin //este vacio o disponible while(BusyUSART()); //envia caracter i=0; putcUSART('b'); //WriteUSART(0x0B); //CloseUSART(); /*Comando_LCD(0X93);//posicion en el LCD for(i=0;i<=12;i++) { Dato_LCD(mensaje_eco1[i]); } //esperar a que el buffer de transmisin //este vacio o disponible while(BusyUSART()); //esperamos caracter del virtual terminal while(!DataRdyUSART()); getsUSART(recepcion_eco1,4); Comando_LCD(0XC3); for(i=0;i<=8;i++) { Dato_LCD(recepcion_eco1[i]); } */ while(i!=1); i++; } void iluminacion(){ int lectura,sele; Comando_LCD(DDRAM_LINEA_1); Dato_String_LCD(borrar); Comando_LCD(DDRAM_LINEA_2); Dato_String_LCD(borrar); Comando_LCD(DDRAM_LINEA_3); Dato_String_LCD(borrar); Comando_LCD(DDRAM_LINEA_4); Dato_String_LCD(borrar); while(i!=4){ Delay10TCYx(100); Comando_LCD(DDRAM_LINEA_1); Datos_LCD(" ILUMINACION "); Comando_LCD(DDRAM_LINEA_2); Datos_LCD("================" ); i++; } inicioilu: Comando_LCD(DDRAM_LINEA_1); Datos_LCD("[1]A [2]B [3]C"); Comando_LCD(DDRAM_LINEA_2); Datos_LCD("[4]D [5]E [6]F" ); while(BusyUSART()); //esperamos caracter del virtual terminal while(!DataRdyUSART()); sele = ReadUSART(); PORTBbits.RB6=1; switch(sele){
case 0x41: Comando_LCD(DDRAM_LINEA_1); Datos_LCD(" HABITACION A "); Comando_LCD(DDRAM_LINEA_2); Datos_LCD(" "); contiluminacion(); goto inicioilu; break; case 0x42: Comando_LCD(DDRAM_LINEA_1); Datos_LCD(" HABITACION B "); Comando_LCD(DDRAM_LINEA_2); Datos_LCD(" "); contiluminacion1(); goto inicioilu; break; case 0x43: Comando_LCD(DDRAM_LINEA_1); Datos_LCD(" HABITACION C "); Comando_LCD(DDRAM_LINEA_2);
142
Datos_LCD(" "); contiluminacion2(); goto inicioilu; break; case 0x44: Comando_LCD(DDRAM_LINEA_1); Datos_LCD(" HABITACION D "); Comando_LCD(DDRAM_LINEA_2); Datos_LCD(" "); contiluminacion3(); goto inicioilu; break; case 0x45: Comando_LCD(DDRAM_LINEA_1); Datos_LCD(" HABITACION E "); Comando_LCD(DDRAM_LINEA_2); Datos_LCD(" "); contiluminacion4(); goto inicioilu; break; case 0x46: Comando_LCD(DDRAM_LINEA_1); Datos_LCD(" HABITACION F "); Comando_LCD(DDRAM_LINEA_2); Datos_LCD(" "); contiluminacion5(); goto inicioilu; break; case 0x58: break; } } void contiluminacion(){ int lectura; //=====inicia el envio de datos de control para iluminacin while(1){ // Tecla=0; // Lee_Teclado();
while(BusyUSART()); //esperamos caracter del virtual terminal while(!DataRdyUSART()); lectura = ReadUSART(); switch(lectura){ case 0x41: Comando_LCD(DDRAM_LINEA_2); Datos_LCD(" [APAGADO] "); //PORTA=0x00; PORTBbits.RB0=1; Co=1; if(CoA==1){PORTBbits.RB1=1;} if(CoB==1){PORTBbits.RB1=1;} break; case 0x42: Comando_LCD(DDRAM_LINEA_2); Datos_LCD(" [ENCENDIDO] "); //PORTA=0x01; PORTBbits.RB0=0; Co=2; break; case 0x58: goto saltofin; break; }//FIN SWITCH } //FIN WHILE INFINITO //============fin de el envio de datos para conrtrol de iluminacin saltofin: ;} void contiluminacion1(){ int lectura; //=====inicia el envio de datos de control para iluminacin while(1){ // Tecla=0; // Lee_Teclado(); while(BusyUSART()); //esperamos caracter del virtual terminal while(!DataRdyUSART()); lectura = ReadUSART(); switch(lectura){ case 0x41: Comando_LCD(DDRAM_LINEA_2); Datos_LCD(" [APAGADO] "); PORTBbits.RB1=1; CoA=1; break;
case 0x42: Comando_LCD(DDRAM_LINEA_2); Datos_LCD(" [ENCENDIDO] "); PORTBbits.RB1=0; CoA=2; break; case 0x58: goto saltofin1; break; }//FIN SWITCH } //FIN WHILE INFINITO //============fin de el envio de datos para conrtrol de iluminacin saltofin1: ;} void contiluminacion2(){ int lectura; //=====inicia el envio de datos de control para iluminacin while(1){ // Tecla=0; // Lee_Teclado(); while(BusyUSART()); //esperamos caracter del virtual terminal while(!DataRdyUSART()); lectura = ReadUSART(); switch(lectura){ case 0x41: Comando_LCD(DDRAM_LINEA_2); Datos_LCD(" [APAGADO] "); PORTBbits.RB2=1; CoB=1; break;
case 0x42: Comando_LCD(DDRAM_LINEA_2); Datos_LCD(" [ENCENDIDO] "); PORTBbits.RB2=0; CoB=0; break;
case 0x58: goto saltofin2; break; }//FIN SWITCH } //FIN WHILE INFINITO //============fin de el envio de datos para conrtrol de iluminacin saltofin2: ;} void contiluminacion3(){ int lectura; //=====inicia el envio de datos de control para iluminacin while(1){ // Tecla=0; // Lee_Teclado(); while(BusyUSART()); //esperamos caracter del virtual terminal while(!DataRdyUSART()); lectura = ReadUSART(); switch(lectura){ case 0x41: Comando_LCD(DDRAM_LINEA_2); Datos_LCD(" [APAGADO] "); PORTBbits.RB3=1; CoC=1; break; case 0x42: Comando_LCD(DDRAM_LINEA_2); Datos_LCD(" [ENCENDIDO] "); PORTBbits.RB3=0; CoC=2; break; case 0x58: goto saltofin3; break; }//FIN SWITCH } //FIN WHILE INFINITO //============fin de el envio de datos para conrtrol de iluminacin
143
saltofin3: ;} void contiluminacion4(){ int lectura; //=====inicia el envio de datos de control para iluminacin
//============fin de el envio de datos para conrtrol de iluminacin saltofin4: ;} void contiluminacion5(){ int lectura; //=====inicia el envio de datos de control para iluminacin while(1){ // Tecla=0; // Lee_Teclado(); while(BusyUSART()); //esperamos caracter del virtual terminal while(!DataRdyUSART()); lectura = ReadUSART(); switch(lectura){ case 0x41: Comando_LCD(DDRAM_LINEA_2); Datos_LCD(" [APAGADO] "); PORTBbits.RB5=1; CoE=1; break;
case 0x42: Comando_LCD(DDRAM_LINEA_2); Datos_LCD(" [ENCENDIDO] "); PORTBbits.RB5=0; CoE=2; break;
case 0x58: goto saltofin5; break; }//FIN SWITCH } //FIN WHILE INFINITO //============fin de el envio de datos para conrtrol de iluminacin saltofin5: ;} void contiluminacion6(){ int lectura; //=====inicia el envio de datos de control para iluminacin while(1){ // Tecla=0; // Lee_Teclado(); while(BusyUSART()); //esperamos caracter del virtual terminal while(!DataRdyUSART()); lectura = ReadUSART(); switch(lectura){
case 0x41: Comando_LCD(DDRAM_LINEA_2); Datos_LCD(" [APAGADO] "); PORTBbits.RB6=1; CoF=1; break; case 0x42: Comando_LCD(DDRAM_LINEA_2); Datos_LCD(" [ENCENDIDO] "); PORTBbits.RB6=0; CoF=2; break; case 0x58: goto saltofin6; break; }//FIN SWITCH } //FIN WHILE INFINITO //============fin de el envio de datos para conrtrol de iluminacin saltofin6: ;} void test(){ int test; //while(i!=4){ //Delay10TCYx(100); Comando_LCD(DDRAM_LINEA_1); Datos_LCD("================"); Comando_LCD(DDRAM_LINEA_2); Datos_LCD(" PRUEBA DE "); Comando_LCD(DDRAM_LINEA_3); Datos_LCD(" CONECTIIDAD "); Comando_LCD(DDRAM_LINEA_4); Datos_LCD("================ " ); //i++; //} /*Comando_LCD(DDRAM_LINEA_1); Dato_String_LCD(borrar); Comando_LCD(DDRAM_LINEA_2); Dato_String_LCD(borrar); Comando_LCD(DDRAM_LINEA_3); Dato_String_LCD(borrar); Comando_LCD(DDRAM_LINEA_4); Dato_String_LCD(borrar);*/ while(1){ while(BusyUSART()); WriteUSART(0x50); while(BusyUSART()); //esperamos caracter del virtual terminal while(!DataRdyUSART()); test = ReadUSART(); if(test==0x70){ Comando_LCD(DDRAM_LINEA_1); Dato_String_LCD(borrar); Comando_LCD(DDRAM_LINEA_2); Dato_String_LCD(borrar); Comando_LCD(DDRAM_LINEA_1); Datos_LCD(" CONECTIVIDAD: "); Comando_LCD(DDRAM_LINEA_2); Datos_LCD("================"); while(i!=2){ Delay10TCYx(100); Comando_LCD(DDRAM_LINEA_3); Datos_LCD("!"); Delay10TCYx(100); Comando_LCD(DDRAM_LINEA_3); Datos_LCD("!! "); Delay10TCYx(100); Comando_LCD(DDRAM_LINEA_3); Datos_LCD("!!! "); Delay10TCYx(100); Comando_LCD(DDRAM_LINEA_3); Datos_LCD("!!!! "); Delay10TCYx(100); Comando_LCD(DDRAM_LINEA_3); Datos_LCD("!!!!! "); i++; } } Comando_LCD(DDRAM_LINEA_4); Datos_LCD("Prueba exitosa..."); } }
144
ANEXO III: MANUALES DEL FABRICANTE
145
146
147
148
149
150
151
ANEXO IV: DISEO DE CIRCUITOS IMPRESOS
Figura A Circuito impreso del sistema terminal 1
Figura B Circuito impreso del sistema terminal 2
152
Figura C Circuito impreso del nodo central
153
ANEXO V: ESTRUCTURA DE TRAMAS ESTRUCTURA DEL PAQUETE DE DATOS DE LA CAPA FSICA
La unidad de datos de protocolo de la capa fsica (PPDU, PHY Protocol Data Unit) tiene el trabajo de encapsular todos los datos de los niveles superiores. Se fundamenta en tres componentes:
Cabecera de sincronizacin (syncronization header). Cabecera de la capa fsica (PHY header). Carga til de la capa fsica (PHY payload).
Figura D Estructura del paquete de la capa fisica IEEE 802.15.4
Cabecera de Sincronizacin de PPDU
sta se encuentra formada por dos campos, el primero de ellos llamado prembulo y un delimitador de inicio de trama o start-of-frame delimiter por sus siglas en ingls. El prembulo esta integrado por 32 bits y permite a los nodos receptores sincronizar los bits del paquete. Al delimitador de inicio de trama lo conforman 8 bits con los que se permite al receptor identificar el inicio de los bits de datos del paquete.
154
Cabecera de la capa fsica
Contiene siete bits para definir la longitud de la carga til de datos del paquete (en bytes). La longitud puede tener como mximo de 127 bytes.
Carga til de la capa fsica
Se trata de un solo campo y tambin es conocida como Unidad de Servicio de Datos (PSDU Physcal Layer Service Data Unit). En la PSDU se encapsula la trama MAC.
ESTRUCTURA DE LA TRAMA MAC
Se encuentra definida en la IEEE 802.15.4, esta diseada para demostrar la simplicidad y flexibilidad del protocolo. La trama MAC consta de tres partes: Cabecera de la trama (frame header). Carga til de la trama (frame payload). Pie de la trama (frame footer).
Todos los componentes d e la trama MAC toman el nombre de protocolo de unidad de datos MPDU (MAC Protocol Data Unit) que luego se ensambla en el paquete de la capa fsica como el que se muestra en la figura E.
Figura E Estructura de la trama MAC
155
Cabecera de la trama
La cabecera MAC tiene un campo de control de trama y otro campo de direccionamiento. El campo de control de trama define el tipo de trama, uso de seguridad y el formato y contenido del campo de direccin. El campo de direccionamiento contiene tanto direcciones de origen com de destino especificadas dentro del campo de control de trama. Carga til de la trama
La carga til de la trama contiene informacin acerca del tipo de trama y ste puede ser dividido en forma lgica para su uso para las capas superiores.
Cola de la trama
El pie es en este caso el campo FCS (Frame Check Sequence) y sirve para verificar la integridad de las tramas MAC.
TRAMA DE DATOS PARA LA SUBCAPA MAC
La trama de datos es usada por la subcapa MAC para transmitir datos y su formato se muestra en la Figura F.
Figura F Formato de Trama de Datos
156
TRAMA DE ACUSE DE RECIBO
La trama de acuse de recibo es enviada por la subcapa MAC para confirmar la recepcin satisfactoria de la trama hacia el origen del mensaje. El formato de esta trama se muestra en la Figura G.
Figura G Formato de la Trama de Acuse de Recibo
TRAMA DE COMANDOS MAC
La trama de comandos MAC es originada por la subcapa MAC y se encarga de todo el control de transferencia de la MAC. La carga til de la MAC (MAC payload) tiene dos campos, el tipo de comando MAC (MAC command type) y el Valor del Comando MAC (MAC command payload). EL Valor de Comando MAC contiene informacin especfica del tipo de comando en uso. La Figura muestra los detalles del formato de Trama de Comando MAC.
Figura H Formato de Trama de Comando MAC
157
ANEXO VI: COSTOS DEL SISTEMA CONSTRUIDO
COSTO DE CONSTRUCCION DEL SISTEMA TERMINAL 1 ELEMENTO COSTO Dispositivo XBee 310 Microcontrolador PIC18f452 100 Display de LCD 4x16 200 Teclado matricial 35 Placa fotosensible 75 Elementos electrnicos varios 20 TOTAL $740
COSTO DE CONSTRUCCION DEL SISTEMA TERMINAL 2 ELEMENTO COSTO Dispositivo XBee 310 Microcontrolador PIC18f452 100 Display de LCD 4x16 200 Placa fotosensible 75 Elementos electrnicos varios 20 TOTAL $705
COSTO DEL NODO CENTRAL ELEMENTO COSTO Dispositivo XBee 310 Placa fenolica 30 Elementos electrnicos varios 20 C.I. MAX232 8 TOTAL $368
158
BIBLIOGRAFA [1] Romero, C., Vsquez, F. y De Castro, Domtica e Inmtica: Viviendas y edificios inteligentes; Ra-Ma; Madrid, 2005.
[2] www.domodesk.com
[3]Tesis BLUETOOTH Gonzalez Guillen, Angel Calzada Flores, Edgar Andres Ortiz Luna, Ricardo ESIME-CULHUACAN
[5] Articulo: Performance Study of IEEE 802.15.4 Using Measurements and Simulations Marina Petrova, Janne Riihijarvi, Petri Mahonen and Saverio Labella Department of Wireless Networks RWTH Aachen University Kackertstrasse, Aachen, Germany
[6]Tesis Doctoral Protocolo de encaminamiento en origen con identificadores no nicos para redes Ad-Hoc de dispositivos con recursos limitados Miguel Angel Ortuno Perez