Warum kann ich den AD-Wandler nicht mehr lesen?

Gast #890914
Lesenswert?

Hallo Leute

Ich bin Einsteiger und möchte mit einem ATMega32 (16MHz) und WinAVR 2 
AD-Kanäle auslesen. Es ist mir schon gelungen leider habe ich den Code 
so verändert dass es nicht mehr geht.
Ich möchte ihn nicht im Free Running Modus laufen lassen. Sondern so 
lange Warten bis die Wandlung abgeschlossen ist.

Trotz vielen Experimenten ist es mir nicht mehr gelungen den AD-Wandler 
wieder zu laufen zu bringen.

Was mache ich falsch?
Hier mein letzter Stand.


Gruss

Arni Blackcorner
Angehängte Dateien:
Gast #890923
Lesenswert?

Nach der Initialisierung des AD-Wandlers versaust du dir mit dem 
Überschreiben des ADCSRA Registers dein Speed.
Besser: erst Initialisieren
        das Flag abfragen
        das Flag löschen
        Wert auslesen
        ADMUX setzen
        ADCSRA = ADCSRA | 1 << ??? Wandlung starten

MW
Gast #890991
Lesenswert?

Ich habe alles in eine Funktion geschrieben damit es besser benutzt 
werden kann. Einiges habe ich abgehändert. Leider geht immer noch 
nichts.

Im Tutorial steht "ADPS2...ADPS0 (ADC Prescaler Select Bits) "
braucht es diesen Teiler immer?

Gruss

Arni Blackcorner.
Angehängte Dateien:
Gast #891004
Lesenswert?

Den Prescaler musst Du so setzen, dass der ADC einen Takt von ca. 
50kHz..200kHz kriegt. Im weiteren musst Du noch die ReferenzSpannung für 
den Wandler wählen (Vcc, Interne VRef, Externe VRef...)
Gast #891266
Lesenswert?

So nun habe ich einen kleinen Teilerfolg.
Immerhin kommen jetzt Daten raus. Leider wandelt das Ding wie verrückt 
und die Daten die rauskommen stimmen nicht und schwanken total verrückt 
umher.

Laut Datenblatt habe ich mit ADPS(2...0)den Teiler 128 gewählt.
Bei 16MHz komme ich nun auf 125kHz

Da ich nun REFS1 und REFS0 nicht aktiviert habe sollte nun die Interne 
Referenzspannung gelten.

Das Board ist ein STK500. Der Jumper AREF ist gesetzt.

Sieht jemand den Fehler?


Gruss
Arni Blackcorner
Angehängte Dateien:
Gast #891294
Lesenswert?

Hallo Timmo

Ich weiss dass durch das Rauschen die unteren Werte ein bisschen hin und 
her springen. Nur im Moment springen einfach alle. Also total 
unbrauchbare Werte. Da kann bekommte ich auch mit einem Mittelwert 
nichts brauchbares.

Ich habe irgendwie das Gefühl dass gar nicht so lange gewartet wird bis 
die Wandlung abgeschlossen ist.

Gruss

Arni Blackcorner
Gast #891427
Lesenswert?

Alle OK. Ich habe den Fehler gefunden. Der Fehler war, dass ich einen 2. 
Stockel zwischen STK-Board und mc gesteckt habe um den uc schneller 
welchseln zu können. Dazu kam es zu einer unsauberen Verbindung.

Die "Funktion funktioinert"

Danke für die Hilfe an alle.


Gruss

Arni Blackcorner

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren