Forum: Mikrocontroller und Digitale Elektronik Interner ADC Referenz: Vss3.3V oder interne Referenz 2.048 V


von Dirk F. (dirkf)


Lesenswert?

Hallo,
ich benutze den internen ADC Wandler des PIC18F46Q71 mit 12 Bit 
Auflösung.

Die Versorgungsspannung 3,3 V wird vom  Linearregler MCP1825S-3302E/DB 
aus einer geregelten 5 V erzeugt.  Hier wird im Datenblatt eine Load 
Regulation von +/- 1% angegeben.

Die interne Referenzspannungsquelle des PIC wird mit +/- 4% über den 
gesamten Temperaturbereich angegeben.

Ist es jetzt besser, die Versorgungsspannung oder die interne 
Referenzquelle  als Referenz für den ADC einzustellen ?

von Falk B. (falk)


Lesenswert?

Dirk F. schrieb:
> Ist es jetzt besser, die Versorgungsspannung oder die interne
> Referenzquelle  als Referenz für den ADC einzustellen ?

Kommt auf deine Ansprüche an. Load Regulation beschreibt die Stabilität 
bei Lastwechsel, wobei das meist im Bereich 5-100% gemessen wird, die du 
in deiner Schaltung vermutlich nie erreichen wirst. D.h. die Stabilität 
ist besser. Meistens ist die thermische Drift das größte Problem und mit 
4%  über den vollen Temperaturbereich eher so lala. Die meisten 
Referenzspannungsquellen sind da gut Faktor 10 und mehr besser. Für 
einfache Anwendungen reicht die Stabilität der Spannungsregler oder 
internen Referenzen aus.

von Oliver D. (flenky)


Lesenswert?

Und mit 2,048V Uref erhältst du eine Messauflösung mit einer glatten 
Spannung pro Bit, ohne Nachkommastellen im Gegensatz zu einer Uref von 
3,3V.

von Udo S. (urschmitt)


Lesenswert?

Dirk F. schrieb:
> Die interne Referenzspannungsquelle des PIC wird mit +/- 4% über den
> gesamten Temperaturbereich angegeben.

Lese mal die ganze Beschreibung. Zwar ist der absolute Spannungswert 
nicht so exakt, aber die Langzeitdrift und thermische Drift meist 
deutlich besser als bei deiner Versorgungsspannung. Ein einmaliges 
Kalibrieren genügt also für einen genaueren Wert.
Die Versorgungsspannung hat den weiteren Nachteil, dass da ggf. noch 
mehr an Schaltung dranhängt die für Ripple und Schwankungen sorgen kann.

Aber wenn du z.B. einen Widerstand ratiometrisch durch eine 
Reihenschaltung mit einem Referenzwiderstand erfassen möchtest, und 
dieser Widerstand eben an der Versorgungsspannung hängt ist es besser 
die Versorgungsspannung auch als Referenz zu nutzen, weil sich dann eine 
Schwankung herauskürzt.

von Norbert (der_norbert)


Lesenswert?

Oliver D. schrieb:
> Und mit 2,048V Uref erhältst du eine Messauflösung mit einer glatten
> Spannung pro Bit, ohne Nachkommastellen im Gegensatz zu einer Uref von
> 3,3V.

Weil ja die Wandler im Allgemeinen 100%ige Linearität (INL und DNL) 
nicht nur versprechen sondern auch gnadenlos einhalten. ;-)

von Dirk F. (dirkf)


Lesenswert?

Hallo Falk,
danke für die Antwort.

von Dirk F. (dirkf)


Lesenswert?

Oliver D. schrieb:
> Und mit 2,048V Uref erhältst du eine Messauflösung mit einer glatten
> Spannung pro Bit, ohne Nachkommastellen im Gegensatz zu einer Uref von
> 3,3V.

Ja das stimmt.
Aber das ist bisher noch nie ein Problem gewesen, weil ich den Rohwert 
vom ADC sowieso in die physikalische Größe mit einer Skalierfunktion 
muss.

von Falk B. (falk)


Lesenswert?

Oliver D. schrieb:
> Und mit 2,048V Uref erhältst du eine Messauflösung mit einer glatten
> Spannung pro Bit, ohne Nachkommastellen im Gegensatz zu einer Uref von
> 3,3V.

Schöne Illusion. Das gilt bestenfalls, wenn die 2,048V auf mV genau 
stimmen. Außerdem braucht man das nur in den seltensten Fällen.

von Purzel H. (hacky)


Lesenswert?

> Aber das ist bisher noch nie ein Problem gewesen, weil ich den Rohwert
vom ADC sowieso in die physikalische Größe mit einer Skalierfunktion
muss.

Muss er das ? Allenfalls. Bei mir meist nicht.
Ich lasse Regelkreise immer mit ADC Werten laufen. Heisst, ich muss 
einmal einen Float wert mach ADC rechnen, und vielleicht 1-2mal pro 
Sekunde, wenn der User einen Messwert moechte, von ADC nach Float.

von Dirk F. (dirkf)


Lesenswert?

Purzel H. schrieb:
> Ich lasse Regelkreise immer mit ADC Werten laufen. Heisst, ich muss
> einmal einen Float wert mach ADC rechnen, und vielleicht 1-2mal pro
> Sekunde, wenn der User einen Messwert moechte, von ADC nach Float.

Also ich skaliere zyklisch INT_2_INT.  Das geht recht fix.
Von Float halte ich Abstand bei einer MCU ohne FPU......

von Rainer W. (rawi)


Lesenswert?

Dirk F. schrieb:
> Ist es jetzt besser, die Versorgungsspannung oder die interne
> Referenzquelle  als Referenz für den ADC einzustellen ?

Das kommt auch drauf an, ob du absolut oder ratiometrisch messen 
möchtest.

von Dirk F. (dirkf)


Lesenswert?

Absolut

von J. S. (engineer) Benutzerseite


Lesenswert?

Falk B. schrieb:
> Meistens ist die thermische Drift das größte Problem und mit
> 4%  über den vollen Temperaturbereich eher so lala.

Wenn der Verlauf einigermaßen bekannt ist, kann man die Temperatur 
messen und das weitgehend wegkorrigieren.

von Ali K. (teddy50)


Lesenswert?

J. S. schrieb:
> Falk B. schrieb:
>> Meistens ist die thermische Drift das größte Problem und mit
>> 4%  über den vollen Temperaturbereich eher so lala.
>
> Wenn der Verlauf einigermaßen bekannt ist, kann man die Temperatur
> messen und das weitgehend wegkorrigieren.

Woher bekommt man den Verlauf?
Datenblatt?

von Dirk F. (dirkf)


Angehängte Dateien:

Lesenswert?

Udo S. schrieb:
> Lese mal die ganze Beschreibung. Zwar ist der absolute Spannungswert
> nicht so exakt, aber die Langzeitdrift und thermische Drift meist
> deutlich besser als bei deiner Versorgungsspannung. Ein einmaliges
> Kalibrieren genügt also für einen genaueren Wert.

Steht noch nix davon im Datenblatt. Ist halt noch ein recht neuer Typ.

von Falk B. (falk)


Lesenswert?

J. S. schrieb:
> Falk B. schrieb:
>> Meistens ist die thermische Drift das größte Problem und mit
>> 4%  über den vollen Temperaturbereich eher so lala.
>
> Wenn der Verlauf einigermaßen bekannt ist, kann man die Temperatur
> messen und das weitgehend wegkorrigieren.

Kann man, macht aber so gut wie keiner.

von Ali K. (teddy50)


Lesenswert?

Falk B. schrieb:
> J. S. schrieb:
>> Falk B. schrieb:
>>> Meistens ist die thermische Drift das größte Problem und mit
>>> 4%  über den vollen Temperaturbereich eher so lala.
>>
>> Wenn der Verlauf einigermaßen bekannt ist, kann man die Temperatur
>> messen und das weitgehend wegkorrigieren.
>
> Kann man, macht aber so gut wie keiner.

Und wenn die Temperaturmessung ungenau ist?
Dann bringt man zwei Messungeauigkeiten ein

von Falk B. (falk)


Lesenswert?

Ali K. schrieb:
>>> Wenn der Verlauf einigermaßen bekannt ist, kann man die Temperatur
>>> messen und das weitgehend wegkorrigieren.
>>
>> Kann man, macht aber so gut wie keiner.
>
> Und wenn die Temperaturmessung ungenau ist?
> Dann bringt man zwei Messungeauigkeiten ein

Jaja, und morgen fällt der Mond vom Himmel und übermorgen die Sonne. 
OMG!
Es gibt schon Anwednungen, wo man die Temperatur mißt und 
dementsprechend eine Kennlinie korrigiert. Nur eben seltenst bei einem 
ADC. Eher bei einem Oszillator. Nennt sich dann TCXO, Temperature 
compensated crystal oscillator. Wobei die Kompensation über einen 
Schaltungstrick mit einem temperaturabhängigen Widerstand oder Kapazität 
erfolgen kann (indirekte Messung) oder direkt und per digitaler 
Korrektur, wie z.B. bei der RTC DS3231 & Co.

Beitrag "DS3231SN RTC Module mit DS3231M (MEMS) Typ installiert"

Und natürlich versucht man auch in diversen anderen Schaltungen, die 
Temperaturabhängigkeit zu minimieren. Allerdings kann man bei vielen mit 
10% oder mehr Drift leben.

von Manfred P. (pruckelfred)


Lesenswert?

Dirk F. schrieb:
> Udo S. schrieb:
>> Lese mal die ganze Beschreibung. Zwar ist der absolute Spannungswert
>> nicht so exakt, aber die Langzeitdrift und thermische Drift meist
>> deutlich besser als bei deiner Versorgungsspannung. Ein einmaliges
>> Kalibrieren genügt also für einen genaueren Wert.

So sehe ich das auch.

> Steht noch nix davon im Datenblatt.

Solange Du nichts zur Anwendung und der geforderten Genauigkeit sagst, 
ist das eine Diskussion um des Kaisers Bart.

Mache einen einfachen Testaufbau und gehe mit dem Haartrockner auf die 
Schaltung. Oder, realistischer, vertraue der internen Band-Gap-Referenz.

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.