Aktiver Gleisplan

 

Im Abschnitt Anlagensteuerung habe ich die wesentlichen Gründe (Endschalterprobleme bei den Weichenantrieben und fehlende Anlagenübersicht) für die Überarbeitung der Anlagensteuerung kurz erläutert. Hier soll es nun um meinen Lösungsansatz gehen. Folgende Überlegungen haben mich zu meiner Lösung gebracht:

 

1) Die vorhandene Verkabelung zwischen den Weichen und dem Stellpult sollte erhalten bleiben.

 

2 ) Es soll ein Durchbrennen der Weichenantriebe durch unzulässigen Dauerbetrieb sicher vermieden werden.

 

3) Die Weichenstellungen sollen in einem Gleisplan auf dem im Pult verbauten Raspberry-Display übersichtlich dargestellt werden.

 

4) Die Steuerung der Weichen soll über einfache Bedienungen in diesem Gleisplan erfolgen. Weitere Anlageneingriffe, wie das Schalten von Signalen oder das Freigeben von Fahrstrom auf bestimmten Gleisabschnitten sollen in das neue Konzept zur Anlagensteuerung integriert werden.

 

Bedienung

 

Für die Bedienung habe ich einen schematischen Gleisplan realisiert. Angezeigt wird dieser auf dem Raspberry-Display im Bedienpult. Durch einfache Tastenbedienungen (z.B. PageDown/PageUp) kann zwischen dem Standard-Übersichtsbild der Anlage (wie bereits in verschiedenen Abschnitten beschrieben) und dem Gleisplan hin-und hergeschaltet werden.

 

Der Gleisplan ist heute aus 6x10 Bildkacheln aufgebaut, auf denen jeweils ein aktives Element (Weichen bzw. Zustandssymbole) enthalten ist. Durch das Anklicken einer Kachel wird das abgebildete Element geschaltet, das heißt die Weiche wird umgeschaltet bzw. ein Schalter wird betätigt. Das Bildsymbol auf der Kachel nimmt den neuen Zustand an. Ursprünglich waren es mal 5x8 Kacheln. Diese Version ist noch in einigen Bildern auf meiner Seite zu erkennen. Mir schien die Darstellung aber sehr gequetscht und außerdem wollte ich gerne noch die Position der Drehscheibenbrücke im Gleisplan darstellen. Darum habe ich mich zur Überarbeitung des Gleisplanes entschieden.

 

Die Weichensymbole sind selbsterklärend. Bei den übrigen Symbolen signalisiert ein roter Kreis ein spannungslos geschaltetes Gleis, ein grüner Kreis zeigt an, dass das Gleis unter Spannung steht. Die Kreissymbole an den Endgleisen des Bahnhofs bzw. des Schattenbahnhofs zeigen an, dass der Fahrstrom auf diesen Gleisen ein- (orangefarbener Kreis) bzw. ausgeschaltet (offener Kreis) ist. Auf diese Weise können versehentliche Zugbewegungen über die MobileStation (z.B. durch Auswahl einer falschen Lok) auf diesen nicht einsehbaren Gleisen vermieden werden. Außerdem können Personenwaggon-Beleuchtungen, die über einen eigenen Mittelpunktschleifer verfügen, dort abgeschaltet werden.

 

Das grüne und rote Dreieck kann dazu benutzt werden, das Hauptsignal bzw. das Gleissperrsignal der Tunnelstrecke, von Hand zu schalten (im Normalfall werden diese Signale von den vier Schaltgleisen an den Zufahrten zur Tunnelstrecke von den Loks aufgelöst). Diese Funktion wird z.B. benötigt, wenn ein rückwärts in den geschützten Bereich einfahrender Personenzug über den Schleifer der Waggonbeleuchtung das Schaltgleis auslöst und so verhindert, dass der Zug seine Fahrt fortsetzen kann. Der gelbe Pfeil im Drehscheibensymbol zeigt die jeweilige Stellung der Brücke an.

 

Mit der Tastenbedienung STRG-R kann der gespeicherte letzte Schaltzustand abgerufen und automatisch wieder eingestellt werden. Dies ist z.B. sinnvoll, damit Weichenverstellungen, die von Hand an Weichenhebel vorgenommen wurden, wieder korrigiert werden. Mit der Tastenbedienung STRG-N wird ein hinterlegter Normalschaltzustand automatisch eingestellt.

 

PiZero3

 

Für das tatsächliche Schalten der Weichen, der Signale und des Fahrstroms wird ein weiterer Raspberry (PiZero3) benutzt. Er findet auf Grund seiner kompakten Maße im Bedienpult Platz. Die Kommunikation zwischen dem Haupt-Raspberry (RaspPi2) und diesem PiZero3 findet über die bereits im Abschnitt Kommunikation beschriebene Technik statt. Der RaspPi2 übermittelt dem PiZero3 welche Kachel angeklickt wurde, der PiZero3 führt die zur Kachel gehörende Schaltung aus und meldet an den RaspPi2 den neuen Zustand der Kachel zurück, so dass dieser dann auf dem Gleisplan aktualisiert werden kann. Auf dem PiZero3 wird der jeweils aktuelle Schaltzustand in einer Datei gespeichert. Auf diese Datei wird beim Starten der Anlage zugegriffen, um automatisch den entsprechenden letzten Schaltzustand wieder herzustellen.

 

