Choosing a Motor

In a motor, speed and torque are related linearly. For a motor with a stall torque of \(T_{max}\), and a free-running rotational speed of \(\dot{\theta}_{max}\), the torque at angular velocity \(\dot{\theta}\) is:

$$T = T_{max} \times \left(1 - \frac{\dot{\theta}}{\dot{\theta}_{max}}\right)$$

This is a straight line, with intercepts at \(T_{max}\) and \(\dot{\theta}_{max}\)

The equations for torque and rotational velocity should then be looked at

$$\begin{align} v &= r\dot{\theta} \\ F &= ma = rT \\ \end{align}$$

From these, we can express the acceleration of the robot in terms of its velocity

$$\begin{align} \therefore a &= \frac{rT}{m} \\ &= \frac{r \times T_{max} \left(1 - \frac{\dot{\theta}}{\dot{\theta}_{max}}\right)}{m} \\ &= \frac{T_{max}}{m} \left(r - \frac{r\dot{\theta}}{\dot{\theta}_{max}}\right) \\ &= \frac{T_{max}}{m} \left(r - \frac{v}{\dot{\theta}_{max}}\right) \\ &= \frac{r \times T_{max}}{m} - \frac{T_{max}}{m \times \dot{\theta}_{max}} v \end{align}$$

At this point, it simplifies things greatly to define constants \(k_1\) and \(k_2\) such that

$$ k_1 = \frac{r \times T_{max}}{m}, k_2 = \frac{T_{max}}{m \times \dot{\theta}_{max}} $$

allowing the earlier equation to be expressed as

$$\begin{align} a &= k_1 - k_2 \times v \\ \Rightarrow \frac{dv}{dt} &= k_1 - k_2 \times v \\ \end{align}$$

This is a differential equation of a standard form, with the solution

$$v = \frac{k_1}{k_2} + ce^{k_2t}$$

Solving the differential equation introduces a constant of integration, \(c\). This is a result of not taking into account the initial speed when \(t = 0\). Using a value of \(v = 0\) when \(t = 0\),

$$\begin{align} 0 &= \frac{k_1}{k_2} + ce^{k_2\times0} = \frac{k_1}{k_2} + ce^0 = \frac{k_1}{k_2} + c \\ \Rightarrow c &= - \frac{k_1}{k_2} \\ \Rightarrow v &= \frac{k_1}{k_2} - \frac{k_1}{k_2}e^{k_2t} = \frac{k_1}{k_2} \left(1 - e^{k_2t}\right) \\ \end{align}$$

This gives a formula for the velocity of a wheel \(t\) second after turning the motor on from rest. By filling in a table of motor characteristics (\(T_{max}\) and \(\dot{\theta}_{max}\)), and calculating \(k_1\) and \(k_2\), graphs of velocity over time can be plotted for each motor. The most suitable motor could then be determined from the graphs