Rotor position detection method and device, readable storage medium and motor

By obtaining the control frequency of the motor and the signal frequency of the injection signal, determining the number of control cycles of the injection signal in each injection cycle, and collecting the current change value and signal-to-noise ratio of the motor q axis during offline testing, the problem of rotor position detection error in the prior art is solved, and higher detection accuracy and accuracy are achieved.

CN114640277BActive Publication Date: 2025-05-16MIDEA WELLING MOTOR TECH SHANGHAI
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202210319408.X
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-03-29
Publication Date
2025-05-16
Estimated Expiration
2042-03-29

AI Technical Summary

Technical Problem

In the prior art, there is an error in the position detection of the motor rotor, mainly because the signal-to-noise ratio of the resistance sampling varies at different positions.

Method used

By obtaining the control frequency of the motor and the signal frequency of the injection signal, the number of control cycles of the injection signal in each injection cycle is determined, and the current change value and signal-to-noise ratio of the motor q-axis are collected during offline testing, and the preset number of periods required to calculate the rotor position is determined based on these parameters.

Benefits of technology

By optimizing the signal-to-noise ratio, the accuracy of rotor position detection and the accuracy of detection results are improved, and hardware complexity and cost are reduced.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114640277B_ABST
    Figure CN114640277B_ABST
Patent Text Reader

Abstract

The present invention provides a method and device for detecting the position of a rotor, a readable storage medium and a motor, wherein the method for detecting the position of a rotor comprises: obtaining the control frequency of the motor and the signal frequency of the injection signal of the motor; determining the number of control cycles of the injection signal in each injection cycle according to the control frequency and the signal frequency; collecting the current change value of the motor q axis in the injection cycle and the signal-to-noise ratio of the motor when the motor is in an offline test; determining the number of preset cycles required for calculating the position of the rotor according to the current change value and the signal-to-noise ratio; determining the position of the rotor according to the number of control cycles and the number of preset cycles. When determining the number of preset cycles, the signal-to-noise ratio of the sampling signal is taken into consideration, so that the signal-to-noise ratio of the sampling signal is always optimal, thereby facilitating the improvement of the detection accuracy of the rotor position.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention belongs to the technical field of motors, and in particular, relates to a method for detecting a rotor position, a device for detecting a rotor position, a readable storage medium and a motor. Background Art

[0002] Currently, the rotor position in the motor is detected by resistor sampling. When the rotor is at different positions, the signal-to-noise ratio of the resistor sampling is different, which may cause errors in the position detection result. Summary of the invention

[0003] The present invention aims to solve one of the technical problems existing in the prior art or related technology.

[0004] In view of this, in a first aspect, the present invention proposes a method for detecting a rotor position, comprising: obtaining a control frequency of a motor and a signal frequency of an injection signal of the motor; determining the number of control cycles of the injection signal in each injection cycle according to the control frequency and the signal frequency; when the motor is in an offline test, collecting the current change value of the motor q axis in the injection cycle and the signal-to-noise ratio of the motor; determining the preset number of cycles required to calculate the rotor position according to the current change value and the signal-to-noise ratio; and determining the position of the rotor according to the number of control cycles and the preset number of cycles.

[0005] The rotor position detection method provided by the present invention is used to detect the position of the rotor of the motor, and it is necessary to collect the control frequency of the motor and the signal of the injection signal. Specifically, the control frequency of the motor refers to the frequency of the positive and negative pulse signals periodically injected by the motor on the d-axis, and one sign change is one cycle. The frequency and the period are inversely proportional to each other. Therefore, according to the signal frequency of the injection signal, the injection period of the injection signal can be determined, and according to the control frequency of the motor, the control period of the motor can be determined. In one injection period, there may be multiple control periods of the motor, so it is necessary to determine the number of control periods in one injection period.

[0006] In the process of offline testing of the motor, it is necessary to test the number of preset cycles corresponding to the maximum signal-to-noise ratio at different positions of the rotor. Specifically, when detecting the position of the rotor, the current value of the motor q-axis is obtained by current sampling, and then the injection algorithm is calculated according to the current value of the motor q-axis, so as to obtain the position value of the rotor. In the related art, it is necessary to collect the current values ​​of the two motor q-axes, and the current values ​​of the two motor q-axes are respectively the current values ​​at the initial position of the injection cycle and the current values ​​at the end position of the injection cycle. This requires considering the entire injection cycle. At this time, the number of preset cycles required for calculating the rotor position is equal to the number of control cycles of the motor. Since the signal-to-noise ratio of the rotor at different positions is different, the current collection position based on the signal-to-noise ratio is not considered. In the present invention, considering the signal-to-noise ratio at different collection positions, the number of preset cycles required for calculating the rotor position is determined. Since the larger the signal-to-noise ratio, the less the motor is affected by the interference signal, the number of preset cycles required for calculating the rotor position can be determined according to the interval with a larger signal-to-noise ratio. For example, the number of control cycles of the motor is equal to 5, and the number of preset cycles required for calculating the rotor position is 3.

[0007] After determining the number of preset cycles required for calculating the rotor position, the time for collecting the motor q-axis current is determined according to the relationship between the number of preset cycles and the number of control cycles of the motor, so that the position value of the rotor can be determined according to the q-axis current. When determining the number of preset cycles, the present invention takes into account the signal-to-noise ratio of the sampling signal. Therefore, through the position detection method of the present invention, the signal-to-noise ratio of the sampling signal can be always optimized, which is conducive to improving the detection accuracy of the rotor position and improving the accuracy of the detection result.

[0008] In a possible application, the present invention uses a single resistor sampling technology to sample current. Single resistor sampling only requires one sampling resistor to complete current sampling, and has the advantages of simple hardware structure and low cost. Compared with bridge arm sampling in related technologies, single resistor sampling consumes less power and can improve the efficiency of the controller.

[0009] In addition, the rotor position detection method in the above technical solution provided by the present invention may also have the following additional technical features:

[0010] In the above technical solution, the preset number of cycles required for calculating the rotor position is determined based on the current change value and the signal-to-noise ratio, including: determining the maximum value of the signal-to-noise ratio of the motor within the injection cycle based on the relationship between the sampled current change value and the actual current change value; determining the cycle interval in which the maximum value of the signal-to-noise ratio of the motor is located; and determining the preset number of cycles required for calculating the rotor position based on the cycle interval.

[0011] In this technical solution, the size of the signal-to-noise ratio is reflected according to the difference between the current change value obtained by sampling during the injection period and the actual current change value. Specifically, the current values ​​at the beginning and end of the injection period are collected by a sampling resistor, and the current difference between the beginning and end is calculated to obtain the sampled current change value. The current values ​​at the beginning and end of the injection period are collected by an oscilloscope, and the current difference between the beginning and end is calculated to obtain the actual current change value. The smaller the difference between the sampled current change value and the actual current change value, the greater the signal-to-noise ratio.

