Home > Industry Insights >Servo
TECHNICAL SUPPORT

Product Support

Principles of Controlling Servo Motor Speed: A Complete Guide to PWM and Signal Control

Published 2026-04-09

This article explains the fundamental principles behind controlling the rotational speed of aservomotor, covering the role of pulse‑width modulation (PWM), signal parameters, and practical steps for implementation. Whether you are building a robotic arm, a remote‑controlled vehicle, or an automated positioning system,understanding these principles allows you to precisely manageservorotation speed without relying on any specific brand or proprietary hardware.

01Understanding the Two Types ofservoMotors and Their Speed Control Capability

Before controlling speed, you must identify which type of servo motor you are using – because not all servos allow speed adjustment.

Standard positional servo (0–180° or 0–270° rotation)– Designed to hold a specific angle, not to rotate continuously. Its internal control loop compares the commanded position with the actual position and drives the motor at maximum torque to reach that angle as fast as possible. You cannot directly control its rotational speed; the servo always moves at its maximum designed speed for any angle change.

Continuous rotation servo– Modified or designed to spin freely in either direction. This type removes the internal position feedback, allowing you to control both direction and rotational speed. Most hobby‑grade continuous rotation servos use the same PWM signal format as positional servos, but the pulse width maps to speed (and direction) instead of angle.

Key takeaway:To control servo speed, you must use acontinuous rotation servo(or a standard servo modified for continuous rotation). For standard positional servos, speed control is not natively available.

02Core Principle: Pulse‑Width Modulation (PWM) for Speed Control

The rotational speed of a continuous rotation servo is determined by thewidth of the control pulsesent every 20 milliseconds (50 Hz frequency). This is the industry‑standard signal format for nearly all hobby servos.

2.1 Standard Pulse Width to Speed Mapping

The neutral (zero speed) point is typically a 1.5 ms pulse. Deviations from this value produce proportional speed in one direction or the other.

Pulse Width Effect on Servo
1.5 ms Stop (zero speed, motor holds still)
1.3 – 1.5 ms Reverse rotation, speed increases as pulse width decreases toward 1.3 ms
1.5 – 1.7 ms Forward rotation, speed increases as pulse width increases toward 1.7 ms
Maximum reverse speed
> 1.7 ms Maximum forward speed

Note: Exact endpoints may vary slightly between manufacturers (±0.1 ms), but the linear relationship remains the same.

2.2 Common Case Example: Controlling a Robotic Car’s Wheel Speed

Imagine you are building a small robotic car using two continuous rotation servos as drive wheels. You want the car to move forward slowly, then gradually accelerate.

Forward slow speed:Send a 1.55 ms pulse every 20 ms – just 0.05 ms above neutral. The servo rotates forward at approximately 10% of its maximum speed.

Forward medium speed:Send a 1.60 ms pulse – about 50% speed.

Forward full speed:Send a 1.70 ms pulse – 100% forward speed.

Reverse slow speed:Send a 1.45 ms pulse – about 10% reverse speed.

By incrementing the pulse width in small steps (e.g., 0.01 ms increments), you achieve smooth, proportional speed control. This same principle applies to pan‑tilt mechanisms, conveyor belts, or any application requiring variable rotational speed.

2.3 Why 20 ms Period (50 Hz)?

The 20 ms period is the standard refresh rate for most servos. The servo reads the pulse width once per cycle. Shorter periods (higher frequencies) may cause overheating or erratic behavior, while longer periods (lower frequencies) reduce responsiveness. Always use 50 Hz (20 ms period) as the baseline.

03Step‑by‑Step: How to Implement Speed Control in Practice

Follow these steps to control a continuous rotation servo’s speed using any microcontroller or PWM signal generator.

Step 1: Verify Your Servo is Continuous Rotation

Power the servo and send a 1.5 ms pulse. If it stops or holds position, it may be a standard positional servo (remove feedback if needed).

For a known continuous rotation servo, a 1.5 ms pulse makes the shaft stationary.

Step 2: Generate the 50 Hz PWM Signal

Configure your signal source to output a 20 ms period (50 Hz). The duty cycle determines the pulse width:

Duty cycle (%) = (pulse width in ms / 20 ms) × 100

Examples:

1.5 ms pulse → 7.5% duty cycle

1.3 ms pulse → 6.5% duty cycle

1.7 ms pulse → 8.5% duty cycle

Step 3: Map Desired Speed to Pulse Width

Create a linear mapping function:

Input: desired speed from –100% (max reverse) to +100% (max forward), where 0% = stop.

Output: pulse width = 1.5 ms + (desired speed fraction × 0.2 ms)

Example mapping:

–100% → 1.3 ms

–50% → 1.4 ms

0% → 1.5 ms

+50% → 1.6 ms

+100% → 1.7 ms

Step 4: Send the Signal and Observe

Adjust the pulse width in small increments (e.g., 0.01 ms) to achieve smooth acceleration. Abrupt changes from full reverse to full forward can cause mechanical stress – always ramp the pulse width gradually.

04Common Problems and How to Solve Them

Even with correct principles, real‑world issues affect speed control. Here are typical cases and their solutions.

4.1 Servo Does Not Stop at 1.5 ms

Cause: Manufacturing tolerances or voltage variations shift the neutral point.

Solution: Calibrate your specific servo. Send pulses from 1.4 ms to 1.6 ms and find the exact pulse width where rotation stops. Use that value as your neutral point (e.g., 1.52 ms).

4.2 Speed Is Not Proportional to Pulse Width

Cause: The servo’s internal driver has a dead band – a small pulse range where no motion occurs (usually ±0.03 ms around neutral).

Solution: Operate outside the dead band. For very low speeds, accept that small pulse changes produce no movement; increase the pulse increment to jump past the dead band.

4.3 Speed Changes with Battery Voltage

Cause: Servo motor speed is voltage‑dependent. Lower voltage reduces maximum speed; higher voltage increases it.

Solution: Use a regulated power supply (e.g., 5V or 6V regulated) to maintain consistent speed. For battery‑powered applications, measure voltage and compensate by adjusting the pulse‑to‑speed mapping dynamically if precise speed is critical.

4.4 Jitter or Erratic Speed

Cause: Unstable PWM signal frequency or noisy power.

Solution: Ensure your PWM signal is generated with hardware timers (not software delays) and add a 100–470 µF electrolytic capacitor across the servo’s power terminals to smooth voltage spikes.

05Actionable Recommendations for Reliable Speed Control

Based on the principles above, follow these recommendations to achieve predictable and repeatable servo speed control.

Recommendation 1: Always Calibrate Your Specific Servo

Do not rely on nominal 1.5 ms neutral. Write a simple calibration routine that finds the true stop point.

Record the minimum pulse for full reverse and maximum pulse for full forward.

Recommendation 2: Use Hardware PWM, Not Bit‑Banging

Microcontroller‑generated hardware PWM (e.g., timers in PWM mode) produces stable, jitter‑free pulses. Software delays are too inconsistent for smooth speed ramping.

Recommendation 3: Implement Acceleration Ramping

Never jump from full reverse to full forward instantly. Change pulse width by no more than 0.01–0.02 ms per 50 ms interval to protect the servo and load.

Recommendation 4: Validate Power Supply Capacity

A servo at full speed can draw 500–1500 mA. Ensure your power source can deliver at least twice the rated stall current. A 5V, 2A regulated supply works for most single continuous rotation servos.

06Summary – Core Principles Restated

To control the rotational speed of a servo motor:

1. Use a continuous rotation servo – standard positional servos do not allow speed control.

2. Send a 50 Hz PWM signal (20 ms period) with pulse widths typically ranging from 1.3 ms (max reverse) to 1.7 ms (max forward).

3. The relationship is linear – pulse width proportionally maps to speed, with 1.5 ms being stop.

4. Calibration is mandatory – find the exact neutral and end points for your specific servo.

5. Manage power and signal quality – use regulated voltage, hardware PWM, and acceleration ramping for smooth operation.

07Final Action Plan

If you are starting a project that requires variable servo speed:

Step 1: Purchase or modify a continuous rotation servo (check product specifications for “continuous rotation”).

Step 2: Set up a 50 Hz PWM signal generator (any microcontroller with hardware PWM works).

Step 3: Write a calibration sketch that sweeps pulses from 1.3 ms to 1.7 ms and records observed behavior.

Step 4: Implement a linear mapping from desired speed (%) to calibrated pulse width.

Step 5: Add acceleration ramping and a stable 5V/6V power source.

By following this guide, you will achieve precise, repeatable, and reliable servo speed control for any application – from robotic arms to automated camera sliders.

Update Time:2026-04-09

Powering The Future

Contact Kpower's product specialist to recommend suitable motor or gearbox for your product.

Mail to Kpower
Submit Inquiry
+86 0769 8399 3238
 
kpowerMap