Construye un medidor eléctrico inteligente con ESP32: mide voltaje, potencia y kWh reales

Medir cuánto consume un electrodoméstico parece sencillo: basta con conocer la corriente que circula por el cable. Sin embargo, si queremos construir un medidor realmente útil, la corriente por sí sola no es suficiente.

Medidor eléctrico inteligente con ESP32 para medir voltaje, potencia, corriente y consumo de energía en kWh.

En este proyecto vamos a llevar el clásico ESP32 + SCT-013 un paso más allá para crear un sistema capaz de conocer la tensión de la red, corriente, potencia activa, factor de potencia y energía consumida en kWh.

La idea es que el ESP32 pueda procesar las mediciones y posteriormente mostrar los datos desde una página web accesible desde el teléfono móvil.

⚠️ Importante: este proyecto trabaja con variables relacionadas con la red eléctrica. Nunca conectes directamente la tensión de la red a un GPIO del ESP32 ni construyas divisores resistivos improvisados conectados a la red. Para medir tensión utiliza un sistema de aislamiento galvánico adecuado y componentes diseñados para medición de red. Si no tienes experiencia con instalaciones eléctricas, utiliza un módulo certificado o solicita ayuda a un profesional.

¿Qué vamos a conseguir?

El objetivo es transformar el proyecto anterior en un pequeño analizador de consumo eléctrico.

En lugar de mostrar únicamente la corriente, podremos obtener datos como:

  • Tensión RMS: voltaje efectivo de la red.
  • Corriente RMS: corriente que consume la carga.
  • Potencia activa: energía que realmente está realizando trabajo.
  • Factor de potencia: relación entre potencia activa y potencia aparente.
  • Energía acumulada: consumo expresado en kWh.

Esto permite acercarnos mucho más a lo que hace un medidor eléctrico real.

¿Por qué el SCT-013 no es suficiente?

El SCT-013 es un transformador de corriente que permite medir la corriente que circula por un conductor sin necesidad de realizar una conexión eléctrica directa con él.

Es excelente para nuestro proyecto, pero solamente nos proporciona información relacionada con la corriente.

Imaginemos dos cargas que consumen exactamente 2 amperios. Una puede tener un factor de potencia cercano a 1, mientras que otra puede ser una carga inductiva con un factor de potencia considerablemente menor.

En ambos casos la corriente puede ser similar, pero la potencia activa no necesariamente será la misma.

Por eso necesitamos medir simultáneamente tensión y corriente.

La clave: medir tensión y corriente al mismo tiempo

La potencia instantánea de una carga de corriente alterna puede calcularse multiplicando la tensión instantánea por la corriente instantánea:

p(t) = v(t) × i(t)

El ESP32 puede tomar muestras de ambas señales durante varios ciclos de la red eléctrica y realizar los cálculos necesarios.

Esto es mucho más preciso que simplemente multiplicar un valor de tensión nominal por la corriente medida.

Medición de corriente con SCT-013

El SCT-013 se coloca alrededor de uno de los conductores que alimentan la carga.

Es importante recordar que debe rodear un solo conductor. Si se colocan fase y neutro juntos dentro del transformador de corriente, los campos magnéticos se cancelan y la medición no funcionará correctamente.

La señal procedente del SCT-013 debe acondicionarse antes de entrar al ESP32.

Dependiendo del modelo utilizado, puede ser necesario incorporar una resistencia de carga y un circuito de polarización para adaptar la señal al rango de entrada del ADC.

¿Cómo medir la tensión de forma segura?

Aquí encontramos una de las partes más importantes del proyecto.

El ESP32 trabaja con tensiones muy bajas y sus entradas no están diseñadas para recibir directamente los aproximadamente 120 V o 230 V de una instalación eléctrica.

Por eso necesitamos convertir la señal de tensión de la red en una señal de bajo nivel y, preferiblemente, mantener aislamiento galvánico entre la red y el circuito electrónico.

Una opción apropiada para este tipo de proyecto experimental es utilizar un transformador de tensión AC aislado diseñado para instrumentación.

El transformador reduce la tensión de la red a una señal de unos pocos voltios que puede acondicionarse para el ADC del ESP32.

Consejo: no sustituyas el aislamiento por un simple divisor resistivo conectado directamente a la red. Aunque técnicamente puede utilizarse en determinados diseños profesionales, requiere componentes, distancias de aislamiento, protección y cálculo adecuados. Para un proyecto doméstico resulta mucho más recomendable utilizar una solución de medición aislada.

Esquema general del sistema

La arquitectura del proyecto puede entenderse de esta manera:

RED ELÉCTRICA
┌──────┴──────┐
│ │
│ │
Medición de SCT-013
tensión corriente
aislada │
│ │
└──────┬───────┘
Acondicionamiento
de señales
ESP32
┌──────┴───────┐
│ │
Cálculos Servidor web
eléctricos │
Teléfono móvil






Esquema general de un sistema de medición eléctrica con ESP32, SCT-013, medición de tensión aislada y servidor web



Componentes necesarios

  • ESP32.
  • Transformador o sensor de tensión AC con aislamiento adecuado.
  • SCT-013 compatible con el rango de corriente que quieras medir.
  • Resistencia de carga adecuada para el SCT-013 cuando el modelo lo requiera.
  • Resistencias para acondicionamiento de señal.
  • Condensadores para filtrado.
  • Fuente de alimentación de 5 V o 3,3 V apropiada para el ESP32.
  • Protoboard para las pruebas únicamente del lado de baja tensión.
  • Gabinete aislante para el montaje definitivo.

Una alternativa todavía más profesional

Si el objetivo es obtener mediciones de energía realmente precisas, existe otra posibilidad: utilizar un circuito integrado especializado en medición de energía.

Estos dispositivos están diseñados específicamente para calcular parámetros como tensión, corriente, potencia activa, potencia aparente, energía y factor de potencia.

En este caso el ESP32 deja de realizar todo el procesamiento matemático y funciona principalmente como controlador, interfaz y sistema de comunicación.

Esta arquitectura es especialmente interesante si queremos convertir el proyecto en un dispositivo permanente.

¿Qué es el factor de potencia?

El factor de potencia indica qué tan eficientemente una carga utiliza la corriente eléctrica.

En términos simplificados:

FP = Potencia activa ÷ Potencia aparente

La potencia aparente se obtiene aproximadamente multiplicando:

S = VRMS × IRMS

Mientras que la potencia activa corresponde al promedio de la potencia instantánea:

P = promedio[v(t) × i(t)]

Por eso necesitamos conocer cómo se comportan la tensión y la corriente durante el ciclo de la señal.

¿Por qué no basta con V × I?

Este es uno de los errores más comunes al construir medidores de consumo.

Si tenemos una tensión de 120 V y una corriente de 5 A, podríamos calcular:

120 × 5 = 600 VA

Pero eso representa potencia aparente, no necesariamente potencia activa.

Si la carga tiene un factor de potencia de 0,8, por ejemplo:

600 × 0,8 = 480 W

La diferencia es importante cuando queremos conocer el consumo real.

Cómo calcular la potencia activa con el ESP32

Una vez que disponemos de muestras sincronizadas de tensión y corriente, el ESP32 puede multiplicarlas individualmente.

Por ejemplo:

v1 × i1
v2 × i2
v3 × i3
v4 × i4
...

Después calcula el promedio de todas las muestras:

P = (v1×i1 + v2×i2 + v3×i3 + ... ) / N

El resultado corresponde a una estimación de la potencia activa.

Este método permite detectar también el desfase entre tensión y corriente, algo fundamental para calcular correctamente el factor de potencia.

Medir los valores RMS

Para calcular el valor RMS de una señal se utiliza la raíz cuadrada del promedio de sus valores al cuadrado.

Para la tensión:

Vrms = √(Σv² / N)

Y para la corriente:

Irms = √(Σi² / N)

El ESP32 puede realizar estos cálculos rápidamente utilizando cientos o miles de muestras.

Cómo calcular el factor de potencia

Una vez que conocemos la potencia activa y los valores RMS podemos obtener:

S = Vrms × Irms
FP = P / S

Por ejemplo, si tenemos:

  • 120 V RMS
  • 5 A RMS
  • 480 W de potencia activa

La potencia aparente sería:

120 × 5 = 600 VA

Y el factor de potencia:

480 / 600 = 0,80

El ESP32 podría mostrar entonces:

Tensión: 120 V
Corriente: 5,00 A
Potencia: 480 W
Factor FP: 0,80

Cómo obtener los kWh reales

Esta es probablemente la función más interesante del proyecto.

Los vatios indican la potencia instantánea, pero para saber cuánta energía hemos consumido necesitamos integrar la potencia a lo largo del tiempo.

Si tenemos una carga de 1000 W funcionando durante una hora:

1000 W × 1 h = 1 kWh

El ESP32 puede acumular el consumo periódicamente.

Por ejemplo, si cada segundo calcula la potencia:

energía += potencia × (1 segundo / 3600)

Como la energía se almacena en kWh, los segundos deben convertirse a horas.

Una implementación conceptual sería:

energia_kWh += potencia_W * dt_segundos / 3600000.0;

De esta manera, el valor continúa aumentando mientras la carga consume electricidad.

Ejemplo de funcionamiento

Supongamos que conectamos un electrodoméstico y obtenemos:

  • Tensión: 121 V
  • Corriente: 3,2 A
  • Factor de potencia: 0,92

La potencia activa aproximada sería:

121 × 3,2 × 0,92 ≈ 356 W

Si permanece funcionando durante dos horas:

356 W × 2 h = 712 Wh

Es decir:

0,712 kWh

Esta es la información que realmente nos interesa cuando queremos conocer el consumo energético.

Guardar el consumo aunque se apague el ESP32

Existe otro problema: si reiniciamos el ESP32, no queremos perder el contador de energía.

Para solucionarlo podemos guardar periódicamente el valor acumulado en una memoria no volátil.

El ESP32 dispone de opciones como NVS y también podemos utilizar una memoria externa si necesitamos almacenar grandes cantidades de datos.

Una buena estrategia es guardar el contador cada cierto intervalo, por ejemplo cada pocos minutos, en lugar de escribir en memoria continuamente.

