FixTheRobot Explore Robotics / Systems Engineering / Design & Selection / Module 03

Design & Selection · Module 03

Selecting a motor type

Pick the motor type from the job: speed, torque, feedback and efficiency. Then check the motor constants on its datasheet.

  • Intermediate
  • Module 03: Actuators, Motors, Electrical & Power Integration
  • Written for ROS 2 Jazzy where ROS 2 is used
  • Sources checked 2026-11-05

Assumptions: Numbers in the examples are illustrative and the code is executed by the site’s tests. Type and characteristic summaries are general engineering knowledge; always confirm values on the datasheet of the part you use.

1. Engineering problem

The motor type decides the driver, the wiring, the feedback and the failure modes. A wrong choice shows up late as heat, noise or lost steps.

2. When is this needed?

  • After the torque and speed requirements are known (see the motor sizing guide).
  • Before choosing a driver or gearbox.
  • When a motor overheats or cannot hold speed.

3. Selection and design decisions

Typical properties (general engineering knowledge; confirm every number on the datasheet of the motor you consider):

Overview
TypeCommutation and feedbackStrengthsWeaknesses
Brushed DCBrushes and commutator; simple drive; encoder optionalCheap, simple driveBrush wear, noise, lower efficiency
BLDC (brushless DC)Electronic commutation from Hall sensors or an encoder; needs a dedicated driver or ESCEfficient, long life, high torque densityDriver and commutation complexity
StepperOpen-loop stepping; microstepping driverHolds position without feedback at low speed, simple positioningLoses steps if overloaded, torque falls with speed, runs hot; resonances
Servo (motor with drive and feedback)Closed loop with an encoder, torque, speed or position modeAccuracy, protection, tuned responseCost

4. Advantages and disadvantages

  • Efficiency and life favour BLDC; lowest cost and simplicity favour brushed DC.
  • Steppers avoid feedback hardware but cannot report a lost step unless an encoder is added.
  • An integrated servo drive trades price for fewer integration problems.

5. Requirements and constraints

  • Supply voltage and current limits of the driver must cover the motor’s rated and peak values.
  • Feedback type and resolution must match the controller.
  • Continuous torque, not peak torque, sets the thermal limit.

6. Architecture

controller ─▶ driver (H-bridge / three-phase / microstepping) ─▶ motor ─▶ gearbox ─▶ load
                    ▲                                  │
                    └──────── encoder / Hall feedback ◀─┘

7. Implementation

  1. Compute continuous and peak torque and speed at the shaft.
  2. Shortlist types by the table above.
  3. Read Kt, Ke, winding resistance, rated and peak current and thermal limits from the datasheet.
  4. Check that the torque constant gives the needed torque below the rated current.
  5. Choose a driver rated for the voltage and current, with the feedback interface you need.
import math
rpm, v_emf, r = 1910, 12.0, 0.1               # measured: 12 V back-EMF at 1910 rpm, winding resistance 0.1 ohm
w = rpm * 2 * math.pi / 60
ke = v_emf / w                                 # V·s/rad
kt = ke                                        # in SI units Kt (N·m/A) equals Ke (V·s/rad)
i = 0.5 / kt
print(f"omega = {w:.1f} rad/s, Ke = Kt = {kt:.3f}")
print(f"current for 0.5 N·m = {i:.1f} A, copper loss at {r} ohm = {i * i * r:.1f} W")

Printed (checked by the site’s tests):

omega = 200.0 rad/s, Ke = Kt = 0.060
current for 0.5 N·m = 8.3 A, copper loss at 0.1 ohm = 6.9 W

Reading it: back-EMF constant and torque constant are the same number in SI units (V·s/rad and N·m/A). Delivering 0.5 N·m needs 8.3 A with the illustrative constant, and at 0.1 Ω the winding dissipates 6.9 W, which is the heat the thermal design must remove. The numbers are made up to show the method; use your datasheet.

8. Real examples

  • Differential-drive AMR: BLDC hub or geared BLDC motors with encoders, driven by a CAN or UART motor controller.
  • Low-cost line follower: brushed DC motors with a simple H-bridge.
  • 3D printer-style positioning: steppers with microstepping drivers.

9. Failure scenarios

  • A stepper used for a wheel drive stalls on a slope and the robot loses position without knowing.
  • A motor chosen on peak torque overheats at continuous load.
  • A driver’s voltage rating below the battery’s fully charged voltage.

10. Troubleshooting

  1. If the motor is hot, compute the required continuous current from the torque and Kt and compare with the measured current.
  2. If speed is lower than expected, check the supply voltage under load against Ke times the target speed.
  3. If the motor jitters, check feedback wiring and loop tuning.

11. Validation

  • The example prints the values above (executed by the site tests).
  • Required continuous torque is below the rated torque with margin.
  • Supply voltage covers the target speed plus the driver’s losses.

12. Engineering checklist

13. Further references

  • Datasheet of the specific motor and driver (Kt, Ke, winding resistance, rated and peak current, thermal resistance). The type summaries above are general engineering knowledge and are not drawn from a single cited source.

Related on FixTheRobot