AVR: Differenzielle Messung mit ADC; AREF-Frage

OP #711011
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 ;)
OP #711025
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".

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren