-         

Ergebnis 1 bis 8 von 8

Thema: ANalog Comparator des Mega8

  1. #1
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    01.06.2004
    Beiträge
    118

    ANalog Comparator des Mega8

    Anzeige

    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 ). 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

  2. #2
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    06.02.2005
    Ort
    Hamburg
    Alter
    31
    Beiträge
    4.255
    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...

  3. #3
    Benutzer Stammmitglied
    Registriert seit
    30.01.2004
    Ort
    Hartenholm
    Alter
    68
    Beiträge
    81
    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

  4. #4
    Benutzer Stammmitglied
    Registriert seit
    05.04.2005
    Beiträge
    66
    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).

  5. #5
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    01.06.2004
    Beiträge
    118
    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

  6. #6
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    16.05.2004
    Ort
    Bergstraße
    Beiträge
    245
    Zitat Zitat von MarkusH
    Zwischen A/D-Wandler und Analog-Comparator ist aber ein Unterschied oder?
    jupp.

    Zitat Zitat von MarkusH
    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

  7. #7
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    01.06.2004
    Beiträge
    118
    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?

  8. #8
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    06.02.2005
    Ort
    Hamburg
    Alter
    31
    Beiträge
    4.255
    Zitat Zitat von MarkusH
    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...

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •