AlexAtRobo
07.03.2011, 20:41
Hatte seit langem wieder das dringende Bedürftnis was zu basteln - in letzer Zeit bin ich aus persönlichen Gründen nicht wirklich dazu gekommen. Von den vielen, in Youtube zu bestaunenden Deltas in allen Varianten inspiriert, wollte ich auch so ein Ding. Da ich immer schon eilig unterwegs war - mußte alles an einem Wochenende geschehen. Am Samstag Vormittag gings zum befreundeten Modellbauhändler, Servos und Kugelgelenke kaufen. Dann zum Baumarkt Alu Profile kaufen. Und dann ab in die Werkstatt, dass ganze zusammenschustern. Als Trägerplatten habe ich alte Platinen zurechtgefräst - habe Zugang zu einem Fräsbohrplotter.
Das Ventil für den Staubsauger (Vakuumventil) habe ich mit der Drehbank gebaut. Erst mit 10mm vorgebohrt, dann mit 30mm aufgebohrt und anschließend noch ordentlich ausgedreht. Der Drehkolben passt mit etwas Spiel - ist aber kein Problem, der Sauger saugt viel mehr als benötigt. Ein bisschen Fremdluft schont ihn vor dem Hitzetot. Im Kolben sind 2 Bohrungen im Winkel von 90°.
Nachdem die Arme verklebt und verschraubt waren, gings an die Elektronik. Die besteht aus einem ATMega 8 und kann momentan bis zu 6 Servos steuern.
Die Platine ist einseitig ausgeführt - mit Drahtdrücken, da mir das durchkontaktieren in der Galvanik zu lange gedauert hätte.
Dann gings an die Firmware für den Mega 8 - war - sobald ich den Plan hatte, wie es gehen soll, auch kein großes Problem. Theoretisch kann jeder Servo in 7000 Teile geteilt - für meine Zwecke genau genug - meine 130N/cm Billigservos sind der eigentliche Ungenauigkeitsfaktor.
Zu guter letzt gings an die PC Software - die Verbindung erfolgt per RS 232. Dort war die größte Herausforderung die Winkel der einzelnen Servos zu berechnen um in einer Ebene verfahren zu können. Leider haben meine Mathe Kenntnisse nicht gereicht, um das ganze Formelsystem aufzulösen und sozusagen Rückwärts, also von Sollposition der Plattform auf die Servowinkel zu rechnen.
Mein Weg war daher vorwärts, in 8 Stufen. Ich nehme als erstes einen Winkel an, 45°. Dann berechne ich, wie lange der Arm zu meiner Platform sein müßte. z.B. 210mm. Da ich weiß, dass mein Arm 220mm ist, weiß ich anschließend, dass der Winkel noch zu klein ist. Also wird 22,5° (45/2) dazuaddiert und wieder gerechnet. Diesmal kommt z.B. 224mm raus. Jetzt weiß ich, dass der Winkel zu groß ist. Also wird wieder die Hälfte von 22,5° abgezogen. Nach 8 dieser Rechenschritte ist Ergebnis auf unter 0,1mm gesunken (Armlängenfehler), das reicht um die Postion anzufahren, so genau ist das ganze mechanisch sowieso nicht. Diese Berechnung muß man nun für alle 3 Servos machen und schon kann man loslegen.
Hab dann noch ein kleines Bewegungsmakro gespeichert, und mein Sohn hat in dem Video die Kontrolle übernommen ;-).
Hoffe euch gefällts, vielleicht schaffe ich mal etwas Doku nachzureichen.
Das Video findet ihr auf meiner Homepage.
http://www.schoeppl.info/de/elektronik/delta-roboter/delta-roboter.aspx
Das Ventil für den Staubsauger (Vakuumventil) habe ich mit der Drehbank gebaut. Erst mit 10mm vorgebohrt, dann mit 30mm aufgebohrt und anschließend noch ordentlich ausgedreht. Der Drehkolben passt mit etwas Spiel - ist aber kein Problem, der Sauger saugt viel mehr als benötigt. Ein bisschen Fremdluft schont ihn vor dem Hitzetot. Im Kolben sind 2 Bohrungen im Winkel von 90°.
Nachdem die Arme verklebt und verschraubt waren, gings an die Elektronik. Die besteht aus einem ATMega 8 und kann momentan bis zu 6 Servos steuern.
Die Platine ist einseitig ausgeführt - mit Drahtdrücken, da mir das durchkontaktieren in der Galvanik zu lange gedauert hätte.
Dann gings an die Firmware für den Mega 8 - war - sobald ich den Plan hatte, wie es gehen soll, auch kein großes Problem. Theoretisch kann jeder Servo in 7000 Teile geteilt - für meine Zwecke genau genug - meine 130N/cm Billigservos sind der eigentliche Ungenauigkeitsfaktor.
Zu guter letzt gings an die PC Software - die Verbindung erfolgt per RS 232. Dort war die größte Herausforderung die Winkel der einzelnen Servos zu berechnen um in einer Ebene verfahren zu können. Leider haben meine Mathe Kenntnisse nicht gereicht, um das ganze Formelsystem aufzulösen und sozusagen Rückwärts, also von Sollposition der Plattform auf die Servowinkel zu rechnen.
Mein Weg war daher vorwärts, in 8 Stufen. Ich nehme als erstes einen Winkel an, 45°. Dann berechne ich, wie lange der Arm zu meiner Platform sein müßte. z.B. 210mm. Da ich weiß, dass mein Arm 220mm ist, weiß ich anschließend, dass der Winkel noch zu klein ist. Also wird 22,5° (45/2) dazuaddiert und wieder gerechnet. Diesmal kommt z.B. 224mm raus. Jetzt weiß ich, dass der Winkel zu groß ist. Also wird wieder die Hälfte von 22,5° abgezogen. Nach 8 dieser Rechenschritte ist Ergebnis auf unter 0,1mm gesunken (Armlängenfehler), das reicht um die Postion anzufahren, so genau ist das ganze mechanisch sowieso nicht. Diese Berechnung muß man nun für alle 3 Servos machen und schon kann man loslegen.
Hab dann noch ein kleines Bewegungsmakro gespeichert, und mein Sohn hat in dem Video die Kontrolle übernommen ;-).
Hoffe euch gefällts, vielleicht schaffe ich mal etwas Doku nachzureichen.
Das Video findet ihr auf meiner Homepage.
http://www.schoeppl.info/de/elektronik/delta-roboter/delta-roboter.aspx