A laser processing system and a control method thereof
Patent Information
- Application Number
- CN202611099955.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2026-07-23
- Publication Date
- 2026-10-13
- Estimated Expiration
- 2046-07-23
AI Technical Summary
[0020]本发明实施例提供了一种激光加工系统及其控制方法,通过上位机预先完成加工轨迹解析与矢量运算,批量生成目标比较位置点坐标并预存至FPGA模块,加工过程中无需反复总线同步位置数据,有效削减数据传输延时。本发明实施例利用FPGA硬件并行处理能力,实现X、Y轴双轴独立正交解码、实时位置计数与平面矢量位置比较,可同步完成双轴位置信号的并行处理,解决了传统MCU方案响应滞后、多轴同步精度差的缺陷。并且以编码器实时反馈的物理位置为比对基准,通过双轴矢量移动距离判定实现纯硬件等间距、定点脉冲输出,驱动激光器精准出光,克服了传统技术存在的激光加工能量不均、光斑间距不一致、信号延时抖动、仅支持单轴连续比较输出等问题。基于上述硬件架构与控制逻辑,本发明实施例可实现高频率、高响应、高同步精度的PSO脉冲输出,能够适配超高精度、超高速、多轴联动的精密激光加工场景,有效规避光斑分布不均、过度加工、图形畸变等工艺问题,显著提升激光加工的成品质量与批次一致性。
Smart Images

Figure CN122625790B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of laser processing technology, and in particular to a laser processing system and its control method. Background Technology
[0002] In the field of precision laser processing, the performance of high-precision laser switch control directly determines the quality level of the final processed product. Currently, laser processing technology has widely penetrated various industries, and the patterns and trajectories of processed workpieces are becoming increasingly complex. Processing scenarios involving complex irregular trajectories such as arcs, sharp corners, and high-acceleration curves are continuously increasing, placing higher demands on the precision, uniformity, and stability of laser processing.
[0003] Currently, the industry generally uses traditional pulse control methods for laser-triggered processing. This method emits laser pulses at a fixed time frequency and is only suitable for processing simple, uniform trajectories. In high-speed and variable-speed processing scenarios, especially in complex trajectory processing such as fillets, curves, and high-acceleration curves, the equipment's speed continuously changes. The fixed-frequency laser pulse output leads to uneven distribution of laser spots at different positions on the trajectory, causing numerous process defects. Specifically, in the low-speed segment, pulse overlap occurs, causing workpiece surface ablation, over-processing, and process aging. In the high-speed segment, excessively large pulse intervals occur, leading to quality problems such as processing trajectory deviation, workpiece edge burrs, and uneven laser energy application. Ultimately, this results in distorted processed graphics, poor product quality consistency, and difficulty in meeting the production requirements of high-precision laser processing.
[0004] To address the technical shortcomings of traditional pulse control processes, the industry is gradually adopting Position Synchronized Output (PSO) technology to achieve precise synchronous control in laser processing. The core principle of this technology is to collect real-time position feedback data from the encoder and compare it with the laser output signal for phase synchronization. This eliminates the traditional time-interval triggering mode, triggering laser emission with a constant spatial interval, adapting to all motion trajectory stages, including acceleration, deceleration, and constant speed. Based on this mechanism, PSO technology ensures the laser spot is evenly distributed across the entire processing trajectory, guaranteeing uniform pulse energy application to the workpiece surface. This effectively avoids over-processing and process aging issues during corner and curve machining, significantly improving the overall quality and consistency of precision laser processing. It is currently a core solution for complex variable-speed trajectory machining.
[0005] However, existing commercial PSO technology solutions still have many technical shortcomings and cannot be adapted to ultra-high precision, ultra-high speed, and multi-axis linkage precision laser processing scenarios. The specific shortcomings are as follows: Firstly, the triggering mechanism has limitations. Some PSO solutions still use a fixed time interval to trigger the laser, without dynamically adjusting the pulse output based on the real-time movement position of the equipment. During the acceleration and deceleration of the equipment, the laser spot spacing will show significant deviations, directly leading to process problems such as distorted processing patterns, rough workpiece edges, and inconsistent laser energy application.
[0006] Secondly, the control response speed is insufficient. Traditional PSO solutions rely on MCUs to complete position data reading, calculation and judgment, and pulse output operations. The overall response delay and signal jitter are millisecond-level. Under high-speed processing conditions, it is prone to laser missed triggering, false triggering and other faults. It cannot meet the high-frequency laser triggering requirements of 1MHz and above, and is difficult to adapt to ultra-high-speed precision processing scenarios.
[0007] Third, multi-axis synchronous control accuracy is low. Existing PSO technologies are mostly single-axis independent control or multi-axis resource sharing modes, only supporting single-axis position threshold comparison and failing to achieve real-time multi-axis spatial vector calculation. In complex multi-axis linkage machining scenarios such as corners, arcs, and small line segments, the synchronization of each axis is poor, the signal interference between axes is severe, and the delay of each axis is inconsistent, making it impossible to achieve independent synchronous triggering of multi-axis lasers; even if a few solutions are equipped with vector comparison functions, they only support intermittent, small-data-volume triggering, resulting in extremely poor synchronous control performance.
[0008] Fourth, poor bus transmission synchronization. Most PSO solutions use EtherCAT bus to transmit target synchronization position data. The bus data transmission cycle is long and the refresh rate is low. The overall synchronization accuracy is difficult to match the output requirements of high-frequency laser spots, which has become a key bottleneck restricting ultra-high precision laser processing. Summary of the Invention
[0009] This invention provides a laser processing system and its control method, which aims to enhance the laser processing effect and achieve high-frequency, high-response, and high-synchronization-precision PSO pulse output.
[0010] This invention provides a laser processing system, comprising: The host computer is used to receive the set laser processing parameters and generate the coordinates of the target comparison position point by combining them with the pre-stored processing drawings. A dual-axis moving platform, including an X-axis and a Y-axis; The galvanometer module includes an X-galvanometer and a Y-galvanometer. The X-galvanometer includes an X-galvanometer motor and an X encoder, and the Y-galvanometer includes a Y-galvanometer motor and a Y encoder. The X-galvanometer and Y-galvanometer are mounted on top of the dual-axis moving platform. A motion control module is connected to the host computer and the dual-axis moving platform respectively, and is used to control the movement of the dual-axis moving platform and the galvanometer module according to the instructions of the host computer; The encoder module is used to collect encoder feedback values during the movement of the galvanometer module; The FPGA module is connected to the host computer and the encoder module respectively. It is used to receive the coordinates of the target comparison position point and the encoder feedback value respectively, and to determine whether the processing conditions are met based on the coordinates of the target comparison position point and the encoder feedback value. Then, when it is determined that the processing conditions are met, a pulse signal is output. A laser control unit, connected to the FPGA module, is used to output laser light according to the pulse signal from the FPGA module.
[0011] Furthermore, the encoder module includes an encoder signal decoding unit and an encoder signal acquisition unit; the encoder signal decoding unit is used to acquire the AB phase input signals generated during the movement of the X-mirror motor and the Y-mirror motor, and preprocess the AB phase input signals to obtain standard AB quadrature codes; wherein, the preprocessing includes digital filtering and signal shaping; then, the standard AB quadrature codes are subjected to configurable frequency multiplication quadrature decoding, and the origin is reset through the Z-phase origin signal to obtain dual-axis decoded data; The encoder signal acquisition unit is used to latch the dual-axis decoding data in real time through a position counter and output the dual-axis decoding data as the encoder feedback value. The encoder signal acquisition unit is directly connected to the pins of the FPGA module.
[0012] This invention also provides a control method for the laser processing system described above, comprising: The host computer receives the set laser processing parameters and generates the coordinates of the target comparison position point by combining them with the pre-stored processing drawings; The motion control module controls the movement of the dual-axis moving platform and the galvanometer module according to the instructions of the host computer; The encoder module acquires encoder feedback values during the movement of the galvanometer module; The FPGA module receives the target comparison position coordinates and encoder feedback values respectively, and determines whether the processing conditions are met based on the target comparison position coordinates and encoder feedback values. Then, when it is determined that the processing conditions are met, it outputs a pulse signal. The laser control unit outputs laser light based on the pulse signal from the FPGA module.
[0013] Furthermore, the host computer receives the set laser processing process parameters and generates the target comparison position coordinates by combining them with the pre-stored processing drawings, including: The host computer calls the pre-stored machining drawing file and converts the trajectory in the machining drawing file into a data point set; Vector calculations are performed on the data point set and the laser processing parameters to obtain the coordinates of the points to be compared, and these coordinates are set as the coordinates of the target comparison position point.
[0014] Furthermore, the encoder module includes an encoder signal decoding unit and an encoder signal acquisition unit. The encoder module acquires encoder feedback values during the movement of the galvanometer module, including: The encoder signal decoding unit acquires the AB phase input signals generated during the movement of the X-mirror motor and the Y-mirror motor. The AB phase input signal is preprocessed to obtain a standard AB orthogonal code; wherein, the preprocessing includes digital filtering and signal shaping; The standard AB orthogonal encoding is subjected to configurable frequency multiplication orthogonal decoding, and the origin is reset by the Z-phase origin signal to obtain dual-axis decoded data; The encoder signal acquisition unit uses a position counter to latch the dual-axis decoded data in real time and outputs the dual-axis decoded data as the encoder feedback value.
[0015] Furthermore, the FPGA module receives the target comparison position coordinates and encoder feedback values respectively, and determines whether the processing conditions are met based on the target comparison position coordinates and encoder feedback values. Then, when the processing conditions are determined to be met, a pulse signal is output, including: The FPGA module reads the coordinates of the target comparison position point and performs coordinate transformation on the coordinates of the target comparison position point to obtain the target angle values corresponding to the X-mirror motor and the Y-mirror motor. The target angle value is converted into a first pulse increment, and the encoder feedback value is converted into a second pulse increment; Based on the first pulse increment and the second pulse increment, it is determined whether the processing conditions are met, and then a pulse signal is output when it is determined that the processing conditions are met.
[0016] Furthermore, the step of determining whether the processing conditions are met based on the first pulse increment and the second pulse increment, and then outputting a pulse signal when the processing conditions are met, includes: Calculate the difference between the first pulse increment and the second pulse increment at the first position on the X-axis, and calculate the difference between the first pulse increment and the second pulse increment at the second position on the Y-axis; The first position difference and the second position difference are compared with a preset threshold range, respectively; If both the first position difference and the second position difference are within the threshold range, then the processing conditions are met. If the first position difference and / or the second position difference are not within the threshold range, it is determined that the processing conditions are not met.
[0017] Furthermore, the control method also includes: The motion speeds of the X-mirror motor and the Y-mirror motor are collected in real time; The motion speeds of the X-mirror motor and the Y-mirror motor are combined to form the target motion speed; The dynamic threshold is generated based on a speed-following dynamic threshold algorithm, combining the target motion speed and a preset adjustment coefficient. The threshold range is set according to the dynamic threshold.
[0018] Furthermore, setting the threshold range based on the dynamic threshold includes: Obtain the historical first position difference and historical second position difference for multiple instances where the processing conditions are met; Calculate the first fluctuation range of the difference between two consecutive historical first positions, and calculate the second fluctuation range of the difference between two consecutive historical second positions; The first fluctuation amplitude and the second fluctuation amplitude are combined to form the target fluctuation amplitude; The dynamic threshold is compensated and corrected by combining the target fluctuation amplitude and the preset compensation coefficient; The threshold range is generated based on the compensated and corrected dynamic threshold.
[0019] Furthermore, the step of performing vector calculations on the data point set and the laser processing parameters to obtain the coordinates of the points to be compared, and setting the coordinates of the points to be compared as the coordinates of the target comparison position, includes: The vector magnitude is obtained by performing vector calculations on the data point set and the laser processing parameters according to the following formula: ; Where A represents the coordinate point (Xa, Ya) in the data point set, and B represents the coordinate point (Xb, Yb) in the laser processing parameters; Based on the vector magnitude and the set equal interval, the coordinates of the target comparison position points are obtained by filtering.
[0020] This invention provides a laser processing system and its control method. The system pre-compiles the processing trajectory analysis and vector calculations via a host computer, batch-generating the coordinates of target comparison points and pre-storing them in the FPGA module. During processing, repeated bus synchronization of position data is unnecessary, effectively reducing data transmission latency. This invention utilizes the parallel processing capabilities of the FPGA hardware to achieve independent orthogonal decoding of the X and Y axes, real-time position counting, and planar vector position comparison. It can synchronously complete the parallel processing of dual-axis position signals, solving the shortcomings of traditional MCU solutions such as lag response and poor multi-axis synchronization accuracy. Furthermore, using the physical position fed back by the encoder in real time as the comparison benchmark, it achieves pure hardware equidistant, fixed-point pulse output through dual-axis vector movement distance determination, driving the laser to accurately emit light. This overcomes the problems of uneven laser processing energy, inconsistent spot spacing, signal delay jitter, and support for only single-axis continuous comparison output found in traditional technologies. Based on the above hardware architecture and control logic, the embodiments of the present invention can achieve high-frequency, high-response, and high-synchronization-precision PSO pulse output, which can be adapted to ultra-high precision, ultra-high speed, and multi-axis linkage precision laser processing scenarios, effectively avoiding process problems such as uneven spot distribution, over-processing, and pattern distortion, and significantly improving the finished product quality and batch consistency of laser processing. Attached Figure Description
[0021] To more clearly illustrate the technical solutions of the embodiments of the present invention, the drawings used in the following description of the embodiments will be briefly introduced. Obviously, the drawings described below are some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0022] Figure 1 A system block diagram of a laser processing system provided in an embodiment of the present invention; Figure 2 A flowchart illustrating the overall workflow of a laser processing system provided in this embodiment of the invention; Figure 3 A subsystem block diagram of a laser processing system provided in an embodiment of the present invention; Figure 4 A flowchart illustrating a control method for a laser processing system provided in an embodiment of the present invention; Figure 5 A schematic block diagram of an FPGA module in a laser processing system provided for an embodiment of the present invention; Figure 6 A flowchart of the FPGA module in a laser processing system provided in this embodiment of the invention; Figure 7 Another principle block diagram of an FPGA module in a laser processing system provided in this embodiment of the invention; Figure 8Another flowchart of the FPGA module in a laser processing system provided in this embodiment of the invention. Detailed Implementation
[0023] The technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some, not all, of the embodiments of the present invention. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.
[0024] It should be understood that, when used in this specification and the appended claims, the terms "comprising" and "including" indicate the presence of the described features, integrals, steps, operations, elements and / or components, but do not exclude the presence or addition of one or more other features, integrals, steps, operations, elements, components and / or collections thereof.
[0025] It should also be understood that the terminology used in this specification is for the purpose of describing particular embodiments only and is not intended to limit the invention. As used in this specification and the appended claims, the singular forms “a,” “an,” and “the” are intended to include the plural forms unless the context clearly indicates otherwise.
[0026] It should also be further understood that the term "and / or" as used in this specification and the appended claims refers to any combination of one or more of the associated listed items and all possible combinations, and includes such combinations.
[0027] Please see below. Figure 1 and Figure 3 This invention provides a laser processing system, comprising: The host computer 100 is used to receive the set laser processing process parameters and generate the coordinates of the target comparison position point by combining them with the pre-stored processing drawings. Dual-axis moving platform 200, including X-axis and Y-axis; The galvanometer module 300 includes an X-galvanometer and a Y-galvanometer. The X-galvanometer includes an X-galvanometer motor 310 and an X encoder 330, and the Y-galvanometer includes a Y-galvanometer motor 320 and a Y encoder 340. The X-galvanometer and Y-galvanometer are mounted on top of the dual-axis moving platform. The motion control module 400 is connected to the host computer 100 and the dual-axis moving platform 200 respectively, and is used to control the movement of the dual-axis moving platform and the galvanometer module 300 according to the instructions of the host computer 100. The encoder module 500 is used to collect encoder feedback values during the movement of the galvanometer module 300; The FPGA module 600 is connected to the host computer 100 and the encoder module 500 respectively. It is used to receive the target comparison position point coordinates and encoder feedback values respectively, and to determine whether the processing conditions are met based on the target comparison position point coordinates and encoder feedback values. Then, when it is determined that the processing conditions are met, it outputs a pulse signal. The laser control unit 700 is connected to the FPGA module 600 and is used to output laser according to the pulse signal of the FPGA module 600.
[0028] Position Synchronous Output (PSO) is a core technology for high-precision, high-speed signal synchronization in motion control and industrial laser processing. Its working principle involves real-time acquisition of the actual movement position of the equipment from the encoder, high-speed comparison with the system's preset target position, and, at the instant the preset comparison conditions are met, high-speed output of a synchronous trigger pulse signal through a hardware port. This enables precise pulse output at set intervals along the complete motion trajectory, triggering the corresponding actuator to complete the operation. Specifically, when the actuator is a laser, it immediately emits a laser to complete the processing upon receiving the trigger signal; when the actuator is a vision acquisition module, it can immediately capture an image upon receiving the trigger signal, adapting to various industrial processing and inspection scenarios.
[0029] The laser processing system described in this embodiment comprises a laser control unit 700, a host computer 100, a motion control module 400 driving the dual-axis platform and galvanometer movement, an FPGA core processing module, an X / Y encoder 340 and its corresponding decoding and acquisition unit, and a galvanometer X / Y motor and dual-axis moving platform 200. The X galvanometer motor 310 and X encoder 330 are coaxially mounted, and the Y galvanometer motor 320 and Y encoder 340 are coaxially mounted, ensuring accurate position acquisition. The specific functions of each core module are as follows: The FPGA module 600 integrates multiple core functions such as signal acquisition, position comparison, timing control, register storage, speed following dynamic threshold calculation, predictive error compensation, and interface control, making it the core hardware for achieving high-precision PSO pulse output. The encoder module 500 supports differential signal input and features hardware quadruple frequency, motion direction recognition, and high-speed counting functions. It can latch real-time X and Y axis position data in parallel, ensuring the real-time performance and accuracy of position acquisition. The motion control module 400 operates in a two-way linkage manner. On one hand, it interfaces with the servo drive system to achieve precise trajectory motion control of the dual-axis moving platform 200. On the other hand, it controls the high-speed movement of the galvanometer through the motion drive unit 410. The laser control unit 700 has strong compatibility, supporting multiple output modes such as TTL, analog, and PWM, and can achieve laser enable control, pulse triggering, and precise adjustment of output power. The host computer 100 establishes high-speed communication with the FPGA module 600 via Ethernet, supports custom configuration of processing trajectories and process parameters, and can also send batch trajectory data to the FPGA buffer to ensure the stability of continuous processing.
[0030] In this embodiment, the laser processing system, through the coordinated operation of the host computer 100 and FPGA hardware, can achieve high-precision, equidistant, synchronous laser position output along arbitrary curves. Combined with... Figure 2 The specific workflow is as follows: The host computer software 100 calls the pre-stored machining drawing file, parses the machining trajectory within the drawing file, and converts it into a standardized data point set. The operator can configure the PSO equal-spacing working mode and corresponding spacing process parameters through the host computer 100 interface. Based on the set working mode and process parameters, the system accurately calculates the actual dual-axis movement distance of the planar machining trajectory through vector calculation, automatically filters and generates the coordinates of target comparison positions that meet the set spacing. Compared with the limitation of traditional PSO technology, which only supports single-axis position comparison, this embodiment can realize equal-spacing position comparison and laser pulse output for any position and any curved trajectory in the plane, effectively adapting to various complex pattern precision laser processing scenarios.
[0031] After the host computer 100 completes the vector calculation of all target comparison position coordinates, the complete coordinate dataset is transmitted in batches to the FPGA module 600 for high-speed caching and storage via the bus. During actual processing, the FPGA module 600 adopts a hardware parallel acquisition architecture, synchronously acquiring position feedback data from the X encoder 330 and Y encoder 340 of the galvanometer in real time, and calculating the real-time angular position information of the X galvanometer motor 310 and Y galvanometer motor 320 through built-in algorithms. Subsequently, the FPGA's internal position comparison unit performs high-speed real-time comparison between the motor's real-time physical position and the cached target comparison position coordinates. When the positions match and the preset processing conditions are met, a high-precision pulse signal is immediately output to trigger the laser to precisely emit light for processing; if the processing conditions are not met, the comparison automatically enters the next calculation cycle.
[0032] In summary, this embodiment employs a position comparison scheme that uses the encoder's real-time physical position as a reference and the dual-axis vector movement distance as the criterion. The entire process relies on a pure FPGA hardware architecture to achieve equidistant, fixed-point pulse output and precise laser beam control. This hardware-level parallel computing and real-time comparison mechanism fundamentally solves the technical pain points commonly found in traditional laser processing equipment, such as uneven processing energy, poor consistency in spot spacing, signal delay jitter, and support for only single-axis continuous comparison output. This significantly improves the accuracy, uniformity, and stability of laser processing of complex curves.
[0033] Here, due to the unique advantages of FPGAs, such as high response speed, no system software scheduling latency, and high programmability, their core characteristics include hardware reconfigurability, parallel high-speed computing, low latency, and configurable flexible I / O. Utilizing an SRAM / Flash lookup table architecture, they can achieve dynamic configuration of logic functions. Therefore, this embodiment selects FPGA as the hardware platform for PSO technology, which perfectly adapts to the high-frequency, high-response, and high-synchronization-precision laser processing pulse output requirements.
[0034] Firstly, reconfigurability: runtime logic can be reconfigured by loading different bit streams, supporting field-programmable and dynamic reconfiguration, breaking through the limitations of ASIC chips with fixed hardware logic and inability to adapt to multiple processing scenarios; Secondly, hardware parallelism: all internal logic units can work synchronously and in parallel to achieve large-scale parallel data processing, which is different from the sequential execution mode of traditional chips, effectively improving data throughput and achieving nanosecond-level deterministic response. Third, low latency and high determinism: all data processing paths are implemented in pure hardware, without the additional overhead of instruction scheduling and software calculation, which can meet the needs of low latency sensitive scenarios such as real-time motion control, high-speed communication, and high-precision industrial processing. Fourth, it has abundant core resources: the chip integrates embedded block RAM, DSP multiplier, high-speed serial transceiver, DDR controller and other core resources, which can support complex algorithm operation, large-scale data caching and high-speed signal transmission, and ensure long-term stable operation of the system.
[0035] This embodiment enables high-precision position point comparison and pulse triggering along any planar machining path. The PSO pulse output frequency can reach up to 1MHz, maintaining excellent position synchronization accuracy even under high-speed machining conditions. This significantly optimizes the overall machining effect and effectively solves problems such as overheating and machining interruption during high-speed corner, arc, and small line segment machining, significantly improving product yield. This solution uses a fixed motion distance as the laser triggering basis, decoupling the triggering action from the equipment's speed. During acceleration, deceleration, and speed changes, it maintains a uniform laser spot spacing, fundamentally improving the process stability of variable-speed machining. Simultaneously, the solution is based on a pure FPGA hardware platform to build the core algorithm, greatly compressing computation time through pulse increment comparison and abandoning traditional software system scheduling mechanisms, supporting stable triggering of 1MHz high-frequency continuous pulses. Leveraging the powerful real-time planar vector calculation capabilities of the FPGA, this solution can achieve equidistant laser triggering throughout the entire machining path, thoroughly improving the spot uniformity problem in complex trajectory machining. With a high-speed bus communication architecture and buffer caching mechanism, the system can update the coordinates of the target comparison position point in real time and quickly, fully meeting the frequency requirements of high-frequency laser spot output and adapting to ultra-high precision and ultra-high speed precision laser processing scenarios.
[0036] In a specific embodiment, the encoder module 500 includes an encoder signal decoding unit 510 and an encoder signal acquisition unit 520. The encoder signal decoding unit 510 is used to acquire the AB phase input signals generated during the movement of the X-mirror motor 310 and the Y-mirror motor 320, and preprocess the AB phase input signals to obtain standard AB orthogonal encoding. The preprocessing includes digital filtering and signal shaping. Then, the standard AB orthogonal encoding is subjected to configurable frequency multiplication orthogonal decoding, and the origin is reset through the Z-phase origin signal to obtain dual-axis decoded data. The encoder signal acquisition unit 520 is used to latch the dual-axis decoding data in real time through a position counter and output the dual-axis decoding data as the encoder feedback value. The encoder signal acquisition unit 520 is directly connected to the pin of the FPGA module 600.
[0037] Combination Figure 3 In this embodiment, the encoder module 500 is equipped with an encoder signal acquisition unit 520, which is directly connected to the pin of the FPGA module 600. No external relay circuit is required, and the hardware connection link is simple and efficient.
[0038] During operation, the encoder signal decoding unit 510 acquires the original AB phase input signals generated by the X-mirror motor 310 and Y-mirror motor 320 in real time, and performs preprocessing operations on the original signals. Through a dual processing mechanism of digital filtering and signal shaping, it outputs a regular and reliable standard AB orthogonal encoded signal. Digital filtering effectively removes high-frequency interference noise in the signal transmission path and suppresses signal noise caused by electromagnetic interference in industrial environments. Signal shaping normalizes the uneven amplitude of the original signal into a standard level signal adapted to the electrical characteristics of the FPGA pins, avoiding counting errors and misjudgments caused by interference signals at the hardware level, and significantly improving the accuracy and reliability of dual-axis position acquisition. The preprocessed standard AB orthogonal encoded signal is directly sent to the FPGA's internal counting unit to complete real-time position counting, eliminating multiple signal relay stages, minimizing signal transmission delay, and ensuring real-time position feedback. The encoder signal decoding unit 510 supports multiple decoding configurations at 1x, 2x, and 4x frequencies, with 4x frequency decoding enabled by default. This maximizes position acquisition resolution without altering the hardware layout, adapting to different precision levels of laser processing requirements. Simultaneously, the decoding unit can automatically identify the forward and reverse motion states of the X-mirror motor 310 and Y-mirror motor 320 based on the phase lead-lag relationship of the AB phase encoded signals, matching and implementing adaptive logic for forward accumulation counting and reverse decrement counting to accurately reproduce the real-time motion trajectory of the dual axes.
[0039] Meanwhile, the encoder signal acquisition unit 520 is compatible with multi-mode zeroing and reset functions for the Z-phase origin signal. It supports three working modes: single-point zeroing of the Z-phase, hardware-forced real-time zeroing, and software manual command zeroing. This adapts to the origin calibration requirements of different working conditions, such as equipment power-on zeroing, mid-process reset, and batch processing calibration. After phase analysis, direction determination, and origin calibration by the decoding unit, the dual-axis position data is finally output as high-precision decoded data and sent to the FPGA's built-in 32-bit unsigned position counting unit. Relying on the system clock, the position value is refreshed in real time cycle by cycle, ensuring that the position data is updated in real time throughout the process, without buffering lag or transmission delay. This provides a real, reliable, and highly real-time raw position data source for subsequent dual-axis vector position comparison, dynamic threshold correction, and precise triggering of high-frequency PSO pulses.
[0040] This system adopts a pure hardware direct-connection control architecture, with a clear overall hierarchy and extremely strong real-time performance. All core hardware links are directly managed by the FPGA, without software scheduling intervention. The encoder signal acquisition unit 520 is directly connected to the FPGA pins to achieve zero-transfer position signal acquisition. The galvanometer motion drive and laser pulse triggering are directly output and controlled by the FPGA hardware logic. The host computer 100 only handles non-real-time tasks such as process parameter configuration, machining drawing parsing, trajectory data preprocessing, and equipment status monitoring, and does not participate in the high-speed real-time control process at all. This completely eliminates the accuracy loss caused by software scheduling delays, ensuring the system's high-frequency response and synchronization accuracy.
[0041] In other embodiments, the motion control module 400 also integrates a motion drive unit 410 for driving the high-speed linkage of the galvanometer. This motion drive unit 410 adopts a pulse + direction differential signal output mode, leveraging the advantages of differential signals in anti-interference and stable long-distance transmission to precisely drive the X and Y motors of the galvanometer to complete high-speed trajectory motion, adapting to complex industrial processing environments. Simultaneously, the system is also equipped with a clock and synchronization unit, featuring a high-precision active crystal oscillator with a frequency of no less than 50MHz. This provides a globally unified high-precision hardware time base for the entire system, ensuring timing synchronization and consistent operation across modules. It also supports external synchronization triggering, adapting to the expanded usage requirements of multi-device linkage and multi-scenario synchronous processing.
[0042] In practical industrial applications, the raw signal output by the galvanometer encoder is converted into an ABZ differential orthogonal encoded signal by the decoding unit. This signal has excellent anti-interference capabilities, supports stable long-distance transmission, and can effectively adapt to complex and harsh industrial environments. The converted ABZ differential orthogonal encoded signal is transmitted independently in two paths: one path is transmitted to the motion drive unit 410 to provide position feedback for the closed-loop drive control of the galvanometer motor, ensuring the accuracy of motor movement; the other path is connected to the system signal acquisition unit, converted into a single-ended signal adapted to the FPGA power supply level characteristics, and finally sent to the FPGA's built-in 32-bit counter to complete high-speed counting. The system adopts a parallel synchronous counting method for the X encoder 330 and Y encoder 340, which can synchronously acquire dual-axis position data, greatly improving the real-time performance and response speed of multi-axis position comparison, and laying the hardware foundation for high-precision PSO synchronous pulse output.
[0043] After the host computer 100 completes the analysis of the processing pattern trajectory, it generates a standardized set of trajectory data points. This data set is divided into two channels for synchronous linkage application. The first channel of data serves as the original data source for position comparison and is sent to the position comparison unit of the FPGA module 600 to provide data support for real-time position comparison and pulse trigger determination. The second channel of data is transmitted to the motion control module 400 as motion control commands. On the one hand, it drives the dual-axis moving platform 200 to complete precise movement according to the preset trajectory. On the other hand, after being analyzed and processed by the motion drive unit 410, it synchronously controls the X galvanometer motor 310 and the Y galvanometer motor 320 to operate in coordination, realizing the linkage between the dual-axis moving platform 200 and the galvanometer, ensuring the integrity of the laser processing trajectory and the processing accuracy.
[0044] like Figure 4 As shown, this embodiment of the invention also provides a control method applied to the laser processing system described above, specifically including steps S101 to S105.
[0045] Step S101: The host computer 100 receives the set laser processing process parameters and generates the coordinates of the target comparison position point by combining them with the pre-stored processing drawing file. Step S102: The motion control module controls the movement of the dual-axis moving platform and the galvanometer module 300 according to the instructions of the host computer; Step S103: The encoder module 500 acquires the encoder feedback value during the motion of the galvanometer module 300; In step S104, the FPGA module 600 receives the target comparison position point coordinates and the encoder feedback value, and determines whether the processing conditions are met based on the target comparison position point coordinates and the encoder feedback value. Then, when the processing conditions are met, a pulse signal is output. Step S105: The laser control unit 700 outputs laser according to the pulse signal of the FPGA module 600.
[0046] In this embodiment, when the laser processing system is actually applied, the host computer 100 first receives the set laser processing process parameters and generates the target comparison position coordinates by combining them with the pre-stored processing drawings. Then, the motion control module 400 drives the X and Y axes of the dual-axis moving platform 200 to move, as well as the X galvanometer motor 310 and Y galvanometer motor 320, according to the instructions of the host computer 100. After that, the encoder module 500 collects the encoder feedback values during the movement of the two galvanometer motors. Then, the FPGA module 600 receives the target comparison position coordinates and the encoder feedback values, and determines whether the processing conditions are met based on the two. If the conditions are met, a pulse signal is output. Finally, the laser control unit 700 performs the laser processing operation according to the pulse signal.
[0047] This embodiment enables high-precision position point comparison and pulse triggering along any planar machining path. The maximum PSO pulse output frequency can reach 1MHz, maintaining excellent position synchronization accuracy even under high-speed machining conditions. This significantly optimizes the overall machining effect and effectively solves problems such as overheating and machining interruptions during high-speed corner, arc, and small line segment machining, significantly improving product yield. Furthermore, this embodiment uses a fixed motion distance as the laser triggering basis, decoupling the triggering action from the equipment's movement speed. During acceleration, deceleration, and speed changes, it maintains a uniform laser spot spacing, fundamentally improving the process stability of variable-speed machining. Simultaneously, this embodiment builds its core algorithm on a pure FPGA hardware platform, greatly compressing computation time through pulse increment comparison and abandoning traditional software system scheduling mechanisms, supporting stable triggering of 1MHz high-frequency continuous pulses. Leveraging the powerful real-time planar vector calculation capabilities of the FPGA, this embodiment can achieve equidistant laser triggering throughout the entire machining path, thoroughly improving the spot uniformity problem in complex trajectory machining. With a high-speed bus communication architecture and buffer caching mechanism, the system can update the coordinates of the target comparison position point in real time and quickly, fully meeting the frequency requirements of high-frequency laser spot output and adapting to ultra-high precision and ultra-high speed precision laser processing scenarios.
[0048] In one embodiment, the host computer 100 receives the set laser processing process parameters and generates the target comparison position coordinates by combining them with the pre-stored processing drawings, including: The host computer 100 calls the pre-stored machining drawing file and converts the trajectory in the machining drawing file into a data point set; Vector calculations are performed on the data point set and the laser processing parameters to obtain the coordinates of the points to be compared, and these coordinates are set as the coordinates of the target comparison position point.
[0049] In this embodiment, when generating the target comparison position coordinates, the host computer 100 first calls the pre-stored processing drawing file, completely decomposes the vector or raster format processing pattern trajectory within the drawing file, and converts it into a continuous standardized coordinate data point set. Based on this, the host computer 100, in conjunction with the laser processing process parameters such as the PSO spacing configured by the operator, calculates the cumulative movement distance of the dual axes segment by segment along the tangent direction of the processing trajectory. When the cumulative movement distance reaches the preset spacing parameter, the dual-axis coordinates of the current position are recorded in real time and marked as the target comparison position point to be triggered. Finally, all coordinate points that meet the process requirements are summarized to form a complete target comparison position point dataset. This embodiment determines the target comparison position coordinate set through vector calculation, obtains the angle values in the X and Y directions after calculation, and then compares them with the real-time feedback values from the X encoder 330 and Y encoder 340 to determine whether the currently detected position vector has reached the set position vector point, achieving true multi-axis comparison, rather than position comparison performed by multiple single axes.
[0050] In a specific embodiment, the step of performing vector calculations on the data point set and the laser processing parameters to obtain the coordinates of the points to be compared, and setting the coordinates of the points to be compared as the coordinates of the target comparison position, includes: The vector magnitude is obtained by performing vector calculations on the data point set and the laser processing parameters according to the following formula: ; Where A represents the coordinate point (Xa, Ya) in the data point set, and B represents the coordinate point (Xb, Yb) in the laser processing parameters; Based on the vector magnitude and the set equal interval, the coordinates of the target comparison position points are obtained by filtering.
[0051] This embodiment takes the calculation of two-axis position points as an example, comparing the magnitude and direction of the vectors respectively; let (Xa, Ya) and (Xb, Yb) be two position vectors, that is, the magnitude of AB. , α is and The angle between them, considering that the spacing set by PSO is usually in the micrometer range, a small curve can be equivalent to a straight line, that is, the angle between AB can be considered as 0. Only the distance between the two vector points needs to be calculated. The directions are the same. According to the set PSO point spacing, each vector point is calculated one by one to generate a set of target position points as the source data for comparison.
[0052] Furthermore, in this embodiment, the calculated target comparison source data is transmitted to the FPGA module 600 for caching and storage via a high-speed bus. This results in fast data updates and extremely low response latency, making it perfectly suited for high-frequency PSO pulse output scenarios. This embodiment abandons the traditional EtherCAT bus transmission method. While EtherCAT offers good real-time performance, its data update cycle is long, with single update latency reaching hundreds of microseconds or even milliseconds. This makes it impossible to achieve rapid iterative updates of target coordinate data, and it is difficult to match the requirements of high-frequency laser triggering. It is only suitable for low-frequency, long-interval fixed-point output scenarios such as vision triggering. In contrast, conventional multi-axis PSO functions on the market generally adopt a single-axis independent counting and comparison mode. They operate by counting individually on each axis encoder and triggering output when a set value is reached. This method cannot achieve unified determination of planar vector distance, making it difficult to achieve high-precision, high-frequency, equidistant-interval triggering processing of arbitrary planar curves. It suffers from significant shortcomings in process applicability and processing accuracy. This embodiment effectively solves the aforementioned industry pain points.
[0053] In other embodiments, a piecewise curvature adaptive sampling algorithm model is used to generate the coordinates of the target comparison position points. Specifically, firstly, the standardized trajectory data point set after conversion is smoothed and filtered by the host computer 100 to remove abnormal noise and abrupt coordinate points generated during image conversion and data acquisition, ensuring trajectory continuity. Based on the third-order Bezier curve fitting algorithm, the discrete data point set is piecewise fitted to construct a continuous trajectory curve equation, and the radius of curvature R of each trajectory segment is solved segment by segment. The curvature calculation formula is: K=|Y''| / (1+Y'²)^(3 / 2), where Y' is the first derivative of the trajectory curve and Y'' is the second derivative of the trajectory curve. The curvature K and the radius of curvature R satisfy R=1 / K, thereby accurately representing the curvature of each trajectory segment.
[0054] Then, combined with the preset baseline PSO process spacing S and the maximum allowable sampling spacing S max Minimum encryption spacing S min Three process parameters are used to establish a curvature-spacing linkage mapping rule: For trajectory segments with minimal curvature that are close to straight (K≤K0, where K0 is a preset curvature threshold for straight trajectory), a baseline spacing S is used for uniform sampling to reduce the number of sampling points, lower the computational load, and improve processing efficiency; For arc and irregular curved trajectory segments with larger curvature (K>K0), based on curvature positive correlation encryption logic, the real-time sampling spacing S' is dynamically calculated. The calculation formula is S'=S / (1+λ·K), where λ is a preset curvature weight coefficient, which can be customized and adjusted according to the laser processing accuracy requirements, and S is forcibly limited. min ≤S'≤S max This avoids the problem of excessively dense or sparse sampling points caused by extreme curvature.
[0055] Based on the dynamic sampling interval S' of each trajectory segment, cumulative vector calculation is performed along the tangent direction of the fitted trajectory, and the trajectory vector movement distance is statistically calculated segment by segment. When the cumulative distance matches the dynamic sampling interval, the current trajectory coordinate point is extracted. At the same time, a vector direction deviation correction mechanism is introduced to calculate the vector angle between the current sampling point and the adjacent points before and after it. If the angle deviation exceeds the preset angle threshold, the current coordinates are finely adjusted to eliminate curve fitting error and sampling offset error, ensuring that all sampling points uniformly fit the original processing trajectory.
[0056] After completing the full trajectory adaptive sampling, all corrected coordinate points are summarized, duplicate points and invalid edge points are removed, and a curvature adaptive target comparison position coordinate set is generated. This coordinate dataset is then synchronously transmitted to the FPGA module 600 for real-time caching via a high-speed bus.
[0057] Through a curvature-adaptive dynamic sampling mechanism, differentiated point generation effects can be achieved, enabling efficient sampling of straight trajectories and precise, encrypted sampling of curved trajectories. This avoids the problems of processing contour distortion and insufficient corner accuracy caused by excessive sampling intervals for complex curved trajectories, and also eliminates the defects such as data redundancy, computational delay, and triggering stuttering caused by over-sampling of straight trajectories. This significantly improves the processing consistency and forming accuracy of laser processing under complex conditions such as irregular patterns, curved contours, and fine textures.
[0058] In one embodiment, the encoder module includes an encoder signal decoding unit and an encoder signal acquisition unit. The encoder module 500 acquires encoder feedback values during the movement of the galvanometer module 300, including: The encoder signal decoding unit 510 acquires the AB phase input signals generated during the movement of the X-mirror motor 310 and the Y-mirror motor 320. The AB phase input signal is preprocessed to obtain a standard AB orthogonal code; wherein, the preprocessing includes digital filtering and signal shaping; The standard AB orthogonal encoding is subjected to configurable frequency multiplication orthogonal decoding, and the origin is reset by the Z-phase origin signal to obtain dual-axis decoded data; The encoder signal acquisition unit 520 uses a position counter to latch the dual-axis decoded data in real time and outputs the dual-axis decoded data as the encoder feedback value.
[0059] In this embodiment, the encoder module 500 is used to acquire and process the position signals of the X-mirror motor 310 and the Y-mirror motor during their movement, providing real-time feedback data for FPGA high-speed vector position comparison. Specifically, the encoder module 500 acquires the AB phase motion input signals generated during the operation of the X-mirror motor 310 and the Y-mirror motor 320 in real time, and preprocesses the original AB phase input signals: high-frequency interference pulses in complex industrial environments are filtered out by digital filtering, and then waveform shaping is performed on the signals to effectively eliminate signal critical point jitter problems, avoid false triggering, and finally output a stable and standard AB orthogonal encoded signal.
[0060] After signal preprocessing, configurable frequency-multiplying orthogonal decoding is performed on the standard AB orthogonal encoded signal. It supports multiple working modes, including 1x, 2x, and 4x frequency multiplication. In practical applications, the 4x frequency decoding mode can be enabled by default to maximize the resolution of dual-axis position acquisition. Simultaneously, it can automatically identify the motor's motion direction based on the phase difference of the encoded signal, achieving adaptive control of forward accumulation counting and reverse decrement counting. Combined with the Z-phase origin signal, it enables diverse origin reset functions, supporting three zeroing methods: single Z-phase zeroing, hardware forced zeroing, and software manual zeroing, adapting to the origin calibration requirements of different processing scenarios, and ultimately outputting accurate dual-axis decoded data.
[0061] Based on this, a 32-bit unsigned position counter can be used to latch the dual-axis decoded data in real time. This counter has a sufficient range to support long-term, high-resolution continuous movement of the device without data deviation caused by count overflow. The counter refreshes the dual-axis position data in real time with the system clock as the cycle, achieving uninterrupted real-time updates at the hardware level. Finally, the latched dual-axis decoded data is used as the encoder's real-time feedback value and directly transmitted to the PSO comparison unit in parallel. There is no need for buffering or relaying throughout the process, and there is no transmission delay, ensuring high-precision and high-real-time matching and comparison between the real-time position data and the target vector position points pre-stored in the host computer.
[0062] In one embodiment, the FPGA module 600 receives the target comparison position coordinates and the encoder feedback value, respectively, and determines whether the processing conditions are met based on the target comparison position coordinates and the encoder feedback value. Then, when the processing conditions are determined to be met, a pulse signal is output, including: The FPGA module 600 reads the coordinates of the target comparison position point and performs coordinate transformation on the coordinates of the target comparison position point to obtain the target angle values corresponding to the X-mirror motor 310 and the Y-mirror motor 320. The target angle value is converted into a first pulse increment, and the encoder feedback value is converted into a second pulse increment; Based on the first pulse increment and the second pulse increment, it is determined whether the processing conditions are met, and then a pulse signal is output when it is determined that the processing conditions are met.
[0063] Combination Figure 5 and Figure 6 This embodiment employs a unified pulse increment conversion method for both the target set position and the actual feedback position of the motor. This transforms traditional floating-point coordinate difference calculations into incremental integer operations adapted to the FPGA hardware architecture, significantly simplifying the computational logic and reducing hardware overhead. Based on an FPGA hardware pipelined parallel computing architecture, this embodiment implements incremental comparison processing without requiring software-level floating-point operation scheduling and instruction serial execution. It can complete dual-axis incremental matching determination within a single system clock cycle, achieving nanosecond-level high-speed trigger response and effectively meeting the timing requirements of 1MHz high-frequency continuous pulse output.
[0064] In the overall workflow, the FPGA first performs batch caching of the 100 target coordinate dataset from the host computer. It then obtains the standard comparison angle values for the X and Y axis motors through coordinate transformation and performs pre-caching, before uniformly converting them into pulse increments and sending them to the position comparison unit. Simultaneously, the encoder acquisition module synchronously converts the real-time AB quadrature pulse count values into real-time pulse increments. The two incremental data streams are compared in real-time in the position comparison unit. When the increment difference meets the preset matching conditions, a trigger signal is immediately output through the high-speed I / O port. If the matching conditions are not met, the encoder data for the next cycle is continuously acquired and compared cyclically, ensuring a closed-loop process without interruption or delay. This incremental comparison mechanism effectively avoids the problems of computational redundancy, timing lag, and poor synchronization caused by traditional direct coordinate comparison. It fully leverages the hardware advantages of FPGA's parallel processing, low latency, and high determinism, guaranteeing the real-time performance, stability, and consistency of PSO high-frequency triggering in complex curve high-speed machining scenarios from the ground up.
[0065] In one embodiment, the step of determining whether the processing conditions are met based on the first pulse increment and the second pulse increment, and then outputting a pulse signal when the processing conditions are met, includes: Calculate the difference between the first pulse increment and the second pulse increment at the first position on the X-axis, and calculate the difference between the first pulse increment and the second pulse increment at the second position on the Y-axis; The first position difference and the second position difference are compared with a preset threshold range, respectively; If both the first position difference and the second position difference are within the threshold range, then the processing conditions are met. If the first position difference and / or the second position difference are not within the threshold range, it is determined that the processing conditions are not met.
[0066] In this embodiment, during the specific judgment process, the FPGA calculates the first position difference between the target pulse increment and the real-time feedback pulse increment along the X-axis, and the corresponding second position difference along the Y-axis. Then, the dual-axis position differences are compared and verified against the system's preset error threshold range. This embodiment employs a dual-axis collaborative joint judgment mechanism. Only when the position differences along the X and Y axes are simultaneously within the preset threshold range can it be determined that the current galvanometer's actual movement position precisely matches the preset target processing position, satisfying the laser processing trigger condition. The system immediately outputs a pulse signal to drive the laser to complete the light output processing. However, if the position difference of any single axis (X-axis or Y-axis) or the overall dual-axis difference exceeds the preset threshold range, it is determined that the current position does not meet the processing requirements, no trigger pulse is output, and the system continues to enter the next cycle of position data acquisition and incremental comparison, cyclically completing the position matching judgment.
[0067] The determination mode in this embodiment relies on planar vector position matching logic, which can accurately identify the actual position state of dual-axis linkage, avoid the spatial position matching deviation problem existing in the traditional single-axis independent comparison method, effectively ensure the accuracy of laser trigger point under arbitrary curve processing trajectory, and improve the uniformity of spot and overall processing quality of laser processing of complex trajectory from the bottom up.
[0068] In practical applications, the system prioritizes reading the pre-stored target pulse increments of the X and Y axis motors from the on-chip cache as the reference source data for this position comparison. Simultaneously, it reads the real-time pulse counts of the X encoder 330 and Y encoder 340, calculating the feedback pulse increments of the dual axes at the current moment. This embodiment uses the real-time physical feedback increments of the encoders as the comparison basis throughout the process, unlike traditional devices that use theoretical motion command positions as the comparison benchmark. This embodiment can eliminate command following errors, ensuring the authenticity and accuracy of the actual position determination. Based on this, the dual-axis position errors are solved in real-time through hardware logic, obtaining the X-axis position error Ex and the Y-axis position error Ey, respectively, and verifying whether the dual-axis errors synchronously fall within a preset threshold range. Only when both Ex and Ey meet the threshold requirements does the system immediately drive the high-speed IO port to output a trigger signal. This high-speed IO port has a response frequency of no less than 10MHz, enabling ultra-high-speed, low-latency, and precise triggering. If the dual-axis errors do not all meet the matching conditions, the current trigger output is abandoned, and encoder position data is continuously collected in a loop to iteratively perform the position comparison calculation for the next cycle.
[0069] Combination Figure 7 and Figure 8In other embodiments, a non-incremental direct comparison scheme can also be used to complete the position matching determination. The pulse incremental comparison mode described above converts the position comparison reference data and encoder feedback data into incremental data before performing calculations. The core purpose is to simplify the calculation process and reduce the computational resource consumption of FPGA hardware, thereby adapting to the high-frequency, low-latency processing triggering requirements. In contrast, the non-incremental comparison scheme does not require incremental data conversion and can directly use the motor angle value or the absolute value of the pulse to complete the position comparison. However, this scheme requires a large amount of data conversion within the FPGA: the real-time feedback pulse count of the encoder needs to be converted into the motor angle value through multiplication and division operations, or the target angle value needs to be converted back into the pulse count. The complex multiplication and division floating-point operations will significantly consume FPGA hardware resources, increase the calculation latency and hardware load, so compared with the incremental comparison scheme, its adaptability in high-frequency processing scenarios is worse.
[0070] The complete workflow of non-incremental position comparison is as follows: The FPGA receives and caches the target comparison position point coordinate set sent by the host computer 100. Through the built-in coordinate transformation module, the target coordinates are converted into target angle values or target pulse absolute values corresponding to the X-axis galvanometer motor 310 and the Y-axis motor. After data caching, the data is sent to the position comparison unit. Simultaneously, the FPGA's encoder acquisition module synchronously acquires the AB quadrature pulse count values of the X and Y axis encoders and calculates them into real-time motor angle values or real-time pulse absolute values. Finally, in the position comparison unit, the system directly matches and compares the real-time angle / pulse absolute value fed back by the encoder with the pre-stored target angle / pulse absolute value. If the preset comparison conditions are met, a laser pulse signal is immediately triggered to output from the high-speed IO port; if the matching conditions are not met, the encoder signal of the next cycle is continuously acquired, and the position comparison work is carried out cyclically.
[0071] In one embodiment, the control method further includes: Real-time acquisition of the movement speeds of the X-mirror motor 310 and the Y-mirror motor 320; The motion speeds of the X-mirror motor 310 and the Y-mirror motor 320 are combined to form the target motion speed; Based on the speed-following dynamic threshold algorithm, a dynamic threshold is generated by combining the target motion speed and the preset adjustment coefficient; The threshold range is set according to the dynamic threshold.
[0072] This embodiment addresses the variable-speed motion characteristics of the galvanometer processing by introducing a speed-following adaptive dynamic threshold algorithm to overcome the technical shortcomings of traditional fixed threshold comparison modes, which cannot adapt to dynamic speed changes. In actual processing, the X and Y axis motor speeds of the galvanometer are constantly fluctuating in real time. Using a single fixed error threshold can easily lead to triggering anomalies and accuracy degradation. When the equipment moves at high speed, the motor following error increases, and the fixed threshold can easily cause the X and Y axis position errors Ex and Ey to exceed the compliance range, resulting in system position matching failure, missed triggers, and continuous lack of light emission. If the fixed threshold is blindly increased to avoid high-speed missed triggers, the threshold range becomes too large under low-speed processing conditions, causing multiple cycles of position data to continuously hit the comparison range, leading to false triggers and significantly reducing the position synchronization accuracy, failing to meet the requirements of precision laser processing. Therefore, this embodiment employs speed-following adaptive control logic, allowing the error threshold to be dynamically and adaptively updated with the real-time movement speed. This achieves differentiated control by matching large thresholds at high speeds and small thresholds at low speeds, eliminating missed and false triggers while ensuring the position synchronization accuracy of laser processing throughout the entire process.
[0073] Specifically, the tracking error of motor motion is positively correlated with the motion speed: the higher the motion speed, the larger the dynamic tracking error, and vice versa. Therefore, the threshold needs to be matched with the speed change conditions in real time to adapt to the real motion state and ensure the accuracy of the comparison. This embodiment achieves dynamic and precise control of the threshold by constructing a linear correspondence between the threshold and the motion speed. The calculation formula is M=k·V, where M is the real-time dynamic error threshold, V is the dual-axis synthetic target motion speed, and k is a process coefficient that can be adjusted and optimized on-site. This coefficient can be calibrated according to the actual processing scenario, and can minimize the dynamic threshold and maximize the retention of processing accuracy while ensuring no missed triggering faults. From the hardware timing principle analysis, the system's single position comparison cycle is a fixed value t. From this, it can be deduced that the theoretically optimal minimum threshold satisfies M=t·V. Through this speed-following dynamic threshold mechanism, the system can adapt to all working conditions such as acceleration / deceleration, constant speed, and variable speed, taking into account the triggering stability of high-speed processing and the positioning accuracy of low-speed precision processing, effectively improving the uniformity and yield of laser processing of complex variable speed trajectories.
[0074] In one embodiment, setting the threshold range based on the dynamic threshold includes: Obtain the historical first position difference and historical second position difference for multiple instances where the processing conditions are met; Calculate the first fluctuation range of the difference between two consecutive historical first positions, and calculate the second fluctuation range of the difference between two consecutive historical second positions; The first fluctuation amplitude and the second fluctuation amplitude are combined to form the target fluctuation amplitude; The dynamic threshold is compensated and corrected by combining the target fluctuation amplitude and the preset compensation coefficient; The threshold range is generated based on the compensated and corrected dynamic threshold.
[0075] This embodiment further introduces a predictive motion error compensation algorithm to perform secondary correction and optimization of the speed-following dynamic threshold, effectively solving the problem of error fluctuation and accuracy imbalance caused by interference in industrial environments. In actual laser processing conditions, uncertainties such as equipment electromagnetic interference, ambient temperature drift, signal transmission jitter, and instantaneous fluctuations in motion speed can all lead to noise and delay in the encoder feedback signal, ultimately causing random fluctuations in the dual-axis pulse increment difference Ex and Ey. If relying solely on the speed-correlated dynamic threshold, to avoid missed triggering caused by fluctuations, it is often necessary to artificially amplify the threshold coefficient, increasing the base threshold by 2 or even 3 times. While this can ensure trigger stability, it significantly sacrifices the position synchronization comparison accuracy and reduces the uniformity of laser processing. Therefore, this embodiment uses the error fluctuation patterns of historical successful comparison data to proactively predict the error fluctuation range of the current motion cycle, achieving adaptive dynamic compensation and correction of the threshold.
[0076] In this embodiment, the effective incremental differences E1, E2, and E3 from the first three successful comparisons (or other values, three here are just examples) are selected as historical benchmark data. By calculating the deviation between two adjacent differences, namely E2-E1 and E3-E2, the error fluctuation state during the motion process is accurately characterized. The maximum absolute value of the two fluctuations is taken as the predicted fluctuation amplitude A, i.e., A=max(|E3-E2|, |E2-E1|). Based on this, the dynamic threshold of the basic speed is superimposed and compensated to construct the optimized threshold calculation formula M=|t·V|+n·A, where t is the system comparison period, V is the real-time synthesized motion speed, and n is a preset compensation coefficient that can be calibrated on-site. This algorithm logic can realize the adaptive adjustment of the threshold according to the fluctuation of the working conditions. That is, when the historical period error fluctuation is small, it indicates that the equipment is running smoothly, the compensation amount A is close to zero, and the system only retains the theoretical minimum threshold to maximize the protection of processing accuracy. When the historical period error fluctuation is large, the system automatically superimposes the corresponding compensation threshold, appropriately widens the threshold range, and avoids the problem of missed triggering caused by instantaneous fluctuations.
[0077] Compared to the single velocity threshold algorithm M=k·V, this predictive error compensation algorithm combines real-time motion velocity and historical error fluctuation information, making it a proactive compensation mechanism. By predicting the current error state using historical fluctuation data, it can maximize the compression of redundant threshold margins without missing triggers or losing pulses. This effectively balances trigger stability and position synchronization accuracy during laser processing, further suppressing processing defects caused by environmental interference and motion fluctuations, and significantly improving the consistency and reliability of high-speed precision laser processing in complex industrial scenarios.
[0078] The various embodiments in this specification are described in a progressive manner, with each embodiment focusing on its differences from other embodiments. Similar or identical parts between embodiments can be referred to interchangeably. For the systems disclosed in the embodiments, since they correspond to the methods disclosed in the embodiments, the descriptions are relatively simple; relevant parts can be referred to in the method section. It should be noted that those skilled in the art can make various improvements and modifications to this application without departing from the principles of this application, and these improvements and modifications also fall within the protection scope of the claims of this application.
[0079] It should also be noted that, in this specification, relational terms such as "first" and "second" are used only to distinguish one entity or operation from another, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Furthermore, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitations, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes said element.
Claims
1. A laser processing system, characterized in that, include: The host computer is used to receive the set laser processing parameters and generate the coordinates of the target comparison position point by combining them with the pre-stored processing drawings. A dual-axis moving platform, including an X-axis and a Y-axis; The galvanometer module includes an X-galvanometer and a Y-galvanometer. The X-galvanometer includes an X-galvanometer motor and an X encoder, and the Y-galvanometer includes a Y-galvanometer motor and a Y encoder. The X-galvanometer and Y-galvanometer are mounted on top of the dual-axis moving platform. A motion control module is connected to the host computer and the dual-axis moving platform respectively, and is used to control the movement of the dual-axis moving platform and the galvanometer module according to the instructions of the host computer; An encoder module is used to acquire encoder feedback values during the movement of the galvanometer module. The encoder module includes an encoder signal decoding unit and an encoder signal acquisition unit. The encoder signal decoding unit acquires the AB phase input signals generated during the movement of the X-galvanometer motor and the Y-galvanometer motor, and preprocesses the AB phase input signals to obtain standard AB quadrature encoding. The preprocessing includes digital filtering and signal shaping. Then, the standard AB quadrature encoding is subjected to configurable frequency multiplication quadrature decoding, and the origin is reset using the Z-phase origin signal to obtain dual-axis decoded data. The encoder signal acquisition unit latches the dual-axis decoded data in real time using a position counter and outputs the dual-axis decoded data as the encoder feedback value. The FPGA module is connected to the host computer and the encoder module respectively. It is used to receive the coordinates of the target comparison position point and the encoder feedback value respectively, and to determine whether the processing conditions are met based on the coordinates of the target comparison position point and the encoder feedback value. Then, when it is determined that the processing conditions are met, a pulse signal is output. The FPGA module receives the target comparison position coordinates and encoder feedback values, and determines whether the processing conditions are met based on these coordinates. Upon determining that the processing conditions are met, it outputs a pulse signal, including: The FPGA module reads the coordinates of the target comparison position point and performs coordinate transformation on the coordinates of the target comparison position point to obtain the target angle values corresponding to the X-mirror motor and the Y-mirror motor. The target angle value is converted into a first pulse increment, and the encoder feedback value is converted into a second pulse increment; Based on the first pulse increment and the second pulse increment, it is determined whether the processing conditions are met, and then a pulse signal is output when it is determined that the processing conditions are met. The step of determining whether the processing conditions are met based on the first pulse increment and the second pulse increment, and then outputting a pulse signal when the processing conditions are met, includes: Calculate the difference between the first pulse increment and the second pulse increment at the first position on the X-axis, and calculate the difference between the first pulse increment and the second pulse increment at the second position on the Y-axis; The first position difference and the second position difference are compared with a preset threshold range, respectively; If both the first position difference and the second position difference are within the threshold range, then the processing conditions are met. If the first position difference and / or the second position difference are not within the threshold range, it is determined that the processing conditions are not met. A laser control unit, connected to the FPGA module, is used to output laser light according to the pulse signal from the FPGA module.
2. The laser processing system according to claim 1, characterized in that, The encoder signal acquisition unit is directly connected to the pins of the FPGA module.
3. A control method applied to the laser processing system according to claim 1 or 2, characterized in that, include: The host computer receives the set laser processing parameters and generates the coordinates of the target comparison position point by combining them with the pre-stored processing drawings; The motion control module controls the movement of the dual-axis moving platform and the galvanometer module according to the instructions of the host computer; The encoder module acquires encoder feedback values during the movement of the galvanometer module; The FPGA module receives the target comparison position coordinates and encoder feedback values respectively, and determines whether the processing conditions are met based on the target comparison position coordinates and encoder feedback values. Then, when it is determined that the processing conditions are met, it outputs a pulse signal. The laser control unit outputs laser light based on the pulse signal from the FPGA module; The FPGA module receives the target comparison position coordinates and encoder feedback values, and determines whether the processing conditions are met based on these coordinates. Upon determining that the processing conditions are met, it outputs a pulse signal, including: The FPGA module reads the coordinates of the target comparison position point and performs coordinate transformation on the coordinates of the target comparison position point to obtain the target angle values corresponding to the X-mirror motor and the Y-mirror motor. The target angle value is converted into a first pulse increment, and the encoder feedback value is converted into a second pulse increment; Based on the first pulse increment and the second pulse increment, it is determined whether the processing conditions are met, and then a pulse signal is output when it is determined that the processing conditions are met. The step of determining whether the processing conditions are met based on the first pulse increment and the second pulse increment, and then outputting a pulse signal when the processing conditions are met, includes: Calculate the difference between the first pulse increment and the second pulse increment at the first position on the X-axis, and calculate the difference between the first pulse increment and the second pulse increment at the second position on the Y-axis; The first position difference and the second position difference are compared with a preset threshold range, respectively; If both the first position difference and the second position difference are within the threshold range, then the processing conditions are met. If the first position difference and / or the second position difference are not within the threshold range, it is determined that the processing conditions are not met.
4. The control method according to claim 3, characterized in that, The host computer receives the set laser processing parameters and generates the target comparison position coordinates by combining them with the pre-stored processing drawings, including: The host computer calls the pre-stored machining drawing file and converts the trajectory in the machining drawing file into a data point set; Vector calculations are performed on the data point set and the laser processing parameters to obtain the coordinates of the points to be compared, and these coordinates are set as the coordinates of the target comparison position point.
5. The control method according to claim 3, characterized in that, The encoder module includes an encoder signal decoding unit and an encoder signal acquisition unit. The encoder module acquires encoder feedback values during the movement of the galvanometer module, including: The encoder signal decoding unit acquires the AB phase input signals generated during the movement of the X-mirror motor and the Y-mirror motor. The AB phase input signal is preprocessed to obtain a standard AB orthogonal code; wherein, the preprocessing includes digital filtering and signal shaping; The standard AB orthogonal encoding is subjected to configurable frequency multiplication orthogonal decoding, and the origin is reset by the Z-phase origin signal to obtain dual-axis decoded data; The encoder signal acquisition unit uses a position counter to latch the dual-axis decoded data in real time and outputs the dual-axis decoded data as the encoder feedback value.
6. The control method according to claim 3, characterized in that, Also includes: The motion speeds of the X-mirror motor and the Y-mirror motor are collected in real time; The motion speeds of the X-mirror motor and the Y-mirror motor are combined to form the target motion speed; Based on the speed-following dynamic threshold algorithm, a dynamic threshold is generated by combining the target motion speed and the preset adjustment coefficient; The threshold range is set according to the dynamic threshold.
7. The control method according to claim 6, characterized in that, Setting the threshold range based on the dynamic threshold includes: Obtain the historical first position difference and historical second position difference for multiple instances where the processing conditions are met; Calculate the first fluctuation range of the difference between two consecutive historical first positions, and calculate the second fluctuation range of the difference between two consecutive historical second positions; The first fluctuation amplitude and the second fluctuation amplitude are combined to form the target fluctuation amplitude; The dynamic threshold is compensated and corrected by combining the target fluctuation amplitude and the preset compensation coefficient; The threshold range is generated based on the compensated and corrected dynamic threshold.
8. The control method according to claim 4, characterized in that, The step of performing vector calculations on the data point set and the laser processing parameters to obtain the coordinates of the points to be compared, and setting the coordinates of the points to be compared as the coordinates of the target comparison position, includes: The vector magnitude is obtained by performing vector calculations on the data point set and the laser processing parameters according to the following formula: ; Where A represents the coordinate point (Xa, Ya) in the data point set, and B represents the coordinate point (Xb, Yb) in the laser processing parameters; Based on the vector magnitude and the set equal interval, the coordinates of the target comparison position points are obtained by filtering.
Citation Information
Patent Citations
Method and device for measuring rotating speed of motor
CN102200541A
Laser cutting system and method with synchronous position output function
CN117733365A