A resolver zero point identification method and device for a motor and a computer storage medium

By obtaining the resolver zero point in motor control mode and updating the initial zero point using iterative calculation error, the problems of complex and insufficient accuracy in resolver zero point identification in the prior art are solved, and simple, low-cost, high-precision identification is achieved.

CN115811260BActive Publication Date: 2026-02-06ZHEJIANG LEAPPOWER TECH CO LTD +1
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202211554067.0
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-12-02
Publication Date
2026-02-06
Estimated Expiration
2042-12-02

AI Technical Summary

Technical Problem

The existing technology for identifying the zero point of a motor resolver is complex, requires specialized equipment, is difficult to apply in mass production of motors, and cannot decouple the effects of initial angle and delay deviation, thus affecting motor control performance.

Method used

The resolver zero point is obtained by controlling the motor in current control mode, and the resolver zero point error is calculated in speed control mode using an iterative method to update the initial zero point. The identification is performed using a current sensor and resolver measurement circuit.

Benefits of technology

It enables simple and low-cost identification of the resolver zero point without relying on external equipment, improving accuracy and avoiding the impact of delay deviation.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115811260B_ABST
    Figure CN115811260B_ABST
Patent Text Reader

Abstract

The application discloses a method and device for identifying a resolver zero point of a motor and a computer storage medium, and relates to the technical field of motor driving. The method comprises the following steps: controlling the motor to operate in a current control mode, and obtaining a resolver zero point of the motor in the current control mode as an initial zero point of the motor; obtaining a resolver zero point error of the motor, and updating the initial zero point by using the resolver zero point error, including repeatedly executing the following steps in an iterative manner: controlling the motor to operate in a speed control mode, and obtaining a direct-axis voltage and a quadrature-axis voltage of the motor in the speed control mode; calculating the resolver zero point error of the motor based on the direct-axis voltage and the quadrature-axis voltage; and updating the initial zero point updated in the last iteration by using the resolver zero point error obtained in the current iteration. In the foregoing manner, the resolver zero point can be identified only by controlling the motor, and the resolver zero point is not affected by a delay deviation.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the technical field of electric machines, in particular to a method for identifying a resolver zero point of an electric machine, a device for identifying a resolver zero point of an electric machine and a computer storage medium. BACKGROUND

[0002] At present, the control mode of an electric machine includes field-oriented control. The field-oriented control can achieve high-precision control of the torque of the electric machine, but this high-precision control depends on the accurate real-time rotor magnetic field angle.

[0003] Common electric machine position sensors include encoders and rotary transformers. The rotary transformer is installed on the shaft of the electric machine. Due to installation deviation, the reading of the rotary transformer is often inconsistent with the rotor magnetic field angle of the electric machine, and there is generally a fixed deviation value, which is referred to as the resolver zero point. Only when the resolver zero point is determined, the actual rotor magnetic field angle of the electric machine can be obtained based on the resolver zero point for field-oriented control. If the rotor magnetic field angle is inaccurate, the field-oriented control will be deviated, which will affect the control performance of the electric machine. In particular, the torque control in the high-speed field-weakening region is very sensitive to angle errors, and an inaccurate rotor magnetic field angle will reduce the efficiency of the electric machine.

[0004] The existing technical solutions have the problems of complex zero point identification process, the need for special equipment such as a test bench, the inability to decouple the influence of the initial angle deviation and the delay deviation, and the difficulty in application to the mass production of electric machines. SUMMARY

[0005] The present application provides a method for identifying a resolver zero point of an electric machine, a device for identifying a resolver zero point of an electric machine and a computer storage medium, which can identify the resolver zero point by controlling the electric machine and is not affected by the delay deviation.

[0006] To solve the above technical problems, one technical solution adopted by the present application is to provide a method for identifying a resolver zero point of an electric machine, which includes: controlling the electric machine to operate in a current control mode and obtaining the resolver zero point of the electric machine in the current control mode as an initial zero point of the electric machine; obtaining the resolver zero point error of the electric machine and updating the initial zero point using the resolver zero point error, including repeatedly executing the following steps in an iterative manner: controlling the electric machine to operate in a speed control mode and obtaining the direct-axis voltage and the quadrature-axis voltage of the electric machine in the speed control mode; calculating the resolver zero point error of the electric machine based on the direct-axis voltage and the quadrature-axis voltage; updating the initial zero point updated in the last iteration using the resolver zero point error obtained in the current iteration.

[0007] The method comprises the following steps: controlling the motor to run in a speed control mode, and obtaining a direct-axis voltage and a quadrature-axis voltage of the motor in the speed control mode, including: controlling the motor to rotate forward at a first predetermined speed, and obtaining a first direct-axis voltage and a first quadrature-axis voltage when the motor rotates forward; controlling the motor to rotate reversely at a second predetermined speed, and obtaining a second direct-axis voltage and a second quadrature-axis voltage when the motor rotates reversely; and calculating a rotor position error of the motor based on the direct-axis voltage and the quadrature-axis voltage, including: calculating the rotor position error of the motor based on the first direct-axis voltage, the first quadrature-axis voltage, the second direct-axis voltage and the second quadrature-axis voltage.

[0008] The method comprises the following steps: calculating the rotor position error of the motor based on the first direct-axis voltage, the first quadrature-axis voltage, the second direct-axis voltage and the second quadrature-axis voltage, including: obtaining a first difference value of the first quadrature-axis voltage and the second quadrature-axis voltage, and obtaining a second difference value of the first direct-axis voltage and the second direct-axis voltage; and calculating an inverse tangent value of a ratio of the second difference value to the first difference value as the rotor position error of the motor.

[0009] The zero point identification method further comprises: in response to an absolute value of a difference between the rotor position error corresponding to the current iteration and the rotor position error corresponding to the last iteration being less than or equal to an error threshold, terminating the iteration.

[0010] The method comprises the following steps: controlling the motor to run in a current control mode, including: controlling the motor to work in a current closed loop mode, and setting a quadrature-axis current given value of the motor to be zero, a direct-axis current given value of the motor to be a rated value, and an angle given value of the coordinate transformation to be zero.

[0011] The method comprises the following steps: controlling the motor to rotate forward at a first predetermined speed, including: controlling the motor to work in a speed-current double closed loop mode to rotate forward at the first predetermined speed.

[0012] The method comprises the following steps: controlling the motor to rotate reversely at a second predetermined speed, including: controlling the motor to work in the speed-current double closed loop mode to rotate reversely at the second predetermined speed; and wherein the second predetermined speed is the same as the first predetermined speed.

[0013] The method comprises the following steps: updating the initial zero point updated in the last iteration by using the rotor position error obtained in the current iteration, including: obtaining a difference value between the initial zero point updated in the last iteration and the rotor position error obtained in the current iteration; and updating the initial zero point updated in the last iteration by using the difference value.

[0014] To solve the above technical problems, another technical solution adopted by the present application is to provide a rotor position identification device of a motor, which comprises: a current sensor, configured to collect phase currents of the motor; a rotor position measurement circuit, configured to measure an angle of the motor; and a control circuit, connected with the current sensor and the rotor position measurement circuit respectively, configured to identify a zero point of the motor based on the phase currents and the angle by using any one of the zero point identification methods.

[0015] To solve the above technical problems, another technical solution adopted by the present application is to provide a computer readable storage medium, which internally stores program instructions, and the program instructions are executed to implement any of the above rotating variable zero point identification methods.

[0016] The beneficial effects of the present application are: different from the prior art, the present application controls the motor to run in current control mode, and obtains the rotating variable zero point of the motor in current control mode as the initial zero point of the motor; obtains the rotating variable zero point error of the motor, and updates the initial zero point using the rotating variable zero point error, including repeatedly executing the following steps in an iterative manner: controlling the motor to run in speed control mode, and obtaining the direct axis voltage and the quadrature axis voltage of the motor in speed control mode; calculating the rotating variable zero point error of the motor based on the direct axis voltage and the quadrature axis voltage; updating the initial zero point updated in the last iteration using the rotating variable zero point error obtained in this iteration. In this way, when identifying the rotating variable zero point, the motor is controlled to run in current control mode, the rotating variable zero point of the motor in current control mode is obtained as the initial zero point of the motor, and then the rotating variable zero point error of the motor is obtained in an iterative manner, and the initial zero point is updated using the rotating variable zero point error to obtain the rotating variable zero point. Therefore, the present application only needs to control the motor to identify the rotating variable zero point, without relying on external equipment, and has simple structure and low cost. Moreover, the rotating variable zero point identification method of the present application has simple process, is not affected by delay deviation, and can improve the accuracy of rotating variable zero point identification. BRIEF DESCRIPTION OF DRAWINGS

[0017] Figure 1 is a flowchart of the rotating variable zero point identification method of the motor of an embodiment of the present application;

[0018] Figure 2 is Figure 1 is a specific flowchart of steps S13 and S14 in the embodiment;

[0019] Figure 3 is Figure 2 is a specific flowchart of step S23 in the embodiment;

[0020] Figure 4 is Figure 1 is a specific flowchart of step S15 in the embodiment;

[0021] Figure 5 is a structural schematic diagram of an embodiment of the rotating variable zero point identification device of the motor of the present application;

[0022] Figure 6 is Figure 5 is a specific circuit structure schematic diagram of an embodiment of the rotating variable zero point identification device of the embodiment;

[0023] Figure 7 isFigure 5 The synchronous rotating coordinate system diagram of the specific implementation method of the resolver measurement circuit in the embodiment;

[0024] Figure 8 is Figure 5 The specific workflow schematic diagram of the resolver zero point recognition device in the embodiment;

