After you have your motors and motor drivers ready to go, you’ll need to have a way to actually control the motion of your motors. CNC motion controller may seem like a simple problem, but the fact that your motors will need to run in a highly coordinated fashion along with the fact that that your motors will likely require some sort of ramp acceleration curve, greatly complicates this problem.
Cheap CNC Motion Control
If you want to control your CNC machine on the cheap, I can’t blame you. There aren’t too many good, cheap CNC motion controllers available today. Generally, the cheapest solution is to use a parallel port to drive the step and direction signals from your computer to your motor drivers. There are a few software choices available to you that can take G-code, and drive the appropriate step and direction signals out of your parallel port, also known as a printer port or DB-25 port.
Software Choices
The most popular free software choice to run your CNC machine would be EMC, or Enhanced Machine Controller, by LinuxCNC. This software is free and runs on Linux, so you won’t even need to buy a Windows license. The most popular paid for software would be Mach3, which gets very high reviews.
Parallel Port Performance
When using software to control the motion for your CNC machine, you should keep in mind that the parallel port was never intended to be used for this purpose. Originally, it was used mostly for connecting printers to a computer. That being said, the Mach3 manual claims that Mach3 can drive up to 35,000 pulses per second out of a printer port, which is fairly good performance. So even if you’re driving in half step mode, using an ACME rod with 12 threads per inch, you can still theoretically get 7 inches per second. But more than likely, you’ll want to use microstepping drivers for your motors for smooth motion, which would reduce your inches per second rate dramatically. So don’t expect to get lightning fast and accurate motion by using a parallel port and microstepping driver. If you’re using a parallel port, you’ll usually need to settle with a balance of accuracy and speed. Still, this solution is acceptable for many people. Also note, many computers don’t have a printer port anymore. You may see USB to printer port adapters, but whatever you do, don’t buy those. They will not work for CNC applications, not even close. Instead, try to get an old computer with a printer port on the motherboard, or simply buy a PCI or PCI-e card with a printer port on it.
Hardware CNC motion controllers
For those of you that want extra high performance, you’ll need to dig deep into your soul and your wallet. The best place to look for these solutions is the plugin section on the Mach3 website, which has compatible hardware listed. You should be able to get a very decent solution for $200 fairly easily. Before deciding to spend the money and time acquiring and setting up a hardware CNC controller, you should give EMC a try for free first and see if it’s adequate for your needs.