Montaje de gestor de potencia Arduino con sensores de corriente y voltaje en protoboard

Gestor de potencia y medida de energía eléctrica con Arduino

Un gestor de potencia con Arduino mide en tiempo real el consumo eléctrico de la vivienda y, cuando se acerca a la potencia contratada, desconecta cargas no prioritarias mediante relés para que no salte el ICP. El sistema tiene dos partes: un medidor de energía fiable (contador DIN, pinza o módulo PZEM-004T) y una lógica de desconexión con prioridades, histéresis y tiempos de reconexión.

Qué es un gestor de potencia doméstico con Arduino

En electrónica, «control de potencia» suele significar PWM, potenciómetros o drivers de motores DC. Aquí se trata de otra cosa: gestionar la carga de una instalación de 230 V para no superar lo contratado.

El esquema mínimo:

  • Un sensor que entregue la potencia en vatios de toda la vivienda.
  • Un Arduino Uno (o ESP32 si quieres MQTT y Home Assistant) que compara esa potencia con un umbral.
  • Un módulo de relés que gobierna contactores de los circuitos sacrificables: termo, radiadores, cargador del coche.
  • Una pantalla LCD opcional para ver potencia instantánea, pico y energía acumulada.

Para el contexto general del ecosistema, consulta la guía de referencia de domótica con Arduino.

Cómo medir la energía eléctrica de la vivienda

Recomendación directa: si puedes tocar el cuadro, usa un contador de energía en carril DIN. Es la medida más precisa y la más estable a largo plazo.

MétodoMidePrecisiónInstalación
Contador DIN (DDS238, SDM220)Energía activaClase 1 (IEC 62053-21)En el cuadro, en serie
SCT-013 + ZMPT101BCorriente y tensiónDepende de la calibraciónPinza no invasiva
PZEM-004TV, I, P, kWh, factor de potenciaBuena para uso domésticoMódulo con transformador

Contadores de carril DIN con salida de pulsos o Modbus

La salida de pulsos (SO+/SO−) es un colector abierto: SO+ a un pin con interrupción, SO− a GND y una resistencia pull-up. Cada impulso equivale a una cantidad fija de energía. Un DDS238-2 entrega 1600 impulsos por kWh, es decir, 0,625 Wh por impulso.

Para pasar a potencia instantánea, mide el tiempo entre dos impulsos:

  1. Energía por impulso: 1000 / 1600 = 0,625 Wh.
  2. Potencia (W) = 3 600 000 / (impulsos por kWh × segundos entre impulsos).
  3. Con el DDS238-2: P = 2250 / t. Un impulso cada 2 s son 1125 W.

A consumos bajos los impulsos llegan muy espaciados: promedia sobre una ventana o declara potencia cero si pasa demasiado tiempo sin flanco.

La opción Modbus RS485 (SDM220 y similares) evita esa latencia. Necesitas un transceptor MAX485 y una librería Modbus maestra; el Arduino interroga los registros de tensión, corriente, potencia activa y energía que indica el manual del fabricante. Cablea el bus con par trenzado y termina la línea en los extremos.

Pinzas SCT-013 y módulos PZEM-004T

La pinza amperimétrica no invasiva SCT-013 solo mide corriente. Multiplicarla por 230 V nominales da potencia aparente, no activa. Para la activa, añade un ZMPT101B y calcula V × I muestra a muestra. El PZEM-004T resuelve todo en un módulo y entrega los datos por serie. El ACS712 sirve para un aparato concreto, no para toda la vivienda; el INA219 es para corriente continua.

Desconexión de cargas por prioridad para que no salte el ICP

Ordena las cargas de menos a más imprescindible y desconecta siempre empezando por la primera. En las obras que acompaño, el orden habitual es: cargador del coche, termo eléctrico, radiadores, lavadora.

Lógica recomendada:

  1. Umbral de corte un margen por debajo de la potencia contratada.
  2. Si la potencia supera el umbral durante unos segundos, abre el relé de la carga de menor prioridad.
  3. Reconecta solo cuando la potencia libre supere el consumo previsto de esa carga más un margen (histéresis).
  4. Aplica un tiempo mínimo de reconexión de varios minutos para evitar oscilaciones.

Los relés del módulo nunca deben conmutar directamente un termo o un radiador: gobierna contactores dimensionados para la carga. Si alimentas bobinas desde transistores, añade diodo de flyback.

Tarifas por tramos horarios y autoconsumo solar

En España, la discriminación horaria divide el día en punta, llano y valle. Con la medida ya integrada, el gestor puede habilitar cargas diferibles (termo, coche, lavavajillas) solo en valle.

Con autoconsumo solar la lógica cambia de signo. El Real Decreto 244/2019 regula la compensación de excedentes: se descuentan del término de energía, pero la factura nunca queda en negativo, y su valor suele ser inferior al precio de compra. Consumir el excedente en casa casi siempre compensa más que verterlo.

Para gestionarlo necesitas medir el sentido del flujo: un contador bidireccional por Modbus o una pinza con referencia de tensión (el signo de la potencia activa indica importación o vertido). Cuando haya vertido sostenido, activa cargas por prioridad inversa; cuando vuelva la importación, desactívalas con la misma histéresis. Más casos prácticos en instalaciones domóticas orientadas al ahorro energético.

Seguridad en trabajos sobre la instalación de 230 V

Trabaja siempre sin tensión: corta el interruptor general, verifica ausencia de tensión con un comprobador y señaliza el cuadro.

  • Todo elemento en contacto con 230 V va en envolvente cerrada o sobre carril DIN, nunca en una protoboard.
  • Separa físicamente la parte de baja tensión del Arduino de la de corriente alterna.
  • Protege cada circuito añadido con su magnetotérmico y respeta las secciones de cable.
  • Las modificaciones en el cuadro de una vivienda deben cumplir el REBT; si no eres instalador autorizado, encárgalas a uno.

La pinza SCT-013 es la única vía que no exige abrir ningún circuito: se abraza al conductor de fase, nunca a fase y neutro juntos, porque las corrientes se anulan y la lectura sale a cero.

FAQ

¿Cómo se mide el consumo eléctrico de una casa con Arduino?

Con un contador DIN de pulsos o Modbus a la entrada del cuadro, con una pinza SCT-013 junto a un ZMPT101B, o con un PZEM-004T. El contador es lo más preciso: cuentas impulsos y conviertes. Con 1600 impulsos por kWh, cada impulso son 0,625 Wh. El código base y las librerías están en la sección de descargas.

¿Cómo evitar que salte el ICP desconectando electrodomésticos con Arduino?

Mide la potencia total, fija un umbral por debajo de lo contratado y abre mediante relé y contactor la carga de menor prioridad cuando se supere varios segundos. Reconecta solo con margen libre suficiente y tras un tiempo mínimo, para que el sistema no oscile.

Scroll al inicio
Domótica Arduino
Resumen de privacidad

Esta web utiliza cookies para que podamos ofrecerte la mejor experiencia de usuario posible. La información de las cookies se almacena en tu navegador y realiza funciones tales como reconocerte cuando vuelves a nuestra web o ayudar a nuestro equipo a comprender qué secciones de la web encuentras más interesantes y útiles.