La modulazione vettoriale (SVM) per il controllo motori

Implementazione di un algoritmo per il controllo di motori CA utilizzando la modulazione vettoriale della larghezza degli impulsi

La modulazione vettoriale (space vector modulation, SVM) è una tecnica comunemente utilizzata nel controllo Field-Oriented per i motori a induzione e i motori sincroni a magneti permanenti (PMSM). La modulazione vettoriale determina la generazione di segnali modulati in larghezza di impulso per il controllo degli interruttori di un inverter, il quale a sua volta produce la tensione modulata richiesta per azionare il motore alla velocità o alla coppia desiderata. La modulazione vettoriale è anche conosciuta come modulazione vettoriale della larghezza degli impulsi (space vector pulse width modulation, SVPWM). È possibile utilizzare MATLAB® e Simulink® per implementare tecniche di modulazione vettoriale o per sfruttare le librerie SVM predefinite per le applicazioni di controllo motori.

Obiettivo della SVM

Applichiamo il concetto della modulazione vettoriale al controllo motori su un inverter trifase con sei interruttori rappresentato dal seguente circuito equivalente. Le configurazioni di commutazione valide sono otto.

Circuito dell’inverter trifase collegato agli avvolgimenti dello statore di un motore.
* Gli stati degli interruttori S2, S4 e S6 sono rispettivamente complementari a S1, S3 e S5.

Ogni configurazione di commutazione fa sì che ai morsetti del motore venga applicata una tensione specifica. Le tensioni sono dei vettori spaziali di base e rappresentano la loro ampiezza e direzione in un esagono di vettori spaziali.

Esagono dei vettori spaziali con vettori di base U1-U8.

Circuito dell’inverter trifase collegato agli avvolgimenti dello statore di un motore.

Gli stati di commutazione che corrispondono ai vettori spaziali di base (per la direzione) e ai vettori nulli (per l’ampiezza) si combinano per avvicinarsi a un vettore di tensione di qualsiasi ampiezza e in qualsiasi posizione, all’interno dell’esagono dei vettori spaziali. Per esempio, per ogni periodo di modulazione della larghezza degli impulsi (PWM), si calcola una media del vettore di riferimento ‘Uref’ utilizzando una sequenza di commutazione di due vettori spaziali adiacenti (U3 e U4 nella figura) per una durata specifica, e un vettore nullo (U7 o U8) per il resto del periodo.

Controllando la sequenza di commutazione e, di conseguenza, la durata di tempo ON degli impulsi, è possibile ottenere qualsiasi vettore di tensione con direzione e ampiezza variabile per ogni periodo PWM. L’obiettivo della tecnica di modulazione vettoriale consiste nel generare delle sequenze di commutazione che corrispondano al vettore di tensione di riferimento per ogni periodo PWM in modo da ottenere un vettore spaziale a rotazione continua.

Illustrazione di un vettore spaziale rotante di riferimento.

Funzionamento della SVM

La tecnica di modulazione vettoriale opera sul vettore di tensione di riferimento in modo da generare segnali di commutazione appropriati per l’inverter in ciascun periodo PWM, con l’obiettivo di ottenere un vettore spaziale a rotazione continua.

Illustrazione di un’architettura di controllo Field-Oriented con la modulazione vettoriale.

Il diagramma a blocchi illustra un workflow della modulazione vettoriale di esempio.

Per ogni periodo PWM, con il vettore di tensione come riferimento di input, l’algoritmo SVM:

  • Calcola i tempi di commutazione ON e OFF in base al vettore di tensione di riferimento
  • Usa i tempi di commutazione per generare forme d’onda modulanti a doppio picco
  • Usa i tempi di commutazione per generare impulsi di commutazione appropriati per gli interruttori dell’inverter

Segnali di tensione generati dall’algoritmo SVM sottoposti a modulazione vettoriale.

La natura dell’onda modulante generata con il doppio picco massimizza l’uso della tensione del bus CC disponibile. Ciò garantisce una migliore tensione nominale in uscita rispetto a quando si utilizza la tecnica di modulazione sinusoidale della larghezza degli impulsi (sinusoidal pulse width modulation, SPWM).

Generazione di impulsi di commutazione a seguito del confronto tra l’onda modulante e l’onda portante.

Sarà poi possibile applicare i segnali di commutazione generati agli interruttori dell’inverter trifase per azionare il motore alla velocità o alla coppia desiderata.

Supporto hardware per PWM

Le schede hardware, come Arduino®, Raspberry Pi™ e TI, generano impulsi di commutazione per l’azionamento degli invertitori di potenza ricevendo le forme d’onda modulanti.

Per saperne di più sull’implementazione del controllo Field-Oriented con SVM su hardware TI, guarda questo video: Controllo Field-Oriented di PMSM con Simulink, parte 3: distribuzione (4:52).

L’uso di algoritmi di controllo motori e tecniche PWM in genere richiede un’esecuzione a frequenze maggiori nell’ordine di pochi kHz in base ai requisiti di progettazione. È importante valutare la correttezza dell’architettura di controllo fin da subito, prima ancora di affrontare le spese per i test dell’hardware. Un approccio di questo tipo consiste nell’utilizzare un ambiente di simulazione. Per esempio, con Simulink è possibile simulare e verificare l’architettura di controllo, comprese le tecniche di modulazione della larghezza degli impulsi come la modulazione vettoriale, rispetto a un motore modellato e correggere gli errori fin dalle prime fasi.

Per utilizzare la SVM in Simulink, fai riferimento al blocco Space Vector Generator.

Per saperne di più sulla progettazione e l’implementazione degli algoritmi di controllo motori, fai riferimento a Motor Control Blockset e a Simscape Electrical.

Prova gratuita

30 giorni di prova a tua disposizione.