# Micro/standard servo resolution

I am building a project which requires a very fine servo resolution (<=.1 degree). I understand there is a lot that goes into servo resolution like digital v analog, dead-band, # of poles, etcetera. However, all other things being equal, is there any reason to think that a micro servo would not be as precise as a standard-size servo?

Edit: Let's assume I have two servos of different sizes. Both are digital, 5 pole, geared servos and I have programmatically set the dead-band to 0. Are there factors I am not considering, like the electronics or manufacturing process, that would make the larger one more accurate than the smaller (or vice-versa)?

Edit2: I am building a drawing robot as a hobby project so I'm interested in model servos (ideally < \$100) and my question is specifically for that market. I am more interested in resolution (making very short lines) than accuracy (the absolute positioning of the pen on the page) as long as the accuracy is fairly consistent for the whole drawing

• This is a hand-waving. do you have any specifics? Commented May 17, 2016 at 17:10
• Neither is very likely to give you 0.1 degrees. You might start looking for plan B. Commented May 17, 2016 at 17:11
• "micro server"? Micro servo? How micro? What does the datasheet say? Start research. Commented May 17, 2016 at 22:17
• Please explain the problem you are trying to solve, and the scale of budget you have to solve it. Commented May 17, 2016 at 23:37

## 2 Answers

Resolution is largely determined by deadband, as this is the smallest pulse width change the servo will respond to. Assuming that the servo rotates 90° for a pulse width change of 1ms, 0.1° corresponds to a deadband of 1ms/(90/0.1) = 1.1us.

Most hobby servos have a deadband of between 2us and 8us, with cheaper 'analog' servos generally being worse than high resolution 'digital' servos. Some digital servos can be programmed for a smaller deadband, but if the value is set too low the servo will oscillate as it continually overshoots the target position (which may eventually burn out the motor and electronics).

To reduce the deadband of a programmable servo you need some way to change its settings. Hitec and Hyperion have dedicated programmers for their digital servos. Unfortunately neither of them can set the deadband to 1us, perhaps because their servos are not capable of operating reliably with such a low value. Futaba S-bus servos can be programmed with their CIU-2 USB adapter, with a minimum setting of 0.03° (whether the servo can handle such a small value is another matter).

But resolution is one thing, accuracy another. Most servos measure the angle of their output shaft using a potentiometer. Any slop in the pot shaft, linkage or bearings will reduce positioning accuracy. Another factor is the resolution and accuracy of the feedback electronics.

The smaller the servo, the harder it is to achieve the tight tolerances required for high accuracy. At very small 'sub-micro' size it is difficult to make the pot and control board small enough to fit inside the case. Thus smaller servos tend to be less accurate, and the good ones are expensive! Smaller servos also have less torque, and so may be pulled more off position by a heavy load.

• Great explanation of servo resolution in general! The last paragraph pretty much answers my question though I am still curious whether there is a scientific reason as to why a smaller potentiometer is less accurate than a larger one Commented May 17, 2016 at 23:03
• The same reason a smaller protractor is less accurate than a larger one - the density of change is higher, so for a given spatial accuracy (in restive track technology, or engraving lines on something or whatever) you get more angular accuracy when the circumference is greater. Commented May 17, 2016 at 23:09

A model servo of any size (standard, micro, doesn't matter which) is very unlikely to even approach 0.1degree resolution in any useful sense. Ordinary model servos have more than that in gearbox slop.

0.1degrees is 1 part in 3600, or almost 12 bits (1 part in 4096)

My 'knee-jerk' reaction is that is geared stepper motor territory. A 200step stepper motor with a 18:1 gear ratio, or greater, could get into that region.

Do you mean resolution or do you mean accuracy? Resolution might be okay if you have some other feedback mechanism, but if not, you might mean accuracy.

Edit:
Almost all model servos have gearing. To approach 1 part in 3600, the gear train will need to be very well made, with anti-backlash gearing to minimise 'slop'.

Many servo's use potentiometers to provide the internal position feedback. I would not expect the potentiometer could provide any where near 0.1% resolution (much worse than 0.1 degree). So I don't think potentiometer-derived feedback will be good enough.

However, there are rotational position encoders, e.g. AMS magnetic position sensors capable of 14 bit resolution, so 180 degree would still be 13bit. One approach might be to contact high resolution position encoder manufacturers and ask them if any of their customers makes something that would satisfy your requirements.

Please explain the problem you are trying to solve, and we might be able to offer better help.

• Thanks for the answer. I am building a robot that requires extremely good precision. Gearing is good advice but it wouldn't work for my application because I need a full 180 degree rotation. Feedback mechanisms are an option but I am trying to maximize my chances of avoiding that complexity with off-the-shelf servos. Since resolutions are not often provided in the specs, I am forced to make an attempt at a purchase using what I know and was wondering whether size mattered. Commented May 17, 2016 at 22:57
• I wasn't suggesting you gear a servo motor. I was suggesting ditching the entire idea of using model servo's, and use a geared stepper motor instead. A stepper motor could do continuous rotation at high resolution. It'd very likely need a low-backlash gear train to get the sort of resolution you are asking for. Commented May 17, 2016 at 23:20
• A stepper motor is a good suggestion actually. For me though, I gave a 4096-step stepper motor a try and found that skipping-steps looked to be a more insurmountable problem than the issues I was having with the cheap servos I was using before - though a rotational encoder would solve the problem for either motor type Commented May 18, 2016 at 1:05