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.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.