Motor control device

By designing a motor control device, using a voltage command value generator and a control switching judgment unit, the voltage vector angle is optimized to improve the vibration-control effect of the motor, and the problem of insufficient vibration-control effect of the voltage saturation region torque control in the prior art is solved.

CN114982123BActive Publication Date: 2025-04-08FUJITSU GENERAL LTD
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
CN202080093047.0
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2020-01-31
Filing Date
2020-12-09
Publication Date
2025-04-08
Estimated Expiration
2040-12-09

AI Technical Summary

Technical Problem

In the torque control of the voltage saturation zone, it is necessary to adjust the phase of the voltage vector angle fluctuation through debugging, and when the specifications and load conditions of the inverter and motor change, it is difficult to maintain the optimal output torque, resulting in insufficient vibration control effect.

Method used

A motor control device is designed, including a voltage command value generator and a control switching judgment unit. By determining whether the control area of ​​the motor is in the voltage saturation area, a voltage command value is generated based on the torque command value, the critical value of the maximum voltage and the voltage vector angle of the output voltage to optimize the output torque.

Benefits of technology

In the torque control of the voltage saturation zone, the vibration-making effect of the motor is improved, and the reduction of the vibration-making effect caused by changes in specifications and load conditions is avoided.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114982123B_ABST
    Figure CN114982123B_ABST
Patent Text Reader

Abstract

A motor control device capable of improving the vibration damping effect of a motor. In the motor control device (100), a control switching judgment unit (15) judges whether a control area of ​​a motor (M) is in a voltage saturation area, and a voltage command value generator (14) generates a voltage command value of the motor based on a speed command value and the speed of the motor. When the control switching judgment unit (15) judges that the control area of ​​the motor (M) is in the voltage saturation area, a voltage vector angle of an output voltage applied to the motor is obtained from a total torque command value and a critical value of a maximum voltage that can be output to the motor (M), and a voltage command value is generated based on the voltage vector angle.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to a motor control device. Background Art

[0002] In a compressor used in an air conditioner, the load torque fluctuates periodically during one rotation of the rotor of the motor driving the compressor. The periodic load torque fluctuation is caused by the pressure change of the refrigerant gas between the suction, compression, and discharge processes, and is the main cause of the motor vibration caused by the fluctuation of the motor rotation speed (hereinafter sometimes referred to as "speed fluctuation"). When using such a compressor that generates load torque fluctuation, "torque control (periodic external disturbance suppression control)" is performed to suppress the fluctuation of the motor rotation speed.

[0003] Generally, the motor vibrates significantly in the low speed area (e.g., the normal control area where the motor maximum torque current ratio is controlled). However, depending on the motor specifications and load conditions, vibration may also occur in the high speed area (e.g., the voltage saturation area where weak magnetic field control is performed), and the peak current of the motor may increase due to the vibration. In addition, if the peak current of the motor increases, the protection function of the inverter may be activated to prevent the motor from demagnetizing, causing the motor to stop.

[0004] Therefore, as a torque control in the voltage saturation zone for weak magnetic field control, the following technology has been proposed: torque control in the voltage saturation zone is performed by limiting the output voltage to below the DC voltage that the inverter can output and causing the voltage vector angle representing the phase of the output voltage to fluctuate synchronously with the speed fluctuation.

[0005] Patent Document 1: Japanese Patent Application Publication No. 2017-158414

[0006] Patent Document 2: Japanese Patent Application Publication No. 2017-158415 Summary of the invention

[0007] However, when the voltage vector angle of the output voltage is fluctuated with respect to the speed fluctuation to perform torque control in the voltage saturation region, it has been time-consuming to adjust the phase of the voltage vector angle fluctuation by debugging. Therefore, even if the vibration suppression effect is obtained by debugging the phase of the voltage vector angle fluctuation under certain conditions, if the specifications of the inverter and the motor and the load conditions change, the voltage vector angle fluctuation for generating the optimal output torque may not be obtained, and the vibration suppression effect may not be fully exerted.

[0008] Therefore, the present invention proposes a technology that can improve the vibration damping effect of a motor.

[0009] The motor control device of the present invention includes: a voltage command value generator and a control switching judgment unit. The control switching judgment unit judges whether the control area of ​​the motor is in the voltage saturation area. The voltage command value generator generates a voltage command value of the motor based on a speed command value and a torque command value based on the motor speed, and generates a voltage command value based on the torque command value, a critical value of the maximum voltage that can be output to the motor, and a voltage vector angle applied to the output voltage of the motor when the control switching judgment unit judges that the control area is in the voltage saturation area.

[0010] According to the present invention, it is possible to improve the vibration damping effect of the electric motor. BRIEF DESCRIPTION OF THE DRAWINGS

[0011] Figure 1A It is a diagram for explaining an operation example of the motor control device according to the first embodiment of the present invention.

[0012] Figure 1B It is a diagram for explaining an operation example of the motor control device according to the first embodiment of the present invention.

[0013] Figure 2 It is a diagram showing a configuration example of a motor control device according to the first embodiment of the present invention.

[0014] Figure 3 It is a diagram showing a configuration example of a control switching determination unit according to the first embodiment of the present invention.

[0015] Figure 4 It is a diagram showing a configuration example of a correction torque generator according to the first embodiment of the present invention.

[0016] Figure 5 It is a diagram showing a configuration example of a voltage saturation region voltage command value generator according to the first embodiment of the present invention.

[0017] Figure 6 It is a diagram showing a configuration example of an output voltage limit command value generator according to the first embodiment of the present invention.

[0018] Fig. 7A This is a diagram for explaining an operation example of the current command value calculator according to the first embodiment of the present invention.

[0019] Figure 7B This is a diagram for explaining an operation example of the current command value calculator according to the first embodiment of the present invention.

[0020] Figure 8 This is a diagram for explaining an operation example of the voltage vector angle calculator according to the first embodiment of the present invention.

[0021] Fig. 9 This is a diagram for explaining an operation example of the MTPI voltage limiter processor according to the first embodiment of the present invention.

[0022] Fig.10 This is a diagram showing an example of an output voltage waveform according to the first embodiment of the present invention.

[0023] Fig.11 It is a diagram showing a configuration example of a normal control area voltage command value generator according to the first embodiment of the present invention.

[0024] Fig.12 It is a diagram showing a configuration example of a current error correction value generator according to the first embodiment of the present invention.

[0025] Fig.13 It is a diagram showing a configuration example of a voltage saturation region voltage command value generator according to a second embodiment of the present invention. DETAILED DESCRIPTION

[0026] Hereinafter, embodiments of the present invention will be described based on the drawings. In the following embodiments, the same components are denoted by the same reference numerals.

[0027] In the present invention, a motor control device such as an air conditioner or a cryogenic storage device is used as an example for explanation, and the motor control device controls the torque of a permanent magnet synchronous motor (PMSM) driving a compressor whose load torque fluctuates periodically by position sensorless vector control. However, the disclosed technology can also be widely applied to a motor control device that controls the torque of a motor driving a load whose load torque fluctuates periodically.

[0028] Example 1

[0029] Motor control device operation

[0030] Figure 1A and Figure 1B It is a diagram for explaining an operation example of the motor control device according to the first embodiment of the present invention.

[0031] Figure 1A and Figure 1B The constant induced voltage ellipse ( Figure 1A and Figure 1B ) is the current vector trajectory equal to the induced voltage Vo of the motor. As the electrical angle estimated angular velocity ωe increases, the diameter of the constant induced voltage ellipse decreases. Figure 1A The constant induced voltage ellipse shown represents the current vector trajectory when the electrical angle estimated angular velocity ωe is fixed. Figure 1B The constant induced voltage ellipse shown represents the current vector locus when the electrical angle estimated angular velocity ωe fluctuates due to load torque fluctuation. Figure 1BThe constant induced voltage ellipse when the electrical angle estimated angular velocity ωe is the maximum value, the constant induced voltage ellipse when the electrical angle estimated angular velocity ωe is the minimum value, and the constant induced voltage ellipse when the electrical angle estimated angular velocity ωe is the average value are shown.

