125K RFID Empfänger Modul RDM6300: Unterschied zwischen den Versionen

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen
(Bildtext - INterne Verlinkung)
Zeile 51: Zeile 51:
! #  !! Anzahl !! Material
! #  !! Anzahl !! Material
|-
|-
| 1  || 1|| PC mit MATLAB/Simulink R2023b
| 1  || 1|| PC mit [[Matlab/Simulink|MATLAB/Simulink]] R2023b
|-
|-
| 2  || 1 || Sensor RDM6300 Card Reader Modul
| 2  || 1 || Sensor RDM6300 Card Reader Modul
Zeile 59: Zeile 59:
| 4|| 1 || [[Mikrocontrollerboard_Arduino_Mega_2560|Arduino Mega2560]]  
| 4|| 1 || [[Mikrocontrollerboard_Arduino_Mega_2560|Arduino Mega2560]]  
|-
|-
| 5|| 1 || Piezo Buzzer
| 5|| 1 || [[Piezo Lautsprecher|Piezo Buzzer]]
|-
|-
| 6|| 1 || Streckbrett
| 6|| 1 || Streckbrett
Zeile 67: Zeile 67:
| 8 || 5 || Jumper Kabel, männlich/männlich, kurz
| 8 || 5 || Jumper Kabel, männlich/männlich, kurz
|-
|-
| 9|| 1 || Led Grün
| 9|| 1 || [[LED (Light Emitting Diode)|Led]] Grün
|-
|-
| 10|| 1 || Widerstand 1 kOhm
| 10|| 1 || Widerstand 1 kOhm
Zeile 103: Zeile 103:


