Gast
#435019
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