1. Introduction
Chatter is the undesired self-excited vibrations that causes bad surface finish, increased tool wear/breakage and excessive noise, and it limits productivity. Chatter can be avoided by the selection of the proper machining parameters. For that purpose, stability lobe diagrams are used to select the best suitable spindle speed and depth of cut combinations [
1]. Those diagrams are formed based on the mathematical model of the machine tool–workpiece system. The mathematical model relies on the frequency response function (FRF) measurements and the cutting force models. However, during the milling process, the physical system might deviate from the physical model. For example, the FRF of the rotating spindle might be different from the stationary measurements during high-speed machining operations [
2]; likewise, the position changes of the axes will change the stiffness characteristics [
3], and the workpiece dynamics will deviate with the varying mass reduction during the process [
4]. Besides the physical model, the input force model also reserves uncertainties. The tool wear causes varying force coefficients; furthermore, practical engagement problems like the unknown tool runout cause deviations in the prediction of force models.
All those problems force an online chatter detection and control solution. Online speed regulation to suppress the chatter is a known and old technique. In 1994, Liao and Young utilized the cutting force signal of a dynamometer; by the use of FFT, they detected the chatter frequency. The new spindle speed was determined in order to keep a
/2 phase difference in between the present and previous cuts [
5]. In 1998, Soliman utilized dynamometer measurement; rather than computing the new spindle speed set point, they utilized a closed-loop-like solution and regulated the ramp rate of the spindle according to a statistical indicator, the R-value [
6]. Although those techniques are called online, they are not appropriate for real-time operations since the signal processing requires a large amount of data. In 2010, van Dijk developed control strategies for the automatic adaptation of the spindle speed. They used a Kalman filter and a second-order TF to detect the dominant chatter frequency [
7].
Continuous spindle speed variation (SSV) is another known technique for chatter suppression. Stability properties can be improved by spindle speed variation [
8]. The spindle speed is varied around its nominal value in a sinusoidal form. Selection of the frequency and amplitude parameters of the speed variations is a challenging task; Urbikain [
9] achieved real-time implementation in turning operation and discussed the power consumption limitations for parameter selection. Al-regib [
10] proposed a simple amplitude ratio determination criterion based on the fractional phase portion of the chatter vibrations associated with the mean spindle speed. The method requires only chatter frequency and spindle speed knowledge for online application; the effectiveness is shown for the turning process. Ding developed active control methods for determining the amplitude and frequency of SSV in turning operations [
11,
12]. Besides sinusoidal, the effect of different profiles has been investigated. Seguy [
13] showed the amplitude has a greater effect on stability than the frequency, and the triangular shape is more effective than a sinusoidal variation, while Li [
14] utilized a piecewise profile.
Suppression of chatter provides a further increase in the stability and real-time applications require the accurate detection of the onset of chatter. The online detection algorithms consist of data acquisition, signal processing, feature extraction and classification model steps [
15]. The percentage of the signal types processed in the chatter detection literature up to 2023 is classified by Navarro [
16]. According to his review paper, 39% of the chatter detection studies utilize vibration signals, 25% utilize force signals, 10% acoustic signals and 13% utilize other signals such as laser displacements, thin film piezo, non-conventional embedded sensors [
17], etc. Seven percent of chatter detection studies are classified as sensorless methods. Those studies utilize the internal signals of the CNC like set spindle motor current [
18] and intrinsic signals like electric phase monitoring [
19]. The remaining 6% of the chatter detection studies consists of the multi-sensor approaches, which gained attention in the last few years. Kuljanic [
20] utilized a rotating dynamometer, accelerometers, and acoustic and electrical power sensors, and used different chatter indicators. They compared the robustness and accuracy of multi-sensor to single-sensor systems. Depending on the signal type, signal number and also the signal processing and feature extraction techniques, multi-sensor systems may achieve accuracy in chatter detection [
21], or give no significant difference in the single-sensor case [
22]. Zheng investigated the effectiveness of CNC internal signals for the external acceleration signal [
23]. Although they listed the encoder measurement as an available signal, the comparison is made only with the integral component of the current command and the actual torque value signals.
To the best of the author’s knowledge and based on the review papers [
15,
16,
24], there is a lack of literature on direct chatter detection methods that rely solely on axis encoder measurements. Encoder signals in conjunction with motor current signals are only exploited by Sugiyama [
25] and Yamada [
26]. They employ a dynamic model of the machining system to estimate the cutting force and have introduced the MEF (mechanical energy factor) index for chatter detection purposes, which reflects the phase difference between displacement and estimated force.
In the feature extraction step, there are different signal processing methods that can be classified into three main groups: time domain, frequency domain and time–frequency domain. In time domain analysis, either the raw signal or the filtered one is analyzed, and statistical indicators are calculated as chatter indicators. However, the lack of frequency information is the main limitation of the statistical analysis. Also, for the cases where machining conditions change, statistical methods may not detect the onset of chatter effectively [
27]. However, with the use of model-based observers, the chatter frequency can be accurately tracked in time [
28,
29,
30]. In frequency domain analysis, FFT is the most commonly used indicator. Although frequency domain analysis provides accurate and reliable chatter detection, the lack of time information is the main limitation of that approach. Therefore, the methods based on frequency domain analysis are not suitable for real-time chatter detection. Conversely, time–frequency domain analysis provides both the time and frequency information at the same time which makes it favorable for real-time applications. In time–frequency domain analysis, short-time Fourier Transform (STFT) [
31], wavelet pocket transform (WPT) [
32] and Hilbert–Huang Transform [
33] are the most commonly used techniques. Once the chatter frequency is extracted, chatter can be eliminated, by adjusting a new spindle speed in such a way that the new tooth passing frequency equals a multiple value of the chatter frequency [
34].
The commonly utilized signals for chatter identification in the milling process in the literature include force signals, vibration signals, acoustic signals, motor current signals and acoustic emission signals. This paper proposes a solution that relies solely on linear encoder measurements and does not require any dynamic system model. The proposed algorithm is the extension of the previous research, where a generalized detection algorithm for acoustic, acceleration, dynamometer and motor spindle current signals was presented based on the chatter energy ratio [
29]. The earlier algorithm employed a Kalman filter to distinguish between the periodic and chatter components of the signal and used a non-linear Teager–Kaiser energy operator (NEO) to identify chatter frequencies. In this work, the algorithm is extended to incorporate encoder measurements and updated to address the challenge of varying spindle speeds. Moreover, the frequency estimation process is now conducted using an extended Kalman filter (EKF), providing greater robustness and accuracy compared to the NEO. In addition to the chatter energy ratio, this approach introduces frequency estimation variance as a novel indicator for chatter detection and the selection of dominant frequencies. Additionally, a control strategy has been developed that uses the chatter energy ratio as a feedback signal. The entire algorithm operates in real time, with the controller adjusting the spindle speed to maintain the chatter energy below a predefined threshold. The developed algorithm is tested on the Deckel FP5cc CNC, which has been retrofitted with Beckhoff servo motors, drivers, IO modules and a PC-based controller.
2. Materials and Methods
2.1. The Proposed Algorithm
The proposed method does not require profound knowledge of the machining dynamics; instead, the entire algorithm is based on the vibration characteristics of the milling processes. Besides the encoder measurement, the algorithm only requires spindle speed and commanded axis feedrate as the inputs.
The vibration signals related with the milling processes primarily includes three types of elements: forced periodic components, abnormal chatter vibration components [
35] and random components due to noise and tool–workpiece inconsistencies. These random components are treated as measurement noise in the Kalman filter and are not included in the ideal plant mode. The forced vibrations occur at known tooth passing frequency and its harmonics; on the other hand, chatter vibrations occur close to one of the natural modes; in addition, there are sidebands which are spread at the multiples of tooth passing frequency above and below the chatter frequency. In this paper, considering the tool runout effect, the chatter frequency and its sidebands are assumed to be located between two spindle speed harmonics [
36], rather than the tooth passing frequency. The resulting vibration signal due to milling process is expressed as follows.
The proposed method makes use of Equation (
1) and consists of six steps and is illustrated in
Figure 1. In the 1st step, the axis position measurement is processed through a kinematic Kalman filter and the velocity variations around the feed command are estimated. In the 2nd step, a periodic Kalman filter block identifies all the spindle speed harmonics of the velocity variations. Here, the filter make use of the known spindle frequency input and identifies the unknown magnitudes and phases of all spindle harmonics. The periodic component of the signal
is reconstructed by summing all the spindle harmonics. The chatter component
is extracted by subtracting the stable component from the estimated feed speed variation
.
Different from the periodic forcing components, besides the amplitude and phase, the frequency of the chatter signal is also unknown. Therefore, it is not possible to detect all chatter frequencies with a single observer. As a solution, in the 3rd step, a single chatter prone frequency is isolated in between two consecutive spindle harmonics by a band-pass filter, which will then be fed through an allocated extended Kalman filter (EKF) observer. The challenge with the BPFs is the varying spindle speed. Since the manipulated output of the chatter controller is the spindle speed, the corner frequencies and the band length of the filter have to be adapted with the varying speed. Therefore, a dynamics band-pass algorithm is derived which updates the filter coefficients in real time as a function of spindle speed. In the 4th step, EKF searches for a possible unknown chatter frequency and identifies its amplitude and phase. For stable cases there is no chatter frequency in between the two consecutive spindle harmonics resulting in junk estimation. Therefore, a novel decision algorithm is made, where the dominant chatter frequencies are selected based on the frequency estimation variance of the EKF.
In the 5th step, the energy of the chatter and the periodic components are calculated. Energy ratio of chatter over the total signal, ER, is fed back to the chatter controller. The 6th step is the automatic chatter controller (ACC). It consists of a finite state machine and a regulator. Once the chatter is detected, regulator manipulates the spindle speed in order to minimize the chatter energy ratio.
2.2. Derivation of Feed Variation from Axis Encoder
Linear encoder is built in all CNC systems; therefore, in considering chatter detection, it is superior to external signals like acceleration, microphone or force measurements. However, raw position measurements are not appropriate for signal processing, since it does not have a zero mean, but has an increasing or decreasing trend due to its inherent integral behavior. On the other hand, the feed is constant throughout the cutting process and, subtracting the actual velocity from the feed command, a zero mean Gaussian signal can be obtained. The actual axis velocity signals are already available inside the PLC unit. However, they are not suitable for identification purposes since they are low-pass filtered in order to remove the high-frequency content for motion control purposes. Conversely, relatively high-frequency signals that are well above the position and velocity control loop bandwidths are of interest in the chatter detection algorithm. Therefore, in this study, the raw encoder signals are utilized in the chatter detection algorithm instead of intrinsic PLC signals. The axis velocity is derived from the raw encoder measurements via a kinematic Kalman filter. The filter is called kinematic since the model does not include any dynamic terms like inertia and friction, but is only based on the kinematic relation in between the position and velocity. The state equations are given as follows.
Here, the state vector
consists of position and velocity states. In the first row, position is incremented by the velocity state at T time step. On the other hand, in the second row, the velocity is kept constant since no acceleration state is defined. Considering the machining process, constant feed assumption is a fairly good model. Note that, although acceleration is not a separate state, it is introduced as a noise input
w to the model. The magnitude of process noise
w represents how much the speed and position estimations may vary during one sampling time T. The magnitude of
w can be considered as a low-pass filter. Decreasing the acceleration noise, Kalman filter trusts more on the constant speed model resulting in a small bandwidth LPF. On the other hand, increasing the
w, the filter trusts more on the measurement and this corresponds to a higher bandwidth. The Kalman filter equations are standard and can be found in literature [
37]; they are also repeated here as follows.
These equations are solved at each k
th time step recursively. Here, the
is the state matrix as defined in Equation (
2),
is the measurement noise covariance and
is the process noise covariance matrix determined by the acceleration noise as
, where
is the expectation operator
In the above equations, the position unit is not meter but ‘increment’ and the velocity unit is selected to be ‘increment/sample’. Encoder counter is the input of the algorithm and one count corresponds to the resolution of the linear encoder. Here, the sampling time is
indicating one sample. In this way, the condition number of the matrix is enhanced, which is important for numerical stability in real-time operation. Moreover, the system is made independent of sampling time. In that way, the algorithm can be applied with any sampling frequencies without requiring an update for the covariance matrices. Lambda
is the weight factor for adjusting the process noise. It is selected to be
meaning that the feed speed may vary 20 increments/sample in 1 sample. Once the axis velocity is derived from the raw encoder data, it is subtracted from the commanded feed velocity. In this way, zero mean velocity variation data are obtained for the chatter detection algorithm.
2.3. Estimating Spindle Speed Harmonics
The forced vibrations generate the periodic oscillations at the harmonics of spindle frequency. The periodic part of the signal given in Equation (
1) can be reconstructed with a finite number
N of harmonics in discrete time domain as follows:
where
and
are the unknown amplitude and phase of the
-th spindle harmonic (
) with frequency
at discrete time step
. For notational convenience, the sampling time,
T, is omitted and the discrete time varying quantities are represented by subscript
k only.
The state variable representation of a single cosine signal is given as follows [
29]:
where
is the process noise and accounts for the time variation in the amplitude and phase. Selecting the first state as the measured signal, i.e.,
, the measurement equation with the signal and measurement noise,
, becomes the following:
The above state space representation can be generalized to
N-number of spindle harmonics given in Equation (
5), expressed as follows:
where
with
is the state transition matrix used to model the
n-th harmonic.
Likewise, the kinematic KF from Equation (
3) is utilized for periodic Kalman filter. Only the dimensions of the elements will change, where
is the
estimated state vector,
is the
error covariance matrix and the superscript
denotes prior estimate.
is the recursively updated
Kalman gain matrix.
is the
diagonal process noise covariance matrix and
R is the covariance of the measurement noise
.
R is found by taking the covariance of measured air cutting signal, and the process noise covariance is assumed to be
where
is tuned as
. The periodic part of the measured signal is estimated as follows:
and subtracting it from the measured signal the chatter part is found and is expressed in discrete time with
M—number of harmonics as follows:
2.4. Isolating the Chatter Frequencies: Bank of Dynamic Band-Pass Filters
The chatter component
given in Equation (
11) is assumed to consist of M-many components. Therefore,
M-number of band-pass filters are utilized, where
chatter prone frequency
is isolated in between two consecutive spindle frequency harmonics,
.
In the proposed method, the spindle speed is not constant but can be manipulated by the ACC. Therefore, in order to adapt the corner frequencies of the filter with the varying spindle speeds, analytical derivation of the filter coefficients in discrete time domain is made. The band-pass filter is designed based on the normalized 4th-order prototype Butterworth LPF whose transfer function is represented as follows [
38]:
with the constants
and
.
The above prototype filter has unity cut-off frequency. An arbitrary analog filter with cut of frequency
can be obtained by inserting
. Likewise, an analog band-pass filter can be designed by inserting
where
q is the quality factor defined as
Here,
is the bandwidth, corresponding to spindle frequency, while
is the resonant frequency defined with the corner frequencies, i.e., the two consecutive spindle speed harmonics, as follows:
Inserting Equation (
13) into prototype filter Equation (
12) with unity resonant frequency
, the normalized BPF is found as follows:
with coefficients
This normalized BPF can be transformed to an arbitrary BPF with a resonant at
by simply inserting
. However, first, the continuous time correspondence of the desired corner frequencies which are defined in discrete time is calculated by utilizing frequency pre-warping (
in rad/s).
Then, the continuous time transfer function (Equation (
16)) can be transformed to discrete time by using bi-linear transformation.
The procedure for converting normalized BPF,
, to an equivalent discrete form by the change of Laplace variable
s is summarized in Equation (
19). First, the filter resonant frequency is switched to
. Then, the continuous time
is written in terms of the desired resonant frequency
and in the last step Tustin transformation is applied.
After defining the variable
, the resulting discrete BPF
in z-domain with resonant frequency at
is presented as follows:
where the denominator coefficients are
The real-time implementation of a single BPF is illustrated as a block diagram in
Figure 2. The advantage of this implementation scheme is the decreased number of delay terms by defining a new variable
. Note that direct implementation of Equation (
20) requires 1 summer and 8 + 4 = 12 delay terms. However, if the BPF is implemented as in the block diagram representation, it requires two summer and eight delay terms only. Considering there are
M-many band-pass filters, decreasing delay terms saves considerable memory.
2.5. Identification of Chatter Components with EKF
BPF bank outputs totally M-many time series. EKF identified the unknown frequency
, amplitude
and phase
of the chatter signal given in Equation (
11). Here, the subscript index
m represents the
mth band-pass filter output, while
c is for chatter. Different from the periodic Kalman estimation, the unknown frequency state creates a non-linearity. Thus, the linear Kalman algorithm given in Equation (
3) can not be applied here. The EKF is the extension of Kalman filter and utilizes the linearized state equations calculated at each sample time. The state equations of a chatter signal are obtained by augmenting the periodic signal states with unknown frequency state as follows:
Like the periodic Kalman, the first state is the signal itself,
, the second state is the sine counterpart
and the third state is the unknown frequency
. Although the unknown frequency is modeled to be constant, it is allowed to change with the noise variable
w. Due to the non-linear relation between the states, the a priori covariance calculation step of the Kalman filter algorithm, that corresponds to the first two of Equation (
3), is modified as follows.
In the a priori covariance calculation
, a Jacobian matrix
is utilized instead of a state matrix
. Jacobian matrix is derived by linearizing the non-linear state vector
calculated with the previous state estimation as follows.
Here, the hat
is for the estimation and the superscript bar is for a priori estimation. Similar to the periodic force component estimation case, measurement matrix selects the first state
. The magnitude and phase can be calculated by utilizing
and
, and the 3rd state is the unknown frequency.
2.6. Calculating the Vibration Energy
In the 5th step, all the unknown parameters of the velocity variation signal
given in Equation (
1) are identified. The energy of periodic and chatter components can be calculated by sum of the squares of the identified amplitudes as follows.
Calculation of the vibration energy with amplitude only is physically realizable. Considering a mass spring system, the free vibrations occur at the resonant frequency in the form of . The total energy of the system will be . Considering the force equilibrium , where m is the mass and k is the spring constant, total energy can be represented as . Inserting the first and second derivatives of and using trigonometric relations, the total energy becomes . Note that, since mass is constant and corresponds to velocity amplitude, the energy of the chatter and periodic components can be calculated directly by the identified signal amplitudes.
2.7. Selection of Chatter Components via Variance Energy Calculation
The detection of the chatter is determined by the ratio of chatter energy to the total vibration energy of the signal.
Direct calculation of the chatter energy by including all the M-many components results in a biased and noisy signal, which results in false alarms. In order to remove the noise, the energy of the chatter component is calculated by considering only the dominant frequencies.
The determination of the dominant chatter frequency among the M-many EKF outputs is not a trivial task. For this purpose, two approaches were tested: in the first approach, selection was based on an amplitude threshold value and, in the second approach, it was selected based on a frequency estimation variance threshold. As a result it is observed that frequency estimation variance is a very robust and accurate indicator of chatter onset.
Using frequency variance instead of amplitude is physically realizable; once the chatter occurs, the filtered signal in between the two consecutive spindle harmonics is dominated by a certain frequency. Therefore, the frequency variance is low. On the other hand, if there is no dominant frequency in the interval, since the EKF tries to fit a sinusoidal signal, it outputs a high variance frequency estimation. On the other hand, chatter amplitude may vary during stable or unstable cutting process. Note that the variance of the estimation frequency does not requires an extra calculation; it is inherently available inside the EKF algorithm. The frequency variance corresponds to the component of the covariance matrix.
2.8. Automatic Chatter Control with Spindle Speed Regulation
The automatic chatter controller (ACC) has two main tasks, (i) detection of the chatter onset and (ii) once it is started eliminating the chatter by manipulating the spindle speed. Both tasks are performed by the chatter energy ratio (ER) feedback, which is a measure of chatter energy over the whole signal. Note that ER feedback is created at the end of the whole above-mentioned algorithm. It is robust and accurate measure of chatter, since only the dominant chatter modes are selected by utilizing the frequency estimation variance parameter of the EKF. Based on the ER feedback and a predefined threshold, the onset of the chatter is detected. Then, a regulator with zero ER reference manipulates the spindle speed to decrease the ER below a predefined lower threshold value.
In order to apply the chatter control in real-time process, a finite state machine is constructed as shown in
Figure 3 and is implemented in the TwinCAT software (version 4022) as a TcObject. The state machine has two parallel states, Energy state shown on the top and automatic chatter controller (ACC) state shown on the bottom of
Figure 3. The Energy state is either stable or chatter; the switching in between the two sub-states is performed by checking the chatter energy ratio, ER. A In order to prevent continuous switching in between the two states, an additional hysteresis is also defined. Throughout the experiments, the energy ratio and the hysteresis are selected to be 50% and 25%. As a result, if the ER is higher than the upper threshold 75%, the ACC switches to the chatter state and manipulates the speed; if the ER is lower than lower threshold 25%, it switches back to the stable state keeping the manipulated spindle speed unchanged.
The ACC has three sub-states. The initial state is the standby. If the ACC is not enabled by an external command, there is no spindle and feed overwrite. The second and third states are the open-loop and closed-loop control modes. In the open-loop control case, the spindle speed is calculated based on the identified chatter frequency. Once the chatter frequency is known, it is trivial to match the spindle speed with the subharmonics of chatter. The selection of the new speed is performed as follows.
Here,
is the number of inserts,
is the current spindle speed and
is the estimated chatter frequency.
The third state is the closed-loop control mode. The controller is acting as a regulator aiming to keep the reference chatter energy ratio at zero. Here, an integral-like control strategy is applied; the spindle override command is calculated as follows.
Here, the response time of the controller is adjusted with the
parameter. It is known from the stability lobe diagrams that the processes can be stabilized either by increasing or decreasing the spindle speed. Furthermore, the maximum spindle speed override is limited to 20%. Therefore, a sign function is utilized in order to determine whether to speed up or slow down the spindle speed. Based on the OL speed calculation, the controller decides the direction by checking with the override limit. The CL controller is off when the energy states switch from chatter to stable, i.e., the ER is below the lower ER threshold.
OL or CL control configuration is selected by the user and is fixed during the operation. If there exist multiple dominant frequencies, applying OL control is not trivial, since the different chatter frequencies result in different spindle speed set points. However, in the CL case, the correct speed is selected automatically. During several tests, it is seen that CL performance is well above the OL case. Therefore, in this paper, only the CL control performance is illustrated; the OL speed calculation is used only for direction selection.
4. Discussion and Conclusions
Detection of chatter and its frequency without false alarms is essential to achieve self-optimizing, intelligent CNC machine tools. This paper presents a complete study, including chatter detection and control with speed manipulation. The algorithms are applicable in real time with a varying spindle speed. A linear encoder is built in all CNC systems; therefore, considering the cost, it is superior to external signals like acceleration, microphone or force measurements for chatter detection applications.
The proposed method relies solely on linear encoder measurements and does not require profound knowledge of the machining dynamics. The entire algorithm is based on the vibration characteristics of the milling processes. Besides the encoder measurement, the algorithm only requires spindle speed and commanded axis feedrate which are also intrinsic PLC signals. The linear encoder signal has an inherent integrator behavior. A zero mean vibration signal is obtained by utilizing a kinematic Kalman filter and subtracting the velocity estimate from the feed command. Selecting a relatively high process noise, the bandwidth of the filter and thus the frequency range of the identification can be increased.
Varying spindle speed requires a real-time update of the state transition matrices of the periodic Kalman filter and EKF. Furthermore, analytical derivation of the BPF transfer functions are presented, where the coefficients can be calculated and updated in real time with the varying speed. The periodic forced vibration components of the feed variation are identified by the periodic Kalman filter. After the chatter component is extracted, with the use of a BPF and EKF, the unknown frequency, amplitude and phase are identified.
The chatter energy ratio is calculated based on the amplitude estimates and utilized for chatter detection and control purposes. The key challenge is to separate the dominant chatter frequencies. The chatter energy ratio calculation given in
Figure 7a reveals that, in order to detect chatter, not all the identified chatter components but only the dominant ones have to be included. The proposed frequency estimation variance in the EKF is shown to be a robust and accurate indicator for the selection of dominant chatter frequencies.
A finite state machine is constructed for the real-time application of the algorithm. ACC ON and OFF states are switched based on an upper and lower ER threshold. The introduced hysteresis prevents continuous switching between the control modes. ACC has open-loop and closed-loop options. In the OL option, the spindle speed determination is trivial based on the detected chatter frequency. However, for multiple dominant frequencies, it results in different speeds. The CL control on the other hand is a regulator manipulating the spindle speed in order to minimize the chatter energy ratio calculated based on all dominant frequencies. CL control is preferred to eliminate chatter; however, the direction of the speed rate is determined based on the OL output.
The proposed algorithm is implemented in real time using TwinCAT software. The cutting tests were conducted on an in-house retrofitted Deckel FP5cc CNC machine. All motors, drivers and IO modules have been updated with Beckhoff products. The PC-based controller allows the ACC algorithm to run in real time alongside the CNC motion control tasks. Two cores of the PC are utilized, with a base-cycle time of 125 s, and the algorithm is completed in less than half of the base-cycle time. Twenty-four periodic components are identified by the periodic Kalman filter, and thirty-six chatter-prone components are identified by the EKF. The cutting tests reveal that the chatter onset can be accurately detected and eliminated using the chatter energy ratio based on frequency estimation variance.
The spindle speed controller and response time to override commands significantly affects the chatter control performance; however, tuning the controller is left for future study since the spindle motor is not a Beckhoff product and needs to be identified to determine the correct properties. Additionally, although the current study uses single-axis measurements, future research could extend the algorithm to other axes, leveraging the benefits of multi-sensor systems. Moreover, since the algorithm does not depend on machine dynamics, it could be adapted to utilize other internal signals, such as spindle current, or external signals, such as acceleration acoustics, using the same approach.
It is believed the proposed algorithm has a potential for practical industrial applications. Although most of the CNC machine tools do not use a PC-based controller, an external edge PC may be utilized for the ACC algorithm and can be integrated with conventional CNC controllers for external spindle override command.