Vše co potřebujete vědět k zaregulování PID
PID regulátor
Tento článek jsem našel na HW SERVERu a moc se mi líbil, a proto jsem ho připravil i pro Vás.
Přišly mi relevantní připomínky k tomuto článku, a proto je vkládám k daným pasážím. Děkuji!
PID regulátor není žádná novinka. Kdo má střední vzdělání, určitě o takové věci slyšel ve škole. Málokdo však má zkušenost s použitím takového regulátoru, natož s jeho nastavením.
Co je PID regulátor
Představte si, že jste regulátor a máte za úkol napustit vanu akorát po okraj. Takže přijdete do koupelny a vidíte, že vana je prázdná. Pustíte tedy vodu. A naplno, ať je to co nejdřív. Voda ve vaně přibývá a vy vidíte, že už bude plná. Kohoutek trochu přibrzdíte, protože máte strach, aby voda nepřetekla. Jenže zapomněli jste dát do vany špunt, takže hladina začne klesat. Takže zase přidáte. (Ten špunt tam nedáte, protože jste regulátor, který to neumí). A už ta vana bude plná. Uberete jen malinko. Voda začíná přetékat. Tak uberete víc. Hladina pomaloučku klesá, tak už jen malinko přidáte. Výsledek je ten, že vana je pořád plná, i když není zašpuntovaná, a stále do ní přitéká voda. Průtok vody je však nastaven tak, aby hladina nestoupala ani neklesala. Jako regulátor tedy fungujete velice dobře.
Druhý příklad, již trochu technicky, ať pochopíme, co to vlastně je PID. Regulátor má za úkol regulovat teplotu mikropáječky. Regulátor bude dodávat výkon, a aby věděl, jak velký výkon má dodávat, bude měřit teplotu. Ale ještě jednu důležitou věc regulátor musí vědět, to je teplota, na jakou má páječku roztopit. To bude tedy požadovaná teplota.
Proporcionální složka regulátoru
To je to první písmenko v názvu PID regulátoru. Regulátor odečte změřenou teplotu od požadované a rozdíl - budeme mu říkat odchylka - vynásobí konstantou. Výsledek je výkon, jakým bude páječka topit (třeba v procentech). Takže pokud bude změřená teplota o hodně nižší než požadovaná, bude výkon velký. Čím víc se bude změřená teplota blížit k požadované, tím bude výkon nižší, pokud bude změřená teplota stejná jako požadovaná, výkon bude nulový. Proporcionální složka je tedy vysvětlená. Pohrajme si nyní s nastavením proporcionální složky regulátoru. Zmínil jsem, že odchylku regulátor vynásobí konstantou. Pokud má konstanta proporcionální složky hodnotu nula, nebude tato složka fungovat. Výkon bude nulový, ať je odchylka velká, jak chce. Nastavíme konstantu na hodnotu 1. Když bude rozdíl teplot třeba 10 stupňů, výkon bude 10 procent. Nastavíme konstantu na hodnotu100. Teď z toho máme termostat. Když je změřená teplota o jeden stupeň nižší, bude topit na 100 procent, když bude odchylka nulová, nebude topit.
|
|
Takto bude vypadat průběh teploty, pokud bude konstanta proporcionální složky nastavená poněkud méně, než je třeba. |
|
|
Takovýto průběh teploty bude mít proporcionální regulátor, pokud jeho konstanta bude nastavená asi tak dobře. |
|
|
Takový průběh teploty bude mít proporcionální regulátor s příliš vysokou konstantou. |
Integrační složka regulátoru
Je to druhé písmenko v názvu PID regulátoru. Integrační regulátor vezme odchylku, vynásobí ji konstantou a přičte si ji ke své složce. Znamená to, že pokud bude změřená hodnota nižší než požadovaná, integrační složka se bude zvyšovat. Pokud změřená teplota bude vyšší než požadovaná, bude se integrační složka snižovat. Čím bude odchylka vyšší, tím rychleji se integrační složka bude měnit. Pokud bude regulátor pouze integrační, bude topit nejdříve málo, výkon se bude zvyšovat a po dosažení požadované teploty a jejím překročení se bude výkon snižovat. Po ustálení teploty na požadované hodnotě bude integrační složka nastavená na výkon, který je třeba pro udržení ustálené teploty (dodáváme stejný výkon, jakým se páječka ochlazuje).
Nastavení konstanty pro integrační složku. Pokud bude konstanta nulová, neprojeví se integrační složka v regulátoru vůbec. Pokud bude moc velká, výkon po dosažení požadované teploty bude velký a teplota příliš překročí požadovanou hodnotu. Pokud bude nastavená optimálně, překročí teplotu, ale překmit bude jen jeden.
Na této stránce mi přijde, že v odstavci "Proporcionální složka regulátoru" je popsáno chování regulátoru, který má nulové konstanty Ti a Td. To je v pořádku. Potom ale bez varování přichází odstavec "Integrační složka regulátoru" a obrázek ukazuje regulátor typu PI, tj. takhle by se regulátor s vypnutou proporcionální a der. složkou nechoval. Byly by tam přímo hrozné překmity.
Ano obrázek ukazuje PI regulátor, ale než I regulátor tak ukazuje chování velkého I.
|
|
Konstanta integrační složky je moc velká. |
Derivační složka regulátoru
Je to třetí písmenko v názvu PID regulátoru. Derivační regulátor vezme rychlost změny odchylky a vynásobí ji konstantou. Když tedy teplota klesá, derivační složka zvyšuje výkon. Čím rychleji teplota klesá, tím vyšším výkonem bude derivační regulátor topit. Pokud bude teplota stoupat, derivační regulátor bude výkon snižovat. To se projeví velmi dobře právě v okamžiku, když začneme s rozehřátou páječkou pájet. Teplota se najednou začne snižovat a derivační složka na to může okamžitě reagovat zvýšením výkonu. Na druhou stranu, když teplota začne růst příliš rychle, výkon bude snižovat. Pokud bude konstanta pro derivační složku moc velká, bude se teplota dostávat na požadovanou hodnotu celkem pomalu, zato reakce na změnu se projeví velmi prudce na výkonu. Pokud bude konstanta pro derivační složku nízká, bude regulátor pomaleji reagovat na změny teploty.
Z matematického hlediska je primární tento pohled:
Jedete za někým v autě a rozsvítí se mu brzdová světla. Hned se radši taky připravíte k brzdění a případně, pokud jste už i tak dost blízko opravdu začněte přibrzďovat. Současně ale vyhodnocuje i rychlost, jakou se obě vozidla k sobě přibližují (to je derivace vzdálenosti v čase). Pokud je velká, víte, že ten před vámi musel na brzdu "pěkně dupnout" a brzdu taky přišlápnete pořádně. (A to i tehdy, že jste od něj třeba ještě dost daleko.)
Tedy derivační složka nepůsobí proti akci proporcionální složky, ale v předstihu ji jakoby zesiluje.
---------------------------------
Když budeme mít PI regulátor naladěný blízko své meze stability a přidáme derivační složku, tak u ž nám bude spolehlivě kmitat. Co tedy uděláme? No, řekneme si"Když máme k dispozici takovou chytrou složku, která umí předvídat průběh věcí příštích, tak můžeme zesílení proporcionální složky trochu zmenšit !"
----------------------------------
Výsledek je ten, který už autor správně popisuje:
Taková PID soustava reaguje rychleji a přitom má menší amplitudu překmitů.
----------------------------------
Nastavení PID regulátoru
V první řadě musím poznamenat, že nastavení parametrů PID regulátoru není vůbec jednoduchá věc. Existuje hodně metod pro nastavení více či méně vědeckých, a pokud si koupíte hotový PID regulátor od nějaké firmy, bude mít již zabudovanou nějakou metodu nastavení (autotuning). Jenže ani ty nejlepší metody neumějí nastavit úplně jakoukoliv regulovanou soustavu. Regulaci teploty páječky by ovšem zvládly úplně v pohodě. Nicméně v tom regulátoru, co popisuji, není žádná automatizovaná podpora nastavení parametrů, takže si hezky pohrajeme s parametry metodou pokus-omyl. A aby se nám laborovalo lépe, podíváme se do tabulky, která nám řekne, co asi je moc nebo málo: 10/2003
V odstavci "Nastavení PID regulátoru" mi připadají popisky u obrázků trochu zavádějící" U prvního obrázku by příčinou mohla být taky velká proporcionální složka, která v popisu není zmíněna. Z druhého obrázku nutně nevyplývá, že složka D je velká. (tento popisek bych očekával u 4. obrázku) Třetí obrázek (když se Vám vtom takhle rýpám) mi zase připadá přinejmenším netypický. Že by už další malý překmit při velkém P chyběl?
U posledního obrázku by bylo potřeba zdůraznit zadání: Teplota se musí rychle ustálit a nesmí překmitnout ani při startu. Pokud by byl požadavek na co nejrychlejší ustálení, existuje optimální řešení s překmity, jejichž amplituda ovšem rychle konverguje k nule.
|
|
Konstanta I je moc velká a D je malá |
|
|
Konstanta I je malá a D je velká |
|
|
Konstanta P je velká |
|
|
Konstanta P je malá |
|
|
Optimální nastavení |
Tohle všechno by byly prkotiny. Důvod proč jsem začal psát je na stránce co_znamena_pid.pdf. Všimněte si, že autor vůbec nepochopil, jak funguje a proč se zařazuje derivační složka. A ještě mu to zbaštili v časopise. Fakt je, že mně to donutilo k zamyšlení nad dalšími souvislostmi vlivu derivační složky. Takže všechno špatné, je k něčemu dobré.
Jestli se mnou souhlasíte, tak se od toho textu distancujte. Je v tomto bodě velmi slabý.
V tomto článku je derivační složka popsána jinak než bych jí popsal já, ale z vlastí zkušenosti vím, že derivační složka je velmi prospěšná u rychlých soustav, kde s předstihem reaguje na změnu a dokáže ustálit i rychlou soustavu, a proto bych s posledními dvěma větami u derivační složky plně souhlasil. Příklad: Kotel pro nahřívání vzduchotechniky s malým obsahem vody, kotel regulován dvoupólově a teplota pro vzduchotechniku se reguluje trojcestným ventilem. Kotel jede na vyšší teplotu než je požadovaná teplota vzduchotechniky a je chráněn proti cyklování. Něž kotel nastartuji, může být žádaná teplota menší než skutečná, ventil se otvírá, ale po startu rychle stoupá teplota vody a D složka už musí jít proti, jinak soustava velmi překmitne. V této aplikaci bych se bez D složky neobešel. Doufám, že jsem situaci popsal srozumitelně a promiňte nedostatky, nechtěl jsem se moc rozepisovat. 6/2006
Poslední komentáře