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 koeficinty 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 vygenorová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 strukutru 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