Relais-Karten

 

Da ein Raspberry über seine Anschlüsse des GPIO-Ports nur kleine Ströme schalten kann, werden zwischen dem PiZero3 und den zu schaltenden Elementen (Weichen, Signale usw.) jeweils Relais eingesetzt. Erfreulicherweise bin ich bei der Firma Reichelt auf Relais-Karten gestoßen, die speziell für die Anbindung an solche Mini-Computer konzipiert wurden. Es gibt dort Karten mit 1, 2, 4 und 8 Relais. Besonders nützlich ist, dass man bei diesen Karten pro Relais via Jumper festlegen kann, ob das Relais bei High-Level (5V) oder Low-Level (0V) schalten soll. Erfreulich ist auch der Preis von unter 10€ für eine 8-fach Relais-Karte.

 

Aber viele Relais benötige ich nun eigentlich für meine Aufgabe?

 

Auf meiner Anlage sind 16 Weichen verbaut, so dass ich 32 Relais-Ausgänge für die jeweils zwei Weichenstellungen benötige. Dann kommen noch ein paar Relais-Ausgänge für Zu- und Abschalten des Fahrstroms hinzu. Insgesamt also ca. 40 zu schaltende Relais. Ein Raspberry hat aber nur 26 frei verwendbare GPIO-Ports. Es ist also ein weiterer kleiner Trick erforderlich.

 

8 aus 3 Dekoder

 

Mit dem IC-Baustein SN74HC138 steht für wenige Cent ein Dekoder zur Verfügung, der aus den an den drei Eingängen A, B und C angelegten binären Logik-Pegeln einen der acht Ausgänge (0 bis 7) selektiert. Die nachstehende Logik-Tabelle zeigt die Funktion des ICs. Für A=H, B=H und C=L ergibt sich, dass alle Ausgänge auf H-Level liegen nur der Ausgang 3 ein L-Level aufweist. Dies gilt allerdings nur, wenn die Gate-Eingänge mit G1=H, G2a=L und G2b=L beschaltet sind.

 

Mit einem dieser Dekoder-Bausteine kann ich also gezielt einen von acht Ausgängen auf L-Level einstellen. Ist das an diesen Ausgang angeschaltet Relais mittels des Jumpers auf L-Level-Auslösung eingerichtet schaltet das entsprechende Relais. Auf diese Weise schalte ich mit einer 8-fach-Relaiskarte vier Weichen, so dass ich für den Weichenbetrieb auf meiner Anlage vier solcher Relais-Karten und Dekoder-Bausteine benötige. Dabei verbinde ich jeweils die Eingänge A, B und C aller Dekoder miteinander und lege aber nur an einem Dekoder den G1-Eingang auf H-Level. So kann ich gezielt eine 1aus32-Auswahl treffen und das betreffende Relais gibt dann die Spannung zum Schalten der Weiche in die gewünschte Richtung frei.

 

Für die Ansteuerung benötige ich somit nur sieben (A,B,C, 4xG1) GPIO-Ports. Zusätzlich verwende ich einen GPIO-Port und ein Relais auf einer weiteren Relais-Karte, um die generelle Spannungsversorgung der Weichenantriebe gezielt unterbrechen bzw. freigeben zu können. Die Freigabezeitdauer habe ich für jeden Schaltvorgang auf 100msec begrenzt, so dass ich sicher die thermische Überlastung der Weichenantriebe vermeide. Das Bild zeigt die in mein Bedienpult eingebaute Technik. Es fehlen nur noch die Verbindungskabel zwischen den Weichenantrieben und den Relaisausgängen. Die roten, gelben und grünen Kabel im oberen Teil sind die Verbindungen zu den Dekoder-Eingängen A, B und C. Die vier weißen Kabel unten führen zu den G1-Anschlüssen der Dekoder.

 

Anmerkung:

Diese Technik bietet die Möglichkeit weitere Weichen zu steuern, da ich jeweils nur einen weiteren GPIO-Port für zusätzliche vier Weichen benötige. Natürlich kann man diese Technik auch noch weiter optimieren, in dem man z. B. die Auswahl der G1-Eingänge ebenfalls über einen zusätzlichen dieser Dekoder-Bausteine vornimmt und damit über drei 3 GPIO-Ports acht G1-Signale erzeugen kann. Es wird dann allerdings eine Pegel-Invertierung erforderlich, da an den G1-Eingängen zur Selektion ein H-Level anliegen muss.

 

Da ich nicht sicher bin, ob mir die Beschreibung meiner Technik zur Anlagensteuerung textuell gelungen ist, füge ich hier noch einen Funktionsplan bei.