Bei meinen bisherigen Belegt­mel­dern für das 2-Leiter-System 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. 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).
  2. 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 wurde zur Probe die Schaltung 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 betragen 120 für den unteren Wert für die Belegt­meldung und 80 als oberen Wert für die Frei­mel­­dung. 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 (R12 und R22 haben 0 Ohm) zum
Einbau in ein (TRIX) 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 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 ich 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
Weitere Links
Kurzanleitung zum Konfigurieren und Debuggen des Mediators

Hinweise zum Aufbau und Inbetriebnahme des RMEM2xI Bausteins:

Prüfe alle Bauteile und Lötstellen, bevor die digitale Gleisspannung angelegt wird. Die erste Prüfung muss nicht unbedingt im Gleis gemacht werden, sondern kann auch auf dem Arbeitstisch vor dem PC erfolgen. Beim Anlegen der Gleisspannung blitzt die blaue LED auf dem ESP-12E(F) kurz. Das ist ein gutes Zeichen, die 3,3 Volt Versorgungsspannung sind da.

Im Netzwerkfenster taucht bei den WLANs ein neues WLan auf. Bei mir ist das das obere „AP0809“.

War das Modul vielleicht schon mal programmiert oder sind bereits mehrere Module in Betrieb genommen worden, kann es in Windows (bei mir Windows 10) zu Problemen kommen. Zum Beispiel will sich der PC partout nicht mit dem WLAN verbinden. Das kann darauf zurückzuführen sein, dass Windows für das/ein Netzwerk mit dem Namen „AP0809“ nicht passende Daten gespeichert hat.

Manchmal akzeptiert Windows auch das Kennwort „NWKONFIG“ nicht. In anderen Fällen wird nur eine IP6 Adresse vergeben und keine IP4, die wir ja benötigen. Auch meint Windows vereinzelt, dass es sich bei „AP0809“ um ein „öffentlches“ Netzwerk handelt und verbindet sich zwar, lässt aber nicht zu, dass wir mit dem Browser die Konfigurationsseite 192.168.4.1 oder auch „http://AP0809“ anzeigen.

Die allererste Maßnahme ist es dann, das eventuell noch vorhandene Netzwerk (AP0809 in unserem Fall) aus der Netzwerkverwaltung von Windows zu löschen. Gehe dazu mit der rechten Maustaste auf das Windows-Symbol unten links und wähle dort „Netzwerkverbindungen“. Da klicken wir auf ‚WLAN‘ und anschließend auf ‚Bekannte Netzwerke verwalten‘. Manchmal ist die Liste sehr lang und mit der Suchfunktion kann das WLAN AP0809 schnell gefunden werden: Siehe Screenshot unten.

Hier sollte man AP0809 anklicken und den Button ‚Nicht speichern‘ drücken, um das Netzwerk AP0809 zu löschen. Nur in den hardnäckigsten Fällen, macht man das zusätzlich RMEM2xI Modul spannungsfrei, schaltet das WLAN des PCs aus und bootet ihn neu. Beim Wiedereinschalten von PC, Rückmeldemodul und WLAN wird dann meistens normal eingelogt und danach auch die Webseite angezeigt.

Die CAN2WLAN Variante funktioniert natürlich zusammen mit der CAN2WLAN Bridge in der Gleisbox, um die Gleis-Belegtmeldungen in das Modellbahnsteuerprogramm anzuzeigen. Experimente zeigen jedoch, dass auch die CS3 die Rückmelde-Telegramme der CAN2WLAN Version verarbeiten kann. Ich hoffe bald die CS3 Einstellungen dafür hier zu veröffentlichen.

Die NextGen Variante, die das Z21 Ethernet Protokoll nutzt, ist autark und kann in Verbindung mit anderen Zentralen betrieben werden, um Belegtmeldungen in das Modellbahnsteuerprogramm zu bringen.


© 2020 – 2024 Gerard Clemens – letzte Aktualisierung: 15.02.2024