Fourstroker
24.07.2007, 11:07
Hallo,
ich benötige Hilfe beim Capturemode Timer 1 oder 3 des Mega 128.
Ich möchte eine Drehzahl erfassen, was ich bisher mit Interrupts und Timern gelöst habe. Dies will ich jetzt mit dem Capture Mode realisieren.
Bei einer Drehzahl von 10 000 U/min und 2 Impulsen pro Umdrehung sind das 0,003 Sekunden pro Umdrehung.
Ich betreibe den Mega mit 16 Mhz. Bei einem Prescaler von 256 wären das dann 62500 Hz oder 1/f = 0,000016 Sekunden.
Ich kann also einen Bereich bis 0,000016*65535=1,04856 Sekunden abdecken.
Wie aber rechne ich jetzt die Drehzahl aus?
Im Prinzip doch 60/(gemessene Zeit *2)= Drehzahl
2, da ich ja der Startimpuls kommt, dann nach halber Umdrehung der Stoppimpuls und dann ne halbe Umdrehung Pause ist.
Bsp.: 60/(0,003*2)=10000 U/min
Diese Rechnung stimmt ja aber nur, wenn in den Timerregistern die Zeit in Sekunden stehen würde. Wie steht sie aber in meinem Beispiel denn wirklich drin und wie rechne ich das aus????
Kann mir anhand meiner Angaben jemand ne Beispielrechnung zeigen?????
Vielen Dank
Fourstroker
ich benötige Hilfe beim Capturemode Timer 1 oder 3 des Mega 128.
Ich möchte eine Drehzahl erfassen, was ich bisher mit Interrupts und Timern gelöst habe. Dies will ich jetzt mit dem Capture Mode realisieren.
Bei einer Drehzahl von 10 000 U/min und 2 Impulsen pro Umdrehung sind das 0,003 Sekunden pro Umdrehung.
Ich betreibe den Mega mit 16 Mhz. Bei einem Prescaler von 256 wären das dann 62500 Hz oder 1/f = 0,000016 Sekunden.
Ich kann also einen Bereich bis 0,000016*65535=1,04856 Sekunden abdecken.
Wie aber rechne ich jetzt die Drehzahl aus?
Im Prinzip doch 60/(gemessene Zeit *2)= Drehzahl
2, da ich ja der Startimpuls kommt, dann nach halber Umdrehung der Stoppimpuls und dann ne halbe Umdrehung Pause ist.
Bsp.: 60/(0,003*2)=10000 U/min
Diese Rechnung stimmt ja aber nur, wenn in den Timerregistern die Zeit in Sekunden stehen würde. Wie steht sie aber in meinem Beispiel denn wirklich drin und wie rechne ich das aus????
Kann mir anhand meiner Angaben jemand ne Beispielrechnung zeigen?????
Vielen Dank
Fourstroker