I am planning to create a robot arm using the MicroController. The robot arm should move from the angle of 0 degrees to 60 degrees.

I am going to use this robot arm in my application to stop and allow the small small toy vehicles on a dummy road. This is for demonstration of my project.

What are the specifications that I need to keep in mind while choosing the Stepper Motor and MicroController.


2 Answers 2


You might get more mileage out of a high torque servo at first. Servos have their own control circuitry so all you need to do is give them a command. Stepper motors are good, but perhaps you should save them for future development as you'll probably have a lot of effort just making the mechanics of the arm and handling anything unforeseen that comes up.

Servos are either controlled digitally or via a pulse width. The pulse width control is easy - the length of the pulse determines what angle the servo sets itself to. I haven't yet worked with them but from what my project partners tell me it's between 1ms and 2ms pulse width for the full range of motion and the pulses need to come every 16ms This makes choosing a microcontroller easy - it just needs to have a timer/counter module with output compare. You won't have to worry about powering the motor through the microcontroller because the control pulse doesn't power the motor.

You'll need to judge the amount of torque necessary for the servo depending on the weight of what it's moving, and the amount of time it takes to travel a full 180 degrees (or whatever its full range is) is also important. The servos seem to operate at 4.8V or 6V so that's a consideration. Here's a page with some hobby servos to buy: http://www.servocity.com/html/hitec_servos.html

You may or may not need high-torque, but that should at least get you started and send you in the right direction.

  • \$\begingroup\$ Not sure how many hobby-sized servos use this, but some I've worked with used a DC voltage input to command their position. (These are pretty old servos.) Usually the voltage range was -5V to +5V. \$\endgroup\$
    – Jesse
    Oct 27, 2010 at 16:38
  • \$\begingroup\$ Thanks for the heads up about servos, saved me some research time on my next project and I have a couple lying around from old RC aeroplanes. \$\endgroup\$ Oct 27, 2010 at 16:58

Here's a suggestion:

Check out Jones on Stepper Motors, with links to manufacturers, controllers, distributors, etc. and a ton of information on how to control them. The control signals will come from your microcontroller. The control power will likely come from a Driver. If you use AVR or PIC, the manufacturer will have tutorials and white papers, with code, on motor control. Read about the different types of stepper motors, and how they're driven with a pulse train.

Then, pick your motor. Shop around on google to see what's available. Have an idea of what kind of stepper motor you want (bipolar and unipolar are popular). You are looking at what the holding torque is, and what the rated voltage and current are. I'm assuming your positioning can be quite coarse.

To decide what kind of holding torque you need:

Measure the amount of torque the motor has to have, either with a torque wrench or by estimation. To estimate: you probably the know the length of the arm that needs to move (say, 6" or 15cm), and the amount of weight that needs to be moved (say, 0.1lb or 45 grams).

  1. Multiply those numbers together to get 6" * 0.1lb = 0.6 ft*lb or 15 * 45 = 675 cm*g = 0.675 kg*cm)
  2. Multiply by some safety factor to give you some margin (anywhere from 1.3 to 3, 1.3 is probably fine for you, so 0.675 * 1.3 = 0.8775 kg*cm)
  3. Then you look for a stepper motor rated with a hold torque of at least that 0.88 kg*cm. That's its maximum torque if you feed its rated voltage and current. Now look at that motor's rated voltage and current, can you supply that? (As in, if it asks for 120VDC at 1mA, you probably don't want that motor.) If you don't like it, look for a different motor, or look more carefully at what you're trying to move.
  • \$\begingroup\$ Great answer. I hate picking motors, I know it must be done, but I much prefer just use a simple servo and deal with torque if it becomes a problem. \$\endgroup\$
    – Kortuk
    Oct 29, 2010 at 0:23

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.