WO2021153021A1 - モータ制御装置 - Google Patents

モータ制御装置 Download PDF

Info

Publication number
WO2021153021A1
WO2021153021A1 PCT/JP2020/045887 JP2020045887W WO2021153021A1 WO 2021153021 A1 WO2021153021 A1 WO 2021153021A1 JP 2020045887 W JP2020045887 W JP 2020045887W WO 2021153021 A1 WO2021153021 A1 WO 2021153021A1
Authority
WO
WIPO (PCT)
Prior art keywords
value
current
command value
limit
correction torque
Prior art date
Application number
PCT/JP2020/045887
Other languages
English (en)
French (fr)
Inventor
昌春 浦山
由樹 齋藤
Original Assignee
株式会社富士通ゼネラル
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 株式会社富士通ゼネラル filed Critical 株式会社富士通ゼネラル
Publication of WO2021153021A1 publication Critical patent/WO2021153021A1/ja

Links

Images

Classifications

    • HELECTRICITY
    • H02GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
    • H02PCONTROL OR REGULATION OF ELECTRIC MOTORS, ELECTRIC GENERATORS OR DYNAMO-ELECTRIC CONVERTERS; CONTROLLING TRANSFORMERS, REACTORS OR CHOKE COILS
    • H02P21/00Arrangements or methods for the control of electric machines by vector control, e.g. by control of field orientation
    • H02P21/22Current control, e.g. using a current control loop

