WLAN Rückmelder auf der Modellbahn


 Der Hosenträger
Der Hosenträger

Der Hosenträger

Zum Ausprobieren und Testen von RailCom, RFID Lesern, S88-Scannern und Decodern aller Art habe ich mir vor einigen Jahren einen sogenannten Hosenträger gebaut. Der Hosenträger beinhaltet 4 Stumpfgleise in einer "H" Anordnung, die mit 4 Weichen und einer Kreuzung so verbunden sind, dass ein Fahrzeug von jedem Stumpfgleis immer beide gegenüberliegende Gleise erreichen kann. Das Ganze ist auf einem Seitenteil eines IVAR Regals aufgebaut und deswegen gut transportabel.

Zunächst wurden die Fahrzeuge mit 3 RFID-S88-Light über einen selbstgebauten S88 Scanner auf der Basis Arduino Uno erkannt und in Rocrail in einem Script verarbeitet. Der Scanner hat neben RFID auch die Standard Belegtmeldungen und Gleiskontakte verarbeitet und über USB unter Verwendung des HSI Protokolls an den PC weitergegeben.

Um auf das (langsame und dadurch störanfällige) Script verzichten zu können, war der nächste Schritt die Verwendung des Tams RC-Link Protokolls. Eigentlich ist das Protokoll dazu gedacht RailCom Information, also Dedoderadresse und Aufgleisrichtung der Lok, an den PC weiterzugeben, da aber meine RFID-S88-Light eben auch diese Informationen liefern, habe ich das Protokoll für RFID verwendet. RFID und Standard S88 mussten nun getrennt werden, es gab also 2 s88 Scanner, einer mit HSI Ausgabe für die Standard-Rückmelder und einen mit RC-Link Ausgabe für RFID. Beide Scanner haben über USB mit dem PC kommuniziert. Entsprechend wurden im Modellbahnsteuerprogramm 2 "Zentralen", RC-Link und HSI88 angelegt.

Der nächste Schritt war die direkte Kommunikation im RC-Talk Format mit dem Tams RC-Link Baustein. Meine RFID Leser wurden auf der Basis eines Arduino Nanos neu gebaut und mit einem RS485 Interface versehen. Dadurch konnte ich meine RFID Leser wie Tams RCD-1 und im Verbund mit diesen RailCom Detectoren an den RC-Link anschliessen. Durch die Verwendung des gleichen Gehäuses, gleiche Klemmenbezeichnung und Adressierungsmechanismus konnte ich 4 RFID Leser und 4 RailCom Detectoren RCD1 am gleichen RS485 Bus betreiben und die Lok- und Richtungsdaten in den PC einlesen.

Mittlerweile hatte die Menge an Versorgungskabeln und USB Datenleitungen stark zugenommen und machte einen Transport und die schnelle Wieder-Inbetriebnahme des Testmoduls immer schwieriger. Da war ja außer den Rückmeldebausteinen auch noch die DCC Zentrale anzuschließen und der Notebook mit nur 2 USB Ports musste über einen USB-Hub erweitert werden.

Dann kam WLAN

