ISSN ONLINE(2278-8875) PRINT (2320-3765)

All submissions of the EM system will be redirected to Online Manuscript Submission System. Authors are requested to submit articles directly to Online Manuscript Submission System of respective journal.

Design of a Computer Numeric Control System with Open Software Tools

Aji Joy
  1. Assistant Professor, Department of Electronics and Communication Engineering, Mar Athanasius College of Engineering, Kothamangalam, Kerala, India
Related article at Pubmed, Scholar Google

Visit for more related articles at International Journal of Advanced Research in Electrical, Electronics and Instrumentation Engineering

Abstract

Recent advances in Computerized Numeric Control (CNC) have allowed the manufacturing of products with high quality standards. Since CNC programs consist of a series of assembler-like instructions, several high-level languages, such as PYTHON, have been proposed in order to raise the programming abstraction level. In Industry it is not efficient or profitable to make everyday products by hand. On a CNC machine it is possible to make hundreds or even thousands of the same items in a day. An Open CNC system is standardized to let the third party develop new hardware and software that can meet its requirements. An open CNC system has the capability of integration of other components at the level of parts with this standard, and can also share data among the components. An open CNC system is flexible in both hardware and software, so it does not only allow the hardware to change its basic configuration, but also allows the software to alter at all levels of control. These features will allow us to cope with infinite data structures, to apply heuristics to CNC programs in order to optimize them.

Keywords

Computer Numeric Control, Open Software, Microcontroller, Drives.

I. INTRODUCTION

Numerical control (NC) refers to the automation of machine tools that are operated by abstractly programmed commands encoded on a storage medium, as opposed to controlled manually via hand wheels or levers, or mechanically automated via cams alone. The first NC machines were built in the 1940s and 1950s, based on existing tools that were modified with motors that moved the controls to follow points fed into the system on punched tape. These early servomechanisms were rapidly augmented with analog and digital computers, creating the modern computer numerical control (CNC) machine tools that have revolutionized the machining processes.
In modern CNC systems, end-to-end component design is highly automated using computer-aided design (CAD) and computer-aided manufacturing (CAM) programs. The programs produce a computer file that is interpreted to extract the commands needed to operate a particular machine via a post processor, and then loaded into the CNC machines for production. Since any particular component might require the use of a number of different tools-drills, saws, etc., modern machines often combine multiple tools into a single "cell". In other cases, a number of different machines are used with an external controller and human or robotic operators that move the component from machine to machine. In either case, the complex series of steps needed to produce any part is highly automated and produces a part that closely matches the original CAD design.
Modern CNC mills differ little in concept from the original model built at MIT in 1952. Mills typically consist of a table that moves in the X and Y axes, and a tool spindle that moves in the Z (depth). The position of the tool is driven by motors through a series of step-down gears in order to provide highly accurate movements, or in modern designs, direct-drive stepper motor or servo motors. Open-loop control works as long as the forces are kept small enough and speeds are not too great. On commercial metalworking machines closed loop controls are standard and required in order to provide the accuracy, speed, and repeatability demanded.
As the controller hardware evolved, the mills themselves also evolved. One change has been to enclose the entire mechanism in a large box as a safety measure, often with additional safety interlocks to ensure the operator is far enough from the working piece for safe operation. Most new CNC systems built today are completely electronically controlled. CNC-like systems are now used for any process that can be described as a series of movements and operations. These include laser cutting, welding, friction stir welding, ultrasonic welding, flame and plasma cutting, bending, spinning, pinning, gluing, fabric cutting, sewing, tape and fibre placement, routing, picking and placing (PnP), and sawing.

II. MAJOR RESEARCH ACTIVITIES IN OPEN ARCHITECTURE

Major international activities on open architecture are mainly concentrated on three systems namely Open Modular Architecture Controller (OMAC, Open System Architecture for Controls within Automation Systems (OSACA) and Open System Environment for Controllers (OSEC). All these architectures have integrated equipment of several different manufactures and offer control solutions at a lower cost maintaining almost the same performance. Unfortunately it is not possible to integrate these three systems into a unified and worldwide acceptable form in its present form.

III. OPEN SOFTWARE TOOLS

Open Source Software (OSS) is computer software with its source code made available and licensed with an opensource license in which the copyright holder provides the rights to study, change and distribute the software for free to anyone and for any purpose. Open-source software is very often developed in a public, collaborative manner.
Open software supports many advantages like free distribution, open source code, the authenticity is confirmed since source code is open and the user can verify, to the open source code new features and advancements can be added as on requirement. Open software is having disadvantages like not being readily available for use, availability of applications, hardware incompatibility.

IV. PROPOSED SYSTEM

In this paper a system is proposed with open components. A desktop PC is used to run all the required software. The embedded control unit is interfaced to the PC using RS232 serial communication. The control unit is connected to the motors using drivers.
image

V. DESCRIPTION OF THE BLOCK DIAGRAM

A. DESKTOP PC UNIT
a) Ubuntu linux
Ubuntu is a computer operating system based on the Debian Linux distribution and distributed as free and open source software, using its own desktop environment. Ubuntu is composed of many software packages, the majority of which are distributed under a free software license. The main license used is the GNU General Public License (GNU GPL) which, along with the GNU Lesser General Public License (GNU LGPL), explicitly declares that users are free to run, copy, distribute, study, change, develop and improve the software.
B )LibreCAD
LibreCAD is a free Computer Aided Design (CAD) application for 2D design. It works on GNU/Linux, Mac OS X, Unix and Microsoft Windows operating systems.
c) DXF2GCODE
It’s software to convert AutoCAD drawn image files to G-codes. This program is written in Python and is published under the GNU license. The program converts a 2D “dxf” drawing to CNC machine compatible G-Code.
d)G-CODES AND M-CODES
G-codes are called cycle codes. They refer to some action occurring on the X, Y, and/or Z axis of a machine tool. M or miscellaneous codes are used to either turn ON or OFF different functions which control certain machine tool operations.
e) PYTHON
A programming language with powerful typing and object oriented features. Highly scalable, suitable for large projects as well as small ones. Python is a programming language that lets the user to work more quickly and integrate systems more effectively and it provide immediate gains in productivity and lower maintenance costs. Python runs on Windows, Linux/Unix, Mac OS X, and has been ported to the Java and .NET virtual machines. Python is free to use, even for commercial products, because of its OSI-approved open source license.
f) ERIC PYTHON IDE
Eric is a full featured Python and Ruby editor and IDE, written in python. Having unlimited number of editors, source code auto completion feature, error highlighting, and advanced search functionality including project wide search and replace.
g) pySerial
pySerial is a Python serial port extension for Linux. It support different byte sizes, stop bits, parity and flow control. It work with or without receive timeout.
B. CONTROL UNIT
a)Level shifter
Level translator chip used is MAX232.This chip converts RS232 signal voltage levels to TTL voltage levels and visaversa, hence it is needed to establish a communication between PC and the microcontroller based control system. The RS232 serial port protocol (v.24) states -15v to represent binary 1 and +15v to represent binary 0. For TTL communication this is incompatible since TTL uses 0v to represent binary 0 and +5v to represent binary 1. MAX232 chip converts serial signal voltage levels to TTL standards, and also vice versa. It therefore has a driver and a receiver to perform this function
b)Microcontroller
Microcontroller used by us is PIC 16F877A. The 16F877A is programmed using MPLAB high level language. The motor movements are calibrated from software for high precision operation.
c)Motor Driver
ULN 2803 is octal high voltage, high current darlington transistor arrays. The eight NPN Darlington connected transistors in this family of arrays are ideally suited for interfacing between low logic level digital circuitry (such as TTL, CMOS or PMOS/NMOS) and the higher current/voltage requirements of lamps, relays, printer hammers or other similar loads for a broad range of computer, industrial, and consumer applications.
C. CIRCUIT DIAGRAM
image
image
The system was tested with open loop control. The rotational movement of the motors are calibrated and the required movement as per the CAD design is obtained. The system is lacking a closed loop control. As further modification to the system motor movements can be calibrated by connecting encoders to the motors. The closed loop control will bring a high precise control for the CNC operation. The motor rotation and the corresponding linear movement could be controlled by entering x,y,z values manually through the GUI developed. The operations like the jog provision for the CNC machine can be provided by this facility.
image
image

VII. CONCLUSION

By using CNC controllers, there is a remarkable increase in the quality of products as well as it offers high flexibility. It increases the productivity and reduces the lead-time. The production is economical in nature and decreases the amount of scrap generated. The transformation of conventional machine tools to numerically controlled machine tools and then to computer numerically controlled machining centers has made today's manufacturing world drastically different from that of half century ago. Some of the significant characteristics of a modern CNC system are the use of automatic tool handling facilities, real-time feedback capabilities and of course the multi-axis configurations that allow different machining operations to be performed on a single machine tool.

References

  1. Xiaoyin Shao and Dong Sun, James K Mills, “A New Motion Control Hardware Architecture withFPGA-Based IC Design for Robotic Manipulators,” Proceedings of the 2006 IEEE International Conference on Robotics and Automation Orlando, Florida - May 2006.
  2. YueXu, Taiyong Wang, Yanju Zhao, Jingchuan Dong, “Design of reconfigurable CNC system based on Embedded Technology,” Proceedings of the 7th World Congress on Intelligent Control and Automation June 25 - 27, 2008, Chongqing, China.
  3. TomislavStaroveški, DankoBrezak, TomaUdiljak, DubravkoMajetić, “IMPLEMENTATION OF A LINUX-BASED CNC OPEN CONTROL SYSTEM,” 12th INTERNATIONAL SCIENTIFIC CONFERENCE ON PRODUCTION ENGINEERING –CIM2009 Croatian Association of Production Engineering, Zagreb 2009.
  4. Kung-Lin Ho, Chiu-Keng Lai, ” PC-based Real-time Motion Controller Design using the FPGA Chip,” Proceedings of 2005 CACS Automatic Control Conference Tainan, Taiwan, Nov 18-19, 2005.
  5. Paulo Augusto Sherring da Rocha Junior, RogérioDiogne de Silva e Souza, Maria Emília de Lima Tostes, “Prototype CNC Machine Design,” 2010 9th IEEE/IAS International Conference on Industry Applications - INDUSCON 2010.
  6. Q.X. Huang, and S.W. Lin, “Research on New Architecture for Open CNC System Based on Linux,” Key Engineering Materials Vols. 392- 394 (2009) pp 482-486 Online available since 2008/Oct/21 at www.scientific.net.
  7. Wang Zi-niu, Li Song, Wang Yan, “Researching of Real-time Versions and Testing its Performance of CNC System Based on RT-Linux,” 2009 International Conference on Networking and Digital Society.