|
Høgskolen i Oslo: SO303E Kybernetikk 2 (høst-08)
Prosjektoppgave:
Systemidentifikasjon og turtallregulering av DC-motor
Hva prosjektoppgaven går ut på
Dere skal estimere en tidsdiskret transferfunksjonsmodell for en DC-motor
vha. Matlab-funksjonen n4sid (som estimerer modeller med en
subspace-metode). LabVIEW skal brukes til fysisk styring og måling på
motoren. På basis av den estimerte modellen skal et
turtallsreguleringssystem for motoren simuleres i Simulink for å finne
brukbare regulatorparametre i en PI-regulator. Så skal et
turtallsreguleringssystem implementeres i LabVIEW, og til slutt skal dere
analysere reguleringssystemet i Matlab.
Utstyr
- PC med LabVIEW og Matlab/Simulink (og System Identification
Toolbox og Control System Toolbox)
- NI USB-6008
I/O-utstyr.
- DC-motor.
Oppgaver
- Analog I/O: Sjekk at analog I/O i LabVIEW virker. Foreta
først konfigurering og sjekk i MAX, deretter prøver dere I/O i LabVIEW med
f.eks.
ao_ai.vi.
Denne VI'en kan dere også bruke som utgangspunkt for deres egne LabVIEW-filer
i denne prosjektoppgaven. Bruk gjerne samplingstid lik 0,05 sek.
Her er en tutorial
om bruk av NI USB-6008, inkl. bruk av
ao_ai.vi.
- Estimering av transferfunksjon: Finn en tidsdiskret transferfunksjonsmodell for motoren
(fra pådrag til turtallsmåling) vha. bl.a.
n4sid-funksjonen i Matlab ut fra loggede data av pådrag i enhet volt og
turtallsmåling i enhet volt. (Kap. 10.4 i kompendiet omhandler estimering av
transferfunksjon med n4sid. Jeg anbefaler å bruke de-trendede
dataserier av pådrag og måling som grunnlag for estimeringen. Bruk mean-funksjonen
i Matlab til å fjerne middelverdien fra en dataserie.) Bruk LabVIEW til
å styre (eksitere) motoren og til å logge data til fil. Filskriving i LabVIEW
kan enkelt realiseres med Write to Measurement File-funksjonen på
File I/O-paletten (ta gjerne en kikk på kap. 8.5 i
Introduction to
LabVIEW). Filimport i Matab kan utføres med load-funksjonen
eller vha. Import Wizard som er tilgjengelig via File-menyen. Write
to Measurement File-funksjonen bør brukes til å lagre dataene i en
tekstfil (ikke binærfil). Filtypen blir da lvm. Det kan være nødvendig å
endre filnavnet fra *.lvm til *.dat før bruk av load-funksjonen. Ikke
velg for lav orden i modellen. Prøv f.eks. orden 8.
Dere skal legge inn en omregning fra volt til turtall i krmp, slik at den
resulterende transferfunksjonen har krmp som enhet på utgangen. Sammenhengen
mellom volt og krpm står på hjemmesiden for DC-motoren.
- Er modellen brukbar? Sjekk den estimerte modellens godhet i
Matlab ved visuelt å sammenlikne simulert turtallsmåling med logget
turtallsmåling (i et plott). Sammenlikningen bør foretas på basis av data fra
et annet eksperiment enn det som ble benyttet for estimeringen.
Simulering i Matlab kan gjøres med lsim-funksjonen.
- Simulering av turtallsreguleringssystem i Simulink: Bruk
Simulink til å stille inn en PI-regulator for turtallsregulering av motoren.
Reguleringssystemet skal inneholde et 1. ordens lavpass-målefilter som skal ha
tidskonstant 0,2 sek (bruk gjerne en transferfunksjonsblokk). Velg selv
innstillingsmetode, men det kan være at Ziegler-Nichols' lukket sløyfe-metode
ikke vil virke bra siden motoren inkl. målefilteret har "rask" dynamikk
(neglisjerbar dødtid og ellers lav orden i transferfunksjonen). Enkel prøving
og feiling (P-I-D-metoden, jf. Praktisk reguleringsteknikk-boka, kan brukes. Sjekk (med simulering) at reguleringssystemets stabilitet
er ok. Referansen (settpunktet) skal være i krpm.
- Implementering av turtallsreguleringssystem i LabVIEW:
Implementer et turtallsreguleringssystem for den virkelige motoren i LabVIEW.
Bruk LabVIEWs
PID
Advanced function. Som i Simulink-oppgaven ovenfor, skal
reguleringssystemet inneholde et målefilter. Det fins diverse filterfunksjoner
i LabVIEW, men de har alle noen ulemper ifm. bruk i et reguleringssystem. Dere
kan bruke lavpassfilteret i
LabVIEW Goldmine. Har reguleringssystemet tilfredsstillende stabilitet, eller er det
behov for etterjustering av regulatorparameterene i forhold til parametrene
som ble funnet i Simulink? Er reguleringssystemets evne til å følge en
referanseendring (i form av et sprang) og dets evne til å kompensere for en
forstyrrelse (varig endring av lastmomentet, ikke så lett å få til i praksis
riktignok...) tilfredsstillende?
- Analye av reguleringssystemet:
Finn reguleringssystemets båndbredde (i Hz) og dets stabilitetsmarginer
(forsterkningsmargin og fasemargin) vha. passende funksjoner i Matlab.
[Prosjektoppgaver]
Oppdatert 6.11.08 av
Finn Haugen. E-post:
finn@techteach.no.
|