Bislang beruhten meine Ent­wick­lungen für Belegt­mel­der immer auf das­sel­be alt­herge­­brachte Kon­­­zept: Stromsensor auf der Ba­sis von anti­pa­ral­lelen Silizium-Gleich­richter-Dio­den mit Bypass-Wi­der­­stand, Tran­sis­tor als Komparator (Bau­stein, der Span­nun­gen ver­gleicht) und Optokoppler zur Tren­­­­nung von Gleis­span­nung und Ver­sor­gungs­span­nung der Elektronik (RM-BUS, CAN, S88, o. ä.).
Bei den herkömmlichen Belegt­mel­dern wurde ein Modul mit 4, 8 oder 16 Strom­sensoren unter der An­la­gen­­platte ver­baut, mit den Gleisen ver­drah­tet und über Bus mit der Zen­trale oder dem PC ver­bun­den. Im neu­en Konzept soll der Be­legt­melder mit dem C-Gleis zu einer Ein­heit wer­den. Die Belegt­mel­dungen sol­len über WLAN die Zen­trale­ oder den PC er­reichen. So wird das C-Gleis zu einem flexibel ver­wend­ba­ren Bau­ele­ment für Tisch- und Tep­pich­bah­ner, die auch ihre provisorisch auf­gebaute An­lage auto­mati­sieren wol­len. Es kommt entweder das Roco / Fleischmann Z21 Ethernet Proto­koll oder das Märklin CAN-Bus Protokoll (in zwei Aus­prä­gun­gen) zur An­wendung.
Die Umstellung auf WLAN und der Wunsch, keine weiteren Versor­gungs­lei­tun­gen durch die Anlage zu ziehen, führ­ten dazu, dass die digitale Gleis­span­nung zur Versorgung der elek­tro­nisch­en Kom­po­nenten verwendet wur­de.

Elektrische Isolation

Es gibt aber wohl kaum Span­nungs­­wand­­­ler, die klein genug für den Ein­bau in die Bettung des C-Gleises sind und eine isolierte Aus­gangsspannung von 3,3 V für den verwen­deten WLAN Bau­stein ESP12-E liefern. Der ESP12-E ist eine sehr kom­pakte SMD Bauart des be­kann­ten Espressif ESP8266 Pro­zessors. Durch diese nicht-isolierte Strom­ver­sor­gung haben nun der ESP12-E und das Gleis eine elek­trische Ver­bin­dung. Die Ver­wen­dung eines Opto­kopplers ist da­­mit sinn­los ge­wor­den. Außerdem führt bereits das auf­gebaute WLAN von sich aus zu einer gal­va­ni­schen Trennung von Gleis­span­nung und nach­fol­gen­dem PC oder Tablet. Nur beim Pro­gram­mie­ren des Rückmeldebausteins über einen FTDI232 (USB) bestünde die Mög­lich­keit einer nicht isolierten Verbindung zwischen Gleismasse und PC.
Die nächste Frage, die sich zwangs­läufig stellte, war die nach dem Kom­pa­ra­tor. Um aber für 2 Belegt­mel­der je die obere (belegt) und die untere (frei) Span­nung zu verglei­chen, wären schon 4 Kompa­ra­toren mit zusätz­li­chen Bau­teilen not­wen­dig gewesen. Hat nicht der ESP8266, bzw. in unser­em Fall der ESP12-E, auch einen ana­logen Ein­gang, mit dem man Span­nun­gen im Be­reich der Dio­den­durch­lass­spannung von 0 bis 700 mV (Silizium Dioden) oder 0 bis 500 mV (Schottky-Dioden) messen kann? Richtig, aber leider sind es nicht 8, 4 oder 2 Ein­gänge, son­dern ist es nur einer. Der müss­te aber dann gemein­sam, reihum, von allen Sen­sor­ka­nä­len ver­wen­det werden.

Multiplexer

Der C-MOS Baustein CD4051 macht genau das. Er verfügt über 8 elek­tro­nische „Schal­ter“ mit einem gemeinsamen Pol. Welcher von den 8 Schaltern das Mess­sig­nal zum ESP12-E leitet, wird über 3 Binär­eingänge ent­­schie­den. Der CD4051 wird genau­so mit 3,3 V gespeist wie der ESP12-E. Er ist klein und erfordert keine Be­schal­tung mit ex­ternen Kompo­nen­ten. Dass wir mit diesem Konzept erst mal nur positive Span­nun­gen U messen, ist aber noch ein Nach­teil. Im alten Kon­zept (S88 Rück­­mel­der) wurden zwar auch nur die posi­tiven Halb­wel­len gemessen, das aber kontinuierlich. Die Mes­sung im neu­en Konzept erfolgt zyklisch in der Haupt­schleife des ESP12-E Pro­gramms. Es erfordert immer 2 Schrit­­te, zuerst die Aus­wahl des Kanals über den Multi­plexer, und anschließend die eigentliche Messung und Aus­wertung.
Vom alten Konzept sind also nur die anti­­parallelen Dioden mit By­pass Wi­der­stand, der ESP8266 als Kom­pa­ra­tor und das WLAN als Schnittstelle zur Zen­tra­le oder PC ge­blie­ben. Da der ESP12-E ein sehr leis­tungs­­starker Mi­kro­pro­zessor ist, sind wir in der Lage, das Protokoll für diese Verbin­dung frei zu wählen.

