www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik RFID-Leser Conrad


Autor: Richi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo

ich will den RFID-Leser von Conrad (BstNr: 191553) zum Auslesen von 
RFID_Transpondercards benutzen. Dieser Leser gibt mir die 40Bit-Kennung 
mit TTL-Pegel 9600bps/8N1 aus.

Ich hab jetzt den an meinen Atmega32 (an den RX_Pin) über ein Steckbrett 
angeschlossen.

Nun hab ich folgendes Problem:

Wenn ich einen Transponder ins Lesefeld bringe, stürzt mir immer mein 
Prozessor ab und resetet. Selbst wenn ich den UART gar nicht 
eingeschalten habe und den Pin als normalen Eingang definiere.

Ich kann einfach keinen Grund finden.


Viele Grüße
Richi

Autor: AVRuser (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ohne die Software kann man nur raten ...
Am besten auch Schaltplan posten.

Autor: Richi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die Software ist eigentlich ganz simpel.

Es wird einfach ne LED eingeschaltet, in ner for-Schleife 1000000 Takte 
gewartet, dann wieder ausschalten und in while-Schleife verharren.

Die LED ist dafür zuständig, damit man erkennt wann resetet wurde.

Hardware ist auch ganz einfach, doch meiner Meinung nach muss dort der 
Fehler liegen, denn wenn ich die LEDs / den Leser über das STK500 laufen 
lasse, funktionierts.

Auf dem Steckbrett sind jedenfalls ausser ein paar LEDs ein Display und 
eine SD-Karte angebracht. Die Datenleitung des Lesers geht direkt auf 
den UART-Eingang des Atmegas.

Ich kann mir aber trotzdem nicht erklären, warum der Atmega resetet!


Richi

Autor: glaskugel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Schaltplan, Fotos von Platine, Software...

Autor: AVRuser (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Alle Versorgungs-Pins korrekt angeschlossen?

Sind die nötigen Abblock-Kondensatoren an der Versorgungsspannung 
vorhanden?
Wie wird der Mega32 getaktet? Wie hoch ist die Versorgungsspannung?

Funktioniert der "Testaufbau" mit den genannten Teilen (ausser 
RFID-Leser) denn ohne Probleme?

Evtl. mal einen Puffer-Elko an der Versorgungsspannungs-Leitung des 
Lesers legen (z.B. 10uF). Hat das einen Einfluss?

Ansonsten wie schon gesagt:

> Schaltplan, Fotos von Platine, Software...

Autor: Richi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Soviel zur Software:

Wie gesagt ich habe sie so einfach wie möglich gehalten um andere Fehler 
ausschließen zu können.
#include <avr/io.h>

#define nop()  __asm__ __volatile__ ("nop" ::)

int main(void)
{
  DDRD |= (1<<7);
  PORTD |= (1<<7);

  for(unsigned long i=0; i<1000000; i++)
  {
    nop();
  }

  PORTD &= ~(1<<7);

  while(1);

  return 0;
}

Ein Bild von meinem Steckbrett werde ich morgen hochladen.

Autor: Richi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Der Rest der Schaltung funktioniert ohne Probleme.

Abblockkondensatoren (100N) sind reichlich vorhanden, ohne die ging 
meine SD-Karte nämlich nicht.
Vcc = 5V (über STK500)
Quarz: 16MHz

Die Vorgeschlagenen Kondensatoren habe ich auch mal probiert, allerdings 
waren die 220uF. Ging aber auch nicht.

Autor: AVRuser (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Eigenartiges Verhalten der Schaltung...

Noch 2 Dinge fallen mir im Moment noch zum Testen ein:

Wenn der Daten-Pin des RFID-Lesers nicht am Controller angeschlossen 
ist, sondern nur die Spannung: passiert dann beim Lesen auch irgendwas? 
Oder nur bei angeschlossener Datenleitung?

Lege mal einen Widerstand swischen Datenleitung des Lesers und den Pin 
des Controllers (z.B. 1k Ohm). Ändert das was am Verhalten?

Etwas OT: welche Versorgungsspannung hat die SD-Karte (Grösse)?

Autor: Richi (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Die SD-Card läuft mit 3,3V (Spannungsregler)

Der Atmega resetet nur wenn angeschlossen und Transponder im Lesebereich 
(nicht ständig in Folge sondern immer mit unbestimmten Pausen 
dazwischen).

Die 1kOhm ändern nichts


Das Bild von meinem Steckbrett habe ich angefügt, wahrscheinlich liegt 
hier auch der Fehler denn im STK gehts ja.


Richi

Autor: AVRuser (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

auf den ersten Blick fällt mir auf, dass AVCC nicht angeschlossen ist. 
Das muss geändert werden. Wenn der ADC nicht verwendet wird, kann AVCC 
auch direkt an VCC gelegt werden.
Dann noch einen Kerko zwischen AVCC und GND.
Den Reset-Pin mal zum Test mit 10k nach VCC schalten.
Leg auch mal den Leser so weit vom Brett weg wie möglich.
Ändert sich durch diese Massnahmen etwas am Fehl-Verhalten?

Autor: lalala (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich vermute mal, dass die stromversorgung kurz einbricht wenn der 
RFID-leser den tag powern will.
Am besten mal mit nem Oszi kontrollieren

Autor: Richi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich denke dass ich AVCC nicht anschließen brauche, da ich den AD-Wandler 
nicht benutzen will.

Die Spannung hab ich mir schon mal mit dem Oszi angeschaut, war nix 
auffälliges.

Hab jetzt mal den Atmega32 durch einen Atmega8 getauscht und da gehts 
dann.
Wundere mich nur warum es beim Atmega32 geht. Diesen hab ich auch schon 
mit einem seiner Art getauscht und da gings auch nicht.

Nehm jetzt warscheinlich auch einen Atmega644P, da dieser 2 UARTS hat.
Mit dem gehts ebenfalls.


Richi

Autor: AVRuser (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Ich denke dass ich AVCC nicht anschließen brauche, da ich den AD-Wandler
> nicht benutzen will.

Das Datenblatt ist da etwas anderer Meinung; siehe "AVCC" unter "Pin 
Description".
Denn AVCC ist auch die Versorgung für den (digitalen) Port A ...

Autor: Richi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Achso, dann danke für den hinweis, dann werde ich ihn anschließen.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.