What is a CNC?
The abbreviation CNC stands for computer numerical control, and refers specifically to a computer “controller” that reads G-code instructions and drives a machine tool, a powered mechanical device typically used to fabricate components by the selective removal of material.
In simple words, a CNC is a machine which is controlled by a computer, and used to fabricate 3D objects.
This page will describe the process of building a CNC machine, from the design stage, the required materials and the process itself.
Still confused? Here’s a shot movie showing a CNC fabricating a printed electronic circuit board:
After seeing the movie, you must have understood how useful that kind of machine is for printing electronic circuit boards or manufacturing robot parts. This kind of machine helped tremendously cut the prototype manufacturing costs, and thus very useful for me. The only problem is – such a machine costs thousands of dollars.
But as I say – “If there’s a will there’s a way”. So I decided to build such a machine myself.
This page describes the building process, beginning with the design, the required parts list, the needed electronics, how to connect everything to the computer and how to operate the machine.
Parts List
Aluminum U Channels, 20cm x 20cm
1/4″ Threaded Rods:
Long 1/4″ nuts:
Bearings (different sizes):
Perspex (Acrylic) boards:
Choosing the stepper motors
While choosing the motors one should take into account the physical size of the machine, the weight each axis will carry. Another important criteria is the precision of the motors – the number of degrees it spins at each step. A few more parameters are the physical size of the motor (NEMA23, NEMA32..) and it’s power rating.
I have chose Shinano Kenshi 1.8 degrees\step, 7.3 volts 0.95 ampere, NEMA23 stepper motors. To achieve more precision I run the motors in half-stepping mode. The motor is controller using my CNC Stepper Motor Controller.
CNC Controller
I built an opto-isolated 3 Axis CNC Controller which supports home and limit switches for all the axes.
More info at the CNC Controller Page
CNC Software – Linux EMC
The software I’m using is EMC – Linux CNC. It has many advantages – it’s an open source program and thus a free one, it supports various kinds of hardware and configurations and it’s very easy to use. Since EMC is running on a special version of linux – Real Time Linux, it is also very reliable and never misses a step.
EMC Is working with G-Code.
Creating The Machine Frame
The machine’s frame is created from metal bars, soldered together and painted gray:
Threaded rod’s bearing mounts:
In order to achieve high precision, I used bearings to fix the threaded rod to the frame:
The result is impressive – the threaded rod is fixed to the frame, and it moves very smoothly, as you can see in the video:
Motor Mounts:
X Axis motor mount:
Y Axis motor mount:
Z Axis motor mount:
Using bearings to tighten everything:
Motor shaft coupler
This is the first coupler I created. It’s made of a long nut, in which I drilled two small holes. Its performance was medium – a coupling was achieved, but I could notice some jitter.
So I replaced it and bought aluminum and rubber professional couplers:
X and Y Axes
Both X and Y Axes, with the motor mounts. Click on the picture to enlarge.
Home and Limit switches
In order to support automatic homing of the machine, and have better safety, I installed home and limit switched for all the axes. You can see the home and limit switches for the Y axis in the pictures below.
Limit switch:
Z Axis:
The dremel mount is made of 15mm x 15mm perspex. It works out very well – there is no vibration even when the Dremel is spinning in 33,000 rpm!
The Dremel head with the CNC milling bit:
Bearing support for the Z Axis:
The finished machine!
Side View
CNC in Action – CNC Examples
The CNC Machine is now complete! The results are very good – I get 0.4mm precision (I simply can’t measure if it’s more precise than that).
An example of milling wood:
An example of PCB Isolation Routing, here is the PCB layout:
A picture taken while the printed circuit board was milled:
A video demonstrating the CNC machine milling a printed circuit board (PCB) using PCB Isolation routing. The machine is working at it’s lowest speed in this example, in reality it can be configured to run much faster.
The result:
As you can see the machine is able to create PCB quite nicely.
In order to *really* test the machine, I tried to engrave the following scheme of a horse – which is 2mm x 2mm only!
The result amazed me (the photo is enlarged so you can see the detail):
Links
- CNC, G-Code, Computer Aided Design and Computer Aided Manufacturing (Wikipedia)
- CNC Information
CNC Information is the Premier Information Site about all aspects of CNC. CNC forums, CNC blog and CNC Member Profiles.