Integrální kriteria
Cílem
cvičení je zjištění závislosti tvaru
odezvy přechodové charakteristiky na velikosti zesílení
regulátoru a na “vzdálenosti” zesílení
tohoto regulátoru od zesílení kritického.
Dalším
úkolem je zjistit optimální zesílení
podle integrálních kriterií a zhodnotit a
srovnat dosažené přechodové charakteristiky (jejich
průběhy).
Zadání
Zjistěte,
jak se mění tvar odezvy uzavřeného obvodu v případě,
že se mění zesílení (P-) regulátoru,
který je připojen seriově k soustavě.
Zjistěte, jak se s
tvarem odezvy mění hodnota integrálních
kriterií. Porovnejte a zhodnoťte hodnoty zesílení
a odezvy, při kterých daná kriteria nabývají
minima.
Navrhněte P-regulátory optimální
podle integrálních kriterií.
Motivace:
vykreslete odezvy přenosu řízení pro danou soustavu a P-regulátor se zesílením od K=0 (nebo Kkrit menší) až po K=Kkrit (zesílení na mezi stability). Vykreslení proveďte do trojrozměrného grafu tak aby osy podstavy reprezentovaly hodnoty zesílení K a čas. Velikost vykreslené hodnoty (třetí rozměr) bude určovat hodnoty odezvy. Na jedné ose grafu tedy bude naneseno měnící se zesílení, kolmo na něj (směrem “dozadu”) bude vidět průběh pro dané zesílení (amplitudy v rostoucím čase). Proveďte rozbor průběhu vykreslených charakteristik v závislosti na změně zesílení. ((až přijde čas a proberete napřednáškách,) srovnejte dosažené výsledky pomocí gmk (kořenový hodograf))
vytvořte funkci, která na základě parametrů, kterými jsou přenos soustavy a regulátoru, určí velikost plochy regulační dochylky podle zvoleného integrálního kritéria.
Pro regulátor P (přenos regulátoru má jen jednu složku, kterou reprezentuje zesílení – volte stejná K jako v bodě 1) zjistěte hodnoty jednotlivých integrálních kriterií a najděte nejlepší hodnotu P regulátoru podle zvoleného kriteria – najděte minimum odezvy kriteriální funkce přes daná zesílení. Vykreslete nejlepší odezvy podle jednotlivých kriterií a zhodnoťte tvary těchto odezev (velikost překmitu, rychlost náběhu, rychlost ustálení)
Pro vybrané P regulátory z bodu 3 zjistěte velikosti amplitudové a fázové bezpečnosti, a umístění pólů výsledného přenosu. Zhodnoťte – zamyslete se proč tomu tak je a nad souvislostmi mezi výsledky jednotlivých zápisů.
Zkuste realizovat bod 3 pro složitější regulátory (I, PI, PD, PID). Pozn.: u některých typů přenosů vychází, že nejlepším řešením je nastavit některý z parametrů na 0 popřípadě na ∞ - proč? Dokážete určit pro které typy přenosů tomu tak bude?
Návod řešení
Pro
řešení zvolte přenos
.
Jako druhý přenos, pro srovnání vlastností
se změnou parametrů soustavy, zvolte seriově spojené tři
články prvního řádu (z minulých
cvičení).
Zkuste nejprve vyřešit, nebo alespoň promyslet řešení, bez pomoci následujících bodů.
Zadejte přenos soustavy a vytvořte si vhodný časový vektor. Zjistěte Kkrit a vytvořte vektor zesílení, který bude mít příslušný počet hodnot. Pro všechny hodnoty zesílení (které reprezentují P regulátor) vypočtěte odezvu na skok řízení, a výsledný průběh zařaďte do 2D matice, na základě které dojde k vykreslení 3D grafu.
Vytvořte soubor pro výpočet navrhované kriteriální funkce. Hlavičku funkce napište jako funkci, která vrací jednu hodnotu (výsledek kriteria) a jsou jí předávány příslušné parametry (přenos soustavy, přenos regulátoru, typ kriteria, časový vektor). Funkci nazvěte qkrit. Z předaných přenosů regulátoru a soustavy vytvořte příslušný přenos (odchylky). Vlastní průběh odchylky získáme jako odezvu na jednotkový skok. Podle zvoleného modu se vypočte hodnota kriteria. 0 = suma odchylek, 1 = suma odchylka . čas, 2 = suma absolutních hodnot odchylek, 3 = suma absolutní hodnoty odchylek . čas, 4 = suma kvadrátů odchylek, 5 = suma kvadrát odchylek . čas.
DU - zkuste dopracovat i možnost normalizace odchylky v případě, kdy tato není nulová ustálená. Pokuste se vyřešit automaticky – není-li nulová ustálená, bude se automaticky počítat normalizovaná odchylka.
Otázka – vypočtená hodnota kriteria (z odchylky jak ji vrátí MATLAB a metodou jak je popsáno výše) nebude plně odpovídat skutečnosti. Proč? Jak tuto chybu opravit? Je tato chyba vážná, pokud ne, kdy se projeví? Odpověď
Postupujte obdobně jako pro bod 1 ale výsledkem není graf přechodových charakteristik ale grafy hodnot jednotlivých kriterií v závislosti na velikosti zesílení regulátoru. V jednotlivých závislostech se najde minimum kriteria a pro tento regulátor se vytiskne přechodová charakteristika.
Pomůcky k řešení
Řešte
jako samostatný m file (přesměrování
klávesnice), který budete spouštět (psáno
v editoru MATLABu). Časový vektor t=0:krok:délka by
měl mít krok takový, aby dostatečně pokryl i největší
změny v odezvě (zvláště u kmitavých průběhů),
délka by měla být taková, aby se ustálily
i nejpomalejší přechodové charakteristiky
(trvale se ocitne v 2-5% od ustálené hodnoty).
Kritické zesílení zjistíme výpočtem
stability, pomocí kořenového hodografu (rltools,
sisotool), nyquistovým diagramem, nebo funkcí margin
(některé verze MATLABu umí pouze u stabilních
průběhů (po připojení zpětné vazby) – proto je
nutné upravit (snížit) zesílení a tuto
úpravu připočítat k výsledné hodnotě
zesílení). Počet hodnot zesílení, pro
které budeme počítat odezvy vhodně zvolíme
(20-100 na základě rychlosti výpočtu). Funkcí
for procházejte všechny hodnoty zesílení
– maximální hodnota je Kkrit, krokem
je Kkrit/PocetHodnot. Z aktuální hodnoty zesílení
vytvořte přenos regulátoru Fr=tf(K,1). Vytvořte přenos řízení
.
Pro vytvořený přenos řízení a časový
vektor vypočtěte odezvu. Tuto zařaďte do grafu (tj. Zařaďte do
matice, kterou posléze vytisknete jako 3D graf – příkaz
mesh). Vlastní hodnoty grafu lze vytvořit například
tak, že se vytvoří prázdná matice zzz=[ ]
a do ní se potom v cyklu zapisují výsledné
průběhy pro jednotlivá K, zzz(:,index)=yt tj. Výsledný
průběh yt se vloží na položku index v celé své
délce.
Název
souboru, ve kterém je uložena funkce MATLABu, se jmenuje
stejně jako daná funkce a má příponu “.m”
- v našem případě “qkrit.m”. Přenos
odchylky se vypočte
.
Mají-li být hodnoty kriteria srovnatelné pro
jednotlivé volání funkce, je nutné
odezvu počítat nad stejným časovým vektorem,
který je ovšem závislý na přenosu
soustavy. Proto je nutné, aby funkce měla další
vstupní parametr – časový vektor, nad kterým
se počítá odezva – parametr funkce step (jinak
step volí krok a délku časového vektoru
automaticky na základě zobrazovaného přenosu).
Výsledná hlavička je tedy funkction krit =
qkrit(Fs,Fr,t,mode). Máme-li průběh odchylky a časový
vektor, vypočteme hodnotu kriteria za použití následujících
funkcí, vlastností. Funkce sum vrátí
součet položek vektoru, (skalární) násobení
dvou vektorů dává jako výsledek součet násobků
příslušných položek (položek se stejným
indexem). Násobení položek se stejným indexem
(výsledkem násobení dvou vektorů je vektor) se
provede pomocí “.*”. Absolutní hodnotu (i
pro vektor) získáme funkcí abs. Při násobení
dvou vektorů je nutné aby měly stejné rozměry –
délku a tvar (ten je někdy nutné upravit
transponováním pomocí operátoru “
' “).
DU - normalizaci provedeme odečtením ustálené odchylky od vektoru odezvy. Ustálenou odchylku získáme pomocí funkce dcgain. Tato hodnota, nebo nepřítomnost integračního článku může sloužit k určení zda je nutné normalizovat. Normalizace se provede před vlastním výpočtem hodnoty kriteria.
Postupuje se obdobně jako v bodu 1. V cyklu se ale volají funkce pro integrální kriteria a jejich výsledky se ukládají do vektorů pro jednotlivá zesílení KritKvadrTmod1(i) = qkrit(soustava,regulátor_i,t,mode), pro všechny mody. Ve vektorech s hodnotami kriterií se najdou minima a vytiskne se příslušný průběh odezvy (pro každé kriterium jedna odezva).
Poslední změna: 2008-03-19