• No se han encontrado resultados

Universidad de los Andes

N/A
N/A
Protected

Academic year: 2021

Share "Universidad de los Andes"

Copied!
113
0
0

Texto completo

(1)

Universidad de los Andes

DISEÑO, IMPLEMENTACIÓN Y ANÁLISIS DE UN PROTOTIPO A PEQUEÑA ESCALA DE UN SISTEMA AMI

LINA MARCELA GÓMEZ NARVÁEZ

ASESOR

ROBERTO BUSTAMANTE MILLER, PhD

DEPARTAMENTO DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA FACULTAD DE INGENIERÍA

UNIVERSIDAD DE LOS ANDES BOGOTÁ D.C., COLOMBIA

(2)

Lina Marcela Gómez Narváez: Diseño, implementación y análisis de un prototipo a pequeña escala de un sistema AMI.

Tesis para optar por el título de Magíster en Ingeniería, Área Electrónica Asesor:

Roberto Bustamante Miller, PhD. Ubicación:

Bogotá D.C. Colombia Agosto 2015

(3)

AGRADECIMIENTOS

Agradezco ante todo a mis padres y hermanas por el apoyo y confianza brindados

durante todo este tiempo, a mis amigos y compañeros de maestría por sus aportes

personales y profesionales, y al profesor Roberto Bustamante por darme la

oportunidad de trabajar con él.

(4)

Tabla de contenido

1 Introducción ... 10 2 Alcance y objetivos ... 11 2.1 Objetivo general ... 11 2.2 Objetivos específicos ... 11 2.3 Alcance ... 11

3 Planteamiento del problema ... 12

4 Marco teórico ... 13

4.1 Red AMI ... 13

4.2 Protocolo ZigBee ... 15

4.2.1 Tipos de dispositivos ... 15

4.2.2 Stack del protocolo ... 16

4.2.3 Smart Enery Profile ... 22

5 Metodología ... 27

6 Solución planteada ... 30

6.1 Medidor EVM430-F6736 ... 32

6.1.1 Descripción general ... 32

6.1.2 Procesos en el medidor ... 33

6.1.3 Procedimiento para colocar el medidor en funcionamiento ... 36

6.2 Enlace ZigBee ... 43

6.2.1 Descripción general ... 43

6.2.2 Z-Stack: Una solución ZigBee PRO 2012 ... 46

6.2.3 Procesos en el módulo ZigBee ... 50

6.2.4 Procedimiento para poner en funcionamiento el enlace ... 52

6.3 Concentrador de datos TMDSDC3359 ... 55

6.3.1 Descripción general ... 55

6.3.2 Proceso principal para recibir los datos en el concentrador ... 58

6.3.3 Procedimiento para colocar el concentrador en funcionamiento... 59

6.4 Aplicación Web y base de datos ... 64

6.4.1 Aplicación de usuario ... 65

6.4.2 Procedimiento para ejecutar la aplicación de usuario ... 69

7 Pruebas y resultados ... 73

7.1 Prueba de distancia RF ... 73

7.2 Test de potencia de transmisión ... 79

7.3 Prueba general del sistema ... 81

7.3.1 Pruebas sobre el medidor ... 81

7.3.2 Pruebas sobre el enlace ZigBee ... 85

(5)

7.3.4 Pruebas sobre la aplicación de usuario ... 90

7.4 Prueba de latencia del sistema ... 95

8 Conclusiones ... 99

9 Trabajos futuros... 100

9.1 Agregar más medidores a la red... 100

9.2 Programar seguridad al sistema ... 101

9.3 ZigBee IP ... 103

9.4 Implementación de DLMS/COSEM ... 105

Referencias ... 110

Anexo 1. Resumen de tecnologías de comunicación cableadas para Smart Gris... 112

(6)

Índice de Figuras

Figura 1. Ejemplo de una red ZigBee. Tomado de [9] ... 16

Figura 2. Capas del modelo de comunicación en ZigBee ... 16

Figura 3. Stack del protocolo ZigBee ... 17

Figura 4. Topologías de la red ... 18

Figura 5. Formato general del paquete APDU ... 20

Figura 6. Ejemplo de cliente / servidor para Demand Response / Load control ... 24

Figura 7. Paquetes ZigBee utilizando el cluster Tunnelling ... 25

Figura 8. Ejemplo de una red utilizando Tunnelling ... 26

Figura 9. Diagrama de pines del header RF1 ... 29

Figura 10. Diagrama general del sistema ... 31

Figura 11. Vista superior del medidor con descripción de los bloques ... 32

Figura 12. Diagrama de flujo del proceso que corre en primer plano ... 34

Figura 13. Diagrama de flujo del proceso en background ... 35

Figura 14 - Ventana de inicio de IAR MSP430 ... 36

Figura 15. Ventana de IAR con un proyecto en ejecución ... 37

Figura 16. Equipo utilizado para realizar la programación del medidor ... 37

Figura 17. Ventana de FET-Pro430 ... 38

Figura 18. Configuración de la conexión en Lite FET-Pro430 ... 39

Figura 19. Diagrama de pines del header RF1 ... 40

Figura 20. Ubicación de los Jumper JP5 y JP6 para comunicación UART ... 40

Figura 21. Módulo CC2530 en el medidor ... 40

Figura 22. Ubicación de JP3 y JP4 para la conexión de la fuente externa ... 41

Figura 23. Diagrama de conexión de la carga al medidor ... 41

Figura 24. Puertos de conexión de la carga en el medidor ... 42

Figura 25. Arquitectura de la red implementada ... 43

Figura 26. Encapsulado Sistem-On-Chip (SOC) de Texas Instruments CC2530 ... 44

Figura 27. Módulo de desarrollo CC2530EM y antena de 50Ω de antenova®. ... 44

Figura 28. Herramienta de desarrollo SmartRF05 EvaluationBoard de Texas Instruments. ... 45

Figura 29. Diagrama de bloques de recursos disponibles en la Evaluation Board. ... 46

Figura 30. Árbol de directorios instalados por Z-Stack Energy 1.1.0 de Texas Instruments. ... 47

Figura 31. Estructura de Z-Stack Energy ... 48

Figura 32. Stack de protocolos implementados por Z-Stack ... 50

Figura 33. Proceso de arranque en el módulo ZigBee ... 51

Figura 34. Diagrama de flujo para enviar paquetes ZigBee ... 52

Figura 35. Proyecto en IAR para el Coordinador ... 53

Figura 36. Interfaz gráfica de usuario de software T.I. SmartRF Flash Programmer ... 54

Figura 37. Diagrama de bloques funcionales del concentrador TMDSDC3359 [27] ... 56

Figura 38. Concentrador de datos TMDSDC3359 [27] ... 57

Figura 39. Protocolos usados entre el concentrador y la aplicación ... 58

Figura 40. Diagrama de flujo del proceso de recepción de datos en el concentrador ... 59

Figura 41. Puerto donde se debe conectar el módulo CC2530 ... 60

(7)

Figura 43. Configuración de Putty para conectarse al concentrador ... 61

Figura 44. Pantalla de login en el concentrador ... 62

Figura 45. Puertos Ethernet del concentrador ... 62

Figura 46. Módulos de diseño de la aplicación ... 65

Figura 47. Página de log in de usuario ... 66

Figura 48. Ventana de aplicación de usuario ... 67

Figura 49. Página de configuración de usuario ... 68

Figura 50. Página de configuración de medidores ... 68

Figura 51. Estructura de la carpeta con la aplicación ... 69

Figura 52. Ventana de configuración de Variables de entorno ... 70

Figura 53. Edición de la variable del sistema PATH ... 70

Figura 54. Configuración de la dirección IP dentro de la aplicación ... 71

Figura 55. Archivos donde se debe cambiar la IP del servidor ... 71

Figura 56. Consola al ejecutar la aplicación ... 72

Figura 57. Equipos utilizados para la prueba de distancia ... 73

Figura 58. Esquema de comunicación del SmartRF Studio 7 con el CC2530 ... 74

Figura 59. Ventana del SmartRF Studio 7 en el módulo transmisor ... 75

Figura 60. Ventana del SmartRF Studio 7 en el módulo receptor ... 76

Figura 61. Mapa del área de prueba (Parque Simon Bolivar) ... 77

Figura 62. RSSI vs Distancia ... 78

Figura 63. Packet Error Rate vs Distancia ... 78

Figura 64. Conexión del CC2530 al analizador de espectros ... 79

Figura 65. Prueba de potencia para 4.5 dBm ... 80

Figura 66. Montaje general del sistema ... 81

Figura 67. Diagrama de conexión de la carga al medidor ... 82

Figura 68. Conexión de la carga al medidor durante la prueba ... 82

Figura 69. Comparación de energía al inicio de la prueba y durante la misma ... 83

Figura 70. Precisión de la medida vs Corriente [15] ... 84

Figura 71. Ventana del software Ubiqua durante la prueba ... 86

Figura 72. CC2531 USB Dongle [25] ... 86

Figura 73. Test del enlace ZigBee en software Ubiqua ... 87

Figura 74. Paquete de Smart Energy Profile ... 88

Figura 75. Información almacenada en la base de datos ... 90

Figura 76. Usuarios creados en el sistema ... 91

Figura 77. Menú de aplicación para un usuario específico ... 91

Figura 78. Medidores creados en el sistema ... 92

Figura 79. Menú de aplicación para visualizar los datos ... 93

Figura 80. Archivo generado al exportar en .csv ... 94

Figura 81. Proceso utilizado en la aplicación para el manejo de colas ... 96

Figura 82. Vista en detalle de un paquete en la red ZigBee ... 97

Figura 83. Vista del almacenamiento en la base de datos ... 97

Figura 84. Latencia del sistema ... 98

Figura 85. Configuración del medidor en la aplicación con dirección MAC... 101

Figura 86. Registros SFR para encriptar / desencriptar los datos ... 103

(8)

Figura 88. Estructura utilizada por TI para los demos de ZigBee IP ... 105

Figura 89. Prueba realizada con la librería DLMSOBJ-EVAL ... 106

Figura 90. Configuración de la comunicación entre GxDirector y el medidor ... 107

Figura 91. GXDirector al establecer conexión ... 108

(9)

Índice de Tablas

Tabla 1. Distribución de canales en 802.15.4 ... 17

Tabla 2. Tipos de paquetes APDU ... 21

Tabla 3. Dispositivos especificados en el Smart Energy Profile [14] ... 23

Tabla 4. Clusters del perfil Smart Energy [13] ... 24

Tabla 5. Parámetros medidos por el EVM430-F6736 ... 33

Tabla 6. Especificaciones de la prueba de cobertura ... 77

Tabla 7. Resultados de las pruebas cambiando la potencia transmitida ... 80

Tabla 8. Precisión de los datos en el medidor [15] ... 84

Tabla 9. Listado detallado de enlaces cableados utilizados en “Smart Grids”. ... 112

(10)

10

1 Introducción

El término “Smart Grids” en redes eléctricas se refiere a la modernización de los sistemas de entrega de electricidad que monitorea, protege y optimiza automáticamente la operación de los elementos que están interconectados desde la central y el generador de distribución, a través de la red de alto voltaje y sistema de distribución, a usuarios industriales, edificios automatizados, instalaciones de almacenamiento de energía y usuarios finales. Dentro de los dispositivos utilizados por los usuarios finales se tiene termostatos, vehículos eléctricos, pantallas de visualización de consumo, entre otros. La “Smart Grid”s e caracteriza por un flujo de electricidad y de información en dos sentidos con el fin de crear una red de distribución de energía automatizada. Se incorpora dentro de la red los beneficios de los sistemas de cómputo y comunicaciones que permitan entregar información en tiempo real y permitir acercarse a un balance entre la entrega y la demanda de energía [1].

Uno de los principales componentes de una “Smart Grid” es el sistema “Advanced Metering

Infrastructure (AMI)”. Esta infraestructura se define como un sistema integrado de medidores de

energía inteligentes, redes de comunicaciones y sistemas de gestión de datos que permite la comunicación bidireccional entre las empresas prestadoras de servicios públicos y sus clientes [2].

Este documento presenta una propuesta para diseñar e implementar un sistema piloto a pequeña escala de un sistema AMI escalable y flexible, implementando como tecnología de red el protocolo inalámbrico ZigBee. Parámetros como medio de comunicación, tecnología de comunicaciones a implementar y software para visualización, son presentados como resultado de este trabajo.

Este documento está organizado de la siguiente manera. El capítulo 2 presenta el alcance y objetivos del proyecto. El capítulo 3 hace referencia al planteamiento del problema. El marco teórico se presenta en el capítulo 4. En el capítulo 5 se explica la metodología implementada. La solución planteada se expone en el capítulo 6. Pruebas y resultados se muestran en el capítulo 7. Por último, conclusiones y trabajos futuros se presentan en el capítulo 8 y 9.

(11)

11

2 Alcance y objetivos

2.1 Objetivo general

Diseñar e implementar una red piloto a pequeña escala de un sistema AMI escalable y flexible que permita realizar pruebas en prácticas de laboratorio y obtener resultados experimentales para este tipo de redes.

2.2 Objetivos específicos

 Diseñar una red piloto de un sistema AMI que permita obtener resultados experimentales

 Definir la aplicación a implementar de acuerdo a la necesidad e importancia de la misma, y determinar a partir de ella los requerimientos del sistema de comunicaciones.

 Determinar la estructura del sistema de comunicaciones, tecnología a utilizar y protocolos actuales que cumplan con los requerimientos establecidos.

 Implementar un sistema piloto moderno, sencillo, escalable en tamaño y funcionalidades de un sistema AMI.

 Validar el diseño implementado y verificar el cumplimiento de los objetivos establecidos.

2.3 Alcance

Lo que se busca con el desarrollo de esta tesis es implementar un prototipo de un sistema AMI que sea escalable y flexible, y permita realizar pruebas reales que puedan ser comparados con resultados obtenidos mediante simulaciones. La plataforma implementada podrá expandirse en tamaño y ser integrada con sistemas que utilicen otros medios de comunicación, además de permitir la implementación de diferentes aplicaciones sobre ella.

(12)

12

3 Planteamiento del problema

Uno de los grandes retos de la humanidad en nuestros tiempos, es lograr un desarrollo económico y social que sea sostenible y amigable con el medio ambiente. En este sentido es importante revisar el creciente consumo de energía eléctrica a niveles industriales y domésticos para con ello plantear estrategias y mecanismos que ayuden a lograr mayor eficiencia en el uso de estos recursos energéticos.

Es necesario entonces llevar la industria de la energía a una nueva era de confiabilidad, disponibilidad y eficiencia que contribuya con nuestro bienestar económico y ambiental. Durante el periodo de transición es crítico realizar pruebas técnicas, mejoras en las tecnologías, educación a los usuarios, desarrollo de estándares y regulaciones y compartir información entre proyectos para asegurar que se pueda llegar al cumplimiento de los objetivos planteados [3].

El término “Smart Grid” se refiere comúnmente a la red eléctrica modernizada donde nuevos modelos sostenibles de producción, distribución y uso de energía son incorporados a los sistemas actuales. Además, el propósito de estas redes es dar la información y herramientas que necesiten los usuarios para tomar decisiones respecto al uso de la energía eléctrica. Un ejemplo de ello es que no se tendría que esperar hasta el final de mes para conocer el consumo eléctrico. Esta información junto con el precio en tiempo real estaría disponible al usuario de modo que pueda controlar su consumo y tomar decisiones basándose en información real y actualizada.

Un paso necesario para llegar a la implementación general de estas redes es la implementación de infraestructuras avanzadas de medición (AMI). Estos sistemas se utilizan para interconectar los medidores inteligentes y dispositivos electrónicos inteligentes con los sistemas de control.

(13)

13

4 Marco teórico

4.1 Red AMI

Entendiendo el sistema AMI como un elemento de gran relevancia para integrar una “Smart

Grid”, dado que este permite un enlace de comunicación bidireccional entre la empresa

prestadora de servicios y el cliente final; es crucial la selección del medio de comunicación que se podría utilizar dependiendo de la infraestructura que se desea soportar y de las condiciones económicas, ubicación geográfica y tipo de cliente que se desea atender. Algunos de los parámetros a tener en cuenta para seleccionar el medio de comunicación son la escalabilidad, interoperabilidad, flexibilidad y seguridad [4]. Bajo estos requerimientos, se presentan algunos de los medios de comunicación cableados e inalámbricos más utilizados para conformar una

