www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik ADC geht nicht


Autor: Berni (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,
der ADC des ATmega8 will nicht funktionieren. Der Code ist doch denkbar
einfach. Man findet ihn auch öfters im Netz. Ich bekomme als
Wandlungsergebnis immer nur 3ff. Wenn ich am ADC0 pin messe hab' ich
immer 5V. Egal welche externe Spannung, die ich messen will,anliegt.
Sogar wenn ich den Pin auf GND lege habe ich immer 5V. Eigentlich
unmöglich, oder???
Hat jemand eine Idee was ich falsch mache???

Merci Berni

Autor: Tobias A. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

also das mit dem auf GND legen wenn 5 V anliegen würde
ich lassen. Könnte tötlich sein.
Ist das A Register als Eingang definiert?
Ist die AD Funktion aktiviert?

Gruß
 Tobi

Autor: formtapez (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sind AVcc und AGND angeschlossen ?

MfG
formtapez

Autor: Berni (Gast)
Datum:
Angehängte Dateien:
  • ADC.txt (850 Bytes, 88 Downloads)

Bewertung
0 lesenswert
nicht lesenswert
Ich habe den ACD0 port als Eingang definiert mit Pullups, hab' aber
auch die Pullups mal weggelassen ohne Erfolg.


AREF = 5V
AVCC = 5V
AGND = 0V

Im Anhang findet Ihr meine Codeausschnitte mit den relevanten Teilen.
Vielleicht bin ich ja schon Betriebsblind.
Übrigens ich takte mit einem 4MHz Quarz.

Autor: Berni (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ohh, ich hab' was gefunden. Das Interruptflag muss wieder gelöscht
werden. Ich Trottel. Jetzt tut sich mal was.
Danke für Eure Hilfe. Die fünf Volt kommen wohl durch die Pullups. Ich
lass die jetzt weg. Dann funktioniert es....

Autor: bluemole (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Jetzt habe ich aber immer noch ein Problem.
Die Wandlung funktioniert immer nur einmal. Starte ich per Taster eine
neue Wandlung ADSC wieder auf eins setzen. Dann kommt immer nur das
alte Ergebnis raus.
Nach einem Aus/Einschalten kann ich wieder eine Wandlung machen...???

Autor: bluemole (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi Berni,

denk dran: falls right adjusted, erst das ADCL und dann das ADCH lesen.
Ansonsten werden die Register bei der nächsten Wandlung nicht
upgedatet.

MfG bluemole

Autor: Andi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi!

Wo man hier gerade beim Thema ist, möchte eine ADC-Wandlung für einen
Fotowiderstand (LDR) machen.
Habe mir gedacht das ich einen Pullup (10KOhm) von VCC an z. B. ADC2
dranhänge und vom ADC2 den LDR an Masse.
Wie muß dann AVCC gespeißt werden?
So wie VCC mit 5V oder auch mit nen Widerstand?
Braucht man unbedingt den Pin AREF für eine ADC?
Möchte das ganze auch im "Free Running Mode" machen und per ADC-IRQ
wird einfach ein Register damit gefütter.
Hat jemand ein ASM-Prog dafür?

Gruß
Andi

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.