Sei sulla pagina 1di 128

ESTE PROYECTO CONTIENE LOS SIGUIENTES DOCUMENTOS

DOCUMENTO No 1, MEMORIA I Memoria II Estudio Econmico III Clculos IV Manuales pg. 2 a 94 pg. 96 a 97 pg. 99 pg. 101 a 112 93 pginas 2 pginas 1 pgina 8 pginas

DOCUMENTO No 2, PLANOS I Planos pg. 2 1 pgina

DOCUMENTO No 3, PLIEGO DE CONDICIONES I Generales y econmicas II Tcnicas y particulares pg. 2 a 3 pg. 4 2 pginas 1 pgina

DOCUMENTO No 4, PRESUPUESTO I Mediciones II Precios unitarios III Sumas parciales IV Presupuesto general pg. 1 pg. 2 a 3 pg. 3 a 6 pg. 6 1 pgina 2 pginas 3 pginas 1 pgina

Autorizada la entrega del proyecto del alumno: Manuel Tornell Sevillano

LOS DIRECTORES DE PROYECTO Eduardo Pilo de la Fuente Ignacio Egido Corts

Firmado

Fecha

..............................

...... / ...... / ......

..............................

...... / ...... / ......

Vo Bo del Coordinador de Proyectos lvaro Snchez Miralles

Firmado

Fecha

..............................

...... / ...... / ......

Agradecimientos
A mis directores. A mi familia. Por el apoyo y ayuda brindados estos 11 meses.

Resumen

Este proyecto se centra en el desarrollo de una aplicacin domtica, con componentes tanto de software como de hardware, en el que los distintos dispositivos de control llevan a cabo sus diferentes tareas empleando como medio de comunicacin el bus USB. El estado actual de las tecnologas en el campo de la domtica y las posibilidades de explorar las capacidades del bus USB, a travs de diferentes entornos de desarrollo, motivaron el desarrollo de este proyecto. Igualmente, el hecho de que el mencionado bus se encuentre presente en la mayora de los hogares, a travs de los PCs, impuls la idea del uso del mismo. Las alternativas comerciales actuales nos ofrecen productos altamente sosticados a unos precios bastante elevados. Adems, para el control de muchos de estos sistemas, el usuario debe adquirir productos especcos, que raramente pueden ser utilizados para otras tareas. Con este proyecto se trata de aportar una solucin sencilla y de bajo coste, donde el usuario adems pueda re-utilizar su PC como elemento de control, abaratando aun ms los costes del sistema. El sistema desarrollado se compone de una serie de dispositivos de entrada y de salida que se comunican con el PC a travs del bus USB. El PC ejerce las funciones de controlador del sistema empleando un software de gestin. Dicho software de gestin permite al usuario la completa conguracin del sistema a travs de una interfaz gr-

II

ca, y a travs de una librera especca de control del bus USB lleva a cabo las acciones conguradas previamente. Para la consecucin del sistema se han empleado diferentes herramientas. Para las aplicaciones del PC se han utilizado el lenguaje de programacin C++ y el entorno de desarrollo Borland C++ Builder Enterprise Suite Version 5.0. Para las aplicaciones implementadas en los microcontroladores se utiliz el lenguaje de programacin C y el entorno de desarrollo MPLAB 7.2 con el compilador MPLAB C18. Los tests del sistema se realizaron empleando el entorno de desarrollo PICDEM FS-USB de Microchip Technology Inc. El resultado obtenido es un sistema totalmente congurable por el usuario, fcil de instalar y operar, con un funcionamiento autnomo y que soluciona el problema de controlar ciertas variables (en funcin de los dispositivos conectados) en diferentes escenarios, pudiendo aplicarse tanto a tareas domticas como al control de ocinas, talleres, invernaderos, polideportivos, etc. Una de las conclusiones que se desprenden del desarrollo de este proyecto es la potencia y la capacidad del bus USB, que en la actualidad se encuentra integrado en multitud de dispositivos de uso cotidiano, dotndoles de sencillez en el manejo y de velocidad de operacin. Por otra parte, se ha valorado la utilizacin de un lenguaje de programacin como C/C++ dada su potencia y robustez a la hora de manejar libreras, y de la facilidad que presenta a las tareas de desarrollo, depuracin y mantenimiento. Adems, el uso de herramientas de desarrollo que se emplean de manera conjunta con los lenguajes de

III

programacin, permiten al desarrollador crear entornos grcos simplicados, orientados a cualquier tipo de usuario nal. Por ltimo, cabe destacar la capacidad de los microcontroladores de ltima generacin para desarrollar tareas complejas mediante programacin en lenguaje C, gracias al aumento de memoria, a la velocidad de procesado y a los distintos mdulos de comunicacin que integran.

IV

Abstract
This project deals with the development of a domotic application, with software and hardware components, where the different devices use the USB bus to perform their tasks. The state of the art in the eld of the domotic and the chances to explore how the USB bus works, motivated the development of this project. Also the presence of this bus in many different scenarios was another cause for this development. The comercial solutions offer really sosticated systems but with really high prices. Furthermore, to control the systems, normally the user should get specic products, which cannot be used for other tasks. With this project, we tried to implement an easy solution with a low cost, allowing the user to re-use his PC as a control element. The developed system has some inputs and outputs devices, that comunicate through the USB bus with the PC. This PC has a management software running for controlling the system, that offers the user a graphical interface. It has also a specic USB control library. To develop this project many different tools have been used. For the PC applications the C++ programming languaje and the development tool Borland C++ Builder Enterprise Suite Version 5.0 have been used. For the microcontrolers applications have been used the C programming languaje and the development tool MPLAB 7.2 with the compiler MPLAB C18. The tests of the system have been done with the development environment PICDEM FS-USB from Microchip Technology Inc.

The result obtained is a system that the user can easily set up and operate. It has also an autonomous mode to solve the problem of controlling some variables in different scenarios like houses, ofces, garages, sports centers, etc. One of the conclusion we get from the development of this project is the power and the capacity of the USB bus, that at the moment is integrated in a lot of devices giving them an easy-operation-mode and really high speed operation. In another direction, we also appreciated the use of the C/C++ programming languajes due to its power and stability with the management of libraries and also due to the development, debug and maintenance tools. Finally, we discovered how powerful the last generation microcontrolers are. We could program them using high level and object oriented program languajes, like C.

Documento No I, Memoria

ndice general
I MEMORIA
Prlogo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . I.1. Introduccin y Planteamiento del proyecto . . . . . . . . . . . . . . . I.1.1. I.1.2. I.1.3. I.1.4. I.1.5. I.1.6. Estudio de Tecnologas Existentes . . . . . . . . . . . . . . . Motivacin del proyecto . . . . . . . . . . . . . . . . . . . . Objetivos del proyecto . . . . . . . . . . . . . . . . . . . . . Metodologa seguida . . . . . . . . . . . . . . . . . . . . . . Recursos empleados . . . . . . . . . . . . . . . . . . . . . . Organizacin del Documento . . . . . . . . . . . . . . . . .

1
2 2 2 4 5 7 9 11 13 13 18 21 24 28

I.2. Descripcin de las Tecnologas . . . . . . . . . . . . . . . . . . . . . I.2.1. I.2.2. Bus USB . . . . . . . . . . . . . . . . . . . . . . . . . . . . Microcontrolador . . . . . . . . . . . . . . . . . . . . . . . .

I.3. Descripcin de la Aplicacin Desarrollada . . . . . . . . . . . . . . . I.3.1. I.3.2. Estructura del Sistema . . . . . . . . . . . . . . . . . . . . . Elemento de Control . . . . . . . . . . . . . . . . . . . . . .

NDICE GENERAL I.3.2.1. Librera de Control del Bus USB . . . . . . . . . . . . . I.3.2.2. Librera de Almacenamiento y Gestin . . . . . . . . .

II

30 34 39 41 47 49 34 63 64 68 71 71 71 73 74 79 82 83 90

I.3.2.3. Librera de Control de la Interfaz Grca . . . . . . . . . I.3.2.4. Programa Principal . . . . . . . . . . . . . . . . . . . . I.3.3. Dispositivos . . . . . . . . . . . . . . . . . . . . . . . . . . .

I.3.3.1. Software . . . . . . . . . . . . . . . . . . . . . . . . . . I.3.3.2. Hardware . . . . . . . . . . . . . . . . . . . . . . . . . I.4. Resultados y Experiementos . . . . . . . . . . . . . . . . . . . . . . I.4.1. I.4.2. Experimentos . . . . . . . . . . . . . . . . . . . . . . . . . . Resultados . . . . . . . . . . . . . . . . . . . . . . . . . . .

I.5. Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . I.5.1. I.5.2. I.5.3. Desarrollo de aplicaciones domticas . . . . . . . . . . . . . Capacidad del bus USB . . . . . . . . . . . . . . . . . . . . Implementacin del sistema desarrollado . . . . . . . . . . .

I.6. Futuros Desarrollos . . . . . . . . . . . . . . . . . . . . . . . . . . . I.7. Bibliografa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . I.8. Anexos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . I.8.1. I.8.2. Anexo I: Breve Descripcin de las Tecnolgas Domticas . . Anexo II: Dispositivos como maestros del bus USB. . . . . .

II

ESTUDIO ECONMICO
II.1. Estudio econmico . . . . . . . . . . . . . . . . . . . . . . . . . . .

95
96

NDICE GENERAL

III

III

CALCULOS
III.1. Clculos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

98
99

IV

MANUALES

100

IV.1. Manual de usuario . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 IV.1.1. Modo Bsico . . . . . . . . . . . . . . . . . . . . . . . . . . 101 IV.1.2. Modo Avanzado . . . . . . . . . . . . . . . . . . . . . . . . 106

ndice de Tablas
1.1. Principales caractersticas del microcontrolador PIC18F4550 . . . . . 1.2. Funciones de Librera USB (ref:placa desarrollo) . . . . . . . . . . . 1.3. Tipos de Relaciones entre dispositivos . . . . . . . . . . . . . . . . . 1.4. Tipos de Operaciones en las Relaciones entre Dispositivos . . . . . . 1.5. Conguracin inicial del sistema para el Experimento no 1 . . . . . . 1.6. Relaciones de los dispositivos para el Experimento no 1 . . . . . . . . 1.7. Asignaciones para el Experimento no 1 . . . . . . . . . . . . . . . . . 1.8. Conguracin inicial del sistema para el Experimento no 2 . . . . . . 1.9. Relaciones de los dispositivos para el Experimento no 2 . . . . . . . . 1.10. Asignaciones para el Experimento no 2 . . . . . . . . . . . . . . . . . 19 32 35 44 65 66 66 68 69 69

1.11. Operaciones del Modo Avanzado . . . . . . . . . . . . . . . . . . . . 108

ndice de Figuras
1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. Estructura tpica en sistemas USB . . . . . . . . . . . . . . . . . . . Pipes, Endpoints y sus relaciones (Fuente usb.org) . . . . . . . . . . . Componentes del Sistema . . . . . . . . . . . . . . . . . . . . . . . . Estructura del Sistema . . . . . . . . . . . . . . . . . . . . . . . . . Modo simplicado de operacin . . . . . . . . . . . . . . . . . . . . Composicin del Software de Gestin . . . . . . . . . . . . . . . . . Estructura comn de las funciones de alto nivel . . . . . . . . . . . . Estructura con Consola de Comunicacin . . . . . . . . . . . . . . . Tablas de la Librera de Gestin . . . . . . . . . . . . . . . . . . . . Vista general de la Interfaz Grca . . . . . . . . . . . . . . . . . . . Operaciones iniciales del Programa Principal . . . . . . . . . . . . . Rutina del Programa Principal . . . . . . . . . . . . . . . . . . . . . Diagrama Funcional de los Dispositivos . . . . . . . . . . . . . . . . Estructura del Software de los Dispositivos . . . . . . . . . . . . . . Organizacin del Software de los Dispositivos (fuente Microchip Inc.) 14 15 24 26 27 30 33 34 36 40 42 45 48 50 51

NDICE DE FIGURAS 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. Funcionamiento del Programa Principal de los Dispositivos . . . . . . Funcionamiento de USBTasks() . . . . . . . . . . . . . . . . . . . . Funcionamiento de ProcessIO() . . . . . . . . . . . . . . . . . . . . Mdulos de los Dispositivos . . . . . . . . . . . . . . . . . . . . . . Mdulo USB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Dispositivo de entrada digital (interruptor) . . . . . . . . . . . . . . . Dispositivo de entrada analgica (temperatura) . . . . . . . . . . . . Dispositivo salida digital (led) . . . . . . . . . . . . . . . . . . . . . Dispositivo de salida digital (bombilla) . . . . . . . . . . . . . . . . . Alimentacin a travs del bus USB . . . . . . . . . . . . . . . . . . . Alimentacin a travs de Bateras . . . . . . . . . . . . . . . . . . . Esquema General del Sistema Test . . . . . . . . . . . . . . . . . . . Experimento no 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . Experimento no 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . Nuevas estruturas fruto del manejo del USB como maestro . . . . . . Ejemplos de Sticks WiFi y Bluetooth comerciales . . . . . . . . . . . Ejemplo de Sistema X10 . . . . . . . . . . . . . . . . . . . . . . . . Ejemplo de Sistema KNX/EIB . . . . . . . . . . . . . . . . . . . . . Ejemplo de Sistema HomePlug . . . . . . . . . . . . . . . . . . . . . Conexin del microcontrolador para Host USB . . . . . . . . . . . . Descripcin Interna del Controlador AT43USB370 (ATMEL) . . . . . Nuevas estruturas fruto del manejo del USB como Host . . . . . . . .

VI

52 52 54 55 56 57 58 59 60 62 62 63 65 67 76 77 84 86 89 91 92 93

NDICE DE FIGURAS 38. 39. 40. 41. 42. 43. 44. 45. 46. Una de las ventajas: Subsistemas independientes . . . . . . . . . . .

VII

94

Paso1: Arranque del Sistema . . . . . . . . . . . . . . . . . . . . . . 102 Paso2: Reconocimiento de Dispositivos . . . . . . . . . . . . . . . . 103 Paso3: Deniendo las Relaciones . . . . . . . . . . . . . . . . . . . . 104 Paso4: Arranque e Info del sistema . . . . . . . . . . . . . . . . . . . 105 Vista Inicial del Modo Avanzado . . . . . . . . . . . . . . . . . . . . 107 Sistema Ejemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 Congurando Relaciones entre Seales . . . . . . . . . . . . . . . . . 110 Congurando Retardos y Jerarquas . . . . . . . . . . . . . . . . . . 111

Parte I MEMORIA

1.1 Introduccin y Planteamiento del proyecto

Prlogo

En el siguiente documento se tratan todas las cuestiones que se han planteado a lo largo del desarrollo de este proyecto. Se comienza con una descripcin del estado de la tecnologa, y se establecen los objetivos del proyecto. Tambin se realiza un anlisis de las tecnologas empleadas. Como punto central de esta memoria, se detallan todos los desarrollos y dispositivos realizados para la consecucin del proyecto. Por ltimo se revisan los resultados de los experimentos realizados y se plantean posibles futuros trabajos.

1.1.

Introduccin y Planteamiento del proyecto

A lo largo de este captulo se exponen tanto los antecedentes tecnolgicos de este proyecto, como el marco en el que se ha desarrollado el mismo.

1.1.1.

Estudio de Tecnologas Existentes

Durante los ltimos aos, no han cesado las apariciones de nuevos sistemas de control de variables domticas, con sus respectivos estndares. El fundamento con el que se plantean los desarrollos de estos sistemas no es ms que el control de ciertos parmetros que el usuario decida. A travs de mdulos de adquisicin, mdulos de aplicacin y mdulos de control, los sistemas comerciales que podemos encontrar actualmente en el mercado tratan de dar una solucin a la problemtica que aparece en

1.1 Introduccin y Planteamiento del proyecto

