scieee AI-readable full text Open interactive document viewer

Repositorio Institucional de Documentos

Abstract

Para la realización del proyecto fin de carrera, se ha desarrollado un sistema electrónico capaz de adquirir varias variables ambientales, compuesto por sensores electrónicos controlado por un microcontrolador. La comunicación entre los diferentes dispositivos se ha realizado mediante el protocolo de comunicación I2C. Dentro de las diferentes variables ambientales posibles, se han escogido, temperatura, humedad, presión, luz y sonido ambiente. El usuario puede pedir al sistema cada una de estas variables y este las procesa y envía al PC donde el usuario las interpreta. El dispositivo es capaz de mantener una autonomía propia, gracias a una batería recargable, además de disponer de un sistema de carga para ésta, conectado el sistema a un bus de alimentación. La transmisión inalámbrica de datos se realiza mediante el sistema ZigBee de comunicación, capaz de enviar pequeños paquetes de datos al PC. El sistema dispone de una memoria EEPROM para almacenar datos de diferentes sensores o datos, así como una RTC para llevar un control de la fecha y hora del sistema. Primero se hizo una selección de los componentes a usar, después de haber realizado una búsqueda de las posibilidades del mercado. Se diseñó la PCB aplicando las normas de fabricación que nos imponía el taller de la universidad. Realizamos el diseño del firmware de programa para el funcionamiento del sistema. Con ello se llevaron a cabo pruebas del sistema por separado, de todos los componentes. Tras las diferentes pruebas se rediseño una nueva PCB con los problemas detectados, y por ultimo de redacto la memoria. García Muñoz, Víctor; Asensio Gimeno, Ángel

