Warum sollte man überhaupt RFID auf der Modellbahn verwenden? Wenn man wissen will, welches Fahrzeug sich auf welchem Gleisabschnitt befindet, kann man doch RailCom verwenden.
Sicher, RailCom setzt aber eine geeignete Infrastruktur voraus, die natürlich für neuere Anlagen und neuen Fahrzeugen immer mehr zum Standard wird. Sie ist aber längst noch nicht überall vorhanden. Das fängt bei der Zentrale und den Boostern an, die die sogenannte Austastlücke bereitstellen müssen, damit RailCom überhaupt funktioniert. Nicht nur müssen die Fahrzeuge, die erkannt werden sollen, einen aktuellen RailCom-fähigen DCC Decoder haben, auch die Gleisanlage muss für RailCom geeignet sein. Eine Trennung in Gleisabschnitten und der Einsatz von RailCom Detektoren für jeden dieser Gleisabschnitte ist notwendig. Für Besitzer einer analogen oder einer älteren digitalen Anlage bedeutet die Automatisierung mittels RailCom also erst einmal einen Umbau der Anlage und der Fahrzeuge. Dann kommen die Investierungen in Decoder, Detektoren, Booster und eventuell auch eine neue Zentrale dazu.
Die Verwendung von RFID zur Erkennung von Fahrzeugen ist dagegen weniger anspruchsvoll:
- RFID funktioniert bei analogen und digitalen Modellbahnen in allen Maßstäben und aller Marken.
- RFID braucht keine Trennstellen (Gleisabschnitte)
- Mit RFID kann man Loks und Wagen erkennen, es sind keine Decoder erforderlich.
- RFID Tags sind günstig
- RFID Tags sind ohne Umbau einfach unter jedem Fahrzeug anzubringen.
- Mit RFID kann man auch die Aufgleisrichtung erkennen
- Der erforderliche RFID Leser kann aus wenigen preiswerten Komponenten selbst gebaut werden.
- RFID kann auch zusammen mit RailCom verwendet werden
- Der RFID Tag kann außer einer Fahrzeug-Identifikation auch zusätzliche Informationen speichern.
Im Vergleich zu RailCom hat RFID aber auch einige Nachteile:
- RFID löst eine Punktmeldung aus, keine Belegtmeldung und ist in diesem Punkt vergleichbar mit Gleiskontakten oder Reedkontakten. Die Meldung erfolgt nur in dem Moment, in dem das Fahrzeug mit seinem Tag über den Leser fährt.
- RFID erfordert eine Antenne im Gleis, die jedoch relativ leicht anzubringen ist.
- Für die Erkennung der Aufgleisrichtung (wo ist Führerstand 1?) sind 2 Lesestellen erforderlich.
Unser erster RFID Leser für die Modellbahn bestand aus einem Arduino Uno mit einem Shield für den Anschluss eines RFID-RC522 Lesemoduls (Titelbild). Der Shield hatte zur Übertragung der gelesenen Information eine S88 Schnittstelle (S88-N IN und OUT).
Als Information sollten anfänglich 2 Byte aus der 5 oder 7 Byte langen UID (Unique Identifier) des Tags gesendet werden. Es stellte sich heraus, dass das recht schnell zu Duplikaten führt. Deswegen gab es auch eine Variante, die 4 Byte sendet. Aber auch hier gab es Einschränkungen bei der Auswahl der Tags. Eine dritte Software-Variante berechnete aus der kompletten UID eine CRC 16, von dem die niederwertigen 15 Bits für die Fahrzeug-ID und 1 Bit als Trigger für die CS2 oder die Modellbahnsoftware dienten.
Diese Entwicklung wurde in der DiMo 03/2015 veröffentlicht.
Es stellte sich heraus, dass die Rechenleistung des Arduino Uno auch für den Betrieb von zwei (und mehr) RFID-RC522 Lesemodule ausreicht. Die 16 Bit CRC aus der Tag-UID wurde verlassen und in Anlehnung an die Länge der DCC Adressen auf eine 14 Bit CRC reduziert. Nun konnte eine 14-Bit Fahrzeug ID, die Aufgleisrichtung und ein Strobe-Bit in einem 16 Bit Wort übertragen werden. Um „DCC-inkompatible“ Fahrzeug IDs zu vermeiden, wurden diese auf IDs von 1 bis 10239 normalisiert. Es bestand bei diesem und auch beim CRC 16 Verfahren eine sehr geringe Chance, dass zwei verschiedene Tags dieselbe CRC erzeugen. In dem Falle sollte einfach ein anderer Tag verwendet werden. Um nicht mit unterschiedlichen Fahrzeug-IDs und Fahrzeugadressen hantieren zu müssen, wurden meistens die Fahrzeug-IDs auch als Adresse verwendet.
Die Weiterverarbeitung der S88 Information in der CS2, besonders die Wiederherstellung der 14-Bit Fahrzeuginformation aus den 14 einzelnen Bits war aber ziemlich aufwändig und für den Prozessor der CS2 sehr belastend.
Als Alternative zur Anzeige im Display der CS2 sollte die Fahrzeug-ID in einem Modellbahnprogramm angezeigt werden. Mit einem geliehenen Littfinski HSI88 Scanner wurden die Fahrzeug-IDs in den PC eingelesen. Ein Script im Rocrail Programm war nun in der Lage, die 14 einzelnen Bit der RFID Meldungen wieder in eine Fahrzeugnummer zu verwandeln und im belegten Block anzuzeigen. Waren allerdings viele der 14 Bits logisch „1“, kam manchmal auch das Script zeitlich an seine Grenzen.
RFID auch auf LocoNet
Parallel zu meinen RFID Entwicklungen mit S88 als Schnittstelle gibt es auch eine Entwicklung von meinem DiMo Ko-Autor Robert Friedrich. Er entwickelte ein universelles Modul COL13,56 mit 2 RFID Lesern und verschiedenen Schnittstellen wie LocoNet und RS485. Der erste Artikel dazu wurde in der DiMo 1/2016 veröffentlicht. Hier wird u. a. die ganze UID der gelesenen Tags über LocoNet an das Modellbahnsteuerprogramm Rocrail gesendet.
Dieses Projekt und die Weiterentwicklung für andere Systeme als LocoNet ist auf seiner „Converts“ Webseite beschrieben, die auch Links auf die dazugehörigen DiMo Artikel der Verlagsgesellschaft Bahn enthält.
Direkte Übertragung
Der nächste Entwicklungsschritt bestand darin, die doch recht mühsame und anfällige Wandlung der 16 oder 14 einzelne S88 Bits in eine Lok-ID und Aufgleisrichtung zu umgehen. Hier bietet sich das RC-Talk-Protokoll von Tams an, das von Herrn Tams für die private Verwendung freigegeben wurde. Das Protokoll wird im Tams RC-Link Modul für die Kommunikation von RailCom Daten zwischen Detektoren und PC verwendet.
Der RFID-S88-Light Shield wurde bei dieser Weiterentwicklung erst einmal beibehalten. Als Schnittstelle zum PC diente nun der USB-Port des Arduino Uno. Das auf dem Shield vorhandene S88 Interface wurde nicht verwendet. Der Arduino schickt in diesem Projekt die Fahrzeug-ID (normierte CRC14, 1 – 10239) über USB-Kabel direkt in den PC. Dabei wird das RC-Talk-Protokoll verwendet und so sieht der RFID Leser aus Sicht der PC-Software aus wie ein RC-Link Modul. Mit dem RC-Link-Tester, ein kleines Dienstprogramm von Tams, kann die Funktion des RFID Lesers getestet werden. Je nachdem, welcher USB Baustein auf dem Arduino verbaut ist, muss das CTS Bit im Tester abgewählt werden. Klappt der Test, kann in der Modellbahnsoftware ein TAMS RC-Link Modul angelegt werden, das mit den gleichen Parametern wie der RC-Link-Tester eingestellt wird.
Unser RFID Leser emuliert zwar den RC-Link, kann aber dem PC nur bis zu 2 RFID Kanäle anbieten und nicht die 24 RailCom Rückmeldungen, die beim Original möglich sind. Wenn man beide RC522 Lesermodule für die Erkennung der Fahrzeug-IDs verwendet, bietet das Modul 2 von 24 möglichen Kanälen. Wird zusätzlich die Aufgleisrichtung ausgewertet, kann von den 24 Kanälen nur ein einziger verwendet werden. Aber das Experiment zeigte: Das ist der richtige Weg! Leider hat eine Zentrale wie die CS2 mit RC-Link und RailCom nichts am Hut und ist die Lösung nur einem PC vorbehalten.
RFID-S88-RC-Talk
Jetzt lag es nahe, ebenfalls bis zu 24 RFID Leser einzubinden. Wieder bot sich die Weiterverwendung des RFID-S88 Shields an, dieses Mal jedoch mit Verwendung der S88 Schnittstelle. Ein spezieller S88 Scanner wurde gebaut. Er wurde aus einem bereits früher entwickelten S88 Scanner mit HSI 88 Protokoll abgeleitet (Abbildung 3). Dieser Scanner sollte die Fahrzeug-Information von den RFID Lesern über S88 einlesen und mit RC-Talk Protokoll über USB an den PC weiterreichen. Das war eine reine Software-Entwicklung, die 2017 fertiggestellt wurde. Ein zweiter, baugleicher Scanner mit der HSI88 Firmware übernimmt die Bedienung der Standard S88 Rückmelder. Diese Konstruktion konnte nun wirklich befriedigen und wurde bis zur Einführung der WLAN-Kommunikation beibehalten. Abbildung 3 zeigt den Scanner mit dem S88-N Anschluss, einem 6-poligen S88 Anschluss und der Mini-USB Buchse, die vorne aus dem Gehäuse herausschaut.
Gemeinsam mit RailCom
Ein weiteres RFID Experiment bestand nun darin, die RFID Leser direkt – mit RailCom Protokoll über RS485 – mit einem physikalischen Tams RC-Link Modul zu verbinden, genau so als wären es RCD-1 RailCom Detektoren. Diese Entwicklung wurde jetzt zweigleisig gefahren. Auf dem COL13,56 Modul entwickelte Robert Friedrich seine Lösung während ich im Gehäuse des TAMS RCD-1 RailCom Detektor einen Arduino Nano für die Ansteuerung der beiden RFID Lesemodule, ein 5 V Schaltnetzteil, einen RS485 Treiber, Taster, Led und Klemmleiste unterbrachte. Ich nannte das Modul „RFID-RC“ (Abbildung 4).
Neu in diesem Projekt war die Verwendung des bislang nicht verwendeten frei beschreibbaren NTAG2 Speichers auf den RFID Tags. Wir verständigten uns auf ein Format für die Fahrzeug-ID und weiteren Informationen und konnten uns von UID, CRC16 und CRC14 verabschieden. Jetzt war es möglich, einen beliebigen 15 Bit breiten Code in den Tag zu schreiben (1 – 31267). Das war insofern ein Vorteil, als man nun die Fahrzeugadresse, die RFID Kennung und den Fahrzeugtyp (Baureihe) in Einklang bringen konnte. Meine Baureihe 64 hatte die DCC Adresse 6402 und auch die Fahrzeug-ID auf dem Tag lautete deswegen 6402. Kann man sich halt besser merken.
Auf dem COL13,56 gibt es dank Optokoppler eine Trennung von Gleisspannung und RS485 Bus. Mein Modul ist nicht isoliert und Verdrahtungsfehler an den Klemmen führen unweigerlich zur Zerstörung des RS485 Treibers. Die Klemmenbezeichnungen für das Gleissignal und für den RS485 Bus sind vom RCD-1 übernommen. Beide Geräte, RCD-1 und RFID-Leser können beliebig gemischt werden. Ich habe meine Firmware so geschrieben, dass sie auf dem COL13,65 und auf meiner Hardware läuft. Es gibt nur 2 Varianten:
- 1 oder 2 RC522 Leser, eine Fahrzeug-ID pro RC522 Lesemodul
- mit 2 RC522 Lesern für eine Fahrzeug-ID mit Aufgleisrichtung
Die Geräte waren ebenfalls von 2017 bis zur Einführung der WLAN-Rückmeldungen ohne Probleme im Einsatz.
Mit WLAN ohne USB
Ausgereift ist momentan bei mir die RFID Fahrzeugerkennung und -Meldung mit ESP8266 über WLAN. Die vielen USB-Kabel zur Anlage machten einen USB-Hub notwendig und waren mit ein Grund für die Umsetzung der RFID Technik auf WLAN. Das Prinzip der RFID Leser ist geblieben, es wurde lediglich von der Arduino auf die ESP Plattform portiert. Man kann also nach wie vor mit 2 RC522 Lesemodulen entweder 2 Fahrzeug-IDs oder 1 Fahrzeug-ID mit Aufgleisrichtung lesen. Beide Varianten sind bei mir im Einsatz und haben sich bis jetzt bewährt.
Die weiteren RFID-Entwicklungen sind in folgenden Blogs beschrieben:
- NextGen WLAN Sensormodule mit Software für beide RFID Lesertypen
- Preisgünstige RFID Tags mit einer Fahrzeugnummer (1 -10239) beschreiben.
- Auch dieser Blog geht auf die RFID Technologie ein
- Die ersten RFID Experimente mit RFID-S88-Light
© 2020 – 2021 Gerard Clemens – letzte Aktualisierung 01.12.2021
29. Juni 2023 um 14:43 Uhr
Wie sieht es bei RFID mit der Fahrgeschwindigkeit aus?
Besten Dank
1. Juli 2023 um 10:11 Uhr
Das ist von sehr vielen Faktoren abhängig. U. a. vom verwendeten Tag, vom verwendeten Leser, vom Abstand des Tags zum Leser, von der Form der Leseantenne, von der Menge der Daten, die eingelesen werden. Bei meinen Ep. III H0 Nebenbahnfahrzeugen gibt es keine Probleme, sogar nicht mit halbbreiten Tags zur Richtungserkennung.
Im Stummiforum wird das Thema ausführlich behandelt: https://www.stummiforum.de/t173168f5-RE-Meldegleis-zur-Identifikation-ohne-Verdrahtung-und-Schienentrennung-16.html.
Grüße
Gerard
4. Dezember 2021 um 12:06 Uhr
Cool, ich habe gerade nach einer Alternative zur prähistorischen Bremsmodulstrecke nachgedacht. War eigentlich fast sicher ich hätte die Idee! Nun, gibt es schon, finde ich gut. Werde mich mal einlesen.