Friday, December 17, 2010
I noticed a problem when I tried to machine two "mirror image" parts, and when I tried to match-up the parts, they would not align. It seems my router was built out-of-square. I have decided to completely re-build the router, taking my time, and making sure all the parts are square. Before I make the new router, I needed a solid, mobile table on which to hold the router, PC, power supply keyboard and some extra storage. I will provide the plans and images of the table.
Monday, July 5, 2010
Fifth time is the charm!
First, be sure you've calibrated your milling tool. See "Calibrating PCB isolation routing with Eagle/pcb-gcode" by Poul-Henning Kam. He created a simple PCB design that mills traces of a particular width across from isolation paths of the same width.
Second, is your table surface 'flat' in comparison to your milling tool? Mine was out by just under 2 mils, which is a lot, considering 1 oz copper is only 1.4 mils thick. To test, I took one of my mill bits and inserted it
I repeated the leveling exercise, again starting at the highest corner, and using a
Now we're ready to route.
Next post I'll cover what I learned on the Eagle CADsoft PCB design software.
Saturday, June 26, 2010
PCB isolation routing - attempt 2
Much better results this time. Milled-and-drilled with excellent results. I decided to switch from my 1/4" router to a Dremel tool - this required a new mounting bracket. Naturally, I used the router table to make the new parts.
The process is starting to get easier. I routed two brackets from 3/4" MDF and glued together.
I carefully added the mounting holes so I can easily switch from t
he router mount to the Dremel mount with only 4 bolts. Works great. Another benefit is the Dremel is considerably less noisy than the router, and the Dremel runs cool the whole time. Running a homeowner-quality router for an hour gets scary - you can smell the varnish on the motor windings getting hot.
Added a saw kerf and a bolt to "pinch" the Dremel into place. Like a rock.
Here's the Dremel mounted.

I secured special 1/8" milling bits from DrewTronics. It was the 1/8" shaft that made the Dremel the easy choice. I ordered 30, 45 and 60 degree bits with the idea to play with them all over time. I had to throw 'em under the microscope - here is a 45 degree bit at 20x magnification.
Routing went perfectly. Tooling still a bit to deep. Milling time was shortened considerably by using the gcode optimizer.
After routing, I decided to try drilling too. Snapped the first bit after drilling the 4th hole. Checking the setting of the gcode converter - I found one setting at zero inches - this caused the tool to move to the "home" position for a tool change, but didn't lift the drill out of the PCB first! Changed the number to one inch, and it worked fine, returned the router to the 0,0 position, raised an inch for easy drill changes.
Drill bits are from Jameco and seemed to do an excellent job.

Here's some of the traces at 20x magnification. I did nothing but scrub the board a little with a Scotch scrubbing sponge - no abrasives, no sanding. Was able to get a trace between two 0.100 inch IC pads.
Next I'll ring it with a volt meter, and if all is good, actually build the circuit.
I carefully added the mounting holes so I can easily switch from t
Here's the Dremel mounted.

I secured special 1/8" milling bits from DrewTronics. It was the 1/8" shaft that made the Dremel the easy choice. I ordered 30, 45 and 60 degree bits with the idea to play with them all over time. I had to throw 'em under the microscope - here is a 45 degree bit at 20x magnification.
Routing went perfectly. Tooling still a bit to deep. Milling time was shortened considerably by using the gcode optimizer.
Drill bits are from Jameco and seemed to do an excellent job.


Next I'll ring it with a volt meter, and if all is good, actually build the circuit.
Wednesday, June 23, 2010
Gcode optimization


Now if I only knew enough about C++, I could probably re-compile onto Ubuntu!
I ordered some PC milling bits (30, 45 and 60 degree) from Drewtronics. I should have them in a few days. My router is a 1/4" shank, and these itty-bitty PCB router bits are 1/8" shank. I'll need to track down a reducer.
Monday, June 21, 2010
PCB isolation routing with a real PC board




Couple of early learnings: The cool dust brushes I made obscure the PCB. This isn't a problem for routing, but it makes setting up the tooling a real nightmare. I've got to re-design the brushes such that they are either fully or partially removable.
Second, the CADsoft to gcode converter does an excellent job, technically, but the resulting gcode is very far from being optimized. I'd estimate 40 - 60% of the time to route the board is the router moving from one end of the board to the other. More than half the milling time is just plain wasted.
Next Steps: Order some real router bits. Consider using a dremel tool rather than a wood router. Try to make a gcode optimizer that I found work.
Saturday, June 19, 2010
PCB isolation routing - first attempt
Last night I downloaded CADsoft Eagle schematic drawing and PCB design software. Learned just enough to make a basic board. Used an Eagle to Gcode converter and created the gcode.
Tie-wrapped a rollerball pen in place of my router, added a flat (MDF) auxiliary table on the Router base, got the paper flat.
Started the EMC software, opened the gcode file. It looked perfect with a "rats nest" of jogs. I set X and Y to home, set the touchoff, and hit 'go'. Board is about 2.5 by 2.0 inches.
Son-uv-a-gun. It did pretty damn good. I am pretty sure I had some of the feed rates too high, and I think I skipped a step or two. Nevertheless, I was blown away. It takes a L O N G time to route. One key learning: keep as much copper on the PCB as you can!
Here is a close-of the bottom left of the PCB. The holes are marked quite well in the pad centers. This was not the case everywhere, though. Next time, I will slow down the steppers.
This will make prototyping PCBs fun, clean and fast (faster than the chemical options!).
I will document my complete setup and experience.
Here is a 73 second video of the CNC machine drawing with the roller-ball pen. You can see the pen flex and the paper move - these are, no doubt, large contributors to the inaccuracy.




This will make prototyping PCBs fun, clean and fast (faster than the chemical options!).
I will document my complete setup and experience.
Here is a 73 second video of the CNC machine drawing with the roller-ball pen. You can see the pen flex and the paper move - these are, no doubt, large contributors to the inaccuracy.
Wednesday, June 16, 2010
Software - Introduction
The Software. Now this is where things get confusing for me. CAD this and CAM that. I have successfully milled some parts, but I've not yet figured out all the bits.
For the CAD software, I stick with Google Sketchup. Sketchup is a really amazing product. First, it's free. It is 'easy' to learn (for a 2D CAD package, anyway). There are a lot of great tutorials available. I used Sketchup to create all the CAD drawings for building the router, and all the drawings I posted to this blog. Since it's free, you can get your feet wet while preserving some cash.
For the CAM software, I am playing with the demo (40 uses) version of CamBam. The CamBam website says it best: "CamBam is an application to create CAM files (gcode) from CAD source files or its own internal geometry editor".
There is also a free add-in for Google Sketchup that will cleanly export a Sketchup drawing into a format ready for CamBam.
Take some time to read the three-part software tutorial by Patrick Hood-Daniel on his buildyourcnc.com website.
There is a lot to learn about the CAM software, and I'm only just starting. I've found the CamBam documentation to be very weak, almost useless. I did most of my learning by trial-and-error.
For the machining software, I am using EMC (Enhanced Machine Controller). From the EMC site: "EMC2 is software that runs on Linux, on most standard PCs, that can interpret G-code and run a CNC machine." In my case, I use Ubuntu. I had an extra PC, the EMC software installed and ran first time, no problems. EMC plays perfectly with the HobbyCNC stepper driver board.
On a side note: If you have not considered a Linux system, Ubuntu 10.0.4 is amazing. It is quite Mac-looking, fast-as-hell, robust and stable (my server ran for well over a year with zero issues). And with a product called Wine, you can run most windows applications. It's pretty sweet.
I do suggest you use a separate computer to drive your router. It will suck in dust and crap like you won't believe, and you'd hate to trash your home PC. I open my PC regularly and blow out the collected dust and debris. One challenge, is finding a PC with a parallel port, which is required for the HobbyCNC stepper controller. Most new laptops don't have a parallel port. My Ubuntu system had no issue accepting a parallel port card, tho I do remember having a challenge finding some I/O port address or other. But once I figured that out, all was well.
I hope to give some tutorials or other helpful guidance on getting these three products playing together nicely, but time is a rare commodity at the moment.
For the CAD software, I stick with Google Sketchup. Sketchup is a really amazing product. First, it's free. It is 'easy' to learn (for a 2D CAD package, anyway). There are a lot of great tutorials available. I used Sketchup to create all the CAD drawings for building the router, and all the drawings I posted to this blog. Since it's free, you can get your feet wet while preserving some cash.
For the CAM software, I am playing with the demo (40 uses) version of CamBam. The CamBam website says it best: "CamBam is an application to create CAM files (gcode) from CAD source files or its own internal geometry editor".
There is also a free add-in for Google Sketchup that will cleanly export a Sketchup drawing into a format ready for CamBam.
Take some time to read the three-part software tutorial by Patrick Hood-Daniel on his buildyourcnc.com website.
There is a lot to learn about the CAM software, and I'm only just starting. I've found the CamBam documentation to be very weak, almost useless. I did most of my learning by trial-and-error.
For the machining software, I am using EMC (Enhanced Machine Controller). From the EMC site: "EMC2 is software that runs on Linux, on most standard PCs, that can interpret G-code and run a CNC machine." In my case, I use Ubuntu. I had an extra PC, the EMC software installed and ran first time, no problems. EMC plays perfectly with the HobbyCNC stepper driver board.
On a side note: If you have not considered a Linux system, Ubuntu 10.0.4 is amazing. It is quite Mac-looking, fast-as-hell, robust and stable (my server ran for well over a year with zero issues). And with a product called Wine, you can run most windows applications. It's pretty sweet.
I do suggest you use a separate computer to drive your router. It will suck in dust and crap like you won't believe, and you'd hate to trash your home PC. I open my PC regularly and blow out the collected dust and debris. One challenge, is finding a PC with a parallel port, which is required for the HobbyCNC stepper controller. Most new laptops don't have a parallel port. My Ubuntu system had no issue accepting a parallel port card, tho I do remember having a challenge finding some I/O port address or other. But once I figured that out, all was well.
I hope to give some tutorials or other helpful guidance on getting these three products playing together nicely, but time is a rare commodity at the moment.
Dust Control - making the brush


