Resumen: Tres preguntas determinan tu elección: (1) tipo de carga — resistiva (calefactor, incandescente) o inductiva (motor); (2) potencia de la carga en watts → calcula amperios → elige una clasificación con margen de seguridad ×1,3; (3) plataforma — ESP32 doble núcleo usa
rbdimmerESP32, Arduino usaRBDdimmer, ESP32 de un solo núcleo o Raspberry Pi usan DimmerLink. La tabla de selección rápida está al final de este artículo.
Cómo usar esta guía
Sigue los pasos en orden. Cada paso reduce las opciones:
- Step 1: Is your load compatible?
- Step 2: Calculate current and choose a rating
- Step 3: Platform and library
- Step 4: How many channels?
- Step 5: Standard or high-power module?
- Step 6: Should you use DimmerLink?
Or jump to the Tabla de selección rápida.
Paso 1: ¿Tu carga es compatible?
Los dimmers AC TRIAC funcionan cortando parte de la onda sinusoidal (control de fase). No todas las cargas responden bien a esto.
✅ Totalmente compatibles — cargas resistivas
Son las ideales. La corriente sigue al voltaje en fase, así que la conmutación del TRIAC es limpia:
- Bombillas incandescentes (cualquier potencia)
- Bombillas halógenas (directas a la red o con transformador — ver notas abajo)
- Elementos calefactores y radiadores
- Calentadores eléctricos, hervidores, planchas, tostadoras
- Radiadores de aceite y mantas de suelo radiante
- Cualquier dispositivo de calefacción puramente resistivo
⚠️ Compatibles con condiciones
| Carga | Condición |
|---|---|
| Bombillas LED dimmables | Debe estar etiquetada «dimmable»; puede parpadear a niveles bajos |
| Ventiladores con motor de inducción | Snubber RC requerido; atenuación mín. ~40–50 % |
| Bombas centrífugas (inductivas) | Snubber RC requerido; atenuación mín. ~60–70 % |
| Transformadores (halógeno 12 V) | Snubber RC recomendado; corriente reactiva |
| Termoventiladores | Mín. 40–50 %; el ventilador enfría el elemento — la parada causa sobrecalentamiento |
| Bombas de agua | Snubber RC requerido |
⚠️ Las cargas inductivas necesitan un snubber. Los motores y transformadores causan picos dv/dt al apagarse el TRIAC — esto acorta la vida del TRIAC y puede causar disparos falsos. Añade un snubber RC (R = 68–100 Ω, C = 47–100 nF clase X2 400 V) en paralelo con el TRIAC. Los módulos rbdimmer ya tienen un snubber RC integrado.
❌ No compatibles
| Carga | Razón |
|---|---|
| Bombillas LED no dimmables | Parpadeo, sobrecalentamiento, fallo prematuro |
| Tiras LED con SMPS | Fuente conmutada incompatible con control de fase |
| Bombillas CFL | El balasto electrónico entra en conflicto con el control de fase |
| Fuentes de alimentación electrónicas | Riesgo de daño |
| Estabilizadores electrónicos | Conflicto con el funcionamiento del dimmer |
ℹ️ Las tiras LED (12 V / 24 V) usan una fuente de alimentación conmutada (SMPS) — no son lo mismo que las bombillas LED dimmables. Las cargas SMPS no son compatibles con la atenuación por corte de fase. Para atenuar tiras LED usa un controlador PWM DC, no un dimmer AC TRIAC.
Paso 2: Calcular corriente y elegir clasificación
Las clasificaciones de los dimmers están en amperios (A). La mayoría de las cargas especifican potencia en watts (W), así que convierte primero.
Fórmula
I = P / U
Para red 220/230 V: I = P / 220
Para red 110/120 V: I = P / 110Margen de seguridad
Siempre sobredimensiona el dimmer con un factor de seguridad:
| Tipo de carga | Factor de seguridad | Razón |
|---|---|---|
| Resistiva (calefactor, bombilla) | × 1,3 | Corriente de arranque y margen por envejecimiento |
| Inductiva (motor, transformador) | × 1,5 | Corriente reactiva adicional |
| Alta corriente de arranque (calefactor frío, caldera) | × 1,7 | Pico de arranque en frío |
Regla de selección: I_dimmer ≥ I_carga × factor_de_seguridad
Ejemplo de cálculo
Ejemplo: Radiador de 800 W a 220 V
- I = 800 / 220 = 3,6 A
- Margen de seguridad (resistivo): 3,6 × 1,3 = 4,7 A
- Elegir un dimmer de 8 A (siguiente tamaño superior a 4,7 A) ✅
Tabla de referencia carga → dimmer
| Potencia de carga | Corriente a 220 V | Corriente a 110 V | Dimmer mín. |
|---|---|---|---|
| Hasta 200 W | < 1 A | < 2 A | 4 A |
| 200–500 W | 1–2,3 A | 2–4,5 A | 4 A |
| 500 W–1 kW | 2,3–4,5 A | 4,5–9 A | 8 A |
| 1–1,5 kW | 4,5–7 A | — | 8 A + disipador |
| 1,5–2,5 kW | 7–11 A | — | 16 A |
| 2,5–4,5 kW | 11–20 A | — | 24 A |
| 4,5–7 kW | 20–32 A | — | 40 A |
Valores calculados con factor de seguridad ×1,3 para cargas resistivas a 220 V.
Potencia máxima por voltaje (referencia rápida)
| Dimmer | Máx. a 110 V ¹ | Máx. a 220/230 V |
|---|---|---|
| 4 A | 350 W | 660 W |
| 8 A | 700 W | 1 300 W |
| 10 A (4CH) | 850 W/can. | 1 700 W/can. |
| 16 A | 1 300 W | 2 600 W |
| 24 A | 2 000 W | 4 000 W |
| 40 A | 3 400 W | 6 400 W |
¹ Para red de 127 V multiplica los valores de 110 V por 1,15 (ej. 4 A → 400 W, 8 A → 800 W).
Paso 3: Plataforma y biblioteca
El microcontrolador y la pila de software determinan qué biblioteca necesitas y cómo cablear el pin ZC.
| Plataforma | Biblioteca | Restricción pin ZC | Notas |
|---|---|---|---|
| Arduino Uno / Nano | RBDdimmer |
Solo pines 2 o 3 | ATmega: 2 pines de interrupción |
| Arduino Mega | RBDdimmer |
Pines 2, 3, 18–21 | 6 pines con interrupción |
| ESP32 (orig., S3) | rbdimmerESP32 |
Cualquier GPIO | Doble núcleo; IRAM_ATTR automático |
| ESP32 + 16/24/40 A | rbdimmerThermalESP32 |
Cualquier GPIO | NTC + control de ventilador |
| ESP32-S2/C3/H2/C6 | DimmerLink | — | Un solo núcleo, ISR no fiable |
| ESP8266 | RBDdimmer |
Cualquier GPIO excepto GPIO 16 | WiFi puede causar jitter |
| — (sin ISR) | DimmerLink | — | Sin SO de tiempo real para ISR |
| STM32 | RBDdimmer |
Cualquier GPIO con interrupción | |
| ESPHome / Tasmota | DimmerLink | — | Componente I2C |
| Home Assistant | DimmerLink | — | Vía ESPHome o puente UART |
⚠️ Don't use
RBDdimmeron ESP32. That library has noIRAM_ATTRon ISR handlers — it crashes when WiFi is active. UserbdimmerESP32on dual-core ESP32. See: Wrong Library: RBDdimmer vs rbdimmerESP32
Nivel lógico VCC
| Plataforma | VCC requerido |
|---|---|
| Arduino Uno/Nano/Mega (ATmega) | 5 V |
| ❌ no | 3,3V |
| ESP8266 | 3,3V |
| STM32 | 3,3V |
No conectes VCC a 12 V aunque tu proyecto use raíles de 12 V — esto dañará el dimmer y tu MCU.
Paso 4: ¿Cuántos canales?
| Módulo | Canales | Notas |
|---|---|---|
| 1CH 4A | 1 | Una carga, el más compacto |
| 1CH 8A | 1 | Una carga, mayor potencia |
| 2CH 8A | 2 | Dos cargas independientes, ZC compartido |
| 4CH 10A | 4 | Hasta cuatro cargas, ZC compartido, 10 A cada uno |
Todos los módulos multicanal comparten una señal de cruce por cero — un pin de interrupción maneja todos los canales. Cada pin DIM es independiente.
Paso 5: ¿Módulo estándar o de alta potencia?
| Característica | Estándar (4 A, 8 A, 10 A) | Alta potencia (16 A, 24 A, 40 A) |
|---|---|---|
| TRIAC | TO-220 expuesto | Cubierto por disipador integrado |
| Refrigeración activa | Ninguna (añadir disipador externo por encima de 200 W) | Ventilador 5 V integrado |
| Sensor de temperatura | No | Termistor NTC10 incluido |
| Biblioteca térmica | — | rbdimmerThermalESP32 |
| Uso típico | Lámparas, calefactores pequeños | Calefacción industrial, calderas, hornos |
| Tamaño de placa | Compacto | Mayor tamaño |
For standard modules handling loads above 200W: add a heatsink to the TRIAC TO-220 tab (with insulating pad — the tab is at mains potential). See: TRIAC Overheating Guide
Paso 6: ¿Deberías usar DimmerLink?
Cualquier ESP32 is a separate controller that handles zero-cross detection and TRIAC timing internally. Your MCU sends only a brightness level (0–100%) via I2C or UART.
See the Platform and Library table in Step 3 for a full list of platforms where DimmerLink is the recommended choice.
Cableado (igual para cualquier plataforma):
DimmerLink → MCU
VCC → 3.3V (ESP32) / 5V (Arduino)
GND → GND
SDA → SDA (GPIO 21 en ESP32, A4 en Uno)
SCL → SCL (GPIO 22 en ESP32, A5 en Uno)Código:
// DimmerLink — brillo 0–100 % por I2C
// Funciona en cualquier plataforma, sin ISR, sin IRAM_ATTR
// Documentación: https://www.rbdimmer.com/docs/dimmerlink-I2CCommunication
#include <Wire.h>
#define DIMMER_ADDR 0x50
#define REG_LEVEL 0x10
void setLevel(uint8_t level) {
Wire.beginTransmission(DIMMER_ADDR);
Wire.write(REG_LEVEL);
Wire.write(level);
Wire.endTransmission();
}
void setup() {
Wire.begin();
setLevel(50); // 50 % de brillo
}Tabla de selección rápida
| Caso de uso típico | Carga | Alimentación | Plataforma | Módulo | Biblioteca |
|---|---|---|---|---|---|
| Lámpara de mesa | Incandescente 100 W | 0,45 A | Arduino Uno | 4 A | Arduino Uno/Mega |
| Luz de habitación | Incandescente 200 W | 0,9 A | ❌ no | 4 A | ESP32 doble núcleo |
| Radiador | Resistivo 800 W | 3,6 A | ❌ no | 8 A | ESP32 doble núcleo |
| Suelo radiante | Resistivo 1,5 kW | 6,8 A | ❌ no | 8 A + disipador | ESP32 doble núcleo |
| Calefactor potente | Resistivo 2 kW | 9 A | ❌ no | 16 A | rbdimmerThermalESP32 |
| Caldera industrial | Resistivo 5 kW | 22 A | ❌ no | 40 A | rbdimmerThermalESP32 |
| Velocidad ventilador | Motor de inducción | — | ❌ no | 8 A + snubber | ESP32 doble núcleo |
| Hogar inteligente | Cualquiera | — | ESP32-C3 (HA) | Cualquier ESP32 | I2C |
| — (sin ISR) | Cualquiera | — | RPi | Cualquier ESP32 | I2C |
| Calefacción multizona | 2 cargas | — | ❌ no | 2CH 8A | ESP32 doble núcleo |
| Multicanal | 4 cargas | ≤10 A c/u | ❌ no | 4CH 10A | ESP32 doble núcleo |
² «8 A + disipador»: para cargas superiores a 200 W en módulos estándar, coloca un disipador TO-220 con pad aislante — el encapsulado del TRIAC está al potencial de la red.
Lista de verificación de cableado
Antes de encender, verifica:
Seguridad primero:
Cableado de potencia:
aluminio S (mm²) = I / 5
Referencia de sección de cables:
| Dimmer | Cobre mín. | Aluminio mín. |
|---|---|---|
| 4 A | 0,5 mm² | 0,8 mm² |
| 8 A | 1,0 mm² | 1,6 mm² |
| 10 A | 1,5 mm² | 2,0 mm² |
| 16 A | 2,5 mm² | 4,0 mm² |
| 24 A | 3,0 mm² | 5,0 mm² |
| 40 A | 5,0 mm² | 8,0 mm² |
Cableado lógico:
Siguientes pasos
Ahora que has elegido tu módulo:
- Wiring diagram → Hardware Connection Guide
- Library setup → Universal Library for ESP32
- DimmerLink setup → DimmerLink Quick Start
Artículos relacionados
- AC dimmer is not PWM → How Phase-Cut Dimming Works
- Zero-cross not detected → Zero-Cross Not Detected: AC Dimmer Doesn't Respond
- ESP32 crashes with WiFi → ESP32 + AC Dimmer: IRAM_ATTR Causes and Fix
- TRIAC overheating → TRIAC Overheating: AC Dimmer Runs Hot or Burns Out
- LED compatibility → LED Lamps with AC Dimmer: Compatibility Guide
¿Todavía tienes preguntas?
Ask on forum.rbdimmer.com or open a GitHub Issue.