UNIVERSITA’ DEGLI STUDI DI TRIESTE Dipartimento di Elettrotecnica, Elettronica e Informatica Tesi di Laurea Triennale in Ingegneria Elettronica Applicata Realizzazione sperimentale di un controllo vettoriale per motore asincrono Laureando Relatore Paolo FABRIS Prof. Roberto MENIS Anno accademico 2006 - 2007 SOMMARIO Obiettivo Controllo ad orientamento di campo indiretto Simulazione Implementazione Conclusioni Sviluppi futuri 2/22 OBIETTIVO Implementare un algoritmo di controllo vettoriale ad orientamento di campo indiretto (FOC) per un motore asincrono sfruttando il microcontrollo HITACHI H8 3687 3/22 CONTROLLO AD ORIENTAMENTO DI CAMPO INDIRETTO Vantaggi Controllo accurato e efficiente Elaborazione in tempo reale Controllo diretto della coppia e flusso Uso della CPU Portabilità Hardware 4/22 CONTROLLO AD ORIENTAMENTO DI CAMPO INDIRETTO Svantaggi Elevata complessità computazionale: Richiede CPU con prestazioni elevate Sensitività Richiede modello accurato Presenza parametrica del sensore di velocità: Difficoltà per migrazione da V/f a vettoriale Affidabilità Aumento dei costi 5/22 CONTROLLO AD ORIENTAMENTO DI CAMPO INDIRETTO Problema CPU HITACHI non è molto performante Sostituzione motore variazione costanti Soluzione Firmware scritto in assembly Si impostano alcuni parametri nel sorgente MATALB (Lr, Rr, RPM, RMS, I, p) e si ricavano tutte le costanti moltiplicative 6/22 SIMULAZIONE Visualizza grandezze e variabili interne Field Oriented Control <teta1> Coppia resistente Zero resistance torque -KPU5 <error_f lux> [MUX] -KPU Script MATLAB Rappresentazione dati in 16-bit (Fixed-Point) Simulazione look-up-table Verifica formato grandezze e dati 0 -K- <error_torque> From1 PU1 <error_speed> -K- PU2 Step resistance Resistance torque torque selection Zeoro speed reference [Te] From2 [speed] [Torque] Goto 1500 error_torque -K- From3 Goto5 speed ref erence -K- From4 [RPM] PU7 -K- [Vab] PU8 From5 -KPU6 -K[IaIb] PU3 -K- error_f lux [MUX] rad/s Velocità di riferimento Step speed Speed reference reference selection [Torque] From6 error_speed wm teta Goto2 Tm vA A vB B vC C m Discrete, Ts = 0.0002 s. pow ergui [IaIb] [speed] Goto6 From Asynchronous Machine Simulazione nel dominio del tempo discreto ? + v - [Vab] More Info Vab Goto1 Scope2 Goto3 From7 [Te] [RPM] -KPU9 <Rotor speed (wm)> Iab FOC <Electromagnetic torque Te (N*m)> PU4 -K- [RPM] RPM Goto4 Visualizza velocità e coppia Scope1 7/22 SIMULAZIONE Risposta a vuoto Posizione flusso Error di flusso Errore di coppia Errore di velocità Tensione concatenata Correnti di fase 8/22 SIMULAZIONE Risposta a vuoto Velocità di riferimento Coppia resistente 9/22 SIMULAZIONE Risposta a un gradino di coppia 10/22 SIMULAZIONE Risposta a un gradino di velocità 11/22 SIMULAZIONE Risposta gradino coppia/velocità 12/22 IMPLEMENTAZIONE Clock 16MHz Interrupt esterno 3KByte Impulsi encoder 56KByte Lettura direzione RS232 PWM 3-fase Convertitori ADC 10-bit 13/22 IMPLEMENTAZIONE Timer Z Overflow Flag Dead Time Underflow Flag Registro di comparazione Inizializzazione 14/22 IMPLEMENTAZIONE Sorgenti scritti in C Inizializzazion e alimentazione Segnale di reset Reset Configurazione periferiche e interrupt Inizializzazione look-up-table e variabili interne IRQ0 IRQ1 PWMInt msg<=5 SI NO 0 interrupt esterno 1, 2 saturazione ia e ib 3 interrupt PWM non valido 4, 5 T1 < 0 , T2 < 0 Disattivazione PWM Visualizzazione messaggio di errore Sleep 15/22 IMPLEMENTAZIONE PWMInt() Start OVF=0 OVF==1 Si No Msg=3 UDF==1 No Si Lettura correnti Msg=1,2 Sat Si No FOC() End 16/22 IMPLEMENTAZIONE FOC() scritta in assembly Start Salva registri nello stack Trasformata di Clarke Trasformata di Park 1 ek yref uk 1 Kpi 2 Unit Delay ulk 1 yfbk z Lettura velocità ref e segno Lettura velocità di rotore 1 Saturation elk xi -KKi -KKcor Regolatore PI di velocità Calcolo della posizione angolare del flusso Aggiornamento funzioni trigonometriche PI iSq PI iSd Trasformata inversa di Park 17/22 IMPLEMENTAZIONE Calcolo delle componenti di riferimento Determinazione del settore Percalcolo dei tempi d’applicazione Assegnamento tempi in base al settore T1+T2>Ts Aggiustamento saturazione Si No Assegnamento duty-cycle Ripristino registri dallo stack End 18/22 IMPLEMENTAZIONE Debugging Emulatore E7 Scheda di programmazione JTAG Abimente di sviluppo “Hiatchi Embedde Workshop” 19/22 Workspace IMPLEMENTAZIONE Editor Registri CPU Aggiornamento registri Indirizzi istruzioni Breakpoint/PC Indirizzi delle label Informazioni di debugging Informazioni sulle istruzioni Valori variabili Aggiornamento passo Aggiornamento cicli di clock 20/22 CONCLUSIONI Si può eseguire l’elaborazione in tempo reale con CPU HITACHI H8 3687 (ottimizzando il firmware in assembly) Buona dinamica di controllo del motore asincrono Efficienza elevata nel processo di conversione DC/AC (modulazione SVPWM dell’inverter) 21/22 SVILUPPI FUTURI Migrazione dell’algoritmo di controllo su CPU HITACHI H8 a 16-bit /32-bit più performante (compatibile con CPU precedenti appartenenti alla serie H8 300H) Implementazione del firmware interamente in C su CPU più performante Adattamento algoritmo per motore BLDC 22/22