Regulátor PID

Vše co potřebujete vědět k zaregulování PID.

Plynulá regulace PID

Vše co potřebujete vědět k zaregulování PID

HW server
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.


PID_01
 
Takto bude vypadat průběh teploty, pokud bude konstanta proporcionální složky nastavená poněkud méně, než je třeba.

PID_02
 
Takovýto průběh teploty bude mít proporcionální regulátor, pokud jeho konstanta bude nastavená asi tak dobře.

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


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


PID_05
 
Konstanta I je moc velká a D je malá

PID_06
 
Konstanta I je malá a D je velká

PID_07
 
Konstanta P je velká

PID_08
 
Konstanta P je malá

PID_09
 
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

Soubory: 

Regulace spirály PID

   Dobrý den, poslal jsem dotaz přes formulář na stránkách, ale vždy se objevilo chybové hlášení, a tak to zkouším přes email. Pokud jde o mechanické řešení problémů, tak si umím poradit, skoro vždy. Nicméně elektronické systémy jsou pro mě cizí vesmír. Potřebuji regulovat teplotu, ale neumím přenastavit PID regulaci a zatím mi nikdo nedokázal říct co je špatně. Koupil jsem průmyslový termostat Rex-c100, topnou spirálu GB/T 4706.1-2005 a polovodičové relé SSR40VA. To polovodičové relé je nejspíš špatně podle toho, co jsem zatím zjistil potřebuji SSR40DA, ale samozřejmě to není z mé hlavy. Každopádně podle jednoho technika by to mělo regulovat teplotu i bez toho SSR, ale není tomu tak. Když odpojím samotnou spirálu (čidlo nechám zapojené je součástí spirály) a místo toho dám třeba žárovku, tak to úplně normálně reaguje na změnu teploty a Rex-c100 spíná dle nastavených parametrů. Bohužel když zapojí spirálu tak po zapnutí teplota nekontrolovatelně stoupá klidně k 300°C i když je na SV nastaveno třeba 25°. Rex-c100 mám v továrním nastavení, pouze měním požadovanou hodnotu SV. Uměl byste poradit, kde může být problém?

Regulace PID paster

   Dobrý den, prosím Vás o konzultaci nastavení PID regulátoru. Chystám se na nastavení parametrů P a I u pasterizátoru na mléko dle tohoto návodu jvalter.cz/sites/default/files/soubory/vzduch12.pdf. Pasterizátor má oběhové čerpadlo, které žene horkou vodu od 3f topné spirály kolem kotle, ve kterém je mléko. Čidlo je umístěné na dně kotle (měří teplotu mléka, ne vody kolem kotle). Zapojení spirály je ON/OFF.

PID regulátor

   Dobrý den, máme v práci problémy právě s PID regulací.
Proces: neutralizace průmyslových odpadních vod – chemický průmysl.
Popis: produkujeme kyselé odpadní vody, které potřebujeme před vypuštěním do kanalizace zneutralizovat. K neutralizaci používáme roztok hydroxidu vápenatého, ten je dávkován vzducho-membránovým čerpadlem do nádrže, kde se míchá s odpadní vodou. Odpadní voda přitéká kontinuálně pomocí elektronického čerpadla s regulací výkonu, průtok do nádrže 3-6 m3. Čerpadlo dávkování vápna pracuje v režimu: perioda spouštění čerpadla, minimální doba chodu a maximální doba chodu. K regulaci pH je využíván PID regulátor.
 1) pH na výstupu stále kolísá a to hodně. Např. mezi 8-9
 2) pokud vypustím velké množství kyselé vody, zvýším tím průtok kyselých vod do nádrže a regulátor nestíhá – nedochází k dostatečné neutralizaci.
 3) Měli jsme dvoutýdenní odstávku provozu. Teď po rozjetí, máme nový problém, a to že nedochází k regulaci výkonu čerpadla od vápna.
   Čerpadlo buď jede na 100% nebo vůbec, a to jsme v nastavení parametrů nic neměnily. Čím by to mohlo být? Pokud zkusím upravit parametry, vypadá to, že regulátor pracuje, jak má – nízké pH zkouší pomalu zvedat výkon čerpadla, ale jakmile dosáhne hodnoty zase jsme tam kde jsme byli, čerpadlo jede na 100% výkon nebo nejede...
Máte nějaké nápady? Odkud jste prosím? Programátor, který to rozjížděl tři roky zpátky není k dispozici a než najdeme náhradu, tak se zkouším ptát u Vás. Děkuji za odpověď.

