3
$\begingroup$

As part of a project I need an encoder to determine the angle that this, Continuous Rotation Servo - FeeTech FS5103R, has rotated through. The resolution needs to be fairly high as I will be using it to automate a process and so I want to make sure it's accurate.

The shaft it will be mounted to will be custom built so I'm just looking for standalone encoders right now. What are the pros and cons of different styles of rotary encoders?

$\endgroup$

closed as primarily opinion-based by Mark Booth Jun 28 '17 at 15:36

Many good questions generate some degree of opinion based on expert experience, but answers to this question will tend to be almost entirely based on opinions, rather than facts, references, or specific expertise. If this question can be reworded to fit the rules in the help center, please edit the question.

  • $\begingroup$ Welcome to Robotics, MRussell. I changed the scope of your question a little from what read to be an open-ended design question to a question about the advantages and drawbacks of different styles of rotary encoders. "Here's my ___ what are your thoughts?" is off-topic because it is specific to your application. $\endgroup$ – Chuck Jun 27 '17 at 18:42
  • $\begingroup$ Welcome to Robotics M Russell, but I'm afraid that Pros & Cons questions are off-topic because there are many ways to solve any given design problem. We prefer practical, answerable questions based on actual problems that you face, so questions which ask for a list of approaches or a subjective recommendation on a method (for how to build something, how to accomplish something, what something is capable of, etc.) are off-topic. Please take a look at How to Ask & tour for more information on how stack exchange works. $\endgroup$ – Mark Booth Jun 28 '17 at 15:35
1
$\begingroup$

RC Servos are servos that use a potentiometer as their position sensor. To make a continuous rotation RC servo, the potentiometer is replaced with a fixed resistor so the servo loop is lost and thus the accuracy and position information as well. See A Continuous Rotation RC Servo is NOT a Servo for more details.

BUT... if you do the modification yourself (like is the guy in this video did) then the potentiometer is still there and it should provide a really inexpensive and pretty accurate way to know the motor's position. To use it, route the wires out and use an Analog Input on your processor to measure the absolute position of the motor.

OK, here it where I divert into something I believe will work but haven't tested. I believe if you alter the procedure to ONLY cut the center wire to the potentiometer and still do the rest of the modification then route that center wire out, the wire will have a voltage that represents the location of the motor shaft. This is because the outer wires are just to provide power and powering both resistor stacks should not be a problem and the voltage on the wire will be a voltage between the servo supply voltage and ground.

Another option is to use an actual optical encoder. Note that this is a significantly more expensive and complicated solution because:

  1. Optical encoders can be expensive
  2. You will need to figure a way to directly couple the encoder to the shaft.
  3. If you get a standard quadrature encoder, you will need to add a home sensor since the encoder (unlike the potentiometer) has no concept of absolute position
  4. You will have to know how to decode and use quadrature signals to count position. This is really easy to mess up for cases like an encoder vibrating on an edge.
  5. You will also need to make sure your design is fast enough that you can catch all the transitions when running at full speed (interrupt based or custom hardware). For a 1024 count encoder and a 55rpm motor then your are going to need to sample the encoder at least every 500us or faster.

.... shall I continue

I would recommend you use the potentiometer in the servo.

$\endgroup$
  • $\begingroup$ 500ms was a typo. I will correct to 500us. 1KHz is not recommended as you need the double samples to confirm you are not undersampled. $\endgroup$ – markshancock Jun 27 '17 at 20:10
  • $\begingroup$ Nyquist sampling doesn't really apply though if you know the top speed of your motor. 1kHz would be fine to sample an encoder. BUT, regardless, interrupts are still the superior way to handle it. $\endgroup$ – Chuck Jun 28 '17 at 1:30

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