BLDC motor selection for robotics projects

When building a robotics project, choosing the right motor is crucial. Brushless DC (BLDC) motors are most commonly used in high performance robotics. Whether you’re developing a mobile robot or a robotic arm, understanding motor specifications helps balance performance, efficiency, and cost. Let’s explore key concepts and trade-offs in motor selection, with some practical examples from our RoboCup team.

Understanding the Basics

BLDC motors are favoured in robotics for their high efficiency, smooth operation, and precise control. Their performance is largely managed by electronic controllers using techniques like Field-Oriented Control (FOC). Popular open source controllers such as the mjbots moteus boards, ODrive, and VESC are frequently used in robotics projects to achieve excellent performance across a wide range of operating conditions. In our projects, we are using the moteus r4 controller.

Key Motor Parameters

  • Kv Rating (rpm/V):
    This indicates the number of revolutions per minute (rpm) the motor produces per volt under no load. For example, a motor with 330 rpm/V will ideally spin at 330 rpm for every applied volt.
  • Torque Constant (K_t):
    Closely related to the Kv rating, the torque constant (usually given in Nm/A) tells you how much torque the motor produces per ampere. A lower Kv motor usually has a higher K_t, meaning it produces more torque for a given current. In robotics, we are often more interested in higher torque (as opposed to high speed), so it is tempting to go for the lowest Kv rating you can find. Unfortunately, it is not that straightforward, and there are a number of trade-offs to consider, depending on what your goals and constraints are.
  • Winding Resistance (R):
    The resistance in the motor windings causes I^2R (copper) losses—energy that is dissipated as heat. Lower winding resistance minimises these losses, improving efficiency.
  • Back-EMF:
    As the motor spins, it generates a voltage (back-EMF) that opposes the applied voltage. This relationship is key to understanding how much voltage your controller must supply to drive both the mechanical load and overcome resistive losses.

Balancing Trade-Offs with Practical Examples

Let’s consider an application where our target is 1000 rpm and a required output torque of about 0.4 Nm. We’ll compare two motors at roughly the same torque.

Example 1: Tarot 4008 BLDC Motor

For our first example, we selected a Tarot 4008 BLDC motor with:

  • Kv rating: 330 rpm/V
  • Winding resistance: 0.168 \Omega
  • Torque constant: Approximately 0.029 Nm/A

This is a motor we use for our RoboCup team. To achieve 0.4 Nm of torque, the required current is:

    \[I = \frac{0.4\,\text{Nm}}{0.029\,\text{Nm/A}} \approx 13.8\,\text{A}.\]

At 1000 rpm, the back-EMF is:

    \[\text{Back-EMF} = \frac{1000}{330} \approx 3.03\,\text{V}.\]

The resistive voltage drop is:

    \[V_R = I \times R = 13.8\,\text{A} \times 0.168\,\Omega \approx 2.32\,\text{V}.\]

Thus, the total required voltage is:

    \[V_{\text{total}} = 3.03\,\text{V} + 2.32\,\text{V} \approx 5.35\,\text{V}.\]

The electrical input power is then:

    \[P_{\text{in}} = V_{\text{total}} \times I \approx 5.35\,\text{V} \times 13.8\,\text{A} \approx 74\,\text{W}.\]

The energy wasted as heat (copper losses) is given by:

    \[P_{\text{loss}} = I^2R = (13.8\,\text{A})^2 \times 0.168\,\Omega \approx 32\,\text{W}.\]

Example 2: Lower Kv Motor with Manufacturer Limits

Now consider a motor with different characteristics:

  • Kv rating: 210 rpm/V
  • Winding resistance: 0.851 \Omega
  • Torque constant: Approximately 0.0455 Nm/A
  • Manufacturer current limit: 10 A

To produce 0.4 Nm, the required current is:

    \[I = \frac{0.4\,\text{Nm}}{0.0455\,\text{Nm/A}} \approx 8.8\,\text{A}.\]

At 1000 rpm, its back-EMF is:

    \[\text{Back-EMF} = \frac{1000}{210} \approx 4.76\,\text{V}.\]

The resistive drop is:

    \[V_R = I \times R = 8.8\,\text{A} \times 0.851\,\Omega \approx 7.49\,\text{V}.\]

Thus, the total required voltage is:

    \[V_{\text{total}} = 4.76\,\text{V} + 7.49\,\text{V} \approx 12.25\,\text{V}.\]

The electrical input power is:

    \[P_{\text{in}} = V_{\text{total}} \times I \approx 12.25\,\text{V} \times 8.8\,\text{A} \approx 108\,\text{W}.\]

The copper losses for this motor are:

    \[P_{\text{loss}} = I^2R = (8.8\,\text{A})^2 \times 0.851\,\Omega \approx 65.8\,\text{W}.\]

In these examples, although the lower Kv motor offers a higher torque constant, its higher winding resistance means that to achieve the same 0.4 Nm torque, it requires more electrical power and wastes more energy as heat.

Efficiency and Heat Generation

Efficiency in motor systems is determined by how much of the electrical energy is converted to mechanical work versus how much is lost as heat. The copper losses (calculated as

    \[P_{\text{loss}} = I^2R\]

)
are a key factor in this energy waste.

  • In Example 1, the Tarot 4008 motor requires about 74 W of input power to produce 0.4 Nm at 1000 rpm, with approximately 32 W lost as heat.
  • In Example 2, the lower Kv motor requires roughly 108 W of input power to achieve the same torque at the same speed, with about 65.8 W dissipated as heat.

That is, the Tarot 4008 motor achieves the desired performance more efficiently (lower power consumption and heat generation). The alternative motor, with the lower Kv value is less efficient, despite offering a higher torque constant at this operating point due to its higher winding resistance. On the other hand, the alternative motor would be able to produce more torque with higher energy consumption (and shorter battery life).

Final Thoughts

Selecting the right BLDC motor for robotics projects involves understanding the interplay between Kv rating, torque constant, winding resistance, and voltage constraints. By weighing these factors, you can choose a motor that meets your speed and torque requirements without excessive power losses or heat generation. Each project will have its own optimal balance of performance and efficiency, so careful analysis is key.