Full text
Equation Chapter 1 Section 1 Proyecto Fin de Carrera Ingeniería de Telecomunicación Internet de las cosas aplicado al control del sistema energético de una vivienda. Autor: Álvaro Pérez Aguilar Tutor: Eduardo Galván Diez Dep. Ingeniería Electrónica Escuela Técnica Superior de Ingeniería Universidad de Sevilla Sevilla, 2016
Proyecto Fin de Carrera Ingeniería de Telecomunicación Internet de las cosas aplicado al control del sistema energético de una vivienda. Autor: Álvaro Pérez Aguilar Tutor: Eduardo Galván Diez Profesor titular Dep. de Ingeniería Electrónica Escuela Técnica Superior de Ingeniería Universidad de Sevilla Sevilla, 2015
Proyecto Fin de Carrera: Internet de las cosas aplicado al control del sistema energético de una vivienda. Autor: Álvaro Pérez Aguilar Tutor: Eduardo Galván Diez El tribunal nombrado para juzgar el Proyecto arriba indicado, compuesto por los siguientes miembros: Presidente: Vocales: Secretario: Acuerdan otorgarle la calificación de: Sevilla, 2015 El Secretario del Tribunal
A mi familia A mis maestros
Agradecimientos En primer lugar, a agradecer a toda mi familia el apoyo, la compresión y los ánimos que me han dado durante toda mi vida, y en especial en los malos momentos, sin ellos no hubiera podido lograr esto. Agradecer a todos los profesores de esta escuela quienes me han enseñado mucho sobre el maravilloso mundo de la ingeniería durante estos años, y en especial a Eduardo Galván por darme la oportunidad de hacer este proyecto, su ayuda, sus consejos han sido indispensables para lograr acabar este proyecto de forma satisfactoria y sobre todo por sus ánimos. A mis compañeros y amigos, empecé la carrera solo en una ciudad nueva para mí, y la que ha acabado convirtiéndose en mi casa, gracias a las grandes personas que he conocido aquí. Y en especial a Mercedes, por aguantar todo el estrés siempre con buena cara y ofreciendo su ayuda de forma desinteresada para ayudarme a conseguir mis objetivos. Álvaro Pérez Aguilar De Los Santos de Maimona a Sevilla, 2016
PRUEBA A: Circuito de tensión con alimentación externa. .................................................. 39 PRUEBA B: Circuito de intensidad con alimentación externa. .............................................. 42 PRUEBA C: Rele, encender y apagar en el laboratorio. ........................................................ 44 PRUEBA D: Rele enceder y apagar con Electric Imp. ............................................................ 46 PRUEBA E: Cálculo de potencia. ........................................................................................... 47 PRUEBA F: Trabajo final. ....................................................................................................... 49 4 Memoria de cálculos .................................................................................................................... 53 4.1 Circuito de intensidad. ...................................................................................................................... 53 4.2 Referencia en tension. ....................................................................................................................... 54 4.3 Diseño amplificador. ......................................................................................................................... 54 4.4 Circuito de tensión. ........................................................................................................................... 55 5 Conclusión ................................................................................................................................... 57 6 Trabajo futuro ............................................................................................................................. 59 Anexo A. Planos .............................................................................................................................. 61 A.1 Cara top. ........................................................................................................................................... 61 A.2 Cara bottom. ..................................................................................................................................... 62 A.3 Cara top impresión. .......................................................................................................................... 63 A.4 Cara bottom impresión. .................................................................................................................... 64 Anexo B. Código TFG ...................................................................................................................... 65 B.1 Código calculador de irms y potencia activa. ................................................................................... 65 B.1.1 Código Agent. ........................................................................................................................ 65 B.1.2 Código Device. ...................................................................................................................... 65 B.1.3 Explicación del código. .......................................................................................................... 67 B.2 Código Hello Word. ........................................................................................................................... 68 B.2.1 Código Device. ............................................................................................................................ 68 B.2.2 Explicación del código. ............................................................................................................... 68 B.3 Código Hello Word Agent. ............................................................................................................ 68 B.3.1 Código Device. ............................................................................................................................ 68 B.3.2 Código agent. ............................................................................................................................. 69 B.3.3 Explicación del código. ............................................................................................................... 69 B.4 Código TFG ................................................................................................................................... 70 B.4.1 Device ................................................................................................................................... 70 B.4.2 Agent ..................................................................................................................................... 77 B.4.3 Explicación del código. .......................................................................................................... 79 Anexo C. Especificaciones de componentes...................................................................................... 81 C.1. Transformador de corriente. ............................................................................................................ 81 C.2. Max4477. ......................................................................................................................................... 82 C.3 Fan4860. ........................................................................................................................................... 87 C.4 TPS 62172. ......................................................................................................................................... 93 Referencias ..................................................................................................................................... 97 Glosario .......................................................................................................................................... 99
ÍNDICE DE TABLAS Tabla 1. Tipos de entrada y salidas en Imp001. ....................................................................... 11 Tabla 2. Características eléctricas. ........................................................................................... 12 Tabla 3. Descripción de pines del Imp002. ............................................................................... 15 Tabla 4. Tipos de entrada y salida del Imp002. ........................................................................ 16 Tabla 5. Características eléctricas del Imp002. ........................................................................ 17 Tabla 6. Componentes hardware de adaptación de señal. ....................................................... 33 Tabla 7. Componentes para relé. ............................................................................................ 33 Tabla 8. Componentes para la adaptación del Imp002. ........................................................... 34 Tabla 9. Componentes convertidor elevador. ........................................................................... 35
ÍNDICE DE FIGURAS Figura 1. Ciclo de las tecnologías emergentes. .......................................................................... 1 Figura 2. Estimación de objetos conectados en 2020.Cisco IBSG, abril de 2011. ...................... 3 Figura 3. RFID etiqueta y lector. ................................................................................................. 4 Figura 4. Capas del Internet de las cosas................................................................................... 5 Figura 5. Tarjeta Imp001. ......................................................................................................... 10 Figura 6. Placa para usar Imp001. ........................................................................................... 13 Figura 7. Imp002. ..................................................................................................................... 14 Figura 8. Asignación de pines a Imp002. .................................................................................. 15 Figura 9. Señal de sincronización y datos. ............................................................................... 18 Figura 10. Señal para BlinkUp tres niveles. .............................................................................. 19 Figura 11. Entorno de desarrollo del Electric Imp. .................................................................... 20 Figura 12. Circuito de simulación en MicroCap10. .................................................................... 21 Figura 13. Transformador de corriente 100A:50mA. ................................................................. 22 Figura 14. Señal sinusoidal de 40A a 50Hz, vivienda. .............................................................. 22 Figura 15. Señal sinusoidal después de pasar por el transformador de corriente. .................... 23 Figura 16. Señales del circuito de simulación de la parte de intensidad. ................................. 24 Figura 17. Señales del circuito de simulación de la parte de tensión. ....................................... 25 Figura 18. Alimentación del Imp002. ........................................................................................ 26 Figura 19. Conector macho para baterías. .............................................................................. 26 Figura 20. Convertidor reductor TSP62172. ........................................................................... 27 Figura 21. Jumper que permite leer Vin al Imp. ....................................................................... 27 Figura 23. Módulo Imp002 en EAGLE. ..................................................................................... 28 Figura 24. Capacidad de desacoplo. ........................................................................................ 28 Figura 25. Leds y fototransistor. ............................................................................................... 29 Figura 26. Configuración de relé. ............................................................................................. 30 Figura 27. Convertidor elevador. .............................................................................................. 31 Figura 28. Tira de pines. ........................................................................................................... 31 Figura 29. Diseño completo en EAGLE. ................................................................................... 32 Figura 30. Layout completo. ..................................................................................................... 36 Figura 30. Cara top de Cara TOP de la placa terminada. ......................................................... 38 Figura 32. Cara BOTTOM de la placa terminada. ..................................................................... 39 Figura 33. Generador de onda y fuente de tensión. .................................................................. 39 Figura 34. Conexionado para introducir la señal de tensión. .................................................... 40
Figura 35. Señal de salida con entrada 6,9V. ........................................................................... 40 Figura 36. Señal cuando la entrada excede lo permitido. ......................................................... 41 Figura 37. Osciloscopio con entrada 0V. .................................................................................. 41 Figura 38. Transformador midiendo intensidad. ....................................................................... 42 Figura 39. Configuración para medir la intensidad. .................................................................. 42 Figura 40. Características de la batidora. ................................................................................. 43 Figura 41. Salida del circuito intensidad con MC10. ................................................................. 43 Figura 42. Salida del osciloscopio del circuito de intensidad con batidora. ............................... 44 Figura 43. Placa alimentada por relé........................................................................................ 45 Figura 44. Relé encendido. ...................................................................................................... 45 Figura 45. Device logs. ............................................................................................................ 46 Figura 46. URL en el navegador. ............................................................................................. 46 Figura 47. Sistema para encender y apagar el relé. ................................................................. 46 Figura 48. Sistema con relé encendido. ................................................................................... 47 Figura 49. Sistema completo.................................................................................................... 47 Figura 50. Potencia del electrodoméstico de 700W. ................................................................ 48 Figura 51. Device logs corriente y potencia activa. .................................................................. 48 Figura 52. Página thingSpeak gráficas potencia activa e Irms. ................................................ 49 Figura 53. Registro del dispositivo al ejecutar el código TFG. .................................................. 49 Figura 54. Navegador desactivación del relé. .......................................................................... 50 Figura 55. Navegador activación del relé. ................................................................................ 50 Figura 56. Relé encendido con temporizador. .......................................................................... 50 Figura 57. . Navegador con mensaje de error. ......................................................................... 50 Figura 58. Página ThingSpeak trabajo final. ............................................................................. 51 Figura 59. Device logs trabajo final. ......................................................................................... 51 Figura 60. Diseño entrada de intensidad. ................................................................................. 53 Figura 61. Diseño referencia en tensión. .................................................................................. 54 Figura 62. Diseño amplificador. ................................................................................................ 54 Figura 63. Diseño entrada voltaje. ........................................................................................... 55 Figura 64. Cara top. ................................................................................................................. 61 Figura 65. Cara bottom. ........................................................................................................... 62 Figura 66. Placa cara top impresión. ........................................................................................ 63 Figura 67. Placa bottom impresión. .......................................................................................... 64
1 1 INTRODUCCIÓN 1.1 Antecedentes. La tecnología es el gran motor del nuevo mundo y la conectividad es el denominador común de las grandes innovaciones vividas en los últimos años. En estos últimos años se ha puesto de moda el término del “Internet de las Cosas” (IoT), los expertos aseguran que será unos de los grandes negocios del futuro, con una clara finalidad: conectar el mayor número de objetos que nos rodean, entre ellos y con nosotros. [1] Como se puede observar en la siguiente gráfica hecha por expertos analistas, existen grandes expectativas de negocio para el “Internet de las Cosas” en los próximos años. Figura 1. Ciclo de las tecnologías emergentes. Por otro lado, algo fundamental para lograr un avance sostenible de la sociedad actual es el uso responsable de las energías, por ello, se acuna el término eficiencia energética, el cual hace referencia a la optimización de recursos para conseguir la satisfacción de nuestras necesidades, luz, calefacción,… [2] Este proyecto se centra en ambos términos, dada la importancia de ellos en nuestro día a día.
Introducción 2 1.2 Estado del arte. Introducción histórica. El término de “Internet de las Cosas” (IoT) fue mencionado por primera vez en 1999 por Kevin Ashton, un investigador británico que trabaja en el Massachusetts Institute of Technology (MIT) como cofundador y director ejecutivo del Centro de Auto-ID, desarrollando un sistema de sensores e identificadores de radio frecuencia (RFID) [3]. Aunque el término fuera presentado en 1999, el “Internet de las Cosas” había estado desarrollándose durante décadas. El primer dispositivo de “Internet de las Cosas” del que se tiene constancia fue una máquina de Coca-Cola en la Universidad de Carnegie Melon a principios de los años ochenta. [4] Donde los programadores podían acceder a través de internet al estado de las bebidas de la máquina. Durante estas últimas décadas el desarrollo del IoT ha sido promovido por el afán de reducir al máximo las dimensiones físicas; por el avance en la reducción de consumo y la capacidad de crear hardware/software cada vez más complejos en los equipos. Hasta llegar a día de hoy donde se espera que el IoT sea la siguiente gran transformación tecnológica. Ya no solo las personas estarán conectadas a la red por ordenadores sino que todos los objetos y personas estarán interconectados entre sí. Conceptos previos. Aunque el “Internet de las Cosas” sea uno de los términos más de moda en la actualidad aún no hay una definición formal del mismo. Se podría definir como el concepto basado en “la interconexión de objetos cotidianos, singularmente identificables conectados a través de internet”. IoT describe un sistema en el que los elementos del mundo físico lleven sensores incluidos, estos sensores podrán utilizar tecnología como RFID, NFC, WI-FI, entre otras, para conexiones de red local y conectividad de larga distancia como GSM, GPRS, 3G, 4G y 5G [5]. Los sensores serán utilizados para la recolección de datos, los objetos físicos llevarán uno o más sensores, cada uno controlará una condición específica como la ubicación, el movimiento, la temperatura. El IoT conectará estos sensores entre sí y con sistemas capaces de comprender la información presente en éstos. Una característica singular de los dispositivos IoT es generar datos más pequeños que el internet tradicional pero a mayor frecuencia [5]. Cuando varios dispositivos envían estos pequeños datos, a través de una red a la nube, se pueden monitorizar pero con el tiempo la cantidad de datos se hará muy grande. A esto se denomina con frecuencia “big data”. El “big data” permite analizar miles o millones de puntos de datos con el fin de aprender, entender o controlar algo mucho mejor [6].
3 3 Internet de las cosas aplicado al control del sistema energético de una vivienda. Figura 2. Estimación de objetos conectados en 2020.Cisco IBSG, abril de 2011. Como se observa en la figura 2, se espera triplicar el número de objetos conectados en el mundo en apenas 10 años. Tecnologías relacionadas. El “Internet de las Cosas” no creará una nueva categoría de sistemas, sino que irá integrándose de forma progresiva al internet actual. Las tecnologías en las que se apoyará serán las siguientes [7]: Tecnologías de recopilación de datos. Tecnologías de procesamiento y gestión de datos. Tecnologías de actuación, aplicaciones. 1.2.3.1 Tecnologías de recopilación de datos. 1.2.3.1.1 RFID. RFID es el acrónimo de Identificación por Radio Frecuencia. El concepto de esta tecnología se remonta a 1930 cuando las fuerzas armadas y la naval de los Estados Unidos buscaban alternativas para la localización de objetivos en tierra, mar y aire [8]. RFID es clasificado como una tecnología de Captura Automática de Datos. RFID utiliza una etiqueta conocida como “TAG”, que permite reflejar ondas de manera que las ondas retornadas portan datos. Un sistema de identificación por radiofrecuencia básicamente consta de tres componentes: etiqueta (tag), hardware lector y software especializado o de control. El hardware lector, se comunica de manera inalámbrica con las etiquetas electrónicas que contienen información. De manera general suelen llamarse lector y etiquetas (tags). El lector envía por el aire una señal la cual es captada por la etiqueta y ésta responde según las peticiones del lector, indicando su información almacenada o datos internos. La etiqueta es un circuito electrónico en forma de lámina que puede contener diversos tamaños físicos o características de memoria. Ésta es de carácter pasivo, es decir, no requiere baterías para funcionar, sino que se alimenta de la energía recibida de la antena del lector que trata de comunicarse con ella.
Introducción 4 Figura 3. RFID etiqueta y lector. 1.2.3.1.2 NFC. NFC es el acrónimo de Near Field Communication, es una tecnología inalámbrica de rango corto que está dentro de los estándares de RFID. Ha sido ideada para ser introducida en otros dispositivos como alternativa de comunicación entre los mismos, especialmente en terminales móviles como teléfonos [9] Los lectores pueden estar incluidos en el teléfono móvil, en cualquier otro dispositivo o puede ser un lector externo conectado a un ordenador. La comunicación entre el lector y la etiqueta en NFC es de pocos centímetros dado que está concebida para ser de rango corto, a diferencia de otros estándares de RFID, que pueden alcanzar hasta varios metros. Funciona en el rango de los 13,56MHz a una velocidad de hasta 424Kbits/seg, sus estándares están siendo desarrollados por el NFC FORUM [10] como Organismo de Promoción y Estandarización de la tecnología NFC, pero sigue muchos estándares de RFID propuestos por ISO (International Organization for Standardization) y la ETSI (Acrónimo de European Telecommunications Standards Institute) 1.2.3.2 Tecnologías de procesamiento y gestión de datos. Middleware es un software de conectividad, consiste en un conjunto de servicios que permiten interactuar a múltiples procesos ejecutados en diferentes máquinas a través de una red. Permite tener un nivel de abstracción necesario para que los usuarios finales o desarrolladores no tengan que involucrarse con la gestión y la utilización de las capas inferiores. Esto incluye servidores web, servidores de aplicaciones, sistemas de gestión de contenido y herramientas similares. Middleware es especialmente esencial para tecnologías como XML, SOAP, servicios web y arquitecturas orientada a servicios [11]. Lo que se busca es una arquitectura orientada al servicio, basado en una comunicación normalizada de los dispositivos. Si a esto se le añade los servicios de la nube, una arquitectura distribuida, en la que las identidades son tratadas de forma uniforme y accesible a través de interfaces estándar, se puede conseguir una interfaz eficiente y de gran ayuda para el desarrollo del IoT [7]. 1.2.3.3 Tecnologías de actuación, aplicaciones. Como se observa en la siguiente imagen, hay multitud de aplicaciones tales como la automatización de los hogares, e-salud, seguridad pública (éstas se desarrollarán más adelante),… Para desarrollar tanto éstas como otras aplicaciones es necesario el desarrollo de algoritmos y software que permitan interpretar correctamente la información proveniente de los sensores. De esta forma, cuando la red es capaz de dar sentido a la información de los sensores, se consigue que sea manejable y toma un valor altísimo para su explotación.
5 5 Internet de las cosas aplicado al control del sistema energético de una vivienda. Figura 4. Capas del Internet de las cosas. Aplicaciones de IoT. En el nuevo mundo del IoT hay infinidad de aplicaciones o posibles usos de esta tecnología, aquí se presentan las principales áreas. Construcción y automatización de hogares inteligentes A partir de la reducción de costes energéticos y de mantenimiento. En este campo se centrará este proyecto. Ciudades inteligentes Con la creación de sistemas de monitorización del tráfico, sistemas de iluminación eficientes,… Industrial Con software y hardware que faciliten y aceleren el tiempo de diseño para la fabricación del producto. Cuidado de la salud Con productos que monitorizan de forma remota, control de acceso, control de medicamentos,… Automóviles A partir de sistemas de iluminación inteligentes, telemetría, información y entretenimiento.
Memoria justificativa 12 2 WiFi requiere un mínimo de 2.5V pero el código puede ejecutarse a 1,8V. El pin POWER_EN es activado para que un convertidor elevador externo proporcione +2.5V cuando el Wi-Fi esté activado 3 400mA en el peor de los casos durante los eventos de TX. Durante un máximo de 4.8ms (802.11b 1Mbps) Parámetro Condición Min Typ Max Unidades Temperatura de operación -20 55 ºC Voltaje 1.82 3.3 3.6 V Punto normal de operación WiFi-on 80 4003 mA Punto normal de operación, WiFi modo ahorro 5 400 mA WiFi-off, el procesador dormido, RTC- on 6 µA E/S nivel alto de voltaje a la entrada 0.7 3.6 V E/S nivel bajo de voltaje a la entrada − 0,3 0,3 V Máxima corriente en los pines E/S -4 4 mA Corriente de fuga ≤≤ 4 µA Capacidad de carga Pines 1 a 9 20 pF Tabla 2. Características eléctricas.
13 Internet de las cosas aplicado al control del sistema energético de una vivienda. 3.1.3.4 ¿Cómo usarlo? El fabricante proviene de un lector de tarjeta y un hardware capaz de alimentar la tarjeta de dos formas diferentes, por USB o por batería. Figura 6. Placa para usar Imp001. Es necesario utilizar un jumper para indicar la alimentación, así el pin VIN es usado de forma correcta. Solamente hace falta introducir la tarjeta en el lector de la placa y ya tenemos el electric Imp001 listo para usar. Con este modelo se ha ido conociendo la forma de programar y comprobando con ejemplos su gran utilidad. Además de empezar a diseñar el código final, pudiendo así comprobar su funcionamiento correcto.
Memoria justificativa 14 3.1.3.5 Imp002. Este modelo es la versión actualizada del Imp001 en un formato especial para soldar, también incluye una antena Wi-Fi [16]. Figura 7. Imp002. 3.1.3.6 Prestaciones. 802.11 b/g/n WiFi o 20MHz 11n canales, 1x1 o -97dBm sensibilidad típica (1Mbps) o Antena WiFi integrada con 2.5dBi de ganancia máxima o Potencia de transmisión (TX power) 802.11b 16.5dBm +/-1.5dBm 802.11g 14.0dBm +/-1.5dBm 802.11n 12.75dBm +/-1.5dBm 32-bit Cotex M3 procesador o Sistema operativo embebido con actualizaciones a pruebas de fallos o Máquina virtual para firmware Baja potencia 6µA para modo dormir. Certificados FCC, CE, IC C-Tick certified 12 tipos de entrada o salidas seleccionables por el usuario o GPIO, PWM, salidas o entrada analógica o SPI, UART, I2C.
15 Internet de las cosas aplicado al control del sistema energético de una vivienda. 3.1.3.7 Pines y características electrónicas. Figura 8. Asignación de pines a Imp002. Número del pin Nombre del pin Descripción 1, 7, 13, 17, 23– 32, 35 GND1-15 Tierra 18,33 VDD Alimentación 2 OPTO_BIAS Conectado al colector del fototransistor 6 OPTO_IN Conectado al emisor del fototransistor el cual está conectado a tierra a través de una resistencia 3 LED_GREEN Salida del led verde 4 LED_RED Salida del led rojo 5 POWER_EN Salida de nivel alto para el enable del elevador DC/DC4 34 VDDA ADC entrada de referencia de voltaje, si no es usado está conectado a VD 8-12, 14- 16, 19-22 Pin1, Pin2, Pin5- PinE E/S Tabla 3. Descripción de pines del Imp002. 4 POWER_EN está a nivel alto cuando el imp002 requiere entre 2,5V-3,3V, es lo normal para Wi-Fi.
Memoria justificativa 16 PIN GPIO UART I2C SPI DAC ACD PWM PULSE COUNT WAKE 1 SÍ U1-CTS, U3-TX I1-SCL SPI1- SCLK SÍ SÍ SÍ SÍ SÍ 2 SÍ U1-RTS, U3-RX I1-SDA SPI2- MISO SÍ SÍ 5 SÍ U2-TX SPI2- SCLK SÍ SÍ SÍ 6 SÍ U6-TX 7 SÍ U2-RX SPI2- MOSI SÍ SÍ 8 SÍ U1-TX I2-SCL SPI1- MOSI SÍ SÍ 9 SÍ I2-SDA SPI1- MISO SÍ SÍ A SÍ SÍ B SÍ U4-RX SÍ C SÍ SÍ D SÍ E SÍ U6-RX Tabla 4. Tipos de entrada y salida del Imp002.
17 Internet de las cosas aplicado al control del sistema energético de una vivienda. 5 WiFi requiere un mínimo de 2.5V pero el código puede ejecutarse a 1,8V. El pin POWER_EN es activado para que un convertidor elevador externo proporcione +2.5V cuando el Wi-Fi esté activado 6 400mA en el peor de los casos durante los eventos de TX. Durante un máximo de 4.8ms (802.11b 1Mbps) Parámetro Condición Min Typ Max Unidades Temperatura de operación -20 55 ºC Voltaje 1.85 3.3 3.6 V Voltaje analógico de entrada 1.8 V Punto normal de operación WiFion 80 4006 mA Punto normal de operación, WiFi modo ahorro 5 400 mA WiFi-off, el procesador dormido, RTC-on 6 µA Corriente de entrada en 70 500 µA E/S nivel alto de voltaje a la entrada 0.7 3.6 V E/S nivel bajo de voltaje a la entrada −0,3 0,3 V Máxima corriente en un pin E/S -8 8 mA Corriente de salida en el pin LED_RED -20 20 mA Corriente de salida en el pin LED_GREEN -20 20 mA Máxima corriente en los pines E/S -80 80 mA Corriente de fuga ≤ ≤ 4 µA Capacidad de carga Pines 1 a 9 20 pF Pines A a E 5 Tabla 5. Características eléctricas del Imp002.
Memoria justificativa 18 3.1.3.8 ¿Cómo usarlo? En esta versión especialmente diseñada para soldarla, está pensada para PCB, en este proyecto, se diseña una placa con el propósito de medir el consumo de una vivienda, utilizando Imp002 se logra una mayor integración [17]. Para hacer esto hay especialmente dos importantes puntos: 1) Fototransistor. 2) LED. El fototransistor es necesario para la configuración del Imp002. Una resistencia irá conectada entre OPTO_IN y GND, la resistencia variará dependiendo del fototransistor utilizado, se debe seleccionar una que tenga al menos 500mV de oscilación entre el estado negro y el estado blanco. Al comienzo de cualquier BlinkUp, la onda de señal “Sync” establece los parámetros necesarios para interpretar los datos de la señal. Como se puede ver en la figura 9, la fase de sincronización de dos niveles consta de una serie de destellos del dispositivo móvil, que será el máximo y el mínimo. Figura 9. Señal de sincronización y datos. Durante el envío de datos, cualquier nivel por encima del punto medio se considera valor alto y cualquier señal por debajo se considera nivel bajo. Los fotogramas en el sistema operativo IOs tienen una velocidad de 60 fps, pero debido a diversos factores, algunos dispositivos Android no llegan a soportar 60 fps de forma constante, por lo que surgen dos posible soluciones a este problema. - ‘Legacy mode’. - BlinkUp de tres niveles. La primera solución se trata del mismo sistema anterior, pero a menor velocidad. Mientras que la segunda solución es más robusta. Como se observa en la figura 10, ahora hay 3 niveles diferentes, que servirá para decidir si es nivel alto o bajo según las siguientes ecuaciones:
19 Internet de las cosas aplicado al control del sistema energético de una vivienda. Nivel de blanco > Sinc Max + 0,2 * (Sync Max - Min sincronización). Nivel de blanco > Gray Nivel > (Sync de sincronización Max +Min) /2. Nivel de negro <Gray Nivel. Figura 10. Señal para BlinkUp tres niveles. Este caso es importante dado que este proyecto se realiza con Android. El nivel lógico alto (1) se determina por una señal “negro” seguido por una señal “gris” y el nivel bajo (0) se determina por una señal “negro” seguido de una señal “blanco” Programación. Electric Imp al ser un hardware programable necesita un ambiente de desarrollo. Esta plataforma desarrolla su propio IDE, que solo corre en el navegador. Con este IDE se pueden ver todos los Imp´s que se tenga dado de alta en nuestra cuenta. Nos permite desarrollar aplicaciones de forma remota, es decir, se puede tener el Imp en casa y actualizar nuestro proyecto desde cualquier otro sitio con conexión a internet. En la siguiente figura, se puede observar un ejemplo del entorno de desarrollo de esta plataforma, para acceder a él solo hay que registrarse. El código está escrito en “Squirrel” que es el lenguaje de programación de esta plataforma. Una peculiaridad de este entorno de desarrollo es que hay dos ventanas, una para el código del agente y la otra es para el código del dispositivo.
Memoria justificativa 20 Figura 11. Entorno de desarrollo del Electric Imp. - Agent (Agente): El agente es el código que se corre en la nube de Electric Imp, permite hacer procesamiento pesado, realizar y procesar solicitudes HTTP y almacenar pequeñas solicitudes de datos. - Device (Dispositivo): El dispositivo en sí es el Imp, el código que se ponga en el editor de device se corre en el Imp. Para guardar y ejecutar el código basta con darle al botón de “Build and Run” y ya se estará ejecutando el proyecto si no ha habido fallo de sintaxis, para evitar que se le dé a esté botón y de una orden de error, también está el botón de “Check” para comprobar si hay o no fallo en la sintaxis.
21 3.2 Fabricación del prototipo. En este apartado de desarrollará todo el proceso, desde el primer diseño hardware hasta la obtención de la placa PCB y su posterior soldadura. Diseño analógico. 3.2.1.1 Hardware para la adaptación de la señal. El objetivo principal del proyecto es medir la potencia consumida en una vivienda, para ello es primordial la monitorización de las señales. A continuación se detallan las ideas básicas para conseguir el objetivo: - Seguridad. - Pasar de +-230Vrms a una señal comprendida entre 0 y +3,3V. - Medir la intensidad a través de un transformador de corriente. - Señales sinusoidales de 50 Hz [18]. Figura 12. Circuito de simulación en MicroCap10. En la figura 12 se observa el diseño del circuito completo. La parte superior de la imagen muestra el circuito utilizado la adaptación de la señal de intensidad y la parte inferior hace lo propio con la señal de tensión.
Memoria justificativa 28 divisor de tensión está calculado para este valor máximo. Por seguridad estará normalmente abierto. Figura 22. Módulo Imp002 en EAGLE. Este es el modelo del Imp, en el módulo Imp002 cada pin tiene una posible configuración de entrada y salida, por lo que se debe conectar dos pines con ACD al circuito, de este modo el integrado interpreta bien la señal. Lo mismo pasa cuando se desea actuar sobre el exterior, se deberá a hacer desde un pin que disponga de DAC. Además se saca una conexión para el power_en, por si necesita en el futuro usar un convertidor externo y un jumper que conecte VDDA y VDD para igualar las dos tensiones, la tensión de operación y la tensión analógica de entrada. Además de todo esto todos los pines del integrado serán accesible desde el exterior. Figura 23. Capacidad de desacoplo. Las fuentes de alimentación no pueden suministrar corrientes muy rápidas a los circuitos integrados, provocando una caída de tensión, lo que se conoce como “rail collapse” [23], por lo que se utiliza condensadores de desacoplo, consiguiendo que se minimice el ruido generado por la conmutación de la salidas del integrado. Además, evita que se produzcan emisiones radiadas, también proporciona a la corriente de alta frecuencia un camino de baja impedancia, y asegura una baja impedancia entre la fuente y tierra.
29 Internet de las cosas aplicado al control del sistema energético de una vivienda. Los valores de estos condensadores son proporcionados por el fabricante. Figura 24. Leds y fototransistor. Es necesario dimensionar de forma correcta el circuito de fototransistor para lograr conectar el Imp002 a internet, para ello, se conectan dos pines que harán las funciones de test points , con ellos se miden las señales, pudiendo así dimensionar la R4 de forma correcta. Se instala un led bicolor que dispone de un led rojo y otro verde, de esta manera se puede ver el estado del integrado. Con la combinación de colores y la frecuencia de parpadeo se obtiene información del estado de configuración y sobre un posible fallo. La forma de actuar será la siguiente: Con toda la placa terminada, se ejecuta el proceso de blinkUp con el teléfono Android, y se observan las señales a través de un osciloscopio, dependiendo de los resultados, se deberá aumentar o disminuir el valor de R412, para conseguir una configuración satisfactoria. 12 R4 toma un valor inicial de 33kΩ que es un valor estándar para el fototransistor utilizado.
Memoria justificativa 30 Figura 25. Configuración de relé. Otro de los objetivos del proyecto es poder actuar sobre la vivienda para ello se utilizará un relé de las siguientes características: - Tensión nominal 5V. - Tensión de conmutación máxima 240VAC. - Señal de control a 3,75V (aunque en práctica con menos funciona). Para habilitar o deshabilitar el relé se utilizará el PIN_1 del Imp002, el funcionamiento del circuito es el siguiente: Cuando se activa la señal del PIN_1 empieza a circular intensidad por R8 haciendo que el BJT pase a conducción, de esta manera el led se encenderá y el relé cambiará la salida.
31 Internet de las cosas aplicado al control del sistema energético de una vivienda. Figura 26. Convertidor elevador. El relé tiene una tensión nominal de 5V, cuando está conectado por batería nunca se llega a esa tensión, impidiendo al relé funcionar correctamente, por eso se diseña un convertidor elevador que dé esos 5V. Los demás componentes están sacados del datasheet del fabricante. Además, se dispone de 3 pines, VIN, que se utilizará como alimentación del relé cuando se esté conectado por USB, VRELE es la alimentación con la que se alimentará el relé y VRELE_BAT, que es el voltaje que sale del elevador cuando se conecta la batería. El circuito se ha diseñado que para que con un jumper se seleccione el tipo de alimentación, dependiendo de si se alimenta el circuito por batería o por USB. De esta forma siempre se obtiene 5V para alimentar al relé, logrando un correcto funcionamiento. Figura 27. Tira de pines. Para que la placa pueda ser accesible desde fuera y el módulo Imp002 se pueda reutiliza,r se utiliza esta tira de pines.
Memoria justificativa 32 La siguiente imagen muestra el diseño completo que se ha hecho en EAGLE Figura 28. Diseño completo en EAGLE. Selección de componentes. Después del diseño hardware y del cálculo de todos los valores de los componentes, hay que seleccionar los componentes y comprarlos. Esta es una parte fundamental del proyecto, hay que seleccionar componentes que tengan una huella que sea fácil de soldar. En principio se pensó en hacerlo con componentes THD (Through Hole Devices), es decir, de agujeros pasantes, pero finalmente se optó por hacer una placa de montaje superficial (SMD). Con este tipo de tecnología se reduce en espacio. Al hacer la placa de forma manual y no mandándose a fabricar hay que seguir una serie de recomendaciones: los componentes seleccionados deben tener un tamaño mínimo para conseguir una soldadura con el material disponible, a la vez deben ser lo más económicos posible, pero algunos componentes por precio o por requisitos es imposible encontrarlos de un tamaño mayor.
33 Internet de las cosas aplicado al control del sistema energético de una vivienda. Para mayor legibilidad se separarán los componentes en diferentes grupos: Código RS13 Huella Descripción Cantidad Precio € 732- 7927 Soic8 MAX4477 1 2,34 505-1485 1503 Conector Jack Lumberg 1 2,47 679-1761 1206 R 100 Ω 5 0.033 679-2351 1206 R 82 Ω 1 0,045 679-1998 1206 R 2,21K Ω 1 0,031 679-1279 0805 R 31,6K Ω 1 0,035 678-7037 0805 R 510K Ω 1 0,014 679-1951 1206 R 270 Ω 1 0,012 679-1682 0805 R 7,32 Ω 1 0,028 751-3853 Sot-23 Diodo Vz=6,2V 4 0,029 220-4060 2-2.54mm Borna 1 0.666 220-4276 3-2.54mm Borna 1 1.126 Tabla 6. Componentes hardware de adaptación de señal. Código RS Huella Descripción Cantidad Precio € 223-2265 1206 R 1K Ω 1 0,017 223-2394 1206 R 10K Ω 1 0,019 700-3677 SOD-323 1n4148 1 0,037 545-0343 SOT-23 2n3901 1 0,081 758-7630 PLCC 2 LED Osram 1 0,042 1092414 RELAY-T9A-2 RELE JQX-15F 1 2,95 Tabla 7. Componentes para relé. 13 Página web http://es.rs-online.com/web/ 14 Salvo esta referencia que es https://www.sparkfun.com/
Memoria justificativa 34 Código RS Huella Descripción Cantidad Precio € 698-3706 1206 1206 1 0,56 813-5555 SRN2510 Bobina 2,2uH 1,5A Idc 1 0,221 825-6958 WSON-8 TPS62172DSGT, Convertidor reductor 1 1,76 788-3073 1210 Condensador 10uF, 50Vdc 1 0,314 674-2397 2x2,54mm Jumper hembra 2 0,052 904-8225 USB-MINIB Conector USB 1 1,75 822-2649 SOT23-3 Mosfet tipo P 1 0,058 688-1325 JST-2-SMD Conector macho PCB JST 1 0,033 698-3614 1206 Condensador 100pF 3 0,069 669-8414 1206 Condensador 1uF 2 0,034 710-3853P 0805 Fototransistor Vishay 1 0,439 692-1307 0605 LED Bi-color 1 0,298 679-2049 1206 R 330 Ω 2 0,012 669-6604 1206 R 33K Ω 2 0,188 625-5650 DO-214AC MBRA140T3G 1 0,297 721-9967 1206 R 62K Ω 1 0,15 896-7620 2x2.54mm Conector de contacto macho 20 0,04 Tabla 8. Componentes para la adaptación del Imp002.
35 Internet de las cosas aplicado al control del sistema energético de una vivienda. Referencia Huella Descripción Cantidad Precio € 739-5986 UMLP Convertidor subida DC-DC 1 0,434 698-3579 0805 Condensador 4,7uF 1 0,034 792-6388 0805 Bobina 1uH 1 0,176 Tabla 9. Componentes convertidor elevador. Los componentes deben cumplir una serie de requisitos, tales como un rango de temperatura de funcionamiento, la presión, la humedad, golpes y vibraciones que soportan. Como esta información no se tiene de todos los componentes se ha supuesto el relé como elemento más restrictivo en todas las condiciones excepto en el rango de temperatura, donde el USB marca el rango soportado por la placa. Quedando demostrado que la placa actuaría correctamente bajo las siguientes condiciones: - Temperatura de funcionamiento mínimo 0ºC máximo 50 ºC. - Humedad relativa 98% a +40ºC. - Golpes a 98 m/. - Vibración 10~55Hz. - Presión 86~106kPa. Diseño de layout. Después de tener todos los componentes seleccionados, es muy importante elegir el componente adecuado en las librerías de Eagle, comprobando que su huella es la correcta y en caso contrario diseñarla con los datos del datasheet, como ha pasado con bastantes componentes menos comunes. Según el fabricante hay que colocar los condensadores de desacoplo lo más cerca posible de los pines del Imp002. Se han usado diferentes anchos de pistas para evitar problemas, ya que las patas de algunos integrados son muy finas la pista se va variando de tamaño progresivamente. Tras varios intentos y recolocación de los componentes, se obtiene el siguiente diseño:
Memoria justificativa 36 Figura 29. Layout completo. La gran cantidad de componentes utilizados hace imposible que el diseño de la placa se resuelva solo por una cara, por lo que la placa se hace a doble cara. Los pasos de cara se intentan evitar que coincidan debajo de integrados evitando la existencias de topes, complicando la soldadura. Para una visualización más clara consultar anexo A. Para dar por finalizado el diseño hay que conectar un plano de tierra rodeando al circuito.
37 Internet de las cosas aplicado al control del sistema energético de una vivienda. Fabricación PCB. Existen diversos métodos de fabricación de PCBs, en este caso, debido a la disponibilidad de elementos necesarios y por su precio, se usa el método llamado fotolitografía. Se imprime el PCB en papel de acetato, por un lado la parte top y por otro la cara bottom. El siguiente paso es preparar las disoluciones para el revelado de la placa: para preparar el líquido revelador se disuelve una cucharada de bicarbonato de sodio en un litro de agua; para el líquido atacante la proporción será 100cc de agua fuerte, 100cc de agua oxigenada y 100cc de agua. Después de tener listas las disoluciones, se comienza a revelar el PCB. Se hace uso de la insoladora de rayos UVA que elimina la resina de aquellas zonas expuestas directamente a la luz. En un ambiente lúgubre, se despega la cubierta adhesiva de la placa para dejar al descubierto su cara fotosensible, coloca hacia arriba, superponiendo el papel de acetato con el circuito impreso, teniendo cuidado de colocarlo de la forma correcta. En la placa aparece el circuito que ve directamente el observador. Después, se hace el vacío y durante aproximadamente 3 minutos se deja actuar la radiación, este proceso se vuelve a repetir para la otra cara de la placa con cuidado de no mover el papel de acetato para que los pasos de cara coincidan. Una vez sacada la placa, ésta se sumerge en el líquido revelador, que actuará de capa protectora sobre las zonas de la placa que no han sido insoladas; tras varios minutos se saca de la disolución y se enjuaga. Justo después se introduce en el líquido atacante, tras varios minutos se enjuaga y se seca. El líquido revelador es reutilizado, pero el líquido atacante pierde su poder corrosivo por lo que se deposita en un recipiente para su correspondiente tratado. Montaje de los componentes. Antes de taladrar la placa hay que retirar la resina que protege al cobre de su oxidación, para ello se utiliza acetona. Con esto el estaño se adhiere correctamente. Después de esto, se taladra la placa para conseguir hacer los pasos de cara y soldar los componentes THD. La soldadura que se realizará será manual, con estaño y flux para facilitar la soldadura de los componentes a la placa. Lo primero es soldar los pasos de caras, y comprobar la continuidad con ayuda de un voltímetro. Después de haber soldado todos los pasos de caras, se empieza a soldar los demás componentes, de menor a mayor tamaño, evitando que los componentes más grandes dificulten las demás soldaduras. A la hora de desoldar algunos componentes por problemas con el soldador, la pista de cobre se levanta, para poder solucionar esto se busca alternativas, como la colocación de cables para su correcta conexión o rascar un poco la placa para poder colocar el estaño correctamente y lograr el enlace. 3.3 Comprobación de funcionalidad. Después de tener la placa soldara se prosigue con diferentes pruebas para comprobar su funcionamiento. Antes de soldar el Imp002, se comprobará que toda la placa funciona correctamente, para ello se utiliza el Imp001 que hará las funciones del Imp002 gracias a los pines externo. Mientras la soldadura de componentes, siempre se comprueba continuidad con el fin de saber si se ha hecho correctamente o se produce un cortocircuito indeseado. Pero una vez completado la soldadura se comprueba si todos los componentes funcionan correctamente.
Memoria justificativa 44 Para comprobar que la salida es la esperada se simula el circuito con una fuente de intensidad de valor 4.78mA de amplitud en MicroCap10. Este valor es calculado de la siguiente manera: =2200 =∗ →=230 ;=2200 230 =9.565 El transformador tiene una relación de 100A:50mA por lo que en el circuito entra 4.78mA. Al medir con el osciloscopio se presenta la siguiente señal: Figura 41. Salida del osciloscopio del circuito de intensidad con batidora. La señal representada en el osciloscopio corresponde de forma aproximada con la señal de salida del software del MC10, por lo que se comprueba que esta parte del circuito también es correcta. PRUEBA C: Rele, encender y apagar en el laboratorio. Esta prueba consiste en hacer cambiar de posición al relé, para ello éste se debe de alimentar en 5V, en el diseño se colocaron 3 pines donde cada uno representa, la alimentación de la batería, la alimentación del relé y la alimentación del USB. Con la ayuda de un jumper se selecciona el tipo de alimentación externa. En este caso se hará alimentando por USB.
45 Internet de las cosas aplicado al control del sistema energético de una vivienda. Figura 42. Placa alimentada por relé. Con la alimentación y el jumper conectado se comprueba que el relé está cerrado, para que relé cambie de estado se debe alimentar el pin 1, salida DAC del Electrip Imp, de esta manera el transistor comienza a circular intensidad logrando que cambie de estado el relé. En la siguiente figura se muestra el relé encendido. Figura 43. Relé encendido.
Memoria justificativa 46 PRUEBA D: Rele enceder y apagar con Electric Imp. Para apagar y encender el relé se comprueba mediante el código Hello Word. De esta manera a cada 20 segundos se logra que se encienda o se apague a través de las órdenes del Electric Imp. Para esta prueba se utiliza el código agent por primera vez, en este caso la información del estado del relé se recibirá a través de la URL. Codigo Hello Word Agent. Figura 44. Device logs. La URL del dispositivo, saldrá en el registro del dispositivo, tal y como se programó anteriormente, la URL es única de cada dispositivo y ésta permite manejarlo desde cualquier red. Solamente hay que introducirla en un navegador tal como muestra la siguiente imagen. Figura 45. URL en el navegador. Este es la colocación del sistema en este caso. Los dos USB están conectados al mismo ordenador por lo que no hace falta conectar las masas entre las dos placas. Figura 46. Sistema para encender y apagar el relé.
47 Internet de las cosas aplicado al control del sistema energético de una vivienda. Figura 47. Sistema con relé encendido. PRUEBA E: Cálculo de potencia. Por motivos de seguridad, no se introducirá 230Vrms a la placa, ni se puede generar una señal externa con un generador de señal puesto que debe de estar en fase con la intensidad. Se lee la señal de intensidad y la señal de tensión será la misma señal multiplicada por un factor, de esta manera se consigue que las dos señales estén en fase y poder hacer las pruebas una manera correcta. Figura 48. Sistema completo.
Memoria justificativa 48 Para este caso, se prueba con el código calculador Irms y se conectará un electrodoméstico, esta vez de 700W, =700 =∗ →=230 ;=700 230=3 Figura 49. Potencia del electrodoméstico de 700W. Ejecutamos el código calculador Irms y se obtienen los siguientes resultados Figura 50. Device logs corriente y potencia activa. Los valores obtenidos de 2,94A y 676,5W son muy aproximados a los estudios teóricos, no se puede asegurar que el electrodoméstico esté consumiendo en todo momento 700W por lo se afirma que los valores son correctos.
49 Internet de las cosas aplicado al control del sistema energético de una vivienda. Y también los resultados que se representan en la página web www.thingspeak.com. Figura 51. Página thingSpeak gráficas potencia activa e Irms. Los resultados de las figuras corresponden a los datos esperados. Los picos de las gráficas representan el momento en el electrodoméstico está encendido, los datos se toman en intervalos de 15 segundos. El código utilizado es: calculador irms y potencia activa. PRUEBA F: Trabajo final. Esta prueba utiliza el código TFG. A él se han sumado todas las funcionalidades anteriores, además de añadirles algunas nuevas: un temporizador para apagar y encender el relé a la hora elegida, la hora será pasada por URL, siendo así más interactivo con el usuario; envío de nuevas gráficas como la referida a la potencia aparente, a la potencia reactiva, al valor eficaz de la tensión y a la tensión de alimentación del dispositivo, muy útil en la utilización de la batería por ejemplo para informar sobre el estado de su carga. En esta prueba, se muestra cómo la aplicación es capaz de leer la potencia consumida y de actuar simultáneamente sobre la vivienda. El sistema montado será el mismo que el de la figura 48. Figura 52. Registro del dispositivo al ejecutar el código TFG. En la figura 52 se muestran las opciones que se dan al usuario para interactuar con la aplicación. Las primeras opciones sirven para encender o apagar el relé a través de un navegador, al que se le pueden conectar electrodomésticos o bombillas entre otras cosas. Las dos opciones siguientes enseñan el formato que debe ser puesto en el navegador para activar o desactivar el relé, solo habría que modificar los dos guiones por la hora y el minuto que se desea. Como se muestra en las siguientes dos imágenes.
Memoria justificativa 50 Figura 53. Navegador desactivación del relé. Figura 54. Navegador activación del relé. Si se utiliza la URL de la figura 54, el relé a las 21:30 se encenderá tal y como aparece en la siguiente imagen. Figura 55. Relé encendido con temporizador. Si por el contrario, se pusiera una hora incorrecta saltaría el siguiente mensaje de error. Figura 56. . Navegador con mensaje de error.
51 Internet de las cosas aplicado al control del sistema energético de una vivienda. Al mismo tiempo que la aplicación espera estas instrucciones y las ejecuta, puede seguir calculando la potencia. Basta con encender de forma manual el electrodoméstico (700W) y esperar que el dispositivo envíe al servidor los datos leídos. Figura 57. Página ThingSpeak trabajo Figura 58. Device logs trabajo final.
Memoria justificativa 52 Todo es correcto, tal y como puede comprobarse. El Vrms sale 230 que es lo que está establecido, la potencia aparente coincide con la potencia activa y tiene un valor de con los 660W muy similar a las 700W del electrodoméstico, la potencia reactiva sale 0 y, por último, el valor de Irms es muy similar al esperado teóricamente de 3 A. Aunque los valores no coincidan con los teóricos no significa que el resultado esté mal, porque nadie asegura que el electrodoméstico este consumiendo su máxima potencia continuamente. Figura 59 . Registro del dispositivo valores residuales. En la figura 59 aparecen las medidas obtenidas cuando no hay ninguna resistencia conectada , como se puede observar estos valores son valores residuales debido a los errores en la medida. Uno de los requisitos de la placa era tener un error límite de corriente eficaz menor a 1%, y un error límite de potencia menor a 1%. í= ∗100=0.135 40 ∗100=0.3375% í= ∗100=30,94 9200∗100=0.336% Queda demostrado que la placa cumple con los requisitos.
53 4 MEMORIA DE CÁLCULOS En este anexo se explicará los cálculos realizados para la obtención de los valores de las resistencias del apartado 3.2.1 4.1 Circuito de intensidad. La amplitud máxima es de 40A y después de pasar por el transformador de corriente de relación 100A:50mA, realizando una simple regla de tres se obtiene que la amplitud máxima de la intensidad que entrará en el circuito es de 20mA. Figura 60. Diseño entrada de intensidad. El diodo tiene una =6,2 y suponemos que en conducción toma un valor de 0,7V por lo que en el punto B se esperan 6,9V y en el punto A se busca que haya 1,6V. Por lo que resolviendo el divisor de tensión siguiente: − =5 6,9−1,620 =5=265Ω =6 1,680 =6=80Ω Como estos valores de resistencias no existen, se buscan resistencias de similar valor, seleccionando 5=270Ω 6=82Ω
61 ANEXO A. PLANOS A.1 Cara top. Cara top de la placa, están representadas las pistas y los componentes. Figura 64. Cara top.
Anexo A. Planos 62 A.2 Cara bottom. Cara bottom de la placa, están representadas las pistas y los componentes. Figura 65. Cara bottom.
A.3 Cara top impresión. Cara top de la placa, esto es lo que se imprimirá en la placa. Figura 66. Placa cara top impresión.
Anexo A. Planos 64 A.4 Cara bottom impresión. Cara bottom de la placa, esto es lo que se imprimirá en la placa. Figura 67. Placa bottom impresión.
65 ANEXO B. CÓDIGO TFG B.1 Código calculador de irms y potencia activa. B.1.1 Código Agent. local thingSpeakUrl = "http://api.thingspeak.com/update"; local headers = { "Content-Type" : "application/x-www-form-urlencoded", "X-THINGSPEAKAPIKEY" : "7YOW0DNY51UMAHP4" }; local field1 = "field1"; // variable para potencia activa local field2 = "field2"; // variable para Irms device.on("sendAnalogInput", function(analog_value) { local request = http.post(thingSpeakUrl, headers, analog_value); local response = request.sendsync(); server.log(response.body); }); B.1.2 Código Device. sampleI <- 0; // variable donde se guardan las muestras voltaje_pin <- 0.0; //variable auxiliar que mide el valor del voltaje en el pin B sqI <- 0.0; // variable donde se guarda el cuadrado sumI <- 0.0; // sumatorio de intensidad int_amp <- 0; //intensidad que se mide antes del amplificador int_real <- 0; // intensidad real que mide el circuito power <- 0; // variable para el calculo de pontencia I*I poweract <-0; //sumatorio de la potencia var_int <-0; // variable intermedia donde se aplicara el factor de escala de la potencia variable <-0; // variable auxiliar para imprimir y enviar los datos correctamente Irms <-0; j <- 0; // bandera que sirve para solo leer un periodo function samplesReady(buffer, length) { if (j==0){ // esta condición asegura que solo se lea 1 periodo y se calcula el promedio if(length>0) { server.log("buffer " + length); for(local i = 0; i < length; i=i+2) { sampleI = buffer[i+1]<<8; // los datos tienen 16 bits y se buffer tiene en cada posicion 8 bits, por lo que se desplaza sampleI+=buffer[i]; voltaje_pin = sampleI*3.3/65536.0; // calculo para saber el valor del voltaje, 3,3 es la referencia y 65536 es el numero de bit int_amp= 1.583 - voltaje_pin; // valor de offset int_real = int_amp/82; // resistencia del circuito
Anexo B. Código TFG 66 power= 2000*int_real*2000*int_real; // 2000 es el valor de transformacion inverso poweract += power; sqI = 2000*int_real*2000*int_real; sumI += sqI; } Irms = math.sqrt(2*sumI/length); // se multiplica por 2 porque solo se cogen 1000 muestras sumI = 0; server.log("RMS value of current " + Irms); if ( Irms > 1 ) { // si la intensidad es menor que 1 es que lo que lee es basura var_int = poweract*230/Irms; // es el valor de escala entre el voltaje y la intensidad } else { var_int = poweract*60; } variable = 2*var_int/length; server.log("Power active " + variable); poweract=0; j=1; } else { server.log("Overrun"); } } } function stopSampler() { server.log("stop"); hardware.sampler.stop(); agent.send("sendAnalogInput",("field1"+"="+variable+"&"+"field2"+"="+Irms)); // se envian los dos campos a la vez j=0; imp.sleep(15); // se duerme durante 15 segundos hardware.sampler.configure(hardware.pin7, 50000, [buffer1, buffer2], samplesReady); // se muestrea el pin 7 hardware.sampler.start(); // cuando se acaba se vuelve a lanzar imp.wakeup(1,stopSampler); // esta actuando durante 1 segundo y después llama a la funcion stopSampler } buffer1 <- blob(2000); buffer2 <- blob(2000); hardware.sampler.configure(hardware.pin7, 50000, [buffer1, buffer2], samplesReady); // se muestrea el pin 7 hardware.sampler.start(); imp.wakeup(1, stopSampler); // está actuando durante 1 segundo y después llama a la función stopSampler, da tiempo a leer buffer varias veces en este tiempo
67 Internet de las cosas aplicado al control del sistema energético de una vivienda. B.1.3 Explicación del código. El objetivo de este código es calcular la corriente eficaz y la potencia activa, para ello se hace uso de la función hardware.sampler, para esta función muestrea la señal que se recibe por el pin número 7 a una frecuencia de 50000Hz16 y seguidamente llama a la función samplesReady(). Los datos tienen 16bits, pero la función samplesReady() guarda en buffer 8 bits, por lo que se necesitarán dos posiciones de buffer para obtener un dato real, para ello se desplaza 8 bits y después se suma. El siguiente paso es obtener un valor en decimal, por lo que se multiplica por 3.3 que es el valor de referencia del ADC y se divide por el número de bits17, seguidamente se sigue el camino inverso del circuito anteriormente diseñado, se le resta el offset del código y se divide por la resistencia de 82Ω para obtener la intensidad. Esta es la intensidad que lee la PCB pero al multiplicarla por 2000 obtenemos el valor de intensidad que está consumiendo la vivienda, este valor se saca de la relación del transformador a la inversa ( ∗). Para calcular la potencia se usa el valor Irms para obtener la tensión de forma proporcional a la intensidad leída. La tensión por razones de seguridad no lo se probará conectando a la toma de la vivienda. El valor proporcional es 230/Irms, consiguiendo que el valor se auto calculé dependiendo de la potencia que lea. Como la página thingSpeak representa valores cada 15 segundos, el Electrip Imp se “duerme” durante este tiempo para ahorrar batería. Por lo que se leerá la potencia cada 15 segundos. 16 Se trabaja con 1000 muestra y se necesita hacer el promedio cada 20ms por lo que la conversión debe hacerse cada 20ms/1000 = 20us -> f=1/20us 17 2^16 -> 65536
Anexo B. Código TFG 68 B.2 Código Hello Word. B.2.1 Código Device. //una variable global led <- hardware.pin9 ; // configura una salida digital con un valor inicial de 0 led.configure(DIGITAL_OUT, 0); state <- 0; // variable para el estado local i = 0; // variable para numero de repeticiones function blink() { // invierte el estado state = 1 - state; led.write(state); } // empieza el bucle do { i++ blink(); imp.sleep(20); server.log("ok"); } while (i < 10000); B.2.2 Explicación del código. El código hace cambiar el valor del LED cada 20 segundos. Invierte el valor anterior B.3 Código Hello Word Agent. B.3.1 Código Device. led <- hardware.pin9; //una variable global led.configure(DIGITAL_OUT, 0); // configura una salida digital con un valor inicial de 0 function setLedState(state) { server.log("Set LED to state: " + state); selecciona el estado que le envia el agente led.write(state); } agent.on("set.led", setLedState); //envía información al agent
69 B.3.2 Código agent. server.log("Turn LED On: " + http.agenturl() + "?led=1"); // Imprime la url para encender server.log("Turn LED Off: " + http.agenturl() + "?led=0"); // Imprime la url para apagar function requestHandler(request, response) { try { // comprobar y enviar el estado del led if ("led" in request.query) { // tiene que ser 1 o 0 sino da error if (request.query.led == "1" || request.query.led == "0") { // Convertir a entero local ledState = request.query.led.tointeger(); // Envía el dato al dispositivo device.send("set.led", ledState); } } // Send a response back to the browser saying everything was OK. response.send(200, "OK"); } catch (ex) { response.send(500, "Internal Server Error: " + ex); } } // Registrar el controlador HTTP para empezar a ver las peticiones HTTP desde el navegador http.onrequest(requestHandler); B.3.3 Explicación del código. En código se utiliza el agente, gracias a él el dispositivo puede comunicarse con internet, el código device se comunica con el agent y cambia el valor de led según lo que reciba de éste. Mientras que el código agent, recibe la información a través de su url, y espera que la información venga detrás de su url seguido de “?led=” y 1 si se desea encender y 0 si se desea apagar. Este valor se convierte en entero y se envía al dispositivo a través de device.send.
Anexo B. Código TFG 76 Vrms <-0; aparente <-0; //potencia aparente Q <-0; //potencia reactiva que se toma como cero j <- 0; // bandera que sirve para solo leer un periodo function samplesReady(buffer, length) { if (j==0){ // esta condición asegura que solo se lea 1 periodo y se calcula el promedio if(length>0) { server.log("buffer " + length); for(local i = 0; i < length; i=i+2) { sampleI = buffer[i+1]<<8; // los datos tienen 16 bits y se buffer tiene en cada posicion 8 bits, por lo que se desplaza sampleI+=buffer[i]; voltaje_pin = sampleI*3.3/65536.0; // calculo para saber el valor del voltaje, 3,3 es la referencia y 65536 es el numero de bit int_amp= 1.583 - voltaje_pin; // valor de offset int_real = int_amp/82; // resistencia del circuito power= 2000*int_real*2000*int_real; // 2000 es el valor de transformacion inverso poweract += power; Vrms += 2000*int_real; // para despues multiplicar por el factor y obtener Vrms sqI = 2000*int_real*2000*int_real; sumI += sqI; } Irms = math.sqrt(2*sumI/length); // se multiplica por 2 porque solo se cogen 1000 muestras sumI = 0; server.log("RMS value of current " + Irms); var_int = poweract*230/Irms; // es el valor de escala entre el voltaje y la intensidad activa = 2*var_int/length; Vrms = math.sqrt(2*poweract*(230/Irms)*230/(Irms*length)); // la suma del cuadro de intensidades por la constante al cuadrado entre el numero de muestras aparente = Vrms*Irms; Q = math.sqrt (aparente*aparente-activa*activa); server.log("Power active " + activa); server.log("Vrms " + Vrms); server.log("Potencia aparente " + aparente); server.log("Potencia reactiva " + Q); poweract=0; j=1; } else { server.log("Overrun"); } } } function stopSampler()
77 Internet de las cosas aplicado al control del sistema energético de una vivienda. { server.log("stop"); hardware.sampler.stop(); agent.send("sendAnalogInput",("field1"+"="+activa+"&"+"field2"+"="+aparente+" &"+"field3"+"="+Q+"&"+"field4"+"="+ Vrms+"&"+"field5"+"="+Irms + "&" + "field6"+"="+ batteryvoltage)); // se envian los dos campos a la vez j=0; imp.sleep(15); // se duerme durante 15 segundos hardware.sampler.configure(hardware.pin7, 50000, [buffer1, buffer2], samplesReady); // se muestrea el pin 7 hardware.sampler.start(); // cuando se acaba se vuelve a lanzar imp.wakeup(1,stopSampler); // esta actuando durante 1 segundo y después llama a la funcion stopSampler } buffer1 <- blob(2000); buffer2 <- blob(2000); hardware.sampler.configure(hardware.pin7, 50000, [buffer1, buffer2], samplesReady); // se muestrea el pin 7 hardware.sampler.start(); imp.wakeup(1, stopSampler); // esta actuando durante 1 segundo y después llama a la funcion stopSampler } imp.onidle(function() { sendAnalogInput(); }); agent.on("set.led", setLedState); agent.on("set.hora", preparar_hora); agent.on("set.minuto", preparar_minuto); agent.on("set.estado", preparar_rele); B.4.2 Agent // Log the URLs we need server.log("Turn rele On: " + http.agenturl() + "?state=1"); server.log("Turn rele Off:" + http.agenturl() + "?state=0"); server.log("Turn rele On at:" + http.agenturl() + "?hora=--&minuto=-- &turn=1"); server.log("Turn rele Off at:" + http.agenturl() + "?hora=--&minuto=-- &turn=0"); //server.log("Turn LED Off: " + http.agenturl() + "?led=0"); hora_time <- 0; minuto <- 0; function requestHandler(request, response) { try { // Check if the user sent led as a query parameter if ("state" in request.query) { // If they did, and led=1.. set our variable to 1 if (request.query.state == "1" || request.query.state == "0") { // Convert the led query parameter to an integer local ledState = request.query.state.tointeger(); // Send "set.led" message to device, and send ledState as the data device.send("set.led", ledState); }
Anexo B. Código TFG 78 } if ("hora" in request.query){ if (request.query.hora >= "00" && request.query.hora <= "24"){ //debe de estar entre este rango hora_time = request.query.hora.tointeger(); device.send("set.hora", hora_time); } else { response.send(500,"Esperamos una hora valida, entre 00 y 24") } } if ("minuto" in request.query){ if (request.query.minuto >= "00" && request.query.minuto <= "60"){ //debe de estar entre este rango local minuto_time = request.query.minuto.tointeger(); device.send("set.minuto", minuto_time); } else { response.send(500,"Esperamos unos minutos valido, entre 00 y 60") } } if ("turn" in request.query){ if (request.query.turn == "1" || request.query.turn == "0") { // Convert the led query parameter to an integer local turn_state = request.query.turn.tointeger(); device.send("set.estado", turn_state); } } // Send a response back to the browser saying everything was OK. response.send(200, "OK"); } catch (ex) { response.send(500, "Internal Server Error: " + ex); } } // Register the HTTP handler to begin watching for HTTP requests from your browser http.onrequest(requestHandler); local thingSpeakUrl = "http://api.thingspeak.com/update"; local headers = { "Content-Type" : "application/x-www-form-urlencoded", "X-THINGSPEAKAPIKEY" : "7YOW0DNY51UMAHP4" }; local field1 = "field1"; local field2 = "field2";
79 Internet de las cosas aplicado al control del sistema energético de una vivienda. local field3 = "field3"; local field4 = "field4"; local field5 = "field5"; local field6 = "field6"; device.on("sendAnalogInput", function(analog_value) { local request = http.post(thingSpeakUrl, headers, analog_value); local response = request.sendsync(); server.log(response.body); }); B.4.3 Explicación del código. Este código es la suma de los anteriores al que se le ha añadido la funcionalidad del temporizador, este código lo proporciona el fabricante, solo hay que adaptarlo a nuestro código, la funcionalidad que se le ha añadido es que reciba los datos mediante URL en vez de escribirlo directamente. Esto permite que a través de un navegador se pueda programar la hora de apagado y de encendido, para ello se utilizan las funciones preparar_hora, preparar_minuto y preparar_rele. Además de esto se añade el cálculo de Vrms de manera artificial y el código de la potencia aparente, y de la potencia reactiva. Para calcular la potencia aparente se multiplica ∗ y para la potencia reactiva la fórmula utilizada es: = − . En este caso debería salir cero porque están en fase.
81 ANEXO C. ESPECIFICACIONES DE COMPONENTES C.1. Transformador de corriente.
Anexo C. Especificaciones de componentes 82 C.2. Max4477.
83 Internet de las cosas aplicado al control del sistema energético de una vivienda.
Anexo C. Especificaciones de componentes 84
85 Internet de las cosas aplicado al control del sistema energético de una vivienda.
Anexo C. Especificaciones de componentes 92
93 Internet de las cosas aplicado al control del sistema energético de una vivienda. C.4 TPS 62172.
Anexo C. Especificaciones de componentes 94
95 Internet de las cosas aplicado al control del sistema energético de una vivienda.
Anexo C. Especificaciones de componentes 96
97 REFERENCIAS [1] M. J. S. Gómez, «smart-lighting,» 16 Mayo 2016. [En línea]. Available: http://smartlighting.es/iot-2020-business-report-analisis-schneider-electric-futuro-las-empresas/. [2] «Gas Natural Fenosa,» [En línea]. Available: http://www.gasnaturalfenosa.es/es/conocenos/eficiencia+y+bienestar/1297117802057/la+ importancia+de+la+eficiencia.html. [3] D. Evans, «Cisco,» Abril 2011. [En línea]. Available: http://www.cisco.com/c/dam/global/es_mx/solutions/executive/assets/pdf/internet-of- things-iot-ibsg.pdf. [4] P. Maroto, «pacomaroto.wordpress,» 2014. [En línea]. Available: https://pacomaroto.wordpress.com/about/introduccion-a-la-internet-de-las-cosas/. [5] L. R. LLC, «An introdution to the Internet of Things,» 2013. [6] RS, «rs-online,» [En línea]. Available: http://es.rsonline.com/web/generalDisplay.html?id=i/iot-internet-of-things. [7] I. Romdhani, «Architecting the Internet of Things: State of the Art,» Julio 2015. [En línea]. Available: https://www.researchgate.net/publication/274718805_Architecting_the_Internet_of_Thing s_State_of_the_Art. [8] M. Roberti, «The History of RFID Technology,» RFIDJOURNAL, 2005. [9] D. o. B. Studies, «Near Field Communication: Technology and Market Trends,» MPDI, 2014. [10] «NFC Forum, March 2009. http://www.nfc-forum.org». [11] D. V. J. S. Sosa, «MIDDLEWARE: Arquitectura para Aplicaciones Distribuidas,» 2014. [12] «electricimpo,» 2016. [En línea]. Available: https://electricimp.com/businesssolutions/. [13] E. Inc., «www.arm.com,» 100. [En línea]. Available: http://www.arm.com/files/word/Yiu_Ch2.pdf. [14] «electricimp,» 2016. [En línea]. Available: https://electricimp.com/platform/. [15] e. imp, «specification,» 12 08 2014. [En línea]. Available: https://electricimp.com/docs/attachments/hardware/datasheets/Imp001_specification.pdf.
Referencias 98 98 [16] e. imp, «specification,» 16 07 2015. [En línea]. Available: https://electricimp.com/docs/attachments/hardware/datasheets/Imp002_specification.pdf. [17] «electricimp,» 23 06 2015. [En línea]. Available: https://electricimp.com/docs/hardware/blinkuptuning/. [18] A. Eléctrica, «nuevatribuna,» 22 Agosto 15. [En línea]. [19] E. Y. T. MINISTERIO DE INDUSTRIA, «Guía técnica de aplicación: Instalaciones de interiores,» Julio 2012. [20] E. P. Vivas, «ehowespanol,» [En línea]. Available: http://www.ehowenespanol.com/potencia-salida-estandar-usb-hechos_310842/. [21] «Wikipedia,» [En línea]. Available: https://es.wikipedia.org/wiki/Bater%C3%ADa_de_ion_de_litio. [22] «sparkfun,» 2015. [En línea]. Available: https://cdn.sparkfun.com/datasheets/Wireless/WiFi/Electric_Imp_Imp002_Breakout.pdf. [23] M. Á. M. Montaner, «http://miguelangelmoreno.jimdo.com,» [En línea]. Available: http://miguelangelmoreno.jimdo.com/inicio/simulaciones-y-preguntas-de- electr%C3%B3nica/para-qu%C3%A9-sirven-los-condensadores-de-desacoplo/. [24] I. Romdhani, «Architecting the Internet of Things: State of theArt,» 2015.
GLOSARIO SIGLAS 3G: third Generation AC: Alternating Current. ADC: Analog-to-Digital Converter. API: Applitacion Programming Interface. BJT: Bipolar Junction Transistor. CE: Conformidad Europea. DAC: Digital-to-Analog Converter. DC: Direct Currente. ETSI: European Telecommunications Standards Institute. FCC: Federal Communications Commission. GPIO: General Purpose Input/Output. GPRS: General Packet Radio Service. GSM: Global System for Mobile communications. HTML: HyperText Markup Language. HTTP: HyperText Transfer Protocol. I2C: Inter-Integrated Circuit. IDE: Integrated Development Enviroment. IOT: Internet of Things. ISO: International Organization for Standardization. JSON: JavaScript Object Notation. LED: Light-Emitting Diode. MBTF: Mean time between failures. MOSFET: Metal-Oxide-Semiconductor-Field-Effect-Transistor NFC: Near Field Communication. PCB: Printed Circuit Board. PWM: Pulse-Width Modulation. REST: REpresentational State Transfer. RFID: Radio Frequency IDentification. SMD: Surface Mount Device SOAP: Simple Object Access Protocol.M SPI: Serial Peripheral Interface. TFG: Trabajo Fin de Grado. THD: Through Hole Device. UART: Universal Asynchronous Receiver-Transmitter.
Glosario 100 100 USB: Universal Serial Bus. VAC: Volts Alternating Current VRMS: Voltios Root Mean Square: XML: eXtensible Markup Language Abreviaturas µA: micro Amperio. µF: micro Faradio. µH: micro Henrio. A: Amperio. dB: Decibelio. dBi: Decibels relative to Isotropic. dBm: Decibelio-milivatio. E/S: Entrada salida. Fps: Frames Per Second. GND: Ground. Hz: Hercio. I: Intensidad Kbits: kilo bits kW: kilo Watio kΩ: kilo Ohmio. mA: mili Amperio. Mbps: Mega Bits Per Second. Mhz: mega Hercio. mm: milimetros. mV: mili Voltio. P: Potencia pF: pico Faradio Secs: Segundos. Seg: Segundos. TX: Transmission V: Voltio. Ω: Ohmio.