Servo Motors

Discussion in 'The Projects Forum' started by Mazaag, Nov 7, 2006.

  1. Mazaag

    Thread Starter Senior Member

    Oct 23, 2004
    Hey guys,
    I had a question with regards to controlling Servo Motors.

    I understand that stream of pulses are sent to the motor , and the width of each pulse determines both direction and speed of the servo.


    1. Does a servo motor come built in with a circuit that is capable of reading such pulses and translate them to movement? or is a controller required to do so ?

    2. I read that these pulses are usually 1-2ms pulse width , and have a pulse interval of approx 18ms.. That means a worse case period of 20ms, which translates to a frequency of 50Hz. Is that the maximum frequency for all Servos ? Does anyone know of companies who sell faster servos?

    3. I haven't seen any datasheets of servo motors which state the response time of the motors. i.e: how long it takes the motor to reach the specified position after it accepts the pulse signal sent to it.. I know it depends on the pulse signal you give it, but is there any spec that states the worse case delay?

    Any addition info on servos will be very vrey helpful

    Thanks guys..
  2. pebe

    AAC Fanatic!

    Oct 11, 2004
    1. If you are talking about the complete servo unit - as distinct from the servo motor - then yes, it comes with a pulse comparator/motor driver, usually on a single chip.

    2. The pulse train period has no direct bearing on the servo speed. The period is dependant on the number of servos in the system. Assuming a system for 6 servos. Then assuming a worst case where each is being given a 2ms pulse, total pulse length = 12ms. A period of 6ms is left before the train of pulses starts again so that the decoder can be synchronised. Hence 18ms. Some systems use a fixed length sync pulse so the train period then varies.

    3. Th RC receiver usually contains a decoder that separates the pulses and sends each one to its correct servo. Each servo then sees a 1 to 2ms pulse repeating every 18ms, as you say. As soon as the servo senses the pulse it generates it's own pulse, but of opposite polarity. The length of that pulse is determined by a pot connected to the servo arm. These two opposite-polarity pulses are added. At rest, both are the same length so cancel out. But if the transmitted pulse is now lengthened, an error pulse will result. That pulse is stretched enough to cover the time till the next pulse so it becomes a change of DC level and is applied to the motor. The servo will move at a speed dependant on the motor speed and gearing. As it moves it lengthens its own generated pulse till it matched the transmitted one. There will then be no error signal and the motor will stop. Transmitting a shorter pulse will generate an error pulse of the other polarity and the motor will run the other way.

    I hope that helps.
  3. EngineerJoe


    Nov 4, 2006
    Servo motors come in a lot of shapes and sizes. I had a project that used one about the size of a 3 pound coffee can. It could be accelerated, stopped, reversed, etc. at nearly any rate you wish, within reason. It could be rotated to any of 316,000 fixed positions within one revolution with a maximum speed that is fairly slow. The good news is that no gear reduction is required, i.e. direct drive. Printers use servo motors to move the print head around in front of the paper. You tell me, is that fast enough?