Introduction: DIY Arduino CNC Machine
In this instructable, I show you how to make Arduino CNC machine at home. The aim of this project is to make the Computer Numerical Control machine which helps to design the PCB without using ETCHING process, which makes the manufacturing process faster.
This problem or idea came across by observing and evaluating the real time scenario of well going PCB designing process using an etching process which is tedious and time-consuming. To overcome this problem the idea was born to increase the speed of process in real time to make the development cycle shorter. To fulfill the same purpose Microcontroller is used. By combing of both Arduino platform and GRBL firmware helped to overcome this problem.
With the help of this CNC machine, We can design a PCB as well as we also can perform different process like milling, drilling, drawing and engraving. So we can say that it's not only CNC machine, it's an all in one multipurpose CNC machine.
What things you will need [ Electronics Part ]:
- Arduino UNO
- Stepper Motor (1.8 Degree Step Angle)
- Stepper Motor Driver (DRV8825)
- SMPS - 12V, 10A
What things you will need [ Mechanical Part ] :
- Linear Bearing
- Circular Bearing
- Mild Steel Rod
- Ball Screw / Lead Screw
- Nut & Bolt
- L Clamp
- MDF Wooden Sheet
- Univarsal G-Code Sender
- PCB Design Software(EAGLE CAD or DipTrace)
Step 1: Stepper Motor and Stepper Motor Driver (DRV8825)
- Bipolar Stepper Motor (12.6 Kgcm) for x-axis
- Bipolar Stepper Motor (4.4 Kgcm) for y-axis & z-axis
Stepper Motor Driver (DRV8825) from Texas Instruments
Step 2: Power Supply - SMPS
Power Supply - SMPS (12V, 10Amps)
Step 3: Stepper Motor Driver - Connections
Stepper Motor Driver (DRV8825) connections diagram on General Purpose Board (GPB).
Step 4: CNC Machine Frame Designing
Step 5: MDF Wooden Sheet Cutting & Polishing
Step 6: Linear & Circular Bearing
Step 7: Metal Rod & MDF Wooden Sheet Part
Step 8: Drilling
Step 9: CNC Base Designing
Step 10: Designing of Lead Screw
Step 11: Designing of X-Axis
Step 12: Designing of Y-Axis and Stepper Motor Interfacing
Step 13: Designing of Z-Axis
Step 14: Final Structure of CNC Machine
Step 15: Working of CNC Machine
I'm using a software named as DipTracce to create a sample track for PCB. With the help of which we can generate a GERBER file. It consists of the G-codes which contains the information about the track of our PCB layout.
The Gerber file having those G-codes are further loaded into the FLATCAM software. By using this software, I'm creating the NC file, which is necessary to create a path for a drill bit.
Then the NC file is given to the UNIVERSAL G-CODE SENDER software. It is a GUI software which sends the G-code to the Arduino. Arduino is already loaded with the grbl hex file which is required to interpret those G-codes.
Check my video...