=== Pinbelegung ===
=== Pinbelegung ===
[[Datei:RDM6300Belegung.jpg|gerahmt|rechts]]
[[Datei:RDM6300Belegung.jpg|gerahmt|rechts|Pinbelegung RDM6300]]
{| class="wikitable"
{| class="wikitable"
!colspan="4";style="font-weight: bold;" |P1
!colspan="4";style="font-weight: bold;" |P1
Zeile 162: Zeile 162:
== Versuchsaufbau und Durchführung ==
== Versuchsaufbau und Durchführung ==
=== Versuchsaufbau ===
=== Versuchsaufbau ===
[[Datei:RDM6300Schaltplan bb.jpg|mini|rechts|alternativtext=Anschlussplan RDM6300 an einen [[Mikrocontrollerboard_Arduino_Mega_2560|Arduino Mega]]]]
[[Datei:RDM6300Schaltplan bb.jpg|mini|rechts|alternativtext=Anschlussplan RDM6300 an einen [[Mikrocontrollerboard_Arduino_Mega_2560|Arduino Mega]]|Anschlussplan RDM6300 an einen [[Mikrocontrollerboard_Arduino_Mega_2560|Arduino Mega]]]]
[[Datei:Schaltplan schem.jpg|mini|rechts|alternativtext=Schaltplan eines RDM6300 an einen [[Mikrocontrollerboard_Arduino_Mega_2560|Arduino Mega]] für einen Versuchaufbau]]
[[Datei:Schaltplan schem.jpg|mini|rechts|alternativtext=Schaltplan eines RDM6300 an einen [[Mikrocontrollerboard_Arduino_Mega_2560|Arduino Mega]] für einen Versuchaufbau ||Schaltplan eines RDM6300 an einen [[Mikrocontrollerboard_Arduino_Mega_2560|Arduino Mega]] für einen Versuchaufbau]]
[[Datei:AufnahmeRDM6300Anschluss.jpg|mini|rechts|alternativtext=Verdrahtungsaufnahme eines RDM6300 inklusive eines Piezoelements für die akkustische Signalgebung|-]]
[[Datei:AufnahmeRDM6300Anschluss.jpg|mini|rechts|alternativtext=Verdrahtungsaufnahme eines RDM6300 inklusive eines Piezoelements für die akkustische Signalgebung|Verdrahtungsaufnahme eines RDM6300 inklusive eines Piezoelements für die akkustische Signalgebung]]
Der Versuchsaufbau wird durch einen Schaltplan (Abb. 2), Anschlussplan (Abb. 3) und Foto des Aufbaus (Abb. 4) dokumentiert.
Der Versuchsaufbau wird durch einen Schaltplan (Abb. 2), Anschlussplan (Abb. 3) und Foto des Aufbaus (Abb. 4) dokumentiert.


Zeile 181: Zeile 181:
Das gleiche gilt für das Ende eines Tags, das immer mit dem Endbit 0x03 akzeptiert werden kann.
Das gleiche gilt für das Ende eines Tags, das immer mit dem Endbit 0x03 akzeptiert werden kann.
<ref>j-ML Jackson, Arduino Forum, 2023,=RDM6300 reading format, url=https://forum.arduino.cc/t/rdm6300-reading-format/1072597/4 , access-date=26 July 2024</ref>
<ref>j-ML Jackson, Arduino Forum, 2023,=RDM6300 reading format, url=https://forum.arduino.cc/t/rdm6300-reading-format/1072597/4 , access-date=26 July 2024</ref>
[[Datei:AufnahmeRFIDChip.jpg|mini|rechts|alternativtext=Aufnahme eines 125kHz RFID-Tags im Chipkartenformat]]
[[Datei:AufnahmeRFIDChip.jpg|mini|rechts|alternativtext=Aufnahme eines 125kHz RFID-Tags im Chipkartenformat|Aufnahme eines 125kHz RFID-Tags im Chipkartenformat]]
{| class="wikitable"
{| class="wikitable"
|+ Ausgelesene Daten der Chipkarte
|+ Ausgelesene Daten der Chipkarte

Version vom 29. Juli 2024, 00:08 Uhr

Abb. 1: 125K RFID Empfänger Modul RDM6300
Autor: Benedikt Lipinski
Studiengang: Business and Systems Engineering
Modul: BSE-M-2-1.03, Hausarbeit in Angewandte Informatik gehalten von Prof. Dr.-Ing. Schneider
Semester: Sommersemester 2024
Abgabetermin: 28.07.2024

Einführung

Die RFID-Kommunikation bietet gerade für Industrie 4.0 ein hohes Potenzial, Software wie ERP- und MES-Systeme arbeiten umso besser, je genauer und präziser Daten über die aktuelle Produktionslinie zur Verfügung stehen. In vielen Branchen ist die Einzelteilverfolgung bereits Stand der Technik.[1][2] RFID-Tags können in der Produktion während des Betriebs und unabhängig von ihrer Ausrichtung gelesen werden, auch wenn sie bereits montiert und verpackt sind.

Aufgabenstellung

Lesen Sie mit dem RFID Lesegerät die Daten der RFID Karte aus.

  • Thema/Fragestellung: Auslesen eines RFID_Tag mittels des RDM6300
  • Hypothese:: Die Daten des RFID-Transponders können zuverlässig ausgelesen und zur Verarbeitung übertragen werden.
  • Einordnung in den Lehrplan
Das Auslesen eines RFID-Tags ist für Studierende der Ingenieurwissenschaften ein realistisches Szenario, denn RFID-Systeme sind aus dem studentischen Alltag nicht mehr wegzudenken. Angefangen bei der Fahrt zur Hochschule. Gerade ältere Fahrzeuge nutzen RFID-Technik, um die Wegfahrsperre des Fahrzeugs zu deaktivieren, bis hin zum morgendlichen Kaffee in der Mensa oder beim Bäcker. An beiden Orten ist die Wahrscheinlichkeit hoch, kontaktlos durch Auflegen einer Plastikkarte oder des Smartphones bezahlen zu können.

Projektbeschreibung

Tabelle 2: Materialliste
# Anzahl Material
1 1 PC mit MATLAB/Simulink R2023b
2 1 Sensor RDM6300 Card Reader Modul
3 1 125khz Antenne
4 1 Arduino Mega2560
5 1 Piezo Buzzer
6 1 Streckbrett
7 5 Jumper Kabel, männlich/männlich, lang
8 5 Jumper Kabel, männlich/männlich, kurz
9 1 Led Grün
10 1 Widerstand 1 kOhm

Beschreibung Funktionsweise der verwendeten Hard- und Software

Der Arduino Mega gehört zur Familie der Einplatinencomputer und richtet sich an Entwickler mit Projekten, die viele Ein- und Ausgangssignale verarbeiten müssen. Der Arduino Mega2560 bietet mittlerweile in der 3. Revision einen Atmel Atmega2560, eine Taktfrequenz von 16mHz, 256KB Flash Memory, 16 analoge Eingänge, 54 digitale I/O Pins und die für dieses Projekt so wichtigen: 3 frei verwendbare serielle Schnittstellen.
  • Sensor RDM6300
Der RDM6300 in Kombination mit der Antenne für 125khz Tags wird über eine Asynchrone und Serielle -Schnittstelle an den Arduino Mega angeschlossen. Der Sensor bietet zudem die Möglichkeit eine Led über einen 1 kOhm widerstand anzuschließen. Die Angeschlossene LED stellt einen Indikator dar, ob ein Tag erfolgreich durch den RDM6300 erkannt wurde.
Für die Entwicklung der Software wurde Matlab/Simulink verwendet. Matlab/Simulink ist eine Entwicklungsumgebung für die grafische Entwicklung und Simulation von hardwarenahen Projekten. Als Add-Ons wurden die Erweiterung Matlab Support Package und das Simulink Support Package für die Arduino Hardware in Simulink geladen.

Technische Daten

Messbereich 20-50 mm
Baud Rate 9600
Frequenz 125kHz 
Versorgungsspannung 5 Vdc(±5%)
Versorgungsstrom 50> mA
Interface TTL level RS232 format
Arbeitstemperatur -10 °C .. +70 °C
Abmessungen Reader(PCB) 38 mm x 18 mm x 31 mm
Abmessungen Antenne 46 mm x 33 mm x 3 mm

Pinbelegung

Pinbelegung RDM6300
P1
Pin Belegung Signal
1 TX 5 V
2 RX TTL-Pegel
3 NC TTL-Pegel
4 GND 0 V
5 Versorgungsspannung 5 V
P2
1 ANT1
2 ANT2
P3
1 LED
2 Versorgungsspannung 5 V
4 GND 0 V

Versuchsaufbau und Durchführung

Versuchsaufbau

Anschlussplan RDM6300 an einen Arduino Mega
Anschlussplan RDM6300 an einen Arduino Mega
Schaltplan eines RDM6300 an einen Arduino Mega für einen Versuchaufbau
Schaltplan eines RDM6300 an einen Arduino Mega für einen Versuchaufbau
Verdrahtungsaufnahme eines RDM6300 inklusive eines Piezoelements für die akkustische Signalgebung
Verdrahtungsaufnahme eines RDM6300 inklusive eines Piezoelements für die akkustische Signalgebung

Der Versuchsaufbau wird durch einen Schaltplan (Abb. 2), Anschlussplan (Abb. 3) und Foto des Aufbaus (Abb. 4) dokumentiert.

Versuchsdurchführung

Nach dem erfolgreichen Aufbau der Versuchsschaltung und dem anschließen des Arduino Mega an Matlab/Simulink wurde zunächst zur Analyse der Sichere weg gewählt und auf Basis der Dokumentation und einem Beispiel für die Arduino IDE ein Matlab .m- Skript entwickelt. Mit Hilfe des Skriptes konnte nun erstmals korrekte Datenwerte vom RDM6300 über die serielle Schnittstelle des Arduino an Matlab/Simulink übermittelt werden. Dieses Skript sollte anschließend möglichst ohne Änderungen in eine Matlab-Funktion umgewandelt werden. Die Hardware Steuerung und Entscheidungslogik sollten als fertige Funktionsblöcke grafisch umgesetzt werden. Leider ließen sich gerade die Konvertierungsfunktionen des vorgefertigten .m Scriptes aufgrund von Reglementierungen in Matlab/Simulink umsetzen.

Versuchsbeobachtung

Alle Beobachtungen beziehen sich lediglich auf die beobachtug mit dem Mitgelieferten 125khz Tag im Chipkarten format. Genre wären die beobachteten Ergebnisse noch mit weiteren Tags überprüft worden, doch konnte kein weitere karte, Kfz Schlüssel, Transponder oder Tag gefunden werden, die sich auslesen lassen hat.

Wird die Karte sehr früh gesteckt, bevor der Arduino vollständig hochgefahren ist, wird der RFID-Tag nicht in der richtigen Reihenfolge gelesen. Dies kann nur durch einen Reset des Systems behoben werden. Gegen ein fehlerhaftes Auslesen des Tags kann das System auch durch die Überprüfung des korrekten Startbits der ausgelesenen Daten geschützt werden. Der Tag startet in der Regel mit dem Startbit 0x02 und somit kann ein korrektes Auslesen sichergestellt werden.[3] Das gleiche gilt für das Ende eines Tags, das immer mit dem Endbit 0x03 akzeptiert werden kann. [4]

Aufnahme eines 125kHz RFID-Tags im Chipkartenformat
Aufnahme eines 125kHz RFID-Tags im Chipkartenformat
Ausgelesene Daten der Chipkarte
Daten
decimal Hex Ascii
02 02 '2'
54 36 '6'
51 33 '3'
48 30 '0'
48 30 '0'
51 33 '3'
51 33 '3'
55 37 '7'
56 38 '8'
70 46 'F'
51 33 '3'
68 44 'D'
66 42 'B'
03 03 '3'
ASCII = HEX -> DEC
'003378F3'-> 3373299

Funktionsweise

Funktionsweise Sensor

Nahaufnahme eines RFID Tags
13,56Mhz RFID-Tag zum aufkleben. Die Technik ist an der geringen Windungszahl von n = 10 zu erkennen[5]

Die am häufigsten verwendete Konfiguration zum Auslesen eines RFID-Tags ist das Auslesen eines passiven RFID-Empfängers durch ein aktives Lesegerät, da RFID-Tags in diesem Fall ohne eigene Spannungsversorgung auskommen[5]. Anwendungsbeispiele hierfür sind zum Beispiel das Single Item Tracking oder die Zutrittskontrolle zu Gebäuden. Die zum Betrieb des RFID-Tags notwendige Energie kann dieser aus dem induzierten Magnetfeld des Empfangsgerätes beziehen. Das Funktionsprinzip der Datenübertragung ist ebenfalls an das Magnetfeld des Lesegerätes gebunden. Der im RFID-Tag integrierte Chip ist in der Lage, die vom Sender zur Verfügung gestellte Energie zu nutzen, um das vom Sender über die im Tag integrierte Spule aufgebaute Feld zu stören. Diese Feldänderungen können vom Lesegerät wahrgenommen werden und stellen die Datenübertragung dar. Bei einer RFID-Übertragung werden also keine Daten im eigentlichen Sinne übertragen.[6] Durch das Einbringen einer resonanten Transponderspule in das Feld des Senders wird diesem Energie entzogen. Dieser Effekt wird vom Transponder, gesteuert durch den eingebauten Mikrochip, ausgenutzt und erzeugt durch die induzierte Impedanz in der Senderspule eine messbare Bitübertragung[5].

Gemessene Spannung an der Antenne
Erkennbares verhalten beim auflegen des RFID-Transponders

Auswertung

Die Aufgabe des RDM6300 besteht darin, die vorhandenen digitalen Daten über ein erstes analoges Übertragungsmedium in Form von Elektromagnetismus an ein digitales Empfangsgerät zu übertragen. Diese Aufgabe funktioniert so zuverlässig, dass die kompliziertere Aufgabe im Umgang mit dem RDM6300-Modul die Übertragung der gelesenen Daten über die asynchrone und serielle Schnittstelle ist.

Zusammenfassung und Ausblick

Zusammenfassend lässt sich sagen, dass der RDM6300 nicht zuletzt durch die anschließbare LED_(Light_Emitting_Diode) ein Erfolgserlebnis für den Anwender darstellt. Der RDM6300 liest den angebrachten Tag bis zu einer Entfernung von 5 cm zuverlässig aus und eignet sich daher besonders für Projekte in Richtung Zutrittskontrolle oder Identifikation. In Verbindung mit der Matlab/Simulink Software wirkt sich der Sensor allerdings negativ auf das Projekt aus, da hier der Einsatz des weit verbreiteten Arduino Uno nicht möglich ist. Der Sensor sendet auf der asynchronen UART-Schnittstelle, die jedoch durch die Verbindung von Matlab/Simulink blockiert wird. Abhilfe schaffen hier nur wenige Lösungen, wie z.B. der Einsatz des teureren Arduino Mega.

  • Selbstreflexion/Lessons learned

Die Aufgabe hat mir als bearbeitenden Studenten bitter in Erinnerung gerufen, warum wir auch heute noch in Zeiten von grafischen Entwicklungstools und künstlicher Intelligenz die Basics des Programmierens und informationstechnischer Logik lernen. Als sich während der Durchführung herausstellte, dass der erarbeitete Ansatz über Funktionen wie zum Beispiel "strcat()" nicht zum gewünschten Ergebnis führten, führte aber genau dies bei mir selbst zu dem einen oder anderen ratlosen Moment - so angenehm einfach Tools wie Simulink die Entwicklung von Software auch machen. Da sich der Entwickler nicht mehr mit Banalitäten beschäftigen muss, sind die Situationen um so komplizierter zu lösen, in denen solch komplexe Software an scheinbaren Standardoperationen scheitert. Die Fokussierung auf weniger komplexe Entwicklungstools für kleine Projekte und komplexe Entwicklungstools für komplexe Probleme ist hier zwar naheliegend, allerdings natürlich nicht der Weg wie Studierende wie ich Aufgaben lösen sollten, die die Handhabung von Software lehrt.

Lernzielkrontrolle

Beantworten Sie in Ihrem Artikel die Lernzielkontrollfragen.

  1. Wie funktioniert der Primärsensor technisch?
  2. Welche Leistungsmerkmale hat der Sensor?
  3. Wie funktioniert die Umsetzerschaltung technisch?
  4. Wie kommuniziert der Sensor mit dem Arduino?
  5. Muss der Sensor kalibriert werden?
  6. Wie wird der Messwert in die zu messende physikalische Größe umgerechnet?
  7. Was nutzen Sie als Referenz?
  8. Benötigt der Sensor eine Kennlinie?
  9. Welchen Messbereich hat das Signal am Ende der Messkette?
  10. Welche Messunsicherheit und welcher Vertrauensbereich hat das Signal am Ende der Messkette für den gesamten Messbereich?
  11. Welche Auflösung hat das Signal am Ende der Messkette? Wodurch wird die Auflösung bedingt?
  12. Weist das Signal am Ende der Messkette einen systematischen oder zufälligen Fehler auf?
  13. Welche Fehlereinflüsse hat die Messung? Muss z. B. die Temperatur der Messung berücksichtigt werden?

Literatur

Anhang


→ zurück zum Hauptartikel: BSE Angewandte Informatik SoSe24 | Hausarbeit SoSe24

  1. D. Huntley, “Device Traceability and SEMI’s Single Device Tracking Initiatives,” Semi News -Blog, Dec. 10, 2018. Available: https://www.semi.org/en/blogs/technology-trends/device-traceability-and-semis-single-device-tracking-initiatives. [Accessed: Jul. 28, 2024]
  2. “Asset Tracking Software for Automotive - Automotive Asset Management - Auto Supply Chain Asset Tracking,” Radiant. Available: https://radiantrfid.com/industries/asset-tracking-automotive/. [Accessed: Jul. 28, 2024]
  3. Zach ,2012 , Embedded Projects: RDM6300 RFID with PIC18 Dev Board , url: https://zjembedded.blogspot.com/2012/06/rdm6300-rfid-with-pic18-dev-board.html , access-date: 26 July 2024
  4. j-ML Jackson, Arduino Forum, 2023,=RDM6300 reading format, url=https://forum.arduino.cc/t/rdm6300-reading-format/1072597/4 , access-date=26 July 2024
  5. 5,0 5,1 5,2 [1]K. Finkenzeller, RFID-Handbuch: Grundlagen und praktische Anwendungen von Transpondern, kontaktlosen Chipkarten und NFC, 8th ed. München: Carl Hanser Verlag GmbH & Co. KG, 2023. doi: 10.3139/9783446479722. Available: https://www.hanser-elibrary.com/doi/book/10.3139/9783446479722. [Accessed: Jul. 28, 2024]
  6. Joachim Herz Stiftung, “RFID-Transponder,” LEIFIphysik. Available: https://www.leifiphysik.de/elektrizitaetslehre/elektromagnetische-induktion/ausblick/rfid-transponder