RFID Tags und die MoBa


Der komplette RFID Leser bestehend aus Shield und Arduino Uno, mit links und rechts die S88 Anschlüsse in Form einer Stiftreihe und in Form von RJ45 Buchsen zur Verwendung von Patchkabeln. Rechts der RFID-RC522 Leser der über Flachbandkabel mit dem Shield verbunden ist.

In der Zeitschrift „Digitale Modellbahn“ Ausgabe 03/2015 erschien ein Artikel von Viktor Krön mit der Über­schrift:

Individuelle Fahrzeugerkennung per RFID-Transponder: Der RFID-S88-Light Reader
und dem Titel „RFID-13,56 über S88“.
Das ist die dritte Folge aus einer Serie von Artikeln mit dem Thema RFID für Fahr­zeug­er­ken­nung in der Modellbahn­tech­­nik. Die Folgen 1 und 2 behandelten die RFID-Grund­la­gen und zeigten eine Zug­ver­folgung auf der Basis von RFID Tags mit den Modell­bahn­steuer­pro­gram­men Win-Digipet und Rocrail. Der 3. Arti­kel zeigt, wie man einen eigenen RFID Leser bauen kann, der über den altbe­währ­ten S88 Bus, die eindeutige Ken­nung eines RFID Tags zur Mo­dell­­bahn­zentrale bringt. Damit sind Zentrale und/oder die Modell­bahn­soft­ware in der Lage, jedes mit einem RFID Tag ausge­rüstete Fahrzeug eindeutig zu erkennen und ent­sprechend zu reagieren.
Die Grundlage für dieses Selbstbau­pro­jekt ist ein Arduino Uno, ein Mikropro­zes­sor, den man für wenig Geld im Netz er­werben kann. Dieser Arduino Uno hat zwei Aufgaben:

  • Er kommuniziert über eine SPI Schnitt­stelle mit dem Lesemodul RFID-RC522, das man ebenfalls für wenig Geld im Internet erhält. Mit dem Leser werden im Moment nur die UID (einmalige Kennung) der RFID Tags ausgelesen und verarbeitet.
  • Er kommuniziert über den S88 Bus im Verbund mit weiteren vor- und nach­gelagerten RFID Lesern und Standard S88 Modulen mit der Zentrale und überträgt Teile der UID oder eine aus der UID generierten 16 Bit CRC Prüf­summe.

Der komplette RFID-S88-Light Leser bestehend aus Shield und Arduino Uno, mit links und rechts die S88 Anschlüsse, klassisch als 6-poliger Stecker und in der aktuelleren Form als RJ45 Buchsen zur Verwendung von Patchkabeln. Oben quer der Anschluss für die RFID-RC522 Leserplatine.

Der hier vorgestellte Plati­nen­ent­wurf ist zweiseitig. Er kann direkt als Vorlage für die Herstellung einer dop­pel­sei­ti­gen Platine verwendet werden. Für die Herstel­lung eines RFID-S88-Light Shields am Küchentisch auf ein­seitig ka­schier­tem Material wird, wie im Dimo-Artikel be­schrieben, nur die Unter­seite belichtet und geätzt. Es sind „Vias“ – Bohrungen – vorgesehen, um die Oberseite der Platine händisch zu verdrahten.


Beim einseitigen Shield, wird nur die dem Arduino zugewandte Unterseite geätzt. Die Oberseite wird von Hand verdrahtet!

Bestückungsseite der RFID-S88-LIGHT Platine mit den rot eingezeichneten Drahtbrücken.

Die Eagle Datei mit dem Schaltplan und dem Layout und die dazu­ge­hörige Stück­liste finden Sie hier:

RFID-S88-Light Downloads zum Projekt
Platinen-Layout (RFID-S88-Light.brd)
Schaltplan (RFID-S88-Light.sch)
Schaltplan (RFID-S88-Light.pdf)
Stückliste mit Bezugsquellen
Der aktualisierte Artikel „Individuelle Fahrzeugerkennung per RFID-Transponder: Helmo2go“ aus Dimo Heft 1/2015
Schritt-für-Schritt-Anleitung zum Konfigurieren einer Pendelstrecke mit 2 x RFID-S88-Light und der Märklin CS2 Memory Funktion
Software RFID-S88-light-01×16.hex (liefert 2 Byte von der UID = 1 x S88)
Software RFID-S88-light-02×16.hex (liefert 4 Byte aus der UID = 2 x S88)
Software RFID-S88-Light-CRC.hex (liefert eine 16 Bit CRC = 1 x S88)

Eine Zeit lang gab es eine professionell hergestellte Platine für RFID-S88-LIGHT-V2. Die ist nun leider vergriffen.

Die doppelseitige RFID-S88-LIGHT-V2 Platine als Shield für den Arduino Uno.

Mit der Arduino Firmware weiter unten kann heute am RFID Port 2 einen zweiten RFID Leser angeschlossen werden. Es hat sich her­aus­ge­stellt, dass der Arduino Uno die dafür er­for­der­liche Pro­zes­sor­leis­tung problemlos bereitstellt. Nach­­stehende Erklärung gilt für die Firmware 20170510_RFID-S88-Light-DUO-CRC14. Verwen­den Sie die Hex Files aus der obigen Tabelle nicht, wenn Sie den RFID-S88-Light für 2 Leser verwenden wollen!


Die Software für den Arduino Uno mit 2 RFID RC522 Lesern weicht in einem wichtigen Punkt von der obigen Software ab. Wurde bei dem ein­zel­nen Leser oben beim Lesen eines Tags eine CRC 16 aus­gegeben, so gibt nun die Software eine CRC 14 aus, also eine 14 Bit breite Zahl zwischen 0 und 16383. Analog zu den DCC Lo­ko­mo­tiv-Adressen, die von 0 bis 10239 gehen, wird auch die CRC 14 auf diesen Bereich künstlich begrenzt. Das bietet dem Mo­dell­bahner die Option, die Lok-ID vom Tag (CRC-14) und die DCC Lok-Adresse gleich zu halten. Eventuell bietet sich damit die Op­tion in einer künftigen, heute noch nicht exis­ten­ten Modell­bahn­soft­ware die Lok über den S88 Bus anzu­mel­den. Man braucht sich die Adres­se oder die Tag-CRC nicht merken, sondern hält die Lok kurz an einen Leser oder fährt daran vorbei. Der RFID-S88-Light Bau­stein kann sowohl für einen Leser (Schnitt­stelle RFID1) als für zwei Leser ver­wendet werden. Die Firmware er­kennt beim Einschalten auto­ma­tisch, ob ein oder zwei Leser ange­schlossen sind. Man muss sich dabei natürlich darüber im Klaren sein, dass das nachträgliche Hin­zufügen des 2. Lesers alle nach­fol­gen­den S88 Adressen um 16 Bit ver­schiebt. Alternativ betreibt man die Le­ser grundsätzlich am Ende der S88 Kette. Um die Lok ID vom Le­ser heute in Rocrail zu verwenden ist pro Leser ein XML Script erfor­der­lich, das die Wer­tig­keit der unteren 14 CRC Bits addiert. Das oberste Bit des S88 Wortes zeigt quasi als Be­legt­­melder den Lesevorgang an und löst die Ausführung des XML Scripts aus.

RFID-S88-Light Download für 2 Leser an einem Shield
20170510_RFID-S88-Light-DUO-CRC14.zip Datei mit HEX, EEP und ELF Files zum Programmieren des Arduino Uno)

Der abgebildete Arduino Shield „RFID-S88-Light“ ist nicht mehr erhältlich.

Zwei bestückte Exemplare des RFID-S88-LIGHT-V2 Shields.

Verweise auf artverwandte Blogs
RFID auf der Modellbahn
RFID Tags beschreiben
WLAN Rückmelder

© 2015 – 2021  Gerard Clemens – letzte Aktualisierung 29.07.2023