RFID - Radio Frequency IDentification
Die Seite wurde im September 2007 erstellt und laufend ergänzt.
Die
RFID
Technik
hat
in
den
letzten
Jahren
viel
Aufsehen
erregt.
Sei
es
nun
in
technischer
oder
humaner
Hinsicht.
Ich
denke
den
Chip
im
Ausweis
kann
man
wohl
nicht
aufhalten.
Warenkennzeichnung
ist
auch
schon
lange
Realität.
Zukünftig
sollen
nun
auch
wertvolle
Güter
mit
dem
Chip
versehen
werden.
So
kann
man
vielleicht
irgendwann
mal
feststellen,
wo
das
Postpaket
abgeblieben ist, das nie angekommen ist.
Das Vorspiel
Was
mich
mehr
fasziniert
ist
die
Technik,
die
dahinter
steckt.
In
der
Hinsicht
bietet
das
Internet
nicht
sehr
viel
brauchbares.
Die
Artikel
in
Zeitschriften
sind
für
meinen
Geschmack
auch
zu
spezifisch.
Gleichzeitig
wird
am
Heftende
das
fertige
Produkt
angeboten.
Diese
Aspekte
nutzen
viele
Firmen
aus
und
bringen
(meine
Meinung)
überteuerte
Produkte
auf
den
Markt.
Jetzt
mag
ich's
aber
wissen.
Schafft
man
das
selber
oder
nicht.
Schau
ma
halt
mal.
Ärmel
hochgekrempelt,
nach
Herstellern
gegoogelt
und
Unmengen
an
Info
durchgewälzt.
Letztendlich
liegt
ein
Datenblatt
von
der
Firma
EM
Microelectronic
Marin
SA
vor
mir
auf
dem
Schreibtisch.
Der
EM4095
ist
der
Chip,
den
ich
mir
ausgewählt
habe.
Aber
woher
bekommt
man
das
IC.
Laut
Hersteller
gibt
es
keinen
Distributor
in
Deutschland.
Durch
Zufall
kam
ich
in
einem
Forum
auf
die
deutsche
Firma
Hedam.
Hier
konnte
man
auch
als
Endverbraucher
zu
vernünftigen
Preisen
kaufen.
Dann
von
Firma
RFID-Dealer
übernommen - und 2017 auch schon wieder von der Bildfläche verschwunden.
Auf
der
Seite
von
EM
Marin
gibt
es
auch
eine
Application
Notes,
die
den
Aufbau
und
die
Entwicklung
eines
Demo
Board
veranschaulicht.
Bei
meinen
ersten
Versuchen
haben
allerdings
zwei
von
den
fünf
erstandenen
Chips
indianisches
Verhalten
in
Form
von
Rauchzeichen
gezeigt.
Da
waren'
s
nur
noch drei.
Das Konzept
Es
soll
ein
kleines,
eigenständiges
RFID-Modul
entwickelt
werden,
dass
später
bei
Bedarf
in
ein
Prozessor-Board
(wie
mein
Mega8Board
)
eingebunden
werden
kann.
Auf
das
Modul
soll
nur
der
RFID-Chip
und
die
notwendigen
Bauteile
für
den
Betrieb
des
RFID
kommen.
Dann
noch
Antennenanschluss und Ein-Ausgänge für das Prozessor-Board.
Jetzt aber zur Sache
Als
allererstes
will
ich
mal
den
Chip
kennenlernen.
Bei
SO16
Gehäuse
erübrigt
sich
die
Frage
ob
man
hier
sockeln
und
löten
kann.
Es
muss
eine
Platine
her.
Und
was
soll
drauf:
Lediglich
der
EM4095 und alles was der Reader an eigenem Umfeld braucht.
Das
Layout
und
der
Schaltplan
wurde
mit
Eagle
erstellt.
Hier
links
im
Bild
sieht
man
auf
die
Lötseite
der
einseitigen
Platine.
Das
Cent
Stück
zeigt
in
etwa
die
Größe.
Die
Bauteile
sind
SMD
und
rings
rüber
sind
Pads
für
die
Steckverbindung und die Antenne.
Fertig
aufgebaut
und
fast
zum
ersten
Test
bereit.
Fehlt nur noch die Luftspule.
Form rund
Isolierter Kupferlackdraht mit d = 0,2 mm
160 Windungen
Durchmesser innen 23 mm
12 Meter Draht
Induktivität 786 yH
Zum
Wickeln
der
Spule
habe
ich
mir
ein
kleines
Hilfsmittel
gedreht.
Der
Einschnitt
hat
einen
Durchmesser
von
23
mm
und
eine
Breite
von
2,5
mm.
Damit
ist
auch
schon
das
Maß
der
Spule
festgelegt.
Die
Schraube
in
einen
Akkuschrauber
eingespannt
und
schon
kann
man
wickeln.
Einige
Versuche
ergaben
die
Daten
für
eine
Spule
von
786
yH.
Zum
genauen
messen
der
Spule
hab
ich
mich
zum
Kauf
eines
LCR
Messgerätes
durchgerungen
-
absolut
hilfreich.
Hier
ist
schon
alles
verdrahtet.
Auf
dem
Steckbrett
ist
die
RFID-Platine
links
davon
die Luftspule und ein Transponder 4102
Das
Mega8-Testboard
oben
dient
zur
Zeit
lediglich
als
Spannungsversorgung
für
das
RFID-Modul.
Nach
den
Versuchen
für
die
reine
Elektronik
soll
das
Testboard
dann
in
BASCOM
programmiert
werden und ordentlich arbeiten.
Die
ersten
Versuche
waren
schon
irgendwie
niederschmetternd
und
ich
hab
mich
gewundert
wie
einen
eine
neue
Technik
auf
Trab
bringen
kann.
Was
mir
nicht
bewusst
war:
es
werden
Antennenspannungen
bis
zu
450
Volt
von
dem
kleinen
Ding
produziert.
Aber
irgendwie
funktioniert
das
alles
nicht
so
wie
ich
mir
das
vorgestellt
hatte.
Nach
einiger
Probiererei
und,
wie
erwähnt,
zwei
geschossenen
ICs
hab
ich
mich
wieder
auf
die
Suche
nach
Info
gemacht;
und
ich
bin
fündig
geworden. Hier gibt es eine EXCEL-Tapete , die einiges an Rechenarbeit abnimmt.
EM4095 Hardware Environment Calculation Tool
Das
Excel
Sheet
beinhaltet
genau
die
Daten,
die
in
der
App
Note
404
gezeigt
werden.
Die
AN
404
liegt
übrigens
auf
der
gleichen
Seite
wie
das
Excel
Sheet.
In
dem
zugrunde
liegenden
Beispiel
wird
deutlich, wie man vorzugehen hat. Und schon kommt Klarheit in die Sache.
Zuerst
nimmt,
oder
wickelt
man
eine
Spule,
die
zwischen
300
und
800
uH
liegt.
Hinter
dem
Logo
verbirgt
sich
eine
kompetente
Firma,
die
auch
preislich
gesehen
am
Boden
der
Realität
ist.
Es
wird
eine
Grundfrequenz
von
125
KHz
zugrundegelegt.
Man
gibt
einen
Q
der
Spule
(Gütefaktor)
von
ca.
40
an.
Das
passt
lt.
Messung
für
die
Luftspule.
Automatisch
wird
der
ohmsche
Widerstand
der
Spule
berechnet.
(ca.
15
Ohm).
Dann
wird
der
Resonanzkondensator
ausgerechnet
(Excel).
Den
Wert
sollte
man
in
etwa
einhalten.
Dann
muss
man
noch
zwei
Kondensatoren
für
den
Divisor
berechnen.
Das
ist
der
Spannungsteiler,
der
für
die
Spannung
am
DMODIN
Eingang
verantwortlich
ist.
Die
Kondensatoren
für
den
Division
Factor
müssen
so
berechnet
werden,
dass
am
DMODIN
nicht
mehr
als
4
Volt
anstehen.
(Verhältnis
in
etwa
1:30)
Man
kann
sehr
schön
beim
Spielen
mit
den
Werten
(1:100
und
>
)
sehen
in
welche
Dimensionen
die
Spannung
an
der
Spule
geht.
Ich
war
erstaunt,
als
da
plötzlich
450
V
PP
angezeigt
wurden.
Kurz
nachgemessen
-
stimmt.
Aber
da
wird
es
dem
EM4095
richtig
warm
ums
Herz.
Also
muss
man
den
Strom
etwas
"ausbremsen",
indem
man
einen
Vorwiderstand
in
die
Spule
bringt.
Es
gibt
natürlich
auch
eine
zu
Fuß
Methode.
Aber
warum
soll
man,
wenn
Excel
das
Gleiche
macht.
Hat
man
den
Vorgang
zur
Berechnung
verstanden,
dann
ist
das
eine
große
Hilfe.
Ich
hab
als
Werte
eine
Spule
von
786
uH,
Q
=
40,
Cres
=
2nF,
CDV2
=
1
nF,
CDV1
=
47
pF
und
der
Serial
Resistor
=
68 Ohm. Und das Ergebnis kann sich sehen lassen.
Das
Oszillogramm
zeigt
oben
an
der
Spule
gemessen
die
modulierten
125
KHz.
Unten
die
Daten
am
Ausgang
DMODOUT.
Der
Transponder sprudelt.
Hier
zeigt
das
Messinstrument
die
Frequenz
der
Spule
an.
Gemessen
ist
das
mit
einer
Schnüffelspule.
(
Äußere
große
Spule
-
die
ist
aus einer Wegfahrsperre von einem Auto )
Links
zu
sehen
ist
eine
selbst
gewickelte
Schnüffelspule.
Wer
hat
schon
so
eine
Rarität
wie oben gezeigt rumliegen?
1 mm Draht
60 mm x 60 mm
20 Windungen
Messung
an
der
Spule
sollten
immer
mit
einer
Schnüffelspule
durchgeführt
werden.
Direkt
mit
dem
Scope
kann
zu
bösen
Messfehlern
führen. Oskar weg und nichts geht mehr.
Die
Herstellung
der
Leiterplatte
wird
in
Elektronik
beschrieben.
Wer
Interesse
am
Layout
und
Schaltplan oder an der Hardware hat, der kann
hier
die Zipfiles downloaden.
Bis
hierher
war
es
reine
Hardware
zum
Kennenlernen
der
Technik
und
des
Leser
ICs.
Das
Modul
liefert
jetzt
bereits
Daten,
wenn
man
einen
Tag
(Transponder)
dranhält.
Das
ist
am
Oszillogramm
oben
schön
zu
erkennen
-
ein
undefinierbares
Rechtecksignal.
Um
das
zu
entschlüsseln
gibt's
wieder
was
zu
klären.
Welcher
Transponder
oder
Tag
ist
das?
Das
Ding
heißt
UNIQUE
und
ist
ein
EM4102,
EM4200.
Datenblatt
gibt's
wieder
bei
EM
Microelectronic
Marin
SA
.
Das
Datenblatt
sollte
man
sich
unbedingt
sorgfältig
durchlesen,
um
den
Sinn
des
Ganzen
zu
verstehen.
Kurz:
Der
Tag
ist
vom
Einfachsten.
Er
kann
kein
"anti-collision"
und
kann
nicht
beschrieben
werden.
Er
liefert
nur
ganz
doof
seine
eigenen
Daten
in
Form
eines
64
Bit
langen
Streams.
Die
positive
Geschichte
daran
ist,
dasss
jeder
Transponder-Tag
ein
Unikat
darstellt.
Das
heißt
auf
gut
Deutsch:
Es
gibt
keine
zwei
gleichen
Tags.
Jeder
hat
seine
eigene
Hausnummer
eingebrannt.
Drum
tragen
die
Kühe
auch
so
lustige,
gelbe
Ohrclips.
So
wird
die
Hausnummer
auf
die
Kuh
übertragen.
Alles
Viehzeugs,
das
essbar
ist,
hat
seit
Euronorm
irgendwo
so
ein
Ding
hängen.
Zum
Testen
bitte
einen
Tag
kaufen
und
keine
Kuh
plündern.
Um
den
"Daten-Salat"
mal
anschaulich
zu
demonstrieren,
hab
ich
mir
die
Arbeit
gemacht den Stream eines Transponder-Tags grafisch darzustellen.
Links
im
Bild
ist
eine
Grafik
über
den
Aufbau des Nutzsignales zu sehen.
Zum Vergrößern anklicken.
So geht es programmtechnisch natürlich am einfachsten.
BASCOM
ab
der
Release
1.11.9.0
unterstützt
jetzt
auch
RFID
-
Reader.
Mit
meiner
oben
gezeigten
Luftspule
und
der
fertig
aufgebauten
RFID-Reader
Platine
wurde
bei
MCS
Electronics
die
BASCOM-Library für das Beispiel unten geschrieben.
'-------------------------------------------------------------------------------
' (c) 1995-2007 MCS Electronics
' This sample will read a HITAG chip based on the EM4095 chip
' Consult EM4102 and EM4095 datasheets for more info
'-------------------------------------------------------------------------------
' The EM4095 was implemented after an idea of Gerhard Günzel
' Gerhard provided the hardware and did research at the coil and capacitors.
' The EM4095 is much simpler to use than the HTRC110. It need less pins.
' A reference design with all parts is available from MCS
'-----------------------------------------------------------------------------
'------ Standard-Init with BASCOM ----------------------------------------------
$regfile = "M8def.dat"
$baud = 19200
$crystal = 8000000
$hwstack = 64
$swstack = 40
$framesize = 40
Shd Alias Portb.2
Pmod Alias Portc.0
Config Shd = Output
Config Pmod = Output
Pmod = 0
'Shd = 1
'Waitms 1
Shd = 0
$lib "em4095.lib"
Dim Tags(5) As Byte 'make sure the array is at least 5 bytes
Dim J As Byte
Dim Lcd_data(5) As Byte
Config Hitag = 64 , Type = Em4095 , Demod = Pind.2 , Int = @int0
Lcd "Test EM4095"
'-------------------------------------------------------------------------------
' you could use the PCINT option too, but you must mask all pins out
' so it will only respond to our pin
' Pcmsk2 = &B0000_0100
' On Pcint2 Checkints
' Enable Pcint2
On Int0 Checkints 'we use the INT1 pin
Config Int0 = Change 'we have to config so that on each pin change
' the routine will be called
Enable Interrupts 'as last we have to enable all interrupts
Cls
Do
If Readhitag(tags(1)) = 1 Then 'this will enable INT1
Disable Interrupts
Cls
Locate 1 , 1
For J = 5 To 1 Step -1
Lcd Hex(tags(j)) ; ",";
Next
Else
Cls
Locate 2 , 1
Lcd "nothing "
End If
Waitms 500
Enable Interrupts
Loop
Checkints:
Call _checkhitag 'in case you have used a PCINT, you could have
'other code here as well
Return
Im
Beispiel
oben
sieht
man,
dass
ich
die
For
Next
Schleife
mit
Step
-1
benutze.
Das
hat
auch
einen
Grund.
Die
Daten
des
TAGs
werden
beim
Lesen
in
der
LIB-Funktion
auf
dem
Stack
byteweise
abgelegt.
Liest
man
sie
wie
im
BASCOM
Beispielcode
als
normales
Array
aus,
dann
ist
die
Reihenfolge
der
einzelnen
Bytes
umgedreht.
Das
sollte
man
wissen
und
berücksichtigen,
wenn
man
die
Daten
weiter
verarbeitet.
Meine
Beispiel-Kuh
von
oben
würde
sich
drüber
freuen
-
Denn
geht
es
im Schlachthof mit rechten Dingen zu, dann bleibt sie am Leben.
Und der Schluss vom Test - Na geht doch
Mit
diesem
Grundstock
lässt
sich
nun
allerhand
realisieren.
Der
Fantasie
sind
keine
Grenzen
gesetzt
-
Türschloss,
Zugangskontrolle,
Wegfahrsperre. Um nur einiges zu nennen.
Im
Display
ist
jetzt
die
Hausnummer
vom
Transponder
zu
sehen,
und
zwar
so,
wie
es
im
Chip
steht
-
Konform
mit
der
Auswertung
des
Datenstrings
oben
mit
der
"zu
Fuß"
Methode.
Ich
wollte
es
ja
wissen;
ob
man
die
Technik
selber
in
den
Griff
bekommt.
Es
funktioniert
tatsächlich.
Ein
langer
Weg. Rückblickend kann ich sagen - Der Aufwand hat sich auf alle Fälle gelohnt.
Und wie geht's weiter
Der erste Prototyp des Readers - Ein RFID Sandwich.
Der
Grundaufbau
ist
eine
Rechteckform
beider
Platinen
-
RFID
und
Powerplatine.
Damit
die
Platinen
in
eine
Unterputzdose
passen,
sind
sie
so
konstruiert,
dasss
der
runde
Teil
ausgebrochen
werden
kann. Über Abstandsbolzen können beide Platinen zum Sandwich verschraubt werden.
Die
RFID
Platine
ist
mit
Flat
Packs
aufgebaut.
Normale
DIL-ICs
sind
eine
Nummer
zu
groß.
Auf
einer
Fläche
von
48x50
mm
sind
Prozessor,
RFID
Chip,
Serielle
Schnittstelle,
Programmierschnittstelle,
Quarz,
LED
Anzeige,
Treibertransistor
und
Reset
Taster
untergebracht.
Der
Mega8
kann
auf
der
Platine
programmiert
werden.
Über
RS232
kann man vom PC aus zugreifen.
Die
Power
Platine
wird
von
außen
über
eine
Klemmleiste
mit
Spannung
versorgt.
Gleich
oder
Wechsel
ist
egal.
Dafür
ist
ein
Gleichrichter
integriert.
Ein
Netzteil
liefert
5V
Gleichspannung
für
die
RFID
Platine.
Über
eine
weitere
Klemmleiste
wird
ein
potentialfreier,
frei
verfügbarer
Relais-
Kontakt herausgeführt. Z.B. Türöffner.
Die
Platine
ist
nicht
selbst
gemacht.
Doppelseitig
und
eine
hohe
Dichte.
Das
überlass
ich
lieber
dem
Fachmann.
Heinz
hat
das
prima
hin
bekommen.
Den
Heinz
hab
ich
bei
IBÄH
unter
Platinen
gesucht
und
auch
gefunden.
Klick
auf
das Bild führt zu Heinz.
Hier
rechts
-
nach
langer
Zeit
vom
neuen
Spielzeug
einer
CNC
Fräse
weg,
und
wieder
an
den
Lötkolben
zurück
-
die
fertig
bestückte
Powerplatine
des
RFID-
Sandwich.
Hier
ist
die
Stromversorgung
und
das Türöffner-Relais drauf.
Links
das
Rahmenblech
eines
Lichtschalters
soll
der
Träger
für
das
RFID-Sandwich
werden.
Die
Powerplatine
kommt
noch
über
Abstandsbolzen
hinten
dran.
Das
ganze
passt
dann
in
eine
Unterputzdose.
Unten die fertig bestückte RFID Platine in Vorderseite und Rückseite.
Auf
der
Vorderseite
sieht
man
die
grünen
Stecker
für
Serielle,
SPI
und
Antenne.
Reset
Taster
und
Quarz
sind
auch
vorne.
Mittig ist der Sockel für die LED.
Die
Rückseite
Trägt
die
Steckverbinder
für
die
Spannungsversorgung
und
den
Relais-
Ausgang.
Beide
werden
zur
Powerplatine
verkabelt.
Das RFID-Sandwich komplett aufgebaut
Die
beiden
Platinen
sind
nun
über
Abstandsbolzen
verschraubt
und
am
Rahmenblech
befestigt.
Das
Rahmenblech
selbst
wird
in
eine
Unterputzdose
eingeschraubt.
Der
große
Plastikrahmen
wird
nach
dem
Einbau
des
Sandwichs
auf
das
Rahmenblech
geschraubt
und
die
Abdeckkappe
draufgedrückt.
In
der
Abdeckkappe
sind
die
LED
und
die
Antenne
mit
Heißkleber
eingegossen.
Zieht
man
lediglich
die
Abdeckkappe
ab,
dann
kann
man
mit
dem
PC
an
das
Sandwich
-
zum
Programmieren
oder
an
die
Serielle.
Die
Reset
Taste
ist
auch
so
zugänglich.
Obwohl
die
Antenne
direkt
in
einem
Metallrahmen
eingebaut
ist,
beträgt
die
Reichweite
des
Tags
doch
noch
ca.
vier
Zentimeter
-
ist
auch
zwecks
Störsicherheit
so
gewollt.
Die
Platinen
selbst
haben
auch
"viel"
Massefläche,
so
dass
Störeinflüsse
gering
gehalten
werden.
Zum
Kippen
bringt
man,
wenn
man
will,
das
Ganze
allemal.
Das
wäre
die
erste
Elektronik,
die Wunder vollbringt. Jetzt muss das RFID-Sandwich nur noch mit Software gefüttert werden.
Zum Türöffner programmiert - eingebaut - und läuft
Das
Sandwich
ist
außer
Reset
ohne
weitere
Tasten
konstruiert.
Deshalb
habe
ich
die
Software,
die
übrigens
in
BASCOM
1.11.9.0
geschrieben
ist,
so
ausgelegt,
dass
zu
allererst
ein
Tag
als
Master
einprogrammiert
werden
muss,
um
auf
das
Sandwich
zugreifen
zu
können.
Dieser
Master
Tag
übernimmt
nun
softwaremäßig
die
Funktion
eines
Tasters
zur
Eingabe.
Weitere
Tags
können
dann
nur über diesen Master einprogrammiert werden. Und das ist
hier
zu finden.
Aufgemotzt mit Uhrenquarz
Taktet
man
den
Mega8
intern,
so
kann
man
einen
Uhrenquarz
anstelle
der
8
MHz-Quarz-
Beschaltung
verwenden.
Das
RFID-Sandwich
kann
dann
per
Software
leicht
vom
einfachen
Türöffner
zum
Zeiterfassungssystem
"aufgebohrt"
werden.
Die
RS232.Schnittstelle
wäre
als
Datenkanal
zu
einem
PC-Programm
denkbar.
Wie
weiter
oben
schon
erwähnt,
bietet
das
Konzept
eine Menge an Möglichkeiten.
Das Gegenstück am PC
Das
Bild
unten
zeigt
ein
Programm,
das
ich
in
Visual
Basic
geschrieben
habe.
Es
bildet
nun
die
Schnittstelle
zum
PC
und
besteht
aus
drei
Grundelementen:
Port
Einstellungen
mit
Schalter
für
Verbinden
und
Trennen,
Wahlmöglichkeit
für
die
gängigen
Baudrates
und
Wahlmöglichkeit
eines
tatsächlich
am
PC
vorkommenden
COM-Ports.
Zum
Zweiten
ein
Fenster
für
Datenempfang.
Und
zum
Dritten
ein
Fenster
für
Dateneingabe
und
Senden
an
den
COM-Port.
Als
Ergänzung
kann
man
noch
Dinge
wie
Speichern
in
Datei
einbinden.
Denkbar
wäre
auch
ein
Menue
vom
"Sandwich"
an
den PC auszulagern.
Schwierigkeiten mit dem EM4095
Das war' s vorerst mal.
Diese
Seite
habe
ich
beim
"Reinschmecken"
in
die
RFID
Technik
mitgeschrieben.
Die
durchwegs
positive
Resonanz
von
einigen
sehr
netten
Menschen
die
mir
geschrieben
haben,
sei
es
wegen
Problemen
beim
Nachbau
oder
einfach
so,
hat
mir
gezeigt,
dass
dieses
interessante
Thema
nicht
nur
mich
beschäftigt.
Schwer
beeindruckt
hat
mich,
dass
Resonanz
aus
allen
Ecken
der
Welt
gekommen
ist.
Besonderes
gefreut
hat
mich
die
Anerkennung
meines
Engagements
und
die
positive Beurteilung meiner Seite vom Hersteller des EM4095.
Was
tun,
wenn
nichts
geht
-
oder
wenn's
nicht
mehr
geht.
Vor
diesem
Problem
stand
ich
auch
sehr
oft.
Was
kann
man
tun
-
wo
langt
man
hin
-
auf
was
ist
zu
achten.
Einige
Erfahrungswerte
habe
ich
auf einer
Extraseite
zusammengestellt.