LabVIEWForum.de - Daten aus Graph in Werte ausgeben

LabVIEWForum.de

Normale Version: Daten aus Graph in Werte ausgeben
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2 3 4 5 6 7 8 9 10 11
Hallo Sandro,

der XY-Graph stellt genau das dar, was er an Daten von dir bekommt. Er "berechnet" keine Winkel für dich…

Zitat:Die Anordnung meiner Sensoren entspricht den 3 Signalen (cos,sin,-sin), daher diese Simulation und die Frage ob es mit solch einer Anordnung möglich ist einen exakten Winkel zu bekommen. Oder stimmt der Winkel?
Das hast du doch mit Ludwig alles schon diskutiert. Jetzt fängst du hier wieder damit an?
Ohne jetzt auf die mathematischen Hintergründe eingehen zu wollen: du hast jetzt 3 um je 90° versetzte Sinus-Verläufe. "sin" und "-sin" sind dabei redundant und tragen nicht zur Verbesserung des Ergebnisses bei…

Zitat:Und somit den exakten Winkel!
Der berechnete Winkel ist dann exakt, wenn er mit dem am Eingang benutzten Winkel (Schleifeniterator * 3) übereinstimmt (unter Nichtbeachtung des PhaseUnwraps). Ob der Plot dabei "linear" ist oder nicht, spielt keine Rolle…
Wozu eigentlich die Differenz von "cos" zu "-sin", wenn es sich um die Simulation von 2 um 90° versetzten Sensoren handelt. s. hierzu diesen Beitrag.
In diesem Fall musst du einfach atan(x/y) berechnen.

Gruß, Jens
(01.12.2015 10:18 )GerdW schrieb: [ -> ]der XY-Graph stellt genau das dar, was er an Daten von dir bekommt. Er "berechnet" keine Winkel für dich…
Das ist mir schon klar, dass der Graph nichts berechnet, falsch ausgedrückt von mirSmile

Ich weiß, dass ich schon länger diskutiere über dieses Thema...Aber habe diese Anordnung schon bei anderen Herstellern gesehen und daher die Überlegung mit sin,cos, -sin. Da es bei denen ja auch Funktioniert!

(01.12.2015 10:18 )GerdW schrieb: [ -> ]Ohne jetzt auf die mathematischen Hintergründe eingehen zu wollen: du hast jetzt 3 um je 90° versetzte Sinus-Verläufe. "sin" und "-sin" sind dabei redundant und tragen nicht zur Verbesserung des Ergebnisses bei…
Ich dachte nur, dass es für die genaue Bestimmung hilfreich ist, wenn ich 3 um 90° versetzte Sinus-Verläufe habe, um so besser sagen zu können, in welchem "Bereich" ich gerade bin(0-120, 120-240, 240-360), aber dies funktioniert ja offentsichtlich auch mit 3 um 90 versetzte Sinus-Verläufe...

(01.12.2015 10:18 )GerdW schrieb: [ -> ]Der berechnete Winkel ist dann exakt, wenn er mit dem am Eingang benutzten Winkel (Schleifeniterator * 3) übereinstimmt (unter Nichtbeachtung des PhaseUnwraps).
Also ist er ja exakt?! Der Plot hat mich irritiertAngel_not

@ Jens
(01.12.2015 10:18 )jg schrieb: [ -> ]Wozu eigentlich die Differenz von "cos" zu "-sin", wenn es sich um die Simulation von 2 um 90° versetzten Sensoren handelt.
Bei 2 um 90° versetzte Sensoren ist mir es jetzt klar, dass ich nur arctan benutze, aber möchte ja auch 3 aufnehmenCool
Hallo Sandro,

Zitat:Bei 2 um 90° versetzte Sensoren ist mir es jetzt klar, dass ich nur arctan benutze, aber möchte ja auch 3 aufnehmen
Du kannst gern 3 statt nur 2 Signale aufnehmen. Ich halte es nur nicht für sinnvoll, dafür ein redundantes Signal zu verwenden! (Abgesehen von der Möglichkeit, mit einer "2 aus 3"-Entscheidung Fehler tolerieren zu können.)

Und die grundlegende Mathematik/Geometrie dahinter solltest du mittlerweile sowohl begriffen haben als auch berechnen können…
Ok..Smile
Aber nochmals zur späteren Praxis:
Das Ziel ist es, später in einem Motor die Rotorlage zu erkennen. Allerdings nicht zur Kommutierung, also kein Absolut Winkel.
D.h. ich möchte vorerst nur den Elektrischen Winkel von 0-360° wissen, was somit den ersten Bereich entspricht (mechanischer Winkel von 0-120°).
Der Motor bleibt ja nicht immer an der gleichen Stelle stehen, daher sollte ich wissen wo ich stehe. Ob Bereich 1, 2, oder 3 ist egal!
Und das weiß ich ja mit meinem bisherigen VI nicht...egal ob mit 2 oder 3 Sensoren. Confused
Habt ihr da eine Idee?
Vielleicht fehlt mir auch einfach nur das Mathematische Verständnis und ihr habt mir die Lösung schon 10 mal verraten, leider verstehe ich es nicht wie ich mit 2 Sensoren bei jedem Neu Start des Motors den Winkel bekomme... Sad
Ich dreh bald durchAngel_not
Ich versuchs nochmal mit einem Screenshot, warum ich ursprünglich auf die 3 Sensoren gekommen bin:
In diesem Screenshot sind 2 Signale dargestellt, einmal cos und einmal sin.
Ich habe die gleich arctan Funktion im ersten und im dritten Quadranten.
Über meinen zusätzlichen 3 Sensor (-sin) möchte ich bestimmen können ob ich im ersten oder dritten Quadranten bin.
Ist der 3 Sensor negativ, bin ich ersten Quadranten.
Ist der 3 Sensor positiv, bin ich im dritten Quadranten.

Edit:
Ach arctan2 berücksichtigt ja alle 4 Big Grin ?!
Hallo Sandro,

wozu benötigst du dazu den "-sin"? Er liefert dir die gleiche Information wie der "sin" - das umgekehrte Vorzeichen ist, wie schon mehrfach gesagt, redundant!

Zitat:Ist der 3 Sensor negativ, bin ich ersten Quadranten.
Ist der 3 Sensor positiv, bin ich im dritten Quadranten.
Ich würde es mal so ausdrücken: Ist der "sin" positiv, bist du im I./II. Quadranten. Ist der "sin" negativ, bist du im III./IV. Quadranten. Sieht man wunderschön in deinem Bild…
Nochmal: wozu benötigst du für diese Aussage ein "-sin"-Signal?
Wall
Hallo Gerd,
du hast natürlich vollkommen recht, wahrscheinlich mach ich mir zu viele Gedanken, weil ich denke es klappt nicht.
Das heißt, mein Programm erkennt/berechnet(wenn meine 6009er Karte anschließe und über DAQ laufen lasse) immer den Winkel, egal in welcher Position der Motor zuletzt stehen geblieben ist. Ist der "sin" positiv, rechnet er über den arctan (sin/cos) den Winkel aus und weiß, dass der Winkel zwischen 0-180 sein muss...und gibt mir so den exakten Winkel?
Ich denke du verstehst was ich meine, ich möchte nicht, dass er jedes mal bei 0° anfängt zu zählen, egal in welcher Position er steht...das würde ja kein Sinn machen Smile
Kann ich trotzdem einen Art "Nullpunkt" setzen?
Gruß
Hallo Sandro,

beim Einsatz von üblichen Encodern mit ABZ-Signal wäre deine Frage gar nicht erst aufgekommen…

Zitat:rechnet er über den arctan (sin/cos) den Winkel aus und weiß, dass der Winkel zwischen 0-180 sein muss...und gibt mir so den exakten Winkel?
Wenn die Signale sofort nach Anlegen der Betriebsspannung (der Sensoren) bereitstehen, wird auch sofort ein Winkel ausgerechnet.
Zum Thema "exakter Winkel" bleibt dann noch die Frage der Genauigkeit der Signalerfassung und deren Auswirkung auf die Winkelberechnung…

Zitat:ich möchte nicht, dass er jedes mal bei 0° anfängt zu zählen, egal in welcher Position er steht...das würde ja kein Sinn machen
Wieso sollte irgend etwas bei "0° anfangen zu zählen"? Über deine sin/cos-Signale bekommst du doch Absolutpositionen gemeldet!? Hmm
Bei "0° anfangen zu zählen" würde nur bei Relativsignalen gelten, wie sie z.B. einfache Pulsencoder liefern!

Was hindert dich daran, dir die letzte Position zu merken, wenn dein Rotor stehen bleibt? Dann weißt du doch immer, in welcher Position er sich befindet…

Zitat:Ich denke du verstehst was ich meine
Ich kann dir nicht immer folgen - vor allem, wenn du jetzt auch noch Absolut- und Relativ-Positionen in einen Topf schmeißt…
Vielen Dank für Eure Hilfe.
Hätte nur noch eine Frage dazu: Smile
Die Signale möchte ich mit einer NI 6009 oder 6008 aufnehmen. Muss ich das über den DAQ Assistent machen oder einfach die DAQmx read vi verwenden?!
Grüße
Seiten: 1 2 3 4 5 6 7 8 9 10 11
Referenz-URLs