mikrocontroller.net

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


Autor: Joe J. (j_955)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Gorch F. (hacky)
Datum:

Bewertung
0 lesenswert
nicht 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
Autor: Joe J. (j_955)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: georg (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Gorch F. (hacky)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Der Ursprung dieser Nichtlinearitaeten ist bekannt ?

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

: Bearbeitet durch User
Autor: Wolfgang (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Jakob (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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 ...

Autor: Bastler (Gast)
Datum:

Bewertung
-1 lesenswert
nicht 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.

Autor: Achim S. (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Joe J. (j_955)
Datum:

Bewertung
0 lesenswert
nicht 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!

Autor: Joe J. (j_955)
Datum:

Bewertung
0 lesenswert
nicht 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)

Autor: Joe J. (j_955)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Der Andere (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

;)

Autor: Joe J. (j_955)
Datum:

Bewertung
0 lesenswert
nicht 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-...

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
Autor: Achim S. (Gast)
Datum:

Bewertung
1 lesenswert
nicht 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

Autor: ZF (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Joe J. (j_955)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@All:

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

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.