Concept of a Programmable Fixture for 3-Axis CNC

CNC machine is the one of the major reasons for industrial advancement in recent decades for its ability of producing accurate parts. The most common CNC machines are of 3-axis and adopted widely in the industrial sector. However, for producing more complicated parts 5-axis CNC machines are required. Although the introduction of the 5-axis machine came after the 3-axis CNC machine has established itself and many manufacturers did not make the move toward the newer model and its high pricing compared to the 3-axis model did not help either. In this time the development of a fixture or a platform to help transfer the 3-axis to a 5-axis to some degree. This paper discusses the concept of a programmable fixture that gives 3-axis CNC machine the freedom to act in similar manner as the 5-axis. The paper describes the mechanism with some initial results of the testing. Result showed that the platform moves in translation manner with an average error of 5.58 % and 7.303% average error for rotation movement.


INTRODUCTION
Numerical Control NC is a method that is used in automation to manufacture highly precise components using commands that are stored in the memory of the machine.With the technology advancements computer has been introduce to the process and formed a Computer Numerical control.The modern CNC systems use computer aid design CAD, noteworthy that the 3D software does not control the CNC it only generates the NC code.CNC machines are used in many manufacturing fields and it is capable of milling, turning, grinding and lathe and other functions to get an accurate product with very small margin of errors.
A robot is defined as "a reprogrammable multifunctional manipulator designed to move material, parts, tools, or specialized devices through variable programmed motions for the performance of a variety of tasks" according to Robot Institute of America (RIA).In 1959, the first commercially available robot appeared on the market [1].Robots can be classified using their geometric types to Cartesian (PPP), cylindrical (RPP), spherical (RRP), SCARA (selective compliance assembly robot arm) (RRP), and articulated (RRR) [2].
The first parallel robot was patented by an American farmer called James E. Gwinnett in the 1928 [3].In 1947 a new parallel manipulator was invented and it became the most common or a robot.It was invented by Dr. Eric Gough, who invented the octahedral hexapod in England.It was called the universal tire test machine as shown in Figure 1.
In the United Kingdom Dr. Stewart presented six degrees of freedom flight simulator in 1966.It is referred as the Stewart Platform [5].It consists a triangle moving platform, base and three extensible links.The links connects the platform to the base.The links connected to the base using Hook's joints.The Stewart platform was a gate of a new designing era as many inventions were based on the idea of the platform.Comparison between parallel and serial manipulators is presented in Table 1 [7].

SYSTEM DESIGN
The system is designed based on a parallel manipulator.The design of slider and ball-joint mechanism is kept.But with enhancement and modification for the dimensions of parts.The system was reversed engineered using CAD software.The software that was used is Solidworks.The complete assembly is shown in Figure 2. The system is using 6 DC motors and Aruino Uno R3 as shown in electrical circuit in Figure 3.The platform is using acrylonitrile butadiene styrene (ABS) for 3D printing links and joints.The technical specifications of ABS used in the research are listed in Table 2 [8].The specification of Arduino Uno R3 controller used in this platform is given in Table 3 [9].The servo motor will act as an actuator for the platform.The motor will provide movements which will affects the outcome of the position of the upper platform.The model of the platform used is GS-5515MG.The power source used for the manipulator is a lithium-ion polymer (LiPo) battery with 2200 mAh capacity.The details of the platform are given in Table 4.The links maximum load can be found using equation (2)(3)(4)(5)(6) and taking the weakest link to be the maximum overall for the platform.From the analysis it was observed that the critical load for the weakest link was around 450 N. k= Where, I = mass moment of inertia, k = radius of gyration, A = cross sectional area of the link, Pcr = critical buckling load, Sy = yield strength, and E = modulus of elasticity The platform is using the three legs to move.Leg1 is along Y-axis and Leg2 and Leg3 both acting along X-axis and Yaxis as well (Figure 1 and 2).All 3 legs act along Z-axis.The leg as shown earlier can be divided into two parts upper leg and lower leg.The fixture is at original position [0 0 0 0 0 0] and no orientation when all links are retracted, as a result the movements in Z-axis only happens in positive direction upward.Further analysis is will show the platform parameters limits and discuss the positioning of the platform.The positon can be represented by the equation (7).
The X, Y and Z are the translation movements and α,β and γ represents the rotation of the platform.The following equations are derived using inverse kinematics and interpolation: X= ((±15*θ)/180) +15 (8) Where ± depends on the direction of the movements.Y= ((d*θ)/180) + d (9) Where, d= 4 if it is in positive direction and d=-16 if it is in negative direction z=((17*θ)/180 )+17 (10) The fixture need to rotate around X and Y axis only.So the α and β are given by α=((q*θ)/180)±q (11) Where, q=11 when going anticlockwise and -11 clockwise.q= -11 when going clockwise.β=((w*θ)/180)±w (12) Where, w=3 when going anticlockwise and w=-12.5 when going clockwise 4 PROGRAMMING The coding was done using C++ and C sharp.The C sharp was needed to use with Visual Studio software to develop the Graphical user interface (GUI).The GUI can be used in two ways.The first method is by adding the values one by one for each movement and save them.After saving the command "START" will initiate the platform movement.When the platform finishes, it returns to original position and waits for further commands.The second method is by uploading a text with pre-programmed instructions.After uploading the file, "START" button will initiate the platform and it will start moving.When the instructions finish the platform returns to original position.The details of these instructions are shown in Figure 4.The logic of instruction of movement is shown in flow chart Figure 5.   5.The platform make translation along the three axis X,Y and Z.The platform also can rotate around all three axes but the needed ones are around X axis and Y axis.The rotation about Z does not add any extra functionality to the CNC machine that the five different movements cannot achieve by themselves.For translation, a ruler with a right angle was used to measure the actual translation that accrues.For rotation a fixed bar, a ruler and a protractor were used.

Figure 3 :
Figure 3: The electrical circuit of the system 3 SYSTEM ANALYSIS This section discussed the mechanical design of the fixture and it showed that the limits of this structure in the aspects of load and size.It also analysed the parallel nature of the manipulator and developed the algorithms.The degree of freedom is calculated by using equation (1). = 6 (−−1) + Σ = of link of each legs + base + top g = Number of joint of each legs fi = Number of DOF of each joint for each legs n = 1 + (3 x 3) = 10 g = (1 + 1 + 1 + 1) x 3 = 12 fi = (1 + 1 + 3 + 3) x 3 = 24 M = 6(10 − 12− 1) + 24 = 6

Figure 4 :
Figure 4: Sample of the (a) coding and (b) GUI for the CNC system

Figure 5 :
Figure 5: Flow chart of movement instruction

Table 1 :
Comparison between parallel and serial manipulator

Table 2 :
Technical specifications for ABS used in this research

Table 4 :
Platform specifications