Sistema de monitoreo de variables eléctricas en tiempo real

31
Sistema de monitoreo de variables eléctricas en tiempo real Autor(es) Bryan Sneider García Correa Universidad de Antioquia Facultad de Ingeniería, Departamento de Ingeniería Eléctrica Medellín, Colombia 2021

Transcript of Sistema de monitoreo de variables eléctricas en tiempo real

Page 1: Sistema de monitoreo de variables eléctricas en tiempo real

Sistema de monitoreo de variables eléctricas en tiempo real

Autor(es)

Bryan Sneider García Correa

Universidad de Antioquia

Facultad de Ingeniería, Departamento de Ingeniería

Eléctrica

Medellín, Colombia

2021

Page 2: Sistema de monitoreo de variables eléctricas en tiempo real

Sistema de monitoreo de variables eléctricas en tiempo real

Bryan Sneider García correa

Informe de práctica o monografía o investigación o tesis o trabajo de grado

como requisito para optar al título de:

Ingeniero Electricista

Asesores (a) o Director(a) o Co- Directores(a).

Nelson de Jesus Londoño Ospina- Ingeniero Electrónico

(Asesor interno)

Sebastian Marín Montoya- Ingeniero Electricista

(Asesor externo)

Universidad de Antioquia

Facultad de Ingeniería, Departamento de ingeniería Eléctrica.

Medellín, Colombia

2021.

Page 3: Sistema de monitoreo de variables eléctricas en tiempo real

SISTEMA DE MONITOREO DE VARIABLES ELÉCTRICAS EN TIEMPO REAL

Resumen

Los analizadores de redes son dispositivos utilizados para el monitoreo de las

variables eléctricas de un sistema, pero estos normalmente no cuentan con

almacenamiento de datos, son solo el dispositivo en medición, por lo que se realizó

un desarrollo en busca de almacenar dichos datos.

Comenzando por la instalación del dispositivo de medida expandido con un

módulo de comunicación en RS485, se realizó la conexión de este medidor a un

conversor RS485/232 a Ethernet y así poder acceder al puerto de comunicaciones

por internet; se implementó un script de lectura y almacenamiento de datos en

Python, el cual almacena las tensiones, corrientes, potencias activas, y Factor de

potencia y Potencias Activa, reactiva y aparente totales, al igual que la energía

consumida, también se realizó el cálculo del consumo neto de energía con

referencia al día y al mes, es decir, qué tanto se ha consumido el día de hoy, o qué

tanto se ha consumido en este mes.

Al tener listo el algoritmo de almacenamiento de datos, se utilizó la plataforma

Grafana para realizar la creación de un Dashboard con el resumen de los datos,

contando con la opción de alertas se realizó la integración con la plataforma de

mensajería Telegraf para realizar los avisos de alerta por este medio.

Se obtuvo una aplicación de escritorio de lectura de variables eléctricas a un

medidor que comunica en RS485 en protocolo Modbus ASCII y grafica de dichas

variables en tiempo real junto con un sistema de alertas remotas.

Page 4: Sistema de monitoreo de variables eléctricas en tiempo real

Introducción

Los analizadores de redes son dispositivos utilizados para el monitoreo de las

variables eléctricas de un sistema, pero estos normalmente no cuentan con

almacenamiento de datos, son solo el dispositivo en medición, por lo que

fabricantes y terceros desarrollan algoritmos y aplicaciones para el

almacenamiento y graficado de los datos medidos.

Al no contar con memoria interna se encuentra que se debe desarrollar un

algoritmo que se comunique en el mismo protocolo de comunicación utilizado por

el analizador para realizar la petición de los valores de cada variable, para luego

ser almacenada o utilizada para cálculos adicionales.

Elegido el analizador de redes Lovato DMG700 junto con el módulo de

comunicaciones EXP10 12 (RS485) se adiciona un conversor RS485 a Ethernet para

tener la comunicación algoritmo-medidor por medio de una red LAN o WAN.

El algoritmo desarrollado discrimina las variables, guardando la energía consumida

de forma horaria, al inicio y al final de cada hora, para realizar el reporte de

consumo neto de forma horaria y diaria, con referencia diaria y mensual, es decir,

cuánto se ha consumido hasta el momento, respecto al inicio del día o al inicio del

