Wenn man ein Eingangssignal für einen ADC mit einem Spannungsteiler anpassen will, dann findet man bei den meisten µC Forderungen nach einer recht niedrigen Quellimpedanz. Bei den AVR-Controllern findet man was im 10 kOhm Bereich, beim Teensy 3.5 liegt die Quellimpedanz laut Datenblatt für AnalogIn bei max. 5 kOhm.
Wenn man jetzt die Datenblätter näher anschaut, sieht man aber (wie bei CMOS-Schaltungen zu erwarten) für den statischen Eingangswiderstand Werte deutlich über 10 MOhm (wg. Leckströmen). Der geforderte niedrige Wert für die Quellimpedanz kommt also nicht von diesem Eingangswiderstand.
Die Forderung nach der niedrigen Quellimpedanz kommt stattdessen vom Aufbau des ADC als Ladungsteiler: zu Beginn der Wandlung wird aus der Quelle für kurze Zeit ein Samplekondensator geladen, und diese Ladung wird dann weiterverarbeitet. Der Samplekondensator muss also aus der Quelle in kurzer Zeit weit genug aufgeladen oder entladen werden und zwar auf den Bruchteil eines LSB an die Quellspannung.
Wenn man die Eingangsbeschaltung des ADC einfach aus einem Spannungteiler macht, dann bekommt man ein RC-Glied aus dem Innenwiderstand des Spannungsteilers und dem Samplekondensator. Und dann kann man rechnen: wenn z.B. die Sampledauer 1 µs ist und der Samplekondensator 20 pF hat und eine Ladezeit von 7 tau für die erlaubte Abweichung eines Bruchteils des LSB nötig ist, dann darf der Quellwiderstand höchstens
1us = 7tau = 7 R 20pF R = 1us / 140pF = 7,1kOhm
sein.
Also muss des ohmschen Eingangswiderstands mit vielen MOhm die Eingangsbeschaltung wegen dieser Sample&Hold-Abtastung irgendwie unnötig niederohmig ausgelegt werden.
Nach ein wenig Nachdenken kommt einem dann die Sache mit der Ladungsverteilung bei der Parallelschaltung von Kondensatoren in den Sinn: wenn ein Kondensator mit 10 pF und 0V zu einem Kondesnator mit 10nF und 5V parallel geschaltet wird, dann ergibt sich an dieser Parallelschaltung eine Spnnung von
U = (5V*10nF + 0V*10pF) / (10nF + 10pF) = 4,995 V
Fazit dieser Überlegungen ist dann: es reicht bei einem 12-Bit Wandler (4096 Incremente) für eine Abweichung von kleiner 1/2 LSB (=1/8192) aus, wenn dem Samplekondensator ein externer Pufferkondensator mit 10000x höherem Wert parallel geschaltet wird. Also reicht hier ein auf die Messspannung geladener externer 100nF Kondensator aus.
Man kann also einem sehr hochohmigen Spannungsteiler durch einen 100nF-Kondensator die nötige niedrige Quellimpedanz verleihen.
Beim Teensy 4.1 kann die Quellimpedanz sogar "ausgewählt" werden: 7 kOhm, 15 kOhm und 30 kOhm sind dort laut DB einstellbar. Wie funktioniert nun diese "Umschaltung"?
Die Lösung ist ein einfacher Dreisatz: man ändert einfach die Sampledauer, bis der Samplekondensator des ADC auf genauer als 1/2 LSB an die Endpannung geladen ist. Und weil sich dann bei tau=R*C mit konstantem C der R in Abhängigkeit von tau ändert, gibt es diese unterschiedlichen Werte.
Dort im microcontroller.net wurde im Forumthread Attiny85 ADC Eingangswiderstand - wie hoch der ADC eines AVR-Controllers an Beispielen hinterleuchtet und untersucht, wie sich Quellimpedanzen auf das Messergebnis auswirken und wie man diese Sache mit der Sample&Hold-Stufe möglicherweise auch anders angehen kann.
Was dort ebenfalls diskutiert wird, ist der Effekt, den so mancher schon beobachtet hat: bei zu hochohmiger/hochimpedanter Auslegung des Quellsignals für den ADC haben Kanäle "geisterhaften Einfluss" aufeinander: wenn sich ein Sensor- oder Potiwert ändert, dann ändert sich auch der nachfolgend gewandelte ADC-Kanal.
Wenn man jetzt den Pufferkondensator eingebaut hat und sich trotz hochohmiger Quelle in Sicherheit wiegt, dann kann man von der zweiten Fußangel erwischt werden: bei schneller Wandlung mehrerer Kanäle kann es sein, dass der Pufferkondensator von der Quelle langsamer nachgeladen wird, als der Samplekondensator ihn entlädt. Denn wenn z.B. 2 hochohmige Quellspannungen mit z.B. 5V ud 0V jeweils über einen Pufferkondensator an 2 ADC-Kanäle angeschlossen sind und die dann laufend abwechselnd gewandelt werden, dann muss der Samplekondensator ja ständig auf 5V ge- und auf 0V entladen werden. Er entnimmt dem Pufferkondensator der 5V-Quelle bei jeder Wandlung ein wenig Ladung und führt sie dem Pufferkondensator der 0V-Quelle zu. Und wenn nun der Innenwiderstand dieser Quellen zu hochohmig ist, können die nach so einer Wandlung die nötige Ladung nicht schnell genug nachführen. Fazit: die beiden gemessenen Spannungen beeinflussen sich wieder gegenseitig. Auch das wird im Thread Attiny85 ADC Eingangswiderstand - wie hoch untersucht und abgehandelt.