0% encontró este documento útil (0 votos)
19 vistas22 páginas

Proyecto

Cargado por

erick2003lopezb
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
19 vistas22 páginas

Proyecto

Cargado por

erick2003lopezb
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

UNIVERSIDAD MAYOR, REAL Y PONTIFICIA DE SAN FRANCISCO

XAVIER DE CHUQUISACA
FACULTAD DE INGENIERIA Y CIENCIAS APLICADAS
MECAELECTRONICAS

Diseño de iluminado con energía fotovoltaica para la facultad de Ingeniería Mecánica,


Meca-trónica, Electromecánica, Eléctrica y Electrónica de San francisco Xavier de la
ciudad de Sucre – Bolivia de manera Exterior

Universitarios: 1.-
2.- Ariel Fabricio Calderon Jesus – Ing. Mecatronica
3.- Erick López Bueno – Ing. Electrónica
4.-
Docente: HERNAN ACEBEY
1/2024
Sucre - Bolivia
Proyecto: Sistema de Monitoreo Remoto de Energía con Tecnología IoT

Introducción

En la era actual, la gestión eficiente de la energía es crucial tanto para empresas como para
hogares. El monitoreo remoto de energía mediante tecnologías IoT (Internet of Things)
permite un control y análisis continuo del consumo energético, optimizando el uso de
recursos y reduciendo costos. Este proyecto propone el desarrollo de un sistema de monitoreo
remoto de energía que se integre en la infraestructura de una red de computación, facilitando
el acceso a datos en tiempo real y mejorando la toma de decisiones.

Crearemos un medidor de energía eléctrica inteligente basado en IoT utilizando ESP32 y la


aplicación Blynk 2.0 actualizada. Al utilizar el mejor sensor de corriente (SCT-013) y el
sensor de voltaje (ZMPT101B), podemos medir el voltaje, la corriente, la potencia y la
energía total consumida en kWh. Las lecturas se enviarán a la aplicación Blynk 2.0 y se
mostrarán en un panel de control accesible desde cualquier ubicación. En caso de cortes de
energía, los datos del medidor de energía se almacenarán en la EEPROM de ESP32 , lo que
garantiza lecturas continuas. Comencemos nuestro proyecto para automatizar el monitoreo
del consumo de electricidad

Antecedentes

La tecnología IoT ha revolucionado diversos sectores, incluyendo la gestión de energía. Los


dispositivos IoT, equipados con sensores y conectividad a internet, permiten la recolección y
transmisión de datos de forma continua. Esto es especialmente útil en la monitorización de
energía, donde es vital tener información precisa y actualizada sobre el consumo y el estado
de los sistemas eléctricos.

La evolución de las redes de computación, y en particular de las arquitecturas basadas en el


modelo OSI (Open Systems Interconnection), ha proporcionado una base sólida para el
desarrollo de sistemas de monitoreo eficientes y seguros. Este proyecto se apoya en estos
avances tecnológicos para ofrecer una solución integral de monitoreo remoto de energía.

Relación con Redes de Computación y el Modelo OSI


El sistema de monitoreo remoto de energía se relaciona estrechamente con las redes de
computación, siguiendo la arquitectura del modelo OSI para asegurar la interoperabilidad y la
comunicación eficiente entre los dispositivos IoT y los sistemas de gestión de energía.

1. Capa Física: Involucra los sensores de energía y los dispositivos de medición


conectados a la red eléctrica.
2. Capa de Enlace de Datos: Gestiona la comunicación entre los sensores y los
gateways IoT, asegurando una transmisión de datos libre de errores.
3. Capa de Red: Utiliza protocolos IP para la transmisión de datos desde los gateways a
los servidores de monitoreo.
4. Capa de Transporte: Asegura la entrega correcta y en orden de los datos mediante
protocolos como TCP o UDP.
5. Capa de Sesión: Establece, gestiona y finaliza las conexiones entre los dispositivos
IoT y los sistemas de gestión.
6. Capa de Presentación: Transforma los datos recolectados en un formato
comprensible y estandarizado.
7. Capa de Aplicación: Permite la interacción del usuario con el sistema de monitoreo a
través de interfaces web o aplicaciones móviles.

Objetivos Generales

 Desarrollar un sistema de monitoreo remoto de energía basado en tecnología IoT.


 Integrar el sistema con infraestructuras de red utilizando el modelo OSI para asegurar
la eficiencia y seguridad en la transmisión de datos.

Objetivos Específicos

1. Diseñar e implementar sensores de energía conectados a la red eléctrica.


2. Desarrollar una red de comunicación basada en el modelo OSI para transmitir datos
desde los sensores a los servidores.
3. Crear una plataforma de monitoreo que permita visualizar en tiempo real el consumo
energético.
4. Implementar mecanismos de análisis de datos para identificar patrones de consumo y
áreas de optimización.
5. Asegurar la seguridad de los datos transmitidos y almacenados en el sistema.
Conclusión

El desarrollo de un sistema de monitoreo remoto de energía con tecnología IoT representa


una solución eficiente para la gestión del consumo energético. Al integrarse con
infraestructuras de red siguiendo el modelo OSI, se garantiza la interoperabilidad, seguridad y
eficiencia en la transmisión de datos. Este proyecto no solo contribuirá a una mejor gestión de
los recursos energéticos, sino que también proporcionará una base para futuras innovaciones
en el campo de la tecnología IoT y la gestión de energía.

Lista de materiales: A continuación, se muestra la lista de componentes necesarios para


construir un medidor de energía eléctrica inteligente basado en IoT. Puede solicitar la
mayoría de estos componentes en línea desde los siguientes enlaces.

SN Componentes Cantidad
1 Módulo WiFi ESP32 1
2 Módulo sensor de voltaje de CA ZMPT101B 1
3 SCT-013-030 Sensor de corriente alterna no invasivo 1
4 Pantalla LCD I2C de 20 x 4 1
5 Cable micro USB 1
6 Resistencia 10K 2
7 Resistencia 100 ohmios 1
8 Condensador 10uF 1
9 Cables de conexión 10
10 Tablero de circuitos 1

SCT-013 Sensor de corriente


El SCT-013 es un sensor de pinza amperimétrica de núcleo dividido no invasivo diseñado
para medir corriente alterna de hasta 100 amperios. Este tipo de sensor de corriente se conoce
comúnmente como transformador de corriente (TC) y se utiliza para medir corriente alterna
en un edificio. El SCT-013 es cómodo de usar, ya que se puede conectar fácilmente al cable
con corriente o neutro sin necesidad de realizar trabajos eléctricos que impliquen alto voltaje.

El sensor tiene un devanado primario, un núcleo magnético y un devanado secundario, que se


compone de muchas vueltas de alambre fino encerrado en la carcasa del transformador.

Especificaciones
1. Corriente de entrada: 0-30 A CA
2. Señal de salida: CC 0-1 V
3. No linealidad: 2-3 %
4. Resistencia de muestreo incorporada (RL): 62 Ω
5. Relación de giro: 1800:1
6. Grado de resistencia: Grado B
7. Temperatura de trabajo: -25 °C~+70 °C
8. Rigidez dieléctrica (entre carcasa y salida): 1000 V CA / 1 min 5 mA
Sensor de voltaje monofásico de CA ZMPT101B

El módulo de sensor de voltaje monofásico de CA ZMPT101B es un dispositivo de alta


precisión integrado en el transformador de voltaje ZMPT101B. Esto lo convierte en una
opción ideal para medir voltaje CA con precisión con un Arduino o ESP32 .

El módulo es capaz de medir voltaje de CA dentro de un rango de 250 V y ofrece una salida
analógica ajustable. Es fácil de usar y cuenta con un potenciómetro de ajuste de múltiples
vueltas para ajustar y calibrar la salida del ADC.

Especificaciones
1. Se puede medir voltaje de hasta 250 voltios
2. Ligero con transformador de voltaje de microprecisión incorporado
3. Circuito amplificador operacional incorporado de alta precisión
4. Temperatura de funcionamiento: 40 ºC ~ + 70 ºC
5. Tensión de alimentación de 5 voltios a 30 voltios

Puede utilizar ZMPT101B para aplicaciones de monitoreo de voltaje de CA.

Diagrama de circuito y configuración de hardware


