Forum: Analoge Elektronik und Schaltungstechnik AD Wandler Genauigkeit


von Mario EDUARDO (Gast)


Angehängte Dateien:

Lesenswert?

Hallo alle,

Ich weiß nicht, wie ich diese Meßwerte bzw deren Genauigkeit verstehen 
soll.
Details in der angehängten EXCLE Tabelle.

Die Uref kommt von einem AD780 die gleichzeitig einen simplen 
Spannungsteiler versorgt. Alle Widerstände sind entweder 0.1% oder 0.01%
und mit einem Fluke 8846A nachgemessen. Die Messung wurde 3 mal 
durchgeführt, immer das selbe Meßergebnis.


Ich habe einige Widerstandswerte (0, unendlich, 1, 10, 100, 1K, 2K, 5K, 
10K)
mit dem Fluke gemessen, mit dem 7714 gemessen und berechnet, was lt 
Theorie zu erwarten ist.

Es hat sich letztendlich herausgestellt, daß der AD7714 
(erwartungsgemäß) zu wenig mißt. Erstaunt hat mich, daß der Fehler eine 
Konstante ist, und zwar in der Größenordnung 2^24 - "dem Wert, der der 
Eingangsspannung=2.5Volt entspricht"; Excel Sheet Spalte K bzw F17.

 + Ich verstehe nicht, wieso das genau dieser Differenz entspricht (der
   0-Fehler scheint nicht einzugehen)

 + und 2tens nicht ganz eine Gerade ist, sondern diesen komischen 
Verlauf
   mit einem Maximum bei Zeile 23.

Kann mir wer dieses Fehlerverhalten erklären ?


PS: Mir geht es zunächst um das Verständnis der Theorie, nicht mehr.
Die praktische Auswirkung bzw Folgerungen aus einer ANtwort überlege ich 
mir später.


Wer hat eine Idee ??


Danke, Mario

von arcmobil (Gast)


Lesenswert?

Sind die Buffer des AD7714 bei den Messungen an? Dann siehe Datenblatt 
"External R, C Combinations for No ... Gain Error".

von Achim S. (Gast)


Lesenswert?

Hast du eine Calibration für deine Einstellungen vorgenommen?

Aus dem Datenblatt:
" Calibration on the AD7714 removes
offset and gain errors from the device.  A calibration routine
should be initiated on the device whenever there is a change in
the ambient operating temperature or supply voltage.  It should
also be initiated if there is a change in the selected gain, filter
notch or bipolar/unipolar input rang"

Ohne Calibration macht die Spec praktisch keine Angaben zur Genauigkeit 
des ADC.

von Mario EDUARDO (Gast)


Lesenswert?

Danke für die Hinweise, das ist aber nicht mein Problem.
Ich versuche, es etwas genauer zu schildern.

Der ad7714 mißt immer das gleiche. Es ist alles reproduzierbar!

Bzgl der Fehler gibt es die interne Zero und Full Scale Calibration.
Das Gleiche gibt es mit extern.
So wie ich ds verstanden habe, muß ich bei der externen Kalibrierung
einen Multiplexer nehmen, und damit vorher Null oder Vref anlegen.
Das hab ich nicht und will ich auch nicht, da das den Aufwand und auch 
Fehlerquellen vergrößert.

Das, was der AD7714 intern macht, muß man doch außen mit ein wenig Mathe 
nachmachen können. So habe ich Referenzwiderstände genommen, also eine 
Umgebung, bei der ich weiß, was herauskommen soll.

Wenn ich mir so was ähnliches wie eine Tabelle machen würde, könnte ich 
ja darin die Zuordnung von Meßwert undd Ergebnis machen. Das ginge 
deswegen, weil bei 1Kohm immer der gleiche Meßwert im AD7714 
herauskommt. Das will ich aber so nicht, auch dewegen, weil das keiner 
so macht.

Also hab ich versucht, dahinterzukommen, welche Gesetzmäßigkeit bei dem 
Fehler dahinter steckt.

Annahme: N ist der Registerstand bei 0 Volt am Eingang des AD7714, M ist 
der bei Vref am Eingang. Ich hätte mir erwartet, daß die tatsächliche 
Wertigkeit eines Bit (M-N)/(2^24) ist. Ist es aber nicht. Es ist - wie 
schon geschildert eine Konstante. WIESO EINE KONSTANTE ???

Die Frage hat nix mit Buffer ein aus etc zu tun. Messung ist 
reprodzierber und für meine ureigentliches Problem ausreichend genau. 
Ich will eine PT1000 zwischen 0Graf unf 130 Grad auf etwa 0.25 Grad 
genau messen.
Im wienerischen sagt zu diesem Problem "Hirnwixerei", höflich formuliert 
bin ich nur neugierig.


