-         

Ergebnis 1 bis 8 von 8

Thema: ATMega8 ADC problem

  1. #1
    Benutzer Stammmitglied
    Registriert seit
    29.12.2004
    Beiträge
    84

    ATMega8 ADC problem

    Anzeige

    Hallo!

    Ich möchte einen Beschleunigungssensor an den ATMega8 anschließen
    Der Sensor gibt eine Spannung von 0..5V aus.
    Erstamal die Schaltung:
    Beim Microcontroller habe ich die Pins AREF und AVCC jeweils mit VCC
    verbunden und den Ausgang des Sensors dann an ADC0.

    mein Programm:

    ;ADC initialisieren
    ldi r16,0b10100110 ;ADC ein, FreeRun, prescaler 64 (für 12Mhz)
    out ADCSRA,r16

    ; zum auslesen

    in r17, ADCL


    jedenfalls erhalte ich immer den Wert 0
    vielleicht ist der Beschleunigungssensor falsch geschaltet

    gibt es die Möglichkeit ein Poti anzuschließen, um zu Testen?

  2. #2
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    17.02.2006
    Alter
    47
    Beiträge
    781
    Ich glaube, wenn das Low-Byte ausgelesen wurde, wird das gesamte ADC-Result-Register nicht mehr aktualisiert, bis das High-Byte ausgelesen wird. Dadurch wird verhindert, dass man, wenn man die Bytes nacheinander ausliest, zwei bytes ausliest, die zu unterschiedlichen Samples gehören.

    Ansonsten kann man auch ein Poti anschließen, Mittelabgriff an den ADC, die beiden anderen Anschlüsse einen an 5V und den anderen an GND.

    MfG

  3. #3
    Benutzer Stammmitglied
    Registriert seit
    29.12.2004
    Beiträge
    84
    Hab's ausprobiert, leider ohne Erfolg!

    ich hab beide ausgelesen auch in umgekehrter Reihenfolge, bekomme immer noch 0 heraus

  4. #4
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    17.02.2006
    Alter
    47
    Beiträge
    781
    Dann versuch's mal mit dem Poti.

  5. #5
    Benutzer Stammmitglied
    Registriert seit
    29.12.2004
    Beiträge
    84
    OK, habs!

    wusste nicht, dass man im Free Running Modus das
    ADSC (Bit6) auch setzen muss!!!
    trotzdem danke!

  6. #6
    Benutzer Stammmitglied
    Registriert seit
    29.12.2004
    Beiträge
    84
    muss aber feststellen, dass das teil ziemlich flackert (im bereich von
    20 einheiten oder so) kann man das irgenwie vermindern?

  7. #7
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    21.10.2005
    Ort
    Erde
    Alter
    50
    Beiträge
    1.195
    AVcc und ARef müssen von Vcc entkoppelt werden. Da gibt es hier im Forum schon etliche Beiträge zu und es steht ausserdem im Datenblatt. Ohne diese Entkopplung schwanken die ADC-Werte stark.

  8. #8
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    17.02.2005
    Ort
    Erfurt
    Alter
    52
    Beiträge
    134
    Bei der ADC-Software ist einiges zu beachten.

    Schau mal hier:

    http://www.mikrocontroller.net/forum/read-4-225010.html

    und Suche Dir mal die entsprechenden Routinen

Berechtigungen

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