ATmega keine interne Ref-Spannung AREF = 0V ADC

OP #4206831
Lesenswert?
• ▲
▼
Hallo,

habe seit langer Zeit wieder meine ATmegas rausgekramt.

Genutzt wird ein ATmega16 auf STK500 mit 4 MHz internem RC und max. 
Startup-Zeit, sonst alle Fuses default, Zusatzbeschaltung am STK500 nur 
ein LCD am PortD und ADC Ch0/1 am PORTA, Vcc = 3,7 V.

Jetzt folgendes Problem mit den ADCs :
Die gesampleten Werte liegen immer am Maximum. Ich sample über einen 
Timer-Interrupt gesteuert immer mehrere Werte (Single Conversion), 
verwerfe die jeweils erste Wandlung und mittle die Restlichen.

Dazu folgende Erkenntnisse:
- Jumper AREF am STK offen:
* am PIN (A)REF (PORTE) messe ich 0 V bei Einstellung interne Referenz 
2,56 V
* am PIN (A)REF messe ich 0 V bei Einstellung Vcc
* im Simulator die Übernahme Einstellungen ADMUX etc. überprüft, passt 
soweit
- mit externer Referenz und 2,6 V übers STK 500 (AREF-Jumper gesteckt) 
arbeitet der ADC richtig
--> die berechneten Spannungswerte stimmen ziemlich genau mit den per 
Multimeter gemessenen überein

Mein erster Gedanke, dass die Bandgap Probleme macht:
- Wird diese bei mehreren aufeinanderfolgenden SingleConversions evtl. 
zwischendrin wieder abgeschaltet?
Ich habe deshalb mit BOD enabled (2,7 V) getestet, das gleiche Problem: 
interne Ref bringt Müll und 0 V am Pin, ext. Ref alles i.O.

Hab ich irgendwas übersehen, dass man die Referenz auser in ADMUX noch 
freischalten müsste?

Grüße,

Michael

Achso: Hab auch einen zweiten frischen ATmega16 getestet, genau das 
gleiche seltsame Verhalten.
OP #4207016
Lesenswert?
• ▲
▼
da1l6 schrieb:
> Laut Datenblatt braucht der ATMega16 mindestens 4.5V:

Super Tipp, Danke! Werd ich heut abend mal ausprobieren ...

Das ist halt das Problem wenn man außerhalb der Spec arbeitet, wobei ich 
mehrere Nicht-L-ATmegas schon seit Jahren problemlos mit LiIo bei 3,7 V 
betreibe, aber das waren reine Digitalanwendungen.

Könnte durchaus daran liegen. Zwar muss die Bandgap selbst auch für 
BOD-Level 2,7 V ausgelegt sein, aber vielleicht hat der Verstärker für 
die ADC-Referenz dann ein Problem.
OP #4207243
Lesenswert?
• ▲
▼
Karl H. schrieb:
> Beim Beschreiben von ADMUX zum Setzen des Kanals hast du irgendwo eine
> Oder Operation vergessen

Wie geschrieben:
> im Simulator die Übernahme Einstellungen ADMUX etc. überprüft, passt
> soweit
aber vielleicht hab ich nicht lang genug simuliert oder Breakpoints an 
den falschen Stellen und überschreib das ausversehen irgendwo ... schau 
ich mir nochmal an

P.S:
> Michael K. schrieb:
>> Mein erster Gedanke,
nachdem ich das darüber alles getestet hatte, so gesehen eigtl. der 
letzte Gedanke :-)
#4207425
Lesenswert?
• ▲
▼
Ok, :-(
hast Recht. Datenblatt habe ich zwar gelesen, aber so gut ist mein 
Englisch nicht. Also, kurzerhand Nachgemessen und siehe da....
Mann lernt halt nie aus ;-)

Edit: Jetzt hab ich's auch gefunden.
...VREF can also be measured at the AREF pin with a high impedant 
voltmeter...
OP #4207959
Lesenswert?
• ▲
▼
Karl H. schrieb:
> Beim Beschreiben von ADMUX zum Setzen des Kanals hast du irgendwo eine
> Oder Operation vergessen

Du hast zu 100% recht, beim Umschalten der Channels hab ich einfach ganz 
"clever" die Zählvariable auf ADMUX gelegt.

Bis zu der Stelle hatte ich aber nie simuliert (da man den ADC ja eh 
nicht mit simulieren kann), und davor war ja alles i.O.

Also vielen Dank für alle Antworten, jetzt funzt es.

Antwort schreiben

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.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.