Forum: Mikrocontroller und Digitale Elektronik ADC Software abgleich


von AndyII (Gast)


Lesenswert?

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?

von Sven B. (scummos)


Lesenswert?

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.

von THOR (Gast)


Lesenswert?

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.

von K. J. (Gast)


Lesenswert?

1.) weil die Referenzspannung durch die 12bit besser geteilt werden 
kann.

Vref
---- * ADC-Wert
4096


Mach die Referenzspannung kleiner dann brauchst auch kein OPV.

von THOR (Gast)


Lesenswert?

Hab überlesen dass du schon nen OPV hast. Dann mach den Shunt kleiner 
und die Verstärkung vom OPV größer!

von AndyII (Gast)


Lesenswert?

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.

von Achim S. (Gast)


Lesenswert?

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.

von Sven B. (scummos)


Lesenswert?

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.

von Martin K. (maart)


Lesenswert?

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.

von Achim S. (Gast)


Lesenswert?

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.

von Sven B. (scummos)


Lesenswert?

Achim S. schrieb:
> in dem Sinn verschenkt der TO also 0,03 Bit, wenn er von seinem 4,096V
> Messbereich nur 4,00V ausnutzt.

Richtig, aber wenn er eine 4V Referenz nimmt ist das nicht so. Das 
kann sogar besser sein für den gegebenen Messbereich.

: Bearbeitet durch User
von AndyII (Gast)


Lesenswert?

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?

von AndyII (Gast)


Lesenswert?

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

von Achim S. (Gast)


Lesenswert?

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

von Dieter W. (dds5)


Lesenswert?

Wenn man dem Shunt eine (kleine) + Toleranz zubilligt, sollte der 
Messbereich schon etwas höher als genau 4,000V gehen.
Außerdem gibt es Stromschleifen, die mit 20,5 bis 21mA einen Fehler 
signalisieren.

von Johnny B. (johnnyb)


Lesenswert?

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.

von dunno.. (Gast)


Lesenswert?

Schön ist ja, dass ihr euch um 96mV an Auflösung gedanken macht, euch 
aber die Messgenauigkeit überhaupt nicht interessiert..

von A. S. (Gast)


Lesenswert?

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.

von Sven B. (scummos)


Lesenswert?

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. ;)

von AndyII (Gast)


Lesenswert?

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?

von Achim S. (Gast)


Lesenswert?

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

von AndyII (Gast)


Lesenswert?

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.

von Sven B. (scummos)


Lesenswert?

Nimm einen DC/DC-Wandler, wenn du mehr als ein paar 10 mA brauchst ... 
sonst tut es auch ein Linearregler.

von Achim S. (Gast)


Lesenswert?

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.

von Sven B. (scummos)


Lesenswert?

Du kannst auch mit dem DC/DC von 24 auf 6 V und dann einen 
Lowdrop-Linearregler dahinterbauen, das gibt mit sehr wenig Aufwand eine 
sehr gute Spannung.

von AndyII (Gast)


Lesenswert?

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?

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.