Monthly Archives: June 2012

Linear Delta Robot – Laser Cut Bowden Extruder Cold-End

The plan is to use the delta robot as a 3D printer (like makerbot,reprap, ect). To keep the inertia of the head low I’ve decided on using a Bowden extruder. The Bowden extruder works on almost the same principle as a bikes brake cable, the plastic filament to be melted is driven through a tube to the hot end where it is melted. This reduces the weight of the printing head as it moves the filament driving stepper motor away from the heated head.

The following shows a design I’ve been working on for the cold-end, which drives the plastic filament down the Bowden tube to the hot-end. The design is based around a Nema17 stepper motor, it also uses 626 bearings (because I have a bunch spare), a handful of 6mm bolts, and two springs (for tensioning purposes).

Bowden Cold End

Not shown in the above image are the springs used to tension the idler bearing carriage against the driven spindle.

The following shows a cut-away view exposing the driven spindle and idler bearing.

Bowden Extruder Cut-Away

Linear Delta Robot – First Parts!

The first batch of parts has arrived for the linear delta robot. I’ve chosen to base the electronics around an Arduino and some really neat A4988 stepper motor breakout boards from Pololu. Quite incredible that for such a small package they can deliver a supposed 2A at 35V. They also support up to x16 micro-stepping allowing 3200 steps per-revolution from a typical 200 steps-per-revolution bipolar stepper motor.

Arduino

A4988 Stepper Driver

For the joints that connect the vertically moving carriages to the plotting head I’ve chosen to use some reasonable priced ball joints from RS Electronics (a mere £2 a pop). They come dis-assembled which was a great opportunity to use my Dads treadle powered press for some production line fun.

Apex Treadle Press

Operating the Apex Treadle Press

And here are the assembled joints.

Ball Joint

Linear Delta Robot Inverse Kinematics Software Prototype

My previous post was showing off the initial OpenSCAD model of a liner delta robot project I’ve started. I’ve been interested in building a delta robot in some time but have been put off by the inverse kinematics, thinking it would be an absolute nightmare to figure out. Turns out it’s surprisingly simple for vertical linear delta robots and I’ve written a quick Python+PyGame GUI to work out the required Z positions for the 3 corners of the robot.

Liner Delta Robot Inverse Kinematics Software

The blue bars on the left show the required Z positions to reach the XY co-ordinate shown by the diagram in the center of the screen. The grey bar next to the individual Z positions shows the total Z height for the head of the delta robot. The dark grey crosses in the center region show the possible locations reached by the robot.
Setting the delta robots head XY position is done by clicking on a location. The Z height can be set by scrolling the mouse wheel.

For the time being I’m going to stick with pygame for the GUI components, I’m quite liking the minimal look. I may at a later date port it over to using QT.

Ultimately the goal is to use this software for testing the inverse kinematics model, as well as for debugging the delta robot during construction by implementing an interface to directly control the robot via USB. At a later date G-Code interpretation may be added.

This first version of the software is not in a fit state to release. Once I’ve cleaned up the code I’ll stick it up on GitHub under a GPL license.