Positionieren genau 360 Grad?

leoleo

Level-1
Beiträge
85
Reaktionspunkte
3
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen,

Ich habe eine Achse (0-360 Grad) und diese Achse macht immer nur eine Umdrehung (Weg=360 Grad). Die Achse startet bei 0 Grad. Wie kann ich am besten positionieren?
Move Relative ist nicht gut weil nach 5000 Umdrehungen steht die Achse nicht exakt auf 0. Soll ich eine relative Bewegung machen und danach eine absolute?

Gruss,

Leo
 
Kommt drauf an was du für ein System hast. Meistens kann man wählen ob die relative Zielangabe sich auf die Istposition oder die letzte Zielposition bezieht. Wenn du von Istposition wählst bekommst du zwangsweise ein Summenfehler. Bei der Positionierung auf das letzte Ziel hast du den Effekt nicht.

Wenn dein System das nicht kann gibt es einen (sehr großen Umweg) mit dem du sowas ohne Versatz machen kannst.
Der Fehler kommt aufgrund der Lageregelung des Antriebs, externe Kräfte usw. zusammen. Diese Dinge sind auf physikalische Achsen begrenzt. Nutzt du eine virtuelle Masterachse, koppelst die physikalische Achse als Slave ein mit einem MC_GearIn Faktor 1:1 so fährt die Achse dem Master hinterher. Die Masterachse ist frei von diesen Fehlern und du kannst beliebig weit mit relativen Bewegungen fahren.

Alternativ ist die Lösung von dir: erst relativ dann absolut auch keine ganz schlechte. Es gibt halt (vielleicht mittlerweile schon?!) keinen Baustein der dieses "fahre genau immer eine Umdrehung" umsetzt.
 
Ähm, Nachfrage eines "Nicht-Experten" aus Neugier:

War der Versatz nicht ein mathematisches Problem, wenn die Geberteilung am Antrieb nicht ganzzahlig in die Übersetzungsverhältnisse bis zum Abtrieb passt?
 
Wenn Du eh' nur ganze Umdrehungen fährst, kannst Du nicht einen Positionssensor oder Referenzsensor an der Achse anbauen?

Harald
 
Hallo, es gibt Bausteine für eine Umdrehung MC_MoveModulo:
http://infosys.beckhoff.com/content/1031/tcplclib_tc2_mc2/18014398579581323.html?id=17012
Dabei sind allerdings die Sonderfälle zu beachten. Bei Modulofaktor = 360° ist die Position 0° = 360°.
Steht die Achse bei 359,999° und erhält den Auftrag Fahre Modulo 360° fährt sie 0,0001°.
Steht die Achse bei 0,0001 Grad, dann fährt sie eine Umdrehung. Da nicht feststeht, an an welcher Position die Achse den Auftrag erhält,
ist die Umdrehung oder nicht reiner Zufall.
Ich meine, es funktioniert immer, wenn der Modulofaktor auf 720° eingestellt ist und dann immer abwechselt auf 360° und 720° gefahren wird.
Dann macht die Achse immer eine Umdrehung.
Wenn sich hier ein Positionierfehler aufsummiert, stimmt die Skalierung, bzw. die Skalierung passt nicht zu den Schrittweiten des Schrittmotors
Gruß Paulchen
 
Das Thema ob das mit "krummen" Getrieben auch funktioniert hatten wir doch schon mal im Beitrag:http://www.sps-forum.de/codesys-und-iec61131/81081-codesys-softmotion-mit-moduloachae.html
Ich unterstelle Beckhoff mal, dass die das genauso wie Codesys im Griff haben (weiß ich nicht sicher).

An deiner Stelle würde ich eine relative Bewegung machen damit du weg von der Nulllage kommst. Dann die Position abfragen und bei z.B. > 20° oder was auch immer dann eine Absolutpositionierung auf Pos 0° starten. Also das was du als Lösung auch vor hattest.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Da kommen wir der sache etwas naeher. "ohne encoder" - ohne feedback der position. Der motor verschluckt einige pulse( massetraegheit beim beschleunigen und abbremsen, irgendetwas schwergaengiges) und der controler denkt er waere an der richtigen position. Dann kommt die diferenz nach 5000 umdrehungen zustande. Die eingachste geschichte waere dann ein sensor, falls der motor jedesmal nur 360 grad fahren soll. Der controler referenziert die position jedesmal wenn er ein signal vom sensor bekommt. Ohne feedback ist man bei so einer anwendung auf gut glueck gestellt. Bei deiner anwendung kommst du ohne feedback oder neureferenzieren ( neueinstellen des nullpunktes bei jeder umdrehung)nicht herum. Eventuell die beschleunigungs und bremsrampe bringen etwas an verbesserung. Da nutzt es nichts mit uebersetzungsverhaeltnissen (gear) oder absolut/relativpositioniern rumzuspielen.
 
Zuletzt bearbeitet:
Wenn der Antrieb Schritte verliert, dann ist er falsch ausgelegt. Diesen Fehler würde ich nicht mit einem Schalter, der die Umdrehungen zählt, überdecken. Das geht auf Dauer schief. Ein korrekt ausgelegten Schrittmotor kann natürlich ohne Feedback betrieben werden. Wie oben gesagt, wird der Motor allerdings häufig für den Stillstand ausgelegt und das Beschleunigen / Bremsen vergessen.
 
Zurück
Oben