Sistema de monitoreo de variables eléctricas en tiempo real
Transcript of 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
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.
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.
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.
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
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
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(*)
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(*)
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
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.
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
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.
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
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
Imagen 5. Diagrama de flujo algoritmo principal.
Imagen 6. Diagrama de flujo de función interna de creación de texto
Imagen7. Diagrama de flujo de función interna para creación de tablas en la
base de datos
Imagen 8. Diagrama de flujo de función interna de almacenamiento de datos en
la base de datos.
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
Imagen 10. Diagrama de flujo de función interna de consulta y llenado de datos.
Imagen 11. Diagrama de flujo de función para obtención de consumo de energía
neta según franjas de tiempo.
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.
Imagen 13. Selección base de datos en Grafana, fuente de la base.
Imagen 14. Permisos y conexión a la base de datos
Imagen 15. Creación de nuevo Dashboard.
Imagen 16. DashBoard en blanco
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.
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)
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
Imagen 22. Ingreso de canal de notificaciones (chat con el bot creado)
Imagen 23. Asignación de alertas al canal de notificaciones.
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.
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
[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