O veciach

čo je to vec v IoT, cyklus Sense-Think-Act v prostredí IoT, mikroprocesoroch, mikrokontroléroch, počítačoch, o mikrokontroléri RPi Pico WH a jazyku MicroPython, senzory a akčné členy, prípadová štúdia chytrého vývozu smetí, odporúčania pri návrhu riešení, veci ako stavový stroj, systémy riadenia s otvorenou a uzavretou slučkou

Video k prednáške

Úvod

  • (slide) Na poslednej prednáške sme sa spolu rozprávali o tom, čo je to Internet vecí a akú architektúru môžu mať rozličné riešenia. A pre riešenia vašich projektov budeme používať trojvrstvovú architektúru, ktorá je súčasťou projektu s názvom Smart Department.

    Smart Department: Architektúra
  • (slide) Okrem toho sme si povedali, že budeme rešpektovať túto opisnú charakteristiku toho, čo je to Internet vecí:

    The Internet of Things (IoT) is a system of interrelated computing devices, mechanical and digital machines, objects, animals or people that are provided with unique identifiers and the ability to transfer data over a network without requiring human-to-human or human-to-computer interaction. – by iotagenda

  • Dnes sa budeme venovať veciam - označované v terminológii IoT ako things. Vec je hmotná. Z pohľadu opisnej charakteristiky sú použité spojenia ako:

    • počítačové zariadenie (computing device),
    • mechanické zariadenie (mechanical machine)
    • digitálne zariadenie (digital machine)

    ale ide ďalej a hovorí, že sú to rozličné predmety, dokonca zvieratá a ľudia. Samozrejme musia byť vybavené prvkami, ktoré umožňujú týmto zariadeniam komunikovať.

  • (slide) Obecne teda môžeme povedať, že vec:

    • má svoju fyzickú reprezentáciu,
    • je jednoznačne identifikovateľná,
    • má riadiacu jednotku,
    • obsahuje senzory a akčné členy,
    • vie komunikovať.
  • (slide) V oblasti IoT existujú variácie robotickej paradigmy typu Sense, Think, Connect, Act alebo Sense, Infer, Act, ale v princípe sú si veľmi podobné. Čo je však dôležité, obsahujú časť pre komunikáciu.

    Sense Think Act Cycle [3]
  • O jednotlivých komponentoch IoT zariadení si povieme ďalej v prednáške.

O mikrokontroléroch

  • Začneme sa teda baviť o riadiacej jednotke, ktorá je srdcom každej veci. Je programovateľná, takže môžeme povedať, že je mozgom celého zariadenia. Realizuje sa pomocou (mikro)kontrolérov.

  • (slide) Čo je to mikroprocesor? Čo je to mikrokontrolér? A čo mikropočítač? Aký je medzi nimi rozdiel?

  • Mikrokontrolér je integrovaný obvod, ktorý na jednom čipe obsahuje procesor, pamäť a periférne zariadenia. Mikrokontroléry sú lacné, kompaktné a sú určené na vykonávanie špecifických úloh v domácich spotrebičoch, autách a pod.

  • (slide) Pekné video na túto tému pripravilo aj Raspberry Pi Foundation, kde na príklade mikrokontroléra Raspberry Pi Pico ukazuje, čo mikrokontrolér je a čo mikrokontrolér naopak nie je.

  • Skúsme porovnať vlastnosti mikrokontrolérov a mikroprocesorov:

    mikroprocesor mikrokontrolér
    je zariadenie na všeobecné použitie špecializované zariadenie
    označuje sa ako “jednočipový počítač”
    neobsahuje I/O porty, pamäť, časovače a pod. obsahuje RAM, ROM, sériové a pralelné rozhranie, časovače, … všetko na jednom čipe
    používajú sa ako CPU v mikropočítačoch používajú sa v jednoduchých/jednoúčelových zariadeniach
    jeho dizajn/návrh je komplexný jeho dizajn/návrh je jednoduchý
    je drahý (desiatky/stovky Eur) je lacný (jednotky Eur)
    energeticky náročný (desiatky watov) energeticky nenáročný (jednotky Watov)
    majú Von Neumannovu architektúru majú Harvardskú architektúru
    vysoká rýchlosť (GHz) malá rýchlosť (MHz)
    Raspberry Pi Arduino (ATmega328), ESP32, micro:bit (Cortex M0), RPi Pico (RP2040)
  • V porovnaní vyššie sa spomínajú dva typy počítačových architektúr:

    1. Von Neumannova architektúra, a
    2. Harvardská architektúra

    Pozrime sa na vlastnosti oboch týchto architektúr podrobnejšie.

Von Neumannova architektúra

  • (slide) Túto architektúra navrhol v roku 1945 matematik s maďarským pôvodom John Von Neumann. Dnes je táto architektúra používaná vo všetkých bežných počítačoch. Jej bloková schéma sa nachádza na nasledovnom obrázku:

    Von Neumannova architektúra
  • Bloky tejto architektúry tvoria:

    • CPU (Central Processing Unit) - Hlavný riadiaci blok, ktorý sa ďalej skladá z:

      • výkonná jednotka (alebo aritmeticko-logická jednotka) - je zodpovedná za všetky aritmetické a logické operácie, ako sú sčítanie, odčítanie, násobenie, delenie, porovnávanie a pod.
      • riadiaca jednotka (alebo radič) - riadi celú činnosť počítača; tá sa vykonáva pomocou signálov, ktoré sú posielané každému zariadeniu architekúry
    • Memory - Pamäť počítača, v ktorej sa súčasne nachádza samotný program, ako aj jeho údaje.

    • Input - Vstupná jednotka.

    • Output - Výstupná jednotka.

  • Hlavnou charakteristikou tejto počítačovej architektúry je, že používa spoločnú pamäť pre program a údaje. To znamená, že spracovávanie je sekvenčné.

Harvardská architektúra

  • (slide) Tento typ počítačovej architektúry má od seba fyzicky oddelenú pamäť pre program a pre údaje. Okrem toho má od seba oddelené aj komunikačné zbernice pre prístup k týmto pamätiam. Spracovávanie je v tejto architektúre paralelné.

    Harvardská architektúra
  • Medzi výhody tejto architektúry patria:

    • inštrukcie programu ako aj údaje sú uložené v rôznych pamäťových priestoroch
    • komunikačné zbernice môžu mať rôzne šírky
    • súčasne sa môžu spracovávať inštrukcie aj dáta
    • kedže sú pamäte fyzicky oddelené, je rovnako oddelený aj ich adresný priestor
    • program nemôže prepísať sám seba
    • možnosť zreťazenia inštrukcií (pipelining) (spracovanie viacerých inštrukcií naraz) → možnosť rýchlejšieho spracovania väčšieho objemu dát

Populárne riešenia

  • Pozrime sa na populárne riešenia v tejto oblasti. Samozrejme uvedený zoznam nie je kompletný, ale je to skôr prehľad existujúcich riešení, ktoré je jednoduché zohnať a sú populárne práve v domácich “kutilských” kruhoch ;)

Minipočítač Raspberry Pi

  • (slide) Raspberry Pi

    Minipočítač Raspberry Pi [1]
  • 2.4 GHz and 5.0 GHz IEEE 802.11ac wireless, Bluetooth 5.0, BLE, Gigabit Ethernet

  • niekoľko generácií

  • nebudeme ho však porovnávať a zahŕňať do výsledku, pretože je to počítač, ktorý potrebuje byť pre svoju činnosť neustále napájaný, nemá režimy spánkov a teda nevieme s ním efektívne pracovať s prerušeniami

Doska Arduino Uno

  • (slide) Prototypovacia doska Arduino Uno

    Arduino UNO (zdroj)
  • na trhu od 2005

  • Flash memory (program space), is where the Arduino sketch is stored - 32kB

  • SRAM (static random access memory) is where the sketch creates and manipulates variables when it runs - 2kB

Doska BBC micro:bit

  • (slide) Na svojej domovskej stránke je BBC micro:bit charakterizovaný ako:

    The BBC micro:bit is a pocket-sized computer that introduces you to how software and hardware work together.

  • BBC micro:bit je vývojová doska určená na vzdelávanie, ktorá je nesmierne populárna vďaka cene a svojim možnostiam. Na doske totiž nájdete výrazne viac komponentov, ako je to v prípade dosky Arduino Uno. Rozloženie jednotlivých komponentov je zobrazené na obrázku.

    BBC micro:bit v2 [2]
  • Oproti doske Arduino Uno umožňuje BBC micro:bit komunikovať so svojím okolím pomocou technológie Bluetooth s podporou Low Energy. Verzia 1 tejto dosky mala podporu pre Bluetooth 4.1_, zatiaľ čo verzia 2 už podporuje Bluetooth 5.0.

Dosky s mikrokontrolérom ESP32

  • (slide) ESP32

    ESP32 [4]
  • BLE, WiFi

  • viaceré verzie - líšia sa prevedením ako aj počtom pinov - 30 a 38.

  • (slide) blokový diagram

    Blokový diagram mikrokontroléra ESP32 (zdroj)

Raspberry Pi Pico WH

  • (slide) Raspberry Pi Pico WH

    Raspberry Pi Pico WH
  • prírastok do rodiny zariadení od Raspberry Pi, ktorého srdcom je mikrokontrolér RP2040.

Porovnanie riešení

  • Nakoniec môžeme vlastnosti týchto riešení porovnať v nasledujúcej tabuľke:

    Porovnanie vlastností populárnych dosiek
    Arduino Uno ESP32 BBC micro:bit RPi Pico WH
    µcontroller ATmega328P ESP32 nRF52833 RP2040
    proc Tensilica Xtensa LX6 ARM Cortex-M0 ARM Cortex-M0+
    arch 8b 32b 32b 32b
    cores 1 2 1 2
    freq 16 MHz 240 MHz 16MHz 133MHz
    SRAM 2kB 520 kB 16kB 264kB
    flash 32kB 16 MB 256kB 2MB
    op. voltage 5V 3V3 3V3 3V3
    comm. — WiFi, BLE BLE WiFi, BLE 5.2
    power cons 60mA 55mA 17mA 18mA

Senzory

  • (slide) Tieto zariadenia však dokážu reagovať na rozličné externé podnety a udalosti. Sú vybavené senzormi (z angl. sensor), ktoré dokážu previesť fyzikálnu veličinu na elektrický prúd a následne na číselnú hodnotu, s ktorou veci ďalej pracujú. Napríklad to môže byť senzor intenzity svetla, teploty, vlhkosti vzdialenosti a pod.

Akčné členy

  • (slide) Rovnako tieto zariadenia dokážu produkovať rozličné výstupy, kedy prevádzajú elektrickú energiu na fyzikálne veličiny. Tieto prvky sa nazývajú akčné členy (z angl. actuator). Napríklad to môže byť LED dióda, motor, tepelná špirála a pod.

Komunikácia

  • To, čím sú IoT veci odlišné od bežných zariadení, je práve možnosť komunikovať - buď s ostatnými vecami alebo priamo so zariadeniami vyšších vrstvie (napr. IoT Gateway, Edge alebo Cloud).

  • Na výber vhodného komunikačného protokolu, resp. vhodnej komunikačnej technológie, sa dá pozerať z rozličných aspektov. Viac sa preto tejto oblasti budeme venovať v niektorej z budúcich prednášok.

Designing IoT Thing for Smart Waste Bin

  • Vráťme sa teda k nášmu sprievodnému projektu pre tento semester, ktorým je služba zabezpečujúca chytrý vývoz smetí a konkrétne ku návrhu veci (zariadenia), ktorú budeme inštalovať do každého kontajnera. V tejto časti sa teda pokúsime túto vec navrhnúť, vybrať jednotlivé komponenty a to všetko s ohľadom na základnú charakteristiku každého IoT zariadenia:

    • má svoju fyzickú reprezentáciu,
    • je jednoznačne identifikovateľná,
    • má riadiacu jednotku,
    • obsahuje senzory a akčné členy,
    • vie komunikovať.

Komponenty chytrého smetného koša

  • (slide) Našim cieľom je teda vytvoriť chytrý kontajner, ktorý bude sledovať aktuálny stav a na jeho základe sa bude vedieť rozhodnúť, čo ďalej.

  • Uvažovať teda môžeme o týchto komponentoch:

    • Senzor hladiny odpadu - Ultrazvukový (ultrasonic) senzor, pomocou ktorého zabezpečíme včasný odvoz smetí. Vďaka tomuto senzoru už viac žiadny kontajner nebude pretekať odpadom.

    • Senzor teploty a vlhkosti - Senzor alebo senzory na monitorovanie prostredia. Toto je extrémne dôležité vtedy, ak sa jedná napr. o organický odpad, ktorý môže vplyvom teploty a vlhkosti hniť a zapáchať. Rovnako môžu údaje z týchto senzorov slúžiť aj ako prevencia pred možnosťou vzniku požiaru (napr. vo veľmi suchých oblastiach).

    • Senzor plameňa - V prípade, že niekto vhodí do kontajnera nedopalok z cigarety, môže dôjsť v kontajneri k požiaru. Občas môže dôjsť k úmyselnému zapáleniu kontajneru. Pomocou tohto senzora môžeme predísť takýmto situáciám včasným kontaktovaním potrebných zložiek ako aj prípadným ďalším škodám (napr. od kontajnera sa môže chytiť nehnuteľnosť v okolí).

    • Senzor otvorenia - Pomocou údajov z tohto senzora budeme vedieť štatistiku používania kontajnera. Rovnako môžeme na otvorenie kontajnera naviazať ďalšie činnosti, ako napr. meranie výšky hladiny odpadu až po zatvorení kontajnera.

    • Komunikačný modul - Tento modul bude zabezpečovať komunikáciu, vďaka čomu sa údaje z kontajnera dostanú do databázy a následne budú spracované a vyhodnotené. Výber vhodného komunikačného modulu samozrejme závisí aj od prostredia, v ktorom sa bude kontajner nachádzať.

    • Senzor vlhkosti pôdy - Tento senzor je zaujímavý len v prípade, ak sa jedná o kontajner pre kompost, aby bolo možné sledovať kompostovací proces.

    • Lokalizačný systém - Za zváženie stojí riešenie lokalizácie kontajneru. Poznáme rozličné typy kontajnerov - od statických, ktoré sa premiestňujú len pomocou žeriavu, a pohyblivé, ktoré sú často vybavené priamo kolieskami. Preto stojí za to zamyslieť sa aj nad touto otázkou, napr. aj v prípade špeciálneho použitia napr. na letných festivaloch. (otázky typu: Je GPS nutné? Stačí kontajner vybaviť QR kódmi? NFC senzormi? …)

    • Akčné členy zobrazujúce stav - Občas môže byť vhodné, ak zariadenie dá opticky alebo akusticky vedieť, čo práve robí. Napr. blikne LED diódou, ak meria alebo odosiela údaje alebo displej zobrazujúci stavové údaje. Použitie týchto akčných členov však treba zvážiť vzhľadom na vyššiu spotrebu energie.

    • Zdroj energie - Treba predpokladať, že chytrý kontajner nebude vybavený stálym zdrojom napätia. Preto treba uvažovať aj nad použitým zdrojom energie, poprípade uvažovať nad alternatívnym zdrojom, napr. v podobe solárnych článkov.

Additional Design Considerations

  • (slide) Na záver spomeniem ešte niekoľko vecí, ktoré je dobré zvážiť pri dizajnovaní IoT vecí.

  • Nebudem hovoriť o veciach ako cena, bezpečnosť alebo nízka spotreba, aj keď aj to sú faktory, na ktoré pri návrhu IoT zariadení a riešení netreba zabúdať. Pozrieme sa na niekoľko iných faktorov.

Size

  • (slide) IoT zariadenie je malé. Vzhľadom na použitie môže spadať do kategórie nositeľná elektronika (wearables).

  • Pri dizajnovaní a prototypovaní samozrejme veľkosť výsledného produktu nehrá rolu. Vo výsledku však áno. Snažte sa preto na veľkosť výsledného riešenia myslieť aj vo fáze návrhu.

KISS

  • (slide) Hneď na začiatku uvediem všeobecný návrhový vzor známy pod skratkou KISS. KISS je akronym pre “Keep it simple, stupid” alebo aj “Keep it stupid simple.”. Tento vzor hovorí o tom, že väčšina systémov pracuje najlepšie vtedy, keď sú jednoduché. Takže jednoduchosť je kľúčovým faktorom pri dizajnovaní produktov nie len v IoT.

  • Jednoduchosť sa v tomto prípade môže týkať ako hardvérového návrhu a celkového prevedenia, tak aj softvéru. Zbytočná komplexita prevedenia totiž nemusí hovoriť o vašej genialite, ale práve opačne - o vašej neschopnosti robiť veci jednoducho.

Things are State Machines

  • (slide) Je dobré si uvedomiť, že správanie vačšiny vecí (zariadení) sa dá opísať pomocou stavového diagramu. To tiež znamená, že tieto veci sú vlastne stavovými strojmi (stavovými automatmi, konečno-stavovými automatmi).

    State Machine of Turnstile [5]
  • Pozerať sa na zariadenie ako na stavový stroj môže uľahčiť jeho vývoj. Máme totiž veľmi dobrý aparát na ich opís (pomocou diagramu stavov) a rovnako tak máme aj softvérové riešenie na implementáciu stavového stroja (návrhový vzor stav). To nám umožňuje dekomponovať aj komplexný problém na menšie časti (jednotlivé stavy) a sústrediť sa na ich riešenie osobitne.

  • Grafická notácia pre reprezentáciu stavového stroja je veľmi jednoduchá, pretože obsahuje vlastne len dva prvky:

    • stavy, a
    • prechody medzi stavmi.
  • Samozrejme - ako stavy tak aj prechody medzi nimi môžeme obohatiť ďalšími informáciami, ako napr. kedy ku prechodu dôjde, čo sa udeje po vstupe do stavu, ako je stav reprezentovaný, a pod.

Systémy riadenia s otvorenou a uzavretou slučkou

Leto v roku 2026 niekoľkokrát prekonalo teplotné rekordy nielen na Slovensku. Dôsledkom vysokých teplôt bola úplne spálená tráva nielen na mnohých lúkach, ale aj na futbalových ihriskách. Niektoré obce však mali aj napriek teplu stále zelené trávniky aj na ihriskách. Dôvod bol pritom veľmi jednoduchý – používali zavlažovací systém. A na príklade zavlažovacieho systému si predstavíme dva prístupy, ktoré je možné v riadení systému použiť.

Systémy riadenia s otvorenou slučkou

Blokový diagram systému riadenia s otvorenou slučkou (z angl. open-loop system) sa nachádza na obrázku 1.

Obr. 1: Systém riadenia s otvorenou slučkou: blokový diagram

Význam jednotlivých blokov je nasledovný:

  • žiadaná hodnota – hodnota, ktorú chceme dosiahnuť na výstupe, napr. vlhkosť 35 %

  • riadiaci člen – na základe žiadanej hodnoty rozhoduje, aký zásah vykonať, bez toho, aby poznal skutočný výsledok, napr. časovač, ktorý každý deň o 5:00 otvorí ventil na 15 minút

  • akčný člen – zariadenie, ktoré premení rozhodnutie riadiaceho člena na fyzický zásah do sústavy, napr. ventil, ktorý púšťa vodu do postrekovačov

  • sústava – časť sveta, ktorú riadime a ktorej správanie chceme ovplyvniť, napr. futbalové ihrisko

  • výstup – veličina, ktorú chceme riadiť a ktorú sústava skutočne dosiahla, napr. skutočná vlhkosť pôdy

Systém riadenia s otvorenou slučkou je charakteristický tým, že žiadaná hodnota sa transformuje na povel. V prípade zavlažovacieho systému ide napr. o spustenie zavlažovania na konkrétny čas (o 05:00 na 15 min) alebo na objem (200 l vody). Po uplynutí času alebo vystriekaní príslušného objemu však nevieme, či výsledná vlhkosť dosiahla žiadanú hodnotu. Zabezpečiť to vieme len tak, že dlhodobým sledovaním zistíme, že na dosiahnutie príslušnej vlhkosti naozaj stačí 15 min polievania alebo 200 l vody.

