Title Page
 Table of Contents
 The machine tool and its contr...
 The machine monitoring and control...
 The on-line machine supervision...
 The off-line machine evaluation...
 Experimental verification of the...
 Conclusions and recommendation...
 Listing of the supervision...
 Listing of the spindle torque overload...
 Listing of the machine evaluation...
 Biographical sketch

Title: Implementation of a sensor-based supervision system for CNC machining
Full Citation
Permanent Link: http://ufdc.ufl.edu/UF00090186/00001
 Material Information
Title: Implementation of a sensor-based supervision system for CNC machining
Series Title: Implementation of a sensor-based supervision system for CNC machining
Physical Description: Book
Creator: Wells, Robert Lindsay.
 Record Information
Bibliographic ID: UF00090186
Volume ID: VID00001
Source Institution: University of Florida
Holding Location: University of Florida
Rights Management: All rights reserved by the source institution and holding location.
Resource Identifier: alephbibnum - 001697475
oclc - 25287580

Table of Contents
    Title Page
        Page i
        Page ii
    Table of Contents
        Page iii
        Page iv
        Page v
        Page vi
        Page 1
        Page 2
        Page 3
        Page 4
        Page 5
        Page 6
        Page 7
        Page 8
        Page 9
        Page 10
        Page 11
        Page 12
        Page 13
        Page 14
        Page 15
        Page 16
        Page 17
        Page 18
        Page 19
    The machine tool and its controller
        Page 20
        Page 21
        Page 22
        Page 23
        Page 24
        Page 25
        Page 26
        Page 27
        Page 28
        Page 29
        Page 30
        Page 31
        Page 32
        Page 33
        Page 34
        Page 35
        Page 36
    The machine monitoring and control schemes
        Page 37
        Page 38
        Page 39
        Page 40
        Page 41
        Page 42
        Page 43
        Page 44
        Page 45
        Page 46
        Page 47
        Page 48
        Page 49
        Page 50
        Page 51
        Page 52
        Page 53
    The on-line machine supervision system
        Page 54
        Page 55
        Page 56
        Page 57
        Page 58
        Page 59
        Page 60
        Page 61
        Page 62
        Page 63
        Page 64
        Page 65
        Page 66
        Page 67
        Page 68
        Page 69
        Page 70
    The off-line machine evaluation system
        Page 71
        Page 72
        Page 73
        Page 74
        Page 75
        Page 76
        Page 77
        Page 78
        Page 79
        Page 80
        Page 81
        Page 82
        Page 83
        Page 84
        Page 85
        Page 86
        Page 87
        Page 88
        Page 89
        Page 90
    Experimental verification of the on-line system
        Page 91
        Page 92
        Page 93
        Page 94
        Page 95
        Page 96
        Page 97
        Page 98
        Page 99
        Page 100
        Page 101
        Page 102
        Page 103
        Page 104
        Page 105
        Page 106
        Page 107
        Page 108
        Page 109
        Page 110
        Page 111
        Page 112
        Page 113
        Page 114
        Page 115
    Conclusions and recommendations
        Page 116
        Page 117
        Page 118
    Listing of the supervision software
        Page 119
        Page 120
        Page 121
        Page 122
        Page 123
        Page 124
        Page 125
        Page 126
        Page 127
        Page 128
        Page 129
        Page 130
        Page 131
        Page 132
        Page 133
        Page 134
        Page 135
        Page 136
        Page 137
    Listing of the spindle torque overload program
        Page 138
        Page 139
        Page 140
        Page 141
        Page 142
        Page 143
        Page 144
    Listing of the machine evaluation program
        Page 145
        Page 146
        Page 147
        Page 148
        Page 149
        Page 150
        Page 151
        Page 152
        Page 153
        Page 154
        Page 155
        Page 156
        Page 157
        Page 158
        Page 159
        Page 160
        Page 161
        Page 162
        Page 163
        Page 164
        Page 165
        Page 166
        Page 167
        Page 168
        Page 169
        Page 170
        Page 171
        Page 172
        Page 173
        Page 174
        Page 175
        Page 176
        Page 177
        Page 178
        Page 179
        Page 180
        Page 181
        Page 182
    Biographical sketch
        Page 183
        Page 184
        Page 185
Full Text








The author would like to express his sincere gratitude to

Dr. Jiri Tlusty and Dr. Scott Smith for their guidance and

generous support during this research. The author also thanks

Dr. Carl Crane, Dr. John Schueller and Dr. Senser Yeralan for

serving on his committee, and Dr. Jose Principe for

contributing his expertise to the project.

Special thanks go to Bob Winfough of the Machine Tool

Laboratory, Russ Walters of the Electrical Engineering

Department, John Frost of Manufacturing Laboratories and

Gordie Hawes of Automation Intelligence for their assistance

in the research.

Finally, to his parents, Bob and Connie Wells, the author

sends his deepest love and gratitude for their unqualified

support and encouragement during the long haul.

This research was sponsored in part by a National Science

Foundation grant, #DDM-8914084, "Comprehensive Supervision

System for Machining Centers."



ACKNOWLEDGEMENTS ................................ ....... .. ii

ABSTRACT ................................................. V


1 INTRODUCTION .......................................... 1

Sensor-Based Supervision of Machining ............... 1
Review of the Literature ............................ 4
Outline of the Present Research .................... 17


The White-Sunstrand Series 20 Omnimil ............... 20
The Automation Intelligence Flexmate Controller ..... 24
The FlexMate Motion Co-Processor ................... 29


Adaptive Control System ............................. 37
The Fast Stopping Routine ........................... 40
Tool Breakage Detection System ...................... 42
Chatter Recognition and Control System ............. 46
Spindle Torque Overload Detection System ............ 50


An Inventory of the Sensors ......................... 54
The Interface Hardware .............................. 59
The Interface Software .............................. 62
Integration of the Supervision System ............... 64


Hardware Requirements ............................... 71
Data Acquisition ................................... 75
Experimental Modal Analysis ........................ 79
Chatter Detection and Analysis ..................... 86



The Fast Stopping Routine .......................... 91
The Supervision Subroutines ......................... 96
Adaptive Control System .............................. 101
Tool Breakage Detection System ...................... 106
Chatter Recognition and Control System .............. 109
Spindle Torque Overload Detection System ............ 112

7 CONCLUSIONS AND RECOMMENDATIONS ..................... 116



Supervision Computer Interface ...................... 119
FlexMate Motion Co-Processor Interface .............. 127
Fast Stopping Program ............................... 135



REFERENCES ..................................... .......... 178

BIOGRAPHICAL SKETCH .................................... 183

Abstract of Dissertation Presented to the Graduate School
of the University of Florida in Partial Fulfillment of the
Requirements for the Degree of Doctor of Philosophy



Robert Lindsay Wells

August 1991

Chairman: Dr. Jiri Tlusty
Major Department: Mechanical Engineering

A sensor-based supervision system for CNC machining was

implemented on a White Sunstrand Series 20 Omnimil machining

center. An interface was created between the Automation

Intelligence FlexMate CNC controller and a supervisory

computer. A set of supervision subroutines was created that

allowed monitoring and control schemes running on the

supervisory computer to take control of the machine tool based

on sensor data sampled during the metal cutting process.

Four supervision schemes were implemented as part of the

on-line machine supervision system. The Adaptive Control

scheme monitored the vibration of the metal cutting process

and varied the feedrate to achieve stable cuts. The Tool

Breakage Detection scheme stopped the cutting process when a

broken tool was detected. The Chatter Recognition and Control


scheme detected chatter, a self-regenerative vibration

phenomenon, and automatically selected a new stable spindle

speed. The Spindle Torque Overload Detection scheme stopped

the feed if a variation in the spindle speed indicated that

the cutting tool was about to stall in the workpiece.

Also created was an off-line machine evaluation system

which was used to measure Transfer Functions on the machine,

sample data from sensors, and analyze machine tool chatter.

The off-line system was used to evaluate the performance of

both the supervision subroutines and the monitoring and

control schemes in the on-line supervision system.

Each of the individual monitoring and control schemes was

demonstrated in a series of cutting tests on the Omnimil. It

was shown that the schemes were able to identify various

disturbances in the cutting process, and take corrective

action using the supervision subroutines to issue commands to

the machine tool controller.

The research demonstrates the feasibility of having an

external supervisory computer work in cooperation with a

machine tool controller. This suggests that future CNC

controllers should directly support this kind of interface.


The issues that motivate sensor-based supervision of

machine tools are discussed in this chapter, and a review of

research into the monitoring and control of machining

operations is presented. Adaptive control, broken tool

detection, chatter recognition and control, and spindle torque

overload detection will be emphasized. The original

contributions of the present research, centering on the

creation of a machine tool supervision system, are outlined.

Sensor-Based Supervision of Machining

The principal reason for developing sensor-based

supervision systems for the monitoring and control of

Computer-Numerical Control (CNC) machine tools is to enhance

their productivity. The objective is not necessarily to

replace the machine operator, but to provide a fast and

accurate response mechanism to disturbances in the milling

process that limit the Metal Removal Rate (MRR), and which

degrade the quality of the finished product.

After careful modeling and analysis of the dynamics of

the milling process, sensor-based monitoring and control



schemes can be developed that permit the automatic detection

and regulation of such phenomena as machine tool chatter and

broken milling cutters. Individual schemes that measure, and

sometimes control, several critical aspects of the milling

process have been developed by many researchers over the

years. Very little work has been done, however, in integrating

these separate schemes into a comprehensive machine

supervision system. It is the objective of the present

research to implement such a comprehensive system.

A clear distinction needs to be drawn between sensor-

based computer supervision of machining and Computer

Integrated Manufacturing (CIM). The integration of Computer-

Aided Design (CAD) facilities with the automatic generation of

tool paths provided by Computer-Aided Manufacturing (CAM), and

with production scheduling and inventory control programs, is

called CIM. The trend towards full factory automation employs

these tools with the aim of developing a computerized

manufacturing environment.

Sensor-based supervision of production machinery, on the

other hand, aims at increasing productivity and product

quality by direct monitoring and control at the machine level.

The supervision system may or may not be part of a larger CIM

system. The machine tool phenomena that are most often

monitored are tool condition, cutting forces and vibration,

since these affect both MRR and product quality. A detailed


comparison of various sensing strategies will be presented in

the next section.

The motivation for on-line monitoring and control of CNC

machine tools is that operations such as the end milling of

aluminum aircraft panels and the machining of cast iron auto

body stamping dies require the removal of a significant

percentage of the original metal (Smith and Delio, 1989). A

high MRR is desirable for these time consuming and expensive

operations, but the increased axial and radial tool immersions

that are used for the higher MRR can cause the self-excited

vibration phenomenon called chatter, can damage the cutting

tool, or can cause poor surface finish. Sensing schemes that

detect these events, and take corrective action, could provide

significant increases in productivity and product quality.

Automatic selection of optimally stable speeds in High Speed

High Power (HSHP) milling (Delio et al., 1990), adaptive

control of the machining feed rate to avoid chatter (Tlusty

and Tyler, 1988) and the sensing of tool breakage (Tlusty and

Tarng, 1988) are examples of proven schemes that could be

included in a comprehensive supervision system.

The main barrier to the integration of sensor-based

supervision systems, as well as CAD/CAM systems, with machine

tool controllers is described by Wright et al. (1990a, p.322).

They state that "in today's factories, the integration of such

CAD tools and on-machine sensors is frustrated by the closed

architecture of typical machine tool controllers." The problem


is that in order for the supervision system to act

automatically upon sensed data, it must be able to take

control of the machine tool, or be able to issue commands to

the CNC controller. Creating the interface between a

supervision system running on a remote computer and the CNC

controller on the machine tool is not a trivial task.

The present research has taken advantage of the

relatively open architecture of a commercially available

machine tool CNC controller. However, the supervision system

could be applied to any machine tool if access to the control

parameters of the machining process were available.

Review of the Literature

The book by Pressman and Williams (1977) gives a thorough

description of CNC machine tool technology as it is in common

use today. The paper by Tlusty and Andrews (1983) and the

report by Birla (1980) are often cited as excellent reviews of

the sensors in common usage for monitoring and control of

machining operations. Bolinger and Duffie (1988) also describe

sensors in common use for the computer control of machines and

processes. It can be seen from the dates of these references

that sensor technology has for some time been adequate for the

task of machine supervision. The challenge is to select

sensors that monitor relevant aspects of the dynamics of the

milling process, and to process their signals with algorithms


that provide robust fault detection. Past and present research

into various machine tool monitoring and control schemes is

described below, as well as the work of researchers who are

attempting to integrate sensors into supervision systems.

Adaptive control (A/C) of machine tools has been

researched for some time. Ulsoy et al. (1982) gave a

comprehensive review of early work. When applied to machine

tools, the term adaptive control has come to mean the

variation of such machining parameters as feed rate and

spindle speed based on sensed cutting data such as the cutting

force or vibration. The objective is usually to maximize the

MRR, or to prolong tool life.

Weck et al. (1975), whose work is described in more

detail below, developed an A/C system that varied the spindle

speed to avoid chatter. Lauderbaugh and Ulsoy (1986), whose

paper also contains a good review of A/C research, designed a

Model Reference Adaptive Control (MRAC) system for controlling

the force in milling. They proposed regulating the feed rate

based on a comparison of the cutting force (obtained from a

dynamometer) to a dynamic model of the cutting process.

Tlusty and Tyler (1988) describe more recent efforts in

the field, and outline an effective A/C scheme. The objective

of their work was to both avoid chatter during cutting by

varying the feed rate to keep the cutting force below a

limiting value, and to detect when the tool impacts the

workpiece. The latter capability allows the tool to be moved


at higher feedrates when it is not cutting, and the feed to be

adjusted automatically to the correct cutting value when the

high force of impact is sensed. This scheme will be

implemented as part of the present research.

Figure 1.1 shows a simplified block diagram of an

adaptive control system that is controlling the cutting force,

Fa, by varying the feed rate, F. It can be seen that the

machine tool and its controller are part of the control loop,

and in this regard the system is similar to a machine tool

supervision system. However, where adaptive control schemes

usually aim at improving one aspect of machining (say,

avoiding chatter), a supervision system would monitor and

control all the relevant parameters of the machining

operation. Figure 1.2 shows a block diagram of a comprehensive

supervisory system that issues both speed and feed commands to

the CNC controller based on sensed data.

One aspect of machining that is commonly monitored is the

condition of the cutting tool. Both tool wear and tool

breakage in milling, turning and drilling can be considered in

these schemes. For catastrophic tool failure, the objective is

to detect breakage with high reliability and a minimum of

false alarms. A good review of research in on-line tool

condition monitoring can be found in the paper by Johnson et

al. (1988). These investigators are typical in their

advocation of using cutting force signals (obtained from

dynamometers) and vibration signals of the tool relative to

Figure 1.1. Block Diagram of an Adaptive Control System
for a Machine Tool.

Figure 1.2. Block Diagram of a Machine Tool Supervision


the workpiece (obtained from displacement transducers) to

monitor both wear and breakage.

Acoustic emission (AE), which refers to high frequency

stress waves generated by the rapid release of strain energy

within a material, has also been used to monitor tool

condition. This signal is obtained by a very high frequency

piezoelectric transducer. Balakrishnan et al. (1989) used a

combination of AE signals and cutting force signals to monitor

tool conditions in turning. However, Tlusty and Tarng (1988,

p.46) state that the AE sensor is "sensitive to very sudden

events like micro and macro fractures due to chip formation,

chip breaking, tool wear and tool breakage . [but] . .

problems of robustness are still not satisfactorily solved and

the signals are sensitive to variations of cutting data [such

as chip breakage, and entry and exit transients]." The

required instrumentation is also quite expensive.

The temperature and stress state of the cutting tool can

be used as indicators of tool wear in turning, as proposed by

Wright et al. (1990b). The difficulty here is in the

application of these sensors (thermocouples and strain gages)

to rotating tools such as those used in milling and drilling.

Tlusty and Tarng (1988) present a discussion of sensing

issues in monitoring tool breakage, and give a detailed

comparison of force and vibration signals. They conclude that,

although the cutting force gives the best evidence of cutter

damage, dynamometers only work well in the low frequency


range. Vibration, as measured by capacitance probes, was shown

to give a reliable indication of tool breakage even at high

cutting speeds. Their scheme will be installed as part of the

supervision system implemented in the present research.

The sensor data from tool condition monitoring can be

processed by a variety of Digital Signal Processing (DSP)

algorithms. Richter and Spiewak (1989) give an overview of

some of the schemes used to extract the characteristic

features of tool wear and tool breakage from the sensor

signals. Pre-processing by various filtering and averaging

schemes, both in the time and frequency domains, and feature

extraction by such methods as Auto-Regressive Moving Average

(ARMA) models (Lan and Naerheim, 1985) and first and second

difference averaging (Altintas et al., 1985; Tlusty and Tarng,

1988) have been used.

Machine tool chatter is a self-regenerative vibration

phenomenon that can severely limit the rate of metal removal.

Tlusty (1985) gives a detailed analysis of the dynamics

involved. He also describes "stability lobes," regions of

higher spindle speed where the axial depth of cut in machining

can actually be increased without the cut becoming unstable.

Figure 1.3 shows a schematic of the mechanism by which machine

tool chatter takes place. The phasing, E, of the waves left on

the machined surface by successive teeth on the cutter can be

such that the cutting force, F, is modulated into a vibration.

Y = 180
X 0(




Figure 1.3. Representation of the Chatter Mechanism.

Although a detailed discussion of the formulas that

describe chatter is beyond the scope of this work, the

expression for the limiting axial depth of a machining cut is

of interest:

btim = -1 / (2 Ks Re[G]) (1.1)

Ks is the cutting stiffness (specific power) of the workpiece

and Re[G] is the negative real part of the oriented Transfer

Function (i.e. the mode in which the tool-spindle system will

vibrate during chatter). The effect of bLim is to limit the

amount of metal that can be removed for a given feed and

speed. An effective chatter detection scheme should not only

seek to avoid chatter, but also to increase btim*


Figure 1.4 shows the real and imaginary parts of a single

degree of freedom Transfer Function. It can be seen that the

natural frequency, fn, the stiffness of the mode, k, and the

damping ratio, zeta, can be determined from the plot. Figure

1.5.a shows how the negative part of the Real Transfer

Function can be mapped into a stability lobe diagram by

varying the spindle speed. If the integer number of waves

between subsequent teeth is incremented, a complete lobing

diagram is generated. The regions of stability indicated in

Figure 1.5.b correspond to the so called "miracle speeds." It

has been found that higher metal removal rates can be achieved

if the spindle speed can be directed into one of these pockets

of stability.

Delio et al. (1990) discuss how chatter has limited the

ability of High Speed High Power (HSHP) milling technology to

increase the MRR, and describe a system for automatic chatter

detection and control using a microphone as the principal

sensor. This system will be implemented in the present

research and is described in more detail below.

Eman and Wu (1980) studied the on-line identification of

chatter in turning from a stochastic approach using a

dynamometer to measure the forces on the tool and an

accelerometer located on the lathe center. An ARMA model was

used to identify chatter. The problem with the stochastic

approach, which treats the sensed phenomenon as a pseudo-

random "black box," is that no insight is provided into the




f/f 1


Figure 1.4. Transfer Function.
a) Real Part.
b) Imaginary Part.

Figure 1.5. Stability Lobes.
a) Lobe Generation.
b) Lobing Diagram.


f/fn= 1



f /f= <(1+)



dynamics of the system. Also, often quite high order models

are needed to identify the signal, which limits the ability of

the system to respond in real time. One merit of the approach,

on the other hand, is that it can adapt to changing dynamics

of the cutting operation.

Since the dynamics of machine tool chatter are well

understood, many researchers have taken a deterministic

approach to the problem. In an early work, Weck et al. (1975)

used a strain gage torque sensor mounted on the spindle

housing to detect chatter. The signal was passed through a

slip ring to the control system, which varied the spindle

speed to a stable cutting zone determined by vibration

measurements taken on the machine tool. The deterministic

approach requires that the dynamics of the machine tool be

accurately known, but parameters such as the amount of spindle

extension, the axial depth of cut, and the location of the

workpiece on the machine tool bed (which can vary during a

milling operation) can significantly affect the location of

stable speeds that can be predicted from stability diagrams.

A deterministic chatter recognition and control system

that does not rely on predetermined dynamic characterization

of the machine tool is described by Smith and Tlusty (1990)

and Smith and Delio (1989). The sound of the milling operation

was monitored by a microphone and processed into its frequency

spectrum. Using the fact that the chatter frequency usually is

close to the frequency of the most flexible mode of the tool-


workpiece system, they found that adjusting the spindle speed

so that the fundamental tooth frequency equaled the chatter

frequency eliminated chatter by disturbing the regeneration of

waviness. Chatter was detected by filtering the spectrum of

the tooth frequency and its harmonics and comparing the

remaining peak to a threshold value. This scheme will be

included in the comprehensive supervision system.

Spindle torque overload detection is used to stop the

machining process if the spindle motor is about to stall due

to a very heavy chip load. Many machine tool controllers

provide the operator information on spindle speed and power by

monitoring the motor current and voltage; however, there has

been little effort on the part of researchers or machine tool

manufacturers in developing a torque overload system.

The spindle motor current has been used as a "sensor" to

detect tool breakage (Matsushima et al., 1982), but this

approach has not proved practical because the motor's inertia

causes it to act like a low pass filter, and only cutter

breakage at very low spindle speeds can be detected.

The torque overload detection scheme developed as part of

the present research uses an encoder on the spindle motor as

a speed sensor. The actual spindle speed is compared to the

commanded spindle speed. If the difference is greater than a

certain threshold, the cutting process will be stopped before

the tool is stalled in the workpiece.


The principal focus of the present research will be the

creation of a machine tool supervision system, as suggested by

Tlusty and Smith (1989) in their paper on HSHP milling. The

discussion, above, of adaptive control schemes touched on the

similarity between A/C systems and machine tool supervision,

but a review of the literature shows that little has been

attempted so far in implementing a comprehensive system that

uses multiple sensors to regulate several different aspects of

the machining process.

Wright et al. (1990a) describe an open architecture

machine tool controller that they have developed as a pedestal

for both CAD/CAM research and for the development of sensor-

based control strategies. Their system shows a lot of promise,

in that its open architecture allows the easy integration of

sensors to control the feed and speed of the machine tool.

They describe an automatic workpiece locating scheme using a

touch-trigger probe. However, most of their efforts so far

have been in developing an expert system for workpiece

fixturing and tool path verification. The concentration is on

integrating the machine tool into an automated factory

environment rather than on the real-time monitoring and

control of the machining process.

Okafor et al. (1990) used neural networks to integrate

multiple sensor signals to estimate surface roughness and bore

tolerance in end milling. The cutting force (from a

dynamometer), the acceleration of the spindle housing (from an


accelerometer) and the acoustic emission from the spindle

housing (from an AE transducer) were the inputs to a network

that was trained to correlate these signals to the loss of

accuracy caused by tool wear. Although the implementation of

this system was focused on monitoring a specific phenomenon,

rather than supervision of the machine tool, the approach (and

the experimental setup) shows promise as the beginnings of a

comprehensive supervision system.

Principe and Yoon (1990) describe an expert system

approach to machine tool supervision. This work is part of a

cooperative research program between the Machine Tool

Laboratory and the Electrical Engineering Department at the

University of Florida. In his research, Yoon (1990) developed

a Revolution-Oriented Residual Processing Algorithm (RORPA) to

detect tool breakage, and integrated the RORPA in a knowledge

based supervision system intended to process multi-sensor

information from a machine tool. He proposes a hierarchical

system where each channel of sensor input is processed for

feature extraction by a dedicated DSP chip. The data are then

sent to a symbolic processing environment where decisions are

made as to the nature of the disturbance, and where action is

taken. The machine tool controller would be one component of

the distributed system.

So far, Yoon's work has been implemented off line, using

data taken from cutting tests performed by Tarng (1988). One

objective of the present research program, being pursued by


Walters (1991), is to provide a flexible interface to the

machine tool controller so that the expert system can be

implemented in real time, and a distributed processing

capability can be developed.

Outline of the Present Research

It can be seen that effective machine tool monitoring and

control schemes have been developed to deal with individual

disturbances to the cutting process. Some multi-sensor, multi-

objective schemes have been developed that could be included

in a comprehensive supervision system, but to date no such

system has been realized. It is the primary objective of the

present research to create such a system.

An external supervisory computer will be interfaced with

the machine tool controller. A library of subroutines will be

created that permits each of the separate supervision schemes

to obtain the necessary sensor data, and to communicate with

the machine tool. As discussed in the previous section, the

monitoring and control schemes that will be integrated in the

supervision system are

1. Adaptive control (Tyler, 1989).
2. Broken tool detection (Tarng, 1988).
3. Chatter recognition and control (Delio, 1989).
4. Spindle torque overload detection.

Each of the existing schemes will be revised as needed to take

advantage of the enhanced capabilities for control of the


machine tool. The system will be extremely flexible, and will

provide for the future networking of several computers for

expert system development and distributed processing.

As an extension of the on-line supervision system, a

portable off-line system will also be presented. It can be

used for characterization of the dynamics of the machine tool,

including data acquisition, Transfer Function measurement, and

the spectral analysis of chatter. Information provided by this

system could assist manufacturing engineers in identifying

dynamic phenomena that disrupt the cutting process.

The original contributions of the present research may be

summarized as follows:

1. Create a flexible interface between the machine tool
controller and the supervisory computer.

2. Develop a spindle torque overload detection system.

3. Integrate the separate monitoring and control
schemes into a comprehensive supervisory system.

4. Create a portable off-line machine evaluation system
to complement the on-line machine supervision system.

Chapter 2 of this dissertation is devoted to a detailed

description of the White-Sunstrand Series 20 Omnimil machine

tool and the Automation Intelligence FlexMate CNC controller.

The operation of the FlexMate Motion Co-Processor, which is

the heart of the controller, is outlined.

The monitoring and control schemes that comprise the

supervision system are described in Chapter 3. The discussion

focuses on the algorithms employed.


Chapter 4 concentrates on the supervision system itself.

The machine monitoring sensors, and the hardware and software

aspects of the interface between the controller and the

supervisory computer, are detailed. Then the implementation of

the complete supervision system is described.

In Chapter 5, the off-line portable machine evaluation

system is described. The features provided in the program

PCDATA will be presented and explained.

Chapter 6 contains the results of experimental cuts, made

on the Omnimil, that exercise both the on-line supervision

system and the off-line machine evaluation system. Machining

of aluminum with High Speed Steel end mills and machining cast

iron with a carbide insert face mill will be studied.

Chapter 7 contains an assessment of the systems, along

with suggestions for future research that could exploit their

potential, or extend their capabilities. The need for machine

tool controllers to directly support the interfacing of

external supervisory computers is discussed.


A description of the White-Sunstrand Series 20 Omnimil

and the Automation Intelligence FlexMate CNC controller is

presented. Since the implementation of the supervision system

requires close integration with the machine tool controller,

the operation of the FlexMate Motion Co-Processor is discussed

in detail.

The White-Sunstrand Series 20 Omnimil

The White-Sunstrand Series 20 Omnimil Machining Center,

White-Sunstrand (1983a, 1983b), is a horizontal spindle

milling machine with three linear axes, a 360 degree discrete

rotary index table and a 30 position automatic tool changer.

Figure 2.1 shows a drawing of the machine tool, indicating the

standard X, Y and Z linear axis designations.

The three linear axes are driven by high speed armature

controlled D.C servo motors, and are positioned by ball screw

and nut assemblies. The maximum feed rate for the axes is 400

inches per minute. The ball screws are supported by angular

contact ball bearings. The X and Y axis slides ride on

rectangular ways by means of recirculating anti-friction


Figure 2.1. The White-Sunstrand Series 20 Omnimil
(After White-Sunstrand, 1983b).


bearing units. The Z axis is mounted horizontally in the

column of the machine and is moved vertically by the Y axis

drive. Z axis motion is accomplished by means of a nine inch

diameter quill that is supported by two widely spaced linear

guide bushings.

The spindle is supported inside the quill at the nose end

by two precision angular contact ball bearings and in the rear

by one dual row roller bearing. The spindle is driven by a

variable speed 25 HP D.C. motor with a maximum speed of 5500

RPM. The spindle accommodates a #50 taper V-flange tool holder

that employs hydraulic axial tool retention and a positive

drive key.

Each linear axis is equipped with an incremental optical

encoder for position feedback to the servo drives. The

encoders output 2500 pulses per revolution of input shaft

rotation. The encoders are coupled to the drive screws, which

have a pitch of 0.5 inches. The effective resolution of the

linear positioning systems on each axis is +/- 0.0005 inches.

The D.C servo motors have tachogenerators for velocity

feedback and are powered through Silicon Controlled Rectifier

(SCR) drive amplifiers. Each axis servo is controlled by an

Axis Drive Control (ADC) assembly. The ADC servo boards use

the positional error analog voltage (Ep), that is output from

the CNC controller, and the tachogenerator voltage, to

generate the signal that moves the axes. Figure 2.2 shows a

schematic diagram of a typical linear axis ADC.

Figure 2.2. Schematic of a Typical ADC Servo Board
(After White-Sunstrand, 1983a).



Figure 2.3. Block diagram of a Typical Axis Servo
Feedback Loop.


The ADC servo boards provide access for adjusting the

positional gain, velocity gain and velocity feedback gain of

the X, Y and Z axis servo loops. Also provided is an Axis Test

Panel that gives convenient access to the raw positional

feedback voltages for each axis. Figure 2.3 shows a classical

block diagram of a linear axis positional feedback loop with

the ADC gain adjusting pots identified. It can be seen that

the ADC servo boards control the velocity loop of the drives,

while the CNC closes the positional loop.

The Automation Intelligence FlexMate Controller

The Omnimil was originally equipped with a Micro Swinc

CNC controller. As part of the present research program, this

controller was replaced by a FlexMate CNC controller supplied

by Automation Intelligence (AI) in Orlando, Florida. This move

was made because the FlexMate provides a flexible and

relatively open architecture for customizing the control of

the machine tool. As discussed in Chapter 1, it is essential

that a sensor-based supervision system have real time access

to the machine control parameters of the CNC.

Figure 2.4 shows an outline of the control enclosure in

the Omnimil. The ADC servo boards and the Axis Test Panel

discussed in the previous section can be seen. The units


MOTION CO-PROCESSOR were installed as part of the AI FlexMate

24 VDC L















Figure 2.4. The Control Enclosure of the Omnimil Showing
the Installation of the FlexMate Controller.













controller, and take the place of the Micro Swinc controller.

The "FlexMate Motion Co-Processor Installation and Maintenance

Manual" (Automation Intelligence, 1987) describes in detail

the function of the individual controller components.

The Remote I/O Boards module is a chassis containing

several printed circuit (PC) cards that read inputs from the

machine (such as limit switches), and send output signals from

the controller to devices on the machine (such as the chip

conveyor). The inputs are read as 24 VDC 16 bit logic words,

and the outputs are in general 115 VAC signals. The principal

function of this module is to step up the working range of the

Motion Co-Processor from the 0.0 5.0 volt logic range to the

voltages required to read and activate devices on the Omnimil.

The System Co-Processor (SCP) is an 80286 8 MHz IBM

industrial computer. It has one megabyte of memory, an EGA

display adapter, a 30 megabyte hard drive, a 3.5 inch floppy

drive and a serial communications adapter with 4 ports. The

serial ports COM1 and COM2 are reserved for communication with

the Motion Co-Processor. COM3 and COM4 are available for the

machine tool user. The SCP is used for loading system

software, managing the operator console screen display and

loading, editing and sending part programs to the Motion Co-

Processor. As will be described in the next section, it is

also possible to use the SCP to install application-specific

subroutines directly into the Motion Co-Processor, as well as

modifying the configuration of the Motion Co-Processor itself.


The SCP uses the DOS 3.3 operating system. However, when

the CNC is in operation, a pseudo multi-tasking environment

called TASKVIEW is used. This system manages DOS, and divides

program execution time into 10 slices (called partitions) of

0.0625 seconds each. The Motion Co-Processor uses every other

two partitions, leaving the remainder for use by the machine

tool user for specific applications. As far as the present

research goes, however, the available processing time in the

SCP does not allow the supervision schemes to react quickly

enough to sudden phenomena such as tool breakage. For this

reason, an external computer must be used, instead of the SCP,

to implement the supervisory system.

The Motion Co-Processor (MCP), which communicates with

the SCP by means of the two 19.2 kilo baud serial links,

contains the PC cards that achieve the actual CNC control of

the Omnimil. These cards complete the positional feedback

loops by reading the encoders on the axis drives and sending

the positional error Ep, as an analog voltage, to the ADC

servo boards. The servo commands are updated each 0.002

seconds. Motion interpolation calculations are also performed

here. The interpolations are updated each 0.010 seconds, and

in between this time period the interpolations are themselves

interpolated. All relevant machine condition information is

updated to the CRT screen display, and to the Machine Function

Panel on the operator console, from this unit. Figure 2.5

shows a schematic of the complete FlexMate controller.


CM.......... CPUTER
OTION ---------------PROCESSOR

Figure 2.5. A Schematic of the FlexMate CNC Controller.

Figure 2.6. The FlexMate Operator Console and Machine Function
Panel (After Automation Intelligence, 1989).

3 O O 0 0 0

O 0




Figure 2.6 shows a sketch of the FlexMate operator

console. This station includes the Machine Function Panel

(MFP), which is to the right of the CRT. The operator monitors

the state of the machine tool by selecting various information

windows available on the CRT. Part programs can be selected,

edited and executed. The MFP provides the operator control of

the various machine operations, such as changing the feed rate

override. The function of the individual controls on the

console is outlined in the "FlexMate Machining Center

Operator's Guide" (Automation Intelligence, 1989).

The FlexMate Motion Co-Processor

The CNC control of the Omnimil is accomplished by the

FlexMate Motion Co-Processor (MCP). Figure 2.7 shows a system

schematic of the controller components. The Z-80 Multi Control

Card (ZMC) manages communication between the MCP and the

System Co-Processor (SCP) using COM1 and COM2. COM1 is used

for displays and status on the Operator Control Console, and

COM2 is reserved for data and commands. Communication to the

Machine Function Panel (MFP) is through an extra 19.2 kilo

baud serial link. The ZMC also controls a 3.5 inch floppy

drive that is located in the MCP chassis.

The ZMC manages data on the I/O bus that connects the

different PC cards inside the MCP chassis, and communicates

with the Central Processing Unit (CPU) through an internal

r w "O-- -a F.


Figure 2.7. Schematic of the Motion Co-Processor
(After Automation Intelligence, 1987).


19.2 kilo baud serial link. The CPU, which is the heart of the

motion co-processor, consists of three cards. The Static Ram

Board (SRB), which has 512 kilo bytes of battery protected

memory, stores the executive program and data for operation of

the machine tool. The Turbo Arithmetic Processor Card (TAP) is

responsible for decoding and execution of the CPU instruction

set. The Micro-Support Processor Card (USP) assists the TAP in

the execution of the instruction set, and also handles data

transfer through the CPU bus and through the serial link to

the ZMC. The TAP and USP cards function together to make up

the computer that controls the machine tool. The MCP computer

is effectively a 16 bit machine with an on-board memory of

256K words.

The System Timing and Relay Card (STR) provides system

timing, and the reference voltages for the axes. The board

also contains the circuits for remote starting the CPU by the

CONTROL ON pushbutton on the operator panel, as well as a

"Deadman Circuit" that generates an EMERGENCY STOP if the CPU

fails to reset a timer every 0.035 seconds.

The Power Monitor Card (PMC) monitors the +/- 15.0 VDC

and + 5.0 VDC power supplies in the MCP. The Floppy Drive

Board (FLB) contains the 3.5 inch floppy drive. This drive is

used for saving and loading an image of the SRB memory,

including the current configuration of the controller. The

Analog Input Card (ANI) is a 4 channel, 16 bit, +/- 10.0 VDC

Analog-to-Digital converter. Two of its channels are presently


used to read the spindle power output. The other two channels

are available.

Feedback from the optical encoder on each axis drive is

obtained by a Dual Encoder Interface Card (ENC). There are

three ENC's in the MCP. They monitor the X Y and Z axis

positions and present the information on the I/O bus to the

CPU on demand. The cards are controlled by the CPU, and output

the positional error command (Ep) computed by the MCP through

a 16 bit Digital-to-Analog converter. This signal is sent to

the ADC servo boards.

The Input/Output Converter Driver Card (IOQ) is used to

interface up to 64 bits of management and operational data

between the CPU and the REMOTE I/O card cage that is

interfaced to the machine tool. There are two IOQ boards used

in the FlexMate for MCP control of the Omnimil, operating in

the 0.0 5.0 volt TTL logic range. The remote I/O card cage

contains a number of Point Contact I/O Cards (PCI/PCO). These

cards provide the interface between the TTL logic of the MCP

and the 24 VDC and 115 VAC signals used in the machine tool.

The interface between the MCP and the external computer

containing the supervision system uses a third IOQ card. This

card is used to establish a 32 bit parallel interface for

receiving machine tool status information from the MCP and

requesting machine functions such as FEED HOLD from the MCP.

The ability to interrupt the MCP so that data can be

transferred through the IOQ interface is provided by the Fast


Input Board (FIB). The FIB is an 8 bit maskable interrupt

generator that is software compatible to the IOQ. It can

interrupt the MCP within 0.002 seconds, and the interrupt can

be pointed at a designated application program in the MCP.

There are two event areas within the MCP, called OEM_MAIN

and OEM SYNC, where user-supplied Logic Control Language (LCL)

programs can be activated in the CPU when predetermined bit

patterns appear on the FIB. The supervision system interface

software utilizes the OEM MAIN event area to enable

communication between the remote supervision computer and the

MCP. The OEM-SYNC area is used to implement a special fast

stopping routine that is needed by the supervision schemes.

The MCP is an interrupt driven system. There are 32 tasks

ranging from the lowest priority, level &HO, to the highest

priority, level &H1F. When an interrupt occurs, the task

scheduler is invoked. It looks for the highest priority task

that is both active and able, and executes it. Table 2.1 lists

the FlexMate task structure as installed on the Omnimil.

MAIN (level &H3) is a low priority event area that runs

continually in the background. SYNC (level &H1D) is a high

priority foreground task that interrupts MAIN every 0.010

seconds. LCL code in the SYNC area must execute to completion

within the 0.010 seconds. Code in the MAIN area, however, is

continued from the point where it was suspended after each

0.010 second time out. The MCP memory available for OEM_SYNC

code is 2 kilo bytes. This area is intended for programs that

are short and which must run to completion within 0.010

seconds. The memory available for OEM_MAIN code is 64 kilo

bytes, and the execution time can be as long as the user


Table 2.1. Flexmate Interrupt Task Structure



The FlexMate provides a program development environment

for writing LCL programs. The language is a generic version of

the C language. The source code is compiled, assembled and

linked into the proprietary executable code that will run on

the MCP computer. A library of "Window Functions" is supplied

that gives the programmer access to most of the critical

parameters of the CNC. The interface and the fast stopping

routine make use of several of these functions.


The memory of the MCP is divided into several discrete

regions. High memory is reserved for the MCP executive program

that actually performs the machine motion control, including

interpolations. Also, programs that run in OEM_SYNC and

OEM_MAIN are assigned space in this area when they are loaded

into the MCP. The System Data Table, starting at address

&H2C00, consists of variables that can be read and changed by

an LCL program. The System Constant Table, starting at address

&H1000, contains flags for the interrupt logic as well as the

definitions of the FlexMate's I/O space and the motion control

tables. This area may be considered the heart of the MCP. The

Operating System, which starts at &HOOFF, contains the task

and I/O scheduler and the interrupt vectors. The Zero Page

area, which begins at &H0000, contains the system pointers and


The flags and tables that show the status of the drive

and motion programs in the MCP are collected into a master

table in the System Constant Table called "MOSTAT" at address

&H17DD. Figure 2.8 shows a simplified block diagram of how the

positional feedback loop is closed inside the MCP. The

variable names in the block diagram refer to per-axis tables

that are contained in MOSTAT. The motion interpolator outputs

an incremental position command to the table XREF (the

absolute axis reference is held in a table called XCOMM).

Feedback from the axis encoders is processed into engineering

units and held in the XFBK table. XERR is the difference


between the commanded incremental position and the feedback

position. The following error values in XERR are converted to

increments for the Digital-to-Analog converter, and are output

to the ADC servo boards as the analog voltage Ep, which is

essentially a velocity command.





Figure 2.8. Block Diagram of the MCP Positional Loop.

It can be seen that in allowing the machine tool user to

read and change many parameters of the CNC controller, the

FlexMate provides an architecture that is open enough for the

development of a machine tool supervision system. The fast

stopping routine mentioned above will be described in Chapter

3, and details of the interface between the MCP and the

supervisory computer will be presented in Chapter 4.


Before the implementation of the supervision system is

presented, it is important to describe the individual machine

monitoring and control schemes that will be employed. With the

exception of the Spindle Torque Overload Detection System,

which was developed as part of the present research, the

schemes are the result of previous research programs conducted

at the Machine Tool Laboratory of the University of Florida.

A special fast stopping routine that is used by all the

schemes is also presented.

Adaptive Control System

The Adaptive Control (A/C) system was developed by Tyler

(1989). One purpose of the system is to allow the tool to be

moved at rapid speeds when there is no metal cutting. When the

tool encounters the workpiece, the impact is detected and the

axis feed is stopped by an fast stopping routine (described

below). After the tool feed has stopped, the servo loop is

reconnected and the adaptive control loop begins regulating

the cutting feedrate.


The adaptive control loop increases the feed rate during

the actual cutting until either the specified feed rate or the

vibration limit is reached. The fast stop is also called if

the vibration exceeds the specified threshold in the adaptive

control loop. The adaptive control loop runs constantly during

the cut. If the vibration falls below a lower threshold,

indicating a non-cutting condition, the program returns to the

fast transient mode. Figure 3.1 shows a flow chart of the

Adaptive Control system.

The hardware of the A/C system will be described in

detail in Chapter 4. The system was originally implemented

using a Kistler model 9067 table dynamometer to measure the

cutting force, but for the present research a displacement

signal was used instead. This change of sensors was made

because the dynamometer has been shown to distort frequencies

above about 70 Hz in the machine X axis direction, and above

about 200 Hz in the machine Y axis direction (Smith, 1985;

Tarng, 1986; Tyler 1989). A sensor ring containing four

inductance probes (two for the X axis and two for the Y axis)

has been fitted to the spindle housing. A signal conditioning

system presents the X and Y axis vibration signals to a data

acquisition board in the supervision computer.

Originally, data acquisition for the A/C system was

externally triggered and timed by the pulses from a variable

reluctance magnetic pickup that read the passage of the teeth

of a 72 tooth gear attached to the spindle. For the

Figure 3.1. Flow Chart of the Adaptive Control Algorithm
(After Tyler, 1989).


implementation of the supervision system, a 240 line encoder

attached to the spindle shaft was used instead of the pickup

and gear. This change was made because of the improved

resolution in synchronizing the data sampling that is possible

from the encoder, as well as the advantage of moving the

sensor away from the cutting process.

Control of the axis feedrates, based on the vibration of

the cutting process, is accomplished by varying the percentage

of feedrate override using one of the supervision subroutines

created as part of the present research. The redesign of the

A/C system to use the new sensors, and the supervision

subroutines, is described in Chapter 6.

The Fast Stopping Routine

The fast stopping routine used in the A/C system was

originally implemented as a hard-wired interface to the CNC

controller. A relay was used to break the line carrying the

following error command (Ep) to the servos. After the drive

had stopped, a small voltage was used to remove the remaining

following error, and the control loop was reconnected. As part

of the present research, the routine has been redesigned to

take advantage of the interface to the MCP.

Figure 3.2 shows a flow chart of the Fast Stopping

Routine. The algorithm uses the interface software iface.c,

installed in the OEM MAIN area of the MCP, and a specialized

Figure 3.2. Flow Chart of the Fast Stop Algorithm.

routine, stop.c, installed in OEM_SYNC. The programs are

listed in Appendix A, and complete details of the routines are

described in the report by Wells (1991a).

When the FastStop subroutine is called, the function

called iface_interrupt, running in OEMMAIN, stops

interpolation by issuing an internal feedhold to the MCP. The

X and Y axis drives are disconnected from the CNC, and zero

volts are written to the servos, by setting the XINHDPE table


flag to -1. When the fast_stop_flag is set equal to 1, the

code in OEMSYNC takes over on the next SYNC pass. The routine

waits for the axes to slow down by monitoring the change in

the feedback position using the XFBK table. The feedhold is

held on until the ClearFastStop subroutine is executed.

When the fast stop is cleared, the XINHDPE table flag is

set equal to 1, which enables the axis D/A converters for

output. A small voltage is output to move the servos until the

CNC positional error (which is the difference between the XREF

and XFBK tables) is within +/- 0.001 inches. When the axes are

in position, XINHDPE is set equal to 0, which reconnects the

servos to the CNC position command generator.

The fast stopping routine is useful for all the machine

supervision schemes, since it allows the feed to be stopped

much faster than is possible by a conventional feedhold. In

Chapter 6, the performance of the routine will be evaluated as

it is exercised as part of the supervision system.

Tool Breakage Detection System

The Tool Breakage Recognition system (Tarng, 1986, 1988)

is designed to stop the axis feeds immediately when tool

breakage occurs. A flow chart of the algorithm is shown in

Figure 3.3. The data acquisition is triggered and timed

externally from the spindle encoder, and the vibration of the

tool is sensed by inductance probes. It can be seen that the










Figure 3.3. Flow Chart of the Broken Tool Detection
Algorithm (After Tarng, 1988).


same sensor signals used in the A/C system are used for the

tool breakage system. If tool breakage is detected, the

program calls the supervision subroutine that issues a fast

stop command to the CNC controller.

The scheme has two main parts, spindle runout

determination and tool breakage detection. The spindle runout

section samples spindle vibration in synchronization with the

tool rotation while the tool is not cutting. The samples are

taken following a once-per-revolution trigger signal, and the

displacement values are averaged for each tooth period.

The tool breakage detection portion of the program

samples and averages the spindle vibration in the same way as

the runout portion. The runout values are subtracted from the

new values to separate the cutting deflections from the

runout. The difference between consecutive average deflection

values are then taken as an indication of how the forces on

the tool are changing from tooth period to tooth period. For

an undamaged cutter, the difference values will remain between

upper and lower threshold limits. When a cutter is damaged,

however, the consecutive difference values will exceed both

the positive and negative threshold limits and the algorithm

issues a fast stop command.

As a broken tooth enters the cut, its chip load is

smaller than for the unbroken teeth, which results in a sharp

change in the spindle deflection. When the next unbroken tooth

enters the cut, it has an increased chip load which results in


an opposite change in the spindle deflection. Figure 3.4 shows

a detail of the first difference of the vibration signal from

an eight tooth 4.25 inch diameter face mill cutting cast iron

with one damaged insert. The signature of tool breakage can

clearly be seen. Transients such as entry to and exit from the

workpiece, hitting a hard spot in the material, or milling

over slots have been shown by Tarng (1988) not to produce this

effect and will not be mistaken as tool breakage.


-5.8 L

268 278 288 298 388

Figure 3.4. Detail of the First Difference of the Vibration
Signal from a Damaged Face Mill.

Adaptive thresholding for the system is currently being

studied in the Machine Tool Laboratory (Vierck, 1991).

Adaptive signal processing schemes and digital filtering are

also being studied as ways of identifying the characteristic


tool breakage signal. The distributed supervision system being

developed by Walters (1991) also includes a real time

application of the RORPA algorithm of Yoon (1990).

Chatter Recognition and Control System

Smith (1985, 1987) studied forced vibrations and chatter

in high speed milling, and developed a strategy for chatter

regulation by spindle speed selection. The real time chatter

recognition and control system was created by Delio (1989),

and was implemented on a vertical milling machine,

manufactured by Lamb, using a 9000 RPM Setco spindle. The CNC

controller was a General Electric Mark Century 2000. The

scheme was further developed by Keyvanmanesh (1990) to take

advantage of the 25000 RPM range of a Setco experimental high

speed spindle. A simplified flow chart of the algorithm is

presented in Figure 3.5.

The system works by sampling the cutting noise from an

audio microphone near the machine. Two microphones could be

used for directionalization if the system is affected by noise

from other machines. A Digital Signal Processor (DSP) performs

a Fast Fourier Transform (FFT) on the microphone signal in

real time. The supervision computer then processes the FFT

signal, filtering the tooth frequency and its harmonics, and

determines the frequency of chatter if it exists. The same

fast stopping strategy used in the A/C system is used to stop


Figure 3.5. Flow Chart of the Chatter Recognition and Control


the feed. This minimizes the amount of bad surface that is

generated. Then, based on the relationship between chatter and

spindle speed described by Smith (1987), the algorithm

commands a new spindle speed to the machine tool. The feedrate

is also increased in order to maintain the same feed per tooth

on the cutter.

In order to detect chatter it is essential to be able to

reject the runout and tooth frequency harmonics that are seen

in the spectrum of the cutting signal. For this reason, the

spindle speed must be accurately known in real time. Also, the

means of controlling chatter relies on setting the spindle to

a speed such that the tooth frequency of the tool equals the

chatter frequency that was detected. A digital tachometer that

can resolve speeds to +/- 2 RPM is used in the supervision

system to sense the spindle speed on the Omnimil.

Figure 3.6 shows an example of the spectrum of a stable

machining cut. The data was sampled by the off-line machine

evaluation program described in Chapter 5. The tooth

frequency, which is itself an harmonic of the spindle

frequency, can be clearly seen. Figure 3.7 shows the spectrum

of an unstable cut made with the same tool. The chatter, which

has a frequency of 3623 Hz, was caused by increasing the axial

depth of cut beyond the limiting value for stability, bim,. It

can be seen that the chatter peak and its frequency could now

be clearly identified in the spectrum if the tooth frequency

and its harmonics were filtered.


MUr a~W~tLh _____________________________

0 588 1088 1588 2888 2588 3888 3588

Figure 3.6. Spectrum of a Stable Machining Cut.



.... -............. ........... ----..........-


....... ............... :............... .............................. ............................... ...


8 1583i3

B 588 1008 1588 2888 2588 3888 3588
FREq (Hz)

Figure 3.7. Spectrum of an Unstable Machining Cut.



-.. -----...- i-- i-- ** -jI. .j-. .





A Rf


T .............. ...............

....................... ................ ...............

. II .....







Spindle Torque Overload Detection System

As part of the present research, a monitoring scheme was

developed that senses when the spindle motor is about to

stall. This problem occurs when the tool is cutting too heavy

a chip load, and can damage both the tool and the workpiece.

A flow chart for the algorithm is shown in Figure 3.8, and a

listing of the system software is presented in Appendix B.

Figure 3.8. Flow Chart of the Spindle Torque Overload
Detection Algorithm.


The output torque of an armature controlled DC motor is

produced by the current in the armature. This torque

accelerates the drive inertia, and must overcome the external

load torque and the losses due to windage and friction. This

relationship may be expressed as

T = Kti = Ja + Bw + TL (3.1)

where T is the motor torque, Kt is the motor torque constant,

i is the armature current, J is the motor and drive inertia,

a is the motor acceleration, B is the loss coefficient, a is

the motor speed, and Tt is the load torque. Usually the

windage and friction losses are small compared to the other

parameters and may be neglected. Rewriting the above equation

with the loss term deleted and solving for acceleration gives

a = (T Tt) / J (3.2)

This expression shows that monitoring the speed change gives

a direct indication of the spindle motor torque.

The scheme works by reading the CNC spindle speed in real

time using one of the supervision subroutines. The speed

threshold is input as a percentage of the CNC commanded speed.

It was determined after watching the speed variation during

various machining cuts that a 95 percent limit will not cause

any false triggers of the system.


The actual spindle speed is read and compared to the

limit speed, and if the speed change is beyond the threshold

then a fast stop command is issued to the Motion Co-Processor.

When the operator clears the fast stop, the system returns to

its monitoring mode. The scheme is designed to track

legitimate speed changes commanded from CNC code blocks, the

operator console or from the other supervision schemes, so

that only a speed change caused by an impending stall will

trigger the fast stop.

The spindle motor on the Omnimil has tachogenerator

feedback, but the high AC component of this voltage makes it

unsuitable for sensing the spindle speed. In order to

implement a tachometer in the supervisory computer, the pulse

train from the 240 line spindle encoder is passed through a

divide-by-240 counter, producing one pulse per revolution.

This signal is also used to trigger data acquisition for the

other supervision schemes, as will be described in Chapter 4.

Since the standard timer available in the supervisory

computer can only resolve 0.052 second intervals, a strategy

was devised to strobe the printer port with the once-per-

revolution signal after it was converted from a TTL pulse

train to an impulse train that could be read by the port. By

redirecting the interrupts from the DOS clock and the LPT1

printer port, the signal is processed into a digital

tachometer that can resolve speeds to +/- 2 RPM, and which has

an effective operating range up to 5000 RPM. John Frost of


Manufacturing Laboratories contributed the interrupt code and

circuits necessary to implement the tachometer.

In Chapter 4 an inventory of the sensors and data

acquisition hardware needed for the supervision system will

show that the individual schemes share most of the same sensor

inputs. It will also be shown that only a relatively small

number of supervision subroutines are needed to provide the

necessary control of the machine tool.


The actual implementation of the on-line supervision

system will be described in this chapter. The sensor signals

required for the system will be discussed, along with the data

acquisition hardware used in the supervision computer. The

hardware layout of the interface between the computer and the

FlexMate controller will be described, as well as the

interface protocol used between the CNC controller and the

supervisory computer. The supervision subroutines will then be

presented, along with a description of overall system.

An Inventory of the Sensors

Each machine supervision scheme described in Chapter 3

needs its own sensor input. The schemes have been designed,

however, to make use of shared sensor data. The adaptive

control system and the tool breakage system both need X and Y

axis vibration signals, as well as the spindle speed for data

sampling. The torque overload system needs only the spindle

speed. The chatter control system needs a microphone signal

and the spindle speed. Figure 4.1 shows the placement of the

sensors, and their connection to the supervisory computer.



Figure 4.1. Diagram of the On-Line Machine Tool Supervision System.



A sensor ring that contains four Mac-Euro inductance

probes is used for measuring the X and Y direction vibrations

on the Omnimil. Two probes measure the X axis vibration, and

two measure the Y axis vibration. The ring is mounted on the

spindle quill, and picks up the vibration of the tool holder

relative to the quill. It has been shown that this location

for a vibration transducer, although it does not directly

measure the vibration of the tool relative to the workpiece,

gives an accurate indication of the vibrations generated by

the metal cutting process (Tarng, 1988).

The resolution of the inductance probes has been

determined to be 1.7.5 microns per volt, and their bandwidth is

0 to 3000 Hz. The signals from the probes are pre-processed by

a Mac-Euro MEB-1210 signal conditioning board, which can also

compute the magnitude of the vector sum of the X and Y axis

vibrations. The signals are sampled by the Analog-to-Digital

data acquisition board in the supervision computer.

The spindle encoder is a BEI Chatsworth model 84C, 240

line, incremental optical encoder with a 1400 cycle resolution

and a maximum slewing speed of 5000 RPM. It is attached

directly to the spindle shaft in the rear of the Omnimil. The

240 pulse per revolution signal is used as an external clock

for the data acquisition. Output of the encoder is also

processed through a divide by 240 counter circuit, giving a

once per revolution pulse train. This signal is used for

external triggering of the data acquisition. The two signals


together can thus be used to synchronize the data acquisition

to the rotation of the cutting tools. The once per revolution

signal is also used to monitor the spindle speed, as described

in the discussion of the torque overload system in Chapter 3.

The microphone used for chatter detection is a Realistic

model 33-2011 condenser microphone with a frequency response

band width of 20 to 13000 Hz. Machine tool vibrations can be

effectively measured from audio signals if the noise of

adjacent machines can be excluded (Delio, 1989). The advantage

of using a microphone is that it does not need to be

physically connected to the machine tool. It is also possible

to use the vibration signals from the inductance probes to

detect the onset of chatter, but the bandwidth of the probes

limits their ability to resolve chatter frequencies above 3000

Hz. Since the microphone signal range is less than 500 mV, a

variable gain amplifier is used to boost the signal to the +/-

10 volt range of the data acquisition board.

Data acquisition for the sensor signals is by a Data

Translation model DT-2818 A/D-D/A board (Data Translation,

1988). The DT-2818 provides four single ended Analog-to-

Digital (A/D) input channels (simultaneously sampled and

held), two Digital-to-Analog (D/A) output channels, and two

eight bit Digital Input/Output (DIO) channels. It has been

configured to have A/D and D/A input ranges of +/- 10 volts.

The DT-2818 has 12 bit digital resolution, which means that

the voltage resolution is 20 volts / 4096 = .00488 volts.


The DT-2818 can sample data in three basic modes. In the

immediate mode, single data values are read each time the

board is activated. In the block mode, a specified number of

samples are taken, with the conversion rate governed by the

speed of the sampling loop in the host computer. In the Direct

Memory Access (DMA) mode, the sampling rate is limited only by

the performance of the data acquisition board. The DT-2818 is

capable of a maximum theoretical data throughput of 27.5 kHz

in the DMA mode. Specific aspects of DMA data acquisition are

discussed in the next chapter.

The FFT computations required by the Chatter Recognition

and Control system are performed by an Athena DUAL-32 digital

signal processing (DSP) board. The DSP board is installed

inside the supervision computer, and executes an FFT algorithm

that has been coded directly into its processor. The speed of

the processor makes it possible to perform real time FFT

calculations on windows of data sampled by the DT-2818 board.

As well as sampling signals from the sensors, the

supervision system must also monitor parameters from the

machine tool itself. The majority of these values are known to

the FlexMate controller, and can therefore be read by the

supervision subroutines. However, if future development of the

system requires sampling of analog signals from the machine

tool, such as servo tachometer voltages, then extra data

acquisition channels could be provided by adding a second DT-

2818 board, or by substituting a data acquisition board that


has a higher channel density (and perhaps a faster DMA data


Table 4.1 summarizes the sensor and machine parameter

inputs that are needed by the supervision system. It can be

seen that a relatively small number of sensor inputs are

needed to implement the system. Of course, different sensors

could be used depending on the requirements of specific

control strategies and machine applications.

Table 4.1. Sensor Inputs Required by the Supervision System.


Encoder Spindle Shaft All
Inductance Probe Spindle Housing A/C, Broken Tool
(X and Y Axis)
Microphone Near Chatter
Tool/Workpiece Recognition

The Interface Hardware

As mentioned in Chapter 2, the Fast Input Board (FIB) is

supplied with the FlexMate controller as a means for the

machine tool user to interface with the Motion Co-Processor

(MCP). The FIB is software compatible with the Input/Output

Converter Driver Card (IOQ). It is the combination of the FIB

and IOQ boards that provides the hardware capability of

interrupting and communicating with the FlexMate MCP. The IOQ


and FIB boards communicate with the MCP using the I/O bus

inside the MCP card cage (see Figure 2.7).

Figure 4.2 shows a diagram of the interface between the

supervisory computer and the MCP in the FlexMate. The physical

connections are made through a distribution box that is

mounted inside the control enclosure of the Omnimil. The

computer, which is a 6 MHz 80286 IBM AT with a numeric co-

processor, has a 32 bit Data Translation DT-2817 digital I/O

board installed. Ports 0 and 1 are enabled for output and

ports 2 and 3 are enabled for input. Each port has eight bits.

Bit 7 of port 1 is connected to bit 0 of the FIB board in

the MCP. This is the FIB INTERRUPT line that signals the MCP

that the supervisory computer is requesting attention. Since

the FIB operates on 24 volt logic, the TTL output of the

computer is used to switch a relay circuit that passes 24

volts when activated (Tyler, 1989).

There are four 16 bit ports on the IOQ board. The

interface uses only two of them, port D which is enabled for

input and port E which is enabled for output. Data transfer is

synchronized by the ACKNOWLEDGE bit on the supervisory

computer side and the TRANSMIT READY bit on the FlexMate side.

Data transfer consists of sending information in single byte

(8 bit) packets from port 0 on the computer to port D on the

IOQ, and from port E on the IOQ to port 3 on the computer. In

the following section, the actual communication protocol will

be outlined.

Figure 4.2. Hardware Configuration of the Supervision

The Interface Software

The software that handles the interface on the FlexMate

side is called iface.c, and is installed in the OEM_MAIN area

of the MCP as described in Chapter 2. The program pciface.c is

the corresponding interface and supervision software in the

supervisory computer. Both programs are listed in Appendix A,

and are described in detail in the report by Wells (1991a).

Communication is always initiated by the supervisory computer,

and the actual data transfer is coordinated by the code

running in the MCP. The low-level communication protocol used

in the programs was designed by Walters (1991).

With the exception of the FastStop, ClearFastStop and

SetFeedOvrd routines, which are handled at FIB interrupt time,

a call to one of the supervision subroutines initiates a data

transfer between the computer and the MCP. Each supervision

subroutine uses the mcp_call function:

mcp_call (mcp_cmd, out_data_type, out_data, in_datatype,

The first value in the mcp_call argument list is a short

integer, mcp_cmd, which tells the MCP which supervisory

routine is being initiated. The second value is a short

integer, out_datatype, that tells the MCP what type of data

is going to be sent (short or long integer, or NULL). The

third value, outdata, is the data to be sent to the MCP. The

fourth value is a short integer, in_data_type, that defines


what type of data will be returned from the MCP (short or long

integer, or NULL). The fifth value, in_data, is the data that

is returned from the MCP.

The function mcp_call first issues an interrupt to the

MCP using the interrupt_mcp function. The MCP acknowledges the

interrupt by setting the TRANSMIT READY bit high. The command

code, mcp_cmd, is then written to the MCP, and a switch

statement is used to decide what kind of data needs to be

written to or read from the MCP.

Since data transfer takes place one byte at a time, it is

instructive to describe the sequence by which one byte is

transferred from the supervisory computer to the MCP in the

write tomcp and read_from_mcp functions:

1. Wait for a TRANSMIT READY signal from the MCP.

2. Write the byte on port 0, or read the byte on port 3.

3. Set the ACKNOWLEDGE bit on port 1.

4. Wait for a TRANSMIT STOP signal from the MCP.

5. Clear the ACKNOWLEDGE bit on port 1.

This sequence is repeated twice for single word (short

integer), and four times for a long integer transfer.

Communication on the MCP side is handled in switch

statements in the ifacemain function of iface.c. Based on the

command word, and the input and output data types, the MCP

knows which command it has to execute, and whether there is

data to be read from or written to the supervisory computer.

Integration of the Supervision System

The interface has been designed so that additions and

modifications to the supervision subroutines can be made

relatively easily as the need for new functions is identified.

For the present system, however, a discrete set of control

options has been provided. Table 4.2 presents a list of the

basic machine monitoring and control parameters that are

needed by the supervision system. It can be seen that only a

few critical control functions are necessary to provide the

system the means for managing the machine tool.

Table 4.2. Machine Control Parameters Needed by the
Supervision System


Fast Stop Output All
Feed Rate Input / Output A/C, Chatter
Percent Override
Spindle Speed Input / Output Chatter, Torque

The supervision subroutines created as part of the

present research provide an elegant means for the system to

communicate with the machine tool controller. Before the

supervision system interface was created, control of such

values as the spindle speed and the feedrate override was

accomplished by testing signals in the controller, and

splicing wires to the appropriate circuits. Integration of the


separate schemes into a comprehensive system has meant, in

part, replacing the reading and writing of voltages through

data acquisition boards with calls to subroutines that command

or retrieve the required data. Considering the needs of each

scheme, the subroutines listed in Table 4.3 have been created.

Table 4.3. List of the Supervision Subroutines.


1. Dt2817Init (); Initialize I/O board
2. FastStop (); Request fast stop
3. ClearFastStop (); Clear fast stop
4. ExtFeedhold (); Request external feed hold
5. SetFeedOvrd (int pfp); Set feedrate override
6. GetFeedrate (long *fr); Get programmed feedrate
7. GetManFeedOvrd (int *mfp); Get manual feed override
8. SetSpindleSpeed (int ns); Set the CNC spindle speed
9. GetSpindleSpeed (int *rpm); Get the CNC spindle speed

The Dt2817Init routine must be called at the start of a

supervision program to initialize the DT-2817 digital I/O

board. The FastStop and ClearFastStop routines are discussed

below. The ExtFeedhold routine toggles an external feedhold on

the MCP. This kind of feedhold can be cleared by the machine

operator, and is useful for suspending machining in a non-

emergency situation.

The SetFeedOvrd routine allows the programmed feedrate

override to be changed up to 200 percent from the supervisory

computer. The argument is a short integer representing the

feed override as a percentage. This subroutine does not

initiate a data transfer to the MCP, but sets the programmed


override at the time of the FIB interrupt. The feedrate

override is then maintained as part of the stop.c program that

is running in OEM_SYNC. Also, completion of the command is not

acknowledged, but rather the FIB interrupt bit is held high in

the supervisory computer for approximately 0.005 seconds and

then cleared. The subroutine was implemented in this way

because the Adaptive Control scheme required a fast real time

response to feedrate override commands for stability of the

control loop. This is further discussed in Chapter 6.

The GetFeedrate routine returns the current feedrate from

the MCP as a long integer in the units of inches per minute.

The GetManFeedOvrd routine returns the manual feed override

setting from the operator console as a short integer with the

units of percent. In order to know the net commanded feedrate,

both the manual and programmed override percentages must be

applied to the current feedrate returned by GetFeedrate.

The SetSpindleSpeed routine allows the spindle speed to

by changed from the supervisory computer. The argument is a

short integer representing the new speed in RPM. The

GetSpindleSpeed routine returns the current net commanded

spindle speed, including the manual percent override, as a

short integer with units of RPM.

The FastStop routine, described in Chapter 3, is used by

all the supervision schemes, but is most critical in the

Adaptive Control scheme when the tool impacts the workpiece

and in the Chatter Regulation scheme when the machine tool is


a severe state of chatter. The fast stopping routine can stop

both the X and Y axes is as short a time as 0.035 seconds at

a feedrate of 50 in/min. It will be shown in Chapter 6 that

the stopping time increases with the feedrate.

At the time of the fast stop, an internal feedhold

command is issued to the MCP. This stops interpolation. Then

the output from the CNC to the servos is severed. These steps

take place at the time of the FIB interrupt. A one percent

feedrate override is commanded, and the fast stop is held

active, in stop.c (OEM_SYNC) until the ClearFastStop

subroutine is called. At clear time, the axes are moved slowly

to eliminate the remaining CNC positional error by writing

voltages directly to the servos. This means that some residual

motion will always be completed before the internal feedhold

is cleared. Releasing the internal feedhold enables the

commanded axis motion to resume. The completion of both the

FastStop and ClearFastStop subroutines is acknowledged by the

MCP in a function that sets the TRANSMIT READY bit, waits for

the ACKNOWLEDGE bit and then clears the TRANSMIT READY bit.

Figure 4.3 shows a schematic of the overall supervision

system. The flow of control data between the supervisory

computer and the machine tool is indicated by the arrows

connecting the elements of the system. It can be seen that the

supervision subroutines comprise the heart of the system.

Table 4.4 lists which subroutines are needed by each

monitoring and control scheme. It can be seen that the






n w

.........--.....- INTERFACE HANDLER ...........-..-


y. ------ -.- -I--------------------,-------------




Figure 4.3. Schematic of the Supervision System and the
FlexMate Motion Co-Processor.


Adaptive Control and Chatter Regulation schemes make the most

extensive use of the interface. The Broken Tool Detection

scheme and the Spindle Torque Overload scheme both need only

the fast stopping routine.

Table 4.4. List of the Supervision Subroutines Used by
Each Scheme of the Supervision System.


Adaptive Control 1, 2, 3, 5
Chatter Regulation 1, 2, 3, 5, 8
Broken Tool 1, 2, 3
Torque Overload 1, 2, 3

For the present research, each monitoring and control

scheme in the supervision system will be exercised one at a

time. The use of parallel or distributed processing strategies

to run the schemes concurrently is presently being studied in

the Machine Tool Laboratory.

Each scheme essentially consists of a computer program,

and the necessary sensor and data acquisition hardware. The

supervision subroutines are compiled into a library, and the

routines are available to all of the schemes. Integration of

the schemes into a comprehensive system has consisted mostly

of three steps. First, the supervision programs were either

modified or rewritten so that they could be linked to the

library of supervision subroutines. It should be noted here

that the supervision subroutines were written in Quick-C, and


that programs written in either Quick-C or Quick-Basic require

no modification to make use of the routines. Second, the

input/output routines that provided access to the machine

tool, which were usually implemented by reading and writing

voltages using a data acquisition board, were replaced by

calls to the appropriate supervision subroutine. Third, the

schemes were recalibrated to make use of the new sensors,

consisting essentially of the inductance probes and the

spindle encoder, used for the supervision system.

In the next chapter, an off-line system for the

characterization and evaluation of machine tools will be

presented. This system, created as part of the present

research, was used extensively in the development and testing

of the on-line system. The implementation of the on-line

supervision schemes is described in Chapter 6.


This chapter describes an off-line machine evaluation

system. It consists of a portable computer, a data acquisition

board, sensors, signal conditioning hardware and the system

software PCDATA. The purpose of the system is to allow

identification of the dynamics of production machinery, as

well as the monitoring of transducer signals. The off-line

system was used to develop, modify, and test the monitoring

and control schemes used in the on-line machine supervision


Hardware Requirements

PCDATA is a program, written in Quick-Basic, that

consists of several modules. A listing of the program is

presented in Appendix C, and the program is discussed in

detail in the report by Wells (1991b). The Data Acquisition

Module allows sampled data to be plotted on the screen and

saved to disk. A Fast Fourier Transform (FFT) can be performed

on the data and the spectrum can be plotted on the screen. The

System Test Module can be used to both read and write single

voltages, and is handy for monitoring transducer signals.



There is also a Data Processing Module that can be used to

plot and FFT data that has been previously stored on disk.

This allows data to be saved and evaluated at a later time.

The Data Acquisition Module, Transfer Function Module and

Chatter Analysis Module will be described in the following


Figure 5.1 shows a diagram of the system hardware. Any

kind of voltage signal can be sampled by the Data Acquisition

Module of PCDATA. For the Transfer Function Module, it is

expected that an impact hammer will be used for the input, and

either an accelerometer or a displacement transducer will be

used for the response. Input to the Chatter Analysis Module of

PCDATA is expected to be a microphone, which must be amplified

to an appropriate voltage range. Two of the data acquisition

channels have phase matched 12 kHz passive low pass filters to

eliminate signal aliasing. The system was installed on a

portable 80386 33 MHz machine with an 80387 math co-processor.

Data acquisition is accomplished using a Data Translation

DT-2818 A/D-D/A board (Data Translation, 1988). It provides

four single ended A/D input channels, which are simultaneously

sampled and held. This means that the inputs on all the

channels are sampled at the same instant, and there is no

phase lag between input and response measurements.

The DT-2818 also has two D/A output channels and two

eight bit DIO channels. It has a maximum theoretical A/D data

throughput in the Direct Memory Access mode of 27.5 kHz. In






Figure 5.1. Hardware Diagram of the Off-Line Machine
Evaluation System.

practice, a maximum sampling rate of 25 kHz can be achieved.

The board has been jumpered to have an A/D input range of +/-

10 volts and a D/A output range of +/- 10 volts. The DT-2818

has 12 bit digital resolution, which gives it a resolution of

20 volts / 4096 = .00488 volts.

The machine evaluation software uses the Direct Memory

Access (DMA) mode of data acquisition, which is activated by

programming the Intel 8237 DMA controller chip that is on the

mother board of all IBM PC/AT and compatible computers. The

advantage of the DMA mode is that the maximum rate of data

transfer can be achieved, since the DMA controller sends the

data as bytes directly to memory (without the intervention of


the particular computer's microprocessor and therefore without

the processing speed of the microprocessor being a factor).

Data can be written to or read from memory under DMA

control using two different modes. The "single byte" mode

transfers only the specified number of data conversions to

memory. The "autoinitialize" mode will continue transferring

data, overlapping the earliest data in memory in a circular

buffer fashion, until a stop command is issued. The number of

data conversions is written to the byte count register of the

DMA chip, and defines the size of the DMA data buffer within

the memory page. For example, 25000 data conversions would

allocate 50000 bytes of memory as the DMA buffer, since each

discrete integer datum generated by the DT-2818 (0 to 4096)

occupies two bytes.

Using the DMA chip also requires programming

corresponding features on the DT-2818 board. The non-

continuous block read mode performs a specified number of data

conversions. This mode is used in the Data Acquisition Module.

The continuous block read mode performs data conversions

continually until a stop command is issued to the DT-2818.

This mode is used in the Transfer Function Module because of

the software pre-triggering it allows.

An issue in DMA data transfer is the location in the

computer's memory where the data will be stored. Memory is

structured into 64K (65536) byte blocks referred to as DMA

pages, with page 0 being the lowest. The DMA page must be


specified in software when programming the DMA controller

chip, and must not conflict with DOS and other resident system

programs. Also, the amount of data stored, which may be less

than 64K bytes, must not be greater than 64K bytes and must

not cross a DMA page boundary.

Data Acquisition

The Data Acquisition Module of PCDATA allows up to four

channels to be sampled for data acquisition. The first channel

sampled will always be channel 0. The user then enters the

calibration numbers for the transducers that are connected to

the selected channels. These scaling factors allow the data to

be expressed in engineering units. He then selects the number

of samples per channel. The maximum total number of samples

has been defined to be 25000. If four channels were being

read, the maximum number of samples per channel would be 6250.

The fastest attainable DMA sampling rate for one channel

using the DT-2818 board is 25000 Hz. The simultaneous sampling

of the DT-2818 board requires that the total sampling rate be

divided by the number of channels being used, so the maximum

possible sampling rate on four channels would be 6250 Hz. By

changing the samples per channel, and the sampling frequency,

the user can control the total observation time.

After the data has been acquired, it must be extracted

from the memory page where the DMA chip has placed it. A PEEK


loop is used to extract the low and high bytes of the data

from memory. The integer data values are converted into scaled

real values, and then assigned to their respective data arrays

using modulo division to increment the channel numbers.

When it has been recovered, the time domain data for each

channel can be plotted, or an FFT of up to 8192 points can be

calculated from the data (using a C language linked

subroutine, translated from Press et al., 1986, which employs

the Cooley-Tukey algorithm). The size of the FFT can be

defined through the program's Setup Module. If fewer data

points have been taken for each channel than the selected FFT

size, then an FFT cannot be computed. If more data points have

been taken, then the user can select a time window from the

full data record for the transform. The time data and spectrum

for each channel are then plotted. The features available for

plotting are described in a help line that appears at the

bottom of the graphics screen. The program also supports a

screen dump of the plots in either a dot matrix or laser

printer format.

A principal value of the PCDATA program is that the time

domain data can be saved to disk for later processing. Using

a binary file format, the entire time record for each channel

is saved. The binary file approach is used to minimize both

disk access time and the size of the data files. Binary data

retrieved by the Data Processing Module can in turn be saved

in ASCII format for processing by other software.


An important consideration in data acquisition is signal

aliasing. This phenomenon can occur when the data contains a

frequency component that is either above the sampling

frequency of the data acquisition system, or is between the

sampling frequency and the maximum frequency that can be seen

in the FFT spectrum. Dynamic analyzers, such as the GenRad

2515 computer test system (GenRad, 1985), include anti-

aliasing low pass filters that remove alias frequencies from

the sampled data.

As an example of signal aliasing, Figure 5.2 shows a plot

of a 100 Hz signal, and its spectrum, sampled by the Data

Acquisition Module of PCDATA at a rate of 5000 Hz. Another

frequency of 8000 Hz, 3000 Hz above the sampling frequency,

was added to the signal using a second function generator. It

can be seen that the higher frequency has aliased into the

spectrum at 2000 Hz.

Since it is not usual to know beforehand the frequency

content of a time domain signal, the alias frequency could be

mistaken as a real characteristic of the system being

measured. Figure 5.3 shows a plot of the same signal taken

through a Wavetek model 432 low pass filter with its cutoff

frequency set at 5000 Hz. It can be seen that the spectral

line at 2000 Hz has now been almost fully attenuated.

Figures 5.2 and 5.3, which demonstrate the data taking

capability of PCDATA, show that it is essential to properly

condition signals before sampling them. The off-line machine














8.04 8.86
TIME (sec)

8.88 0.10


0 580 1888 1588 2888 2500

Figure 5.2. Time Data and Spectrum Plots of an Unfiltered
100 Hz Signal with Aliasing.















4 8.86
TIME (sec)

8.88 8.18


588 188B 1588 286 2588

Figure 5.3. Time Data and Spectrum Plots of a Filtered
100 Hz signal with Aliasing.

180 Hz
.... ........I........... -- ......

VOLTS ---- ----- ---- --- --

S....... .......... .........

--------7 --------------- --

180 Hz

.... ......... ......... .. . .. . .. --- -.
... .................... .......................................................................................................


....... ........ ....... ...... ....... ........ ........ ........ .......

.... .. .. .... .. .... .... ... ..... ...

. . . ....... - - - . . . . . ...... ......... . . . . . . . .





evaluation system includes two phase matched passive low pass

filters with cutoff frequencies of 12 kHz. This cutoff

frequency was selected because high frequency signals are

rejected, and because frequencies up to 12.5 kHz can be seen

in the spectrum if one channel is sampled at 25 kHz using the

Data Acquisition Module.

Experimental Modal Analysis

The Transfer Function Module of PCDATA offers

capabilities similar to some of those provided by the GenRad

2515 computer test system (GenRad, 1985) for measuring

Transfer Functions. The user begins by selecting a sampling

frequency for the Transfer Function (TF) channels. He can

select up to 12000 Hz, or choose a lower sampling rate. The

latter choice may be sometimes useful in order to obtain a

finer frequency resolution in the spectrum, since

df = sfreq / n (5.1)

where df is the frequency resolution, sfreq is the sampling

frequency and n is the number of samples taken.

The excitation signal for the TF, which will always be an

impact hammer, must be on channel 0 of the DT-2818 board. This

is because only channel 0 is monitored for the trigger. The


response, which will always be channel 1, is usually measured

either as displacement or acceleration.

The trigger threshold is a value, in volts, above the DC

offset of the hammer charge amplifier. It has been found that

0.2 volts works well for most situations. For lighter hits,

the gain on the hammer charge amplifier can be increased. In

order to determine a threshold for the hammer, the Data

Acquisition Module can be used to plot several test hammer

hits so that the hammer voltage can be evaluated. The

threshold value is referred to the DC offset of the hammer

charge amplifier by summing it with the voltage being output

on channel 0. This value is in turn used to define a discrete

limit value, whose range is from 0 to 4096, that is computed

each time the program waits for a hammer hit.

In order to produce a reliable TF, it is necessary to

average some number of hits. It has been found that 3 to 5

averages are sufficient for accurate results. After the data

acquisition process has been begun, the message "Waiting for

trigger # 1 (Esc to Exit) ..." appears in the center of the

screen, and the command to read A/D with continuous DMA is

issued to the DT-2818. In the background, the data transfer is

begun. The DMA buffer size for the Transfer Function Module

has been set to 32000 values (16000 values for each channel)

which makes the buffer 64000 bytes long in memory. The data

from channel 0 and channel 1 are streamed continually into a

circular memory buffer defined for the DMA chip.


The PEEK statement is used to extract values from the

memory locations corresponding to data from channel 0. If the

value returned exceeds the threshold limit value, then a

hammer hit is detected. This software triggering makes the

program dependent on the speed of the computer used for the

off-line system, but provides the pre-triggering necessary to

capture the entire hammer impulse. Once the trigger has been

found, the program polls the DMA address register and stops

the DMA process when the number of data points required for

the FFT have been taken. The hit is pre-triggered by taking a

point three data values prior to the sensed trigger as the

actual start of the data window.

After the trigger has been detected, the message

"Processing (ESC to Hold) ..." appears on the screen. The data

that has been stored in memory by the DMA transfer is now

extracted, scaled, and assigned to the appropriate channel

data arrays. A square window, 120 data values long, is applied

to the hammer signal in order to remove noise from the hammer

spectrum. It was found that 120 data values are sufficient to

detect double hammer hits. If the data wraps around the DMA

page boundary then two loops are used to extract the data. The

comments in the code listing of PCDATA in Appendix C explain

the details of the data extraction algorithms.

Next, the data from both channels are averaged, and the

average is subtracted, datum by datum, while an exponential

window is applied to the data. Subtracting the average gives


the effect of removing the DC offset from the data, and the

exponential window greatly improves the quality of the signals

by attenuating noise that continues in the transducer signals

after the transient from the impact has died out. These two

steps are represented by the following expression

DATA(J) = (DATA(J) AVG) EXP(-J DT / TAU) (5.2)

where DATA() is the data array, J is a loop counter, AVG is

the average value of the data, DT is the time step of the data

sampling, and TAU is the time constant for the exponential

window. A value for TAU of one tenth of the total observation

time was found sufficient to attenuate noise while not

corrupting the impact signal.

If a voltage overload is detected on either channel then

the warning "OVERLOAD! Continue or Hold? [C/*H]" is printed on

the screen. Pressing RETURN or H will cancel the hit, and the

program will return to waiting for a trigger. Pressing C

allows the user to take the hit in spite of the overload.

The real and imaginary values of the average TF are

computed using the Cross and Auto Spectrum (GenRad, 1985). The

Auto Spectrum calculates the average of the squared magnitude

of the hammer spectrum, representing the mean power of the

impact at each frequency. The Cross Spectrum calculates the

averaged complex product of the hammer spectrum and the

response spectrum. It indicates which frequencies match


between the two spectra. The Transfer Function is then

calculated as the ratio of the cross spectrum of the impact

and response to the input power spectrum of the hammer hit.

Writing the above relationships mathematically gives the

following expressions

Auto Spectrum Ga = Sa S* (5.3)

Cross Spectrum Gab = Sb S (5.4)

Transfer Function Hab = Gab / Gaa (5.5)

where S = REAL + j IMAG is an operator representing the real

and imaginary parts of a signal, (a) represents the hammer,

(b) represents the response and (*) indicates the complex

conjugate. Expanding the above expressions for the real and

imaginary parts of the Transfer Function gives

Re[Hab] = (Re[a] Re[b] + Im[a] Im[b]) / Mag[a]2 (5.6)

Im[Hab] = (Re[a] Im[b] Im[a] Re[b]) / Mag[a]2 (5.7)

The user is presented with plots that show the spectrum

of the hammer hit and the current average imaginary Transfer

Function. The prompt "Continue, Hold, Stop or Average?

[*C/H/S/A]" is printed at the top of the graphics screen.

Based on what he sees in the spectrum, the user can continue

with the next hit, reject the hit and try again (Hold), stop

taking the Transfer Function and return to the module input


screen, or.force the average TF to be computed based on the

number of hits completed. If hold is selected, the present TF

is subtracted from the average TF before the program branches

back to wait for the trigger again. When all the hits have

been completed, or Average has been selected, the real and

imaginary plots of the average TF are displayed.

If an accelerometer has been used for the response

transducer, the TF can be converted from acceleration to

displacement by dividing by -02 across the frequency range.

This option is supported under the F6=MATH option on the plot

screen, as well as the ability to change the scale factors for

both the Y and X axis data values.

To verify that the Transfer Function Module of PCDATA

gives accurate results, a number of measurements were carried

out using the GenRad computer test system as a benchmark.

Figure 5.4 shows a GenRad plot of a Transfer Function taken on

a 4 fluted 0.75 inch diameter HSS endmill on the Omnimil using

a medium hammer and a small accelerometer. Figure 5.5 shows a

plot of the same measurement taken by the Transfer Function

Module of PCDATA. It can be seen that the Transfer Functions

agree well to about 3600 Hz, beyond which frequency the energy

from the hammer was insufficient to excite the system (the

sampling rate of the DT-2818 board is not fast enough to

measure hits with a smaller hammer). Similar correlation was

found between GenRad and PCDATA in the many test measurements

that were performed during the development of the program.





FDF_> /a<"




ih h !V ~ A-

t. tLIN FPE(HZ i



L:I FEcQ(H2)
REAL: O.08990

Figure 5.4. Plot of a Transfer Function Measured using













Figure 5.5. Plot of a Transfer Function Measured using
the PCDATA Transfer Function Module.











......... ....... ...-..........-----


............ ............. ......................... :..........................i................ ......... i.........................

... .......... ........ ..... ..... ... .......r.. ........ ....................
-- '---- """

.-........ ..---------. --' ----... . . . ..------.. .4------------------------------- ...................

I- -_- .- -





It can be seen that many aspects of the milling process

can be measured with the features available in the Data

Acquisition Module and the Transfer Function Module of PCDATA.

The output of various transducers can be sampled, and Transfer

Functions can be taken to identify the structural dynamics of

the machine and its various tools. In the next section a

specialized module of PCDATA is presented that can be used by

the machine operator to analyze chatter.

Chatter Detection and Analysis

Using the Transfer Function Module of PCDATA, the TF

between the tool and the workpiece of a machine tool can be

measured. The TF will show the modes in which the tool/spindle

system will vibrate. Tlusty (1985) described how the chatter

frequency will be near the frequency of one of these modes.

The mechanism which causes chatter was described briefly in

Chapter 1, and is depicted in Figure 1.3.

Smith (1987) demonstrated that adjusting the spindle

speed such that the fundamental tooth frequency is made equal

to an integer division of the chatter frequency disrupts the

regeneration of waviness that is responsible for chatter. This

technique directs the spindle speed into one of the pockets of

stability shown in the lobing diagram of Figure 1.5.b.

The Chatter Analysis Module of PCDATA identifies the

frequency of machine tool chatter. This information can be


used to calculate a stable spindle speed at which to continue

the cutting process. The operator enters the number of teeth

on the cutter, the actual spindle speed used for the data

sample, and a threshold for chatter detection. He then takes

a sound data sample of the unstable cut using the microphone.

The module computes and plots the frequency spectrum of the

data, and identifies the tooth frequency based on the spindle

speed and the number of teeth. The peaks belonging to the

tooth frequency and the chatter frequency are identified on

the plot.

Figure 5.6 shows the time data and spectrum of an

unstable machining pass made on the Omnimil cutting aluminum.

The plot is from the Data Acquisition Module of PCDATA. The

tool is the same 4 fluted 0.75 inch diameter HSS endmill for

which the Transfer Function was presented in Figures 5.4 and

5.5. The feed for the cut was 70 inches per minute, the actual

spindle speed, as measured by a photo tachometer, was 2948 RPM

and the axial depth of cut was 0.400 inches.

Figure 5.7 shows a plot of the spectrum of the same

unstable cut as presented by the Chatter Analysis Module. The

chatter peak that is identified at 3623 Hz corresponds to the

3600 Hz mode seen in the TF in Figure 5.5. The program has

calculated the tooth frequency, Ft, and has identified the

chatter frequency, Fc, by locating in the spectrum the largest

spectral line that is not a multiple or divisor of the tooth

o.B8 B.B88

B.16 8.25
TIME (sac)

Bi ri1' ''T'lrErii i
8.33 0.41


0 1888 2088 3800 4088 5000

Figure 5.6. Time Domain Data and Spectrum of an Unstable
Machining Cut.





.08 L iI.AI ..IR u.i L.: aL .tA J .... .: .- ., J,.Ll ILI. -.M l ii. U, it |.
1 1881 2001 3800 4000 5688

Figure 5.7. Output of the Chatter Analysis Module of
PCDATA Showing the Tooth Frequency and
Chatter Frequency of an Unstable Cut.











....ii ii... ......... .-- ....... -..-....-- --- - ill --- .. ..........

. -.-.---- ---------- .-------- .. ..------------. ]---- .-------- -. .


frequency. With this information, a new cutting speed can been

calculated from the following expression (Smith, 1987; Delio,


S = (Fc 60) / (m (N + 1)) (5.8)

where S is the new spindle speed in RPM, Fc is the chatter

frequency in Hz, m is the number of teeth on the tool and N is

an integer number representing the number of waves on the

machined surface between consecutive cutter teeth.

Since regions of stability repeat in integer multiples,

N can be selected to adjust the new speed to a range

appropriate for a given machine tool. However, regions of

stability become less well separated at lower spindle speeds

(see Figure 1.5.b). This means that the ability to direct the

speed into a pocket of stability is governed to some degree by

the spindle speed range of a particular machine tool. Also,

because chatter can occur in more than one mode, it is

possible that more than one iteration of the test may be

needed before an absolutely stable speed can be selected.

For the Chatter Analysis Module to operate effectively,

it is important that the spindle speed of the machine tool be

accurately known. A small error in the spindle speed will be

multiplied as the chatter detection algorithm searches across

the frequency range for peaks that are not multiples of the

fundamental frequency. An 8192 point FFT is used in the


module, with a sampling rate of 16384 Hz. This gives a

frequency resolution of 2 Hz. As each peak in the spectrum is

evaluated, a range of +/- 3 spectral lines (12 Hz) is tested.

This helps keep an error in the spindle speed from causing a

false identification of chatter, but also limits the module's

ability to resolve chatter when the harmonics of the spindle

runout are separated by less than 12 Hz.

In the next chapter, results of a variety of machining

tests on the Omnimil are presented that evaluate the

supervision subroutines and verify the performance of the on-

line supervision system. The off-line system was used for all

the data acquisition and Transfer Function measurements

required during the tests.


In this chapter the performance of the supervision

subroutines will be quantified, and the monitoring and control

schemes that comprise the on-line supervision system will be

demonstrated. The program PCDATA, described in the previous

chapter, was used for data acquisition and the measurement of

Transfer Functions.

The Fast Stopping Routine

Since each of the monitoring and control schemes makes

use of the fast stopping routine, this function was evaluated

first. There are three principal constraints on the operation

of the fast stop. First, the time required for the axes to

stop moving is directly related to the feedrate. This is to be

expected due to the inertia of the drives. Second, the axes

must be moved slowly to eliminate the following error that

remains after the stop. This is presently accomplished at the

time when the fast stop is cleared. Third, the size of the

following error remaining after the fast stop is also related

to the axis feedrate. Depending on when the fast stop occurs

in relation to the last increment from the interpolator, the



value of the CNC following error can jump by over 200 percent,

and the MCP will shut down the Omnimil if the following error

exceeds 0.500 inches. This was observed when the fast stop was

applied at feedrates faster than 250 in/min.

Figure 6.1 shows a plot of the Y axis tachometer voltage

during the execution of a conventional feedhold commanded

through the ExtFeedhold subroutine. The Data Acquisition

Module of PCDATA was triggered when the FIB interrupt line

went high. The axis was moving in the negative direction at 50

in/min. It takes about 0.100 seconds for the servo to begin

deceleration, and about 0.224 seconds for the axis motion to

stop completely. Figure 6.2 shows the results of a fast stop

commanded to the Y axis drive at the same feedrate. Again, the

data acquisition was triggered at the time of the FIB

interrupt. It can be seen that be seen that commanding zero

velocity to the servo brings the drive to a stop in

approximately 0.035 seconds.

Table 6.1 presents a list of the times required to

complete a fast stop, and a feedhold, at several different

feedrates. As expected, the fast stop out-performs the

feedhold dramatically, but the results also show that the fast

stopping time does get longer as the feedrate increases. The

values of the CNC following error remaining at the time of the

fast stop are also listed in the table. As mentioned above,

these values vary depending on when the fast stop occurred in

relation to the last increment output by the interpolator.



L 0.48



Figure 6.



L B.48









0.10 8.20 8.39 8.48
TIME (sec)

Output of the Y Axis Tach During a Feedhold.



8.20 8.38
TIME (sec)



Figure 6.2. Output of the Y Axis Tach During a Fast Stop.

....................... ......................... ......................... .....................

........... ........................... .............. ....................-.. .......................

Table 6.1. Response Times for the Fast Stopping
and a Conventional Feedhold.


(sec) (sec) (in)
25 0.137 0.032 0.018
50 0.224 0.035 0.036
75 0.308 0.050 0.054
100 0.384 0.052 0.072
125 0.465 0.063 0.089
150 0.547 0.063 0.107
175 0.639 0.072 0.125
200 0.733 0.077 0.142
225 0.794 0.077 0.163
250 0.886 0.078 0.184

Figure 6.3 shows a plot of the following error voltage,

Ep, during a sequence when a fast stop was commanded to the Y

axis drive, and then cleared about one second later. The

feedrate was 50 in/min. Point A on the plot shows when the

fast stop was executed. The Ep voltage was set to zero at the

instant the servo was disconnected from the CNC. The fast stop

was cleared at point B. The small voltage between B and C

moves the servo to eliminate the CNC following error. At point

C the axis is within the +/- 0.001 inch in-position zone

established in stop.c, and the servo loop is reconnected. The

positional loop brings the servo exactly into position, and

the commanded motion is fully resumed at point D.

University of Florida Home Page
© 2004 - 2010 University of Florida George A. Smathers Libraries.
All rights reserved.

Acceptable Use, Copyright, and Disclaimer Statement
Last updated October 10, 2010 - - mvs