Impulse werden falsch gezählt

Gast #1585393
Ich benutze derzeit folgenden Code, um Eingangsimpulse zu zählen:

ISR(TIMER3_CAPT_vect)
{

   if (flanke_anz==1)
       {
      zeit1=ICR3;
      ueberlauf=0;
      }
   if (flanke_anz==2) //ab jetzt Überläufe zählen

       {
      zeit2=ICR3;
    }
    flanke_anz++;
}


ISR( TIMER3_OVF_vect)
{
      ueberlauf++;
}

in der main wird dann einfach berechnet wie groß die Differenz ist und 
wieviel Überlaufe es gab.

PROBLEM:
klappt recht gut wenn ich einen Frequenz-Generator anschließe. Bei einer 
Gabellichttschranke funktioniert es aber nicht sehr gut - mögliche 
Ursachen wird wohl das Schwingen des Motors sein oder aber - und das ist 
wohl vielmehr das Problem - die Störimpulse, die auf dem Oszi teilweise 
mit bis zu 1 Volt gemessen werden, also ausreichend, um einen rising 
edge trigger auszulösen.

1. Wie krieg ich die Störimpulse weg ?
2. Nach was muss ich suchen, wenn ich ein IC haben möchte, dass mir die 
Frequenz in eine analoge Ausgangsspannung umwandelt ? Dann könnte ich 
eventuell mit DSpace erstmal arbeiten um meine Regelstrecke besser 
beurteilen zu können.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 16 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.