28 Apr 2002 kerwin   » (Observer)

I have made some progress on my homemade robot arm. See http://www.ranchbots.com/robot_arm.html for some photos and movie clips of the motion that I have acheived. The site lists all of the updates and design changes, but I'll summarize them here.

1) I decided to stick with unmodified servo motors on 3 of the joints. I was concerned before that they would move to quickly if I just sent them a position signal. And that was a valid concern as there was danger of shaking the thing to pieces at the normal speed of those motors. So I "fooled" it by using an incremental signal approach. The short version is that the SW watches the state of the control switches and as long as they are active for a given motor in a given direction then the SW adds or subtracts a small amount of time from the pulse that is sent to the servo. This works surprisingly well and the code turns out to be just a few nested if statements. Source code is available on the site.

2) I added springs to the "elbow" joint to help the elbow joint motor deal with the load and to help it maintain a static position. Took some fooling with the mounting to find a good stable position, but I got it. Works great.

3) I haven't figured out a controller yet. I'm considering several joysticks. The simplest version is just 2 switches for each joint. One is the enable switch, the other is direction.

4) Since I'm using servo and DC motors I have to power them all continuously or the arm will go limp and possibly get damaged. This turns out to be more current draw than I planned. The servos draw 200 mA continuous current with load, and peak at about 400 mA, each. I have 3 of those. The DC motors have slightly more continuous, but their peak current levels hit near an amp. My solution for this is to use SW to "park" the arm when it is not being used. Uh, oh. Let me back up a bit.

5) The arm is going to be mounted on a mobile platform, so I'm designing the whole thing to be battery powered. If I run the arm all the time, I'll get about 15 minutes at best out of the batteries I'll be using (Radio Shack NiMH rechargeable packs). So the idea is that when I need the arm to collect samples or whatever I bring it out of the parked position by turning it on, do my business then when I'm done I hit the "park" switch, and SW will index all the motors then return the arm to a resting and safe position THEN power down all the motors.

This is a really fun project. Lots of lessons. The main lesson I have learned is that for this application you really want to use a wormgear motor if possible. Wormgear motors hold their last position when you remove power. Much better for battery operation.

Another lesson is one I already knew but took a chance on. The lower arm and hand assembly is the heaviest part of the arm almost and it is at the end of the moment arm. The lower arm and hand then should be shorter. But it works now as long as I don't try to pick up a brick (which would tip over the whole vehicle anyway).

Feel free to give the site a look and send comments.


Latest blog entries     Older blog entries

Share this page