Hallo, Ich arbeite gerade an einem Projekt, bei dem ich 3 Potis an den AD-Wandler angeschlossen habe (VCC, Schleifer auf den AD-Port, GND). Wenn die drei Potis weit von einander entfernte Werte annehmen kommt es zu Störungen. Ich bin mir noch nicht 100%ig sicher ob es an dem AD-Wandler liegt, es deutet aber im mom alles darauf hin. Die Frage ist was muss ich beachten wenn ich unterschiedliche Kanäle AD-wandle? Dummy-Readouts? Mehr zeit zwischen den Wandlungen (_delay)? Oder irgendwelche Kondensatoren zwischenschalten?
Was für ein Controller? Was für Potis (Widerstandswert)? Normalerweise sollte keine nennenswerte Wartezeit zwischen zwei Wandlungen auf unterschiedlichen Kanälen erforderlich sein, wenn die zu messenden Spannungen nicht zu hochohmig sind. Das hängt aber hauptsächlich von der Beschaffenheit des S&H-Gliedes ab. Bei den AVRs wird afaik empfohlen, als Quellimpedanz im Bereich < einige 10 kOhm zu bleiben. In dem Falle liegen die Zeitkonstanten für das S&H im ns-Bereich und dürften keinen Einfluss auf die Messung haben.
Hast du mal ausprobiert, ein Poti an alle drei ADC-Eingänge zu hängen?
der A/D-Wandlers hat die Eigenart das nach dem Umschalten auf einen anderen Kanal der erste Wert bzw. die ersten unbrauchbar sind und nicht ausgewertet werden sollen. Deswegen wäre ein externer analoger Multiplexer besser z.B. 16:1 744067 diesen nutze ich um das Problem zu umgehen, 7 Pins einzusparen und dann auch noch gleich 16 Sensoren statt 8 anschließen zu können. Welchen Widerstand haben die Potis? Man könnte nen Kondensator vom Schleifer zur Masse schalten um es etwas zu glätten. Hier kommt es auf den Widerstand des Potis an wie groß der Kondensator sein muss, man kann aber auch gleich ein RC Glied einsetzen.
>der A/D-Wandlers hat die Eigenart das nach dem Umschalten auf einen >anderen Kanal der erste Wert bzw. die ersten unbrauchbar sind und nicht >ausgewertet werden sollen. Wo steht das denn? Die allererste Messung sollte man verwerfen - das steht zumindest in den AVR-Datenblättern, die ich mir bis jetzt angetan habe. Nicht umsonst bietet der ADC die Möglichkeit, während der Messung schon den nächsten Kanal zu wählen. Der wird sofort nach erfolgter Wandlung umgeschaltet und das die nächste Messung durchgeführt ("continuous Mode" oder so ähnlich nennt sich diese Betriebsart).
Hallo, richtig, man muß nur auf das Timing achten, umgeschaltet werden kann 2 ADC-Takte nach dem Start der Wandlung, dann hat S&H den alten Wert gespeichert. Nur nach Ändern der Referenz ist die erste Messung zu verwerfen. Gruß aus Berlin Michael
Es ist ein ATMega32 mit 10kOhm Potis. Das Problem taucht wie gesagt nur auf wenn die eingestellten Widerstandswerte weit auseinander liegen, bzw wenn eines (oder mehr) der Potis auf Masse liegen.
Schaltplan! Vielleicht ist auch deine AD-Wandlung (Timing) faösch eingestellt.
Ich hatte das selbe Phänomen beruflich bei einem AT90PWM2 beobachtet. Leider konnte ich damals keine Zeit investieren das ganze näher zu untersuchen. Nur so viel weis ich noch: Es ging auch am STK500 (+Aufsatz) mit festen Sannungsteilern als ADC Quellen. Und es war kein "Free running mode" sondern ein nach dem Wandeln mit anderem Kanal gestartetem Messen.
> Und es war kein "Free running mode" sondern ein nach dem Wandeln > mit anderem Kanal gestartetem Messen. Auch dabei lässt sich der Fehler machen, den Kanal umschalten und sofort danach (ohne die acquisistion time abzuwarten) die Wandlung starten. Die besten Ergebnisse erzielt man, wenn nach Ende einer Messung - unmittelbar vor oder nach Auslesen der Ergebnisregister - der Mux auf den nächsten Kanal umgeschaltet wird.
Wie lang ist denn die acquisistion time? ich setze nämlich das mux-register und starte danach dierekt die wandlung (single conversion)
Wenn der Mux die Kanäle umschaltet, müssen sich erstmal die internen Kapazitäten umladen... daher Deine Beeinflussung, wenn die Werte weit auseinander liegen.
@Rahul Der trollige: So habe ichs noch in Erinnerung, glaube es steht dort das es nach dem ändern des ADMUX Registers ist und dort ist ja auch die Einstellung für die Referenzspannung. So genau habe ichs mir dann eh nicht angeschaut nachdem ich von diesem Nachteil im Forum gelesen habe, habe ich mir gleich nen günstigen 16:1 Analog-Multiplexer(74HC/T4067) verwendet, so das am AVR intern überhaupt kein muxen mehr nötig ist.
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.