[0032] When torque control is performed in the voltage saturation region of the motor during field weakening control, such as Figure 1B As shown, the motor control device of the present invention calculates the q-axis current command value Iq* and the d-axis current command value Id* based on the intersection of the constant torque curve T* (=To*±ΔT) fluctuating by ±ΔT according to torque control and the fluctuating constant induced voltage ellipse. For example, the motor control device of the present invention calculates the d-axis current command value Id* and the q-axis current command value Iq* based on the intersection of the constant torque curve and the constant induced voltage ellipse, wherein the constant torque curve is a locus of current that makes the total torque command value T* obtained by adding the average torque command value To* and the fluctuating torque command value ΔT as the correction torque constant; and the constant induced voltage ellipse is a locus of current that makes the induced voltage command value V0* and the electrical angle estimated angular velocity ωe constant for making the output voltage amplitude Va (amplitude of the voltage command value) the required amplitude. In addition, the constant induced voltage ellipse and the constant torque curve are not uniquely determined by motor parameters such as reactance, but change all the time according to the operating state of the motor.

[0033] Structure of motor control device

[0034] Figure 2 It is a diagram showing a configuration example of a motor control device according to the first embodiment of the present invention. Figure 2 In the embodiment, the motor control device 100 includes: subtractors 11, 38, a speed controller 12, an adder 13, a voltage command value generator 14, a control switching determination unit 15, a dq / 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 the motor M. As an example of the motor M, a PMSM can be cited.

[0035] In addition, the motor control device 100 includes a shunt resistor 26, current sensors 27a and 27b, and Current calculator 28. In addition, the motor control device 100 only needs to include either the shunt resistor 26 or the current sensors 27a and 27b.

[0036] Furthermore, the motor control device 100 includes a u, v, w / dq converter 29 , 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 .

[0037] 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, and switches SW1 and SW2. The switch SW1 has contact points 14c-1, 14c-2, and 14c-3. The switch SW2 has contact points 14c-4, 14c-5, and 14c-6.

[0038] The subtractor 11 calculates the angular velocity error Δω by subtracting the current estimated angular velocity, i.e., the mechanical angular estimated angular velocity ωm, output by the 1 / Pn processor 33 from the mechanical angular velocity command value ωm* input into the motor control device 100 from the outside (e.g., the upper controller), and outputs the calculated angular velocity error Δω to the speed controller 12.

[0039] The speed controller 12 generates an average torque command value To* that makes the angular velocity error Δω input from the subtractor 11 close to zero, and outputs the generated average torque command value To* to the adder 13 .

[0040] The adder 13 adds the average torque command value To* outputted from the speed controller 12 and the fluctuation torque command value ΔT outputted from the correction torque generator 34 to calculate a total torque command value T*, and outputs the calculated total torque command value T* to the voltage command value generator 14 .

[0041] The voltage command value generator 14 generates a d-axis voltage command value Vd* and a q-axis voltage command value Vq* based on the total torque command value T* output by the adder 13 in the normal control area and the voltage saturation area, and outputs the generated d-axis voltage command value Vd* and q-axis voltage command value Vq*. The voltage saturation area is an area where the output voltage amplitude Va is saturated in the high speed area of ​​the motor M and weak magnetic control is performed. The normal control area is an area outside the voltage saturation area, and is an area where the output voltage is made variable to control the motor M. In the normal control area, maximum torque current ratio control and the like are performed.

[0042] When the control switching judgment unit 15 outputs the control signal CONTROL_TYPE: A (normal control), the voltage command value generator 14 connects the contact point 14c-1 and the contact point 14c-3 of the switch SW1, and simultaneously connects the contact point 14c-4 and the contact point 14c-6 of the switch SW2, thereby outputting the d-axis voltage command value Vd* and the q-axis voltage command value Vq* generated by the normal control area voltage command value generator 14a to the dq / u, v, w converter 23. On the other hand, when the control switching judgment unit 15 outputs the control signal CONTROL_TYPE: B (voltage saturation control), the voltage command value generator 14 connects the contact point 14c-2 and the contact point 14c-3 of the switch SW1, and at the same time connects the contact point 14c-5 and the contact point 14c-6 of the switch SW2, thereby outputting the d-axis voltage command value Vd* and the q-axis voltage command value Vq* generated by the voltage saturation zone voltage command value generator 14b to the dq / u, v, w converter 23.

[0043] The control switching judgment unit 15 judges whether the current control area of ​​the motor M is the normal control area or the voltage saturation area based on the output voltage threshold value Vdq_limit, the d-axis voltage command value Vd*, and the q-axis voltage command value Vq*. When the control switching judgment unit 15 judges that the current control area of ​​the motor M is the normal control area, the control signal CONTROL_TYPE: A (normal control) is output to the voltage command value generator 14; when the control switching judgment unit 15 judges that the current control area of ​​the motor M is the voltage saturation area, the control signal CONTROL_TYPE: B (voltage saturation control) is output to the voltage command value generator 14. The output voltage threshold value Vdq_limit is a voltage value in the control system, i.e., the dq rotating coordinate system, converted from the DC voltage Vdc supplied to the IPM25 by the outside of the IPM25 (e.g., a power converter not shown).

[0044] The dq / u, v, w converter 23 converts the two-phase d-axis voltage command value Vd* and the q-axis voltage command value Vq* output by the voltage command value generator 14 into the three-phase U-phase output voltage command value Vu*, V-phase output voltage command value Vv*, and W-phase output voltage command value Vw* based on the current rotor position, i.e., the electrical angle phase (dq-axis phase) θe, output by the position estimator 32. Furthermore, 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.

[0045] The PWM modulator 24 generates six-phase PWM signals based on 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 the PWM carrier signal, and outputs the generated six-phase PWM signals to the IPM 25 .

[0046] Based on the six-phase PWM signal output by the PWM modulator 24, IPM25 converts the DC voltage Vdc supplied from the outside of IPM25, thereby generating AC voltages applied to the U phase, V phase and W phase of the motor M respectively, and applies each AC voltage to the U phase, V phase and W phase of the motor 10.

[0047] When the bus current is detected by a single shunt method using the shunt resistor 26, The current calculator 28 calculates the U-phase current value Iu, the V-phase current value Iv, and the W-phase current value Iw of the motor M from the six-phase PWM switching information output from the PWM modulator 24 and the detected bus current. Alternatively, when the U-phase current and the V-phase current are detected by the current sensors 27a and 27b, The current calculator 28 calculates the remaining W-phase current value Iw based on Kirchhoff's law of "Iu+Iv+Iw=0". The current calculator 28 outputs the calculated phase current values ​​Iu, Iv, and Iw of the respective phases to the u, v, w / dq converter 29 .

[0048] The u, v, w / dq converter 29 converts the electrical angle phase θe indicating the current rotor position output by the position estimator 32 into The three-phase U-phase current value Iu, V-phase current value Iv and W-phase current value Iw outputted from the current calculator 28 are converted into two-phase d-axis current Id and q-axis current Iq. Furthermore, the u, v, w / dq converter 29 outputs the d-axis current Id and q-axis current Iq to the voltage command value generator 14 and the axis error calculator 30.

[0049] The axis error calculator 30 calculates the axis error Δθ (the difference between the estimated rotation axis and the actual rotation axis) using the d-axis voltage command value Vd* and the q-axis voltage command value Vq* output by the voltage command value generator 14 and the d-axis current Id and the q-axis current Iq output by the u, v, w / dq converter 29. The axis error calculator 30 outputs the calculated axis error Δθ to the PLL controller 31.

[0050] The PLL controller 31 calculates the current estimated angular velocity, ie, the electrical angle estimated angular velocity ωe, based on the axial error Δθ outputted from the axial error calculator 30 , and outputs the calculated electrical angle estimated angular velocity ωe to the position estimator 32 and the 1 / Pn processor 33 .

[0051] The position estimator 32 estimates the electrical angle phase θe and the mechanical angle phase θm based on the electrical angle estimated angular velocity ωe output by the PLL controller 31. The position estimator 32 outputs the estimated electrical angle phase θe to the dq / u, v, w converter 23 and the u, v, w / dq converter 29, and outputs the estimated mechanical angle phase θm to the voltage command value generator 14 and the correction torque generator 34.

[0052] The 1 / Pn processor 33 calculates the mechanical angle estimated angular velocity ωm by dividing the electrical angle estimated angular velocity ωe output by the PLL controller 31 by the number of pole pairs Pn of the motor M, and outputs the calculated mechanical angle estimated angular velocity ωm to the subtractors 11 and 38 .

