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.