Arduino Based Cost Effective CNC Plotter Machine
Arduino Based Cost Effective CNC Plotter Machine
Shubham Yenkar
Student, EXTC Department, DES’s COET Dhamangaon Rly, India.
Arpita Chirde
Assistant Professor, EXTC Department, DES’s COET Dhamangaon Rly, India.
Abstract – Due to the rapid growth of technology the usage & from supporting software like inkscape. Presented plotter is
utilization of CNC machine in industries are increased. The one dimensional 1D plotter.
fabrication of low cost CNC machine is used to reduce cost and
complexity of machine. This paper deals with the design of The Idea behind this technique is to design PCB based on low
automatic mini CNC machine for PCB drawing and drilling. The cost CNC system the lower cost is achieved by incorporating
Idea behind our project is to design and drill PCB based on low features of PC with ATMEGA 328 controller in an arduino. We
cost CNC system the lower cost is achieved by incorporating have use an G code for whole system operation G code is
features of PC with ATMEGA 328 controller in an arduino. We nothing but a language in which people tell computerized
have use an G code for whole system operation G code is nothing machine tools ‘How to make something’. The How is defined
but a language in which people tell computerized machine tools
‘How to make something’. The How is defined by instructions on
by instructions on where to move & how fast to move.
where to move & how fast to move. A Plotter is a special type of printer that uses a pen to draw
Index Terms – CNC, Arduino microcontroller, part program, images on solid surfaces. In Computer Numeric Control
interpolator. (CNC), microprocessor is used which is capable of processing
logical instructions interfaced with a computer. The logical
1. INTRODUCTION instructions are provided by using a computer in the form of
The computer numerical control is an advanced form of soft code or text or image which is then transformed into a machine
automation developed to control the motion and operation of language by microprocessor to be executed by the machine. A
machine tools. Numerical control machine was invented CNC plotter machine is a 3D controlled 2D plotting machines
around in 19th century to reduced work load, it is a method in which uses a pen to draw text or image on any given solid
which the manufacturing machine uses coded format, digits surface. It can be used for the purposes such as PCB Design,
and letters. logo design, etc.
CNC Machining is a process used in the manufacturing sector This technique is based on CNC plotter machine. With the
that involves the use of computers to control machine tools. increasing demand for the use of CNC plotters in universities
Tools that can be controlled in this manner include lathes, and laboratories, a cheap and less complex design is an absolute
mills, machines and grinders. The CNC stands for Computer need. The parts used for the plotter in our project are easily
Numerical Control. Inspiring from this CNC technology and available at a very low price and spare parts are also used. The
revolutionary change in the world of digital electronics & construction is very simple and robust.
Microcontroller, we are presenting here an idea of CNC pen 2. RELATED WORK
plotter using custom built PLC. The idea behind this project is
to make a small CNC machine which can draw images or 2.1 Block Diagram of CNC Plotter Machine:
pictures on surface which can be a paper or anything. It uses
“In this idea of technique, Arduino microcontroller platform
three stepper motors as linear actuators on each axis X, Y & Z.
with ATMEGA 328 core is used. It can be easily interfaced
While printing / drawing, the proper synchronization of all this
with PC using FTDI module where as also with the easy drivers
three axis i.e. stepper motors, is most challenging task. At
and stepper motors to. The basic block diagram is as shown in
present the data to draw is given programmatically i.e.
the explanation is given as follows:
hardcoded in program in binary format. A pen touches the
surface & prints the pixel for logic 1 and lifts up in air for logic The G code is interfaced with ATMEGA 328 CNC based
zero & actuator changes it position for next commands controller by FTDI module which is used to convert the code
execution. As in future plan, it can access the G-Code directly in convenient controller code i.e serial to USB converter.
G-code (also RS-274), which has many variants, is the common 3. PORPOSED MODELLING
name for the most widely used numerical Main blocks of this system consists of power supply, FTDI
control (NC) programming language. It is used mainly module, ATMEGA328, 3 Easy drivers each connected to
in computer-aided manufacturing to control automated stepper motors X, Y, Z. From power supply we get two
machine tools. G-code is sometimes called G programming voltages i.e. +5volt and +12 volt. 5volt which is required to
language, not to be confused with views G programming ATMEGA328, Easy drivers whereas +12volt supply is
language. required to stepper motors. RESET is connected to5v supply
To draw a text file or design a circuit layout by the CNC plotter through 10k ohms resistors to pull up the voltage thus it act as
firstly the files need to be converted into G-Code. G-Code is a a pull up resistors. We have used here16MHz crystal oscillator
set of instruction that contains number of X, Y, Z, coordinates connected to ATMEGA with two capacitors of 22pF.
depending on the file. G-Code instructs X axis of the machine The GRBL code from computer is interface with controller
to travel from X1 to X2 points with a specific speed and same using FTDI 232 module i.e. serial to USB converter. The output
is true for Y axis, but for Z axis the coordinates are fixed of FTDI is given to pin no.2 and 3 i.e. RXD and TXD pins of
because only vertically up & down movements are involved. ATMEGA328. The output of ATMEGA328 is given to three
G-Code is one of a number of computer code languages that Easy Drivers.
are used to instruct CNC machining devices what motions they Easy Driver consists of 16 pins from which we are using in our
need to perform such as work coordinates, canned cycles, and project only 9 pins. Four pins are used for two stepper motor
multiple repetitive cycles. Industry has standardized on G- coil i.e. coil A and coil B. Two pins for input 5volt supply i.e.
Code as its basic set of CNC machine codes.
VCC and GND. Three pins are used for STEP. Third pin is To interface the computer to the controller we use FT232RL IC
directly grounded. which converts the USB data into serial data.
4. RESULTS AND DISCUSSIONS
A Our CNC machine consist of three axes x, y, z axis for three
dimensional motion of tool. The numerical data required for
working of the plotter is provided by a program called part -
program which in turn converts the numerical data to electrical
signals. These electrical signals are then given as input to
stepper motors. Each signal specifies a specific point in the
coordinates and according to the point the tool moves. As
mentioned earlier input device used isserial communication
port DB9. Machine control unit (MCU) consists of data
processing unit (DPU) and control loop unit (CLU). On
receiving part program DPU interprets and encode it into
internal machine codes. Then intermediate position of the
motion in Basic length unit (BLU) is calculated by interpolator
of DPU. Then it is passed to CLU for further process [2].
be replaced with a pinhead or laser head or any other tool for [5] I. Pahole, L. Rataj, M. Ficko, S. Klancnik, S.Brezovnik, M.Brezocnik,
and J. Balic, "Construction and evaluation of low-cost table CNC
different purpose of use. Software that has been used is open
milling machine", Scientific Bulletin, Series C: Mehcanics, Tribology,
source and user-friendly. Machine Manufacturing Technology, vol. XXIII, pp. 1-7, 2009.
[6] K. Nagai, "Learning while doing: Practical robotics education", IEEE
This setup of hardware with a combination of G-code gives Robotics & Automation Magazine, vol. 8, pp. 38-43, June 2001.
better accuracy and reduces the work load. G code make easy [7] Linggarjati, jimmy, and rinda hedwig. "manually interchangeable heads
to find the information of locations of all stepper motor of homemade computer numerical control (cnc) machine."
moving, as the status of our moving motor are directly seen on internetworking indonesia journal 1.1 (2013).
[8] M.R. Wright, d.e. platts, d.b. french, g. traicoff, m.a. dupont, andg.a.
computer hence we can start or stop the machine whenever we head,“cnc control systempatents,” us patent 545393, sep 26,1995.
are needed. Making a small machine brings an flexibility to do [9] Madekar, kajal j., et al. "automatic mini cnc machine for pcb drawing
works. and drilling." (2016).
[10] N.Balasubramanyam_and Prof. Smt. G. Prasanthi “Design and
REFERENCES Fabrication of an Automatic PC-Based Drilling Machine”,HCTL Open
International journal of Technology Innovations and Research, Volume
[1] D. Christian and f. i. hariadi, "speed control of spindle motor in the 7, January 2014.
designing control module of computer numerical control (cnc) pcb [11] Shrikant Bhange, Lochana Ahire, Madhuri Gadkari, Asmita Bhosale,
milling machines," teknik elektro, sekolah teknik elektro dan Mansi Shrimali PC CONTROLLED PCB DRILLING MACHINE”
informatika, institut teknologi bandung, bandung, 2014. International Journal of Engineering Technology and Computer
[2] D.S. Bernstein, "Setting up and running a control research laboratory", Research (IJETCR), Volume 3; Issue 1; Page No. 64-6.
IEEE Control Systems Magazine, vol. 23, pp. 14-19, 2003. [12] V.K. Pabolu and K.N.H. Srinivas, "Design and implementation of a
[3] H. Ferdinando, I. N. Sandjaja, G. Sanjaya, “Automatic Drilling Machine three -dimensional CNC machine", Int. J. Computer Science and
for Printed Circuit Board” Proceedings of The 6th Symposium on Engineering, vol. 2,pp. 2567-2570 2010.
Advanced Intelligent Systems, Surabaya Indonesia 2005, pp. 218-222. [13] W. Bosshart, printed circuit boards. new delhi: tata mcgrawhill,1983.
[4] I. Nae and T. Andrei, "Designing and building a CNC router using
stepper motors", Serial Technical, vo. LXII, pp. 55-62, 2010.