Das kommt auf die zu messende Drehzahl an.Die Zeitmessung zwischen 2 Pulsen wäre aber genauer denke ich
Mit der festen Torzeit 1/2 Sekunde ist die minimal zu messende Drehzahl 120U/min - bei einem Impuls pro Umdrehung.
Das alleine wäre noch nicht tragisch, allerdings bekommt man dabei auch eine Auflösung von 120 U/min.
Die Impulsabstand Methode geht bei niedrigen Drehzahlen sehr viel genauer. Wenn man allerdings mehrere Geber pro Umdrehung einsetzt müssen die schon sehr genau plaziert werden, da ja nach jedem Impuls eine Drehzahlermittlung gefahren wird ( werden kann ).
Gerade bei höheren Drehzahlen kommt aber bei der Impulsabstand Messmethode eine nicht zu Unterschätzende Belastung auf den Controller zu, da ja bei jedem Drehzahlimpuls eine Interruptroutine aufgerufen werden muß.
Diese Routine sollte möglichst schnell laufen und deshalb in Assembler geschrieben werden.
Die eigentliche Berechnung kann dann ja in der Hauptroutine erfolgen.
Ich konnte dabei schon einen Messumfang von bis zu 800000 U/min bei einem mit 8MHz getakteten ATMEGA 8 erreichen.
Für den günstigsen Ansatz halte ich die Verwendung beider Messmethoden mit automatischer Umschaltung.
Man lässt also beide Messmethoden gleichzeitig laufen, und verwendet für die Berechnung die, die für die gerade anliegende Drehzahl den geringsten Fehler produziert.
Bei mir geschieht die Umschaltung bei ca. 12500U/min.
Das muss aber für jeden Teilerfaktor und jede Controller Quarzfrequenz neu berechnet werden.
Für so eine Aufgabenstellung würde ich aber lieber einen Leistungsfähigeren Controller verwenden, z.B. einen ATMEGA 8, da der mehr Timer hat uns somit die Impulszählung in die Hardware verlegt werden kann, ein weiterer Timer als Zeitreferenz dienen kann ( Torzeitgenerator ) und der dritte Timer als Zähler für die Impulsabstand Methode verwendet wird.
Programmtechnisch am einfachsten zu realisieren ist natürlich die Impulszählung mit fester Torzeit.
Lesezeichen