Controllo di motori brushless con il metodo della terza armonica

Il controllo di un motore in continua di tipo brushless (BLDC – BrushLess DC) senza ricorrere ad alcun sensore di posizione è stato oggetto di parecchie ricerche e ha dato vita a numerose implementazioni. Lo scopo del presente articolo è descrivere un metodo di controllo originale e proporre una realizzazione semplice e a basso costo che prevede l’uso di un microcontrollore di tipo general purpose e un convertitore A/D esterno. Sebbene le più recenti tendenze privilegiano l’integrazione di tutti in componenti all’interno del microcontrollore, verrà mostrato come un componente ADC121S625 della TI permette di risolvere problemi di natura analogica di una certa entità, assicurare risparmi a livello di microcontrollore e migliorare le prestazioni complessive del sistema. 

Introduzione

I motori BLDC si comportano come motori in c.c.. La sola parte mancante sono appunto le spazzole che vengono utilizzate per commutare la corrente in determinate posizioni del rotore. Nel caso di motori BLDC, questa operazione viene condotta per via elettronica nel momento in cui il rotore raggiunge certe posizioni angolari, proprio  come  avviene per i motori a spazzole. Nella figura 1 viene riportato l’andamento delle correnti (ia, ib  e ic) relative a ciascuna fase per i 6 differenti segmenti di posizione. Esistono due modi per rilevare queste posizioni. La prima prevede l’impiego di sensori di posizione come  sensori a effetto  Hall o encoder  rotativi, mentre il secondo ricorre alla stima della posizioposizione mediante la misura della forza elettromotrice inversa (BEMF – Back EMF). Questa tensione è generata negli avvolgimenti dalla rotazione del magnete permanente. In altre parole, si tratta di un effetto dinamo. Sempre nella figura 1 viene riportato l’andamento della forza controelettromotrice  (ea, eb, ed, ec) di ciascuna fase del motore. La forma trapezoidale è il risultato delle disposizioni dei magneti e degli avvolgimenti presenti nel motore.

Un metodo comunemente adottato per il controllo del motore è l’attraversamento dello zero del segnale della forza controelettromice. Esso si basa sul seguente principio: in ogni istante, la corrente scorre da VDD a massa attraverso i due avvolgimenti. Il terzo avvolgimento è aperto, per cui attraverso esso non scorre alcuna corrente. Tuttavia, questo avvolgimento reagisce al flusso rotante prodotto  dal magnete permanente che dà luogo alla tensione generata dalla forza controelettromotrice. Quando la forza controelettromotrice della fase non sottoposta a tensione attraversa la linea della tensione media, significa che il flusso del magnete permanente del rotore nell’avvolgimento aperto cambia direzione: in questo modo la posizione del rotre in questo preciso istante è nota. Sfortunatamente, non si tratta della posizione in cui l’inverter dovrebbe cambiare la commutazione di fase, in quanto è in anticipo o in ritardo di 30°. Per questo motivo viene di solito eseguita una compensazione mediante l’aggiunta di un ritardo nell’anello, che comunque comporta un sensibile degrado delle prestazioni dinamiche del rotore. Sebbene basato sul medesimo fenomeno fisico, il metodo della terza armonica è leggermente differente. Esso può assicurare una maggiore efficienza e, poiché esclude ogni tipo di ritardo, migliori prestazioni dal punto di vista dinamico. La teoria della terza armonica può essere sintetizzata da questa affermazione di Julio C. Morerira: “In un motore trifase simmetrico in configurazione a Y con una distribuzione di flusso nel traferro di tipo trapezoidale, la somma della tensione trifase dello statore dà luogo all’eliminazione di tutte le componenti polifase (la fondamentale e tutte le armoniche caratteristiche coma la 5ª, la 7ª e via dicendo); solo i componenti di sequenza zero restano nella sommatoria. La somma risultante è dominata dal componente di terza armonica”.  In altre parole, la somma delle tre tensioni di terminali è molto prossima alla terza armonica (V3) della forza controelettromotrice. Ciò è in buona parte imputabile alla disposizione geometrica degli avvolgimenti nel motore che dà vita a una forma d’onda trapezoidale del flusso magnetico. Il vantaggio è derivato dal fatto che un segnale di questo tipo è un’onda sinusoidale che “viaggia” a una velocità  tre  volte  superiore  rispetto  al  motore (come visibile in figura 1).

