High accuracy servo

You may want to check out the Dynamixel AX-12 Digital Hobby Servo, It has a built in 10-bit (1024 position) absolute encoder.

It is also a highly-customizable servo, and is easily interfaced to via serial. There are already Arduino and C++ libraries available if you would like to interface through either a microcontroller or computer serial port.

I believe that 300 degrees corresponds to 1023, 150 degrees corresponds to 511, and 0 degrees corresponds to 0. This would indicate about 1/3 of degree resolution.

Depending on your torque, speed, and angle requirements, you could also consider gearing this down further to get more accurate resolution.

If you need something more heavy-duty, there are many other servos in the Dynamixel Series. The EX-106+ has pointing accuracy of 0.07 degrees, but costs about 500 dollars, as well.


I'd like to mention something I tried a few days ago when I needed accuracy when hobby servos. There is actually a hack that can fetch you great feedback from the existing servos.

All you need to do is open up the servo, fetch the potentiometer feedback pin that it uses for internal closed loop control and draw a connection from the same as an external feedback as well. Now, you could use a better resolution ADC hardware like the ADS1115 that provides a 16 bit ADC support.

The only drawback is that this ADC hardware supports I2C communication to hook up with the micro-controllers which will be quite slow as compared to Serial interface available in Dynamixel servos. However, if you can compromise with that, then for sure this setup can give very accurate results for externally controlling the servo to a better position.

Tags:

Servo