Messverfahren

Das Messverfahren am Beispiel des Trix C-Gleises

Die Messung des Span­nungs­ab­falls U über die Dioden ist nur rele­vant, wenn die Span­­nung über die Dioden positiv ist. Da die digi­tale Gleis­spannung eine Wechsel­span­nung ist, könnte so nur wäh­rend der po­sitiven Halbwellen, also quasi nur die halbe Zeit sinn­voll ge­mes­­sen werden. Um öfters korrekt messen zu können, müsste da­her theo­re­tisch der Multi­plexer mit den Flan­ken der digitalen Gleisspan­nung syn­chronisiert wer­­den. Um die dafür not­wen­dige Hard- und Software zu spa­ren, habe ich einen Trick ange­wen­det, um auch die ne­ga­ti­ven Halb­wellen in die Messungen ein­zu­be­zie­hen.
Mit einem Spannungsteiler wird der ana­loge Eingang des ESP12-E auf ca. 512 (mV) gelegt. Das ist der hal­be Ein­gangs­bereich (0 – 1023). Die 3,3 V Versor­gungs­­span­nung geht über einen 220 kOhm Wider­stand an den ADC-Eingang und vom ADC-Eingang geht ein 39 kOhm Wider­stand auf den Pin 3, den Aus­gang des Multiplexers CD4051. Jetzt kann die Schaltung die po­si­tive und die negative Halbwelle messen. Die An­zahl der Messungen hat sich damit ver­dop­pelt und die Synchronisierung der Mes­sung mit dem digitalen Gleissignal ist nun über­flüssig. Dass wir dann und wann auch mal eine Lücke oder RailCom Cut-Out (also nichts = „frei“) messen, ist dank des Mess­al­go­rith­mus kein Problem.

Mit dem analogen Eingang des ESP12-E wird aktuell die Span­nung U so oft wie mög­lich ge­mes­sen. Bei jedem neu­­en Durch­lauf wird der Multi­plex­er-Index um 1 er­höht. Spä­tes­tens nach 2 Zyklen wird wieder der Ka­nal 1 mit dem ana­lo­gen Eingang des ESP ver­bun­den. Kurz nach dem Einschalten eines Multi­plex­er Ka­nals wird mit einer kleinen Ver­zö­ge­rung das analoge Signal gemessen. Ist das Er­geb­nis höher als 512 + Schwell­­wert für „belegt“ oder kleiner als 512 – Schwellwert für „belegt“, dann bedeutet das:

  1. Die Messung fand statt, als die digitale Gleisspannung keine Lücke aufwies
  2. Der überwachte Gleisabschnitt ist auf jeden Fall be­legt.

Es wird vom ESP sofort ein Tele­gramm „besetzt“ abgesetzt.
Ist das Messergebnis kleiner als ein zwei­ter Schwellwert für „frei“, dann bedeutet das:

  1. Die digitale Gleisspannung war kurz weg (Lücke oder Mikro-Kurzschluss) oder
  2. der Abschnitt ist frei oder
  3. es gibt ein Kontaktproblem zwischen Rad und Schiene oder zwischen Schleifer und PuKos

Wiederholt sich diese Messung mehr­mals mit dem gleichen Ergeb­nis, kann nach einer Zeitdauer von n Millisekunden davon aus­ge­gangen werden, dass der Abschnitt tat­säch­lich frei ist. Dann erst wird das Te­le­gramm „frei“ abge­setzt.
Wenn vor Ablauf der n Messungen wie­der eine positive Messung ge­­macht wird, wird der Zeitgeber neu geladen. Falls zu­letzt „belegt“ gemeldet wurde, bleibt die­se Meldung gültig. Läuft der Timer ab, dann wird nur ein „frei“-Tele­gramm abge­setzt, wenn vorher „belegt“ war.
So wird der Datenverkehr im WLAN auf die relevanten Meldungen redu­ziert. M. a. W. es wer­den nur die Än­de­run­gen ge­mel­det.
Die „frei“ Meldung wird also um eine konfigurierbare Anzahl von n ms verzögert. Das hat fol­gen­de Vor­teile:

  1. Dreckige Gleise führen weniger schnell zum Freimelden.
  2. Fluten des Netzwerkes mit Belegt- und Freimeldungen wird vermieden.
  3. Mikro-Kurzschlüsse und Lücken in der Gleisspannung werden ignoriert.
  4. Abschalten der digitalen Gleis­span­nung führt nicht zum Frei­melden (die Versorgungs­span­nung ist vor Ablauf der Abfallverzögerung n weg).
  5. Der Belegtmelder „glüht“ etwas nach, ein Feature, das man z. B. in der Z21 App und bei Mo­dell­­bahn­steu­er­­pro­gram­men einstellen muss.

