- Labornetzteil AliExpress         
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
    706

    ADC mit ATTiny26

    Anzeige

    LiFePo4 Akku selber bauen - Video
    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
    706
    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
  •  

Labornetzteil AliExpress