Takmer každá regulovaná veličina v technickom svete — teplota reaktora, výška dronu, rýchlosť auta s tempomatom, poloha hlavičky pevného disku — je držaná na mieste niektorým variantom jedinej, storočnej myšlienky: PID regulátora. Oplatí sa mu porozumieť nie preto, že matematika je ťažká (nie je), ale preto, že tri členy, ktoré sčítava, zodpovedajú trom veľmi ľudským spôsobom reakcie na to, keď sme mimo cieľa.

Vybudujme ho z jedinej otázky.

Otázka

Riadite systém k žiadanej hodnote rr — požadovanej veličine. V každom okamihu je systém v skutočnosti na hodnote y(t)y(t). Definujme odchýlku (chybu):

e(t)=ry(t)e(t) = r - y(t)

Celou úlohou regulátora je zvoliť akčný zásah u(t)u(t) — ako silno tlačiť — na základe tejto odchýlky. Otázka znie jednoducho: daná je odchýlka, ako silno mám tlačiť?

Existujú tri rozumné odpovede a PID používa všetky tri naraz.

P — tlač úmerne tomu, ako veľmi sa mýliš

Najzrejmejšie pravidlo: čím väčšia odchýlka, tým silnejšie tlač.

uP(t)=Kpe(t)u_P(t) = K_p \, e(t)

Ak je v miestnosti oveľa nižšia teplota, než je cieľ, otvor ventil kúrenia dokorán; ako sa blíži, uberaj. To je proporcionálny člen a sám osebe zvládne veľa.

Má však tvrdohlavú chybu. Aby stále tlačil, proporcionálny regulátor potrebuje nenulovú odchýlku — tlak je úmerný odchýlke, takže keď odchýlka klesne na nulu, klesne aj tlak. V každom systéme, ktorý potrebuje trvalé úsilie len na to, aby zostal na mieste (napríklad držať ťažké dvere proti pružine), sa regulátor ustáli na trvalej odchýlke: blízko cieľa, no nikdy presne naň. Táto zvyšková medzera sa nazýva trvalá regulačná odchýlka.

I — pamätaj si, ako dlho sa už mýliš

Riešením je reagovať nielen na súčasnú odchýlku, ale na jej hromadenie v čase. Ak malá odchýlka pretrváva, nechaj ju nazbierať sa a postupne zvyšuj tlak, kým odchýlka nezmizne.

uI(t)=Ki0te(τ)dτu_I(t) = K_i \int_0^t e(\tau)\, d\tau

To je integračný člen. Je trpezlivý a vytrvalý: kým pretrváva akákoľvek odchýlka, integrál stále rastie a žiada viac zásahu, čo je presne to, čo odstraňuje trvalú odchýlku. Cenou je, že nazbieraná história robí regulátor pomalým v obrátení smeru — ak na integrál zatlačíte priveľmi, systém prekmitne a potom musí nazbieranú hodnotu odviňovať, často pritom osciluje.

D — predvídaj, kam smeruješ

Tretím inštinktom je predvídavosť. Ak sa odchýlka zmenšuje rýchlo, chystáte sa prekmitnúť — tak začnite uberať už teraz, skôr než dorazíte. Reagujte na rýchlosť zmeny odchýlky:

uD(t)=Kdde(t)dtu_D(t) = K_d \, \frac{d e(t)}{dt}

To je derivačný člen. Je tlmičom. V ustálenom stave nerobí nič (konštantná odchýlka má nulovú strmosť), no bráni rýchlej zmene, vyhladzuje priblíženie a znižuje prekmit. Jeho slabinou je šum: derivovanie zosilňuje chvenie v meraní, takže v praxi sa derivačný člen takmer vždy filtruje.

Spojenie dohromady

Sčítajte tri reakcie a máte úplný regulátor:

u(t)=Kpe(t)+Ki0te(τ)dτ+Kdde(t)dtu(t) = K_p\, e(t) + K_i \int_0^t e(\tau)\, d\tau + K_d\, \frac{d e(t)}{dt}

Tri zosilnenia, tri úlohy:

  • KpK_p — reaguje na prítomnú odchýlku. Rýchlosť.
  • KiK_i — reaguje na minulú, nazbieranú odchýlku. Odstraňuje trvalú odchýlku.
  • KdK_d — reaguje na predpovedanú budúcu odchýlku. Tlmenie.

Prítomnosť, minulosť, budúcnosť. To je celá gramatika PID a práve preto pôsobí regulátor menej ako vzorec a viac ako povaha.

Stručne o nastavovaní

Voľba troch zosilnení je tým skutočným remeslom. Bežný východiskový postup:

  1. Nastavte KiK_i a KdK_d na nulu. Zvyšujte KpK_p, kým systém nereaguje svižne, no nezačne oscilovať.
  2. Pridajte KiK_i, aby ste trvalú odchýlku stlačili na nulu, pričom prijmete o niečo väčší prekmit.
  3. Pridajte KdK_d, aby ste skrotili prekmit a ustálili odozvu.

Formálne metódy (Ziegler–Nichols, umiestňovanie pólov, tvarovanie vo frekvenčnej oblasti) to robia systematickým, no práve intuícia vyššie je tým, po čom siahnete, keď sa pred vami skutočná slučka zle správa.

        e(t)            u(t)            y(t)
 r --->( + )---> [ P + I + D ] ---> [ sústava ] --+--->
        ^-                                         |
        |_________________________________________|
                    (meraný výstup)

Schéma je tá istá slučka, ktorú regulátor parného stroja kreslil mechanicky pred dvoma storočiami — len teraz box v strede obsahuje tri členy namiesto pákového mechanizmu a my si môžeme zvoliť jeho povahu.


Toto je ukážkový technický článok dodaný so šablónou Kybernetes. Rovnice sú zapísané v notácii v štýle LaTeX-u; na ich vykreslenie v prehliadači môžete pridať matematickú knižnicu ako KaTeX alebo MathJax. Nahraďte tento súbor vlastným v priečinku /articles.

Ihrisko

Nalaďte si regulátor sami — potiahnite posuvníky a sledujte odozvu slučky.

A takto poloha pólov tvaruje odozvu — potiahnite pól po s-rovine: