Delta Robot 3 uses three motors turned 60 degrees from each other to achieve XYZ translation motion. It is most popularly known in the Kossel 3D printer. You might have seen one of our robots at DEFCON being used to type out pin pad combinations to unlock a cell phone.
While we do not make the Delta Robot 3 at this time, we believe in open source software & hardware. So here is a copy of our internal Delta Robot 3 assembly manual.
This robot was designed at a time when we did not have reliable 3D printers. Challenge yourself to design STL models!
Special thanks to Justin Engler, Jae Hess, Steve, Juho Leinonen, Mark Scheel, and Eddy Hodak for helping improve this Delta Robot 3 documentation.
Tools you will need
A soldering iron.
Crazy glue or wood glue. Crazy glue takes seconds to stick. Wood glue can take up to 24h and may require clamping.
A small Phillips screwdriver
a pair of pliers
Solder the wires on the switches
You can also crimp the wires with blade connectors if you have the tools. These days we prefer non-contact sensors for more accurate position sensing.
Snap together the ball joints
The grip I’m using is the easiest way I’ve found to snap them together. Pinch with the pliers to get most of the way there and then gently press down with one finger and the plastic should “pop” onto the ball.
Glue the end effector together
These three screws are M3x25. This part could have been 3D printed in a single step.
Glue the biceps together
Please be extra careful to glue these correctly. Exact alignment is very important! The screw is M3x15. This part is much easier to make with a 3D printer where no glue is required.
zip tie & glue the stepper mounts together
Please carefully note the direction of assembly. It is very easy to assemble the entire robot backwards. Then the firmware won’t match the physical model and everything has to be redone.
You will need the motor mount plate
and the mounting bracket pieces.
Use some glue to attach the triangle face to the side of the motor mount plate.
install the steppers in the stepper mounts
Use M3x10 screws to attach the motors.
attach the biceps to the stepper motors
The arm will only fit when the flat side of the shaft is correctly lined up with the screw in the arm.
I am using a spacer to make sure that the biceps are attached at the correct distance from the face of the motor. The spacer should not be glued in! It is only temporary.
This is a closeup view of all three arms attached.
zip tie the three frame components together
Sometimes humidity might make your unassembled pieces a bit warped. When they are attached together with the zip ties they will straighten out.
close the frame around the stepper mount
Attach the base plate into the frame
There are many holes in this plate so that you have options when securing your work piece.
Attach the forearms to the end effector
In more recent robots our process is to precisely assemble the plastic rod ends onto the rods, then insert the balls, THEN attach the rods to the rest of the robot. The results are more consistent and accurate. What you see here is our process way back when.
These pictures show M3x40 screws, but we have changed the kits to use M3x30 screws.
Attach the forearms to the biceps
The screws are M3x30. The rods are M3x150.
I use the M3x30 screw as leverage to make screwing in the rod a lot easier.
The distance from center hole to center hole should be 165mm.
The two M3x30 screws should be parallel so that the whole assembly makes a parallelogram. When I get close it can take a few tries with half turns to get the measurements just right.
Assemble the pen collet
The collet holds your pen in place in the end effector. If you drive the tool too far down the collet will rise on the screws. It is our hope that this will help prevent damage to your machine. A 15mm screw and a nut are used between the glued layers. The capacitive pen is here for reference, it is not included in your kit.
Attach the switches on the frame
Make sure the zip tie is tight!
The funny angle is OK, and expected. You should be able to move the arm and touch the switch so that it clicks. This is the kind of amateur junk that made us move to touchless switches that don’t have “funny angles”
Attach the female plug to the RUMBA
attach the RUMBA controller on the frame
attach the switches to the RUMBA
The switch next to motor 1 should go to X-. The switch for motor 2 should go to X+. The switch for motor 3 should go to Y-.
Just above the pins are three symbols: +, -, and S. The red should go to +, the black to -, and the blue to S.
Attach the stepper motors to the RUMBA
Steppers are attached in counter-clockwise order on the frame and wired left-to-right order on the control board.
Teach the Controller
The brain of the robot is the RUMBA circuit board. To teach the circuit board you will need the Arduino software, the RUMBA driver (so windows/arduino can talk to RUMBA), and the firmware sketch that Arduino will load onto the board.
- Download Arduino software and install it. Arduino software comes with lots of great sample code to help you start learning about programming robots. You can use it to read and edit the firmware for the robot.
- Windows cannot find the drivers for the RUMBA automatically. Get them here.
- The firmware is a program that teaches your RUMBA board how to talk to the PC and how to move the motors. Get the latest Delta Robot Firmware here.
Now that you have all the prerequisites, let’s do this!
Start Arduino software.
Choose Tools > Board > Mega 2560
Choose Tools > Serial Port
- On OSX it should say something like /dev/tty.usbmodem12# You probably want the first one on the list.
- On Windows it should say something like COM9. You probably want the last one in the list.
When your board is connected to a Windows computer it will appear in Start > Devices and Printers along with the COM port number.
Choose upload. It should be the second blue button on the left. At the bottom of the Arduino window it will say “compiling” and then “uploading” and finally “uploading done”. if you get timeout errors, do these steps again on a faster computer.
Check the Controller is OK
Open the Arduino Serial Monitor (the magnifying glass in the top right corner). Change the baud rate to 57600 (the drop down list in the bottom right corner).
You should see a message beginning with “Delta Robot v8-“. This means the code has uploaded successfully. It should now be safe to connect 12v power.
Put one hand on the power connector so if movement looks wrong you can pull the plug immediately. This is your Emergency stop. Better yet, have a friend ready.
Type “G28;” This tells the machine to find home by touching each limit switch one at a time.
Type “M114;” This asks the machine for it’s current position. It should start with
X0 Y0 Z4.77
The machine believes that the tool in the end effector is 0cm long.
Type “G54 Z-2;” Now the machine thinks that tool tip is 2cm below the end effector. Type “M114;” again and it should say
X0 Y0 Z2.77
because the tool tip has moved, even if the end effector didn’t. Now let’s try our first move command.
Type “G0 Z0;” This will lower the end effector until the tool tip touches the bed. Since there is no tool at the moment it should stop before it reaches the bed.
Let’s try different speeds now. Type “G0 X4 F3000;” The F3000 changes the feed rate – the speed – to 3000 microsteps per minute.
Finished Delta Robot 3!
The steppers get very warm after running for a while. We have tested them under load for 48h and they continue to function within spec without unusual behavior. Even so, be smart: do not leave your robot running unattended.
The robot does not G28 automatically when it turns on to avoid the chance of accident. If you want to change that you can add
to the end of setup() in the firmware.
200 step per turn motors
in configure.h there is a define for STEPS_PER_TURN. Change it to 200 if you have 200-step-per-turn (1.8 degree) motors.
These days (being the days during which I write this post) Marginally Clever Robots do everything to avoid the use of glue. We like robots that can be un-made or repaired.
Did you know Delta Robot 3 is simulated in Robot Overlord? Connect one to the other and drive both at once!