Asked — Edited

How A Servo Works

This is a short tutorial on how a servo works at an electrical level. The position of a servo is determined by the pulse, which is normally between 1ms and 2ms. However, many servos have different ranges that can even be 0.5ms and 2.5ms. The EZ-B supports a wide range by providing 0.5ms to 2.5ms.

The pulses are looped every 20ms (which means 5 pulses per second)


Upgrade to ARC Pro

ARC Pro is your passport to a world of endless possibilities in robot programming, waiting for you to explore.


Now to describe how to get the resolution of the servo postions. Before I received my ez-b I programmed a HC12 using OCM to control the servo I had, I only managed to get 8 servo positions out of the OCM, it was a nice lesson in servo control. Then I used Hyper Terminal to increase, decrease, high, center and low positon the servo through keyboard presses. Love your oscilliscope, I need one of those.


The different servo positions depend on the length of the pulse. The pulse is between 1ms-2ms .. So a pulse of 1.5ms would put the servo in the center position. A pulse of 1.25ms would put the servo in 1/4 position. A pulse of 1.75ms would put the servo in 3/4 position. Etc...

So if you can imagine how fast the little processors must run to pulse the outputs that quickly. We're talking microseconds!