Hallo, ich habe eine ATMega8 und möchte damit 2 unterschiedliche Spannungen messen. Allerdings sollte einmal eine externe Referenzspannung mit relativ genau 5V verwendet werden und einmal die Versorgungsspannung (i.d.R. leicht über 5V). Hintergrund ist die Messgenauigkeit. Einmal will ich wirklich eine externe Spannung messen und damit sollte die Referenzspannung nicht schwanken, und einmal "nur" einen Temperaturwiderstand über einen Spannungsteiler, bei dem die Versorgungsspannung als Referenz die besseren Werte liefert. Programmtechnisch sind es ja nur ein paar Register. Aber funktioniert das mit der Versorgungsspannung noch, wenn an ARef bei Atmel immer die exakten 5V Referenzspannung anliegen? Danke und viele Grüße Johann
Beitrag #5420276 wurde vom Autor gelöscht.
Johann schrieb: > wenn an ARef bei Atmel immer die > exakten 5V Referenzspannung anliegen? Du solltest mit einer geringeren Referenzspannung arbeiten, weil ARef nie höher als Vcc sein sollte. Warum nimmst du nicht die interne Referenz? Nach einer (ein Punkt) Kalibrierung ist diese meist ausreichend. Wenn nichts fatales dagegen spricht, befolge ich immer diese Regeln: 1. Bei ratiometrischen Messungen, Vcc als Referenz. 2. Bei absoluten Messungen die interne Referenz
Siehe Netiquette. 1. Die in der Frage enthaltenen Voraussetzungen sollten vollständig erklärt sein. 2. Zu 1.: Die Frage sollte dazu motivieren, sie zu beantworten. In dem Fall, sollte sie genug Information enthalten, damit ich als potentieller Antworter auch für mich daraus etwas gewinnen kann.
eine, von aussen anglegte, Referenzspannung wird gnadenlos von der VCC "überfahren". Solange diese sich nicht schwer damit tut, ist alles in Butter. Ich hatte eine 4.096V externe Referenz und wollte auf die interne 2.56V umschalten. Die externe hat dort trotzdem "hineingepustet". Der Vref-Pin wird nicht abgeschaltet, wenn man statt der extern angelegten Spannung die interne verwenden will. Gegenseitige Beeinflussungen sind vorprogrammiert!
Äxl Real schrieb: > eine, von aussen anglegte, Referenzspannung wird gnadenlos von der VCC > "überfahren". Qatsch mit Soße. Wäre es tatsächlich so, würde es die Wahlmöglichkeit für Vref ja wohl garnicht geben. Es gibt sie aber... D.h.: All die Leute, die das DB lesen und ihre Hardware entsprechend designen können, können durchaus auch die Referenzsspannung nach ihren Wünschen auswählen. Und der Rest... Naja, das sind dann Leute wie du...
Johann schrieb: > ... und einmal "nur" einen Temperaturwiderstand über einen > Spannungsteiler, bei dem die Versorgungsspannung als Referenz > die besseren Werte liefert. Warum soll die Versorgungsspannung dafür die bessere Referenz liefern? Solange der Spannungsteiler an der selben Spannung hängt, die auch als Referenz für den ADC verwendet wird, ist die externe Referenz dafür genauso gut.
Wolfgang schrieb: > Warum soll die Versorgungsspannung dafür die bessere Referenz liefern? > Solange der Spannungsteiler an der selben Spannung hängt, die auch als > Referenz für den ADC verwendet wird, ist die externe Referenz dafür > genauso gut. Es kann durchaus gute Gründe dafür geben, je nach Meßaufgabe zwischen der lokalen Vcc-Versorgung und der Vcc-Versorgung eines entfernten Messpunktes als Referenz zu wechseln, selbst wenn Vcc letzlich aus derselben Quelle stammt und sogar auf dem Schaltplan wie ein Signal erscheint. Das gilt u.U. selbst für einfache Meßaufgaben im Quasi-DC-Bereich, noch sehr viel stärker aber für alles, was deutlich weg von DC ist... Du mußt offensichtlich noch SEHR viel lernen...
Beitrag #5420402 wurde von einem Moderator gelöscht.
Danke für die vielen Antworten. Vielleicht fehlten auch noch ein paar Infos, warum ich die Frage überhaupt gestellt habe. Der Atmel wurde am Motorrad verbaut und hat (neben manch anderen Dingen) auch die Aufgabe, die Bordspannung und die Öltemperatur zu ermitteln. Öltemperaturgeber ist ein temperaturabhängiger Widerstand. Aktuell ist die Versorgungsspannung meine Referenz, d.h. AREF ist über einen 100n-Kondensator mit Masse verbunden. Das führt bei der Öltemperatur zu sehr guten Ergebnissen, da eine Schwankung in der Versorgungsspannung keinen Einfluss auf das Ergebnis nehmen kann (VCC - Vorwiderstand - ADC1 - Temperatursensor - Masse). Bei der Bordspannung ist mir aber aufgefallen, dass die Messungen nicht so gut sind. Das liegt natürlich daran, dass man bei einem KfZ im Bordnetz mit unterschiedlichen Spannungen zwischen 11,5 und 14,4 V leben muss. Das lässt meine Versorgungsspannung auch etwas mitschwanken und nicht exakt bei 5 V verharren. Wenn ich nun über einen Spannungsteiler die Bordspannung auf ein Drittel reduzierte und an ADC2 anschließe, erhalte ich durch die Veränderung der Versorgungsspannung und der Benutzung dieser als Referenz zu geringe Ausschläge. Deshalb wäre hier eine interne Referenz oder externe Referenz besser. Ich werde nun folgendes Ausprobieren (Arduino Fanboy: Danke für den Denkanstoss!): Ich belasse die Schaltung genau so (AREF gepuffert über 100n an Masse) und schalte nur vor der Messung zwischen interner Referenz und Versorgungsspannung um, d.h. beim Messen der Temperatur die Versorgungsspannung und beim Messen der Bordspannung die interne Referenz. Natürlich muss ich den Spannungsteiler von 2:1 auf 5:1 verändern, da ich ansonsten Werte > Referenz am ADC habe. Allerdings habe ich mal gelesen, dass die Regel VCC > Referenzspannung > ADC-Spannung sein muss, da sonst der Atmel kaputt gehen könnte. Gilt das nur beim Messen oder immer? Sonst müsste ich die Temperaturermittlung auch umbauen, damit ich nicht über 2,5V komme und verliere damit Genauigkeit.
Nein, der ADC Pin kann bis Vcc ab. Die Messwerte enden allerdings bei dem jeweils eingestellten Aref. Oberhalb gibts nur 1023
Johann schrieb: > ... die Bordspannung und die Öltemperatur zu ermitteln Drehe die Logik um: Verwende als Referenz nur die Versorgungsspannung des ATMega und klemme die externe Referenz an einen Analogeingang. Aus der bekannten Spannung am Analogeingang kannst' auf die Abweichung zurückrechnen.
Eine externe Referenz ist hier nicht nötig.
Arduino F. schrieb: > Eine externe Referenz ist hier nicht nötig. Du meinst, er soll die interne Referenz des ATMega verwenden? O.K., keine Einwände.
c-hater schrieb: > Qatsch mit Soße. ich wollte mich auf die interne referenz beziehen, die von der höheren, externen, "überfahren" wird. Hast natürlich Recht. Danke für den Hinweis, hab ich kurz nicht nachgedacht. Die VCC greift da natürlich nicht ein, sry.
Jetzt glaube ich, habe ich alles verstanden (wie es gemeint war oder vielleicht gemeint sein hätte können) und es gibt wohl verschiedene Lösungen (wie fast immer). 1. Man schaltet die Referenzspannung um zwischen interner Referenz und VCC als Referenz. Hat nur den Nachteil, dass es wohl bis 500 ms dauern kann, bis der Kondensator an AREF entladen ist. Natürlich muss der Spannungsteiler angepasst werden, da ich nicht mehr 0-5V, sondern nur 0-2,56V messen kann. 2. Man arbeitet immer mit VCC als Referenz 2.1. Man lötet eine externe Referenzspannung dazu und schaltet diese auf einen ADC-Kanal (nicht auf AREF). Damit kann man die Versorgungsspannung ermitteln und somit die echte Referenzspannung und damit den Messwert besser errechnen. 2.2. Man arbeitet mit der bandgap reference. Es wird wohl hieraus auch die interne Referenz abgeleitet. Diese liegt beim ATMega8 auf ADC-Kanal 15 an (salopp gesagt) mit 1,3 V und damit kann man ebenfalls die Versorgungsspannung ermitteln ohne etwas löten zu müssen. Die Spannung ist wohl von Chip zu Chip etwas unterschiedlich, aber dann wohl recht stabil. Ich habe die Ermittlung etwas angepasst, da AVR auch eine Bandbreite von 1,15 bis 1,4 angibt. Leider hatte ich den Spannungsteiler schon geändert, bevor ich die Lösung 2.2. umgesetzt habe. Natürlich blieb die Ermittlung der Temperatur gleich. Bin zwar immer noch nicht ganz zufrieden mit den Werten, aber das liegt eher nicht mehr am Chip und der Ermittlung. Basteln geht weiter. Nochmal DANKE an alle! Habe wieder einiges gelernt.
Schau' in die Datenblätter der Mikrocontroller, nicht nur die von Atmel bzw. seinem Käufer, sondern in die der meisten anderen. Da wirst Du feststellen, dass, egal welchen Anschluss Du im Auge hast, bei Vcc + 0,7V Schluss ist. Zumindest bei den allermeisten. Meist steht da auch irgend etwas von absoluten Maxima. Dabei ist es egal, ob Du digitalisierst oder die Anna log. Die meisten Unterschiede gibt es rund um eine eventuelle Referenzspannung. Letztere ist aber nie größer als Vcc, da sie ja aus dem "Innern" kommt.
Johann schrieb: > 1. Man schaltet die Referenzspannung um zwischen interner Referenz und > VCC als Referenz. Hat nur den Nachteil, dass es wohl bis 500 ms dauern > kann, bis der Kondensator an AREF entladen ist. Nein, sicher nicht. Es sei denn, man hat einen völlig idiotisch überdimensionierten Kondensator an Aref...
Nun wurde es auch über 100km getestet und ich bin ganz zufrieden mit den Ergebnissen und der Lösung 2.2. Nochmals vielen Dank für die guten Denkansätze!! @c-hater: Habe das aus Beitrag "ATmgea48: Referenzspannungen wechseln". Der hatte das so gemessen. Da ich es natürlich nicht nachprüfen konnte, steckt bewusst ein relativierendes "wohl" im Satz.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.