Datum: 02.05.2007 01:04
Hallo, hier gibt's einen RFID Tag Leser, der 64 Bit 125 kHz Tags ausliest und die darin gespeicherten Daten (40 Bit "netto") über die USB Schnittstelle ausgibt. - Auf der Platine integrierte PCB Antenne - RFID Reader Chip EM 4095 - µC ATMega 16, der sich um die Manchesterdekodierung, die Datenaufbereitung und die Ausgabe der Daten über UART kümmert - FT232RL um die UART Daten über USB auszugeben - Platine wurde entworfen für den Einbau in das Gehäuse TEKO 101 (bei Reichelt) Im Anhang gibt's zunächst für die eiligen ein Bild der Platine, in der nächsten Nachricht folgen Source-Code, Schaltplan und Layout. Viel Spaß und Gruß Stefan
Datum: 02.05.2007 01:07
...und hier Sourcecode, Schaltplan und Platinenlayout. Beim Einbau in das Tekogehäuse ist zu beachten, dass die Bodenplatte aus Aluminium durch eine nicht-metallische, z.B. aus Epoxid, ersetzt wird. Gruß Stefan
Datum: 02.05.2007 10:19
Hallo, hast du vielleicht noch einen Tip wo der EM4095 erhältlich ist, und wie der preislich so liegt?
Datum: 02.05.2007 14:19
Google "EM4095" -> Seiten auf Deutsch -> 3. Treffer: www.hedam.de Kostet so um die 2,50 € Gruß Stefan
Datum: 02.05.2007 15:29
Hallo, ohne jetzt in die ZIP Datei geschaut zu haben, würde mich interessieren, in welchem Abstand die Sensoren an die Platine herangeführt werden müssen. Handelt es sich um eine Nahbereichs-RFID mit wenigen cm (3-10) oder nur große Entfernungen (>10cm)?? Wie lange dauert die Erkennung? Können bewegte Objekte am Sensor vorbei detektiert werden? Gruß, Torsten.
Datum: 02.05.2007 16:54
Hallo, die Entfernung liegt etwa im Bereich bis 10 cm (für die normalen Schlüsselanhänger). Die Erkennung dauert so grob geschätzt 100 ms. Die Objekte können bewegt werden, natürlich begrenzt durch die Erkennungsgeschwindigkeit. Stefan
Datum: 04.05.2007 01:35
Wirklich interessant, ich habe den em4095 hier, und würde ihn auch gerne verwenden, aber mit meinem eigenen Source oder wenigstens mit einem den ich verstanden habe, aber ich muss gestehen, dass ich nur Bahnhof verstehe. Ich bin zwar blutiger Anfänger aber die C- Sprachsyntax verstehe ich dennoch. Also vielleicht kann mir jemand ein paar Denkansätze geben, damit ich es verstehe. Vielen Dank
Datum: 04.05.2007 02:38
Am besten zunächst erstmal verstehen wie die Daten in den Tags aufgebaut sind, und wie selbige moduliert, übertragen und demoduliert werden. Das ist alles recht ausführlich in den Datenblättern des Reader-ICs und des Tags beschrieben: http://www.emmicroelectronic.com/webfiles/Product/... http://www.emmicroelectronic.com/webfiles/Product/... Hier gibt's noch eine Application Note und ein Brechnungstool der Bauteile: http://www.emmicroelectronic.com/Products.asp?IdProduct=86 Wenn man das verstanden hat geht es darum die Daten die man empfängt zu dekodieren. Dazu findet man im Forum vieles unter dem Stichwort "Manchester". Gruß Stefan
Datum: 04.05.2007 12:14
Hallo Stefan, kann man von dir 1-2 Platinen (ohne Bauteile) beziehen ? Gruß Frank
Datum: 04.05.2007 14:37
Hallo Frank, habe bisher nur einen Prototypen als Platine hier. Eventuell werde ich in ein paar Wochen eine 10er Serie davon machen, dann sag' ich bescheid. Gruß Stefan
Datum: 06.05.2007 00:59
Hallo, ich hatte hier schon vor einiger Zeit mal gepostet weil mir nicht einleuchtet wie dieser em4095- Code funktioniert. Ich habe nun die Datenblätter, dank dem Tipp von Stefan durchgearbeitet, und ja ich bin schlauer geworden, aber anscheinend noch nicht ausreichend. Daher nun meine Frage zu der Interruptroutine dort steht etwas #define Manchester_Long & Short & Middle wofür braucht man das, vielleicht ne dumme Frage, aber ich komme einfach nicht auf die Antwort.
Datum: 06.05.2007 03:57
Hallo Student, die drei Konstanten dienen dazu, um bei der Dekodierung des Manchestercodes zwischen langer und kurzer Zeit zu unterscheiden. Zunächst mal macht es Sinn sich das hier zu Gemüte zu führen: http://de.wikipedia.org/wiki/Manchester_Code In der Grafik erkennt man, dass es nur zwei verschiedene Zeiten, x und 2x, zwischen einem Pegelwechsel gibt. In der Software wird bei jedem Pegelwechsel ein Interrupt erzeugt. In dieser Interruptroutine wird der Zählerwert seit dem letzten Pegelwechsel errechnet, welcher dann mit 1.5x (also die Mitte zwischen langer und kurzer Zeit) verglichen wird. Ist die errechnete Zeit kleiner als 1.5x, wird die Interruptroutine verlassen, ohne den Zählerwert abzuspeichern. Auf diese Weise werden die Flankenwechsel an den Bitgrenzen ausgeblendet. Es verbleiben die Pegelwechsel in den Bit-Mitten, mit denen direkt die Datenbits eingelesen können. Der Algorithmus kann erst korrekt dekodieren, wenn mindestens ein 0/1 oder 1/0 Bitwechsel empfangen wurde, also eine lange Bitzeit im Signal vorkommt. Stefan
Datum: 16.05.2007 14:54
Hallo Stefan, ich finde den USB-Leser sehr interessant, da ich mich damit in meiner Diplomarbeit beschäftige. Nun stehe ich aber vor dem Problem wo ich die erforderliche Platine herbekomme. Ich brauche das Lesemodul für Messungen und Auswertungen. Kann man vielleicht mittlerweile schon ein oder 2 beziehen! Vielen Dank
Datum: 17.05.2007 23:59
Hallo, leider gibt es noch keine Platinen. Ich werde hier kurz bescheid geben sobald welche verfügbar sind. Hat sonst noch jemand Interesse ? Gruß Stefan
Datum: 18.05.2007 15:05
Hätte Interesse an einem funktionstüchtigen Gerät. dg at conox dot de grüße
Datum: 18.05.2007 20:16
Stefan wrote: > Hallo, > > leider gibt es noch keine Platinen. Ich werde hier kurz bescheid geben > sobald welche verfügbar sind. Hat sonst noch jemand Interesse ? > > Gruß > Stefan Hallo Stefan, solltest Du Platinen haben, ich würde auch eine oder zwei Brauchen. Ich könnte auch eine Platinen Bestellung Organisieren (Fertigung in China) macht aber erst bei einer Stückzahl > 30 Sinn. Gruß Andreas
Datum: 18.05.2007 23:29
@Denis Würde ich tun, dank dem neuen Elektro-G kann ich aber leider keine Fertiggeräte verkaufen... Ansonsten werde ich aber wie gesagt bei der nächsten Platinenbestellung welche mit rein nehmen, da noch einige andere Sachen anstehen. Stefan
Datum: 23.05.2007 07:25
@Stefan: Hallo! Ich habe mir eine kleine Testplatine gemacht wo der EM4095 mit einem Mega8 am PC angeschlossen ist. Als Antenne habe ich einmal eine PCB-Variante gemacht die aber hier nicht sehr gut funktioniert. Mit einer Antenne aus Kupferdraht habe ich bessere Ergebnisse aber leider komme ich nicht über 2cm bei einer ISO-Karte :( Woran kann das liegen? Natürlich haben wir die Kapazitäten entsprechend der Induktivität der Spule angepasst. Da ja eine Maximierung des Magnetfelds wünschenswert ist, haben wir ca. 700µH und 2,2n im Schwingkreis verwendet. Die Antenne hat einen Durchmesser von 9cm. Wegen der hohen Uss wurde der kapazitive Spannungsteiler auch dementsprechend angepasst. Ansonsten gibt es doch keine weiteren Einstellungsmögilchkeiten, oder? Das Layout ist auch nach Vorgabe erstellt mit extra Filter für AVDD. Am DEMOD-Ausgang liegt im Idle-Betrieb kein Signal an, oder? Datenblatt habe ich schon studiert nur noch keinen Fehler bei mir gefunden... Das Excel-Sheet von EM gibt mit meinen Werten auch korrekte Werte aus. Bin für jeden Tipp dankbar :) PS: Noch eine Frage zu der Manchester-Routine: Es werden ja feste Konstanten verwendet für die Decodierung der Daten. Mit dem Oszi habe ich gesehen das die Zeiten sich verlängern wenn der Transponder eher am Ende der Lesereichweite arbeitet. Ist das bei Dir genauso? Macht es Sinn das zur verbesserung der Lesereichweite zu optimieren? Grüße, Bernhard
Datum: 23.05.2007 10:50
Hallo! Ich würde auch 2Stück nehmen... Hast du die Platine schon in Betrieb?
Datum: 23.05.2007 12:46
Wenn die Platien so funktioniert und der Preis nicht zu hoch ist, würde ich auch 2 Stück nehmen.
Datum: 23.05.2007 14:49
Bernhard: Die Reichweite der PCB Antenne ist natürlich von Natur aus etwas geringer als mit einem 1mH "Monster", aber mit den Schlüsselanhänger-Tags bekomme ich deutlich mehr als 2cm zusammen. Wichtig ist dass keine Metallteile in nächster Nähe sind (Boden- und/oder Frontplatte). Hast du einen Serienwiderstand (Rs in der App Note) verwendet ? Der ist gerade bei den niederohmigen PCB Induktivitäten wichtig. Mit dem Spannungsteiler kann man auch experimentieren, aber immer schön mit dem Oszi kontrollieren. >Ansonsten gibt es doch keine weiteren Einstellungsmögilchkeiten, oder? Schau mal die restlichen Kapazitäten um den EM4095 an. In der App Note sind andere Werte als im Datenblatt angegeben, mit denen ging's wesentlich besser. >Am DEMOD-Ausgang liegt im Idle-Betrieb kein Signal an, oder? Ja, deswegen braucht man noch einen Timer um nachzusehen dass kein Tag mehr vorhanen ist. > Ist das bei Dir genauso? Macht es Sinn das zur verbesserung der Lesereichweite zu optimieren? Das wird wenig Unterschied machen, da die Werte recht unkritisch sind. Joerg: >Hast du die Platine schon in Betrieb? Ja, funktioniert wunderbar... Ich sag bescheid wenn ich welche da habe. Gruß Stefan
Datum: 07.06.2007 22:07
Hallo Stefan! Hab da noch eine Frage und zwar bist du der Meinung, dass die PCB Antenne auch funktionieren würde, wenn ich die Platine selbst in mein Ätzbad lege? ;-) Also ich weiß schon, dass meine bisher gefertigten Platinen brauchbar sind, nur wird dann doch ein Unterschied in der Qualität der Leiterbahnen (bzw. des Kupfers an sich) bestehen. Wie kritisch das sein mag, kann ich schwierig einschätzen... Grüße, Franz
Datum: 08.06.2007 02:01
>dass die PCB Antenne auch funktionieren würde, wenn ich die Platine selbst >in
mein Ätzbad lege? ;-)
Welche Platine? Meine oder ein eigenes Design? Wie auch immer, in beiden
Fällen kann ich leider nicht sagen ob die dann funktionieren würde.
Platinen sind übrigens bestellt, ich frag' dann nochmal rum wer eine
haben will, wenn selbige da sind und ich nochmal einen Test durchgeführt
habe.
Stefan
Datum: 09.06.2007 19:57
Hallo Stefan, kannst Du uns eventuell einen ca. Preis für eine nackte Platine nennen? Gruß, Klaus
Datum: 09.06.2007 22:40
Hallo, neuerdings verwendet "geiz ist geil" RFID-Tags für die Kennzeichnung seiner Waren. Weiß einer welche Art die sind? Gruß Elektrikser
Datum: 09.06.2007 23:08
Oh, ein Forentroll. Hat nix, weiß nix, aber plappert. Mir hätte gereicht zu wissen, auf welche Frequenz die reagieren...
Datum: 10.06.2007 01:52
>kannst Du uns eventuell einen ca. Preis für eine nackte Platine nennen?
Eine Platine wird 10 € + Versand 2,5 € + Umst ~= 14,90 € kosten. Bei
mehreren Versand natürlich nur 1x...
Die Platine ist im Übrigen mit Lötstoplack, Bestückungsdruck (einseitig)
und verzinnt.
Gruß
Stefan
Datum: 10.06.2007 20:56
Hallo Stefan! Hab da noch ein Frage und zwar steht im Datenblatt des EM4095: "It is strongly recommended that design of antenna circuit is done in a way that maximum peak current of 250 mA is never exceeded" Ich nehme an, dein 33 Ohm Widerstand im Serienresonanzkreis dient der Strombegrenzung. Was mich noch interessieren würde. 1.) Nach welchen Überlegungen hast du den errechnet? Ich nehme an, du kennst die Impedanz deiner PCB Spule.Mit dieser und dem Wert des Kondensators kannst du also die Impedanz des resultierenden Serienschwingkreises bei der Frequenz von 125kHz ausrechnen. Daraus ergibnt sich dann der Widerstandswert je nach zugelassener Stromstärke. Ist dieser Gedankengang richtig oder Mist? ;-) 2.)Du hast als CRes zwei Kondensatoren parallel geschaltet, beim zweiten ist kein Wert abgegeben. Ich nehme an, du verwendest diese, um die passende kapazität für die richtige Resonanzfrequenz zu erreichen (bzw. um die Frequenz geringfügig beeinflussen zu können)? Variiert die Impedanz der PCB Spule, oder warum sonst diese parallelschaltung? Danke! Grüße, Franz
Datum: 11.06.2007 01:06
> Ich nehme an, dein 33 Ohm Widerstand im Serienresonanzkreis dient der
Strombegrenzung.
Richtig. Bei solch niederohmigen Antennen ist er nötig, bei anderen
(z.B. gibt's bei Conrad fertige RFID Antennen) kann dieser evtl.
weggelassen werden.
Zu 2.:
Beim Prototypen wusste ich noch nicht genau welche Induktivität die PCB
Spule genau haben wird, also habe ich vorsichtshalber zwei Kondensatoren
vorgesehen, da ich auch nur die E3 Reihe hier habe. Ausserdem war noch
nicht klar wie genau die 125 kHz eingehalten werden müssen.
Die Induktivität der Spule variiert an sich nicht, verändert sich
allerdings leicht durch die Schrauben, und deutlich durch z.B. eine
Aluminium-Platte als Bodenplatte. Diese sollte man aber wie schon
angesprochen durch eine nicht metallische ersetzen.
Gruß
Stefan
Datum: 24.06.2007 13:39
Hi, ich bin nettwerweise auf diesen Thread verwiesen worden. Ich hätte zum Thema Antenne noch eine Frage. Wäre/ist es möglich die Antenne so zu gestalten, das sich eine Richtwirkung ergibt. Ich möchte Tags die im Abstand von ca.5cm nebeneinander angeordnet sind selektiv lesen. ... gerne jedoch aus 10cm Entfernung ... leider ist mein HF-Antennen-Know-How ( ok, für manche sind 125kHz noch Gleichstrom :-) ) extrem eingerostet. Grüße, Stefan
Datum: 25.06.2007 10:25
@Stefan: Ich habe bei manchen Transpondern festgestellt daß die Impulszeiten im Grenzbereich der Lesereichweite leicht variieren d.h. länger werden. Macht es Sinn die ISR so abzuändern daß die Impulszeiten ermittelt bzw. dynamisch angepasst werden? Die Lesereichweite kann man damit sicherlich noch um ein paar cm vergrößern. Grüße Bernhard
Datum: 28.06.2007 20:15
Hallo Stefan, Mir ist bei deinem Programm aufgefallen daß du TCNT0 immer durchlaufen lässt. Bei einem Überlauf wird dann die Zeit falsch berechnet. Oder hab ich hier was übersehen? Gernot
Datum: 03.07.2007 22:26
Auch ich habe noch eine Frage zu deinem Design. Hast du eigentlich mal mit der Massefläache experimentiert bzw. welchen Einfluss diese auf die Funktionalität des Readers hat? Und zwar kann ich mich nicht entscheiden, ob nun so eine Massefläche gut ist (wegen "festerem" Bezugspotential auf der Platine) oder ob diese der integrierten Antenne Energie entzieht und damit die Frequenz verstimmt oder anderswertig die Performance des Readers negativ beeinflusst. Sollte zweite Annahme etwas für sich haben, wie weit müsste dann der Abstand von der integrierten Antenne zu der Massefläche sein, um negative Einflüsse verschwindend gering zu halten? Vielleicht gibt es ja jemanden, der sich bereits mit solchen Dingen beschäftigt hat :-) Grüße, Franz
Datum: 14.07.2007 13:53
@ Stefan Seegel Hast du keine Probleme mit der USB-Übertragung? Ich habe durch mein Gehäuse mit einer selbstgewickelten Antenne (Rechteck 4x6cm) 7cm Reichweite bei den RFID-Karten. Wenn jetzt meine Software am PC läuft, die die Verbindung zum FT232R aufbaut, dann sinkt die Reichweite auf 1 cm ab. Läuft die Software am PC nicht mehr, dann habe ich wieder 7cm. Funktioniert das bei dir noch mit der gleichen Reichweite, wenn Daten über USB gesendet werden? Ich musste leider aufgrund des Gehäuses drei Platinen anfertigen. Eine mit FT232R und µC, eine für USB-Buchse und eine für RFID. Die Zuleitungen von USB und RFID sind ca. 8cm lang und überkreuzen sich häufig und liegen praktisch aufeinander. Keine Schirmung vorhanden.
Datum: 14.07.2007 18:10
Hi, habe noch nicht ausprobiert ob's einen Unterschied gibt wenn man den USB Chip nicht nutzt. Die RS232 Pins auf der Platine waren nur zum debuggen gedacht, habe sie aber bisher nicht gebraucht. @Alle: Inzwischen sind schon einige "Bestellungen" eingegangen, die Platinen sind auch schon länger hier, aber derzeit komme ich leider einfach nicht dazu. Werde mich bald melden wenn's zeitlich klappt. Stefan
Datum: 14.08.2007 20:20
Hallo Stefan, > Eine Platine wird 10 € + Versand 2,5 € + Umst ~= 14,90 € kosten. Bei > mehreren Versand natürlich nur 1x... > > Die Platine ist im Übrigen mit Lötstoplack, Bestückungsdruck (einseitig) > und verzinnt. wie schaut´s aus. Kann man mittlerweile Platinen für Deinen USB-RFID-Leser bei Dir bestellen? Ich hätte nachwievor Interesse!
Datum: 15.08.2007 15:58
Hallo, Heute bin ich endlich dazugekommen eine Platine zu bestücken und zu testen: Alles funktioniert. Wer also eine odere mehrere Platinen haben möchte, der möge mir eine Mail an rfid@seegel-systeme.de schicken. Darin sollte die Anschrift und die benötigte Anzahl an Platinen stehen. Im Anhang sind Bilder der fertig bestückten Platine und die Bestückungspläne. Die Platine wurde zur ersten Version (erster Beitrag hier) ganz leicht abgeändert: - Die beiden Befestigungslöcher sind nun Diagonal angeordnet, so dass die Platine stabiler befestigt werden kann. - Es sind nun 4 Pinheader vorgesehen, an denen GND, +5V, TX und RX der seriellen Schnittstelle direkt abgegriffen werden kann, falls man USB nicht benötigt. Die beiden Kapazitäten (C5/C6) des Serienschwingkreises habe ich in meiner Versin nun mit 15 nF und 4.7 nF bestückt. Die Frequenz liegt damit bei ca. 120 kHz. Gruß Stefan
Datum: 15.08.2007 16:30
Wenns die Platinen nicht umsonst gibt, wär ein Preis nicht schlecht ;-)
Datum: 15.08.2007 16:59
Siehe zwei Beiträge weiter oben: >Eine Platine wird 10 € + Versand 2,5 € + Umst ~= 14,90 € kosten. >Bei mehreren Versand natürlich nur 1x...
Datum: 16.08.2007 01:15
Wozu dient der FET? Wird der vom FT232 erst eingeschaltet wenn 500mA von der USB Schnittstelle frei gegeben wurden? Den könnte man doch evtl. weg lassen, wenn der AVR den EM4095 erstmal ruhig stellt :-) Ich würde das ganze gerne nachbauen, aber ich denke ich würde einen software usb treiber verwenden (die FT232s sind ja recht teuer) :) Wie hoch ist denn die Stromaufnahme im Sendebetrieb? Ein sehr solides Projekt hast du hier vorgestellt. Respekt!
Datum: 16.08.2007 02:21
>Wozu dient der FET? Der schaltet alles (auch den AVR) aus. Hätte man auch mit div. Sleep Modes etc. machen können... >Ich würde das ganze gerne nachbauen, aber ich denke ich würde einen >software usb treiber verwenden (die FT232s sind ja recht teuer) :) Der USB Chip kostet 5.80 € bei Reichelt, dafür werden fast keine externen Bauteile benötigt und man hat wenig Stress, da Treiber, Konfigurationssoftware, PWR Steuerleitung etc. alles schon vorhanden ist. Wenn man nur ein oder wenige Geräte braucht lohnt sich der (wesentliche) Mehraufwand definitiv nicht. >Wie hoch ist denn die Stromaufnahme im Sendebetrieb? Weis ich gerade nicht genau, ich denke so ca. 150 mA Stefan Wer noch Platinen braucht, bitte an die o.g. Adresse schreiben
Datum: 21.08.2007 01:24
So, einige Platinen sind schon weg, einige sind noch da. Wer also noch eine braucht bitte an rfid@seegel-systeme.de schreiben. Da ja Reichelt inzwischen das Speichern von Warenkörben unterstützt, wollte ich das mal mit diesem Projekt testen. Hier ist das Ergebnis: https://secure.reichelt.de/?;ACTION=20;LA=5000;AWK... Dort ist alles dabei, inkl. Gehäuse, USB Kabel, etc., abgesehen vom RFID IC. Gruß Stefan
Datum: 22.08.2007 13:37
Hi, die erste Platine ist schon angekommen, und auch die Geschichte mit dem Warenkorb bei Reichelt funktioniert! Herzlichen Dank nochmals! Jürgen
Datum: 23.08.2007 13:53
Hi, meine Platine ist auch wohlbehalten angekommen - danke. Sehr gute Qualität! Der Warenkorb ist genial und Reichelt ist eh mein Haus- und Hoflieferant... Danke und Gruss, Gerd (Wenn ich das Teil zum Leben erweckt habe, werde ich berichten)
Datum: 24.08.2007 23:53
Stefan wrote: >>Wozu dient der FET? > Der schaltet alles (auch den AVR) aus. Hätte man auch mit div. Sleep > Modes etc. machen können... Wenn ich den FT232 noch nicht eingebaut habe und der FET dadurch mit dem einen Bein "in der Luft hängt", kann es dann sein, dass der FET nach Anschluß des USB-Kabels an den PC recht heiß wird? Oder sollte ich mal lieber das Multimeter rauskramen und nach einem Kurzschluss des +5V Zweiges im Rest der Bestückung suchen? PS: EM4095 und FT232 sind noch nicht bestückt
Datum: 25.08.2007 04:04
Hallo Stefan Seegel Warum wandelst Du dein Projekt nicht in einen RFID-Tag Leser+Schreiber um? Ich meine, die ganze Hardware dafür wäre doch schon auf deinem Board vorhanden (vielleicht mit Ausnahme des RFID-Chips, der müsste natürlich zusätzlich die Write-Funktion unterstützen, und die Tags natürlich auch, da müsste man solche nehmen, die sich beschreiben lassen.
Datum: 26.08.2007 00:37
>Warum wandelst Du dein Projekt nicht in einen RFID-Tag Leser+Schreiber um?
Ich hatte schlicht und ergreifend bisher nicht das Bedürfnis...
Die Hardware sollte für das Schreiben geeignet sein, es müsste nur die
Firmware erweitert werden.
Stefan
Datum: 02.09.2007 21:06
Hallo Stefan, so, habe am Wochenende endlich einmal die Zeit gefunden, Deine Platine aufzubauen. Leider klappt´s noch nicht so wie erwartet, aber ich gehe mal davon aus, daß dies nur noch eine Kleinigkeit ist. Daher hier mal meine geballten Fragen: 1. Welche Fuses sollten beim Programmieren des ATmega8 gesetzt werden? 2. Welche Baudrate kommt über die serielle Schnittstelle Edit: #define BAUD 9600UL :-) 3. Gibt die Karte eine Art "Lebenszeichen" von sich, wenn sie Eingeschaltet wird? 4. Habe den C-Source jetzt noch nicht so studiert: Kann ich auch vom Host (PC) zum Leser irgendwelche Kommandos versenden um beispielsweise die beiden LEDs zu bedienen (mir geht´s hier nur um eine FUnktionskontrolle der Kommunikationsstrecke) 5. Hast Du sonst noch irgendwelche Tips zum Nachbau parat? Dank im voraus Gruß, Klaus
Datum: 02.09.2007 22:07
Hi, >Welche Fuses sollten beim Programmieren des ATmega8 gesetzt werden? Auf jeden Fall externer Quarz, sonst nichts besonderes. >Gibt die Karte eine Art "Lebenszeichen" von sich, wenn sie >Eingeschaltet wird? Nein. Es werden erst Daten gesendet wenn ein Tag erkannt wurde. >Kann ich auch vom Host (PC) zum Leser irgendwelche Kommandos versenden Nein. Die aktuelle Firmware kann nur senden. >Hast Du sonst noch irgendwelche Tips zum Nachbau parat? Ich würde zunächst mal vor der Endlosschleife die LEDs blinken lassen und etwas auf der Schnittstelle ausgeben lassen, so sieht man dass schon mal dieser Teil der Hardware funktioniert. Stefan
Datum: 03.09.2007 06:58
Hallo Stefan, danke für die schnelle Rückantwort. Beim Vergleich meines Aufbaus mit dem Foto in Deinem Dokument http://www.mikrocontroller.net/attachment/25652/images.pdf fiel mir zumindest noch ein optischer Unterschied auf: Was ist mit dem Kondensator C6? Dieser ist im Schaltplan zwar gezeigt, jedoch nicht mit einem Wert hinterlegt. Lediglich der parallel dazu eingebaute C5 ist mit 15nF spezifiziert. Und auch nur diesen habe ich eingebaut. Könnte das der Unterschied sein der ein Erkennen der 125KHz Tags verhindert?. Die von mir verwendeten Transponder sind ansonsten passend für das ELV "Passiv-Transponder-Schaltmodul PTS 100" (http://www.elv-downloads.de/service/manuals/PTS100...) welches ebenfalls mit 125kHz arbeitet.
Datum: 03.09.2007 07:46
Klaus R. wrote: >...fiel mir zumindest noch ein optischer Unterschied auf: > Was ist mit dem Kondensator C6? ... Wer (weiter oben im Thread lesen kann ist klar im Vorteil): "Die beiden Kapazitäten (C5/C6) des Serienschwingkreises habe ich in meiner Versin nun mit 15 nF und 4.7 nF bestückt. Die Frequenz liegt damit bei ca. 120 kHz." Da ich die hier im Forum hinterlegte Teileliste von Reichelt benutzt hatte ist mir der auch dort fehlende 4,7 nF nicht aufgefallen. Das wird´s dann wahrscheinlich sein. Ich werde wieder testen und dann berichten.
Datum: 03.09.2007 11:39
Hallo, habe den Warenkorb bei Reichelt aktualisiert. Hier ist der neue: https://secure.reichelt.de/?;ACTION=20;LA=5000;AWK... Ich habe es leider nicht geschafft zum bestehenden Warenkorb ein Bauteil hinzuzufügen, deswegen habe ich eben einen neuen angelegt. Gruß Stefan
Datum: 03.09.2007 22:47
Er lebt!!!! :-) Mir hat´s ja keine Ruhe gelassen. 4,7n waren zwar nicht zur Hand, aber dafür genügend 1,0n. Sicherheitshalber auch noch die Einstellungen für den Takt überprüft, denn auch die waren gemäß Murphies Gesetzt falsch gesetzt. Doch nun klappts. Die eine Farbe der LED1 ist nach erfolgter Initialisierung des ATmega8 übrigens eingeschaltet. Sobald sich ein TAG im Lesebereich des Readers befindet geht die LED (PORTC |= 1<<PC5;) aus und der Reader sendet die ID des TAG etwa alle 100ms (for (d=0; d<50000; d++);), beginnend mit einem 04Hex (EOT) und endend mit einem 02Hex (STX). Zwei TAGs gleichzeitig mag er nicht. Aber ich denke, daß liegt noch an der rudimentären Firmware des Readers. Die zweite Farbe, als auch die zweite LED bleiben noch grundsätzlich düster, aber ich werd mir jetzt morgen mal den Sourcecode im Detail ansehen. Entweder ich hab da noch einen Lötfehler oder aber die LEDs werden vom Programm noch garnicht angesprochen. Egal, Hauptsache der Reader funktioniert erst einmal prinzipiell. Am Wochenende werde ich mir den Schwingkreis nochmal genauer ansehen, denn die derzeit 2cm Lesereichweite lassen sich sicherlich noch vergrößern; und sei es nur mit einem "ordentlichen" 4,7 nF Kondensator. An dieser Stelle aber erst einmal ein Kompliment an Stefan: Klasse gemacht! Umso löblicher, daß er hier sogar die passenden Platinen nebst Reichelt Bestellliste anbietest. Das macht den Nachbau um so leichter. Danke! Nun heißt es wohl das Teil so richtig mit Leben zu füllen, denn das Schreiben von TAGs ist laut Schaltplan eigentlich auch möglich.
Datum: 03.09.2007 23:05
Super, meinen Glückwunsch! Vielleicht hast du einen Frequenzzähler zur Hand. Wenn ja schließe an den Zähler einfach mal einen Oszi-Tastkopf und bringe selbigen in die nähe der Platine. Der Idealwert ist 125 kHz, bei meinem Aufbau (mit mit 15 nF und 4,7 nF) waren es 120 kHz. Die erforderliche Kapazität kann je nach Aufbau und in der nähe befindlichen Metallteilen variiern. Und nochmal der Hinweis: Wird das Gehäuse von der Bestellliste verwendet sollte die Bodenplatte durch z.B. ein Stück Basismaterial und die Frontplatte z.B. durch einen Aufkleber ersetzt werden. Stefan
Datum: 04.09.2007 16:59
Ruebi schrieb: > Zwei TAGs gleichzeitig mag er nicht. > Aber ich denke, daß liegt > noch an der rudimentären Firmware des Readers. Welchen Tag verwendest du? Z.B.der EM4102 kann keine Kollissionserkennung sondern sendet einfach drauflos sobald er Strom bekommt.
Datum: 04.09.2007 20:22
Gernot wrote: > Ruebi schrieb: >> Zwei TAGs gleichzeitig mag er nicht. > Z.B.der EM4102 kann keine Kollissionserkennung sondern sendet einfach > drauflos sobald er Strom bekommt. Yep! 4102! Das wird´s sein! Danke für den Hinweis, war mir garnicht so bewußt.
Datum: 10.09.2007 19:49
Hallo! Die Routine em4095_read_tag blockiert leider die Main-Loop für die Zeit wo diese auf einen Transponder wartet. Wie müsste man den Code abändern damit der komplette Einlesevorgang im Hintergrund passiert und man währenddessen z.B. auf einem Display Daten ausgeben oder Tasten eines Keyboard einlesen kann? Danke für Eure Hilfe! Grüße, stgermain
Datum: 10.09.2007 20:18
Schau Dir eventuell mal den Source bei www.vanka.net/rfid_devices.htm (dort gibt es ein komplettes Source-Paket zum Runterladen): http://www.vanka.net/ds/firmware_one_for_erfid1.zip. Dann wäre da noch bei AVRfreaks der "EM4095 RFID Reader using Atmega8" von leeky aus Korea. Der ist jedoch in Bezug auf die mainloop vergleichbar mit dem von Stefan. Der einfachste Weg wird wohl sein, die Daten in einer Timer-ISR "pö a pö" zusammenzubauen und sobald komplett ein Flag zu setzen, welches in der mainloop abgefragt wird und dann für eine Ausgabe der Daten sorgt bevor es zurückgesetzt wird und dadurch der Timer ISR signalisiert, daß ein weiteres TAG gelesen werden kann.
Datum: 10.09.2007 21:18
Der einfachste Weg wird sein, sich die Funktion uint8_t em4095_read_tag(uint8_t *d) kurz etwas näher anzusehen. Dann sollte es nicht mehr schwer sein, die ersten paar Zeilen in der Funktion so zu ändern, dass selbige gleich zurückkehrt. Stefan
Datum: 19.09.2007 11:59
Hallo Stefan, Hast Du die Möglichkeit die Spule zu messen. Ich hab mal Deine Kondensator-Werte in das Excelsheet von EM eingetippt, und bin auf einen Spulen-Wert von 90 yH gekommen. Interessant wäre der echt gemessene Wert. Gruss Gerhard
Datum: 19.09.2007 14:28
Hallo, direkt gemessen habe ich die Spule nicht, weil ich kein geeignetes Messgerät dafür habe. Ich hatte aber mal einen Kondensator bekannter Größe angeschlossen, mit einem Funktionsgenerator & Oszi die Resonanzfrequenz bestimmt und dann L errechnet. Den genauen Wert weis ich leider nicht mehr, war aber um die Größenordnung von 100 µH. Gruß Stefan
Datum: 20.09.2007 15:01
Hallo Stefan würde auch die externe Antenne von Conrad Artikel-Nr.: 130183* für Deinen Reader funktionieren? Wenn ja, was müsste an Deiner Schaltung geändert werden (ausser den Kondensatoren C5/6 natürlich)? Die Groundplane Antenne ist zwar kostengünstig, wenn man aber die Leseeinheit zum Beispiel in der Wohnung und die Antenne außerhalb haben möchte, dann klappt das wegen der Reichweite nicht. Viele Grüße Peter
Datum: 20.09.2007 18:16
Man müsste einfach die Leiterbahnen die jeweils von C5 und R1 zur PCB Antenne gehen durchtrennen und an C5 und R1 die externe Antenne anschließen. Dann noch natürlich die Serienkapazität angleichen. Diese liegt übrigens bei ca. 1,0 nF - 1,5 nF ... Stefan
Datum: 20.09.2007 18:47
Hallo Stefan vielen Dank für Deine Antwort. Hast Du noch Platinen zu verkaufen? Viele Grüße Peter
Datum: 21.09.2007 11:47
Hallo Stefan ich hätte dann gerne drei Platinen. Müßte dann so ca. 39 Euro sein. Kannst Du mir bitte per eMail an pjascii at web de mitteilen, wohin ich das Geld überweisen kann? Viele Grüße Peter
Datum: 21.09.2007 21:08
Hallo Stefan habe da gerade eine Idee. Wenn man die PCB Antenne aussägen würde, könnte man diese nicht separat in ein Gehäuse ausserhalb der Wohnung plazieren? ich könnte mir dann die Conrad Antenne sparen und bräuchte wahrscheinlich an den Kapazitäten auch nichts ändern. Liege ich da richtig, trotz der Kabellänge von der PCB Antenne zum Board? Viele Grüße Peter
Datum: 21.09.2007 22:15
>ich könnte mir dann die Conrad Antenne sparen
...und hast dann die Arbeit die Platine feinsäuberlich zu zersägen (da
geht's eng zu!), die PCB Antenne in ein Gehäuse etc. zu montieren,
eventuell die Kondensatoren anzupassen, und hast eine geringere
Reichweite als mit Conradantenne...
Kurz: Das macht keinen Sinn.
Und wenn du die Antenne ausserhalb der Wohnung haben willst gehe ich mal
davon aus dass du daraus einen Türöffner bauen willst. Wenn das so ist
sag' bescheid, ich habe da noch andere Platinen rumfliegen:
Auf der einen ist ein EM4095 und ein Mega8. Die Platine (ca. 45 mm x 35
mm) wird mit 5 V versorgt, eine Antenne wird extern angeschlossen. Dann
gibt's noch RS232 Ein-/Ausgang (TTL Pegel), und einen OC Ausgang. Da
könnte man dann z.B. ein Relais etc. anschließen.
Die andere Platine ist rund, Durchmesser 52 mm, so dass sie bequem in
eine Unterputzdose passt. Auf dieser Platine ist noch ein
Brückengleichrichter, Spannungsregler und ein RS485 Anschluss. Daran
kann man also direkt eine Antenne, 8 V~ Klingeltrafo und z.B. einen
Türöffner anschließen.
Datum: 22.09.2007 12:20
Hallo Stefan Du hast Recht. Ich möchte daraus eine Zugangserkennung bauen. Ich habe bereits eine über besagtes Conrad Modul im Einsatz. Das zweite ist nach kurzer Zeit (2 Monate) kaputt gegangen. Wie es aussieht hat das Netzteil des Moduls die 12 V ~ nicht ausgehalten. Ich habe dann für das zweite ein eignes Netzteil über 7812 gebaut. Das läuft jetzt bereits ein Jahr. Leider sind die Teile von Conrad recht teuer und die RFID Tags kann man nur von Conrad verwenden. Ich habe dann auch noch das Teil von ELV. Da ist aber die Leseeinheit sehr klobig und enthält neben der Antenne auch noch Elektronik. Da ich sowieso noch die Stahlzarge ändern muss (elekt. Türöffner), sollte das Teil schon ein wenig preiswerter sein. Meine Privatmail hast du ja. Wenn Du mir deine Telefonnummer schickst, kann ich Dir die Sache im einzelnen erklären. Viele Grüße Peter
