Each servo connects to the SSC-32 board using 3 wires. The VC(Red) and Ground(black) wires provide the 5 V DC voltage to power the servo.
The third “Pulse” wire supplies a 5 volt control pulse signal that is repeated 50 times a second (every 20ms). The width of this pulse determines what point the servo rotates to, and can be from 0.9ms to 2.1ms long. For example,an ASCII command from the computer to the SSC-32 control port such as “#2 P1500” would tell the controller to send Servo #2 a signal consisting of 1.5ms pulses which would move the servo to move to it centered position.
The Oscilloscope lets us actually see the pulse by freezing the screen, allowing us to measure it. This is how the Oscilloscope shows the 50ms 5 Volt pulses to the servo.
The black permanent grid squares on the Oscilloscope screen are called “Graticules”, and the numbers at the bottom show the units. In this setting, each graticule is 10 ms wide and 5 Volts high. The two dotted lines are part of the Oscilloscope's measurement tools. The Oscilloscope allows these to be moved to allow vertical or horizontal measurements, and the number at the top op the screen represents the distance between them(20.0ms). The time scale of the scope can be adjusted to look at one pulse and make more accurate measurements.
Below is what the .75ms, 1 ms and 1.5 ms pulses look like for the commands “#1 P750”, “#1 P1000” and “#1 P1500” are sent.
Using the basic commands the Servos moved very quickly but there is a longer command that allows you to control the speed that they rotate into position. By adding a “S” parameter, the movement speed of the servo can be adjusted. The SSC-32 manual does not explain how this works, but using the Oscilliscope we were able to see how the SSC-32 slowly adjusted the pulse width when the command “#1 P700 S100” was sent (note that the the previous servo position was “#1 P2300”). The “S” value sets the movement speed in us/sec.
Here is a video displaying the changing pulse width.
No comments:
Post a Comment