Du hast 2 Moeglichkeiten:
* entweder du misst wieviele Impulse du pro sec kriegst
* oder Du misst die Zeit zwischen 2 Impulsen und errechnest daraus
die Drehzahl. f = 1 / T
Was meinst Du mit 'miese Refreshrate', zu viel oder zu wenig ?
Hinweis: Du glaubst doch nicht im Ernst, dass der Motor die
angezeigte Drehzahl zu jedem beliebigen Zeitpunkt auch exakt
einhaelt?
Wenn Du die Drehzahl genauer messen willst, dann musst Du die
Aufloesung erhoehen.
Beim Impulse-Zaehlen heisst das: das Fenster laenger offen halten
und statt 1 sec zb 2 sec lang messen.
Misst Du die Zeitdauer zwischen 2 Pulsen, dann muss die Ermittlung
der Zeit genauer gehen. Normalerweise misst man ja so, dass
man das Messprinzip umdreht: Die Pulse definieren ein Fenster
und in diesem Fenster zaehlt man die Pulse einer definierten und
bekannten Frequenz.
Also: Du hast eine Konstante Frequenz von zb. 10 kHz, d.h. in
einer Sekunde kommen da 10000 Pulse rein. Der erste Impuls
vom Zuendkabel startet das Fenster, du beginnst mitzuzaehlen,
wieviele Impulse von den 10kHz reinkommen. Der naechste Puls
vom Zuendkabel schliesst das Fenster wieder. Dein Zaehler ist
sagen wir mal, bis 5000 gekommen. d.h von einem Impuls vom
Zuendkabel bis zum naechsten sind
5000
----- = .2
10000
Sekunden vergangen.
1 / 0.2 -> 5 Zuendkabelpulse pro Sekunde * 60 -> 300 Pulse/Minute
Da du einen 2T hast, sind das dann auch 300 U/min
Dreht der Motor schneller, so schaffen es in der Zeit vom 1. bis
zum 2. Zuendimpuls nur noch, sagen wir mal, 340 verwertbare Ticks
der 10kHz Frequenz zum Zaehler.
340
----- = 0.034
10000
1 / 0.034-> 29.4 U/sec * 60 -> 1764 U/min
Wie lange eine Messung dauert, ist also nicht konstant, sondern
vom Messobjekt selbst abhaengig. Je schneller dieses dreht, desto
kuerzer wird auch die Messzeit der 10kHz. Desto weniger Ticks
schaffen es dann zum Zaehler. Jetzt kannst Du natuerlich mal
ausprobieren was ein Ereignis mehr/weniger am Zaehler in der
Berechnung fuer einen Unterschied macht.
Bei 20000 U/min ist das Fenster nur noch 0.003 Sekunden offen.
Von den 10kHz schaffen es grade mal 30 Pulse bis zum Zaehler.
Sind es nicht genau 30 sondern 29, dann errechnet sich daraus
eine Drehzahl von 20698 U/min, bei 31 Pulsen waeren es 19354 U/min.
d.h. 10kHz sind viel zu wenig, du hast schon runde 700 U/min
Abweichung bedingt durch den Messfehler.
Also hoeher: 100 kHz. Dann schaffen es nicht 30, sondern eben 300
Pulse im vorgegeben Zeitfenster gezaehlt zu werden:
300 Pulse -> 20000 U/min
299 Pulse -> 20066 U/min
301 Pulse -> 19933 U/min
schon besser.
Aber egal was Du auch immer anstellst: Je kuerzer die Messzeiten
werden, desto ungenauer wird das Ergebnis. Physik laesst sich
nicht ueberlisten.