🔌 Elettronica

PWM — Duty Cycle e frequenza

Calcola duty cycle, frequenza, periodo, tempo ON/OFF e tensione media di un segnale PWM. Con preset per Arduino, ESP32, servo RC e fan 4 fili. Mostra anche

Inserisci i dati

Hz
%
V

Formula e metodo

T = 1/f [s] Periodo ton = T × D/100 [s] D = duty cycle [%] toff = T − ton Vavg = Vhigh × D/100 [V] Tensione media Arduino analogWrite: valore (0÷255) = round(D% × 255/100) Servo RC (f=50Hz, T=20ms): ton=1ms → 0° | ton=1.5ms → 90° | ton=2ms → 180°

Dimmer LED Arduino al 75%: analogWrite(9, 191) → D=75%, f=490Hz, Vavg=3.75V. Con filtro RC (R=10kΩ, C=100nF, fc=159Hz) l'uscita diventa ~3.75V DC.Servo a 90°: f=50Hz, ton=1.5ms → D=7.5% → analogWrite(pin, 19). Meglio: usare libreria Servo.write(90).

Modulazione a larghezza di impulso

Il PWM (Pulse Width Modulation) è una tecnica per controllare la potenza media trasferita a un carico variando il rapporto tra tempo ON e tempo OFF di un segnale rettangolare. È usata per: dimmerazione LED, controllo velocità motori DC, alimentatori switching, amplificatori classe D, generazione di segnali analogici da uscite digitali.

Duty cycle

Il duty cycle è la percentuale del periodo in cui il segnale è alto: DC = Ton / T × 100%. Con DC = 50%, il segnale è alto e basso per tempi uguali; con DC = 75%, sta alto tre quarti del tempo. La potenza media trasferita è proporzionale al duty cycle: un LED pilotato PWM al 25% emette circa un quarto della luce massima.

Frequenza PWM

La frequenza deve essere abbastanza alta da non essere percepita come sfarfallio (>100 Hz per LED, >20 kHz per motori per evitare fischi udibili) ma non così alta da causare perdite di commutazione eccessive. Per LED, 200-1000 Hz sono comuni; per motori, 1-20 kHz; per alimentatori switching, 50-500 kHz.

Generazione PWM

I microcontrollori hanno periferiche PWM hardware che generano il segnale senza impegnare la CPU. La risoluzione (numero di livelli di duty cycle) dipende dal timer: 8 bit = 256 livelli, 10 bit = 1024 livelli. Il calcolatore determina i parametri del timer per ottenere frequenza e duty cycle desiderati.

Domande frequenti

PWM (Pulse Width Modulation) è un'onda quadra con duty cycle variabile. Il duty cycle è la percentuale del periodo in cui il segnale è alto. 50%: metà ON, metà OFF. Simula tensioni analogiche variabili.

Il LED lampeggia velocemente (>100Hz, non percepibile). La luminosità media dipende dal duty cycle: 100% = piena luce, 50% = metà, 0% = spento. È più efficiente dei regolatori lineari.

LED: >100Hz (no flickering). Motori DC: 1-20 kHz (oltre, perdite negli switch). Alimentatori switching: 50-500 kHz. Audio: >40 kHz (fuori range udibile). Troppo bassa: effetti visibili/udibili. Troppo alta: più perdite.

Con microcontrollore (funzione analogWrite, timer hardware). Con circuito dedicato (NE555 in astabile, TL494 per switching). Con comparatore (triangolare vs riferimento DC).

Sì, con un filtro passa-basso RC. Più alta la frequenza PWM e più bassa la fc del filtro, più liscia l'uscita. Vdc ≈ Vpwm × duty cycle. È il principio dei convertitori DC-DC.