Method for determining initial rotor angle of permanent magnet synchronous motor and permanent magnet synchronous motor

By accumulating the sampling value of the permanent magnet synchronous motor, the problem of being susceptible to noise interference in the initial location of existing technologies was solved, and higher measurement accuracy and lower risk of motor reversal were achieved.

CN119382559APending Publication Date: 2025-01-28HEFEI GEYI INTEGRATED CIRCUIT CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202310936839.5
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2023-07-26
Publication Date
2025-01-28

AI Technical Summary

Technical Problem

The existing permanent magnet synchronous motor initial position detection scheme is susceptible to noise interference, making it difficult to accurately avoid motor reversal.

Method used

By accumulating the response current sampling value, judge the initial position of the rotor based on the size of the accumulated value or its average value, eliminate high -frequency interference, and improve the measurement accuracy.

Benefits of technology

Effectively eliminates high -frequency interference, improves the accuracy and resolution of the initial position measurement of the rotor, and reduces the possibility of motor reversal.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119382559A_ABST
    Figure CN119382559A_ABST
Patent Text Reader

Abstract

The invention discloses a permanent magnet synchronous motor initial rotor angle determination method and a permanent magnet synchronous motor. The method comprises the following steps: injecting a square wave pulse in a preset direction, and continuously sampling response current corresponding to the preset direction for multiple times by using an ADC (Analog to Digital Converter); carrying the plurality of sampling values to an array corresponding to the predetermined direction in real time; calculating an accumulated value or a mean value of the response current as a current value according to sampling values stored in the array; and determining an initial rotor angle of the motor according to the current value. According to the invention, the response current sampling values are accumulated, and the initial position of the rotor is judged according to the accumulated value or the mean value thereof, so that high-frequency interference is eliminated, and the measurement precision is improved. Furthermore, an optimal initial position point is found through a standard deviation discrimination method, and the recognition resolution of the initial position of the rotor is improved. The initial position can be judged by combining two-two conduction and three-three conduction.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to the field of motors, and in particular to a method for determining an initial rotor angle of a permanent magnet synchronous motor and a permanent magnet synchronous motor. Background Art

[0002] In the control process of permanent magnet synchronous motor (PMSM), in order to obtain the maximum torque output in the entire control cycle, FOC (Field-Oriented Control) is often used to control the motor.

[0003] Park transformation and inverse Park transformation in FOC control both require knowledge of the rotor position θ. The closer the detected rotor position θ is to the actual position, the closer the torque output in the control process is to the maximum torque output. Common PMSM position detection is generally divided into sensor position detection and sensorless position detection. Sensor position detection generally includes Hall sensor position detection and encoder position detection; sensorless detection generally includes sliding mode position detection, Lumberg position detection and other position detections. Among them, the incremental encoder detection in encoder position detection and sensorless position detection usually use VF (constant voltage-frequency ratio) or IF (constant current-frequency ratio) starting methods at startup. When performing VF / IF startup, the initial position of the rotor needs to be known to avoid motor reversal caused by open-loop forced drag. However, the existing initial position detection scheme (for example, injection position detection) is susceptible to noise interference and is likely to be opposite to the actual position, so it is difficult to avoid the occurrence of motor reversal.

[0004] Therefore, an improved rotor initial position identification scheme is needed. Summary of the invention

[0005] A technical problem to be solved by the present disclosure is to provide a method for determining the initial rotor angle of a permanent magnet synchronous motor and a permanent magnet synchronous motor. The method accumulates the response current sampling values ​​and determines the initial rotor position according to the accumulated value or its mean value, thereby eliminating high-frequency interference and improving measurement accuracy.

[0006] According to the first aspect of the present disclosure, a method for determining the initial rotor angle of a permanent magnet synchronous motor is provided, comprising: injecting square wave pulses in a predetermined direction, and using an analog-to-digital converter ADC to continuously sample a response current corresponding to the predetermined direction for multiple times; transferring multiple sampled values ​​to an array corresponding to the predetermined direction in real time; calculating an accumulated value or an average value of the response current as a current value based on the sampled values ​​stored in the array; and determining the initial rotor angle of the motor based on the current value.

[0007] Optionally, the ADC is set to a continuous sampling mode to perform multiple consecutive samplings of the response current corresponding to the predetermined direction during the injection of the square wave pulse in the predetermined direction.

[0008] Optionally, transferring the sampled response current value to an array corresponding to the predetermined direction in real time includes: transferring the response current sample value to an array corresponding to the predetermined direction in real time through a direct memory access (DMA) module.

[0009] Optionally, the method injects square wave pulses in multiple predetermined directions, and determines the initial rotor angle of the motor based on the current value, including: selecting the maximum current value from multiple current values ​​in multiple predetermined directions, and determining the initial rotor angle of the motor based on the maximum current value.

[0010] Optionally, the multiple predetermined directions are multiple predetermined directions that are evenly spaced, and a maximum current value is selected from the multiple current values ​​of the multiple predetermined directions, and determining the initial rotor angle of the motor based on the maximum current value includes: obtaining the standard deviation of the multiple current values; calculating the ratio of the difference between the maximum current value and the current values ​​corresponding to the adjacent injection directions on both sides to the standard deviation to obtain a reduced angle error and an increased angle error; and determining whether the initial rotor angle is greater than, equal to or less than the injection angle corresponding to the maximum current value based on the reduced angle error and the increased angle error.

[0011] Optionally, determining whether the initial rotor angle is greater than, equal to or less than the injection angle corresponding to the maximum current value based on the reducing angle error and the increasing angle error includes: selecting a smaller value from the reducing angle error and the increasing angle error; when the smaller value is greater than the threshold, determining that the initial rotor angle is equal to the injection angle corresponding to the maximum current value; when the smaller value is the reducing angle error and less than the threshold, determining that the initial rotor angle is between the injection angle corresponding to the maximum current value and an adjacent smaller injection angle; and when the smaller value is the increasing angle error and less than the threshold, determining that the initial rotor angle is between the injection angle corresponding to the maximum current value and an adjacent larger injection angle.

[0012] Optionally, selecting the maximum current value from the multiple current values ​​in the multiple predetermined directions and determining the initial rotor angle of the motor according to the maximum current value includes: selecting the maximum current value from the multiple current values ​​in the multiple predetermined directions according to two-two conduction and / or three-three conduction, and determining the initial rotor angle of the motor according to the maximum current value.

[0013] Optionally, selecting the maximum current value from the multiple current values ​​in the multiple predetermined directions according to the two-two conduction and / or three-three conduction, and determining the initial rotor angle of the motor according to the maximum current value includes: selecting a first maximum current value from the multiple first current values ​​in the multiple predetermined directions corresponding to the three-three conduction, determining a first angle according to the first maximum current value, and selecting a second maximum current value from the multiple second current values ​​in the multiple predetermined directions corresponding to the two-two conduction, determining a second angle according to the second maximum current value; and calculating the average of the first angle and the second angle as the initial rotor angle of the motor.

[0014] Optionally, a first maximum current value is selected from a plurality of first current values ​​of a plurality of predetermined directions corresponding to the three-three conduction, a first angle is determined based on the first maximum current value, and a second maximum current value is selected from a plurality of second current values ​​of a plurality of predetermined directions corresponding to the two-two conduction, and a second angle is determined based on the second maximum current value, including: measuring a first degree of difference between the first maximum current value and current values ​​corresponding to adjacent injection directions on both sides, and determining the first angle based on the first degree of difference; and measuring a second degree of difference between the second maximum current value and current values ​​corresponding to adjacent injection directions on both sides, and determining the second angle based on the second degree of difference.

[0015] Optionally, the method injects the square wave pulse in multiple predetermined directions, and the method includes: after completing the square wave pulse injection in the current predetermined direction, waiting for a predetermined time and then starting the square wave pulse injection in the next predetermined direction, wherein the predetermined time is an integer multiple of the square wave voltage time.

[0016] According to a second aspect of the present disclosure, a permanent magnet synchronous motor is provided, comprising: a motor; a magnetic oriented vector control module, used to control the motor and execute the method described in the first aspect to determine the initial rotor angle, and comprising: an injection module, used to inject square wave pulses in different predetermined directions; an acquisition module, used to acquire the current value corresponding to each of the predetermined directions; and a calculation module, used to calculate the accumulated value or average value of each response current corresponding to a plurality of different predetermined directions as a plurality of current values ​​according to the response current values ​​stored in an array; and determine the initial rotor angle of the motor according to the plurality of current values.

[0017] Optionally, the acquisition module includes: a sampling submodule, used to sample the response current of the observed d-axis during square wave injection; and a storage submodule, used to store multiple groups of response current values ​​of the observed d-axis that are continuously sampled, and thereby obtain the accumulated value or mean value of the response current value corresponding to each of the predetermined directions.

[0018] Therefore, the present disclosure accumulates the response current sampling values ​​and determines the initial position of the rotor according to the size of the accumulated value or its mean, thereby eliminating high-frequency interference and improving measurement accuracy. Further, the optimal initial position point is found by the standard deviation discrimination method to improve the resolution of the rotor initial position identification. The initial position can also be determined by combining the two-two conduction and the three-three conduction. BRIEF DESCRIPTION OF THE DRAWINGS

[0019] The above and other objects, features and advantages of the present disclosure will become more apparent through a more detailed description of exemplary embodiments of the present disclosure in conjunction with the accompanying drawings, wherein like reference numerals generally represent like components in the exemplary embodiments of the present disclosure.

[0020] Figure 1 The schematic diagram of FOC control for PMSM is shown.

[0021] Figure 2 The injected voltage and the response current at various predetermined angles are shown.

[0022] Figure 3 A schematic flow chart of a method for determining an initial rotor angle of a permanent magnet synchronous motor according to an embodiment of the present invention is shown.

[0023] Figure 4 Examples of response currents and corresponding accumulated values ​​sampled when injecting square wave pulses at multiple predetermined angles are shown.

[0024] Figure 5 Examples of response currents and corresponding accumulated values ​​sampled when injecting square wave pulses at multiple predetermined angles are shown.

[0025] Figure 6 An example of the relative relationship between the real d-axis and q-axis and the observed d-axis and q-axis under the αβ coordinate axis is shown.

[0026] Figure 7 The theoretical current obtained with different Δθ without considering the saturation salient effect is shown. value.

[0027] Figure 8 The theoretical current obtained by considering the saturation salient effect with different Δθ is shown. value.

[0028] Fig. 9 A schematic diagram showing the voltage vectors in six directions during the three-to-three conduction process.

[0029] Fig.10 An example of current flow when three-three conduction occurs is shown.

[0030] Fig.11 Shows Fig.10Schematic diagram of the resultant voltage under the conditions of winding flow shown.

[0031] Fig.12 An example of current flow when two-two conduction occurs is shown.

[0032] Fig.13 Shows Fig.12 Schematic diagram of the resultant voltage under the conditions of winding flow shown.

[0033] Fig.14A -C is a schematic diagram showing the direction of the synthetic voltage vector for two-two conduction and three-three conduction.

[0034] Fig.15 A schematic flow chart of a method for determining an initial rotor angle of a permanent magnet synchronous motor according to an embodiment of the present disclosure is shown.

[0035] Fig.16 The response currents sampled when square wave pulses are injected at multiple predetermined angles and the corresponding accumulated values ​​are shown.

[0036] Fig.17 A schematic diagram of a permanent magnet synchronous motor according to an embodiment of the present invention is shown. DETAILED DESCRIPTION

[0037] The preferred embodiments of the present disclosure will be described in more detail below with reference to the accompanying drawings. Although the preferred embodiments of the present disclosure are shown in the accompanying drawings, it should be understood that the present disclosure can be implemented in various forms and should not be limited by the embodiments described herein. On the contrary, these embodiments are provided to make the present disclosure more thorough and complete, and to fully convey the scope of the present disclosure to those skilled in the art.

[0038] In the control process of permanent magnet synchronous motor (PMSM), in order to obtain the maximum torque output in the entire control cycle, FOC (magnetic oriented vector control) is often used to control the motor. Figure 1 The schematic diagram of FOC control for PMSM is shown.

[0039] As shown in the figure, a position sensor such as a magnetic encoder obtains the rotor speed n and the rotor position θ of the motor M. In practical applications, for example, a speed reference n obtained based on user input ref The difference is made with the rotor speed n obtained and is input into the PID 1 (i.e., speed loop PID). The output of the speed loop PID is the q-axis reference current i qref For simplicity, when weak magnetic control is not performed, the d-axis reference current i dref = 0. At this time, the reference current i of the q-axis and d-axis can be qref and i dref The q-axis and d-axis current i of the motor are actually fed backq and i d Make a difference and pass through PID 2 (i.e., q-axis current loop) and PID 3 (i.e., the d-axis current loop) outputs the q-axis and d-axis voltages V after adjustment. d and V q , and then converted into α-axis and β-axis voltage V through Park inverse transformation α and V β , and then through SVPWM (space voltage vector modulation) to obtain the three-phase voltage V a 、V b 、V c , and then drives the motor M to rotate through the three-phase inverter bridge. In FOC control, the three-phase current i is obtained through the sampling resistor a 、i b 、i c , after Clark transformation, we get the α-axis and β-axis current i α and i β , and then the feedback d-axis and q-axis currents i are obtained through Park transformation d and i q , enter PID 2 and PID 3 Participate in current loop control.

[0040] exist Figure 1 Among the components shown, except for the motor M and the three-phase inverter bridge, the other parts can be regarded as part of the MCU (microcontroller) of the motor, which is used to perform FOC control on the motor.

[0041] In FOC control, Park transform and Park inverse transform are as follows: Figure 1 All of the above require knowledge of the rotor position θ (i.e., the electrical angle θ of the motor rotor. The motor rotor rotates 360° in one electrical cycle. Therefore, the value range of the vertical axis position (θ) in the following position-time figure is 0° to 360°). The closer the detected rotor position θ is to the actual position, the closer the torque output in the control process is to the maximum torque output.

[0042] Position detection is generally divided into sensor position detection and sensorless position detection. Sensor position detection generally includes Hall sensor position detection and encoder position detection. This detection method is achieved by installing a Hall sensor or a magnetic encoder on the motor. Figure 1 The rotor position and speed detection module in the controller can be realized by a magnetic encoder.

[0043] However, in some applications, for example, due to cost or integration considerations, it is necessary to realize position detection and motor control without sensors. Sensorless detection includes sliding mode position detection, Lumberg position detection, injection position detection, etc. Among them, the incremental encoder detection in the encoder position detection and the sensorless position detection usually adopt VF (constant voltage-frequency ratio) or IF (constant current-frequency ratio) starting method at startup. When performing VF / IF startup, it is necessary to know the initial position of the rotor to avoid motor reversal caused by open-loop forced drag, and the existing initial position detection scheme (for example, injection position detection) is susceptible to noise interference and may be opposite to the actual position, so it is difficult to avoid the occurrence of motor reversal. In some applications, such as some pump loads, motor reversal can easily damage the equipment.

[0044] At present, the most common initial position recognition method is the signal processing method of square wave pulse injection, which is mostly carried out in six directions of 0°, 60°, 120°, 180°, 240°, and 300°. After a period of injection (depending on the characteristics of the motor, the time is different, generally tens or hundreds of microseconds), the response current at this time is sampled by ADC (the current value is sampled once in each of the six directions), and according to the magnitude of the response current in the six directions, the injection direction with the largest response current is selected as the initial position of the rotor. This signal processing method works better for response currents with less noise, but in some application scenarios where the current is mixed with larger noise, this signal processing method is very likely to cause errors in the initial position judgment of the rotor.

[0045] Figure 2 The injected voltage and the response current at multiple predetermined angles are shown. Figure 2 As shown in the figure, there is a lot of noise in the response current, and the noise amplitude is large. If only one current value is sampled, it is very easy to be interfered by the noise, resulting in failure to judge the initial position of the rotor. In addition, the injection of a square wave signal for a short time (such as within 100us) will cause a large change in the current impact, and the response current will show Figure 2 The shape of the triangle wave shown. To this end, the anti-interference ability can be significantly improved by continuously sampling the response current and processing its signal. The present disclosure proposes a method for determining the initial position of the rotor by continuously sampling the response current signal multiple times using the ADC (analog-to-digital converter) on the MCU (microcontroller unit) during the injection of the square wave pulse, and using the accumulated value or average value obtained thereby. In this way, the influence of the burr phenomenon on the measurement accuracy can be avoided or reduced, and the rotor position measurement accuracy can be improved.

[0046] Figure 3 A schematic flow chart of a method for determining an initial rotor angle of a permanent magnet synchronous motor according to an embodiment of the present invention is shown.

[0047] In step S310, a square wave pulse is injected in a predetermined direction, and the ADC is used to continuously sample the response current corresponding to the predetermined direction for multiple times. Here, the predetermined direction may be one of multiple predetermined directions for square wave injection. Depending on the identification strategy adopted, in one embodiment, the multiple predetermined directions may be Figure 2 In the embodiment shown in FIG. 1 , the plurality of predetermined directions may be six directions of 0°, 60°, 120°, 180°, 240°, and 300° (corresponding to the three-three conduction mode described in detail below in conjunction with the formula). In another embodiment, the plurality of predetermined directions may be six directions of 30°, 90°, 150°, 210°, 270°, and 330° (corresponding to the two-two conduction mode described in detail below in conjunction with the formula). In yet another embodiment, the plurality of predetermined directions may be twelve directions including the three-three conduction mode and the two-two conduction mode described above.

[0048] In step S320, the sampled multiple response current values ​​can be transferred to an array corresponding to the predetermined direction in real time. The ADC can be set to a continuous sampling mode to perform multiple continuous sampling of the response current corresponding to the predetermined direction during the injection of the square wave pulse in the predetermined direction. At the same time, the sampled response current values ​​can be transferred to the array corresponding to the predetermined direction in real time through a DMA (direct memory access) module.

[0049] Specifically, the ADC hardware can be configured in continuous sampling mode. In continuous sampling mode, the sampling time and sampling channel of the ADC are fixed, and multiple sampling and conversion are completed in one trigger. After each conversion is completed and the result is stored in the ADC_RDATA register on the ADC, an EOC (end of convert) signal is generated to notify the DMA to read the ADC conversion result from the ADC_RDATA register and send it to the array. The array can be set in the DMA module or in the storage unit of the MCU. In the example of sampling each square wave pulse 200 times, the corresponding array length in the MCU unit can be 200. The number of arrays can be the same as the number of predetermined directions. For example, the MCU unit is provided with 6 (corresponding to the square wave injection of the three-three conduction mode or the two-two conduction mode) or 12 (corresponding to the square wave injection of the three-three conduction mode and the two-two conduction mode) arrays, each array length is 200, and is used to store 200 continuous samples in the corresponding predetermined direction.

[0050] In step S330, the cumulative value or average value of the response current is calculated as the current value according to the response current values ​​stored in the array. For example, the cumulative value or average value of 200 sampled response current values ​​in the array corresponding to the predetermined direction in the above example can be calculated as the current value of the predetermined direction. Then, in step S340, the initial rotor angle of the motor can be determined according to the current value.

[0051] As mentioned above, the method of using square wave pulse injection to determine the initial rotor angle of the motor requires injecting square wave pulses in multiple predetermined directions, and the continuous acquisition scheme disclosed in the present invention can be used to continuously sample and DMA transfer the response current for each square wave injection in each predetermined direction. After the injection in multiple directions is completed, the cumulative value or mean value of each corresponding array can be uniformly calculated, and the current value obtained thereby is used to determine the initial rotor angle of the motor, including: selecting the maximum current value from the multiple current values ​​in the multiple predetermined directions, and determining the initial rotor angle of the motor according to the maximum current value.

[0052] Figure 4 Examples of response currents and corresponding accumulated values ​​sampled when injecting square wave pulses at multiple predetermined angles are shown. Figure 4 The example shown can be viewed as Figure 2 The example shown is the accumulated value obtained after applying the continuous acquisition and accumulation method disclosed in the present invention. Figure 2 and Figure 4 In the example, conduction control is performed in a three-by-three conduction manner to inject square wave pulses in six directions of 0°, 60°, 120°, 180°, 240°, and 300°.

[0053] As shown in the figure, the accumulated current value of 0° sampling is 248.9A, the accumulated current value of 60° sampling is 283.4A, the accumulated current value of 120° sampling is 278.0A, the accumulated current value of 180° sampling is 242.4A, the accumulated current value of 240° sampling is 255.1A, and the accumulated current value of 300° sampling is 256.5A. Obviously, the size of the accumulated value can well reflect the actual size of the response current. Therefore, the use of the accumulated value method can greatly reduce the interference caused by noise and improve the success rate of the rotor initial position recognition. Similarly, the accumulated value can be divided by the number of sampling times to obtain the mean value, and the mean value can be used as the current value to determine the initial rotor angle.

[0054] exist Figure 4 In the example, the maximum current value is the accumulated current value 283.4A sampled at 60°. In one embodiment, the predetermined injection angle corresponding to the maximum current value can be directly used as the initial rotor angle of the motor. At this time, it can be considered that the initial rotor angle of the motor is 60°. However, from Figure 4 It can be noted that the current value (283.4A) of the response current obtained by injecting the 60° voltage vector and the current value (278.0A) of the response current obtained by injecting the 120° voltage vector are very close, and significantly larger than the current values ​​of the response currents at the other four angles. Therefore, when the true rotor position is near 90°, there will be an error of 30°, and this error is actually reflected in the relative difference of the accumulated value.

[0055] Therefore, in order to further reduce the measurement error, this proposal proposes a method to determine whether two adjacent current vectors are close by the degree of difference (such as standard deviation). Specifically, the degree of difference between the maximum current value and the current values ​​of the adjacent injection angles on both sides can be measured, and the initial rotor angle of the motor can be determined according to the degree of difference. For example, when the maximum current value is significantly larger than the current values ​​of the adjacent injection angles on both sides, it can be considered that the predetermined direction corresponding to the maximum current value is the initial rotor angle of the motor. When the maximum current value is close to the current value of the adjacent injection angle on one side, it can be considered that the initial rotor angle of the motor is between the two predetermined directions corresponding to the maximum current value and the current value of the adjacent injection angle on one side. Figure 4 In the example, the current value (283.4A) of the response current obtained by injecting a 60° voltage vector and the current value (278.0A) of the response current obtained by injecting a 120° voltage vector are very close. At this time, for example, it can be considered that the initial rotor angle of the motor is between 60° and 120°, for example, it can be the average of the two, that is, 90°.

[0056] In actual operation, the degree of difference needs to be quantified. To this end, in one embodiment, a standard deviation is introduced to determine whether two adjacent current vectors are close. At this time, selecting a maximum current value from a plurality of current values ​​in the plurality of predetermined directions, and determining the initial rotor angle of the motor according to the maximum current value may include:

[0057] Obtain the standard deviation of the multiple current values; calculate the ratio of the difference between the maximum current value and the current values ​​corresponding to the adjacent injection directions on both sides to the standard deviation, so as to obtain a reduced angle error (herein, "reduced angle error" refers to the error measure of the corresponding current value in the direction with the smaller angle of two predetermined directions adjacent to the direction corresponding to the maximum current value) and an increased angle error (herein, "increased angle error" refers to the error measure of the corresponding current value in the direction with the larger angle of two predetermined directions adjacent to the direction corresponding to the maximum current value); and determine whether the initial rotor angle is greater than, equal to or less than the injection angle corresponding to the maximum current value based on the reduced angle error and the increased angle error.

[0058] Specific operations may include: selecting a smaller value from the reducing angle error and the increasing angle error; when the smaller value is greater than the threshold, determining that the initial rotor angle is equal to the injection angle corresponding to the maximum current value; when the smaller value is the reducing angle error and is less than the threshold, determining that the initial rotor angle is between the injection angle corresponding to the maximum current value and an adjacent smaller injection angle; and when the smaller value is the increasing angle error and is less than the threshold, determining that the initial rotor angle is between the injection angle corresponding to the maximum current value and an adjacent larger injection angle.

[0059] In such Figure 4 In the example shown in the figure, by injecting the corresponding voltage vector of three-three conduction, the corresponding response currents i(0°), i(60°), i(120°), i(180°), i(240°), and i(300°) are obtained. The standard deviation MSE1 is calculated, the maximum response current i(α) is found, and the difference between i(α) and its adjacent response currents i(α-60°) and i(α+60°) is calculated and divided by the standard deviation to obtain error1 (i.e., reducing the angle error) and error2 (i.e., increasing the angle error), min error1 =min(error1, error2) (i.e., the smaller value), when min error1 >error threshold (Here, error threshold Corresponding to the threshold, it is generally set to 1 in practical applications), i(α) is considered to be the maximum response current obtained by three-three conduction, the true position of the rotor, that is, the first angle α real =α, when min error1 <error threshold When error1 is min error1 , then i(α-30°) is considered to be the maximum response current obtained by three-three conduction, and the actual rotor position α real =α-30°; if error2 is min error1 , then i(α+30°) is considered to be the maximum response current obtained by three-three conduction, and the actual rotor position α real =α+30°

[0060] Combination Figure 4 For example, first record the current responses obtained from the 0°, 60°, 120°, 180°, 240°, and 300° voltage vectors injected by the three-three conduction, and their values ​​are i(0°) = 248.9A, i(60°) = 283.4A, i(120°) = 278.0A, i(180°) = 242.4A, i(240°) = 255.1A, and i(, 300°) = 256.5A. The standard deviation of the current in these six directions is:

[0061]

[0062] The maximum response current is i(60°)=283.4A, and the two adjacent response currents are i(0°)=248.9A and i(120°)=278.0A, so the angle error reduction and angle error increase are:

[0063]

[0064]

[0065] Take the minimum value of error1 and error2, because the closer to the maximum response current i(60°), the smaller the difference between the two. If error2 is smaller, it can be roughly considered that 120° is closer to the true position of the rotor. At the same time, the value of error2 is 0.29, which is much smaller than the standard deviation. It can be considered that the distance between i(120°) and i(60°) and the true position of the rotor is close, and i(90°) can be considered as the maximum response current that can be obtained, that is, the rotor position is judged to be 90°.

[0066] exist Figure 4 In the example, a scheme is given in which conduction control is performed in a three-by-three conduction manner to inject square wave pulses in six different predetermined directions (i.e., 0°, 60°, 120°, 180°, 240°, and 300° directions), and the current value corresponding to each direction is determined by continuous acquisition of the response current in each corresponding direction, and the initial rotor angle of the motor is determined by selecting the maximum current value.

[0067] In another embodiment, conduction control can also be performed in a 2:2 conduction mode to inject square wave pulses in six different predetermined directions. In the 2:2 conduction mode, square wave injection is performed in six directions of 30°, 90°, 150°, 210°, 270°, and 330°. Figure 5 An example of the response current and the corresponding accumulated value sampled when injecting square wave pulses at multiple predetermined angles is shown. Figure 4 The difference is that the preset angles at this time are six directions: 30°, 90°, 150°, 210°, 270°, and 330°.

[0068] like Figure 5 As shown in the figure, there is a lot of noise in the response current, and the noise amplitude is large. If only one current value is sampled, it is very easy to be interfered by the noise, resulting in failure to judge the initial position of the rotor. In addition, the injection of a square wave signal for a short time (such as within 100us) will cause a large change in the current impact, and the response current will show Figure 5The shape of the triangle wave shown. To this end, the continuous acquisition scheme disclosed in the present invention can be used to continuously sample and DMA-transfer the response current for each square wave injection in a predetermined direction. After the injection in multiple directions is completed, the cumulative value or mean value of each corresponding array can be uniformly calculated, and the current value obtained thereby is used to determine the initial rotor angle of the motor, including: selecting the maximum current value from the multiple current values ​​in the multiple predetermined directions, and determining the initial rotor angle of the motor according to the maximum current value.

[0069] like Figure 5 As shown, the accumulated current value sampled at 30° is 188.6A, the accumulated current value sampled at 90° is 208.3A, the accumulated current value sampled at 150° is 180.7A, the accumulated current value sampled at 210° is 174.6A, the accumulated current value sampled at 270° is 186.9A, and the accumulated current value sampled at 330° is 177.3A.

[0070] exist Figure 5 In the example, the maximum current value is the accumulated current value 208.3A sampled at 90°. In one embodiment, the predetermined injection angle corresponding to the maximum current value can be directly used as the initial rotor angle of the motor. At this time, the initial rotor angle of the motor can be considered to be 90°. At this time, since the current value (208.3A) of the response current obtained by injecting a 90° voltage vector is significantly larger than the current values ​​(188.6A and 180.7A) of the response current at the adjacent angles on both sides, it can be considered that the initial rotor angle is significantly closer to 90° than 30° and 150°. Therefore, considering the degree of difference between the various current values, the initial rotor angle of the motor can still be considered to be 90°.

[0071] The closeness of the above differences can also be quantified according to the standard deviation method as described above. At this time, the cumulative values ​​of the current responses obtained in the 30°, 90°, 150°, 210°, 270°, and 330° voltage vectors injected by the two-two conduction are recorded, and the values ​​are i(30°) = 188.6A, i(90°) = 208.3A, i(150°) = 180.7A, i(210°) = 174.6A, i(270°) = 186.9A, and i(330°) = 177.3A. The standard deviations of the currents in these six directions are:

[0072]

[0073] The maximum response current is i(90°)=208.3A, and the two adjacent response currents are i(30°)=188.6A and i(150°)=180.7A, so the angle error reduction and angle error increase are:

[0074]

[0075]

[0076] Take the minimum value of error3 and error4, because the closer it is to the maximum response current i(90°), the smaller the difference between the two. If error3 is smaller, it can be roughly considered that 30° is closer to the true position of the rotor. At the same time, the value of error3 is 1.62, which exceeds the average standard deviation (that is, the threshold, which is usually 1). It can be considered that i(90°) exceeds i(30°) and i(150°), that is, the rotor position judged by the 2-2 conduction is 90°.

[0077] From the above, it can be seen that when the accumulated values ​​obtained by the continuous acquisition method of the present invention are used to perform square wave injection in multiple predetermined directions and the initial direction of the rotor is determined by the maximum response current value, whether using six-directional injection with three-three conduction or six-directional injection with two-two conduction, the same rotor position can be determined by comparing the differences in the accumulated values.

[0078] However, the theoretical resolution of the above six-direction injection method is limited to ±30°. Furthermore, due to the susceptibility to environmental noise interference during actual operation, when the rotor position is, for example, slightly greater than 30° or slightly greater than -330°, the current amplitude response in the 0° direction may be the largest. At this time, the rotor resolution may even exceed ±30°, resulting in a lower resolution.

[0079] To this end, in the preferred embodiment of the present disclosure, a three-three conduction mode can be used at 0°, 60°, 120°, 180°, 240°, and 300°, and a two-two conduction mode can be used at 30°, 90°, 150°, 210°, 270°, and 330°, so that square wave pulses are injected in twelve directions, and the first angle with the largest response current determined by the three-three conduction and the second angle with the largest response current determined by the two-two conduction can be comprehensively considered, and the initial position of the rotor is determined accordingly. Further, in order to ensure that the drive output does not change when the corresponding angle is injected, that is, the voltage vector is not synthesized by more than one voltage vector, but is driven by a single vector.

[0080] Furthermore, since the response currents obtained by the three-three conduction and the two-two conduction are not equal, the two-two conduction and the three-three conduction can be used to find the optimal initial position point through the standard deviation judgment method respectively, thereby improving the rotor position measurement resolution.

[0081] In order to facilitate further understanding of the principles of the present disclosure, the following will describe the injection determination of the initial position of the rotor, as well as the principles of three-three conduction and two-two conduction. When performing principle analysis, the current fluctuation caused by the on-off of the MOS tube is not considered, and only the analysis is performed from the perspective of principle. At this time, the observed d-axis can be at any position between 0° and 360°. The main purpose of the introduction of this principle part is to prove that when the observed d-axis position is closer to the actual d-axis position of the rotor, the response current is the largest. Therefore, when performing initial position identification, for example, a square wave pulse voltage vector can be injected at 0°, 60°, 120°, 180°, 240°, and 300° using a three-three conduction method, and a square wave pulse voltage vector can be injected at 30°, 90°, 150°, 210°, 270°, and 330° using a two-two conduction method, and 6 or 12 vector directions are used as the observed d-axis directions (at this time, the observed d-axis directions are no longer any position between 0° and 360°, but these 6 or 12 fixed angles), and the initial position of the rotor is determined by finding the observed d-axis response currents in the 6 or 12 voltage vector directions of the three-three conduction method and / or the two-two conduction method. The relevant principles will be introduced as follows.

[0082] The voltage model of IPMSM (Interior PMSM, i.e. built-in PMSM) on the dq coordinate axis is:

[0083]

[0084] Among them, U d , U q is the voltage on the dq axis, i d 、i q is the current on the dq axis, ω r is the rotor electrical angular velocity, ψ F is the rotor permanent magnet flux, L d and L q is the inductance on the dq axis, R s is the stator resistance.

[0085] When a square wave pulse voltage is injected, the injection time is generally short to avoid an overcurrent reaction caused by a long injection time. Therefore, when a square wave voltage is injected into the observation d axis, the motor is in a stationary state, so the back electromotive force can be ignored. Since the stator resistance is very small, it can also be ignored. Therefore, equation (1) can be simplified to:

[0086]

[0087]

[0088] In the actual control process, since it is impossible to know the actual position of the rotor, θ r, so it is observed A square wave pulse voltage is injected into the coordinate system. Figure 6 The figure shows the relative relationship between the real d-axis and q-axis and the observed d-axis and q-axis under the αβ coordinate axis. As shown in the figure, the real position of the rotor can be set as θ r , the rotor observation position is When injecting, the actual position of the rotor is unknown, so the injection is performed while observing the d-axis.

[0089] The injected voltage The coordinate system is transformed into the real dq coordinate system, and we get:

[0090]

[0091] Expand to:

[0092]

[0093] definition, Then formula (5) can be simplified as:

[0094]

[0095] According to formula (3), the real current change rate on the dq coordinate axis is:

[0096]

[0097] Since the injected voltage is only Axis injection, so formula (7) can be simplified as:

[0098]

[0099] Transform the current change rate under the real dq coordinate axis to the observed Coordinate system, we can get:

[0100]

[0101] Since the motor is at rest, Δθ is a constant, so:

[0102]

[0103] Expand to:

[0104]

[0105] In the formula

[0106] Simplified:

[0107]

[0108] thereby:

[0109]

[0110] Without considering the saturation salient effect (i.e., at this time, the d-axis inductance L d Not with d-axis current i d When Δθ is smaller, Inject for the same time t on Square wave voltage hour, Shaft current Rate of change The larger the square wave voltage, the smaller the time t on The current obtained The bigger, Figure 7 The theoretical current obtained with different Δθ without considering the saturation salient effect is shown. value.

[0111] During the actual injection, t on Too long will cause the motor to saturate, making it impossible to distinguish the current when different square wave pulse injection angles are used. In addition, too long an injection time will cause the motor to rotate. Therefore, in practical applications, depending on the characteristics of the motor, a few tens or hundreds of microseconds are generally selected for injection.

[0112] When considering the saturation salient pole effect, that is, the d-axis inductance L d (θ) As the d-axis current i d Change and change, when i d >0, as the d-axis current increases, the d-axis inductance L d (θ) will gradually decrease, and when i d When <0, the d-axis inductance remains unchanged. Formula (12) can be expressed as:

[0113]

[0114] Formula (13) can be expressed as:

[0115]

[0116] At this time, the theoretical current obtained when Δθ (that is, as mentioned above, Δθ represents the angle between the observed d-axis and the real d-axis) is different Value Figure 8 shown. Figure 8 The theoretical current obtained by different Δθ when considering the saturation salient effect is shown. value.

[0117] Based on formula (15) and Figure 8It can be seen that the smaller Δθ is, the closer the position of the injected square wave pulse signal is. The closer to the true rotor position θ r , the larger the response current is.

[0118] From the above derivation, it can be seen that regardless of whether the saturation saliency is considered, The larger the direction, the smaller Δθ is. This provides a theoretical basis for taking the injection direction with the largest response current as the initial position of the rotor when a square wave is injected in different directions.

[0119] In the prior art, square wave injection can be performed by three-on-three conduction. Three-on-three conduction is a control method used in the FOC process. Of the six MOS tubes in the three-phase winding, three are always in the on state and the other three are in the off state. The following will be analyzed in combination with the voltage and current model of FOC.

[0120] Fig. 9 The schematic diagram of the voltage vectors in six directions during the three-three conduction process is shown. As shown in the figure, in the case of three-three conduction, the voltage vectors in six directions of 0°, 60°, 120°, 180°, 240°, and 300° are output during the FOC control process.

[0121] Take U 4 (100) as an example, at this time, phase A is positively conducting, phase B is negatively conducting, and phase C is negatively conducting. The current flowing into the motor is positive, and the current flowing out is negative. At this time, the current flow direction is as follows: Fig.10 shown. Fig.10 An example of current flow when three-three conduction occurs is shown.

[0122] The equivalent circuit is that the B-phase winding and the C-phase winding are connected in parallel and then in series with the A-phase winding. Therefore, the A-phase winding current is i a , the B phase current winding current is i b , the C phase current winding current is i c ,i a = -2×i b = -2×i c .

[0123] At this time, the synthetic voltage vector is

[0124]

[0125] Thus, the magnitude of the resultant voltage is:

[0126]

[0127] Fig.11 Shows Fig.10 Schematic diagram of the resultant voltage under the condition of winding flow direction shown. Fig.11As shown, at this time, the direction of the synthetic vector points to the axis of the A-phase winding (0° direction).

[0128] As above combined Fig.10 and Fig.11 An example is given where the composite voltage vector of A+BC- points to the axis of the A-phase winding (in the 0° direction) when three-three is turned on. Similarly, the composite voltage vector of A+B+C- points between the axes of the A-phase winding and the B-phase winding (in the 60° direction); the composite voltage vector of A-B+C- points to the axis of the B-phase winding (in the 120° direction); the composite voltage vector of A-B+C+ points between the axes of the B-phase winding and the C-phase winding (in the 180° direction); the composite voltage vector of AB-C+ points to the axis of the C-phase winding (in the 240° direction); and the composite voltage vector of A+B-C+ points between the axes of the C-phase winding and the A-phase winding (in the 300° direction).

[0129] 2-2 conduction is a control method used in BLDC (brushless DC motor) applications, but it can be used in FOC to identify the initial position of the motor. In the 2-2 conduction state, only 2 of the 6 MOS tubes of the three-phase winding are in the on state, and the other 4 are in the off state.

[0130] Fig.12 An example of the current flow when two are turned on is shown in FIG. Fig.12 In the example, AC is turned on. At this time, the A-phase winding is forward-conducting and the C-phase winding is negative-conducting. The current flowing into the motor is positive and the current flowing out is negative. At this time, the current flow direction is as shown in the figure.

[0131] The equivalent circuit is the A-phase winding and the C-phase winding in series. Therefore, the A-phase winding current is i a , the C phase winding current is i c ,i a =-i c ,

[0132] At this time, the synthetic voltage vector is

[0133]

[0134] Thus, the magnitude of the resultant voltage is:

[0135]

[0136] Fig.13 Shows Fig.12 Schematic diagram of the resultant voltage under the condition of winding flow direction shown. Fig.13As shown, the direction of the AC composite voltage vector is 30°. Similarly, the direction of the BC composite voltage vector is 90°, the direction of the BA composite voltage vector is 150°, the direction of the CA composite voltage vector is 210°, the direction of the CB composite voltage vector is 270°, and the direction of the AB composite voltage vector is 330°. At the same time, the amplitude of the composite voltage vector when two-two is turned on is the amplitude of the composite voltage vector when three-three is turned on. times.

[0137] Fig.14A -C is a schematic diagram showing the direction of the synthetic voltage vector for two-two conduction and three-three conduction. Fig.14A The conventional 2-2 conduction mode is shown, and the voltage vector is injected in six directions: 30°, 90°, 150°, 210°, 270°, and 330°. For example, if the voltage vector is injected in the 30° direction (A phase is forward-conducted, C phase is negatively-conducted), the response current is the largest. At this time, the rotor position can be determined to be in the range of 0° to 60°, and the angle measurement error is ±30°. Due to the interference of environmental noise during the application process in actual operation, the rotor resolution may exceed ±30°.

[0138] Fig. 14B The conventional three-three conduction mode is shown, and the voltage vector is injected in six directions: 0°, 60°, 120°, 180°, 240°, and 300°. For example, if the voltage vector is injected in the 60° direction (A phase is forward-conducted, B phase is forward-conducted, and C phase is negatively-conducted), the response current obtained at this time is the largest, and the rotor position can be determined to be within the range of 30° to 90°, and the angle measurement error is ±30° (and affected by environmental noise during the application process, the rotor resolution may exceed ±30°).

[0139] That is, no matter whether 2-2 conduction or 3-3 conduction is selected, the measurement error is ±30° (due to the interference of environmental noise during the application process, the rotor resolution may exceed ±30°). In addition, since the voltage amplitudes actually injected by 2-2 conduction and 3-3 conduction are not equal, the current responses obtained under the same conditions are also different, and they cannot be compared with each other. Only the current vectors obtained by 2-2 conduction can be compared with each other, and the current vectors obtained by 3-3 conduction can be compared with each other. In other words, it is impossible to directly increase the measurement error to ±15° by injecting six voltage vectors of 2-2 conduction and six voltage vectors of 3-3 conduction and comparing their amplitudes to find the maximum value of the current response.

[0140] Fig. 14C It shows that the square wave voltage signal is injected by selecting the two-two conduction and the three-three conduction, and the current vector obtained by the two-two conduction and the 12 current vectors obtained by the three-three conduction are obtained respectively.

[0141] To this end, in a preferred embodiment of the present disclosure, the current vectors i(30°), i(90°), i(150°), i(210°), i(270°), i(330°) obtained by 2-2 conduction are selected for comparison to find the maximum value, and the current vectors i(0°), i(60°), i(120°), i(180°), i(240°), i(300°) obtained by 3-3 conduction are selected for comparison to find the maximum value. Subsequently, the initial position of the rotor is determined according to the angle corresponding to the maximum value in 2-2 conduction and the angle corresponding to the maximum value in 3-3 conduction.

[0142] Assume that the maximum current vector obtained by 2-2 conduction is i(30°), and the maximum current vector obtained by 3-3 conduction is i(60°,). At this time, the rotor position is taken as the average of the angles corresponding to the maximum current vectors of 2-2 conduction and 3-3 conduction, and the rotor position is: (30°+60°) / 2=45°, while the actual rotor position is within the range of 30°~60°, which can reduce the measurement error to ±15°.

[0143] Fig.15 A schematic flow chart of a method for determining an initial rotor angle of a permanent magnet synchronous motor according to an embodiment of the present disclosure is shown.

[0144] In step S1510, square wave pulses are injected in different predetermined directions in a 2-2 conduction and 3-3 conduction manner to obtain the current value corresponding to each predetermined direction. When obtaining the current value corresponding to the predetermined direction, the ADC can be set to a continuous sampling mode, and N values ​​(for example, 200 values) obtained by continuous sampling can be transferred to the corresponding array in real time through DMA, and the accumulated value or average value of each array is obtained as the current value corresponding to the predetermined direction.

[0145] Here, the stator winding of the motor can be controlled to be turned on in a two-two conduction mode to achieve six-directional injection of 30°, 90°, 150°, 210°, 270°, and 330°, and then three-three conduction can be used to inject six directions of 0°, 60°, 120°, 180°, 240°, and 300°; twelve directions can be injected sequentially at increasing angles of 0°, 30°, 60°, 90°, 120°, 150°, 180°, 210°, 240°, 300°, and 330°; even random injection can be performed, as long as the square wave injection is completed in the directions corresponding to the three-three conduction and the two-two conduction, and the corresponding current value in each predetermined method is obtained. In one embodiment of the present disclosure, since the response current requires a certain return time to zero (usually the square wave voltage time t onIn other embodiments, multiple square wave pulses may be input in each predetermined direction, and in order to eliminate the influence of the previous pulse response current, the time interval between the previous and next pulses needs to be several times the square wave voltage time t on time.

[0146] In step S1520, a first maximum current value is selected from a plurality of first current values ​​in a predetermined direction corresponding to the three-three conduction, a first angle is determined according to the first maximum current value, and a second maximum current value is selected from a plurality of second current values ​​in a predetermined direction corresponding to the two-two conduction, and a second angle is determined according to the second maximum current value. Here, the plurality of current values ​​obtained by the three-three conduction and the plurality of current values ​​obtained by the two-two conduction are processed respectively. To this end, it is necessary that in the plurality of predetermined directions of the three-three conduction, the square wave pulses have the same square wave voltage time t on1 and the same pulse amplitude U m1 In multiple predetermined directions of two-two conduction, the square wave pulse has the same square wave voltage time t on2 and the same pulse amplitude U m2 In one embodiment, t on1 Can be used with t on2 Equal, U m1 Can be used with U m2 At this time, in the 12 injections for the two-two conduction and the three-three conduction, the square wave voltage time t can be injected each time. on and the same pulse amplitude U m square wave pulse.

[0147] In combination Fig.15 In the initial rotor angle determination method of the present disclosure, it is necessary to consider both the first angle and the second angle to calculate the initial rotor angle of the motor. To this end, the initial rotor angle of the motor can be determined based on the first angle obtained by processing the three-three conduction current value and the second angle obtained by processing the two-two conduction current value. Therefore, in step S1530, the average of the first angle and the second angle can be obtained as the initial rotor angle of the motor.

[0148] Here, "first" and "second" are used to refer to objects of the same category but different from each other, rather than to imply a precedence or order of importance between the two. Here, the "first angle" corresponds to the initial rotor angle determined based on the current value obtained by the three-three conduction. The "second angle" corresponds to the initial rotor angle determined based on the current value obtained by the two-two conduction. By comprehensively considering these two angles, such as taking an average or a weighted value, the final initial rotor angle of the motor is determined.

[0149] According to the previous theoretical derivation, whether or not the saturation saliency is considered, The larger the direction, the smaller Δθ. In other words, when injecting square waves in different directions, the injection direction with the largest response current can be used as the initial position of the rotor. To this end, in one embodiment, the angle corresponding to the first maximum current value among the multiple first current values ​​corresponding to the multiple first predetermined injection directions of the three-three conduction can be directly determined as the first angle. At the same time, the angle corresponding to the second maximum current value among the multiple second current values ​​corresponding to the multiple second predetermined injection directions of the two-two conduction can be directly determined as the second angle.

[0150] In another embodiment, the first angle or the second angle (rather than the average of the two) may be selected as the initial position of the rotor. The selection criteria may be the distribution of the accumulated values ​​of the three-three conduction or the two-two conduction.

[0151] Fig.16 The injected voltage, response current and accumulated value at multiple predetermined angles are shown. Fig.16 It can be regarded as an initial angle determination operation that simultaneously performs Figure 4 and Figure 5 Injection shown.

[0152] As shown in the figure, there is high-frequency interference in the response currents in the 12 directions. The square wave pulses injected in the six predetermined directions (0°, 60°, 120°, 180°, 240°, 300°) in the three-three conduction have the same amplitude, and the six predetermined directions (30°, 90°, 150°, 210°, 270°, 330°) in the two-two conduction have the same amplitude. Since there is no need to compare the response current obtained by the two-two conduction with the response current obtained by the three-three conduction, there is no restriction on the amplitude relationship between the square waves injected by the two-two conduction and the three-three conduction.

[0153] Assumptions Fig.16The current response shown corresponds to the situation where the current rotor real position is near 90°. At this time, both the 22 conduction and the 33 conduction perform voltage vector injection. Among the 30°, 90°, 150°, 210°, 270°, and 330° voltage vectors injected by the 22 conduction, the current response vector (point C) obtained when the 90° voltage vector is injected is the largest, and is clearly distinguished from the adjacent response current (point A) obtained by injecting the 30° voltage vector and the response current (point E) obtained by injecting the 150° voltage vector. Therefore, it can be determined that the second angle is 90°. For the three-three conduction, among the injected voltage vectors of 0°, 60°, 120°, 180°, 240°, and 300°, the response current (point B) obtained by injecting the 60° voltage vector and the response current (point D) obtained by injecting the 120° voltage vector are very close. When the actual position of the rotor is near 90°, if the first angle is judged to be 60° or 120° only by the slight difference between point B and point D, then even when averaging with the second angle, the initial angle obtained is 75° or 105°, which leads to an increase in the measurement error.

[0154] In order to further reduce the measurement error and avoid the misjudgment phenomenon when two maximum response currents are close to each other when two-two conduction or three-three conduction occurs, the method of judging whether two adjacent current vectors are close to each other based on the standard deviation can be also performed on the 12-directional square wave injection.

[0155] At this time, selecting a first maximum current value from multiple first current values ​​in the predetermined direction corresponding to the three-three conduction, determining a first angle based on the first maximum current value, and selecting a second maximum current value from multiple second current values ​​in the predetermined direction corresponding to the two-two conduction, and determining the second angle based on the second maximum current value can include: measuring a first degree of difference between the first maximum current value and adjacent injection angle current values ​​on both sides, and determining the first angle based on the first degree of difference; and measuring a second degree of difference between the second maximum current value and adjacent injection angle current values ​​on both sides, and determining the second angle based on the second degree of difference.

[0156] Combination Fig.15 In the example shown, in a 2-2 conduction, the second angle can be determined based on the difference between point C and points A and E in the adjacent injection directions. In a 3-3 conduction, no matter whether point B or point D has a larger value, the first angle can be determined based on the difference between the current response value and the adjacent injection direction.

[0157] When introducing the standard deviation to determine whether two adjacent current vectors are close, measuring the first difference degree between the first maximum current value and the current values ​​corresponding to the adjacent injection directions on both sides, and determining the first angle according to the first difference degree may include: obtaining the first standard deviation of the multiple first current values; calculating the ratio of the difference between the first maximum current value and the current values ​​corresponding to the adjacent injection directions on both sides to the first standard deviation to obtain a first reduction angle error and a first increase angle error; and determining whether the first angle is greater than, equal to or less than the injection angle corresponding to the first maximum current value according to the first reduction angle error and the first increase angle error, wherein measuring the second difference degree between the second maximum current value and the current values ​​of the adjacent injection angles on both sides, and determining the second angle according to the second difference degree includes: obtaining the second standard deviation of the multiple second current values; calculating the ratio of the difference between the second maximum current value and the current values ​​of the adjacent injection angles on both sides to the second standard deviation to obtain a second reduction angle error and a second increase angle error; and determining whether the second angle is greater than, equal to or less than the injection angle corresponding to the second maximum current value according to the second reduction angle error and the second increase angle error.

[0158] Specifically, a smaller value can be selected from the first reduction angle error and the first increase angle error as the first error; when the first error is greater than the first threshold, the first angle is determined to be equal to the injection angle corresponding to the first maximum current value; when the first error is the first reduction angle error and is less than the first threshold, the first angle is determined to be between the injection angle corresponding to the first maximum current value and the adjacent smaller injection angle; and when the first error is the first increase angle error and is less than the first threshold, the first angle is determined to be between the injection angle corresponding to the first maximum current value and the adjacent larger injection angle. And according to the second increase angle error and the second reduction angle error, determining whether the second angle is greater than, equal to or less than the injection angle corresponding to the second maximum current value includes: selecting a smaller value from the second reduction angle error and the second increase angle error as the second error; when the second error is greater than the second threshold, determining that the second angle is equal to the injection angle corresponding to the second maximum current value; when the second error is the second reduction angle error and is less than the second threshold, determining that the second angle is between the injection angle corresponding to the second maximum current value and the adjacent smaller injection angle; and when the second error is the second increase angle error and is less than the second threshold, determining that the second angle is between the injection angle corresponding to the second maximum current value and the adjacent larger injection angle.

[0159] As mentioned above, the square wave pulse injection of three-three conduction can be performed in six first predetermined injection directions (0°, 60°, 120°, 180°, 240°, 300°), and the square wave pulse injection of two-two conduction can also be performed in six second predetermined injection directions (30°, 90°, 150°, 210°, 270°, 330°). Therefore, when the first error is less than the first threshold, the first angle is equal to the injection angle corresponding to the first maximum current value increased or decreased by 30°; when the second error is less than the second threshold, the second angle is equal to the injection angle corresponding to the second maximum current value increased or decreased by 30°.

[0160] As above, the initial angle determination method based on standard deviation is combined with Fig.16 The specific implementation steps are as follows (note that the response current used for calculation here is the cumulative value of the response current obtained by continuous multiple samplings using the method of the present invention):

[0161] 1. Inject the voltage vector corresponding to the three-three conduction, and obtain the corresponding response currents i(0°), i(60°), i(120°), i(180°), i(240°), and i(300°). Calculate the standard deviation MSE1 (i.e., the first standard deviation), find the maximum response current i(α), and calculate the difference between i(α) and its adjacent response currents i(α-60°) and i(α+60°), and divide it by the standard deviation to obtain error1 and error2. Figure 4 From the example, we can see that error1 = 1.86; error2 = 0.29. Since error2 is smaller, we can roughly assume that 120° is closer to the true rotor position. At the same time, the value of error2 is 0.29, which is much smaller than the standard deviation. We can assume that the distances between i(120°) and i(60°) and the true rotor position are close, and i(90°) can be considered to be the maximum response current that can be obtained. The rotor position determined by the three-three conduction is α real =α+30°=90°.

[0162] 2. Inject the voltage vector corresponding to the two-two conduction to obtain the corresponding response currents i(30°), i(90°), i(150°), i(210°), i(270°), and i(330°). Calculate the standard deviation MSE2 (i.e., the second standard deviation), find the maximum response current i(β), and calculate the difference between i(β) and its adjacent response currents i(β-60°) and i(β+60°), and divide it by the standard deviation to obtain error3 and error4. Figure 5From the example, we can see that error3 = 1.62; error4 = 2.27. As error3 is smaller, we can roughly think that 30° is closer to the true position of the rotor. At the same time, the value of error3 is 1.62, which exceeds the average standard deviation (i.e., the first threshold, which is usually 1), so we can think that i(90°) exceeds i(30°) and i(150°), that is, the rotor position judged by the 2-2 conduction is β real =β=90°.

[0163] 3. The true rotor position determined by combining the 2-2 conduction and the 3-3 conduction is

[0164] In actual use, since the current will be at a higher value after the last pulse injection, if you directly change the injection direction, the response current will change based on the last current, resulting in inaccurate judgment. Therefore, a square wave pulse injection is completed at one angle for a period of time (for example, the voltage injection time t on After the square wave pulse voltage injection in one direction is completed, the injection will be stopped for a period of time to wait for the response current to return to zero. Therefore, it is usually necessary to wait for a predetermined time after completing the square wave pulse injection in the current predetermined direction before starting the square wave pulse injection in the next predetermined direction, wherein the predetermined time is an integer multiple of the square wave voltage time. Here, the integer multiple can be 2 times, or more than 2 times. That is, after completing the square wave pulse voltage injection in one direction, the injection will be stopped for a period of time to wait for the response current to return to zero, and the injection stop time is generally several times the square wave voltage injection time. Fig.16 In order to more intuitively display the current response process when injecting a square wave voltage pulse, the display of the injection stop time is shortened, and the current response diagram obtained by continuous sampling is shown. However, in some embodiments, only one or several response currents may be sampled each time a square wave pulse is injected.

[0165] Unlike the general high-frequency injection algorithm (whose observation d-axis position may be at any position between 0° and 360°), square wave pulse injection usually selects twelve fixed directions of 0°, 30°, 60°, 90°, 120°, 150°, 180°, 210°, 240°, 270°, 300°, and 330° as the observation d-axis for square wave pulse voltage injection in order to avoid current fluctuations caused by the turning on and off of the MOS tube.

[0166] Specifically, when configuring the MCU, configure the ADC to continuous mode. For example, in an ADC, the clock frequency is configured to be up to 40MHz, and the sampling time is configured to be 7.5 ADC clocks. Since the ADC takes 12.5 ADC clocks to convert one piece of data, the time required for the ADC to sample and convert one piece of data is ((7.5+12.5) / 40MHz=0.5us). At the same time, configure the DMA mode, and start the ADC when the square wave pulse voltage injection starts in each direction (0°, 30°, 60°, 90°, 120°, 150°, 180°, 210°, 240°, 270°, 300°, and 330°). The data sampled by the ADC is transferred to the corresponding array in real time through DMA. Since the square wave voltage lasts for 100us, it takes 0.5us for the ADC to sample and convert one piece of data, so that at t on Two hundred samples can be sampled within a certain time, so the length of the array corresponding to each direction can be configured to 200.

[0167] Based on Fig.16 In different embodiments, square wave pulses can be injected sequentially in 6 or 12 predetermined directions. After completing the pulse voltage injection in twelve or six directions, the data in the arrays corresponding to the twelve directions can be accumulated. Here, 12 arrays can be configured for the 12 injection directions. In one embodiment, the number of configured arrays can also be less than 12, as long as the accumulated value or average calculation based on part of the arrays is completed during the injection process.

[0168] The use of the cumulative value method can greatly reduce the interference caused by noise and improve the success rate of identifying the rotor's initial position. After continuous current sampling, it is necessary to stop injecting for a period of time to wait for the response current to return to zero. When it returns to zero, the processed array can be directly assigned zero and the current is no longer collected because the current is invalid at this time. This makes it convenient to start collecting from zero later.

[0169] The present disclosure may also be implemented as a permanent magnet synchronous motor. Fig.17 FIG. 1 is a schematic diagram of a permanent magnet synchronous motor according to an embodiment of the present invention. Figure 1 , Fig.17 The display of some common components in the motor and the magnetic oriented vector control module is omitted, and the components more relevant to the initial rotor angle determination method of the present disclosure are emphasized.

[0170] Therefore, the permanent magnet synchronous motor of the present disclosure may include: a motor; and a magnetic orientation vector control module for controlling the motor. The magnetic orientation vector control module 1700 includes an injection module 1710 , an acquisition module 1720 and a calculation module 1730 .

[0171] The injection module 1710 is used to inject square wave pulses in different predetermined directions. As shown in the figure, the injection module 1710 performs conduction control in a 2-2 conduction and / or 3-3 conduction manner, and injects square wave pulses in six or all 12 directions of the 12 predetermined directions shown in the figure. These 12 predetermined synthetic voltage vector directions can be achieved by applying corresponding voltages to the three-phase windings under the control of the timer (TIMER) of the MCU shown in the figure. Furthermore, a voltage with an amplitude of |U can be applied to the observed d-axis direction (0°, 60°, 120°, 180°, 240°, 300°) when the 3-3 conduction is on. const | square wave pulse, and when the two are turned on, a pulse with an amplitude of square wave pulse.

[0172] Subsequently, the acquisition module 1720 can be used to obtain the current value corresponding to each direction. In one embodiment, the acquisition module 1720 may include a sampling submodule for sampling and observing the response current in the d-axis direction during the square wave injection. The sampling submodule may be the ADC in the illustrated MCU, and may be set to a continuous sampling mode for continuous sampling during the application of the square wave voltage. The acquisition module 1720 may also include a storage submodule for storing the sampled response current in the d-axis direction, and thereby obtaining the current value corresponding to each direction. In the case of continuous ADC sampling, the storage submodule may include 6 or 12 arrays for recording multiple response current values ​​collected during the application of pulses in 6 or 12 predetermined directions.

[0173] Subsequently, the calculation module 1730 can be used to: calculate the cumulative value or average of the response currents corresponding to the multiple different predetermined directions as multiple current values ​​according to the response current values ​​stored in the array; and determine the initial rotor angle of the motor using the multiple current values. Subsequently, the standard deviation determination submodule included in the calculation module 1730 can execute the standard deviation determination method, and finally determine the optimal initial rotor position by performing the standard deviation-based determination operation on the multiple current values ​​as described above.

[0174] When the injection module 1710 performs conduction control in 12 directions in a 2-2 conduction and a 3-3 conduction mode, the calculation module 1730 can be used to: select a first maximum current value from a plurality of first current values ​​of a predetermined direction corresponding to the 3-3 conduction, and determine a first angle according to the first maximum current value; select a second maximum current value from a plurality of second current values ​​of a predetermined direction corresponding to the 2-2 conduction, and determine a second angle according to the second maximum current value; and determine the initial rotor angle of the motor according to the first angle and the second angle. Specifically, the calculation module 1730 may include an accumulation submodule for accumulating the respective sample values ​​in the array.

[0175] The above has described in detail the method for determining the initial rotor angle of a permanent magnet synchronous motor and the corresponding permanent magnet synchronous motor according to the present disclosure with reference to the accompanying drawings. The method for determining the initial rotor angle of the present invention accumulates the response current sampling values, and judges the initial position of the rotor according to the size of the accumulated value or its mean, thereby eliminating high-frequency interference and improving measurement accuracy. Furthermore, the optimal initial position point can be found by the standard deviation discrimination method to improve the resolution of the rotor initial position identification. The initial position can also be determined by combining the two-two conduction and the three-three conduction.

[0176] The embodiments of the present disclosure have been described above, and the above description is exemplary, not exhaustive, and is not limited to the disclosed embodiments. Many modifications and changes will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the described embodiments. The selection of terms used herein is intended to best explain the principles of the embodiments, practical applications, or improvements to the technology in the market, or to enable other persons of ordinary skill in the art to understand the embodiments disclosed herein.

Claims

1. A method for determining an initial rotor angle of a permanent magnet synchronous motor, comprising: Injecting a square wave pulse in a predetermined direction, and using an analog-to-digital converter ADC to continuously sample a response current corresponding to the predetermined direction for multiple times; Transferring multiple sample values ​​to an array corresponding to the predetermined direction in real time; Calculate the accumulated value or average value of the response current as the current value according to the sampling values ​​stored in the array; as well as An initial rotor angle of the motor is determined according to the current value.

2. The method of claim 1, wherein: The ADC is set to a continuous sampling mode to perform multiple consecutive samplings of the response current corresponding to the predetermined direction during the injection of the square wave pulse in the predetermined direction.

3. The method of claim 2, wherein: The step of transferring the sampled response current value to an array corresponding to the predetermined direction in real time includes: The response current sampling value is transferred to the array corresponding to the predetermined direction in real time through the direct memory access DMA module.

4. The method of claim 1, wherein: The method injects square wave pulses in a plurality of predetermined directions, and determines the initial rotor angle of the motor according to the current value, comprising: A maximum current value is selected from the multiple current values ​​in the multiple predetermined directions, and an initial rotor angle of the motor is determined according to the maximum current value.

5. The method of claim 4, wherein: The plurality of predetermined directions are evenly spaced predetermined directions, and selecting a maximum current value from the plurality of current values ​​in the plurality of predetermined directions, and determining the initial rotor angle of the motor according to the maximum current value comprises: Calculating a standard deviation of a plurality of the current values; Calculating the ratio of the difference between the maximum current value and the current values ​​corresponding to the adjacent injection directions on both sides to the standard deviation to obtain the reduction angle error and the increase angle error; and According to the decreasing angle error and the increasing angle error, it is determined whether the initial rotor angle is greater than, equal to, or less than the injection angle corresponding to the maximum current value.

6. The method of claim 5, wherein: Determining whether the initial rotor angle is greater than, equal to, or less than the injection angle corresponding to the maximum current value according to the reduced angle error and the increased angle error includes: Selecting a smaller value from the decreasing angle error and the increasing angle error; When the smaller value is greater than the threshold, determining that the initial rotor angle is equal to the injection angle corresponding to the maximum current value; When the smaller value is the reduced angle error and is smaller than the threshold, determining that the initial rotor angle is between the injection angle corresponding to the maximum current value and an adjacent smaller injection angle; and When the smaller value is the increased angle error and is smaller than the threshold, it is determined that the initial rotor angle is between the injection angle corresponding to the maximum current value and an adjacent larger injection angle.

7. The method of claim 4, wherein: The selecting a maximum current value from a plurality of current values ​​in a plurality of predetermined directions, and determining an initial rotor angle of the motor according to the maximum current value comprises: The maximum current value is selected from the multiple current values ​​of the multiple predetermined directions according to the two-two conduction and / or the three-three conduction, and the initial rotor angle of the motor is determined according to the maximum current value.

8. The method of claim 7, wherein: Selecting the maximum current value from the multiple current values ​​of the multiple predetermined directions according to the two-two conduction and / or three-three conduction, and determining the initial rotor angle of the motor according to the maximum current value comprises: Selecting a first maximum current value from a plurality of first current values ​​in a plurality of predetermined directions corresponding to the three-three conduction, determining a first angle according to the first maximum current value, and selecting a second maximum current value from a plurality of second current values ​​in a plurality of predetermined directions corresponding to the two-two conduction, determining a second angle according to the second maximum current value; and An average of the first angle and the second angle is calculated as an initial rotor angle of the motor.

9. The method of claim 8, wherein: Selecting a first maximum current value from a plurality of first current values ​​in a plurality of predetermined directions corresponding to the three-three conduction, determining a first angle according to the first maximum current value, and selecting a second maximum current value from a plurality of second current values ​​in a plurality of predetermined directions corresponding to the two-two conduction, and determining a second angle according to the second maximum current value comprises: measuring a first difference between the first maximum current value and current values ​​corresponding to adjacent injection directions on both sides, and determining the first angle according to the first difference; and A second difference between the second maximum current value and current values ​​corresponding to adjacent injection directions on both sides is measured, and the second angle is determined according to the second difference.

10. The method of claim 1, wherein: The method injects the square wave pulse in a plurality of predetermined directions, the method comprising: After completing the square wave pulse injection in the current predetermined direction, wait for a predetermined time before starting the square wave pulse injection in the next predetermined direction, wherein the predetermined time is an integer multiple of the square wave voltage time.

11. A permanent magnet synchronous motor, comprising: Motor; A magnetic oriented vector control module, used to control the motor and execute the method according to any one of claims 1 to 10 to determine the initial angle of the rotor, and comprising: An injection module, used for injecting square wave pulses in different predetermined directions; an acquisition module, used to acquire a current value corresponding to each of the predetermined directions; and Computing module for Calculating the cumulative values ​​or average values ​​of the response currents corresponding to a plurality of different predetermined directions as a plurality of current values ​​according to the response current values ​​stored in the array; and An initial rotor angle of the motor is determined based on the multiple current values.

12. The permanent magnet synchronous motor according to claim 11, wherein: The acquisition module comprises: A sampling submodule, used for sampling and observing the response current of the d-axis during the square wave injection period; and The storage submodule is used to store a plurality of groups of response current values ​​of the observed d-axis sampled continuously, and thereby obtain the accumulated value or average value of the response current value corresponding to each of the predetermined directions.