La modulazione vettoriale (SVM) per il controllo motori
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.
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.
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.
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.
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
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).
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.
Esempi e consigli pratici
Riferimenti software
Vedere anche: Simscape Electrical, Embedded Coder, Trasformate di Clarke e Park, Controllo Field-Oriented, Progettazione del controllo motori con Simulink, Simulink per la progettazione di sistemi di controllo dell’elettronica di potenza, Sviluppo del controllo motori, Simulazione di un motore per la progettazione del controllo motori, Controllo della velocità di motori a induzione, Controllo dell’indebolimento di campo