[0012] In practical applications, an example is given in which there are five control cycles in one injection cycle. First, the difference between the sampled current change values ​​and the actual current change values ​​of the five control cycles is tested. Then, the difference between the sampled current change values ​​and the actual current values ​​of the four control cycles is tested, and so on. This can obtain the preset number of cycles with the maximum signal-to-noise ratio.

[0013] In this design, the number of control cycles of the motor is 3, and the number of preset cycles is 2. After determining the number of preset cycles required to calculate the rotor position, the time to collect the motor q-axis current is determined according to the relationship between the number of preset cycles and the number of control cycles of the motor, so that the position value of the rotor can be determined according to the q-axis current. When determining the number of preset cycles, the present invention takes into account the signal-to-noise ratio of the sampling signal. Therefore, through the position detection method of the present invention, the signal-to-noise ratio of the sampling signal can be always optimized, which is conducive to improving the detection accuracy of the rotor position and improving the accuracy of the detection result.

[0014] In any of the above technical solutions, the motor includes multiple sectors; determining the periodic interval where the maximum value of the signal-to-noise ratio of the motor is located includes: determining the periodic interval where the maximum value of the signal-to-noise ratio of the motor is located in different sectors respectively.

[0015] In this technical solution, the motor usually has different sectors. In this design, the motor has six sectors for exemplary explanation. When the rotor of the motor is located in different sectors, due to the nonlinearity of the inverter, the signal-to-noise ratio of the single resistor sampling is different. Therefore, during the offline test process, it is necessary to collect the signal-to-noise ratio in each sector, and the number of preset cycles can be determined based on the collection results of the signal-to-noise ratio. Since the motor has 6 sectors, the cycle intervals where the maximum signal-to-noise ratio of the 6 sectors is located can be obtained, and then through the 6 cycle intervals, the preset number of cycles for each sector can be obtained, that is, 6 preset numbers of cycles are obtained together.

[0016] Since there are 6 preset cycles, when determining the position of the rotor, the sector in which the rotor is located can be determined first, and then the number of preset cycles corresponding to the sector is compared with the number of control cycles to determine the specific position of the rotor.

[0017] By obtaining the preset number of cycles for different sectors respectively, the position of the rotor can be determined according to the signal-to-noise ratio of each cycle. Compared with the method in the prior art that only considers the signal-to-noise ratio of the entire cycle, the position detection method in the present invention can improve the accuracy of rotor position detection.

[0018] In any of the above technical solutions, the preset number of cycles required for calculating the rotor position is determined according to the cycle interval, including: determining a counting variable of the control cycle; selecting a preset number of cycles located in different sectors according to the initial position of the rotor; collecting a first current value of the motor q axis when the counting variable is equal to the difference between the number of control cycles and the preset number of cycles; collecting a second current value of the motor q axis when the counting variable is equal to the number of control cycles; and determining the position of the rotor according to the first current value and the second current value.

[0019] In this technical solution, in the process of determining the position of the rotor, it is necessary to construct a counting variable of the control cycle, the initial value of the counting variable is 0, and the count of the counting variable is increased by 1 each time a control cycle is performed. In the process of collecting the q-axis current of the motor, the current needs to be collected twice in one injection cycle. When the value of the counting variable is equal to the difference between the number of control cycles and the number of preset cycles, it means that the cycle that has been carried out at this time is the initial end of the preset cycle, and the first current value sampling is completed, recorded as the first current value. When the value of the counting variable is equal to the number of control cycles, it means that the cycle that has been carried out at this time is the end of the preset cycle, and the sampling of the first current value is completed, recorded as the second current value. The preset number of cycles is obtained through offline testing. In practical applications, the time of two current samplings is determined according to the preset number of cycles, which can ensure that the sampling time has a large signal-to-noise ratio.

[0020] Before comparing the number of control cycles with the number of preset cycles, it is necessary to first determine the sector in which the rotor is located, and then determine the number of preset cycles of the corresponding sector according to the sector in which the rotor is located. After determining the initial position of the rotor, first determine the sector in which the initial position of the rotor is located.

[0021] The determination of the rotor position needs to be considered in combination with the rotor rotation angle and the duration of the control cycle. It can be calculated using the following formula: ,in, is the current position of the rotor, is the position of the rotor at the end of the previous cycle, is the rotor speed, is the duration of the control cycle. The rotor position is estimated by iteratively using the position and speed of the previous control cycle. It should be noted that at the end or initial end of an injection cycle, the rotor position is updated by the injection algorithm, so the above formula is used to calculate other positions except the end or initial end of the injection cycle.

[0022] In the present invention, the preset number of cycles is automatically adjusted according to the position of the motor, so that the signal-to-noise ratio of the sampling signal is always kept in an optimal state, which is beneficial to improving the precision of position observation and improving the accuracy of rotor position detection.

[0023] In any of the above technical solutions, the position of the rotor is determined according to the first current value and the second current value, including: determining the voltage injection period of the motor according to a preset number of periods; and determining the position of the rotor using a high-frequency injection algorithm based on the first current value, the second current value and the voltage injection period.

[0024] In this technical solution, the high-frequency injection algorithm is simple to implement and low-cost in determining the rotor position. It has good control performance in the low-speed area and can realize the low-speed load start of the motor. This method injects periodic positive and negative pulses into the estimated d-axis, samples the high-frequency current response of the q-axis caused by the pulse, and sends the high-frequency current response to the phase-locked loop to obtain the estimated position of the motor. The traditional observer method has good performance in the medium and high speed area, but cannot converge in the low speed area, so the high-frequency injection method has a better application effect.

[0025] When determining the rotor position through the high-frequency injection algorithm, the voltage injection period and two sampling currents (the first current value and the second current value) are required, so the voltage injection period needs to be calculated. The voltage injection period is the time between the voltage acting on the first current value and the second current value. It can be calculated simultaneously by the following method: T=M / (Nf inj ), where T is the voltage injection period, M is the number of preset periods, N is the number of control periods, and f inj The frequency of the positive and negative pulse signals periodically injected into the motor on the d-axis.

[0026] In any of the above technical solutions, after determining the position of the rotor, the method further includes: determining the number of preset cycles in different sectors in the next injection cycle according to the position of the rotor.

[0027] In this technical solution, after determining the position of the rotor, the position of the rotor can be used as a reference for the number of preset cycles in the corresponding sector in the next injection cycle. That is, after collecting two current values, the position of the rotor will be updated. At this time, the updated position can be the initial position value of the rotor in the next injection cycle, so that the sector in which the rotor is located can be determined again based on the initial position value. The function of automatically adjusting the number of preset cycles according to the position of the motor is realized, and the signal-to-noise ratio of the sampling signal is further kept in the optimal state, which is conducive to improving the accuracy of position observation and the accuracy of rotor position detection.

[0028] It should be noted that after the injection cycle ends, the counting variable needs to be reset to zero, and the preset number of cycles in the next injection cycle is selected according to the obtained rotor position value.

[0029] In a second aspect, the present invention provides a rotor position detection device, the rotor position detection device comprising:

[0030] An acquisition module, used for acquiring the control frequency of the motor and the signal frequency of the injection signal of the motor;

