PWM



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.html 
https://www.arduino.cc/en/Tutorial/Fade