[0053] The subtractor 38 calculates the mechanical angle estimated angular velocity fluctuation Δωm by subtracting the mechanical angle velocity command value ωm* from the mechanical angle estimated angular velocity ωm output by the 1 / Pn processor 33 , and outputs the calculated mechanical angle estimated angular velocity fluctuation Δωm to the correction torque generator 34 .

[0054] The correction torque generator 34 generates a ripple torque command value ΔT for suppressing the periodic speed fluctuation, i.e., the mechanical angle estimated angular velocity fluctuation Δωm, to be below the speed fluctuation allowable value |Δωm|* based on the speed fluctuation allowable value |Δωm|* that allows the vibration of the motor M to be within the allowable speed fluctuation range, the mechanical angle estimated angular velocity fluctuation Δωm output by the subtractor 38, and the mechanical angle phase θm output by the position estimator 32, and outputs the generated ripple torque command value ΔT to the adder 13. The speed fluctuation allowable value |Δωm|* is stored in the motor control device 100. The mechanical angle estimated angular velocity fluctuation (speed fluctuation) Δωm and the above-mentioned angular velocity error Δω differ only in positive and negative signs.

[0055] Structure of the control switching judgment unit

[0056] Figure 3 It is a diagram showing a configuration example of a control switching determination unit according to the first embodiment of the present invention. Figure 3 In the embodiment, the control switching determination unit 15 includes a voltage amplitude calculator 15a and a control switching determination unit 15b, and determines whether the current control region of the motor is a normal control region or a voltage saturation region in the following method.

[0057] The voltage amplitude calculator 15 a calculates the output voltage amplitude Va according to the equation (1) based on the d-axis voltage command value Vd* and the q-axis voltage command value Vq* outputted from the voltage command value generator 14 .

[0058]

[0059] The control switching determiner 15 b compares the peak value of the output voltage amplitude Va calculated by the voltage amplitude calculator 15 a with the output voltage threshold value Vdq_limit.

[0060] When the peak value of the output voltage amplitude Va is smaller than the output voltage critical value Vdq_limit, the control switching determiner 15 b determines that the current control area of ​​the motor M is the normal control area, and outputs the control signal CONTROL_TYPE: A to the voltage command value generator 14 .

[0061] On the other hand, when the peak value of the output voltage amplitude Va is greater than the output voltage threshold value Vdq_limit, the control switching determiner 15 b 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] Structure of the correction torque generator

[0063] Figure 4 It is a diagram showing a configuration example of a correction torque generator according to the first embodiment of the present invention. Figure 4 In the embodiment, the correction torque generator 34 includes a speed fluctuation component resolver 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 resolver 34f and a correction torque demodulator 34g.

[0064] The correction torque generator 34 adjusts the amplitude (correction torque amplitude |ΔT|) and phase of the fluctuating torque command value (correction torque) ΔT in each mechanical angle period so that the speed fluctuation amplitude |Δωm| is within the speed fluctuation allowable value |Δωm|*, wherein the speed fluctuation allowable value |Δωm|* is within a range where the vibration of the motor M does not become a problem in actual use.

[0065] The speed fluctuation component decomposer 34a decomposes the mechanical angle estimated angular velocity fluctuation Δωm into two Fourier coefficients ωsin (sin component) and ωcos (cos component) as the fundamental component of Δωm according to equations (2.1) and (2.2). By calculating the Fourier coefficients of the fundamental component of the mechanical angle estimated angular velocity fluctuation Δωm in each mechanical angle cycle, the harmonic components of the mechanical angle estimated angular velocity fluctuation Δωm can be excluded, thereby accurately extracting the fundamental component of the mechanical angle estimated angular velocity fluctuation Δωm. ωsin and ωcos are values ​​updated in each mechanical angle cycle.

[0066]

[0067]

[0068] The speed fluctuation amplitude calculator 34b calculates the speed fluctuation amplitude |Δωm| based on the Fourier coefficients ωsin and ωcos according to equation (3). Since ωsin and ωcos are updated values ​​every mechanical angle period, the speed fluctuation amplitude |Δωm| is also updated every mechanical angle period.

[0069]

[0070] The subtractor 34c calculates a speed fluctuation error |Δωm|err by subtracting the speed fluctuation allowable value |Δωm|* from the speed fluctuation amplitude |Δωm| output by the speed fluctuation amplitude calculator 34b. The speed fluctuation allowable value |Δωm|* is a value that defines the speed fluctuation amplitude |Δωm| that allows the vibration of the motor M to fall within the allowable range.

[0071] The correction torque amplitude calculator 34d adjusts the correction torque amplitude |ΔT| in each mechanical angle cycle according to the error between the speed fluctuation amplitude |Δωm| and the speed fluctuation allowable value |Δωm|*. For example, the correction torque amplitude calculator 34d multiplies the error between the speed fluctuation amplitude |Δωm| and the speed fluctuation allowable value |Δωm|*, that is, the speed fluctuation error |Δωm|err, by the correction gain k according to formula (4), and adds the multiplication result to |ΔT|_old, thereby calculating the correction torque amplitude |ΔT|. |ΔT|_old in formula (4) is the correction torque amplitude |ΔT| in the previous mechanical angle cycle. By appropriately setting the correction gain k, it is possible to suppress the critical fluctuation of the speed fluctuation |Δω| at the speed fluctuation allowable value |Δωm|*, or to suppress the vibration caused by the speed fluctuation |Δω| exceeding the speed fluctuation allowable value |Δωm|* due to severe load torque fluctuation.

[0072] |ΔT|=k·(|Δω m |-|Δω m | * )+|ΔT| _old …(14)

[0073] The speed fluctuation phase corrector 34e corrects the phase of the mechanical angle estimated angular velocity fluctuation Δωm obtained in each mechanical angle cycle. For example, the speed fluctuation phase corrector 34e multiplies the Fourier coefficients ωsin and ωcos by the correction gain k respectively according to equations (5.1) and (5.2), and adds their respective multiplication results to ωsin_i_old and ωcos_i_old. The ωsin_i_old in equation (5.1) is the ωsin_i in the previous mechanical angle cycle, and the ωcos_i_old in equation (5.2) is the ωcos_i in the previous mechanical angle cycle. Then, the speed fluctuation phase corrector 34e calculates the arctangent (Arctangent) of ωsin_i and ωcos_i as the speed fluctuation correction phase according to equation (5.3). The speed fluctuation correction phase It is a reference of the phase when performing torque control, and the phase that lags behind the reference by π / 2 is the phase of the ripple torque command value ΔT (correction torque phase).

[0074] ω sin_i =ω sin k+ω sin_i_old …(5.1)

[0075] ω cos_i =ω cos k+ω cos_i_old …(5.2)

[0076]

[0077] The quadrature component resolver 34f corrects the torque amplitude |ΔT| and the speed fluctuation correction phase based on the correction torque amplitude |ΔT| According to equations (6.1) and (6.2), the speed fluctuation correction phase is calculated This processing also has the effect of preventing divergence when the phase is corrected according to the calculation of equations (5.1) and (5.2).

[0078] ω sin_i =|ΔT|·cos(φ ωi )…(6.1)

[0079] ω cos_i =|ΔT|·sin(φ ωi )…(6.2)

[0080] The correction torque demodulator 34g corrects the phase based on the speed fluctuation The sin component (ωsin_i) and cos component (ωcos_i) of the ripple torque command value AT are calculated according to equations (7.1) and (7.2). The correction torque phase is delayed by π / 2, thereby generating an instantaneous value of the ripple torque command value ΔT at the mechanical angle phase θm.

[0081]

[0082] In addition, the correction torque demodulator 34g can also calculate the instantaneous value of the ripple torque command value ΔT according to equation (8) instead of equation (7.1) and equation (7.2).

[0083]

[0084] Then, the adder 13 adds the ripple torque command value ΔT to the average torque command value To* outputted from the speed controller 12 according to the equation (9), thereby calculating the total torque command value T*.

[0085] T*=T0*+ΔT…(9)

[0086] Structure of voltage command value generator in voltage saturation region

[0087] Figure 5 It is a diagram showing a configuration example of a voltage saturation region voltage command value generator according to the first embodiment of the present invention. Figure 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.

[0088] Figure 6 It is a diagram showing a configuration example of an output voltage limit command value generator according to the first embodiment of the present invention. Figure 6 In the embodiment, the output voltage limit instruction value generator 14b1 includes: an MTPI current instruction value calculator 14b1-1, an MTPI voltage instruction 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, 14b1-8, and an MTPI voltage limiting processor 14b1-7.

[0089] The output voltage limit command value generator 14b1 generates an output voltage limit command value Va* based on the total torque command value T*, the electrical angle estimated angular velocity ωe, the output voltage threshold value Vdq_limit, the d-axis current Id, the q-axis current Iq, and the mechanical angle phase θm. The 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 threshold value Vdq_limit so that the fluctuation phase of the output voltage is consistent with the fluctuation phase of the output voltage in the normal control area (MTPI control area).

[0090] exist Figure 6 In the figure, the MTPI current command value calculator 14b1-1 is used to calculate the MTPI estimated d-axis current command value Id_mtpi* and the MTPI estimated q-axis current command value Iq_mtpi*, which are the intersections of the constant torque curve and the MTPI curve (maximum torque current ratio control curve) where the total torque command value T* becomes a fixed current trajectory. The intersection of the constant torque curve and the MTPI curve can be calculated, for example, using the motor torque expression of formula (10) and the d-axis current expression on the MTPI curve when the q-axis current is known, that is, formula (11).

[0091] T=P n ·{Ψ a I q +(L d -L q )·I d I q}…(10)

[0092]

[0093] By removing the d-axis current Id from equations (10) and (11), the quartic equation for the q-axis current Iq can be obtained as shown in equation (12).

[0094]

[0095] As a solution to the fourth-order equation shown in formula (12), a solution can be derived by using, for example, Newton's method on the fourth-order equation shown in formula (12), and the solution is equivalent to the MTPI estimated 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.

[0096] The MTPI current command value calculator 14b1-1 calculates the MTPI estimated d-axis current command value Id_mtpi* based on the MTPI estimated q-axis current command value Iq_mtpi* as the solution of equation (12) according to the d-axis current expression of equation (11).

[0097] The MTPI voltage command value calculator 14b1-2 calculates the MTPI estimated d-axis voltage Vd_mtpi* and the MTPI estimated q-axis voltage Vq_mtpi* based on the MTPI estimated d-axis current command value Id_mtpi*, the MTPI estimated q-axis current command value Iq_mtpi* and the electrical angle estimated angular velocity ωe according to the PMSM voltage equation shown in equations (13.1) and (13.2). In addition, "p" in equations (13.1) and (13.2) is a differential operator.

[0098] V d_mtpi *=R·I d_mtpi *+p·L d I d -ω e ·L q I q_mtpi *…(13.1)

[0099] V q_mtpi *=R·I q_mtpi *+p·L q I q +ω e ·L d I d_mtpi *+ω c ·Ψ a …(13.2)

[0100] In addition, in equations (13.1) and (13.2), the voltage drops "p·Ld·Id" and "p·Lq·Iq" (p-term voltage) in the inductance accompanying the current change caused by torque control are taken into consideration. "Ld" represents the d-axis inductance of the motor M, and "Lq" represents the q-axis inductance of the motor M.

[0101] Here, the D-term voltage is expressed as the time differential of the current fluctuation. However, if the fluctuation amount of the detected current is directly used as the differential value, the MTPI estimated d-axis voltage Vd_mtpi* and the MTPI estimated q-axis voltage Vq_mtpi* will be sensitive to current noise. Therefore, the differential value is generated based on the current fundamental wave fluctuation, for example, as described below.

[0102] In order to explain the generation of the p-term voltage, first, the fluctuation components ΔIda and ΔIqa of the d-axis current Id and the q-axis current Iq are defined as shown in equations (14.1) and (14.2).

[0103] ΔI da =I da ·sin(θ m +φ d )…(14.1)

[0104] ΔIqa =I qa ·sin(θ m +φ q )…(14.2)

[0105] Among them, when the mechanical angle rotates once and the periodic fluctuation occurs, the "Ida" and Respectively represent the fluctuation amplitude and initial phase of ΔIda. The “Iqa” and They represent the fluctuation amplitude and initial phase of ΔIqa respectively. The "θm" contained in equations (14.1) and (14.2) represents the instantaneous value of the mechanical angle phase.

[0106] Therefore, the p-term voltage generated by the current fundamental wave fluctuation is as shown in equations (15.1) and (15.2). That is, by advancing the phase of the d-axis current fluctuation and the q-axis current fluctuation by π / 2 and multiplying the d-axis current fluctuation and the q-axis current fluctuation whose phases are advanced by π / 2 by the mechanical angle estimated angular velocity ωm, a differential value (p-term voltage) can be generated.

[0107]

[0108]

[0109] The MTPI voltage amplitude calculator 14b1-3 calculates the MTPI estimated output voltage Va_mtpi* based on the MTPI estimated d-axis voltage Vd_mtpi* and the MTPI estimated q-axis voltage Vq_mtpi* according to equation (16).

[0110]

[0111] The average output voltage generator 14b1-4 outputs an average output voltage command value Va0*, which is adjusted as follows, that is, the average values ​​of the d-axis current Id and the q-axis current Iq that fluctuate every time the rotor of the motor M rotates one circle are respectively reproduced to the MTPI curve (maximum torque current ratio control curve). For example, the average output voltage generator 14b1-4 calculates the d-axis current Idt on the MTPI curve from the current q-axis current Iq, and adjusts the average output voltage command value Va0* through PI control, etc., so 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*, for example, according to equations (17.1) and (17.2). In addition, when the average output voltage command value Va0* exceeds the output voltage critical value Vdq_limit, the average output voltage generator 14b1-4 limits the average output voltage command value Va0* to the output voltage critical value Vdq_limit according to formula (18). By limiting the average output voltage command value Va0* to the output voltage critical value Vdq_limit, weak magnetic field control is performed. "Ψa" represents the interlinked magnetic flux of the motor M.

[0112]

[0113] V a 0*=K p (I dt -I d )+K i ∫(I dt -I d )dt…(17.2)

[0114]

[0115] The MTPI voltage fluctuation component extractor 14 b 1 - 5 calculates the fluctuation amplitude |ΔVa_mtpi| and the instantaneous value ΔVa_mtpi of the MTPI estimated output voltage Va_mtpi*, for example, in the following manner.

[0116] The MTPI voltage fluctuation component extractor 14b1-5 first decomposes the fundamental component of the MTPI estimated output voltage Va_mtpi* into the Fourier coefficient Va_mtpi_sin as the sin component and Va_mtpi_cos as the cos component according to equations (19.1) and (19.2). The MTPI voltage fluctuation component extractor 14b1-5 calculates the Fourier coefficient of the fundamental component of the MTPI estimated output voltage Va_mtpi* in each mechanical cycle, thereby being able to extract the fundamental component of the MTPI estimated output voltage Va_mtpi* from which the harmonic component has been removed.

[0117]

[0118]

[0119] Next, the MTPI voltage fluctuation component extractor 14b1-5 calculates the amplitude |ΔVa_mtpi| of the fundamental component of the MTPI estimated output voltage Va_mtpi* according to equation (20) based on the Fourier coefficients Va_mtpi_sin and Va_mtpi_cos calculated according to equations (19.1) and (19.2). In addition, since the Fourier coefficients Va_mtpi_sin and Va_mtpi_cos are values ​​updated every mechanical angle period, the amplitude |ΔVa_mtpi| is also updated every mechanical angle period.

[0120]

[0121] Then, the MTPI voltage fluctuation component extractor 14b1-5 calculates the instantaneous value ΔVa_mtpi of the fundamental component of the MTPI estimated output voltage Va_mtpi* according to equation (21).

[0122] ΔV a_mtpi =V a_mtpi_sin ·sin(θ m )+V a_mtpi_cos ·cos(θ m )…(twenty one)

[0123] The adder 14b1-6 adds the average output voltage command value Va0* to the amplitude |ΔVa_mtpi| of the fundamental component of the MTPI estimated output voltage Va_mtpi* according to equation (22), thereby calculating the MTPI estimated output voltage fluctuation peak value Va_mtpi_peak.

[0124] V a_mtpi_peak =Va0 * +|ΔV a_mtpi |…(22)

[0125] The MTPI voltage limiting processor 14b1-7 generates a fluctuating output voltage limit instruction value ΔVa_limit_mtpi and outputs the generated fluctuating output voltage limit instruction value ΔVa_limit_mtpi, wherein the fluctuating output voltage limit instruction value ΔVa_limit_mtpi is obtained by adjusting the addition result in the adder 14b1-6, i.e., the MTPI estimated output voltage fluctuation peak value Va_mtpi_peak, to below the output voltage critical value Vdq_limit.

[0126] For example, the MTPI voltage limit processor 14b1-7 calculates the amplitude ratio scale of the output voltage fluctuation component by comparing the average output voltage command value Va0*, the MTPI estimated output voltage fluctuation peak value Va_mtpi_peak, and the output voltage critical value Vdq_limit, and multiplies the amplitude ratio scale by the MTPI estimated output voltage fluctuation component ΔVa_mtpi to generate the fluctuating output voltage limit command value ΔVa_limit_mtpi. In this way, the fluctuating output voltage limit command value ΔVa_limit_mtpi having a phase consistent with the MTPI estimated output voltage fluctuation component AVa_mtpi can be generated.

[0127] For example, the MTPI voltage limit processor 14b1-7 calculates the amplitude ratio scale of the output voltage fluctuation component according to equations (23.1) to (23.3), and generates the fluctuation output voltage limit instruction value ΔVa_limit_mtpi according to equation (23.4) based on the calculated amplitude ratio scale.

[0128] [Va0*≥Vdq_limit]

[0129] scale=0…(23.1)

[0130] [Va_mtpi_peak≤Vdq_limit]

[0131] scale=1…(23.2)

[0132] [Other than the above]

[0133]

[0134] ΔV a_limit_mtpi =scale×ΔV a_tpi …(23.4)

[0135] The adder 14b1-8 adds the average output voltage command value Va0* and the fluctuation output voltage limit command value ΔVa_limit_mtpi according to equation (24) to calculate the output voltage limit command value Va*. The adder 14b1-8 outputs the calculated output voltage limit command value Va* to the induced voltage command value calculator 1462 and the voltage command value calculator 1466.

[0136] V a * =Va0 * +ΔV a_limit_mtpi …(twenty four)

[0137] exist Figure 5In the above, the induced voltage command value calculator 14b2 calculates the induced voltage command value Vo* based on the output voltage limit command value Va* based on the current d-axis current Id and q-axis current Iq and the electrical angle estimated angular velocity ωe according to the motor model expressions shown in equations (25.1) and (25.2). The calculation details of the induced voltage command value Vo* are shown below.

[0138] The voltage equation of PMSM (d-axis voltage Vd, q-axis voltage Vq), the theoretical formula of the output voltage amplitude Va, and the theoretical formula of the induced voltage Vo of the motor M are shown in equations (25.1) to (27).

[0139] V d =R·I d +p·L d I d -ω e ·L q I q …(25.1)

[0140] V q =R·I q +p·L q I q +ω c ·L d I d +ω c ·Ψ a …(25.2)

[0141]

[0142]

[0143] In addition, the formula that relates the output voltage limit command value Va* to the induced voltage command value Vo* from formulas (25.1) to (27) is shown in formula (28). Thus, the induced voltage command value calculator 14b2 calculates the induced voltage command value Vo* according to formula (28), and outputs the calculated induced voltage command value Vo* to the current command value calculator 14b3.

[0144]

[0145] The current command value calculator 1463 calculates the q-axis current command value Iq* and the d-axis current command value Id* (see Figure 1B), wherein the constant torque curve is the trajectory of the current when the total torque command value T* becomes fixed; the constant induced voltage ellipse is the trajectory of the current when the induced voltage command value Vo* and the electrical angle estimated angular velocity ωe become fixed. 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.

[0146] The intersection point of the constant torque curve and the constant induced voltage ellipse can be calculated using the motor torque expression shown in equation (29) and the induced voltage expression shown in equation (30), for example.

[0147] T=P n ·{Ψ a I q +(L d -L q )·I d I q}…(29)

[0148]

[0149] If the d-axis current Id is removed from equations (29) and (30), a quartic equation for the q-axis current Iq can be obtained as shown in equation (31). In equation (31), "ΔL=Ld-Lq".

[0150]

[0151] As a solution to the fourth-order equation shown in formula (31), a solution can be derived by using, for example, Newton's method for the fourth-order equation shown in formula (31), and the solution is equivalent to the q-axis current command value Iq* (see) at the point where the total torque command value T* becomes a constant torque curve, a current trajectory where the induced voltage Vo and the electrical angle estimated angular velocity ωe become a constant current trajectory where the induced voltage Vo and the electrical angle estimated angular velocity ωe become constant. Figure 1B ).

[0152] After calculating the q-axis current command value Iq*, the current command value calculator 14b3 calculates the d-axis current command value Id* based on the q-axis current command value Iq* according to equation (32) which transforms the induced voltage expression shown in equation (30) into a d-axis current expression.

[0153]

[0154] Here, in formula (32), whether the sign before the square root is positive or negative can be determined by calculating the torque of the point where a straight line (sometimes referred to as the "M-point boundary line" below) parallel to the Iq axis and passing through point M (-Ψa / Ld, 0) as the center of the constant induction voltage ellipse intersects the constant induction voltage ellipse (sometimes referred to as the "M-point boundary torque T_M" below), and comparing the M-point boundary torque T_M with the total torque command value T*.

[0155] Next, the calculation procedure of the d-axis current command value Id* and the q-axis current command value Iq* will be described. Fig. 7A and Figure 7B This is a diagram for explaining an operation example of the current command value calculator according to the first embodiment of the present invention.

[0156] The current command value calculator 14b3 first calculates the d-axis current Id_M at point M according to equation (33).

[0157]

[0158] Next, the current command value calculator 14b3 calculates the q-axis current Iq_M at the point where the M-point boundary line intersects the constant induction voltage ellipse. Since the q-axis current Iq_M can be calculated by substituting the d-axis current Id_M at the M point into equation (30), it can be calculated according to equation (34).

[0159]

[0160] Therefore, the current command value calculator 14b3 calculates the torque T_M at the M point boundary according to equation (35).

[0161] T _M =P n ·{Ψ a I q_M +(L d -L q )·I d_M I q_M}…(35)

[0162] Then, the current command value calculator 14b3 determines the d-axis current command value Id* based on the magnitude relationship between the total torque command value T* and the torque T_M at the M-point boundary according to equations (36.1) and (36.2). Equation (36.1) represents the d-axis current command value Id* when "the total torque command value T* ≤ the torque T_M at the M-point boundary" (see Fig. 7A ), formula (36.2) represents the d-axis current command value Id* (see Figure 7B ).

[0163] [T*≤T_M]

[0164]

[0165] [T*>T_M]

[0166]

[0167] The current command value calculator 14b3 outputs the d-axis current command value Id* and the q-axis current command value Iq* calculated in the above manner to the provisional voltage command value calculator 14b4.

[0168] exist Figure 5 In the above, the provisional voltage command value calculator 14b4 calculates the provisional d-axis voltage command value Vd_m and the provisional q-axis voltage command value Vq_m in a feedforward manner based on the estimated angular velocity ωe of the electrical angle, the d-axis current command value Id* and the q-axis current command value Iq* according to the motor model formula shown in formula (37.1) and formula (37.2). The provisional voltage command value calculator 14b4 outputs the calculated provisional d-axis voltage command value Vd_m and the provisional q-axis voltage command value Vq_m to the voltage vector angle calculator 14b5. In addition, by calculating the provisional voltage command value in a feedforward manner, it is possible to prevent saturation (windup) occurring in an integrator such as PI control due to input saturation.

[0169] V d_m =R·I d +p·L d I d -ω e ·L q I q …(37.1)

[0170] V q_m =R·I q * +p·L q I q +ω e ·(L d I d * +Ψ a )…(37.2)

[0171] In addition, equations (37.1) and (37.2) have taken into account the voltage drops "p·Ld·Id" and "p·Lq·Iq" (p-term voltage) in the inductor that accompany the current changes caused by torque control.

