Forum: Mikrocontroller und Digitale Elektronik ADC geht nicht


von Berni (Gast)


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

von Tobias A. (Gast)


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

von formtapez (Gast)


Lesenswert?

Sind AVcc und AGND angeschlossen ?

MfG
formtapez

von Berni (Gast)


Angehängte Dateien:

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.

von Berni (Gast)


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....

von bluemole (Gast)


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...???

von bluemole (Gast)


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

von Andi (Gast)


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

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.