WLAN Rückmelder auf der Modellbahn


 Der Hosenträger
Abbildung 1 - Der Hosenträger als Gleisbild in Rocrail

Der Hosenträger war der Anlass

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. Ein nicht genormtes H0 Gleismodul mit 4 Weichen, einer Gleiskreuzung und 4 Abstell­glei­sen. An diesem Hosenträger habe ich von RFID bis RailCom, von S88 bis LocoNet und vom Punktmelder bis zum Belegtmelder meine sämtlichen Entwicklungen ausprobiert. Das führte zu einem Wust an Kabeln, Schnittstellen und Stromversorgungen. In 2018 reifte die Idee auf­zuräumen und alles nur noch draht- und kabellos über WLAN mit dem PC zu verbinden. Um auch die vielen USB-Kabel und USB-Netzteile zu eliminieren, sollte die Elektronik unter dem Hosenträger aus der digitalen Gleisspannung versorgt werden.

Die Offenlegung des Roco Z21 LAN Protokolls legte die Verwendung für meinen Zweck nahe. Im der Modellbahnsoftware auf meinem PC musste dann quasi "nur" eine (zusätzliche) Z21 Schnittstelle angelegt werden. Das war zumindest die Idee. Begonnen wurde mit dem Bau eines RFID Lesers auf der Basis eines Lolin NodeMCU V3, einem verbreiteten ESP8266 Mikro­prozessor-Entwicklungsboard mit integriertem WLAN.


Gateway

Die Umstellung eines RFID-Lesers auf WLAN war der erste Schritt. Ich stellte dabei fest, dass nicht nur Informationen vom RFID Leser zum PC fließen, son­dern der PC über das Z21 Inter­face auch Informationen und Anfragen an den RFID-Leser sendet, der ja nun die Rolle einer vir­tuel­len Z21 übernommen hat. Die Anfragen allerdings müssen vom WLAN Modul auch be­antwortet wer­den, damit die Modellbahnsoftware auf dem PC mangels Antworten nicht auf­gibt. Anfangs wurde die Beantwortung der Fragen nach Geräte­zustand, Seriennummer und Firmware-Stand der "Z21" in den Code des RFID Lesers inte­griert, 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 gleichen ESP8266 NodeMCU Entwicklungsboards ein "Gateway" entwickelt, das alle allgemei­nen Aufgaben einer virtuellen Z21 übernimmt. So meldet das Gateway neben Serien­nummer 1234567 und Firmware-Stand nun sogar eine virtuelle "Temperatur" und eine virtuelle "Gleisspannung".

Das Gateway (auf Deutsch Tor) hat nun zwei Seiten. Auf der Seite der Sensormodule bietet es ein WLAN "SENSORNETxx", in das sich die Sensorknoten einloggen. Alle hier ein­tref­fenden Meldun­gen, 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 Gate­way abgefangen und die Antwort an den anfragenden Client (PC) zurückgeschickt. Meldun­gen und Anfragen an Sensorknoten werden vom Gateway in das "Sensornetz" weitergegeben und werden dort vom Sensor bearbeitet oder beantwortet.


WLAN Stromsensor-Rückmeldemodule

Für eine Modellbahnausstellung im Lokschuppen Hochdahl (EHEH) sollte das Thema "Rückmelder auf der Modellbahn" vertieft werden. In Vorbereitung auf die Ausstellung wurden einige einfache 2-Kanal-WLAN Rückmeldemodule als Kontakt- bzw. Masse-Sen­sor entwickelt. Das waren aus der Software-Sicht im prinzip 2-Kanal WLAN-RFID-Leser, wie sie unter meinem Hostenträger bereits im Betrieb waren. Natürlich ohne RFID und dieses Mal auf der Basis eines Wemos D1 Mini WLAN Esp8266 Moduls. Schwerpunktmässig wurde untersucht, ob es möglich ist, alle für 2 Stromsensoren erforderlichen Komponenten in die Bettung des Märklin C- Gleis oder natürlich auch ins Trix C-Gleis unterzubringen.

Prototypen für den embedded Belegtmelder
Abbildung 2 - Prototypen für den eingebauten (embedded) Belegtmelder. Oben: 2 Stromsensoren mit SMD Dioden, Transistoren und Optokopplern, Programmier-Taste und -LED. Unten: 1 x Stromsensor und 1 x Spannungssensor, aus der Gleisspannung gespeist und mit Programmier-Taster und -LED.

In diesem frühen Stadium wurden die Optokoppler für die Trennung von Gleisspannung und Kommunikationselektronik noch beibehalten. Jeweils 2 antiparallel geschaltete Silizium­dio­den mit Shuntwiderstand und je eine Transistorschaltung zum Messen des Spannungsabfalls über die Dioden waren auch noch enthalten. Die Strommessung basiert auf 2 antiparallel geschalteten Dioden
Abbildung 3 - Strommessung
Für die Programmierung der Rückmelde­adres­se(n) waren Taster und LED vorgesehen. Erste Minia­turisierung versprach der Einsatz des ESP12-E (in Abbildung 2 im weißen Sockel mit der Aufschrift 2595). Zum Flashen der Firm­ware und für die Diagnose war noch vorübergehend der FTDI232 Baustein (Abbildung 2, rote Platine im oberen Pro­totypen) erforderlich. An diesen beiden Pro­to­typen konnte ich sowohl die Firmware für die einfachen Vari­anten "Kontakt- und Massesensor" als auch die für den "eingebauten Strom-Be­legt­melder" wei­test­gehend fertigstellen. Als es aber wieder darum ging, alles in die Gleisbettung un­ter­zubringen, musste der Entwurf weiter abge­speckt wer­den. Als erste Maßnahme verschwanden Pro­gram­mier­taster und LED. Der ROF 78 SMD Span­nungs­wandler, der aus der digitalen Gleisspannung die 3,3 Volt für den ESP12-E er­zeu­gen sollte, bietet keine galvanische Trennung zwischen Eingangs- und 3,3 V Ausgangs­span­nung. Somit waren nun die Optokoppler sinnlos geworden und konnten deswegen samt Wider­stän­den entfallen. Trotzdem waren noch die 2 Transistor­schaltungen zum Messen des Span­nungs­ab­falls über die Dioden notwendig. Da kam mir der analoge Eingang des ESP12-E in den Sinn. Der müsste dann "nur" über einen Multiplexer ab­wechselnd für beide Kanäle ver­wendet werden. Jetzt hatte der Entwurf auf einmal nur noch 17 Bauteile. Die wurden diskret auf einem Steckbrett aufgebaut.

Steckbrett-Aufbau des embedded 2-Kanal Rückmelder
Abbildung 4 - Steckbrett mit dem geänderten Konzept für den embedded 2-Kanal-Rückmelder

Als Programmier- und Diagnose-Schnittstelle zum PC wurde der FTDI232 Seriell nach USB Wandler mit aufgebaut. Nun hatte ich mir durch diese Änderungen im Hardware-Konzept eine zweite Variante der Firmware eingehandelt, die parallel gepflegt werden musste [4]. Embedded Rückmelder mit 2 Kanälen zum Einbau in das C-Gleis
Abbildung 5 - Embedded Rückmelder mit 2 Kanälen
zum Einbau in das C-Gleis
Nun ist die digitale Gleis­spannung bekanntlich eine Wech­selspannung. So ist auch der Strom, der durch die antiparallelen Dioden fliesst ein Wech­sel­strom und die Span­nung, die über die Dioden entsteht, eine Wechsel­spannung, also abwech­selnd positiv und negativ. Der ESP12-E Analog­ein­gang kann aber nur po­si­ti­ve Spannungen messen. Um nun keine sinnlosen Messun­gen an der nega­ti­ven Halb­welle zu ma­chen, konnte ich entweder die Messungen mit der po­si­ti­ven Halb­welle syn­chro­ni­sie­ren oder den Eingang des ESP12-E auf 500 mV vorspannen, so dass im Bereich von -500 mV bis +500 mV an den Dioden alles gemessen und ausgewertet werden kann. Das kostet 2 wei­te­re 0805 Wider­stände, die sich noch bequem unterbringen lassen. Im diesem Zuge wurden auch die 6A Siliziumdioden gegen 3A Schottky-Dioden aus­getauscht, die mit einer ma­xi­malen Durch­lassspannung vom 550 mV besser zum neuen Mess­bereich passen und we­ni­ger Verluste verursachen als die bis­herigen Silizium Dioden. Die Abbildung 5 zeigt die fertige Baugruppe, wie sie auf der Ausstellung in Hochdahl zum Einsatz kam.


Die Aussstellung

Zum Vorführen von RailCom und WLAN Belegtmeldungen wurde auf der Ausstellung in Hochdahl einen sogenannten "Hundeknochen" aufgebaut. Das ist eigentlich ein Oval, dessen lange Seiten so nah zusammengelegt werden, dass es dort wie eine zweiglei­sige Stecke aussieht. Im linken Teil wurden Trix C-Gleise verwendet und im rechten Teil Märklin K-Gleise (Abbildung 6).

Der "Hundeknochen" auf der Ausstellung im Lokschuppen Hochdahl
Abbildung 6 - Der "Hundeknochen" auf der Ausstellung im Lokschuppen Hochdahl

Vier SMD-Stromerfassungsmodule für je 2 Rückmeldekanäle (RMEM2xI) wurden in die Bet­tung des Trix C-Gleises (links in Abbildung 6) eingebaut und waren somit für das Publikum nicht sichtbar. Um zu zeigen, dass die versteckten Strom-Detektoren für Tisch und Teppich­bahner ideal sind, wurde ein Teil der C-Gleise sogar auf einem normalen Tisch verlegt. Alle C-Gleise waren mit einer Ringleitung zur Stromversorgung versehen. Über diese Ringleitung wurden die WLAN Rückmelder und die Weichendecoder mit Digitalstrom versorgt. Der einzige Hinweis auf die versteckten Rückmelder waren einige gelbe Schildchen mit der ID der Baugruppen im Gleis. Der halbe Hundeknochen mit den C-Gleisen wies also 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. Mit den 4 WLAN-Rückmeldebausteinen wurden insgesamt 8 Gleisabschnitte überwacht, die zusammen 4 Blöcke bildeten (4 Bremsabschnitte und 4 Halteabschnitte). Auf der rechten Seite des Hundeknochens wurde an der Z21 einen Roco/Fleischmann 10808 RailCom Rückmelde­bau­stein verwendet, um dort ebenfalls 8 Gleisabschnitte für 4 Blöcke zu überwachen. Auf dem Hundeknochen wurde während der Ausstellung der automatische Blockbetrieb mit dem Programm Rocrail vorgeführt.


Auch einfache WLAN-Rückmelder

Abseits des Hundeknochens wurde gezeigt, wie mit einfachsten Mitteln ein WLAN-Rückmelder aufgebaut wird. Der eigentliche Sensor war ein Märklin Schaltgleis. Das ist ein Schalthebel, der vom Schleifer eines Fahrzeuges nach links oder rechts aus­gelenkt wird und dabei einen von zwei Mikroschaltern in der Gleisbettung betätigt. Das Schaltgleis übermittelt also die Betätigung des Hebels und die Fahrtrichtung des auslösen­den Fahrzeugs. Die Infor­mation gelangt vom Schaltgleis über Draht in das Wemos D1 Mini ESP Entwicklungsboard, von dort über WLAN zum Gateway und von dort in den PC. Der ein­fachste WLAN Rückmelder besteht aus einem Wemos D1 Mini WLAN Entwicklungsboard und braucht an externen Kom­po­nenten lediglich 2 10 kOhm Widerstände [2].

Steckbrettaufbau eines 2-Bit Rückmelders
Abbildung 7 - Aufbau auf einem Steckbrett eines hochohmigen Massesensors mit 2 Eingängen ähnlich S88. Rechts befinden sich Programmiertaster und Programmier-LED. Die Funktion ist in der Firmware vorhanden und in [10] beschrieben.

Er kann über einen USB Powerpack, ein USB Ladegerät oder über einen USB Port des PCs und einem Micro-USB-Kabel mit 5 V versorgt werden. Mit dem Freeware Programm ESP8266­Flasher.exe wird die Firmware geladen und das Modul anschließend über ein Web-Interface konfiguriert [10]. Im Nor­malfall wird nur die gewünschte Adresse der Rückmelder verändert. Braucht man mehr De­tails über Status und Konfiguration des Rückmelders, kann man mit einem Terminal Pro­gramm online gehen (über USB und emulierten COM-Port mit 115200 Baud). Neben dem Serial Monitor aus der Arduino Entwicklungsumgebung nutze ich dafür auch das Freeware Programm HTerm.exe [16].


Gateway und WLAN-Router

Für das Gateway wurde - nicht nur auf der Ausstellung - ebenfalls ein Wemos D1 Mini Ent­wick­lungsmodul verwendet. Es braucht keine externen Komponenten und sogar die mitgelie­fer­ten Stiftleisten werden nicht eingelötet. Eingelötet wären sie eher hinderlich als nütz­lich. Mit dem ESP8266Flasher lädt man das passende .BIN File auf das Modul.
Da das Sensorgateway mit dem PC kommunizieren soll, muss es sich über WLAN mit demsel­ben Router verbinden, an dem auch der Modellbahn-PC über WLAN oder LAN hängt. Um die SSID des Routers, das Router-Password und die gewünschte IP-Adresse für das Gateway ein­zu­geben, stellt das Gateway ein Web-Interface zur Verfügung. Die Handhabung ist in [10] beschrie­ben. Der Modellbahn-Router sollte weder mit dem Internet noch mit dem Hausnetz verbunden sein. Nur zur Not kann kurz mal der hausinterne Internet-Router, z.B. die Fritz!Box, verwendet werden. Da aber Gateway und WLAN Sensormodule allgemein bekann­te Passwörter verwenden, würde man die Datensicherheit des Heimnetzes damit aus­he­beln.
Ein dedizierter Modellbahn-Router, wie der zur Roco Z21 gehörende TPLink Router, ist im­mer zu empfehlen. Preisgünstig und optimal geeignet ist auch der baugleiche TPLINK TL-WR840N Router. 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 be­ob­achtet werden. Es zeigt an seinem USB-Port alle konfigurierten Daten und Informationen der verwendeten Hard- und Software. Wenn das Gateway die Verbindung mit dem Router er­folg­reich aufgebaut hat, werden alle eintreffenden Z21 Nachrichten aus dem PC-Steuer­pro­gramm und aus dem Sensornetzwerk protokolliert.


Nachbau WLAN Sensormodule und Gateway


Downloads für den einfachen 2-fach WLAN Rückmelder
[1] Fritzing Datei Wemos Mini D1 mit Tastern (hochohmige Variante wie in Abbildung 7)
[2] Fritzing Datei Wemos D1 Mini mit Tastern (vereinfachte Variante für absolut potenzialfreie Eingänge wie Reedkontakte oder Märklin Schaltgleise)
[3] Binärcode für den 2-Bit Massesensor V4.3
Downloads für den eingebauten 2-Kanal SMD Stromsensor (RMEM2xI)
[4] Binärcode für den ESP12-E auf dem RMEM2xI Stromsensormodul
[5] Eagle und Gerber Dateien für die Herstellung der RMEM2xI Platine
[6] Schaltplan für das RMEM2xI Stromsensormodul
[7] Stückliste für das RMEM2xI Stromsensormodul
[8] RMEM2xI Platine bei Seeed Studio (China) bestellen
Downloads für das Sensorgateway
[9] Binärcode für das Sensorgateway V4.5
[10] Anleitung zum Konfigurieren und Debuggen von Sensormodul und Gateway
Links auf andere Seiten zum Thema WLAN Rückmelder
[11] Die Seite im Rocrail Wiki vom User Pirat-Kapitan zum Thema WLAN gestützte Rückmeldung für Teppichbahner
[12] Lokschuppen Hochdahl - Eisenbahn- und Heimatmuseum Erkrath-Hochdahl e.V.
[13] Z21_LAN_Protokoll_V1.09.pdf (1,3 MB)
Entwicklungsumgebung, Flash Tool und Terminalprogramm
[14] Die Arduino Entwicklungsumgebung kam für dieses Projekt zum Einsatz. Der Serial Monitor ist Bestandteil dieser Umgebung
[15] Das Firmware Flashtool für die NodeMCU Entwicklungsmodule (ESP8266Flasher)
[16] Das Freeware Terminal Programm HTerm von Tobias Hammer

 ©2015 - 2020  Gerard Clemens  letzter Update 25.06.2020


Zurück nach oben