mes.

Con la información en una base de datos, se implementa el servidor Grafana para

el graficado de los datos, siendo Grafana un servidor el cual puede ser utilizado

para servicios web, se desarrolla un Dashboard con los datos respectivos y se

integran alertas por medio del servidor de mensajería Telegraf.

Teniendo un algoritmo base de comunicación y almacenamiento de datos, se

prevé en el futuro aplicaciones no solo de medida, sino implementación de

actuación y monitoreo de distintas variables no eléctricas.

Page 5: Sistema de monitoreo de variables eléctricas en tiempo real

Objetivos

1.1 Objetivo específico

Elaboración e implementación de un sistema de monitoreo de

variables eléctricas y de consumo, por medio de elementos de

medida y una tarjeta Raspberry pi.

1.2 Objetivos específicos

- Estudio de equipos de medida del mercado.

- Caracterización del equipo de medida que se utilizará.

- Implementación de lectura de datos del equipo de medida en

tarjeta Raspberry pi.

- Elaboración de software de reporte de medidas.

Marco Teórico

1. Medidores, marcas y modelos comunes, funcionamiento y modos de

comunicación-

Un analizador de redes es un dispositivo utilizado para censar variables

eléctricas de una red específica, las más comunes son:

voltaje, corriente, potencia activa, potencia reactiva, potencia aparente,

factor de potencia energía consumida, tanto por fase como en total al igual

que el contenido de armónicos en la red.

Normalmente estos analizadores de redes no tienen memoria interna de

almacenamiento por lo que cuentan con módulos distintos estándar de

comunicaciones (RS485/232, TCP/IP, USB) con distintos protocolos de

comunicación, siendo Modbus el más utilizado.

Algunos de los analizadores de redes del mercado son analizados y

comparados en el siguiente cuadro, según marca y modelo

Page 6: Sistema de monitoreo de variables eléctricas en tiempo real

Tabla 1. Comparación básica de analizadores de redes marca Elecnova [1]

Modelo Sfere

720A

Sfere 720B Sfere 720C Sfere 720

Medidas V, A, P, Q, S, FP X X X X

Energía X X X X

Calidad de la energía

THD - X X X

Armónicos V/A - 1-51st 1-63rd 1-63rd

Componentes de

secuencia

- X X X

Desbalance - X X X

Comunicaciones Comunicación - RS485 RS485 RS485

Protocolo - Modbus RTU Modbus RTU Modbus RTU

Tabla 2. Comparación básica de analizadores de redes marca Circuto-1 [2]

SERIE CVM C5 CVM C10

Modelo -IC (*1)

-ITF-485-C(*2)

-ITF-485-(*3)I

-MC-IC (*1)

-MC-485-C(*2)

MC-485-(*3)I

-ITF-485-

ICT2(*1)

-SDC-ITF-485-

ICT2(*2)

-MC-485-

ICT2

Medidas V, A, P, Q, S, FP X X X X

Energía X X X X

Calidad de la energía THD X X X

Armónicos V/A 1-31st 1-31st

Componentes de

secuencia

- - - -

Desbalance - - - -

Comunicaciónes Comunicación RS485(*2,*3) RS485(*2,*3) RS485(*) RS485(*)

Protocolo Modbus RTU(*2,*3) Modbus RTU(*2,*3) Modbus RTU(*)

BacNet(*)

Modbus RTU

BacNet

Page 7: Sistema de monitoreo de variables eléctricas en tiempo real

Tabla 3. Comparación básica de analizadores de redes marca Circuto-2 [2]

SERIE CVM C10 CVM B100 CVM B150

Modelo -ITF-IN-485-

ICT2

-Flex-IN-485-I2(*1)

-SDC-FLEX-485-I2(*2)

-ITF-485-ICT2(*1)

-SDC-ITF-485-

ICT2(*2)

-ITF-485-ICT2(*1)

-SDC-ITF-485-

ICT2(*2)

Medidas V, A, P, Q, S, FP X X X X

Energía X X X X

Calidad de la energía THD X X X X

Armónicos V/A 1-31st 1-31st 1-50st 1-50st

Componentes

de secuencia

- - - -

Desbalance - - - -

Comunicación

Comunicación RS485(*) RS485(*) RS485(*)

Ethernet(*)

