Bislang beruhten meine Entwicklungen für Belegtmelder immer auf dasselbe althergebrachte Konzept: Stromsensor auf der Basis von antiparallelen Silizium-Gleichrichter-Dioden mit Bypass-Widerstand, Transistor als Komparator (Baustein, der Spannungen vergleicht) und Optokoppler zur Trennung von Gleisspannung und Versorgungsspannung der Elektronik (RM-BUS, CAN, S88, o. ä.).
Bei den herkömmlichen Belegtmeldern wurde ein Modul mit 4, 8 oder 16 Stromsensoren unter der Anlagenplatte verbaut, mit den Gleisen verdrahtet und über Bus mit der Zentrale oder dem PC verbunden. Im neuen Konzept soll der Belegtmelder mit dem C-Gleis zu einer Einheit werden. Die Belegtmeldungen sollen über WLAN die Zentrale oder den PC erreichen. So wird das C-Gleis zu einem flexibel verwendbaren Bauelement für Tisch- und Teppichbahner, die auch ihre provisorisch aufgebaute Anlage automatisieren wollen. Es kommt entweder das Roco / Fleischmann Z21 Ethernet Protokoll oder das Märklin CAN-Bus Protokoll (in zwei Ausprägungen) zur Anwendung.
Die Umstellung auf WLAN und der Wunsch, keine weiteren Versorgungsleitungen durch die Anlage zu ziehen, führten dazu, dass die digitale Gleisspannung zur Versorgung der elektronischen Komponenten verwendet wurde.
Elektrische Isolation
Es gibt aber wohl kaum Spannungswandler, die klein genug für den Einbau in die Bettung des C-Gleises sind und eine isolierte Ausgangsspannung von 3,3 V für den verwendeten WLAN Baustein ESP12-E liefern. Der ESP12-E ist eine sehr kompakte SMD Bauart des bekannten Espressif ESP8266 Prozessors. Durch diese nicht-isolierte Stromversorgung haben nun der ESP12-E und das Gleis eine elektrische Verbindung. Die Verwendung eines Optokopplers ist damit sinnlos geworden. Außerdem führt bereits das aufgebaute WLAN von sich aus zu einer galvanischen Trennung von Gleisspannung und nachfolgendem PC oder Tablet. Nur beim Programmieren des Rückmeldebausteins über einen FTDI232 (USB) bestünde die Möglichkeit einer nicht isolierten Verbindung zwischen Gleismasse und PC.
Die nächste Frage, die sich zwangsläufig stellte, war die nach dem Komparator. Um aber für 2 Belegtmelder je die obere (belegt) und die untere (frei) Spannung zu vergleichen, wären schon 4 Komparatoren mit zusätzlichen Bauteilen notwendig gewesen. Hat nicht der ESP8266, bzw. in unserem Fall der ESP12-E, auch einen analogen Eingang, mit dem man Spannungen im Bereich der Diodendurchlassspannung 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 Eingänge, sondern ist es nur einer. Der müsste aber dann gemeinsam, reihum, von allen Sensorkanälen verwendet werden.
Multiplexer
Der C-MOS Baustein CD4051 macht genau das. Er verfügt über 8 elektronische „Schalter“ mit einem gemeinsamen Pol. Welcher von den 8 Schaltern das Messsignal zum ESP12-E leitet, wird über 3 Binäreingänge entschieden. Der CD4051 wird genauso mit 3,3 V gespeist wie der ESP12-E. Er ist klein und erfordert keine Beschaltung mit externen Komponenten. Dass wir mit diesem Konzept erst mal nur positive Spannungen U messen, ist aber noch ein Nachteil. Im alten Konzept (S88 Rückmelder) wurden zwar auch nur die positiven Halbwellen gemessen, das aber kontinuierlich. Die Messung im neuen Konzept erfolgt zyklisch in der Hauptschleife des ESP12-E Programms. Es erfordert immer 2 Schritte, zuerst die Auswahl des Kanals über den Multiplexer, und anschließend die eigentliche Messung und Auswertung.
Vom alten Konzept sind also nur die antiparallelen Dioden mit Bypass Widerstand, der ESP8266 als Komparator und das WLAN als Schnittstelle zur Zentrale oder PC geblieben. Da der ESP12-E ein sehr leistungsstarker Mikroprozessor ist, sind wir in der Lage, das Protokoll für diese Verbindung frei zu wählen.
Messverfahren

Die Messung des Spannungsabfalls U über die Dioden ist nur relevant, wenn die Spannung über die Dioden positiv ist. Da die digitale Gleisspannung eine Wechselspannung ist, könnte so nur während der positiven Halbwellen, also quasi nur die halbe Zeit sinnvoll gemessen werden. Um öfters korrekt messen zu können, müsste daher theoretisch der Multiplexer mit den Flanken der digitalen Gleisspannung synchronisiert werden. Um die dafür notwendige Hard- und Software zu sparen, habe ich einen Trick angewendet, um auch die negativen Halbwellen in die Messungen einzubeziehen.
Mit einem Spannungsteiler wird der analoge Eingang des ESP12-E auf ca. 512 (mV) gelegt. Das ist der halbe Eingangsbereich (0 – 1023). Die 3,3 V Versorgungsspannung geht über einen 220 kOhm Widerstand an den ADC-Eingang und vom ADC-Eingang geht ein 39 kOhm Widerstand auf den Pin 3, den Ausgang des Multiplexers CD4051. Jetzt kann die Schaltung die positive und die negative Halbwelle messen. Die Anzahl der Messungen hat sich damit verdoppelt und die Synchronisierung der Messung mit dem digitalen Gleissignal ist nun überflüssig. Dass wir dann und wann auch mal eine Lücke oder RailCom Cut-Out (also nichts = „frei“) messen, ist dank des Messalgorithmus kein Problem.
Mit dem analogen Eingang des ESP12-E wird aktuell die Spannung U so oft wie möglich gemessen. Bei jedem neuen Durchlauf wird der Multiplexer-Index um 1 erhöht. Spätestens nach 2 Zyklen wird wieder der Kanal 1 mit dem analogen Eingang des ESP verbunden. Kurz nach dem Einschalten eines Multiplexer Kanals wird mit einer kleinen Verzögerung das analoge Signal gemessen. Ist das Ergebnis höher als 512 + Schwellwert für „belegt“ oder kleiner als 512 – Schwellwert für „belegt“, dann bedeutet das:
- Die Messung fand statt, als die digitale Gleisspannung keine Lücke aufwies
- Der überwachte Gleisabschnitt ist auf jeden Fall belegt.
Es wird vom ESP sofort ein Telegramm „besetzt“ abgesetzt.
Ist das Messergebnis kleiner als ein zweiter Schwellwert für „frei“, dann bedeutet das:
- Die digitale Gleisspannung war kurz weg (Lücke oder Mikro-Kurzschluss) oder
- der Abschnitt ist frei oder
- es gibt ein Kontaktproblem zwischen Rad und Schiene oder zwischen Schleifer und PuKos
Wiederholt sich diese Messung mehrmals mit dem gleichen Ergebnis, kann nach einer Zeitdauer von n Millisekunden davon ausgegangen werden, dass der Abschnitt tatsächlich frei ist. Dann erst wird das Telegramm „frei“ abgesetzt.
Wenn vor Ablauf der n Messungen wieder eine positive Messung gemacht wird, wird der Zeitgeber neu geladen. Falls zuletzt „belegt“ gemeldet wurde, bleibt diese Meldung gültig. Läuft der Timer ab, dann wird nur ein „frei“-Telegramm abgesetzt, wenn vorher „belegt“ war.
So wird der Datenverkehr im WLAN auf die relevanten Meldungen reduziert. M. a. W. es werden nur die Änderungen gemeldet.
Die „frei“ Meldung wird also um eine konfigurierbare Anzahl von n ms verzögert. Das hat folgende Vorteile:
- Dreckige Gleise führen weniger schnell zum Freimelden.
- Fluten des Netzwerkes mit Belegt- und Freimeldungen wird vermieden.
- Mikro-Kurzschlüsse und Lücken in der Gleisspannung werden ignoriert.
- Abschalten der digitalen Gleisspannung führt nicht zum Freimelden (die Versorgungsspannung ist vor Ablauf der Abfallverzögerung n weg).
- Der Belegtmelder „glüht“ etwas nach, ein Feature, das man z. B. in der Z21 App und bei Modellbahnsteuerprogrammen einstellen muss.
Die Dauer der Abfallverzögerung von „belegt“ nach „frei“ ist konfigurierbar von 10 bis 2550 ms. Die Schwellwerte für „frei“ und „belegt“ werden von der gewünschten Empfindlichkeit bestimmt. Die Voreinstellung reicht für eine Belegtmeldung mit dem „feuchten Finger“. Der hier verwendete ESP12-E hat einen Analogeingang mit einem Eingangsbereich von 0 bis 1 V.
Für die Variante 2-Kanal embedded Rückmeldemodul zum Einbau in das C-Gleis „RMEM2xI“ reduziert dieses Konzept die Anzahl der Bauteile beträchtlich. Es werden nur noch 19 Bauteile benötigt!
Programmierung
Das RM Modul meldet sich mit dem „LAN_CAN_DETECTOR“ Telegramm aus der Roco Z21 Ethernet Protokoll Spezifikation. 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. Verwendet werden dabei die Rückmelde-Adressen (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 Vergabe dieser Adressen gibt es folgende Möglichkeiten:
- Definition der Adresse über das Rocrail Z21 Menü im Programm Rocrail unter Rocrail Eigenschaften. Setzt voraus, dass bei der Programmierung nur ein Modul online ist.
- Programmierung über CV ist mit dem Programm Rocrail für beide Protokolle möglich und getestet. Betriebsart POM für Accessory Decoder. Als Adresse dient die NID des Sensormoduls (NID = eindeutige Netzwerk Identifikation).
- 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

Achtung: Bei der Verwendung des USB-Ports eines ESP-Boards oder wie hier des USB-Ports des FTDI232 Wandlers, wird die Masse vom PC mit der Gleisspannung verbunden. Da der PC geerdet ist und die Gleisspannung meistens auch Bezug auf Masse hat, führt das unweigerlich zu Problemen oder zu Beschädigung der Hardware! Verwenden Sie einen isolierten USB Adapter oder einen isolierten PC.
Auf dem Steckbrett wurden zur Probe die Variante mit dem Wemos D1 Mini und eine Variante mit ESP12-E und FTDI-FT232 zum Programmieren und Debuggen aufgebaut. Damit man das noch mal nachbauen kann, habe ich sie mit fritzing © dokumentiert. Mit dem Versuch ist auch belegt, dass 22 kOhm als Last für eine Belegtmeldung ausreichend sind. Die Schwellwerte für beide Varianten unterscheiden sich. Beim ESP12-E wurde die 120 als unteren Wert für die Belegtmeldung und 80 als oberen Wert für die Freimeldung verwendet. 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 konventionelle, also Gleich- oder Wechselstrombahnen benutzt werden. Das Problem dabei ist, dass im Stand oder bei sehr langsamer Fahrt der analogen Fahrzeuge keine Gleisspannung mehr da ist und die Rückmeldebausteine nicht versorgt werden. Das könnte man durch Überlagerung der Gleisspannung mit einem niederfrequenten Signal, wie z. B. aus einem (ausgedienten) EMS Fahrpult verhindern. Damit stünde am Gleis immer 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 „belegt“ gemessen wird, zwischen 0 und 380 und zwischen 620 und 1024. Liegt der analoge Messwert zwischen 420 und 580, dann meldet sich der Sensor (nach n Leermessungen) als nicht belegt. Diese Parameter sind im Web-Interface einstellbar.

Die erste Bewährungsprobe bestanden die RMEM2xI Rückmeldemodule auf der Modellbahnausstellung im November 2019 im Lokschuppen Hochdahl, wo sie gegen Roco 10808 Rückmelder antreten mussten.
Betrieb der Rückmelder
Z21 Emulation der nächsten Generation (NextGen)
Anstelle des Z21 Gateways wird ein sogenannter Mediator mit identischer Hardware, aber anderer Firmware eingesetzt. Der Mediator emuliert ebenfalls eine Z21 Zentrale. Alle Teilnehmer, Mediator, Rückmelder und Aktoren melden sich im WLAN des Routers an. Die Rückmeldebaugruppen melden alles dem Mediator, der die verschiedenen IP-Adressen dieser Module durch seine eigene IP ersetzt und die Information dem PC weiterreicht. Aus der Sicht des PC wird mit einer IP-Adresse kommuniziert und nicht mit einem Verbund aus mehreren Netzwerkknoten mit unterschiedlichen IP-Adressen. Umgekehrt erlaubt NextGen auch den Betrieb von Aktoren, indem z.B. Weichenkommandos 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ärklin CAN-Bus Protokoll über Ethernet. Strikt genommen bildet die CS2 den Mediator, bzw. das Gateway, indem sie sich um die Verteilung der Nachrichten im Netzwerk kümmert. Im Gleisbild-Display der CS2 werden die Rückmeldungen direkt angezeigt. Die Weitergabe der Rückmeldeinformation an ein Modellbahnsteuerprogramm ist über die Funktion „Broadcast“ in der CS2 bereits von Märklin realisiert und wurde mit den Programmen Rocrail, iTrain und Win-Digipet geprüft. Die Software für das RMEM2xI WLAN Rückmeldemodul 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 Gleisbox, braucht man für die Automatisierung mit einem PC wieder ein externes Gerät, das die Verbindung zwischen PC und dem internen 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 Baugruppe und die Standard WLAN-Rückmelder musste angepasst werden. Wichtigste Anpassung ist die Rückkehr zum UDP Protokoll, weil das die Verteilung der Nachrichten stark vereinfacht. Die nachfolgende Tabelle enthält die passende Firmware für den RMEM2xI Baustein im Gleiskörper.
Nachbau des WLAN Rückmelders in der C-Gleis-Bettung
Roco/Fleischmann Z21 Protokoll – NextGen |
---|
Binärcode V1.02 vom 15.7.2023 für den ESP12-E auf dem RMEM2xI Stromsensormodul |
Z21 Mediator Firmware V1.04 vom 15.08.2023 |
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 |
Binärcode für den ESP12-E des RMEM2xI Stromsensormoduls (CAN-CS2 Protokoll, V1.08 vom 21.07.2023) |
Binärcode für die CAN2WLAN Bridge in der Gleisbox (V1.03 vom 22.7.2023) |
Platine RMEM2xI |
Schaltplan für das RMEM2xI Stromsensormodul |
Eagle und Gerber Dateien für die Herstellung der RMEM2xI Platine |
Platinen bestellen |
Stückliste für das RMEM2xI Stromsensormodul (.PDF Datei) |
Reichelt Warenkorb für RMEM2xI |
5 Weitere Links |
Kurzanleitung zum Konfigurieren und Debuggen des Mediators |
Dimo 2020/03 Artikel „Versteckter Detektor“ 3-seitiger Aufsatz mit Link auf weitere 4 Seiten und Linkliste |
© 2020 – 2023 Gerard Clemens – letzte Aktualisierung: 21.09.2023
16. Januar 2023 um 23:45 Uhr
Hallo,
gibt es irgendwo eine Möglichkeit, die Module fertig zu kaufen?
Ich kann löten, aber ich habe noch nie SMD Bauteile gelötet. Daher wäre mir eine fertige Lösung deutlich lieber.
Ich bin mir sicher, dass auch andere Teppichbahner Interesse an dem Modul haben.
18. Januar 2023 um 9:26 Uhr
Man kann sie recht preisgünstig bei einem Lohnfertiger in Auftrag geben. Ich habe einige Exemplare hier in Betrieb, die von JLCPCB gefertigt wurden.
Gerard
21. Februar 2023 um 22:30 Uhr
Welche Dateien genau muss man bei JLCPCB denn hochladen um fertigbestückte Platinen zu bekommen?
22. Februar 2023 um 13:46 Uhr
Die Gerber Dateien und eine Bill of Materials (Stückliste), die meiner Stückliste recht ähnlich ist. JLPCB liefert ein Beispiel, wie die Liste auszusehen hat. Wenn man viel Zeit hat, kann man sogar die JLCPCB Teilenummern heraussuchen. Der Querverweis zwischen Bezeichnung der Bauteile und der JLPCB Teilenummer ist optional und wird auch von JLCPCB ergänzt. Ich selbst habe noch nicht bei JLCPCB bestellt, kann also nicht für die Richtigkeit der hier verlinkten Liste garantieren. Das Bauteil ROF78 ist wohl bei denen nicht im Programm und muss von Hand nachbestückt werden. Die noch unvollständige „BOM“ findest Du hier: RMEM2xI_BOM_JLCSMT.xlsx.
Grüße Gerard
20. September 2023 um 23:09 Uhr
Hallo Gerard,
der Link zur BOM als XLS funktioniert leider nicht mehr.
VG Marcus
23. September 2023 um 11:43 Uhr
Hallo Marcus,
der Link verweist auf eine .PDF Datei. Ein .XLS File habe ich Dir per Mail geschickt.
Gruß
Gerard
20. November 2022 um 19:33 Uhr
Sehr cooles Projekt! Wieviele Rückmeldemodule lassen sich maximal gleichzeitig betreiben?
22. November 2022 um 11:11 Uhr
Bei der Erstausgabe des Projektes mit Z21 Protokoll, wie es in der Dimo veröffentlicht wurde, sind maximal 8 RMEM2xI an einem Gateway möglich. Bei der Nexgen Ausgabe mit Z21 Ethernet Protokoll habe ich die Grenze noch nicht ausloten können. Hier wird die Grenze durch die Auslastung des ESP8266 des ‚Mediators‘, durch die maximale Anzahl Knoten im Class C Netzwerk, die Belastbarkeit des WLAN-Routers und die Geldbörse bestimmt, je nachdem, was zuerst zutrifft.
Für die Variante mit dem CS2 Protokoll entfällt die Einschränkung des Mediators und kommt die Leistungsfähigkeit der Gateways in der Märklin Zentrale hinzu.
Für die Variante für die CAN2WLAN Bridge ist die Bridge selbst der Bottleneck. Mangels Masse kann ich auch hier nicht sagen, wo die Grenze ist. Die Grenze wird hier auch durch die Schalthäufigkeit der Rückmelder und die Befehlsflut des Modellbahnsteuerprogramms eher erreicht als bei den Stand-Alone-Rückmeldern.
3. Juli 2021 um 22:39 Uhr
Hallo,
super Beitrag. Ich habe letztes Jahr bereits die Variante mit dem Wemos D1mini nachgebaut und war begeistert. Nun versuche ich mich an dieser hier. Wenn man die Einzelteile selbst anlöten möchte, braucht man schon gute Nerven 😉 aber das habe ich geschafft. Mein Problem besteht beim Programmieren.
Ich bin nun schon zwei mal beim Flashen mit den Kontakten verrutscht und das Ergebnis davon war, dass mir der FTDI232 nur noch ein Dauerleuchten aller LEDs zeigt und nicht mehr vom Rechner(Windows10) erkannt wird. Gibt es eine Möglichkeit diesen zu resetten oder habe ich nun wirklich schon zwei in den Tod geschickt? Ich habe (zur Sicherheit) noch zwei mehr bestellt aber will nun doch eher auf Nummer Sicher gehen. Liebe Grüße
Florian
22. Juni 2021 um 16:29 Uhr
Hallo,
super Beiträge!!!
Würde dieser Rückmelder auch bei der Gartenbahn funktionieren? Da ja „lediglich“ Spannungen abgeglichen werden, müsste dies ja funktionieren?
Grüße