[0031] A first determination module, used to determine the number of control cycles of the injection signal in each injection cycle according to the control frequency and the signal frequency;

[0032] The acquisition module is used to collect the current change value of the motor q axis during the injection cycle and the signal-to-noise ratio of the motor when the motor is in an offline test;

[0033] A second determination module is used to determine the preset number of cycles required to calculate the rotor position according to the current change value and the signal-to-noise ratio;

[0034] The third determination module is used to determine the position of the rotor according to the number of control cycles and the number of preset cycles.

[0035] The rotor position detection device provided by the present invention is used to detect the position of the rotor of the motor. It is necessary to collect the control frequency of the motor and the signal of the injection signal. Specifically, the control frequency of the motor refers to the frequency of the positive and negative pulse signals periodically injected by the motor on the d-axis, and one sign change is one cycle. The frequency and the period are inversely proportional to each other. Therefore, the injection period of the injection signal can be determined according to the signal frequency of the injection signal, and the control period of the motor can be determined according to the control frequency of the motor. In one injection period, there may be multiple control periods of the motor, so it is necessary to determine the number of control periods in one injection period.

[0036] In the process of offline testing of the motor, it is necessary to test the number of preset cycles corresponding to the maximum signal-to-noise ratio at different positions of the rotor. Specifically, when detecting the position of the rotor, the current value of the motor q-axis is obtained by current sampling, and then the injection algorithm is calculated according to the current value of the motor q-axis, so as to obtain the position value of the rotor. In the related art, it is necessary to collect the current values ​​of the two motor q-axes, and the current values ​​of the two motor q-axes are respectively the current values ​​at the initial position of the injection cycle and the current values ​​at the end position of the injection cycle. This requires considering the entire injection cycle. At this time, the number of preset cycles required for calculating the rotor position is equal to the number of control cycles of the motor. Since the signal-to-noise ratio of the rotor at different positions is different, the current collection position based on the signal-to-noise ratio is not considered. In the present invention, considering the signal-to-noise ratio at different collection positions, the number of preset cycles required for calculating the rotor position is determined. Since the larger the signal-to-noise ratio, the less the motor is affected by the interference signal, the number of preset cycles required for calculating the rotor position can be determined according to the interval with a larger signal-to-noise ratio. For example, the number of control cycles of the motor is equal to 5, and the number of preset cycles required for calculating the rotor position is 3.

[0037] After determining the number of preset cycles required for calculating the rotor position, the time for collecting the motor q-axis current is determined according to the relationship between the number of preset cycles and the number of control cycles of the motor, so that the position value of the rotor can be determined according to the q-axis current. When determining the number of preset cycles, the present invention takes into account the signal-to-noise ratio of the sampling signal. Therefore, through the position detection method of the present invention, the signal-to-noise ratio of the sampling signal can be always optimized, which is conducive to improving the detection accuracy of the rotor position and improving the accuracy of the detection result.

[0038] In a possible application, the present invention uses a single resistor sampling technology to sample current. Single resistor sampling only requires one sampling resistor to complete current sampling, and has the advantages of simple hardware structure and low cost. Compared with bridge arm sampling in related technologies, single resistor sampling consumes less power and can improve the efficiency of the controller.

[0039] In any of the above technical solutions, the second determination module is specifically used to: determine the maximum value of the signal-to-noise ratio of the motor within the injection period based on the relationship between the sampled current change value and the actual current change value; determine the period interval in which the maximum value of the signal-to-noise ratio of the motor is located; and determine the preset number of periods required to calculate the rotor position based on the period interval.

[0040] In this technical solution, the size of the signal-to-noise ratio is reflected according to the difference between the current change value obtained by sampling during the injection period and the actual current change value. Specifically, the current values ​​at the beginning and end of the injection period are collected by a sampling resistor, and the current difference between the beginning and end is calculated to obtain the sampled current change value. The current values ​​at the beginning and end of the injection period are collected by an oscilloscope, and the current difference between the beginning and end is calculated to obtain the actual current change value. The smaller the difference between the sampled current change value and the actual current change value, the greater the signal-to-noise ratio.

[0041] In practical applications, an example is given in which there are five control cycles in one injection cycle. First, the difference between the sampled current change values ​​and the actual current change values ​​of the five control cycles is tested. Then, the difference between the sampled current change values ​​and the actual current values ​​of the four control cycles is tested, and so on. This can obtain the preset number of cycles with the maximum signal-to-noise ratio.

[0042] In this design, the number of control cycles of the motor is 3 and the number of preset cycles is 2.

[0043] After determining the number of preset cycles required for calculating the rotor position, the time for collecting the motor q-axis current is determined according to the relationship between the number of preset cycles and the number of control cycles of the motor, so that the position value of the rotor can be determined according to the q-axis current. When determining the number of preset cycles, the present invention takes into account the signal-to-noise ratio of the sampling signal. Therefore, through the position detection method of the present invention, the signal-to-noise ratio of the sampling signal can be always optimized, which is conducive to improving the detection accuracy of the rotor position and improving the accuracy of the detection result.

[0044] In any of the above technical solutions, the motor includes multiple sectors; the second determination module is further used to: determine the periodic interval where the maximum value of the signal-to-noise ratio of the motor is located in different sectors.

[0045] In this technical solution, the motor usually has different sectors. In this design, the motor has six sectors for exemplary explanation. When the rotor of the motor is located in different sectors, due to the nonlinearity of the inverter, the signal-to-noise ratio of the single resistor sampling is different. Therefore, during the offline test process, it is necessary to collect the signal-to-noise ratio in each sector, and the number of preset cycles can be determined based on the collection results of the signal-to-noise ratio. Since the motor has 6 sectors, the cycle intervals where the maximum signal-to-noise ratio of the 6 sectors is located can be obtained, and then through the 6 cycle intervals, the preset number of cycles for each sector can be obtained, that is, 6 preset numbers of cycles are obtained together.

[0046] Since there are 6 preset cycles, when determining the position of the rotor, the sector in which the rotor is located can be determined first, and then the number of preset cycles corresponding to the sector is compared with the number of control cycles to determine the specific position of the rotor.

[0047] By obtaining the preset number of cycles for different sectors respectively, the position of the rotor can be determined according to the signal-to-noise ratio of each cycle. Compared with the method in the prior art that only considers the signal-to-noise ratio of the entire cycle, the position detection method in the present invention can improve the accuracy of rotor position detection.

[0048] In any of the above technical solutions, the second determination module is also used to: determine the counting variable of the control cycle; select a preset number of cycles located in different sectors according to the initial position of the rotor; when the counting variable is equal to the difference between the number of control cycles and the preset number of cycles, collect the first current value of the motor q axis; when the counting variable is equal to the number of control cycles, collect the second current value of the motor q axis; determine the position of the rotor based on the first current value and the second current value.

