Problem mit AVR-AD-Wandler

OP #2424046
Lesenswert?
• ▲
▼
Hi Leute,

ich habe in einer Schaltung ein Problem mit dem AVR-AD-Wandler 
(ATmega32) und hoffe auf eure Anregungen.
Ich habe an PA0 bis PA5 Potis als Spannungsteiler angeschlossen, um die 
Stellungen der Potis abzufragen. In einem Testprogramm hat das alles 
auch super geklappt: Der AVR hat den vollen Wertebereich des Wandlers 
ausgegeben.
In der Debug-Phase meiner finalen Firmware bin ich jetzt auf ein 
seltsames Phänomen gestoßen: Wenn das Poti an PA1 heruntergedreht ist, 
dann bekomme ich an PA0 nur einen Teil des Wertebereichs, ca. 2/3. Wenn 
ich nun das Poti an PA1 'raufdrehe, dann steigt die Spannung an PA0 mit 
an, bis sie irgendwann auf den vollen Wert angestiegen ist. Gleiches 
Problem mit den folgenden Potis.

Mein erster Gedanke dazu war, dass zwischen dem Umschalten des 
Eingangspins für den AD-Wandler und dem Starten der Konvertierung zu 
wenig Zeit liegt. Nach dem Studium der entsprechenden Stellen im 
Datasheet bin ich aber der Meinung, dass das keinen Einfluss haben 
sollte. Auch auf Reste in den Registern habe ich meinen Code 
kontrolliert, das sollte es auch nicht sein.
Ich würde mich freuen, wenn jemand von euch einen Tipp hätte, was ich 
noch falsch gemacht haben könnte.

Vielen Dank im Voraus,
Paul
#2424080
Lesenswert?
• ▲
▼
> dass zwischen dem Umschalten des
> Eingangspins für den AD-Wandler und dem Starten der Konvertierung zu
> wenig Zeit liegt. Nach dem Studium der entsprechenden Stellen im
> Datasheet bin ich aber der Meinung, dass das keinen Einfluss haben
> sollte.

Wie gross sind die Potis?

Bedenke: Wenn du den Multiplexer umprogrammierst, muss sich die interne 
Sampe&Hold Stufe erst mal auf die neue Spannung einstellen. Das dauert 
aber seine Zeit und hängt auch davon ab, wieviel Strom deine 
Eingangsschaltung an die Sample&Hold Stufe liefern kann.
OP #2424168
Lesenswert?
• ▲
▼
Karl Heinz Buchegger schrieb:
>> dass zwischen dem Umschalten des
>> Eingangspins für den AD-Wandler und dem Starten der Konvertierung zu
>> wenig Zeit liegt. Nach dem Studium der entsprechenden Stellen im
>> Datasheet bin ich aber der Meinung, dass das keinen Einfluss haben
>> sollte.
>
> Wie gross sind die Potis?
Die Potis haben, wenn ich mich nicht irre, 10k (lin).

> Bedenke: Wenn du den Multiplexer umprogrammierst, muss sich die interne
> Sampe&Hold Stufe erst mal auf die neue Spannung einstellen. Das dauert
> aber seine Zeit und hängt auch davon ab, wieviel Strom deine
> Eingangsschaltung an die Sample&Hold Stufe liefern kann.
Okay, das würde ungefähr in die Richtung meines ersten Gedankens gehen. 
Würde es denn dann etwas bringen, wenn ich ad-wandler quasi direkt nach 
dem lesen auf den neuen Pin einstellen würde? Durch die Befehle, die 
danach ausgeführt werden, würde der Multiplexer dann ja seine 
wohlverdiente "Pause" bekommen (es sind ein paar zehn Befehle bei 8 MHz 
- reicht das aus?).

Vielen Dank für die Anregung, das werde ich gleich mal ausprobieren :)

Beste Grüße,
Paul

Antwort schreiben

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.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.