Forum: Mikrocontroller und Digitale Elektronik AVR: Differenzielle Messung mit ADC; AREF-Frage


von Stefan H. (shaun)


Lesenswert?

Hallo z'samme,

mein ATmega ärgert mich gerade. Ich habe hier eine Ladeschaltung für 
NiMH-Akkus (sehr lose an die AVR-Appnote angelehnt - hat jetzt einen 
"richtigen" Regler) von einem ATtiny auf den ATmega übernommen.
Der erste Stolperstein in Form des echt differenziellen ADCs - negative 
Differenzen werden als Zweierkomplement ausgegeben - ist umgangen, ein 
Workaround in der ADC-Routine macht aus den Werten der Differenzeingänge 
bei >0x1FF eine Null und verdoppelt ansonsten den Messwert, um das 
Programm vom Tiny erstmal weiter verwenden zu können.

So weit so gut, die Spannungsmessungen mittels der Single-Ended-Eingänge 
0 und 2 funktioniert auch, aber wenn ich den Strom über MUX=9, d.h. 
(ADC1-ADC0)x10 messe, bekomme ich ca. 30% zu niedrige Werte, und das 
anscheinend auch nicht mal linear.

Nun ist mir aufgefallen, dass im DB steht, bei differenziellen Messungen 
dürfe die AREF max. AVCC-0,2V sein. Weiss jemand, ob das mit internen 
Schaltungen des ATmega zu tun hat, oder soll das lediglich bedeuten, 
dass der Differenzverstärker nur bis 0,2V an die AVCC herankommt und die 
AREF deshalb diesen Wert nicht überschreiten darf, wenn der volle 
Wertebereich bis 0x1FF ausgeschöpft werden soll?

Wenn jemand hier Erfahrungen hat und mir bestätigen kann, dass eine AREF 
gleich AVCC bei differenzieller Messung grundsätzlich zu Fehlern im 
gesamtem Messbereich führen kann, fädel' ich morgen ein Referenz-IC auf 
die Platine ;)

von Stefan H. (shaun)


Lesenswert?

Wie immer muss man ein Problem erstmal beschreiben, um es zu erkennen.
Die Uhrzeit fordert ihren Tribut - durch das blinde Übernehmen des Codes 
vom mit internem RC-Takt laufenden Tiny auf den mit 16MHz Quarz 
betriebenen ATmega wurde der ADC mit 8MHz gefüttert - fand er nicht so 
toll. Er liegt immer noch 4% über dem Soll, aber da sehe ich mal 
großzügig drüber hinweg - immerhin sind 4 SMD-Widerstände (1%) und ein 
1W-Metallfilmwiderstand (auch 1%) "im Weg".

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.