Low Cost Hobby Servo XY Table

16
http://www.instructables.com/id/Low-Cost-Hobby-Servo-XY-Table/ Home Sign Up! Browse Community Submit All Art Craft Food Games Green Home Kids Life Music Offbeat Outdoors Pets Photo Ride Science Tech Low Cost Hobby Servo XY Table by CarlS on August 26, 2008 Table of Contents Low Cost Hobby Servo XY Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 Intro: Low Cost Hobby Servo XY Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 Step 1: Materials . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 Step 2: Timing Belt Pulley Assemblies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 Step 3: X Stage Frame and Drawer Glides . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 Step 4: Y Stage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 Step 5: Clamp the Timing Belts to the Stages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 Step 6: Modify the Servos for Continuous Rotation and Remove the Potentiometer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 Step 7: Mount the Servos and Potentiometers, and Calibrate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 Step 8: Conclusions, Notes, Room for Improvement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 Related Instructables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 Comments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

Transcript of Low Cost Hobby Servo XY Table

http://www.instructables.com/id/Low-Cost-Hobby-Servo-XY-Table/

Home   Sign Up!   Browse   Community   Submit

   All     Art     Craft     Food     Games     Green     Home     Kids     Life     Music     Offbeat     Outdoors     Pets     Photo     Ride     Science     Tech

Low Cost Hobby Servo XY Tableby CarlS on August 26, 2008

Table of Contents

Low Cost Hobby Servo XY Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

Intro:   Low Cost Hobby Servo XY Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

Step 1:   Materials . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

Step 2:   Timing Belt Pulley Assemblies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

Step 3:   X Stage Frame and Drawer Glides . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

Step 4:   Y Stage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

Step 5:   Clamp the Timing Belts to the Stages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

Step 6:   Modify the Servos for Continuous Rotation and Remove the Potentiometer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

Step 7:   Mount the Servos and Potentiometers, and Calibrate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

Step 8:   Conclusions, Notes, Room for Improvement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

Related Instructables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

Comments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

http://www.instructables.com/id/Low-Cost-Hobby-Servo-XY-Table/

Intro:  Low Cost Hobby Servo XY TableFor 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 otherinstallations, 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 thatmuch 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 - usingindustrial 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.

You can try this project out live at the site

The ChallengeSo, 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, lowercost, 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, andcounter 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 onerotational 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 adda rotating arm to it. A project for another day!

Using Hobby ServosWith 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 forcontinuous 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 internalpotentiometer 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 divideby 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 thatapproach 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 theSCARA 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 powerrequired 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 traveledby 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 drivemechanism 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 moveat 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 driveor potentiometer to the limits of the mechanics of a hobby servo.

http://www.instructables.com/id/Low-Cost-Hobby-Servo-XY-Table/

Step 1: MaterialsTiming 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). Thisseems 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" indiameter - 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 theprecision 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 sameas 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" Widepart # 57105K21 Acetal Pulley for XL-Series Timing-Belt for 1/4" & 3/8" Belt Width, 1.63" OD, 22 Teeth

Bearings and CollarsFor 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 smallwashers 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" Widthpart # 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 thebearing in a hole, you could put a couple bolts right through the outer plastic ring and bolt it right to an L bracket.

PotentiometerMost 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, butin 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 - 10million 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 themrather than the rigid shaft couplers - will see how that works.

Servos and Servo HubsWe 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 higherspeed 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 thatwasn'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 aPololu 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 havethe 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. Asfar as we know, those couplers are fairly unique to Servo City.

Drawer Glides and Misc HardwareMechanically, 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 longerdrawer 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 machinewhen 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 thesingle 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 istotally optional.