“Smart Grid”:

 Tecnologías cableadas.

o Power line communications (PLC). o Optical Fibers. o DSL.  Tecnologías inalámbricas. o WPAN. o WiFi. o WiMAX. o 3G/4G o Satellite

Para más detalle de las características técnicas de cada tecnología, revisar la Tabla 9 y Tabla 10 en los anexos.

Una de las mejores relaciones costo beneficio para aplicaciones en los que se requiere baja velocidad en transmisión de datos, bajo costo y adicionalmente considerada simple de implementar, es la tecnología RF. La tecnología ZigBee pertenece al grupo de soluciones “Wireless Personal Area Network” (WPAN) y es soportada por el estándar IEEE 802.15.4 lo que da solidez y estabilidad a la solución ofrecida. Soporta capacidades de control y administración de redes de datos en donde se incluye concentrador, enrutadores y dispositivos finales. Tiene la capacidad de implementar funciones de seguridad y funciones distribuidas en múltiples capas. Todas estas características son las que haces de la solución RF/ZigBee, una de las más implementadas para la creación de sistemas AMI para conformar “Smart Grids” [4]. Uno de los elementos más interesantes para una “Smart Grid” implementada usando “ZigBee/Device –

Compliant”, es la capa de protocolo denominada “Smart Energy Profile” (SEP), que definen y

estandarizan como debe ser organizada la información de energía y entregada en cada uno de las entidades que conforman el sistema.

(14)

14 Con las redes “Smart Grid”, se espera mejorar las deficiencias actuales de las redes eléctricas, proporcionando a las empresas una completa visibilidad y control general sobre sus activos y calidad de servicio.

Para conseguir la visibilidad y el control, la red requiere del apoyo tecnológico informático y de telecomunicaciones. Por lo tanto, las nuevas tecnologías de comunicación y gestión de datos desempeñan un papel importante, permitiendo a la empresa colocar una capa de inteligencia sobre su infraestructura eléctrica. Lo que consiste en introducir nuevas aplicaciones y procesos en los negocios.

Los proyectos de lectura remota y automática de medidores “Automatic Meter Reading” (AMR), constituyen los primeros pasos hacia la automatización del sistema. Sin embargo, los sistemas AMR no permiten la transición hacia una red inteligente, donde se requiere no solo la visualización, sino también el control generalizado en todos los niveles.

La visualización (monitoreo), control y automatización se consiguen con un sistema de comunicación bidireccional, por lo cual se está incursionando en la implementación de la infraestructura de medición avanzada “Advanced Metering Infrastructure” (AMI) [5].

AMI es la totalidad de sistemas y redes que se utilizan para medir, recopilar, almacenar, analizar y emplear datos de uso de energía. La tecnología AMI se compone de varios elementos, medidores inteligentes “Smart meters” implementados en los consumidores, infraestructura de red, sistema de gestión de datos de medición “Meter Data Management System”(MDMS) localizado en los CCDs de los proveedores de servicio, elementos intermedios de red que apoyan la comunicación entre los medidores inteligentes y los MDMS y sistemas de soporte, que incluyen el software de gestión de energía y unidades de visualización en el hogar [6].

(15)

15 4.2 Protocolo ZigBee

ZigBee es un estándar de comunicación inalámbrica de bajo costo y bajo consumo que permite el intercambio bidireccional de información y se utiliza principalmente en casas, edificios, sistemas industriales de automatización, seguridad en el hogar, aplicaciones con sensores médicos y en logística y tracking de activos.

El estándar fue creado para suplir la necesidad de una solución de comunicación inalámbrica que soportara bajas tasas de transmisión de datos, tuviera bajo consumo y fuera seguro y confiable. ZigBee es una red descentralizada que soporta redes tipo mesh y le permite a sus nodos encontrar nuevas rutas en la red en caso de que una ruta falle. Esto lo convierte en una solución inalámbrica robusta [7][8].

A continuación se realiza una descripción detallada del protocolo, los tipos de dispositivos que se tienen en la red, la arquitectura del stack y especificaciones del Smart Energy Profile.

4.2.1 Tipos de dispositivos

Existen tres tipos de dispositivos lógicos en una red ZigBee, estos son [9]:

 Coordinador: Este dispositivo crea y configura la red. El coordinador tiene la capacidad de realizar un scan del ambiente RF con el fin de encontrar las redes existentes para luego escoger el canal y el identificador de la red (conocido como PAN ID) y así poder crearla. El coordinador además puede configurar los parámetros de seguridad de la red. El rol del coordinador se destaca principalmente al inicializar y configurar la red.

 Router: Un enrutador se utiliza por dos razones, permite extender el rango de cobertura de la red e incrementar la capacidad de dispositivos. Un router permite que otros dispositivos se unan a la red y puede enviar mensajes entre diferentes nodos de la red.

 End-device: Un end-device no tiene responsabilidades en mantener la infraestructura de la red y no es capaz de hacer enrutamiento. Debido a esto puede entrar en modo sleep si el sistema se lo permite.

En la Figura 1 se muestra un ejemplo de una red, aquí se muestra el coordinador (negro), los routers (rojo) y los end-devices (blanco).

(16)

16 Figura 1. Ejemplo de una red ZigBee. Tomado de [9]

4.2.2 Stack del protocolo

El protocolo ZigBee se basa en el estándar 802.15.4 y de este toma la capa física (PHY) y la capa de enlace al medio MAC (Medium Access Control). ZigBee provee las capas de red (NWK) y de aplicación. En la Figura 2 se muestra este concepto.

Figura 2. Capas del modelo de comunicación en ZigBee

En la Figura 3 se muestra una imagen más detallada del protocolo. A continuación se presenta la descripción de cada una de las capas:

(17)

17 Figura 3. Stack del protocolo ZigBee

4.2.2.1 Capa física

La capa física provee una interfaz entre la cama MAC y el canal físico de radio. Esta capa es responsable de activar / desactivar el dispositivo de radio transceptor, detectar la energía en el canal de transmisión lo cual puede ser utilizado por la capa de red para determinar el canal que se utilizará, realizar medidas de calidad del canal, seleccionar el canal de transmisión y dentro de este utilizar técnicas de modulación [10].

Esta capa opera en 3 bandas de frecuencia ISM (Industrial Scientific and Medical). En la banda de 2.4 GHz se tienen tasas de transmisión de datos en el aire de 250 kbps, 40 kbps en la banda de 915 MHz y 20 kbps a 868 MHz. Se tiene un total de 27 canales en 802.15.4 distribuidos como se muestra en la Tabla 1 [11].

Tabla 1. Distribución de canales en 802.15.4

Ítem Número de canales Frecuencia

1 16 2.4 GHz

2 10 915 MHz

3 1 868 MHz

4.2.2.2 Capa MAC

La capa MAC controla el acceso al canal de radio utilizando el mecanismo CSMA-CA (Carrier Sense Multiple Access with Collision Avoidance). Es responsable de transmitir frames tipo beacon cuando el dispositivo es de tipo coordinador, de sincronizar y proveer un mecanismo de transmisión confiable mediante el uso de Acknowledgment y retransmisión, al igual que

(18)

18 verificación de datos al utilizar el CRC (Cyclic Redundancy Check). Además, provee servicios para asociar y desasociar redes de área personal PAN (Personal Area Network), permitiendo la creación de redes tipo Star y Peer-to-Peer [7][10].

4.2.2.3 Capa de red

Esta capa soporta tres tipos de topología, tipo estrella, árbol y tipo mesh como se muestra en la Figura 4. Esta capa es responsable de la asignación de direcciones, enrutamiento de mensajes, proveer seguridad a la red, y realizar detección y formación de redes [12].

Topologías de red

En la topología de estrella la red es controlada por un solo dispositivo, el coordinador. Este dispositivo está encargado de iniciar y mantener los dispositivos en la red. Los demás elementos de la red son de tipo end-device y se conectan directamente al coordinador.

En topología de árbol y Mesh el coordinador crea la red y configura los parámetros de la misma, pero esta puede ser extendida mediante routers. En redes con topología de árbol los routers mueven datos utilizando una estrategia de enrutamiento jerárquica. En las redes tipo Mesh se tiene comunicación peer-to-peer y en caso de que falle un enlace se encuentra otro enlace que permita hacer llegar la información al dispositivo final [7].

Figura 4. Topologías de la red

Direccionamiento

ZigBee tiene dos tipos de direcciones, una dirección IEEE de 64 bits, también conocida como dirección MAC o extendida, y una dirección de red de 16 bits llamada dirección lógica o short address. La dirección de 64 bits es única a nivel mundial y se asigna al dispositivo de por vida.

(19)

19 Usualmente es el fabricante es que la establece. Estas direcciones son administradas y asignadas por la IEEE.

La dirección de 16 bits es asignada al dispositivo cuando este se une a una red y se utilizará mientras permanezca en ella. Es una dirección única dentro de la red solamente y se utiliza para identificar los dispositivos y enviar información dentro de la red. El coordinador siempre tiene la dirección de red 0x0000 [9].

Los paquetes en una red ZigBee se pueden enviar de tres formas, unicast, multicast o broadcast.

Unicast: Este es el modo normal de direccionamiento y se utiliza para enviar un paquete a un solo dispositivo del cual se conoce su dirección de red.

Multicast: Este modo se utiliza cuando se quiere enviar un paquete a un grupo de dispositivos. Primero se debe definir el grupo en la red para utilizarlo.

Broadcast: Este tipo de envío se utiliza cuando la aplicación quiere enviar un paquete todos los dispositivos de la red. Existen varios tipos de dirección broadcast: 0xFFFF para enviar el mensaje a todos los dispositivos de la red, incluyendo los que están en modo sleep. 0xFFFD envía un mensaje a todos los dispositivos excepto los que están en modo sleep. Y, 0xFFFC envía un mensaje al coordinador y todos los routers [9].

Enrutamiento

ZigBee utiliza un protocolo de enrutamiento basado en el protocolo para redes ad-hoc AODV (Ad-hoc On-demand Distance Vector), pero simplificado para ser utilizado en redes de sensores. El protocolo ZigBee de enrutamiento facilita un ambiente capaz de soportar nodos móviles, falla de enlaces y pérdida de paquetes.

Los routers vecinos son routers que están dentro de la misma área de cobertura. En este protocolo cada router se encarga de hacer tracking de sus vecinos en una tabla denominada “neighbor table”. Esta tabla se actualiza cada vez que un router recibe un mensaje de un router vecino.

Los dispositivos finales no pueden realizar ninguna función de enrutamiento. Cuando estos dispositivos desean enviar un paquete lo envían a su dispositivo padre y este realizará el enrutamiento. Además, dentro de la tabla de enrutamiento se combinan todas las entradas de dispositivos que comparten el mismo padre en una sola entrada, de esta forma se optimiza el almacenamiento sin perder ninguna funcionalidad.

Para encontrar una ruta nueva los dispositivos de la red trabajan en conjunto. El mecanismo consiste en encontrar todas las rutas posibles entre la fuente y el destino y seleccionar la ruta con el menor costo posible. Cada nodo almacena el “link cost” a cada uno de sus vecinos, y se calcula típicamente en función de la fuerza de la señal recibida.

(20)

20 Cada router de la red y el coordinador contienen una tabla de enrutamiento con la dirección de destino, el próximo salto y el estado del enlace. Existe además una tabla de “route discovery” que se utiliza para almacenar información de forma temporal mientras se está en el procedimiento de “route discovery"[9].

4.2.2.4 Capa de aplicación

La capa de aplicación se compone de la APS (Application Support Sub-Layer), el ZDO (ZigBee Device Object) y los Endpoints también conocidos como aplicaciones de usuario. (Ver la Figura 3)

APS (Application Support Sub-Layer)

La subcapa APS provee una interfaz entre la capa de la red y la de aplicación ofreciendo dos servicios: el de transmisión de datos entre dos o más entidades de aplicación y un servicio de gestión que le permite a las aplicaciones interactuar con el stack. Además provee los siguientes servicios:

Gestión de Binding: Es la habilidad de asociar dos dispositivos basándose en sus servicios y necesidades.

 Seguridad: Permite el uso de claves seguras para establecer relaciones entre dispositivos

 Gestión de grupos: Provee la capacidad de declarar una sola dirección compartida entre varios dispositivos y gestión del grupo (agregar y quitar dispositivos)

 Generación de PDU (Protocol Data Unit) de la capa de aplicación: Toma una PDU de la aplicación y genera una PDU de la APS (APDU) de acuerdo al protocolo que se tenga.

 Fragmentación: Permite la segmentación y re-ensamble de los mensajes que tienen un tamaño máximo permitido dentro de la capa de red.

La trama APDU contiene una cabecera con la información de control y direccionamiento, y los datos (payload) como se muestra en la Figura 5. En la parte superior de cada campo aparece la longitud en octetos.

(21)

21 Dentro del campo de control se tiene un subcampo que indica el tipo de paquete a enviar, existen cuatro tipos como se muestra en la Tabla 2 [7].

Tabla 2. Tipos de paquetes APDU

ZigBee Device Objects (ZDO)

Los ZigBee Device Objects son aplicaciones que utilizan la capa de red y de aplicación para implementar ZigBee end-devices, ZigBee routers y coordinadores ZigBee. Tienen las siguientes funciones: Inicializar la APS, NWK y el SSP (Security Service Provider).

Los ZigBee Device Objects contienen a su vez seis objetos así:

 Detección de dispositivos y servicios: Permite encontrar dispositivos en la red existente, aunque estén en modo sleep.

 Administrador de la red: Cuando el dispositivo es un router o end-device, se encarga de seleccionar una PAN existente para unirse a ella o implementar servicios de rejoin cuando se pierde la comunicación. Si el dispositivo es un coordinador permite que seleccione un canal que no esté en uso para crear la PAN.

Administrador de Binding: Binding es un mecanismo para controlar el flujo de mensajes entre aplicaciones, de esta forma una aplicación puede enviar un paquete sin conocer la dirección de destino. La capa APS determina la dirección de destino de su tabla de

binding y envía el mensaje a la aplicación de destino [9].

 Administrador de seguridad: Es responsable de establecer, transportar, solicitar y cambiar las claves, además de autenticar, actualizar y eliminar dispositivos de la red.

 Administrador de nodos: Funciona en los coordinadores y routers y provee comandos remotos para encontrar redes y recuperar tablas de enrutamiento y de binding.

 Administrador de grupos: Provee la inclusión y eliminación de objetos de aplicación en grupos bajo el control de la capa de aplicación [7]

(22)

22

Endpoints

Cada aplicación que corre en un nodo de la red tiene un endpoint asociado y funciona como puerto de entrada / salida de dicha aplicación. Se tienen hasta 240 endpoints disponibles enumeradas del 1 al 240 [13].

4.2.3 Smart Enery Profile

Smart Energy Profile es uno de los perfiles de aplicación públicos lanzados en la especificación de ZigBee 2012. Esto permite que las empresas de servicios públicos y sus clientes se comuniquen directamente con los dispositivos de la red. Este perfil está disponible para todos los fabricantes que deseen desarrollar productos de Smart Energy para redes ZigBee. El ID de este perfil es el 0x019 y se define está definido por la ZigBee Alliance en el ZigBee Smart Energy

Profile Specification [14].

El Smart Energy Profile define los siguientes dispositivos a utilizar en una red SE:

Energy Service Portal (ESP): Actúa como el punto de entrada/salida en una red privada HAN o como punto de conexión entre una red NAN de medidores con la red de backhaul. Dentro de la red ZigBee actúa como el coordinador y debe incluir una interfaz no-ZigBee para comunicarse con la red de backhaul. Toda red debe tener un ESP.

Dispositivo de medición (Metering Device): Se encarga de medir el consumo de un recurso específico, puede ser electricidad, gas, agua o calefacción. Este dispositivo debe estar en la capacidad de leer y responder solicitudes de lectura, o, puede enviar reportes de forma automática y periódica. Este dispositivo puede también comunicar otros indicadores de estado como lo son del de batería o detección de tamper.

IPD (In-Premise Display): Este dispositivo comunica información de consumo al usuario por algún medio visual, como LED’s, pantalla de textos o gráfica. El dispositivo generalmente muestra al menos una de las siguientes variables: potencia utilizada, consumo de energía, información de precios y mensajes de texto. Este dispositivo se puede utilizar para mostrar mensajes de advertencia durante periodos de precios altos de tal forma que el usuario decida como modificar el consumo de energía en tiempo real.