Na sústavu však môžu vplývať rozličné poruchy, pozri obr. 2. V prípade futbalového ihriska môže ísť o zmeny počasia, ako napr. dážď, slnko, prípadne vietor.

Obr. 2: Systém riadenia s otvorenou slučkou a s poruchami

Systém riadenia s otvorenou slučkou však poruchy nevidí a závlaha sa spustí aj napriek tomu, že už niekoľko dní prší a pôda je nasiaknutá vodou. Rovnako nezistí, že po horúcom a veternom dni zostala zem vysušená aj po skončení polievania. Riadiaci člen totiž nemá žiadnu informáciu o tom, čo sa v sústave skutočne deje – vykoná naplánovaný povel a tým jeho práca končí. Výsledok je teda správny len vtedy, keď sú podmienky rovnaké ako tie, pre ktoré bol systém nastavený. Konkrétne komponenty zavlažovacieho systému ihriska aj s poruchami, ktoré naň pôsobia, sú znázornené na obrázku 3.

Obr. 3: Systém riadenia s otvorenou slučkou: zavlažovanie trávnatého ihriska

Systémy riadenia s otvorenou slučkou teda:

  • nemerajú výstup - o dosiahnutí žiadanej hodnoty rozhoduje len správne nastavenie povelu,
  • nereagujú na poruchy - zmena podmienok sa prejaví priamo na výstupe,
  • sú jednoduché a lacné - nepotrebujú senzor ani vyhodnocovanie spätnej väzby, a preto sú aj spoľahlivé z pohľadu počtu komponentov, ktoré sa môžu pokaziť.

Hodia sa preto na úlohy, kde sú podmienky stabilné alebo kde nepresný výsledok nespôsobí veľkú škodu, napr. práčka s pevne daným programom, hriankovač alebo jednoduchý časovač na zapínanie svetiel. Ak však potrebujeme, aby systém dosiahol žiadanú hodnotu aj napriek meniacim sa podmienkam, musí sa naučiť sledovať, čo sa na výstupe skutočne deje. A práve to je myšlienka systémov riadenia s uzavretou slučkou.

Systémy riadenia s uzavretou slučkou

Aby systém vedel reagovať na poruchy, pridáme do neho dve veci:

  1. Senzor, ktorý priebežne meria skutočný výstup sústavy (vlhkosť pôdy) a nameranú hodnotu privedie späť na vstup systému. Tomuto mechanizmu prepojenia výstupu so vstupom hovoríme spätná väzba (z angl. feedback).

  2. Porovnávací člen, ktorý porovná žiadanú hodnotu (\(w\)) s nameranou hodnotou výstupu (\(y\)) a na základe výsledku regulátor (riadiaci člen v uzavretej slučke) rozhodne, čo spraví.

Rozšírením systému riadenia s otvorenou slučkou o spätnú väzbu vytvoríme systém riadenia s uzavretou slučkou (z angl. closed-loop system). Jeho blokový diagram sa nachádza na obrázku 4.

Obr. 4: Systém riadenia s uzavretou slučkou: blokový diagram

Výsledkom porovnávacieho člena je rozdiel žiadanej a nameranej hodnoty, ktorý sa nazýva regulačná odchýlka (\(e\)) a matematicky sa dá vyjadriť ako

\[ e = w - y \]

Hodnota regulačnej odchýlky môže byť kladná, záporná alebo nulová:

  • \(e > 0\) – vlhkosť pôdy je nižšia ako žiadaná, preto regulátor zavlažovanie zapne,
  • \(e < 0\) – vlhkosť pôdy je vyššia ako žiadaná, preto polievať netreba a zavlažovanie sa vypne,
  • \(e = 0\) – vlhkosť pôdy zodpovedá žiadanej hodnote a regulátor nemusí nič meniť.

Konkrétne komponenty zavlažovacieho systému ihriska s uzavretou slučkou – vlhkomer v pôde, riadiacu jednotku a ventil – ako aj poruchy, ktoré na ihrisko pôsobia, znázorňuje obrázok 5.

Obr. 5: Systém riadenia s uzavretou slučkou: zavlažovanie trávnatého ihriska

