Messwertauswertung "Twin wiper" Potenziometer (Doppelschleifer)

Schneider88

Level-1
Beiträge
11
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo läute !

Ich stehe vor dem Problem eine genaue Position (360°) korrekt zu erfassen.

Ich habe ein Potenziometer das an einem Wasserstrahlantrieb hängt.
Das Poti ist mir vorgegeben worden da kann ich nichts dran ändern .
Es handelt sich um ein Multiturn Potenziometer mit zwei Schleifkontakten die zueinander versetzt sind (sin/cos)

Nun erschließt sich mir nicht wirklich wie ich das Teil beschalten und die
beiden Signale (sin/cos) in der Steuerung verarbeiten soll ???
Als Controller soll eine WAGO PFC200 zum einsatz kommen. Für die auswahl der analog Eingangsbaugruppen
bin ich noch offen.

Hat schon mal jemand mit sowas erfahrungen gemacht ?
Kann mir da jemand weiter helfen ?



hier das anschlussbild vom Hersteller : Anschluss Fahrhebel.jpg
 
Hallo,
das Poti bekommt z.B. +10V auf Pin5, -10V auf Pin8 und die dazugehörige 0 V auf Pin9.
Du erhältst nun dein Ausgangssignal auf den Pin's 6 bzw. 7 gegen Pin9, nur eben nicht linear sondern gemäß der Sinus- bzw. Cosinus-Kennlinie. Das ist schon alles.

An Stelle des Anschlußbildes hättest m.E. besser den schematischen Aufbau deiner Anlage posten dürfen - ich kann dir deine eigentliche Frage so nicht beantworten, da ich keinen Bezug von der Potiverstellung zu deinem Wasserstrahl bzw. was du damit messen möchjtest herstellen kann ...

Gruß
Larry
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Larry ....

Also es handelt sich um einen Wasserstrahlantrieb für ein Schiff.
Im Schiff befindet sich eine große Pumpe die von einem Diesel Motor angetrieben wird.

Mittels zwei drehbaren Schubdüsen die sich vorn und achtern unter Wasser befinden, kann ein Wasserstrahl in
jede beliebige richtung ausgestoßen werden. Das hilft beim an und ablegen, kann aber
später auch dazu genutzt werden das Schiff auf See auf einer konstanten Position zu halten.

An jeder drehbaren Schubdüse hängt ein Potenziometer.
Mit dem Messwert aus dem Poti mochte ich eine Anzeige realisieren, mit der sich im Steuerhaus
anzeigen lässt in welche Richtung die Schubdüse zeigt.
Desweiteren benötige ich den Messwert um einen soll/ist abgleich zu machen da ich als
Eingang auch den dazugehörigen Fahrhebel habe und die Düse steuerun muss.

ok der anschluss des Potenziometers ist mir jetzt klar.
was mache ich jetzt mit den beiden zueinander verschobenen Signalen aus dem Poti ?
Ich will ja in einer Variable später 180° stehen haben wenn die Düse nach hinten zeigt ......

Danke erstmal für die Antwort !


gruß,
Mirko
 
Naja ... das ist jetzt ein bißchen Rechnerei.
Nehmen wir einmal an, dass du dein Poti so ausgerichtet hast, das es bei in Fahrtrichtung nach vorn 0° entspricht also auch auf dem Sinus-Out 0V ausspukt dann hättest du auf dem Cosinus-Out dann 10V. Bei 180° hättest du auch auf dem Sinus-Out 0V ,hättest aber auf dem Cosinus-Out dann -10V. Alle anderen Werte entsprechend. Du mußt halt nur nicht mehr das Dreieck bilden sondern dein Ausgangswert entspricht (normiert) dann dem Winkel-Sinus bzw. -Cosinus (also rückrechnen) ...
Du nimmst also die eine Spur für die Unterscheidung Vorne-Hinten und die andere für Steuerbord-Backbord (links-rechts).

Am Besten wird es sein, du testest das erstmal auf dem Tisch aus ...

Gruß
Larry
 
Nehmen wir einmal an, dass du dein Poti so ausgerichtet hast, das es bei in Fahrtrichtung nach vorn 0° entspricht also auch auf dem Sinus-Out 0V ausspukt dann hättest du auf dem Cosinus-Out dann 10V. Bei 180° hättest du auch auf dem Sinus-Out 0V ,hättest aber auf dem Cosinus-Out dann -10V. Alle anderen Werte entsprechend.
Nicht ganz. Ersetze 180° durch 90°, dann stimmts.
Gruß
Erich
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Du mußt halt nur nicht mehr das Dreieck bilden sondern dein Ausgangswert entspricht (normiert) dann dem Winkel-Sinus bzw. -Cosinus (also rückrechnen) …
Am Besten wird es sein, du testest das erstmal auf dem Tisch aus ...
??? Klingt kompliziert.
Die WertePaare (für x mal Cosinus und x mal Sinus, wobei x=10 bei ±10V) einfach nehmen und nicht weiter normieren, denn jetzt geht es mit dem Arctan des Quotienten Sin/Cos weiter und das ist genug der Normierung. Wie man ahnt, wird es schwierig bei Cos=0, aber in einigen ProgrammierSprachen gibt es die Arctan-Funktion mit 2 Argumenten und da muss man nicht vorab den Quotienten ausrechnen (ansonsten auf Arccot ausweichen).
Das Ergebnis noch mit 180 multiplizieren und durch Pi dividieren, um von BogenMass auf Grad zu kommen.
Schliesslich noch Wert MOD 360 berechnen.
Auf dem Tisch testen ist nicht übel (die "wässrige Lösung"?) - mit Excel gefällt mir besser.
Gruss, Heinileini

Die Spalten C bis H "simulieren" das Poti und in Spalten M bis O wird aus den "EingangsSignalen" schrittweise der Winkel berechnet:
 

Anhänge

  • SinCos2.jpg
    SinCos2.jpg
    165,1 KB · Aufrufe: 48
Zuletzt bearbeitet:
Moin moin,

Besten dank für die für die detailierten Antworten !
Ich werde das die tage mal ausprobieren !

Durch die Tabelle wurde mir einiges klar !!!

Schönen Sonntag noch
 
Hallo nochmal,

ich weiß es ist schon etwas her.....
Aber meistens hat man selbst oft den geringsten einfluss darauf wan man was macht.

Ich bin endlich weider bei meinem Projekt mit der Wasserstrahlanlage.

Wenn ich mir die Tabelle von Heinileini anschaue, dann ist das auch genau identisch mit den Werten die ich an meinen SPS Eingängen anliegen habe.
Leider schaffe ich es nicht richtig eine Formel zu bauen die mir ein Ergebnis als Bogenmaß (RAD) ausspuckt.

Habs jetzt schon zwei Tage versucht aber es gelingt mir einfach nicht :? ....


Aus verzweiflung habe ich mir das Poti mal mit ST anweisungen in vier Quadranten eingeteilt.
Dann jewals das Signal Signal genommen das eine steigende flanke (bei rechtsdrehung) aufweist und dann in
90° umgerechnet ... dann für die Quadranten 4,3,2 immer 90° drauf gerechnet.

Das funktioniert zwar ..... aber das Signal aus dem Poti ist ja nicht Linear ....
Also habe ich pro 90° einen Messfehler der dann bei 45° sein maximum erreicht und dann wieder abfällt :cry:

Es wäre schön wenn mir jemand einen Tipp dazu geben könnte.


grüße ...
Mirko
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Das funktioniert zwar ..... aber das Signal aus dem Poti ist ja nicht Linear ....
Also habe ich pro 90° einen Messfehler der dann bei 45° sein maximum erreicht und dann wieder abfällt :cry:
Zeig uns mal Deine Tabelle! Welche Spannung an welchem Poti (Schleifer) bei welcher WinkelStellung?
 
Zuletzt bearbeitet:
Hi ,


So wie ich die SPS das im moment rechnen lass kommt da immer bei 45° ein ziemlich großer Messfehler raus...
Bei 0°, 90°, 180°, 270° ist das ziemlich genau.

... der codeblock der nu den Winkel rechnen soll :

Code:
CASE jump OF

1:
x := 90 / u_ref_pos_int ;        (*90° geteilt durch 10*) (* u_ref_int = 10V*)
y := cos_signal_int * x ;


2:
x := 90 / u_ref_neg_int ;        (*90° geteilt durch 10*) (* u_ref_int = 10V*)
y := sin_signal_int * x +90 ;


3:
x := 90 / u_ref_neg_int ;        (*90° geteilt durch 10*) (* u_ref_int = 10V*)
y := cos_signal_int * x +180 ;


4:
x := 90 / u_ref_pos_int ;        (*90° geteilt durch 10*) (* u_ref_int = 10V*)
y := sin_signal_int * x + 270 ;






END_CASE


degree360 := REAL_TO_WORD (y);


Variable "jump" bestimmt in welchen Quadranten ich mich befinde ...






Tabelle mit Messwerten :

WinkelSignal sinSignal cos
+10V0V



