Servus,
Eine generelle Frage zur Beschaltung von ADC Eingängen.
Im Datenblatt eines µC wird die maximale Outputimpedanz Rsource abhängig
von t_sample angegeben. Zum Beispiel 1000 Ohm.
Wird nun ein Ladekondensator Cext (ca. 50nF) an den ADC Eingang gehängt
um die interne ADC-sample-Kapaziät schnell zu laden, muss Rsource
verringert werden, damit Cext dem Inputsignal weiterhin folgen kann.
Eine Beispielrechnung liefert ca. 2 Ohm für Rsource.
Mein Frage: Ist Cext überhaupt nötig? Wenn die maximale Impedanz von
1000 Ohm (laut Datenblatt) auf 2 Ohm (laut Cext Berechnung) fällt, sehe
ich das als Nachteil sofern kein Impedanzwandler verwendet wird.
Danke!
Der Ausgangswiderstand wird ja gerade in Abhängigkeit von der
Abtastrate angeben, damit der interne Kondensator schnell genug
geladen wird.
Ein zusätzlicher_ Kondensator müsste dann eben _zusätzlich geladen
werden.
Das hat doch nur dann einen Sinn, wenn der Widerstand erst einmal zu
hoch ist um die Sample-Rate zu ermöglichen. Mit dem zusätzlichen
Kondensator ist der Widerstand aber nun erst recht zu hoch.
Wer sagt denn, dass ein externe Kondensator nötig ist, um den internen
schneller zu laden? Warum nicht gleich den Widerstand durch einen
Verstärker verringern?
Ich will das mit dem zusätzlichen Kondensator nicht rundweg für sinnlos
erklären, - gibt ne Menge, was ich nicht weiß -, aber die Erklärung dazu
würde ich erstmal gerne lesen. Vielleicht ist das ja auch ein
Mißverständnis und wir reden hier von einem Tiefpass als
Anti-Alias-Filter.
Mein Vorschlag: Am besten mal den Link auf das uC-Datenblatt hier posten
sowie den Link auf das Dokument, in dem von einem zusätzlichen, externen
Kondensator die Rede ist.
Theor schrieb:> Der Ausgangswiderstand wird ja gerade in Abhängigkeit von der> Abtastrate angeben, damit der interne Kondensator schnell genug> geladen wird.
Danke für die Antwort, ja das ist die logische Erklärung. Im App-note
https://www.ti.com/lit/an/spna088/spna088.pdf wird Cext genutzt um die
interne Kapazität zu laden. Der Zweck erschließt sich mir jedoch noch
nicht ganz.
R4 oder R5 baust du nicht absichtlich ein. Das steht nur für den
unvermeidbaren Innenwiderstand der Schaltung.
Cext ist ein Trick, mit dem du in einigen Fällen den Impedanzwandler
einsparen kannst.
> Der Zweck erschließt sich mir jedoch noch nicht ganz.
Das liegt daran, dass das Signal nicht ständig an dem internen
S&H-Kondensator anliegt. Es wird nur für kurze Zeit durchgeschaltet
(z.B. ein Sample-Takt, davor hing der Kondensator evtl an einem anderen
Eingang mit ganz anderer Spannung) - wenn die Quelle zu hochohmig ist,
schafft sie es nicht, den Kondensator in dieser kurzen Zeit umzuladen.
Da hilft der externe Kondensator, die Quellimpedanz zu verringern.
Derollg schrieb:> Wird nun ein Ladekondensator Cext (ca. 50nF) an den ADC Eingang gehängt> um die interne ADC-sample-Kapaziät schnell zu laden, muss Rsource> verringert werden, damit Cext dem Inputsignal weiterhin folgen kann.
Abstruse Schlussfolgerung.
Ja,
Derollg schrieb:> Im Datenblatt eines µC wird die maximale Outputimpedanz Rsource abhängig> von t_sample angegeben. Zum Beispiel 1000 Ohm.
das ist richtig, höher darf die Impedanz nicht sein, damit das Aufladen
des Sample-Kondenasaors im uC die Eingangsspannung nicht um mehr als
1LSB verfälscht.
Hat die Quelle eine höhere Impedanz, kann man dem Eingang einen
Kondensator als Quelle vorschalten (der um mindestens
Analogwandlerauflösung z.B. 1024 mal grösser ist als der interne (oft so
22pF) Kondensator). Also 50nF ist schon ok.
Damit bezieht der Sample-Kondensator im uC seine Ladung aus dem
vorgeschalteten Kondenstaor und verfälscht den Messwert um nicht mehr
als 1 LSB.
So weit, so gut.
Der vorgeschaltete Kondenstaor wird nun z.B. aus einer Quelle mit (mehr
als 1k, sagen wir 1MOhm) aufgeladen. Er folgt der Spannung der Quelle
also mit der RC Zeitkonstanten träger. Das kann in Ordng sien,w enn sich
die zu messene Quellspannung eh langsam ändert. Aber bei 1MOhm ist meist
auhc schluss, weil der A/D-Wandler einen Eingangsstrom (in jeder
Polarität, also rein und raus, abhängig von der Spannung) hat, oft 1uA
und der an den 1MOhm zu Spannungsfehler führt, uups, schon 1V. Die 1k
oder 10k die oft als maximale Quellimpedanz des A/D-Wandlereingangs
angegeben werden, sind also selbst wenn man einen Kondensator extern
vorschlaten meist das obere Limit.
Bleibt die Verzögrung mit der so ein RC Glied der Quellspannung folgt:
Da der uC meist sampelnde A/D-Wandler statt integrierender haben,
erfassen sie die Spannung nur zu Beginn der A/D-Wandloung. Ist das
Signal gestört, weiss man aber nicht ob man gerade eine Störspitze misst
oder das mittlere Signal. Daher kann so einen Mitelwertbildnerschaltung
(mit einem Widerstand nicht über 1k bzw. 10k) sinnvoll sein, das Signal
ohne Störungen zu erfassen. Eventuell sogar mit viel grösserem
Kondensator.
Bloss folgt damit der Eingang auch langsamer der zu messenden
Quellspannung. Muss man die volle Bandbreite des A/D-Wandlers ausnutzen
(will man mit voller oder zumindest hoher Samplerate messen), kann man
diesen Trick also nicht (nur wenige pF sind möglich) machen, sondern
muss Störungenin Software filtern.
Wenn die Quelle nieder-impedant und von der Spannung her nicht höher als
die Referenz-Spannung ist, dann braucht man auch den zusätzlichen
Kondensator nicht.
Nur, diesen Fall gibt es eher selten, etwa wenn man einen Sensor auf der
Platine mit gepuffertem Ausgang hat.
Aber auch dann hilft ein kleiner Kondensator der direkt am Eingang des
Controllers sitzt und aus dem die Ladung gezogen wird anstelle quer über
die Leiterplatte.
Wenn man ein 12V Signal messen will, der Eingang aber nur 5V oder
kleiner verträgt, dann baut man einen Spannungsteiler ein.
Der Längswiderstand vom Teiler begrenzt ausserdem den Strom für den Fall
das die Spannung am Eingang größer wird als normalerweise erwartet.
Ich habe fast immer 100k als Längswiderstand in der Schaltung, der
Teiler-Widerstand wird angepasst.
Dazu normalwerweise so 10nF.
Daraus ergibt sich zum einen ein Tiefpass.
Zum anderen begrenzt das natürlich die Sample-Rate, da der 10nF durch
den 100k ja erstmal wieder nachgeladen werden muss.
Wird die Sample-Rate zum Problem, müssen die Werte entsprechend
angepasst werden.
Reicht auch das nicht, hilft ein Operationsverstärker.
Irgendwo habe ich mal gelesen, dass der externe Kondensator mindestens
so etwa das zehnfache der internen Kapazität haben sollte.
Michael B. schrieb:> Abstruse Schlussfolgerung.
Ja, im genannten App-note wird aber genauso vorgegangen. Zuerst Cext
rangehängt um den internen Kondensator zu laden mit maximal 1/2 LSB
Fehler und dann der kleine benötigte Rsource berechnet, damit die
Bandbreite erhalten bleibt.
Das heißt, Cext hat einen Zweck, unabhängig von Rsource. Eventuell
cross-talk bei mehreren Kanälen?
> Zuerst Cext rangehängt
Nicht wirklich. Die zeigen nur einen von 3 Schritten.
Jedem ist klar, ohne Cext darf der Analogverstärker nur einen
Innenwiderstand von wenigen Ohm haben. Ist nicht praktikabel. Diesen
Punkt überspringt die App-Note.
Dann berechnen die ausführlich, wie groß Rsource mit Cext sein darf.
Im dritten Schritt musst du noch einen Analogverstärker finden, dessen
Innenwiderstand unter dem berechneten Rsource liegt. Diesen Schritt hat
die App-Note auch weggelassen.
Noch ein Vorschlag schrieb:> Jedem ist klar, ohne Cext darf der Analogverstärker nur einen> Innenwiderstand von wenigen Ohm haben. Ist nicht praktikabel. Diesen> Punkt überspringt die App-Note.
Nicht umgekehrt? Ohne Cext kann Rsource einige 100 Ohm betragen. (z.B.
STM32 µC) durch das Ranhängen von Cext und im Zuge der Berechnung muss
dann Rsource unter 3 Ohm liegen. Was hat man davon?
Rudolph R. schrieb:> Derollg schrieb:>> Nicht umgekehrt?>> Nein.
Ohne Cext beträgt die ADC Kapazität ca. 20pF. Mit Cext sind es 20pF +
40nF. Ich würde sagen im ersten Fall darf Rsource höher sein.
Der ADC-Fehler hängt auch (eine Art Einstreuung) von der
Kanalumschaltfrequenz und der Spannung auf den anderen Kanälen ab. Mit
Cext wird der Effekt geringer.
Derollg schrieb:> Ohne Cext beträgt die ADC Kapazität ca. 20pF. Mit Cext sind es 20pF +> 40nF. Ich würde sagen im ersten Fall darf Rsource höher sein.
Aber der Cext muss nicht jeden Sampling Takt aufgeladen werden.
Die beschränkung für Rext liegt hauptsächlich daran, dass der interne
Sampling Kondensator nur sehr kurz an der Spannung anliegt (z.B nur 1
ADC Takt, was oft <1us werden kann) und sich in dieser Zeit über Rsource
aufladen muss.
Der externe Kondensator hängt aber dauerhaft an der Quelle, muss also
nicht jeden Sampling Takt aufgeladen werden, es muss hier nur auf die
Grenzfrequenz des gebildeten TPs geachtet werden. Wenn jetzt der interne
Kondensator dazu geschaltet wird, kann sich dieser aus dem externen
aufladen.
Hier ein Beispiel:
Wenn ich eine Quelle mit Rsource = 10k habe, mit dem ADC für fehlerlose
Abtastung mit gewünschter Sampling Rate nur bis 1k möglich ist, kann ich
einen 50nF Cext dazu schalten.
Die Grenzfrequenz ist hier: fg = 1/(2*pi*R*C) = 318Hz. Wenn mein
Nutzsignal jetzt nur Frequenzen von << fg hat, dann kann ich den
externen Kondensator benutzen und einen Verstärker sparen.
Alex D. schrieb:> Wenn ich eine Quelle mit Rsource = 10k habe, mit dem ADC für fehlerlose> Abtastung mit gewünschter Sampling Rate nur bis 1k möglich ist, kann ich> einen 50nF Cext dazu schalten.> Die Grenzfrequenz ist hier: fg = 1/(2*pi*R*C) = 318Hz. Wenn mein> Nutzsignal jetzt nur Frequenzen von << fg hat, dann kann ich den> externen Kondensator benutzen und einen Verstärker sparen.
Das ist nur die halbe Wahrheit. Bei jedem Abtastvorgang entnimmt Cs dem
Cext eine Ladungsmenge und dadurch wird die Spannung an Cext geringer.
Wenn bis zum nächsten Abtastvorgang diese Ladungsmenge nicht wieder
zugeführt wird (weil fA zu hoch oder Rext*Cext zu groß), so wird sich
eine Ablage einstellen, auch bei DC-Messungen. Die sollte für eine
korrekte Messung < ½ LSB sein.
Derollg schrieb:> im genannten App-note wird aber genauso vorgegangen. Zuerst Cext> rangehängt um den internen Kondensator zu laden mit maximal 1/2 LSB> Fehler und dann der kleine benötigte Rsource berechnet, damit die> Bandbreite erhalten bleibt
Ich denke mal, du hast das falsch verstenden. Vielleicht den Text drum
herum nicht gelesen?
Die externe Stützkapazität am ADC-Eingang macht man dort hin, wenn die
Quellimpedanz der Schaltung davor zu hoch wäre, um die Sample-Kapazität
des ADC in der Sample-Zeit mit maximal 1/2 LSB auf- bzw. umzuladen.
Natürlich ergibt sich dann aus Quellimpedanz und Stützkapazität ein
Tiefpaß, der die Bandbreite des zu messenden Signals vermindert. Ein
Effekt, der sehr oft sogar explizit gewünscht ist (Anti-Aliasing Filter,
Rauschverminderung, etc.)
Falls sich jetzt herausstellen sollte, daß diese Bandbreite zu gering
ist für die Meßaufgabe und vielleicht auch noch, daß die Quellimpedanz
mit der Stützkapazität sogar niedriger sein müßte als ohne - dann ist
es natürlich sinnlos, eine Stützkapazität überhaupt zu verbauen.
Oft will man aber ohnehin nur Gleichspannung messen. Bzw. es reichen
wenige Hz Bandbreite. Dann ist eine Stützkapazität eine sehr einfache
Maßnahme, die Genauigkeit der Analogwerterfassung zu steigern. Ohne
einen extra OPV als Impedanzwandler verbauen zu müssen.
Axel S. schrieb:> Falls sich jetzt herausstellen sollte, daß diese Bandbreite zu gering> ist für die Meßaufgabe und vielleicht auch noch, daß die Quellimpedanz> mit der Stützkapazität sogar niedriger sein müßte als ohne - dann ist> es natürlich sinnlos, eine Stützkapazität überhaupt zu verbauen.
Danke, es leuchtet langsam ein. Die interne Kapazität wird nur während
des samplings geladen, Cext wird aber wärend der längeren
conversion-time geladen. Natürlich verringert sich dann aber die
Bandbreite, da die Ladezeit länger ist. Der kleinere Rsource ist dann
wohl ein Gedankenspiel.
Derollg schrieb:> Natürlich verringert sich dann aber die> Bandbreite, da die Ladezeit länger ist.
Mit nichten! Die Bandbreite ist ja sowieso auf die totale
conversion-time begrenzt. Das heißt, ist Rsource zu groß um C_adc in der
samplezeit z.B. 2.5 clocks zu laden, kann Cext genutzt werden. Cext wird
dann während der conversion time z.B. 15 clocks wieder aufgeladen.
Bandbreite bleibt weiterhin bei 15+2.5 = 17.5 clocks. Korrekt?