el control de variables presentes en los hogares, edicios, centros pblicos y privados, centros de ocio, etc. A continuacin se describen, de manera resumida, algunos sistemas comerciales que solventan esta problemtica, como son X10, KNX/EIB y HomePlug. Para una informacin ms detallada de cada uno de estos sistemas se debe acudir al Anexo I, donde se ha incluido un estudio con mayor profundidad. X10 [1] es una tecnologa desarrollada en los aos 70 en Escocia, que emplea la instalacin elctrica del los hogares (ocinas, talleres, etc.) como medio de comunicacin entre los dispositivo que integran el sistema. Con una instalacin relativamente sencilla, esta tecnologa slo nos permite encender y apagar los dispositivos del sistema, a los que se conectarn los electrodomsticos, lmparas, etc. que se deseen. Con lo que la regulacin y el control de variables no digitales (no on-off) resulta complicado. Adems el elevado precio de los elementos integrantes, as como la necesidad de adquirir un mando especco para gobernar el sistema se presentan como desventajas importantes. KNX/EIB [2] (Bus Europeo de Instalacin) es un sistema de control domtico, donde el cable de bus, instalado adems de los cables de alimentacin, combina sensores, como los de temperatura, luminosidad o de movimiento, y actuadores. La comunicacin entre los integrantes del sistema se realiza mediante el envo de impulsos a travs de un cable de baja tensin (24V), conocido como cable de bus. Con esta tecnologa se permite un control ms exibe de diferentes tipos de variables. Pero por contra, un instalador especializado debe llevar a cabo una instalacin, donde proba-

1.1 Introduccin y Planteamiento del proyecto

blemente sea necesaria la realizacin de una obra. Adems, aunque el precio de los integrantes no es demasiado elevado, la adquisicin de un mando para controlar el sistema es ineludible. Por ltimo, HomePlug [3], es un estndar que fue establecido por una organizacin de cerca de 50 empresas, que emplea las lneas de baja tensin de las viviendas, ocinas, etc., para comunicacin entre los dispositivos del sistema. Con una concepcin parecida a X10, HomePlug permite la transmisin de datos ms complejos y el cumplimiento de diferentes especicaciones que las empleadas en X10. Como ejemplo, esta tecnologa permite entre sus dispositivos comunicaciones tipo Ethernet, USB y 802.11. Por tanto, a la sencillez de instalacin se le une una gran capacidad de procesado de datos. Pero el precio de los dispositivos es si cabe an ms elevado.

1.1.2.

Motivacin del proyecto

Uno de los puntos comunes que presentan en su mayora los sistemas domticos, como los previamente expuestos, son su dependencia de sistemas de control dedicados exclusivamente a esas tareas (como mandos a distancias especcos, consolas de control...). En muchos de los casos debemos aadir adems un elevado coste, una tambin elevada complejidad tcnica y la necesidad de una instalacin complicada que debe planicarse de manera conjunta con la construccin del edicio, local o escenario donde se desee instalar. As pues, las motivaciones que han promovido el desarrollo de este proyecto son:

1.1 Introduccin y Planteamiento del proyecto

La gran aceptacin y demanda que presentan este tipo de tecnologas aplicadas al uso domstico, hacen que el desarrollo de sistemas de control innovadores puedan llegar a tener un mercado potencial considerable. El desarrollo de un sistema de control domtico sencillo y de bajo coste abre una puerta a un sector del mercado que demanda aplicaciones muy simples, capaces de satisfacer unas necesidades muy reducidas, a un precio razonable. El estudio del bus USB para su empleo como bus de comunicaciones, reduciendo as la complejidad de desarrollo de muchos de estos sistemas, en los que el estudio y desarrollo del protocolo de comunicacin se ha convertido en casi el 90 % del coste total.

1.1.3.

Objetivos del proyecto

Tras el anlisis de la situacin actual del mercado y de las tecnologas, y apoyados en la motivaciones expuestas anteriormente, los objetivos que se han perseguido en el desarrollo de este proyeccto son: 1. Desarrollo de una Librera especca de Comunicaciones USB para PC: Dado que no existe una librera de alto nivel capaz de establecer todos los valores de conguracin y comunicacin con los dispositivos de control del sistema (conectados a este tipo de puertos), se ha valorado como uno de los objetivos de este proyecto el desarrollo de una serie de funciones de alto nivel, capaces de llevar a cabo dichas operaciones.

1.1 Introduccin y Planteamiento del proyecto 2. Desarrollo de un Sistema de Control de Variables Domticas para PC:

Como se ha comentado anteriormente, uno de los problemas que presentan los sistemas comerciales es la necesidad de un sistema especco de control, en forma de consola o mando de contol. As pues, empleando un software de gestin desarrollado para este proyecto, se ha pretendido utilizar como elemento de control una herramienta tan potente como un PC, que cada vez se encuentra ms presente en todos los hogares. 3. Desarrollo de Firmware Especcos para microcontrolador: Cada uno de los dispositivos que integran el sistema domtico deber, adems de poder comunicarse con el sistema de control para tareas de conguracin y de actualizacin de datos, ser capaz de controlar la variable domtica que tenga asignada a travs de su rmware y sus perifricos. 4. Implementacin del Sistema: Como ltimo objetivo, se ha planteado la posibilidad de realizar la implementacin del sistema completo, que incluya varios dispositivos conectados al bus de control que sean capaces de interaccionar entre ellos a travs del software de gestin instalado en un PC.

1.1 Introduccin y Planteamiento del proyecto

1.1.4.

Metodologa seguida

El desarrollo de este proyecto ha seguido diferentes etapas desde el planteamiento inicial hasta su presentacin nal. Primeramente, y tras el planteamiento inicial de la idea, se inicia una pequea etapa de investigacin, para entrar en contacto con todos los elementos que han formado parte del sistema nal. En esta etapa se lleva a cabo un estudio del funcionamiento del bus USB, a partir de las descripciones y fundamentos establecidos por los desarrolladores de aplicaciones para USB [4]. Asimismo se comienza el estudio de las aplicaciones de este bus al manejo y control de perifricos. En este punto, el libro de referencia USB Complete [5] se convierte en una herramienta muy importante para el posterior desarrollo del proyecto. Tras esta estapa, se inicia el estudio de las caractersticas y propiedades del microcontrolador elegido para este proyecto. En este caso, se ha trabajado con el microcontrolador PIC18F4550 del fabricante Microchip Technology Inc. [7]. Asimismo, se inicia una fase de entrenamiento y conocimiento a fondo del entorno de desarrollo empleado. Se trata del entorno de desarrollo de Microchip Technology Inc., PICDEM FS-USB [8]. Una vez conocidas las posibilidades tanto del microcontrolador como del entorno de desarrollo, se desarrolla una librera de conguracin y control del bus USB (a base de funciones de alto nivel), con la que poder realizar un primer test de funcionalidad. En este test se comprueban tanto las opciones de comunicacin como las de control de

1.1 Introduccin y Planteamiento del proyecto perifricos y conguracion de los mismos.

A continuacin se establecen las caractersticas principales que debern incluir tanto el sistema de control, como cada uno de los dispositivos que sean controlados. Posteriormente se desarrolla el sistema de control [9] que se deba ejecutar en el PC, con la herramienta de diseo de software C++Builder 5, de Borland [10]. Tras algunas versiones y modicaciones del sistema de control, nalmente se alcanza un sistema estable y fcilmente mantenible, organizado en diferentes libreras, y que cumple con las especicaciones establecidas etapas atrs. Con respecto a los microcontroladores, se desarrolla un rmware especco para cada tipo de dispositivo de control, as como las caractersticas que identican a cada uno de ellos. Finalmente, se desarrollan varias versiones de dispositivos de control, tanto software como hardware, que se conectan al sistema de manera ecaz y satisfactoria. Las versiones que se desarrollan son: (software) un dispositivo termmetro, un dispositivo interruptor, un dispositivo accionador, as como las versiones (hardware) de cada uno de ellos en modo auto-alimentacin (bateras) y en modo alimentacin por bus. Por ltimo, se estudian diferentes caminos que se deberan seguir en posteriores desarrollos para la ampliacin del sistema tanto en funcionalidad como en caractersticas, y que se especican en el captulo 6. En este ltimo sentido se estudia la posibilidad de tener dispositivos maestros del bus (no slo esclavos), que modicaran el tipo de estructura que actualmente presenta el sistema. Tambin se detalla la posibilidad de sustituir el bus y el protocolo de comunicaciones empleado por otro con mejores caractersticas, como los que nos ofrecen las tecnologas inalmbricas actuales (Blue-

1.1 Introduccin y Planteamiento del proyecto tooth,WiFi, ZigBee...).

1.1.5.

Recursos empleados

Los recursos que han sido empleados en el desarrollo del proyecto han sido los siguientes:

PC: No slo se ha empleado en las fases de test del software de gestin, sino que tambin ha sido una herramienta bsica para el desarrollo del mismo, as como para el desarrollo de las aplicaciones, tanto software como hardware, de los microcontroladores. Entorno de desarrollo PICDEM FS-USB: El entorno de desarrollo de la multinacional americana Microchip Technology Inc. posee todas las caractersticas que se necesitan para el desarrollo de los dispositivos que componen este proyecto: entorno de programacin, diferentes sistemas de entradas y salidas para test, tanto analgicas como digitales, y, por supuesto, la posibilidad de conectar con un bus USB en calidad de esclavo del mismo. MPLAB: Es una herramienta software, tambin de Microchip Technology Inc., complemento ideal del entorno de desarrollo anterior. Permite la programacin y de-

1.1 Introduccin y Planteamiento del proyecto

10

bug de software orientado a cualquiera de los productos actuales de Microchip. Adems, esta herramienta complementada con el compilador de lenguaje C de la misma rma, MPLAB C18, la convierten en la solucin adecuada para un desarrollo de software sencillo, intuitivo y fcilmente desarrollable y mantenible. Borland C++ Builder: Al igual que la herramienta anterior, esta tambin es una herramienta software, gracias a la cual se han desarrollado las libreras de control del sistema y la interfaz grca. Nos ofrece gran simplicidad a la hora de crear aplicaciones grcas, haciendo uso del lenguaje C++ (tambin C), con la exibilidad que este nos permite. Internet: Punto de encuentro para desarrolladores de aplicaciones, ha sido una referencia para encontrar la informacin que ofrecen los fabricantes de las herramientas expuestas anteriormente. Bibliografa: Elemento fundamental en el desarrollo de cualquier proyecto. A partir de una buena base bibliogrca ha sido posible establecer los objetivos y limitaciones que tendr el proyecto. Materiales de laboratorio

1.1 Introduccin y Planteamiento del proyecto

11

Para el desarrollo de las tarjetas donde van montados los dispositivos se han empleado materiales de laboratorio como componentes electrnicos, multmetro, osciloscopio, fuente de alimentacin, soldador, estao, etc.

1.1.6.

Organizacin del Documento

Este documento, que muestra los resultados y experiencias obtenidas del desarrollo del proyecto n de carrera Sistema de Control Domtico a travs del Bus USB, se compone de ocho captulos. A continuacin se describe brevemente el contenido de cada uno de ellos. En el primer captulo, Introduccin y Planteamiento del proyecto, se presenta un anlisis del estado del arte y el planteamiento de los objetivos perseguidos, as como las motivaciones que han promovido el desarrollo de este proyecto. Se realiza un anlisis de las tecnologas que se han empleado durante todo el desarrollo en el captulo siguiente, Descripcin de las Tecnologas. Un poco ms adelante, en el captulo nmero tres, Descripcin de la Aplicacin Desarrollada, se detalla la aplicacin desarrollada. En este captulo adems, se exponen las justicaciones correspondientes a la solucin empleada. En el captulo nmero cuatro, Resultados y Experimentos, se analizan los resultados obtenidos al experimentar con la solucin desarrollada. Por ltimo, se revisan las conclusiones alcanzadas en el captulo cinco, Conclusiones, y se exponen los futuros desarrollos que pudiesen surgir de este proyecto en el

1.1 Introduccin y Planteamiento del proyecto captulo seis, Futuros Desarrollos.

12

En el captulo siete se revisan las referencias bibliogrcas empleadas en este proyecto, y en el ocho se presentan un estudio ms detallado de estado de las tecnologas, presentadas en el primer captulo, y un pequeo estudio referente a uno de los futuros desarrollos de este mismo captulo.

1.2 Descripcin de las Tecnologas

13

1.2.

Descripcin de las Tecnologas

En este captulo se van a detallar a nivel terico cada uno de los aspectos tcnicos que han sido necesarios para la realizacin del proyecto.

1.2.1.

Bus USB

El Bus de Serie Universal (USB), desarrollado a nales de 1996 por siete empresas agrupadas en el USB-IF1 , es una interfaz que provee un estndar de bus serie para conectar dispositivos a un ordenador personal. Como muestra la Figura 1, los sistemas USB tienen un diseo asimtrico, que consiste en que un solo maestro (Host) controla mltiples dispositivos esclavos (disp_x) que se conectan en una estructura de rbol pudiendo utilizar concentradores (Hubs). Estos dispositivos (y los concentradores) tienen pipes (canales lgicos) asociados. Dichos pipes son conexiones entre el maestro del bus y una entidad lgica dentro de los dispositivos llamada endpoint (punto nal). Los endpoits (y sus respectivos pipes) estn numerados del 0 al 15 en cada direccin, de modo que cada dispositivo puede tener hasta un total de 32 pipes activos, 16 de entrada y 16 de salida (salida se reere a salida del maestro y entrada indica entrada al maestro). Cada endpoint puede transferir datos en una sola direccin, o bien hacia el dispo1 Las

empresas participantes son: IBM, Intel, Northern Telecom, Compaq, Microsoft, Digital Equip-

ment Corporation y NEC

1.2 Descripcin de las Tecnologas

14

Figura 1: Estructura tpica en sistemas USB sitivo o bien hacia el maestro, con lo que cada pipe es unidireccional. El endpoit 0 est reservado para la gestin del bus en ambas direcciones y por eso reserva hasta 2 de los 32 endpoints. Es importante tener en cuenta que todos los dispositivos USB requieren la implementacin de un endpoint 0 para la gestin de la comunicacin, por lo que siempre encontraremos un pipe con el nmero 0 en cualquier elemento conectado al bus. Toda la informacin anterior queda bien reejada en la Figura 2, tomada de la documentacin general del bus USB de USB-IF [4]. La transferencia de datos en los pipes se realiza en paquetes de tamao variable. Cada pipe tiene un tamao de paquete mximo de 2n bytes, es decir, un paquete de datos USB tendr un tamao de 8, 16, 32, 64, 128, 256, 512 1024 bytes.

1.2 Descripcin de las Tecnologas

15

Figura 2: Pipes, Endpoints y sus relaciones (Fuente usb.org) Por otra parte, los pipes se clasican en cuatro categoras, en funcin del tipo de transferencia. As tenemos: Transferencias de Control: tpicamente se utilizan comandos cortos a los dispositivos y se recibe una respuesta que indica el estado. Empleado normalmente por el endpoint 0. Transferencias Asncronas: a una velocidad garantizada (no siempre la mxima posible). Existe la posibilidad de perder datos, pues no se contempla la com-

1.2 Descripcin de las Tecnologas

16

probacin de que los datos estn correctos. Empleado, por ejemplo, para video y audio en tiempo real, donde lo importante es la velocidad y no que todos los datos sean correctos. Transferencias por Interrupciones: normalmente en dispositivos que necesitan una respuesta rpida garantizada (rozando la latencia). Empleado en teclados y dispositivos apuntadores (ratn, puntero...). Transferencias Masivas: transferencias largas pero espordicas de datos en las que se usa el mximo ancho de banda posible. Empleado en dispositivos de almacenamiento masivos de datos (USB keys). Cuando un dispositivo (o un concentrador) es conectado al bus, el maestro le asigna una nica direccin de 7 bits. A partir de aqu, el maestro controla el trco en el bus mediante polling, normalmente empleando una estructura round-robin, de modo que ningn dispositivo puede transferir nada sin la peticin explcita del maestro del bus. Las Transferencias por Interrupcin en los endpoints correspondientes no interrumpen realmente ningn trco de datos en el bus, sino que estn programadas para ser llamadas con ms frecuencia, incluso mientras que se realiza una transferencia masiva. Por esto, podemos concluir que las Transferencias por Interrupcin en el bus USB son realmente un trco de datos de alta prioridad. Para acceder a un endpoint se debe adquirir previamente una conguracin jerarquizada. El dispositivo conectado al bus tiene un nico descriptor que por turnos (round-robin) tiene una o ms conguraciones. Estas conguraciones a menudo cor-

