Un segnale PWM (dall'inglese Pulse Width Modulation, ovvero modulazione a variazione della larghezza d'impulso) è un'onda quadra di “duty cycle” variabile, che permette di controllare l'assorbimento (la potenza assorbita) di un carico elettrico (in questo caso un attuatore o un motore elettrico), variando ("modulando” appunto) il “duty cycle”.
Il "duty cycle" è il rapporto tra il tempo in cui l'onda quadra assume
valore "alto" e il periodo T, dove "T" è l'inverso della frequenza:
T=1/f.
- un duty cycle del 50% corrisponde a un'onda quadra che assume valore alto per il 50% del tempo e assume nel restante 50% un valore basso;
- un duty cycle del 20% corrisponde a un'onda quadra che assume valore alto per il 20% del tempo e basso per il restante 80%;
- un duty cycle del 100% corrisponde a un segnale sempre alto;
- un duty cycle dello 0% corrisponde a un segnale sempre basso.
Nei tre esempi nelle figure sotto sono rappresentate tre distinte percentuali
di duty cycle, con la risultante della tensione efficace che producono
sull'attuatore. Come si nota chiaramente, più cresce la percentuale di
duty cycle (segnale "alto" più "largo") maggiore è la tensione efficace
(e quindi il comando utile) sull'attuatore.
PWM a 8 bit (256 valori) |
Concludendo, un segnale PWM presenta due stati che si alternano con una certa frequenza:
- ON - stato attivo - segnale alto - presenza di tensione
- OFF - stato passivo - segnale basso - assenza di tensione.
la larghezza dello stato ON determina la tensione in uscita.
Come funziona il PWM di arduino:
http://www.danielealberti.it/2014/02/un-led-arduino-e-che-cose-il-pwm.htmlhttps://www.arduino.cc/en/Tutorial/Fade