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

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen
 
(16 dazwischenliegende Versionen von einem anderen Benutzer werden nicht angezeigt)
Zeile 15: Zeile 15:


== Einführung ==
== 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.<ref name"SEMI">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]</ref><ref name="AssetTrack">“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]</ref> 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 ===
=== Aufgabenstellung ===
Lesen Sie mit dem RFID Lesegerät die Daten der RFID Karte aus.
Lesen Sie mit dem RFID Lesegerät die Daten der RFID Karte aus.
Zeile 39: Zeile 40:
|}
|}
|}
|}
 
*'''Thema/Fragestellung:''' Auslesen eines RFID_Tag mittels des RDM6300
*'''Thema/Fragestellung:''' Messung der Entfernung mit dem Sensor Sharp GP2-0430K
*'''Hypothese:''': Die Daten des RFID-Transponders können zuverlässig ausgelesen und zur Verarbeitung übertragen werden.
*'''Hypothese:''' Die Entfernung lässt sich im Bereich von 4&thinsp;cm bis 50&thinsp;cm fehlerfrei messen.
* '''Einordnung in den Lehrplan'''
* '''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 ==
== Projektbeschreibung ==
Zeile 50: 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
|-
|-
| 3 || 1 || Arduino Mega2560  
| 3|| 1 || 125khz Antenne
|-
| 4|| 1 || [[Mikrocontrollerboard_Arduino_Mega_2560|Arduino Mega2560]]
|-
| 5|| 1 || [[Piezo Lautsprecher|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 (Light Emitting Diode)|Led]] Grün
|-
|-
| 4 || 1 || Streckbrett
| 10|| 1 || Widerstand 1 kOhm
|-
|-
| 5 || 5 || Jumper Kabel, männlich/männlich, 20 cm
|}
|}
Beschreibung Funktionsweise der verwendeten Hard- und Software
Beschreibung Funktionsweise der verwendeten Hard- und Software
* Arduino Uno R3
* [[Mikrocontrollerboard_Arduino_Mega_2560|Arduino Mega2560]]
* Sensor Sharp GP2-0430K
:Der [[Mikrocontrollerboard_Arduino_Mega_2560|Arduino Mega]] gehört zur Familie der Einplatinencomputer und richtet sich an Entwickler mit Projekten, die viele Ein- und Ausgangssignale verarbeiten müssen. Der [[Mikrocontrollerboard_Arduino_Mega_2560|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 [[Fahrzeugkommunikation via RS232|serielle Schnittstellen]].
* Simulink R2022b
* Sensor RDM6300
: Der RDM6300 in Kombination mit der Antenne für 125khz Tags wird über eine Asynchrone  und Serielle -Schnittstelle an  den [[Mikrocontrollerboard_Arduino_Mega_2560|Arduino Mega]] angeschlossen. Der Sensor bietet zudem die Möglichkeit eine [[LED (Light Emitting Diode)|Led]] über einen 1 kOhm widerstand anzuschließen. Die Angeschlossene LED stellt einen Indikator dar, ob ein Tag erfolgreich durch den RDM6300 erkannt wurde.
* [[Matlab/Simulink]] R2023b
: 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 ===
=== Technische Daten ===
Zeile 88: Zeile 103:


=== Pinbelegung ===
=== Pinbelegung ===
[[Datei:RDM6300Belegung.jpg|gerahmt|rechts]]
[[Datei:RDM6300Belegung.jpg|gerahmt|rechts|Pinbelegung RDM6300]]
{| class="wikitable"
{| class="wikitable"
!colspan="3";style="font-weight: bold;" |P1
!colspan="4";style="font-weight: bold;" |P1
|-
|-
! style="font-weight: bold;" | Pin
! style="font-weight: bold;" | Pin
! style="width: 10%;" |
! style="font-weight: bold;" | Belegung
! style="font-weight: bold;" | Belegung
! style="font-weight: bold;" | Signal
! style="font-weight: bold;" | Signal
|-
|-
| 1 || TX  || 5&thinsp;V
| 1  
!style="background-color:#A020F0;"|
| TX   
| 5&thinsp;V
|-
|-
| 2 || RX || TTL-Pegel
| 2  
!style="background-color:#0000FF;"|
| RX  
| TTL-Pegel
|-
|-
| 3 || NC  || TTL-Pegel
| 3  
!style="background-color:#f9f8fa;"|
| NC  || TTL-Pegel
|-
|-
| 4 || GND  || 0&thinsp;V
| 4  
!style="background-color:#000;"|
| GND  || 0&thinsp;V
|-
|-
| 5 || Versorgungsspannung || 5&thinsp;V
| 5  
!style="background-color:#F00;"|
| Versorgungsspannung || 5&thinsp;V
|-
|-
!colspan="3";style="font-weight: bold;" |P2
!colspan="4";style="font-weight: bold;" |P2
|-
|-
| 1 || ANT1 ||
| 1  
!style="background-color:#000;"|
| ANT1 ||
|-
|-
| 2 || ANT2 ||  
| 2  
!style="background-color:#F00;"|
| ANT2 ||  
|-
|-
!colspan="3";style="font-weight: bold;" |P3
!colspan="4";style="font-weight: bold;" |P3
|-
|-
| 1 || LED  ||
| 1  
!style="background-color:#FFAA00;"|
| LED  ||
|-
|-
| 2 || Versorgungsspannung || 5&thinsp;V
| 2  
!style="background-color:#F00;"|
| Versorgungsspannung || 5&thinsp;V
|-
|-
| 4 || GND  || 0&thinsp;V
| 4  
!style="background-color:#000F;"|
| GND  || 0&thinsp;V
|-
|-
|}
|}
Zeile 124: Zeile 162:
== Versuchsaufbau und Durchführung ==
== Versuchsaufbau und Durchführung ==
=== Versuchsaufbau ===
=== Versuchsaufbau ===
[[Datei:RDM6300Schaltplan bb.jpg|mini|rechts|alternativtext=Anschlussplan RDM6300 an einen Arduino Mega2560]]
[[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 Arduino Mega2560 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.


=== Versuchsdurchführung ===
=== Versuchsdurchführung ===
[[Datei:Simulink Sharp.png|thumb|rigth|450px|Abb. 5: Simulink-Modell]]
Nach dem erfolgreichen Aufbau der Versuchsschaltung und dem anschließen des [[Mikrocontrollerboard_Arduino_Mega_2560|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/Simulink|Matlab]] .m- Skript entwickelt. Mit Hilfe des Skriptes konnte nun erstmals korrekte Datenwerte vom RDM6300 über die [[Fahrzeugkommunikation_via_RS232|serielle Schnittstelle]] des [[Arduino]]
Das Modell zur Datenverarbeitung wurde gemäß Abb. 5 in Simulink aufgebaut. Die Messdaten wurden aufgezeichnet. Ein Video der Versuchsdurchführung findet sich hier.
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 ===
<!--[[Datei:Sharp Ergebnis 1.png|thumb|rigth|450px|Abb. 6: Darstellung des Rohsignals des IR-Entfernungssensors (rote Kurve)]]-->
<!--[[Datei:Sharp Ergebnis 2.png |thumb|rigth|450px|Abb. 7: Darstellung von dynamischen Messwerten des IR-Entfernungssensors]]-->
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.


'''Modelleinstellungen:''' Arduino Uno, Solver: Fixed-step, discrete, Abtastrate: 0,001 s
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.<ref>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 </ref>
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>
[[Datei:AufnahmeRFIDChip.jpg|mini|rechts|alternativtext=Aufnahme eines 125kHz RFID-Tags im Chipkartenformat|Aufnahme eines 125kHz RFID-Tags im Chipkartenformat]]
{| class="wikitable"
|+ Ausgelesene Daten der Chipkarte
!colspan="3";style="font-weight: bold;" |Daten
|-
! style="font-weight: bold;" | decimal
! style="font-weight: bold;" | Hex
! style="font-weight: bold;" | Ascii
|-
!style="background-color:#f9f8fa;"| 02
!style="background-color:#f9f8fa;"| 02
!style="background-color:#f9f8fa;"| '2'
|-
!style="background-color:#f9f8fa;"| 54
!style="background-color:#f9f8fa;"| 36
!style="background-color:#f9f8fa;"| '6'
|-
!style="background-color:#f9f8fa;"| 51
!style="background-color:#f9f8fa;"| 33
!style="background-color:#f9f8fa;"| '3'
|-
! style="background-color:#ffffcc;"| 48
! style="background-color:#ffffcc;"| 30
! style="background-color:#ffffcc;"| '0'
|-
!style="background-color:#ffffcc;"| 48
! style="background-color:#ffffcc;"| 30
! style="background-color:#ffffcc;"| '0'
|-
! style="background-color:#ffffcc;"| 51
! style="background-color:#ffffcc;"| 33
! style="background-color:#ffffcc;"| '3'
|-
!style=" background-color:#ffffcc;"| 51
! style="background-color:#ffffcc;"| 33
! style="background-color:#ffffcc;"| '3'
|-
!style="background-color:#ffffcc;"| 55
! style="background-color:#ffffcc;"| 37
! style="background-color:#ffffcc;"| '7'
|-
!style="background-color:#ffffcc;"| 56
! style="background-color:#ffffcc;"| 38
! style="background-color:#ffffcc;"| '8'
|-
! style="background-color:#ffffcc;"| 70
! style="background-color:#ffffcc;"| 46
! style="background-color:#ffffcc;"| 'F'
|-
! style="background-color:#ffffcc;"| 51
! style="background-color:#ffffcc;"| 33
! style="background-color:#ffffcc;"| '3'
|-
!style="background-color:#f9f8fa;"| 68
!style="background-color:#f9f8fa;"| 44
!style="background-color:#f9f8fa;"| 'D'
|-
!style="background-color:#f9f8fa;"| 66
!style="background-color:#f9f8fa;"| 42
!style="background-color:#f9f8fa;"| 'B'
|-
!style="background-color:#f9f8fa;"| 03
!style="background-color:#f9f8fa;"| 03
!style="background-color:#f9f8fa;"| '3'
|-
! colspan="3";style="font-weight: bold;" | ASCII = HEX -> DEC
|-
! colspan="3";style="font-weight: bold;" |'003378F3'-> 3373299
|-
|}


=== Versuchsbeobachtung ===
== Funktionsweise ==
[[Datei:Sharp Ergebnis 1.png|thumb|rigth|450px|Abb. 6: Darstellung des Rohsignals des IR-Entfernungssensors (rote Kurve)]]
=== Funktionsweise Sensor ===
[[Datei:Sharp Ergebnis 2.png |thumb|rigth|450px|Abb. 7: Darstellung von dynamischen Messwerten des IR-Entfernungssensors]]
[[Datei:NahaufnahmeRFIDTag.jpg|mini|links|alternativtext=Nahaufnahme eines RFID Tags|13,56Mhz RFID-Tag zum aufkleben. Die Technik ist an der geringen Windungszahl von n = 10 zu erkennen<ref name="FINK"/> ]]
Wenn die Karte sehr früh, noch vor vollständigem Start des Arduinos aufgelegt wird, dann wird Der RFID-Tag nicht in Korrekter Reihenfolge ausgelesen.
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<ref name = "FINK"/>. Anwendungsbeispiele hierfür sind zum Beispiel das Single Item Tracking oder die [[KeylessEntry|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.<ref name"FEIFI_RFID>Joachim Herz Stiftung, “RFID-Transponder,” LEIFIphysik. Available: https://www.leifiphysik.de/elektrizitaetslehre/elektromagnetische-induktion/ausblick/rfid-transponder</ref> 
Dies lässt sich nur mit einem Reset des Systems beheben.
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<ref name = "FINK"> [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]</ref>.
Gegen fehlerhaftes einlesen des Tags, lässt sich das System zudem mit der Überprüfung auf ein korrektes Startbit der eingelesenen daten schützen. Der Tag startet gewöhnlciher weise mit dem Startbit 0x02 und somit kann ein korrektes einlesen gesichert werden.<ref>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 </ref>.
[[Datei:GemesseneSpannung Antenne.png|mini|alternativtext=Gemessene Spannung an der Antenne |Erkennbares verhalten beim auflegen des RFID-Transponders]]


== Auswertung==
== Auswertung==
Die Messhypothese wurde verworfen. Der Sensor weist systematische Messwertausreisser auf.
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.
{| role="presentation" class="wikitable mw-collapsible mw-collapsed"
| <strong>Testbericht gegen die Anforderungen&thinsp;</strong>
|-
| Der Test der Anforderungen wurden nicht explizit und nachvollziehbar dokumentiert. Anhand des Wiki-Artikels konnte nachfolgender Erfüllungsgrad abgelesen werden.
{| class="wikitable"
|-
! Req. !! Beschreibung !! Testergebnis
|-
| 1 || Die Daten eines RFID-Tags müssen mittels RFID Empfänger Modul RDM6300, Arduino und Simulink eingelesen werden.|| <span style="color:green">☑</span>
|-
| 2 || Der Messbereich muss bestimmt werden. || <span style="color:red">☒</span>
|-
| 3 || Die empfangenen Daten müssen referenziert werden. || <span style="color:red">☒</span>
|-
| 4 || Der ID muss einem Nutzernamen zugeordnet werden.  || <span style="color:red">☒</span>
|-
| 5 || Ein Piepton muss anzeigen, wenn ein RFID-Tag gelesen werden kann. || <span style="color:red">☒</span>
|-
| 6 || Der Nutzername der RFID-Karte muss auf dem [[LCD_Modul_16x02_I2C|LCD-Display]] korrekt angezeigt werden. || <span style="color:red">☒</span>
|}
|}


Die Ausreisser lassen sich mit einem Signalfilter eliminieren. Hierzu eignet sich ein Rangordnungsfilter (z.&thinsp;B. Median-Filter). Das Filter wird hierzu auf eine Fensterbreite von 30 Werten
eingestellt. Das zufriedenstellende Filterergebnis für statische Werte zeigt Abb. 6 als blaue Kurve. Es konnte mit dynamische Werten verifiziert werden (vgl. Abb. 7). Das Datenblatt ([2, S. 6]) belegt die Messungen und bezeichnet die Messausreisser als "instabile Ausgabe" für maximal 5&thinsp;ms alle 40&thinsp;ms. Mit 50 Werten erhöht sich die Filterwirkung, es entsteht jedoch ein Delay von 10&thinsp;ms. Mit 10 Werten ist die Filterwirkung zu gering.
== Zusammenfassung und Ausblick ==
== Zusammenfassung und Ausblick ==
* Zusammenfassung der Kapitel 1-4
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 [[KeylessEntry|Zutrittskontrolle]] oder Identifikation.
* Diskussion der Ergebnisse
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 [[Mikrocontrollerboard_Arduino_Mega_2560|Arduino Mega]].
* Ausblick
* Selbstreflexion/Lessons learned
* 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.  
== Ergebnisvideo ==
Binden Sie hier Ihr Ergebnisvideo ein.
 
Anleitung: [[Videos_einbinden|Videos im Wiki einbinden]]
 
== Lernzielkrontrolle ==
== Lernzielkrontrolle ==
Beantworten Sie in Ihrem Artikel die Lernzielkontrollfragen.
Beantworten Sie in Ihrem Artikel die Lernzielkontrollfragen.
Zeile 163: Zeile 293:
| <strong>Lernzielkontrollfragen&thinsp;</strong>
| <strong>Lernzielkontrollfragen&thinsp;</strong>
|-
|-
|
# Wie funktioniert der Primärsensor technisch?  
# Wie funktioniert der Primärsensor technisch?  
# Welche Leistungsmerkmale hat der Sensor?
# Welche Leistungsmerkmale hat der Sensor?
Zeile 180: Zeile 309:


== Literatur ==
== Literatur ==
Zitieren Sie nach [[Zitieren_nach_DIN1505|DIN ISO 690:2013-10]].
*Asset Tracking Software for Automotive - Automotive Asset Management - Auto Supply Chain Asset Tracking, [kein Datum]. Radiant [online]. [Zugriff am: 28 Juli 2024]. Verfügbar unter: https://radiantrfid.com/industries/asset-tracking-automotive/
*FINKENZELLER, Klaus, 2023. RFID-Handbuch: Grundlagen und praktische Anwendungen von Transpondern, kontaktlosen Chipkarten und NFC [online]. 8. München: Carl Hanser Verlag GmbH & Co. KG. [Zugriff am: 28 Juli 2024]. ISBN 9783446448858 9783446479722. Verfügbar unter: https://www.hanser-elibrary.com/doi/book/10.3139/9783446479722
*HUNTLEY, Dave, 2018. Device Traceability and SEMI’s Single Device Tracking Initiatives. Semi News -Blog [online]. 10 Dezember 2018. [Zugriff am: 28 Juli 2024]. Verfügbar unter: https://www.semi.org/en/blogs/technology-trends/device-traceability-and-semis-single-device-tracking-initiatives
*JOACHIM HERZ STIFTUNG, [kein Datum]. RFID-Transponder. LEIFIphysik [online]. Verfügbar unter: https://www.leifiphysik.de/elektrizitaetslehre/elektromagnetische-induktion/ausblick/rfid-transponder
*Radio Frequency Identification (RFID), [kein Datum]. Bundesamt für Sicherheit in der Informationstechnik [online]. [Zugriff am: 28 Juli 2024]. Verfügbar unter: https://www.bsi.bund.de/DE/Themen/Unternehmen-und-Organisationen/Standards-und-Zertifizierung/RFID/Whitepaper-ISO-14443/whitepaper-iso-14443.html?nn=127120
*RDM6300 125KHz RFID Card Reader Module – HandsOn Tech, [kein Datum]. [online]. [Zugriff am: 26 Juli 2024]. Verfügbar unter: https://handsontec.com/index.php/product/rdm6300-125khz-rfid-card-reader-module/
*RDM6300 reading format, 2023. Arduino Forum [online]. [Zugriff am: 26 Juli 2024]. Verfügbar unter: https://forum.arduino.cc/t/rdm6300-reading-format/1072597/4
*RDM6300 RFID Reader Modul Arduino Raspberry Pi ESP8266 – MAKERSHOP.DE, [kein Datum]. [online]. [Zugriff am: 26 Juli 2024]. Verfügbar unter: https://www.makershop.de/module/eingabe/rdm6300-rfid-reder-modul-arduino-raspberry-pi-esp8266/
*SCHOEFFLER, Michael, 2018. Arduino-Tutorial: How to use the RDM630/RDM6300 RFID reader. Michael Schoeffler [online]. 5 Januar 2018. [Zugriff am: 26 Juli 2024]. Verfügbar unter: https://mschoeffler.com/2018/01/05/arduino-tutorial-how-to-use-the-rdm630-rdm6300-rfid-reader/
*TAMM, Gerrit und Christoph TRIBOWSKI, 2010. RFID [online]. Berlin, Heidelberg: Springer Berlin Heidelberg. [Zugriff am: 28 Juli 2024]. Informatik im Fokus. ISBN 9783642114595 9783642114601. Verfügbar unter: https://link.springer.com/10.1007/978-3-642-11460-1
*ZACH, 2012. Embedded Projects: RDM6300 RFID with PIC18 Dev Board. Embedded Projects [online]. 1 Juni 2012. [Zugriff am: 26 Juli 2024]. Verfügbar unter: https://zjembedded.blogspot.com/2012/06/rdm6300-rfid-with-pic18-dev-board.html


== Anhang ==
== Anhang ==
* Datenblätter
* [[Datei:RDM6300Belegung_DrawIoModell.zip|Simulink Modell]]
* Simulink-Modell
* [[Datei:RDM6300.zip|Simulink Modell]]
* Originaldateien (PAP, Schaltplan,... )
* [[Datei:RDM6300 Schaltplan.fzz|Aschlussplan Fritzing]]
* [https://www.handsontec.com/dataspecs/module/RDM6300.pdf Datenblatt]
----
----
→ zurück zum Hauptartikel: [[BSE_Angewandte_Informatik_-_SoSe24|BSE Angewandte Informatik SoSe24]] | [[BSE_Angewandte_Informatik_-_SoSe24_-_Hausarbeit|Hausarbeit SoSe24]]
→ zurück zum Hauptartikel: [[BSE_Angewandte_Informatik_-_SoSe24|BSE Angewandte Informatik SoSe24]] | [[BSE_Angewandte_Informatik_-_SoSe24_-_Hausarbeit|Hausarbeit SoSe24]]

Aktuelle Version vom 10. August 2024, 09:37 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