Hallo Forum, ich möchte in meinem Projekt wo ein Arduino Mini Pro läuft ( AT Mega 328 ), diesen mittels Watchdog überwachen, da die Schaltung in einem schwer zugänglichen Bereich aufgestellt wird. ( Wetterstation ) Um nun sicherzugehen, dass der Arduino neu gestartet wird, falls er sich in einer Schleife mal verirrt hat, brauche ich einen WTG. Soll ich nun einen Softwarewatchdog nach dieser Anleitung hier implementieren oder eher einen Hardware? http://tushev.org/articles/electronics/48-arduino-and-watchdog-timer Als Hardware Watchdog hätte ich mir den MAX6369 vorgestellt. Was wären die Vor und Nachteile von Hard und Software WTG. Welche Variante wäre redundanter? danke im voraus für die Unterstützung mfg Dieter
Hallo, ich habe bisher immer der internen WDT der Atemags benutzt. Der läuft ja auch nicht in Software, sonder wird nur über das Programm oder die Fuse eingeschaltet und läuft dann unabhängig vom Controller. Gruß Michael
Wie sieht denn ein Softwarewatchdog aus? Das hört sich nach einem höchst überflüssigen Programmteil an. BTW: Watchdogs werden nicht in Interruptroutinen (und schon gar nicht im Timer-Interrupt!) zurückgesetzt, sondern nur in der Hauptschleife. Denn auch wenn das Programm sich in der Hauptschleife verrannt hat, kommt weiterhin zuverlässig der Timer...
Lothar Miller schrieb: > Wie sieht denn ein Softwarewatchdog aus? Er hat das missverstanden oder schlecht ausgedrückt. Aus dem Link geht es hervor: Es ist der im Mega eingebaute WDT gemeint.
Also redundanter gibt es nicht. Redundanz beschreibt das mehrfache Vorhandensein von Anlagenfunktionen zur Fehlerkorrektur. Also ist eine Funktion mehrfach vohanden (redundant) oder eben nicht. Für fast alle Falle sollte der intere Watchdog der AVR´s reichen. Ihn per zusätzlicher Schaltung zu implementieren bringt bei einem heilen AVR keinen Vorteil. Wenn du Redundanz haben möchtest kannst du Ihn natürlich zusätzlich Implementieren. Wenn Redundanz sein soll, wäre aber eher ein zweiter AVR mit der selben Software sinvoll, welcher von der Hardware überprüft wird. -> Beide Avr´s werden per internen Watchdog überwacht. Eine externe Schaltung überwacht den ersten AVR, wenn dieser nicht mehr läuft wird auf den 2ten geschaltet.
Man sollte sich angewoehnen ohne Watchdog zu arbeiten. Mit einem Watchdog kann man Programmfehler kaschieren. Dh eine Funktionalitaet die ausgefuehrt werden sollte wird nicht ausgefuehrt. Mit einem Watchdog kasnn man auch schludriges EMV Design kaschieren. Wenn die Bedingungen denn so sind, dass man die externe Einwirkung nicht abschaetzen kann, die EMV Massnahmen ja ein Limit haben muessen, dann kann man den Watchdog einsetzen. Man sollte aber auch pruefen, ob das Programm nachher auch richtig weiterlaeuft. zB die EMV Einwirkung mit einem OnBoard Taster simulieren. Eine Wetterstation als Geraet ohne kabelgebundene Kommunikationsanbindung sollte allerdings ohne Watchdog laufen koennen.
OK Danke Leute für die Antworten. Ich habe mich da ursprünglich falsch ausgedrückt. Meinte eh den internen WTG. Werde daher das ganze über den internen WTG implementieren. Schönes Wochenende. lg Dieter PS: Wenn ich nachträglich alle WTG Programmzeilen auskommentieren würde, dann wären die WTG Funktionen vom Arduino wieder entfernt? Dauerhaft vorhanden kann da eh nichts bleiben oder? ( Grund: ich teste meine Hardware auf einem Arduino, der später nicht in die Schaltung kommt sondern hier nur als Labor - Testzwecke dient.
>Um nun sicherzugehen, dass der Arduino neu gestartet wird, falls er sich >in einer Schleife mal verirrt hat, brauche ich einen WTG Um sicherzustellen, dass eine Schleife niemals verrent baut man da einen Zähler ein und macht einen "Not-Exit" !! Zudem sollte es im Programm niemals (bis auf oben beschriebene abgesicherte) eine Schleife geben, außer die der Main.
Hondo schrieb: > Man sollte sich angewoehnen ohne Watchdog zu arbeiten. Mit einem > Watchdog kann man Programmfehler kaschieren. Dh eine Funktionalitaet die > ausgefuehrt werden sollte wird nicht ausgefuehrt. Kommt drauf an, wieviel Wert auf Verfügbarkeit gelegt wird. Ein LKW-Motorsteuergerät kann nicht einfach abschalten und auf Debugging warten, da muß ganz schnell wieder ein fahrfähiger Zustand her. Ich selber pflege das "Reset durch Watchdog"-Flag mitzuloggen und darauf zu achten, daß es nie auftritt. Dieter Sch schrieb: > Als Hardware Watchdog hätte ich mir den MAX6369 vorgestellt. Einen externen Watchdog brauchst Du vorallem bei sicherheitsrelevanten Anwendung, wo ein Software-Fehler eine Gefahr erzeugen kann. Dann muß ein externer Baustein den Microcontroller überwachen und ggf. die Endstufen kontrolliert abschalten. Für Deine Anwendung dürfte der interne Watchdog des AVR völlig ausreichen.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.