Need help in torque calculation

  • #1

I need a little help here. I need to pick a DC motor to be used on a robot. I'm trying to calculate a minimum torque the motor should be able to produce, but I'm a little confused.

torque = Force * distance = Mass * acceleration * distance

(Ignoring moment of inertia created by the motor's load)

Mass will be the total mass of the robot, distance the radius of the wheels to be chosen. But how do I quantify acceleration?? I was thinking maybe determining how fast I want the velocity to "ramp" up to the max value, and use that slope.

Or perhaps there is an easier way to calculate the torques I should be accounting for.

Any ideas?

Answers and Replies

  • #2
Well, if the motor had a constant torque throughout is entire speed range, then your method would be fine. However, most motors will have a decreasing torque as the speed increases, with maximum torque at 0 rpm and no torque at its maximum operating speed.

So then you have an equation where the force of the wheel depends on the speed that the robot is going.

[Edit: I'm at work, so I will be a little bit before I can work on figuring out what you need]
Last edited:
  • #3
Ok, so I have it where the torque [itex]\tau = \tau_{max}[/itex] when the angular speed [itex]\omega = 0[/itex] and [itex]\tau = 0[/itex] when [itex]\omega = \omega_{max}[/itex].

If we set [itex]\tau = F * r[/itex] and [itex]\omega = v / r[/itex], that gives us a linear equation relating the force to the speed:

[itex]F * r = \tau_{max} * (1 - \frac{v}{r * \omega_{max}})[/itex]

Or if we use [itex]F = m * a[/itex] and solve for [itex]a[/itex]:

[itex]a = \frac{\tau_{max}}{m * r} - \frac{\tau_{max}}{m * r^2 * \omega_{max}} * v[/itex]

Since [itex]a =\frac{d}{dt}v[/itex], this is an ODE of [itex]v[/itex] and [itex]t[/itex]:

[itex]\frac{d}{dt}v + \frac{\tau_{max}}{m * r^2 * \omega_{max}} * v = \frac{\tau_{max}}{m * r}[/itex]

Solving this gives us the equation:

[itex]v(t) = r * \omega_{max} + A e^{-\frac{\tau_{max}}{m * r^2 * \omega_{max}} t}[/itex]

To solve for [itex]A[/itex] we set [itex]v(0) = 0[/itex] and get [itex]A = -r * \omega_{max}[/itex], so the final equation is:

[itex]v(t) = r * \omega_{max} (1 - e^{-\frac{\tau_{max}}{m * r^2 * \omega_{max}} t})[/itex]

So it's not quite so simple to just say how much torque should you look for, you also need the max angular speed it will go.
Last edited:
  • #4
Starting from the equation I left off at:

[itex]v(t) = r * \omega_{max} (1 - e^{-\frac{\tau_{max}}{m * r^2 * \omega_{max}} t})[/itex]

We can then solve for the max torque that you would be looking for:

[itex]-\frac{m * r^2 * \omega_{max}}{t} * \ln (1 - \frac{v}{r * \omega_{max}}) = \tau_{max}[/itex]

Since the torque we are looking for is positive and real, that confines the inside of our logarithm to be between 0 and 1, that means that [itex]v[/itex] is between [itex]0[/itex] and [itex]r * \omega_{max}[/itex].

Related Threads on Need help in torque calculation