[0025] Figure 9 is the structural schematic diagram of the computer readable storage medium of an embodiment of the present application. DETAILED DESCRIPTION

[0026] The technical solutions in the embodiments of the present application will be clearly and completely described in conjunction with the drawings in the embodiments of the present application. Obviously, the described embodiments are only a part of the embodiments of the present application, rather than all the embodiments of the present application. Based on the embodiments in the present application, all other embodiments obtained by those of ordinary skill in the art without creative work belong to the scope of protection of the present application.

[0027] The present application first proposes a resolver zero point recognition method of a motor, as shown in Figure 1 , wherein Figure 1 is the flowchart of the resolver zero point recognition method of the motor in an embodiment of the present application. The resolver zero point recognition method of the motor in the embodiment specifically includes the following steps:

[0028] Step S11: Control the motor to run in a current control mode, and obtain the resolver zero point of the motor in the current control mode as the initial zero point of the motor.

[0029] Optionally, the control of the motor to run in the current control mode in the embodiment includes: control of the motor to work in a current closed loop mode, and setting the given value of the cross-axis current of the motor to zero, the given value of the direct-axis current to a rated value, and the given value of the angle of coordinate transformation to zero.

[0030] For example, using a control circuit, the motor can be controlled by a motor controller to work in a current closed loop mode. At this time, the motor is in a predetermined positioning stage, and the current closed loop control is adopted to make the motor run in the current control mode. The direct-axis, i.e., d-axis current is given as a rated value, the cross-axis, i.e., q-axis current is given as 0, and the angle of coordinate transformation is given as 0, so as to position the motor at 0 degrees. After the motor is positioned, the resolver reading at this time is recorded as θ offset (0), the resolver zero point error θ err (0), and the resolver reading at this time is taken as the initial zero point, i.e., the initial zero point of the motor.

[0031] Step S12: Obtain the resolver zero point error of the motor, and update the initial zero point by using the resolver zero point error.

[0032] Obtain the d-axis and q-axis voltages of the motor in speed control mode, calculate the resolver zero-point error from the d-axis and q-axis voltages, and update the initial zero-point data using the calculated resolver zero-point error.

[0033] This embodiment employs a method that repeatedly executes step S12 in an iterative manner. Specifically, the method of this embodiment includes steps S13 to S15.

[0034] Step S13: Control the motor to run in speed control mode, and obtain the direct axis voltage and quadrature axis voltage of the motor in speed control mode.

[0035] Optionally, this embodiment may employ Figure 2 Steps S21 and S22 complete step S13.

[0036] Step S21: Control the motor to rotate forward at a first predetermined speed, and obtain the first direct-axis voltage and the first quadrature-axis voltage when the motor rotates forward.

[0037] Optionally, in this embodiment, controlling the motor to rotate forward at a first predetermined speed includes: controlling the motor to rotate forward at a first predetermined speed using a dual closed-loop operating mode of speed and current.

[0038] Among them, the dual closed-loop working mode of speed and current allows the two types of negative feedback, speed and current, to work separately. By setting two regulators in the circuit, speed negative feedback and current negative feedback are introduced respectively to regulate speed and current. The two are nested, which can ensure the speed and stability of motor operation.

[0039] For example, the zero point of the resolver is set to θ. offset (0) or the value θ after k iterations offset (k) The motor is controlled using a dual closed-loop control of speed and current. The d-axis current is given as 0, and the motor rotates in the positive direction at a first predetermined speed n. When the first predetermined speed is n, the d-axis voltage is recorded as u. d + The q-axis voltage is recorded as u. q + d-axis voltage u d + and q-axis voltage u q + The voltage u of the d-axis is obtained from the output of the current regulator and stored. d + That is, the first direct-axis voltage when the motor rotates in the forward direction, the q-axis voltage u. q + That is, the first quadrature-axis voltage when the motor is rotating in the forward direction.

[0040] Step S22: control the motor to rotate reversely at a second predetermined speed, and obtain a second direct-axis voltage and a second quadrature-axis voltage when the motor rotates reversely.

[0041] For example, the zero point of the rotation variation is set as θ offset (0) or the value θ offset (k) after k iterations, the motor is controlled to rotate reversely at a second predetermined speed by adopting the double closed loop control of speed and current, the d-axis current reference value is given as 0, and the motor is controlled to rotate reversely at the second predetermined speed, when the second predetermined speed is -n, the d-axis voltage is recorded as u d - , the q-axis voltage is recorded as and u q - The d-axis voltage u d - and the q-axis voltage u q - are obtained from the output end of the current regulator and are stored. The d-axis voltage u d - is the second direct-axis voltage when the motor rotates reversely, and the q-axis voltage u q - is the second quadrature-axis voltage when the motor rotates reversely.

[0042] The zero point error of the motor is calculated based on the first direct-axis voltage, the first quadrature-axis voltage when the motor rotates forwardly, and the second direct-axis voltage, the second quadrature-axis voltage when the motor rotates reversely obtained in steps S21 and S22.

