How should a CNC Milling machine work?

The general Idea started off to be a milling machine with the manual crank handles replaced by some type of electric motor, and these three motors would drive one axis each (X,Y,Z.)


A computer would send signals (somehow) out to each motor and command it to rotate, and move the table to a certain location at a certain speed. All three motors should move together, and therefore in a coordinated fashion, move the cutting tool through a piece of material to make a part.

Research and general concepts.

of logical instructions to execute first. The commands are mechanical movement instructions like “move to an X,Y coordinate at a set speed, turn left and go for another 50mm. Stop and drill a hole…” After lots of these types of instructions, it is possible to make a fairly complex part.


The result is that you can design a part in Computer Aided Design (CAD) package, and save the file as a “.dxf” then open the dxf file in a “Computer Aided Manufacturing” or “CAM” software to calculate a list of tool paths which are called G-Code instructions. Mach 3 executes these instructions.


Which PC software?

I researched for hours on the internet, spoke to people who use commercial CNC equipment (who thought I was nuts,) looked at solutions and decided that out of Flashcut, EMC2, Mach and some others, for my situation and needs Mach-3 by Artsoft was going to be the most flexible, economical and the company has been doing this for years with thousands of other machines around the world running off Mach, so I concluded that it has great documentation and a proven track record. For $165 I could not go wrong!!!




What does Mach 3 do?

Let me start by saying that I am in no way connected to the “Mach” software or people, except that I purchased it over the internet a few years ago, and had so much fun with it that I wanted to share with the world what is possible to achieve with some patience, persistence, good software and electrical and mechanical design.


Mach 3 is a program that executes a list of “G-Code” instructions and translates this to a series of commands that can be sent to a set of motors attached to your milling machine, but you have to give it a list




How should I drive the Axes?

The general Idea started off to be replacing the milling machine’s manual crank handles with some type of electric motors. I would make brackets or supports to attach the motors to the old machine, and use a pulley and belt, or gears to drive the lead screws.


So what type of motors?

How big or how much power?

How fast?

How accurate?


Well, all of that depends on what sort of milling machine you want to convert to CNC. There are trade offs between different types of motors. Roughly speaking, the bigger (and therefore heavier) your machine, the more power you will need to drive the table. If you want super accurate, high speed you will have to pay thousands, or if you are happy with reasonable speed, and reasonable accuracy, then a few hundred dollars per axis is enough.


Broadly speaking there are two main families of motor used in CNC conversions. These are “Stepper motors” and “Servo motors”


Stepper motors.

Steppers offer lower cost for a given size / power rating compared to servo’s. Stepper motors have heaps of torque at low speed, but lose their torque at high speed due to the way that all of the technical details work—it is just part of their design. They have no position feedback to the controller incase they stall and lose their position, so the operator must program the job carefully to make sure that the motor is never overloaded, or one motor will stall while the other motors are happily moving along… things get out of sync and the part you are trying to make often becomes unusable because from that point on after the stall, because all of the holes drilled or cuts made will be in the wrong spot on the piece of metal.


Having said all that,  stepper motors work really well, and have been used to position printer heads in inkjet printers, and also in low end CNC systems for years with great precision, as long as the user understands their limitations and can use them accordingly.


Servo motors.

Servo motors have a wonderful device called a rotary encoder incorporated to their design, which is a position measuring device. When the motor is commanded to spin 1/4 of a turn, the motor controller puts power onto the motor and measures it’s rotation precisely, and keeps powering it until it reaches 1/4 of a turn, then reduces the power to the motor and waits. While it is in “wait” mode or standing still, the controller is still measuring it’s position, and if you try to rotate a servo, the controller will detect your movement of a 1/2000th of a revolution, and start sending power to the servo motor to work against your force, it will “fight” you and try to maintain the precise position it was last commanded to go to. Another advantage of a servo is that it is constantly measuring the difference between the real world “actual position”, and the desired “set point” and will increase the power being fed to the motor to reach the exact location you have commanded the motor to go to.


This is great stuff, there are many other technical details, but I don’t want to get bogged down here on a “Servo Vs. Stepper” debate in this overview. The servo system is great, but the technology costs more, and is more complex.


In the end, I chose to use servo motors on my machine because of the accuracy.  I figured that if I am going to spend all of this money, I wanted a really good result, I didn’t want to be five years down the track wishing that I had spent just a little more at the start for the extra accuracy.