Forum: Mikrocontroller und Digitale Elektronik Allgemeine Frage zu ADC und Linearität.


von U. B. (ub007)


Lesenswert?

Hallo.

Ich war der letzt bei einem Gespräch im kleinen Kreis und dort ging es 
um Linearität bei ADCs allgemein.
Letztendlich kam man zum Schluß, dass man (Aussage:) "z.B. bei einem 
16-Bit ADC der also einen Bereich zwischen 0 - 32767 hat, ihn am besten 
bis maximal 25000 betreiben sollte. Darüber würden sich 
Nichtlinearitäten stärker auswirken."

Ich würde jetzt mal sagen, dass diese Aussage nicht haltbar ist. Ich hab 
mit verschiedenen ADCs gearbeitet, hab aber keine Messungen gemacht was 
gerade die Linearität betrifft. Gibt es hierzu in den Datenblättern 
irgendwelche Kennzahlen die darüber näheres aussagen ?
Kann jemand hier etwas dazu sagen ob die obige Aussage größtenteils 
stimmt ?

Gruß

von Steve van de Grens (roehrmond)


Lesenswert?

U. B. schrieb:
> Gibt es hierzu in den Datenblättern irgendwelche Kennzahlen die darüber
> näheres aussagen ?

In welchen Datenblättern meinst du denn?

> Kann jemand hier etwas dazu sagen ob die obige Aussage größtenteils
> stimmt ?

So pauschal stimmt sie mit Sicherheit nicht.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

U. B. schrieb:
> Letztendlich kam man zum Schluß, dass man (Aussage:) "z.B. bei einem
> 16-Bit ADC der also einen Bereich zwischen 0 - 32767 hat,
Ein 16-Bit Wandler kann von 0..65535 wandeln.

> ihn am besten bis maximal 25000 betreiben sollte. Darüber würden sich
> Nichtlinearitäten stärker auswirken."
Solche Nichtlinearitäten kennt man von irgendwelchen ESP ADCs, die 
einfach nur schlecht sind.

> Kann jemand hier etwas dazu sagen ob die obige Aussage größtenteils
> stimmt ?
Ein 16-Bit Wandler kann von 0..65535 wandeln. Und zwar so wie es das 
Datenbaltt angibt über den gesamten Bereich linear und stetig.

Wenn man dann Bauteile mit einem ADC hat, die sich nicht an das 
Datenblatt halten, dann hat man eben Pech gehabt und der Hersteller 
einen Fehler im Design und/oder Datenblatt.

: Bearbeitet durch Moderator
von U. B. (ub007)


Lesenswert?

Hallo Steve.

Ich weiß jetzt nicht ob allgemein in Datenblättern für ADCs event. 
irgendwo Kennlinien oder Kennzahlen gibt die genau hierüber Aussagen 
geben.
Ist egal ob der ADC als SAR oder anderes Verfahren den Wert ermittelt.

Gruß

von U. B. (ub007)


Lesenswert?

Hallo.

Sorry war mein Fehler ! Stimmt 0 - 65536 !

Gruß

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

U. B. schrieb:
> ob allgemein in Datenblättern für ADCs event. irgendwo Kennlinien oder
> Kennzahlen gibt die genau hierüber Aussagen geben.
Doch, natürlich gibt es diese Zahlen in jedem ernstzunehmenden ADC 
Datenblatt. Und der Entwickler verlässt sich darauf, dass diese Zahlen 
stimmen.

Wenn dann natürlich einer eine OP-Schaltung davorfrickelt, die statt 
einer Übertrgungsgeraden wegen eines falsch gewählten OPs (kein R2R am 
Ausgang) einen Bogen macht, dann ist der ADC an den falschen Ergebnissen 
nicht ursächlich.

: Bearbeitet durch Moderator
von Ali K. (teddy50)


Lesenswert?

U. B. schrieb:
> Hallo.
>
> Sorry war mein Fehler ! Stimmt 0 - 65536 !
>
> Gruß

Wieder falsch

von U. B. (ub007)


Lesenswert?

Stimmt... 65535...

von Michael B. (laberkopp)


Lesenswert?

U. B. schrieb:
> Ich würde jetzt mal sagen, dass diese Aussage nicht haltbar ist.

Richtig.

Aber wenn jemand ungeschickt Eingangsüberspannungsschutz z.B. per 
Z-Diode baut, kann das die Messwerte an der oberen Grenze 
verschlechtern.

Vielleicht kommt die Erfahrung daher.

Ich guck lieber ins Datenblatt.

von Manfred P. (pruckelfred)


Angehängte Dateien:

Lesenswert?

Lothar M. schrieb:
> Doch, natürlich gibt es diese Zahlen in jedem ernstzunehmenden ADC
> Datenblatt. Und der Entwickler verlässt sich darauf, dass diese Zahlen
> stimmen.

Ich habe einen Spannungslogger gebaut, der zyklisch den Meßwert auf eine 
SD-Karte schreibt, Meßbereich 20 Volt. Da läuft ein ADS1115 
(China-Board) als A/D mit einen Teiler 82k-9k1 am Eingang. Der ADS läuft 
frei mit 2048mV-Meßbereich.

Bei der Gelegenheit habe ich drei ältere DMM parallel geklemmt und 
verglichen - über Toleranzen oder Linearitätsfehler kann ich mich nicht 
beklagen, Anhang.

Es gibt auch einen Überspannungsschutz (Gruß an laberkopp), der keinen 
Einfluß hat, Schaltung siehe dort: 
Beitrag "Re: Arduino China-ProMini stürzt ab"

von Jürgen S. (engineer) Benutzerseite


Lesenswert?

U. B. schrieb:
> am besten bis maximal 25000 betreiben sollte. Darüber würden sich
> Nichtlinearitäten stärker auswirken."
Das gilt - was den Wandler angeht - so nur bei Delta-Sigma-Wandlern. 
Allerdings ist die maximale Abweichung ja im DB veranschlagt und man 
kann von dieser ausgehen. Den Wandler nicht voll auszunutzen geht damit 
in die Richtung , das Maximale rauszuholen und unter der Fehlergrenze zu 
bleiben.

Des Weiteren gibt es natürlich den Aspekt der Kennlinienkorrektur: Wenn 
man das steinzeitmäßig mit Gain-Offset machen will, hat man einfach 
nicht die Freiheitsgrade, um einen großen Bereich zu kompensieren. Damit 
legt man die Korrekturpunkte meistens auf 1/2 oder 2/3, um das 
Bestmögliche herauszuholen, im Bezug auf typische Messsignale , hat dann 
halt das Problem, dass die Korrektur nach oben hin immer schlechter 
wird. D.h. zur Abweichung des Wandlers kommt die falsche Korrektur dazu.

Das kann man verhindern, wenn man mit einem ausreichend großen Polynom 
korrigiert.

Grundsätzlich ist es natürlich richtig, sich beim Korrigieren auf die 
mittleren und unteren Werte zu fokussieren, weil damit die relativen 
Fehler gering bleiben.

Michael B. schrieb:
> Aber wenn jemand ungeschickt Eingangsüberspannungsschutz z.B. per
> Z-Diode baut,

... ändert das aber nicht das Wandlerverhalten sondern die 
Übertragungskennlinie der Schaltung davor. Das sollte man nicht dem 
Wandler zuschreiben. Gleichwohl sollte das mitkorrigiert werden. Um so 
mehr sind wir bei einem entsprechenden Polynom.

von Axel S. (a-za-z0-9)


Lesenswert?

U. B. schrieb:
> Kann jemand hier etwas dazu sagen ob die obige Aussage größtenteils
> stimmt ?

Die Nichtlinearität hat im Allgemeinen nichts mit der Ausschöpfung des 
Erfassungsbereichs eines ADC zu tun. Es mag einzelne ADC(-Typen) geben, 
bei denen das anders ist. Aber A) kenne zumindest ich keinen und B) wäre 
das auch eine Eigenschaft spezifisch für diesen ADC.

> Gibt es hierzu in den Datenblättern
> irgendwelche Kennzahlen die darüber näheres aussagen ?

Jedes ernst gemeinte ADC-Datenblatt enhält grafische Darstellungen der 
typischen ADC-Fehler: Gain-, Offset- und Linearitätsfehler. Und darin 
meist eingezeichnet die Abweichungen, die dann in den Tabellen als 
typische und min/max Werte angegeben sind.

Speziell für die Linearität gibt es mehrere Kennwerte, z.B. INL und DNL 
(integral bzw. differential non-linearity) oder ob missing codes 
möglich sind.

von Harald W. (wilhelms)


Lesenswert?

U. B. schrieb:

> Ich war der letzt bei einem Gespräch im kleinen Kreis und dort ging es
> um Linearität bei ADCs allgemein.

Nun, als die ersten integrierten AD-Wandler aufkamen, gabs da schon
mal Probleme. M.E. sind solche Fehler bei allen "modernen" (aus die-
sem Jahrtausend) AD-Wandlern aber kleiner als 1Bit. Linearitätsprob-
leme kommen eher durch ungeeignete Schaltungen vor dem AD-Wandler.

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.