12.07.2015 Views

Matlab-tehtävät PDF-muodossa

Matlab-tehtävät PDF-muodossa

Matlab-tehtävät PDF-muodossa

SHOW MORE
SHOW LESS
  • No tags were found...

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Säätötekniikan matematiikan verkkokurssi, <strong>Matlab</strong> tehtäviä ja vastauksia 29.7.2002<strong>Matlab</strong> tehtäviä1. Muodosta seuraavasta differentiaaliyhtälöstä siirtofuntio. Tämä differentiaaliyhtälö saattaisikuvata esimerkiksi yksinkertaista vaimennettua jousi-massa –systeemiä, johon on liitettyulkoinen voima. ( help tf )iii() + () + 2 () = 2 ()y t y t y t u t2. Laske edellisen tehtävän järjestelmän askelavaste ( help step).3. Laske tehtävän 1 järjestelmän impulssivaste ( help impulse ).4. Tehtävän yksi järjestelmää kuvaa tilamalli⎧ i⎡ 0 1 ⎤ ⎡0⎤ ⎪x = ⎢ x+u−2 −1 ⎥ ⎢2 ⎥⎦⎨ ⎣ ⎦ ⎣ .⎪⎩y= [ 1 0]xMuodosta mallista <strong>Matlab</strong>in tilamalli ja simuloi sitä. ( help ss )5. Laske edellisen tilamallin ja siirtofunktiomallin nollat ja navat. Ovatko ne samoja? (help pzmap)6. Mitä lsim-komennolla voidaan tehdä? Kokeile.7. Diskretoi tehtävän yksi siirtofuntio eri menetelmmillä sekä simuloi ja piirrä askelvasteet samaankuvaan jatkuvan ajan signaalin kanssa. Diskretointiväli T s = 1. ( help c2d )8. Piirrä tehtävän yksi järjestelmän Boden diagrammi. ( help Bode )9. Määritä tehtävän yksi järjestelmän vaihe- ja vahvistusvarat. ( help margin )1/7


Säätötekniikan matematiikan verkkokurssi, <strong>Matlab</strong> tehtäviä ja vastauksia 29.7.2002<strong>Matlab</strong> tehtäviä – Vastaukset1. Ennen kuin voimme muodostaa siirtofunktiosta <strong>Matlab</strong>-objektin on meidän tiedettävä, mikä onoikea siirtofunktio. Siirtofunktio saadaan differentiaaliyhtälöstä Laplace –muuntamalla sekäasettamalla alkuarvot nolliksi. Tämä on helppo tehdä, kun muistaa, että derivointia vastaa s:lläkertominen.iii() + () + 2 () = 2 ()2sY( s) sY( s) 2Y( s) 2U( s)Y( s)2G( s)2U( s)s + s+2y t y t y t u t⇒ + + =⇒ = =Nyt voimme muodostaa siirtofunktiosta <strong>Matlab</strong> objektin tf -komennolla.Gs=tf([2], [1 1 2])Transfer function:2-----------s^2 + s + 22. Askelvasteen laskemiseen on monta tapaa. Helpoin ja kätevin on tehdä se suoraan valmiinkomennon step avulla. Komennolle annetaan parametriksi järjestelmää kuvaava lineaarinenmalli, joita tf komennon tuottamat mallit ovat.step(Gs)Kuva 1. Tehtävän 1 järjestelmän askelvaste.Toinen ja monimutkaisempi tapa laskea askelvaste olisi ollut Simulinkin mallin käyttäminen.Asiaan voi tutustua tarkemmin kurssilla AS-74.101 Tietokonesimulointi.2/7


Säätötekniikan matematiikan verkkokurssi, <strong>Matlab</strong> tehtäviä ja vastauksia 29.7.20023. Impulssivasteella tarkoitetaan järjestelmän ulostuloa kun sisäänmenona on impulssi. Impulssion äärettömän korkea ja kapea signaali, jonka pinta-ala on yksi.Aivan samalla tavalla kuin edellisesä tehtävässä impulssivaste saadaan laskettua komennollaimpulse.impulse(Gs)Kuva 2. Impulssivaste.4. Säätötekniikassa ei ole yhtä ainoata tapaa esittää järjestelmän mallia. Kussakin tavassa on omathyvät ja huonot puolensa. Tilamallin muodostaminen on aivan yhtä suoraviivaista kuinsiirtofunktiomallin.Järjestelmää kuvaa tilamalli⎧ i⎡ 0 1 ⎤ ⎡0⎤ ⎪x = Ax + Bu = ⎢ x + u−2 −1 ⎥ ⎢2 ⎥⎦⎨⎣ ⎦ ⎣⎪⎩y = Cx + Du = [ 1 0]x + 0Voimme lukea tämän <strong>Matlab</strong>:in komennolla ss(...).A=[0 1;-2 -1];B=[0;2];C=[1 0];D=0;sp=ss(A, B,C,D);Nyt simuloinnin voi suorittaa avian samalla tavalla kuin tehtävässä 2 ja 3. Mallin paikallelaitamme vain määrittelemämme tilamallin sp.5. Järjestelmän nollien ja erityisesti napojen sijainnilla kompleksitasossa on suuri merkitysjärjestelmän käyttäytymisessä. Jos kaikki navat ovat vasemmassa puolitasossa, niin järjestelmäon stabiili. Navat vastaavat siirtofunktiossa nimittäjän eli karakteristisen polynomin nollakohtia.Tilamallissa napoja vastaa matriisin A eli systeemimatriisin ominaisarvot.<strong>Matlab</strong>issa on valmis komento pzmap napa-nolla –kuvion laskemiseen. Piirretään seuraavaksimolempien tila- ja siirtofunktiomallin napa-nolla –kuviot.pzmap(Gs)3/7


