DIGITAL
SoC CO-DESIGN
46
- ELETTRONICA OGGI 456 - SETTEMBRE 2016
motori debbano operare indipendentemente o in combinazione,
come accade in un sistema di controllo integrato del movimen-
to. L’integrazione di IP per il collegamento in reti industriali è un
altro fattore da tenere in considerazione. Xilinx e i propri partner
offrono il blocco IP per l’integrazione con EtherCAT, PROFINET e
altri protocolli di rete industriali che possono essere incorporati
all’interno dei SoC programmabili. Per illustrare l’uso di questo
flusso di lavoro si considi il caso di un algoritmo di controllo a
orientamento di campo per un motore elettrico trifase implemen-
tato su un SoC Zynq-7020 (i dettagli relativi a questa piattaforma
di prototipazione hardware sono disponibili all’indirizzo
http://
www.mathworks.com/zidk ).
Il modello del sistema di controllo del motore include due sot-
tosistemi primari (Figura 2): un controllore di un motore messo
a punto su un SoC Zynq, che è stato suddiviso fra il sistema di
elaborazione Zynq e la logica programmabile e una scheda mez-
zanino basata su FPGA (FMC) di un controllore di motore con-
nessi ad un motore DC senza spazzole dotato di un encoder per
misurare la posizione angolare dell’albero. È posisbile esaminare
il partizionamento hardware-software in termini di flusso di dati:
•
si assegnano i blocchi di controllo della velocità e di selezione
della modalità al sistema di elaborazione ARM Cortex-A9. Tale
scelta è motivata da due fattori: , questi blocchi possono funzio-
nare a una velocità inferiore rispetto agli altri componenti del
modello e rappresentano le porzioni del progetto che saranno
prevedibilmente più soggette amodifiche e ricompilazioni duran-
te lo sviluppo;
•
una macchina a stati per la selezione della modalità che gira
su un core ARM determina la modalità operativa del controllore
del motore (ad esempio, funzionamento ad anello aperto o re-
golazione ad anello chiuso). Questa macchina a stati gestisce le
transizioni fra l’avvio, il controllo ad anello aperto e le modalità di
calibrazione dell’encoder prima di passare ad una modalità di
controllo ad anello chiuso;
•
il segnale dell’encoder è trasferito attraverso una porta esterna
alla periferica dell’encoder implementata nella logica program-
mabile e quindi al blocco di stima posizione/velocità che calcola
lo stato del motore (posizione dell’albero e velocità);
•
un convertitore A/D di tipo sigma-delta misura la corrente del
motore mentre un blocco periferico A/D codificato a mano ela-
bora la corrente;
•
il controllore di corrente acquisisce lo stato del motore e il
valore di corrente, oltre ai comandi per selezionare la modalità
operativa e per il controllo della velocità passati dal core ARM
attraverso l’interfaccia AXI4, e calcola il comando del control-
lore di corrente. Quando si trova in modalità ad anello chiuso, il
controllore di corrente usa una legge di controllo proporzionale-
integrale (PI), i cui guadagni possono essere regolati usando la
simulazione e la prototipazione;
•
il comando del controllore di corrente passa attraverso il bloc-
co di conversione di tensione ed è inviato al controllo del motore
FMC attraverso la periferica PWM che a sua volta pilota il motore;
I progettisti possono modellizzare il sistema completo in Simulink
(Fig. 3). Nella progettazione basata su modelli, il sistema prevede
quattro componenti nel modello Simulink ad alto livello:
•
un modello dell’ingresso, che fornisce una velocità dell’albero
controllata e i comandi on/off al controllore come stimolo;
•
un modello dell’algoritmo di controllo del motore ideato per il
SoC Zynq;
•
un modello dell’apparecchio, che include l’elettronica di pilo-
taggio della scheda FMC, un modello della macchina sincrona a
magneti permanenti (PMSM) del motore DC senza spazzole, un
modello di un carico inerziale sull’albero motore e un modello
dell’encoder;
•
un modello dell’uscita per la verifica, che include la post-ela-
borazione e l’interfaccia grafica per aiutare lo sviluppatore di al-
goritmi a rifinire e a validare il modello.
In Simulink è possibile verificare l’algoritmo con la simulazione
molto prima di iniziare la verifica dell’hardware. È infatti prevista
la possibilità di regolare i guadagni del controllore PI, provare vari
profili di stimoli nonchè esaminare l’effetto di diverse velocità di
elaborazione. Usando la simulazione tuttavia, ci si trova di fron-
te a un problema fondamentale: per via delle diverse velocità di
elaborazione tipiche del controllo dei motori –velocità di risposta
complessiva da 1 fino a 10 Hz, velocità dell’algoritmo di controllo
principale da 1 fino a 25 kHz e logica programmabile che opera a
velocità comprese fra 10 e 50 MHz o più – i tempi di simulazione
possono arrivare variare da diversi minuti al alcune ore. È possi-
bile ovviare a questo problema con un modello ad anello di con-
trollo che usa i modelli comportamentali per le periferiche – PWM,
misura della corrente e l’elaborazione encoder – producendo una
risposta in funzione del tempo come quella riportata in figura 3.
Fig. 3 – Questo modello di anello di controllo per un sistema di controllo del motore con i risultati della simulazione mostra la risposta ad un
comando ad impulso di velocità