RS485(*)

Ethernet(*)

Protocolo Modbus

RTU(*)

BacNet(*)

Modbus RTU(*)

BacNet(*)

Modbus RTU(*)

Modbus TCP(*)

BacNet(*)

LonWorks(*)

MBUS(*)

PROFIBUS(*)

Modbus RTU(*)

Modbus TCP(*)

BacNet(*)

LonWorks(*)

MBUS(*)

PROFIBUS(*)

Page 8: Sistema de monitoreo de variables eléctricas en tiempo real

Tabla 4. Comparación básica de analizadores de redes marca Circuto-3 [2]

SERIE CVM A1500

Modelo -ITF-IN-485-ICT2(*1)

-SDC-ITF-485-ICT2(*2)

Medidas V, A, P, Q, S, FP X

Energía X

Calidad de la energía THD X

Armónicos V/A 1-50st

Componentes de

secuencia

-

Desbalance -

Comunicación

Comunicación RS485(*)

Ethernet(*)

Protocolo Modbus RTU(*)

Modbus TCP(*)

BacNet(*)

LonWorks(*)

MBUS(*)

PROFIBUS(*)

Page 9: Sistema de monitoreo de variables eléctricas en tiempo real

Tabla 5. Comparación básica de analizadores de redes marca Lovato [3]

Comunicaciones:

Estándar de comunicación: Lineamientos para la transmisión de información. En de

estos lineamientos se contemplan tanto la amplitud de las señales como su

interacción, entre ellos los más comunes son:

- RS485

- RS232

- Ethernet

- Profibus

Serie DMG

Modelo 300 210 700 800 900

Medidas V, A, P, Q, S, FP x x x x X

Energía x x x x X

Calidad de la

energía

THD x x x x X

Armónicos V/A 1-31st 1-31st 1-63rd

Componentes

de secuencia

x x X X x

Desbalance x x x X x

Comunicación

Comunicación USB

RS 232

RS 485

Ethernet

USB

RS 232

RS 485

USB

RS 232

RS 485

USB

RS 232

RS 485

Profibus

USB

RS 232

RS 485

Profibus

Protocolo Modbus

RTU

Modbus

ASCII

Modbus

TCP

Modbus

RTU

Modbus

ASCII

Modbus

RTU

Modbus

ASCII

Modbus

RTU

Modbus

ASCII

Modbus

TCP

Modbus

RTU

Modbus

ASCII

Modbus

TCP

Page 10: Sistema de monitoreo de variables eléctricas en tiempo real

El estándar de capa física RS 485 sobresale en el sector industrial por contar con

una capacidad de hasta 1200m y hasta 32 dispositivos en una misma red, además

de contar con una señal de verificación de errores, por esto es elegido este

estándar para su implementación en el desarrollo. [4][5]

Protocolo de comunicación Modbus [6][7]: Protocolo basado en la arquitectura

maestro-esclavo, la arquitectura de las peticiones y registros en Modbus consta:

-Inicio del mensaje.

-Dirección del registro de interés.

-Función a ejecutar (Lectura o escritura)

-Cantidad de datos a leer (Datos leídos).

-Apartado de verificación de errores.

-Final.

Integración visual y alertas:

Grafana [8]: Es una plataforma-servidor que permite el graficado en tiempo real de

distintas bases de datos, con gran facilidad de creación de Dashboards y un

sistema de comandos simple.

Al Grafana ser un servidor, se puede acceder a él por medio de direccionamiento

IP mediante un navegador de internet, además permite la creación de usuario

(con permisos de lectura, edición y administración), la creación de alertas al

momento de sobrepasar distintos valores y la obtención de las gráficas individuales

para su utilización en desarrollos WEB.

Telegraf [9]: Es un servidor pluging-driven dedicado a la recolección y

comunicación de mediciones, eventos y textos de bases de datos, sistemas y

sensores; cuenta con aplicación para escritorio y para celular.

Page 11: Sistema de monitoreo de variables eléctricas en tiempo real

Metodología

El analizador de redes elegido para la implementación fue el Lovato DMG700, al

cual se le adicionó el módulo EXP 10 12 en capa física RS485, el protocolo de

comunicación del analizador es Modbus tanto ASCII como RTU.

La implementación fue realizada en una oficina que cuenta con 2 fases, la

