Let's Make Robots!

Delta Robot

Move around in space

Homemade delta robot. It uses an Arduino as a servo/relay controller. Data is transferred over serial port from a homebrewed Qt application to the Arduino. I use cheap Hitec HS-311 servos, they are not very accurate, and at some point i would like to upgrade them, and maybe put some encoders on there to improve the accuracy.

The end effector is laser cut from 8mm aluminium. The angle joints are Igus WGRM-05 LC, and the rods are carbon fiber rods from an old kite. The electromagnet at the bottom is wound from 0,3mm magnet wire around a 8mm bolt (It would be a lot better to use soft iron but...), and is surrounded by hot glue. The electromagnet is controlled by a cheap 5V PCB relay.

The base is made from 19mm MDF, a pretty bad material but very cheap.

The PCB is fairly simple. I use the PWM ports from the arduino, but drive the servos with an external power supply. The relay is a G5LA (cheap). The PCB is made as a shield to reduce the number of wires.

The plan is to use a Raspberry Pi when/if it arrives and some kind of image processing, possibly OpenCV.

En effector

Angle joints

DIY electromagnet

An my "not exactly bug-free" software (Sorry for those not speaking Danish)

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

The three motor have the same speed, or the controller calculates the invers or forward kinematics for speeds?

go hansenberg ;D but nice made:)

Perhaps geared steppers will work better for you than servos with encoders. Or do you plan to bypass the servo circuit completely while you are at it?

For $3.5 each, depending on your ebay luck, you can get a geared stepper including driver board. At least I'm considering trying to build an other delta robot with some of those.

http://www.ebay.com/itm/12V-4-phase-5-wire-Stepper-Motor-28BYJ-48-DC-Valve-Reduction-Gear-Ratio-Step-New-/170821946490?pt=LH_DefaultDomain_0&hash=item27c5c80c7a

I didn't know they were so cheap! :O I will definitely get some of those. My only concern is if they have enough torque. that 0,09° resolution sounds nice, especially when you have a very rigid contruction.

Or even easier and cheaper, go for one with a driver board included, otherwise you will have to build them yourselves.

http://www.ebay.com/itm/5V-Stepper-Motor-28BYJ-48-With-Drive-Test-Module-Board-ULN2003-5-Line-4-Phase-/170781372685

And with 64 times reduction there must be some torque.

I like it's smooth and steady movements, do you use some fancy acceleration algorithms or is the mechanical design simply stiff enough by it selves?

Also, have you implemented the inverse kinematics in the Arduino or in your Qt application? (it took me quite some time to get that part right when making this one: http://letsmakerobots.com/node/27921)

 

The mechanical design is very stiff. The only thing is, that there is a little play in the servos, but it isn't a problem when you apply a load.

I have implemented the algorithms in C++ in the Qt app, i then send the required pulsewidths to the arduino over serial port. The only problem is that i don't get quite the speed i wanted to from the arduino, i suspect that the serial stuff is a little slow.

I have rewritten the BASIC code from here

http://www.cim.mcgill.ca/~paul/clavdelt.pdf

The plan is to have som kind of image recognition, but i am not quite skilled enough to do the programming.

You could move the inverse kinematic algorithm to the Arduino side. You have plenty processing power there, and that way you could lighten the load on the serial interface. Instead of sending updates for every small step on the way you could instead simply say "goto(x,y,z,speed)" and then the Arduino will do the work behind the scene.

Or i could just try to turn up the baud rate. Totally forgot about that ;)

The simplicity here is ingenious.

A nice finding are these igubal axial angle joints you use there. Applicable, available and affordable.  

Thanks for sharing.