Forum: Mikrocontroller und Digitale Elektronik Atmel interne oder externe AREF ?


von Joachim B. (jar)


Lesenswert?

ich grübel gerade,

ist es besser für ADC eine externe Referenz anzuschliessen statt die 
interne zu nutzen?

Ich hatte LM4040 vermessen und fand die recht gut, genau und stabil.

Schliesse ich diese an so kann ich den AVR tauschen und muss über evtl. 
abweichende interne REF nicht mehr grübeln oder nachkalibrieren, die im 
Programm eingebauten Teiler und Offsets müssten gültig erhalten bleiben.

stimmt das oder Denkfehler?

von Wolfgang (Gast)


Lesenswert?

Joachim B. schrieb:
> ist es besser für ADC eine externe Referenz anzuschliessen statt die
> interne zu nutzen?

Das kommt drauf an, welche Genauigkeitsanforderungen du hast, ob bei 
deiner Anwendung die Genauigkeit durch die interne Referenz limitiert 
ist und wie teuer (Aufwand/Platinenplatz) für dich eine externe Referenz 
ist.

von Joachim B. (jar)


Lesenswert?

Wolfgang schrieb:
> Das kommt drauf an, welche Genauigkeitsanforderungen du hast, ob bei
> deiner Anwendung die Genauigkeit durch die interne Referenz limitiert
> ist und wie teuer

so genau wie möglich, OK der AVR hat nur 10 Bit
so günstig wie möglich, der LM4040 ist nicht teuer und der Platz ist 
noch vorhanden.

wenn ich mit dem ADC 10-bit rel. nahe bei den 1 Promille 1/1024 ADC 
bleibe bin ich zufrieden.

hatte den LM4040 mit 2x 6,5 stelligen DVM vermessen, den fand ich gut.

: Bearbeitet durch User
von Walter S. (avatar)


Lesenswert?

Joachim B. schrieb:
> so genau wie möglich, OK der AVR hat nur 10 Bit
> so günstig wie möglich

das ist eine Forderung ähnlich wie:
wasch mich, aber mach mich nicht nass

von Joachim B. (jar)


Lesenswert?

Walter S. schrieb:
> das ist eine Forderung ähnlich wie:
> wasch mich, aber mach mich nicht nass

ist mein täglicher Job und der macht mir Spass, mehr kannst du nicht
schreiben? das ist entbehrlich....

von Mike J. (linuxmint_user)


Lesenswert?

@ Walter S. (avatar)
Das ist eine Frage der Optimierung.

Man geht mit den Kosten etwas hoch und gewinnt an Qualität/Genauigkeit, 
aber man wirft nicht sinnlos Geld in die Schaltung wenn der Gewinn an 
Qualität/Genauigkeit das nicht rechtfertigt.

Man hat ja immer im Blick was man braucht.

@ Joachim B. (jar)
> Ich hatte LM4040 vermessen und fand die recht gut, genau und stabil.

Es ist doch so dass die Referenzspannung vom Controller genutzt wird, 
also liegt da eine gewisse Last an.
In dem Datenblatt des Xmega steht dass die Quellimpedanz der 
Referenzspannung die Wandlungsrate beeinflusst.

Man könnte jetzt einen OpAmp als Spannungsfolger nutzen um das 
kompensieren zu können, aber der hat auch wieder einen Offset, 
Temperaturdrift usw. , also lass ich das.

Das wird damit zu tun haben dass die Referenzspannungsquelle bei jeder 
Wandlung belastet wird und der Kondensator sich erst wieder etwas 
aufladen muss, sonst ist das Ergebnis der ADC-Wandlung etwas höher da 
die Referenzspannung zu stark fällt.

Ich würde eine einfache Methode zum kalibrieren der doch recht genauen 
internen Referenzspannung nutzen.
Dazu habe ich hier eine sehr genaue 5V Referenz und einen guten 
Spannungsteiler auf einem Kalibrierungs-Board.
Ein ADC-Pin ist an den Rand der Ziel-Platine geführt worden, so dass man 
da leichter ran kommt.

Im Programm auf dem Controller der Ziel-Platine habe ich eine kleine 
Kalibrierungsroutine drin, die muss nur ausgeführt werden während an dem 
Kalibrierungs-ADC-Pin dann die entsprechenden Spannung (0V und 0.9V) 
anliegen.
Das Kalibrierungs-Programm starte ich über einen Befehl den ich über 
UART sende, dann schalte ich von 0V auf 0.9V um ... allerdings könnte 
man dieses umschalten auch vom Kalibrierungs-Programm machen lassen.

Da du das aber wahrscheinlich nur für Prototypen-Boards brauchst sollte 
das ausreichen.

von Joachim B. (jar)


Lesenswert?

Mike J. schrieb:
> Es ist doch so dass die Referenzspannung vom Controller genutzt wird,
> also liegt da eine gewisse Last an.

da hatte ich beim Messen variert im 10k Bereich as regelte die LM4040 
recht gut aus

Mike J. schrieb:
> Man könnte jetzt einen OpAmp als Spannungsfolger nutzen um das
> kompensieren zu können, aber der hat auch wieder einen Offset,
> Temperaturdrift usw. , also lass ich das.

ich auch

Mike J. schrieb:
> Ich würde eine einfache Methode zum kalibrieren der doch recht genauen
> internen Referenzspannung nutzen.

wäre nervig wenn man den Controller wechselt, deswegen wollte ich ja 
eine feste REF einbauen.

Mike J. schrieb:
> Da du das aber wahrscheinlich nur für Prototypen-Boards

ja aber der Prototyp ist nicht der AVR, der wird nur benutzt und den 
wollte ich schnell mal tauschen können ohne alle Spannungsteiler und Ref 
im Proggi neu eingeben zu müssen

ich denke ich probiere es einfach mal aus wie sich das bei 4 Controller 
verhält.

von Mike J. (linuxmint_user)


Lesenswert?

Joachim B. schrieb:
> ich denke ich probiere es einfach mal aus wie sich das bei 4 Controller
> verhält.

Na gut, kannst ja dann sagen ob die Lösung für dich funktioniert hat.


Für mich ist der Temperaturdrift sehr wichtig.
Die interne 1.0V Referenz des ATXmega schwankt bei Vcc=3.3V um 
vielleicht 1mV.

Über den gesamten Spannungsbereich (1.6 bis 3.6V) sind das 3.2mV und 
somit würde mein Messergebnis (Spannungsteiler 1:5) dann um 16mV 
schwanken.

Bei dem LM4040 (2.5V) (Spannungsteiler 1:2) wären das dann maximal 
+-50mV oder vielleicht auch nur +-7,5mV wen man den typischen Wert von 
15ppm/°C annimmt.

Bei dem AVR weiß ich aber auch nicht ob das nur die typischen Werte sind 
und die maximale Streurate höher liegt, aber laut dem was ich hier im 
Forum gelesen habe ist die Temperaturstabilität der internen Referenz 
sehr gut.

von Jens (Gast)


Lesenswert?

Mike J. schrieb:
> Für mich ist der Temperaturdrift sehr wichtig.
> Die interne 1.0V Referenz des ATXmega schwankt bei Vcc=3.3V um
> vielleicht 1mV.
Wenn die Drift für Dich wichtig ist, dann mußt Du sie ordentlich 
ausmessen (z.B.: Klimaschrank). Die Schwankung von 1 mV ist Rauschen. 
Damit kann man keine Temperaturkennlinie aufnehmen kopfschüttel.

> Bei dem AVR weiß ich aber auch nicht ob das nur die typischen Werte sind
> und die maximale Streurate höher liegt
Dafür schaut man ins Datenblatt. Wenn die Werte dort nicht spezifiziert 
sind, sind sie schlecht. Gute Hersteller geben die Messbedingungen, 
typische Werte und Maximalwerte im Datenblatt an. Bei sehr guten 
Herstellern stimmen die Werte auch.
Zu welcher Kategorie ein Hersteller gehört, zeigt die Erfahrung.

Jens

von Mike J. (linuxmint_user)


Lesenswert?

Jens schrieb:
> Wenn die Drift für Dich wichtig ist, dann musst Du sie ordentlich
> ausmessen

Bei dem ATXmega128A4U muss man das ja eben nicht da die nicht merkbar 
wegdriften. Es gibt da nur ein Offset und vielleicht leichte 
Unlinearitäten des ADC.

Bei einem 12Bit ADC ist aber noch nicht viel mit rauschen ... jedenfalls 
wenn man ihn richtig gegen die Störungen schützt.

Ich bestimme hier quasi nur ein mal den realen Spannungswert der 
Referenzspannungsquelle und dann sollte ich von -40 bis +60°C immer den 
richtigen AD-Wert bekommen.

Ein Test im Klimaschrank wird aber trotzdem mit ein paar Chips 
durchgeführt, um es mal selbst gemessen zu haben.

von Georg (Gast)


Lesenswert?

Mike J. schrieb:
> Ein Test im Klimaschrank wird aber trotzdem mit ein paar Chips
> durchgeführt, um es mal selbst gemessen zu haben.

Wenn so ein Test einen Sinn haben soll, packt man einige hundert davon 
in den Klimaschrank. Sonst muss man sich an die Angaben im Datenblatt 
halten.

Georg

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.