Talaan ng mga Nilalaman:
- Hakbang 1: Ano ang Timer ng Watchdog na Ito?
- Hakbang 2: Paano Paganahin ang Watchdog Timer?
- Hakbang 3: Panatilihing Tumatakbo ang Iyong Program
- Hakbang 4: Halimbawa ng Paggamit
- Hakbang 5: Mga Isyu sa Timer ng Watchdog
- Hakbang 6: Masiyahan
Video: Ang Arduino Hang Guardian - Arduino Watchdog Timer Tutorial: 6 na Hakbang
2024 May -akda: John Day | [email protected]. Huling binago: 2024-01-30 13:12
Kumusta Lahat, Nangyayari ito sa ating lahat. Bumuo ka ng isang proyekto, masigasig na ikonekta ang lahat ng mga sensor, at bigla na lang, nag-hang ang Arduino at walang naprosesong input.
"Ano ang nangyayari?", Magtatanong ka at magsisimulang maghukay sa iyong code, upang mapagtanto na natigil ka sa isang walang katapusang loop. Salamat sa Diyos ang Arduino ay nasa iyong bench at wala sa isang malayuang lokasyon.
Ngayon, titingnan natin kung paano namin magagamit ang tagapantay ng relo sa Arduino upang maiwasan itong mangyari.
Hakbang 1: Ano ang Timer ng Watchdog na Ito?
Ang Arduino watchdog timer tulad ng ipinapahiwatig ng pangalan ay isang timer na tumatakbo nang hiwalay mula sa pangunahing CPU sa board. Ang timer na ito ay maaaring magamit upang pana-panahong suriin ang estado ng board at sa mga pangyayari kung saan ang board ay natigil sa isang loop ng software o natigil dahil sa pagkabigo ng hardware, maaaring mai-reset ng timer ng monitor ang Arduino at simulan muli itong muli.
Bilang default kapag hindi ginagamit ang timer na ito ay hindi pinagana sa lahat ng mga proyekto at kapag pinagana lamang namin ito, kailangan naming siguraduhin na pana-panahong sabihin ito na huwag i-reset ang aming board kung umaandar pa rin ito tulad ng inaasahan.
Upang magamit ang watchdog timer, kailangan muna naming isama ang avr / wdt.h file sa aming Arduino sketch. Ito ang karaniwang silid-aklatan na humahawak sa mga pagkilos na nagbabantay.
Hakbang 2: Paano Paganahin ang Watchdog Timer?
Upang paganahin ang timer, ginagamit namin ang pagpapaandar na "wdt_enable" kung saan kailangan naming pumasa sa agwat ng threshold kung saan i-reset ang board. Nakasalalay sa aming kaso ng paggamit, maaari itong maging kahit saan mula sa 15 milliseconds hanggang sa 8 segundo sa paunang natukoy na mga setting na nilalaman sa library ng watchdog.
THRESHOLD - CONSTANT NAME
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
Hakbang 3: Panatilihing Tumatakbo ang Iyong Program
Ngayon, na may naka-on na timer, upang maiwasang mai-reset ang aming Arduino kailangan namin pana-panawagan na tawagan ang function na "wdt_reset" upang i-reset ang timer ng watchdog bago mag-expire ang agwat ng threshold.
Kapag pumipili ng agwat ng pag-reset, mahalaga na isasaalang-alang namin ang anumang mahabang operasyon tulad ng pagbabasa o pagpapadala ng data o pagkonekta sa mga panlabas na sensor. Ang pag-reset ng threshold ay dapat na hindi bababa sa isa at kalahating beses na mas malaki kaysa sa mga oras na ito upang maiwasan ang anumang hindi sinasadyang pag-reset.
Hakbang 4: Halimbawa ng Paggamit
Sa halimbawang programa na maaari mong i-download dito, unang na-set up namin ang timer ng tagabantay na may pagitan ng pag-reset ng 4 na segundo. Pagkatapos upang malaman na nasa pag-andar kami ng pag-setup, nag-flash kami ng isang LED nang 3 beses nang mabilis at pagkatapos ay sa pangunahing loop ay una naming na-reset ang timer, ilaw ang isang LED na may mas mahabang progreso at pagkatapos ay i-off namin ito. Ang susunod na loop ay muling i-reset ang timer hanggang sa ang oras ng pag-iilaw ay mas mahaba sa 4 na segundo.
Kapag nangyari ito, itinatakda ng timer ng tagabantay ang board at naisagawa muli ang pag-setup.
Hakbang 5: Mga Isyu sa Timer ng Watchdog
Ang isang posibleng isyu sa timer ng watchdog, nakasalalay sa bootloader ng iyong Arduino ay kung ang halaga ng watchdog timer ay masyadong mababa at ang bootloader ay hindi na-reset ang timer kapag nag-a-upload ng bagong code, maaari kang mapunta sa pinsala sa iyong Arduino board sa isang paraan na palagi itong mai-stuck sa boot phase. Susubukan ng bootloader na magsimula, ngunit ang timer ay patuloy na i-reset ang board, hindi kailanman pinapayagan itong maayos na magsimula. Upang maiwasan ang mga isyu na tulad nito, tiyaking laging gumagamit ng mga agwat ng threshold na 2 segundo o higit pa.
Hakbang 6: Masiyahan
Kung mayroon kang isang halimbawa kung saan mo ginamit ang tagapantay ng relo sa isang totoong proyekto, ipaalam sa akin sa mga komento, tiyaking nagustuhan ang video at huwag kalimutang mag-subscribe.
Cheers at salamat sa pagbabasa / panonood!
Inirerekumendang:
Kontrolin ang Servo Gamit ang 555 Timer IC: 3 Mga Hakbang
Kontrolin ang Servo Gamit ang 555 Timer IC: Ang aking kauna-unahang itinuro ay " Pagkontrol sa Mga Serbisyo gamit ang Analog Joystick ". Mula noon ay nagbahagi ako ng ilang mga proyekto na nangangailangan ng mga servo halimbawa: Robotic arm at Face tracker. Palagi kaming gumagamit ng isang microcontroller upang makontrol ang mga servos. Ngunit sa
Stepper Motor Sa D Flip Flops at 555 Timer; ang Unang Bahagi ng Circuit ang 555 Timer: 3 Hakbang
Stepper Motor Sa D Flip Flops at 555 Timer; ang Unang Bahagi ng Circuit ang 555 Timer: Ang stepper motor ay isang DC motor na gumagalaw sa discrete na mga hakbang. Ito ay madalas na ginagamit sa mga printer at kahit robot. Ipapaliwanag ko ang circuit na ito sa mga hakbang. Ang unang bahagi ng circuit ay isang 555 timer Ito ang unang imahe (tingnan sa itaas) na may 555 chip w
AVR Microcontroller. Mga LED Flasher Gamit ang Timer. Nakagambala ang Mga timer. Timer CTC Mode: 6 na Hakbang
AVR Microcontroller. Mga LED Flasher Gamit ang Timer. Nakagambala ang Mga timer. Timer CTC Mode: Kamusta sa lahat! Ang timer ay isang mahalagang konsepto sa larangan ng electronics. Ang bawat elektronikong sangkap ay gumagana sa isang batayan sa oras. Nakakatulong ang base ng oras na ito upang mapanatili ang lahat ng trabaho na naka-synchronize. Ang lahat ng mga microcontroller ay gumagana sa ilang paunang natukoy na dalas ng orasan, ang
NE555 Timer - Ang pag-configure ng NE555 Timer sa isang Nakakatakot na Pag-configure: 7 Hakbang
NE555 Timer | Ang pag-configure ng NE555 Timer sa isang Nakakatakot na Pag-configure: Ang timer ng NE555 ay isa sa mga pinakakaraniwang ginagamit na IC sa mundo ng electronics. Ito ay nasa anyo ng DIP 8, nangangahulugang nagtatampok ito ng 8 mga pin
Hindi gumagana ang NODEMcu Usb Port? I-upload ang Code Gamit ang USB sa TTL (FTDI) Module sa 2 Hakbang lamang: 3 Hakbang
Hindi gumagana ang NODEMcu Usb Port? I-upload ang Code Gamit ang USB sa TTL (FTDI) Module sa Lamang 2 Mga Hakbang: Pagod na sa pagkonekta sa maraming mga wire mula sa USB hanggang TTL module sa NODEMcu, sundin ang itinuturo na ito, upang mai-upload ang code sa 2 hakbang lamang. Kung ang USB port ng Ang NODEMcu ay hindi gumagana, pagkatapos ay huwag panic. Ito lang ang USB driver chip o ang konektor ng USB,