Motor rotor initial position detection method for universal servo driver

By employing a three-stage positioning method and a current hysteresis control method, the problem of inaccurate positioning and positioning failure in the initial position calibration stage of the motor rotor of a general-purpose servo drive was solved. Accurate current closed-loop control was achieved when the current loop parameters were not configured, thereby improving positioning accuracy and success rate.

CN121602872APending Publication Date: 2026-03-03THE 54TH RESEARCH INSTITUTE OF CHINA ELECTRONICS TECHNOLOGY GROUP CORPORATION
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202511750393.2
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-11-26
Publication Date
2026-03-03

AI Technical Summary

Technical Problem

When configuring a permanent magnet synchronous motor, the traditional pre-positioning method of general-purpose servo drives has the problem of inaccurate positioning due to dead zone position, and the positioning current cannot be given by current closed loop during the initial position calibration stage of the motor rotor, which easily leads to positioning failure.

Method used

The three-stage positioning method and the current hysteresis control method are adopted. The positioning accuracy is ensured by adding a positioning process for verification. The positioning current is given by current closed loop when the current loop has not completed parameter configuration.

Benefits of technology

It achieves accurate positioning during the initial position calibration stage of the motor rotor, avoids the influence of dead zone position, and can eliminate positioning failure caused by load jamming, thus improving the positioning success rate.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121602872A_ABST
    Figure CN121602872A_ABST
Patent Text Reader

Abstract

The invention provides a motor rotor initial position detection method for a universal servo driver, and belongs to the field of permanent magnet synchronous motor control. According to the method, current closed-loop control is realized in a dq coordinate system through coordinate transformation, a current loop adopts a hysteresis controller, and detection and verification of the initial position of the permanent magnet synchronous motor rotor are realized by adopting a three-time positioning method based on a pre-positioning method theory, namely by giving three-time positioning current. Under the condition that parameter configuration of a current loop in the initial position calibration stage of the motor rotor is not completed, the current closed loop is adopted to set the positioning current; meanwhile, a three-time positioning method is adopted, the influence of a dead zone position on positioning can be avoided, a positioning result is verified through displacement generated by later two-time positioning, and positioning failures caused by motor load clamping stagnation in the positioning process can be eliminated.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention belongs to the field of permanent magnet synchronous motor control, specifically relating to a method for detecting the initial position of a motor rotor for general-purpose servo drives. Background Technology

[0002] General-purpose servo drives need to be compatible with permanent magnet synchronous motors from different manufacturers. Since the installation methods for motor encoders vary between manufacturers, the servo drive needs to calibrate the initial position of the motor rotor before driving it. Common methods include high-frequency voltage injection, the observer method, and pre-positioning. The high-frequency voltage injection method is only suitable for built-in permanent magnet synchronous motors with a certain saliency ratio and is difficult to apply in general-purpose servo drives. The observer method involves large computational loads and complex parameter configurations, making it difficult to apply in engineering.

[0003] Compared to the two methods mentioned above, the pre-positioning method applies a voltage vector with constant amplitude and fixed direction to the stator windings of the motor, forcing the motor rotor to align. This method is simple to operate and widely used. However, it suffers from dead-zone positions, leading to inaccurate positioning. To avoid dead-zone positions, a secondary positioning method has been proposed in existing technologies. However, the traditional secondary positioning method lacks a verification process, resulting in positioning failures when the load is stuck. Furthermore, when configuring a permanent magnet synchronous motor, the servo driver needs to complete the initial rotor position calibration before setting the current loop control parameters. Therefore, if the current loop parameter configuration is not completed during the initial rotor position calibration stage, the positioning current cannot be given using a closed-loop current setting. If an open-loop method is used to directly give the positioning voltage, the current magnitude is difficult to control quickly and accurately; excessive current will trigger overcurrent protection, while insufficient current will lead to positioning failure. Summary of the Invention

[0004] In view of this, the present invention proposes a method for detecting the initial position of a motor rotor for general-purpose servo drives. This method addresses the shortcomings of traditional pre-positioning methods by adding a positioning process for verification to the traditional two-stage positioning method, ensuring positioning accuracy. Furthermore, to address the problem that the positioning current cannot be given using a current closed-loop control method during the initial position calibration stage of the motor rotor, a current hysteresis control method is proposed.

[0005] The technical solution adopted in this invention is: A method for detecting the initial position of a motor rotor for a general-purpose servo drive, wherein the general-purpose servo drive is used to drive the rotation of the motor rotor, the converter of the general-purpose servo drive is a three-phase inverter, and SVPWM control is adopted, including the following steps: Step 1: Initialize positioning parameters, set the input angles of Park transform and Ipark transform to 0, and set the positioning time to T. d Calculate the theoretical displacements along the d-axis and q-axis. PT ; Step 2: Based on the hysteresis controller, implement the closed-loop given positioning current, perform three pre-positioning operations on the motor rotor, and record the encoder feedback values ​​of the second and third positioning operations. P 1 and P 2; Step 3: Compare the actual displacement with the theoretical displacement between the second and third positioning. P T Displacement error between | P 2- P 1- P T |, if | P 2- P 1- P T | Less than the preset error value P ERR If the location is successful, the location is considered to be successful; otherwise, the location is considered to have failed.

[0006] Furthermore, the theoretical displacements of the d-axis and q-axis in step 1 P T The calculation method is as follows:

[0007] In the formula, p This represents the number of pole pairs of the motor. N c The encoder counts the number of codes per revolution of the motor.

[0008] Furthermore, the hysteresis controller in step 2 is represented as:

[0009] In the formula, u q The output voltage is controlled by the q-axis current loop. u d The output voltage is controlled by the d-axis current loop. i q For q-axis current, i d For d-axis current, i qref Given a current along the q-axis, i dref Given a current along the d-axis, U max The current loop outputs the maximum voltage. I hk This is the hysteresis control loop width.

[0010] Furthermore, the specific method for step 2 is as follows: Step 201: Perform the first pre-positioning of the motor rotor, setting the d-axis current to 60% of the rated current and the q-axis current to 0, and continue... T d Time, thereby pre-positioning the motor rotor to the d-axis; Step 202: Perform the second motor rotor pre-positioning, setting the q-axis current to 60% of the rated current and the d-axis current to 0, and continue. T d Time, complete q-axis positioning, and record the encoder feedback value at this time. P 1; Step 203: Perform the third pre-positioning of the motor rotor, setting the d-axis current to 60% of the rated current and the q-axis current to 0, and continue. T d Time, complete d-axis positioning, and record the encoder feedback value at this time. P 2.

[0011] Furthermore, in step 3, a preset error value is set. P ERR The calculation method is as follows:

[0012] in, k E The error coefficient is 0.01 ≤ k E ≤0.15.

[0013] Compared with existing technologies, the beneficial effects of the present invention are as follows: 1. The present invention can provide a positioning current by using a closed-loop current method when the current loop parameter configuration is not completed during the initial position calibration stage of the motor rotor.

[0014] 2. This invention employs a three-stage positioning method, which avoids the influence of dead zone positions on positioning. Furthermore, by verifying the positioning result using the displacement generated in the latter two positioning operations, positioning failures caused by motor load jamming during the positioning process can be eliminated. Attached Figure Description

[0015] Figure 1 This is a schematic diagram of the current loop control structure for a permanent magnet synchronous motor based on hysteresis control.

[0016] Figure 2 This is a flowchart for detecting the initial position of the rotor in a permanent magnet synchronous motor system. Detailed Implementation

[0017] The present invention will be further described in detail below with reference to the accompanying drawings.

[0018] A method for detecting the initial position of a motor rotor in a general-purpose servo drive is disclosed. The converter of the general-purpose servo drive is a three-phase inverter, employing SVPWM control. This method achieves closed-loop current control in the dq coordinate system through coordinate transformation. The current loop uses a hysteresis controller and is based on the pre-positioning method theory, employing a three-stage positioning method. That is, by providing three positioning currents, the initial position of the permanent magnet synchronous motor rotor is detected and verified. Specifically, the method includes the following steps: Step 1: Initialize positioning parameters, set the input angles of Park transform and Ipark transform to 0, and set the positioning time to T. d Calculate the theoretical displacements along the d-axis and q-axis. P T The theoretical displacements of the d-axis and q-axis are calculated as follows:

[0019] In the formula, p This represents the number of pole pairs of the motor. N c The encoder counts the number of codes per revolution of the motor.

[0020] Step 2: Based on the hysteresis controller, implement the closed-loop given positioning current, perform three pre-positioning operations on the motor rotor, and record the encoder feedback value between the second and third positioning operations. P 1 and P 2; The hysteresis controller can be represented as:

[0021] In the formula, u q The output voltage is controlled by the q-axis current loop. u d The output voltage is controlled by the d-axis current loop. i q For q-axis current, i d For d-axis current, i qref Given a current along the q-axis, i dref Given a current along the d-axis, U max The current loop outputs the maximum voltage. I hk For the hysteresis control loop width, I hk The default setting is 5% of the rated current. The higher the control precision, the smaller the loop width setting.

[0022] The specific method for step 2 is as follows: Step 201, set the current setpoint to:

[0023] in, I set The setting value for the positioning current is 60% of the rated current by default. It can be adjusted according to the load characteristics. The larger the external load, the larger the setting value.

[0024] continued T d After a certain time, d-axis positioning is completed. Among other things, T d The default value is 200ms, which can be set according to the load characteristics. The larger the value, the higher the positioning accuracy, but the longer the positioning time.

[0025] Step 202, set the current setpoint to:

[0026] continued T d After a certain time, complete the q-axis positioning and record the rotor position at this time. P 1.

[0027] Step 203, set the current setpoint to:

[0028] continued T d After a certain time, complete the d-axis positioning and record the rotor position at this time. P 2.

[0029] Step 3, Positioning Verification: Compare the actual displacement with the theoretical displacement between the second and third positioning measurements. P T The displacement error between them, if | P 2- P 1- P T | Less than the preset error value P ERR If the location is successful, it is considered a successful location; otherwise, the location is considered a failed location. P ERR The calculation method is as follows:

[0030] in, k E This is the error coefficient, with a value of 0.01 ≤ k E ≤0.15, the smaller the value of this coefficient, the higher the positioning accuracy, but the lower the positioning success rate.

[0031] Here is a more specific example: A method for detecting the initial position of a motor rotor for general-purpose servo drives. For example... Figure 1 As shown, the converter of the general-purpose servo driver is a three-phase inverter, which adopts SVPWM control. Current closed-loop control is achieved in the dq coordinate system through coordinate transformation. During positioning, the angle used for Park and Ipark transformations is 0, and the encoder feedback angle... q The current loop uses a hysteresis controller, which can be expressed as:

[0032] In the formula, u q The output voltage is controlled by the q-axis current loop. u d The output voltage is controlled by the d-axis current loop. i q For q-axis current, i d For d-axis current, i qref Given a current along the q-axis, i dref Given a current along the d-axis, U max The current loop outputs the maximum voltage. I hk For the hysteresis control loop width, I hk The default setting is 5% of the rated current. The higher the control precision, the smaller the loop width setting.

[0033] like Figure 2 As shown, the specific process is as follows: Initialization parameters: Set the input angles for Park transform and Ipark transform to 0; set the positioning time to... T d The default value is 200ms, which can be set according to the load characteristics. The larger the value, the higher the positioning accuracy and the longer the positioning time; it depends on the number of motor pole pairs. p The number of codes counted by the code disk as the motor rotates one revolution N c The theoretical rotor displacement between the d-axis and q-axis of the motor is calculated using the following formula:

[0034] First positioning: Pre-position the motor rotor to the d-axis; the current setpoint can be set to...

[0035] in, I set The setting value for the positioning current is 60% of the rated current by default. It can be adjusted according to the load characteristics. The larger the external load, the larger the setting value.

[0036] continued T d After a certain time, the d-axis positioning is completed.

[0037] Second positioning: Pre-position the motor rotor to the q-axis, which can be set as follows:

[0038] continued T d After a certain time, complete the q-axis positioning and record the rotor position at this time. P 1.

[0039] Third positioning: Pre-position the motor rotor to the d-axis, which can be set as follows:

[0040] continued T d After a certain time, complete the d-axis positioning and record the rotor position at this time. P 2.

[0041] Location verification: P 1- P 2 represents the actual displacement between the second positioning to the q-axis and the third positioning to the d-axis. P T This represents the theoretical displacement between the d-axis and q-axis, and an error value can be preset. P ERR for:

[0042] in, k E This is the error coefficient, with a value of 0.01 ≤ k E ≤0.15, the smaller the value of this coefficient, the higher the positioning accuracy, but the lower the positioning success rate.

[0043] If | P 2- P 1- P T | Error less than P ERR If the location is successful, it is considered a successful location; otherwise, the location is considered a failed location.