Mostrar el consumo desde el teléfono

Como el ESP32 incorpora Wi-Fi, podemos convertirlo en un pequeño servidor web.

Al conectarnos desde el teléfono a la dirección IP del ESP32 podríamos visualizar una interfaz como esta:

┌──────────────────────────────┐
│ MONITOR DE ENERGÍA │
├──────────────────────────────┤
│ │
│ 121.4 V │
│ TENSIÓN │
│ │
│ 3.20 A │
│ CORRIENTE │
│ │
│ 356 W │
│ POTENCIA │
│ │
│ FP 0.92 │
│ FACTOR DE POTENCIA │
│ │
│ 0.712 kWh │
│ ENERGÍA │
│ │
└──────────────────────────────┘


Monitor de energía con ESP32 que muestra tensión, corriente, potencia, factor de potencia y consumo eléctrico desde el teléfono.

Incluso podemos añadir una gráfica para observar cómo cambia el consumo durante el día.

Una función muy útil: detectar equipos que consumen demasiado

Una vez que tenemos potencia y energía acumulada, el proyecto deja de ser solamente un experimento electrónico.

Podemos utilizarlo para analizar electrodomésticos.

Por ejemplo, podemos registrar cuánto consume:

  • Un refrigerador.
  • Un computador.
  • Un televisor.
  • Un aire acondicionado.
  • Una lavadora.
  • Un cargador.
  • Una fuente de alimentación.

También podemos observar qué ocurre cuando un aparato entra en modo de espera.

Calcular cuánto dinero estamos gastando

Si conocemos el precio del kWh de nuestra factura eléctrica, podemos añadir una función muy sencilla.

Por ejemplo, si el sistema ha registrado:

12,5 kWh

y el precio utilizado para el cálculo es:

$0,20 por kWh

el coste estimado sería:

12,5 × 0,20 = $2,50

El ESP32 podría mostrar simultáneamente el consumo energético y su coste estimado.

Precisión: un punto que no debemos ignorar

Un ESP32 puede convertirse en una excelente plataforma para aprender sobre medición eléctrica, pero eso no significa automáticamente que sus resultados tengan la misma precisión que un contador eléctrico certificado.

La precisión depende de varios factores:

  • Calidad del sensor de corriente.
  • Calidad del sensor de tensión.
  • Precisión de las resistencias.
  • Calibración.
  • Frecuencia de muestreo.
  • Sincronización entre tensión y corriente.
  • Ruido eléctrico.
  • Características del ADC.
  • Forma de onda de la carga.

Por eso el proyecto debe considerarse un monitor experimental o educativo, a menos que se utilicen componentes y procedimientos de medición certificados.

Calibrar el sistema

Antes de confiar en los resultados es necesario calibrar el sistema.

Una forma práctica consiste en utilizar un instrumento de referencia adecuado y comparar las lecturas del ESP32.

Si el sistema indica 118 V mientras el instrumento de referencia indica 120 V, podemos calcular un factor de calibración para corregir la lectura.

Lo mismo debe hacerse con la corriente y, cuando sea posible, con la potencia.

El siguiente nivel: registrar el consumo durante días

Una vez que tenemos medición de kWh, podemos almacenar los datos periódicamente.

Por ejemplo:

08:00 → 125 W
09:00 → 310 W
10:00 → 480 W
11:00 → 220 W
12:00 → 150 W

Con estos datos podemos construir una gráfica diaria y detectar los momentos en los que más energía estamos consumiendo.

Incluso podemos enviar los datos desde el ESP32 hacia una plataforma externa mediante Wi-Fi, MQTT o una API.

¿Qué hemos conseguido?

Con esta ampliación, el proyecto deja de ser simplemente un detector de corriente.

Ahora tenemos la base para construir un auténtico monitor de energía basado en ESP32 capaz de analizar:

  • ⚡ Tensión RMS.
  • 🔌 Corriente RMS.
  • 📊 Potencia activa.
  • 📐 Potencia aparente.
  • 🎯 Factor de potencia.
  • 🔋 Energía acumulada en kWh.
  • 💰 Coste estimado de la energía.
  • 📱 Visualización desde el teléfono.

El verdadero salto de calidad en un proyecto de medición eléctrica ocurre cuando dejamos de mirar solamente los amperios y comenzamos a analizar la relación entre tensión, corriente y tiempo.

Con un ESP32, un SCT-013 y una medición de tensión correctamente aislada podemos construir una plataforma capaz de mostrar mucha más información que un simple medidor de corriente.

Y lo mejor es que el proyecto puede seguir creciendo: después podemos añadir una pantalla, almacenamiento histórico, gráficas, alertas de consumo, control desde el móvil e incluso un sistema que nos avise cuando un electrodoméstico esté consumiendo más de lo habitual.

💡 Idea para continuar: el siguiente paso lógico es convertir este monitor en un medidor de energía Wi-Fi completo, con una interfaz móvil que muestre consumo en tiempo real, kWh diarios, semanales y mensuales, además del costo aproximado de la electricidad.

Publicar un comentario

Artículo Anterior Artículo Siguiente