conexión se realizó de acuerdo con las instrucciones del manual de usuario

(Imagen 1); adicionalmente se le instalaron dos suiches para cortocircuitar los

secundarios de cada transformador de corriente, para evitar altos voltajes al

momento de desconectarlo (Imagen 2)

Imagen 1. Conexión Lovato DMG700 para 2 fases[3]

Imagen 2. Conexión de transformadores de corriente con suiche para

cortocircuitar

Page 12: Sistema de monitoreo de variables eléctricas en tiempo real

Se configuró el apartado de comunicaciones del analizador de redes según Tabla

6, el valor ‘Dirección Serial Nudo’ se refiere a la dirección Modbus del dispositivo

que se debe utilizar al momento de realizar las peticiones y lecturas.

Se seleccionó el protocolo Modbus ASCII debido a limitaciones del conversor

RS485/232 a Ethernet, pues este no procesa algunos valores cuando se codifica en

RTU.

Tabla 6. Configuración de comunicaciones Lovato DMG700.

Lovato DMG

Dirección Serial Nudo 1

Velocidad 9600 baud

Formato Datos 8 bit-none

Bit de stop 1

Protocolo Modbus ASCII

Se instaló un conversor de trenes de datos RS485/232 a Ethernet (Imagen 3);

sirviendo de interfaz entre el analizador de redes y un puerto del Switch de

comunicaciones, en el cual se realiza la conexión entre el analizador y el dispositivo

que ejecute el algoritmo de recolección y almacenamiento de datos.

Page 13: Sistema de monitoreo de variables eléctricas en tiempo real

Imagen 3. Conversor RS585/232 a Ethernet marca WaveShare[10]

La configuración del conversor fue realizada mediante un software suministrado

por los fabricantes, se puede encontrar en [10]

Los valores Braudate, Bit de paridad, cantidad de bits y bit de stop se asignaron

según la configuración anteriormente realizada en el analizador de redes, también

se asignaron valores como dirección IP y puerto de comunicación a los cuales se

comunica el algoritmo de recolección y almacenamiento de datos, la

configuración se encuentra en Imagen 4.

Imagen 4. Configuración del conversor con software del fabricante

Page 14: Sistema de monitoreo de variables eléctricas en tiempo real

Para hablar del algoritmo primero se debe abordar la estructuración de la base de

datos; se realiza la elección de tomar los valores de las tensiones, corrientes,

potencias activas por fase, potencia activa, reactiva y aparente totales y factor de

potencia de forma continua, una vez por segundo, mientras que la recolección del

marcado de energía consumida se realiza al inicio y al final de cada hora, por lo

que se construyen distintas tablas dentro de la base de datos:

1. Variables_Electricas: Tabla con los valores de V, I, P, P total, Q tota, S total,

FP.

2. Energía_Base: es la recolección de los datos del contador de energía al

inicio y al final de la hora

3. Energía_Horaria: en esta tabla se guardan los datos de consumo horario neto

respecto al día y al mes

4. Energía_Diaria: en esta tabla se guardan los datos de consumo diario neto

respecto al día y al mes

La base de datos se constituyó en distintas tablas ya que los registros deben ser

realizados al mismo tiempo para no generar datos “NULL” dentro de ella.

El código fue construido en Python con las librerías Pymodbus y PyMySQL; se

estructuró en un paquete de funciones y un código principal, el algoritmo.

La composición general del algoritmo es:

1. Entrada de datos y nombres necesarios para creación de tablas, conexión

a base de datos, conexión TCP al conversor y creación de objetos referentes

a las variables a analizar

2. Conexión a base de datos, conexión a puerto TCP y creación de tablas

3. Ciclo infinito de llenado de tablas con condicionales que permiten realizar

la selección y tratamiento de los datos de energía consumida

Page 15: Sistema de monitoreo de variables eléctricas en tiempo real

Imagen 5. Diagrama de flujo algoritmo principal.

Page 16: Sistema de monitoreo de variables eléctricas en tiempo real

Imagen 6. Diagrama de flujo de función interna de creación de texto

Page 17: Sistema de monitoreo de variables eléctricas en tiempo real

Imagen7. Diagrama de flujo de función interna para creación de tablas en la

base de datos

