Hallo PeWo,
Zitat:bei 1 Puls/U kann ich nur Drehzahlen in 60er Schritten ermitteln
Ja. Ist halt so…
Du liest die Werte im 10Hz-Takt ein (100 Samples bei 1kS/s Samplerate). Damit bestimmst du den Zählerstand und bildest die Differenz über die letzten 10 Zählerstände, d.h. im Abstand von 1s. Da du mit diskreten Pulsen arbeitest, ergibt deine einfache Rechnung eben Schritte von 60rpm bei der Drehzahlbestimmung: du hast entweder keinen oder einen Puls pro Sekunde und das ergibt 0rpm oder 60rpm! (Diskrete Messignale ergeben diskrete Auswertungen/Rechenwerte!)
Lösung: über einen größeren Zeitraum auswerten. Nachteil: du hast dadurch mehr Mittelwertbildung, d.h. Tiefpassverhalten…
Zitat:ich muss mit Samplingrate, Anzahl der Samples und Arraygröße jonglieren um die Berechnung ordentlich einzustellen
Ja. Ist halt so.
Was hast du gegen einfache Mathematik einzuwenden?
Zitat:Bei meinen niedrigen Drehzahlen bzw. Impulsanzahlen würde sich also eher die Messung der Zeit zwischen den Impulsen anbieten.
Unbedingt!
Zitat:Da klemmt es dann bei den Schleifen. Ich müsste das jedoch noch weiter untersuchen, um genauere Angaben machen zu können.
Tu das…
Zitat:Eine andere Idee von mir war es, die Zeit zwischen den Boolean-Wechseln (s. VI) zu messen. Aber das fühlt sich nach Rube Goldberg Code an...
Wo misst du da eine Zeit? Ich kann das nirgends im VI sehen…
Du solltest in diesem DBL-Array nicht die Zählerstände speichern, sondern stattdessen die Zeitpunkte der Flanken. Und die wiederum ergeben sich, bedingt durch die feste Samplerate, einfach aus dem Sample-Index: wenn du einen Puls bei Sample 333 hast und einen bei Sample 789, dann liegen dazwischen 789-333=456 Samples. Das ergibt bei einer Samplerate von 1kS/s eben 0.456s oder eine Drehzahl von 131.58rpm. (In diesem Fall wird deine Messgenauigkeit durch die Samplerate limitiert, mit 1kHz kannst du eben nur Pulse bis (theoretisch) max. 500Hz bzw. 30000rpm bestimmen…)