

=> bikeman/20231225_144953.jpg
Praca układu polega na ciągłym monitorowaniu dowolnego aktywnego pinu modułu LoRa i w przypadku stwierdzenia braku aktywności modułu, wykonanie resetu sprzętowego. Prototyp został przetestowany na module LoRa opartym na DIY ESP32 + E22-900M30S.
Schemat modułu Watchdog
================================

=> bikeman/schemat_.jpg
Opis linii czasowej modułu Watchdog
================================

=> bikeman/watchdog_timeline.jpg
1. W przypadku modułu DIY, na GPIO02 [PIN24] występuje co ~1 sekundę, impuls trwający ~1 milisekundę. Jednak może to być dowolny inny pin modułu, na którym występuje dowolna aktywność, czyli przynajmniej jedno zbocze narastające i opadające, w ciągu ustalonego minimalnego okresu badania aktywności.
2. Jeśli na B1 [PIN2] układu UCY74123 występuje zmienny przebieg, na wyjściu Q1 [PIN13] występuje stan wysoki.
3. Jednocześnie na ~Q2 [PIN] dołączonego do EN/RST modułu LoRa, występuje również stan wysoki.
4. Gdy na B1 [PIN2] układu UCY74123, przestaje docierać zmienny przebieg, oznacza, że moduł LoRa zaliczył zwis.
5. Przy dalszym braku impulsów kontrolnych, po okresie czasu ustalonym wartościami elementów C1-R1, następuje zmiana stanu watchdog Q1 [PIN13] na niski.
6. To pociąga wygenerowanie impulsu resetującego ~Q2 [PIN12], który jest podłączony do EN/RST modułu LoRa. Należy zidentyfikować, w posiadanym module, pin odpowiadający za reset modułu. W przypadku DIY to jest EN/RST [PIN2].
7. Długość impulsu resetującego, ustala się wartościami R2-C2.
8. Moduł LoRa resetuje się, zaczynają się pojawiać ponownie impulsy na kontrolowanym pinie GPIO02 [PIN24]
9. Następuje zmiana stanu watchdog Q1 [PIN13] na wysoki. Powracamy do punktu 2.
10. Po zresetowaniu lory, jeśli lora nie zacznie wysyłać przynajmniej jednego zmiennego przebiegu na "czujkę", watchdog nie podejmie kolejnej próby resetu (reset w nieskończoność). Takie działanie zabezpiecza przed sytuacja, gdy lora podnosi się dłużej niż czas oczekiwania watchdoga, z jakiegoś powodu i nie podaje impulsów do czujki, wtedy watchdog uwalałby procesy w czasie podnoszenia i nigdy nie dopuścił do pełnego uruchomienia.
Uwagi
======
Pobór prądu przez moduł Watchdog wynosi ok 34mA.
Rozmiary prototypu: 2x8 cm.
Jeśli występować będzie niedopasowanie napięciowe poziomów logicznych, pomiędzy modułem LoRa (poziomy 3.3V), a 74123 (poziomy 5V), należy sygnał resetujący na PIN EN/RST (LoRa) podłączyć przez rezystor 1k. Sygnał wejściowy na PIN 2 (74123) można podłączyć bezpośrednio. Można również zastosować dwukierunkowy konwerter stanów logicznych (koszt ~1PLN), np.: https://pl.aliexpress.com/item/1005004225321778.html
W kolejnej wersji PCB, rezystor na wyjściu resetującym, będzie uwzględniony w na PCB.
Czasy poszczególnych przebiegów watchdoga można doświadczalnie ustawić za pomocą doboru elementów RC-12.
W zaprojektowanym układzie należy stosować wyłącznie wersje układu TTL w wersji standardowej, czyli 74123, 64123, itp. Zastosowanie układów z serii 74LS123, 74HC123, 74HCT123 zakończy się niepowodzeniem, ze względu na zbyt wysoką czułość (indukcja) i przypadkowe wzbudzanie się modułu, co będzie powodować nieuzasadnione częste resety modułu LoRa. Wykonanie modułu na wspomnianych układach jest możliwe pod warunkiem stworzenia specjalnie zaprojektowanego PCB wykluczającego wpływ indukcyjności wzajemnej elementów układu oraz dodanie elementów eliminujących przenoszenie zakłóceń przez zasilanie. Moim założeniem było stworzenie układu, do wykonania w warunkach domowych, bez specjalistycznego sprzętu.
Poniżej wersja profesjonalna (PCB by Blue). Rozmiar PCB to tylko 2x4cm. Na poniższych zdjęciach widać obie strony PCB oraz zmontowany układ. Nie są wlutowane złącza kablowe KF-350, ale jeśli ktoś ma potrzebę, można je wlutować. Na płytce jest dodatkowa zworka na goldpinach, umożliwiająca sterowanie resetem zarówno poziomem niskim, jak i wysokim. Wystarczy przełożyć zworkę.

=> bikeman/20240121_202520.jpg

=> bikeman/20240121_202527.jpg

=> bikeman/20240121_202848.jpg
Pliki PCB (gerber):

=> bikeman/PCB1.jpg

=> bikeman/PCB3.jpg
=> bikeman/WatchDog_gerber.zip
Kilka dodatkowych fotek dla atencji

=======================

=> bikeman/20231225_132042.jpg

=> bikeman/20231225_144942.jpg

=> bikeman/20231225_144953.jpg

=> bikeman/20231225_145003.jpg

=> bikeman/20231225_145014.jpg

=> bikeman/rst_impulse.jpg