# Determining rated speed (RPM) required for a DC gearmotor

I'd like a two-wheeled robot to travel at 1m/s, given a wheel radius of 0.03m. I've calculated the rated speed required by the gearmotor as 318.28RPM:

$v = \omega r$, $\displaystyle{\frac{v}{r} = \omega}$

$\displaystyle{\frac{1 \mathrm{\frac{m}{s}}}{0.03 \,\mathrm{m}}} =$ $33.33 \mathrm{\frac{radians}{s}}$

$33.33 \mathrm{\frac{radians}{s}} \left(\frac{1 \,\mathrm{rev}}{2 \pi \, \mathrm{radians}}\right) \left(\frac{60 \, \mathrm{s}}{1 \, \mathrm{min}}\right)$

$= 318.28 \mathrm{\frac{rev}{min}}$

Is this correct?

On a side note, would an acceleration value of 0.5m/s^2 be a good choice for the robot, based on the velocity I've chosen? Help appreciated, thanks.

Yes, that's correct.

A "good choice" for acceleration has nothing to do with velocity. Generally, acceleration limits are chosen based on motor thermal ratings. You should have some design load the motor should accelerate, that design load should require some quantity of torque, the motor constant relates torque to current, and then the current heats the motor.

Typically you would see "duty cycle" ratings for the motor - 20%, 30%, etc. That means you should only run at full power for 20% of the time to avoid overheating the motor. Generally those duty cycle ratings will also come with design durations - run at full power for 20 seconds then turn off for at least 80 seconds, etc.

You could probably run at 20% power for an unlimited period of time, but you should really contact the manufacturer to verify that. So then you have 20% of power as the limit, and you have a design load moment of inertia $I$, torque is $\tau = I\alpha$, or moment of inertia times angular acceleration, and power is $P = \tau\omega$.

The duty cycle rating cascades down from the power rating to an acceleration limit:

$$P_{\mbox{max}} = \left(\tau_{\mbox{max}}\right)\omega \\ P_{\mbox{max}} = I\left(\alpha_{\mbox{max}}\right)\omega \\$$

Here it's assumed that your angular speed $\omega$ is fixed, because you have some design speed you want to operate at, and the moment of inertia $I$ is fixed, because you have to operate at your design speed with a target load, and so then the only thing that you can vary to get below the power rating is the motor acceleration:

$$\alpha_{\mbox{max}} = \frac{P_{\mbox{max}}}{I\omega} \\$$

This is how you would arrive at an acceleration limit.

You should also include a factor of safety or some other margin in the design, and you should also look at accounting for viscous friction. There are power losses due to friction, and friction force (torque) is proportional to the motor speed:

$$\tau_{\mbox{friction}} = b \omega \\$$

Where $b$ is the viscous friction constant for the motor.

So, if you were to combine the above with the power equation, you get a more complete model:

$$P_{\mbox{max}} = \left(\tau_{\mbox{acceleration}} + \tau_{\mbox{friction}}\right)\omega \\ P_{\mbox{max}} = \left(\tau_{\mbox{acceleration}}\right)\omega + b\omega\omega \\ P_{\mbox{max}} = I\left(\alpha_{\mbox{max}}\right)\omega + b\omega^2 \\$$

That speed squared term is the real killer, and it's why accounting for it is important. Increasing speed by a factor of 10 increases the friction power requirement by a factor of 100.

So, rearrange to get the fuller model for the acceleration limit:

$$\alpha_{\mbox{max}} = \frac{P_{\mbox{max}}-b\omega^2}{I\omega} \\$$

Unfortunately, the only good way to get the viscous friction constant value is by empirical testing. It's complicated by the fact that real motors are inefficient, otherwise you could just calculate input power ($P=IV$), get unloaded top speed $\omega$, and determine the friction constant that way.

The trick would be to alter input power (by varying input voltage) and making a plot of input power versus top speed. You should see that top speed drops off as $1/\sqrt{P}$, but there should be an offset to the data as well. The curve would give you the friction coefficient and the offset gives you the efficiency.

But again, this all requires you to get a quality estimate of the design load (moment of inertia) and top speed. The moment of inertia calculation will be a little harder, but you should be able to do it with a good solid modeling software kit like Solidworks or Inventor.

You could also just try to get motor that is very oversized to what you need and then set the acceleration limit after the fact.