In breve: Esistono due tipi di dimmer AC: TRIAC (leading edge — per lampadine a incandescenza, alogene, riscaldatori) e dimmer AC MOSFET (trailing edge — progettato specificamente per lampadine LED). Se una lampadina LED sfarfalla o regola male, il problema di solito è nel tipo di dimmer, non nella lampadina. Un dimmer AC MOSFET risolve questo a livello hardware. Se è necessario usare TRIAC, serve una lampadina con l'etichetta «TRIAC dimmable» di Philips, Osram o Ikea.
Il problema
Gli utenti collegano una lampadina LED a un dimmer AC su Arduino o ESP32 — e invece di un controllo fluido della luminosità ottengono problemi: la lampadina ignora i comandi, si interrompe bruscamente sotto il 50 %, sfarfalla o ronza.
L'istinto è di fare debug del codice o comprare una lampadina «migliore». Ma la causa profonda è di solito un'altra: un dimmer AC TRIAC fisicamente non è progettato per le lampadine LED. È stato sviluppato per carichi resistivi — filamenti a incandescenza ed elementi riscaldanti. Per i LED esiste un tipo fondamentalmente diverso: il dimmer AC MOSFET.
Sintomi tipici dai forum:
- «Le LED non si spengono del tutto e non salgono al massimo di luminosità» (Arduino Forum, 2024)
- «funziona fino al 70 %, poi cala di intensità, inizia a ronzare, lampeggia a piena potenza ogni pochi secondi» (Arduino Forum, 2026)
- «La lampadina è spenta quando la tensione è nella parte bassa della sinusoide e accesa quando è nella parte alta. Non ci sono luminosità intermedie» (Arduino Forum, 2019)
- «Le schede TRIAC controllano molto bene le lampadine a incandescenza. Ma le LED si comportano diversamente» (Arduino Forum, 2024)
Due tipi di dimmer AC: TRIAC vs MOSFET
Entrambi i tipi usano il controllo per taglio di fase (controllo dell'angolo di fase): tagliano una parte della sinusoide AC per ridurre la tensione media. La differenza sta in quale parte viene tagliata e come ciò influenza le lampadine LED.
| Parametro | Dimmer AC TRIAC | Dimmer AC MOSFET |
|---|---|---|
| Metodo di controllo | Leading edge (taglio di fase in avanti) | Trailing edge (taglio di fase in ritardo) |
| Progettato per | Incandescenza, alogeno, riscaldatori | Lampadine LED, carichi elettronici |
| Forma d'onda tensione | Picco brusco all'inizio del semiciclo | Fronte di salita dolce da zero |
| Con Philips/Osram LED «dimmable» | ✅ Funziona | ✅ Funziona bene |
| Con LED dimmerabile economica | ⚠️ Sfarfallio < 40 % | ✅ Stabile |
| Con LED non dimmerabile | ❌ Non funziona | ❌ Non funziona |
| Corrente di mantenimento (problema carico leggero) | ✅ Sì — un problema | ❌ Nessuna |
| Range di regolazione LED | 20–95 % | 5–95 % |
Perché MOSFET è meglio per LED: il MOSFET si apre all'inizio stesso del semiciclo — la tensione sale dolcemente lungo la sinusoide. Il driver LED vede un fronte di salita familiare senza picchi bruschi. Risultato: funzionamento stabile con qualsiasi lampadina LED dimmerabile, sfarfallio significativamente ridotto.
Causa profonda
Background theory: AC Dimmer: Zero-Cross and TRIAC — How It Works.
Il problema TRIAC con LED: il TRIAC si accende dopo un ritardo dal passaggio per lo zero. Nel momento dell'accensione, la tensione salta bruscamente da zero a decine o centinaia di volt — un leading edge ripido. Molti driver LED interpretano questo picco come interferenza o sovratensione, attivano circuiti di protezione e funzionano in modo erratico.
Una lampadina LED non è un semplice carico resistivo. All'interno di ogni lampadina LED c'è un driver (un alimentatore a commutazione) che raddrizza l'AC e lo converte in una corrente continua stabile per i LED. Come reagisce quel driver a una sinusoide tagliata dal TRIAC:
- LED non dimmerabili — interpretano il calo di tensione come «perdita di alimentazione» e attivano la protezione. La lampadina funziona solo a piena potenza o non si avvia.
- LED dimmerabili economiche — dimmerano, ma senza filtrare la corrente pulsante. Lo sfarfallio a 100/120 Hz è visibile a occhio nudo.
- LED di qualità compatibili TRIAC (Philips, Osram, Ikea TRÅDFRI) — progettate specificamente per il taglio di fase TRIAC. Funzionano, ma il range è limitato: 20–95 %. Al di sotto, la corrente di mantenimento causa instabilità.
Il problema della corrente di mantenimento: ogni TRIAC richiede una corrente minima per rimanere conduttivo. Una singola lampadina LED da 5–9 W consuma troppo poco — il TRIAC si spegne casualmente saltando semicicli. Risultato: lampi casuali e ronzio a bassa luminosità. I dimmer MOSFET non hanno corrente di mantenimento.
MOSFET risolve entrambi i problemi in hardware: nessun picco brusco, nessuna corrente di mantenimento.
Soluzioni
🟢 Soluzione hardware 1: dimmer AC MOSFET ✅ Scelta migliore per LED
Vuoi usare lampadine LED senza restrizioni? Il dimmer AC MOSFET è progettato esattamente per questo.
Il dimmer AC MOSFET usa il controllo trailing edge: il transistor MOSFET si apre all'inizio del semiciclo e si chiude al momento calcolato. La tensione sale dolcemente — il driver LED funziona correttamente, lo sfarfallio è minimo anche al 5–10 % di luminosità.
Quando scegliere il dimmer AC MOSFET:
Compatibile con qualsiasi lampadina LED etichettata «dimmable» — incluse le generiche economiche che si comportano male con TRIAC.
Il codice è identico a quello per un dimmer TRIAC — stesso interrupt di passaggio per lo zero, stessa API della libreria. La differenza è all'interno del modulo hardware:
// Dimmer AC MOSFET — trailing edge
// Stesso codice del TRIAC; la differenza hardware è nel modulo
// Libreria: rbdimmerESP32 (per ESP32)
#include "rbdimmerESP32.h"
#define ZC_PIN 18
#define DIM_PIN 19
rbdimmer dimmer;
void setup() {
dimmer.begin(ZC_PIN, DIM_PIN, 50); // rete a 50 Hz
dimmer.setPower(50); // 50 % di luminosità
}
void loop() {}Range: 5–95 % di luminosità con qualsiasi lampadina LED dimmerabile.
🟢 Soluzione hardware 2: DimmerLink (senza ISR, qualsiasi piattaforma)
Non vuoi gestire gli interrupt? DimmerLink controlla il dimmer via I2C o UART — funziona con moduli TRIAC e MOSFET.
DimmerLink handles zero-cross synchronization and phase control internally. You simply send a command «set brightness to 50%» — everything else happens inside.
Quando scegliere DimmerLink:
Cablaggio (I2C):
DimmerLink VCC → 3.3V
DimmerLink GND → GND
DimmerLink SDA → SDA (ESP32: GPIO21, Arduino: A4)
DimmerLink SCL → SCL (ESP32: GPIO22, Arduino: A5)// DimmerLink via I2C — senza ISR, senza passaggio per lo zero nel codice
// Documentazione: 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 % di luminosità
}
void loop() {}🟡 Vincolato a TRIAC: scegliere la giusta lampadina
Non puoi sostituire il dimmer? Scegli una lampadina specificamente certificata per TRIAC.
Non tutte le lampadine LED reagiscono allo stesso modo al taglio di fase TRIAC. Alcuni marchi progettano specificamente determinate linee di prodotto per la compatibilità con il taglio di fase.
Cerca sulla confezione:
- «TRIAC dimmable» o «phase-cut compatible»
- «leading edge compatible»
- Simbolo del dimmer con la lettera «L» (leading edge)
Marchi testati per TRIAC:
| Marchio | Serie | Range con TRIAC |
|---|---|---|
| Philips | SceneSwitch, WarmGlow, Master LED | 20–100 % |
| Osram | CLASSIC, SUPERSTAR | 20–100 % |
| Ikea TRÅDFRI | Gamma dimmerabile | 20–100 % |
| GE / Cree | LED+ Dimmable | 25–100 % |
Limitazioni TRIAC + LED: anche con lampadine di qualità, il range 0–20 % è instabile a causa della corrente di mantenimento. Con carichi inferiori a 15 W possono apparire lampi casuali — aggiungere una resistenza di lastro (100–150 Ω / 20 W) in parallelo o aumentare il numero di lampadine. Questo problema non esiste con un dimmer MOSFET.
🔵 Avanzato: soluzione software con TRIAC
Si usa un dimmer TRIAC con lampadine LED di qualità?
Opzione A: ESP32 con rbdimmerESP32 ✅ Consigliato
When: dual-core ESP32 + Philips/Osram/Ikea lamps Library: rbdimmerESP32
// Piattaforma: ESP32 dual-core
// Libreria: rbdimmerESP32
// Per LED: usare range 20–95 % (sotto 20 % è instabile con TRIAC)
#include "rbdimmerESP32.h"
#define ZC_PIN 18
#define DIM_PIN 19
rbdimmer dimmer;
void setup() {
dimmer.begin(ZC_PIN, DIM_PIN, 50);
dimmer.setPower(30); // partire dal 30 %, non 0 %
}
void loop() {
// Salita graduale dal 20 % al 95 %
for (int i = 20; i <= 95; i++) {
dimmer.setPower(i);
delay(30);
}
for (int i = 95; i >= 20; i--) {
dimmer.setPower(i);
delay(30);
}
}Opzione B: Arduino AVR (Uno, Mega, Nano)
For AVR boards only — do not use on ESP32! Library: RBDdimmer (legacy)
// Piattaforma: Arduino Uno / Mega / Nano (solo AVR)
// ATTENZIONE: per ESP32 usare rbdimmerESP32 — non questa libreria
#include <RBDdimmer.h>
#define ZC_PIN 2 // passaggio per lo zero — solo pin 2 o 3 su Uno/Nano
#define DIM_PIN 11
dimmerLamp dimmer(DIM_PIN, ZC_PIN);
void setup() {
dimmer.begin(NORMAL_MODE, ON);
dimmer.setPower(50);
}
void loop() {}⚠️ Errori comuni dai forum
Errori reali da 4 thread di forum (2019–2026).
-
Cercare di dimmerare una LED non dimmerabile con TRIAC: una lampadina senza etichetta «dimmable» non è progettata per nessun controllo a taglio di fase. Né TRIAC né MOSFET possono aiutare. Serve un'altra lampadina.
-
LED «dimmerabile economica» + TRIAC = sfarfallio sotto 40 %: la lampadina è tecnicamente compatibile, ma il suo driver economico non filtra le pulsazioni TRIAC. Soluzione: dimmer AC MOSFET (senza restrizioni) o passare a Philips/Osram.
-
Carico troppo leggero: TRIAC richiede una corrente di mantenimento minima. Una singola lampadina da 5–7 W causa lampi casuali. Con un carico totale inferiore a 15 W, aggiungere una resistenza di lastro (100–150 Ω / 20 W) in parallelo. Con MOSFET non c'è tale problema.
-
LED con driver PFC attivo (lampadine domotica): incompatibile con il taglio di fase TRIAC. Rischio di danni. Anche il dimmer MOSFET non garantisce compatibilità con lampadine a PFC attivo.
Checklist rapida
Prima di pubblicare sul forum, verificare:
Tabella di compatibilità
| Tipo di carico | Dimmer AC TRIAC | Dimmer AC MOSFET | Note |
|---|---|---|---|
| Lampadina a incandescenza 40–150 W | ✅ | ✅ | Ideale per TRIAC |
| Alogena 230 V | ✅ | ✅ | Ideale per TRIAC |
| Riscaldatore / elemento resistivo | ✅ | ⚠️ | TRIAC preferibile |
| Philips/Osram LED «TRIAC dimmable» | ✅ | ✅ | MOSFET dà range più ampio |
| LED «dimmerabile» economica (no-name) | ⚠️ | ✅ | TRIAC: sfarfallio < 40 % |
| LED «dimmerabile», tipo non specificato | ⚠️ | ✅ | MOSFET più affidabile |
| LED non dimmerabile | ❌ | ❌ | Nessun tipo funziona |
| LED con driver PFC attivo (domotica) | ❌ | ❌ | Incompatibile |
| Alogena 12 V con trasformatore | ⚠️ | ⚠️ | Dipende dal trasformatore |
Argomenti correlati
- LED Flickering with AC Dimmer: TRIAC or MOSFET — Causes and Fixes
- Trailing Edge vs Leading Edge: Which Dimmer Method to Choose
Hai ancora domande?
Post on rbdimmer.com forum or open a GitHub Issue.