A permanent magnet synchronous motor control method and permanent magnet synchronous motor
Patent Information
- Application Number
- CN202210118636.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-02-08
- Publication Date
- 2026-10-09
- Estimated Expiration
- 2042-02-08
AI Technical Summary
高频注入位置检测位置会由于各种因素的影响而相较于电机转动的真实位置产生较大波动
[0018]Therefore, based on the characteristics that when the motor rotates to a fixed position, the fluctuation between the high-frequency injection observation position and the actual position of the motor remains basically unchanged, and the time for the high-frequency injection observation of one electrical cycle of the motor is basically consistent with the time for the actual rotation of the motor of one electrical cycle, the present invention performs real-time compensation for the position in the current cycle by combining the observed position of the previous electrical cycle, which greatly reduces the position fluctuation in the control process and thus reduces torque pulsation. It has a good compensation effect at different speeds.
Smart Images

Figure CN116614037B_ABST
Abstract
Description
Technical Field
[0001] This disclosure relates to the field of electric motors, and more particularly to a control method for a permanent magnet synchronous motor and a corresponding permanent magnet synchronous motor. Background Technology
[0002] In the control process of permanent magnet synchronous motor (PMSM), in order to obtain the maximum torque output throughout the entire control cycle, FOC (Field-Oriented Control) is often used to control the motor.
[0003] Both the Park transform and inverse Park transform in FOC control require knowledge of the rotor position θ. The closer the detected rotor position θ is to the true position, the closer the torque output during control will be to the maximum torque output. Although position sensors such as magnetic encoders can be used to measure the rotor position θ in existing technologies, some applications require sensorless position detection and motor control.
[0004] One implementation of sensorless detection is high-frequency injection position detection. However, the position detected by high-frequency injection can fluctuate significantly compared to the actual position of the motor due to various factors. This fluctuation can cause torque jitter in the permanent magnet synchronous motor, leading to instability in the control process and increased power consumption.
[0005] Therefore, an improved high-frequency injection position detection scheme is needed. Summary of the Invention
[0006] One technical problem this disclosure aims to solve is to provide a control method for a permanent magnet synchronous motor and a permanent magnet synchronous motor. This scheme is based on the discovery that the motor position jitter pattern observed by high-frequency injection tends to be consistent under different cycles and different speeds. The difference between the high-frequency injection observed motor position obtained in the first detection cycle and the estimated actual motor position is used to compensate for the high-frequency injection observed motor position in the second detection cycle. This provides more accurate rotor position θ information for FOC control, thereby reducing power consumption in the control process.
[0007] According to a first aspect of this disclosure, a method for controlling a permanent magnet synchronous motor is provided, comprising: acquiring a plurality of first rotor positions observed by high-frequency injection within a first detection period; calculating the difference between a plurality of first reference positions in the first detection period and the plurality of first rotor positions observed by high-frequency injection within the first detection period as a plurality of position compensation values; and performing position compensation on a plurality of second rotor positions observed by high-frequency injection within a second detection period based on the calculated plurality of position compensation values.
[0008] Optionally, the difference in sampling time corresponding to two adjacent zero-crossing positions corresponds to a detection period, wherein the zero-crossing position is the position in the high-frequency injection observation module when the velocity integral exceeds 360° and becomes 0°.
[0009] Optionally, a position fitting line is obtained based on the start and end zero-crossing positions of the first detection cycle, and then the plurality of first reference positions of the first detection cycle are obtained based on the position fitting line.
[0010] Optionally, obtaining the plurality of first reference positions of the first detection period based on the position fitting line further includes: dividing the difference between the start zero-crossing position and the end zero-crossing position by the difference between the sampling time corresponding to the end zero-crossing position and the start zero-crossing position to obtain the slope of the position fitting line; and obtaining each first reference position based on the difference between the sampling time corresponding to each first reference position and the start zero-crossing position and the slope.
[0011] Optionally, the method further includes: obtaining the difference between a plurality of second reference positions in the second detection cycle and a plurality of second rotor positions observed by the high-frequency injection in the second detection cycle as a plurality of second position compensation values; and performing position compensation on a plurality of third rotor positions observed by the high-frequency injection in the third detection cycle based on the obtained plurality of second position compensation values, wherein the first detection cycle, the second detection cycle and the third detection cycle are three adjacent electrical cycles of the permanent magnet synchronous motor.
[0012] Optionally, obtaining multiple first rotor positions observed by high-frequency injection within a first detection period includes: sampling the multiple first rotor positions observed by high-frequency injection at multiple sampling times starting from the zero-crossing position within the first detection period at a predetermined frequency; calculating the difference between multiple first reference positions in the first detection period and the multiple first rotor positions observed by high-frequency injection within the first detection period as multiple position compensation values includes: obtaining the corresponding first reference position on the position fitting line of the first detection period based on the difference between the sampling time of each first rotor position and the zero-crossing position; and subtracting the corresponding first reference position at the multiple sampling times from the corresponding first rotor position observed by high-frequency injection to obtain the position compensation value at the multiple sampling times.
[0013] Optionally, based on the obtained multiple position compensation values, position compensation is performed on the multiple second rotor positions observed by high-frequency injection within the second detection period, including: starting from the zero-crossing position at the end of the first detection period, sampling the multiple second rotor positions observed by high-frequency injection at the same multiple sampling times at the predetermined frequency within the second detection period; and based on the index of each second rotor position and its closest at least one first rotor position and its position compensation value, performing position compensation on the second rotor positions observed by high-frequency injection at the sampling time based on the indexed position compensation value.
[0014] Optionally, the position compensation value based on at least one first rotor position closest to each second rotor position index includes: determining that the size of the second rotor position falls between the first rotor position at the first sampling time and the first rotor position at the second sampling time, then performing position compensation with the position compensation value at the first and / or second sampling time; and determining that the size of the second rotor position falls between the first rotor position at the second sampling time and the first rotor position at the third sampling time, then performing position compensation with the position compensation value at the second and / or third sampling time.
[0015] Optionally, obtaining the difference between multiple first reference positions in the first detection period and multiple first rotor positions observed by high-frequency injection as the multiple position compensation values includes: obtaining the observation position curves of the multiple first rotor positions observed by high-frequency injection and multiple sampling times within the first detection period; obtaining a position fitting straight line based on the start zero-crossing position and end zero-crossing position of the first detection period, and the sampling times corresponding to the start zero-crossing position and the end zero-crossing position; and using the difference between the observation position curve and the position fitting straight line at the same sampling time as the position compensation value.
[0016] According to a second aspect of this disclosure, a permanent magnet synchronous motor is provided, comprising: a motor; a magnetic orientation vector control module for controlling the motor, and comprising: a high-frequency injection observation module for obtaining a second rotor position observed by high-frequency injection from the voltage injected into the d-axis and from the high-frequency current response of the q-axis; and a high-frequency injection compensation module for performing the method as described in the first aspect to compensate for the second rotor position observed by high-frequency injection.
[0017] Optionally, the permanent magnet synchronous motor further includes a storage device for storing the obtained multiple position compensation values and the corresponding sampling times.
[0018] Therefore, based on the characteristics that when the motor rotates to a fixed position, the fluctuation between the high-frequency injection observation position and the actual position of the motor remains basically unchanged, and the time for the high-frequency injection observation of one electrical cycle of the motor is basically consistent with the time for the actual rotation of the motor of one electrical cycle, the present invention performs real-time compensation for the position in the current cycle by combining the observed position of the previous electrical cycle, which greatly reduces the position fluctuation in the control process and thus reduces torque pulsation. It has a good compensation effect at different speeds. Attached Figure Description
[0019] The above and other objects, features and advantages of this disclosure will become more apparent from the more detailed description of exemplary embodiments thereof taken in conjunction with the accompanying drawings, wherein like reference numerals generally denote like parts.
[0020] Figure 1 The FOC control principle diagram for PMSM is shown.
[0021] Figure 2 An example of FOC control based on high-frequency injection position detection is shown.
[0022] Figure 3A -B shows the high-frequency injection observation location-time plot of the same motor at different speeds.
[0023] Figure 4 This shows another example of jitter in the observation position caused by high-frequency injection.
[0024] Figure 5 A schematic flowchart of a permanent magnet synchronous motor control method according to an embodiment of the present invention is shown.
[0025] Figure 6 An example of high-frequency injection observation angle compensation according to the present invention is shown.
[0026] Figure 7 A schematic diagram of the composition of the FOC module of a permanent magnet synchronous motor according to an embodiment of the present invention is shown. Detailed Implementation
[0027] Preferred embodiments of the present disclosure will now be described in more detail with reference to the accompanying drawings. While preferred embodiments of the present disclosure are shown in the drawings, it should be understood that the present disclosure may be implemented in various forms and should not be limited to the embodiments set forth herein. Rather, these embodiments are provided so that the present disclosure will be thorough and complete, and will fully convey the scope of the disclosure to those skilled in the art.
[0028] In the control process of permanent magnet synchronous motor (PMSM), in order to obtain the maximum torque output throughout the entire control cycle, FOC (magnetic orientation vector control) is often used to control the motor. Figure 1 The FOC control principle diagram for PMSM is shown.
[0029] As shown in the figure, a position sensor, such as a magnetic encoder, acquires the rotor speed n and rotor position θ of motor M. In practical applications, for example, a speed reference n is obtained based on user input. ref The difference between the measured rotor speed n and the actual rotor speed n is input to PID1 (i.e., the speed loop PID). The output of the speed loop PID is the q-axis reference current i. qref For simplicity, when field weakening control is not performed, the d-axis reference current i can be set. dref =0. At this point, the reference currents i on the q-axis and d-axis can be set to 0. qref and i dref The actual q-axis and d-axis currents i fed back by the motor q and i d The difference is calculated, and after being adjusted by PID2 (i.e., q-axis current loop) and PID3 (i.e., d-axis current loop) respectively, the output q-axis and d-axis voltages V are obtained. d and V q Then, through the inverse Park transform, it is converted into α-axis and β-axis voltages V. α and V β Then, the three-phase voltage V is obtained through SVPWM (Space Vector Modulation). a V b V c The current is then transmitted to the motor M via a three-phase inverter bridge. In FOC control, the three-phase current i is collected. a i b i c After Clark transformation, the α-axis and β-axis currents i are obtained. α and i β Then, after Park transformation, the feedback d-axis and q-axis currents i are obtained. d and i q Input PID2 and PID3 respectively to participate in the current loop control.
[0030] In addition, although Figure 1 Although not shown in the diagram, in many cases, field weakening control of the motor is required, i.e., the d-axis reference current i is used in this case. dref≠0. At this point, the MTPA control strategy can be used for optimal control of permanent magnet synchronous motors, especially salient-pole PMSMs, in the constant torque region. Specifically, MTPA (Maximum Torque Per Ampere) control is an optimal control strategy for FOC control within the constant torque region. Using this strategy, the maximum electromagnetic torque can be output with the same current; similarly, the minimum current is required to output the same torque. When using the MTPA control strategy, the q-axis reference current i can be obtained from PID1 (i.e., the speed loop PID). qref The current is fed into the MTPA control module to output the optimized d-axis reference current i. dref .
[0031] Regardless of whether the MTPA control strategy is implemented, in FOC control, the Park transform and inverse Park transform, for example... Figure 1 All of the above can only be performed under the condition of rotor position θ (i.e. the electrical angle θ of the motor rotor. The motor rotor rotates 360° in one revolution, so the value range of the vertical axis position (θ) in the following position-time diagram is 0° to 360°). The closer the detected rotor position θ is to the actual position, the closer the torque output in the control process will be to the maximum torque output.
[0032] Position detection is generally divided into sensor-based position detection and sensorless position detection. Sensor-based position detection typically includes Hall sensor position detection and encoder position detection, which is achieved by installing Hall sensors or magnetic encoders on the motor. For example... Figure 1 The rotor position and speed detection module can be implemented by a magnetic encoder.
[0033] However, in some applications, such as for cost or integration considerations, it is necessary to achieve position detection and motor control without sensors. Sensorless detection methods include sliding mode position detection, Luneburg position detection, and high-frequency injection position detection. Among these, sliding mode position detection and Luneburg position detection are suitable for high speeds, while high-frequency injection position detection is suitable for low speeds. It mainly relies on the single salient polarity of the motor and is widely used during motor startup.
[0034] Figure 2 An example of FOC control based on high-frequency injection position detection is shown.
[0035] The following will combine Figure 2 Taking pulsed high-frequency injection as an example, the specific implementation process of high-frequency injection is described. Figure 2 As shown, a voltage U can be injected along the d-axis. m cos(ω i t), where U m ω is the amplitude of the injected signal.i The angular frequency of the injected signal is used to obtain the q-axis high-frequency current response i. q The current will contain a component of rotor position information θ, which is modulated by bandpass filtering (BPF) of the q-axis current (and sin(ω)). i Multiplying the values of t and passing them through a low-pass filter (LPF) and a PI controller, we can obtain the rotor speed n. Then, we can integrate the rotor speed n (I) to obtain the rotor position θ.
[0036] In reality, due to the influence of nonlinear motor magnetic field, discrete distribution of motor windings, and manufacturing process, the motor will produce multiple salient pole effects. At the same time, due to the low accuracy of ADC sampling circuit, the motor position observed by high frequency injection will fluctuate greatly compared with the actual position. This fluctuation will cause torque pulsation in the PMSM during control, which in turn will cause the motor to jitter during rotation.
[0037] Although fixed-angle deviation compensation can be performed for fixed phase deviation caused by changes in rotor speed n, the above compensation cannot compensate for jitter at all positions within a cycle.
[0038] Therefore, this invention provides an improved high-frequency injection position detection scheme for controlling a permanent magnet synchronous motor. This scheme is based on the discovery that the observed motor position jitter pattern under high-frequency injection tends to be consistent across different cycles and speeds. It uses the difference between the observed motor position obtained in the first detection cycle (e.g., the previous electrical cycle) and the estimated actual motor position to compensate for the observed motor position in the second detection cycle (e.g., the current electrical cycle). This provides more accurate rotor position θ information for FOC control, thereby reducing power consumption during the control process.
[0039] The inventors of this application discovered through experiments that when the motor rotates to a fixed position, the fluctuation pattern of the high-frequency injection observation position remains basically unchanged. Figure 3A -B shows the high-frequency injection observation location-time plot of the same motor at different speeds.
[0040] like Figure 3A As shown, the motor speed at this time is approximately 300 r / min (300 revolutions per minute). The high-frequency injection observations show that the motor exhibits essentially the same fluctuation pattern within each electrical cycle (hereinafter referred to as the detection cycle), that is, Figure 3A The black curves AB' and BC' in the figure have the same fluctuation pattern, that is, the A-cycle between AB and the B-cycle between BC, and the angle (position) observed by high-frequency injection have the same fluctuation pattern. As shown in the figure, the motor speed increases, such as... Figure 3BAs shown, the motor speed is approximately 500 r / min at this time, and the motor still exhibits a basically the same fluctuation pattern in each rotation cycle, that is, Figure 3B The black curves MN' and NO' in the graph exhibit the same fluctuation pattern. Furthermore, although... Figure 3A and 3B Although the slopes of the curves are different, they still have the same fluctuation pattern, that is, within one electrical cycle from 0° to 360°, the deviation values corresponding to each angle are still consistent.
[0041] Furthermore, the inventors of this application discovered through experiments that the time taken for the high-frequency injection to observe one electrical cycle of the motor is essentially consistent with the actual time taken for the motor to rotate one electrical cycle. As shown in the figure, the period of the black curve is essentially consistent with the period of the gray dashed line (representing the actual rotational position of the motor). Here, each point on the black curve and the gray dashed line represents an angle of motor rotation (also known as a rotor position), and the derivative of this angle θ with respect to time is the motor's rotational speed ω. The gray straight line in the figure represents the motor's actual position. Since the motor rotates at a constant speed (due to inertia, it can be considered that the motor maintains a constant speed within one actual rotation cycle), the actual position is a straight line. The slope of this gray straight line represents the actual uniform rotational speed of the motor. The black curve indicates that the position (angle) observed by the high-frequency injection method fluctuates around the actual position, meaning there is no fixed deviation between the observed position (angle) and the actual position. A black curve above the gray dashed line indicates that the angle observed by the high-frequency injection is ahead of the actual angle of the motor, while a black curve below the gray dashed line indicates that the angle observed by the high-frequency injection is behind the actual angle of the motor. Therefore, the control torque of FOC control based on the observed position (angle) θ will also pulsate around the maximum torque, which will cause the motor to jitter during rotation. The embodiments of this disclosure are to perform position compensation on the observed position (angle) θ, so as to achieve the purpose of smooth control.
[0042] As mentioned earlier, the motor observed by high-frequency injection exhibits a basically the same fluctuation pattern within each electrical cycle. Therefore, the distribution of the difference between the observed motor position and the actual motor position should also be basically the same. For example, Figure 3A The actual motor position in the middle reaches A 1’ At position A1 (i.e., 60°), the high-frequency injection observation is ahead in angle and located at position A1. We can define the position difference between the two as ΔA1 (i.e., = A1 - A). 1’ In the next cycle, since the fluctuation pattern is the same in each cycle, the actual motor position reaches B. 1’ At the moment when the high-frequency injection observation is at position B1 (i.e., 60°), the angle is ahead and located at position B1, and ΔB1 (i.e., = B1 - B) 1’The A-cycle should be the same as ΔA1. Here, taking only the 60° position as an example, it should be understood that at other positions (angles) within the range of 0 to 360°, the fluctuation patterns of the A-cycle and B-cycle should also be the same. Furthermore, it can be considered that, in the case of the same motor, since its multiple salient pole effect remains constant, even if the speed changes, for example from... Figure 3A The rotational speed changes to Figure 3B The rotational speed, at Figure 3B In each cycle, when the actual motor position reaches 60°, the angular lead (i.e., fluctuation deviation value) of the high-frequency injection observation should still be equal to... Figure 3A ΔA1 in the middle.
[0043] Furthermore, although the motor's rotational speed n can change during rotation under external input commands (e.g., user-instructed acceleration), acceleration and deceleration require a process, and the overall acceleration / deceleration time is still relatively long compared to each electrical cycle. Therefore, even during acceleration and deceleration, the motor can still be considered to maintain a constant speed rotation within one electrical cycle; that is, the motor's actual position within one electrical cycle remains a straight line. However, as mentioned earlier, a change in rotational speed n only changes the slope of the gray dashed line (the actual motor position), while at the same fixed position (e.g., the 60° position), the fluctuation deviation between the observed position and the actual position remains unchanged. Figure 3A and Figure 3B At a fixed position (angle °), the fluctuation deviation value of the black curve relative to the gray dashed line is the same.
[0044] Although Figure 3A The position-time plot shown in -B can well represent the jitter of the high-frequency injection observation angle and the difference between it and the true position, but the above differences can also be represented in other ways. Figure 4 Another example of jitter occurring at the observation position due to high-frequency injection is shown. Here, since it can be assumed, as previously stated, that the motor maintains a constant speed within one cycle of actual rotation, it can be assumed that the actual motor maintains a constant speed during this cycle of motion (e.g., Figure 3A The figure shows a progression of 1° every 1 / 360th of a time (0.15s), thus forming... Figure 4 The reference circle is shown (indicated by the gray dashed line). However, due to jitter, the advance angle of the high-frequency injection observation angle is uneven, thus forming an approximate circle as shown by the black line. Similarly, a black curve above the gray dashed line indicates that the high-frequency injection observation angle is ahead of the actual motor angle, while a black curve below the gray dashed line indicates that the high-frequency injection observation angle is behind the actual motor angle.
[0045] Because the inventors of this application recognized that the motor observed by high-frequency injection exhibits a basically the same fluctuation pattern in each electrical cycle, and that the time for the motor to rotate for one electrical cycle observed by high-frequency injection is basically consistent with the time for the motor to actually rotate for one electrical cycle, compensation can be made for the high-frequency injection observation position (hereinafter also referred to as the second rotor position) in the second detection cycle based on the estimation of the difference between the actual position (hereinafter also referred to as the first reference position) and the high-frequency injection observation position (hereinafter also referred to as the first rotor position) in the first detection cycle. This provides the FOC with rotor position θ information that is closer to the actual position, thereby improving control accuracy and reducing power consumption in the control process.
[0046] Figure 5 A schematic flowchart of a control method for a permanent magnet synchronous motor according to an embodiment of the present invention is shown. This control method can be implemented using a permanent magnet synchronous motor as shown in section 7.
[0047] In step S510, multiple first rotor positions observed during the high-frequency injection within the first detection period are acquired. For example, the positions can be... Figure 3A The period between points A and B is considered as one detection cycle (i.e., cycle A is taken as the first detection cycle). This means that within one cycle of a complete 360° rotor rotation, the rotor position observed by high-frequency injection is acquired. It should be understood that the rotor position observed by high-frequency injection acquired here will not be a single position, but multiple positions (i.e., multiple first positions), thereby obtaining the jitter of the rotor position observed by high-frequency injection at various angles (e.g., acquiring...). Figure 3A The black curve shown (or an approximation) is used to prepare for subsequent compensation.
[0048] In step S520, the differences between multiple first reference positions during the first detection period and multiple first rotor positions observed by the high-frequency injection during the first detection period are calculated as multiple position compensation values. Here, unlike... Figure 3A Under the experimental conditions shown, the actual rotational position can be directly obtained by installing a position sensor. However, in actual motor operation without sensors, the actual rotor position needs to be estimated to determine the reference position. As mentioned earlier, since the time for one electrical cycle of the motor observed by high-frequency injection is essentially consistent with the actual time for one electrical cycle of the motor, and due to inertia, it can be assumed that the motor maintains a constant speed within one actual rotational cycle. Therefore, the reference position can be determined based on two adjacent zero-crossing positions observed by high-frequency injection (e.g., ...). Figure 3A The time interval between points A and B' is taken as the time of one electrical cycle, and the actual motor rotation is considered as uniform rotation to estimate multiple first reference positions. It can be assumed that the estimated reference positions are consistent with... Figure 3AThe gray (straight) dashed lines are roughly the same. Therefore, in the first detection cycle, after obtaining multiple first positions observed by high-frequency injection on the black curve in step S510 and estimating multiple first reference positions that roughly coincide with the gray straight lines in step S520, the distance difference between the two can be calculated as a position compensation value. For example, the position compensation value ΔA1 at the 60° position, and the position compensation values at multiple other positions (e.g., 120 positions every 3°) can be calculated.
[0049] Therefore, in step S530, based on the obtained multiple position compensation values, position compensation is performed on the multiple second rotor positions observed by high-frequency injection during the second detection period. For example, in Figure 3A Once the amplitude fluctuations between the black curve and the gray line between point A and point B' in the first detection cycle are known, real-time position compensation can be performed in the subsequent second detection cycle, such as cycle B, using the calculated position compensation value. Then, position compensation for cycle C can be performed based on the position compensation value from cycle B.
[0050] In steps S510 and S520, the start and end times of the first detection cycle need to be determined, and in the second, third, and subsequent detection cycles, the start and end times of each cycle also need to be determined. Here, the difference in sampling times corresponding to two adjacent zero-crossing positions can be considered as corresponding to one detection cycle, where the zero-crossing position is the position where the velocity integral in the high-frequency injection observation module exceeds 360° and becomes 0°. Still using... Figure 3A For example, point A in the diagram is a zero-crossing point. At the previous sampling time, the position was close to 360°. At the next moment, the high-frequency injection observer continues to integrate the velocity to obtain the position. When the integral value exceeds 360°, the remainder after dividing by 360° is used to obtain the position of point A. Here, "remainder" can mean that once the integral value exceeds 360°, it is set to zero (or the remainder after dividing the integral value by 360° is used as the position of point A). This is because... Figure 2 As shown in the high-frequency injection principle, the output of the PI regulator is the rotor speed n. The rotor speed n is integrated (I in the figure) to obtain the angle. When the motor is running stably, the speed remains unchanged, that is, the PI output remains constant. After the integration stage (I), the angle is a linearly increasing straight line with the slope of the straight line being the speed n. The actual angle range controlled by the FOC is 0 to 360°. Therefore, it is necessary to take the remainder of the integral value of the speed n with respect to 360° to obtain the zero-crossing position (the position with a remainder of 0).
[0051] Since the zero-crossing position also corresponds to the time obtained by the integrator (I), therefore Figure 3APoints A' and A, B' and B, and C' and C in B can be considered to be the same positions at the same moment, corresponding to 360° in the previous cycle and 0° in the next cycle, respectively. These points are... Figure 3A -B's position-time are shown separately in the graph. Figure 4 The angles shown in the diagram can be considered as the same point.
[0052] Therefore, a position fitting line can be obtained based on the start zero-crossing position (point A) and end zero-crossing position (point B, or point B') of the first detection cycle (e.g., cycle A), and then the plurality of first reference positions of the first detection cycle can be obtained based on the position fitting line.
[0053] Furthermore, obtaining the plurality of first reference positions in the first detection period based on the position fitting line may further include: dividing the difference between the start zero-crossing position and the end zero-crossing position by the difference in sampling time corresponding to the end zero-crossing position and the start zero-crossing position to obtain the slope of the position fitting line; and obtaining each first reference position based on the difference in sampling time corresponding to each first reference position and the start zero-crossing position and the slope. Specifically, as follows Figure 3A As shown, the starting zero-crossing position of period A is point A, and the ending zero-crossing position is point B. Adding 360° to the ending zero-crossing position B gives the observed position of point B'. The difference between the positions of points A and B' observed by high-frequency injection (y) B′ -y A Divide by the difference in sampling times between points A and B' (x B′ -x A The slope of the fitted line at period position A can then be obtained. It is understandable that the difference between the observed positions of points A and B' (y) B′ -y A )≈360°. Note that due to factors such as discrete sampling, this value may fluctuate around 360°. After obtaining the slope k of the fitted line, the first reference positions on the fitted line of period A can be obtained. Specifically, the reference position of point A1 = k × (x A1 -x A ), where x A1 Let x be the sampling time of point A1. A The sampling time is the zero-crossing point A at the beginning of period A. The position compensation value of point A1 is ΔA1 = k × (x A1 -x A )-y A1 That is, the position compensation value ΔA1 of point A1 = the reference position of point A1 - the first rotor position of point A1 (i.e., the rotor position observed by the high-frequency injection method).
[0054] Specifically, since the fluctuation pattern of the motor position observed by high-frequency injection does not change with the period or the speed, the compensation value when the reference position estimated in period A rotates to 60° is ΔA1. The compensation values for periods B and C (even those with significantly different speeds) are different. Figure 3B The compensation value when the rotor position (M, N, and O cycles) rotates to 60° should also remain essentially unchanged and be ΔA1. In other words, the compensation for the rotor position observed by high-frequency injection in subsequent cycles (e.g., B, C, M, N, and O cycles) can all use the position compensation value of the first detection cycle (A cycle) as a reference, for example, directly using the position compensation value calculated by A cycle for position compensation. Since the fluctuation pattern between the rotor position observed by high-frequency injection and the actual position of the motor remains essentially unchanged when the motor rotates to the same position, in order to perform position compensation more accurately, in another embodiment, each subsequent compensation cycle compensates for the position compensation value of the previous cycle (e.g., the position compensation value obtained in A cycle compensates for the rotor position observed by high-frequency injection in B cycle, and the position compensation value obtained in B cycle compensates for the rotor position observed by high-frequency injection in C cycle).
[0055] Furthermore, due to the real-time nature of PMSM control, the start and end points of the current cycle cannot be used to determine the reference position for compensating the position observed during high-frequency injection in the current cycle before the current cycle ends. For example, if compensation for the motor position observed at 60° during high-frequency injection is needed in cycle A, the high-frequency injection observation position at the next zero-crossing point B' has not yet been obtained, so the fitted straight line of cycle A cannot be obtained to acquire the reference position. However, by determining the slope of the fitted straight line of the first detection cycle (cycle A), the fluctuation amplitude of the corresponding position can be obtained (i.e., "position compensation value = first reference position - first rotor position"). In the second detection cycle (cycle B), even if the slope changes due to changes in rotational speed, the fluctuation amplitude of the corresponding position remains approximately constant. Therefore, the fluctuation amplitude of the corresponding position in the first detection cycle (cycle A) can be used to compensate for the fluctuation in the current second detection cycle (cycle B).
[0056] Furthermore, the compensation for the third detection cycle (cycle C) can be based on the position compensation value of the first detection cycle (cycle A) or the position compensation value of the preceding second detection cycle (cycle B). To this end, the method may further include: obtaining multiple second position compensation values as the differences between multiple second reference positions in the second detection cycle (cycle B) and multiple second rotor positions observed by the high-frequency injection within the second detection cycle (cycle B); and performing position compensation on the multiple third rotor positions observed by the high-frequency injection within the third detection cycle (cycle C) based on the obtained multiple second position compensation values, wherein the first detection cycle, the second detection cycle, and the third detection cycle are three adjacent electrical cycles of the permanent magnet synchronous motor. In other words, the compensation value when cycle C rotates to a specific angle (e.g., 90°) can also be based on the compensation value when cycle B rotates to a specific angle (e.g., 90°, or a nearby value), thereby performing iterative calculation of the compensation value based on the cycle.
[0057] like Figure 2 As shown, determining the observation angle for high-frequency injection requires injecting a voltage U along the d-axis. m cos(ω i After t), the q-axis high-frequency current response i is obtained. q And after performing a series of calculations, the result is obtained. Therefore, the number of points that can be sampled and calculated within one cycle is limited by the motor control frequency. Therefore, obtaining multiple first rotor positions observed by high-frequency injection within the first detection cycle includes: starting from the zero-crossing position within the first detection cycle, sampling the multiple first rotor positions observed by high-frequency injection at multiple sampling times at a predetermined frequency (e.g., the motor control frequency, or a frequency division thereof) (corresponding to...). Figure 6 (A1, A2, A3, A4 in the first detection period); Calculate the differences between multiple first reference positions in the first detection period and multiple first rotor positions observed by high-frequency injection within the first detection period as multiple position compensation values, including: based on the difference between the sampling time of each first rotor position and the zero-crossing position (point A) ((x... A1 -x A ),(x A2 -x A ),(x A3 -x A ),(x A4 -x A The first reference position (k×(x)) is obtained on the fitted line at the position of the first detection cycle (the slope k of the fitted line for cycle A has been obtained). A1 -x A ), k×(x A2 -x A ), k×(x A3 -xA ), k×(x A4 -x A ); and subtract the first reference position corresponding to the multiple sampling times from the first rotor position observed by the corresponding high-frequency injection to obtain the position compensation values (ΔA1, ΔA2, ΔA3, ΔA4) at the multiple sampling times, where ΔA1=k×(x A1 -x A )-y A1 ΔA2=k×(x A2 -x A )-y A2 ΔA3=k×(x A3 -x A )-y A3 ΔA4=k×(x A4 -x A )-y A4 ).
[0058] Since the sampling frequency is the same for different electrical cycles, but the angle corresponding to the sampling point in each cycle may be different, position compensation is performed on the multiple second rotor positions observed by high-frequency injection within the second detection cycle based on the obtained multiple position compensation values, including:
[0059] Starting from the zero-crossing position at the end of the first detection period, the multiple second rotor positions observed by high-frequency injection are sampled at the same multiple sampling times at the predetermined frequency within the second detection period. Based on at least one first rotor position closest to each second rotor position and its position compensation value, position compensation is performed on the second rotor position observed by high-frequency injection at that sampling time based on the indexed position compensation value. Here, "closest" refers to the first rotor position closest to the current second rotor position; it can be a first rotor position that is larger and closest than the current second rotor position, or a first rotor position that is smaller and closest than the current second rotor position, or both.
[0060] Specifically, based on each second rotor position index and its closest at least one first rotor position and its position compensation value, the method includes: determining that the size of the second rotor position falls between the first rotor position at the first sampling time and the first rotor position at the second sampling time, then performing position compensation using the position compensation value at the first and / or second sampling time; and determining that the size of the second rotor position falls between the first rotor position at the second sampling time and the first rotor position at the third sampling time, then performing position compensation using the position compensation value at the second and / or third sampling time.
[0061] For example, suppose that in period A, which is the first detection period, the sampling position A1 corresponding to the initial sampling time is 1°, and the sampling position A2 corresponding to the second sampling time is 3°. In period B, which is the second detection period, the sampling position B1 corresponding to the initial sampling time is 2°. At this time, position B1 (i.e., 2°) falls between A1 and A2. Since in actual operation, multiple samplings are performed within one period, such as 100 to 200 samplings, the angle difference between position B1 and the two ends of the sampling interval A1 and A2 will not be too large. Therefore, in some embodiments, the position compensation value ΔA1 or ΔA2 corresponding to position A1 or A2 itself can be directly used to compensate for the position of position B1. For example, in one implementation, the position compensation value ΔA1 corresponding to position A1 obtained beforehand can be used to compensate for the position of position B1; that is, the position compensation value ΔA1 corresponding to the first sampling time x can be directly used. A1 The position compensation value ΔA1 of the first rotor position is k×(x) A1 -x A )-y A1 Position compensation is performed on position B1 within period B. In another implementation, the position compensation value ΔA2 corresponding to the previously calculated position A2 can be used for position compensation of position B1; that is, the second sampling time x can be directly used. A2 The position compensation value ΔA2 of the first rotor position is k×(x) A2 -x A )-y A2 Position compensation is then performed. For more precise compensation, interpolation can be used. In this case, it's necessary to simultaneously index the two position compensation values corresponding to positions A1 and A2, and then compensate for position B1, which falls between them. For example, if A1 corresponds to 1°, A2 to 3°, and B1 to 2°, the position compensation for position B1 can be the average of the sums of the two position compensation values ΔA1 and ΔA2 corresponding to positions A1 and A2.
[0062] In one embodiment, the above-described position compensation operation can be based on Figure 3A and 3BThe position-time curves shown are intuitive. Therefore, obtaining the differences between multiple first reference positions and multiple first rotor positions observed by high-frequency injection during the first detection period as the multiple position compensation values may include: obtaining the observed position curves (e.g., the black curves) of the multiple first rotor positions observed based on high-frequency injection and multiple sampling times within the first detection period; obtaining a position fitting straight line (e.g., the gray dashed line) based on the start and end zero-crossing positions of the first detection period, and the sampling times corresponding to the start and end zero-crossing positions; and using the difference between the observed position curves and the position fitting straight line at the same sampling time as the position compensation value. The following will combine... Figure 6 This describes a specific implementation of the present invention. Figure 6 An example of high-frequency injection observation angle compensation according to the present invention is shown. Figure 6 In the example, the A period before point AB is still used as the detection period, and the B period and other subsequent periods are used as compensation periods.
[0063] 1. When the position crosses zero (point A in the diagram is the zero-crossing point; the position at the previous sampling time is close to 360°; at the next moment, the high-frequency injection observer continues to integrate the velocity to obtain the position; when the integral value exceeds 360°, the position of point A is obtained by taking the remainder after dividing by 360°), at this time, the sampling time x of point A is recorded. A and the corresponding position y A And continuously record all sampling times (x) after point A. A1 x A2 x A3 …x An ) and corresponding position (y A1 y A2 y A3 …y An Until the next zero-crossing point, in practice, the motor control frequency is generally 16kHz. If a sampling point is saved once in each control cycle (i.e., the reciprocal of the control frequency), the data volume will easily become too large. Therefore, it is possible to save the corresponding sampling time and sampling position once every fixed number of control cycles. In actual implementation, it is possible to save the data once every 5 times. At this time, when the two pairs of pole motors are running at a speed of 300r / min, the position difference between two consecutive sampling times is about 3°. Figure 6 To simplify the explanation of the implementation principle, only 4 sampling points were plotted per cycle (excluding zero-crossing positions). In reality, at a rotational speed of 300 r / min, more than 100 sampling points were plotted per cycle, and the number of sampling points decreased as the rotational speed increased. In other words, although... Figure 6 The sampled locations are fitted to a black curve, but in actual operation, they can correspond to a discrete distribution with more than 100 sampling points.
[0064] 2. When the next position is detected to cross zero point B, add 360° to the position of point B to obtain the position x of point B'. B’ and corresponding position y B’ The difference in sampling time between point A and point B' (x) B’ -x A ) and position difference (y B’ -y A The fitted line AB' (corresponding to the gray dashed line in the figure) is obtained, and the slope of the fitted line is... The position compensation value for the next detection cycle (cycle B) needs to be combined with the slope of the fitted straight line from the previous detection cycle (cycle A).
[0065] 3. After the same fixed control cycle, save the sampling time x of B1. B1 and corresponding position y B1 At the same time, determine y B1 With y A1 The size of y B1 Less than y A1 At this point, the output control angle after position compensation is y. B1_out =y B1 +k×(x A1 -x A )-y A1 If y B1 Greater than y A1 Less than y A2 At this point, the output control angle after position compensation is y. B1_out =y B1 +k×(x A2 -x A )-y A2 If y B1 Greater than y A2 Less than y A3 At this point, the output control angle after position compensation is y. B1_out =y B1 +k×(x A3 -x A )-y A3 To visually illustrate the compensation process, the two sampling points are spaced far apart. However, in actual operation, the angles at corresponding sampling times within two consecutive cycles will not differ significantly. Therefore, it is generally sufficient to correctly determine the angle range and perform compensation in real time after 1 to 3 index judgments.
[0066] 4. After the same fixed control cycle, save the sampling time x of B2. B2 and corresponding position y B2 Since the angle increases continuously within one cycle during the control process, therefore yB2 >y B1 If y B1 Greater than y A1 Less than y A2 , then y B2 First, determine if it is greater than y. A1 Less than y A2 If it is still within that range, i.e., y B2 Greater than y A1 Less than y A2 At this time, y B2_out =y B2 +k×(x A2 -x A )-y A2 If y B2 Greater than y A2 Less than y A3 At this time, y B2_out =y B2 +k×(x A3 -x A )-y A3 The process is iterated and recursively repeated.
[0067] 5. When zero-crossing point C is detected again, the slope of the fitted line of period B is obtained by using the sampling position and sampling time saved in the previous period (period B) and the iteration calculation is performed again.
[0068] Since the algorithm only needs to perform a few angle range judgments and one linear operation each time it performs angle compensation, the amount of computation is relatively small.
[0069] It should be understood that, although in step 3 of the above embodiment, the previous period was compared with the current position (e.g., y) B1 The largest and closest position (e.g., y) A1 or y A2 or y A3 The corresponding position compensation value (e.g., ΔA1, ΔA2, or ΔA3) is directly applied to the current position (e.g., y). B1 Compensation can be performed using y; however, in other embodiments, the position in the previous period compared to the current position (e.g., y) can also be used. B1 The smallest and closest position (e.g., y) A or y A1 or y A2 The corresponding position compensation value (e.g., 0, ΔA1, or ΔA2) is directly applied to the current position (e.g., y). B1 Compensation can be performed by using the position compensation value of the closest position in the previous period (regardless of whether it is larger or smaller than the current position, only considering the absolute proximity value), or by using the interpolation of these two closest values. For example, if y B1Greater than y A2 Less than y A3 In the example of step 3, the output control angle after position compensation is y. B1_out =y B1 +k×(x A3 -x A )-y A3 In other embodiments, the actual output control angle can also be y. B1_out =y B1 +k×(x A2 -x A )-y A2 Even based on y A2 and y A3 Corresponding position compensation value ΔA2=k×(x A2 -x A )-y A2 and ΔA3=k×(x A3 -x A )-y A3 Interpolation, for example, linear interpolation of ΔA2 and ΔA3. It should be understood that, although combined... Figure 6 The position-angle diagram provides a calculation example, but other forms of diagrams may also be used in other implementations of the invention, such as... Figure 4 The angle diagram shown is used for calculation. Although Figure 4 Only the angles are shown, and the time is not shown, but it should be understood that the relative relationship between the black curve and the gray dashed line implies the velocity and position relationship between the two.
[0070] In addition, the present invention can also be implemented as a permanent magnet synchronous motor. Figure 7 A schematic diagram of the composition of the FOC module of a permanent magnet synchronous motor according to an embodiment of the present invention is shown. Compared to Figure 2 , Figure 7 The FOC module shown additionally includes executable functions. Figure 5 The control method for the permanent magnet synchronous motor shown is particularly illustrated by the position compensation module of the position compensation method. Furthermore, Figure 7 The FOC module shown may also include a storage device for storing the previous position compensation value.
[0071] Specifically, Figure 7 The permanent magnet synchronous motor shown may include: a motor M; and a magnetic orientation vector control (FOC) module for controlling the motor. All components in the figure except for the motor M can be considered part of the FOC module. This FOC module may include: a high-frequency injection observation module 710 for monitoring the voltage U injected along the d-axis. m cos(ω it) and obtain the second rotor position θ (i.e., the aforementioned y) from the high-frequency current response of the q-axis during the second detection period (B period) of high-frequency injection observation. B1 y B2 y B3 …y Bn ); and a high-frequency injection compensation module 720, used to execute the permanent magnet synchronous motor control method described above, to compensate the second rotor position observed by high-frequency injection, so as to output the compensated rotor position θ (i.e., the aforementioned y B1_out y B2_out y B3_out …y Bn_out ).
[0072] Furthermore, the permanent magnet synchronous motor may also include a storage device for storing the calculated multiple position compensation values and their corresponding sampling times. For example, such as Figure 6 The position compensation values (ΔA1, ΔA2, ΔA3…ΔA) for the previous cycle (e.g., cycle A) are shown in the figure. n ) and the corresponding sampling time (x) A1 x A2 x A3 …x An The data can be stored in SRAM in tabular form and overwritten by new data as the calculation is completed in the current cycle. In other embodiments, because the calculation of the position compensation value is simple, the position (y) of the high-frequency injection observation in the previous cycle (cycle A) can also be stored directly. A1 y A2 y A3 …y An ) and the corresponding sampling time (x) A1 x A2 x A3 …x An This is used for the next cycle (cycle B). During the sampling process of the next cycle, the slope k and position compensation values (ΔA1, ΔA2, ΔA3…ΔA) of the fitted line from cycle A are calculated again. n ) calculation.
[0073] The control method and permanent magnet synchronous motor of the present invention have been described in detail above with reference to the accompanying drawings. Based on the characteristics that when the motor rotates to a fixed position, the fluctuation between the observed position and the actual position of the motor remains essentially unchanged, and the time for the observed motor rotation of one electrical cycle is essentially consistent with the actual time for the motor rotation of one electrical cycle, the present invention compensates for the position within the current cycle in real time by combining the observed position from the previous electrical cycle. This significantly reduces position fluctuations during the control process, thereby reducing torque pulsation, and demonstrates good compensation effects at different speeds.
[0074] Those skilled in the art will also understand that the various exemplary logic blocks, modules, circuits, and algorithm steps described in connection with the disclosure herein can be implemented as electronic hardware, computer software, or a combination of both.
[0075] The flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of systems and methods according to various embodiments of the present invention. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of code containing one or more executable instructions for implementing a specified logical function. It should also be noted that in some alternative implementations, the functions marked in the blocks may occur in a different order than those marked in the drawings. For example, two consecutive blocks may actually be executed substantially in parallel, and they may sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each block in the block diagrams and / or flowcharts, and combinations of blocks in the block diagrams and / or flowcharts, can be implemented using a dedicated hardware-based system that performs the specified function or operation, or using a combination of dedicated hardware and computer instructions.
[0076] The various embodiments of the present invention have been described above. These descriptions are exemplary and not exhaustive, nor are they limited to the disclosed embodiments. Many modifications and variations will be apparent to those skilled in the art without departing from the scope and spirit of the described embodiments. The terminology used herein is chosen to best explain the principles, practical application, or improvement of the technology in the market, or to enable others skilled in the art to understand the embodiments disclosed herein.
Claims
1. A control method for a permanent magnet synchronous motor, comprising: Obtain multiple first rotor positions observed by high-frequency injection within the first detection cycle; The differences between multiple first reference positions in the first detection cycle and multiple first rotor positions observed by high-frequency injection within the first detection cycle are obtained as multiple position compensation values. as well as Based on the obtained multiple position compensation values, position compensation is performed on the multiple second rotor positions observed by high-frequency injection during the second detection period. The difference in sampling time between two adjacent zero-crossing positions corresponds to one detection cycle. The zero-crossing position is the position in the high-frequency injection observation module where the velocity integral exceeds 360° and then becomes 0°. Furthermore, based on the obtained multiple position compensation values, position compensation is performed on the multiple second rotor positions observed by high-frequency injection during the second detection period, including: The second rotor position is compensated based on the indexed position compensation value, according to each second rotor position index and its closest first rotor position and the position compensation value.
2. The method as described in claim 1, wherein, Based on the start and end zero-crossing positions of the first detection cycle, a position fitting line is obtained, and then the plurality of first reference positions of the first detection cycle are obtained based on the position fitting line.
3. The method as described in claim 2, wherein, The process of obtaining the plurality of first reference positions in the first detection cycle based on the position fitting line further includes: The slope of the position fitting line is obtained by dividing the difference between the start zero-crossing position and the end zero-crossing position by the difference between the sampling times corresponding to the end zero-crossing position and the start zero-crossing position; and Each first reference position is determined based on the difference between the sampling time corresponding to each first reference position and the starting zero-crossing position, and the slope.
4. The method of claim 1, further comprising: The differences between multiple second reference positions in the second detection cycle and multiple second rotor positions observed by high-frequency injection within the second detection cycle are obtained as multiple second position compensation values. and Based on the obtained second position compensation values, position compensation is performed on the corresponding third rotor positions observed by high-frequency injection during the third detection cycle. The first detection cycle, the second detection cycle, and the third detection cycle are three adjacent electrical cycles of the permanent magnet synchronous motor.
5. The method of claim 1, wherein, The multiple first rotor positions observed during the first detection period by high-frequency injection include: During the first detection period, starting from the zero-crossing position, the multiple first rotor positions observed by high-frequency injection are sampled at multiple sampling times at a predetermined frequency. Determining the differences between multiple first reference positions in the first detection period and multiple first rotor positions observed by high-frequency injection within the first detection period as multiple position compensation values includes: obtaining the corresponding first reference position on the position fitting line of the first detection period based on the difference between the sampling time of each first rotor position and the zero-crossing position; and Subtract the first reference position corresponding to the multiple sampling times from the first rotor position observed by the corresponding high-frequency injection to obtain the position compensation value at the multiple sampling times.
6. The method of claim 5, wherein, Based on the obtained multiple position compensation values, the position compensation for the multiple second rotor positions observed by high-frequency injection during the second detection period further includes: Starting from the zero-crossing position at the end of the first detection cycle, the multiple second rotor positions observed by high-frequency injection are sampled at the same multiple sampling times at the predetermined frequency during the second detection cycle.
7. The method of claim 6, wherein, Based on each second rotor position index and its closest at least one first rotor position and its position compensation value, including: If it is determined that the magnitude of the second rotor position falls between the first rotor position at the first sampling time and the first rotor position at the second sampling time, then position compensation is performed using the position compensation value at the first and / or second sampling times; and If it is determined that the size of the second rotor position falls between the first rotor position at the second sampling time and the first rotor position at the third sampling time, then position compensation is performed using the position compensation value at the second and / or third sampling time.
8. The method of claim 1, wherein, Calculating the differences between multiple first reference positions in the first detection cycle and multiple first rotor positions observed by the high-frequency injection as the multiple position compensation values includes: Obtain the observation position curves of the multiple first rotor positions observed based on high-frequency injection and the multiple sampling times within the first detection period; Based on the start and end zero-crossing positions of the first detection period, and the sampling times corresponding to the start and end zero-crossing positions, a position fitting straight line is obtained; and The difference between the observed position curve and the position fitting line at the same sampling time is used as the position compensation value.
9. A permanent magnet synchronous motor, comprising: Electric motor; A magnetic orientation vector control module, used to control the motor, includes: The high-frequency injection observation module is used to obtain the second rotor position of the high-frequency injection observation from the voltage injected into the d-axis and the high-frequency current response of the q-axis. as well as A high-frequency injection compensation module is used to perform the method as described in any one of claims 1-8 to compensate for the second rotor position observed by high-frequency injection.
10. The permanent magnet synchronous motor as described in claim 9, further comprising: A storage device is used to store the obtained multiple position compensation values and the corresponding sampling times.
Citation Information
Patent Citations
Compensation method for detection of rotor position of permanent magnet synchronous motor through high frequency injection method
CN107872174A
Compensation method for detecting permanent magnet synchronous motor rotor position through high-frequency injection method
CN107911050A