DC Motors: Fast, Weak and Hungry
Two wires and it spins — but volts buy speed, load steals it, and a stalled motor turns into a heater. Meet the H-bridge, the four switches that give a motor a reverse gear.
Builds on: 0.2 PWM: How a Computer Whispers to a Motor
Same idea, other course:Spark: the H-bridge circuit itself
What the volts actually buy
A brushed DC motor is the simplest deal in robotics: voltage in, rotation out. More volts, more speed — nearly proportionally, when spinning free. But the fine print is where all the engineering lives:
- Speed is set by voltage — minus what the load claws back.
- Torque — turning force — is set by current. A hard push means a big draw.
- Stall — blocked completely — means maximum current and zero motion: all that power becomes heat in the windings.
Stall is the classic robot murder weapon, and not only for the motor: the sudden gulp of current drags the battery voltage down, the regulator loses its footing, and the robot’s brain browns out and reboots. A wheel jammed against a wall can reset a whole robot — remember that the first time yours mysteriously restarts mid-run.
The H-bridge: a reverse gear made of switches
A motor reverses when current flows through it backwards. To manage that with digital switches, put four of them around the motor in a diamond — the circuit diagram spells the letter H, motor as the crossbar. Close the top-left and bottom-right switches: current flows one way. Close the other diagonal: it flows the other way.
Feed one side of the bridge with your PWM signal and you have the complete motor vocabulary of last lesson plus a sign: duty cycle for how hard, diagonal for which way. Close both switches on the same side and you have built a short circuit — which is why nobody wires an H-bridge from bare switches: driver chips add the interlocks that make the smoke optional.
Reading the fight: current is truth
You cannot see load from speed alone, but current never lies: it is a live gauge of how hard the motor is fighting. Smart robots watch it — a gripper senses “I am holding something” as a current rise, and a vacuum senses a jammed brush the same way. The cheapest force sensor on the bench is the motor you already own.
A bare DC motor spins thousands of RPM with barely the torque to turn a doorknob — exactly backwards from what robots need. You could buy a huge motor… or trade the useless speed for useful torque with a handful of gears. That trade is lesson three, and it is why almost every “motor” in a robot is secretly a gearmotor.
⚗️ Lab — The Motor Bench
One DC motor on a test stand: PWM duty on one knob, mechanical load on the other, live meters for speed and current.
- Sweep the duty at zero load: speed follows almost linearly.
- Now add load at fixed duty — watch speed sag while current climbs. Volts promise, load negotiates.
- Push the load until the motor stalls and watch the current peg while the brown-out warning fires. Flip the H-bridge diagonal to reverse.
Work it by hand — 0 / 2
No multiple choice here: compute the value and type it. Suffixes like 2.5k or 20m are understood; answers within ±2% count.