Definitions

  • This disclosure relates to a motor control device.
  • the load torque fluctuates periodically during one rotation of the rotor of the motor that drives the compressor.
  • This periodic load torque fluctuation occurs due to the pressure change of the refrigerant gas between the suction, compression, and discharge strokes, and is sometimes referred to as the fluctuation of the rotation speed of the motor (hereinafter, simply referred to as "speed fluctuation”).
  • speed fluctuation causes motor vibration.
  • torque control periodic disturbance suppression control
  • speed fluctuations are used to suppress fluctuations in the rotational speed of the motor (hereinafter sometimes referred to as "speed fluctuations”). Will be done.
  • this disclosure proposes a technique capable of stably operating the motor without stopping the motor due to the operation of the overcurrent protection function.
  • the motor control device of the present disclosure includes a current command value calculator and a correction torque limit value generator.
  • the current command value calculator is based on the total correction torque command value obtained by adding the average torque command value generated based on the speed command value and the speed of the motor and the correction torque command value for correcting the torque command value. And calculate the current command value.
  • the correction torque limit value generator limits the correction torque command value when the correction torque command value is not zero and the maximum value of the motor current is equal to or greater than a predetermined current limit value.
  • the motor can be operated stably without stopping the motor due to the operation of the overcurrent protection function.
  • FIG. 1 is a diagram showing a configuration example of a motor control device according to a first embodiment of the present disclosure.
  • FIG. 2 is a diagram showing a configuration example of the current error correction value generator according to the first embodiment of the present disclosure.
  • FIG. 3 is a diagram showing a configuration example of the correction torque limit value generator according to the first embodiment of the present disclosure.
  • FIG. 4 is a diagram provided for explaining an operation example of the peak hold calculator according to the first embodiment of the present disclosure.
  • FIG. 5 is a diagram showing a configuration example of the correction torque generator according to the first embodiment of the present disclosure.
  • FIG. 6A is a diagram provided for explaining an operation example of the motor control device according to the first embodiment of the present disclosure.
  • FIG. 6A is a diagram provided for explaining an operation example of the motor control device according to the first embodiment of the present disclosure.
  • FIG. 6B is a diagram provided for explaining an operation example of the motor control device according to the first embodiment of the present disclosure.
  • FIG. 6C is a diagram provided for explaining an operation example of the motor control device according to the first embodiment of the present disclosure.
  • FIG. 7 is a diagram provided for explaining an operation example of the motor control device according to the first embodiment of the present disclosure.
  • FIG. 8 is a diagram provided for explaining an operation example of the motor control device according to the first embodiment of the present disclosure.
  • FIG. 9 is a diagram showing a configuration example of the motor control device according to the second embodiment of the present disclosure.
  • FIG. 10 is a diagram showing a configuration example of the correction torque limit value generator according to the second embodiment of the present disclosure.
  • FIG. 11 is a diagram provided for explaining an operation example of the peak hold calculator according to the second embodiment of the present disclosure.
  • FIG. 12A is a diagram provided for explaining an operation example of the motor control device according to the second embodiment of the present disclosure.
  • FIG. 12B is a diagram provided for explaining an operation example of the motor control device according to the second embodiment of the present disclosure.
  • FIG. 12C is a diagram provided for explaining an operation example of the motor control device according to the second embodiment of the present disclosure.
  • FIG. 13 is a diagram provided for explaining an operation example of the motor control device according to the second embodiment of the present disclosure.
  • FIG. 14 is a diagram provided for explaining an operation example of the motor control device according to the second embodiment of the present disclosure.
  • FIG. 15 is a diagram showing an example of the current limit operation of the first embodiment of the present disclosure.
  • FIG. 16 is a diagram showing an example of the current limit operation of the second embodiment of the present disclosure.
  • a motor control device that controls torque of a permanent magnet synchronous motor (PMSM (Permanent Magnet Synchronous Motor)) that drives a compressor having periodic load torque fluctuations by position sensorless vector control will be described as an example. ..
  • PMSM Permanent Magnet Synchronous Motor
  • the disclosed technique is widely applicable to a motor control device that controls torque of a motor that drives a compressor having periodic load torque fluctuations.
  • FIG. 1 is a diagram showing a configuration example of a motor control device according to a first embodiment of the present disclosure.
  • the motor control device 100 includes subtractors 11, 18, 19, 40, a speed controller 12, adders 13, 16, 17, 21, 22, current command value calculator 14, and voltage command. It has a value calculator 20, 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.
  • PMSM is an example of the motor M.
  • the motor control device 100 has a shunt resistor 26, current sensors 27a and 27b, and a 3 ⁇ current calculator 28.
  • the motor control device 100 may have either a shunt resistor 26 or current sensors 27a and 27b.
  • the motor control device 100 includes an u, v, w / dq converter 29, an axis error calculator 30, a PLL (Phase Locked Loop) controller 31, a position estimator 32, and 1 / Pn processing.
  • IIR filters Intelligent Impulse Response Filter
  • the subtractor 11 is the current estimated angular velocity output from the 1 / Pn processor 33 from the mechanical angular velocity command value ⁇ m * input to the motor control device 100 from the outside of the motor control device 100 (for example, a higher-level controller).
  • the angular velocity error ⁇ is calculated by subtracting a certain mechanical angular velocity estimated angular velocity ⁇ m.
  • the speed controller 12 generates an average torque command value To * such that the average of the angular velocity error ⁇ output from the subtractor 11 approaches zero.
  • the adder 13 calculates the total torque command value T * by adding the average torque command value To * output from the speed controller 12 and the correction torque command value ⁇ T output from the correction torque generator 34. ..
  • the current command value calculator 14 is based on the intersection of the constant torque curve indicated by the total torque command value T * and the MTPI (maximum torque / current control) curve, and the q-axis current command value Iq * and the d-axis current command value. Calculate Id *.
  • the intersection of the constant torque curve and the MTPI curve is, for example, the motor torque equation shown in the equation (1) and the equation (2) showing the relationship between the d-axis current Id and the q-axis current Iq in the MTPI curve.
  • the first term represents the magnet torque
  • the second term represents the reluctance torque
  • the magnet torque includes only the q-axis current Iq
  • the reluctance torque is the q-axis current Iq and the d-axis current Id. Including both. Therefore, by appropriately controlling the q-axis current Iq and the d-axis current Id, it is possible to generate an appropriate torque in the motor M.
  • the equation (3) which is a quartic equation relating to the q-axis current Iq, can be obtained.
  • the quartic equation shown in equation (3) derives a solution corresponding to the q-axis current command value Iq * at the intersection of the constant torque curve of the total torque command value T * and the MTPI curve, using, for example, Newton's method. can do. Further, the current command value calculator 14 calculates the d-axis current command value Id * according to the equation (2) based on the q-axis current command value Iq * calculated according to the equation (3).
  • the adder 17 has a q-axis current command value Iq * output from the current command value calculator 14 and a q-axis current error output from the current error correction value generator 37 according to the equation (4.1).
  • the q-axis current correction command value Iq_FF * is calculated by adding the correction value ⁇ Iq.
  • the adder 16 has a d-axis current command value Id * output from the current command value calculator 14 and a d-axis current error correction value ⁇ Id output from the current error correction value generator 37 according to the equation (4.2). Is added to calculate the d-axis current correction command value Id_FF *.
  • the subtractor 19 subtracts the q-axis current Iq output from the u, v, w / d-q converter 29 from the q-axis current correction command value Iq_FF * output from the adder 17, thereby subtracting the q-axis current Iq.
  • the q-axis current error Iq_diff which is the error between the current correction command value Iq_FF * and the q-axis current Iq, is calculated.
  • the subtractor 18 subtracts the d-axis current Id output from the u, v, w / dq converter 29 from the d-axis current correction command value Id_FF * output from the adder 16, thereby subtracting the d-axis current Id.
  • the d-axis current error Id_diff which is the error between the current correction command value Id_FF * and the d-axis current Id, is calculated.
  • the voltage command value calculator 20 performs PI (Proportional Integral) control based on the q-axis current error Iq_diff (Iq_FF * -Iq) according to the equation (5.1) to perform non-interference q-axis voltage command value Vqt. Is calculated. Further, the voltage command value calculator 20 calculates the pre-interference d-axis voltage command value Vdt by performing PI control based on the d-axis current error Id_diff (Id_FF * -Id) according to the equation (5.2). do. Note that kp_q in equation (5.1) and kp_d in equation (5.2) are proportional constants, and ki_q in equation (5.1) and ki_d in equation (5.2) are constants of integration.
  • PI Proportional Integral
  • the adder 22 adds the q-axis decoupling correction value Vqa represented by the equation (6.1) to the q-axis voltage command value Vqt before decoupling according to the equation (6.3), thereby q. Calculate the shaft voltage command value Vq *.
  • the adder 21 adds the d-axis decoupling correction value Vda represented by the equation (6.2) to the d-axis voltage command value Vdt before decoupling according to the equation (6.4), thereby d. Calculate the shaft voltage command value Vd *.
  • the q-axis voltage command value Vq * and the d-axis voltage command value Vd * in which the interference between the dq axes is canceled by feedforward are calculated.
  • the IIR filter 35a removes the noise of the d-axis current Id output from the u, v, w / dq converter 29, and outputs the d-axis response current Id_ir after removing the noise.
  • the IIR filter 35b removes the noise of the q-axis current Iq output from the u, v, w / dq converter 29, and outputs the q-axis response current Iq_ir after removing the noise.
  • the IIR filters 35a and 35b are examples of noise reduction filters.
  • the non-interfering controller 36 is non-interfering according to the equation (6.2) based on the electric angular velocity command value ⁇ e * from the outside of the motor control device 100 (for example, the upper controller) and the q-axis response current Iq_ir.
  • the d-axis decoupling correction value Vda for correcting the d-axis voltage command value Vdt before conversion is generated.
  • the non-interfering controller 36 is for correcting the pre-interfering q-axis voltage command value Vqt according to the equation (6.1) based on the electric angular velocity command value ⁇ e * and the d-axis response current Id_ir.
  • the q-axis decoupling correction value Vqa is generated.
  • the d-axis non-interference correction value Vda and the q-axis non-interference correction value Vqa are correction values for canceling the interference term between the dq axes by feedforward.
  • the non-interference correction value is a DC value. Therefore, in generating the non-interference correction value, the electric angular velocity command value ⁇ e * was used for the velocity, and for the d-axis current Id and the q-axis current Iq, the variable components were removed by the IIR filters 35a and 35b.
  • the d-axis response current Id_ir and the q-axis response current Iq_ir are used.
  • the current error correction value generator 37 outputs the d-axis current command value Id * and the q-axis current command value Iq * output from the current command value calculator 14 and the u, v, w / dq converter 29. Based on the d-axis current Id and the q-axis current Iq and the mechanical angle phase ⁇ m output from the position estimator 32, the d-axis current error correction value ⁇ Id and the q-axis current error correction value ⁇ Iq are generated.
  • the current error correction value generator 37 integrates fluctuation errors (phase error and amplitude error) that occur when the dq-axis current cannot follow the current command value due to the response delay of the current command value calculator 14 and the interference of the dq axis. Then, the inverted output of the integrated value is generated as a current error correction value (d-axis current error correction value ⁇ Id and q-axis current error correction value ⁇ Iq).
  • the d-axis current error correction value ⁇ Id is a feed-forward component for correcting the fluctuation error between the d-axis current command value I * and the d-axis current Id
  • the q-axis current error correction value ⁇ Iq is the q-axis current error correction value ⁇ Iq. This is a feed-forward component for correcting the fluctuation error between the current command value Iq * and the q-axis current Iq.
  • the dq / u, v, w converter 23 outputs the two-phase d-axis voltage command value Vd * and the q-axis voltage command value Vq * output from the adders 21 and 22 from the position estimator 32. Based on the electric angle phase (dq axis phase) ⁇ e, it is converted into a three-phase U-phase output voltage command value Vu * , a V-phase output voltage command value Vv *, and a W-phase output voltage command value Vw *.
  • the electric angle phase ⁇ e output from the position estimator 32 indicates the current rotor position of the motor M.
  • the PWM modulator 24 generates a 6-phase PWM signal 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. , The generated 6-phase PWM signal is output to the IPM25.
  • the IPM 25 converts the DC voltage Vdc supplied from the outside based on the 6-phase PWM signal output from the PWM modulator 24, and applies it to each of the U phase, V phase, and W phase of the motor M. An AC voltage is generated, and the generated AC voltage is applied to the U phase, V phase, and W phase of the motor M.
  • the 3 ⁇ current calculator 28 uses the 6-phase PWM switching information output from the PWM modulator 24 and the detected bus current to determine the motor.
  • the U-phase current value Iu, the V-phase current value Iv, and the W-phase current value Iw of M are calculated.
  • the 3 ⁇ current calculator 28 outputs the phase current values Iu, Iv, Iw of each phase to the u, v, w / dq converter 29.
  • the u, v, w / dq converter 29 is a three-phase U-phase current value Iu, V-phase output from the 3 ⁇ current calculator 28 based on the electric angle phase ⁇ e output from the position estimator 32.
  • the current value Iv and the W-phase current value Iw are converted into the two-phase d-axis current Id and the q-axis current Iq.
  • the axis error calculator 30 has a d-axis voltage command value Vd * and a q-axis voltage command value Vq * output from the adders 21 and 22, and d output from the u, v, w / dq converter 29.
  • the axis error ⁇ (difference between the estimated rotation axis and the actual rotation axis) is calculated using the axis current Id and the q-axis current Iq.
  • the PLL controller 31 calculates the electric angle estimated angular velocity ⁇ e, which is the current estimated angular velocity of the motor M, based on the axis error ⁇ output from the axis error calculator 30.
  • the position estimator 32 estimates the electric angle phase ⁇ e and the mechanical angle phase ⁇ m based on the electric angle estimated angular velocity ⁇ e output from the PLL controller 31.
  • the 1 / Pn processor 33 calculates the machine angle estimated angular velocity ⁇ m by dividing the electric angle estimated angular velocity ⁇ e output from the PLL controller 31 by the pole logarithm Pn of the motor M.
  • the subtractor 40 calculates the machine angle estimated angular velocity fluctuation ⁇ m by subtracting the machine angle velocity command value ⁇ m * from the machine angle estimated angular velocity ⁇ m output from the 1 / Pn processor 33.
  • the correction torque generator 34 has a speed fluctuation permissible value
  • * is stored in the motor control device 100. Further, the mechanical angle estimated angular velocity fluctuation (velocity fluctuation) ⁇ m is different only in the positive and negative signs from the value of the above angular velocity error ⁇ .
  • the correction torque limit value generator 38 is based on the current limit value Ia_limit and the d-axis current command value Id * and the q-axis current command value Iq * output from the current command value calculator 14, and the correction torque command value ⁇ T.
  • _limit that limits the correction torque amplitude
  • FIG. 2 is a diagram showing a configuration example of the current error correction value generator according to the first embodiment of the present disclosure.
  • the current error correction value generator 37 includes subtractors 37a and 37e, a q-axis current error component separator 37b, a q-axis current error accumulator 37c, and a q-axis current error correction value demodulator 37d. It has a d-axis current error component separator 37f, a d-axis current error accumulator 37g, and a d-axis current error correction value demodulator 37h.
  • the subtractor 37a calculates the q-axis current fluctuation error Iq_err, which is the error between the q-axis current Iq and the q-axis current command value Iq *, according to the equation (7).
  • the q-axis current error component separator 37b has two Fourier coefficients Iq_err_sin (sin component) and Iq_err_cos (cos), which are fundamental wave components of the q-axis current fluctuation error Iq_err, according to equations (8.1) and (8.2). Component) is calculated for each machine angle period.
  • the q-axis current error integrator 37c has a sin component Iq_err_sin of the q-axis current fluctuation error Iq_err and a cos component Iq_err_cos of the q-axis current fluctuation error Iq_err according to the equations (9.1) and (9.2), respectively.
  • the correction gain k is multiplied, and the respective multiplication results are added to Iq_err_sin_i_old and Iq_err_cos_i_old.
  • Iq_err_sin_i in the equation (9.1) is the integral value of IQ_err_sin up to the current machine angle period
  • Iq_err_cos_i in the equation (9.2) is the integral value of Iq_err_cos up to the current machine angle period.
  • IQ_err_sin_i_old in the equation (9.1) is IQ_err_sin_i up to the previous machine angle period
  • Iq_err_cos_i_old in the equation (9.2) is Iq_err_cos_i up to the previous machine angle period.
  • the q-axis current error correction value demodulator 37d calculates the q-axis current error correction value ⁇ Iq according to the equations (10.1) and (10.2). As a result, the phase of the q-axis current fluctuation error is inverted, and the instantaneous value of the q-axis current error correction value ⁇ Iq at the mechanical angle phase ⁇ m is calculated.
  • the subtractor 37e calculates the d-axis current fluctuation error Id_err, which is the error between the d-axis current Id and the d-axis current command value Id *, according to the equation (11).
  • the d-axis current error component separator 37f has two Fourier coefficients, Id_err_sin (sin component) and Id_err_cos (cos), which are fundamental wave components of the d-axis current fluctuation error Id_err, according to Eqs. (12.1) and (12.2). Component) is calculated for each mechanical angle period.
  • the d-axis current error integrator 37g is provided with 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, respectively, according to the equations (13.1) and (13.2).
  • the correction gain k is multiplied, and Id_err_sin_i_old and Id_err_cos_i_old are added to each multiplication result.
  • Id_err_sin_i in the equation (13.1) is an integral value of Id_err_sin up to the current machine angle period
  • Id_err_cos_i in the equation (13.2) is an integral value of Id_err_cos in the current machine angle period.
  • Id_err_sin_i_old in the equation (13.1) is Id_err_sin_i up to the previous machine angle period
  • Id_err_cos_i_old in the equation (13.2) is Id_err_cos_i in the previous machine angle period.
  • the d-axis current error correction value demodulator 37h calculates the d-axis current error correction value ⁇ Id according to the equations (14.1) and (14.2). As a result, the phase of the d-axis current fluctuation error is inverted, and an instantaneous value of the d-axis current error correction value ⁇ Id at the mechanical angle phase ⁇ m is generated.
  • FIG. 3 is a diagram showing a configuration example of the correction torque limit value generator according to the first embodiment of the present disclosure.
  • the correction torque limit value generator 38 includes a current amplitude calculator 38a, a peak hold calculator 38b, a subtractor 38c, and a ⁇ T limit value generator 38d.
  • the current amplitude calculator 38a calculates the current command value amplitude Ia * according to the equation (15) based on the d-axis current command value Id * and the q-axis current command value Iq *, and calculates the current command value amplitude Ia. * Is output to the peak hold calculator 38b.
  • the peak hold calculator 38b acquires the maximum value of the current command value amplitude Ia * as the current command peak value Ia * _peak in each acquisition period Tm for each predetermined acquisition period Tm, and acquires the current command peak value Ia * _peak. Is output to the subtractor 38c.
  • the predetermined acquisition period Tm corresponds to the mechanical angle period of the motor M.
  • FIG. 4 is a diagram provided for explaining an operation example of the peak hold calculator according to the first embodiment of the present disclosure.
  • Temporary current command peak value Ia * _peak_temp peak hold value of current command value amplitude Ia * that changes with the passage of time in the target acquisition period Tm
  • the current command value amplitude Ia * is the temporary current command peak.
  • the temporary current command peak value Ia * _peak_temp is updated by the current command value amplitude Ia *.
  • the peak hold calculator 38b sets the temporary current command peak value Ia * _peak_temp to the current command peak value Ia * _peak according to the equation (17) at the end of the acquisition period Tm1, and also according to the equation (18). Initialize the temporary current command peak value Ia * _peak_temp to zero. That is, the temporary current command peak value Ia * _peak_temp at the end of the acquisition period Tm1 is acquired as a current command peak value Ia * _peak in obtaining period Tm2 is the next acquisition period of acquisition period Tm1.
  • the peak hold calculator 38b sets the temporary current command peak value Ia * _peak_temp to the current command peak value Ia * _peak according to the equation (17) at the end of the acquisition period Tm2, and also according to the equation (18). Initialize the temporary current command peak value Ia * _peak_temp to zero. That is, the temporary current command peak value Ia * _peak_temp at the end of the acquisition period Tm2 is acquired as a current command peak value Ia * _peak in the next acquisition period is acquisition period Tm3 the acquisition period Tm2.
  • the subtracter 38c subtracts the predetermined current limit value Ia_limit from the current command peak value Ia * _peak, according to equation (19), the deviation of the current command peak value Ia * _peak for current limit Ia_limit Ia * Calculate _err.
  • the predetermined current limit value Ia_limit is preferably set as a value obtained by subtracting a predetermined margin MA from the current trip value Ia_trip, which is the current threshold value at which the overcurrent protection function of the motor M operates.
  • the ⁇ T limit value generator 38d generates a correction torque limit value
  • the ⁇ T amplitude limit flag is set to “ON”, the correction torque command value ⁇ T is limited, and when the ⁇ T amplitude limit flag is set to “Off”, the correction torque command value ⁇ T is limited. Not given.
  • the ⁇ T limit value generator 38d is used when the correction torque command value ⁇ T output from the correction torque generator 34 is not 0 (zero) (that is, when torque control is being executed) and the deviation Ia * _err is positive.
  • “ ⁇ T ⁇ 0” and “Ia * _err ⁇ 0” it corresponds to the case where it is desired to limit the correction torque command value ⁇ T so that the motor M does not reach the current trip.
  • the ⁇ T limit value generator 38d sets the ⁇ T amplitude limit flag to “off” when it is not necessary to limit the correction torque command value ⁇ T.
  • the ⁇ T amplitude limit flag is set to “off” when the deviation Ia * _err is a negative value, the correction torque command value ⁇ T is limited and the correction torque command value ⁇ T is given.
  • repetition hereinafter sometimes referred to as "torque limit hunting" with a short cycle of releasing the restricted limit may occur.
  • the ⁇ T limit value generator 38d sets the ⁇ T amplitude limit flag when the velocity fluctuation amplitude
  • the ⁇ T limit value generator 38d generates the correction torque limit value
  • _limit is generated according to the equation (20).
  • G” in the equation (20) is a predetermined gain value multiplied by the deviation Ia * _err. That is, when the ⁇ T amplitude limit flag is “ON”, the ⁇ T limit value generator 38d performs integration control with the correction torque amplitude
  • ⁇ T is set to a large value such that the correction torque command value ⁇ T is not limited.
  • the ⁇ T limit value generator 38d sets a value three times the average torque command value To * to the correction torque limit value
  • the correction torque command value ⁇ T is practically not limited.
  • the ⁇ T limit value generator 38d outputs the correction torque limit value
  • FIG. 5 is a diagram showing a configuration example of the correction torque generator according to the first embodiment of the present disclosure.
  • the correction torque generator 34 includes a speed fluctuation component separator 34a, a speed fluctuation amplitude calculator 34b, a subtractor 34c, a correction torque amplitude calculator 34d, a speed fluctuation phase corrector 34e, and an orthogonal component. It has a separator 34f, a correction torque demodulator 34g, and a correction torque amplitude limiter 34h.
  • the velocity fluctuation component separator 34a sets the mechanical angle estimated angular velocity fluctuation ⁇ m to ⁇ m according to the equations (22.1) and (22.2) based on the mechanical angle phase ⁇ m for each mechanical angle period. It is separated into two Fourier coefficients ⁇ sin (sin component) and ⁇ cos (cos component), which are the fundamental wave components of. By calculating the Fourier coefficient of the fundamental wave component of the machine angle estimated angular velocity fluctuation ⁇ m for each machine angle period, the harmonic component of the machine angle estimated angular velocity fluctuation ⁇ m is removed, and the fundamental wave component of the machine angle estimated angular velocity fluctuation ⁇ m is obtained. It can be extracted with high accuracy. ⁇ sin and ⁇ cos are values that are updated every mechanical angle period.
  • the velocity fluctuation amplitude calculator 34b calculates the velocity fluctuation amplitude
  • the subtractor 34c calculates the velocity fluctuation error
  • * defines the permissible speed fluctuation amplitude
  • the corrected torque amplitude calculator 34d adjusts the corrected torque amplitude
  • the correction torque amplitude limiter 34h is used when the correction torque amplitude
  • is rewritten by the correction torque limit value
  • is set to the correction torque limit value
  • the correction torque amplitude limiter 34h is orthogonal to the correction torque amplitude
  • the velocity fluctuation phase corrector 34e corrects the phase of the mechanical angle estimated angular velocity fluctuation ⁇ m acquired for each mechanical angle period. For example, the velocity fluctuation phase corrector 34e multiplies each of the Fourier coefficients ⁇ sin and ⁇ cos by the correction gain k according to the equations (25.1) and (25.2), and adds ⁇ sin_i_old and ⁇ cos_i_old to the respective multiplication results. do.
  • the ⁇ sin_i_old in the equation (25.1) is ⁇ sin_i in the previous mechanical angle period
  • the ⁇ cos_i_old in the equation (25.2) is the ⁇ cos_i in the previous mechanical angle period.
  • the speed fluctuation phase corrector 34e calculates the inverse tangent (Arctangent) of ⁇ sin_i and ⁇ cos_i as the speed fluctuation correction phase ⁇ i according to the equation (25.3).
  • This speed fluctuation correction phase ⁇ i serves as a reference for the phase when torque control is performed, and the phase retarded by ⁇ / 2 with respect to this reference becomes the phase (correction torque phase) of the correction torque command value ⁇ T.
  • the orthogonal component separator 34f has the equation (26.1) based on the correction torque amplitude
  • the correction torque demodulator 34g sets the correction torque command value ⁇ T according to the equations (27.1) and (27.2) based on the sin component ( ⁇ sin_i) and the cos component ( ⁇ cos_i) of the speed fluctuation correction phase ⁇ i. calculate.
  • the speed fluctuation correction phase ⁇ i is converted into a correction torque phase retarded by ⁇ / 2, and an instantaneous value of the correction torque command value ⁇ T at the mechanical angle phase ⁇ m is generated.
  • the correction torque demodulator 34g may calculate the instantaneous value of the correction torque command value ⁇ T according to the equation (28) instead of the equation (27.1) and the equation (27.2).
  • the adder 13 shown in FIG. 1 adds the correction torque command value ⁇ T output from the correction torque demodulator 34g to the average torque command value To * output from the speed controller 12 according to the equation (29). As a result, the total torque command value T * is calculated.
  • 6A, 6B, 6C, 7 and 8 are diagrams provided for explaining an operation example of the motor control device according to the first embodiment of the present disclosure.
  • FIG. 6A, 6B and 6C show the behavior of the current vector in the motor control device 100.
  • the ⁇ T amplitude limit flag is set to “ON” and the correction torque amplitude
  • FIG. 6B if the current command peak value Ia * _peak is still larger than the current limit value Ia_limit, the correction torque amplitude
  • _limit becomes smaller.
  • the current command peak value Ia * _peak is suppressed to the current limit value Ia_limit.
  • FIG. 7 shows the time change between the current command value amplitude Ia * and the current command peak value Ia * _peak.
  • the current limit value Ia_limit is set as a value obtained by subtracting a predetermined margin MA from the current trip value Ia_trip.
  • the current command peak value Ia * _peak increases.
  • the ⁇ T amplitude limiting flag is set to “ON” to limit the corrected torque amplitude
  • the ⁇ T amplitude limit flag is set to “off”, and the current command peak value Ia * _peak decreases as the load of the motor M decreases.
  • FIG. 8 a time change of the velocity fluctuation amplitude
  • the current command peak value Ia * _peak increases due to the increase in the torque control amount.
  • follows the velocity fluctuation allowable value
  • the ⁇ T amplitude limit flag is set to “ON” and the correction torque amplitude
  • the ⁇ T amplitude limiting flag is set to “OFF” and the restriction of the correction torque amplitude
  • follows the velocity fluctuation allowable value
  • FIG. 9 is a diagram showing a configuration example of the motor control device according to the second embodiment of the present disclosure.
  • the motor control device 200 shown in FIG. 9 has a correction torque limit value generator 39 instead of the correction torque limit value generator 38 included in the motor control device 100 shown in FIG. Further, in the motor control device 100 shown in FIG. 1, the d-axis current command value Id * and the q-axis current command value Iq * output from the current command value calculator 14 are input to the correction torque limit value generator 38. On the other hand, in the motor control device 200 shown in FIG. 9, the d-axis current Id and the q-axis current Iq output from the u, v, w / dq converter 29 are input to the correction torque limit value generator 39. NS.
  • FIG. 10 is a diagram showing a configuration example of the correction torque limit value generator according to the second embodiment of the present disclosure.
  • the correction torque limit value generator 39 includes a current amplitude calculator 39a, a peak hold calculator 39b, a subtractor 39c, and a ⁇ T limit value generator 39d.
  • the current amplitude calculator 39a calculates the detected current value amplitude Ia according to the equation (30) based on the d-axis current Id and the q-axis current Iq, and transfers the calculated detected current value amplitude Ia to the peak hold calculator 39b. Output.
  • the peak hold calculator 39b acquires the maximum value of the detected current value amplitude Ia in each acquisition period Tm as the current peak value Ia_peak for each predetermined acquisition period Tm, and outputs the acquired current peak value Ia_peak to the subtractor 39c. ..
  • the predetermined acquisition period Tm corresponds to the mechanical angle period of the motor M.
  • FIG. 11 is a diagram provided for explaining an operation example of the peak hold calculator according to the second embodiment of the present disclosure.
  • the temporary current peak value Ia_peak_temp the peak hold value of the current command value amplitude Ia that changes with the passage of time in the target acquisition period Tm
  • the detected current value amplitude Ia became larger than the temporary current peak value Ia_peak_temp.
  • the temporary current peak value Ia_peak_temp is updated by the detected current value amplitude Ia.
  • the peak hold calculator 39b sets the temporary current peak value Ia_peak_temp to the current peak value Ia_peak according to the equation (32) and sets the temporary current peak value Ia_peak_temp according to the equation (33) at the end of the acquisition period Tm1. Initialize to zero. That is, the temporary current peak value Ia_peak_temp at the end of the acquisition period Tm1 is acquired as the current peak value Ia_peak in the acquisition period Tm2, which is the next acquisition period of the acquisition period Tm1.
  • the temporary current peak value Ia_peak_temp are compared, and when the detected current value amplitude Ia becomes larger than the temporary current peak value Ia_peak_temp, the temporary current peak value Ia_peak_temp is updated by the detected current value amplitude Ia. That is, even in the acquisition period Tm2, the provisional current peak value Ia_peak_temp is updated so as to trace the maximum value of the detected current value amplitude Ia at any time, as in the acquisition period Tm1.
  • the peak hold calculator 39b sets the temporary current peak value Ia_peak_temp to the current peak value Ia_peak according to the equation (32) at the end of the acquisition period Tm2, and sets the temporary current peak value Ia_peak_temp according to the equation (33). Initialize to zero. That is, the temporary current peak value Ia_peak_temp at the end of the acquisition period Tm2 is acquired as the current peak value Ia_peak in the acquisition period Tm3, which is the next acquisition period of the acquisition period Tm2.
  • the subtractor 39c calculates the deviation Ia_err of the current peak value Ia_peak with respect to the current limit value Ia_limit by subtracting the predetermined current limit value Ia_limit from the current peak value Ia_peak according to the equation (34).
  • the predetermined current limit value Ia_limit is preferably set as a value obtained by subtracting a predetermined margin MA from the current trip value Ia_trip, which is the current threshold value at which the overcurrent protection function of the motor M operates.
  • the ⁇ T limit value generator 39d generates a correction torque limit value
  • the ⁇ T amplitude limit flag is set to “ON”, the correction torque command value ⁇ T is limited, and when the ⁇ T amplitude limit flag is set to “Off”, the correction torque command value ⁇ T is limited. Not given.
  • the ⁇ T limit value generator 39d is a value when the correction torque command value ⁇ T output from the correction torque generator 34 is not 0 (zero) (that is, when torque control is being executed) and the deviation Ia_err is a positive value.
  • the ⁇ T amplitude limit flag is set to “on”. That is, the ⁇ T limit value generator 39d sets the ⁇ T amplitude limit flag to “on” when “ ⁇ T ⁇ 0” and “Ia_err ⁇ 0”.
  • “ ⁇ T ⁇ 0” and “Ia_err ⁇ 0” it corresponds to the case where it is desired to limit the correction torque command value ⁇ T so that the motor M does not reach the current trip.
  • the ⁇ T limit value generator 39d sets the ⁇ T amplitude limit flag to “off” when it is not necessary to limit the correction torque command value ⁇ T.
  • the ⁇ T amplitude limit flag is set to “off” when the deviation Ia_err is a negative value, torque limit hunting may occur. That is, when the ⁇ T amplitude limit flag is set to “OFF”, when the velocity fluctuation amplitude
  • the ⁇ T limit value generator 39d sets the ⁇ T amplitude limit flag when the velocity fluctuation amplitude
  • the ⁇ T limit value generator 39d generates the correction torque limit value
  • _old and the deviation Ia_err is generated according to the equation (35).
  • G” in equation (35) is a predetermined gain value multiplied by the deviation Ia_err. That is, when the ⁇ T amplitude limit flag is “ON”, the ⁇ T limit value generator 39d performs integration control with the correction torque amplitude
  • ⁇ T is set to a large value so that the correction torque command value ⁇ T is not limited.
  • the ⁇ T limit value generator 39d sets a value three times the average torque command value To * to the correction torque limit value
  • the correction torque command value ⁇ T is practically not limited.
  • the ⁇ T limit value generator 39d outputs the correction torque limit value
  • FIG. 12A, 12B and 12C show the behavior of the current vector in the motor control device 200.
  • the ⁇ T amplitude limit flag is set to “ON” and the correction torque amplitude
  • FIG. 12B if the current peak value Ia_peak is still larger than the current limit value Ia_limit, the correction torque amplitude
  • _limit becomes smaller.
  • the current peak value Ia_peak is suppressed to the current limit value Ia_limit.
  • FIG. 13 shows the time change between the current command value amplitude Ia and the current command peak value Ia_peak.
  • the current limit value Ia_limit is set as a value obtained by subtracting a predetermined margin MA from the current trip value Ia_trip.
  • the current peak value Ia_peak increases.
  • the ⁇ T amplitude limiting flag is set to “ON” to limit the corrected torque amplitude
  • the ⁇ T amplitude limit flag is set to “off”, and the current peak value Ia_peak decreases as the load on the motor M decreases.
  • FIG. 14 a time change of the velocity fluctuation amplitude
  • the current peak value Ia_peak increases due to the increase in the torque control amount.
  • the ⁇ T amplitude limiting flag is “off”
  • follows the velocity fluctuation allowable value
  • the ⁇ T amplitude limit flag is set to “ON” and the correction torque amplitude
  • does not follow the velocity fluctuation allowable value
  • and the current peak value Ia_peak decrease as the load of the motor M decreases.
  • the ⁇ T amplitude limiting flag is set to “OFF” and the restriction of the correction torque amplitude
  • FIG. 15 shows an example of the current limit operation in the first embodiment
  • FIG. 16 shows an example of the current limit operation in the second embodiment
  • FIG. 15 shows a comparative example depending on the presence or absence of current noise when the limit is applied by the current command value as in the first embodiment
  • FIG. 16 shows the case where the limit is applied by the current detection value as in the second embodiment.
  • a comparative example with and without current noise is shown.
  • the ⁇ T amplitude limit is based on the comparison result between the current command peak value Ia * _peak calculated based on the d-axis current command value Id * and the q-axis current command value Iq * and the current limit value Ia_limit.
  • the flag is set. Therefore, as shown in FIG. 15, if the current limit value Ia_limit is not appropriate, the current command value amplitude Ia * may reach the current trip value Ia_trip when the noise component of the detected current is large. In order to prevent the current command value amplitude Ia * from reaching the current trip value Ia_trip, tuning such as reducing the current limit value Ia_limit is required.
  • the ⁇ T amplitude limit flag is set based on the comparison result between the detected current peak value Ia_peak calculated based on the d-axis current Id and the q-axis current Iq and the current limit value Ia_limit. NS.
  • the current limit is applied to the detected current, so that the same current is applied regardless of the presence or absence of noise.
  • the limit value Ia_limit can be used. Therefore, it is not necessary to tune the current limit value Ia_limit with respect to the current trip value Ia_trip, so that the man-hours required for tuning the current limit value Ia_limit can be reduced.
  • the motor control device (motor control device 100 of the first embodiment) of the present disclosure includes a current command value calculator (current command value calculator 14 of the first embodiment) and a correction torque limit value generator (implementation). It has the correction torque limit value generator 38) of Example 1.
  • the current command value calculator is an average torque command value (implementation) generated based on the speed command value (mechanical angular velocity command value ⁇ m * in Example 1) and the motor speed (machine angle estimated angular velocity ⁇ m in Example 1).
  • the total torque command value (total torque of Example 1) obtained by adding the average torque command value To * of Example 1 and the correction torque command value for correcting the torque command value (correction torque command value ⁇ T of Example 1).
  • the current command value (q-axis current command value Iq * , d-axis current command value Id * ) is calculated based on the command value T *).
  • the correction torque command value is not zero, and the maximum value of the current command value (current command peak value Ia * _peak in Example 1) is a predetermined current limit value (current in Example 1).
  • the limit value Ia_limit or more, the correction torque command value is limited.
  • the correction torque limit value generator (correction torque limit value generator 39 of the second embodiment) has a correction torque command value that is not zero and has a maximum motor current (d-axis current Id, q-axis current Iq).
  • d-axis current Id current-axis current Id
  • q-axis current Iq maximum motor current
  • the fluctuation range of the rotation speed of the motor (speed fluctuation amplitude of Examples 1 and 2
  • the limit given to the correction torque command value is released.
  • correction torque limit value generator is a value smaller than the current threshold value (current trip value Ia_trip of Examples 1 and 2) in which the overcurrent protection function of the motor is activated by a predetermined value (margin MA of Examples 1 and 2). Is used as the current limit value.

Landscapes

  • Engineering & Computer Science (AREA)
  • Power Engineering (AREA)
  • Control Of Ac Motors In General (AREA)

Abstract

過電流保護機能の作動によるモータの停止に至らずに安定してモータを動作させることができるモータ制御装置。モータ制御装置(100)において、電流指令値算出器(14)は、機械角速度指令値ωmと機械角推定角速度ωmとに基づいて生成される平均トルク指令値Toと平均トルク指令値Toを補正するための補正トルク指令値ΔTとを加算した合計トルク指令値Tに基づいて、q軸電流指令値Iq及びd軸電流指令値Idを算出し、補正トルク制限値生成器(38)は、補正トルク指令値ΔTがゼロでなく、かつ、電流指令ピーク値Ia_peakが電流リミット値Ia_limit以上のときに、補正トルク指令値ΔTに制限を与える。

Description

モータ制御装置
 本開示は、モータ制御装置に関する。
 空気調和装置に用いられる圧縮機では、圧縮機を駆動するモータのロータの1回転中において負荷トルクが周期的に変動する。この周期的な負荷トルク変動は、吸入、圧縮、吐出の各行程間における冷媒ガスの圧力変化に起因して発生し、モータの回転速度の変動(以下では単に「速度変動」と呼ぶことがある)によるモータの振動の発生要因となる。このような負荷トルク変動が発生する圧縮機を用いる場合、モータの回転速度の変動(以下では「速度変動」と呼ぶことがある)を抑えるために「トルク制御(周期的外乱抑制制御)」が行われる。
特開2019-118217号公報
 しかしながら、モータのイナーシャ(慣性モーメント)が小さい場合は速度変動が大きくなるため、速度変動を抑制するためのトルク制御による電流が増加する。また、モータの鎖交磁束が小さい場合においても、電流量に対する出力トルクが小さくなるため、速度変動を抑制するためのトルク制御による電流が増加する。このため、イナーシャが小さいモータや鎖交磁束が小さいモータにおいて過負荷状態でトルク制御を行うと、モータのピーク電流が過大となってしまうことがある。モータのピーク電流が過大になると、モータの減磁を防止するための過電流保護機能が作動してモータが停止に至ってしまう。この過電流保護機能の作動によるモータの停止は「電流トリップ」と呼ばれることがある。
 そこで、本開示では、過電流保護機能の作動によるモータの停止に至らずに安定してモータを動作させることができる技術を提案する。
 本開示のモータ制御装置は、電流指令値算出器と、補正トルク制限値生成器とを有する。電流指令値算出器は、速度指令値とモータの速度とに基づいて生成される平均トルク指令値とトルク指令値を補正するための補正トルク指令値とを加算した合計補正トルク指令値とに基づいて電流指令値を算出する。補正トルク制限値生成器は、補正トルク指令値がゼロでなく、かつ、モータの電流の最大値が所定の電流リミット値以上のときに、補正トルク指令値に制限を与える。
 本開示によれば、過電流保護機能の作動によるモータの停止に至らずに安定してモータを動作させることができる。
図1は、本開示の実施例1のモータ制御装置の構成例を示す図である。 図2は、本開示の実施例1の電流誤差補正値生成器の構成例を示す図である。 図3は、本開示の実施例1の補正トルク制限値生成器の構成例を示す図である。 図4は、本開示の実施例1のピークホールド算出器の動作例の説明に供する図である。 図5は、本開示の実施例1の補正トルク生成器の構成例を示す図である。 図6Aは、本開示の実施例1のモータ制御装置の動作例の説明に供する図である。 図6Bは、本開示の実施例1のモータ制御装置の動作例の説明に供する図である。 図6Cは、本開示の実施例1のモータ制御装置の動作例の説明に供する図である。 図7は、本開示の実施例1のモータ制御装置の動作例の説明に供する図である。 図8は、本開示の実施例1のモータ制御装置の動作例の説明に供する図である。 図9は、本開示の実施例2のモータ制御装置の構成例を示す図である。 図10は、本開示の実施例2の補正トルク制限値生成器の構成例を示す図である。 図11は、本開示の実施例2のピークホールド算出器の動作例の説明に供する図である。 図12Aは、本開示の実施例2のモータ制御装置の動作例の説明に供する図である。 図12Bは、本開示の実施例2のモータ制御装置の動作例の説明に供する図である。 図12Cは、本開示の実施例2のモータ制御装置の動作例の説明に供する図である。 図13は、本開示の実施例2のモータ制御装置の動作例の説明に供する図である。 図14は、本開示の実施例2のモータ制御装置の動作例の説明に供する図である。 図15は、本開示の実施例1の電流リミット動作の一例を示す図である。 図16は、本開示の実施例2の電流リミット動作の一例を示す図である。
 以下、本開示の実施例を図面に基づいて説明する。以下の実施例において同一の構成には同一の符号を付す。
 本開示では、周期的な負荷トルク変動を有する圧縮機を駆動する永久磁石同期モータ(PMSM(Permanent Magnet Synchronous Motor))のトルク制御を位置センサレスベクトル制御により行うモータ制御装置を一例に挙げて説明する。しかし、開示の技術は、周期的な負荷トルク変動を有する圧縮機を駆動するモータのトルク制御を行うモータ制御装置に広く適用可能である。
 [実施例1]
 <モータ制御装置の構成>
 図1は、本開示の実施例1のモータ制御装置の構成例を示す図である。図1において、モータ制御装置100は、減算器11,18,19,40と、速度制御器12と、加算器13,16,17,21,22と、電流指令値算出器14と、電圧指令値算出器20と、d-q/u,v,w変換器23と、PWM(Pulse Width Modulation)変調器24と、IPM(Intelligent Power Module)25とを有する。IPM25は、モータMに接続される。モータMの一例としてPMSMが挙げられる。
 また、モータ制御装置100は、シャント抵抗26と、電流センサ27a,27bと、3φ電流算出器28とを有する。なお、モータ制御装置100は、シャント抵抗26、または、電流センサ27a,27bの何れか一方を有していれば良い。
 また、モータ制御装置100は、u,v,w/d-q変換器29と、軸誤差演算器30と、PLL(Phase Locked Loop)制御器31と、位置推定器32と、1/Pn処理器33と、補正トルク生成器34と、IIRフィルタ(Infinite Impulse Response Filter)35a,35bと、非干渉化制御器36と、電流誤差補正値生成器37と、補正トルク制限値生成器38とを有する。
 減算器11は、モータ制御装置100の外部(例えば、上位のコントローラ)からモータ制御装置100へ入力された機械角速度指令値ωmから、1/Pn処理器33より出力された現在の推定角速度である機械角推定角速度ωmを減算することにより角速度誤差Δωを算出する。
 速度制御器12は、減算器11より出力された角速度誤差Δωの平均がゼロに近づくような平均トルク指令値Toを生成する。
 加算器13は、速度制御器12より出力された平均トルク指令値Toと、補正トルク生成器34より出力された補正トルク指令値ΔTとを加算することにより合計トルク指令値Tを算出する。
 電流指令値算出器14は、合計トルク指令値Tによって示される定トルク曲線とMTPI(最大トルク/電流制御)曲線との交点に基づいて、q軸電流指令値Iq及びd軸電流指令値Idを算出する。
 ここで、定トルク曲線とMTPI曲線との交点は、例えば、式(1)に示すモータトルク式と、MTPI曲線におけるd軸電流Idとq軸電流Iqとの関係を示す式(2)とを用いて算出できる。式(1)の右辺において、第1項がマグネットトルクを表し、第2項がリラクタンストルクを表し、マグネットトルクはq軸電流Iqのみを含み、リラクタンストルクはq軸電流Iqとd軸電流Idとの双方を含む。従って、q軸電流Iqとd軸電流Idとを適切に制御することにより、モータMに適正なトルクを発生させることができる。式(1)及び式(2)において、“Pn”はモータMの極対数、“Ψa”はモータMの鎖交磁束、“Ld”はモータMのd軸インダクタンス、“Lq”はモータMのq軸インダクタンスを示す。
Figure JPOXMLDOC01-appb-M000001
Figure JPOXMLDOC01-appb-M000002
 式(1)及び式(2)よりd軸電流Idを消去すると、q軸電流Iqに関する4次方程式である式(3)を得ることができる。
Figure JPOXMLDOC01-appb-M000003
 式(3)に示す4次方程式は、例えばニュートン法等を用いて、合計トルク指令値Tの定トルク曲線とMTPI曲線との交点でのq軸電流指令値Iqに相当する解を導出することができる。また、電流指令値算出器14は、式(3)に従って算出したq軸電流指令値Iqに基づいて、式(2)に従って、d軸電流指令値Idを算出する。
 図1において、加算器17は、式(4.1)に従って、電流指令値算出器14より出力されたq軸電流指令値Iqと電流誤差補正値生成器37より出力されたq軸電流誤差補正値ΔIqとを加算することによりq軸電流補正指令値Iq_FFを算出する。加算器16は、式(4.2)に従って、電流指令値算出器14より出力されたd軸電流指令値Idと電流誤差補正値生成器37より出力されたd軸電流誤差補正値ΔIdとを加算することによりd軸電流補正指令値Id_FFを算出する。
Figure JPOXMLDOC01-appb-M000004
 減算器19は、加算器17より出力されたq軸電流補正指令値Iq_FFから、u,v,w/d-q変換器29より出力されたq軸電流Iqを減算することにより、q軸電流補正指令値Iq_FFとq軸電流Iqとの誤差であるq軸電流誤差Iq_diffを算出する。減算器18は、加算器16より出力されたd軸電流補正指令値Id_FFから、u,v,w/d-q変換器29より出力されたd軸電流Idを減算することにより、d軸電流補正指令値Id_FFとd軸電流Idとの誤差であるd軸電流誤差Id_diffを算出する。
 電圧指令値算出器20は、式(5.1)に従って、q軸電流誤差Iq_diff(Iq_FF-Iq)に基づいてPI(Proportional Integral)制御を行うことにより非干渉化前q軸電圧指令値Vqtを算出する。また、電圧指令値算出器20は、式(5.2)に従って、d軸電流誤差Id_diff(Id_FF-Id)に基づいてPI制御を行うことにより非干渉化前d軸電圧指令値Vdtを算出する。なお、式(5.1)のkp_q及び式(5.2)のkp_dは比例定数であり、式(5.1)のki_q及び式(5.2)のki_dは積分定数である。
Figure JPOXMLDOC01-appb-M000005
 加算器22は、式(6.1)で表されるq軸非干渉化補正値Vqaを、式(6.3)に従って、非干渉化前q軸電圧指令値Vqtに加算することにより、q軸電圧指令値Vqを算出する。加算器21は、式(6.2)で表されるd軸非干渉化補正値Vdaを、式(6.4)に従って、非干渉化前d軸電圧指令値Vdtに加算することにより、d軸電圧指令値Vdを算出する。これにより、dq軸間の干渉がフィードフォワードでキャンセルされたq軸電圧指令値Vq及びd軸電圧指令値Vdが算出される。
Figure JPOXMLDOC01-appb-M000006
 IIRフィルタ35aは、u,v,w/d-q変換器29より出力されたd軸電流Idのノイズを除去し、ノイズ除去後のd軸応答電流Id_iirを出力する。IIRフィルタ35bは、u,v,w/d-q変換器29より出力されたq軸電流Iqのノイズを除去し、ノイズ除去後のq軸応答電流Iq_iirを出力する。IIRフィルタ35a,35bはノイズ除去フィルタの一例である。
 非干渉化制御器36は、モータ制御装置100の外部(例えば、上位のコントローラ)からの電気角速度指令値ωeとq軸応答電流Iq_iirとに基づいて、式(6.2)に従って、非干渉化前d軸電圧指令値Vdtを補正するためのd軸非干渉化補正値Vdaを生成する。また、非干渉化制御器36は、電気角速度指令値ωeとd軸応答電流Id_iirとに基づいて、式(6.1)に従って、非干渉化前q軸電圧指令値Vqtを補正するためのq軸非干渉化補正値Vqaを生成する。d軸非干渉化補正値Vda及びq軸非干渉化補正値Vqaは、dq軸間の干渉項をフィードフォワードでキャンセルするための補正値である。ここで、安定制御を図るために、非干渉化補正値は直流化された値であることが望ましい。このため、非干渉化補正値の生成にあたっては、速度については電気角速度指令値ωeが用いられ、d軸電流Id及びq軸電流Iqについては、IIRフィルタ35a,35bにより変動成分が除去されたd軸応答電流Id_iir及びq軸応答電流Iq_iirが用いられる。
 電流誤差補正値生成器37は、電流指令値算出器14より出力されたd軸電流指令値Id及びq軸電流指令値Iqと、u,v,w/d-q変換器29より出力されたd軸電流Id及びq軸電流Iqと、位置推定器32より出力された機械角位相θmとに基づいて、d軸電流誤差補正値ΔId及びq軸電流誤差補正値ΔIqを生成する。
 電流誤差補正値生成器37は、電流指令値算出器14の応答遅延やdq軸の干渉により、dq軸電流が電流指令値に追従し切れずに生じる変動誤差(位相誤差及び振幅誤差)を積算し、積算値の反転出力を電流誤差補正値(d軸電流誤差補正値ΔId及びq軸電流誤差補正値ΔIq)として生成する。ここで、d軸電流誤差補正値ΔIdは、d軸電流指令値Iとd軸電流Idとの変動誤差を補正するためのフィードフォワード成分であり、q軸電流誤差補正値ΔIqは、q軸電流指令値Iqとq軸電流Iqとの変動誤差を補正するためのフィードフォワード成分である。
 d-q/u,v,w変換器23は、加算器21,22より出力された2相のd軸電圧指令値Vd及びq軸電圧指令値Vqを、位置推定器32より出力された電気角位相(dq軸位相)θeに基づいて、3相のU相出力電圧指令値Vu、V相出力電圧指令値Vv及びW相出力電圧指令値Vwへ変換する。位置推定器32より出力される電気角位相θeは、モータMの現在のロータ位置を示す。
 PWM変調器24は、U相出力電圧指令値Vu、V相出力電圧指令値Vv、W相出力電圧指令値Vwと、PWMキャリア信号とに基づいて、6相のPWM信号を生成し、生成した6相のPWM信号をIPM25へ出力する。
 IPM25は、PWM変調器24より出力された6相のPWM信号に基づいて、外部から供給される直流電圧Vdcを変換して、モータMのU相、V相、W相のそれぞれへ印可される交流電圧を生成し、生成したそれぞれの交流電圧をモータMのU相、V相、W相へ印加する。
 3φ電流算出器28は、シャント抵抗26を用いた1シャント方式で母線電流が検出される場合、PWM変調器24より出力される6相のPWMスイッチング情報と、検出された母線電流とから、モータMのU相電流値Iu、V相電流値Iv、W相電流値Iwを算出する。または、3φ電流算出器28は、電流センサ27a,27bでU相電流及びV相電流が検出される場合、残りのW相電流値Iwを“Iu+Iv+Iw=0”のキルヒホッフの法則に基づいて算出する。3φ電流算出器28は、各相の相電流値Iu,Iv,Iwをu,v,w/d-q変換器29へ出力する。
 u,v,w/d-q変換器29は、位置推定器32より出力された電気角位相θeに基づいて、3φ電流算出器28より出力された3相のU相電流値Iu、V相電流値Iv、W相電流値Iwを、2相のd軸電流Id及びq軸電流Iqへ変換する。
 軸誤差演算器30は、加算器21,22より出力されたd軸電圧指令値Vd及びq軸電圧指令値Vqと、u,v,w/d-q変換器29より出力されたd軸電流Id及びq軸電流Iqを用いて軸誤差Δθ(推定した回転軸と実際の回転軸との差)を算出する。
 PLL制御器31は、軸誤差演算器30より出力された軸誤差Δθに基づいて、モータMの現在の推定角速度である電気角推定角速度ωeを算出する。
 位置推定器32は、PLL制御器31より出力された電気角推定角速度ωeに基づいて電気角位相θe及び機械角位相θmを推定する。
 1/Pn処理器33は、PLL制御器31より出力された電気角推定角速度ωeをモータMの極対数Pnで除算することにより機械角推定角速度ωmを算出する。
 減算器40は、1/Pn処理器33より出力された機械角推定角速度ωmから機械角速度指令値ωmを減算することにより機械角推定角速度変動Δωmを算出する。
 補正トルク生成器34は、モータMの振動が許容できる速度変動範囲である速度変動許容値|Δωm|、減算器40より出力された機械角推定角速度変動Δωm、及び、位置推定器32より出力された機械角位相θmに基づいて、周期的な速度変動である機械角推定角速度変動Δωmを速度変動許容値|Δωm|以下に抑制するための補正トルク指令値ΔTを生成する。なお、速度変動許容値|Δωm|は、モータ制御装置100内に記憶されている。また、機械角推定角速度変動(速度変動)Δωmは、上記の角速度誤差Δωの値と正負の符号が異なるだけである。
 補正トルク制限値生成器38は、電流リミット値Ia_limitと、電流指令値算出器14より出力されたd軸電流指令値Id,q軸電流指令値Iqとに基づいて、補正トルク指令値ΔTの振幅である補正トルク振幅|ΔT|に制限を与える補正トルク制限値|ΔT|_limitを生成する。
 <電流誤差補正値生成器の構成>
 図2は、本開示の実施例1の電流誤差補正値生成器の構成例を示す図である。図2において、電流誤差補正値生成器37は、減算器37a,37eと、q軸電流誤差成分分離器37bと、q軸電流誤差積算器37cと、q軸電流誤差補正値復調器37dと、d軸電流誤差成分分離器37fと、d軸電流誤差積算器37gと、d軸電流誤差補正値復調器37hとを有する。
 減算器37aは、式(7)に従って、q軸電流Iqとq軸電流指令値Iqとの誤差であるq軸電流変動誤差Iq_errを算出する。
Figure JPOXMLDOC01-appb-M000007
 q軸電流誤差成分分離器37bは、式(8.1)及び式(8.2)に従って、q軸電流変動誤差Iq_errの基本波成分である2つのフーリエ係数Iq_err_sin(sin成分),Iq_err_cos(cos成分)を機械角周期毎に算出する。
Figure JPOXMLDOC01-appb-M000008
 q軸電流誤差積算器37cは、式(9.1)及び式(9.2)に従って、q軸電流変動誤差Iq_errのsin成分Iq_err_sinと、q軸電流変動誤差Iq_errのcos成分Iq_err_cosとのそれぞれに補正ゲインkを乗算し、それぞれの乗算結果をIq_err_sin_i_old,Iq_err_cos_i_oldに加算する。式(9.1)におけるIq_err_sin_iは、今回の機械角周期までのIq_err_sinの積分値であり、式(9.2)におけるIq_err_cos_iは、今回の機械角周期までのIq_err_cosの積分値である。また、式(9.1)におけるIq_err_sin_i_oldは、前回の機械角周期までのIq_err_sin_iであり、式(9.2)におけるIq_err_cos_i_oldは、前回の機械角周期までのIq_err_cos_iである。
Figure JPOXMLDOC01-appb-M000009
 q軸電流誤差補正値復調器37dは、式(10.1)及び式(10.2)に従って、q軸電流誤差補正値ΔIqを算出する。これにより、q軸電流変動誤差の位相が反転して、機械角位相θmでのq軸電流誤差補正値ΔIqの瞬時値が算出される。
Figure JPOXMLDOC01-appb-M000010
 減算器37eは、式(11)に従って、d軸電流Idとd軸電流指令値Idとの誤差であるd軸電流変動誤差Id_errを算出する。
Figure JPOXMLDOC01-appb-M000011
 d軸電流誤差成分分離器37fは、式(12.1)及び式(12.2)に従って、d軸電流変動誤差Id_errの基本波成分である2つのフーリエ係数Id_err_sin(sin成分),Id_err_cos(cos成分)を機械角周期毎に算出する。
Figure JPOXMLDOC01-appb-M000012
 d軸電流誤差積算器37gは、式(13.1)及び式(13.2)に従って、d軸電流変動誤差Id_errのsin成分Id_err_sinと、d軸電流変動誤差Id_errのcos成分Id_err_cosとのそれぞれに補正ゲインkを乗算し、それぞれの乗算結果にId_err_sin_i_old,Id_err_cos_i_oldを加算する。式(13.1)におけるId_err_sin_iは、今回の機械角周期までのId_err_sinの積分値であり、式(13.2)におけるId_err_cos_iは、今回の機械角周期におけるId_err_cosの積分値である。また、式(13.1)におけるId_err_sin_i_oldは、前回の機械角周期までのId_err_sin_iであり、式(13.2)におけるId_err_cos_i_oldは、前回の機械角周期におけるId_err_cos_iである。
Figure JPOXMLDOC01-appb-M000013
 d軸電流誤差補正値復調器37hは、式(14.1)及び式(14.2)に従って、d軸電流誤差補正値ΔIdを算出する。これにより、d軸電流変動誤差の位相が反転して、機械角位相θmでのd軸電流誤差補正値ΔIdの瞬時値が生成される。
Figure JPOXMLDOC01-appb-M000014
 <補正トルク制限値生成器の構成>
 図3は、本開示の実施例1の補正トルク制限値生成器の構成例を示す図である。図3において、補正トルク制限値生成器38は、電流振幅算出器38aと、ピークホールド算出器38bと、減算器38cと、ΔT制限値生成器38dとを有する。
 電流振幅算出器38aは、d軸電流指令値Idとq軸電流指令値Iqとに基づいて、式(15)に従って、電流指令値振幅Iaを算出し、算出した電流指令値振幅Iaをピークホールド算出器38bへ出力する。
Figure JPOXMLDOC01-appb-M000015
 ピークホールド算出器38bは、所定の取得期間Tm毎に、各取得期間Tmにおいて電流指令値振幅Iaの最大値を電流指令ピーク値Ia_peakとして取得し、取得した電流指令ピーク値Ia_peakを減算器38cへ出力する。例えば、所定の取得期間Tmは、モータMの機械角周期に相当する。
 図4は、本開示の実施例1のピークホールド算出器の動作例の説明に供する図である。
 図4に示すように、ピークホールド算出器38bは、取得期間Tm1(機械角位相θm=0~2π)において、式(16)に従って、時間の経過に伴って変化する電流指令値振幅Iaと、仮電流指令ピーク値Ia_peak_temp(対象取得期間Tmにおいて時間の経過に伴って変化する電流指令値振幅Iaのピークホールド値)とを比較し、電流指令値振幅Iaが仮電流指令ピーク値Ia_peak_tempよりも大きくなったときに、仮電流指令ピーク値Ia_peak_tempを電流指令値振幅Iaによって更新する。
Figure JPOXMLDOC01-appb-M000016
 また、ピークホールド算出器38bは、取得期間Tm1の終了時点で、式(17)に従って、仮電流指令ピーク値Ia_peak_tempを電流指令ピーク値Ia_peakに設定するとともに、式(18)に従って、仮電流指令ピーク値Ia_peak_tempをゼロに初期化する。つまり、取得期間Tm1の終了時点での仮電流指令ピーク値Ia_peak_tempが、取得期間Tm1の次の取得期間である取得期間Tm2における電流指令ピーク値Ia_peakとして取得される。
Figure JPOXMLDOC01-appb-M000017
Figure JPOXMLDOC01-appb-M000018
 また、図4に示すように、ピークホールド算出器38bは、取得期間Tm2(機械角位相θm=2π~4π)において、式(16)に従って、時間の経過に伴って変化する電流指令値振幅Iaと、仮電流指令ピーク値Ia_peak_tempとを比較し、電流指令値振幅Iaが仮電流指令ピーク値Ia_peak_tempよりも大きくなったときに、仮電流指令ピーク値Ia_peak_tempを電流指令値振幅Iaによって更新する。つまり、取得期間Tm2でも、取得期間Tm1と同様に、電流指令値振幅Iaの最大値を随時トレースするように仮電流指令ピーク値Ia_peak_tempが更新される。
 また、ピークホールド算出器38bは、取得期間Tm2の終了時点で、式(17)に従って、仮電流指令ピーク値Ia_peak_tempを電流指令ピーク値Ia_peakに設定するとともに、式(18)に従って、仮電流指令ピーク値Ia_peak_tempをゼロに初期化する。つまり、取得期間Tm2の終了時点での仮電流指令ピーク値Ia_peak_tempが、取得期間Tm2の次の取得期間である取得期間Tm3における電流指令ピーク値Ia_peakとして取得される。
 取得期間Tm3(機械角位相θm=4π~6π)以降の各取得期間Tmにおいても、ピークホールド算出器38bは上記と同様に動作する。
 図3において、減算器38cは、電流指令ピーク値Ia_peakから所定の電流リミット値Ia_limitを減算することにより、式(19)に従って、電流リミット値Ia_limitに対する電流指令ピーク値Ia_peakの偏差Ia_errを算出する。なお、所定の電流リミット値Ia_limitは、モータMの過電流保護機能が作動する電流閾値である電流トリップ値Ia_tripから所定のマージンMAを減算した値として設定されるのが好ましい。
Figure JPOXMLDOC01-appb-M000019
 ここで、補正トルク指令値ΔTの増加に伴い、電流ピーク値も増加し、モータMが電流トリップに至る場合がある。そこで、ΔT制限値生成器38dは、モータMが電流トリップに至らないように、以下のようにして設定するΔT振幅制限フラグに従って補正トルク制限値|ΔT|_limitを生成する。ΔT振幅制限フラグが“オン”に設定されているときは補正トルク指令値ΔTに制限が与えられ、ΔT振幅制限フラグが“オフ”に設定されているときは、補正トルク指令値ΔTに制限が与えられない。
 ΔT制限値生成器38dは、補正トルク生成器34より出力された補正トルク指令値ΔTが0(ゼロ)でないとき(つまり、トルク制御が実行中のとき)で、かつ、偏差Ia_errが正の値であるときに、ΔT振幅制限フラグを“オン”に設定する。つまり、ΔT制限値生成器38dは、“ΔT≠0”かつ“Ia_err≧0”のときに、ΔT振幅制限フラグを“オン”に設定する。“ΔT≠0”かつ“Ia_err≧0”のときは、モータMが電流トリップに至らないように補正トルク指令値ΔTに制限を与えたいときに相当する。
 一方で、ΔT制限値生成器38dは、補正トルク指令値ΔTに制限を与える必要がないときに、ΔT振幅制限フラグを“オフ”に設定する。ここで、偏差Ia_errが負の値であるときにΔT振幅制限フラグが“オフ”に設定されてしまうと、補正トルク指令値ΔTに制限が与えられることと、補正トルク指令値ΔTに与えられた制限が解除されることとの短い周期での繰り返し(以下では「トルク制限ハンチング」と呼ぶことがある)が発生してしまう可能性がある。すなわち、ΔT振幅制限フラグが“オフ”に設定されると、速度変動振幅|Δωm|が速度変動許容値|Δωm|より大きい場合、補正トルク指令値ΔTが大きくなる方向へ制御されるため、電流トリップが発生しないように、再び、補正トルク指令値ΔTに制限を与える必要が生じてしまう。
 そこで、ΔT制限値生成器38dは、速度変動振幅|Δωm|が速度変動許容値|Δωm|より小さいとき、つまり、“|Δωm|<|Δωm|”のときに、ΔT振幅制限フラグを“オフ”に設定する。
 ΔT制限値生成器38dは、ΔT振幅制限フラグの設定後、ΔT振幅制限フラグに従って補正トルク制限値|ΔT|_limitを生成する。
 ΔT制限値生成器38dは、上記のようにしてΔT振幅制限フラグを“オン”に設定したときは、前回の機械角周期における補正トルク振幅|ΔT|である|ΔT|_oldと、偏差Ia_errとに基づいて、式(20)に従って、補正トルク制限値|ΔT|_limitを生成する。式(20)における“g”は、偏差Ia_errに乗算される所定のゲイン値である。つまり、ΔT振幅制限フラグが“オン”であるときは、ΔT制限値生成器38dは、前回の機械角周期の補正トルク振幅|ΔT|_oldを積分項に見立てた積分制御を行う。こうすることで、モータMが電流トリップに至りそうな場合に、偏差Ia_errが正の値となるため、補正トルク制限値|ΔT|_limitが減少し、補正トルク制限値|ΔT|_limitの減少に伴って電流指令値振幅Iaが減少する。
Figure JPOXMLDOC01-appb-M000020
 一方で、ΔT制限値生成器38dは、上記のようにしてΔT振幅制限フラグを“オフ”に設定したときは、補正トルク指令値ΔTに制限がかからないような大きい値に補正トルク制限値|ΔT|_limitを設定する。例えば、ΔT制限値生成器38dは、式(21)に従って、平均トルク指令値Toの3倍の値を補正トルク制限値|ΔT|_limitに設定する。平均トルク指令値Toの3倍の値という大きい値が補正トルク制限値|ΔT|_limitとして設定されることで、補正トルク指令値ΔTには、実質上、制限が与えられなくなる。
Figure JPOXMLDOC01-appb-M000021
 ΔT制限値生成器38dは、以上のようにして生成した補正トルク制限値|ΔT|_limitを補正トルク生成器34へ出力する。
 <補正トルク生成器の構成>
 図5は、本開示の実施例1の補正トルク生成器の構成例を示す図である。図5において、補正トルク生成器34は、速度変動成分分離器34aと、速度変動振幅算出器34bと、減算器34cと、補正トルク振幅算出器34dと、速度変動位相修正器34eと、直交成分分離器34fと、補正トルク復調器34gと、補正トルク振幅制限器34hとを有する。
 図5において、速度変動成分分離器34aは、機械角周期毎に、機械角位相θmに基づいて、式(22.1)及び式(22.2)に従って、機械角推定角速度変動Δωmを、Δωmの基本波成分である2つのフーリエ係数ωsin(sin成分)とωcos(cos成分)とへ分離する。機械角推定角速度変動Δωmの基本波成分のフーリエ係数が機械角周期毎に算出されることで、機械角推定角速度変動Δωmの高調波成分が除去されて機械角推定角速度変動Δωmの基本波成分を精度よく抽出することができる。ωsin及びωcosは、機械角周期毎に更新される値である。
Figure JPOXMLDOC01-appb-M000022
 速度変動振幅算出器34bは、フーリエ係数ωsin,ωcosに基づいて、式(23)に従って、速度変動振幅|Δωm|を算出する。ωsin及びωcosは機械角周期毎に更新される値であるため、速度変動振幅|Δωm|も機械角周期毎に更新される。
Figure JPOXMLDOC01-appb-M000023
 減算器34cは、速度変動振幅算出器34bより出力された速度変動振幅|Δωm|から速度変動許容値|Δωm|を減算することにより速度変動誤差|Δωm|errを算出する。速度変動許容値|Δωm|は、モータMの振動が許容できる範囲での速度変動振幅|Δωm|を規定したものである。
 補正トルク振幅算出器34dは、速度変動振幅|Δωm|と速度変動許容値|Δωm|との誤差に応じて補正トルク振幅|ΔT|を機械角周期毎に調整する。例えば、補正トルク振幅算出器34dは、式(24)に従って、速度変動振幅|Δωm|と速度変動許容値|Δωm|との誤差である速度変動誤差|Δωm|errに補正ゲインkを乗算し、乗算結果と|ΔT|_oldとを加算することにより補正トルク振幅|ΔT|を算出する。式(24)における|ΔT|_oldは、前回の機械角周期における補正トルク振幅|ΔT|である。補正ゲインkを適切に設定することで、速度変動|Δω|が速度変動許容値|Δωm|の境界でハンチングすることや、急激な負荷トルク変化によって速度変動|Δω|が速度変動許容値|Δωm|よりも大きくなって振動が発生することを抑制できる。
Figure JPOXMLDOC01-appb-M000024
 補正トルク振幅制限器34hは、補正トルク振幅算出器34dより出力された補正トルク振幅|ΔT|が、補正トルク制限値生成器38より出力された補正トルク制限値|ΔT|_limitより大きいときは、補正トルク振幅|ΔT|の値を補正トルク制限値|ΔT|_limitによって書き換え、補正トルク制限値|ΔT|_limitに書き換え後の補正トルク振幅|ΔT|を直交成分分離器34fへ出力する。つまり、補正トルク振幅|ΔT|が補正トルク制限値|ΔT|_limitより大きいときは、補正トルク振幅|ΔT|の値が補正トルク制限値|ΔT|_limitに設定される。補正トルク振幅|ΔT|の値が補正トルク制限値|ΔT|_limitに設定されることでモータMの電流振幅の変動量が制限され、モータMに電流トリップが発生することを防止できる。
 一方で、補正トルク振幅|ΔT|が補正トルク制限値|ΔT|_limit以下のときは、補正トルク振幅制限器34hは、補正トルク振幅算出器34dより出力された補正トルク振幅|ΔT|をそのまま直交成分分離器34fへ出力する。
 速度変動位相修正器34eは、機械角周期毎に取得される機械角推定角速度変動Δωmの位相を修正する。例えば、速度変動位相修正器34eは、式(25.1)及び式(25.2)に従って、フーリエ係数ωsin,ωcosのそれぞれに補正ゲインkを乗算し、それぞれの乗算結果にωsin_i_old,ωcos_i_oldを加算する。式(25.1)におけるωsin_i_oldは、前回の機械角周期におけるωsin_iであり、式(25.2)におけるωcos_i_oldは、前回の機械角周期におけるωcos_iである。そして、速度変動位相修正器34eは、式(25.3)に従って、ωsin_i及びωcos_iの逆正接(Arctangent)を速度変動修正位相φωiとして算出する。この速度変動修正位相φωiが、トルク制御を行う際の位相の基準になり、この基準に対してπ/2遅角した位相が補正トルク指令値ΔTの位相(補正トルク位相)となる。
Figure JPOXMLDOC01-appb-M000025
 直交成分分離器34fは、補正トルク振幅制限器34hより出力された補正トルク振幅|ΔT|と、速度変動位相修正器34eより出力された速度変動修正位相φωiとに基づいて、式(26.1)及び式(26.2)に従って、速度変動修正位相φωiのsin成分(ωsin_i)とcos成分(ωcos_i)とを算出する。この処理は、式(25.1)及び式(25.2)の演算による位相修正時の発散を防止する役割も有する。
Figure JPOXMLDOC01-appb-M000026
 補正トルク復調器34gは、速度変動修正位相φωiのsin成分(ωsin_i)とcos成分(ωcos_i)とに基づいて、式(27.1)及び式(27.2)に従って、補正トルク指令値ΔTを算出する。この処理により速度変動修正位相φωiからπ/2だけ遅角した補正トルク位相へ変換され、機械角位相θmでの補正トルク指令値ΔTの瞬時値が生成される。
Figure JPOXMLDOC01-appb-M000027
 なお、補正トルク復調器34gは、式(27.1)及び式(27.2)に代えて式(28)に従って補正トルク指令値ΔTの瞬時値を算出しても良い。
Figure JPOXMLDOC01-appb-M000028
 そして、図1に示す加算器13は、式(29)に従って、補正トルク復調器34gより出力された補正トルク指令値ΔTを、速度制御器12より出力された平均トルク指令値Toに加算することにより合計トルク指令値Tを算出する。
Figure JPOXMLDOC01-appb-M000029
 <モータ制御装置の動作>
 図6A、図6B、図6C、図7及び図8は、本開示の実施例1のモータ制御装置の動作例の説明に供する図である。
 図6A、図6B及び図6Cに、モータ制御装置100における電流ベクトルの挙動を示す。図6Aに示すように、電流指令ピーク値Ia_peakが電流リミット値Ia_limitより大きい場合は、ΔT振幅制限フラグが“オン”に設定され、補正トルク振幅|ΔT|に制限が与えられる。補正トルク振幅|ΔT|に制限が与えられても、図6Bに示すように、未だ電流指令ピーク値Ia_peakが電流リミット値Ia_limitより大きい場合は、補正トルク振幅|ΔT|がさらに制限され、補正トルク制限値|ΔT|_limitは小さくなる。これにより、図6Cに示すように、電流指令ピーク値Ia_peakが電流リミット値Ia_limitまで抑制される。
 また、図7に、電流指令値振幅Iaと電流指令ピーク値Ia_peakとの時間変化を示す。図7において、電流リミット値Ia_limitは、電流トリップ値Ia_tripから所定のマージンMAを減算した値として設定されている。モータMの負荷の増大によりトルク制御量が増大する区間a11では、電流指令ピーク値Ia_peakが増大する。区間a11の次の区間b11では、ΔT振幅制限フラグが“オン”に設定されて補正トルク振幅|ΔT|に制限が与えられる。区間b11の次の区間c11では、ΔT振幅制限フラグが“オフ”に設定されて、モータMの負荷の減少につれて、電流指令ピーク値Ia_peakが減少する。
 また、図8では、図7に対し、速度変動振幅|Δωm|の時間変化が追加されている。図8において、モータMの負荷が増大するにつれてトルク制御量が増大する区間a12では、トルク制御量の増大より電流指令ピーク値Ia_peakが増大する。このとき、ΔT振幅制限フラグは“オフ”になっているため、速度変動振幅|Δωm|は速度変動許容値|Δωm|に追従する。区間a12の次の区間b12では、区間a12における電流指令ピーク値Ia_peakが電流リミット値Ia_limitより大きいため、ΔT振幅制限フラグが“オン”に設定されて補正トルク振幅|ΔT|に制限が与えられる。補正トルク振幅|ΔT|に制限が与えられることにより、速度動振振幅|Δωm|は速度変動許容値|Δωm|に追従しなくなる。区間b12の次の区間c12では、モータMの負荷が減少するにつれて速度変動振幅|Δωm|及び電流指令ピーク値Ia_peakが減少する。また、区間c12では、速度変動許容値|Δωm|が速度変動振幅|Δωm|より大きいため、ΔT振幅制限フラグが“オフ”に設定されて補正トルク振幅|ΔT|の制限が解除される。補正トルク振幅|ΔT|の制限が解除されることにより、速度変動振幅|Δωm|が速度変動許容値|Δωm|に追従するようになる。
 以上、本開示の実施例1について説明した。
 [実施例2]
 <モータ制御装置の構成>
 図9は、本開示の実施例2のモータ制御装置の構成例を示す図である。
 図9示すモータ制御装置200は、図1に示すモータ制御装置100が有する補正トルク制限値生成器38に代えて補正トルク制限値生成器39を有する。また、図1に示すモータ制御装置100では、電流指令値算出器14より出力されたd軸電流指令値Id及びq軸電流指令値Iqが補正トルク制限値生成器38に入力されていたのに対し、図9に示すモータ制御装置200では、u,v,w/d-q変換器29より出力されたd軸電流Id及びq軸電流Iqが補正トルク制限値生成器39に入力される。
 <補正トルク制限値生成器の構成>
 図10は、本開示の実施例2の補正トルク制限値生成器の構成例を示す図である。図10において、補正トルク制限値生成器39は、電流振幅算出器39aと、ピークホールド算出器39bと、減算器39cと、ΔT制限値生成器39dとを有する。
 電流振幅算出器39aは、d軸電流Idとq軸電流Iqとに基づいて、式(30)に従って、検出電流値振幅Iaを算出し、算出した検出電流値振幅Iaをピークホールド算出器39bへ出力する。
Figure JPOXMLDOC01-appb-M000030
 ピークホールド算出器39bは、所定の取得期間Tm毎に、各取得期間Tmにおける検出電流値振幅Iaの最大値を電流ピーク値Ia_peakとして取得し、取得した電流ピーク値Ia_peakを減算器39cへ出力する。例えば、所定の取得期間Tmは、モータMの機械角周期に相当する。図11は、本開示の実施例2のピークホールド算出器の動作例の説明に供する図である。
 図11に示すように、ピークホールド算出器39bは、取得期間Tm1(機械角位相θm=0~2π)において、式(31)に従って、時間の経過に伴って変化する検出電流値振幅Iaと、仮電流ピーク値Ia_peak_temp(対象取得期間Tmにおいて時間の経過に伴って変化する電流指令値振幅Iaのピークホールド値)とを比較し、検出電流値振幅Iaが仮電流ピーク値Ia_peak_tempよりも大きくなったときに、仮電流ピーク値Ia_peak_tempを検出電流値振幅Iaによって更新する。
Figure JPOXMLDOC01-appb-M000031
 また、ピークホールド算出器39bは、取得期間Tm1の終了時点で、式(32)に従って、仮電流ピーク値Ia_peak_tempを電流ピーク値Ia_peakに設定するとともに、式(33)に従って、仮電流ピーク値Ia_peak_tempをゼロに初期化する。つまり、取得期間Tm1の終了時点での仮電流ピーク値Ia_peak_tempが、取得期間Tm1の次の取得期間である取得期間Tm2における電流ピーク値Ia_peakとして取得される。
Figure JPOXMLDOC01-appb-M000032
Figure JPOXMLDOC01-appb-M000033
 また、図11に示すように、ピークホールド算出器39bは、取得期間Tm2(機械角位相θm=2π~4π)において、式(31)に従って、時間の経過に伴って変化する検出電流値振幅Iaと、仮電流ピーク値Ia_peak_tempとを比較し、検出電流値振幅Iaが仮電流ピーク値Ia_peak_tempよりも大きくなったときに、仮電流ピーク値Ia_peak_tempを検出電流値振幅Iaによって更新する。つまり、取得期間Tm2でも、取得期間Tm1と同様に、検出電流値振幅Iaの最大値を随時トレースするように仮電流ピーク値Ia_peak_tempが更新される。
 また、ピークホールド算出器39bは、取得期間Tm2の終了時点で、式(32)に従って、仮電流ピーク値Ia_peak_tempを電流ピーク値Ia_peakに設定するとともに、式(33)に従って、仮電流ピーク値Ia_peak_tempをゼロに初期化する。つまり、取得期間Tm2の終了時点での仮電流ピーク値Ia_peak_tempが、取得期間Tm2の次の取得期間である取得期間Tm3における電流ピーク値Ia_peakとして取得される。
 取得期間Tm3(機械角位相θm=4π~6π)以降の各取得期間Tmにおいても、ピークホールド算出器39bは上記と同様に動作する。
 図10において、減算器39cは、電流ピーク値Ia_peakから所定の電流リミット値Ia_limitを減算することにより、式(34)に従って、電流リミット値Ia_limitに対する電流ピーク値Ia_peakの偏差Ia_errを算出する。なお、所定の電流リミット値Ia_limitは、モータMの過電流保護機能が作動する電流閾値である電流トリップ値Ia_tripから所定のマージンMAを減算した値として設定されるのが好ましい。
Figure JPOXMLDOC01-appb-M000034
 ここで、補正トルク指令値ΔTの増加に伴い、電流ピーク値も増加し、モータMが電流トリップに至る場合がある。そこで、ΔT制限値生成器39dは、モータMが電流トリップに至らないように、以下のようにして設定するΔT振幅制限フラグに従って補正トルク制限値|ΔT|_limitを生成する。ΔT振幅制限フラグが“オン”に設定されているときは補正トルク指令値ΔTに制限が与えられ、ΔT振幅制限フラグが“オフ”に設定されているときは、補正トルク指令値ΔTに制限が与えられない。
 ΔT制限値生成器39dは、補正トルク生成器34より出力された補正トルク指令値ΔTが0(ゼロ)でないとき(つまり、トルク制御が実行中のとき)で、かつ、偏差Ia_errが正の値であるときに、ΔT振幅制限フラグを“オン”に設定する。つまり、ΔT制限値生成器39dは、“ΔT≠0”かつ“Ia_err≧0”のときに、ΔT振幅制限フラグを“オン”に設定する。“ΔT≠0”かつ“Ia_err≧0”のときは、モータMが電流トリップに至らないように補正トルク指令値ΔTに制限を与えたいときに相当する。
 一方で、ΔT制限値生成器39dは、補正トルク指令値ΔTに制限を与える必要がないときに、ΔT振幅制限フラグを“オフ”に設定する。ここで、偏差Ia_errが負の値であるときにΔT振幅制限フラグが“オフ”に設定されてしまうと、トルク制限ハンチングが発生してしまう可能性がある。すなわち、ΔT振幅制限フラグが“オフ”に設定されると、速度変動振幅|Δωm|が速度変動許容値|Δωm|より大きい場合、補正トルク指令値ΔTが大きくなる方向へ制御されるため、電流トリップが発生しないように、再び、補正トルク指令値ΔTに制限を与える必要が生じてしまう。
 そこで、ΔT制限値生成器39dは、速度変動振幅|Δωm|が速度変動許容値|Δωm|より小さいとき、つまり、“|Δωm|<|Δωm|”のときに、ΔT振幅制限フラグを“オフ”に設定する。
 ΔT制限値生成器39dは、ΔT振幅制限フラグの設定後、ΔT振幅制限フラグに従って補正トルク制限値|ΔT|_limitを生成する。
 ΔT制限値生成器39dは、上記のようにしてΔT振幅制限フラグを“オン”に設定したときは、前回の機械角周期における補正トルク振幅|ΔT|である|ΔT|_oldと、偏差Ia_errとに基づいて、式(35)に従って、補正トルク制限値|ΔT|_limitを生成する。式(35)における“g”は、偏差Ia_errに乗算される所定のゲイン値である。つまり、ΔT振幅制限フラグが“オン”であるときは、ΔT制限値生成器39dは、前回の機械角周期の補正トルク振幅|ΔT|_oldを積分項に見立てた積分制御を行う。こうすることで、モータMが電流トリップに至りそうな場合に、偏差Ia_errが正の値となるため、補正トルク制限値|ΔT|_limitが減少し、補正トルク制限値|ΔT|_limitの減少に伴って検出電流値振幅Iaが減少する。
Figure JPOXMLDOC01-appb-M000035
 一方で、ΔT制限値生成器39dは、上記のようにしてΔT振幅制限フラグを“オフ”に設定したときは、補正トルク指令値ΔTに制限がかからないような大きい値に補正トルク制限値|ΔT|_limitを設定する。例えば、ΔT制限値生成器39dは、式(21)に従って、平均トルク指令値Toの3倍の値を補正トルク制限値|ΔT|_limitに設定する。平均トルク指令値Toの3倍の値という大きい値が補正トルク制限値|ΔT|_limitとして設定されることで、補正トルク指令値ΔTには、実質上、制限が与えられなくなる。
 ΔT制限値生成器39dは、以上のようにして生成した補正トルク制限値|ΔT|_limitを補正トルク生成器34へ出力する。
 <モータ制御装置の動作>
 図12A、図12B、図12C、図13、図14及び図15は、本開示の実施例2のモータ制御装置の動作例の説明に供する図である。
 図12A、図12B及び図12Cに、モータ制御装置200における電流ベクトルの挙動を示す。図12Aに示すように、電流ピーク値Ia_peakが電流リミット値Ia_limitより大きい場合は、ΔT振幅制限フラグが“オン”に設定され、補正トルク振幅|ΔT|に制限が与えられる。補正トルク振幅|ΔT|に制限が与えられても、図12Bに示すように、未だ電流ピーク値Ia_peakが電流リミット値Ia_limitより大きい場合は、補正トルク振幅|ΔT|がさらに制限され、補正トルク制限値|ΔT|_limitは小さくなる。これにより、図12Cに示すように、電流ピーク値Ia_peakが電流リミット値Ia_limitまで抑制される。
 また、図13に、電流指令値振幅Iaと電流指令ピーク値Ia_peakとの時間変化を示す。図13において、電流リミット値Ia_limitは、電流トリップ値Ia_tripから所定のマージンMAを減算した値として設定されている。モータMの負荷の増大によりトルク制御量が増大する区間a21では、電流ピーク値Ia_peakが増大する。区間a21の次の区間b21では、ΔT振幅制限フラグが“オン”に設定されて補正トルク振幅|ΔT|に制限が与えられる。区間b21の次の区間c21では、ΔT振幅制限フラグが“オフ”に設定されて、モータMの負荷の減少につれて、電流ピーク値Ia_peakが減少する。
 また、図14では、図13に対し、速度変動振幅|Δωm|の時間変化が追加されている。図14において、モータMの負荷が増大するにつれてトルク制御量が増大する区間a22では、トルク制御量の増大より電流ピーク値Ia_peakが増大する。このとき、ΔT振幅制限フラグは“オフ”になっているため、速度変動振幅|Δωm|は速度変動許容値|Δωm|に追従する。区間a22の次の区間b22では、区間a22における電流ピーク値Ia_peakが電流リミット値Ia_limitより大きいため、ΔT振幅制限フラグが“オン”に設定されて補正トルク振幅|ΔT|に制限が与えられる。補正トルク振幅|ΔT|に制限が与えられることにより、速度変動振幅|Δωm|は速度変動許容値|Δωm|に追従しなくなる。区間b22の次の区間c22では、モータMの負荷が減少するにつれて速度変動振幅|Δωm|及び電流ピーク値Ia_peakが減少する。また、区間c22では、速度変動許容値|Δωm|が速度変動振幅|Δωm|より大きいため、ΔT振幅制限フラグが“オフ”に設定されて補正トルク振幅|ΔT|の制限が解除される。補正トルク振幅|ΔT|の制限が解除されることにより、速度変動振幅|Δωm|が速度変動許容値|Δωm|に追従するようになる。
 図15に実施例1における電流リミット動作の一例を示し、図16に実施例2における電流リミット動作の一例を示す。図15には、実施例1のように電流指令値によってリミットをかける場合の電流ノイズの有無による比較例を示し、図16には、実施例2のように電流検出値でリミットをかける場合の電流ノイズの有無による比較例を示す。
 実施例1では、d軸電流指令値Idとq軸電流指令値Iqとに基づいて算出される電流指令ピーク値Ia_peakと、電流リミット値Ia_limitとの比較結果に基づいてΔT振幅制限フラグが設定される。このため、図15に示すように、電流リミット値Ia_limitが適切でないと、検出電流のノイズ成分が大きい場合に電流指令値振幅Iaが電流トリップ値Ia_tripに到達する恐れがある。電流指令値振幅Iaが電流トリップ値Ia_tripに到達することを回避するためには、電流リミット値Ia_limitを小さくするなどのチューニングを要する。
 これに対し、実施例2では、d軸電流Idとq軸電流Iqとに基づいて算出される検出電流ピーク値Ia_peakと、電流リミット値Ia_limitとの比較結果に基づいてΔT振幅制限フラグが設定される。これにより、実施例2では、図16に示すように、制御状態によって検出電流振幅Iaにノイズがあるような場合でも、検出電流に電流リミットをかけるため、ノイズの有無にかかわらず、同一の電流リミット値Ia_limitを用いることができる。よって、電流トリップ値Ia_tripに対する電流リミット値Ia_limitのチューニングが不要となるため、電流リミット値Ia_limitのチューニングにかかる工数を削減することができる。
 以上、本開示の実施例2について説明した。
 以上のように、本開示のモータ制御装置(実施例1のモータ制御装置100)は、電流指令値算出器(実施例1の電流指令値算出器14)と、補正トルク制限値生成器(実施例1の補正トルク制限値生成器38)とを有する。電流指令値算出器は、速度指令値(実施例1の機械角速度指令値ωm)とモータの速度(実施例1の機械角推定角速度ωm)とに基づいて生成される平均トルク指令値(実施例1の平均トルク指令値To)と、トルク指令値を補正するための補正トルク指令値(実施例1の補正トルク指令値ΔT)とを加算した合計トルク指令値(実施例1の合計トルク指令値T)とに基づいて電流指令値(q軸電流指令値Iq,d軸電流指令値Id)を算出する。補正トルク制限値生成器は、補正トルク指令値がゼロでなく、かつ、電流指令値の最大値(実施例1の電流指令ピーク値Ia_peak)が所定の電流リミット値(実施例1の電流リミット値Ia_limit)以上のときに、補正トルク指令値に制限を与える。
 このようにして補正トルク指令値に制限を与えることで、補正トルク指令値の増大による電流トリップを防止することができるため、過電流保護機能の作動によるモータの停止に至らずに安定してモータを動作させることができる。
 また、補正トルク制限値生成器(実施例2の補正トルク制限値生成器39)は、補正トルク指令値がゼロでなく、かつ、モータの電流(d軸電流Id,q軸電流Iq)の最大値(実施例2の電流ピーク値Ia_peak)が所定の電流リミット値(実施例2の電流リミット値Ia_limit)以上のときに、補正トルク指令値に制限を与える。
 このようにして補正トルク指令値に制限を与えても、補正トルク指令値の増大による電流トリップを防止することができるため、過電流保護機能の作動によるモータの停止に至らずに安定してモータを動作させることができる。また、モータの電流の振幅値のノイズレベルが制御状態によって異なるような場合でも、同一の電流リミット値を用いることができるため、電流トリップ値に対する電流リミット値のマージンの設定にあたりチューニングが不要となる。
 また、補正トルク制限値生成器は、モータの回転速度の変動幅(実施例1,2の速度変動振幅|Δωm|)が許容値(実施例1,2の速度変動許容値|Δωm|)より小さいときに、補正トルク指令値に与えられている制限を解除する。
 こうすることで、トルク制限ハンチングが発生することを防止できる。
 また、補正トルク制限値生成器は、モータの過電流保護機能が作動する電流閾値(実施例1,2の電流トリップ値Ia_trip)よりも所定値(実施例1,2のマージンMA)だけ小さい値を電流リミット値として用いる。
 こうすることで、補正トルク指令値の増大による電流トリップを確実に防止することができる。
100,200 モータ制御装置
14 電流指令値算出器
34 補正トルク生成器
38,39 補正トルク制限値生成器

Claims (6)

  1.  速度指令値とモータの速度とに基づいて生成される平均トルク指令値と、前記トルク指令値を補正するための補正トルク指令値とを加算した合計トルク指令値に基づいて電流指令値を算出する電流指令値算出器と、
     前記補正トルク指令値がゼロでなく、かつ、前記電流指令値の最大値が所定の電流リミット値以上のときに、前記補正トルク指令値に制限を与える補正トルク制限値生成器と、
     を具備するモータ制御装置。
  2.  前記補正トルク制限値生成器は、前記モータの回転速度の変動幅が許容値より小さいときに、前記補正トルク指令値に与えられている前記制限を解除する、
     請求項1に記載のモータ制御装置。
  3.  前記補正トルク制限値生成器は、前記モータの過電流保護機能が作動する電流閾値よりも所定値だけ小さい値を前記電流リミット値として用いる、
     請求項1に記載のモータ制御装置。
  4.  速度指令値とモータの速度とに基づいて生成される平均トルク指令値と、前記トルク指令値を補正するための補正トルク指令値とを加算した合計トルク指令値に基づいて電流指令値を算出する電流指令値算出器と、
     前記補正トルク指令値がゼロでなく、かつ、前記モータの電流の最大値が所定の電流リミット値以上のときに、前記補正トルク指令値に制限を与える補正トルク制限値生成器と、
     を具備するモータ制御装置。
  5.  前記補正トルク制限値生成器は、前記モータの回転速度の変動幅が許容値より小さいときに、前記補正トルク指令値に与えられている前記制限を解除する、
     請求項4に記載のモータ制御装置。
  6.  前記補正トルク制限値生成器は、前記モータの過電流保護機能が作動する電流閾値よりも所定値だけ小さい値を前記電流リミット値として用いる、
     請求項4に記載のモータ制御装置。
PCT/JP2020/045887 2020-01-31 2020-12-09 モータ制御装置 WO2021153021A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2020-015700 2020-01-31
JP2020015700A JP6984672B2 (ja) 2020-01-31 2020-01-31 モータ制御装置

Publications (1)

Publication Number Publication Date
WO2021153021A1 true WO2021153021A1 (ja) 2021-08-05

Family

ID=77079038

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2020/045887 WO2021153021A1 (ja) 2020-01-31 2020-12-09 モータ制御装置

Country Status (2)

Country Link
JP (1) JP6984672B2 (ja)
WO (1) WO2021153021A1 (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018014854A (ja) * 2016-07-22 2018-01-25 日立ジョンソンコントロールズ空調株式会社 モータ駆動装置、及び、それを用いた冷凍空調機器
JP2019180173A (ja) * 2018-03-30 2019-10-17 株式会社富士通ゼネラル モータ制御装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018014854A (ja) * 2016-07-22 2018-01-25 日立ジョンソンコントロールズ空調株式会社 モータ駆動装置、及び、それを用いた冷凍空調機器
JP2019180173A (ja) * 2018-03-30 2019-10-17 株式会社富士通ゼネラル モータ制御装置

Also Published As

Publication number Publication date
JP6984672B2 (ja) 2021-12-22
JP2021125899A (ja) 2021-08-30

Similar Documents

Publication Publication Date Title
JP6014401B2 (ja) 電動機制御装置
EP2034605B1 (en) Electric motor driving device, and compressor driving device
WO2021153020A1 (ja) モータ制御装置
JP6672902B2 (ja) モータ制御装置
JP7225564B2 (ja) モータ制御装置
JP7081274B2 (ja) モータ制御装置
JPH11150998A (ja) インバータ装置
CN107925373B (zh) 电力变换装置以及热泵装置
JP7020093B2 (ja) モータ制御装置
JP6984672B2 (ja) モータ制御装置
JP6608031B2 (ja) 電力変換装置および空調装置
JP7363524B2 (ja) センサレスモータ制御装置
JP6769050B2 (ja) モータ制御装置
JP7318547B2 (ja) モータ制御装置
JP7020112B2 (ja) モータ制御装置
JP7009861B2 (ja) モータ制御装置
JP7127657B2 (ja) モータ制御装置
JP5307578B2 (ja) 電動機制御装置
JP5511531B2 (ja) 同期電動機の制御装置
WO2024071277A1 (ja) モータ制御装置
JP2023051559A (ja) モータ制御装置
WO2022137650A1 (ja) モータ制御装置およびモータ制御方法
JP2023051557A (ja) モータ制御装置
JP2023047965A (ja) モータ制御装置
JP2023051558A (ja) モータ制御装置

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 20916559

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20916559

Country of ref document: EP

Kind code of ref document: A1