Step 2: Timing Belt Pulley AssembliesThe first thing we did was build the timing belt pulley assemblies. There are a lot of possible ways to do this, but basically, we used a collar-bearing-bracket-pulley-bracket-bearing-collar setup. We made several metal L brackets - just drilled a 1/2" hole in them for the ball bearings to fit in to. Then we saw some electrical conduitboxes at Home Depot and used them to make U shaped bracket. Both approaches are fine. It helps to have some shorter 1/4 rods to test these out - we used 2.5" piecesfor ours. The final assembly has one 3', 1/4" rod connecting the two sides to prevent racking.

http://www.instructables.com/id/Low-Cost-Hobby-Servo-XY-Table/

Image Notes1. Shaft Collar2. Ball Bearing3. Timing Belt Pulley4. Ball Bearing5. Shaft Collar

Image Notes1. These kinds of brackets would work fine too.

http://www.instructables.com/id/Low-Cost-Hobby-Servo-XY-Table/

Step 3: X Stage Frame and Drawer GlidesWe built the frame from 1x4 and 1x6 pine - we used the fancy grade to limit the amount of warping etc. The length of the 1x6s was 40" to allow for the length of the beltplus a little extra room. The 1x4s were 38" long, but it looks like they could be 40" too. Maybe someday... Screw the 1x4s on top of the 1x6s with a couple drywall screwsin each corner. If the screws get in the way when mounting the pulleys later, you can move them. The 1x6s are on top to allow the most room for the mechanics. Makesure to make the frame nice and square - measuring the diagonals works pretty well. Once the frame was complete, we mounted the timing belt pulleys and timing belts.We used a timing belt on the opposite side to help prevent racking as it moves, and it turned out that we only needed one shaft to go across, though we had originallyused a long shaft on both ends.

Once we had that working and tested (OK, we cheated and did step 6 first :-)), we added the two drawer glide combos. As described in Step 1, each one was two drawerglides attached top to bottom to give a longer extension with less expensive glides. The ones we had allowed you to remove the top glide (of three), making mountingmuch easier. We used 6-32 screws and cut off any excess with a Dremel tool.

Image Notes1. We eventually removed this shaft since it wasn't needed with the timing belts.2. hobby servo3. external 5K ohm potentiometer4. servo tester

http://www.instructables.com/id/Low-Cost-Hobby-Servo-XY-Table/

Step 4: Y StageTo the top of the two drawer glides, mount a small filler block (we used some scrap 1" thick wood, which allowed the Y stage to clear the X stage belt), then the Y stageboard - we used the 1x4 for that since a thinner board gives you a bit more work space. When mounting the filler blocks, it was handy that the top slide had a plasticrelease catch so we could pull the glide off, attach the block, then slide ti back in again.

Mount two more timing belt pulleys and a timing belt on this stage, leaving room for the drawer glides on one side.

Image Notes1. We eventually got rid of this shaft - with the timing belts it wasn't needed.2. Two drawer slides connected together. We originally tried top-to-top (picturedhere), but changed it top-to-bottom - it was stronger that way.

http://www.instructables.com/id/Low-Cost-Hobby-Servo-XY-Table/

Step 5: Clamp the Timing Belts to the StagesTo attach the X stage, we used an aluminum plate (about 1"x3") under the Y stage board with two screws on each side of the timing belt. We drilled two holes in the Xstage to get our 3" driver bit in there - put in two screws, then slide the assembly up a bit and add two more screws. For the Y stage, we made two aluminum plates (oneabout 1"x3", and the other about 1"x1") to connect the belt to the stage. In each case, you are just trying to clamp (or pinch) the belt to the mechanism.

Image Notes1. a small square plate below this one clamps the belt tightly

Image Notes1. a plate screwed from below

http://www.instructables.com/id/Low-Cost-Hobby-Servo-XY-Table/

Image Notes1. the holes we used to scre the X stage plate from below using a 3" driver bit

Step 6: Modify the Servos for Continuous Rotation and Remove the PotentiometerWe won't go into too much detail on hacking a servo for continuous rotation - there are plenty of sites on the web, and Instructables too. Some servos are easier, and if itlooks tricky, ServoCity sells modified servos with the potentiometer outside already. For the HS-6965HBs, we pulled the gears, then popped the motor down by wedginga tiny screwdriver between the motor gear and the housing to force it down. We then removed the pot and pulled the wires out through a small hole we drilled in the case.We have no idea if this is the proper way to do it. The HS-425BBs we originally used were even easier since the circuit board comes right out.

In both cases, we also cut off the limiting tab on the main gear. We used a Dremel tool for this - but we had to clean it well after that.

(June 2009) Note that for the Y axis (the one on top), the servo motor is working fine, but for the X axis, we have had some issues. So the current system is using aPololu 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 havethe external potentiometer. The motor is much more robust, and has been working well. One minor issue is that the PID algorithm sometimes overshoots a bit, but it's nottoo much, and the board allows you to set the PID constants - just need time for fiddling. :-) You can also use a servo board and adapt it for the same use - we'll look intothat sometime too.

http://www.instructables.com/id/Low-Cost-Hobby-Servo-XY-Table/

Step 7: Mount the Servos and Potentiometers, and CalibrateWe made L brackets from aluminum to hold the potentiometers and servos in place. At this point, we were just hacking out brackets that fit each situation. They don'tneed to be very strong - just want to reduce any movement, and they aren't under a lot of pressure. In all cases, using fewer screws and keeping it loose is better sincethe shaft will not be perfect, and the servos and potentiometer actually move around a bit. We didn't try it (yet), but on some XY tables, we have seen some plastic orrubber hose used to couple the motors to the shaft to allow for movement.

Note: we did eventually have issues with the potentiometers, and have replaced them with longer-life hybrid ones and also have now used (2-3" pieces of) plastic tubingto mount them to the shaft. In addition, we moved the shaft that connects the two sides to the other side, and now have the X axis potentiometer sharing a short shaft withthe X axis servo. (see last picture)

Leave the potentiometer and servo couplers loose, move the stage to approximately the center of travel and drive the servos to the center position (using a servo tester,an R/C transmitter or serial servo control board like the Lynxmotion SSC-32). Then turn the potentiometer until the servo stops, looking for the point where the servoslows down and switches direction. Once you find that point, then lock the set screws down. Note that servo testers and R/C radios may go 90 degrees, while SSCsusually can drive servos to 180 degrees. This is important to get the full range of motion - will use more of the potentiometer range.

We didn't worry too much about having it exactly in the middle since we are driving them by computer and needed to set the servo commands for the min and maxposition anyway.

http://www.instructables.com/id/Low-Cost-Hobby-Servo-XY-Table/

Image Notes1. Plastic tubing to absorb slight wobble.2. We are replacing the wirewound potentiometers (rated at 1M turns) with hybridones (rated at 10M turns, and hopefully mechanically more robust)3. We are just using a short piece of shaft we had around - the long shaftconnecting the two sides was moved to the other side and has no componentsattached since it wobbles more than this short shaft.4. We are trying a different shaft coupler here. This was an issue - the wobblecaused the coupler to come loose (actually loosened the servo screw inside), andthe servo burned out from continuous rotation. We could glue it down. In the shop,this would not be an issue since you are watching it.5. The rubber tubing hold the servo, but lets it wobble.

Step 8: Conclusions, Notes, Room for ImprovementThat's about it. For TeleToyland, we used some PHP scripts to command the servos via an Internet to serial connection to the SSC-32 board, which the servos pluggedright in to. If there is enough interest, we may do a separate Instructable on that setup.

Both axes have issues with not quite centering due to the potentiometers - causing the the digital servos to whine a lot at rest. For occasional use, it's probably fine. ForTeleToyland, we used a separate servo powered switch to just turn them off when not in use. We may get a digital servo programmer to see if narrowing the dead bandwill help. Higher quality potentiometers may help, but we may also be reaching a practical resolution limit in this approach.

(June 2009) For the linear slides, we used drawer glides. These are working fine so far, but they do stick out when the XY table is in the home position. So, we arethinking about using 16mm Linear glides from www.vxb.com - that seems like the lowest cost ones around.

(June 2009) Note that for the Y axis (the one on top), the servo motor is working fine, but for the X axis, we have had some issues. So the current system is using aPololu 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 havethe external potentiometer. The motor is much more robust, and has been working well. One minor issue is that the PID algorithm sometimes overshoots a bit, but it's nottoo much, and the board allows you to set the PID constants - just need time for fiddling. :-) You can also use a servo board and adapt it for the same use - we'll look intothat sometime too.

Other UsesThis is an interesting approach, and might make an excellent arm configuration for a mobile robot. The Leaf Project members are interested in arms, and this could beused for part of it. You could even add a counterweight on the belt opposite the end effector so that the arm would balance automatically - as the hand moves out, thecounter-weight would move back. Adding a second linear system behind it would allow the weight of the object picked up to be balanced too.

The following sites provided some of the inspiration for this project:Easy to Build Desk Top 3 Axis CNC Milling Machine Tom McWireImproving Servo Positioning Accuracy David P. AndersonServoCity Servo Power Gearboxes

We didn't use this, but it looks interesting - a timing belt pulley for MXL belts (0.08" pitch) for Hitec servos

We found this after building ours - uses gears in a similar way, and the drawer glides are similar:Autonomous Foosball Table .

http://www.instructables.com/id/Low-Cost-Hobby-Servo-XY-Table/

You can drive this project live at TeleToyland.

http://www.instructables.com/id/Low-Cost-Hobby-Servo-XY-Table/

Related Instructables

ServoControlledMarble Maze byCarlS

ServoControlled ToyCarousel byCarlS

3 Axis CNCRouter -60"x60"x5" -JunkBot byrussaanderson

Quick NotebookPC Robot Baseby CarlS

HomebrewLaser Cuttermade by ZachRadding byTimAnderson

Make your owncnc controllerby charcoal999

Comments

50 comments Add Comment view all 51 comments

 hondaman900 says:  Dec 9, 2010. 4:44 PM  REPLYCNC 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

 Pale_Flyer says:  Aug 6, 2010. 6:53 PM  REPLYThe linear bearings could be a smooth flat metal track, with the carriage mounted to a standard ball bearing.

 Void Schism says:  Jul 19, 2010. 3:07 AM  REPLYJust 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 arecheap. to get the markings accurate im sure you could use a contact transfer to mark the lines on.

 dragonart777 says:  Mar 9, 2010. 10:43 PM  REPLYi 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 cnctipe  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

 kingbolt says:  Jan 10, 2010. 2:48 PM  REPLYVery creative way of doing CNC ;-)

...but I still believe that using steppers is the way to go.

 akirawind says:  Nov 7, 2009. 8:32 PM  REPLYI 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?

 akirawind says:  Nov 4, 2009. 3:43 AM  REPLYif 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?

 CarlS says:  Nov 4, 2009. 10:12 AM  REPLYMaybe you could even just put a screw through one of the links?  We could have done that with the timing belts too, but we were reluctant to put a hole inthe timing belt.

 akirawind says:  Nov 4, 2009. 4:15 AM  REPLYanother 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?

 CarlS says:  Nov 4, 2009. 10:11 AM  REPLYYes, I think its described in Step 4 - we attached small blocks to the X Axis glides, then the Y axis board to the tops of those blocks.  That was so the YAxis was above the X Axis timing belt.

 zenitrama says:  Oct 22, 2009. 1:37 PM  REPLYI 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!! 

http://www.instructables.com/id/Low-Cost-Hobby-Servo-XY-Table/

 zenitrama says:  Oct 30, 2009. 6:01 PM  REPLYThank you!  I will let you know how it goes.

 CarlS says:  Oct 30, 2009. 1:43 PM  REPLYIt should be since the drawer glides work in most orientations, but the weight of the Y axis would be a fairly big strain on the X axis.  Maybe you can adda counterweight to it?

 flemron says:  Oct 17, 2009. 9:44 AM  REPLYvery cool! i would love to see how you did your web interface with the SSC-32 board.

 CarlS says:  Oct 30, 2009. 1:47 PM  REPLYWe use a SitePlayer Telnet device to go from the Ethernet to the serial port.  That let's us use simple PHP code to send commands via telnet.  Then, weconnect a Lynxmotion SSC-32 right into that serial port to drive the servos.

 akirawind says:  Oct 29, 2009. 12:21 AM  REPLYHi,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 thedrawer 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 youteach me? 

 CarlS says:  Oct 30, 2009. 1:41 PM  REPLYBoth axes use the same approach:  we took two drawer glides and bolted the thin sides (the part that gets connected to the drawer) together, so thatleaves the two wider cabinet sides out.  We did this just to save the cost of buying a really long drawer glide.  Another way to go is get linear bearingsfrom a place like http://www.vxb.com.  We may try that on a newer version of the TeleToyland Sandbox.

Just a note that this system is very low precision, so it may not be well suited to CNC apps.

 DieCastoms says:  Jun 11, 2009. 7:57 PM  REPLYI 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 waythey 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 itwill 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 wayof 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 wayout (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 thegenerator 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 therear 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 ;PMike from "DC".

 Gilius says:  Jun 3, 2009. 1:25 AM  REPLYWhy not just use DC motors if you're killing the pot?

 CarlS says:  Jun 3, 2009. 11:06 AM  REPLYYou are right. As noted in the Instructable, we are using a separate DC motor on the X axis currently since the system is in such heavy use onTeleToyland. We still need the PID control, and prefer the servo signal control, so we are using a board from Pololu that works like the hobby servoelectronics. But, it's worth mentioning that the hobby servo approach does work fine. We are using it for the Y axis, and we used high speed + highpower servos just to make the system work faster. Using regular servos (maybe a high power one for the X axis) does work fine, so the timing belt servocontrol is a nice low cost way to get lower precision linear motion. Using DC motor drivers would be great too - just gets into more cost like traditionalCNC machines.

http://www.instructables.com/id/Low-Cost-Hobby-Servo-XY-Table/

 stephenniall says:  Jun 2, 2009. 7:27 AM  REPLYWow 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 bitThrough polystyrene or something Great rated 5/5

 CowGuy says:  Oct 6, 2008. 6:33 PM  REPLYGreat 'Ible! How much do you think you spent total on this project?

 CarlS says:  Oct 9, 2008. 11:25 PM  REPLYOff the top of my head: timing belts: $12 x 2 timing belt pulleys: $7 x 2 shaft collars $3 x 8 bearings: $9 x 8 - the patio door glides may be a lessexpensive solution 1/4" shaft: $10? drawer glides: $15? x 6 wood: $20? misc hardware etc.: $50? servos: $80 x 2 for the fast digital ones. $15-$30 onesworked too, just slower. potentiometers: $15 x 2 for the wirewound ones - worked fine but we have ordered $40 hybrid ones, hoping they work better.Hope that helps. As usual, we spent more with parts we eventually didn't use, and we could also probably find even less expensive ways to do some ofthe above.

 Electricdreamer21 says:  Dec 27, 2008. 3:34 AM  REPLYi'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 stepperdriver for 50 i will stick to my cnc mill but yours works great if i was rich i would make it your way hahaha

 CowGuy says:  Oct 10, 2008. 2:31 PM  REPLYThanks a bunch!

 WingDings says:  Oct 12, 2008. 4:12 AM  REPLYI assume you mean "movement speed" (or similar) rather than "rate of speed", which could confuse people, rate of speed being acceleration? Or maybe ithas fast acceleration and I was missing something?

 WingDings says:  Oct 12, 2008. 4:55 AM  REPLYSorry, 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 awhile.

 CarlS says:  Oct 12, 2008. 3:39 PM  REPLYGood call. We changed it to "2-3' of travel in a few seconds," so you can make your own judgement if that's a good speed or not, and it's betterphysics too! :-)

 WingDings says:  Oct 13, 2008. 1:36 AM  REPLYNice 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 oneof 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 toensure smoother operation (or does it do that bit itself - I forget!). I remember that board being good for doing synchronised moves...

 CarlS says:  Oct 13, 2008. 8:11 AM  REPLYYes - that's critical to this setup - having the servos move immediately would probably be too fast. We have it set to a 4 second travel for thelongest distance, and scale that time by the distance it needs to travel.

 WingDings says:  Oct 13, 2008. 9:13 AM  REPLYCool. Thank you for the tip.

 lordofthedonuts says:  Oct 8, 2008. 8:25 PM  REPLYGreat 'ible! Do you think I could strap a rotary tool to this and make a CNC "router" ?

 CarlS says:  Oct 9, 2008. 2:31 PM  REPLYThanks. You could definitely move a Dremel, but I think only if you run the servos very slowly, or are cutting soft material.

 bart416 says:  Oct 9, 2008. 11:47 AM  REPLYUsing 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 aCNC mill's table).

 CarlS says:  Oct 9, 2008. 2:02 PM  REPLYAgreed - a stepper + lead screw approach gives a lot more power and precision at the cost of speed. For our application, the servos work well. Oneimportant thing that helps is that the Lynxmotion SSC-32 board that we use to control the servos lets you set a time delay for a command, so weallow up to 4 seconds for the longest move. This helps control the quick moves that you would normally get with a servo, so the dynamic load fromthe table is not an issue. We haven't hooked the table up to an R/C transmitter/receiver, but it would probably not work well unless you were veryslow and steady with the stick. :-)

http://www.instructables.com/id/Low-Cost-Hobby-Servo-XY-Table/

 askjerry says:  Oct 9, 2008. 1:05 PM  REPLYActually a servo is better than a stepper... but not a hobby type servo. The CNC machine I built... all 3200 pounds of it... uses servos. They are 72volt DC motors connected to a quadrature encoder and driven by a gecko drive.

You can get the encoders from http://www.usdigital.com/ and the drives from http://www.geckodrive.com to build yours. The way it works is that youset a direction bit to 1 or 0 and apply pulses to the other line. The controller then moves the motor in the proper direction and keeps power applieduntil the unit reaches the correct position. The nice thing is that similar to this... it will hold position. If you remove the pulse from the hobby servo, itwill allow the motors to free move. The gecko only moves during pulses, then monitors and corrects by its-self so you do not loose your position.

If you are wondering... a QUADRATURE encoder has four states... an "A " and a "B " signal that can be 00, 01, 10, or 11 hence the name... quad forfour states. If you know your last position and the status changes... you know how far and by what direction it moved.

Anyway... if you want more shoot me an email and I'll do my best to help you out. Steppers are okay... but if you apply too much force... you can misssteps... then you are no longer accurate for the rest of the job. You do not have this issue with a servo type setup.

Jerry

 bart416 says:  Oct 10, 2008. 12:42 PM  REPLYWell the main issue would be the cost versus efficiency. A cheap stepper doesn't perform that bad in the torque area actually. And if it doesn'thave to apply a lot of force you can pull the steppers out of an old broken scanner in fact. But for CNC the system of linear motors also exists,and in terms of applied force it's going to win.(But you need 3 phases , though you could use a capacitor over the coils I guess) So to concludethe order of force it can apply is: linear motor > expensive servo > stepper > cheap servo

 CarlS says:  Oct 9, 2008. 2:10 PM  REPLYSounds great, esp. when you consider the cost of the higher end servos and potentiometers we are using to make our installation run faster.

 Romado12187 says:  Oct 6, 2008. 6:25 PM  REPLYvery nice. I could have used this a while back.

 starwing123 says:  Oct 6, 2008. 2:16 PM  REPLYVery good instructable. I was just wondering, could you attach VEX to it any make it human controlled?

 CarlS says:  Oct 6, 2008. 3:10 PM  REPLYThanks! I think I've heard the Vex controller can drive standard hobby servos - you'd just need the slightly different Vex connectors.

Human controlled - not sure what you mean, but the one from this Instructable is live at http://www.teletoyland.com/Projects/Sandbox, and you can moveit...

 mechanisma22 says:  Sep 30, 2008. 8:34 PM  REPLYThis is a very elegant design. I was wanting to build a xy table that was servo controlled with all the expensive hardware, this is pretty much it. Do you think itwould be capable of somewhat precise control like within the 1/100th of an inch? What tools is it able to handle, something like a plotter or cutter?

 CarlS says:  Oct 3, 2008. 3:31 PM  REPLYWith a shorter table, you would get better precision, but 1/1000 of an inch seems unlikely with hobby servos. Steppers with ACME screws or belt drivesare the popular way to do that. In terms of tools, we just have a servo that drops a stick in the sand. The Drawer glide approach is fine for quills (tools)that can hang down, but not good for tools that will push back - linear glides would be better for that.

 treg says:  Oct 1, 2008. 1:47 AM  REPLYServo motors are basically small DC motors with : -A potentiometer to feedback the position -Some basic logic to determine how much current to send to themotor depending on it's actual position and wanted position. If we use a simple (free) mouse to have feedback on the X and Y position sent to the computer,then all the logic for amount of current can be coded on the computer, so all we need would be low cost DC motors. I admit that it would not be a veryefficient in a multitasked environment. So it maybe be usefull to programme a mouse driver for a PIC, and maybe re-compile the firmware of the motionsensor chip so it does not turn to powersaving mode when not moved (VT5365 seems to be ok for this), but it seems that there is some possibility toeconomise a lot of money on the servo this way. What do you think ?

 CarlS says:  Oct 3, 2008. 3:27 PM  REPLYDefinitely. The homebrew robotics community is very fond of coming up with new motor control systems along the lines you describe. You can also getmotors with an optical encoder attached. In addition to the motor, encoder, and controller is the PID code - that controls how the speed ramps up, down,and how to handle "honing in" on the final position. That's all in the hobby servo electronics, but can be done with a PIC for sure.

 szechuan53 says:  Oct 1, 2008. 2:13 PM  REPLYwow, this is something that i will build this weekend.

http://www.instructables.com/id/Low-Cost-Hobby-Servo-XY-Table/

 LinuxH4x0r says:  Sep 29, 2008. 8:47 PM  REPLYNice job! I should build these once I get my stuff here (most of my parts are still in MN)

 alexhalford says:  Sep 30, 2008. 9:25 AM  REPLYHow accurate is the XY table? (I'm not worried about the servos themselves, it's the drawer slides that I'm concerned about.)

 CarlS says:  Sep 30, 2008. 10:19 AM  REPLYI'd say not very - the goal was to make it fast and low cost. We didn't do any thorough testing, but I'd say definitely within 1/4" - likely better. With the18" prototype, there was virtually no play in the system, so that seemed to be very accurate. The timing belts and pulleys really keep that part tight.With the 30" one we built, the potentiometer limit may be a factor. We are using wire-wound pots, so maybe more continuous ones will help, but wecould also be hitting the limit of the hobby servo PID algorithm. As far as the drawer glides go, they don't seem to affect the accuracy much.

 alexhalford says:  Sep 30, 2008. 3:21 PM  REPLYOk, thanks. Great 'ible btw. AlexHalford

view all 51 comments