Säätötekniikan matematiikan verkkokurssi, <strong>Matlab</strong> tehtäviä ja vastauksia 29.7.2002pzmap(sp)Kuva 3. Järjestelmän napa-nolla –kuvio.Huomaamme, että molemmista malleista piirretyt napa-nolla –kuviot ovat samanlaisia aivanniin kuin pitääkin.6. Lsim-komennolla voidaan simuloida lineaarisen mallin käyttäytymistä mielivaltaisella inputilla.Tarkat tiedot komennon käytöstä saa helpeistä: help lsim.Aluksi on muodostettava sisään menevä signaali. Kokeillaan, miten järjestelmä käyttäytyy, josinputtina on aluksi 2 aikayksikköä ramppi ja sen jälkeen nolla:t=0:0.1:10;input1=t(1:20)’;input2=zeros(81,1);input=[input1; input2];plot(t, input)Kuva 4. Input.4/7


Säätötekniikan matematiikan verkkokurssi, <strong>Matlab</strong> tehtäviä ja vastauksia 29.7.2002Nyt voimme käyttää lsim-komentoa.lsim(Gs, input, t)plot(t, input)Kuva 5. Järjestelmän ulostulo.Järjestelmän käyttäytyy aivan niin kuin oli odotettavissa. Differentiaaliyhtälö saattaisi ollaperäisen järjestelmästä, missä on vaunuun kytketty ulkoinen voima sekä vaimentava sylinteri jajousi. Aluksi ulkoinen voima vetää vaunua puoleensa niin kauan kuin voima loppuu ( t = 2 s ).Tämän jälkeen jouseen on varastoitunut energiaa, mikä vetää vaunua takaisin kohtitasapainopistettä. Nopeuteen verrannollinen veimennus kuluttaa enegiaa, jolloin vaunu lopultaasettuu tasapainopisteeseensä.7. Joskus on tarpeen käsitellä diskreettejä siirtofunktioita jatkuvan ajan sijaan. Syy tähän ontietokoneiden nopea lisääntyminen ja yleistyminen osana säätäjää. Voi olla tarpeen suunnitellasäädin suoraan diskreetiksi, jolloin myös prosessi on diskretoitava.<strong>Matlab</strong>issa on oma funktio c2d, joka on tarkoitettu jatkuvan lineaarisen mallin diskretointiin.Kokeillaan käyttää komentoa tehtävän yksi järjestelmään ja vertaillaan jatkuvan sekädiskreettien järjestelmien askelvasteita.Aluksi piirretään jatkuvan ajan asklevsate.step(Gs)Koska haluamme piirtää samaan kuvaan myös muut vasteet, annetaan komento hold on.hold onNyt voimme diskretoida siirtofunktion Gs ja piirtää diskreetit askelvasteet suoraan stepkomennolla.Gzoh=c2d(Gs, 1, 'zoh');step(Gzoh)Gfoh=c2d(Gs, 1, 'foh');step(Gfoh)5/7


Säätötekniikan matematiikan verkkokurssi, <strong>Matlab</strong> tehtäviä ja vastauksia 29.7.2002Gtustin=c2d(Gs, 1, 'tustin');step(Gtustin)Tuloksena saamme seuraavan kuvan.Kuva 6. Askelvasteiden vertailua.8. Boden diagrammin piirtämiseen on valmis komento Bode(...). Tämä piirtää vahvistus- javaihekäyrän logaritmisella asteikolla.bode(Gs)gridKomennolla grid saadaan apuviivat.Kuva 7. Tehtävän yksi järjestelmän Boden-diagrammi.6/7


Säätötekniikan matematiikan verkkokurssi, <strong>Matlab</strong> tehtäviä ja vastauksia 29.7.20029. Useimmiten emme piirrä Boden –diagrammia pelkän piirtämisen ilosta, vaan haluamme tietää,mitkä ovat vahvistus- ja vaihevara. Komennolla margin saamme laskettua nämä arvot.margin(Gs)Kuva 8. Vahvistus- ja vaihevara.Huomaamme, että vahvistusvara on ääretön sekä vaihevara 60 astetta. Tämä saavutetaantaajuudella 1.732 rad/s.7/7

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!