LabVIEWForum.de - Frequenzermittlung aus digitalem Signal Verlauf

LabVIEWForum.de

Normale Version: Frequenzermittlung aus digitalem Signal Verlauf
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
Ja ich weiß, dazu gibt es schon antworten, aber ich hab keine Antwort gefunden die mir weiter hilft. Daher hier meine Problemerläuterung:
- ich nehme über einen digitalen Eingang einer DAQ-Karte die Flanken einer Lichtschranke auf
- die Frequenzen um die es geht, liegen irgendwo zwischen 1Hz-10Hz

Mein Problem ist eigentlich das schwankende dt. Ich habe auf meinem System eine Samplerate von ca 4061Hz ermittelt (mehrfach), diese ist aber mit sicherheit PC-Abhängig.

Wie kann ich ohne (oder mit schwankendem) dt die Frequenz meines digitalen Signals ermitteln?
Welche Antworten hast du gefunden, und warum helfen die nicht weiter?

Wenn du PC-unabhängig sein willst, musst du einen Counter nehmen, d.h. Nicht-PC-Komponenten.

Manche DI-Karten ("statisch") für cDAQ/cRIO können nicht auf die NI-Counter zugreifen, da gibts ne Übersicht bei NI.
http://www.ni.com/product-documentation/54453/en/


Gruß
Achim

PS: Der kontinuierliche Aufruf von PropertyNodes ist der Verarbeitungsgeschwindigkeit recht abträglich...No
Hallo Scoop,

Zitat:Mein Problem ist eigentlich das schwankende dt. Ich habe auf meinem System eine Samplerate von ca 4061Hz ermittelt (mehrfach), diese ist aber mit sicherheit PC-Abhängig.
Wo genau legst du die Samplerate fest?
Falls du keine Samplerate festlegst: wie/wo genau wird die Iterationsgeschwindigkeit der Schleife ("Chopper Monitor") eingestellt? Läuft die Schleife etwa "as fast as possible"?
Welche Hardware benutzt du?
Unterstützt diese hardware-getimte DI-Tasks?
Wieso benutzt du so extensiv Propertynodes/lokale Variablen?
also an der hardware lässt sich nichts ändern, die wird mir quasi vorgeschrieben.
ist im übrigen eine NI-USB 6002 (OEM)

(07.10.2019 11:19 )Achim schrieb: [ -> ]Welche Antworten hast du gefunden, und warum helfen die nicht weiter?

Wenn du PC-unabhängig sein willst, musst du einen Counter nehmen, d.h. Nicht-PC-Komponenten.

Manche DI-Karten ("statisch") können nicht auf die NI-Counter zugreifen, da gibts ne Übersicht bei NI.

Gruß
Achim
Bei dieser Hardware hast du keine Chance!

So hart wie es klingt...Pech gehabt!

Du musst was anderes nehmen, um da auf einen grünen Zweig zu kommen.

A.
Wo genau legst du die Samplerate fest?
- gar nicht, die kann ich doch für nen digitalen Kanal gar nicht einstellen
Falls du keine Samplerate festlegst: wie/wo genau wird die Iterationsgeschwindigkeit der Schleife ("Chopper Monitor") eingestellt? Läuft die Schleife etwa "as fast as possible"?
- ja, "as fast as possible". Die aufnahme der messdaten dauert doch einige Zeit, ich würde schätzen irgendwas zwischen 1s-1,5s
Welche Hardware benutzt du?
- NI-USB 6002 (OEM)
Unterstützt diese hardware-getimte DI-Tasks?
- leider nicht
Wieso benutzt du so extensiv Propertynodes/lokale Variablen?
- extensiv? meins die "init" und "close"? weil die in einer anderen schleife beschrieben wird


(07.10.2019 11:23 )GerdW schrieb: [ -> ]Hallo Scoop,

Zitat:Mein Problem ist eigentlich das schwankende dt. Ich habe auf meinem System eine Samplerate von ca 4061Hz ermittelt (mehrfach), diese ist aber mit sicherheit PC-Abhängig.
Wo genau legst du die Samplerate fest?
Falls du keine Samplerate festlegst: wie/wo genau wird die Iterationsgeschwindigkeit der Schleife ("Chopper Monitor") eingestellt? Läuft die Schleife etwa "as fast as possible"?
Welche Hardware benutzt du?
Unterstützt diese hardware-getimte DI-Tasks?
Wieso benutzt du so extensiv Propertynodes/lokale Variablen?
Hallo Scoop,

