Forum: Mikrocontroller und Digitale Elektronik Mögliche Verfahren/ADC nichtlinearitäten handlen


von Joe J. (j_955)


Lesenswert?

Halli Hallo,

mich beschäftigt die o.g. Frage. Was für Möglichkeiten fallen Euch denn 
so ein?

Kann zwar Nichtlinearitäten, im Speziellen INL/DNL, mit in die 
Fehlerrechnung aufnhemen. Finde es aber relativ hässlich und mcöhte 
daher prüfen, ob ich diese nicht irgendwie doch eliminieren kann.

Hierfür muss ich natürlich prüfen, ob mein System die erforderlichen 
Ressourcen bereit stellt, ist aber ein anderes Thema.

Ich möchte Quasi-stationäre Signale messen mit ohne Dynamik;-)
Als Beispiel sei hier mal die Temperaraturerfassung mal genannt.

Gehört habe ich bisher:
-Mehrere Kanäle für das selbe Signal
-Verschiedene Mesströme udn Verstärkungen
-Linearisierung mit z.b. Referenzwiderständen

Dank/Gruß
Jo

von Purzel H. (hacky)


Lesenswert?

Vergiss es. Nimm einen besseren Wandler. Falls der Sensor denn mehr 
hergibt.

Erst sollte man sich vergewaertigen wie genau ein Wert denn sein muss. 
Im Sinne von was geschieht wenn die Temperatur um x% daneben ist. Welche 
Stabilitaet muss ein Messwert denn haben. Ich habe zB Anwendungen vo die 
Temperatur auf +-2 Grad stimmen sollte, aber auf 0.01 Grad stabil sein 
muss.

: Bearbeitet durch User
von Joe J. (j_955)


Lesenswert?

Zwölf M. schrieb:
> au

Vielen Dank für Deine Antwort. Würde ich gern. Aber um den Geldbeutel 
von meinem Chef zu schonen und damit dieser auch weiterhin 4x im Jahr in 
den Urlaub fahren kann, nehme ich einfach die billigere Variante.

Mir geht's im Wesentlcihen darum, ein paar Tricks und Kniffe 
abzustauben.

Eine ratiometrische Messung kann z.B. viele Fehler eliminieren, aber die 
Nichtlinearitäten sind mir ein Dorn im Auge.

Ich meine hier im Forum auch shon mal was darüber gelesen zu haben, 
finde es aber auf Anhieb nicht. Bücher wälzen und Google bringt mich da 
im mom auch nicht weiter.

Das sind einfach praktische Erfahrungswerte.

von georg (Gast)


Lesenswert?

Zwölf M. schrieb:
> Vergiss es. Nimm einen besseren Wandler

So isses. Lies das Datenblatt (immer zu empfehlen) und suche einen ADC, 
dessen Fehler geringer sind als das was du brauchst. Das wird darauf 
hinauslaufen, dass der Wandler ein paar (wenige) Bit mehr hat als du 
benötigst. Das ist bei weitem die einfachste Lösung.

Georg

von Purzel H. (hacky)


Lesenswert?

Der Ursprung dieser Nichtlinearitaeten ist bekannt ?

Das mit grossen Abstand das Guenstigste ist, diese nichtlinearitaeten 
wegzuschwatzen. Als nicht relevant.

: Bearbeitet durch User
von Wolfgang (Gast)


Lesenswert?

Joe J. schrieb:
> Kann zwar Nichtlinearitäten, im Speziellen INL/DNL, mit in die
> Fehlerrechnung aufnhemen. Finde es aber relativ hässlich und mcöhte
> daher prüfen, ob ich diese nicht irgendwie doch eliminieren kann.

Eleminieren kannst du die Effekte nur, wenn du sie kennst..

Dafür müssen sie ausreichend stabil sein, so dass du sie rausmessen und 
eine Weile später damit deine Messdaten korrigieren kannst.

von Jakob (Gast)


Lesenswert?

Klar gibt es da Möglichkeiten!

1) Mit einem mindestens (!) 10-fach besser aufgelöstem UND (!)
genauerem DAC ermittelst du die ADC-Fehlerkurve und trägst sie
in eine Korrekturtabelle (EPROM, EEPROM) ein.

Nicht ganz billig: Kostet Kalibrierzeit, Speicherplatz und
etwas Korrektur-Rechenzeit.

2) Mehrere ADC parallel:
Wenn sie nicht aus der selben Fertigungscharge stammen, die
Fehler also stochastisch verteilt sind, vermindert sich der
Fehler mit 4^n ADCs auf 1/2^n. Also:
  4 ADCs Fehler -> 1/2
 16 ADCs Fehler -> 1/4
 64 ADCs Fehler -> 1/8
100 ADCs Fehler -> 1/10
Ist auch nicht ganz umsonst - ein Impedanzwandler für die ganzen
ADCs muss auch noch her. Auf der Platine wirds richtig eng.

3) Ein BESSERER ADC kostet natürlich auch was ...

von Bastler (Gast)


Lesenswert?

Wenn die Messzeit keine Rolle spielt:
mehrfach messen (und wenn der Sensor selbst zu wenig Rauschen hat dafür 
sorgen, dass noch Rauschen drauf ist)

Das SNR steigert sich um

Theoretisch wird es also bei 100 Messuengen um den Faktor 10 genauer.

von Achim S. (Gast)


Lesenswert?

Bastler schrieb:
> Das SNR steigert sich um ....

Durch mehrfaches messen kann man unter Umständen das SNR verbessern. 
Aber INL und DNL (um die es in der Frage eigentlich geht) werden dadurch 
nicht verringert.

von Joe J. (j_955)


Lesenswert?

Guten Morgen und vielen Dank für die ganzen Antworten!

Folgendes habe ich mir vorgestellt:
-Umschalten des ADC  Messbereiches sowie Variieren der Sensorströme
-WIe schon erwähnt, mehrere ADCs(die zeitlich versetzt sampeln) und dann 
interpolieren
-Linearisierung mit Referenzwiderständen und Abgleich
-Korrektur mit mehreren Messpunkten beim Abgleich(kann aber nur einmalig 
bei der Produktion z.b. erfolgen ab Werk. Praktikabel im Feld, vll. wenn 
der Kunde noch selber Referenzmessungen machen kann, aber es kommt stark 
auf die Anwendung an.)
-....


Es geht einfachc um praktische Tipps. Vielleicht fällt ja jemandem noch 
was ein.

Grüße und einen guten Start in die Woche!

von Joe J. (j_955)


Lesenswert?

Jakob schrieb:
> 1) Mit einem mindestens (!) 10-fach besser aufgelöstem UND (!)
> genauerem DAC ermittelst du die ADC-Fehlerkurve und trägst sie
> in eine Korrekturtabelle (EPROM, EEPROM) ein.

Wie kommst Du denn auf die Anforderung 10-fach?

Bringt mich aber auf eine Idee:
Ginge evtl. auch mit einem Integrierer? Müsst man einfach mal eine 
Schaltung entwerfen.

Angenommen, ich möchte relativ gut Auflösen(20-Bit) habe aber einen 
beschissenen INL. Das erste Verfahren - schwierig umsetzbar.
Das zweite - TBC.

:9)

von Joe J. (j_955)


Lesenswert?

>
> Angenommen, ich möchte relativ gut Auflösen(20-Bit) habe aber einen
> beschissenen INL. Das erste Verfahren - schwierig umsetzbar.
> Das zweite - TBC.
>
> :9)

Und ja, ich könnte auch einen besseren ADC nehmen. Das Ganze ist eine 
eher theoretische Betrachtung. Dieser Rüstungsaufwand dient eher meinen 
potenziellen, zukünftigen Projekten. Meine HOffnung ist, etwas von den 
alten Haasen lernen zu können.

von Der Andere (Gast)


Lesenswert?

Joe J. schrieb:
> Aber um den Geldbeutel
> von meinem Chef zu schonen und damit dieser auch weiterhin 4x im Jahr in
> den Urlaub fahren kann, nehme ich einfach die billigere Variante.

Mach das. Spare 50ct am Wandler und gebe dafür dann irgendwas zwischen 
10 und 50 Euro pro Stück für die Kalibrierung aus.
Ist eine sichere Methode daß der Chef nicht mehr lange so häufig in 
Urlaub fahren kann.

;)

von Joe J. (j_955)


Lesenswert?

Der Andere schrieb:
> Joe J. schrieb:
>> Aber um den Geldbeutel
>> von meinem Chef zu schonen und damit dieser auch weiterhin 4x im Jahr in
>> den Urlaub fahren kann, nehme ich einfach die billigere Variante.
>
> Mach das. Spare 50ct am Wandler und gebe dafür dann irgendwas zwischen
> 10 und 50 Euro pro Stück für die Kalibrierung aus.
> Ist eine sichere Methode daß der Chef nicht mehr lange so häufig in
> Urlaub fahren kann.
>
> ;)

Ich argumentiere mal so:
Es ist nicht nur der Wandler. Je nach System kommt schnell mal eben ein 
Muxer dazu, dann brauche ich für die Verarbeitung einen uC und evtl. 
ncoh eine externe Referenz und alles zzg. Beschaltung ung Bestückung.

Vll. kann ich aber auch einfach alles mit einem uC erschlagen, der einen 
Wandler mitbringt, der eben nicht so gut ist. uCs mit 20-Bit DeltaSigma 
gibt es inzwischen ja auch schon für wenig Geld.

Beispiel:
http://www.cypress.com/products/32-bit-arm-cortex-m3-psoc-5lp

Abgesehen von den Systemkosten, spielt hier die Lagerhaltung, 
Bauteilemanagement, Design und Fehleranfälligkeit usw. schon eine Rolle.

Sollte man alles berücksichtigen imho.

Hieraus ergeben sich im Übrigen noch weitere ANforderungen:
-Systemkosten möglcihst gering
-Systemressourcen gering(Also ein FPGA oder so sollte ausser Betracht 
gelassen werden)

: Bearbeitet durch User
von Achim S. (Gast)


Lesenswert?

Joe J. schrieb:
> Sollte man alles berücksichtigen imho.

Genau. Und wenn man das tut kommt man praktisch immer zum gleichen 
Ergebnis: dass man lieber einen ADC verwendet, der die geforderte Spec 
von sich aus erfüllt, als mit irgendwelchen hanebüchenen 
Alternativmethoden (Parallelbetrieb mehrerer ADCs, aufwändige 
Kalibrierungen die einem dann doch wieder davondriften ...) einen zu 
schlechten ADC gut genug machen zu wollen.

Solchen Aufwand spendiert man vielleicht, wenn es den passenden ADC 
nicht gibt oder die Kosten für ihn exorbitant sind. Wenn du mal 
professionelle 6-1/2-stellige Multimeter entwickeln willst, solltest du 
durchaus all diese Alternativkonzepte durchdenken und durchrechnen. 
Solange das nicht der Fall ist (also fast immer), kauft man einfach den 
passenden ADC.

Joe J. schrieb:
> Meine HOffnung ist, etwas von den
> alten Haasen lernen zu können.

Dann hör auf das, was dir die alten Hasen sagen:

Zwölf M. schrieb:
> Vergiss es. Nimm einen besseren Wandler.

georg schrieb:
> So isses. Lies das Datenblatt (immer zu empfehlen) und suche einen ADC,
> dessen Fehler geringer sind

von ZF (Gast)


Lesenswert?

Joe J. schrieb:
> Kann zwar Nichtlinearitäten, im Speziellen INL/DNL, mit in die
> Fehlerrechnung aufnhemen. Finde es aber relativ hässlich und mcöhte
> daher prüfen, ob ich diese nicht irgendwie doch eliminieren kann.
Über welche Auflösung reden wir? Was für Fehler erwartest du? DNL, INL, 
missing codes, Monotoniefehler? Eine durchhängende Transferkurve (INL) 
könnte man gegebenenfalls wegkalibrieren, das ist aber aufwändig. Wenn 
es nicht um Metrologie geht ist ein Wandler der den Anforderungen genügt 
die richtige Entscheidung.

> Als Beispiel sei hier mal die Temperaraturerfassung mal genannt.
>
> Gehört habe ich bisher:
> -Verschiedene Mesströme udn Verstärkungen
Verschiedene Messströme nimmt man um die Eigenerwärmung des Sensors 
wegzurechnen (und Polaritätswechsel um Thermospannungen zu eliminieren). 
Die Verstärkung sollte so gewählt werden, dass der Wandelbereich optimal 
ausgenutzt. Jeder weitere Umschaltung würde die Messgenauigkeit 
verschlechtern.

Wenn es nicht um Metrologie geht, dann ist einen Wandler welcher den 
Anforderungen genügt zu kaufen die richtige Entscheidung.

von Joe J. (j_955)


Lesenswert?

@All:

Vielen Dank für die Beiträge. Wieder was gelernt.

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.