PCT (Programmable Communicating Thermostat): Se utiliza para administrar el consumo de energía de un sistema de calefacción y/o de aire acondicionado. Este dispositivo soporta respuesta a la demanda, lo que significa que puede recibir solicitudes desde la empresa de servicios públicos para modificar el consumo de energía y actuar de acuerdo a estas solicitudes. Un ejemplo de una solicitud puede ser reducir el consumo durante periodos de demanda alta.

(23)

23

Dispositivo de control de carga: Este dispositivo es utilizado para administrar el consumo de energía de un dispositivo específico, generalmente es un aparato de alta potencia como calentadores de agua o bombas de piscinas. Estos dispositivos soportan respuesta a la demanda.

Dispositivos Smart: Es un dispositivo que se puede incorporar a un equipo de consumo como una lavadora, de esta forma este dispositivo puede hacer parte de la red ZigBee SE. El dispositivo estaría en la capacidad de recibir información desde la empresa de servicios públicos y ejecutar acciones sobre él mismo.

Extensor de alcance: Es un router ZigBee que se utiliza para transportar mensajes entre los nodos de la red. Un dispositivo de este tipo no puede implementar ningún otro dispositivo dentro de la red.

En la Tabla 3 se muestran los dispositivos especificados por el Smart Energy Profile y se incluye su ID.

Tabla 3. Dispositivos especificados en el Smart Energy Profile [14]

Un Cluster es un mensaje de aplicación que puede contener uno o más atributos. Dentro de este se definen comandos y sus respectivas respuestas. Dentro de cada cluster se definen sub tipos conocidos como atributos, por lo tanto, se puede decir que un cluster es una colección de atributos. Cada cluster cuenta con un identificador único de 16 bits y se utiliza cuando se crean tablas de binding [7]. En el perfil de Smart Energy se utilizan algunos clusters generales y otros específicos para este perfil como se muestra en la Tabla 4. El cluster utilizado en este trabajo fue el 0x0702 correspondiente a Simple Metering.

(24)

24 Tabla 4. Clusters del perfil Smart Energy [13]

Price: Este cluster provee el mecanismo para enviar y recibir información referente a precios. Esta información es enviada por la empresa de servicios públicos al ESP (Energy

Service Portal) que envía la información a los dispositivos de la red. Este cluster resulta

muy útil cuando en los hogares se tienen pantallas para mostrar datos en tiempo real, como la potencia consumida.

Demand Response and Load control: Este cluster (Respuesta a la demanda y control de carga) provee una interfaz para controlar dispositivos en la red que soporten control de carga. Este cluster recibe peticiones desde la empresa de servicios públicos y actúa sobre dispositivos como calentadores o bombas. En la Figura 6 se muestra un ejemplo del

cluster en el que el ESP actúa como servidor y el Medidor actúa como cliente. Por defecto

el ESP se designa como servidor al estar en capacidad de enviar los comandos de control de carga a los demás dispositivos de la red.

(25)

25

Simple Metering: Provee un mecanismo para obtener el consumo de dispositivos de medición, pueden ser de energía eléctrica, gas, agua o calefacción.

Messaging: Provee una interfaz para intercambiar mensajes entre los dispositivos de las red SE (Smart Energy). Pueden ser mensajes que vienen desde la empresa de servicios públicos que son enviados por el ESP a los dispositivos de la red.

Tunnelling: Permite que un protocolo de comunicación ya existente pueda ser transportado como carga dentro de tramas ZigBee estándar. Es en este cluster que se enviaría datos de protocolos como DLMS/COSEM y IEC61107, entre otros. En este caso el paquete ZigBee quedaría como el que se muestra en la Figura 7.

Figura 7. Paquetes ZigBee utilizando el cluster Tunnelling

En la Figura 8 se muestra el ejemplo de una red AMI con el protocolo DLMS implementado. En este caso la red incluye una estación DLMS (ubicada en la empresa de servicios públicos) que envía comandos al medidor, que a su vez soporta DLMS. El ESP recibe el comando DLMS a través de la red de backhaul y se encarga de encapsular la data dentro del paquete ZigBee y de enviarlo al medidor. El medidor recibe el comando encapsulado, extrae y procesa el mensaje DLMS y crea un mensaje de respuesta que a su vez es encapsulado nuevamente para ser enviado al ESP.

(26)

26 Figura 8. Ejemplo de una red utilizando Tunnelling

Prepayment: Proporciona soporte de créditos pre-pagados que pueden ser utilizados en consumo de energía. Este cluster facilita el intercambio de este tipo de información dentro de una red HAN, por ejemplo, permite que la data de créditos pre-pagados asociados a un medidor sean mostrados en una una pantalla dentro de la casa (IPD – In Premise Display).

Key establishment: Se utiliza para administrar comunicaciones seguras en ZigBee donde se tiene un sistema para acordar las claves a utilizar y los dispositivos de la red intercambian dicha información.

(27)

27

5 Metodología

Para el desarrollo del proyecto se sigue la metodología de la investigación aplicada, con lo cual se busca poner en práctica los conocimientos previos adquiridos por experiencias teórico-prácticas en programación de sistemas embebidos. Durante el proceso de documentación y análisis del estado del arte realizado, se pudieron identificar procedimientos críticos que pudieron encaminar el proyecto hasta llegar al resultado presentado en este documento.

Inicialmente se realizó una revisión bibliográfica con el fin de consolidar el marco teórico sobre el estado del arte de las redes AMI. Se recopiló información sobre las últimas tecnologías utilizadas y protocolos actuales con el fin de tener la información necesaria para empezar el proceso de diseño.

Después de comparar las tecnologías de red existentes se definió utilizar tecnologías RF ya que por su facilidad de instalación y soporte de bajas tasas de transmisión cumplía con los requerimientos de una red AMI.

Se procedió entonces a escoger los equipos para implementar la solución. Se compararon equipos de diferentes marcas, entre ellas Freescale y ST microelectronics. Se decidió trabajar con Texas Instruments por la facilidad que ofrecía para desarrollar sobre sus equipos, los códigos eran abiertos y se podían modificar de acuerdo a los requerimientos del usuario. Se escogió el concentrador TMDSDC3359 por brindar la opción de trabajar con ZigBee y PLC en un mismo equipo.

Se procedió entonces a la etapa del estudio y programación de los equipos. Se empezó con el medidor EVM430-F6736. Se realiza el estudio de este equipo para evaluar sus capacidades y especificaciones técnicas. Texas Instruments provee una librería de metrología con la que el medidor realiza todas las mediciones, pero fue necesario implementar la parte de envío de datos por comunicación UART al módulo ZigBee.

Se realizaron pruebas sobre este equipo para verificar la validez de los datos medidos encontrando resultados satisfactorios.

Se procede a trabajar sobre la base de datos y aplicación Web. Se empezó el diseño utilizando MySQL como base de datos y PHP como el lenguaje para acceder a ella. Se obtuvieron resultados satisfactorios pero para poder almacenar la información en la base de datos era necesario guardar un archivo en una carpeta específica, y cuando se detectaba un cambio en el archivo la información se subía directamente a la base de datos.

Se encontró que este proceso era poco práctico y amarraba mucho la aplicación, por lo que se decidió que el concentrador copiara directamente los datos en la base de datos, de esta forma sólo es necesario conocer la dirección IP del equipo remoto para realizar dicho paso de la solución.

(28)

28 Se encontró además que la base de datos utilizada era poco flexible al momento de realizar modificaciones sobre las tablas. Por este motivo se decidió trabajar con una base de datos NoSQL y se encontró MongoDB como la aplicación que cumplía con esto.

Al utilizar javascript como lenguaje de programación se decidió migrar toda la solución a esta tecnología, encontrando una mejora en tiempos de compilación. Además, el diseño de la aplicación se hizo de forma modular, de modo que realizar algún cambio sobre ella no afecte todo el funcionamiento de la misma.

Se procede ahora a trabajar sobre el concentrador. Este equipo cuenta con muchas capacidades por lo que se tuvo que hacer un estudio en detalle del mismo. Sobre este corre un sistema Linux embebido. Se procede a programar el programa encargado de recibir los datos desde los medidores para enviarlo a la base de datos.

