3 Simple Ways to
Share What You Make

With Instructables you can share what you make with the world — and tap into an ever-growing community of creative experts.

PhotosPhotos

Share one or more photos of a project, recipe, or whatever you've made, quickly and easily.

Step by StepStep-By-Step

Share your step-by-step photos with text instructions of what you made so others can do it too!

VideoVideo

Share your how-to video. You'll need your embed code from a video site such as YouTube.

Low Cost Hobby Servo XY Table

Low Cost Hobby Servo XY Table
For this project, we wanted to build a lower cost, lower precision XY table for an installation at TeleToyland. The goal is to allow web users to draw shapes in a sand box, so we wanted a simple XY table that is easy to control from a web application. Since we already have the Web to Hobby Servo connection working well for other installations, using a hobby servo was the desired approach. Most homebrew CNC XY tables use motors like steppers and acme screw drives, but we don't need that much precision, and they are a bit slower than we'd like. The Hobby Servo approach also gives us absolute position control, and helps keep the cost down too - using industrial servos would be great, but a lot more expensive. We were also looking for a lower cost way to do the linear glides - trying to avoid costly linear bearings etc.

(Note, we have a newer version of this project at this Instructable)

You can try this project out live at the site



The Challenge
So, the challenge is taking a hobby servo and getting 2-3 feet of linear motion out of it. ServoCity is working on servo linear actuators, but we'd prefer lower power, lower cost, and longer reach that they currently offer (though new ones may be pending). We also built a basic SCARA type arrangement with 3" lazy susans, servos, and counter weights. This works OK, but the workspace was limited, and due to the polar approach with hobby servos, the resolution is uneven - higher nearer the servos. This may not be a huge problem, but the approach shown here yields the same precision over the entire workspace. We could also consider a hybrid - using one rotational arm with a liner slider on it - the math would be easy in that it would use polar coordinates directly. We could also reverse the two - use on linear slider and add a rotating arm to it. A project for another day!

Using Hobby Servos
With a Hobby Servo, you typically get just 90 or 180 degrees of rotation, so the trick is getting that to work over a longer span - 2-3 feet. We could modify a servo for continuous rotation, but then you lose the positioning capability and we'd like to keep the internal PID circuitry and potentiometer approach. If you use the internal potentiometer and add a big servo horn, you could get a wider range of travel. With a circular horn, the distance traveled is Pi * Diameter of the horn / 2 - that last divide by two is to account for the max 180 degree of travel (we'll get into that later). So, for a 2' travel, you'd need a servo horn with a diameter of over 15"! We could use that approach with a lazy susan type of setup, but the momentum in moving that much material puts a huge mechanical strain on the servos (the same issue we had with the SCARA prototype). Another approach is to gear up the output, so you get more motion on the output. We didn't dig into this, and there may be issues with the power required to move those gears, and in addition, using gears is a bit ticker mechanically - we came up with a much simpler approach.

So, for our system, we pulled the potentiometer out of the servo case, and replaced it with a 10-turn potentiometer. So, right away, you can multiply the distance traveled by 10, so for the above case, it takes the horn diameter for a 2' travel from 15" to 1.5" - much more reasonable!

In terms of coupling the output we could drive a threaded shaft with a follower nut (ACME threading seems to be preferred). This appears to be the most common drive mechanism for homebrew XY Tables - due to it's power and precision. It does result in slower travel, though, and again, a lot of gearing to get the potentiometer to move at the right speed to cover the span of travel.

What we opted for was a very simple timing belt approach where the servo drives a timing belt pulley, and the 10-turn potentiometer is connected directly to the shaft. With this very simple arrangement, then, we get 2-3' of travel in a few seconds with no complex mechanics. You could scale this approach up by gearing down the drive or potentiometer to the limits of the mechanics of a hobby servo.
 
Remove these adsRemove these ads by Signing Up
 

Step 1Materials

Timing Belt Pulleys and Belts

Timing belts are strong, flexible, and lose almost no movement to slippage. We used XL timing belts with 0.2" pitch - 77" long (and 3/8" wide to match the pulleys). This seems to work fine - we thought about testing the MXL belts with a 0.08" pitch, but didn't see the need since there was no noticeable play in the system for our purposes, and there was a wider belt selection. We used a fairly large timing belt pulley since that has a big impact on the final distance (the circumference) - it's about 1.5" in diameter - the largest we easily found with the 1/4" shaft size we were using. With a bigger pulley, the range would increase, but the system is ultimately limited by the precision of the potentiometer, so a much bigger belt may not work as well - certainly less positioning precision. We used 1/4" shafts throughout for simplicity - the same as the ten-turn potentiometer shaft.

We got our timing belts and pulleys from McMaster-Carr (but they are available elsewhere):
part # 6484K454 Trapezoidal Tooth Neoprene Timing Belt .200" Pitch, Trade Sz 770XL, 77" Outer Circle, 3/8" Wide
part # 57105K21 Acetal Pulley for XL-Series Timing-Belt for 1/4" & 3/8" Belt Width, 1.63" OD, 22 Teeth

Bearings and Collars
For the timing belt pulley bearings, make sure to get the extended inner ring ones so they don't rub against the shaft collars. You could also use regular ones with small washers on the inner ring. We used flanged ones to make mounting easier.

We got our timing belts and pulleys from McMaster-Carr (but they are available elsewhere):
part # 6462K12 Type 303 SS Set Screw Shaft Collar 1/4" Bore, 1/2" Outside Diameter, 9/32" Width
part # 57155K337 Miniature Precision SS Ball Bearing - ABEC-5 Flanged Shield, Extended Inner Ring, .25" ID, .5" OD

After building these, we noticed that Home Depot has ball bearings for patio doors, and these may work almost as well at a much lower price. Rather than mounting the bearing in a hole, you could put a couple bolts right through the outer plastic ring and bolt it right to an L bracket.

Potentiometer
Most servos use a 5K potentiometer, so we got one of those. The 1/4" shaft couplers for the potentiometer to the drive shaft connection are available at many places (McMaster-Carr, ServoCity, and Jameco all have them). The potentiometer could be connected to the shaft on the other side of the timing belt pulley from the servo, but in our case we extended it to the same side of the other pulley just as a simple means to keep the mechanics on one side of the device.

We got our potentiometers at Jameco: part # 183548 - they have a tolerance of +/- 5%
We also saw some at Digi-Key with +/- 0.2% - part # M-22E10-0502K-ND - we may try these at some point to see if they have any finer resolution.

Note: with heavy use on the site, the potentiometers started wearing and freezing up, so we have ordered ETI Systems MH22B series hybrid potentiometers (Mouser #882-MH22B-10-5K). Hybrid potentiometers use a layer of conductive plastic over the wire windings, so they are potentially more accurate and they last a lot longer - 10 million turns vs. 1 million turns for the wirewound ones. It's possible the issue is in the slight wobble of the shafts. so we used a piece of plastic tubing to connect them rather than the rigid shaft couplers - will see how that works.

Servos and Servo Hubs
We started with fairly standard servos - Hitec HS-425BBs (57 oz. in. and 0.16 sec to 60 degrees @6v). In testing, we had a standard servo driving a shorter timing belt, and got about 1.5' of movement in about 4 seconds. Not bad, and the servo was powerful enough to move it. But we opted for more speed, and upgraded to higher speed servos - Hitec HS-6965HBs (111 oz. in, and 0.08 sec to 60 degrees @6v). The newer ones were twice as fast, and much more powerful as a bonus, though that wasn't required. They are also digital, so they are programmable and all, but they do whine a lot more due to the higher frequency motor control.

(June 2009) See notes on the servo and last page, but for the X axis, we are currently using a
Pololu 3A Motor Controller with Feedback and a 12VDC 250RPM DC Gearhead Motor. The board from Pololu works just like a servo control board, and we already have the external potentiometer.

To connect the servos to the shafts, we used Servo to Shaft Couplers from ServoCity (http://www.servocity.com/html/servo_to_shaft_couplers.html) - part # HSA250. As far as we know, those couplers are fairly unique to Servo City.

Drawer Glides and Misc Hardware
Mechanically, this is a simple system - we used wood and various metals in the prototypes, and they all worked fine.

For the linear motion, we used Accuride full extension drawer glides from Home Depot. We bolted pairs of them (top to bottom) to give a longer travel. You can buy longer drawer glides, but they get expensive fast, so bolting two together works well at a low cost. One disadvantage with drawer glides is that they extend out past the machine when in use. Also, with two shorter glides screwed together, they tend to dip slightly when fully extended. We used 24" ones for the parallel glides and 20" ones for the single track. Both were fine since we had about 38" of travel. We may switch to linear bearings and shafts at some point if we can find lower cost ones.

We got the 1/4" steel shaft (zinc plated), the 1x4 and 1x6 wood and various aluminum and steel angles from Home Depot. All of the small bolts used in the project were #6 size, and the wood was screwed with drywall screws and pan head screws. We also used some electrical conduit boxes for the plastic shape (see below), but this is totally optional.
« Previous StepDownload PDFView All StepsNext Step »
57 comments
1-40 of 57next »
Jan 19, 2012. 2:38 PMElectronics Man says:
Great Instructable!!! Ive been working on a machine of my own but I have some questions about my driver board. Has anyone used the HobbyCNC EZ Driver Board Kit or the PRO series?
Jan 5, 2012. 2:11 AMHitm_n says:
i used the same drawer glides too. they're perfect for the job. although they do dip if you go past their contracted length. they keep things neat and low cost when compared to aluminum rods and linear bearings.
Jul 24, 2011. 2:02 PMdoncrush says:
Have you considered Kerk? I was aware of them having very low cost linear guide systems about 5 yrs ago...
May 23, 2011. 5:43 PMPOXYAT says:
Hi, I am a new-registered member in your site...
I have a question here regarding to the PID X-Y table...

How do you know the maximum distance that the plate on the X-axis and Y-axis can reach when the potentiometer (the potentiometer in your diagram) is in saturation (potentiometer reach maximum)??

If I am using another two potentiometers as the controller to control the X-axis and Y-axis movement respectively, when I tune the controller to its maximum, it is expected that the potentiometer that linked to the servo motor will reach maximum as well, vice versa.

Hence, if my hardware is built without priorly knowing these information, it will happen that when I tune my controller to its maximum, the plate that move along the X-axis or Y-axis will reach to the edge before the potentiometer (the potentiometer that linked to the servo motor) reach its maximum if the area of the hardware is too small.

So, how are we going to know the exact length and width of the X-Y table that enable the potentiometer to rotate freely from 0% to 100%??

Please be tolerated while reading due to my poor english, haha.

Thanks a lot, hope to hear from you soon.
Jul 19, 2010. 3:07 AMVoid Schism says:
Just had a thought; you could mark lines on the belt and use a light sensor to detect the light reflected. This method gives no wear at all and the parts are cheap. to get the markings accurate im sure you could use a contact transfer to mark the lines on.
May 22, 2011. 11:45 PMskaar says:
could also use a rotary encoder at the shaft, gray code or something, it'd be like, the reverse of a stepper motor, unless the shaft jumped a whole rotation, you'd have an absolute position... same technique, but without worrying the belt will get the ultra tiny dots rubbed off. there's an ible for a jog shuttle made from a vcr head, the same printout dots and encoder would work perfectly.
Dec 9, 2010. 4:44 PMhondaman900 says:
CNC news! DIY CNC hits mainstream in an O'Reilly Radar tech blog report today. See

http://radar.oreilly.com/2010/12/diy-fabrication-hits-a-new-pri.html
Aug 6, 2010. 6:53 PMPale_Flyer says:
The linear bearings could be a smooth flat metal track, with the carriage mounted to a standard ball bearing.
Mar 9, 2010. 10:43 PMdragonart777 says:
i run the bs2 stamp chip i got over 60 servos around  i been trying to find a way to run servo's instade of stepper motor   im working on a nothere project cnc tipe  but i don't won't to run a 300 board i like to find a nothere way to run it or convert the servo wire's to run with a home made board
Jan 10, 2010. 2:48 PMkingbolt says:
Very creative way of doing CNC ;-)

...but I still believe that using steppers is the way to go.
Nov 7, 2009. 8:32 PMakirawind says:
I have an idea here...will it work fine if i replace the drawer slider with a robot castor  attach under the top X-axis bar?
Nov 4, 2009. 3:43 AMakirawind says:

if i were going to use roller-chain-sprockets instead of timing belt, is that possible to clamp the chain like what you've done here?

Nov 4, 2009. 4:15 AMakirawind says:
another question here. in this step 5 (picture number 2), does the small wood block, which attach on the Y-axis top glide, glue/screw together with the X-axis ?
Oct 22, 2009. 1:37 PMzenitrama says:
I would like to use your table design in an upright position, i.e. vertical.  I cannot tell whether the design is mechanically consistent with this configuration.  Thank you!!
 
Oct 30, 2009. 6:01 PMzenitrama says:
Thank you!  I will let you know how it goes.
Oct 17, 2009. 9:44 AMflemron says:
very cool! i would love to see how you did your web interface with the SSC-32 board.
Oct 29, 2009. 12:21 AMakirawind says:

Hi,carls, i have a few Questions here:

Does the Y-axis Drawer Glide system which you did here slide from the bottom to the top of the whole mechnism? I dont understand how did you make the drawer glide slide in the position 'bottom-top'?what does it mean by 'bottom-up'?

As my project is about a pick and place mobile robot,so i would like to make the Y-axis slider to slide from the bottom up to where the top end. Could you teach me? 

Jun 11, 2009. 7:57 PMDieCastoms says:
I do not want to hijack your comments here but I have a few projects in mind, and you and your commentors seem to be the right people to ask.

I want to build an X, Y, Z, stage for a webcam-based microscope.
It does not need to move more than a few inches in each of the axii (sp.?) so I was going to use the servos themselves to move them (as in the same way they would be used in a model plane). This should give me the minute control I need as well as a "center" position and joystick control.
I will use the throttle channel for the z (zoom in this case) axis so that the zoom can be set and left, and the other stick for x and y respective to the stick so it will be logical to control the thing from the RC transmitter. I won't be able to control the focus, even though I have one more channel, because I have no way of connected a servo to the focus knob at this time.
I am using an XBox360 webcam modified for higher focus control. I have no way offhand of measuring the total zoom, but with the focus adjusted all the way out (close) you can focus on an object about a half inch away from the camera. if it works well I am sure I can add more lenses later.

Another project I am working on is a very large Radio Control Truck, based around a Honda 1000 watt generator. I know it will be difficult and odd to use the generator as the power source, but I have my reasons. I need two POWERFUL motors and controllers because I want it to be a tow truck and powering the rear wheels individually allows me both the ability to switch between series and parallel wiring, as well as making it unnecessary to use a differential.
I also need to build and run a winch capable of ... I don't know, 500 pounds?

The truck will be based on a 1920's chain-drive, Mack "C-Cab" and will have multiple beds that bolt or pin in place and will include a tow truck, a 5th wheel (semi truck or tractor trailer), a flat bed, and possibly a dump bed or "rollback".

I am taking sponsors for the truck if anyone is interested.

http://diecastoms.blogspot.com if interested, but I haven't been updating it as often as I should.

Thanks for reading my comment and not flaming me ;P
Mike from "DC".
Jun 3, 2009. 1:25 AMGilius says:
Why not just use DC motors if you're killing the pot?
Jun 2, 2009. 7:27 AMstephenniall says:
Wow simple enough for me lol if i get some cash i may maje one of these will be great but i suppose you could wire a dremel to it And run a router bit Through polystyrene or something Great rated 5/5
Oct 6, 2008. 6:33 PMCowGuy says:
Great 'Ible! How much do you think you spent total on this project?
Dec 27, 2008. 3:34 AMElectricdreamer21 says:
i'm building a cnc mill and its gonna cost me 30 for the x y an z and thats counting the stepper motors and the router i can get for free and the stepper driver for 50 i will stick to my cnc mill but yours works great if i was rich i would make it your way hahaha
Oct 10, 2008. 2:31 PMCowGuy says:
Thanks a bunch!
Oct 12, 2008. 4:12 AMWingDings says:
I assume you mean "movement speed" (or similar) rather than "rate of speed", which could confuse people, rate of speed being acceleration? Or maybe it has fast acceleration and I was missing something?
Oct 12, 2008. 4:55 AMWingDings says:
Sorry, that sounds negative on it's own! I'd just like to say that this is a great 'ible and it's given me some ideas for a project that's been on my mind for a while.
Oct 13, 2008. 1:36 AMWingDings says:
Nice one - that's even more informative! :) By the way, I see you're using an SSC-32 board to control the servos. I've had a bit of a play with one of those before and was wondering if you're asking your servos to get to position as fast as possible or throttling the speed with the controller to ensure smoother operation (or does it do that bit itself - I forget!). I remember that board being good for doing synchronised moves...
Oct 13, 2008. 9:13 AMWingDings says:
Cool. Thank you for the tip.
Oct 8, 2008. 8:25 PMlordofthedonuts says:
Great 'ible! Do you think I could strap a rotary tool to this and make a CNC "router" ?
Oct 9, 2008. 11:47 AMbart416 says:
Using a stepper is the best tool for that type of solution but I guess it'd work. But keep in mind a servo usually isn't designed to apply a huge force (like a CNC mill's table).
1-40 of 57next »

Pro

Get More Out of Instructables

Already have an Account?

close

All Steps Viewing
View all steps of an Instructable on the same page when you're a Pro Member.

Upgrade to Pro today!
86
Followers
12
Author:CarlS