ArduDelta Would Make A Great Pick And Place Machine

[Bogdan] sent in a great build of a delta robot he originally posted on the Arduino forum, but he didn’t receive much feedback there. We think a build like this deserves a lot more credit.

After working for 7 months on his robot, [Bogdan] has a pretty stable (and very classy) platform made out of wood. The platform and arms in delta robots are usually extremely light to reduce the inertia of the tool so [Bodan] crafted these out of carbon fiber tubes and plexiglas. Everything is controlled by an Arduino Mega2560 encased in a plexiglas enclosure with a 20×4 LCD, status LEDs, and an infrared receiver.

Delta robots are known for insane speed and precision, and are frequently used in pick and place machines. We covered a few home-brew pick and place machines earlier this year, but there haven’t been many developments since. While [Bogdan]’s robot only has a pen tool right now, it would be fairly easy to put in a small suction nozzle for accurate placement of SMD components. Even if he keeps the pen tool, it’s still a very clean and professional build.

Check out the video of the ArduDelta in manual mode below.

[vimeo=http://vimeo.com/25925860]

23 thoughts on “ArduDelta Would Make A Great Pick And Place Machine

  1. @pod – because those long thin carbon fiber rods act like spring. At lower speeds it would act better, but it would require smooth servo operation, it can be done through software.

  2. Only would make a good pick and place if you did not care which part you pick up or where it goes.

    Arduino just cant handle the whats needed to do cnc. Stop trying people, its not going to work. Its like trying to build a race car with a lawn mower engine. Sure, it might move, and if you tweak it a little it might move faster, but in the end you just have a dog. Look at the other controllers out there, SmoothStepper, RetinaEngrave, and even the chinese laser controls. They all use FPGAs or DSPs. Even the chinese one. And if anyone would have cut a corner to make it cheaper by using a lesser processor its the chinese.

    EMC2 wil run this with real servos or steppers.

    It IS a nice start and a neat project, just put real servos or steppers on it and it will be a different machine.

  3. Its a great try for sure but it looks like it would be accurate enough to reclaim meat from animal carcasses but that’s about it. Now the proof of concept has been done it needs some tweaks to the design materials and it’ll be a damn fine tool.

  4. @hal: Using a mouse to smooth this thing is like buying a 500$ acceleration pedal to make a two-stroke engine run smooth.

    Steppers and threaded rods would be way better.

  5. If he took the basic Arduino Servo library, he only has 256 steps for servo driving. It could explain why it’s so shaky

    By implementing a custom servo driving, it’s possible to do much better. I did a 8000 steps servo driving for a precision pan&Tilt with an AVR so not a matter of Arduino, but a matter of library, I think.

  6. “Steppers and threaded rods would be way better.”

    I think you mean precision ACME screw rods, not just threaded rods.

    I agree that Arduinos are really not suited for CNC type work. They make GREAT controllers for sensors or other items that don’t need a HUGE amount of I/O bandwidth or precise timing.

  7. There’s nothing preventing an Arduino from driving a CNC machine. Accept g-code commands, output motor commands is hardly an arduous task for any machine geometry you’re likely to be building on a budget (read:if you;re building a 5-axis metal-chewing monster, you;re probably spending thousands already and aren’t really going to be bothering with a DIY controller). For stepper-based machines with or without linear or rotary encoders an Ardino is more than sufficient (RAMPS is one of the more popular ways to drive a RepRap and inevitable gets roped into mini-mills). Servo control with the Arduino alone maybe trickier, but by using external servo libraries, or a handful of servo controller chips (value -> PWM), you can cover most machine geometries.

  8. The Arduino drives my Makerbot Cupcake just fine. Three steppers plus heater control for the nozzle and the build platform plus temperature sensors plus the filament feed motor.No reason it can’t drive other kinds of CNC systems as well.

  9. Seems like in manual/record mode, each button press causes the device to attempt to move instantaneously in a fairly coarse step. The sudden start and stop of motion then causes the carbon rods to bounce quite a bit.

    In playback mode, motion is smoother because there’s less time between steps. But as far as my eye can see, I think it’s still coarse steps with little or no interpolation between them.

    Adding interpolation, maybe some other software tuning, and switching from carbon fiber rods to thin-wall aluminum tubes would probably improve this dramatically.

    Interfacing to the servo motors and pots directly (instead of using the servo’s built-in circuit) with a good PID loop would improve it even further.

    There are always improvements to be made. But getting this far is impressive by itself!

  10. @Dave
    The word Arduino brings out the “real engineers” for some reason. I’m surprised someone hasn’t mentioned how they could do it better with an 8 pin PIC chip, two resistors and a serial cable. And assembly being the only way to go.

    Best practice is to view the comments section as a form of entertainment rather than information.

  11. @macona, have you seen the Ultimaker? Also driven by an Arduino and much faster than a Cupcake. Arduino might not be the _best_ tool for CNC, but just because it’s designed to be easy to use, doesn’t mean it can’t be powerful. AVRs have much better timing accuracy than the average PC running realtime linux.

    This project is a great demonstration of mapping the X, Y, Z coordinate space into delta controls (no easy feat). The pitfall seems to be the use of low resolution servos (and perhaps the std Arduino servo library). The irregular movement of the arms, would be due to the servos constantly hunting for position I would say.

  12. This is a Great project!!!
    solving the X Y Z coordinates into a delta system in a small amount of code takes real skills. I for one would like to see your code.
    Mechanical problems that reduce repeatability are not unusual and take a great deal of effort (as in rebuilds) to resolve. A little preload to change the stress on your positioning members from compression to tensile might resolve some of your difficulties while keeping everything light weight.
    this is a Great job showing a tremendous skill set.

  13. There’s nothing to blame Arduino for here. The weakest link is the RC servo, even the best ones have like 1/10th of necessary resolution and huge play; also without feedback the movement will always be jerky. Been there, done that.

    @tinkermonkey: you can check out my delta bot math and code on my page. Verified by applet and by a real bot. It’s really simple once you break it down.

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.