INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

Datenerfassung mit Feedback-Schleife



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!

08.11.2020, 17:37 (Dieser Beitrag wurde zuletzt bearbeitet: 09.11.2020 11:58 von jg.)
Beitrag #1

holdsworthy Offline
LVF-Neueinsteiger


Beiträge: 2
Registriert seit: Nov 2020

16.0
2019
EN



Datenerfassung mit Feedback-Schleife
Hi!

Ich möchte mit LabVIEW (2016) und einem NI USB-6343 Gerät eine mechanische Schwingung auslesen und gleichzeitig erzwingen.
Genauer möchte ich folgendes umsetzen:
  • Ich möchte eine Sinusspannung einer bestimmter Frequenz(en) ausgeben, um die Resonanzmoden meines mechanischen Oszillators zu ermitteln. Die Details zum Aufbau sind denk ich nicht relevant für mein Problem.
  • Neben der angelegten Sinusspannung möchte ich einen Dämpfungsterm realisieren, der von µ*dx/dt abhängt, wobei µ eine Dämpfungskonstante ist, und x der gemessenen Amplitude bzw. Auslenkung meines Oszillators entspricht. Dieser Term soll also auf den Sinus draufaddiert werden (Vorzeichen der Dämpfung beliebig). Die Resonanzfrequenzen sollen also in Abhängigkeit der Dämpfung ermittelt werden.
  • Das Produkt der Ableitung und der Dämpfung soll dann als Spannung ausgegeben werden.

Ich habe nun Probleme bei der Umsetzung. Der Code besteht natürlich aus einem While Loop, in dem die Datenverarbeitung stattfindet. Meine Fragen wären die folgenden, und sie beziehen sich auf zwei verschiedene Ansätze:
  • Ansatz 1: Ich messe nur 1 Messwert pro Iteration und berechne meine Ableitung "manuell", indem ich A[i]-A[i-1] rechne. Mache ich das so, vergeht allerdings zu viel Zeit zwischen dem Lesen von Sample 1 und Sample 2, denn bevor ich Sample 2 messe, kommt die oben genannte Berechnung der Ableitung etc. – Hinzu kommt, dass ich die vorherigen Messdaten alle mitschleppen muss, um auch visuell was ausgeben zu können. Ich möchte den berechneten Wert ja dann als "Dämpfung" in meinen Oszillator "füttern" und ihn bremsen/beschleunigen. Bis ich die passende Spannung zu Messwert 1 ausgebe, ist mein Oszillator längst Phasenverschoben, und die Spannung, die ich ausgeben würde, ist "veraltet". Im Prinzip legt also die Geschwindigkeit meiner While-Schleife meine Abtastrate fest. Das scheint mir bei so einer Applikation einfach zu langsam zu sein. Was ich bisher gemessen habe, liegt die Dauer einer Iteration bei 0,00015–0,0015. Ich habe also hier auch keine konstante zeitliche Differenz zwischen meinen Samples. Ist die Idee, pro Schleifendurchgang einen Messwert zu ermitteln, damit durchgefallen? Oder gibt's da Möglichkeiten, das alles zu beschleunigen? Das Plotten meiner Daten beispielsweise geschieht außerhalb des Loops. An anderen Stellen weiß ich nicht, wie ich deutlich schneller werden könnte.
  • Ansatz 2: Ich messe pro Iteration N Samples als Waveform. Ich hätte dann beispielsweise "schnell" N samples gemessen, und dt sollte konstant sein. (Meine Hardware hat laut Spezifikationen eine Samplerate von 500.000 Samples pro Sekunde). Im Code kann ich dann bequem mit den vorhandenen VIs eine Ableitung meiner Waveform ermitteln, mit einer Dämpfungskonstante multiplizieren und ein Sinussignal generieren (gleiche Samplerate und #Samples wie mein "DAQ-mx Read"), das ich dann auf meine Waveform der Ableitungen addiere. Das klingt ja alles sehr schön. Aber da bleibt im Grunde das gleiche Problem wie oben. Ich müsste also auch hier beispielsweise Messwert 2 aufnehmen, Ableitung bilden, berechneten Wert als Spannung ausgeben und DANN erst Messwert 3 aufnehmen. Meine aufgenommenen Samples sollen ja alle meinen Dämpfungsterm "enthalten" bzw meine an den Oszillator angelegte elektrische Kraft widerspiegeln.
  • Kriege ich irgendwie diese Phasenverschiebungen in den Griff?


Ich hoffe, dass ihr ein oder zwei Ideen/Vorschläge habt und bedanke mich schonmal dafür und wünsche eine gesunde Zeit Smile
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
Antwort schreiben 


Nachrichten in diesem Thema
Datenerfassung mit Feedback-Schleife - holdsworthy - 08.11.2020 17:37

Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  DAQ Support/Feedback/Debugging humez 8 5.691 28.02.2019 14:15
Letzter Beitrag: humez
  Datenerfassung mit einer zeitgesteuerten Schleife DM_94 16 10.878 25.07.2018 10:20
Letzter Beitrag: DM_94
  Datenerfassung cDAQ + NI9203 keine synchrone Datenerfassung dieseldunst 5 6.596 24.06.2016 14:49
Letzter Beitrag: jg
  Zweite Schleife mit Bedingungen der ersten Schleife abbrechen roehn 1 4.287 11.01.2008 12:10
Letzter Beitrag: Lucki

Gehe zu: