DIAdem

cancel
Showing results for 
Search instead for 
Did you mean: 

Phasenabweichung & Frequenzbestimmung von 2 Signale

Mein System wird 2 Signale aufnehmen: die Kraft(N) und die Geschwindigkeit(m/s) für unterschiedliche Frequenzen, die von DIAdem 9.0 eingestellt werden, zwischen 5 und 150 Hz. Für jede Frequenz werden Messungen und Aufnahmen durchgeführt. Die signale sind annährungsweise als SINUS anzusehen. - 1) Wie kann ich die FREQUENZ der beide Signal messen, um die Einstellung der Steuerung zu kontrollieren ? Müssen für jede Messung (z.B. für jedes 1 Hz) eine FFT durchgeführt und gespeichert werden, und wie ? - 2) Wie kann ich die Phasenverschiebung zwischen Kraft und Geschwindigkeit bestimmen und auswerten ? - 3) Wie kann ich die Messung der unterschiedliche Phasenverschiebungen für die 145 Messungen (150-5 Hz) Automatisieren ? - 4) Wäre eine stetige (kontinuirlische) Messungen der Phasenverschiebung in Abhängigkeit der Frequenz möglich ? Vielen Dank, und MFG aus Hessen. Der Jungingenieur aus Frankreich.
Jean-Pierre, Junior Engineer Germany
0 Kudos
Message 1 of 6
(9,207 Views)
Wenn ich Sie richtig verstanden habe, so lesen Sie zwei analoge Spannungen mit einer bestimmen Abtastrate (welcher ?) über Ihre Datenerfassungkarte ein.

_______________________________________________________________________________________________________

"Die Signale sind annährungsweise als SINUS anzusehen. - 1) Wie kann ich die FREQUENZ der beiden Signal messen, um die Einstellung der Steuerung zu kontrollieren ? Müssen für jede Messung (z.B. für jedes 1 Hz) eine FFT durchgeführt und gespeichert werden, und wie ?"

-> Wenn Sie 100%ig wissen, dass es sich bei Ihrem Signal um ein Sinus handelt, so können Sie einerseits eine FFT (in Diadem -> Analysis -> Signalanalyse -> FFT) über Ihr Signal laufen lassen, oder Sie bestimmen programmatisch den Nulldurchgang der Sinusfunktion. Für die letzte Möglichkeit wäre es von Vorteil, dass das vorgegebene Signal bestimmter Frequenz für mehrere Perioden vorliegt. Sie können durch den zeitlichen Zeitabstand der Nulldurchgänge so einen Rückschluss auf Ihre Frequenz ziehen. Beachten Sie bitte, da es sich um ein Sinus Signal handelt, eventuell eine Richtungserkennung (Nulldurchgang von - auf + oder von + auf -) zu implementieren oder einfach die berechnete Frequenz zwischen zwei Nulldurchgängen ohne Richtungserkennung zu halbieren.
______________________________________________________________________________________________________

"2) Wie kann ich die Phasenverschiebung zwischen Kraft und Geschwindigkeit bestimmen und auswerten ? - 3) Wie kann ich die Messung der unterschiedliche Phasenverschiebungen für die 145 Messungen (150-5 Hz) Automatisieren ? - 4) Wäre eine stetige (kontinuirlische) Messungen der Phasenverschiebung in Abhängigkeit der Frequenz möglich ?"

-> Sie können die Phasenverschiebung zwischen zwei Signalen z.B. mit einem Referenzpunkt bestimmen. Wenn Sie beispielsweise die Phasenverschiebung zwischen zwei Signalen mit einem Oszilloskop bestimmen möchten, so setzen Sie je einen Cursor z.B. bei den Nulldurchgängen (von - nach +) auf den entsprechenden Sinus und können dadurch, durch den zeitlichen Versatz auf die Phasenverschiebung Rückschluss ziehen. Schwierig wird es, wenn Sie einen Phasensprung zwischen Ihren beiden Signalen bekommen (d.h. ein Vielfaches von 360°). Diesen Phasensprung müssen Sie programmatisch bestimmen.
Leider weiss ich nicht genau, welche Hardware Sie in welcher Diadem Version einsetzen und auch nicht welche Signalpegel Sie bei Ihren analog Inputs erwarten ? mV ? V ?
________________________________________________________________________________________________________

Eine weitere Möglichkeit, sich die Phasenverschiebung zwischen Referenz- und Eingangssignal berechnen zu lassen, ist der Einsatz eines Lock in Verstärkers. Allerdings wird dieser meistens bei kleinen Eingangsspannungen eingesetzt (nv...mV). Die vom Gerät ermittelte Phasenverschiebung zwischen den beiden Signalen kann dann beispielsweise über die serielle oder die GPIB Schnittstelle abgefragt werden. Diese Alternative ist mit weiteren Kosten verbunden.
__________________________________________________________________________________________________________

Um Ihre Abläufe automatisiert ablaufen lassen zu können, können Sie sich ein DAQ Schaltplan in Diadem erstellen, , dass die Ausgabefrequenz mit entsprechender Amplitude steuert und auswertet.

Mit freundlichen Grüßen
Message 2 of 6
(9,174 Views)
Vielen Dank Indiana.

Ich habe bis jetzt Ihren Vorschlag versucht aufzubauen, und die Vorgehungsweise die ich benutzt habe ist folgende:
- Ich messe mit einer StoppUhr der Zeitunterschied (s) zwischen 2 phasenmässigen verschobenen 'steigenen Flanken'.
- Ich messe mit einer StoppUhr die Periode (s).
- Ich rechne die Phasenverschiebung (grad) mit den oben genanten Variablen.
- Ich rechne die Frequenz der einzelne Signale (Hz).

Mein Problem:
- Ich kann erst bis 5Hz die 2 Eingansfrequenzgeneratoren einstellen und messe am Ausgang die PERIODE(s)/PHASENVERSCHIEBUNG(s)/FREQUENZ(Hz).
Erhöhe ich diese 2 Frequenzen mit Werte wie 15Hz, 50Hz, 80Hz, 99Hz, 125Hz, 150Hz, dann bringt mir die gemessene und gerechnete Werte nicht die Richtige Ergebnisse.

Meine Vermutung:
- Der Takt oder die Paketverarbeitung hat für unterschiedlische Frequenzen anderen 'Anforderungen'. Sehe ich das richtig ? Gibt es andere Lösungswege die, wie ich und Sie vorgeschlagen haben, Ohne FFT diese Rechnung durchführt, denn die diese Fähigkeit nicht in der BASE-EDITION habe ?
Jean-Pierre, Junior Engineer Germany
Message 3 of 6
(9,126 Views)
Hallo Ingenieur_25,

wie Sie bereits richtig vermutet haben, benötigen Sie für die jeweiligen Frequenzen unterschiedliche Takt und Paketverarbeitungsanforderungen (Systemtakt, Paketgröße & statistische Auswertung).

Eine weitere Möglichkeit der Frequenzmessung besteht darin, dass Generatorsignal auf einen Schmitt Trigger zu geben, und sich dadurch ein Rechteck erzeugen zu lassen. Parallel dazu lassen Sie einen Taktgenerator laufen und vergleichen die beiden Signale mit einem UND Baustein. In Reihe dazu schalten Sie einen Zähler der die Impulse auf einer gewissen Zeitbasis zählt. Durch die vorgegebene Frequenz des Taktgenerators (möglichst hoch) können Sie nun Rückschlüsse auf die vorhandene Frequenz ziehen (Auflösung abhängig von der Frequenz des Taktgenerators und der Signalfrequenz).

Letztendlich würde ich Ihnen jedoch empfehlen, DIADEM upzugraden, da die effektivste Umsetzung allerdings noch die Verwendung der FFT ist.

MfG
Message 4 of 6
(9,095 Views)
Die Ermittlung der Frequenz und der Phasenverschiebung lässt sich relativ gut mit der Paketverarbeitung realisieren. Ein Beispiel habe ich angehängt. Besonders hilfreich ist hier der Block Triggersuche, der leider nicht in der Leiste liegt, sondern nur über dir Gesamtauswahl in der GFSPackB verfügbar ist. Zusammen mit dem Abschnitt-Block kann man ganz einfach Blöcke erzeugen, die genau eine Schwingung groß sind. Außerdem hilft er dabei den ersten Nulldurchgang des Zweiten Signals zu finden.

Ein Problem stellt jetzt nur noch die Genauigkeit dar. Die ist von der Abtastrate abhängig. In der Paketverarbeitung sollte das Beispiel bei Verwendung einer schnellen Messkarte allerdings auch mit mehreren hundert Kilohertz laufen können, wenn man am Eingang (und im Abschnittsblock) größere Pakete einstellt. Für Schwingungen mit 150 Hz muß man dann noch den Pakettakt erhöhen, weil defaultmäßig nur 100 Pakete pro Sekunde verarbeitet werden. Der Abschnitt hackt die ankommenden Pakete dann in entsprechend kleine Stücke und 150 Pakete mit einigen Tausend Werte pro Paket sind heutzutage kein Problem für die Rechner. Vermutlich würde der Schaltplan auf einem aktuellen Rechner auch mit 5 Mhz pro Kanal laufen, wenn man auf die Oszilloskope verzichtet.

Man könnte die Genauigkeit auch dadurch erhöhen, dass man über Trigger und Abschnittsblöcke die Daten so ausschneidet, das man anschließend den genauen Nulldurchgang berechnen kann. Das wäre allerdings erheblich komplizierter.

Die FFT ist für die Berechnung der Periode von langsamen Schwingungen eher ungeeignet. Die Auflösung der FFT-Werte beträgt immer 1/Messzeit. Man muß also eine Sekunde messen um eine Auflösung von einem Hz zu bekommen. Wenn man wissen will ob die Frequenz 5.0 oder 5.1 Hz ist, müsste man schon 10 Sekunden messen. Da ist die Ermittlung der Nulldurchgänge erheblich genauer und schneller. In LabVIEW gibt es dafür auch noch die Single Tone Funktion, die sehr genau Perioden und Phasen berechnen kann. Die ist in DIAdem leider nicht verfügbar.
Message 5 of 6
(9,085 Views)
Die Ergebnisse die Sie angeboten haben gefallen mir sehr gut. Jetzt warte ich nur auf die D/A Karte für meine 2 Messungen von Kraft und Geschwindigkeit. Ich werde dann die Generatoren, die jetzt diese Signale darstellen sollen durch Schnittstelleblöcke ersetzen, bei der Hoffnung, dass es wie ich es mir vorstelle funktioniert. Nochmals vielen Dank für Ihre Lösung mit der Triggersuche !
Jean-Pierre, Junior Engineer Germany
0 Kudos
Message 6 of 6
(9,068 Views)