Dual servo driver and method thereof
Through the integrated dual-servo drive architecture and adaptive synchronous closed-loop control, the problems of hardware redundancy and communication bottlenecks in the existing technology are solved, high-precision, low-cost dual-axis synchronous control is achieved, and the processing accuracy and operation stability of high-end equipment are improved.
Patent Information
- Application Number
- CN202510988777.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-07-17
- Publication Date
- 2025-10-17
AI Technical Summary
Existing dual-axis synchronization control solutions have problems such as high hardware cost, structural redundancy, complex wiring, and insufficient synchronization accuracy and dynamic response due to long communication links. They are unable to meet the high-precision synchronization requirements in high-end equipment manufacturing.
It adopts an integrated dual-servo drive architecture, including a public communication module, a public rectifier and inverter processing module, and a power storage module. It realizes synchronous control through an internal high-speed communication link, abandons the traditional indirect coordination mode that relies on the host computer, and uses adaptive synchronous closed-loop control to achieve high-precision synchronization.
It significantly reduces hardware cost and volume, simplifies electrical connections, improves synchronization accuracy and dynamic response capabilities, ensures synchronization accuracy of less than 0.01mm under high-speed movement, improves processing accuracy and operation smoothness, and realizes energy recovery.
Smart Images

Figure CN120802756A_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the field of industrial automation control, and more particularly, to a dual servo drive and method thereof. BACKGROUND
[0002] In the modern industrial automation process, high-end equipment such as numerical control machine tools, gantry robots, and multi-joint mechanical arms are closely related to the performance indicators and high-precision collaborative control capabilities between multiple motion axes. These application scenarios often require two or more motors to maintain strict position, speed, or torque synchronization during high-speed motion to ensure processing precision, trajectory accuracy, and smoothness of equipment operation. For example, in a large gantry machining center, two servo motors on both sides of the cross beam must drive the gantry to move synchronously with micron-level synchronization accuracy. Any slight asynchronization can cause stress deformation of the mechanical structure, and even damage the workpiece and equipment. Therefore, developing a servo drive technology that can achieve high-precision dual-axis synchronization is of great significance to improving the core competitiveness of China's high-end equipment manufacturing industry.
[0003] To meet the control requirements of the above-mentioned dual-axis synchronization, the existing technology usually adopts a discrete control scheme composed of multiple independent single-axis servo drives. In this scheme, each servo motor is independently driven by a single-axis servo drive with complete functions, and the synchronization coordination task between axes is completely entrusted to the central controller (such as PLC) of the upper level. However, this traditional scheme based on multiple independent units has several inherent technical defects.
[0004] Firstly, at the hardware level, since each drive contains an independent rectifier-inverter unit, control circuit, and shell, the hardware cost of the entire drive system is high, and the overall volume is large, which not only occupies valuable electrical cabinet space, but also makes the power supply and control wiring extremely complex, increasing the difficulty of installation and later maintenance. More importantly, in terms of synchronization control performance, the precision of this scheme is severely restricted by the communication architecture. The upper computer needs to communicate with each drive to issue instructions and read states, and the closed-loop path of the entire synchronization control is long and the response delay is large. Two drives cannot directly and quickly exchange states, and any instantaneous synchronization error caused by load disturbance or mechanical difference must be compensated after being relayed and calculated by the upper computer. This indirect coordination mechanism makes it difficult for the system to meet the increasingly stringent industrial application requirements in terms of dynamic response speed and synchronization accuracy, especially in high-speed and high-dynamic application scenarios, where synchronization errors are difficult to be effectively and quickly converged.
[0005] Therefore, there is an urgent need in the market for a new dual servo drive control scheme that is more compact in structure, more cost-effective, and has superior synchronization performance. SUMMARY
[0006] To overcome the limitations of the prior art, according to an aspect of the present application, a dual servo driver and a method thereof are provided, which comprises a first servo control module, a second servo control module, a common communication module, a common rectification-inversion processing module and a power storage module;
[0007] The common communication module establishes a communicable connection with the host computer through a first communication link;
[0008] The first servo control module and the second servo control module are communicably connected through a second communication link;
[0009] The common rectification-inversion processing module is used to receive instructions from the first servo control module and the second servo control module, and provide driving power for the first motor and the second motor;
[0010] The power storage module is used to provide working power for the first servo control module, the second servo control module and the common communication module.
[0011] According to another aspect of the present application, a method of a dual servo driver is also provided, which is characterized by comprising the steps of:
[0012] After the main power is turned on, the power storage module provides working voltage for the first servo control module, the second servo control module and the common communication module;
[0013] The common communication module starts the CANopen communication network, wherein the first servo control module and the second servo control module report to the CANopen master station as CANopen slave stations, and the CANopen master station broadcasts the SYNC synchronization message at a fixed high frequency cycle;
[0014] The host computer synchronizes and calibrates the motion parameters of the first servo control module and the second servo control module through the common communication module;
[0015] The host computer issues macro motion instructions to the common communication module, and the common communication module analyzes the received macro motion instructions to obtain a first main target initial instruction corresponding to the first axis and a second main target initial instruction corresponding to the second axis;
[0016] The synchronization error between the first axis and the second axis is calculated, and the first compensation instruction and the second compensation instruction are generated based on the synchronization error;
[0017] The first main target initial instruction and the second main target initial instruction are superimposed with the first compensation instruction and the second compensation instruction respectively to obtain a first main target instruction and a second main target instruction;
[0018] The first servo control module and the second servo control module execute the first main target instruction and the second main target instruction respectively.
[0019] Compared with the prior art, the double servo driver and the method thereof provided by the application overcome the technical defects of high hardware cost, redundant structure, complex wiring and insufficient synchronization accuracy and dynamic response caused by long communication link in the double-axis synchronous control scheme of the prior art.
[0020] Specifically, according to the double servo driver and the method thereof provided by the application, an integrated common platform is constructed at the hardware level, the platform includes a common communication module as a hub for internal and external information interaction, a common rectifier-inverter processing module as a shared power heart of two motors, and a power storage module for realizing intensive power supply and energy recovery.
[0021] In this architecture, two functional clear communication links are established: one is an external management link connecting the common communication module and the upper computer, and the other is an internal coordination link specially used for direct data exchange between the first servo control module and the second servo control module based on a high-speed real-time bus (specifically, CANopen protocol). This innovative hardware and communication architecture fundamentally solves the problems of hardware stacking and communication bottleneck in the traditional discrete scheme. At the control method level, the concept of the application discards the traditional mode of relying on the upper computer for indirect coordination, and instead uses the high-speed coordination link inside the driver to realize an active and adaptive synchronous closed-loop control.
[0022] Specifically, according to the double servo driver provided by the application, the core functional units of the two servo drivers are integrated onto the common platform, which greatly reduces hardware redundancy, makes the device more compact and less expensive, and greatly simplifies the electrical connection and installation and debugging of the system. Secondly, by establishing an internal high-speed communication link and a matching adaptive control method, the original long-delay external synchronization ring relying on the upper computer is changed to a low-delay built-in synchronization ring inside the driver. The internal loop can discover and actively compensate for synchronization errors in real time at a very high frequency, ensuring that the two motors can still maintain high-precision synchronization of less than 0.01 mm level under high-speed and high-dynamic conditions, thereby significantly improving the machining precision and running stability.
[0023] In addition, the combination of the common rectifier-inverter processing module and the power storage module enables the regenerative energy generated by the motor during deceleration or braking to be effectively recovered and reused, reducing the overall energy consumption of the system and realizing green and energy-saving operation. BRIEF DESCRIPTION OF DRAWINGS
[0024] The above and other objects, features and advantages of the present application will become more apparent from the following detailed description thereof taken in conjunction with the accompanying drawings, in which:
[0025] Figure 1 Block diagram of a dual servo drive according to embodiments of the present application.
[0026] Figure 2 Physical diagram of a dual servo drive according to embodiments of the present application.
[0027] Figure 3 Circuit topology diagram of a dual servo drive according to embodiments of the present application.
[0028] Figure 4 Flowchart of a method of a dual servo drive according to embodiments of the present application. DETAILED DESCRIPTION
[0029] Embodiments of the present disclosure will be described more fully hereinafter with reference to the accompanying drawings, in which some, but not all embodiments of the present disclosure are shown. Like numbers refer to like elements throughout. The present disclosure may, however, be embodied in many different forms and should not be construed as limited to the embodiments set forth herein. Rather, these embodiments are provided so that this disclosure will be thorough and complete, and fully convey the scope of the present disclosure to those skilled in the art.
[0030] Embodiment 1
[0031] In view of the technical defects disclosed in the background art, the present application proposes a dual servo drive and a method thereof. Figure 1 Block diagram of a dual servo drive according to embodiments of the present application. Figure 2 Physical diagram of a dual servo drive according to embodiments of the present application. Figure 3 Circuit topology diagram of a dual servo drive according to embodiments of the present application.
[0032] As Figures 1 to 3As shown, the dual servo driver according to the embodiment of the present application comprises a first servo control module 200, a second servo control module 300, a common communication module 100, a common rectification-inversion processing module 400 and a power storage module 500. The common communication module 100 is communicatively connected with the upper computer through a first communication link. The first servo control module 200 and the second servo control module 300 are communicatively connected through a second communication link. The common rectification-inversion processing module 400 is configured to receive instructions from the first servo control module 200 and the second servo control module 300 and provide driving power for the first motor and the second motor. The power storage module 500 is configured to provide working power for the first servo control module 200, the second servo control module 300 and the common communication module 100. That is, the dual servo driver is highly integrated in overall structure and comprises five core functional components, i.e., the first servo control module 200, the second servo control module 300, the common communication module 100, the common rectification-inversion processing module 400 and the power storage module 500. The five modules are physically integrated in a unified casing and work cooperatively through internal electrical connection and communication bus to form a complete dual servo driver.
[0033] Specifically, the common communication module 100 is the information interaction hub of the entire driver and undertakes the dual functions of internal coordination and external liaison. On the one hand, the common communication module 100 is communicatively connected with the external upper computer (such as industrial PLC or motion controller) through a first communication link. The link is responsible for receiving macro task instructions from the upper computer, such as starting, stopping, target position, movement speed, etc., and feeding back the overall running state of the driver, fault alarm information and energy consumption data to the upper computer, thereby realizing seamless integration between the driver and the factory automation control system. On the other hand, it is responsible for establishing and managing a second communication link inside the driver to connect the first servo control module 200 and the second servo control module 300, forming a high-speed and direct data exchange channel between them. In a preferred embodiment, to ensure the real-time and determinacy of inter-axis coordination, the second communication link is based on the mature CANopen protocol in the field of industrial control for real-time communication. This provides a bottom-layer communication guarantee for high-precision synchronous control between the two axes.
[0034] The first servo control module 200 and the second servo control module 300 are independent control cores respectively dedicated to driving the first motor and the second motor. Each servo control module may, for example, adopt a GD32E103RBT6 microprocessor of GigaDevice as a master control chip and run an embedded real-time operating system (such as FreeRTOS) to ensure real-time scheduling of multiple tasks. They independently execute closed-loop control algorithms of position loop, speed loop and current loop. Their functions include: collecting high-resolution real-time position and speed feedback information from the connected motor encoder; receiving target instructions from the public communication module 100; and calculating accurate torque instructions required for driving the motor and sending the instructions to the public power unit.
[0035] The public rectification and inversion processing module 400 is one of the key features that distinguishes the present driver from the traditional split scheme, and it constitutes a shared power source for the two motors. The function of this module is to receive torque instructions from the first servo control module 200 and the second servo control module 300, and to accurately rectify and invert the input power grid power accordingly, ultimately providing the required variable frequency and variable voltage three-phase driving power for the first motor and the second motor synchronously. Since the two-way inversion unit shares the same DC bus, not only does it simplify the circuit design and reduce hardware costs, but it also creates conditions for energy exchange between the motors. In a specific working process of the present application, the public rectification and inversion processing module 400 also plays the role of energy recovery, which can capture the regenerative energy generated by the motor during deceleration or braking, avoiding its dissipation in the form of heat energy.
[0036] The power storage module 500 provides the energy basis for the stable operation of the entire driver. First, it converts the external input power into the stable low-voltage working power required by the internal electronic circuits of the driver, and specially provides working power for the three core control and communication units of the first servo control module 200, the second servo control module 300 and the public communication module 100. Second, it is tightly coupled with the DC bus of the public rectification and inversion processing module 400, used for storing and stabilizing the DC bus voltage, and as a buffer and storage unit for the above-mentioned motor regenerative energy. When the motor needs to accelerate again, the energy captured and stored in the power storage module 500 will be used preferentially, thereby effectively reducing the overall power consumption of the system.
[0037] The five modules work together, and their working process embodies a set of precise methods from receiving instructions to high-precision synchronous execution. After the system is connected to the main power supply, the power supply storage module 500 first provides stable working voltage for the first servo control module 200, the second servo control module 300 and the public communication module 100, and starts the embedded system in each module. Then, the public communication module 100 starts the CANopen communication network inside, at this time the first servo control module 200 and the second servo control module 300 as CANopen slave nodes register with the CANopen master station (usually by the logic in the public communication module 100) in the network. After the network is successfully established, the CANopen master station starts to broadcast a SYNC synchronization message to the bus at a fixed high frequency period (for example, once every millisecond), which provides a unified, high-precision time reference or "heartbeat" signal for the entire dual-axis synchronous system. Before formal movement, the host computer will synchronize and calibrate the first servo control module 200 and the second servo control module 300 through the public communication module 100 before movement, to ensure that the initial states such as control gain and motion characteristics of the two are completely consistent.
[0038] When the host computer issues a macro motion instruction through the public communication module 100, the cooperative work process enters the core stage. The public communication module 100 first analyzes the instruction and decomposes it into a first main target initial instruction corresponding to the first axis and a second main target initial instruction corresponding to the second axis, usually the two initial instructions have the same target position and target speed. Then, the synchronous control algorithm inside the driver starts to run, and in each control period triggered by the SYNC message, the system will calculate the real-time synchronization error between the first axis and the second axis.
[0039] The calculation process is as follows: upon receiving the SYNC message, the first servo control module 200 and the second servo control module 300 accurately read the current first-axis real-time position data and the second-axis real-time position data from the respective motor encoders at almost the same time; then, the algorithm immediately calculates the difference between the two to obtain the synchronization error, i.e., synchronization error = first-axis real-time position data - second-axis real-time position data. Based on this accurately calculated synchronization error, the control algorithm dynamically generates the first compensation instruction and the second compensation instruction for correction. Finally, the system linearly superimposes the two compensation instructions on the first master target initial instruction and the second master target initial instruction respectively, thus generating the final first master target instruction and the final second master target instruction with real-time error correction. The two final instructions containing fine-tuning information are received and executed by the first servo control module 200 and the second servo control module 300 at almost the same time, driving the common rectification-inversion processing module 400 to accurately and differentially adjust the outputs of the two motors, thereby canceling out the detected synchronization error in a very short time. This closed-loop process of "detection - calculation - compensation - execution" is repeated in each SYNC cycle until the motion task is completed, finally ensuring the high synchronization of the dual-axis motion.
[0040] Embodiment 2
[0041] Figure 4 A flowchart of the method of the dual servo driver according to the embodiment of the present application. According to another aspect of the present application, a method of a dual servo driver is also provided, which comprises the following steps: S110: after the main power is turned on, the power storage module provides working voltage for the first servo control module, the second servo control module and the common communication module; S120: the common communication module starts the internal CANopen communication network, wherein the first servo control module and the second servo control module report to the CANopen master station as CANopen slave stations, and the CANopen master station broadcasts the SYNC message at a fixed high frequency cycle; S130: the upper computer synchronizes and calibrates the motion parameters of the first servo control module and the second servo control module through the common communication module; S140: the upper computer issues a macro motion instruction to the common communication module, and the common communication module analyzes the received macro motion instruction to obtain the first master target initial instruction corresponding to the first axis and the second master target initial instruction corresponding to the second axis; S150: the synchronization error between the first axis and the second axis is calculated, and the first compensation instruction and the second compensation instruction are generated based on the synchronization error; S160: the first master target initial instruction and the second master target initial instruction are superimposed with the first compensation instruction and the second compensation instruction respectively to obtain the first master target instruction and the second master target instruction; and S170: the first servo control module and the second servo control module execute the first master target instruction and the second master target instruction respectively.
[0042] In the step S110, after the main power supply is turned on, the power storage module provides working voltage for the first servo control module, the second servo control module and the public communication module. The function of the power storage module is to provide a stable and reliable energy basis for the core digital control and communication unit inside the driver. It should be understood that the first servo control module and the second servo control module are respectively responsible for the precise motion control of two motors, and the public communication module is the nerve center connecting the upper computer and the internal double-axis cooperation. These modules are composed of precise electronic components such as microprocessors, memories and communication interfaces which are highly sensitive to power quality. They must be started normally and perform complex calculation and communication tasks at a specific low-voltage DC level (such as 5V or 3.3V) that meets their specification requirements. Therefore, after the driver accesses the main power supply which is usually industrial three-phase alternating current or high-voltage direct current, a special power conversion and management unit must be used to generate the working voltage required by these modules to ensure that they can be safely and reliably awakened and prepared for a series of subsequent complex communication initialization and motion control tasks.
[0043] In the step S120, the public communication module starts the internal CANopen communication network, wherein the first servo control module and the second servo control module report to the CANopen master station as CANopen slave stations, and the CANopen master station broadcasts the SYNC synchronization message at a fixed high-frequency period. That is, after the double servo driver completes the power-on and the preliminary start of the core control unit, it enters the communication network initialization stage. The technical purpose of this step is to establish an internal data exchange channel with high real-time performance and high certainty, thereby laying a foundation for subsequent high-precision synchronous control between the two axes.
[0044] It should be understood that in multi-axis cooperative motion, the biggest technical challenge is how to ensure that the actions of all axes at any time are coordinated. If the upper computer is relied on for arbitration, the long communication link will cause significant delay and uncertainty, making precise synchronization an empty talk. Therefore, the present application conceives a special internal cooperation link. By performing the step S120, the link is started and configured, so that it can not only transmit data, but also provide a unified time reference for the whole network. Through this step, the two originally independent servo control modules will be organized into a master-slave type communication network with predictable behavior, and through the periodic synchronization signal, the motion control cycles of the two modules will be locked on the same beat, which is a prerequisite for achieving sub-millisecond synchronous response and micron-level synchronous accuracy.
[0045] In a specific implementation, after the microprocessors of the first servo control module, the second servo control module and the common communication module have normally started and run their embedded operating systems (such as FreeRTOS), the communication initialization process is automatically initiated by the preset program in the common communication module. First, network initialization and role allocation, the software task responsible for the CANopen protocol stack in the common communication module is activated, which will assume the role of the CANopen master (Master) in the network. It will initialize its internal CAN physical layer transceiver, set the communication baud rate (for example, 1 Mbps), and then start listening to the bus. At the same time, the CANopen protocol stack tasks in the first servo control module and the second servo control module are also activated, which assume the role of CANopen slave (Slave) according to the preset configuration. Next, the slave reports to the network and activates, each slave will send a boot-up message according to the network management (NMT) protocol of CANopen. This report is like a new soldier reporting to the officer, which informs the master: "I am a slave with node ID X, I have started, and I request to enter the network". After the master receives the boot-up messages of the two slaves, it knows that the two control cores are ready, and then the master will switch the states of the two slaves from "pre-operational" to "operational" by sending network management instructions, marking that the entire CANopen communication network is formally activated. Finally, a synchronous clock reference is established. Once the network enters the operational state, the CANopen master starts to execute a high-priority periodic task strictly driven by a hardware timer. The core action of the task is to broadcast a special data frame - SYNC synchronization message to the CAN bus at a fixed high-frequency period (for example, every 1000 microseconds, i.e. 1 millisecond). The sending time of this message is precisely timed, with an error of microseconds, thereby establishing a shared and accurate "heartbeat clock" for all nodes in the entire network, and all subsequent operations sensitive to time will take this SYNC signal as the trigger reference.
[0046] In the step S130, the host computer synchronizes and calibrates the pre-movement parameters of the first servo control module and the second servo control module through the common communication module. That is, once the internal CANopen communication network is successfully activated and the movement control cores of the two axes are ready, the system enters the pre-movement preparation step: the host computer synchronizes and calibrates the pre-movement parameters of the first servo control module and the second servo control module through the common communication module.
[0047] It should be appreciated that, before the motion starts, any possible innate difference between the two servo control loops should be thoroughly eliminated at the level of the control algorithm, so as to lay a solid initial condition for perfect synchronization. Although physically the first motor and the second motor and their accompanying servo assemblies can be products of the same model, small manufacturing tolerances, different load conditions or slight differences in the mechanical transmission chain can all lead to their dynamic response characteristics not being completely consistent. If the two servo control modules are driven with different control parameters (e.g. different PID gains, acceleration / deceleration curves), even if they receive exactly the same target instructions, their final motion performance will inevitably deviate, and this deviation will directly translate into synchronization error. Therefore, the core goal of this step is to ensure that the two independent servo control cores have exactly the same motion behavior pattern before starting the task, so that they can respond highly consistently when facing the same instructions, thereby minimizing the non-synchronization factors at the control algorithm level from the root.
[0048] In a specific implementation, the calibration process is a precise parameter writing procedure initiated by the host computer, relayed and executed via the common communication module. The procedure generally includes the following key steps: First, parameter configuration and delivery. The operator sets the key motion parameters required for this task through the human-machine interface connected to the host computer (such as PLC or industrial PC) or specialized engineering software. According to the user-friendly configuration interface, these parameters may include but are not limited to control loop gain (PID parameters), speed and acceleration limits, torque limit values, following error threshold values, and acceleration and deceleration curve types (such as S-shaped curve) in motion trajectory planning, etc. When the operator confirms the settings, the host computer will package these parameter data into configuration instructions. Second, instruction transmission and protocol conversion. The host computer sends the configuration instructions to the common communication module in the dual servo drive through the first communication link (such as EtherCAT, Profinet, etc. Industrial Ethernet). The common communication module plays a key role as a protocol gateway, receiving instructions from the host computer and converting them into a communication format recognizable by the internal CANopen network. The most critical step is the SDO-based parameter writing one by one. The common communication module, as the CANopen network master station, will initiate a service data object (SDO) write operation for each parameter that needs to be calibrated, for the first servo control module and the second servo control module respectively. For example, to set the acceleration parameter, the master station will first send an SDO write request message to the first servo control module (slave station 1), which will explicitly indicate the address (index and sub-index) of the parameter to be written in the CANopen object dictionary and the specific parameter value; after receiving the confirmation response from slave station 1, the master station will immediately initiate another SDO write request to the second servo control module (slave station 2) with the same parameter value. This process is repeated until all parameters that need to be synchronized have been rewritten to the same value in the memory of the two slave stations. Finally, calibration completion confirmation. When the common communication module completes the write operation on all parameters and receives successful responses from both slave stations, it will report to the host computer through the first communication link that the calibration is complete, and the entire drive system is thus truly ready for motion instructions.
[0049] In the step S140, the host computer issues a macro motion instruction to the common communication module, and the common communication module analyzes the received macro motion instruction to obtain a first main target initial instruction corresponding to the first axis and a second main target initial instruction corresponding to the second axis. That is, after the dual servo driver completes the electrical start of the system, the establishment of the internal communication network, and the synchronization calibration of the motion parameters, it formally enters the stage of waiting and executing the motion task: the host computer issues a macro motion instruction to the common communication module, and the common communication module analyzes the received macro motion instruction to obtain a first main target initial instruction corresponding to the first axis and a second main target initial instruction corresponding to the second axis.
[0050] It can be understood that in a complex automation system, the host computer (such as a PLC or a numerical control system) is responsible for the overall process flow and task logic, and it concerns what the device components should do (for example, move to a certain coordinate point), rather than how to do each step. Therefore, the host computer issues a target-oriented macro motion instruction. The task of this step is to convert this high-level, abstract intention into a bottom-level, executable, time-varying specific instruction set inside the driver. More importantly, by letting the common communication module, a single entity, be responsible for the analysis of the instruction, it can be ensured that the original motion trajectories generated for the two servo axes are derived from the same calculation process and based on the same set of parameters, thereby ensuring that the ideal targets pursued by the two axes are completely consistent in origin, providing a unified and unbiased benchmark for subsequent synchronization error calculation and compensation. This avoids the slight calculation differences that may be brought about by two independent controllers analyzing the instructions separately, which are amplified in high-speed motion and thus destroy the synchronization accuracy.
[0051] In the implementation of this step, first of all, the formulation and sending of instructions. The host computer generates a motion task according to its own program logic (for example, after the CNC system parses the G code). Taking the point motion mode as an example, the host computer will organize a data packet containing key parameters such as target position, motion speed, acceleration, and deceleration. This data packet is packaged into a high-level macro motion instruction, and then sent to the dual servo driver through the first communication link (such as EtherCAT or Profinet bus). Then the receiving and checking of instructions. After the public communication module in the driver receives this data packet, it will first perform basic data checking, such as checking the integrity of the data frame, CRC check code, etc., to ensure that the received content is correct. Then the analysis and trajectory point generation of instructions. The firmware program inside the public communication module will deeply analyze the macro motion instruction. This analysis is not a simple data transmission, but an active motion planning (Motion Planning) process. It will use the built-in trajectory generation algorithm (such as trapezoidal speed curve algorithm or smoother S-shaped speed curve algorithm) to calculate the complete motion trajectory from the current position to the target position in real time according to the received target position, speed, and acceleration / deceleration parameters. This trajectory is a function of time, which can give the ideal position P(t), ideal speed V(t), and ideal acceleration A(t) at any time t. Finally, the generation of the first target initial instruction. The trajectory planner of the public communication module will accurately calculate the ideal target value at this time at the beginning of each control period (corresponding to the SYNC synchronization period of CANopen, for example, every 1 ms) according to the already calculated motion trajectory function. Then it will generate two identical instruction packets, namely the first master target initial instruction and the second master target initial instruction.
[0052] It is worth mentioning that in the technical solution of the present application, the first master target initial instruction and the second master target initial instruction have the same target position and target speed. For example, at the nth millisecond, the contents of the two initial instructions are {target position: P(n_ms), target speed: V(n_ms)}. The reason why these two instructions are called initial instructions is that they represent the motion target in the ideal case without any error, and they will serve as the basis for the synchronization compensation calculation in the next step.
[0053] In the step S150, the synchronization error between the first axis and the second axis is calculated, and the first compensation instruction and the second compensation instruction are generated based on the synchronization error. This step is the core of the present application and is used to realize high-precision synchronization control.
[0054] Here, in order to actively and real-time correct the motion deviation between the two physical transmission shafts inevitably caused by various interference factors. Although in the previous step, it has been ensured that the two servo control modules have received exactly the same initial target instructions, in the real physical world, the characteristics of the two motors and the load cannot be absolutely consistent. The subtle mechanical friction difference, the stiffness difference of the transmission chain, and even the instantaneous change of the load caused by uneven material placement, all of which will cause one shaft to respond faster or slower than the other, resulting in synchronization error. If this error is not handled, it will accumulate over time, eventually leading to serious consequences such as mechanical structure jamming, processing precision out-of-tolerance, etc. Therefore, the implementation of this step is to accurately quantify this instantaneous asynchronization, and dynamically generate a differentiated compensation signal for correction based on this quantified error. The essence is to tailor a small speed correction for the two shafts on the basis of the ideal instruction, thereby actively forcing the entire dual-axis system back to the track of strict synchronization.
[0055] The specific implementation of this step includes the following processes:
[0056] First of all, real-time position data acquisition based on synchronization signal. Specifically, after the CANopen master station broadcasts a SYNC synchronization message, the first servo control module and the second servo control module in the network as the slave station will receive this time reference signal. This signal will serve as an interrupt trigger source or event flag to drive the processors of the first servo control module and the second servo control module to access the motor encoders (usually high-resolution optical encoders) connected to them at almost the same time (within microseconds of error) to read the real-time position data Pos_act_1 of the first shaft and the real-time position data Pos_act_2 of the second shaft. The synchronization of the acquisition action is crucial for accurate error calculation.
[0057] Then, the accurate calculation of synchronization error, the two servo control modules or the master controller located in the common communication module will obtain each other's real-time position data through the internal second communication link (CANopen bus). Subsequently, the system will immediately perform subtraction operation to calculate the position deviation between the two shafts, i.e. synchronization error:
[0058] Synchronization error ε = first shaft real-time position data (Pos_act_1) - second shaft real-time position data (Pos_act_2).
[0059] The synchronization error e is a signed value, whose sign clearly indicates which axis is leading and which axis is lagging, and whose absolute value quantifies the severity of the asynchronization. Finally, there is the compensation command generation based on the error, which is usually based on the principle of a Cross-Coupled Control algorithm. The algorithm generates a first compensation command and a second compensation command based on the just calculated synchronization error e by a pre-defined control law. The two compensation commands can be speed compensation quantities or torque compensation quantities. Taking the speed compensation as an example, its generation logic is usually shown in the following concise formula (where Kp is the compensation gain coefficient, which can be set by the user):
[0060] First compensation speed V_comp_1 = -Kp * e
[0061] Second compensation speed V_comp_2 = +Kp * e
[0062] It is worth mentioning that the first compensation command and the second compensation command are generated in pairs, equal in size and opposite in direction. If the synchronization error e is positive (axis 1 is leading), a compensation speed is generated that slows down axis 1 and speeds up axis 2. Conversely, if e is negative (axis 2 is leading), a compensation is generated that speeds up axis 1 and slows down axis 2. This precise and counteracting compensation adjustment achieves rapid convergence of the error.
[0063] In an application example, the Y1 axis and the Y2 axis of a large gantry device are moving in synchronization. 1) SYNC triggers sampling: At t = 100 ms, the CANopen master station in the driver broadcasts a SYNC message. 2) Real-time position acquisition: The servo control modules of Y1 and Y2 simultaneously read the encoders to obtain the actual position of Y1 Pos_act_1 = 150.05 mm and the actual position of Y2 Pos_act_2 = 149.98 mm. 3) Calculate the synchronization error: The algorithm running on the GD32E103RBT6 processor immediately calculates: e = 150.05 mm - 149.98 mm = +0.07 mm The result shows that the Y1 axis leads the Y2 axis by 0.07 mm. 4) Generate compensation commands: Assuming that the compensation gain Kp is set to 50.0. The algorithm then calculates the speed compensation quantities for the next period:
[0064] V_comp_1 = -50.0 * (+0.07) = -3.5 mm / s
[0065] V_comp_2 = +50.0 * (+0.07) = +3.5 mm / s
[0066] This means that in the next control cycle, the system will try to make the driving speed of Y1 axis 3.5mm / s slower than its original target speed, while making the driving speed of Y2 axis 3.5mm / s faster than its original target speed. Through this series of high-speed sampling-accurate calculation-active compensation loop executed thousands of times per second, the synchronization error of the two axes will be effectively and continuously suppressed within a very small range, and finally achieve a high-precision synchronization performance index of less than 0.01mm.
[0067] In the step S160, the first main target initial instruction and the second main target initial instruction are superimposed with the first compensation instruction and the second compensation instruction respectively to obtain the first main target instruction and the second main target instruction. That is, in the high-speed dynamic synchronization loop, after the system has accurately calculated the instantaneous synchronization error and generated a pair of differential compensation instructions accordingly, the theoretical target needs to be combined with the actual correction immediately to form the final executable driving instruction.
[0068] It should be understood that only the initial instruction can only ensure that the two axes move towards the same ideal target, and only the compensation instruction has the ability to correct the deviation but does not know the overall movement direction. Therefore, the two must be synthesized. The essence of this step is to finally fuse the macro motion command determined by the host computer (reflected in the main target initial instruction) and the micro synchronization correction determined by the internal real-time monitoring (reflected in the compensation instruction). Through this superposition action, the two originally identical ideal target instructions are personalized and fine-tuned to evolve into two final target instructions that are slightly different in value and are specially tailored for the current synchronization state. This makes the actions of the two servo axes in the next moment not only follow the motion planning of the host computer as a whole, but also actively and deliberately eliminate the synchronization deviation between them, thereby implementing the synchronization control from a conceptual idea to a specific executable data level.
[0069] It should be understood that this step is a fast and direct numerical operation process that is executed in each control cycle. This process is logically followed by the generation of the compensation instruction. The specific implementation process is as follows: in the last link, the system has obtained the compensation instructions V_comp_1 and V_comp_2 generated for the first axis and the second axis (taking speed compensation as an example here). At the same time, as described in the previous step, the system also has the first main target initial instruction {Pos_init, Vel_init} and the second main target initial instruction {Pos_init, Vel_init} calculated by the trajectory planner of the common communication module for the current control cycle. The superposition process is to perform a simple addition operation in the software layer, and the specific calculation formula is as follows:
[0070] For the first axis, the final feed-in to the speed target value of the inner speed controller (or position-velocity controller), i.e. the speed component in the first main target command, is calculated as: first main target command speed Vel_final_1 = initial target speed Vel_init + first compensation speed V_comp_1;
[0071] Similarly, for the second axis, the final speed target value, i.e. the speed component in the second main target command, is calculated as: second main target command speed Vel_final_2 = initial target speed Vel_init + second compensation speed V_comp_2.
[0072] It is worth mentioning that if the compensation command is a position compensation amount, the position component is added; if it is a torque compensation amount, it is superimposed on the given value of the current loop, and the principle is the same.
[0073] After the operation is completed, the two obtained Vel_final_1 and Vel_final_2 containing fine corrections and their corresponding position targets constitute the final and complete first main target command and second main target command, which will be immediately passed to the position and speed control loops inside the respective servo control modules as the final execution basis for this control period.
[0074] In a specific application example, assuming that the gantry composed of Y1 and Y2 axes has an initial target speed of Vel_init = 2000.0 mm / s to be executed at t = 100 ms. At this time, due to the detection of Y1 axis leading, the system calculates the speed compensation command V_comp_1 = -3.5 mm / s and V_comp_2 = +3.5 mm / s. Then, in this step, the synchronous control algorithm running on the GD32E103RBT6 processor will perform the following superposition calculation:
[0075] Calculate the final target speed of the first axis:
[0076] Vel_final_1 = 2000.0 mm / s + (-3.5 mm / s) = 1996.5 mm / s
[0077] Calculate the final target speed of the second axis:
[0078] Vel_final_2 = 2000.0 mm / s + (+3.5 mm / s) = 2003.5 mm / s
[0079] After the calculation, the system generates two new master target commands. The final command received by the first servo control module is to run the Y1 axis at 1996.5 mm / s, while the final command received by the second servo control module is to run the Y2 axis at 2003.55 mm / s. It can be seen that although the initial target speed is exactly the same, the final commands reaching the two execution units have a tiny difference of 7 mm / s, which is exactly the difference the system has calculated to make the lagging Y2 axis catch up with the leading Y1 axis.
[0080] In the step S170, the first servo control module and the second servo control module execute the first master target command and the second master target command respectively. That is, the digital commands generated by the previous series of complex communication, calculation and decision-making processes are finally converted into precisely controllable electromagnetic torque on the two physical motors, so as to drive the mechanical system to produce collaborative motion that eliminates synchronization error.
[0081] In specific implementation, the process of the first servo control module and the second servo control module executing the first master target command and the second master target command respectively is the standard execution flow of the classic servo control algorithm (FOC, i.e. field-oriented control algorithm) inside the two servo control modules, which is accurately triggered and quickly completed in each control cycle.
[0082] The detailed execution process can be divided into the following sub-steps. First, the reception and unpacking of the command, the first servo control module and the second servo control module each receive the first master target command and the second master target command (for example, Vel_final_1 and Vel_final_2) tailored for them. They immediately take the target speed or target position in the command as the input given value of their respective speed control loop or position control loop. Second, the step-by-step calculation of the classic three-loop control. In a typical servo system, the calculation is carried out according to the cascade structure of "position loop - speed loop - current loop". Taking the speed control as an example, the speed loop controller (usually a PI controller) compares the target speed (i.e. Vel_final) with the actual speed obtained from the encoder, and the calculated deviation generates a target torque, which is immediately passed to the current loop.
[0083] Next, the current loop controller (also a PI controller) compares the target q-axis current (directly corresponding to the electromagnetic torque) and the actual detected motor current, and finally calculates the accurate q-axis and d-axis voltages (Uq, Ud) required to drive the motor. I_dref is usually set to 0 to achieve maximum torque efficiency. Then, through the space vector pulse width modulation (SVPWM) algorithm, the two orthogonal voltage components are converted into an instruction that can be executed by hardware, containing the duty cycle of six PWM waves. Finally, the most direct physical execution link is the conversion of the instruction to power. The two servo control modules send the SVPWM instructions calculated by themselves to the common rectification and inverter processing module. According to the received PWM instructions, the module accurately controls the high-frequency switching action of the power semiconductors (such as IGBT or MOSFET) inside it, and inversely converts the high-voltage direct current on the DC bus into three-phase alternating current with accurate controllable phase, frequency and amplitude, which is supplied to the first motor and the second motor respectively. After receiving the accurate driving current matching the required torque, the two motors generate corresponding electromagnetic torque to drive the rotor to rotate, and finally complete the motion with synchronization error correction in this cycle.
[0084] In one specific application example, the gantry Y1 / Y2 axis example: 1) command receiving and control loop input: in this control cycle of t = 100 ms, the Y1 servo control module takes Vel_final_1 = 1996.5 mm / s as the target value of its speed loop; at the same time, the Y2 servo control module takes Vel_final_2 = 2003.5 mm / s as the given value of its speed loop. 2) control algorithm calculation: the FOC firmware program running in the GD32E103RBT6 processor in the two modules immediately starts calculation. The speed loop PI controller in the processor compares the target speed with the current actual speed to generate target q-axis current instructions Iq_ref_1 and Iq_ref_2. Then, the current loop PI controller compares the target current with the actual phase current obtained from Iq_ref_2 to calculate the final Uq / Ud voltage instructions. 3) SVPWM generation and output: after the two independent (Uq, Ud) voltage vectors are calculated by the SVPWM algorithm module, two independent PWM waveform instructions for controlling the high-frequency switching of the six power tubes are generated. 4) power drive: the two PWM instructions are sent to the gate drivers of the two inverter bridges in the public rectification and inverter processing module. The inverter bridge immediately accurately converts high voltage into matching three-phase drive current, which is delivered to the Y1 motor and the Y2 motor, respectively, to force them to generate fine-tuned torque to run at an instantaneous speed of 1996.5 mm / s and 2003.5 mm / s. When the two axes finally reach the target positions according to the instructions, the two control modules will notify the public communication module, which will then send a task completion signal to the upper computer. At this point, a complete motion execution cycle that integrates high-precision synchronous control intentions is completed, and the next cycle immediately begins, until the entire motion task is completed.
[0085] It is worth mentioning that the method of the dual servo driver according to the embodiment of the application further includes the step of: when the first servo control module and the second servo control module both report reaching the target position, the public communication module sends a task completion signal to the upper computer.
[0086] It is worth mentioning that the method of the dual servo driver according to the embodiment of the application further includes the step of: further including: capturing the regenerative energy generated by the motor moving to the target position or in the deceleration process through the public rectification and inverter processing module, and storing the regenerative energy in the power storage module.
[0087] The above is only a preferred embodiment of the application, and does not limit the application in any form. Any simple modification made by those skilled in the art without departing from the entire technical content of the technical solution of the application, using equivalent replacement or equivalent transformation, falls within the protection scope of the technical solution of the application.
Claims
1. A dual servo drive, characterized in that: include: A first servo control module, a second servo control module, a common communication module, a common rectification and inversion processing module, and a power storage module; The public communication module establishes a communicative connection with the host computer via a first communication link; A communicative connection is established between the first servo control module and the second servo control module via a second communication link; The common rectifier and inverting processing module is used to receive instructions from the first servo control module and the second servo control module, and provide driving power for the first motor and the second motor; The power storage module is used to provide working power to the first servo control module, the second servo control module and the public communication module.
2. The dual servo drive according to claim 1, characterized in that: The second communication link performs real-time communication based on the CANopen protocol.
3. A method of dual servo drive, characterized in that, include: After the main power supply is turned on, the power storage module provides operating voltage to the first servo control module, the second servo control module and the public communication module; The public communication module starts the internal CANopen communication network, wherein the first servo control module and the second servo control module report to the CANopen master station as CANopen slave stations, and the CANopen master station broadcasts SYNC synchronization messages at a fixed high-frequency period; The host computer performs pre-motion parameter synchronization calibration on the first servo control module and the second servo control module through the public communication module; The host computer issues a macro motion instruction to the public communication module, and the public communication module parses the received macro motion instruction to obtain a first main target initial instruction corresponding to the first axis and a second main target initial instruction corresponding to the second axis; calculating a synchronization error between the first shaft and the second shaft, and generating a first compensation instruction and a second compensation instruction based on the synchronization error; Superimposing the first main target initial instruction and the second main target initial instruction with the first compensation instruction and the second compensation instruction respectively to obtain the first main target instruction and the second main target instruction; The first servo control module and the second servo control module execute the first main target instruction and the second main target instruction respectively.
4. The method of dual servo drive according to claim 3, characterized in that: The first main target initial instruction and the second main target initial instruction have the same target position and target speed.
5. The method of dual servo drive according to claim 3, characterized in that: Calculating a synchronization error between a first axis and a second axis, and generating a first compensation instruction and a second compensation instruction based on the synchronization error, comprising: The CANopen master broadcasts a SYNC synchronization message; After receiving the SYNC synchronization message, the first servo control module and the second servo control module simultaneously read the first axis real-time position data and the second axis real-time position data from their respective encoders; The difference between the first axis real-time position data and the second axis real-time position data is calculated to obtain a synchronization error.
6. The method of dual servo drive according to claim 5, characterized in that: Also includes the steps: When both the first servo control module and the second servo control module report that they have reached the target position, the public communication module sends a task completion signal to the host computer.
7. The method of dual servo drive according to claim 5, characterized in that: Also includes: The regenerative energy generated when the motor moves to the target position or during deceleration is captured by the common rectifier and inverter processing module, and the regenerative energy is stored in the power storage module.