- Open Access
- Total Downloads : 334
- Authors : Dr. Manmohan Singh , Shani Ranjan , Mani Rani , Shweta Ranjan
- Paper ID : IJERTV7IS050084
- Volume & Issue : Volume 07, Issue 05 (May 2018)
- DOI : http://dx.doi.org/10.17577/IJERTV7IS050084
- Published (First Online): 08-05-2018
- ISSN (Online) : 2278-0181
- Publisher Name : IJERT
- License: This work is licensed under a Creative Commons Attribution 4.0 International License
Design and Implementation of low-cost 2D plotter Computer Numeric Control (CNC) Machine
Shani Ranjan Mani Rani Dept. of EIE, SLIET Dept. of EIE, SLIET Longowal, Punjab, India Longowal, Punjab, India
Shweta Ranjan Dr. Manmohan Singh
Dept. of ECE, VITS Dept. of EIE, SLIET
Satna, M.P., India Longowal, Punjab, India.
Abstract- This paper represents an Arduino Uno and Motor driver ICs based automatic technique for implementation of any text or image to its 2D plotted text or image by 2D plotter CNC machine. In this era the technology based on CNC machine increases. The fabrication of low cost CNC machine is used to reduce cost and complexity of machine. The idea behind the project is how to make 2D plotter CNC machine faster and relatively lower cost than others.
Keywords2D plot ; G-code ; Inkscape; CNC;
- INTRODUCTION
The use of technology in education has become indispensable. However the cost associated with the advanced technologies is very high. Computers, softer and the interface which is available between the hardware and software has taken education a step ahead of the old days were visualization, verification was so very difficult [1-3]. Low-cost robots serve a lot of purpose in education [4-5]. Plotters are generally use to make 2D plots which is digitally controlled. This 2D plots CNC machine can be replaced by higher specific laser sources which can be used for cutting of different materials of different strength in 3D plots. The 2D plotter is designed to recording and plotting two dimensional data on a rectangular coordinate system [6-11]. In computer numeric control Arduino Uno microcontroller and L293D motor driver is used which is capable of processing logical instruction interfaces with computer. A CNC plotter machine is a 3D controlled 2D plotting machine which uses a pen to draw text or image on any given solid surface. The coding for the CNC system which is G-code programming. G-code is a function to tell the machine to move to various point at the desired speed, control the spindle speed and turn on and off at various positions [12-14]. Meanwhile, low cost and easily controlled function of the Arduino system contributed on simplifying the building circuity of microcontroller in the 2D potter [15-16].
- MODELLING
The idea was conceived and the 3D model of the low-cost pen plotter was modelled using commercially available CAD software. The 3D model of the general 2D plotter is shown in figure 1.
The plotter has 3degrees of freedom. The pen can move up and down in the Z axis and the pen is free to move along 2D plane (X-Y axis). The pen is gripped by servo motor for upward and downward movement. The setup has base to enclose the circuitry. Above the base mechanism to move the plotter in X and Y direction and ahead which carries the pen is assembled on the base. Two bi-directional motors are used in which one motor is used for X axis and another for Y axis.
Figure 1. 3D model of 2D plotter CNC machine
- METHODLOGY
The coordinates are uploaded to the machine controller by a separate program. The image file is transformed into a G-code via software. Then the code is transferred to the microcontroller by which the motor mechanism is instructed to draw image. In this paper, we are going to present a simple design for 2D plotter. Our idea is an Arduino based on Arduino Uno and L293D motor driver.
The machine will have three motors to implement X, Y and Z axis. A servo motor will be used along the Z axis for positioning the pen which will go up for logic 0 and down for logic 1 [17]. Drawing will be done on the X-Y plane where the positioning will be controlled by stepper motors. System overview is provided in figure 2.
The X axis is attached to two plastic parts and it was cut it to fit the construction. Ensure to put the Y axis straight to 2D plotter base and the X axis vertically in this. On that surface the servo motor (Z axis) will be attached to the pen base. Pen must be able to move up and down with the aid of servo motor. Now it will have to attach a hard surface on Y axis.
- Inkscape
Figure 4: Arduino Uno Software
Figure 2: Block Diagram of 2D CNC Plotter
On this, it will put the paper piece to print the text or image that we programmed. The area of printing is 4cm x 4cm. Schematic circuit diagram of 2D CNC plotter as shown in figure 3.
The use of Inkscape is to convert any image into graphics code usually known as G-code. G-code formats are generated by integrating Inkscape with necessary extension files [19].
G-code tools is an open source Inkscape extension, to export G-code for use with the CNC machine, written in the Python programming language. Inkscape extensions work in standard Unix IO model, taking SVG on standards input, and output transformed SVG on standard output [20]. Figure 5 shows the Inkscape software which is used to convert an image to its G-code.
Figure 3: Circuit Diagram of CNC machine
To complete the entire project three software is used-
- Arduino IDE
- Inkscape
- Processing
- Processing
Figure 5: Inkscape Software
A. Arduino IDE
The Arduino Integrated Development Environment (Arduino IDE) contains a text editor for writing code, a massage area, a text console, a tool bar with buttons for common function and series menus. It connects to the Arduino and Genuino hardware to upload programs and communicate with them [18]. Figure 4 shows the Arduino software to program the Arduino Uno.
Processing is open source programming language software which is used for electronic drawings. GTCRL processing program is used to send G-code file from user interface to CNC plotter. The port of Arduino Uno is selected by pressing P button on keyboard hence G button is used to Arduino. The full CNC code is uploaded in the Arduino then the Arduino will wait for G-code file from processing software. When the processing software sent command to Arduino it will start plotting the G-code on 2D plane [21]. Figure 6 shows the Processing software which uploaded GTCRL code to CNC machine.
ACKNOWLEDGMENT
The authors are thankful to the Department of Electrical and Instrumentation Engineering at Sant Longowal Institute of Engineering and Technology Longowal, Punjab for providing the instruments and healthy work environment to carry out this project.
Figure 6: Processing P3 software
- Inkscape
- RESULT AND DISCUSSION
The pen holder is mounted on the CNC machine. The plotter movement in X and Y direction is controlled using motor coupled gear to move the position left and right and forwards and backwards. We use two L293D motor driver ICs to control the DC motor. The overall assembly of the X-Y plotter fabrication is by using DVD drives. This CNC machine is use to fabricate PCB. The use of Inkscape as the G-code generator enables the users to draw and trace their image before converting into G-code file. The file is then attached to processing software, run in Java language. The processing language enables user to specify the speed of the stepper, setting the (0, 0) location, go home setting, and to abandon plotting. The command is sent automatically after the G-code is loaded. The figure shows the original image and its 2D plotted image by the CNC plotter. The original Image and CNC plotter plotted image are shown in figure 7a & 7b.
Fig. 7a: Original Image Figure 7b: Plotted Image
REFERENCES
- Vitale G, A Bonarini, M Matteucci, and L Bascetta 2016 Toward Vocational Robotics: n Experience in Post-Secondary School Education and Job Training Through Robotics. IEEE Robotics and Automation Magazine. 23 73-81.
- Sadanand R O M, R G Chittawadigi, R Joshi, and S K Saha 2015 Virtual Robots Module : An effective visualization tool for Robotics Toolbox. 2nd International Conference on Advances in Robotics (AiR-2015).
- Sadanand R O M, S Sairaman, S P H B., G Udhayakumar, R G Chittawadigi, and S K Saha 2015 Kinematic Analysis of MTAB Robots and its integration with RoboAnalyser software. 2nd International Conference on Advances in Robotics (AiR-2015).
- Weinert H and D Pensky. Mobile robotics in education and student engineering competitions. In AFRICON, 2011.2011.
- Weinberg J B and Y Xudong 2013 Robotics in Education : Low-cost platforms for teaching integrated system. IEEE Robotics and Automation Magazine. 10 4-6.
- F. Alcwyn, “Xy plotter toy,” ed: Google Patents, 1972.
- T. Amano, “XY Plotter for producing diagrams from computer information,” ed: Google Patents, 1983.
- G. H. Joseph, “Xy plotter,” ed: Google Patents, 1969.
- G. H. Joseph and D. J. Logan, “Xy plotter,” ed: Google Patents, 1966.
- M. Sakamoto, R. Magumo, T. Ishihara, and T. Kobari, “XY plotter for nonperforated paper,” ed: Google Patents, 1990.
- J. Yeiser, “Xy plotter,” ed: Google Patents, 1973.
- S. Gordon and M. T. Hillery, “Development of a high-speed CNC cutting machine using linear motors,” Journal of Materials Processing Technology, vol. 166, pp. 321-329, 2005.
- R.-S. Lin, “Real-time surface interpolator for 3-D parametric surface machining on 3-axis machine tools,” International Journal of Machine Tools and Manufacture, vol. 40, pp. 1513-1526, 2000.
- D. Moreton and R. Durnford, “Three-dimensional tool compensation for a threeaxis turning centre,” The International Journal of Advanced Manufacturing Technology, vol. 15, pp. 649-654, 1999.
- A. DAusilio, “Arduino: A low-cost multipurpose lab equipment,” Behavior research methods, vol. 44, pp. 305-313, 2012.
- S. Di Prima, “Automated single ring infiltrometer with a low-cost microcontroller circuit,” Computers and Electronics in Agriculture, vol. 118, pp. 390-395, 2015.
- Madekar , Kajal J., et al. automatic mini CNC machine for pcb drawing and drilling.(2016).
- https://www.arduino.cc/en/guide/Enviroment
- https://www.inkscape.org/
- https://github.com/martymcguire/inkscape-uinicorn
- https://processing.org/download.