A cutting vibration suppression method and system for a data processing chip in high-precision processing on a production line
Patent Information
- Application Number
- CN202611116547.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2026-07-27
- Publication Date
- 2026-10-30
AI Technical Summary
[0003]现有技术中,数控机床通常采用高响应矢量(HRV,High Response Vector)滤波器抑制切削振动,但其抑制频率和带宽参数需人工设定且在工作过程中保持固定,无法自适应跟踪动态变化的振动主频,当振动主频发生漂移时抑制效果下降甚至失效
1、切削振动峰值显著降低。这一效果来源于自适应陷波滤波与前馈补偿的协同作用:前馈补偿在刀具到达高风险路径前减小振动激励,自适应陷波滤波在振动发生后对主谐振频率进行衰减,两者配合的抑制效果优于单一方向的抑制方案。
Smart Images

Figure CN123010592A_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of CNC machining technology, and in particular to a method and system for suppressing cutting vibration of a data processing chip in high-precision machining on a production line. Background Technology
[0002] During CNC machining, the high-speed contact between the cutting tool and the workpiece generates mechanical vibration. The vibration frequency dynamically drifts with changes in cutting conditions, directly affecting machining accuracy and surface quality.
[0003] In the existing technology, CNC machine tools usually use high response vector (HRV) filters to suppress cutting vibrations. However, the suppression frequency and bandwidth parameters need to be set manually and remain fixed during operation. They cannot adaptively track the dynamically changing vibration frequency. When the vibration frequency drifts, the suppression effect decreases or even fails.
[0004] In terms of frequency spectrum analysis of vibration signals, existing technologies typically run software FFT programs on PCs or microcontrollers for frequency domain analysis. However, due to limitations imposed by operating system scheduling and serial processing methods, the processing delay is relatively large, making it difficult to meet the timeliness requirements for real-time vibration suppression.
[0005] In terms of vibration suppression strategies, existing technologies mostly adopt single feedback compensation, that is, filtering or compensation is performed after vibration is detected. This can only passively suppress the vibration that has already occurred, and cannot predict or intervene in advance before the vibration occurs.
[0006] In summary, the shortcomings of the aforementioned existing technologies are: fixed parameter filters cannot track changes in the main frequency, software FFT processing has excessive delay, and single feedback compensation lacks predictive ability. Summary of the Invention
[0007] To address the technical problems existing in the prior art, this invention provides a method and system for suppressing cutting vibration in high-precision machining of data processing chips on production lines. This method can identify the main frequency of cutting vibration in real time through fast Fourier transform and dynamically adjust the parameters of the adaptive notch filter for frequency domain feedback suppression. At the same time, it can identify high-risk paths by pre-reading the machining program code and pre-calculate feedforward compensation values for path domain prediction suppression. This allows the two suppression mechanisms to work together to reduce the peak value of cutting vibration and meet the real-time requirements of high-precision machining.
[0008] This invention discloses a method for suppressing cutting vibration in high-precision machining of data processing chips on a production line, characterized by comprising the following steps:
[0009] Step S1: Acquire cutting vibration signals in parallel through multiple channels of the data processing chip; Step S2: Perform a fast Fourier transform on the acquired vibration signal to identify the dominant frequency of the current cutting vibration; Step S3: Calculate the parameters of the adaptive notch filter dynamically based on the identified main frequency, and reload the filter coefficients according to the calculation results to perform frequency domain feedback suppression on the vibration signal; Step S4: Pre-read the machining program code, identify high-risk machining paths, and calculate the feedforward compensation value to perform path domain feedforward prediction and suppression before vibration occurs; Step S5: Send the filtering result and feedforward compensation value to the servo system to perform compensation, forming a closed-loop vibration suppression.
[0010] It is understood that the technical solution of this invention uses a data processing chip as the core processing unit, and constructs a fully closed-loop control link from vibration signal acquisition to compensation execution through five steps. During the cutting process of a CNC machine tool, the high-speed contact between the tool and the workpiece generates mechanical vibration. The frequency of this vibration is not fixed, but changes with the cutting conditions. For example, adjustments to the spindle speed, changes in feed rate, switching of machining materials, or different tool path geometries can all cause the vibration frequency to drift. If the vibration is not suppressed in time, it will leave grooves on the machined surface, and in severe cases, cause undercutting or overcutting, directly affecting machining accuracy. The method of this invention promotes vibration suppression in two directions simultaneously: one direction is feedback suppression in the frequency domain through adaptive notch filtering, that is, after detecting vibration, its frequency characteristics are analyzed in real time and targeted filtering is performed; the other direction is predictive suppression in the path domain through feedforward compensation, that is, the servo parameters are adjusted in advance before the tool reaches the machining path that is prone to vibration. The processing results from both directions are uniformly sent to the servo system for execution, forming a closed loop. The following describes each step in detail.
[0011] Step S1 involves acquiring cutting vibration signals in parallel through multiple channels of the data processing chip.
[0012] In this invention, the data processing chip is an FPGA (Field-Programmable Gate Array). It should be noted that "data processing chip" is a general term; the specific implementation uses an FPGA, but it is not limited to a specific model or manufacturer of programmable logic devices. Any device capable of multi-channel parallel acquisition and subsequent processing is included. The FPGA has an internal programmable gate array structure, capable of simultaneously driving multiple data channels for parallel acquisition. "Parallel acquisition" means that multiple channels synchronously sample their respective vibration signals at the same time, rather than acquiring signals one channel at a time. This characteristic stems from the FPGA's internal gate array structure; each channel can be independently configured with sampling timing and data transmission / reception logic. Multiple channels do not share processing resources, therefore, the acquisition speed does not decrease with an increase in the number of channels.
[0013] In practical implementation, a semiconductor strain gauge is installed on the machine tool spindle. A semiconductor strain gauge is a sensor that operates based on the piezoresistive effect of single-crystal silicon. When cutting vibration is transmitted to the strain gauge, the resistance of the semiconductor material changes with the mechanical strain, outputting an analog voltage signal corresponding to the vibration intensity. This analog signal is processed by a signal conditioning circuit and then sent to an analog-to-digital converter (ADC) to be converted into a digital signal, which is then read by a data processing chip. The signal conditioning circuit typically includes an instrumentation amplifier and a low-pass filter. The former amplifies the weak differential signal (i.e., a pair of voltage signals of equal magnitude but opposite polarity output from two signal lines) to a voltage range that the ADC can acquire, while the latter filters out high-frequency noise higher than the cutting vibration frequency range.
[0014] The acquisition result of step S1 is a set of digitized vibration signal sequences, which serve as input data for the subsequent spectral analysis in step S2.
[0015] Step S2 involves performing a Fast Fourier Transform (FFT) on the acquired vibration signal to identify the dominant frequency of the current cutting vibration.
[0016] Specifically, FFT (Fast Fourier Transform) is a mathematical method for converting signals from the time domain to the frequency domain for analysis. Vibration signals appear as waveforms that change over time in the time domain. FFT can decompose this waveform into a superposition of sinusoidal components of different frequencies, obtaining the amplitude of each frequency component. The frequency component with the largest amplitude is the dominant frequency of the current cutting vibration, which is the frequency point where the vibration energy is most concentrated. For example, suppose the vibration signal collected during a milling operation contains three frequency components: 50Hz, 150Hz, and 210Hz. The 210Hz component has the largest amplitude. After the FFT transformation, the output spectrum will show a peak at each of the three positions: 50Hz, 150Hz, and 210Hz. The peak at 210Hz is the highest. Based on this, the data processing chip determines that the dominant frequency of the current cutting vibration is 210Hz.
[0017] In a specific implementation of this invention, the FFT operation is executed in a hardware pipeline manner within the data processing chip via a customized FFT operation circuit. The hardware pipeline manner refers to the cascading operation of the various processing units in the FFT operation. Once the operation of a certain stage of the current data block is completed, it is immediately sent to the next stage, while the previous stage begins receiving and processing the corresponding part of the next data block. Data input and processing can proceed continuously without waiting for the entire FFT operation to complete before receiving new data. This pipeline architecture enables the FFT operation to be completed quickly, meeting the speed requirements of real-time vibration suppression.
[0018] After the FFT operation is completed, the data processing chip searches for the frequency index corresponding to the maximum amplitude in the frequency domain results. The frequency index is the sequence number of each frequency component in the FFT output spectrum, and each sequence number corresponds to a specific frequency value. The data processing chip determines the dominant frequency of the current cutting vibration by finding the sequence number with the largest amplitude. Identifying the dominant vibration frequency is a prerequisite for the subsequent adaptive filtering in step S3, because only by knowing the main frequency components of the current vibration can the parameters of the notch filter be calculated in a targeted manner.
[0019] Step S3 involves dynamically calculating the parameters of the adaptive notch filter based on the identified dominant frequency, and reloading the filter coefficients according to the calculation results to perform frequency domain feedback suppression on the vibration signal.
[0020] Specifically, the notch filter used is a filter that can deeply attenuate a specific frequency and its vicinity, while allowing other frequency signals to pass through. Its function is to deeply attenuate the frequency position corresponding to the dominant frequency in the spectrum of the vibration signal, filtering out the vibration components near that frequency, while signals of other frequencies in the spectrum are basically unaffected.
[0021] This invention employs an IIR (Infinite Impulse Response) notch filter, whose transfer function includes two adjustable parameters: the notch center angular frequency and the notch factor. The transfer function is an expression describing the mathematical relationship between the filter's input and output signals; adjusting its parameters changes the filter's filtering characteristics. The notch center angular frequency determines which frequency the filter should suppress, and the notch factor determines the notch bandwidth, i.e., the width of the frequency range attenuated.
[0022] The dynamic parameter calculation process consists of two steps. The first step is to calculate the notch center angular frequency based on the dominant vibration frequency and ADC sampling rate identified in step S2, aligning the filter's suppression frequency with the actual dominant vibration frequency. The second step is to adaptively adjust the notch factor based on the vibration amplitude. When the vibration amplitude is large, a larger notch factor value (e.g., 0.995) is used, resulting in a narrow notch bandwidth and deep attenuation, enabling precise and deep suppression of the dominant frequency. When the vibration amplitude is small, a smaller notch factor value (e.g., 0.95) is used, resulting in a wide notch bandwidth and shallow attenuation, covering a wider frequency range to prevent missed filtering due to spectral estimation errors. It should be noted that the closer the notch factor is to 1, the deeper the attenuation at the center frequency, but the narrower the influence range. Therefore, a larger notch factor corresponds to a narrower notch bandwidth and a deeper attenuation depth. This strategy of adaptively adjusting the notch bandwidth based on vibration intensity allows the filter to precisely lock onto the dominant frequency for deep suppression during strong vibrations, and to widen the filtering range to improve coverage during weak vibrations.
[0023] After parameter calculation is complete, the data processing chip writes the new filter coefficients into the coefficient register of the notch filter in real time, completing the coefficient reloading. This reloading process is executed in the hardware pipeline, enabling rapid coefficient updates. During coefficient switching, the previous set of coefficients continues to process the current data block, and the new coefficients take effect from the next data block, ensuring uninterrupted data processing. This is crucial for the continuity of the manufacturing process: if data processing is interrupted during parameter switching, it will introduce new abrupt changes into the vibration signal, exacerbating the vibration.
[0024] Step S3 constitutes a frequency domain feedback suppression mechanism, which involves analyzing the frequency characteristics after detecting vibration and then filtering and suppressing that frequency. The feedback mechanism is characterized by its strong targeting, effectively attenuating the detected dominant frequency component of the vibration; however, its limitation is that it can only handle vibrations that have already occurred, and there is an inherent delay in detection and response. This limitation is compensated for by the feedforward mechanism in step S4.
[0025] Step S4 involves pre-reading the machining program code, identifying high-risk machining paths, and calculating feedforward compensation values to perform path domain feedforward prediction and suppression before vibration occurs.
[0026] As mentioned earlier, the feedback suppression in step S3 can only handle vibrations that have already occurred, while step S4 uses a feedforward mechanism to predict and compensate for vibrations before they occur. The two complement each other in the time dimension: feedforward compensation reduces the excitation source before vibrations occur, and feedback filtering attenuates residual vibrations after they occur.
[0027] The input for step S4 is not the vibration signal itself, but the machining program code. The data processing chip pre-reads the machining program code segment that the CNC (Computer Numerical Control System) is about to execute through the communication interface and parses the path geometry information within it. The term "pre-read" means that it reads the program segment that is about to be executed but has not yet been executed, so the compensation calculation and transmission can be completed before the tool actually reaches the corresponding path.
[0028] The data processing chip focuses on identifying two types of high-risk machining paths. The first type is small-radius circular arc paths: when the radius of the arc is smaller than a set value, the tool experiences a large tangential acceleration during its movement in that arc segment, easily triggering vibration. The second type is abrupt turning paths: when the angle between two adjacent straight feed segments is smaller than a set value, the cutting direction of the tool changes abruptly at the inflection point, generating mechanical impact and also easily triggering vibration. For example, taking 90-degree right-angle milling as an example, when the tool changes from X-axis positive feed to Y-axis positive feed, the cutting direction changes abruptly by 90 degrees at the inflection point, significantly increasing the amplitude of the original vibration signal, which is a typical high-risk path.
[0029] After identifying a high-risk path, the data processing chip calculates feedforward compensation values based on the path's geometric characteristics, including speed compensation and torque compensation values. The speed compensation value compensates for the response delay of the servo system's speed loop, while the torque compensation value compensates for shape errors caused by acceleration. The magnitude of the compensation value is related to the path's geometric characteristics; for example, the greater the path curvature (curvature equal to the reciprocal of the radius of a circle), the greater the required torque compensation value. The calculated feedforward compensation values are sent to the CNC servo driver in advance via the communication interface, completing the sending and execution of compensation commands before the tool reaches the risky path.
[0030] Step S5 involves sending the filtering result from step S3 and the feedforward compensation value from step S4 to the servo system for compensation, thereby forming a closed-loop vibration suppression.
[0031] Specifically, the data processing chip encapsulates the adaptive notch-filtered signal and the feedforward compensation value using a unified communication protocol and sends them to the CNC servo drive. Upon receiving the compensation command, the servo drive corrects the speed loop and current loop, executing vibration suppression actions. The speed loop and current loop are two layers of feedback control loops within the servo drive, controlling the motor's speed and winding current respectively. The compensation command adjusts the motor's actual motion state by correcting these two control loops.
[0032] The feedback suppression result in step S3 and the feedforward compensation value in step S4 are calculated in parallel within the same processing cycle and then uniformly distributed. This unified processing and distribution design ensures that the two suppression mechanisms are updated synchronously in each control cycle, avoiding timing mismatches between feedforward and feedback.
[0033] After the servo system executes the compensation command, the cutting vibration state changes accordingly. The changed vibration signal is re-acquired in step S1 and enters the next processing cycle. Thus, steps S1 to S5 constitute a complete closed-loop control loop: acquiring vibration signals, analyzing frequencies, adaptive filtering, pre-reading the path and calculating compensation, issuing servo commands for execution, vibration state changes, and re-acquisition, repeating this cycle. This closed loop is executed repeatedly in each control cycle, continuously tracking changes in cutting conditions, enabling vibration suppression to adapt to dynamically changing machining conditions in real time.
[0034] In summary, in this scheme, the FFT main frequency identification result in step S2 serves the filter parameter calculation in step S3, and the two constitute a frequency domain feedback suppression link. This link is characterized by its strong targeting, effectively attenuating the detected vibration main frequency component, but it can only handle vibrations that have already occurred. The feedforward compensation in step S4 operates independently of the aforementioned feedback link; its input is the machining program code rather than the vibration signal, thus enabling compensation to begin before vibration occurs. The feedback link and the feedforward link converge in step S5, with both types of compensation commands being uniformly issued to the servo system within the same processing cycle, ensuring synchronous updates of feedforward and feedback in each control cycle and avoiding timing mismatches. Regarding timing coordination, steps S1 to S4 are performed in parallel or pipelined manner within the data processing chip, and are finally uniformly packaged and issued in step S5. This parallel processing architecture is key to ensuring the real-time performance of the entire closed loop, making the end-to-end delay from vibration signal acquisition to compensation command issuance much smaller than the standard communication cycle of the CNC system. The cutting vibration suppression method and system for a data processing chip in high-precision machining on a production line, as disclosed in this invention, have the following technical advantages: 1. Cutting vibration peak value is significantly reduced. This effect comes from the synergistic effect of adaptive notch filtering and feedforward compensation: feedforward compensation reduces vibration excitation before the tool reaches a high-risk path, while adaptive notch filtering attenuates the main resonant frequency after vibration occurs. The combined suppression effect of the two is better than a single-direction suppression scheme.
[0035] 2. End-to-end processing latency meets real-time requirements. This invention executes FFT operations, filter parameter calculations, and feedforward compensation value calculations entirely within the hardware pipeline of the data processing chip. The end-to-end latency from vibration signal acquisition to compensation command issuance is much smaller than the standard communication cycle of a CNC system, providing ample time margin for the servo system's response and adjustment.
[0036] 3. Adaptive Filter Parameter Tracking of Vibration Dominant Frequency Changes. This invention uses FFT to identify the current dominant vibration frequency in real time, and dynamically calculates the center frequency and bandwidth parameters of the notch filter accordingly, ensuring that the filter is always aligned with the current dominant resonant frequency. Parameter updates are completed through hardware pipeline coefficient reloading, and the data flow is uninterrupted during coefficient switching, ensuring the continuity of the machining process and overcoming the problem of decreased suppression effect of traditional fixed-parameter filters after changes in cutting conditions.
[0037] 4. Feedforward prediction advances the timing of vibration suppression. This invention calculates and sends compensation values before the tool reaches high-risk paths by pre-reading the machining program code, so that the execution time of the compensation command is earlier than the time of vibration occurrence, complementing the feedback filtering suppression in time.
[0038] 5. Dual suppression in both the frequency and path domains covers different stages of vibration generation and propagation. In this invention, adaptive notch filtering in the frequency domain selectively attenuates the generated vibration signal, while feedforward compensation in the path domain reduces vibration excitation for the upcoming processing path. The two dimensions work together to simultaneously suppress vibration from both the excitation source reduction and signal filtering levels. Attached Figure Description
[0039] To more clearly illustrate the technical solutions in this invention or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are some embodiments of this invention. For those skilled in the art, other drawings can be obtained from these drawings without creative effort.
[0040] Figure 1 This is a flowchart of the data acquisition process of the present invention; Figure 2 This is a schematic diagram of the intelligent online detection tool holder structure of the present invention; Figure 3 This is a schematic diagram of the signal conditioning circuit of the present invention; Figure 4 This is a schematic diagram of the FFT processor structure of the present invention; Figure 5 This is a flowchart of the DIT-FFT butterfly operation of the present invention; Figure 6 This is a schematic diagram of vibration data acquisition and suppression parameter setting according to the present invention; Figure 7 This is a schematic diagram of the feedforward compensation framework of the present invention; Figure 8 This is a schematic diagram of the FPGA and Flash storage control circuit of the present invention; Figure 9 This is a schematic diagram of an embodiment of the end mill corner machining of the present invention; Figure 10 This is a schematic diagram of the system module architecture of the present invention; Figure 11 This is a flowchart of the method steps of the present invention.
[0041] Figure label: none. Detailed Implementation
[0042] The specific embodiments of the present invention will be described in detail below with reference to the accompanying drawings. It should be noted that the embodiments of the present invention are not limited to the following description, and those skilled in the art can make various changes and modifications without departing from the spirit of the present invention.
[0043] This invention provides a cutting vibration suppression system for data processing chips in high-precision machining on a production line, such as... Figure 10 As shown, the system is centered around a data processing chip, which in this embodiment is implemented using an FPGA (Field-Programmable Gate Array). The FPGA internally houses six functional modules: a signal acquisition module, a spectrum analysis module, an adaptive filtering module, a feedforward compensation module, a closed-loop communication module, and a data storage module. Externally, the FPGA connects to four external devices or interfaces: a cutting vibration sensor, a CNC machining program code input interface, a CNC servo system, and a Flash memory chip. Figure 10 Solid arrows indicate the direction of the main data flow, while dashed arrows indicate the direction of data storage and interaction.
[0044] In one specific implementation, the data processing chip can be an Intel Cyclone IV E series EP4CE15F23C8N FPGA chip, which has 15408 logic units, 504Kbits of BRAM (Block Random Access Memory), and 56 18×18-bit hardware multipliers. Of these hardware resources, the BRAM is used to construct a multi-channel data buffer queue and intermediate data storage for FFT operations; the hardware multipliers are used to perform multiplication operations in FFT butterfly operations and IIR filtering operations; and the logic units are used to construct the state machine and control logic for each module. The Flash memory chip can be a Micron MT29F4G08ABADA NAND Flash chip with a storage capacity of 4Gb, used for continuously storing the acquired vibration data and filter coefficients during processing.
[0045] The following is a detailed explanation of the six functional modules inside the FPGA: 1. Signal Acquisition Module: The signal acquisition module includes a semiconductor strain gauge, signal conditioning circuit, and analog-to-digital converter. Specifically, the semiconductor strain gauge senses cutting vibrations and outputs an electrical signal based on the piezoresistive effect of semiconductor single-crystal silicon. The piezoresistive effect refers to the phenomenon that the resistivity of a semiconductor material changes when subjected to mechanical stress. The resistance generation formula for the semiconductor strain gauge is R=ρL / S, where R is the resistance value, ρ is the resistivity, L is the conductor length, and S is the cross-sectional area. When the strain gauge is subjected to mechanical strain transmitted by cutting vibration, the relationship between the change in resistance and the strain is ΔR / R=(πE+1+2μ)ε, where ΔR is the change in resistance, R is the initial resistance value, π is the piezoresistive coefficient, E is the elastic modulus, μ is Poisson's ratio, and ε is the strain. This formula shows that the change in resistance is directly proportional to the strain. Therefore, the semiconductor strain gauge can convert the mechanical strain of cutting vibration into a corresponding change in resistance, which is then converted into a voltage signal output through the measuring circuit. Semiconductor strain gauges are characterized by their small size and wide dynamic response frequency range, making them suitable for installation on the spindle of a machine tool to detect high-frequency cutting vibration signals.
[0046] like Figure 2 As shown, a semiconductor strain gauge is integrated into an intelligent online monitoring tool holder. The intelligent online monitoring tool holder is a functional component installed between the machine tool spindle and the cutting tool, and it internally houses a semiconductor strain gauge, a vibration sensor, and a data acquisition board. The vibration signal detected by the semiconductor strain gauge is output to the signal conditioning circuit via signal lines on the data acquisition board. This integrated structure of the tool holder allows the vibration signal to be acquired at the closest point of contact between the tool and the workpiece, reducing signal attenuation during the mechanical transmission path.
[0047] The signal conditioning circuit differentially amplifies and low-pass filters the electrical signal output from the semiconductor strain gauge. For example... Figure 3 As shown, the signal conditioning circuit includes an AD8422 instrumentation amplifier and a second-order Butterworth low-pass filter. The AD8422 instrumentation amplifier receives the differential signal (i.e., a pair of voltage signals with equal amplitude and opposite polarity output from two signal lines) from the semiconductor strain gauge, converts it into a single-ended signal, and pre-amplifies it. The gain is adjustable from 10 to 100 times to amplify the weak vibration signal to a voltage range that can be acquired by the subsequent analog-to-digital converter. The second-order Butterworth low-pass filter filters the amplified signal. The cutoff frequency is set according to the type of cutting material, with a default of 10kHz, filtering out high-frequency noise above the cutting vibration frequency range. The Butterworth filter is chosen because its amplitude-frequency characteristic within the passband is flat, preventing the introduction of additional amplitude fluctuations within the passband and avoiding distortion of the frequency characteristics of the vibration signal.
[0048] The analog-to-digital converter (ADC) converts the conditioned signal into a digital signal and outputs it. In one specific implementation, the ADC uses a 16-bit parallel data bus interface with a sampling rate of 200kHz. The ADC operates under the state machine control of the FPGA. The FPGA sends a sampling start signal through the CONVST (conversion start) pin. After the ADC completes the conversion, the BUSY signal becomes active, and the FPGA then reads the 16-bit digital value through the parallel data bus.
[0049] The semiconductor strain gauge, signal conditioning circuit, and analog-to-digital converter in the aforementioned signal acquisition module constitute a complete conversion link from physical vibration to digital signal, corresponding to... Figure 10 The cutting vibration sensor is connected to the data path of the signal acquisition module inside the FPGA via a solid arrow.
[0050] 2. Spectrum Analysis Module: The spectrum analysis module includes an asynchronous FIFO buffer unit and an FFT processor. Specifically, the asynchronous FIFO buffer unit caches multi-channel acquired data separately for each channel to achieve timing alignment. The FIFO (First-In-First-Out) queue is composed of BRAM resources within the FPGA, with each acquisition channel allocated independent FIFO storage space. Since the output rates of different data sources may differ, the FIFO uses a "first-in-first-out" write and read mechanism to match the speed differences between data sources, ensuring that the data from each channel is timing aligned before being sent to the FFT processor.
[0051] The FFT processor performs a Fast Fourier Transform on the cached data and outputs the frequency domain result. For example... Figure 4 As shown, the FFT processor comprises six sub-modules: a butterfly arithmetic unit, an address generation unit, a memory unit, a function switching unit, a block floating-point unit, and a timing control unit. The functions of each sub-module are as follows: The butterfly arithmetic unit uses DIT (decimation in time) to perform radix-2 butterfly operations. During the operation, data is read and written alternately between dual-port RAM1 and RAM2. That is, the first-level butterfly operation reads data from RAM1 and writes the result to RAM2, and the next level reads from RAM2 and writes to RAM1, and so on.
[0052] The address generation unit generates the read / write addresses for RAM and the read address for ROM. The ROM stores rotation factors, which are complex multiplication coefficients used in the butterfly operation during FFT.
[0053] The storage unit includes RAM and ROM. RAM is used to store input data, intermediate calculation results and final calculation results, and ROM is used to store rotation factors.
[0054] The function switching unit controls the read / write switching between RAM1 and RAM2, switching the read / write direction after each butterfly operation is completed.
[0055] The block floating-point unit records the bit information of the output data and performs truncation processing on the input data. Block floating-point is a numerical representation method between fixed-point and floating-point. The same set of data shares a single exponent, and each data point only stores the mantissa. This method controls the data bit width while ensuring computational precision and preventing data overflow during computation.
[0056] The timing control unit generates enable and control signals for each submodule, coordinating the timing of the entire FFT processor.
[0057] The working process of the FFT processor is as follows: After the timing control unit receives the start command, it generates a read address and reads two 18-bit data channels from the dual-port RAM1. The function switching unit converts the two data channels into four parallel data channels. The block floating-point unit performs truncation processing on the data to obtain 16-bit valid data. Then, it reads the corresponding rotation factor from the ROM. The butterfly operation unit performs multiplication and addition / subtraction operations, and the operation results are stored in RAM2.
[0058] In one specific implementation, the FFT processor is configured for 1024-point 16-bit fixed-point arithmetic and adopts a pipelined architecture. After a certain stage of the current data block is completed, it is immediately sent to the next stage, while the previous stage begins to receive the corresponding part of the next data block. Data input and processing proceed continuously.
[0059] 3. Adaptive Filtering Module: The adaptive filtering module dynamically calculates the IIR notch filter parameters and reloads the coefficients based on the frequency domain results output by the spectrum analysis module, performing frequency domain feedback suppression on the vibration signal. Specifically, the hardware of this module includes coefficient calculation logic, a coefficient register, and a notch filter operation unit, all implemented as hardware logic within the FPGA. The coefficient calculation logic receives the frequency domain results output by the spectrum analysis module and calculates the center frequency and bandwidth parameters of the notch filter accordingly, generating new filter coefficients. The coefficient register stores the currently effective filter coefficients, and coefficient reloading is completed when new coefficients are written. The notch filter operation unit performs filtering operations on the input vibration signal based on the current coefficients in the coefficient register, outputting a signal with the dominant frequency component suppressed. This module involves algorithmic details such as the IIR notch filter transfer function, parameter calculation formula, and coefficient reloading mechanism, which are detailed in the implementation section below.
[0060] 4. Feedforward Compensation Module: The feedforward compensation module is used to pre-read the machining program code, identify high-risk machining paths, calculate feedforward compensation values, and perform path domain feedforward prediction and suppression before vibration occurs. Specifically, such as... Figure 7 As shown, the workflow of the feedforward compensation module is as follows: The FPGA reads the machining program code segment that the CNC is about to execute through the communication interface, analyzes the path geometry features, identifies high-risk machining paths, calculates speed compensation values and torque compensation values, and sends the compensation instructions to the CNC servo driver through the communication interface.
[0061] It should be noted that the input to the feedforward compensation module is the machining program code, not the vibration signal. This complements the adaptive filtering module described above: the adaptive filtering module performs feedback suppression based on the acquired vibration signal, while the feedforward compensation module performs predictive compensation based on the upcoming machining path. The outputs of both modules are ultimately converged in the closed-loop communication module. The risk path determination rules and compensation value calculation model are detailed in the implementation section below.
[0062] 5. Closed-Loop Communication Module: The closed-loop communication module transmits the filtering results and feedforward compensation values to the servo system via the EtherCAT industrial Ethernet protocol, and performs real-time data interaction with the servo drive in the CNC's cyclic synchronous position mode. Specifically, the physical layer of the closed-loop communication module adopts the 100BASE-TX standard and connects to an external Ethernet PHY chip through differential pins of the FPGA. An EtherCAT slave controller (EtherMAC IP core) is deployed inside the FPGA, responsible for sending, receiving, and parsing EtherCAT data frames. The closed-loop communication module operates in the CNC's cyclic synchronous position (CSP) mode, encapsulating vibration characteristics, filter status, and feedforward compensation values into custom fields of the EtherCAT process data object (PDO), which are then transmitted to the CNC servo drive along with standard position and speed commands.
[0063] 6. Data Storage Module: The data storage module is used to back up and store historical vibration data, filter coefficients, and system configuration parameters via NAND Flash memory chips. For example... Figure 8 As shown, the data storage module interacts with the Flash memory chip through logic control signals generated by the FPGA. The main control signals generated by the FPGA include ALE (address latch enable), CLE (command latch enable), WE (write enable), RE (read enable), and WP_N (write protection). Specifically, the ALE signal latches the address to be written to the Flash, the CLE signal latches the command to write to the Flash, the WE signal controls the data writing timing, the RE signal controls the data reading timing, and the WP_N signal protects the data in the Flash from accidental writing in abnormal situations. The Flash memory chip performs high-speed, continuous read and write operations based on the above control signals and the clock frequency generated by the FPGA.
[0064] The data storage module stores the following: historical vibration data (used for post-event analysis of vibration change trends), filter coefficients (used to restore the previous working state after system restart), and system configuration parameters (including sampling rate, FFT points, threshold, and other operating parameters).
[0065] like Figure 10 As shown, the data flow connections between the modules are as follows: The output of the signal acquisition module is connected to the input of the spectrum analysis module, and the output of the spectrum analysis module is connected to the input of the adaptive filtering module. The vibration signal acquired by the cutting vibration sensor is converted into a digital signal by the signal acquisition module, then sent to the spectrum analysis module for FFT transformation. The frequency domain result is then sent to the adaptive filtering module for parameter calculation and filtering.
[0066] The outputs of both the adaptive filtering module and the feedforward compensation module are connected to the input of the closed-loop communication module, which in turn communicates with the CNC servo system. The filtering results from the adaptive filtering module and the feedforward compensation values from the feedforward compensation module are fed into the closed-loop communication module, where they are encapsulated and sent to the CNC servo system. Simultaneously, the CNC machining program code is input to the feedforward compensation module via the communication interface, enabling the module to perform path pre-reading and compensation value calculation.
[0067] The data storage module is connected to the spectrum analysis module, adaptive filtering module, and feedforward compensation module, respectively. The data storage module obtains frequency domain analysis results from the spectrum analysis module, current filter coefficients from the adaptive filtering module, and compensation value calculation results from the feedforward compensation module, and writes this data to the Flash memory chip for backup storage. The data storage module is also connected to the Flash memory chip, and performs read and write operations on the Flash memory through FPGA control signals.
[0068] Combination Figure 1 The data acquisition workflow shown is as follows: the overall flow of data from acquisition to processing to storage to communication is as follows: the cutting vibration sensor outputs an analog signal → the signal conditioning circuit amplifies and filters the signal → the analog-to-digital converter converts the signal to a digital signal → FIFO buffer → FFT processor transforms the signal → the adaptive filtering module processes the signal → the closed-loop communication module encapsulates the signal and sends it to the servo system; at the same time, the data from each processing stage is backed up by the data storage module and written to Flash.
[0069] The hardware configuration and data flow connections of each module in the system have been explained above. The following section will combine... Figure 11 The execution process of each step of the method is described in detail.
[0070] like Figure 11 As shown, the method for suppressing cutting vibration of data processing chips in high-precision machining on production lines provided by the present invention includes steps S1 to S5. Figure 11 The five boxes in the diagram correspond to steps S1 to S5 from top to bottom. The solid vertical arrows indicate the sequential execution relationship between the steps, while the dashed arrows on the right point from step S5 to step S1, representing the closed-loop feedback loop. The specific execution process of each step is explained below.
[0071] Step S1: The cutting vibration signal is acquired in parallel through multiple channels of the data processing chip. In step S1, the data processing chip acquires the cutting vibration signal through multi-channel synchronous sampling. The specific execution process is as follows: After the system powers on, the FPGA's internal state machine enters the acquisition cycle. The FPGA simultaneously sends CONVST signals to the analog-to-digital converters (ADCs) corresponding to multiple data channels, initiating synchronous sampling across all channels. Each channel's ADC samples and converts its respective vibration signal at the same time. Once the BUSY signal is valid, the FPGA reads the conversion results from each channel via a 16-bit parallel data bus. The read digital data is then written to the corresponding FIFO buffer unit for each channel.
[0072] like Figure 1 As shown, the data path for step S1 is as follows: the semiconductor strain gauge senses the cutting vibration and outputs an analog electrical signal → the signal conditioning circuit performs differential amplification and low-pass filtering → the analog-to-digital converter converts the analog signal into a 16-bit digital signal → the FIFO buffer unit buffers digital data by channel.
[0073] It should be noted that "parallel acquisition" means that multiple channels simultaneously sample their respective vibration signals at the same time, rather than acquiring them one channel at a time. Because the gate logic array structure inside the FPGA independently configures the sampling timing and data transmission / reception logic for each channel, multiple channels do not share processing resources, therefore the acquisition speed will not decrease as the number of channels increases. The acquisition result of step S1 is a set of digitized vibration signal sequences, which serve as the input data for the spectrum analysis in step S2.
[0074] Step S2: Perform a Fast Fourier Transform on the acquired vibration signal to identify the dominant frequency of the current cutting vibration. Step S2 performs frequency domain analysis based on the digital signal acquired in Step S1. The specific execution process is as follows: After accumulating enough data points for the FFT operation in the FIFO buffer, the data is sent to the FFT processor for transformation. The FFT processor performs the operation in a hardware pipeline, converting the time-domain vibration signal into a frequency-domain spectrum. The amplitude of each frequency component in the spectrum reflects the energy proportion of that frequency component in the vibration signal. After the FFT processor outputs the frequency domain result, the data processing chip searches for the frequency corresponding to the maximum amplitude in the frequency domain result; this frequency is the dominant frequency of the current cutting vibration.
[0075] The dominant vibration frequency identified in step S2 serves as the input condition for calculating the adaptive filtering parameters in step S3. The mathematical derivation of the FFT algorithm and the specific implementation of the dominant frequency search are detailed in the implementation section below.
[0076] Step S3: Dynamically calculate the parameters of the adaptive notch filter based on the identified dominant frequency, and reload the filter coefficients according to the calculation results to perform frequency domain feedback suppression on the vibration signal. Step S3 uses the vibration dominant frequency identified in Step S2 as input to dynamically calculate the notch filter parameters and reload the coefficients. The specific execution process is as follows: The dynamic calculation of parameters involves two steps. The first step is to calculate the notch filter center angular frequency based on the dominant vibration frequency and sampling rate identified in step S2, aligning the filter's suppression frequency with the actual dominant vibration frequency. The second step is to adjust the notch filter factor based on the vibration amplitude to determine the notch filter bandwidth. After the parameter calculation is complete, the data processing chip writes the new filter coefficients into the notch filter's coefficient register, completing the coefficient reloading.
[0077] like Figure 6 As shown, taking the 210Hz resonant frequency as an example, when the vibration amplitude in the vibration signal exceeds the set limit value, the vibration damping filter is activated to attenuate the 210Hz frequency component. Figure 6 The process of vibration data acquisition and suppression parameter setting is demonstrated, including the correspondence between each step of vibration signal acquisition, FFT spectrum analysis, dominant frequency identification, and filter parameter setting.
[0078] As can be seen from the above parameter calculation and coefficient reloading process, step S3 constitutes a frequency domain feedback suppression mechanism, that is, after detecting vibration, its frequency characteristics are analyzed, and then filtering and suppression are performed on that frequency. Feedback suppression can attenuate the detected vibration dominant frequency component, but it can only handle vibrations that have already occurred. This limitation is compensated for by the feedforward mechanism in step S4. The transfer function formula, notch factor adaptive adjustment strategy, and coefficient reloading mechanism involved in step S3 are detailed in the specific implementation section below.
[0079] Step S4: Pre-read the machining program code, identify high-risk machining paths, and calculate the feedforward compensation value to perform path domain feedforward prediction and suppression before vibration occurs. Step S4 works in parallel with the feedback suppression in Step S3, predicting vibration risk from the machining program code. The specific execution process is as follows: The data processing chip pre-reads the machining program code segment (G-code is a common format for machining program code) that the CNC is about to execute through the communication interface, and parses the path geometry information, including features such as arc radius and line segment angle. Based on the parsing results, the data processing chip identifies high-risk machining paths, calculates speed compensation and torque compensation values in advance for the identified high-risk paths, and sends the compensation commands to the CNC servo drive before the tool reaches the risk position.
[0080] It should be noted that "pre-fetching" refers to reading program segments that are about to be executed but have not yet been executed. Therefore, compensation calculation and transmission are completed before the tool reaches the corresponding path. The input to step S4 is the machining program code rather than the vibration signal, which complements the feedback suppression in step S3 in the time dimension: step S4 reduces the excitation source before vibration occurs, while step S3 attenuates residual vibration after vibration occurs. The risk path determination rules and compensation value calculation model are detailed in the implementation section below.
[0081] Step S5: The filtering result and feedforward compensation value are sent to the servo system for compensation to form a closed-loop vibration suppression. Step S5 encapsulates the processing results of the above two steps and sends them to the servo system for execution. The specific execution process is as follows: The feedback suppression result in step S3 and the feedforward compensation value in step S4 are calculated in parallel within the same processing cycle. After being uniformly encapsulated by the closed-loop communication module, they are sent to the CNC servo drive via the EtherCAT interface. Upon receiving the compensation command, the servo drive corrects the speed loop and current loop, executing vibration suppression actions. The speed loop and current loop are two layers of feedback control loops inside the servo drive, controlling the motor speed and winding current respectively. The compensation command adjusts the actual motion state of the motor by correcting these two control loops.
[0082] After the servo system executes the compensation command, the cutting vibration state changes. The changed vibration signal is re-acquired in step S1 and enters the next processing cycle. Therefore, steps S1 to S5 constitute a complete closed-loop control circuit. Figure 11 The dashed arrow on the right, which folds back from step S5 to step S1, is labeled "closed-loop feedback." This closed loop is executed repeatedly in each processing cycle, continuously tracking changes in cutting conditions, enabling vibration suppression to adapt to dynamically changing machining conditions in real time.
[0083] The above steps S1 to S5 constitute the overall technical solution of the method of the present invention. The following provides a detailed description of further embodiments of the present invention, which are also specific implementations of the functional modules of the above system.
[0084] In the same embodiment, specifically, in step S2, the frequency domain result of the Fast Fourier Transform output is searched in parallel by the comparator tree inside the data processing chip to find the frequency index index_max corresponding to the maximum amplitude, and the current cutting vibration main frequency is calculated accordingly.
[0085] After the FFT processor outputs the frequency domain result, the result contains N_FFT frequency components, each corresponding to a frequency index and an amplitude value. Internally, the FPGA uses a comparator tree structure to compare the amplitude values of the N_FFT frequency components in parallel. The basic working principle of the comparator tree is as follows: the amplitude values of two adjacent frequency components are fed into a comparator, which outputs the larger value and its corresponding index. The output of the first-level comparison is then fed into the second-level comparator for further comparison, reducing the amplitude level by level until the maximum amplitude value and its corresponding frequency index, index_max, are finally output. Because each level of comparator works in parallel, the time complexity of the entire search process is O(log₂N_FFT), which is significantly reduced compared to the O(N_FFT) time complexity of software point-by-point traversal search.
[0086] After finding the frequency index index_max, the current dominant frequency of cutting vibration is calculated based on it:
[0087] in, Sampling rate, This represents the number of points for the Fast Fourier Transform. In one specific implementation, 200kHz If the value is 1024, then the frequency resolution is = 200000 / 1024 ≈ 195.3Hz. If the frequency index_max corresponding to the maximum amplitude in the frequency domain result of the FFT output is 1 (i.e., the second frequency point, the index starts counting from 0), then the current cutting vibration dominant frequency is... = 1 × 195.3 ≈ 195.3Hz. The physical meaning of this formula is: the frequency index represents the position number of the frequency component in the spectrum, and the frequency value corresponding to each number is equal to the frequency resolution multiplied by the number.
[0088] To facilitate understanding of the specific operational principles of the Fast Fourier Transform in step S2, the following will combine... Figure 5 The mathematical foundation of the FFT algorithm will be further explained.
[0089] The FFT algorithm is a fast method for calculating the DFT (Discrete Fourier Transform). The definition of the N-point DFT is:
[0090] in, Let be the frequency domain value of the k-th frequency component. For the nth time-domain sample value, This is the rotation factor. Directly calculating the N-point DFT requires N² complex multiplications, which is computationally intensive when N is large.
[0091] The FFT algorithm utilizes the twitch factor. Three properties to reduce computation: (1) The periodicity, that is ; (2) The symmetry, that is ; (3) The reducibility of, i.e. .
[0092] The N-point sequence is decomposed into two N / 2-point subsequences based on parity using the radix-2 decimation-in-time (DIT) method. The DFTs of each subsequence are then calculated and merged. For example... Figure 5 As shown, for The sequence (where) (This refers to the number of butterfly operations), requiring a total of L levels of butterfly operations, with each level containing N / 2 butterfly operations. Each butterfly operation consists of one complex multiplication and two complex additions. Therefore, the total number of complex multiplications for an N-point FFT is... The total number of additions is Compared to direct DFT The amount of complex multiplication operations has been greatly reduced.
[0093] The relationship between comparator tree search and FFT butterfly operation is as follows: After the FFT butterfly operation generates complete frequency domain data, the comparator tree searches for the frequency index corresponding to the maximum amplitude in this frequency domain data, and then calculates the current cutting vibration dominant frequency. The two processes are executed sequentially within the FPGA using hardware logic. The frequency domain result is immediately sent to the comparator tree for peak search after the FFT processor outputs the result.
[0094] The process of parallel searching for the main frequency in the comparator tree described above is specifically implemented by the comparator tree hardware logic in the spectrum analysis module of the system embodiment. The identified main frequency result is sent to the adaptive filtering module for parameter calculation.
[0095] In the same embodiment, specifically, in step S3, the adaptive notch filter adopts an IIR (infinite impulse response) structure, and its transfer function is:
[0096] in, The center angular frequency of the notch filter. The notch factor (here) determines the notch bandwidth. These are filter parameters, and they correspond to the resistivity parameters in the signal acquisition module described above. (Different meanings)
[0097] The numerator polynomial of the above transfer function exist This generates a pair of zeros at the corresponding frequency, causing the signal at that frequency to be attenuated; the denominator polynomial exist A pair of poles are generated nearby, and the positions of the poles are determined by... Decide, The closer the pole is to 1, the closer it is to zero, resulting in a narrower notch bandwidth and a greater attenuation depth. Therefore, Determine which frequency the filter should suppress. The width of the frequency range to be attenuated is determined.
[0098] Based on the main frequency identified in step S2 and sampling rate Real-time calculation of the notch filter center angular frequency:
[0099] The meaning of this formula is: the dominant frequency of vibration The corresponding analog frequency is converted into a digital frequency representation. Since digital filters operate in the discrete domain, the analog frequency needs to be normalized to a digital angular frequency using the sampling rate. This completes the normalization transformation. The calculation is... Then, in conjunction with the following description of the adaptive determination based on vibration amplitude... The values can be substituted into the transfer function to generate the five coefficients of the filter (b0, b1, b2, a1, a2), and the filter coefficients can be reloaded accordingly.
[0100] The operation of this IIR notch filter is as follows: After the vibration signal of the current data block is input into the filter, a difference equation is performed based on the current coefficients in the coefficient register. The signal components near the corresponding frequency are attenuated, and the suppressed signal is output. Because... Based on the real-time dynamic update of the dominant frequency identified by FFT, the suppression frequency of the filter can track the changes in the dominant vibration frequency.
[0101] The calculation and reloading process of the adaptive notch filter coefficients described above is specifically implemented by the coefficient calculation logic and coefficient register in the adaptive filtering module of the system embodiment.
[0102] In the same embodiment, preferably, in step S3, the notch factor ρ of the adaptive notch filter is adaptively adjusted according to the vibration amplitude, wherein the first threshold T1 is greater than the second threshold T2.
[0103] The vibration amplitude is the amplitude value corresponding to the dominant frequency in the frequency domain result of the Fast Fourier Transform output in step S2. The adaptive adjustment rule is as follows: When the vibration amplitude is greater than the first threshold T1, take A narrowband deep notch mode is used. With a value close to 1, the notch filter has a narrow bandwidth and a large attenuation depth, enabling it to accurately suppress the main frequency without affecting other frequency components near the main frequency.
[0104] When the vibration amplitude is less than the second threshold T2, take A broadband shallow notch mode is used. At a greater distance from point 1, the notch filter has a wide bandwidth and shallow attenuation depth, covering a wider frequency range to accommodate potential shifts in the dominant vibration frequency. Under weak vibration conditions, the accuracy of FFT spectrum estimation may decrease, leading to deviations in dominant frequency identification. The broadband shallow notch filter mode can avoid omissions caused by deviations in dominant frequency identification.
[0105] The technical effects of the two modes are as follows: during strong vibrations, the main frequency is accurately locked for deep suppression, while during weak vibrations, the filtering range is widened to improve coverage. The causal relationship between the value and the notch bandwidth is as follows: The closer the value is to 1, the narrower the notch bandwidth and the greater the attenuation depth. The further away from 1, the wider the notch bandwidth and the shallower the attenuation depth.
[0106] In actual operation, the vibration amplitude fluctuates with changes in cutting conditions. When the vibration amplitude increases from below T2 to above T1, When the value is switched from 0.95 to 0.995, the filter switches from a broadband shallow notch mode to a narrowband deep notch mode; conversely, when the vibration amplitude decreases from above T1 to below T2, Switching from 0.995 to 0.95 switches the filter back to wideband shallow notch mode. The T1>T2 design creates a hysteresis interval between the two thresholds, preventing vibration amplitude from fluctuating around the threshold. Frequent switching leads to unstable filtering characteristics.
[0107] The above notch factor The adaptive adjustment process is specifically implemented by the coefficient calculation logic in the adaptive filtering module described in the system embodiment. The adjusted... Value and Substitute them into the transfer function to generate new filter coefficients.
[0108] In the same embodiment, specifically, in step S3, the reloading of filter coefficients is performed by the hardware pipeline inside the data processing chip, specifically: the new coefficients are written into the coefficient register of the notch filter with an update delay of less than 1 microsecond; during the coefficient switching, the previous set of coefficients continues to process the current data block, and the new coefficients take effect from the next data block to achieve seamless switching.
[0109] The specific process of coefficient overloading is as follows: the coefficient calculation logic is based on the current... and After calculating five new coefficients (b0, b1, b2, a1, a2), these five coefficients are written to the coefficient register of the notch filter. The write operation is completed through the register write bus inside the FPGA, and the delay of the entire write process is less than 1 microsecond.
[0110] The seamless switching mechanism works as follows: the FPGA's hardware pipeline divides data processing into data block granularity, with each data block performing all filtering operations using a fixed set of coefficients. When new coefficients are written to the coefficient register, the currently processed data block still uses the previous set of coefficients to complete the remaining operations, and the new coefficients take effect from the first sampling point of the next data block. This mechanism ensures that coefficient switching occurs at the boundary between two data blocks, preventing abrupt coefficient changes within the data block and ensuring uninterrupted data processing.
[0111] The necessity of seamless switching lies in the fact that if data processing is interrupted during parameter switching, a new abrupt signal will be introduced into the vibration signal. This abrupt signal itself will excite additional vibration components, which will intensify the vibration.
[0112] like Figure 6 As shown, taking a 210Hz resonance as an example, Figure 6 When a sudden vibration spike occurs, the deep-wave mode is activated to reduce the 210Hz frequency component. After filtering the current peak, the waveform in the next processing cycle returns to smoothness without any delay or dragging, demonstrating the effectiveness of seamless coefficient reloading. Seamless coefficient reloading allows the adaptive filter to continuously update parameters during processing without interrupting the data stream, ensuring the continuity of vibration suppression.
[0113] The above-mentioned filter coefficient reloading process is specifically implemented by the coefficient register and notch filter operation unit in the adaptive filtering module described in the system embodiment.
[0114] In the same embodiment, further, in step S4, the CNC machining program code segment is pre-read, and the path geometric features such as the arc radius and line segment angle are analyzed. For paths identified as high-risk, the speed compensation value and torque compensation value are calculated in advance, and the compensation command is sent to the CNC servo driver before the tool reaches the risk position.
[0115] The data processing chip pre-reads the machining program code segments that the CNC machine will execute via the communication interface. The number of code segments pre-read is determined by the communication bandwidth and processing latency; typically, several subsequent program segments are pre-read to cover a certain distance of the machining path in front of the tool. The data processing chip analyzes the path geometry features in the code segments, including the radius R of the arc in circular interpolation instructions and the angle between line segments in linear interpolation instructions. Parameters such as these.
[0116] For paths identified as high-risk, the data processing chip pre-calculates speed and torque compensation values. The speed compensation value compensates for the response delay of the servo system's speed loop, allowing the servo system to adjust the feed rate before the tool reaches the risky position. The torque compensation value compensates for shape errors caused by acceleration, allowing the servo system to adjust the motor output torque before the tool reaches the risky position.
[0117] After the compensation value is calculated, the data processing chip sends the compensation command to the CNC servo drive via the communication interface before the tool reaches the risk position. Because the compensation command is sent before the tool reaches the risk position, the servo system has sufficient time to execute the compensation value, so that the tool is already in a compensated motion state when it enters the risk path, thereby reducing vibration excitation before vibration occurs.
[0118] The above-mentioned pre-reading and compensation value calculation process is specifically implemented by the feedforward compensation module described in the system embodiment.
[0119] In the same embodiment, specifically, in step S4, high-risk processing paths are determined by the following rules: When the machining path is circular interpolation and the radius of the circular arc is... When this occurs, the path is identified as high-risk. During small-radius circular interpolation, the tangential acceleration of the tool moving along the arc is inversely proportional to the arc radius; the smaller the arc radius, the greater the tangential acceleration. A large tangential acceleration will generate significant dynamic cutting force fluctuations at the tool-workpiece contact surface, easily inducing mechanical vibration.
[0120] When the processing path consists of adjacent line segments and the included angle of the line segments When the angle between adjacent line segments is smaller, the cutting direction of the tool changes significantly at the inflection point. This abrupt change in cutting direction leads to a rapid change in cutting force, causing mechanical impact. For example, in milling a 90° right-angle bend, when the tool switches from X-axis to Y-axis feed, the cutting direction changes by 90° at the inflection point, causing a sudden change in the cutting force direction, which is a typical high-risk path. At this time, the cutting direction changes more drastically, and the risk of vibration excitation is higher.
[0121] The above two judgment rules are implemented internally by a comparator in the FPGA: the obtained arc radius R is compared with the set value of 5mm, and the angle between the line segments is... The path is compared to a set value of 90°, and if any condition is met, it is determined to be a high-risk path. This threshold-based comparison method has low computational complexity and is suitable for real-time execution in FPGA hardware.
[0122] The process of determining the high-risk processing path is specifically implemented by the risk path determination logic in the feedforward compensation module described in the system embodiment.
[0123] In the same embodiment, specifically, in step S4, the feedforward compensation value includes a speed compensation value and a torque compensation value, and its calculation model is as follows: Speed compensation value: ; in, For velocity feedforward gain, For load inertia, This is the command angular velocity.
[0124] Torque compensation value: ; in, The torque constant of the motor. The cutting torque constant is... This is the command angular acceleration.
[0125] In the above torque compensation value calculation, path curvature Where R is the radius of the arc of the machining path, and the larger the curvature C, the greater the command angular acceleration. The larger the value, the greater the curvature C becomes in relation to the torque compensation value. Proportional.
[0126] In the formula for speed compensation value, is the speed feedforward gain coefficient, reflecting the servo system speed loop's response sensitivity to feedforward compensation; J is the load inertia, including the total inertia of the spindle, tool, and workpiece referred to the motor shaft; This is the commanded angular velocity, determined by the feed rate parameter in the machining program code. Speed compensation value. It is proportional to the product of load inertia and command angular velocity. Its physical meaning is: the larger the load inertia and the higher the command angular velocity, the more significant the response delay of the servo system speed loop, and the greater the required feedforward speed compensation.
[0127] In the torque compensation value formula, This is the motor torque constant, representing the motor torque generated per unit current; Here, is the cutting torque constant, representing the equivalent torque corresponding to a unit cutting force; The angular acceleration is determined by the acceleration / deceleration parameters and path geometry in the machining program code. and The ratio reflects the efficiency of converting motor torque into cutting force compensation. Torque compensation value It is proportional to the product of load inertia and command angular acceleration. Its physical meaning is: the larger the load inertia and the higher the command angular acceleration, the greater the shape error caused by acceleration, and the greater the required feedforward torque compensation.
[0128] curvature The relationship between the torque compensation value and the path curvature C is as follows: the greater the path curvature C, the greater the centripetal acceleration required for the tool to move along that path, the greater the command angular acceleration α_cmd, and the greater the torque compensation value ΔT_ff. In other words, the greater the curvature of the machining path, the greater the required feedforward torque compensation. This quantitative relationship means that the feedforward compensation value is not a fixed empirical value, but a calculated value that dynamically changes with the geometric characteristics of the path.
[0129] Based on the above calculation model, the speed compensation value is used to compensate for the response delay of the servo system's speed loop, reducing speed tracking error; the torque compensation value is used to compensate for shape errors caused by acceleration, reducing the deviation between the actual tool trajectory and the commanded trajectory. These two types of compensation values act on different control loops of the servo system, jointly reducing vibration excitation at high-risk paths.
[0130] The calculation process of the above-mentioned feedforward compensation value is specifically implemented by the compensation value calculation logic in the feedforward compensation module described in the system embodiment.
[0131] In the same embodiment, the adaptive notch filter calculation in step S3 and the feedforward compensation value calculation in step S4 are further completed in parallel within the same processing window, and after unified encapsulation, they are sent to the CNC servo drive in one go via the EtherCAT industrial Ethernet protocol. Specifically, during the data encapsulation process, the current main frequency and corresponding amplitude, the current filter coefficients and feedforward compensation value are written into the custom fields of the EtherCAT process data object, transmitted together with the standard position and speed commands, and periodically synchronized in the CNC's periodic synchronous position mode.
[0132] Within the same processing window, two computational units within the FPGA execute adaptive notch filtering and feedforward compensation calculations, respectively. The adaptive notch filtering calculation reads the frequency domain results from the FFT output, calculates the notch filter parameters, and reloads the coefficients. The feedforward compensation calculation reads the pre-read machining program code and calculates the speed compensation and torque compensation values. Both calculation processes are initiated and executed simultaneously within the same processing window, and the results are then sent to the closed-loop communication module upon completion.
[0133] The closed-loop communication module encapsulates the above two types of calculation results into EtherCAT PDO data frames. PDO (Process Data Object) is a communication object in the EtherCAT protocol used for periodically transmitting real-time data. Custom fields in PDO allow users to define non-standard data content. In this embodiment, the custom fields of PDO include: the current dominant vibration frequency. And the corresponding amplitude, current filter coefficients (b0, b1, b2, a1, a2), and velocity compensation value. and torque compensation value The above data, along with the CNC standard position and speed commands, is encapsulated in the same PDO data frame for transmission.
[0134] In the CNC Cyclic Synchronous Position (CSP) mode, the FPGA and the CNC servo drive exchange data according to a fixed communication cycle. In each communication cycle, the FPGA sends a PDO data frame containing the aforementioned custom fields to the servo drive, and the servo drive parses the PDO data frame and performs the corresponding compensation action.
[0135] The aforementioned timing coordination mechanism of parallel computing and unified encapsulation distribution within the same processing window enables adaptive notch filtering and feedforward compensation to be updated and executed synchronously in each communication cycle, avoiding timing mismatch between feedforward and feedback.
[0136] After the compensation command is sent to the CNC servo drive via EtherCAT PDO, the execution process on the servo system side is as follows. Upon receiving the feedforward compensation command, the servo system uses the speed loop and position gain accuracy parameters set by HRV2 and HRV3. HRV2 and HRV3 are high-response vector control functions within the servo drive, improving the servo system's response speed by adjusting the gain parameters of the speed loop and position loop. Based on the machining path interpolation type identified by the pre-read program, the system decelerates and increases the density of interpolation points in the path sections with large cutting force fluctuations (i.e., the high-risk path areas identified by S4). Densification interpolation refers to adding more interpolation points per unit length, making the tool's trajectory smoother in the high-risk path segments. HRV2 and HRV3 simultaneously amplify the detection signal and provide rapid feedback, adjusting servo gain feedforward acceleration and deceleration during the cutting process to reduce acceleration, deceleration, and reverse oscillation. The above execution process on the servo side serves as an extension of closed-loop communication on the servo system side, illustrating how the servo system specifically executes the compensation command after it is issued, ensuring the completeness of the closed-loop control link.
[0137] The aforementioned parallel computing and unified encapsulation distribution process is specifically implemented collaboratively by the adaptive filtering module, feedforward compensation module, and closed-loop communication module described in the system embodiment.
[0138] The foregoing has provided a detailed description of further embodiments of the present invention. The following complete processing embodiment illustrates the collaborative execution of the above-described method steps and technical features in a real-world processing scenario.
[0139] The following describes the execution process of the method of the present invention in a specific processing scenario using a complete processing example. For example... Figure 9 As shown, this embodiment is a 90° external corner milling operation using an end mill.
[0140] Machining task: Perform milling on the aluminum alloy specimen using a 10mm diameter end mill, milling a 90° outer corner along the positive X-axis and positive Y-axis.
[0141] Tool path: The tool starts from point A and feeds in a straight line along the positive X-axis. After reaching inflection point B, it switches to feeding in a straight line along the positive Y-axis to point C. At inflection point B, the tool feed direction changes from the positive X-axis to the positive Y-axis, and the cutting direction changes abruptly by 90°.
[0142] The complete execution process of this embodiment is described below in the order of steps S1 to S5.
[0143] Step S1 Acquisition: When the tool feeds linearly along the positive X-axis, the cutting process is smooth, and the vibration signal amplitude acquired by the semiconductor strain gauge is relatively small. When the tool passes through inflection point B, the cutting direction changes abruptly, generating a mechanical impact. The semiconductor strain gauge acquires the original vibration signal, showing a significant vibration peak at inflection point B. After differential amplification and low-pass filtering of the vibration signal by the signal conditioning circuit, the analog-to-digital converter converts the signal into a 16-bit digital signal at a sampling rate of 200kHz and writes it into the FIFO buffer unit.
[0144] Step S2: After the data in the FIFO buffer unit accumulates to 1024 sampling points, it is sent to the FFT processor for transformation. The FFT processor completes the 1024-point FFT operation in a hardware pipeline manner and outputs the frequency domain result. A prominent amplitude spectral line appears at approximately 210Hz. The comparator tree searches the frequency domain result and finds the frequency index corresponding to the largest amplitude, based on which the current cutting vibration dominant frequency is calculated. .
[0145] Step S3 Filtering: The adaptive filtering module calculates the notch center angular frequency based on the identified 210Hz main frequency. Based on the amplitude value corresponding to 210Hz in the frequency domain result of the FFT output, it is determined that this amplitude value is greater than the first threshold T1, and is therefore set to... It employs a narrowband deep notch mode. and Substitute the values into the transfer function to calculate the five filter coefficients (b0, b1, b2, a1, a2), and write them into the coefficient register of the notch filter to complete the coefficient reloading. The reloaded notch filter deeply attenuates the frequency components near 210Hz in the vibration signal.
[0146] Step S4 Feedforward: The feedforward compensation module pre-reads the CNC machining program code and parses it to obtain the path geometry features at inflection point B, which are the feed of two adjacent straight lines and the included angle. At inflection point B, the cutting direction of the tool changes abruptly from the positive X-axis to the positive Y-axis, a 90° abrupt change, resulting in a significant change in the direction of the cutting force and generating mechanical impact. It should be noted that in the above risk path determination rules... In this embodiment, the threshold for determining risk paths is... It is at the threshold boundary. In actual processing, when The feedforward compensation module automatically triggers compensation calculations based on this determination rule. This embodiment demonstrates the complete execution process of steps S1 to S5 across the entire link, illustrating the process of the feedforward compensation module performing pre-reading and compensation value calculations for the corner path. The feedforward compensation module calculates the speed compensation value. and torque compensation value And send the compensation command to the CNC servo drive before the tool reaches inflection point B.
[0147] Step S5: The closed-loop communication module writes the filter coefficients from step S3 and the feedforward compensation value from step S4 into a custom field of the EtherCAT PDO, encapsulates them together with the standard position and speed commands, and sends them to the CNC servo drive in CSP mode. Upon receiving the compensation command, the servo drive corrects the speed loop and current loop, performing vibration suppression actions. The servo system uses HRV2 and HRV3 gain parameters to decelerate and increase the density of interpolation points at inflection point B, reducing vibration excitation caused by sudden changes in cutting force.
[0148] Closed-loop verification: After the servo system performs compensation, the tool completes corner machining. The vibration suppression signal acquired by the semiconductor strain gauge shows that the amplitude of the vibration peak at inflection point B decreases, and the waveform becomes smoother. The vibration marks on the machined surface are reduced. The change in vibration state is re-acquired in step S1 and enters the next processing cycle to continuously monitor the vibration state of subsequent machining paths.
[0149] The following is a description of the corresponding embodiments and technical features: In this embodiment, the main frequency identification in step S2 adopts the above-mentioned comparator tree parallel search method, and the main frequency calculation formula is as follows: A 210Hz result was obtained; the notch filter parameters in step S3 were calculated using the aforementioned IIR type notch filter transfer function H(z) and and the aforementioned notch factor Adaptive adjustment (when the amplitude is greater than T1) Step S3, coefficient reloading, adopts the aforementioned seamless switching method of the hardware pipeline; Step S4, machining program code pre-reading, adopts the aforementioned code segment pre-reading and path geometric feature analysis method; Step S4, risk path determination adopts the aforementioned line segment angle determination rule; Step S4, compensation value calculation adopts the aforementioned speed compensation value and torque compensation value calculation model; Step S5, unified encapsulation and distribution, adopts the aforementioned EtherCAT PDO encapsulation and CSP mode periodic synchronous communication method. The execution process of the above steps simultaneously reflects the collaborative work of the signal acquisition module, spectrum analysis module, adaptive filtering module, feedforward compensation module, and closed-loop communication module in the system embodiment of the present invention. Further embodiments of the present invention are specifically applied and verified in this embodiment.
[0150] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention, and not to limit them; although the present invention has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some of the technical features; and these modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the spirit and scope of the technical solutions of the embodiments of the present invention.
Claims
1. A method for suppressing cutting vibration in high-precision machining of data processing chips on a production line, characterized in that, Includes the following steps: Step S1: Acquire cutting vibration signals in parallel through multiple channels of the data processing chip; Step S2: Perform a fast Fourier transform on the acquired vibration signal to identify the dominant frequency of the current cutting vibration; Step S3: Calculate the parameters of the adaptive notch filter dynamically based on the identified main frequency, and reload the filter coefficients according to the calculation results to perform frequency domain feedback suppression on the vibration signal; Step S4: Pre-read the machining program code, identify high-risk machining paths, and calculate the feedforward compensation value to perform path domain feedforward prediction and suppression before vibration occurs; Step S5: Send the filtering result and feedforward compensation value to the servo system to perform compensation, forming a closed-loop vibration suppression.
2. The method for suppressing cutting vibration of a data processing chip in high-precision machining on a production line according to claim 1, characterized in that, In step S3, the adaptive notch filter adopts an IIR type structure, and its transfer function is: in, The center angular frequency of the notch filter. The notch factor is used to determine the bandwidth of the notch filter; Based on the main frequency identified in step S2 and sampling rate Real-time calculation of the center angular frequency of the notch filter , and accordingly reload the filter coefficients.
3. The method for suppressing cutting vibration of a data processing chip in high-precision machining on a production line according to claim 1, characterized in that, In step S2, the frequency domain result output by the Fast Fourier Transform is searched in parallel using the comparator tree inside the data processing chip to find the frequency index corresponding to the maximum amplitude. Calculate the current dominant frequency of cutting vibration: in, Sampling rate, This represents the number of points in the Fast Fourier Transform.
4. The method for suppressing cutting vibration of a data processing chip in high-precision machining on a production line according to claim 1, characterized in that, In step S3, the notch factor ρ of the adaptive notch filter is adaptively adjusted according to the vibration amplitude, where the vibration amplitude is the amplitude corresponding to the main frequency in the frequency domain result of the fast Fourier transform output in step S2, and the first threshold T1 is greater than the second threshold T2. When the vibration amplitude is greater than the first threshold T1, ρ=0.995 is taken, and the narrowband deep notch mode is adopted; When the vibration amplitude is less than the second threshold T2, ρ=0.95 is taken, and the broadband shallow notch mode is adopted.
5. The method for suppressing cutting vibration of a data processing chip in high-precision machining on a production line according to claim 1, characterized in that, In step S3, the reloading of the filter coefficients is executed by the hardware pipeline inside the data processing chip, specifically as follows: The new coefficients are written to the coefficient register of the notch filter with an update delay of less than 1 microsecond; During coefficient switching, the previous set of coefficients continues to process the current data block, and the new coefficients take effect from the next data block to achieve seamless switching.
6. The method for suppressing cutting vibration of a data processing chip in high-precision machining on a production line according to claim 1, characterized in that, In step S4, the CNC machining program code segment is pre-read, and the path geometric features such as the radius of the arc and the angle between line segments are analyzed. For paths identified as high-risk, the speed compensation value and torque compensation value are calculated in advance, and the compensation command is sent to the CNC servo driver before the tool reaches the risk position.
7. The method for suppressing cutting vibration of a data processing chip in high-precision machining on a production line according to claim 1, characterized in that, In step S4, high-risk processing paths are determined according to the following rules: When the machining path is a circular interpolation and the radius of the circular arc R is less than 5mm, it is judged as a high-risk path; When the processing path consists of adjacent line segments and the included angle θ is less than 90°, it is determined to be a high-risk path.
8. The method for suppressing cutting vibration of a data processing chip in high-precision machining on a production line according to claim 1, characterized in that, In step S4, the feedforward compensation value includes a speed compensation value and a torque compensation value, and its calculation model is as follows: Speed compensation value: ; in, For velocity feedforward gain, For load inertia, This refers to the command angular velocity; Torque compensation value: ; in, The torque constant of the motor. The cutting torque constant is... This refers to the command angular acceleration; In the above torque compensation value calculation, the path curvature C = 1 / R, where R is the radius of the arc of the machining path. The larger the curvature C, the greater the command angular acceleration. The larger the value, the better so that the curvature C corresponds to the torque compensation value. Proportional.
9. The method for suppressing cutting vibration of a data processing chip in high-precision machining on a production line according to claim 1, characterized in that, The adaptive notch filter calculation in step S3 and the feedforward compensation value calculation in step S4 are completed in parallel within the same processing window, and after being uniformly packaged, they are sent to the CNC servo drive in one go via the EtherCAT industrial Ethernet protocol. Furthermore, during the data encapsulation process, the current main frequency and corresponding amplitude, the current filter coefficients and feedforward compensation values are written into the custom fields of the EtherCAT process data object, transmitted together with the standard position and speed commands, and periodically synchronized in the CNC's periodic synchronous position mode.
10. A cutting vibration suppression system for data processing chips in high-precision machining on a production line, characterized in that, include: The signal acquisition module includes a semiconductor strain gauge, a signal conditioning circuit, and an analog-to-digital converter. The semiconductor strain gauge senses cutting vibration based on the piezoresistive effect and outputs an electrical signal. The signal conditioning circuit performs differential amplification and low-pass filtering on the electrical signal. The analog-to-digital converter converts the conditioned signal into a digital signal and outputs it. The spectrum analysis module includes an asynchronous FIFO buffer unit and an FFT processor. The asynchronous FIFO buffer unit buffers multi-channel acquired data separately for each channel to achieve time alignment. The FFT processor performs a fast Fourier transform on the buffered data and outputs the frequency domain results. An adaptive filtering module is used to dynamically calculate the parameters and reload coefficients of the IIR notch filter based on the frequency domain results output by the spectrum analysis module, and to perform frequency domain feedback suppression on the vibration signal. The feedforward compensation module is used to pre-read the machining program code, identify high-risk machining paths, calculate the feedforward compensation value, and perform path domain feedforward prediction and suppression before vibration occurs. The closed-loop communication module is used to send the filtering results and feedforward compensation values to the servo system via the EtherCAT industrial Ethernet protocol, and to perform real-time data interaction with the servo drive in the CNC's periodic synchronous position mode. The data storage module is used to back up and store historical vibration data, filter coefficients, and system configuration parameters through a NAND Flash storage chip. The data flow connection relationships between the modules are set as follows: The output of the signal acquisition module is connected to the input of the spectrum analysis module, and the output of the spectrum analysis module is connected to the input of the adaptive filtering module; the outputs of the adaptive filtering module and the feedforward compensation module are both connected to the input of the closed-loop communication module, and the closed-loop communication module is communicatively connected to the servo system; the data storage module is connected to the spectrum analysis module, the adaptive filtering module, and the feedforward compensation module, respectively.
