Der Code ist von mir. Im Prinzip braust du nur diesen Teil. Wenn du weniger als 1000 Umdrehungen messen willst mußt du noch den Überlauf des Timers berücksichtigen.
Du hast zwei Möglichkeiten die Drehzahl zu messen. Einmal zählst du die Impulse über eine bestimmte Zeit, oder die Umlaufgeschwindigkeit messen. Ich benutze hier die Umlaufgeschwindigkeit.Code:Do Bitwait Pinb.0 , Reset Start Timer1 Timer1 = 0 Bitwait Pinb.0 , Set Bitwait Pinb.0 , Reset Stop Timer1 Count1 = Timer1 Count1 = 1000000 / Count1 Count1 = Count1 * 60 Rpm = Int(count1) Loop End
Das Prinzip ist folgendes. Ich warte auf eine steigende Flanke, dann auf eine fallende Flanke, und wenn dann wieder eine steigende Flanke kommt habe ich eine Umdrehung, und aus der gemessenen Zeit rechne ich die Drehzahl.
Wenn du die Impulse zählst wird das nicht so genau, sagen wir mal du zählst die Impulse währen einer Hundertstelsekunde. In dieser Zeit kann deine Drehzahl sich viel verändern und dein Ergebnis ist falsch.







Zitieren
Lesezeichen