Hobby CNC Controllers have evolved to the point of having significant power. I recently came across an article about a one-chip CNC controller - it eliminates the need for a PC, you just need to attach a few additional components and it operates the stepper motors, offers an LCD screen user interface, among other features. Truly impressive, and it's only set to continue improving. Despite these advancements, there are still several features that most Hobby CNC Controllers lack, which are standard on Pro CNC Controls. Here are 10 such features:
1. Better Macros and Subprograms: Fanuc Macro B vs Mach3 vs LinuxCNC
This is one of the biggest ones for me. The ability to program the g-code in Pro machines is quite a ways ahead of the Hobby Controllers such as Mach 3 or LinuxCNC. What's specifically missing so far are branching structures-IF, GOTO, and WHILE loops. You can only do so much with #variables and subprograms without branching. Branching is the ability for the g-code to change what it will do based on outside inputs.
2. More and Better Canned Cycles
This is another one that makes a big difference, particularly when programming lathes. Canned cycles like G71 on the lathe make it fairly easy to hand program even complex profiles quickly and without the need for CAM software.
3. Rigid Tapping via Closed Loop to the Control
There's a lot of Holy War diatribe about whether or not there is Closed Loop all the way back to the Control when discussing such things as Mach3 versus LinuxCNC. I prefer to look at what specific features the user gets from Closed Loop rather than worrying about the theoretical implications, so I'm going to name a few here. First up is Rigid Tapping. In theory it should be pretty straightforward to get this into Hobby Controls given that they support an encoder for threading on lathes, but you don't see it very often. It's not easy to do it right for one thing.
The acid test is rapid tapping into a blind hole. If there's a mistake you either get too little of the hole threaded or the tap hits the bottom and usually breaks. It's an unforgiving application.
4. Increased Homing Accuracy via Closed Loop
Another neat trick the Pros use is to tremendously increase the accuracy of Home Switches by tying them to the Encoders on each axis. The actual Home Switch only has to identify the neighborhood within 1 encoder revolution. The precise position can then be read from the encoder position to an accuracy that's much higher than can be achieved with a simple Home Switch.
5. Advanced Acceleration and Shape Control
Acceleration is always a bit of a bugaboo for CNC machines. They can't accelerate to the commanded feedrate instantly nor stop on a dime. In fact, it is surprising how often they're not going the speed you thought you'd programmed them to go because they're busy trying to accelerate or decelerate to get there. We added some information to our G-Wizard Editor that tries to tell you what acceleration is doing to g-code program run times as well as what's happening line by line. That's extremely useful for cost estimating and for tuning up g-code part programs to run better.
The very best Controllers are all over the acceleration problem. They not only understand the acceleration capabilities of the machine, they also understand the actual shape of the acceleration curve. This can lead to a number of advantages including greater precision, smoother/faster speed changes, better surface finishes, and ultimately, shorter cycle times. They user this information together with Closed Loop Information and Lookahead Information about what the g-code will do next to try to anticipate and stay ahead of the game. They can provide capabilities like Automatic Corner Override, Advanced Contour Control, Advanced Feed Forward Control, and Advanced Acceleration Control.
If you're doing 3D profiling or running a fancy HSM toolpath you will love having these features available from your Controller.
6. Machine Compensation
No mechanical device is perfect. No ballscrew is without at least some small amount of backlash, nor does every inch of the ballscrew thread advance with perfect precision. Sometimes a commanded move of an inch is 0.9996 inches while other times it may be 1.0003 inches. With the right software in your Controller, it can try to compensate for these issues. There's Backlash and Pitch compensation for the aforementioned ballscrew problems. Add to that straightness compensation which adjusts for the fact that the axes of the machine are not completely orthogonal to one another. As you move a machine in X, it may change Y or Z some tiny amount. Another important source of error is addressed by Temperature Compensation. As your machine warms up, parts expand at different rates. On a hot day it may be one thing and then you fire it up in the winter before warm up and it is quite another.
Good controls can compensate for all of these things using a variety of techniques. They are calibrated periodically by a Ballbar or Laser Interferometer test to reset the compensation settings. Really fancy machines may even have glass scales similar to DRO scales that are continuously reading how much each axis actually moved and using that to update the Controller on what's really going on.
Some of this is available for Hobby Controllers-backlash compensation and leadscrew pitch compensation are the ones I am familiar with. But it's done in a far simpler manner and Hobby Machines seldom get the precise calibration to dial in compensation that Pro machines do.
7. Advanced Tool and Part Program Management
Pro CNC Machines are often used for long part runs, so they have features to help manage Tools and Part Programs that are geared to that application. They'll keep up with how long each tool in the changer has been in use, for example. On the part program side they can track program usage, verify version data, and organize programs in folders with extended descriptors. Really fancy controls can provide some front end menus for the operator that help make their job easier and give them options. For example, it is often convenient to be able to skip some parts of the program, for example when reworking parts that already have those features machined and just need to do the later work.
8. Tool Compensation
I like to think of Tool Compensation as the Poor Man's CAM, but it is so much more. Tool compensation is essentially the ability to program g-code for the tool centerline instead of the tool's edge. The control will "move the tool over" by the right amount for the cut. When we specify our programs in this way, it is easier to write programs by hand, hence the "Poor Man's CAM" nickname. But it also unlocks a lot of power for the Shop Floor to make changes using wear offsets without having to change the part program's g-code.
Suppose you run a part and inspect it. Some of the features are out of tolerance a little bit. Compensating for that without tool compensation likely means you're going to have to adjust it at the CADCAM level-a complicated and slow process. But, if your part program uses Tool Compensation, you can simply dial in another wear offset and suddenly your part is right on. Professionals constantly use this capability to increase the precision of their parts and to make minor adjustments where it just wouldn't be worth it to go back through a CADCAM cycle.
Wait a minute, you're saying-Hobby Controllers have this feature. Yes, sort of, but there are so many reports of bugs in the feature that I don't know of very many Hobby CNC'ers that are successfuly using the feature very often. You have to use it just right or it won't work for you, and often the failures are mysterious and can even lead to machine crashes. Tormach even did an article series in Digital Machinist about how to get it to work. They have quite a few caveats in the operator manual for the PCNC 1100 mill suggesting not to use compensation in cases such as:
- Subroutine programming
- Canned cycles
- Macro programming
- Polar mode
- With run from here function
- With multiple work offsets
Those are some pretty serious limitations. If you're running a Hobby Controller and have gotten Tool Comp to work, good on you. For most, there's just too many gotchas. One could argue that stability in general has been more of a problem for Hobby Controllers than Pro Controllers. I will say that while Mach3 on my mill has had a number of bugs off and on, LinuxCNC on my Tormach Lathe has been solid so far. The Tormach guys really gave it a wringing out.
9. Dedicated Control Panel
First let me say that it is entirely possible to build a very nice dedicated control panel for a Hobby CNC Controller. I've got a whole page with photos of CNC Control Panels for those who want inspiration. But once again, they're not very common on Hobby Controllers whereas they are completely the norm on Pro Controls. The reason is simple, these panels are rugged enough for the Shop Floor and they can be significantly more productive for machine operators than trying to use a keyboard and mouse.
10. Drip Feeding for Remote Control
This is another of my favorite Pro-features because it enables you to "remote control" the machine. Essentially, drip feed means giving the CNC Machine a little bit of g-code at a time. It executes that g-code and then comes back for more. The code is normally delivered via RS-232 serial cable, but there are a lot of other options for newer machines. Drip Feed was originally invented as a way around the memory limitations of early CNC Controls. They just couldn't hold very large programs so drip feed gave them the g-code a little bit at a time. It's still used quite often for that purpose, but increasingly it is also used to automate and monitor the deliver of g-code to machines. Using this approach helps guarantee the correct version of the g-code is being executed, it can gather information from the machine about what it's doing to use in reporting and optimization, and it can facilitate complex "Lights Out" automated operation.
Bonus: 4 Things Hobby Controllers do that Pros Don't
Be the first to know about updates at CNC Cookbook
Join our newsletter to get updates on what's next at CNC Cookbook.