The Harbor Freight brush had

I tried drill bits in the holes left in the brush to determine the proper hole size.
I flipped the motor mount upside down and put holes around the perimeter of the router in a highly un-precise fashion - just guesstimating the spacing.
Then I took a small nail set, and with a file, put a very slight "V" in the end. I would open the bristle bunch a bit, line the "V" of the nail punch over the small metal staple, align it with one of the holes I just drilled and smacked it with a hammer. Repeat until you start talking to yourself.

I didn't count 'em, but it took a lot of the little buggers to circle the router and dust port.



Tuesday, April 6, 2010
Dust control - the background
If you haven't used one of these devices, there are two issues you will need to deal with - noise and sawdust. And these routers produce both in ample amounts. The noise can be dealt with using hearing protectors. IMPORTANT SAFETY NOTE: eye, ear and dust protection is mandatory. You may feel like a goober wearing all this protective gear, but at least you will still be able to see and hear and you are less likely to cough up bits of your lungs years from now.
Regarding the dust, goodness only knows what carcinogenic crap is in that stuff, and these machines produce a lot of very fine particles - I'd bet these are the most dangerous.
I needed something that would include a vacuum system, and there had something that would enclose the router bit, extending all the way to the surface of the workpiece. Upcut spiral router bits really sling the sawdust - somewhere between a speeding bullet and the speed of light.
I am a firm believer in intercepting the dust as close to the source as possible - especially considering my garage is attached to my house - and all that fine dust will work it's way inside - and my wife will find it - and I will be in deep, deep sh_t.
Whatever I used needed to be flexible - it has to bend against the work surface when the router cuts deeper. It had to be firm enough to not get sucked into the router bit or the vacuum system.
I've seen some builders used a 'skirt' around the router mount, others suggested brushes (called 'door sweeps'). Yet others just put the whole-damn-thing into an enclosure (thereby addressing both dust and noise). I will eventually do the enclosure route and a dust-pickup at the source. Sort of like wearing a belt and suspenders.
This looks like an industrial router, but I really like the dust control.
Regarding the dust, goodness only knows what carcinogenic crap is in that stuff, and these machines produce a lot of very fine particles - I'd bet these are the most dangerous.
I needed something that would include a vacuum system, and there had something that would enclose the router bit, extending all the way to the surface of the workpiece. Upcut spiral router bits really sling the sawdust - somewhere between a speeding bullet and the speed of light.
I am a firm believer in intercepting the dust as close to the source as possible - especially considering my garage is attached to my house - and all that fine dust will work it's way inside - and my wife will find it - and I will be in deep, deep sh_t.
Whatever I used needed to be flexible - it has to bend against the work surface when the router cuts deeper. It had to be firm enough to not get sucked into the router bit or the vacuum system.
I've seen some builders used a 'skirt' around the router mount, others suggested brushes (called 'door sweeps'). Yet others just put the whole-damn-thing into an enclosure (thereby addressing both dust and noise). I will eventually do the enclosure route and a dust-pickup at the source. Sort of like wearing a belt and suspenders.
This looks like an industrial router, but I really like the dust control.
Sunday, April 4, 2010
Router Mount

The photo (above, left) shows the router mounted in the original mount. I had to raise the router in the mount so that the router bit did not extend past the dust brush (details on that later). That moved the router too far away from the table, so I had to jury-rig it to lower the whole router/mount assembly lower toward the table. The new sides to the Z-axis assembly (above, right) includes a "jog" to hold the router mount lower.

The small hole to the upper right is for the vacuum attachment. It works fairly well, but I will re-make this with a 2 1/2" vacuum attachment. The more air you can move, the better.
Wednesday, March 31, 2010
Mounting the Steppers
For mounting the steppers, I cut a stack of 1/2" and 3/4" plywood
squares 2 1/2" square. By testing various combinations of different thickness, I determined the right size for each stepper.
I marked the center of the square and drilled a 1.5" hole with a Forstner bit and drilled the four stepper mounting holes in each square. Glue, stack and press them together. When dry, cut a notch to allow the block to be slipped under the stepper. This is necessary because of that three-part coupling spider - you really need to get that assembled first, then slide the spacer under the
stepper. The notch must be wide enough to allow the coupling to pass through.
To the left is my Z-axis stepper where you can see the stack of plywood for mounting.
To mount the motor, I used 10-32 x 3" machine screws. All I could find were round-head slotted screws, and the head diameter was a bit to big. A few seconds on the grinder and they fit fine. The screws to through the axis assembly - I pressed in four T-nuts. (for the Z-axis, the T-nuts were pressed into shallow holes bored into the plywood.

I marked the center of the square and drilled a 1.5" hole with a Forstner bit and drilled the four stepper mounting holes in each square. Glue, stack and press them together. When dry, cut a notch to allow the block to be slipped under the stepper. This is necessary because of that three-part coupling spider - you really need to get that assembled first, then slide the spacer under the

To the left is my Z-axis stepper where you can see the stack of plywood for mounting.


Connecting the drive screw part II

My welding skills are pretty much non-existent, but it should hold.

Tuesday, March 30, 2010
Connecting the drive screw to the axis assembly

I used a coupling nut and attached this to each of the three axis assemblies.

I selected a dado over drilling through the piece because, as I was using plywood and not MDF, I couldn't get the drill bit to track perfectly straight through the center of the plywood.
Note: for the X-Axis, I just did the dado and epoxy with no 'cover' glued and pressed over the coupling nut. the epoxy just broke loose two nights ago. I will design a much more robust attachment.

