Low Cost and Open Source Software-Based CNC Router
Low Cost and Open Source Software-Based CNC Router
Low cost and open source software-based CNC router for machining
contours
To cite this article: Aniket T Suryawanshi et al 2020 IOP Conf. Ser.: Mater. Sci. Eng. 872 012084
E-mail : sudhakar@fragnel.ac.in
Abstract: After the advance of NC technology to CNC technology there are attempts to bring openness
in the control to bring modularity, flexibility and accuracy in the system to replace proprietary
controllers. To experiment the same a portable open architecture-based CNC machine is developed for
engraving application. Open source software’s are used to identify the contour, generate CNC g-code
and microcontrollers to execute the motion control. The mechanical structure is developed to meet the
requirement of low cost without sacrificing the accuracy. Besides the accuracy of the profile to be
machined, feed rate is another criterion which should be achieved as it is intended in the program. The
3 axis CNC structure is developed and tested satisfactorily for the targeted performance.
1. INTRODUCTION
The proprietary CNC machines are closed for users. The user cannot do anything more than
programming. The replacement of proprietary CNC controllers by the open architecture control of
CNC technology will change the way of automation in the industry. It helps in integrating equipment
and software’s from different manufacturers. An integration of low-cost electronics with high
performance computers will reduce cost without compromising performance.
The variation in the levels of Open architecture control is given in the (Figure 1) As the architecture
goes from low to high the number of processors reduced and PC does CAD, Interpolation and control.
Kartz, Rueven et al. [1] have explained the available open architectural control technology by leading
Content from this work may be used under the terms of the Creative Commons Attribution 3.0 licence. Any further distribution
of this work must maintain attribution to the author(s) and the title of the work, journal citation and DOI.
Published under licence by IOP Publishing Ltd 1
ICMSMT 2020 IOP Publishing
IOP Conf. Series: Materials Science and Engineering 872 (2020) 012084 doi:10.1088/1757-899X/872/1/012084
research groups like OMAC, OSACA, JOP, The university of Michigan etc.& Globalization of OAC
standards. Jorge Correa et al. [2] proposed hardware & software for interpolation based on open
source electronics. They introduced unique finite state machine (FSM) algorithms in the architecture.
Ma Xiong-bo et al. [3] suggested object-oriented programming and use dynamic link library (DLL) on
OMC based architecture [4] defined openness in three stages. Open protocols &communication
interface of HMI, ability to replace proprietary controls for different purposes& topological structure
of control equipment. Yoram Koren [5] has demonstrated the advantage of using a hardware
interpolator with a pair of DDA software integrators. He is the foremost in the field of open CNC
systems. Rong Shine Lin et al. [6] proposed a real-time interpolator based on reference word
interpolator eliminated intermediate acceleration and deceleration steps to achieve constant feed rate.
Biddut Bhattacharjee et al. [7] have used the classical Runge- Kutta method to determine tool
positions over Taylor’s series expansion method and believed that it has reduced the complexity in
computing for complex contours by NURBS. Korem.Y et.al [8] proposed a direct search method
using reference pulse-circular method by which he could draw larger radii with less errors for the
same computer word size.Radha Sarma et al. [9] have demonstrated good tolerances in 5-Axis
machining by considering both position and contour errors in discretization and interpolation.
Korem.Y.et al. [10] proposed a real-time interpolator for parametric curves by performing
segmentation by the CNC system itself instead of CAD module and reduced the feed rate and contour
errors.
Figure 2. Aluminium Figure 3. Linear guide rail Figure 4. Ball screw and nut
Extrusion and block assembly
The main idea behind fabricating a low cost 3 axis CNC mill[11] is to establish method[12]of
integrating the hardware and less costly open source software like Arduino microcontrollers. Due to
this development time is drastically reduced as ready to use software’s, variety of low-cost interfaces
such as microcontroller based shields(Arduino shields).In this work the development of a CNC mill
using control with Arduino is designed to satisfy the requirements such as low cost, easy operation,
and flexibility with easy interface and low power consumption
The basic elements of hardware and software and their specifications are described here
2
ICMSMT 2020 IOP Publishing
IOP Conf. Series: Materials Science and Engineering 872 (2020) 012084 doi:10.1088/1757-899X/872/1/012084
expensive which will be used for engraving on wood, plastic and soft metals.
Linear Guide Rails and Blocks: Linear Guide Rails and blocks in (Figure 3) are best suitable for
steadiness and smooth travel of the slides, sturdy and stiffness of the axis to withstand the vibrations.
Linear guide rails and blocks of size 10 are selected for this purpose.
Ball Screw and Nut Assembly: For both X&Y-axis to withstand load and thrust by cutting forces the
ball screw and nut assembly in (Figure 4) of size 12mm is suitable.
Linear rail for Z-axis in(Figure 5)will be subjected to vertical forces to the axis. The steadiness and
positioning accuracy of the rail is not as good as linear rails and blocks but considering the current
requirement of Z-axis and budget, the rail makes a good deal as its cost effective and accurate.
Nut and Lead screw: For Z-axis, the main focus is to provide the feed to get the depth of cut. Lead
screw and nut assembly in (Figure 6)is accurate enough to provide the desired result at effective cost.
Pillow block bearing: The shaft of ball screw and lead shaft need to be supported at its ends and also
giving the freedom of rotation. The thrust force and radial force are generated while movement of
table on axis. These forces are to be absorbed and this can be done by using pillow block bearing as
shown in (Figure 7). This bearing is used here for medium torque, medium load applications.
Figure 5. Linear rail for Z-axis Figure 6. Lead screw and nut Figure 7. Pillow block bearing
and guide block
Stepper motor drive: The driver TB6600 circuit works by sending pulses to the stepper motors which
are compatible with Arduino microcontrollers.
Arduino Uno [13]:The motion control of the axis is done by Arduino uno controller board. it has 14
digital input/output pins of which6 analogue inputs,6 of them can be used as PWM outputs. It has a 16
MHz ceramic resonator, a USB connector, a power jack, ICSP header, and a reset button. It can be
3
ICMSMT 2020 IOP Publishing
IOP Conf. Series: Materials Science and Engineering 872 (2020) 012084 doi:10.1088/1757-899X/872/1/012084
easily connected to PC by USB cable or it can be powered with an AC-DC adapter or battery.
SMPS: The controller and other components of hardware is powered LUBI 12V 12A 145W Switch
Mode Power Supply (SMPS) is an efficient in terms of power saving is selected with characteristics a
slow ripple, noise with good short circuit and thermal protection.
2.3. Software
This prototype CNC incorporates various software in order to produce the output on machine. The
various software includes Inkscape, MakerCAM, UGS which are open source software available for
free and can be used by every personnel.
Inkscape: The free open source software is the one which convert any image through image
processing by edge detection algorithm. Further it will convert this into Scalable Vector
Graphics (SVG)format which can is input to MakerCAM software for g-code generation.
MakerCAM: A web-based Program which converts SVG format image for g-code generation which
becomes input to CNC controllers
3. INTERFACING
The software and hardware integrated in this work are Arduino IDE, Arduino control boards,
Inkscape, MakerCAM, UGS platform.
After installing the software’s installed on operating system, the GRBL program is been copied to
Arduino library and then uploaded to the Arduino UNO. The image or geometry to be engraved is
imported to Inkscape and then converted to the bitmap image which will create the image by detecting
edges and this image is saved in SVG format. This SVG format file is compatible for MakerCAM in
which the interface identifies the edges and then the codes are generated automatically by feeding the
required parameters. These codes are saved as G-codes for CNC machine and are then fed to UGS
platform where control for the given geometric profile motion.
UGS will set the zero position for the engraving operation. Through serial communication g-code is
transferred to controller. The command data is translated by microcontroller which are interfaced with
the stepper motor drivers TB66000 and 3 NEMA 27 motor for all the three axes.
4
ICMSMT 2020 IOP Publishing
IOP Conf. Series: Materials Science and Engineering 872 (2020) 012084 doi:10.1088/1757-899X/872/1/012084
4. RESULTS& CONCLUSIONS
A 3 axis CNC router based on open architecture is designed and fabricated for engraving application
as shown in the (Figure 8) and (Figure 9) in two different views. The circuitry interfacing with the
driver and microcontroller is shown in (Figure 10). It is able to execute straight cuts as well as curved
contours. Dimensional accuracy is achieved within a few microns’ deviation. The execution of
complex contours accurately by maintaining intended feed is a challenge. The accuracy could only be
achieved at a lesser feed rate than a straight cut. Feed rates are accurately achieved during straight cuts
but with minor error during contour cuts. Feed rates up to 60 mm/min are comfortably achieved. The
(Figure 12) indicate two dimensional open contours after edge detection by Inkscape and (Figure 11)
shows the same contour achieved by router. The partial G-code obtained is shown in (Figure 13).
Similarly (Figure 14)shows the closed loop executed by router. Since proprietary controllers are not
used, the costs of fabrication and open electronic platforms are limited hence the machine can be
produced at low cost.
Figure 11. Arbitarary curve executed by CNC Figure 12. Planned arbitrary curve
Figure 13. Sample g-code generated Figure 14. Closed loop contour
For open loop
REFERENCES
[1]. Katz, R., Min, B.K. and Pasek, Z., 2000. Open architecture control technology
trends.ERC/RMS Report, 35(9).
[2]. Correa, J., Toombs, N. and Ferreira, P.M., 2016, January. Implementation of an open-
architecture control for CNC systems based on open-source electronics. In ASME 2016
International Mechanical Engineering Congress and Exposition. American Society of
Mechanical Engineers Digital Collection.
[3]. HAN, Z.Y., WANG, Y.Z. and FU, H.Y., 2007. Development of a PC-based open architecture
software-CNC system. Chinese Journal of Aeronautics, 20(3), pp.272-281.
[4]. Peng, Y.H., Bai, H.Q. and He, N., 2010. Research and Development of Open Numerical
Control System. In Applied Mechanics and Materials (Vol. 20, pp. 254-258). Trans Tech
Publications
[5]. Koren, Y., 1976. Interpolator for a computer numerical control system. IEEE Transactions on
Computers, 100(1), pp.32-37.
5
ICMSMT 2020 IOP Publishing
IOP Conf. Series: Materials Science and Engineering 872 (2020) 012084 doi:10.1088/1757-899X/872/1/012084
[6]. Lin, R.S. and Koren, Y., 1996. Real-time interpolators for multi-axis CNC machine
tools. Manufacturing Systems, 25, pp.145-149.
[7]. Bhattacharjee, B., Azeem, A., Ali, S.M. and Paul, S.K., 2012. Development of a CNC
interpolation scheme for CNC controller based on Runge-Kutta method. International
Journal of Computer Aided Engineering and Technology, 4(5), pp.445-464.
[8]. Koren, Y. and Masory, O., 1981. Reference-pulse circular interpolators for CNC systems.
[9]. Sarma, R. and Rao, A., 2000. Discretizors and interpolators for five-axis CNC machines. J.
Manuf. Sci. Eng.,122(1), pp.191-197.
[10]. Koren, Y., Lo, C.C. and Shpitalni, M., 1993. CNC interpolators: algorithms and
analysis. ASME PROD ENG DIV PUBL PED, ASME, NEW YORK, NY,(USA), 1993, 64,
pp.83-92.
[11]. Pandian, S. and Pandian, S.R., 2014. A low-cost build-your-own three axis CNC mill
prototype. Int. J. Mechanical Engineering and Robotics, 2(1), pp.6-11.
[12]. Khanna, A., Kumar, A., Bhatnagar, A., Tyagi, R. and Srivastava, S., 2013, January. Low-cost
production CNC system. In 2013 7th international conference on intelligent systems and
control (isco) (pp. 523-528). IEEE.
[13]. Desai, D.P. and Patel, D.M., 2015, May. Design of Control unit for CNC machine tool using
Arduino based embedded system. In 2015 International Conference on Smart
Technologies and Management for Computing, Communication, Controls, Energy and
Materials (ICSTM) (pp. 443-448). IEEE.