newbie to servo's

hello,

i wanted to use servo motors but i have a few noob questions

  • how to chose a servo : i need to make something turn around a pivot as -90°<>0°<>+90° for instance
  • how can a simple pwm wire control a servo, does it encode the required degree ? i dont get it
  • how does the MCU to assert that the servo is in the requested position ?
  • the servo/arduino main page says the library can deal with many different servo motros types,
    how do i set these up regarding wich motors i’ll buy ???

thx

how to chose a servo : i need to make something turn around a pivot as -90°<>0°<>+90° for instance

You look for a servo with the torque ( twisting power ) you need and the angle you need it to turn through, in the example here that is 180 degrees.

how can a simple pwm wire control a servo,

The servo has an electronic circuit inside it that converts the duty cycle to a position. It then uses that position and moves the motor, also equipped with a feedback potentiometer, until the motors feedback voltage is the same as the position from the duty cycle.

how does the MCU to assert that the servo is in the requested position ?

Basically it can’t. You normally leave a delay so that you assume it is in the right position.

Grumpy_Mike: Basically it can't. You normally leave a delay so that you assume it is in the right position.

do servo with feedback exist ?

the servo/arduino main page says the library can deal with many different servo motros types, how do i set these up regarding wich motors i'll buy ???

do servo with feedback exist ?

Yes they are not common and they are very expensive. They tend to communicate through serial commands and can report back there position. I saw one the other week and it cost $220. It was the RX28 from Dynamixel.

how do i set these up regarding wich motors i’ll buy

Normally you will just connect up the servo and away you go.

rompelstilchen: do servo with feedback exist ?

Adafruit have this one

JimboZA:

rompelstilchen: do servo with feedback exist ?

Adafruit have this one

indeed, nice, one can even do this on any servo, it's just a wire soldered to the servo's potentiometer :-)

Grumpy_Mike:

do servo with feedback exist ?

Yes they are not common and they are very expensive. They tend to communicate through serial commands and can report back there position. I saw one the other week and it cost $220. It was the RX28 from Dynamixel.

or this : http://forums.trossenrobotics.com/tutorials/how-to-diy-128/get-position-feedback-from-a-standard-hobby-servo-3279/

:-)

Maybe not any servo: I’d imagine some are more difficult to open without damaging… needs to be put-back-together-able

JimboZA: Maybe not any servo: I'd imagine some are more difficult to open without damaging... needs to be put-back-together-able

Correct, or as better said in the project link:

A word of warning This process will require the disassembly and modification of a hobby servo. This will almost certainly void any warranties and may very well destroy the servo. While the process was proven to work on a particular servo (HS-422), your results may vary. We are not responsible for any damage or harm inflicted by anything presented in this tutorial.

Why are you asking these questions ? You already seem to know about servos so why are you asking these simple questions ? http://germanstories.vcu.edu/grimm/rumpeng.html

  • how to chose a servo : i need to make something turn around a pivot as -90°<>0°<>+90° for instance

Then you need a servo that can actually move a full 180 degrees of range. Problem is that most servo manufactures don’t specify the maximum travel range of specific models they sell. Some do but most are a little short of full 180.

  • how can a simple pwm wire control a servo, does it encode the required degree ? i dont get it
    Servo control on arduino boards is usually done with the servo library that sends a continuous PWM type signal to the servo such that the servo can be commanded to any position in the servo’s range. However it makes assumptions that every servo can move 180 degrees range which is not always the case, so some testing has to be done for your specific servo used. myservo.write(90); // set servo to mid-point, is what a typical servo command would look like.
  • how does the MCU to assert that the servo is in the requested position ?
    It can’t, there is no position feedback signal on standard R/C servos so your sketch has to either assume (correctly) it will get there eventually sometime after you issue the servo.write() command.
  • the servo/arduino main page says the library can deal with many different servo motros types,
    how do i set these up regarding wich motors i’ll buy ???
    By types they mean many different manufactures and models. What model to get is up to you, but revolves around how much power you require to move the mechanical load you wish to manipulate, often called it’s torque value. Also some models move faster then others, and of course size and cost often enter the purchase decision.