Trajektorie nelineárního systému, mezní cyklus, rovnovážné stavy
V následujícím cvičení se provede rozbor konkrétního obvodu s nelinearitou (statickou charakteristiku nelinearity je nutné vypočítat na základě změřených bodů). Ukážeme si, že u jednoho obvodu může existovat více rovnovážných stavů. V případě, že se obvod nachází v nějakém nerovnovážném stavu, má tendenci se dostat do stavu rovnovážného – k řešení problému jak se bude pohybovat nám může pomoci zobrazení stavové roviny, ve které si zobrazíme změny stavů.
Zadání 1
Proveďte rozbor chování obvodu s tunelovou diodou. Vytvořte vektorové pole ve stavové rovině, na základě něhož bude možné usoudit na vývoj chování obvodu. Toto pole využijte k posouzení dosažení ustálených stavů pro různé počáteční podmínky obvodu a pro různé vstupní napětí. Správnost řešení můžete ověřit za pomoci obvodového zapojení v SIMULINKu.
1) Je dán obvod v zapojení podle obr 4.4. (Př. 4.6 str 37). Funkci
pro nelinearitu je nutné vypočítat na základě měření (viz níže v
tomto souboru).
1a) Vyšetřete, do jakého koncového/ ustáleného stavu (vypnuto,
zapnuto) se obvod dostane, byly-li jako počáteční podmínky (Uc a Il)
zjištěny hodnoty z následující tabulky .:
(Hodnoty v následující
tabulce jsou počátečními podmínkami, se kterými je obvod spuštěn
(obecně – v některém okamžiku se nachází v tomto stavu).
Následně dojde k přechodnému ději, po němž se obvod ustálí v některém
ze stabilních stavů. Úkolem je zjistit do kterého stavu se z daných
počátečních podmínek obvod dostane. Pokud známe parametry obvodu,
můžeme pomocí nakreslených vektorů stavových změn určit kterým směrem
se bude stav pohybovat (určit velikost a směr změny) a tedy určit
oblast, ze které se dostaneme do stavu sepnuto a vypnuto. V případě
daných/změřených hodnot Uc,Il potom můžeme okamžitě zjistit do
kterého ustáleného stavu se obvod dostane.)
Uc (V) |
Il (mA) |
---|---|
0,45 |
0 |
0,55 |
0 |
0,1 |
1 |
0,2 |
1 |
Vykreslete průběhy změn stavů (pro dané počáteční podmínky) v
rovině Uc, Il. Zkuste změnit napájecí napětí U = 1,2 a 1,8 a 0,6 V
1b) V rovině Uc, Il vyznačte (popřípadě pouze určete/ukažte kudy vede) dělící křivku pro stavy zapnuto/vypnuto
1c) Zobrazte závislost dUc, dIl v rovině Uc, Il
1d) Popište (a pomocí grafu v Uc, Il dokažte) co se stane, pokud se vstupní napětí skokem změní na U+deltaU (deltaU = 0,6V) byl-li obvod předtím v nevodivém stavu. Sledujte trajektorii a určete, při které hodnotě Uc by bylo možné vrátit vstupní napětí na původní hodnotu tak, aby obvod zůstal ve vodivém stavu ()
Vstupní napětí je U= 1,2 V
Hodnoty součástek v zapojení jsou stejné jako ve skriptech pouze u C jsou nF místo pF !!!
Voltampérová charakteristika diody byla proměřena v šesti bodech
Pozn.: je nutné rozlišovat mezi převodní charakteristikou diody (osy grafu - Ud,id) a stavovou reprezentací (osy grafu Uc, il), přičemž Ud=Uc
1) Na základě příkladů 4.6 a 4.55 skript vytvořte pole směrových vektorů stavové trajektorie tunelové diody v daném zapojení. Na průbězích 4.55 ověřte, že existují dva rovnovážné stavy pro stejné ustálené vstupní napětí U. Ukažte, že dosažení ustálených stavů je závislé na historii vstupního napětí.
Nelinearitu nahraďte polynomiální funkcí i = f(u). Při měření na tunelové diodě byly získány následující hodnoty:
U [V] |
-0,05 |
0 |
0.1 |
0.5 |
0.8 |
1 |
I [mA] |
-1.1776 |
0 |
0.9459 |
0.1069 |
0.0846 |
1 |
Na základě těchto hodnot si zjistěte koeficienty pro
reprezentování nelinearity.
Pro zjištění koeficientů použijte
funkci Matlabu polyfit. Pro prokládání použijte křivku
takového řádu aby procházela změřenými body. Výsledný průběh ověřte
zobrazením charakteristiky společně s naměřenými body.
Pro tvorbu vektorového pole použijte rozsah Uc od -0.1 do 1V
(krok 0,02), pro Il rozsah od 0 do 1mA (krok 0,02).
Tyto hodnoty
použijte k vygenerování matic pro výpočty pomocí příkazu meshgrid
Na základě hodnot součástek z příkladu 4.55 (jako hodnotu C použijte stejnou ale nF a ne pF) a pro napětí U=1.2V vygenerujte pro hodnoty stavových proměnných z minulého bodu pole diferencí v těchto bodech.
Zobrazte stavový portrét daného zapojení tunelové diody.
Nalezněte singulární body a zjistěte jejich typ.
Proveďte úpravu
mezí hodnot, jejich kroku a normalizaci stavových vektorů tak, aby
byl stavový portrét přehledný. Stavový portrét zobrazíte příkazem
Matlabu quiver. Krok stavových proměnných stanovíte tak aby graf byl
přehledný a zároveň dostatečně přesný. Normalizací dosáhnete toho,
že všechny „šipky“ budou stejně dlouhé. Normalizaci
provádíte tak, že vektor (nebo zde jeho složku) podělíte jeho
velikostí (velikost je přepona pravoúhlého trojúhelníku daného
složkami vektoru ve směru jednotlivých stavů v daném bodě).
Namodelujte stejné schéma v simulinku. Pro realizaci nelinearity použijte vhodný blok f(u). Nejprve zkuste ověřit výsledky uvedené ve skriptech. Poté nasimulujte několik průběhů odpovídajících hodnotám z předchozích bodů a přes workspace zkuste průběh stavových proměnných vykreslit do stavového portrétu. Zvolte několik kombinací počátečních podmínek tak, abyste ověřili nejdůležitější vlastnosti obvodu.
Příkazy: Quiver(x,y,dx,dy) vykreslí vektorové
pole se směry dx, dy na základě souřadnic x,y.
[x,y]=meshgrid(vx,vy)
vygeneruje dvě matice [x,y] o rozměrech (delka(vx),delka(vy)) které
naplní hodnotami z vektorů vx (matici x) a vy (matici y).
atan2(x,y)
výstupem je úhel daný úseky x a y
contour(h,10)
vykreslí z výškové mapy vrstevnice (ve 2D), jejichž počet je dán
druhým číslem
contour3(h,10) vykreslí totéž co
contour ale ve 3D
mesh(h) vykreslí výškovou
mapu
vektory dx, dy je výhodné vypočítat na základě hodnot x,y
vygenerovaných meshgridem, za pomoci vlastnosti výpočtu
odpovídajících prvků matic („operátory s tečkou“).
Zadání 2
2) Vytvořte stavový portrét Van der Pol oscilátoru (Př. 4.30). Stavový portrét ověřte na základě hodnot získaných simulací v simulinku.
Při řešení postupujte podobně jako v minulém příkladu:
vytvořte stavový portrét. Existuje ustálený stav? V případě, že ano, o jaký typ se jedná?
Vytvořte model v simulinku a výstup zobrazte ve stavovém
portrétu.
Pozn.: můžete zobrazit i více stavových průběhů z
různých počátečních stavů (například z bodů na kružnici vně a na
kružnici uvnitř ustálené hodnoty mezního cyklu). Vycházejte z toho,
že v prostředí Matlab (nebo m-file scriptu) je možné zadávat
proměnné a ty využít jako parametry bloků v Simulinku. Dále je možné
spustit příkazem sim('nazev.mdl') schema v simulinku.
Výstupní data ze Simulinku je možné přenést pomocí bloku „to
workspace“ do Matlabu. V bloku je možné nastavit, či se bude
jednat pouze o pole nebo o strukturu dat, včetně hodnot času.
Simulink provádí simulaci s proměnným krokem a proto je možné (a
rozumné) v tomto bloku nastavit též ukládání výstupních hodnot v
pravidelných intervalech.
zkuste vytvořit a zobrazit pole isoklin
Pro vytvoření
pole použijte funkci atan2
Poslední úpravy: 2008-10-13