A continuación se trabajó sobre el enlace entre los módulos CC2530. Para empezar, se decidió implementar TIMAC sobre ellos. Esta es una librería de Texas Instruments que implementa hasta la capa MAC en el stack de ZigBee. Se obtuvo comunicación bidireccional entre los módulos. Después se encuentra una solución que implementa el stack de ZigBee completo en los módulos llamada Z-Stack, pero esta librería no cuenta con el módulo de comunicación serial implementado, además, la solución general viene para que la capa de aplicación corra sobre el medidor y las capas física, MAC y de red corran sobre el módulo ZigBee.

Se decide trabajar con esta librería al presentar una solución estandarizada del sistema. Se procede a estudiar el código de la librería y a implementar los módulos de comunicación faltantes. Se logra finalmente implementar todo el stack del protocolo ZigBee en módulo CC2530 de tal forma que pueda ser conectado a cualquier medidor.

Se procede ahora a realizar las pruebas generales del sistema. Para esto el primer paso era verificar la comunicación entre el medidor y el módulo ZigBee. Esta comunicación inicialmente no fue exitosa, por lo que se realizan pruebas conectando un osciloscopio directamente sobre la salida del medidor y se encuentra que la data se está enviando correctamente.

De igual forma se realiza una prueba con el módulo CC2530 enviando los datos por puerto serial desde un computador directamente, y a su vez, se encontró que funcionaba correctamente. El problema existía cuando se conectaba el módulo directamente sobre el medidor.

Después de analizar los circuitos del medidor se encontró que al hacer esta conexión entraba en corto el módulo, por lo que fue necesario retirar la resistencia R42 que se muestra en la Figura 9. Después de retirar esta resistencia se pudo obtener una comunicación exitosa entre estos dispositivos.

(29)

29 Figura 9. Diagrama de pines del header RF1

A continuación se verificaron las demás etapas de la implementación y se obtuvo comunicación bidireccional entre la aplicación del usuario y el medidor.

Se realizaron además pruebas de potencia transmitida y de distancia sobre el enlace ZigBee para evaluar las capacidades reales del mismo.

Se realizaron también pruebas sobre la aplicación para verificar la seguridad implementada y la veracidad de los datos mostrados al usuario, además de pruebas de latencia para evaluar los retardos en la red completa.

(30)

30

6 Solución planteada

El diagrama general de la solución implementada se muestra en la Figura 10. El medidor utilizado (Ref. EVM430-F6736) tiene la librería de metrología para calcular las variables del sistema (potencia, energía, voltaje, etc.) y la librería de comunicaciones para transmitir enviar y recibir información a la aplicación de usuario. El medidor utiliza una conexión serial UART (Universal Asynchronous Receiver - Transmitter) con el módulo ZigBee (CC2530).

El EVM430-F6736 junto con el módulo CC2530 componen el medidor inteligente. Este medidor utiliza ZigBee como medio de comunicación y está configurado para enviar la potencia activa cada dos segundos y contestar las solicitudes de corriente RMS que realice el usuario.

El tamaño de los paquetes con la información es de 37 bytes, por lo tanto, si se desea enviar un paquete cada 2 segundos la tasa de transmisión mínima del canal debe ser 18.5 bytes/s.

La comunicación para la red NAN (Neighborhood Area Network) entre el medidor y el concentrador de datos está basada en el protocolo ZigBee en la frecuencia de 2.4 GHz.

El concentrador de datos utilizado es el TMDSDC3359 de Texas Instruments que tiene un Linux embebido. El concentrador se comunica por medio de UART con el módulo CC2530. Al conectar el concentrador TMDSDC3359 con el módulo CC2530 se obtiene un concentrador de datos que utiliza ZigBee como medio de comunicación. El concentrador recibe datos desde y hacia el medidor y lo envía al Web Service a través de una conexión Ethernet.

El Web Service accede a la red y tiene los servicios de backend para procesar la información recibida del concentrador y almacenarla en la base de datos. También se comunica con la aplicación de usuario donde se puede visualizar la data asociada a cada medidor.

En la Figura 10 se muestra además en gris los medidores que se podrían agregar a la red AMI. Deben ser medidores inteligentes que utilicen ZigBee como medio de comunicación.

(31)

31 Figura 10. Diagrama general del sistema

(32)

32 6.1 Medidor EVM430-F6736

Se presenta una descripción general del medidor utilizado, se explican los módulos que lo componen y los principales procesos que corren sobre este. Se muestra además el diagrama de conexión para realizar las mediciones, el procedimiento para la programación del equipo y el procedimiento general para ponerlo en funcionamiento.

6.1.1 Descripción general

El medidor utilizado en el proyecto es el EVM430-F6736 de Texas Instruments. Es un medidor de electricidad de una sola fase basado en el microcontrolador MSP430F6736 que pertenece a la familia de dispositivos MSP430F67XX [15]. El microcontrolador cuenta 3 conversores análogos a digital de 24 bits. Uno de ellos se utiliza uno para medir el voltaje y otro para la corriente. El reloj para los ADC se deriva de un oscilador que corre a 16 MHz. EL SD24 ADC genera interrupciones en cada muestra y la frecuencia de muestreo es 4,096 ksps [16].

En la Figura 11 se muestra el medidor con la descripción de los bloques.

(33)

33 Los módulos se pueden describir así:

 RF headers: Se utilizan para conectar el módulos RF CC2530

 RS-232: Permite la conexión serial con el PC para realizar la calibración del equipo

 LCD: Permite observar durante la operación los parámetros calculados por el medidor.

 JTAG: Puerto JTAG utilizado para programar el equipo

 Power selection / JP4: Cuenta con dos jumpers, uno para seleccionar la fuente de voltaje para programar el dispositivo y otra para seleccionar la fuente de poder durante operación.

 Microcontroller: El microcontrolador que tiene la tarjeta es el MSP430F6736

 External supply: Se utiliza cuando se utiliza el CC2530 durante operación. Esta fuente debe estar entre 1.8 y 3.6 Vdc.

 Voltage inputs: Se conecta directamente a la Línea y Neutro. Pued ser de hasta 240 Vac, 50Hz y 60Hz.

 Current inputs: Entrada de corriente después del sensor.

Los parámetros calculados por el medidor se muestran en la Tabla 5. Estos valores se muestran en el LCD durante operación con el símbolo que indica la tabla.

Tabla 5. Parámetros medidos por el EVM430-F6736

Ítem Símbolo Parámetro Unidad

1 V Voltaje RMS Volts (V)

2 C Corriente RMS Amps (A)

3 P Potencia activa Watts (W)

4 Q Potencia reactiva Volt-Ampere Reactive (var)

5 F Frecuencia Hertz (Hz)

6 E Energía activa consumida

7 S Energía reactiva consumida

8 FC Factor de potencia

El microcontrolador cuenta con cuatro puertos para comunicación UART, 3 de ellas (USCIA0, USCIA1, USCIA2) se pueden utilizar para UART o SPI (Serial Peripheral Interface), y la última (USCIB0) solamente se puede utilizar para I2C (Inter – Integrated Circuit) o SPI. Para realizar la comunicación por RF con el concentrador se utiliza la USCIA2 configurada en modo UART.

6.1.2 Procesos en el medidor

Se tienen dos procesos principales que corren todo el tiempo en el microprocesador, el proceso en primer plano y el proceso en background.

(34)

34

Proceso en primer plano:

En este proceso se realiza el setup inicial del hardware y software del medidor después de realizar un reset. En la Figura 12 se muestra el diagrama de flujo del proceso.

En este diagrama se puede observar que después del Reset se realiza el set up del hardware del medidor, esto incluye el reloj, ADC, pins de GPIO (General Purpose Input / Output), LCD y funcionalidad UART. Después se verifica el estado del main power, si está off se pasa al Low Power Mode (LPM0) y si está ON pasa a operación normal.

En este paso espera a que el proceso en background le notifique que tiene muestras recolectadas por 1 segundo y, por lo tanto, procede a calcular valores RMS de voltaje y corriente y potencia activa y reactiva. Para finalizar, envía esta información por UART.

(35)

35

Proceso en background

Este proceso utiliza el ADC para generar interrupciones y a partir de ellas almacenar los valores medidos de voltaje y corriente. Cuando se tienen muestras de 1 segundo se procede a almacenar la información y notificar al proceso que corre en primer plano para que éste realice sus cálculos. Para finalizar procede a calcular la frecuencia y el factor de potencia y sale de la interrupción. En la Figura 13 se muestra el diagrama de flujo de este proceso.

(36)

36

6.1.3 Procedimiento para colocar el medidor en funcionamiento

A continuación se presenta el procedimiento que se debe llevar a cabo para poner el medidor EVM430-F6736 en funcionamiento.

Para empezar se debe realizar la programación del mismo, para esto se utilizan dos programas, uno para compilar el código y el otro para escribir el archivo compilado en la tarjeta. A continuación se muestra el paso a paso del procedimiento:

En la Figura 14 se muestra la ventana de inicio del programa IAR Embedded Workbench [17]. Este software cuenta con una licencia gratuita por 30 días, después de este tiempo no permite guardar ni compilar el código que se tenga.

Figura 14 - Ventana de inicio de IAR MSP430

En el menú Project – Add Existing Project se carga el archivo del proyecto con extensión .ewp. En la Figura 15 se muestra el programa IAR después de cargar el proyecto. Se puede ahora modificar el código, compilarlo y hacer debug si se tiene la tarjeta conectada al equipo.

(37)

37 Figura 15. Ventana de IAR con un proyecto en ejecución

Para compilar el código después de modificarlo se va al menú Project – Rebuild All. Esta acción verifica que el proyecto no tenga errores, y genera un archivo .txt que será cargado a la tarjeta con el programa Lite FET-Pro 430.

La programación del medidor solamente se puede realizar por el puerto JTAG, por lo que se utilizó el MSP-FET (Flash Emulation Tool) que soporta los protocolos JTAG y Spy-Bi-Wire (2 wire JTAG) [18]. En la Figura 16 se muestra este equipo.

(38)

38 En la Figura 17 se tiene la ventana del programa Lite FET-Pro430 [19], este programa es gratuito y permite programar el microcontrolador MSP430 utilizando el cable MSP-FET. En la ventana se muestra la opción Open Code File, es aquí donde se carga el archivo .txt generado anteriormente y en Microcontroller Type se escoge la referencia del microcontrolador utilizado.

Figura 17. Ventana de FET-Pro430

Se configura ahora el tipo de conexión que se utilizará en el menú Setup – Connection / Device Reset como se muestra en la Figura 18. Aquí se escoge JTAG y se verifica en COM port que se tenga el puerto al que se conectó el cable programador. Las demás opciones se dejan por defecto.

(39)

39 Figura 18. Configuración de la conexión en Lite FET-Pro430

Ya se tiene todo listo para programar el dispositivo, se presiona ahora el botón AUTO PROG. de la Figura 17 y en el campo Report debe aparecer que se realizó el procedimiento con éxito. La programación se realizó para utilizar comunicación UART con el módulo CC2530. Para ello es necesario retirar la resistencia R42 que se muestra en la Figura 19. Después de retirar esta resistencia se puede obtener una comunicación exitosa entre estos dispositivos. La comunicación se realiza mediante los pines 7 y 9 de la interfaz RF.

(40)

40 Figura 19. Diagrama de pines del header RF1

Además, es necesario colocar los Jumper JP5 y JP6 que se muestran en la Figura 20.

Figura 20. Ubicación de los Jumper JP5 y JP6 para comunicación UART

Ahora se puede proceder a utilizar el medidor. Se coloca el módulo CC2530 sobre el medidor como se muestra en la Figura 21.

(41)

41 Ahora, se debe conectar una fuente externa al medidor. Para ello es necesario ubicar el JP4 en VCC_EXT y conectar la fuente en JP3. La fuente debe estar entre 1.8 y 3.6 VDC.

Figura 22. Ubicación de JP3 y JP4 para la conexión de la fuente externa

Se procede ahora a conectar la carga en el medidor, para esto se realiza la conexión mostrada en la Figura 23. Durante las pruebas al sistema, como carga se utilizó un bombillo y una resistencia variable para verificar fácilmente el funcionamiento del medidor ante cambios en la carga.

(42)

42 En la Figura 24 se muestran los puertos V+, V-, I+, I-, donde se debe conectar la carga y la entrada de voltaje.

Figura 24. Puertos de conexión de la carga en el medidor

Ahora, con el módulo ZigBee conectado, la fuente externa y la carga, se tiene en funcionamiento el medidor. El medidor muestra constantemente en la pantalla las variables medidas, es posible confirmar estas medidas haciendo uso de un multímetro. Cuando los datos se envían a la aplicación de usuario es posible también verificar que el valor de potencia mostrado en la pantalla del medidor coincide con el valor que se muestra en la aplicación de usuario.

(43)

43 6.2 Enlace ZigBee

Se presenta una descripción general del módulo CC2530 utilizado y las herramientas de desarrollo que se usaron para colocarlo en funcionamiento. Se especifican las características del software Zstack implementado en el proyecto y se presenta el procedimiento que se debe realizar para poner en funcionamiento el enlace ZigBee.

Se tienen dos tipos de redes ZigBee dentro de las “Smart Grid”. Una de ellas se utiliza para comunicar dispositivos dentro de una casa, este tipo de redes es denominada HAN (Home Area Network). La segunda se utiliza para conectar medidores de energía en una NAN (Neighborhood Area Network). La red implementada en esta tesis se utiliza para una red NAN ya que se busca a futuro realizar una red de medidores con un concentrador central como se muestra en la Figura 25.

Figura 25. Arquitectura de la red implementada

6.2.1 Descripción general

El dispositivo CC2530 es una solución “system-on-chip (SOC)” presentada por la empresa Texas Instruments. Combina un microcontrolador de arquitectura 8051 con un módulo Transmisor-Receptor RF de 2.4GHz IEEE 802.15.4. Algunas de las características más sobresalientes son [20]:

 Voltaje de operación 3.3Vdc.

 Tamaño reducido (6-mm × 6-mm QFN40). Ver Figura 26.

(44)

44

 Aceptado por Regulación internacional ETSI EN 300 328 and EN 300 440 (Europe), FCC CFR47 Part 15 (US) and ARIB STD-T-66 (Japan).

 Potencia de salida RF programable de hasta 4.5 dBm.

 Microcontrolador 8051, 256KB Flash, 8KB Ram.

 Módulo de seguridad por hardware AES de 128-bits.

 ADC de 12 bits.

 2 Puertos de comunicaciones serial con soporte UART y SPI.

 5 Canales DMA.

Figura 26. Encapsulado Sistem-On-Chip (SOC) de Texas Instruments CC2530

Para su implementación en el proyecto, se utilizó el módulo de desarrollo CC2530EM y una antena de 50Ω de la marca antenova®, la cual ofrece una ganancia pico de 2.2dBi (ver Figura 27).

Figura 27. Módulo de desarrollo CC2530EM y antena de 50Ω de antenova®.

Es posible programar la memoria FLASH del microcontrolador 8051 para lograr una personalización en la aplicación final que se está desarrollando. Se pueden configurar parámetros del enlace RF y del protocolo implementado Zigbee, e inclusive acceder a los recursos como ADC, puertos de comunicación serial, temporizadores, entre otros. El hardware utilizado para

(45)

45 programar y depurar las versiones de firmware personalizadas en el CC2530-SOC es la denominada SmartRF05 “Evaluation Board” mostrado en la Figura 28 [21].

Figura 28. Herramienta de desarrollo SmartRF05 EvaluationBoard de Texas Instruments.

Algunos de los recursos a los cuales se puede acceder en la herramienta de desarrollo SmartRF05-EB son resumidos en la Figura 29. La tarjeta cuenta con diferentes interfaces y conexiones que permiten utilizarla para realizar diferentes pruebas hardware y software. El componente principal de la tarjeta es el controlador USB CC2511. Este se comunica con el PC por USB y traduce los requerimientos en acciones en la tarjeta. El controlador USB se comunica con el módulo de evaluación EM utilizando SPI, UART y/o interfaces para hacer depuración. El controlador USB tiene acceso a la interfaz UART RS232, el LCD, un LED, el Joystick y un botón.

(46)

46 Figura 29. Diagrama de bloques de recursos disponibles en la Evaluation Board.

6.2.2 Z-Stack: Una solución ZigBee PRO 2012

