www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik ADC Problem mit U_ref


Autor: Hannes S. (hannestum)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Will mit einem ATMEGA8 Spannungen messen und am LCD ausgeben.

Hab zum Testen mal eine einfache Batterie (1,612V laut Multimeter) 
zwischen ADC-Eingang und GND geklemmt. Als Ergebnis wird mir 332 
angezeigt.

Da REFS1 und REFS0 beide 1 sind, werden ja die internen 2,56V als 
Referenzspannung verwendet. 2,56V/1023 * 332 = 0,83V
Das Ergenbis kann also irgendwie nicht stimmen.

Auffällig ist nur, das wenn ich die Rechnung mit 5V statt 2,56V 
durchführe, würde das Ergebnis ziemlich genau stimmen...aber es kann 
doch nicht sein, dass 5V als U_ref verwendet werden :(

Autor: Benedikt K. (benedikt) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mess doch einfach mal nach was an AREF anliegt.

Autor: Steilheckulli (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,
und was liegt an AVCC an?

PS: Poste doch mal den Codeschnipsel bei dem du den AD Wandler 
initialisierst.

Autor: Hannes S. (hannestum)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mhmh, ja am AREF sinds auch 5 Volt - Jetz weiß ich auch warum. Hab in 
meiner Gedankenabwesenheit vergessen, den AREF Jumper beim STK500 
rauszuziehen....

Mit der internen Referenzspannung von 2,56 Volt bekomme ich jetz einen 
Wert von 609 was einer Spannung von 1,523 entspricht. Dieser Wert is 
jedoch wesentlich ungenauer als der Wert den ich bei 5V Referenzspannung 
erhalte.

Is das bei der internen Referenzspannung normal, oder läuft da immer 
noch was flasch??

Autor: Lutz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Benedikt schrieb: Mess doch einfach mal nach was an AREF anliegt.
Wie groß ist AREF jetzt? Dann rechne noch mal und berichte.

Autor: Hannes S. (hannestum)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja, wenn ich 5V an AREF anlege, stimmt der gemessene Wert genau. Nur 
wenn ich die interne Referenzspannung verwende is das Ergebnis 
wesentlich ungenauer. Die interne sollte beim Atmega8 ja 2,56V betagen, 
aber wo sollte ich die messen können??

Autor: yalu (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> aber wo sollte ich die messen können??

Wie Lutz schrieb: am AREF-Pin. Die Referenzspannung liegt dort immer
an, egal ob die Quelle außerhalb oder innerhalb des Controllers liegt.

Autor: Hannes S. (hannestum)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mhm, also wenn ich den AREF Jumper am STK500 abstecke, dann hab ich 
zwischen AREF und GND etwa 300mV. Was jedoch komisch ist, dass ich 
zwischen AREF und VCC so 120mV messe, was ja eigentlich nicht möglich 
sein kann.... ??? ODer is der Pin am STK 500 irgendwie anderwertig 
verbunden?!

Autor: Branko Golubovic (branko)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du hat vermutlich REFS0 und REFS1 überschrieben.
ADMUX=adc_input;
Dadurch ist interner AREF ausgeschaltet und Pin selbst hochohmig 
geworden(Data Sheet, Seite 206,Tabelle 74).

Bei Umschaltung zwischen analoge Eingänge  verwende besser folgendes:
ADMUX&=0xF0; // ADMUX3..0 zuerst zurücksetzen, REFS0 und REFS1 bleibt behalten.
ADMUX|=adc_input; // ADCMUX3..0 wird aktualisiert, REFS0 und REFS1 bleibt noch immer unberührt.

Autor: Mikki Merten (mmerten)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die interne Referenz ist bei den ATmega zwar recht stabil, hat jedoch 
erhebliche Fertigungstoleranzen ja nach Typ 2,3 - 2,7 Volt. Falls man 
diese
nutzen will, sollte man immer eine "Kalibrierroutine" vorsehen und einen 
entsprechenden Korrekturwert z.B. im EEPROM ablegen.

Autor: Hannes S. (hannestum)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Naja, da ich jetz wirklich alles ausprobiert habe, glaub ich es liegt an 
den Toleranzen. Falls ich von meinem ADC-Wert auf die Referenzspannung 
zurückrechne bekomm ich 2.7V heraus. Komisch is nur, dass ich die 
interne Referenz nicht am AREF-Pin messen kann....

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.