Position sensorless control method and device for synchronous motor
By constructing a cost function based on voltage equations, and using an optimization algorithm to obtain accurate speed and rotor position information in the full speed domain of the synchronous motor, the problem of difficulty in obtaining information accurately in the full speed domain in the prior art is solved, and the control effect without additional losses and low noise is achieved.
Patent Information
- Application Number
- CN202411668778.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-11-21
- Publication Date
- 2025-03-25
- Estimated Expiration
- 2044-11-21
AI Technical Summary
The existing synchronous motor position sensorless control method is difficult to accurately obtain speed and rotor position information in the full speed domain, and there are additional losses and noise problems, the algorithm is complex and cannot meet the needs of the full speed domain.
By constructing the α-axis and β-axis voltage equations of the motor under the stationary coordinate system, the cost functions of the rotor's electrical angular velocity and rotor position angle are constructed based on the voltage equation system, and iterative calculation is used to obtain the optimal electrical angular velocity and rotor position angle, so as to realize closed-loop control.
Accurately obtain speed and rotor position information within the motor full speed domain range, no additional loss and low noise, strong versatility and low complexity, and is suitable for full speed domain control.
Smart Images

Figure CN119171791B_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the technical field of synchronous motor control, and in particular to a method and device for controlling a synchronous motor without a position sensor. Background Art
[0002] The position sensorless control of synchronous motors can be divided into two categories: based on the fundamental wave model and based on the salient pole characteristics. The former is used in the medium and high speed fields, and usually adopts methods such as sliding mode observer or disturbance observer to observe the back electromotive force or magnetic flux of the synchronous motor to obtain the rotor position. The high-frequency injection method based on the salient pole characteristics of the synchronous motor is often used to improve the accuracy of the rotor position observation by extracting the position information in the high-frequency response. There are three existing noise reduction strategies for the high-frequency injection method: amplitude adjustment method, frequency adjustment method and random injection method.
[0003] The amplitude adjustment method achieves the purpose of noise reduction by appropriately reducing the amplitude of the injected voltage signal. However, the signal-to-noise ratio of the high-frequency current response containing the rotor position information also becomes lower, resulting in an increase in the rotor position error. The frequency adjustment method is to change the frequency of the injected signal to avoid the introduced high-frequency noise from the sensitive hearing range of the human ear. Increasing or decreasing the injection frequency can effectively reduce noise pollution. However, the higher voltage injection frequency has higher requirements on the switching speed of the power device and the processing performance of the control chip, resulting in large additional switching losses, which is not suitable for mainstream synchronous motor drivers; the lower voltage injection frequency will cause its current response frequency to be low, increasing the difficulty of filter design and making it difficult to separate from the synchronous motor base frequency current. On the one hand, the high-frequency response will be introduced into the control loop through the current loop, affecting the control performance of the synchronous motor, and on the other hand, it will increase the difficulty of extracting the rotor position information, resulting in an increase in the estimated position error. The core idea of the random injection method is to evenly disperse the high-energy signal at the fixed frequency in the fixed-frequency high-frequency injection method to the surrounding frequencies, reduce the energy amplitude at this frequency, and thus achieve the effect of softening and weakening the noise.
[0004] In order to avoid the noise interference and additional loss problems caused by the injected signal, position sensorless control methods that do not require additional signal injection have been widely studied. When the synchronous motor runs at zero speed, due to the low amplitude of the synchronous motor back electromotive force, the zero vector accounts for a large proportion in the modulation process. The voltage variable applied in the voltage equation can be ignored, and the simplified resistor-inductor circuit synchronous motor model is obtained. Zero vector detection technology detects the current change rate during the zero vector action, extracts the rotor position information, and realizes sensorless control of the synchronous motor. However, this type of method relies on high current sampling accuracy and sampling frequency, and requires real-time adjustment of the observation model according to light load and heavy load, which is not universal for most synchronous motor drive systems.
[0005] For full-speed control requirements, the conventional sensorless strategy is to use the weighted method or hysteresis method to combine the two types of position observers, the fundamental model and the salient pole model, to achieve position observation in the full speed range. However, when the synchronous motor is in a frequent speed regulation condition, the two types of position observers are frequently switched, which easily leads to oscillation of the estimated speed and rotor position information during the switching process, reducing its transient control performance. In addition, the two position observers must be designed and parameterized separately, which greatly increases the complexity of the algorithm.
[0006] In summary, the traditional high-frequency injection method will cause problems of high additional loss and harsh noise, and can only be applied to zero and low-speed conditions; the composite full-speed domain position sensorless control method using weighted method or hysteresis method requires independent design and adjustment of two types of observers in the zero and low-speed domain and the medium and high-speed domain, resulting in high algorithm complexity; although the improved random high-frequency injection method can soften the harsh noise, the noise suppression effect is limited, and it will still introduce a high-amplitude white noise-like auditory experience, and is limited to zero and low-speed conditions; although the existing zero vector detection method without additional signal injection can effectively improve the auditory noise and additional loss problems, it relies on high current detection accuracy and sampling frequency, lacks versatility, and is only suitable for zero and low-speed conditions, and cannot meet full-speed domain requirements. Summary of the invention
[0007] In order to address the deficiencies in the prior art, the purpose of the present application is to provide a position sensorless control method for a synchronous motor, which can obtain accurate motor rotor speed and rotor position information within the full speed range of the motor, with no additional loss and low noise during the full speed control process.
[0008] To achieve the above object, the present application provides a synchronous motor position sensorless control method, comprising:
[0009] Acquire the α-axis current and β-axis current of the motor in the current switching cycle, and determine the α-axis current change rate and β-axis current change rate in the current switching cycle based on the α-axis current and the β-axis current;
[0010] Obtain the α-axis voltage and β-axis voltage of the motor in the current switching cycle;
[0011] Construct the α-axis and β-axis voltage equations of the motor in the stationary coordinate system, construct the cost function of the rotor's electrical angular velocity and rotor position angle based on the voltage equations, and iterate the cost function, where:
[0012] For each iteration, the electric angular velocity estimation value and the rotor position angle estimation value of the current iteration are set, and the value of the cost function in the current iteration is calculated using the electric angular velocity estimation value and the rotor position angle estimation value, the α-axis current and the β-axis current, the α-axis current change rate and the β-axis current change rate, and the α-axis voltage and the β-axis voltage. The iteration is stopped until the number of iterations is greater than or equal to a threshold and / or the value of the cost function in the current iteration is less than a function value threshold, and the electric angular velocity estimation value and the rotor position angle estimation value of the current iteration are used as the optimal electric angular velocity estimation value and the optimal rotor position angle estimation value;
[0013] The motor is controlled in a closed loop using the optimal electrical angular speed estimate and the optimal rotor position angle estimate.
[0014] Furthermore, the cost function is iteratively calculated, including:
[0015] For each iteration, the estimated value of the electrical angular velocity and the estimated value of the rotor position angle of the current iteration are used as the current iteration point, and the gradient of the cost function at the current iteration point is calculated;
[0016] Determine the learning rate of the current iteration of the cost function based on the preset initial learning rate and the gradients generated in all iterations before the current iteration;
[0017] The electrical angular velocity estimate and the rotor position angle estimate of the current iteration are updated with the gradient of the current iteration point and the learning rate of the current iteration to obtain updated electrical angular velocity estimate and rotor position angle estimate, and the updated electrical angular velocity estimate and the rotor position angle estimate are used as the electrical angular velocity estimate and the rotor position angle estimate to be set in the next iteration.
[0018] Furthermore, the gradient of the cost function at the current iteration point is calculated, including:
[0019] The cost function is used to calculate the gradient of the cost function at the current iteration point using the estimated electrical angular velocity and rotor position angle of the current iteration, the α-axis current and β-axis current, the α-axis current change rate and β-axis current change rate, and the α-axis voltage and β-axis voltage.
[0020] Furthermore, the α-axis and β-axis voltage equations of the motor in the stationary coordinate system are constructed, and the cost functions of the rotor electrical angular velocity and rotor position angle are constructed based on the voltage equations, including:
[0021] In the stationary coordinate system, the voltage equations of the motor are:
[0022] ;
[0023] in, is the estimated value of electrical angular velocity, is the estimated value of the rotor position angle, is the α-axis current, is the β-axis current, is the α-axis voltage, is the β-axis voltage, is the α-axis current change rate, is the β-axis current change rate, is the stator resistance, is the excitation flux, , , and are the stator d-axis inductance and q-axis inductance respectively;
[0024] Construct the cost function of the rotor electrical angular velocity and rotor position angle based on the voltage equations for:
[0025] ;
[0026] in, is the number of iterations.
[0027] Furthermore, the gradient of the cost function at the current iteration point is calculated, including:
[0028] The cost function is used to calculate the gradient of the cost function at the current iteration point using the estimated electrical angular velocity and rotor position angle of the current iteration, the α-axis current and the β-axis current, the α-axis current change rate and the β-axis current change rate, and the α-axis voltage and the β-axis voltage. for:
[0029] .
[0030] Furthermore, based on the preset initial learning rate and the gradients generated in all iterations before the current iteration, the learning rate of the current iteration is determined, including:
[0031] Set the initial learning rate to , the learning rate of the current iteration It is expressed as:
[0032] ;
[0033] ;
[0034] in, Indicates The exponentially weighted moving average of the squared gradients at iterations, is a positive constant, β represents the decay rate, and the initial value , Represents the element multiplication of the matrix, the initial learning rate Is a constant value.
[0035] Further, the estimated value of the electrical angular velocity and the estimated value of the rotor position angle of the current iteration are updated with the gradient of the current iteration point and the learning rate of the current iteration to obtain the updated estimated value of the electrical angular velocity and the estimated value of the rotor position angle, including:
[0036] According to the estimated value of the electrical angular velocity of the current iteration and the estimated rotor position angle , the learning rate of the current iteration and the gradient of the current iteration point , calculate the updated electrical angular velocity estimate and the estimated rotor position angle :
[0037] .
[0038] Furthermore, the α-axis voltage and β-axis voltage of the motor in the current switching cycle are obtained, including:
[0039] Get the reference voltage of the d and q axes of the synchronous motor , , the α and β axis reference voltages are obtained through Park inverse transformation , , the Park inverse transform formula is:
[0040] ;
[0041] in, is the estimated rotor position angle,
[0042] According to the distribution of the three-phase current flow of the synchronous motor and the compensation relationship between the actual voltage and the three-phase current, the α-axis voltage is obtained. and β axis voltage , the specific compensation is as follows:
[0043] If the three-phase current flows , , When α axis voltage and β axis voltage for:
[0044] ;
[0045] If the three-phase current flows , , When α axis voltage and β axis voltage for:
[0046] ;
[0047] If the three-phase current flows , , When α axis voltage and β axis voltage for:
[0048] ;
[0049] If the three-phase current flows , , When α axis voltage and β axis voltage for:
[0050] ;
[0051] If the three-phase current flows , , When α axis voltage and β axis voltage for:
[0052] ;
[0053] If the three-phase current flows , , When α axis voltage and β axis voltage for:
[0054] ;
[0055] in, is the α-axis reference voltage, is the β-axis reference voltage, is the switching cycle, is the dead time, is the bus voltage.
[0056] The present application also provides a synchronous motor position sensorless control device, the device comprising:
[0057] A first acquisition module is used to acquire the α-axis current and the β-axis current of the motor in the current switching cycle, and determine the α-axis current change rate and the β-axis current change rate in the current switching cycle based on the α-axis current and the β-axis current;
[0058] The second acquisition module is used to acquire the α-axis voltage and the β-axis voltage of the motor in the current switching cycle;
[0059] a cost function calculation module, for constructing a group of voltage equations for the α-axis and β-axis of the motor in a stationary coordinate system, constructing a cost function of the electrical angular velocity and the rotor position angle of the rotor based on the voltage equation group, and iteratively calculating the cost function, wherein for each iteration, setting an estimated value of the electrical angular velocity and the estimated value of the rotor position angle of the current iteration, and calculating the value of the cost function in the current iteration with the estimated value of the electrical angular velocity and the estimated value of the rotor position angle, the α-axis current and the β-axis current, the rate of change of the α-axis current and the rate of change of the β-axis current, and the α-axis voltage and the β-axis voltage, until the iteration is greater than or equal to a number threshold and / or the value of the cost function in the current iteration is less than or equal to a function value threshold, then the iteration is stopped, and the estimated value of the electrical angular velocity and the estimated value of the rotor position angle of the current iteration are used as the optimal estimated value of the electrical angular velocity and the optimal estimated value of the rotor position angle;
[0060] The control module is used to perform closed-loop control on the motor with an optimal electrical angular velocity estimate and an optimal rotor position angle estimate.
[0061] The present application also provides a storage medium on which a computer program is stored. When the computer program is run on a computer, the computer executes the above-mentioned synchronous motor position sensorless control method.
[0062] The present application constructs a cost function based on the voltage equation by taking the electrical angular velocity and rotor position angle of the voltage equation as unknown estimation variables, and uses the cost function optimization algorithm to find the optimal solution, so as to obtain accurate speed and rotor position information in the full speed range of the motor. This method can achieve zero additional loss and low noise during the full speed control process. This method has no additional signal injection and is based on a unified model. It does not require switching and independent adjustment of multiple observers, and has strong versatility and low complexity. BRIEF DESCRIPTION OF THE DRAWINGS
[0063] Figure 1 A first flow chart of a method for controlling a synchronous motor without a position sensor provided in an embodiment of the present application;
[0064] Figure 2 A second flow chart of a synchronous motor position sensorless control method provided in an embodiment of the present application;
[0065] Figure 3 A schematic diagram of a cost function image when the synchronous motor speed is 500 rpm provided in an embodiment of the present application;
[0066] Figure 4 A schematic diagram of a cost function image when the synchronous motor speed is 1000 rpm provided in an embodiment of the present application;
[0067] Figure 5 A schematic diagram of a cost function image when the synchronous motor speed is 1500 rpm provided in an embodiment of the present application;
[0068] Figure 6 A system block diagram of a synchronous motor position sensorless control system provided in an embodiment of the present application;
[0069] Figure 7 A schematic diagram of a simulation comparison of a synchronous motor position sensorless control method provided in an embodiment of the present application;
[0070] Figure 8 A schematic diagram of a step response of estimating speed and position by a position sensorless control method provided in an embodiment of the present application;
[0071] Fig. 9 A system block diagram of a synchronous motor position sensorless control device provided in an embodiment of the present application;
[0072] Fig.10 A system block diagram of a computer device provided in an embodiment of the present application. DETAILED DESCRIPTION
[0073] In order to enable those skilled in the art to better understand the solution of the present application, the technical solution in the specific implementation manner of the present application will be clearly and completely described below in conjunction with the drawings in the implementation manner of the present application.
[0074] Please refer to Figure 1 The present application provides a synchronous motor position sensorless control method, the method comprising:
[0075] S101, obtaining the α-axis current and the β-axis current of the motor in the current switching cycle, and determining the α-axis current change rate and the β-axis current change rate in the current switching cycle based on the α-axis current and the β-axis current;
[0076] S102, obtaining the α-axis voltage and the β-axis voltage of the motor in the current switching cycle;
[0077] S103, constructing a group of voltage equations for the α-axis and β-axis of the motor in a stationary coordinate system, constructing a cost function of the electrical angular velocity and the rotor position angle of the rotor based on the voltage equation group, and iteratively calculating the cost function, wherein for each iteration, setting an estimated value of the electrical angular velocity and the estimated value of the rotor position angle of the current iteration, and calculating the value of the cost function in the current iteration with the estimated value of the electrical angular velocity and the estimated value of the rotor position angle, the α-axis current and the β-axis current, the rate of change of the α-axis current and the rate of change of the β-axis current, and the α-axis voltage and the β-axis voltage, until the number of iterations is greater than or equal to a number threshold and / or the value of the cost function in the current iteration is less than a function value threshold, then stopping the iteration, and taking the estimated value of the electrical angular velocity and the estimated value of the rotor position angle of the current iteration as the optimal estimated value of the electrical angular velocity and the optimal estimated value of the rotor position angle;
[0078] S104, performing closed-loop control on the motor using the optimal electrical angular velocity estimation value and the optimal rotor position angle estimation value.
[0079] In this embodiment, the electrical angular velocity and rotor position angle of the voltage equation are used as unknown estimation variables to construct a cost function based on the voltage equation, and the cost function optimization algorithm is used to find the optimal solution. That is, the α-axis current and β-axis current, the α-axis current change rate and the β-axis current change rate, the α-axis voltage and the β-axis voltage, and the electrical angular velocity estimate and the rotor position angle estimate obtained in the current switching cycle are used to calculate the value of the cost function, so that the cost function can reach the optimal value, and then the optimal electrical angular velocity estimate and the optimal rotor position angle are obtained. Therefore, in the low-speed position sensorless control process, no additional high-frequency signal injection is required, and no corresponding high-frequency harsh noise and additional loss problems are caused. Moreover, this method can meet the operating requirements of the full-speed speed regulation range, and accurate motor rotor speed and position information can be obtained in the full-speed range. There is no need to switch and independently adjust multiple observers, and it has strong versatility and low complexity.
[0080] For example, the closed-loop control of the motor adopts FOC closed-loop control, that is, Field Oriented Control (FOC) closed-loop control. In FOC closed-loop control, two closed-loop control loops are included: a current loop and a speed loop, which are responsible for controlling the current and speed of the motor respectively.
[0081] As an optional implementation, the α-axis current and the β-axis current of the motor in the current switching cycle are obtained, and the α-axis current change rate and the β-axis current change rate in the current switching cycle are determined based on the α-axis current and the β-axis current, including:
[0082] Use current sensors to collect the three-phase current of the motor stator during the current switching cycle , , , motor stator current , , , the current component in the α-β coordinate system is calculated by Clark transformation: α-axis current and β-axis current , Clark transform is expressed as:
[0083] ;
[0084] in, , , Respectively represent the stator current of phases A, B, and C. The switching period refers to the period of the pulse width modulation signal in motor control.
[0085] Based on the α-axis current and the β-axis current, the α-axis current change rate in the current switching cycle is calculated by the following formula: and the β-axis current change rate for:
[0086] ;
[0087] in, is the switching cycle, For the current moment The sampled α-axis current, For the current moment The sampled α-axis current, For the previous moment The sampled α-axis current, For the previous moment The sampled β-axis current, is the differential operator.
[0088] As an optional implementation method, the α-axis voltage and the β-axis voltage of the motor in the current switching cycle are obtained, including:
[0089] The input of the current inner loop PI regulator is the difference between the actual current and the given current, and the output of the current inner loop PI regulator is the synchronous motor d-axis reference voltage and q-axis reference voltage The reference voltage of the d and q axes of the synchronous motor is obtained through the current inner loop PI regulator. , , the α and β axis reference voltages are obtained through Park inverse transformation , , the Park inverse transform formula is:
[0090] ;
[0091] in, is the estimated rotor position angle. The reference voltage coordinate system is converted from the d-axis and q-axis coordinate systems to the α-axis and β-axis coordinate systems for subsequent calculations.
[0092] According to the distribution of the three-phase current flow of the synchronous motor, the voltage distortion during the dead zone is considered, and the voltage acting on the α-axis of the synchronous motor is obtained according to the compensation relationship between the actual voltage and the three-phase current. and β axis voltage , the specific compensation is as follows:
[0093] If the three-phase current flows , , When α axis voltage and β axis voltage for:
[0094] ;
[0095] If the three-phase current flows , , When α axis voltage and β axis voltage for:
[0096] ;
[0097] If the three-phase current flows , , When α axis voltage and β axis voltage for:
[0098] ;
[0099] If the three-phase current flows , , When α axis voltage and β axis voltage for:
[0100] ;
[0101] If the three-phase current flows , , When α axis voltage and β axis voltage for:
[0102] ;
[0103] If the three-phase current flows , , When α axis voltage and β axis voltage for:
[0104] ;
[0105] in, is the α-axis reference voltage, is the β-axis reference voltage, is the switching cycle, is the dead time, is the bus voltage.
[0106] Based on this implementation, the influence of the inverter dead zone effect on the estimation accuracy is taken into account, and corresponding compensation is performed according to the three-phase current flow direction. An optimization algorithm is used to obtain accurate estimated speed and position information without the need for additional signal injection.
[0107] As an optional implementation method, the α-axis and β-axis voltage equations of the motor in a stationary coordinate system are constructed, including:
[0108] In the stationary coordinate system, the voltage equations of the motor are:
[0109] ;
[0110] in, is the estimated value of the electrical angular velocity of the rotor, is the estimated value of the rotor position angle, is the synchronous motor α-axis current, is the synchronous motor β-axis current, is the voltage acting on the α-axis of the synchronous motor, is the voltage acting on the β axis of the synchronous motor, is the α-axis current change rate during the synchronous motor switching cycle, is the β-axis current change rate during the synchronous motor switching cycle, is the stator resistance, is the excitation flux, , , and They are the stator d-axis inductance and the stator q-axis inductance respectively.
[0111] Construct the cost function of the rotor electrical angular velocity and rotor position angle based on the voltage equations for:
[0112] ;
[0113] in, is the number of iterations, The initial value of is 1.
[0114] The following is an explanation of the basis for constructing the cost function based on the voltage equation of the present application. In a stationary coordinate system, the voltage equation of the synchronous motor is as follows:
[0115] ;
[0116] ;
[0117] Substitute the electrical angular velocity in the voltage equation and rotor position angle The estimated variables are considered unknown. , it can be shown that the solution of the voltage equation is , the number of its solution pairs is constant at four, and there are two cases:
[0118] ;
[0119] ;
[0120] The solution pair consists of two real roots and two conjugate complex roots constitute, or Four real roots. However, The four real roots are only possible in the case of synchronous motor faults. In addition, in practice, synchronous motor speed and rotor position will not run at conjugate complex root values. The indistinguishable solution pairs are limited to two, namely the real solution pair and false solutions , satisfying the following relationship:
[0121] .
[0122] This means that the final operation result of the synchronous motor has been predetermined by the voltage equations. Therefore, by constructing a cost function based on the synchronous motor voltage equation and using an appropriate optimization algorithm, the estimated electrical angular velocity and rotor position of the synchronous motor can be obtained. Furthermore, by judging whether the synchronous motor operates in the generator / motor mode, it can be determined whether the synchronous motor converges to the desired solution pair. At the beginning of the next switching cycle, the initial electrical angular velocity estimate is set to its opposite number, and the initial rotor position angle estimate is set to its opposite phase, to help the motor converge to the desired solution again. Therefore, the method of the present application does not need to inject additional high-frequency signals, fundamentally avoiding the problem of harsh noise and additional loss generated by the traditional high-frequency injection method during low-speed processes.
[0123] As an optional implementation, Figure 2 As shown, the cost function is iteratively calculated, including:
[0124] S201. For each iteration, the estimated value of the electrical angular velocity and the estimated value of the rotor position angle of the current iteration are used as the current iteration point, and the gradient of the cost function at the current iteration point is calculated.
[0125] In the iterative optimization process, the current iteration point of the cost function refers to the current position of the algorithm when searching for the optimal solution. The gradient of the current iteration point is the vector formed by the partial derivative of the cost function at the current iteration point, which indicates the direction in which the cost function grows fastest at the current iteration point. The gradient value reflects how fast the function value changes, and the direction of the gradient vector points to the direction in which the function value increases fastest. Based on this implementation, the gradient descent method is used to iteratively search for the best solution to ensure reliable convergence of the cost function that changes with the speed in each switching cycle, so that accurate estimated speed and rotor position information can be obtained over the full speed range.
[0126] S202: Determine a learning rate for a current iteration based on a preset initial learning rate and gradients generated in all iterations before the current iteration.
[0127] Within the same range of electrical angular velocity and rotor position angle, the peak value of the cost function increases with the increase of synchronous motor speed, that is, the gradient value of the cost function at the electrical angular velocity and rotor position angle also increases, resulting in a larger single parameter update under the same learning rate, which causes over-adjustment, oscillation and even divergence of the cost function, and further causes the optimization algorithm based on a fixed learning rate to fail to meet the reliable convergence of the cost function in the full-speed domain speed regulation process of the synchronous motor. The learning rate determines the step size of the model parameter update, and the learning rate affects the training effect and convergence speed of the cost function.
[0128] In this embodiment, the initial learning rate is a pre-set value, which determines the step size of the cost function parameter update in the initial stage of training. The initial learning rate is scaled so as to adjust the learning rate according to the loss change during training and the performance on the validation set. For example, if the cost function model converges slowly, the learning rate is increased; if the cost function loss fluctuates greatly or the performance degrades, the learning rate is reduced. Figure 3 , Figure 4 and Figure 5 As shown in the figure, the cost function images at synchronous motor speeds of 500 rpm, 1000 rpm, and 1500 rpm, as well as the optimization curves for different learning rates are shown. Figure 3 , Figure 4 and Figure 5 It can be concluded that as the speed increases, the gradient of the cost function near the initial value increases, resulting in a larger single parameter update at the same learning rate, which causes over-adjustment, oscillation, and even divergence of the cost function. Therefore, it is necessary to scale the cost function to obtain a suitable learning rate and obtain the learning rate of the cost function for each iteration.
[0129] S203, updating the electric angular velocity estimate and the rotor position angle estimate of the current iteration with the gradient of the current iteration point and the learning rate of the current iteration, obtaining updated electric angular velocity estimate and rotor position angle estimate, and using the updated electric angular velocity estimate and rotor position angle estimate as the electric angular velocity estimate and rotor position angle estimate to be set in the next iteration.
[0130] In this embodiment, the initial fixed learning rate is scaled according to the historical gradient information to obtain a learning rate that matches the current cost function amplitude, and further iterative optimization is performed through the gradient descent method. An adaptive learning rate optimization algorithm is used to ensure reliable convergence of the cost function that changes with the speed in each switching cycle, thereby obtaining accurate electrical angular velocity estimation and rotor position angle estimation information in the full speed range, without the need for switching and independent tuning of the two types of observers in the traditional composite method in the full speed range.
[0131] In a specific embodiment of the present application, calculating the gradient of the cost function at the current iteration point includes:
[0132] The cost function is used to calculate the gradient of the cost function at the current iteration point using the estimated electrical angular velocity and rotor position angle of the current iteration, the α-axis current and β-axis current, the α-axis current change rate and β-axis current change rate, and the α-axis voltage and β-axis voltage.
[0133] In a specific embodiment of the present application, the cost function , using the estimated value of the electrical angular velocity and rotor position angle of the current iteration, the α-axis current and β-axis current , α-axis current change rate and the β-axis current change rate , and the α-axis voltage and β axis voltage , calculate the gradient of the cost function at the current iteration point for:
[0134] .
[0135] In a specific embodiment of the present application, based on a preset initial learning rate and the gradients generated in all iterations before the current iteration, the learning rate of the current iteration is determined, including:
[0136] Set the initial learning rate to , the learning rate of the current iteration It is expressed as:
[0137] ;
[0138] ;
[0139] in, Indicates The exponentially weighted moving average of the squared gradients at iterations, is a positive constant, β represents the decay rate, and the initial value , Represents the element multiplication of the matrix, the initial learning rate Is a constant value. is a positive constant with a very small amplitude, which is used to ensure that the denominator is not zero during the operation. For example, Take .
[0140] In a specific embodiment of the present application, the estimated electrical angular velocity value and the estimated rotor position angle value of the current iteration are updated with the gradient of the current iteration point and the learning rate of the current iteration to obtain the updated estimated electrical angular velocity value and the estimated rotor position angle value, including:
[0141] According to the estimated value of the electrical angular velocity of the current iteration and the estimated rotor position angle , the learning rate of the current iteration and the gradient of the current iteration point , calculate the updated electrical angular velocity estimate and the estimated rotor position angle :
[0142] .
[0143] The updated electrical angular velocity estimate and the estimated rotor position angle The electrical angular velocity estimate value and the rotor position angle estimate value set at the next iteration are used to calculate the value of the cost function at the next iteration.
[0144] For example, the function value threshold is set to 10 -5 , when the value of the cost function is less than 10 -5 When , the iteration is stopped, and the electrical angular velocity estimation value and the rotor position angle estimation value of the current iteration are used as the optimal electrical angular velocity estimation value and the optimal rotor position angle estimation value. The number threshold can be set according to system resources or actual needs.
[0145] In this embodiment, the relationship between the change of the cost function amplitude and the motor speed is taken into account, the initial learning rate is scaled to obtain a learning rate that is adapted to the current cost function amplitude, and the gradient descent method is used to iteratively optimize to ensure the reliable convergence of the cost function that changes with the speed in each switching cycle, so that accurate estimated speed and rotor position information can be obtained in the full speed range without switching between different position observation methods.
[0146] like Figure 6 The block diagram of the synchronous motor position sensorless control system is shown in the figure. The three-phase current of the synchronous motor is transformed into the α-axis current and β-axis current , α axis current and β-axis current Input the cost function. The cost function also includes the α-axis current change rate , β-axis current change rate 、α-axis actual voltage And the actual voltage of β axis . The cost function is conditioned by the gradient descent algorithm. Iterate and converge to obtain an estimated value of electrical angular velocity close to the actual value and rotor position angle Estimated value, estimated from electrical angular velocity Calculate actual speed . The actual speed and given speed Input speed PI controller, speed PI controller compares the actual speed and given speed The error of the output current loop is , . Set the given current , The input current inner loop PI regulator converts the α-axis current and β-axis current Obtaining the actual current through coordinate transformation , , the current inner loop PI regulator compares the actual current , and given current , The error, combined with the rotor position angle Estimated value, output synchronous motor d-axis reference voltage and q-axis reference voltage The synchronous motor is connected to a three-phase inverter and controlled by voltage space vector pulse width modulation (SVPWM) to achieve the control of the synchronous motor. Space vector pulse width modulation is applied to inverter and motor drive systems. Space vector pulse width modulation improves conversion efficiency and output voltage quality while reducing harmonics by controlling the three-phase voltage vector to be close to the ideal DC voltage.
[0147] In a specific embodiment of the present application, simulation parameters of the synchronous motor are shown in the following table:
[0148]
[0149] like Figure 7 As shown in the figure, the power spectral density (PSD) of the phase current using the high-frequency injection method and its noise reduction strategy is compared with the proposed method, including pseudo-random frequency high-frequency injection method (RFHFVI) and pseudo-random phase high-frequency voltage injection method (RPHFVI). The square wave signal frequency of the traditional pulse high-frequency voltage injection method (HFVI) is The high frequency PSD is 2.5 kHz and 40 V. and its odd multiple discrete spectra, with a maximum value of -14.6dB. To ensure the consistent amplitude of the high-frequency current response, the injection voltage of the pseudo-random frequency injection method is randomly selected from two sets of square wave voltages: 2.5 kHz, 40 V and 1.25 kHz, 20 V. The discrete spectrum peak of the PSD is extended to the surrounding frequencies, and the peak is reduced to -23.7 dB. The pseudo-random phase injection method randomly selects from square wave signals with phases of 90° and 270°. The introduced high-frequency PSD contains only continuous spectra with a peak value of -26.3 dB. In contrast, the spectrum peaks of the method of the present application are all -48.0 dB, with a frequency of around 20 kHz, which is generated by the inverter voltage modulation process. In contrast, the method of the present application can obtain a better auditory experience and higher operating efficiency.
[0150] like Figure 8 As shown in Figure 1, the step response of the method of the present application for estimating the rotor speed and position is demonstrated. The initial learning rate is set to , the number of iterations is set to 20. Under half-rated load, the synchronous motor can quickly execute speed commands at both 500 rpm and 3000 rpm. At 3000 rpm, there is a static error of 36.6 rpm between the estimated speed and the actual speed, which is related to the limited number of iterations. The peak error of the estimated speed is 90.2 rpm, which occurs when the speed rises rapidly to 3000 rpm. The estimated rotor position is consistent with the actual rotor position, with a peak error of 5.1°. At 0.2 seconds, the speed dropped by 260 rpm due to the sudden increase in load to full load, and then followed back to the set 3000 rpm. It can be seen that the method of the present application has good speed regulation performance and anti-interference ability under full-speed conditions.
[0151] Based on the same inventive concept, the embodiment of the present application also provides a synchronous motor position sensorless control device for implementing the synchronous motor position sensorless control method involved above. The implementation solution provided by the device to solve the problem is similar to the implementation solution recorded in the above method, so the specific limitations in one or more device embodiments provided below can refer to the limitations of the synchronous motor position sensorless control method above, and will not be repeated here.
[0152] like Fig. 9 As shown, the present application also provides a synchronous motor position sensorless control device, the device comprising:
[0153] A first acquisition module 901 is used to acquire the α-axis current and the β-axis current of the motor in the current switching cycle, and determine the α-axis current change rate and the β-axis current change rate in the current switching cycle based on the α-axis current and the β-axis current;
[0154] The second acquisition module 902 is used to acquire the α-axis voltage and the β-axis voltage of the motor in the current switching cycle;
[0155] The cost function calculation module 903 is used to construct the α-axis and β-axis voltage equation groups of the motor in a stationary coordinate system, construct the cost function of the rotor's electrical angular velocity and rotor position angle based on the voltage equation group, and iteratively calculate the cost function, wherein for each iteration, the electrical angular velocity estimation value and the rotor position angle estimation value of the current iteration are set, and the value of the cost function in the current iteration is calculated based on the electrical angular velocity estimation value and the rotor position angle estimation value, the α-axis current and the β-axis current, the α-axis current change rate and the β-axis current change rate, and the α-axis voltage and the β-axis voltage, until the iteration is greater than or equal to the number threshold and / or the value of the cost function in the current iteration is less than or equal to the function value threshold, then the iteration is stopped, and the electrical angular velocity estimation value and the rotor position angle estimation value of the current iteration are used as the optimal electrical angular velocity estimation value and the optimal rotor position angle estimation value;
[0156] The control module 904 is used to perform closed-loop control on the motor using the optimal electrical angular velocity estimation value and the optimal rotor position angle estimation value.
[0157] In this embodiment, a cost function based on the voltage equation is constructed, and the cost function optimization algorithm is used to find the optimal solution, thereby obtaining the optimal electrical angular velocity estimate and the optimal rotor position angle. No additional high-frequency signal injection is required, and no corresponding high-frequency harsh noise and additional loss problems will be caused. In addition, this method can meet the operating requirements of the full-speed speed regulation range, and accurate estimated speed and rotor position information can be obtained in the full-speed range. There is no need to switch between multiple observers and independent adjustment, and it has strong versatility and low complexity.
[0158] An embodiment of the present application further provides a computer-readable storage medium, in which a computer program is stored. When the computer program is executed by a processor, any of the above-mentioned synchronous motor position sensorless control methods is implemented.
[0159] Fig.10 It is a schematic diagram of the hardware structure of a computer device provided in an embodiment of the present application. Fig.10 The computer device shown includes: a processor 1001, a communication interface 1002, a memory 1003 and a communication bus 1004. The processor 1001, the communication interface 1002 and the memory 1003 communicate with each other via the communication bus 1004. Fig.10 The connection method between the processor 1001, the communication interface 1002, and the memory 1003 shown is merely exemplary. During implementation, the processor 1001, the communication interface 1002, and the memory 1003 may also be connected to each other in communication with each other using other connection methods besides the communication bus 1004.
[0160] The memory 1003 can be used to store a computer program, which may include instructions and data to implement the steps of any of the above synchronous motor position sensorless control methods. In an embodiment of the present application, the memory 1003 may be various types of storage media, such as random access memory (RAM), read-only memory (ROM), non-volatile RAM (NVRAM), programmable ROM (PROM), erasable PROM (EPROM), electrically erasable PROM (EEPROM), flash memory, optical storage, and registers. The memory 1003 may include a hard disk and / or a memory.
[0161] The processor 1001 may be a general-purpose processor, which may be a processor that performs specific steps and / or operations by reading and executing a computer program (e.g., a computer program) stored in a memory (e.g., memory 1003). The general-purpose processor may use data stored in the memory (e.g., memory 1003) during the execution of the steps and / or operations. The general-purpose processor may be, for example, but not limited to, a central processing unit (CPU). In addition, the processor 1001 may also be a dedicated processor, which may be a processor specially designed to perform specific steps and / or operations. The dedicated processor may be, for example, but not limited to, an ASIC and an FPGA. In addition, the processor 1001 may also be a combination of multiple processors, such as a multi-core processor.
[0162] The communication interface 1002 may include an input / output (I / O) interface, a physical interface, and a logical interface for interconnecting devices within the network device, as well as an interface for interconnecting the network device with other devices (e.g., network devices). The communication network may be Ethernet, a radio access network (RAN), a wireless local area network (WLAN), etc. The communication interface 1002 may be a module, a circuit, a transceiver, or any device capable of implementing communication.
[0163] In the implementation process, each step of the above method can be completed by an integrated logic circuit of the hardware in the processor 1001 or an instruction in the form of software. The method disclosed in conjunction with the embodiment of the present application can be directly embodied as a hardware processor for execution, or a combination of hardware and software modules in the processor for execution. The software module can be located in a mature storage medium in the art such as a random access memory flash memory, a read-only memory, a programmable read-only memory or an electrically erasable programmable memory, a register, etc. The storage medium is located in the memory 1003, and the processor 1001 reads the information in the memory 1003 and completes the steps of the above method in conjunction with its hardware. To avoid repetition, it is not described in detail here.
[0164] The above description of the embodiments is to facilitate the understanding and application of the present application by those skilled in the art. It is obvious that those familiar with the art can easily make various modifications to the above embodiments and apply the general principles described herein to other embodiments without creative work. Therefore, the present application is not limited to the above embodiments, and improvements and modifications made to the present application by those skilled in the art based on the disclosure of the present application should be within the scope of protection of the present application.
Claims
1. A synchronous motor position sensorless control method, characterized in that: The method comprises: Acquire the α-axis current and β-axis current of the motor in a current switching cycle, and determine the α-axis current change rate and β-axis current change rate in the current switching cycle based on the α-axis current and β-axis current; Acquire the α-axis voltage and β-axis voltage of the motor in the current switching cycle; Construct the α-axis and β-axis voltage equations of the motor in a stationary coordinate system, construct the cost function of the electrical angular velocity and rotor position angle of the motor rotor based on the voltage equations, and iterate the cost function, wherein: For each iteration, the electric angular velocity estimation value and the rotor position angle estimation value of the current iteration are set, and the value of the cost function in the current iteration is calculated using the electric angular velocity estimation value and the rotor position angle estimation value, the α-axis current and the β-axis current, the α-axis current change rate and the β-axis current change rate, and the α-axis voltage and the β-axis voltage. The iteration is stopped until the number of iterations is greater than or equal to a number threshold and / or the value of the cost function in the current iteration is less than a function value threshold, and the electric angular velocity estimation value and the rotor position angle estimation value of the current iteration are used as the optimal electric angular velocity estimation value and the optimal rotor position angle estimation value; Performing closed-loop control on the motor using the optimal electrical angular velocity estimate and the optimal rotor position angle estimate; The iterative calculation of the cost function includes: For each iteration, taking the estimated value of the electrical angular velocity and the estimated value of the rotor position angle of the current iteration as the current iteration point, calculating the gradient of the cost function at the current iteration point; Determine the learning rate of the current iteration of the cost function based on a preset initial learning rate, the gradient of the current iteration point, and an exponentially weighted moving average of the square of the gradient at the previous iteration; The electrical angular velocity estimate and the rotor position angle estimate of the current iteration are updated with the gradient of the current iteration point and the learning rate of the current iteration to obtain updated electrical angular velocity estimate and rotor position angle estimate, and the updated electrical angular velocity estimate and rotor position angle estimate are used as the electrical angular velocity estimate and rotor position angle estimate to be set in the next iteration.
2. The synchronous motor position sensorless control method according to claim 1, characterized in that: Calculating the gradient of the cost function at the current iteration point includes: The cost function is used to calculate the gradient of the cost function at the current iteration point using the estimated electrical angular velocity and rotor position angle of the current iteration, the α-axis current and β-axis current, the α-axis current change rate and β-axis current change rate, and the α-axis voltage and β-axis voltage.
3. The synchronous motor position sensorless control method according to claim 1, characterized in that: Constructing a group of voltage equations of the α-axis and β-axis of the motor in a stationary coordinate system, and constructing a cost function of the electrical angular velocity and the rotor position angle of the rotor based on the group of voltage equations, including: In the stationary coordinate system, the voltage equations of the motor are: ; in, is the estimated value of electrical angular velocity, is the estimated value of the rotor position angle, is the α-axis current, is the β-axis current, is the α-axis voltage, is the β-axis voltage, is the α-axis current change rate, is the β-axis current change rate, is the stator resistance, is the excitation flux, , , and are the stator d-axis inductance and q-axis inductance respectively; Based on the voltage equations, the cost function of the rotor electrical angular velocity and the rotor position angle is constructed. for: ; in, is the number of iterations.
4. The synchronous motor position sensorless control method according to claim 3, characterized in that: Calculating the gradient of the cost function at the current iteration point includes: The cost function is used to calculate the gradient of the cost function at the current iteration point using the estimated electrical angular velocity and rotor position angle of the current iteration, the α-axis current and the β-axis current, the α-axis current change rate and the β-axis current change rate, and the α-axis voltage and the β-axis voltage. for: 。 5. The synchronous motor position sensorless control method according to claim 4, characterized in that: Determining the learning rate of the current iteration of the cost function based on a preset initial learning rate, the gradient of the current iteration point, and the exponentially weighted moving average of the square of the gradient at the previous iteration includes: Set the initial learning rate to , the learning rate of the current iteration It is expressed as: ; ; in, Indicates The exponentially weighted moving average of the squared gradients at iterations, is a positive constant, β represents the decay rate, Indicates The exponentially weighted moving average of the squared gradient at iterations, initial value , Represents the element multiplication of the matrix, the initial learning rate Is a constant value.
6. The synchronous motor position sensorless control method according to claim 5, characterized in that: The method of updating the estimated electrical angular velocity value and the estimated rotor position angle value of the current iteration by using the gradient of the current iteration point and the learning rate of the current iteration to obtain updated estimated electrical angular velocity value and estimated rotor position angle value includes: According to the estimated value of the electrical angular velocity of the current iteration and the rotor position angle estimate , the learning rate of the current iteration , the gradient of the current iteration point , calculate the updated electrical angular velocity estimate and the rotor position angle estimate : 。 7. The synchronous motor position sensorless control method according to claim 1, characterized in that: The obtaining of the α-axis voltage and the β-axis voltage of the motor in the current switching cycle includes: Get the reference voltage of the d and q axes of the synchronous motor , , the α and β axis reference voltages are obtained through Park inverse transformation , , the Park inverse transform formula is: ; in, is the estimated rotor position angle, According to the distribution of the three-phase current flow of the synchronous motor and the compensation relationship between the actual voltage and the three-phase current, the α-axis voltage is obtained. and β-axis voltage , the specific compensation is as follows: If the three-phase current flows , , When α axis voltage and β axis voltage for: ; If the three-phase current flows , , When α axis voltage and β axis voltage for: ; If the three-phase current flows , , When α axis voltage and β axis voltage for: ; If the three-phase current flows , , When α axis voltage and β axis voltage for: ; If the three-phase current flows , , When α axis voltage and β axis voltage for: ; If the three-phase current flows , , When α axis voltage and β axis voltage for: ; in, is the α-axis reference voltage, is the β-axis reference voltage, is the switching cycle, is the dead time, is the bus voltage.
8. A synchronous motor position sensorless control device, characterized in that: The device comprises: A first acquisition module, configured to acquire an α-axis current and a β-axis current of the motor in a current switching cycle, and determine a change rate of the α-axis current and a change rate of the β-axis current in the current switching cycle based on the α-axis current and the β-axis current; A second acquisition module, used for acquiring the α-axis voltage and the β-axis voltage of the motor in the current switching cycle; a cost function calculation module, for constructing a group of voltage equations for the α-axis and β-axis of the motor in a stationary coordinate system, constructing a cost function of the electrical angular velocity and the rotor position angle of the rotor based on the group of voltage equations, and iteratively calculating the cost function, wherein for each iteration, an estimated value of the electrical angular velocity and the estimated value of the rotor position angle of the current iteration are set, and the value of the cost function in the current iteration is calculated using the estimated value of the electrical angular velocity and the estimated value of the rotor position angle, the α-axis current and the β-axis current, the rate of change of the α-axis current and the rate of change of the β-axis current, and the α-axis voltage and the β-axis voltage, until the iteration is greater than or equal to a number threshold and / or the value of the cost function in the current iteration is less than or equal to a function value threshold, then the iteration is stopped, and the estimated value of the electrical angular velocity and the estimated value of the rotor position angle of the current iteration are used as the optimal estimated value of the electrical angular velocity and the optimal estimated value of the rotor position angle; A control module, configured to perform closed-loop control on the motor using the optimal electrical angular velocity estimate and the optimal rotor position angle estimate; Among them, the cost function calculation module is specifically used for: For each iteration, taking the estimated value of the electrical angular velocity and the estimated value of the rotor position angle of the current iteration as the current iteration point, calculating the gradient of the cost function at the current iteration point; Determine the learning rate of the current iteration of the cost function based on a preset initial learning rate, the gradient of the current iteration point, and an exponentially weighted moving average of the square of the gradient at the previous iteration; The electrical angular velocity estimate and the rotor position angle estimate of the current iteration are updated with the gradient of the current iteration point and the learning rate of the current iteration to obtain updated electrical angular velocity estimate and rotor position angle estimate, and the updated electrical angular velocity estimate and rotor position angle estimate are used as the electrical angular velocity estimate and rotor position angle estimate to be set in the next iteration.
9. A computer storage medium having a computer program stored thereon, characterized in that: When the computer program is executed on a computer, the computer is enabled to execute the synchronous motor position sensorless control method according to any one of claims 1 to 7.
Citation Information
Patent Citations
Motor rotor position and speed estimation method based on accelerated Fresnel loff algorithm
CN116191963A