Motion Control - Kontur folgen (Analogwert)

Nic

Level-2
Beiträge
6
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen,

ich arbeite mich aktuell interessehalber ein wenig in die Thematik "Motion Control" ein.
Als Hardware steht mir ein Sinamics S210, eine 1510SP F-1 und ein kleines, 350 mm Linearmodul zur Verfügung.

Die grundlegenden Sachen funktionieren soweit (Referenzieren, absolutes Positionieren, relatives Positionieren, ...).

Nun würde ich gerne die aktuelle Position "dynamisch" an einen Analogwert (Distanzsensor o.Ä.) koppeln.
Das Problem ist jedoch, dass der McMoveAbsolut theoretisch nur auf die steigende Flanke reagiert.

Wäre der richtige Weg, den aktuellen Wert zu vergleichen und in bestimmten Zeitabständen einen neuen Positioniervorgang zu starten oder gibt es hier "elegantere" Lösungen?

Vielen Dank schon mal!

Gruß Nic
 
Zum einen ja das ginge, kann halt ruckeln/brummen da sich keine gleichmäßige Geschwindigkeit einstellen wird... (Könnte man mit entsprechendem Aufwand sicherlich reduzieren)

Alternativer Ansatz: Den Analogwert auf ein "TO_ExternerGeber" legen und diesen als Leitwert für eine Synchronachse verwenden.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich würde dafür gar kein Technologie-Objekt hernehmen.
Wenn dein Analogwert positiv wie negativ werden kann kann kannst du darüber die Achse quasi tippend steuern. Es ist hier natürlich ein Frage, wie du die Abtastung der Kontur konkret machst.
Wenn deine Abtastung statisch ist (also irgendwo fest hingebaut) dann müßtest du deinen Analogwert erst verrechnen, also quasi auf Veränderung gegenüber dem letzten Wert überprüfen um damit die Fahrtrichtung zu ermitteln ...
 
Ich würde dafür gar kein Technologie-Objekt hernehmen.
Wenn dein Analogwert positiv wie negativ werden kann kann kannst du darüber die Achse quasi tippend steuern. Es ist hier natürlich ein Frage, wie du die Abtastung der Kontur konkret machst.
Wenn deine Abtastung statisch ist (also irgendwo fest hingebaut) dann müßtest du deinen Analogwert erst verrechnen, also quasi auf Veränderung gegenüber dem letzten Wert überprüfen um damit die Fahrtrichtung zu ermitteln ...

Was genau meinst du mit „tippend“ ohne TO?

Grundsätzlich habe ich zwei Konzepte im Kopf, die ich gerne testen würde bzw. bei denen mich interessiert, ob sie technisch sinnvoll umsetzbar sind und wie..

1. Positionsnachführung anhand des Sensorsignals
Das Linearmodul verfügt über einen Hub von 350 mm. Nehmen wir an, dieser Bereich entspricht einem Sensorsignal von 4 V bis 8 V.
4 V → 0 mm // 8 V → 350 mm
Wird ein Objekt so positioniert, dass der Sensor beispielsweise 6 V misst, soll der Schlitten automatisch auf die entsprechende Position (in diesem Fall 175 mm) fahren. Das soll nicht in zeitlichen Intervallen, sondern möglichst kontinuierlich erfolgen.

2. Regelung auf einen gespeicherten Referenzabstand
Dabei wird ein Referenzabstand zwischen Sensor und Objekt erfasst und gespeichert. Sobald das Objekt verschoben wird (positiv oder negativ), soll das System den ursprünglichen Referenzabstand automatisch wieder herstellen.
 
Was genau meinst du mit „tippend“ ohne TO?
Jeder Servo-TRegler kann Tipp-Betrieb. Darüber würde ich es machen und nicht über Positionierung.
Die Geschwindigkeit für das Verfahren könntest du dann entsprechend der Gradienten-Änderung festlegen - also dem Unterschied der Entfernung relativ zum letzten gemessenen (und abgespeicherten) Distanzwert.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hab's in vereinfachter Form ausprobiert. Funktioniert erstaunlich gut.
Die Werte des Abstandssensor sind nicht so das Wahre. Hier musste ich noch Grenzen definieren, sonst ist der Regler nicht mehr fertig geworden.

Vielen Dank!

Mir ist allerdings grad noch eine Kleinigkeit bei der absoluten Positionierung aufgefallen.
Bei 25 mm/s passt alles. Bei 50 mm/s hat die Positionierüberwachung ausgelöst, weil die Toleranzzeit scheinbar zu niedrig war.

Blöde Frage - Aber warum gibt es eine Differenz zwischen der "Position" und "ActualPosition" aus dem TO?
Bei 50 mm/s hängt die aktuelle Position > 2 s hinterher. Den Unterschied sieht man auch, wenn man die "reale" Achse mit der simulierten Ansicht auf dem KTP vergleicht oder dem angehängten Trace..

Kann man hier noch was optimieren oder ist das normal?
 

Anhänge

  • 25mm-s.jpg
    25mm-s.jpg
    92,4 KB · Aufrufe: 15
  • 50mm-s.jpg
    50mm-s.jpg
    94,9 KB · Aufrufe: 16
Zuviel Werbung?
-> Hier kostenlos registrieren
Die Dynamikgrenzen sind eig. um ein Vielfaches höher.. Ich sehe auch gerade, dass nur auf max. 37.x mm/s beschleunigt wird. Ab da geht es nicht mehr weiter. Interessanterweise geht über die "Steuertafel" auch nicht mehr als 37.x mm/s..

Wo gibt es denn sonst noch Grenzen zum Einstellen?
 

Anhänge

  • Beobachtungstabelle.jpg
    Beobachtungstabelle.jpg
    13,4 KB · Aufrufe: 9
  • Grenzwerte.jpg
    Grenzwerte.jpg
    89,3 KB · Aufrufe: 9
Ich habe das Starter-Kit 6SL5990-0AE30-0AA0. Nenndrehzahl (1FK2) = 3.000 1/min.
Steigung Linearmodul = 3 mm.

Der Motor ist über eine Klauenkupplung direkt mit der Trapezgewindespindeln verbunden.

-> Theoretische mechanische Maximalgeschwindigkeit des Schlittens -> 150 mm/s
(Nmax auf dem Typenschild des Servomotors gibt sogar 7.300 1/min an)

igus gibt zwar einen maximal möglichen Vorschub von 1,5 m/min bzw. 25 mm/s an.
Die Spindel "kämpft" aber erst ab ca. 100 mm/s (weiß ich aus früheren Spielereien :D)
 

Anhänge

  • Aufbau.jpg
    Aufbau.jpg
    116,4 KB · Aufrufe: 16
  • Telegramm.jpg
    Telegramm.jpg
    184,7 KB · Aufrufe: 13
Zuletzt bearbeitet:
Zurück
Oben