Principia cybernetica ´09 KONFERENCIA KATEDIER A ÚSTAVOV AUTOMATIZÁCIE A KYBERNETIKY STROJNÍCKYCH A TECHNOLOGICKÝCH FAKÚLT UNIVERZÍT Z ČESKEJ A SLOVENSKEJ REPUBLIKY 2. – 4. 9. 2009 HERĽANY, SR
DISKRÉTNÍ ČÍSLICOVÉ REGULÁTORY A JEJICH MOŽNOSTI Robert Frischer1 - Ivo Špička2 Abstract: This article present the basic analysis and capabilities of discrete, PSD controllers. It is dedicated to basic describe of separates parts, solving limiting states and switching between automatic and manuallyoperated regulation. PSD controllers are special version of common PID controller with accommodation to software implement. This article further describes some limit states, which can cause oscillations or wrong functionality of PSD (for example windup effect). In conclusion there is an example of PSD implementation into MCU along with simulation on Matlab environment and real testing results.PSD Abstrakt: Článek uvádí základní analýzu a možnosti diskrétních, PSD regulátorů. Věnuje se základnímu popisu jednotlivých částí, řešení mezních stavů a přepínání mezi automatickou a ruční regulací. PSD regulátory jsou zvláštní variantou klasických PID regulátorů s tím, že jsou přizpůsobeny pro implementaci do obecného programového prostředí. Článek dále popisuje některé mezní stavy, které mohou způsobit rozkmitání nebo špatnou funkčnost PSD regulátorů (například windup). V závěru je uveden příklad implementace základního PSD regulátoru do jednočipového mikropočítače spolu s jeho simulací v prostředí Matlab a následným srovnáním na reálném měření. Key words: Controller, digital controller, aliasing, windup, control algorithm Klíčové slova: Regulátor, číslicový regulátor, aliasing, windup, čídící algoritmus
ÚVOD Základní strukturu regulačního obvodu realizovaného mikroprocesorem lze zobrazit na obr. 1, kde soustava je řízená soustava, výstupní veličina je měřena vhodným čidlem a je přivedena společně se žádanou veličinou na vstup mikroprocesoru. Vlastní řídící algoritmus je pak realizován odpovídajícím řídicím algoritmem, který můžeme rozdělit na tři základní části. Vzorkovač, vlastní algoritmus regulátoru a tvarovač.
2
Ing. Špička Ivo, Ph.D.. VŠB-TU Ostrava, FMMI, Katedra automatizace a počítačové techniky v metalurgii. Kontakt:
[email protected] 1 Ing. Frischer Robert. VŠB-TU Ostrava, FMMI, Katedra automatizace a počítačové techniky v metalurgii. Kontakt:
[email protected]
06-1
Principia cybernetica ´09 KONFERENCIA KATEDIER A ÚSTAVOV AUTOMATIZÁCIE A KYBERNETIKY STROJNÍCKYCH A TECHNOLOGICKÝCH FAKÚLT UNIVERZÍT Z ČESKEJ A SLOVENSKEJ REPUBLIKY 2. – 4. 9. 2009 HERĽANY, SR
r(t) + -
e(t)
e*(t) τ
Zero Order Hold
Digital Controller
u(t)
Plant
C(t)
microprocessor Sensor Obr. 1 Regulační obvod realizovaný mikroprocesorem
Vzorkovač převádí spojitý analogový signál na diskrétní vzorky, tento proces lze popsat rovnicí
Kde je dirakův impulz, je vzorkovací perioda a je spojitá funkce a je diskrétní funkce, jejíž hodnota je definována v diskrétních časových okamžicích, které jsou celočíselným násobkem vzorkovací periody . V technické praxi vzorkovač je realizován A/D převodníkem, který převádí hodnotu z jistého intervalu reálných hodnot na jiný celočíselný interval. Spojitá veličina pak může nabývat pouze diskrétních hodnot z jistého intervalu celých čísel. Tento proces bývá nazýván kvantizací spojitého signálu. Chyby spojené s kvantizací jsou svázány s počtem možných celočíselných hodnot, v tomto případě reprezentované celými čísly ve dvojkové soustavě, obvykle osmi, deseti nebo dvanáctibitovými čísly, počet hodnot je pak a Druhá skupina chyb je pak tvořena proměnnou vzorkovací periodou, kdy skutečný vzorkovací perioda se může lišit o jistou hodnotu , skutečná hodnota je pak . Nejzáludnější je pak možná třetí chyba, která vyplývá z Schannonova vzorkovacího teorému pokud vzorkovaná funkce má frekvenční spektrum přesahující hodnotu poloviny vzorkovací frekvence. Pokud tato podmínka není splněna, ve vzorkovaném signálu se objeví nové nízkofrekvenční složky, které původní signál neobsahoval. Tento jev je nazýván alias a je jej nutno předcházet antialiasovým filtrem, který z principu vzniku této chyby musí být realizován jako analogová dolní propust s mezní frekvencí nižší než polovina vzorkovací frekvence, který je nutně zařazen před vstup mikroprocesoru. Bývá doporučován Butteworthův filtr druhého řádu. Antialias filtr nelze realizovat žádnou vhodnou číslicovou filtrací, jelikož vstupní signál standardně obsahuje stejnosměrné a nízkofrekvenční složky.
06-2
Principia cybernetica ´09 KONFERENCIA KATEDIER A ÚSTAVOV AUTOMATIZÁCIE A KYBERNETIKY STROJNÍCKYCH A TECHNOLOGICKÝCH FAKÚLT UNIVERZÍT Z ČESKEJ A SLOVENSKEJ REPUBLIKY 2. – 4. 9. 2009 HERĽANY, SR
Obr. 2 Architektura systému Control Logix
Vlastní číslicový algoritmus vlastního regulátoru můžeme odvodit z integrálně derivační rovnice analogového PID regulátoru, která se obvykle zapisuje ve tvaru
Přenos tohoto regulátoru pak můžeme zapsat jako . U číslicového regulátoru pak můžeme rovnici spojitého regulátoru zapsat ve tvaru Kde je hodnota integrálu a je hodnota derivace v čase . Hodnotu , můžeme přibližně určit jako a hodnotu . Takto realizovaný algoritmus je nazývaný polohový číslicový regulátor. Druhá možná regulace je přírůstkový algoritmus, který lze odvodit z polohového algoritmu, pokud pro každý krok budeme počítat jen přírůstek akční veličiny ve tvaru a jehož výsledný obecný tvar je Hodnoty parametrů q závisí na způsobu výpočtu hodnot a . Alternativní metodou je pak přepis přenosu analogového PID regulátoru z Laplaceovy do Z transformace pomocí bilineární transformace (Tustinovým vztahem) . Tato substituce je vhodná pokud vycházíme ze struktury analogového regulátoru s různými 06-3
Principia cybernetica ´09 KONFERENCIA KATEDIER A ÚSTAVOV AUTOMATIZÁCIE A KYBERNETIKY STROJNÍCKYCH A TECHNOLOGICKÝCH FAKÚLT UNIVERZÍT Z ČESKEJ A SLOVENSKEJ REPUBLIKY 2. – 4. 9. 2009 HERĽANY, SR
způsoby filtrace, a to buď filtrace derivační složky, která má potlačovat vliv vysokofrekvenčního šumu, filtrace regulační odchylky, respektive filtrace regulované veličiny. Velmi oblíbený je pak modifikace PSD regulátoru dle Takahashiho, jehož výsledný tvar je buď , kde je potlačeny skoková změna derivační složky, pokud bychom filtrovali okamžitou reakci proporcionální složky, pak obdržíme algoritmus ve tvaru . Při realizaci použitelného algoritmu nelze opomenou ošetření widup efektu, který spočívá v růstu integrační složky v případě, že je dosaženo fyzikálních limitů regulované soustavy nebo akčních prvků. Tento případ je přirozeně řešen v případě přírůstového algoritmu u polohového algoritmu musí být ošetřen programově. Při praktické realizaci se dále implementuje omezené akční veličiny, omezení přírůstku akční, případně žádané veličiny. Velmi důležité je ošetřit přepínání regulátoru z manuálního do automatického režimu tak, aby nedošlo ke skokové při přepnuté z manuálního do automatického režimu ke skokové změně akční veličiny (bumpless algoritmus), kdy i v manuálním režimu je nutno sledovat hodnotu regulované veličiny. Praktická realizace Cílem bylo identifikovat řízenou soustavu, navrhnout diskrétní regulátor a implementovat jej do jednočipového mikrokontroléru. Pro ověření funkčnosti jsme zvolili jednoduchou tepelnou soustavu realizovanou pomocí výkonové LED diody. Ta se v průběhu svícení zahřívá a je tedy nutné stabilizovat její teplotu. Pokud pomineme zařazení většího chladiče, je možné snížit cílovou teplotu regulací pracovního proudu. Vzhledem k použití mikroprocesorových obvodů se jevila jako nejdostupnější varianta řízení pomocí PWM (Pulse Width Modulation). Použitý MCU (Micro Controller Unit) má nativní podporu PWM s možností řízení až čtyř kanálů. Blokové schéma soustavy a regulátoru je na následujícím obrázku.
06-4
Principia cybernetica ´09 KONFERENCIA KATEDIER A ÚSTAVOV AUTOMATIZÁCIE A KYBERNETIKY STROJNÍCKYCH A TECHNOLOGICKÝCH FAKÚLT UNIVERZÍT Z ČESKEJ A SLOVENSKEJ REPUBLIKY 2. – 4. 9. 2009 HERĽANY, SR
Obr. 3 Blokové schéma soustavy a regulátoru.
Řízená soustava je prvního řádu, popř. druhého se zanedbatelnou hodnotou TU. Teplota soustavy se ustálí na cca 74°C při buzení proudem 400mA (a teplotě okolí cca 23°C). Dodávaný výkon je přibližně 1,4W. Maximální příkon LED jsou cca 4W za podmínky, že proud, který teče diodou, nepřesáhne 1A. Dioda samotná je posazena na hliníkovém chladiči tvaru hvězdy s vyvedenými pájecími plochami (Obr. 4).
Obr. 4 Detail výkonové LED
Identifikace soustavy Identifikace řízené soustavy v našem případě vylučuje přímé sestavení analytického modelu. Jedná se o soustavu s nelineárním tepelným prouděním a velmi nelineární zdroj tepla. Výkonová dioda LED mění svou účinnost a tedy i tepelné vyzařování v závislosti na teplotě 06-5
Principia cybernetica ´09 KONFERENCIA KATEDIER A ÚSTAVOV AUTOMATIZÁCIE A KYBERNETIKY STROJNÍCKYCH A TECHNOLOGICKÝCH FAKÚLT UNIVERZÍT Z ČESKEJ A SLOVENSKEJ REPUBLIKY 2. – 4. 9. 2009 HERĽANY, SR
okolí a protékajícím proudu. Hustota tepelného toku q rovinnou stěnou lze jednoduše vyjádřit rovnicí
Kde α je součinitel tepelné vodivosti, charakterizující materiál, skrz který teplo proudí. Množství tepla Q, které projde za čas t plochou S z látky o teplotě T1 do látky o teplotě T2 je možné vyjádřit vztahem
Samotné šíření tepla v materiálu je poměrně jednoduchá záležitost. Problém nastává v té chvíli, kdy narazíme na přechod stěna vzduch (obr. 5). Od tohoto bodu je popis systému již velice problematický. Přestup tepla je silně nelineární s množstvím ovlivňujících veličin jako například proudění vzduchu v místnosti, sluneční svit, typ materiálu chladiče a jeho emisivita apod. Z těchto důvodů jsme se snažili vyhnout analytické identifikaci soustavy a raději jsme volili identifikaci experimentální.
Obr. 5 Průběh teplot v LED modulu
Nastavení PSD regulátoru Vzhledem k použití jednoduchého osmibitového mikroprocesoru jsme byli nuceni provést některá zjednodušující opatření. Absence hardwarového dělení a jeho vysoká náročnost v softwarové podobě měla za následek volbu vzorkovací frekvence Tvz = 1s. Tímto krokem jsme se vyhnuli nutnosti dělit v bloku výpočtů u derivační složky. Také násobení Tvz u sumační (integrační) složky nebylo díky tomu nutné. I tak jsme se dostali k maximálně několika měřicím-vyhodnocovacím cyklům za sekundu. Softwarová implementace je uvedena v obrázku 6. 06-6
Principia cybernetica ´09 KONFERENCIA KATEDIER A ÚSTAVOV AUTOMATIZÁCIE A KYBERNETIKY STROJNÍCKYCH A TECHNOLOGICKÝCH FAKÚLT UNIVERZÍT Z ČESKEJ A SLOVENSKEJ REPUBLIKY 2. – 4. 9. 2009 HERĽANY, SR
Nasobeni
k1 = k1 – 1
k1,k3 multiplikator k2 0, vysledek
k1 = 0
+ return
w = k3 k2 = k2 + w
+ C=1 k2 = 255 return
Obr. 6 Algoritmus násobení
Jedná se o funkci, která byla volána s několika parametry:
k1
Proměnná nesoucí Multiplikátor (x · y)
k2
Proměnná s výsledkem násobení
k3
Proměnná nesoucí pomocný Multiplikátor (x · y)
w
Pracovní registr
C
Carry Bit – přetečení přes 255
K proměnné k2 je k1-krát přičtena hodnota k3. Výstup systému se digitalizuje pomocí integrovaného A/D převodníku, s rozlišením 10b a vzorkovací frekvencí Tvz. Doba převodu TAD je nastavena na konstantní hodnotu 8µs.
Obr. 7 Blokové schéma regulátoru
06-7
Principia cybernetica ´09 KONFERENCIA KATEDIER A ÚSTAVOV AUTOMATIZÁCIE A KYBERNETIKY STROJNÍCKYCH A TECHNOLOGICKÝCH FAKÚLT UNIVERZÍT Z ČESKEJ A SLOVENSKEJ REPUBLIKY 2. – 4. 9. 2009 HERĽANY, SR
Výpočet složek PSD Žádaná hodnota w je definovaná v řídícím programu mikroprocesoru. Následuje výpočet regulační odchylky e(t), její násobení vahou kp a výsledkem je proporcionální složka P. Sumační (Integrační) složka sčítá jednotlivé regulační odchylky podle vzorce:
Velmi nepříjemným jevem při použití regulátoru s integrační složkou při omezení akční veličiny, nebo při limitaci hodnota regulované veličiny, tj. při existenci nasycení, je pokračující integrace, tzv. windup. Při postupné integraci regulačních odchylek se postupně zvyšuje i akční veličina u(t), až do stavu nasycení (limitace). Pak výstupní veličina integrátoru I(t) bude stále růst, ale výstupní veličina regulátoru u(t) zůstane na hodnotě nasycení u(t)max. Pokud se v jistém okamžiku t1 regulační odchylka e(t) změní skokově na hodnotu e(0), pak výstupní veličina Integrátoru I(t) začne klesat a výstupní veličina regulátoru u(t) se nebude měnit až do okamžiku t2, od kterého obě veličiny I(t) a u(t) budou shodně klesat. Z průběhu obou veličin je zřejmé, že nasycení (tj. omezení akční veličiny) způsobilo tzv. windup zpožděni, které je příčinou existence velikých a dlouho trvajících překmitů v regulačním obvodu, a tím zhoršení kvality regulace - viz. obrázek 8.
Obr. 8 Regulátor I s omezením akční veličiny
Nevýhoda osmibitového mikroprocesoru se zde ukázala jako relativní výhodou. Standardním postupem se hodnota integrační složky stale zvyšuje. Jak bylo popsáno v 06-8
Principia cybernetica ´09 KONFERENCIA KATEDIER A ÚSTAVOV AUTOMATIZÁCIE A KYBERNETIKY STROJNÍCKYCH A TECHNOLOGICKÝCH FAKÚLT UNIVERZÍT Z ČESKEJ A SLOVENSKEJ REPUBLIKY 2. – 4. 9. 2009 HERĽANY, SR
předešlém odstavci, existuje metoda antiwindup, která zamezí hodnotě I(t) přesáhnout určitou, pevně definovanou mez. U osmibitového mikroprocesoru se problém řeší sám. Přetečením pracovního registru složky I(t) tento registr zůstává na své maximální hodnotě 255. Tato hodnota se dá malou úpravou měnit v libovolném rozsahu, daném možnostmi daného mikroprocesoru. Upravená hodnota I(t) se nakonec vynásobí vahou kI a výsledná hodnota představuje P (S) složku regulátoru. Derivační složka je závislá na předchozí hodnotě výstupu regulované soustavy y(t-1), což odpovídá hodnotě y(t-Ts). Současná a předchozí hodnota se odečtou a získá se gradient h(t) pro soustavu dvou sousedních bodů. Čím větší tento 3gradient je, tím větší je derivační složka regulátoru. Vzorec pro výpočet gradientu je následující:
Výsledná derivační složka se dostane vynásobením d vahou kD.
Ověření funkce regulátoru PSD V prvním kroku jsme provedli simulaci vypočítaných hodnot v programu Matlab, abychom zjistili přibližný průběh regulačního procesu. Výstup simulace je na obrázku 9. Na ose X je zobrazen čas [s], na ose Y je výstup systému [°C].
3
Gradient je v obecném smyslu slova směr růstu. Ve formálním jazyce matematiky označuje diferenciální operátor, jehož výsledkem je vektorové pole vyjadřující směr a velikost největší změny skalárního pole. Při formálním zápisu se používá operátor nabla ∇.
06-9
Principia cybernetica ´09 KONFERENCIA KATEDIER A ÚSTAVOV AUTOMATIZÁCIE A KYBERNETIKY STROJNÍCKYCH A TECHNOLOGICKÝCH FAKÚLT UNIVERZÍT Z ČESKEJ A SLOVENSKEJ REPUBLIKY 2. – 4. 9. 2009 HERĽANY, SR
40
35
30
25
0
10
20
30
40
50
60
70
80
90
100
Obr. 9 Simulace regulátoru v programu Matlab.
Naměřené hodnoty u reálného regulátoru jsou uvedeny v obrázku 10. Oproti teoretickému výpočtu je vidět citelný počáteční překmit, který se již neopakuje. Časové hodnoty jsou celkem v souladu s teorií, teplotní rozkmit je oproti teorii mírně vyšší.
06-10
Principia cybernetica ´09 KONFERENCIA KATEDIER A ÚSTAVOV AUTOMATIZÁCIE A KYBERNETIKY STROJNÍCKYCH A TECHNOLOGICKÝCH FAKÚLT UNIVERZÍT Z ČESKEJ A SLOVENSKEJ REPUBLIKY 2. – 4. 9. 2009 HERĽANY, SR
Obr. 10 Regulace na konstantní hodnotu
ZÁVĚR Praktická realizace měla za úkol ukázat možnost implementace diskrétních, PSD regulátorů do jednočipových mikropočítačů. Vzhledem k zanedbatelné ceně těchto zařízení je možné řídit v podstatě jakýkoliv jednodušší systém pomocí několika málo součástek rozmístěných na ploše 25x25mm. Tento regulátor má samozřejmě i svá omezení, plynoucí z jeho jednoduchosti, která by se ovšem dala odstranit dalším vývojem software. Lepší a účinnější řešení však bude při použití výkonnějších 16b jednočipových mikropočítačů s podstatně vyšším výkonem a hardwarovou podporou některých důležitých funkcí, jako například dělení a násobení. Poté už by bylo možné vytvořit robustní, výkonný a spolehlivý regulátor pro provoz v náročných podmínkách průmyslové praxe. LITERATURA [1] Vítečková, M. Základy automatické regulace. Víteček Antonín. Ostrava: VŠB-TU Ostrava, 2008. 244 s. ISBN 978-80-248-1924-2 06-11
Principia cybernetica ´09 KONFERENCIA KATEDIER A ÚSTAVOV AUTOMATIZÁCIE A KYBERNETIKY STROJNÍCKYCH A TECHNOLOGICKÝCH FAKÚLT UNIVERZÍT Z ČESKEJ A SLOVENSKEJ REPUBLIKY 2. – 4. 9. 2009 HERĽANY, SR
[2] Šulc, B. Teorie a praxe návrhu regulačních obvodů. Vítečková Miluše. Praha: Vydavatelství ČVUT, 2004. 333 s. ISBN 80-01-03007-5 [3] ASTRÖM, K.J. PID Controllers. Research Triangle Park: Instrument Society of America, 1995. 343 s. ISBN 1-55617-516-7 [4] Jakoubek, P. Identifikace parametrů stabilních nekmitavých soustav. Automatizace. únor 2009, roč. 52, č. 2, s. 84-89. [5] PIC16F684 - data sheet. [6] URL: http://www.microchip.com/wwwproducts/Devices.aspx?dDocName=en010214> 2009-17-03]
< [cit.
[7] Klán, P. Metody zlepšení PI regulace. Automa. Prosinec 2001, č. 12, s. 4-10 [8] Dorf, R. C., Bishop, R., H.: Modern Control Systems . Pearson Prentice Hall, 2008. ISBN 0-13-206710-2 [9] Seal, A. M.: PRACTICAL PROCESS CONTROL . Elsevier Butterworth-Heinemann, Oxford, 2008. ISBN 0 340 70590 6 [10] Burn, R. S.: Advanced Control engineering. Elsevier Butterworth-Heinemann, Oxford, 2001. ISBN 0 7506 5100 8
06-12