Die Dauer der Abfallverzögerung von „belegt“ nach „frei“ ist konfigurierbar von 10 bis 2550 ms. Die Schwell­werte für „frei“ und „belegt“ wer­den von der ge­wünsch­­ten Em­pfind­lich­keit be­stimmt. Die Vor­ein­stel­lung reicht für eine Be­legt­meldung mit dem „feuch­ten Finger“. Der hier verwendete ESP12-E hat einen Analogeingang mit einem Ein­gangsbereich von 0 bis 1 V.

Für die Variante 2-Kanal embedded Rück­­meldemodul zum Einbau in das C-Gleis „RMEM2xI“ reduziert dieses Kon­zept die Anzahl der Bauteile be­trächtlich. Es werden nur noch 19 Bau­teile be­nö­tigt!

Programmierung

Das RM Modul meldet sich mit dem „LAN_CAN_DETECTOR“ Tele­gramm aus der Roco Z21 Ethernet Pro­to­koll Spe­zifikation. Alternativ kann auch das LAN_LOCONET_DETECTOR Telegramm verwendet werden.

Wird die Firmware für CS2 oder Gleisbox geladen, wird die Märklin CAN Nachricht 0x23 abgesetzt. Ver­wen­det werden dabei die Rückmelde-Adres­sen (1 – 2048 für das Z21 Protokoll oder 1-1023 mit Angabe der Gerätekennung für das Märklin CAN Protokoll). Für die Ver­gabe dieser Adres­sen gibt es fol­gen­de Möglich­kei­ten:

  1. Definition der Adresse über das Rocrail Z21 Menü im Programm Rocrail unter Roc­rail Eigen­schaf­ten. Setzt voraus, dass bei der Program­mierung nur ein Modul online ist.
  2. Programmierung über CV ist mit dem Programm Rocrail für beide Protokolle mög­lich und ge­tes­tet. Betriebsart POM für Acces­so­ry Decoder. Als Adresse dient die NID des Sensormoduls (NID = eindeutige Netz­werk Identifikation).
  3. Programmierung über Web-Interface. Wurde für die aktuellen Firmware-Versionen erweitert und erlaubt die Eingabe sämtlicher Parameter wie Adresse, Filterzeit und Empfindlichkeit.

Varianten

Steckbrettvariante des RMEM2xI mit 2 × 22k als Lastwiderstand. Variante noch ohne Vorspannung auf den analogen Eingang. Der FTDI232 USB nach seriell Umsetzer dient nicht nur der Program­mierung. Er kann auch für das Moni­to­ring verwendet werden.

Achtung: Bei der Verwendung des USB-Ports eines ESP-Boards oder wie hier des USB-Ports des FTDI232 Wand­lers, wird die Masse vom PC mit der Gleis­spannung verbunden. Da der PC geerdet ist und die Gleis­span­nung meis­tens auch Bezug auf Masse hat, führt das un­wei­gerlich zu Problemen oder zu Beschädi­gung der Hardware! Verwenden Sie einen isolierten USB Adapter oder einen iso­lier­ten PC.

Auf dem Steckbrett wurden zur Probe die Variante mit dem Wemos D1 Mini und eine Vari­an­te mit ESP12-E und FTDI-FT232 zum Pro­gram­mieren und De­bug­gen aufgebaut. Damit man das noch mal nach­bauen kann, habe ich sie mit fritzing © dokumentiert. Mit dem Ver­such ist auch belegt, dass 22 kOhm als Last für eine Belegt­mel­dung aus­rei­chend sind. Die Schwell­werte für bei­de Varianten un­ter­­schei­den sich. Beim ESP12-E wurde die 120 als unteren Wert für die Belegt­meldung und 80 als oberen Wert für die Frei­mel­­dung ver­wen­det. Der zur Verfü­gung gestellte binäre Programmcode enthält die Werte für den ESP12-E.

Auch für Gleichspannung?

