RFID Tags und Modellbahn
RFID-S88-Light


 RFID Leser auf der Basis eines Arduino Uno
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 Zugverfolgung auf der Basis von RFID Tags mit den Modellbahnsteuerprogrammen WinDigipet 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 Modellbahnzentrale bringt. Damit sind Zentrale und/oder die Modellbahnsoftware 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 Mikropozessor, 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 CRC Prüfsumme (16 Bit, heute 14 Bit).

 RFID Leser auf der Basis eines Arduino Uno
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 doppelseitigen Platine verwendet werden. Für die Herstellung eines RFID-S88-Light Shields am Küchentisch auf einseitig kaschiertem Material wird, wie im Dimo-Artikel beschrieben, nur die Unterseite belichtet und geätzt. Es sind "Vias" - Bohrungen - vorgesehen um die Oberseite der Platine händisch zu verdrahten.


Kupferseite der RFID Platine
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
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-01x16.hex (liefert 2 Byte von der UID = 1 x S88)
Software RFID-S88-light-02x16.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.

der unbestückte Arduino Uno Shield für RFID-S88-LIGHT
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 herausgestellt, dass der Arduino Uno die dafür erforderliche Prozessorleistung 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 ausgegeben, so gibt nun die Software eine CRC 14 aus, also eine 14 Bit breite Zahl zwischen 0 und 16383. Analog zu den DCC Lokomotiv-Adressen, die von 0 - 10239 gehen, wird nun auch die CRC 14 auf diesen Bereich künstlich begrenzt. Das bietet dem Modellbahner die Option, die Lok-ID vom Tag (CRC-14)und die DCC Lok-Adresse gleich zu halten und damit die Möglichkeit in künftiger, heute noch nicht existenter, Modellbahnsoftware die Lok über den S88 Bus anzumelden, ohne sich die Adresse oder die Tag CRC merken zu müssen, indem man die Lok kurz an einen Leser hält oder daran vorbei führt. Der RFID-S88-Light Baustein kann sowohl für einen Leser (Schnittstelle RFID1) als für zwei Leser verwendet werden. Die Firmware erkennt beim Einschalten automatisch, ob ein oder zwei Leser angeschlossen sind. Man muss sich dabei natürlich darüber im Klaren sein, dass das nachträgliche Hinzufügen des 2. Lesers alle nachfolgenden S88 Adressen um 16 Bit verschiebt, oder alternativ die Leser grundsätzlich am Ende der S88 Kette betreiben. Um die Lok ID vom Leser heute in Rocrail zu verwenden ist pro leser ein XML Script erforderlich, das die Wertigkeit 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 ist bei "Spiel und Bahn" in Mettmann erhältlich.

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

©2015 - 2017  Gerard Clemens   letzter Update 10.05.2017


Zurück nach oben