Full text

 ESTACION AMBIENTAL MULTISENSORIAL Autor: Víctor García Muñoz Director: Ángel Asensio Ponente: Antonio Bono Electrónica / Septiembre 2011 1 Índice 1.- INTRODUCCION. .............................................................................................................. 3 1.1 Objetivo. ......................................................................................................................... 3 1.2 Alcance. .......................................................................................................................... 4 1.3 Estado del arte. ........................................................................................................... 5 1.4 Búsqueda de sensores. ............................................................................................ 8 1.5 Otros sensores. ......................................................................................................... 18 2.- SISTEMAS DE ALIMENTACIÓN y BATERIAS ....................................................... 22 2.1 Introducción ................................................................................................................ 22 2.2 Tipos. ............................................................................................................................. 23 2.3 Selección batería. .................................................................................................... 26 2.4 Tabla de consumo de sensores. .......................................................................... 27 2.5 Tecnologías emergentes. ....................................................................................... 29 3.- DISEÑO DE HARDWARE. ............................................................................................ 31 3.1 Introducción. .............................................................................................................. 31 3.1 Diseño conceptual. ................................................................................................... 32 3.2 Diseño esquemático. ............................................................................................... 34 3.3 Diseño de PCB. .......................................................................................................... 46 3.4 Resultado. .................................................................................................................... 50 3.5 Coste .............................................................................................................................. 52 4.- DISEÑO FIRMWARE ...................................................................................................... 54 4.1 Requisitos. ................................................................................................................... 54 4.2 Metodología de trabajo. ......................................................................................... 58 4.3 Diagrama de flujo. ................................................................................................... 61 4.4 Descripción librerías. ............................................................................................... 65 5.- COMUNICACION. ........................................................................................................... 78 5.1 Problemática/ Necesidades. ................................................................................. 78 5.2 Estado del arte ........................................................................................................... 79 5.3 Descripción Zigbee. ................................................................................................. 84 5.4 Estructura control. ................................................................................................... 88 5.4 Metodología de puesta a punto del dispositivo. ............................................ 90 2 6.- INICIACION DEL SISTEMA. ....................................................................................... 92 6.1 Condiciones de funcionamiento, puesta en marcha. .................................. 92 6.2 Operación del sistema. ........................................................................................... 93 7.- CONCLUSIONES............................................................................................................ 95 7.1 Desarrollo del proyecto. ......................................................................................... 95 7.2 Resumen del trabajo ............................................................................................... 97 7.3 Resultados ................................................................................................................... 98 7.4 Líneas futuras. ......................................................................................................... 100 7.5 Conclusiones personales. .................................................................................... 101 BIBLIOGRAFIA ..................................................................................................................... 102 3 1.- INTRODUCCION. 1.1 Objetivo. Se pretende con este proyecto la realización de un sistema electrónico capaz de extraer información del contexto. Podemos obtener diferente información del entorno según cuál sea el lugar donde se adquieren los datos y los dispositivos de medición. Entre las diferentes variables podríamos medir situación, números de personas, estado del ambiente, actividad producida… entre otras. Es objetivo del presente proyecto, el desarrollo de un sistema, que permita extraer y analizar variables ambientales del entorno (tales como temperatura, presión, humedad, luminosidad…). Deberá disponer de capacidades de comunicación para enviar esta información a otros sistemas. El sistema a desarrollar debe de ser capaz de estar situado en cualquier lugar y no requerir una instalación complicada, por ello tiene que disponer de una alimentación independiente. Se priorizará sistemas de alimentación basados en baterías recargables, para aumentar la versatilidad del dispositivo. Está prevista la integración del sistema desarrollado en un AmI (Ambient Intelligence), este sistema electrónico introducido en un entorno son perceptibles y sensibles a la presencia de gente. En la inteligencia ambiental los dispositivos funcionan en conjunto para apoyar a las personas, que lleven a cabo sus actividades cotidianas y las tareas de una manera sencilla, utilizando la información y la inteligencia que se esconde en la red que conecta estos dispositivos Por ello se prevé la necesidad de que el nuevo dispositivo pueda interactuar con el resto de dispositivos en un entorno inteligente. Los datos obtenidos, valores físicos de variables ambientales del sistema, tienen que poderse almacenar en el propio dispositivo, ser enviados a otros dispositivos, o en el caso más típico, enviados a un sistema de procesamiento, tipo PC, en el que se analice que ha pasado en ese ambiente. El dispositivo electrónico (denominado a partir de este punto como multisensora ambiental), resultado del proyecto fin de carrera, no pretende ser un dispositivo comercializable. Los prototipos desarrollados se enmarcan dentro de un ámbito de investigación. Por ello, en las directrices que marcan el diseño no consideran críticos aspectos como coste, estética, factores de forma etc. 4 1.2 Alcance. La realización del sistema nos permitirá obtener información del estado ambiental que nos rodea, obteniendo múltiple información de valores ambientales. Pretendemos que el sistema llegue a ser autónomo, siendo colocado en cualquier lugar poder medir ciertas magnitudes ambientales, que le permitan al usuario ver que está ocurriendo y actuar sobre el entorno. 1.2.1 Objetivos. En la realización de este P.F.C. se pretende conseguir una serie de propósitos que esperamos lograr, enumerados a continuación: -Definición de los parámetros ambientales que pueden resultar de interés para la caracterización del entorno. -Medida de valores ambientales. -Autonomía del sistema que disponga de una alimentación adecuada. -Transmisión de datos inalámbrica. -Almacenamiento no volatil de datos en el propio dispositivo. -Procesamiento de la información. 1.2.2 Escenarios de uso previstos del sistema. El ámbito de aplicación de un sistema que monitorice parámetros ambientales puede ser diverso y amplio. Como sistema de monitorización ambiental dentro de un recinto cerrado, ya sea casa, oficina, almacén o similar, permite obtener las variaciones producidas en el ambiente gracias a los diversos sensores. De este modo, nos mantendremos informados del estado ambiental, con posibles alarmas. Otra aplicación posible seria para un sistema de tracking de paquetería donde podríamos hacer un seguimiento de la carga transportada y ver si su estado ha sido el adecuado o ha sido sometido a golpes o elevadas temperaturas…, según los sensores que disponga el sistema. 5 1.3 Estado del arte. Nuestro sistema multisensora ambiental, nos deberá dar información de la situación que nos rodea. Conseguir este tipo de información, es una acción que desde hace tiempo la humanidad viene realizando. La obtención de datos del entorno es algo muy común, sobre todo con parámetros ambientales, para predicción del tiempo. Esto no quiere decir que nuestro sistema sea una estación meteorológica, es algo más allá, que nos da información del ambiente que nos rodea y actuamos sobre él. El sistema a diseñar, dada la naturaleza de alguno de los parámetros a monitorizar, a priori tiene una similitud con estaciones meteorológicas al uso. Por ello, es necesaria una referencia inicial a las mismas. Con la evolución de la meteorología surgen este tipo de instalaciones destinadas a medir y registrar regularmente diversas variables meteorológicas, mediante diferentes instrumentos. Tradicionalmente, estos datos se utilizan tanto para la elaboración de predicciones meteorológicas a partir de modelos numéricos como para estudios climáticos. En la línea, del sistema a desarrollar, actualmente es posible encontrar en el mercado, soluciones electrónicas de medición meteorológica: Estaciones meteorológicas integradas domesticas: Desde no hace muchos años, han surgido unos dispositivos electrónicos de pequeño tamaño que los usuarios pueden adquirir y así obtener valores meteorológicos básicos, como temperatura, humedad y presión llegando a realizar una pequeña predicción del tiempo a corto plazo. Entre las varias empresas dedicadas a la comercialización destaca una llamada Oregon Scientific [1] que se encarga de realizar y comercializar estas estaciones Estación meteorológica 6 meteorológicas. Puedes obtener varios puntos de adquisición de datos, a si exterior como interno. Estaciones amateur ambiental: Un conjunto de sensores como, presión, humedad, temperatura etc, soldados en una pequeña PCB y que trasmite los datos a un ordenador. No es un sistema de predicción pero nos permite obtener el valor actual del ambiente. Algunos tiendas de internet como Sparfunk ofrecen varios de estos dispositivos juntos o por separados, para disposición del cliente realice sus propios sistemas. [2] Otro ámbito, en el que es posible encontrar sistemas con características similares al que se pretende desarrollar, es en el de los sistemas inteligentes domóticos. Las casas inteligentes pretenden tener el control automático de todos los sistemas de las viviendas, ya sea el control de iluminación, calefacción, seguridad, aperturas de puertas… Para ello se requiere un sistema de automatización de baja potencia e integrado, un conjunto de sensores que monitorean las variables ambientales. [3] Estación integrada domestica Placa PCB Sensores ambientales 7 Como se ha comentado en la introducción, la utilización de sistemas, dotados de amplias capacidades de monitorización también se da en aplicaciones de Trackers. Estos son dispositivos seguidores de desplazamiento de paquetes, alimentación y en general cualquier elemento que requiere un transporte de un sitio a otro. Para ello se introduce un dispositivo dentro de la carga y se va recopilando información de las variables que podamos medir. Presión, temperatura humedad, aceleraciones, posicionamiento…. Que nos permita ver si la carga ha sufrido algún percance o maniobra que pueda causar daño a la carga. [4] Nuestro sistema nos permitirá almacenar los datos obtenidos y también transmitirlos para poder actuar sobre otros dispositivos, según los valores obtenidos. Podrá llevar a cabo una determinada tarea según la información que den los sensores e incluso activar alarmas. Dispondremos de una temporización para establecer fecha y hora, situándonos en un momento temporal concreto. Central domótica Sistema de Trackers 8 1.4 Búsqueda de sensores. Un sensor es un dispositivo que transforma una variable física, en un valor eléctrico para un uso determinado. Inicialmente se plantean una serie de magnitudes a medir: 1.4.1 Presión. La presión es la magnitud física que nos da la fuerza aplicada sobre una superficie. Para la medida de presión atmosférica la unidad en el S.I. es el Pascal (Pa) que es equivalente a una fuerza total de un Newton actuando uniformemente en un metro cuadrado. Se pretende: Medida de presiones en torno a 1 atmósfera. Siendo este el valor equivalente a la presión que realiza la atmosfera a nivel del mar. Con esta información es posible medir valores ambientales y poder llegar a calcular la altura que se encuentra el dispositivo respecto el nivel del mar, tras la realización de una cuenta. A continuación se muestra la tabla con las características de los sensores considerados: Tabla 1 Sensores de presión. Sensor Tipo Tensión Corriente Precio Rango Resolu ción SCP1000 Presión 2.4-3.3V 25µA 24.46€ 30- 120kPa -30- 85ºC I2C 1.5 Pa 19 bits, SSCDNND1 50PA7A3 Presión 3.3-5V 2.1mA 6-1000 KPa I2C +-2% 12 bits Hp03 Presión 2.2-3.6V 500µA 21.78€ 30- 110KPa, I2C 10Pa 16bits 15 1.4.6.4 TSL2561 de TAOS. Sensor de luminosidad con buenas prestaciones y ya usado con anterioridad en otros montajes por el grupo de HOWLab, nos proporciona el dato, tras una cuenta previa en luxes, el ISL29002 de prestaciones similares y similar precio, pero nos decantamos por el primero por su implementación con anterioridad en otros proyectos que se deseaban mismas características. Especificaciones: Alimentación: 2.7 ~ 3.6V Consumo mínimo (sleep): 3.2 μA Consumo (medida): 0.24mA Consumo medio: 0.70mW Comunicación: Digital I2C Temperatura de almacenamiento: -30 ~ +70ºC Resolución: 16 bits Tiempo de respuesta: 100 ms Luminosidad: Programable analógico de ganancia y la Integración Tiempo de Apoyo a 1.000.000 a 1 rango dinámico Rechaza 50/60-Hz Iluminación Ondulación Encapsulado TSL2561 16 1.4.6.5 SPM0408HE5H. Microfono analogico de tecnologia CMOS MEMS con pequeña etapa preamplificadora interna. Salida de continua de 1 voltio debido a su alimentacion simple pudiendo mantener la onda completa y no recortada. Especificaciones: Alimentación: 1.5 ~ 3.6V Consumo máximo: 0.35mA Comunicación: Analógica Temperatura de almacenamiento: -40 ~ +100ºC Sensibilidad: 22dB. Omnidireccional. Tras la selección de estos componentes, algunos de ellos costo bastate tiempo su adquisicion, debido a la dificultad de encontrarlos en paginas normales y su sistema de envio. Mientras se llevo a cabo la realizacion del proyecto aparecieron en el mercado nuevos sensores, que tambien podrian realizar la misma funcion que los seleccionados, incluso de mejores prestaciones, como se muestran a continuacion. Encapsulado MEMs de SPM0408HE5H 17 Novedades, sensores que aparecen después de la elección, la mayoría de tipo MEMS: Tabla 6 Otros sensores. Sensor Tipo Tensión Alimentación Corriente Rango Resolución MPL115A2 Presión 2.4-5.5V 10µA 50-115kPa 15Pa LPS001WP Presión 2.2-3.6V 190 µA 30-110KPa 6.5Pa 16bits MS5611- 01BA01 Presión y temperatura 1.8-3.6V 12.5 µA 1-120KPa -40- 85ºC 1-6pa +-0.01ºC 24 bits SHT25 Temperatura y humedad 2.1-3.6V 300 µA 0-100%RH -40 -123 ºC I2C +-0.04%, +-0.01ºC 12-14 bits 18 1.5 Otros sensores. Durante la realización del estado del arte, se contemplaron otras variables ambientales que podrían aportar valor adicional. Permitirían una mayor obtención de información del estado del ambiente que rodea al sistema. Se ha realizado la valoración inicial de los requisitos de uso de estos sensores que se muestran a continuación. Aunque la información que estos sensores aportan, pueda ser de interés, se ha considerado, centrar el presente proyecto, en los parámetros de interés contrastados. Midiendo solo las variables que se han considerado básicas en el ambiente. 1.5.1 Sensores QC50 de colores reales. Dispositivos capaces de detectar colores reales, usados para detectar el color de posibles elementos, analiza y compara un color a otro color, o intensidades variables de un color. Un uso posible de clasificación de botellas por color. [5] 1.5.2 Sensor de color 10-30 VDC. El sensor de color de la serie LX-100 representa la combinación perfecta de un conversor A/D de alta resolución (12 bits) y la función de selección automática de color y del led emisor. [6] Sensor QC50 colores reales 19 1.5.3 Sensor de área 10-30 VDC. Dispositivo creado para detectar la presencia de objetos delante de él, de pequeño tamaño a partir de haces de luz LED. Se pueden poner para detectar obstáculos a si como protección de personas. [7] 1.5.4 Sensor calidad de aire TGS 2600. Tiene alta sensibilidad a los varios contaminantes gaseosos del aire tales como los gases encontrados en humo del cigarrillo, sensibilidad a los compuestos orgánicos volátiles (VOCs) y a los gases olorosos (tales como H2S). Se puede interconectar con los sistemas de la ventilación y de aire acondicionado para proteger el aire que usted respira. [8] Sensor color 10-30 VDC Sensor área 10-30 VDC 20 1.5.5 Sensor térmico TPA81. Es un sensor térmico de 8 píxeles capaz de medir la temperatura de un objeto a distancia. Este sensor está formado en realidad por una matriz de 8 sensores colocados linealmente de forma que puede medir 8 puntos adyacentes simultáneamente. El sensor térmico no necesita que haya movimiento para detectar el calor, por lo que su aplicación en el campo de la robótica, abre gran cantidad de aplicaciones no disponibles hasta ahora. El sensor se conecta por bus I2C y además se le puede conectar un servo estándar que es controlado por el propio sensor para hacer un barrido y tomar 32 mediciones diferentes, obteniéndose un mapa térmico de 180 grados. El TPA81 es capaz de detectar la llama de una vela a 2 metros de distancia y además no le afecta la luz ambiental. [9] Sensor calidad de aire TGS 2600 Sensor térmico TPA81 21 1.5.6 Sensor detector de movimiento PIR. El sensor detector de movimientos por infrarrojos, pequeño tamaño y bajo consumo. El sensor incluye una lente tipo fresnel de plástico que le proporciona un alcance de 5 metros y un ángulo de detección de 60 º. La señal de salida es compatible TTL y la alimentación es de 5V con un consumo de tan solo 350 uA mientras esta en reposo. Reducidas dimensiones de solo 25 x 35 x 18 mm. [10] Sensor detector de movimiento PIR 22 2.- SISTEMAS DE ALIMENTACIÓN y BATERIAS 2.1 Introducción Se pretende tener un dispositivo electrónico con autonomía propia basado en batería recargable. También se contempla la posibilidad de que pudiera ser conectado directamente a un bus de alimentación externo. A la hora de realizar el desarrollo del sistema, será necesario conocer las diversas tecnologías de almacenamiento eléctrico disponibles en el mercado. Una batería, es un elemento electroquímico que almacena energía. Esta energía química al conectarse a circuito eléctrico se transforma en energía eléctrica. La constitución de las baterías es similar en todas ellas. Compuestas por un numero de celdas electroquímicas, un electrodo pósito y negativo y entre ellas un separador. Al estar conectada se produce una reacción química entre los diferentes electrodos, haciendo circular a los electrones del electrodo positivo al negativo vía un circuito externo. En general, los diferentes tipos de baterías, son debidos a las diferentes materias que las componen. Estas suelen llamarse por el material usado para su fabricación (Níquel−Hierro, Litio−Hierro). Otras baterías toman el nombre según el material hallado en los electrodos y del tipo de electrolito utilizado. La mayoría normalmente son baterías de ácido de plomo. El material activo utilizado determina el voltaje de las celdas y el número de celdas determina el voltaje total de la batería. Actualmente pueden encontrarse, diferentes tecnologías. Las baterías de ácido de plomo tienen un voltaje nominal de unos dos voltios. La mayoría de baterías de coche se componen de seis celdas y por ello tienen una tensión de doce voltios. 23 2.2 Tipos. 2.2.1 Alcalinas. Poco comunes en tipo recargable. Aportan una tensión de 1.5 voltios. Difíciles de encontrar en el comercio, por su cargador especial necesario. 2.2.2 Níquel. Muy habituales, proporcionan tensiones de 1.2 voltios. Contienen cadmio, un metal pesado que representa un peligro ecológico. Exteriormente tienen la misma forma y tamaño de las pilas. Interiormente tienen dos electrodos, el de cadmio (negativo) y el de hidróxido de níquel (positivo), separados entre sí por un electrolito de hidróxido de potasa. Llevan también un separador situado entre el electrodo positivo y la envoltura exterior y un aislante que las cierra herméticamente. Baratas, ya que estas puedes recargarlas, sin tener que cambiarlas como las alcalinas e ir comprando cada vez pilas nuevas. Tienen efecto memoria. Antes de recargarlas es preciso haberlas agotado totalmente ya que en caso contrario su vida se va acortando. 2.2.3 Níquel−Hidruro Metálico. Este tipo de baterías ofrecen un 40% de autonomía suplementaria respecto a las de NiCd de un volumen equivalente (mAh). Son un poco más ligeras y no tienen efecto memoria y una vida media de unos 800 ciclos de carga. Se usan habitualmente portátiles y teléfonos móviles. Pila alcalina 24 2.2.4 Litio−Ion. Estas baterías tienen un gasto de producción elevado y muy costoso que se refleja en su precio final. Su ciclo de vida se sitúa entre los 500−600 ciclos. Sin embargo son mejores y más duraderas que las baterías de Ni/Cd o Ni/MH. Recomendada para usos exigentes. 2.2.5 LIPO. Baterías de litio y polímero, última novedad en baterías, de peso reducido y pequeño tamaño. Sin efecto memoria. No pierden rendimiento como se pueden apreciar en las de Ni-Cd o Ni-Mh y mantiene la carga constante hasta casi el final de la carga. Necesitan un cargador específico que balanceen la carga de sus celdas por separado. Nunca se debe dejar que se agote completamente la carga, ya que eso supone la muerte de la batería. La batería está compuesta de celdas, y cada celda tiene un valor nominal de 3.7V. Estas baterías necesitan para funcionar correctamente que todas sus celdas tengan la misma carga exacta. Por eso necesitan cargadores totalmente diferentes a los usados para las Ni/Cd o Ni/Mh. Estos cargadores se encargan de balancear todas las celdas de la batería durante la carga para que tengan el mismo voltaje cada una de ellas. Estructura de una batería de Li-Ión 31 3.- DISEÑO DE HARDWARE. 3.1 Introducción. La realización del sistema conlleva un estudio global de todas las partes del sistema. Tras a ver decidido que componentes se van a usar en el desarrollo del mismo, se va a realizar un diagrama de bloques del sistema. En este se van a poder observar a groso modo cada uno de los bloques más importantes que componen el dispositivo y su conexión entre cada una de ellas. Tras la realización de una breve explicación de cada bloque se entrará en detalle en cada apartado, explicando las partes que lo componen y su utilidad. 32 3.1 Diseño conceptual. Descripción de cada uno de los bloques. 1- Alimentación: El sistema se alimenta a través de una etapa de potencia, que pueda ser alimentada con un bus externo o un batería recargable. La batería recargable de 3.7V, nos permitiría obtener una tensión de alimentación de los integrados de 3.3 V para todos ello. 2- Etapa de control: Nos basaremos en una microcontrolador que sea capaz de controlar todos los dispositivos mediante el protocolo I2C de comunicación serie. 3- Dispositivos o sensores: Permitirán medir todas las variables ambientales (presión, humedad, aceleración, luz…) y almacenarlas en un memoria. 33 4- Comunicación: El sistema mandara sus datos al exterior mediante un dispositivo inalámbrico que permitirá volcar toda la información obtenida a un dispositivo externo para analizarla. Para la comunicación inalámbrica utilizaremos el dispositivo Zigbee, mucho más seguro, rápido y de menor consumo como otros como puede ser el Bluetooth. ZigBee es el nombre de la especificación de un conjunto de protocolos de alto nivel de comunicación inalámbrica para su utilización con radio digital de bajo consumo, basada en el estándar IEEE 802.15.4. Usado para aplicaciones de comunicación de baja tasa de datos y permitiendo un mayor duración de las baterías. 5- Temporización: Nos permitirá controlar en cada instante el momento de medición y control de los sensores y así nos permitirá mantener dormido el resto de los dispositivos para una bajo consumo del mismo. Algunos microcontroladores de microchip llevan incorporado este sistema. No es el caso y por ello se ha decidió usar un circuito integrado con control de tiempo que nos proporcione una RTC (Real time clock), un reloj de ordenador que nos informe de la hora actual. Estas unidades nos permitirían dormir el sistema entero a la espera de una alarma. El DS3231 de bajo costes y conexión I2C nos permitirá conectarlo al mismo bus serie que el resto de sensores. Dispone de salida para alimentación por batería independiente, además de fecha completa y dos alarmas. 6- Almacenamiento: Una unidad que podrá guardar toda la información de los sensores o datos necesarios, para después puedan transmitida mediante el sistema de comunicación. Para guardar los datos de sensores, valores y otros datos necesarios necesitaremos una EEPROM. Los nuevos DSPIC no incorporan memoria EEPROM de almacenamiento, por ello nos vemos obligados a usar un circuito externo. Actualmente se empiezan a usar las nvRAM muy similares a las EEPROM pero que conservan el dato, memorias de acceso aleatorio no volátil. Este tipo de memorias suele ser flash, usadas actualmente en teléfonos móviles. 34 3.2 Diseño esquemático. El sistema diseñado tiene la estructura vista anteriormente en el apartado de diagrama del sistema, donde hemos visto los cinco principales bloques que constan el sistema alimentación, sensores, temporización, comunicación, almacenamiento y etapa de control. Estos apartados han sido desarrollados en un esquema general del circuito, con todos los componentes que lo componen. Ahora pasaremos a explicar parte por parte toda la estructura del esquema desarrollado, explicando que desempeña cada uno y todos los componentes que lo componen. 3.2.1 Cargador de batería. El sistema necesitará de una parte que cargue la batería mediante un bus de alimentación externa, permitiendo recargar la batería cuando esto sea necesario. Para ello a través de un transistor MOSFET NDS8434 se inyecta corriente a la batería, dejando pasar la corriente que sensa la resistencia. El MOSFET es controlado por puerta por el MCP73841-4.2 que activa o no el transistor dependiendo de si la tensión de la batería baja por debajo de un determinado valor. También disponemos de un diodo de protección a la entrada de la alimentación por si conectamos la tensión al revés. El integrado de gestión de carga, está dotado de un medidor de tiempo para que la carga de la batería no sea permanente y corte a un cierto tiempo. Figura 1 35 Circuito de carga de batería, inyecta corriente través de NDS8434, interruptor JFET controlado por MCP73843-4.2 por el PIN8 (DRV) que activa o no el JFET, que estabiliza la carga de la batería. D1 bloquea que se pueda conectar la entrada al revés. C1 10uF filtra al entrada de alimentación externa. C4 10uFfiltra la salida de tensión a la batería. C7 100nF realiza un temporización para que no esté constantemente metiendo corriente. R1 0.1 OHM sensa la corriente introducida en el JFET. Entre Vdd- Vsense=0.1V, es decir con esa resistencia deja pasar 1A. R3 100K habilita el dispositivo. D2 Diodo LED de visión de ON de la activación del integrado MCP73843-4.2. FDS4435BZ debido a que solo aguanta Pmax=2.5W y a través de él pasa 1A, corriente de carga de la batería que deja pasar la resistencia de sensado. Si lo alimentamos al máximo que permite los integrados de 12 voltios se destruiría, necesitaría un disipador, ya que: P=V x I = (Vin-Vout) x I = (12-4.2) x 1= 7.8 vatios. Así sólo podemos alimentar el circuito externamente con 2.5 voltios por encima de la salida para no sobrepasar la potencia máxima que soporta, si no queremos ponerle un disipador externo. Esto nos permitirá alimentar el circuito a un máximo de unos 7 voltios teniendo en cuenta la caída de tensión en el diodo de protección. 3.2.2 Regulador de tensión. La batería conectada de 3.7 voltios que suministra la corriente a todos los dispositivos del sistema deberá ser regulada a 3.3 voltios, tensión de alimentación de todos los dispositivos. El regulador TC1015-3.3 proporciona a la salida los 3.3 voltios, dispone de una patilla (pin 3) de control para anular la salida del mismo, por si no nos interesa que haya una tensión inferior a esta. Los dispositivos funcionan todos a 3.3V, pero no todos tienen el mismo rango de operación. Por ejemplo el Zigbee puede actuar hasta 2.6 voltios y el micro solo 3 voltios, por ello se debe cortar el 36 suministro de tensión por debajo de un valor que impide el mal funcionamiento del sistema. Esto es controlado por el MCP-111-315 que cuando detecta que la tensión de la batería está por debajo de 3.15, corta al regulador impidiendo trabajar al sistema por debajo de esta tensión, hasta que esta vuelva a subir, cuando la batería se cargue. El TC1015-3.3 regulador de tensión de la batería a 3.3V, tensión de alimentación de todos los componentes del proyecto. El MCP 111-315 esta como sistema de protección para impedir que el regulador baje por debajo de n nivel mínimo específico y así no perder la tensión de 3.3 del resto del sistema. C8 100nF condensador de desacoplo. C9 2.2uF se crea un filtro de paso bajo para reducir el ruido de tensión de referencia y, por tanto, el ruido en la salida del regulador C11 10nF estabilizar la salida del regulador. R7 10K debido al drenaje abierto de la salida del integrado MCP 111-315, resistencia de pull-up. 3.2.3 Microcontrolador. El microcontrolador es el sistema de cálculo y control principal del sistema. Es un computador completo, aunque de limitadas prestaciones, que está contenido en el chip de un circuito integrado programable y se destina a gobernar una sola tarea con el programa que reside en su memoria. Sus líneas de entrada/salida soportan el conexionado de los sensores y actuadores del dispositivo a controlar. Integran memoria interna para almacenamiento de datos. Los microcontroladores PIC de Microchip Technolohy Inc. combinan una alta calidad, bajo coste y excelente rendimiento. Un elevado número de estos microcontroladores son usados en una gran cantidad de aplicaciones Figura 2 37 tan comunes como periféricos del ordenador, datos de entrada automoción de datos, sistemas de seguridad y aplicaciones en el sector de telecomunicaciones. Microchip dispone de una amplia familia de chips de 16 bits tenemos PIC24F PIC24H dsPIC30F y dsPIC33F, ante una familia pic o dspic esta ultima la más reciente de microchip tiene una arquitectura de uso digital como su nombre indica (Digital Signal Processing), una nueva forma de tratar señales digitales. El dispositivo seleccionado, pic24fj16ga002 dispone de oscilador interno, pudiendo llegar a trabajar el sistema hasta a 80 MHz, de modo que no es necesario el uso de un cristal externo. Para llevar a cabo la programación del micro se utilizan los pines PGD y PGC, junto al MCLR. Se ha utilizado el conversor A/D de 10 bits, para entradas analógicas tanto para el monitor de la batería, como para la entrada de audio. El uC se comunica con todos los sistemas externos con él mediante sus respectivos métodos de comunicación. En este caso hemos usado puerto serie I2C (SCL y SDA) para comunicarnos con los sensores y demás chips de almacenamiento y control de tiempo. Puede comunicarse a 400 Kbps Necesita de dos resistencias de pull-up para cada línea para su correcto funcionamiento, típicamente de 10k ohm. Las líneas de transmisión deben ser lo más cortas posibles. Es un sistema creado por Philips que tiene un sistema concreto de comunicación de datos, primero se inicia la transmisión START, con unos determinados cambios de las líneas de reloj y datos, después se indica la dirección del dispositivo correspondiente, indicamos si se quiere leer o escribir, la dirección de memoria, se lee o se escribe en la dirección indicada y por último se finaliza la conexión STOP, con un sistema similar al de START. Comunicación SPI de sensor de presión SCP1000 debido a que la versión adquirida no disponía de I2C, usando las entrada salida MOSI/MISO, el reloj SCK y la activación del mismo con CSB. El Bus SPI es un estándar de comunicaciones serie de dispositivos electrónicos. Es un estándar para controlar casi cualquier dispositivo electrónico digital que acepte un flujo de bits serie regulado por un reloj, dato entrante, dato saliente y un pin de selección que conecta o desconecta la operación del dispositivo con el que uno desea comunicarse. El bus SPI de comunicación bidireccional pero usando doble línea, una 38 para cada dirección, es más rápido que el I2C, pero usando mayor numero de pines. Tiene un protocolo de comunicación bastante sencillo. Consumo bastante bajo, menor que I2C. Para comunicarnos con el exterior disponemos de la UART (TX y RX) puerto serie de transmisión y recepción de datos que usaremos para el Zigbee. Para este sistema el propio programador del micro ya tiene sus propias instrucciones, para enviar y recibir datos. Tiene distintas velocidades de transmisión desde 100 a 256000 Kbps Usamos el microcontrolador PIC24FJ16GA002 para llevar a cabo el control de todos los dispositivos (sensores, memoria....), así como realizar todas las operaciones necesarias. R3 10K pull-up, deshabilita el MCLR. R4 y R6 100K divisor resistivo para control de tensión de batería a pin 26 entrada analógica. R8 10k pull-up pin18 (SDA) para la línea de I2C. R9 10k pull-up pin17 (SCL) para la línea de I2C. Figura 3 39 Pin 11 y 24 salida y entrada respectivamente (TX y RX) para conexión de rs232. Pin 4 y 5 (PGD y PGC) para programación del micro. Pin 6, 7, 14 y 15 para comunicación SPI. Pin 16 interrupción Zigbee. Pin 25 entradas de conversor A/D del micrófono. 3.2.4 Comunicación Zigbee. Dispositivo de transmisión inalámbrica, que se comunica con el exterior según lo explicado en el apartado posterior de comunicación. Este está conectado con el micro por el puerto serie UART, dispone de sistema de programación, para actualizar su firmware, o posibles problemas. Dispone de una patilla de interrupción para actuar sobre el microcontrolador. Dispositivo de comunicación inalámbrica Zigbee ETRX3, nuevo modelo de Telegexis, dispone de una antena cerámica, que transmite a 2.4Ghz802.15.4. Alimentado a 3.3v, un consumo de 40mA y 08uA en reposo. Figura 4 40 ZB_TX pin 17 y ZB RX pin 18 transmisión de datos con microcontrolador. ZB_INT pin25 de interrupción ZB_boot pin 15 de programación de Zigbee ZB_RST pin 7 de reset. C13 100nF condensador de desacoplo. 3.2.5 RTC (Real Time Calendar). Unidad de control temporal DS3231, tiene un sistema de calendario de horas, minutos, segundos, día, mes y año, además dispone de dos alarmas. Opera a 3.3V, 200uA de corriente activa, 100uA en espera. Conexión mediante el puerto I2C con el microcontrolador. Dispone de una patilla de batería por si se pierde la alimentación mantenga la fecha el sistema, con oscilador interno y poder despertar al micro con una posible interrupción, con una de sus alarmas. C16 1uF condensador de desacoplo. 3.2.6 Memoria no volátil. Dispositivo de almacenamiento nvRAM FM24CL04, memoria de acceso aleatorio no volátil, la cual no pierde la información al cortar la alimentación, de material ferro-eléctrico con 4Kb organizada de 512x8. En la primera versión se uso la memoria nvRAM. Figura 5 47 Segundo prototipo Primer prototipo 48 3.3.2 Desarrollo. Para el desarrollo de la PCB se ha usado, el programa de CAD electrónico, Altium Designer. Como es habitual, hasta alcanzar el resultado final con un tamaño de de 55x50mm han sido necesarios sucesivos diseños intermedios. En las imágenes anteriores podemos ver la evolución que ha tenido la misma. En la cara Bottom se ha dispuesto en la parte superior izquierda la etapa de alimentación para la carga de batería y alimentación del sistema. El dispositivo de transmisión inalámbrica también se encuentra en la parte inferior derecha, con la antena de trasmisión lo más alejada posible de la etapa de potencia y del resto. Se ha eliminado el plano de masa debajo de la misma, para no causar posibles interferencias En la cara Top encontramos los sensores y circuitos de almacenamiento todos alineados en la parte derecha permitiendo que el bus de I2C sea lo más corto posible y presente el menor cambio de dirección, evitando así cambios bruscos de impedancia. Para una buena comunicación del micro, con el resto de periféricos y dispositivos, este se ha situado en el centro de dicha cara. El diseño se ha realizado teniendo en cuenta las limitaciones de ruteado conforme al estándar industriallase 3.Se ha intentado ampliar donde se pueda al máximo las dimensiones, para que la fabricación fuese más sencilla, ya que el prototipo lo queríamos realizar con las herramientas que disponíamos en la facultad. Las pistas o tracks deben ser lo más directas posibles entre conexiones, en la medida de lo posible no presentar ángulos de 90° ni salientes, además de preservar una continuidad uniforme a lo largo de toda su longitud. Las dos principales características que vamos a establecer son: el ancho de pista y el espacio entre pistas o la distancia a otros elementos como pads o agujeros. El ancho mínimo de fabricar 0.4mm en forma segura. Se aconseja que la pista sea lo más gruesa que el espacio permita, mas teniendo en cuenta si esa pista va a conducir cierta corriente que llegará a ser de 0.8mm. En el caso del espacio (clearence) debemos especificar uno acorde al tipo de circuito impreso que se está diseñando. Si estamos trabajando con pistas de 0.4mm es aconsejable que el clearence sea del mismo valor. Si no hace falta que estén tan cerca, este valor debe ser el más grande que permita el diseño. 49 Cuando procedemos a generar los archivos necesarios para el perforado, una de las primeras cosas que hacemos es ajustar los diámetros de los agujeros a valores que dispongamos para su fabricación. Las coronas, parte que rodea al agujero y sirve como soldadura, deben ser de la medida suficiente como para que el anillo que queda alrededor del agujero, sea lo suficientemente grande. Para esto se establece una distancia mínima determinada como la diferencia entre el radio del agujero y el radio del pad. Esta distancia debe ser el doble que el agujero para facilitar la soldadura. Como el diámetro de taladro metalizado de 0.6mm para todas las vías, el de corona de soldadura tendrá que ser de 0.6mm también haciendo un total de 1.2mm agujero más pad. El plano de masa debe respetar un espacio mínimo de separación a otros objetos que no pertenezcan a la misma red (net) y además deben respetar la forma de conexión y grosor de los radiales de conexión a las islas de su misma red. Para ello estableceremos dos parámetros: -Polígono clearance: Este parámetro define el espacio de aislamiento a otras nets. En este caso usaremos 0.6mm. Cuanto más alejado de este mínimo este el valor mejor, ya que se evitara posibilidades de corto circuitos entre pistas al fabricar o montar la placa. -Polígono conexión: Estos valores definen el tipo de conexión. Lo más usual es utilizar un estilo en cruz, ya sea a 90° o 45°, eso no modifica en nada. Lo que sí es importante es definir un grosor de conductor no menor a 0.254mmy no mayor a 0.5mm. El mínimo asegura una buena conexión y el máximo asegura que la disipación de calor al momento de la soldadura no sea elevada, ya que esto dará como resultado una soldadura fría o difícil de realizar. Este valor se combina con la expansión del pad y el espaciado. Clases de fabricación de PCB [13] 50 3.4 Resultado. La realización de la PCB, como se podrá ver en las imágenes siguientes, fue bastante elaborada y complicada, debido al pequeño tamaño de algunos pad de soldadura de determinados componentes. Como mencionamos antes el sensor SCP1000 de presión, fue adquirido en un kit, PCB mas conexiones ya soldado debido a su pequeño tamaño. Este sistema nos permitió su manejo con mayor facilidad, si no hubiera sido imposible su utilización por nuestra cuenta. Había otros componentes que también eran pequeños y se hizo bastante complicada la soldadura. Placa de desarrollo de PIC Bus pirate Programación micro WINPIC 800 placa desarrollo 51 Prototipo 1 cara top Prototipo 1 cara bottom 52 3.5 Coste A continuación se desglosa el coste de los componentes de la PCB. Los precios correspondes a los catálogos on-line de las páginas: www.farnell.es www.mouser.es El coste puede ser elevado debido a que se adquieren pocas unidades de cada componente, solo las necesarias para la realización del prototipo. El suministro de estos componentes no proviene de mayoristas por lo que encarece bastante el precio. Se procedió a la consulta de precio aproximado de fabricación de una PCB en empresa, para hacer un cálculo total de todo el dispositivo. [14] Como ya se ha indicado, no es objetivo del presente proyecto, los criterios de coste y productividad. Elemento Identidad particular Precio Unitario Precio Total Microcontrolador PIC24fj16GA002 2,69 2,69 Comunicación Zigbee ETRX3 18,81 18,81 Sensor presión SCP1000 25,78 25,78 Sensor temperatura y humedad SHT75 33,69 33,69 Sensor luz TSL2561 1,88 1,88 Sensor sonido SPM0408HE5H 5,01 5,01 Amplificador LM358 0,33 0,33 Real time clock DS3231 11,67 11,67 Memoria FM24Cl04 1,62 1,62 Cargador batería MCP73843-4.2 1,8 1,8 MOSFET NDS8434 3,33 3,33 Supervisor MCP 111-315 0,5 0,5 Regulador de tensión TC1015-3.3 0,4 0,4 Condensadores Multicomp 0,039 0,39 Resistencias Multicomp 0,036 0,36 Diodos TAIWAN 1607 0,25 0,5 Conector alimentación NEB_J21R 0,85 0,85 Conector batería MOLEX - 53048-0310 0,28 0,28 Batería Uniross 1080 mAh 14.46 14.46 Fabricación PCB 51.71 51.71 TOTAL 176,06 53 Como podemos ver el precio es bastante elevado, siendo que solo es un prototipo no un sistema comercial el precio se encare bastante. Si hubiéramos fabricado muchas más unidades el precio hubiera sido bastante inferior, y podría compararse con el precio de sistemas similares que podemos adquirir actualmente en el mercado. 54 4.- DISEÑO FIRMWARE 4.1 Requisitos. Los sistemas electrónicos siempre han tenido un sistema de control y procesamiento, antes de la existencia de los microprocesadores los circuitos constaban de muchos componentes electrónicos. Un circuito lógico y básico requería de numerosas resistencias, transistores etc. Todo esto cambio con la aparición de circuitos integrados que disponían dentro de ellos de componentes necesarios para una determinada tarea. Los circuitos integrados, permitieron que el diseño se hiciera más sencillo. La aparición de estos, todo sería mucho más fácil de entender y los diseños electrónicos serían mucho más pequeños y simplificados. Con los circuitos integrados aparecieron unos componentes que incluían varios sistemas dentro, microcontroladores. Un microcontrolador es un computador completo, aunque de limitadas prestaciones, que está contenido en el chip de un circuito integrado programable y se destina a gobernar una sola tarea con el programa que reside en su memoria. Sus líneas de entrada/salida soportan el conexionado de los sensores y actuadores del dispositivo a controlar. Integran memoria interna para almacenamiento de datos. Entre los diferentes circuitos lógicos integrados podemos encontrar. 4.1.1 ASIC. Circuito Integrado para aplicaciones específicas. Es un circuito integrado hecho a medida para un uso particular, en vez de ser concebido para propósitos de uso general. Es evidente que usar un circuito integrado a medida aumentaría el coste en gran medida por eso se descarta esta opción. 4.1.2 FPGA. Dispositivo semiconductor que contiene bloques de lógica cuya interconexión y funcionalidad se puede programar. La lógica programable puede reproducir desde funciones tan sencillas como las llevadas a cabo por una puerta lógica o un sistema combinacional, hasta complejos sistemas en un chip. Los FPGAS se utilizan en sistemas similares a los ASIC pero consumen más y son más lentos. 55 4.1.3 Microprocesador. Un microprocesador es una dispositivo que solo realiza procesamiento de datos cuando se precisa de gran capacidad de procesamiento, se usan en los ordenadores o sistemas que requieren hacer gran cantidad de cálculo de datos. Sobre estos sistemas actúan 3 buses de información diferentes. Bus de direcciones, que indica el registro sobre el que actuar, un bus de datos que transmite la información y un bus de control que indica a quien va dirigido, dispositivos, memoria, controladores, sensores… este dispositivo no es como el microcontrolador que ya tiene todos los dispositivos integrados en uno. 4.1.4 Microcontrolador. Los uC disponen básicamente de una unidad de control o procesamiento, una unidad aritmético lógica o centro de cálculo, memoria para la programación de la tarea RAM y ROM, sistema de almacenamiento EEPROM de datos adquiridos, reloj interno que controla la frecuencia de funcionamiento, entras y salidas para comunicación serie o paralelo, sistemas de temporización, entre otras. En el mercado hay varios tipos de uC y cada uno con su forma de control. Estructura conexión microcontrolador 56 Dentro de los tipos de micros podemos elegir entre micros de 8 o 16 bits, con uno de 8 bits nos bastaría para lo que pretendemos realizar pero visto que los de 16 bits son de precio similar y mayor rendimiento. Existen micros de 32 bits, pero se nos quedan muy lejos ya que no pretendemos controlar ningún dispositivo de de gran potencia, ya sea audio video u otro similar. Varios fabricantes ofrecen uC entre ellos estos son los más destacables. 4.1.4.1 MOTOROLA-FREESCALE. La elección de un MICROCONTROLADOR MOTOROLA-FREESCALE frente a sus homólogos, se debe a características tales como su bajo precio, velocidad, reducido consumo de energía, tamaño, facilidad de uso, fácil programación y lo mejor de todo son los recursos que la gran mayoría de estos microcontroladores presentan a la hora de diseñar cualquier aplicación. 4.1.4.2 TEXAS INSTRUMENT. Microcontroladores de ultra baja potencia, soluciones de alto rendimiento de diseño embebido para control en tiempo real y con procesadores ARM, el modelo MSP430 de 16 bits, con precio de un 8 bits, ofrecen una mayor memoria RAM que el resto. Micro de Motorola Micro de Texas Instrument 63 4.3.2 Comprobar si hay dato. El programa entra en un bucle cerrado, en el que se espera a recibir un paquete de datos, para procesarlos y ver que deseamos obtener. Si no esperar que se acabe la temporización Para el envió de datos se ha elegido el protocolo de OSGI4AMI, que manda una serie de estructura de datos seguidos, con un cierto orden y siempre igual, para después dividir el comando en partes y interpretar cada una. A si el programa actúa según la orden recibida. En el siguiente esquema se muestra como es el comando de envió de datos del PC al nodo y del nodo al PC. 64 A continuación se muestra el protocolo de envió de datos, la estructura de paquete. PC >> nodo (Comandos) 1 Byte 1 Byte 1 Byte 1 Byte N Bytes END_POINT CLUSTER_ID LENGTH COMMAND DATA HEADER PAYLOAD END_POINT Identificador interno del dispositivo lógico CLUSTER_ID Grupo de atributos en el que se encuadra el mensaje LENGTH Longitud del Payload (N+1) COMMAND Comando para el nodo, específico del cluster DATA Parámetros del comando PC << nodo (Eventos) 1 Byte 1 Byte 1 Byte 1 Byte N Bytes END_POINT CLUSTER_ID LENGTH EVENT DATA HEADER PAYLOAD END_POINT Identificador interno del dispositivo lógico CLUSTER_ID Grupo de atributos en el que se encuadra el mensaje LENGTH Longitud del Payload (N+1) EVENT Respuesta del nodo, específico del cluster DATA Parámetros del comando 65 4.3.3 Temporización y medida de sonido ambiente. Cada vez que se termina la temporización interna del micro establecida, se comprueba el sonido ambiente y se almacena el dato para después sea adquirido por usuario cuando lo desee. 66 4.4 Descripción librerías. Para documentar el código fuente, se utiliza Doxygen como herramienta de apoyo. Este software permite incluir en el código fuente diferentes sintaxis de comentarios, que posteriormente utiliza el asistente para generar una amplia documentación en formato .html. A continuación se incluyen los reports generados separados por librerías y siguiendo la estructuración de capas. 4.4.1 Ambiental. Funciones/ descripción void main (void) Program initialization and main loop. 4.4.2 AmbientalAMI. Funciones/ descripción void parseo (int8 * buffer,int8 nData) Parsing function of action choice. Parameters: *bufferPointer vector data nData number of data 4.4.3 ZB_ATLibrary301. Funciones/ descripción void ZB_GeTPowerLevel (void) Ask for the supply voltage of the device. void ZB_NETDisassociate (void) Disassociate Local Device From PAN. void ZB_NETJoin (void) Join Network. void ZB_SSink (void) Search For A Sink. void ZB_SendToSinkD (int8 nDatos, int8 *Datos) 67 Send data in binary to the Sink. Parameters: nDatos number of data to send. *Datos pointer to a byte array with the data to send. char hex2char (int8 AuxHex) Convert hexadecimal to char. Parameters: AuxHex number in hexadecimal. Returns: return char converter void ZB_SendToAddress (int8 nDatos, int8 *Address, int8 *Datos) Send data in binary to Address. Parameters: *Address direction to send. nDatos number of data to send . *Datos pointer to a byte array with the data to send. void ZB_StartUpNet (void) Connect the Zigbee device to the preconfigured network. void ZB_TGBootloader (int8 ZB_Bootlader_Type) Function to configure the Zigbee device the first time void ZB_PowerMode (int8 PowerMode) Change the power level. PowerMode Put one power mode label. void ZB_PowerConf (int8 PowerMode) Change the power mode. PowerMode Put one power mode label. 4.4.4 Store. Funciones/ descripción int8 read_nvRAM (int8 Address) Function to read 1 data of nvRAM. Address direction of read. Returns: data read. int8 readn_nvRAM (int8 Address, int8 nDatos) 68 Function to read n data of nvRAM. Parameters: Address direction of read nDatos number of data to read. Returns: pointer of the first data. void white_nvRAM (int8 Address, dato) Function to write 1 data in nvRAM. Parameters: Address writing direction. dato data to write. void whiten_nvRAM (int8 Address, int8 nDatos, int8 *datos) Function to write n data in nvRAM. Parameters: Address writing direction. nDatos number of data to write. *datos pointer writing direction vector. 4.4.5 Time. Funciones/ descripción void set_hour (int8 hr, int8 min, int8 sec) Function set RTC hours. Parameters: hr hours . min minutes. sec seconds. void read_hour (int8 &hr, int8 &min, int8 &sec) Function gets RTC hours. Parameters: &hr value hours &min value minutes &sec value seconds void set_date (int8 dow, int8 day, int8 mth, int8 year) Function set RTC date. Parameters: Dow day of week 69 day mth month year void read_date (int8 &dow, int8 &day, int8 &mth, int8 &year) Function gets RTC date. Parameters: &Dow value day of week . &day value. &mth value month . &year value. 4.4.6 DS3231. Funciones/ descripción int8 DS3231_bin2bcd (int8 binary_value) Converts binary number to bcd. Parameters: bcd_valueBcd number to be converted. Returns: Number converted to binary int8 DS3231_bcd2bin (int8 bcd_value) Converts bcd number to binary. Parameters: binary_value Binary number to be converted void DS3231_Set_Mode (int8 mode) Set mode. Parameters: mode Select to mode function int8 DS3231_Read_Status (void) Read device status. Returns: Device status void DS3231_Set_Date (int8 dow, int8 day, int8 mth, int8 year) Sets date. Parameters: Dow Day of the week 70 Day Mth Month Year void DS3231_Get_Date (int8 &dow, int8 &day, int8 &mth, int8 &year) Sets date. Parameters: &dow Day of the week address &day Day address &mth Month address &year Year address void DS3231_Set_Time (int8 hr, int8 min, int8 sec) Sets time. Parameters: hr Hours min Minutes sec Seconds void DS3231_Get_Time (int8 &hr, int8 &min, int8 &sec) Gets time. Parameters: &hr Hours address &min Minutes address &sec Seconds address void DS3231_Set_TimeSec (int32 secs) Sets time using the second of the day. Parameters: secs Second of the day void DS3231_Get_TimesSec (int32 &secs) Gets time of the day in seconds. Parameters: &secs Second of the day address void DS3231_Set_Alarm (int8 NumAlarm, int8 day, int8 hr, int8 min, int8 sec, int8 config) Sets Alarm. Parameters: NumAlarm Alarm Number (1 or 2) 71 Day hr Hours min Minutes sec Seconds config Configuration void DS3231_Get_Alarm (int8 NumAlarm, int8 &day, int8 &hr, int8 &min, int8 &sec) Gets Alarm configuration Parameters: NumAlarm Alarm Number (1 or 2) &day Day address &hr Hours address &min Minutes address &sec Seconds address void DS3231_ReadAlarms (int1 &A1F, int1 &A2F) Reads alarm flags. Parameters: &A1F Alarm 1 Flag address &A2F Alarm 2 Flag address void DS32321_Set_AlamSec (int32 secs) Sets Alarm 1 using only seconds of the day. Parameters: secs Seconds of the day. void DS32321_Get_AlamSec (int32 &secs) Gets Alarm 1 in seconds of the day. Parameters: &secs Second of the day address 4.4.7 FM24CL04. Funciones/ descripción void write_byte_nvRAM (int8 direccion, int8 dato) Write 1 byte in nvRAM Parameters: direccion address of write dato data to write 72 void write_nbyte_nvRAM (int8 direccion, int8 nDatos, int8 *Datos) Write n byte in nvRAM Parameters: direccion address of write nDatos number of data *Datos pointers of data int8 read_byte_nvRAM (int8 direccion) Read 1 byte in nvRAM Parameters: dirección address of read Returns: Data read int8 read_nbyte_nvRAM (int8 direccion, int8 nDatos) Read n byte in nvRAM Parameters: Direccion address of read nDatos number of data. Returns: Data read address int1 nvRAM_ready (void) check list nvRAM. Returns: Ack ok. 4.4.8 SCP1000. Funciones/ descripción unsigned int8 SCP1000_read_register (char register_name) Read 1 byte to SCP1000. Parameters: register_name direction of register of read. Returns: Register read. 79 5.2 Estado del arte Actualmente encontramos 4 sistemas de comunicación inalámbrica ampliamente utilizados WIFI, Wiimax, Bluetooth y ZigBee. Estos dos últimos muy parecidos y de las características deseadas. Además de la tecnología de comunicación de redes móviles como es el 4G/3G/GPRS/GSM 5.2.1 WIFI. WIFI es la tecnología de comunicación inalámbrica más extendida y usada actualmente sobre todo en comunicaciones a través de internet. Descrita en el estándar IEEE 802.11b/g/n (en el que la letra nos informa de la versión y velocidad de transmisión) la velocidad de transmisión llega a alcanzar los 100Mbps transmitiendo en la frecuencia de 2.4GHz. Esta tecnología conlleva un gran consumo, del orden de los 400mA en comunicación y 20mA en reposo. Es recomendable encriptar los datos mediante WPA o la predecesora WEP, para garantizar la seguridad de la conexión. No es la tecnología adecuada para este proyecto, ya que no deseamos tanta transferencia de información y presenta un elevado consumo. Además como se muestra en la imagen, no es una tecnología para crear redes malladas sino, unas redes con nodo central (router), que es el que recibe y manda la información al resto. Modem WIFI 80 5.2.2 WIIMAX. Sistema de comunicación inalámbrica, que transmite en el rango de frecuencias de 2.3 a 3.5 GHz, descrita en el protocolo IEEE 802.16. Mediante la colocación de las antenas adecuadas puede llegar a transmitir a 80km y una velocidad de hasta 125 Mbps Gracias a estas capacidades, actualmente se hace uso de WIIMAX para desplegar redes metropolitanas de acceso a internet o transmisión de datos en áreas con baja densidad de población, en las que sería costoso utilizar comunicación cableada. 5.2.3 Bluetooth. Bluetooth es un sistema de comunicación rápida de pequeños paquetes de datos, su uso se centra en móviles y pequeños dispositivos. Debido al pequeño tamaño de los sistemas que lo implementa y a su gran uso es bastante económico. Pueden conectarse un máximo de 7 esclavos y 1 maestro en una red Bluetooth. Las piconets es la tipología de red usada para conectar los dispositivos, en ella debe haber 2 dispositivos mínimo, en la que el maestro solo puede estar en una piconet, mientras el esclavo en varias. Su sistema de transmisión es omnidireccional. Consume 40mA en transmisión y 0.2mA en reposo aunque este no se puede mantener dormido sino, que siempre está transmitiendo y recibiendo, esto hace que tenga un elevado consumo. Puede llegar a tener una velocidad de transmisión de hasta 1Mbps. Debido a su velocidad este sistema es usado en dispositivos móviles y informática casera, pero los Estructura red WIMAX 81 dispositivos deben estar próximos ya que no alcanza más que 10 metros de comunicación. Usan el sistema de seguridad Spread Spectrum Frequency Hopping como técnica de multiplexacion, garantiza las comunicaciones entre dispositivos y que estas, no sean interceptadas. Adicionalmente el sistema usa un sistema de autentificación del dispositivo para comunicarse a la red y un cifrado para proteger la información. 5.2.4 ZigBee. ZigBee es un protocolo de comunicación ampliamente utilizado en el ámbito domótico, de trasmisión de datos entre sensores y control remoto, ya que permite el uso de varios nodos remotos. Una red ZigBee puede constar de un máximo de 65535 nodos distribuidos en subredes de 255 nodos. Consume unos 30mA en transmisión y 3uA en reposo. Zigbee tiene una velocidad de hasta 250 Kbps Debido a la velocidad relativamente moderada, ZigBee resulta inadecuado para tareas que necesiten una gran tasa de transmisión de datos como streaming de música y video, sin embargo es ampliamente versátil en la transferencia de pequeños paquetes de datos. Por ello, su mercado principal se centra en aplicaciones domóticas, productos con alimentación a partir de batería, sensores médicos, y en artículos de juguetería, en los cuales la transferencia de datos es menor. Dispositivo bluetooth USB 82 5.2.5 4G/3G/GPRS/GSM. Sistema de comunicación muy extendido en los dispositivos móviles, sobre todo en el uso del teléfono móvil El GSM sistema global para comunicaciones móviles, es el estándar de comunicación más extendido, permite enviar, recibir mensajes, navegar… Actualmente ha quedado ya desfasado aunque siguen usándolo la mayoría de los dispositivos, y se siguen generando estándares de última generación como puede ser el 3G o UMTS. La banda GSM 900 MHz es la usada en Europa. Permite alcanzar transmisiones a 564 Kbps mediante GSM_EDGE, pero el sistema tradicional apenas consigue 9.6 Kbps Alcanza cientos de metros en áreas urbanas y hasta 35 kilómetros en zonas rurales. El GPRS es una extensión del GSM, servicio general de paquetes vía radio, desarrolla una velocidad de 171 Kbps, que permite un envió de datos no continuo y así la facturación solo se realiza por datos enviados, no por tiempo. El sistema 3G, es el sistema de comunicación de tercera generación, o también conocida como UMTS, servicio universal de telecomunicación móvil. Inicialmente ideado para permitir la transferencia de voz y datos, así como videollamadas. Este sistema puede usarse en dispositivos portátiles a través de un USB pero teniendo que tener una tarjeta SIM. El máximo de conexión teórico es de 3,6 Mbps, en pocos sitios alcanzable ya que depende de las compañías. El más reciente sistema, 4G una novedad en Europa para dispositivos móviles de cuarta generación, competencia de la red WIIMAX. Permite velocidades de 100Mbps, se basa en el protocolo IP, siendo un sistema de sistemas, una colección de tecnologías y protocolos, del resto de sistemas. 83 5.2.6 Tabla comparación. Dispositivo Ancho de banda Consumo Transmitiendo/ reposo Rango de cobertura Ventajas Aplicaciones Introducci ón en el mercado Coste WIFI <100Mbps 400mA/20mA 100 metros Gran ancho de banda Navegación, redes de ordenadores. Alta Costoso WIIMAX <125Mbps 80 Km Gran ancho de banda Lugares poco accesibles, internet… Baja Más caro Bluetooth 1 Mbps 40mA/0.2mA 10 metros Sustituto del cable Móviles, informática casera. Media Accesible ZigBee 250 Kbps 30mA/3uA 10-100 metros Batería larga duración, bajo coste. Domotica, juguetería, sensores médicos. Baja Mas barato GSM 9 Kbps 0.7 mA 300 metros -35 Km Comunicación fácil Telefonía móvil Alta Barato GPRS 171 Kbps 5mA/ 2mA Mejora del GSM, mayor velocidad Telefonía móvil Alta Barato 3G 3.6 Mbps 150 mA Transmisión de video y audio Telefonía móvil, internet portátil Media Caro 4G 100 Mbps Gran transmisión a alta velocidad Telefonía móvil Muy baja Muy caro 84 En base a los requisitos necesarios y las prestaciones de los diferentes sistemas para la comunicación inalámbrica utilizaremos la tecnología Zigbee, ya que sus características de seguridad, consumo, coste y capacidad de desplegar topologías tipo red, la hacen más idónea para el presente proyecto 5.3 Descripción Zigbee. 5.3.1 Sistema Zigbee. ZigBee es el nombre de la especificación de un conjunto de protocolos de alto nivel de comunicación inalámbrica para su utilización con radio digital de bajo consumo, basada en el estándar IEEE 802.15.4. Usado para aplicaciones de comunicación de baja tasa de datos y orientado a una mayor duración de las baterías. ZigBee es promovida por la ZigBee Alliance, una comunidad internacional de más de 100 compañías como Motorola, Mitsubishi, Philips, Samsung, Siemens. Permite habilitar redes inalámbricas con capacidades de control y monitoreo que sean confiables, de bajo consumo energético y de bajo costo, que funcione vía radio y de modo bidireccional; todo basado en un estándar público global que permita a cualquier fabricante crear productos que sean compatibles entre ellos. En principio, el ámbito donde se prevé que esta tecnología cobre más fuerza es en domótica debido a su bajo consumo, topología de red en malla y su fácil integración. Otro atractivo importante para este sector, es que se pueden fabricar nodos con muy poca electrónica. ZigBee utiliza la banda ISM para usos industriales, científicos y médicos, en concreto, 868 MHz en Europa, 915 en Estados Unidos y 2,4 GHz en todo el mundo. Pero la mayoría de los dispositivos usan la 2,4 GHz, por ser libre en todo el mundo. El desarrollo de la tecnología se centra en la sencillez y el bajo coste más que otras redes inalámbricas semejantes de la familia WPAN, como por ejemplo Bluetooth. El nodo ZigBee más completo requiere en teoría cerca del 10% del hardware de un nodo Bluetooth o WiFi típico; esta cifra baja al 2% para los nodos más sencillos. No obstante, el tamaño del código en sí es bastante mayor y se acerca al 50% del tamaño del de Bluetooth. Se anuncian dispositivos con hasta 128 Kbyte de almacenamiento. 5.3.1.1 Tipos dispositivos. Zigbee está configurado para poder tener acceso a distintos puntos, creando una red que permita la conexión entre diferentes dispositivos. Esta red puede ser de varios tipos, suele ser frecuente encontrar en las 85 diferentes topologías un coordinador que controle la red, unos router para la ejecución y unos dispositivos finales que se conectan con el coordinador. Los diferentes tipos de dispositivos que pueden encontrarse en una red ZigBee son: Coordinador Zigbee (ZC): Dispositivo más completo, debe existir uno por red, actúa como enlace entre otras redes, siendo el director de una red en árbol. Es el nodo de comienzo de cada red, único en cada una ellas. Almacena toda la información de la red, así como el sistema de distribución de claves de cifrado. Router Zigbee (ZR): Actúa como router interconectado dispositivos separados en la topología de red. Mantiene la información sobre la red para crear el mejor enrutado del un paquete de información. Retransmite paquetes de otros paquetes o de dispositivo final. Dispositivo final (ZigBee end device, ZED): Básicamente se conecta con su padre no puede transmitir información destinada a otros dispositivos. Transmite los datos al padre, o los recibe de este, el cual le controla, así puede estar dormido la mayor parte del tiempo, solo despertarse cuando es necesario aumentado la duración de la batería. Requiere requisitos mínimos de memoria y por eso es el más barato. 5.3.1.2 Capas Zigbee. Zigbee puede describirse de acuerdo al modelo OSI, que define diferentes capas independientes unas de las otras. Modelos de topología de red Zigbee 86 A continuación se describen algunas de las características de las diferentes capas, comenzando por la capa más próxima al dispositivo físico: Capa física (PHY), la de más bajo nivel, junto con la capa de enlace de datos (MAC) realizan la trasmisión de datos por el aire. Están descritas en los estándares IEEE 802.15.4–2003. Como se ha comentado, trabaja en la bandas de ISM de uso no regulado, con hasta 16 canales en el rango 2.4GHz. Capa de red (NWK) conlleva la realización del correcto uso del subnivel (MAC) para ofrecer una interfaz adecuada para su uso en la parte de aplicación. Describe los requisitos para unirse a la red, crear la red, entregar paquetes etc. La Zigbee Alliance define esta capa así como los mecanismos para mantener la comunicación y el medio de trasmisión de datos dentro de la red, filtrar paquetes a nivel de aplicación y simplificar el envió de datos a los diferentes nodos. Capa de aplicación (APL) provee los mecanismos e interfaces a través de los cuales se simplifica el uso del dispositivo, gracias a la gestión de las capas inferiores. Ante las directrices de la ZigBee Alliance un fabricante como Ember nos aporta unos chips dentro de la capa de red (NWK) que nos permiten realizar una comunicación según los estándares ZigBee. Establecer una red ZigBee con estos dispositivos, entraña cierta dificultad, ya que, el usuario tiene que crearse las rutas entre los distintos dispositivos, mantener la red, crear las ordenes de comunicación. Adicionalmente, estos integrados suelen requerir etapas electrónicas externas, como la de radiofrecuencia, oscilación y alimentación. Capas modelo OSI 87 5.3.2 Zigbee Telegesis. Como se ha comentado, el trabajo directo con los integrados de RF, entrañan cierta dificultad, por ello, otros fabricantes, como Telegesis ya aportan un sistema integrado con las diferentes etapas necesarias. Adicionalmente, ofrecen un control e interfaz simplificado, para el control de la red. Se puede decir que sus dispositivos se enmarcan dentro de la capa de aplicación (APL), ya con unas normas de comunicación. Este sistema crea y mantiene las redes, ofrece al usuario facilidades de trabajo, gracias a una serie de comandos establecidos por el fabricante. Dentro de la oferta de dispositivos de Telegesis, para la realización del presente proyecto se ha seleccionado el modulo ETRX357. Este dispositivo nos permite establecer una comunicación ZigBee de modo relativamente sencillo. La comunicación con el módulo de Telegesis se lleva a cabo a través de una UART haciendo uso de un protocolo de comunicación basado en un juego de comandos al estilo AT. Cada dispositivo consta de un número de dirección EUI64 propio de fábrica, que nos permite identificarlo y sirve como dirección para el envió de datos. 88 5.4 Estructura control. Para el control y configuración del sistema Telegesis [15] ofrece una serie de comandos, registros y funciones preconstruidas, que son descritas en el manual del mismo y permiten al usuario su interacción con él. 5.4.1 Registros. Los registros permiten configurar la red, así como el comportamiento del dispositivo. Por ejemplo, en el registro ATS0A, se puede configurar el dispositivo como coordinador, router o nodo final. Podemos elegir la velocidad de comunicación de la UART en ATS12. Otras opciones como establecer la contraseña de comunicación, el nombre del dispositivo, el canal de transmisión tienen asociados sus correspondientes registros. Forma de modificar: ATS002= 0001 Modificamos el registro 02. ATS002? Preguntamos cuál es el valor de ese registro. 5.4.2 Funciones. Las funciones preconstruidas nos permiten controlar una serie de actuaciones del dispositivo, algunas funciones se pueden disparar a través de interrupciones asociadas cada una a una temporización. Todas las funciones temporizadas, se definen en dos registros, uno que controla el tiempo de la temporización y otro que acción debe realizar, existiendo una lista de las funciones posibles. Como por ejemplo Poll Parent ATS29 donde se controla la duración de la temporización y el ATS2A pregunta el padre si tiene algún dato. 5.4.3 Comandos. Los comandos permiten la configuración, manejo de red, y gestión del tráfico de datos entre otras funciones. Los comandos de manejo de la red permiten realizar la conexión a una red, crearla, busca algún punto de conexión, información de si se encuentra conectado ya alguna. Por su parte los comandos de transferencia de datos, permiten definir qué tipo de dato vamos a enviar, y si es para toda la red o solo para un dispositivo en concreto. A continuación se comentan algunos de los comando más utilizados. 95 7.- CONCLUSIONES 7.1 Desarrollo del proyecto. La realización del proyecto se ha llevado a cabo durante varios meses de trabajo, a continuación podemos ver un diagrama de la evolución temporal de la realización del mismo. Diagrama de Gantt 96 La relación de programas u otras herramientas usadas, para el desarrollo de las diversas tareas del proyecto son las siguientes: - Altium Designer Summer 2009 software de desarrollo completo de la PCB, permite la realización de un esquema general, y el desarrollo del esquemático de PCB, usando las librerías ya existen o creando propias si es necesario. El nos genera los archivos Gerber para la fabricación de la placa. - PCWHD Compiler 4.088, herramienta de escritura de archivos de C muy fácil de usar, aparte de compilador. - Serial-Terminal v4.0, software que permite es establecer la conexión con el puerto serie y enviar/recibir varios tipos de datos a través de la línea serie. Creado preferentemente por el grupo Tecnodiscap para el envió de datos a través del dispositivo Zigbee. - Eltima serial port terminal v5.0, al igual que el anterior también permite crear conexiones por el puerto serie para enviar/recibir datos, pero siendo útil para cualquier tipo de dispositivo que use e l puerto serie para sistema de comunicación. - MPLAB IDE versión v8.73 es una plataforma de desarrollo integrada de Microchip, permite escribir el programa para los PIC en lenguaje C, podemos crear proyectos, ensamblar o compilar, simular el programa y finalmente programar el componente, a través de MPLAB ICD2, kit de conexión entre el dispositivo y el ordenador. - WinPIC800, software de programación de PIC - Doxygen v1.7.4 es un generador de documentación multiplataforma, en este caso C. Creando un documento en html que hace más comprensible la estructura programada. - Bus pirate, herramienta de investigación electrónica, que permite conectar directamente un dispositivo al ordenador, a través de varios medios de comunicación como I2C, SPI, JTAG… para comprobar el funcionamiento correcto de los mismos. [16] - Placa de pruebas de Microchip. - Equipos de instrumentación. - Equipos de soldadura. 97 7.2 Resumen del trabajo Para la realización del proyecto fin de carrera, se ha desarrollado un sistema electrónico capaz de adquirir varias variables ambientales, compuesto por sensores electrónicos controlado por un microcontrolador. La comunicación entro los diferentes dispositivos se ha realizado mediante el protocolo de comunicación I2C. Dentro de las diferentes variables ambientales posibles, se han escogido, temperatura, humedad, presión, luz y sonido ambiente. El usuario puede pedir al sistema cada una de estas variables y este las procesa y envía al PC donde el usuario las interpreta. El dispositivo es capaz de mantener una autonomía propia, gracias a una batería recargable, además de disponer de un sistema de carga para esta, conectado el sistema a un bus de alimentación. La transmisión inalámbrica de datos se realiza mediante el sistema ZigBee de comunicación, capaz de enviar pequeños paquetes de datos al PC. El sistema dispone de una memoria EEPROM para almacenar datos de diferentes sensores o datos, así como una RTC para llevar un control de la fecha y hora del sistema. Primero se hizo una selección de los componentes a usar, después de haber realizado una búsqueda de las posibilidades del mercado. Se diseñó la PCB aplicando las normas de fabricación que nos imponía el taller de la universidad. Realizamos el diseño del firmware de programa para el funcionamiento del sistema. Con ello se llevaron a cabo pruebas del sistema por separado, de todos los componentes. Tras las diferentes pruebas se rediseño una nueva PCB con los problemas detectados, y por ultimo de redacto la memoria. 98 7.3 Resultados El objetivo principal de este proyecto consiste en la obtención de información de variables ambientales del sistema que nos rodea, siendo cubierto con total satisfacción. Para las consecuencias del proyecto, se han realizado todas las tareas propias de un proyecto electrónico tipo, abarcando desde las fases iniciales de especificación, diseño de circuito, diseño firmware, montaje y puesta a punto. Como consecuencia del proyecto, se dispone de un dispositivo operativo, que permite adquirir estados, sucesos del entorno, procesarlos, almacenarlos y enviarlos, para poder realizar posibles actuaciones sobre el sistema que lo hagan más óptimo. Si analizamos los objetivos parciales obtenidos, en su vertiente académica: -Realización de estados del arte, y revisión de proyectos técnicos, y documentación de referencias. -Estudio de diferentes dispositivos y componentes hardware: Sensores, actuadores, baterías. Manejo de documentación de referencia técnica. -Aprendizaje y manejo de nuevos programas: Mplab, Pic C Compiler, Doxygen, Altium. -Se ha profundizado en la tecnología de microprocesadores de Microchip utilizando gran parte de sus recursos internos, como conversor analógico digital, comunicación serie, comunicación I2C y temporizadores. De este modo ha sido posible conseguir un sistema con un hardware muy reducido y sencillo. -Se ha realizado el diseño del hardware. Inicialmente probado en placa de prototipo para comprobar su correcto funcionamiento antes de diseñar una PCB. -Se ha realizado el diseño de la PCB. Para ello se ha perfeccionado en el manejo de software de diseño. Este diseño se ha realizado siguiendo los procesos de producción estándar. 99 -Mediante el montaje de la PCB, se ha tenido la posibilidad de realizar un aprendizaje tanto en la parte teórica como en la parte práctica que requiere la soldadura. - Aprendizaje de C, un lenguaje de programación de alto nivel. - Se ha programado un firmware con un lenguaje de alto nivel con el que se ha comprobado el correcto funcionamiento del sistema. -Se ha trabajado con una metodología de diseño firmware: La programación se realizó de una manera estructurada generando diferentes librerías, encapsuladas e independientes. Durante el desarrollo del firmware se respetaron las normas de estilo estándar recomendadas para C. Además se ha aprendido a trabajar con librerías realizadas por otros miembros del grupo de Tecnodiscap y adaptarlas al sistema. -Se ha realizado un acercamiento a la tecnología de comunicación inalámbrica de gran repercusión y perspectiva de futuro que es ZigBee. Adquiriendo conocimientos: Manejo de redes de sensores. Tipos de mensaje. Modelo de capas OSI. Configuración de redes. -Adquirir conocimientos sobre la metodología de trabajo asociada a un grupo de investigación. - Se ha conseguido realizar un sistema de alimentación independiente a través de una batería recargable 100 7.4 Líneas futuras. El sistema desarrollado podría tener versiones futuras de investigación, mejorando lo desarrollado en este dispositivo en varios campos. -Conseguir un sistema con mayor autonomía. Como ya se ha comentado, este no ha sido un tema prioritario. Para optimizar el consumo, se podrían llevar a cabo estrategias del tipo…Actuando sobre el micro, creando un modo que permita ponerlo en suspensión (sleep) y no esté continuamente funcionando, la red Zigbee también está operativa en todo momento, siendo esto un gran consumo de para la batería. -Mejoras en el diseño de la PCB. -Más pequeña. -Más estable -Más sencillo de producir Con componentes de menor tamaño, se desarrollo con las herramientas disponibles en la universidad y soldando los componentes a mano. Se podía realizar la placa más pequeña, si hubiéramos usado elementos pasivos y componentes menores y una maquina de gran precisión nos hubiera fabricado y soldado. -Añadir nuevas versatilidades al sistema. Implementando nuevos modos de funcionamiento (otra inteligencia), medir valores en otros intervalos, 1 minutos 5 minutos, cada segundo. Comparar con valores anteriores y hacer una media. Como ya se comentó con anterioridad el sistema podría servir, eligiendo algún otro tipo de sensor, para un sistema de tracker, haciendo control de una carga a transportar. -Integración en otros sistemas de AmI Una gran aplicación para posibles avances y mejoras seria una interoperación directa con otros dispositivos que permitiera actuar sobre ellos, según los valores obtenidos de los sensores. Así por ejemplo, si la temperatura fuera muy baja, podría actuar sobre un sistema de calefacción. Esto permitiría crear un ambiente más agradable, en un sistema inteligente, que permitiría al usuario estar en un buen estado de confort, sin necesidad de realizar mucho esfuerzo. 101 7.5 Conclusiones personales. En el plano personal, la realización de este PFC ha supuesto gran satisfacción. Se ha estudiado y alcanzado cierto nivel de manejo de información necesaria para la realización de proyecto. Describiendo tecnologías actuales del mercado y en cierta manera llevando a cabo el desarrollo de un nuevo sistema. Así como sistemas habituales de uso en el desarrollo de proyectos. Llevar a cabo el montaje final del sistema, ha permitido conocer aspectos técnicos en la elaboración de un prototipo, desde la gestión de componentes, soldadura, verificación de circuitos, puesta en marcha etc. Ha sido un trabajo muy elaborado y de gran esfuerzo en su desarrollo. Cabe destacar, el carácter innovador y de investigación propio del desarrollo, lo que ha impulsado a la realización de dicho dispositivo Agradezco la colaboración de mi director de proyecto Ángel Asensio en su guía y ayuda de realización, y a todo el grupo HowLab. Ha sido una buena experiencia trabajar con ellos. 102 BIBLIOGRAFIA [1] http://es.oregonscientific.com/ [2] http://www.sparkfun.com/products/9800 [3] http://www.domoticausuarios.es/sensores-inteligentes-el-hogar- inteligente-ahora-puede-ser-una-antena-para-la-domotica/618/ [4] http://www.sparkfun.com/products/8755 [5] http://www.bannerengineering.com/es- MX/products/65/Sensors/309/True-Color-Sensors/97/QC50- Series/#overview [6] http://www.ecfa.com.ar/lx-100.html [7] http://www.ecfa.com.ar/na2.html [8] http://www.directindustry.es/prod/figaro-engineering/sensores-de- calidad-de-aire-con-semiconductor-29357-147448.html [9] http://www.superrobotica.com/S320085.htm [10 http://www.superrobotica.com/S320140.htm [11] http://www.pcdoctor.com.mx/Radio%20Formula/temas/Baterias.htm [12] http://www.madrimasd.org/blogs/energiasalternativas/2011/03/28/131138 [13] http://www.futurlec.com/PCBService.shtml [14] http://www.2cisa.com/es/index.htm [15] http://www.telegesis.com/ [16] http://dangerousprototypes.com/bus-pirate-manual/ [17] http://ww1.microchip.com/downloads/en/DeviceDoc/39881D.pdf [18]http://www.telegesis.com/downloads/general/TG-ETRXn-R305- Commands.pdf [19]www.telegesis.com/downloads/general/TG-APP-Power_4.2to4.3- 100.pdf 103