Page 18: Sistema de monitoreo de variables eléctricas en tiempo real

Imagen 8. Diagrama de flujo de función interna de almacenamiento de datos en

la base de datos.

Page 19: Sistema de monitoreo de variables eléctricas en tiempo real

Imagen 9. Diagrama de flujo función interna y método del objeto al que

pertenecen las variables que se encarga de realizar la petición y lectura de los

valores

Page 20: Sistema de monitoreo de variables eléctricas en tiempo real

Imagen 10. Diagrama de flujo de función interna de consulta y llenado de datos.

Page 21: Sistema de monitoreo de variables eléctricas en tiempo real

Imagen 11. Diagrama de flujo de función para obtención de consumo de energía

neta según franjas de tiempo.

Page 22: Sistema de monitoreo de variables eléctricas en tiempo real

GRAFANA Y TELEGRAF.

La instalación del Grafana en un dispositivo con sistema operativo basado en

Ubuntu con los comandos :

“sudo apt-get install -y adduser libfontconfig1

wget https://dl.grafana.com/oss/release/grafana_7.3.7_amd64.deb

sudo dpkg -i grafana_7.3.7_amd64.deb”

Obtenidos de la página web de Grafana [8] en el apartado de descargas.

El proceso que se utilizó fue el siguiente:

1. Se importó la Base de datos de interés (Imagen 12,13,14)

2. Se creó el Dashboard sobre el que estarán las gráficas (Imagen 15)

3. Se creó cada panel o gráfica (Imagen 16)