[0049] In this technical solution, in the process of determining the position of the rotor, it is necessary to construct a counting variable of the control cycle, the initial value of the counting variable is 0, and the count of the counting variable is increased by 1 each time a control cycle is performed. In the process of collecting the q-axis current of the motor, the current needs to be collected twice in one injection cycle. When the value of the counting variable is equal to the difference between the number of control cycles and the number of preset cycles, it means that the cycle that has been carried out at this time is the initial end of the preset cycle, and the first current value sampling is completed, recorded as the first current value. When the value of the counting variable is equal to the number of control cycles, it means that the cycle that has been carried out at this time is the end of the preset cycle, and the sampling of the first current value is completed, recorded as the second current value. The preset number of cycles is obtained through offline testing. In practical applications, the time of two current samplings is determined according to the preset number of cycles, which can ensure that the sampling time has a large signal-to-noise ratio.

[0050] Before comparing the number of control cycles with the number of preset cycles, it is necessary to first determine the sector in which the rotor is located, and then determine the number of preset cycles of the corresponding sector according to the sector in which the rotor is located. After determining the initial position of the rotor, first determine the sector in which the initial position of the rotor is located.

[0051] The determination of the rotor position needs to be considered in combination with the rotor rotation angle and the duration of the control cycle. It can be calculated using the following formula: ,in, is the current position of the rotor, is the position of the rotor at the end of the previous cycle, is the rotor speed, is the duration of the control cycle. The rotor position is estimated by iteratively using the position and speed of the previous control cycle. It should be noted that at the end or initial end of an injection cycle, the rotor position is updated by the injection algorithm, so the above formula is used to calculate other positions except the end or initial end of the injection cycle.

[0052] In the present invention, the preset number of cycles is automatically adjusted according to the position of the motor, so that the signal-to-noise ratio of the sampling signal is always kept in an optimal state, which is beneficial to improving the precision of position observation and improving the accuracy of rotor position detection.

[0053] In any of the above technical solutions, the second determination module is also used to: determine the voltage injection period of the motor according to a preset number of periods; and determine the position of the rotor using a high-frequency injection algorithm according to the first current value, the second current value and the voltage injection period.

[0054] In this technical solution, the high-frequency injection algorithm is simple to implement and low-cost in determining the rotor position. It has good control performance in the low-speed area and can realize the low-speed load start of the motor. This method injects periodic positive and negative pulses into the estimated d-axis, samples the high-frequency current response of the q-axis caused by the pulse, and sends the high-frequency current response to the phase-locked loop to obtain the estimated position of the motor. The traditional observer method has good performance in the medium and high speed area, but cannot converge in the low speed area, so the high-frequency injection method has a better application effect.

[0055] When determining the rotor position through the high-frequency injection algorithm, the voltage injection period and two sampling currents (the first current value and the second current value) are required, so the voltage injection period needs to be calculated. The voltage injection period is the time between the voltage acting on the first current value and the second current value. It can be calculated simultaneously by the following method: T=M / (Nf inj ), where T is the voltage injection period, M is the number of preset periods, N is the number of control periods, and f inj The frequency of the positive and negative pulse signals periodically injected into the motor on the d-axis.

[0056] In any of the above technical solutions, the second determination module is also used to: determine the voltage injection period of the motor according to a preset number of periods; and determine the position of the rotor using a high-frequency injection algorithm according to the first current value, the second current value and the voltage injection period.

[0057] In this technical solution, after determining the position of the rotor, the position of the rotor can be used as a reference for the number of preset cycles in the corresponding sector in the next injection cycle. That is, after collecting two current values, the position of the rotor will be updated. At this time, the updated position can be the initial position value of the rotor in the next injection cycle, so that the sector in which the rotor is located can be determined again based on the initial position value. The function of automatically adjusting the number of preset cycles according to the position of the motor is realized, and the signal-to-noise ratio of the sampling signal is further kept in the optimal state, which is conducive to improving the accuracy of position observation and the accuracy of rotor position detection.

[0058] It should be noted that after the injection cycle ends, the counting variable needs to be reset to zero, and the preset number of cycles in the next injection cycle is selected according to the obtained rotor position value.

[0059] In a third aspect, the present invention proposes a rotor position detection device, which includes: a controller and a memory, wherein the memory stores a program or instruction, and the controller implements the steps of the method in any possible design described above when executing the program or instruction in the memory. The same technical effect can be achieved, which will not be described in detail here.

[0060] In a fourth aspect, the present invention proposes a readable storage medium, on which a program or instruction is stored, and when the program or instruction is executed by a processor, the steps of the method in any possible design described above are implemented. The same technical effect can be achieved, which will not be described in detail here.

[0061] In a fifth aspect, the present invention proposes a motor, the motor comprising: a rotor position detection device as in any possible design described above; or a readable storage medium as in the above design. And the same technical effects can be achieved, which will not be described in detail here.

[0062] Additional aspects and advantages of the present invention will become apparent from the following description or may be learned by practice of the present invention. BRIEF DESCRIPTION OF THE DRAWINGS

[0063] The above and / or additional aspects and advantages of the present invention will become apparent and easily understood from the description of the embodiments in conjunction with the following drawings, in which:

[0064] Figure 1 A schematic flow chart of a method for detecting a rotor position in an embodiment of the present invention is shown;

[0065] Figure 2 A schematic diagram showing waveform changes of an injection period and a control period in an embodiment of the present invention is shown;

[0066] Figure 3 One of the structural block diagrams of the rotor position detection device in the embodiment of the present invention is shown;

[0067] Figure 4 The second structural block diagram of the rotor position detection device in the embodiment of the present invention is shown. DETAILED DESCRIPTION

[0068] In order to more clearly understand the above-mentioned purpose, features and advantages of the present invention, the present invention is further described in detail below in conjunction with the accompanying drawings and specific embodiments. It should be noted that the embodiments of the present application and the features in the embodiments can be combined with each other without conflict.

[0069] In the following description, many specific details are set forth to facilitate a full understanding of the present invention. However, the present invention may also be implemented in other ways different from those described herein. Therefore, the protection scope of the present invention is not limited to the specific embodiments disclosed below.

[0070] Refer to the following Figures 1 to 4 A rotor position detection method, a rotor position detection device, a readable storage medium, and a motor provided according to some embodiments of the present invention are described.

[0071] like Figure 1 As shown, in some embodiments of the present invention, a method for detecting a rotor position is proposed, comprising:

[0072] Step 102, collecting the control frequency of the motor and the signal frequency of the injection signal of the motor;

[0073] Step 104, determining the number of control cycles of the injection signal within each injection cycle based on the control frequency and the signal frequency;

[0074] Step 106, based on the situation that the motor is in an offline test, collecting the current change value of the motor q axis during the injection cycle and the signal-to-noise ratio of the motor;

[0075] Step 108, obtaining a preset number of cycles required to calculate the rotor position based on the current change value and the signal-to-noise ratio;

[0076] Step 110, determining the position of the rotor based on the number of control cycles and the number of preset cycles.

