Skip to main content

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

Co znamená PID - Při procházení webu jsem narazilna článek v časopisu Automa, týkajícího se našeho tématu s přehledným popsáním PID a proto jsem ho též zařadil na tuto stránku.

Metody zlepšení PI regulace - Další dobrý článek z časopisu Automa,týkajícího zlepšení PI regulace. Zvláště stojí si přečíst o kaskádovém zapojení regulátorů.

Moderní metody nastavení PID regulátorů - Další článek z časopisu Automa, týkajícího se nastavení PID.


Vyvážené nastavení PI regulátorů - Další článek v časopisu Automa, týkajícího se vyváženého nastavení PI.


Zaregulování PID - Pro další studium problému je zde návod na zaregulování PID, který jsem vydundal od firmy AMiT.

Jednoduchý popis dvoustavové a PID regulace. 

PřílohaVelikost
co_znamena_pid.pdf217.15 KB
metody_pi.pdf195.89 KB
moderni_nastav_pid.pdf169.6 KB
vyvazene_nastaveni_pi.pdf780.21 KB
vzduch12.pdf96.43 KB
regulace.pdf344.23 KB

PID reulátor

Díky moc srozumitelný popis funkce PID regulátorů.

Složka D v PID

Příklad vlivu Déčka pomocí brždění v autě je super.

Zdravím Vás, budu potřebovat

Zdravím Vás, budu potřebovat PID nastavit v Mach3 pro serva, každá informace je dobrá. Když už jste tak geniálně názorný, nechtěl byste přednášet PID regulaci ekonomům a prognostikům v parlamentě? To jak nás tlačí ode zdi ke zdi, svědčí o naprostém nepochopení toho, že ty překmity nebudou svědčit ani jim.

Zdravím Vás – odpověď

 Rád poradím každému, kdo o to požádá, když to budu vědět, ale naši poslanci si radit nenechají, vždyť všechno znají, všude byli a od všeho mají klíč (brouk pytlík) :-)
 Protože jako národ selháváme v kontrole našich zvolených zástupců (poslanců), tak to vypadá, jak to vypadá. Dokud budeme malé a zvláště velké „sviňárny“ promíjet, tak zlepšení nečekejte. Napadá mě příhodný citát. „Každý národ má takovou vládu, jakou si zaslouží!“

nastavení PID

Dobrý den Jaroslave,
pročítal jsem Vaše stránky, ohledně vysvětlení funkce PID regulátorů. Mám dálkově řízený quadcopter, kde PID dostává informace z gyroskopů a akcelerometru a upravuje tak chování celého zařízení. Stále se plácám ve správném nastavení a pochopení jednotlivých složek konkrétně u tohoto případu.
Pokud jsem tak pochopil správně, složka "P" působí reakčně proti nechtěné výchylce, takže rovná quadcopter zpět do kolmé polohy vůči zemi. Na diskusních fórech jsem se dočetl, že složka "I" by měla držet quadcopter v nastaveném povelu z vysílače, aniž by se po návratu ovládací páky sám vracel do středové polohy (proto tedy není možnost nastavení "I" ve funkci "autolevel", kde se zařízení poslušně vyrovnává do kolmé polohy při puštění ovládacích pák do středové polohy). Jaký vliv zde má složka "D" (v menu nastavení řídící desky KK2.0 je označen jako "damping factor")? Dočetl jsem se, že snížení hodnoty "D" zvyšuje její funkci a zvýšení naopak snižuje.
Dále nemám úplně jasno, k čemu slouží v nastavení hodnota "limit". Je zde P-gain, P-limit (to samé u integrační a derivační složky).

Předem moc děkuji za případnou odpověď.

Nastavení PID - odpověď

Dobrý den, trochu jsem se porozhlédl a inspiraci pro základní nastavení můžete čerpat např. zde: http://oddcopter.com/2012/07/24/setting-up-my-hobbyking-kk2-0-quadcopter-x/.
Protože nemám návod, tak budu všeobecné principy aplikovat na to, co jsem viděl a myslím si, že jednotlivé parametry by měly mít tento význam. Je tam více PI regulátorů, a pokud jeden bude nastaven špatně, tak celý výsledek bude k ničemu, takže parametry upravujte v malých krocích a po zralé úvaze.
P – gain: vlastní složka P regulátoru. P složka dělá rychlou a velkou (skokovou) odezvu na změnu požadované polohy. Touto složkou nikdy nedocílíte perfektního stavu. Vždy je nějaká regulační odchylka tz. quadcopter nebude vodorovně, ale mělo by se to blížit. Pro správné naladění P složky dejte I složku nulovou, aby nám do toho „nekecala“.
I – gain. Tato složka je právě pro doladění na ideální vodorovný stav tj. malé časové kroky, které „dotáhnou“ regulační odchylku od ideálního stavu na minimum.
Limity u jednotlivých složek budou nejspíše jako „zarážky“ pro maximální akční zásah regulátoru.
Myslím si, že je použit PI regulátor a ne PID regulátor. Všeobecně jde složka D proti složce P v čase, tj. vyhodnocuje se, jak rychle se blížíte požadované hodnotě a podle toho upravuje zásah od složky P.