Backlash: Yes, I am aware that this type of nut is not ideal and that it can fall prey to excessive backlash. As the first version of my router is my "proof of concept", and I'm not machining to the micron, I don't currently care about the tiny bit of backlash present. I must say, however, that it's not too bad. We'll see after 10,000 cycles how it looks and feels!
Saturday, March 27, 2010
Drive Screws
There are three drive screws needed (one for X, one for Y and one for Z-axis). I used 1/4-20 threaded rod from Home Depot. Make sure to get them long enough - and keep them a bit long until you are 110% sure your design is set. Threaded rod is easier to make shorter than it is to make longer.
I finished the ends of all the drive screws the same way - with two nuts turned into each other. The second nut is referred to as a " jam-nut". This locks the two nuts in place very effectively. Notice the bearing is always towards the "inside" of the two nuts.
The bearing is a R4ZZ (1/4"x5/8"x0.196" Shielded) from VXB Bearings. 10 bearings for about $15.

Where I mounted the bearings, I used a 5/8" Forstner bit to bore a hole just deep enough to hold most of the bearing. Then I finished by drilling a 1/4" hole for the drive screw. It's a little difficult to see in the drawing, but the photo shows the double-nut arrangement and the bearing is counter-bored almost completely into the plywood. (this is the end of my Y-Axis drive screw). Sometimes I used a washer between the nut and the bearing, but It didn't seem to make any difference so I ended-up going without a washer.
A trick to remember when cutting the all-thread: Put a nut onto the bar before you cut the threaded rod. Cut the rod and file the end to clean off the burs & junk. Then, by taking off the nut, you will clean-up the threads (somewhat) where you cut them. Not perfect, but better than nothing!

The bearing is a R4ZZ (1/4"x5/8"x0.196" Shielded) from VXB Bearings. 10 bearings for about $15.


A trick to remember when cutting the all-thread: Put a nut onto the bar before you cut the threaded rod. Cut the rod and file the end to clean off the burs & junk. Then, by taking off the nut, you will clean-up the threads (somewhat) where you cut them. Not perfect, but better than nothing!
Wiring the steppers
Here is the wiring diagram. Depending on your definition of "forward" and
"backward" or "up" and "down" - your steppers may end up going the "wrong way". The best choice is to see if you CAM software can invert the outputs. Or you can swap the stepper windings. It's not obvious what to do, if you need to know, drop me a line and I'll draw the "swapped" version.
The nature of this type of project is that it goes together - and it comes apart. Often. So I used connectors (from Jameco) that had enough pins (9) and sufficient current carrying capacity. Get at least one M and one F for each motor, you need to order the individual pins and sockets a-la-carte. Get an extraction tool also. If you have the extra $, the proper crimping tool would be nice too.
Here's the Y-Axis motor showing the 9-pin Molex connector. I opted for the 9-pin connector vs. a 6-pin as I am planning to run my limit and/or home switches through the same connector.

The nature of this type of project is that it goes together - and it comes apart. Often. So I used connectors (from Jameco) that had enough pins (9) and sufficient current carrying capacity. Get at least one M and one F for each motor, you need to order the individual pins and sockets a-la-carte. Get an extraction tool also. If you have the extra $, the proper crimping tool would be nice too.

Stepper motors

Steppers were delivered quickly, although their packaging for shipment was not ideal and the steppers were pretty much "flopping around" inside the package. All seemed OK, and the steppers are working perfectly.
You can also secure steppers from HobbyCNC - if you think you will be needing support from Dave at HobbyCNC, then it might make excellent sense to secure as much as possible from him.



The electronics
I purchased the HobbyCNC PRO Chopper Driver Board Kit from HobbyCNC. The price was good and delivery was quick. Kit went together with clear assembly instructions.
HobbyCNC has a new board, with fewer features that would most likely work just as well: HobbyCNC EZ Driver Board Kit. $64 vs $79.
I managed to blow one of the driver chips, though I tried to be ultra-careful. I replaced the chip, added a big heatsink, and all is now good.
Here's the bare board. The quality is first-rate, as are the assembly instructions. Take your time, double-check everything.
I checked every solder joint under an inspection microscope - my soldering skills are excellent, however my eyesight is not.
Pay attention for any solder bridges or cold-solder joints.
The completed board "in action". For the heatsink, I used the same material that was used for the linear bearings and the rails. I put some heatsink paste between the driver IC's and the heatsink. I'm sure all the sawdust isn't ideal, but I'm not done yet!
HobbyCNC has a new board, with fewer features that would most likely work just as well: HobbyCNC EZ Driver Board Kit. $64 vs $79.
I managed to blow one of the driver chips, though I tried to be ultra-careful. I replaced the chip, added a big heatsink, and all is now good.

I checked every solder joint under an inspection microscope - my soldering skills are excellent, however my eyesight is not.
Pay attention for any solder bridges or cold-solder joints.

Subscribe to:
Posts (Atom)