27. Oktober 2021 – Loconet-Anbindung an den Rechner

Zur Steuerung des Bahnhofs Grünberg kommen ausschließlich Komponenten mit LocoNet-Interface zum Einsatz. Dies vereinfacht die Verkabelung und Entwicklung des Stellwerks doch deutlich, da einfach alle Teile direkt miteinander kommunizieren können.

Für die Entwicklung des Stellwerks ist es sehr hilfreich, wenn man nicht immer darauf angewiesen ist, dass alle Module des Bahnhofs zur Verfügung stehen. Schließlich können sie immer nur an einem Ort stehen, was bedeuten würde, dass auch immer nur eine Person daran arbeiten kann, wenn nicht gerade alle zu einem Basteltreffen zusammenkommen.

Wir haben uns deswegen mit Rocrail (https://wiki.rocrail.net/doku.php?id=german) ein Abbild des Bahnhofs und des Stellpults aufgebaut. Der Rechner wird dann mit einem Loconet-Interface mit den anderen Komponenten verbunden. So können für das Stellwerk eventuell nicht vorhandene Stellpulte oder ein fehlender Bahnhof simuliert werden.

Bahnhofssimulator mit Rocrail

Für die Anbindung des Loconet an den Rechner könnte eines der vielen LN-Buffer-Interfaces verwendet werden. Diese haben jedoch üblicherweise den Nachteil, dass sie nur exklusiv von einem einzigen Programm genutzt werden können. Wenn also Rocrail damit angebunden ist, ist es zum Beispiel nicht möglich, parallel dazu die Einstellungen der Decoder mit JMRI zu verändern. Hier bietet sich als Lösung ein Loc0net2Ethernet-Buffer an.

LoconetEther-Buffer

Dieser setzt die Pakete des Loconet in Ethernet-Pakete um, die in einem ganz normalen Computernetzwerk übertragen werden. Auf diese Pakete können dann mehrere Programme, die mit dem Datenformat umgehen können, zugreifen oder selbst Daten ins Loconet senden. Damit ist es möglich, mehrere Programme auf dem PC ans Loconet zu koppeln.

Die Hardware für den Buffer besteht aus drei Komponenten (im Bild unten von links nach rechts):

  • Einem Arduino, der die Umsetzung der Daten vom Loconet zum Ethernet und zurück vornimmt
  • Einem Ethernet-Shield, um den Arduino mit dem Ethernet zu verbinden
  • Einem Loconet-Shield, für die Anbindung ans Loconet
  • Ein paar zusätzlichen „stackable Headers“, um den nötigen Abstand über dem Ethernet-Shield zu bekommen
Komponenten für den LoconetEther-Buffer

Da bei diesem Aufbau die Schaltungen völlig ungeschützt sind, und auf einem üblichen Basteltisch alle möglichen metallischen Gegenstände rumliegen, die nur darauf warten, einen Kurzschluss zu machen, musste noch ein Gehäuse her.

Ein fertiges Gehäuse in passender Abmessung gab es keines, also war Selbstbau angesagt. Wenn schon ein 3D-Drucker im Haus vorhanden ist, bietet der sich natürlich dafür an, ein passendes Gehäuse aus Kunststoff damit zu drucken.

Praktischerweise gibt es da inzwischen eine überarbeitete Version des Ultimate Box Maker (https://www.thingiverse.com/thing:2938921), einem Script für die freie 3D-Modellierungssoftware OpenSCAD (https://openscad.org), mit dem durch Anpassen der Parameter maßgefertigte Gehäuse einschließlich Frontplatten erstellt werden können. Die generierten Dateien können dann mit einem 3D-Drucker ausgedruckt, ggf. koloriert und zusammengebaut werden. Das Ergebnis sieht dann so aus:

LoconetEther-Buffer im gedruckten Gehäuse

18. Oktober 2021 – Mechanisches Stellwerk mit Elektronengehirn

Im Bahnhof Grünberg sollen Nachbildungen von mechanischen Stellwerken zum Einsatz kommen. Wichtig sind hierbei die Fahrstraßen mit den entsprechenden Sperren, da diese im Betrieb den Fahrdienstleiter deutlich entlasten.
Beim Vorbild kommen hier mechanische und elektromechanische Riegel zum Einsatz. Deren originalgetreue Nachbildung wäre sehr reizvoll, allerdings gleichzeitig aber auch sehr aufwändig. Außerdem steht zu befürchten, dass eine so feine Mechanik den rauen Betrieb auf einem FREMO-Treffen nicht lange überleben würde.

Wir haben uns deswegen dazu entschlossen, die Abhängigkeiten der verschiedenen Stellelemente elektronisch abzubilden. Dazu werden die Signale aller Stellelemente nur an eine zentrale Steuerung weitergegeben. Dieses „Hirn“ entscheidet dann, ob der Stellbefehl ausgeführt werden kann und leitet ihn ggf. an die Decoder im Bahnhof weiter. Ist die Aktion im aktuellen Zustand des Stellwerkes nicht erlaubt, so wird der Stellbefehl gar nicht erst generiert und der Benutzer mit einer Fehlermeldung darauf hingewiesen.
Die Stellhebel sind dabei nicht mechanisch verriegelt. Um dem Benutzer dennoch mitteilen zu können, welche Hebel nicht bedient werden dürfen, gibt es an jedem Stellelement eine rote LED. Wenn diese aufleuchtet, darf das Stellelement nicht bedient werden.

Bisher basiert die Logik des Stellwerks auf einem PC-Programm (Rocrail). Es hat sich jedoch schnell gezeigt, dass die Wartung des Stellpults, das Korrigieren und Hinzufügen von neuen Funktionen damit extrem aufwändig wird. So würde das Hinzufügen des Strecken – später des Bahnhofsblocks – einen weitgehenden Umbau erfordern. Dabei besteht immer die Gefahr, neue Fehler einzubauen, da die Zusammenhänge der Stelllogik auf verschiedene Teile des Programms verteilt sind.
Weiterhin erfordert die bisherige Lösung den Einsatz eines Kleincomputers, wie zum Beispiel einen Raspberry Pi, mit aller Komplexität eines darauf laufenden Betriebssystems.

Wir haben deswegen dank eines weiteren FREMO-Kollegen damit begonnen, die Steuerlogik als eigenständiges Programm zu entwickeln, das auf einem Arduino läuft. Da alle Komponenten des Bahnhofs und der Stellpulte per Loconet angesteuert werden, benötigt der Arduino nur ein LN-Shield als weitere Komponente. Zusätzlich haben wir noch ein Display hinzugefügt, um im Falle einer Fehlbedienung mehr Hinweise als nur einen Summer ausgeben zu können. Das Display ist allerdings optional, einem echten Stellwerksprofi passieren sowieso auch keine Fehler:-)

Auf dem Holzbrett im Vordergrund ist die Steuerung zu sehen. Die beiden linken Platinen dienen der Stromversorgung und Terminierung des Loconet, rechts oben sitzt der Arduino mit dem LN-Shield und unten rechts ist das Display zu sehen.

Aktuell ist auf diese Weise die Funktion der beiden Stellwerke Gf und Go realisiert. Zur Zeit existiert noch keine Anbindung an den Streckenblock oder die Verbindung der beiden Stellwerke untereinander mit einem Bahnhofsblock. Diese sollen erst in späteren Stufen hinzugefügt werden.

Als nächstes steht erstmal der Test der aktuellen Software mit dem Bahnhof beim nächsten FREMO-Treffen in Hochdorf-Assenheim an. Wenn die Steuerung dort einwandfrei funktioniert soll als nächster Schritt die Anbindung an den Streckenblock erfolgen, um die Kommunikation mit benachbarten Bahnhöfen zu ermöglichen.

17. Oktober 2021 – Gruben und Drehscheiben

Der Ausschnitt für die Drehscheibe wurde mit der Oberfräse in den Modulkasten eingearbeitet. Hier die Stellprobe beim letzten Basteltreffen. Zum Glück konnten wir die Grube so positionieren, dass keine Spanten im Weg waren.

Provisorisch wurden einige Holzleisten angeschraubt, damit der Drehpunkt für die Oberfräse bis zuletzt erhalten bleibt und der ausgefräste Innenkreis nicht einfach nach unten herausfällt.

Auch wurde die Untersuchungsgrube in die Platte eingearbeitet und das zugehörige Drehscheibengleis verlegt und elektrisch angeschlossen. Die Höhe der Drehscheibengrube wird mit Distanzstreifen noch genau ausgerichtet.