The Lynxmotion retail site has a link that describes a servo as well as anything I have been able to find. In fact, I use their link as a reference on the electronics forums that I belong to, when asked a similar question to yours. You can find the information here “What is a servo?”.
hi,
i working on servo know and i need too informations to how operate it and control the speed .i make pulse 1.5ms logic high(5v) and 20ms logic low(0v) and this pulse repeate 15 times (20ms*15=300ms) and logic low for 500ms and this signal continuous.but the motor move very fast how i can slow it? please any one answer me with tutorial how to control the speed and time.
thanks…
The example will move the servo on channel 5 to position 1600. It will move from its current position at a rate of 750uS per second until it reaches its commanded destination. For a better understanding of the speed argument, consider that 1000uS of travel will result in around 90º of rotation. A speed value of 100uS per second means the servo will take 10 seconds to move 90º. Alternately, a speed value of 2000uS per second equates to 500mS (half a second) to move 90º.
The example will move servo 5 to position 1600. It will take 1 second to complete the move regardless of how far the servo has to travel to reach the destination.
Servo Group Move Example: "#5 P1600 #10 P750 T2500 "
The example will move servo 5 to position 1600 and servo 10 to position 750. It will take 2.5 seconds to complete the move, even if one servo has farther to travel than another. The servos will both start and stop moving at the same time. This is a very powerful command. By commanding all the legs in a walking robot with the Group Move it is easy to synchronize complex gaits. The same synchronized motion can benefit the control of a robotic arm as well.
You can combine the speed and time commands if desired. The speed for each servo will be calculated according to the following rules:
All channels will start and end the move simultaneously.
If a speed is specified for a servo, it will not move any faster than the speed specified (but it might move slower if the time command requires).
If a time is specified for the move, then the move will take at least the amount of time specified (but might take longer if the speed command requires).
The example provides 1600uS on ch5, 750uS on ch17, and 2250uS on ch2. The entire move will take at least 2 seconds, but ch17 will not move faster than 500uS per second. The actual time for the move will depend on the initial pulse width for ch17. Suppose ch17 starts at position 2000. Then it has to move 1250uS. Since it is limited to 500uS per second, it will require at least 2.5 seconds, so the entire move will take 2.5 seconds. On the other hand, if ch17 starts at position 1000, it only needs to move 250uS, which it can do in 0.5 seconds, so the entire move will take 2 seconds.
hi innerbreed ,thanks for reply…
i work on serial port commands and it work very nice, but i want now to controlling servo motor directly using fpga kit ,so i talk about the pulses send to servo motor ,how i can control the speed of servo? i increased the 20ms but the motor stutter,then i increased the number of repeated pulses to 50 times but the movement not smooth,please i need the timing of pulses to control the speed