Motor control device

WO2026203559A1PCT designated stage Publication Date: 2026-10-01GENERAL INC
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
PCT/JP2025/043326
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2025-03-28
Filing Date
2025-12-11
Publication Date
2026-10-01

Smart Images

  • Figure JP2025043326_01102026_PF_FP_ABST
    Figure JP2025043326_01102026_PF_FP_ABST
Patent Text Reader

Abstract

A motor control device according to one embodiment of the present invention comprises a torque command value generation unit. The torque command value generation unit generates a torque command value by adding: a pre-correction torque command value for bringing the speed of a motor closer to a speed command value; and a correction torque command value for suppressing periodic speed fluctuations of the motor. Moreover, the torque command value generation unit generates the correction torque command value on the basis of a speed fluctuation estimation value obtained by estimating the speed fluctuation of the motor at the time when the correction torque command value is 0.
Need to check novelty before this filing date? Find Prior Art

Description

Motor control device

[0001] The present invention relates to a motor control device used for motor control.

[0002] Among loads driven by a motor, there are loads in which the load torque acting on the motor fluctuates periodically. For example, in a rotary compressor, the load torque fluctuates periodically during the refrigerant compression process accompanying rotation of the motor. When the load torque fluctuates, the rotation speed of the motor fluctuates periodically, which may cause vibration and noise.

[0003] As a technique for suppressing such periodic fluctuations in the rotation speed of a motor (hereinafter sometimes simply referred to as speed fluctuation), torque control that brings the output torque of the motor close to the load torque is known. In torque control, for example, by matching the output torque of the motor with the load torque, the speed fluctuation of the motor can be sufficiently suppressed. On the other hand, implementing such control increases the current flowing through the motor, which may increase motor loss due to copper loss and the like.

[0004] For example, Patent Document 1 describes a motor control device that performs torque control while allowing speed fluctuation of the motor. In this motor control device, the fundamental wave component of the speed fluctuation included in the estimated mechanical angular velocity is extracted for each mechanical angle cycle, and the output torque of the motor is corrected such that the amplitude of the fundamental wave component is equal to or less than a prestored speed fluctuation allowable value. Accordingly, torque control is performed within a range where speed fluctuation of the motor is allowable, and it is possible to reduce motor loss while suppressing load vibration.

[0005] Japanese Unexamined Patent Publication No. 2021-125900

[0006] The method described in Patent Document 1 is a method of controlling the fundamental wave component of the speed fluctuation of the motor. However, depending on the operating conditions of the motor, such as when the load torque is large, even if the amplitude of the fundamental wave component is controlled to be equal to or less than the speed fluctuation allowable value, higher-order vibration components may become large, which may result in insufficient suppression of load vibration. Furthermore, although methods such as reducing the speed fluctuation allowable value for the fundamental wave component or suppressing higher-order vibration components are also conceivable, the output torque may be corrected unnecessarily depending on the operating conditions of the motor, which may increase motor loss.

[0007] In view of the above circumstances, the object of the present invention is to provide a motor control device that can achieve both suppression of vibration of the load driven by the motor and reduction of motor losses.

[0008] To achieve the above objective, a motor control device according to one embodiment of the present invention includes a torque command value generation unit. The torque command value generation unit generates a torque command value by adding a pre-correction torque command value for bringing the motor speed closer to a speed command value and a correction torque command value for suppressing periodic speed fluctuations of the motor. Furthermore, the torque command value generation unit generates the correction torque command value based on a speed fluctuation estimate value obtained by estimating the speed fluctuation of the motor when the correction torque command value is set to 0.

[0009] In this motor control device, the corrected torque command value is generated based on the estimated speed fluctuation value that would be expected if the corrected torque command value for suppressing the periodic speed fluctuations of the motor were set to 0. By using the estimated speed fluctuation value, it becomes possible to control the effectiveness of torque control using the corrected torque command value according to the motor's operating conditions. This makes it possible, for example, to perform the minimum necessary torque control to match the operating conditions. Furthermore, even while torque control is in progress, it becomes possible to appropriately generate a corrected torque command value according to the operating conditions. As a result, it becomes possible to achieve both the suppression of vibrations in the load driven by the motor and the reduction of motor losses.

[0010] The torque command value generation unit may increase the corrected torque command value as the amplitude of the estimated speed fluctuation value increases.

[0011] This makes it possible to strengthen the torque control effect, especially when the amplitude of the estimated speed fluctuation is large and the conditions are prone to oscillation.

[0012] The torque command value generation unit generates the corrected torque command value based on a speed fluctuation tolerance value that indicates the allowable range of the actual speed fluctuation of the motor, and the larger the amplitude of the estimated speed fluctuation value, the smaller the speed fluctuation tolerance value may be.

[0013] This makes it possible to narrow the tolerance range for the motor's actual speed fluctuations and strengthen the effectiveness of torque control, especially in conditions prone to vibration.

[0014] The torque command value generation unit may calculate at least one nth-order speed fluctuation component included in the actual speed fluctuation of the motor based on a speed fluctuation detection value obtained by detecting the actual speed fluctuation of the motor, with the order being n (where n is a natural number) based on the rotation period of the motor, and generate the corrected torque command value based on the at least one nth-order speed fluctuation component.

[0015] For example, by using only the major speed fluctuation components from the actual speed fluctuations of the motor, it is possible to reduce the amount of computational processing required for torque control. Furthermore, by using speed fluctuation components of multiple orders, it is possible to achieve highly accurate torque control.

[0016] The torque command value generation unit may increase the number of nth-order speed fluctuation components used to generate the corrected torque command value as the amplitude of the estimated speed fluctuation value increases.

[0017] As a result, the more susceptible the conditions are to vibration, the greater the nth-order velocity fluctuation component required to generate the corrected torque command value. Consequently, the accuracy of the corrected torque command value improves, and the effectiveness of torque control can be strengthened.

[0018] The torque command value generation unit calculates a plurality of nth-order speed fluctuation components as the at least one nth-order speed fluctuation component, and generates the corrected torque command value such that at least a portion of the plurality of nth-order speed fluctuation components is limited to or below a speed fluctuation tolerance value that indicates the allowable range of the actual speed fluctuation of the motor. The larger the amplitude of the estimated speed fluctuation value, the more the number of nth-order speed fluctuation components limited to or below the speed fluctuation tolerance value may be increased.

[0019] As a result, the more susceptible the vibration conditions are, the greater the number of nth-order speed fluctuation components that are limited to below the permissible speed fluctuation limit, making it possible to strengthen the effectiveness of torque control.

[0020] The torque command value generation unit may estimate, as the speed fluctuation estimate, the speed fluctuation component of the order in which the amount of fluctuation of the load torque acting on the motor is maximum during the rotation period of the motor.

[0021] By using the speed fluctuation component of the order that maximizes the load torque fluctuation, it becomes possible to easily detect changes in motor operating conditions, for example.

[0022] As described above, the present invention makes it possible to achieve both suppression of vibration of the load driven by the motor and reduction of motor losses. It should be noted that the effects described herein are not necessarily limited, and any of the effects described in this disclosure may be present.

[0023] This is a block diagram showing an example configuration of a motor control device according to one embodiment of the present invention. This is a schematic graph showing the relationship between load torque and motor output torque. This is a schematic graph showing the distribution of frequency components of load torque. This is a block diagram showing an example configuration of a torque control mode determination device. This is a schematic diagram explaining the relationship between load torque and speed fluctuation estimates. This is a block diagram showing an example configuration of a correction torque generator. This is a schematic diagram explaining an example of operation of the motor control device.

[0024] Hereinafter, embodiments of the present invention will be described with reference to the drawings.

[0025] This disclosure describes a motor control device that performs torque control of a permanent magnet synchronous motor (PMSM) driving a compressor with periodic load torque fluctuations using position sensorless vector control, for example, a motor control device used in an air conditioning system or a cryogenic storage system. However, the disclosed technology is broadly applicable to motor control devices that perform torque control of motors driving loads with periodic load torque fluctuations.

[0026] [Motor Control Device Configuration] Figure 1 is a block diagram showing an example configuration of a motor control device according to one embodiment of the present invention. In Figure 1, the motor control device 100 includes a torque command value generation unit 10, a current command value generator 20, subtractors 21 and 22, a current controller 23, a de-interference controller 24, adders 25 and 26, a d-q / u,v,w converter 27, a PWM (Pulse Width Modulation) modulator 28, and an IPM (Intelligent Power Module) 29. The IPM 29 is connected to the motor M.

[0027] Furthermore, the motor control device 100 includes a shunt resistor 30, a 3φ current calculator 31, a u, v, w / d-q converter 32, an axis error calculator 33, a PLL (Phase Locked Loop) controller 34, a position estimater 35, and a 1 / Pn processor 36.

[0028] The torque command value generation unit 10 calculates the total torque command value T* based on the mechanical angular velocity command value ωm* input to the motor control device 100 from an external source (e.g., a higher-level controller), the current estimated angular velocity ωm output from the 1 / Pn processor 36, and the mechanical angular phase θm output from the position estimator 35, and outputs this value to the current command value generator 20. The torque command value generation unit 10 will be described in detail later.

[0029] The current command value generator 20 calculates the q-axis current command value Iq* and the d-axis current command value Id* based on the total torque command value T* output from the torque command value generation unit 10 (adder 13, described later).

[0030] In this embodiment, the current command value generator 20 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, which is indicated by the total torque command value T*, and the MTPI (Maximum Torque / Current Control) curve.

[0031] Here, the intersection point of the constant torque curve and the MTPI curve can be calculated, for example, using the motor torque equation shown in equation (1) and equation (2), which shows the relationship between the d-axis current Id and the q-axis current Iq in the MTPI curve. In the right-hand side of equation (1), the first term represents the magnet torque, and the second term represents the reluctance torque. The magnet torque includes only the q-axis current Iq, while 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 appropriate torque can be generated in the motor M. In equations (1) and (2), "Pn" is the number of pole pairs of the motor M, "Ψa" is the flux linkage of the motor M, "Ld" is the d-axis inductance of the motor M, and "Lq" is the q-axis inductance of the motor M.

[0032] By eliminating the d-axis current Id from equations (1) and (2), we can obtain equation (3), which is a quartic equation relating to the q-axis current Iq.

[0033] As a solution to the quartic equation shown in equation (3), a solution corresponding to the q-axis current command value Iq* at the intersection of the constant torque curve and the MTPI curve for the total torque command value T* can be derived by applying, for example, Newton's method to the quartic equation shown in equation (3). Therefore, the current command value generator 20 calculates the q-axis current command value Iq* according to equation (3). The current command value generator 20 also calculates the d-axis current command value Id* according to equation (2) based on the calculated q-axis current command value Iq*.

[0034] The subtractor 21 calculates the d-axis current error (Id* - Id), which is the error between the d-axis current command value Id* and the d-axis current Id, by subtracting the d-axis current Id output from the u,v,w / d-q converter 32 from the d-axis current command value Id* output from the current command value generator 20. The subtractor 22 calculates the q-axis current error (Iq* - Iq), which is the error between the q-axis current command value Iq* and the q-axis current Iq, by subtracting the q-axis current Iq output from the u,v,w / d-q converter 32 from the q-axis current command value Iq* output from the current command value generator 20.

[0035] The current controller 23 calculates the pre-decoupling d-axis voltage command value Vdt by performing PI (Proportional Integral) control based on the d-axis current error (Id* - Id) according to equation (4.1). The current controller 23 also calculates the pre-decoupling q-axis voltage command value Vqt by performing PI control based on the q-axis current error (Iq* - Iq) according to equation (4.2). Note that kp_d in equation (4.1) and kp_q in equation (4.2) are proportionality constants, and ki_d in equation (4.1) and ki_q in equation (4.2) are integral constants.

[0036] The decoupling controller 24 generates a d-axis decoupling correction value Vda to correct the pre-decoupling d-axis voltage command value Vdt, according to equation (5.1), based on the electrical angular velocity command value ωe* input to the motor control device 100 from outside the motor control device 100 and the q-axis current command value Iq* output from the current command value generator 20. Similarly, the decoupling controller 24 generates a q-axis decoupling correction value Vqa to correct the pre-decoupling q-axis voltage command value Vqt, according to equation (5.2), based on the electrical angular velocity command value ωe* and the q-axis current command value Iq* output from the current command value generator 20. The d-axis decoupling correction value Vda and the q-axis decoupling correction value Vqa are correction values ​​for feedforward cancellation of the interference term between the d and q axes. The electrical angular velocity command value ωe* is calculated, for example, by integrating the number of pole pairs Pn with the mechanical angular velocity command value ωm*.

[0037] The adder 25 calculates the d-axis voltage command value Vd* by adding the d-axis decoupling correction value Vda output from the decoupling controller 24 to the pre-decoupling d-axis voltage command value Vdt according to equation (6.1). The adder 26 calculates the q-axis voltage command value Vq* by adding the q-axis decoupling correction value Vqa output from the decoupling controller 24 to the pre-decoupling q-axis voltage command value Vqt according to equation (6.2).

[0038] The d-q / u, v, w converter 27 converts the two-phase d-axis voltage command value Vd* and q-axis voltage command value Vq* output from the adder 25 and the adder 26 into 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 electrical angle phase (dq-axis phase) θe output from the position estimator 35. The electrical angle phase θe output from the position estimator 35 indicates the current rotor position of the motor M.

[0039] The PWM modulator 28 generates six-phase PWM signals based on the U-phase output voltage command value Vu*, V-phase output voltage command value Vv*, W-phase output voltage command value Vw* and a PWM carrier signal, and outputs the generated six-phase PWM signals to the IPM 29.

[0040] The IPM 29 converts a DC voltage Vdc supplied from the outside of the IPM 29 based on the six-phase PWM signals output from the PWM modulator 28, thereby generating AC voltages to be applied to the U-phase, V-phase and W-phase of the motor M respectively, and applies the respective AC voltages to the U-phase, V-phase and W-phase of the motor M.

[0041] When the bus current is detected by a single-shunt method using the shunt resistor 30, the 3φ current calculator 31 calculates the U-phase current value Iu, V-phase current value Iv and W-phase current value Iw of the motor M from the six-phase PWM switching information output from the PWM modulator 28 and the detected bus current. It should be noted that a current sensor may be used instead of the single-shunt method. In this case, two currents (e.g., U-phase current Iu and V-phase current Iv) are detected using two current sensors among the three-phase currents. In this case, the 3φ current calculator 31 calculates the remaining current (e.g., W-phase current Iw) based on Kirchhoff's law of "Iu+Iv+Iw=0". The 3φ current calculator 31 outputs the phase current values Iu, Iv, Iw of each phase to the u, v, w / d-q converter 32.

[0042] The u, v, w / d-q converter 32 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 31 into two-phase d-axis current Id and q-axis current Iq based on the electrical angle phase θe indicating the current rotor position output from the position estimator 35.

[0043] The shaft error calculator 33 calculates a shaft error Δθ, which is the difference between an estimated rotation shaft and an actual rotation shaft, by using the d-axis voltage command value Vd* and q-axis voltage command value Vq* output from the adder 25 and the adder 26, and the d-axis current Id and q-axis current Iq output from the u, v, w / d-q converter 32.

[0044] The PLL controller 34 calculates an estimated electrical angular velocity ωe, which is the current estimated angular velocity of the motor M, based on the shaft error Δθ output from the shaft error calculator 33.

[0045] The position estimator 35 estimates an electrical angular phase θe and a mechanical angular phase θm based on the estimated electrical angular velocity ωe output from the PLL controller 34.

[0046] The 1 / Pn processor 36 calculates an estimated mechanical angular velocity ωm by dividing the estimated electrical angular velocity ωe output from the PLL controller 34 by the number of pole pairs Pn of the motor M.

[0047] [Configuration of Torque Command Value Generating Unit] In a compressor driven by the motor M, load torque fluctuates periodically during the refrigerant compression process accompanying rotation of the motor M. Such fluctuation in load torque may cause the rotational speed of the motor M to also fluctuate periodically. The torque command value generating unit 10 outputs a total torque command value T* corrected by a corrected torque command value ΔT* in order to suppress such periodic speed fluctuation in the rotational speed of the motor M.

[0048] As shown in FIG. 1, the torque command value generating unit 10 includes a subtracter 11, a speed controller 12, an adder 13, a torque control mode determiner 14, and a corrected torque generator 15.

[0049] The subtracter 11 calculates an angular velocity error Δωm by subtracting the current estimated mechanical angular velocity ωm output from the 1 / Pn processor 36 from a mechanical angular velocity command value ωm* input to the motor control device 100 from outside the motor control device 100.

[0050] The speed controller 12 generates an average torque command value T0* such that the average of the angular velocity error Δωm output from the subtractor 11 approaches zero. Therefore, the average torque command value T0* can be said to be a torque command value that brings the speed of the motor M (estimated mechanical angular velocity value ωm) closer to the speed command value (mechanical angular velocity command value ωm*). The speed controller 12 is configured, for example, using an integrator and a proportionalizer, and generates the average torque command value T0* by PI control. In this embodiment, the average torque command value T0* corresponds to the pre-correction torque command value.

[0051] The adder 13 calculates the total torque command value T* by adding the average torque command value T0* output from the speed controller 12 and the corrected torque command value ΔT* output from the corrected torque generator 15.

[0052] The torque control mode determination unit 14 determines the torque control mode based on the angular velocity error Δωm output from the subtractor 11 and the corrected torque command value ΔT* output from the corrected torque generator 15. Here, multiple torque control modes are pre-set, and one mode is selected from among them. Each of the multiple torque control modes is a mode in which the corrected torque command value ΔT* is calculated in a different way.

[0053] In this embodiment, the torque control mode determiner 14 calculates a speed fluctuation estimate Δωest from the angular velocity error Δωm and the corrected torque command value ΔT*, estimating the speed fluctuation of the motor M when the corrected torque command value ΔT* is set to 0, and determines the torque control mode based on the speed fluctuation estimate Δωest. The method for calculating the speed fluctuation estimate Δωest and the method for determining the torque control mode will be explained in detail later.

[0054] The correction torque generator 15 calculates a correction torque command value ΔT* according to the mode output by the torque control mode determination unit 14, based on the angular velocity error Δωm output from the subtractor 11 and the mechanical angular phase θm output from the position estimater 35. The correction torque command value ΔT* is a correction value for suppressing the periodic speed fluctuations of the motor M described above. The method for calculating the correction torque command value ΔT* will be explained in detail later with reference to Figure 6, etc.

[0055] In this way, the torque command value generation unit 10 generates a total torque command value T* by adding an average torque command value T0*, which brings the speed of the motor M (estimated mechanical angular velocity value ωm) closer to the speed command value (mechanical angular velocity command value ωm*), and a correction torque command value ΔT*, which suppresses periodic speed fluctuations of the motor M.

[0056] Furthermore, the torque command value generation unit 10 generates the corrected torque command value ΔT* based on the estimated speed fluctuation value Δωest, which is an estimate of the motor speed fluctuation when the corrected torque command value ΔT* is set to 0. Specifically, the torque control mode determination unit 14, as described above, determines a torque control mode that determines the method for calculating the corrected torque command value ΔT* based on the estimated speed fluctuation value Δωest. This makes it possible to calculate the corrected torque command value ΔT* using a method (torque control mode) corresponding to the estimated speed fluctuation value Δωest.

[0057] [Periodic Speed ​​Fluctuations of the Motor] Figure 2 is a schematic graph showing the relationship between load torque and motor output torque. The horizontal axis of the graph represents time [s], and the vertical axis represents torque [N・m]. The horizontal axis of the graph corresponds to the period of one rotation of the motor M (one period of mechanical angular velocity). Here, one period is assumed to be 100 ms (mechanical angular velocity of 10 rpm).

[0058] The load torque TL is the torque generated in a load, such as a compressor connected to a motor M. Here, we take a single rotary compressor as an example. In this case, the fluctuation period of the load torque TL coincides with one period of the mechanical angular velocity of the motor M. Therefore, as shown in Figure 2, when the motor M rotates once, a fluctuation of one period of the load torque TL occurs. For example, the time waveform of the load torque TL will have an asymmetrical peak waveform in the first and second halves of one period.

[0059] Furthermore, when using a twin rotary compressor, the fluctuation period of the load torque TL coincides with half the period of the mechanical angular velocity of the motor M. In this case, when the motor M rotates once, a fluctuation equivalent to two periods of the load torque TL occurs.

[0060] Furthermore, in the example shown in Figure 2, the motor output torque Tm is assumed to be a constant value. For example, the average torque over one cycle of the load torque TL is set as the motor output torque Tm. In this case, as shown in Figure 2, in some areas (dark gray area 18a), the motor output torque Tm is greater than the load torque TL, and in other areas (light gray area 18b), the motor output torque Tm is smaller than the load torque TL.

[0061] The speed fluctuation of motor M is generally represented by the integral of the difference between motor output torque Tm and load torque TL (the area of ​​region 18a or region 18b). For example, in region 18a, since motor output torque Tm is greater than load torque TL (Tm > TL), the speed of motor M increases. Conversely, in region 18b, since motor output torque Tm is less than load torque TL (Tm < TL), the speed of motor M decreases.

[0062] Thus, if the motor output torque Tm is kept constant, for example, periodic speed fluctuations occur due to the difference between the motor output torque Tm and the load torque TL. Note that the lower the rotational speed of the motor M, the longer the time of one cycle. Therefore, the area of ​​the difference between the motor output torque Tm and the load torque TL becomes larger, making speed fluctuations more likely to occur. When such speed fluctuations occur, the compressor itself vibrates, generating noise.

[0063] In the motor control device 100 according to this embodiment, torque control is performed to bring the motor output torque Tm closer to the load torque TL. Specifically, a correction torque command value ΔT* is calculated as appropriate so that the total torque command value T* approaches the load torque TL. This makes it possible to suppress periodic speed fluctuations of the motor M at a certain level.

[0064] Incidentally, the time waveform of the load torque TL is determined by the characteristics and operating conditions of the compressor load, and generally does not consist of a waveform containing only a single frequency component, such as a sine wave (or cosine wave). In other words, the time waveform of the load torque TL contains multiple frequency components.

[0065] Figure 3 is a schematic graph showing the distribution of frequency components of load torque. Hereafter, the frequency component that oscillates with the period of the mechanical angular velocity of the motor M will be referred to as the fundamental wave component (first-order frequency component), and the frequency component that is n times the fundamental wave component will be referred to as the nth-order frequency component. Figure 3 shows the amplitude ratio (amplitude ratio from the fundamental wave [%]) of the first to tenth-order frequency components, with the amplitude of the fundamental wave component (first-order frequency component) included in the load torque TL of the single rotary compressor as the reference.

[0066] As shown in Figure 3, the fundamental frequency component has the largest amplitude ratio among the frequency components included in the load torque TL. However, it can be seen that the second, third, and fourth-order frequency components are also included with amplitudes of more than 10% compared to the fundamental frequency component. Thus, the load torque TL contains a relatively large number of higher-order frequency components in addition to the first-order frequency component. Therefore, even if the motor output torque Tm perfectly matches the first-order frequency component of the load torque TL, speed fluctuations corresponding to the second and third-order frequency components will still occur.

[0067] From another perspective, it can be said that increasing the order of torque control can improve the effect of suppressing speed fluctuations. In other words, by using a motor output torque Tm that matches the load torque TL not only in terms of the primary frequency component but also in terms of the secondary and tertiary frequency components, it becomes possible to bring the motor output torque Tm closer to the load torque TL. This makes it possible to sufficiently reduce the difference between the motor output torque Tm and the load torque TL, which is the cause of speed fluctuations.

[0068] Furthermore, increasing the order of torque control increases the torque required to suppress speed fluctuations, thus increasing the motor current. As a result, copper loss in the motor M worsens. Thus, torque control has the characteristic that the more it tries to suppress the periodic speed fluctuations of the motor M, the more copper loss increases and the lower the operating efficiency becomes.

[0069] [Suppression of Speed ​​Fluctuations and Operating Efficiency] One method of suppressing speed fluctuations through torque control is to set a speed fluctuation tolerance and perform torque control so that the speed fluctuates within that tolerance range. In this method, speed fluctuations are not completely suppressed, so the increase in motor current is limited. This makes it possible to achieve a certain level of vibration suppression and loss reduction.

[0070] Incidentally, depending on the control method of the motor M, there may be a rotational range where motor control is stable (stable control range) and a rotational range where motor control is unstable (unstable control range). For example, suppose there is an unstable control range on the low rotational speed side. In this case, even if the average speed of the motor M is in the stable control range, the rotational speed may momentarily decrease due to the speed fluctuations mentioned above, causing it to enter the unstable range. This can also occur when torque control is performed with a set tolerance value for speed fluctuations.

[0071] Thus, when operating motor M near the control instability region, it is necessary to strengthen the suppression of speed fluctuations to avoid the motor M's speed entering the control instability region. However, the rotational speed in the control instability region changes depending on the load conditions, etc., and it is difficult to set in advance. For this reason, measures such as suppressing speed fluctuations as much as possible when the rotational speed approaches the control instability region can be considered. One such method is to set the allowable speed fluctuation value to 0 and further increase the order of torque control.

[0072] However, as described above, strengthening the suppression of speed fluctuations increases copper losses and reduces operating efficiency. Furthermore, strengthening the suppression of speed fluctuations at rotational speeds that could otherwise be handled by normal suppression methods also reduces operating efficiency. For this reason, it is necessary to use stronger torque control when speed fluctuations are large, and weaker torque control that allows for speed fluctuation tolerance when speed fluctuations are small.

[0073] [Torque Control Mode Determinator] Figure 4 is a block diagram showing an example configuration of a torque control mode determination device. The torque control mode determination device 14 includes a speed fluctuation estimator 37 and a mode determination device 38.

[0074] The speed fluctuation estimator 37 calculates a speed fluctuation estimate Δωest, which estimates the speed fluctuation of the motor M when the corrected torque command value ΔT* is set to 0, based on the angular velocity error Δωm output from the subtractor 11 and the corrected torque command value ΔT* output from the corrected torque generator 15, and outputs it to the mode determination unit 38.

[0075] Here, the estimated speed fluctuation value Δωest is an estimate of the speed fluctuation that occurs when the corrected torque command value ΔT* is cut. In other words, the estimated speed fluctuation value Δωest is an estimate of the speed fluctuation that would have occurred if torque control had not been performed, and serves as an indicator of the amount of fluctuation in load torque TL, for example.

[0076] Figure 5 is a schematic diagram illustrating the relationship between the load torque TL and the estimated speed fluctuation value Δωest. Here, torque control is performed so that the rotational speed (mechanical angular velocity ωm) of the motor M falls within the range defined by the speed fluctuation tolerance (the range indicated by the dotted line in the figure). Furthermore, the angular velocity error Δωm is used as a parameter representing the speed fluctuation of the motor M during torque control.

[0077] On the left side of Figure 5, the time waveforms of the speed fluctuation Δωm, the correction torque command value ΔT* used for torque control, and the estimated speed fluctuation Δωest that would occur without torque control are shown for Case A, where the load torque TL fluctuation is relatively small. On the right side of Figure 5, the time waveforms of each parameter are shown for Case B, where the load torque TL fluctuation is relatively large, similar to Case A.

[0078] In Case A, as shown in the upper left graph, torque control is performed using the corrected torque command value ΔT* shown in the middle left so that the rotational speed of motor M remains below the permissible speed fluctuation value. The estimated speed fluctuation value Δωest shown in the lower left is an estimate of the speed fluctuation that would occur if the corrected torque command value ΔT* shown in the middle left were set to 0. In other words, in Case A, if torque control is not performed, the rotational speed of motor M will have the speed fluctuations shown in the lower left.

[0079] In Case B, the fluctuation amount of the load torque TL is larger than in Case A. In this case as well, as shown in the upper right graph, torque control is performed so that the rotational speed of the motor M remains below the allowable speed fluctuation value. Therefore, the time waveform of the speed fluctuation Δωm in Case B is the same as the waveform of the speed fluctuation Δωm in Case A.

[0080] On the other hand, as shown in the middle right of Figure 5, the amplitude of the corrected torque command value ΔT* in Case B is larger than that of the corrected torque command value ΔT* in Case A because the fluctuation amount of the load torque TL is large. Also, as shown in the lower right, the estimated speed fluctuation value Δωest in Case B is an estimate of the speed fluctuation that occurs when the corrected torque command value ΔT* shown in the middle right is set to 0, and its amplitude (amount of fluctuation) is larger than that of the corrected torque command value ΔT* in Case A.

[0081] In this way, by referring to the estimated speed fluctuation value Δωest, it becomes possible to properly determine, for example, whether or not the motor M is experiencing a large speed fluctuation.

[0082] One possible method for determining the speed fluctuation trend of motor M is to use the average value of the load torque TL (average load torque). In this case, the speed fluctuation state is determined based on the assumption that the larger the average load torque, the greater the speed fluctuation. However, in reality, a large average load torque does not necessarily mean that the speed fluctuation will be large.

[0083] For example, if the time waveform of the load torque TL shown in Figure 2 has a steep peak, even if the average load torque is small, the difference with the motor output torque Tm will be large, which can lead to large speed fluctuations. On the other hand, if the peak of the time waveform of the load torque TL is gentle, even if the average load torque is large, speed fluctuations may be small. Thus, even when referring to the average load torque, it can be difficult to accurately estimate the magnitude of speed fluctuations.

[0084] In contrast, the speed fluctuation estimate Δωest is a parameter that estimates the speed fluctuation of the motor M itself, which is generated by the load torque TL. Therefore, it can appropriately represent speed fluctuations that change according to the time waveform of the load torque TL, for example. In this respect, the speed fluctuation estimate Δωest can be said to be a parameter that can more accurately represent the trend of speed fluctuation of the motor M compared to the average load torque described above. The method for calculating the speed fluctuation estimate Δωest will be explained in detail below.

[0085] [Motor Speed ​​Fluctuation] First, we will explain the general formula that represents the relationship between the motor speed fluctuation ω of the motor M and the motor output torque Tm and load torque TL. Here, the motor speed fluctuation ω of the motor M is the amount of fluctuation in the angular velocity of the motor M, and it occurs in accordance with the difference between the motor output torque Tm and the load torque TL, as explained with reference to Figure 2. The motor speed fluctuation ω of the motor M is expressed by formula (7) using the motor output torque Tm and the load torque TL.

[0086] In equation (7), "J" is the inertia (moment of inertia) of the motor M. The unit of velocity fluctuation ω is [rps], and the unit of inertia J is [kg / m]. 2 The motor output torque Tm and load torque TL are in units of [N・m].

[0087] As shown in equation (7), the common DC component of the motor output torque Tm and the load torque TL does not contribute to the integral because the difference between the two is taken. Therefore, equation (7) can be considered as an equation that performs integration over the difference between the fluctuating component of the motor output torque Tm and the fluctuating component of the load torque TL.

[0088] In the following, we will consider only the fluctuating components of the motor output torque Tm and load torque TL. The fluctuating component of the load torque TL is an unknown component that changes according to the operating conditions of the motor M. On the other hand, the fluctuating component of the motor output torque Tm is a control component for torque control, and in this embodiment it corresponds to the corrected torque command value ΔT*.

[0089] Now, let's consider the case where torque control is not performed. This corresponds to setting the motor output torque Tm to 0 in equation (7). Therefore, the speed fluctuation ω of the motor M when torque control is not performed is expressed in equation (8).

[0090] Next, we consider the current speed fluctuation ω_now of the motor M detected by the motor control device 100 that performs torque control. If the current control component used for torque control is Tm_now, then from equation (7), the current speed fluctuation ω_now is expressed by equation (9.1). Separating the integral of equation (9.1) into two parts gives equation (9.2), and moving the first term on the right-hand side of equation (9.2) to the left-hand side gives equation (9.3).

[0091] The right-hand side of equation (9.3) is the same as the right-hand side of equation (8). Therefore, the speed fluctuation ω of the motor M when torque control is not performed is expressed by equation (10).

[0092] In equation (10), ω_now is the currently occurring velocity fluctuation, and Tm_now is the currently outputting torque control amount. The current velocity fluctuation ω_now and the current control component Tm_now can be calculated from the control data. Therefore, by using equation (10), it is possible to estimate the velocity fluctuation ω caused by the load torque TL when torque control is not performed from the control data.

[0093] Furthermore, the speed fluctuation ω of the motor M, like the load torque TL, contains multiple frequency components (fundamental wave component and higher-order frequency components). Since each frequency component included in the speed fluctuation ω is independent, equation (10) can be applied to each order of the frequency component. For example, if n is a natural number, the nth-order component of the speed fluctuation ω when torque control is not performed can be estimated from the nth-order component of the current speed fluctuation ω_now and the nth-order component of the current control component Tm_now.

[0094] [Calculation of Estimated Speed ​​Fluctuation] Next, the method for calculating the estimated speed fluctuation Δωest using the speed fluctuation estimator 37 will be explained. As described above, the speed fluctuation ω can be estimated at any order using equation (10), but in this embodiment, the speed fluctuation ω is estimated at the order in which the main speed fluctuation appears. Specifically, the speed fluctuation estimator 37 estimates the speed fluctuation component of the order in which the amount of fluctuation of the load torque TL acting on the motor M is maximum during the rotation period of the motor M as the estimated speed fluctuation Δωest.

[0095] For example, in the case of a single rotary compressor, as shown in Figure 3, the maximum fluctuation in load torque TL occurs in the first-order frequency component. In this case, the first-order speed fluctuation component is estimated as the speed fluctuation estimate Δωest. Also, for example, in the case of a twin rotary compressor, the maximum fluctuation in load torque TL occurs in the second-order frequency component, so the second-order speed fluctuation component is estimated as the speed fluctuation estimate Δωest. In this way, by using the speed fluctuation component of the order in which the fluctuation in load torque TL is maximum, it becomes possible to easily detect changes in the operating conditions of the motor M, for example.

[0096] In the following, assuming the operation of a single rotary compressor, the first-order speed fluctuation component is estimated as the speed fluctuation estimate Δωest. In this case, the speed fluctuation estimate Δωest is calculated according to equation (11).

[0097] In equation (11), "Δω(1)" is the first-order frequency component of the current velocity fluctuation ω_now (hereinafter simply referred to as the first-order velocity fluctuation component). Specifically, the first-order frequency component included in the angular velocity error Δωm output from the subtractor 11 becomes the first-order velocity fluctuation component Δω(1).

[0098] In equation (11), "ΔT*(1)" is the first-order frequency component of the current control component Tm_now of the torque control (hereinafter simply referred to as the first-order control component). Specifically, the first-order frequency component of the corrected torque command value ΔT* output from the corrected torque generator 15 becomes the first-order control component ΔT*(1).

[0099] The amplitude of the velocity fluctuation estimate Δωest changes depending on the phase relationship between the first-order velocity fluctuation component Δω(1) and the first-order control component ΔT*(1). Therefore, the velocity fluctuation estimator 37 calculates the instantaneous value of the velocity fluctuation estimate Δωest, including phase information, using equation (11). This point will be explained below.

[0100] For example, the primary velocity fluctuation component Δω(1) is a sine wave that oscillates at the same frequency as the mechanical angular frequency f of the motor M, and is calculated by expanding the angular velocity error Δωm into a Fourier series. The mechanical angular frequency f of the motor M is expressed as f = ωm / 2π using the mechanical angular velocity ωm. In this case, the primary velocity fluctuation component Δω(1) can be expressed as shown in equation (12).

[0101] In equation (12), "φ1" is the phase of the primary velocity fluctuation component Δω(1), which is calculated, for example, from past control data.

[0102] Furthermore, the primary control component ΔT*(1) is the primary component of the corrected torque command value ΔT*. When generating the corrected torque command value ΔT*, the amplitude of the primary control component ΔT*(1) is controlled so that the amplitude of the primary speed fluctuation component Δω(1) is within the allowable speed fluctuation value, as will be described later. Therefore, the primary control component ΔT*(1) is also a sine wave that oscillates at the same frequency as the mechanical angular frequency f of the motor M, and can be expressed as shown in equation (13).

[0103] In equation (13), "φ2" is the phase of the first-order control component ΔT*(1), which is calculated, for example, from past control data.

[0104] To obtain the instantaneous value of the velocity fluctuation estimate Δωest shown in equation (11), it is necessary to calculate the integral term with respect to the first-order control component ΔT*(1) in equation (11) as an instantaneous value. Therefore, we consider integrating the first-order control component ΔT*(1) shown in equation (13). In this case, the first-order control component ΔT*(1) is integrated as shown in equation (14).

[0105] Substituting equations (12) and (14) into equation (11), the estimated velocity fluctuation Δωest is expressed as shown in equation (15). This allows us to calculate the instantaneous value of the estimated velocity fluctuation Δωest.

[0106] Note that in equations (12) and (13), the amplitudes of the primary velocity fluctuation component Δω(1) and the primary control component ΔT*(1) have been omitted. In practice, the amplitude of the primary velocity fluctuation component Δω(1) is calculated from the angular velocity error Δωm data, and the amplitude of the primary control component ΔT*(1) is calculated from the corrected torque command value ΔT* data.

[0107] Returning to Figure 4, the mode determination unit 38 determines the torque control mode based on the speed fluctuation estimate value Δωest output from the speed fluctuation estimator 37, and outputs the result to the correction torque generator 15. In this embodiment, one mode is determined from multiple torque control modes by performing a threshold determination on the speed fluctuation estimate value Δωest using a predetermined threshold.

[0108] For example, a large amplitude in the estimated speed fluctuation value Δωest indicates a state where the load torque TL fluctuates significantly and vibrations are likely to occur. Therefore, the mode decisioner 38 selects a torque control mode such that the larger the amplitude of the estimated speed fluctuation value Δωest, the larger the value of the corrected torque command value ΔT*. In other words, the mode decisioner 38 increases the corrected torque command value ΔT* as the amplitude of the estimated speed fluctuation value Δωest increases. This makes it possible to strengthen the effect of torque control in conditions that are prone to vibrations.

[0109] In each torque control mode, processing parameters used in the calculation of the corrected torque command value ΔT* are set accordingly. These processing parameters include, for example, the allowable speed fluctuation value set for each order. By appropriately setting these processing parameters, it is possible to adjust, for example, the magnitude and accuracy of the corrected torque command value ΔT*.

[0110] The mode determination unit 38 determines the peak value within one cycle of the machine angle from the instantaneous value of the estimated velocity fluctuation Δωest as the amplitude, and compares this peak value with a predetermined threshold value as the value to be determined. This makes it possible to determine the threshold for the amplitude of the estimated velocity fluctuation Δωest.

[0111] Here, as an example of torque control modes, a first control mode and a second control mode, in which the torque control effect is stronger than that of the first control mode, are set. In addition, two thresholds (first threshold Th1 and second threshold Th2) are set for determining the threshold for selecting between the first and second control modes. The first threshold Th1 is greater than the second threshold Th2 (Th1 > Th2).

[0112] In this case, if the value to be judged becomes greater than the first threshold Th1, the first control mode is switched to the second control mode. Also, if the value to be judged becomes less than the second threshold Th2, the second control mode is switched back to the first control mode. By introducing hysteresis to the thresholds in this way, hunting can be prevented. The specific details of the first and second control modes will be explained in detail later.

[0113] Furthermore, the method for determining the threshold for the velocity fluctuation estimate Δωest is not limited. For example, the instantaneous value of the velocity fluctuation estimate Δωest or a value obtained by filtering the instantaneous value may be used as the value to be determined and compared with the threshold. In this case, for example, to avoid switching the control mode within the machine angle period, the threshold determination may be performed only once for each machine angle period.

[0114] [Corrected Torque Generator] Figure 6 is a block diagram showing an example configuration of a corrected torque generator. The corrected torque generator 15 includes a primary generator 40a, a secondary generator 40b, a tertiary generator 40c, a quaternary generator 40d, and an adder 41. Hereafter, the primary generators 40a to the quaternary generators 40d may be collectively referred to as the nth-order generator 40. Although Figure 6 only shows the functional blocks that make up the primary generator 40a, the functional blocks of the secondary generator b, tertiary generator 40c, and quaternary generator 40d are configured similarly to the primary generator 40a, differing only in the corresponding order.

[0115] The nth-order generator 40 calculates the nth-order corrected torque command value ΔT*(n) according to the torque control mode determined by the mode determination unit 38, based on the angular velocity error Δωm output from the subtractor 11 and the mechanical angular phase θm output from the position estimater 35. Specifically, the first-order corrected torque command value ΔT*(1) is calculated by the first-order generator 40a, the second-order corrected torque command value ΔT*(2) is calculated by the second-order generator 40b, the third-order corrected torque command value ΔT*(3) is calculated by the third-order generator 40c, and the fourth-order corrected torque command value ΔT*(4) is calculated by the fourth-order generator 40d.

[0116] Here, as an example of an nth-order generator, the functional block of the first-order generator 40a will be described. As shown in Figure 6, the first-order generator 40a includes a speed fluctuation component separator 42, a speed fluctuation amplitude calculator 43, a speed fluctuation tolerance value calculator 44, a subtractor 45, a corrected torque amplitude calculator 46, a corrected torque phase calculator 47, an orthogonal component separator 48, and a corrected torque demodulator 49.

[0117] The speed fluctuation component separator 42 separates the angular velocity error Δωm into two Fourier coefficients, ωsin (sin component) and ωcos (cos component), which are the fundamental wave components of Δωm, according to equations (16.1) and (16.2) based on the mechanical angular phase θm for each mechanical angular period. The angular velocity error Δωm is the speed fluctuation detection value that detects the actual speed fluctuation of the motor M. Therefore, the fundamental wave components (ωsin and ωcos) of the angular velocity error Δωm are the first-order speed fluctuation components. Note that ωsin and ωcos are values ​​that are updated for each mechanical angular period.

[0118] The velocity fluctuation amplitude calculator 43 calculates the velocity fluctuation amplitude |Δωm| according to equation (17) based on the Fourier coefficients ωsin and ωcos. Since ωsin and ωcos are values ​​that are updated with each machine angular period, the velocity fluctuation amplitude |Δωm| is also updated with each machine angular period.

[0119] Furthermore, the velocity fluctuation amplitude |Δωm| calculated by the velocity fluctuation amplitude calculator 43 of the primary generator 40a according to equation (17) can be used as the primary velocity fluctuation component Δω(1) shown in equation (11) above.

[0120] The speed fluctuation tolerance calculator 44 calculates the speed fluctuation tolerance value |Δωm|* set for the torque control mode determined by the mode determination unit 38 and outputs it to the subtractor 45. The speed fluctuation tolerance value |Δωm|* is a parameter that indicates the allowable range of the actual speed fluctuation (angular velocity error Δωm) of the motor M, and defines, for example, the speed fluctuation amplitude |Δωm| within the range in which the vibration of the motor M is acceptable. For example, the speed fluctuation tolerance value |Δωm|* stored in memory, etc., according to each torque control mode is read out as appropriate and output to the subtractor 45.

[0121] The subtractor 45 calculates the speed fluctuation error |Δωm|err by subtracting the speed fluctuation tolerance value |Δωm|* output from the speed fluctuation amplitude |Δωm| output from the speed fluctuation amplitude calculator 43.

[0122] The corrected torque amplitude calculator 46 adjusts the corrected torque amplitude |ΔT| for each machine angle period according to the error between the speed fluctuation amplitude |Δωm| and the speed fluctuation tolerance value |Δωm|*. For example, the corrected torque amplitude calculator 46 calculates the corrected torque amplitude |ΔT| by multiplying the speed fluctuation error |Δωm|err, which is the error between the speed fluctuation amplitude |Δωm| and the speed fluctuation tolerance value |Δωm|*, by a correction gain k, and adding the multiplication result to |ΔT|_old, according to equation (18). In equation (18), |ΔT|_old is the corrected torque amplitude |ΔT| for the previous machine angle period. By appropriately setting the correction gain k, it is possible to suppress the speed fluctuation |Δω| from hunting at the boundary of the speed fluctuation tolerance value |Δωm|*, and to suppress the occurrence of vibrations when the speed fluctuation |Δω| becomes larger than the speed fluctuation tolerance value |Δωm|* due to a sudden change in load torque.

[0123] The corrected torque phase calculator 47 corrects the phase of the angular velocity error Δωm acquired for each mechanical angular period. For example, the corrected torque phase calculator 47 multiplies the Fourier coefficients ωsin and ωcos by a correction gain k according to equations (19.1) and (19.2), and adds ωsin_i_old and ωcos_i_old to the respective multiplication results. In equation (19.1), ωsin_i_old is ωsin_i in the previous mechanical angular period, and in equation (19.2), ωcos_i_old is ωcos_i in the previous mechanical angular period. Then, the corrected torque phase calculator 47 calculates the arctangent of ωsin_i and ωcos_i as the corrected phase φωi according to equation (19.3). This corrected phase φωi becomes the phase reference when performing torque control, and the phase that is retarded by π / 2 from this reference becomes the phase of the corrected torque command value ΔT (corrected torque phase).

[0124] The orthogonal component separator 48 calculates the sine component (ωsin_i) and cosine component (ωcos_i) of the corrected phase φωi according to equations (20.1) and (20.2), based on the corrected torque amplitude |ΔT| output from the corrected torque amplitude calculator 46 and the corrected phase φωi output from the corrected torque phase calculator 47. This process also serves to prevent divergence during phase correction by the calculations in equations (19.1) and (19.2).

[0125] The corrected torque demodulator 49 calculates the corrected torque command value ΔT according to equations (21.1) and (21.2) based on the sine component (ωsin_i) and cosine component (ωcos_i) of the corrected phase φωi. This process converts the corrected phase φωi to a corrected torque phase retarded by π / 2, and generates an instantaneous value of the corrected torque command value ΔT at the mechanical angle phase θm.

[0126] The corrected torque demodulator 49 may calculate the instantaneous value of the corrected torque command value ΔT according to equation (22) instead of equations (21.1) and (21.2).

[0127] Up to this point, the operation of each functional block of the primary generator 40a has been explained. Therefore, the corrected torque command value ΔT output from the corrected torque demodulator 49 of the primary generator 40a corresponds to the primary corrected torque command value ΔT*(1).