Medio 2018 wurden gedanklich die vielen Kabel zum PC durch ein WLAN ersetzt. Die Offenlegung des Roco Z21 Lan Protokolls legte die Verwendung für meinen Zweck nahe. Im PC musste dann nur eine (zusätzliche Z21 Schnittstelle für die Modellbahnsoftware angelegt werden. Begonnen wurde mit dem Bau eines RFID Lesers auf der Basis eines Lolin NodeMCU V3, einem verbreiteten ESP8266 Entwicklungsboard.

Ich stellte bald fest, dass nicht nur Information vom RFID Leser zum PC fließen sollte, sondern der PC über das Z21 Interface auch Informationen sendet, bzw. Anfragen an die nun virtuelle Z21 richtet, die beantwortet werden sollten, damit das ganze überhaupt funktioniert. Anfangs wurde die Beantwortung der Fragen nach Seriennummer und Firmwarestand der "Z21" in den Code des RFID Lesers integriert, bis dann der 2. und 3. Leser und der S88 Scanner auf WLAN umgebaut wurden. Es sollte natürlich nur ein einziges Sensormodul des Hosenträgers diese Anfragen beantworten. Auch wurde es zu Aufwändig, nun 4 virtuelle Z21 Zentralen in der Software anzulegen, für jedes Sensormodul eine. Nach wenigen Tagen wurde deswegen ebenfalls auf der Basis des ESP8266 Entwicklungsboards ein "Gateway" entwickelt, das alle allgemeinen Aufgaben einer virtuellen Z21 übernimmt. So meldet das Gateway neben Seriennummer 1234567 und Firmwarestand nun sogar "Temperatur" und "Gleisspannung".

Gateway

Ein Gateway (auf Deutsch Tor) hat zwei Seiten. Auf der Seite der Sensormodule bietet es ein WLAN "SENSORNETxx", in das sich die Sensorknoten einloggen. Alle hier eintreffenden Meldungen, Belegtmeldungen, Lokomotiv-Codes, usw. werden vom Gateway mit einem Broadcast  auf die andere Seite zu den Client-PCs weitergeleitet. So können mehrere Clients die Sensorinformationen gleichzeitig verarbeiten.

Die Anfragen, die nicht einem spezifischen Sensor (oder Aktor) betreffen, werden vom Gateway abgefangen und die Antwort an den anfragenden Client (PC) zurückgeschickt. Meldungen und Anfragen an Sensorknoten werden vom Gateway in das "Sensornetz" weitergegeben und werden dort vom Sensor bearbeitet oder beantwortet.

Testaufbau auf einem Steckbrett
Aufbau eines doppelten RFID Lesers auf einem Steckbrett

Nach diesem ersten Umbau auf WLAN Sensoren (S88, 2 x RFID für Lok-Code und Aufgleisrichtung, 1 x RFID für 2 x Lok-Code) blieben noch die USB Kabel, welche die ESP Enwicklungsboards mit 5V Energie versorgten. Der PC ist vom Kabelsalat völlig befreit und kommuniziert zu 100% nur noch über WLAN. Um auch die Versorgungskabel am Hosenträger zu eliminieren, habe ich einen Step-Down Wandler eingebaut, der die Gleisspannung in eine 5 V Gleichspannung transformiert und damit alle Entwicklungsboards versorgt.

Nachbauvorschlag für Sensormodul und Gateway

Für eine Modellbahnausstellung im Lokschuppen Hochdahl (EHEH) sollte das Thema "Rückmelder auf der Modellbahn" vertieft werden. Dabei kamen u.A. themen wie S88, RailCom, RM Bus und CAN Bus auf den Tisch. Auch der Unterschied zwischen einer Punktmeldung und einer Block-Belegtmeldung wurde gezeigt. Schwerpunkt war jedoch der automatische Blockbetrieb auf einem sogenannten "Hundeknochen". Hier wurde auf der einen Seite des Knochens der Einsatz von Roco/Fleichmann RailCom Rückmeldern 10808 im K-Gleis vorgeführt und auf der anderen Seite im TRIX C-Gleis die drahtlose Besetztmeldung über Stromerfassung.

Die SMD-Stromerfassungsmodule für 2 Rückmeldekanäle waren in der Bettung des Trix C-Gleises eingebaut und somit für das Publikum nicht sichtbar. Ein Teil der C-Gleise wurde sogar auf einen normalen Tisch verlegt. Der halbe Hundeknochen mit den C-Gleisen wies keinerlei sichtbare Verdrahtung auf, weder auf noch unter den Tischen und Modulplatten.
Eine (richtige) Z21 versorgte die Gleisspannung für die Loks und die Weichen. Die zugehörigen Weichendecoder bezogen die DCC Information und die Energie aus dem Gleis und waren ebenfalls in der Bettung versteckt. Es wurden 4 WLAN-Rückmeldebausteine verbaut, die mit insgesamt 8 Meldern 4 Blocks überwachten (4 mal ENTER-Bereich und 4 x IN-Bereich).

Steckbrettaufbau eines 2-Bit Rückmelders
Aufbau auf einem Steckbrett eines hochohmigen Massesensors mit 2 Eingängen ähnlich S88

Abseits des Hundeknochens wurde gezeigt, wie mit einfachsten Mitteln ein WLAN-Rückmelder aufgebaut wird, wie er mit einem Märklin Schaltgleis betätigt wird und wie die Information über WLAN in den PC gelangt. Der einfachste WLAN Rückmelder besteht aus einem Wemos D1 Mini Wlan Entwicklungsboard und braucht an externen Komponenten lediglich 2 10 kOhm Widerstände. Er kan über einen USB Powerpack, ein USB Ladegerät oder über einen USB Port des PCs und einem Micro-USB Kabels mit 5 V versorgt werden. Mit dem Freeware Programm ESP8266Flasher.exe wird die Software geladen und das Modul anschließend über ein Web-Interface konfiguriert. Im Normalfall wird nur die gewünschte Adresse verändert. Braucht man mehr Details über Status und Konfiguration des Rückmelders, kann man mit einem Terminal Programm online gehen (über USB und emulierten COM-Port mit 115200 Baud). Neben dem Serial Monitor der Arduino Entwicklungsumgebung nutze ich dafür auch das Freeware Programm HTerm.exe.
Für das Gateway wurde ebenfalls ein Wemos D1 Mini Entwicklungsmodul verwendet. Es braucht keine externen Komponenten und sogar die mitgelieferten Stiftleisten sind eher hinderlich als nützlich. Mit dem ESP8266Flasher lädt man das passende .BIN File auf das Modul.
Da das Sensorgateway mit dem PC kommunizieren soll, muss es sich in denselben Router einklinken, wie auch der PC. Um die betreffende SSID, das Password und die gewünschte IP-Adresse des Gateways einzugeben, steht ebenfalls ein Web-Interface zur Verfügung. Der Router kann der hausinterne Router sein, zB. die Fritz!Box, aber auch ein dedizierter Router, wie der der mitgelieferte Router der Z21 ist brauchbar. Man kann sogar eine DR5000 oder einen Raspberry Pi als Router verwenden. Weil nicht alle Router die Konfiguration einer festen IP-Adresse zulassen, steht auch DHCP zur Verfügung. Das Sensorgateway kann genauso wie die Sensormodule mit einem Terminalprogramm beobachtet werden. Es zeigt an seinem USB-Port alle konfigurierten Daten und Information zu der verwendeten Hard- und Software. Wenn das Gateway die Verbindung mit dem Router erfolgreich aufgebaut hat, werden alle eintreffenden Z21 Nachrichten aus dem PC-Steuerprogramm und aus dem Sensornetzwerk protokolliert.
Der automatische Blockbetrieb wurde mit Rocrail gesteuert. Die Funktion der 2-Bit WLAN Rückmelder wurde mit Windigiped gezeigt.


Downloads für den 2-fach WLAN Rückmelder
Fritzing Datei Wemos Mini D1 mit Tastern (hochohmige Variante wie oben)
Fritzing Datei Wemos Mini D1 mit Tastern (vereinfachte Variante für absolut potenzialfreie Eingänge wie Reedkontakte oder Märklin Schaltgleise)
Binärcode für den 2-Bit Massesensor
Downloads für das Sensorgateway
Binärcode für das Sensorgateway V4.3
Links auf andere Seiten
Die Seite im Rocrail Wiki vom User Pirat-Kapitan zum Thema WLAN gestützte Rückmeldung für Teppichbahner
Lokschuppen Hochdahl - Eisenbahn- und Heimatmuseum Erkrath-Hochdahl e.V.
Entwicklungsumgebung und Terminalprogramm
Die Arduino Entwicklungsumgebung kam für dieses Projekt zum Einsatz. Der Serial Monitor ist Bestandteil dieser Umgebung
Das Freeware Terminal Programm HTerm von Tobias Hammer

  

©2015 - 2019  Gerard Clemens   letzter Update 18.11.2019


Zurück nach oben