Monitorea el consumo eléctrico con PZEM-004T y UNIT UNO

0
26
Monitorea Tu Consumo Eléctrico con PZEM-004T
Monitorea Tu Consumo Eléctrico con PZEM-004T

En esta práctica, monitorea tu consumo eléctrico con PZEM-004T en tiempo real los parámetros eléctricos de cargas eléctricas como electrodomésticos o dispositivos electrónicos, midiendo parámetros como el voltaje, la corriente, la potencia, la frecuencia y el factor de potencia.

Adquirirás habilidades en la conexión y programación del sensor y la identificación de posibles errores en las mediciones, con el fin de optimizar el consumo energético y mejorar la eficiencia en sistemas eléctricos domésticos o industriales.

Introducción

El PZEM-004T es un medidor de energía eléctrica diseñado para monitorear y medir parámetros eléctricos en sistemas de corriente alterna (AC), este dispositivo puede medir corrientes de hasta 100A, es especialmente útil en instalaciones donde se manejan grandes cargas eléctricas. Además, su capacidad de comunicación con microcontroladores y sistemas embebidos lo hace adecuado para aplicaciones de automatización y gestión energética.

Materiales

Desarrollo

El objetivo de esta práctica es aprender a integrar y utilizar el sensor PZEM-004T con UNIT Arduino UNO para medir parámetros eléctricos y monitorizar en consumo de nuestros dispositivos o sistema eléctrico.

Diagrama de conexiones 

La práctica cuenta con dos tipos de conexiones, la conexión de DC y AC. La conexión DC realiza la comunicación entre UNIT UNO y el sensor PZEM-004T por medio de cables dupont, la alimentación del sensor proviene del mismo UNIT UNO.

La conexión de AC o alimentación de corriente alterna y la carga que vamos a monitorear, esta puede ser un electrodomésticos o dispositivos electrónicos.

Requerimientos previos

Para poder utilizar el sensor PZEM-004Tes necesario instalar la librería “PZEM004Tv30”. La librería se puede instalar desde el Gestor de Biblioteca y buscar la librería dando clic en instalar

Código

Este código utiliza la librería PZEM004Tv30 para leer y mostrar parámetros eléctricos como voltaje, corriente, potencia, energía, frecuencia y factor de potencia utilizando un sensor PZEM-004T v3.0. Se inicializa la comunicación serial a 9600 baudios, se leen y verifican los valores de los parámetros eléctricos, imprimiendo cada valor en el monitor serial si la lectura es exitosa; en caso contrario, se muestra un mensaje de error específico para cada medición. El código permite monitorear el consumo eléctrico en tiempo real con un retardo de 2 segundos entre cada ciclo de lectura.

Se inicializa la comunicación serial a 9600 baudios, se leen y verifican los valores de los parámetros eléctricos, imprimiendo cada valor en el monitor serial si la lectura es exitosa; en caso contrario, se muestra un mensaje de error específico para cada medición.

El código permite monitorear el consumo eléctrico en tiempo real con un retardo de 2 segundos entre cada ciclo de lectura.

#include <PZEM004Tv30.h>
#include <Wire.h>
PZEM004Tv30 pzem(8, 9); // Se declara el  pin 8 como (RX) y el pin  9  como (TX)
void setup() {
  Serial.begin(9600);
}
void loop() {
  float voltaje = pzem.voltage();
  if (voltaje != NAN) {
    Serial.print("Voltaje: ");
    Serial.print(voltaje);
    Serial.println(" [V]");
  } else {
    Serial.println("Error de lectura de voltaje");
  }
  float corriente  = pzem.current();
  if (corriente != NAN) {
    Serial.print("Corriente: ");
    Serial.print(corriente);
    Serial.println(" [A]");
  } else {
    Serial.println("Error de lectura de corriente");
  }
  float potencia = pzem.power();
  if (corriente != NAN) {
    Serial.print("Potencia: ");
    Serial.print(potencia);
    Serial.println(" [W]");
  } else {
    Serial.println("Error de lectura de potencia");
  }
  float energia = pzem.energy();
  if (corriente != NAN) {
    Serial.print("Energía: ");
    Serial.print(energia, 3);
    Serial.println(" [kWh]");
  } else {
    Serial.println("Error de lectura de energía");
  }
  float frecuencia = pzem.frequency();
  if (corriente != NAN) {
    Serial.print("Frecuencia: ");
    Serial.print(frecuencia, 1);
    Serial.println(" [Hz]");
  } else {
    Serial.println("Error de lectura de frecuencia");
  }
  float pf = pzem.pf();
  if (corriente != NAN) {
    Serial.print("Factor de Potencia: ");
    Serial.println(pf);
  } else {
    Serial.println("Error de lectura de factor de potencia ");
  }
  Serial.println();
  delay(2000);
}

Conclusión

Al concluir esta práctica, se ha logrado integrar y utilizar exitosamente el sensor PZEM-004T con el UNIT UNO para monitorizar en tiempo real los parámetros eléctricos de dispositivos y sistemas eléctricos. La implementación del código y la correcta configuración de las conexiones permitieron la medición precisa de variables críticas.

Se han adquirido habilidades esenciales en la programación del sensor y en la identificación en la medición. Estos conocimientos son fundamentales para optimizar el consumo energético y mejorar la eficiencia en sistemas eléctricos, tanto en aplicaciones domésticas como industriales.

La práctica no solo ofrece una comprensión técnica del funcionamiento del sensor, sino que también resalta la importancia del monitoreo continuo en la gestión y automatización de la energía, abriendo el camino hacia un uso más consciente y eficiente de los recursos eléctricos.

SIN COMENTARIOS