In Part 1 I reviewed the servo and made a test bed for prototyping. I'll continue with some stats and measurements.
The continuous servo has a range of angles, around 90, where it doesn't rotate. Calling Servo.write() with a value in that dead band makes the motor stop.
On mine that band is between 89 and 94. The few values below and above that range cause some noise in the motor, but it doesn't start to spin yet.
It spins under 87 and above 96.
Servos are controlled with a PWM signal. The duty cycle defines how the motor reacts.
The Arduino Servo library generates the PWM signal that drives the servo. The frequency is 50 Hz.
I'm using the test bed from the previous post to check the PWM across the range.
I've entered full speed counterclockwise, half speed, stop, half speed clockwise and full speed.
The table below gives a capture of the high part of the PWM.
|0: full speed counterclockwise|
|45: half speed counterclockwise|
|90: stand still|
|135: half speed clockwise|
|180: full speed clockwise *|
* the scale of the 180 signal is different because the PWM is too wide to fit on the scope screen in the range used for the other measurements.