Nastavení PID - závěr

Dobrý večer, ještě jednou moc děkuji za odpověď. Mě právě zarazilo, když jsem koukal na videa nastavení desky, že někdo má limity nad nastavený parametr a jinde je zase měli pod nastaveným parametrem (např. P-gain 120, P-limit 60). Myslel jsem, že limit je "horní doraz". Na odkaz se za chvíli podívám. Každopádně desku jsem resetoval na defaultní nastavení a až na menší oscilace ve větru při režimu "autolevel" se to chová poměrně stabilně :o)

nastaveni konkretniho typu PID

Dobry den,

diky za prehledny clanek. Musim rict, ze jsem z nej teoreticky pochopil funkci PID regulatoru. Bohuzel v praxi uz jsem tak uspesny nebyl. Chtel bych vas pozadat o pomoc pri nastaveni konkretniho typu PID regulatoru teploty, jehoz navod k pouziti (nastaveni jednotlivych funkci) bych vam rad poslal e-mailem. Jedna se o regulaci teploty v elektricke peci pro praskove lakovani. Potreboval bych ustalit teplotu rekneme na 200°C. Otopna telesa v peci jsou rizena s SSR rele ON/OFF. Pec je velice dobre izolovana a otopnym telesum trva zhruba 12 min (pozadovane jsou 20-30 min), aby se teplota dostala na 200°C (takze maji dostatecny vykon). Pokud jsou otopna telesa zapnuta na ON az do pozadovane teploty 200°C (nad 200°C jsou OFF, teplota setrvacnosti naroste do 260-280°C. Ochlazeni zpet na 200°C trva 25-30 min.
Vzhledem k tomu, ze vetsina parametru je v sekundach (napr.Integral time), netusim, jak to vsechno nastavit.
V manualu je napriklad parametr Proportional Band 0-30 (bez jednotky). Nasledne Integral time a Derivate time v sekundach, Limit integration operation work range (1-100%, Working cycle (0-100sek.)a nekolik dalsich parametru.

Samozrejme jsem sam uz provedl jsem nekolik pokusu s ruznymi nastavenimi, ale temer bez vysledku. Pouze s vypnutym Integral a Derivate time jsem jakz takz mel uspech, ze se otopne spiraly zacaly vypinat a zapinat pri teplote nizsi nez pozadovane, ale stejne byl prekmit obrovsky (50°C).

dekuji za jakoukoliv pomoc.

L.
lherout@fidoks.bg

Nastavení PID - odpověď

   Dobrý den, nastavení Vám neřeknu, protože od stolu není možné PID regulátor nastavit a zároveň byste se nic nenaučil. Doporučuji přečíst všechny přílohy pod článkem.
   K nastavení: Podle mého si vystačíte s PI regulátorem. Složku D budete potřebovat jen v případě, jestliže bude docházet k velkým skokovým změnám teploty, například otevřením dveří pece (začněte s 1/3 P). Věnujte velkou pozornost návodu pod článkem http://valter.byl.cz/sites/default/files/vzduch12.pdf, kde máte vše vysvětleno do detailu na velmi podobném případu. S těmito výchozími hodnotami budete schopen regulátor nastavit na prvotní základní nastavení a následně doladit.
   Zapisujte si chování soustavy včetně nastavených parametrů. Jen pokud si ani poté neporadíte, tak mi napište mail a koukneme se na to. Při další komunikaci budu předpokládat, že jste četl a pochopil všechny přílohy. Jsou to základy, bez kterých se neobejdeme.

Proportional band

No to je prave to, proc jsem se rozhodl pozadat o pomoc. Nejsem z tech, kteri by hned psali na ruzna fora s zadosti o pomoc, aniz bych pred tim neudelal maximum, abych celou vec pochopil sam.
Procetl jsem opravdu desitky ruznych navodu a clanku s touto tematikou a uprimne receno, o moc moudrejsi nejsem. Samozrejme jsem pochopil co je to P, I, D a jaky vliv maji tyto parametry na chovani cele soustavy, nicmene jasny vypocet, ktery by objasnoval Proportional band tak, jak je v manualu PID kontroleru, mi unika. Mam tim na mysli muj pripad - otopna telesa potrebuji 700 sek. na ohrev vzduchu z 12°C na 200°C (mam na mysli konstantni ohrev, kdy topna telesa jsou po celou dobu ON). Muj PID controler nabizi Proportional band 0-30. Nic vic, nic min, zadne jednotky, nebo upresneni konstanty.
Pochopil jsem i to, za Working cycle musi byt dostatecne dlouhy, aby se vyloucila setrvacnost akumulace otopnych teles, jinymi slovy, aby se telesa stihla dostatecne ochladit, nez je cotroler znovu sepne.
I Integral time a Derivate time (v sekundach) jsou mi vicemene jasne a budu schopen je doladit.
Problem je, ze v tuto chvili mam Proportional Band nastaven tak nizko, nebo vysoko, ze cela soustava nestihne zpomalit jakmile se dostane blizko k PS.

L.

Proportional band - odpověď

   Dobrý den, jsem rád, že jsem zase jednou narazil na člověka, který nejdříve studuje a potom se ptá. Jsem Vám plně k dispozici. Některé souvislosti a chování člověk pochopí až po prvním oživení regulátoru a další tak po desátém, ale to jsou zkušenosti, které nelze nahradit. Někdy mi připadá, že parametry a někdy i algoritmus PID regulátoru si každý výrobce dělá podle svého a návody píše sekretářka. Proto stejně nazvaný parametr může dělat úplně něco jiného a člověk jen kouká „co to ksakru je!“. Tady nastupují zkušenosti, co by to mohlo asi být, proto doporučuji pro začátek „osahat“ si PID jednoho výrobce a poté pokračovat dále.
   K mailu: Jestliže je vám regulátor neznámý a má Autotuning, tak je dobré ho využít, alespoň pro zjištění základních hodnot parametrů. Někdy Autotuning chodí dobře, jako ve vašem případě. Zaslané nastavení parametrů se mi zdá v pořádku (něco takového bych také tipoval), i když takto zadávané proporcionální pásmo vidím poprvé (psal jste rozmezí 0-30 a nakonec zadáno 72, no nic, stejně toto bych nečekal). U PWM regulace el. spirál používám cyklus 4-20 sekund, takže i zde jste v mnou prověřeném intervalu.
   Přeji hodně zdaru.

Autotuning mi pomohl dostat

Autotuning mi pomohl dostat se blizko k perfektnimu stavu (prijatelny prekmit zhruba 7%). Nasledne uz jsem vyuzil vasich nazornych chybovych grafu s opisem pricin a doladil jsem system do jednoho prekmitu 2% a nasledne uz system drzi presne urcenou teplotu s vykyvy do 1°C/5min. Takze dekuji za pomoc.

K popisovani PID na internetu mohu rict jen tohle - zda se mi, ze se autori predhaneji v tom, jak opsat nastaveni parametru co nejsloziteji = chci vypadat jako ten nejvetsi profesor. Pro normalni lidi (kteri ukoncili alespon stredni vzdelani) by spis melo smysl napsat - zmerte pocatecni teplotu, cas mezi pocatecni teplotou a pozadovanou teplotou, nasledne kam az teplota vystoupa a kolik casu zabere, aby se teplota vratila zpatky na pozadovanou. Pripadne kolik takovych prekmitu nastane. Mozna nekolik dalsich informaci (to same plati pro rychlost a druhe veliciny). Ale to asi vypada moc jednoduse a autor by se zrejme necitil tolik specialni :)

Konstanty PID - odpověď

   Dobrý den,dnes jsem byl na operaci se zuby, takže trochu opožděná reakce. Vaše uvažování je správné a pomůže vám při oživování dalších regulátorů.
   Nastavování PID regulátorů je složité, ale jen pokud chceme docílit perfektního výsledku a to pokud je to potřeba. Toto popisuje většina teoretických článků. V tepelné technice je lze využít jen zřídka. Většinou zvítězí poměr čas potřebný pro nastavení regulátoru / čas možný pro nastavení regulátoru (cena). Nyní nejsem schopen napsat výpočty pro jednoduché určení konstant regulátoru, protože aby to dávalo smysl, měl bych to brát více ze široka. Něco mám rozpracované pro pokračování knihy Regulace v praxi, ale nejsem si jistý, kdy to dokončím a jestli to tam dám, protože pro laiky je to složité, pro profesionály moc zjednodušené a pomůžete to jen začátečníkům. Protože je kniha primárně určena začátečníkům, tak to snad dodělám a dám to tam, ale musím se psychicky připravit na kritiku ze všech stran:-)