Hallo, ich möchte mit einem AT mega 8 eine Drehzahl messen, bekomme das aber mit der Torzeit oder besser gesagt mit der Interrupt Programmierung einfach nicht in meinen Kopf. Hat jemand ein Beispiel für mich das ich mir mal anschauen könnte? Die Drehzahl die erfassen muss liegt zwischen 0-25000 1/min. Hardware mäßig habe ich das Ding im Griff ist nicht das Problem, bekomme ein sauberes Rechtecksignal auf meinem Port des AVR. Nur die Auswertung bekomme ich nicht hin. Ähnliche Artikel hier im Forum sprechen das Problem auch an, aber irgend wie kann ich das für mich wichtige nicht rauslesen. Etwas Programmieren kann ich auch (BASCOM), aber kein Profi. Vielleicht hat einer von euch eine Möglichkeit mir weiter zu helfen. DANKE im voraus!!! Frank
Hallo, ein Codebeispiel in Bascom kann ich dir nicht geben, da ich in C programmiere. Aber warum legst du nicht dein Rechtecksignal auf INT0 (externer Interrupteingang) und sorgst dafür, dass bspw. Timer1 für die Sekunden-Basis sorgt. Das Funktionsprinzip stelle ich mir so vor: Timer1 startet und gleichzeitig wird externer Int. aktiviert in ISR von INT0 werden Impulse hochgezählt Timer1 liefert Interrupt (bspw. nach halber Sekunde) Drehzahl wird berechnet: Impulse/Zeit rücksetzen der Impulse zurück zum Anfang ... Gruss Alex
Hallo Alex, klingt gut der Lösungsvorschlag, werde ich heute Abend mal versuchen. Aber ich denke das ich für die eigentliche Anwendung so nicht hinkomme. Muss parallel vier dieser Drehzahlen abfragen. Werde es aber trotzdem versuchen, vielleicht verstehe ich das mit den Interruptus dann besser. Danke! Gruss Frank
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.