DESIGN AND ANALYSIS OF A CNC SYSTEM FOR MACHINING AND MONITORING By Jie Peng B.S. (Electrical Engineering) Shanghai Jiao Tong University A THESIS SUBMITTED IN PARTIAL FULFILLMENT OF THE REQUIREMENTS FOR THE DEGREE OF MASTER OF APPLIED SCIENCE in THE FACULTY OF GRADUATE STUDIES MECHANICAL ENGINEERING We accept this thesis as conforming to the required standard THE UNIVERSITY OF BRITISH COLUMBIA August 1989 © Jie Peng, 1989 In presenting this thesis in partial fulfilment of the requirements for an advanced degree at the University of British Columbia, I agree that the Library shall make it freely available for reference and study. I further agree that permission for extensive copying of this thesis for scholarly purposes may be granted by the head of my department or by his or her representatives. It is understood that copying or publication of this thesis for financial gain shall not be allowed without my written permission. Mechanical Engineering The University of British Columbia 2075 Wesbrook Place Vancouver, Canada V6T 1W5 Date: Abstract The development of unmanned machining systems has been a recent focus of manufac- turing research. Computer Numerical Control (CNC) units, which monitor and control many tightly coupled machining tasks, are inseparable parts of the unmanned manu- facturing system. This thesis addresses the detailed design and analysis of a modular CNC system for a miLling machine. The feed drive control system of the machine tool is thoroughly studied. The mathematical model for the feed drive control system, which consists of a motion controller, power amplifiers and DC-servo motors, is developed and experimentally verified. A method of estimating cutting forces from current drawn by feed drive motors is developed. The viability of the current sensor as a feeding-force sensing component is illustrated and experimentally tested on the milhng machine. Suc- cessful application of the current sensor to tool breakage detection in milling operation is presented. The performance of the multi-axis contouring system in precision machining is discussed. The contouring errors induced by feed drive positioning systems in CNC machine tools is investigated using the state space model of the CNC system. The in- fluence of the cutting force on the accuracy of machining is shown to be negligible for feed drives driven by ball leadscrews. Various control strategies for the improvement of machining accuracy are tested in the simulation studies. ii Table of Contents Abstract ii List of Tables vi List of Figures vii Nomenclature x Acknowledgement xiv 1 Introduction 1 2 Feed Drive Modelling of a CNC Milling Machine 3 2.1 Introduction 3 2.2 Physical Architecture of the CNC Milling Machine 4 2.3 Modelling of Feed Drive Control System 6 2.3.1 Velocity Loop Modelling of the Feed Drive 6 2.3.2 Position Loop Modelling of the Feed Drive 10 2.3.3 State Space Modelling of the Feed Drive Position Control System 13 2.4 Experimental Verification of the Feed Drive Servo Model 17 2.4.1 Velocity Loop 17 2.4.2 Position Loop 18 2.5 Conclusion 19 3 Current Sensor Design and Its Application in Tool Breakage Detection 30 iii 3.1 Introduction 30 3.2 Design of A Cutting Force Estimator and Its Application 31 3.3 Model Development of A Remote Cutting Force Sensor 35 3.4 The Current Sensor Characteristics Analysis 38 3.4.1 Dynamic Analysis of Current Sensor 38 3.4.2 Steady State Analysis of Current sensor 39 3.4.3 Sensitivity Analysis of Current Sensor 42 3.4.4 Bandwidth Analysis of Current Sensor 43 3.5 Application of Current Sensor in Tool Breakage Detection 44 3.6 Some Future Work 47 4 Analysis of Contouring Errors Induced By Servo Dynamics 56 4.1 Introduction 56 4.2 Investigation of Contouring Errors Caused by Feed Drive Servo Dynamics 58 4.2.1 Steady State Contouring Error Analysis 59 4.2.2 The Influence of Cutting Forces on Contouring Accuracy 64 4.3 Simulation of Contouring Errors In Multi-axis Machining 65 4.3.1 Contouring With Perfectly Matched Axial Dynamics 66 4.3.2 Contouring With Mismatched Axial Dynamics 67 4.4 Strategies for Improvement of Contouring Accuracy 69 4.4.1 Simulation of Contouring by Including Acceleration and Decelera- tion Periods 69 4.4.2 The Use of Integral Action in the Feed Drive Control Loops . . . 70 4.4.3 Application of Cubic Curve-fitting Method 72 4.5 Conclusions 82 5 Concluding Remarks 101 iv Bibliography 1 0 3 Appendices 1 0 7 A Parameters of the Feed Drive 1 0 7 B Parameters of Gc(z) 1 0 8 C Parameters of Gd(z) 1 0 9 D Listing of Programs 1 1 0 v List of Tables Contour Error at Diamond Cornering vi List of Figures 2.1 Architecture of the UBC CNC Milling Machine 21 2.2 Schematic Diagram of the Feed Drive and Control System of the CNC Milhng Machine 22 2.3 Operational Block Diagram of the Feed Drive Velocity Control Loop . . . 23 2.4 Equivalent Electromechanical Diagram of Armature-controlled DC Servo Motor 24 2.5 Nonlinear Dependence of the Friction on Feeding Velocity 25 2.6 Operational Block Diagram of Position Loop 26 2.7 Step Response of the Velocity Loop: with table-assembly connected . . . 27 2.8 Step Response of the Velocity Loop: with table-assembly disconnected . . 27 2.9 Frequency Response of the Velocity Loop: with table-assembly disconnected 28 2.10 Frequency Response of the Velocity Loop: with table-assembly connected 28 2.11 Velocity Step Response in Position Loop 29 3.12 Experimentally Measured Cutting Force in Feeding Direction 48 3.13 Feeding Force Estimation 48 3.14 Operational Block Diagram of Ia-Tc Loop 49 3.15 Ia-Xr Loop Step Input Response, Input XT = 1000 x kt (count) 50 3.16 Ia-Tc Loop Step Input Response, Input Tc = 1 (Nm) 50 3.17 Steady State Armature Current Ja Investigation for Different Feedrates fc 51 3.18 Experimental Verification of Friction Coefficient B-modeUing, B = Kc/fc, Kc = 450.0 52 vii 3.19 Frequency Response of the Current Sensor : Magnitude 53 3.20 Frequency Response of the Current Sensor : Phase 53 3.21 Instantaneous Armature Current & Feeding Force 54 3.22 Average Resultant Current Ia(t) History Per Tooth Period 55 3.23 Differenced Average Resultant Current AJa(i) 55 4.24 Structure of the Cross-coupling Controller 83 4.25 Block Diagram of a Two-axis Contouring System 84 4.26 Contour Error Calculation From Axial Following Errors 85 4.27 Velocity Command Profile 86 4.28 Standard Test Workpiece Profile 86 4.29 Illustration of Contour Error and Dimensional Error on Workpiece . . . . 87 4.30 Velocity Command Profile for A Square Configuration Machining . . . . 88 4.31 Velocity Command Profile for A Diamond Configuration Machining . . . 88 4.32 Square Cornering With Perfectly Matched Axial Dynamics 89 4.33 Square Cornering With Mismatched Axial Dynamics 89 4.34 Diamond Cornering With Perfectly Matched Axial Dynamics 90 4.35 Diamond Cornering With Mismatched Axial Dynamics 90 4.36 Circular Contouring With Perfectly Matched Axial Dynamics 91 4.37 Circular Contouring With Mismatched Axial Dynamics 91 4.38 Velocity Command Profile for A Square Configuration Machining . . . . 92 4.39 Velocity Command Profile for A Diamond Configuration Machining . . . 92 4.40 Square Cornering With Matched Axial Dynamics 93 4.41 Square Cornering With Mismatched Axial Dynamics 93 4.42 Diamond Cornering With Matched Axial Dynamics 94 4.43 Diamond Cornering With Mismatched Axial Dynamics 94 viii 4.44 Diamond Cornering With Integration Compensation Included (1) . . . . 95 4.45 Diamond Cornering With Integration Compensation Included (2) . . . . 95 4.46 Illustration of N-segment Spline Function 96 4.47 A One-segment Spline Function Approximation of A Diamond Corner . . 97 4.48 A Two-segment Spline Function Approximation of A Diamond Corner . . 97 4.49 Position Profiles of the One-segment Spline Fit for A Diamond Corner . . 98 4.50 Position Profiles of the Two-segment Spline Fit for A Diamond Corner 98 4.51 Individual Axis Velocity Profiles in Diamond Cornering, One-segment Spline Fit 99 4.52 Individual Axis Velocity Profiles in Diamond Cornering, Two-segment Spline Fit 100 ix Nomenclature Av: state transition matrix for the velocity loop Ax, Ay: axial accelerations Ac: state transition matrix for the continuous block of the feed drive A J : the zth spline coefficient matrix a, b: digital filter parameters b(t): time vector Bv: input transition matrix for the velocity loop Bc: input transition matrix for the continuous block of the feed drive B: friction coefficient C: output matrix of the position loop D(s): Laplace transform of the digital compensator dp: screw shaft diameter F: resultant force ex, ey: axial position error eac: contouring error Fax: average force in longitudinal direction Fay: average force in transverse direction Fc : Feeding force Fr: radial force Ft: tangential force Fx: force in longitudinal direction Fy: force in transverse direction x fc: feeding velocity command G: discrete time state transition matrix of the position loop Gc: transfer function for the continuous part of feed drive Gci: closed loop transfer function for the feed drive G0: open loop transfer function of the feed drive Hg: tachometer constant Hv: input transition matrix for the velocity loop Ia: Armature current Iav: average amature current AIav: the first order differencing of the average amature current Je: equivalent inertia reflected onto the motor shaft Ka: motor armature current feedback gain. Kb', voltage constant of the motor (back EMF) Kd: closed loop gain for the feed drive Kd- D/A converter gain Ke: encoder gain K\\ velocity error preamplifer gain Kp: digital filter gain Ks: specific cutting presure Kt: motor torque constant Kv: PWM voltage gain k: time index La: motor armature inductance M(UJ): magnitude response of the velocity loop 7Y: spindle speed xi p : pitch of the leadscrew shaft : state transition matrix for the velocity loop Ra\ motor armature resistance Ri: boundary condition vector r: position command vector i: velocity command vector Sg: velocity command signal gain of the amplifier s: Laplace transform variable T: sampling period of control loop Tc: cutting torque applied on motor shaft Tg: tachometer feedback signal gain Tm : useful motor torque T c : motor electrical time constant Tm: motor mechanical time constant u„ : velocity loop input vector u : input vector of the position loop v : ball screw nut efficiency Va : armature voltage Vc : velocity command W : angular velocity of the motor shaft. z: state vector of the position loop xv: velocity loop state vector xc: continuous block state vector Xr: position reference input Xa: actual position of the table xii y: output vector of the position loop u>„: natural frequency of velocity control z: Z transform variable (: damping ratio xiii Acknowledgement I am grateful to a number of people for their assistance during the whole period of the research and the writing of this thesis. First and foremost I must thank my supervisor Dr. Altintas for his continuous support and advice during my graduate studies at UBC. I would also like to thank research engineer G. Wright for helping to set up the experimental facilities for the research. Finally, I would like to thank my wife Wei for her unreserved support, understanding and encouragement throughout these two years. Without it, it is impossible to finish this work. This work was supported by NSERC of Canada under Grant Number 86164. xiv Chapter 1 Introduction The present trend of manufacturing research is to develop flexible, self adjusting and unattended intelligent machining systems. The limited presence of operators at un- manned machine tools leaves the supervision, monitoring and control tasks to computer controllers. Some of the important machining process monitoring and control tasks are: in-process detection of tool wear and breakage, chatter detection and avoidance, adaptive control of chip load for maximum metal removal, geometric adaptive control for precision machining and in-process gauging [32]. These tasks must be executed in parallel since they have a coupled effect on the cutting process. In order to implement the unmanned machining tasks, the machine tool must be equipped with sensors and a multi-processor based Computer Numerical Controller where the computation-demanding tasks are as- signed to dedicated processors. Communication between tasks, must be carried out in short intervals. For example; the Adaptive Control task must be able to send feeding velocity updates at control intervals of 10 to 20 ms to the amplifiers. Although some commercial CNC systems are multi-processor based, they do not provide the flexibility to add sensing, monitoring and control modules. This thesis describes the design of a very modular research CNC system which allows integration of additional monitoring and control modules. The proposed system enables simultaneous machining process control, tool condition monitoring and cutting force sensing, which are coupled in practical machining operations. The modular C N C system consists of off the shelf units, and can be easily realized at other research laboratories. 1 Chapter 1. Introduction 2 The thesis is organized as follows. Chapter 2 illustrates the architecture and physi- cal components of the developed modular CNC system for a milling machine, which is converted from a three-axis vertical milling machine. An accurate, discrete-time state space model for the feed drive control servo of the CNC system is developed which can be employed in the numerical simulation. The model allows simulation study of all state variables (i.e., actual table position, velocity and motor current) for a given reference position and cutting force disturbance. This is particularly important for the analysis of multi-axis contouring accuracy under cutting force disturbances. Transfer functions of the analog and digital components of the feed drive control system are also given for the purpose of analysis of the steady state error and frequency characteristics. The ex- periments are carried out to verify the developed models. Chapter 3 presents a design method of estimating cutting forces from the motor armature current measurements. The characteristics of the cutting force estimation from the current sensor are investi- gated. As an application of the current sensor, the previously developed on-line tool breakage detection algorithm is illustrated by using the force estimated from the current sensor. Multi-axis precision machining is the main topic of the Chapter 5. The analysis of multi-axis contouring errors in CNC machine tools which are due to the performance of the feed drive position control servos is addressed. A completely modelled feed drive position control system, which is developed in preceding chapter, is employed. Several control strategies are tried to minimize the contouring error in milling operation. The thesis is concluded with a short summary of the main results. C h a p t e r 2 F e e d D r i v e M o d e l l i n g of a C N C M i l l i n g M a c h i n e 2.1 I n t r o d u c t i o n A servo is a closed-loop system used to control the position, velocity or acceleration of a mechanical load. Although a great deal of work has been done in servomechanism theory [13], [14], a sufficiently detailed analysis of feed drive servo for precision multi- axis contouring, adaptive control and monitoring of the machining process has not been accomplished. Significant early work in the area was carried out primarily by Bollinger [5,12], Stute [30,31] and Koren [15,17]. They concentrated on engineering design methods for C N C systems where approximate models of the feed drive servo were sufficient. Un- manned machining tasks, however, and in particular precision contouring and adaptive control, require more complete modelling and analysis of the feed drive control system so that drive control dynamics can be decoupled accurately from the machining process dynamics. Several researchers have investigated control strategies to minimize the ma- chining errors produced by cutting torque disturbances and axis gain mismatch during multi-axis contouring operations [11],[16],[18],[27]. They approximated the velocity servo as a first order system by neglecting the dynamics of the motor's winding. Researchers who have contributed to the adaptive control of machining forces, treated the feed drive system as a gain [20],[33], first order [7] or second order [22],[34] system. In the following analysis, a DC motor and power amplifier based velocity servo is treated as a second order dynamic system. With the digital compensation filter, the complete feed drive system 3 Chapter 2. Feed Drive Modelling of a CNC Milling Machine 4 will be modelled as a fourth order discrete-time system. Analysis and control algorithms, which involve high frequency sampling and high feeding velocities, are sensitive to the unmodelled dynamics. In precision machining small oscillations in the feed drive servo, due to the second order dynamics, will be felt on the contoured surfaces. Unmodelled dynamics of the feed drive system may cause instabilities in adaptive control of the ma- chining process. Recent adaptive control experiments carried out in our laboratory [21] has been successful mainly due to the precision modelling of the time invariant feed drive control system. In this chapter, detailed design and analysis of a modular CNC milling machine is presented. Analysis of a machine tool feed drive control system is discussed in detail. The feed drive servo system is divided into continuous and digital blocks, which represent the primary structure of current CNC feed drive systems. The model of the feed drive control system is derived first and then experimentally verified. An accurate, discrete- time state space model of the feed drive servo system for monitoring and control of CNC system is developed. The model allows simulation of all state variables (i.e., machine table position, motor shaft velocity and motor armature current) for a given reference position, feeding velocity and cutting force disturbance. Particularly, this model can be used to analyze interaction between machining process and feed drive control system. 2.2 Physical Architecture of the CNC Milling Machine The research CNC milling machine typically consists of three major parts. They are machine tool, feed drive units and the control s y s t e m , as shown i n F i g u r e 2.1. In our CNC laboratory, retrofitted machine t oo l is a vertical m i l l i n g mach ine w i t h a 5 kW AC motor connected to a spindle drive gear box . T h e three feed ing axes (x , y and z) of the machine have recirculating ball screw drives with 600, 400 and 120 mm Chapter 2. Feed Drive Modelling of a CNC Milling Machine 5 travel limits respectively. All three linear axes are driven by permanent magnet DC servo motors which are separately powered by three pulse width modulated (PWM) amplifiers. The motor armature shafts are directly connected to the lead screw shafts. The motors are capable of delivering sufficient continuous torque (4Nm) during machining at desired feeding velocities. A Motorola M68008 processor based motion control board [10] is used to control feed- ing velocity and positions of the three linear axes of the machine. The motion control card has 16 input/output (I/O) lines for logic control functions. Coolant, spindle, travel limit, feed-hold, amplifier shut-down and other auxiliary logic control signals are wired to the I/O lines. Contouring (i.e., linear and circular interpolation), acceleration, deceleration and digital compensation functions can also be carried out by the motion control board. The board resides in a MULTIBUS card cage which can take several motion control cards (i.e., for an additional rotary axis control), data acquisition board and process control board (i.e., tool condition monitoring, process identification and adaptive control) for modular unmanned machining research. In order to use the existing peripheral devices efficiently, the Multibus is connected to the personal computer (PC) bus through a bus interface adaptor. An Intel 80286 CPU with an 80287 mathematics co-processor based PC is used as a master computer to distribute monitoring and control tasks to other peripheral modules on the Multibus, see Figure 2.2. The machine tool can be used as a standard CNC machine by loading an in-house developed NC language emulator in PC. Feeding velocity, acceleration, deceleration and digital filter parameters can be changed in real time by sending the desired values from the PC to the motion control unit via the bus adaptor. This feature is particularly important and essential for adaptive control and machine tool monitoring research. Chapter 2. Feed Drive Modelling of a CNC Milling Machine 6 2.3 Modelling of Feed Drive Control System The feed drive control system of CNC milling machine is composed of the following components: a Galil DMC-230 motion controller [10], three UM3015 UNIDRIVE PWM power amplifiers and three Baldor DC servo motors [4]. Each motor contains a tachometer and an encoder for velocity and position feedback respectively. The feed drive control system accepts the motion command either from the host computer (IBM-PC/XT), or from a monitor terminal (digital-VT100). A schematic diagram of the feed drive and control system is given in Figure 2.2. 2.3.1 Velocity Loop Modelling of the Feed Drive The feed drive control system consists of two basic loops. One is velocity loop, and the other is position loop. The velocity control loop of a feed drive is composed of a PWM power amplifier, a DC servo motor and a velocity feedback unit tachogenerator. The operational block diagram of the velocity control system, shown in Figure 2.3, is derived from detailed analysis of the UM3015 amplifier circuit diagram. The power amplifier accepts velocity command signals from the DMC-230 digital motion control unit [10]. The signal is preamplified by gain Sg and compared to an actual velocity signal measured by the tachogenerator feedback unit. The resulting velocity error signal is converted to a current by the current amplifier which has a gain of Ki. The amplifier output current is compared with the armature feedback current signal pulled from a current sense coupler. The PWM circuit, which is modelled as a gain of Kv, accepts the current error and outputs a mean voltage of Va to the armature terminal of the DC motor. An armature-cont rolled DC servo motor has an equivalent electro-mechanical relation as is shown in Figure 2.4. The performance of the DC servo motor may be analyzed using Chapter 2. Feed Drive Modelling of a CNC Milling Machine 7 this equivalent diagram. For a voltage Va applied to the motor armature, the armature current Ia can be determined by Va = RaIa + L a ^ - + KbW (2.1) at The armature current produces a magnetic field between the armature and constant field stator, which gives a torque proportional to the rotation of the motor. Tm = Kt Ia (2.2) The motor torque T m is used to accelerate the inertia J e , which is the combined motor and load moment of inertia, and to overcome the friction and cutting torque reflected on to the motor shaft, dW Tm = Je— + BW + Tc (2.3) Algebraic manipulation of the amplifier part in block diagram (Figure 2.3 ) gives the applied motor armature Va in terms of the velocity command Ve, which is the actual input applied to the power amplifier [26] Va = Kv [Kj (Sg Vc - Tg Hg W) - Ka /„] (2.4) Substituting Equation (2.4) into (2.1) yields Kv [Kj {Sg Vc - Tg Hg W) - Ka /„] = RaIa + L a ^ + KbW dt i.e., dla KvKa + Ra Kb + KvKiTgHg KvKiSg l t = — L a h La + La V c ( 2 5 ) Also, substituting Equation (2.2) into (2.3) y ie lds dW Je— + BW = KtIa-Tc Chapter 2. Feed Drive Modelling of a CNC Milling Machine i . e . , dW Kt r B 1 L W ~ Tr dt Je Je Je Rewriting Equation (2.5) and (2.6) in vector matrix form gives xv — Av xv - j - Bv uv wnere la W Vc La Je La B Je Bv = La U 0 Je Hence, the corresponding discrete state space description can be derived, xv(k + 1) = $ v ( T ) xv(k) + HV{T) uv(k) w here T: the sampling period used in system discretization. $„(T): the system state transit matrix. xv(k):the system state vector measured at the kth. sampling period. HV(T): the input transit matrix. uv(k): the input vector applied to the servo system at the kth sampling period. Chapter 2. Feed Drive Modelling of a CNC Milling Machine 9 and $V{T) = e^1 (2.9) HV(T)= [TeA'Tdt-Bv (2.10) Jo The matrices Av and Bv can be formed if the system parameters are known. The ma- trices 4?„(T) and HV(T) can then be evaluated by Equations (2.9) and (2.10). Therefore, the recursive solution for the discrete state space Equation (2.8) can be found. In addition, the transfer function between the armature current and the applied ar- mature voltage can be derived by taking the Laplace transform of Equation (2.1). W = JZ*L_ , 2 1 1 ) where re = La/Ra is the electrical time constant of the motor. The transfer function between the armature current and the motor angular velocity is obtained from Equations (2.2) and (2.3) by dropping Te : m^jwL (212) where r m = Je/B is the mechanical time constant of the feed drive system. Substituting Equation (2.11) into (2.12), we have _ Kt/B 1/Ra Va(s) r m * + l ' r . « + 1 1 l 6 ) Considering relationship between Va and Vc in Equation (2.4), we can therefore obtain the transfer function for the feed drive velocity control loop, W{s) Kx - Vc(s) s* + K2s + K3 where the parameters Ki, K2 and K3 are defined : (2.14) Kt Sg Ki Kv LaJe Chapter 2. Feed Drive Modelling of a CNC Milling Machine 10 K 3 = K2 = B R a + K v K a Je La B (Ra + K v Ka) + Kt (Kb + Hg Tg K v K t ) J e L a In Equation (2.14) the velocity loop of the feed drive is modelled as a second order dynamic system, in which the velocity command Vc sent to the amplifier port is the input and the motor shaft velocity W is the output. The parameters Kt, R a , L a , Kb and Hg are provided by the manufacturers of the am- plifier and the DC servo motor. The remaining power amplifier parameters (Ka, Kj, Kv, Sg and Tg) are determined by measurements on the amplifier board. The details of the parameter measurement can be found in [26]. It must be noted that for the type of guideways with which our machine is equipped, the friction coefficient B is not constant. The CNC milling machine has manually lubri- cated guideways without any roller bearing contact. Thus, the resulting friction coeffi- cient between the table and guideway is very much velocity dependent, see Figure 2.5. The friction coefficient is identified from the armature current and steady state velocity measurements, by using Equations (2.2) and (2.3). The constants and measured param- eters of the feed drive servo are listed in Appendix. As can be seen from Figure 2.5, the friction coefficient B is inversely proportional to the speed, and independent of the position of the table on the guideway. The characteristics of the curve indicates that both Coulomb friction (i.e., constant static friction torque) and viscous friction are present in the system. In order to linearize the system, an average viscous damping coefficient of B = 0.09 (Nm/(rad/sec)) is used in the following chapters unless indicated otherwise. 2.3.2 Position Loop Modelling of the Feed Drive The position control system of the feed drive is composed of a digital motion controller, a position feedback unit (encoder), as well as the basic velocity control system. The Chapter 2. Feed Drive Modelling o f a CNC Milling Machine 11 operational block diagram is given in Figure 2.6. It can be seen that the feed drive control system is actually a multivariable system. Two inputs are position reference Xr and cutting torque Tc, and the output is the machine table actual position. The influence of cutting torque Tc on the table position will be left to the third chapter. The actual table position,which is measured by the shaft encoder, is fed into an up-down counter in the form of pulse trains whose frequency is equal to the actual feeding velocity. The up-down counter receives a reference position command from the host computer and subtracts the actual position to give a position error. This position error is then processed by a digital lead-lag compensating algorithm. Furthermore, the compensated signal is sent out to power amplifier as a velocity command to drive the motor and move the table. Each position pulse will be called a count. A two channel encoder with one thousand slots and a quadrature decoding circuit is used to obtain a corresponding count length of : V 1 count = mm 4000 where p is the pitch of the feed screw. Our research C N C machine's feed screw has a pitch of p — 5.08 mm, thus 1 count = 0.00127 mm. The gain of the encoder is given as, 'counts' v 4000 (2.15) 2 7r L rad . The up-down counter acts like an integrator which contains the instantaneous position error. Since the input to the motion controller is either parabolic (i.e., acceleration and deceleration period) or ramp type (i.e., steady state velocity), the up down counter and encoder with a gain Ke can be cascaded to the end of the velocity loop as : w ( s ) = T ( 2 1 6 ) Combining Equation (2.16) with the velocity loop transfer function of the velocity loop (Eqn. 2.14) yields the transfer function of the continuous part of the feed drive control Chapter 2. Feed Drive Modelling of a CNC Milling Machine 12 system : The velocity control signal Vc of the digital motion control unit is applied to the power amplifier at T = 1 ms intervals via a D/A converter which has a gain of Kj. The zero order hold equivalent of the Gc(s) for given one millisecond sampling interval is: Ge(z) = Kd(l - z-1) Z[$i&] 3 or which, after taking the z transform, becomes KDKXKE b2z2 + blZ + b0 GC[Z) ~ ~K7~ (Z - l)(z» + alZ + a0) ( 2 1 8 ) The derived expressions for the parameters of Gc(z) are given in the Appendix B. Discrete position error E(z) is the difference between the reference and actual position of the table: E(z) = Xr(z) - Xa(z) (2.19) The position error is passed through a digital compensation filter whose parameters are tuned to provide a smooth position transient response without any overshoot. The mathematical model of the digital filter D(z) is: D(z) = KP i ± | (2.20) The closed loop transfer function of the complete feed drive control system is derived as follows: r <A - X A [ Z ) - D { Z ) G C { Z ) r??n Xr(z) 1 + D(z)Gc(z) or c t v ' czi + a3z3 + a2z2 + a1z + aQ K ' The parameters of the closed loop transfer function Gci(z) are given in the Appendix C. Chapter 2. Feed Drive Modelling of a CNC Milling Machine 13 From Equation (2.22), we can see that the feed drive position control system is a fourth order dynamic system, in which the position reference command Xr is the input and table position Xa is the output. The tuning of the digital compensator parameters is based upon two critical performance requirements : the first is the smooth transient response in order to avoid oscillatory cutting during velocity changes; and the second is the minimization of the steady state position error (i.e., following error) in order to achieve high precision multi-axis contouring. 2.3.3 State Space Modelling of the Feed Drive Position Control System A state space model of the feed drive control system is developed for the analysis and simulation purposes. The servo is again divided into continuous and discrete sections. The continuous part of the system consists of the velocity control loop (Eqn.2.8) and the up-down counter (Eqn.2.16). Three system variables : the armature current Ia, the motor shaft velocity W and the actual position Xa, which are interested to us, are chosen as states. Applying the inverse Laplace transform to the transfer function of the up-down counter and encoder (Eqn. 2.16) gives : dXa{t) dt Adding Equation (2.23) into (2.8) yields = Ke • W(t) (2.23) xe(t) = Ac xc(t) + Be uc(t) where state vector xc[t) a n d input vector uc(t) are def ined as /.(*) xc(t) = W(t) Xa(t) (2.24) u, :(0 Vc(t) Tc(t) Chapter 2. Feed Drive Modelling of a CNC Milling Machine 14 A,, and Bc are constant matrices: Ac = La La B J. 0 0 0 Bc = K,KjSa La 0 0 0 0 The state Equation (2.24) represents the continuous part of the feed drive control system, which has the following discrete equivalent solution for an observation interval of T — 1ms [25] : xc(k + 1) = $(T) xe(k) + H{T) uc(k) (2.25) where state and input vectors at sampling instant kT are defined as : Vc(k) Tc(k) w xc(k) = W{k) uc(k) . Xa(k) <f>ll 012 0 = e 021 022 0 031 032 0 H(T) = r Jo .Art hu hX2 dt • Bc = h2i h22 ^31 ^32 The matrix $(T) is computed from the eigenvalues of the Ac matrix for the discrete-time equivalent of the continuous-time system. Chapter 2. Feed Drive Modelling of a CNC Milling Machine 15 The discrete-time block of the position control loop consists of digital filter D(z) and D/A converter with gain Kd. The velocity command signal can be expressed in z-domain as: (2.26) VC(Z) = i f p ^ T * K * • IM*) - *.(*)] z + b The equation can be rearranged as : Vc(z) = Kp Kd [Xr(z) - Xa(z)] + Vd(z) where Vd(z) = KpKd [Xr(z) - Xa(z)} z + b (2.27) (2.28) The new variables Ve and Vd can be treated as the fourth output and the fourth state respectively. After rearranging Equations (2.28) and (2.26) and taking their inverse z- transforms, the following discrete-time state equations are obtained: Vd(k + l) = -b Vd{k) + Kp Kd (a - b) [Xr(k) - Xa(k)] (2.29) Vc(k) = Kp Kd [Xr{k) - Xa(k)} + Vd(k) (2.30) The discrete-time state Equation (2.29) can be combined with the state Equation (2.25) which represents the discrete-time equivalent of the continuous part of the feed drive servo system. An algebraic rearrangement of Equation (2.29), (2.30) and (2.25) yields the following complete state equations for the feed drive servo [26] : *(Jfe + l) = G(T) • x(k) + T(T) • u(k) y(k) = C • x(k) + D • u(k) where state, input and output vectors are defined respectively as: (2.31) x(k) = Vd{k) W W(k) Xa(k) u(k) = Xr(k) y(k) ' .(*) W(k) Xa(k) Chapter 2. Feed Drive Modelling of a CNC Milling Machine 16 The state transition matrix G(T), input matrix T(T), output matrix C(T) and D(T) are defined in order as follows: G(T) = - 6 0 0 -KpKd(a-b) hu 0 n 0 n 013 - hnKpKd h2\ 021 022 023 ~ h2\KpKd h3l 031 032 033 — h3iKpKd r(r) = KpKd(a - b) 0 hnKpKd h2xKpKd h22 h3XKpKd h32 c = 1 0 0 -KpKd 0 1 0 0 0 0 1 0 0 0 0 1 D = KpKd 0 0 0 0 0 0 0 One of advantages of this state space model is that the output vector y(k) gives ac- cess to four useful system variables in the feed drive servo system, namely: the velocity command Vc, the armature current Ia, the motor shaft velocity W and the machining table position Xa for a given position command Xr and applied cutting torque Te. Other variables in the control system can be easily found by multiplying them with the appro- priate gains according to the block diagram shown in Figure 2.6. Based on this state space model, a simulation program is developed, which allows us to study the feed drive system performance under different milling operation conditions. Chapter 2. Feed Drive Modelling of a CNC Milling Machine 17 2.4 Experimental Verification of the Feed Drive Servo Model The model of the feed drive servo is experimentally verified in both frequency and time domains. The verification is carried out separately for the velocity and position loops. 2.4.1 Velocity Loop Experimental step response of the velocity loop is obtained with and without the table- assembly by applying Vc = 1.0 Volt to the terminal of the power amplifier and measuring the velocity from the tachometer simultaneously. Analytical (Eqn.2.8) and measured step responses of the velocity feed drive control are shown in Figure 2.7. The step response results measured without the table indicate that the theoretical and experimental results are in agreement, see Figure 2.8. There is a high frequency component of the step response when the motor is attached to the leadscrew, which is due to the mechanical dynamics of the leadscrew and table assembly. Overall, the tuned dynamics of the velocity loop are sufficiently fast for controlled milling machine. The transfer function of the velocity control loop, as derived in Equation (2.14) can be rewritten as: Y!M = £ ( 2 32) Here the natural frequency wn and damping ratio £ of the velocity loop are defined as : w„ - \JK~3 2y/K* where K\,K2 > 0. The frequency response of the velocity loop is analyzed in order to determine the bandwidth of the controller. The magnitude ratio A/(w) and the phase Chapter 2. Feed Drive Modelling of a CNC Milling Machine 18 angle <p(u>) of the closed velocity loop controller can be derived from Equation (2.32) as: The frequency response measurements are carried out with a Bruel & Kjaer Fourier analyzer. The analyzer's random signal generator output is fed into the input terminal of the amplifier, and the velocity is measured from the tachogenerator output. The simulated and measured frequency response results are shown in Figure 2.10. Although the simulated and experimental responses agree fairly well, there are some deviations. A separate frequency response measurement is carried out by removing the motor from the table. When the model is modified to include only the motor shaft inertia and friction, the measured and simulated frequency response results are in perfect agreement (see Figure 2.9). Hence, it is concluded that the small deviations in the frequency response test with the table-assembly are due to the Coulomb friction and mechanical dynamics of the feed drive assembly. The results also indicate that the servo is able to follow feeding velocity changes up to 65 Hz which is the bandwidth of the velocity loop, see Figure 2.10. 2.4.2 Position Loop In addition to the velocity loop, the position loop consists of an encoder, a digital filter and an integrator (i.e., up-down counter) which are mostly digital and their transfer functions are precisely known, see Figure 2.6. Digital filter parameters are tuned in such a way that the position loop is well damped (i.e., without any overshoot in the step response) and the rise time is reasonably short. The following digital filter is selected and found to be satisfactory : M(w) = 20 logi^/K3) - 2Qlog [(1 - u2/u>l)2+ (2fr/un)2]i ' > (2.33) D{z) = 2.5 • z - 0.8825 z Chapter 2. Feed Drive Modelling of a CNC Milling Machine 19 The remaining parameters of the position loop are listed in the Appendix. The calculated values of the state space Equation (2.31) are given as: G(T) = 0 0 0 0.1724 13.5962 0.5085 -2.4203 -2.6555 0.6231 0.0617 0.8638 -0.1217 0.1392 0.0219 0.6028 0.9728 T(T) = -0.1724 0 2.6555 0.3749 0.1217 -0.2634 0.0272 -0.0859 C = 1 0 0 -0.195 0 1 0 0 0 0 1 0 0 0 0 1 D = 0.195 0 0 0 0 0 0 0 The position loop is experimentally validated by sending a feedhold command to the motion controller during steady state feeding of the table. The feedhold command sets the feeding velocity command to zero and bypasses the deceleration velocity shaper. The resulting feeding velocities are shown in Figure 2.11, where it is apparent that the analytical and experimental values are in good agreement. 2.5 C o n c l u s i o n In this chapter, the architecture of the UBC CNC milling machine has been presented. A mathematical representation for the feed drive control system of the UBC CNC milling machine has been developed and validated. The model presented describes the dynamic Chapter 2. Feed Drive Modelling of a CNC Milling Machine 20 behavior of the feed drive control system. The state space model not only explicates the external behavior, but also reveals the internal characteristics of the feed drive control system. The model developed here has been experimentally validated. The results show that the given model is a satisfactory idealization of the feed drive system of the CNC machine, which includes crucial feed drive parameters and interactionship. Chapter 2. Feed Drive Modelling of A CNC Milling Machine Figure 2.1: Architecture of the UBC CNC Milling Machine Chapter 2. Feed Drive Modelling of A CNC Milling Machine 22 I B M P C MULTIBUS QR RS 2 3 2 P C BUS TD MULTIBUS ADAPTOR r- V T 100 DMC-230 MDTIDN CONTROLLER I T MULTIBUS CARD CAGE POSITION F E E D B A C K DC S E R V D MDTDR AMPLIFIER T V E L O C I T Y F E E D B A C K POSITION F E E D B A C K DC S E R V D MOTOR (X -AXIS ) DC S E R V O MDTDR AMPLIFIER DC V E L O C I T Y F E E D B A C K POSITION F E E D B A C K S E R V O MOTOR <Y-AXIS> DC S E R V O MDTOR AMPLIFIER \\/////////, V E L O C I T Y FEEDBACK DC S E R V O MOTOR CZ-AXIS) Figure 2.2: Schematic Diagram of the Feed Drive and Control System of the CNC Milling Machine Figure 2.3: Operational Block Diagram of the Feed Drive Velocity Control Loop Chapter 2. Feed Drive Modelling of A CNC Milling Machine 24 I a + a WvW MECHANICAL O - L a W J e , B ELECTRICAL Figure 2.4: Equivalent Electromechanical Diagram of Armature-controlled DC Servo Motor Chapter 2. Feed Drive Modelling of A CNC Milling Machine Figure 2.5: Nonlinear Dependence of the Friction on Feeding Velocity Feed BrMt Input OLID Zero Order -J3LU1 Hold ic Z + a 1-e T s I/A Amplifier Gall Signal Gain nptat to Analog Converter Torque Torque l c Constant Encoder Got) Up-Down Counter aw 1 Js+B 4 tvi RK1I1UN FEEDBACK Taohogea Tdphogen. G«» - Constant U J a v a f T VELOCITY FEEDBACK X. 9 to CD rt cu b a. I S3 CK! O »•+> 9 Figure 2.6: Operational Block Diagram of Position Loop S3 6 ta ro to Chapter 2. Feed Drive Modelling of A CNC Milling Machine 27 o w B V o Figure 2.7: o w ID \ * s u o Theoretical Experimental 40 TIME [SECOND] Step Response of the Velocity Loop: with table-assembly connected Theoretical Experimental 40 TIME [SECOND] Figure 2.8: Step Response of the Velocity Loop: with table-assembly disconnected Chapter 2. Feed Drive Modelling of A CNC Milling Machine 28 TTJTT 20 A X OHUUTIOX npsJUMKirrii 40 TTfTT 80 w K « w 0 FRIQUENCT [Hi] FUQUIXCT [Hx] Figure 2.9: Frequency Response of the Velocity Loop: with table-assembly disconnected w H K 0 W Q -20 - -40 - W „ m -00 - 40 80 80 0 20 40 80 80 FREQUENCY [HZ] , FRBQUBNCY [HZ] Figure 2.10: Frequency Response of the Velocity Loop: with table-assembly connected -eo -ISO A X sarouTiox nranmrm » 0 Chapter 2. Feed Drive Modelling of A CNC Milling Machine 29 2 8 - 84" 2 2 - 20 - 1 8 " 0.00 20.00 40.00 60.00 80.00 100.00 120.00 140.00 160.00 TIME (ms) Figure 2.11: Velocity Step Response in Position Loop Chapter 3 Current Sensor Design and Its Application in Tool Breakage Detection 3.1 Introduction A sensor is a device that is able to output a signal for purposes of detective or measure- ment of a physical property. Developments in new technologies, especially in electronics have led to the availability of a variety of types of sensors that can be readily interfaced to a computer for machine control and process monitoring. A sensor is also referred to as a transducer because it converts one physical quantity into another, such as the tachometer used in our feed drive system, which converts rotational velocity into volt- age. For highly-automated machining process monitoring and control, the supervising computer of the machine tool requires accurate and reliable information about the state of the machine and the quality of operations it performs. The sensors and associated signal processing techniques are designed to provide those information. The choice of sensors to be used in a given control application depends on the nature of the variables to be measured, the cost of the sensor, and the level of precision and the performance required. A good, practical machine tool sensor should be accurate, durable, sensitive, and affordable as well. Cutting force is a very important variable to the machining process monitoring. With the development of sensing technology, many new force sensors have being reported [8], [23]. Sensor design for the machine tools, however, is a complicated multi-faced problem. Even when limiting the area of sensor development to metal cutting machine tools, very 30 Chapter 3. Current Sensor Design and Its Application in Tool Breakage Detection 31 few practical designs have been developed [29]. Industrial acceptable cutting force sensor design still attracts many researchers. Some research has been reported recently. Stein et al [29] proposed the DC servo feed drive of a CNC lathe used as a force sensor. They investigated how the components of a feed drive on a CNC lathe affect the feed force component of the cutting force, as measured by the current consumed by the feed motor, during a single-point turning operation. They proved that the current consumed by the motor was related to the tool force. The machine tool feed drive can be used to detect process conditions in a manner similar to a tool force dynamometer. In this chapter, the cutting force estimation from the measurable feed drive states (motor armature current /„ and the shaft velocity W) is attempted at first. The feasibility of a feed drive of a CNC milling machine as a remote cutting force sensor in milling operation is investigated. In the single-point turning operation, the cutting force is constant. In milling operation, however, the cutting force is normally periodic, in which case, the cutting force measurement would be more difficult. After developing the model for the current-cutting torque loop, the overall sensing qualities of a feed drive system as a cutting force sensor will be evaluated. Finally, an application of the current sensor is presented. The current sensor is used in tool breakage detection, which is one of most important monitoring tasks in machining process. In the conclusion section, some future work is presented. 3.2 Design of A Cutting Force Estimator and Its Application The estimation of cutting force from other easily measured system variables has been attempted by using the previously developed state space model. During milling operation, the feeding force Fc (cutting force in feeding direction), which is applied at the tool-workpiece contact area, is reflected onto the DC motor shaft Chapter 3. Current Sensor Design and Its Application in Tool Breakage Detection 32 as [13]: T< = F< • « 3 ' 3 4 ' where v is the ball screw nut efficiency, p is the length of pitch. The ball screw nut efficiency v can also be expressed as [13]: 1 v = 1 + 0.02 [dp/p) For the feed drive system of our CNC milling machine, which has a screw shaft diameter of dp = 28.6 mm and a pitch of p = 5.08 mm, the nut efficiency is calculated to be v = 0.89, which gives the reflected cutting torque on the motor shaft as approximately 9.0 x 10 -4 of the feed force Fc. The force transmission gain was also experimentally measured on the CNC milling machine by measuring the feeding force and calculating the corresponding reflected torque on the motor shaft. The Kistler-9257A force dynamometer is mounted on the machining table, from which the actual feeding force can be measured. Remembering that Tm = Kt I a dW ~dt Tm = Je --+BW + TC we can have KtIa = Je^- + BW + Tc (3.35) at In steady state cutting, dW -df = ° Hence, T c can be calculated from servo motor armature current /„ and shaft velocity measurements, Tc - Kt Ia - B W (3.36) Chapter 3. Current Sensor Design and Its Application in Tool Breakage Detection 33 The force transmission gain is experimentally found to be: Tc = 9.45 x IO"4 • Fc (3.37) or Fc = 0.1058 x 104 • Tc (3.38) The feeding force Fc is proportional to the cutting torque Te. As long as the cutting torque can be estimated, the feeding force applied on the contact edge of tool and workpiece can be calculated by Equation (3.38), which is an important system state for machining operations. From the preceding analysis, the discrete state space description for the velocity loop of the feed drive is known xv{k + 1) = *„(T) xv(k) + HV(T) uv{k) This equation can be rewritten as xv(k) = *V{T) xv(k - 1) + HV(T) uv{k - 1) (3.39) where *„(* - 1) = [/„(* - 1) W(k - l)] r uv(k - 1) = [Ve(k - 1) Tc(k - l)] r In order to estimate the reflected cutting torque, Equation (3.39) is rearranged as : uv(k - 1) = H-\T) [xv(k) - *„(T) xv(k - 1)] (3.40) Equation (3.40) shows that both velocity command signal input Vc and reflected cutting torque Tc can be estimated from motor current and velocity measurements with one sampling period delay. Solving the Equation (3.40) for the CNC machine feed drive, Chapter 3. Current Sensor Design and Its Application in Tool Breakage Detection 34 meanwhile considering the Equation (3.38), we are able to estimate the feeding force Fe (Jfe - 1) at time kT. Fe[(fc-l)/fc] = [0.1643/«(fc)- 3.6405W(ifc) 4-0.1357/a(fc-l) +3.4026W(fc - l)]/0.00094 This equation provides the estimation of feeding force using the other system variables which are easily measurable for machining process monitoring. Feeding force estimation has been experimentally tested by using cutting experiments. A full immersion fly cutting test is done on an Aluminum 7075 alloy workpiece. Machining is carried out by feeding the longitudinal axis at fe — 2500 counts/sec (3.175 mm/sec). The spindle speed is set at 470 rev/min. The cutting conditions and measured feeding forces are given in Figure 3.12. The estimator parameters has been calculated from feed drive system parameters. The friction coefficient B — 0.196 Nm/(rad/sec), which corresponds to fe = 2500 counts/sec, was used. The current and force signals were passed through 50Hz low pass filter in order to eliminate high frequency electrical noise. Since the velocity loop has a bandwidth of about 65 Hz, it may be possible to estimate the cutting forces from the measured current in low tooth frequency milling and in turning operations. The effect of nonlinearity in the friction coefficient can be overcome by calculating the estimator parameters for progressive speeds off-line, and storing them as a look up table in CNC's memory. Those data would, of course, take up some computer memory. Fortunately, the estimator is a simple equation. Not many coefficients have to be stored (four coefficients in our case). The cutting forces are reconstructed using the current and velocity measurements taken in the same cutting experiment shown in Figure 3.13. The estimated cutting forces are noisy due to sensitivity of the force computation to small but sharp deviations (i.e., noise) in the measurements. It is noted that all the analytical derivations used in the Chapter 3. Current Sensor Design and Its Application in Tool Breakage Detection 35 force estimation are purely deterministic, and the noise in the system is not considered. Although the force estimation is noisy and dependent on the friction coefficient, it does follow the cutting force within the bandwidth of the servo. Also it is known that clean motor armature current and motor shaft velocity signals are the key to the cutting force estimation. 3.3 Model Development of A Remote Cutting Force Sensor The structure of a typical feed drive on a CNC machine tool was presented in Chapter 2 (see Figure 2.2). When the feed drive system is viewed as a cutting force sensing device, the operational block diagram can be modified as illustrated in Figure 3.14. The cutting torque Tc (or the feeding force Fc) can be considered as an input, which is to be detected, to the feed drive system, or sensing unit. The output will be the motor armature current Ia. The position reference input Xr is such a signal that it affects only the system output level when the input signal Tc is zero. For the purpose of analysis of cutting force sensing system, a mathematical model, or transfer function relating to the feeding force and the feed drive motor current is first derived. Referring to the Figure 3.14, we can see W [ s ) = W ~ U') = * W - W (3.41) Je s + B Je s + B The position output can be obtained from velocity Equation (3.41) S 3 \JE 3 T" £j ) The position error signal will then be E{s) = Xr(s) - Xa(s) = Xr(s) - *± • W(s) = ^i^^^JM (3.43) s s [Je s + a) Chapter 3. Current Sensor Design and Its Application in Tool Breakage Detection 36 This error signal go through the digital compensator and D/A converter, which has the continuous equivalent D(s) = Kp Kd a-±£ (3.44) where 1 — a 21 + (i a = V = Tl-a 2 1 + 6 Tl - b From Equation (3.43) and (3.44), we can have the velocity command which is sent to the power amplifier port, Ve{s) = D(s) • E(s) (3.45) Adjusted by gain Sg, the velocity command is compared with the velocity feedback. The error is given Vl(s) = Ve(3)Sg-HaT,W{s) (3.46) Vi(s) represents the desired current corresponding to the velocity command Vc(s). Com- paring with the current feedback signal, we can obtain the current error signal V2(s) = Kt Vi(a) - Ka Ia(s) (3.47) The current error signal is converted to a high voltage by Kv and applied to the motor armature terminal, Va(s) = Kv V2(s) - Kb W(s) (3.48) This voltage excites the current in the servo motor armature Chapter 3. Current Sensor Design and Its Application in Tool Breakage Detection 37 By substitutions, we can obtain /o(s) = ITsTK ( 3 5 0 ) i.e., (1 + T ^ V ) • /.W = ^ 4 • V<M - K"Kj\Ti+Kt • W(s) (3.51) La S + Ka La S + Ka La S + Ka Substituting Equation (3.45) and (3.41) into Equation (3.51) and rearranging it, we are able to obtain the transfer function relating to the armature current Ia and the cutting torque Tc, as well as position reference input Xr. 33s* + 32s* + fas la[S) = 7 ~ ~ AR(S) a 4 s 4 + a3s3 + a2s2 + axs + a 0 + 4 + » T M (3.52) a 4 s 4 + a3sJ + a2sl + ai3 + a 0 where 33 = J e K d S g K j K v K ' p fa = (Je a' + B)- K d Sg K i K v K'p fa = a' B Kd Sg KjKv Kp a 4 = La Je a 3 = Je {Ra + K v Ka) + B La + b' La Jc a2 = b' [Je{Ra + Kv Ka) + B La] +B (Ra + K v Ka) + Kt(Kb Kj Tg Hg) a x - b' [B (Ra + Kv Ka) +Kt(Kb Kj Tg Hg)} + Kd Ke K'p Kt Kv Kj Sg a 0 = Kd Ke Kt Sg Kj KV K'p a' 7 2 = Kb + KV Kj Tg Hg Chapter 3. Current Sensor Design and Its Application in Tool Breakage Detection 38 7i = b' • (Kb + Kv Kt Ta Hg) + Kd Ke Sg Kr Kv K'p 7o = Kd Ke Sg KtKv K'v a' The Equation (3.3) gives the current output for a given position reference Xr and a cutting torque Tc. 3.4 The Current Sensor Characteristics Analysis By using the model derived in the previous section, we are able to analyze and test the performance of current sensor. 3.4.1 Dynamic Analysis of Current Sensor Because the main task of the feed drive system is moving the machine table precisely, all parameters are tuned for that purpose. The performance index selected are those which give a fast, smooth velocity and position responses. Therefore, the other system state, such as motor armature current Ia, may not be well controlled. Unavoidably oscillations occur in transient response period. Although the current response can be mathematically related to the system inputs, (position reference Xr and cutting torque Tc), it is hardly possible to measure a system state and calculate its corresponding system inputs applied at that particular instant in real time. Hence, the transient period is neglected and the steady state response is used in the input function estimation. In Figure 3.15 and 3.16, the step responses of armature current Ia are demonstrated. The inputs are position reference A'r and cutting torque Tc respectively. It can be seen that the /„ settling time with input A'r is about 100 milliseconds, which is about the same as that of position response (see Fig. 2.11). This implies that the current response can be treated as a constant after 100 milliseconds. If this constant could be identified, the offset, which is certainly caused by another input T c, can be used to estimate the Chapter 3. Current Sensor Design and Its Application in Tool Breakage Detection 39 input function Tc. The settling of armature current / „ with the cutting torque input Tc is about twice as fast as that with input Xr, which can be observed from Figure 3.16. This tells us that the motor armature current can track the external disturbance torque, which in our case, is the cutting torque, very quickly. The dominant time delay comes from the position response. 3.4.2 Steady State Analysis of Current sensor In general, the milhng operations are carried out at a constant feeding velocity fc within one N C block, which corresponds to a ramp type position input, Xr(t), Xr(t) = fet with a Laplace transform of A-,W = £ When the metal cutting is not present, ( T c = 0), we can get the steady state motor current response to the position reference input Xr, IaAoo) = h m s • Ia{s) - hm s • — • - (3.53) where Iar stands for the motor current required only for moving the machine table. Substituting all parameters into Equation (3.53) gives J„(oo) = U • = ^ (354) a 0 A e K t It can be seen that the steady state current required to maintain the table moving at constant speed fe is determined by the friction on the guideway, the motor stiffness Kt, encoder resolution Ke and feedrate fe. For a practical C N C machine tool, the en- coder gain and motor stiffness are constant. However, the friction on the guideway is Chapter 3. Current Sensor Design and Its Application in Tool Breakage Detection 40 generally feedrate-dependent (see Fig. 2.5), and in some machine tools it is even position- dependent. This obviously makes it more difficult to predict the motor current consumed by just moving the machine table in real-time. It was observed in experiment that the friction coefficient B decreases as the feedrate increases (see Fig. 2.5). Meanwhile, we also find that the current required to move the machine table keeps almost constant, which is shown in Figure 3.17. Using a function to model the nonlinear dependence of friction coefficient B on the feeding velocity, it is found that this function has the form B = ^ (3.55) where Kc is a constant. The comparison of experimental and model (Eqn. 3.55) results given in Figure 3.18 shows that the Equation (3.55) adequately models the nonlinear dependence of friction coefficient B on the feeding velocity. This model certainly explains the experimental result shown in Figure 3.17 why the motor armature current remains constant in machining at different feedrates. It is concluded from the analysis that although the friction on the machine guideway is table speed dependent, the motor armature current required to move the machine table is approximately constant (If = 2.5 A) no matter how much the speed is. Thus, the dominent friction in the guideways is the Coulomb friction which produces Tf = Kflf — 0.75 Nm constant friction torque. This feature allows us to be able to identify the current to move the table for the particular machine only once. The identification is not required to do repeatedly for different cutting speeds so that the cutting torque estimation algorithm from motor armature current measurement would be easier to implement. For analysis of relationship between cutting torque Tc and motor armature current Ia, we set Xr(t) = 0 Chapter 3. Current Sensor Design and Its Application in Tool Breakage Detection 41 and the cutting torque changes stepwise, Tc(t) = Tc (Nm) or T Tc(s) = tl s The steady state motor current response to this input Tc can then be derived as, lac(oo) = Mm s • Iac(s) = lim 5 • — • - - (3.56) i.e., 7oc(oo) = Tc • 1± (3.57) where Iac stands for the motor current required only for overcoming the cutting torque. Substituting all parameters into Equation (3.57) gives = f r (3.58) In steady state cutting, a constant motor current Iar is required for moving the machine table at a constant feedrate. The resultant motor current can therefore be obtained /-(oo) = Jor(oo) + Jac(oo) (3.59) Rewriting Equation (3.59) Tc = Kt x [/O(oo) - /„,(oo)] (3.60) i.e.; K, Considering Equation (3.55), we can obtain Tc = Kt x [Ja(co) - 4̂ ] (3-61) Tc = Ktx [7a(oo) - ^] (3.62) Chapter 3. Current Sensor Design and Its Application in Tool Breakage Detection 42 For a particular machine, Kc/Ke is constant. So the cutting torque Te can be considered proportional to the motor armature current Ia. The Equation (3.62) gives the estimation of cutting torque in steady state machining through the motor armature current measurement. The magnitude of the motor armature current is determined by motor stiffness and the magnitude of cutting torque. After 50 milliseconds, which is the transient period of Ia response to T c, the cutting torque Tc can be calculated from the motor armature current measurement by Equation (3.62). 3.4.3 Sens i t iv i ty A n a l y s i s of C u r r e n t Sensor If we do not consider the influence of position reference input on the motor armature current, we can have motor armature current Ia in steady state T I = — ° Kt In our CNC system, Kt = 0.3 Nm/A. So Ia = 3.33 x Te (3.63) A unit change in cutting torque will be reflected about 3.33 times change in the motor armature current. If we want to increase the sensitivity of current sensor, we have to choose a motor which has a smaller motor constant Kt. Then, 1/Kt could be larger. Therefore, even a small change in cutting Tc would be clearly reflected in motor armature current. As a cutting torque sensor, it is more desirable for a DC servo motor to have a smaller motor constant Kt, which means softer motor serves better as a torque sensor. However, this is not useful in practice. As a feed drive unit we require DC servo having a stiff, or in other word, hard torque performance, which means a small current could offer a large torque, i.e., large Kt. Those two requirements obviously are contradictory. If we need a DC servo drive system serving as both a feed drive and a cutting torque sensor, Chapter 3. Current Sensor Design and Its Application in Tool Breakage Detection 43 we must consider both sides and find a balanced tradeoff, which not only gives a highly stiff motor, but also gives a motor which is sensitive enough to the external disturbance torque. 3.4.4 Bandwidth Analysis of Current Sensor A sensor must have a wide enough bandwidth so that the detected signal is able to pass through it. The bandwidth of current sensor developed previously can be analyzed by using Equation (3.3). Because what we are interested is the current (/„) frequency response in terms of cutting torque (Tc), the position reference input Xr is not to be considered in our bandwidth analysis, i.e., Xr{s) = 0 Setting s = jui, we can get Io.(ju) 72 (ju>)2 + 7i (JUJ) + 70 Tc(juj) a 4 (ju;)4 + a 3 (ju;)3 + ct2 (ju;)2 + a x (ju;) -+ a 0 Multiplying them out and rearranging them yields (7o - 72^ 2) + j Ii" (3.64) (3.65) Tc(ju) (ct0 - ot2u)2 + a 4 u ; 4 ) + j (a iu> - a3ui3) Based on Equation (3.65), the frequency response characteristics (both magnitude and phase) can be determined i -"-(jf) i _ r (T° _ 7 2 f 2 ) 2 + (7i^) 2 Tc(ju}) (a0 - a2cu2 + a 4a; 4) 2 + (a xa; - a 3 a; 3 ) 2 and ]»" (3.66) L-^r-r.—x = tan — tan I (3.6/) Figure 3.19 and 3.20 illustrate the frequency response of the current sensor. At the 3- db drop point, we can observe that the frequency is about 120 Hz, which is the bandwidth Chapter 3. Current Sensor Design and Its Application in Tool Breakage Detection 44 of our current sensor. This bandwidth is not only affected by the DC servo velocity loop, but also influenced by the digital filter parameters, i.e., Kp, digital filter zero a and pole b. The frequency response drops very sharply beyond the 3-db drop point, which is desirable. This quality allows the current sensor to eliminate the high frequency noise efficiently. Phase lag will unavoidably introduce some delay in the response. However, in real time application of current sensor, this delay is not critical for the machining process monitoring. But if the cutting force information is going to feed in a real time control algorithm, for example, cutting force adaptive control algorithm, the phase shift caused by the current sensor may not be negligible. 3.5 Application of Current Sensor in Tool Breakage Detection For safe and high-quality metal removal, the CNC system should be capable of monitoring machining process efficiently. Especially in the event of machine tool failures, corrective actions must be taken. One of the most important monitoring requirements is on-line tool breakage detection. Unless immediately recognized and corrected, the tool breakage may lead to irrepairable damage to the workpiece and possibly to the machine tool as well. Recent attempt to detect the tool breakage have been concentrated on development of sensors which monitor the cutting process indirectly (i.e., acoustic emission, vibration, sound intensity ), or the cutting force sensors (i.e., dynamometers, spindle current/torque sensors) [2],[32]. Most recently, Altintas and Yellowley [2] proposed that first and second differencing of a time-averaged resultant force was extremely effective in recognition of tool breakage in milling. This method required real-time force measurements. In this section, a tool breakage detection algorithm will be realized by using the servo motor Chapter 3. Current Sensor Design and Its Application in Tool Breakage Detection 45 armature current (J0) measurement instead of measuring the cutting force directly. The cutting forces are periodic with a fundamental frequency equal to the tooth passing frequency, therefore the average forces per tooth period remain constant during steady state milling. The motor armature current Ia has been proven to be able to track the feeding force accurately within the servo bandwidth. Hence, it can be expected that the average armature currents per tooth period remain constant during the steady state milling. If one of the inserts on the milling cutting cutter is broken, the amplitude balance of the forces is upset, so is the motor current. The insert which follows the damaged one will have a large load since it has to remove extra material left by the broken insert. This will be immediately reflected on armature current because more current is required during the next tooth period. The simulated instantaneous armature current and the feeding force are shown in Figure 3.21 for the case one insert is broken. In steady state milling, it is obvious that first order differencing of the average motor armature currents compares the cutting performances of the adjacent inserts, A/av (0 = Iav(t) ~ Iav(t ~ 1) (3.68) Theoretically, if no insert is broken, the adjacent inserts should remove the same amout of material, and the average cutting forces remains constant. However, if one insert is completely broken, the next insert has to cut twice as much material as the previous ones. This will increase the average armature current, hence, the difference of the current per tooth period (i.e.; AIav(t)) will be doubled. Normalizing the differences leads to the threshold value which can be used in tool breakage detection, A ' U t ) = JBW"(/-(1)" ^ ( 3 6 9 ) In practical applications, the normalized first order differences A'Iav(t) are compared with predicted run-out threshold in each tooth period. When a normalized difference Chapter 3. Current Sensor Design and Its Application in Tool Breakage Detection 46 is below preset threshold, it is assumed that the milling state is normal. If measured difference is larger than the currently set threshold, the tool breakage alarm should be activated. The tool breakage detection is well explained by Altintas et al [1], [2] in details. In practice, the current measurement may be noisy and feedrate-dependent. However, they do not affect the use of the algorithm because of averaging and differencing of the current signals at each tooth period. For application of the tool breakage detection algorithm, two milling tests have been carried out. In the first test, all four inserts were present on the cutter and in good condition. The second milling test was carried by removing one of the four teeth in order to simulate a total insert fracture. The two test data, which had identical cutting conditions, were assembled in the computer to illustrate the influence of tool fracture during cutting. (Note: Real, in-process tool fracture and chipping will have a similar pattern as shown in Reference [1]). The results of average resultant current and its differencing are illustrated in Figure 3.22 and 3.23 respectively. As we predicted before, in normal cutting (up to 200th tooth period), the average resultant current remains almost constant, which can be observed in Figure 3.22. During this period of machining, the differenced averaged resultant current is around zero, see Figure 3.23. A small offsets are due to the run-out of the tool inserts as well as the noise in the current measurement. When one insert is totally broken (starting at 201th tooth period), the average resultant current starts fluctuating with very large amplitudes immediately due to the presence of the missing insert. This is also reflected in the differenced averaged resultant current, see Figure 3.23. Tool breakage detection algorithm is continuously triggered at each tooth period. When the differenced current is below a predetermined run-out threshold limit, it is assumed that the milling state is normal. However, if the measured difference exceeds the predetermined run-out threshold limit, as is observed in Figure 3.23 starting from 201 th tooth period, it is presumed that the tool is broken. Since every CNC machine has Chapter 3. Current Sensor Design and Its Application in Tool Breakage Detection 47 feed drive motors, the motor current can be successfully used detecting tool breakages in milling. This may eliminate the necessity of using cutting forces which are not easy to measure in practice. 3.6 Some Future W o r k The force sensor design for machining operation is a inseparable part for the realization of an unmanned machine tool. A direct tool force dynamometer, which can instantly measure the cutting force, is desirable. However, an indirect measurement of cutting force may be an another promising alternative for real-time cutting force measurement. Current sensor discussed in this chapter is proven to be a satisfactory option in real- time cutting force measurement for the cutting process monitoring. In addition, utilizing other system measurable variables beside the motor armature current to estimate the cutting force in real time could come up with very satisfactory results if a stochastic input observer could be developed. This work will involve stability analysis of the input observer, dynamically fast and smooth tracking and the measurement noise minimization in some stochastically-optimum sense. For practical applications, this input observer should be able to deal with the variance of system parameters, such as equivalent inertia on motor shaft or friction on the guideway, and even be able to absorb some nonlinearity caused by the mechanical transmission elements. Its structure must be recursive and real-time computable. It is evident that a software-based observer will be less costly and affordable, and therefore commercially desirable, which is surely, an important power to push the wide application of an indirect cutting force sensor. Chapter 3. Current Sensor Design and Its Application in Tool Breakage Detect! on 48 0.4 THE [SECOND] Figure 3.12: Experimentally Measured Cutting Force in Feeding Direction 2! a. at -0 .5- TDOI [81C0ID] Figure 3.13: Feeding Force Estimation er 3. Current Sensor Design and Its Application in Tool Breakage Detects Chapter 3. Current Sensor Design and Its Application in Tool Breakage Detection 50 Figure 3.15: Ia-Xr Loop Step Input Response, Input XT — 1000 x kt (count) TIME[MS] Figure 3.16: Ia-Tc Loop Step Input Response, Input Tc = 1 (Nm) Chapter 3. Current Sensor Design and Its Application in Tool Breakage Detection 51 2 * H b Z 8 ft ft a o H ft a 5H • SIMTUTION +' EXPERIMENTAL H T i 1 1 r B 8 10 12 (Thoustnda) SPEED COKMAHD [COOITTS/SECORD] i — r 14 18 18 Figure 3.17: Steady State Armature Current Ia Investigation for Different Feedrates fc Figure 3.18: Experimental Verification of Friction Coefficient B-modelling, B = K~e/fc, Kc = 450.0 Chapter 3. Current Sensor Design and Its Application in Tool Breakage Detection 53 Figure 1 I I I I I I I I I I I I I I I I I T ~ 20 40 00 80 100 120 140 160 180 200 FREQUENCY [HZ] 3.19: Frequency Response of the Current Sensor : Magnitude FREQUENCY [HZ] Figure 3.20: Frequency Response of the Current Sensor : Phase Chapter 3. Current Sensor Design and Its Application in Tool Breakage Detection 54 Figure 3.21: Instantaneous Armature Current &; Feeding Force Chapter 3. Current Sensor Design and Its Application in Tool Breakage Detection H H « K 0 h t> 09 H Pi H I 5 0 - 800 TOOTH PERIOD 400 Figure 3.22: Average Resultant Current Ia(t) History Per Tooth Period JJLUJL -e -s o 800 TOOTH PERIOD 400 Figure 3.23: Differenced Average Resultant Current AIa(t) The influence of tool fracture on the average current signal. Cut- ting conditions: Workpiece A17075 alloy, axial depth of cut=3.81 mm, width of cut=25.4 mm, spindle speed= 714 rev/min, feedrate=0.4mm/tooth, Cut- ter: Double positive, 50.8mm diameter face milling cutter with 4 teeth. Chapter 4 Analysis of Contouring Errors Induced By Servo Dynamics 4.1 Introduction Computer Numerical Controlled (CNC) machines are widely used in industry, espe- cially for the precision machining of mechanical components. Aircraft components, stamping and injection moulding dies require precision machining with small tolerances (i.e.< 0.01mm). Precision instrumentation components, such as an aircraft laser based gyro housing, require machining accuracy in the order of microns. In this chapter the contouring errors induced by the dynamics of servo drives are analyzed. A machine tool is a complicated electromechanical system. Its accuracy is deter- mined by many components which construct the system. The feed drive servo system is one of these components which plays an important role in machining accuracy. The first comprehensive analysis of machining errors caused by feed drive servo systems was presented by Poo, Bollinger and Younkin [27]. Poo et al assumed second order dynamics for the feed drive servo which was considered as a Type-1 system. They analyzed the steady state contour machining errors and showed the significance of the gain mismatch- ing of two feed drive servos. Later, Koren proposed a cross-coupled biaxial controller to compensate the steady state contouring errors in machining [16]. The structure of the cross-coupled feed drive controller is illustrated in Figure 4.24. Though the coupled controllers have been designed and shown to be practical by means of experiment, the design of the controller has involved considerable trial-and-error. Stability of the system 56 Chapter 4. Analysis of Contouring Errors Induced By Servo Dynamics 57 is its main problem. This nature is actually the major limitation of cross-coupled con- trollers. Furthermore, improvements in the performance of cross-coupled controllers, as compared to uncoupled controllers, have been demonstrated largely by simulation. The unifying framework for the analysis and design of a coupled controller for multi-axis feed drive control was completed by Srinivasan [18,28] by using multivariable modern control theory. Recently Kulkarni and Srinivasan proposed optimal contouring control for dual axis feed drive systems [19]. They applied modern optimal control theory in the cross- coupled controller design. However, a complicated algorithm and the requirement of a large amount of on-line computation makes it very difficult to implement. Another dis- advantage is that the optimal controller is not able to accommodate parameter variances (even slightly) in the feed drive system, which always exist in practice. Most of the preceding researchers have treated the velocity servo as a first order system except Doraiswami et al [11] who included the electrical dynamics of the servo motor in the controller. Instead of designing a cross-coupled controller for better contouring performance, Doraiswami et al tried to minimize the steady state errors in each axis in order to improve contouring accuracy. It can be seen that many strategies have been proposed and considerable research has been done by previous researchers to improve the contouring accuracy. There are two fundamental sources in the feed drive control system which influence the contouring accuracy. In order to contour a desired tool path trajectory, the dynamics of each positioning axis must be matched. However, due to variances in the feed drive parameters, such as the equivalent inertias reflected onto motor shafts and friction in the guideways, each drive system may have different dynamics. Even if the axes are matched perfectly, contouring errors will still exist during the machining of sharp geometric pro- files due to the velocity lag produced by the fourth order dynamics of the feed drive controller. The second source of contouring error is caused by the cutting forces which Chapter 4. Analysis of Contouring Errors Induced By Servo Dynamics 58 are transmitted to the feed drive controller as a disturbance torque, which takes away some of the useful torque provided by the DC servo motor, thus affecting the positioning accuracy of contouring. In this chapter, the analysis of multi-axis contouring errors in CNC machine tools which are due to the performance of the feed drive positioning control servos is addressed. A completely modelled feed drive position control system (Eqn.2.22), which consists of a continuous block (i.e., feed drive assembly, dc servo motor, amplifier, velocity feedback sensor and an up-down counter) and a discrete block (a lead-lag digital compensator), will be used in contouring error analysis. A simulation program, which is based upon the fourth order model presented in the second chapter, is developed. Each axis on the machine tool is assumed to have identical feed drive configurations, see Figure 4.25. (But the parameters of different feed drives are not necessarily the same.) The contouring errors are analyzed and simulated for practical ranges of operating conditions of a machine tool. The steady state contouring errors are determined analytically from the transfer function of the feed drive controller. Contouring of three transient workpiece profiles, a square corner, a diamond and an arc, are presented. The analysis and simulation tests have been carried out using the parameters of a vertical milling machine whose controller was designed at in house. Some practical strategies for the improvement of machining accuracy are studied. 4.2 Investigation of Contouring Errors Caused by Feed Drive Servo Dynam- ics It is known that machining errors mainly originate from variations in the dynamics of individual axes [35]. The cutting forces also affect machining precision, especially if a machine has a low gear reduction, or high feedrate and large depth of cut are used in Chapter 4. Analysis of Contouring Errors Induced By Servo Dynamics 59 machining. In such cases, the influence of cutting forces will substantially increase so that it can not be neglected in contour error analysis. 4.2.1 Steady State Contouring Error Analysis Based on the transfer function derived in Chapter two, (Eqn. (2.17)) the open-loop Laplace transfer functions of the x-axis and y-axis feed drives can be written as, where K{x, Kiy are determined by the x-axis and y-axis feed drive dynamics respectively. (For clarity, the subscript x and y are used to distinguish x-axis and y-axis parameters). Here, we assume that both axes have the same encoder gains and two digital compensa- tion filters have the same parameters. The digital compensators have been replaced by their analogue equivalents. The position error is defined as the difference between the position reference and the actual table position which is measured by the encoder, ex(s) = XTX(s) - Xax(s) ey(s) = Xry(s) - Xay(s) i.e., «•<*> = r f ^ w ( 4 ' 7 3 ) S u b s t i t u t i n g E q u a t i o n s (4.70) a n d (4.71) i n to E q u a t i o n s (4.72) and (4.73) respect ive ly , - < • > = ^ + K K Z + K 3 , • T • *> K< J T £ + 1 1 - 1 • * » < • > < 4 7 4 » Chapter 4. Analysis of Contouring Errors Induced By Servo Dynamics 60 e<̂ ) = i n r F ^ n r • -* ' K ' K d T T £ + • * - ( 5 ) ( 4 J 5 ) S£ + K2y S + ft3y 3 * S + U Applying the final-value theorem to Equation (4.74) and (4.75), we find the steady state errors (i.e. following errors) of two axes, e»<°°> = £3' W + • T • K> K< 7 T * + 1 ] " • * • « <4 J 6> As we can see, the steady state following errors e,x and e,y are functions of position reference inputs Xrx and Xry and the servo parameters. After the following errors of both axes are determined, we are able to calculate the steady state contouring error of tow-axis machining. Figure 4.26 illustrates the following errors of two axes (e4X and e,y) and the contour error e,e. From the geometric calculation, the deviation from the desired tool path, which is defined as the contouring error, is given by e,c(oo) = e,y(oo) • cos(d) - e,x(oo) • sin($) i.e., e,c(oc) = f ™ ' e " ( 0 0 ) " ^ ' e " ( 0 0 ) (4.78) where fc is the feeding velocity, and fcx = fc cos(B) fey = fc sin(6) 8 is the angle between the desired contour and the x-axis. fcx and fcy are the x-axis and y-axis components of feedrate fc. From Equation (4.78), the steady state contouring Chapter 4. Analysis of Contouring Errors Induced By Servo Dynamics 61 error for constant feedrate machining can be evaluated. Case 1) Ramp Type Position Command Most machining operations are carried out at a constant feedrate fc. The position commands for two axes are, XTX{t) = fcx-t (4.79) Xry{t) = fcy-t (4.80) where fcx, fxy are the x-axis and y-axis feedrates respectively. The Laplace transforms of the reference position commands are Xrx(s) = f-f (4.81) 3 A ' - » = 7T ( 4 8 2 ) Substituting Equations (4.81) and (4.82) into (4.76) and (4.77) yields, •-<»> = £5' + KZ + * - • T • * *' £ p + ^ <483> i.e., • -<»> = \ < <4-86> Knowing the steady state position error of the individual axes, we can calculate the steady state contouring error of two-axis machining for Equation (4.78), / \ fcx fey b t^3y ^ 3 i i Q _ s E"M=^K.KLK.O'-IKZ-KJ ( 4 8 7 ) Chapter 4. Analysis of Contouring Errors Induced By Servo Dynamics 62 Referring back to the Chapter two, we can find the expressions of KXx, KXy and K3x, K3y. They are determined by the parameters of each feed drive. If the two axes dynamics are perfectly matched, we have K K = 0 (4.88) 3y K3x Kly Ku Therefore e,c(oo) = 0 (4.89) If the two axes dynamics are not perfectly matched, K3y K3x ^ 0 (4.90) KXy Ku thus, the contouring error is unavoidable. Considering the relation between fcx, and fc, we can obtain the contouring error by Equation 4.87 e « ( » ) = — ^ K , ^ a , • [— - —] (4.91) It is evident that the contouring error mainly comes from the mismatching of two axes. Cutting speed fc and the angle between the desired contour and the x-axis also have substantial influence on contouring accuracy if dynamics of the two axes are mismatched. If 6 = 90 deg or 9 — Odeg, which means that the machining contour is parallel to one of the axes, then, there is no contouring error in constant feedrate cutting even if the dynamics of two axes are mismatched. This is because only one feed drive is active during the cutting. Otherwise, contouring error will always occur. Case 2) Parabolic Position Command A typical velocity command to a position control system is shown in Figure 4.27. In the startup period of the feed drive an acceleration command is given to the servos until the velocity reaches its steady state feedrate, since the desired speed can not be Chapter 4. Analysis of Contouring Errors Induced By Servo Dynamics 63 achieved instantly. Practically, acceleration and deceleration periods are determined by the settling time of the servos, and are typical ly wi thin 100 ms for medium size machines. Thus during acceleration and deceleration periods, the position commands are parabolic wi th t ime, Xrx{t) = \ A x t 2 (4.92) Xry{t) = \ A y t2 (4.93) Accelerations (Ax, Ay) i n the x and y axes are obtained from the acceleration command ( A ) along the linear path Ax = A cos(6) Ay = A sin(8) where 0 is the angle between the desired contour and x axis. The Laplace domain transfer functions of the position commands are Xrx(s) = ^ (4.94) 3 Xry(3) = £ (4.95) Using the final value theorem, the steady state position following errors can be found It can be seen that the steady state error of an individual axis goes to infinity with time at a position ramp input unless the digital filter parameter b' is forced to be zero (i.e.: b equal to -1). In that case, the digital compensator actually includes an integrator which makes the feed drive a Type-2 system, so that it can follow ramp velocity changes. In practice, the ramp velocity command is employed only i n a very short period of time Chapter 4. Analysis of Contouring Errors Induced By Servo Dynamics 64 during machining. Thus it has negligible effect on the overall contouring accuracy. When the desired feedrate is reached, the velocity commands are kept constant, or the position commands become ramp type signals as explained in Case 1. 4.2.2 The Influence of Cutting Forces on Contouring Accuracy The feeding forces are transmitted to the DC motor shaft via leadscrew and torque re- duction gear pairs as disturbance torques, which affect the machining precision. The reflected disturbance cutting torque Tc on the motor shaft can be calculated by Equa- tion 3.34. For a practical maximum feeding force of Fe = 2000 N for the size of the research milling machine, the maximum disturbance torque reflected on the motor will be T c = 1.8 Nm. From the block diagram shown in Figure 2.6, one can find the transfer function which relates the cutting torque Tc to the machine table position Xa. *.(-) = W + ms + no K ' a4a4 + a3s3 + a2s2 + a l S + ct0 cV ' v ; where 7/2 - Ke La V l = Ke (Ra + KvKa + La b') n0 = b' Ke (Ra + Kv Ka) OL4 - La Je a 3 = Je(Ra + KvKa) + BLa + b'LaJe a 2 = V [Je{Ra + Kv Ka) + B La] +B (Ra + Kv Ka) + Kt(Kb Kr Tg Hg) at = b' [B (Ra + Kv Ka) +Kt{Kb KT Tg Hg)} + Kd Ke K'p Kt Kv Kt Sg cto — Kd Ke Kt Sg Ki KV K'p a' Chapter 4. Analysis of Contouring Errors Induced By Servo Dynamics 65 If a step cutting torque is applied to the motor shaft, Tc(s) = ^ (4.99) s The steady state position error caused by the cutting torque can be calculated using final value theorem, e.(oo) = lima Xa{s) (4.100) Substituting Equation 4.98 and 4.99 into Equation 4.100 yields , \ ,. V292 + ^3 + ?7o Tc TCT]0 eJoo) = lim —s - • — = «—0 a 4a 4 + a3s3 + a2s2 + a1s + a0 s a 0 Using the parametric expressions of 770 and a0 in the above equation, the magnitude of e4(oo) can be derived, Tc V (R. + Kv K«) e ' ( 0 0 ) = Kd K, S. K, K. Kl a' ( 4 1 0 1 » Substitution of the research machine servo parameters (see Appendix) into Equation (4.101) yields e, - 7.2516 Te counts/Nm (0.0092 mm/Nm Te) (4.102) Considering the relationship between the cutting force and the cutting torque, we have e, = 0.0092 x 0.945 x 10 -3 • Fc mm/N = 0.869 x 10-5 • Fc mm/N (4.103) It can be seen that the influence of cutting force on the position accuracy is not substantial for normal machining precision. In the following precision machining analysis, it will be neglected. 4.3 Simulation of Contouring Errors In Multi-axis Machining A standard test workpiece geometry is generally used for the evaluation of machining accuracy of CNC milling machines in industry. The workpiece contains profiles of a Chapter 4. Analysis of Contouring Errors Induced By Servo Dynamics 66 square, a diamond and a circle [35], as are shown in Figure 4.28. The dimensional errors on the workpiece in the x, y, and z directions are determined by comparing the actual and machined workpiece dimensions. It must be pointed out that in this study, only the contouring errors produced by the dynamics of the servo feed drives are considered (i.e., the position difference between the commanded table position and actual table position, see Figure 4.29). The geometric inaccuracies caused by the static and dynamic deformations of machine tools are not considered here, although they are present during machining. The following simulations have been carried out using the state space model developed in Chapter 2 (see Eqn. 2.31). 4.3.1 Contouring With Perfectly Matched Axial Dynamics Dynamics of two feed drive servos are tuned to be identical or matched. The velocity profiles for a square and diamond configuration machining are given in Figure 4.30 and 4.31. The square cornering error produced due to stoppage of one axis and start-up of the other is shown in Figure 4.32. Due to the feed drive response delay, the table is unable to reach the desired position in x-axis direction. It keeps moving in this direction until the position error decreases to zero. However, the y-axis is commanded to move before the x-axis completely stops. Therefore, contouring error is produced at the corner. For a constant feeding velocity of / c = 20 mm/sec, a maximum contouring error observed is approximately 0.245 mm at the corner. Obviously, this contouring error is dependent on the axial following error of each feed drive. If the feeding velocity is increased, the contouring error will also increase. Similar contouring error occurs in the diamond profile machining, which is shown in Figure 4.34. The contouring error observed is about 0.234 mm. Here, the table move- ment in y-axis direction is reversed at the corner, however the feedrate in x-axis is kept unchanged. It was proposed in Reference [19] that the sharp corners could be contoured Chapter 4. Analysis of Contouring Errors Induced By Servo Dynamics 67 at a constant feedrate for high productivity machining. This is difficult to achieve at a high feeding velocity since the axial following error will be directly proportional to the feed value. The large following error and the contouring error result in for a high feeding velocity. A circular path is produced by superimposing sinusoidal and cosinusoidal motions along two perpendicular axes. The position commands sent to x-axis and y-axis feed drives are x(kT) = Rsin(u-kT) (4.104) y(kT) = Rcos(u-kT) (4.105) where R is the radius of the circle to be contoured, T = 0.001 sec is the sampling period, and k is the sampling counter. The angular velocity of contouring is calculated from the feeding velocity command and the radius of the circle (i.e., ui — fc/R). A contouring error simulation is shown in Figure 4.36. It is known that in circular contouring the feeding velocity changes continuously Therefore there is no steady state contouring error. The contouring error at different points of the circle is different. In Figure 4.36, only one arc of the circle is plotted. During contouring, the y-axis velocity increases to its maximum value and then decreases. The x-axis velocity drops to zero and then changes its direction. Because the contour is relatively smooth and velocities of both axes change continuously, the contouring error, which is about 0.044 mm, is much smaller than those in the square and diamond contouring. 4.3.2 Contouring With Mismatched Axial Dynamics In a practical CNC machine, each feed drive m a y have s l igh t l y di f ferent pa ramete rs . The amplifier gains and tachogenerator gain can be adjusted to achieve a satisfactory transient response. It is reasonable to assume that the settings of the amplifiers and Chapter 4. Analysis of Contouring Errors Induced By Servo Dynamics 68 motor constants remain unchanged during operation. However, friction coefficients on the guideways of machine tools are feedrate dependent, and in some guideways, they are even position dependent. For the simulation analysis of mismatched dynamics, friction coefficients Bx = 0.09 Nm/(rad/sec) and By = 0.3 Nm/(rad/sec) are assumed for the x and y feed drives respectively. The values of the friction coefficients were obtained from experimental measurements carried out on the research milling machine in UBC CNC Laboratory, see Figure 2.5. The use of different friction coefficients on both drives represents axial mismatch in contouring operations. For a feeding velocity of fx = fy = 20 mm/sec (approximately 15748 counts/sec) the steady state following errors of both axes can be found from Equation (4.85) and (4.86). e,x = 0.2789 mm e,y = 0.3267 mm The contouring errors, resulting from mismatched friction coefficients, are illustrated in Figures 4.33, 4.35 and 4.37 for square, diamond and circular profile machining. The contouring error in square cornering increases to 0.271 mm which is about 11% percent larger than that of contouring with the matched dynamics. In diamond contouring, the cornering error increases to 0.294 mm, which is about 26% larger. For a diamond profile machining, the velocity profile requires the coordination of both axes, as shown in Figure 4.31. If two axes have mismatched dynamics, the contouring error will occur not only in cornering, but also in linear contouring. There is a contour- ing error of 0.034 mm observed along the linear profile due to different following error amplitudes in each axis, see Figure 4.35. It is rather difficult to compensate contouring errors produced by the mismatched dynamics with the current structure of a controller. One proposal would be to add an integral action in the digital filter. The integrator will push the axial steady state Chapter 4. Analysis of Contouring Errors Induced By Servo Dynamics 69 following error to zero, therefore, eliminating the contouring error along the linear profile. The viability of employing an integrator in the control of feed drive servos is given in section 4.4.2. 4.4 Strategies for Improvement of Contouring Accuracy 4.4.1 Simulation of Contouring by Including Acceleration and Deceleration Periods In previous sections a ramp type position command was employed in contour machining analysis. This ramp type position command requires a step velocity change in the feed drive control system, which is, practically unrealizable. Although the velocity command can change instantly, the table can not reach at a desired velocity instantly. It needs time for the machine table to accelerate. This time period depends on the kind of feed drive used and the table-assembly. The velocity commands have parabolic profiles during transient acceleration and deceleration periods, as shown in Figure 4.38 and 4.39, for the cases of contouring square and diamond profiles. In this section, the parabolic feedrate profile is used in the contour machining anal- ysis. The other conditions remain unchanged from the previous work. Because the step change in the velocity command is replaced by a ramp-constant-ramp velocity change, the position reference command becomes an acceleration-ramp-deceleration type input. The simulation results are given in Figures 4.40 through 4.43. From the simulations it can be seen that the contouring errors at the sharp geometric corners have been greatly reduced. The cost is that more machining time is spent. The contouring error during linear contour machining still exists. Chapter 4. Analysis of Contouring Errors Induced By Servo Dynamics 70 4.4.2 The Use of Integral Action in the Feed Drive Control Loops Contour machining errors caused by feed drive control system can be divided into two types. One is caused by mismatched dynamics of different axes and the other is caused by response delay of individual axes. Since 1972 some research has already been done in controller design in order to decrease the steady state contouring errors caused by axial dynamical mismatching in multi-axis machining. Most of this work was based on the Type-1 contouring system, which assumes the feed drive control system has the following transfer function, * M - * (4.106) Vc(s) s (r s + 1) where A'0(-): position output. Vc(s): velocity command input. K: open loop gain, r: time constant. Conventional control theory tells us that the Type-1 system has a non-zero steady state following error for a ramp type input. However if we employ a Type-2 system as the feed drive control system, there will not be a steady state following error. Therefore, the mismatching of individual dynamics will not produce a contouring error in linear contouring. However, the modified dynamics may cause additional contouring errors in sharp geometry machining. When the integrator, which is provided in the DMC-230 motion controller, is imple- mented in the feed drive controller, the mathematical expression for the compensator can be rewritten as D(s) = Kd.[K'p9±^ + C^-} (4.107) 3 + 0 3 Chapter 4. Analysis of Contouring Errors Induced By Servo Dynamics 71 where C/ is the integration gain. Definitions of the other parameters can be found in Chapter 3. Based on the step response analysis of the total position loop, the gain Cj is chosen to be 0.5, which gives a satisfactory position step response with 5.6% overshoot and 260 ms settling time. The diamond contouring is simulated again by implementing the integration actions in both the x-axis and y-axis feed drive controllers. Two different friction coefficients Bx = 0.09 Nm/(rad/sec) and By — 0.3 Nm/(rad/sec) are assumed for the x-axis and y-axis feed drives. Simulation results are illustrated in Figure 4.44. It can be observed that the contouring error is eliminated during steady state linear contouring. However, the overshoots cause about 0.430 mm cornering error in the transient after the machining command changes, which is not desired. Obviously the feed drive control system becomes more sluggish due to the implementation of the integration action. To avoid using the sluggish controller in sharp geometry machining, a new strategy is employed. The integrator is connected to the feed drive controller only during linear contouring. In sharp geometry machining, the integration is switched off. Based on this strategy, diamond cornering is simulated. Results are shown in Figure 4.45. The integrator is active in the digital compensator until the cutting tool arrives at point Px. Before that point, there is no contouring error although the two axial dynamics are not perfectly matched. If there is no integration action, the error in linear contouring is unavoidable (see Figure 4.35). However, when the integrator is switched back in the compensator after cornering, a contouring error appears, which is 0.544 mm. This error is dependent on the integration gain C[. The larger C\ produces a larger contouring error, which is not desired. However, smaller C/ makes the feed drive control system more sluggish, which is not desired either. Hence, care must be taken in controller design for satisfactory system performance. Chapter 4. Analysis of Contouring Errors Induced By Servo Dynamics 72 As shown before, the integration compensation will generally slow down system re- sponse and cause oscillations in the transient period. Hence, when machining a sharp geo- metric configuration, the contouring error may increase. Not only affecting the cornering precision, the oscillations also cause contour errors in the subsequent linear contouring. This is an undesired feature which is associated with integration compensation. One possible solution to this problem may be to redesign the digital compensator. Although the cornering precision may possibly be improved, the cornering error is not capable of being eliminated completely. 4.4.3 Application of Cubic Curve-fitting Method Hardware design is one way to improve contour machining accuracy. Software may be another effective alternative. In this section, cubic curve-fitting is employed in the machining command generation. Cubic curve-fitting is a method of approximation, which gives a group of spline func- tions to approximate a curve smoothly. Here, the smoothness means the spline functions may be continuous with adjacent segments at segment boundaries up to the 3rd order derivative. Each spline can be expressed by a third-order polynomial. Because third order polynomials can be used to generate complex command sequences in real-time and are easily stored in computer memory, they may become an applicable method of command generation for machining process control. For details of a cubic curve-fitting algorithm, one is referred to Bollinger and Duffle [6]. Consider the profile, shown in Figure 4.46. The profile is divided into n segments. The position command for the ith. segment machining can be expressed r(t) = Ai b(t) (4.108) In two dimensional machining, r(t) is a 2-vector and is a function of time t. The vector Chapter 4. Analysis of Contouring Errors Induced By Servo Dynamics 73 represents the x-axis and y-axis position commands, X„(t) r(f) = Xry(t) b(t) is the time vector, b(t) = t3 e t i (4.109) (4.110) and A,- is the ith spline coefficient matrix which is valid for < t < U. It can be determined by the desired position and velocity conditions at the end points of the tth segment. The 1st and 2nd order derivatives of r(t) along the tth segment are i(t) = Ai b(t) f(t) = Ai b(t) w here r(t) = r (0 = ' Xrx(t) ' . Xry(t) . . fcy{t) . ' X„(t) ' ' Ax(t) ' and b(*) = b(0 = U2 2t 1 0 6t 2 0 0 (4.111) (4.112) (4.113) (4.114) (4.115) (4.116) r(t) and r(t) are the velocity and acceleration vectors respectively. According to the desired end point position r(t) and the velocity r(t) at time ti_j and ti, Equations 4.108 and 4.111 can be combined as follows Ri{t) = Ai Bi(t) (4.117) Chapter 4. Analysis of Contouring Errors Induced By Servo Dynamics 74 where and -(*<_!) *(«,-_!) r(ti) i(ti) (4.118) (4.119) b(<i_i) biti.r) b{t{) b(ti) R j is defined as a boundary condition vector of the ith segment of the contour and B ; is defined as a time vector. Solving Equation (4.117) for the coefficient matrix Ai yields A ; = Rj Br 1 (4.120) The position command for the ith segment can then be generated by Equation 4.108 by varying the time from to To facilitate computer implementation of the cubic spline method, a normalized time variable 3i is introduced to simplify calculation of the coefficient matrices and generation of the commands. Si varies from 0 to 1 as t varies from to ti on the ith segment of the contour. For £j_ i < t < ti, t is related to Si by t = U-x + (U - t i_ i ) Si (4.121) or Si = t ~ k-x ti - ti_x Equation (4.108) and (4.111) can now be rewritten as v*{si) = A ; b*(3i) r'(si) = A- b"(si) where A* is the new coefficient matrix and (4.122) (4.123) (4.124) b'(Si) = st *? st 1 (4.125) Chapter 4. Analysis of Contouring Errors Induced By Servo Dynamics 75 b*(«) = 3s? 23i 1 0 (4.126) Boundary conditions at the end points of the ith segment of the contour can then be rewritten as follows, r*(0) = r ^ ) dt r*(0) = r(^_1) r-(l) = r(«0 dsi dt/dsi can be calculated by differentiating Equation (4.121), dt ds{ = U- U-x = AU (4.127) (4.128) (4.129) (4.130) (4.131) which is the time interval required for machining the ith segment of the contour. The coefficient matrix A.* can now be calculated as follows: A: = R* B* 1 (4.132) where anc B*- 1 = '(-0 '(-Oft b-(0) b*(0)^ b-(l) b"*(l)^ It is important to note that B* 1 is a constant matrix, - l B*- 1 0 0 1 3 0 0 1 2 0 1 1 1 1 0 1 0 2 - 3 0 1 1 - 2 1 0 - 2 3 0 0 1 - 1 0 0 (4.133) (4.134) (4.135) Chapter 4. Analysis of Contouring Errors Induced By Servo Dynamics 76 Actually is an advantage to introduce in the normalized time variable s<. The position command on the ith segment at time t can then be calculated by using Equations (4.122), and (4.123) and (4.125). Considering the feed drive control system for our CNC machine which has a sampling period T of 0.001 sec, it is desirable to issue a new command every 0.001 sec. Using Equation (4.131), we can find the increment Asi that corresponds to the sampling period It can be seen that the increment Asi is determined by the sampling period T and the time interval Ati for machining the tth segment of the contour. Ati can be calculated from the desired machining speed for the tth segment, AU = - p - i 4.137 If the x-axis feed drive moves at 20.0 (mm/sec) in diamond cornering, the machining time for the segment would be At = ^ - = 0.1 (sec) (4.138) Ix where Ax is the x-axis component for which the spline function is applied. During this period of time, the y-axis feed drive decelerates to stop and afterwards accelerates in the opposite direction to 20 mm/sec. Besides that, the feed drive control system has velocity and acceleration limits, i.e., the Ati must satisfy x(t) < fmax (4.139) y(t) < fmax (4.140) Chapter 4. Analysis of Contouring Errors Induced By Servo Dynamics 77 and x{t) < A, •max (4.141) m < A •max (4.142) where fmax'- maximum machine table velocity. A max : maximum machine table acceleration. During linear contouring, linear interpolation is obviously the most efficient way of machining. At corners of a diamond profile, to avoid sharp geometric transients, cubic spline functions are employed. The spline fit for a corner gives a smooth connection between the two lines which construct the corner. The smooth connection is referred to the continuous change of the contour and to the continuous change of the velocity. The remaining part of this section is dedicated to the simulation study of cubic spline in command generation for diamond cornering. Case 1: Application of One-segment Spline in Diamond Cornering Figure 4.47 illustrates the one-segment spline function approximation of a diamond corner. Pt and P/ are the start point and end point respectively, P,\ (x0 - Ax,y 0 - Ay) Pf. (x„ +Ax,y 0 -Ay) In our case, Ax and Ay are 1.0 mm, and A'0 = 150.0 mm, and Y0 = 150.0 mm. During the linear contouring of the diamond, the x-axis velocity is 20.0 mm/sec on both sides of the corner, and the y-axis velocity is 20.0 mm/sec on one side and -20.0 mm/sec on the other side. So, the velocities at end points of the segment are Chapter 4. Analysis of Contouring Errors Induced By Servo Dynamics 78 fx(t0) = 20.0 (mm/sec), fy(t0) = 20.0 (mm/sec) fz{h) = 20.0 (mm/sec), fy(tx) = -20.0 (mm/sec) Based on end point position coordinates and the velocities, the boundary condition can be determined f 149.0 2.0 151.0 2.0 149.0 2.0 149.0 -2.0 The coefficient matrix AJ can then be calculated through RJ (4.143) AJ = RJ B* 1 = 0.0 0.0 2.0 149.0 0.0 -2.0 2.0 149.0 (4.144) Therefore, the polynomials used for generating the position command in the normalized variable Si can be obtained r - ( * i ) 2st + 149 -2s\ + 2^ + 149 (4.145) Sending the position command into the feed drive control system, we are able to find the the position profiles of diamond cornering, see Figure 4.49. It can be seen that the generated position command is not able to duplicate the ideal position path and the responded position can only follow the commanded position with some tracking error. Therefore the contouring error still exists in diamond cornering (about 0.585 mm) although the sharp geometry has been smoothed out. The velocity profiles are shown in Figure 4.51. The x-axis cutting speed along the corner contour is 20 mm/sec. It is known that in cornering, the x-axis feed drive actually does not decelerate. It moves at the linear contouring speed. The y-axis cutting speed decreases linearly from 20 mm/sec to stop, and then accelerates again to 20 mm/sec in the opposite direction, which is quite smooth. Smooth velocity change would give a better surface quality. Chapter 4. Analysis of Contouring Errors Induced By Servo Dynamics 79 Feeding velocity is another important variable in machining process monitoring beside the contour precision. Feeding velocity is expected to be constant, even in cornering, because this gives a smoother and more polished workpiece surface. Oscillations of the feeding velocity may have some undesired effects on the surface of the workpiece whose accuracy is our ultimate goal. This is a difficult task which needs implementation of more complicated interpolation algorithm in cornering. Case 2: Application of Two-segment Spline in Diamond Cornering Figure 4.48 shows a two-segment spline fit for the diamond corner. The boundary conditions at the end points of two segments are selected as follows, P.: (x0 - Ax,y 0 - Ay) fx(tx) = 20.0 (mm/sec), /„ = 20.0 (mm/sec) Pm:(xo,yo-0.01 x Ay) fx = 20.0 (mm/sec), /„ = 0.0 (mm/sec) P{: (x0 + Ax,y 0 - Ay) fx - 20.0 (mm/sec), fy = -20.0 (mm/sec) where Pt and Pj are the start point and end point, and Pm is the midpoint. Ax and Ay are again 1.0 mm. At\ — At2 = 0.05 sec are used. Based on end point position coordinates and the velocities given above, the boundary conditions for two-segment spline can be determined 149.0 1.0 150.0 1.0 (4.146) 149.0 1.0 149.0 0.0 and 150.0 1.0 151.0 1.0 (4.147) 149.0 0.0 149.0 -1.0 Chapter 4. Analysis of Contouring Errors Induced By Servo Dynamics 80 The coefficient matrix AJ and Aj can then be calculated AJ = RJ B * 1 = 0.0 0.0 1.0 149.0 0.98 0.97 1.0 149.0 (4.148) and R ; B * 1 = (4.149) 0.0 0.0 1.0 150.0 0.98 -1.97 0.0 149.0 The polynomials used for generating the position command in the normalized variable S{ are Xrx(si) 5 X + 149 (4.150) = Xryisx) -0.98s3 + 0.97s2 + -! + 149 r*(s2) = ' Xrx{s2) Xry(s2) (4.151) s2 + 150 0.98s3 - 1.97s2 + 149.99 Position profiles given in Figure 4.50 show that the contouring error at the corner becomes smaller than that of the one-segment spline approximation. However, the actual cutting path goes beyond the desired path, which leaves some material uncut on the workpiece. This is because the y-axis cutting speed is larger than the x-axis cutting speed during the starting and end periods of spline function interpolations, which can be seen in Figure 4.52. If the y-axis cutting speed is smaller than the x-axis cutting speed, as in the one-segment spline function approximation in Figure 4.51, the actual cutting path stays within the desired path in cornering. In this case, overcut will always occur. As long as the cutting speeds of the two axes are not the same, contouring errors at the corner are unavoidable. Generally speaking, more segment splines offer higher precision for the command generation. However, more segments take up more computer memory and require more real-time computation, which would slow down the machining process. In selection of the Chapter 4. Analysis of Contouring Errors Induced By Servo Dynamics 81 segment number, all factors, such as machining speed and precision, should be considered comprehensively. For comparison, the contour errors in diamond cornering are listed in table 4.1 for different strategies, Table 4.1: Contour Error at Diamond Cornering Names of Strategy Contour Errors (mm) Linear contouring (matched axial dynamics) 0.234 Linear contouring (mismatched axial dynamics) 0.294 Accel &: Decel periods Included (matched axial dynamics) 0.028 Accel & Decel periods Included (mismatched axial dynamics) 0.043 Integral Action Included (mismatched axial dynamics) 0.430 One-segment Spline (matched axial dynamics) 0.585 Two-segment Spline (matched axial dynamics) 0.159 The diamond profile machining needs coordination of two axial dynamics. If two axial dynamics are mismatched, the linear contouring error is unavoidable unless integral action is employed in both axes. All other methods are used to minimize the contouring error at the diamond corner. They are not effective in removing the contouring error caused by mismatched axial dynamics. The results in Table 4.1 indicate that including the acceleration and deceleration periods in sharp corner machining is the best way to minimize the cornering error at the cost of increased machining time. It can be argued that it is infeasible to stop and start axes during machining where the profile contains many linear segments. In such cases, such as sculptured surface machining of aircraft parts, the path and velocities can be smoothed to avoid interrupted tool motion and to increase the productivity as shown in this chapter. Chapter 4. Analysis of Contouring Errors Induced By Servo Dynamics 82 4.5 Conclusions Through the contouring error study in this chapter, it can be concluded that mismatched axial dynamics and the response lag induced by the feed drive control system are the main sources of contouring error. Although some strategies are available for minimization of the contouring error, none of them is effective in both linear contouring and corner contouring. Contour error in linear contouring is induced by mismatched axial dynamics. However, the contour error in cornering is mainly due to the response lag of the feed drive control system. If a new interpolation algorithm could be developed for the sharp geometry contouring, and a controller which could accommodate parameter variances in the servo system could be designed, higher machining precision could be achieved. Chapter 4. Analysis of Contouring Errors Induced By Servo Dynamics 83 8 Tcx<t> Xr(-t) c O +> d e O JC a -p L s_ CD o • P O) C i—i u z: o Xrx(t) D x ( z ) G x v ( s ) G'xCs) J Xa Ya Figure 4.25: Block Diagram of a Two-axis Contouring System a I- CO O 9 o a a. a o- £ o H Co CL a o n> Q. td CO n < o «3 "g a h«. n CO rf- Chapter 4. Analysis of Contouring Errors Induced By Servo Dynamics 85 Figure 4.26: Contour Error Calculation From Axial Following Errors Chapter 4. Analysis of Contouring Errors Induced By Servo Dynamics 86 u m n \ * S u 0 fc CONSTANT FEED VELOCITY PROFILE ACCELERATION DECELERATION TIME [SECOND] Figure 4.27: Velocity Command Profile.(Note:Acceleration period 0 < t < 0.1«ec —» / = a • i ; Constant feeding velocity O.laec < 1 < tf — OAsec —» / = / c ; Deceleration period < — O.laec < < < < / — • / = / c — o • i . / e : Constant feed value, a = / c / 0 .1 Telocity dependent acceleration. ao -j uo • in • m - in - 40- 30 • J O - I O - « T — I — T - T — I — I — I — I — I — I — I — I — I — I — I — I — I — I — I — I — o a 40 a n too iso 1 4 0 in uo too X-AXIS [Mil] Figure 4.28: Standard Test Workpiece Profile Analysis of Contouring Errors Induced By Servo Dyn : Illustration of Contour Error and Dimensional Error on Workpiece Chapter 4. Analysis of Contouring Errors Induced By Servo Dynamics 20 mm/sec 0 —20 mm/sec 20 mm/sec 0 —20 mm/sec TIME [SECOND] Figure 4.30: Velocity Command Profile for A Square Configuration Machining 20 mm/sec 0 -20 mm/sec 20 mm/sec 0 -20 mm/sec TIME [SECOND] Figure 4.31: Velocity Command Profile for A Diamond Configuration Machining Chapter 4. Analysis of Contouring Errors Induced By Servo Dynamics 89 X-AXIS [HU] Figure 4.32: Square Cornering With Perfectly Matched Axial Dynamics Figure 4.33: Square Cornering With Mismatched Axial Dynamics Chapter 4. Analysis of Contouring Errors Induced By Servo Dynamics 90 i i I i i i i i i i i i i ; i r U 99.6 99.6 100 100.2 100.4 100.6 100.8 101 X-AXIS [101] Figure 4.34: Diamond Cornering With Perfectly Matched Axial Dynamics 150.2 • \—i i r 99.8 100 100.2 100.4 100.6 100.8 101 I-AI1S [MM] Figure 4.35: Diamond Cornering With Mismatched Axial Dynamics ipter 4. Analysis of Contouring Errors Induced By Servo Dynami S3 52 2 51 s I 50H 49 48 DESIRED i i i i i r—i i 1 1 1 1 1— B9.92 89.84 89.96 89.98 100 100.02 100.04 X-AXIS [UM] Figure 4.36: Circular Contouring With Perfectly Matched Axial Dyr s i a m i c s 53 52 2 5 1 I 50 48 46 DESIRED ACTUAL ~1 I I I I f 1 1 1 1 1 1 1— P9.9 89.92 69.94 99.98 99.98 100 100.02 100.04 X-AXIS [101] Figure 4.37: Circular Contouring With Mismatched Axial Dynamics Chapter 4. Analysis of Contouring Errors Induced By Servo Dynamics Figure 4.38: Velocity Command Profile for A Square Configuration Machining Figure 4.39: Velocity Command Profile for A Diamond Configuration Machining Chapter 4. Analysis of Contouring Errors Induced By Servo Dynamics 93 150.6 150.5 190.4 im mz 190.1 150-1 148.8 1«.B 148.7 148.8- 148J9- 148.4- 148.3- 148.2- 148.1- 148 148.8 148.8 148.7- 148.8 / DESIRED ACTUAL T 1 1 1 14U 148J4 14BJ8 — I 1 1 — T 146.82 14848 I-AH8 [MM] 150 T 1 1 1— 150JH 190.08 Figure 4.40: Square Cornering With Matched Axial Dynamics 1908' 1905 190.4- 190.3 150 £ 190.1 150- 1*8.9- 148.8- 148.7- 148.6- 148 J - 148.4- 148.3 148£ 148.1 148 H 148.8 148.8 148.7- 148.8 DESIRED ACTUAL I T 1 1418 148.84 — I 14188 ISO i—i—r OHM 1904)8 Z-iXD [MM] Figure 4.41: Square Cornering With Mismatched Axial Dynamics Chapter 4. Analysis of Contouring Errors Induced By Servo Dynamics 94 150.2 ISO 140.8 5 I 148.6- 148.4 148.2- DESIRED 1 + 8 H—i—i—i—i—i—i—i—i—i—i—i—i—i—i—i—i—i—i—r 80 m 08.4 018 00.8 100 1KU 100.4 10DJ 100J 101 I - iXB [MM] Figure 4.42: Diamond Cornering With Matched Axial Dynamics 150.2 130- 148.8- s s Ul I 148.8 148.4 148^- 148 DESIRED ACTUAL i—i—i—i—i—i—i—i—i—i—i—i—i—i—i—i—i—i—r ao au 00.4 n.6 OOJ loo 100.2 i a u u&e IOOJ 101 I-iUS [KM] Figure 4.43: Diamond Cornering With Mismatched Axial Dynamics Figure 4.45: Diamond Cornering With Integration Compensation Included (2) Chapter 4. Analysis of Contouring Errors Induced By Servo Dynamics 96 Figure 4.46: Illustration of N-segment Spline Function Chapter 4. Analysis of Contouring Errors Induced By Servo Dynamics 97 Figure 4.47: A One-segment Spline Function Approximation of A Diamond Corner 0.25 x Ay Ay Figure 4.48: A Two-segment Spline Function Approximation of A Diamond Corner Chapter 4. Analysis of Contouring Errors Induced By Servo Dynamics 98 150.6 - 150.4 - 150.2 - 150 - 148.8 - 149.6 - s 149.4 - UJ 149.2 - fi H 149 - n 148.8- 1 148.6 - 148.4- 148.2 - 148 - 147.8 - 147.6 - 147.4 - COMMANDED POSITION 147 —T— 149 151 153 COMMANDED POSITION I-AHS [Mil] Figure 4.49: Position Profiles of the One-segment Spline Fit for A Diamond Corner 150.6 • 150.4 • 150.2- 150 • 149.B - 149.6 - s 1 4 9 4 • I U9-2- B 149 - H !j 148.8 - I 148.6 - 148.4 - 148.2 - 148- 147.8 - 147.6 147.4 RESPONSED POSITION 147 -1— 149 151 153 X-ASS [MU] Figure 4.50: Position Profiles of the Two-segment Spline Fit for A Diamond Corner Figure 4.51: Spline Fit TIME [MS] Individual Axis Velocity Profiles in Diamond Cornering, One-segment Chapter 4. Analysis of Contouring Errors Induced By Servo Dynamics 30 - i 100 fl 0 0 w \ s u 0 A K 20 10 - -10 - -20 -30 X-AXIS RESPONSED V E L O C I T Y X-AXIS COMMANDED VELOCITY Y-AXIS COMMANDED V E L O C I T Y Y-AXIS RESPONSED VELOCITY ~i i i i i i i i i i i i i i i i i i r~ 0 20 40 60 80 100 120 140 - 160 180 200 TIME [MS] Figure 4.52: Individual Axis Velocity Profiles in Diamond Cornering, Two-segment Spline Fit Chapter 5 Concluding Remarks In this thesis, a practical and analytical guide for the design principles of a modular CNC system and its applications to monitoring and control of unmanned machining operations are presented. The main results are summarized as follows. • The architecture of the CNC system is demonstrated. A complete dynamic model for the feed drive servo of the CNC system is developed. Transfer functions of the individual model components are identified. A state space model of the system, which has position command and cutting force disturbance as inputs, and the actual position as an output, is developed. The models are experimentally verified. The developed state space model allows the investigation of the influence of operating conditions on the actual position, velocity and the current drawn from the motors. • A current sensor for the real-time cutting force measurement is designed. Estima- tion of cutting forces from the feed drive motor current measurements is investi- gated. It is shown that the estimation algorithms are sensitive to the noise in the measurements. • Although the friction on the guideway is dependent on the velocity of the machine table, it does not prevent the use of motor armature current in cutting force sensing. The tare current (which indicates the current required to overcome the friction and move the machine table.) is constant at different table speed. 101 Chapter 5. Concluding Remarks 102 • Since the state variables (i.e., measured velocity and current signals) are always contaminated in a practical feed drive servo system, specific filtering algorithms are required to be developed for accurate estimation of cutting forces. For the future work, the use of stochastic input observer method may be investigated to extract force information from the noisy state measurements. • It is the dynamical mismatching of individual axis that results in the main contour errors in multi-axis machining. The response delay induced by feed drive system is another factor which causes the contour errors in sharp geometric profile machining. • A number of control strategies can be applied to improve the machining accuracy. Nevertheless, a control strategy which allows the tool path to follow a given con- tour with precision and rapidity, and is capable of accommodating the parametric variations of individual axis is still to be investigated for precision machining. Bibliography [1] Y. Altintas, I. Yellowley and J. Tlusty. The Detection of Tool Breakage in Milling Operations. ASME Journal of Engineering for Industry, Vol.110, pp.271-277, 1988. [2] Altintas, Y., and Yellowley, I.,"In-Process Detection of Tool Failure in Milling Using Cutting Force Models," Trans, of ASME, Jour, of Engineering for Industry, vol.Ill, p. 149, May 1989. [3] Altintas, Y. and Peng, J.,"Design and Analysis of a Modular CNC System for Ma- chining Control and Monitoring," Submitted for Publication to ASME , Journal of Engineering for Industry, (1988). [4] Baldor DC Servo Motor and UMI Amplifier Manual. Baldor Servo Products, Fre- mont, CA, 1987. [5] Bollinger,J.G., Stute G.and Brussel H.Van. Digital Controls and Feed Drives: State of the Art and New Developments. Annals of CIRP, Vol.29/2, pp. 497-506 1982. [6] Bollinger.J.G., Duffie, Neil A. Computer Control of Machines and Processes. Addison-Wesley Publishing Company, 1988. [7] Daneshmend, L. K.,Pak, H. A. Model Reference Adaptive Control of Feed Force in Turning. Transactions of ASME, J. of Dynamical Systems, Measurement and Control, Vol.108, pp.215-222, September 1986. [8] Diei, E.N., Dornfeld, D.A., "Acoustic Emissiom From the Face Milling Process - the Effects of Process Variables," Transactions of ASME, J. of Engn for Industry, May, 103 Bibliography 104 1987. [9] N.A. Duffie, J.G.Bollinger. Distributed Computing Systems for Multiple Processor Industrial Control. Annals of CIRP, Vol.29/1, pp.357-362, 1979. [10] DMC-230 Motion Control Unit Manual. Galil Motion Control Inc., Palo Alto, CA, 1987. [11] Doraiswami,R., Gulliver,A. A Control Strategy for Computer Numerical Control Machine Exhibiting Precision and Rapidity. Transactions of ASME, J. of Dynamical Systems, Measurement and Control, Vol.106 pp.56-62, March 1984. [12] Duffie,N.A., Bollinger,J.G. Distributed Computing Systems for Multiple Processor Industrial Control. Annals of CIRP, Vol.29/1, pp.357-362, 1979. [13] Gross, Hans, Edited Electrical Feed Drives for Machine Tools, John Willy & Sons Limited, (1983). [14] Humphrey, William M., Introduction to Servomechanism System Design, Prentice- Hall., Englewood Cliffs, New Jersey, (1973). [15] Koren, Y., Design of Computer Control for Manufacturing Systems. Trans, of ASME, J.Eng.Ind., vol.101, no.3, pp.326-332, August, 1979. [16] Koren, Y., Cross-coupled Computer Control for Manufacturing Systems. Trans, of ASME, J.Meas. Dyn. Contr., vol.102, no.4, pp265-272, December, 1980. [17] Koren, Y., Computer Control of Manufacturing Systems. McGraw Hill, 1983. [18] Kulkarni, P.K., Srinivasan, K., Cross Coupled Compensators for Contouring Control of Multi-Axial Machine Tools. Proceedings of 13th. North American Metalworking Research Con., pp.558-566,May 1985. Bibliography 105 [19] Kulkarni, P.K., Srinivasan, K., Optimal Contouring Control of Multi-Axial Feed Drive Servomechanisms. Transactions of ASME, Journal of Engineering for Indus- try, May 1989. [20] Lauderbaugh, L.K., Ulsoy, A.G., Dynamic Modeling for Control of the Milhng Pro- cess. Winter Annual Meeting of ASME, PED-Vol.18, ppl49-158,1985. [21] Ma, C.C.H., Altintas, Y., Direct Adaptive Cutting-Force Control of Milling Pro- cesses. Submitted for Publication to AUTOMATICA, September 1988. [22] Masory, 0., Koren, Y., Stability Analysis of a Constant Force Adaptive Control System for Turning. Trans, of ASME, J.Eng.Ind., Vol.107, pp.295-299, 1985. [23] Martin, K.F, Lockman, H., "Force Sensing in Magnitude, Derection, and Position" Trans, of ASME, J. of Dynamic system, measurement, and control, September, 1987. [24] McGeough, J.A., Advanced Methods of Machining, Chapman and Hall Ltd, 1988. [25] Ogata, K., Discrete Time Control Systems, Prentice Hall, 1987. [26] Peng, J., CNC Machine Feeding System Analysis, Technical report, CNC Labora- tory, U.B.C., October 1988. [27] Poo, A.N., Younkin, C. and Bollinger, J.G./'Dynamic Errors in Type I Contouring Errors," IEEE Transactions on Industry Applications, Vol.IA-8, No.4, July 1972. [28] Srinivasan, K., A General Multivariable Structure for Coordinated Control Appli- cations. Proceeding of American Control Conference, June 1987. Bibliography 106 [29] Stein,J.L., Colvin.C., Clever, G., Wang, C.H., "Evaluation of DC Servo Machine Tool Feed Drives as Force Sensors" Trans, of ASME, J. of Dynamic Systems, mea- surement and Control, December 1986. [30] Stute, G., Worn, H., A Modular Function Oriented Multiprocessor NC System. Annals of CIRP, Vol.27/1, pp. 261-264, 1978. [31] Stute, G., Klemm, P., The Application of a Modular Multiprocessor NC System. Int.I. of Machine Tool Design and Research, Vol.22, pp. 215-222, 1981. [32] Tlusty, J., and Andrews, G. C , "A Critical Review of Sensors for Unmanned Ma- chining," Annals of the CIRP, Vol.32,No.2,1983, p.563-572. [33] Tomizuka, M., Zhang,S. J., Oh, J. H., and Chen, M. S., Model Reference Adaptive Control of the Milling Process. Control of Manufacturing Processes and Robotic Systems, ASME, New York, pp.55-63, 1983. [34] Ulsoy, A.G., Koren, Y. and Rasmussen, F., Principal Developments in Adaptive Control of Machine Tools. Transactions of ASME, J. of Dynamical Systems, Mea- surement and Control, Vol.105, No.2, pp.107-112, 1985. [35] Week, Manfred, Handbook of Machine Tools, John Wiley & Sons Ltd., (1984). Appendix A Parameters of the Feed Drive B 0.09 Nm/(rad/sec) 0.08872 V/(rad/sec) 0.0036 kgm2 Ka 0.0643 A/A Kh 0.3 V/(rad/sec) Kd 0.0781 V/count Ke 636.62 counts/(rad/sec) Kt 25.5 A/V Kp 2.5 Kv 21.934 V/V Kt 0.3 Nm/A La 2 mH Ra 0.4 n sg 0.0648 V/V Tg 0.13183 V/V a -0.8825 b 0 P 5.08 mm Continuous current supply= 15 A Peak current supply= 30 A 107 Appendix B Coefficients of Gc{z) b = T - — e-iu"T sin{u>dT) 6, = 2e-^T[^n(^-rco5(o;(1r)] 6 = Te-a(UnT - — e~*"'mT «n(w,|T) , #1 / e - ^ - r , e-*-«r r ^ . ,tn(W ( |r) - coa{ujdT)] a, = -2 e-*"-T cos(u;dT) a0 = e 108 Appendix C Coefficients of Gci(z) b1 + ab2 P b2 b0-\- a fcj A = A = if 1 i f e K<{ Kp "3 = Ol + 0 2 - 1 Kx Ke Kd Kp a2 = aQ - a a H — (6i — a o 2) 62 a 60 I T Ki* K3 h Ks Ki Ke Kd Kp ai — 7} [b0 — a t>i) — a0 K\Ke Kd Kp a0 — — • a • bo ^ 3 Kx Ke Kd Kp b2 K d = K3 109 Appendix D Listing of Programs • The cubic spline function interpolation algorithm for the cornering of a diamond profile. • Two-axis contouring error analysis program for a diamond profile machining. • Two-axis contouring error analysis program for a square profile machining. • Two-axis contouring error analysis program for a circular profile machining. • Velocity loop of the feed drive analysis program. • Position loop of the feed drive analysis program. • Bandwidth analysis program for the torque-current loop. The programs listed above can be found in Report 89-8 October 1989 in CAMROL. 110
- Library Home /
- Search Collections /
- Open Collections /
- Browse Collections /
- UBC Theses and Dissertations /
- Design and analysis of a CNC system for machining and...
Open Collections
UBC Theses and Dissertations
Featured Collection
UBC Theses and Dissertations
Design and analysis of a CNC system for machining and monitoring Peng, Jie 1989
pdf
Page Metadata
Item Metadata
Title | Design and analysis of a CNC system for machining and monitoring |
Creator |
Peng, Jie |
Publisher | University of British Columbia |
Date | 1989 |
Date Created | 2010-11-02 |
Date Issued | 2010-11-02 |
Description | The development of unmanned machining systems has been a recent focus of manufacturing research. Computer Numerical Control (CNC) units, which monitor and control many tightly coupled machining tasks, are inseparable parts of the unmanned manufacturing system. This thesis addresses the detailed design and analysis of a modular CNC system for a milling machine. The feed drive control system of the machine tool is thoroughly studied. The mathematical model for the feed drive control system, which consists of a motion controller, power amplifiers and DC-servo motors, is developed and experimentally verified. A method of estimating cutting forces from current drawn by feed drive motors is developed. The viability of the current sensor as a feeding-force sensing component is illustrated and experimentally tested on the milling machine. Successful application of the current sensor to tool breakage detection in milling operation is presented. The performance of the multi-axis contouring system in precision machining is discussed. The contouring errors induced by feed drive positioning systems in CNC machine tools is investigated using the state space model of the CNC system. The influence of the cutting force on the accuracy of machining is shown to be negligible for feed drives driven by ball leadscrews. Various control strategies for the improvement of machining accuracy are tested in the simulation studies. |
Subject |
Machine-tools -- Numerical Control -- Programming Machining |
Genre |
Thesis/Dissertation |
Type |
Text |
Language | Eng |
Collection |
Retrospective Theses and Dissertations, 1919-2007 |
Series | UBC Retrospective Theses Digitization Project |
Date Available | 2010-11-02 |
Rights | For non-commercial purposes only, such as research, private study and education. Additional conditions apply, see Terms of Use https://open.library.ubc.ca/terms_of_use. |
DOI | 10.14288/1.0098515 |
Degree |
Master of Applied Science - MASc |
Program |
Mechanical Engineering |
Affiliation |
Applied Science, Faculty of |
Degree Grantor | University of British Columbia |
Campus |
UBCV |
Scholarly Level | Graduate |
URI | http://hdl.handle.net/2429/29730 |
Aggregated Source Repository | DSpace |
Download
- Media
- [if-you-see-this-DO-NOT-CLICK]
- UBC_1990_A7 P46.pdf [ 5.11MB ]
- Metadata
- JSON: 1.0098515.json
- JSON-LD: 1.0098515+ld.json
- RDF/XML (Pretty): 1.0098515.xml
- RDF/JSON: 1.0098515+rdf.json
- Turtle: 1.0098515+rdf-turtle.txt
- N-Triples: 1.0098515+rdf-ntriples.txt
- Original Record: 1.0098515 +original-record.json
- Full Text
- 1.0098515.txt
- Citation
- 1.0098515.ris
Full Text
Cite
Citation Scheme:
Usage Statistics
Country | Views | Downloads |
---|---|---|
United States | 29 | 2 |
Philippines | 14 | 0 |
India | 13 | 3 |
Egypt | 10 | 0 |
Vietnam | 8 | 0 |
Canada | 8 | 0 |
Taiwan | 5 | 0 |
Malaysia | 5 | 4 |
Italy | 5 | 0 |
China | 5 | 14 |
United Kingdom | 4 | 0 |
Iraq | 4 | 0 |
Peru | 4 | 0 |
City | Views | Downloads |
---|---|---|
Unknown | 67 | 5 |
Mountain View | 8 | 0 |
Hanoi | 8 | 0 |
Los Angeles | 6 | 0 |
Ashburn | 4 | 0 |
Delhi | 3 | 1 |
Pennant Hills | 2 | 0 |
Tanjong Karang | 2 | 2 |
Pune | 2 | 0 |
Shenyang | 2 | 1 |
Islamabad | 2 | 0 |
Taipei | 2 | 0 |
Isabang | 2 | 0 |
{[{ mDataHeader[type] }]} | {[{ month[type] }]} | {[{ tData[type] }]} |
Share
Embed
Customize your widget with the following options, then copy and paste the code below into the HTML
of your page to embed this item in your website.
<div id="ubcOpenCollectionsWidgetDisplay">
<script id="ubcOpenCollectionsWidget"
src="{[{embed.src}]}"
data-item="{[{embed.item}]}"
data-collection="{[{embed.collection}]}"
data-metadata="{[{embed.showMetadata}]}"
data-width="{[{embed.width}]}"
async >
</script>
</div>
Our image viewer uses the IIIF 2.0 standard.
To load this item in other compatible viewers, use this url:
http://iiif.library.ubc.ca/presentation/dsp.831.1-0098515/manifest
Comment
Related Items
Admin Tools
To re-ingest this item use button below, on average re-ingesting will take 5 minutes per item.
ReingestTo clear this item from the cache, please use the button below;
Clear Item cache