Forum: Mikrocontroller und Digitale Elektronik AVR ADC Ungenauigkeit bei hoher Impedanz


von Florian (flori_n)


Lesenswert?

Hallo,
verursacht eine hohe Impedanz am ADC-Eingang eines AVR (zum Beispiel 
ATMega8) eine Messungenauigkeit wegen der Sample-and-Hold-Schaltung?

Ich hatte es immer so verstanden, dass die Analogspannung für eine 
gewisse Zeit gesamplet wird und wenn die Impedanz der Quelle zu hoch 
ist, um den Kondensator in dieser Zeit entsprechend zu laden bzw. wenn 
die Spannung einbricht, wird halt eine falsche Spannung gewandelt.

Jetzt habe ich aber im Datenblatt die Information gefunden:
"The ADC is optimized for analog signals with an output impedance of 
approximately 10 kΩ or less. [...] If a source with higher impedance is 
used, the sampling time will depend on how long time the source needs to 
charge the S/H capacitor, with can vary widely."
(S.195 Datenblatt ATMega8/L 
https://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-2486-8-bit-AVR-microcontroller-ATmega8_L_datasheet.pdf)

Das verstehe ich so, dass die Sample-and-Hold-Schaltung erst aufhört zu 
samplen, wenn der Kondensator fertiggeladen ist.

Deshalb die Frage: Verlängert eine hohe Impedanz der Analogquelle nur 
die Sampling- und damit Wandlungszeit oder verringert das auch die 
Genauigkeit?
Das Signal soll als konstant angenommen werden und die Frage bezieht 
sich nicht auf die Leckströme.

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Florian schrieb:
> Deshalb die Frage: Verlängert eine hohe Impedanz der Analogquelle nur
> die Sampling- und damit Wandlungszeit oder verringert das auch die
> Genauigkeit?

Nö, und der zitierte Absatz ist insofern irreführend, als das der AVR 
natürlich keine Prophetschaltung hat und deswegen gar nicht weiss, wann 
die Eingangsspannung der am S&H Kondensator entspricht. Du kannst 
persönlich die Abtastzeit verlängern per ADC Takt, aber von alleine 
machte der AVR das nicht.

: Bearbeitet durch User
von Monk (Gast)


Angehängte Dateien:

Lesenswert?

Florian schrieb:
> Das verstehe ich so, dass die Sample-and-Hold-Schaltung erst aufhört zu
> samplen, wenn der Kondensator fertiggeladen ist.

Nein, das Timing steht durch die Konfiguration der ADC Register (in 
Kombination mit der Taktfrequenz) fest. Der ADC weiß nicht, wann der 
Kondensator für deine Ansprüche voll genug ist.

Genau genommen wird der Kondensator nie voll, wenn er durch einen 
Widerstand geladen wird. Die Spannung nähert sich an Umax an, erreicht 
diesen Wert aber nie. Was man in der Praxis sogar leicht nachvollziehen 
kann, indem man einen Widerstand im Mega-Ohm Bereich und einen dicken 
Elko verwendet.

> Deshalb die Frage: Verlängert eine hohe Impedanz der Analogquelle nur
> die Sampling- und damit Wandlungszeit

Die Hohe Impedanz erfordert eine längere Sampling-Zeit. Das musst du 
aber selbst konfigurieren.

> oder verringert das auch die Genauigkeit?

Das passiert, wenn du die Konfiguration nicht passend anpasst.

von Florian (flori_n)


Lesenswert?

Matthias S. schrieb:
> Prophetschaltung
Monk schrieb:
> Der ADC weiß nicht, wann der
> Kondensator für deine Ansprüche voll genug ist.
Es hätte ja sein können, dass irgendwie geprüft wird, ob sich die 
Spannung noch merklich ändert.

Danke. Dann habe ich es ja doch richtig verstanden.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Florian schrieb:
> verursacht eine hohe Impedanz am ADC-Eingang eines AVR (zum Beispiel
> ATMega8) eine Messungenauigkeit wegen der Sample-and-Hold-Schaltung?
>
> Ich hatte es immer so verstanden, dass die Analogspannung für eine
> gewisse Zeit gesamplet wird und wenn die Impedanz der Quelle zu hoch
> ist, um den Kondensator in dieser Zeit entsprechend zu laden bzw. wenn
> die Spannung einbricht, wird halt eine falsche Spannung gewandelt.
Das ist in der Realität ein wenig komplexer, dort haben wir das mal aufs 
Tausendstel ausgekaspert:

Beitrag "Re: Attiny85 ADC Eingangswiderstand - wie hoch"

Mein Tipp: das mit dem Poti und dem hochohmigen Spannungsteiler sollte 
man mal selber ausprobiert haben, dann bekommt man eher ein "Gefühl" 
dafür.

von Monk (Gast)


Lesenswert?

Florian schrieb:
> Es hätte ja sein können, dass irgendwie geprüft wird, ob sich die
> Spannung noch merklich ändert.

Dazu müsste der ADC wissen, was genau du unter "merklich" verstehst. 
Außerdem ändert sich die Spannung z.B. bei einem Audio-Signal ständig. 
Die Automatic würde in dem Fall "ewig" warten.

von Florian (flori_n)


Lesenswert?

Lothar M. schrieb:
> Das ist in der Realität ein wenig komplexer, dort haben wir das mal aufs
> Tausendstel ausgekaspert:
Ich werde mal drüberlesen. Aber eigentlich wollte nicht zu tief 
einsteigen. Es war nur überraschend für mich, dass scheinbar der ADC von 
selber lange genug samplet.

Monk schrieb:
> Außerdem ändert sich die Spannung z.B. bei einem Audio-Signal ständig.
> Die Automatic würde in dem Fall "ewig" warten.
Das war auch, was mich gestört hat.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Florian schrieb:
> Es war nur überraschend für mich, dass scheinbar der ADC von selber
> lange genug samplet.
Er samplet eben nur dann "lange genug", wenn die Anforderungen aus dem 
DB eingehalten werden, damit der Wandlungsfehler kleiner 1 LSB ist.

> Aber eigentlich wollte nicht zu tief einsteigen.
Du wirst da schon noch mal drüber stolpern. Und dann reicht es, wenn du 
weißt, wo du solche Informationen findest.

Ich lasse alle meine Praktikanten diesen Versuch mit dem Poti und dem 
hochohmigen Spannungsteiler machen. Noch jeder war davon überrascht...

von M.A. S. (mse2)


Lesenswert?

Monk schrieb:
> Genau genommen wird der Kondensator nie voll, wenn er durch einen
> Widerstand geladen wird. Die Spannung nähert sich an Umax an, erreicht
> diesen Wert aber nie. Was man in der Praxis sogar leicht nachvollziehen
> kann, indem man einen Widerstand im Mega-Ohm Bereich und einen dicken
> Elko verwendet.
..., wobei ein dicker Elko auch noch Leckströme hat, die bei einem 
Mega-Ohm-Widerstand verhindern, dass die Ladespannung sich beliebig der 
angelegten Spannung annähern.

von Rolf (rolf22)


Lesenswert?

Monk schrieb:
> Dazu müsste der ADC wissen, was genau du unter "merklich" verstehst.

Z. B. das, was dem Wert einem halben untersten Bit entspricht. Darunter 
ist es ja "unmerklich". Das kann ein Chip jedenfalls theoretisch wissen. 
Allerdings würde das nicht zu einer festen Abtastrate passen.

> Außerdem ändert sich die Spannung z.B. bei einem Audio-Signal ständig.
> Die Automatic würde in dem Fall "ewig" warten.

Hinter der S/H-Stufe ändert sich die Spannung (fast) nicht, dafür ist 
das H ja da. :-)

