LabVIEWForum.de
Drehrichtungserkennung - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+---- Forum: Datenerfassung (DAQ) (/Forum-Datenerfassung-DAQ)
+---- Thema: Drehrichtungserkennung (/Thread-Drehrichtungserkennung)

Seiten: 1 2 3 4


Drehrichtungserkennung - Bubkar - 21.11.2007 15:24

Hi

Ich arbeite mit LabVIEW 6.1 (schon bisl älter, aber macht ja nichts:-))

Als Messkarte habe ich die DAQCARD-6062E!

Ich schließe nun über analoge Eingänge die Signale eines Drehgebers (Spur A und Spur B) an. Countereingänge benutze ich nicht, weil ich mehrere Drehgeber gleichzeitig messen möchte und Countereingänge nicht in der Anzahl vorhanden sind.

Jetzt möchte ich die Drehrichtung des Drehgebers bestimmen! Die beiden Rechtecksignale A und B sind phasenverschoben und dadurch kann man doch die Drehrichtung bestimmen, oder?

Gibt es vielleicht ein VI, die mir die Drehrichtung liefert bei Anschluss der zwei Signale oder ist es nicht so einfach?


Drehrichtungserkennung - Achim - 21.11.2007 15:27

Hi,

ich würde sagen du musst die Werte-Arrays beider Kanäle untersuchen...wann ist der jeweilige Kanal größer "x"...die beiden entsprechenden Zeitstempel vergleichen und dann je nach "a < b" oder umgekehrt hast du die Richtung!

A.


Drehrichtungserkennung - jeffrey - 21.11.2007 15:28

' schrieb:Hi

Ich arbeite mit LabVIEW 6.1 (schon bisl älter, aber macht ja nichts:-))

Als Messkarte habe ich die DAQCARD-6062E!

Ich schließe nun über analoge Eingänge die Signale eines Drehgebers (Spur A und Spur B) an. Countereingänge benutze ich nicht, weil ich mehrere Drehgeber gleichzeitig messen möchte und Countereingänge nicht in der Anzahl vorhanden sind.

Jetzt möchte ich die Drehrichtung des Drehgebers bestimmen! Die beiden Rechtecksignale A und B sind phasenverschoben und dadurch kann man doch die Drehrichtung bestimmen, oder?

Gibt es vielleicht ein VI, die mir die Drehrichtung liefert bei Anschluss der zwei Signale oder ist es nicht so einfach?
Hi,
theoretisch ist es so einfach, ich befürchte nur, dass LabVIEW dazu zu langsam ist, hängt natürlich von der Drehzahl ab.
MfG Jeffrey


Drehrichtungserkennung - Achim - 21.11.2007 15:33

' schrieb:theoretisch ist es so einfach, ich befürchte nur, dass LabVIEW dazu zu langsam ist, hängt natürlich von der Drehzahl ab.

Dann nützt dir kein irgendwie geartetes VI irgendwas...

Es geht vermutlich ja nicht nur um die Drehrichtung, oder? Weil nur für diese Erkennung dürfte LV ja schnell genug sein...oder hast du Drehrichtungsänderungen (eines Motors) die sich im Milisekunden-Bereich abspielen...also im einen Moment LL, einige ms später RL, usw usw.?

Ansonsten musst du halt doch Counter-Karten besorgen...


Drehrichtungserkennung - Bubkar - 21.11.2007 15:41

Also..

gleichzeitig soll die Drehzahl noch berechnet werden - dies funktioniert auch schon einwandfrei! Also mein VI liefert mir alle 0,1 - 1 Sekunde einen aktuellen Drehzahlwert. Also möchte ich auch in dieser Zeit wissen, ob rechts- oder linksdrehung. Mit den Arrays untersuchen hab ich mir auch schon gedacht, aber ich hab mir mal beide Arrays nach einer halben Sekunde messen angeschaut und ich kann daraus nix folgern!:-(


Drehrichtungserkennung - Achim - 21.11.2007 15:59

Hi,

naja deine gemessenen Rechtecksignale kommen ja in zwei Arrays...jeder Wert im Array ist dt von den anderen entfernt, dt ergibt sich durch deine Abtastrate.

Jetzt musst du die erste steigende Flanke (Index T1) von Signal A suchen, die liegt dann bei T1= xA*dt...das gleiche für Signal B, d.h. T2 = xB*dt. Jetzt musst du schauen, welcher Zeitwert größer ist!

A.


Drehrichtungserkennung - Bubkar - 22.11.2007 10:28

Der Ansatz ist schon gut - aber funktioniert bei mir nicht!:-(

Obwohl ich immer die gleiche Richtung hab, wird immer etwas anderes angezeigt!

z.B.

Array 1: 4,15 / 0,01 / 4,15 / 4,20 / 0,05

da hab ich ja meine erste steigende Flanke bei Index 1 und 2

Array 2: 0,01 / 4,05 / 4,79 / 0,05

da hab ich sie dann bei Index 0 und 1

Ich würd jetzt sagen, dass Kanal B nachläuft! bei erneutem Versuch und gleicher Drehrichtung schauen die Arrays wieder komplett anders aus und man könnte annehmen, dass sich die Drehrichtung geändert hat - aber ist ja nicht so!

Kann dies an der Abtastrate liegen? muss ich bei Drehrichtungserkennung 4mal so hoch abtasten als die Frequenz eines einzelnen Kanals?


Drehrichtungserkennung - monoceros84 - 22.11.2007 11:22

' schrieb:Kann dies an der Abtastrate liegen? muss ich bei Drehrichtungserkennung 4mal so hoch abtasten als die Frequenz eines einzelnen Kanals?

Würde ich empfehlen, ja. Wenn ich mir deine Arrays so angucke, hast du ja teilweise in einem State nur ein Arrayelement. Das kann ganz schnell mal nach hinten losgehen. Außerdem solltest du den Interchannel Delay beachten. Siehe dazu vor allem die zweite Seite folgender Diskussion:
http://www.LabVIEWforum.de/index.php?showt...erchannel+delay

Entweder, du machst dir viel Mühe, diese Eigenschaft zu beseitigen, oder du erhöhst die Abtastrate nochmal um den Faktor 2, so dass dieser Effekt auf deine Messung keine Auswirkung hat.


Drehrichtungserkennung - Achim - 22.11.2007 11:52

' schrieb:Kann dies an der Abtastrate liegen? muss ich bei Drehrichtungserkennung 4mal so hoch abtasten als die Frequenz eines einzelnen Kanals?

Jou, vermutlich...ich würde an deiner Stelle so schnell abtasten wie nur irgend möglich!


Drehrichtungserkennung - jeffrey - 22.11.2007 12:27

hi,
wird der motor auch aus LabVIEW raus angesteuert? weil dann kennst du doch eigentlich die drehzahl, weil du weißt ja in welche richtung du den motor drehen lässt. so habe ich das bisher immer gemacht, wenn ich die drehzahl/drehrichtung eines motors geregelt habe. bin halt immer davon ausgegangen, dass mein motor zumindest in die richtung dreht, die ich möchte, aber sonst hast ja auch insgesamt ein großes problem, wenn der motor net mal schafft in die sollrichtung zu drehen.
mfg jeffrey