[0172] The voltage vector angle calculator 14b5 calculates the voltage vector angle δ based on the provisional d-axis voltage command value Vd_m and the provisional q-axis voltage command value Vq_m according to equation (38). The voltage vector angle calculator 14b5 outputs the calculated voltage vector angle δ to the voltage command value calculator 14b6. That is, Figure 8 As shown, the voltage vector angle calculator 14b5 calculates the angle between the output voltage vector having the amplitude Va and the q-axis as the voltage vector angle δ, wherein the amplitude Va is calculated as shown in the formula (1). In the above manner, in the voltage saturation region where the output voltage amplitude is limited to be less than the output DC voltage (DC voltage) of the inverter, the voltage vector angle δ corresponding to the total torque command value T* is generated by calculation. As a result, since the vibration control can be performed without debugging the voltage vector angle fluctuation, it is possible to improve the vibration damping effect of the motor M without debugging the voltage vector angle fluctuation. Figure 8 This is a diagram for explaining an operation example of the voltage vector angle calculator according to the first embodiment of the present invention.

[0173]

[0174] The voltage command value calculator 14b6 performs coordinate conversion from polar coordinates to rectangular coordinates based on the voltage vector angle δ and the output voltage limit command value Va* according to equations (39.1) and (39.2), thereby calculating the d-axis voltage command value Vd* and the q-axis voltage command value Vq*.

[0175] V d * =-V a * ·sinδ…(39.1)

[0176] V q * =V a * ·cosδ…(39.2)

[0177] Operation of MTPI voltage limiter processor

[0178] Fig. 9 This is a diagram for explaining an operation example of the MTPI voltage limiter processor according to the first embodiment of the present invention.

[0179] For example, Fig. 9As shown in case (a), when the peak value Va_mtpi_peak of the MTPI estimated output voltage fluctuation component ΔVa_mtpi that fluctuates around the average output voltage command value Va0* is below the output voltage critical value Vdq_limit, the condition of formula (23.2) is met, so the MTPI voltage limiting processor 14b1-7 sets the amplitude ratio scale of the output voltage fluctuation component to "1". Then, the MTPI voltage limiting processor 14b1-7 sets "scale=1" in formula (23.4) and directly outputs the MTPI estimated output voltage fluctuation component ΔVa_mtpi as the fluctuating output voltage limit command value ΔVa_limit_mtpi. As a result, the output voltage limit command value Va* is consistent with the MTPI estimated output voltage fluctuation component ΔVa_mtpi.

[0180] In addition, for example Fig. 9 As shown in case (b), when the peak value Va_mtpi_peak of the MTPI estimated output voltage fluctuation component ΔVa_mtpi that fluctuates around the average output voltage command value Va0* exceeds the output voltage critical value Vdq_limit, and the average output voltage command value Va0* does not exceed the output voltage critical value Vdq_limit, the condition of formula (23.3) is met, so the MTPI voltage limiting processor 14b1-7 sets the amplitude ratio scale of the output voltage fluctuation component to "(Vdq_limit-Va0*) / |ΔVa_mtpi|". In addition, the MTPI voltage limiting processor 14b1-7 outputs the fluctuating output voltage limit command value ΔVa_limit_mtpi set to "scale=(Vdq_limit-Va0*) / |ΔVa_mtpi|" in formula (23.4). As a result, an output voltage limit command value Va* is generated whose phase matches the MTPI estimated output voltage fluctuation component ΔVa_mtpi and whose peak value in fluctuation amplitude is equal to or less than the output voltage critical value Vdq_limit.

[0181] In addition, for example Fig. 9 As shown in case (c), when the average output voltage command value Va0* of the MTPI estimated output voltage fluctuation component ΔVa_mtpi is greater than the output voltage critical value Vdq_limit, the condition of formula (23.1) is met, so the MTPI voltage limit processor 14b1-7 sets the amplitude ratio scale of the output voltage fluctuation component to "0". In addition, the MTPI voltage limit processor 14b1-7 sets "scale=0" in formula (23.4) and outputs the fluctuation output voltage limit command value ΔVa_limit_mtpi as "0". As a result, the output voltage limit command value Va* is consistent with the output voltage critical value Vdq_limit.

[0182] like Fig.10 As shown in an example of an output voltage waveform shown in FIG. 1 , by controlling the output voltage limit command value Va* in this way, the output voltage amplitude Va can be kept below the output voltage critical value Vdq_limit and the output voltage amplitude Va can be kept consistent between the normal control area and the voltage saturation area just after the control area of ​​the motor M transitions from the normal control area to the voltage saturation area. Therefore, the switching shock when transitioning from the normal control area to the voltage saturation area can be reduced. In addition, since the motor control device 100 has a voltage saturation area voltage command value generator 14b, it can also cope with the case where the center of the fluctuation of the output voltage limit command value Va*, that is, the average output voltage command value Va0* is limited by the output voltage critical value Vdq_limit in the voltage saturation area.

[0183] Structure of voltage command value generator in common control area

[0184] Fig.11 FIG. 1 is a diagram showing a configuration example of a normal control area voltage command value generator according to Embodiment 1 of the present invention. Fig.11 In the figure, the normal control area voltage command value generator 14a includes: a current command value calculator 14a1, adders 16, 17, 21, 22, subtractors 18, 19, a voltage command value calculator 20, IIR (Infinite Impulse Response) filters 35a, 35b, a decoupling controller 36, and a current error correction value generator 37.

[0185] The current command value calculator 14a1 calculates the q-axis current command value Iq* and the d-axis current command value Id* based on the intersection of the constant torque curve and the MTPI curve, which is a locus of current where the total torque command value T* becomes constant.

[0186] Here, the intersection of the constant torque curve and the MTPI curve can be calculated, for example, using the motor torque expression shown in equation (29) and the relationship equation (17.1) between the d-axis current Id and the q-axis current Iq of the MTPI curve. In addition, in the right side of equation (29), the first term represents the magnetic torque and the second term represents the reluctance torque. The magnetic torque only includes the q-axis current Iq, and the reluctance torque includes both the q-axis current Iq and the d-axis current Id. Therefore, by appropriately controlling the q-axis current Iq and the d-axis current Id, the motor M can generate a suitable torque.

[0187] After removing the d-axis current Id from equations (29) and (17.1), the quartic equation for the q-axis current Iq can be obtained, namely equation (40).

[0188]

[0189] As a solution to the fourth-order equation shown in formula (40), a solution can be derived by using, for example, Newton's method on the fourth-order equation shown in formula (40), which is equivalent to the q-axis current command value Iq* at the intersection of the constant torque curve and the MTPI curve of the total torque command value T*. In addition, the current command value calculator 14a1 calculates the d-axis current command value Id* by substituting the q-axis current command value Iq* calculated according to formula (40) into formula (17.1).

[0190] The adder 17 adds the q-axis current command value Iq* output by the current command value calculator 14a1 and the q-axis current error correction value ΔIq output by the current error correction value generator 37 according to equation (41.1), thereby calculating the q-axis current correction command value Iq_FF*. The adder 16 adds the d-axis current command value Id* output by the current command value calculator 14a1 and the d-axis current error correction value ΔId output by the current error correction value generator 37 according to equation (41.2), thereby calculating the d-axis current correction command value Id_FF*.

[0191] I q_FF *=I q *+ΔI q …(41.1)

[0192] I d_FF *=I d *+ΔI d …(41.2)

[0193] The subtractor 19 calculates the error between the q-axis current correction command value Iq_FF* and the q-axis current Iq, i.e., the q-axis current error Iq_diff, by subtracting the q-axis current Iq output by the u, v, w / dq converter 29 from the q-axis current correction command value Iq_FF* output by the adder 17. The subtractor 18 calculates the error between the d-axis current correction command value Id_FF* and the d-axis current Id, i.e., the d-axis current error Id_diff, by subtracting the d-axis current Id output by the u, v, w / dq converter 29 from the d-axis current correction command value Id_FF* output by the adder 16.

[0194] The voltage command value calculator 20 performs PI (proportional integral) control on the q-axis current error Iq_diff (Iq_FF*-Iq) according to equation (42.1), thereby calculating the q-axis voltage command value Vqt before decoupling. In addition, the voltage command value calculator 20 performs PI control on the d-axis current error Id_diff (Id_FF*-Id) according to equation (42.2), thereby calculating the d-axis voltage command value Vdt before decoupling. In addition, kp_q in equation (42.1) and kp_d in equation (42.2) are proportional constants, and ki_q in equation (42.1) and ki_d in equation (42.2) are integral constants.

[0195] V qt =k p_q ·(I q_FF *-I q )+∫k i_q ·(I q_FF *-I q )·dt…(42.1)

[0196] V dt =k p_d ·(I d _ FF *I d )+∫k i_d ·(I d_FF *-I d )·dt…(42.2)

[0197] The adder 22 adds the q-axis decoupling correction value Vqa represented by the formula (43.1) to the q-axis voltage command value Vqt before decoupling according to the formula (43.3), thereby calculating the q-axis voltage command value Vq*. The adder 21 adds the d-axis decoupling correction value Vda represented by the formula (43.2) to the d-axis voltage command value Vdt before decoupling according to the formula (43.4), thereby calculating the d-axis voltage command value Vd*. Thus, the q-axis voltage command value Vq* and the d-axis voltage command value Vd* after the coupling between the dq axes is released in a feedforward manner are calculated.

[0198] V qa =ω c *·(L d I d_iir +ψ a )…(43.1)

[0199] V da =-ω e *·L q I q_iir …(43.2)

[0200] V q*=V qt +V qa …(43.3)

[0201] V d *=V dt +V da …(43.4)

[0202] The IIR filter (Infinite Impulse Response Filter) 35a removes noise from the d-axis current Id output by the u, v, w / dq converter 29, and outputs the d-axis response current Id_iir after the noise is removed. The IIR 35b removes noise from the q-axis current Iq output by the u, v, w / dq converter 29, and outputs the q-axis response current Iq_iir after the noise is removed. The IIR filters 35a and 35b are an example of a denoising filter.

[0203] The decoupling controller 36 generates a d-axis decoupling correction value Vda for correcting the d-axis voltage command value Vdt before decoupling based on the electrical angle speed command value ωe* and the q-axis response current Iq_iir input from the outside of the motor control device 100 (for example, an upper controller). In addition, the decoupling controller 36 generates a q-axis decoupling correction value Vqa for correcting the q-axis voltage command value Vqt before decoupling based on the electrical angle speed command value ωe* and the d-axis response current Id_iir. The d-axis decoupling correction value Vda and the q-axis decoupling correction value Vqa are correction values ​​for removing the coupling term between the dq axes in a feedforward manner. Here, in order to achieve stable control, the decoupling correction value is preferably a DC-converted value. Therefore, when generating the decoupling correction value, the electrical angle speed command value ωe* is used as the speed; and the d-axis response current Id_iir and the q-axis response current Iq_iir whose fluctuation components are removed by the IIR filter are used as the d-axis current Id and the q-axis current Iq.

[0204] The current error correction value generator 37 generates a d-axis current error correction value ΔId and a q-axis current error correction value ΔIq based on the d-axis current command value Id* and the q-axis current command value Iq* output by the current command value calculator 14a1, the d-axis current Id and the q-axis current Iq output by the u, v, w / dq converter 29, and the mechanical angle phase θm output by the position estimator 32.

[0205] The current error correction value generator 37 accumulates the fluctuation error (phase error and amplitude error) caused by the inability of the dq axis current to keep up with the current command value due to the response delay of the current command value calculator 14a1 and the coupling of the dq axis, and generates an inverted output of the accumulated value as the current error correction value (d axis current error correction value ΔId and q axis current error correction value ΔIq). Here, the d axis current error correction value ΔId is a feedforward component for correcting the fluctuation error between the d axis current command value I* and the d axis current Id, and the q axis current error correction value ΔIq is a feedforward component for correcting the fluctuation error between the q axis current command value Iq* and the q axis current Iq.

[0206] Structure of the current error correction value generator

[0207] Fig.12 It is a diagram showing a configuration example of a current error correction value generator according to the first embodiment of the present invention. Fig.12 In the figure, the current error correction value generator 37 includes: subtractors 37a, 37e, a q-axis current error component decomposer 37b, a q-axis current error accumulator 37c, a q-axis current error correction value demodulator 37d, a d-axis current error component decomposer 37f, a d-axis current error accumulator 37g, and a d-axis current error correction value demodulator 37h.

[0208] The subtractor 37a calculates the error between the q-axis current Iq and the q-axis current command value Iq*, that is, the q-axis current fluctuation error Iq_err, according to equation (44).

[0209] I q_err =I q -I q *…(44)

[0210] The q-axis current error component decomposer 37b calculates the fundamental component of the q-axis current fluctuation error Iq_err, i.e., the two Fourier coefficients Iq_err_sin (sin component) and Iq_err_cos (cos component), in each mechanical angle period according to equations (45.1) and (45.2).

[0211]

[0212]

[0213] The q-axis current error accumulator 37c multiplies the sin component Iq_err_sin of the q-axis current fluctuation error Iq_err and the cos component Iq_err_cos of the q-axis current fluctuation error Iq_err by the correction gain k, respectively, according to equations (46.1) and (46.2), and adds the respective multiplication results to Iq_err_sin_i_old or Iq_err_cos_i_old. Iq_err_sin_i in equation (46.1) is the accumulated value of Iq_err_sin up to the current mechanical angle cycle, and Iq_err_cos_i in equation (46.2) is the accumulated value of Iq_err_cos up to the current mechanical angle cycle. In addition, Iq_err_sin_i_old in formula (46.1) is Iq_err_sin_i up to the previous mechanical angle cycle, and Iq_err_cos_i_old in formula (46.2) is Iq_err_cos_i up to the previous mechanical angle cycle.

[0214] I q_err_sin_i =I q_err_sin ·k+I q_err_sin_i_old …(46.1)

[0215] I q_crr_cos_i =I q_crr_cos ·k+I q_crr_cosi_old …(46.2)

[0216] The q-axis current error correction value demodulator 37d calculates the q-axis current error correction value ΔIq according to equations (47.1) and (47.2). Thus, the phase of the q-axis current fluctuation error is reversed, and the instantaneous value of the q-axis current error correction value ΔIq at the mechanical angle phase θm is calculated.

[0217] ΔI q =I q_crr_sin_i ·sin(θ m -π)+I q_crr_cos_i ·cos(θ m -π)…(47.1)

[0218] =-I q_crr_sin_i ·sin(θ m )-I q_err_cos_i ·cos(θ m )…(47.2)

[0219] The subtractor 37e calculates the error between the d-axis current Id and the d-axis current command value Id*, that is, the d-axis current fluctuation error Id_err, according to equation (48).

[0220] I d_err =I d -I d*…(48)

[0221] The d-axis current error component decomposer 37f calculates the fundamental component of the d-axis current fluctuation error Id_err, namely the two Fourier coefficients Id_err_sin (sin component) and Id_err_cos (cos component), in each mechanical angle period according to equations (49.1) and (49.2).

[0222]

[0223]

[0224] The d-axis current error accumulator 37g multiplies the sin component Id_err_sin of the d-axis current fluctuation error Id_err and the cos component Id_err_cos of the d-axis current fluctuation error Id_err by the correction gain k, respectively, according to equations (50.1) and (50.2), and adds the respective multiplication results to Id_err_sin_i_old or Id_err_cos_i_old. Id_err_sin_i in equation (50.1) is the accumulated value of Id_err_sin up to the current mechanical angle cycle, and Id_err_cos_i in equation (50.2) is the accumulated value of Id_err_cos up to the current mechanical angle cycle. In addition, Id_err_sin_i_old in formula (50.1) is Id_err_sin_i up to the previous mechanical angle cycle, and Id_err_cos_i_old in formula (50.2) is Id_err_cos_i up to the previous mechanical angle cycle.

[0225] I d_err_sin_i =I d_err_sin ·k+I d_err_sin_i_old …(50.1)

[0226] I d_crr_cos_i =I d_crr_cos ·k+I d_crr_osi_old …(50.2)

[0227] The d-axis current error correction value demodulator 37h calculates the d-axis current error correction value ΔId according to equations (51.1) and (51.2). This inverts the phase of the d-axis current ripple error and generates an instantaneous value of the d-axis current error correction value ΔId at the mechanical angle phase θm.

[0228] ΔI d =I d_err_sin_i ·sin(θ m -π)+I d_err_cos_i ·cos(θ m -π)…(51.1)

[0229] =-I d_crr_sin_i ·sin(θ m )-I d_crr_cos_i ·cos(θ m )…(51.2)

[0230] In the above, the first embodiment of the present invention has been described.

[0231] Example 2

