AREF ist ein Ausgang?

Gast #1534502
Hallo!

Ich habe eine Frage zum Tutorial (Atmega8):

Ich verstehe das so, dass AREF ein Ausgang ist an der eine 
(softwareseitig veränderliche) Spannung anliegt. Und an AVcc wird die 
Spannungsquelle angeschlossen.
Habe ich das richtig verstanden?

Wenn ja: Dann kann ich dann die folgende Schaltung bauen oder spricht da 
etwas gegen?

AREF----Vorwiderstand----Photowiderstand-----GND
                       |
                       |
                      ADC0

Danke im Voraus!
Gast
Hi

>Ich verstehe das so, dass AREF ein Ausgang ist an der eine
>(softwareseitig veränderliche) Spannung anliegt.

Nein. Bei REFS1=0, REFS0=0 ist es ein Eingang.

MfG Spess
An AVCC wird die Versorgungsspannung angeschlossen, ggf. gefiltert durch 
ein L/C-Glied.

AREF kann Eingang wie Ausgang sein, abhängig von der Einstellung der 
Referenzspannung.

Deine Schaltung ist prinzipiell richtig, aber AREF darf nicht stark 
belastet werden. Siehe Doku. Nur kannst du das leichter haben, indem du 
AVCC als Referenz verwendest und den Teiler an AVCC hängst. Das Ergebnis 
des Spannungsteilers ist ja nicht abhängig vom tatsächlichen Wert von 
AVCC.
Gast
Aref ist immer ein Einang (hier wird die Ref. Spannung für den AD her 
geholt). Zusätzlich kann der PIN auch gleichzeitig ein Ausgang sein 
worüber einen Widerand in Größenordnung 10 K die Spannung von der Ref. 
(2,5 V) oder AVCC anliegt.
Ulrich schrieb:

> Aref ist immer ein Einang (hier wird die Ref. Spannung für den AD her
> geholt).

Du bist noch auf dem Stand der alten AT90Sxxxx, da stimmte das. Bei den 
ATmegas liegt ggf. die interne Referenz (Bandgap oder AVCC) drauf.
Gast
Danke für die zahlreichen Antworten!

Also ich hab jetzt die Schaltung gebaut:

AREF----Vorwiderstand----Photowiderstand-----GND
              22K Ohm      78 Ohm-1M Ohm
                        |
                        |
                       ADC0

LED an C5, Messung an C0.

Funktioniert leider nicht, egal mit was für einem Wert ich den vom ADC 
gemessenen vergleiche (0,128,255), immer leuchtet die LED. (Siehe mit 
!!!!! markierte Zeile). Das kann ja nicht sein. Sieht jemand einen 
Fehler?

.include "m8def.inc"

  .def temp1     = r16
  .def adlow     = r17        ; Ergebnis vom ADC
  .def adhigh    = r18         ; Ergebnis vom ADC

  ; C5 als Ausgang
  ldi temp1, 0b00100000
  out DDRC, temp1

  ; ADC initialisieren: ADC0, Vcc als Referenz, Single Conversion, 
Vorteiler 128

  ldi     temp1, (1<<REFS0) | (0<<MUX0) | (0<<MUX1) | (0<<MUX2) | 
(0<<MUX3)  ; Kanal 0, interne Referenzspannung 5V
  out     ADMUX, temp1
  ldi     temp1, (1<<ADLAR)   ; linksbündige Ausrichtung in adhigh
  out     ADMUX, temp1
  ldi     temp1, (1<<ADEN) | (1<<ADPS2) | (1<<ADPS1) | (1<<ADPS0) 
; ADC an und Prescaler auf 128
  out     ADCSRA, temp1

  sample_adc:
  sbi     ADCSRA, ADSC        ; den ADC starten

  wait_adc:
  sbic    ADCSRA, ADSC        ; wenn ADC fertig, wird dieses Bit 
gelöscht
  rjmp    wait_adc

  in      adlow, ADCL         ; immer zuerst LOW Byte lesen
  in      adhigh, ADCH        ; danach das mittlerweile gesperrte High 
Byte

  cpi     adhigh, 0           ;!!!!!!!!!!!!!!!!!!!!!!!!
  brsh    gr
  ldi     temp1, 0xFF    ;kleiner: LED aus
  out     PORTC, temp1
  rjmp   sample_adc
  gr:                    ;größer: LED an
  ldi     temp1, 0x00
  out     PORTC, temp1

  rjmp sample_adc
Gast
Joa ich dachte das wäre ein gültige Schreibweise um das aus optischen 
Gründen auf zwei Zeilen aufzuteilen ;)

War wieder ein Volltreffer, jetzt gehts!!!

Danke schön!!!!!
Gast
Avcc ist nicht der selbe Pegel wie Aref! Die Spannungen an den beiden 
Pins sind jeweils abhängig von äußeren Umgebungsbedingungen (angelegte 
Spannung) und internen Einstellungen (Referenzquelle).
Gast
@Henk:

Hmm also meine Spannungsquelle gibt (angeblich) 7,5 Volt.

Die interne Einstellung ist bei mir: REFS0=1 und REFS1=0, also interne 5 
Volt.

Ich will nur kucken obs hell oder dunkel ist. Das scheint so zu 
funktionieren.

Zitat: Avcc ist nicht der selbe Pegel wie Aref!
Hat das irgendwelche Folgen für mich?

Danke für die Hilfe hier!

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 16 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

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.