von Günter N. (gnatz)


Lesenswert?

Bei hohen Eingangsimpedanzen der Quelle ist eine gute Abhilfe, einen 
Kondensator vom Eingang des Wandlers gegen GND zu schalten. Damit das 
Signal nicht verfälscht wird, sollte die Zeitkonstante von 
Eingangsimpedanz und Kondensator deutlich kleiner als die maximal zu 
erwartende Eingangsfrequenz sein. Üblich sind Kondensatoren von 10 bis 
100 nF.

von Frank O. (frank_o)


Lesenswert?

Monk schrieb:
> Dazu müsste der ADC wissen, was genau du unter "merklich" verstehst.

Würde auch grundsätzlich dem Prinzip "Messen" widersprechen.

von Udo S. (urschmitt)


Lesenswert?

M.A. S. schrieb:
> Monk schrieb:
>> Genau genommen wird der Kondensator nie voll, wenn er durch einen
>> Widerstand geladen wird. Die Spannung nähert sich an Umax an, erreicht
>> diesen Wert aber nie. Was man in der Praxis sogar leicht nachvollziehen
>> kann, indem man einen Widerstand im Mega-Ohm Bereich und einen dicken
>> Elko verwendet.
> ..., wobei ein dicker Elko auch noch Leckströme hat, die bei einem
> Mega-Ohm-Widerstand verhindern, dass die Ladespannung sich beliebig der
> angelegten Spannung annähern.

