1. What is a CNC controller?
CNC stands for Computer Numerical Control. In simple words, the CNC controller is a machine that transforms the design provided through CAD (Computer-Aided Design) software by numeric inputs. These input values are the coordinates of the design graph and they play a significant role in controlling the cutter movement. As the name depicts, a CNC controller is a computer numerically controlled machine which handles and manages the processes and actions of the machine. The CNC controller basically acts as the central part of the CNC device. It links the entire mechanical system to the computer-controlled part of the CNC system. The word “controller” is generic, yet it is used in this context to represent the entire CNC system.
The controller is assigned and facilitated to do the vital interpretation during the cutting operation. The primary function of the CNC controller is to receive conditioned signals supplied by an indexer or a computer. Once the signals are received, the CNC then interprets them into mechanical movements.
The conversion of these computerized signals into mechanical motion is generally achieved in the form of motor output. A CNC controller consists of 3 embedded mechanisms; the CNC software like CAD (Computer-Aided Design) /CAM (Computer-Aided Manufacturing), etc. which are the program based instructions, a processing device, and a machine control unit.
2. How does a CNC controller work?
A CNC machine is like any other industrial system/equipment. These devices come under the category of electro-mechanical systems which manipulate the machining tools as per the project requirement. In simple words, a CNC device comprises a computer system to which the programming software is fed by the machine operator. The best part of the CNC machine is that it makes precise cuts with assured accuracy as the cutting actions are fed with the required dimensions into the mechanical system. Here is how a CNC controller functions to perform any cutting task:
Step 1: CAD (Computer-Aided Design)
CAD plays a crucial part in creating the 2D and 3D shapes, as required. The CAD files are directed into the controller. These files contain specifications concerning the shapes and dimensions of the project to be executed. The entire working of the controller is based on these specifications to
execute any further projects.
Step 2: Transformation of Computer-Aided Design into CNC Code
As the CAD files are meant to perform a wider variety of tasks, it is required to convert these files into CNC code. Here is where the need for CAM software steps in. It converts the CAD file into controller-readable CNC code.
Step 3: Machine Preparation
As the machine operator gets the readable file, it is time to set the machine ready for the task. The operator is also required to attach the workpiece and other necessary accessories (to the machine) in order to facilitate the proper program execution in the controller.
Step 4: Execution of an Array of Processes
Once the operator has the CNC codes ready, now the program is all set to be fed to the controller and get the desired work output. The entire machining process is guided and controlled by these CNC codings.
Interestingly, how the CNC controller receives commands is majorly based on the internal circuitry. The circuit board or the software can constantly reconfigure the design schematics for every individual controller.
3. What are the different types of CNC controllers?
There are total 3 types of CNC Controllers:
- Industrial OEM CNC Controllers
- CNC Retrofit Controller
- PC Driven CNC Controllers
- Industrial OEM CNC Controllers
An Industrial OEM CNC Controller is used on high-end CNC systems like Haas. This type of CNC controller is not usually meant for DIY projects as it is too costly. It is not just that the controller alone is expensive enough but the subcomponents of Industrial OEM Controllers are also of premium grade. Home / Limit Switches, Industrial Quality Servo Drives, and others are also marketed at a hefty price.
However, recently, companies like Siemens and others have lined down their controller price to a rate that suits places like eBay. It seems that the companies are now more likely to test the low-end market. If this continues, then industrial OEM CNC controllers will start to make sense to be used on DIY CNC projects, for being affordably available in the market.
- CBC Retrofit Controllers
CNC Retrofit Controller is just the second to the Industrial OEM (Original Equipment Manufacturer) Controllers.
The CNC controllers are highly merchandised for turning a manually driven machine to a CNC system. For instance, converting a Bridgeport milling machine into a CNC driven system. The controllers are also marketed with the intention of helping the industrial machine users to update their outdated industrial CNC Machines with the latest features and performances.
These controllers are not that inexpensive, but they have just begun to fall within the price range that a DIY or an occasional CNC machine user could afford.
- PC Driven CNC Controllers
Right now, there are three leading CNC controller brands in the market, namely;
- Mach 3 and Mach 4
All these three companies have good brand reputation with varied trade-offs concerning functionality, features, cost, and ease of application.
- Mach 3
ArtSoft was founded by Art Fenerty in 2001 and then Mach 3 was launched, which was based on the original EMC (Enhanced Machine Controller) code base offshoot. ArtSoft required a CNC controller that is compatible on Microsoft Windows computer instead of Linux. As a result, this took a major re-edition and the two have nothing much in common, anymore.
As per a survey taken in 2017, Mach 3 is the top leading CNC Controller at low-end in the market, having 47% of market share. The next closest one in the list is LinuxCNC controller.
LinuxCNC's original/former name was "Enhanced Machine Controller" (EMC) and "EMC 2". As EMC corporation is the owner of the EMC trademark, the company changed its name to LinuxCNC.
LinuxCNC is an Open Source software that allows access to the latest source code in case you need to understand or change it. It also implies that there is a greater possibility of getting contributions from larger audiences, including some reputed companies like Hurco, Tormach, Powermatic, etc.
If you are already a Mach 3 user, then you will really find it a good decision taken by Tormach to have moved its contribution from Mach 3 to LinuxCNC.
Tormach's PathPilot is more powerful, user-friendly, and stable compared to that of Mach 3. However, purchasing a PathPilot CNC Controller up and using it for your DID CNC projects might not be that simple. You will be required to gather and assemble a controller that appears akin to Tormach’s and arrange a PathPilot copy and then run on it (controller).
FlashCut is an effective plug-and-play Controller. The company was established in 1993. So, it has already been quite a long time and the controller design has also evolved noticeably over the time.
Though the market share of FlashCut is not bigger than LinuxCNC or Mach3 Controller, or LinuxCNC, FlashCut is yet a good choice to avail. On the contrary, FlashCut is an expensive choice compared to other controllers. Well, having a well-organized and engineered turnkey controller solution that is plug-and-play is worth being a bit premium.
- Mach 4
Mach 4 is the latest controller type in the list and so far has the minimal market share. It is a start-up from the scratch re-edition of Mach 3 controller. According to the developers, Mach 4's share is below 1% of Mach 3’s code.
4. What is a GRBL controller?
GRBL is the acronym of "Garble". It is a software program, etched into arduino boards(like nano, uno, and Duemillanove), that controls lasers or CNC machine spindles and stepper motors. GRBL utilizes the G-code in the form of input and output signals through the arduino pins. Most of the Industrial CNC machineries utilize parallel port controllers that require those huge parallel port cables for connection. Since GRBL arduino boards come with a USB Type B port, you just have to connect it to a free Type B cable.
All the arduino boards based on atmega 328 are supported by GRBL. That means, both the uno and nano are compatible except the mega version as it is based on atmega 2560. Arduino mega is basically utilized in different 3D printer systems as it(arduino mega) features a powerful processor. However, as the tasks conducted by CNC mills/routers are relatively easy, so the use of arduino uno is sufficient in that case.
In order to drive the stepper motors, a driver of some sort would be needed. drv8825 and a4988 are some top options to drive small motors, such as nema 17 or 14. However, note that these drivers must not be utilized to drive more powerful motors like nema23 or higher.
To connect the arduino with the motor drivers, you can either utilize a pre-made arduino uno CNC shield or can build one by yourself. The latter option is pretty easy to follow, however, it could be a time consuming process. There are other arduino options like arduino nano boards that are typically meant for laser cutting.
To summarize, here are those three parts that you will require for a typical CNC device:
- Three stepper drivers(x,y,z)
- One arduino board
- One CNC shield