[0232] Embodiment 1 of the present invention is effective when the distortion of the induced voltage of the motor M is small. However, the actual induced voltage waveform contains induced voltage distortion caused by the structure of the motor M. When the induced voltage distortion is large, the harmonics of the current of the motor M become large. As a result, the followability of the current control of the motor M may deteriorate. Therefore, in Embodiment 2, the followability of the current control of the motor M is improved, thereby further improving the stability of the control. For this reason, in Embodiment 2, the structure of the voltage saturation region voltage command value generator 14b is partially different from that of Embodiment 1.

[0233] Structure of voltage command value generator in voltage saturation region

[0234] Fig.13 FIG. 1 is a diagram showing a configuration example of a voltage saturation region voltage command value generator 14b according to a second embodiment of the present invention. Fig.13 In the embodiment, the voltage saturation region voltage command value generator 14b is different from the embodiment 1 (in the embodiment 2) in that it 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. Figure 5 In the second embodiment, the voltage saturation region voltage command value generator 14b further includes: a current proportion controller 14b7, adders 14b8, 14b9, and subtractors 14b10, 14b11.

[0235] exist Fig.13 In the embodiment, the voltage saturation region voltage command value generator 14b outputs the d-axis voltage command value Vd** calculated by the voltage command value calculator 14b6 to the adder 14b8, and outputs the calculated q-axis voltage command value Vq** to the adder 14b9, as in the first embodiment.

[0236] In addition, in the first embodiment, the d-axis voltage command value and the q-axis voltage command value output by the voltage command value calculator 14b6 are marked as Vd* and Vq*, respectively, whereas in the second embodiment, the d-axis voltage command value and the q-axis voltage command value output by the voltage command value calculator 14b6 are marked as Vd** and Vq**, respectively. That is, the d-axis voltage command value Vd** and the q-axis voltage command value V** in the second embodiment are equivalent to the d-axis voltage command value Vd* and the q-axis voltage command value Vq* in the first embodiment.

[0237] 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. In addition, the current command value calculator 14b3 outputs the calculated q-axis current command value Iq* to the subtractor 14b11 and outputs the calculated d-axis current command value Id* to the subtractor 14b10.

[0238] The subtractor 14b10 calculates the d-axis current error Id_p by subtracting the d-axis current Id from the d-axis current command value Id*, and outputs the calculated d-axis current error Id_p to the current proportion controller 14b7. The subtractor 14b11 calculates the q-axis current error Iq_p by subtracting the q-axis current Iq from the q-axis current command value Iq*, and outputs the calculated q-axis current error Iq_p to the current proportion controller 14b7.

[0239] The current proportional controller 14b7 calculates the d-axis compensation voltage Vd_p by multiplying the d-axis current error Id_p by the proportional constant kp_d, and outputs the calculated d-axis compensation voltage Vd_p to the adder 14b8. In addition, the current proportional controller 14b7 calculates the q-axis compensation voltage Vq_p by multiplying the q-axis current error Iq_p by the proportional constant kp_q, and outputs the calculated q-axis compensation voltage Vq_p to the adder 14b9. That is, the d-axis compensation voltage Vd_p is calculated as "kp_d·Id_p", and the q-axis compensation voltage Vq_p is calculated as "kp_q·Iq_p".

[0240] The adder 14b8 calculates the final d-axis voltage command value Vd* by adding the d-axis compensation voltage Vd_p output by the current ratio controller 14b7 and the d-axis voltage command value Vd** output by the voltage command value calculator 14b6. Furthermore, the adder 14b9 calculates the final q-axis voltage command value Vq* by adding the q-axis compensation voltage Vq_p output by the current ratio controller 14b7 and the q-axis voltage command value Vq** output by the voltage command value calculator 14b6.

[0241] By adding the current proportion controller 14b7 in this way, current harmonics caused by induced voltage distortion can be suppressed, and the followability to the current command value can be further improved.

[0242] In the above, Example 2 has been described.

[0243] As described above, the motor control device of the present invention (motor control device 100 of embodiment 1) includes: a voltage command value generator (voltage command value generator 14 of embodiment 1) and a control switching judgment unit 15. The control switching judgment unit 15 judges whether the control area of ​​the motor (motor M of embodiment 1) is in the voltage saturation area or the normal control area. The voltage command value generator generates the voltage command value of the motor (d-axis voltage command value Vd* and q-axis voltage command value Vq* of embodiment 1) based on the speed command value (mechanical angular velocity command value ωm* of embodiment 1) and the speed of the motor (mechanical angle estimated angular velocity ωm of embodiment 1). In addition, when the control switching judgment unit determines that the control area of ​​the motor is in the voltage saturation area, the voltage command value generator obtains the voltage vector angle (voltage vector angle δ of embodiment 1) of the output voltage applied to the motor from the torque command value (total torque command value T* of embodiment 1) and the critical value of the maximum voltage that can be output to the motor (output voltage limit command value Va* of embodiment 1), and generates the voltage command value based on the voltage vector angle.

[0244] According to the above aspect, the output torque fluctuation with respect to the speed fluctuation can be optimized while suppressing the fluctuation of the voltage amplitude, so that the vibration suppression effect of the motor during the torque control in the voltage saturation region can be improved.

[0245] Furthermore, the voltage command value calculator calculates the current command value of the motor (the q-axis current command value Iq* and the d-axis current command value Id* in Embodiment 1) based on the intersection of the constant torque curve of the motor and the constant induction voltage ellipse of the motor.

[0246] In addition, the voltage command value generator calculates a provisional voltage command value (the provisional d-axis voltage command value Vd_m and the provisional q-axis voltage command value Vq_m of Example 1) based on the current command value according to the motor model expression (Formula (37.1) and Formula (37.2) of Example 2), and calculates the voltage vector angle based on the provisional voltage command value.

[0247] By using the above method, the voltage vector angle can be calculated in a feedforward manner, and since integral control is not required, the occurrence of saturation (windup) can be prevented.

[0248] In addition, the voltage command value calculator (the voltage command value calculator 14 of Example 2) has a proportional controller (the current proportional controller 14b7 of Example 2), which calculates the compensation voltage (the d-axis compensation voltage Vd_p and the q-axis compensation voltage Vq_p of Example 2) by multiplying the error (d-axis current error Id_p and q-axis current error Iq_p of Example 2) between the current command value and the current of the motor (the d-axis current Id and the q-axis current Iq of Example 2) by a proportional constant (the proportional constant ka of Example 2), thereby calculating the voltage command value plus the compensation voltage.

[0249] Thus, harmonic currents generated by inductive voltage distortion or the like can be suppressed only by proportional control, thereby improving the followability of the current command value.

[0250] Explanation of symbols

[0251] 100 Motor control device

[0252] 14 Voltage command value generator

[0253] 14a Normal control area voltage command value generator

[0254] 14b Voltage saturation region voltage command value generator

[0255] 14b1 Output voltage limit command value generator

[0256] 14b2 Induction voltage command value calculator

[0257] 14b3 Current command value calculator

[0258] 14b4 Provisional voltage command value calculator

[0259] 14b5 Voltage Vector Angle Calculator

[0260] 14b6 Voltage command value calculator

[0261] 14b7 Current Proportional Controller

Claims

1. A motor control device, characterized in that: have: a voltage command value generator that generates a voltage command value for the motor from a torque command value based on a speed command value and a speed of the motor; and a control switching judgment unit, which judges whether the control area of ​​the motor is in a voltage saturation area, The voltage command value generator, when the control switching determination unit determines that the control region is in the voltage saturation region, The voltage command value is generated based on the torque command value, a threshold value of a maximum voltage that can be output to the motor, and a voltage vector angle applied to an output voltage of the motor, the voltage vector angle being calculated as a value corresponding to the torque command value.

2. The motor control device according to claim 1, characterized in that: The voltage command value generator calculates a current command value of the motor based on an intersection of a constant torque curve of the motor and a constant induction voltage ellipse of the motor of the torque command value, and obtains a voltage vector angle from the current command value to generate a voltage command value.

3. The motor control device according to claim 2, characterized in that: The voltage command value generator calculates a provisional voltage command value according to a motor model expression based on the current command value, and calculates the voltage vector angle based on the provisional voltage command value.

4. The motor control device according to claim 1, characterized in that: The voltage command value generator calculates a compensation voltage by multiplying an error between a current command value of the motor and a current of the motor by a proportionality constant, thereby generating the voltage command value to which the compensation voltage is added.

Citation Information

Patent Citations

  • Motor controller

    JP2017158415A

  • Motor controller

    JP2017158414A

  • Motor controller

    JP2019201471A