6x6x6 3D Print: Delta CNC

131K45436

Intro: 6x6x6 3D Print: Delta CNC

As a runner up winner in the recent 'Real Challenge', I have been awarded with a custom 6x6x6 inch 3D print for my 'CNC machine for machining large pieces of polystyrene foam'. I realised what an opportunity this presented and thought of many things to do with it. Make a 3D print for something at work and impress the boss? Design a custom iPhone case, cram 30 cases into the print and flog them on Ebay? Print someone else's design?

I don't think so..

I desired a bit more of a challenge. How about using the 6x6x6 print to create all the custom bits for a simple, elegant and fully functional CNC machine? I am not talking about a conventional 3-axis gantry-type CNC mill, but something a bit more exciting. I set myself the challenge to design and build a machine based on the Delta Robot, capable of milling/drilling in soft materials, and have all the main custom components for the motion platform fit in the 6x6x6 inch envelope of the awarded 3D print.

This inctructable has initially been published after the completion of the design phase. The first few steps will discuss the objectives, background, software & electronics, mechanical design and conclusions. In addition there are several steps to be completed afterwards, showing the actual build of the machine. A change log is attached to this first step. Current version: V0.11

Enjoy,
Richard Tegelbeckers

STEP 1: Objectives

Objectives:
  • An important objective is to create a design for a Delta-robot based CNC mill, where the majority of custom components for the motion base will fit in a 6x6x6 inch envelope.
  • The components in the 6x6x6 envelope must be printable on one of the Objet 3D printers at Instructables.
  • Elegance is high on the agenda. Not only for the way the machine looks, but also in the way the motion base moves.
  • As I already have a large CNC machine, I will initially try to 'borrow' as many parts as I can in order to keep the cost down.
  • The motors must be powerful enough for the machine not to lose any steps, without having to resort to gearing.
  • Speed is not the biggest priority.
  • The accuracy of the mill should be sufficient for drilling small circuit boards (think free version of Eagle PCB) and milling small items.
  • Last, but not least, it should be fun to design, build, and use the contraption!

STEP 2: Background: Delta Platform

The Delta robot has been developed in order to enable high-speed picking and packaging. For CNC milling the speed is not really an issue, but there are other advantages that make the delta platform useful:
  • There are no costly linear slides, only pivot points.
  • All the important motion mechanisms can easily be located above the work piece, away from debris.
  • Simple mechanical concept, with low variety in components.
  • The way a delta works is just more interesting than the majority of linear platforms...

The picture in this section is from the original patent, which expired a few years ago. Further reading: http://en.wikipedia.org/wiki/Delta_robot

STEP 3: Software & Electronics

In terms of electronics I am initially going to use the setup from my large CNC mill. I did have some trouble with Chinese stepper drivers before, but this has been sorted by replacing them with second hand YOOCNC drivers from Ebay. Although the YOOCNC drivers are Chinese as well and are also based on the same Toshiba TB6560 chips, they are of much better quality. I have looked at many designs around TB6560 chips and noticed a lot of issues. Many are related to the use of very basic opto couplers for feeding step signals into the TB chips.

In order to be fully flexible for development purposes, I have two different options for connecting the stepper drivers to the PC. First of all there is the Arduino, which currently is loaded up with GRBL. The second option is the connection over parallel port using a 5-axis interface board. The last option should enable me to run LinuxCNC.

At the moment I do not know how to go about sorting out the software. I will worry about that after I have an actual mechanical assembly I can play with. Some links I found suggest that I do not need to start from scratch:

http://kvarc.extra.hu/step/motor/emc/emckinematics.html

http://forums.trossenrobotics.com/tutorials/introduction-129/delta-robot-kinematics-3276/

STEP 4: Mechanical Design

See the pictures for my design. I managed to fit the 3D printed motion base components into the 6x6x6" envelope and was left with enough space to add hinges and handles! The main reason why I was able to make good use of the space, was the separation of the tool holder and the motor base into three separate components. By doing this, the tool holder is able to grip the drill and the motor base is able to grip the overhanging steel tube from the main frame. The tube can be used to pass wiring from the motion base to the top of the machine, where eventually the permanent electronics can be mounted. I made sure the motor arm will be sturdy by connecting it to both shaft ends.

You will notice there is nothing in the model holding the rod ends onto the shafts. I am planning to sort this by using elastic bands or tension springs between a pair of links. The doors can be lifted out. Hinges are universal, ie. not handed. Take out the pins from one end, place them in the opposite positions, turn the door around and the door opens the other way around with the only thing wrong being the text on the handle now reading: 9x9x9... Hinge locations not being used as hinges can be used to lock a door by inserting thin pins.

Attached to this step is a small movie file. Open it up to see a short animation of the motion base. There are some random oscilations on the motors in order to generate movement.

STEP 5: Conclusions

I achieved the objective of containing all 3D printed components in the 6x6x6" volume. Hooray! As I was aware the parts would eventually be printed on an Objet, I was able to design around the knowledge that there is support material to take care of overhang. This can be an issue with reprap and makerbot type of printers with only a single print head for the build material. Also, the Objet is superior in resolution. I made use of this feature by applying tight tolerances in certain areas. If necessary I will need to rework as required, but I hope I will have gotten it right for the majority of parts!

If I would have designed the parts for being produced on a more basic printer and without the 6x6x6 inch restriction, I would have designed everything in a slightly different way. For example, I would not have had to split the motor base and tool holder into three separate parts. Still, having designed functional 3D printed components for the first time, I now want to do more! I am certain I could increase the accuracy of the Delta by adding some gearing... The tool holder could be replaced with a purpose designed unit with integrated light weight 3D print extruder... I am sure now: Stage 1 is to get permanent access to a 3D printer, Stage 3 is world domination. No idea what Stage 2 is though!

STEP 6: The Build, 3D Printed Parts

Some time ago I sent an email to the good peoples at Instructables in regards to the custom 3D print I won. I was informed that 'None of the prizes from Make it Real have been sent out.  Our 3D Printing individual will be contacting all of the runners up shorty'.

More will be added to this step, as soon as there is progress on this front. For now, see the pictures for my suggested print. I left a gap of at least 0.5mm between components in order to prevent them from sticking to each other. I still have to generate a final STL file, but will do so at the moment that it is needed. I am planning to publish the as-built design files after actually assembling a machine myself.

STEP 7: The Build, Electronics

More info to follow in this step after actual build...

STEP 8: The Build, Fabrication

More info to follow in this step after actual build - This might be very soon, as the fabrication is very simple.

STEP 9: The Build, CNC Machined Parts

There are only two parts to be CNC'd: the wooden top and wooden base plates. I still have to add mounting holes, but will work this out when I will get to it. Should be easy enough on my big CNC. More info to follow...

STEP 10: The Build, Mechanical Assembly

More info to follow in this step after actual build. So far I assembled a pair of link arms and added a photo to this step, showing how I am planning to use rubber bands for keeping the arms connected.

PS. Can you spot the most important tool in the picture? It is the one with the wooden handle...

STEP 11: The Build, Software

More info to follow in this step after actual build. I just hope I don't need to start from scatch... Advice welcome!!!

STEP 12: The Build, 6x6x6 Delta CNC in Action

More info to follow in this step after actual build...

36 Comments

this is an incredibly good use of this volume if this was the constraint for the free 3d print that you won! Way to think outside the box!

Hello, what is the current status for this project? I want to build it.

Frans

This reminds me of this: http://shop.seemecnc.com/Rostock-MAX-3D-Printer-Kit-68398.htm
The Rostock uses linear slides. A really nice example of another delta with linear slides, which is also a 3D printer, is the ifab by Festo: http://www.youtube.com/watch?v=txF78s-QczU

The original delta robot concept uses pivot points instead of slides, which is something I really like. However, as Johan Rocholl was so kind to develop his Rostock as Open Source, I might initially do a linear delta and use his firmware.
I've always loved these 3-arm controllers, since I saw the first one in a Caterpillar factory. I spent many years in the CMM industry, working on reducing errors, and these have a lot of advantages there - scales have inherent issues, and sliding parts create uneven sag. All of this can be accommodated with software corrections and repeated calibration, but a machine that avoids these problems altogether is pretty sexy!

