How PWM Affects Motor Torque and Speed

Pulse Width Modulation (PWM) Control / Visits:4

If you've ever built a robot, tinkered with an RC car, or automated a small model, you've likely held a micro servo motor in your hand. These ubiquitous little devices, often no larger than a matchbox, are the muscles of the maker world. They can position a camera, steer a vehicle, or wave a flag with seemingly effortless precision. But beneath that plastic gearbox lies a fascinating interplay of electrical signals and mechanical force, all orchestrated by a technique so fundamental to modern electronics that it deserves a spotlight: Pulse Width Modulation (PWM).

This isn't just about making a motor move; it's about commanding exactly how it moves. For engineers, hobbyists, and students, understanding the relationship between PWM, torque, and speed in a micro servo is the key to unlocking true control and efficiency in your projects.


The Heartbeat of Control: What is PWM?

Before we dive into motors, let's break down the star of the show. Pulse Width Modulation (PWM) is a method of simulating an analog signal using a digital output. It does this by rapidly switching power on and off. The key parameters are: * Frequency: How often the pulse repeats per second (e.g., 50 Hz). * Period: The time duration of one on/off cycle (Period = 1 / Frequency). * Duty Cycle: The percentage of one period where the signal is ON.

Imagine a light switch flicking on and off 100 times a second. If it's on for 90% of each cycle, the room will be very bright (90% duty cycle). If it's on for only 10%, the room will be dim (10% duty cycle). Your eyes perceive this as varying brightness, not a flicker. PWM works on the same principle for motors, LEDs, and heaters—controlling the average power delivered.

Why Digital Devices Love PWM

Microcontrollers like Arduino, Raspberry Pi Pico, or ESP32 are digital. They excel at outputting a crisp 5V (HIGH) or 0V (LOW). They struggle to output a smooth 2.3V. PWM solves this elegantly. By modulating the width of their "HIGH" pulses, they can effectively command any average voltage between 0V and 5V. This digital-to-analog trickery is the perfect language for talking to micro servos.


Anatomy of a Micro Servo: More Than Just a Motor

A standard hobbyist micro servo (like the ubiquitous SG90) is a marvel of integrated engineering. It is a closed-loop positional system in a tiny package. Unlike a simple DC motor that spins freely, a servo is designed to move to and hold a specific angular position.

Key Internal Components:

  1. DC Motor: The primary source of mechanical power and rotation.
  2. Gear Train: A series of plastic or metal gears that drastically reduces the motor's high RPM to slower, higher-torque output at the servo horn.
  3. Potentiometer (Feedback Sensor): Mechanically linked to the output shaft. It provides a voltage signal corresponding to the motor's current absolute position.
  4. Control Circuit: The brain of the operation. It compares the target position (from the incoming PWM signal) with the current position (from the potentiometer) and drives the DC motor to eliminate the difference.

This feedback loop is what makes a servo "servo." The PWM signal doesn't directly power the motor; it informs the control circuit of the desired destination.


The Secret Language: Decoding Servo PWM Signals

For a standard analog micro servo, PWM is not about speed control; it's a positional command. The industry has settled on a common, yet specific, protocol:

  • Signal Frequency: Typically 50 Hz (a pulse every 20 milliseconds). Some servos can operate at higher frequencies (e.g., 100 Hz, 300 Hz) for faster response.
  • Pulse Width Range: Usually between 1.0 milliseconds (ms) and 2.0 ms.
  • Duty Cycle Interpretation: The control circuit ignores the duty cycle percentage and measures only the absolute pulse width.
    • ~1.0 ms Pulse: Commands the servo to its minimum angular position (often 0 degrees or -90 degrees).
    • ~1.5 ms Pulse: Commands the servo to its neutral position (often 90 degrees or 0 degrees, depending on model).
    • ~2.0 ms Pulse: Commands the servo to its maximum angular position (often 180 degrees or +90 degrees).

A pulse width of 1.3 ms would command a position about 45 degrees from the minimum. This is a proportional control scheme.

The Critical Timing Window

It's crucial to understand that the servo expects this pulse every 20ms or so. The control circuit is constantly sampling this signal. If the pulses stop, most servos will de-energize and can be moved freely (a feature, not a bug). This is different from using PWM to directly control a DC motor's voltage, where the frequency can be much higher (in the kHz range) to avoid audible noise.


Where Torque and Speed Actually Come From

Now, let's address the core question: How does PWM affect torque and speed in this system? The answer is nuanced because the PWM signal we send is a position command, not a direct power command.

Indirect Control of Speed

