ADC hat keine Lust zu funktionieren

Gast #1233986
Lesenswert?
• ▲
▼
Hallo

ich bräuchte Hilfe bei dem ADC. Das Eingangssignal wird mit der 
abtastFrequenz abgetastet und soll als PWM ausgegeben werden.


Die PWM funktioniert. Die ADC Messung scheint auch zu funktionieren, da 
der ADC Interrupt ausgelöst wird. Leider hat die PWM immer einen hohen 
Wert (an LED per Auge "gemessen") unabhängig von der Eingangsspannung.


Die Eingangsspannung geht auf C0 (ADC0) des ATmega8.


Wäre nett wenn jemand den Quellcode mal überfliegen könnte.


Vielen Dank.


Heinz
Angehängte Dateien:
#1234020
Lesenswert?
• ▲
▼
Teste die Komponenten mal einzeln.

1) Hast du eine Möglichkeit ADCH auszugeben und dir die Werte anzusehen?

2) Lass die PWM mal nicht über den ADC Interrupt laufen,
   sondern weise im main() einfach mal ein paar Werte an OCR2 zu und
   sieh nach, ob der Ausgang reagiert.

Erst mal das Subsystem identifizieren, welches nicht funktioniert, dann 
muss man nicht alles nach der fehlenden Einstellung absuchen.
Gast #1234041
Lesenswert?
• ▲
▼
Erstmal danke für deine Hilfe.

Zu 1: Ich hab zwar eine 4 Stellige 7 Segment Anzeige hier allerdings 
halte ich das für zu aufwendig (Programmcode schreiben um die 7 Segmente 
anzusteuert...)


Zu 2: Ich habe die PWM und den ADC Interrupt durch folgenden Code im 
Interrupt getestet:

int i=0;

ISR(ADC_vect)
{
    if(i==0)
    {
        OCR2=0;
    } else
    OCR2=255;
    i++;
    if(i==2) i=0;
}


Dies bei einer Abtastfrequenz von 1 Hz. Hat alles funktioniert.


Im ADCH steht somit wohl immer ein hoher Wert drin.


@ Spess53


Jop. Das wirds wohl sein. Ich probiers mal aus. Danke.

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