Nice job so far. Looking forward to the update!
No, they still sag. You may not notice the sag, but it's there.
You are correct. For the main carriage on my big machine I was just going to have a couple of 50x50mm box sections spanning the entire width. When I made some calculations to predict the deflection, I established the need for more bending stiffness. The added 25x25mm box reinforcements restrict the max. deflection to acceptable levels.
This is really awesome and the mechanics are a lot simpler than it first appears.
Thanks! From a mechanical point of view, this is the simplest 3-axis motion platform I could come up with. However, it is a bit more complicated in terms of software and it is not the best in terms of accuracy...
Richard,
sweet looking design. very interested in following it thru.
one thing I'm having a hard time getting my head around is what keeps the cutter mounting that is suspended by the linkage rods with swivel ends from trying to rotate?
Chuck
Hi Chuck,

It simply is not easy to work out! Have a look at the video file in step 4, I suggest playing it back with 'repeat' on. There are also plenty of vid's on youtube for delta robots. Still, I guess the only way to really understand it, would be to play around with a physical machine in front of you... I hope I do not have to wait to long, to be in that situation myself!
Forget my last comment! See the attached pic - it shows the motion platform as seen from below. Imagine trying to rotate the moving tool holder. In order to rotate around the drill axis, some of the links would need to become longer and some would need to become shorter. As the links do not change in lenght, the tool holder will be kept from rotating.
This looks ambitious and awesome. I've built one delta robot, years ago, so I can't help but chime in. Apologies if you've done your homework and this is not new information:

You're going to want super high stiffness linkages and no slop in your ball joints. What I did was get ball joints used in high-end R/C toy cars, and I used tubular carbon fiber stock for the linkages. That still may not have been good enough, but my servos were standard hobby so that was what killed me.

For your servos, I really would think about an indirect drive mechanism like a lead screw so that you reduce the number of sensor counts per degree of rotation in your joint axis - rather than be put off by the prospect of gear drive slop, engineer it out of your system. In high-precision robot systems like the Barrett WAM or surgical robots like http://brl.ee.washington.edu/laboratory/node/12 , counter-tensioned cable drive systems are used to eliminate slop. Remember that the Delta robot has non-uniform position accuracy across the workspace, so you have to design against the worst-case performance at the edges. You might also consider a base platform DOF in rotation so that you can sweep your workpiece through the best part of the Delta's workspace.

There are a couple master's theses and other academic papers on the kinematics/dynamics math for driving these guys. One big shortcut for you might be to grab the code for libnifalcon, the open-source driver for the Novint Falcon which is a modified Delta manipulator. In fact, you may want to look into whether the Falcon's modified geometry provides better kinematics, or maybe they did it that way so it was easier to spatially arrange the motors and encoders. Either way, design elements to steal - maybe even buy one to pilot test your control software & get a better feel for accuracy across the workspace?

Good luck!
I have done a bit of homework, but thanks for your comments and info nevertheless!!! I am especially glad being introduced to the Novint Falcon, which I never heard of before.

I am hoping to counter the slop in ball joints by tensioning them with rubber bands or tension springs, see step 10 for a photo of the principle.

There will be a low level of accuracy (guessing up to +/- 0.3mm in the main range) due to the step size of the steppers, despite microstepping to 1/16th. For an initial CNC 'toy' with a small workspace, this will be ok for me to play around with. As soon as I would progress to achieve better accuracy, I already have some ideas I could try to eliminate slop.

The software side of things is the only thing I have not yet looked into too far, but I do know there is plenty info around. For now I will just try to get the hardware together and after that I will worry about the software...
Cool. I think the way you want to tension your ball joints is by putting your spring/rubber band pulling along the axial direction of those linkages so there's no slop in pull. The spring tension will need to be greater than the greatest force you expect on the cutting tool, since there's a cosine factor in how much of the linkage force translates to force in the x-y plane.
The primary function of the rubber bands or tension springs will be to keep the rod ends in place - the links would fall off without them! As a secondary effect, keeping sufficient tension on will remove slop in the spherical part of the rod ends. With the total mass of the moving platform (incl. drill) being well below 1 kg, there should not be too much tension needed to make it work Also note I am using silver steel shafts, which will form a pretty good fit in the rod end bores.
Awesome! I look forward to seeing more of your build!
More Comments