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

Ergebnis 1 bis 9 von 9

Thema: Schrittmotor "Schritte" in millimeter umrechnen und zurück

  1. #1
    Registriert seit
    30.03.2009
    Beiträge
    22
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Moin moin,

    hab da ein kleines problem zur berechnung der istposition vom Schrittmotor
    Zur verfügung steht mir ein DINT mit Schritten des Motors.

    Also ein DINT zur eingabe der Schritte und ein DINT zur ausgabe der Schritte (Aktuelle Schritte)

    Anlagendaten:

    Schrittmotor im halbschrittbetrieb 0,9° = 400 Schritte / Umdrehung
    Vorschubkonstante = 70mm / Umdrehung

    Wie genau kann man das nun in der SPS umrechnen?

    Ich möchte gerne den Aktuellen fahrweg anzeigen sowie den schrittmotor eine vorgabe in mm geben die dann halt in schritte umgerechnet werden muss.

    Hab da grad irgendwie grad eine blockade

    Vielen Dank
    Zitieren Zitieren Schrittmotor "Schritte" in millimeter umrechnen und zurück  

  2. #2
    Registriert seit
    17.06.2010
    Ort
    nähe Memmingen
    Beiträge
    610
    Danke
    93
    Erhielt 116 Danke für 100 Beiträge

    Standard

    intern (sps) würde ich mit den schritten arbeiten um die max. genauigkeit zu haben. zur anzeige/eingabe würde ich dann die schritte normieren zu den millimetern.
    1 schritt entspricht 0,175mm.

    z.b. sps 0-10000 = anzeige 0-1750mm

  3. #3
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.727
    Danke
    398
    Erhielt 2.404 Danke für 2.002 Beiträge

    Standard

    Ähhh ...

    Nach deiner Darstellung entsprechen also 400 Schritte = 1 Umdrehung und 1 Umdrehung = 70 mm - demzufolge wäre dann 1 Schritt = 70 / 400 [mm] = 0,175 mm

    Gruß
    Larry

  4. #4
    ph4nt0m ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    30.03.2009
    Beiträge
    22
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Zitat Zitat von Larry Laffer Beitrag anzeigen
    Ähhh ...

    Nach deiner Darstellung entsprechen also 400 Schritte = 1 Umdrehung und 1 Umdrehung = 70 mm - demzufolge wäre dann 1 Schritt = 70 / 400 [mm] = 0,175 mm

    Gruß
    Larry

    Und genau da besteht mein Problem mit der rückrechnung in Schritte

    also wenn ich ein mm wert angebe beispiel " 1mm " oder " 1,5 mm " kommt da irgend nen komma wert raus ich muss aber immer gerade schritte haben

  5. #5
    Registriert seit
    17.06.2010
    Ort
    nähe Memmingen
    Beiträge
    610
    Danke
    93
    Erhielt 116 Danke für 100 Beiträge

    Standard

    s. meine antwort oben

    1mm läßt sich auf diese art nicht exakt steuern
    annährerung: 6 schritte => 1,05mm

    d.h. die eingabe 1mm wird in der sps zu 6 schritte was wiederum zur
    anzeige 1,05mm wird

    sollte mehr genauigkeit bzw. einfachere umrechnung notwendig sein dann empfehle ich ein anderes getriebe.
    z.b. 1:7 untersetzt => 1 umdrehung (400 schritte) = 10mm
    damit läßt sich dann auch 1,000 bzw 1,500 mm in eine gerade schrittanzahl auflösen

  6. #6
    Registriert seit
    25.05.2009
    Ort
    Raum Zürich CH
    Beiträge
    85
    Danke
    15
    Erhielt 15 Danke für 15 Beiträge

    Standard

    Wäre das eine Lösung:

    Code:
    //IstSchritte -> Istposition [mm]
          L     #IstwertSchritt             // als DINT
          DTR   
          L     4.000000e+002               // 400 Inc/Umdr
          /R    
          L     7.000000e+001               // 70 mm/Umdr
          *R    
          T     #Istposition                // Istposition in mm (REAL)
    
    
    //Sollposition [mm] -> SollSchritte
          L     #Sollposition               // als REAL
          L     7.000000e+001               // 70 mm/Umdr
          /R    
          L     4.000000e+002               // 400 Inc/Umdr
          *R    
          RND   
          T     #SollwertSchritt            // Sollposition in Inc (DINT)
    Gruss SW-Mech

  7. #7
    Registriert seit
    17.05.2010
    Ort
    Paderborn
    Beiträge
    824
    Danke
    84
    Erhielt 125 Danke für 94 Beiträge

    Pfeil

    Hi,

    ich habe oft ähnliche Anwendungsfälle und arbeite grundsätzlich im REAL-Format, so geht nichts verloren und ich bin super genau, vor allem bei unendlichen Brüchen. Nach allen Berechnungen runde ich ich wieder ins DINT.

    Früher hatte ich Steuerungen (OMRON CQM1), die konnten nur DINT, da habe ich, der Genauigkeit wegen mit 100 oder 1000 multipliziert (die Kommastelle verschoben) und erst am Ende alller Berechnungen das Komma wieder zurückgeschoben (Dividiert durch 100 oder 1000 oder ...).

    Grüße
    Michael
    Grüße
    Michael

    1001101110110100... Das ist meine Welt

  8. #8
    ph4nt0m ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    30.03.2009
    Beiträge
    22
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Zitat Zitat von SW-Mech Beitrag anzeigen
    Wäre das eine Lösung:

    Code:
    //IstSchritte -> Istposition [mm]
          L     #IstwertSchritt             // als DINT
          DTR   
          L     4.000000e+002               // 400 Inc/Umdr
          /R    
          L     7.000000e+001               // 70 mm/Umdr
          *R    
          T     #Istposition                // Istposition in mm (REAL)
    
    
    //Sollposition [mm] -> SollSchritte
          L     #Sollposition               // als REAL
          L     7.000000e+001               // 70 mm/Umdr
          /R    
          L     4.000000e+002               // 400 Inc/Umdr
          *R    
          RND   
          T     #SollwertSchritt            // Sollposition in Inc (DINT)
    Gruss SW-Mech

    Funktioniert Perfekt Vielen Vielen Dank !

    Werd mich wohl dann um eine andere übersetzung kümmern um das noch ein bisschen genauer zu bekommen

    Solche funktionen sollte man hier irgendwo in ein Kompendium zusammenfassen! Sehr gute Arbeit

  9. #9
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.727
    Danke
    398
    Erhielt 2.404 Danke für 2.002 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Ähhh ... sorry ...

    Schön wenn es jetzt perfekt funktioniert ... allerdings bewirkt der vorgeschlagene Wert keine präziseren Ergebnisse als wenn man gleich mit den aus den Einzelwerten resultierenden Faktor rechnet.
    70 / 400 ergibt immer den gleichen 0,175 - ergo kann man das auch gleich als Konstante verwenden. Der Unterschied ist nur, dass die CPU diese Konstante in jedem Zyklus wieder neu berechnet.

    Das Einzige, was etwas bewirkt ist das strikte Vermeiden von Type-Wechseln - also nach Möglichkeit bei einem Variablentyp bleiben und es mit dem bis zu Ende durchziehen. In diesem Fall wäre sicherlich REAL der Type der Wahl ...

    Eine höhere Genauigkeit erhält man hier (und auch allgemein) nur durch eine Erhöhung der Auflösung.

    Gruß
    Larry

Ähnliche Themen

  1. Antworten: 6
    Letzter Beitrag: 16.03.2012, 18:20
  2. Codesys IEC-Schritte "Textfeldlänge"
    Von Capizzi001 im Forum CODESYS und IEC61131
    Antworten: 7
    Letzter Beitrag: 20.07.2011, 08:33
  3. "Index Pulse", "Home Switch" und "Position Limit Switch"
    Von senmeis im Forum Antriebstechnik
    Antworten: 3
    Letzter Beitrag: 07.03.2011, 11:21
  4. Gunda "Colibri" Schrittmotor über Profibus
    Von ph4nt0m im Forum Antriebstechnik
    Antworten: 4
    Letzter Beitrag: 10.05.2010, 22:08
  5. Antworten: 2
    Letzter Beitrag: 14.12.2007, 15:09

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •