Method and device for motor zero calibration, storage medium and motor

By using a PI controller to determine the zero-position angle where the d-axis voltage is zero during the motor's free-fall process, and combining this with adjustments to the forward and reverse directions and carrier frequency, the problem of large zero-position calibration errors in existing motors has been solved, achieving more accurate and efficient zero-position angle calibration.

CN119853527BActive Publication Date: 2025-11-11ZOOMLION HEAVY INDUSTRY SCIENCE AND TECHNOLOGY CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202411772573.6
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-12-04
Publication Date
2025-11-11
Estimated Expiration
2044-12-04

AI Technical Summary

Technical Problem

Existing methods for zero-position calibration of motors have large errors, are affected by human error and mechanical friction resistance, and have complex calibration processes and high hardware requirements.

Method used

By using the initial zero-position angle as a reference during the motor's free deceleration process, the PI controller determines the zero-position angle that makes the motor's d-axis voltage zero. Combined with self-learning in both forward and reverse directions and carrier frequency adjustment, the self-learned zero-position angle is more accurate and robust.

Benefits of technology

It achieves more accurate zero-angle calibration, reduces errors, and improves calibration efficiency and versatility. It is not limited by the scene and is suitable for environments such as flat ground and test benches.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119853527B_ABST
    Figure CN119853527B_ABST
Patent Text Reader

Abstract

This application discloses a method, apparatus, storage medium, and motor for motor zero-position calibration. The method includes: determining the initial zero-position angle of the motor; inputting current into the motor to drive it to rotate forward at the current carrier frequency; after the motor reaches a target speed, allowing it to decelerate freely, and then a PI controller uses the initial zero-position angle as a reference to determine a first zero-position angle that makes the d-axis voltage of the motor zero; then, similarly, driving the motor to rotate in reverse to determine a second zero-position angle that makes the d-axis voltage of the motor zero. A third zero-position angle corresponding to the current carrier frequency is determined based on the first and second zero-position angles. At different carrier frequencies, the PI controller repeatedly performs the calibration operation using the third zero-position angle as a reference to obtain target zero-position angles corresponding to different carrier frequencies. This scheme, based on the already calibrated zero-position angle as a reference, calibrates the zero-position angle at different carrier frequencies, resulting in more accurate and efficient calibration.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the technical field of motor zero-position calibration, and more specifically to a method, apparatus, storage medium, and motor for motor zero-position calibration. Background Technology

[0002] In the vector control process of drive motors in new energy vehicles, the rotation angle of the synchronous coordinate system is a crucial variable. This rotation angle is calculated relative to the A-phase winding of the motor stator, therefore, it is necessary to first determine the position of the A-phase winding (referred to as the motor zero position). Existing technologies mainly involve the following zero-position calibration methods: one is the manual zero-position adjustment method, which involves manually adjusting the position of the resolver to align the phase voltage with the resolver's voltage direction. This method has low accuracy and is significantly affected by human error. Another method involves mounting the motor on the drive motor for zero-position calibration. This method is complex and requires high-quality hardware. A third method involves applying current to control the motor rotor to stop at the motor zero position, then reading the zero-position angle measured by the resolver. This method is affected by the mechanical friction resistance of the motor, leading to errors in the zero-position angle calibration. Summary of the Invention

[0003] The purpose of this application is to provide a method, apparatus, storage medium, and motor for zero-position calibration of a motor, so as to solve the problem of errors in the calibration of the zero-position angle in the prior art.

[0004] To achieve the above objectives, the first aspect of this application provides a method for zero-position calibration of a motor, the method comprising:

[0005] Step S1: Determine the initial zero-position angle of the motor;

[0006] Step S2: At the current carrier frequency, input a first preset current to the motor to drive the motor to rotate in the first rotation direction;

[0007] Step S3: Once the motor speed reaches the target speed, disconnect the motor current to allow the motor to decelerate freely.

[0008] Step S4: During the free deceleration of the motor, the PI controller uses the initial zero angle as a reference to determine the first zero angle that makes the d-axis voltage of the motor zero.

[0009] Step S5: Input a second preset current into the motor to drive the motor to rotate in the second rotation direction;

[0010] Step S6: Once the motor speed reaches the target speed, disconnect the motor current to allow the motor to decelerate freely.

[0011] Step S7: During the free deceleration of the motor, the PI controller uses the initial zero angle as a reference to determine the second zero angle that makes the d-axis voltage of the motor zero.

[0012] Step S8: Determine the third zero angle corresponding to the current carrier frequency based on the first zero angle and the second zero angle;

[0013] Step S9: Repeat steps S2 to S8 at different carrier frequencies to obtain the target zero angles corresponding to each different carrier frequency. In steps S4 and S7, the PI controller uses the third zero angle as a reference.

[0014] In the embodiments of this application, during the free deceleration process of the motor, the PI controller uses the initial zero-position angle as a reference to determine the first zero-position angle that makes the d-axis voltage of the motor zero, including: setting the target voltage of the motor's d-axis to zero; obtaining the feedback voltage of the motor's d-axis; determining the voltage difference between the target voltage of the d-axis and the feedback voltage of the d-axis; adjusting the zero-position angle based on the initial zero-position angle so that the voltage difference is zero; and determining the zero-position angle when the voltage difference is zero as the first zero-position angle.

[0015] In the embodiments of this application, during the free deceleration process of the motor, the PI controller uses the initial zero-position angle as a reference to determine the second zero-position angle that makes the d-axis voltage of the motor zero, including: setting the target d-axis voltage of the motor to zero; obtaining the d-axis feedback voltage of the motor; determining the voltage difference between the target d-axis voltage and the d-axis feedback voltage; adjusting the zero-position angle based on the initial zero-position angle so that the voltage difference is zero; and determining the zero-position angle when the voltage difference is zero as the second zero-position angle.

[0016] In the embodiments of this application, determining the initial zero-position angle of the motor includes: setting the voltage of the motor's d-axis to a first preset voltage and the voltage of the motor's q-axis to a second preset voltage at the current carrier frequency, driving the motor to rotate in a first rotation direction, and then disconnecting the motor's voltage to allow the motor to decelerate freely; when the motor decelerates to a stop, obtaining the motor's current first initial zero-position angle; setting the motor's d-axis voltage to the second preset voltage and the motor's q-axis voltage to the first preset voltage, driving the motor to rotate in a second rotation direction, and then disconnecting the motor's voltage to allow the motor to decelerate freely; when the motor decelerates to a stop, obtaining the motor's current second initial zero-position angle; and determining the first average of the first and second initial zero-position angles as the motor's initial zero-position angle.

[0017] In an embodiment of this application, determining the third zero angle corresponding to the current carrier frequency based on the first zero angle and the second zero angle includes: determining the average of the first zero angle and the second zero angle as the third zero angle corresponding to the current carrier frequency.

[0018] In embodiments of this application, the method includes: obtaining a sampling interval for the zero-position angle and the angular velocity of the motor within the sampling interval; determining the actual time difference corresponding to the other carrier frequencies based on the sampling interval and the current carrier frequency; and updating the target zero-position angle corresponding to the other carrier frequencies based on the actual time difference and the angular velocity.

[0019] In the embodiments of this application, the method further includes: if the PI controller does not output the first zero angle during the process of the motor freely decelerating until the motor speed is zero, repeating steps S2 to S4 until the PI controller outputs the first zero angle; if the PI controller does not output the second zero angle during the process of the motor freely decelerating until the motor speed is zero, repeating steps S5 to S7 until the PI controller outputs the second zero angle.

[0020] A second aspect of this application provides an apparatus for zero-position calibration of a motor, comprising:

[0021] The memory is configured to store instructions;

[0022] The processor is configured to retrieve instructions from memory and, when executing the instructions, to implement the method described above for zero-position calibration of the motor.

[0023] A third aspect of this application provides an electric motor, including the device for zero-position calibration of the motor as described above.

[0024] The fourth aspect of this application provides a machine-readable storage medium storing instructions that cause a machine to perform the method described above for zero-position calibration of a motor.

[0025] Through the above technical solution, the zero-position angle self-learning based on zero d-axis voltage results in a more accurate and robust zero-position angle. Simultaneously, self-learning in both forward and reverse directions, and averaging the two zero-position angles, offsets the influence of different current directions, leading to more accurate results. Furthermore, this solution does not require testing on a dynamometer bench, is not limited by the testing environment, and can be performed on flat ground, a test bench, or any other surface where the motor can rotate freely, demonstrating strong versatility. Since the zero-position angle obtained by calibrating the motor at the current carrier frequency is already more accurate than the initial zero-position angle, the calibration of the zero-position angle for different carrier frequencies can be based on the previously calibrated zero-position angle as the initial zero-position angle, making the zero-position angle calibrated for other carrier frequencies more accurate and efficient.

[0026] Other features and advantages of the embodiments of this application will be described in detail in the following detailed description section. Attached Figure Description

[0027] The accompanying drawings are provided to further illustrate the embodiments of this application and form part of the specification. They are used together with the following detailed description to explain the embodiments of this application, but do not constitute a limitation on the embodiments of this application. In the drawings:

[0028] Figure 1 The illustration shows a flowchart of a method for zero-position calibration of a motor according to a first embodiment of this application;

[0029] Figure 2 The schematic diagram illustrates a flowchart of a method for zero-position calibration of a motor according to a second embodiment of this application;

[0030] Figure 3 The schematic diagram illustrates a flow chart of a method for zero-position calibration of a motor according to a third embodiment of this application;

[0031] Figure 4 The schematic diagram illustrates a flow chart of a method for zero-position calibration of a motor according to a fourth embodiment of this application;

[0032] Figure 5 The diagram schematically illustrates a structural block diagram of a device for zero-position calibration of a motor according to an embodiment of this application;

[0033] Figure 6 The illustration shows a schematic diagram of the structure of a computer device according to an embodiment of the present application. Detailed Implementation

[0034] To make the objectives, technical solutions, and advantages of the embodiments of this application clearer, the technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. It should be understood that the specific embodiments described herein are only for illustration and explanation of the embodiments of this application and are not intended to limit the embodiments of this application. All other embodiments obtained by those skilled in the art based on the embodiments of this application without creative effort are within the scope of protection of this application.

[0035] It should be noted that if the embodiments of this application involve directional indicators (such as up, down, left, right, front, back, etc.), the directional indicators are only used to explain the relative positional relationship and movement of each component in a certain specific posture (as shown in the figure). If the specific posture changes, the directional indicators will also change accordingly.

[0036] Furthermore, if the embodiments of this application involve descriptions such as "first" or "second," these descriptions are for descriptive purposes only and should not be construed as indicating or implying their relative importance or implicitly specifying the number of technical features indicated. Therefore, features defined with "first" or "second" may explicitly or implicitly include at least one of those features. Additionally, the technical solutions of various embodiments can be combined with each other, but this must be based on the ability of those skilled in the art to implement them. If the combination of technical solutions is contradictory or impossible to implement, it should be considered that such a combination of technical solutions does not exist and is not within the scope of protection claimed in this application.

[0037] Figure 1 The illustration schematically shows a flowchart of a method for zero-position calibration of a motor according to an embodiment of this application. Figure 1 As shown in the figure, this application provides a method for zero-position calibration of a motor, which may include the following steps.

[0038] Step S1: Determine the initial zero-position angle of the motor;

[0039] Step S2: At the current carrier frequency, input a first preset current to the motor to drive the motor to rotate in the first rotation direction;

[0040] Step S3: Once the motor speed reaches the target speed, disconnect the motor current to allow the motor to decelerate freely.

[0041] Step S4: During the free deceleration of the motor, the PI controller uses the initial zero angle as a reference to determine the first zero angle that makes the d-axis voltage of the motor zero.

[0042] Step S5: Input a second preset current into the motor to drive the motor to rotate in the second rotation direction;

[0043] Step S6: Once the motor speed reaches the target speed, disconnect the motor current to allow the motor to decelerate freely.

[0044] Step S7: During the free deceleration of the motor, the PI controller uses the initial zero angle as a reference to determine the second zero angle that makes the d-axis voltage of the motor zero.

[0045] Step S8: Determine the third zero angle corresponding to the current carrier frequency based on the first zero angle and the second zero angle;

[0046] Step S9: Repeat steps S2 to S8 at different carrier frequencies to obtain the target zero angles corresponding to each different carrier frequency. In steps S4 and S7, the PI controller uses the third zero angle as a reference.

[0047] Currently, permanent magnet synchronous motors are generally controlled using FOC (Field-Oriented Control), also known as motor vector control. In FOC control, a PI controller (PI regulator) is commonly used to perform current loop control on the permanent magnet synchronous motor.

[0048] It is understandable that the initial zero-position angle of the motor can be obtained through preliminary zero-position calibration. However, the initial zero-position angle is affected by frictional resistance and inertia, and therefore will not be very precise. Specifically, the initial zero-position angle can be calibrated using manual zero-position adjustment, static voltage adjustment, or rotating voltage deviation calibration. Further calibration of the motor's zero-position angle is needed to obtain a more accurate value. Specifically, the motor can refer to a permanent magnet synchronous motor. According to the principle of permanent magnet synchronous motors, under the condition that the rotor magnetic field is ideally sinusoidally distributed and completely decoupled, the kinetic electromotive force induced by the main magnetic flux generated by the rotor permanent magnet in the d-axis winding is 0, and its back electromotive force will fall entirely on the q-axis, i.e. Therefore, based on the obtained initial zero-position angle of the motor, current closed-loop control of the motor can be performed.

[0049] It can be understood that the first preset current refers to the current value preset by the technician. The second preset current refers to the current value preset by the technician. The purpose of inputting the first preset current and the second preset current to the motor is to drive the motor to rotate to the target speed. The first preset current can be the same as the second preset current. The first rotation direction and the second rotation direction are relative; if the first rotation direction is positive, the second rotation direction is negative, and vice versa.

[0050] Specifically, at the current carrier frequency, current is input to the motor to drive its rotation, initiating closed-loop current control. Once the motor reaches the target speed, the current is disconnected to allow for free deceleration. The target speed can refer to the motor's rated speed. During free deceleration, the PI controller uses the initial zero-position angle as a reference to determine the zero-position angle that results in zero d-axis voltage. Ideally, with the motor current disconnected and the zero-position angle accurately calibrated, the d-axis voltage should be zero. However, since there may be a deviation between the initial and accurate zero-position angles, the resulting d-axis voltage will not be zero. Therefore, based on the permanent magnet motor vector control principle, the PI controller performs high-speed self-learning based on the initial zero-position angle, using zero d-axis voltage as the target value, and outputs the corresponding zero-position angle when the d-axis voltage is zero. The closed-loop current control includes driving the motor forward and reverse rotation respectively to obtain the corresponding first and second zero-position angles. Therefore, considering the combined effects of the motor's forward and reverse rotation, the final third zero angle corresponding to the current carrier frequency is obtained based on the first zero angle and the second zero angle.

