Instructables

SUPER accurate servo?

I need to make a device that can move two small servos within 0.01 or less degree rotation (yes, degrees, not radians!).  Currently, everthing I've seen comes up greater than half a degree.  It must have position feedback (stepper without encoder won't work), and the whole thing must fit in a 1/2"x6" tube.  It only needs to move maybe 30-40oz-in, but will always have that load (so backlash isn't a huge issue, but still should be minimal).  A COTS device is best, but it can be homemade, preferably under $50 or so, maybe up to $100 max.  It doesn't need to move fast or continuously, maybe 90 in 0.5 seconds.  It will be run by a microcontroller with a lot of IO pins, and PID control.  Any ideas, products or anything would be great,
Thanks in advance. 

steveastrouk10 months ago
I don't quite see the space you want to put it into - a 1/2" DIAMETER tube, 6" long ???
jduffy54 (author)  steveastrouk10 months ago
About 1/2"ID, yes. it will be part of a basic plotter that i plan to use for circuit boards and stuff. It would be closer to a SCARA arm than a traditional 2-axis linear drive, which is why I need the accuracy. And the closed loop servos was what infrared was the best solution (I have NOT had fun working on them). I asked here to see if there is a premade device optimized for this sort of thing (like the easy driver is for steppers), or if there's an alternative.
Your proposed form-factor is going to be extremely difficult to match.

Why not sketch the whole assembly, and lets see where you could apply motion to it.
jduffy54 (author)  steveastrouk10 months ago
here it is. I increased the size of the arms a little but, so it would fit a 0.75" square tube, but any more than that, and it will start to go below the bottom arm when it's raised all the way. The black tube is the servo, it drives at a right angle to the top joint between the yellow and green parts of the arm. Another servo is on the bottom between the stationary blue base and yellow arms, but it can have a much larger area.
skt3.jpgskt2.jpgskt1.jpg
How about a LINEAR drive then, along the outside of the arm, rather than an angular joint carrying full torque ?
jduffy54 (author)  steveastrouk10 months ago
I considered that, but it seemed to get in the way and limit motion and linearity.
You can make it linear, if you run a belt over a pulley on the joint. Put the encoder on the pivot.
jduffy54 (author)  steveastrouk10 months ago
I still really prefer a rotary drive, but that might work except for the resolution. No encoder that I could get would have the resolution I need.
Plus, it would still limit the envelope, an the arm would not be able to go over 90 degrees.
Here's a concept sketch. Provided the linear path is longer than the distance on the circumference of the large pulley, you can move it through more than 90 degrees. Also, the action is truly linear for angle. Put an encoder on the smaller idler pulley, and you can probably close the loop. Use steel reinforced MTD belts, and there will be no backlash.
linear.jpg
jduffy54 (author)  steveastrouk7 months ago
It's been a while, but I recently found, and bought, something that works for this! It turns out my math was off a little the first time, and it only needs around 1/20th of a degree. Pololu just started stocking encoders for their micro gearmotors, http://www.pololu.com/product/2590 which combined with a 298:1 motor gives about 0.06 degrees, which is still pretty good. I changed the design a little (mainly made it smaller) such that this accuracy should work. If not, I can print out a higher resolution encoder wheel.
I plan to (finally!) start working on this project once it gets here.
What about the backlash in the gearbox ?
jduffy54 (author)  steveastrouk7 months ago
There will always be a preload, so that should force all the gears to one side regardless of movement direction. Hopefully. I'll use some mirrors and lasers once I get the motors to see how accurate it really is, but it shouldn't be a big issue.
steveastrouk10 months ago
Like you said, steppers are lousy for ultimate precision.

1 part in 36000 is going to cost you some serious bucks for the encoder you need.
jduffy54 (author)  steveastrouk10 months ago
Yeah, I was afraid of that. I was thinking what about one of these:
http://www.pololu.com/catalog/product/1595
with one of these attached to the shaft out the back of the motor
http://rls.si/en/am4096-12-bit-rotary-magnetic-encoder-chip--15885
that should give me about 4 million CPR.
I'm just not sure if theres some significant problem with that sort of approach...
jduffy54 (author)  jduffy5410 months ago
actually, I just realised that doesn't have a back shaft, but this one
http://www.pololu.com/catalog/product/2218
does.
that would still give me (about) 0.00036 degree accuracy, more than 30 times more than "enough".
The significant problem with that is your feedback is NOT coming from the final drive and the effects of backlash will not be compensated for, so you'd be back to square one.

A classic, if slow method, is to use a worm gear for this kind of application. The driven gear is then split in half across its diameter and joined with a spring, to eliminate backlash.

The BEST method is harmonic gear drives, but I think they're outside your budget.
jduffy54 (author)  steveastrouk10 months ago
How does the split gear work? I have access to a sls 3d printer, so I could print nylon gears.
Does this help ?
http://www.automotioncomponents.co.uk/en/catalog/rotary/other-precision-gears/worm-gears/r2147

But "3d printed" and "0.01" deg accurate can't be in the same sentence, yet.
jduffy54 (author)  steveastrouk10 months ago
I think I see. The 3D printer, however, is the FORMIGA P110 printing with nylon. The accuracy of that is probably better than most precision machined gears and stuff. I think I saw somewhere that it's 60um.
I wouldn't bet on it. 60um is AWFUL precision for a gear ! 6 would be tolerable, but not a precision grade - and boy do you need a precision grade.....Unless you look at linear drive instead......
jduffy54 (author)  steveastrouk10 months ago
Really? I would have thought that's at least fair. Anyway, i really don't want to go to linear beause that not only introduces a host of other problems (nonlinear angle change, smaller envelope, etc) but also has some of the same issues, backlash, precision, accuracy, etc. I think I may use the worm gear, on a geared motor. As I said before, the arm will always have a pretty significant load, which *should* get rid of most of the backlash in a gearbox. The rest can be taken up by a spring or something.
jduffy54 (author)  jduffy5410 months ago
finially, do you know anything about these:
http://www.pololu.com/catalog/product/1492
because it seems like a much nicer alternative to an arduino running PID off a motor shield.
iceng10 months ago
Artworker has the correct concept you must find a reduction gear box
using anti-backlash gears.

Beyond this, satellite technology has repeatable mirror positioning motor derives
to a fraction of an arc-second costing much more then you would believe reasonable.
jduffy54 (author)  iceng10 months ago
I'm sure ill have to gear down whatever I use, but the point is, what would I gear down? Servos don't travel far enough, and steppers can lose steps (plus, I'm yet to find a 200+ stepper less that 1/2" OD). Do you or anyone know of a sort of encoder-servo controller that's premade? I tried with arduino and PID, but that failed miserably. I know it's not exactly a simple or one-solution-fits-all thing, but I'm looking for some way that doesn't involve hundreds of dollars or compromising the device.
iceng jduffy5410 months ago
Consider Planetary gears.
  • What needs such precision ?
  • Does it need to be both ways ?
  • Could you use a coarse motor and piezo fine tune ?

A
jduffy54 (author)  iceng10 months ago
-the end effector, a rotary output
-yes
-not sure, not sure it would be strong enough, or how to interface the two.
Jayefuu10 months ago
Wow that's small. I found you some links to look at. It doesn't solve your problem as these are too big or expensive but it gives you a starting point to look at COTS items. All the ones I found start at £500+ and are designed for rotating optics.

Thor Labs:
http://www.thorlabs.de/NewGroupPage9.cfm?ObjectGroup_ID=2875

Newport's offerings:
http://www.newport.com/Motorized-Rotation-Stage-Selection-Guide/140222/1033/content.aspx

Physique Instruments:
http://www.pimicos.com/web2/en/1,5,000,rotation.html


jduffy54 (author)  Jayefuu10 months ago
actually, the Newport one was very helpful. They explained the basic workings of the motors, which use a worm drive, and encoder mounted to the worm shaft. That's pretty similar to something else I found when looking for a similar system for just $20, so thanks!
mpilchfamily10 months ago
If you want accuracy like that you should use a stepper motor not a servo.
For precision purposes, steppers are never used. The best stuff uses closed loop servo positioning.
jduffy54 (author)  mpilchfamily10 months ago
1) The big problem is losing steps and size. Most steppers are WAY too big, and those that aren't have little accuracy, and little torque, or are REALLY expensive.
2) I can't lose ANY steps, and something with marginaly enough torque will be likely to do so.
3) no stepper is that accurate! a NEMA 17 or 23 (the ones most used in CNCs and 3D printers have OVER 1 degree per step, even with 1/16 microstepping, I need ten times the accuracy.
artworker10 months ago
gear down the servo you have!
jduffy54 (author)  artworker10 months ago
To get the accuracy I need, an RC sevo would only turn 3 degrees. I also don't have a servo, other than maybe some basic RC servos. Not quite what I need.