20.07.2016, 14:55
Hallo LabView-Gemeinde,
Ich möchte mit einer NI-USB 6210 und LV-Version 2011 die TTL-Signale von Hall-Sensoren zur Drehzahlmessung auswerten.
Zu dem Thema gibt es hier im Forum ja auch schon jede Menge Input. Meist jedoch in Verbindung mit Nutzung der onboard-counter.
Die 6210er hat davon bekanntermaßen 2 Stück. Diese kann ich aus den folgenden Gründen nicht nutzen:
- beide Counter können nicht gleichzeitig genutzt werden; ich müsste also per Software zwischen beiden hin und her schalten (!?)
- ich muss am Ende 3 Sensoren parallel auswerten; die beiden Counter reichen also auch nicht
Da meine Anzahl an Impulsen pro Minute nicht besonders hoch ist (0-600) sollte die analoge Flankenauswertung reichen.
Zu diesem Zweck habe ich das entsprechende Counter_with_AI Beispiel von NI für meine Zwecke angepasst.
Flankenzählung funktioniert problemlos. Bei der Bestimmung der Drehzahlen klemmt es noch ein wenig.
Den bisherigen Stand habe ich als VI angefügt. Ich schicke den Zählerstand durch ein Schieberegister mit Array und vergleiche
den ersten und letzten Eintrag. Das ganze funktioniert im Prinzip. Allerdings bin ich damit aus folgenden Gründen unzufrieden:
- bei 1 Puls/U kann ich nur Drehzahlen in 60er Schritten ermitteln (2 sensoren werden nachher mit 4 Pulsen/ U gefüttert; 1 Sensor weiterhin mit 1 Puls/U)
- ich muss mit Samplingrate, Anzahl der Samples und Arraygröße jonglieren um die Berechnung ordentlich einzustellen
Bei meinen niedrigen Drehzahlen bzw. Impulsanzahlen würde sich also eher die Messung der Zeit zwischen den Impulsen anbieten.
Die oft im Forum geposteten Varianten mit parallel laufendem Timer (s. Anhang) habe ich für meinen Fall nicht zum laufen gebracht.
Da klemmt es dann bei den Schleifen. Ich müsste das jedoch noch weiter untersuchen, um genauere Angaben machen zu können.
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...
Für weitere Ideen oder Anregungen wäre ich sehr dankbar!
Viele Grüße
Ich möchte mit einer NI-USB 6210 und LV-Version 2011 die TTL-Signale von Hall-Sensoren zur Drehzahlmessung auswerten.
Zu dem Thema gibt es hier im Forum ja auch schon jede Menge Input. Meist jedoch in Verbindung mit Nutzung der onboard-counter.
Die 6210er hat davon bekanntermaßen 2 Stück. Diese kann ich aus den folgenden Gründen nicht nutzen:
- beide Counter können nicht gleichzeitig genutzt werden; ich müsste also per Software zwischen beiden hin und her schalten (!?)
- ich muss am Ende 3 Sensoren parallel auswerten; die beiden Counter reichen also auch nicht
Da meine Anzahl an Impulsen pro Minute nicht besonders hoch ist (0-600) sollte die analoge Flankenauswertung reichen.
Zu diesem Zweck habe ich das entsprechende Counter_with_AI Beispiel von NI für meine Zwecke angepasst.
Flankenzählung funktioniert problemlos. Bei der Bestimmung der Drehzahlen klemmt es noch ein wenig.
Den bisherigen Stand habe ich als VI angefügt. Ich schicke den Zählerstand durch ein Schieberegister mit Array und vergleiche
den ersten und letzten Eintrag. Das ganze funktioniert im Prinzip. Allerdings bin ich damit aus folgenden Gründen unzufrieden:
- bei 1 Puls/U kann ich nur Drehzahlen in 60er Schritten ermitteln (2 sensoren werden nachher mit 4 Pulsen/ U gefüttert; 1 Sensor weiterhin mit 1 Puls/U)
- ich muss mit Samplingrate, Anzahl der Samples und Arraygröße jonglieren um die Berechnung ordentlich einzustellen
Bei meinen niedrigen Drehzahlen bzw. Impulsanzahlen würde sich also eher die Messung der Zeit zwischen den Impulsen anbieten.
Die oft im Forum geposteten Varianten mit parallel laufendem Timer (s. Anhang) habe ich für meinen Fall nicht zum laufen gebracht.
Da klemmt es dann bei den Schleifen. Ich müsste das jedoch noch weiter untersuchen, um genauere Angaben machen zu können.
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...
Für weitere Ideen oder Anregungen wäre ich sehr dankbar!
Viele Grüße