final year thesis
TRANSCRIPT
i 0542281 Sachin S. Kulkarni
Milling Cutter Testing: Tool Life Project No: MMM116
B.Eng Mechanical and Manufacturing Engineering
Sachin S. Kulkarni Student No: 0542281
April 2008
ii 0542281 Sachin S. Kulkarni
I hereby declare:
that except where reference has clearly been made to work by others, all the
work presented in this report is my own work;
that it has not previously been submitted for assessment; and
that I have not knowingly allowed any of it to be copied by another student.
I understand that deceiving or attempting to deceive examiners by passing off the
work of another as my own is plagiarism. I also understand that plagiarising the work
of another or knowingly allowing another student to plagiarise from my work is
against the University regulations and that doing so will result in loss of marks and
possible disciplinary proceedings against me.
Signed Sachin S. Kulkarni
Date 18/04/2008
iii 0542281 Sachin S. Kulkarni
Abstract
In today’s competitive manufacturing environment it is more vital than ever before to
have maximum resource utilization to achieve cost advantages over competitors. In
the metal processing industry effective cutting tool utilization is one of the key
parameters to achieving favourable machining economics. It is therefore essential to
have robust and reliable tool monitoring systems. The work presented here is an
investigation into a low cost reliable tool monitoring technique using a
microcontroller.
In this project cutting force data obtained from a series of experiments leads to the
conclusion that the analysis of cutting forces is not only complicated but can also be
misleading at times. Further investigation confirms the impracticality of the existing
system in industrial applications and high installation and running costs.
The project investigates spindle motor current analysis method of tool monitoring.
This method is less complicated when compared to the cutting forces approach. It can
therefore be implemented as a low cost package on much wider scale. This system
proposed can be upgraded or down graded based on the level of process precision and
quality.
The project also indicates that a dsPIC30F6014 may be capable of performing all the
tasks expected of a monitoring system. It is robust, cost effective and has high levels
of computational capability thus making it suitable for wider industrial applications.
iv 0542281 Sachin S. Kulkarni
Acknowledgements
I would like to take this opportunity to thank:
Mr Paul Prickett for his support, guidance, advice and patience at very juncture of this
project.
Mr Raees Siddiqui for giving me a ‘crash course’ in dsPIC30F6014 and for his wealth
of knowledge and technical expertise.
Mr. Roger Grosvenor for introducing me to the world of PIC Microcontrollers.
Finally, my parents for their love and affection and supporting me morally and
financially throughout my education.
v 0542281 Sachin S. Kulkarni
Contents
Declaration ii
Summary iii
Acknowledgements iv
Contents v
List of Figures vii
1. Introduction 1
1.1 Project Background 1
1.2 Project Aims 2
2. Monitoring the Milling Process 3
2.1 Introduction to Milling 3
2.2 Types of Milling and Milling Cuter 3
2.3 Tool Wear 6
2.4 Tool Life 7
2.5 Tool Life Monitoring 7
3. IPMM Approach 10
3.1 Outline of IPMM Approach 10
4. Cutting Force Based Experiments 12
4.1 Experimental Setup 12
4.2 Experimental Procedure 13
4.3 Results and Analysis 15
5. Spindle Load Based Experiments 18
5.1 Experimental Procedure 18
5.2 Experimental Setup 18
5.3 Results and Analysis 19
vi 0542281 Sachin S. Kulkarni
6. dsPIC Based Data Acquisition and Analysis Experiments 23
6.1 Introduction to dsPIC Family of Microcontrollers 23
6.2 Methodology 25
6.3 Data Acquisition and Analysis Algorithm and flowchart 28
6.4 dsPIC ADC Lab Experiments 30
6.4.1 Experimental Setup 30
6.4.2 dsPIC Code 30
6.4.3 Results and Analysis 34
6.5 Mathematical Correlation between Spindle Load and Tool Wear 37
7. Communication Network and Information Management 39
7.1 Monitoring Module and Central Server Communication 40
7.2 Information Management System 41
8. Conclusion 44
9. Further Work 45
References 46
Appendix 1: Typical output file from Dynoware Software 48
Appendix 2: Typical Output file from Spindle Load Signal 49
Appendix 3: dsPIC30F6014 ADCON register data sheet 50
vii 0542281 Sachin S. Kulkarni
List of Figures
Figure 2.1 End Milling, Slab Milling and Face Milling 4
Figure 2.2 Up Milling and Down Milling 4
Figure 2.3 Typical 4 Flute End Mill 5
Figure 3.1 Relationship between Cutting Force and Spindle Load 10
Figure 3.2 Work done by the cutter 11
Figure 4.1 Milling cutters used in the experiment 12
Figure 4.2 Milling centre and data acquisition system 13
Figure 4.3 Cutting Forces plot for 20 seconds of machining data 16
Figure 4.4 Cutting Forces plot for 5 seconds of machining data 16
Figure 5.1 Typical Spindle Load Plot for a Milling Test 20
Figure 5.2 Filtered Spindle Load Signal 21
Figure 6.1 Input and output signals to the dsPIC A/D converter 26
Figure 6.2 Correction technique to eliminate spindle load component 27
Figure 6.3 dsPIC control and operation algorithm 29
Figure 6.4 Output as obtained from dsPIC A/D Converter 35
Figure 6.5 Magnified A/D converter output plot 35
Figure 6.6 Analogue Spindle Motor Load Current from CNC Controller 36
Figure 6.7 Digital Equivalent of the Spindle load signal 36
Figure 6.8 Typical Spindle Load Plot 37
Figure 7.1 IPMM Architecture with the Tool Monitoring Node 39
Figure 7.2 Communication between Monitoring Module and other elements 40
Figure 7.3 Tool Life Database on Central Server 42
Figure 7.4 Front End HMI Screen on the Central Server (Screen 1) 43
Figure 7.5 Tool Life Information with Tool Utilization Chart 43
viii 0542281 Sachin S. Kulkarni
THIS PAGE IS INTENTIONALLY LEFT BLANK
1 0542281 Sachin S. Kulkarni
1. Introduction
1.1 Project Background
Lean Manufacturing has been widely accepted as the standard which many
manufacturers aim for. The emphasis on reduction of waste and implementation of
‘Just in Time’ systems result in demand for higher levels of control and predictability
of the manufacturing process. Essential insights into the key elements of the
manufacturing process are needed to facilitate the engineers to make timely and
accurate decisions.
In the metal processing industry it is becoming increasingly essential to be able to
detect the tool failure as soon as it occurs to avoid the financial losses and also waste
of time, material and energy associated with the continued use of damaged tool. In an
event of tool breakage, the work piece under machining is in danger of being
damaged. This could also put the operator in danger of physical injury due to flying
debris from the broken tool or component. In order to tackle this problem research is
being undertaken in both academic and industrial circles to monitor the tool life and
predict the end of its useful life and/or the potential failure point of the tool being
used. However, this research has failed to produce solutions which are universal in
nature. This can be attributed to the fact that most of the research in academia and
industry has been mutually exclusive. The complicated physics of the cutting forces
involved in the cutting process are often modelled within laboratory environment to
support tool monitoring with a degree of success. However the resulting systems have
failed to impress the industry.
2 0542281 Sachin S. Kulkarni
This project aims to consider the milling process and investigate methods of
monitoring the tool life of the milling cutter based on various cutting parameters and
the information obtained from the CNC machine controller.
1.2 Project Aims
This project is to complement the current research activity being carried out at the
Intelligent Process Monitoring and Management (IPMM) Research Group at Cardiff
University. The project investigates the feasibility of a low cost Microcontroller based
tool monitoring technique that can be effectively used in the industry.
The objectives of the project are:
Ü Understanding the Milling Process, Concept of Tool Wear.
Ü Research into Tool Monitoring Techniques and Systems available in Industry.
Ü Review of the research at IPMM Research Group, Cardiff University
Ü Conduct milling experiments to obtain cutting forces and spindle current
profiles.
Ü Compare and contrast the cutting force based monitoring approach with
spindle motor load based monitoring approach.
Ü Investigate the feasibility of PIC based tool monitoring technique.
Ü Integration of the PIC based system as one of the nodes in the IPMM
Architecture.
3 0542281 Sachin S. Kulkarni
2. Monitoring the Milling Process
2.1 Introduction to Milling
Milling is a metal cutting process that involves a work piece which is fed to rotating
cutter at a preset feed rate and with the spindle head rotating at a fixed speed [1]. The
relative motion between the rotating tool and the workpiece results in the cutting
operation[2]. The multiple cutting edges on the milling cutter facilitate rapid material
removal and reduced the frequency of regrind ing the tool [1, 3]. The machined
surface can be flat or can have the profile of the milling cutter. More complex and
intricate profiles can be machined through a combined effect of the cutter profile and
simultaneous interpolation of more than one axes of the CNC machine employing a
state of the art control system.
2.2 Types of Milling and Milling Cutter details
The milling processes are generally classified based on the type of milling cutter used
or the final profile obtained. For instance figure 2.1 shows ‘End Milling’, ‘Slab
Milling’, ‘Face Milling’. Alternatively, classification is also possible on the basis of
the axis along which the milling cutter is oriented viz. Vertical Milling and Horizontal
Milling. In figure 2.1, Slab milling is classified as horizontal milling and all other
milling processes are classed as vertical milling. It is also possible to use more than
one cutter on a horizontal milling machine. This process is called straddle milling and
is widely used for high volume machining with little or no variation.
4 0542281 Sachin S. Kulkarni
Figure 2.1 End Milling, Slab Milling and Face Milling, figure reproduced from Introduction to
Basic Milling (1995) [1]
Besides the classification mentioned above the methods used when undertaking
milling processes are classified as UP Milling and DOWN Milling. This classification
is based on how the cutter enters the work piece.
1. Up Milling: Figure 2.2A shows the UP Milling process. The direction of the
feed motion is opposite to the direction of the cutter rotation [3]. In this case the initial
chip size is small and gradually increases. The power consumption in this type of
milling in less when compared to Down Milling. However the surface finish is
sometimes poor compared to the Down Milling process.
2. Down Milling: Figure 2.2B shows the typical Down Milling process. The
direction of the feed and the cutter rotation is same [3]. The tool takes a bigger chunk
of the metal when it enters the work piece compared to when it exits. However the
tool life is higher in Down Milling as compared to Up Milling [4].
Figure 2.2 Up and Down Milling, figure reproduced from Introduction to Basic
Milling (1995) [1]
5 0542281 Sachin S. Kulkarni
Figure 2.3 shows the key elements of a typical End Milling Cutter similar to those
used in the experiments undertaken in this project.
Figure 2.3 Typical 4 Flute End Mill [5]
The tooth and the flute undergo wear which together is classed as tool wear. The tooth
wears due to the high cutting forces resulting from metal fracture in the work piece.
The flute is designed in order to facilitate smooth chip flow resulting from the cutting
operation. This chip flow also results in friction on the flute edges and thus wears the
tool with time.
6 0542281 Sachin S. Kulkarni
2.3 Tool Wear
Tool wear will normally involve the gradual deterioration of the cutting edge. This
occurs mainly due to the friction between the cutting tool and the metal being
processed. The tool wear in metal cutting is caused due three main reasons: Adhesive
wear, abrasive wear and diffusion wear [3].
1. Adhesive wear: Due to high levels of friction between the cutter and the
material, an asperity weld junction is formed and consequently fractured due
to the relative motion of the chip and the tool [3]. This results in small
fragments of cutting tool being carried away by the tool [3].
2. Abrasive wear: The hard particles on the chip and the work piece formed as
the result of high working temperatures erode tool fragments during relative
motion [3].
3. Diffusion wear: This occurs due to the changes in the internal molecular lattice
structure of the tool material [3].
Besides the friction various other factors influence the deterioration of the cutting
edge. Some of these factors are:
1. Thermal wear: The friction in the cutting process leads to high operating
temperatures. This induces thermal wear on the cutting tool. Thermal wear can be
controlled by using an effective coolant system.
2. Accelerated Tool Wear: This can occur due to hard spots in the material being
machined. Although the time the spent in the cutting operation may be the same, the
level of tool wear is different due to the hard spots.
7 0542281 Sachin S. Kulkarni
2.4 Tool Life
Tool life is a key economic factor in metal cutting and the right choice of machining
parameters like speed, feed, and depth of cut can provide improved tool life and thus
reduce the overall machining costs [3]. “Tool life is the actual life of the tool when the
cutting is satisfactory. It is defined as the time to failure, volume of material cut
before failure or in mass production it is the number of parts produced before
failure.”[6]. The level of
acceptable wear on a cutting edge is based on the operation for which the tool is used.
For instance a higher level of wear is acceptable in a roughing operation as compared
to a finishing operation. This makes it difficult to adopt a universal standard of
acceptable tool wear and thus it is equally difficult to standardise the tool life for a
given tool. For cost effective manufacture it is important to monitor the tool wear and
thus tool life for optimum tool utilization.
2.5 Tool Life Monitoring
Methods and techniques for effective tool life monitoring have been developed in
both industry and academia. These can be broadly classified into two categories [7]:
1. Direct Monitoring: In this type of monitoring the actual wear on the tool is
measured against preset standards. This means the tool needs to be taken off
the machine and the process needs to be stopped. This is therefore not
desirable in an industrial application demanding high levels of productivity.
2. Indirect Monitoring: This method involves obtaining and analysing various
key machine parameters to assess the current tool life situation. The machining
parameters could be the cutting forces on the tool, the spindle load current,
8 0542281 Sachin S. Kulkarni
acoustic emissions from the tool which can also be used to asses the wear on
the tool. A combination of two or more of these parameters can be used
depending on the level of accuracy required.
There are two Indirect Monitoring methods currently used in the industry viz.
1. Tool life in terms of machining time
This is the simpler of the two methods. The tool life is calculated in minutes using
Taylor’s Tool Life Equation. The variable in the CNC controller memory is specified
to hold this value. The value held in this variable is decremented every time a metal
cutting ‘G’ command is used (G01, G02, G03). The pre scalar value for the real time
and the actual tool life can also be specified as a ratio [8]. This system is entirely
independent of the actual work done by the milling cutter. Therefore the accuracy of
the tool life monitoring system is down to the proper selection of the pre scalar value.
For instance, in the SIEMENS Sinumerik 802D system, $TC_MOP2[t,d] is a variable
used to hold the residual tool life for active tool ‘t’ and cutting edge ‘d’.
$A_MONIFACT is a system monitoring clock which can be run faster of slower
based on the operation and experience. [8]
This can be explained with an example as follows [8]:
$A_MONIFACT = 1 means, 1 minute real-time = 1 minute of tool life
$A_MONIFACT = 0.1 means 1 minute real-time = 0.1 minutes of tool life
$A_MONIFACT = 3 means, 1 minute real-time = 3 minutes of tool life
This method relies heavily on the experience of the user and uniformity of the
material being machined. This kind of tool monitoring system is available on the
SIEMENS Sinumerik 802D CNC Controller.
9 0542281 Sachin S. Kulkarni
2. Tool Life in terms of work done by the tool.
This method of tool life monitoring is rather complicated and expensive as compared
to the earlier method. The tool life is represented in terms of the maximum work that
could be done by the tool before it is deemed undesirable for further use. The work
done by the tool can be monitored by various machine parameters like the spindle
current, cutting forces on the tool etc. This method is more accurate as it is capable of
obtaining real time machining data and updates the actual tool life and does not
entirely rely on empirical standards. The sophistication of this system makes it
possible to also monitor the tool breakage and alert the operator. The example of this
technique can be found in the FANUC Intelligent control called AI Tool Management
system [9].
10 0542281 Sachin S. Kulkarni
3. IPMM Approach
3.1 Outline of IPMM Approach
The IPMM methodology was developed at the Cardiff University’s IPMM research
group. One of the key research interests of the group is to develop a low cost reliable
tool monitoring system. The group aims to use spindle load is the key indicator for the
amount of work done by the tool and thus determine the tool wear. Since tool wear is
the function of the work done by the tool [10].
The relationship between the spindle load and the cutting forces has been established
by means of various experiments. Figure 3.1 shows the relationship between the
Average Total Cutting Force and Average Spindle Load [10].
Fig 3.1 Relationship between Cutting Force and Spindle Load, figure reproduced from
Prickett P.W & Grosvenor R.I (2007) [10]
11 0542281 Sachin S. Kulkarni
Furthermore, three cutting tests performed at the IPMM Research group indicate that
for a same machining cycle under conditions of similar cutting parameters, the work
done by the tool is different. This is indicated in figure 3.2 [10].
Figure 3.2 Work done by the cutter for each cutting cycle with same cutting parameters, figure
reproduced from Prickett P.W & Grosvenor R.I (2007) [10]
12 0542281 Sachin S. Kulkarni
4. Cutting Force Based Experiments
Previous research has proved that there exists a strong relation between cutting forces
and tool wear [11, 12] The Total Tool Force can be used to compute tool wear and
thus establish the tool life of a milling cutter. Therefore an experiment was conducted
to obtain the cutting forces.
4.1 Experimental Setup
The laboratory setup comprised of a Kondia B500 Milling Vertical Milling Machine
on which all the cutting tests were performed. The machine bed was installed with a
Kistler Dynamometer. A standalone industrial computer running “Dynoware”
software was used to obtain cutting force data from the Kistler dynamometer. Two
milling cutters were used in the experiment both 20mm 4 flute cutters but one had a
2mm edge chipped off on one of the tooth as shown in the fig 4.1. This was to
simulate tool breakage and analyse the changes in the cutting forces.
Figure 4.1 Milling cutters used in the experiment.
2mm chipped off
13 0542281 Sachin S. Kulkarni
Figure 4.2 Milling Centre and Data Acquisition Systems
The output data from the Kistler Dynamometer was converted in to MS Excel
spreadsheets by the Dynoware software. The spreadsheet comprised of cutting forces
in x, y and z direction. Appropriate data sampling rate was used to obtain optimum
data points.
4.2 Experimental Procedure
The machine was appropriately setup with the required part programme. The first set
of tests was carried out with the “good tool”. A total of nine tests were performed
with the following machining parameters.
14 0542281 Sachin S. Kulkarni
Table 4.1 Machining Parameters
Test No
Depth of Cut / mm (X Axis)
Depth of Cut / mm (Y Axis)
Feed / mm/min
Speed / rpm
1 1 1 100 300 2 1 2 100 300 3 1 3 100 300 4 2 1 100 300 5 2 2 100 300 6 2 3 100 300 7 3 1 100 300 8 3 2 100 300 9 3 3 100 300
These machining parameters were selected based on experience to provide best set of
data. The data acquisition was initiated manually and 20seconds worth of data was
acquired. The x, y and z axis force profile was obtained for each test.
The same set of tests was repeated with the second “broken” tool with 2mm chipped
off one of its cutting tooth. A total of 18 excel spreadsheets with the force data were
obtained by the end of the cutting tests.
15 0542281 Sachin S. Kulkarni
4.3 Results and Analysis
Table 4.2 shows a sample of the data from a typical output of the dynamometer used
in the experiment.
Table 4.2 Cutting forces for Depth of Cut 1mm X 1mm on a “good tool”
Time [s] Ch1 Ch2 Ch3 0 47.0581 -49.6216 25.6348
1.00E-03 45.2271 -44.7998 25.0244 2.00E-03 45.2271 -46.3257 26.0925 3.00E-03 51.5747 -43.396 24.4141 4.00E-03 47.3633 -40.4663 26.2451 5.00E-03 43.335 -40.2832 26.8555 6.00E-03 41.3818 -34.1797 25.0244 7.00E-03 37.7808 -27.0996 25.0244 8.00E-03 37.9028 -24.353 23.9563 9.00E-03 31.6772 -21.4233 23.3459 1.00E-02 21.4844 -14.9536 23.6511 1.10E-02 20.752 -6.5918 16.6321 1.20E-02 3.60107 2.99072 11.9019 1.30E-02 -6.83594 6.53076 13.7329 1.40E-02 4.76074 5.24902 10.0708 1.50E-02 6.04248 7.20215 10.0708 1.60E-02 -2.56348 2.74658 12.3596 1.70E-02 1.15967 1.0376 11.1389 1.80E-02 6.53076 4.63867 10.2234 1.90E-02 2.19727 3.41797 12.0544
The data in table4.2 show only the first 20 values obtained from the dynamometer.
Ch1, Ch2 and Ch3 and the cutting forces in the x, y and z directions respectively.
Figure 4.3 shows the plot of cutting forces across the entire 20 seconds of data where
as figure 4.4 shows 1 second worth of data (5 revolutions).
16 0542281 Sachin S. Kulkarni
Fig 4.3 Cutting Forces plot for 20 seconds of machining data
Fig 4.4 Cutting Forces plot for 5 seconds of machining data
17 0542281 Sachin S. Kulkarni
The graphs above show three plot and two of which (Ch2 and Ch3) are in the negative
force region. This is because of the dynamometer was setup. This information is very
effective for the analysis of unusual events which occur infrequently during cutting.
Therefore this approach is better suited for short term trends. However tool
monitoring demands the analysis of long term trends. This system in not suited for the
long term trends because of the following:
1. High levels of analysis required to compute the resultant cutting force of three
individual force patters obtained from the dynamometer.
2. At optimum sampling rates a vast amount of data is produced and storing
would need larger memory capacity and thus it isn’t cost effective.
Besides, the other shortcomings in using the dynamometer based system are as
follows:
1. The initial setup cost of the dynamometer and the corresponding software is
too high, therefore can not be used extensively.
2. Components to be machined have to be smaller than the dynamometer.
3. Operator intervention is essential to initiate data acquisition.
4. It is inconvenient to use the dynamometer along with the specialized work
holding which may be required in machining complex parts. This also
increases the machine setup time.
18 0542281 Sachin S. Kulkarni
5. Spindle Load Based Experiments
IPMM research has previously established that the relationship between the Total
Tool Force and the Spindle Load is linear and it has been proved as a result of
previous research that there exists a strong correlation between the cutting forces and
the tool wear [11]. It is therefore, possible to argue that there exists a relationship
between Spindle load and tool wear. The objective to this experiment is to obtain
Spindle load for a metal cutting operation.
5.1 Experimental Setup
The laboratory setup comprised of a Kondia B500 Milling Vertical Milling Machine
on which all the cutting tests were performed. A standalone PC was used to acquire
the data from the CNC machine controller. A data bus carrying the spindle load signal
within the CNC controller was tapped into to obtain the signal. A 20mm, 4 flute
milling cutter was used for the milling tests. The data was stored in the MS Excel
CSV format. The spreadsheet comprised of spindle load signal, 0V level and +5V
level.
5.2 Experimental Procedure
These tests were conducted concurrently with the tests described in section 4.2 using
the machining parameters shown in table 4.1
A total of 9 excel spreadsheets with the spindle load data were obtained by the end of
the cutting tests.
19 0542281 Sachin S. Kulkarni
5.3 Results and Analysis
Table 5.1 shows a typical output of the spindle load signal spreadsheet.
Table 5.1 Typical Spindle load output
Sr. No Cal 5V Cal 0V Spindle Speed Spindle Load 1 1041 24 118 74 2 1064 27 115 85 3 1050 28 120 78 4 1048 28 116 88 5 1053 24 118 76 6 1047 21 114 77 7 1051 26 117 76 8 1046 29 112 77 9 1045 27 126 74 10 1049 26 125 81 11 1046 26 119 75 12 1049 26 150 82 13 1047 26 115 79 14 1053 26 118 69 15 1052 26 117 76 16 1047 26 114 70 17 1045 26 113 73 18 1051 26 117 61 19 1050 26 112 77
Cal 5V and Cal0V show the calibrated values of 5V and 0V level respectively. The
values in the spindle load vary between the calibrated 5V and 0V values. Fig 5.1
shows the plot of Spindle load against time. The 5V on the graph is equivalent to.6kW
of power.
20 0542281 Sachin S. Kulkarni
Figure 5.1 Typical Spindle Load Plot for a Milling Test
The plot in fig5.1 shows the only one variable quantity i.e. spindle load and therefore
it is more straightforward to analyse and obtain results as compared to cutting forces
plot obtained from the previous experiment. The plot also shows the change in the
spindle load as the cutter was engaged with the work piece. Fig 5.2 shows the filtered
and magnified plot of the spindle load.
21 0542281 Sachin S. Kulkarni
Figure 5.2 Filtered Spindle Load Signal
The spindle load signal during non cutting time in fig 5.2 (“No Cutter Work piece
Contact”) is the power consumption in order to overcome the inertia of the machine
spindle head and set it in motion. The increase in the spindle load is a result of the
cutter coming in contact of the workpiece.
Although this approach reduces the number of signals when compared to the cutting
force approach, it is still subject to the problem of high data volumes. This makes it
essential to have a considerable large memory space. From the tests, it was found that
the each MS Excel CSV file was 1.00 MB and had 16 seconds of data. If this system
were to be used for industrial applications with a machine working for 10 hours, it
would produce approximately 2.40 GB data. Therefore a tool room employing
22 0542281 Sachin S. Kulkarni
numerous such systems would have to invest significantly in memory space, thus
pushing up the installation cost.
Besides, the use of the standalone PC reduces the robustness of the system and may
render it unsuitable for the industrial applications. However this system does
overcome the problem of data complexity, the need for human intervention and the
work piece size restrictions compared to the cutting force analysis method.
23 0542281 Sachin S. Kulkarni
6. dsPIC® Based Data Acquisition and Analysis Experiments
The amount of data obtained from the spindle load signal can be reduced and
effectively managed by appropriate data analysis systems. A PIC based data analysis
approach was used to reduce the data volumes and accurately approximate the
effective spindle load for the entire machining cycle.
The data acquisition process remains the same as in experiment 2. The only change
however is the use of a PIC device to reduce the data size at source. Besides reducing
the data at the source the PIC is also employed to process and analyse the data
obtained. A dsPIC30F6014 was used to condition the data at source. The dsPIC was
chosen because of its large internal memory, powerful Analogue-to-Digital
conversion capacity, high processing speeds and versatility which would be essential
for further development.
6.1 Introduction to dsPIC® family of Microcontrollers
The dsPIC30F family of microcontroller is designed and manufactured by Microchip
Inc which is a leading provider of Microcontrollers and analogue semiconductors. The
dsPIC30F family of Microcontrollers is the high end version of microcontrollers in
the Microchip product offerings. It has a 24 bit instruction word length and 16bit data
path.
The microcontrollers in the dsPIC30F family can be explained under three
headings[13].
24 0542281 Sachin S. Kulkarni
1. CPU Core
The core of the dsPIC30F family is consistent with all other PIC microcontrollers and
has a Harvard Architecture with a modified instruction set and a Digital Signal
Processor (DSP) Engine [13].
2. System Integration
The System integration functions are the tools which help reduce the systems cost and
increases the system reliability and design flexibility. These include [13]:
i. Internal Clock (Oscillator)
ii. Reset
iii. Flash and EEPROM Programming
iv. Device Configuration
v. Watchdog Timers and Power Saver Mode
3. Peripherals
The Peripherals are the tools with in the dsPIC Microcontroller which can be used
with communicate to the external world. The dsPIC can be interfaced to an external
stand alone PC and sensors/transducers. It can also signal conditioning functions on
any input signal. The peripherals of interest in this project include
i. 12bit A/D Converter: Analogue to Digital Converter
ii. UART: PC communication module
iii. Timers: For Synchronised A/D operation
25 0542281 Sachin S. Kulkarni
The other peripheral functions within the dsPIC are
iv. I/O Ports
v. Input Capture Module
vi. Output Compare Module
vii. Quadrature Encoder Interface
viii. SPITM Module
ix. I2CTM Module
x. Data Converter Interface
xi. CAN Module
These functions can be implemented depending upon the level of system capability
desired.
The code developed can be ve rified and debugged using an In-Circuit Debugger 2
(ICD2) is a low cost hardware debugger that can be used instead of using expensive
hardware or In Circuit Emulator [14].
6.2 Methodology
The internal memory of the dsPIC was used as a buffer to hold 100 digital values
obtained as a result of the A/D conversion. The summation of these values was stored
in a single dimension array. The contents of this array were then exported to the
remote PC thereby reducing the number of data points and making the system leaner
without reducing the sampling rate for data acquisition hence the accuracy of the
system is not compromised. Figure 6.1 illustrates the typical spindle load signal and
corresponding output as a result of the dsPIC algorithm.
26 0542281 Sachin S. Kulkarni
Figure 6.1 Input and output signals to the dsPIC A/D converter
Data Analysis
27 0542281 Sachin S. Kulkarni
Fig 6.1 shows the original spindle load signal and the figure 6.2 shows the signal
correction technique used.
The signal was reduced in nine individual blocks. For each block, the analogue signal
was converted to digital values. The size of the block can be decided by the operator
depending on the amount of data required. The summation of digital values in the nth
block was held in the corresponding ? n variable within the result array in the dsPIC.
Value in ?1 was subtracted from each ? n in order to eliminate the component of
spindle load to overcome the friction and inertia of the spindle head. Therefore the
final value in the array would represent the actual load as a result of the cutting
operation as shown in fig6.2
Figure 6.2 Correction technique used to eliminate unwanted spindle load component
28 0542281 Sachin S. Kulkarni
The instantaneous value of the spindle load component due to cutting can thus be
calculated as follows:
C ( t ) = L ( t ) – L0
Where,
C(t) is then instantaneous spindle load due to cutting at time t,
L(t) is the instantaneous spindle load
L0 is the spindle load when tool and work piece are not in contact.
6.3 Data Acquisition and Analysis Algorithm and Flowchart
A step by step signal conditioning algorithm was developed as follows:
1) Start
2) Check if the spindle is rotating (Halt program execution till spindle is set in
motion)
3) Store the first value of ADC conversion block (?1) as L0
4) Subtract ?1 from all subsequent values of ? n.
5) Store the ADC values in the array in PIC memory.
6) Check if the array overflows, on array overflow export values to the remote
PC.
7) Terminate signal conditioning once the spindle rotation stops.
8) End
This algorithm was converted into a flowchart as shown in the figure 6.3
(Equation 6.1)
29 0542281 Sachin S. Kulkarni
Figure 6.3 dsPIC control and operation algorithm
30 0542281 Sachin S. Kulkarni
6.4 dsPIC® Based ADC Lab Experiments
An experiment was conducted in a laboratory based environment to test the basic
Analogue to Digital Conversion module using a dsPIC30f6014. This was done in
order to confirm that a dsPIC had the desired level of computational capability. It was
intended that minor changes could be implemented to achieve the final working
model.
6.4.1 Experimental Setup
The experimental setup comprised of a dsPIC development board with dsPIC30f6014
(microcontroller) and peripheral development environment. A computer running
MATLAB was used to generate a simulated signal as obtained from the spindle load
from the CNC machine controller. The output of the MATLAB signal generator was
the input signal for the dsPIC30f6014. This was used to replicate the spindle load
signal without having to do “live” cutting tests. A second computer running MPLAB
software was used to develop the PIC code and a MPLAB ICD2 was used to control
the operation of the dsPIC30F6014. A signal generator and oscilloscope were used for
trouble shooting. The output of the ADC converter was read using the MPLAB
software and exported to excel.
6.4.2 dsPIC® Code
A PIC code was developed based on the algorithm shown in figure 6.3. This code
converted the analogue signal (Spindle Load Signal) to its digital equivalent. The
code is also capable of calculating the spindle load component due to cutting as
shown in figure6.2 by eliminating the load component to overcome the spindle head
inertia and friction. The final Digital values are stored in the result array
31 0542281 Sachin S. Kulkarni
A simple delay loop with a while loop is used to obtain the various timing delays
required for data acquisition and conversion. It would be required to change the delay
time depending on the sampling rate required.
Table 6.1 shows the list of all the variables used in the PIC code and values they hold.
The Algorithm shown in fig 6.3 was converted to a dsPIC30F6014 compatible code
using the MPLAB C30 C Compiler. MPLAB C30 complier simplified code
development as compared to the Assembly Language code development. MPLAB
C30 allowed developing a Microcontroller code in C language using the assembly
language programming techniques. The following C code was developed to operate
the dsPIC30F6014 in A/D mode. The analogue input generated from the function
generator and the equivalent digital output was stored in the ADC result array.
Sr. No Variable Description 1 ADCresult Array holding the A/D result 2 NUM_SAMPLES Number of Digital Values to be held in ADCresult 3 ADCindex Pointer used to address ADCresult 4 Pinconfig Initialize the input signal pin 5 Scanselect Scans the input pins for input signal 6 config1 Holds the initialization values for ADCON0 7 config2 Holds the initialization values for ADCON1 8 config3 Holds the initialization values for ADCON2 9 TOOLLIFE Array Holding the value of Tool Life 10 TEMPTOOLLF Holds intermediate Tool Life value or further analysis
11 ZEROLOAD Holds value for load component to overcome spindle head inertia and friction
12 ADCPTR Variable used in the for Loop
32 0542281 Sachin S. Kulkarni
// Basic A/D Converter using dsPIC30F6014 #include<p30f6014.h> // Header File #include<adc12.h> // Header File #define dataarray 0x1820 #define NUM_SAMPLES 3200 unsigned int ADCresult[NUM_SAMPLES]; unsigned int ADCindex; unsigned int PinConfig, Scanselect,config1, config2, config3, TOOLLIFE[32], TEMPTOOLLF, ADCPTR, ZEROLOAD,i,j,x; void ADCINIT(); // Function Prototype void delay(); // Function Prototype int main(void) { ADCINIT(); // ADC Initialization ZEROLOAD=ReadADC12(0); // Load when tool not in cut ADCON1bits.ASAM=0; //Initiate Data Acquisition ADCindex=0; for(j=0;j<32;j++) // Program to hold 32sec data { TOOLLIFE[j]=0; for(ADCPTR=0; ADCPTR<100; ADCPTR++) { i=0; ADCON1bits.SAMP=1; // End Acquisition delay(); //conversion delay ADCON1bits.SAMP=0; // Start Acquisition i=0; while(i<10) { i++; } ADCresult[ADCindex]=ReadADC12(0); TEMPTOOLLF=ADCresult[ADCindex]; ADCindex++; TEMPTOOLLF=TEMPTOOLLF-ZEROLOAD; TOOLLIFE[j]=TOOLLIFE[j]+TEMPTOOLLF; } TOOLLIFE[j]=TOOLLIFE[j]/100; // ADC Result Average } while(1) // Looped Program Execution return 0; } // End of Main
33 0542281 Sachin S. Kulkarni
void ADCINIT() { PinConfig = ENABLE_AN10_ANA; Scanselect = SKIP_SCAN_AN0 & SKIP_SCAN_AN1 & SKIP_SCAN_AN2 & SKIP_SCAN_AN3 & SKIP_SCAN_AN4 & SKIP_SCAN_AN5 & SKIP_SCAN_AN6 & SKIP_SCAN_AN7 & SKIP_SCAN_AN8 & SKIP_SCAN_AN9 & SKIP_SCAN_AN11 & SKIP_SCAN_AN12 & SKIP_SCAN_AN13 & SKIP_SCAN_AN14 ; config1=ADC_MODULE_ON & // Initialize ADCON0 ADC_IDLE_CONTINUE & ADC_FORMAT_INTG & ADC_CLK_MANUAL & ADC_AUTO_SAMPLING_OFF; config2=ADC_VREF_AVDD_AVSS & // Initialize ADCON1 ADC_SCAN_OFF & ADC_SAMPLES_PER_INT_1 & ADC_ALT_BUF_OFF & ADC_ALT_INPUT_OFF; config3=ADC_SAMPLE_TIME_0 & // Initialize ADCON2 ADC_CONV_CLK_INTERNAL_RC & ADC_CONV_CLK_Tcy & ENABLE_AN10_ANA & SKIP_SCAN_AN10; SetChanADC12(ADC_CH0_POS_SAMPLEA_AN10 & ADC_CH0_NEG_SAMPLEA_NVREF); OpenADC12(config1, config2, config3, PinConfig, Scanselect); } // End of ADCINIT void delay(void) // Delay Loop { int i=0; while(i<25000) { i++; } }
34 0542281 Sachin S. Kulkarni
6.4.3 Results and Analysis
Two signals were used to assess the operation of the ADC and the algorithm. The first
signal was a sinusoidal wave of 2hz frequency and 4V peak to peak voltage generated
from the signal generator. The dsPIC algorithm was programmed to sample 3200 data
points. Table6.2. shows the first 100 values output from the ADC and figure6.4.
shows the plot of all the digital values obtained from the dsPIC ADC.
Table6.2. Digital Values obtained from the ADC
35 0542281 Sachin S. Kulkarni
Fig 6.4 Output as obtained from dsPIC A/D Converter
On magnifying the first hundred output values of the ADC, the Successive
Approximation method of ADC used by the dsPIC becomes obvious as shown in
figure6.5
Fig 6.5 Magnified A/D converter output plot
36 0542281 Sachin S. Kulkarni
The second experiment was conducted using spindle load signal obtained from one of
the cutting tests. Figure 6.6 shows the spindle load current obtained from the SNS
controller which was simulated using MATLAB in Laboratory environment and
figure 6.7 shows the digital output obtained from the dsPIC30F6014.
Figure 6.6 Analogue Spindle Motor Load Current from CNC Controller
Figure 6.7 Digital Equivalent of the Spindle load signal obtained from the dsPIC
37 0542281 Sachin S. Kulkarni
6.5 Mathematical Correlation between Spindle Load and Tool Wear
As stated earlier, it has been proved that there is a relation between the spindle load
and tool wear. The spindle load characteristics in digital format can be obtained as
shown in section 6.4. Consider the spindle plot shown in figure 6.8 for cutting
operation.
Fig 6.8 Typical Spindle Load Plot
Using time based tool life monitoring system, the total reduction in Tool life T
(expressed in minutes) can be expressed as:
T = T – t
Where, ‘t’ is the machining time in this instance. So the new tool life is as given by
the equation 6.2
In reality the tool has undergone accelerated wear due to change in machining
environment denoted by the spike in the load signal and therefore the corrected value
of tool life can be given by
Time
Load
x
a
t
Load Signal
Equation 6.2
38 0542281 Sachin S. Kulkarni
T = T – (t + z)
Where, z is a correction value can be mathematically expressed as
z = f (x , a)
z is function of x and a where
x is the time for which the tool undergoes accelerated wear
a is the amplitude of the load signal.
The dsPIC based A/D can be used to compute the total work done in the by the tool
during time ‘t’ which needs to be converted to equivalent time. Research needs to
establish this Mathematical Correlation given in equation 6.4.
Equation 6.3
Equation 6.4
39 0542281 Sachin S. Kulkarni
7. Communication Network and Information Management
The work described in this project forms one of the new nodes in the IPMM
Architecture. This proposed new node is as shown in figure 7.1
Fig 7.1 IPMM Architecture with the Tool Monitoring Node [10]
The Tool Monitoring Module can be integrated into the existing dsPIC30F6014
Microcontroller and can thus become a virtual node. This will be particularly
important where the cost of the Tool Monitoring System is required to be as little as
possible. However this would compromise the data handling capacity of the entire
40 0542281 Sachin S. Kulkarni
system. Therefore the quality of the machining process expected would determine
weather or not an additional node is required to be implemented.
7.1 Monitoring Module and Central Server Communication
A two way read/write communication is required between the Tool Monitoring
Module and Central Server. The Monitoring Module reads the spindle load data from
the CNC machine controller as shown in figure7.1. Figure7.2 shows the data
communicated between the Central Server and the Tool Monitoring Module.
Fig 7.2 Communication between Monitoring Module and other elements
41 0542281 Sachin S. Kulkarni
The central server holds the tool life data for every tool. This tool life information
includes the maximum available tool life for each tool and the current usage level.
This information is relayed to the Monitoring Module when the appropriate tool
number input is selected on User Tool Selector Switch.
The User Tool Selector Switch is a simple multiple way rotary selector switch. The
user needs to select the appropriate switch based on which tool is being used. In a
CNC machine with automatic tool changer and multiple tools on a tool magazine /
carousel, the tool information can be directly obtained from the CNC Tool Library.
7.2 Information Management System
A database on the on the Central Server maintains the current tool life of every tool on
every machine. The tool life values in the database are updated after every cycle by
the Tool Monitoring Module as shown in figure7.2. The data base can also be
designed to store other fields like Date, tool life used on every cycle etc, which could
be used for diagnostic purposes in case of material hardness variations and also to
evaluate economics of machining. Figure7.3 shows a typical database which could in
built either in MS Excel or MS Access or any other advanced database management
packages.
42 0542281 Sachin S. Kulkarni
Fig 7.3 Tool Life Database on Central Server
The front end tool serves as a HMI and can be linked up the database. A simple two
screen front end tool developed in MS Word Visual Basic Macro developer is as
shown in the figure7.4 and figure 7.5.
On running the information management system, the dialog box shown in the
figure7.4 would open and prompt the user to input the machine number. Following
which the dialog box to all the tool life information will be displayed.
43 0542281 Sachin S. Kulkarni
Besides these basic operations, there could be facility to extract information from the
database in MS Excel spreadsheet.
Fig 7.4 Front End HMI Screen on the Central Server (Screen 1)
Fig7.5 Machine Specific Tool Life Information with Tool Utilization Chart (Screen 2)
44 0542281 Sachin S. Kulkarni
8. Conclusion
The experiments undertaken during the project helped establish that the cutting
force data was not suitable for monitoring the tool life because it was complicated
to analyse. The shortcomings in the form of high cost and workpiece size
restrictions meant it was unsuitable for low cost industrial applications.
The spindle motor current data had only one single plot and thus it was less
complicated in comparison to the cutting force approach. The experiments also
showed that there was a noticeable increase in the spindle motor current when the
cutting was initiated, this could be used or monitoring purposes. However there
was still the problem of high data volume with the spindle motor current
approach.
The problem of high data volume was resolved by employing a data compression
system at the source. The laboratory experiments showed that the dsPIC30F6014
was capable of reducing the data vo lume. The dsPIC30F6014 was also found to be
capable of converting analogue signal to digital equivalent at appropriate sampling
rates for accurate and efficient monitoring.
It would be possible to integrate the tool monitoring system into the IPMM
architecture. Investigation was also led into possible integration scheme and
information management system to efficiently transfer data from the central
machine server to the tool monitoring module.
45 0542281 Sachin S. Kulkarni
9. Further Work
The dsPIC code presented in this literature is only a basic A/D converter module.
Further work needs to be done in order to obtain accurate tool life information.
Following improvements are required to enhance the effective operation of the
algorithm:
Ü Delay using while loop need to be replaced with the timer based delay using
one of the internal timers within the dsPIC30F6014. This will facilitate better
control on the data acquisition and conversion and thus improve accuracy
Ü The code needs to be further developed on communicate with the standalone
PC / Central Server. This can be established using the UART peripheral
functions available in the dsPIC30F6014.
Ü Real-time communication between the dsPIC30F6014 and the Central server
needs to be established which does not exist in the current code.
Ü The code need to be upgraded to obtain sampling rate information from the
user.
The mathematical correlation between the spindle load and the tool wear needs to be
established.
For more accurate tool life monitoring systems, the spindle motor current signal can
be used in association with the Acoustic Emissions to reflect a better image of the
actual tool wear. This would give a realistic indication of the work done by the tool in
cutting operation [15].
46 0542281 Sachin S. Kulkarni
References
1. Fletcher, P. 1995. An Introduction to Basic Milling. Watford: EnTra
Publications.
2. Rufe, P.D. 2002. Fundamentals of Manufacturing. Dearborn: Society of
Manufacturing Engineers.
3. Boothroyd, G & Knight, W.A. 1989. Fundamentals of Machining and
Machine Tools.2nd ed. New York: Marcel Dekker, Inc.
4. Alauddin, M. El Baradie, M.A. Hashmi, M.S.J. 1995. Tool- life testing in the
end milling of Inconel 718. Journal of Materials Processing Technology
Vol.55, pp321-330.
5. Kennametal Inc. HEC4-Flute - Conventional Lengths Finishing End Mill
http://www.kennametal.com/en/e-
catalog/ProductDisplay.jhtml?XMLArg=3675.xml&id=3675&level=&pid=50
52283&navAction=push&item=category%3A3675
[Accessed: 20 February 2008]
6. Dorf, Richard. C & Kusiak, Andrew. 1994. Handbook of Design
Manufacturing and Automation. New York: John Wiley & Sons.
7. Kalpakjian, S. 1928. Manufacturing Processes for Engineering Materials. 5th
edition. New Jersey: Pearson Education Inc.
8. SIEMENS Sinumerik 802D Milling Programming and Operating Manual,
pp.279-280
9. Fanuc Ltd. FANUC Robodrill a- i series Intelligent Control.
http://www.fanuc.co.jp/en/product/robodrill/intelligence/intelligence.html#tool
[Accessed:15 December 2007]
47 0542281 Sachin S. Kulkarni
10. Prickett, P.W., Grosvenor, R.I. 2007. A Microcontroller-based milling process
monitoring and management system. Proc. IMechE Vol.221, Part B: J.
Engineering Manufacture, pp357-362
11. Choudhry, S.K., Rath, S, In process wear estimation in milling using cutting
force method. Journal of Materials Processing Technology, Vol. 99, no. 1-3,
2000, pp113-119.
12. Oraby. S, E., Hayhurst. D.R., Development of models fo r tool wear and force
relationship in metal cutting. International Journal of Machine Tools and
Manufacture. no.33. 1991
13. dsPIC30F Family Reference Manual. Microchip Inc.
http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&node
Id=1999&ty=&dty=§ion=&NextRow=&ssUserText=dsPIC30F%20manu
al
[Accessed: 10 March 2008]
14. MPLAB ICD 2 In-Circuit Debugger/Programmer. Microchip Inc.
http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&node
Id=1999&ty=&dty=§ion=&NextRow=&ssUserText=ICD
[Accessed: 14 March 2008]
15. Yingxue, Y. Xiaoli, L. Zhejun, Y. Tool Wear Detection with Fuzzy
Classification and Wavelet Fuzzy Neural Network. International Journal of
Machine Tools and Manufacture. Vol. 39. no 10. 1999. pp 1525-1538.
48 0542281 Sachin S. Kulkarni
Appendix 1 – Typical output file from Dynoware
File Type: Path: C:\Kistler\DynoWare\Data\Projects0708\ Filename: test2311-1.dwd Config ID: test2311-1.cfg Setup ID: 0 Manipulated: 0 Filename 1: Filename 2: Date: Time: Sampling rate [Hz]: 1000 Measuring time [s]: 20. Delay time [s]: 0. Cycle time [s]: 0. Cycles: 9 Samples per channel: 20001 Cycle interval: 0 Channel enabled: 1 1 1 Cycle No: 3 Time [s] Ch1 Ch2 Ch3 0. -0.244141 2.92969 -3.20435 1.e-003 3.17383 2.38037 -4.42505 2.e-003 2.62451 0.976563 -3.96729 3.e-003 3.90625 -6.10352e-002 -4.11987 4.e-003 6.46973 0.610352 -4.42505 5.e-003 5.98145 1.28174 -3.66211 6.e-003 5.79834 1.64795 -3.35693 7.e-003 7.01904 2.68555 -3.35693 8.e-003 5.7373 3.17383 -3.20435 9.e-003 4.57764 2.92969 -3.96729 1.e-002 5.12695 3.11279 -4.11987 1.1e-002 3.90625 2.92969 -4.11987 19.997 22.2778 -9.64355 -10.0708 19.998 10.0708 -4.69971 -8.39233 19.999 -1.89209 2.80762 -6.71387 20. 6.10352e-002 5.06592 -6.2561
49 0542281 Sachin S. Kulkarni
Appendix 2 – Typical output file from Spindle Load Signal
Frequency (Hz) 2000
Cal 5V Cal 0V Spindle Speed
Spindle Load
1053 26 109 78 1050 26 113 67 1050 27 112 74 1050 26 110 68 1050 26 112 74 1047 27 107 75 1052 26 110 71 1046 27 114 65 1049 26 110 76 1047 27 106 67 1047 27 111 78 1047 26 110 70 1045 26 112 77 1050 25 113 72 1048 26 108 70 1045 27 117 67 1047 26 109 71 1050 26 111 78 1052 26 111 80 1049 26 112 76 1047 26 116 69 1046 26 107 81 1045 27 118 73 1049 26 117 73 1048 26 114 73
1048 26 109 74 1048 26 109 62 1047 26 99 81 1045 26 109 101 1048 26 103 91 1050 26 100 83 1046 26 109 80 1051 26 102 84
50 0542281 Sachin S. Kulkarni
Appendix 3 – dsPIC® ADCON register datasheet
51 0542281 Sachin S. Kulkarni
52 0542281 Sachin S. Kulkarni