1.2 Descripcin de las Tecnologas

17

responden a estados de los dispositivos, como por ejemplo activo, bajo consumo, etc. Cada descriptor de conguracin en turno (round-robin) tiene uno o ms descriptores de interfaz, que describen ciertos aspectos de los dispositivos, de modo que pueden ser empleados para propsitos diferentes. Por ejemplo, una cmara puede tener 2 interfaces, una de audio y una de video. Estos descriptores de interfaz en turno tienen un interfaz programado por defecto y posiblemente, ms alternativas de programado de interfaces, las cuales tienen su propio descriptor de endpoint en cada turno. A pesar de todo, un endpoint puede ser compartido entre diferentes interfaces y diferentes conguraciones de interface. El hardware que contiene el maestro del bus tiene una interfaz de programador llamada HCD (Host Controller Device) que est denida por el fabricante del hardware. En la prctica, estos son registros de hardware (puertos) en el ordenador. En las versiones 1.0 y 1.1 competan dos implementaciones de HCD. Por un lado OHCI de Compaq era adoptado como estndar por el USB-IF. Al mismo tiempo Intel cre una especicacin llamada UHCI (Universal Host Controller Interface), de forma que los dems fabricantes deban pagar una licencia para emplearla. VIA Technologies compr la licencia del estndar de UHCI de Intel mientras que todos los otros fabricantes de chips usaban OHCI. La principal diferencia entre OHCI y UHCI es el hecho de que UHCI est ms controlada por software que OHCI, haciendo trabajar ms al procesador, pero es ms barata de implementar. El duelo de implementacin forz a los vendedores de sistemas operativos y a los vendedores de hardware a desarrollar y probar sus equipos en ambas implementaciones, lo que incrementaba costes. Du-

1.2 Descripcin de las Tecnologas

18

rante el diseo de USB 2.0 la USB-IF se decidi slo por una implementacin, que recibe el nombre de EHCI (Extended Host Controller Interface), y que es la nica que puede soportar transferencias de alta velocidad. Cada controlador de EHCI contiene 4 implementaciones virtuales de HCD para soportar dispositivos de Full Speed y Low Speed. El HCD virtual en controladores de Intel y VIA son UHCI. En el resto de los vendedores se emplean controladores OHCI.

1.2.2.

Microcontrolador

Para el desarrollo e implementacin de los dispositivos de interaccin del sistema desarrollado se ha elegido un microcontrolador que posee, entre otras caractersticas, un mdulo interno que le permite conectarse a un bus USB. El microcontrolador es el PIC18F4550 [6], del fabricante Microchip Technology Inc.. Las caractersticas principales que posee este dispositivo se presentan en la Tabla 1.1, de las cuales se describen a continuacin con ms detalle las relacionadas con el proyecto. Caractersticas para Perifricos: Se dispone de corriente sink/source de 25mA/25mA. Adems, permite provocar interrupciones desde puntos externos hasta un mximo de tres. Caractersticas Especcas USB: El microcontrolador cumple con las especicaciones de USB v2.0. Soporta ambas velocidades de transferencia, Low-Speed y High-Speed, as como los modos

1.2 Descripcin de las Tecnologas

19

Caracterstica Arquitectura Memoria Programa Memoria Datos I/O ADC (Anologue to Digital Converter) WDT (Watch-Dog Timer) Timers

Descripcin RISC de 8 bits Flash (32Kbytes) EEPROM (256bytes) 35 pines 10 bits

1 8 bits 3 16 bits

Interfaz

AUSART USB 2.0

Velocidad Mx. Canales PWM Bits PWM Tensin Mxmia de Alimentacin Tensin Mnima de Alimentacin No pines

48 MHz 1 Canal 10 bits 5.5 V

2.2 V

44 pines

Tabla 1.1: Principales caractersticas del microcontrolador PIC18F4550

1.2 Descripcin de las Tecnologas

20

de Transferencia de Control, por Interrupcin, Asncrona y Masiva. Asimismo soporta hasta 32 endpoints (16 bidireccionales). Dispone de 1 Kbyte de memoria RAM para las gestiones necesarias. Por ltimo, tiene integrado en el chip el emisor-receptor de USB con su respectivo regulador de voltaje. Caractersticas Especiales: Este dispositivo, como en general todos los perteneciente a la familia 18 de Microchip Technology Inc., ofrece la posibilidad de ser programado en C, a travs de alguno de los compiladores del mismo fabricante. Incluye tambin la posibilidad de jerarquizar las interrupciones en diferentes niveles. Por ltimo, el Watch-Dog Timer puede ser programado entre 41ms y 131s.

1.3 Descripcin de la Aplicacin Desarrollada

21

1.3.

Descripcin de la Aplicacin Desarrollada

Segn se vio en el captulo 1, el objetivo principal de este proyecto es desarrollar una aplicacin de control domtico. Las soluciones comerciales actuales, como las vistas en este primer captulo, presentan unas ventajas caractersticas de cada tecnologa, pero siempre unas desventajas comunes. Estas desventajas son el elevado precio de las instalaciones, la necesidad de un elemento de control del sistema especco, y, en muchos de los casos, una instalacin complicada que debe llevarse a cabo por un especialista. La aplicacin que se ha desarrollado en este proyecto es un sistema de control domtico que est compuesto por un PC, unas tarjetas de entrada y de salida, y un bus USB. Estas tarjetas se conectan al bus USB para comunicarse con el PC y transmitirle el estado de la variable que controlan. El PC, segn lo recibido, decide que acciones se deben llevar a cabo. El funcionamiento del sistema comienza con el reconocimiento de los dispositivos. El PC, que lleva incorporado un Software de Gestin, realiza las funciones de control del sistema. As, reconoce los dispositivos conectados. Estos dispositivos pueden ser de entrada o de salida. Dentro de los de entrada, adems los hay de entrada analgica y de entrada digital, y de salida slo digital. El usuario, una vez que conecta los dispositivos al bus USB, decide la conguracin que desea para su sistema. Para realizar esta tarea, se ha dotado al sistema de una Interfaz Grca. Empleando la misma, el usuario puede establecer las acciones

1.3 Descripcin de la Aplicacin Desarrollada que se llevaran a cabo entre los dispositivos del sistema.

22

Para realizar la conguracin, se deben decidir unos parmetros de los dispositivos. Para que el sistema pueda hacer uso de la informacin, estos parmetros, adems de otros identicadores internos del sistema, quedan almacenados en un sistema de tablas. El principal objetivo del sistema es poder controlar las variables que se decida. Para esto, los dispositivos dotan al sistema de informacin necesaria. Pero para poder controlar dichas variables, se deben denir unos lmites, unas condiciones de operacin, etc., con las que el sistema pueda operar. As, se ha dotado a la aplicacin desarrollada de la posibilidad de denir unas Relaciones entre dispositivos que establecern la conguracin del mismo. Existen Relaciones analgicas (como suma, resta, valor medio, etc.) y Relaciones digitales (and, or, etc.), en funcin del tipo de variable que se quiera controlar. Adems, los resultados de estas operaciones pueden ser empleados en otras operaciones. Por ejemplo, se puede denir la media entre dos temperaturas, y comparar el resultado de esta operacin con un lmite mximo denido ([MED t1 y t2] >25). Toda esta informacin, al igual que la referente a la conguracin inicial de los dispositivos, queda almacenada en tablas. Este sistema de almacenamiento permite un tratamiento ecaz de la informacin empleando unos algoritmos de comprobacin de resultado de operaciones. Por ltimo, y para poder llevar a cabo el control del sistema, la aplicacin debe poder realizar algunas acciones para que el sistema funcione correctamente. As, el resultado de las Relaciones anteriormente descritas, pueden asociarse a alguno de los

1.3 Descripcin de la Aplicacin Desarrollada

23

dispositivos de salida. Es decir, si se cumple alguna condicin entre las variables de los dispositivos de entrada, se puede denir que alguno (uno o varios) de los dispositivos de salida realice alguna accin. Esta informacin tambin queda almacenada en un sistema de tablas. Con esto, el sistema permite el control de unas variables, suministradas por los dispositivos de entradas, a travs de las relaciones que se denen para las mismas, actuando sobre los dispositivos de salida. Adems, se han introducido en el sistema los conceptos de jerarqua y retardo. El primero se emplea para priorizar el escano de las entradas del sistema para obtener informacin. A mayor prioridad, ms veces es preguntado el dispositivo. La informacin referente al nivel de prioridad se almacena en el sistema de tablas junto a la conguracin inicial del dispositivo. Este concepto es realmente interesante para sistemas que controlan un nmero elevado de variables, tanto analgicas como digitales. Ms adelante en este captulo se realiza un estudio ms a fondo de este concepto. El segundo, es decir el retardo, se ha empleado para que el sistema pueda ofrecer la posibilidad de realizar una accin cuando pasa un determinado tiempo despus de que se cumpla su condicin de activacin. Esta posibilidad de denir un retardo se presenta como una gran utilidad cuando se desea que se genere una secuencia de activacin entre los dispositivos de salida. Al igual que con la priorizacin, en este mismo captulo se profundiza ms en este concepto. Por tanto, se ha desarrollado una aplicacin sencilla de controlar a travs de una Interfaz Grca, que es al mismo tiempo muy potente, pues la organizacin de la

1.3 Descripcin de la Aplicacin Desarrollada informacin en tablas permite una gestin de la misma muy ecaz.

24

A continuacin se describen con ms detalle la estructura del sistema, cada uno de estos elementos y las relaciones entre los mismos.

1.3.1.

Estructura del Sistema

El sistema de control domtico que se ha desarrollado para este proyecto realiza las funciones de control de una serie de variables empleando un PC, unas tarjetas de entrada y de salida, y el bus USB como medio de comunicacin. Con un poco ms de detalle, la Figura 3 nos muestra los elementos que componen el sistema desarrollado.

Figura 3: Componentes del Sistema

Elemento de Control Compuesto por un PC y un Software de Gestin. El PC aporta una elevada velocidad de procesado y la capacidad de controlar el bus USB como maestro. El Software de Gestin permite gestionar las peticiones de las tarjetas de entrada /

1.3 Descripcin de la Aplicacin Desarrollada

25

salida, y le permite al usuario congurar las relaciones y el funcionamiento del sistema. Bus de Comunicaciones El bus USB es el empleado como bus de comunicaciones. Con su estructura en rbol, el Elemento de Control, maestro del bus, pregunta a las tarjetas de entrada / salida, esclavas del bus, para mantener el sistema actualizado. Tarjetas de Entrada / Salida Son los elementos del sistema que interaccionan con el entorno. Tienen dos tareas fundamentales: una primera en la que las tarjetas, a travs de sus perifricos, captan el valor o estado de sus variables y lo almacenan, y una segunda en la que dichas tarjetas responden a las peticiones del elemento de control, empleando para la comunicacin el bus USB.

Tras haber explicado cada uno de los elementos que componen el sistema desarrollado, a continuacin se comentan los puntos principales de su estructura. Como se ha explicado anteriormente, el sistema emplea un bus USB como medio de comunicacin entre los dispositivos y el elemento de control. En la Figura 4 se muestra la estructura del sistema. En dicha gura se aprecia claramente que el uso del bus USB obliga al sistema a tener una estructura en rbol, en la que cada uno de los dispositivos de entrada / salida se conecta a dicho bus, completando la estructura ramicada.

1.3 Descripcin de la Aplicacin Desarrollada

26

Figura 4: Estructura del Sistema Esta estructura permite liberar a las tarjetas de entrada / salida de las tareas de control, que requieren cierta capacidad de almacenamiento y procesado de datos. Pero por otra parte, la estructura en rbol va a obligar al elemento de control a tomar parte siempre en las decisiones que se deben adoptar. Esto implica un procesamiento de datos ms complicado que en otras estructuras ms horizontales, donde los dispositivos pueden interaccionar ms directamente entre s. Una vez que se han descrito los elementos del sistema desarrollado y la estructura del mismo, a continuacin se aclaran las relaciones entre dichos elementos. Las relaciones entre los distintos elementos que componen el sistema son las caractersticas de estructuras donde existen maestros y esclavos. Esto es, el maestro, el PC en este sistema, se encarga de gestionar las llamadas a los esclavos, las tarjetas de entrada / salida. Estas estn preparadas para ser preguntadas y responder mientras que el PC mantiene la comunicacin. La Figura 5 se muestra un modo de operacin bsico del sistema. El PC, que junto

1.3 Descripcin de la Aplicacin Desarrollada

27

con el Software de Gestin se encarga de controlar el sistema, pregunta a los dispositivos conectados al bus USB. Estos, responden a dicha llamada slo cuando sean llamados (paso 1). Cuando dicha comunicacin termina, el PC pregunta al dispositivo siguiente, y as sucesivamente (paso 2).

Figura 5: Modo simplicado de operacin

En este punto, el PC puede optimizar estas llamadas sucesivas a los dispositivos estableciendo unas prioridades. As, el funcionamiento bsico del sistema, anteriormente descrito, se complementa con el concepto de jerarqua. Esto es, el PC almacena una conguracin, no slo del tipo de dispositivo (entrada / salida), sino de la prioridad que tiene dentro de la estructura. De esta forma, ciertas variables, cuyo cambio de estado no se considere crtico, no son preguntadas tan frecuentemente como otras. Como ejemplo de esta jerarquizacin vamos a comparar dos variables, una con cambio de estado crtico, y otra con cambio de estado no tan crtico. La primera puede ser el caso de los interruptores. Un usuario, cuando acciona un interruptor que provoca el encendido de unas luces, desea una accin inmediata. Un retardo en la respuesta

1.3 Descripcin de la Aplicacin Desarrollada

28

del sistema de slo 1 segundo, puede provocar desconanza y dudas en el usuario referentes al buen funcionamiento del sistema. La segunda variable ejemplo puede ser la temperatura. La variacin de temperatura en el ambiente no se produce de manera brusca de modo natural. Asimismo, el hecho de que la calefaccin / aire acondicionado no se active hasta pasado unos segundos (incluso minutos en algunos casos), no es perceptible por el usuario nal, que no es capaz de distinguir una pequea bajada / subida de temperatura en un espacio corto de tiempo. As pues, se aprecia claramente la necesidad de asegurar unos tiempos de respuesta menores en el caso de los interruptores que en el caso de la temperatura. La forma de realizar esto es dotando de una prioridad mayor a los dispositivos interruptores que a los dispositivos de temperatura. Esta prioridad es interpretada por el PC y su Software de Gestin, que pregunta ms veces a las tarjetas asociadas a interruptores que a las tarjetas asociadas a lectura de temperaturas. Ahora que se han introducido la estructura del sistema y los elementos del mismo, as como las relaciones entre ellos, se va a describir con ms detalle en los apartados siguientes, cada uno de los integrantes del sistema.

1.3.2.

Elemento de Control

El sistema que se ha desarrollado necesita, por sus caractersticas ya vistas, un elemento que gestione las peticiones del usuario, a travs del control de los dispositivos de interaccin con el entorno, del medio de comunicacin empleado, y de sus relaciones.

1.3 Descripcin de la Aplicacin Desarrollada

29

Para llevar a cabo estas funciones, el elemento de control, como se mostr en la Figura 3, estar compuesto por: un PC y un Software de Gestin. PC: Aporta una elevada velocidad de procesado de datos, y el control del bus USB como maestro del mismo. Software de Gestin: Se encarga de gestionar las comunicaciones a travs del bus USB, las conguraciones de los dispositivos y las relaciones que se establecen entre ellos. En este proyecto se ha trabajado en el desarrollo del Software de Gestin. Las tareas que deben ser realizadas por el Software de Gestin son: Interfaz con el usuario del sistema, Reconocimiento y Conguracin de los Dispositivos, y Gestin del bus USB y de las Relaciones entre Dispositivos. Para llevar a cabo estas tareas, y como se muestra en la Figura 6, el Software de Gestin se compone de un programa principal y una serie de libreras: Librera de Control del USB, Librera de Almacenamiento y Gestin de los Dispositivos, y Librera de Control de la Interfaz Grca. Bsicamente, el programa principal ejecuta un bucle que, empleando las libreras, gestiona las comunicaciones, las relaciones con los dispositivos y la interfaz con el usuario. Se ha pensado que organizar el software en libreras que posean todos los parmetros y funciones necesarios para el control del bus USB, de la interfaz con el usuario, y de los dispositivos, es una buena solucin para la implementacin del mismo y adems facilita las tareas de mantenimiento y mejora del sistema.

1.3 Descripcin de la Aplicacin Desarrollada

30