[0077] The rotor position detection method provided in this embodiment is used to detect the position of the rotor of the motor. It is necessary to collect the control frequency of the motor and the signal of the injection signal. Specifically, the control frequency of the motor refers to the frequency of the positive and negative pulse signals periodically injected by the motor on the d-axis, and one sign change is one cycle. The frequency and the period are inversely proportional to each other. Therefore, the injection period of the injection signal can be determined according to the signal frequency of the injection signal, and the control period of the motor can be determined according to the control frequency of the motor. In one injection period, there may be multiple control periods of the motor, so it is necessary to determine the number of control periods in one injection period.

[0078] In the process of offline testing of the motor, it is necessary to test the number of preset cycles corresponding to the maximum signal-to-noise ratio at different positions of the rotor. Specifically, when detecting the position of the rotor, the current value of the motor q-axis is obtained by current sampling, and then the injection algorithm is calculated according to the current value of the motor q-axis, so as to obtain the position value of the rotor. In the related art, it is necessary to collect the current values ​​of the two motor q-axes, and the current values ​​of the two motor q-axes are respectively the current values ​​at the initial position of the injection cycle and the current values ​​at the end position of the injection cycle. This requires considering the entire injection cycle. At this time, the number of preset cycles required for calculating the rotor position is equal to the number of control cycles of the motor. Since the signal-to-noise ratio of the rotor at different positions is different, the current collection position based on the signal-to-noise ratio is not considered. In the present invention, considering the signal-to-noise ratio at different collection positions, the number of preset cycles required for calculating the rotor position is determined. Since the larger the signal-to-noise ratio, the less the motor is affected by the interference signal, the number of preset cycles required for calculating the rotor position can be determined according to the interval with a larger signal-to-noise ratio. For example, the number of control cycles of the motor is equal to 5, and the number of preset cycles required for calculating the rotor position is 3.

[0079] After determining the number of preset cycles required for calculating the rotor position, the time for collecting the motor q-axis current is determined according to the relationship between the number of preset cycles and the number of control cycles of the motor, so that the position value of the rotor can be determined according to the q-axis current. When determining the number of preset cycles, the present invention takes into account the signal-to-noise ratio of the sampling signal. Therefore, through the position detection method of the present invention, the signal-to-noise ratio of the sampling signal can be always optimized, which is conducive to improving the detection accuracy of the rotor position and improving the accuracy of the detection result.

[0080] In a possible application, the present invention uses a single resistor sampling technology to sample current. Single resistor sampling only requires one sampling resistor to complete current sampling, and has the advantages of simple hardware structure and low cost. Compared with bridge arm sampling in related technologies, single resistor sampling consumes less power and can improve the efficiency of the controller.

[0081] In a possible embodiment, the step of obtaining a preset number of cycles required for calculating the rotor position based on the current change value and the signal-to-noise ratio includes: obtaining the maximum value of the signal-to-noise ratio of the motor within the injection cycle according to the relationship between the sampled current change value and the actual current change value; determining the cycle interval in which the maximum value of the signal-to-noise ratio of the motor is located; and determining the preset number of cycles required for calculating the rotor position based on the cycle interval.

[0082] In this embodiment, the size of the signal-to-noise ratio is reflected according to the difference between the current change value obtained by sampling during the injection period and the actual current change value. Specifically, the current values ​​at the beginning and end of the injection period are collected by a sampling resistor, and the current difference between the beginning and end is calculated to obtain the sampled current change value. The current values ​​at the beginning and end of the injection period are collected by an oscilloscope, and the current difference between the beginning and end is calculated to obtain the actual current change value. The smaller the difference between the sampled current change value and the actual current change value, the greater the signal-to-noise ratio.

[0083] In practical applications, an example is given in which there are five control cycles in one injection cycle. First, the difference between the sampled current change values ​​and the actual current change values ​​of the five control cycles is tested. Then, the difference between the sampled current change values ​​and the actual current values ​​of the four control cycles is tested, and so on. This can obtain the preset number of cycles with the maximum signal-to-noise ratio.

[0084] In this embodiment, the number of control cycles of the motor is 3, and the number of preset cycles is 2.

[0085] After determining the number of preset cycles required for calculating the rotor position, the time for collecting the motor q-axis current is determined according to the relationship between the number of preset cycles and the number of control cycles of the motor, so that the position value of the rotor can be determined according to the q-axis current. When determining the number of preset cycles, the present invention takes into account the signal-to-noise ratio of the sampling signal. Therefore, through the position detection method of the present invention, the signal-to-noise ratio of the sampling signal can be always optimized, which is conducive to improving the detection accuracy of the rotor position and improving the accuracy of the detection result.

[0086] In a possible embodiment, the motor has multiple sectors; the step of determining the periodic interval where the maximum value of the signal-to-noise ratio of the motor is located includes: determining the periodic interval where the maximum value of the signal-to-noise ratio of the motor is located in different sectors respectively.

[0087] In this embodiment, the motor usually has different sectors. In this embodiment, the motor has six sectors for exemplary description. When the rotor of the motor is located in different sectors, due to the nonlinearity of the inverter, the signal-to-noise ratio of the single resistor sampling is different. Therefore, during the offline test process, it is necessary to collect the signal-to-noise ratio in each sector, and the number of preset cycles can be determined based on the collection results of the signal-to-noise ratio. Since the motor has 6 sectors, the cycle interval where the maximum signal-to-noise ratio of the 6 sectors is located can be obtained, and then through the 6 cycle intervals, the preset number of cycles for each sector is obtained, that is, 6 preset numbers of cycles are obtained together.

[0088] Since there are 6 preset cycles, when determining the position of the rotor, the sector in which the rotor is located can be determined first, and then the number of preset cycles corresponding to the sector is compared with the number of control cycles to determine the specific position of the rotor.

[0089] By obtaining the preset number of cycles for different sectors respectively, the position of the rotor can be determined according to the signal-to-noise ratio of each cycle. Compared with the method in the prior art that only considers the signal-to-noise ratio of the entire cycle, the position detection method in the present invention can improve the accuracy of rotor position detection.

[0090] In a possible embodiment, the step of determining the preset number of cycles required for calculating the rotor position based on the cycle interval includes: determining a counting variable of the control cycle; selecting the preset number of cycles located in different sectors based on the initial position of the rotor; collecting the first current value of the motor q-axis when the value of the counting variable is equal to the difference between the number of control cycles and the preset number of cycles; collecting the second current value of the motor q-axis when the value of the counting variable is equal to the number of control cycles; and determining the position of the rotor based on the first current value and the second current value.

[0091] In this embodiment, in the process of determining the position of the rotor, it is necessary to construct a count variable of the control cycle, the initial value of the count variable is 0, and the count of the count variable is increased by 1 each time a control cycle is performed. In the process of collecting the q-axis current of the motor, the current needs to be collected twice in one injection cycle. When the value of the count variable is equal to the difference between the number of control cycles and the number of preset cycles, it means that the cycle that has been carried out at this time is the initial end of the preset cycle, and the first current value sampling is completed, recorded as the first current value. When the value of the count variable is equal to the number of control cycles, it means that the cycle that has been carried out at this time is the end of the preset cycle, and the sampling of the first current value is completed, recorded as the second current value. The preset number of cycles is obtained through offline testing. In practical applications, the time of two current samplings is determined according to the preset number of cycles, which can ensure that the sampling time has a large signal-to-noise ratio.

[0092] like Figure 2 As shown, the collection points indicated by the two arrows collect the first current value and the second current value.

[0093] Before comparing the number of control cycles with the number of preset cycles, it is necessary to first determine the sector in which the rotor is located, and then determine the number of preset cycles of the corresponding sector according to the sector in which the rotor is located. After determining the initial position of the rotor, first determine the sector in which the initial position of the rotor is located.

[0094] The determination of the rotor position needs to be considered in combination with the rotor rotation angle and the duration of the control cycle. It can be calculated using the following formula: ,in, is the current position of the rotor, is the position of the rotor at the end of the previous cycle, is the rotor speed, is the duration of the control cycle. The rotor position is estimated by iteratively using the position and speed of the previous control cycle. It should be noted that at the end or initial end of an injection cycle, the rotor position is updated by the injection algorithm, so the above formula is used to calculate other positions except the end or initial end of the injection cycle.

[0095] In the present invention, the preset number of cycles is automatically adjusted according to the position of the motor, so that the signal-to-noise ratio of the sampling signal is always kept in an optimal state, which is beneficial to improving the precision of position observation and improving the accuracy of rotor position detection.

[0096] In a possible embodiment, the step of determining the position of the rotor based on the first current value and the second current value includes: determining the voltage injection period of the motor based on a preset number of periods; and determining the position of the rotor using a high-frequency injection algorithm based on the first current value, the second current value and the voltage injection period.

[0097] In this embodiment, the high-frequency injection algorithm is simple to implement and low-cost in determining the rotor position. It has good control performance in the low-speed area and can realize the low-speed load start of the motor. The method injects periodic positive and negative pulses into the estimated d-axis, samples the high-frequency current response of the q-axis caused by the pulse, and sends the high-frequency current response to the phase-locked loop to solve and obtain the estimated position of the motor. The traditional observer method has good performance in the medium and high speed area, but cannot converge in the low speed area, so the high-frequency injection method has a better application effect.

[0098] When determining the rotor position through the high-frequency injection algorithm, the voltage injection period and two sampling currents (the first current value and the second current value) are required, so the voltage injection period needs to be calculated. The voltage injection period is the time between the voltage acting on the first current value and the second current value. It can be calculated simultaneously by the following method: T=M / (Nf inj ), where T is the voltage injection period, M is the number of preset periods, N is the number of control periods, and f inj The frequency of the positive and negative pulse signals periodically injected into the motor on the d-axis.

[0099] In a possible embodiment, after the step of determining the position of the rotor, the method further includes: determining the number of preset cycles in different sectors in the next injection cycle based on the position of the rotor.

[0100] In this embodiment, after determining the position of the rotor, the position of the rotor can be used as a reference for the number of preset cycles in the corresponding sector in the next injection cycle. That is, after collecting two current values, the position of the rotor will be updated. At this time, the updated position can be the initial position value of the rotor in the next injection cycle, so that the sector in which the rotor is located can be determined again based on the initial position value. The function of automatically adjusting the number of preset cycles according to the position of the motor is realized, and the signal-to-noise ratio of the sampling signal is further kept in the optimal state, which is conducive to improving the accuracy of position observation and the accuracy of rotor position detection.

[0101] It should be noted that after the injection cycle ends, the counting variable needs to be reset to zero, and the preset number of cycles in the next injection cycle is selected according to the obtained rotor position value.

[0102] like Figure 3 As shown, in some embodiments of the present invention, a rotor position detection device 300 is proposed, and the rotor position detection device 300 includes:

[0103] An acquisition module 310 is used to acquire the control frequency of the motor and the signal frequency of the injection signal of the motor;

[0104] A first determination module 320, configured to determine the number of control cycles of the injection signal within each injection cycle based on the control frequency and the signal frequency;

[0105] The acquisition module 330 is used to collect the current change value of the motor q axis during the injection cycle and the signal-to-noise ratio of the motor when the motor is in an offline test;

[0106] A second determination module 340 is used to obtain a preset number of cycles required to calculate the rotor position based on the current change value and the signal-to-noise ratio;

[0107] The third determination module 350 is used to determine the position of the rotor based on the number of control cycles and the number of preset cycles.

[0108] The rotor position detection device provided in this embodiment is used to detect the position of the rotor of the motor. It is necessary to collect the control frequency of the motor and the signal of the injection signal. Specifically, the control frequency of the motor refers to the frequency of the positive and negative pulse signals periodically injected by the motor on the d-axis, and one sign change is one cycle. The frequency and the period are inversely proportional to each other. Therefore, the injection period of the injection signal can be determined according to the signal frequency of the injection signal, and the control period of the motor can be determined according to the control frequency of the motor. In one injection period, there may be multiple control periods of the motor, so it is necessary to determine the number of control periods in one injection period.

[0109] In the process of offline testing of the motor, it is necessary to test the number of preset cycles corresponding to the maximum signal-to-noise ratio at different positions of the rotor. Specifically, when detecting the position of the rotor, the current value of the motor q-axis is obtained by current sampling, and then the injection algorithm is calculated according to the current value of the motor q-axis, so as to obtain the position value of the rotor. In the related art, it is necessary to collect the current values ​​of the two motor q-axes, and the current values ​​of the two motor q-axes are respectively the current values ​​at the initial position of the injection cycle and the current values ​​at the end position of the injection cycle. This requires considering the entire injection cycle. At this time, the number of preset cycles required for calculating the rotor position is equal to the number of control cycles of the motor. Since the signal-to-noise ratio of the rotor at different positions is different, the current collection position based on the signal-to-noise ratio is not considered. In the present invention, considering the signal-to-noise ratio at different collection positions, the number of preset cycles required for calculating the rotor position is determined. Since the larger the signal-to-noise ratio, the less the motor is affected by the interference signal, the number of preset cycles required for calculating the rotor position can be determined according to the interval with a larger signal-to-noise ratio. For example, the number of control cycles of the motor is equal to 5, and the number of preset cycles required for calculating the rotor position is 3.

[0110] After determining the number of preset cycles required for calculating the rotor position, the time for collecting the motor q-axis current is determined according to the relationship between the number of preset cycles and the number of control cycles of the motor, so that the position value of the rotor can be determined according to the q-axis current. When determining the number of preset cycles, the present invention takes into account the signal-to-noise ratio of the sampling signal. Therefore, through the position detection method of the present invention, the signal-to-noise ratio of the sampling signal can be always optimized, which is conducive to improving the detection accuracy of the rotor position and improving the accuracy of the detection result.

[0111] In a possible application, the present invention uses a single resistor sampling technology to sample current. Single resistor sampling only requires one sampling resistor to complete current sampling, and has the advantages of simple hardware structure and low cost. Compared with bridge arm sampling in related technologies, single resistor sampling consumes less power and can improve the efficiency of the controller.

