Forum: Mikrocontroller und Digitale Elektronik Schwierigkeiten mit ADC neim AT90s2333


von Tommy (Gast)


Lesenswert?

Hallo!

Bin erst seit neustem in diesem "Geschäft" und probiere mal allerhand 
aus.
Jetzt wollte ich mal etwas mit dem ADC von dem dem AT90S2333 machen, 
aber so ganz hundertprozentig scheint es ja nicht laufen. Vielleicht 
liegt es aber auch nur an der Hardware. Habe als Analog-Eingang PC0 
genommen und AREF auf VCC gelegt (5V); AGND auf GND.

Nun steht in dem Datenblatt dass AVCC über ein Tiefpass mit VCC 
verbunden werden muss. Ist es notwendig?

Ich benutze den Code für ADC aus der Codesammlung, und es tut sich was. 
Aber ich denke wenn ich mit meinem PC0 auf VCC gehe, dann müsste bei 10 
bit auch ca. der max Wert (1024) angezeigt werden und bei Eingang auf 
Masse der min Wert (0) . Das ist leider bei mir nicht der Fall und bei 
Masse wird noch 112 angezeigt.
Ich denke, dass die Ausgabe und Umrechnung auf's Display bei mir i.o. 
ist.

Vielleicht kann mir einer helfen, was ich bei dem ADC noch nicht 
beachtet habe.

Grüsse

Tommy

von Jonas (Gast)


Lesenswert?

also du kannst auch einfach aref=avcc=vcc schalten. das mit dem lowpass 
ist nur zur genauigkeitsverbesserung (glaub ich).

von Günter König (Gast)


Lesenswert?

Hi Jonas, Hi Tommy,
das die Anzeige eben nicht 0 oder 1024 ist, ist eben das Problem des 
fehlenden Tiefpasses.
Es sollte 1. immer ein Tiefpass bestehend aus R = 10 Ohm und C = 22µF in 
die AVCC Leitung und auch ein Tiefpass in die PC0 Leitung.
Hie reicht aber als Widerstand ein Wert von 1KOhm.

So denn,
Günter

von Tommy (Gast)


Lesenswert?

Dann vielen Dank mit VCC an AVCC klappt es auch gut, vorerst.
Mit der weiteren Beschaltung werde ich es aber auch bald mal probieren.

von Tommy (Gast)


Lesenswert?

Habe aber eine nächste Schwierigkeit.

Jetzt liegen die Werte zwischen 0 und 1023 bei 10 bit, aber ich möchte 
sie gerne z.B. in Werte zwischen 0 und 5V umrechnen.

Wie mache ich das am besten.
Versuche es derzeit den Messwert mit einem Faktor zu multiplizieren z.B. 
bei 8bit
5/255=196 (ohne beachtung der Nullstellen) jedoch entstehen so grosse 
Rundungsfehler.

Wenn ich mit einem genauern Faktor Rechnen möchte,dann muss ich wieder 
16bit miteinander multiplizieren usw.

Gibt es einen anderen genaueren  oder besseren Weg auf den ich gerade 
nicht draufkomme?

Vielen Dank im Voraus

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.