wie Achim schon sagte: falsche Hardware!

Zitat:also an der hardware lässt sich nichts ändern, die wird mir quasi vorgeschrieben.
Wenn die Hardware vorgeschrieben ist: neue Rahmenparameter für die gewünschten Messergebnisse festlegen!

Normalerweise läuft das so:
1. Man legt fest, was man wie messen will.
2. Dann sucht man sich die dafür passende Hardware aus.
Du (bzw. deine Betreuer) versuchen es gerade andersherum…

Quick&Dirty solution: Verwende statt der DI die AI der NI6002. Dort kannst du eine Samplerate vorgeben…
(07.10.2019 11:33 )GerdW schrieb: [ -> ]Quick&Dirty solution: Verwende statt der DI die AI der NI6002. Dort kannst du eine Samplerate vorgeben…

Im vorgegebenen "Rahmen" die einzige Möglichkeit, und gar nicht sooo dirty...Hab ich auch schon gemacht. Musst halt ein bisschen mehr programmieren...zum Flanken finden, und ggf. ein bisschen filtern, um keine Fehl-Flanken zu detektieren.
Also die Hardware ist Kundenwunsch, die steht, leider. Die haben schon mehrere Systeme von mir erhalten und wollen dabei bleiben.
In den vorherigen Versionen, hab ich die Messung auch über die AI's gemacht, das ist dann ziemlich einfach mit bekannter Samplerate.
In der jetzigen Messbox ist leider alles belegt, weswegen ich zum letzten freien digitalen Pin gegriffen habe.

Option 1:
Ich mach ein neues Platinen-Layout mit 'nem zusätzlichen Mikrocontroller der für mich die Messung übernimmt, welche ich dann nur noch abholen muss (dafür direkt digital)

Option 2:
ich führe beim Programmstart so eine Art "Sampleraten-Ermittlung" durch. Die bleibt zwar nicht konstant aber könnte man probieren wie groß die Schwankungen werden. Das VI dazu hab ich schon, das arbeitet aktuell mit einer StabWa von 17µs @ Sa-dauer dt=0.25ms das würde mir als Genauigkeit auch locker reichen.


Aber danke euch beiden schon mal für eure Hilfe
(07.10.2019 11:33 )GerdW schrieb: [ -> ]Hallo Scoop,

wie Achim schon sagte: falsche Hardware!

Zitat:also an der hardware lässt sich nichts ändern, die wird mir quasi vorgeschrieben.
Wenn die Hardware vorgeschrieben ist: neue Rahmenparameter für die gewünschten Messergebnisse festlegen!

Normalerweise läuft das so:
1. Man legt fest, was man wie messen will.
2. Dann sucht man sich die dafür passende Hardware aus.
Du (bzw. deine Betreuer) versuchen es gerade andersherum…

Quick&Dirty solution: Verwende statt der DI die AI der NI6002. Dort kannst du eine Samplerate vorgeben…


Und dann gibts ja auch noch die CI-Flankenzählung?!?
Mal kucken was ich damit anstellen kann, ich dächte, dass dies von der 6002 unterstützt wird.
Wenn dein Kunde sich diese (Billig-) HW wünscht, dann muss er auch mit einer ungenauen Messung leben. Mit nem Lineal kannst du auch den Durchmesser eines Bohrlochs ermitteln, ob das jetzt aber 3,95 mm oder eher 4,05 mm groß ist, ist schwierig zu sagen.

Bezüglich deiner Micro-Contoller-Lösung: Sicher, kann man machen. Bist du sicher, dass das dann günstiger kommt, als wenn du "fähige" HW einkaufst? Z.B. ein USB-6210 mit zwei Countern? Wie sieht es mit Garantie, Support, Ersatzteilen, Zertifikaten aus?

Gruß
Achim
Seiten: 1 2
Referenz-URLs