RFrftools.io
Motor

PWM Duty Cycle to Motor Voltage

Convert PWM duty cycle to effective motor voltage, calculate no-load speed and stall current for DC motor PWM control.

Loading calculator...

Formula

V_eff = V_s × D, n₀ = V_eff × Kv

DDuty cycle (0–1)
KvMotor speed constant (RPM/V)

How It Works

Pulse-width modulation (PWM) controls the average voltage delivered to a DC motor by rapidly switching the supply on and off at a fixed frequency. The duty cycle (D) is the ratio of on-time to period, expressed as a percentage. Average motor voltage equals D × V_supply, and average speed is approximately proportional to this voltage for a given load. At low duty cycles, sufficient current must still flow to overcome static friction (the minimum duty cycle to move the motor is called the deadband threshold).

Worked Example

A 24 V DC motor must run at 60% of its rated speed using a PWM controller at 20 kHz. Step 1 — Required duty cycle: D = 60% → D = 0.60 Step 2 — Average voltage applied to motor: V_avg = 0.60 × 24 V = 14.4 V Step 3 — PWM period and on-time: T = 1 / 20000 = 50 µs t_on = 0.60 × 50 µs = 30 µs t_off = 50 µs − 30 µs = 20 µs Step 4 — Estimate motor current ripple (motor inductance L = 2 mH): ΔI = (V_supply × D × (1−D)) / (L × f) ΔI = (24 × 0.60 × 0.40) / (0.002 × 20000) = 5.76 / 40 = 0.144 A Result: Set the PWM timer for a 30 µs high pulse in a 50 µs period. The 0.14 A current ripple is acceptable for a 2 mH motor winding.

Practical Tips

  • Choose PWM frequency above 20 kHz to avoid audible noise; for large inductive motors use 5–20 kHz where switching losses are acceptable
  • Add a bootstrap or high-side gate driver when driving the high-side MOSFET of an H-bridge — a logic-level MOSFET cannot be fully enhanced from a fixed supply rail
  • Measure motor temperature during extended low-duty-cycle operation — the motor may receive insufficient cooling airflow from its own fan at low speeds

Common Mistakes

  • Using too low a PWM frequency (< 1 kHz) for brushed motors — audible whining and high current ripple cause overheating and brush wear
  • Ignoring the motor's minimum duty cycle threshold — below ~10–20% the motor may not turn but will still draw stall current
  • Driving a motor with a GPIO pin directly instead of a gate driver — GPIO pins cannot source the peak gate charge needed for fast MOSFET switching

Frequently Asked Questions

The motor's mechanical resonance frequency can be excited by the PWM switching frequency or its harmonics. Try sweeping the PWM frequency; resonance typically disappears when you move 20–30% away from the resonant frequency. Operating above 20 kHz eliminates audible noise entirely.
Yes. Higher PWM frequency reduces current ripple and therefore I²R losses in the winding, but increases MOSFET switching losses. For small motors the crossover is typically 20–50 kHz. Large industrial motors are driven at lower frequencies (1–4 kHz) where core losses dominate.
The relationship is approximately linear for a given load, but speed at a given duty cycle changes with load torque. At higher loads, more voltage drop occurs across winding resistance, so actual speed is lower than the open-loop estimate. A speed feedback loop (encoder + PID) corrects for this non-linearity.

Shop Components

Affiliate links — we may earn a commission at no cost to you.

Stepper Motors (NEMA 17)

NEMA 17 bipolar stepper motors for precision motion

Motor Driver ICs

Integrated stepper and DC motor driver ICs

DC Motors (12 V)

12 V brushed DC motors for general-purpose drive applications

Related Calculators