LabVIEWForum.de - Phasenverschiebung!

LabVIEWForum.de

Normale Version: Phasenverschiebung!
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Ich lese mittels Traditionellen NI-DAQ-Geraet PCI-6025E zwei Pulssignale ein. Diese haben immer die gleiche Pulsdauer doch sie sind Phasenverschoben.

Meine Aufgabe ist es, die Pulse zu zaehlen und ermitteln ob das Geraet Rechts oder Links laueft.
Wenn man es nach rechts bewegt ist das Signal am Channel A vorlaeufig und umgekehrt.

Wie kann ich mittels LabVIEW bestimmen welches Signal Vor bzw. welches Nacheilend ist.

Bitte um rasche Hilfe.

Danke
' schrieb:Ich lese mittels Traditionellen NI-DAQ-Geraet PCI-6025E zwei Pulssignale ein. Diese haben immer die gleiche Pulsdauer doch sie sind Phasenverschoben.

Meine Aufgabe ist es, die Pulse zu zaehlen und ermitteln ob das Geraet Rechts oder Links laueft.
Wenn man es nach rechts bewegt ist das Signal am Channel A vorlaeufig und umgekehrt.

Wie kann ich mittels LabVIEW bestimmen welches Signal Vor bzw. welches Nacheilend ist.

Bitte um rasche Hilfe.

Danke

das hört sich für mich erstmal so an, als würdest du z.B. mit einem Encoder eine Winkelposition messen wollen? Wenn ja, wäre eine analoge Erfassung der falsche Ansatz, dafür nimmt man einen Counter ...

Wenn du die Phasenverschiebung ermitten möchtest, und beide Signale die gleiche Amplitude haben, dann würde ich den Index in den beiden Messwerte Arrays suchen, bei dem ein von dir festzulegender Wert über-/ unterschritten wird. Wenn z.B. das Signal A nacheilt, dann ist der Index des über-/ unterschrittenen Grenzwertes kleiner als der von Signal B.

Die Differenz von Index A und Index B, multipliziert mit 1/Samplerate ergibt die Phasenverschiebung in Sekunden ... die Genauigkeit der Phasenverschiebung hängt damit natürlich von deiner Sample-Rate ab ...
Ja, es handelt sich dabei nicht um eine Winkelposition sondern um eine Laengsverschiebung.
Die Pulse zaehle ich mit einem Counter. Doch wie funktioniert dies mit der Abstandsmessung bzw. Verschiebung?

Wie kann ich den Index festlegen?
' schrieb:Ja, es handelt sich dabei nicht um eine Winkelposition sondern um eine Laengsverschiebung.
Die Pulse zaehle ich mit einem Counter. Doch wie funktioniert dies mit der Abstandsmessung bzw. Verschiebung?

Wie kann ich den Index festlegen?

wenn du einen Z-Puls hast, dann ist es ganz leicht, wenn du keinen Z-Puls hast, dann wird es etwas komplizierter, weil du eine Referenzfahrt machen musst und du deinen Nullpunkt selbst festlegst.

Wenn du mit DAQmx arbeitest, dann nimm den DAQmx-Assistenten und erstelle eine Positions-Messung mit einem Counter. Wenn du wissen willst, wie das genau programmiert wird, dann mach einen Rechtsklick auf das Express-VI und wähle "Frontpanel öffnen" aus. Dann kannst du das Express VI in ein Standard-VI konvertieren und dir den Quellcode anschauen.

Die Screenshots zeigen einen DAQmx-Task für einen Linear-Encoder, der einen Weg von 1 mm pro Tic ausgibt ...

[attachment=6378]

[attachment=6379]
Was ist ein Z-Puls???

Nein ich arbeite leider mit einem traditionellen NI-DAQ-Geraet.
Ich muss lediglich bestimmen welcher Puls zuerst kommt, der vom Kanal A oder der vom Kanal B.

Bitte um weitere Vorschlaege.
' schrieb:Was ist ein Z-Puls???

Nein ich arbeite leider mit einem traditionellen NI-DAQ-Geraet.
Ich muss lediglich bestimmen welcher Puls zuerst kommt, der vom Kanal A oder der vom Kanal B.

Bitte um weitere Vorschlaege.

na, dann schau dir doch mal die Beispiele zum Thema Encoder mit trad. DAQ im Example Finder an. Wenn der Counter "hoch zählt" kommt der eine Puls zuerst, wenn der Counter "runter zählt", dann der andereSmile
Welches meinst DU?

Ich habe nur das "BNC-2120 Quadrature Encoder" Beispiel. Und bei diesem vwird nur ein Puls verwendet und zaehlt immer hinauf.
Referenz-URLs