Obsah:

Výukový program Arduino Hang Guardian - Časovač strážneho psa Arduino: 6 krokov
Výukový program Arduino Hang Guardian - Časovač strážneho psa Arduino: 6 krokov

Video: Výukový program Arduino Hang Guardian - Časovač strážneho psa Arduino: 6 krokov

Video: Výukový program Arduino Hang Guardian - Časovač strážneho psa Arduino: 6 krokov
Video: Arduino watchdog timer Demo 2024, December
Anonim
Image
Image

Ahoj všetci, Stáva sa to každému z nás. Postavíte projekt, nadšene pripojíte všetky senzory a zrazu Arduino visí a nespracuje sa žiadny vstup.

"Čo sa deje?", Opýtate sa a začnete kopať svoj kód, aby ste si uvedomili, že ste uviazli v nekonečnej slučke. Vďaka bohu, že Arduino bolo na vašej lavičke, a nie na odľahlom mieste.

Dnes sa pozrieme na to, ako môžeme použiť časovač strážneho psa na Arduine, aby sme tomu zabránili.

Krok 1: Čo je to časovač strážneho psa?

Ako povoliť časovač Watchdog?
Ako povoliť časovač Watchdog?

Časovač strážneho psa Arduino, ako naznačuje názov, je časovač, ktorý beží oddelene od hlavného CPU na doske. Tento časovač je možné použiť na pravidelnú kontrolu stavu dosky a za okolností, keď sa doska zasekne v softvérovej slučke alebo sa zasekne v dôsledku zlyhania hardvéru, môže časovač strážneho psa resetovať Arduino a nechať ho začať odznova.

V predvolenom nastavení je tento časovač deaktivovaný na všetkých projektoch a iba keď ho povolíme, musíme ho pravidelne upozorňovať, aby neresetoval našu dosku, ak stále funguje podľa očakávania.

Aby sme mohli používať časovač strážneho psa, musíme do nášho náčrtu Arduino najskôr zahrnúť súbor avr/wdt.h. Toto je štandardná knižnica, ktorá uchováva akcie strážneho psa.

Krok 2: Ako zapnete časovač Watchdog?

Ako povoliť časovač Watchdog?
Ako povoliť časovač Watchdog?
Ako povoliť časovač strážneho psa?
Ako povoliť časovač strážneho psa?

Na aktiváciu časovača používame funkciu „wdt_enable“, kde potrebujeme prejsť v prahovom intervale, v ktorom sa doska resetuje. V závislosti od nášho prípadu použitia to môže byť kdekoľvek od 15 milisekúnd až po 8 sekúnd vo vopred definovaných nastaveniach, ktoré sú obsiahnuté v knižnici strážneho psa.

THRESHOLD - KONSTANTNÉ MENO

15 ms WDTO_15MS 30 ms WDTO_30MS 60 ms WDTO_60MS 120 ms WDTO_120MS 250 ms WDTO_250MS 500 ms WDTO_500MS 1s WDTO_1S 2s WDTO_2S 4s WDTO_4S 8s WDTO_8S

Krok 3: Nechajte program bežať

Nechajte svoj program bežať
Nechajte svoj program bežať

Teraz, keď je zapnutý časovač, aby sme tomu zabránili v resetovaní nášho Arduina, musíme periodicky volať funkciu „wdt_reset“na resetovanie časovača strážneho psa pred vypršaním intervalu prahovej hodnoty.

Pri výbere intervalu resetovania je dôležité, aby sme vzali do úvahy všetky zdĺhavé operácie, ako je čítanie alebo odosielanie údajov alebo pripojenie k externým senzorom. Prah resetovania by mal byť najmenej jeden a pol krát väčší ako tieto časy, aby sa zabránilo náhodnému resetovaniu.

Krok 4: Príklad použitia

Príklad použitia
Príklad použitia
Príklad použitia
Príklad použitia
Príklad použitia
Príklad použitia

V príklade programu, ktorý si môžete stiahnuť tu, sme najskôr nastavili časovač strážneho psa s intervalom resetovania 4 sekundy. Potom, aby sme vedeli, že sme vo funkcii nastavenia, trikrát rýchlo zablikáme LED diódou a potom v hlavnej slučke najskôr vynulujeme časovač, rozsvietime LED diódu s postupne dlhšími intervalmi a potom ju vypneme. Nasledujúca slučka opäť vynuluje časovač, kým doba rozsvietenia nie je dlhšia ako 4 sekundy.

Keď sa to stane, časovač strážneho psa resetuje dosku a nastavenie sa vykoná znova.

Krok 5: Problémy s časovačom strážneho psa

Jeden z možných problémov s časovačom watchdog v závislosti od bootloadera vášho Arduina je ten, že ak je hodnota časovača watchdog príliš nízka a bootloader neresetuje časovač pri odosielaní nového kódu, môže dôjsť k poškodeniu dosky Arduino spôsobom, ktorý bude vždy uviaznutý vo fáze zavádzania. Zavádzač sa pokúsi spustiť, ale časovač bude pokračovať v resetovaní dosky, pričom nikdy nedovolí, aby sa správne spustil. Aby ste predišli takýmto problémom, vždy používajte prahové intervaly 2 sekundy alebo viac.

Krok 6: Užite si to

Užite si to
Užite si to

Ak máte príklad, kde ste časovač strážneho psa použili v skutočnom projekte, dajte mi vedieť v komentároch, dajte si lajk a video sa vám páči a nezabudnite sa prihlásiť na odber.

Na zdravie a ďakujem za čítanie/sledovanie!

Odporúča: