-         

Ergebnis 1 bis 3 von 3

Thema: ADC mit ATTiny26

  1. #1
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    15.01.2007
    Ort
    Göttingen
    Beiträge
    705

    ADC mit ATTiny26

    Anzeige

    Hallo zusammen,

    ich scheitere gerade daran, den ADC eines Tiny26 zum Laufen zu bekommen. Über einen Trimmer geht eine einstellbare Spannung an ADC2. Mein erster Code sah so aus:

    Code:
    $regfile = "attiny26.dat"
    $crystal = 1000000
    
    Config Lcd = 16 * 2
    Config Lcdpin = Pin , Db4 = Porta.6 , Db5 = Porta.7 , Db6 = Porta.0 , Db7 = Porta.1 , E = Porta.5 , Rs = Porta.4
    Initlcd
    
    Cursor Off
    
    Config Adc = Free , Prescaler = Auto , Reference = Avcc
    Start Adc
    
    Dim Z As Word
    
    
    Do
    
    Z = Getadc(2)
    Cls
    Lcd Z
    Waitms 200
    
    Loop
    Z blieb leider immer 0. Ich habe mir dann mal die Register ADMUX und ADCSR auf dem LCD anzeigen lassen. ADCSR ist &B10100011, sieht also ganz gut aus. ADMUX ist &B01000010, also AREF als Referenzspannung. Verstehe ich zwar nicht ganz, ich habe diesen Anschluss aber auch an +5V angeschlossen.

    Als nächstes habe ich es dann mal so versucht:

    Code:
    $regfile = "attiny26.dat"
    $crystal = 1000000
    
    Config Lcd = 16 * 2
    Config Lcdpin = Pin , Db4 = Porta.6 , Db5 = Porta.7 , Db6 = Porta.0 , Db7 = Porta.1 , E = Porta.5 , Rs = Porta.4
    Initlcd
    
    Cursor Off
    
    ADMUX = &B00000010
    ADCSR = &B11100111
    
    Dim Z As Word
    
    
    Do
    
    Z = ADCL
    Cls
    Lcd Z
    Waitms 200
    
    Loop
    ...und wieder nur "0"...

    Hat jemand einen Tip für mich, wie ich diesen ADC ans Laufen kriegen kann?? Die Spannung am ADC2-Eingang ist übrigens auch o.k. und lässt sich mit dem Trimmer auf jeden beliebigen Wert einstellen...

  2. #2
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    12.01.2007
    Ort
    westliches Pannonien
    Beiträge
    123
    Hallo!

    Wenn Du "getadc" verwendest musst Du bei
    Config ADC = Single schreiben.

    MfG
    Rone

  3. #3
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    15.01.2007
    Ort
    Göttingen
    Beiträge
    705
    Wenn Du "getadc" verwendest musst Du bei
    Config ADC = Single schreiben.
    Das muss man meiner Erfahrung nach nicht so eng sehen - bei mir hat die Kombination von "free"-Modus und Getadc in anderen Projekten schon oft funktioniert.

    Aber das Problem ist inzwischen gelöst - und zwar so (wen´s interessiert):

    Weil mir nichts anderes mehr als kontrolliertes Raten übrig blieb, habe ich (unter anderem) einfach mal das "reference = ..." weggelassen - und schon läuft´s . Und zwar sowohl im Single- als auch im Free-Modus. Die ADCSR-Inhalte sind &B10010011 (single) bzw. &B11110011 (free).

    Wer auch immer das verstehen mag... [-(

Berechtigungen

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