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.
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.
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.
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:
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.
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.
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.
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. :-)
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.
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.
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.
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.
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.
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.