Texas Instruments tiene gratuitamente en su plataforma WEB una serie de paquetes software que pueden ser utilizados para acelerar el proceso de desarrollo de firmware personalizado, implementando el estándar IEEE 802.15.4,/Zigbee. Esta compilación de librerías y ejemplos recibe el nombre de Z-Stack. En la plataforma web de TI se encuentran disponibles algunas variantes con los siguientes nombres [22].

Z-Stack™ Linux Gateway: Ejemplos y librerías para ser compilados e implementados sobre microprocesadores.

Z-Stack Home: Ejemplos y librerías para desarrollar bajo el estándar ZigBee PRO 2012 y ZigBee Home Automation (ZHA) 1.2.2.

Z-Stack Lighting: Ejemplos y librerías para desarrollar bajo el estándar ZigBee PRO 2012 y ZigBee Light Link (ZLL) 1.0.

Z-Stack Mesh: Versión básica de ejemplos para soporte de ZigBee PRO 2012.

Z-Stack Energy: Ejemplos y librerías para desarrollar bajo el estándar ZigBee PRO 2012 y ZigBee Smart Energy (ZSE) 1.1.

Para la implementación del sistema AMI que conforma el proyecto, se utilizó la versión Z-Stack

Energy 1.1.0, que es la librería que cumple con el perfil ZigBee Smart Energy 1.1 y ZigBee PRO

2012. Aquí se involucra un sistema operativo de tiempo real que permite al microcontrolador 8051 la administración eficiente de los recursos hardware, incluyendo el control de tiempos, interrupciones, ejecución de tareas y periféricos.

(47)

47

 ESP (Portal de Servicios de Energía) como Coordinador

 Dispositivo de medición como enrutador

 Dispositivo de medición como end-device

 Pantalla como end-device

 Dispositivo de control de carga como enrutador

 Termostato programable (PCT) como end-device

 Extensor de alcance como enrutador

Para el proyecto se utilizó el ESP que funciona como el Coordinador y el dispositivo de medición que funciona como end-device.

Al instalar Z-Stack Energy se crea una carpeta con la documentación, diferentes herramientas y los proyectos. El proyecto utilizado en esta implementación es el que se muestra en la Figura 30. Este proyecto funciona especialmente para el módulo CC2530 y como particularidad instala todo el stack del protocolo ZigBee sobre el módulo. En otros proyectos se utilizan arquitecturas diferentes donde una parte del Stack se instala en el módulo y las capas superiores se instalan en otros dispositivos, como por ejemplo el medidor.

Dentro de la carpeta de instalación se cuenta con el archivo f8wconfig.cfg sobre el que se configuran diferentes parámetros del código. Entre los más importantes se encuentra la configuración de seguridad, canal de transmisión y PAN ID.

(48)

48 En la Figura 31 se muestra la estructura del código para el Coordinador. Para el end-device se tiene la misma estructura, lo que cambia está principalmente en la capa de aplicación (APP)

Figura 31. Estructura de Z-Stack Energy

APP: Se configura el tipo de instancia a utilizar, cualquiera de las siete instancias mencionadas anteriormente. Implementa las funciones de inicio y eventos asociados a la instancia, como los mensajes de comando/respuesta que se implementan en el Smart Energy Profile.

HAL: (Hardware Abstraction Layer) Provee una interfaz para acceder a los temporizadores, GPIOs, UART y ADC. Implementa las funciones de inicialización que se utilizan principalmente al inicio cuando el dispositivo es encendido. Dentro de esta capa se realiza la configuración de la comunicación UART con el medidor o concentrador según corresponda.

MAC: Implementación de la capa 802.15.4 MAC. Contiene funciones para el intercambio de mensajes entre la OSAL y el manejador de eventos de la capa MAC. Permite realizar la configuración de seguridad a nivel de capa MAC. Inicializa el dispositivo como RF y configura el canal.

MT: (Monitor Test) Se utiliza para comunicarse con una herramienta de pruebas de PC por medio de UART.

NWK: Provee funciones para realizar administración de la red y de direcciones de enlace. Contiene la implementación de las listas de asociación y tablas de binding.

(49)

49

OSAL: (OS Abstraction Layer) Permite que los componentes software de Z-Stack puedan escribirse independientemente del ambiente de procesamiento. Permite realizar el registro e inicialización de tareas, intercambio de mensajes entre tareas, sincronización de las mismas, manejo de interrupciones y asignación de memoria.

Profile: Define el ZCL (ZigBee Cluster Library) que utiliza un modelo cliente/servidor. Un cluster es una colección de comandos y atributos, dentro de esta API se definen comandos y sus respectivas respuestas. Dentro del Smart Energy Profile implementa los cluster de medición simple, precios, mensajes, control de carga, tunneling y pre-pago.

Security: Implementa la interfaz SSP (Security Service Provider) para las capas que utilicen encripción (NWK y APP).

Services: Provee servicios a la API NWK al implementar funciones de direccionamiento de ZigBee y 802.15.4.

Tools: Contiene los archivos de configuración f8wconfig.cfg, f8wCoord.cfg, f8wEndev.cfg y f8wRouter.cfg.

ZDO: Provee funcionalidades para manejar el dispositivo ZigBee. Provee una interfaz para administrar funcionalidades de un Coordinador, enrutador o end-device que incluye la creación, descubrimiento y la asociación a una red ZigBee.

ZMac: Provee una interfaz entre la capa 802.15.4 MAC y la capa de red ZigBee NWK.

ZMain: Contiene el main() por lo que se encarga de inicializar la tarjeta, verificar que los niveles de voltaje cumplen con los requerimientos de funcionamiento, e inicializar el código del Z-Stack.

Output: Especifica los archivos que se obtienen al compilar el proyecto

De acuerdo a la descripción del código implementado se definen las capas del Z-Stack mostrados en la Figura 32 así:

(50)

50 Figura 32. Stack de protocolos implementados por Z-Stack

6.2.3 Procesos en el módulo ZigBee

En la Figura 33 se muestra el proceso de arranque en los módulos CC2530. Para empezar se apagan las interrupciones después de un reset o encendido del módulo. Después de esto se verifica que los niveles de voltaje son suficientes para poner en funcionamiento el módulo, si es así se realiza el setup del Hardware controlado por la HAL.

Después de esto se procede a inicializar la memoria no volátil y se inicializa la capa MAC. Luego, se inicializa el sistema operativo y sus interrupciones controladas por la OSAL y para finalizar se deja el sistema operativo en ejecución controlando las diferentes tareas del sistema. Dentro de las tareas del sistema se tiene la creación de la red en el caso del Coordinador, o unirse a una red existente en el caso de un end-device.

(51)

51 Figura 33. Proceso de arranque en el módulo ZigBee

En la Figura 34 se muestra el proceso para el envío de paquetes a la red ZigBee. El proceso comienza con una interrupción por el puerto UART, esto indica una solicitud desde el medidor o el concentrador para enviar un paquete.

Se lee el buffer de recepción y se limpia para que pueda recibir un nuevo dato. Se analiza el paquete recibido, se verifica el checksum y que cumpla con el Smart Energy Profile para su envío. Si no cumple con alguna de estas dos cosas el paquete es descartado y se libera la tarea para que vuelve a la ejecución de la OSAL.

Referencias

Documento similar

If certification of devices under the MDR has not been finalised before expiry of the Directive’s certificate, and where the device does not present an unacceptable risk to health

In addition to the requirements set out in Chapter VII MDR, also other MDR requirements should apply to ‘legacy devices’, provided that those requirements

The notified body that issued the AIMDD or MDD certificate may confirm in writing (after having reviewed manufacturer’s description of the (proposed) change) that the

En cuarto lugar, se establecen unos medios para la actuación de re- fuerzo de la Cohesión (conducción y coordinación de las políticas eco- nómicas nacionales, políticas y acciones

You may wish to take a note of your Organisation ID, which, in addition to the organisation name, can be used to search for an organisation you will need to affiliate with when you

Where possible, the EU IG and more specifically the data fields and associated business rules present in Chapter 2 –Data elements for the electronic submission of information

Products Management Services (PMS) - Implementation of International Organization for Standardization (ISO) standards for the identification of medicinal products (IDMP) in

This section provides guidance with examples on encoding medicinal product packaging information, together with the relationship between Pack Size, Package Item (container)