Und der innenwiderstand des Messgeräts (üblicherweise 10M) macht sich 
schon sehr deutlich bemerkbar.

von Peter D. (peda)


Lesenswert?

Bis 10k Quellimpedanz ist der Fehler durch den S&H Kondensator zu 
vernachlässigen. Darüber muß man einen Pufferkondensator an den Eingang 
legen. Ich nehme dafür 100nF Keramik.
Für die Messung an 3kV habe ich mal einen Spannungsteiler mit 1M als 
unteren Widerstand dimensioniert, damit nicht zuviel Wärme entsteht. Mit 
dem 100nF parallel hat das hat gut funktioniert. Der S&H Kondensator 
entlädt den 100nF nur unwesentlich.

Es geht allerdings auch, nach der Umschaltung des MUX einige Zeit zu 
warten.
Z.B. der interne Temperatursensor ist sehr hochohmig. Da man an den 
Anschluß ja nicht rankommt, muß man warten, damit die Messung durch den 
vorherigen Eingang nicht verfälscht wird.

: Bearbeitet durch User
von Axel S. (a-za-z0-9)


Lesenswert?

Peter D. schrieb:
> Bis 10k Quellimpedanz ist der Fehler durch den S&H Kondensator zu
> vernachlässigen.

Das ist schlampig formuliert.

Bis 10K Quellimpedanz ist auch bei der maximal erlaubten 
ADC-Taktfrequenz der Fehler durch die endliche Abtastzeit kleiner als 1 
LSB. Wenn man die ADC-Taktfrequenz reduzieren kann, dann gehen auch 
größere Quellimpedanzen.

> Darüber muß man einen Pufferkondensator an den Eingang
> legen. Ich nehme dafür 100nF Keramik.

Das ist in dieser Allgemeinheit falsch. Das funktioniert nämlich nur, 
wenn man eine Gleichspannung (bzw. ein sich nur langsam änderndes 
Signal) messen will.

von Florian (flori_n)


Lesenswert?

Lothar M. schrieb:
> Florian schrieb:
>> Es war nur überraschend für mich, dass scheinbar der ADC von selber
>> lange genug samplet.
> Er samplet eben nur dann "lange genug", wenn die Anforderungen aus dem
> DB eingehalten werden, damit der Wandlungsfehler kleiner 1 LSB ist.
Deshalb "scheinbar".

Lothar M. schrieb:
>> Aber eigentlich wollte nicht zu tief einsteigen.
> Du wirst da schon noch mal drüber stolpern. Und dann reicht es, wenn du
> weißt, wo du solche Informationen findest.
Ich habe es mal durchgelesen. Das Verhalten hätte ich erwartet. 
Irgendwo, vielleicht sogar im Datenblatt, stand, dass bei einem 
Kanalwechsel die Ladezeit länger sein kann, weil der Kondensator immer 
wieder umgeladen werden kann.

Vielen Dank für die Antworten. Meine Frage ist damit beantwortet.

von Hans (piaggio)


Lesenswert?

Die Zeit, die nach dem Wählen des ADC-Einganges zum Aufladen des 
sample&hold Kondensators erforderlich ist wird "acqisition time" 
genannt.
Erst nach Ablauf dieser Zeit sollte die Messung gestartet werden.

Erklärung (für PICs) hier:
https://www.sprut.de/electronic/pic/grund/adc.htm
(Nachfolgend der Überschrift:
"Wichtig, und oft vergessen: die "acqisition time")

: Bearbeitet durch User
von Helmut -. (dc3yc)


Lesenswert?

Hans schrieb:
> "Wichtig, und oft vergessen: die "acqisition time")

Habe gerade ein u übrig und füge es bei der "acquisition time" ein.

P.s.: sehe gerade, ich bräuchte noch ein zweites, das ich aber nicht 
habe. Hmmm.

: Bearbeitet durch User
von Hans (piaggio)


Lesenswert?

sprut schrieb "acqisition time" (sic., copy&paste)

: Bearbeitet durch User
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.