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