[0112] In a possible embodiment, the second determination module is specifically used to: obtain the maximum value of the signal-to-noise ratio of the motor within the injection cycle based on the relationship between the sampled current change value and the actual current change value; determine the cycle interval in which the maximum value of the signal-to-noise ratio of the motor is located; based on the cycle interval, determine the preset number of cycles required to calculate the rotor position.

[0113] In this embodiment, according to the relationship between the current change value obtained by sampling and the actual current change value

[0114] In this embodiment, the number of control cycles of the motor is 3, and the number of preset cycles is 2.

[0115] After determining the number of preset cycles required for calculating the rotor position, the time for collecting the motor q-axis current is determined according to the relationship between the number of preset cycles and the number of control cycles of the motor, so that the position value of the rotor can be determined according to the q-axis current. When determining the number of preset cycles, the present invention takes into account the signal-to-noise ratio of the sampling signal. Therefore, through the position detection method of the present invention, the signal-to-noise ratio of the sampling signal can be always optimized, which is conducive to improving the detection accuracy of the rotor position and improving the accuracy of the detection result.

[0116] In a possible embodiment, the motor has multiple sectors; the second determination module is further specifically used to: determine, in different sectors respectively, a period interval in which the maximum value of the signal-to-noise ratio of the motor is located.

[0117] In this embodiment, the motor usually has different sectors. In this embodiment, the motor has six sectors for exemplary description. When the rotor of the motor is located in different sectors, due to the nonlinearity of the inverter, the signal-to-noise ratio of the single resistor sampling is different. Therefore, during the offline test process, it is necessary to collect the signal-to-noise ratio in each sector, and the number of preset cycles can be determined based on the collection results of the signal-to-noise ratio. Since the motor has 6 sectors, the cycle interval where the maximum signal-to-noise ratio of the 6 sectors is located can be obtained, and then through the 6 cycle intervals, the preset number of cycles for each sector is obtained, that is, 6 preset numbers of cycles are obtained together.

[0118] Since there are 6 preset cycles, when determining the position of the rotor, the sector in which the rotor is located can be determined first, and then the number of preset cycles corresponding to the sector is compared with the number of control cycles to determine the specific position of the rotor.

[0119] By obtaining the preset number of cycles for different sectors respectively, the position of the rotor can be determined according to the signal-to-noise ratio of each cycle. Compared with the method in the prior art that only considers the signal-to-noise ratio of the entire cycle, the position detection method in the present invention can improve the accuracy of rotor position detection.

[0120] In a possible embodiment, the second determination module is also specifically used to: determine the counting variable of the control cycle; based on the initial position of the rotor, select the preset number of cycles located in different sectors; based on the case where the value of the counting variable is equal to the difference between the number of control cycles and the preset number of cycles, collect the first current value of the motor q axis; based on the case where the value of the counting variable is equal to the number of control cycles, collect the second current value of the motor q axis; determine the position of the rotor based on the first current value and the second current value.

[0121] In this embodiment, in the process of determining the position of the rotor, it is necessary to construct a count variable of the control cycle, the initial value of the count variable is 0, and the count of the count variable is increased by 1 each time a control cycle is performed. In the process of collecting the q-axis current of the motor, the current needs to be collected twice in one injection cycle. When the value of the count variable is equal to the difference between the number of control cycles and the number of preset cycles, it means that the cycle that has been carried out at this time is the initial end of the preset cycle, and the first current value sampling is completed, recorded as the first current value. When the value of the count variable is equal to the number of control cycles, it means that the cycle that has been carried out at this time is the end of the preset cycle, and the sampling of the first current value is completed, recorded as the second current value. The preset number of cycles is obtained through offline testing. In practical applications, the time of two current samplings is determined according to the preset number of cycles, which can ensure that the sampling time has a large signal-to-noise ratio.

[0122] Before comparing the number of control cycles with the number of preset cycles, it is necessary to first determine the sector in which the rotor is located, and then determine the number of preset cycles of the corresponding sector according to the sector in which the rotor is located. After determining the initial position of the rotor, first determine the sector in which the initial position of the rotor is located.

[0123] The determination of the rotor position needs to be considered in combination with the rotor rotation angle and the duration of the control cycle. It can be calculated using the following formula: ,in, is the current position of the rotor, is the position of the rotor at the end of the previous cycle, is the rotor speed, is the duration of the control cycle. The rotor position is estimated by iteratively using the position and speed of the previous control cycle. It should be noted that at the end or initial end of an injection cycle, the rotor position is updated by the injection algorithm, so the above formula is used to calculate other positions except the end or initial end of the injection cycle.

[0124] In the present invention, the preset number of cycles is automatically adjusted according to the position of the motor, so that the signal-to-noise ratio of the sampling signal is always kept in an optimal state, which is beneficial to improving the precision of position observation and improving the accuracy of rotor position detection.

[0125] In a possible embodiment, the second determination module is further used to: determine the voltage injection period of the motor based on a preset number of periods; and determine the position of the rotor using a high-frequency injection algorithm based on the first current value, the second current value and the voltage injection period.

[0126] In this embodiment, the high-frequency injection algorithm is simple to implement and low-cost in determining the rotor position. It has good control performance in the low-speed area and can realize the low-speed load start of the motor. The method injects periodic positive and negative pulses into the estimated d-axis, samples the high-frequency current response of the q-axis caused by the pulse, and sends the high-frequency current response to the phase-locked loop to solve and obtain the estimated position of the motor. The traditional observer method has good performance in the medium and high speed area, but cannot converge in the low speed area, so the high-frequency injection method has a better application effect.

[0127] When determining the rotor position through the high-frequency injection algorithm, the voltage injection period and two sampling currents (the first current value and the second current value) are required, so the voltage injection period needs to be calculated. The voltage injection period is the time between the voltage acting on the first current value and the second current value. It can be calculated simultaneously by the following method: T=M / (Nf inj ), where T is the voltage injection period, M is the number of preset periods, N is the number of control periods, and f inj The frequency of the positive and negative pulse signals periodically injected into the motor on the d-axis.

[0128] In a possible embodiment, the second determination module is further specifically configured to: determine the number of preset cycles in different sectors in the next injection cycle based on the position of the rotor.

[0129] In this embodiment, after determining the position of the rotor, the position of the rotor can be used as a reference for the number of preset cycles in the corresponding sector in the next injection cycle. That is, after collecting two current values, the position of the rotor will be updated. At this time, the updated position can be the initial position value of the rotor in the next injection cycle, so that the sector in which the rotor is located can be determined again based on the initial position value. The function of automatically adjusting the number of preset cycles according to the position of the motor is realized, and the signal-to-noise ratio of the sampling signal is further kept in the optimal state, which is conducive to improving the accuracy of position observation and the accuracy of rotor position detection.

[0130] It should be noted that after the injection cycle ends, the counting variable needs to be reset to zero, and the preset number of cycles in the next injection cycle is selected according to the obtained rotor position value.

