Thursday, January 19, 2012

Cheap Servo Based Arm With Position Feedback and Electromagnet Picker

I've found many great ideas on LMR ( and thought about posting a robot arm I worked on.

This robot arm is controlled by an Arduino Mega based controller called Spider. It's a pretty cool controller very good for robots you can find details about it her on LMR.

I wrote the software in Arduino and Delphi using OpenGL to draw the arm onscreen.

The parts are cut on a laser from 3mm red transparent acrylic.

It uses 15kg torque cheap servos which I bought from RC-Timer (which is pretty farfetched to say are 15kg/cm still results are good for the price). The base servo has an hack (again from LMR) where a 4th cable is attached to the pot inside the servo and gives an analog position feedback to the control board.

The joints have pots that turn together with the servo horn which also becomes the other side of the axis for the servo horn.

Thanks to the Arduino Mega based Spider board with lots of extra inputs I made a small remote control as well. The remote control positions get sent to my desktop Delphi program which then reads the position the arm joints are in and moves them accordingly.

In the beginning all motion was sent from the PC but this resulted in sloppy motions, so I wrote the motion code in C in Arduino and now the PC only says go to this position etc.

The PC has a calibration table in Degrees / Pulse-width / Pot Position. Acceleration and Deceleration is done with Arduino code.

All parts were designed and drawn and assembled in Solidworks. I'll add Solidworks images and files if anyone is interested. A good thing was that after drawing, it was possible to fully simulation the motion before

a) exporting to DXF

b) converting DXF to plotter file (PLT).

c) and finally cutting on my cheap 40w laser which uses some code called moshi (which has broken down now and gives me the opportunity to swap out the control with some real Mach3 :).

Some of the parts had to be bended using a resistant wire to heat the Acrylic up first, to get good bends I designed a template and cut that from acrylic first and later used the template to bend the arm parts.

Also after trying to come up with good base designs which never actually worked they all wobbled a lot. I saw a lazy Susan in some other project and after buying from 15 from ebay :) add that into the base. Now it turns very smoothly, almost no strain on the servo and no wobble either unless the arm stretches out totally horizontal to the surface.

The elecromagnet also has a small pushbutton besides it. This way the robot gets feedback that it actually is touching something.

1 comment:

  1. Welcome to JTG Hospitality | The JTG Hospitality
    JTG Hospitality, 안양 출장샵 one of the largest 수원 출장안마 and best recognized Casino Hotel offers 충주 출장안마 entertainment in every 통영 출장마사지 room. Join 동해 출장안마 today to get your casino