N'abend,
ich habe jetzt im Netz schon eine Weile nach Möglichkeiten gesucht die
Linearität eines ADC, in meinem Fall LTC2400, mit "Heimmitteln" messen
zu können, bin aber noch zu keiner zufriedenstellenden Lösung gekommen.
1. Rampengenerator: scheidet aus, weil wohl die Rampe für einen 24bit
ADC nicht linear genug sein wird.
2. Widerstandsnetzwerk an einer unabhängigen 5V-Spannungsreferenz: nur
so viele Stützpunkte wie Widerstände vorhanden
3. KVD + 3458A: fällt leider aus, da ich beides nicht habe
4. 32bit PWM-DAC + 3458A: scheitert wieder am 3458A, den PWM-DAC
aufzubauen wäre zumindest irgendwo machbar.
http://www.edn.com/design/other/4326640/DC-accurate-32-bit-DAC-achieves-32-bit-resolution
Gibt es andere Möglichkeiten? Kann man mit einem digital pseudo random
noise generator die Linearität über rechnerische Umwege messen?
Wäre toll, wenn sich die Profis dazu äußern könnten.
Eine verwegene Idee. Die einzige Moeglichkeit koennte eine fast- Rampe
sein.
Ein Kondenser mit schlechtleitendem Dielektrikum, und den mit einem
Widerstand aufladen. Es muss ja keine lineare Rampe sein, wenn man sie
berechnen kann.
Es gibt Dielektrika, die haben so wenig Leckstrom dass die Ladung
waehrend Monaten drauf bleibt. Auch der Wert des Widerstandes ist
weniger wichtig, solange er stabil bleibt. Eine Linearitaetsmessung
kommt ohne Wissen zum Widerstandswert aus.
Hallo,
ich habe ein Verfahren mit 2 (oder 3) von diesen PWM-DACs im Hinterkopf.
Jeder DAC ist galvanisch getrennt und über eine Relais-Matrix beliebig
verschaltbar.
Außerdem ist am DAC sowohl ein Ausgang der Referenz als auch der
PWM-Ausgang verfügbar.
Die DACs und der ADC sind temperaturstabilisiert.
Der DAC selbst ist leider auch nicht linear (wegen unterschiedlicher
RDS-On im high und low-Zustand sowie unterschiedlicher ton/toff).
Die Angaben im Artikel zur Genauigkeit sind leider etwas zu
optimistisch.
Wenn nicht die im Artikel angegebenen MAX4053A verwendet werden ist man
auch schnell bei mehreren 100uV Nichtlinearität.
1. Step:
DAC 2 so abgleichen daß die "halbe Ausgangsspannung" dieselbe ist egal
ob DAC2 gegen GND oder Referenz DAC1 - DAC2 Spannung gemessen wird.
-> DAC2 hat exakt halbe Ausgangsspannung von DAC1.
-> erste Meßpunkte für linearität = Full Scale + halbe Ausgangsspannung.
2. Step:
DAC1 lassen
DAC2 auf halbe Ausgangsspannung DAC1 abgleichen
(DAC2-> GND = DAC1 - DAC2 am GND von DAC2 gemessen.)
-> 2. Meßpunkt 1/4 Spannung.
3.Step
Dto zwischen Ausgang DAC1 und VREF DAC2 -> 3/4 Spannung
usw..
Die Frage ist aber: wie genau soll es denn sein?
Wegen Rauschen ist der Abgleich für höhere Genauigkeiten seeehr langsam.
Unter 1 ppm Linearität ist sowieso unrealistisch.
Wegen der Quadratischen Fehlerkurve (siehe AN86) reichen dafür aber
wenige Spannungsteilerabgriffe und etwas Mathematik schon aus.
Gruß Anja
Am einfachsten wäre wohl wirklich ein 3458A. Die meisten 34401A sind
aber auch deutlich besser als 1ppm. Aber das müsste man halt erst mal
verifiziert haben.
Was genau hast Du denn vor?
Steffen schrieb:> Wie viele Stützpunkte brauchst Du denn?
Das kann ich noch nicht genau sagen. Ich weiß ja nicht wie realistisch
diese parabolische Fehlerkurve des LTC2400 wirklich ist, vermutlich ist
es eine typische Fehlerkurve.
Wie hat denn Linear Technology die Linearität des LTC2400 wohl bestimmt?
Vieleicht mal umgekehrt anfangen. Der LTC2400 Sigma Delta ist nicht
schnell. Du kannst den an einigen Stützstellen gegen ein 6,5 oder
mehrstelliges Voltmeter vergleichen. Das größte Problem für die
Linearität dieses Wandlers sind die codeabhängigen Biasströme des
Eingangs. Du mußt ihn sehr niederohmig treiben. Trotz der nach außen
niedrigen Abtastfrequenz mußt Du den Eingangs S&H Kondensator (eine
Handvoll PF) mit der Frequenz des Modulators auf 24 bit "setteln". Das
sind ca. 13 tau. Das ist bei den neueren Typen (LTC2492 etc.) einfacher,
weil die codeproportionale Biasströme haben und höhere
Eingangsimpedanzen in erster Näherung erstmal nur Gainfehler produzieren
und nicht auch sofort Linearitätsfehler, wie beim LTC2400. Schau dir mal
die Kurven zu den Eingangsfilterbeschaltungen in den Datenblättern an.
Nur sone Idee, ohne teure Geräte:
Wenn es auf Linearität und nicht auf die Absolutwerte ankommt, müßte
doch eine lineare Rampe als Spannungsquelle gehen.
Ein oder mehrere gute Kondensatoren und ein guter OpV bilden einen
analogen Integrator. Rampensteilheit über Widerstand und konstante
Spannung wählbar.
Wenn man in gleichbleibenden Zeitabständen mißt, zeigt die Differenz der
Wandlerwerte die Linearität an.
Gruß - Werner
Ein Problem ist in der Tat der schaltende Eingnag des LT2400. Der laesst
erheblichen Dreck zum Eingang raus. Wenn man den Eingang gepuffert hat,
um den Eingang zu entkopplen, kann man den zb mit einem 100M Ohm
Widerstand einen 10uF Polypropylen Kondenser laden. Einen Fet Eingang
vorausgesetzt waere die Zeitkonstante dann 1000s oder eine
Viertelstunde.
Wenn man sich etwas um Schalter kuemmert und sich einen J-Fet
Sourcefolger goennt, kann man den Ladeprozess nach Belieben verzoegern.
Allenfalls waere ein ACF2101 ein Anfang. Ein geschalteter Integrator mit
100fA Bias Strom. Da einen 10u Polypropylen ran.
Ich meinerseits bevorzuge ADCs die bereits Bufferverstaerker enthalten.
Anja schrieb:> Die Frage ist aber: wie genau soll es denn sein?> Wegen Rauschen ist der Abgleich für höhere Genauigkeiten seeehr langsam.> Unter 1 ppm Linearität ist sowieso unrealistisch.> Wegen der Quadratischen Fehlerkurve (siehe AN86) reichen dafür aber> wenige Spannungsteilerabgriffe und etwas Mathematik schon aus.
Wie reproduzierbar ist dieser Ansatz tatsächlich, wie reproduzierbar das
quadratische Verhalten der Fehlerkurve (Exemplarstreuung)? Die Abbildung
im Datenblatt ist exakt die in AN86. Wie sieht die Kurve von zwei
Exemplaren aus?
Werner H. schrieb:> Wenn es auf Linearität und nicht auf die Absolutwerte ankommt, müßte> doch eine lineare Rampe als Spannungsquelle gehen.
Dann braucht man aber wieder ein Referenzgerät, das simulatan mitmisst.
Braucht man nicht, nur konstanten Meßtakt.
Bei strenger Linearität ist die Differenz der ausgegebenen ADC-Werte
immer gleich (bis auf 1 Bit). Bei Nichtlinearitäten ist die Differenz
verschieden.
Gruß - Werner
Man braucht keine lineare Ranpe und man braucht auch kein
Referenzgeraet. Einfach einen Kondenser mit einem Widerstand laden
sollte gehen. Auch der Widerstandswert ist egal wenn Vref zum Laden
verwendet wird.
Dazu sinnvoll sind eine hinreichend stabile (!!!!!!) einstellbare Quelle
und ein Multimeter mit ausreichender Genauigkeit. Ein Fluke85 wirds für
24Bit da wohl nicht tun, 6,5 Stellen wird man mindestens brauchen.
Die Quelle könnte man sich aus einer einstellbaren
Referenzspannungsquelle bauen. Eine 0,01% dürfte reichen, wenn sie
hinreichend stabil ist, UND du die Temperatur konstant hältst. Nur stell
dir das nicht so einfach vor, wie es klingt (warum, siehe unten).
Du stellst Spannungen ein und vergleichst sie mit den Messwerten des
Multimeters. Wie genau das Multimeter ist, steht im Handbuch.
Warum so?
Weil durch dieses Verfahren definiert ist, wie genau deine Refernz ist.
Diese ist das Multimeter.
Aber:
Der Messaufbau für 24Bit wird ...interessant. Bedenke, dass 1LSB
0,059ppm sind. Bei einer 1ppm/K Referenzquelle... naja, kannst du dir ja
selber ausrechnen.
Ja, und die Spannung muss hochstabil sein. Die VERSORGUNG der Referenz.
Bei 3,3V und 60dB PSSR für die Referenz sind das 200µV.
Wer lässt sich eigentlich solche Messaufgaben einfallen? Ein Sadist?
24-Bit-Fan schrieb:> 6,5 Stellen wird man mindestens brauchen.
6,5 Stellen sind gerade mal 1ppm, wenn man den Range voll nutzt. Das ein
6,5 stelliges auch so linear ist, ist damit nicht gesagt. Die meisten
sind nicht so spezifiziert.
Lin Dhau schrieb:> Wie reproduzierbar ist dieser Ansatz tatsächlich, wie reproduzierbar das> quadratische Verhalten der Fehlerkurve (Exemplarstreuung)?
Bei Raumtemperatur kein Problem:
Wenn ich die Meßwerte (Mittelwerte über 1 Minute) auf den Scheitelpunkt
der Parabel zurückinterpoliere so ist die Streuung der Scheitelpunkte
bei korrektem Meßaufbau typisch in einem 3uV Band.
Werner H. schrieb:> müßte> doch eine lineare Rampe als Spannungsquelle gehen.
Ein MKS-Kondensator hat wegen z.B. Dielektrischer Absorption nur etwa
eine Linearität von ca 200 ppm. MKP ist etwa eine Größenordnung besser.
Reicht aber immer noch nicht für 24 Bit.
Werner H. schrieb:> Bei strenger Linearität ist die Differenz der ausgegebenen ADC-Werte> immer gleich (bis auf 1 Bit)
Nur wenn der ADC rauschfrei ist. -> bis etwa 12 Bit.
Beim LTC2400 ist das rauschen etwa 10uVpp bei einzelnen Meßwerten.
Und das auch nur bei korrektem Meßaufbau. (sonst mehr).
@Lin Dhau: wie stabil ist denn Dein Meßaufbau überhaupt? gibt es schon
Allan-Diagramme z.B. über 24 Stunden?
Welche Spannungsreferenz verwendest Du für den LTC2400?
Gruß Anja
kleiner Nachtrag:
Anbei Linearitätsmessungen an meinen beiden 34401A. Die vielen
Datenpunkte wurden gegen ein 3458A gemessen und mit einem zweiten 3458A
verifiziert. Als Quelle diente ein Fluke 5440B. Zwar nicht beschriftet,
aber man kann imho die beiden 34401A ganz gut auseinanderhalten.
Die Messung mit der Excel Grafik entstand mit einem Widerstandsteiler
(SR1010-100. Hatte damals leider nur so einen niederohmigen. Quelle:
100mA aus Knick JS3010). Es passt ja aber alles gut zusammen.
Ich glaube nicht, dass man auf ähnliche Ergebnisse mit einer Rampe an
einem Kondensator kommt. Wäre aber mal ein interessantes Experiment ;)
@Anja: Dickes Lob!
Ich bewundere schon lange Deine Kompetenz bezüglich Präzisionsmessungen!
Wo hast Du die speziellen Informationen her? Die mir zugänglichen
Datenblätter von Bauteilen und Geräten sind eher spärlich. Oder sind das
eigene Messungen?
Kannst Du vielleicht mal ein Buch über Präzisionselektronik schreiben?
Das würde mich freuen - Werner
Hallo Andreas,
sollen wir mal die Linearität deines PWM-DAC am 3458A messen? Mit einer
entsprechenden Software kann das ein automatisierter Ablauf sein.
-branadic-
Philipp C. schrieb:> Anbei Linearitätsmessungen an meinen beiden 34401A. Die vielen> Datenpunkte wurden gegen ein 3458A gemessen und mit einem zweiten 3458A> verifiziert. Als Quelle diente ein Fluke 5440B. Zwar nicht beschriftet,> aber man kann imho die beiden 34401A ganz gut auseinanderhalten.
Schöne Messung, die sollte ich für mein Prema 5017 auch einmal machen,
denn außer "gute Linearität" finde ich bei Prema nicht eine einzige
belastbare Zahl dazu.
Werde wohl mal den Burster DC-Standard und das 3458A dafür hernehmen
müssen, um das nachzuvollziehen.
-branadic-
branadic schrieb:> Schöne Messung, die sollte ich für mein Prema 5017 auch einmal machen,> denn außer "gute Linearität" finde ich bei Prema nicht eine einzige> belastbare Zahl dazu.> Werde wohl mal den Burster DC-Standard und das 3458A dafür hernehmen> müssen, um das nachzuvollziehen.
Das würde mich auch sehr interessieren. Irgendwie schwören ja viele auf
die Prema Geräte. Ich hatte mal ein 6001 am 3458A, aber das hat ja
leider nur 6,5 Stellen.
Zusammen mit dem 3458A braucht es ja auch keine besonders stabile
Quelle. Es reicht ja, wenn die über einen Messpunkt stabil ist.
Auf Grund der eher geringen Geschwindigkeit und des relativ starken
Rauschens ist man beim LTC2400 sowieso auf relative wenige Testpunkte
beschränkt. Für wirklich viel Messpunkte braucht man lange und hat dann
Drift von der Referenz mit drin.
Wegen des Eingangsstromes müsste man wohl auch nicht nur den ADC,
sondern das System mit Pufferverstärker davor vermessen. Direkt am
Eingang hätte man zu viel Probleme mit unterschiedlicher Quellimpedanz.
Die Rampenlösung ist für die INL einfach nicht genau genug. Das geht in
grenzen für so etwas wie DNL, also um zu sehen ob einzelne Werte zu oft
oder zu selten vorkommen. Wegen der eher geringen Geschwindigkeit ist
die Anwendung aber auch begrenzt. Das Wissen, das die DNL gut ist,
reicht aber aus, um die Zahl der nötigen Stützstellen für die INL
Messung zu reduzieren.
Als DIY-Lösung bleibt da eigentlich nur die Fliegende 2.Referenz mit ein
paar Stützstellen, z.B. per Teilerkette. Die Zahl der Widerstände ist da
ggf. noch nicht einmal so begrenzend, denn die Teilung muss weder
gleichmäßig noch super stabil sein. Kurzzeit-stabil über einige Sekunden
dürfte bereits ausreichen. Auch hier braucht man für jedes Spannungsset
schon einge ganz Menge Messungen, um das Rauschen vom ADC und den
Referenzen klein zu kriegen. Es hilft da sicher wenn man den Teil
automatisiert einige Male durchlaufen lassen kann, um weniger
Empfindlich auf die ganz langsamen Frequenzen von den Referenzen zu
sein. Je Test (3 Spannungen so dass U1+U2 = U3) wird man da schon in den
Bereich Minuten kommen um genügend rauscharme Werte zu bekommen.
Für die Anpassung der einfachen Parabel reichen auch schon relativ
wenige Stützstellen.
Lin Dhau schrieb:> ich habe das Layout vom ADC hier gefunden:
Dann baust Du dir hoffentlich den dabeiliegenden Spannungsteiler mit
auf.
Ein Pufferverstärker ist ja auch mit auf der Teiler-Platine.
Ein LM399 kann dann als stabile Eingangsreferenz dienen.
Lurchi schrieb:> Je Test (3 Spannungen so dass U1+U2 = U3) wird man da schon in den> Bereich Minuten kommen um genügend rauscharme Werte zu bekommen.
Zwischendrin muß man ja auch noch die Stecker wieder abkühlen lassen
wenn man die (mit Kunststoffpinzette) angefaßt hat.
Ein Meßpunkt dauert so ca 3 Minuten 1. Minute Umbau, 2. Minute
temperaturausgleich, 3. Minute messen (Mittelwert aus ca 300
Messwerten).
Mit Offsetabgleich, Fullscale Abgleich (gerne auch öfter wegen
eventueller Drift) und 2 Messungen für einen Abgriff (von 10) sinds dann
ca 2 Stunden.
Lin Dhau schrieb:> Es kommt der> LT1236LS8 zum Einsatz.
Wichtig ist natürlich daß man vorher die Temperaturdrift der LT1236 im
ADC abgleicht. Im Durchschnitt driftet sonst die Referenz mit -3 ppm/K
was einen DNL-Abgleich stark erschwehrt.
D.h. Du brauchst entweder 2 LT1236 bei denen eine auf konstanter
Temperatur und die andere im Thermoschrank sitzt, oder eine LM399 mit
einem gepufferten 2:1 Spannungsteiler (mit LTC1043).
Werner H. schrieb:> Oder sind das> eigene Messungen?
ja, z.B. jahrelange schlechte Erfahrungen mit meinem ersten Dual-Slope
ADC mit ca 15 Bit Auflösung. Bis dann die Erleuchtung in einem Bob Pease
Artikel kam. Mit der Zeit lernt man die realen Eigenschaften der
Bauteile kennen.
Werner H. schrieb:> Kannst Du vielleicht mal ein Buch über Präzisionselektronik schreiben?
Sicher nicht, Ich mache lieber ein paar neue Erfahrungen bei neuen
Messungen.
Gruß Anja
Lurchi schrieb:> Kurzzeit-stabil über einige Sekunden> dürfte bereits ausreichen.
Bei mehreren Minuten Messzeit für ein Punktepaar ist die Anforderung
höher. Da darf innerhalb 20-30 Minuten nichts über 0.5 ppm driften.
Also möglichst konstante Raumtemperatur.
Schaltung mit Tuch abgedeckt gegen Luftzug.
Temperaturkoeffizient der Referenz abgeglichen.
Gruß Anja