[0043] Optionally, the control of the motor to rotate reversely at the second predetermined speed in the embodiment comprises: controlling the motor to rotate reversely at the second predetermined speed by adopting the double closed loop working mode of speed and current; and the second predetermined speed is the same as the first predetermined speed.

[0044] For example, the motor is controlled to rotate reversely at the second predetermined speed -n by adopting the double closed loop control of speed and current, the d-axis current is given as 0, the d-axis voltage u d - and the q-axis voltage u q - are obtained, and the d-axis voltage u d - and the q-axis voltage u q - are recorded. The second predetermined speed is the same as the first predetermined speed.

[0045] Step S14: calculate the zero point error of the motor based on the direct-axis voltage and the quadrature-axis voltage.

[0046] Optionally, step S14 can be implemented by step S23 in Figure 2 .

[0047] Step S23: calculating the resolver zero point error of the motor based on the direct axis voltage and the quadrature axis voltage, including: calculating the resolver zero point error of the motor based on the first direct axis voltage, the first quadrature axis voltage, the second direct axis voltage and the second quadrature axis voltage.

[0048] Optionally, the embodiment can adopt the method shown in the figure to implement step S23, and the method of the embodiment specifically includes steps S31 to S32. Figure 3

[0049] Step S31: obtaining a first difference value of the first quadrature axis voltage and the second quadrature axis voltage, and obtaining a second difference value of the first direct axis voltage and the second direct axis voltage.

[0050] For example, the first direct axis voltage when the motor rotates forward is the d-axis voltage u d + , the first quadrature axis voltage when the motor rotates forward is the q-axis voltage u q + , the second direct axis voltage when the motor rotates reversely is the d-axis voltage u d - , and the second quadrature axis voltage when the motor rotates reversely is the q-axis voltage u q - . The first difference value of the first quadrature axis voltage and the second quadrature axis voltage is the difference between the first quadrature axis voltage when the motor rotates forward and the second quadrature axis voltage when the motor rotates reversely, i.e. the difference between the q-axis voltage and the q-axis voltage u q - . The second difference value of the first direct axis voltage and the second direct axis voltage is the difference between the first direct axis voltage when the motor rotates forward and the second direct axis voltage when the motor rotates reversely, i.e. the difference between the d-axis voltage u d + and the d-axis voltage u d - .

[0051] Step S32: calculating the arctangent value of the ratio of the second difference value and the first difference value as the resolver zero point error of the motor.

[0052] For example, the first difference value is the difference u q + between the q-axis voltage u q - and the q-axis voltage u q + , and the second difference value is the difference u q - between the d-axis voltage u d + and the d-axis voltage u d - . d + u d ​- Then calculate the second difference u. d + -u d - The difference with the first value u q + -u q - The arctangent of the ratio is the resolver zero-point error of the motor. The specific formula for calculating the resolver zero-point error is as follows:

[0053]

[0054] Where, θ err (k) represents the zero-point error of the resolver obtained in the kth iteration.

[0055] Step S15: Update the initial zero point after the previous iteration using the resolver zero point error obtained in this iteration.

[0056] Optionally, this embodiment may employ Figure 4 The method shown implements step S15. The method in this embodiment specifically includes steps S41 to S42.

[0057] Step S41: Obtain the difference between the initial zero point updated in the last iteration and the error of the resolver zero point obtained in this iteration.

[0058] For example, the initial zero point after the update in the last iteration is θ. offset (k-1), the zero-point error of the resolvent obtained in this iteration is θ err (k) retrieves the initial zero point θ after the last iteration update. offset (k-1) and the zero-point error of the resolver obtained in this iteration θ err The difference θ of (k) offset (k-1)-θ err (k).

[0059] θ offset (k)=θ offset (k-1)-θ err (k)

[0060] Step S42: Update the initial zero point after the last iteration using the difference.

[0061] For example, the difference is θ offset (k-1)-θ err (k), where the initial zero point after the last iteration update is θ. offset (k-1), the initial zero point after this iteration update is θ. offset (k), using this difference to update the initial zero point θ after the previous iteration. offset(k-1), the initial zero point updated in this iteration is θ offset (k).

[0062] Differently from the prior art, the motor is controlled to operate in the current control mode, and the resolver zero point of the motor in the current control mode is obtained as the initial zero point of the motor. The resolver zero point error of the motor is obtained, and the initial zero point is updated by using the resolver zero point error obtained in this iteration, including repeatedly performing the following steps in an iterative manner: the motor is controlled to operate in the speed control mode, and the direct-axis voltage and the quadrature-axis voltage of the motor in the speed control mode are obtained; the resolver zero point error of the motor is calculated based on the direct-axis voltage and the quadrature-axis voltage; and the initial zero point updated in the last iteration is updated by using the resolver zero point error obtained in this iteration. In this way, when the resolver zero point is identified, the motor is controlled to operate in the current control mode, the resolver zero point of the motor in the current control mode is obtained as the initial zero point of the motor, and then the resolver zero point error of the motor is obtained in an iterative manner, and the initial zero point is updated by using the resolver zero point error to obtain the resolver zero point. Therefore, the resolver zero point can be identified only by controlling the motor without relying on external equipment, and the structure is simple and the cost is low. Moreover, the resolver zero point identification method of the present application is simple in process and is not affected by delay deviation, and the accuracy of resolver zero point identification can be improved.

[0063] Optionally, the resolver zero point identification method in the embodiment further includes: in response to the absolute value of the difference between the resolver zero point error corresponding to the current iteration and the resolver zero point error corresponding to the last iteration being less than or equal to the error threshold, the iteration is terminated.

[0064] If the absolute value of the difference between the resolver zero point error corresponding to the current iteration and the resolver zero point error corresponding to the last iteration is less than or equal to the error threshold, the iteration is terminated.

[0065] For example, the resolver zero point error corresponding to the current iteration is θ err (k), the resolver zero point error corresponding to the last iteration is θ err (k-1), and the error threshold is Δθ TH . The absolute value of the difference between the resolver zero point error θ err (k) corresponding to the current iteration and the resolver zero point error θ err (k-1) corresponding to the last iteration is |θ err (k)-θ err (k-1)|. If |θ err (k)-θ err (k-1)| is less than or equal to the error threshold, the iteration is terminated, and θ offset (k) obtained by iteration is taken as the final identified resolver zero point. At this time, the final resolver zero point error is the resolver zero point error θ err(k), the final resolver zero point error can be calculated according to the final resolver zero point data. If |θ err (k) - θ err (k-1) is greater than the error threshold, the obtained θ offset (k) is used to repeat the above steps S13-S14 to repeatedly perform resolver zero point identification.

[0066] The application further provides a resolver zero point identification device of a motor, as shown in Figure 5 , which is a structural schematic diagram of an embodiment of the resolver zero point identification device of the motor. The resolver zero point identification device of the embodiment comprises: Figure 5 A current sensor 51 is configured to collect phase current of a motor 52. A resolver measurement circuit 53 is configured to measure an angle of the motor 52. A control circuit 54 is connected with the current sensor 51 and the resolver measurement circuit 53 respectively, and is configured to perform resolver zero point identification on the motor 52 based on the phase current and the angle by using the resolver zero point identification method. The resolver zero point identification device of the embodiment can be used to implement the resolver zero point identification method.

[0067] The motor 52 is driven by a motor controller, and the driving system comprises the current sensor 51, the resolver measurement circuit 53, and the control circuit 54. An output end of the motor 52 is connected with an input end of the current sensor 51 and an input end of the resolver measurement circuit 53. The input end of the current sensor 51 collects phase current transmitted by the motor 52, and an output end of the current sensor 51 transmits the phase current to an input end of the control circuit 54. The input end of the resolver measurement circuit 53 receives a signal output by the motor 52, and performs calculation on the signal to obtain a measured motor angle and output the measured motor angle to the input end of the control circuit 54. The control circuit 54 is connected with the current sensor 51 and the resolver measurement circuit 53 respectively, acquires the phase current output by the current sensor 51 and the motor angle output by the resolver measurement circuit 53, and performs resolver zero point identification on the motor 52 by using the resolver zero point identification method to acquire a resolver zero point position of the motor 52.

[0068] In an application scenario, as shown in

[0069] , which is a specific circuit structural schematic diagram of an embodiment of the resolver zero point identification device of the embodiment. The resolver zero point identification device of the embodiment comprises the current sensor 51, a resolver decoding circuit (i.e., the resolver measurement circuit 53), and a microcontroller (i.e., the control circuit 54). Figure 6 Figure 6 Figure 5

[0070] ​​​The main function of the inverter 55 is to convert DC power into AC power. The inverter 55 can be equipped with a triple transformer set, which can meet the requirements of loads with higher voltage requirements, has stable output signals and a wide output frequency range, and can be used in high-power devices in the industrial field. The inverter 55 outputs three-phase currents to the motor 52. The current sensor 51 collects three-phase currents i A , i B , and i C and transmits them to the microcontroller. The motor 52 receives signals from the inverter 55 and operates. The resolver decoding circuit measures the angle of the motor 52 and transmits the measured motor angle to the microcontroller. The microcontroller obtains the phase currents output by the current sensor 51 and the motor angle output by the resolver decoding circuit. Using the above resolver zero point recognition method, the motor 52 can be recognized, and the resolver zero point position of the motor 52 can be obtained. The microcontroller transmits signals Q1-Q6 to the inverter 55.

[0071] In an application scenario, as shown in Figure 7 , Figure 7 is Figure 5 a synchronous rotating coordinate system diagram of the specific implementation method of the resolver measurement circuit in the embodiment. The resolver measurement circuit 53 uses the synchronous rotating coordinate system corresponding to the rotating working condition to determine the error of the resolver zero point.

[0072] wherein a represents the error of the resolver zero point, β represents the angle error caused by the sensor delay, and β = ω * T delay , ω represents the speed of the motor 52, T delay represents the delay, and the d-q coordinate system is the actual synchronous rotating coordinate system of the motor 52. Generally, this delay is coupled with the closed-loop system, and it is difficult to directly and accurately obtain; the d 0 -q 0 coordinate system is the synchronous rotating coordinate system considering only the error a, which corresponds to the static working condition; the d + -q + coordinate system is the synchronous rotating coordinate system considering the errors a and β, which corresponds to the forward rotating working condition; and the d - -q - coordinate system is the synchronous rotating coordinate system considering the errors a and β, which corresponds to the reverse rotating working condition.

[0073] When the motor 52 rotates forward, the speed ω + = ω. Under the control mode of id = 0, assuming that the q-axis current amplitude in the d + -q + coordinate system is I Q , then the actual d-q axis current is:

[0074] i d = -I Qsin(α+β)

[0075] i q =I Q cos(α+β)

[0076] Substituting into the voltage equation, we obtain the dq-axis voltage in the actual coordinate system:

[0077] u d =R s i d -ω + L q i q =-I Q R s sin(α+β)-ω + I Q L q cos(α+β)

[0078] u q =R s i q +ω + (L d i d +ψ f ) = I Q R s cos(α+β)+ω + [-I Q L d sin(α+β)+ψ f ]

[0079] In the formula, R s L d L q and ψ f These are the stator resistance, d-axis inductance, q-axis inductance, and permanent magnet flux linkage, respectively.

[0080] d is obtained through coordinate system transformation. + -q + The voltage along the dq axis of the coordinate system is:

[0081] u d + =u d cos(α+β)+u q sin(α+β)=ω + ψ f sin(α+β)-ω + I Q [L q cos 2 (α+β)+L d sin 2 (α+β)]

[0082] u q + =-u d sin(α+β)+u q cos(α+β)=ω + ψ f cos(α+β)+ω + I Q (L q -L d ) / 2*sin[2(α+β)]+R s I Q

[0083] When the motor 52 reverses, the rotational speed ω - =-ω + =-ω, in the control mode of id = 0, the motor 52 is idle, and the q-axis current size required when the forward and reverse rotations reach the same rotational speed is basically the same, so d - q + The q-axis current amplitude in the coordinate system is consistent with that when rotating forward, and is I Q , so d - q - The dq-axis voltages in the coordinate system are:

[0084] u d - =u d cos(α-β)+u q sin(α-β)=ω - ψ f sin(α-β)+ω - I Q [L q cos 2 (α-β)+L d sin 2 (α-β)]

[0085] u q - =-u d sin(α-β)+u q cos(α-β)=ω - ψ f cos(α-β)+ω - I Q (L q -L d ) / 2*sin[2(α-β)]-R s I Q

[0086] The voltage difference is:

