Implementace řídicího systému na bázi PID korekce

Implementace řídicího systému na bázi PID korekce

Analogový PID regulátor, který je stále považován za nejvýkonnější, lze modifikovat jako řídicí systém diskrétního času. Následují rovnice a příklady.

CTL2204 MAG2 F1 PID PeterGalan Fig1Obrázek 1: Blokové schéma ukazuje digitální řídicí systém s uzavřenou smyčkou. Všechny diagramy poskytl Peter Galan, technik řídicího softwaru v důchodu

Zatímco řešení syntézy řídicího systému v s-doméně je zcela logické, protože řízené systémy pracují spojitě (v čase), implementace řídicího systému je něco zcela jiného. Téměř všechny řídicí systémy jsou dnes realizovány jako digitální systémy založené buď na mikroprocesorech (mikrokontrolérech), nebo na digitálních signálových procesorech, jak je znázorněno na obrázku 1.

CTL2204 MAG2 F1 PID PeterGalan Fig2Obrázek 2: PID regulátor vypočítává akční hodnotu z proporcionální, integrační a derivační složky

PID pro řídicí systém diskrétního času

Analogový PID regulátor, který je stále považován za nejvýkonnější (obr. 2), lze upravit pro implementaci jako řídicí systém diskrétního času, neboť není obtížné přepsat jeho diferenciální rovnici 1 do diferenčního tvaru (rovnice 2)

CTL2204 MAG2 F1 PID PG Equation 1

CTL2204 MAG2 F1 PID PG Equation 2

kde u [n] je akční hodnota v přítomném čase n, e [n] je regulační chyba v čase n a e [n-1] je regulační chyba v čase předchozího vzorku n-1. T je časový úsek vzorkování. Stejný časový úsek T se používá pro zpracování, tedy pro výpočet u [n].

Pro praktické aplikace vyžaduje rovnice 2 určité úpravy, počínaje integračním členem. Integrační člen sečte každou hodnotu regulační chyby do součtu a poté tento součet vynásobí časovou konstantou a integrační konstantou. Pokud se hodnota časové nebo integrační konstanty náhle změní (což se může stát zejména během procesu ladění), dojde k náhlé změně akční hodnoty a k problémům. Lepším přístupem je nejprve vynásobit chybu regulace těmito dvěma konstantami a teprve poté kumulovat jejich součin. Dalšího zlepšení lze dosáhnout použitím lichoběžníkové aproximace integrace namísto obdélníkové.

Jak snížit šum

Druhým zdrojem problémů je derivační člen rovnice 2. Ve své jednoduché podobě mívá tento člen poměrně velký šum. Pro snížení šumu můžete použít více než dva (například čtyři) po sobě jdoucí vzorky regulační chyby. Výsledek je takový, jako kdyby rozdíl regulačních chyb procházel malým (4úrovňovým) filtrem s konečnou impulzní odezvou (FIR). Upravený vzorec PID pak vypadá jako následující rovnice 3. 

CTL2204 MAG2 F1 PID PG Equation 3
 

Výše uvedenou diferenční rovnici lze implementovat v libovolném programovacím jazyce a pro libovolný mikroprocesor/mikrokontrolér.

Rutina služby přerušení

Přesto zůstává otevřená jedna otázka týkající se periody vzorkování/zpracování T. Jaká je správná perioda (frekvence) regulačního procesu a na čem závisí? Regulační frekvence závisí pouze na časové konstantě přenosové funkce uzavřené smyčky. Nezapomeňte, že tato časová konstanta může být řádově kratší než časová konstanta samotného řízeného systému. Optimálně byste měli řídicí proceduru spouštět přibližně 5- až 10krát častěji, než jaká je hodnota časové konstanty uzavřené smyčky. Bezprostředně před spuštěním řídicí procedury byste měli mít připraveny poslední vzorky r [n] a y [n] (viz obrázek 1).

Nejlepší je, když se řídicí procedura volá jako procedura přerušení (ISR), kterou spouští A/D převodník poskytující hodnotu y [n]. Výsledek výpočtu řídicí procedury, akční proměnná u [n], by měl být co nejdříve odeslán do D/A převodníku. V opačném případě bude přenosová funkce řízeného systému ovlivněna přenosovým zpožděním, což by mohlo řídicí systém poškodit (vyvolat jeho nestabilitu).

Aby se zabránilo šumu, který může do řídicího systému vždy proniknout zvenčí (například jako „deskový“ šum způsobený elektronickými součástmi, především spínanými napájecími zdroji), musejí být všechny měřené veličiny – signály jako y [t], důkladně filtrovány. Měly by „procházet“ vhodným antialiasingovým filtrem s mezní frekvencí hluboko pod polovinou vzorkovací frekvence 1/T. Pokud je z nějakého důvodu nelze filtrovat vhodnými analogovými filtry, měly by být alespoň převzorkovány a filtrovány digitálně.

Více o přenosové funkci PID regulace

Rovnice 3 není jediným způsobem diskrétní implementace PID regulátoru. Další možností je transformace přenosové funkce PID regulace z její s-domény (rovnice 4) do z-domény. V praxi lze tuto transformaci provést dvěma způsoby. Oba jsou odvozeny z odlišné aproximace integrace diskrétního času. Nejběžnějšími aproximacemi integrace diskrétního času jsou obdélníková (rovnice 5) a lichoběžníková (rovnice 6) aproximace.

Vyjádříte-li y/x v z-doméně, pro obdélníkovou aproximaci dostanete:

CTL2204 MAG2 F1 PID PG Equation 4 5 6

A toto je výsledek lichoběžníkové aproximace:

CTL2204 MAG2 F1 PID PG Equation 7
 

Rovnice 7 a 8 odpovídají integrační složce,

CTL2204 MAG2 F1 PID PG Equation 8

která je v s-doméně vyjádřena jako 1/s. Pokud tedy vezmete inverzní transformaci/výraz pravé strany rovnice 7 (vyjadřující s) a nahradíte jí/jím každý operátor s v rovnici 4, dostanete následující přenosovou funkci PID kompenzace (v z-doméně):

CTL2204 MAG2 F1 PID PG Equation 9

Podobně pokud vezmete inverzní transformaci/výraz pravé strany rovnice 8 a nahradíte jí/jím každý operátor s v rovnici 4, dostanete následující přenosovou funkci PID kompenzace (v z-doméně):

CTL2204 MAG2 F1 PID PG Equation 10

Modelování řídicího systému v z-doméně

Rovnice 9/10 mohou být vhodné pro modelování řídicích systémů v z-doméně, například v aplikaci Matlab od MathWorks, ale nelze je přímo implementovat žádným regulátorem. Avšak po aplikaci inverzní z-transformace na rovnici 9 získáme následující rovnici:

CTL2204 MAG2 F1 PID PG Equation 11

a inverzní z-transformaci rovnice 10:

CTL2204 MAG2 F1 PID PG Equation 12

Rovnice 11 a rovnice 12 jsou naprosto vhodné pro implementaci v jakémkoli mikroprocesoru (mikrokontroléru) nebo digitálním signálovém procesoru. Pokud ponecháme K1, K2 a K3 jako předem vypočtené konstanty (místo proměnných), bude celý postup regulace vyžadovat tři násobení, čtyři sčítání a zapamatování si čtyř předem vypočtených proměnných – dvou regulačních chyb e [n-1] a e [n-2] a dvou akčních proměnných u [n-1] a u [n-2] (pouze pro rovnici 12). Výpočet e [n] vyžaduje jedno odečtení.

Filtry s nekonečnou impulzní odezvou

V optimalizaci své řídicí procedury můžete jít ještě dále. V oblasti digitálního zpracování signálů jsou velmi oblíbené rekurzivní filtry, tzv. filtry s nekonečnou impulzní odezvou (IIR). Obvykle jsou implementovány jako kaskádové filtry druhého řádu. Jeden takový filtr druhého řádu, často označovaný jako „bikvadratický“ převedený do své kanonické podoby, která se nazývá kaskádová forma II, je znázorněn na obrázku 3.

CTL2204 MAG2 F1 PID PeterGalan Fig3Obrázek 3: Sekce kanonického IIR filtru druhého řádu slouží jako PID regulátor

Implementace takového bikvadratického filtru vyžaduje méně paměťového prostoru; místo čtyř proměnných – zpožděných výrazů e [n-1], e [n-2], u [n-1] a u [n-2] – je nutné pamatovat si pouze dvě stavové proměnné d [n-1] a d [n-2]. Kanonickou sekci filtru IIR nejlépe popisují následující dvě diferenční rovnice:

CTL2204 MAG2 F1 PID PG Equation 13 14

Při výběru hodnot A1 a A2 máte určitý, i když omezený výběr. Je však třeba dodržet dvě pravidla: součet hodnot A1 a A2 musí být vždy 1,0 a žádná hodnota nesmí být větší než 1,0. Jako koeficienty A1 a A2 tedy můžete použít například hodnoty 1,0 a 0, 0,5 a 0,5 nebo 0 a 1,0, případně cokoli mezi nimi.

Poslední kombinace poskytne identickou odezvu jako rovnice 12. Čím nižší je hodnota A2 , tím rychlejší je odezva řídicího systému. To může zjednodušit proces ladění, protože namísto časté změny hodnoty KI (která vyžaduje přepočet hodnot KP a KD, pokud je chcete mít optimální, tj. zrušení pólů řízené soustavy) můžete konstantu KI (a hodnoty KP a KD) nastavit jednou na nějakou přiměřenou hodnotu, například KI na hodnotu 10/(_1+_2) (kde _1 and _2 jsou primární časové konstanty řízené soustavy), a konečné ladění provést úpravou hodnot A1 a A2.

Ne každá implementace PID je uspokojivá

Ačkoli je vždy příjemné mít možnost volby, když je třeba implementovat jakýkoli algoritmický problém, ne každá implementace poskytuje uspokojivé výsledky. Totéž platí pro popsané postupy PID regulace. Všechny tři postupy fungují na papíře dobře, ale při implementaci se objeví problémy.

První implementace rovnice 3 vyžaduje více matematických operací (násobení, sčítání) a zapamatování více předchozích výsledků než zbývající dvě, ale poskytuje velmi hladké výsledky. Chování rovnice 11 je podobné.

Implementace rovnice 12 však nepřinese uspokojivé výsledky, protože se pohybuje na hranici stability a její výstup bude trvale oscilovat. Implementace rovnic 13/14 bude fungovat správně, ale koeficient A1 musí být > 0, protože jinak se bude chovat jako implementace rovnice 12 a bude způsobovat trvalé oscilace.

Peter Galan je technik řídicího softwaru v důchodu; upravil: Mark T. Hoske, obsahový ředitel časopisu Control Engineering, CFE Media and Technology, Tato e-mailová adresa je chráněna před spamboty. Pro její zobrazení musíte mít povolen Javascript..

Control Engineering Česko

Control Engineering Česko je přední časopis o průmyslové automatizaci. Je vydáván v licenci amerického Control Engineering, které poskytuje novinky z této oblasti více než 60 let.

www.controlengcesko.com