Danke Mario

von Achim S. (Gast)


Lesenswert?

Tut mir leid, aber so ganz verstehe ich leider immer noch nicht, was 
genau dich stört.

Du hast im Excel-Sheet eine Spalte AD soll-ist, die meist ungefähr im 
Bereich 10000 liegt. Interessiert dich, warum hier etwas im Bereich 1000 
rauskommt? Wäre der Wert völlig konstant, dann würde man ihn einfach 
"Offset Error" nennen und durch eine Kalibrierung rausrechnen. Dann wäre 
der Gainfehler gleich Null, die Istkurve wäre nur um einen konstanten 
Wert gegenüber der Idealen Kurve verschoben. Und der gemessene Offset im 
mV Bereich ist - ohne spezielle Trimmung oder ohne Kalibrierung - kein 
großer Wert.

Das Kalibrieren macht der ADC für dich, aber er macht es nur richtig, 
wenn du die Kalibrierung  für die tatsächlich genutzte Einstellung 
(Gaineinstellung) anstößt.

Der ADC ist intern so weit zurechtgetrimmt, dass er möglichst nahe an 
der idealen Kennlinie liegt. Aber da das Teil µV auflöst, gibt es 
natürlich immer verbleibende Abweichungen (auch die ausgefuchsesten 
Schaltungen sind halt nicht ideal). Diese Abweichungen unteilt man in 
verschiedene Beiträge.  Der Abweichung beim Nullpunkt gibt man den Namen 
Offsetfehler (und den kann man wegkalibrieren).

Misst man dann den Wert bei der maximalen Eingangsspannung, kann man den 
(mittleren) Verstärkungsfehler daraus bestimmen und rauskorrigieren. Mit 
der Zero- und FullScale-Kalibrierung bekommst du also die lineare 
Näherung an die Istkurve des ADC. Wunderst du dich, warum bei der 
Verstärkung (bzw. bei der Größe des Quantisierungsintervalls) eine 
Konstante rauskommt? Du näherst die mittlere Steigung der Istkurve durch 
eine Gerade an. Eine Gerade hat halt eine konstante Steigung.

Was als Fehler nach dieser linearen Näherung übrigbleibt, lässt sich 
durch die Zweipunktkalibrierung nicht beheben. Man gibt diesem 
Fehleranteil einen Namen (Linearitätsfehler bzw. Integral Nonlinearity). 
Eine allgemeine Gesetzmäßigkeit, wie dieser Linearitätsfehler von der 
Eingangsspannung abhängt, wirst du nicht finden. Die hängt von 
zufälligen Schwankungen der Parameter im Halbleiter ab. 0,001% vom 
Messbereich sind ja auch nicht so wahnsinnig viel.

von Mario EDUARDO (Gast)


Lesenswert?

Hallo Achim

Ich hab jetzt nichtt mehr die Energie deine Mail ganz zu lesen, mach ich 
morgen !!

Ich habe jetzt alles nochmal kontrolliert.
Der Eingangsbuff (Pin13) ist auf High, also eingeschaltet.

Ich hab alle (diesmal wirklich alle) Widerstände nochmal (mit 4-Leiter 
Messung) nachgemessen, der konstante Faktor in Spalte K ist jetzt etwas 
flacher.

Die Nichtlinearität ist eine gute Begründung. So wie ich das um die 
Uhrzeit jetzt sehe, dafür dass es nicht immer (dzt) 9800 sind, sondern 
auch mal 9100 sind. Aber die grundsätzliche Größenordnung , wo kommt die 
her ?

Ich muß gestehen, as gibt im Manual des 7714 (oder auch des 7795) eine 
Beschreibung wie diese Offsetregister die korrwektur beeinflussen. Ich 
habs mit meinem Englisch nicht verstanden.

Bis morgen und Danke!, Mario

von Achim S. (Gast)


Lesenswert?

Mario EDUARDO schrieb:
> So wie ich das um die
> Uhrzeit jetzt sehe, dafür dass es nicht immer (dzt) 9800 sind, sondern
> auch mal 9100 sind. Aber die grundsätzliche Größenordnung , wo kommt die
> her ?

9800 entspricht einer Spannung von rund 1,4mV. Diese 1,4mV sind einfach 
der Offset deines ADC. Wenn außen 0V anliegen, sieht er innen nicht 
genau 0V sondern 1,4mV.

Wie oben schon geschrieben: wenn ein Verstärker nicht extra kalibriert 
wird (sei es durch Software oder sei es durch Lasertrimming bei einem 
Präzisionsverstärker), dann ist 1-2mV ein üblicher Wert für den Offset. 
Kommt größtenteils daher, dass der Differenzverstärker am Eingang nicht 
perfekt symmetrisch ist.

von m.n. (Gast)


Lesenswert?

Mario EDUARDO schrieb:
> Ich will eine PT1000 zwischen 0Graf unf 130 Grad auf etwa 0.25 Grad
> genau messen.

Dafür reicht doch ein 12 Bit Wandler bestens aus.
Oder brauchst Du 24 Bit, weil Du zwei Kanäle messen willst?

von Harald W. (wilhelms)


Lesenswert?

Mario EDUARDO schrieb:

> So wie ich ds verstanden habe, muß ich bei der externen Kalibrierung
> einen Multiplexer nehmen, und damit vorher Null oder Vref anlegen.
> Das hab ich nicht und will ich auch nicht, da das den Aufwand und auch
> Fehlerquellen vergrößert.

Komisch, so oder ähnlich arbeitet man eigentlich immer bei
Präzisionsmessungen. Und zwar, um einen möglichst kleinen
Fehler zubekommen.

von Mario EDUARDO (Gast)


Lesenswert?

>>Präzisionsmessungen. Und zwar, um einen möglichst kleinen
>>Fehler zubekommen.

Ja, das sehe ich auch so. Ich möchte auf etwa 0.25 Grad genau messen, 
0.4 Grad genau würde auch langen. Soweit funktioniert meine Meßschaltung 
für meine Zwecke.

Eine andere Sache ist, daß ich verstehen will was sich da abspielt:

Wenn der OP intern einen Offsetfehler von 1.4mV hat,
erwarte ich mir, dass der mit der ZeroScale Calibration draußen ist.

Ich würde mir im Offsetregister ebenso etwa 9800 erwarten.
Lt Datenblatt wird ja dieses Register additiv behandelt.

Und wenn ich den Eingang über 10Kohm nach Vref lege (das passiert wenn 
ich den eingang meiner Schaltung offen lasse) erreiche ich nicht 2^24 
sondern weniger. Ich dachte daß diese Fehler additiv und nicht 
subtraktiv agieren ?!
Also 2^24 bereits mit einer kleineren Spannung als Vref erreicht wird.

Mario

von Achim S. (Gast)


Lesenswert?

Mario EDUARDO schrieb:
> Wenn der OP intern einen Offsetfehler von 1.4mV hat,
> erwarte ich mir, dass der mit der ZeroScale Calibration draußen ist.

Das würde ich auch erwarten - falls du eine Kalibrierung mit der von dir 
genutzten Verstärkereinstellung angestoßen hast: du musst das Mode 
Register entsprechend setzen, die Kalibrierung erfolgt nicht von allein.

Ich kann aus all deinen Antworten immer noch nicht rauslesen, ob du das 
getan hast, oder nicht.

Mario EDUARDO schrieb:
> Ich möchte auf etwa 0.25 Grad genau messen,
> 0.4 Grad genau würde auch langen.

Dann kommst du um eine Kalibrierung des gesamten Messaufbaus ohnehin 
nicht herum.

von m.n. (Gast)


Lesenswert?

Achim S. schrieb:
> Mario EDUARDO schrieb:
>> Ich möchte auf etwa 0.25 Grad genau messen,
>> 0.4 Grad genau würde auch langen.
>
> Dann kommst du um eine Kalibrierung des gesamten Messaufbaus ohnehin
> nicht herum.

Bei einem PT1000 mit 0,1% Widerständen im Bereich 0 - 130 °C sehe ich da 
keinen zwingenden Bedarf.

von Mario EDUARDO (Gast)


Lesenswert?

Ich mache vor jeder Messung eine Kalibrierung.
Ich versuche gerade im DAtenblatt herauszubekommen, was der Unterschied 
zwischen dem Mode Self-Calibration und
Zero-Scale Self-Calibration/Full-Scale Self-Calibration ist.
So wie ich ds lese, ist die Self-Calibration beides in einem.

von Mario EDUARDO (Gast)


Lesenswert?

Noch was zum Thema kalibrieren:

Dzt habe ich Meßwerte, wo ich mit der Fehlerkorrektur ziemlich gut 
hinkomme - für meine Bedürfnisse.
Kann ich mir überhaupt mehr erwarten?
Also ist ein Schaltungsdesign möglich, wo ich im Register das auslese, 
was dem mathematisch zu erwartenden Wert lt Genauigkeit im Datenblatt 
entspricht ?
Selbst wenn ich einen MUX näme, um das System zu kalibrieren, es gibt ja 
auch ein Leben nach dem MUX ...

Mario

von Achim S. (Gast)


Lesenswert?

m.n. schrieb:
> Bei einem PT1000 mit 0,1% Widerständen im Bereich 0 - 130 °C sehe ich da
> keinen zwingenden Bedarf.

Mit der Genauigkeitsklasse A kommt man theoretisch über bei 130° gerade 
noch bei einem Fehler von 0,41° raus (sofern nur der Fehler des Pt100 
zählt).

Ein 0,1% Fehler eines Widerstands entspricht bei 0° einem zusätzlichen 
Temperaturfehler von 0,25° (sofern nur ein 100 Ohm Referenzwiderstand in 
die Messung eingeht: wenn zur Messung eine Brücke oder ein 
Differenzverstärker verwendet wird, um mit einem 12Bit ADC anstelle des 
hochauflösenden ADCs arbeiten zu können, vervielfacht sich der Einfluss 
des Widerstandsfehlers.)

Der Offsetfehler des benutzten ADC liegt in der selben Größenordnung, 
wenn der Pt100 über etwas längere Litzen angeschlossen wird, dann kommt 
bei Zweidrahtmessung deren Widerstandsbeitrag ebenfalls in den selben 
Bereich.

"Physikalische" Fehler wie schlechte Wärmeankopplung oder Wärmeabfuhr 
über die Anschlusslitzen sind ebenfalls noch außen vor.

Wann immer eine Temperaturmessgenauigkeit von 0,4° (oder 0,25°) 
gefordert ist, habe ich meine Zweifel, ob der Entwickler wirklich weiß, 
was er benötigt und was er sich da vornimmt. Aber wenn ich über mehr als 
100° eine solche Genauigkeit tatsächlich sicherstellen will, würde ich 
kalibrieren müssen.

Mario EDUARDO schrieb:
> Also ist ein Schaltungsdesign möglich, wo ich im Register das auslese,
> was dem mathematisch zu erwartenden Wert lt Genauigkeit im Datenblatt
> entspricht ?

Der Witz ist, dass im Datenblatt des AD7411 gar kein Wert für den 
Offsetfehler angegeben ist - weil eben davon ausgegangen wird, dass man 
den Offset ohnehin wegkalibriert.

Auch wenn im Datenblatt ein Offsetwert von 1,4mV angegeben wäre, dann 
würde das nicht bedeuten, dass du genau diesen Offset hast. Es würde 
bedeuten, dass der tatsächliche Offset irgendwo zwischen -1,4mV und 
+1,4mV liegt. Was sein tatsächlicher Wert ist, muss du durch eine 
Kalibrierung herausfinden ;-)

von m.n. (Gast)


Lesenswert?

Achim S. schrieb:
> Wann immer eine Temperaturmessgenauigkeit von 0,4° (oder 0,25°)
> gefordert ist, habe ich meine Zweifel, ob der Entwickler wirklich weiß,
> was er benötigt und was er sich da vornimmt.

Das sehe ich auch so ;-)

Achim S. schrieb:
> Der Offsetfehler des benutzten ADC liegt in der selben Größenordnung,
> wenn der Pt100 über etwas längere Litzen angeschlossen wird, dann kommt
> bei Zweidrahtmessung deren Widerstandsbeitrag ebenfalls in den selben
> Bereich.

Es ist ein PT1000, was die Situation deutlich entspannt. Zudem würde ich 
mein abartiges Meßverfahren verwenden, indem der PT1000 mit höherer 
Meßspannung aber nur gepulst betrieben wird. Damit ist das Nutzsignal 
deutlich höher und die Offsets nicht mehr relevant.
Einen Nullpunktabgleich mit 1 kOhm Referenzwiderstand würde ich zwar 
auch machen, allein schon aus Neugierde, ob auch Alles paßt, aber 
Kalibrieren (oder gar Eichen, was ich Beides nicht darf ;-) würde ich 
nicht. Es kommt aber wie immer darauf an: wer, wie, was, wieso, weshalb, 
warum?

von Achim S. (Gast)


Lesenswert?

m.n. schrieb:
> Es ist ein PT1000, was die Situation deutlich entspannt.

Hm, stimmt. Aus dem Excel-Sheet hatte ich im Hinterkopf gespeichert, 
dass es ein Pt100 sei, aber das war falsch. Mit dem Pt1000 sind einige 
der Fehlerquellen tatsächlich unkritischer.

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.