[0051] Furthermore, at other different carrier frequencies, a first preset current can be input to the motor to drive the motor to rotate in a first rotation direction; when the motor speed reaches the target speed, the current to the motor is disconnected to allow the motor to decelerate freely; during the motor deceleration process, the PI controller uses a third zero-position angle as a reference to determine a fourth zero-position angle that makes the d-axis voltage of the motor zero; a second preset current is input to the motor to drive the motor to rotate in a second rotation direction; when the motor speed reaches the target speed, the current to the motor is disconnected to allow the motor to decelerate freely; during the motor deceleration process, the PI controller uses a third zero-position angle as a reference to determine a fifth zero-position angle that makes the d-axis voltage of the motor zero; and a sixth zero-position angle corresponding to the other carrier frequency is determined based on the fourth and fifth zero-position angles.

[0052] It is understandable that the calibration of the motor's zero-position angle is affected by carrier frequency changes. The angle obtained through self-learning at different carrier frequencies will have varying degrees of deviation. If the same zero-position angle is used for control at all other carrier frequencies, it will not only cause torque deviation but also reduce efficiency and may even lead to overcurrent faults under certain extreme operating conditions. It is understandable that the third zero-position angle is a more accurate zero-position angle obtained through closed-loop current control.

[0053] Compared to directly using the initial zero-position angle for self-learning of the zero-position angle, using the third zero-position angle as a reference for current closed-loop control yields... The accuracy of the corresponding zero-position angle is higher, and the adjustment and control time is shorter.

[0054] Therefore, for different carrier frequencies of the motor, the PI controller uses the third zero-position angle as a reference to perform closed-loop control of the motor's forward and reverse currents, thereby determining the zero-position angle that makes the motor's d-axis voltage zero. Specifically, for different carrier frequencies, the closed-loop current control includes driving the motor to rotate forward and backward respectively, obtaining the corresponding fourth and fifth zero-position angles. Then, considering the effects of motor forward and reverse rotation and the carrier frequency, the final target zero-position angle corresponding to other carrier frequencies is obtained based on the fourth and fifth zero-position angles. After calibrating the zero-position angles for multiple carrier frequencies, they can be recorded in a table. In actual production activities, the table can be directly consulted to obtain the motor's zero-position angle for different carrier frequencies, making it simpler and more convenient.

[0055] Through the above technical solution, the zero-position angle self-learning based on zero d-axis voltage results in a more accurate and robust zero-position angle. Simultaneously, self-learning in both forward and reverse directions, and averaging the two zero-position angles, offsets the influence of different current directions, leading to more accurate results. Furthermore, this solution does not require testing on a dynamometer bench, is not limited by the testing environment, and can be performed on flat ground, a test bench, or any other surface where the motor can rotate freely, demonstrating strong versatility. Since the zero-position angle obtained by calibrating the motor at the current carrier frequency is already more accurate than the initial zero-position angle, the calibration of the zero-position angle for different carrier frequencies can be based on the previously calibrated zero-position angle as the initial zero-position angle, making the zero-position angles calibrated for other carrier frequencies more accurate and improving calibration efficiency.

[0056] In the embodiments of this application, during the free deceleration process of the motor, the PI controller uses the initial zero-position angle as a reference to determine the first zero-position angle that makes the d-axis voltage of the motor zero, including: setting the target voltage of the motor's d-axis to zero; obtaining the feedback voltage of the motor's d-axis; determining the voltage difference between the target voltage of the d-axis and the feedback voltage of the d-axis; adjusting the zero-position angle based on the initial zero-position angle so that the voltage difference is zero; and determining the zero-position angle when the voltage difference is zero as the first zero-position angle.

[0057] In the embodiments of this application, during the free deceleration process of the motor, the PI controller uses the initial zero-position angle as a reference to determine the second zero-position angle that makes the d-axis voltage of the motor zero, including: setting the target d-axis voltage of the motor to zero; obtaining the d-axis feedback voltage of the motor; determining the voltage difference between the target d-axis voltage and the d-axis feedback voltage; adjusting the zero-position angle based on the initial zero-position angle so that the voltage difference is zero; and determining the zero-position angle when the voltage difference is zero as the second zero-position angle.

[0058] Specifically, during the adjustment process, a motor vector control method is adopted. After obtaining the d-axis feedback voltage of the motor, an inverse Park transformation is used to project the d-axis feedback voltage along the direct axis (d-axis) that rotates with the rotor onto the a, b, and c phase coordinates of the stator, obtaining the converted voltage values ​​corresponding to the a, b, and c phase coordinates. Further, SVM (Space Vector Modulation) is used to generate pulse width modulation (PWM) signals based on the voltage values ​​of the a, b, and c phase coordinates to control the inverter's switching, thereby generating the required modulation voltage to drive the motor to achieve the desired speed or torque. Further, during motor rotation, the current values ​​of the a, b, and c phase coordinates are collected and converted into α and β phase current values. After this conversion, the effective values ​​of the current or voltage remain unchanged before and after the transformation, but the phase and amplitude change. Further, the α and β phase current values ​​are Park transformed to obtain the d-axis feedback voltage. Then, after obtaining the d-axis feedback voltage to determine... After calculating the difference between the target value and the feedback value, the PI controller repeats the above steps to adjust (accumulate) the zero-position angle until the voltage difference is zero. The zero-position angle at this point is recorded as the first zero-position angle. Similarly, the second zero-position angle can be determined by determining the first zero-position angle. In determining the first and second zero-position angles, the principle of motor vector control is used. The zero-position angle is adjusted through the PI controller, thus obtaining an accurate zero-position angle.