Systémy riadenia s uzavretou slučkou teda:

  • merajú výstup – o zásahu rozhoduje skutočný stav sústavy, a nie naplánovaný povel,
  • reagujú na poruchy – nevidia ich priamo, ale zistia ich dôsledok na výstupe a zásah prispôsobia,
  • sú zložitejšie a drahšie – potrebujú senzor a jeho vyhodnocovanie, a keď senzor zlyhá alebo meria nepresne, regulátor sa rozhoduje podľa nesprávnych údajov.

Používajú sa všade tam, kde je potrebné udržať žiadanú hodnotu aj pri meniacich sa podmienkach, napr. termostat pri kúrení, chladnička, tempomat v aute alebo spomínané automatické zavlažovanie so senzorom vlhkosti.

Pri nasadení systému riadenia s uzavretou slučkou v praxi však treba ešte vyriešiť dva problémy: oneskorenie, ktoré spôsobuje prekmit, a príliš časté zapínanie a vypínanie akčného člena, ktorému sa predchádza pomocou hysterézie.

Oneskorenie

Vo väčšine reálnych systémov sa účinok zásahu na výstupe neprejaví okamžite. Pri zavlažovaní je to veľmi výrazné – voda potrebuje čas, kým vsiakne do pôdy až k senzoru, ktorý je umiestnený v koreňovej zóne. Hovoríme, že systém má oneskorenie (z angl. dead time). Ak by s ním regulátor nerátal, senzor by ešte niekoľko minút po spustení zavlažovania hlásil suchú pôdu a zavlažovanie by bežalo ďalej. Keď sa voda k senzoru napokon dostane, pôda je už preliata a vlhkosť výrazne prekročí žiadanú hodnotu. Tomuto javu hovoríme prekmit (z angl. overshoot). V praxi sa mu predchádza zavlažovaním v dávkach, napr. 5 minút sa polieva a 30 minút sa čaká, kým voda vsiakne a vlhkosť sa odmeria znova.

Hysterézia

Druhý problém vzniká, keď sa vlhkosť pohybuje tesne okolo žiadanej hodnoty. Ak by sa regulátor riadil len znamienkom regulačnej odchýlky, stačilo by, aby vlhkosť klesla o desatinu percenta pod žiadanú hodnotu, a zavlažovanie by sa zaplo. Hneď ako by ju o desatinu percenta prekročila, znova by sa vyplo. Ventil by sa tak neustále zapínal a vypínal, čo ho zbytočne opotrebúva. Toto správanie ilustruje obrázok 6.

Obr. 6: Regulácia zavlažovania bez hysterézie

Preto sa používa hysterézia (z angl. hysteresis) – namiesto jednej hodnoty sa nastavia dve: zavlažovanie sa zapne, až keď vlhkosť klesne pod dolnú hranicu (z angl. lower threshold, napr. 30 %), a vypne sa, až keď prekročí hornú hranicu (z angl. upper threshold, napr. 35 %). Medzi týmito hranicami regulátor stav ventilu nemení, ako je vidieť na obrázku 7.

Obr. 7: Regulácia zavlažovania s hysteréziou

Všimnite si, že vlhkosť po vypnutí zavlažovania ešte chvíľu stúpa a po jeho zapnutí ešte chvíľu klesá – to je dôsledok oneskorenia opísaného vyššie.

Literatúra

[1] Getting started with Raspberry Pi. In [online]. Dostupné na internete: <https://projects.raspberrypi.org/en/projects/raspberry-pi-getting-started>.
[2] micro:bit. In [online]. Dostupné na internete: <https://tech.microbit.org/hardware/>.
[3] FRONTZ, M. - LYST, J. Project Internet of Things. In [online]. 2021. Dostupné na internete: <https://docs.idew.org/project-internet-of-things/>.
[4] LACKO, Ľ. IoT prakticky: Python na ESP32, popis portov a rozhraní. In [online]. 2019. Dostupné na internete: <https://www.pcrevue.sk/a/IoT-prakticky--Python-na-ESP32--popis-portov-a-rozhrani>.
[5] TSONEV, K. The Rise Of The State Machines. In [online]. 2018. Dostupné na internete: <https://www.smashingmagazine.com/2018/01/rise-state-machines/>.