ADC_Wert lässt sich nicht weiterverarbeiten!?

Gast #2858551
Lesenswert?
• ▲
▼
GUTEN MORGEN ZUSAMMEN!

Ich möchte mit ADC9 einenen Spannungswert auslesen und diesen dann 
weiterverarbeiten.

Um den ADC zu testen, lese ich den ADC Wert ein und übertrage in direkt 
auf den DAC-Ausgang, dies funktioniert einwandfrei.

Desweiteren möchte ich ab einem gewissen Spannungswert die PWM 
einschalten und bei erreichen eines Maximalwertes die PWM wieder 
ausschalten.

Übertrage ich das Programm in den Controller, ist die PWM aus. Wenn ich 
dann mein Netzgerät (welches ich zur Simulation der ADC Eingangsspannung 
benutze) bis fast auf 0 zurückdrehe, spring die PWM an. Wenn ich es dann 
wieder hochstelle bleibt die PWM trotzdem an und wird nicht mehr 
ausgeschaltet.

Ich rufe get_adc_data() ständig mit einer while-Schleife auf.


void get_adc_data(void)
{


  unsigned int max_current = 2;
  unsigned int v_in_ADC;
  unsigned int value_current;

  int i;
  unsigned long int sum;
  unsigned int average_ADC;
  sum=0;
  average_ADC=0;

  for(i=0; i<32; i++)
  {
    ADCSRA |=(1<<ADSC);//ADC_starting_conversation
    while( ADCSRA & (1<<ADSC)); //waiting_for_conversation_end
    sum = sum+ADCW;
  }

    average_ADC = sum/32;

    DAC = average_ADC;
    DACON |= (1<<DALA)|(1<<DAOE)|(1<<DAEN); //DAC_starting_conversation

    v_in_ADC = (average_ADC * 5)/1023;
    //value_current = ((((v_in_ADC*5)/Vc_LEM)-2.5)/0.00222);



  if(v_in_ADC <= max_current)
  {
      PCTL2 |= (1<<PCCYC2)|(1<<PRUN2); // PWM_Output_enable

  }
  else
  {
      PCTL2 |= (0<<PCCYC2)|(0<<PRUN2); // PWM_Output_disable

  }


}

Hat jemand eine Ahnung, wo der HUND begraben ist?

Vielen DANK!

Gruss

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 14 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.