An improved sensorless motor control algorithm with active disturbance rejection
Through the improved self-immune motor sensorless control algorithm, the dual ESO extension state observer and Lomberg observer are used to estimate the rotor position and parameter changes, which solves the flutter and parameter sensitivity problems in the traditional method, achieving a wider speed control range and higher robustness.
Patent Information
- Application Number
- CN202510046338.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-01-13
- Publication Date
- 2025-08-19
- Estimated Expiration
- 2045-01-13
AI Technical Summary
Existing sensorless control technology is difficult to accurately estimate the rotor position under low speed or stationary conditions. Traditional sliding mode observers have problems with flutter and phase delay, and are sensitive to changes in motor parameters, resulting in a degradation of control performance.
The improved self-immune motor sensorless control algorithm is adopted, and the back electromotive force and internal parameter changes are estimated using dual ESO extension state observers, combined with the Lomberg observer for angle and angular velocity estimation, and the external disturbance is compensated by self-immune closed-loop. The DADRC module is designed to improve system robustness.
A wider range of inductive speed control is achieved, reducing flutter and phase delay, improving system robustness and dynamic performance, reducing dependence on magnetic flux parameters, and ensuring that high-performance control can be maintained during parameter changes or external disturbances.
Smart Images

Figure CN119834677B_ABST
Abstract
Description
Technical Field
[0001] The present invention belongs to the technical field of motor sensorless control, and in particular relates to an improved motor sensorless control algorithm with auto-disturbance rejection. Background Art
[0002] Permanent magnet synchronous motors (PMSMs) are widely used in industry due to their high reliability, high efficiency, and high power density. In vector control systems, rotor position sensors (such as Hall-effect sensors, optical encoders, or resolvers) are typically used to implement closed-loop current control. However, these sensors increase cost and reduce system reliability. Consequently, sensorless control techniques have been widely researched over the past few decades.
[0003] Sensorless control technologies are mainly divided into three categories: one is based on back electromotive force (EMF) estimation, another is based on high-frequency (HF) signal injection, and the third is based on nonlinear flux observer. When the rotor is stationary and running at low speed, the HF signal injection method is usually used to observe the rotor position because the back EMF is too small to be accurately estimated. When running at medium and high speeds, the rotor position is mainly obtained by methods based on back EMF estimation and flux estimation. Due to the limitation of the control bandwidth, the HF signal injection method is not applicable in this case. In order to achieve sensorless FOC over the full speed range, these two methods need to be combined.
[0004] Most existing sensorless control schemes use a solution based on a sliding film observer combined with high-frequency injection. High-frequency injection is used at low speeds when the back electromotive force is relatively small, and the sliding film observer is activated at medium and high speeds to close the loop. Therefore, the main disadvantages of existing technologies are:
[0005] 1. Under low-speed or stationary conditions, the back-EMF estimation-based method is difficult to accurately estimate the rotor position because the back-EMF is too small. As a result, the HF signal injection-based method is more commonly used under these conditions.
[0006] 2. Traditional sliding mode observer (SMO) has chatter and phase delay problems, which affect the dynamic performance and accuracy of the system.
[0007] 3. Existing sensorless FOC methods, especially those based on sliding mode observer (SMO) and nonlinear flux linkage, are sensitive to changes in motor parameters, resulting in severe performance degradation when parameters change. Summary of the Invention
[0008] The purpose of the present invention is to provide an improved sensorless motor control algorithm with auto-disturbance rejection, which can effectively improve the control performance of the sensorless motor control system.
[0009] The technical solutions adopted by the present invention are as follows:
[0010] An improved sensorless motor control algorithm with auto-disturbance rejection is characterized by comprising the following steps:
[0011] Step 1: Set the output of the speed loop i sqr As the command value input of the q-axis current loop, let i sdr =0 is used as the command value input of the d-axis current loop, and the dq axes are respectively calculated and output by two dual ESO extended state observer modules as the voltage commands V sq and V sd , then the dq axis voltage command is subjected to inverse Park transform and space voltage vector switching algorithm to obtain the abc three-phase command input to the inverter;
[0012] Preferably, the step 1 includes the following steps:
[0013] Step 101: Design the speed loop PI parameters by using the bandwidth method. Give the motor speed command Wref as the input to the speed loop PI controller. Use the speed estimated value of the estimator in step 3 as the feedback command. At the same time, use the load torque estimated value Perform self-anti-disturbance closed loop and finally output torque current command i sqr ;
[0014] Step 102: The instruction i finally outputted in step 101 is sqr As the input of the q-axis dual ESO extended state observer module, i sdr =0 as the input of the d-axis dual ESO extended state observer module, and finally the dq-axis dual ESO extended state observer module will output the dq-axis voltage command and the dq-axis back electromotive force estimation value and
[0015] Step 103: Use the dq axis command output from step 102 as the input of the inverse Park transform in formula 1. The inverse Park transform outputs V sα and V sβ The voltage command is used as the input of the inverse Clarke transform in formula 2 and outputs Ta, Tb, and Tc: the switching time of the three-phase inverter. Finally, according to formulas 3-6, the space voltage vector switching algorithm is used to convert Ta, Tb, and Tc into instructions that the embedded system can receive. The specific process is as follows:
[0016]
[0017] In formula (1), V ɑ 、V β 、V d 、V qThey represent the ɑβ axis voltage commands and the dq axis voltage commands respectively, and θ is the electrical angle;
[0018]
[0019] Offset is a calibration value used as an intermediate variable to calculate PWM1, PWM2, and PWM3.
[0020] PWM1=((-(T a +offset) / U dc )+0.5)×TIM1_ARR (4)
[0021] PWM2=((-(T b +offset) / U dc )+0.5)×TIM1_ARR (5)
[0022] PWM3=((-(T c +offset) / U dc )+0.5)×TIM1_ARR (6)
[0023] Where θ in Formula 1 is the electrical angle, TIM1_ARR in Formulas 4-6 is the reload value of the embedded system timer, and U dc is the bus voltage, PWM1, PWM2, and PWM3 are the comparison values of the three timer channels respectively;
[0024] Assigning values to the capture compare register of the corresponding channel in the processor can generate three corresponding rectangular wave signals to control the switch of the MOS tube, thereby generating the desired voltage, current and torque.
[0025] Step 2: Design a dual ESO extended state observer module: The dual ESO extended state observer module includes a first extended state observer module and a second extended state observer module. The first extended state observer module is used to estimate the back electromotive force. and The second extended state observer module is mainly used to estimate the disturbance of internal parameter changes;
[0026] Preferably, step 2 includes the following specific steps:
[0027] Design the first extended state observer module and the second extended state observer module estimator and establish equations. as follows:
[0028]
[0029] in, is the current error of the corresponding axis, Lx1 With L x2 (x=d,q) is the ESO gain parameter of the corresponding axis, is the estimated back electromotive force of the corresponding axis, V sx (x=d,q) is the voltage command of the corresponding axis, Ld and Lq are the dq axis inductances.
[0030] Step 3: Estimator feedback input, the back electromotive force obtained in step 2 and Back EMF is used as input to estimate the rotor angle and angular velocity;
[0031] Preferably, step 3 includes the following specific steps:
[0032] Step 301: Utilization and Calculate the estimated angle error Δθ rm , the formula is as follows:
[0033]
[0034] (where P is the number of motor pole pairs, Δθ rm is the electrical angle error value)
[0035] Step 302: Input the estimated error value into the Luenberger phase-locked loop (PLL), as shown in Formula 9, to obtain the angle estimate. and angular velocity estimates and load torque estimate The angular velocity estimate is used as feedback to the speed loop to form a closed loop, and the load torque estimate is subtracted from the output of the speed loop to form an anti-disturbance loop to resist external disturbance torque.
[0036]
[0037] in, is the motor viscous friction coefficient, is the motor moment of inertia, g1, g2, g3 are the observer feedforward gains, Te is the torque command, is the estimated electrical angle, The back electromotive force can be calculated using formula 8.
[0038] Step 4: Perform parameter design and complete motor control.
[0039] Preferably, in step 4, e is the tracking error, and the state equation of the tracking error is: in The bandwidth of the extended state observer module is designed according to the bandwidth method, L x2 and Lx1 are the design parameters, After calculation, we get Where w0 is the bandwidth, which is designed to be 5-10 times the current loop bandwidth, and the motor control is completed according to the design parameters.
[0040] The technical effects achieved by the present invention are:
[0041] The present invention proposes a DADRC module, which can provide a wider speed observation range and stably output back electromotive force; compared with traditional sensorless algorithms, such as SMO, this method will not cause high-frequency jitter to the system. The DADRC module of the present invention cleverly designs the gain as the bandwidth Wo, which is convenient for design and shortens the parameter adjustment time. The DADRC module of the present invention adopts the idea of self-anti-interference, which can estimate internal disturbances without relying on the estimation of magnetic flux, and can compensate for disturbances caused by parameter errors, reducing the accuracy dependence of the model and improving the robustness of the system. The Luenberger estimator used in the present invention is different from the traditional PI controller phase-locked loop PLL. Since the former introduces torque command information, the former has a greater bandwidth than the latter and a higher response speed. The present invention performs external load torque The anti-interference algorithm can observe the load torque in real time and compensate for it, thereby improving the system robustness and external anti-interference capability. The sensorless observer algorithm of the present invention does not introduce a filter, and compared with SMO, it has a higher response speed and bandwidth and a lower delay. The present invention does not need to observe the flux and is insensitive to the flux parameters. The present invention has a small amount of calculation, takes up less resources, and has a faster computing speed. The present invention does not require sensors, saves costs, and reduces the design space of the motor body. Compared with the inductive closed loop, this solution is more reliable and less prone to failure.
[0042] The purpose of the present invention is to propose an improved self-anti-disturbance sensorless control algorithm in response to the above-mentioned shortcomings of the prior art, so as to effectively improve the control performance of the system. The present invention can achieve a wider sensorless speed control range and adopt IF control at extremely low speeds. By using two LESOs to estimate and compensate for external and internal disturbances, no filter is introduced like the traditional SMO sliding film observer, thereby greatly improving the dynamic performance of the system and reducing vibration and phase delay. The internal anti-disturbance strategy of ADRC improves the robustness of the system to changes in motor parameters, ensuring that high-performance control can be maintained in the event of parameter changes or model inaccuracies. The present invention also performs external disturbance torque rejection, which can detect and compensate for disturbance torque in time when the motor is stalled or obstructed. BRIEF DESCRIPTION OF THE DRAWINGS
[0043] Figure 1 This is a schematic block diagram of the overall process of the present invention;
[0044] Figure 2This is a schematic block diagram of the process of step 201 of the present invention;
[0045] Figure 3 It is a schematic flow chart of step 3 of the present invention. DETAILED DESCRIPTION
[0046] In order to make the purpose and advantages of the present invention more clearly understood, the present invention is described in detail below with reference to the following examples. It should be understood that the following text is only used to describe one or more specific embodiments of the present invention and does not strictly limit the scope of protection of the present invention.
[0047] like Figure 1-Figure 3 As shown in FIG, an improved active disturbance rejection motor sensorless control algorithm includes the following steps:
[0048] Step 1: Set the output of the speed loop i sqr As the command value input of the q-axis current loop, let i sdr =0 is used as the command value input of the d-axis current loop, and the dq axes are respectively calculated and output by two dual ESO extended state observer modules as the voltage commands V sq and V sd ,ESO refers to the extended state observer, which is an important part of the active disturbance rejection control. Then the dq axis voltage command is subjected to inverse Park transform and space voltage vector switching algorithm to obtain the abc three-phase command input to the inverter;
[0049] Step 1 includes the following steps:
[0050] Step 101: Design the speed loop PI parameters by using the bandwidth method. Give the motor speed command Wref as the input to the speed loop PI controller. Use the speed estimated value of the estimator in step 3 as the feedback command. At the same time, use the load torque estimated value Perform self-anti-disturbance closed loop and finally output torque current command i sqr ;
[0051] Step 102: The instruction i finally outputted in step 101 is sqr As the input of the q-axis dual ESO extended state observer module, i sdr =0 as the input of the d-axis dual ESO extended state observer module. The specific implementation process of the dual ESO extended state observer module is shown in step 2. Finally, the dq-axis dual ESO extended state observer module will output the dq-axis voltage command and the dq-axis back electromotive force estimation value. and
[0052] Step 103: Use the dq axis command output from step 102 as the input of the inverse Park transform in formula 1. The inverse Park transform outputs V sα and Vsβ The voltage command is used as the input of the inverse Clarke transform in formula 2 and outputs Ta, Tb, and Tc. Finally, according to formulas 3 to 6, the space voltage vector switching algorithm is used to convert Ta, Tb, and Tc into instructions that the embedded system can receive. The specific process is as follows:
[0053]
[0054] In formula (1), V ɑ 、V β 、V d 、V q They represent the ɑβ axis voltage commands and the dq axis voltage commands respectively, and θ is the electrical angle;
[0055]
[0056] Offset is a calibration value used as an intermediate variable to calculate PWM1, PWM2, and PWM3.
[0057] PWM1=((-(T a +offset) / U dc )+0.5)×TIM1_ARR (4)
[0058] PWM2=((-(T b +offset) / U dc )+0.5)×TIM1_ARR (5)
[0059] PWM3=((-(T c +offset) / U dc )+0.5)×TIM1_ARR (6)
[0060] Where θ in Formula 1 is the electrical angle, TIM1_ARR in Formulas 4-6 is the reload value of the embedded system timer, and U dc is the bus voltage, PWM1, PWM2, and PWM3 are the comparison values of the three timer channels respectively;
[0061] In the processor, the capture compare registers of the corresponding channels are assigned values to generate the corresponding three PWM waveforms, which control the switching of the MOS tube and thus generate the desired voltage, current and torque.
[0062] Step 2: Design the dual ESO extended state observer module: The dual ESO extended state observer module includes the first extended state observer module and the second extended state observer module. The first extended state observer module is used to estimate the back electromotive force. and The second extended state observer module is mainly used to estimate the disturbance of internal parameter changes;
[0063] Step 2 includes the following specific steps:
[0064] Design the first extended state observer module and the second extended state observer module estimator and establish equations. The specific equations are as follows:
[0065]
[0066] in, is the current error of the corresponding axis, L x1 With L x2 (x=d,q) is the ESO gain parameter of the corresponding axis, is the estimated back electromotive force of the corresponding axis, V sx (x=d,q) is the voltage command of the corresponding axis, Ld and Lq are the dq axis inductances.
[0067] The formula of step 101 is designed to obtain Figure 2 Block diagram of , where w0 is the bandwidth.
[0068] Step 3: Estimator feedback input, the back electromotive force obtained in step 2 and Back EMF is used as input to estimate the rotor angle and angular velocity;
[0069] Step 301: Utilization and Calculate the estimated angle error Δθ rm ,like Figure 3 As shown, where Te is the torque command value, Te = q-axis current iq × torque constant Kt, the formula is as follows:
[0070] Δθ rm =-tan -1 (f ed / f eq ) (8)
[0071] Step 302: Input the estimated error value into the Luenberger phase-locked loop (PLL), as shown in Formula 9, to obtain the angle estimate. and angular velocity estimates and load torque estimate The angular velocity estimate is used as feedback to the speed loop to form a closed loop, and the load torque estimate is subtracted from the output of the speed loop to form an anti-disturbance loop to resist external disturbance torque.
[0072]
[0073] in, is the motor viscous friction coefficient, is the motor moment of inertia, g1, g2, g3 are the observer feedforward gains, Te is the torque command, is the estimated electrical angle, The back electromotive force can be calculated using formula 8.
[0074] Step 4: Perform parameter design and complete motor control.
[0075] In step 4, let e is the tracking error, and the state equation of the tracking error is: in The bandwidth of LESO can be designed according to the bandwidth method. x2 and L x1 are the design parameters, After calculation, we get Where w0 is the bandwidth, which is designed to be 5-10 times the current loop bandwidth, and the motor control is completed according to the design parameters.
[0076] The present invention proposes a DADRC module, which can provide a wider speed observation range and stably output back electromotive force; compared with traditional sensorless algorithms, such as SMO, this method will not cause high-frequency jitter to the system. The DADRC module of the present invention cleverly designs the gain as the bandwidth Wo, which is convenient for design and shortens the parameter adjustment time. The DADRC module of the present invention adopts the idea of self-anti-interference, which can estimate internal disturbances without relying on the estimation of magnetic flux, and can compensate for disturbances caused by parameter errors, reducing the accuracy dependence of the model and improving the robustness of the system. The Luenberger estimator used in the present invention is different from the traditional PI controller phase-locked loop PLL. Since the former introduces torque command information, the former has a greater bandwidth than the latter and a higher response speed. The present invention performs external load torque The anti-interference algorithm can observe the load torque in real time and compensate for it, thereby improving the system robustness and external anti-interference capability. The sensorless observer algorithm of the present invention does not introduce a filter, and has higher response speed and bandwidth and lower delay compared to SMO. The present invention does not need to observe the flux and is insensitive to the flux parameters. The present invention has a small amount of calculation, takes up less resources, and has a faster computing speed. The present invention does not require sensors, saves costs, and reduces the design space of the motor body. Compared with the inductive closed loop, this solution is more reliable and less prone to failure.
[0077] The purpose of the present invention is to propose an improved self-anti-disturbance sensorless control algorithm in response to the above-mentioned shortcomings of the prior art, so as to effectively improve the control performance of the system. The present invention can achieve a wider sensorless speed control range and adopt IF control at extremely low speeds. By using two LESOs to estimate and compensate for external and internal disturbances, no filter is introduced like the traditional SMO sliding film observer, thereby greatly improving the dynamic performance of the system and reducing vibration and phase delay. The internal anti-disturbance strategy of ADRC improves the robustness of the system to changes in motor parameters, ensuring that high-performance control can be maintained in the event of parameter changes or model inaccuracies. The present invention also performs external disturbance torque rejection, which can detect and compensate for disturbance torque in time when the motor is stalled or obstructed.
[0078] The foregoing is merely a preferred embodiment of the present invention. It should be noted that those skilled in the art may make various improvements and modifications without departing from the principles of the present invention, and such improvements and modifications are also within the scope of protection of the present invention. Structures, devices, and operating methods not specifically described or explained herein shall, unless otherwise specified or limited, be implemented in accordance with conventional means in the art.
Claims
1. An improved sensorless motor control algorithm with active disturbance rejection, characterized by: The following steps are involved: Step 1: Set the output of the speed loop As the command value input of the q-axis current loop, and let As the command value input of the d-axis current loop, the dq axis respectively calculates the output dq axis voltage command through two dual ESO extended state observer modules and , then the dq axis voltage command is subjected to inverse Park transform and space voltage vector switching algorithm to obtain the abc three-phase command input to the inverter; Step 2: Design a dual ESO extended state observer module: The dual ESO extended state observer module includes a first extended state observer module and a second extended state observer module. The first extended state observer module is used to estimate the back electromotive force. and ,The second extended state observer module is mainly used to estimate the ,disturbance of internal parameter changes; The step 2 includes the following specific steps: Design the first extended state observer module and the second extended state observer module estimator and establish equations. as follows: in, , is the current error of the corresponding axis, and (x=d,q) is the ESO gain parameter of the corresponding axis, (x=d,q) is the estimated back electromotive force of the corresponding axis, (x=d,q) is the voltage command of the corresponding axis, Ld and Lq are the dq axis inductances; Step 3: Estimator feedback input, the back electromotive force obtained in step 2 and Back EMF is used as input to estimate the rotor angle and angular velocity; The step 3 includes the following specific steps: Step 301: Utilization and Calculate the estimated angle error , the formula is as follows: Where P is the number of motor pole pairs, is the electrical angle error value; Step 302: Input the estimated error value into the Luenberger phase-locked loop (PLL), as shown in Formula 9, to obtain the angle estimate. and angular velocity estimates and load torque estimate , where the angular velocity estimate is used as the speed loop feedback to form a closed loop, and the load torque estimate is subtracted from the output of the speed loop to form an anti-disturbance loop to resist external disturbance torque; in, is the motor viscous friction coefficient, is the motor moment of inertia, g1, g2, g3 are the observer feedforward gains, Te is the torque command, is the estimated electrical angle, The back electromotive force can be calculated by formula 8 Step 4: Perform parameter design and expand the bandwidth of the state observer module according to the bandwidth method to complete the motor control.
2. The improved active disturbance rejection sensorless motor control algorithm according to claim 1, characterized in that: The step 1 includes the following steps: Step 101: Design the speed loop PI parameters by using the bandwidth method. Give the motor speed command Wref as the input to the speed loop PI controller. Use the speed estimated value of the estimator in step 3 as the feedback command. At the same time, use the load torque estimated value Perform self-anti-disturbance closed loop and finally output torque current command ; Step 102: Output the instruction finally outputted in step 101 As the input of the q-axis dual ESO extended state observer module, As the input of the d-axis dual ESO extended state observer module, the dq-axis dual ESO extended state observer module will eventually output the dq-axis voltage command and the dq-axis back electromotive force estimation value. and ; Step 103: Use the dq axis command output from step 102 as the input of the inverse Park transform in formula 1. The inverse Park transform output is and The voltage command is used as the input of the inverse Clarke transform in formula 2 and outputs Ta, Tb, and Tc: the switching time of the three-phase inverter. Finally, according to formulas 3-6, the space voltage vector switching algorithm is used to convert Ta, Tb, and Tc into instructions that the embedded system can receive. The specific process is as follows: In formula (1), V ɑ 、V β 、V d 、V q They represent the ɑβ axis voltage commands and the dq axis voltage commands respectively, and θ is the electrical angle; Offset is a calibration value used as an intermediate variable to calculate PWM1, PWM2, and PWM3. Among them, the formula 1 is the electrical angle, TIM1_ARR in Formula 4-Formula 6 is the reload value of the embedded system timer, U dc is the bus voltage, PWM1, PWM2, and PWM3 are the comparison values of the three timer channels respectively; Assigning values to the capture compare register of the corresponding channel in the processor can generate three corresponding rectangular wave signals to control the switch of the MOS tube, thereby generating the desired voltage, current and torque.
3. The improved active disturbance rejection sensorless motor control algorithm according to claim 2, characterized in that: In step 4, , e is the tracking error, and the state equation of the tracking error is ,in , L x2 and L x1 are the design parameters, , calculated ,in The bandwidth is designed to be 5-10 times the current loop bandwidth, and the motor control is completed according to the design parameters.
Citation Information
Patent Citations
Novel five-phase fault tolerant permanent magnet motor sensorless control method based on expansion state observer
CN107134964A
Input saturation multi-single-arm manipulator event triggering control method based on disturbance observer
CN110253572A