Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!
ich möchte gern die Umdrehungs-Frequenz von einem Werkzeug (0-180 Hz) mit einem Hall-Sensor messen.
Das I/O Modul (LabJack U3), an dem ich den Hall-Sensor angschlossen habe, triggert die abfallenden Flanken und gibt mir bei jedem Impuls ein Countersignal aus. Ein Timer ist ebenso vorhanden.
Für das Modul gibt es VIs mit denen ich mir Counter und Timer ausgeben lassen kann.
Mein Problem besteht nun darin, die Werte sinnvoll in einem weiteren IV zu verarbeiten, um die Frequenz zu berechnen.
Grundidee: wenn der Counter erhöht wird, dann merke dir den neuen Timerwert und ziehe diesen von dem alten Timerwert ab.
Damit hätte ich die Differenz zwischen zwei Counts und somit die Zeit, um daraus die Frequenz zu bilden.
Bin für Ideen dankbar, wie man die Grundidee in Labview realisieren kann.
Anzeige
24.05.2011, 10:28 (Dieser Beitrag wurde zuletzt bearbeitet: 24.05.2011 10:33 von snuz.)
vielleicht findest Du mit diesem VI einen Ansatz. Es wird sich hier kein Zeitwert gemerkt, sondern von einem Festwert ausgegangen, man kann diesen zwar ändern, aber je kleiner dieser Zeitwert wird desto ungenauer die Frequenzermittlung. Zur Logik, es wird jede Sekunde der Zählerwert abgefragt. Über ein Schieberegister wird der "aktuelle Wert - alter Wert" genommen. Somit hat man die Impulsanzahl pro Sekunde. Ab diesem Punkt sollte alles klar sein.
Gruß snuz
Es gibt 10 Arten von Menschen... Die die Binärrechnung beherrschen und die die es nicht tun.
Das heisst, wenn ich deine Struktur verwenden möchte, müßte ich die jeweilige Erhöhung bei dem Counterwert, der von dem I/O Gerät kommt, als kurzes boolsches Signal ausgeben lassen.
Ich werde das mal versuchen und meine Ergebnisse posten.
(25.05.2011 12:25 )Cobbes schrieb: Das heisst, wenn ich deine Struktur verwenden möchte, müßte ich die jeweilige Erhöhung bei dem Counterwert, der von dem I/O Gerät kommt, als kurzes boolsches Signal ausgeben lassen.
Nicht unbedingt, die Logik wartet auf eine steigende Flanke, das bedeutet eine permanent 1, erhöht den Counter nur um einen Wert nach oben (+1), eine 0 bedeute "garnichts". Aber ein Counterwert der in einem bestimmten Intervall steigt wird ebenfalls ausgewertet. Die Logik wartet auf einen Wert der höher ist als der alte Wert, wenn der Zählwert z.B. "5" ist, dann wird wie gehabt alter Wert mit neuem verglichen und da der neue Wert "6" ist (7,8,9,...n) wird der Counter wieder um eins erhöht. Ich behaupte jetzt einfach, dass wenn Du deinen Countersignal an die Beispiel-Logik hängst, funktioniert das genauso. Evtl. ist es dir möglich direkt das Hall-Sensor Signal abzugreifen, das würde vermutlich einiges erleichtern und vereinfachen.
Gruß snuz
Es gibt 10 Arten von Menschen... Die die Binärrechnung beherrschen und die die es nicht tun.
Das Hall-Sensor Signal kann ich mir auch ausgeben lassen. Dann hätte ich einen Wert, der für 5V steht und bei jeder halben Umdrehung auf einen Wert für 0V fällt. Allerdings ist ein Rauschen vorhanden, was mich zu der Annahme gebracht hat, dass die Auswertung des Impulscounters mit der eigenen Erkennung einfacher ist.
Schöne Grüße, Cobbes
26.05.2011, 17:36 (Dieser Beitrag wurde zuletzt bearbeitet: 26.05.2011 17:39 von Cobbes.)