# What to look for in a motor?

I am going to be making a small robot using a Arduino Mega ADK Rev3 with 4 motors, and about a pound of other stuff. This is the first time I'm doing any major hardware project, so I'm not really sure what to look for in a motor.

• What are the motors being used for? – helloworld922 Sep 8 '12 at 3:31
• A small robot, doesn't carry any load besides itself, just to cruise around. When I say small, I mean about the size of a sheet of paper, but much taller ofcourse :p – Oztaco Sep 8 '12 at 3:58
• So they're used to drive the wheels? Treads? – helloworld922 Sep 8 '12 at 5:09
• Drive the wheels – Oztaco Sep 8 '12 at 17:37

## 2 Answers

There are a few primary specifications you should look for in a motor:

1. The type of the motor. There are a variety of different electric motors out there. In my experience the cheapest ones are brushed DC motors. These are fairly simple to drive: you send the motor a PWM signal and it spins faster with a higher duty cycle. Reverse the polarity and they spin the other way. I'm guessing this will probably fit your project the best.

2. Electrical characteristics. This includes the nominal voltage the motor runs at, what the stall current is, and what the rated current is (note: the rated current doesn't necessarily have to be greater than the stall current). Most DC motors I've used which are capable of driving semi-small to medium sized robots (about what size you have, though probably heavier) run in the 12-24V range so you may have to plan your battery packs accordingly. The stall currents has varied anywhere from a 1-2 amps to over 30 amps.

3. Mechanical characteristics. This includes the no-load speed of the motor, the stall torque of the motor, and any other mechanical characteristics such a rated torque or any gear ratio present (if in a geared motor). DC motors have a linear torque to speed ratio, i.e. they develop the maximum torque when stalled which decreases until the motor is spinning at it's maximum speed. The speed-power curve increases until the motor reaches half the no-load speed and then decreases. Typical DC motors have a very high no-load speed. Most I've seen vary between ~5000 rpm up to ~20000 rpm, though much high rpm ranges are definitely available.

Here's how I would determine what kind of motor to look for:

First I would figure out what kind of speed I want my robot to achieve. Next I would determine roughly how much my robot weighs. I would do a quick survey of what motors are available keeping in mind the mechanical characteristics. A quick calculation of the max speed of a robot is:

$$speed_{robot} = diameter_{wheels} * \pi * speed_{motor} / gear~ratio$$

The required torque is a trickier quantity to calculate as you'd need to know what kind of friction/resistance your robot is going to encounter and know roughly how much your robot weighs. Assuming rotational inertia of the wheels is small compared to the mass of the robot (and if I did my math right), the ideal speed of the robot vs. time is given by:

$$V(t) = w_d \cdot \pi \cdot \omega_{NL} \cdot ( 1 - e ^ {\large{- \tau_S / (2 \pi \cdot m \cdot \omega_{NL}) t}})$$

Where:

$$V(t) = robot~speed$$ $$w_d = wheel~diameter$$ $$\omega_{NL} = no-load~motor~speed~(including~gear~ratio)$$ $$\tau_S = stall~torque~(including~gear~ratio)$$ $$m = mass~of~robot$$ $$t = time$$ $$\pi = 3.14...$$ $$e = 2.72...$$

You can add the torque of all the drive motors together.

I would then design the electrical systems to fit the required electrical characteristics of the motor. This includes the motor driver, battery packs, and any wiring.

Gear ratio is the ratio between the input speed divided by the output speed of a gear box. They are used to speed up or more often slow down the output drive shaft speed. As a consequence of the speed ratio change the output torque also changes. In an ideal gear box with 100% efficiency the gear ratio is equal to the output torque divided by the input torque. This is mostly true for real gear boxes, but in reality most gear boxes lose ~2% between gear mesh (note that this relation is exponential as each gear mesh produces an input/output set, so for a gear box with 12 meshes the efficiency drops from 100% to ~78.5%).

• Say, you're not a physicist, are you? To an EE e = 2.72, and pi = 3.14 (sometimes just 3). How accurate do you want to express speed, and how many of your significant digits will be correct? – stevenvh Sep 8 '12 at 15:57
• :P I'm actually a mech-e, so I've used pi=e=3 many times. Or more often, I just type "pi" or "e" and the computer computes it to machine precision and I chop all but a few sig figs. – helloworld922 Sep 8 '12 at 15:58
• Thanks for the answer, could you explain gear ratio though? – Oztaco Sep 9 '12 at 4:27
• added a section about gear ratios. – helloworld922 Sep 10 '12 at 3:19

This is a very complicated issue. It entails a lot of questions. For instance: what kind of motor are you going to use? Are you going to use a gearbox? How heavy is the battery? How heavy and strong is your robot enclosure?

Motors are characterized by their speed/torque curve. You'll find that most electric motors are not capable of achieving high torque for small speeds, like the speed you'd expect from a mobile robot wheel. What that essentially means is that you won't be able to move an inch when the motor is set to move very slow. That's why you either need to use e.g. a stepper motor (which is very powerful even at low rpms) or a gearbox. You can find DC motors with a built-in gearbox.

A lot of this design will be about tradeoffs: if your motors are weak and heavy, their own weight will diminish the efficiency of the entire robot. If you have a heavy battery, you need stronger motors. Stronger motors will be heavier, and also suck up more current. So you'll drain the battery faster. So you need a higher density battery, and a motor which has a high torque/weight ratio. But those are expensive!

And so on and so on. This is an issue of optimization.

When I built my first mobile robot, I used this tutorial. It covers all aspects of building a robot, including the motors (actuators).