help me ... something wrong with my motor..

indieindie Posts: 3
edited 2004-08-20 - 06:07:53 in General Discussion
does anyone know here about the principal of electronic control in servo motor work?? i mean about the electronic circuit there?? how they worked?? cause i thing the problem comes from that part... [noparse]:)[/noparse] , the problem is my servo motor can't move untill 180 deg only 140 deg, please help..



  • Jim EwaldJim Ewald Posts: 681
    edited 2004-08-16 - 11:22:25
    Can you tell us more about how you are getting the servo to move? Are you using a Stamp to control the servo?


    Parallax IT Dept.
  • dandreaedandreae Posts: 1,375
    edited 2004-08-16 - 16:50:23

    This iinformation comes from an article that I found on .·

    Servo motors are a variation on the gearhead motor coupled with a potentiometer to give feedback on the motor's position. The gears of the gearbox on a servo are attached to a potentiometer inside the case, and the pot is turned by the turning of the motor. The pot is connected to a capacitor in a resistor-capacitor circuit (R-C), and by pulsing this R-C circuit, you give the motor power to turn. When the motor turns, it changes the resistance of the R-C circuit, which in turn feeds the motor again. By pulsing the R-C circuit, you set the motor's position in a range from 0 to 180 degrees.

    Servos have three wires to them, unlike most DC and gearhead motors, which have two. The first two in a servo are power and ground, and the third is a digital control line. This third line is used to set the position of a servo. Unlike other DC motors, you do not have to reverse the polarity of a servo's power connections to reverse its direction.

    Hobby servos, the kind most often used in small physical computing projects, usually take a pulse of between 1-2 ms every 18-20 ms. They rotate 0 to 180 degrees depending on the pulsewidth. A pulse of 1 ms will turn the motor to 0 degrees; 2 ms will turn it to 180 degrees. A servo needs to see a pulse every 18-20 ms even when it is not turning, to keep it in its current position, so once you've moved the motor to a new position, it's essential to keep pulsing it with the same pulsewidth to keep it there.

    I also have found through experience that not all servos behave the same, you may need to experiment with your code and change the duration of the PULSOUT command.· If you are still having problems with this, please post your code and information on the type of servo that you are using and we will try and help you with this project.


    Dave Andreae
    Former Tech Support/Quality Control
  • indieindie Posts: 3
    edited 2004-08-17 - 05:10:39
    i'm working with PIC16F84A. from the article below we can see that if i gave 2 ms pulse, it will move to 180 deg, but in my motor only 140 deg. i've measure the pulse width on my oscilloscope. then i tried to make the pulse longer till 2.4 ms but the motor still move till 140 deg. i think the problem comes from the control board. something wrong on it, but i don't know in what part.·please help ....


  • indieindie Posts: 3
    edited 2004-08-17 - 05:20:50
    i'm using the code from jaaphavinga software (controlling servo motor using serial port) from . and the motor is parallax standard servo.
    please help...

  • LoopyBytelooseLoopyByteloose Posts: 12,537
    edited 2004-08-20 - 06:07:53
    This seems like it belongs in the Sandbox Forum.

    Consider the following:

    Some articles mention some servos that move as little at 90 degrees at their limits.· You may have one that was designed for 120 degrees.

    Try looking into the manufacture's specifications before wasting a lot of time on programing code.

    You may have to change to another servo to get 180 degrees.

    G. Herzog in Taiwan

    Post Edited (Herzog) : 8/20/2004 6:14:57 AM GMT
    Hwang Xian Shen, Puddleby-on-the-Marsh.
    All things considered, I can live and thrive without Microsoft products. LINUX is just fine.
Sign In or Register to comment.