Originalmente esta prueba la realice en junio de 2018 en poco cumplirá un año, por motivos de disponibilidad no lo publique, técnicamente solo faltaba la documentación, a continuación presentare los resultados, bien dicen por hay mas vale tarde que nunca.
En esta oportunidad nuestro medidor PZEM-004 o también es posible con nuestro PZEM-004T se realizara la comunicación con la plataforma Node RED mediante un Arduino Nano implementando el protocolo Modbus RTU sobre RS232.
Materiales y donde comprarlos Baratos
- Arduino Nano
- Nuevo Arduino Nano MicroUSB
- Medidor PZEM 004 con display
- Medidor PZEM 004T & Medidores Trifasicos
- Medidor PZEM-016 Modbus RTU + Serial ConverterRS485-USB+ CT (0-100A)
- Resistencia Calentadora de agua
- Modulo Serial RS232 a TTL
- Cable USB-Serial RS232
Otros Equipos Recomendados
- Transformador de corriete nucleo partido
- Medidores de Consumo electrico Monofasico – Por pulsos
- Tranformadores de Voltaje para Aislamiento
- MPPT Controlador Regulador para panel Solar
- Paneles Solares 10W 18v
- Matrix Led x4 Max7219
Tutoriales recomendados
Esta implementacion funciona similar a nuestro tutorial actual, recomiendo verlos antes.
Otros recomendados
Modbus RTU
En esta oportunidad utilizaremos uno de los protocolos mas famosos de la industria por su practicidad e implementacion en la automatización industrial, este caso nuestro Arduino sera un esclavo Modbus RTU serial sobre capa fisica RS232.
Pruebas realizadas
Realizaremos la medición de consumo eléctrico de una resistencia para calentar agua, consume aproximadamente 920 Watts y visualizaremos las mediciones en un dashboard creado en Node-RED Dashboard y la comunicación implementado Modbus RTU sobre RS232.
Arduino IDE
Hemos utilizado un arduino Nano, dado que es pequeño y practico. Para facilitar el envió de valores flotantes en registros enteros, se realiza algunas operaciones en arduino y en node red, son multiplicaciones y divisiones entre 10.
Se utilizara la librería Modbus Esclavo para Arduino y la librería para la lectura de medidores PZEM, Se ha creado 2 rutinas.
Rutina 1 realiza la lectura de valores del medidor PZEM-004 por puerto serial TTL.
Rutina 2 realiza el envió de datos de medición utilizando librería modbus esclavo y comunicación con el maestro modbus (Node-RED).
Conexiones
- Puerto: Serial Pines(Rx-Tx)<——–>(Tx-Rx) PZEM-004 o PZEM-004T
- Puerto: SoftwareSerial (Modbus) Pines (D9 – D10)<—–>(Max232)
Node-RED
En este caso la plataforma Node-RED se ejecuta en mi PC, como es comunicación serial, con un convertidor serial RS232-USB.
- Nodos modbus: node-red-contrib-modbus, nodos, Modbus RTU/TCP
- Nodos Node-RED Dashboard, paquete de visualización.
- Configuración Nodo Modbus RTU, lectura 5 Holding Registers, desde la direccion 9.
Node-RED Dashboard
Resultado prueba Final
Video Completo
Conclusiones
Esta prueba se realizo para analizar o brindar la posibilidad de utilizar el medidor PZEM-004 como un Nodo o esclavo Modbus RTU permitiendo integrarlo en aplicaciones industriales básicas, de medición de consumo eléctrico desde un controlador PLC /HMI o SCADA.
Dado que según nuestra experiencia el protocolo modbus en general es muy practico y técnicamente todos los controladores lo tienen implementado por su sencillez y robustez.
Esta aplicación también se podría realizar con una raspberry pi que tenga Node RED ejecutándose.