Watchdog dla modułów LoRa v.1.0

Dział poświęcony zasilaniu, układom off-grid, panelom solarnym, akumulatorom, oraz urządzeniom do nadzoru (watchdogi, restartery, itp)
bikeman
Site Admin
Posty: 67
Rejestracja: pt gru 15, 2023 9:13 pm
Lokalizacja: SQ6B, QTH Wrocław

Watchdog dla modułów LoRa v.1.0

Post autor: bikeman »

Watchdog to niezbędny element nadzorujący aktywność dowolnych modułów LoRa (LilyGO, Heltec, DIY, itp.), szczególnie tych pracujących w sposób nienadzorowany, w miejscach niedostępnych, itd. Dla ciekawych świata :D, opisałem szczegółowo zasadę działania.

Obrazek
=> 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
================================

Obrazek
=> bikeman/schemat_.jpg

Opis linii czasowej modułu Watchdog
================================

Obrazek
=> 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ę.

Obrazek
=> bikeman/20240121_202520.jpg

Obrazek
=> bikeman/20240121_202527.jpg

Obrazek
=> bikeman/20240121_202848.jpg

Pliki PCB (gerber):

Obrazek
=> bikeman/PCB1.jpg

Obrazek
=> bikeman/PCB3.jpg

=> bikeman/WatchDog_gerber.zip

Kilka dodatkowych fotek dla atencji 8-)
=======================

Obrazek
=> bikeman/20231225_132042.jpg

Obrazek
=> bikeman/20231225_144942.jpg

Obrazek
=> bikeman/20231225_144953.jpg

Obrazek
=> bikeman/20231225_145003.jpg

Obrazek
=> bikeman/20231225_145014.jpg

Obrazek
=> bikeman/rst_impulse.jpg
bikeman
Site Admin
Posty: 67
Rejestracja: pt gru 15, 2023 9:13 pm
Lokalizacja: SQ6B, QTH Wrocław

Re: Watchdog dla modułów LoRa v.1.0

Post autor: bikeman »

Jako, że jest duże zainteresowanie uzyskaniem PCB, proszę uprzejmie poniżej zadeklarować zapotrzebowanie na konkretną ilość płytek. Zsumuję, skalkuluję i podam cenę. Bedzie akceptacja, będziemy zamawiać :)
V-Tom
Posty: 3
Rejestracja: sob gru 16, 2023 12:59 am

Re: Watchdog dla modułów LoRa v.1.0

Post autor: V-Tom »

Sławku ja deklaruję zakup 10sztuk. Dzięki
ACSO
Posty: 2
Rejestracja: pn sty 22, 2024 5:32 pm

Re: Watchdog dla modułów LoRa v.1.0

Post autor: ACSO »

Moduł Lora w trybie Client pobiera ok 65mA, a trybie Router ok 11mA.
Przy zasilaniu bateryjnym lub solarnym dodatkowe 35mA dla układu Watchdog to bardzo dużo.
Widzę, że projekt zewnętrznego układu jest mocno zaawansowany.
A jest od dawna na rynku gotowe rozwiązanie o znikomym poborze prądu.
Dodatkowo w minimalnej konfiguracji wymaga jedynie zasilnia, a nadzorowane urządzenie
zasilane jest z układu.
Chodzi o układ TPL5110.
Sam układ kosztuje ok 1-2zł. Sa też gotowe moduły za 17-35zł.
Do minimalnej konfiguracji wystarczą dwa rezystory.
Zapewnia czas resetu od 100ms do 2 godzin i czas ten może być resetowany ze sterowanego układu.
Może resetować lub cyklicznie wyłączać zasilanie nadzorowanego układu.
Pozdrawiam
Adam ML09
Ma_Ster
Posty: 2
Rejestracja: sob gru 16, 2023 11:49 am

Re: Watchdog dla modułów LoRa v.1.0

Post autor: Ma_Ster »

No to zapisuję swoją szanowną d... na 10szt płytek 😁👍
bikeman
Site Admin
Posty: 67
Rejestracja: pt gru 15, 2023 9:13 pm
Lokalizacja: SQ6B, QTH Wrocław

Re: Watchdog dla modułów LoRa v.1.0

Post autor: bikeman »

