Preview only show first 10 pages with watermark. For full document please download

Matlab Segédlet Szabályozástechnikai Számításokhoz (matlab 7.0.1) Fontosabb Tudnivalók és Utasítások Gyűjteménye

MATLAB SEGÉDLET SZABÁLYOZÁSTECHNIKAI SZÁMÍTÁSOKHOZ (MATLAB 7.0.1) FONTOSABB TUDNIVALÓK ÉS UTASÍTÁSOK GYŰJTEMÉNYE 1. Bevezető tudnivalók: A MATLAB a nagybetűk és a kisbetűk között különbséget tesz, ékezet

   EMBED

  • Rating

  • Date

    June 2018
  • Size

    134.2KB
  • Views

    2,088
  • Categories


Share

Transcript

MATLAB SEGÉDLET SZABÁLYOZÁSTECHNIKAI SZÁMÍTÁSOKHOZ (MATLAB 7.0.1) FONTOSABB TUDNIVALÓK ÉS UTASÍTÁSOK GYŰJTEMÉNYE 1. Bevezető tudnivalók: A MATLAB a nagybetűk és a kisbetűk között különbséget tesz, ékezet nem használható. Az utasítások között a fel-le nyíl-billentyűk segítségével lépegethetünk. Ezáltal lehetségessé válik, hogy utasítást ismételjünk meg változatlan vagy módosított formában. Ha az utasítást pontosvesszővel lezárjuk, a program nem írja ki az eredményt. Ha az utasítás után nem teszünk írásjelet, a program az eredményt is kiírja. A MATLAB programban a változók mátrixok. A vektorok és a skalár mennyiségek a mátrixok elfajuló eseteként jelennek meg. Ha szükséges, a MATLAB létrehoz egy változót, amelynek a neve ans, a név az answer szóból származik. Inf jelentése: végtelen. NaN jelentése: 0 / 0 vagy / alakú. 2. Sorvektor bevitele: Pl. az a = [ 3 5 4] sorvektoré: a = [ ] 3. Folytonos idejű (Laplace-átviteli függvénnyel jellemezhető) átviteli tag létrehozása a/ Létrehozás polinom/polinom alakban: 0,02 s+ 2 Pl. Y() s = 0,1 s+ 1 szam=[0.02 2]; (A számlálóbeli együtthatók sorvektora.) nev=[0.1 1]; (A nevezőbeli együtthatók sorvektora.) y=tf(szam,nev) (Átviteli függvény.) Az együtthatókat mindkét polinomnál s csökkenő hatványainak sorrendjében kell megadni. Ha valamelyik hatvány hiányzik, ott az együttható nulla. A létrehozás egy lépésben is lehetséges: y=tf([0.02 2],[0.1 1]) b/ Létrehozás polinom/polinom alakban, képletbeírással: s=tf('s'); y=2*(1+s*0.05) /(1+s*0.5) (Beírás bármilyen alakban.) c/ Létrehozás gyöktényezős alakban: s Pl. Y() s = 0,2 s + 10 z=[-100]; p=[-10]; k=0.2; y2=zpk(z,p,k) Egy lépésben: y2=zpk([-100], [-10], 0.2) (Zérusok sorvektora.) (Pólusok sorvektora.) (Gyöktényezős, nem időállandós(!) átviteli tényező.) (Átviteli függvény.) - 1 - d/ Létrehozás gyöktényezős alakban, képletbeírással: s=zpk('s'); y=5*(1+s*0.1) /(1+s*12) (Beírás bármilyen alakban.) e/ Holtidős tag létrehozása: Pl. T H = 0,01 s y= y.inputdelay=0.01 (Az átviteli függvény bevitele holtidő nélkül.) (A holtidő bevitele.) f/ Holtidős tag létrehozása Padé-közelítéssel: Pl. T H = 0,01 s y= (Az átviteli függvény bevitele holtidő nélkül.) y.inputdelay=0.01 (A holtidő bevitele.) y=pade(y,3) (3-adrendű Padé-közelítéses alak.) (n-edrendű: y=pade(y,n)) g/ Arányos (ideális arányos) tag létrehozása: Pl. Y ( s) = 5 y=tf(5) vagy y=tf(5,1) Megj.: s=tf('s') után y = 5 képletbeírás helytelen, mert nem átviteli függvényt eredményez (nem tagot hoz létre), hanem egyszerű változót! 4. Diszkrét idejű (z-átviteli függvénnyel jellemezhető) átviteli tag létrehozása: Értelemszerű módosításokkal ugyanazok az utasítások, mint a folytonos idejű átviteli tagok esetében, de számszerűen meg kell adni a mintavételezési idő értékét is. Pl. T = 0,01s esetén T megadása és azok az utasítások, amelyekben T szükséges: T=0.01 y=tf(szam,nev,t) z=tf('z',t) y=zpk(z,p,k,t) z=zpk('z',t) 5. Átviteli függvény kiíratása a/ Kiíratás abban az alakban, ahogyan a tagot létrehoztuk: y y1,y2 b/ Kiíratás polinom/polinom alakban: tf(y) c/ Kiíratás gyöktényezős alakban: zpk(y) Konjugált komplex gyökpár (lengő összetevő) esetén a nevezőben a másodfokú polinomot írja ki, két valós gyök (aperiodikus összetevő) esetén a szorzatokra bontott, gyöktényezős alakot. d/ Kiíratás időállandós alakban: - 2 - Az időállandós alak közvetlen kiíratására nincs mód. Alkalmazható azonban az a fogás, hogy behívjuk a Siso Design Tool -t (l. alább), és importáljuk az átviteli függvényt a kompenzáló tag C tömbjébe; ott ugyanis a program alapértelmezésben az időállandós kiíratást alkalmazza. 6. Átviteli függvény adatainak kiíratása a/ A szam, nev sorvektorok tartalmának lekérdezése: [szam,nev]=tfdata(y,'v') Csak [szam] lehet, csak [nev] nem. z -transzformált átviteli függvény esetében kiegészíthető a mintavételezési idővel is: [szam,nev,t]=tfdata(y,'v') b/ A z, p, k adatok lekérdezése: [z,p,k]=zpkdata(y,'v') z -transzformált átviteli függvény esetében kiegészíthető a mintavételezési idővel is: [szam,nev,t]=zpkdata(y,'v') c/ Átviteli függvény pólusainak kiíratása: p=pole(y) (A p változóba.) pole(y) (Az ans változóba.) d/ Átviteli függvény nevezőjére érvényes ω 0 és ζ adatok (sarokkörfrekvencia és csillapítási tényező) lekérdezése: [w0,ze]=damp(y) Ha az utasítást a damp(y) alakban alkalmazzuk, akkor a program a nevezőbeli gyökök értékét is kiírja. A damp utasítás polinomra is kiadható. e/ Átviteli függvény ω = 0 -nál érvényes K 0 időállandós körerősítésének kiíratása: K0=dcgain(y) (A K0 változóba.) dcgain(y) (Az ans változóba.) Inf jelentése végtelen. 7. Racionális törtfüggvény részlettörtekre bontása: [r,p,k]=residue(szam,nev) szam: a számláló együtthatóinak sorvektora, fokszáma: m nev: a nevező együtthatóinak sorvektora, fokszáma: n r: a részlettörtek állandóinak oszlopvektora p: a pólusok oszlopvektora k: a maradéktag (ez m n esetén nulla, csak m=n esetén különbözik nullától) A részlettörtes alak felírása Laplace-transzformált, felbontandó függvényt feltételezve: 10 0, pl. r = ; p = és k = 0 esetén Y() s = ,2 s + 0,25 s+ 0,2 5 0,2 pl. r = 5 ; p = 0 és k = 0 esetén Y () s = s+ 0,2 s s k 0esetén k a kifejezésekhez hozzáadandó. A residue utasítás kiadása előtt léteznie kell a szam, nev sorvektoroknak! - 3 - 8. Átviteli függvény egyszerűsítése a számláló és a nevező egyforma szorzat-tényezőivel: y: átviteli függvény y=minreal(y) (A kiejtendő tényezőket az alapértelmezett hibahatáron belül tekinti egyformának.) 7 y=minreal(y,1e-7) (A kiejtendő tényezőket = ± 1 10 hibahatáron belül tekinti egyformának. más értékű is lehet.) 9. Inverz Laplace-transzformáció: Pl. a visszatranszformálandó Laplace-transzformált függvény: 3 () ( 1+ s 5) V s = 1+ s 10 syms s t (Az s, t szimbolikus változók létrehozása.) V=3*(1+s*5)/(1+s*10) (V(s) beírása képletként ezen (!) a helyen.) v=ilaplace(v) A kapott függvény egyszerűsítésére szükség lehet. 10. Negatívan visszacsatolt tagok eredő átviteli függvényének (a Matlab által ajánlott) számítása: ye: az előrevezető ág átviteli függvénye yv: a visszavezető ág átviteli függvénye w: az eredő átviteli függvény w=feedback(ye,yv) 11. Átmeneti függvény, Bode-diagram, Nyquist-diagram felrajzoltatása automatikus beállításokkal: y: átviteli függvény step(y) bode(y) nyquist(y) 12. Gyök-helygörbe felrajzoltatása automatikus beállításokkal: yf: a felnyitott kör átviteli függvénye A felrajzoltatást a vizsgálandó függvény 1-es erősítésű alakjára célszerű elvégezni, mert ekkor az ábráról leolvasott gain nevű paraméterek közvetlenül erősítést jelentenek. Mivel az időállandós és a gyöktényezős alak közül a gyöktényezős íratható ki, egyszerűbb a gyöktényezős alakkal dolgozni. Ez esetben yf bevitele után yf gyöktényezős (zpk) alakját kell kiíratni, majd a függvényt a megjelenő k gyöktényezős erősítés értékkel osztva, a felrajzoltató utasítást a k-val osztott, yf/k alakra kell alkalmazni. Természetesen ekkor a leolvasott erősítés is gyöktényezős erősítést jelent. A felrajzoltató utasítás: rlocus(yf/k) 13. Egyváltozós függvény képének ábrázolása a plot utasítással: a/ A függvénykép felrajzoltatása: plot(x,y) x: az ábrázolandó függvény x-koordinátáiból alkotott sorvektor y: az ábrázolandó függvény y-koordinátáiból alkotott, ugyanolyan elemszámú sorvektor - 4 - Az x sorvektor a legegyszerűbben az alsó határ, a lépésköz és a felső határ megadásával állítható elő. Pl.: x = pi : 0.1: pi ; Az y sorvektort x ismeretében függvényutasítással kaphatjuk meg. Pl.: y = sin( x) ; Megj.: Az x és y változó lehet ugyanolyan elemszámú oszlopvektor is. Oszlopvektor létrehozható pl. sorvektor transzponáltjaként: x = ( pi : 0.1 : pi)' ; Lehetséges az is, hogy az x és az y közül az egyik sor-, a másik ugyanolyan elemszámú oszlopvektor. b/ Alkalmazási példa: átmeneti függvény felrajzoltatása 2 s időtartamra: y: átviteli függvény t = 0 : : 2 ; (sorvektor) f=step(y,t); (oszlopvektor) plot(t,f) c/ A kapott ábra szerkesztése: A legegyszerűbb mód: Az Edit Plot -ikonra (ferde nyíl) kattintunk, és utána jobb gombos menüsort alkalmazunk külön az ábrára és külön magára a görbére. A Figure ábra az Edit/Copy Figure menüponttal a vágólapra menthető. 14. Transzformációk diszkrét idejű rendszerekben a/ Átviteli tag z-átviteli függvényének meghatározása zérusrendű tartószerves esetben: z Elvi képlet: Y() z = Z[ L { Y() s }]. s z nt y: Laplace-transzformált (folytonos idejű) átviteli függvény yz: tartószerves z-transzformált (diszkrét idejű) átviteli függvény Mintavételezési idő: pl. T=0,01 s T=0.01 yz = c2d( y,t) ( continouos to discret, to= two ) vagy yz = c2d y,t,'zoh' ( ) b/ Transzformáció a z síkról a w síkra: yw: w-transzformált átviteli függvény yw = d2c yz,'tustin' ( ) c/ Transzformáció a w síkról a z síkra: yz = c2d yw, T,'tustin' ( ) d/ Inverz z-transzformáció: Pl. a visszatranszformálandó z-transzformált függvény: 5z F() z = z 1 syms z n (Az z, n szimbolikus változók létrehozása.) F=5*z/(z-1) (F(z) beírása képletként ezen (!) a helyen.) f=iztrans(f) (Az f[n] diszkrét idejű jel.) - 5 - 15. Az LTI Viewer nevű vizsgáló eszköz használata a/ Az LTI Viewer indítása: ltiview b/ A vizsgálandó átviteli tag bevitele: A File/Import menüpontokra való kattintás után a tag átviteli függvényét tartalmazó változó kiválasztásával és az OK gombra való kattintással. c/ A jobb-gombos menü pontjai: Plot Types : Megváltoztatható az ábrázolás típusa, pl. az átmeneti függvényről ( step ) a Bode-diagramra. Systems : Lekérdezhetők, s egyben kiválaszthatók és törölhetők is a vizsgált átviteli függvények. Characteristics : Adatokat szolgáltat az ábrázolt függvényekről. Stb. d/ Adatleolvasás a görbékről: A kívánt helyen a görbére kattintunk. A megjelenő adatablak a görbén húzható, ha az egér nyilát a fekete négyzet fölé visszük, és az egér bal gombját megnyomjuk. Az adatablak törlődik, ha az ábrába kattintunk. Az adatablaknak saját jobb gombos menüje is van. e/ A vizsgálati feltételek megváltoztatása: Az Edit/Viewer Preferences menüpontban. f/ Szerkeszthető ábra készítése: Az LTI Viewer képe a File/Print to Figure menüponttal küldhető át olyan szerkeszthető ábrába, amilyet a plot utasítás készít. A szerkesztés módját illetően l. a 13.c/ pontot. 16. A Siso Design Tool tervező eszköz használata a/ Az Siso Design Tool indítása: sisotool b/ A szabályozóköri tagok bevitele az eszközbe: A File/Import menüpontokra való kattintás után a tag átviteli függvényét tartalmazó változó kiválasztásával, ennek a hatásvázlat megfelelő helyére történő irányításával, és az OK gombra való kattintással. c/ A zárt kör átmeneti függvényének a felrajzoltatása: Az Analysis/Response to Step Command menüponttal (kék görbe). Vagy az Analysis/Other Loop Responses menüpontból a beállított alapesetként: step Closed Loop r to y. d/ A kompenzáló tag (szabályozó) paramétereinek a megváltoztatása: A legegyszerűbben a Current Compensator ablakban. Itt az átviteli függvény alapbeállításban időállandós alakban jelenik meg. 17. A Simulink programcsomag használata a/ A Simulink indítása: - 6 - simulink vagy a menüsoron lévő Simulink-ikonnal. b/ Új modell létrehozása: A File/New menüpontból v. a menüsor New -ikonjával. Ekkor egy ablak jelenik meg, amelyben a hatásvázlat a tömbvázlat megrajzolható. c/ A hatásvázlat megrajzolása: A simulink utasítás hatására megjelenik egy könyvtár, amelynek alkönyvtárai tartalmazzák az alkalmazható tömböket (blokkokat). A megfelelő alkönyvtárból a szükséges tömb (blokk) az egér bal gombjának lenyomva tartásával a rajzoló ablakba áthúzható. A blokkok összekötése: a nyilat az egérrel az illető be- vagy kimenet fölé visszük, a kereszt megjelenése után az egér bal gombját lenyomjuk, majd a gomb nyomva tartásával a vonalat a kívánt helyre húzzuk, végül a gombot felengedjük. Elágazás létrehozása: a nyilat a vonal kívánt helyére visszük, a Ctrl gomb lenyomása mellett az egér bal gombját lenyomjuk, majd a bal gomb nyomva tartásával a vonalat a kívánt helyre húzzuk, végül a gombot felengedjük. d/ Néhány fontosabb blokk helye: Folytonos idejű lineáris modell (polinom/polinomos): Simulink/Continuous/Transfer Fcn; Egységugrás jelforrás: Simulink/Sources/Step; Különbségképző: Simulink/Math Operations/Sum ± paraméterbeállítás; Erősítés: Simulink/Math Operations/Gain; Integrátor: Simulink/Continuous/Integrator; Oszcilloszkóp: Simulink/Sinks/Scope; A Command Window -ban már létrehozott lineáris (LTI) átviteli tag: Control System Toolbox/LTI System; Holtidőt létrehozó (késleltető) tag: Simulink/Continuous/Transport Delay; A Workspace -re kivitt változó: Simulink/Sinks/To Workspace; Multiplexer: Simulink/Signal Routing/Mux; Alrendszer: Simulink/Ports & Subsystems; A felsoroltak közül több blokk megtalálható a Simulink/Commonly Used Blocks-ban is. e/ A blokkok paramétereinek beállítása: A blokkra való kettős kattintás után, a megjelenő ablakban. f/ A szimuláció végrehajtása: Beállítása a Simulation/Configuration Parameters menüpontban. Indítása a Simulation/Start menüpontból vagy a kis fekete háromszög alakú Runikonnal. g/ A szimulációs eredmények vizsgálata: A Simulinkon belül a legegyszerűbb a Scope blokkal. A képernyő megjelenítése kettős kattintással lehetséges. Az y-tengelyen lévő határok jobb gombos kattintás után az Axes properties pontban állíthatók át. A kijelzett időtartomány határa a Parameters/General menüpont Time range ablakában módosítható. Az idő leolvasásához a Time offset előjelhelyesen nézve: hozzáadással figyelembe veendő. Az oszcilloszkópon alapértelmezésben egy időtengely van, de egynél több időtengely is beállítható, beállítási hely: Parameters/General menüpont Number of axes ablak Egy időtengelyen egy jel egyszerű csatlakoztatással vizsgálható, de egy időtengelyre több jel is felvihető a Mux (Multiplexer) elem segítségével. A Mux elemen a jelek száma kettős kattintás után állítható be. Ha az oszcilloszkóp-képernyőt a tálcára tesszük, a képernyő a következő futtatásnál az előző görbéket is megőrzi, amíg az oszcilloszkóp beállításain nem változtatunk. h/ Eredmény kirajzoltatása a MATLAB-ban: Az eredmények vizsgálata lehetséges a MATLAB-ban is: 1. A szimuláció futtatásakor a Workspace -ben létrejön egy tout nevű változó, az eredmények automatikus elemszámú idővektora, amely oszlopvektor. 2. Az idő függvényében ábrázolni kívánt jelre To Workspace blokkot kell tennünk, ez a jelet változóként a Workspace -re kiviszi. A blokkot kettős kattintás után array - ként kell megadni, ekkor a változója ugyanolyan elemszámú oszlopvektor, mint a tout. Az előjövő ablakban a változó neve is megváltoztatható. 3. A kirajzoltató utasítás, ha az ábrázolni kívánt jel x : plot(tout,x) Természetesen több To Workspace elem is alkalmazható. Két ábrázolandó jel esetén pl. a kirajzoltató utasítás, ha a jeleket x1, ill. x2 jelöli: plot(tout,x1, tout,x2) i/ Jel-felirat elhelyezése a hatásirányt jelző vonalon: A vonal kijelölése után Edit/Signal Properties. j/ Felirat elhelyezése a modell ábráján: A kívánt helyen történő kettős kattintás után. Bezárás: máshová kattintással. k/ Karakterkód: A Simulink-modell ékezetes karakterekkel történő használatához beleértve az ékezetes nevű felhasználói fiókokat is meg kell változtatni a karakterkódot. A szükséges utasítások a modell elkészítése vagy ékezetesen készült modell megnyitása előtt: bdclose all slcharacterencoding ('ISO ') Meglévő modellnél is át lehet állni az ékezetes karakterekre. A szükséges utasítás: set_param('modellnév','savedcharacterencoding', 'ISO ') Kapcsolódó irodalom: 1./ Gecsey László Neszveda József: Automatika I. laboratórium, BMF KVK 2042, jegyzet 2./ A Matlab Help menüje és dokumentációi. 3./ Hetthésy Jenő Bars Ruth Barta András: Szabályozástechnika Matlab gyakorlatok, Villamosmérnöki, 2005, BME honlap, pdf file - 8 -