Forum: Mikrocontroller und Digitale Elektronik Hochohmiger Spannungsteiler an ADC (AVR)


von Jabu (Gast)


Lesenswert?

Moinmoin,

In meinem aktuellen Projekt bin ich auf ein Problem mit einer ADC 
Messung gestoßen. Aus Gründen der umgesetzten Leistung verwende ich 
einen recht hochohmigen Spannungsteiler (220kOhm - 75kOhm) um die 
Spannung an einem 6,5-9V Akku mithilfe der internen Referenzspannung zu 
messen (Nutzen der internen 2,56V Referenz für diese Anwendung 
notwendig, statische Abweichungen von 2,56V kann ich verkraften). Am 
AREF Pin hängt ein C zu GND mit 10nF. Bei kontinuierlichen Messungen 
(ca. 5 mal/sec) entstehen jedoch Abweichungen des Messwertes um bis zu 
ca. 8 Bit (von 1024). Messungen mit einem handelsüblichen Multimeter 
zeigen sehr saubere Spannungen an AREF und dem ADC Port. Wie kann ich 
diese Schwankungen kompensieren bzw. wie entstehen diese überhaupt? 
Spielt die Hochohmigkeit des Spannungsteilers hier eine Rolle? Oder das 
Setzen der ADSP (ADC Prescaler) bits (die mich grundsätzlich etwas 
irritieren)?

Viele Dank für Vorschläge im Voraus!
Jabu

von Eumel (Gast)


Lesenswert?

Hallo, die Ursache ist der endliche Einganswiderstand des ADC. Zum 
genauen Wert: siehe Datenblatt.
Einfachste Lösung: kleine Widerstandswerte beim Spannungsteiler nehemen. 
Wenn dir dann zu viel Strom fließt den Spannungsteiler z.b. mit einem 
Fet abschaltbar machen.

von Mike (Gast)


Lesenswert?

Ein Kondensator über dem unteren Widerstand des Spannungsteilers würde 
das Signal zumindest für dynamische Belastung beim Samplen niederohmiger 
machen.

von Jabu (Gast)


Lesenswert?

Hallo Eumel!

Der Eingangswiderstand des ADC ist mit 100MOhm angegeben. Wenn das 
tatsächlich die Ursache für diese doch recht großen Abweichungen ist, 
würde sich ein FET in Verbindung mit geringeren Widerständen tatsächlich 
anbieten, danke für diesen Vorschlag. Gibt es so eine Art Richtwert bis 
zu maximal welchen Widerständen der ADC betrieben werden sollte?

von Helmut H. (helmuth)


Lesenswert?

Z.B. ATmega328: Analog Input Circuitry:
The ADC is optimized for analog signals with an output impedance of 
approximately 10 kΩ or less.

von Jabu (Gast)


Lesenswert?

Hallo Helmut, ich habe nach dieser Angabe bisher vergeblich gesucht. 
Dann werde ich den Spannungsteiler niederohmiger dimensionieren.

Danke nochmal!

von Stefan F. (Gast)


Lesenswert?

Oder schalte einen CMOS OP-Amp davor, zum Beispiel den TL071. Er hat 
einen sehr hohen Eingangswiderstand und einen geringen 
Ausgangswiderstand un eine geringe Stromaufnahme.

von Anja (Gast)


Lesenswert?


von Jabu (Gast)


Angehängte Dateien:

Lesenswert?

Abend,

Nach wie vor habe ich ein Problem mit Messschwankungen des ADC beim
mega644 (interne REF 2,56V), wobei nun am ADC Pin ein Spannungsteiler 
mit
15kOhm an GND und 15kOhm an Vcc abzweigt. An AREF hängen 100nF nach GND.

DDRA = 0;
PORTA = 0;

ADCSRA |= (1<<ADEN)|(1<<ADPS0)|(1<<ADPS1)|(1<<ADPS2); //Prescaler: 128
ADMUX = (...single port x...);
ADMUX |= (1<<REFS0)|(1<<REFS1);

Soweit zur Initialisierung.
Nach mehreren Messungen, die hintereinander ausgeführt werden, stellt
man fest, dass der Wert immer noch um bis zu 8 bit schwankt. Woran 
könnte es
liegen? Was habe ich nicht beachtet? Ist die interne Referenz so
unzuverlässig? Ich versuche einen Ausschnitt vom Schaltplan anzuhängen

Danke im Voraus, Jabu

von Anja (Gast)


Lesenswert?

Jabu schrieb:
> Was habe ich nicht beachtet?

Falsche Masseverdrahtung?

Deine Schaltung ergibt Überspannung am Analogpin wenn der FET 
ausgeschaltet ist.

Gruß Anja

von Georg G. (df2au)


Lesenswert?

Kondensator an PA0, einige nF sollten gut sein.

von Dietrich L. (dietrichl)


Lesenswert?

Jabu schrieb:
> Woran könnte es liegen?

Es gibt auch noch die Möglichkeit, dass Potentialunterschiede zwischen 
den GNDs (AGND, GND und GND des zu messenden Signals) einen Fehler 
produzieren.
Außerdem können Störungen auf AVCC eine Ursache sein (-> AVCC abblocken, 
ggf. mit Drossel).

Gruß Dietrich

von Karl-Heinz K. (kubi48)


Lesenswert?

Jabu schrieb:
> Was habe ich nicht beachtet? Ist die interne Referenz so
> unzuverlässig?

Bleibt der ADC in Deinem Projekt auf interne Referenz geschaltet oder 
wird zwischendurch auch auf VCC Referenz umgeschaltet?
Beim Umschalten auf interne Referenz muß eine Wartezeit berücksichtigt 
werden, bis die AREF Spannung wegen des angeschlossenen Kondensators die 
geänderte Referenzspannung erreicht.

von Michael (Gast)


Lesenswert?

Anja schrieb:
> Deine Schaltung ergibt Überspannung am Analogpin wenn der FET
> ausgeschaltet ist.

Nein, die Spannung am Pin wird VCC+0.5V nicht überschritten. Dafür sorgt 
die VCC-seitige Schutzdioden. Und 15kΩ zur Strombegrenzung sind doch ok 
;-)

von Anja (Gast)


Lesenswert?

Michael schrieb:
> Und 15kΩ zur Strombegrenzung sind doch ok

... nur wenn der Prozessor nicht im Sleep-Mode ist. Oder sonst irgend 
ein Verbraucher die Versorgung entsprechend stark belastet.

Gruß Anja

von Ulrich (Gast)


Lesenswert?

Wenn ein Strom durch die "Schutzdioden" abfließt kann dies die 
benachbarten Eingänge, insbesondere andere AD Eingänge stören. Mit dem 
Strom über die "Dioden" geht der µC zwar nicht kaputt, aber er 
funktioniert auch nicht mehr unbedingt normal.

Die einfachste Lösung ist wohl der Kondensator parallel zum Hochohmigen 
Teiler (bis etwa 1 M), zumindest wenn die Temperatur nicht zu hoch wird. 
Wenn schon Teiler, dann eher so wie Anja gezeigt hat, mit FET vor dem 
Eingang. Als Alternative ginge auch noch ein hochohmiger Teiler und ein 
sparsamer (z.B. TS27L2), ggf. Abschaltbarer (z.B. MCP603) OP als 
Impedanzwandler.

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.