[0059] In the embodiments of this application, determining the initial zero-position angle of the motor includes: setting the voltage of the motor's d-axis to a first preset voltage and the voltage of the motor's q-axis to a second preset voltage at the current carrier frequency, driving the motor to rotate in a first rotation direction, and then disconnecting the motor's voltage to allow the motor to decelerate freely; when the motor decelerates to a stop, obtaining the motor's current first initial zero-position angle; setting the motor's d-axis voltage to the second preset voltage and the motor's q-axis voltage to the first preset voltage, driving the motor to rotate in a second rotation direction, and then disconnecting the motor's voltage to allow the motor to decelerate freely; when the motor decelerates to a stop, obtaining the motor's current second initial zero-position angle; and determining the first average of the first and second initial zero-position angles as the motor's initial zero-position angle.

[0060] It is understood that the initial zero-position angle of the motor can be calibrated using the manual zero-position adjustment method, the static voltage adjustment zero-position method, and the rotating voltage deviation calibration method. Among these, the manual zero-position adjustment method is affected by human intervention and has a relatively large error. The rotating voltage deviation calibration method is not suitable for other no-load situations and is greatly affected by system resistance, resulting in poor versatility. Preferably, the static voltage adjustment zero-position method is used. It is understood that the first preset voltage and the second preset voltage are voltage values ​​preset by technicians. Specifically, by giving voltage commands corresponding to the d-axis and q-axis voltages of the motor phases, the motor rotor rotates by an angle under the influence of electromagnetic torque, and the resolver rotates accordingly. This angle is recorded as the zero-position angle of the resolver. The calibration of the initial zero-position angle includes driving the motor to rotate forward and in reverse respectively to obtain the corresponding first and second initial zero-position angles. Therefore, by combining the effects of forward and reverse rotation of the motor, the final initial zero-position angle corresponding to the current carrier frequency is obtained based on the first and second initial zero-position angles, offsetting the influence of different current directions and making the result more accurate.

[0061] refer to Figure 2 In one embodiment, after the host computer sends a start learning command, it controls the motor to enter the voltage control mode of the static voltage adjustment zero-position method, causing... , The drive motor rotates in the forward direction to obtain the first initial zero-position angle. Then let... , The drive motor rotates in the opposite direction to obtain the second initial zero angle. The average of the first and second initial zero angles is used as the initial zero angle to enter the high-speed self-learning of current closed-loop control. After successful learning, the final zero angle value, i.e., the third zero angle, is returned.

[0062] In the embodiments of this application, determining the third zero-position angle corresponding to the current carrier frequency based on the first zero-position angle and the second zero-position angle includes: determining the average of the first zero-position angle and the second zero-position angle as the third zero-position angle corresponding to the current carrier frequency. The average of the first zero-position angle and the second zero-position angle incorporates the effects of forward and reverse rotation of the motor, cancels out the influence of different current directions, reduces errors caused by the motor's own hardware factors and operating factors, and makes the result more accurate.

[0063] In the embodiments of this application, the method further includes: if the PI controller does not output the first zero angle during the process of the motor freely decelerating until the motor speed is zero, repeating steps S2 to S4 until the PI controller outputs the first zero angle; if the PI controller does not output the second zero angle during the process of the motor freely decelerating until the motor speed is zero, repeating steps S5 to S7 until the PI controller outputs the second zero angle.

[0064] refer to Figure 3 In one embodiment, after the host computer sends a start learning command, it determines the initial zero-position angle of the motor and then inputs a first preset current into the motor at the current carrier frequency (e.g., 8000Hz). This drives the motor to rotate in the forward direction. Once the motor speed (speed) reaches the rated speed, the current to the motor is disconnected to allow the motor to decelerate freely. After the motor decelerates to a speed (speed < 0.8 times the rated speed), the PI controller uses the initial zero-position angle as a reference to determine the first zero-position angle that makes the motor's d-axis voltage zero. If the motor decelerates to zero speed but the d-axis voltage still does not reach zero, then current is re-inputted to the motor, and the above steps are repeated until the PI controller obtains the first zero-position angle where the d-axis voltage is zero. Furthermore, a second preset current is input to the motor. This drives the motor to rotate in the opposite direction. When the motor speed reaches the rated speed, the current to the motor is disconnected to allow the motor to decelerate freely. After the motor decelerates to a speed less than 0.8 times the rated speed, the PI controller uses the initial zero-position angle as a reference to determine the second zero-position angle that makes the d-axis voltage of the motor zero. If the motor decelerates to zero speed but the d-axis voltage still does not reach zero, then current is re-inputted to the motor, and the above steps are repeated until the PI controller obtains the second zero-position angle where the d-axis voltage is zero. The third zero angle corresponding to the current carrier frequency is determined based on the first zero angle and the second zero angle.

[0065] In embodiments of this application, the method includes: obtaining a sampling interval for the zero-position angle and the angular velocity of the motor within the sampling interval; determining the actual time difference corresponding to other carrier frequencies based on the sampling interval and the current carrier frequency; and updating the target zero-position angle corresponding to other carrier frequencies based on the actual time difference and the angular velocity.

[0066] Considering the time difference between angle sampling and voltage inverse Parker transformation caused by different electronic control systems, and the varying software strategies of different controllers resulting in different time differences (e.g., 1.5 times the switching cycle), the angle within this time difference needs to be compensated based on the current carrier frequency when actually using voltage inverse Parker transformation in the program. Therefore, in addition to considering the time difference between angle sampling and voltage inverse Parker transformation, the influence of different carrier frequencies needs to be further considered to obtain the actual time difference. Specifically, the actual time difference = time difference × (sampling interval × current operating carrier frequency / carrier frequency at the time of measurement sampling interval). Then, based on the motor's angular velocity during this time period, combined with the actual time difference, the angle of rotation of the motor within this actual time difference can be calculated. That is, the final target zero-position angle = target zero-position angle + actual time difference × angular velocity.

[0067] refer to Figure 4 In one embodiment, after the host computer sends a start-learning command, it controls the motor to enter voltage control mode to perform self-learning at a static zero position. Specifically, it makes... , The drive motor rotates in the forward direction to obtain the first initial zero-position angle. Then let... , The drive motor rotates in the reverse direction to obtain the second initial zero-position angle. After self-learning at the static zero position, the average of the first and second initial zero-position angles is used as the initial zero-position angle to enter high-speed zero-position self-learning for current closed-loop control at a fixed carrier frequency. After successful learning, the final zero-position angle value is returned, and the final third zero-position angle is obtained based on the average of the returned first and second zero-position angles. Further, after high-speed zero-position self-learning at a fixed carrier frequency, the third zero-position angle is used as a reference to enter high-speed zero-position self-learning for current closed-loop control at different carrier frequencies. After successful learning, the final zero-position angle value is returned, and the target zero-position angle is obtained based on the average of the returned fourth and fifth zero-position angles. Further, after high-speed zero-position self-learning at a variable carrier frequency, considering angle delay compensation, the final zero-position angle for different carrier frequencies is obtained.

[0068] Figure 1 This is a flowchart illustrating a method for motor zero-position calibration in one embodiment. It should be understood that, although... Figure 1 The steps in the flowchart are shown sequentially as indicated by the arrows, but these steps are not necessarily executed in the order indicated by the arrows. Unless otherwise specified herein, there is no strict order in which these steps are executed, and they can be performed in other orders. Figure 1At least some of the steps in the process may include multiple sub-steps or multiple stages. These sub-steps or stages are not necessarily completed at the same time, but can be executed at different times. The execution order of these sub-steps or stages is not necessarily sequential, but can be executed in turn or alternately with other steps or at least some of the sub-steps or stages of other steps.

[0069] Figure 5 The diagram schematically illustrates a structural block diagram of a device for zero-position calibration of a motor according to an embodiment of this application. Figure 5 As shown in the figure, this application provides a device for zero-position calibration of a motor, which may include:

[0070] The memory is configured to store instructions;

[0071] The processor is configured to retrieve instructions from memory and, when executing the instructions, to implement the aforementioned method for zero-position calibration of the motor.

[0072] Specifically, in this embodiment of the application, the processor can be configured as follows:

[0073] Step S1: Determine the initial zero-position angle of the motor;

[0074] Step S2: At the current carrier frequency, input a first preset current to the motor to drive the motor to rotate in the first rotation direction;

[0075] Step S3: Once the motor speed reaches the target speed, disconnect the motor current to allow the motor to decelerate freely.

[0076] Step S4: During the free deceleration of the motor, the PI controller uses the initial zero angle as a reference to determine the first zero angle that makes the d-axis voltage of the motor zero.

[0077] Step S5: Input a second preset current into the motor to drive the motor to rotate in the second rotation direction;

[0078] Step S6: Once the motor speed reaches the target speed, disconnect the motor current to allow the motor to decelerate freely.

[0079] Step S7: During the free deceleration of the motor, the PI controller uses the initial zero angle as a reference to determine the second zero angle that makes the d-axis voltage of the motor zero.

[0080] Step S8: Determine the third zero angle corresponding to the current carrier frequency based on the first zero angle and the second zero angle;

[0081] Step S9: Repeat steps S2 to S8 at different carrier frequencies to obtain the target zero angles corresponding to each different carrier frequency. In steps S4 and S7, the PI controller uses the third zero angle as a reference.

[0082] In this embodiment of the application, the processor can also be configured to:

[0083] Set the target voltage of the motor's d-axis to zero; obtain the motor's d-axis feedback voltage; determine the voltage difference between the target voltage and the feedback voltage; adjust the zero angle based on the initial zero angle so that the voltage difference is zero; determine the zero angle when the voltage difference is zero as the first zero angle.

[0084] In this embodiment of the application, the processor can also be configured to:

[0085] Set the target voltage of the motor's d-axis to zero; obtain the feedback voltage of the motor's d-axis; determine the voltage difference between the target voltage and the feedback voltage of the d-axis; adjust the zero angle based on the initial zero angle so that the voltage difference is zero; determine the zero angle when the voltage difference is zero as the second zero angle.

[0086] In this embodiment of the application, the processor can also be configured to:

[0087] At the current carrier frequency, the voltage of the motor's d-axis is set to a first preset voltage and the voltage of the motor's q-axis is set to a second preset voltage to drive the motor to rotate in a first rotation direction. Then, the voltage of the motor is disconnected to allow the motor to decelerate freely. When the motor decelerates to a stop, the current first initial zero-position angle of the motor is obtained. The voltage of the motor's d-axis is set to the second preset voltage and the voltage of the motor's q-axis is set to the first preset voltage to drive the motor to rotate in a second rotation direction. Then, the voltage of the motor is disconnected to allow the motor to decelerate freely. When the motor decelerates to a stop, the current second initial zero-position angle of the motor is obtained. The first average of the first initial zero-position angle and the second initial zero-position angle is determined as the initial zero-position angle of the motor.

[0088] In this embodiment of the application, the processor can also be configured to:

[0089] The average of the first zero angle and the second zero angle is determined as the third zero angle corresponding to the current carrier frequency.

[0090] In this embodiment of the application, the processor can also be configured to:

[0091] If the PI controller does not output the first zero angle during the process of the motor freely decelerating until the motor speed is zero, repeat steps S2 to S4 until the PI controller outputs the first zero angle; if the PI controller does not output the second zero angle during the process of the motor freely decelerating until the motor speed is zero, repeat steps S5 to S7 until the PI controller outputs the second zero angle.

[0092] This application embodiment also provides a motor, which may include the device for motor zero-position calibration described above. Specifically, the motor further includes a PI controller, which, during the motor's free-speed deceleration process, uses the initial zero-position angle as a reference to determine the zero-position angle that makes the d-axis voltage of the motor zero.

[0093] This application also provides a machine-readable storage medium storing instructions that cause a machine to perform the above-described method for motor zero-position calibration.

[0094] In one embodiment, a computer device is provided, which may be a server, and its internal structure diagram may be as follows: Figure 6 As shown, the computer device includes a processor A01, a network interface A02, memory (not shown), and a database (not shown) connected via a system bus. The processor A01 provides computing and control capabilities. The memory includes internal memory A03 and a non-volatile storage medium A04. The non-volatile storage medium A04 stores an operating system B01, a computer program B02, and a database (not shown). The internal memory A03 provides an environment for the operation of the operating system B01 and the computer program B02 stored in the non-volatile storage medium A04. The database stores data used for motor zero-position calibration. The network interface A02 communicates with external terminals via a network connection. When the processor A01 executes the computer program B02, it implements a method for motor zero-position calibration.

[0095] Those skilled in the art will understand that Figure 6 The structure shown is merely a block diagram of a portion of the structure related to the present application and does not constitute a limitation on the computer device to which the present application is applied. Specific computer devices may include more or fewer components than those shown in the figure, or combine certain components, or have different component arrangements.

[0096] Those skilled in the art will understand that embodiments of this application can be provided as methods, systems, or computer program products. Therefore, this application can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, this application can take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.

[0097] This application is described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of this application. It will be understood that each block of 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, special-purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, generate instructions for implementing the flowchart... Figure 1 One or more processes and / or boxes Figure 1 A device that provides the functions specified in one or more boxes.

[0098] These computer program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing device to function in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means, which are implemented in a process Figure 1 One or more processes and / or boxes Figure 1 The function specified in one or more boxes.

[0099] These computer program instructions may also be loaded onto a computer or other programmable data processing equipment to cause a series of operational steps to be performed on the computer or other programmable equipment to produce a computer-implemented process, thereby providing instructions that execute on the computer or other programmable equipment for implementing the process. Figure 1 One or more processes and / or boxes Figure 1 The steps of the function specified in one or more boxes.

[0100] In a typical configuration, a computing device includes one or more processors (CPU), input / output interfaces, network interfaces, and memory.

[0101] Memory may include non-persistent memory in computer-readable media, such as random access memory (RAM) and / or non-volatile memory, such as read-only memory (ROM) or flash RAM. Memory is an example of computer-readable media.

[0102] Computer-readable media includes both permanent and non-permanent, removable and non-removable media that can store information using any method or technology. Information can be computer-readable instructions, data structures, modules of programs, 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-transferable medium that can be used to store information accessible by a computing device. As defined herein, computer-readable media does not include transient computer-readable media, such as modulated data signals and carrier waves.

[0103] It should also be noted that the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive 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 process, method, article, or apparatus. Unless otherwise specified, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes that element.

[0104] The above are merely embodiments of this application and are not intended to limit the scope of this application. Various modifications and variations can be made to this application by those skilled in the art. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of this application should be included within the scope of the claims of this application.

Claims

