Weichentreiber

Die Elektronik der Weichensteuerung besteht nur aus wenigen Teilen. Die Versorgungsspannung dieses Moduls ist von den übrigen Leitungen galvanisch getrennt, sie verfügt über eine eigene Verpolschutzdiode sowie einen Pufferkondensator, der die Stromspitzen beim Umschalten eines Weichenantriebes ausgleicht. Relais übernehmen das Umschalten der Spannung zwischen zwei der drei Ausgangspins, die dritte ist fest mit Masse verbunden.


Weichentreiber mit Relaisgruppe

Die Relais werden von einem Treiberbaustein vom Typ ULN2003 geschaltet, der über vier Pins direkt mit dem Mikrocontroller verbunden ist. Er kann pro Ausgang bis zu 0,5 Ampere schalten und enthält Freilaufdioden, externe Bauteile werden daher nicht benötigt.

Um die Wahrscheinlichkeit möglichst gering zu halten, daß elektromagnetische Störungen von den Weichenantrieben die Logikbausteine beeinträchtigen, befindet sich die gesamte Baugruppe am Rand der Platine, dicht neben der Stromzufuhr. Damit ist ein möglichst großer Abstand zu den Logikbausteinen sichergestellt, außerdem verlaufen die Leiterbahnen senkrecht zu den anderen Versorgungsleitungen, um die induktive Koppelung so schwach wie möglich zu halten.


Ansteuerung der Weichen
Kompletter Schaltplan als PDF

Die Firmware muß beim Schalten zwei Randbedingungen beachten. Einerseits sollten nie mehrere Weichen gleichzeitig schalten, damit die Stromversorgung nicht zu stark belastet wird und die elektromagnetischen Störungen in Grenzen gehalten werden. Andererseits sollte zwischen den Schaltvorgängen einer Weiche eine Mindestzeit vergehen. Dies dient der Fairneß, wenn zwei Weichen auf einen Schaltvorgang warten, erlaubt aber auch den Einsatz von Entstörschaltungen mit langsam aufladendem Energiepuffer.

  • Randbedingungen
    • Die Firmware verwaltet neben einem globalen Timer für alle Weichenantriebe einen lokalen Timer pro Ausgang. Sie werden alle auf 0 initialisiert.
    • Die Timer können auf einen Wert gesetzt werden und dekrementieren sich dann selbst alle 10 Millisekunden (mit jedem Slow-Tick), bis sie wieder 0 erreichen.
    • Eine Weiche darf nur schalten, wenn der globale und ihr lokaler Timer 0 sind.
  • Schalten einer Weiche
    • Wenn mindestens eine Weiche umgeschaltet werden soll, sucht die Firmware diejenige mit der niedrigsten Nummer heraus, die nach obigen Kriterien schalten darf.
    • Die Weiche wird umgeschaltet, der globale Timer auf 5 und der lokale Timer auf 20 gesetzt. Damit sind weitere Schaltvorgänge vorläufig wie gefordert blockiert.

Wenn der Steuerrechner schnellere Änderungen verlangt als die Zeitschranken erlauben, nähert sich der Algorithmus immer dem aktuellen Zielwert statt alte Zwischenzustände erreichen zu wollen. Die lokalen Timer müssen daher viermal so lang wie der globale laufen, damit in so einer Situation keine Weiche benachteiligt wird. Die genauen Laufzeiten der Timer müssen an die Weichenantriebe und eventuell vorhandene Filterschaltungen angepaßt werden. Sie können in der Firmware problemlos geändert werden.