[0044] In this method, a hysteresis controller is used to achieve closed-loop current control in the current loop when the parameters of the current loop are not yet configured during the initial rotor position calibration stage of the motor. The hysteresis control structure is simple, does not depend on the motor model, does not require tuning of loop parameters, and can achieve current closed-loop given positioning current. This method is only used in the commissioning stage, and the noise generated during the control process has no impact on the application stage.

[0045] This invention employs a three-stage positioning method. The angles used for Park and Ipark transformations are set to 0. Fixed-time and fixed-magnitude d-axis reference currents, q-axis reference currents, and d-axis reference currents are sequentially applied to achieve three-stage positioning of the motor rotor. The first two positioning operations are used to avoid the influence of dead-zone positions on the positioning. Simultaneously, the displacement generated by the latter two positioning operations is used to verify the positioning result. The rotor displacement during the second and third positioning operations is calculated, and the error between this rotor displacement and the theoretical rotor displacement is used to verify whether the motor rotor has been successfully positioned.

[0046] In summary, this invention addresses the shortcomings of traditional pre-positioning methods by adding a final positioning process for verification, based on the traditional two-stage positioning method, to ensure positioning accuracy. Furthermore, it addresses the issue of not being able to use a closed-loop current control method to provide the positioning current during the initial rotor position calibration stage by proposing a current hysteresis control method. This invention can provide the positioning current using a closed-loop current control even when the current loop parameter configuration is not yet complete during the initial rotor position calibration stage. Simultaneously, the use of a three-stage positioning method avoids the influence of dead zone positions on positioning, and the displacement generated by the latter two positioning operations verifies the positioning result, eliminating positioning failures caused by motor load jamming during the positioning process.

Claims

1. A method for detecting the initial position of a motor rotor for a general-purpose servo driver, wherein the general-purpose servo driver is used to drive the rotation of the motor rotor, the converter of the general-purpose servo driver is a three-phase inverter, and SVPWM control is adopted, characterized in that, Includes the following steps: Step 1: Initialize positioning parameters, set the input angles of Park transform and Ipark transform to 0, and set the positioning time to T. d Calculate the theoretical displacement P along the d-axis and q-axis. T ; Step 2: Based on the hysteresis controller, implement the closed-loop given positioning current, perform three pre-positioning of the motor rotor, and record the encoder feedback values ​​P1 and P2 of the second and third positioning. Step 3: Compare the actual displacement with the theoretical displacement P between the second and third positioning. T Displacement error between |P2-P1-P T |, if |P2-P1-P T | Less than the preset error value P ERR If the location is successful, the location is considered to be successful; otherwise, the location is considered to have failed.

2. The method for detecting the initial position of a motor rotor for a general-purpose servo driver according to claim 1, characterized in that, The theoretical displacements P of the d-axis and q-axis in step 1 T The calculation method is as follows: In the formula, p is the number of pole pairs of the motor, and N c The encoder counts the number of codes per revolution of the motor.

3. The method for detecting the initial position of a motor rotor for a general-purpose servo driver according to claim 1, characterized in that, The hysteresis controller in step 2 is represented as follows: In the formula, u q The output voltage, u, is controlled by the q-axis current loop. d For the d-axis current loop control output voltage, i q Let i be the q-axis current. d Let i be the d-axis current. qref Given a current along the q-axis, i dref Given a current U along the d-axis max I is the maximum output voltage of the current loop. hk This is the hysteresis control loop width.

4. The method for detecting the initial position of a motor rotor for a general-purpose servo driver according to claim 3, characterized in that, The specific method for step 2 is as follows: Step 201: Perform the first pre-positioning of the motor rotor, setting the d-axis current to 60% of the rated current and the q-axis current to 0, and continue for T... d Time, thereby pre-positioning the motor rotor to the d-axis; Step 202: Perform the second motor rotor pre-positioning, setting the q-axis current to 60% of the rated current and the d-axis current to 0, and continue for T... d Time, complete q-axis positioning, and record the encoder feedback value P1 at this time; Step 203: Perform the third pre-positioning of the motor rotor, setting the d-axis current to 60% of the rated current and the q-axis current to 0, and continue for T... d Time, complete d-axis positioning, and record the encoder feedback value P2 at this time.

5. The method for detecting the initial position of a motor rotor for a general-purpose servo driver according to claim 1, characterized in that, In step 3, a preset error value P is set. ERR The calculation method is as follows: Where, k E The error coefficient is 0.01 ≤ k E ≤0.15.