Figura 1. Forme d’onda di un motore BLDC

Figura 1. Forme d’onda di un motore BLDC

Ne consegue che esiste un legame tra flusso e terza armonica. Esso può essere stimato mediante l’integrazione della tensione V3. Nella figura 1 sono riportate, sul medesimo asse, la forza controelettromotrice di una fase (ea), la terza armonica (V3) e la terza armonica del flusso (λ3) confrontati con il tempo di commutazione, o il tempo durante il quale dovrebbe avvenire la commutazione degli avvolgimenti. Risulta abbastanza chiaro che ogni volta che il flusso attraversa la linea dello zero, dovrebbe avvenire una commutazione. In questo modo è possibile controllare il motore solamente mediante la tensione della terza armonica. Nella figura 2 viene riportato il sistema formato da cinque blocchi.

Figura 2. Schema a blocchi del sistema di controllo

Figura 2. Schema a blocchi del sistema di controllo

Il primo acquisisce la terza armonica mentre il secondo procede all’integrazione e quindi alla stima del flusso del motore. A questo punto, la funzione di attraversamento dello zero determina il tempo di commutazione e innesca la macchina a stati che controlla l’inverter. A questo punto l’anello si chiude.

UNA REALIZZAZIONE SEMPLICE ED ECONOMICA

Di solito gli aggettivi semplice ed economico sono in conflitto tra loro. Nel caso un chip integri tutte le funzioni necessarie, la realizzazione risulta semplice, ma abbastanza costosa. D’altro canto, soluzioni di tipo discreto, senza dubbio  più economiche, richiedono la presenza di un consistente numero di componenti discreti e circuiti analogici. L’alternativa  potrebbe  essere  rappresentata  da una realizzazione che ottimizzi i benefici legati al metodo di controllo e all’uso di componenti analogici appropriati. Lo schema proposto è riportato nella figura 3.

Figura 3. Schema circuitale

Figura 3. Schema circuitale

Il front end analogico è abbastanza semplice. Si tratta di sommare le tensioni trifase e sottrarre la tensione del punto medio del motore. Per la somma è sufficiente ricorrere ai 3 resistori (R1) connessi  tra  di  loro.  Un  quarto  resistore  (R2) viene utilizzato per ridurre l’ampiezza del segnale risultante e per adattarlo ai livelli di ingresso previsti per il convertitore A/D. In questa configurazione la tensione somma (Vsum) risulta uguale a Vsum = (R2/(R1 + 3R2)) (V1 + V2 + V3). L’altro segnale, la tensione del punto medio del motore (Vmid) è ridotta progressivamente da un partitore di tensione formato da R3 e R4. Nella figura 4 sono riportati i due segnali reali da acquisire (Vmid e Vsum) e la loro differenza (V3).

Figura 4. Misure di Vsum, Vmid e V3

Figura 4. Misure di Vsum, Vmid e V3

La prima idea che balza alla mente è l’impiego di un amplificatore. Sebbene una soluzione di questo tipo comporti  indubbi  vantaggi – segnale a bassa impedenza verso il convertitore A/D, rimozione della tensione di modo comune e regolazione del guadagno – bisogna tener conto anche degli svantaggi. Tra questi si possono annoverare errori di guadagno e di offset, rumore a bassa frequenza e, in funzione dell’amplificatore scelto, alcune limitazioni per quel che riguarda l’ampiezza di banda. L’acquisizione diretta di Vsum e Vmid potrebbe essere effettuata mediante un convertitore A/D a due canali.

