Università di Pisa
Dipartimento di Ingegneria dell’Informazione
Informatica, Elettronica e Telecomunicazioni
Corso di studi in
Ingegneria Elettronica
Tesi di Laurea Magistrale
Progettazione e realizzazione di un
controller sensorless per il motore brushless
di un rasaerba a batteria
Candidato: Relatore:
Giuseppe Litta Prof. Roberto Saletti
Anno Accademico 2015/2016
Ai miei genitori, a Francesco e Annamaria, a tutti coloro che hanno sempre creduto in me
Sommario 3
Sommario
Abstract ... 5 Capitolo 1 ... 8 1.1 Motori ... 9 1.1.1 Motori DC... 9 1.1.2 Motori Brushless ... 13 1.1.3 Motori Passo-Passo ... 141.1.4 Confronto tra motori DC ... 14
1.2 Il controllo dei motori ... 16
1.2.1 L’elettronica nel controllo motore ... 18
1.3 Controllore PID ... 20
1.4 Progettazione del controllore ... 22
1.5 Modello elettrico del motore in continua e del motore brushless ... 25
Capitolo 2 ... 26
2.1 Struttura del motore BLDC ... 27
2.2 Funzionamento del motore brushless ... 30
2.2.1 Tecnica di controllo trapezoidale o Six-Step ... 34
2.2.2 Zero-crossing detection ... 42
2.2.3 Problema del controllo sensorless ... 48
2.3 Tecnica di controllo FOC ... 50
Capitolo 3 ... 54
3.1 Specifiche di progetto ... 54
3.2 Progettazione Hardware ... 55
3.2.1 Schema a blocchi ... 55
3.2.2 Scelta del microcontrollore: LPC1549 ... 56
3.2.2 Gate Driver DVR8301 ... 57
3.2.3 Circuito di generazione dei segnali di zero-crossing detection ... 59
Capitolo 4 ... 65
4.1 Sistema operativo e descrizione dei task ... 65
Sommario
4
4.3 Task Motor Control... 75
4.4 Misura della velocità... 80
4.5 Controllore di velocità Proporzionale Integrativo (PI) ... 82
Capitolo 5 ... 84
5.1 Fase di avvio ... 91
5.2 Analisi risultati circuito sensorless di generazione dei segnali zero-crossing detection ... 85
5.3 Controllore di velocità PI ... 94
Conclusioni ... 98
Abstract
5
Abstract
Al giorno d’oggi l’utilizzo dei motori brushless è molto diffuso. Questo tipo di motore ha l’enorme vantaggio di avere un rapporto peso/potenza molto basso ed inoltre ha un rendimento di circa il 95%. A questi vantaggi si aggiunge un importante versatilità che rende questa tipologia di motore adatto sia ad applicazioni di bassa potenza sia ad applicazioni di medio/alta potenza. Rispetto al classico motore in continua questo tipo di motore risulta essere più affidabile. Il problema principale del motore brushless è la necessità di avere un sistema elettronico di pilotaggio.
Il progetto su cui è sviluppato il lavoro presentato in questa tesi è la realizzazione di un controller sensorless per motori brushless da utilizzare in un rasaerba a batteria. La rotazione del motore brushless è dovuta all’interazione tra il campo magnetico dei magneti permanenti, presenti sul rotore, e il campo magnetico rotante generato dallo statore; questi due campi devono essere costantemente sfasati tra loro di un angolo di 90° per avere un pilotaggio corretto del motore. Per pilotare lo statore in modo tale che possa generare un campo magnetico rotante che sodisfi tale condizione, è necessario conoscere la posizione del rotore relativa agli avvolgimenti di statore. Molto spesso questi motori sono dotati di dispositivi come sensori ad effetto Hall o encoder ottici che assolvono questo compito. Un’unità di controllo riceve da tali dispositivi i segnali in funzione dei quali genera il pilotaggio corretto per il motore. In un controllore sensorless, non vengono utilizzati tali dispositivi per riconoscere la posizione del rotore, ma si sfruttano le tensioni e/o correnti di pilotaggio per avere tali informazioni. Il problema principale di un
Abstract
6
controllo sensorless è quello di cercare una tecnica che dia la possibilità di generare le informazioni sulla posizione del rotore in modo del tutto analogo a quelle che darebbero, ad esempio, i sensori Hall. L’approccio che è stato utilizzato nella progettazione di questo controller è basato sullo studio dell’andamento delle tensioni indotte negli avvolgimenti di statore, le quali opportunamente elaborate danno al sistema di controllo le informazioni sulla posizione del rotore necessarie al corretto pilotaggio. La tensione indotta su ciascuna fase avrà un andamento trapezoidale, l’informazione sulla posizione del rotore è contenuta nell’attraversamento dello zero di tali tensioni. È stato dunque progettato un circuito che, rilevando l’attraversamento dello zero delle tensioni indotte negli avvolgimenti di statore, possa generare tre segnali in grado di emulare il comportamento dei sensori Hall. Il circuito è stato progettato partendo dallo stato dell’arte, e simulando diverse topologie circuitali confrontando le uscite di tali circuiti con quelle generate dai sensori Hall presenti nel motore. La topologia scelta è composta da un filtro passa-basso il quale elimina dalla tensione di fase le componenti ad alta frequenza dovute al pilotaggio, successivamente viene eseguito un confronto tra tale tensione indotta e la tensione di neutro virtuale, che è la tensione di centro stella del motore, ricostruita all’esterno del motore attraverso una rete di tre resistenze uguali connesse a stella. Il risultato di tale confronto sarà un segnale onda quadra con un livello di tensione alto per il tempo nel quale la tensione indotta risulta essere maggiore della tensione di neutro virtuale e un livello basso quando si verifica la condizione opposta alla precedente. Definita la tecnica sensorless per riconoscere la posizione del rotore, è stato affrontato un problema tipico dei controllori sensorless. A motore fermo
Abstract
7
le tensioni indotte negli avvolgimenti di statore sono nulle in quanto non c’è variazione di flusso magnetico di rotore all’interno degli avvolgimenti di statore, di conseguenza il circuito di emulazione dei sensori Hall non può dare informazioni sulla posizione iniziale del rotore. Questo problema è stato risolto prevedendo una fase di avvio durante la quale il motore viene messo in movimento con il solo scopo di generare tensioni di fase indotte negli avvolgimenti di statore tali da far funzionare correttamente il circuito di emulazione dei sensori Hall. Al termine di tale fase, dunque è possibile pilotare il motore conoscendo la posizione del rotore. Il controller per quanto detto sarà dunque formato dal circuito di emulazione Hall e da una unità di controllo. Le funzionalità principali del controller sono state implementate utilizzando un microcontrollore della famiglia LPC15xx di NXP Semiconductor. Dopo aver sviluppato e testato sia hardware che firmware è stata realizzata una scheda custom, attraverso la quale è stato possibile verificare la funzionalità del rasaerba con il controller sensorless progettato.
Abstract
8
Capitolo 1
In questo lavoro di tesi sono stati affrontati i problemi relativi alla progettazione di un controller per un motore brushless, attraverso una tecnica sensorless. In questo capitolo verranno descritte le principali tipologie di motori, ponendo l’attenzione sui motori in continua. Nel capitolo successivo verrà effettuata una trattazione approfondita sia sulla struttura fisica e sul funzionamento del motore brushless sia sulle principali tecniche di pilotaggio di tali motori. Nei capitoli 3 e 4 verrà affrontata la progettazione del controller sensorless, descrivendo e giustificando le scelte sia hardware che firmware dell’intero progetto. Infine, nel capitolo 5, vengono mostrati i risultati ottenuti in seguito alla realizzazione del controller.
Questo capitolo iniziale si pone l’obiettivo di illustrare e descrivere cosa è necessario conoscere per poter affrontare la progettazione di un controller motori. Il controller deve eseguire contemporaneamente due operazioni: pilotare correttamente il motore e, nella maggior parte delle applicazioni, deve essere in grado di controllare una delle grandezze del motore (ad esempio la velocità, la coppia…) in modo tale da far sì che fenomeni esterni al sistema non ne compromettano il regolare funzionamento. Nelle pagine successive verrà fatta una panoramica riguardante le varie tipologie di motori elettrici alimentati con corrente continua, descrivendone brevemente i principi di funzionamento e le principali tecniche di
CAPITOLO 1: Introduzione
9
pilotaggio. Successivamente si descriveranno i principi alla base dei controlli e quale sia il ruolo dell’elettronica all’interno di essi.
1.1 Motori
L’ascesa del motore elettrico è sicuramente dovuta ai numerosi vantaggi che questo introduce in molte applicazioni nei confronti del motore a scoppio. I principali sono: il minor peso del motore a parità di potenza erogata, la silenziosità, una maggior affidabilità generale del sistema elettrico rispetto ad uno a combustione e infine un minor impatto ambientale. Da non trascurare è sicuramente la possibilità e la semplicità con la quale è possibile gestire un motore elettrico attraverso un sistema elettronico, cosa divenuta quasi del tutto indispensabile nei sistemi attuali. Questi numerosi vantaggi hanno spinto ricercatori ed esperti a sviluppare e a far evolvere nel corso degli anni questo tipo di macchine elettriche. Risultato di tali ricerche sono i diversi tipi di motori elettrici in corrente alternata e in corrente continua che attualmente sono in commercio. In questa trattazione ci concentreremo sui motori in corrente continua (DC), fornendo un confronto tra le diverse tipologie esistenti e tra le diverse tecniche che possono essere attuate per poterli pilotare nel migliore dei modi attraverso sistemi elettronici.
1.1.1 Motori DC
Durante il funzionamento di un motore elettrico avviene la trasformazione di energia elettrica in meccanica e viceversa.
CAPITOLO 1: Introduzione
10
Figura 1: Leggi fondamentali per il funzionamento dei motori
Il principio di funzionamento di un motore in DC si basa su semplici leggi della fisica. Facendo riferimento alla Figura 1, se un conduttore lungo l, percorso da una corrente 𝑖⃗, è posto in un campo magnetico, descritto dal flusso magnetico 𝐵⃗⃗ è soggetto ad una forza che segue la formula seguente:
𝐹⃗ = 𝐵
⃗⃗⃗⃗ × 𝑙𝑖⃗
Tale forza risulta essere il risultato della trasformazione di energia elettrica in meccanica. Allo stesso tempo se un conduttore lungo l, messo in movimento con una velocità 𝑣⃗ , è posto in un campo magnetico, descritto dal flusso magnetico 𝐵⃗⃗, si genera una forza elettro-motrice e all’interno del conduttore che è il risultato della trasformazione dell’energia meccanica in elettrica, pari a:
𝑒⃗ = 𝐵⃗⃗𝑙𝑣⃗
Tali concetti vengono usati all’interno del motore per trasformare l’energia elettrica in meccanica e viceversa. Dunque, per generare coppia sull’albero del motore si deve generare un campo magnetico in cui disporre uno o più conduttori percorsi da corrente. Per raggiungere tale scopo si utilizzano due avvolgimenti, in uno dei quali si impone la corrente di alimentazione
CAPITOLO 1: Introduzione
11
per generare il campo magnetico (𝐵⃗⃗) di intensità desiderata (avvolgimento statorico), nell’altro (avvolgimento rotorico) si impone la tensione di alimentazione e quindi la corrente che scorre nell’avvolgimento. Questa corrente che scorre nell’avvolgimento rotorico è quella che interagendo con il campo magnetico generato dagli avvolgimenti statorici è responsabile della generazione delle forze che mette in rotazione il motore. Per ottenere coppia sul rotore è necessario rendere solidale con il rotore una o più spire percorse da corrente. Queste spire costituiscono l’intero avvolgimento rotorico e vengono connesse all’alimentazione esterna attraverso un connettore a lamelle. Il connettore ha un certo numero di coppie di lamelle, disposte in senso assiale, fra di loro elettricamente isolate, su cui strisciano le spazzole e a cui sono collegati gli avvolgimenti rotorici. La continuità tra il collettore, gli avvolgimenti rotorici, e l’alimentazione esterna è quindi data da questi contatti striscianti detti spazzole (generalmente di
grafite).
Figura 2: Motore DC elementare
Per semplicità consideriamo un rotore formato da una singola spira (Figura 2); la coppia applicata al rotore dipende dalla proiezione della forza 𝐹⃗ sulla normale al piano passante per l’asse del rotore, la coppia ha
CAPITOLO 1: Introduzione
12
quindi andamento sinusoidale ed è massima per 𝜃 = 0°, nulla per 𝜃 = 90°. In quest’ultima posizione la coppia sulla spira è nulla, dunque il motore non è in grado di funzionare. Affinché il motore abbia una coppia motrice diretta sempre nello stesso verso, quando l’angolo raggiunge i 90°, viene invertita la polarità della tensione applicata alla spira grazie al sistema a spazzole. Questa inversione permette di generare una coppia motrice in grado di far ruotare di altri 90° il rotore sempre nella stessa direzione. La reiterazione di questo meccanismo è in grado di generare una rotazione continua del motore. L’inversione della polarità di alimentazione della spira deve avvenire quando la corrente che fluisce in essa è nulla, in caso contrario l’energia residua presente nella spira viene dissipata in modo brusco sotto forma di scintillio fra spazzole e collettore. L’istante in cui la corrente si annulla dipende dai parametri elettrici della spira (induttanza e resistenza) e dal valore della forza contro-elettro motrice (f.c.e.m.) ([1]). La presenza del sistema spazzole-collettore che formano un contatto strisciante è soggetto ad usura, riducendo l’affidabilità di tale tipo di motore.
In questa tipologia di motore, il sistema elettronico di pilotaggio va a modificare solo la direzione di rotazione e la velocità. Infatti a differenza di ciò che accade in altri motori, la commutazione della corrente all’interno del rotore avviene in modo meccanico. L’hardware che va a pilotare il motore è un classico ponte H, dove sono presenti quattro MOS che funzionano da interruttori (Figura 3: A, B, C, D). Chiudendo gli interruttori
Figura 3:Driver di un classico motore DC
CAPITOLO 1: Introduzione
13
A e D il motore girerà in un verso, chiudendo B e C nel verso opposto. I segnali di controllo degli switch del ponte sono segnali PWM1; il motore a causa delle sue caratteristiche fisiche (inerziali) si comporta come un filtro passa-basso estraendo il valor medio del segnale PWM. Maggiore è il duty-cycle del segnale di controllo, maggiore sarà il valor medio del segnale PWM, dunque maggiore sarà la corrente che attraverserà il motore e di conseguenza maggiore sarà la velocità di rotazione a parità di coppia resistente applicata.
1.1.2 Motori Brushless
Un'altra importante tipologia di motori in continua sono i motori brushless (BLDC). Notevoli sono le differenze strutturali con un motore DC, Infatti un motore BLDC è formato da un rotore a magneti permanenti, mentre lo statore è formato da avvolgimenti. In questo tipo di motori, a differenza di quanto accade nei motori DC descritti nel paragrafo precedente, è necessario invertire il verso della corrente negli avvolgimenti di statore; poiché questi avvolgimenti fanno parte della parte stazionaria del motore, non è possibile usare un sistema spazzole-collettore come quello descritto precedentemente. È necessario usare un controller più complesso, il quale non deve semplicemente regolare la velocità del motore e/o la direzione di rotazione, come per il motore DC, ma deve anche occuparsi della corretta commutazione della corrente all’interno degli avvolgimenti di statore in modo tale da generare il campo magnetico rotante necessario per mettere in rotazione il rotore. In definitiva il sistema
1 PWM: Pulse Width Modulation, è un tipo di modulazione digitale che consente di avere una tensione media variabile, in funzione del rapporto del duty-cycle. Il duty-cycle è il rapporto tra la durata nella quale il segnale PWM è nel livello logico alto e il periodo del segnale stesso
CAPITOLO 1: Introduzione
14
elettronico sostituisce sia il sistema spazzole-collettore che il circuito di controllo della velocità e verso di rotazione del motore. Questa caratteristiche rendono il motore brushless più affidabile rispetto agli altri motori. Nel capitolo successivo verrà svolta una trattazione più approfondita su questo tipo di motore e sulle varie tecniche di pilotaggio possibili ([2]).
1.1.3 Motori Passo-Passo
I motori passo-passo sono motori DC con la caratteristica di ruotare il proprio albero di un angolo (passo) ben preciso per ciascun impulso di controllo ricevuto. Questa tipologia di motori è dedicata quindi ad applicazioni in cui è necessario conoscere e spostare con precisione la posizione angolare del rotore e soprattutto garantire una posizione di equilibrio stabile di quest’ultimo. A causa delle basse velocità di rotazione che tali motori possono raggiungere e dei costi di produzione molto alti, questo tipo di motore può essere utilizzato in modo efficace solo in applicazioni nelle quali è richiesta esigenza di posizionamento.
1.1.4 Confronto tra motori DC
È possibile ora effettuare un confronto tra le macchine in continua descritte nei paragrafi precedenti, escludendo da questo confronto i motori passo-passo in quanto essi sono stati progettati per applicazioni diverse rispetto ai classici motori DC e ai motori brushless. Come visto nelle sezioni precedenti i motori BLDC presentano diversi vantaggi rispetto ai classici motori DC e i principali possono essere riassunti in: sono:
CAPITOLO 1: Introduzione
15
assenza delle spazzole, notoriamente soggette ad usura. Aumento di affidabilità;
buon rapporto potenza-peso e potenza-dimensioni; ottime prestazioni dinamiche;
miglior raffreddamento degli avvolgimenti; Gli svantaggi più consistenti sono:
aumento di costi di produzione dovuto alla presenza di magneti permanenti;
necessità di un controller elettronico;
La diffusione sempre maggiore dei motori BLDC è dovuta alla loro efficienza di potenza rapportata al peso. Questa caratteristica risulta essere molto importante nel momento in cui questi motori vengono utilizzati in applicazioni quali possono essere utensili da giardinaggio, utensili dedicati all’edilizia e nei veicoli elettrici, nelle quali avere un sistema complessivamente più leggero può essere un notevole vantaggio. Sicuramente da sottolineare è anche la miglior dinamica di questi motori, che consente di avere un ampio intervallo di velocità raggiungibili grazie al fatto che non è presente il limite meccanico imposto dal sistema collettore-spazzole. L’unico importante svantaggio dei motori BLDC consiste nella necessità di avere un sistema di controllo più complesso non solo per poterne regolare ad esempio la velocità, ma anche per permettergli la semplice rotazione. In questa tipologia di motori è necessario infatti
CAPITOLO 1: Introduzione
16
avere un sistema intelligente che possa alimentare nel modo corretto lo statore del motore ([3]).
1.2 Il controllo dei motori
In molti sistemi fisici reali è richiesto l’utilizzo di una strategia di controllo che sia in grado di regolare una delle grandezze fisiche di uscita di tali sistemi. Questo è necessario perché, in alcuni casi, grandezze esterne, come ad esempio una coppia applicata che si oppone alla rotazione di un motore, possono compromettere il corretto funzionamento del sistema che si sta utilizzando, portandolo in uno stato sconosciuto o non voluto. La presenza di un sistema di controllo, rilevando queste variazioni di funzionamento è in grado in modo automatico e dinamico di agire sul sistema stesso cercando di portarlo nello stato voluto.
Figura 4: Sistema di controllo tempo continuo
Il sistema rappresentato in Figura 4 è il classico sistema di controllo con retroazione tempo continuo nel quale: P(s) è il processo da controllare;
C(s) è il controllore; T(s) è il trasduttore. Con rif viene indicato il
CAPITOLO 1: Introduzione
17
considerazione le trasformate di Laplace dei segnali rif. e y, è possibile scrivere la relazione ingresso-uscita del sistema:
𝑌(𝑠) = 𝐶(𝑠)𝑃(𝑠)
1 + 𝑇(𝑠)𝐶(𝑠)𝑃(𝑠)𝑟𝑖𝑓(𝑠)
Applicando il modello appena descritto ad un qualsiasi sistema fisico, e usando qualche tecnica per sintetizzare l’azione di controllo C(s), è possibile implementare un controllo in retroazione. Esempi di tale controllo si trovano nelle più disparate applicazioni, anche all’interno del corpo umano, ad esempio, esistono diversi sistemi di controllo reazionati rappresentabili dallo schema di Figura 4 ([4]).
Quando si parla di motori è fondamentale parlare anche di controllo. Di solito un motore elettrico in movimento si trova a dover superare una coppia di carico che si oppone al suo movimento, e che dunque ne ostacola il corretto funzionamento. Se questa coppia resistiva è costante e nota a priori, il sistema di controllo può anche non esistere a patto che si tenga conto della coppia di carico in fase di progettazione del pilotaggio del motore. Al contrario una qualche strategia di controllo risulta essere necessaria e indispensabile se la coppia di carico è variabile e con andamento poco predicibile. In questo caso è necessario progettare un controllore che sia in grado di agire automaticamente sul motore per poter riportare il sistema nello stato voluto.
CAPITOLO 1: Introduzione
18
1.2.1 L’elettronica nel controllo motore
In questi sistemi l’elettronica svolge un ruolo fondamentale, in quanto è lo strumento più efficace per poter gestire in modo opportuno un qualsiasi tipo di motore. Nella figura sottostante (Figura 5) è possibile riproporre lo schema già visto specificando meglio cosa rappresentino i vari blocchi, e aggiungendone degli altri specifici del controllo applicato ad un motore.
Il riquadro con l’etichetta “elettronica” è la parte che attua il controllo: riceve in ingresso un riferimento e la confronta con la grandezza da controllare opportunamente convertita dal trasduttore. La differenza di tali grandezza è l’errore in funzione del quale il controllore è in grado di attuare una contromisura che viene inviata al sistema, affinché esso possa essere sempre più piccolo, idealmente tendente a zero. Quindi il controllore fa in modo che l’uscita del sistema possa essere idealmente uguale al riferimento. Infine, il trasduttore ha il compito, di trasformare le grandezze fisiche in uscita dal sistema in grandezza elettriche misurabili dal controllore elettronico. In Figura 5 inoltre sono presenti due ulteriori blocchi non presenti nel precedente schema, sono quelli indicati con A\D
CAPITOLO 1: Introduzione
19
e D\A, ovvero i blocchi di conversione da segnali analogici a segnali digitali e viceversa. Queste conversioni risultano essere necessarie in quanto l’azione di controllo C(s) è nella maggior parte dei casi è implementata come algoritmo di una unità di calcolo, quindi costituita da elettronica prettamente digitale mentre il sistema il sistema prende in ingresso e fornisce in uscita segnali prettamente analogici.
È possibile implementare l’elettronica di controllo di un motore in due modi diversi: in modalità stand-alone oppure su un PC ([4] I. M.). Nel secondo tipo di implementazione l’algoritmo di controllo (controllo ad alto livello) viene eseguito da un PC, che risulta essere la mente principale del controllo, mentre una scheda di interfaccia esegue le operazioni necessarie affinché le strategie di controllo elaborate vengano effettivamente traferite sul motore (controllo di basso livello). Questa scheda dunque hai il compito di interfacciare il PC e la parte di potenza che alimenta direttamente il motore. In un’implementazione stand-alone invece non è più necessario l’utilizzo di un PC ma è possibile integrare il controllo di alto e basso livello all’interno della stessa scheda, in questo modo ovviamente viene migliorata la portabilità del sistema. Sia per l’una che per l’altro tipo di implementazione, lo schema a blocchi che meglio specifica ciò che è necessario in un’implementazione reale è quello che
CAPITOLO 1: Introduzione
20 segue:
Figura 6: Schema di controllo con blocchi hardware
Il primo blocco di elaborazione dei comandi, per quanto detto, potrà essere un PC o un microcontrollore (in un’applicazione stand-alone); poi ci sarà un’interfaccia in grado di ricevere dei segnali di controllo dall’unità di elaborazione e renderli idonei al pilotaggio dell’amplificatore di potenza responsabile dell’alimentazione controllata del motore. Infine ci saranno dei sistemi in grado di acquisire delle grandezze fisiche dal motore e inviarle al sistema di controllo, in modo tale da poter chiudere l’anello di reazione.
1.3 Controllore PID
Di seguito verrà illustrato come sia possibile implementare un algoritmo di controllo facendo riferimento alle tecniche di controllo maggiormente diffuse. Il controllo in retroazione negativa più usato nei sistemi nei quali è necessario controllare un motore è sicuramente il controllore Proporzionale-Integrale-Derivativo (PID). Esso viene spesso usato nella variante Proporzionale-Integrativo (PI), soprattutto nei controlli industriali ([5]). L’azione di controllo regola l’uscita in base a:
CAPITOLO 1: Introduzione
21
il valore del segnale di errore (azione proporzionale); i valori degli istanti precedenti (azione integrale);
quanto varia velocemente il segnale di errore (azione derivativa); Questo tipo di controllori risultano essere semplici sia da implementare che da tarare rispetto ad altri algoritmi di controllo molto più onerosi a livello computazionale. Ovviamente esistono delle limitazioni che è bene tener presente quando si decide di usare un controllo di questo tipo. Il controllo PID, ad esempio, non è in grado di adattarsi in modo dinamico in funzione dei cambiamenti nei parametri di processo. Un altro fenomeno da tener presente è quello del wind-up causato dalla presenza dell’azione integrale. L’attuazione è vincolata a variare tra un valore massimo e uno minimo (valori di saturazione). In presenza di saturazione, può verificarsi che l’attuazione non cambi nonostante l’errore di regolazione sia diverso da zero. Di solito vengono introdotti dei blocchi all’interno del controllore detti di anti wind-up. Il più comune è un blocco che accorgendosi della saturazione dell’attuazione, interviene interrompendo l’azione integrale. Il regolatore PID nella sua forma base, è costituito dalla somma di tre termini di controllo, con u(t) viene indicata l’uscita del sistema mentre con e(t) l’errore calcolato dalla differenza della grandezza di riferimento con quella da controllare:
𝑢(𝑡) = 𝐾𝑃𝑒(𝑡) + 𝐾𝐼∫ 𝑒(𝜏)𝑑𝜏 + 𝐾𝐷𝑑𝑒(𝑡) 𝑑𝑡 𝑡
CAPITOLO 1: Introduzione
22
I termini KP, KI e KD sono i tre termini da dimensionare in base alle prestazioni in termini di velocità di risposta e di precisione che si vogliono ottenere dal controllore. Le configurazioni di un controllore basato su questi tre tipi di azioni (proporzionale integrale e derivativa) possono essere quattro, le più utilizzate sono le seguenti ([6]):
il controllore P : viene utilizzato nei sistemi nei quali sono consentiti scostamenti tra il valore a regime della grandezza controllata e quello desiderato. Un controllore P consente di avere una buona velocità di risposta del sistema ma, con guadagno elevato, diminuisce la stabilità aumentando le oscillazioni della grandezza di uscita;
controllore P I: l’unione di queste due azioni consente di ottenere una maggiore precisione senza peggiorare il grado di stabilità del sistema, unita ad una maggiore velocità di risposta rispetto al solo controllore P. Improvvise variazioni di carico applicato possono portare il sistema all’instabilità, quando il coefficiente 𝐾𝐼 non è scelto in modo opportuno; il 90% dei controllori industriali è PI; controllore P ID : è utilizzato nei processi lenti, che non hanno
bisogno di risposte immediate alle sollecitazioni, dove però la presenza di oscillazioni della grandezza di uscita crea problemi.
1.4 Progettazione del controllore
La progettazione di un controllore PID prevede dunque la scelta dei tre parametri caratteristici visti nel paragrafo precedente. Esistono diverse
CAPITOLO 1: Introduzione
23
tecniche per poter raggiungere l’obiettivo. Il metodo più diffuso e semplice è quello di Ziegler-Nichols, il quale non prevede la conoscenza del modello matematico del sistema (in questo caso del motore), ma calcola i parametri del PID attraverso delle prove pratiche. Per trovare i parametri attraverso questo algoritmo, è necessario variare il guadagno del solo controllore proporzionale e osservare l’uscita. Raggiunta l’oscillazione di tale grandezza, il guadagno del controllore proporzionale che ne è la causa è chiamato guadagno critico. In funzione di tale guadagno critico si ricavano gli altri parametri del controllore. Esistono altre possibili soluzioni per sintetizzare un controllore PID, ad esempio è possibile usare una procedura a tentativi o attraverso simulazioni, o anche procedure più rigorose usando il luogo delle radici. Progettato il controllore, si passa all’implementazione quindi bisogna trovare l’ambiente fisico che possa mettere in pratica le operazioni definite dall’algoritmo. Le piattaforme più comuni che oggi vengono utilizzate per implementare tali algoritmi sono i microcontrollori. Affinché questo sia possibile però è necessario svolgere alcune operazioni in modo tale da passare dal dominio tempo continuo, quello del mondo fisico, a quello tempo discreto, dominio dove è più semplice lavorare usando microcontrollori. Dunque la grandezza di controllo proveniente dal mondo fisico, quindi tempo continua, verrà campionata per poter essere interpretata ed elaborata nel dominio tempo discreto. Il risultato dell’elaborazione dovrà essere successivamente riconvertito in modo opportuno per poter agire nel mondo fisico.
CAPITOLO 1: Introduzione
24
Figura 7: Equivalenza blocco tempo continuo e tempo discreto
In Figura 7 è rappresentata lo schema a blocchi di un’azione di un controllo che agisce nel tempo continuo (C(s)) e di un’azione che agisce in quello discreto (C(z)). I blocchi A/D e D/A sono i blocchi che attuano rispettivamente la conversione da tempo continuo a tempo discreto e l’operazione inversa. I due sistemi rappresentati in Figura 7 devono essere equivalenti per far funzionare tutto nel modo corretto, affinché questo avvenga è necessario campionare ad una giusta frequenza i segnali analogici in modo tale che il convertitore possano commettere il minor errore possibile durante il campionamento e di conseguenza durante l’interpolazione. La scelta della frequenza di campionamento è un parametro fondamentale che influenza in modo significativo le prestazioni di un sistema di controllo digitale progettato per approssimazione di uno analogico. Un campionamento più rapido corrisponde ad un migliore sistema di controllo, in quanto implica una maggiore fedeltà l’approssimazione discreta del controllore continuo e una banda dei segnali elaborabili più estesa. Al contrario un campionamento più lento permette di usare algoritmi più raffinati (a parità di hardware) e maggior precisione nella conversione (dovuta alla minore velocità di conversione) da parte degli ADC e DAC.
CAPITOLO 1: Introduzione
25
1.5 Modello elettrico del motore in continua e del
motore brushless
Il motore in continua è composto da una parte che genera un campo magnetico con flusso costante, mentre un'altra che produce un campo magnetico rotante. Nel motore DC con spazzole, gli avvolgimenti di rotore possono essere schematizzati con un circuito equivalente come quello in Figura 8:
Figura 8: Modello circuitale di un motore elettrico in continua
Ra, La modellano rispettivamente la resistenza e l’induttanza dell’avvolgimento, mentre Ea modella la forza controelettromotrice indotta, diversa da zero solo quando il motore non è fermo. La tensione Va risulta essere pari a:
𝑉
𝑎= 𝑖
𝑎𝑅
𝑎+ 𝐿
𝑎𝑑𝑖
𝑎𝑑𝑡
+ 𝐸
𝑎Ad esempio nel motore brushless il rotore ha i magneti permanenti che generano un flusso costante e dunque non ha bisogno di modellazione circuitale, mentre per lo statore, che genera il flusso magnetico rotante, si
CAPITOLO 1: Introduzione
26
ha la necessità di trovare un modello circuitale. Lo statore di un motore brushless è generalmente formato da tre diverse fasi connesse tra loro con collegamento a stella. Il circuito equivalente di statore risulta essere quello di Figura 9.
Figura 9: Modello circuitale dello statore di un motore brushless a tre fasi
La tensione 𝑉𝑎 in questa configurazione ha questa relazione:
𝑉
𝑎= 𝑖
𝑎𝑅
𝑎+ 𝐿
𝑎𝑑𝑖
𝑎𝑑𝑡
+ 𝐸
𝑎+ 𝑉
𝑛Con 𝑉𝑛 la tensione di centro stella.
Capitolo 2
I motori brushless in continua, come è stato accennato precedentemente, sono particolarmente adatti per essere utilizzati in applicazioni nelle quali si richiede un ottimo rapporto peso/potenza, alcune di queste possono
CAPITOLO 2: Motore Brushless (BLDC)
27
essere la robotica, l’automazione industriale, le macchine utensili e i veicoli elettrici, ovvero in tutte quelle applicazione nelle quali il peso del sistema può essere un aspetto da non trascurare. Come accennato nei paragrafi precedenti i motori BLDC sono dinamicamente più efficienti degli altri motori in continua e vengono progettati in modo tale che il rotore abbia una inerzia molto bassa, per permettere accelerazioni elevate, caratteristica questa che li distingue da tutti gli altri tipi di motori. Inoltre questo tipo di motori, inizialmente dedicati solo ad applicazione per basse potenze, attualmente trovano impiego anche in applicazioni di media/alta potenza. In questo capitolo verrà effettuata una trattazione dettagliata del motore BLDC partendo dalla sua struttura fisica e descrivendo le varie tecniche di pilotaggio con le problematiche e relative soluzioni.
2.1 Struttura del motore BLDC
I motori BLDC possono essere costruiti in due diverse configurazioni:
inner rotor e outer rotor ([7]), il cui schema di principio è mostrato in
Figura 10. I motori inner rotor hanno il rotore al centro del motore mentre gli avvolgimenti di statore sono esterni; i motori outer rotor sono costruiti esattamente al contrario dei precedenti, con il rotore all’esterno e gli avvolgimenti di statore nel centro della struttura del motore. I motori
inner rotor, avendo gli avvolgimenti posti sulla parte esterna del motore,
avendo una maggiore superficie di scambio termico, hanno una maggiore capacità di dissipare calore. La posizione interna del rotore, inoltre, consente di avere una bassa inerzia, quindi una maggiore dinamica. L’unico svantaggio dei motori inner rotor è la presenza del fenomeno di cogging, questa tipologia di motori è affetta cioè da ondulazione di coppia,
CAPITOLO 2: Motore Brushless (BLDC)
28
dovuta all’interazione tra i magneti del rotore e il metallo della scocca del motore. Questo fenomeno è più evidente nei motori inner rotor che in quelli outer rotor.
Figura 10: A sinistra la schematizzazione dell’outer rotor motor e sulla destra quella dell’ inner rotor motor ( in nero uno dei poli magnetici del rotore).
Lo statore dei motori BLCD a differenza dei classici motori in DC è formato da più di un avvolgimento, a partire da un minimo di tre. Considerando un motore con tre avvolgimenti di statore, è possibile collegare le bobine in due tipologie diverse: a Y (detto anche a stella) o a Δ (detto anche a triangolo).
Esistono due possibili configurazioni della scocca che sostiene gli avvolgimenti di statore: slotless e slotted (Figura 11). Esse influenzano le caratteristiche e le prestazioni del motore, in quanto, nei motori slotless gli avvolgimenti sono in aria mentre dei motori slotted le bobine sono avvolte intorno a delle lamelle che vanno a formare gli “slot” o meglio conosciute come cave del motore. La presenza degli slot è una delle cause principali del ripple di coppia, in quanto i magneti del rotore essendo attratti dagli slot (di metallo) producono una coppia resistiva che cerca di
CAPITOLO 2: Motore Brushless (BLDC)
29
opporsi al moto del rotore. L’assenza degli “slot”, oltre a evitare ripple di coppia, consente al motore di raggiungere un numero di giri al minuto più alto. Lo svantaggio principale dei motori slotless, e il motivo per cui la maggior parte dei motori BLDC sono della tipologia slotted, è il maggior costo di produzione. In fatti, per compensare la maggiore distanza tra statore e rotore dovuto all’assenza degli slot è necessario aumentare notevolmente il numero di avvolgimenti statorici.
Figura 11: Motore Slotted (a sinistra) e motore Slotless (a destra)
Il rotore dei motori brushless è formato da magneti permanenti, il cui numero di poli dipende dall’applicazione alla quale è rivolto il motore. Infatti, al variare del numero dei poli variano le prestazioni del motore, in quanto, ad un incremento di tale numero corrisponde un momento torcente più elevato ma allo stesso tempo si ha una limitazione della massima velocità raggiungibile dal motore. Un altro parametro del rotore che va ad influenzare il momento torcente massimo raggiungibile è il materiale di cui sono fatti i magneti. Un materiale con una densità di flusso più alta consentirà al motore di raggiungere un momento torcente più elevato. Il numero dei poli del rotore influenza anche il numero di avvolgimenti statorici presenti, infatti, un motore a p poli e n fasi, avrà un numero di bobine totali pari a p*n, dove le p bobine per ogni fase.
CAPITOLO 2: Motore Brushless (BLDC)
30
2.2 Funzionamento del motore brushless
Dopo aver descritto le componenti fondamentali di cui è composto un motore BLDC e le possibili configurazioni esistenti, è possibile illustrarne il funzionamento. Per semplicità viene preso in esame un motore BLDC a due poli e tre fasi come quello mostrato in Figura 12. Il principio alla base del funzionamento del motore brushless è il seguente: dopo aver individuato la posizione del rotore relativa agli avvolgimenti di statore, è necessario alimentare le bobine in modo tale da generare un campo magnetico che sia in grado di attrarre i poli del rotore, il quale essendo vincolato da un perno centrale, inizia a ruotare. Questo meccanismo deve essere ripetuto in modo sequenziale per poter produrre una rotazione continuativa del motore.
Figura 12: Motore BLDC outer rotor 2 poli e tre fasi
In Figura 12 è stata rappresentata la situazione in cui è alimentata la fase A la quale genera un campo magnetico così che: il suo polo N esercita una forza di attrazione sul polo S del rotore e lo stesso accade con il polo S del campo statorico con il polo N del rotore. A causa di questa coppia di forze
CAPITOLO 2: Motore Brushless (BLDC)
31
il rotore inizia a muoversi ruotando intorno al proprio asse e spostandosi verso una posizione di equilibrio nella quale la direzione del vettore di campo magnetico di rotore coincide con la direzione di campo magnetico di statore (la direzione di campo magnetico è la retta contenente il polo N e S del campo magnetico). Raggiunta questa posizione di equilibrio è necessario alimentare la bobina B in modo tale da ripetere esattamente lo stesso fenomeno appena descritto, e quindi permettere la rotazione continua del rotore in senso antiorario. È possibile utilizzare una variante del meccanismo appena descritto, per migliorare le prestazioni del motore; invece di alimentare una sola fase per volta se ne alimentano due. Questa modifica consente di generare due campi magnetici di statore di cui uno in grado di esercitare una forza attrattiva sul rotore l’altro una repulsiva, l’azione combinata di queste due forze produce una rotazione a maggior potenza del motore (Figura 13). Il motore fin ora considerato è un motore nel quale è possibile alimentare in modo indipendente la singola fase. I motori brushless di uso comune invece hanno le fasi di statore connesse tra loro a stella; pertanto per alimentare lo statore di un motore di questo tipo è necessario pilotare una coppia di fasi. Così facendo è possibile imporre una corrente tale da generare un campo magnetico equivalente a quello di Figura 13.
CAPITOLO 2: Motore Brushless (BLDC)
32
Figura 13: Motore BLDC outer rotor 2 poli e tre fasi frecce rosse rappresentano le forze repulsive quelle verdi le forze attrattive tra campo magnetico di rotore e statore
È necessaria la presenza di un sistema che possa gestire nel modo corretto il pilotaggio delle fasi del motore, ovvero alimentarle sia nella giusta sequenza sia al momento giusto. Fissata la direzione di rotazione, la sequenza con la quale alimentare le fasi è nota, mentre per individuare il momento nel quale disalimentare due fasi e alimentarne altre due è necessario un sistema che possa riconoscere la posizione del rotore, di solito questa operazione viene effettuata usando sensori Hall o encoder ottici. Un schema generico e semplificato di controllo di un motore brushless è composto da una unità principale in grado di interpretare i segnali di posizione del rotore e di conseguenza generare le tensioni di fase corrette.
CAPITOLO 2: Motore Brushless (BLDC)
33
Il circuito di pilotaggio solitamente viene costituito da un microcontrollore, che svolge tutti i calcoli necessaria al corretto controllo del motore, e da un inverter di potenza in grado di fornire l’alimentazione alle diverse bobine in funzione dei segnali generati dal microcontrollore.
Quello in Figura 14 è un esempio di inverter per un motore a tre fasi con statore a stella, ogni “ramo” del ponte è formato da due MOS che funzionano da interruttori e imponendo una tensione alta o bassa al terminale di fase consentono di far scorrere la corrente negli avvolgimenti di statore in una direzione o nell’altra. Quindi in base alle diverse combinazioni dei segnali di controllo (AH, AL, BH, BL, CH, CL) è possibile decidere quali bobine alimentare e in che direzione farci scorrere corrente all’interno. Il cuore del sistema di pilotaggio di un motore brushless è il microcontrollore, in grado di generare i segnali di controllo dei MOS del ponte; la sequenza con la quale sono generati tali segnali non è casuale ma ben definita e gli istanti di transizione di tali segnali vengono
CAPITOLO 2: Motore Brushless (BLDC)
34
ricavati in funzione dell’informazione di posizione del rotore. Solitamente i MOS sono pilotati con dei segnali PWM, in questo modo è possibile modulare la corrente delle fasi del motore cambiando il duty-cycle dei segnali di controllo. Così facendo è possibile variare la potenza assorbita dal motore, che a parità di carico applicato si traduce in una variazione di velocità di rotazione. È stato accennato più volte come sia indispensabile per questi motori rilevare la posizione del rotore in modo tale da pilotare le bobine nel momento opportuno. Il rilevamento della posizione è effettuato in svariati modi diversi, più o meno efficienti e di conseguenza più o meno costosi. Nei paragrafi successivi verranno descritti alcune delle più diffuse tecniche di pilotaggio con il relativo metodo di rilevazione della posizione del rotore di un motore BLDC.
2.2.1 Tecnica di controllo trapezoidale o Six-Step
La tecnica di controllo trapezoidale o six-step è la prima che è stata sviluppata ed è ancora largamente usata in quanto la sua implementazione risulta essere abbastanza semplice. Questa tecnica è utilizzata per motori brushless DC i quali hanno una struttura elettromagnetica tale da produrre a regime forza controelettromotrice indotta negli avvolgimenti di statore di forma idealmente trapezoidale. Pilotando un motore brushless a tre fasi con tale tecnica, l’inverter alimenta due fasi per volta con correnti idealmente rettangolari e diverse da zero per 120° elettrici2. La corrente di ciascuna fase quindi assume i seguenti stati successivi: positiva per un terzo del periodo, nulla per un sesto, negativa per un terzo e nulla per un sesto. Le tre correnti sono sfasate tra loro di 120°. Si possono
CAPITOLO 2: Motore Brushless (BLDC)
35
individuare sei step diversi in una rivoluzione elettrica3. Tale andamento è rappresentato in Figura 15, nella quale, è stato ricostruito per una rivoluzione elettrica, l’andamento delle tre correnti di statore.
Figura 15: Andamento ideale delle correnti in un motore BLDC a tre fasi pilotato con un controllore trapezoidale. Nella figura viene indicato con 1 la corrente entrante nella
fase, con -1 uscente e con 0 corrente nulla.
Una volta messo in rotazione, il rotore di un brushless trapezoidale genera sugli avvolgimenti di statore una f.e.m indotta con profilo idealmente trapezoidale. I tre avvolgimenti statorici, posti a 120° meccanici tra loro, vedranno la f.e.m. trapezoidale con i rispettivi ritardi. Come è possibile vedere dalla Figura 16 in ogni istante il prodotto della tensione e corrente di fase (EI) è dovuto a due avvolgimenti per volta ed è costante. Quindi la potenza elettrica assorbita dal motore risulta essere costante e pari a:
CAPITOLO 2: Motore Brushless (BLDC)
36 𝑃𝑒𝑙= 2𝐸𝐼
Figura 16: Correnti e tensioni indotte nelle singole fasi
Mentre la potenza meccanica ha un’espressione pari a:
𝑃
𝑚𝑒𝑐= 𝑇
𝑚𝜔,
dove
𝑇
𝑚 è la coppia totale e𝜔
è la velocità angolare di rotazione del motore, dunque trascurando gli effetti dissipativi, la relazione tra potenza meccanica ed elettrica risulta :CAPITOLO 2: Motore Brushless (BLDC)
37
Con
𝑇
𝑚= 𝑇
1+ 𝑇
2+ 𝑇
3e 𝑇
1…3 la coppia prodotta da ciascuna fase considerata indipendentemente dalle altre. La coppia totale (𝑇
𝑚) risultaessere unidirezionale in quanto la corrente e la f.c.e.m. hanno sempre lo stesso segno, tuttavia non è costante a causa dei periodi in cui la corrente è nulla.
Le correnti di fase e le tensioni indotte sono solitamente espresse in funzione dell’angolo elettrico (θe), la relazione tra θe e l’angolo meccanico (θm) dipende dal numero di espansioni polari p presenti nel rotore:
θe=p θm. L’angolo meccanico è definito come l’angolo compreso tra la
direzione del campo magnetico di rotore e la direzione del campo magnetico di statore.
Ipotizzando di alimentare le fasi con le correnti rappresentate in Figura 15 è possibile capire come viene innescata e sostenuta la rotazione. L’andamento della corrente è suddiviso in sei angoli elettrici da qui il nome six-step. In ciascun intervallo vengono pilotati gli interruttori in modo tale da far scorrere corrente in due fasi. All’inizio di ciascuno dei sei intervalli il flusso di campo magnetico di statore e quello di rotore risulteranno essere sfasati di 120° elettrici, alla fine lo sfasamento risulterà essere invece di 60°. L’andamento della variazione di questo angolo di sfasamento sarà lineare e decrescente tra 120° e 60°, raggiunta tale condizione il sistema di pilotaggio fa scorrere corrente negli avvolgimenti di statore in modo diverso, riportando il flusso di campo magnetico di statore in anticipo rispetto a quello di rotore di 120°. Il grafico di Figura 17 ci mostra dunque l’andamento appena descritto, ovvero come varia
CAPITOLO 2: Motore Brushless (BLDC)
38
l’angolo compreso tra il flusso magnetico di statore e quello di rotore durante la rotazione del motore.
Figura 17: Andamento dell'angolo di sfasamento tra il campo magnetico di rotore e quello di statore
A causa dell’andamento della corrente che, con questa tecnica di pilotaggio risulta essere costante in ciascuno dei sei intervalli di funzionamento, il campo magnetico di statore può assumere solo sei direzioni diverse all’interno di una rivoluzione elettrica. Il campo di rotore, per quanto detto, sarà inizialmente sfasato di 120° rispetto a quello di statore, tale condizione genera una coppia di forze che consentono al rotore di sostenere la rotazione; quando l’angolo compreso tra le direzioni dei due campi raggiunge i 60°, il sistema di controllo dovrà alimentare le due fasi che genereranno un campo magnetico di statore che risulterà nuovamente
CAPITOLO 2: Motore Brushless (BLDC)
39
sfasato di 120° rispetto a quello di rotore. Questo meccanismo viene ripetuto ogni 60° elettrici ed è in grado di generare una rotazione continuativa del rotore. Tra le direzioni dei campi di statore e rotore c’è dunque un angolo di fase non costante, come è stato mostrato in Figura 17. La coppia prodotta dal motore, oltre ad avere una relazione con la potenza elettrica assorbita, ha una relazione con i flussi magnetici di statore
φ
s e di rotoreφ
r e dell’angolo compreso tra le direzioni tra i due flussi (𝜗
𝑚)
.𝑇
𝑚= φ
rφ
ssin 𝜗
𝑚Come è possibile notare da questa relazione, se l’angolo ϑm fosse costantemente pari a 90° la coppia sarebbe sempre massima. Questo però è vero solo mediamente, e quindi anche la coppia risulta essere solo mediamente massima. Grazie alla relazione appena scritta è evidente che la coppia motrice generata dal motore non è costante, ma presenta un certo ripple. Nella maggior parte delle applicazioni tale ripple risulta essere ininfluente, anche perché questo fenomeno viene di solito attenuato dall’inerzia meccanica del rotore durante la sua rotazione. Questo è il principale compromesso da accettare usando una tecnica di pilotaggio six-step, semplice ma con i limiti di ripple di coppia prodotta dal motore. Per il controllo della commutazione delle fasi è sufficiente individuare il “sesto” di angolo giro elettrico nel quale si trova il vettore rappresentativo del campo magnetico rotorico. Questo compito è di solito affidato a dei sensori di posizione: è possibile utilizzare encoder ottici o sensori ON-OFF ad effetto Hall. Generalmente vengono utilizzate tre sonde ad effetto Hall
CAPITOLO 2: Motore Brushless (BLDC)
40
disposte sulla parte stazionaria del motore, e vengono posizionati sfasati tra loro di 120 ° in modo tale da generare sei differenti stati logici per ogni rivoluzione elettrica. L’inserzione dei sensori Hall all’interno del motore è un passaggio abbastanza delicato all’interno delle fasi di assemblaggio, infatti un errore di posizionamento di tali sensori causerebbe un errore sistematico durante il pilotaggio del motore stesso. Alcuni motori per facilitare il corretto allineamento dei sensori, hanno sul rotore una replica in scala ridotta dei magneti principali, migliorando dunque la precisione con la quale essi danno informazioni sulla posizione del rotore e di conseguenza migliorando le prestazioni del pilotaggio. L’utilizzo di encoder invece comporta un incremento eccessivo dei costi di produzione, dunque tali dispositivi vengono utilizzati solo all’interno di applicazioni nelle quali il pilotaggio risulta essere particolarmente critico.
Ogni volta che un polo rotorico passa in prossimità di uno dei sensori Hall, questi variano la propria uscita riuscendo a capire se il polo rotorico avvicinatosi sia stato un polo N o un polo S. Questa informazione si traduce con un segnale elettrico che raggiunge il livello logico alto, se si avvicina un polo N, e raggiunge il livello logico basso, se si avvicina un polo S. Il segnale di uscita di ciascuno dei tre sensori ha una variazione ogni 180 ° elettrici. Grazie al loro posizionamento, leggendo la combinazione dei tre segnali siamo in grado di determinare la posizione del rotore, identificando il “sesto” di angolo giro nel quale è presente il campo magnetico di rotore, e quindi, dare informazioni al sistema di controllo su come alimentare le fasi. Tenendo presente che ogni sensore è associato ad una singola fase, le informazioni ricevute dai sensori Hall,
CAPITOLO 2: Motore Brushless (BLDC)
41
vanno lette nel seguente modo: ogni qual volta c’è una transizione di uno dei tre sensori, la fase associata a tale sensore viene pilotata in modo tale da far scorrere all’interno una corrente positiva se è stato rilevato un fronte in salita, negativa per i fronti in discesa, come è possibile osservare in Figura 18.
Figura 18: Andamento tensioni, correnti di fase e (in alto) il relativo comportamento dei segnali prodotti dai sensori Hall
La presenza dei sensori Hall all’interno dei motori BLDC e soprattutto il loro corretto allineamento, comportano un aumento nei costi di produzione di questa tipologia di motori. Fondamentalmente per questa ragione si è andati alla ricerca di nuove tecniche per il riconoscimento della posizione del rotore, cercando di evitare l’utilizzo di sensori o di altri dispositivi che andassero a incidere in modo significativo sui costi di produzione.
CAPITOLO 2: Motore Brushless (BLDC)
42
Dopo aver capito come è possibile mettere in rotazione un motore BLDC, è necessario capire come sia possibile variare la sua velocità di rotazione, cosa che risulta essere di particolare importanza per la maggior parte delle applicazioni. La velocità di rotazione del motore è direttamente proporzionale all’ampiezza della corrente che scorre in ciascuna fase dello statore ([1]).
2.2.2 Zero-crossing detection
L’utilizzo dei sensori Hall per il riconoscimento della posizione del rotore, oltre che per problematiche di costo, può essere svantaggioso perché, ad esempio, la loro presenza aumenta la complessità del cablaggio riducendo l’affidabilità generale del sistema. Inoltre i connettori dei sensori Hall possono essere soggetti a condizioni tali da compromettere in alcuni casi la corretta lettura dei sensori. La soluzione a questi problemi è l’utilizzo di un controllo sensorless, il quale come il nome stesso dice non utilizza sensori. Per mettere in pratica un controllo di questo tipo è necessario estrarre informazioni sulla posizione del rotore attraverso le tensioni e le correnti di fase del motore, in modo tale da utilizzare il “canale” di pilotaggio come strumento di acquisizione. Durante la rotazione del motore, negli avvolgimenti di statore si genera un potenziale elettrico che dà origine ad un campo magnetico secondario che si oppone al flusso magnetico principale, quello che guida la rotazione del motore. In altri termini la f.e.m. indotta si oppone al movimento del motore e per questo è detta Back-EMF4. La f.e.m. indotta, dunque, sottraendosi alla tensione di pilotaggio, fa diminuire la corrente e di conseguenza la coppia del
CAPITOLO 2: Motore Brushless (BLDC)
43
motore. Oltre ad essere considerata uno svantaggio da questo punto di vista, la f.e.m di ritorno può essere anche vista come una grande risorsa, in quanto, contiene informazioni utili per poter conoscere la posizione del rotore. Alimentando due fasi per volta ai capi della terza, che può essere considerata disconnessa, è possibile leggere la f.e.m. di ritorno. Dalla Figura 15è possibile notare l’andamento delle tensioni indotte sulle tre fasi e il corrispettivo andamento delle correnti. La forza elettromotrice indotta ha un andamento trapezoidale e attraversa lo zero in salita circa 30° prima che la corrispondente fase venga alimentata e lo riattraversa in discesa 30° dopo che la fase è stata disconnessa. Andando a individuare quando avviene l’attraversamento dello zero, è possibile generare tre segnali con un andamento simile a quelli generati dai sensori Hall. Grazie a questa caratteristica dunque è possibile usare tali segnali per poter ricavare informazioni sulla posizione del rotore e di conseguenza gestire nel modo corretto le fasi del motore, senza la necessità di alcun tipo di sensore. Il primo inconveniente che è facile notare confrontando i segnali dei sensori Hall con le forme d’onda generate attraverso BEMF (Figura 19) è che esiste un anticipo di fase pari a 30° elettrici. Un sistema di controllo che non utilizza i sensori Hall ma utilizza l’informazione di zero-crossing delle tensioni indotte deve, per quanto detto, attuare un qualche meccanismo in grado di rendere i nuovi segnali di controllo molto simili a quelli che sarebbero stati prodotti dai sensori Hall. Quindi, il sistema deve essere in grado di ritardare di 30° elettrici i segnali di controllo prodotti tramite zero-crossing detection. Per attuare questa correzione è necessario tener conto che la forza elettromotrice indotta è funzione della velocità del motore e di conseguenza lo è anche la correzione in termini di tempo da
CAPITOLO 2: Motore Brushless (BLDC)
44
introdurre. Con la Figura 19 è possibile fare un confronto tra: tali segnali, i segnali Hall, le tensioni indotte e le correnti di fase ([8]) ([9]).
Figura 19: Segnali dei sensori Hall, correnti, tensioni di fase e segnali di emulazione Hall
Esistono diverse tecniche con le quali poter acquisire le tensioni indotte nelle fasi del motore e generare i segnali di controllo. Le f.e.m. indotte vengono lette sulla fase non alimentata che poiché non è attraversata da corrente presenta un potenziale riferito al centro stella del motore pari
CAPITOLO 2: Motore Brushless (BLDC)
45
alla sola forza elettromotrice indotta, a differenza delle altre due fasi le quali, oltre a questa tensione, avranno anche il contributo della tensione di pilotaggio. Considerando il modello elettrico per lo statore descritto nel paragrafo 1.5, se una fase non è alimentata si ha che 𝑖𝑥=
𝑑𝑖𝑥
𝑑𝑡 = 0, dunque 𝑉𝑥= 𝐸𝑥+ 𝑉𝑛 (motore con statore a stella). La tensione accessibile dall’esterno del motore è dunque 𝑉𝑥, con x uguale ad a per la prima fase, a b per la seconda e c per la terza. Per poter generare gli impulsi si possono confrontare la f.e.m. con metà della tensione di alimentazione, che corrisponde alla tensione di centro stella nel caso in cui le tre bobine siano uguali, come mostrato in Figura 20 ([10]):
Figura 20: La fase A e la fase C sono pilotate, la fase B viene confrontata con metà della tensione di alimentazione
Il principale svantaggio del circuito in Figura 20 consiste nella possibilità che le tre bobine possano avere caratteristiche leggermente diverse tra loro, questo comporterebbe uno sfasamento in positivo o in negativo dell’uscita del comparatore, in quanto il centro stella non sarebbe più uguale a DC/2. Per ovviare questo problema è possibile, complicando leggermente il circuito, confrontare la tensione indotta con una tensione che è pari alla tensione di centro stella del motore, chiamato neutro
CAPITOLO 2: Motore Brushless (BLDC)
46
virtuale (Figura 21). È possibile ricostruire questa tensione collegando a stella tre resistenze di uguale valore, alimentando la rete appena costruita con le stesse tensioni con le quali si alimentano le tre fasi del motore.
Figura 21: La fase A e la fase C sono pilotate, la fase B viene confrontata con la tensione di neutro virtuale
Un terzo metodo richiede l’utilizzo di tre convertitori analogico-digitale (ADC). Molti MCU sono dotati di convertitori ADC ad alta velocità adatti a questo scopo. Con questo metodo la tensione indotta viene campionata e confrontata all’interno del microcontrollore con un valore corrispondente al neutro virtual che viene calcolato all’interno dello stesso microcontrollore (Figura 22).
CAPITOLO 2: Motore Brushless (BLDC)
47
Figura 22: Le tre fasi vengono campionate costantemente dal convertitore analogico-digitale
Quest’ultima soluzione consente di poter implementare facilmente filtri (digitali) per poter eliminare le componenti ad alta frequenza dovute pilotaggio dalla f.e.m. di ritorno. I circuiti presenti in Figura 20 e Figura 21, ovviamente saranno ripetuti per ciascuna fase. I circuiti presentati devono necessariamente includere un filtro che sia in grado di eliminare dalla tensione di fase le componenti ad alta frequenza dovute alla modulazione PWM. A tale scopo è sufficiente utilizzare un filtro passa-basso. Questa necessità comporta un ulteriore errore, dovuto al ritardo di fase che il filtro introduce che purtroppo è funzione della velocità angolare (ω) del motore, causando un sfasamento dell’istante di commutazione ([11]). Un altro metodo che determina l’istante di commutazione delle fasi è quello che sfrutta la terza armonica del segnale BEMF ([11]). Questa tecnica, lavorando ad alta frequenza, non necessita del filtro passa-basso e di conseguenza non introduce ritardi di fase significativi, e soprattutto non dipendenti dalla velocità del motore. Alcuni algoritmi dunque stimando la componente di terza armonica della BEMF, stimano il flusso
CAPITOLO 2: Motore Brushless (BLDC)
48
magnetico di air-gap dunque la posizione del rotore andando a individuare l’attraversamento dello zero di questa forma d’onda che a differenza della BEMF non è affetta da errore di fase ([12]).
2.2.3 Problema del controllo sensorless
L’utilizzo di un controllo sensorless per un motore BLDC, nonostante riduca la complessità del motore e aumenti l’affidabilità dell’intero sistema, introduce una problematica che complica il controller progettato con tale specifica. Utilizzando i sensori Hall è sempre possibile conoscere la posizione del rotore, anche quando esso non è in movimento. Questo è un grande vantaggio durante la fase di avvio, infatti, non appena i sensori Hall vengono alimentati, essi danno al sistema di controllo informazioni sulla posizione del rotore e di conseguenza informazioni su quali avvolgimenti alimentare per poter mettere in rotazione il motore con la coppia ottimale fin dal primo giro. Questa importante informazione non è semplice da ottenere senza l’utilizzo dei sensori Hall o di encoder ottici. L’ampiezza delle f.e.m. indotte dipendono in modo direttamente proporzionale dalla velocità del motore, dunque all’avvio le f.e.m. indotte negli avvolgimenti di statore sono nulle e non è possibile individuare la posizione del rotore. Per risolvere questo inconveniente, bisogna quindi, prevedere una fase di start-up. Durante tale fase il motore deve essere messo in rotazione col solo intento di portarlo ad una velocità tale da rendere interpretabili le tensioni indotte e quindi, poter ricavare informazioni corrette sulla posizione del rotore. Terminata la fase di start-up è possibile chiudere l’anello di controllo e utilizzare i segnali prodotti
CAPITOLO 2: Motore Brushless (BLDC)
49
dall’individuazione dell’attraversamento dello zero delle BEMF per poter decidere quali fasi alimentare.
In letteratura si trovano svariati metodi che vanno a risolvere tale problema con tecniche più o meno complesse in base alle esigenze che le diverse applicazioni richiedono. Il meccanismo più semplice cerca di mettere in rotazione il motore per portarlo in una configurazione nota; è possibile eseguire questa operazione alimentando due fasi per un certo tempo durante il quale il campo magnetico di rotore con più o meno difficoltà, si allineerà con il campo magnetico generato dallo statore. Questa procedura, seppur efficace, spesso causa vibrazioni del motore che possono essere inaccettabili in alcune applicazioni. Se non è dunque possibile trascurare questi effetti bisogna cambiare approccio al problema e applicare procedure che invece di portare il rotore in posizioni note ne stimano la posizione iniziale ([11]). La maggior parte dei metodi che stimano la posizione del rotore si basano sull’effetto di saturazione del nucleo ferromagnetico degli avvolgimenti di statore dovuto ai magneti permanenti del rotore. Il principio che è alla base di questo metodo è la relazione tra l’induttanza di un avvolgimento e il campo magnetico totale dato dalla somma vettoriale del campo generato dallo statore e quello dei magneti permanenti di rotore ([13]). Se i due campi magnetici sono in contro-fase il nucleo degli avvolgimenti non è saturo quindi la relazione tra il flusso e la corrente di fase risulta essere ancora lineare; se invece i due campi sono in fase, il nucleo satura quindi il flusso magnetico raggiunge il suo valore massimo possibile diventando pressoché indipendente dalla variazione della corrente. In base a questo principio,
CAPITOLO 2: Motore Brushless (BLDC)
50
dunque, varia anche l’induttanza delle fasi in relazione alla condizione di linearità o meno nella quale si trova il nucleo degli avvolgimenti. Applicando un gradino di tensione ad una delle fasi, la corrente subirà un transitorio nel dominio del tempo, con una costante di tempo τ che dipende dal valore dell’induttanza. Se ci troviamo nella situazione di saturazione del nucleo ferromagnetico, l’induttanza risulterà essere più piccola e dunque anche la costante di tempo sarà più piccola, al contrario nella condizione di funzionamento lineare sia l’induttanza che la costante di tempo risulteranno essere più grandi. È possibile dire, in base a queste considerazioni, che nelle condizioni di saturazione il transitorio di corrente è molto più rapido che nelle condizioni di linearità. Per poter stimare la posizione iniziale di rotore, dunque, bisogna applicare un gradino di tensione alle fasi e campionare la corrente di ciascuna fase nel medesimo istante. La fase con il valore maggiore di corrente, sarà quella nei pressi della quale si trova il rotore. Si possono attuare diverse strategie sfruttando questo stesso principio, ad esempio, per evitare di alimentare tutte le fasi è possibile stimare la posizione del rotore attraverso approssimazioni successive.
2.3 Tecnica di controllo Field-Oriented Control (FOC)
La tecnica di controllo descritta fin ora con le sue varianti sensorless o sensored, nota come controllo trapezoidale o six-step, genera delle oscillazioni di coppia dovute al fatto che l’angolo tra il campo magnetico di rotore e quello di statore varia in modo brusco. Questa tecnica di controllo non dà prestazioni dinamicamente efficienti se utilizzata in applicazioni nelle quali ci sono rapide variazioni di carico applicato. Per