The Direct Answer: Sizing a PWM DC Motor for Your Load

To properly size a pulse width modulation DC motor for a mechanical load, calculate the continuous running torque required by your mechanism and multiply that value by 1.5. This 50% safety margin accounts for startup inrush current, transient friction spikes, and voltage sag under load. For the vast majority of high-torque DIY robotics, linear actuators, and conveyor projects, the default concrete pick is a 24V 775 Brushed DC Gearmotor (50:1 ratio) paired with a BTS7960 43A H-Bridge driver.

Let us ground this in a worked numeric example. Suppose you are building a DIY solar panel linear actuator that must push a 50 lb (222 N) load using a 5mm pitch lead screw with 90% mechanical efficiency.

Worked Load Example:
1. Required Torque: Torque = (Force × Pitch) / (2 × π × Efficiency)
2. Calculation: (222 N × 0.005 m) / (2 × 3.1415 × 0.9) = 0.196 Nm continuous torque.
3. Sizing Margin: 0.196 Nm × 1.5 = 0.294 Nm target motor output.
4. Motor Selection: A standard bare 775 motor at 12V produces roughly 0.15 Nm at peak efficiency. By adding a 50:1 planetary gearbox (assuming 80% gearbox efficiency), the output torque becomes 0.15 × 50 × 0.8 = 6.0 Nm. This provides massive headroom for binding and startup loads, ensuring the motor never stalls under normal conditions.

By oversizing the mechanical torque capacity via gearing rather than simply buying a higher-wattage motor, you keep the electrical current draw low, which drastically simplifies your pulse width modulation DC motor driver requirements and reduces I²R heating in your wiring.

Motor Type Comparison: Brushed DC vs. BLDC vs. Stepper

Not all motors respond to PWM the same way. While PWM is universally used to regulate power, the underlying physics of the motor dictate the driver topology. Here is how the three main contenders stack up for variable-speed, high-torque applications.

Motor Type Torque Curve Profile PWM Control Needs Typical Cost (100W Class)
Brushed DC Maximum torque at zero RPM (stall); drops linearly as speed increases. Simple 2-wire H-Bridge (handles direction and speed via PWM duty cycle). $15 - $35
Brushless DC (BLDC) High torque across a wide RPM band; requires electronic commutation to maintain. 3-phase ESC or FOC (Field Oriented Control) driver; complex Hall-sensor feedback. $45 - $120
Stepper Massive holding torque at zero RPM; torque collapses rapidly above 1000 RPM. Step/Dir driver with microstepping; PWM is used internally for current chopping, not speed. $25 - $60

If your application requires high holding torque while powered off or at zero speed (like a CNC Z-axis), choose a stepper. If you need extreme efficiency and operate above 200W continuously, choose a BLDC. However, if you need simple variable speed control, high starting torque, and low controller complexity for under $50, the brushed DC motor is the undisputed winner.

Wiring, Terminals, and Driver Selection

A pulse width modulation DC motor requires an H-Bridge driver to handle bidirectional control and dynamic braking. A single MOSFET can only spin a motor in one direction and cannot actively brake it. For our default 24V 775 gearmotor recommendation, the BTS7960 43A H-Bridge is the industry-standard workhorse. It utilizes two high-current N-channel and P-channel MOSFET pairs in a half-bridge configuration.

According to the Texas Instruments Motor Driver Guide, proper H-bridge wiring requires strict attention to power and logic separation to prevent microcontroller brownouts.

BTS7960 Terminal Identification and Wiring

  • B+ and B-: Main motor power supply (e.g., 24V DC). Use minimum 10 AWG silicone wire for runs under 3 feet to prevent voltage drop.
  • M+ and M-: Motor terminals. Polarity dictates forward/reverse direction. Connect your 775 motor brushes here.
  • VCC and GND: Logic power (5V). Connect to your Arduino/ESP32 5V pin and ground. Never power the logic side from the raw 24V motor supply.
  • R_PWM and L_PWM: Right and Left PWM inputs. Connect to your microcontroller's hardware PWM pins (e.g., Arduino Pins 9 and 10). Apply a 16kHz - 20kHz PWM signal here.
  • R_EN and L_EN: Enable pins. Must be pulled HIGH (5V) for the respective half-bridge to activate. Tie them together and connect to a digital output pin or directly to 5V.
Flyback Diode Note: The BTS7960 module includes built-in body diodes across the MOSFETs to handle inductive kickback (back-EMF) when the PWM signal switches off. If you are building a custom H-bridge from discrete MOSFETs (like IRFB4110s), you must add external Schottky flyback diodes (e.g., 10A10) across each motor terminal to the power rails, or the voltage spike will instantly punch through the MOSFET junctions.

Failure Signatures: Diagnosing Hum, Overheat, and Stall

When a pulse width modulation DC motor system fails, it rarely does so silently. The physical symptoms map directly to electrical faults. Here is how to diagnose the three most common failure modes on the bench.

1. The Audible Hum or Whine

Symptom: The motor emits a high-pitched whine or low hum, especially at low speeds, and may vibrate without turning.

Cause: Your PWM switching frequency is set within the human audible range (typically 50 Hz to 4 kHz). The magnetostriction in the motor's stator laminations and the physical vibration of the windings act as a speaker cone.

Fix: Increase your microcontroller's PWM timer frequency to at least 16 kHz (preferably 20 kHz). On an Arduino Uno, this requires manipulating the Timer1 registers to push the frequency above human hearing. For ESP32 users, use the LEDC library and set the frequency parameter to 20000.

2. Overheat (Motor and Driver)

Symptom: The motor casing exceeds 60°C (too hot to hold for more than 3 seconds), or the H-Bridge MOSFETs are burning your fingers despite having a heatsink.

Cause: Continuous current exceeds the thermal dissipation limits of the system. In the driver, this is caused by I²R losses across the MOSFET's Rds(on) (drain-source on-resistance). In the motor, it is copper winding resistance heating.

Fix: Verify your continuous load current. The BTS7960 is rated for 43A peak, but only about 15A-20A continuous without aggressive forced-air cooling. If your load draws 25A continuously, you must parallel two BTS7960 modules or upgrade to an industrial brushless ESC. For the motor, ensure you are not operating at a duty cycle that forces it to run near its stall torque continuously.

3. The Catastrophic Stall

Symptom: The mechanical load jams. The motor stops spinning, current spikes massively, and the driver or motor windings melt, often resulting in 'magic smoke'.

Cause: When a DC motor spins, it generates back-EMF (voltage opposing the supply), which naturally limits current draw. When the rotor stalls, back-EMF drops to zero. The only thing limiting current is the armature resistance, which is extremely low. For a 775 motor with 0.6 ohms of resistance on a 24V supply, a stall results in 40A (24V / 0.6Ω) drawing 960W of pure heat directly into the copper windings.

Fix: You must implement stall protection. Hardware: Place a fast-blow automotive fuse rated 125% above your maximum running current (e.g., a 15A fuse for a 10A running load) on the B+ line. Software: Use a current sensor (like the ACS712-30A) wired to an ADC pin. If the microcontroller reads current exceeding the threshold for more than 200 milliseconds, immediately set the PWM duty cycle to 0.

The Decision Tree: Picking Your Exact Motor and Driver

Use this decision path to lock in your hardware selection. Do not overcomplicate the drive system if a simpler topology satisfies the mechanical requirements.

Load Requirement Decision Path Hardware Pick
Needs to hold position perfectly at zero speed without mechanical brakes. Select Stepper. Use a step/dir driver. Accept poor high-speed torque. NEMA 23 Stepper + TB6600 Driver
Requires >500W continuous output, high RPM, and maximum electrical efficiency. Select BLDC. Use a 3-phase ESC. Accept complex wiring and higher cost. Turnigy Multistar 4238 BLDC + Hobbywing Skywalker 60A ESC
Requires high starting torque, variable speed via simple PWM, and operates under 300W. Select Brushed DC. Use an H-Bridge. Prioritize gearing over raw motor wattage. 24V 775 Brushed DC (50:1 Gearbox) + BTS7960 43A H-Bridge

For 90% of maker, robotics, and automated home projects involving linear motion, winches, or heavy-duty wheels, the 24V 775 Brushed DC Gearmotor with a BTS7960 driver is the definitive choice. It provides immense mechanical torque through gearing, keeps electrical current within safe limits for standard DIY wiring, and allows for straightforward speed and direction control using basic microcontroller PWM pins. Size your wiring for the stall current, add a fast-blow fuse, and keep your PWM frequency above 16 kHz to ensure a quiet, reliable, and long-lasting drive system.

For deeper reading on the physics of back-EMF and armature reaction in these systems, refer to the All About Circuits DC Motor Theory chapter, which details the exact mathematical relationship between rotational speed and current limiting.