Calcolatore
Hz
%
V
Periodo (T)
Tempo ON (ton)
Tempo OFF (toff)
Tensione media (Vavg)
analogWrite Arduino (8 bit)
Servo — posizione stimata
Annuncio
Esempio pratico

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).

Formula in chiaro
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°
Schema visivo
Forma d'onda PWM — D=50%, f=490Hz 5V 0V ton = T×D/100 T = 1/f Vavg=Vcc×D% Strumento di supporto. Verificare con tecnico abilitato per opere soggette a normativa.
Domande frequenti

Sì, modificando i registri dei timer. Cambiare Timer0 altera millis() e delay(). Usa libreria TimerOne per frequenze custom su Timer1.

ESP32 LEDC ha risoluzione 1-16 bit e frequenza fino a 40MHz su 16 canali indipendenti. Molto più flessibile di Arduino (8 bit fissi).

Un filtro RC passa-basso con fc ≪ f_PWM converte il PWM in tensione media. Regola pratica: fc = f_PWM / 100. Per 490 Hz: fc ≈ 5 Hz → R=10kΩ, C=3.3µF. Il ripple residuo è Vpp ≈ Vcc × D × (1-D) / (f × R × C). Per ripple <1% aumentare RC o usare un DAC hardware.

Fonti e riferimenti
Strumento di supporto. Verificare sempre con datasheet del componente o tecnico abilitato.