Watchdog mit 555 

Idee: Wolfgang Borst (Deutschland)

Praktisch jeder moderne Mikrocontroller hat einen eingebauten Watchdog. Er verhindert das „Aufhängen“ eines Mikrocontrollers, wenn dieser durch Programmierfehler oder unvorhergesehene Betriebsbedingungen z.B. in einer Endlosschleife gefangen ist und nicht mehr auf externe oder interne Beeinflussung reagiert. Im Prinzip handelt es sich dabei um einen Timer, der regelmäßig innerhalb eines bestimmten Zeitintervalls durch Befehle zurückgesetzt wird. Unterbleibt dies, wird nach Ablauf dieses Intervalls ein Reset des Mikrocontrollers ausgelöst, der Controller bootet neu und alles ist in Butter.
 
Wirklich alles?
Nein, denn in sehr seltenen Fällen kann es bei CMOS-Schaltungen – und ein Mikrocontroller ist genau das – zu einem Latch-up kommen. Dann geht wirklich gar nichts mehr und nicht einmal ein Reset bringt den Mikrocontroller zur Besinnung. Soll auch solch einem seltenen Fall vorgebeugt werden, muss man auf einen externen Watchdog bauen. Dieser Aufwand hat durchaus seine Berechtigung, den laut Murphy’s 1st Law geht ja bekanntlich alles schief, was schief gehen kann.

Schaltung


 
Watchdog-Schaltung mit NE555 und einigen MOSFETs.
Der hier vorgestellte Watchdog baut auf dem Timer NE555 auf und ist besonders rabiat: Fallen die Rücksetzimpulse des Mikrocontrollers aus, wird seine Versorgungsspannung einfach für etwa 5 s abgeschaltet. Anschließend startet der Mikrocontroller neu. Das reicht in praktisch allen Fällen aus, in denen der Mikrocontroller nicht defekt ist. Mit den angegebenen Werten für R2, R3 und C4 beträgt das Zeitintervall für Rücksetzimpulse etwa 10 s. Der Duty-Cycle der Rücksetzimpulse sollte unter 50% liegen. Ein (positiver) Impuls am Trigger-Eingang von wenigen µs reicht aus, über T2 den Kondensator C4 zu entladen.
 
Aktives Bauelement ist der gute, alte, als AMV geschaltete NE555. Die Trigger-Impulse sollten C4 entladen, bevor die Spannung an Pin 6 den Schwellenwert (2/3 V+) erreicht. Andernfalls wird der Ausgang Pin 3 „low“ und T1 schaltet die Versorgungsspannung des Mikrocontrollers ab oder gleich die ganze damit realisierten Elektronik, denn T1 verträgt locker 1 A ohne Kühlung.
 
Da der NE555 minimal 5 V benötigt, ist für direkte Versorgung von 3,3-V-Mikrocontrollern die CMOS-Variante des 555 besser. Sie benötigt zudem weniger Strom und kann hochohmiger beschaltet werden. Dann muss aber für T1 ein Power-MOSFET mit gerignerer minimaler Steuerspannung eingesetzt werden. Und wer es integrierter (weniger Bauteile) haben will, kann versuchen, die Schaltung auf einen Doppel-Timer wie den 556 umzustricken.