Multi-axis control system and 3D printing device
By leveraging the collaborative work of the heterogeneous processor's computing and task processing units, the problems of path planning delay and synchronization error in multi-axis linkage in high-precision 3D printing equipment have been solved, achieving higher processing accuracy.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- SHENZHEN XINGHAN LASER TECH CO LTD
- Filing Date
- 2026-03-02
- Publication Date
- 2026-06-02
AI Technical Summary
In existing technologies, high-precision industrial-grade 3D printing equipment suffers from high path planning response delay and large multi-axis motion synchronization error when operating in 5-axis or more-axis linkage, resulting in low processing accuracy.
The multi-axis control system using heterogeneous processors executes multi-axis control computing tasks through the computing units in the heterogeneous processors. The task processing unit monitors the multi-axis status in real time and forwards instructions, driving the control unit to provide feedback on the execution status, forming a dynamic adjustment mechanism to reduce synchronization errors.
It improves the processing accuracy of 3D printing equipment, reduces delays caused by insufficient computing power or task congestion, and ensures real-time collaborative calibration of multi-axis motion.
Smart Images

Figure CN121756604B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of control technology, and in particular to a multi-axis control system and a 3D printing device. Background Technology
[0002] 3D printing technology has been widely used in industrial manufacturing, medical, aerospace and other fields in recent years. It can create complex geometries by stacking materials layer by layer.
[0003] In existing technologies, high-precision industrial-grade 3D printing typically requires five or more axes of simultaneous operation, demanding high real-time control accuracy and synchronization. However, with five or more axes of simultaneous operation, the control system suffers from high response delays in path planning for each axis and large synchronization errors in multi-axis motion. This results in the dimensional accuracy and surface quality of the printed object failing to meet the requirements of high-precision manufacturing, leading to lower processing accuracy. Summary of the Invention
[0004] This application provides a multi-axis control system and a 3D printing device to improve processing accuracy.
[0005] In a first aspect, embodiments of this application provide a multi-axis control system, including a heterogeneous processor, a communication unit, and a drive control unit. The heterogeneous processor includes a computing unit and a task processing unit. The computing unit is connected to the task processing unit, and the task processing unit is connected to the drive control unit via the communication unit. The drive control unit is connected to multiple axes.
[0006] The task processing unit is used to monitor the initial state information of the multi-axis and send the initial state information to the computing unit through the communication unit.
[0007] The computing unit is used to execute a computing task for multi-axis control based on the initial state information, generate control instructions for the multi-axis, and feed back the control instructions to the task processing unit through the communication unit.
[0008] The drive control unit is used to drive the multi-axis to execute the control commands sent by the task processing unit, and to feed back the current status information of the multi-axis after executing the control commands to the task processing unit.
[0009] In one possible implementation, the heterogeneous processor further includes a scheduling unit, and the communication unit includes multiple communication modules, including a USB communication module, an Ethernet communication module, and a CANFD communication module, wherein...
[0010] The scheduling unit is connected to the computing unit via the USB communication module or the Ethernet communication module, and the scheduling unit is connected to the task processing unit via the CANFD communication module;
[0011] The scheduling unit is used to allocate tasks between the computing unit and the task processing unit.
[0012] In one possible implementation, the computing unit further includes a motion planning unit and a multi-axis control unit, wherein,
[0013] The motion planning unit is used to determine the preset motion trajectory of each axis based on the current status information and the task instruction, wherein the task instruction is a user-input instruction to control the multi-axis motion.
[0014] The multi-axis control unit is used to perform interpolation processing on the motion of each axis according to the current position and preset motion trajectory of each axis, so as to obtain the control command.
[0015] In one possible implementation, the task processing unit is configured with multiple real-time tasks and a priority for each real-time task. Among the multiple real-time tasks is a multi-axis motion interpolation task, and the motion interpolation task has the highest priority.
[0016] In one possible implementation, the task processing unit further includes a protocol stack management unit and a time synchronization engine, wherein,
[0017] The protocol stack management unit is used to send the control command to the drive control unit and to send the synchronization frame to the time synchronization engine;
[0018] The time synchronization engine is used to perform time synchronization processing on the computing unit and the protocol stack management unit according to the synchronization frame, and send synchronization signals to the computing unit and the protocol stack management unit respectively.
[0019] In one possible implementation, the time synchronization engine includes a hardware layer and a software layer, wherein,
[0020] The hardware layer is used to mark the synchronization frame with a master station timestamp;
[0021] The software layer is used to perform time synchronization processing on the computing unit and the protocol stack management unit according to the master station timestamp of the synchronization frame, determine the global timestamp, and generate the synchronization signal according to the global timestamp.
[0022] In one possible implementation, the heterogeneous processor further includes a neural network processing unit connected to the computation unit. The neural network processing unit includes multiple computational models, wherein...
[0023] The computational model is used to determine the motion control parameters in the corresponding multi-axis control, including dynamic speed correction parameters, path smoothing compensation parameters, and adaptive load parameters.
[0024] In one possible implementation, the drive control unit includes a driver, a controller, and multiple motor drive chips. The controller is connected to the driver and each motor drive chip, and the driver is also connected to the task processing unit.
[0025] The driver is used to receive control commands sent by the task processing unit and to feed back the motor status of each axis to the task processing unit.
[0026] The controller is used to receive control commands sent by the driver, and send motor commands to each motor driver chip according to the control commands.
[0027] The motor drive chip is used to determine the motor rotation of its corresponding axis according to the motor command.
[0028] In one possible implementation, the driver and the task processing unit send the control commands through a process data object (PDO) mapping table, which includes multiple control commands.
[0029] Secondly, embodiments of this application provide a 3D printing device, the 3D printing device including, as in the first aspect and / or various possible multi-axis control systems of the first aspect, multiple axes and motors corresponding to each axis; the multi-axis control system controls the motors corresponding to each axis to drive each axis to move to the target position in order to obtain the printed object.
[0030] The multi-axis control system and 3D printing equipment provided in this application embodiment can execute the computing power task of multi-axis control through the computing unit in the heterogeneous processor, while the task processing unit is responsible for monitoring the multi-axis status in real time and forwarding instructions. By decoupling the computing power task and the monitoring task, the single processor can avoid undertaking both computing and monitoring tasks simultaneously, enabling the computing unit to efficiently complete path planning and reduce delays caused by insufficient computing power or task congestion. At the same time, the task processing unit can collect the multi-axis status in real time and synchronize it to the computing unit, ensuring that the computing unit can generate control instructions based on the latest status; and after the drive control unit executes the instructions, it can immediately provide feedback on the execution status, forming a dynamic adjustment mechanism, so that the multi-axis motion can be collaboratively calibrated based on the real-time status, thereby reducing synchronization errors and improving processing accuracy. Attached Figure Description
[0031] The accompanying drawings, which are incorporated in and form part of this specification, illustrate embodiments consistent with this application and, together with the description, serve to explain the principles of this application.
[0032] Figure 1 A schematic diagram illustrating an application scenario provided in an embodiment of this application;
[0033] Figure 2 This is a schematic diagram of the structure of a multi-axis control system provided in an embodiment of this application;
[0034] Figure 3 This is a schematic diagram of another multi-axis control system provided in an embodiment of this application;
[0035] Figure 4 An interactive schematic diagram of a multi-axis control system provided in an embodiment of this application;
[0036] Figure 5 This is a schematic diagram of the architecture of a multi-axis control system provided in an embodiment of this application.
[0037] The accompanying drawings illustrate specific embodiments of this application, which will be described in more detail below. These drawings and descriptions are not intended to limit the scope of the concept in any way, but rather to illustrate the concept of this application to those skilled in the art through reference to particular embodiments. Detailed Implementation
[0038] Exemplary embodiments will now be described in detail, examples of which are illustrated in the accompanying drawings. When the following description relates to the drawings, unless otherwise indicated, the same numbers in different drawings denote the same or similar elements. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with this application. Rather, they are merely examples of apparatuses and methods consistent with some aspects of this application as detailed in the appended claims.
[0039] Heterogeneous computing refers to the combination of computing units with different architectures, such as CPUs and NPUs, to optimize overall performance through task allocation. For example, the A76 core of the RK3588 processes complex algorithms, while the NPU is responsible for low-power computing.
[0040] CANFD (Controller Area Network Flexible Data-rate): An improved CAN bus protocol, referred to as the improved bus in this application, supports dynamic baud rate adjustment (up to 20Mbps) and 64-byte data frames, improving data throughput.
[0041] PDO (Process Data Object) mapping: An object used for real-time data transmission in the CANOPEN protocol. The dynamic mapping table can flexibly configure data fields to adapt to the needs of different devices.
[0042] IEEE 1588 PTP (Precision Time Protocol): Achieves sub-microsecond synchronization of network devices through hardware timestamps, and is commonly used in industrial automation.
[0043] Figure 1 This is a schematic diagram illustrating an application scenario provided by an embodiment of this application. Please refer to [link / reference]. Figure 1 As shown, the 3D printing equipment may include a central processing unit 101, multiple axes 102, and axis controllers 103 corresponding to each axis 102.
[0044] 3D printing equipment is widely used in industrial manufacturing, medical, aerospace and other fields. 3D printing equipment can realize the manufacture of complex geometries by stacking materials layer by layer through the linkage of multiple axes 102. The central processing unit 101 and the controllers 103 of each axis can form the control system of the 3D printing equipment. The control system can be responsible for coordinating the entire printing process and ensuring that the displacement accuracy and action timing of each axis 102 meet the process requirements.
[0045] Specifically, the central processing unit 101 can receive print task instructions and parse them into executable motion control instructions. After each axis controller 103 receives the corresponding motion control instruction, it can further subdivide the motion control instruction to determine the specific operating parameters corresponding to each axis 102. Each axis 102 can then collaboratively complete the layer-by-layer printing operation according to the specific operating parameters to achieve the printing object corresponding to the user-defined print task instruction.
[0046] In related technologies, high-precision industrial-grade 3D printing typically requires five or more axes of simultaneous operation, demanding high real-time control accuracy and synchronization. However, when five or more axes are involved in simultaneous operation, the control system suffers from high response delays in path planning for each axis and large synchronization errors in multi-axis motion. This results in the dimensional accuracy and surface quality of the printed object failing to meet the requirements of high-precision manufacturing, leading to lower processing accuracy.
[0047] The multi-axis control system provided in this application may include a heterogeneous processor, a communication unit, and a drive control unit. The heterogeneous processor includes a computing unit and a task processing unit. The task processing unit can monitor the initial state information of the multi-axis in real time and send this initial state information to the computing unit via the communication unit. The computing unit can execute computing tasks for multi-axis control based on the received initial state information, generate control commands for the multi-axis, and feed back the control commands to the task processing unit via the communication unit. The drive control unit is used to drive the multi-axis to execute the control commands sent by the task processing unit, and simultaneously feeds back the current state information of the multi-axis control to the task processing unit.
[0048] During the aforementioned execution process, the computing power task for multi-axis control can be performed by the arithmetic unit in the heterogeneous processor, while the task processing unit is responsible for real-time monitoring of the multi-axis status and forwarding instructions. By decoupling the computing power task and the monitoring task, the single processor can avoid simultaneously undertaking both computing and monitoring tasks, allowing the arithmetic unit to efficiently complete path planning and reducing delays caused by insufficient computing power or task congestion. Simultaneously, the task processing unit can collect the multi-axis status in real time and synchronize it to the arithmetic unit, ensuring that the arithmetic unit can generate control instructions based on the latest status. After the drive control unit executes the instructions, it can immediately provide feedback on the execution status, forming a dynamic adjustment mechanism. This allows multi-axis motion to be collaboratively calibrated based on real-time status, thereby reducing synchronization errors and improving machining accuracy.
[0049] The technical solution of this application and how the technical solution of this application solves the above-mentioned technical problems are described in detail below with specific embodiments. These specific embodiments can be combined with each other, and the same or similar concepts or processes may not be described again in some embodiments. The embodiments of this application will now be described with reference to the accompanying drawings.
[0050] Figure 2 This is a schematic diagram of a multi-axis control system provided in an embodiment of this application. Please refer to... Figure 2 As shown, a multi-axis control system may include a heterogeneous processor, a communication unit, and a drive control unit, with the drive control unit connected to multiple axes.
[0051] Heterogeneous processors can be high-performance system-on-a-chip (SoC). Heterogeneous processors have a multi-core architecture, and the multi-core heterogeneous design allows cores with different performance and characteristics to handle the tasks they are good at.
[0052] A heterogeneous processor may include an arithmetic unit and a task processing unit. The arithmetic unit is connected to the task processing unit, and the task processing unit is connected to the drive control unit via a communication unit.
[0053] The task processing unit can handle tasks with high real-time requirements, such as protocol stack operations, to ensure the real-time performance and reliability of communication between the system and external devices. At the same time, it can be responsible for motion control, responding to and processing commands related to motor motion in a timely manner to ensure the accuracy and stability of motor motion.
[0054] Specifically, the task processing unit can monitor the initial state information of the multi-axis and send the initial state information to the computing unit through the communication unit.
[0055] Initial status information may include the actual operating status of each axis, data from each sensor, and system anomaly information.
[0056] The actual operating status can include the current position, speed, and current of the axis. Sensor data can include raw data and / or preprocessed results, such as gyroscope attitude angles and collision detection signals. System anomaly information can include overload alarms and communication errors.
[0057] The computing unit can be responsible for performing computational tasks involving complex algorithms. For example, in CNC machine tools, it can perform path planning and calculate the optimal motion trajectory of the tool from the starting point to the target point. In some 3D printing equipment with a rotary axis (AB axis), it can calculate the angle of the rotary axis AB to achieve precise spatial position control and attitude adjustment.
[0058] Specifically, the computing unit can execute multi-axis control computing tasks based on the initial state information, generate multi-axis control commands, and feed back the control commands to the task processing unit through the communication unit.
[0059] Computational tasks can include path planning for each axis, calculation of the rotation axis AB angle, and other tasks that require a large amount of computing power.
[0060] The drive control unit may include multiple motor drive chips, which are connected to the motors on their corresponding axes. The drive control unit can precisely control the operation of the motors, including parameters such as motor speed, direction of rotation, and position.
[0061] The drive control unit can drive multiple axes, execute control commands sent by the task processing unit, and provide feedback to the task processing unit on the current status information of the multiple axes after executing the control commands.
[0062] It is worth noting that after receiving the current status information from the drive control unit, the task processing unit determines the current status information as the initial status information of the multi-axis, regenerates the control commands, and forms a closed loop for multi-axis control.
[0063] The communication unit may include a transceiver chip based on CANFD (Controller Area Network with Flexible Data Rate).
[0064] Status information and control commands can be efficiently exchanged between the computing unit, task processing unit, and drive control unit through the communication unit.
[0065] The multi-axis control system provided in this application decouples computing and monitoring tasks. The computing task for multi-axis control is executed by the computing unit, while the task processing unit monitors the multi-axis status in real time and forwards instructions. This avoids a single processor simultaneously handling both computing and monitoring tasks, allowing the computing unit to efficiently complete path planning and reducing delays caused by insufficient computing power or task congestion. Simultaneously, the task processing unit can collect initial state information of the multi-axis in real time and synchronize it to the computing unit. This ensures that the computing unit can generate control instructions based on the latest status, drive the control unit to execute the instructions, and provide immediate feedback on the execution status, forming a dynamic adjustment mechanism. This allows multi-axis motion to be collaboratively calibrated based on real-time status, thereby reducing synchronization errors and improving machining accuracy.
[0066] Figure 3 This is a schematic diagram of another multi-axis control system provided in an embodiment of this application. Please refer to... Figure 3 Based on the above embodiments, the heterogeneous processor also includes a scheduling unit, and the communication unit includes multiple communication modules, including a USB communication module, an Ethernet communication module, and a CANFD communication module.
[0067] The USB communication module has a theoretical bandwidth of 5Gbps, supporting high-speed data transmission.
[0068] The Ethernet communication module supports 1000Mbps bandwidth for multi-axis control command transmission.
[0069] The CANFD communication module has a baud rate of 20 Mbps and supports 64-byte data frames, which can improve data throughput. The CANFD communication module is the CANFD-based transceiver chip mentioned in the above embodiments.
[0070] The scheduling unit can allocate tasks between the computing unit and the task processing unit. The scheduling unit can connect to the computing unit via a USB or Ethernet communication module, and to the task processing unit via a CANFD communication module.
[0071] In this embodiment, the communication unit operates in parallel through three buses: a USB communication module, an Ethernet communication module, and a CANFD communication module, forming a triple-redundant communication link. This improves bandwidth, increases communication reliability, and supports the real-time control requirements of 128 axes.
[0072] Please see Figure 3 The computing unit also includes a motion planning unit and a multi-axis control unit. The motion planning unit and the multi-axis control unit can be connected through a Hardware Abstraction Layer (HAL). The HAL is an intermediate adaptation layer that can shield hardware differences and provide a unified interface.
[0073] The motion planning unit can determine the preset motion trajectory of each axis based on the initial state information and task instructions. The task instructions are user-input commands to control the motion of multiple axes.
[0074] The motion planning unit can be supported by a computer numerical control (CNC) control system, which may include an interactive interface through which users can upload task instructions.
[0075] For example, task instructions can be Figure 1 Print task instructions in application scenarios.
[0076] The preset motion trajectory can be the theoretical motion trajectory of each axis linkage.
[0077] The multi-axis control unit can perform interpolation processing on the motion of each axis based on the current position and preset motion trajectory of each axis to obtain control commands.
[0078] Interpolation calculations can be performed by a multi-axis control unit to determine the precise position (X / Y / Z axis coordinates), velocity, and acceleration of each axis within each tiny time interval (e.g., 10μs), serving as the reference command for motor motion.
[0079] Control commands can include reference commands for each axis.
[0080] In this embodiment, the computing unit may include a motion planning unit and a multi-axis control unit. The motion planning unit can determine a preset motion trajectory based on the current position of each axis. The multi-axis control unit can perform real-time interpolation calculations and dynamically adjust the speed or acceleration command for the next time interval based on the deviation between the current position and the theoretical position of each axis. This can improve machining accuracy.
[0081] For example, the deviation between the current position and the theoretical position of each axis can be due to the lag in actual position caused by load changes.
[0082] The motion planning unit is also used to reset the system if it does not receive initial state information within a preset period.
[0083] The task processing unit is configured with multiple real-time tasks and their corresponding priorities. Among the multiple real-time tasks are multi-axis motion interpolation tasks, with the motion interpolation task having the highest priority.
[0084] Multiple real-time tasks can also include reading sensor data, parsing control commands on the CANFD bus, generating motor drive signals, status monitoring, motion interpolation, and other tasks.
[0085] The task processing unit will prioritize executing real-time tasks with higher priority.
[0086] When multiple tasks need to be executed simultaneously, the task processing unit only runs the highest priority task; after the high-priority task is completed, the lower-priority tasks are executed. This ensures that the most urgent tasks are not delayed. For example, the motor emergency stop command is a high-priority task that must be executed immediately and cannot be delayed by low-priority data logging.
[0087] For example, the task processing unit has a total of 32 real-time tasks, each with a priority level of 1-99, where 99 is the highest priority and 1 is the lowest priority. Among the 32 real-time tasks is a motion interpolation task with a priority of 99.
[0088] In this embodiment, the priority division of each real-time task can ensure that tasks of different urgency levels are executed in an orderly manner. At the same time, setting the priority of the motion interpolation task to the highest can ensure that the core control logic of the motion interpolation task is not disturbed, and can reduce the interruption delay of multi-axis control.
[0089] Please participate Figure 3 The task processing unit also includes a protocol stack management unit and a time synchronization engine.
[0090] The protocol stack management unit can send control commands to the drive control unit, send synchronization frames to the time synchronization engine, and provide feedback on the protocol stack status to the motion planning unit.
[0091] The CANopen_FD protocol is an upgraded version of the CANopen protocol. Based on CAN FD (Flexible Data rate) technology, it can provide higher data transmission rates and larger data capacity.
[0092] The scheduling unit can communicate with the protocol stack management unit based on CAN FD.
[0093] In a CANopen FD network, network management adopts a master-slave structure, in which there is a device called the Network Management (NMT) master device, which is responsible for managing and controlling other devices (called NMT slave devices).
[0094] The protocol stack management unit is the NMT master device, and the drive control unit is the NMT slave device. The protocol stack management unit controls the state transition of the drive control unit by sending control commands (such as start, stop, reset, etc.), and the drive control unit performs corresponding state changes according to these commands.
[0095] The protocol stack management unit can also periodically send synchronization frames, which carry the current clock counter value of the protocol stack management unit (equivalent to the current time of the protocol stack management unit).
[0096] The time synchronization engine can obtain the clock signal of the scheduling unit through SYSCLK (system clock).
[0097] The time synchronization engine can perform time synchronization processing on the arithmetic unit and the protocol stack management unit based on the synchronization frame, and send synchronization signals to the arithmetic unit and the protocol stack management unit respectively.
[0098] Specifically, the time synchronization engine includes a hardware layer and a software layer. The hardware layer can be used to mark the synchronization frame with the master station timestamp; the software layer is used to perform time synchronization processing on the computing unit and the protocol stack management unit according to the master station timestamp of the synchronization frame, determine the global timestamp, and generate a synchronization signal based on the global timestamp.
[0099] The hardware layer can be a dedicated clock synchronization chip that supports the IEEE 1588 protocol, which can perform high-precision timestamps on 1588v2 PTP (Precision Time Protocol) messages transmitted in the network.
[0100] IEEE 1588 is an industrial-grade time synchronization protocol (PTP protocol). The transparent clock (TC) does not directly participate in master-slave clock negotiation. Instead, when a PTP message passes through, it automatically calculates the transmission delay of the message within the device (such as the time it takes for the message to go from entering the hardware layer to leaving) and writes this delay value into the message. This ensures that the protocol stack management unit and the computing unit can accurately calculate the actual transmission time and avoid the delay of intermediate devices from affecting the synchronization accuracy.
[0101] The synchronization frame can be either SYNC0 or SYNC1.
[0102] The SYNC0 frame (1Hz, i.e., once per second) transmits a coarse time reference for the protocol stack management unit, used for long-term clock calibration (to prevent clock drift accumulation).
[0103] The SYNC1 frame (1kHz, i.e., 1000 times per second) is used to transmit the real-time clock counter value of the protocol stack management unit at a high frequency (i.e., the current time accurate to the nanosecond level) for short-term high-precision synchronization.
[0104] After receiving the synchronization frame, the processing unit determines the deviation between the master station timestamp and the current timestamp (for example, the master station displays 10000ns, the slave station displays 10050ns, and the deviation is +50ns); then it determines the timestamp compensation amount through the PID algorithm (for example, making the local clock "slow down" by 50ns, or gradually adjusting to catch up with the master station); and then writes the compensated global timestamp into the global time register.
[0105] The global time register is the standard time source for the arithmetic unit. All control instructions are based on this register, which ensures that multi-axis movements are executed based on the same point in time.
[0106] The heterogeneous processor also includes a neural network processing unit, which is connected to the computing unit and may include multiple computing models.
[0107] A Neural Processing Unit (NPU) is a hardware chip designed for artificial intelligence (AI) tasks, such as image recognition, voice wake-up, and natural language processing.
[0108] Each computational model can determine the motion control parameters in its corresponding multi-axis control, and each computational model has its corresponding operating accuracy.
[0109] The execution precision indicates the storage and computational precision format of the data in the computational model, and can be INT4, INT8, INT16, FP16, etc. Among them, INT4 can store data using 4 binary bits, offering the lowest precision, least memory usage, fastest computation, and lowest power consumption. FP16 can store data using 16-bit floating-point numbers, offering the highest precision but also the highest memory / power consumption.
[0110] Neural network processing units can use different precision calculations for different parts of the model in the same task, and can flexibly choose between high and low precision calculations according to task requirements.
[0111] Motion control parameters may include dynamic speed correction parameters, path smoothing compensation parameters, and adaptive load parameters.
[0112] Based on real-time changes in printing material, nozzle temperature, and layer height, the system can predict the optimal feed rate using a corresponding computational model, thereby determining dynamic speed correction parameters. For example, when material accumulation is detected near the nozzle, the neural network processing unit can quickly determine a temporary deceleration coefficient (e.g., reducing it from 50 mm / s to 30 mm / s) to avoid over-extrusion.
[0113] For mechanical vibrations or inertial errors in multi-axis linkages (such as X / Y axis circular motion and Z-axis layer height switching), the neural network processing unit can determine path smoothing compensation parameters through a lightweight neural network. For example, at high-speed corners, based on a preset vibration model, the advance deceleration and lag acceleration amounts of the X / Y axes are determined to reduce corner burrs on printed objects.
[0114] By combining motor current feedback and temperature sensor data, the neural network processing unit can quickly determine adaptive load parameters to dynamically adjust drive parameters.
[0115] In this application, the neural network processing unit can significantly reduce the latency of parameter calculation in multi-axis control and improve real-time response capabilities. The neural network processing unit can use different precision calculations for different parts of the model, and reduce unnecessary power consumption through low-precision calculations such as INT4.
[0116] Please see Figure 3 The drive control unit may include a driver, a controller, and multiple motor drive chips. The controller is connected to the driver and each motor drive chip, and the driver is also connected to the task processing unit.
[0117] The driver can be a motor driver. The driver can communicate bidirectionally with the protocol stack management unit in the task processing unit, receive control commands sent by the task processing unit, and report the motor status of each axis back to the task processing unit.
[0118] The controller can receive control commands sent by the driver and send motor commands to each motor driver chip according to the control commands.
[0119] Motor commands are used to instruct the motor to rotate, thereby driving the corresponding shaft to move.
[0120] The controller can connect to each axis via a high-speed synchronous serial (SPI) bus, which can include SPI_MOSI (master transmit, slave receive), SPI_MISO (master receive, slave transmit), and SPI_SCK (synchronous clock).
[0121] The motor drive chip can determine the rotation of the motor on the corresponding shaft based on the motor command.
[0122] In this application, the drive control unit can break down the control process into driver, controller and motor drive chip control of each axis movement, which also reduces the impact of failure of one module on other modules and can improve the reliability of multi-axis control.
[0123] The driver and the task processing unit send control commands through the process data object (PDO) mapping table, which enables efficient transmission of control commands.
[0124] As a structured carrier of communication data, the PDO mapping table can contain multiple control commands, possessing high-capacity mapping capabilities to meet the transmission requirements of a large number of concurrent commands in multi-axis control scenarios. For example, a PDO mapping table can support 16-64 mapping objects, with a single PDO carrying a 64-byte payload.
[0125] The PDO mapping table can be reconstructed online, allowing for real-time modification and reconstruction of its contents (such as instruction type, data length, and number of mapped objects) during system operation without requiring a system restart or interruption of the communication link, thus ensuring the continuity of multi-axis control tasks.
[0126] PDO mapping tables can also support mixed packet transmission of data types of different lengths, such as 16-bit, 32-bit, and 64-bit. By reducing redundant bytes through a compact data frame structure, data throughput can be increased by up to 300% compared to traditional fixed-length data transmission methods.
[0127] The PD-based communication mechanism employs a priority scheduling strategy to ensure that critical control commands (such as emergency stop and fault reset) can still be transmitted with priority under high load conditions, meeting the stringent real-time requirements of multi-axis control.
[0128] Figure 4 This is an interactive schematic diagram of a multi-axis control system provided in an embodiment of this application. Please refer to... Figure 4 It includes a scheduling unit, motion planning unit, HAL layer, multi-axis control unit, protocol stack management unit, time synchronization engine and driver.
[0129] The scheduling unit can perform HAL layer hardware initialization operations and request real-time task priorities from the HAL layer to ensure that tasks with high real-time requirements, such as multi-axis control, are executed first, thus ensuring the timely response of the system.
[0130] The motion planning unit can register multi-axis control callback functions with the HAL layer. In subsequent multi-axis control processes, when specific conditions are met, the corresponding multi-axis control logic can be triggered through these callback functions. The scheduling unit can initiate the PDO mapping configuration process, which is then passed to the protocol stack management unit.
[0131] The protocol stack management unit can perform master station initialization, configure PDO mapping parameters, and send PDO mapping parameter configuration commands to the driver. After configuration is complete, the driver will return a PDO configuration status message to provide feedback on whether the PDO configuration was successful.
[0132] The protocol stack management unit can inject the system clock into the time synchronization engine, providing a time reference for clock synchronization. Upon receiving the system clock, the time synchronization engine initiates the clock synchronization process. After initiating clock synchronization, the time synchronization engine outputs synchronization pulses to trigger the synchronization actions of units such as multi-axis control. Simultaneously, the time synchronization engine sends the synchronization deviation back to the protocol stack management unit block to monitor and adjust the clock synchronization accuracy, ensuring the time synchronization of operations such as multi-axis control.
[0133] This application embodiment also provides a 3D printing device, which includes any of the multi-axis control systems described in the above embodiments, multiple axes, and motors corresponding to each axis; the multi-axis control system controls the motors corresponding to each axis to move each axis to the target position to obtain the printed object.
[0134] Figure 5 This is a schematic diagram of the architecture of a multi-axis control system provided in an embodiment of this application. Please refer to... Figure 5 The system can import printable objects, calculate normal vectors, perform angle compensation, path planning, and issue control commands. In model import, Standard Triangulation Language (STL) format is a commonly used 3D model file format that contains triangular facet information of the 3D object's surface. Printable objects requiring processing or motion control can be imported into the system using STL format.
[0135] In normal vector calculation, the normal vectors of the triangular facets on the surface of a 3D model can be calculated using the NPU. The normal vector is a vector perpendicular to the triangular facet and can be used to determine the orientation of the model's surface, lighting rendering, and subsequent angle compensation.
[0136] In angle compensation, the NPU can be used to perform angle compensation calculations based on the normal vector. The purpose of angle compensation is to adjust the angle parameters of motion control according to the orientation of the model surface, so that the subsequent motion path planning can better fit the actual shape of the model and ensure the accuracy of motion control.
[0137] In path planning, the computation unit is responsible for planning the motion path based on the model information after normal vector calculation and angle compensation. In control command issuance, the task processing unit converts the planned motion path into specific control commands and issues them to the drive control unit. The drive control unit then drives the actuators to perform corresponding movements according to the commands, thereby realizing tasks such as processing and manipulating the 3D model.
[0138] It should also be noted that 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 process, method, article, or apparatus. Unless otherwise specified, 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 that element.
[0139] The above provides a detailed description of an anomaly detection circuit provided in this application. Specific examples have been used to illustrate the principles and implementation methods of this application. The descriptions of the embodiments above are merely for the purpose of helping to understand the method and core ideas of this application. It should be noted that those skilled in the art can make various improvements and modifications to this application without departing from its principles, and these improvements and modifications also fall within the protection scope of the claims of this application.
Claims
1. A multi-axis control system, characterized in that, The system includes a heterogeneous processor, a communication unit, and a drive control unit. The heterogeneous processor includes a computing unit and a task processing unit. The computing unit is connected to the task processing unit, and the task processing unit is connected to the drive control unit via the communication unit. The drive control unit is connected to multiple axes. The task processing unit is used to monitor the initial state information of the multi-axis and send the initial state information to the computing unit through the communication unit. The computing unit is used to execute a computing task for multi-axis control based on the initial state information, generate control instructions for the multi-axis, and feed back the control instructions to the task processing unit through the communication unit. The drive control unit is used to drive the multi-axis to execute the control commands sent by the task processing unit, and to feed back the current status information of the multi-axis after executing the control commands to the task processing unit. Wherein, after receiving the current status information fed back by the drive control unit, the task processing unit determines the current status information as the initial status information of the multi-axis, regenerates new control commands, and forms a closed loop for multi-axis control. The drive control unit includes a driver, and the driver sends control commands to the task processing unit through a process data object (PDO) mapping table. The PDO mapping table includes multiple control commands and supports online reconfiguration. The contents of the PDO mapping table can be modified and reconfigured in real time during system operation without restarting the system or interrupting the communication link. The PDO mapping table supports mixed packet transmission of data types of different lengths and adopts a priority scheduling strategy to ensure that critical control commands are transmitted first under high load conditions. The heterogeneous processor also includes a time synchronization engine that coordinates hardware and software layers. The time synchronization engine marks the synchronization frame with a master station timestamp through hardware, and performs global time synchronization between the computing unit and the drive control unit based on the master station timestamp to generate a unified global timestamp to ensure multi-axis motion synchronization.
2. The system according to claim 1, characterized in that, The heterogeneous processor further includes a scheduling unit, and the communication unit includes multiple communication modules, including a USB communication module, an Ethernet communication module, and an improved bus CANFD communication module. The scheduling unit is connected to the computing unit via the USB communication module or the Ethernet communication module, and the scheduling unit is connected to the task processing unit via the CANFD communication module; The scheduling unit is used to allocate tasks between the computing unit and the task processing unit.
3. The system according to claim 2, characterized in that, The computing unit further includes a motion planning unit and a multi-axis control unit, wherein... The motion planning unit is used to determine the preset motion trajectory of each axis based on the initial state information and the task instruction, wherein the task instruction is a user-input instruction to control the multi-axis motion. The multi-axis control unit is used to perform interpolation processing on the motion of each axis according to the current position and preset motion trajectory of each axis, so as to obtain the control command.
4. The system according to claim 2, characterized in that, The task processing unit is configured with multiple real-time tasks and a priority for each real-time task. Among the multiple real-time tasks is a multi-axis motion interpolation task, and the motion interpolation task has the highest priority.
5. The system according to claim 4, characterized in that, The task processing unit also includes a protocol stack management unit and a time synchronization engine, wherein... The protocol stack management unit is used to send the control command to the drive control unit and to send the synchronization frame to the time synchronization engine; The time synchronization engine is used to perform time synchronization processing on the computing unit and the protocol stack management unit according to the synchronization frame, and send synchronization signals to the computing unit and the protocol stack management unit respectively.
6. The system according to claim 1, characterized in that, The heterogeneous processor further includes a neural network processing unit connected to the computing unit. The neural network processing unit includes multiple computational models, wherein... The computational model is used to determine the motion control parameters in the corresponding multi-axis control, including dynamic speed correction parameters, path smoothing compensation parameters, and adaptive load parameters.
7. The system according to claim 1, characterized in that, The drive control unit further includes a controller and multiple motor drive chips. The controller is connected to the driver and each motor drive chip, respectively. The driver is also connected to the task processing unit. The driver is used to receive control commands sent by the task processing unit and to feed back the motor status of each axis to the task processing unit. The controller is used to receive control commands sent by the driver, and send motor commands to each motor driver chip according to the control commands. The motor drive chip is used to determine the motor rotation of its corresponding axis according to the motor command.
8. A 3D printing device, characterized in that, The 3D printing equipment includes a multi-axis control system as described in any one of claims 1-7, multiple axes, and motors corresponding to each axis; the multi-axis control system controls the motors corresponding to each axis to move each axis to the target position to obtain the printed object.