|
|
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
Auf der Seite von EM Marin gibt es auch eine App Note 404, 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, das 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.
Hier ist schon alles verdrahtet. Auf dem Steckbrett ist die RFID-Platine links davon die Luftspule und ein Transponder 4102
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,
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?
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. 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, dass 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.
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. 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.
Fertig aufgebaut und fast zum ersten Test bereit.
Links im Bild ist eine Grafik über den Aufbau des Nutzsignales zu sehen.
So geht es programmtechnisch natürlich am einfachsten. BASCOM ab der Release 1.11.9.0
unterstützt jetzt auch RFID - Reader.
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.
'------------------------------------------------------------------------------- ' (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 '-------------------------------------------------------------------------------
Und der Schluss vom Test - Na geht doch
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.
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 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, dass der runde Teil ausgebrochen werden kann. Über Abstandsbolzen können beide Platinen zum Sandwich verschraubt werden.
Dem Mega8 ist es egal ob er mit Basic, C, Assembler oder was auch immer gefüttert wird. Die SPI-Schnittstelle, die herausgeführt ist, macht's möglich. Datentransfer über RS232 macht die RFID-Platine flexibel. Eine LED kann zur Zustands- oder Funktionsanzeige programmiert werden. Und ein Transistor mit Open Collector dient als Treiber für Peripherie wie Relais etc.
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.
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.
Das RFID-Sandwich komplett aufgebaut Die Rückseite Trägt die Steckverbinder für die Spannungsversorgung und den Relais- Ausgang. Beide werden zur Powerplatine verkabelt.
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 Sandwiches 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
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.
Aufgemotzt mit Uhrenquarz
Schwierigkeiten mit dem EM4095
Das Bild 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.
Das Gegenstück am PC
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.
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.
.
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.
. Mit diesem Grundstock lässt sich nun allerhand realisieren. Der Fantasie sind keine Grenzen gesetzt - Türschloss, Zugangskontrolle, Wegfahrsperre. Um nur einiges zu nennen.
|