I've been looking at parts for a beginners robotics kit (I teach at a museum) and have been wondering about servos.

You can buy continuous servos with relative position encoders. But I can't find continuous rotation servos with absolute position encoders. Do these exist? If not, why not?

I understand that some forums don't like shopping questions, but I suspect that this part doesn't exist and I'd like to understand why.

Also, I understand that most servos use a potentiometer as a position encoder and that these don't turn more than 1 rotation, but there are other types of encoders that seem like they would do the job.

Thanks for the help!

  • $\begingroup$ Then why bother using servos? Pick actuator and sensor independently and appropriate for your needs instead of being stuck with what the servo manufacturer put together. You'd want to explain what a servo is anyway, so why not circumvent the problem by building one yourself? What control algorithm should be used? What parameters? What if there's load on the motor? I think knowing how to control a motor is essential for robotics and a valuable thing to learn for a beginner. $\endgroup$ Sep 3 '15 at 15:23
  • $\begingroup$ I see where you are coming from, but most of the students that I work with have never done any programming or robotics before, so I want them to focus on simple concepts instead of getting into making their own feedback systems. I could pre-assemble my own motors, but then it would be hard for other educators to replicate what I've done. $\endgroup$
    – user8373
    Sep 4 '15 at 17:57
  • $\begingroup$ So you want to position something absolutely, and somewhere between infinity and negative infinity? $\endgroup$
    – Octopus
    Sep 4 '15 at 23:56
  • $\begingroup$ Maybe my question wasn't clear... on some expensive servos that I've worked with you can assign the servo and absolute position or tell it to move relatively. I was imagining that with a cheap absolute position encoder, like this, you could send absolute positions, and convert relative movements to absolute positions in code. No one seems to sell these for cheap, maybe the encoders are too expensive? $\endgroup$
    – user8373
    Sep 7 '15 at 3:53

I assume you mean hobby servos, like the one pictured here:

Futaba hobby servo

These were primarily designed for RC planes and cars to actuate control surfaces and steering. Continuous rotation is not needed. So a simple and cheap potentiometer is used for absolute position measurement. Cheap pots like this have a large dead zone. Their internal construction is something like this:

potentiometer internals

And to prevent the motor from reaching the dead zone there is typically some hard stop or peg on one of the gears. Due to the prevalence and cheap cost of these hobby servos, people have found ways to hack them and make them continuous rotation. This typically involves trimming the hard stop and replacing the potentiometer with a pair of regular resistors. Now to get the servo to spin, you kind of need to trick the control algorithm. The pair of resistors make the servo think it is always in the middle of its range (for example). Then you command it to go to some other angle, and it spins at some speed to get there, but since it always thinks it is in the middle, it will spin forever. So what is normally a position command is now a speed command. Voila!

Now the word servo actually applies to any motor coupled with a sensor for position feedback with the required control to go to a desired position. See better definition here. So by hacking the hobby servo to make it continuous rotation, it is no longer actually a servo. That is unless you now add your own sensing and code to servo to your desired position.

But this is a pretty round-about way of getting what you want. So why not just pick a motor, gear train, and sensing scheme to specifically suit your needs? But this is rather advanced for beginners. So you should find some all-in-one real servos. Dynamixels are a popular choice. They are continuous rotation, have real absolution position measurement, are individually addressable, and can be daisychained.

Dynamixels hobby servo

And the LEGO NXT and EV3 motors are also real servos.


I am looking into this type of absolute position encoder. They were used in the NAO robot. They are small, accurate and typically under $10 USD.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.