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.

Comments

  1. yetihehe says:

    Fast: yes. Precise: not. Does it have Parkinson’s disease or what?

  2. pod says:

    I wonder why it is so rattly.
    is there any way to improve the movement, making it smoother at lower speeds?

  3. Rambo says:

    It looks like some minor PID tuning is in order to solve the movement issues, other than that, it’s pretty cool!

  4. yetihehe says:

    @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.

  5. MrX says:

    yeah.. and the servos don’t seem to have a very good resolution either.. I think he would be better off with some strong galvos.

  6. macona says:

    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.

  7. Reggie says:

    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.

  8. biozz says:

    lol i almost had a seizure just watching that thing run XD
    what made it so shaky?

  9. hal says:

    An old serial mouse with a scroll wheel might work good for manual control. X/Y from the mouse movement and Z from scroll wheel. Could be quite smooth.

  10. Nomad says:

    @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.

  11. ftorama says:

    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.

  12. Hackerspacer says:

    “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.

  13. psuedonymous says:

    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.

  14. Kevin Gunn says:

    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.

  15. macona says:

    Sure the arduino can run a cupcake. Those things alow, slow, slow. Not useable for a machine tool or a laser cutter.

  16. Dave says:

    Wow, remind me never to submit anything of my own to Hack a Day.

  17. Chris says:

    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!

  18. JohnBailey says:

    @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.

  19. dhon says:

    @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.

  20. tinkermonkey says:

    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.

  21. xchip says:

    To this guys that are so negative/destructive… I’d like to see what sort of things do you build… they must be awesome!

  22. svofski says:

    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.

  23. James says:

    I laughed when I saw Ardu- and great in the same sentence. :D

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Follow

Get every new post delivered to your Inbox.

Join 94,072 other followers