Loading header...

DC Motors

A brushed DC motor is often the first actuator in a mechatronics project because it is easy to power and easy to understand at a practical level: current creates torque, rotation creates back EMF, and the mechanical load decides the operating point. The same model also explains why motors burn drivers during startup, why speed falls under load, and why a motor that works on the bench can fail in a real mechanism.

Learning Objectives

By the end of this lesson, you should be able to:

  • explain torque constant, back EMF, stall current, and no-load speed;
  • read a torque-speed curve and choose a practical operating region;
  • estimate startup current, mechanical power, and driver heat risk;
  • control speed and direction with PWM and an H-bridge;
  • choose feedback, protection, and commissioning checks for a DC motor axis.

Brushed DC Motor Model

The electrical side of a motor can be modeled as winding resistance R, winding inductance L, and a generated voltage called back EMF E.

$$
V = IR + L\frac{dI}{dt} + E
$$

$$
E = K_e\omega
$$

$$
\tau = K_t I
$$

where V is terminal voltage in volts, I is winding current in amperes, E is back EMF in volts, omega is speed in rad/s, tau is torque in N m, and K_e and K_t are motor constants. In SI units, K_e in V/(rad/s) and K_t in N m/A have the same numerical value for an ideal motor.

At startup, omega = 0, so E = 0. Current is then limited mainly by winding resistance and the driver:

$$
I_\text{stall} = \frac{V}{R}
$$

This is why no-load current is a poor driver-sizing number. A motor that runs at 300 mA with no load may demand several amperes during startup, reversal, or a jam.

Torque-Speed Curve

A brushed DC motor has maximum torque at stall and maximum speed at no load. Between those points, the ideal torque-speed curve is approximately linear.

flowchart LR STALL["Stall: high torque, zero speed"] --> MID["Useful region: torque margin, airflow, controlled heat"] --> NOLOAD["No load: high speed, low torque"] MID --> LOAD["Choose operating point from real load torque"]

Use the continuous region of the datasheet, not the absolute stall point, for sustained motion. Gearmotors need the same check after gearbox ratio and efficiency. Gearboxes multiply torque and reduce speed, but backlash, friction, noise, and output-shaft load limits still matter.

PWM Speed Control

Most embedded systems control a DC motor through a MOSFET driver or H-bridge using pulse-width modulation. PWM changes the average voltage applied to the motor, while winding inductance and mechanical inertia smooth the response.

title "PWM command and motor response, illustrative"
time start=0 end=10 unit=ms divisions=10
PWM: square label="PWM, 40 percent duty" low=0 high=12 duty=40 cycles=5 unit=V color=#2563eb
I: exponential label="Winding current ripple trend" from=0.4 to=1.0 tau=2 unit=A color=#dc2626
SPEED: exponential label="Speed rises slowly" from=0 to=1200 tau=4 unit=rpm color=#16a34a
marker ENABLE at=1 label="enable"

PWM frequency is a design choice. Low frequencies may create audible whine and large current ripple. Very high frequencies increase switching loss. Practical motor drivers often use values from several kilohertz to tens of kilohertz; follow the driver datasheet and verify temperature.

H-Bridge Direction Control

An H-bridge reverses motor polarity and can support drive, coast, brake, and current-regulated modes.

flowchart LR MCU["MCU PWM and DIR"] --> DRV["H-bridge driver"] SUP["Motor supply"] --> DRV DRV --> M["DC motor"] M --> LOAD["Gearbox or mechanism"] SENSE["Current sense or fault"] --> MCU ENC["Encoder optional"] --> MCU

Never drive both switches in one bridge leg at the same time. That shoot-through path can destroy the driver faster than firmware can react. Use a proper motor-driver IC unless you are deliberately designing and validating a power stage.

Worked Example

A 12 V brushed DC gearmotor has winding resistance 3 ohm, no-load current 0.25 A, no-load speed 500 rpm, and rated continuous current 1.2 A.

Stall current:

$$
I_\text{stall} = \frac{12}{3} = 4\ A
$$

Continuous electrical input at rated current:

$$
P_\text{in} = VI = 12 \times 1.2 = 14.4\ W
$$

If the mechanism needs 0.18 N m at the gearbox output and the motor datasheet shows that torque requires about 1.0 A, the selected driver should not be a 1 A peak device. A practical choice would tolerate at least the expected running current continuously, survive startup current or current-limit it, and include thermal shutdown and fault reporting.

Feedback Options

Open-loop PWM is enough for fans, pumps, simple conveyors, and toys where exact speed is not critical. Use feedback when speed, position, or safety matters.

  • Tachometer: measures speed for closed-loop speed control, but does not provide absolute position.
  • Encoder: measures position and speed for wheels, axes, and robotics; protect the wiring from noise and missed counts.
  • Limit switch: gives a known end position for homing and travel limits, but is not continuous feedback.
  • Current sense: helps detect load changes and stalls, but current alone does not uniquely indicate position.

Safety and Protection

Motors are inductive, high-current loads. Bench testing should begin with a current-limited supply and a loose mechanical setup where unexpected motion cannot injure anyone or damage the machine.

  • Use a driver with current limiting or choose a supply and fuse that tolerate startup without unsafe energy release.
  • Add flyback or recirculation paths; integrated drivers usually provide these internally.
  • Put bulk capacitance near the driver supply pins as recommended by the datasheet.
  • Separate motor return current from sensor reference wiring.
  • Add end stops, guards, and emergency-stop behavior where motion can pinch, crush, or overtravel.

Practical Commissioning Checks

  1. Measure winding resistance with the motor disconnected and estimate stall current.
  2. Verify shaft, gearbox, belt, or wheel motion by hand before powering the driver.
  3. Start with a current-limited supply and low PWM duty.
  4. Confirm direction commands before connecting the final mechanism.
  5. Increase load gradually while recording current, driver temperature, and supply droop.
  6. Test stall or jam detection briefly and safely; do not hold the motor stalled unless the design is rated for it.
  7. If feedback is used, compare commanded speed or position against measured behavior.

Common Mistakes

  • Selecting the driver from no-load current instead of peak and continuous current.
  • Treating PWM duty as exact speed under every load.
  • Ignoring gearbox output torque limits and backlash.
  • Driving a motor directly from a GPIO pin or small linear regulator.
  • Forgetting shared ground or proper isolation between controller and driver.
  • Testing an unloaded motor and assuming the real mechanism will behave the same way.

Summary

A DC motor is governed by two coupled facts: current creates torque, and rotation creates back EMF. Use stall current for protection thinking, torque-speed curves for selection, PWM plus an H-bridge for control, and measured current, speed, temperature, and motion feedback for verification.

Further Reading

  • Texas Instruments, brushed DC motor driver application reports.
  • Pololu, DC motor and gearmotor selection guides.
  • Maxon, DC motor formulas and torque-speed curve explanations.
  • STMicroelectronics, H-bridge protection and layout guidance.

Mind Map

mindmap root((DC Motor)) Core concept Current makes torque Speed makes back EMF Load sets operating point PWM changes average voltage Formulas V equals I R plus L dI dt plus E E equals Ke omega Torque equals Kt I Istall equals V over R Pmech equals torque times omega Applications Wheels and belts Pumps and fans Gearmotors Small robot axes Design rules Size for stall current Use torque speed curve Add current limit Keep motor returns separate Use feedback for accuracy Practical checks Measure winding R Verify direction first Watch supply droop Check driver heat Test jam response Common mistakes No load current sizing GPIO drive Duty equals exact speed Ignoring gearbox limits No thermal test