Sei sulla pagina 1di 22

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à parametrica
 Richiede modello accurato
 Presenza 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
-K-
<teta1>

Coppia resistente
Zero resistance
torque <error_f lux>
PU5
-K-
[MUX]
PU
0
Script MATLAB From1 <error_torque>
-K-

PU1
Rappresentazione dati in 16-bit (Fixed-Point) <error_speed>
-K-
From4
PU2
Step resistance Resistance torque
torque selection
Simulazione look-up-table [Te] -K-
[RPM] -K-

PU6
Verifica formato grandezze e dati
From2 PU7
Zeoro speed [speed]
reference
Goto [Torque] -K-
[Vab] -K-
1500
error_torque From3 PU8
Goto5 From5 PU3
-K- speed ref erence [IaIb] -K-
error_f lux
[MUX] [Torque] Scope2
rad/s From6 PU4
error_speed
Step speed Speed reference
reference selection
Velocità di riferimento
wm teta
Goto2
Tm Goto3 From7

vA A [Te] [RPM] -K-


m <Electromagnetic torque Te (N*m)>
vB B PU9
Discrete, Iab <Rotor speed (wm)>
Ts = 0.0002 s. -K- [RPM]
vC C
[IaIb] [speed]
pow ergui FOC Asynchronous Machine RPM Goto4

Simulazione nel dominio del tempo discreto Goto6 From


? +
v [Vab]
-
More Info
Visualizza velocità e coppia
Vab Goto1

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
Segnale di
e Reset
reset
alimentazione

Configurazione periferiche e interrupt


Inizializzazione look-up-table e variabili interne

IRQ0
IRQ1 msg<=5 0  interrupt esterno
PWMInt NO 1, 2  saturazione ia e ib
SI 3  interrupt PWM non valido
4, 5  T1 < 0 , T2 < 0
Disattivazione PWM
Visualizzazione messaggio di errore
Sleep 15/22
IMPLEMENTAZIONE

PWMInt()
Start OVF==1 OVF=0
Si
No

UDF==1 Msg=3
No
Si
Lettura correnti

Sat Msg=1,2
Si
No
FOC() End
16/22
IMPLEMENTAZIONE

FOC() scritta in assembly


Salva registri nello stack
Start Trasformata di Clarke
Trasformata di Park 1
yref
ek
1
uk
1
ulk
Kpi Unit Delay Saturation
2
1
yfbk
z
elk

Lettura velocità ref e segno


xi

Lettura velocità di rotore -K-

Ki
-K-

Kcor

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
IMPLEMENTAZIONE
Workspace 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