ACSO pisze: pn sty 22, 2024 5:51 pm Moduł Lora w trybie Client pobiera ok 65mA, a trybie Router ok 11mA.
Przy zasilaniu bateryjnym lub solarnym dodatkowe 35mA dla układu Watchdog to bardzo dużo.
Widzę, że projekt zewnętrznego układu jest mocno zaawansowany.
A jest od dawna na rynku gotowe rozwiązanie o znikomym poborze prądu.
Dodatkowo w minimalnej konfiguracji wymaga jedynie zasilnia, a nadzorowane urządzenie
zasilane jest z układu.
Chodzi o układ TPL5110.
Sam układ kosztuje ok 1-2zł. Sa też gotowe moduły za 17-35zł.
Do minimalnej konfiguracji wystarczą dwa rezystory.
Zapewnia czas resetu od 100ms do 2 godzin i czas ten może być resetowany ze sterowanego układu.
Może resetować lub cyklicznie wyłączać zasilanie nadzorowanego układu.
Pozdrawiam
Adam ML09
Owszem prąd 34mA, w pewnych sytuacjach (np., zasilanie solarne) może nie być zadowalający. Jednak planuje oparcie modułu na układach CMOS z serii 74LS123, 74HC123, 74HCT123. Wtedy pobór prądu spadnie do kilku mA.

Generalnie restart cykliczny nie jest zdrowy dla mikrokontrolerów z wielu powodów. Dodatkowo wspomniana przez Ciebie koncepcja nie jest układem watchdog, tylko killer. Regularne killowanie procesów naraża na regularną utratę przesyłanych informacji, może spowodować uszkodzenie danych w pamięci, jeśli skilujesz urządzenie w trakcie ich zapisu. Uwalanie mikrokontrolera w czasie przetwarzania czegokolwiek (12x na dobę?), jest bardzo mało profesjonalne i w ogólnym założeniu przynosi więcej szkód niż pożytku. Poza tym, żeby uwalać jakikolwiek układ w określonym okresie czasu, nie potrzeba aż tak wyrafinowanego rozwiązania, jak TPL.

Koncepcja watchdoga opiera się na restarcie urządzenie, tylko wtedy, kiedy się zawiesza, a nie regularnym ubijaniu. Oczywiście każdy może sobie wybrać rozwiązanie koncepcyjne pod swoje potrzeby.
Moja koncepcja pozwala na proste ustalenie czasu oczekiwania na aktywność, ustalenie czasu impulsu resetującego, oraz możliwość resetowania stanem niskim lub wysokim. Co pozwala na proste podłączenie modułu przekażnika, jeśli sytuacja tego wymaga.
ACSO
Posty: 2
Rejestracja: pn sty 22, 2024 5:32 pm

Re: Watchdog dla modułów LoRa v.1.0

Post autor: ACSO »

Witam
Zapewnia czas resetu od 100ms do 2 godzin i czas ten może być resetowany ze sterowanego układu.
Czyli jak pisałem układ może działać jak prawdziwy Watchdog nie Killer
Ma do tego dedykowane wejście.
Adam ML09
V-Tom
Posty: 3
Rejestracja: sob gru 16, 2023 12:59 am

Re: Watchdog dla modułów LoRa v.1.0

Post autor: V-Tom »

V-Tom pisze: ndz sty 21, 2024 11:25 pm Sławku ja deklaruję zakup 10sztuk. Dzięki
Ok, Twoja argumentacja na zello do mnie przemawia. W takim układzie zamiast 10 wezmę 5 sztuk, w oczekiwaniu na kolejne wersje. ;)
Yendrek
Posty: 1
Rejestracja: wt sty 23, 2024 4:47 pm

Re: Watchdog dla modułów LoRa v.1.0

Post autor: Yendrek »

Ello,elo.dotarłem , deklaruję się na 5 płytek.
bikeman
Site Admin
Posty: 67
Rejestracja: pt gru 15, 2023 9:13 pm
Lokalizacja: SQ6B, QTH Wrocław

Re: Watchdog dla modułów LoRa v.1.0

Post autor: bikeman »

ACSO pisze: wt sty 23, 2024 3:52 pm Witam
Zapewnia czas resetu od 100ms do 2 godzin i czas ten może być resetowany ze sterowanego układu.
Czyli jak pisałem układ może działać jak prawdziwy Watchdog nie Killer
Ma do tego dedykowane wejście.
Adam ML09
W takim wypadku, niewątpliwie, jest to z pewnością ciekawe rozwiązanie dla "wyżyłowanych" układów opartych o zasilanie solarne, gdzie mój "projekt" może być zbyt prądożerny.

Może warto umieścić tutaj lub gdziekolwiek (a tu link), podobny do tego, gotowy schemat aplikacyjny, aby mniej zaawansowani koledzy/koleżanki, mogli wybrać odpowiednie dla siebie rozwiązanie i w prosty sposób wdrożyć w swoich urządzeniach?

Samo ogólne wskazanie rozwiązania, bez opisu realizacji, testów praktycznych, itp, dla znakomitej ilości osób ma niewielkie znaczenie praktyczne.
Także, jeśli możesz, wskaż odpowiednie źródła lub umieść opis rozwiązania konkretnego układu.
ODPOWIEDZ