3.2 Progettazione Hardware
3.2.3 Circuito di generazione dei segnali di zero-crossing detection
Il controller progettato è del tipo sensorless, quindi non prevede l’utilizzo dei sensori Hall per riconoscere la posizione del rotore. Per poter pilotare in modo opportuno il motore BLDC, dunque, è necessario ricorrere ad un’altra strategia per riconoscere la posizione del rotore; quella scelta in questa applicazione è la tecnica di zero-crossing detection, già ampiamente descritta nel capitolo precedente. È stato utilizzato un circuito in grado di individuare l’istante in cui la tensione indotta negli avvolgimenti di statore attraversa lo zero, e di conseguenza di generare i segnali di controllo. È stata esclusa la possibilità di andare a campionare le tensioni di fase con gli ADC di cui è equipaggiato il MCU per non appesantire il compito dello stesso che, in questo caso, avrebbe dovuto eseguire delle operazioni di confronto in modo continuo durante il normale funzionamento del motore. Nel capitolo successivo verrà illustrato in modo approfondito il compito del microcontrollore andando a descrivere il firmware che è in esecuzione su di esso. In letteratura è possibile trovare diverse soluzioni circuitali che implementino la zero-crossing detection ([11]). Quella scelta in questo progetto è mostrata in Figura 25.
CAPITOLO 3: Progettazione Hardware
60
Figura 25: Circuito di zero crossing detection
Tre amplificatori operazionali eseguono il confronto tra le tensioni di fase, filtrate dal filtro passa-basso (Ra-Cb), e la tensione di centro stella, calcolata usando una rete a Y formata da tre resistenze uguali. Le tre uscite Hall_X (X= {A, B, C}) sono tre segnali digitali che emulano il comportamento dei sensori Hall, quindi possono essere usati in sostituzione di questi per poter pilotare il motore. Il filtro introduce uno sfasamento, che si traduce in un errore sull’istante di commutazione delle fasi. Questo sfasamento può essere sia positivo sia negativo, ovvero il segnale emulato potrebbe avere il fronte in salita (e quindi anche quello in discesa) in anticipo o in ritardo rispetto al fronte del segnale Hall da emulare, questo comporterebbe un errore nel pilotaggio del motore. Sono state prese in esame tre diverse topologie circuitali e sono state confrontate le risposte dei tre circuiti con i segnali che nelle medesime condizioni di
CAPITOLO 3: Progettazione Hardware
61
funzionamento avrebbero prodotto i sensori Hall. La prima è quella di figura 26, che poi è stata adottata come soluzione definitiva. Il secondo circuito preso in considerazione è quello di Figura 26 ([11]) che utilizza un numero maggiore di amplificatori operazionali ma non ha necessità di ricostruire la tensione di centro stella del motore.
Figura 26: Soluzione circuitale numero 2
L’ultima topologia presa in esame è una variante di quella considerata in Figura 25; è stato fatto il confronto con metà della tensione di alimentazione invece che con la tensione di centro stella, altra tipologia di circuito che è stato descritto nel capitolo 2. Di seguito è possibile vedere la simulazione delle forme d’onda in uscita dai tre circuiti, confrontate con l’andamento del sensore Hall che dovrebbero emulare (Figura 27). La simulazione è stata effettuata andando ad acquisire le tensioni di fase e i segnali dei sensori Hall con le sonde dell’oscilloscopio, mettendo in rotazione il motore con un controller sensored, ad una velocità di 3600 rpm, considerata la velocità di regime. Le simulazioni sono state eseguite sul software LTSpice XVII, gli amplificatori operazionali usati
CAPITOLO 3: Progettazione Hardware
62
sono quelli presenti nella libreria standard. In Figura 27 è possibile vedere il confronto tra le risposte dei tre circuiti descritti precedentemente e l’andamento reale del segnale di uscita del sensore hall che dovrebbero emulare. ZCD A1 è l’andamento del segnale Hall_A del circuito in Figura 25, ZCD A2 è l’andamento del segnale Hall_A del circuito in Figura 26, mentre ZCD A3 è l’andamento del segnale Hall_A di un circuito analogo a quello in Figura 25 ma che esegue il confronto con DC/2 invece che con la tensione di centro stella.
Figura 27: Confronto tra le risposte delle tre possibili soluzioni circuitali e il segnale Hall
ZCD A1 (in blu) ha un andamento compatibile con segnale generato attraverso il riconoscimento dell’attraversamento dello zero delle tensioni indotte, infatti è in anticipo rispetto al segnale Hall (in rosso) e dunque
CAPITOLO 3: Progettazione Hardware
63
corrisponde a quanto era possibile prevedere in linea teorica. ZCD A2 ha un TON6compatibile, ma presenta un ritardo non accentabile. ZCD A3 ha un andamento del tutto inaccettabile, in quanto presenta sia un ritardo eccessivo che un TON non accettabile.
Lo sfasamento tra il fronte in salita del segnale Hall e quello del segnale hall emulato ZCD A1, è pari a ~100 𝜇𝑠, poiché i tre segnali vengono generati tutti allo stesso modo, l’anticipo rispetto ai rispettivi segnali da emulare sarà della stessa quantità, dunque è possibile affermare che usando tali segnali al posto di quelli dei sensori Hall, l’errore commesso nel pilotaggio risulta essere molto piccolo. Infatti l’anticipo dei segnali di zero-crossing detection avviene solo 100 μs prima rispetto a ciò che accadrebbe usando i sensori Hall (Figura 28).
6 T
CAPITOLO 3: Progettazione Hardware
64
CAPITOLO 4: Progettazione Firmware
65
Capitolo 4
In questo capitolo verrà descritto come è organizzato il firmware che è in esecuzione sul microcontrollore, soffermandoci sugli aspetti più significativi degli algoritmi utilizzati nella gestione del motore con controllo sensorless, dunque la gestione della fase d’avvio, l’algoritmo di switch tra la fase di avvio libero, necessaria come spiegato nel capitolo 2 per un controllo sensorless, e quella di funzionamento a regime, nella quale i segnali di zero-crossing detection vengono utilizzati per capire la posizione del rotore. Inoltre verranno descritti in modo approfonditi gli algoritmi usati per implementare la misura della velocità del motore e la regolazione della stessa attraverso l’utilizzo di un controllore Proporzionale Integrativo (PI).