Zur Stabilität der internen Referenzspannung von Atmel-µC schweigen sich die Datenblätter aus - zumindest habe ich nichts gefunden. Weiß jemand, wie temperaturstabil (ppm/K) die Referenzspannung ist?
Hi >Zur Stabilität der internen Referenzspannung von Atmel-µC schweigen sich >die Datenblätter aus - zumindest habe ich nichts gefunden. Es gibt auch noch AppNotes: AVR353: Voltage Reference Calibration and Voltage ADC Usage MfG Spess
Tatsache. Ist nicht bei jedem µC-Datenblatt zu finden... Mal eine andere Frage: Wie sieht es mit der Temperaturabhängigkeit des ADC-Eingangswiderstands aus? Im Datenblatt sind z.B. 100M als Nennwert angegeben.
F. P. schrieb: > Mal eine andere Frage: Wie sieht es mit der Temperaturabhängigkeit des > ADC-Eingangswiderstands aus? Im Datenblatt sind z.B. 100M als Nennwert > angegeben. Da wirst Du wohl nichts finden. Zusammen damit, dass Atmel für das Analogsignal einen maximalen Innenwiderstand von 10kOhm empfiehlt ist in dem Fall die Temperaturabhängigkeit des Eingangswiderstand ziemlich sicher vernachlässigbar.
10k || 100M ist schon verdammt niederohmig. Ich könnte mal die SMU dranhängen (da geht's runter bis 10 pA), um zu sehen, wie sich der Eingang benimmt...
F. P. schrieb: > 10k || 100M ist schon verdammt niederohmig. Ich könnte mal die SMU > dranhängen (da geht's runter bis 10 pA), um zu sehen, wie sich der > Eingang benimmt... 10 kOhm || 100 MOhm ergibt ca. 9,999 kOhm. Wieso ist das verdammt niederohmig?
Der ADC hat 100M Eingangswiderstand. Wenn die Quelle höchstens 10k haben darf/soll, ist das im Vergleich zum Eingang verdammt niederohmig angesetzt.
Der S&H-Kondensator muss geladen werden, im Datenblatt ist das unter "Analog Input Circuitry" zu finden.
F. P. schrieb: > Der ADC hat 100M Eingangswiderstand. Wenn die Quelle höchstens 10k haben > darf/soll, ist das im Vergleich zum Eingang verdammt niederohmig > angesetzt. Ja, weil der Kondensator im A/D zügig geladen werden will: http://www.itwissen.info/Dual-Slope-Verfahren-dual-slope-methode.html
Eingang mit einem anständigen C abblocken. Der S&H-Kondensator "klaut" daraus natürlich bei jeder Messung Ladung, also zieht er den bei zu hochohmiger Speisung über kurz oder lang vermutlich leer. Die 100M beziehen sich vermutlich auf den Leerlauf, wenn nicht "gesämpelt" wird.
F. P. schrieb: > Eingang mit einem anständigen C abblocken. Der S&H-Kondensator "klaut" > daraus natürlich bei jeder Messung Ladung, Macht er das wirklich? Wenn die zu messende Spannung bei allen Folgemessungen gleich bleibt? Ich bin da nicht sicher. Der S&H-Kondensator wird doch benötigt um während der Messung einen stabilen Pegel sicher zu stellen. Warum sollte er nach der Messung entladen werden? Und wenn die Messspannung fluktuiert und die Versorgung hochohmig ist, wird ein "anständiger" Kondensator Einiges flach bügeln. > also zieht er den bei zu > hochohmiger Speisung über kurz oder lang vermutlich leer. Die 100M > beziehen sich vermutlich auf den Leerlauf, wenn nicht "gesämpelt" wird.
Wer sagt denn, daß vor der S&H-Schaltung nicht noch ein Impedanzwandler sitzt? Dann wäre eine hochohmige Quellimpedanz statthaft, da sie ja von dem S&H-Kondensator nix mitbekommt.
:
Bearbeitet durch User
Schaust du dir die Diagramme "Bandgap Voltage vs. VCC" an, so ist bei stabiler Betriebsspannung etwa 0,1% Variation über die Temperatur drin - das entspricht einem LSB des internen 10-Bit-ADC. Mit der Speisespannung von min...max kommt noch ein LSB dazu. Das sind etwa 0,2% vom Endwert - für "mitgeliefert" nicht schlecht! Abgesehen von der Nichtlinearität des ADC (steht auch im Datenblatt). Wozu brauchst du 100 MOhm am ADC-Input, wenn da ein Sample- Kondenstor von 20...30 pF in einigen µs auf > 99,9% der Eingangsspannung geladen werden muss? - Genau: Daher die Forderung, dass die zu messende Spannung mit einem Ri <= 10 kOhm angelegt werden sollte. Wonach du nicht gefragt hast, ist der Leckstrom des ADC-Eingangs! Der vermasselt nämlich den Trick, ein hochohmig (> 100 kOhm) vorliegendes Signal, dass sich nur langsam ändert, mit C > 33 nF (C > 1000 x C-Sample) für die Sample-Belastung zu stabilisieren!
F. P. schrieb: > Zur Stabilität der internen Referenzspannung von Atmel-µC schweigen sich > die Datenblätter aus - zumindest habe ich nichts gefunden. Weiß jemand, > wie temperaturstabil (ppm/K) die Referenzspannung ist? hallo PL504 (warum nicht PL519 oder PL36?) wie stabil die Ref ist weiss ich nicht, das könnte man aber feststellen weil ich nun lernte es gibt eine interne Temperaturreferenz, da könnte man die Temperatur von aussen mal "durchfahren" und diese Ref. ja dabei messen und anschliessend kalibrieren.
:
Bearbeitet durch User
Jacko schrieb: > Wonach du nicht gefragt hast, ist der Leckstrom des ADC-Eingangs! Die Datenblattangabe 100M Eingangswiderstand des ADC fasse ich als (ungefähres) Maß für den Eingangs-Leckstrom auf. Dieser wäre dann je nach Eingangsspannung im zweistelligen nA-Bereich angesiedelt.
Norbert schrieb: > F. P. schrieb: >> Eingang mit einem anständigen C abblocken. Der S&H-Kondensator "klaut" >> daraus natürlich bei jeder Messung Ladung, > > Macht er das wirklich? Wenn die zu messende Spannung bei allen > Folgemessungen gleich bleibt? Ich bin da nicht sicher. Der > S&H-Kondensator wird doch benötigt um während der Messung einen stabilen > Pegel sicher zu stellen. Warum sollte er nach der Messung entladen > werden? Üblicherweise wandelt man mehrere ADC-Kanäle in Folge. Mit zu kleinen oder zu hochinduktiv angebundenen Abblockkondensatoren hast Du Übersprechen, d.h. der Messwert des aktuellen Kanals hängt von dem des vorherigen ab. Faustregel: Für ADC-Fehler <1% muss der Abblockkondensator 100x größer sein als der S&H-Kondensator. Im Datenblatt steht entweder dessen wert oder eine Empfehlung für die minimale Kapazität am Eingang. Mit >4,7nF bei <10 mm Leiterbahnlänge bist Du meistens gut dabei > Und wenn die Messspannung fluktuiert und die Versorgung hochohmig ist, > wird ein "anständiger" Kondensator Einiges flach bügeln. Das ist ohnehin notwendig. Google mal nach "Abtasttheorem". Wenn Deine SW im 1ms-Raster misst, dürfen am ADC-Eingang keine Frequenzen oberhalb 500 Hz auftauchen. Entsprechend muss der Filter (Reihenwiderstand und Abblockkondensator) dimensioniert werden.
F. P. schrieb: > Im Datenblatt sind z.B. 100M als Nennwert > angegeben. Das ist der Widerstand wenn keine Messungen gemacht werden. Wird der S&H geladen, sagt das Datenblatt 10K bis 100K F. P. schrieb: > Wer sagt denn, daß vor der S&H-Schaltung nicht noch ein Impedanzwandler > sitzt? Das Datenblatt! Das Datenblatt empfiehlt eine Impedanz der Eingangsschaltung von 10k, oder kleiner, da sich sonst die S&H Zeit verlängern kann, und sich damit die 13,5 ADC Takte für die Wandlung nicht garantieren lassen. Beispiel: http://www.atmel.com/images/Atmel-8271-8-bit-AVR-Microcontroller-ATmega48A-48PA-88A-88PA-168A-168PA-328-328P_datasheet_Complete.pdf
soul e. schrieb: > Üblicherweise wandelt man mehrere ADC-Kanäle in Folge. Mit zu kleinen > oder zu hochinduktiv angebundenen Abblockkondensatoren hast Du > Übersprechen, d.h. der Messwert des aktuellen Kanals hängt von dem des > vorherigen ab. Zuerst waren wir bei Referenzspannungen, dann bei Sample&Hold und jetzt hauen wir noch Multiplexer dazu? > Google mal nach "Abtasttheorem". Danke, ich arbeite bereits seit sehr als 1½ Jahrzehnten mit µC und AD/DA Wandlern. ;-)
Hi >Das Datenblatt empfiehlt eine Impedanz der Eingangsschaltung von 10k, >oder kleiner, da sich sonst die S&H Zeit verlängern kann, und sich damit >die 13,5 ADC Takte für die Wandlung nicht garantieren lassen. Welche 13,5 Takte? Der ADC hat eine Sample&Hold Zeit von 1,5 ADC-Takten. Danach ändert sich am Wert nichts mehr. Und die 1,5 Takte sind vorgegeben, da verlängert sich nichts. Das Problem ist, das während dieser 1,5 Takte bei zu hohen Impedanzen ein Spannungseinbruch stattfindet der zu Fehlmessungen führen kann (siehe Anhang). MfG Spess
Arduino F. schrieb: > F. P. schrieb: >> Im Datenblatt sind z.B. 100M als Nennwert >> angegeben. > > Das ist der Widerstand wenn keine Messungen gemacht werden. > Wird der S&H geladen, sagt das Datenblatt 10K bis 100K Nein. Der ADC-Eingang ist im wesentlichen kapazitiv (C_S/H ~= 14pF). Der Widerstand von 1..100K liegt in Reihe zu diesem Kondensator. Er führt also nicht zu einer Belastung der Quelle, sondern verzögert "nur" die Aufladung des Kondensators.
spess53 schrieb: > Der ADC hat eine Sample&Hold Zeit von 1,5 ADC-Takten. Danach ändert sich > am Wert nichts mehr. Und die 1,5 Takte sind vorgegeben, da verlängert > sich nichts. Schwachsinn! Datenblatt nicht gelesen! Dabei habe ich es doch extra, auch für dich, verlinkt... Hier ein Auszug (extra für dich):
1 | The ADC is optimized for analog signals with an output impedance of approximately 10 k or less. If such a |
2 | source is used, the sampling time will be negligible. If a source with higher impedance is used, the sampling |
3 | time will depend on how long time the source needs to charge the S/H capacitor, with can vary widely. |
Axel S. schrieb: > Er führt > also nicht zu einer Belastung der Quelle, Natürlich belastet das Laden des S&H Kondensator die Quelle! Oder möchtest du dem Widersprechen?
Wann immer es geht ersetze ich die interne Referenz gegen eine externe, bspw. LM4040, A-Grade. Andernfalls braucht es immer einen Kalibrierungsschritt, am besten regelmäßig, statt nur nach Bestückung. Das schließt die Messung der konkreten Schaltung ein, vgl. die bereits oben genannte Kalibrierungs-AppNote. Da die interne Referenz deutlich stärker von den Störsignalen im µC beeinflusst wird, fällt diese Fehlergröße schon einmal weg und den Noise-Reduction-Sleep kann man sparen. Was die Abhängigkeit der internen Referenz von der Betriebsspannung anbelangt, bin ich bei Toleranzen von <1% skeptisch. Die dort beschriebene Bandgap-Referenz (auch für die Temperaturmessung) liegt unkalibriert bei 10%, mit Kalibrierung bis auf ca. 1% (vollständiges Handbuch, ATMega328P). Aber vielleicht machst du es noch etwas genauer, mit deinem Vorhaben und berücksichtigst auch evtl. Komponenten vor dem µC. Mit 5% Kohleschicht zu 100ppm Temperaturabhängigkeit im Spannungsteiler davor kann man sich 1%-Referenzen auch sparen. (Wahlweise 70er-Jahre OpAmps ohne jegliche Offset-Kompensation oder fein gearbeitete Lecherleitungen als Speisung des ADC.)
Arduino F. schrieb: > spess53 schrieb: >> Der ADC hat eine Sample&Hold Zeit von 1,5 ADC-Takten. Danach ändert sich >> am Wert nichts mehr. Und die 1,5 Takte sind vorgegeben, da verlängert >> sich nichts. > > Schwachsinn! Form! Immerhin bestätigst du mal wieder, daß schlechte Umgangsformen mit Sachverstand meist negativ korrelieren. > Datenblatt nicht gelesen! Und du: zwar gelesen, aber nicht verstanden. Die Sample-Zeit bei einer normalen [1] AD-Wandlung ist 1.5 Perioden des ADC-Taktes. Das ist auch nicht konfigurierbar. Außer über den ADC-Takt natürlich. > Hier ein Auszug (extra für dich): (schnipp) Nur daß hier "sampling time" etwas ganz anderes bedeutet. Es ist nicht die Zeit gemeint, für die der ADC-Eingang im sample Zustand verbleibt, sondern die Zeit, während der tatsächlich Strom in den S&H Kondensator fließt. Diese Zeit muß zwingend kürzer sein also die oben genannten 1.5 Takte, sonst kommt es zu einem Meßfehler. [1] die erste Wandlung nach dem Aktivieren des ADC verwendet 13.5 Takte, weil da der Analogkram im Signalpfad erst mal warm laufen muß. Atmel sagt es zwar nicht, aber ich nehme an, sie müssen da u.a. eine Ladungspumpe anwerfen, die die Betriebsspannung für die Analogschalter und den Komparator bereitstellt. Arduino F. schrieb: > Natürlich belastet das Laden des S&H Kondensator die Quelle! > Oder möchtest du dem Widersprechen? Textverständnis ist echt nicht dein Ding. Lies meinen Beitrag einfach noch einmal. Oder halt so lange, bis du ihn verstanden hast.
Axel S. schrieb: > [1] die erste Wandlung nach dem Aktivieren des ADC verwendet 13.5 Takte, > weil da der Analogkram im Signalpfad erst mal warm laufen muß. Atmel > sagt es zwar nicht, aber ich nehme an, sie müssen da u.a. eine > Ladungspumpe anwerfen, die die Betriebsspannung für die Analogschalter > und den Komparator bereitstellt. Auch das stimmt nicht. Auch Datenblatt nicht gelesen. Die erste Wandlung nach dem Aktivieren des ADC benötigt 25 ADC Takte, da die interne Statemaschine initialisiert wird. Alle weiteren Wandlungen kommen mit 13,5 aus. (wenn die restlichen Bedingungen stimmig sind) Axel S. schrieb: > Und du: zwar gelesen, aber nicht verstanden. Die Sample-Zeit bei einer > normalen [1] AD-Wandlung ist 1.5 Perioden des ADC-Taktes. Ebenso du: zwar gelesen, aber nicht verstanden. Du solltest nochmal die Atmel Unterlagen genauer studieren. Eine interner Komparator vergleicht die Spannung des S&H Kondensators und des Multiplexer Ausgangs. Wenn nahezu gleich wird die Wandlung gestartet. Nicht eher. Die Mindestzeit sind 1,5 ADC Takte. Schneller gehts nimmer. Tipp: Wenn man will, kann man das auch in einer Testschaltung überprüfen.
HI >Schwachsinn! >Datenblatt nicht gelesen! Deswegen hat der Sample&Hold Kondensator trotzdem keine 13,5 ADC-Takte, sondern nur 1,5 Takte(Table 24-1. ADC Conversion Time -> Sample & Hold) Zeit zum Umladen. Das ist die Zeit in der der Schalter in Figure 24-8. Analog Input Circuitry geschlossen ist. Und wenn das nicht reicht dann wird das Ergebnis falsch. MfG Spess
spess53 schrieb: > Das Problem ist, das während dieser 1,5 Takte bei zu hohen Impedanzen > ein Spannungseinbruch stattfindet der zu Fehlmessungen führen kann > (siehe Anhang). Auch das ist nicht (ganz) richtig. Deine Spannungseinbrüche haben kaum Wirkung. Tolle Bildchen, sie zeigen Einbrüche, aber diese Einbrüche verlängern nur die S&H Ladezeit. Auch hier kann man das recht einfach testen. Mal mit, und mal ohne Kerko, am Eingang. Mehr als ein armseliges Digit, macht das nicht aus. Auch wenn bei den Einbrüchen eigentlich 20 Digits zu erwarten wären.
spess53 schrieb: > Deswegen hat der Sample&Hold Kondensator trotzdem keine 13,5 ADC-Takte, Wo habe ich das gesagt? Das habe ich geschrieben: Arduino F. schrieb: > Das Datenblatt empfiehlt eine Impedanz der Eingangsschaltung von 10k, > oder kleiner, da sich sonst die S&H Zeit verlängern kann, und sich damit > die 13,5 ADC Takte für die Wandlung nicht garantieren lassen. Noch mal klarer: 13,5 ADC Takte für die Wandlung Nicht 13,5 für den S&H Vorgang Sondern gesamt. Steht doch auch im Datenblatt. spess53 schrieb: > Und wenn das nicht reicht dann > wird das Ergebnis falsch. Irrtum! Die S&H Zeit verlängert sich. Und damit kann man kein Zeitraster einhalten, wenn man das muss.
Arduino F. schrieb: > Du solltest nochmal die Atmel Unterlagen genauer studieren. > Eine interner Komparator vergleicht die Spannung des S&H Kondensators > und des Multiplexer Ausgangs. > Wenn nahezu gleich wird die Wandlung gestartet. Nicht eher. > Die Mindestzeit sind 1,5 ADC Takte. Hast Du auch eine Quelle dafür?
Arduino F. schrieb: > Du solltest nochmal die Atmel Unterlagen genauer studieren. > Eine interner Komparator vergleicht die Spannung des S&H Kondensators > und des Multiplexer Ausgangs. Wo willst du dir das ins Datenblatt halluziniert haben?
Boris O. schrieb: > und > berücksichtigst auch evtl. Komponenten vor dem µC. Mit 5% Kohleschicht > zu 100ppm Temperaturabhängigkeit im Spannungsteiler davor kann man sich > 1%-Referenzen auch sparen. Also der LM4040 is jetz auch mit 100ppm/K (max) angegeben. Das auch nur bei den teuren Selektionen, das geht hoch bis 200
So, habe jetzt getestet. Und möchte mich, in aller mir möglichen Demut, vor euch verbeugen! Ich bitte reumütig um Verzeihung. Der Test hat ergeben, dass die Wandlungszeit unabhängig von dem Signal ist. Völlig unabhängig. Die leichten Schwankungen, welche ich erhalten habe, sind auf meine ISR fürs Zeithandling und Debugausgabe zurückzuführen. Also ganz klar: Ich habe falsch gelegen! Den S&H Komparator habe ich dann wohl aus einem anderen Datenblatt von einem anderen ADC. Eine Transferfehlleistung bzw. lernen unter Schmerzen.
Wäre schön, wenn wir uns nun wieder alle vertragen könnten. Impedanz != Resistanz ADC-Eingang mit z.B. 100n abgeblockt ergibt auch bei hochohmiger Speisung (sagen wir 100k) für den S&H-Kondensator eine sehr niedrige Eingangsimpedanz. Dann dürften selbst 100k das Meßergebnis nicht wesentlich verfälschen. Wäre mal interessant, wohin ein geladener Kondensator am ADC-Eingang driftet, wenn man ihn von seiner Speisung entfernt und permanent die Spannung mißt. Welche Spannung stellt sich ein?
Arduino F. schrieb: > Also ganz klar: Ich habe falsch gelegen! Danke und schön, dass Du dazu stehst! Das macht nicht jeder...
Ich denke, Atmel hat das so gemeint, daß man dem S&H Kondensator ggf. mehr Zeit zum Laden geben muss (nicht dass die Zeit automatisch verlängert würde).
F. P. schrieb: > > Wäre mal interessant, wohin ein geladener Kondensator am ADC-Eingang > driftet, wenn man ihn von seiner Speisung entfernt und permanent die > Spannung mißt. Welche Spannung stellt sich ein? Das hängt von Details ab, die Atmel nicht nennt. Z.B. ob der S&H Kondensator (der in Wirklichkeit eine Menge parallel geschalteter, binär abgestufter Kondensatoren im ADC ist) mit dem anderen Ende wirklich an Vcc/2 hängt. Ob die Kondensatoren zwischen Messungen entladen werden, z.B. um die Offsetspannung des Komparators im ADC zu kompensieren. etc. Wenn du es genau wissen willst, probiere es aus. Schon die verwendete ADC-Technik ist durchaus spannend. Eine sehr detaillierte Beschreibung findet sich im Reference Manual des 68HC11 (ja, so alt ist diese Technik schon). Sonst google nach charge redistribution ADC
:
Bearbeitet durch User
Dietrich L. schrieb: > Zusammen damit, dass Atmel für das Analogsignal einen maximalen > Innenwiderstand von 10kOhm empfiehlt ist in dem Fall die > Temperaturabhängigkeit des Eingangswiderstand ziemlich sicher > vernachlässigbar. Immerhin hängen die Analog-In-Pins bei weitem nicht direkt am ADC. Da hängt noch ein bisschen was dazwischen, u.a. ein paar Kapazitäten, die irgendwie mal umgeladen werden wollen.
Habe mal 100n an den ADC7 des ATmega32 drangehängt, der Eingang scheint echt verdammt hochohmig zu sein (weit mehr als 100M). Auf 0 gezogen lädt sich der C verdammt langsam auf, pro LSB dauert es ca. 5 s (Referenzspannung: intern 2,56 V). Das wäre im pA-Bereich, da sind wir bei Eingangswiderständen im zweistelligen GOhm-Bereich?! Hätte bei solchen Beträgen eher die Umgebung in Verdacht, da wäre mein altes Steckbrett - direkt daneben befindet sich ja die Referenzspannung.
F. P. schrieb: > Habe mal 100n an den ADC7 des ATmega32 drangehängt, der Eingang scheint > echt verdammt hochohmig zu sein (weit mehr als 100M). Auf 0 gezogen lädt > sich der C verdammt langsam auf, pro LSB dauert es ca. 5 s > (Referenzspannung: intern 2,56 V). Das wäre im pA-Bereich, da sind wir > bei Eingangswiderständen im zweistelligen GOhm-Bereich?! Real ist da nirgendwo ein Widerstand. Nur Leckströme. Die können aber durchaus positiv oder negativ sein (vulgo: aus dem Pin raus oder in ihn rein) und das auch abhängig von der anliegenden Spannung. Außerdem sind die Leckströme thermisch verursacht, steigen also mit der Temperatur. Und zwar exponentiell, ca. Verdopplung pro 10K. Die +/-1µA aus dem Datenblatt gelten über den ganzen Temperaturbereich und enthalten sicher extra noch ganz viel Sicherheitszuschlag. Für die eigentliche Fragestellung ist dein Meßaufbau nicht gut. Statt 100nF solltest du eher 100pF hinhängen. Den lädst du dann einmalig auf (vom Vref-Anschluß) und dann machst du ein paar (Tausend) Messungen und schaust wie sich der Meßwert ändert. Dann das gleiche Spiel mit anfänglich entladenem Kondensator. Und gerne noch für weitere Startwerte. Ich würde da auch Vref=Vcc setzen und den Fall U_anfang=Vcc/2 extra anschauen.
Kann morgen gerne mal den Eingang an der Keithley 2450 durchmessen, wenn ich Zeit habe. Ich bin hier zu Hause momentan nur mit den nötigsten Dingen ausgestattet (100p = Fehlanzeige) und nach Feierabend will man doch irgendwann nach Hause.
Toll! Nach ca. 20 Postings ist langsam durchgesickert, was ich schrieb - und es wurden noch keine allzu groben Beleidigungen ausgetauscht. Daraus lässt sich etwas Optimismus für das Niveau des Forums schöpfen... Bin schon gespannt, was der "Keithley 2450" am ADC-Eingang neues entdecken kann. - Ist der in der Lage, den C_Sample, der sich mal kurz für 1,5 ADC-Takte zeigt, zu messen? Wozu? Laut Datenblatt/App-Note irgendwas von 10..40 pF. - Den Leckstrom UNTER DEN GERADE VORLIEGENDEN BEDINGUNGEN / BEI GENAU DIESEM µC-EXEMPLAR könnte man vielleicht erfassen. Sagt aber nix über ALLE EXEMPLARE bei T = min bis max... Wer eine funktionierende Schaltung aufbauen will, muss sie so konstruieren, dass sie mit den worst-case-Werten im Datenblatt noch zuverlässige Werte (im geforderten Toleranzbereich) liefert. - ALLES ANDERE KANN ZU MURKS FÜHREN!
Die SMU ist nicht für dynamische Sachen geeignet, mißt dafür aber geringste Leckströme im pA-Bereich, sofern denn das Setup auch paßt. So habe ich beispielsweise low-leakage Chips ausgemessen, das kann man ohne Triaxial-Meßleitungen knicken. Anhand der sich ergebenden Sperrkennlinien mit ihren Krümmungen lassen sich dann Rückschlüsse auf die Technologie ziehen (z.B. wieviele und was für Dioden und welche wie im Substrat liegen). Im oberen nA-Bereich wird's für die Chipentwickler schon wieder uninteressant. Mit einem Oszi sollte man die Störungen beim Sampeln aber sehen können. Mit einem 10:1-Tastkopf hat man um die 10p || 10M, dazu ggf. noch ein 10M zum Vorspannen auf Vref... Übrigens habe ich jetzt doch mal den Lötkolben angeschmissen und einen 22p aus der Schrottkiste geerntet. Damit stellt sich ein Gleichgewicht ein, der ADC gibt um die 400 raus (ergibt ziemlich genau 1 V). Egal, ob der C nach Masse oder nach Ref kurzgeschlossen wurde. Das Ergebnis zappelt natürlich um einige Bits rum, es hängt ja nur der 22p am Eingang.
F. P. schrieb: > Mit einem Oszi sollte man die Störungen beim Sampeln aber sehen können. Sieht man. Wir hatten mal in einem Projekt einen Pin mit potentieller ADC-Funktion als GPIO-Input genutzt. Schalter nach Masse und Pullup (10k?) nach VDD. Weil's bequemer war hatten die Kollegen vom MCU-HAL den Kanal aber trotzdem A/D-gewandelt. Das Ergebnis stand mit im Array und wurde halt ignoriert. Irgendwann fiel auf, dass der Portpin immer wieder mal sporadisch als low eingelesen wurde, obwohl er eigentlich high sein sollte. In der Praxis kein Problem, da es durch die Entprellung unterdrückt wurde, aber trotzdem unerwünscht. Bei der Fehlersuche stellte sich dann heraus, dass der Effekt verschwindet wenn man den AD-Kanal aus dem Scheduling rausnimmt. Es war also tatsächlich der Dip beim samplen, der hier den falschen Pegel verursacht hat. Mit dem Oszi (Keysight 500 MHz 1:10 Tastkopf mit vielleicht 10pF) hat man den Dip gesehen, er ging aber nur bis ca 4 V herunter. Um die FET-Probe zu holen war ich zu faul, damit hätte man es noch besser gesehen. Der Controller sitzt natürlich etwas näher an seinem Pin, so dass es da für ein low gereicht hat. Mit 47pF am Pin war der Spuk auch weg.
F. P. schrieb: > Habe mal 100n an den ADC7 des ATmega32 drangehängt, der Eingang scheint > echt verdammt hochohmig zu sein (weit mehr als 100M). Auf 0 gezogen lädt > sich der C verdammt langsam auf, pro LSB dauert es ca. 5 s > (Referenzspannung: intern 2,56 V). Das wäre im pA-Bereich, da sind wir > bei Eingangswiderständen im zweistelligen GOhm-Bereich?! Na ja, das Datenblatt erlaubt als input leakage current I/OP pin 1uA, und das wären bei 2.56V Referenzspannung und 1024 A/D-Auflösung, also 2.5mV Auflösung, 2500 Ohm maximale Eingangsimpedanz bis ein bitfehler auftritt. Die laut Datenblatt maximle Eingangsimpedanz von 10k führt dann schon zu 4 LSB Fehler. Glücklicherweise ist der Leckstrom real nicht so hoch, der Datenblattgrenzwert gilt ja vor allem auch bei hoher Chiptemperatur, aber wenn 1uA bei 85 GradC erlaubt sind und 3uA bei 105 GradC, dann gelten bei 25 GradC noch 0.035uA, was an 75k Eingangsimpedanz den 1 LSB Fehler ergibt. 100k Quellimpedanz sind also (es sei denn man will falsch messen) nicht möglich. Wer hochohmiger baut und mit 10nF Kondensator das sampling des Eingangskondensators abstützt fährt nach dem Prinzip der Hoffnung daß der Chip wesentlich besser ist als das Datenblatt zugesteht - dann kann er den Kondensator auch gleich weglassen. Wesentlich besser wird der Analog Comparator Eingang laut ATmega8 Datenblatt bewertet, mit nur +/-50nA. Leider hängt der an PortD und nicht einem A/D-Eingang.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.