ADC Software abgleich

Gast #5006861
Hallo,
ich habe einen 12 Bit ADC (MAX11614) der eine Referenzspannung von 
4.096V hat. Dieser soll über einen Shunt einen Strom von 0 - 20 mA 
messen.
Also habe ich nun einen OPV mit geringen Offset heraus geesucht, der mir 
die geringe Shunt Spannung erhöht. Der Shunt wird vorraussichtlich bei 
50 Ohm liegen, damit die Messung nicht so stark beeinflusst wird. Dh am 
OPV stehen ca 0,244 mV - 1V an. Nicht gerade viel aber zur not könnte 
man den Shunt erhöhen. Nun möchte ich keine Spindeltrimmer verwenden 
sondern lieber in Software abgleichen.

1. Wiso hat der ADC so eine Referenzspannung? Wiso genau so ein krummer 
Wert?

2. Wie kann ich in Software abgleichen? Zwei Punkte und 
geradengleichung?

3. Wenn meine Eingangsspannung nicht den vollen Spannungsbereich von 0 - 
Vref ausnutzt gehen mir doch immer Bits verloren oder nicht?
#5006862
AndyII schrieb:
> Also habe ich nun einen OPV mit geringen Offset heraus geesucht, der mir
> die geringe Shunt Spannung erhöht. Der Shunt wird vorraussichtlich bei
> 50 Ohm liegen, damit die Messung nicht so stark beeinflusst wird. Dh am
> OPV stehen ca 0,244 mV - 1V an. Nicht gerade viel aber zur not könnte
> man den Shunt erhöhen. Nun möchte ich keine Spindeltrimmer verwenden
> sondern lieber in Software abgleichen.
Das ist ein ziemlich großer Shunt.

> 1. Wiso hat der ADC so eine Referenzspannung? Wiso genau so ein krummer
> Wert?
Weil 12 bit 4096 mögliche Werte sind, und damit 1 LSB = 1 mV.

> 2. Wie kann ich in Software abgleichen? Zwei Punkte und
> geradengleichung?
Ein Punkt reicht eigentlich, wenn der Output bei null null ist, sonst 2, 
ja.

> 3. Wenn meine Eingangsspannung nicht den vollen Spannungsbereich von 0 -
> Vref ausnutzt gehen mir doch immer Bits verloren oder nicht?
Ja.
Gast #5006866
AndyII schrieb:
> 1. Wiso hat der ADC so eine Referenzspannung? Wiso genau so ein krummer
> Wert?

Bei der Zahl 4096 klingelt nichts?

AndyII schrieb:
> 2. Wie kann ich in Software abgleichen? Zwei Punkte und
> geradengleichung?

y = mx + b ist vermutlich die häufigste Kompensationsmethode und in der 
Regel völlig ausreichend. Aber wenn die Kennlinie auch noch verbogen 
ist, muss vielleicht was quadratisches oder ne LUT her. Wer weiss.

AndyII schrieb:
> 3. Wenn meine Eingangsspannung nicht den vollen Spannungsbereich von 0 -
> Vref ausnutzt gehen mir doch immer Bits verloren oder nicht?

Du hast immer noch alle Bits, aber jedes Bit steht für eine größere Zahl 
mV. Dir geht also Auflösung und damit Genauigkeit verloren.

Du kannst jetzt entweder den Shunt vervierfachen oder nen OPV als 
Verstärker davorschalten. Bei letzterem musst du den Offset am OPV 
kompensieren und kannst dann nen ADC mit höherem Offset verwenden.
Gast #5006868
1.) weil die Referenzspannung durch die 12bit besser geteilt werden 
kann.

Vref
---- * ADC-Wert
4096


Mach die Referenzspannung kleiner dann brauchst auch kein OPV.
Gast #5007085
Vielen Dank für eure Antwort.

Oh ja tatsächlich da hätte wirklich was klingeln können. Peinlich :D
Hab mich eben nur gewundert, weil ich ja eben iwie diese 4,09V erreichen 
muss, damit ich die vollen 12 Bits nutzen kann.
bzw. werd ich warscheinlich irgendwo bei 4V landen was immer noch 91mV 
zu wenig wäre für die volle Auflösung. Gibt es da vielleicht eine 
abhilfe mit einer Externen Referenz? Wollte sowiso eine einsetzten.
Gast #5007164
AndyII schrieb:
> werd ich warscheinlich irgendwo bei 4V landen was immer noch 91mV
> zu wenig wäre für die volle Auflösung. Gibt es da vielleicht eine
> abhilfe mit einer Externen Referenz?

Kannst du machen. Aber der Auflösungsgewinn ist bescheiden: grade mal 
0,03 Bit, denn

2^0,03 = 4,091/4

bzw. anders formuliert:

1mV * 2^11,968 = 4V

Wenn du also den 4,096V Mesbereich nur bis 4,00V ausnutzt, nutzt du 
rechnerisch 11,968Bit von 12 möglichen.

Wenn es keine anderen Gründe für eine externe Referenz gäbe: der 
Auflösungsgewinn allein würde sicher nicht den Extraaufwand für eine 
externe Referenz rechtfertigen.
#5007199
Die Referenz kleiner zu wählen verringert nicht die Auflösung, nur den 
Messbereich. Jeder Code repräsentiert weniger Spannungsänderung, die 
Auflösung wird damit sogar feiner und die Dynamik bleibt -- wenn man 
rein die Digitalisierung betrachtet -- gleich.
#5007207
Sven B. schrieb:
> Die Referenz kleiner zu wählen verringert nicht die Auflösung, nur den
> Messbereich.
Da stimme mit dir überein.

> Jeder Code repräsentiert weniger Spannungsänderung, die
> Auflösung wird damit sogar feiner und die Dynamik bleibt -- wenn man
> rein die Digitalisierung betrachtet -- gleich.

Weniger Spannungsänderung pro Bit: Ja, sehe ich auch so.
Die Auflösung bleibt aber immer 12 Bit.
Gast #5007213
klar: die Auflösung des MAX11614 bleibt natürlich immer 12 Bit. Aber 
wenn man den Messbereich des ADC nicht ausnutzt, dann verschenkt man 
einen Teil dieser Auflösung.

Ein überzogenes Beispiel: würde der TO bei einem Messbereich von 4V nur 
Signale zwischen 0V und 1V messen, dann hat natürlich jeder Messwert 
immer noch 12 Bit, aber die obersten beiden Bits liegen bei jedem 
einzelnen Messwert auf 0 (werden also nicht ausgenutzt). Ein anderer ADC 
mit 2 Bit weniger Auflösung und passendem Messbereich könnte genau die 
selbe Information liefern wie dieser 12Bit ADC mit nicht passendem 
Messbereich.

in dem Sinn verschenkt der TO also 0,03 Bit, wenn er von seinem 4,096V 
Messbereich nur 4,00V ausnutzt.
Gast #5007222
Achim S. schrieb:
> bzw. anders formuliert:
>
> 1mV * 2^11,968 = 4V

super vielen Dank für die rechnung!
ich hab mir zwar die Stufen ausgerechnet aber nicht im verhältniss zu 
den 12Bit.

Ne die Referenz hätte ich höchstens auf 5V erhöht aber da sich der 
Aufwand scheinbar nicht lohnt werd ich das wohl lassen.

Sollte ich den OPV mit einer Referenz speisen? Geht denn die 
Betriebsspannung des OPVs in die genauigkeit ein oder nur das rauschen 
des OPVs?

Wie sieht es mit einem Schaltregler für die Schaltung (inklusive des 
ADCs) aus? geht das gut?

Könnte ich den OPV mit einer negativen Spannung aus einer Ladungspumpe 
speisen oder geht der Rippel der negativen Spannung zu sehr in die 
Ausgangsspannung des OPVs ein?
Gast #5007226
AndyII schrieb:
> Ne die Referenz hätte ich höchstens auf 5V erhöht aber da sich der
> Aufwand scheinbar nicht lohnt werd ich das wohl lassen.

Oh ihr ward schon schnelle ;)

und natürlich den OPV dann von 0 - 5V am ausgang betreiben war gemeint
Gast #5007268
Sven B. schrieb:
> Richtig, aber wenn er eine 4V Referenz nimmt ist das nicht so. Das
> kann sogar besser sein für den gegebenen Messbereich.

Ja klar wäre eine 4 V Referenz in dieser Hinsicht (ein ganz klein 
bisschen) besser als die 4,096V Referenz. Deswegen schrieb ich ja:

Achim S. schrieb:
> Kannst du machen. Aber der Auflösungsgewinn ist bescheiden: grade mal
> 0,03 Bit
#5007286
Die Auflösung ist meist nicht das Problem; sofern das Signal am Eingang 
des ADC's genügend rauscht (oder Du selber Rauschen hinzufügst), kannst 
Du per Oversampling/Filterung in der Software praktisch beliebig viele 
Bits an Auflösung dazugewinnen.
Der Nachteil ist nur, dass die Messung länger dauert, da für das 
Oversampling viele Einzelmessungen benötigt werden.

Ändert sich der Stromverlauf Deines Prüflings also nicht zu schnell, 
könntest Du das anwenden und aus dem 12-Bit ADC und ein wenig 
Signalverarbeitung quasi locker einen 16-Bit ADC machen.
Gast #5007427
wenn das Signal 0-20mA ist, dann ist es doch wohl ein 4-20mA-Sensor. Und 
bei dem steht doch dran, bis wieviel Volt der arbeitet. Wenn er bis 5V 
Abfall arbeitet, dann nimm halt 200R und keinen OP.

Wenn Du ihn Kalibrieren musst (die Referenz, den R, den Sensor oder wen 
auch immer, OP fällt ja weg) dann nimm halt einen etwas kleineren Wert, 
also 10% kleiner wenn Du 10% unkalibrierte Fehler erwartest.

Und wenn der Sensor nicht bis 5V Abfall arbeitet, dann beschreibe doch 
erstmal wo Du überhaupt hinwillst und welche Fehler Du warum 
kompensieren möchtest. Die Lösungen sind dann von Kelvinanbindung bis 
rauschfreie OPs recht unterschiedlich.
#5007772
Achim S. schrieb:
> Sven B. schrieb:
>> Richtig, aber wenn er eine 4V Referenz nimmt ist das nicht so. Das
>> kann sogar besser sein für den gegebenen Messbereich.
>
> Ja klar wäre eine 4 V Referenz in dieser Hinsicht (ein ganz klein
> bisschen) besser als die 4,096V Referenz. Deswegen schrieb ich ja:
>
> Achim S. schrieb:
>> Kannst du machen. Aber der Auflösungsgewinn ist bescheiden: grade mal
>> 0,03 Bit

Ach so, sorry, vergiss es, hab dich falsch rum verstanden. Ich glaube 
wir sind uns in allem einig. ;)
Gast #5008143
Ich wollte eine Referenz vorsehen die dann optional bestückt werden kann
Dann würde das mit der 4v Referenz Sinn machrn

Wie gehe ich da am besten vor? Früher habe ich einen rauscharmen opv und 
dann die Referenz mit einem Poti über den opv eingestellt
Allerdings will ich ja keine Potis verwenden und ich denke für die 
Auflösung könnte das bißchen ungenau werden oder?

Gibt's denn Meinungen zu meinen anderen fragen von oben?
Gast #5008159
AndyII schrieb:
> Ich wollte eine Referenz vorsehen die dann optional bestückt werden kann
> Dann würde das mit der 4v Referenz Sinn machrn

Das wäre imho nur sinnvoll, wenn es andere gute Gründe für die externe 
Referenz gäbe. Nur wegen der Messbereichsanpassung wäre das völlig 
unangemessener Aufwand.

Mögliche Gründe für eine externe Referenz könnten sein:
- dass der Messbereich grob daneben liegt (aber bei dir passt er mit 4V 
bei 4,091V Referenz ohnehin schon sehr gut)
- dass die interne Referenz zu ungenau ist und du nicht kalibrieren 
willst (aber du willst ja ohnehin per Software abgleichen)
- dass die interne Refernz zu stark driftet oder zu sehr rauscht und du 
extern etwas besseres bauen willst (aber bist du sicher, dass dein 
externer Aufbau wirklich besser würde als die interne Referenz des 
MAX11614?)

Was deine übrigen Fragen zu Genauigkeit, Rauschen, Einfluss der 
Versorgungsspannung, .... angeht: hier mal zwei Links

http://www.analog.com/media/en/technical-documentation/application-notes/AN-835.pdf
http://www.ti.com/lit/an/slaa013/slaa013.pdf
Gast #5011158
Super! Danke für die beiden Links. Den zweiten habe ich sogar bereits 
davor gelesen.

Mein Problem ist eben, dass ich 24V einspeißen will und daraus 5V 
erzeugen will. Deshalb wirds schwer mit einem linearen Regler zu 
arbeiten. Bei der negativen Supply für den OPV würden mir auch 1V - 5V 
reichen. Dachte da eben sofort an eine Ladungspumpe denke aber dass 
diese zu schlecht ist.
Gast #5011293
Sven B. schrieb:
> Nimm einen DC/DC-Wandler, wenn du mehr als ein paar 10 mA brauchst ...
> sonst tut es auch ein Linearregler.

so isset.

Und wenn ohnehin eine bipolare Versorgung gebraucht wird: nimm einen 
DCDC mit zwei Ausgängen (z.B. + und - 5V).

Ob dessen Ausgangsspannungen "gut genug" sind lässt sich nicht allgemein 
sagen. Es gibt große Unterschiede bei den DCDC. Und es hängt von der 
Empfindlichkeit der versorgten Schaltung ab (wichtigster Parameter 
dürfte die PSRR des OPV und des ADC bei der Schaltfrequenz des DCDC 
sein). Wenn du Bedenken hast, dass es nicht gut genug wird, dann baue 
passive LC-Filter hinter den DCDC-Ausgang.
Gast #5012389
vielen Dank für eure Antwort ihr habt mir sehr geholfen.

Wie sieht denn eine berechnung des LC glieds aus? Gibts da eine Formel 
in einer App-Note oder nehme ich da einfach eine Grenzfrequenz unterhalb 
des Schaltreglers?

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 9 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.