November 19, 2012

Advice to a friend on a home brewed CNC…

On 11/19/2012 8:10 AM, Jarrett wrote:
Hey Andy,
Long time no talk. How are you? How’s the fab business treating you? I’m living in Rochester NY right now, working as a an engineer for a company that makes CNC gear cutters. Anywho, to keep my sanity after cubicle life I’m renting a shop and starting to build some CNC machines of my own. I was wondering if you had any suggestions as to where I should get lead screws, a good tutorial on setting up the controller, or any other words of wisdom. I sure hope you’re doing awesome.
I’d love to hear from you,

Hey Jarrett,

Glad to hear that you’re still alive! It’s no small task you’re taking on, but it’s a lot of fun and hugely rewarding. Here’s my suggestions, take them with a grain of salt…

Advice: Get the best ball screws and rails you can afford. I chose THK. They’re the sexy Japanese gold standard in my book, and cost accordingly. I wanted to be sure that when I was ferreting out problems with my machines I could always rule out my linear components as the problem.  Don’t ignore their rotating ball nut products. It simplifies machine construction and lowers rotating mass, allowing better acceleration and reduces the number and complexity of the ball bearing situation.

For rails, ALWAYS make sure you get blocks with wipers and seals…double wipers and seals if they’re available. You won’t regret it. A blown  up block will ruin a perfectly good rail, which will ruin the other block. Use good grease, and follow a maintenance schedule.

Another company is Hiwin. They’re cheaper, but probably fine. They used them on the plasma cutter, but nobody ever greased or maintained it and they didn’t get wipers, so it got pooched real fast, and we had to drop a bunch of cash and rebuild the whole machine. If I ever build another machine, I’d still consider Hiwin myself.

Controllers: Stepper motors are fine for most things. They also don’t require tuning, and they’re cheaper than a servo. If run slow enough, technically they have better control than a servo, but if you mess up, you can cause them to lose steps, and you never realize it until you screw up a part. They also don’t “home” as accurately as a proper servo, so day to day repeatability can be lower.  There ARE ways to make them home, but it involves putting an encoder on the shaft…and then you may as well just use a servo. For a stepper driver, I’ve found the GeckoDrives to be pretty good. They’re inexpensive. Make sure you get a good solid transformer based (NOT switching!!) power supply that’s got a few volts behind it. Volts = useful high RPM. The motors may say 4.5 volts or whatever, but that’s at a standstill. It’s the controllers job to take the 60V from your power supply and turn it in to the pseudo-sine waves to drive the steppers. For the plasma retrofit, we ended up using a beefy 80V toroid transformer and four micro stepping geckos in to NEMA34 triple-stack motors. It’s pure robotic sex.

Avoid DC servos like the plague. A lot of dirt bags on EBAY put an single ended encoder on a crappy DC motor and call it a servo. DC servos have brushes and they wear out and cause all sorts of hell and frustration. I know some people may swear by them, but there are just so many better options out there.  Speaking of encoders, if you use them, try to use differential outputs (your controller will need to be able to USE differential encoders) because it’s way more robust than single ended.. OK tech speak, single ended is 0V-5V signaling, differential is -12 to +12 volts. Single ended is fine for controlled, close proximity environments, but differential is way better for long runs and noisy electrical a CNC. Most cheap controllers won’t take differential…because they’re cheap.

AC servos like the Deltas and AutomationDirect “SureServos” are cheap and seem to be pretty damn awesome. I’ve beaten the piss from them for YEARS and they’ve been flawless, and are ridiculously configurable. Some of the big servos are liquid tight, but that’s probably not such a big deal for you. I’d say stick with steppers unless you’re building an 8000 lb man-killer of a machine. 

Controllers are tricky. There’s a LOT of crap out there. All I can say is “Don’t use Centroid!!” I have a Centroid / Ajax control in the router and I fucking HATE IT.  It’s bug ridden, and their tech support people are uninterested monkeys. For all I know, they’ve abandoned the project. It was a waste of almost $2,000 that I’m stuck with, because it would take another $2K and two weeks of down time to change. They’re an old company with an old business model. They de-bundle every feature, and offer amazing expensive upgrades like being able to use a USB key to transfer files, and probably sell the 16MB ram kit for $2,000. It’s 2012, people. They’re a terrible bunch of animals.   Mach3 is FINE. It’s cheap, configurable, and a little bit stupid looking, but one of the best options out there besides EMC, (you need to be a Linux nerd to figure it out, but it’s free and powerful) As far as an actual interface goes, there’s always the parallel port, but most computers don’t have them any more.  I used a “SmoothStepper” before, and they seemed pretty decent… a few bugs, and nowadays they have an Ethernet version, so for my next machine I’d consider one, but for AC servos, I’d be interested in a DSPMC/IP -S Motion Controller. They seem pretty good and their servo tuning looks way more straightforward. It’s made by a company called Vital System, and they have a bunch of hardware that looks good… but then again, so did Centroid at the time.

Whatever controller you use, make sure it can at least accommodate a jog wheel / hand wheel / MPG. They’re awesome, and you’ll want one eventually. 

I could talk for hours about this. There’s my two cents anyway. There may be better, newer stuff out there. Feel free to run it by me.

Take care,