Liste der Anhänge anzeigen (Anzahl: 1)
moin moin,
anbei mal eine kurze Übersicht zu meiner Fräsensteuerung.
Als Erläuterung:
Linear/Cirlce errechnen den nächsten Schritt und geben den an FiFo weiter, ist der Platz0 nicht im Fifo frei wird gewartet.
Ausgelesen wird Platz 19, der Rest durchgeschoben, das Byt wird an die Motore gesendet. Mit dem Zeiger auf den Fifo wird aus der Sin^2-Tabelle der Zeitwert geholt und mit der Wurzel aus der Summe der angesteuerten Motore wird der InterrupTimer geladen.
Der Timerinterrupt löst dann die nächste Übertragung aus.
Ist Linie/Circle mit der Berechnung fertig wird in der FiFo-Steuerung ein Bit gesetzt und der Fifo abwärtszählen ausgegeben. Dabei wird die Sin^2 Tabelle rückwärts (zu langsameren Zeitwerten) ausgelesen und somit der Bremsvorgang eingeleitet.
Mal ganz in Ruhe durchdenken, es funktioniert jedenfalls ganz gut bei meiner Fräse.
Mit Gruß
Peter
Liste der Anhänge anzeigen (Anzahl: 2)
Hallo Peter1060,
anbei zwei Auszüge aus dem CAD von dem Delta Roboter. In der oberen Hauptplatte sind 3 Motoren im Winkel von 120 angebracht. Diese 3 Motoren befinden sich in einer gemeinsamen Ebene. An jedem der Motoren ist ein Ausleger angebracht, sowie ein Parallegestänge. Dieses läuft unten beim Endeffektor zusammen. Über eine rotatorische Bewegung kann der Endeffektor in Richtung der Motorachse verschoben werden. Die Verbindungen von Endeffektor und Ausleger sind Kugelgelenke, also kann sich bei den beiden stillstehenden Achsen das Gestänge passiv bewegen. Der Endeffektor macht somit eine Kreisbahn abhängig vom Radius des Gestänges.
Der Effekt des Parallegestänges ist, das egal wie die 3 rotatorischen Achsen zueinander stehen, der Endeffektor sich immer parallel zur Oberfläche befindet. Somit ist eine Bewegung in x, y, und z Richtung möglich.
Wenn ich nun den Endeffektor z.B. in die x-Richtung bewege, dann müssen alle 3 Achsen verfahren werden.
Was man nun einfach benötigt ist eine Rückwärtstransformation von x,y und z auf die 3 Achswinkel. Dies ist soweit kein Problem, diese Aufgabe habe ich schon bewältigt.
Vorteile von solchen Robotern sind wegen der parallelen Kinematik die Genauigkeit, und vor allen wegen den geringen bewegen Massen die Dynamik. Gerade im Industriesektor werden diese Delta-Roboter (Flexpicker) für höchste Zykluszeiten von Pick-und Place-Aufgaben eingesetzt. Da sind 4 Zyklen pro Sekunde bei einem verfahrweg von 500 mm keine Seltenheit.
Nachteile sind auf Grund des Aufbaus der eingeschränkte Arbeitsraum und die geringen Traglasten. Somit können natürlich auch externe Prozesskräfte z.B. beim Fräsen schlecht aufgenommen werden.
Ich habe mit einem Versuchsroboter angefangen, und sowohl die Rückwärtstransformation, als auch Linearbewegungen, Kreisfahren, PTP-Bewegungen softwartechnisch umgesetzt. D.h. ich habe bereits eine selbstgeschriebene funktionierende Software für die Ansteuerung solch eines Roboters.
Jetzt kommt das Aber:
Der Versuchsroboter war mit Modellbauservos aufgebaut. Neben der geringen Genauigkeit, der fehlenden Rückmeldung des aktuellen Winkels war hier vor allen eines Vorteilhaft, der Positionsregler. Hier habe ich mich nicht um Beschleunigungen, Schrittverluste, ect. kümmer müssen, sondern nur die Sollwinkelposition der Achse berechnet und dem Lageregler übergeben. Somit war eingentlich nur die Zeit undefiniert, wann der Endeffektor sein Ziel erreicht hat. Testweise wurde hier einfach mit Wartezeiten gearbeitet.
Somit war auch eine Kreisbahn kein Problem, denn die Bahn wurde einfach ein viele kleine Stücke zerlegt, über die Rückwärtstransformation der Sollwinkel der Achsen berechnet, und der Lageregler laufend mit einem neuen Sollwert aktualisiert, bis die Winkeländerung so groß war, das die Auflösung des Potis ausreichend war, automatisch eine Regelung der Differenz durchzuführen.