Motor control device
Patent Information
- Application Number
- AU2025248291
- Authority / Receiving Office
- AU · AU
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-03-27
- Filing Date
- 2025-03-24
- Publication Date
- 2026-10-29
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
a motor current fluctuates periodically. Solution to Problem
[0007] In order to achieve the above object, a motor control device according to an embodiment of the present invention includes a current detection section, a current fluctuation extraction section, and a position estimation section. The current detection section detects a motor current flowing through a motor. The current fluctuation extraction section extracts a current fluctuation component that is a periodic fluctuation component of the motor current. The position estimation section estimates a rotor position of the motor on the basis of the current fluctuation component.
[0008] In this motor control device, the rotor position of the motor is estimated on the basis of the current fluctuation component that is the periodic fluctuation component included in the motor current. Accordingly, it becomes possible to estimate the rotor position with high accuracy even in a case where the motor current fluctuates periodically.
[0009] The motor control device may further include an inductance voltage calculation section that calculates an inductance voltage that is an induced voltage generated by the current fluctuation component, on the basis of an inductance of the motor and a differential value of the current fluctuation component. In this case, the position estimation section may estimate the rotor position on the basis of the inductance voltage.
[0010] Accordingly, it becomes possible to estimate the rotor position by taking into account the inductance voltage that is the induced voltage generated by the current fluctuation component, and it becomes possible to improve the estimation accuracy of the rotor position.
[0011] The current fluctuation extraction section may extract two or more current fluctuation components having mutually different periods. In this case, the inductance voltage calculation section may calculate the inductance voltage on the basis of a differential value of the current fluctuation component for each of the two or more current fluctuation components, and may calculate a combined inductance voltage obtained by summing the inductance voltages for the respective two or more current fluctuation components. Further, the position estimation section may estimate the rotor position on the basis of the combined inductance voltage.
[0012] Accordingly, it becomes possible to estimate the rotor position by taking into account the inductance voltage generated for each current fluctuation component having a different period, and it becomes possible to further improve the estimation accuracy of the rotor position.
[0013] The current fluctuation extraction section may extract the current fluctuation component by performing Fourier series expansion on the motor current.
[0014] By using the Fourier series expansion, it becomes possible to extract the current fluctuation component in which the influence of noise of the motor current is suppressed, and it becomes possible to estimate the rotor position with high accuracy.
[0015] The current fluctuation extraction section may extract a first-order current fluctuation component and a second-order current fluctuation component of the motor current by performing Fourier series expansion on the motor current.
[0016] For example, the more the kinds of current fluctuation components used for estimating the rotor position are, the more the estimation accuracy of the rotor position is improved. Meanwhile, the processing time becomes longer. Therefore, by using up to the first-order and second-order current fluctuation components, it becomes possible to achieve both an increase in accuracy of the position estimation and a reduction in the processing time.
[0017] The position estimation section may estimate the rotor position on the basis of the current fluctuation component in a case where torque control for the motor is performed.
[0018] Accordingly, it becomes possible to estimate the rotor position with high accuracy in a case where the torque control is performed.
[0019] The position estimation section may estimate the rotor position on the basis of the current fluctuation component in a case where a control region of the motor is a voltage saturation region.
[0020] Accordingly, it becomes possible to estimate the rotor position with high accuracy in the voltage saturation region. Advantageous Effects of Invention
[0021] As described above, according to the present invention, it becomes possible to estimate the rotor position with high accuracy even in a case where the motor current fluctuates periodically. Note that the effects described herein are not necessarily limited, and any of the effects described in the present disclosure may be obtained. Brief Description of Drawings
[0022] [Fig. 1A] Fig. 1A is a diagram provided for description of an operation example of a motor control device of the present disclosure. [Fig. 1B] Fig. 1B is a diagram provided for description of an operation example of the motor control device of the present disclosure. [Fig. 2] Fig. 2 is a diagram showing a configuration example of a motor control device according to the present embodiment. [Fig. 3] Fig. 3 is a diagram showing a configuration example of a control switching determination section according to the present embodiment. [Fig. 4] Fig. 4 is a diagram showing a configuration example of a correction torque generator according to the present embodiment. [Fig. 5] Fig. 5 is a diagram showing a configuration example of a voltage saturation region voltage command value generator according to the present embodiment. [Fig. 6] Fig. 6 is a diagram showing a configuration example of an output voltage limit command value generator according to the present embodiment. [Fig. 7A] Fig. 7A is a diagram provided for description of an operation example of a current command value calculator according to the present embodiment. [Fig. 7B] Fig. 7B is a diagram provided for description of an operation example of the current command value calculator according to the present embodiment. [Fig. 8] Fig. 8 is a diagram provided for description of an operation example of a voltage vector angle calculator according to the present embodiment. [Fig. 9] Fig. 9 is a diagram provided for description of an operation example of an MTPI voltage amplitude limit processor according to the present embodiment. [Fig. 10] Fig. 10 is a diagram showing an example of an output voltage waveform. [Fig. 11] Fig. 11 is a graph showing measurement data at the time of motor control by a steady-state model given as a comparative example and by a transient model according to the present embodiment. [Fig. 12] Fig. 12 is a graph showing measurement data at the time of motor control by the steady-state model given as a comparative example. [Fig. 13] Fig. 13 is a graph showing measurement data at the time of motor control by the transient model according to the present embodiment. Mode(s) for Carrying Out the Invention
[0023] Hereinafter, embodiments of the present invention will be described with reference to the drawings.
[0024] In the present disclosure, a motor control device that performs torque control of a permanent magnet synchronous motor (PMSM) that drives a compressor having a periodic load torque fluctuation, by position sensorless vector control, for example, a motor control device used for an air conditioner, a low-temperature storage device, or the like, will be described as an example. However, the technology of the disclosure is widely applicable to a motor control device that performs torque control of a motor that drives a load having a periodic load torque fluctuation.
[0025] <Operation of Motor Control Device> Fig. 1A and Fig. 1B are diagrams provided for description of an operation example of the motor control device of the present disclosure.
[0026] A constant induced voltage ellipse shown in Fig. 1A and Fig. 1B (part of the ellipse is illustrated in Fig. 1A and Fig. 1B) is a current vector locus at which an induced voltage Vo of the motor becomes equal, and when an estimated electrical angular velocity we increases, the diameter of the constant induced voltage ellipse decreases. The constant induced voltage ellipse shown in Fig. 1A shows a current vector locus in a case where the estimated electrical angular velocity we is constant. Further, the constant induced voltage ellipse shown in Fig. 1B shows a current vector locus in a case where the estimated electrical angular velocity we fluctuates due to load torque fluctuation. Fig. 1B shows a constant induced voltage ellipse at the maximum value of the estimated electrical angular velocity we, a constant induced voltage ellipse at the minimum value of the estimated electrical angular velocity we, and a constant induced voltage ellipse at the average value of the estimated electrical angular velocity we.
[0027] When performing torque control in the voltage saturation region in which the field-weakening control of the motor is performed, the motor control device of the present disclosure calculates a q-axis current command value Iq* and a d-axis current command value Id* on the basis of an intersection of a constant torque curve T* (= To* ± AT) that fluctuates by ±AT by the torque control and a fluctuating constant induced voltage ellipse, as shown in Fig. 1B. For example, the motor control device of the present disclosure calculates the d-axis current command value Id* and the q-axis current command value Iq* on the basis of an intersection of a constant torque curve, which is a locus of a current at which a total torque command value T* obtained by adding a fluctuation torque command value AT, which is a correction torque, to an average torque command value To* becomes constant, and a constant induced voltage ellipse, which is a locus of a current at which an induced voltage command value V0* for setting an output voltage amplitude Va (the amplitude of the voltage command value) to a desired amplitude and the estimated electrical angular velocity ae become constant. Note that the constant induced voltage ellipse and the constant torque curve are not uniquely determined on the basis of motor parameters such as reactance, but change from moment to moment depending on the operation state of the motor.
[0028] Further, since the motor that is the control target in the present disclosure drives a compressor whose load torque fluctuates periodically, it is assumed that a first-order fluctuation component that fluctuates at the fluctuation period of the load torque and a higher-order fluctuation component having a period that is an integer multiple of the fluctuation period of the load torque are generated in the rotation speed viewed in terms of the mechanical angle of the motor (a mechanical-angle estimated angular velocity am). For this reason, a first-order fluctuation component and a higher-order fluctuation component are also included in a mechanical angle phase 0m and the motor current (a d-axis current Id and a q-axis current Iq), in association with the periodic load torque fluctuation. The motor control device performs the above-described torque control in a state in which the periodic fluctuation component is also included in the mechanical angle phase 0m and the motor current in this manner.
[0029] <Configuration of Motor Control Device> Fig. 2 is a diagram showing a configuration example of the motor control device according to the present embodiment. In Fig. 2, a motor control device 100 includes subtractors 11 and 38, a speed controller 12, an adder 13, a voltage command value generator 14, a control switching determination section 15, a d-q / u,v,w converter 23, a PWM (Pulse Width Modulation) modulator 24, and an IPM (Intelligent Power Module) 25. The IPM 25 is connected to a motor M. Examples of the motor M include a PMSM.
[0030] Further, the motor control device 100 includes a shunt resistor 26, current sensors 27a and 27b, and a 3^ current calculator 28. Note that the motor control device 100 only needs to include either one of the shunt resistor 26 and the current sensors 27a and 27b.
[0031] Further, the motor control device 100 includes a u,v,w / d-q converter 29, a current fluctuation extractor 35, an inductance voltage calculator 36, an axis error calculator 30, a PLL (Phase Locked Loop) controller 31, a position estimator 32, a 1 / Pn processor 33, and a correction torque generator 34.
[0032] The voltage command value generator 14 includes a normal control region voltage command value generator 14a, a voltage saturation region voltage command value generator 14b, a switch SW1, and a switch SW2. The switch SW1 has contacts 14c-1, 14c-2, and 14c-3. The switch SW2 has contacts 14c-4, 14c-5, and 14c-6.
[0033] The subtractor 11 calculates an angular velocity error Ao by subtracting the mechanical-angle estimated angular velocity am, which is the current estimated angular velocity output from the 1 / Pn processor 33, from a mechanical angular velocity command value am* input to the motor control device 100 from the outside of the motor control device 100 (for example, a higher-level controller), and outputs the calculated angular velocity error Aa to the speed controller 12.
[0034] The speed controller 12 generates an average torque command value To* such that the angular velocity error Aa input from the subtractor 11 approaches zero, and outputs the generated average torque command value To* to the adder 13.
[0035] The adder 13 calculates the total torque command value T* by adding the average torque command value To* output from the speed controller 12 and the fluctuation torque command value AT output from the correction torque generator 34, and outputs the calculated total torque command value T* to the voltage command value generator 14.
[0036] The voltage command value generator 14 generates a d-axis voltage command value Vd* and a q-axis voltage command value Vq* on the basis of the total torque command value T* output from the adder 13, in each of the normal control region and the voltage saturation region, and outputs the generated d-axis voltage command value Vd* and q-axis voltage command value Vq*. The voltage saturation region is a region in which the output voltage amplitude Va saturates in a high-rotation region of the motor M and the field-weakening control is performed. The normal control region is a region other than the voltage saturation region, in which the output voltage is varied to control the motor M, and in the normal control region, maximum torque per current control or the like is performed.
[0037] In a case where a control signal CONTROL_TYPE: A (normal control) is output from the control switching determination section 15, the voltage command value generator 14 connects the contact 14c-1 and the contact 14c-3 of the switch SW1 and connects the contact 14c-4 and the contact 14c-6 of the switch SW2, and outputs the d-axis voltage command value Vd* and the q-axis voltage command value Vq* generated by the normal control region voltage command value generator 14a to the d-q / u,v,w converter 23. Meanwhile, in a case where a control signal CONTROL_TYPE: B (voltage saturation control) is output from the control switching determination section 15, the voltage command value generator 14 connects the contact 14c-2 and the contact 14c-3 of the switch SW1 and connects the contact 14c-5 and the contact 14c-6 of the switch SW2, and outputs the d-axis voltage command value Vd* and the q-axis voltage command value Vq* generated by the voltage saturation region voltage command value generator 14b to the d-q / u,v,w converter 23.
[0038] The control switching determination section 15 determines whether the current control region of the motor M is the normal control region or the voltage saturation region, on the basis of an output voltage limit value Vdq_limit, the d-axis voltage command value Vd*, and the q-axis voltage command value Vq*. Then, the control switching determination section 15 outputs the control signal CONTROL_TYPE: A (normal control) to the voltage command value generator 14 in a case where it is determined that the current control region of the motor M is the normal control region, and outputs the control signal CONTROL_TYPE: B (voltage saturation control) to the voltage command value generator 14 in a case where it is determined that the current control region of the motor M is the voltage saturation region. The output voltage limit value Vdq_limit is obtained by converting a DC voltage Vdc supplied to the IPM 25 from the outside of the IPM 25 (for example, a power supply converter that is not shown) into a voltage value in the dq rotating coordinate axis system that is the control system.
[0039] The d-q / u,v,w converter 23 converts the two-phase d-axis voltage command value Vd* and q-axis voltage command value Vq* output from the voltage command value generator 14 into a three-phase U-phase output voltage command value Vu*, V-phase output voltage command value Vv*, and W-phase output voltage command value Vw*, on the basis of an electrical angle phase (dq-axis phase) 0e that is the current rotor position output from the position estimator 32. Then, the dq / u,v,w converter 23 outputs the U-phase output voltage command value Vu*, the V-phase output voltage command value Vv*, and the W-phase output voltage command value Vw* to the PWM modulator 24.
[0040] The PWM modulator 24 generates a six-phase PWM signal on the basis of the U-phase output voltage command value Vu*, the V-phase output voltage command value Vv*, the W-phase output voltage command value Vw*, and a PWM carrier signal, and outputs the generated six-phase PWM signal to the IPM 25.
[0041] The IPM 25 generates an AC voltage to be applied to each of the U-phase, the V-phase, and the W-phase of the motor M by converting the DC voltage Vdc supplied from the outside of the IPM 25 on the basis of the six- phase PWM signal output from the PWM modulator 24, and applies each AC voltage to the U-phase, the V-phase, and the W-phase of the motor M.
[0042] In a case where a bus current is detected by a one-shunt method using the shunt resistor 26, the 3^ current calculator 28 calculates a U-phase current value Iu, a V-phase current value Iv, and a W-phase current value Iw of the motor M from six-phase PWM switching information output from the PWM modulator 24 and the detected bus current. Alternatively, in a case where the U-phase current and the V-phase current are detected by the current sensors 27a and 27b, the 3^ current calculator 28 calculates the remaining W-phase current value Iw on the basis of Kirchhoff's law of "Iu + Iv + Iw = 0". The 3^ current calculator 28 outputs the calculated phase current values Iu, Iv, and Iw of the respective phases to the u,v,w / d-q converter 29.
[0043] The u,v,w / d-q converter 29 converts the three-phase U-phase current value Iu, V-phase current value Iv, and W-phase current value Iw output from the 3^ current calculator 28 into a two-phase d-axis current Id and q-axis current Iq, on the basis of the electrical angle phase 0e indicating the current rotor position output from the position estimator 32. Then, the u,v,w / d-q converter 29 outputs the d-axis current Id and the q-axis current Iq to the voltage command value generator 14, the current fluctuation extractor 35, and the axis error calculator 30.
[0044] Note that the U-phase current value Iu, the V- phase current value Iv, and the W-phase current value Iw of the motor M are detection values obtained by detecting the current values of the respective phases of the motor M. Therefore, it can be said that the d- axis current Id and the q-axis current Iq obtained by converting the U-phase current value Iu, the V-phase current value Iv, and the W-phase current value Iw are also detection values. In the vector control of the motor M, the d-axis current Id and the q-axis current Iq are used as detection values of the motor current flowing through the motor M. In the present embodiment, a current detection section that detects the motor current flowing through the motor is constituted by the 3^ current calculator 28 and the u,v,w / d-q converter 29.
[0045] The current fluctuation extractor 35 calculates a d-axis current fluctuation component Aid, which is a periodic fluctuation component of the d-axis current Id, using the d-axis current Id output from the u,v,w / d-q converter 29 and a mechanical angle phase 9mn output from the position estimator 32. Further, the current fluctuation extractor 35 calculates a q-axis current fluctuation component Aiq, which is a periodic fluctuation component of the q-axis current Iq, using the q-axis current Iq output from the u,v,w / d-q converter 29 and the mechanical angle phase 0mn output from the position estimator 32.
[0046] Here, the mechanical angle phase 0mn is an n-th-order mechanical angle phase. In the present embodiment, a first-order mechanical angle phase 0m1 and a second-order mechanical angle phase 0m2 are used. Further, in the present embodiment, the current fluctuation extractor 35 calculates the d-axis current fluctuation component Aid and the q-axis current fluctuation component Alq for each order n with respect to the n-th-order current fluctuation component. Then, the current fluctuation extractor 35 outputs the d-axis current fluctuation component AId and the q-axis current fluctuation component AIq to the inductance voltage calculator 36. The operation of the current fluctuation extractor 35 will be described later in detail. In the present embodiment, the current fluctuation extractor 35 corresponds to a current fluctuation extraction section.
[0047] The inductance voltage calculator 36 calculates an inductance voltage pLdId, which is an induced voltage generated by the d-axis current fluctuation component AId (hereinafter, it may be described as the inductance voltage pLdId generated by the d-axis current fluctuation), using the d-axis current fluctuation component AId output from the current fluctuation extractor 35, a d-axis inductance Ld of the motor M, and the mechanical angle phase Qmn output from the position estimator 32. Further, the inductance voltage calculator 36 calculates an inductance voltage pLdIq, which is an induced voltage generated by the q- axis current fluctuation component Alq (hereinafter, it may be described as the inductance voltage pLdIq generated by the q-axis current fluctuation), using the q-axis current fluctuation component AIq output from the current fluctuation extractor 35, the d-axis inductance Ld of the motor M, and the mechanical angle phase Qmn output from the position estimator 32. Here, "p" in the inductance voltage pLdId generated by the d- axis current fluctuation and the inductance voltage pLdIq generated by the q-axis current fluctuation represents a differential operator. Further, the d-axis inductance Ld of the motor M is stored in the motor control device 100.
[0048] Further, in the present embodiment, the inductance voltage calculator 36 calculates the inductance voltage pLdId generated by the d-axis current fluctuation and the inductance voltage pLdIq generated by the q-axis current fluctuation for each order n with respect to the n-th-order current fluctuation component. Then, the inductance voltage calculator 36 outputs the inductance voltage pLdId generated by the d-axis current fluctuation and the inductance voltage pLdIq generated by the q-axis current fluctuation to the axis error calculator 30. The operation of the inductance voltage calculator 36 will be described later in detail. In the present embodiment, the inductance voltage calculator 36 corresponds to an inductance voltage calculation section.
[0049] The axis error calculator 30 calculates an axis error A0 (the difference between an estimated rotation axis and an actual rotation axis) using the d-axis voltage command value Vd* and the q-axis voltage command value Vq* output from the voltage command value generator 14, the d-axis current Id and the q-axis current Iq output from the u,v,w / d-q converter 29, the inductance voltage pLdId generated by the d-axis current fluctuation and the inductance voltage pLdIq generated by the q-axis current fluctuation output from the inductance voltage calculator 36, and the estimated electrical angular velocity we output from the PLL controller 31. Then, the axis error calculator 30 outputs the calculated axis error A0 to the PLL controller 31. In this manner, in the motor control device 100, the axis error A0 is calculated using the inductance voltages (the inductance voltage pLdId generated by the d-axis current fluctuation and the inductance voltage pLdIq generated by the q-axis current fluctuation) corresponding to the current fluctuation components (the d-axis current fluctuation component Aid and the q-axis current fluctuation component Aiq). The specific operation of the axis error calculator 30 will be described later in detail.
[0050] The PLL controller 31 calculates the estimated electrical angular velocity we, which is the current estimated angular velocity, on the basis of the axis error A0 output from the axis error calculator 30, and outputs the calculated estimated electrical angular velocity we to the position estimator 32, the 1 / Pn processor 33, the voltage command value generator 14, and the axis error calculator 30.
[0051] The position estimator 32 estimates the electrical angle phase 0e and the mechanical angle phase 0m on the basis of the estimated electrical angular velocity we output from the PLL controller 31. Then, the position estimator 32 outputs the estimated electrical angle phase 0e to the d-q / u,v,w converter 23 and the u,v,w / d-q converter 29, and outputs the estimated mechanical angle phase 0m to the voltage command value generator 14 and the correction torque generator 34. Note that the mechanical angle phase 0m output to the voltage command value generator 14 and the correction torque generator 34 is the first-order mechanical angle phase 0m1. In the following, when the mechanical angle phase is simply described as "Gm", it refers to the first-order mechanical angle phase "Gm1".
[0052] Further, the position estimator 32 estimates the second-order mechanical angle phase Gm2 on the basis of the estimated electrical angular velocity we. Then, the position estimator 32 outputs the first-order mechanical angle phase Gm1 (Gm) and the second-order mechanical angle phase Gm2 as the n-th-order mechanical angle phase Gmn to the current fluctuation extractor 35 and the inductance voltage calculator 36.
[0053] The 1 / Pn processor 33 calculates the mechanicalangle estimated angular velocity wm by dividing the estimated electrical angular velocity we output from the PLL controller 31 by the number of pole pairs Pn of the motor M, and outputs the calculated mechanicalangle estimated angular velocity wm to the subtractors 11 and 38.
[0054] The estimated electrical angular velocity we output from the above-described PLL controller 31 and the mechanical-angle estimated angular velocity wm output from the 1 / Pn processor 33 are parameters obtained by estimating the rotation speed of the rotor of the motor M. Further, the electrical angle phase Ge and the mechanical angle phase Gm output from the position estimator 32 are parameters obtained by estimating the rotor position of the motor M. In the present embodiment, a position estimation section that estimates the rotor position of the motor on the basis of the current fluctuation component is constituted by the axis error calculator 30, the PLL controller 31, the position estimator 32, and the 1 / Pn processor 33.
[0055] The subtractor 38 calculates a mechanical-angle estimated angular velocity fluctuation Awm by subtracting the mechanical angular velocity command value am* from the mechanical-angle estimated angular velocity am output from the 1 / Pn processor 33, and outputs the calculated mechanical-angle estimated angular velocity fluctuation Aam to the correction torque generator 34.
[0056] The correction torque generator 34 generates the fluctuation torque command value AT for suppressing the mechanical-angle estimated angular velocity fluctuation Aam, which is a periodic speed fluctuation, to be equal to or less than a speed fluctuation allowable value |Aam|*, on the basis of the speed fluctuation allowable value |Aam|*, which is a speed fluctuation range within which the vibration of the motor M is allowable, the mechanical-angle estimated angular velocity fluctuation Aam output from the subtractor 38, and the mechanical angle phase 0m output from the position estimator 32, and outputs the generated fluctuation torque command value AT to the adder 13. Note that the speed fluctuation allowable value |Aum|* is stored in the motor control device 100. Further, the mechanical-angle estimated angular velocity fluctuation (speed fluctuation) Awm differs from the value of the abovedescribed angular velocity error Au only in the positive or negative sign.
[0057] <Configuration of Control Switching Determination Section> Fig. 3 is a diagram showing a configuration example of the control switching determination section according to the present embodiment. In Fig. 3, the control switching determination section 15 includes a voltage amplitude calculator 15a and a control switching determination device 15b, and determines whether the current control region of the motor M is the normal control region or the voltage saturation region in the following manner.
[0058] The voltage amplitude calculator 15a calculates the output voltage amplitude Va in accordance with Equation (1), on the basis of the d-axis voltage command value Vd* and the q-axis voltage command value Vq* output from the voltage command value generator 14. (Math. 1)
[0059] The control switching determination device 15b compares a peak value of the output voltage amplitude Va calculated by the voltage amplitude calculator 15a with the output voltage limit value Vdq_limit.
[0060] In a case where the peak value of the output voltage amplitude Va is less than the output voltage limit value Vdq_limit, the control switching determination device 15b determines that the current control region of the motor M is the normal control region, and outputs the control signal CONTROL_TYPE: A to the voltage command value generator 14.
[0061] Meanwhile, in a case where the peak value of the output voltage amplitude Va is equal to or greater than the output voltage limit value Vdq_limit, the control switching determination device 15b determines that the current control region of the motor M is the voltage saturation region, and outputs the control signal CONTROL_TYPE: B to the voltage command value generator 14.
[0062] <Configuration of Correction Torque Generator> Fig. 4 is a diagram showing a configuration example of the correction torque generator according to the present embodiment. In Fig. 4, the correction torque generator 34 includes a speed fluctuation component separator 34a, a speed fluctuation amplitude calculator 34b, a subtractor 34c, a correction torque amplitude calculator 34d, a speed fluctuation phase corrector 34e, an orthogonal component separator 34f, and a correction torque demodulator 34g.
[0063] The correction torque generator 34 adjusts the amplitude (a correction torque amplitude |AT|) and the phase of the fluctuation torque command value (correction torque) AT for each mechanical angle period such that a speed fluctuation amplitude |Aum| falls within the speed fluctuation allowable value |Aum|* of a range in which the vibration of the motor M does not become a problem in practical use.
[0064] The speed fluctuation component separator 34a separates the mechanical-angle estimated angular velocity fluctuation Aum into two Fourier coefficients usin (sin component) and wcos (cos component), which are fundamental wave components of Aum, in accordance with Equation (2.1) and Equation (2.2). By calculating the Fourier coefficients of the fundamental wave component of the mechanical-angle estimated angular velocity fluctuation Aum for each mechanical angle period, the harmonic components of the mechanical-angle estimated angular velocity fluctuation Aum can be eliminated, and the fundamental wave component of the mechanical-angle estimated angular velocity fluctuation Aum can be extracted with high accuracy. usin and ucos are values that are updated for each mechanical angle period. 'Sin(0m)d0m -(2,1)
[0065] The speed fluctuation amplitude calculator 34b calculates the speed fluctuation amplitude |Aam| in accordance with Equation (3), on the basis of the Fourier coefficients asin and wcos. Since asin and acos are values that are updated for each mechanical angle period, the speed fluctuation amplitude |Aam| is also updated for each mechanical angle period. (Math. 3)
[0066] The subtractor 34c calculates a speed fluctuation error |Aam|err by subtracting the speed fluctuation allowable value |Aam|* from the speed fluctuation amplitude |Aam| output from the speed fluctuation amplitude calculator 34b. The speed fluctuation allowable value |Aam|* defines the speed fluctuation amplitude |Aam| within a range in which the vibration of the motor M is allowable.
[0067] The correction torque amplitude calculator 34d adjusts the correction torque amplitude |AT| for each mechanical angle period in accordance with the error between the speed fluctuation amplitude |Aam| and the speed fluctuation allowable value |Aam|*. For example, the correction torque amplitude calculator 34d calculates the correction torque amplitude |AT| by multiplying the speed fluctuation error |Aom|err, which is the error between the speed fluctuation amplitude |Aom| and the speed fluctuation allowable value |Aom|*, by a correction gain k, and adding the multiplication result and |AT|_old, in accordance with Equation (4). |AT|_old in Equation (4) is the correction torque amplitude |AT| in the previous mechanical angle period. By appropriately setting the correction gain k, it is possible to suppress the speed fluctuation |Ao| from hunting at the boundary of the speed fluctuation allowable value |Aom|*, and to suppress the occurrence of vibration due to the speed fluctuation |Ao| becoming larger than the speed fluctuation allowable value |Aom|* caused by an abrupt load torque change. (Math. 4) lATHk^toJHAtoj'l+lAT^ -(4)
[0068] The speed fluctuation phase corrector 34e corrects the phase of the mechanical-angle estimated angular velocity fluctuation Aom acquired for each mechanical angle period. For example, the speed fluctuation phase corrector 34e multiplies each of the Fourier coefficients osin and ocos by the correction gain k, and adds osin_i_old and ocos_i_old to the respective multiplication results, in accordance with Equation (5.1) and Equation (5.2). osin_i_old in Equation (5.1) is osin_i in the previous mechanical angle period, and acos_i_old in Equation (5.2) is wcos_i in the previous mechanical angle period. Then, the speed fluctuation phase corrector 34e calculates the arctangent of wsin_i and wcos_i as a speed fluctuation correction phase (pwi in accordance with Equation (5.3). This speed fluctuation correction phase ^wi serves as a phase reference when performing the torque control, and a phase delayed by n / 2 with respect to this reference becomes the phase of the fluctuation torque command value AT (correction torque phase). (Math. 5) “sin.i =(^ini old ---(5.1) ®cos_i — ^cos ' + ®cos_i_old ‘"(5.2) X ®cos i I *wi-t m -(5-3) \ '"sin i /
[0069] The orthogonal component separator 34f calculates a sin component (wsin_i) and a cos component (wcos_i) of the speed fluctuation correction phase ^wi in accordance with Equation (6.1) and Equation (6.2), on the basis of the correction torque amplitude |AT| and the speed fluctuation correction phase cpwi. This processing also has a role of preventing divergence at the time of phase correction by the calculation of Equation (5.1) and Equation (5.2). (Math. 6)
[0070] The correction torque demodulator 34g calculates the fluctuation torque command value AT in accordance with Equation (7.1) and Equation (7.2), on the basis of the sin component (wsin_i) and the cos component (wcos_i) of the speed fluctuation correction phase ^wi. By this processing, conversion is made into the correction torque phase delayed by n / 2 from the speed fluctuation correction phase ^wi, and an instantaneous value of the fluctuation torque command value AT at the mechanical angle phase 0m is generated. (Math. 7) AT = Qsini ■ sin[ 0m - - J + a>cos i ■ cosl 6m - - I --(7.1) = sin(em)-a>sjn i Cos(em) -(7.2)
[0071] Note that the correction torque demodulator 34g may calculate the instantaneous value of the fluctuation torque command value AT in accordance with Equation (8) instead of Equation (7.1) and Equation (7.2). (Math. 8)
[0072] Then, the adder 13 calculates the total torque command value T* by adding the fluctuation torque command value AT to the average torque command value To* output from the speed controller 12, in accordance with Equation (9). (Math. 9) T* = T0*+AT --(9)
[0073] <Configuration of Voltage Saturation Region Voltage Command Value Generator> Fig. 5 is a diagram showing a configuration example of the voltage saturation region voltage command value generator according to the present embodiment. In Fig. 5, the voltage saturation region voltage command value generator 14b includes an output voltage limit command value generator 14b1, an induced voltage command value calculator 14b2, a current command value calculator 14b3, a provisional voltage command value calculator 14b4, a voltage vector angle calculator 14b5, and a voltage command value calculator 14b6.
[0074] Fig. 6 is a diagram showing a configuration example of the output voltage limit command value generator according to the present embodiment. In Fig. 6, the output voltage limit command value generator 14b1 includes an MTPI current command value calculator 14b1-1, an MTPI voltage command value calculator 14b1-2, an MTPI voltage amplitude calculator 14b1-3, an average output voltage generator 14b1-4, an MTPI voltage fluctuation component extractor 14b1-5, adders 14b1-6 and 14b1-8, and an MTPI voltage amplitude limit processor 14b1-7.
[0075] The output voltage limit command value generator 14b1 generates an output voltage limit command value Va* on the basis of the total torque command value T*, the estimated electrical angular velocity ue, the output voltage limit value Vdq_limit, the d-axis current Id, the q-axis current Iq, and the mechanical angle phase 9m. This output voltage limit command value Va* is a voltage for adjusting the fluctuation amplitude of the output voltage within the range up to the output voltage limit value Vdq_limit, and for making the fluctuation phase of the output voltage coincide with the fluctuation phase of the output voltage in the normal control region (MTPI control region).
[0076] In Fig. 6, the MTPI current command value calculator 14b1-1 calculates an MTPI assumed d-axis current command value Id_mtpi* and an MTPI assumed q- axis current command value Iq_mtpi*, which are an intersection of a constant torque curve, which is a locus of a current at which the total torque command value T* becomes constant, and an MTPI curve (maximum torque per current control curve). The intersection of the constant torque curve and the MTPI curve is calculated, for example, using a motor torque equation of Equation (10) and Equation (11), which is a d-axis current equation on the MTPI curve when the q-axis current is known. (Math. 10) T = Pn tPa Iq + (Ld-Lq) ld lJ -(10) (Math. 11) U / m 2 ■o ■ - / * > - , ‘ + -d 0 2(L,-Ld) V(L,-Lj!
[0077] When the d-axis current Id is eliminated from Equation (10) and Equation (11), a quartic equation regarding the q-axis current Iq can be obtained as shown in Equation (12). (Math. 12) ( A2 (Ld-Lq)2 ■ Iq4+^aI - — =0 -(12) \ u q / q dp T P rn \ rn /
[0078] As a solution of the quartic equation shown in Equation (12), by using, for example, the Newton's method or the like for the quartic equation shown in Equation (12), it is possible to derive a solution corresponding to the MTPI assumed q-axis current command value Iq_mtpi* at the intersection of the constant torque curve of the total torque command value T* and the MTPI curve.
[0079] The MTPI current command value calculator 14b1-1 calculates the MTPI assumed d-axis current command value Id_mtpi* in accordance with the d-axis current equation of Equation (11), on the basis of the MTPI assumed q-axis current command value Iq_mtpi* that is the solution of Equation (12).
[0080] The MTPI voltage command value calculator 14b1-2 calculates an MTPI assumed d-axis voltage Vd_mtpi* and an MTPI assumed q-axis voltage Vq_mtpi* in accordance with the PMSM voltage equations shown in Equation (13.1) and Equation (13.2), on the basis of the MTPI assumed d-axis current command value Id_mtpi*, the MTPI assumed q-axis current command value Iq_mtpi*, and the estimated electrical angular velocity we. Note that "p" in Equation (13.1) and Equation (13.2) is a differential operator. (Math. 13) Vd_mtpi * - R ^mtpi * +P ' k ’ Id “ ’ Lq • Iq_mtpi * -(13.1) vq mtpi* = R • Iq_mtpi *+p ■ Lq Iq + we ■ Ld • Id_mtpi *+We ■ Ta -(13.2)
[0081] Note that, in Equation (13.1) and Equation (13.2), the voltage drops "p-Ld-Id" and "p-Lq-Iq" (p-term voltages) at the inductance accompanying the current change due to the torque control are taken into account. "Ld" indicates the d-axis inductance of the motor M, and "Lq" indicates a q-axis inductance of the motor M.
[0082] Here, the p-term voltage is expressed using the time differential of the current change. However, if the change amount of the detected current is directly taken as the differential value, the MTPI assumed d-axis voltage Vd_mtpi* and the MTPI assumed q-axis voltage Vq_mtpi* react sensitively to the current noise. Therefore, the differential value is generated, for example, as follows, on the basis of the current fundamental wave fluctuation.
[0083] In order to describe the generation of the p-term voltage, first, fluctuation components Alda and △ Iqa of the d-axis current Id and the q-axis current Iq are defined as in Equation (14.1) and Equation (14.2). (Math. 14) AIda=Ida-sin(0m+^) --(14.1) AIqa = Iqa ■ sin(era + --114.2)
[0084] Here, in a case where one periodic fluctuation occurs in one rotation of the mechanical angle, "Ida" and "^d" included in Equation (14.1) indicate the fluctuation amplitude and the initial phase of △Ida, respectively, "Iqa" and "^q" included in Equation (14.2) indicate the fluctuation amplitude and the initial phase of AIqa, respectively, and "0m" included in Equation (14.1) and Equation (14.2) indicates the instantaneous value of the mechanical angle phase.
[0085] Therefore, the p-term voltage generated by the current fundamental wave fluctuation is expressed as in Equation (15.1) and Equation (15.2). That is, by advancing the phases of the d-axis current fluctuation and the q-axis current fluctuation by n / 2, and multiplying the d-axis current fluctuation and the q- axis current fluctuation whose phases have been advanced by n / 2 by the mechanical-angle estimated angular velocity am, the differential value (p-term voltage) can be generated. (Math. 15) p-Ld-Id = Ld-^ = Ld -^ = Ld.®m -^(AIJ = ^ dt dt dem dem ■■■(15.1) P Lq ■ Tq = Lq • = Lq ■ = Lq . am ■ (AIqa) = Lq ■ Iqa ■ cosfe, + <J)q) m -(15.2)
[0086] The MTPI voltage amplitude calculator 14b1-3 calculates an MTPI assumed output voltage Va_mtpi* in accordance with Equation (16), on the basis of the MTPI assumed d-axis voltage Vd_mtpi* and the MTPI assumed q-axis voltage Vq_mtpi*. (Math. 16) Va_mtpi*^(Vd mtpi *)2+(Vq ratpi *)2 -(16)
[0087] The average output voltage generator 14b1-4 outputs an average output voltage command value Va0* adjusted such that the average values of the d-axis current Id and the q-axis current Iq, which fluctuate for each rotation of the rotor of the motor M, trace the MTPI curve (maximum torque per current control curve). For example, the average output voltage generator 14b1-4 calculates a d-axis current Idt on the MTPI curve from the current q-axis current Iq, and adjusts the average output voltage command value Va0* by PI control or the like such that there is no error between the calculated d-axis current Idt and the current d-axis current Id. The average output voltage generator 14b1-4 calculates the average output voltage command value Va0* in accordance with, for example, Equation (17.1) and Equation (17.2). Further, in a case where the average output voltage command value Va0* exceeds the output voltage limit value Vdq_limit, the average output voltage generator 14b1-4 limits the average output voltage command value Va0* to the output voltage limit value Vdq_limit in accordance with Equation (18). By limiting the average output voltage command value Va0* to the output voltage limit value Vdq_limit, the field-weakening control is performed. "Wa" indicates an interlinkage flux of the motor M. (Math. 17) (Math. 18) va o* > VdlLlimit Va 0* = Vdq_limit ...(18)
[0088] The MTPI voltage fluctuation component extractor 14b1-5 calculates a fluctuation amplitude |AVa mtpi| and an instantaneous value AVa mtpi of the MTPI assumed output voltage Va_mtpi*, for example, as follows.
[0089] The MTPI voltage fluctuation component extractor 14b1-5 first separates the fundamental wave component of the MTPI assumed output voltage Va_mtpi* into a Fourier coefficient Va_mtpi_sin, which is a sin component, and Va_mtpi_cos, which is a cos component, in accordance with Equation (19.1) and Equation (19.2). By calculating the Fourier coefficients of the fundamental wave component of the MTPI assumed output voltage Va_mtpi* for each mechanical angle period, the MTPI voltage fluctuation component extractor 14b1-5 can extract the fundamental wave component of the MTPI assumed output voltage Va_mtpi* from which the harmonic components have been removed. (Math. 19) Va_n>tpLsm =^fVa_mtpA --(19.1) V^i -(19.2)
[0090] Next, the MTPI voltage fluctuation component extractor 14b1-5 calculates the amplitude |AVa_mtpi| of the fundamental wave component of the MTPI assumed output voltage Va_mtpi* in accordance with Equation (20), on the basis of the Fourier coefficients Va_mtpi_sin and Va_mtpi_cos calculated in accordance with Equation (19.1) and Equation (19.2). Note that, since the Fourier coefficients Va_mtpi_sin and Va_mtpi_cos are values that are updated for each mechanical angle period, the amplitude |AVa_mtpi| is also updated for each mechanical angle period. (Math. 20)
[0091] Then, the MTPI voltage fluctuation component extractor 14b1-5 calculates the instantaneous value AVa_mtpi of the fundamental wave component of the MTPI assumed output voltage Va_mtpi* in accordance with Equation (21). (Math. 21) AVa _ mtpi = Va mpi sin ■ sin (em) + Vamtpi_cos ■ cos(em ) - (21)
[0092] The adder 14b1-6 calculates an MTPI assumed output voltage fluctuation peak value Va_mtpi_peak by adding the average output voltage command value Va0* and the amplitude |AVa_mtpi| of the fundamental wave component of the MTPI assumed output voltage Va_mtpi*, in accordance with Equation (22). (Math. 22) Va_mtpi peak = VaO* +|AVa mtpi| --(22)
[0093] The MTPI voltage amplitude limit processor 14b1-7 generates a fluctuation output voltage limit command value AVa limit mtpi adjusted such that the MTPI assumed output voltage fluctuation peak value Va_mtpi_peak, which is the addition result in the adder 14b1-6, becomes equal to or less than the output voltage limit value Vdq_limit, and outputs the generated fluctuation output voltage limit command value AVa_limit_mtpi.
[0094] For example, the MTPI voltage amplitude limit processor 14b1-7 calculates an amplitude ratio scale of the output voltage fluctuation component by comparing the average output voltage command value Va0*, the MTPI assumed output voltage fluctuation peak value Va_mtpi_peak, and the output voltage limit value Vdq_limit, and generates the fluctuation output voltage limit command value AVa_limit_mtpi by multiplying the MTPI assumed output voltage fluctuation component AVa_mtpi by the amplitude ratio scale. By doing so, the fluctuation output voltage limit command value AVa_limit_mtpi whose phase is made to coincide with that of the MTPI assumed output voltage fluctuation component AVa_mtpi can be generated.
[0095] For example, the MTPI voltage amplitude limit processor 14b1-7 calculates the amplitude ratio scale of the output voltage fluctuation component in accordance with Equation (23.1) to Equation (23.3), and generates the fluctuation output voltage limit command value AVa_limit_mtpi in accordance with Equation (23.4), on the basis of the calculated amplitude ratio scale. (Math. 23) [ VaO * S Vdq_limit ] scale = O --(23.1) [ Va mtpijeak a Vdqlimit ] scale =1 --(23.2) [otherwise] ■ Vdql!m]t-VaO* scale = —V-------,--- --(23.3) | _ mtpj | AVa limil_mtpj = scale xAVa_mlpi -(23.4)
[0096] The adder 14b1-8 calculates the output voltage limit command value Va* by adding the average output voltage command value Va0* and the fluctuation output voltage limit command value AVa_limit_mtpi, in accordance with Equation (24). The adder 14b1-8 outputs the calculated output voltage limit command value Va* to the induced voltage command value calculator 14b2 and the voltage command value calculator 14b6. (Math. 24) v; = VaO‘+AVa_limit_mtpi -(24)
[0097] In Fig. 5, the induced voltage command value calculator 14b2 calculates an induced voltage command value Vo* based on the output voltage limit command value Va* in accordance with the motor model equations shown in Equation (25.1) and Equation (25.2), on the basis of the current d-axis current Id, q-axis current Iq, and estimated electrical angular velocity we. The details of the calculation of the induced voltage command value Vo* are shown below.
[0098] The voltage equations of the PMSM (d-axis voltage Vd, q-axis voltage Vq), the theoretical equation of the output voltage amplitude Va, and the theoretical equation of the induced voltage Vo of the motor M are shown in Equation (25.1) to Equation (27). (Math. 25) vd = R Id + p-Ld Id-toe Lq Iq -.(25.1) Vq=RIq+pLqIq+(OeLdId+U)e Ta -(25.2) (Math. 26) (Math. 27) Vo = -(27)
[0099] Further, from Equation (25.1) to Equation (27), an equation relating the output voltage limit command value Va* and the induced voltage command value Vo* is as in Equation (28). Therefore, the induced voltage command value calculator 14b2 calculates the induced voltage command value Vo* in accordance with Equation (28), and outputs the calculated induced voltage command value Vo* to the current command value calculator 14b3. (Math. 28) Vo = ”*(28) ) / -(R-lq+p-Lq-Iqp -2(Rlq+pLqIq)-(®s^
[0100] The current command value calculator 14b3 calculates the q-axis current command value Iq* and the d-axis current command value Id* on the basis of an intersection of a constant torque curve, which is a locus of a current at which the total torque command value T* becomes constant, and a constant induced voltage ellipse, which is a locus of a current at which the induced voltage command value Vo* and the estimated electrical angular velocity we become constant (see Fig. 1B). The current command value calculator 14b3 outputs the calculated q-axis current command value Iq* and d-axis current command value Id* to the provisional voltage command value calculator 14b4.
[0101] The intersection of the constant torque curve and the constant induced voltage ellipse can be calculated, for example, using a motor torque equation shown in Equation (29) and an induced voltage equation shown in Equation (30). (Math. 29) (Math. 30)
[0102] When the d-axis current Id is eliminated from Equation (29) and Equation (30), a quartic equation regarding the q-axis current Iq can be obtained as in Equation (31). Here, in Equation (31), "AL = Ld - Lq". (Math. 31) ■■■(31)
[0103] As a solution of the quartic equation shown in Equation (31), by using, for example, the Newton's method or the like for the quartic equation shown in Equation (31), it is possible to derive a solution corresponding to the q-axis current command value Iq* at the point where the constant torque curve, which is a locus of a current at which the total torque command value T* becomes constant, and the constant induced voltage ellipse, which is a locus of a current at which the induced voltage Vo and the estimated electrical angular velocity «e become constant, intersect (see Fig. 1B).
[0104] After calculating the q-axis current command value Iq*, the current command value calculator 14b3 calculates the d-axis current command value Id* on the basis of the q-axis current command value Iq*, in accordance with Equation (32) obtained by transforming the induced voltage equation shown in Equation (30) into a d-axis current equation. (Math. 32)
[0105] Here, whether a positive sign or a negative sign is taken as the sign relating to V in Equation (32) can be determined by calculating a torque at a point where a straight line that is parallel to the Iq axis and passes through an M-point (-Wa / Ld, 0) that is the center of the constant induced voltage ellipse (hereinafter, it may be referred to as the "M-point boundary line") and the constant induced voltage ellipse intersect (hereinafter, it may be referred to as the "M-point boundary torque T_M"), and comparing the M-point boundary torque T_M with the total torque command value T*.
[0106] The calculation procedure of the d-axis current command value Id* and the q-axis current command value Iq* is shown below. Fig. 7A and Fig. 7B are diagrams provided for description of an operation example of the current command value calculator according to the present embodiment.
[0107] The current command value calculator 14b3 first calculates a d-axis current Id_M on the M-point in accordance with Equation (33). (Math. 33) T Id_M — ~ ---(33) Ld
[0108] Next, the current command value calculator 14b3 calculates a q-axis current Iq_M at the point where the M-point boundary line and the constant induced voltage ellipse intersect. Since the q-axis current Iq_M can be calculated by substituting the d-axis current Id_M on the M-point into Equation (30), it is calculated in accordance with Equation (34). (Math. 34) -<m)
[0109] Therefore, the current command value calculator 14b3 calculates the M-point boundary torque T_M in accordance with Equation (35). (Math. 35) T M = Pn ■ • Iq M + (Ld -Lq)- Id m - IqM} -(35)
[0110] Then, the current command value calculator 14b3 determines the d-axis current command value Id* in accordance with Equation (36.1) and Equation (36.2), on the basis of the magnitude relationship between the total torque command value T* and the M-point boundary torque T_M. Equation (36.1) shows the d-axis current command value Id* in the case of "total torque command value T* ^ M-point boundary torque T_M" (see Fig. 7A), and Equation (36.2) shows the d-axis current command value Id* in the case of "total torque command value T* > M-point boundary torque T_M" (see Fig. 7B). (Math. 36) LT*^T_M] [T*>T_M]
[0111] The current command value calculator 14b3 outputs the d-axis current command value Id* and the q- axis current command value Iq* calculated as described above to the provisional voltage command value calculator 14b4.
[0112] In Fig. 5, the provisional voltage command value calculator 14b4 calculates a provisional d-axis voltage command value Vd_m and a provisional q-axis voltage command value Vq_m by feedforward in accordance with the motor model equations shown in Equation (37.1) and Equation (37.2), on the basis of the estimated electrical angular velocity we, the d-axis current command value Id*, and the q-axis current command value Iq*. The provisional voltage command value calculator 14b4 outputs the calculated provisional d-axis voltage command value Vd_m and provisional q-axis voltage command value Vq_m to the voltage vector angle calculator 14b5. Note that, by calculating the provisional voltage command value by feedforward, it is possible to prevent windup (saturation phenomenon) that occurs in an integrator such as PI control due to input saturation. (Math. 37) + P’Ld ■ Id — (Oe ■ Lq • Iq --(37.1) Vq m = R ■ Iq’ + p ■ Lq ■ lq + we • (Ld ■ Id* + Ta) -(37.2)
[0113] Note that, in Equation (37.1) and Equation (37.2), the voltage drops "p-Ld-Id" and "p-Lq-Iq" (p-term voltages) at the inductance accompanying the current change due to the torque control are taken into account.
[0114] The voltage vector angle calculator 14b5 calculates a voltage vector angle 5 in accordance with Equation (38), on the basis of the provisional d-axis voltage command value Vd_m and the provisional q-axis voltage command value Vq_m. The voltage vector angle calculator 14b5 outputs the calculated voltage vector angle 5 to the voltage command value calculator 14b6. That is, as shown in Fig. 8, the voltage vector angle calculator 14b5 calculates, as the voltage vector angle 5, an angle that an output voltage vector having an amplitude Va calculated as in Equation (1) makes from the q-axis. By doing so, in the voltage saturation region in which the output voltage amplitude is limited to be equal to or less than a DC voltage (DC voltage) that can be output by the inverter, the voltage vector angle 5 corresponding to the total torque command value T* can be generated by calculation. Therefore, since vibration suppression control can be performed without performing tuning of the voltage vector angle fluctuation, it is possible to improve the vibration suppression effect of the motor M without performing tuning of the voltage vector angle fluctuation. Fig. 8 is a diagram provided for description of an operation example of the voltage vector angle calculator according to the present embodiment. (Math. 38) ( V. 3 = Alan --(38) V I \ Q_m /
[0115] The voltage command value calculator 14b6 calculates the d-axis voltage command value Vd* and the q-axis voltage command value Vq* by performing coordinate transformation from polar coordinates to orthogonal coordinates in accordance with Equation (39.1) and Equation (39.2), on the basis of the voltage vector angle 5 and the output voltage limit command value Va*. (Math. 39) Vd =—Va -sin3 --(39.1) Vq‘=Va‘cos5 --(39.2)
[0116] <Operation of MTPI Voltage Amplitude Limit Processor> Fig. 9 is a diagram provided for description of an operation example of the MTPI voltage amplitude limit processor according to the present embodiment.
[0117] For example, as shown in case (a) of Fig. 9, in a case where the peak value Va_mtpi_peak of the MTPI assumed output voltage fluctuation component AVa_mtpi that fluctuates about the average output voltage command value Va0* is equal to or less than the output voltage limit value Vdq_limit, the condition of Equation (23.2) is satisfied, and therefore the MTPI voltage amplitude limit processor 14b1-7 sets the amplitude ratio scale of the output voltage fluctuation component to "1". Then, the MTPI voltage amplitude limit processor 14b1-7 sets "scale = 1" in Equation (23.4), and outputs the MTPI assumed output voltage fluctuation component AVa_mtpi as it is as the fluctuation output voltage limit command value AVa_limit_mtpi. As a result, the output voltage limit command value Va* coincides with the MTPI assumed output voltage fluctuation component AVa_mtpi.
[0118] Further, for example, as shown in case (b) of Fig. 9, in a case where the peak value Va_mtpi_peak of the MTPI assumed output voltage fluctuation component AVa_mtpi that fluctuates about the average output voltage command value Va0* exceeds the output voltage limit value Vdq_limit and the average output voltage command value Va0* does not exceed the output voltage limit value Vdq_limit, the condition of Equation (23.3) is satisfied, and therefore the MTPI voltage amplitude limit processor 14b1-7 sets the amplitude ratio scale of the output voltage fluctuation component to "(Vdq_limit - VaQ*) / |AVa_mtpi|". Then, the MTPI voltage amplitude limit processor 14b1-7 outputs the fluctuation output voltage limit command value AVa_limit_mtpi with "scale = (Vdq_limit - VaQ*) / |AVa_mtpi|" in Equation (23.4). As a result, the output voltage limit command value Va* whose phase coincides with that of the MTPI assumed output voltage fluctuation component AVa_mtpi and whose peak value due to the fluctuation amplitude becomes equal to or less than the output voltage limit value Vdq_limit is generated.
[0119] Further, for example, as shown in case (c) of Fig. 9, in a case where the average output voltage command value Va0* of the MTPI assumed output voltage fluctuation component AVa_mtpi is equal to or greater than the output voltage limit value Vdq_limit, the condition of Equation (23.1) is satisfied, and therefore the MTPI voltage amplitude limit processor 14b1-7 sets the amplitude ratio scale of the output voltage fluctuation component to "0". Then, the MTPI voltage amplitude limit processor 14b1-7 sets "scale = 0" in Equation (23.4), and outputs the fluctuation output voltage limit command value AVa_limit_mtpi as "0". As a result, the output voltage limit command value Va* coincides with the output voltage limit value Vdq_limit.
[0120] By controlling the output voltage limit command value Va* in this manner, as in the example of the output voltage waveform shown in Fig. 10, even immediately after the control region of the motor M transitions from the normal control region to the voltage saturation region, it is possible to make the output voltage amplitude Va coincide between the normal control region and the voltage saturation region while keeping the output voltage amplitude Va equal to or less than the output voltage limit value Vdq_limit. For this reason, it is possible to reduce the switching shock at the time of transition from the normal control region to the voltage saturation region. Furthermore, since the motor control device 100 includes the voltage saturation region voltage command value generator 14b, it is also possible to cope with a case where, in the voltage saturation region, the average output voltage command value Va0*, which is the center of the fluctuation of the output voltage limit command value Va*, is limited by the output voltage limit value Vdq_limit.
[0121] <Operation of Normal Control Region Voltage Command Value Generator> The normal control region voltage command value generator 14a calculates the d-axis voltage command value Vd* and the q-axis voltage command value Vq* on the basis of the total torque command value T*, the estimated electrical angular velocity ae, the d-axis current Id, the q-axis current Iq, and the mechanical angle phase 0m, in a case where the control switching determination section 15 determines that the current control region of the motor M is the normal control region.
[0122] In the normal control region voltage command value generator 14a, for example, MTPI control (maximum torque per current control) is performed in order to perform the torque control. In this method, the d-axis current command value Id* and the q-axis current command value Iq* are calculated on the basis of an intersection of a constant torque curve, which is a locus of a current at which the total torque command value T* becomes constant, and an MTPI curve. Further, the q-axis voltage command value Vq* is calculated by performing PI control on the difference between the q-axis current command value Iq* and the q-axis current Iq (q-axis current error). Further, the d-axis voltage command value Vd* is calculated by performing PI control on the difference between the d-axis current command value Id* and the d-axis current Id (d-axis current error).
[0123] Note that, with respect to the d-axis current command value Id* and the q-axis current command value Iq*, a phase error and an amplitude error caused by a response delay and dq-axis interference when calculating the intersection of the constant torque curve and the MTPI curve may be corrected. Further, the d-axis voltage command value Vd* and the q-axis voltage command value Vq* may be output as final voltage command values after performing non-interference control. In addition, the method of calculating the d-axis voltage command value Vd* and the q-axis voltage command value Vq* is not limited, and it is also possible to use a torque control method other than the MTPI control.
[0124] <Problem of Rotor Position Estimation by SteadyState Model> So far, the method of calculating the control command values of the motor M (the d-axis voltage command value Vd* and the q-axis voltage command value Vq*) in the normal control region and the voltage saturation region has been described. In the following, a method of estimating the rotor position of the motor M will be described.
[0125] As a method of estimating the rotor position from the d-axis current Id and the q-axis current Iq, an axis error calculation equation in a steady state using an extended induced voltage model shown in Equation (40) has been widely used. (Math. 40) A0 = tan 1 -(40)
[0126] In Equation (40), R is a resistance value of the motor M, and Lq is the q-axis inductance in the motor M. Further, Vd and Vq are the d-axis voltage and the q-axis voltage applied to the motor M. Id and Iq are the d-axis current and the q-axis current flowing through the motor M. Note that the numerator in the arctangent function (tan'1) is a Y-axis induced voltage, and the denominator is a S-axis induced voltage. Here, the Y-axis and the S-axis are estimated rotating coordinate systems on the control.
[0127] When estimating the rotor position, the axis error A0 is calculated from Equation (40), the estimated electrical angular velocity we is estimated using the axis error A0, and the electrical angle phase (dq-axis phase) 0e and the mechanical angle phase 0m representing the rotor position are estimated using the estimated electrical angular velocity we. Further, in the calculation of the axis error A0, the d-axis command value Vq* are used as Vd and Vq in Equation (40), and the d-axis current Id and the q-axis current Iq, which are detection values of the motor current, are used as Id and Iq.
[0128] Here, the relationship between the abovedescribed torque control and the motor current (the d-axis current Id and the q-axis current Iq) will be described. In a case where the load torque acting on the motor M fluctuates periodically, such as in the operation of a single rotary compressor, if the torque of the motor M is not adjusted, it is conceivable that the rotation speed of the motor M (the estimated electrical angular velocity we) also fluctuates periodically due to the periodic fluctuation of the load torque. In this case, there is a possibility that vibration or noise is generated, and there is a possibility that stable control of the motor M becomes difficult. The above-described torque control is control for adjusting the torque of the motor M in accordance with the fluctuation of the load torque, in order to suppress such a speed fluctuation.
[0129] In the torque control, the d-axis current command value Id* and the q-axis current command value Iq* are adjusted so that a target torque is generated, and the d-axis voltage command value Vd* and the q-axis the adjusted d-axis current command value Id* and q-axis current command value Iq*. In this case, it is assumed that the d-axis current Id and the q-axis current Iq flowing through the motor M also fluctuate periodically in accordance with the periodic fluctuation of the load torque.
[0130] The present inventors have noticed that, in a situation where the d-axis current Id and the q-axis current Iq fluctuate periodically in this manner, when the torque control using the above Equation (40) is performed, oscillation occurs in the vicinity of a peak point of the periodically fluctuating current (hereinafter, it may be described as a current peak), and the power consumption may deteriorate accordingly. In particular, it has been found that, during the torque control that achieves both suppression of voltage fluctuation and suppression of speed fluctuation in the voltage saturation region in which the output voltage amplitude Va of the motor M is limited by the DC voltage (the torque control performed by the above-described voltage saturation region voltage command value generator 14b), the oscillation in the vicinity of the current peak occurs conspicuously (see Fig. 12 and the like). This may cause control instability of the motor M and an increase in the power consumption.
[0131] In the following, the reason why the current oscillation occurs will be considered with reference to Fig. 10. For example, Fig. 10 illustrates how the output voltage amplitude Va periodically fluctuates in the normal control region. This periodic fluctuation of the output voltage amplitude Va is a result of controlling the torque of the motor M in accordance with the periodic fluctuation of the load torque. Note that, in the normal control region, the output voltage amplitude Va becomes equal to or less than the output voltage limit value Vdq_limit. Therefore, it is not necessary to limit the output voltage amplitude Va. In a situation where the output voltage amplitude Va is not limited in this manner, for example, control is performed to periodically fluctuate the q-axis current command value Iq* that mainly causes the motor M to generate torque, out of the d-axis current command value Id* and the q-axis current command value Iq*. In this case, the fluctuation amount of the d-axis current command value Id* is smaller than that of the q-axis current command value Iq*.
[0132] On the other hand, in the voltage saturation region, the output voltage amplitude Va is limited with the output voltage limit value Vdq_limit as an upper limit. In the voltage saturation region voltage command value generator 14b, the d-axis current command value Id* and the q-axis current command value Iq* are adjusted such that the output voltage amplitude Va does not exceed the output voltage limit value Vdq_limit and such that the speed fluctuation is suppressed. In this case, not only the fluctuation amount of the q-axis current command value Iq* but also the fluctuation amount of the d-axis current command value Id* becomes large; as a result, both the d-axis current Id and the q-axis current Iq flowing through the motor M fluctuate periodically with a relatively large fluctuation amount. In this manner, it can be said that, in the torque control in the voltage saturation region, both suppression of voltage fluctuation and suppression of speed fluctuation are achieved by fluctuating the d- axis current Id.
[0133] The extended induced voltage model expressed by Equation (40) is a steady-state model premised on a steady state. In the steady state, the dq-axis currents (and the Y^-axis currents) are regarded as direct currents. Therefore, in Equation (40), the fluctuation of the d-axis current Id and the q-axis current Iq (that is, the time change of the d-axis current Id and the q-axis current Iq) is not taken into account, and the transient response of the current is not reflected when estimating the axis error A0. For this reason, it is conceivable that, when the fluctuation components of the d-axis current Id and the q-axis current Iq become large, the estimation accuracy of the axis error A9 decreases. As a result, it is conceivable that positional deviation occurs during the torque control, and oscillation or the like occurs in the vicinity of the current peak.
[0134] <Rotor Position Estimation by Transient Model Taking Current Fluctuation into Account> The present inventors have focused on this point, and have constructed a transient model that takes into account the fluctuation of the d-axis current Id and the q-axis current Iq. Equation (41) is an axis error calculation equation in the transient model. Note that, in Equation (41), "p" is a differential operator, and Ld is the d-axis inductance in the motor M. (Math. 41) -1 — dJe ' Lq ' Iq p • A9 = tan 1 ----—----------------- --(41) Vq R • Iq O3e • Lq • p • • Iq
[0135] Equation (41) includes the inductance voltages "p-Ld-Id" and "p-Ld-Iq" (p-term voltages) accompanying the current change due to the torque control. That is, in the transient model that takes into account the current fluctuation shown in Equation (41), the inductance voltage (p-term voltage), which is the differential value of the current, is taken into account. Accordingly, it is possible to reflect the action of the current fluctuation in the torque control or the like (the action due to the transient change of the current).
[0136] For example, in the extended induced voltage model premised on the steady state expressed by Equation (40), since the inductance voltage accompanying the current change is not taken into account, a model error occurs. In particular, in order for the axis error A0 to become 0, the accuracy of the model of the Y-axis induced voltage, which is the numerator in the arctangent function, is important. However, the numerator in the arctangent function of Equation (40) does not include the inductance voltage (p-Ld-Id) generated by the current change of the d-axis current Id (d-axis current fluctuation). For this reason, particularly in the torque control in the voltage saturation region in which the d-axis current Id fluctuates greatly, it is conceivable that the model error in Equation (40) becomes large, and the oscillation in the vicinity of the current peak occurs conspicuously.
[0137] Meanwhile, in the model shown in Equation (41), the inductance voltage (p-Ld-Id) generated by the current change of the d-axis current Id is reflected when calculating the axis error A0. Accordingly, even in a case where the d-axis current Id is fluctuated during the torque control in the voltage saturation region, it becomes possible to calculate the axis error △0 with high accuracy. In the following, as the processing of calculating the axis error ^0 using the model shown in Equation (41), the operations of the respective parts of the current fluctuation extractor 35, the inductance voltage calculator 36, and the axis error calculator 30 shown in Fig. 2 will be specifically described.
[0138] <Operation of Current Fluctuation Extractor> The current fluctuation extractor 35 extracts the current fluctuation component that is the periodic fluctuation component of the motor current. The current fluctuation component is the periodic fluctuation component of the d-axis current Id and the q-axis current Iq generated by the torque control. The current fluctuation extractor 35 extracts the d-axis current fluctuation component △Id from the d-axis current Id, and extracts the q-axis current fluctuation component △Iq from the q-axis current Iq.
[0139] In the present embodiment, the current fluctuation extractor 35 extracts the current fluctuation component by performing Fourier series expansion on the motor current (the d-axis current Id and the q-axis current Iq). Specifically, processing of calculating Fourier coefficients of the Fourier series expansion for each of the d-axis current Id and the q- axis current Iq is executed by a computing device such as a microcomputer constituting the motor control device 100. This processing is equivalent to, for example, processing of extracting the periodic fluctuation component by performing Fourier transform on the d-axis current Id and the q-axis current Iq.
[0140] As described later, a current differential value obtained by differentiating the current fluctuation component is used for the calculation of the inductance voltage (p-term voltage). The current differential value is a parameter whose value is liable to change due to noise or the like. Meanwhile, by using the Fourier series expansion, it becomes possible to extract the current fluctuation component in which the influence of noise of the d-axis current Id and the q- axis current Iq is suppressed. Accordingly, the value of the current differential value becomes stable, and it becomes possible to improve the calculation accuracy of the inductance voltage.
[0141] Further, in the present embodiment, the current fluctuation extractor 35 extracts two or more current fluctuation components having mutually different periods. For example, in a case where a single rotary compressor is operated, the load torque vibrates at the same period as the mechanical angle phase 0m of the motor M. In this case, when the torque control is performed, a first-order current fluctuation component that fluctuates at the same period as the mechanical angle phase 0m and a higher-order current fluctuation component such as a second-order current fluctuation component that fluctuates at a period twice that of the mechanical angle phase 0m are generated in the d-axis current Id and the q-axis current Iq. The current fluctuation extractor 35 extracts the first-order current fluctuation component and the higher-order current fluctuation component from each of the d-axis current Id and the q-axis current Iq. By using these current fluctuation components, it becomes possible to improve the calculation accuracy of the inductance voltage.
[0142] In the present embodiment, the current fluctuation extractor 35 extracts the first-order current fluctuation component and the second-order current fluctuation component of the motor current (the d-axis current Id and the q-axis current Iq) by performing Fourier series expansion on the motor current (the d-axis current Id and the q-axis current Iq). For example, the more the kinds of current fluctuation components used for estimating the rotor position are, the more the estimation accuracy of the rotor position is improved. However, meanwhile, the processing time becomes longer. Therefore, by using up to the first-order and second-order current fluctuation components, it becomes possible to achieve both an increase in accuracy of the position estimation and a reduction in the processing time.
[0143] In the following, the order of the current fluctuation component is described as n (n = 1 or 2). Further, the n-th-order d-axis current fluctuation component is described as AIdn, and the n-th-order q- axis current fluctuation component is described as Alqn.
[0144] First, a method of calculating the n-th-order d-axis current fluctuation component AIdn will be described. The current fluctuation extractor 35 separates the n-th-order d-axis current fluctuation component AIdn into a sin component and a cos component and calculates them. Specifically, the current fluctuation extractor 35 calculates a sin component Idn_sin of the n-th-order d-axis current fluctuation component AIdn in accordance with Equation (42.1), and calculates a cos component Idn_cos of the n-th-order d- axis current fluctuation component AIdn in accordance with Equation (42.2). 1 f 2ti Idn sin ~ ~ I ^d ‘ s^n(®mn) d9mn ---(42.1) - 1 f 2tt Idn cos I ^d ’ COS(0mn) d6mrl ---(42.2)
[0145] Equation (42.1) and Equation (42.2) are equations representing the n-th-order Fourier coefficients. The n-th-order mechanical angle phase 0mn is the first-order mechanical angle phase 0m1 in the case of n = 1, and is the second-order mechanical angle phase 0m2 in the case of n = 2. Further, the n-th-order mechanical angle phase 0mn (0m1 or 0m2) is an instantaneous value calculated by the position estimator 32 described with reference to Fig. 2. The sin component Idn_sin and the cos component Idn_cos of the n-th-order d-axis current fluctuation component AIdn are calculated for each mechanical angle period. Accordingly, noise and other harmonic components can be removed.
[0146] Using the sin component Idn_sin and the cos component Idn_cos of the n-th-order d-axis current fluctuation component AIdn, the current fluctuation extractor 35 calculates an amplitude |AIdn| of the nth-order d-axis current fluctuation component AIdn in accordance with Equation (43.1), and calculates a reference phase ^dn of the n-th-order d-axis current fluctuation component AIdn in accordance with Equation (43.2). (Math. 43) 1^1=^^ / + (^5)2 tpdn = tan-1 / --(43.2) Vdn sin /
[0147] The n-th-order d-axis current fluctuation component AIdn is expressed as in Equation (44), using the amplitude |AIdn| of Equation (43.1) and the reference phase ^dn of Equation (43.2). (Math. 44)
[0148] The n-th-order mechanical angle phase 0mn described in Equation (44) is a variable that changes with the rotation of the motor M. Therefore, the waveform of the n-th-order d-axis current fluctuation component AIdn is a sin waveform that vibrates with the amplitude |AIdn|, with the reference phase ^dn as the initial phase. In this manner, the processing of extracting the n-th-order d-axis current fluctuation component AIdn is processing of calculating parameters (the amplitude |AIdn| and the reference phase ^dn) capable of expressing the waveform thereof.
[0149] Next, a method of calculating the n-th-order q-axis current fluctuation component AIqn will be described. The method of calculating the n-th-order q- axis current fluctuation component AIqn is basically the same as the method of calculating the n-th-order d-axis current fluctuation component Aldn. Specifically, the current fluctuation extractor 35 calculates a sin component Iqn_sin of the n-th-order q-axis current fluctuation component AIqn in accordance with Equation (45.1), and calculates a cos component Iqn_cos of the n-th-order q-axis current fluctuation component AIqn in accordance with Equation (45.2). (Math. 45) 1 Iqn.sin — — I Iq ‘ -145.1) 71 Jo 1 f271 Iqn_cos — I Iq ' COs(0mn) d0mn --(45.2)
[0150] Further, using the sin component Iqn_sin and the cos component Iqn_cos of the n-th-order q-axis current fluctuation component AIqn, the current fluctuation extractor 35 calculates an amplitude |AIqn| of the nth-order q-axis current fluctuation component AIqn in accordance with Equation (46.1), and calculates a reference phase ^qn of the n-th-order q-axis current fluctuation component AIqn in accordance with Equation (46.2). (Math. 46)
[0151] The n-th-order q-axis current fluctuation component AIqn is expressed as in Equation (47), using the amplitude |AIqn| of Equation (46.1) and the reference phase ^qn of Equation (46.2). (Math. 47) AIqn |AIqn| ' Sin^0mn + Pqn) ---(47)
[0152] As shown in Equation (47), the waveform of the n-th-order q-axis current fluctuation component AIqn is a sin waveform that vibrates with the amplitude |AIqn|, with the reference phase ^qn as the initial phase. In this manner, the processing of extracting the n-th-order q-axis current fluctuation component AIqn is processing of calculating parameters (the amplitude |AIqn| and the reference phase (pqn) capable of expressing the waveform thereof.
[0153] The current fluctuation components calculated by the Fourier series expansion in the current fluctuation extractor 35 are shown in Equation (48.1) to Equation (48.4). Equation (48.1) is the first-order d-axis current fluctuation component AId1, and Equation (48.2) is the second-order d-axis current fluctuation component AId2. Further, Equation (48.3) is the first-order q-axis current fluctuation component AIq1, and Equation (48.4) is the second-order q-axis current fluctuation component AIq2. Aldi = |AId11 • sin(9ml + ^di) ••■(48.1) Mql = [AIqi| ■ sin(0ml + <Pql) ■■■(48.2) AId2 = |AId2| ■ sin(9m2 + <Pd2) •■■(48.3) AIq2 = |AIq2| -sin(9m2 + <Pq2) •■■(48.4)
[0154] In the current fluctuation extractor 35, the amplitudes (|AId1|, |AId2|, |AIq1|, |AIq2|) and the reference phases (^d1, ^d2, ^q1, tpq2) in the respective equations of Equation (48.1) to Equation (48.4) are calculated as the current fluctuation components. These parameters are output to the inductance voltage calculator 36.
[0155] <Operation of Inductance Voltage Calculator> The inductance voltage calculator 36 calculates the inductance voltage that is the induced voltage generated by the current fluctuation component, on the basis of the inductance of the motor M and the differential value of the current fluctuation component. Here, the inductance voltage is the p-term voltage (p-Ld-Id and p-Ld-Iq) shown in Equation (41). Therefore, the d-axis inductance Ld is used as the inductance of the motor M.
[0156] Further, the differential operator "p" acts only on the fluctuation component of the parameter to be calculated (for a direct-current component, the differential value becomes 0). Therefore, the current fluctuation components (AId1, AId2, AIq1, AIq2) calculated by the current fluctuation extractor 35 can be used as the d-axis current Id and the q-axis current Iq in the p-term voltage.
[0157] Here, a current component of the d-axis current Id that is correlated with the first-order mechanical angle phase Omi is described as a current correlation value Id1, and a current component that is correlated with the second-order mechanical angle phase Om2 is described as a current correlation value Id2. The current correlation value Id1 is the first-order d-axis current fluctuation component Aldi, and the current correlation value Id2 is the second-order d-axis current fluctuation component AId2. Similarly, with respect to the q-axis current Iq as well, a current component that is correlated with the first-order mechanical angle phase Omi is described as a current correlation value Iq1, and a current component that is correlated with the second-order mechanical angle phase Om2 is described as a current correlation value Iq2. The current correlation value Iq1 is the first-order q- axis current fluctuation component AIqi, and the current correlation value Iq2 is the second-order q- axis current fluctuation component AIq2.
[0158] For example, in the d-axis current Id, the inductance voltage due to the current fluctuation having a period similar to that of the first-order mechanical angle phase 6ml is calculated in accordance with Equation (49.1) to Equation (49.4), using the current correlation value Id1.
[0159] (Math. 49) didi P • Ld ■ Idi = Ld • dt ■■■(49.1) _ . d9ml -Ld' dt dldi ■■■(49.2) d^ml = Ld • com • Cl dem / i,al) ■■•(49.3) ■ Ld • lAIdil ■ sin (eml + <Pdi + -(49.4)
[0160] In this case, as shown in Equation (49.1), the current correlation value Id1 is used as the d-axis current Id of the p-term voltage, and the current correlation value Id1 is time-differentiated. In Equation (49.2), the time differential of the current correlation value Id1 is converted into differential by the first-order mechanical angle phase 6ml. Accordingly, a term (dQml / dt) that time-differentiates the first-order mechanical angle phase 61 arises. However, as shown in Equation (49.3), this term is expressed by the mechanical-angle estimated angular velocity am. Further, in Equation (49.3), the current correlation value Id1 is replaced with the first-order d-axis current fluctuation component AId1.
[0161] When the above-described Equation (48.1) is applied to Equation (49.3) and the first-order d-axis current fluctuation component AId1 is differentiated by the first-order mechanical angle phase 0m1, Equation (49.4) is obtained. In this manner, the inductance voltage (p-Ld-Id1) corresponding to the first-order component of the d-axis current Id can be calculated using the mechanical-angle estimated angular velocity am, the d-axis inductance Ld, the amplitude |AId1|, and the reference phase ^d1. Note that the first-order mechanical angle phase 0m1 described in Equation (49.4) is a variable that changes with the rotation of the motor M. Therefore, by inputting the instantaneous value of the first-order mechanical angle phase 0m1 into Equation (49.4), the value of the inductance voltage (p-Ld-Id1) at an arbitrary timing is calculated.
[0162] The inductance voltage (p-Ld-Iq1) corresponding to the first-order component of the q-axis current Iq can also be calculated in the same manner as the abovedescribed method. p-Ld-Iq1 is shown in Equation (50). (Math. 50) P • Ld • Iqi = • Ld ■ AIql I • sin 0ml + cpql + -(50)
[0163] Further, the inductance voltage (p-Ld-Id2) corresponding to the second-order component of the d- axis current Id and the inductance voltage (p-Ld-Iq2) corresponding to the second-order component of the q- axis current Iq can also be calculated in the same manner. p^Ld^Id2 is shown in Equation (51), and p^Ld^Iq2 is shown in Equation (52). (Math. 51) p • Ld • Id2 = 2 • wm ■ Ld • IAId21 • sin 0m2 + <pd2 + --(51) (Math. 52) P ‘ Ld ' Iq2 — 2 • GJm ’ Ld ■ | AIq2 | * SIB , 0m2 + (pq2 + --(52)
[0164] Note that, in the process of deriving the second-order component of the inductance voltage, the time differential of the second-order mechanical angle phase 0m2 (d9m2 / dt) appears. The value of d0m2 / dt is twice the time differential of the first-order mechanical angle phase 0m1 as shown in Equation (53), and becomes 2wm. (Math. 53)
[0165] In this manner, the inductance voltage calculator 36 calculates the inductance voltage on the basis of the differential value of the current fluctuation component for each of two or more current fluctuation components having mutually different frequencies. In the present embodiment, for example, the first-order inductance voltage and the second-order inductance voltage are calculated for the d-axis current Id (or the q-axis current Iq), and both of them are induced voltages generated in accordance with the current fluctuation of the d-axis current Id (or the q-axis current Iq).
[0166] The induced voltage generated in accordance with the current fluctuation of the d-axis current Id (or the q-axis current Iq) can be calculated as a voltage obtained by adding the first-order inductance voltage and the second-order inductance voltage. Equation (54) is the inductance voltage p-Ld-Id due to the fluctuation component of the d-axis current Id, and Equation (55) is the inductance voltage p-Ld-Iq due to the fluctuation component of the q-axis current Iq. (Math. 54) P ' Lj ■ Id = p ■ Ld • Iji + p • Ld • Id2 "-(54) (Math. 55) P • Ld ■ Iq = P ■ Ld • lql + p ■ Ld ■ Iq2 -(55)
[0167] In this manner, the inductance voltage calculator 36 calculates a combined inductance voltage (p-Ld-Id and p-Ld-Iq) obtained by summing the inductance voltages for the respective two or more current fluctuation components having mutually different frequencies. Accordingly, it becomes possible to reflect not only the first-order current fluctuation but also the induced voltage due to the higher-order current fluctuation, and the calculation accuracy of the inductance voltage is improved. This inductance voltage is used for the calculation of the axis error △e.
[0168] For example, the inductance voltage p-Ld-Id generated by the d-axis current fluctuation is calculated by inputting the instantaneous values of the first and second mechanical angle phases (em1 and em2) into Equation (49.4) and Equation (51), and adding those values in accordance with Equation (54). Similarly, the inductance voltage p-Ld-Iq generated by the q-axis current fluctuation is calculated by inputting the instantaneous values of the first and second mechanical angle phases (em1 and em2) into Equation (50) and Equation (52), and adding those values in accordance with Equation (54). Each calculated inductance voltage is output to the axis error calculator 30.
[0169] <Operation of Axis Error Calculator> The axis error calculator 30 calculates the axis error △e in accordance with the axis error calculation equation in the transient model shown in Equation (41). Accordingly, it becomes possible to calculate the axis error △e with high accuracy by taking into account the inductance voltage (p-term voltage) accompanying the periodic current fluctuation of the d-axis current Id and the q-axis current Iq generated in the torque control or the like.
[0170] For example, for the terms other than the inductance voltage (p-term voltage), the d-axis voltage command value Vd* and the q-axis voltage command value Vq* are used as Vd and Vq, and the d-axis current Id and the q-axis current Iq, which are detection values of the motor current, are used as Id and Iq. Further, the inductance voltage p-Ld-Id generated by the d-axis current fluctuation and the inductance voltage p^Ld-Iq generated by the q-axis current fluctuation output from the inductance voltage calculator 36 are used as the inductance voltage (p-term voltage).
[0171] Accordingly, the action of the induced voltage (inductance voltage) due to the current fluctuation component is reflected in the axis error △©. Further, the axis error A0 is used for the processing of estimating the rotor position (the mechanical angle phase 0m and the electrical angle phase 0e). In this manner, in the motor control device 100, the rotor position of the motor M is estimated on the basis of the inductance voltage. Accordingly, it becomes possible to estimate the rotor position by taking into account the inductance voltage that is the induced voltage generated by the current fluctuation component, and it becomes possible to improve the estimation accuracy of the rotor position.
[0172] Further, in the present embodiment, the combined inductance voltage shown in the above-described Equation (54) and Equation (55) is used as the inductance voltage. That is, the rotor position is estimated on the basis of the combined inductance voltage. Accordingly, it becomes possible to reflect the influence of the induced voltage due to, for example, frequency components other than the frequency of the load torque, and it becomes possible to further improve the estimation accuracy of the rotor position.
[0173] <Operation Results with Steady-State Model and Transient Model> In the following, with the motor control using the steady-state model shown in Equation (40) as a comparative example, the operation result of the motor control using the transient model according to the present embodiment shown in Equation (41) will be compared.
[0174] Fig. 11 is a graph showing measurement data at the time of motor control by the steady-state model given as a comparative example and by the transient model according to the present embodiment. The horizontal axis of each graph shown in Fig. 11 is time t [msec]. Here, data when the motor control using the steady-state model is switched to the motor control using the transient model during the control of the motor M that operates a single rotary compressor is shown.
[0175] The switching timing from the steady-state model to the transient model was performed at t = 8000 msec. Further, each data was measured during the torque control that suppresses voltage fluctuation in the voltage saturation region (the torque control performed by the voltage saturation region voltage command value generator 14b). Further, in order to clearly show the oscillation or the like occurring in the vicinity of the current peak seen at the time of the motor control using the steady-state model, this measurement was performed in an overload state in which a load equal to or greater than the rated load is applied to the motor M. Note that, even in a normal operation state that is not the overload state, the oscillation or the like in the vicinity of the current peak occurs when the steady-state model is used.
[0176] The graph on the upper left side of Fig. 11 is a graph showing the mechanical angular velocity, in which the mechanical-angle estimated angular velocity am and the mechanical angular velocity command value am* of the motor M are plotted. The vertical axis of the graph is the rotation speed [rps (rotation per second)]. The mechanical angular velocity command value am* at the time of measurement was set to 35 rps without being changed before and after the switching timing.
[0177] The graph on the middle left side of Fig. 11 is a graph regarding the d-axis current and the q-axis current, in which the current command values (the d- axis current command value Id* and the q-axis current command value Iq*) and the current detection values (the d-axis current Id and the q-axis current Iq) are plotted. The vertical axis of the graph is the current value [A].
[0178] The graph on the lower left side of Fig. 11 is a graph regarding the d-axis voltage and the q-axis voltage, in which the voltage detection values (the d- axis voltage Vd and the q-axis voltage Vq) are plotted. The vertical axis of the graph is the voltage value [V].
[0179] The graph on the upper right side of Fig. 11 is a graph regarding the output voltage amplitude Va and the DC voltage Vdc. The vertical axis of the graph is the voltage value [V]. As the data of the output voltage amplitude Va and the DC voltage Vdc, data in the dq dimension is used. The output voltage amplitude Va in the dq dimension is expressed by the following Equation (56), using the d-axis voltage Vd and the q-axis voltage Vq. (Math. 56) Va=Jvd2+Vq2 -(56) Further, when the DC voltage Vdc in the dq dimension is denoted as Vdc_2^ and the DC voltage on the stationary coordinates (uvw dimension) is denoted as Vdc_3^, the relationship between Vdc_2^ and Vdc_3^ is expressed by the following Equation (57). (Math. 57) „ Vdc_3<p , Vdc_2cp ~ --(57)
[0180] The graph on the middle right side of Fig. 11 is a graph showing the axis error A0. The vertical axis of the graph is the angle [deg]. In the first half of the graph (t < 8000 msec), the axis error A0 was calculated in accordance with Equation (40). Further, in the second half of the graph (t h 8000 msec), the axis error A0 was calculated in accordance with Equation (41). Here, as the data of the axis error A0, data obtained by smoothing the calculated values from the respective equations using an LPF (low-pass filter) having a time constant of 1 msec is plotted.
[0181] The graph on the lower right side of Fig. 11 is a graph showing power consumption Pinv of the inverter (IPM 25). The vertical axis of the graph is the electric power [W]. The power consumption Pinv is expressed by the following Equation (58), using the d- axis voltage Vd and the q-axis voltage Vq, and the d- axis current Id and the q-axis current Iq. (Math. 58) Pinv = Vd ‘ Id "P W[ ' Iq ---(58) Here, as the data of Pinv, data obtained by smoothing the calculated value from Equation (58) using an LPF having a time constant of 1000 msec is plotted.
[0182] Fig. 12 is a graph showing measurement data at the time of motor control by the steady-state model given as a comparative example. Fig. 12 shows measurement data in a period (0 msec < t < 100 msec) before the switching timing t = 8000 msec, out of the data shown in Fig. 11. The arrangement of each graph is the same as in Fig. 11.
[0183] As described above, the load torque of the single rotary compressor fluctuates periodically at the mechanical angle period. In this measurement, the torque control was performed in order to suppress the fluctuation of the rotation speed caused by such a fluctuation of the load torque. Accordingly, the amplitude (fluctuation width) of the mechanical-angle estimated angular velocity am can be suppressed as compared with the case where the torque control is not performed.
[0184] For example, in the graph on the upper left side of Fig. 12, the mechanical-angle estimated angular velocity am fluctuates periodically. The period of this fluctuation is similar to the mechanical angle period, and it is conceivable that the periodic fluctuation of the mechanical-angle estimated angular velocity am is generated because the load torque of the single rotary compressor fluctuates periodically. In this measurement, by performing the torque control, the fluctuation width of the mechanical-angle estimated angular velocity am excluding the harmonic components is suppressed to approximately ±4 rps with respect to the mechanical angular velocity command value am*. Note that, in a case where the torque control is not performed, the fluctuation width of the mechanicalangle estimated angular velocity am becomes larger.
[0185] In the torque control, the d-axis current command value Id* and the q-axis current command value Iq* are adjusted so as to suppress the fluctuation of the rotation speed of the motor M (the mechanical-angle estimated angular velocity am). As a result, as shown in the graph on the middle left side of Fig. 12, both the d-axis current command value Id* and the q-axis current command value Iq* (dotted-line graphs) fluctuate at the mechanical angle period.
[0186] Further, this measurement was performed in the voltage saturation region. In this case, the abovedescribed voltage saturation region voltage command value generator 14b operates, and the d-axis current command value Id* and the q-axis current command value Iq* are adjusted such that the output voltage amplitude Va becomes equal to or less than the DC voltage Vdc. For example, under the conditions of this measurement, as shown in the graph, the d-axis current command value Id* was adjusted to fluctuate with a width similar to that of the q-axis current command Iq* that causes the motor M to generate torque. Accordingly, as shown in the graph on the lower left side of Fig. 12, the d-axis voltage Vd also fluctuated relatively greatly.
[0187] In the torque control that suppresses the fluctuation of the output voltage amplitude Va by fluctuating the d-axis voltage Vd (the d-axis current command value Id*) in this manner, when the axis error △0 is estimated using the steady-state model shown in Equation (40), oscillation is seen in the vicinity of the current peak. For example, in the graph on the middle left side of Fig. 12, it can be seen that the q-axis current Iq, which is the detection value, oscillates in the vicinity of the current peak as compared with the q-axis current command value Iq*. Similarly, oscillation also occurs in the d-axis current Id, and a deviation from the waveform of the d- axis current command value Id* is also seen.
[0188] Fig. 13 is a graph showing measurement data at the time of motor control by the transient model according to the present embodiment. Fig. 13 shows measurement data in a period (15000 msec < t < 15100 msec) after the switching timing t = 8000 msec, out of the data shown in Fig. 11. The arrangement of each graph is the same as in Fig. 11.
[0189] As shown in the graph on the middle left side of Fig. 13, it can be seen that, in a case where the motor control by the transient model is performed, the oscillation in the vicinity of the current peak of the q-axis current Iq is reduced as compared with the case where the steady-state model is used (the graph on the middle left side of Fig. 12). Further, with respect to the d-axis current as well, the distortion of the waveform accompanying the oscillation is eliminated, and the deviation of the waveform from the d-axis current command value Id* becomes smaller.
[0190] Further, as shown in the graph on the lower left side of Fig. 13, since the oscillation in the vicinity of the current peak of the q-axis current Iq is reduced, the fine vibration of the q-axis voltage Vq in the vicinity of the current peak is also suppressed. Further, the d-axis voltage Vd fluctuates in the same manner as in the case where the steady-state model is used, and it can be seen that the torque control in the voltage saturation region is appropriately maintained.
[0191] It is conceivable that the oscillation in the vicinity of the current peak is suppressed in this manner because the estimation accuracy of the axis error AS is improved by using the transient model of Equation (41). For example, looking at the graph on the middle right side of Fig. 13, the change width of the value of the axis error AS calculated using the transient model is smaller than in the case where the steady-state model is used (the graph on the middle right side of Fig. 12). For example, the depth of a valley-shaped peak generated at the mechanical angle period and the fluctuation width of the fluctuation component having a frequency higher than the mechanical angle period are both suppressed. In this manner, by using the transient model, it becomes possible to estimate the axis error AS stably.
[0192] Further, as shown in the graph on the upper left side of Fig. 13, also in the case where the transient model is used, the periodic fluctuation of the mechanical-angle estimated speed um is suppressed to a level equivalent to that in the case where the steady state model is used (the graph on the upper left side of Fig. 12). Further, the fluctuation component having a frequency higher than the mechanical angle period is suppressed, and it can be seen that the rotation speed can be controlled stably.
[0193] Furthermore, by suppressing the oscillation in the vicinity of the current peak, it becomes possible to reduce the power consumption. For example, looking at the graph on the lower right side of Fig. 11, the power consumption Pinv decreased at the boundary of the switching timing, and was finally stabilized at a constant level. In this manner, it can also be seen from the behavior of the power consumption Pinv that the motor M can be controlled stably.
[0194] As described above, in the motor control device 100 according to the present embodiment, the rotor position of the motor M is estimated on the basis of the current fluctuation components (the d-axis current fluctuation component Aid and the q-axis current fluctuation component Alq) that are the periodic fluctuation components included in the motor current (the d-axis current Id and the q-axis current Iq). Accordingly, it becomes possible to estimate the rotor position with high accuracy even in a case where the motor current (the d-axis current Id and the q-axis current Iq) fluctuates periodically.
[0195] In the present embodiment, the axis error calculation equation of the transient model shown in Equation (41) is used for the processing of estimating the axis error AS. Equation (41) is an equation for calculating the axis error AS by taking into account the inductance voltage generated by the periodic current fluctuation component. By introducing the inductance voltage, it becomes possible to reduce the model error of the extended induced voltage model constructed as the steady-state model shown in Equation (40), in a case where the motor current fluctuates periodically. Accordingly, it becomes possible to improve the estimation accuracy of the rotor position.
[0196] By such an action, for example, under the torque control in which the motor current fluctuates periodically, it becomes possible to suppress the oscillation phenomenon in the vicinity of the current peak. Accordingly, it becomes possible to reduce the power consumption of the motor M. Further, by suppressing the oscillation phenomenon, the estimated value of the axis error A0 becomes stable, and it becomes possible to estimate the rotor position stably. As a result, it becomes possible to realize stable motor control.
[0197] Further, in the present embodiment, focusing on the periodicity of the current fluctuation under the torque control, the current fluctuation component is extracted by performing Fourier series expansion on the motor current (calculating the Fourier coefficients of the motor current). By differentiating this current fluctuation component, the current differential value that becomes the inductance voltage (p-term voltage) is calculated. For example, in a method of generating the current differential value from the current change detected for each control period without using the Fourier coefficients, the current differential value is not stable depending on the current noise, and there is a possibility that the control becomes unstable. On the other hand, in the present embodiment, by using the Fourier coefficients, it becomes possible to calculate the current differential value stably, and it becomes possible to appropriately suppress the model error corresponding to the inductance voltage.
[0198] Further, in the present embodiment, in addition to the first-order current fluctuation component that fluctuates at the same period as that of the load torque, the second-order current fluctuation component that fluctuates at a period twice that of the load torque is extracted as the current fluctuation component. Accordingly, it becomes possible to estimate the axis error A9 with high accuracy by taking into account not only the first-order inductance voltage but also the second-order inductance voltage. Further, by limiting the order of the current fluctuation component to be extracted to 2, it becomes possible to improve the estimation accuracy of the axis error A0 without unnecessarily increasing the computation load.
[0199] <Other Embodiments> The present invention is not limited to the embodiments described above, and various other embodiments can be realized.
[0200] <Switching of Axis Error Calculation Method> In the following, a configuration of switching the calculation method of the axis error A0 will be described.
[0201] In the embodiment described above, the method of calculating the axis error A0 from the axis error calculation equation of the transient model shown in Equation (41) regardless of whether the control region of the motor is the normal control region or the voltage saturation region has been described. Without being limited to this, the calculation method of the axis error A0 may be switched between the normal control region and the voltage saturation region.
[0202] For example, in the motor control device 100 shown in Fig. 1, the control switching determination section 15 determined which of the normal control region and the voltage saturation region the current control region is. Using this determination result, the equation used for calculating the axis error A0 in the axis error calculator 30 may be switched. In such a configuration, in a case where it is determined to be the normal control region, the axis error A0 is calculated using Equation (40). In the normal control region, unlike the voltage saturation region, it is not necessary to limit the output voltage amplitude, and therefore, for example, the fluctuation amount of the d-axis current command value Id* is also small, and the periodic fluctuation component of the d-axis current Id is also small. For this reason, even in a case where Equation (40) is used, the axis error A0 can be estimated with sufficient accuracy.
[0203] Meanwhile, in a case where it is determined to be the voltage saturation region, the axis error A0 is calculated using Equation (41). That is, in a case where the control region of the motor is the voltage saturation region, the rotor position may be estimated on the basis of the current fluctuation component. For example, in the voltage saturation region, due to the operation of the above-described voltage saturation region voltage command value generator 14b, the fluctuation amount of the d-axis current command value Id* increases in addition to the q-axis current command value Iq*, and the fluctuation amount of the d-axis current Id becomes large together with the q-axis voltage Iq. For this reason, the action of the inductance voltage accompanying the periodic current fluctuation cannot be ignored. In such a case, for example, by using the transient model of Equation (41), the rotor position can be estimated with higher accuracy as compared with the case where the steady state model of Equation (40) is used.
[0204] Further, in the embodiment described above, the case where the torque control is performed in order to suppress the fluctuation of the rotation speed due to the load torque applied to the motor has been described. In the motor control device 100 shown in Fig. 1, in a case where the fluctuation torque command value AT output from the correction torque generator 34 is not 0 (AT / 0), the torque control is performed. Note that, in the case of the fluctuation torque command value AT = 0, speed control for controlling the rotation speed such that the mechanical angular velocity command value am* is realized is performed.
[0205] For example, in a case where the fluctuation of the rotation speed is allowable (for example, in a case where the fluctuation of the rotation speed is sufficiently small at the time of high-speed rotation, or the like), it is not necessarily required to perform the torque control. In this case, for example, the speed control is executed with the fluctuation torque command value AT = 0. In this manner, the motor control device may be configured to be capable of switching ON and OFF of the torque control. In such a configuration, in a case where the torque control is set to OFF, the axis error AS is calculated using Equation (40). In a case where the torque control is not performed, for example, the fluctuation amounts of the q-axis current command value Iq* and the d-axis current command value Id* also become smaller than in the case where the torque control is performed. For this reason, even in a case where Equation (40) is used, the axis error AS can be estimated with sufficient accuracy.
[0206] Meanwhile, in a case where the torque control is set to ON, the axis error AS is calculated using Equation (41). That is, in a case where the torque control for the motor is performed, the rotor position may be estimated on the basis of the current fluctuation component. For example, at the time of the torque control, the q-axis current command value Iq* and the d-axis current command value Id* are also fluctuated periodically in accordance with the periodic fluctuation of the load torque, and as a result, the q- axis voltage Iq and the d-axis current Id fluctuate periodically. In other words, the periodic fluctuation component is liable to be generated in the motor current. In such a case, for example, by using the transient model of Equation (41), the rotor position can be estimated with higher accuracy as compared with the case where the steady-state model of Equation (40) is used.
[0207] In the embodiment described above, the case of operating mainly a single rotary compressor has been described as an example. In this case, since the load torque fluctuates at a period similar to the mechanical angle period, the first-order current fluctuation component that fluctuates at a period similar to the mechanical angle period and the second-order current fluctuation component having a period twice that thereof were used for the motor control. The kind of compressor to which the present invention is applicable is not limited.
[0208] For example, a twin rotary compressor or the like may be used. In this case, the load torque fluctuates at a period twice the mechanical angle period. Therefore, as the current fluctuation component, a second-order current fluctuation component that fluctuates at a period twice the mechanical angle period, a fourth-order current fluctuation component that fluctuates at a period four times thereof, or the like may be extracted. In this manner, by extracting the current fluctuation component corresponding to the order of the torque control executed by the motor control device and using the current differential value thereof, it becomes possible to reliably improve the estimation accuracy of the axis error AS.
[0209] In the above, the method of calculating the inductance voltage from the current fluctuation component of the motor current and calculating the axis error A0 from Equation (41) using the inductance voltage has been described. For example, a method of adjusting the axis error A0 using the current fluctuation component without calculating the inductance voltage may be used. For example, an adjustment amount corresponding to the amplitude or phase of the current fluctuation component may be determined in advance by an experiment or the like, and used for the motor control. In this case, the amplitude or phase of the current fluctuation component is calculated, and the axis error A0 is sequentially adjusted using the adjustment amount corresponding to the calculation result. Further, for example, an adjustment amount corresponding to the differential value of the current fluctuation component may be used. In addition, the method of estimating the rotor position on the basis of the current fluctuation component is not limited.
[0210] Of the characteristic portions according to the present technology described above, it is also possible to combine at least two characteristic portions. That is, the various characteristic portions described in the respective embodiments may be arbitrarily combined without distinction of the respective embodiments. Further, the various effects described above are merely examples and are not limited, and other effects may be exerted. Reference Signs List 5
[0211] M motor 25 IPM 28 3^ current calculator 29 u,v,w / d-q converter 35 current fluctuation extractor 10 36 inductance voltage calculator 30 axis error calculator 31 PLL controller 32 position estimator 33 1 / Pn processor 15 100 motor control device
Claims
1. A motor control device, comprising:a current detection section that detects a motorcurrent flowing through a motor;a current fluctuation extraction section thatextracts a current fluctuation component that is aperiodic fluctuation component of the motor current;anda position estimation section that estimates a rotor position of the motor on a basis of the currentfluctuation component.
2. The motor control device according to claim1, further comprising:an inductance voltage calculation section that calculates an inductance voltage that is an inducedvoltage generated by the current fluctuation component, on a basis of an inductance of the motor and adifferential value of the current fluctuation component,the position estimation section estimating therotor position on a basis of the inductance voltage.
3. The motor control device according to claim 2, whereinthe current fluctuation extraction section extracts two or more current fluctuation componentshaving mutually different periods,the inductance voltage calculation sectioncalculates the inductance voltage on a basis of adifferential value of the current fluctuation componentfor each of the two or more current fluctuationcomponents, and calculates a combined inductance voltage obtained by summing the inductance voltages forthe respective two or more current fluctuation components, andthe position estimation section estimates therotor position on a basis of the combined inductancevoltage.
4. The motor control device according to claim2, whereinthe current fluctuation extraction section extracts the current fluctuation component by performing Fourier series expansion on the motor current.
5. The motor control device according to claim 3, whereinthe current fluctuation extraction section extracts a first-order current fluctuation component and a second-order current fluctuation component of the motor current by performing Fourier series expansion onthe motor current.
6. The motor control device according to claim1, whereinthe position estimation section estimates, when torque control for the motor is performed, the rotor position on a basis of the current fluctuationcomponent.5
7. The motor control device according to claim1, whereinthe position estimation section estimates, when acontrol region of the motor is a voltage saturationregion, the rotor position on a basis of the current10 fluctuation component.