I'm trying to get to the bottom of how a servo works.
First of.. I wish to identify the different components of a standard servos. This is how I see it (please correct me if I'm wrong?):
- A DC motor
- Some gears
- A potmeter
- A motor controler (also reffered to as a speed controller?)
The motor controller receives a signal (in our case from the Arduino) which tells the servo to move to a specific position. It then reads the current position from the potmeter and determines how much and in which direction the DC motor should be moved and sends an appropiate signal to the DC motor.
Is this correct? Am I missing something? And what kind of signal is sent from the motor controller to the DC motor?
Second..There seems to be a GREAT deal of confusion about whether the signal received by the servo (or rather the motor controller) is PPM or PWM. The following states that it is controlled by PPM signals:
www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1232572239
Since the author of this comment (Mem) is the guy who wrote the latest Arduino servo library I'm naturally accepting him as an authority on the matter. However I started a topic on another forum because I'm trying to figure out different ways of sensing servo feedback. Here it is:
Within that thread several seemingly knowledgable people assured me that a servo is indeed controlled by PWM. Here is a quote and a diagram posted in that thread:
PWM, with a fixed frequency of ~20ms. A period of 1.5ms tells the servo circuitry "center". Period of 0.5ms or 2.5ms sends the servo fully CW or CCW.
bansky.net/blog_stuff/images/servo_pulse_width.png
Here is a link to that particular comment:
letsmakerobots.com/node/10960#comment-32515
So.. now I really don't know WHAT to believe?! :-/ Hope some of you smart fellas on this forum can help me clear this up once and for all...
Aniss1001
PS: If anyone has comments regarding the other topic (sensing servo feedback) they're more than welcome to post it here