Method and apparatus for motor torque control

By using a three-phase Hall sensor and a vector control algorithm, the rotor deflection angle is calculated using sector angular velocity, which solves the problem of unknown position of the three-phase Hall sensor in motor torque control, and realizes real-time estimation and precise control of motor position and speed.

CN120528303BActive Publication Date: 2026-08-04BEIJING RUNKE GENERAL TECH
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202510629882.6
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-05-15
Publication Date
2026-08-04
Estimated Expiration
2045-05-15

AI Technical Summary

Technical Problem

In existing technologies, three-phase Hall sensors can only accurately determine the positions of six rotors within one electrical cycle, making it impossible to achieve precise control of motor torque, especially when the rotor positions are unknown. How to use three-phase switch-type Hall sensors to achieve real-time estimation of motor position and speed is a technical problem that the industry needs to solve.

Method used

By acquiring the sensor signals from the three-phase Hall sensors, the current sector of the motor rotor is determined. The angular velocity of the target sector is calculated using the angular velocity of the previous sector. Combined with the vector control algorithm, the rotor deflection angle is calculated, thereby controlling the output torque of the motor.

Benefits of technology

It enables real-time estimation of motor position and speed, accurately controls motor output torque, and improves the accuracy and dynamic response capability of motor torque control.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120528303B_ABST
    Figure CN120528303B_ABST
Patent Text Reader

Abstract

The application discloses a motor torque control method and device, which comprises the following steps: obtaining a sensor signal of a three-phase Hall sensor, the three-phase Hall sensor being connected with a motor; determining a current sector in which a rotor of the motor is located according to the sensor signal; determining a target sector angular velocity of the rotor in the current sector according to a previous sector angular velocity of the rotor when the rotor passes through a previous sector, the previous sector being a sector passed through by the rotor before reaching the current sector; determining a rotor deflection angle of the rotor according to the target sector angular velocity; and controlling an output torque of the motor according to the rotor deflection angle through a vector control algorithm. Based on the method, real-time estimation of the motor position and speed is realized by using the three-phase switching Hall sensor, and then the vector control algorithm can accurately control the output torque of the motor.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application belongs to the field of motor control, and in particular relates to a motor torque control method and device. Background Technology

[0002] In recent years, permanent magnet motors have been widely used in aerospace, automotive, and home appliance industries due to their high power density. Achieving precise control of motor torque requires accurate knowledge of the motor rotor's position. The most direct method is to use position sensors such as rotary transformers and encoders; however, these sensors are costly and bulky. Therefore, a position acquisition solution based on low-cost position sensors has become invaluable.

[0003] One of the most common methods is to use a three-phase Hall sensor to achieve six-step commutation control of a permanent magnet motor. Although this method can make the motor rotate, its torque ripple is large, which limits the application of this control strategy.

[0004] To achieve precise control of motor torque, vector control algorithms are necessary. However, real-time rotor position feedback is a prerequisite for using vector control algorithms. Three-phase Hall sensors can only accurately determine six rotor positions (30°, 90°, 150°, 210°, 270°, and 330°) within one electrical cycle. When the rotor is in other positions, accurate acquisition is not possible. Therefore, how to use three-phase switch-type Hall sensors to achieve real-time estimation of motor position and speed is a technical problem that the industry needs to solve. Summary of the Invention

[0005] This application provides a motor torque control method and apparatus that enables real-time estimation of motor position using a three-phase switch-type Hall sensor.

[0006] According to a first aspect of this application, embodiments of this application provide a motor torque control method, the method comprising:

[0007] Acquire the sensor signal from the three-phase Hall sensor, which is connected to the motor;

[0008] The current sector where the motor rotor is located is determined based on sensor signals;

[0009] The target sector angular velocity of the rotor in the current sector is determined based on the previous sector angular velocity when the rotor passes through the previous sector. The previous sector is the sector that the rotor passes through before reaching the current sector.

[0010] Determine the rotor deflection angle based on the target sector angular velocity;

[0011] The output torque of the motor is controlled by a vector control algorithm based on the rotor deflection angle.

[0012] Optionally, the target sector angular velocity of the rotor in the current sector is determined based on the previous sector angular velocity when the rotor passes through the previous sector, including:

[0013] If the number of previous sectors is greater than or equal to a preset number, the target sector angular velocity is determined based on the angular velocities of the previous sectors that were last passed through the preset number of previous sectors before the rotor reaches the current sector.

[0014] If the number of previous sectors is less than the preset number, the angular velocity of the last previous sector that the rotor passes through before reaching the current sector is determined as the target sector angular velocity.

[0015] Optionally, the target sector angular velocity is determined based on the angular velocities of the last preset number of previous sectors traversed before the rotor reaches the current sector, including:

[0016] The first rotation time of the rotor passing through each of the last preset number of previous sectors is obtained, as well as the sector weight value of each of the last preset number of previous sectors. The sector weight value is inversely correlated with the order in which the rotor passes through the previous sectors.

[0017] For each of the previous sectors in the last preset number of previous sectors, the quotient of the sector rotation angle of the previous sector and the first rotation time is determined as the previous sector angular velocity of the previous sector;

[0018] The target sector angular velocity is obtained by weighted summation of the sector weight and angular velocity of each of the previous sectors in the last preset number of previous sectors.

[0019] Optionally, the target sector angular velocity is determined by the angular velocity of the last previous sector traversed before the rotor reaches the current sector, including:

[0020] Obtain the second rotation time of the rotor as it passes through the last previous sector;

[0021] The quotient of the sector rotation angle of the last previous sector and the second rotation time is the previous sector angular velocity of the last previous sector;

[0022] The angular velocity of the previous sector of the last previous sector is determined as the target sector angular velocity.

[0023] Optionally, the rotor deflection angle is determined based on the target sector angular velocity, including:

[0024] Obtain the third rotation time of the rotor in the current sector, and the initial angle of the target sector in the current sector;

[0025] The rotor deflection angle is determined based on the third rotation time, the initial angle of the target sector, and the angular velocity of the target sector.

[0026] Optionally, the rotor deflection angle is determined based on the third rotation time, the initial angle of the target sector, and the angular velocity of the target sector, including:

[0027] The product of the third rotation time and the angular velocity of the target sector is determined as the rotor's deflection angle in the target sector of the current sector;

[0028] The sum of the initial angle of the target sector and the deflection angle of the target sector is determined as the rotor deflection angle.

[0029] Optionally, after determining the rotor deflection angle based on the target sector angular velocity, the method further includes:

[0030] Get the rotor speed in the current sector;

[0031] The output torque of the motor is controlled by a vector control algorithm based on the rotor deflection angle and rotor speed.

[0032] Optionally, before obtaining the rotor speed in the current sector, the method further includes:

[0033] Obtain the number of pole pairs of the motor;

[0034] The rotor speed is determined based on the number of pole pairs and the angular velocity of the target sector.

[0035] Optionally, the rotor speed is determined based on the number of pole pairs and the angular velocity of the target sector, including:

[0036] The rotor speed is determined using the following formula:

[0037]

[0038] Where n is the rotor speed, w e Let P be the target sector angular velocity, and P be the pole pair number.

[0039] According to a second aspect of this application, embodiments of this application provide a motor torque control device, the motor torque control device comprising:

[0040] The first acquisition module is used to acquire the sensor signal of the three-phase Hall sensor, which is connected to the motor.

[0041] The first determining module is used to determine the current sector where the motor rotor is located based on the sensor signal;

[0042] The second determining module is used to determine the target sector angular velocity of the rotor in the current sector based on the previous sector angular velocity when the rotor passes through the previous sector. The previous sector is the sector that the rotor passes through before reaching the current sector.

[0043] The third determining module is used to determine the rotor deflection angle of the rotor based on the angular velocity of the target sector;

[0044] The first control module is used to control the output torque of the motor according to the rotor deflection angle through a vector control algorithm.

[0045] According to a third aspect of this application, a motor torque control device is provided, the device comprising: a processor and a memory storing computer program instructions;

[0046] The motor torque control method that implements any one of the first aspects when the processor executes computer program instructions.

[0047] According to a fourth aspect of this application, embodiments of this application provide a computer storage medium storing computer program instructions, which, when executed by a processor, implement the motor torque control method of any one of the first aspects.

[0048] According to a fifth aspect of this application, an embodiment of this application provides a computer program product in which instructions, when executed by a processor of an electronic device, cause the electronic device to perform the motor torque control method of any one of the first aspects.

[0049] The motor torque control method and apparatus of this application use the sensor signal of a three-phase Hall sensor to determine the current sector where the motor rotor is located. Based on this signal, the target sector angular velocity of the rotor in the current sector can be determined by the angular velocity of the previous sector the rotor has traversed before passing through the current sector. From this target sector angular velocity, the rotor deflection angle that the rotor has already rotated can be calculated. This allows the vector control algorithm to control the motor's output torque based on the rotor deflection angle. Therefore, by utilizing a three-phase switch-type Hall sensor to achieve real-time estimation of the motor's position and speed, the vector control algorithm can accurately control the motor's output torque. Attached Figure Description

[0050] To more clearly illustrate the technical solutions of the embodiments of this application, the accompanying drawings used in the embodiments of this application will be briefly introduced below. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0051] Figure 1 This is a schematic diagram showing the rotor position according to an exemplary embodiment;

[0052] Figure 2 This is a flowchart illustrating a motor torque control method according to an exemplary embodiment;

[0053] Figure 3 This is a graph illustrating the relationship between sensor signals and angle according to an exemplary embodiment;

[0054] Figure 4 This is an overall flowchart illustrating a motor torque control method according to an exemplary embodiment;

[0055] Figure 5 This is a graph illustrating the relationship between sensor signals and angle according to an exemplary embodiment;

[0056] Figure 6 This is a structural block diagram of a motor torque control device according to an exemplary embodiment;

[0057] Figure 7 This is a structural block diagram of a motor torque control device according to an exemplary embodiment. Detailed Implementation

[0058] The features and exemplary embodiments of various aspects of this application will be described in detail below. To make the objectives, technical solutions, and advantages of this application clearer, the application will be further described in detail below with reference to the accompanying drawings and specific embodiments. It should be understood that the specific embodiments described herein are only intended to explain this application and not to limit it. For those skilled in the art, this application can be implemented without some of these specific details. The following description of the embodiments is merely to provide a better understanding of this application by illustrating examples.

[0059] It should be noted that, in this document, relational terms such as "first" and "second" are used merely to distinguish one entity or operation from another, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Furthermore, the terms "comprising," "including," or any other variations thereof are intended to cover non-external inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitations, an element defined by the phrase "comprising..." does not exclude the presence of additional identical elements in the process, method, article, or apparatus that includes said element.

[0060] As described in the background section, a three-phase Hall sensor can only accurately determine six rotor positions (30°, 90°, 150°, 210°, 270°, 330°) within one electrical cycle. Figure 1 A schematic diagram of the rotor position is shown, as follows: Figure 1As shown, an electrical cycle is divided into 6 sectors, each with an angle of 60°. The 6 sectors are encoded using three binary digits. For example, the sector between 30° and 90° is encoded as 101; the sector between 90° and 150° as 100; the sector between 150° and 210° as 110; the sector between 210° and 270° as 010; the sector between 270° and 330° as 011; and the sector between 330° and 30° as 001. Figure 1 In the diagram, A, B, and C are three Hall elements, each corresponding to one of the three-phase windings of the motor rotor; Hall_A, Hall_B, and Hall_C are the sensor signals corresponding to the three Hall elements.

[0061] like Figure 1 As shown, a three-phase Hall sensor can only determine six rotor positions within one electrical cycle, and cannot accurately obtain the position when the rotor is in other positions. Therefore, how to use a three-phase switch-type Hall sensor to achieve real-time estimation of motor position and speed is a technical problem that the industry needs to solve.

[0062] To address the problems in the prior art, this application utilizes a three-phase switch-type Hall sensor to achieve real-time estimation of motor position and speed, thereby enabling the vector control algorithm to accurately control the motor output torque.

[0063] Based on this, this application provides a motor torque control method and apparatus. The motor torque control method provided in the embodiments of this application will be described first below.

[0064] Figure 2 A schematic flowchart of a motor torque control method according to an embodiment of this application is shown. Figure 2 As shown, it may include the following steps:

[0065] S201, acquire the sensor signal from the three-phase Hall sensor, which is connected to the motor;

[0066] S202, determine the current sector where the motor rotor is located based on the sensor signal;

[0067] S203, determine the target sector angular velocity of the rotor in the current sector based on the previous sector angular velocity when the rotor passes through the previous sector. The previous sector is the sector that the rotor passes through before reaching the current sector.

[0068] S204, determine the rotor deflection angle based on the target sector angular velocity;

[0069] S205 uses a vector control algorithm to control the motor's output torque based on the rotor deflection angle.

[0070] Based on the above embodiments, this application uses the sensor signal of a three-phase Hall sensor to determine the current sector where the motor rotor is located. Therefore, the target sector angular velocity of the rotor in the current sector can be determined based on the angular velocities of the previous sectors traversed by the rotor before passing through the current sector. Based on the target sector angular velocity, the rotor deflection angle that the rotor has already rotated can be calculated, enabling the vector control algorithm to control the motor's output torque based on the rotor deflection angle. Therefore, by utilizing a three-phase switch-type Hall sensor to achieve real-time estimation of the motor's position and speed, the vector control algorithm can accurately control the motor's output torque.

[0071] In S201 above, the three-phase Hall sensor is connected to the motor, and sensor signals about the motor's rotation status can be obtained from the three-phase Hall sensor.

[0072] As an example, the working principle of a three-phase Hall sensor is based on the Hall effect. The Hall effect refers to the potential difference (Hall voltage) generated across a conductor when current flows through it under the influence of a magnetic field. This type of sensor typically consists of a Hall element, a power supply, and an output circuit. When a magnetic field acts on the Hall element, the electric field generated across the element causes a change in the Hall voltage. By measuring this voltage change, the strength and direction of the magnetic field can be indirectly measured. Since a motor's rotation is essentially caused by a magnetic field acting on its rotor, the sensor signal from a three-phase Hall sensor can reflect the rotor's motion.

[0073] In the above S202, such as Figure 3 As shown, this illustrates the correspondence between sensor signals and rotor position. This article takes the most common three-phase Hall effect sensor mounting position as an example, and the relationship curve between the three-phase Hall effect signal and angle is shown in the figure. Figure 3 As shown in the figure, when the HALL_A signal changes from 0 to 1, the actual position of the motor is 30°. Similarly, by identifying the different state transitions of the Hall signals, six discrete position angles can be obtained: 30°, 90°, 150°, 210°, 270°, and 330°. The three-phase Hall signals are then combined into a single binary number (e.g., ...). Figure 1 As shown in the diagram, the Hall code values, converted to decimal, are 1, 5, 4, 6, 2, and 3, corresponding to the six sectors. The motor controller identifies the switching of these values ​​to correspond to different position angles. Therefore, based on the sensor signals, the current sector of the motor rotor can be determined.

[0074] In S203 above, the target sector angular velocity of the rotor when passing through the current sector is calculated based on the angular velocity of the rotor in the previous sector before the current sector corresponding to the sensor signal.

[0075] In one embodiment, S203 may include:

[0076] S2031, if the number of previous sectors is greater than or equal to a preset number, determine the target sector angular velocity based on the angular velocities of the previous sectors of the preset number of previous sectors that the rotor last passed before reaching the current sector.

[0077] S2032, if the number of previous sectors is less than the preset number, determine the angular velocity of the last previous sector that the rotor passes through before reaching the current sector as the target sector angular velocity.

[0078] Based on the above embodiments, by determining the sector angular velocity of the current sector under different conditions according to the size relationship between the previous sector and the preset number, the accuracy of determining the target sector angular velocity is improved.

[0079] In S2031 above, if the motor has been rotating for a period of time and the number of previous sectors passed by the rotor is greater than or equal to a preset number, the target sector angular velocity of the current sector can be obtained by weighted averaging the angular velocities of the previous sectors passed by the preset number of previous sectors before the rotor reaches the current sector.

[0080] More specifically, S2031 may include:

[0081] S20311, respectively obtain the first rotation time of the rotor passing through each of the previous sectors in the last preset number of previous sectors, and the sector weight value of each of the previous sectors in the last preset number of previous sectors, wherein each sector weight value is inversely correlated with the order in which the rotor passes through the previous sectors;

[0082] S20312, for each of the previous sectors in the last preset number of previous sectors, the quotient of the sector rotation angle of the previous sector and the first rotation time is determined as the previous sector angular velocity of the previous sector;

[0083] S20313, the target sector angular velocity is obtained by weighted summation based on the sector weight of each of the previous sectors in the last preset number of previous sectors and the angular velocity of the previous sectors.

[0084] In the above embodiment, the T-method can be used to calculate the angular velocity of the previous sector. In S20311 above, a timer is used to obtain the first rotation time spent in each of the last preset number of previous sectors that the rotor passes through before reaching the current sector. For example, when the Hall code value changes, the sector where the current motor is located changes. At this time, the timer is started to obtain the first rotation time corresponding to each previous sector.

[0085] In addition, it is also necessary to obtain the sector weight value of each of the last preset number of previous sectors that the rotor passed through before reaching the current sector. The sector weight value is inversely related to the order in which the rotor passed through the previous sectors. That is, the closer the previous sector is to the current sector, the greater its corresponding sector weight value.

[0086] In the above S20312, the sector rotation angle corresponding to each previous sector is 60°, and the first rotation time of the rotor through each previous sector is known. Therefore, the previous sector angular velocity of each previous sector can be calculated based on the quotient of the sector rotation angle and the first rotation time of each previous sector.

[0087] In one example, after the Hall code value changes, the first rotation time recorded by the timer is obtained, and the counter is reset to zero to facilitate subsequent counting. The previous sector angular velocity can then be expressed by formula (1):

[0088]

[0089] In formula (1), T c This is the time it takes for the motor to pass through the previous sector, i.e., the first rotation time; The estimated average angular velocity of the current sector; w e_k1 This is the average angular velocity of the previous sector, i.e., the angular velocity of the previous sector.

[0090] In S20313 above, the target sector angular velocity of the current sector is obtained by weighted summation based on the previous sector angular velocity and sector weight value of each of the previous sectors in the preset number of previous sectors.

[0091] In one example, the target sector angular velocity of the current sector can be represented by formula (2):

[0092] w e =α A w e_k1 +α B w e_k2 +α C w e_k3 (2)

[0093] In formula (2), w e w represents the target sector angular velocity of the current sector. e_k1 w e_k2 w e_k3 The angular velocities of the three previous sectors are respectively, which can be calculated using formula (1); α A α B α CThese are the sector weights corresponding to the angular velocities of the three previous sectors, respectively. The specific values ​​and their relationships can be set according to actual needs, for example, α. A >α B >α C .

[0094] In the above S2032, when the motor just starts to rotate, if the number of previous sectors passed by the rotor is less than a preset number (e.g., three), the sector angular velocity of the last previous sector passed by the rotor before reaching the current sector is used as the target sector angular velocity of the current sector.

[0095] Specifically, S2032 may include:

[0096] S20321, Obtain the second rotation time of the rotor as it passes through the last previous sector;

[0097] S20322, determine the quotient of the sector rotation angle of the last previous sector and the second rotation time as the previous sector angular velocity of the last previous sector;

[0098] S20323, determine the previous sector angular velocity of the last previous sector as the target sector angular velocity.

[0099] In S20321 above, the second rotation time of the rotor after passing through the last previous sector can be obtained by a timer.

[0100] In the above S20322, similarly, the sector rotation angle of the last previous sector is also 60°, and the quotient of the sector rotation angle and the second rotation time is the angular velocity of the rotor in the previous sector of the last previous sector.

[0101] In S20323 above, the current sector angular velocity of the last current sector is defaulted to the target sector angular velocity.

[0102] The sector angular velocity of any previous sector can be calculated by the ratio of angle to time. That is, when the sensor signal changes, it means that the sector where the electron rotor is located has changed. At this time, a timer is started to keep track. When the sensor signal changes again (indicating that the rotor has completed rotation in this current sector), the timer transmits the currently recorded rotation time to the control algorithm and resets to zero to continue recording the time for the next current sector.

[0103] The reason for this approach is that as the ratio of angle to time increases with the rotor speed, the calculation resolution decreases. By using a weighted method, the dynamic response speed of the speed estimation can be guaranteed to a certain extent, while avoiding speed fluctuations caused by the decrease in resolution, thereby improving the accuracy of determining the sector angular velocity of the rotor.

[0104] In S204 above, after determining the target sector angular velocity of the rotor rotating in the current sector, the angle traversed by the rotor in the current sector can be calculated based on the product of the rotation time in the current sector and the target sector angular velocity. And as... Figure 3 As shown, each sector has an initial angle. For example, the initial angle of the sector (30°-90°) is 30°. This means that in this sector, the rotor rotation angle will be at least 30°. Therefore, the sum of the two is the total angle of the rotor rotation.

[0105] Specifically, S204 may include:

[0106] S2041, obtain the third rotation time of the rotor in the current sector, and the initial angle of the target sector in the current sector;

[0107] S2042, determine the rotor deflection angle based on the third rotation time, the initial angle of the target sector, and the angular velocity of the target sector.

[0108] In S2041 above, the third rotation time of the rotor when it rotates in the current sector can be obtained by a timer, as well as the initial angle of the target sector corresponding to the current sector.

[0109] In S2042 above, the total angle of rotor deflection can be calculated based on the third rotation time, the angular velocity of the target sector, and the initial angle of the target sector.

[0110] Specifically, the product of the third rotation time and the target sector angular velocity is determined as the target sector deflection angle of the rotor in the current sector; by multiplying the third rotation time by the target sector angular velocity, the target sector deflection angle of the rotor in the current sector can be obtained.

[0111] The sum of the initial angle and the deflection angle of the target sector is determined as the rotor deflection angle. Adding the deflection angle of the target sector to the initial angle gives the position of the rotor within one revolution (360°), i.e., the rotor deflection angle.

[0112] It should be noted that within the sector (330°-30°), since the rotor has completed one revolution, the target sector deflection angle should be the third rotation time × the target sector angular velocity + the target sector initial angle - 360°.

[0113] In S205 above, after the position of the rotor (rotor deflection angle) is determined, the output torque of the motor can be controlled by the vector control algorithm according to the rotor deflection angle. By providing the rotor deflection angle, the problem of inaccurate output torque control of the motor by the vector control algorithm in the prior art is solved.

[0114] Vector control algorithms achieve precise torque control of the motor by measuring and calculating the rotor position, rotor magnetic field, and current vector inside the motor. This control method is similar to the control of a DC motor, allowing separate control of the motor's magnetic field and torque, thereby achieving high-performance torque control.

[0115] In one embodiment, to improve the accuracy of motor torque control, the motor torque control method provided in one embodiment of this application, after S204 above, may further include:

[0116] S2001, obtain the rotor speed in the current sector;

[0117] S2002 uses a vector control algorithm to control the motor's output torque based on the rotor deflection angle and rotor speed.

[0118] Based on the above embodiments, by acquiring the rotor speed within the target range and the rotor speed in the current sector, and then using a vector control algorithm to perform comprehensive control based on the rotor speed and rotor deflection angle, the vector control algorithm considers not only the rotor deflection angle but also the rotor speed, enabling more accurate prediction and calculation of the motor's torque requirements. This control method allows for independent control of the motor's magnetic field and torque, thus achieving more precise torque control. Furthermore, because it considers both the rotor deflection angle and rotor speed simultaneously, the vector control algorithm can more effectively adjust the motor's dynamic response.

[0119] In the above S2001, the rotational speed of the rotor in the motor can be directly obtained through a sensor connected to the motor.

[0120] Specifically, in another embodiment, S2001 may further include:

[0121] S20011, obtain the number of pole pairs of the motor;

[0122] S20012, determine the rotor speed based on the number of pole pairs and the angular velocity of the target sector.

[0123] Based on the above embodiments, the rotor speed can be calculated directly based on the number of pole pairs of the motor and the angular velocity of the target sector, thus eliminating the need to obtain the rotor speed through sensors, avoiding the installation of sensors, and saving detection and control costs.

[0124] In the above S20011, the number of pole pairs of the motor can be obtained through the motor's nameplate or instruction manual parameters.

[0125] In S20011 above, the rotor speed can be obtained by calculating the quotient of the number of pole pairs and the angular velocity of the target sector.

[0126] More specifically, the rotor speed is determined by the following formula (3):

[0127]

[0128] In formula (3), n is the rotor speed, and w e Let P be the target sector angular velocity, and P be the pole pair number.

[0129] In step S2002 above, the required stator current vector is calculated using a vector control algorithm based on the rotor speed, rotor deflection angle, and a mathematical model. Then, the magnitude and phase of the stator current are adjusted using a frequency converter or other control equipment to match the calculated stator current vector. Simultaneously, the motor's operating status is monitored in real time, and control parameters are adjusted as needed to optimize motor performance.

[0130] In order to estimate the current position θ of the motor rotor e This can be achieved using formula (4):

[0131] θ e =θ k +w e Δt (4)

[0132] In formula (4), θ k Δt represents the discrete angle value corresponding to the moment the Hall code value switches, and Δt represents the timing of the current sector movement.

[0133] The motor position θ required for motor vector control k Once the speed and torque are obtained, a vector control algorithm can be used to precisely control the motor's output torque. As an example, a vector control architecture diagram can be shown as follows: Figure 4 As shown, the vector control architecture consists of a speed regulator, a current regulator, an inverse Park converter, an SVPWM (Space Vector Pulse Width Modulation) converter, a drive bridge, a Park converter, a Clarke converter, a rotor position and speed estimator, a Hall sensor, a motor, and an arithmetic unit (e.g., a multiplication unit).

[0134] like Figure 4As shown, the rotor position and speed estimator multiplies the estimated motor speed Speed_est and the desired motor speed Speed_ref based on the sensor signal from the Hall sensor, and then inputs this multiplication into the speed regulator. The speed regulator adjusts the speed, outputs the q-axis current reference value Iq_ref, and multiplies it with the actual q-axis current value Iq_act output from the Park converter. The result is then used as the input to the current regulator. Simultaneously, the d-axis current reference value Id_ref is multiplied with the actual d-axis current value Id_act output from the Park converter, and the result is used as another input to the current regulator. The current regulator calculates the d-axis voltage Ud and the q-axis voltage Uq based on these two inputs. Then, the d-axis voltage Ud, the q-axis voltage Uq, and the rotor position estimate Theta_est obtained from the rotor position and speed estimator are input into the inverse Park converter to obtain the α-axis voltage U_alpha and β-axis voltage U_beta. Next, a PWM (Pulse Width Modulation) signal is obtained through an SVPWM modulator. This signal is input to the drive bridge, from which the three-phase currents Ia, Ib, and Ic of the motor are obtained. These three-phase currents serve as inputs to the Clarke converter, yielding the α-axis current I_alpha and the β-axis current U_beta, which are then used as inputs to the Park converter. Simultaneously, the three-phase currents also serve as inputs to the motor to control its torque.

[0135] Therefore, it can be seen that... Figure 4 The architecture diagram shown shows that the Clarke converter and Park converter convert the current in the three-phase coordinate system into the dq-axis current in the rotating coordinate system. The outer loop is a speed closed loop and the inner loop is a current closed loop control. The PWM drive signal of the power drive module is obtained through SVPWM space vector modulation to drive the motor.

[0136] In one embodiment, Figure 5 A flowchart illustrating the overall process of the method provided in the embodiments of this application is shown, as follows: Figure 5 As shown, the method includes the following steps S501 to S509:

[0137] Step S501: Read the sensor signal of the three-phase Hall sensor (e.g., a three-phase switch-type Hall sensor);

[0138] Step S502: Calculate the angular velocity of the previous sector using the T-method;

[0139] Step S503: Detect whether the motor has rotated more than three sectors; if so, proceed to step S504; otherwise, proceed to step S505.

[0140] Step S504: Estimate the target sector angular velocity of the current sector based on the average angular velocity of the three previous sectors and the sector weight value.

[0141] Step S505: Determine the target sector angular velocity of the current sector based on the previous sector angular velocity of the previous sector;

[0142] Step S506: Obtain the sensor signal of the three-phase Hall sensor and the position truth table of the motor rotor;

[0143] Step S507: Estimate the motor position based on the discrete angle value at the moment of Hall code value switching and the angular velocity of the previous sector of the previous sector;

[0144] Step S508: Calculate the motor speed;

[0145] Step S509: Control the motor operation using a motor vector control algorithm.

[0146] It should be noted that the application scenarios described in the above embodiments of this application are for the purpose of more clearly illustrating the technical solutions of the embodiments of this application, and do not constitute a limitation on the technical solutions provided by the embodiments of this application. As those skilled in the art will know, with the emergence of new application scenarios, the technical solutions provided by the embodiments of this application are also applicable to similar technical problems; and, the new embodiments of this application can be combined with each other, and the new solutions formed by the combination of various embodiments are all within the protection scope of this application.

[0147] Based on the same inventive concept, this application also provides a motor torque control device 600. (Specifically combined with...) Figure 6 Please provide a detailed explanation.

[0148] The first acquisition module 610 is used to acquire the sensor signal of the three-phase Hall sensor, which is connected to the motor.

[0149] The first determining module 620 is used to determine the current sector where the motor rotor is located based on the sensor signal;

[0150] The second determining module 630 is used to determine the target sector angular velocity of the rotor in the current sector based on the previous sector angular velocity when the rotor passes through the previous sector. The previous sector is the sector that the rotor passes through before reaching the current sector.

[0151] The third determining module 640 is used to determine the rotor deflection angle of the rotor based on the angular velocity of the target sector;

[0152] The first control module 650 is used to control the output torque of the motor according to the rotor deflection angle through a vector control algorithm.

[0153] In the motor torque control device 600 provided in this embodiment, the first acquisition module 610 acquires the sensor signal of the three-phase Hall sensor, the first determination module 620 determines the current sector where the motor rotor is located based on the sensor signal, the second determination module 630 can then determine the target sector angular velocity of the rotor in the current sector based on the previous sector angular velocity traversed by the rotor between the current sector and the previous sector, and the third determination module 640 can then calculate the rotor deflection angle that the rotor has already rotated based on the target sector angular velocity. The first control module 650 thus enables the vector control algorithm to control the output torque of the motor based on the rotor deflection angle. Based on this, by using the three-phase switch-type Hall sensor to realize the real-time estimation of the motor position and speed, the vector control algorithm can accurately control the output torque of the motor.

[0154] Optionally, the second determining module 630 may include:

[0155] The first determining unit is used to determine the target sector angular velocity based on the angular velocities of the previous sector of the last preset number of previous sectors before the rotor reaches the current sector, when the number of previous sectors is greater than or equal to a preset number.

[0156] The second determining unit is used to determine the angular velocity of the previous sector of the last previous sector that the rotor passes through before reaching the current sector, when the number of previous sectors is less than a preset number, as the target sector angular velocity.

[0157] Optionally, the first determining unit may include:

[0158] The first acquisition subunit is used to acquire the first rotation time of the rotor passing through each of the last preset number of previous sectors, and the sector weight value of each of the last preset number of previous sectors, wherein the sector weight value is inversely correlated with the order in which the rotor passes through the previous sectors.

[0159] The first determining subunit is used to determine the quotient of the sector rotation angle and the first rotation time of each of the last preset number of previous sectors as the previous sector angular velocity of the previous sector.

[0160] The summation sub-unit is used to perform a weighted summation based on the sector weight and angular velocity of each of the previous sectors in the last preset number of previous sectors to obtain the target sector angular velocity.

[0161] Optionally, the first determining unit may include:

[0162] The second acquisition subunit is used to acquire the second rotation time of the rotor as it passes through the last previous sector.

[0163] The second determining subunit is used to determine the quotient of the sector rotation angle of the last previous sector and the second rotation time as the previous sector angular velocity of the last previous sector.

[0164] The third determining sub-unit is used to determine the previous sector angular velocity of the last previous sector as the target sector angular velocity.

[0165] Optionally, the third determining module 640 may include:

[0166] The first acquisition unit is used to acquire the third rotation time of the rotor in the current sector, and the initial angle of the target sector in the current sector;

[0167] The third determining unit is used to determine the rotor deflection angle based on the third rotation time, the initial angle of the target sector, and the angular velocity of the target sector.

[0168] Optionally, the third determining unit may include:

[0169] The fourth determining sub-unit is used to determine the product of the third rotation time and the target sector angular velocity as the rotor's target sector deflection angle in the current sector;

[0170] The fifth determining sub-unit is used to determine the sum of the initial angle of the target sector and the deflection angle of the target sector as the rotor deflection angle.

[0171] Optionally, the motor torque control device 600 may further include:

[0172] The second acquisition module is used to acquire the rotor speed in the current sector;

[0173] The second control module is used to control the output torque of the motor based on the rotor deflection angle and rotor speed using a vector control algorithm.

[0174] Optionally, the motor torque control device 600 may further include:

[0175] The third acquisition module is used to acquire the number of pole pairs of the motor;

[0176] The fourth determining module is used to determine the rotor speed based on the number of pole pairs and the angular velocity of the target sector.

[0177] Optionally, the fourth determining module may include:

[0178] The rotor speed is determined using the following formula:

[0179]

[0180] Where n is the rotor speed, w e Let P be the target sector angular velocity, and P be the pole pair number.

[0181] The motor torque control device 600 provided in this embodiment can achieve... Figure 2 The various processes implemented in the method embodiments can achieve the same technical effect, and will not be described again here to avoid repetition.

[0182] Figure 7 A schematic diagram of the hardware structure of the motor torque control device provided in an embodiment of this application is shown.

[0183] The motor torque control device may include a processor 701 and a memory 702 storing computer program instructions.

[0184] Specifically, the processor 701 may include a central processing unit (CPU), an application-specific integrated circuit (ASIC), or one or more integrated circuits that can be configured to implement the embodiments of this application.

[0185] Memory 702 may include mass storage for data or instructions. For example, and not limitingly, memory 702 may include a hard disk drive (HDD), floppy disk drive, flash memory, optical disk, magneto-optical disk, magnetic tape, or Universal Serial Bus (USB) drive, or a combination of two or more of these. Where appropriate, memory 702 may include removable or non-removable (or fixed) media. Where appropriate, memory 702 may be internal or external to the integrated gateway disaster recovery device. In a particular embodiment, memory 702 is non-volatile solid-state memory.

[0186] In a specific embodiment, the memory 702 can be implemented in the form of ROM (Read Only Memory), RAM (Random Access Memory), static storage device, dynamic storage device, etc. The memory 702 can store the operating system and other application programs. When the technical solutions provided in the embodiments of this specification are implemented through software or firmware, the relevant program code is stored in the memory 702 and is called and executed by the processor 701. The processor 701 implements any of the motor torque control methods in the above embodiments by reading and executing the computer program instructions stored in the memory 702.

[0187] In one example, the motor torque control device may also include a communication interface 703 and a bus 704. As shown in the figure, the processor 701, memory 702, and communication interface 703 are connected via the bus 704 and communicate with each other.

[0188] The communication interface 703 is mainly used to realize communication between various modules, devices, units and / or equipment in the embodiments of this application.

[0189] Bus 704 includes hardware, software, or both, that couples components of a motor torque control device together. For example, and not as a limitation, bus 704 may include an Accelerated Graphics Port (AGP) or other graphics bus, an Enhanced Industry Standard Architecture (EISA) bus, a Front Side Bus (FSB), HyperTransport (HT) interconnect, an Industry Standard Architecture (ISA) bus, a Wireless Bandwidth Interconnect, a Low Pin Count (LPC) bus, a memory bus, a Microchannel Architecture (MCA) bus, a Peripheral Control Interconnect (PCI) bus, a PCI-Express (PCI-X) bus, a Serial Advanced Technology Attachment (SATA) bus, a Video Electronics Standards Association Local (VLB) bus, or other suitable buses, or combinations of two or more of these. Where appropriate, bus 704 may include one or more buses 704. Although specific bus 704s are described and illustrated in embodiments of this application, any suitable bus 704 or interconnect is contemplated herein.

[0190] The motor torque control device can execute the motor torque control method in the embodiments of this application based on the motor torque control device 600, thereby achieving a combination Figure 2 The described motor torque control method.

[0191] Furthermore, in conjunction with the motor torque control methods described in the above embodiments, this application embodiment can provide a computer storage medium for implementation. This computer storage medium stores computer program instructions; when these computer program instructions are executed by a processor, they implement any of the motor torque control methods described in the above embodiments.

[0192] The computer-readable medium of this embodiment includes permanent and non-permanent, removable and non-removable media, and information storage can be implemented by any method or technology. Information can be computer-readable instructions, data structures, program modules, or other data. Examples of computer storage media include, but are not limited to, phase-change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technologies, CD-ROM, digital versatile optical disc (DVD) or other optical storage, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other non-transfer medium that can be used to store information accessible by a computing device.

[0193] The computer instructions stored in the storage medium of the above embodiments are used to cause the computer to execute the motor torque control method as described in any of the above embodiments, and have the beneficial effects of the corresponding method embodiments, which will not be repeated here.

[0194] This application also provides a computer program product, including a computer program that, when executed, implements any of the motor torque control methods described in the above embodiments.

[0195] It should be clarified that this application is not limited to the specific configurations and processes described above and shown in the figures. For the sake of brevity, detailed descriptions of known methods are omitted here. In the above embodiments, several specific steps are described and shown as examples. However, the method process of this application is not limited to the specific steps described and shown. Those skilled in the art can make various changes, modifications, and additions, or change the order of steps, after understanding the spirit of this application.

[0196] The functional blocks shown in the above-described structural diagram can be implemented as hardware, software, firmware, or a combination thereof. When implemented in hardware, they can be, for example, electronic circuits, application-specific integrated circuits (ASICs), appropriate firmware, plug-ins, function cards, etc. When implemented in software, the elements of this application are programs or code segments used to perform the required tasks. Programs or code segments can be stored on a machine-readable medium or transmitted over a transmission medium or communication link via data signals carried on a carrier wave. "Machine-readable medium" can include any medium capable of storing or transmitting information. Examples of machine-readable media include electronic circuits, semiconductor memory devices, ROM, flash memory, erasable ROM (EROM), floppy disks, CD-ROMs, optical disks, hard disks, fiber optic media, radio frequency (RF) links, etc. Code segments can be downloaded via computer networks such as the Internet, intranets, etc.

[0197] It should also be noted that the exemplary embodiments mentioned in this application describe methods or systems based on a series of steps or apparatus. However, this application is not limited to the order of the above steps; that is, the steps can be performed in the order mentioned in the embodiments, or in a different order, or several steps can be performed simultaneously.

[0198] The aspects of this disclosure have been described above with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of this disclosure. It should be understood that each block in the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, or other programmable motor torque control device to produce a machine such that these instructions, executable via the processor of the computer or other programmable motor torque control device, enable the implementation of the functions / actions specified in one or more blocks of the flowchart illustrations and / or block diagrams. Such a processor can be, but is not limited to, a general-purpose processor, a special-purpose processor, a special application processor, or a field-programmable logic circuit. It is also understood that each block in the block diagrams and / or flowchart illustrations, and combinations of blocks in the block diagrams and / or flowchart illustrations, can also be implemented by special-purpose hardware performing the specified functions or actions, or can be implemented by a combination of special-purpose hardware and computer instructions.

[0199] The above description is merely a specific implementation of this application. Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the specific working processes of the systems, modules, and units described above can be referred to the corresponding processes in the foregoing method embodiments, and will not be repeated here. It should be understood that the protection scope of this application is not limited thereto. Any person skilled in the art can easily conceive of various equivalent modifications or substitutions within the technical scope disclosed in this application, and these modifications or substitutions should all be covered within the protection scope of this application.

Claims

1. A motor torque control method, characterized in that, The method includes: Acquire the sensor signal from the three-phase Hall sensor, which is connected to the motor; The current sector where the motor rotor is located is determined based on the sensor signals; Based on the previous sector angular velocity when the rotor passes through the previous sector, the target sector angular velocity of the rotor in the current sector is determined, where the previous sector is the sector that the rotor passes through before reaching the current sector; The rotor deflection angle of the rotor is determined based on the angular velocity of the target sector. The output torque of the motor is controlled by a vector control algorithm based on the rotor deflection angle. Determining the target sector angular velocity of the rotor in the current sector based on the previous sector angular velocity when the rotor passes through the previous sector includes: When the number of previous sectors is greater than or equal to a preset number, the first rotation time of each of the previous sectors in the preset number of previous sectors that the rotor last passed through is obtained, as well as the sector weight value of each of the previous sectors in the preset number of previous sectors. The previous sector that is closer to the current sector has a larger corresponding sector weight value. For each of the previously mentioned sectors in the last preset number of previously mentioned sectors, the quotient of the sector rotation angle of the previously mentioned sector and the first rotation time is determined as the previous sector angular velocity of the previously mentioned sector; The target sector angular velocity is obtained by weighted summation of the sector weight and angular velocity of each of the previously defined preset number of sectors.

2. The method as described in claim 1, characterized in that, The step of determining the target sector angular velocity of the rotor in the current sector based on the previous sector angular velocity of the rotor when passing through the previous sector further includes: If the number of previous sectors is less than the preset number, the angular velocity of the previous sector that the rotor passes through before reaching the current sector is determined as the target sector angular velocity.

3. The method as described in claim 2, characterized in that, Determining the target sector angular velocity as the angular velocity of the last previous sector traversed before the rotor reaches the current sector includes: Obtain the second rotation time of the rotor as it passes through the last previous sector; The quotient of the sector rotation angle of the last previous sector and the second rotation time is determined as the previous sector angular velocity of the last previous sector; The previous sector angular velocity of the last previous sector is determined as the target sector angular velocity.

4. The method as described in claim 1, characterized in that, Determining the rotor deflection angle based on the target sector angular velocity includes: Obtain the third rotation time of the rotor in the current sector, and the initial angle of the target sector of the current sector; The rotor deflection angle is determined based on the third rotation time, the initial angle of the target sector, and the angular velocity of the target sector.

5. The method as described in claim 4, characterized in that, Determining the rotor deflection angle based on the third rotation time, the initial angle of the target sector, and the angular velocity of the target sector includes: The product of the third rotation time and the angular velocity of the target sector is determined as the deflection angle of the rotor in the target sector of the current sector; The sum of the initial angle of the target sector and the deflection angle of the target sector is determined as the rotor deflection angle.

6. The method according to any one of claims 1-5, characterized in that, After determining the rotor deflection angle of the rotor based on the target sector angular velocity, the method further includes: Obtain the rotor speed of the rotor in the current sector; The output torque of the motor is controlled by a vector control algorithm based on the rotor deflection angle and the rotor speed.

7. The method as described in claim 6, characterized in that, Before obtaining the rotor speed in the current sector, the method further includes: Obtain the number of pole pairs of the motor; The rotor speed is determined based on the number of pole pairs and the angular velocity of the target sector.

8. The method as described in claim 7, characterized in that, Determining the rotor speed based on the number of pole pairs and the angular velocity of the target sector includes: The rotor speed is determined by the following formula: Where n is the rotor speed, Let P be the target sector angular velocity, and P be the pole pair number.

9. A motor torque control device, characterized in that, The device includes: The first acquisition module is used to acquire the sensor signal of the three-phase Hall sensor, which is connected to the motor; The first determining module is used to determine the current sector where the rotor of the motor is located based on the sensor signal; The second determining module is used to determine the target sector angular velocity of the rotor in the current sector based on the previous sector angular velocity when the rotor passes through the previous sector, wherein the previous sector is the sector that the rotor passes through before reaching the current sector; The third determining module is used to determine the rotor deflection angle of the rotor based on the angular velocity of the target sector; The first control module is used to control the output torque of the motor according to the rotor deflection angle using a vector control algorithm; Determining the target sector angular velocity of the rotor in the current sector based on the previous sector angular velocity when the rotor passes through the previous sector includes: When the number of previous sectors is greater than or equal to a preset number, the first rotation time of each of the previous sectors in the preset number of previous sectors that the rotor last passed through is obtained, as well as the sector weight value of each of the previous sectors in the preset number of previous sectors. The previous sector that is closer to the current sector has a larger corresponding sector weight value. For each of the previously mentioned sectors in the last preset number of previously mentioned sectors, the quotient of the sector rotation angle of the previously mentioned sector and the first rotation time is determined as the previous sector angular velocity of the previously mentioned sector; The target sector angular velocity is obtained by weighted summation of the sector weight and angular velocity of each of the previously defined preset number of sectors.