Home page

BRR home page

výuka home page



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:

  1. 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))

  2. 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.

  3. 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í)

  4. 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ů.

  5. 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í

  1. 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ů.

  2. 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.

  3. 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ěď

  4. 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í

  1. Ř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.

  2. 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.

  3. 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).





Ukázka řešení



Poslední změna: 2008-03-19