[0128] In the case of the secondary generator 40b, the angular velocity error Δωm is separated into secondary speed fluctuation components (sine and cosine components with frequencies twice the mechanical angular frequency) in the speed fluctuation component separator 42. The speed fluctuation tolerance value calculator 44 outputs the speed fluctuation tolerance value set for the secondary speed fluctuation. Other operations are basically the same as those of the primary generator 40a. As a result, the correction torque demodulator 49 of the secondary generator 40a outputs the secondary correction torque command value ΔT*(2). The differences between the tertiary generator 40c and the quaternary generator 40d and the primary generator 40a are the same as those of the secondary generator 40b.

[0129] The adder 41 adds the corrected torque command values ​​(ΔT*(1), ΔT*(2), ΔT*(3), ΔT*(4)) of each order output from the primary generator 40a, secondary generator 40b, tertiary generator c, and quaternary generator 40d to calculate the corrected torque command value ΔT*.

[0130] In this way, the corrected torque generator 15 calculates multiple nth-order speed fluctuation components included in the actual speed fluctuation of the motor M, based on the speed fluctuation detection value (angular velocity error Δωm) obtained by detecting the actual speed fluctuation of the motor M, with the order being n (where n is a natural number) based on the rotation period of the motor M. Then, a corrected torque command value ΔT* is generated based on the calculated multiple nth-order speed fluctuation components. By using speed fluctuation components of multiple orders in this way, it becomes possible to achieve highly accurate torque control.

[0131] Furthermore, the corrected torque generator 15 generates a corrected torque command value ΔT* based on the speed fluctuation tolerance value |Δωm|. Therefore, by appropriately setting the speed fluctuation tolerance value |Δωm|, it becomes possible to easily adjust the effectiveness of torque control using the corrected torque command value ΔT*. In addition, since the speed fluctuation tolerance value |Δωm| can be set for each order, it becomes possible to finely adjust the corrected torque command value ΔT* according to, for example, the operating environment of the motor M.

[0132] [Specific Examples of Torque Control Modes] The following describes specific examples of torque control modes. In each torque control mode, a speed fluctuation tolerance value is set for each order. The values ​​set as speed fluctuation tolerance values ​​can be classified into three types, from those with the smallest effect on suppressing speed fluctuations to those with the smallest effect: "ineffective value", "effective value", and "0".

[0133] When the speed fluctuation tolerance value is set to an "invalid value," it means that no valid speed fluctuation tolerance value is set, and speed fluctuations are not restricted. Specifically, a value sufficiently larger than the speed fluctuation amplitude |Δωm| output from the speed fluctuation amplitude calculator 43 is set as the "invalid value" for the speed fluctuation tolerance value |Δωm|*. In this case, the speed fluctuation error |Δωm|err becomes a negative value, and the correction torque amplitude calculator 46 outputs 0 as the correction torque amplitude |ΔT|. In this way, in the order in which an "invalid value" is set, the correction torque command value ΔT becomes 0, and for that order, speed fluctuations are not restricted and torque control is not performed.

[0134] The term "effective value" for the speed fluctuation tolerance means that a practical numerical value is set as the speed fluctuation tolerance to allow for speed fluctuations. Specifically, a value that is less than the speed fluctuation amplitude |Δωm| output by the speed fluctuation amplitude calculator 43 and greater than 0 is set as the "effective value" for the speed fluctuation tolerance |Δωm|*. In this case, the speed fluctuation error |Δωm|err becomes a positive value, and the correction torque amplitude calculator 46 outputs a correction torque amplitude |ΔT| to limit the speed fluctuation amplitude |Δωm| to the speed fluctuation tolerance |Δωm|*.

[0135] A speed fluctuation tolerance of "0" means that the speed fluctuation tolerance is minimized to effectively limit the speed fluctuation to zero. In this case, the speed fluctuation error |Δωm|err is equal to the speed fluctuation amplitude |Δωm|. In this case, the correction torque amplitude calculator 46 outputs a correction torque amplitude |ΔT| to limit the speed fluctuation amplitude |Δωm| to zero.

[0136] Table (1) shows examples of settings for the two torque control modes (first control mode and second control mode). As described above, the first control mode is selected when the estimated speed fluctuation value Δωest is smaller than the threshold, and the second control mode is selected when the estimated speed fluctuation value Δωest is larger than the threshold. ...Table (1)

[0137] As shown in Table (1), in the first control mode, the primary speed fluctuation tolerance is set to an "effective value," while the secondary, tertiary, and quaternary speed fluctuation tolerances are set to "ineffective values." In other words, torque control in the first control mode suppresses the primary speed fluctuation component to stay within the speed fluctuation tolerance, while not restricting the secondary, tertiary, and quaternary speed fluctuation components.

[0138] On the other hand, in the second control mode, the permissible values ​​for primary, secondary, tertiary, and quaternary speed fluctuations are set to "0". In other words, torque control in the second control mode is a control that limits all speed fluctuation components from primary to quaternary to zero without setting any permissible values. Thus, the second control mode is a mode in which the torque control effect is generally stronger compared to the first control mode.

[0139] If we focus on the values ​​of the speed fluctuation tolerance for each order, we can see that in the second control mode, the speed fluctuation tolerance is set smaller for all orders than in the first control mode. In other words, in the corrected torque generator 15, the larger the amplitude of the estimated speed fluctuation Δωest, the smaller the speed fluctuation tolerance is set. This makes it possible to narrow the tolerance range of the actual speed fluctuation of the motor M and strengthen the effect of torque control, especially in conditions prone to vibration.

[0140] Furthermore, the secondary, tertiary, and quaternary speed fluctuation tolerance values, which were set as "invalid values" in the first control mode, are set to "0" in the second control mode. In other words, the values ​​of ΔT*(2), ΔT*(3), and ΔT*(4) are all 0 in the first control mode, but are all calculated as valid correction values ​​in the second control mode. Thus, in the correction torque generator 15, the larger the amplitude of the estimated speed fluctuation value Δωest, the more nth-order speed fluctuation components are used to generate the correction torque command value ΔT*. As a result, the more susceptible the conditions are to vibration, the more nth-order speed fluctuation components are used to generate the correction torque command value, improving the accuracy of the correction torque command value. This makes it possible to strengthen the effect of torque control.

[0141] The method for setting the speed fluctuation tolerance values ​​in the first and second control modes is not limited to the examples above. For example, the speed fluctuation tolerance value can be set to an "effective value" for any order. In other words, the corrected torque command value ΔT* may be generated such that at least a portion of the nth-order speed fluctuation components are limited to or below the speed fluctuation tolerance value. In this case, the larger the amplitude of the estimated speed fluctuation value Δωest, the more nth-order speed fluctuation components are limited to or below the speed fluctuation tolerance value. For example, a mode may be used as the second control mode in which all first to fourth-order speed fluctuation tolerance values ​​are set to "effective values". Even in such a case, the effect of torque control can be strengthened compared to the first control mode.

[0142] Furthermore, the above methods may be combined to set up three or more torque control modes. For example, a mode may be set between the first and second control modes shown in Table (1) in which all speed fluctuation tolerance values ​​are set to "effective values". Alternatively, modes may be set in stages such that the order in which the speed fluctuation tolerance value is set to "effective value" or "0" increases as the amplitude of the estimated speed fluctuation value Δωest increases. Alternatively, the value of the speed fluctuation tolerance value itself may be changed in stages within the range in which it is "effective".

[0143] Furthermore, the threshold for determining the torque control mode is determined through demonstration experiments and stored in a predetermined memory. For example, the larger the amplitude of the estimated speed fluctuation value Δωest, the larger the secondary and tertiary speed fluctuation components will be, not just the primary speed fluctuation component. In this case, if only the primary speed fluctuation component is suppressed, as in the first control mode described above, the motor control will become unstable as the secondary and tertiary speed fluctuation components increase.