a. En cada panel se debe seleccionar la base de datos (Imagen, tabla

y variables, ya sea editando el código de Query o de forma

manual(Imagen 17 y 18)

Imagen 12. Selección base de datos en Grafana.

Page 23: Sistema de monitoreo de variables eléctricas en tiempo real

Imagen 13. Selección base de datos en Grafana, fuente de la base.

Imagen 14. Permisos y conexión a la base de datos

Page 24: Sistema de monitoreo de variables eléctricas en tiempo real

Imagen 15. Creación de nuevo Dashboard.

Imagen 16. DashBoard en blanco

Page 25: Sistema de monitoreo de variables eléctricas en tiempo real

Imagen 17. Selección de base de datos y editor de Querys.

Imagen 18. Editor de Querys

Sistema de alertas.

Los paneles tipo Graph cuentan con la opción de alertas, las que se activan al

tener algún valor por fuera de lo establecido, dicho valor se escanea por un tiempo

que se define y si cumple la condición por un tiempo mayor al definido se activa la

alerta.

Se definieron dos alertas una en corrientes (Imagen 19) para monitorear bajo

consumo o sobre consumo y otra de voltajes (Imagen 20) para verificar el estado

de la RED.

Page 26: Sistema de monitoreo de variables eléctricas en tiempo real

Imagen 19. Alerta de corriente.

Imagen 20. Alerta de voltaje.

Teniendo las alertas definidas, se realizó la implementación de un Bot de Telegraf

para compartir las alertas de Grafana.

Pasos seguidos para la implementación de Telegraf:

1. Buscar ‘Botfather’ en Telegraf

2. Escribir ‘/newbot’

3. Asignar nombre para Bot

4. Asignar nombre de usuario para el bot

Luego de esto se obtuvo un API token (identificador para comunicar las dos

aplicaciones)

Page 27: Sistema de monitoreo de variables eléctricas en tiempo real

5. Enviar mensaje ‘/start’ al bot creado

6. Obtener el ChatID del bot por medio de los siguientes pasos:

a. Reemplazar <Token> por el token obtenido anteriormente en el

siguiente URL https://api.telegram.org/bot<Token>/getUpdates

b. Buscar y copiar el Chat ID

Con el Chat ID y el API Token listos se realizó la inscripción del BOT al sistema de

alertas de Grafana, adicionando el Api Token en el apartado de

“>>Configuración>>API Kews” (Imagen 21) de grafana. Con esto se logró el enlace

inicial entre ambas plataformas; para realizar la asignación de las alertas al chat

con el BOT, se debe realizar la apertura del canal de notificaiones en “>>Alertas>>

Canales de notificación” (Imagen 22) Asignando los nombres deseados y el

IDChat; finalmente, se asignaron las alertas al chat con el BOT, esto dentro de la

definición de la alerta(Imagen 23)

Imagen 21. Adición del API Token en la sección de API Keys

Page 28: Sistema de monitoreo de variables eléctricas en tiempo real

Imagen 22. Ingreso de canal de notificaciones (chat con el bot creado)

Imagen 23. Asignación de alertas al canal de notificaciones.

Page 29: Sistema de monitoreo de variables eléctricas en tiempo real

Resultados y análisis

El resultado final es una plataforma de monitoreo en tiempo real de las variables

eléctricas de una oficina, en donde se tienen valores instantáneos de corriente,

tensión, potencias y factor de potencia y valores horarios y diarios netos de la

energía consumida (Imagen 24).

También se obtiene un sistema de alarmas por medio de mensajería en la

integración Grafana-Telegraf.

Imagen 24. Dashboard de monitoreo en tiempo real.

Adicionalmente, se realizaron pruebas de funcionamiento y capacidad del

dispositivo que funciona como servidor(de lectura de datos y de Grafana) y se

encontró que la RaspBerry pi4 utilizada se encontraba sobrecargada de procesos,

por lo que se realizó la instalación en un computador de gama media obteniendo

un mejor desempeño a la hora de tener varios usuarios utilizando el servicio;

teniendo que a futuro se podrá realizar el direccionamiento del servidor a el

dominio de internet de la Empresa para prestar el servicio de forma virtual.

Page 30: Sistema de monitoreo de variables eléctricas en tiempo real

Conclusiones

1. El estándar RS485 es altamente útil en entornos industriales por su capacidad

de tener hasta 32 elementos conectados y una longitud de su red máxima

de 1200m.

2. Se recomienda utilizar Modbus ASCII al momento de realizar

implementaciones que lleven conversores de RS485/232 a Ethernet, pues

estos dependiendo del fabricante no cuentan con reconocimiento de

Modbus RTU

3. La RaspBerry Pi es un dispositivo potente y cómodo para el desarrollo de

prototipos.

4. Para una implementación del servicio a mayor escala es necesario un

servidor más potente que la RaspBerry Pi.

Referencias Bibliográficas

Cibergrafía

Para boletines informativos electrónicos, grupos de discusión y otros sistemas de

mensajes electrónicos

Título. Tipo de medio electrónico o soporte físico. Lugar de publicación. Editor.

Fecha de publicación. Fecha de la cita. Notas (opcional). Disponibilidad y

acceso. Anexos (opcional).

[1] Catálogo Elecnova Sfere720B <<https://pdf.directindustry.es/pdf-en/jiangsu-

sfere-electric-co-ltd/elecnova-sfere720b/196634-783387-_2.html>>

[2]Catálogo, Circutor, Analizadores fijos

<<http://docs.circutor.com/docs/CT_AnalizadoresFijos_SP.pdf>>

[3] Lovato-Medidores , Xavier Novella, 30 julio 2020

<<https://support.dexma.com/hc/es/articles/360007867094-Lovato-Medidores-

Sensores#h_23cb4add-4c01-4b5e-9739-a148a634276d>>

[4] Concepto de capa física, José Antonio Muñoz Jiménez, 2017.

https://planificacionadministracionredes.readthedocs.io/es/latest/Tema03/Teo

ria.html

[5] Ingeniería en microcontroladores, protocolo RS485, Éric López Pérez,

http://www.electronica60norte.com/mwfls/pdf/rs-485.pdf

Page 31: Sistema de monitoreo de variables eléctricas en tiempo real

[6] Modbus: Que es y cómo funciona , Cursosaula21, 2020.

<<https://www.cursosaula21.com/modbus-que-es-y-como-funciona/>>

[7]Guía de comunicación Modbus RTU, Olga Weis, 2019. <https://www.virtual-

serial-port.org/es/articles/modbus-rtu-guide/>

[8] Documentación Grafana https://grafana.com/docs/

[9] Página principal telegrafhttps://www.influxdata.com/time-series-

platform/telegraf/

[10] https://www.waveshare.com/wiki/RS232/485_TO_ETH

Visto bueno del asesor interno y asesor externo

Como asesor conozco la propuesta y avalo su contenido.

Firma Firma

________________________ ___________________________

Nombre del asesor interno Firma del asesor externo