Un Controller per i Motori Brushless DC – Parte 1

BLDC

In questo articolo della Rubrica Firmware Reload analizzeremo un driver per il controllo dei motori brushless DC (BLDC motor) che può essere utilizzato in svariate applicazioni, vediamone in dettaglio le funzionalità e caratteristiche più salienti dal punto di vista hardware, per poter comprendere meglio il suo utilizzo.

INTRODUZIONE

Tra le varie tipologie di motore, il motore brushless è un motore elettrico a eccitazione indipendente, che a differenza di un motore a spazzole non ha bisogno di contatti elettrici striscianti sul collettore dell’albero motore per funzionare, da qui l’etimologia del nome “senza spazzole”. La commutazione della corrente circolante negli avvolgimenti non avviene più per via meccanica, tramite i contatti striscianti ma avviene elettronicamente, tutto ciò comporta una minore resistenza meccanica, elimina la possibilità che si formino scintille al crescere della velocità di rotazione e riduce notevolmente la necessità di manutenzione periodica (l’assenza di scintille è fondamentale quando il motore opera in ambienti saturi di composti chimici volatili come i carburanti). Questo ci fa capire che uno dei grossi vantaggi riguarda la vita attesa del motore, visto che le spazzole sono il “punto debole” di un motore elettrico. In più, la loro assenza elimina anche la principale fonte di rumore elettromagnetico presente negli altri motori elettrici. In termini di efficienza, i motori brushless “viaggiano” sempre in condizioni di rendimento ottimali ed inoltre, non dovendo generare il campo magnetico rotorico, hanno efficienze maggiori. Gli avvolgimenti sullo statore, inoltre, dissipano facilmente il calore generato e permettono di costruire motori senza alettature esterne; perciò il loro ingombro risulta comunque molto limitato non solo rispetto alla potenza, ma soprattutto alla coppia che questi motori riescono a erogare. In questo tipo di motori, i magneti permanenti sono posizionati sul rotore e sono realizzati con speciali materiali che permettono di avere un’inerzia rotorica molto bassa, consentendo un controllo estremamente preciso sia in velocità che in accelerazione. Queste e altre caratteristiche li rendono adatti all’utilizzo nei lettori CD/DVD ma anche in apparecchi più grandi, come i veicoli elettrici. Ultimamente sono molto utilizzati in campo industriale e impiegati nelle macchine automatiche che necessitano di movimenti precisi e veloci con ingombri decisamente contenuti e grande versatilità, offerta anche da apparecchiature di controllo programmabili molto sofisticate, che permettono un completo controllo e anche la diagnostica del motore. Il principale svantaggio di questo tipo di motori risiede nel maggiore costo. Al contrario dei motori a spazzole, infatti, il controllo viene effettuato elettronicamente da un “controller”, un dispositivo elettronico fornito dal costruttore del motore stesso o da terze parti. Per questo, non è solitamente possibile utilizzare un potenziometro o un reostato (inefficienti ma estremamente economici) per la regolazione della velocità. In aggiunta, non è possibile usare due motori brushless collegati a un unico regolatore, al contrario di quanto avviene con i motori a spazzole. In quest’ambito si colloca l’integrato FCM8201 della Fairchild, versatile dispositivo per il controllo di motori Brushless DC (Direct Current). Scendiamo maggiormente nei dettagli per meglio comprendere le sue caratteristiche più rilevanti.

CARATTERISTICHE PRINCIPALI DELL'FCM8201

L’integrato FCM8201 della Fairchild è un regolatore sinusoidale per motori trifase brushless DC (BLDC), che mediante un piccolo numero di componenti periferici, può controllare motori sia in modo “stand-alone”, come mostrato in Figura 1, sia collegato a un microcontrollore, permettendo così il suo utilizzo anche per applicazioni di controllo motore molto complicate, come si vede in Figura 2.

power

Figura 1: Applicazione Stand-Alone

 

circuiti integrati

Figura 2: Applicazione con Microprocessore

Funzioni di protezione come i controlli di sovratensione, sovracorrente, sovratemperatura e corto circuito impediscono che vengano danneggiati sia i circuiti di controllo che il motore stesso, soprattutto in applicazioni e ambienti molto “stressanti” per il sistema. In più, informazioni come tensione, corrente e temperatura sono facilmente accessibili attraverso l’interfaccia SPI (Serial Peripheral Interface). Ad oggi, viene utilizzato su vari prodotti come ventilatori, pompe per acqua e/o olio, macchine utensili e molto altro ancora. In Figura 3 sono riportati lo schema di collegamento e il diagramma a blocchi per una maggior comprensione del suo funzionamento interno.

power

Figura 3: Pinout e blocchi funzionali interni dell'FCM8201

Tra le sue maggiori caratteristiche troviamo:

  • Generatore di PWM mediante algoritmo “Space Vector Modulation”
  • Generatore sia di onde sinusoidali che quadre, che lo rendono applicabile in un’ampia gamma di prodotti
  • Auto-generazione interna del clock, per cui non ha bisogno di cristalli o risonatori ceramici esterni
  • Utilizzo del protocollo Serial Port Interface (SPI) per comunicare verso i microcontrollori
  • Protezioni da Over-Voltage, Under-Voltage e Over-Temperature
  • Rilevamento della posizione angolare mediante sensore a effetto Hall

Il dispositivo FCM8201 è in grado di operare in un gamma di tensioni in ingresso (VPP) piuttosto ampia, che va dai 10V ai 15V, generando una tensione stabilizzata in uscita tra i 5V e i 5,2V sul pin VOUT che è collegato internamente a un generatore di tensione (si veda la Figura 3). Generalmente, per stabilizzare maggiormente tale tensione in uscita viene collegato un condensatore tra il pin VOUT e il pin di GND (Ground). Nel caso in cui la tensione VPP scenda sotto il valore di soglia di 8V, l’integrato si spegne e vengono resettati tutti i registri interni. Generalmente in un motore brushless, l’inversione di corrente è ottenuta elettronicamente, tramite un banco di transistor di potenza comandati da un microcontrollore che controlla la commutazione della corrente, perciò il controller deve conoscere la posizione del rotore rispetto allo statore. Tale funzionalità viene messa in pratica solitamente collegando un sensore a effetto Hall (ad esempio un pick-up). Il driver FCM8201 è fornito con il design avanzato per un sensore Hall; sfruttando tali segnali, il sistema è in grado di eseguire la corretta gestione del PWM e di conseguenza dell’inverter trifase. Fornisce un tempo di anti-rimbalzo dell’ordine dei 3~6 ms per ciascun ingresso del segnale Hall, grazie al quale si riesce a ridurre il glitch di tali segnali. In più, quando la transizione del segnale Hall è molto lenta, potrebbero sorgere inconvenienti/errori, ma mediante un circuito di regolazione del segnale il driver FCM8201 riduce al minimo gli eventuali problemi che potrebbero insorgere. Questa funzione può essere attivata o disattivata tramite un registro di controllo mediante l’interfaccia SPI. La polarità del segnale Hall può essere configurata impostando i livelli HA_INV, HB_INV, e HC_INV; ad esempio, se HA_INV = 1, il segnale interno viene invertito al pin HA, altrimenti, il segnale è lo stesso di quello sul pin HA. Il controller della Fairchild è fornito con un oscillatore programmabile interno, infatti, determinando un resistore R_CLK inserito esternamente, il clock di sistema può essere programmato in un campo di frequenze che vanno da 960kHz a 1920kHz; mentre la frequenza di commutazione del PWM è uguale a 1/64 (diviso per ÷ 64) del clock di sistema. Pertanto, facendo un esempio, quando il clock di sistema è configurato a 960 kHz, il PWM sarà 960 kHz / 64 = 15 kHz. Allo stesso modo, se si desidera un PWM a 20 kHz, il clock di sistema deve essere impostato a 1,28 MHz. La tipologia di PWM può essere determinata da due “percorsi di controllo”, come illustrato in Figura 4, nella quale è riportato un circuito di un’applicazione base.

power

Figura 4: Generazione del PWM

Il primo è determinato dal livello di tensione del convertitore DAC al pin DUTY esterno o dal registro DUTY_REG interno. In condizioni di applicazione generali, questo percorso di controllo viene usato per gestire l’impostazione della velocità del motore. Per l’altro percorso di controllo, il livello di tensione del convertitore DAC al pin IP esterno o registro interno IP_REG viene confrontato con quello del pin IN mediante un amplificatore di errore, quindi la tensione amplificata della differenza ottenuta da questo confronto determina il percorso d’interesse. Il guadagno dell’amplificatore di errore è pari a R2/R1. La gamma di tensione di ingresso di entrambi i percorsi di controllo è di 0,5 V ~ 4,5 V. Essi lavorano simultaneamente; quello con livello di tensione inferiore determina l’uscita effettiva di PWM. Se non vi è alcuna necessità di utilizzarli entrambi, conviene impostare il percorso di controllo non utilizzato a 4,5 V per evitare di influenzare il campo di funzionamento dell’altro. Per il controllo motore BLDC viene supportata la modalità di PWM sia a onda quadra che sinusoidale, le varie modalità possono essere selezionate facilmente impostando un registro di controllo interno attraverso l’interfaccia SPI.

 

Scarica subito una copia gratis

Scrivi un commento

Send this to a friend