Figura 6: Composicin del Software de Gestin El funcionamiento del programa principal se describir a fondo ms adelante, en este mismo apartado. Entrando un poco ms en detalle en estas libreras, el programa principal har uso de tres libreras: una especca para el control del USB, otra para el almacenamiento y gestin de la informacin de los dispositivos, y una ltima para el control de la interfaz grca (GUI. Estas libreras se presentan con detalle en los siguientes apartados.

1.3.2.1. Librera de Control del Bus USB El sistema controla las variables domticas denidas por los dispositivos que lo integran. El sistema se comunica con los dispositivos para conocer el estado de las variables que estos controlan. Esta comunicacin se establece a travs del bus USB. Dado que el programa principal hace uso constantemente del mencionado bus, se ha pensado en el desarrollo de esta librera de funciones de alto nivel para el control del

1.3 Descripcin de la Aplicacin Desarrollada mismo.

31

Esta librera est formada por todos los parmetros y funciones necesarios para congurar el bus USB para su uso como elemento de comunicacin. El resultado es una serie de funciones de alto nivel, poco parametrizadas, que pueden ser utilizadas por el programa principal para gestionar el sistema. En la Tabla 1.2 se muestran las funciones que se han desarrollado. Asimismo se detallan algunas caractersticas como los parmetros de entrada, las salidas y una pequea descripcin. Se debe destacar que las funciones desarrolladas han sido pensadas para funcionar con la de las placas de desarrollo de Microchip, PICDEM FS-USB. Como se puede apreciar en dicha tabla, hay algunas funciones, como lee_temp(), lee_pot(), SW_2(), SW_3, LED_3_ON(), LED_3_OFF(), LED_4_ON(), LED_4_OFF() y dtipo(), que comparten una estructura comn. Todas estas funciones (ver Figura 7) comienzan inicializando los pipes de entrada y salida. Despus se prepara un mensaje pare enviar a los dispositivos. A continuacin se enva el mensaje preparado por el pipe de salida. Por ltimo se espera una respuesta del dispositivo. En caso de haber comprendido el mensaje, la funcin devuelve un 1 y en el buffer de entrada del bus se encuentra el valor o estado de la variable. Y si no, se devuelve un 0, que indica que algo no ha ido bien. Por tanto, con salida se indica el correcto funcionamiento de la funcin. Los datos a procesar se encuentran en el buffer de comunicacin. Todas las funciones mencionadas siguen la misma estructura, la nica diferencia es el mensaje y la longitud del mismo. Es por eso, que para simplicar dichas funciones

1.3 Descripcin de la Aplicacin Desarrollada

32

Tipo bool

Nombre CONSOLA()

Entrada(s) ID, Comando, Long, Buffer IN[], Buffer OUT[]

Salida(s) 1/0

Descripcin Comunicacin ok Comunicacin no ok

bool

lee_temp()

ID, Buffer IN[], Buffer OUT[]

1/0

Valor analgico de temperatura

bool

lee_pot()

ID, Buffer IN[], Buffer OUT[]

1/0

Valor analgico del potencimetro

bool

SW_2()

ID, Buffer IN[], Buffer OUT[]

1/0

Estado del Interruptor 2

bool

SW_3()

ID, Buffer IN[], Buffer OUT[]

1/0

Estado del Interruptor 3

bool bool bool bool BYTE bool bool void

LED_3_ON() LED_3_OFF() LED_4_ON() LED_4_OFF() dtipo() empieza() termina() reconoce()

ID, Buffer IN[], Buffer OUT[] ID, Buffer IN[], Buffer OUT[] ID, Buffer IN[], Buffer OUT[] ID, Buffer IN[], Buffer OUT[] ID, Buffer IN[], Buffer OUT[] Entrada[], Salida[] Buffer IN[],Buffer OUT[] index[]

1/0 1/0 1/0 1/0 ED / EA / S 1/0 1/0

Activa el LED 3 Desactiva el LED 3 Activa el LED 4 Desactiva el LED 4 Mira el tipo de Dispo. Inicializa Parmetros Libera Recursos Cuenta dispositivos y analiza tipo

Tabla 1.2: Funciones de Librera USB (ref:placa desarrollo)

1.3 Descripcin de la Aplicacin Desarrollada

33

Figura 7: Estructura comn de las funciones de alto nivel desparametrizndolas se pens en el desarrollo de una consola de comunicacin, a la que tan solo hay que indicarle el mensaje y algunos parmetros ms. Esta idea se muestra en la Figura 8. Esto nos permite dos cosas importantes. La primera es que al hacer una llamada a estas funciones, el usuario de la librera slo tendr que especicar tres parmetros cada vez, en lugar de cinco (ver Tabla 1.2). La segunda es que la librera queda con una estructura ms simplicada y compacta, que nos permite de manera sencilla la modicacin de todas las funciones a partir de la modicacin de la consola de comunicacin. Por ltimo, hay que destacar dos funciones imprescindibles en esta librera para el

1.3 Descripcin de la Aplicacin Desarrollada

34

Figura 8: Estructura con Consola de Comunicacin correcto uso el bus USB. Estas funciones son empieza() y termina(). Ambas agrupan las llamadas a todas las funciones de carga de libreras e inicializacin de parmetros especcos para el bus USB. Cada vez que se quiera iniciar una comunicacin a travs de este bus, empleando cualquiera de las funciones anteriormente descritas, se debe hacer una llamada previa a la funcin empieza(), y cuando se nalice la comunicacin otra llamada a la funcin termina(). As se asegura un correcto uso y posterior liberacin de los recursos empleados en la comunicacin con el bus USB. Con el desarrollo de esta librera de funciones de alto nivel, se consigue que el programa principal slo tenga que llamar a unas funciones poco parametrizadas que se encargan de todas las tareas necesarias, para que el uso del bus USB se realice de forma correcta.

1.3.2.2. Librera de Almacenamiento y Gestin de Informacin de los Dispositivos En el momento de afrontar cmo se deban gestionar las relaciones entre los dispositivos se analizaron varias posibilidades. La solucin que se desarrollase deba sol-

1.3 Descripcin de la Aplicacin Desarrollada

35

Tipo de accin uno a uno

Descripcin Un dispositivo produce una reaccin en otro

Ejemplo Un Interruptor acciona una Bombilla Un Interruptor acciona varias Bombillas Varios Interruptores accionan una Bombilla Varios Interruptores accionan varias Bombillas

uno a muchos

Un dispositivo produce reacciones en varios

muchos a uno

Varios dispositivos producen una reaccin en otro

muchos a muchos

Varios dispositivos producen reacciones en otros

Tabla 1.3: Tipos de Relaciones entre dispositivos ventar el problema que planteaba el establecer diferentes tipos de relaciones mltiples entre los dispositivos, tanto de entrada como de salida. Es decir, el usuario nal del sistema deba tener la posibilidad de, por ejemplo, activando un interruptor encender varias luces, activando varios interruptores (o combinando los mismos) activar una sola luz, o varias al mismo tiempo, etc. Todas estas posibilidades, que quedan reejadas en la Tabla 1.3, deban ser cubiertas por el sistema que se desarrollase. Para dar respuesta a este requisito, se ha optado por el desarrollo de un sistema de relaciones entre dispositivos, con capacidad suciente para cubrir todas las combinaciones posibles, y con la exibilidad que permite a la hora de gestionar el sistema. Desde que la aplicacin reconoce los dispositivos, el sistema debe hacer uso de la informacin que hace al sistema cumplir con las peticiones del usuario. Existen dos

1.3 Descripcin de la Aplicacin Desarrollada

36

fuentes de informacin: los dispositivos y el usuario. La informacin que se recoge de los dispositivos es la referente al tipo de dispositivo, es decir, de entrada o de salida, y al identicador del mismo, que permitir diferenciar entre dos dispositivos del mismo tipo. Por otra parte, la informacin suministrada por el usuario es la referente a la conguracin y uso que este le quiere dar a su sistema. Por ejemplo, la decisin de que el dispositivo de entrada 1 active la salida 1. Bsicamente, lo que se gestiona son unas tablas que recogen tanto la informacin de los dispositivos como la conguracin establecida por el usuario. Las tablas, como se puede apreciar en la Figura 9, son cuatro: entradas, salidas, relaciones y asignaciones.

Figura 9: Tablas de la Librera de Gestin

A continuacin se detallan brevemente cada una de estas tablas. Las dos primeras, es decir, entradas y salidas, almacenan los datos de cada uno de los tipos de dispositivos. As, en entradas se guardan el identicador de los dispositivos

1.3 Descripcin de la Aplicacin Desarrollada

37

de entrada, el nombre que el usuario le quiera asignar a cada dispositivo, el tipo de variable que controla (en el caso de entrada: analgica o digital, y en el caso de salida slo digital), y el valor o estado de la misma. Adems, como ya se ha comentado, no todos los dispositivos tendrn la misma prioridad dentro de la jerarqua del sistema. Es aqu tambin donde se almacena esta informacin. Dado que se pueden realizar operaciones (suma, resta, media, etc.) entre las variables de los dispositivos de entrada (se detalla ms adelante en este apartado, cuando se explica el funcionamiento del programa principal), la tabla relaciones almacena los parmetros necesarios para procesar esas operaciones. As, se guardan los dispositivos cuyas variables son objeto de la operacin seleccionada, el operador y el resultado de la misma, as como el tipo de resultado (digital o analgico) obtenido. El resultado de una operacin entre variables de los dispositivos, o el estado de una de estas, puede denirse como condicin de activacin de uno o varios dispositivos de salida. Por ejemplo, el estado de un dispositivo asociado a un interruptor puede activar o desactivar el estado de un dispositivo asociado a una bombilla. Estas condiciones de activacin / desactivacin se almacenan en la tabla asignaciones. Esta tabla conservar el resultado de la condicin que activa una salida, as como la propia salida. Adems se ha dotado a esta tabla de un campo adicional, llamado retardo, que permitir al sistema esperar un tiempo antes de aplicar una salida. Cabe destacar que tanto las operaciones como las asignaciones deben ser conguradas por el usuario a travs de la Interfaz Grca que le permite denir cada uno de los parmetros requeridos.

1.3 Descripcin de la Aplicacin Desarrollada

38

Adems de las tablas que se han descrito, se han desarrollado unas funciones de control de estas tablas, que permiten al programa principal una gestin de la informacin a travs del uso de funciones de alto nivel. Las funciones desarrolladas son: mira_entradas(), mira_relaciones() y mira_asignaciones(). La primera de ellas, comprueba todos los dispositivos de entrada, haciendo uso de su identicador almacenado en la tabla entradas, y preguntando a cada uno por su variable. En funcin del tipo de dispositivo de entrada (analgico o digital), almacena el valor de la variable o el estado de la misma en la tabla entradas. La funcin mira_entradas(), adems, hace uso del valor de prioridad almacenado en la tabla entradas para cada dispositivo, preguntando ms frecuentemente a aquel que tenga prioridad superior. La segunda funcin, mira_relaciones(), recorre la tabla relaciones, ejecutando las operaciones que se han denido entre los dispositivos correspondientes, y dejando el resultado y el tipo de ste almacenados en dicha tabla. Por ltimo, la funcin mira_asignaciones(), comprueba si alguno de los resultados de las relaciones anteriores est presente en la tabla asignaciones, y si este activa alguna de las salidas denidas. Esta funcin adems gestiona el valor del retardo explicado anteriormente que puede denir el usuario. Para liberar al programa principal de la gestin de la informacin de los dispositivos as como de la gestin de estas tablas, se ha creado esta librera que permite llevar a cabo dichas tareas desde el programa principal, a travs de funciones de alto nivel.

1.3 Descripcin de la Aplicacin Desarrollada 1.3.2.3. Librera de Control de la Interfaz Grca

39

El manejo de un sistema complejo, en el que se pueden conectar y desconectar dispositivos con diferentes conguraciones y prioridades, y al mismo tiempo sus estados, o los estados de las variables que controlan, activan o desactivan a su vez los estados de otros dispositivos, puede convertirse en una tarea ardua si no se poseen los conocimientos adecuados. Con el desarrollo de la Interfaz Grca se ha pensado en ofrecer la posibilidad de controlar y congurar el sistema a cualquier usuario nal. El uso de entornos grcos permite a los usuarios un control total de sistemas complejos de una forma sencilla e intuitiva. En este caso, se ha pensado en una combinacin de formularios con botones y elementos de decisin. Una vista general de la Interfaz desarrollada se presenta en la Figura 10. A partir de un diseo sencillo, se han aadido los botones y mens desplegables necesarios para simplicar el manejo del sistema. Las funcionalidades ms empleadas han sido las llamadas a funciones en caso de que ocurra un evento. Es decir, cuando el usuario realiza una accin dentro de la interfaz, el sistema, por medio de esta librera, analiza el tipo de evento, el comportamiento del elemento afectado y evala si dicho evento lleva asociada alguna operacin. La declaracin de los elementos de la interfaz, as como la denicin de los comportamientos de dichos elementos queda reejada en esta librera. Los entornos de desarrollo de software, como el empleado en el desarrollo de este proyecto (Builder C++ de Borland), facilitan la implementacin de interfaces predeniendo los parme-

1.3 Descripcin de la Aplicacin Desarrollada

40

Figura 10: Vista general de la Interfaz Grca tros de conguracin de los elementos integrantes. Adems permiten al desarrollador, de manera muy sencilla, la modicacin de estos parmetros para que los elementos se adapten a las necesidades de la aplicacin que se desea desarrollar. Por tanto, para que el usuario nal pueda controlar el sistema de un modo sencillo e intuitivo, se ha dotado a la aplicacin de una Interfaz Grca. Esta Interfaz Grca lleva asociada una librera donde se denen todos los parmetros, funciones y comportamientos de los elementos que integran dicha Interfaz.

1.3 Descripcin de la Aplicacin Desarrollada 1.3.2.4. Programa Principal

41

Hasta aqu se han detallado las libreras que integran el Software de Gestin, de las que har uso un programa principal cuyo funcionamiento se detalla a continuacin. Como se ha comentado anteriormente en este apartado, el programa principal ejecuta un bucle que emplea una serie de libreras que facilitan las tareas de gestin y control del sistema. Aunque este es el funcionamiento normal del sistema, previamente se deben reconocer los dispositivos conectados, congurarlos, y denir las relaciones que los ligan. Un pequeo esquema de este funcionamiento lo vemos en la Figura 11. Al iniciar su funcionamiento, el programa principal buscar en su directorio de trabajo un archivo llamado CON.txt. En este se pueden haber guardado unas conguraciones anteriores del sistema, que en caso de apagn o desconexin accidental del mismo, se pueden recargar de forma automtica. En caso de no encontrarlo, el sistema se iniciar sin ningn tipo de denicin ni conguracin previa de los dispositivos. Tras esto, lo primero que hace el sistema es cargar la Interfaz Grca que permite al usuario controlar el sistema. Aqu se inicializan y cargan todos los controles y mandos grcos empleados en la Interfaz. En esta primera etapa se emplea la librera de control de la Interfaz Grca descrita anteriormente. Despus, el sistema, por orden del usuario, reconoce los dispositivos que se encuentran conectados al bus USB y los clasica en funcin de si son de entrada o de salida. De los de entrada, analiza tambin el tipo (analgico o digital). Aqu se hace

1.3 Descripcin de la Aplicacin Desarrollada

42

Figura 11: Operaciones iniciales del Programa Principal uso de la librera especca de eontrol del bus USB. A partir de aqu, el sistema se dedica slo a almacenar los datos de conguracin que el usuario le indique. Estos datos son los referentes a las relaciones entre los dispositivos de entradas y a las asignaciones de los dispositivos de salida. En este punto, se deben dejar claras las operaciones que se pueden realizar entre los dispositivos de entrada para establecer las relaciones anteriormente mencionadas. Algunos detalles de estas operaciones se muestran en la Tabla 1.4. Como se aprecia en

1.3 Descripcin de la Aplicacin Desarrollada la misma, se pueden realizar dos tipos de operaciones: analgico o digital.

43

Con respecto a los operandos, se debe destacar que no slo se pueden realizar operaciones entre dos variables, sino que tambin entre una variable y una constante. Por ejemplo, todas las operaciones de tipo analgico se pueden realizar entre la variable de un dispositivo y una constante denida por el usuario. Con respecto al resultado de las operaciones, se debe mencionar que tras realizar cualquier operacin con cualquier tipo de variable, se genera una variable resultado que puede emplearse a su vez para realizar otra operacin. Asimismo, y slo con las operaciones que tengan como resultado una salida digital, se podr emplear dicho resultado para la activacin de alguna de las salidas del sistema. Veamos por ejemplo la siguiente situacin: se tiene una entrada de temperatura al sistema y una salida de accionado de un ventilador. Se realiza la operacin temperatura>25 (operacin analgica entre variable y valor denido por el usuario con resultado digital), temperatura<30 (igual que la anterior), y [temperatura>25] AND [temperatura<30] (operacin digital entre dos seales resultados de otras operaciones previas, con resultado digital). Cualquiera de estas operaciones puede ser denida como condicin de activacin de la variable ventilador, pues las tres tienen como resultado una valor digital. Para ms detalles sobre los datos de las relaciones entre dispositivos, se debe acudir a la descripcin previa de la librera de Almacenamiento y Gestin de Informacin de los Dispositivos. Y para una comprensin mejor de cmo el sistema gestiona esta informacin, se debe acudir al captulo 4. En este punto, el programa principal hace

1.3 Descripcin de la Aplicacin Desarrollada

44

Tipo

Operacin > < +

No de Entradas 2 2 2 2 2 2 2 1 1 2 2 1

Tipo Entradas Seal o Constante Seal o Constante Seal o Constante Seal o Constante Seal o Constante Seal o Constante Seal o Constante Seal Seal Seal o Constante Seal o Constante Seal

Tipo Salida Digital Digital Analgica Analgica Analgica Analgica Analgica Digital Digital Digital Digital Digital

Analgico

* / MED ON OFF

Digital

AND OR NOT

Tabla 1.4: Tipos de Operaciones en las Relaciones entre Dispositivos

1.3 Descripcin de la Aplicacin Desarrollada uso de dos libreras: la anteriormente mencionada y la de control de la interfaz.

45

Por ltimo, el usuario, cuando ha nalizado la conguracin del sistema, que puede ser salvada para poder ser recuperada en caso de accidente, deja que el sistema realice sus tareas de gestin para cumplir con sus peticiones. Es aqu cuando el programa principal ejecuta un bucle sin n, en el que siempre se realizan las mismas tareas. En la Figura 12, donde se muestra el comportamiento del programa principal, se aprecia que las tareas que realiza son mirar el estado de las entradas y analizar si el cambio en alguna de ellas provoca la activacin de alguna de las salidas.

Figura 12: Rutina del Programa Principal

1.3 Descripcin de la Aplicacin Desarrollada

46

Entrando un poco ms en detalle, el programa principal inicia este bucle comprobando, a travs de la prioridad que posee cada dispositivo, si es el momento de preguntar. Si ha llegado este momento, el programa principal pregunta al dispositivo correspondiente por el valor o el estado de su variable. Para esta tarea se emplean las funciones de la librera de control del bus USB. Seguidamente se comprueba si ha habido un cambio en el valor o el estado de alguna de las variables. En caso negativo el programa principal vuelve a empezar a comprobar si alguno de los dispositivos tiene que ser preguntado. En caso de haberse registrado algn cambio, el valor se actualiza en la tabla de entradas que se encuentran en la librera de gestin de la informacin de los dispositivos. A continuacin se comprueba si dicho cambio modica el resultado de alguna de las operaciones que deni el usuario. Si no es modicado, el programa principal vuelve a sus tareas iniciales. Si es modicado, entonces el programa principal comprueba si dicho cambio en el resultado de la operacin tiene asignada alguna salida. En caso armativo se procede a esperar el valor declarado por el usuario en la variable retardo para aplicar dicha salida. Una vez nalizada esta operacin, el programa principal comienza de nuevo todas estas operaciones desde el principio. Hay que destacar que el sistema completo no detiene su funcionamiento cclico cuando tiene que esperar para llevar a cabo una accin. Es decir, en los casos de prioridad y de retardo, el programa principal, por medio de un contador de segundos y unas variables auxiliares, puede seguir llevando a cabo sus tareas siguientes sin retrasar ninguna de ellas porque la anterior tuviese un momento de espera.

1.3 Descripcin de la Aplicacin Desarrollada

47

1.3.3.

Dispositivos

El sistema desarrollado en este proyecto se centra en el control de unas variables domticas. Una vez que se ha descrito el funcionamiento completo del elemento de control, se van a detallar tanto el funcionamiento de los dispositivos como su estructura, donde se adquieren dichos datos. Con el desarrollo de estos dispositivos se ha tratado de facilitar al sistema la adquisicin de dichos datos. Para que el sistema cumpla con los objetivos que se plantearon para el proyecto, las funciones que deben cumplir estos dispositivos son las de administrar unos perifricos que llevan asociados, y gestionar una comunicacin a travs del bus USB con el PC. Para llevar a cabo estas tareas, los dispositivos deben ir equipados tanto con sensores, que evalen el valor de algunas variables o el estado de las mismas, como con un elemento que procese esta informacin. Adems, los dispositivos deben poder comunicarse con el PC a travs de un bus USB. Por tanto, los dispositivos tienen que tener unos elementos hardware y otros software, que combinados puedan realizar estas tareas. Un poco ms adelante se describen con ms detalle ambos elementos que se han empleado en la solucin desarrollada. Pero se debe destacar que, entre los elementos hardware donde se encuentran tanto los sensores como los circuitos de adecuacin de cada uno, se ha dotado a los dispositivos de un microcontrolador PIC18F4550 [6] de la multinacional americana Microchip Inc.[7], que permite gestionar tanto la informacin de los perifricos (sensores), como la comunicacin con el bus USB. As, en la Figura

1.3 Descripcin de la Aplicacin Desarrollada 13 se muestra un diagrama funcional de los dispositivos.

48

Figura 13: Diagrama Funcional de los Dispositivos Con respecto a la tarea de administracin de perifricos, se debe destacar que dependiendo de la funcin que desarrollan, los hay de entrada, es decir de informacin para el sistema, y de salida, es decir de aplicacin de una decisin del sistema. As hay, por ejemplo, tarjetas para medir temperatura, tarjetas de estado de interruptores, etc. En relacin con la comunicacin USB, hay que destacar que estos dispositivos utilizan el bus USB para comunicarse con el elemento de control (PC). Pero a diferencia de este, y por la estructura del bus empleado (ver Captulo 2), los dispositivos no pueden iniciar una comunicacin. Esto es, los dispositivos slo pueden hacer uso del bus de comunicaciones en calidad de esclavos, debiendo esperar a ser preguntados por el maestro del bus, en este caso el PC.

1.3 Descripcin de la Aplicacin Desarrollada

49

Una vez aclaradas las funciones principales de los dispositivos, a continuacin se detallan en dos bloques los componentes generales de los mismos: Software y Hardware.

1.3.3.1. Software Como se ha descrito anteriormente, los dispositivos deben procesar una serie de informacin relativa a las variables que controlan, y adems ser capaces de comunicarse empleando un bus USB. Para llevar a cabo estas tareas, se cuenta con el microcontrolador PIC18F4550 de Michrochip Inc. Para ms detalle ver Captulo 2, donde se describen sus principales caractersticas. Para este microcontrolador se ha desarrollado un software que, empleando sus recursos ms importantes, cumplir todas las funciones necesarias. Estas funciones son la de gestin de perifricos y la de comunicacin a travs del bus USB. La estructura de este software se puede ver en la Figura 14. Como se puede apreciar, existen una serie de libreras que se emplean en el control de los perifricos y en el control de la comunicacin USB. El programa principal viene denido en el archivo main.c, y es este el que lleva a cabo la gestin de las libreras. Funcionalmente, el software se ha dividido, en dos elementos bien diferenciados: uno que controla los perifricos y otro que controla el bus USB. Adems se ha desarrollado un programa principal que gestiona cada uno de los elementos. Un esquema general de esta organizacin del software del microcontrolador se presenta en la Figura

1.3 Descripcin de la Aplicacin Desarrollada

50

Figura 14: Estructura del Software de los Dispositivos 15, y se comenta ms adelante en este mismo apartado. El funcionamiento bsico del programa principal se muestra en el diagrama de bloques de la Figura 16. Inicialmente, se cargan todos los datos y registros necesarios para poder gestionar tanto los recursos generales del microcontrolador como los especcos para el control del bus USB. A continuacin se inicia un bucle innito, en el que el programa principal, a travs del elemento de control del bus USB y del elemento de control de perifricos, realiza las funciones necesarias para el buen funcionamiento de los dispositivos. En realidad, los elementos de control, tanto del bus USB como de los perifricos, no son ms que unas llamadas a funciones denidas en libreras especcas. Estas funciones son de alto nivel, no necesitan ningn parmetro para su funcionamiento, y facilitan tanto la llamada desde el programa principal como el mantenimiento o la

1.3 Descripcin de la Aplicacin Desarrollada

51

Figura 15: Organizacin del Software de los Dispositivos (fuente Microchip Inc.) modicacin de las mismas. Describindolas un poco ms en detalle tenemos: USBTasks() y ProcessIO(). La primera de las funciones realiza las tareas propias del USB. En la Figura 17 vemos la secuencia que realiza. Se comienza comprobando el estado del bus USB, es decir, si el dispositivo se encuentra conectado al bus. Si este se encuentra conectado, se cargan los mdulos de control del bus y se conguran los registros necesarios para establecer una comuni-

1.3 Descripcin de la Aplicacin Desarrollada

52

Figura 16: Funcionamiento del Programa Principal de los Dispositivos

Figura 17: Funcionamiento de USBTasks() cacin adecuada. Si el dispositivo no se encuentra conectado se desactiva el mdulo de control del bus USB, permitiendo al microcontrolador establecer un nivel de bajo consumo.

1.3 Descripcin de la Aplicacin Desarrollada

53

En caso de querer modicar los parmetros empleados en la comunicacin USB, se debern editar los archivos que componen la librera de control de USB suministrada por USB.2 A continuacin, en cuanto USBTasks() naliza su tarea, el programa principal llama a la funcin ProcessIO(). Esta se encuentra denida en el archivo user.c, y es desde aqu desde donde se hace una llamada a todas las funciones necesarias para gestionar los perifricos. Pero no slo esto, sino que a travs de la funcin ServiceRequest(), se evala si se ha recibido algn mensaje por el bus USB y se gestiona tambin la informacin recibida. El esquema general de funcionamiento de esta funcin lo vemos en la Figura 18. Por tanto, cualquier mejora o modicacin que se quiera realizar en la gestin de la informacin que proviene del bus USB, as como en la gestin de los perifricos deber realizarse en la funcin ProcessIO(), que se encuentra en el archivo user.c. Con el desarrollo de esta estructura basada en un programa principal que llama a funciones en un bucle innito, se consigue que los dispositivos siempre estn atendiendo a los perifricos y al bus USB, adems de permitir un mantenimiento muy simple basado en la modicacin de funciones bsicas, sin tener que modicar la estructura del programa principal.
2 Se

recomienda una lectura previa tanto de la documentacin de las especicaciones del estndar de

USB [4], como de la documentacin que suministra Microchip Inc. para el control del bus USB [7].

1.3 Descripcin de la Aplicacin Desarrollada

54

Figura 18: Funcionamiento de ProcessIO() 1.3.3.2. Hardware Para que el microcontrolador pueda realizar las tareas que le indica el software, necesita determinado hardware, tanto de adaptacin como de control. Con respecto al hardware de adaptacin se hace referencia a las resistencias y condensadores que el fabricante recomienda para el correcto funcionamiento del microcontrolador. Adems de esto, se va a necesitar otro tipo de hardware para el correcto funcionamiento de los dispositivos. Principalmente se van a necesitar tres mdulos en los dispositivos, adems del propio microcontrolador. Los mdulos de los que se componen los dispositivos se muestran en la Figura 19, y son: Interfaz USB, Mdulo de Perifricos y

1.3 Descripcin de la Aplicacin Desarrollada Mdulo de Alimentacin.

55

Figura 19: Mdulos de los Dispositivos

A continuacin se detallan un poco ms en profundidad cada uno de estos mdulos.

1. Interfaz USB Este mdulo se compone de los elementos necesarios para que los dispositivos se puedan conectar un bus USB, cumpliendo todos los requisitos establecidos en la denicin de su estndar [4]. En la Figura 20 se observa que, adems del conector USB tipo B que se ha empleado para el diseo, los elementos de esta interfaz son elementos pasivos que adaptan las seales que provienen del bus o que se quieren inyectar en el mismo, a las condiciones que se establecen en el estndar. Con este diseo se ha solucionado la compatibilidad en la conexin de los dispositivos al bus USB. 2. Mdulos de Perifricos

1.3 Descripcin de la Aplicacin Desarrollada

56

Figura 20: Mdulo USB Dado que el sistema no slo adquiere datos provenientes de los dispositivos, sino que tambin puede decidir aplicar alguna accin que permita el control de una variable, se han desarrollado dos tipos de dispositivos: de entrada y de salida. Asimismo, como las variables que se desean controlar pueden ser analgicas (temperatura, luminosidad, etc.) o digitales (interruptor, presencia, deteccin, etc.), se han desarrollado dos tipos de dispositivos de entrada: analgicas y digitales. Para las salidas se adopt slo la solucin de salida digital, ya que el control de muchas variables se puede realizar con el encendido o apagado de un dispositivo (para temperatura, encendido o apagado de calefaccin o aire acondicionado). Para el sistema de este proyecto se han desarrollado dispositivos de entrada analgica, de entrada digital y de salida. Hay que destacar que para los de entrada analgica se ha empleado el sensor de temperatura TC77 [11] de Microchip.

1.3 Descripcin de la Aplicacin Desarrollada

57

Si se quisiese controlar otra variable que no fuese la temperatura, o bien este sensor de temperatura no cubre las especicaciones que requiere la instalacin, bastar con adecuar la salida del nuevo sensor a las especicaciones que impone el diseo desarrollado. A continuacin se describen cada uno de los tipos de mdulos de perifricos desarrollados: entrada digital (interruptor), entrada analgica (temperatura), y salida digital (bombilla).

Entrada Digital (interruptor) El microcontrolador, a travs de su software de gestin de perifricos, espera que la activacin de una entrada establezca un 0 lgico (0 voltios en este caso) en el pin al que se conecta la misma. Adems debe permitir el paso cierta corriente de entrada para activar los transistores internos. Por esto, el diseo que se ha empleado se muestra en la Figura 21.

Figura 21: Dispositivo de entrada digital (interruptor)

1.3 Descripcin de la Aplicacin Desarrollada

58

Con esta estructura se asegura el cumplimiento de las condiciones que establece Microchip Inc. para el PIC18F4550 [6]. Entrada Analgica (temperatura) En este caso, con el empleo del sensor TC77, que suministra una salida digital del valor de temperatura, se ha utilizado el interfaz de comunicacin SPI del microcontrolador. As, como se muestra en la Figura 22, los dispositivos de entrada analgica podrn medir la temperatura all donde se encuentren instalados.

Figura 22: Dispositivo de entrada analgica (temperatura)

Se debe destacar que en caso de querer emplear un sensor de temperatura con salida analgica, u otro tipo de sensor que mida otro tipo de variable, el microcontrolador posee un conversor analgico digital para transformar estas magnitudes. Habra, por tanto, que modicar el software del microcontrolador para congurar el conversor y leer la temperatura desde este.

1.3 Descripcin de la Aplicacin Desarrollada

59

Para ms detalles sobre el conversor ver el captulo 2 y la hoja de caractersticas del PIC18F4550 [6] . Salida Digital (Bombilla) Una primera aproximacin al diseo de este tipo de dispositivo se realiz con un led que simulaba a una bombilla. El esquema de este primer diseo es bastante sencillo, como se aprecia en la Figura 23, pues el microcontrolador establece un 1 lgico (5 voltios) para la activacin de dicha salida. Esta diferencia de potencial aplicada en la resistencia de salida hace que circule una corriente suciente para encender el led.

Figura 23: Dispositivo salida digital (led) En la aproximacin nal al diseo denitivo de este dispositivo se han necesitado algunos componentes ms, pues las especicaciones dieren considerablemente. Para este nuevo diseo las especicaciones pasan por encender o apagar una bombilla de 40W a partir de la seal de salida del microcontrolador. Se debe recordar que en el captulo 2 se coment que

1.3 Descripcin de la Aplicacin Desarrollada este microcontrolador poda controlar cargas de hasta 25mA.

60

Viendo las nuevas necesidades, la solucin que se ha adoptado emplea elementos de potencia, como se muestra en la Figura 24. Estos nuevos componentes son un transistor de potencia BD 135-16 de Philips [12] y el rel de Matsushita 50327F [13]

Figura 24: Dispositivo de salida digital (bombilla)

La activacin de la salida RB3 (pin 24), produce el encendido del transistor de potencia, que permite la excitacin de la bobina del rel con los 60mA que necesita. As, la carga que controla en sus extremos NO (normally open) se activa produciendo el encendido de la bombilla.

Con estos mdulos de perifricos se soluciona el control de las variables desde el microcontrolador. 3. Mdulo de Alimentacin

1.3 Descripcin de la Aplicacin Desarrollada

61

Como se vio en el captulo 2, el bus USB es un bus de datos que adems permite la alimentacin de dispositivos que no tengan un gran consumo. Esto signica que los dispositivos desarrollados no necesitaran de una fuente externa de alimentacin para desarrollar su funcionamiento normal. Sin embargo, los dispositivos de salida, que en algunos casos pueden llegar a manejar grandes cargas, no pueden ejercer sus funciones con este tipo de alimentacin. Adems, los puertos USB de los PCs normalmente tienen una limitacin del nmero de dispositivos conectados que se pueden alimentar de este bus. Por tanto, en aplicaciones donde haya muchos dispositivos, probablemente no todos pueden alimentarse a travs del bus USB. Por esto se ha desarrollado no slo el modelo de dispositivo alimentado a travs del bus USB, sino tambin a partir de una fuente externa de alimentacin. En este caso la alimentacin externa se realiza a travs de unas bateras. As, el circuito necesario para los dispositivos que se alimenten a travs del bus se muestra en la Figura 25. El otro modo de alimentacin, a travs de bateras, se muestra en la Figura26.

Hasta aqu se han descrito los distintos componentes de los dispositivos que componen el sistema desarrollado. Hay que destacar que para la aplicacin que se ha desarrollado en este proyecto se han implementado un dispositivo sensor de temperatura alimentado por el bus USB, un dispositivo interruptor alimentado tambin por el bus USB, un dispositivo interruptor bombilla (congurable para diferentes pruebas) ali-

1.3 Descripcin de la Aplicacin Desarrollada

62

Figura 25: Alimentacin a travs del bus USB

Figura 26: Alimentacin a travs de Bateras mentado por bateras, y un dispositivo bombilla alimentado tambin por bateras.

1.4 Resultados y Experiementos

63

1.4.

Resultados y Experiementos

Para comprobar si se han alcanzado los objetivos propuestos en el captulo 1 con la implementacin del sistema, se ha probado el sistema en dos situaciones diferentes. Para cada una de ellas se ha desarrollado una prueba especca. Estas pruebas especcas tienen las fases de conguracin, test y anlisis de resultados. Las pruebas realizadas son un sistema con un dispositivo sensor de temperatura, dos dispositivos interruptores y un dispositivo bombilla, y un sistema con un dispositivo sensor de temperatura, un dispositivo interruptor y dos dispositivos bombilla. En la Figura 27 se muestran el esquema general del sistema de pruebas. Con el primer sistema se pretenden demostrar la posibilidad de crear relaciones de activacin de salida a partir de combinaciones de la entrada. Con el segundo, se trata de comprobar las relaciones de mltiples activaciones de los dispositivos de salida a partir de combinaciones de mltiples entradas.

Figura 27: Esquema General del Sistema Test

1.4 Resultados y Experiementos

64

Se debe dejar claro que el empleo del dispositivo bombilla como dispositivo de salida puede ser modicado con otro tipo de dispositivo de salida. La simplicidad de este tipo de dispositivo, adems de la sencillez de activacin y comprobacin de la misma, ha motivado su empleo para estas pruebas. Un ejemplo alternativo que se podra emplear sera un dispositivo de salida tipo ventilador, o encendido / apagado del aire acondicionado, etc. A continuacin se describen con ms detalles las pruebas realizadas.

1.4.1.

Experimentos

Como se acaba de comentar, se han realizado dos experimentos para comprobar el buen funcionamiento del sistema desarrollado. La secuencia que se ha seguido en ambos, para la correcta realizacin de las pruebas ha sido: (i) ejecucin del programa de control, (ii) conexin de los dispositivos uno a uno, con su correspondiente conguracin inicial (reconocimiento del dispositivo conectado y declaracin de un nombre para cada uno), (iii) denicin de las relaciones entre dispositivos, (iv) asignaciones entre relaciones de dispositivos de entrada y dispositivos de salida, y por ltimo (v), ejecucin del arranque del sistema y comprobaciones pertinentes. Con esto, los experimentos desarrollados son: Experimento no 1 En este primer experimento, como muestra la Figura 28, se ha probado el sis-

1.4 Resultados y Experiementos

65

Figura 28: Experimento no 1 tema empleando tres dispositivos de entrada (dos interruptores y un sensor de temperatura) y un dispositivo de salida (bombilla). La conguracin que se quiere dar a este sistema de prueba es que el ventilador (simulado por la bombilla) se encienda bien porque la temperatura se encuentra entre 25o C y 30o C, o bien porque se activa cualquiera de los interruptores. Una vez arrancado el sistema, se han establecido las conguraciones iniciales reejadas en la Tabla 1.5.

ID dispo_salida_0 dispo_entrada_0 dispo_entrada_1 dispo_entrada_2

Tipo Salida Entrada Entrada Entrada

Variable

Nombre Usuario ventilador

Jerarqua 30 s

temperatura temp_saln interruptor interruptor

int_entrada_saln 0,1 s int_saln 0,1 s

Tabla 1.5: Conguracin inicial del sistema para el Experimento no 1

1.4 Resultados y Experiementos

66

Operador 1 temp_saln temp_saln t_MAY25 int_entrada_saln int_saln ies_ON vent_por_tem

Operacin > < AND ON ON OR OR

Operador 2 25 o C 30 o C t_MAY25 is_ON vent_por_int

Nombre de Resultado t_MAY25 t_MEN30 vent_por_tem ies_ON is_ON vent_por_int vent_ON

Tabla 1.6: Relaciones de los dispositivos para el Experimento no 1 A continuacin se han denido las relaciones que se muestran en la Tabla 1.6, con las que el sistema debe gestionar los servicios de los dispositivos. Por ltimo, la asignacin denida es la mostrada en la Tabla 1.7. Hay que destacar que en este experimento se han empleado como seales de entrada (operandos), resultados de otras operaciones. Esto se explic en el captulo 3, al que se debe acudir para ms detalles. Con esto queda congurado el sistema previsto para el Experimento no 1. Un anlisis de los resultados se realiza ms adelante en este mismo captulo.

Nombre de la Seal vent_ON

Salida ventilador

Retardo 10 seg

Tabla 1.7: Asignaciones para el Experimento no 1

1.4 Resultados y Experiementos Experimento no 2

67

Para el segundo experimento, y como muestra la Figura 29, se ha pensado en un sistema empleando dos dispositivos de entrada (un interruptor y un sensor de temperatura) y dos dispositivos de salida (dos bombillas).

Figura 29: Experimento no 2

En este caso, la conguracin que se quiere dar a este sistema es que el ventilador se encienda porque la temperatura se encuentra entre 25o C y 30o C. Adems esta condicin junto con el activado del interruptor, permitirn el encendido del aire acondicionado. Cuando arrancado el sistema, se establecen las conguraciones iniciales que se muestran en la Tabla 1.8. Seguidamente se denen las relaciones reejadas en la Tabla 1.9, con las que el sistema gestiona los dispositivos. Por ltimo, las asignaciones denidas son las mostradas en la Tabla 1.10.

1.4 Resultados y Experiementos

68

Al igual que en el experimento anterior, en este experimento se han empleado como seales de entrada (operandos), resultados de otras operaciones. Acudir al Captulo 3 para ms detalles. As queda congurado el sistema previsto para el Experimento no 2. Un anlisis de los resultados se realiza en el siguiente apartado.

1.4.2.

Resultados

A continuacin se analizan los resultados obtenidos tras probar los experimentos anteriormente expuestos en el sistema desarrollado. Para el primer experimento, se ha tratado de probar el accionamiento de un dispositivo de salida cuando tres dispositivos de entrada se combinan. As lo que se ha probado es que desde cualquiera de los interruptores o desde el propio sensor de temperatura, se pueda encender una bombilla. El sistema interacciona con las distintas entradas, dando prioridad a comprobar el estado de los interruptores antes de comprobar el valor de la temperatura. Adems,

ID dispo_salida_0 dispo_salida_1 dispo_entrada_0 dispo_entrada_1

Tipo Salida Salida

Variable

Nombre Usuario ventilador AireAc temp_saln int_saln

Jerarqua 30 s 0,1 s

Entrada temperatura Entrada interruptor

Tabla 1.8: Conguracin inicial del sistema para el Experimento no 2

1.4 Resultados y Experiementos

69

Operador 1 temp_saln temp_saln t_MAY25 int_saln is_ON

Operacin > < AND ON AND

Operador 2 25 o C 30 o C t_MEN30 vent_ON

Nombre de Resultado t_MAY25 t_MEN30 vent_ON is_ON vent_+_AireAc

Tabla 1.9: Relaciones de los dispositivos para el Experimento no 2 soluciona de manera eciente el retardo que se le ha asignado en la aplicacin de la salida. Por tanto, se concluye que el sistema actua de manera ptima cuando desde diversos dispositivos de entrada (combinados), se trata de activar un dispositivo de salida. Para el segundo experimento, se ha montado un sistema un poco ms complejo pues se ha dotado al mismo de una salida ms. Con esto se pretende comprobar si el sistema responde bien a la aplicacin de salidas mltiples cuando alguna combinacin o combinaciones de las entradas las activan. Se puede comprobar con este segundo experimento, que al igual que en el primero,

Nombre de la Seal vent_ON vent_+_AireAc

Salida ventilador AireAc

Retardo 10 seg 5 seg

Tabla 1.10: Asignaciones para el Experimento no 2

1.4 Resultados y Experiementos

70

el sistema gestiona bien la jerarqua de los dispositivos de entrada. Por otra parte, los resultados de las relaciones son tratados de manera ecaz, consiguiendo que el sistema realice todas las comprobaciones necesarias en un tiempo mnimo. Es por esto por lo que se puede armar que el sistema supera este segundo experimento, en el que se ha probado que tanto el control de varias entradas y sus combinaciones, como el accionamiento mltiple de salidas quedan soportados por el sistema desarrollado. Tras la realizacin de las pruebas y el posterior anlisis de los resultados, se puede concluir que la aplicacin desarrollada cumple con los objetivos propuestos en el Captulo 1. Adems, la solucin adoptada se presenta como una herramienta de control domtico potente, exible, y fcil de instalar y operar por parte de cualquier ususario nal.

1.5 Conclusiones

71

1.5.

Conclusiones

En este captulo se analizan las conclusiones ms importantes alcanzadas tras el desarrollo de este proyecto, que estn relacionadas con el desarrollo de aplicaciones domticas, la implementacin del sistema desarrollado, y las capacidades del bus USB.

1.5.1.

Desarrollo de aplicaciones domticas

El mercado actual de las tecnologas domticas ofrece unos sistemas de control que facilitan al usuario la realizacin de algunas tareas. El problema es que, o bien el usuario nal debe pagar grandes cantidades de dinero, o bien debe asumir una instalacin compleja, o bien debe adquirir elementos adicionales para el control del sistema. Con el desarrollo de esta aplicacin se ha tratado de dar soluciones sencillas a problemas sencillos, que es lo que se demanda por parte del mercado. Se ha tratado de desarrollar un sistema de coste reducido, que no requiera instalacin (o al menos no muy engorrosa o compleja) y que pueda aprovechar un PC, cada vez ms presentes en los hogares, como elemento de control. Con la estructura que se ha desarrollado para el sistema, donde el PC hace de interfaz con el usuario y de elemento de control, y los diferentes dispositivos se conectan a este a travs del bus USB para tareas de comunicacin, se ha conseguido ofrecer al usuario la capacidad de controlar el sistema de un modo sencillo. Adems se han cubierto las especicaciones de funcionamiento que ofrecen las aplicaciones comerciales actuales, todo ello a un precio reducido.

1.5 Conclusiones

72

Por todo esto, la conclusin que se alcanza es que se ha conseguido uno de los objetivos propuestos en el planteamiento de este proyecto al lograr con xito el desarrollo de un sistema de control de variables domticas que emplea el bus USB como medio de comunicacin, que tiene un precio reducido y cuya instalacin y operacin puede llevarse a cabo por cualquier tipo de usuario nal.

1.5.2.

Capacidad del bus USB

El bus USB, uno de los sistemas de comunicacin entre dispositivos ms empleado en diferentes aplicaciones, ha demostrado que con las herramientas adecuadas puede ser utilizado para desarrollar aplicaciones muy potentes y/o dotar a otras, de un modo bastante sencillo, de la posibilidad de una comunicacin de alta velocidad con otros dispositivos. En el caso de necesitar velocidades de comunicacin elevadas en alguna de las aplicaciones, el bus USB, a travs de sus especicaciones 2.0, permite transferencias a velocidades de hasta 480 Mbit/s. Empleando libreras de funciones de alto nivel, el manejo de un bus tan potente se reduce a la llamada de dichas funciones dentro de nuestra aplicacin. Por tanto, la simplicidad en el uso est asegurada as como la velocidad en las comunicaciones.

1.5 Conclusiones

73

1.5.3.

Implementacin del sistema desarrollado

La gestin de la informacin del sistema y de los dispositivos en tablas fue acertada, pues cuando se implement el sistema aparecieron multitud de situaciones que no se haban planteado durante la planicacin del proyecto y que requeran de una estructura de estas caractersticas. Asimismo, el desarrollo de una librera de control del bus USB facilit mucho la tarea de control del mismo desde el programa principal del sistema, y permite de forma simple realizar las tareas de mantenimiento del mismo. Por otra parte, la decisin de dotar a los dispositivos de un microcontrolador que pudiese emplear el bus USB a travs de un mdulo interno se ha considerado como muy positiva, pues ha simplicado mucho la tarea de desarrollo del software del microcontrolador, as como la del diseo del hardware de los dispositivos. Adems, el diseo de unos perifricos sencillos ha permitido evitar complicaciones en el desarrollo del hardware de los dispositivos. Por estas razones, la conclusin a la que se llega tras la implementacin realizada, es que se ha conseguido de manera satisfactoria el desarrollo y puesta en marcha de un sistema sencillo y able que cumple los requisitos planteados para el proyecto.

1.6 Futuros Desarrollos

74

1.6.

Futuros Desarrollos

A continuacin se exponen los posibles trabajos futuros que se desprenden del desarrollo de este proyecto. En este caso, aparecen bastantes nuevas lneas de desarrollo, debido a que desde el planteamiento inicial de este proyecto se propuso establecer unas bases solidas y estables a partir de las cuales investigar en diferentes direcciones. Dentro de todas estas posibilidades, una de las lneas ms interesantes est relacionada con la posibilidad de conseguir que los dispositivos dejen de ser solo esclavos del bus, no teniendo que esperar a ser llamado para realizar las tareas de comunicacin y pasando a realizar tareas propias de un maestro de bus. Una vez conseguido esto, se deber dejar de utilizar el bus USB con la estructura que hasta ahora se ha venido empleando, debido a la incompatibilidad del mismo con tener varios maestros, sutituyndolo por otro tipo de bus con otro tipo de tecnologas. En esta lnea aparecen otros futuros desarrollos interesantes, relacionados con elegir un nuevo modo de comunicacin, probablemente inalmbrico. Las tecnologas inalmbricas nos permiten eliminar el engorro que supone el cableado en instalaciones domticas. A continuacin se comentan ms en detalle estos futuros desarrollos: Dispositivos como maestros del bus USB: De la descripcin de la solucin adoptada se desprenden claramente una serie de problemas, algunos relacionados con la funcionalidad de los elementos in-

1.6 Futuros Desarrollos

75

tegrantes y otros relacionados directamente con el uso de alguno de estos. Este sera el caso concreto del bus de comunicaciones elegido. La eleccin del bus USB obliga, por denicin, a que por cada sistema exista slo un maestro, el cual desempear las funciones de gestor de interrupciones y de comunicaciones. Esto implica que cada vez que uno de los dispositivos quiera establecer una comunicacin, debido a un cambio de estado, debe esperar a que sea el maestro el que la inicie. La lnea de trabajo que se plantea desde este proyecto, y que se explica detalladamente en el Anexo II, es tratar de que los dispositivos puedan ejercer las funciones de maestros del bus USB. Los resultados de esta lnea de trabajo permitirn modicar la estructura en rbol del sistema por una en la que cada dispositivo puede controlar a su vez a otros dispositivos que se encuentren en una rama inferior. Un ejemplo de estas nuevas estructuras se puede apreciar en la Figura 30 Para una informacin ms detallada sobre esta lnea de trabajo y las investigaciones ya realizadas, se debe acudir al Anexo II. Alternativas al USB: Una problemtica que presenta este proyecto es la limitacin de distancia que presenta el bus USB. Segn la especicacin tomada de USB-IF la distancia mxima entre dos dispositivos que deseen establecer una comunicacin USB no puede ser superior a 2 metros. Por tanto, esta limitacin se debe suplir con la uti-

1.6 Futuros Desarrollos

76

Figura 30: Nuevas estruturas fruto del manejo del USB como maestro lizacin de repetidores USB para cubrir una distancia aceptable con el sistema. Otro modo de suplir esta limitacin puede ser recurriendo a otro tipo de tecnologas para establecer la comunicacin entre los dispositivos y el elemento de control. En este sentido, aparecen las tecnologas inalmbricas, como pueden ser Bluetooth o WiFi, con rangos de funcionamiento de hasta 100 metros, como las ms idneas para solventar la limitacin impuesta por el USB.

1.6 Futuros Desarrollos

77

Figura 31: Ejemplos de Sticks WiFi y Bluetooth comerciales Por otra parte, el mercado de la informtica evoluciona rpidamente, y los productos comerciales de uso informtico normalmente acaban por adquirir precios muy reducidos debido tanto a la rpida evolucin de los dispositivos, como a la gran cantidad de unidades que las empresas fabricantes colocan en el mercado. Actualmente, y como se aprecia en la Figura 31, existen en el mercado dispositivos capaces de establecer una comunicacin haciendo uso de las tecnologas Bluetooth o WiFi, a partir de una conexin USB y con un pequeo software de gestin. Incluso exiten elementos que convierten una simple comunicacin serie tipo RS-232 en una comunicacin a travs de Bluetooth. El precio de estos dispositivos, como se acaba de comentar, no es elevado y tiene adems una rpida tendencia a su reduccin. Sin embargo, estas mismas

1.6 Futuros Desarrollos

78

tecnologas empleadas de modo genrico (controladores Bluetooth o WiFi), funcionalmente aaden muchas ms caractersticas, pero a un precio mucho ms elevado que las comerciales ya expuestas. Por este motivo, se presenta como una buena oportunidad para la ampliacin del sistema desarrollado el estudio de las posibilidades de, una vez que se ha conseguido que los dispositivos puedan realizar tareas de gestin del USB (Host), conectar uno de estos USB sticks a los dispositivos desarrollados, que por supuesto debern incorporar al software actual una seccin dedicada a la gestin de dichos sticks. Las ventajas que se desprenden de esta nueva lnea de desarrollo son mltiples, siendo las ms importantes el aumento de la capacidad de operacin del sistema inicial, ahorro econmico importante al optar por soluciones comerciales informticas de bajo coste descartando los entornos de desarollo y aplicaciones genricas de coste superior, y la posibilidad de que el sistema desarrollado pueda interaccionar con otro tipo de dispositivos inicialmente no planteados para el proyecto, como pueden ser routers y conexiones a Internet. Como desventaja habra que resaltar que al emplear soluciones informticas especcas para cumplir una tarea, primero se perder parte de la funcionalidad que nos ofrecen las soluciones de desarrollo genricas, que quizs podran acabar siendo tiles en algunas aplicaciones, y segundo deberemos estudiar a fondo cmo el software de la solucin informtica gestiona el dispositivo conectado al

1.6 Futuros Desarrollos

79

USB, para traducirlo y que los dispositivos sean capaces de llevar a cabo dichas funciones de gestin.

Bibliografa
[1] X10 http://www.x10.com [2] Konex / EIB http://www.knx.com [3] HomePlug http://www.homeplug.com [4] USB.org http://www.usb.org/home [5] Axelson, Jan. USB Complete. Everything You Need to Develop Custom USB Peripherals.Third Edition.Out of Print Editions.572 pages. August 2005 ISBN: 1931448-02-7 [6] Microchip Technology Inc. PIC18F2455/2550/4455/4550 Data Sheet.

http://www.microchip.com [7] Microchip Technology Inc. http://www.microchip.com [8] Manual de usuario de FS sistema USB de desarrollo de aplicaciones Users de

Microchip:PICDEM

Demostration

Board

Guide.

http://www.microchip.com

BIBLIOGRAFA

81

[9] Reisdorph, Kent; Henderson, Ken. Teach Yourself Borland C++Builder in 21 Days.MacMillan Computer Publishing USA.800 pages. ISBN: 0-672-31020-1 [10] Borland Software Corporation. http://www.borland.com [11] Microchip Technology Inc. TC77 Data Sheet.http://www.microchip.com [12] Philips Inc. BD 135-16 Data Sheet. http://www.philips.com [13] Matsushita 50327F Data Sheet. http://www.matsushita.com [14] Atmel Corporation. http://www.atmel.com [15] Atmel AT43USB370 Data Sheet. http://www.atmel.com

BIBLIOGRAFA .

82

1.8 Anexo I: Breve Descripcin de las Tecnolgas Domticas

83

1.8.

Anexo I: Breve Descripcin de las Tecnolgas Domticas

Como ya se ha comentado en el captulo 1 durante los ltimos aos, las apariciones de nuevos sistemas de control de variables domticas, con sus respectivos estndares, han sido contnuas. Para encontrar tanto los puntos fuertes de cada tecnologas, como sus debilidades, se han estudiado algunos de los sistemas comerciales de control domtico ms populares. A continuacin se realiza una breve descripcin de cada uno de ellos, en la que se detallan los aspectos ms relevantes de cada tecnologa. Estos sistemas son:X10, KNX/EIB y HomePlug. X10 X10 es un protocolo de comunicaciones para el control remoto de dispositivos elctricos. Utiliza la lnea elctrica (220V o 110V) para transmitir seales de control entre equipos de automatizacin del hogar en formato digital. X10 fue desarrollada en 1975 por Pico Electronics of Glenrothes, Escocia, para permitir el control remoto de los dispositivos domsticos. Fue la primera tecnologa domtica en aparecer y sigue siendo, ampliamente, la ms disponible. El protocolo X10 consta de bits de direcciones y de rdenes. El protocolo utiliza 6 instrucciones diferentes: ON, OFF, All Lights ON, All Lights OFF, DIM, BRIGHT. Como se puede apreciar en la Figura 32, los dispositivos estn generalmente

1.8 Anexo I: Breve Descripcin de las Tecnolgas Domticas

84

conectados en mdulos X10 (receptores). X10 distingue entre mdulos de lmparas y mdulos de dispositivos. Los mdulos de dispositivos proporcionan energa a los dispositivos elctricos y aceptan rdenes X-10. Los mdulos de lmparas son capaces de gestionar grandes cargas (ej. mquinas de caf, calentadores, motores, ...), simplemente encendindolos y apagndolos.

Figura 32: Ejemplo de Sistema X10

Una de las caractersticas que han hecho tan popular a los sistemas que utilizan este protocolo ha sido la facilidad con la que se pueden instalar y congurar los dispositivos de una red, as como la simplicidad que implica una ampliacin de un sistema ya instalado. Por otra parte, uno de los problemas que presenta este sistema es el elevado precio que adquieren las instalaciones que lo integran. Este elevado precio viene

1.8 Anexo I: Breve Descripcin de las Tecnolgas Domticas

85

a responder a una elevada sosticacin tcnica que se repercute en el precio nal de los dispositivos. Asimismo es otra desventaja la necesidad de la compra de un elemento de control exclusivo para estos sistemas. KNX / EIB El Bus Europeo de Instalacin es un sistema para redes inteligentes de instalacin elctrica. El cable-bus, instalado adems de los cables de alimentacin, combina dispositivos y sistemas que previamente funcionaban de forma independiente, en un sistema econmico y adaptable a necesidades individuales. Esta red domtica ofrece nuevas funciones que anteriormente era complicado o imposible implementar. Como se ve en la Figura 33, el sistema EIB se puede establecer como sistema de control de dispositivos y sistemas en hogares, edicios comerciales, etc. Sensores, como los de temperatura, luminosidad o de movimiento, envan impulsos a travs de un cable de baja tensin (24V), conocido como cable de bus, hacia los actuadores. Tambin existe la posibilidad de que la comunicacin sea inalmbrica a travs de otro estndar llamado Radio Frecuencia EIB. Los sensores y actuadores deben ser programados e instalados por un tcnico. Una vez instalado el sistema, el usuario podr fcilmente manipular el sistema a travs de sencillos mdulos EIB en forma de interruptores, algn tipo de sistema visual (pantallas tctiles), o incluso a travs del telfono. Siempre se pueden cambiar las interconexiones entre dispositivos y/o aadir nuevos dispositivos al

1.8 Anexo I: Breve Descripcin de las Tecnolgas Domticas

86

Figura 33: Ejemplo de Sistema KNX/EIB sistema. Estas modicaciones pueden realizarse sin necesidad de un tcnico, si la instalacin inicial fue bien planicada. EIB es un protocolo estandarizado (EN 50090) de red de comunicaciones basado en Interconexin de Sistemas Abiertos (OSI). Es realmente abierto (no se pagan royalties a los miembros de KNX) y es independiente de la plataforama elegida. Soporta diferentes mtodos de conguracin (herramientas PC, dispositivos especcos, etc.) y diferentes medios de transmisin (TP, PL, RF, Ethernet, etc.). El protocolo EIB es el lenguaje digital con el que deben comunicarse los dispositivos en una instalacin para el control de las variables deseadas. En el estndar se ha optado por un nmero reducido de tipo de datos para el

1.8 Anexo I: Breve Descripcin de las Tecnolgas Domticas

87

control de variables. As, cada dispositivo de control presenta un juego de objetos con los que puede comunicar. Estos objetos poseen a su vez uno de los tipos estndar de datos que han sido denidos. El diseador del proyecto establece comunicacin entre las variables compartidas uniendo 2 grupos de comunicacin de igual tipo con una direccin de grupo. Por ejemplo, el valor de temperatura de un sensor se une con la correspondiente entrada de objetos del controlador de temperatura de una habitacin. Del mismo modo, la salida de interruptor de un sensor pulsador se une con la entrada de un dispositivo controlador de salidas binarias. Nos encontramos con una tecnologa muy potente, que a diferencia de los sistemas X10 vistos anteriormente necesita de una instalacin especca que debe ser realizada por un especialista. Esto, en funcin de las necesidades del usuario, puede convertirse en una desventaja muy importante. Por otra parte, los precios son elevados, tanto de las instalaciones como de los elementos controladores. Una instalacin que integre varios sensores especcos y/o actuadores tambin especcos, requiere normalmente una inversin importante. Uno de los puntos positivos que posee esta tecnologa es que se encuentra estandarizada por una serie de empresas que unidas en una alianza establecieron las bases de esta tecnologa. Por tanto, independientemente del fabricante del producto, del formato que siga el mismo y de la plataforma donde vaya in-

1.8 Anexo I: Breve Descripcin de las Tecnolgas Domticas

88

tegrado, si este ha sido certicado por cumplir los estndares de KNX, podr interaccionar sin problemas con otros elementos igualmente estandarizados. HomePlug HomePlug es un estndar para comunicacin a travs de lneas de baja tensin de las viviendas, ocinas, etc., que fue establecido por una organizacin de cerca de 50 empresas. Las especicaciones de este estndar son las de una tecnologa que permite la conexin de dispositivos usando las lneas de tensin de los hogares. HomePlug certica a productos que utilizan Ethernet, USB y 802.11. Todo lo que se tiene que hacer para conectar un dispositivo a una red de HomePlug es conectarlo a alguno de los enchufes de la casa y este comenzar a comunicarse con los dems integrantes de la red. Hay que destacar que los objetivos de la HomePlug es el uso de la red de baja tensin de la vivienda, ocina o SOHO (small ofce-home), como soporte fsico de una red de rea local. Con velocidades que en su primera versin llega a los 14 Mbps, el usuario puede conectarse a Internet desde cualquier zona de la vivienda en donde disponga de una toma elctrica estndar, consiguiendo as la movilidad y exibilidad que necesitan la mayora de los usuarios en sus aplicaciones cotidianas. Las empresas elctricas que hoy en da ofertan conexiones de alta velocidad a internet a travs de las lneas de baja tensin de los hogares, utilizan elementos que cumplen estos estndares.

1.8 Anexo I: Breve Descripcin de las Tecnolgas Domticas

89

Figura 34: Ejemplo de Sistema HomePlug A la vista de estos datos, se observa que estamos ante una tecnologa muy potente, a travs de la cual se pueden establecer incluso conexiones a internet de alta velocidad. Una tecnologa que conlleva unos precios elevados debido a las elevadas prestaciones que es capaz de ofrecer.

1.9 Anexo II: Dispositivos como maestros del bus USB.

90

1.9.

Anexo II: Dispositivos como maestros del bus USB.

Como ya se ha comentado en algunos de los captulos anteriores, la eleccin del bus USB obliga a que por cada sistema exista slo un maestro que desempear las funciones de gestor de comunicaciones. Esto implica que cada vez que uno de los dispositivos quiera establecer una comunicacin, debido a un cambio de estado, debe esperar a que sea el maestro el que la inicie. Otro problema relacionado con el uso del bus USB es el tipo de estructura en rbol iniciada en un solo punto, que forman los sistemas que emplean el mencionado bus. Esto quiere decir que ninguno de los dispositivos tiene por debajo de s mismo ningun otro dispositivo, y por tanto, todos ellos seran puntos nales de cada rama que ellos mismos inician. Con respecto al primer problema, se puede llegar a un compromiso asumiendo como solucin una muy elevada frecuencia de muestreo de las entradas por parte del elemento de control. Con este aumento podemos llegar a simular una accin-reaccin en Tiempo Real. La lnea de trabajo que se plantea desde este proyecto va ms en la direccin del segundo problema, como se muestra en la Figura 35, centrada en el empleo de un controlador que pueda realizar las funciones de Host del bus USB. En este caso, el controlador del bus USB empleado ha sido el AT43USB370 [15] de ATMEL Corporation [14]. Como se aprecia en dicha gura, el microcontrolador ser el que gestione

1.9 Anexo II: Dispositivos como maestros del bus USB.

91

las acciones que debe llevar a cabo el controlador del bus, enviando tanto la informacin de conguracin como la informacin del mensaje que debe poner en el bus para gestionarlo. El controlador espera a recibir por tres canales de entrada princi-

Figura 35: Conexin del microcontrolador para Host USB

pales (Control, Address y Data) todo lo necesario para establecer una comunicacin a travs del bus USB. A partir de recibir esta informacin, y haciendo uso de los controladores de USB, del sistema de control de interfaz y del gestor de USB (ver Figura 36), comenzar a realizar sus tareas de gestin como maestro del bus USB al que est conectado. Esto es posible gracias a que el controlador AT43USB370 es compatible con las descripciones de USB-IF para USB 2.0. Se ha pensado en una relacin de colaboracin entre ambos controladores,el exis-

1.9 Anexo II: Dispositivos como maestros del bus USB.

92

tente y el controlador del bus USB, no slo para conservar y utilizar los desarrollos fruto de este proyecto, sino que tambin para poder permanecer en contacto con el sistema de control hacia arriba y con el subrbol generado hacia abajo.

Figura 36: Descripcin Interna del Controlador AT43USB370 (ATMEL)

Una vez modicada la estrutura del dispositivo, incluyndo la posibilidad de controlar el bus USB y convirtindose as en maestro del mismo, la estructura del sistema puede llegar a modicarse tanto como se desee. En la Figura 37 se pueden apreciar tanto la estructura en rbol inicial como algunas subestructuras ejemplo, aun en rbol, generadas a partir de los nuevos controladores del USB. Esta solucin presenta una serie de ventajas e inconvenientes que se deben valorar a la hora de iniciar los trabajos de desarrollo. Como ventaja, se debe resaltar la posibilidad de plantear sistemas independientes y programables con unos elementos de

1.9 Anexo II: Dispositivos como maestros del bus USB.

93

Figura 37: Nuevas estruturas fruto del manejo del USB como Host gestin localizados para cada subestructura. Es decir, pequeas subredes dependientes, tan solo, de un controlador con posibilidad de control del bus USB. As, tal y como muestra la Figura 38, y tan slo programando localmente las acciones que se llevarn a cabo en funcin de las entradas de la subred, obtendremos pequeos subsistemas, independientes y ms ecaces. Otra ventaja importante que se desprende de este desarrollo, sera que, una vez se ha conseguido que los dispositivos puedan controlar un bus USB, y como se detallar

1.9 Anexo II: Dispositivos como maestros del bus USB.

94

Figura 38: Una de las ventajas: Subsistemas independientes en el siguiente apartado, el sistema puede evolucionar de una comunicacin tipo USB a una de otro tipo, donde las relaciones entre los dispositivos y el elemento de control sea ms horizontal. Las principales desventajas que presenta esta solucin son el aumento de la complejidad de los dispositivos, tanto hardware como software, y el aumento de costes de los mismos, as como el aumento considerable del tamao de los dispositivos (el nuevo dispositivo incorporar un microcontrolador ms). Estos detalles debe tenerse en cuenta a la hora de pensar en la miniaturizacin e implementacin de los dispositivos.

Parte II ESTUDIO ECONMICO

1.1 Estudio econmico

96

1.1.

Estudio econmico

El estado actual del mercado de aplicaciones que emplean este tipo de tecnologas para controlar variables en hogares, centros pblicos y privados, etc., es muy alentador, pues cada vez ms se valora una inversin que nos permita mejorar la calidad de vida, ahorrar esfuerzos y reducir los consumos (electricidad, agua, gas...). Los problemas que se presentan cuando se pretende adquirir alguno de los sistemas comerciales actuales son tanto la compleja instalacin que poseen alguno de ellos, como el elevado precio al que el consumidor debe hacer frente, as como, en muchos de los casos, la necesidad de adquirir componentes de uso exclusivo para gobernar los sistemas (mandos a distancia, consolas de control...). Analizando este estado actual, se ha valorado muy positivamente las posibilidades que presenta la solucin desarrollada como alternativa a las existentes en el mercado. En instalaciones donde la complejidad del control de las variables deseadas sea elevada, y/o se disponga de un presupuesto igualmente elevado, existen en la actualidad una numerosa variedad de soluciones con las que poder llevar a cabo el control. Para todas las dems situaciones (la gran mayora), donde el usuario desee controlar unas variables simples, como pueden ser los casos de luces, temperaturas, estado de interruptores, elementos de seguridad, etc., una aplicacin sencilla y de bajo coste como la desarrollada en este proyecto, cumple con todas las especicaciones, tanto las tcnicas como las econmicas. Los costes que se generan en este proyecto vienen fundamentalmente por parte

1.1 Estudio econmico

97

de los dispositivos que hacen interaccionar al sistema. Estos estn compuestos por unos pocos componentes electrnicos de precio reducido, como resistencias y condensadores, y un microcontrolador, que para un nmero reducido de unidades su precio es considerable, pero que con grandes tiradas disminuye. Con respecto a los perifricos que se controlen, los precios varian dependiendo no slo del nmero de dispositivos, sino tambin del tipo de perifrico a controlar (no ser lo mismo controlar un interruptor que un sensor de temperatura). Y por supuesto, los circuitos impresos donde van instalados todos estos componentes, que van a ser uno de los elementos ms caros de cada dispositivo. Los motivos de tener un elevado precio son que, primeramente, poseen un diseo nico, por lo que deben ser hechas a medida, y, adems, deben sufrir un proceso de reduccin de tamaos (miniaturizacin). Para reducir estas dos fuentes de costes, la nica solucin que se plantea es una produccin masiva que favorecer la reduccin de los costes, permitiendo ser competitivos en precios. Todos los datos acerca de los precios de cada componente y del conjunto nal estn recogidos en el DOCUMENTO No 4, PRESUPUESTO. Como conclusin se puede decir que hay un mercado grande para un sistema como el propuesto en este proyecto, y que el precio de produccin es sucientemente ajustado como para justicar los benecios de su posible comercializacin.

Parte III CALCULOS

1.1 Clculos

99

1.1.

Clculos

En este proyecto, por sus caractersticas, no se han requerido clculos.

Parte IV MANUALES

1.1 Manual de usuario

101

1.1.

Manual de usuario

En esta seccin se explican brevemente los pasos necesarios para operar la aplicacin desarrollada. Dado que para este proyecto se han desarrollado dos consolas de operaciones, como ya se vio anteriormente, se han preparado dos manuales. Mientras que en el manual del modo bsico se cuentan todas las funcionalidades de esta consola, en el manual del modo avanzado se contarn solo las funcionalidades que dieran con aquel modo.

1.1.1.

Modo Bsico

Lo primero que se debe hacer es arrancar la aplicacin. Para ello se deber hacer doble click en el icono de la aplicacin. Trs el arranque del sistema nos encontraremos directamente con la consola de conguracin y control (ver Figura 39). Desde aqu podremos realizar las tareas de: Saber cuntos dispositivos hay conectados. Saber de qu tipo son. Congurar algn tipo de relacin accin-reaccin entre ellos. Ver el estado de los dispositivos en Tiempo Real. Para poder comenzar a operar el sistema, el siguiente paso a seguir ser la instalacin de los dispositivos y la posterior conexin de los mismos al bus USB.

1.1 Manual de usuario

102

Figura 39: Paso1: Arranque del Sistema Una vez nalizada esta operacin, se permite al sistema que reconozca los dispositivos que tiene, los ordene en funcin si son de entrada o de salida, y nos permita darles el nombre que deseemos, a n de poder identicarlos en futuros pasos. Como podemos ver en la Figura 40, trs hacer click en el botn reconoce, se nos presenta no solo la informacin en la parte superior de la consola del nmero de dispositivos de cada tipo que se han encontrado, sino que tambin se permite, a travs de los

1.1 Manual de usuario

103

selectores laterales, atribuir o modicar un nombre a los distintos dispositivos. En el sistema ejemplo, aparecen 2 dispositivos: uno de entrada analgica (tipo termmetro) y uno de salida.

Figura 40: Paso2: Reconocimiento de Dispositivos

En el siguiente paso, se van a establecer las relaciones que denirn las interacciones entre los dispositivos. Para ello, y recordando lo ya explicado, podremos establecer relaciones de: 1 a 1 Interruptor-Enciende-Bombilla 1 a muchos (Iterruptor-Enciende-Bombilla1yBombilla2) muchos a 1 (Interruptor1eInterruptor2-Enciende-Bombilla) muchos a muchos (Interruptor1eInterruptor2-Enciende-Bombilla)

1.1 Manual de usuario

104

En el sistema ejemplo se ha optado por una relacin sencilla de 1 a 1. Como vimos antes, tenemos una entrada tipo termmetro. El sistema es capaz de detectar automticamente el tipo de dispositivo y nos permite la eleccin de un valor lmite (ver Figura 41), a partir del cual, el sistema adoptar las medidas que hayamos congurado.

Figura 41: Paso3: Deniendo las Relaciones Por ltimo, y para salvar esta relacin en el sistema, debemos hacer click en asignar. A partir de aqu, est relacin quedar alamacenada en una base de datos. Cada vez que el sistema detecte que se ha producido un cambio en alguna de las entradas, proceder a comprobar si la misma se encuentra involucrada en alguna de las relaciones almacenadas. En el caso de que se cumpla dicha relacin, el propio sistema proceder a aplicar la(s) salida(s) congurada(s). Para que el sistema comience su funcionamiento autnomo, se debe proceder al encendido del sistema haciendo click en arrancar. A partir de aqu, para ver el estado de nuestra entrada, bastar con hacer click en la lista donde aparece con el nombre que le asignamos al principio. Trs esto se nos muestran (ver Figura 42) tanto el estado de nuestra entrada justo debajo de la lista de entradas, y tambin, en la zona de infor-

1.1 Manual de usuario

105

macin, se nos muestra el tipo de relaciones que mantiene y con quin. En el caso de entradas con valores de temperatura como la nuestra, se nos mostrar tambin el valor lmite que hayamos decidido previamente.

Figura 42: Paso4: Arranque e Info del sistema

En caso de querer realizar cualquier tipo de reconguracin o ampliacin del sistema, se recomienda parar el mismo, a travs del botn stop, mientras que se conectan los nuevos dispositivos y/o mientras que se deciden las nuevas relaciones. Una vez nalizada esta operacin, volviendo a hacer click en arrancar, el sistema volver a funcionar del mismo modo, teniendo en cuenta las modicaciones y/o ampliaciones realizadas.

1.1 Manual de usuario

106

1.1.2.

Modo Avanzado

La principal diferencia que existe entre los modos Avanzado y Bsico es la funcionalidad, es decir, con el modo avanzado podemos utilizar funciones que en el modo bsico se han eliminado para una mayor simplicidad del usuario nal. En este manual se van a explicar estas diferencias, y slo stas. Para ver cmo realizar operaciones bsicas, se remite al usuario al apartado anterior de este captulo, donde encontramos el manual del modo bsico. Lo primero que vemos, como se comprueba en la Figura 43 del modo Avanzado, es un panel de control con ms funciones y con ms bloques funcionales. Se mantienen muchos elementos comunes con el modo bsico (como funciones de los botones, elementos de listas, estado de las entradas...), pero tambin se aaden otras como son las listas de operaciones y las listas de relaciones (cuadros con lineas discontinuas en la gura). El proceso de reconocimiento de dispositivos as como el de asignacin de nombres a los mismo, siguen los mismos pasos que el modo bsico. A partir de aqu, vamos a poder elegir bastantes ms operaciones de las que podamos elegir antes. Todas estas funciones las mostramos en el Cuadro 1.11. Despus de seleccionar la entrada que queramos controlar, lo que debemos es elegir alguna de las operaciones. En funcin del tipo de entrada, o bien temperatura (o analgica) o bien intrruptor (o digital), el propio sistema nos presenta las operaciones permitidas con este tipo de variable. Algunas de estas operaciones (sobre todo cuando

1.1 Manual de usuario

107

Figura 43: Vista Inicial del Modo Avanzado tenemos entradas digitales), nos permiten elegir el segundo operando de la misma, pudiendo ser un valor constante o alguna otra entrada que queramos. En otros casos, esta opcin queda bloqueada por incoherencia, por ejemplo no tendra ningn sentido la operacin AND de una seal consigo misma, o una SUMA (no digital) entre un valor digital y un nmero, etc. Para este manual, hemos congurado un sistema (ver Figura 44) que, al igual que en el modo bsico, posee 1 entrada de temperatura y 1 salida digital (luz o encendido de caldera/aire acondicionado...). Los nombres que reciben las mismas son temperatura saln y aire acondicionado.

1.1 Manual de usuario

108

Operacin > < + * / MED ON OFF AND OR NOT

Entrada A A A A A A A D D D D D

Salida D D A A A A A D D D D D

Tabla 1.11: Operaciones del Modo Avanzado Como en ejemplo, fruto de una posible situcin real, se ha pensado la relacin del tip que muestra la siguiente expresin: si temperatura saln >25 o C y temperatura saln <30 o C entonces aire acondicionado ON

1.1 Manual de usuario

109

Figura 44: Sistema Ejemplo Cada una de las primeras condiciones relacionadas con mirar la temperatura y decidir si es < >, que un valor, tienen como salida un valor digital, es decir verdadero o falso. Ambas van a generar a su vez unas seales internas al sistema (porque no corresponden con ninguna de las entradas) que pueden ser empleadas para establecer nuevas seales. Segn la Figura 45, donde hemos congurado nuestro sistema, entre la seal MAY 25 y la seal MEN 25, habr una relacin lgica, que, en caso de cumplirse, activar la salida aire acondicionado. Otras novedades que encontramos en este modo, son la posibilidad de congurar la priorizacin del escaneo de las entradas, y la posibilidad de aplicar un retardo a la

1.1 Manual de usuario

110

Figura 45: Congurando Relaciones entre Seales aplicacin de alguna de las salidas. Con la primera de estas opciones (jerarqua), podemos decidir que alguna de las entradas se compruebe con tanta frecuencia como otra. Un ejemplo de esto se ve en 2 entradas, una tipo interruptor y otra tipo temperatura. La tipo interruptor, cuando va asociada, por ejemplo, al encendido sin retardo de una luz, es casi imprescindible que se pueda leer el estado del interruptor a cada momento para que en caso de que un usuario lo active, el sistema pueda responder sin ningun tipo de retraso. En el caso de la temperatura, sabemos que no se pueden dar casos de cambios abruptos de temperatura, por lo que podemos dar una prioridad muy baja a este tipo de dispositivos, haciendo

1.1 Manual de usuario que el sistema solo compruebe el estado de estas entradas cada mucho tiempo.

111

Con la segunda de las nuevas opciones (retardo), podemos hacer que la aplicacin de una salida venga precedida de un tiempo de espera, siempre y cuando la(s) seal(es) de activacin mantenga(n) la condicin necesaria para la activacin de la salida. Como se muestra en la Figura 46, para nuestro sistema ejemplo, hemos congurado una prioridad de la entrada de temperatura de 15 segundos y un retardo en el encendido del aire acondicionado de 10 segundos. Es decir, que nuestro sistema mirar cada 15 segundos si temperatura saln est entre 25 y 30 o C. Si es as, esperar 10 segundos para que sta se estabilice. Entonces proceder al encendido del aire acondicionado.

Figura 46: Congurando Retardos y Jerarquas

1.1 Manual de usuario

112

Por ltimo, slo nos queda el encendido del sistema. Esto lo hacemos pulsando el botn On, que har que, con los parmetros que le hemos congurado a nuestro sistema, comience el funcionamiento autnomo, donde, comprobando las entradas y las relaciones entre las mismas, decide que se debe hacer.

Potrebbero piacerti anche