Una soluzione di questo tipo potrebbe comportare un errore di fase a causa dei diversi tempi di acquisizione dei due canali. Un’altra soluzione prevede il ricorso a un convertitore A/D con ingressi completamente differenziali. Per parecchi utilizzatori gli ingressi differenziali sono riservati ad applicazioni di comunicazione a elevata velocità, dove l’intero  percorso del segnale è considerato di tipo differenziale. Il segnale deve essere esattamente simmetrico, centrato su un valore medio e in definitiva non risulterebbe così semplice e facile da usare. Praticamente un ingresso differenziale può essere definito nel modo seguente: “Il risultato della conversione è la differenza di Vin+ e Vin- confrontata alla tensione di  riferimento del convertitore A/D. Ogni tensione di ingresso deve essere all’interno dell’intervallo d’ingresso, mentre la differenza deve essere compresa tra – Vref e + Vref. Purchè siano rispettate queste regole, ogni tensione di modo comune verrà eliminata”. Ciò è quello che è esattamente necessario in questo caso. Vale la pena sottolineare il fatto che la variazione della tensione di riferimento comporta nche la modifica del guadagno del sistema. Per il caso preso in considerazione una tensione di riferimento di 750 mV assicura che il risultato della conversione sia molto prossimo al fondo scala del convertitore A/D. Una volta convertito, il segnale viene trasferito al microcontrollore attraverso un’interfaccia SPI (Serial Peripheral Interface). A questo punto è compito del microcontrollore procedere all’integrazione del segnale mediante un accumulatore. Un apposito algoritmo permette di rimuovere qualsiasi offset imputabile a resistori non adattati nel partitore di tensione. A questo punto rilevare l’attraversamento dello zero è un compito abbastanza semplice che non richiede la presenza di funzionalità aggiuntive nel microcontrollore. Il controllo dello stadio di alimentazione è gestito attraverso 6 GPIO (General Pur pose Input/Output) che comandano lo stato dell’inverter. Per il pilotaggio dei transistor di potenza è richiesto un circuito di pilotaggio del gate. Come si evince dalla figura 4, le misure reali differiscono da quelle teoriche a causa di un glitch (guizzo) alle estremità  inferiore e superiore del segnale V3. Questo guizzo è generato dalla commutazione dello stadio di alimentazione, per cui non può interferire nella misura del tempo di commutazione.

Conclusioni

A questo punto possono sorgere spontanee alcune domande relative al controllo del motore e alla possibilità di variare la sua velocità. Il motore controllato come quello descritto è solamente l’equivalente di un motore in continua alimentato con una tensione continua. La velocità del motore dipende dalla tensione di alimentazione e dalla coppia applicata. Quindi è necessario individuare un metodo efficiente per variare la tensione del motore con una tensione di alimentazione fissa. Una soluzione potrebbe essere l’applicazione della modulazione PWM (Pulse Width Modulation) ai transistor di potenza low side. Tale approccio potrebbe funzionare ma non in maniera diretta. Con il pilotaggio di tipo PWM, il segnale Vsum rimbalzerà tra il suo valore normale e quello del terminale: anche per Vmid si osserverà il medesimo fenomeno di rimbalzo, ma l’ampiezza  sarà  diversa.  È  stato dimostrato e misurato che l’ampiezza dei transitori di commutazione (notches) nel segnale di terza armonica (V3) è pari a 1/6 della tensione del bus c.c..

La soluzione qui adottata prevede la sincronizzazione del convertitore A/D con i segnali PWM. Grazie all’elevata ampiezza di banda dell’ingresso del convertitore ADC121S625, è possibile inviare il segnale modulato direttamente nel convertitore A/D e demodularlo mediante la sincronizzazione dell’acquisizione con il segnale PWM. Se l’ampiezza di banda è troppo ridotta,   il  segnale  quadrato viene filtrato e l’acquisizione sarà affetta da un errore significativo. Il convertitore ADC121S625 non dispone di ingressi per innescare (trigger) l’acquisizione ma, grazie all’architettura SAR (Successive Approximation Register), il trigger può  essere controllato dall’hardware dell’interfaccia SPI del microcontrollore. Il campionamento del segnale si verifica sul secondo fronte di salita del clock dopo che il segnale CS (Chip Select) è stato posto nello stato logico basso: in questo modo il programmatore conosce esattamente il tempo intercorso tra l’invio del comando dell’interfaccia SPI e l’acquisizione reale. Questo metodo, in definitiva, garantisce elevate prestazioni dinamiche abbinate ad una notevole semplicità realizzativa.

 

 

Iscriviti e ricevi GRATIS
Speciale Pi

Fai subito il DOWNLOAD (valore 15€) GRATIS

Una risposta

  1. Maurizio Di Paolo Emilio Maurizio Di Paolo Emilio 18 maggio 2017

Scrivi un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Iscriviti e ricevi GRATIS
Speciale Pi

Fai subito il DOWNLOAD (valore 15€) GRATIS