PID nastavení parametrů

   Dobrý den, potřeboval bych zkonzultovat nastavení PID regulace na dvouplášťovém hrnci. Mám dvouplášťovou nádobu, do které se vejde 50l vody a v plášti je 20l vody. Plášť je přetlakový, zvládne i 110 °C bez problému. Topné těleso je 3f 4,5kw zapojené do Y, každá fáze má SSR relé, které má vstup 4-20 mA a je možno regulovat výkon těles. Teplotu řídí termostat TMCON FT3415, který je schopný regulovat výstup proporcionálně. Návod je zde: https://gizmo-engineering.com/wp-content/uploads/2020/10/FT3415-V5.02.pdf
   Zapojení funguje správně, ale nevím, jak nastavit termostat, autotuning funguje jako když nefunguje. Nepochopil jsem absolutně algoritmus termostatu. Když nastavuju pouze P (v návodu je, že je to konstanta), tak čím je vyšší číslo, tím to topí méně, když nastavím P na 25 tak to natápí prázdný hrnec z 20 °C na 50 °C tak, že se topná spirála vypne dříve a teplota doběhne setrvačností cca na těch 50 °C. Problém nastává, když přidám konstantu I (v návodu je psáno, že je to časová konstanta), když jí nastavím na 1s, tak tělesa topí tak, že teplota rychle přeběhne nastavenou.
   Nejlepší nastavení je zatím P20 I500 D300 nyní se to chová tak, že při ustálení teploty tělesa trochu topí, ale výkon je malý a po cca 2 min začne teplota klesat, klesne až o dva stupně, termostat přidá a teplota vystoupá o dva stupně přes nastavenou mez. Nepochopil jsem algoritmus a proto prosím, zda byste mi mohl objasnit co dělám špatně. Hrnec má hodně opožděné reakce na změnu teploty. Při uvedení kapaliny v hrnci do varu se ochlazuje rychleji, snažím se to simulovat ochlazováním studenou vodou, která protéká hrncem.
   Také jsem laboroval s nastavením P180 I100 D70 prakticky se to chovalo dost podobně. Při nastavení nižšího I musím zvednou P, jinak to topí moc.
V návodu je psáno že to pracuje s logikou FPID tak nevím, jestli díky tomu funguje nastavení na opačném principu, než je všude psáno. V této oblasti se moc nepohybuji, tak bych Vás poprosil o radu. Děkuji za Váš čas.

Stačí čistě I-regulátor

   Dobrý den, pokud Vás můžu požádat o radu, budu řešit následující úlohu. Termostat pro vysoce stabilní teplotu elektronické součástky (napěťová reference). Řetězec: teplotní čidlo – elektronika – vyhřívací element – regulovaný prostor s tepelnou kapacitou (hliníková krabička) - teplotní čidlo neboli kruh se uzavírá. Takže je tam logicky zpoždění. Cílem je co nejpřesnější regulovaná teplota, vliv okolí je minimální, celý termostat lze dobře tepelně izolovat a použití je při pokojové teplotě ± pár stupňů. Není žádný požadavek na rychlost, může to nabíhat dlouhé minuty, jenom to pak musí držet bez zákmitů a fluktuací. Usoudil jsem, že z PID regulátoru můžu derivační složku rovnou vyloučit, na žádné rychlé změny to reagovat nemusí. A protože chci minimální (nejlépe "nulovou") regulační odchylku, zdá se mi, že bych mohl vystačit s čistě integrační regulací. A otázka tedy zní, jestli je možné (vhodné) zcela vyloučit proporcionální složku, nebo jestli tam v nějaké minimální velikosti musí zůstat? Předem děkuji za odpověď.

PID regulace reflow křivky jednoploténkového vařiče

   Pracuji na domácím projektu pájení součástek pomocí jednoploténkového el. vařiče 1 000 W (220 V). Potřeboval bych poradit, jak vypočítat potřebné parametry pro PID regulaci mikroprocesorem, abych dosáhl požadované křivky teploty aproximované polynomem 7. stupně.
   Vařič budu spínat triakem v nule, vždy jedna celá vlna (20 ms) s periodou jednoho kroku 1 sekunda. Výkon bude ovládán diskrétně v násobcích 2% od 0% do 100%. Příklad, pro výkon 26% bude triak sepnut 13 vln z 50ti tj. 13 * 0,02s = 0,26s z jedné sekundy.
   Zvažuji koupi Simulinku, ale na rozdíl od návrhu analogových obvodů a programování mikroprocesorů s ním nemám vůbec žádné zkušenosti. Pomohl by mi odkaz na podobnou simulaci, případně doporučení, jaké hodnoty bych měl změřit na reálném systému, jak je pak zadat do Simulinku a doporučení z jakých komponentů Simulinku by měl být regulační obvod sestaven.
Koeficienty polynomu 7. řádu: 1,103965E-13; -1,218061E-10; 5,197188E-08; -1,109508E-05; 1,335485E-03; -1,060644E-01; 6,772042E+00; -1,131728E+02.

Stránky