A SENSOR-BASED SUPERVISION SYSTEM
FOR CNC MACHINING
ROBERT LINDSAY WELLS
A DISSERTATION PRESENTED TO THE GRADUATE SCHOOL
OF THE UNIVERSITY OF FLORIDA IN PARTIAL FULFILLMENT
OF THE REQUIREMENTS FOR THE DEGREE OF
DOCTOR OF PHILOSOPHY
UNIVERSITY OF FLORIDA
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."
TABLE OF CONTENTS
ACKNOWLEDGEMENTS ................................ ....... .. ii
ABSTRACT ................................................. V
1 INTRODUCTION .......................................... 1
Sensor-Based Supervision of Machining ............... 1
Review of the Literature ............................ 4
Outline of the Present Research .................... 17
2 THE MACHINE TOOL AND ITS CONTROLLER ................ 20
The White-Sunstrand Series 20 Omnimil ............... 20
The Automation Intelligence Flexmate Controller ..... 24
The FlexMate Motion Co-Processor ................... 29
3 THE MACHINE MONITORING AND CONTROL SCHEMES .......... 37
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
4 THE ON-LINE MACHINE SUPERVISION SYSTEM .............. 54
An Inventory of the Sensors ......................... 54
The Interface Hardware .............................. 59
The Interface Software .............................. 62
Integration of the Supervision System ............... 64
5 THE OFF-LINE MACHINE EVALUATION SYSTEM ............. 71
Hardware Requirements ............................... 71
Data Acquisition ................................... 75
Experimental Modal Analysis ........................ 79
Chatter Detection and Analysis ..................... 86
6 EXPERIMENTAL VERIFICATION OF THE ON-LINE SYSTEM ..... 91
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
A LISTING OF THE SUPERVISION SOFTWARE ................. 119
Supervision Computer Interface ...................... 119
FlexMate Motion Co-Processor Interface .............. 127
Fast Stopping Program ............................... 135
B LISTING OF THE SPINDLE TORQUE OVERLOAD PROGRAM ...... 138
C LISTING OF THE MACHINE EVALUATION PROGRAM ........... 145
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
A SENSOR-BASED SUPERVISION SYSTEM
FOR CNC MACHINING
Robert Lindsay Wells
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
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.
F CUTTING FORCE PHASING FOR UNSTABLE CUT
h CHIP THICKNESS
Y = 180
PHASING FOR STABLE CUT
PREVIOUS SURFACE hm
Y DIRECTION NORMAL TO THE CUT
X DIRECTION OF MODAL VIBRATION
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
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
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
SPINDLE SPEED (RPM)
Figure 1.4. Transfer Function.
a) Real Part.
b) Imaginary Part.
Figure 1.5. Stability Lobes.
a) Lobe Generation.
b) Lobing Diagram.
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.
THE MACHINE TOOL AND ITS CONTROLLER
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
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
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
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).
PERCENT REGULATION CP2)
/-- FOLLOWING ERROR CP5S
ENCODER SIGNAL FROM SERVO
Figure 2.3. Block diagram of a Typical Axis Servo
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
identified as REMOTE I/O BOARDS, 286 SYSTEM CO-PROCESSOR and
MOTION CO-PROCESSOR were installed as part of the AI FlexMate
24 VDC L
24 VDC 16 BIT ADDRESSES
CIRCUITS I I
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.
SUPERV I SORY
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
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.
F MACHINE FUNCTION PANEL
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
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
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
ZSC READ HANDLER #2
ZSC WRITE HANDLER #2
ZSC MODEM HANDLER #2
RAM DISK PORT 3
RAM DISK PORT 0
DISK1 PORT1 HANDLER
DISK1 PORTO HANDLER
DISK2 PORT1 HANDLER
DISK2 PORTO HANDLER
DISK READ TASK
RAM DISK PORT 1
RAM DISK PORT
ZMC READ HANDLER #1
ZMC WRITE HANDLER #1
ZMC MODEM HANDLER #1
OPERATOR PANEL KEYBOARD
OPERATOR PANEL OUTPUT
OPERATOR PANEL INPUT
ZMC READ TASK
POWER ON SEQUENCE
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.
XREF -- XERR XOACBAS E
XFB9K XFK2 AX IS
NC BLOCKS FROM SCP
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.
THE MACHINE MONITORING AND CONTROL SCHEMES
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
INPUT CUTTING PARAMETERS
CALCULATE SPINDLE RUNOUT
FOR EACH TOOTH PERIOD
BEGIN CUTTING OPERATION
FOR CONSECUTIVE TOOTH PERIODS
DIFF CI)=AVGC I)-AVGC I-1
DI FFCJ)>THRESH YES
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.
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.
<- TOOTH FREQUENCY
.... -............. ........... ----..........-
CHATTER FREUENC ->
....... ............... :............... .............................. ............................... ...
B 588 1008 1588 2888 2588 3888 3588
Figure 3.7. Spectrum of an Unstable Machining Cut.
-.. -----...- i-- i-- ** -jI. .j-. .
<- TOOTH FREQUENCY
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
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 ON-LINE MACHINE SUPERVISION SYSTEM
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.
SENSOR LOCATION SUPERVISION
Encoder Spindle Shaft All
Inductance Probe Spindle Housing A/C, Broken Tool
(X and Y Axis)
Microphone Near Chatter
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
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
CONTROL INPUT OR OUTPUT SUPERVISION
Fast Stop Output All
Feed Rate Input / Output A/C, Chatter
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-
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
SCHEME #2 SCHEME #3
-- SUBROUTINES ---
.........--.....- INTERFACE HANDLER ...........-..-
y. ------ -.- -I--------------------,-------------
EVENT AREAS IN MCP
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.
SUPERVISION SCHEME SUBROUTINES USED
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.
THE OFF-LINE MACHINE EVALUATION SYSTEM
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
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
MP I CAP PROBE
AMPL IFIER MICROPHONE
INS I DE COMPUTER
A/ D PORTABLE
FILTERS D/A COMPUTER
Figure 5.1. Hardware Diagram of the Off-Line Machine
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.
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
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
UOLTS CHANNEL H
0 580 1888 1588 2888 2500
Fl=LIMITS F2=LABEL F3=REPLOT F4=SINGLE F5=CURSOR F6=MATH F7=PRIHT ESC=CONTINUE
Figure 5.2. Time Data and Spectrum Plots of an Unfiltered
100 Hz Signal with Aliasing.
588 188B 1588 286 2588
FI=LIMITS F2=ILBEL F3=REPLOT F4=SINGLE F5=CURSOR F6=MATH F7=PRINT ESC=CONTINUE
Figure 5.3. Time Data and Spectrum Plots of a Filtered
100 Hz signal with Aliasing.
.... ........I........... -- ......
VOLTS ---- ----- ---- --- --
S....... .......... .........
--------7 --------------- --
.... ......... ......... .. . .. . .. --- -.
... .................... .......................................................................................................
....... ........ ....... ...... ....... ........ ........ ........ .......
.... .. .. .... .. .... .... ... ..... ...
. . . ....... - - - . . . . . ...... ......... . . . . . . . .
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
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.
ih h !V ~ A-
I I I
t. tLIN FPE(HZ i
Figure 5.4. Plot of a Transfer Function Measured using
M/S^Z / NEHTON
Figure 5.5. Plot of a Transfer Function Measured using
the PCDATA Transfer Function Module.
......... ....... ...-..........-----
............ ............. ......................... :..........................i................ ......... i.........................
... .......... ........ ..... ..... ... .......r.. ........ ....................
-- '---- """
.-........ ..---------. --' ----... . . . ..------.. .4------------------------------- ...................
I- -_- .- -
H/S^2 / HEHTCH
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
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
Bi ri1' ''T'lrErii i
0 1888 2088 3800 4088 5000
Figure 5.6. Time Domain Data and Spectrum of an Unstable
.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.
EXPERIMENTAL VERIFICATION OF THE ON-LINE SYSTEM
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
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.
0.10 8.20 8.39 8.48
Output of the Y Axis Tach During a Feedhold.
AXIS TACH -- FAST STOP
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.
FEEDRATE FEED HOLD FAST STOP FOLLOWING
(in/min) TIME TIME ERROR
(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.