Der aktuelle Stand auf meinem Hosenträger

Nach den vielen Experimenten mit RFID auf meiner Teststrecke, auf dem Hosenträger, habe ich mich für die Variante 2-fach RFID mit Kommunikation über WLAN entschieden. WLAN reduziert den Kabelsalat und wird aktuell für alle Rückmelder, Belegtmelder, Gleiskontakte und eben auch für die Erkennung der Fahrzeugnummer über RFID verwendet.

2-Fach RFID-Leser für Fahrzeugkennung und/oder Aufgleisrichtung

Zum Erkennen eines Modellbahnfahrzeuges muss es mit einem „Tag“, quasi einem elektronischen Typen­schild, versehen werden. Es gibt verschiedene Möglichkeiten, ein Fahrzeug mit einem Tag zu identifizieren.

Tag UID

Die naheliegendste Variante ist es, die einmalige Identifikationsnummer des Tags zu verwenden. Bei den von mir verwendeten Tags aus der Gruppe „NTAG2xxt“ ist das eine Gruppe von 7-Bytes, UID ge­nannt (für Unique IDentifier). Es besteht natürlich keinen Zusammenhang zwischen Fahrzeugtype und UID. Die muss im Modellbahnsteuerprogramm festgelegt werden, indem man die 7 Stellen abschreibt und als „Code“ für ein bestimmtes Fahrzeug eintippt. Hier ein Beispiel aus der Zeit, als ich die Lok-ID noch über LocoNet eingelesen haben. Die Tag UID lautete 04:97:0F:4A:62:3E:84, also eine hexa­dezi­male Darstellung wie bei der Mac-ID einer Netzwerkkarte. Rocrail verlangte die dezimale Darstellung dieser UID als 4.151.15.74.98.62.132. Separat dazu muss bei einem DCC Fahrzeug auch noch eine Adresse eingetragen werden.

Definition einer Fahrzeug-ID (Code) mit der Tag-UID

CRC14 aus Tag UID

Eine weitere Variante zur Identifikation eines Fahrzeuges, die ebenfalls auf der UID des Tags basiert, ist die Aufbereitung einer 14-Bit CRC Prüfsumme aus der UID, wobei Zahlen im Bereich von 0 bis 16.383 erzeugt werden. Um das wie eine DCC Decoderadresse (1 – 10239) aussehen zu lassen, musste bei CRC Prüfsummen über 10.239 einfach 10.240 abgezogen werden. So war es möglich, die aus der UID des Tags abgeleitete Kennung auch als DCC-Adresse zu verwenden. Warum nun aber die Lok BR78 486 ausgerechnet die DCC-Adresse 1184 haben sollte, war natürlich für niemanden ersichtlich, weil auf An­hieb nicht klar ist, dass die CRC14 Prüfsumme aus 4.151.15.74.98.62.132 die 1184 ergibt. Aber die Vari­ante war schon mal ein ganzes Stück einfacher, weil für Code und DCC-Adresse dieselbe Zahl Verwen­dung fand.

Hatten wir bei der CRC14 Lösung noch die Adresse der Lok dem Tag angepasst, wird bei der aktuell von mir bevorzugten Lösung das Tag der Fahrzeugadresse angepasst. Die NTAG2xx Tags haben einen Spei­cher­bereich, der dem Anwender im Lese- und Schreibmodus zur Verfügung steht. Deswegen schreibe ich aktuell die Lok-Adresse oder Wagenkennung zusammen mit noch anderen Informationen in diesen Be­reich. So kann ich auch eine Internet- oder Intranet-Web-Adresse eintragen, um eine Seite mit wei­te­ren ­Informationen zu diesem Fahrzeug aufzurufen. Halte ich das Fahrzeug mit dem Tag an mein Smart­phone, zeigt mir der Browser alles Wissenswertes zu diesem Fahrzeug an. So habe eigentlich den Kom­fort einer RailCom Lösung, ohne alle Lokdecoder zu ersetzen und eine entsprechende RC Infra­struk­tur bereitstellen zu müssen.

Der Fahrzeug-Tag wird einfach unter das Fahrzeug geklebt. Der RFID-Tag-Leser wird unter die Schienen gebaut bzw. die RFID-Antenne ausgelagert und in die Schiene integriert.


Erkennung der Aufgleisrichtung

Befestigt man das RFID-Tag links oder rechts von der Fahrzeugmitte, kann man mit 2 Lesern und eben­falls mittig versetzten Lesern (Antennen) feststellen, wo der Führerstand 1 des Fahrzeuges ist und damit im Modellbahnsteuerprogramm festlegen, in welcher Richtung losgefahren werden muss (nicht in Rich­tung Schuppenwand, sondern in Richtung Schuppentor).


Verwendung des RFID NFC PN532 V3 Lesers

Aktuell ist dieses RFID Lesemodul für kleines Geld im Netz verfügbar. Die bisher verwendete Arduino RFID Bibliothek MFRC522 ist für den Chip PN532 nicht brauchbar und so habe ich mich für die Adafruit-PN532 Bibliothek entschieden. Der Code für einen Leser musste deswegen komplett neu geschrieben werden.

Nun sollte der Leser nicht, wie bisher, nur NTAG2xx Tags lesen können, aber alternativ auch die Mifare Classic 1k Tags, die ich massenweise herumliegen habe. Sie gibt es in Kreditkartenformat, aber auch als runde Tags in Form eines blauen Schlüsselanhängers. Immer, wenn ich RFID-RC522 Lesemodule ge­kauft habe, war eine solche Mifare Classic Checkkarte und ein blauer Schlüssel­anhänger mit Mifare Classic Tag dabei. Beide letzte Varianten sind wohl für größere Spuren gut geeignet.
Die NTAG2xx gibt es in den Maßen von 15 × 6, 20 × 6 und 19 × 12 mm und sind deswegen für Fahr­zeu­ge der kleineren Spuren N, TT und H0 prädestiniert. Die meisten Tags sind selbstklebend und werden auf einem Trägerband aus Papier geliefert. Einige werden auch lose geliefert und haben eine Ferrit-Folie als Träger. Damit sind sie geeignet für den Betrieb auf metallischen Unter­grün­den.

Nicht nur Lesen, sondern auch Schreiben.

Wenn schon ein neuer RFID-Leser für die Modellbahn gebaut wird, sollte dieser die Tags auch schreiben können. Schon in den Anfangstagen unserer RFID Experimente wurde ein Format vereinbart, das nicht nur die Fahrzeugadresse, sondern auch das Fahrzeugprotokoll, die Anzahl der Fahrstufen und einen an­wen­derdefinierten Wert beinhaltet. Außerdem sollte es möglich sein, einen Link für eine Web-Adresse mit zusätzlichen Informationen zu diesem Modell oder seinem Vorbild im Tag zu speichern. Mit einem Smart­phone kann man dann den Tag lesen und die entsprechende Seite aufrufen.

Der bisherige Tagwriter auf der Basis eines Arduino Uno wendet dieses Format auch schon an, ohne die dafür erforderlichen Werte im seriellen Monitor beim Anwender anzufordern. Überhaupt ist die Bedienung und Eingabe der Daten im seriellen Monitor nicht sehr komfortabel.

Deswegen werden beim neuen Tagwriter die Eingaben im Web-Interface gemacht und die gelesenen Werte auch dort angezeigt.

Nachbauen des Tagwriters mit PN532 V3
Firmware für Lolin(Wemos) D1 R1 (Mini) als Tagleser und Tagwriter (Nextgen Z21 )
Schaltbild für die Verdrahtung des PN532
Beitrag zum Arduino Uno mit RF522 als Tagwriter

© 2025 Gerard Clemens – letzte Aktualisierung 23.10.2025