[0131] like Figure 4 As shown, in an embodiment of the present invention, a rotor position detection device 400 is proposed, and the rotor position detection device 400 includes: a controller 410 and a memory 420. The memory 420 stores a program or instruction, and the controller 410 implements the steps of the method in any possible embodiment described above when executing the program or instruction in the memory 420. And the same technical effect can be achieved, which will not be repeated here.

[0132] In an embodiment of the present invention, a readable storage medium is provided, which stores a program or instruction, and when the program or instruction is executed by a processor, the steps of the method in any of the above possible embodiments are implemented, and the same technical effect can be achieved, which will not be described in detail here.

[0133] In an embodiment of the present invention, a motor is proposed, the motor comprising: a rotor position detection device as in any of the above possible embodiments; or a readable storage medium as in the above embodiments. The same technical effects can be achieved, which will not be described in detail here.

[0134] In the present invention, the term "plurality" refers to two or more than two, unless otherwise clearly defined. The terms "installed", "connected", "connected", "fixed" and the like should be understood in a broad sense. For example, "connected" can be a fixed connection, a detachable connection, or an integral connection; "connected" can be a direct connection or an indirect connection through an intermediate medium. For those of ordinary skill in the art, the specific meanings of the above terms in the present invention can be understood according to the specific circumstances.

[0135] In the description of this specification, the description of the terms "one embodiment", "some embodiments", "specific embodiments", etc. means that the specific features, structures, materials or characteristics described in conjunction with the embodiment or example are included in at least one embodiment or example of the present invention. In this specification, the schematic representation of the above terms does not necessarily refer to the same embodiment or example. Moreover, the specific features, structures, materials or characteristics described can be combined in any one or more embodiments or examples in a suitable manner.

[0136] The above description is only a preferred embodiment of the present invention and is not intended to limit the present invention. For those skilled in the art, the present invention may have various modifications and variations. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present invention shall be included in the protection scope of the present invention.

Claims

1. A method for detecting a rotor position, characterized in that: include: Acquiring a control frequency of a motor and a signal frequency of an injection signal of the motor; Determining the number of control cycles of the injection signal in each injection cycle according to the control frequency and the signal frequency; When the motor is in an offline test, collecting a current change value of the motor q axis during the injection period and a signal-to-noise ratio of the motor; Determining a preset number of cycles required to calculate the rotor position according to the current change value and the signal-to-noise ratio; Determining the position of the rotor according to the number of the control cycles and the number of the preset cycles; The step of determining the preset number of cycles required for calculating the rotor position according to the current change value and the signal-to-noise ratio includes: The maximum value of the signal-to-noise ratio of the motor within the injection period is determined according to the relationship between the current change value obtained by sampling and the actual current change value, wherein the current values ​​at the beginning and end of the injection period are collected by a sampling resistor to obtain the sampled current change value, and the current values ​​at the beginning and end of the injection period are collected by an oscilloscope to obtain the actual current change value; Determine a period interval in which the maximum value of the signal-to-noise ratio of the motor is located; Determining, according to the cycle interval, a preset number of cycles required to calculate the rotor position; The motor includes a plurality of sectors; The step of determining a cycle interval in which the maximum value of the signal-to-noise ratio of the motor is located includes: In different sectors, respectively determining the periodic intervals where the maximum value of the signal-to-noise ratio of the motor is located; The step of determining the preset number of cycles required to calculate the rotor position according to the cycle interval includes: determining a count variable of the control cycle; According to the initial position of the rotor, selecting the preset number of cycles in different sectors; Determining the position of the rotor according to the number of the control cycles and the preset number of cycles includes: When the count variable is equal to the difference between the number of the control cycles and the number of the preset cycles, collecting the first current value of the q-axis of the motor; When the count variable is equal to the number of the control cycles, collecting the second current value of the motor q axis; determining a position of the rotor according to the first current value and the second current value; The step of determining the position of the rotor according to the first current value and the second current value includes: Determining a voltage injection period of the motor according to the preset number of periods; The position of the rotor is determined according to the first current value, the second current value and the voltage injection period using a high frequency injection algorithm.

2. The method for detecting the rotor position according to claim 1, characterized in that: After determining the position of the rotor, the method further includes: The preset number of cycles in different sectors in the next injection cycle is determined according to the position of the rotor.

3. A rotor position detection device, characterized in that: include: An acquisition module, used for acquiring a control frequency of the motor and a signal frequency of an injection signal of the motor; A first determining module, configured to determine the number of control cycles of the injection signal in each injection cycle according to the control frequency and the signal frequency; An acquisition module, used for acquiring a current change value of a q-axis of the motor during the injection cycle and a signal-to-noise ratio of the motor when the motor is in an offline test; A second determination module, used to determine the preset number of cycles required to calculate the rotor position according to the current change value and the signal-to-noise ratio; A third determination module, used to determine the position of the rotor according to the number of the control cycles and the number of the preset cycles; The second determination module is specifically used to: determine the maximum value of the signal-to-noise ratio of the motor within the injection period according to the relationship between the sampled current change value and the actual current change value; determine the period interval in which the maximum value of the signal-to-noise ratio of the motor is located; and determine the preset number of periods required for calculating the rotor position according to the period interval, wherein the current values ​​at the beginning and end of the injection period are collected by a sampling resistor to obtain the sampled current change value, and the current values ​​at the beginning and end of the injection period are collected by an oscilloscope to obtain the actual current change value; The motor includes a plurality of sectors; The second determination module is further used to: determine, in different sectors, respectively, the periodic intervals where the maximum value of the signal-to-noise ratio of the motor is located; The second determination module is further used to: determine the count variable of the control cycle; select the preset number of cycles located in different sectors according to the initial position of the rotor; and collect the first current value of the motor q axis when the count variable is equal to the difference between the number of the control cycle and the preset number of cycles; When the count variable is equal to the number of the control cycles, collecting the second current value of the motor q axis; determining the position of the rotor according to the first current value and the second current value; The second determination module is further used to: determine the voltage injection period of the motor according to the preset number of periods; and determine the position of the rotor using a high-frequency injection algorithm according to the first current value, the second current value and the voltage injection period.

4. The rotor position detection device according to claim 3, characterized in that: After determining the position of the rotor, the second determination module is further used to determine the number of the preset cycles in different sectors in the next injection cycle according to the position of the rotor.

5. A rotor position detection device, characterized in that: include: A controller and a memory, wherein the memory stores a program or instruction, and the controller implements the steps of the method as claimed in claim 1 or 2 when executing the program or instruction in the memory.

6. A readable storage medium, characterized in that: The readable storage medium stores a program or instruction, and when the program or instruction is executed by a processor, the steps of the method as claimed in claim 1 or 2 are implemented.

7. A motor, characterized in that: include: The rotor position detection device according to any one of claims 3 to 5; or The readable storage medium as claimed in claim 6.

Citation Information

Patent Citations

  • Method to control a switched reluctance motor

    CN106411193A

  • Method for detecting position in full speed range based on built-in type permanent magnet synchronous motor

    CN106788069A