Watchdog Decoder: eine Software für OpenDecoder (V.1)

    english page is missing - you can help the project with a translation!
    Watchdog ('Wachhund') wird eine Schaltung genannt, welche eine bestimmte Funktion überwacht und bei einem auftretenden Fehler einen sicheren Betriebszustand herbeiführt. Diese Schaltung hier dient zur Überwachung von Digitalzentrale und PC-Steuerprogramm.
  • Warum braucht man einen Watchdog?
    Fehler im PC-Programm oder in der Zentrale (und sei es nur ein unbeabsichtigtes Ausschalten des PCs) haben für eine Modellbahn in Betrieb dramatische Folgen: die Loks haben Ihre Fahrstufe und fahren einfach mit dieser Fahrstufe weiter, wenn keine neuen Steuerbefehle mehr eintreffen - spätestens am nächsten Prellbock ist dann Schluß.
  • Wie funktioniert der Watchdog?
    Der Watchdog überwacht das regelmäßige Eintreffen von Steuerbefehlen. Bleiben diese aus (z.B. weil der PC 'abgestürzt' ist), so wird die Anlage stromlos geschaltet und alle Züge werden automatisch gestoppt. Das ist zwar unschön (Vollbremsung), aber sicher!
  • Wie ist das realisiert?
    Der Watchdog agiert wie ein normaler Zubehördekoder. Im Steuerprogramm wird nun ein Konstrukt angelegt, welches permanent Befehle für diesen Zubehördekoder erzeugt. Man muß sich das wie einen Treppenlichtautomat vorstellen, welcher immer wieder nachgeschaltet wird. Schickt der PC mal keinen Befehl für den Watchdog mehr, so wird nach der eingestellten 'Nachleuchtdauer' abgeschaltet.
  • Ich kann die Benutzung des Watchdogs nur wärmstens empfehlen, uns hat er schon gelegentlich die Anlage gerettet.

Aufbau

    Der Watchdogdecoder ist eine Variante für OpenDecoder1.
    Auch er arbeitet als einfacher Zubehördecoder, nur die Basic Packets werden ausgewertet, weder das DCC-Reset-Packet noch das Broadcast-Packet werden beachtet. Die Einstellung der Adresse und der Ansprechzeit erfolgt einfach durch Drücken der Programmiertaste und Senden eines Weichenbefehls.
    Hinweis: für die Varianten Hardware 2 und Hardware 3 ist der Watchdog bei der DMX-Software enthalten. Besonders bei der Hardware 3 ist die Anwendung des Watchdogs sehr einfach, da die entsprechenden Relais bereits auf der Platine integriert sind.

Die Programmierung

    Die Einstellung der Ansprechzeit und der Adresse erfolgt einfach durch Drücken der Programmiertaste und Senden eines Weichenbefehls. Der Inhalt des ersten empfangenen Befehls bestimmt dann Betriebsart und Adresse.
    1. Drücken des Programmiertasters für mind. 100ms, die LED beginnt zu leuchten. Dies zeigt an, das der Decoder zum Empfang eines Programmierbefehls bereit ist.
    2. Absenden eines Weichenbefehles. Der Decoder entnimmt seine Basisadresse aus diesem Befehl nach folgender Regel:

          Basisadresse = (gesendete Adresse - 1) / 4. (der Rest verfällt)

      Der Decoder ist dadurch folgende Adressen programmiert: Basisadresse * 4 + 1 bis Basisadresse * 4 + 4

      Der obige "Rest" wird zusammen mit der "Spule" (rot oder grün) verwendet, um die Ansprechzeit einzustellen:
        eingestellte Ansprechzeit
        0.5 1.5 3 5
               
        Weiche 1 Weiche 2 Weiche 3 Weiche 4
               
        1 2 4 6
    Beispiel: Senden des Weichenbefehls 18 rot stellt die Basisadresse 4 ein - der Decoder "hört" auf die Weichenadressen 17-20 und mit einer Ansprechzeit von 1,5s.

Funktion

  • Standard-Watchdog (kein Jumper gesteckt)
    DCC Watchdog
    Das zu schaltende Signal (normalerweise der Fahrstrom) wird über ein Relais geführt. Dieses Relais ist in Ruhe offen und wird bei Einschalten der Versorgung aktiviert; dies entspricht dem Zustand "Watchdog abgeschaltet" (oranger Strich). Die Anlage funktioniert ganz normal.
    Mit Senden der Basisadresse (rund, rot) ist der Watchdog abgeschaltet, der Ausgang 1 ist an; das Schutzrelais hat anzogen, der Fahrstrom wird durchgelassen.
    Mit Senden der Basisadresse (gerade, grün) wird der Watchdog aktiviert (scharf geschaltet). Der Ausgang 1 bleibt noch für die Ansprechzeit aktiviert und würde dann abfallen; Wenn innerhalb der Ansprechzeit des Watchdog ein weiter Befehl (Basisadresse, gerade) eintrifft, wird die Ansprechzeit wieder von vorn abgezählt.
    Trifft kein weiterer Aktivierbefehl mehr ein, dann wird der Ausgang 1 am Ende der eingestellten Zeit abgeschaltet, das Relais fällt ab und der Fahrstrom wird abgeschaltet. Zugleich wird der Ausgang 2 für 6s aktiviert, z.B. um eine Hupe oder Warnleuchte einzuschalten. Der Watchdog hat ausgelöst. Der Watchdog bleibt dann ausgelöst, bis ein Befehl zu Abschalten des Watchdogs eintrifft (Basisadresse, rot).

    Der Port D1 (Pin 3) ist als zusätzlicher Triggereingang konfiguriert; wird hier ein LOW-Pegel angelegt, so wird der Watchdog sofort ausgelöst.

    Die Schaltbefehl für Weiche 2, 3 und 4 sind als normale Dauersignalausgänge benutzbar, siehe hierzu OpenDecoder.
  • Verzögerte Stopauslösung (Jumper gesteckt)
    DCC Watchdog
    Dieser funktioniert im Prinzip wie der Standard-Mode, nur ist hier die Schaltsequenz der Ausgänge etwas geändert.
    Bei externem Auslöser (also z.B. über Taster) wird zuerst der Alarmausgang aktiviert und mit einer Verzögerung von 2s auch die Anlagentrennung veranlaßt. Der Alarmausgang kann nun verwendet werden um im Steuerprogramm zuerst ein Anhalten der Fahrzeuge zu veranlassen, erst dann wird der Strom abgeschaltet. Die Dekoder in den Loks bremsen mit der normalen Bremsrate des Dekoders ab. Wenn man hart aussschaltet, werden die Motoren sofort angehalten. Dadurch dann kann es passieren, das bei Zügen, welche schnell abwärts in einer Kurve unterwegs sind, das erste Drehgestell nach der Lok entgleist.

    Bei Ansteuerung von der Zentrale aus agiert der Watchdog wie im Standard Mode, bleiben die Ansteuerbefehle aus, wird nach der eingestellten Zeit ein Alarm (permanent) und das Abschalten der Anlage ausgelöst. Hier ist keine Verzögerung vorgesehen, da ja in diesem Fall vermutlich das Steuerprogramm nicht mehr reagiert (Notfallabschaltung).

Hardwareerweiterungen

    Um die Watchdog-Funktion nutzen zu können, ist folgende Ausgangsbeschaltung nötig:
    1. Relais an Ausgang 1
      Monostabiles Relais, 1 Öffner, 1 Schliesser; Mit dem Öffner kann eine Meldung an ein Rückmeldesystem erfolgen, mit dem Schliesser wird der Fahrstrom geschaltet. Hinweis: dieses Relais ist nach dem Einschalten standardmäßig eingeschaltet.
    2. Relais an Ausgang 2
      Monostabiles Relais, 1 Schliesser; Damit wird eine Warneinrichtung geschaltet.
    3. Triggereingang
      Widerstand, Zenderdiode: damit kann eine externes Meldersystem (Nothaltschaltung) angeschlossen werden.

Download / Unterlagen:

    Die Software ist unter gnu public license freigegeben. Sollte jemand damit einen neuen Decoder bauen, würde ich mich freuen, wenn dieser auch hier veröffentlicht wird. Und Geld- bzw. Materialspenden sind auch herzlich willkommen ;-) - einfach per paypal an meine Mailadresse.

    Download und Versionen:
      Version 0.2, 02.06.2008 (nur Standard Mode)
      Version 0.4, 12.01.2010 (neu: Delay Mode per Jumper dazu)

Weiter zu: