RFID Tags und die MoBa


Der komplette RFID Leser bestehend aus Shield und Arduino Uno mit links und rechts die S88 Anschlüssen 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 Überschrift:

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 Fahrzeugerkennung in der Modellbahntechnik. Die Folgen 1 und 2 behandelten die RFID-Grundlagen und zeigten eine Zugver­folgung auf der Basis von RFID Tags mit den Modell­bahn­steuer­pro­grammen Win-Digipet und Rocrail. Der 3. Artikel zeigt, wie man einen eigenen RFID Leser bauen kann, der über den altbewährten S88 Bus, die eindeutige Kennung eines RFID Tags zur Modell­bahn­zentrale bringt. Damit sind Zentrale und/oder die Modell­bahn­soft­ware in der Lage, jedes mit einem RFID Tag ausgerüstete Fahrzeug eindeutig zu erkennen und entsprechend zu reagieren.
Die Grundlage für dieses Selbstbauprojekt ist ein Arduino Uno, ein Mikroprozessor, den man für wenig Geld im Netz erwerben kann. Dieser Arduino Uno hat zwei Aufgaben:

  • er kommuniziert über eine SPI Schnittstelle 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 nachgelagerten 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üfsumme.

Der komplette RFID-S88-Light Leser bestehend aus Shield und Arduino Uno mit links und rechts die S88 Anschlüssen, 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 Platinenentwurf ist zweiseitig. Er kann direkt als Vorlage für die Herstellung einer dop­pel­sei­ti­gen Platine verwendet werden. Für die Herstellung eines RFID-S88-Light Shields am Küchentisch auf einseitig ka­schier­tem Material wird, wie im Dimo-Artikel beschrieben, 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 dazugehörige Stückliste 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)

Mittlerweile ist auch eine professionell hergestellte Platine verfügbar.

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 erforderliche Pro­zes­sor­leis­tung problemlos bereitstellt. Nachstehende Erklärung gilt für die Firmware 20170510_RFID-S88-Light-DUO-CRC14. Verwenden 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 einzelnen 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 – 10239 gehen, wird nun 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 existenten Modell­bahn­soft­ware die Lok über den S88 Bus anzumelden. Man braucht sich die Adresse oder die Tag CRC nicht merken, sondern hält die Lok kurz an einen Leser oder fährt daran vorbei. Der RFID-S88-Light Baustein kann sowohl für einen Leser (Schnittstelle 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 verschiebt, oder alternativ die Le­ser grundsätzlich am Ende der S88 Kette betreiben. Um die Lok ID vom Le­ser heute in Rocrail zu verwenden ist pro Leser ein XML Script erforderlich, das die Wer­tig­keit der unteren 14 CRC Bits addiert. Das oberste Bit des S88 Wortes zeigt quasi als Belegtmelder 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 b.a.w. und so lang der Vorrat reicht bei „Spiel + Bahn“ in Mettmann 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 – 2020  Gerard Clemens   letzte Aktualisierung 19.04.2020