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.