Theoretisch kann das Modul RMEM2xI auch für kon­ven­tio­nel­le, also Gleich- oder Wech­sel­­strom­­­bahn­en benutzt wer­den. Das Pro­blem da­bei ist, dass im Stand oder bei sehr langsamer Fahrt der ana­logen Fahr­zeuge keine Gleisspannung mehr da ist und die Rück­meldebausteine nicht ver­sorgt werden. Das könnte man durch Überlagerung der Gleis­span­nung mit einem niederfrequenten Sig­nal, wie z. B. aus einem (ausge­dien­ten) EMS Fahrpult verhin­dern. Damit stünde am Gleis im­mer Spannung an und die Rückmelder wären zu jeder Zeit betriebsbereit und würden auch stehende Triebfahrzeuge und „feuchte Finger“ jederzeit melden.
Nun liegen die Bereiche, in denen „be­legt“ gemessen wird, zwi­schen 0 und 380 und zwischen 620 und 1024. Liegt der analoge Mess­wert zwischen 420 und 580, dann meldet sich der Sensor (nach n Leermessungen) als nicht belegt. Diese Parameter sind im Web-Interface einstellbar.

Ein bestückter Baustein RMEM2xI als Stromsensor zum Einbau in ein C-Gleis

Die erste Bewährungsprobe be­stan­den die RMEM2xI Rück­mel­de­mo­du­le auf der Mo­dell­bahn­­aus­stellung im November 2019 im Lok­schup­pen Hochdahl, wo sie gegen Roc­o 10808 Rückmelder antreten muss­ten.


Betrieb der Rückmelder

Z21 Emulation der nächsten Generation (NextGen)

Anstelle des Z21 Gateways wird ein so­genannter Mediator mit identischer Hard­ware, aber an­derer Firm­ware ein­ge­setzt. Der Mediator emuliert ebenfalls eine Z21 Zentrale. Alle Teil­neh­mer, Mediator, Rück­mel­der und Aktoren melden sich im WLAN des Routers an. Die Rück­mel­de­bau­grup­pen melden alles dem Mediator, der die verschiedenen IP-Adressen dieser Mo­dule durch seine eigene IP ersetzt und die Infor­mation dem PC weiterreicht. Aus der Sicht des PC wird mit einer IP-Adresse kommuni­ziert und nicht mit einem Verbund aus mehreren Netzwerkknoten mit unter­schiedlichen IP-Adressen. Umgekehrt erlaubt NextGen auch den Betrieb von Aktoren, indem z.B. Weichen­komman­dos aus dem PC vom Mediator per Broadcast an alle Sensor- und Aktor-Baugruppen geschickt werden. Weiter unten mehr zu NextGen.

Direktbetrieb an CS2

Diese Variante kommt ohne Gateway aus und verwendet das Mär­klin CAN-Bus Protokoll über Ethernet. Strikt ge­nommen bildet die CS2 den Mediator, bzw. das Gateway, indem sie sich um die Verteilung der Nachrichten im Netz­werk kümmert. Im Gleisbild-Display der CS2 werden die Rückmeldungen direkt angezeigt. Die Wei­ter­gabe der Rück­mel­de­infor­mation an ein Mo­dell­bahn­steuer­pro­gramm ist über die Funk­tion „Broad­cast“ in der CS2 bereits von Märklin rea­lisiert und wurde mit den Pro­gram­men Rocrail, iTrain und Win-Digipet ge­prüft. Die Software für das RMEM2xI WLAN Rück­mel­de­modul für die CS2 steht hier zum Download bereit.

Betrieb an Gleisbox/MS2

Hat man keine CS2/3 und verwendet stattdessen die kleinere Schwester MS2 mit einer Gleis­box, braucht man für die Automatisierung mit einem PC wieder ein externes Gerät, das die Verbindung zwischen PC und dem in­ter­nen CAN Netzwerk der Märklin Komponenten brückt. Diese CAN-WLAN-Brücke habe in einem anderen Beitrag beschrieben. Die Software für die RMEM2xI Bau­grup­pe und die Stan­dard WLAN-Rück­mel­der musste angepasst werden. Wichtigste Anpassung ist die Rückkehr zum UDP Protokoll, weil das die Ver­tei­lung der Nachrichten stark vereinfacht. Die nachfolgende Tabelle enthält die pas­sende Firmware für den RMEM2xI Baustein im Gleiskörper.

Nachbau des WLAN Rückmelders in der C-Gleis-Bettung

Roco/Fleischmann Z21 Protokoll – NextGen
Märklin cs2CAN Protokoll für die CS2
Binärcode für den ESP12-E des RMEM2xI Strom- und Masse-Sensormoduls für die CS2
Märklin cs2CAN Protokoll für Verwendung mit Gleisbox, MS2 und CAN2WLAN-Brücke
Platine RMEM2xI
5 Weitere Links
Kurzanleitung zum Konfigurieren und Debuggen des Mediators

© 2020 – 2023 Gerard Clemens – letzte Aktualisierung: 21.09.2023