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
Update: Ich habe - nur mal so zur Sicherheit - die Spannung an PA0 noch mal mit meinem Multi gemessen und sie ist unabhängig von der Stellung des Poti an PA1.
Wie ist AREF und AVCC beschaltet? Welche Referenz wählst du per Software? Schaltest du die Referenz regelmäßig um?
> 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.
Hi >Ich würde mich freuen, wenn jemand von euch einen Tipp hätte, was ich >noch falsch gemacht haben könnte. - ADC zu schnell - Potis zu hochohmig - ... MfG Spess
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
Vielen Dank für Eure Hilfe. Ich traue es mich ja fast nicht zuzugeben, aber ich hatte vergessen den prescaler einzustellen. Jetzt sieht es so aus, als ob es funktioniert :) Danke und beste Grüße, Paul
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.