PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : ANalog Comparator des Mega8



MarkusH
19.04.2005, 18:05
Hallo Leute!
Ich hab jetzt wochenlang mit dem Analog-Comaparator gekämpft. Ich wäre ganz froh drum wenn mir mal jemand die grundprinzipien des ADC erklären könnte oder wenn jemand einen brauchbaren link weiß. Ich bin nun dahinter gekommen das man da wohl zwei spannungen für braucht (wie der name schon sagt O:) ). Ich blicks aber nicht wie ich das ding richtig beschalte. Ich habe die analog Spannung eines Sharp-GP2d12 an PC0(ADC0) anliegen. Wenn ich das richtig verstanden hab muss jetzt an dem AREF pin eine Spannung anliegen mit der verglichen wird. Wenn ich aber als referenz-Spannung (mit bascom) AVCC angebe muss ich ja keine anlegen weil dann wohl VCC als referenz genommen wird. Wie muss ich den AREF-Pin dann beschalten? In der Bascom hilfe steht da was von nem kondensator. Ich weiß aber nicht wie groß der sein soll und ob ich den gegen GND oder VCC schalten soll.

Also im prinzip funktionierts bei mir auch ohne den kondesator aber der wert schwankt sehr stark (auch wenn am ADC-pin nichts angeschlossen ist) und ich gehe davon aus das das was mit dem kondesator zu tun hat.

Vielen dank für eure Hilfe

uwegw
19.04.2005, 18:26
Wenn ich aber als referenz-Spannung (mit bascom) AVCC angebe muss ich ja keine anlegen weil dann wohl VCC als referenz genommen wird.

missverständinis!!!

entweder du setzt die option bei bascom auf "internal", dann nutzt du du interne referenzspannung von 2,5V (die alerdings nicht alle avrs haben), oder auf "avcc", dann musst du am pin avcc eine externe referenzspannung anlegen...

Gerhard
19.04.2005, 19:03
Hallo Markus,
da Du den Mega8 verwendest, kann ich Dir nur raten, kauf Dir das Lehrbuch von Roland Walter.
Dort ist insbesondere das Thema ADC sehr gut erklärt und mit Beispiellistings verdeutlicht.

Aus Copyrightgründen möchte ich hier jedoch keine Listingauszüge posten.
Welche Referenzspannung verwendet werden soll, stellt man im Register ADMUX mit den Bits 7 und 6 ein:

Zitat aus dem o.a. Buch, Seite 128
Zitatanfang-----------------------------------------------------------
bit7 bit6
0 0 : Extere Referenzspannung an Pin AREFF
0 1 : AVCC ist Referenzspannung, Abblock-Konds. an Pin AREFF
1 0 : reserviert
1 1 : Interne Referenzspannung 2,56V, Abblockkonds. an Pin AREFF
----------------------------------------------------------- Zitatende
Hinzu kommt das auch das Register ADCSRA richtig gesetzt ist.

Diese Angaben findest Du aber auch im Datenblatt zum Mega8 !!!

mfg Gerhard

Nachtrag: Keramik-Kondesator vom Pin gegen GND, 100nF

lekro
19.04.2005, 19:45
btw, um Missverständnissen vorzubeugen: AVCC muss in jedem Fall beschaltet werden.

Wenn man keine hohe Genauigkeit braucht oder den A/D-Wandler gar nicht benutzt, langt eine Brücke zu VCC. Unbeschaltet lassen darf man AVCC aber nicht (man würde sich nur Probleme einhandeln).

MarkusH
21.04.2005, 11:55
Zwischen A/D-Wandler und Analog-Comparator ist aber ein Unterschied oder? War das Prinzip jetzt richtig das die Spannung an ADC0 mit der an AREF verglichen wird? Wenn ja, was für eine Rolle spielt es wie hoch die spannung an AREF ist? Ist der analog-rückgabewert vielleicht 1024 sobald ADC0 = AREF oder in welchem zusammenhang stehen die zwei? Und für was brauch ich AVCC wenn ich doch schon AREF habe???

Grüßle, Markus

bhm
21.04.2005, 12:34
Zwischen A/D-Wandler und Analog-Comparator ist aber ein Unterschied oder?
jupp.


War das Prinzip jetzt richtig das die Spannung an ADC0 mit der an AREF verglichen wird?
nein. Es gibt verschiedene Modi:
a) AIN0 wird mit AIN1 verglichen, Ergebnis (1Bit!) in Register ACRS, Bit ACO
b) interne Referenz wird mit AIN1 verglichen, Ergebnis in ACO
c) AIN0 wird mit ADC0-ADC7 (gemultiplext) verglichen, Ergebnis in ACO
d) interne Referenz wird mit ADC0-ADC7 (gemultiplext) verglichen, Ergebnis in ACO
AREF kommt da nirgends vor.

Das Ergebnis ist immer nur 0 oder 1, jenachdem ob die eine oder andere Spannung höher ist. Zum Bestimmen einer Spannung musst du den A/D-Wandler nehmen. Ohnehin gibt es eher wenig Anwendungen für den Comparator.

ciao .. bernd

MarkusH
21.04.2005, 16:26
Hmm... ok. Also dann brauch ich nur der A/D-Wandler da ich ne spannung zwischen 0,5 und 3V messen will. Da leg ich dann die zu messende Spannung an ADC0 an. Und Aref brauch ich dann gar nicht? Funktioniert der A/D wandler ohne sonstige beschaltung? Kein AVCC oder AREF oder sonstwas?

uwegw
21.04.2005, 16:37
Funktioniert der A/D wandler ohne sonstige beschaltung? Kein AVCC oder AREF oder sonstwas?

also avcc und agnd sollten sowieso immer angeschlossen sein auch wenn der adc nicht benutzt wird...

an aref musst du (da bei 3V messsignal die interne referenz nicht reicht) eine exteren referenzspannung anlegen, in deinem fall (sharp entfernungssensor???) zb 3,5v per spannungsteiler...