introduzione
Supponiamo di dover
gestire un motore in DC, ovvero gestire senso di rotazione e velocità. Una modo piuttosto longevo di eseguire tale gestione è l’utilizzo del PWM, ovvero gestire velocità e senso con un solo segnale che racchiude in se tali informazioni. Cercherò di trattare l’argomento nella maniera più generale possibile in quanto ogni singolo aspetto meriterebbe lunghe e profonde trattazioni, sia da un punto di vista elettronico che da un punto di vista matematico, trattando dunque l’aspetto più “pratico”.
PWM
Il PWM (acronimo di“pulse width modulation”) non è altro che un’onda rettangolare di periodo T che rimane alta per un tempo t’ e bassa per un tempo t’’ (dunque t’+t’’=T) il cui rapporto t’/T viene chiamato duty-cycle:

Analizzando un’ impulso tramite serie di Fourier viene fuori che il valore medio è dato dalla seguente relazione:
D'altronde, senza scomodare Fourier il valor medio di un segnale è per definizione:
Che ci riporta allostesso risultato: In sostanza sul carico agisce una tensione proporzionale al duty-cycle. Dal momento che la generazione di onde rettangolari con duty-cycle variabile è abbastanza semplice (ne555, microcontrollori pic ecc.) il PWM sipresta in maniera eccellente per il tipo di applicazioni che si stanno studiando in questa sede.
Variazione divelocità
Per regolare l’energia fornita al carico (nel caso specifico al motore) si può realizzare un dispositivo come questo:
Analizziamo i varicasi:
Duty-cycle al100%:
t’ coincide con T,perciò risulta essere un segnale continuo. Il transistor entra in saturazione(interruttore chiuso) e il motore risulta essere alimentato a Vcc . Tale condizione porta il motore alla velocità massima.
Duty-cycle al X%:
Il transistor entra in saturazione per un tempo t’ e in interdizione per un tempo t’’. La tensione ai capi del motore risulterà essere quindi Vcc per un tempo t e 0v per un tempo t’’: il valore medio sarà dunque:
Duty-cycle allo0%:
Il segnale risulta essere nullo (segnale continuo di ampiezza zero), il transistor va in interdizione (interruttore aperto) e il motore non è più alimentato, dunque la sua velocità risulta essere nulla. È bene precisare che la potenza dissipata sul transistor è quasi nulla poiché esso si troverà alternativamente in saturazione o in interdizione, non passando per altri stati (idealmente) nei quali il passaggio di corrente causerebbe dissipazione energetica (effetto Joule).
N.B. Il diodo in parallelo al motore è per il ricircolo della corrente dal momento che è un carico induttivo e la corrente di apertura potrebbe dare problemi.
Se si desidera variare anche il senso di rotazione è possibile fare ricorso ai cosi detti ponti ad “H”.
Ponti ad “H”
I Ponti ad “H” sono dispositivi che permettono di gestire il verso della corrente che attraversa un carico, schematizzabili come in figura:
Dalle figure si nota che il verso della corrente dipende dalla coppia di interruttori chiusi.Di seguito lo schema di un ponte ad H a transistor in modalità ”locked anti-phase”:
Supponiamo per il momento di mandare uno zero logico all’ingresso del not. Risulteranno essere in saturazione i transistor 1 e 4 dunque Vm=Vcc. Al contrario, mandando un uno logico sul not risulteranno essere in saturazione i transistor 2 e 3, ovvero Vm=-Vcc. (per Vm il verso di riferimento è quello in figura) È intuibile che mandando un segnale pwm sul not il motore risulterà sottoposto a un onda rettangolare bipolare:
In tal caso il valore medio (termine costante della serie di Fourier) è dato da:
In tal modo, Sia il valore della tensione ai capi del motore che il senso di rotazione sono proporzionali al duty-cycle:
duty-cycle al 100%:
Vm = 2Vcc − Vcc = Vcc
duty-cycle al 50%:
duty-cycle allo 0%:
Vm = − Vcc
Nel primo caso il motore gira a tutta velocità in un verso, nel secondo rimane fermo e nel terzo gira a tutta velocità nel verso opposto.
frequenza
La frequenza del segnale deve aggirarsi intorno ai 15KHz (in giro per la rete ho trovato anche progetti a 2KHz e a 25KHz, credo che funzioni lo stesso, ma, avendolo provato, posso garantire solo per i 15KHz). Anche se la frequenza non sembra avere importanza dal momento che il tutto si basa sul concetto di duty cycle, vanno fatte alcune considerazioni di tipo sistemistico: Dovendo realizzare un’ alimentatore PWM, formalmente sarebbe buona norma applicare un filtro passa basso (un filtro RC). Essendo la serie di Fourier composta da un termine costante e da una sommatoria che contiene le armoniche, applicando tale filtro (dimensionato opportunamente) si “buttano” le armoniche e “passa” solamente il termine costante (valor medio). Riflettendo sul fatto che il filtro va dimensionato in funzione della frequenza, risulta intuibile il ruolo
che tale frequenza svolge nella modulazione PWM.
conclusioni
L’argomento meriterebbe trattazioni approfondite, non basterebbe un libro per sviscerare ogni singolo dettaglio, quanto detto è però più che sufficiente per moltissime applicazioni quali ad esempio la robotica amatoriale,il modellismo dinamico ecc. Inoltre, l'utilizzo di circuiti integrati come l'L298 (driver per motori DC o stepper, costituito da due
ponti ad H gestibili con segnali TTL) rende il circuito veramente semplice (non che saldare 4 transistor sia eccessivamente complicato) e di dimensioni ridotte (gestendo il tutto con un microcontrollore il progetto si riduce a 4 componenti nel vero senso della parola....).