Forum: Analoge Elektronik und Schaltungstechnik Linearität ADC messen


von Lin Dhau (Gast)


Lesenswert?

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.

von Steffen (Gast)


Lesenswert?

Wie viele Stützpunkte brauchst Du denn?

von Purzel H. (hacky)


Lesenswert?

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.

von Anja (Gast)


Lesenswert?

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

von Philipp C. (e61_phil) Benutzerseite


Lesenswert?

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?

von Lin Dhau (Gast)


Lesenswert?

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?

von Philipp C. (e61_phil) Benutzerseite


Lesenswert?

Lin Dhau schrieb:
> Wie hat denn Linear Technology die Linearität des LTC2400 wohl bestimmt?

Wahrscheinlich so wie in AN86, mit dem 3458A

von Christian K. (Gast)


Lesenswert?

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.

von Werner H. (werner45)


Lesenswert?

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

von Purzel H. (hacky)


Lesenswert?

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.

von Lin Dhau (Gast)


Lesenswert?

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.

von Werner H. (werner45)


Lesenswert?

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

von Purzel H. (hacky)


Lesenswert?

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.

von 24-Bit-Fan (Gast)


Lesenswert?

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?

von Philipp C. (e61_phil) Benutzerseite


Lesenswert?

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.

von Anja (Gast)


Lesenswert?

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

von 24-Bit-Fan (Gast)


Lesenswert?

Philipp C. schrieb:
> 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.

Stimmt, ja, 8,5 Stellen wären fast besser. Und selbst das wird knapp.

Das da vielleicht?
http://www.keysight.com/en/pd-1000001297:epsg:pro-pn-3458A/digital-multimeter-8-digit?cc=AT&lc=ger

von Philipp C. (e61_phil) Benutzerseite


Lesenswert?

24-Bit-Fan schrieb:
> Stimmt, ja, 8,5 Stellen wären fast besser. Und selbst das wird knapp.
>
> Das da vielleicht?
> 
http://www.keysight.com/en/pd-1000001297:epsg:pro-pn-3458A/digital-multimeter-8-digit?cc=AT&lc=ger

Die Stellen sind irgendwann zweitrangig. Es muss die Linearität 
aufweisen.

Und ja, das 3458A kann das. Wurde hier Eingangs ja auch schon erwähnt. 
Aber wie schon gesagt die meisten 34401A können das auch.

von Philipp C. (e61_phil) Benutzerseite


Angehängte Dateien:

Lesenswert?

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 ;)

von Werner H. (werner45)


Lesenswert?

@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

von branadic (Gast)


Lesenswert?

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-

von branadic (Gast)


Lesenswert?

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-

von Philipp C. (e61_phil) Benutzerseite


Lesenswert?

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.

von Lin Dhau (Gast)


Lesenswert?

Anja schrieb:
> @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?

Hallo Andreas,

ich habe das Layout vom ADC hier gefunden:

https://www.eevblog.com/forum/projects/oshw-24bit-adc-measurement-system-for-voltage-references/

und mir eine Leiterplatte fertigen lassen und aufgebaut. Es kommt der 
LT1236LS8 zum Einsatz. Allan Diagramme gibt es von meinem Aufbau nicht.

von Lurchi (Gast)


Lesenswert?

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.

von Anja (Gast)


Lesenswert?

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

von Anja (Gast)


Lesenswert?

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

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
Noch kein Account? Hier anmelden.