A continuación se muestra el diagrama del circuito del medidor de energía eléctrica basado
en IoT que utiliza ESP32 . El diseño se creó con el software Fritzing y el diagrama de
conexión es simple.
Los pines VCC y GND del sensor de corriente SCT-013 y del sensor de voltaje ZMPT101B
están conectados a Vin y GNDde ESP32 , que es un fuente de alimentación de 5 V. El pin
analógico de salida del sensor de voltaje ZMPT101B está conectado al GPIO35 del ESP32 y
el pin analógico de salida del sensor de corriente SCT-013 está conectado al GPIO34 del
ESP32. Además, se requieren dos resistencias de 10 K y una sola resistencia de 100
ohmios , junto con un condensador de 10 uF , para completar el circuito.

Para medir la corriente y el voltaje, los cables de CA deben conectarse al terminal de


entrada de CA del sensor de voltaje. Para el sensor de corriente, solo es necesario insertar un
cable neutro o vivo dentro de la parte del clip .
También se puede utilizar una pantalla LCD I2C de 20×4También se puede utilizar, pero
requiere conexiones adicionales. Conecte VCC, GND, SDA y SCL de la pantalla LCD
a ESP32 5V, GND, GPIO21 y GPIO 22 de ESP32 respectivamente. Se utiliza un
potenciómetro de 10K en la parte posterior del módulo I2C para ajustar el contraste de la
pantalla LCD. Alternativamente, el opcional datos del medidor de energía ESP32/SCT-
013/ZMPT101B se pueden monitorear en la sin conectar la pantalla
LCD. Aplicación Blynk

Configuración del panel web y móvil de Blynk 2.0


Blynk es una aplicación que se ejecuta en dispositivos Android e IOS para controlar
cualquier aplicación basada en IoT mediante teléfonos inteligentes. Le permite crear su
interfaz gráfica de usuario para la aplicación IoT. Aquí mostraremos los datos del medidor de
energía de IoT en el panel web de Blynk y también en la aplicación móvil.

Visite blynk.io y regístrese utilizando el ID de correo electrónico.

Primero crea una nueva plantilla.


Asigne el nombre, Hardware y Tipo de conexión.

Desde el Panel web, cree 4 widgets de indicador.


Los 4 widgets están aquí para mostrar el valor de Vrms, Irms, Potencia y KWh. Realice los
ajustes según la imagen de abajo.

1
2
3
4

Finalmente, el Panel web se parece a esto y está listo para recibir los datos del medidor de
energía inteligente de ESP32 .

Además del Panel web, también puede configurar el Panel de su aplicación móvil.

Puede descargar e instalar la Aplicación Blynk desde Google Play Store . Los usuarios de
IOS pueden descargarlo desde la App Store .

Una vez que se complete la instalación, abra la aplicación y regístrese con su identificación
de correo electrónico y contraseña. Luego configure la aplicación similar a Web Dashboard.
Instalación de biblioteca requerida
1. Biblioteca EmonLib
La biblioteca Emonlib se utiliza para el medidor de energía eléctrica . EmonLib es un
Monitoreo Continuo de Energía Eléctrica que repite, cada 5 o 10s , una secuencia de
mediciones de voltaje y corriente. EemonLib mide continuamente en segundo plano el voltaje
y todos los canales de entrada de corriente, calcula una cantidad promedio real para cada
uno y luego informa al boceto que las mediciones están disponibles y deben leerse y
procesarse.

Descargar la biblioteca EmonLib


2. Biblioteca Blynk
Blynk es el más popular. Blynk es la plataforma de Internet de las cosas para conectar
cualquier hardware a la nube, diseñar aplicaciones para controlarlas y administrar los
productos implementados a escala. Con Blynk Library puede conectar más de 400 modelos
de hardware, incluidos a Blynk Cloud .Arduino, ESP8266 y ESP32

Descargar la biblioteca Blynk


Calibración del sensor de voltaje ZMPT101B
Inicialmente, el sensor de voltaje ZMPT101B requiere calibración ya que no viene
precalibrado. Para calibrar el sensor, podemos utilizar una placa Arduino UNO/Nano. Dado
que Arduino UNO/Nano tiene un pin ADC lineal perfecto, puede ser una buena opción para
la calibración. Puede utilizar el pin analógico A0 de Arduino para calibrar el sensor.

Ahora cargue el siguiente código en la placa Arduino.

1 void setup()
2 {
3 Serial.begin(9600);
4 }
5
6 void loop()
7 {
8 Serial.println(analogRead(A0));
9 delay(100);
10 }
Después de cargar el código, abra el trazador en serie. Si el trazador en serie no muestra la
onda sinusoidal, gire el potenciómetro para calibrar el sensor. Una vez que muestre una onda
sinusoidal adecuada, puede asumir que la calibración es correcta.

Código fuente/programa para medidor de energía inteligente de IoT


Este código es un boceto de Arduino que implementa un medidor de energía IoT utilizando
una placa ESP32 . El código utiliza varias bibliotecas como LiquidCrystal_I2C, EmonLib,
EEPROM, WiFi, WiFiClient y BlynkSimpleEsp32.

Copie este código a continuación y péguelo en su IDE de Arduino .

En este código, realice cambios en las siguientes líneas. Estas líneas contienen el SSID de
WiFi, la contraseña y el token de autenticación de Blynk . Reemplácelos con sus
credenciales.

1 // Blynk and WiFi credentials


2 const char auth[] = "********************************";
3 const char ssid[] = "********************************";
4 const char pass[] = "********************************";
Ahora, después de realizar las modificaciones en la línea requerida, puede cargar el código en
su placa ESP32 . Para eso, seleccione el módulo de desarrollo ESP32 y el puerto COM.
Luego presione el botón cargar para cargar el código.

1 #define BLYNK_TEMPLATE_ID "********************************"


2 #define BLYNK_TEMPLATE_NAME "IoT Energy Meter"
3 #define BLYNK_PRINT Serial
4
5 #include "EmonLib.h"
6 #include <EEPROM.h>
7 #include <WiFi.h>
8 #include <WiFiClient.h>
9 #include <BlynkSimpleEsp32.h>
10 #include <Wire.h>
11 #include <LiquidCrystal_I2C.h>
12 LiquidCrystal_I2C lcd(0x27, 20, 4);
13
14 // Constants for calibration
15 const float vCalibration = 41.5;
16 const float currCalibration = 0.15;
17
18 // Blynk and WiFi credentials
19 const char auth[] = "********************************";
20 const char ssid[] = "********************************";
21 const char pass[] = "********************************";
22
23 // EnergyMonitor instance
24 EnergyMonitor emon;
25
26 // Timer for regular updates
27 BlynkTimer timer;
28
29 // Variables for energy calculation
30 float kWh = 0.0;
31 unsigned long lastMillis = millis();
32
33 // EEPROM addresses for each variable
34 const int addrVrms = 0;
35 const int addrIrms = 4;
36 const int addrPower = 8;
37 const int addrKWh = 12;
38
39 // Function prototypes
40 void sendEnergyDataToBlynk();
41 void readEnergyDataFromEEPROM();
42 void saveEnergyDataToEEPROM();
43
44
45 void setup()
46 {
47 Serial.begin(115200);
48 Blynk.begin(auth, ssid, pass);
49
50 // Initialize the LCD
51 lcd.init();
52 lcd.backlight();
53
54 // Initialize EEPROM with the size of the data to be stored
55 EEPROM.begin(32); // Allocate 32 bytes for float values (4 bytes each) and some extra
56 space
57
58 // Read the stored energy data from EEPROM
59 readEnergyDataFromEEPROM();
60
61 // Setup voltage and current inputs
62 emon.voltage(35, vCalibration, 1.7); // Voltage: input pin, calibration, phase_shift
63 emon.current(34, currCalibration); // Current: input pin, calibration
64
65 // Setup a timer for sending data every 5 seconds
66 timer.setInterval(5000L, sendEnergyDataToBlynk);
67
68 // A small delay for system to stabilize
69 delay(1000);
70 }
71
72
73 void loop()
74 {
75 Blynk.run();
76 timer.run();
77 }
78
79
80 void sendEnergyDataToBlynk()
81 {
82 emon.calcVI(20, 2000); // Calculate all. No.of half wavelengths (crossings), time-out
83
84 // Calculate energy consumed in kWh
85 unsigned long currentMillis = millis();
86 kWh += emon.apparentPower * (currentMillis - lastMillis) / 3600000000.0;
87 lastMillis = currentMillis;
88
89 // Print data to Serial for debugging
90 Serial.printf("Vrms: %.2fV\tIrms: %.4fA\tPower: %.4fW\tkWh: %.5fkWh\n",
91 emon.Vrms, emon.Irms, emon.apparentPower, kWh);
92
93 // Save the latest values to EEPROM
94 saveEnergyDataToEEPROM();
95
96 // Send data to Blynk
97 Blynk.virtualWrite(V0, emon.Vrms);
98 Blynk.virtualWrite(V1, emon.Irms);
99 Blynk.virtualWrite(V2, emon.apparentPower);
100 Blynk.virtualWrite(V3, kWh);
101
102 // Update the LCD with the new values
103 lcd.clear();
104 lcd.setCursor(0, 0);
105 lcd.print("Vrms: ");
106 lcd.print(emon.Vrms, 2);
107 lcd.print(" V");
108
109 lcd.setCursor(0, 1);
110 lcd.print("Irms: ");
111 lcd.print(emon.Irms, 4);
112 lcd.print(" A");
113
114 lcd.setCursor(0, 2);
115 lcd.print("Power: ");
lcd.print(emon.apparentPower, 4);
116
lcd.print(" W");
117
118
lcd.setCursor(0, 3);
119
lcd.print("kWh: ");
120
lcd.print(kWh, 5);
121
lcd.print(" kWh");
122
}
123
124
125
void readEnergyDataFromEEPROM()
126
{
127
// Read the stored kWh value from EEPROM
128
EEPROM.get(addrKWh, kWh);
129
130
// Check if the read value is a valid float. If not, initialize it to zero
131
if (isnan(kWh))
132
{
133
kWh = 0.0;
134
saveEnergyDataToEEPROM(); // Save initialized value to EEPROM
135
}
136
}
137
138
139
void saveEnergyDataToEEPROM()
140
{
141
// Write the current kWh value to EEPROM
142
EEPROM.put(addrKWh, kWh);
143
144
// Commit changes to EEPROM
145
EEPROM.commit();
146
}
Prueba de datos del medidor de energía IoT ESP32 en Blynk 2.0
La placa ESP32 intentará conectarse al red wifi utilizando el SSID y la
contraseña proporcionados . La pantalla LCD se iluminará con el siguiente mensaje
inicialmente.

Cuando no hay carga conectada o cuando la carga está apagada, los parámetros de
corriente y voltaje deben ser casi 0. Si muestra otro valor, debe modificar el siguiente factor
de calibración en el código.

1 #define vCalibration 41.5


2 #define currCalibration 0.15
Ahora, cuando la carga esté conectada, la pantalla LCD mostrará el valor de voltaje y
corriente en la pantalla LCD junto con el consumo de energía y las unidades totales de kWh.

Los datos del medidor de energía se cargan en Aplicación Blynk cada 5 segundosLos datos
se pueden observar en el panel web de Blynk .
De manera similar, también puedes observar los datos en el Panel de Control Web Móvil al
mismo tiempo.

Por lo tanto, puede utilizar este Medidor de energía IoT ESP32 con Blynk 2.0 para
monitorear el consumo de electricidad de su casa.

Conclusión
En conclusión, el desarrollo de un medidor de energía eléctrica inteligente basado en IoT que
utilice ESP32 y Blynk 2.0 supondrá una revolución en el seguimiento y medición del
consumo de electricidad. La solución basada en IoT elimina las lecturas manuales de
medidores, lo que ahorra tiempo y dinero.

Con el uso de los mejores sensores de corriente y voltaje, se pueden obtener lecturas precisas
de voltaje, corriente, potencia y energía total consumida. Se puede acceder a los datos desde
cualquier ubicación a través del panel de control de Blynk 2.0. En caso de cortes de energía,
los datos del medidor de energía se almacenan en la EEPROM del ESP32, lo que garantiza
lecturas continuas.

Este proyecto presenta una oportunidad para automatizar el monitoreo del consumo de
electricidad y hacer de él una experiencia más ágil.
Existe una versión mejor del proyecto de medidor de energía basada en HDMI Display.
Consulte: Medidor de energía de CA IoT con pantalla HDMI , donde los datos también se
pueden monitorear en la pantalla HDMI

También podría gustarte