A gyakorlat célja megismerkedni a MATLAB Simulink mőködésével, filozófiájával. A Szimulink programcsomag rendszerek analóg számítógépes modelljének szimulálására alkalmas grafikus programcsomag. Egy SIMULINK szimuláció két lépésbıl áll. Elıször létrehozzuk a modellt, majd kívánt paraméter beállítások mellett futtatásokat végzünk. A SIMULINKben egy dinamikus rendszert blokk diagrammal lehet megadni. A rendszer definiálása a diagram megrajzolását jelenti. A blokkokat nem mindig szükséges külön elıállítani, egy könyvtárból ki lehet ıket másolni. A könyvtár bıvíthetı tetszés szerinti elemekkel. A keresés könnyítése céljából a könyvtár blokkjai mőködésük szerint külön alkönyvtárban helyezkednek el. 1.@. Feladat egy jelgenerátor (Signal generator) jelének vizsgálata szkóppal (Scope). A SIMULINK indítása Mathlab ban a simulink parancs kiadásával történik. Új modellt a File\New\Model menüvel lehet létrehozni. A Sumilink\Sources könyvtárból kiválasztjuk a Signal Generator t, majd behúzzuk a model területre. A Sinks könyvtárból a Scope ot hasonló módszerrel illesztjük be. A jelgenerátor kimenetét összekötjük a szkóp bemenetével az egér jobb gombjával. Kettıt klikkelve a jelgenerátorra beállíthatjuk annak paramétereit: a jel milyenségét: - sinus (sine), - négyszög (square), -főrész (sawtooth), - random amplitudó értékét frekvencia értékét ill. annak egységét (Hertz vagy Rad/s) A szimulációt elindíthatjuk a Simulation\Start menüvel vagy a Start Simulation ikonnal. A szimuláció eredményét a Scope ra duplán kattintva tekinthetjük meg. Gyakorlat_02 1
1. ábra Alapértelmezett beállításokkal Látható, hogy a sinus jelünk nem sikerült tökéletesre. A probléma a szimuláció paramétereivel van. Korrigálhatjuk: Simulating / Configuring parameters Átállítjuk Fixed step-re a Type-ot ill Fixed step size-ot 0.01 re vesszük! Elindítva a szimulációt látjuk, hogy egy sokkal precízebb sinus-t kaptunk. Ugyanezeket végigjátszhatjuk mind négyszög, mind főrészjellel. Egyszerően csak a fent említett jelgenerátor square vagy sawtooth jelét kell kiválasztanunk. Állítható a Scope megjelenítési sávja: jobb klikk axe properties Y koordináta minimum és maximum értékei adhatók meg. 2.@. A következı feladat annyiban több az elızı forrás-nyelı rendszernél, hogy tartalmaz egy integrátort illetve egy multiplexert. Ez utóbbi skalárból készít vektort, és bemeneteinek száma állítható. Most a jelgenerátor és az integrátor 1-1 kimenetét kell belekötnünk a multiplexer-be, majd megjeleníteni ıket az elızı feladatból ismert scope-on. Gyakorlat_02 2
Sine Wave Scope 1 s Integrator Gyakorlat_02 3
Rövid eszmefuttatás a numerikus integrálásról A feladat meghatározni függvény integrálját. Tudjuk, hogy. Tudjuk az kezdıértéket ill. a kezdıidıpontot. Gyakorlat_02 4
1. Meghatározzuk az értéket, ami a vizsgált függvény pontban vett iránytényezője. 2. Felvesszük az pontba az egyenest. 3. A ( ) pontból húzunk egy függőleges szaggatott vonalat, ami kimetsz egy pontot az egyenesből, ez a pont lesz metszéspont. 4. Ebben a pontban meghatározzuk -et. 5. Felvesszük az általa meghatározott egyenest. 6. A 3. ponttól ismételjük a lépéseket a megfelelő indexek növelésével. Az elıálló pontokat összekötve elıáll a keresett függvény egy közelítése. A lépésköz megfelelı meghatározása nagyon fontos kérdés. Ha túl nagy a lépésköz, kimaradhatnak bizonyos részletek a keresett függvénybıl. Amennyiben túlságosan nagy az érték, sokat kell számolni. Hibák forrásai: Számábrázolási hibák Számítógépes számítások esetén felléphet az ún. számábrázolási hiba a kerekítések miatt. Példaként a következı intervallumokat tudjuk ábrázolni számítógépen: között között. Azonban ezeken az intervallumokon sem folytonos, hanem csak diszkrét értékeket lehet ábrázolni. Sorok megszakításából származó hiba: a sin, cos, függvények meghatározását sorba fejtéssel (esetleg look up table használatával) végzi a számítógép. Ekkor mindig van hiba ( ). A hiba tovaterjedése: ha van valamilyen hiba, akkor az a számítások során tovaterjed: Összeadáskor és kivonáskor az abszolút hiba összeadódik, szorzásnál és osztásnál a relatív hiba adódik össze. Gyakorlat_02 5
A t értékének meghatározása A 3. ábrán látható, hogy túl nagy vagy túl kicsi érték esetén az hiba mértéke növekszik. A érték az optimális lépésköz, azonban ekkor sincs nulla hiba. Az optimális a minimum periódushoz tartozó periódusidı: Ezt azonban általában nem ismerjük elıre, csak a deriváltat. A helyen meghatározzuk értéket, ami a vizsgált függvény pontban vett iránytényezıje. Ábrázoljuk a hozzá tartó egyenest, amely a helyen meghatározza az pontot. Ez a pont egy referencia pont lesz, amelyhez viszonyítani fogunk. Ezek után a pontban végezzük el az egyenes megrajzolását. Az egyenes a helyen meghatározza az pontot. Az és pontok távolsága lesz az aktuális hiba (e). Ha 4. ábra ez a hiba egy bizonyos mértéket meghalad, akkor a helyen való számítás helyett a helyen valót vesszük figyelembe. Ezután tovább folytatjuk az eljárást, míg a hiba a kívánt érték alá csökken. Ha néhány lépésen keresztül kicsi a hiba, akkor növelhetjük a értékét, ezzel gyorsítva a számításon. Matlab-os szimulációnál ezt a fajta közelítést a Simulation Parameters\Solver\Type menüben a Variable-step beállításával érhetjük el. 3.@. Gyakorlat_02 6
4.@. Gyakorlat_02 7
5.@. Gyakorlat_02 8
Gyakorlat_02 9
6.@. Végül kedvcsinálóként megnézzünk egy összetettebb rendszermodelt. Nyergesvontató parkoltatása állandó sebességgel úgy, hogy csak a kormánykerék szögét tudjuk állítani. Sltbu utasítással hozható elı a rendszer, irányítható Fuzzy logikával, ill. emberi irányítással. Gyakorlat_02 10