hallo. ich habe einen motor der mit pro umdrehung 2 pos flanken schickt an meinen avr auf einen input caputre port angeschlossen. die zeitdifferenz der takte ist dann proportional zur geschwindigkeit. nun merke ich mir eben den conuterwert wenn die erste flanke kommt und den wert bei der zweiten flanke und berechne mir die differenz. so. nun nehme ich mir die differenz und multipliziere sie mit 2, damit die geschwindigkeit nicht für die halbe umdrehung habe sondern für die ganze. so. nun hab i dann z.b. den wert 200*2=400. avr quarz: 14.7546 ==> 68ns pro takt timer prescaler auf 64 die 68ns multipliziere ich mit 64 ==> 4,338ms multipliziere ich nun die dauer für einen takt mit den 400 takten bekomme ich 1.76ms für eine umdrehung. wenn cih nun die umdrehugen pro sekunde haben will dann muss ich doch 1000/1.76ms rechnen. da bekomm i dann 568181 heraus. das is jedoch viel zu hoch. wo liegt hier der fehler in der überlegung. bitte um hilfe. danke andreas kasper
Das Problem liegt in der letzten Rechnung: Wenn Du 1000 durch einen größeren Wert als 1 teilst kommt definitiv weniger als 1000 raus. 1000/1,76 = 568 Hattest Du da evtl. 3 Nullen zuviel drin? Gruß Christian
Die Formel lautet: f = 1/T n = f*60 f ..... Frequenz [Hz] T ..... Periodendauer [s] Zeit zwischen zwei Umdrehungen ! n ..... Drehzahl [1/min] = [Umdrehungen/min] lg Stefan
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.