1. A method for zero-position calibration of a motor, characterized in that, The method includes: Step S1: Determine the initial zero-position angle of the motor; Step S2: At the current carrier frequency, input a first preset current to the motor to drive the motor to rotate in the first rotation direction; Step S3: When the motor speed reaches the target speed, disconnect the current to the motor to allow the motor to decelerate freely; Step S4: During the free deceleration process of the motor, the PI controller uses the initial zero angle as a reference to determine the first zero angle that makes the d-axis voltage of the motor zero. Step S5: Input a second preset current into the motor to drive the motor to rotate in the second rotation direction; Step S6: When the motor speed reaches the target speed, disconnect the current to the motor to allow the motor to decelerate freely; Step S7: During the free deceleration process of the motor, the PI controller uses the initial zero angle as a reference to determine the second zero angle that makes the d-axis voltage of the motor zero. Step S8: Determine the third zero angle corresponding to the current carrier frequency based on the first zero angle and the second zero angle; Step S9: Repeat steps S2 to S8 at different carrier frequencies to obtain the target zero-position angles corresponding to each different carrier frequency, wherein the PI controller in the repeated steps S4 and S7 uses the third zero-position angle as a reference.

2. The method for zero-position calibration of a motor according to claim 1, characterized in that, During the free-speed deceleration process of the motor, the PI controller uses the initial zero-position angle as a reference to determine the first zero-position angle that makes the d-axis voltage of the motor zero, including: Set the target voltage of the motor's d-axis to zero; Obtain the d-axis feedback voltage of the motor; Determine the voltage difference between the d-axis target voltage and the d-axis feedback voltage; The zero-position angle is adjusted based on the initial zero-position angle so that the voltage difference is zero; The zero-position angle when the voltage difference is zero is determined as the first zero-position angle.

3. The method for zero-position calibration of a motor according to claim 1, characterized in that, During the free-deceleration process of the motor, the PI controller uses the initial zero-position angle as a reference to determine a second zero-position angle that makes the d-axis voltage of the motor zero, including: Set the target voltage of the motor's d-axis to zero; Obtain the d-axis feedback voltage of the motor; Determine the voltage difference between the d-axis target voltage and the d-axis feedback voltage; The zero-position angle is adjusted based on the initial zero-position angle so that the voltage difference is zero; The zero-position angle when the voltage difference is zero is determined as the second zero-position angle.

4. The method for zero-position calibration of a motor according to claim 1, characterized in that, Determining the initial zero angle of the motor includes: At the current carrier frequency, the d-axis voltage of the motor is set to a first preset voltage and the q-axis voltage of the motor is set to a second preset voltage to drive the motor to rotate in the first rotation direction. Then, the voltage of the motor is disconnected to allow the motor to decelerate freely. When the motor slows down to a stop, the current first initial zero angle of the motor is obtained; The d-axis voltage of the motor is set to the second preset voltage and the q-axis voltage of the motor is set to the first preset voltage to drive the motor to rotate in the second rotation direction. Then the voltage of the motor is disconnected to allow the motor to decelerate freely. When the motor slows down to a stop, the current second initial zero angle of the motor is obtained; The first average of the first initial zero angle and the second initial zero angle is determined as the initial zero angle of the motor.

5. The method for zero-position calibration of a motor according to claim 1, characterized in that, The step of determining the third zero-position angle corresponding to the current carrier frequency based on the first zero-position angle and the second zero-position angle includes: The average of the first zero-position angle and the second zero-position angle is determined as the third zero-position angle corresponding to the current carrier frequency.

6. The method for zero-position calibration of a motor according to claim 1, characterized in that, The method includes: Obtain the sampling interval for the zero-position angle, and the angular velocity of the motor within the sampling interval; The actual time difference corresponding to other carrier frequencies is determined based on the sampling interval and the current carrier frequency. The target zero angle corresponding to the other carrier frequencies is updated based on the actual time difference and the angular velocity.

7. The method for zero-position calibration of a motor according to claim 1, characterized in that, The method further includes: During the process of the motor freely decelerating until the motor speed is zero, if the PI controller does not output the first zero angle, steps S2 to S4 are repeated until the PI controller outputs the first zero angle. If the PI controller does not output the second zero angle during the process of the motor freely decelerating until the motor speed is zero, steps S5 to S7 are repeated until the PI controller outputs the second zero angle.

8. A device for zero-position calibration of a motor, characterized in that, include: The memory is configured to store instructions; The processor is configured to retrieve the instructions from the memory and, when executing the instructions, to implement the method for zero-position calibration of a motor according to any one of claims 1 to 7.

9. An electric motor, characterized in that, Includes the device for zero-position calibration of a motor as described in claim 8.

10. A machine-readable storage medium, characterized in that, The machine-readable storage medium stores instructions for causing the machine to perform the method for zero-position calibration of a motor according to any one of claims 1 to 7.

Citation Information

Patent Citations

  • Servo system, initial angle identification method and device thereof, motor controller and medium

    CN114123871A

  • Zero calibration method and system for rotary transformation of permanent magnet synchronous motor along with different rotating speeds

    CN118646305A