[0144] Therefore, the upper limit of the estimated speed fluctuation value Δωest, which allows for stable motor control in the first control mode, is experimentally determined, and this upper limit is set as the threshold. This makes it possible to switch to the second control mode in regions where the effects of second-order and third-order speed fluctuation components become apparent. This minimizes the period during which the second control mode, which has relatively high copper losses, is executed, thereby preventing deterioration of operating efficiency. In addition, there are no limitations on the method of setting the threshold; for example, the threshold can be appropriately set according to the content of the torque control mode using demonstration experiments or simulations.

[0145] [Motor Control Device Operation] Figure 7 is a schematic diagram illustrating an example of the operation of the motor control device. Figure 7 shows the time waveforms of the motor M speed fluctuation (angular velocity error Δωm) during torque control, the corrected torque command value ΔT* used for torque control, and the estimated speed fluctuation value Δωest. The graph of the motor M speed fluctuation (angular velocity error Δωm) schematically shows the allowable speed fluctuation value with a dotted line. The actual allowable speed fluctuation value is set for each order. The graph of the estimated speed fluctuation value Δωest shows the first threshold Th1 used to determine the switching from the first control mode to the second control mode.

[0146] For example, at time t0, the estimated speed fluctuation Δωest is less than or equal to the first threshold Th1. In this case, the first control mode is executed, and the speed fluctuation tolerance is set to a valid value. As a result, torque control is performed so that the speed fluctuation (angular velocity error Δωm) of the motor M remains below the speed fluctuation tolerance.

[0147] Furthermore, in Figure 7, the estimated speed fluctuation value Δωest gradually increases from time t0 onward, and at time t1, it is determined that the amplitude of the estimated speed fluctuation value Δωest (such as the peak value during the machine angular period) is greater than the first threshold Th1. As a result, the torque control mode is switched from the first control mode to the second control mode. In the second control mode, the speed fluctuation tolerance value is set to 0. In this case, the amplitude of the corrected torque command value ΔT* is increased, and torque control is performed so that the speed fluctuation (angular velocity error Δωm) of the motor M becomes 0.

[0148] In this way, the motor control device 100 controls the effectiveness of torque control by referring to the estimated speed fluctuation value Δωest. This makes it possible to accurately implement control such as applying stronger torque control when the speed fluctuation is large, and applying weaker torque control that has a speed fluctuation tolerance when the speed fluctuation is small.

[0149] As described above, in the motor control device 100 according to this embodiment, the corrected torque command value ΔT* is generated based on the estimated speed fluctuation value Δωest, which is assumed when the corrected torque command value ΔT* for suppressing periodic speed fluctuations of the motor M is set to 0. By using the estimated speed fluctuation value Δωest, it becomes possible to control the effectiveness of torque control using the corrected torque command value ΔT* according to the operating conditions of the motor M. This makes it possible, for example, to perform the minimum necessary torque control in accordance with the operating conditions. Furthermore, even while torque control is being performed, it becomes possible to appropriately generate the corrected torque command value ΔT* according to the operating conditions. As a result, it becomes possible to achieve both the suppression of vibrations of the load (compressor, etc.) driven by the motor M and the reduction of motor losses.

[0150] For example, by controlling the speed fluctuations of motor M to be below a permissible speed fluctuation limit, load vibrations can be suppressed at a certain level, and the increase in copper loss can also be suppressed. However, if speed fluctuations are permitted near the control instability region, the rotational speed may locally reach the control instability region, potentially leading to unstable motor control. On the other hand, if the torque control amount is increased to suppress such speed fluctuations, motor current is required, which increases copper loss.

[0151] In this embodiment, in order to eliminate the instability of control near the control instability region, a mode is introduced that strengthens the effect of torque control so that the actual rotational speed does not reach the control instability region. Specifically, multiple torque control modes with different torque control effects (first control mode and second control mode in the above embodiment) are switched and set.

[0152] Furthermore, in order to suppress the increase in copper loss caused by strengthening the torque control, the torque control mode is switched based on the estimated speed fluctuation value Δωest, which is calculated from the speed fluctuation caused by the load torque TL. This makes it possible to control the system in such a way that, for example, when the estimated speed fluctuation value Δωest is large, the torque control is strengthened to suppress the speed fluctuation of the motor M, and when the estimated speed fluctuation value Δωest is small, the torque control is weakened to prevent the deterioration of copper loss.

[0153] This method makes it possible to properly suppress speed fluctuations of the motor M even in the rotational range near the control instability region. Therefore, for example, in control systems where the control instability region occurs on the low rotational speed side, it becomes possible to achieve stable motor control even at lower rotational speeds.

[0154] <Other Embodiments> The present invention is not limited to the embodiments described above, and various other embodiments can be realized.

[0155] In the above embodiment, a method was described for calculating multiple nth-order velocity fluctuation components and generating a corrected torque command value for each order of velocity fluctuation component. However, the invention is not limited to this, and a corrected torque command value may be generated for only one nth-order velocity fluctuation component. In this case, typically, torque control is performed to quickly correct the main order of velocity fluctuation component.

[0156] For example, when driving a single rotary compressor, only the primary speed fluctuation component is calculated, and a corrected torque command value is generated to suppress the primary speed fluctuation component. Similarly, when driving a twin rotary compressor, only the secondary speed fluctuation component is calculated, and a corrected torque command value is generated to suppress the secondary speed fluctuation component. By using only the major speed fluctuation components of the actual motor speed fluctuations in this way, it is possible to reduce the amount of computational processing required for torque control.

[0157] It is also possible to combine at least two of the feature features of the present invention described above. In other words, the various feature features described in each embodiment may be combined arbitrarily without distinction between embodiments. Furthermore, the various effects described above are merely examples and are not limiting, and other effects may also be exhibited.

[0158] 10... Torque command value generation unit 11... Subtractor 12... Speed ​​controller 13... Adder 14... Torque control mode determination unit 15... Correction torque generator 100... Motor control device

Claims

1. A motor control device comprising a torque command value generation unit that generates a torque command value by adding a pre-correction torque command value for bringing the motor speed closer to a speed command value and a correction torque command value for suppressing periodic speed fluctuations of the motor, wherein the torque command value generation unit generates the correction torque command value based on a speed fluctuation estimate value obtained by estimating the speed fluctuation of the motor when the correction torque command value is set to 0.

2. A motor control device according to claim 1, wherein the torque command value generation unit increases the corrected torque command value as the amplitude of the estimated speed fluctuation value increases.

3. A motor control device according to claim 2, wherein the torque command value generation unit generates a corrected torque command value based on a speed fluctuation tolerance value indicating the allowable range of the actual speed fluctuation of the motor, and the motor control device reduces the speed fluctuation tolerance value as the amplitude of the estimated speed fluctuation value increases.

4. A motor control device according to claim 2, wherein the torque command value generation unit calculates at least one nth-order speed fluctuation component included in the actual speed fluctuation of the motor based on a speed fluctuation detection value obtained by detecting the actual speed fluctuation of the motor, with the order being n (where n is a natural number) based on the rotation period of the motor, and generates the corrected torque command value based on the at least one nth-order speed fluctuation component.

5. A motor control device according to claim 4, wherein the torque command value generation unit increases the number of the nth-order speed fluctuation components used to generate the corrected torque command value as the amplitude of the estimated speed fluctuation value increases.

6. A motor control device according to claim 4, wherein the torque command value generation unit calculates a plurality of nth-order speed fluctuation components as the at least one nth-order speed fluctuation component, generates the corrected torque command value such that at least a portion of the plurality of nth-order speed fluctuation components is limited to or less than a speed fluctuation tolerance value indicating the allowable range of the actual speed fluctuation of the motor, and increases the number of the nth-order speed fluctuation components limited to or less than the speed fluctuation tolerance value as the amplitude of the estimated speed fluctuation value increases.

7. A motor control device according to claim 1, wherein the torque command value generation unit estimates, as the speed fluctuation estimate, a speed fluctuation component of the order in which the amount of fluctuation of the load torque acting on the motor is maximum during the rotation period of the motor.