Prosjektoppgave:
Estimering av motorlastmoment med
Kalman-filter
Hva prosjektoppgaven går ut på
Dere skal implementere et Kalmanfilter for estimering av lastmomentet som
virker på en DC-motor. Kalmanfilteret skal først anvendes på en simulert
motor, og deretter på den virkelige motoren. Kalmanfilterestimatet skal
brukes i en foroverkopling i et turtallsreguleringssystem (som ellers er
basert på tilbakekopling med PI-regulator).
Utstyr
- PC med LabVIEW
- USB6008
I/O-utstyr. Bruk av NI USB-6008 for analog I/O lærer dere i emnet
Styring av
mekatroniske systemer (tirsdag 7.10).
Obs: Drivere for USB-enhetene er installert på PC'ene merket med gul
lapp (på toppen av skjermen) på rom C212/213.
- DC-motor.
Motorene kan disponeres også utenom de oppsatte onsdagene. Evt.
kontakt Åge Skaug.
Oppgaver
Anta at motorens matematiske modell er lineær og på formen
y(s) = [1/(T*s+1)]*[K*u(s) + L(s)]
der y [V] er hastighetsmålingen, u [V] er styresignalet til motoren, og L
[V] er en variabel som tilsvarer (er proporsjonal) med lastmomentet på
motoren. (L har her enhet volt. Vi bryr oss ikke her om hvilket moment
i enhet Nm L i volt tilsvarer.) K og T er konstante parametre, som skal
finnes i oppgave 1, se nedenfor. Denne modellen er en "black-box"-modell
for motoren (den inneholder ingen fysiske motorparametre, kun standard
transferfunksjonsparametre), men den gir et brukbart uttrykk for motorens dynamiske egenskaper. Hadde vi satt opp en modell basert på
mekaniske og elektriske forhold, ville vi fått en modell som under vanligvis
akseptable forutsetninger kan omformes til en modell på formen angitt ovenfor.
- Modelltilpasning: Dere skal finne ganske nøyaktige verdier K og T
ved å kjøre simulert motor i parallell med virkelig motor. Dere skal også
finne målestøyens kovarians, R, som inngår i beregningen av
Kalmanfilterforsterkningen (ved å bruke en passende funksjon på Signal
Processing / Point By Point-paletten i LabVIEW). Lærer FH demonstrerer dette,
og deretter prøver gruppene selv. Vi tar utgangspunkt i programmet
real_and_sim_process.vi.
- Implementering av Kalmanfilter for simulert motor: Implementer et Kalmanfilter for estimering av lastmomentet L, som antas å
være stort sett konstant (men altså ukjent). Motoren skal i denne deloppgaven
representeres med en simulator i LabVIEW Simulation Module. Tidsskrittet kan
settes til 0,05 sek. Bruk en passende
funksjon i Control Design Toolkit til å få beregnet (den stasjonære)
Kalmanfilterforsterkningen, Ks, jf.
denne øvingen. Gjør en (nokså vilkårlig) antakelse om
prosessforstyrrelsens kovarians.
Tips 1: De detaljerte Kalmanfilteruttrykkene
(dvs. formlene for aposterioriestimatene og for aprioriestimatene) kan skrives
i en
Formula
Node.
Tips 2: Beregning av den stasjonære Kalmanfilterforsterkningen kan
utføres i en
While Loop med en relativt stor syklustid, f.eks. 0.5 sek, som kan kjøre i parallell med Simulation Loop.
Kalmanfilterforsterkningene kan overføres fra While Loop til Simulation Loop
vha. lokale variable.
- Bruk av Kalmanfilteret i et turtallsreguleringssystem for simulert
motor: Implementer et turtallsreguleringssystem for simulert motor basert
på tilbakekopling med PI-regulator (som du selv skal stille inn vha. en egnet
innstillingsmetode) og foroverkopling fra estimert lastmoment.
(Turtallsreferansen og -målingen kan være i volt.) Vil du bruke virkelig eller
estimert turtallsmåling i tilbakekoplingen? Blir turtallsreguleringen bedre
ved å bruke foroverkopling fra estimert lastmoment (sammenliknet med å ikke
bruke foroverkopling)?
- Anvendelse på virkelig motor: Anvend turtallsreguleringssystemet
inkl. Kalmanfilteret på den virkelige motoren. Evt. finjuster PI-parametrene
slik at reguleringssystemet får tilfredsstillende stabilitet (justeringen av
PI-parametrene kan bli enklere å utføre dersom foroverkoplingen er utkoplet).
Still inn Kalmanfilteret slik at lastmomentestimatet oppfører seg
tilfredsstillende (hvilke innstillingsparametre bruker du)? Kople til slutt
inn foroverkoplingen. Blir turtallsreguleringen bedre ved å bruke
foroverkopling fra estimert lastmoment (sammenliknet med å ikke bruke
foroverkopling)?
[Emnets hjemmeside]
Oppdatert 8.10.08 av
Finn Haugen. E-post:
finn@techteach.no.
|