45°+6,8V+7,0V



90°0V9,77V



135°-6,88V6,97V



180°-9,75V0V



225°-6,8V-7,17V



270°0V-9,75V



315°7,12V-6,81V



360°+10V0V



Gruß,
Mirko
 
Wie Dir Heinileini schon schrieb, muss Du den ArcusTangens des Quotienten der beiden Signale berechnen. Daraus erhälst Du direkt den Winkel im Bodenmaß, den Du dann, falls erforderlich, ins Gradmaß umrechnen kannst.
Aber Achtung: Es gibt Poti-Stellungen, da wird der Nenner Null. Diesen Fall musst Du abfangen und eine Sonderbehandlung programmieren.
Gruß
Erich
 
... mich würde hier eher interessieren, wie du aus deinem Analog-Eingang den Winkelwert machst ...
Poste das doch mal denn ich vermute, dass an dieser Stelle der Fehler liegt ...

Gruß
Larry
 
Zuviel Werbung?
-> Hier kostenlos registrieren
@Larry

in dem code den ich gepostet habe ist alles drinn ...

Meine Brugruppe liefert ja +/- 32767
Das rechne ich um in +/- 0..10 um und mach dann weiter ...

Ein viertel des gesamt Drehwinkels sind 360/4 = 90

Dann nochmal Variable x = 90° / 10 (*10V = 90°*) (*Wenn das Poti linear wäre*)
dann Variable y = gemessenes Signal * x

Und je nachdem ob ich mich über 90 / 180 / 270 befinde nochmal 90 / 180 / 270 drauf rechnen ....

Wie gesagt das war meine Lösung aus verzweiflung !
Das würde ich ja gern verbessern
 
ATAN2 bzw. ARCTAN2 "zu Fuss" mit Ergebnis in Grad:
Code:
[LEFT][FONT=courier new][COLOR=#222222]// alle Variablen REAL
[/COLOR]
[COLOR=#222222]// PI := 4.0 * ARCTAN(1.0) ; // falls Wert für PI nicht bereits verfügbar

[/COLOR][/FONT][/LEFT]
IF sin_skal_real < 0.0 THEN xtmp1 := 270.0 ; ELSE xtmp1 := 90.0 ; END_IF ;
IF cos_skal_real < 0.0 THEN xtmp2 := 180.0 ; ELSE xtmp2 := 360.0 ; END_IF ;
IF ABS(sin_skal_real) > ABS(cos_skal_real) THEN
    deg := xtmp1 - ARCTAN(cos_skal_real / sin_skal_real) / PI * 180.0 ;
ELSE
    deg := xtmp2 + ARCTAN(sin_skal_real / cos_skal_real) / PI * 180.0 ;
    IF deg > 360.0 THEN deg := deg - 360.0 ;
END_IF;
 
Zuletzt bearbeitet:
@TE:
Dann habe ich (denke ich) deinen Fehler ...
Dein Poti liefert dir keinen Winkelwert sondern einen Sinus bzw. Cosinus. Das heißt dann auch, dass u den Wert nicht auf 360 Grad normieren kannst sondern auf 2*Pi und den dann mit ArcSin bzw. ArcCos zu einem Winkelwert machen. Das müßte m.E. dann ein anderes Ergebnis bringen - vielleicht ein plausibleres ...

Gruß
Larry
 
Zuviel Werbung?
-> Hier kostenlos registrieren
moin ...

Das Thema ist gelöst !
Danke an alle die geholfen haben !

Der Post #16 von Heinileini hat zum Erfolg geführt ! :grin:
... nicht nur in der Steuerung, sondern auch zum Verständnis :ROFLMAO:

gruß an alle
Mirko
 
. . . und den dann mit ArcSin bzw. ArcCos zu einem Winkelwert machen.
Ja, aber eben doch nicht. Es wird nicht jeder der beiden Werte für sich allein betrachtet/ausgewertet und dann beide umgerechnete Zwischenwerte zusammengefasst und weiter umgerechnet, sondern immer direkt das Verhältnis der beiden Eingangswerte (ArcTan).
Was das für einen Unterschied macht? Die BetriebsSpannung der Potis muss man nicht kennen, denn in dem Verhältnis wird sie herausgekürzt!
D.h. man muss keinen irren Aufwand treiben, um die Spannung zu stabilisieren und man muss sie auch nicht über einen dritten (und evtl. vierten) AnalogEingang messen, um das Sinus- und das Cosinus-Signal entsprechend normieren zu können.

Gruss, Heinileini
 
Zurück
Oben