Filtering of motor signals for jitter detection
By performing frequency domain analysis and multi-step filtering on the torque signal of the machine tool spindle motor, the problem of adding sensors and difficulty in detecting low amplitude vibration in the prior art is solved, and efficient and accurate vibration detection is achieved.
Patent Information
- Application Number
- CN202411455551.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2023-10-25
- Filing Date
- 2024-10-18
- Publication Date
- 2025-04-25
AI Technical Summary
The prior art requires adding sensors and data acquisition equipment when detecting machine tool flutters, and it is difficult to detect low-amplitude flutters, which has the disadvantages of computational and data-intensive.
Marking criteria are evaluated to detect the presence of tremor by analyzing the motor torque signal while the machine tool spindle is running, switching to the frequency domain and multi-step filtering, removing aliasing and encoder error effects.
It realizes the detection of vibrations of machine tools without external sensors, and can recognize vibrations of low amplitudes, improving the accuracy and efficiency of detection.
Smart Images

Figure CN119891858A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates generally to the field of chatter detection in machine tools, and more particularly to a method for machine tool chatter detection that does not require sensors added to the machine tool or its environment, wherein frequency domain motor torque data is filtered in a multi-step process that includes filtering out aliasing and encoder error effects, and then evaluating signature criteria to detect the presence of chatter. Background Art
[0002] It is known in the art to use computer controlled devices to perform machining operations such as drilling and milling on parts. In some applications, computer numerical control (CNC) machines are used that move the tool in three main directions with or without changing the orientation of the tool. In other applications, a multi-axis industrial robot is equipped with a machining head, and the robot is able to move the tool along any arbitrary spatial path while also controlling the tool orientation to any desired value.
[0003] Regardless of the type of machine tool or robot used to perform the machining operation, the quality of the finished workpiece is always important and conditions that may be detrimental to the workpiece quality or the life of the machine tool must be avoided. Chatter is a particular problem known to occur in some machining operations.
[0004] Chatter is a condition in which undesirable vibrations of the cutting tool occur during a machining operation. For example, in a milling operation where the milling tool (cutter head) cuts in a transverse direction (perpendicular to the axis of the cutter head), a small amount of compliance in the machine tool and the milling cutter head allows for vibration of the cutter head against the workpiece as the cutting occurs. The vibrations cause the machined surface of the workpiece to have a "scalloped" profile rather than the desired smooth profile. Additionally, in some cases, the cutting condition may become unstable, where the scalloped profile produced in one cutting stroke causes subsequent strokes of the cutter head to cut rapidly changing and non-uniform thickness material. The non-uniform cut thickness increases the amplitude of the chatter vibrations.
[0005] When experiencing unstable chatter, workpieces are often destroyed, and damage to the milling cutter head or even to the machine tool itself may occur.Therefore, it is desirable to detect chatter as soon as it occurs and take steps to eliminate it.
[0006] Techniques for machine tool chatter detection are known in the art. Many existing systems require adding vibration sensors or microphones to the machine tool environment and integrating associated data acquisition and analysis systems into the machine tool controller. Other techniques for chatter detection require measuring the structural dynamics of the machine tool system to identify the natural frequencies of vibration and use this information to predict machining stability. Still other chatter detection techniques use artificial intelligence approaches, where a machine learning system uses data from multiple sensors to learn to identify stable and unstable cutting conditions.
[0007] The above-mentioned existing chatter detection techniques all have one or more disadvantages, including the need to add sensors and data acquisition equipment to the machine tool system, the need to use a structural dynamic model of the machine tool system to predict problematic conditions, and the computationally intensive and data intensive nature of the analysis. In addition, most existing chatter detection techniques are only capable of detecting severe chatter above a certain amplitude, and may therefore miss minor chatter conditions.
[0008] In view of the foregoing, there is a need for an improved machine tool chatter detection method that does not require the integration of external sensors or data acquisition equipment and is capable of detecting chatter at any frequency, even at low amplitudes. Summary of the invention
[0009] The present disclosure describes a method for machine tool chatter detection that does not require adding sensors to the machine tool or its environment. When the machine tool spindle is running, the motor torque signal is analyzed in the time domain to determine whether the cutter head is currently cutting material from the workpiece. When no material is being cut, an air cutting reference signal is stored for use in subsequent steps. When material is being cut, the motor torque signal is converted to the frequency domain and filtered in a multi-step process. After removing the air cutting reference signal and removing the spindle harmonic components at known frequencies via spectral subtraction, additional filtering is performed to address aliasing and encoder error effects. Aliasing filtering removes false peaks caused by the interaction between the sampling frequency and the cutting frequency in the frequency response spectrum. Encoder error filtering removes frequency response peaks related to encoder design and its interaction with motor speed. After filtering, various marker criteria are evaluated to detect the presence of chatter, including the amplitude of the filtered torque signal and the amplitude ratio of the filtered torque signal to the air cutting reference signal. When chatter is detected, corrective action is taken in the form of discrete spindle speed changes.
[0010]
[0011] Additional features of the presently disclosed systems and methods will become apparent from the following description and appended claims, taken in conjunction with the accompanying drawings. BRIEF DESCRIPTION OF THE DRAWINGS
[0011] Figure 1is an illustration of the basic concepts involved in workpiece machining operations and unstable machine tool chatter;
[0012] Figure 2 is a schematic diagram of a system including a computer-controlled machine tool that performs a machining operation on a workpiece of the type to which the disclosed technology may be applied;
[0013] Figure 3 is a flow chart of a method for sensorless chatter detection in a machine tool using a two-step filtering process in the frequency domain and evaluation of two signature criteria according to an embodiment of the present disclosure;
[0014] Figure 4 In the use of the embodiment according to the present disclosure Figure 3 Frequency response curve diagram of motor torque command data before and after filtering by the method;
[0015] Figure 5A and 5B is a frequency response curve diagram of the motor torque command data under vibration conditions and non-vibration conditions according to an embodiment of the present disclosure, which shows Figure 3 The filtering steps and the resulting vibration signature analysis results;
[0016] Fig. 6A and 6B is a frequency response curve diagram of the motor torque ratio under vibration conditions and non-vibration conditions (cutting vs. air cutting) according to an embodiment of the present disclosure, which shows Figure 3 The filtering steps and the resulting vibration signature analysis results;
[0017] Figure 7 is a frequency response graph of motor torque command data before and after filtering to remove aliasing effects according to an embodiment of the present disclosure;
[0018] Figure 8 is a flow chart of a method for sensorless chatter detection in a machine tool according to an embodiment of the present disclosure, the method using a multi-step filtering process in the frequency domain and including spindle and servo motor data filtering and analysis;
[0019] Fig. 9 is a mock-up of a graphical user interface providing chatter detection visualization and control features for a machine tool according to an embodiment of the present disclosure;
[0020] Fig.10 is a graph of a measured frequency response function of a machine tool according to an embodiment of the present disclosure; and
[0021] Fig.11is a collection of graphs plotting acceleration versus time for the three tests contained in Table I according to an embodiment of the present disclosure. DETAILED DESCRIPTION
[0022] The following discussion of the disclosed embodiments directed to sensorless machine tool chatter detection is merely exemplary in nature and is in no way intended to limit the disclosed apparatus and techniques or their applications or uses.
[0023] Chatter is a phenomenon that sometimes occurs during machining operations of a machine tool. A typical example is in a milling operation, where the tip of an end mill vibrates laterally as the end mill cuts material from a workpiece. Because chatter can result in substandard workpiece quality, and even damage to the workpiece and / or machine tool, it is desirable to avoid chatter as much as possible during machining operations.
[0024] Figure 1 is an illustration of the basic concepts involved in workpiece machining operations and machine tool chatter. An end mill 110 is mounted in a spindle of a machine tool (not shown). The end mill 110 is rotated at high speed about its central axis by the spindle. The machine tool moves the end mill 110 according to a computer-programmed tool path to perform machining operations on a workpiece 120. Depending on the type of machine tool or robot in which the machine tool is mounted, the end mill 110 may be moved only in translation (in three dimensions) or, in addition to translational movement, the end mill 110 may be rotated to different orientations. Figure 1 In the example depicted in , an end mill 110 moves in a feed direction as indicated by the labeled arrows, and cuts material from a workpiece 120 as shown. The end mill 110 has four cutting "teeth" or flutes 112. The end mill 110 is exemplary only, and it should be understood that the chatter concepts discussed herein are generally applicable to cutting tools, and the chatter detection techniques of the present disclosure are applicable to other milling tools and other types of cutting devices that may encounter chatter phenomena.
[0025] Figure 1 A chatter condition is depicted in which the end mill 110 vibrates in a lateral direction toward and away from the workpiece 120. The vibration may be induced by small amounts of flexibility and / or looseness in the machine tool (including flexibility of the end mill 110 itself), in the mounting bearings of the spindle, in the overall machine tool mounting and mounting structure, etc.
[0026] During machining, the machined surface of the workpiece 120 does not have the desired completely smooth profile, but rather has a wavy or scalloped shape represented by vibration traces as shown at 122. For visual effect, Figure 1All surface waviness shown in is exaggerated, but vibration traces on the workpiece surface may actually be significant enough to negatively affect workpiece quality. Cutting conditions may be stable or unstable (ie, chatter), as discussed further below.
[0027] Under stable cutting conditions as shown in inset 130, the vibration trace left by the current tooth stroke 132 is in phase with the vibration trace left by the previous tooth stroke 134. That is, the vibration trace has a zero phase angle (ε=0). When the vibration traces from one stroke to the next are in phase, the amount of material cut by the end mill 110 is substantially constant in thickness. In other words, the "chip thickness" 136 is substantially constant, as in an ideal chatter-free condition.
[0028] In an unstable chatter condition as shown in illustration 140, the vibration trace left by the current tooth stroke 142 is out of phase with the vibration trace left by the previous tooth stroke 144. That is, the vibration trace has a non-zero phase angle (ε≠0). In the example shown in illustration 140, the vibration trace from the current tooth stroke 142 is approximately 180 degrees out of phase with the vibration trace left by the previous tooth stroke 144. When the vibration traces from one stroke to the next are out of phase, the amount of material cut by the end mill 110 varies in thickness. In other words, the chip thickness 146 is not constant. Changes in chip thickness 146 cause corresponding changes in motor torque and speed, which can produce an unstable condition in which the amplitude of the vibration increases. Unstable chatter can cause damage to the workpiece and even damage to the machine tool or end mill 110.
[0029] Figure 2 is a schematic diagram of a system 200 including a computer-controlled machine tool that performs machining operations on a workpiece, of the type applicable to the technology of the present disclosure. The machine tool 210 rotates a spindle 212 in which a cutting tool head, in this case an end mill 220, is fixed. The machine tool 210 causes the end mill 220 to perform machining operations on a workpiece 230. The machine tool 210 communicates with a controller 240, which is a computing device that provides motion commands and spindle motor speed commands to the machine tool 210. In a typical example, the machine tool 210 will move the rotating end mill 220 from a starting point along a path that causes material to be cut from the workpiece 230, will disengage the end mill 220 from the workpiece 230 and move the end mill 220 back to a position near the starting point, and then make another pass to cut more material from the workpiece 230.
[0030] The end mill 220 is shown in more detail in the illustration, with teeth or grooves visible at the tip 222. Again in this example, the end mill 220 includes four teeth or grooves. The number of grooves is important with respect to chatter conditions because the cutting teeth engaging the workpiece during rotation of the milling cutter leave a continuous vibration trail.
[0031] As will be discussed in detail below, the techniques of the present disclosure may be applied to the system 200. Specifically, the presently disclosed flutter detection method may be programmed in the controller 240 using data that is readily available in existing controller architectures. No sensors, microphones, or other data acquisition devices are required for data collection, and no separate data acquisition or sensor subsystems need to be integrated with the controller 240.
[0032] Figure 2 The elements of are depicted in a rather simplified manner, with the machine tool 210 being movable in three primary axes of motion - including "vertically" (axis parallel to the end mill 220) and in two "horizontal" directions (axis orthogonal to the end mill 220). It should be understood that the chatter detection method of the present disclosure may be applied to any type of machine tool in which chatter may be encountered, including multi-axis machines with tool placement and orientation capabilities, and robotically controlled mills and drills with articulated robotic arms that provide full tool placement and orientation flexibility.
[0033] Figure 3 is a flow chart 300 of a method for sensorless chatter detection in a machine tool using a two-step filtering process in the frequency domain and evaluation of two signature criteria in accordance with an embodiment of the present disclosure. Figure 3 The method can be programmed to run in a machine tool controller 240 and uses input data that is readily available in any controller architecture. The disclosed method includes filtering and analysis steps that enable chatter detection without the complexity and limitations of previously existing methods.
[0034] Beginning at start block 302, the process moves to decision diamond 304 where it is determined whether the spindle of the machine tool is rotating (i.e., running or started). If the spindle is not rotating, then chatter analysis is not required and the process waits until the spindle is started. When the spindle is rotating, the process moves to decision diamond 306 where it is determined whether the cutting operation has been completed. Information regarding whether the spindle is rotating (at decision diamond 304) and whether the cutting operation has been completed (at decision diamond 306) is available in the controller from the running machine control program (i.e., the "numerical control" program that defines the sequence of cutting paths / operations to be performed on the workpiece). If the cutting operation has been completed, the process ends at end point 308. If the cutting operation has not been completed, the process moves to decision diamond 310.
[0035] The remaining steps in flowchart 300 are all based on analysis of the motor torque data. The basic premise is that if chatter occurs, then chatter will manifest in the motor torque data because the vibrations experienced at the tool-workpiece interface will cause corresponding oscillations in tool rotational speed and therefore commanded motor torque. The commanded motor torque is readily available in software running on the machine controller, where the torque command is either directly available as a machine state or can be determined from available motor current data. Throughout the remaining discussion, most of the analysis is based on the spindle torque command data (denoted as T cmd ). The steps performed in the time domain are contained in a dashed box 330, and the steps performed in the frequency domain are contained in a dashed box 340.
[0036] At decision diamond 310, a determination is made as to whether the cutting tool head (e.g., end mill) is in the process of cutting material from the workpiece. This determination is made by comparing the current torque command signal with the torque command signal for a known air cutting condition stored as a reference. Specifically, the determination is made by evaluating the time domain signal and comparing the maximum value of the current torque command with the maximum value of the air cutting torque command. The following inequality is evaluated: Where T cmd (t) is the current torque command signal in the time domain, is the reference air cutting torque command signal in the time domain, and α air is a predetermined constant. For example, if α air is defined to have a value of 1.2, then when the inequality is true, the current motor torque command is at least 20% greater than the air cutting motor torque command, and it is therefore known that the cutting tool head (e.g., end mill) is in the process of cutting material from the workpiece. Although inequality (1) refers to the maximum value of the torque command signal, its average value may be used as an alternative expression. Inequality (1) is evaluated in decision diamond 310.
[0037] If the cutting head is not currently cutting workpiece material, the air cutting reference torque signal is updated at block 312 (e.g., by averaging the currently collected air cutting torque data with previously collected data), and the process returns to decision diamond 306. Since the air cutting torque signal can change over time as conditions in the machine tool change (e.g., bearing wear, lubrication condition changes, etc.), updating of the air cutting reference torque signal is performed periodically to ensure that current data is stored. It is important to have current and accurate air cutting reference data available because the air cutting torque data contains characteristics of the machine that are important in subsequent filtering and analysis steps.
[0038] According to decision diamond 310, if the machine tool is currently cutting a workpiece material, then at block 314, the time domain motor torque signal is converted to the frequency domain and a two-step filtering process is performed. A Fast Fourier Transform (FFT) is a method that can be used to transform the time domain motor torque command signal (T cmd (t)) is executed to generate frequency domain torque command data (T cmd Other techniques for converting the time domain motor torque signal to the frequency domain are known in the art. The frequency domain motor torque command data (T cmd (ω)) can be visualized as a frequency response graph, as shown in the subsequent figures and discussed below.
[0039] Two filtering steps are then performed on the frequency domain torque command data. The first filtering step is to remove the air cutting torque data via spectral subtraction and is calculated as follows: in is the filtered frequency domain motor torque command data, T cmd (ω) is the raw (unfiltered) frequency domain motor torque command data from the FFT, is the frequency domain reference air cutting torque command data (also from FFT), and α sp is a predetermined constant that controls the amount of air cutting torque data to be removed. Equation (2) is applied over a frequency spectrum (e.g., from 100 Hz to 2000 Hz) to produce filtered motor torque command data with the air cutting torque data removed. As will be shown in subsequent figures and discussed below, the removal of the air cutting torque data effectively eliminates many of the frequency response "spikes" or "hot spots" in the resulting data, which are clearly not related to chatter because chatter cannot exist in air cutting conditions.
[0040] According to α sp Given the value of and the nature of the motor torque and air cutting torque command data, it is possible that equation (2) produces small negative values at certain frequencies. Therefore, before proceeding further in the vibration detection method, a mapping function M(·) is applied to the filtered motor torque command data. The mapping function is defined as follows: Wherein all variables appearing in equation (3) have been defined above. The mapping function of equation (3) provides that, for each frequency on the frequency spectrum, if the right side of the equal sign in equation (2) produces a positive value, then that value is used for the filtered torque command. On the other hand, if the right side of the equal sign in equation (2) produces a negative value or zero, then the filtered torque command is calculated as the absolute value of the unfiltered torque command multiplied by a small multiplier. The mapping function of equation (3) eliminates negative values from the frequency response spectrum of the filtered motor torque data, while ensuring that any significant spikes in the frequency response spectrum of the air cutting data are removed from the filtered motor torque data.
[0041] The second filtering step is to remove the main shaft harmonic components at specific frequencies in the frequency response spectrum of the filtered motor torque data, and is calculated using the following calculation: The filtering step defined in equation (4) states that for each frequency ω, which is the spindle speed ω spindle The filtered torque command is multiplied by a small value (e.g., 0.01) to significantly reduce its amplitude by an integer multiple k of the value k (in revolutions per second). The purpose of the second filtering step is to remove the main shaft harmonic components, which may persist in the frequency response graph in light vibration conditions and appear misleading. This second filtering step has an effect similar to a comb filter, attenuating the frequency response data at specific frequencies, but without the undesirable comb filtering effect of distorting adjacent content in the frequency response spectrum.
[0042] After the second filtering step described above and in equation (4), Figure 3 The filtering of the frequency domain motor torque data at block 314 is completed. Then, the resulting filtered torque command data generated by equations (2)-(4) is For vibration analysis and detection.
[0043] Figure 4 In the use of the embodiment according to the present disclosure Figure 3 A frequency response graph 400 of the motor torque command data both before and after filtering by the method of block 314 is shown. Graph 400 plots the main shaft torque command (as a percentage of maximum) on a vertical axis 410 and frequency on a horizontal axis 420. The vertical dashed line 430 coincides with the main shaft harmonic frequency.
[0044] Graph 400 includes plots of raw (unfiltered) torque data and filtered torque data, as shown in the legend. The raw unfiltered torque data includes large spikes in the response, such as those indicated at 440 and 442. The response spikes 440 and 442 may be signal noise or natural frequency characteristics from the machine tool, and may be exacerbated by the machine tool natural frequency corresponding to the spindle harmonic frequency. In the analysis of the raw unfiltered torque data, the spikes 440 / 442 and other spikes may be easily mistaken for chatter.
[0045] The filtered torque data includes some minor spikes in the frequency response, such as the spike indicated at 450. During the experiments that produced this data, detailed analysis of actual machine performance revealed that the spike 450 corresponds to actual vibration at 920 Hz. Two observations about this are worth noting. First, by using the above description of Figure 3 By using the filtering technique described in block 314, the frequency response content associated with actual chatter becomes apparent and easily detectable. Second, in the raw (unfiltered) data, the chatter at 920 Hz is not apparent, especially compared to the large spikes 440 and 442 ("false positives") that do not correspond to actual chatter of the milling cutter against the workpiece.
[0046] Back to Figure 3 Flowchart 300, at block 314, generates Figure 4 After the data filtering steps shown and discussed above, at block 316, the resulting filtered torque command data is analyzed. To obtain an indication of jitter. In the method of the present disclosure, two different jitter markers are evaluated at block 316. The data being evaluated is in the frequency domain, as explained previously.
[0047] The first vibration indicator parameter is the filtered spindle torque command data discussed above and generated using equations (2)-(4) In one embodiment, the criteria for evaluating the filtered torque command data are as follows: At each frequency in the frequency response spectrum, if the amplitude of the filtered torque command is greater than the air cutting torque command at the same frequency, If the amplitude of the filtered torque command is much larger, then tremor occurs at that frequency. On the contrary, if the amplitude of the filtered torque command is less than or equal to the amplitude of the air cutting torque command at the same frequency, then tremor does not occur at that frequency. That is: It can be recalled that in the spectral subtraction of equation (2), the air cutting torque command data has been subtracted from the spindle torque command data in the filtered data. Therefore, except for any frequencies where chattering occurs, it is expected that the filtered torque command data is less than or equal to the air cutting torque data across the entire frequency spectrum. Figure 4 The spike 450 of is an example of a condition that satisfies the criteria of inequality (5) and is easily detectable as a chatter condition.
[0048] The second vibration indicator parameter is the filtered spindle torque command data With air cutting torque command data In one embodiment, the criteria for evaluating the ratio are as follows: at each frequency in the frequency response spectrum, if the magnitude of the ratio is much greater than zero, then a flutter occurs at that frequency. Conversely, if the magnitude ratio is approximately equal to zero, then a flutter does not occur at that frequency. That is:
[0049] The second chatter signature also accounts for distortion from the spindle dynamics. It is known that the torque command at the spindle is different from the torque at the tool tip, and the variance (called distortion) varies with frequency (spindle speed). However, the second chatter signature defined above mitigates this distortion because it is a ratio, and the distortion in the numerator cancels the distortion in the denominator.
[0050] The meaning of "much greater than" in inequalities (5) and (7) may be defined in a manner found to be suitable for a particular application, such as "greater than ten times", or "greater than fifty times", etc. Preferably, the calculated value of the flutter signature is checked against predefined thresholds for flutter detection, wherein the individual thresholds (one for each of the individual flutter signatures) are defined based on experience from known flutter and non-flutter operating data. Statistical analysis such as Z-scores (median and deviation analysis) may also be used to determine whether a particular feature in the frequency response data is an outlier indicative of flutter for both signature parameters.
[0051] When the first or second vibration flag (or both) indicates that vibration is occurring, the vibration frequency ω chatter Identified as a specific frequency at which inequality (5) and / or inequality (7) is true. When chatter is detected and the chatter frequency is identified, two chatter markers can be further evaluated at sideband frequencies (a multiple of the spindle speed higher or lower than the chatter frequency) for a definitive indication of chatter. This will be discussed further below.
[0052] At decision diamond 318, a determination is made as to whether chatter is detected in any of the flags from block 316 above. If so, then at block 320, the machine controller takes steps to address and eliminate the chatter condition. The primary technique for eliminating chatter is to change the spindle speed to deviate from the conditions that cause chatter (i.e., produce Figure 1 ). One technique for identifying spindle speeds with the potential to eliminate chatter uses the following calculation: Where Ω spindle is the new spindle speed in RPM, ω chatter is the identified vibration frequency, and N flutes is the number of flutes or cutting edges on the milling cutter. The value of the integer multiplier k may be selected to provide a spindle speed deemed appropriate for the machining operation, such as a new spindle speed within some percentage of the old spindle speed.
[0053] At decision diamond 318, if chatter is not detected in the analysis of the markers at block 316, the process loops back to decision diamond 306 where the chatter detection method is repeated if the operation is not complete. This repetition of chatter detection continues until the cutting operation is complete.
[0054] Figure 5A and 5B is a frequency response curve diagram of the motor torque command under vibration conditions and non-vibration conditions according to an embodiment of the present disclosure, which shows Figure 3 The filtering steps and the resulting vibration signature analysis results. The filtered motor torque (also called spindle torque) command is the first dither flag parameter discussed above.
[0055] Figure 5A 5 is a graph 500 that plots motor / spindle torque command (as a percentage of maximum) on a vertical axis 510 and frequency on a horizontal axis 520. Again, the vertical dashed line coincides with the spindle harmonic frequency. Graph 500 includes a plot of both the raw (unfiltered) torque data and the filtered torque data, as shown in the legend. The filtered torque data (generated using equations (2)-(4) as described above) includes a large feature (spike) in the response data, as shown in ellipse 530. The spike in ellipse 530 is easily identified as chatter based on the magnitude of this spike relative to the air cutting torque data. The chatter frequency ω chatter is identified as 920 Hz. The two smaller peaks also present in the filtered torque data (to the left of ellipse 530) may indicate that the vibration occurs at a frequency that is offset from the vibration frequency by a multiple of the spindle speed. That is, the minor vibration sideband frequency may be at ω=ω chatter ±k·ωspindle occurs at, where k = 1, 2, ..., and ω spindle Is the spindle speed in revolutions per second.
[0056] Figure 5A The data depicted in were collected from an experimental milling operation where chatter at 920 Hz was independently verified. Figure 5B Depicted are frequency response data for similar experimental milling operations where no chatter was detected by independent monitoring. Figure 5B 5 is a graph 550 that plots the main shaft torque command (as a percentage of maximum) on the vertical axis 560 and the frequency on the horizontal axis 570. Graph 550 again includes a plot of the raw (unfiltered) torque data and the filtered torque data, as shown in the legend. It can be seen that there are no obvious spikes in the filtered torque response data, which is consistent with independent monitoring and analysis conducted during the experiment. Again, the torque data filtered according to the techniques of the present disclosure results in Figure 5B It becomes apparent in graph 550 that no chattering occurs.
[0057] In the graph 500( Figure 5A ) and graph 550( Figure 5B ) In both cases, the raw, unfiltered torque data includes large spikes in the response, similar to the previous discussion of Figure 4 Many of the small and large spikes in the response correspond to mainshaft harmonic frequencies, while other spikes correspond to other machine dynamic response characteristics. The spikes in the original unfiltered torque data are virtually eliminated in the filtered torque data, allowing easy identification of the Figure 5A The actual vibration conditions observed in .
[0058] Fig. 6A and 6B FIG. 1 is a frequency response graph of the motor torque ratio (cutting vs. air cutting) under vibration conditions and non-vibration conditions, respectively, according to an embodiment of the present disclosure, which shows Figure 3 The effect of the filtering step and the resulting vibration signature analysis. Motor Torque Ratio is the second tremor flag parameter discussed above.
[0059] Fig. 6A6 is a graph 600 that plots motor torque ratio (cut versus air cut) on a vertical axis 610 and frequency on a horizontal axis 620. Again, the vertical dashed line coincides with the main shaft harmonic frequency. Graph 600 includes a plot of raw (unfiltered) torque data and filtered torque data, as in the graphs discussed previously. The ratio using the filtered torque data includes a large feature (spike) in the response data, as shown by ellipse 630. Based on the amplitude of this spike (much greater than zero), the spike in ellipse 630 is easily identified as chatter. The chatter frequency ω chatter Recognized as 920Hz, which corresponds to Figure 5A The chatter frequency identified using data from the same experiment in . Smaller spikes also present in the filtered torque ratio data may indicate chatter occurring at a frequency offset from the chatter frequency by multiples of the spindle speed.
[0060] Fig. 6A The data depicted in were collected from an experimental milling operation where chatter at 920 Hz was independently verified. Figure 6B Depicted are frequency response data for similar experimental milling operations where no chatter was detected by independent monitoring. Figure 6B 6 is a graph 650 that plots spindle torque ratio (cutting versus air cutting) on a vertical axis 660 and frequency on a horizontal axis 670. Again, graph 650 includes a plot of both the raw (unfiltered) torque data and the filtered torque data, as indicated in the legend. As can be seen, there are no significant spikes in the torque ratio data, which is consistent with independent monitoring and analysis conducted during the experiment. Again, the torque ratio markers according to the techniques of the present disclosure allow for the Figure 6B It becomes apparent in graph 650 that no chattering occurs.
[0061] The results depicted in Figures 5 and 6 have been verified in experiments using external sensors including accelerometers and audio recording devices. Figure 5A and 6A Under the experimental operating conditions reflected in , external sensors confirmed the presence of vibration at a frequency of 920 Hz identified by analysis of the vibration signature parameters described above. Figure 5B and 6B Under the experimental operating conditions reflected in , external sensors confirmed that no tremor was occurring. Thus, the torque data filtering and analysis techniques of the present disclosure have been demonstrated to provide the following advantages: clearly and accurately indicating a tremor condition when tremor is present, clearly and accurately indicating the absence of tremor when tremor is not present, and eliminating many false positive spikes present in the frequency response spectrum of the unfiltered torque data.
[0062] The previous discussion describes frequency domain filtering of the spindle motor torque data, including two filtering steps, namely, spectral subtraction of the air cut reference signal, and filtering out the spindle harmonic frequencies. These filtering steps effectively prepare the spindle motor torque data for analysis to detect chatter. Other types of filtering models and other types of motor data from machine tools can be added to the techniques discussed above. These additional data sources and filtering models are discussed below, which have proven to be advantageous in certain chatter detection applications.
[0063] First, two additional filtering steps will be discussed that address other signal noise sources not addressed in the air cut spectrum subtraction and spindle harmonic attenuation discussed above. The two additional filtering steps discussed below include removing aliasing artifacts and removing encoder interpolation errors.
[0064] Aliasing is the overlapping of frequency components caused by a data sampling rate below the Nyquist frequency. The Nyquist frequency is a characteristic of the sampler that converts a continuous function or signal into a discrete sequence. For a given sampling rate (samples per second), the Nyquist frequency (cycles per second) is the frequency whose cycle length (or period) is twice the interval between samples, so 0.5 cycles / sample. When reconstructing the signal from the samples, the insufficient sampling frequency causes distortion or artifacts, which causes the reconstructed signal to be different from the original continuous signal.
[0065] As a simple example, consider a 10 Hz sine wave sampled with time series data collected at 15 Hz and at 50 Hz. When converted to the frequency domain, the 15 Hz sampled data indicates a strong frequency response at 5 Hz, which is incorrect and is due to aliasing effects. The 50 Hz sampled data indicates a strong frequency response at 10 Hz, which is correct; this is because the sampling frequency is sufficiently higher than the frequency content of the signal. In other words, the sampling rate of 50 Hz is high enough to avoid aliasing effects in the 10 Hz data signal.
[0066] In the chatter detection application of the present disclosure, aliasing causes the presence of spurious peaks in the frequency response spectrum resulting from the interaction between the sampling frequency and the cutting frequency. In the machine tool being monitored for chatter, the torque commands are present in the CNC control system where the control loops operate at different frequencies. Therefore, the resulting frequency response spectrum can present a mixture of real and spurious content due to the aliasing effects from the slower components of the CNC controller. Assume that the slower components of the controller are sampling at a frequency of 1000 Hz (f s ) operation, the corresponding Nyquist frequency (f Nyquist ) is 500Hz, where false peaks due to aliasing can appear above this frequency.
[0067] The cutting frequency in a machine tool is the frequency with which the flutes or teeth of a cutting head / tool (e.g., an end mill) come into contact with the workpiece. For example, for a cutting tool with six flutes rotating at 1600 RPM, the cutting frequency (f cutting ) is (1600)*(1 / 60) * (6) or 160Hz.
[0068] The Nyquist zone is determined by the sampling frequency (f s ) is a series of frequency regions defined by the frequency response spectrum. False peaks in the frequency response spectrum may appear in Nyquist zones. The first Nyquist zone encompasses the cutoff frequency (f cutting ) itself, which is 160Hz. The second Nyquist zone is contained in the cutoff frequency (f cutting ) is approximately half the folded sampling frequency (f s / 2); 160Hz folded around / across 500Hz is 840Hz, which is in the second Nyquist zone. The third Nyquist zone contains a false peak at a frequency that is obtained by folding the false peak in the second Nyquist zone around the sampling frequency (f s ); 840Hz folded around / across 1000Hz is 1160Hz, which is in the third Nyquist zone. Continuing in this way, the false peak in the fourth Nyquist zone appears at a frequency that is obtained by folding the false peak in the third Nyquist zone by about 1.5 times the sampling frequency (3f s / 2); 1160Hz folded around / across 1500Hz is 1840Hz, which is in the fourth Nyquist zone.
[0069] Knowing the frequency of the false peaks in the Nyquist zone from the calculations and discussion above, it is possible to filter the frequency response spectrum to remove noise (false peaks) due to aliasing artifacts. For a sampling frequency of 1000 Hz and a cutoff frequency of 160 Hz, the following calculation is used to calculate the frequency at which aliasing noise will be found: f noise =|k·1000+160| {k=-N,...,N} (10) The calculation of equation (10) produces noise frequencies (f noise ).
[0070] A filter can then be applied to the frequency response data to remove spurious peaks due to aliasing effects as follows: The filtering step defined in equation (11) states that for each alias-correlated noise frequency ω noise =f noise (evaluated at the value of k), the filtered torque command is calculated as the original torque command multiplied by a small value (eg, 0.01) in order to significantly reduce its magnitude.
[0071] Figure 7 7 is a frequency response graph 700 of motor torque command data both before and after filtering to remove aliasing effects in accordance with an embodiment of the present disclosure. Graph 700 plots torque command (as a percentage of maximum) on a vertical axis 710 and frequency on a horizontal axis 720. A large spike 730 in the frequency response indicates actual tremor occurring at approximately 1050 Hz.
[0072] Graph 700 includes plots of raw (before alias filtering) torque data and filtered torque data (after alias filtering), as shown in the legend. The raw, unfiltered torque data includes significant spikes in the response indicated at 740 and 742 in addition to the spike 730 at the dither frequency. In an analysis of the raw, unfiltered torque data, the response spikes 740 and 742 may be easily mistaken for dither.
[0073] The filtered torque data only includes the peak 730 at the actual vibration frequency. The peaks 740 and 742 in the raw torque data, which are aliasing effects occurring at frequencies of 840 Hz and 1160 Hz, respectively, have been eliminated using the filtering technique described above. Figure 7 The data on the graph 700 is derived from the sampling frequency (f s ) is 1000Hz and the cutting frequency (f cutting ) is 160 Hz. Therefore, the noise frequencies calculated using equation (10) and filtered out using equation (11) in each Nyquist zone include frequencies of 840 Hz and 1160 Hz. Figure 7 As shown, the elimination of false peaks in the frequency response data demonstrates how aliasing filtering techniques can further improve machine tool chatter detection.
[0074] Another filtering step includes removing encoder interpolation error from the machine tool frequency response. Common types of rotary shaft encoders interpolate the rotation of the motor shaft from the sine and cosine signals. Encoder interpolation error is caused by the interaction between the number of encoder rows (the number of sine and cosine waves around the circumference of the shaft) and the motor rotation frequency. In particular, encoder error noise is introduced at a frequency that is a multiple of the motor frequency (in Hz) multiplied by the number of rows on the encoder. Encoder interpolation error in the time series data is motor speed dependent, which can manifest as spurious spikes in the machine tool frequency response data.
[0075] The number of rows on the encoder is known for a particular motor. Therefore, the frequency at which encoder error noise is expected can be calculated using the following calculation: f noise = k·f motor ·N lines {k=1, 2, ...} (12) where f motor is the motor frequency in Hz (motor rpm divided by 60), N lines is the number of lines on the encoder. Calculation of equation (12) yields a set of noise frequencies (f noise ).
[0076] Then, a filter can be applied to the frequency response data in the same manner as defined in equation (11) to remove spurious peaks due to encoder interpolation errors. That is, for each encoder error-related noise frequency ω noise =f noise (evaluated at the value of k), the filtered torque command is calculated as the original torque command multiplied by a small value (e.g., 0.01) to significantly reduce its amplitude. False peaks due to aliasing of encoder interpolation errors may also exist, but can be calculated and filtered as previously described.
[0077] When collecting experimental data under non-vibration conditions and comparing Figure 7 When the frequency response is plotted in the same manner as shown, many small to medium sized peaks appear in the raw torque command data at regular frequency intervals. The frequency intervals at which the peaks appear are related to the encoder error noise frequency intervals from equation (12). When the encoder error filter frequency is calculated as in equation (12) and applied to the frequency response data, the spurious peaks are eliminated from the filtered frequency response. This demonstrates the effectiveness of the filtering step for removing encoder interpolation errors, which in turn enables more accurate machine tool chatter detection.
[0078] It is worth noting that the first filtering step described previously - the spectral subtraction of the air cut reference signal - actually removes most of the encoder error of the spindle motor (because the air cut spindle speed is the same as the cutting spindle speed, the encoder error is contained in the air cut reference signal). Therefore, for the spindle motor torque data, the encoder error filtering step essentially performs a cleanup of any small spikes in the frequency response spectrum that were not completely removed by the spectral subtraction of the air cut reference signal. In the subsequent discussion, it is explained how the encoder error filtering step is very important when using the servo motor frequency response data (as opposed to the spindle motor data) for chatter detection.
[0079] The above discussion has all involved filtering and analysis of spindle motor torque data; that is, the torque data of the motor that drives the spindle, which in turn holds a cutting tool head (e.g., an end mill). In summary, four frequency domain filtering steps have been described above; spectral subtraction of the air cutting reference signal, filtering to remove peaks in the frequency response at the spindle harmonic frequencies, filtering to remove aliasing effects, and filtering to remove encoder interpolation error effects. Back to Reference Figure 3 All of these filtering steps are performed at block 314. The filtered frequency domain torque signal is then analyzed at block 316 to detect any tremor conditions.
[0080] In addition to spindle motor data, data from the servo motors used to position machine tools can also be analyzed to effectively detect chatter. Figure 2 A machine tool of the type shown is configured for independent positioning in three orthogonal directions generally identified as X, Y and Z. A servo motor is used for positioning in each axial direction, with each of the three servo motors being controlled by a machine controller 240 to perform a specific pre-programmed machining operation.
[0081] The data from the servo motors may be filtered and analyzed to detect chatter in a manner similar to the spindle torque data described above. Indeed, in some types of machines and applications, data from one or more of the individual servo motors may provide a more reliable indicator of chatter than the spindle motor data. For example, in a machine where the spindle is driven by a spindle motor belt, the belt-related compliance and damping present between the spindle motor and the cutting tool head (e.g., an end mill) may distort the time-domain spindle motor torque data, potentially rendering the filtered frequency-domain spindle data less effective as a chatter indicator. In such cases, the frequency response data from one or more servo motors may be the best indicator of chatter in the machine tool, and therefore, it may be advantageous to analyze data from all of the motors in the machine tool.
[0082] In earlier discussions of spindle motor data collection and filtering, the data collected from the spindle motor was always described as a torque signal. This is because time series torque data for the spindle motor is readily available, for example by monitoring the motor current. In the case of servo motors, there is another option. The frequency response analysis of the servo motor data can be based on motor torque data or pulse encoder data. A pulse encoder is a device integrated with each servo motor that measures the angular position of the servo motor shaft. The time domain pulse encoder angular position data from each servo motor can be numerically differentiated to provide a velocity signal. Alternatively, the pulse encoder can provide angular velocity information directly. In either case, the time domain velocity signal can be converted to the frequency domain, where a filter can be applied and the frequency response characteristics analyzed to detect vibration in the manner described. Some considerations for using motor torque data or pulse encoder position / velocity data for servo motors are discussed further below.
[0083] The concepts described here for servo motor data filtering and analysis are applicable to all three placement servo motors (X, Y, and Z directions). However, some servo motor data filtering and analysis is often handled slightly differently than spindle motor data filtering and analysis. In particular, some of the four filtering steps previously described are not applicable when processing servo motor data.
[0084] First, it is important to note that the placement servo motors have time-varying motion. That is, during the course of a machining operation, each of the three placement servo motors may rotate in two directions at different speeds, or may stop completely. This is in contrast to the spindle motors, which typically rotate in only one direction and at a substantially constant speed during both the cutting portion and the air cutting portion of a programmed machining operation.
[0085] The time-varying motion of the servo motor means that spectral subtraction of the air cut reference signal is not possible, at least not in a practical manner. The reason is because the air cut data needs to be collected for a specific motor speed. The only way that spectral subtraction of the air cut reference signal can be accurately performed is if the entire machining operation is performed in an air cut mode so that the exact combination of servo motor speed and direction is captured in the air cut reference signal. Keeping in mind that it is desirable to periodically update the air cut reference signal to accurately reflect current machine conditions, spectral subtraction of the air cut reference signal for the servo motor becomes impractical. As a result, spectral subtraction of the air cut reference signal (the first of the four filtering steps) is not performed for the servo motor data.
[0086] Regarding the second filtering step, this filtering step is applied to the servo motor data (torque or speed) in the same way as applied to the spindle motor data in order to remove the spindle harmonics. This is to filter out the forced vibration content that may be transferred from the spindle rotation to the servo motor, and is to better highlight the vibration components, especially for lighter vibration cases.
[0087] Depending on the type of data (source) used for the servo motor, a third filtering step for removing aliasing effects can be performed on the servo motor data. If the torque data is used for the servo motor, the filtering step for aliasing removal is performed in the same manner as applied to the spindle more torque data. However, if the pulse encoder position / speed data is used for the servo motor signal, the aliasing effects discussed previously are not present in the frequency response data. This is because the aliasing effects are caused by the interaction of the slower feedback frequency of the controller with the cutting frequency. When the servo motor torque is not used for the servo motor signal, no aliasing effects are introduced. Therefore, if the pulse encoder position / speed data is used directly for the servo motor signal, the filtering step for removing aliasing effects is not performed.
[0088] A fourth filtering step for removing encoder interpolation errors is performed and is particularly important for the servo motor data. This is because the spectral subtraction of the air cut reference signal (as described above) is not performed for the servo motor data. Therefore, encoder interpolation errors are present in the servo motor data and their removal is important for accurate and reliable chatter detection in the frequency response data. In addition, since the servo motors operate at variable speeds and the encoder interpolation error frequency is a function of the motor speed, the encoder error noise frequency must be calculated (calculated in equation (12)) and applied to the frequency domain data for the specific operating speed of each servo motor under the specific conditions of the machine tool and machining program. This calculation can be performed in real time as each new brief time segment of the data is converted to the frequency domain and analyzed for chatter detection.
[0089] Figure 8 is a flow chart 800 of a method for sensorless chatter detection in a machine tool using a multi-step filtering process in the frequency domain and including spindle and servo motor data filtering and analysis according to an embodiment of the present disclosure. Figure 8 The method can be programmed to run in the machine tool controller 240 and use input data readily available in any controller architecture, including spindle motor torque data derived from spindle motor current, and motor torque or pulse encoder position / speed data for servo motors.
[0090] The left hand side of the flowchart 800 is similar to the previously discussed Figure 3The corresponding portions of flowchart 300 are substantially the same. From start block 802, the process waits at decision diamond 804 until it is detected that the spindle of the machine tool has been started. When the spindle is rotating, at decision diamond 806, it is determined whether the entire cutting or machining operation has been completed, and if so, the process is completed at end point 808. While the machining operation program is still running, at decision diamond box 810, it is determined whether the cutting tool head (e.g., end mill) is currently cutting material. As previously described, this determination is made by comparing the time domain spindle motor torque signal with a previously stored air cutting reference signal. When material is not being cut, at block 812, the air cutting reference torque signal is updated (e.g., by averaging the currently collected air cutting spindle torque data with the previously collected data), and the process returns to decision diamond 806.
[0091] As previously addressed Figure 3 As described in the corresponding part of , the steps contained in the dashed box 830 are performed in the time domain, while the steps contained in the dashed box 840 are performed in the frequency domain. Figure 3 The method is used for applications where only the spindle motor data is to be evaluated. Figure 8 In the method, both the spindle motor data and the servo motor data are evaluated, and these steps are included in box 840.
[0092] At block 814, after converting the time series spindle data to the frequency domain, the spindle data is filtered as described in detail above. This includes four frequency domain filtering steps designed to improve the ability to detect chatter in the frequency response data of the machine tool. At block 816, the spindle motor frequency response data (after filtering) is analyzed to determine if chatter is occurring.
[0093] At block 818, after converting the time series servo motor data to the frequency domain, the servo data is filtered as described in detail above. This includes applying two or three frequency domain filtering steps (depending on whether servo motor torque or pulse encoder data is used as the input signal) designed to improve the ability to detect chatter in the frequency response data of the machine tool. At block 820, the servo motor frequency response data (after filtering) is analyzed to determine whether chatter is occurring.
[0094] In a preferred embodiment, one vibration marker is used for each type of motor. For the spindle motor torque data analyzed at block 816, the preferred marker is the filtered spindle torque command data With air cutting torque command data As defined in equations (7) and (8), when the amplitude ratio is much greater than zero at any frequency in the frequency response spectrum, this is considered a sign that chatter is occurring at that frequency. For the servo motor data (from the torque signal or pulse encoder position / velocity signal) analyzed at block 820, the preferred indicator is the amplitude of the filtered servo motor command data. When the amplitude of the filtered servo motor torque or velocity is much greater than zero at any frequency in the frequency response spectrum, this is considered a sign that chatter is occurring at that frequency.
[0095] The meaning of "much greater than zero" in the analysis at blocks 816 and 820 may be defined in a manner found appropriate for a particular application, such as "greater than 0.1" or "greater than 0.25", etc. Preferably, the calculated values of the chatter signatures are checked against predefined thresholds for chatter detection, where the individual thresholds (one for each chatter signature) are defined based on experience from known chattering and non-chattering operating data. Z-scores (median and deviation analysis) may also be used to determine whether a particular feature in the frequency response data is an outlier indicative of chatter, for both the spindle motor and servo motor signature parameters.
[0096] Return to Figure 8 , after analyzing the filtered frequency response spectra at blocks 816 (for the spindle motor data) and 820 (for the data from all three servo motors), at decision diamond 822, a determination is made as to whether chatter is detected in the analysis of the data from any of the individual motors. When chatter is not detected, the process returns to decision diamond 806, and data collection and analysis continues in real time as long as machining operations are being performed. From decision diamond 822, when chatter is detected in any of the motor signal analyses, at block 824, the machine controller takes steps to address and eliminate the chatter condition. As previously described, the primary technique for eliminating chatter is to change the spindle speed away from the conditions that cause chatter (i.e., produce Figure 1 The resonance or dynamic response of the phase shift shown). The techniques for identifying spindle speeds with the potential to eliminate chatter have been discussed previously and defined in the calculation of equation (9).
[0097] In summary, the foregoing discussion describes techniques for chatter detection using frequency domain filtering and analysis of spindle motor torque data (with four different filtering operations) and servo motor data (torque data with three filtering operations, or pulse encoder data with two filtering operations). In order to effectively apply these methods to chatter detection in a particular machine tool, it would be advantageous for the machine controller to have a user interface system that provides convenient real-time visualization of the machine's frequency response characteristics and chatter status, and allows configuration of the machine's chatter detection parameters.
[0098] Fig. 9 900 is a model of a graphical user interface that provides a vibration detection visualization and control feature for a machine tool according to an embodiment of the present disclosure. The graphical user interface 900 is displayed on a display device (such as a monitor or tablet device) that communicates with a machine controller. The display device is understood to have user input capabilities, such as a touch screen feature or a mouse, and optionally also a keyboard or keypad, for selecting buttons and menu options on the graphical user interface 900.
[0099] On the left side of the graphical user interface 900 is a frequency response graph window 910. The frequency response graph window 910 displays a frequency response graph of a particular motor of the machine tool. A particular motor is selected from a drop-down list 912, and in a preferred embodiment, the drop-down list 912 includes selectable options: spindle motor, X servo motor, Y servo motor, and Z servo motor. The frequency response graph window 910 displays the frequency response in real time based on a scrolling buffer of time series data for the selected motor, where the time series data for a short period of time is converted to the frequency domain and displayed in the frequency response graph window 910. The frequency response graph depicts the response characteristics (e.g., normalized torque) of the selected motor over a frequency spectrum after all of the above filtering operations.
[0100] The tool geometry button 920 allows the user to define the geometry parameters of a cutting tool head or cutting tool (e.g., an end mill). In a preferred embodiment, when the user clicks the tool geometry button 920, a pop-up window allows the user to define the tool diameter (typically in millimeters) and the number of slots (e.g., Figure 2 4 shown). The number of slots on the tool is used to calculate the spindle speed with the potential to avoid chatter, as defined in equation (9) and discussed previously. The number of slots is also used to calculate the cutting frequency, which is used for calculation and filtering of aliasing effects.
[0101] The motor settings button 930 allows the user to define parameters for vibration detection in the operation of the machine tool. In a preferred embodiment, when the user clicks the motor settings button 930, a pop-up window containing a small table appears. In the first column of the table is a list of motors included in the machine tool. In a common example, the motors include a spindle, an X servo motor, a Y servo motor, and a Z servo motor. In the second column of the table is a priority number assigned to each motor. As previously mentioned, any particular machine tool may exhibit different sensitivities to vibration in different motors. For example, in one machine, the spindle motor may be the motor that most clearly depicts vibration conditions in its frequency response spectrum, while in another machine, the Z servo motor most clearly depicts vibration. Therefore, the motor settings button 930 allows the user to define priorities for each motor; for example, the spindle can be defined as priority #1 (the highest priority for vibration detection), the Z servo click is defined as priority #2, the X servo motor is defined as priority #3, and the Y servo motor is defined as priority #4. The table also includes a user definable threshold for each motor, where the threshold may be defined as a Z-score threshold (eg, 3.5σ) above which tremor is determined to be occurring. Z-scores have been discussed previously.
[0102] The process stability window 940 indicates at a glance whether the machine tool is currently exhibiting stable operating conditions or whether the machine tool is currently experiencing vibration (eg, Fig. 9 If the process stability window 940 indicates chattering, the chatter frequency window 950 displays the frequency (in Hz) at which chattering is occurring. As described in more detail throughout this disclosure, the chatter frequency is determined by analyzing the filtered frequency response spectrum.
[0103] If the process stability window 940 indicates chatter, the window 960 displays one or more spindle speeds (in rpm) that will potentially return the machine tool to a stable operating condition. The potential stable spindle speeds displayed in the window 960 are calculated using equation (9) discussed previously. Using a mouse or touch screen function, the user can select one of the multiple spindle speeds listed in the window 960 and then click on the accept button 970 to control the machine tool to change the spindle speed to the selected value. A stop program button 980 is provided to allow the user to stop the machine tool from running the machining operation program.
[0104] In some embodiments, an option may be included for the user to select the type of input signal to the servo motor, where the options include servo motor torque data and pulse encoder position / velocity data. These input data options, as well as considerations for filtering and analyzing frequency domain responses, have been previously discussed. For example, the selection of the type of input data to the servo motor may be conveniently included in a table accessed by the motor setup button 930. Other input data, such as the number of lines on the motor shaft encoder, may be defined by the user by clicking on the motor setup button 930, or by the user by clicking on a suitable location created on the graphical user interface 900.
[0105] Graphical user interface 900 provides convenient chatter detection visualization and control features for a machine tool, while the data filtering and analysis techniques described above provide sensorless chatter detection with greater accuracy and sensitivity than previously existing chatter detection methods.
[0106] The above techniques, including a chatter detection method using spindle motor and servo motor data optionally with multiple frequency domain filtering steps, together with a graphical user interface for real-time monitoring and control to avoid chatter, provide powerful capabilities for detecting and eliminating chatter in machining operations. These capabilities can be further used to minimize forced vibration even in finish machining operations with small depths of cut. By avoiding frequencies at which a particular machine tool is prone to exhibit excessive vibration, the surface finish quality of the workpiece is correspondingly improved.
[0107] Typical machining operations performed by a machine tool include a rough forming operation followed by a finishing operation. In a rough forming operation, where surface finish is not important, a greater depth of cut may be used. A rough forming operation machines the workpiece from its original shape to a near-final shape. In a finishing operation, where surface finish quality is important, one or more passes are made with a smaller depth of cut.
[0108] Rough forming operations are more likely to cause chatter than finishing operations due to their high tool tooth forces. However, information obtained from the roughing operation, specifically the frequency response of the machine tool, including in particular the dominant chatter frequencies, can be used to improve the surface finish quality during finishing operations by avoiding dominant chatter frequencies close to the dominant natural frequencies of the machine tool.
[0109] Fig.101 is a graph 1000 of a measured frequency response function of a machine tool according to an embodiment of the present disclosure. Graph 1000 plots the normalized ratio of output amplitude to input amplitude on a vertical axis 1010 and frequency on a horizontal axis 1020. Graph 1000 includes a frequency response curve for one of the principal direction axes (i.e., the Y axis) of a machine tool measured at a cutting tool head (e.g., an end mill). A large spike 1030 in the frequency response function graph indicates a natural frequency of vibration at approximately 900 Hz.
[0110] The frequency response function plotted on graph 1000 provides important information about the machine tool measured thereon. Unfortunately, obtaining the natural frequency of vibration information as depicted on graph 1000 requires an experimental setup that can be laborious, expensive, and time consuming; this includes equipping the machine tool with one or more motion sensors, such as accelerometers, and running tests with a dedicated impact device, data acquisition system, and computer. Fortunately, by using the sensorless vibration detection technique described above, the natural frequency of the machine tool as shown in graph 1000 can also be estimated without performing a frequency response function test.
[0111] Figure 3 (spindle data only) and Figure 8 The method (Spindle and Servo Motor Data) describes a technique for detecting chatter in a machine tool by filtering and analyzing frequency domain torque or pulse encoder data from the motor. Fig. 6A , 7 9 both show distinct spikes in the frequency response graphs that indicate chatter at specific frequencies. The chatter frequencies detected in these filtered frequency response results can be used in place of frequency response function testing to determine the natural vibration frequencies to be avoided for a particular machine tool. When the disclosed sensorless chatter detection technique is used in a Fig.10 During a rough forming machining operation on the same machine tool embodied in the results, the disclosed sensorless chatter detection technique identified chatter at a frequency of approximately 900 Hz, which is consistent with the results of the frequency response function testing.
[0112] As previously mentioned, for finishing operations, small depths of cut do not tend to excite significant chatter in a machine tool. However, finishing operations can still benefit from chatter detection techniques, particularly since any excessive vibration in a finishing operation can damage a workpiece. Therefore, it is desirable to know the dominant vibration natural frequencies of a particular machine tool and ensure that the cutting frequencies during finishing operations do not approach the natural frequencies of the machine.
[0113] Manufacturers of cutting tool bits (e.g., end mills) know that if the cutting tool bits are damaged, the workpiece surface finish quality will suffer. Therefore, manufacturers tend to recommend a combination of spindle speed and feed rate that keeps the cutting tool in a healthy condition. However, these recommendations do not take into account the actual natural frequency of the specific machine tool. Therefore, the recommended cutting speed may not achieve the best surface quality or productivity, and most operations will require further fine-tuning.
[0114] Table 1 contains the setup parameters for five machining operation tests that were performed to determine the Fig.10 Correlation between cutting frequency and vibration amplitude for finishing operations performed on the same machine tool implemented in . Table I
[0115] All tests shown in Table I were conducted with the same feed per slot (F = 0.082 mm / slot / revolution) and the same depth of cut and width of cut, where the depth of cut was 15.0 mm and the width of cut was 1.0 mm in all tests. The spindle speed Ω varied from the manufacturer's recommended speed of 9231 rpm to 13500 rpm in five tests. With respect to the feed speed F, it can be inferred that for a constant feed speed F expressed in mm / slot / revolution, a higher spindle speed Ω results in a higher tool linear speed expressed in mm / second. In other words, a higher spindle speed Ω allows machining operations to be performed faster while maintaining a constant feed speed F.
[0116] The right-hand column of Table I shows the cutting frequency in Hertz, which is the number of slot impacts on the workpiece per second (discussed earlier in connection with the Nyquist zone calculations), along with harmonics of the cutting frequency. For the machine tool on which the Table I tests were performed, the disclosed sensorless chatter detection technique identified chatter at frequencies greater than 900 Hz, which is consistent with Fig.10 The frequency response function shown tests the same results. Because the machine tool is a structure with little inherent damping, the natural frequency peak in the frequency response function is quite sharp, and the frequency band to be avoided can be defined as quite narrow. One example specifies that for a 900Hz natural frequency of the machine tool, cutting frequencies in the range from 800Hz to 1000Hz should be avoided.
[0117] Returning to Table I, the spindle speed (9231 rpm) and feed rate recommended by the cutting tool manufacturer for Test #1 resulted in a cutting frequency of 615 Hz, which is well below the range to be avoided (800-1000 Hz). The remaining tests incrementally increased the spindle speed up to 13500 rpm, which equals a cutting frequency of 900 Hz.
[0118] Fig.11 is a collection of graphs that plot acceleration versus time for the three tests included in Table 1 according to an embodiment of the present disclosure. Graph 1110 plots acceleration versus time for Test #1 of Table 1, graph 1130 plots acceleration versus time for Test #3 of Table 1, and graph 1150 plots acceleration versus time for Test #5 of Table 1. All three graphs 1110, 1130, and 1150 plot acceleration on a common vertical axis scale versus time on a common horizontal axis scale.
[0119] Graph 1110 depicts the results from test #1, where Ω=9231 rpm and the cutting frequency is 615 Hz, which is well below the natural vibration frequency of the machine tool (900 Hz). Graph 1130 depicts the results from test #3, where Ω=11000 rpm and the cutting frequency is 733 Hz, which is still below the natural vibration frequency of the machine tool (900 Hz) and below the frequency band to be avoided for the machine tool (800-1000 Hz). However, graph 1150 depicts the results from test #5, where Ω=13500 rpm and the cutting frequency is 900 Hz, which is equal to the natural vibration frequency of the machine tool (900 Hz). It can be seen that the vibration amplitude of graph 1150 (test #5) is significantly greater than the vibration amplitudes of the other two graphs 1110 and 1130. Vibration Amplitude ( Fig.11 ) is related to surface finish quality, where larger vibration amplitudes result in lower surface finish quality. Therefore, even though Test #5 does not exhibit chatter vibration, it will produce poor workpiece surface finish quality as a result of the cutting frequency being close to the natural frequency of the machine tool.
[0120] exist Fig.11 It can also be seen in the , that the elapsed time for each machining operation is different, with Test #1 running for approximately 3.0 seconds, Test #3 running for approximately 2.6 seconds, and Test #5 running for approximately 2.2 seconds. This is because, as discussed above, higher spindle speeds equate to higher rates of linear travel of the cutting head. Because machine throughput is always a concern for part manufacturers, it is desirable to run the machining operation at the highest possible spindle speed and feed rate (to maximize throughput) while keeping the cutting frequency outside the natural frequency avoidance band of the machine. Therefore, it is preferred to perform the machining operation under the conditions of Test #3, which has a vibration amplitude no higher than that of Test #1, but has a significantly shorter machining operation duration.
[0121] The foregoing discussion highlights the importance of avoiding the natural vibration frequencies of a machine tool, even for light machining operations, such as finishing where chatter is unlikely to occur. Thus, after identifying a chatter frequency using the sensorless chatter detection technique of the present disclosure, subsequent machining operations can be performed using machine speeds that avoid a frequency band defined as the chatter frequency plus or minus a certain amount (e.g., + / - 100 Hz). This enables finishing operations to be performed at maximum spindle speeds and feed rates (thus maximizing production throughput) while staying away from the machine's natural frequencies (thus maximizing surface finish quality).
[0122] Fig. 9 The graphical user interface 900 can be easily enhanced to include features that guide the user to avoid frequencies in the natural frequency band of the cutting machine tool. For example, a machine settings button can be added that enables the user to define the spindle speed and feed rate. Then, after performing a machining operation in which chatter is detected (such as in Fig. 9 In the example of FIG. 9A at a chatter frequency of 975 Hz, the graphical user interface 900 can recommend the highest possible spindle speed while keeping the cutting frequency outside a band (e.g., + / - 100 Hz) around the now known chatter frequency of the machine tool. Other implementations will occur to those skilled in the art, including behind-the-scenes features that pop up a warning if a spindle speed and feed rate are entered that results in a cutting frequency that falls within the natural frequency band of the machine.
[0123] Throughout the foregoing discussion, various computers and controllers are described and implied. It should be understood that the software applications and modules of these computers and controllers are executed on one or more electronic computing devices having processors and memory modules. In particular, this includes the previously discussed Figure 2 Specifically, the processor in the controller 240 is configured to perform the above-mentioned sensorless machine tool vibration detection, including Figure 3 and Figure 8 The method steps, and calculations using the above equations and other techniques, together with control of the machine tool itself and user interaction via the graphical user interface 900.
[0124] Although various exemplary aspects and embodiments of the method for sensorless machine tool chatter detection have been discussed above, those skilled in the art will recognize modifications, permutations, additions and sub-combinations thereof. It is therefore intended that the following appended claims and claims hereafter introduced be interpreted as including all such modifications, permutations, additions and sub-combinations as are within their true spirit and scope.
Claims
1. A method for detecting vibration of a machine tool, the method comprising: determining, by a controller of the machine tool based on the spindle torque command data, whether the machine tool is cutting material from a workpiece; converting an air cut reference data set and the spindle torque command data to a frequency domain to create air cut frequency data and torque command frequency data, respectively, while the machine tool is cutting material from the workpiece; filtering the torque command frequency data to produce filtered torque command data, the filtering comprising spectrally subtracting a multiple of the air cut frequency data from the torque command frequency data, applying a filter to remove spindle harmonics, applying a filter to remove aliasing effects, and applying a filter to remove encoder interpolation error effects; evaluating a plurality of chatter indicia at a plurality of frequencies on a frequency spectrum, wherein a first indicia is an amplitude of the filtered torque command data and a second indicia is an amplitude ratio of the filtered torque command data to the air cutting frequency data; as well as When comparison of the first and second markers to predefined criteria indicates that chatter is occurring based on either marker, an operating condition of the machine tool is changed by the controller.
2. The method according to claim 1, wherein: The spindle torque command data is determined based on machine tool spindle motor current data.
3. The method according to claim 1, wherein: Determining whether the machine tool is cutting material from the workpiece includes comparing the spindle torque command data to the air cutting reference data set.
4. The method according to claim 1, wherein: When the machine tool is not cutting material from the workpiece, the air cut reference data set is updated by averaging a current period of the spindle torque command data with data already contained in the air cut reference data set.
5. The method according to claim 1, wherein: Converting the air cut reference data set and the spindle torque command data to the frequency domain includes using a Fast Fourier Transform calculation.
6. The method according to claim 1, wherein: Subtracting the multiplied air cutting frequency data from the torque command frequency data on the frequency spectrum includes subtracting the multiplied air cutting frequency data from the torque command frequency data at multiple frequencies on the frequency spectrum, wherein the multiplication has a value between one and two, and also includes applying a mapping function to eliminate negative values after subtracting the multiplied air cutting frequency data on the frequency spectrum. 7 . The method of claim 1 , wherein applying a filter to remove spindle harmonics comprises multiplying the torque command frequency data by a constant at a frequency equal to an integer multiple of the spindle speed, and the constant has a value less than 0.
1.
8. The method according to claim 1, wherein: Applying a filter to remove aliasing effects includes multiplying the torque command frequency data by a constant at multiple false peaks in the Nyquist zone, wherein the frequencies of the multiple false peaks are calculated as the absolute value of the sum of the cutting frequency and positive and negative integer multiples of the data sampling frequency, and the constant has a value less than 0.
1.
9. The method of claim 1 , wherein applying a filter to eliminate encoder interpolation error effects comprises multiplying the torque command frequency data by a constant at a plurality of encoder error frequencies, wherein the plurality of encoder error frequencies are calculated as integer multiples of a motor frequency in Hertz multiplied by a number of rows on a motor shaft encoder, and the constant has a value less than 0.
1.
10. The method of claim 1 , wherein evaluating a first marker comprises comparing the amplitude of the filtered torque command data at each frequency to a threshold value, the threshold value being determined in a calculation relative to the air cutting frequency data or determined based on a statistical analysis of previously collected data, and wherein the filtered torque command data exceeding the threshold value at a particular frequency indicates chatter at the particular frequency.
11. The method of claim 1 , wherein evaluating the second marker comprises comparing the amplitude ratio at each frequency to a threshold, the threshold being defined as having a specific value greater than zero or determined based on a statistical analysis of previously collected data, and the amplitude ratio exceeding the threshold at a specific frequency indicates a tremor at the specific frequency.
12. The method of claim 1 further comprising determining a chatter frequency when a comparison of the first marker and the second marker to a predetermined standard indicates that chatter is occurring based on either marker, wherein changing the operating condition of the machine tool comprises changing a spindle speed to a new speed, the new speed being determined in a calculation based on the chatter frequency and a number of slots on a cutting bit in the machine tool.
13. A method for detecting vibration of a machine tool, the method comprising: converting the air cut reference data set and the spindle torque command data into the frequency domain to create air cut frequency data and torque command frequency data, respectively; filtering the torque command frequency data to produce filtered torque command data, the filtering comprising spectrally subtracting a multiple of the air cutting frequency data from the torque command frequency data, applying a filter to remove spindle harmonics, applying a filter to remove aliasing effects, and applying a filter to remove encoder interpolation error effects; evaluating a first chatter flag and a second chatter flag, the first chatter flag being the amplitude of the filtered torque command data and the second chatter flag being the ratio of the amplitude of the filtered torque command data to the air cutting frequency data; and changing an operating condition of the machine tool when the first chatter flag or the second chatter flag indicates that chatter is occurring.
14. A sensorless machine tool chatter detection system, the system comprising: a machine tool configured to perform an operation on a workpiece; as well as a controller in communication with the machine tool, the controller being configured to detect chatter by performing a plurality of steps comprising: determining whether the machine tool is cutting material from the workpiece based on the spindle torque command data; storing a time period of the spindle torque command data in an air cutting reference data set when the machine tool is not cutting material from the workpiece; converting the set of air cut reference data and the spindle torque command data to a frequency domain to create air cut frequency data and torque command frequency data, respectively, while the machine tool is cutting material from the workpiece; filtering the torque command frequency data to produce filtered torque command data, the filtering comprising spectrally subtracting a multiple of the air cut frequency data from the torque command frequency data, applying a filter to remove spindle harmonics, applying a filter to remove aliasing effects, and applying a filter to remove encoder interpolation error effects; evaluating a plurality of chatter indicia at a plurality of frequencies on a frequency spectrum, wherein a first indicia is an amplitude of the filtered torque command data and a second indicia is an amplitude ratio of the filtered torque command data to the air cutting frequency data; and When comparison of the first and second markers to predefined criteria indicates that chatter is occurring based on either marker, an operating condition of the machine tool is changed.
15. The system of claim 14, wherein: Subtracting the multiples of the air cutting frequency data from the torque command frequency data on a frequency spectrum includes subtracting the multiples of the air cutting frequency data from the torque command frequency data at multiple frequencies on a frequency spectrum, and then applying a mapping function to eliminate negative values from the filtered torque command data after subtracting the multiples of the air cutting frequency data on a frequency spectrum.
16. The system of claim 14, wherein applying a filter to remove spindle harmonics comprises multiplying the torque command data by a constant at a frequency equal to an integer multiple of the spindle speed, and the constant has a value less than 0.
1.
17. The system of claim 14, wherein: Applying a filter to remove aliasing effects includes multiplying the torque command frequency data by a constant at multiple false peaks in the Nyquist zone, wherein the frequencies of the multiple false peaks are calculated as the absolute value of the sum of the cutting frequency and positive and negative integer multiples of the data sampling frequency, and the constant has a value less than 0.
1.
18. The system of claim 14, wherein applying a filter to remove encoder interpolation error effects comprises multiplying the torque command frequency data by a constant at a plurality of encoder error frequencies, wherein the plurality of encoder error frequencies are calculated as integer multiples of a motor frequency in Hertz multiplied by a number of rows on a motor shaft encoder, and wherein the constant has a value less than 0.
1.
19. The system of claim 14, wherein: Evaluating the first sign includes comparing the amplitude of the filtered torque command data with a first threshold at each frequency, the first threshold being determined in a calculation relative to the air cutting frequency data or determined based on a statistical analysis of previously collected data, and at a specific frequency the filtered torque command data exceeding the first threshold indicates vibration at the specific frequency, and wherein evaluating the second sign includes comparing the amplitude ratio with a second threshold at each frequency, the second threshold being defined as having a specific value greater than zero or determined based on a statistical analysis of previously collected data, and at a specific frequency the amplitude ratio exceeding the second threshold indicates vibration at the specific frequency.
20. The system of claim 14, wherein: The controller is further configured to determine a chatter frequency when a comparison of the first marker and the second marker to a predefined criterion indicates that chatter is occurring, and wherein changing the operating condition of the machine tool includes changing a spindle speed to a new speed determined in a calculation based on the chatter frequency and a number of slots on a cutting head in the machine tool.