So I just graduated with an associates in electro-mechanical engineering, and have a fascination with robots. I also work around a lot of big robots in a major automobile factory. I got an arduino for Christmas, and after a few quick projects I've decided to take on the task of building a user programmable six joint robot arm, similar to the ones in my factory.
Here's my question:
Will a stepper motor be the actuator of choice for my joints? For the lower joints on the arm I want excellent precision and high torque. I started with basic hobby servos, but I don't like the low resolution of them or the jerky movement while moving slow. So I picked up some continuous rotation servos and some gears from a hobby shop to gear them down to a 1:4. This would give me 15 minute per degree precision, however I quickly learned that there is no stopping a continuous rotation servo precisely! Whoops! I began looking into pots to use as position sensors for the continuous rotation servos, but am pretty skeptical about the constant accuracy. I want my arm to move to exact points repeatedly, just as in a manufacturing environment.
So now I'm researching steppers, and with a 1.8 degree step, and using my 4:1 gear ratio, the accuracy is sufficient for my appetite for perfection haha! I understand steppers don't have the torque of servos, but I'm assuming the gears will more than make up for that.
Another question is how slow are these steppers going to be? The standard servos are way to quick to be using for the first few joints but again, when I slow them down they are jerky and I don't like that! (Just a quick note, precision is key on the first few joints. The arm will be a little over a foot long, so imagine being a degree off at a foot out!)
The very bottom joint (the S joint on motorman/yaskawa robots, or J1 on fanuc if you are familiar with them) will need to have at least 180 degrees of rotation, so in a 4:1 gear ratio the stepper motor must be capable of accurately spinning 720 degrees. I can't seem to find any info on how to do this! I'm assuming you just send a number of steps and direction for the motor and it will follow? Does this mean a stepper is capable of infinite number of steps? If this is true I'm also assuming I use the programming logic to decide how many steps to send to reach a certain angle. This assumption is what prompted me to make sure I get an easy gear ratio to calculate, i.e. 4:1.
So that's all I have to share for now... I hope I've provided enough information. Before I chose my degree in electromechanical I went for software engineering. So having C programming experience from that, mechanical, electrical and robotic experience from my degree, this project is coming along pretty nicely with just a few hiccups here and there.