Should servo pulsing be referred to as PWM?

Weekend philosophy.....

In a recent thread, someone (who may, or may not, have been Robin2, not sure) said that controlling a servo was PWM. I personally never call it that.

In PWM we're concerned with the duty cycle, the on/off ratio, and the absolute on-time is not the point. Arduino offers PWM of two different frequencies: the practical result of using either is the same. So I get 1/2 speed with an analogWrite(pinX, 127) if I use a pin that gives 980 or 490Hz. Absolute on-time differs by a factor of 2 but the ratio is the same and so my motor runs at 50%.

With a servo otoh, we are concerned with the absolute width, and pulses of 1000 or 1500 or 2000us have totally different results. The on/off ratio is no longer the point, the absolute on-time is.

So, although servo control is clearly to do with Pulse Width, I don't think it's Pulse Width Modulation.

...... discuss

Its still PWM because the signal is repetitive. A “carrier frequency” or PWM frequency is required. It’s just that it’s both low frequency and low duty cycle.

I think this needs an acronym …
ImPulse Width Modulation? IPWM is already taken - “Interleaved PWM”
There already is PWMMC → Pulse Width Modulation for Motor Control
How about PWMSMC → Pulse Width Modulation for Servo Motor Control?

JimboZA: So, although servo control is clearly to do with Pulse Width, I don't think it's Pulse Width Modulation.

It may well have been me. And I agree completely that the dual use of the term is very confusing.

Maybe a suitable acronym would be SPS - Servo Position Signal

The problem is that the acronym PWM is so widely used and, technically, a servo signal is a normal PWM signal with a low frequency and a very restricted duty cycle.

I have been inclined to distinguish SPS from PWM by saying the SPS conveys information for the servo electronics whereas PWM defines the power level for a motor (for example). But that distinction falls apart because the Arduino analogWrite() signal is just information provided to a motor controller.

It's all just confusing and I see little prospect of a "one sentence" solution.


To me, the distinguishing feature is that with "pure" PWM it's the duty cycle (the ratio) that's important, while with a servo the absolute on time is the key.

It seems convention that a servo expects 50Hz, but by no means a requirement, so for a given on time the off time can vary hugely if the ratio is largely irrelevant.

To me that's not really using the 50Hz (or whatever) as the carrier for a modulated signal: the off time doesn't matter.

the off time doesn’t matter.

Oh, but it does matter.
You need a refresh pulse in time enough or things go amiss.

A position pulse can be sent at a rate > 50Hz, though there may be a limit to that.
1msec pulses separated by 1us off times may not play like 1msec pulses separated by 10msec off times or 5msec off times. Notwithstanding, your rep rate should not be < 20msec 50Hz.

This discussion somewhat reminds me of the below:

zoomkat: This discussion somewhat reminds me of the below:

Well zk, I did start my opening post with:

Weekend philosophy.....

.... and ended it with:

...... discuss

.... so I'm 2 for 2 here 8)