[0087] Δu d=u d + -u d - =2ωψ f sinαcosβ+ωI Q (L q -L d sin2αsin2β

[0088] Δu q =u q + -u q - =2ωψ f cosαcosβ+ωI Q (L q -L d cos2αsin2β+2I Q R s

[0089] Since the inductance of motor 52 is low and the no-load current is small, we can consider only the first term and obtain:

[0090] α=arctan(Δu d / Δu q )

[0091] Here, α is the error of the zero point of the resolvent.

[0092] In an application scenario, such as Figure 8 As shown, Figure 8 yes Figure 5 A schematic diagram illustrating the specific workflow of the resolver zero-point identification device in this embodiment. The specific workflow of the resolver zero-point identification device in this embodiment includes:

[0093] S1: Reservation.

[0094] For example, when using a motor controller to control the operation of motor 52, motor 52 is in the pre-positioning stage. Current closed-loop control is employed to operate motor 52 in current control mode. Let the d-axis current be set to its rated value, the q-axis current reference value be set to 0, and the coordinate transformation angle be set to 0. Pre-position motor 52 at 0 degrees and record the resolver reading at this point as θ. offset (0), zero-point error of the resolver θ err (0), take the current resolver reading as the initial zero point, that is, the initial zero point of motor 52.

[0095] S2: The motor rotates forward, and the voltage of the dq axis is recorded.

[0096] For example, the zero point of the resolver is set to θ. offset (0) or the value θ after k iterations offset(k), the motor 52 is controlled to rotate in the reverse direction at the reverse rotation speed, and when the reverse rotation speed is -n, the d-axis voltage is recorded as u d + , and the q-axis voltage is recorded as u q + The d-axis voltage and the q-axis voltage are obtained from the output of the current regulator and are stored.

[0097] S3: The motor is reversed, and the dq-axis voltages are recorded.

[0098] For example, the resolver zero point is set as θ offset (0) or the value θ offset (k) after k iterations, the motor 52 is controlled to rotate in the reverse direction at the reverse rotation speed, and when the reverse rotation speed is -n, the d-axis voltage is recorded as u d - , and the q-axis voltage is recorded as u q - The d-axis voltage and the q-axis voltage are obtained from the output of the current regulator and are stored.

[0099] S4: The resolver zero point error θ err (k) is calculated, and the resolver zero point position θ offset (k) is updated.

[0100] For example, the first difference between the q-axis voltage u q + and the q-axis voltage u q - is u q + -u q - The second difference between the d-axis voltage u d + and the d-axis voltage u d - is u d + -u d - The arctangent value of the ratio of the first difference u d + -u d - to the second difference u q + -u q - is the resolver zero point error θ err (k) of the motor 52. The updated resolver zero point θ err (k) is obtained using the resolver zero point error θ offset(k).

[0101] S5: judging whether |θ err (k-1) is less than or equal to an error threshold value Δθ err (k-1) is less than or equal to an error threshold value Δθ TH whether the condition is met.

[0102] For example, the error of the rotationally-variant zero point corresponding to the last iteration is θ err (k-1), and the error of the rotationally-variant zero point obtained in the current iteration is θ err (k). If |θ err (k-1) is less than or equal to an error threshold value Δθ err , the condition is met, and the process jumps to step S6. If |θ TH (k-1) is greater than the error threshold value Δθ err , the condition is not met, and the process jumps to step S2. err TH

[0103] S6: storing the position of the zero point.

[0104] If |θ err (k-1) is less than or equal to an error threshold value Δθ err , the rotationally-variant zero point θ TH (k) is obtained, the rotationally-variant zero point θ offset (k) is stored, and the process ends after the rotationally-variant zero point θ offset (k) is stored. offset

[0105] The rotationally-variant zero point recognition method used by the rotationally-variant zero point recognition device of the embodiment is simple in the process of recognizing the rotationally-variant zero point, is not affected by the delay deviation, can obtain the rotationally-variant zero point, and can improve the accuracy of the recognition of the rotationally-variant zero point.

[0106] The application further provides a computer readable storage medium. As shown in Figure 9 , the computer readable storage medium 900 internally stores program instructions 910, and the program instructions 910 are executed to implement the zero point recognition method of the motor. Figure 9

[0107] ​​​​The program instruction 910 can form a program file stored in the storage medium in the form of a software product, so that an electronic device (which can be a personal computer, a server, or a network device, etc.) or a processor executes all or part of the steps of the method of each embodiment of the present application. The aforementioned storage medium includes: a U disk, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk or an optical disk, and various media that can store program codes, or a computer, a server, a mobile phone, a tablet, and other terminal devices.

[0108] The computer readable storage medium 900 of the embodiment can be, but is not limited to, a U disk, an SD card, a PD optical drive, a mobile hard disk, a large-capacity floppy disk drive, a flash memory, a multimedia memory card, a server, etc.

[0109] In one embodiment, a computer program product or computer program is provided, which includes computer instructions stored in a computer readable storage medium. The processor of the electronic device reads the computer instructions from the computer readable storage medium, and the processor executes the computer instructions to make the electronic device execute the steps in the above-mentioned method embodiments.

[0110] In addition, the above-mentioned functions, if implemented in the form of software functions and sold or used as independent products, can be stored in a mobile terminal readable storage medium, that is, the present application also provides a storage device storing program data, which can be executed to implement the method of the above-mentioned embodiments. The storage device can be, for example, a U disk, an optical disk, a server, etc. That is, the present application can be embodied in the form of a software product, which includes a plurality of instructions for making an intelligent terminal execute all or part of the steps of the method described in each embodiment.

[0111] In addition, the terms "first", "second" are only used for descriptive purposes, and cannot be understood as indicating or implying relative importance or implicitly indicating the number of indicated technical features. Therefore, the features defined as "first" and "second" can explicitly or implicitly include at least one of the features. In the description of the present application, the meaning of "a plurality of" is at least two, for example, two, three, etc., unless otherwise specifically limited.

[0112] Any processes or methods described in the flowcharts or otherwise described herein can be understood as representing a sequence of steps, or a set of steps, of executable instructions for achieving a particular logic function or process and the scope of preferred embodiments of the present application encompasses other implementations that can not be precisely shown or described herein, including implementations involving the performance of functions in a different order, in substantially simultaneous fashion, or in reverse order, as appropriate, depending upon the function involved.

[0113] The logic and / or steps represented in the flowcharts or otherwise described herein, for example, can be considered as a list of steps to be executed in a particular order, and can be embodied in any computer-readable medium that includes executable instructions for execution by a computer, server, network device or other system that can fetch and execute instructions from the computer-readable medium, or in conjunction with such an instruction execution system, apparatus or device. For the purposes of this specification, a "computer-readable medium" can be any apparatus that can contain, store, communicate, propagate, or transport the program for use by or in connection with the instruction execution system, apparatus, or device. The computer-readable medium can specifically include the following, which are non-exhaustive examples: electrical connections (electrical apparatus), a portable computer diskette (magnetic apparatus), a Random Access Memory (RAM), a Read-Only Memory (ROM), an Erasable Programmable Read-Only Memory (EPROM or Flash memory), an optical fiber, and a portable compact disc read-only memory (CDROM). Additionally, the computer-readable medium can even be paper or other suitable medium upon which the program is printed, as the program can be electronically captured, for example, via an optical scanner, then compiled, interpreted, or otherwise processed in the electronic medium, then stored in the computer memory.

[0114] The above description is merely that of the preferred embodiments of the present application, and modifications thereto are possible without departing from the scope of the present application, which is defined by the appended claims and their equivalents, and is applicable to equivalent structures or equivalent processes transformed directly or indirectly from the contents of the specification and drawings of the present application.

Claims

1. A resolver null recognition method for an electric machine, characterized by, The method comprises the following steps: controlling the motor to operate in a current control mode, and obtaining a rotor position zero point of the motor in the current control mode as an initial zero point of the motor; obtaining a rotor position zero point error of the motor, and updating the initial zero point by using the rotor position zero point error, comprising repeatedly executing the following steps in an iterative manner: controlling the motor to operate in a speed control mode, and obtaining a direct-axis voltage and a quadrature-axis voltage of the motor in the speed control mode; calculating the rotor position zero point error of the motor based on the direct-axis voltage and the quadrature-axis voltage; updating the initial zero point updated in the last iteration by using the rotor position zero point error obtained in the current iteration; wherein the controlling the motor to operate in the speed control mode and obtaining the direct-axis voltage and the quadrature-axis voltage of the motor in the speed control mode comprises: controlling the motor to rotate forward at a first predetermined speed, and obtaining a first direct-axis voltage and a first quadrature-axis voltage when the motor rotates forward; controlling the motor to rotate reverse at a second predetermined speed, and obtaining a second direct-axis voltage and a second quadrature-axis voltage when the motor rotates reverse; the calculating the rotor position zero point error of the motor based on the direct-axis voltage and the quadrature-axis voltage comprises: calculating the rotor position zero point error of the motor based on the first direct-axis voltage, the first quadrature-axis voltage, the second direct-axis voltage and the second quadrature-axis voltage; wherein the calculating the rotor position zero point error of the motor based on the first direct-axis voltage, the first quadrature-axis voltage, the second direct-axis voltage and the second quadrature-axis voltage comprises: obtaining a first difference value of the first quadrature-axis voltage and the second quadrature-axis voltage, and obtaining a second difference value of the first direct-axis voltage and the second direct-axis voltage; calculating an inverse tangent value of a ratio of the second difference value and the first difference value as the rotor position zero point error of the motor.

2. The zero point recognition method of claim 1, wherein, Further comprising: terminating the iteration in response to an absolute value of a difference between the rotor position zero point error corresponding to the current iteration and the rotor position zero point error corresponding to the last iteration being less than or equal to an error threshold.

3. The zero point recognition method of claim 1, wherein, the controlling the motor to operate in the current control mode comprises: controlling the motor to work in a current closed loop mode, and setting a quadrature-axis current given value of the motor to be zero, a direct-axis current given value of the motor to be a rated value, and an angle given value of coordinate transformation to be zero.

4. The zero point recognition method of claim 1, wherein, the controlling the motor to rotate forward at the first predetermined speed comprises: controlling the motor to rotate forward at the first predetermined speed in a speed-current double closed loop working mode.

5. The zero point recognition method of claim 4, wherein, the controlling the motor to rotate reverse at the second predetermined speed comprises: controlling the motor to rotate reverse at the second predetermined speed in the speed-current double closed loop working mode; wherein the second predetermined speed is the same as the first predetermined speed.

6. The zero recognition method of claim 1, wherein, the updating the initial zero point updated in the last iteration by using the rotor position zero point error obtained in the current iteration comprises: obtaining a difference value between the initial zero point updated in the last iteration and the rotor position zero point error obtained in the current iteration; updating the initial zero point updated in the last iteration by using the difference value.

7. A resolver null recognition device for an electric machine, characterized by, The method comprises the following steps: a current sensor for collecting phase currents of the motor; a rotor position measurement circuit for measuring an angle of the motor; A control circuit is connected with the current sensor and the resolver measurement circuit respectively, and is used for zero point identification of the motor based on the phase current and the angle by using the zero point identification method of any one of claims 1 to 6.

8. A computer storage medium, characterized in that, The program instructions are stored in the internal storage, and are executed to implement the zero point identification method of any one of claims 1 to 6.

Citation Information

Patent Citations

  • Motor zero determination method and device

    CN110784133A