You cannot directly set the servo's rotational speed with the signal pulse width. However, you can simulate speed control. How? 1. You send a PWM command for Position A. 2. The servo's internal control circuit detects a large error between its current position and Position A. 3. It responds by applying full available voltage to its internal DC motor to move quickly toward the target. 4. As the servo approaches Position A, the error shrinks, and the control circuit reduces power to the motor to avoid overshoot, causing it to slow down and stop precisely.

Simulating Movement: To make a servo sweep smoothly, you don't change the duty cycle of a single pulse. Instead, you send a rapid sequence of different positional commands. By incrementing the target position from 1.0ms to 2.0ms in small steps with a short delay between commands, you create the illusion of continuous speed. The "speed" is determined by the size of your increments and the delay: * Large increments + short delay = fast, jerky movement. * Small increments + moderate delay = slow, smooth movement.

The Source and Limits of Torque

Torque is fundamentally a property of the servo's hardware: the power of its internal DC motor, the reduction ratio of its gear train, and the efficiency of its design. The PWM signal does not increase the servo's maximum stall torque.

However, PWM directly dictates how that available torque is applied: * At the Commanded Position: When holding a position against an external force (like a robot arm holding weight), the servo is in a constant state of tiny correction. The PWM signal defines the setpoint. If a force tries to move the servo, the potentiometer detects the change, and the control circuit energizes the motor to apply counter-torque and return to the commanded PWM position. It will apply up to its maximum stall torque to maintain that position. * During Movement: The torque applied during motion is the maximum the system can provide to overcome inertia and load, governed by the internal control loop's aggressiveness (its "gain").

The Voltage Connection: The average voltage supplied to the servo's power line (Vcc/GND) does directly affect its potential maximum torque and speed. A micro servo rated for 4.8V-6V will be weaker and slower at 4.8V and stronger/faster at 6.0V. This is a separate power supply issue, distinct from the signal PWM.


Advanced Considerations: Going Beyond the Basics

Digital vs. Analog Micro Servos

  • Analog Servos: Use a simple analog circuit for the control board. They update the motor power based on the error signal at roughly 50 Hz. This can lead to a slight "jitter" at rest and slower response.
  • Digital Servos: Contain a microprocessor. They can use much higher internal frequencies (e.g., 300 Hz) to sample the potentiometer and PWM signal, and update the motor power. This results in:
    • Higher Holding Torque: Faster correction means less "give" when a load is applied.
    • Faster Movement: They can respond more quickly to signal changes and accelerate their internal motor harder.
    • Smoother Operation: Often less deadband around the neutral point.
    • Slightly Higher Power Consumption: Due to the constant high-frequency processing.

Both types use the same standard 50Hz PWM signal from your microcontroller. The difference is in how they process it internally.

The Limits of the System: Deadband, Load, and Heat

  • Deadband: This is the minimum amount of pulse width change required to cause the servo to move. A deadband of 5µs means sending pulses of 1.500ms vs. 1.505ms may not produce movement. This prevents jitter from signal noise.
  • Effect of Load: Under a heavy load, a servo will move more slowly to its commanded position because its internal motor cannot generate enough torque to accelerate quickly. It may even "stall" if the load exceeds its maximum torque, drawing excessive current.
  • Heat Generation: A servo working hard to hold a position against a force or moving constantly is dissipating energy as heat. This is the primary cause of servo failure. Using a servo within its rated torque limits and providing adequate operating voltage are critical for longevity.

Practical Tips for Optimal PWM Control

  1. Use a Dedicated Power Supply: Never power a servo directly from your microcontroller's 5V pin for anything beyond testing. Servos under load cause sudden current spikes ("brown-outs") that can reset your MCU. Use a separate, regulated power source with common grounds.
  2. Beware of Software PWM: Using analogWrite() on an Arduino can work for simple testing, but it may not provide the stable, jitter-free timing critical for precise control. For multiple servos, always use the dedicated Servo.h library (which uses hardware timers) or a dedicated PWM/Servo driver chip (like the PCA9685).
  3. Understand Your Servo's Specifications: Know its operating voltage range, stall torque (e.g., 1.8 kg-cm @ 4.8V), and speed (e.g., 0.12 sec/60° @ 4.8V). These hardware limits define the envelope of what your PWM commands can achieve.
  4. Smoothing Movements in Code: For fluid, robotic motion, implement easing functions (like cubic ease-in-out) in your code to calculate the sequence of target positions, rather than linear steps. This creates more natural acceleration and deceleration profiles.

Copyright Statement:

Author: Micro Servo Motor

Link: https://microservomotor.com/pulse-width-modulation-pwm-control/pwm-motor-torque-speed.htm

Source: Micro Servo Motor

The copyright of this article belongs to the author. Reproduction is not allowed without permission.

About Us

Lucas Bennett avatar
Lucas Bennett
Welcome to my blog!

Tags