7. Computer-Controlled Machining
This week, our school technician provided a hands-on safety and operational training session for the large-format CNC milling machine. The purpose of the training was to help us understand the complete workflow of CNC machining, including safety procedures, preparing files, setting up the machine, changing tools, calibrating coordinates, and testing machining parameters such as runout, alignment, fixturing, speeds, and feeds. This training helped us better understand how to safely operate the machine and prepare for our group assignment and individual CNC projects.
1. Safety training
The training began with an introduction to CNC machine safety rules. Since CNC machines operate at high speeds and involve rotating tools, proper safety procedures are essential.
Key safety guidelines included:
- Always wear safety glasses when operating the machine.
- Tie back long hair and avoid loose clothing or accessories.
- Know the location of the emergency stop button before starting the machine.
- Never place hands near the spindle or cutting tool while it is running.
- Always make sure the material is firmly fixed to the CNC bed.
- Check that the correct tool is installed and tightened securely.
- Never leave the CNC machine running unattended.
- Ensure the dust extraction system is turned on before cutting.
The technician emphasized that proper preparation and attention during machining are critical to prevent accidents and protect the machine.
2. Preparing and uploading the file (DXF format)
Before running the CNC machine, the design file must be prepared in a format that the CAM software can read. In our workflow, we exported the design as a DXF (Drawing Exchange Format) file. DXF is a vector file format developed by Autodesk and is widely used for transferring 2D geometry between CAD and CAM software.
3. Automatic changing of the cutting tool
During the training session, the technician explained that the CNC machine we used is equipped with an Automatic Tool Changer (ATC). Unlike smaller CNC machines where tools must be changed manually, this machine can automatically switch between different cutting tools during the machining process.
How the automatic tool changer works:
The CNC machine stores multiple tools in a tool holder rack or carousel. Each tool has a predefined tool number and tool length offset stored in the machine system. When the machining program runs, the G-code specifies which tool is required for each operation. The machine then automatically:
- Moves the spindle to the tool change position
- Returns the current tool to the tool holder rack
- Picks up the next required tool from the tool rack
- Confirms the tool number and resumes machining
This automated process allows the CNC machine to perform multiple operations without manual intervention, improving both efficiency and accuracy.
Advantages of automatic tool changing:
- Higher efficiency when performing multiple machining operations
- Reduced setup time
- More consistent tool positioning
- Ability to use different tools for different cutting tasks
4. Setting and calibrating the machine
Another key step in CNC setup is calibrating the machine coordinates, also called setting the work origin or zero point. The CNC machine must know the exact starting position of the tool relative to the material.
Setting the X and Y origin:
The spindle was moved manually using the machine control interface until the tool was positioned at the chosen origin point, usually the lower-left corner of the material. The coordinates were then set as:
- X = 0
- Y = 0
Setting the Z origin:
The Z-axis controls the cutting depth. To calibrate the Z-axis, the tool was slowly lowered until it just touched the material surface, and then the machine was set to Z = 0. Some machines also use a Z-probe plate to automate this process.
Correct coordinate calibration ensures that the machine cuts the material at the correct location and depth.
Personal Project 2D Design
Code Example
// the setup function runs once when you press reset or power the board
void setup() {
// initialize digital pin LED_BUILTIN as an output.
pinMode(LED_BUILTIN, OUTPUT);
}
// the loop function runs over and over again forever
void loop() {
digitalWrite(LED_BUILTIN, HIGH); // turn the LED on (HIGH is the voltage level)
delay(1000); // wait for a second
digitalWrite(LED_BUILTIN, LOW); // turn the LED off by making the voltage LOW
delay(1000); // wait for a second
}
Gallery