LabVIEWForum.de - Synchronisierung von Analogen Signalen mit digitalem Encoder

LabVIEWForum.de

Normale Version: Synchronisierung von Analogen Signalen mit digitalem Encoder
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo zusammen,

ich verzweifle gerade etwas an der Messdaten synchonisation mit Labview. Folgendes ist die Ausgangslage:
Ich möchte eine Anpresskraft einer Rolle bei steigender Drehzahl messen. Die Kraftmessung erfolgt dabei Analog und die Drehzahlmessung üer einen Digitalen Encoder.
Die Kraft muss zu Beginn eingeregelt werden und dann soll die Drehung starten. Ich erwarte Drehzahlen zwischen 0 - 30 U/s.
Der Drehgeber hat dabei 1500 Zähler pro Umdrehung.

Jetzt ist es enorm wichtig, dass ich diese beiden Signale zeitsynchron mit mindestens 3000Hz aufzeichne.
Das wollte ich lösen, indem ich einen DAQmx digitalen Counter Task starte und die Aufzeichnung mit der AI-Sample Clock und der Sample Rate des Analogen Eingangs verknüpfe.
Das Problem ist hierbei aber der klassische Fehler, dass bei stehender oder langsam drehender Rolle, zwischen zwei Messpunkten des NI-DAQ kein Trigger Signal des Encoders erkannt wird und der Task abstürzt.
In der Vergangenheit konne ich vergleichbare Aufgaben sehr einfach mit DIAdem aufzeichnen, hier kam bei zu niedriger Drehzahl einfach 'NaN' raus (was mir auch recht wäre), aber aufgrund der bestehenden Prüfstandsstruktur bin ich leider auf Labview angewiesen.

Zur Aufzeichnung wird ein NI-PCIe 6341 verwendet

Sollte es zu diesem Problem schon eine Lösung hier im Forum geben möchte mich entschuldigen, aber mit der Such funktion habe ich dazu nichts passendes gefunden.
Herzlichen Dank schon mal für alle Tipps die ihr so auf Lager habt!
tl;dr:

Problem:

Zeitsynchrone Aufzeichnung von Analog und digitalem Encoder Signal mit fester Sample Rate auch bei stehendem Encoder.

Hardware:
Encoder: 1500 Trigger Pro Umdrehung
Kraftmessung: Analog
NI-DAQ: NI-PCIe 6341

Einsatzbereich: Drehzahl 0-30 Hz
Software: Labview 18
Abtastrate: 3000 Hz
Ich meine in den Sound&Vibration Suite Beispielen mal was entsprechendes gesehen zu haben.
Auf jeden Fall sind da vis zum Resamplen .. Order-Analyses ...

Kann die Karte nicht direkt inkrementelle Winkelsensoren auslesen?
Prűfe doch einmal, ob der Zählerstand des Encoders mit dem Sample-Trigger des AI-Task via internal Signal-Routing gelatched werden kann.

Gruß Holger
Vielen Dank schon mal für eure Antworten, das hilft mir schonmal ein bisschen weiter!
Ich muss leider gestehen, dass ich noch ganz am Anfang meiner Datenerfassungskarriere stehe, deshalb gestattet mir bitte ein paar Nachfragen:

(07.05.2020 16:25 )HVo schrieb: [ -> ]Kann die Karte nicht direkt inkrementelle Winkelsensoren auslesen?

Was meinst du mit direkt?
Wenn ich versuche im NI-Max einen entsprechenden Kanal anzulegen, finde ich nur die Möglichkeit über die Zähler-Eingänge die Frequenz zu messen oder die Flanken zu zählen.

(07.05.2020 19:12 )BNT schrieb: [ -> ]Prűfe doch einmal, ob der Zählerstand des Encoders mit dem Sample-Trigger des AI-Task via internal Signal-Routing gelatched werden kann.

Hierfür reicht mein Wissen leider auch noch nicht, hast du einen Tipp wo ich mir die entsprechenden Grundlagen anlesen kann, bzw. kannst du mir sagen, wie ich das mache?

Vielen Dank noch mal für die Hilfe und das Verständnis!

Lieben Gruß und schönes Wochenende,
Benni
(08.05.2020 12:25 )Benj1man schrieb: [ -> ]Ich muss leider gestehen, dass ich noch ganz am Anfang meiner Datenerfassungskarriere stehe,

Dann fang doch mal hier an zu lernen. Die Online Kurse von NI sind gerade frei zugänglich.

Gruß Holger
Vielen Dank für den Tipp, der Kurs war tatsächlich recht informativ.
Leider hilft er mir bei meiner Problematik nicht wirklich weiter. Wie man die Signale synchronisiert war mir vorher schon bewusst.

Das funktioniert auch, beispielsweise wenn ich dir Rolle drehen lasse und erst ab einer ausreichenden Drehzahl das VI starte bekommt der DAQ auch genügend Trigger Signale pro Abtastschritt. Aber Ziel ist es ja, aus dem Stillstand zu starten.

Leider bin ich erst Montag wieder am Institut, dann werd ich mal versuchen mit der Winkelmessung rum zu spielen, vielleicht komme ich da etwas weiter.
Ok ich hab ein bisschen mit der Sensorik gesielt und dabei auch ne Menge gelernt und bin zu dem Schluss gekommen, dass die Aufzeichnung mit fester Abtastrate nicht wirklich sinnvoll ist für meine Anwendung.
Deshalb versuche ich das ganze jetzt andersrum und hole mir den Winkel des Drehgebers Hardware getaktet.
Gibt es eine Möglichkeit jetzt bei jedem Trigger des Zählers den zugehörigen Zeitpunkt der AI Clock auszulesen?

Ich habe versucht, das mit CI ImpulseTime zu lösen, aber das funktioniert wieder nicht, wenn die Rolle steht...

Fällt da jemandem was passendes ein?
(12.05.2020 08:44 )Benj1man schrieb: [ -> ]Fällt da jemandem was passendes ein?
Ich mach das immer so:
Ich lasse die Zähler-Task und die Analog-Task laufen, wie sie wollen. Ausgelesen werden beide regelmäßig (z.B. alle 50ms). Maßgebend ist die Anzahl der erfassten Analog-Samples. Ist die Anzahl der Zähler-Samples unterschiedlich zu der Anzahl der Analog-Samples, wird das Zähler-Signal interpoliert (re-sample), sodass es im Bereich 50ms genau so viele Samples hat wie das Analog-Signal. Der letzte exakte Zähler-Wert wird (z.B. in einem Rückkoppelknoten) gemerkt und dann verwendet, wenn die Zähler-Task keine neuen Samplewerte liefert. Dieses Verfahren ist für meine Belange ausreichend. Manchmal ist sogar die Interpolation nicht notwendig, z.B. wenn sich das Signal applikationsbedingt eigentlich nicht ändert (z.B. Geschwindigkeit).
Das ist in meinem Fall leider nicht möglich, die Daten sollen erstmal ohne resamplen auskommen. Da der Zähler ja nicht über ein Zeitsignal verfügt, würde man außerdem annehmen, dass das dt zwischen zwei Zählerflanken konstant ist, das ist aber nicht zwingend der Fall und wäre für meine Messungen leider zu ungenau Sad

Tatsächlich könnte es sich (je nachdem wofür du den Zähler benutzt) für deinen Fall aber anbieten, den Zähler Anfangs über die Samplerate und die gleiche Sample Clock an das Analogsignal zu koppeln. Dadurch sparst du dir das resamplen.

Seh ich das richtig, dass es keine Möglichkeit gibt einfach den Zeitstempel bei Zähler Trigger aus zu lesen?
Referenz-URLs