Zuviel Werbung? - > Hier kostenlos beim SPS-Forum registrieren

Page 1 of 2 12 LastLast
Results 1 to 10 of 19

Thread: Messwertauswertung "Twin wiper" Potenziometer (Doppelschleifer)

  1. #1
    Join Date
    03.05.2019
    Location
    Cuxhaven
    Posts
    8
    Danke
    2
    Erhielt 0 Danke für 0 Beiträge

    Default


    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
    Reply With Quote Reply With Quote Answered: Messwertauswertung "Twin wiper" Potenziometer (Doppelschleifer)  

  2. "ATAN2 bzw. ARCTAN2 "zu Fuss" mit Ergebnis in Grad:
    Code:
    // alle Variablen REAL // PI := 4.0 * ARCTAN(1.0) ; // falls Wert für PI nicht bereits verfügbar
    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;
    "


  3. #2
    Join Date
    22.03.2007
    Location
    Detmold (im Lipperland)
    Posts
    12,254
    Danke
    411
    Erhielt 2,515 Danke für 2,093 Beiträge

    Default

    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

  4. #3
    Schneider88 is offline Neuer Benutzer
    Themenstarter
    Join Date
    03.05.2019
    Location
    Cuxhaven
    Posts
    8
    Danke
    2
    Erhielt 0 Danke für 0 Beiträge

    Default

    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

  5. #4
    Join Date
    22.03.2007
    Location
    Detmold (im Lipperland)
    Posts
    12,254
    Danke
    411
    Erhielt 2,515 Danke für 2,093 Beiträge

    Default

    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

  6. #5
    Join Date
    23.10.2009
    Posts
    485
    Danke
    81
    Erhielt 136 Danke für 109 Beiträge

    Default

    Quote Originally Posted by Larry Laffer View Post
    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

  7. #6
    Join Date
    25.06.2017
    Location
    Oerlinghausen
    Posts
    1,683
    Danke
    142
    Erhielt 311 Danke für 255 Beiträge

    Default

    Quote Originally Posted by Larry Laffer View Post
    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:
    Attached Images Attached Images
    Last edited by Heinileini; 05.05.2019 at 14:50. Reason: Bild und Text überarbeitet

  8. Folgender Benutzer sagt Danke zu Heinileini für den nützlichen Beitrag:

    DeltaMikeAir (05.05.2019)

  9. #7
    Schneider88 is offline Neuer Benutzer
    Themenstarter
    Join Date
    03.05.2019
    Location
    Cuxhaven
    Posts
    8
    Danke
    2
    Erhielt 0 Danke für 0 Beiträge

    Default

    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

  10. #8
    Schneider88 is offline Neuer Benutzer
    Themenstarter
    Join Date
    03.05.2019
    Location
    Cuxhaven
    Posts
    8
    Danke
    2
    Erhielt 0 Danke für 0 Beiträge

    Default

    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

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


    grüße ...
    Mirko

  11. #9
    Join Date
    25.06.2017
    Location
    Oerlinghausen
    Posts
    1,683
    Danke
    142
    Erhielt 311 Danke für 255 Beiträge

    Default

    Quote Originally Posted by Schneider88 View Post
    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
    Zeig uns mal Deine Tabelle! Welche Spannung an welchem Poti (Schleifer) bei welcher WinkelStellung?
    Last edited by Heinileini; 12.07.2019 at 14:11.

  12. #10
    Schneider88 is offline Neuer Benutzer
    Themenstarter
    Join Date
    03.05.2019
    Location
    Cuxhaven
    Posts
    8
    Danke
    2
    Erhielt 0 Danke für 0 Beiträge

    Default


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    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 :

    Winkel Signal sin Signal cos
    +10V 0V



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



    90° 0V 9,77V



    135° -6,88V 6,97V



    180° -9,75V 0V



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



    270° 0V -9,75V



    315° 7,12V -6,81V



    360° +10V 0V



    Gruß,
    Mirko

Similar Threads

  1. Replies: 13
    Last Post: 08.10.2018, 12:36
  2. Replies: 13
    Last Post: 29.08.2018, 14:05
  3. Replies: 5
    Last Post: 29.09.2016, 17:35
  4. Replies: 6
    Last Post: 16.03.2012, 18:20
  5. "Index Pulse", "Home Switch" und "Position Limit Switch"
    By senmeis in forum Antriebstechnik
    Replies: 3
    Last Post: 07.03.2011, 11:21

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •