Sign In to Follow Application
View All Documents & Correspondence

Motor Control Device

Abstract: Provided is a motor control device capable of stably operating a motor without stopping the motor by activation of an overcurrent protection function. In the motor control device (100), a current command value calculator (14) calculates a q-axis current command value Iq* and a d-axis current command value Id* based on a total torque command value T* obtained by adding an average torque command value To* generated based on a mechanical angular velocity command value com* and an estimated mechanical angular velocity com and a correction torque command value AT for correcting the average torque command value To*, and a correction torque limit value generator (38) limits the correction torque command value AT when the correction torque command value AT is not 0 and a current command peak value Ia*_peak is equal to or larger than a current limit value la limit.

Get Free WhatsApp Updates!
Notices, Deadlines & Correspondence

Patent Information

Application #
Filing Date
05 July 2022
Publication Number
46/2022
Publication Type
INA
Invention Field
ELECTRICAL
Status
Email
knk@kankrishme.com
Parent Application
Patent Number
Legal Status
Grant Date
2024-03-11
Renewal Date

Applicants

FUJITSU GENERAL LIMITED
3-3-17, Suenaga, Takatsu-ku, Kawasaki-shi, Kanagawa 2138502

Inventors

1. URAYAMA, Masaharu
c/o FUJITSU GENERAL LIMITED, 3-3-17, Suenaga, Takatsu-ku, Kawasaki-shi, Kanagawa 2138502
2. SAITO, Yuki
c/o FUJITSU GENERAL LIMITED, 3-3-17, Suenaga, Takatsu-ku, Kawasaki-shi, Kanagawa 2138502

Specification

DESCRIPTION MOTOR CONTROL DEVICE
Field
[0001] The present disclosure relates to a motor control
device.
Background
[0002] In a compressor used in an air conditioner, a load torque periodically fluctuates during one rotation of a rotor of a motor that drives the compressor. The periodical load torque variation occurs due to a pressure change of refrigerant gas between respective strokes including suction, compression, and discharge, and causes vibration of the motor due to a variation in rotational speed of the motor (which may hereinafter be simply referred to as "velocity variation"). In a case where a compressor in which such a load torque variation occur is used, a "torque control (periodic disturbance suppression control)" is performed to suppress a variation in rotational speed of the motor (which may hereinafter be referred to as "velocity variation").
Citation List
Patent Literature
[0003] Patent Literature 1: JP 2019-118217 A
Summary
Technical Problem
[0004] However, in a case where the inertia (the moment
of inertia) of the motor is small, the velocity variation
is increased, and thus, a current by the torque control for
suppressing the velocity variation is increased. In

addition, even in a case where interlinkage magnetic flux of the motor is small, an output torque with respect to the amount of current is increased, and thus, the current by the torque control for suppressing the velocity variation is increased. Therefore, when the torque control is performed in an overload state in a motor having a small inertia or a motor having a small interlinkage magnetic flux, a peak current of the motor may become excessive. When the peak current of the motor becomes excessive, an overcurrent protection function for preventing demagnetization of the motor is activated, and the motor stops. The stopping of the motor by the activation of the overcurrent protection function may be referred to as "current trip".
[0005] Therefore, the present disclosure proposes a technology capable of stably operating a motor without stopping the motor by activation of an overcurrent protection function.
Solution to Problem
[0006] In one aspect of the disclosed embodiment, a motor control device includes a current command value calculator and a correction torque limit value generator. The current command value calculator calculates current command values based on a total torque command value obtained by adding an average torque command value generated based on a velocity command value and a velocity of a motor and a correction torque command value for correcting the average torque command value. The correction torque limit value generator limits the correction torque command value when the correction torque command value is not zero and a maximum value of the current command value is equal to or larger than a

predetermined current limit value.
Advantageous Effects of Invention
[0007] According to the present disclosure, it is possible to stably operate the motor without stopping the motor by the activation of the overcurrent protection function.
Brief Description of Drawings
[0008] FIG. 1 is a diagram illustrating a configuration example of a motor control device of a first embodiment of the present disclosure.
FIG. 2 is a diagram illustrating a configuration example of a current error correction value generator of the first embodiment of the present disclosure.
FIG. 3 is a diagram illustrating a configuration example of a correction torque limit value generator of the first embodiment of the present disclosure.
FIG. 4 is a diagram for describing an operation example of a peak hold calculator of the first embodiment of the present disclosure.
FIG. 5 is a diagram illustrating a configuration example of a correction torque generator of the first embodiment of the present disclosure.
FIG. 6A is a diagram for describing an operation example of the motor control device of the first embodiment of the present disclosure.
FIG. 6B is a diagram for describing an operation example of the motor control device of the first embodiment of the present disclosure.
FIG. 6C is a diagram for describing an operation example of the motor control device of the first embodiment of the present disclosure.

FIG. 7 is a diagram for describing an operation example of the motor control device of the first embodiment of the present disclosure.
FIG. 8 is a diagram for describing an operation example of the motor control device of the first embodiment of the present disclosure.
FIG. 9 is a diagram illustrating a configuration example of a motor control device of a second embodiment of the present disclosure.
FIG. 10 is a diagram illustrating a configuration example of a correction torque limit value generator of the second embodiment of the present disclosure.
FIG. 11 is a diagram for describing an operation example of a peak hold calculator of the second embodiment of the present disclosure.
FIG. 12A is a diagram for describing an operation example of the motor control device of the second embodiment of the present disclosure.
FIG. 12B is a diagram for describing an operation example of the motor control device of the second embodiment of the present disclosure.
FIG. 12C is a diagram for describing an operation example of the motor control device of the second embodiment of the present disclosure.
FIG. 13 is a diagram for describing an operation example of the motor control device of the second embodiment of the present disclosure.
FIG. 14 is a diagram for describing an operation example of the motor control device of the second embodiment of the present disclosure.
FIG. 15 is a diagram illustrating an example of a current limit operation of the first embodiment of the present disclosure.

FIG. 16 is a diagram illustrating an example of a current limit operation of the second embodiment of the present disclosure.
Description of Embodiments
[0009] Hereinafter, embodiments of the present disclosure will be described with reference to the drawings. In the following embodiments, the same components are denoted by the same reference signs.
[0010] In the present disclosure, a motor control device that performs a torque control of a permanent magnet synchronous motor (PMSM) that drives a compressor having a periodic load torque variation by a position sensorless vector control will be described as an example. However, the disclosed technology can be widely applied to a motor control device that performs a torque control of a motor that drives a compressor having a periodic load torque variation.
[0011] [First Embodiment]
FIG. 1 is a diagram illustrating a configuration example of a motor control device of a first embodiment of the present disclosure. In FIG. 1, a motor control device 100 includes subtracters 11, 18, 19, and 40, a velocity controller 12, adders 13, 16, 17, 21, and 22, a current command value calculator 14, a voltage command value calculator 20, a d-q/u, v, w converter 23, a pulse width modulation (PWM) modulator 24, and an intelligent power module (IPM) 25. The IPM 25 is connected to a motor M. An example of the motor M is a PMSM.
[0012] In addition, the motor control device 100 includes a shunt resistor 26, current sensors 27a and 27b, and a 3(|) current calculator 28. Note that the motor

control device 100 only needs to include either the shunt resistor 26 or the current sensors 27a and 27b.
[0013] Furthermore, the motor control device 100 includes a u, v, w/d-q converter 29, an axis error computer 30, a phase locked loop (PLL) controller 31, a position estimator 32, a 1/Pn processor 33, a correction torque generator 34, infinite impulse response filters (IIR filters) 35a and 35b, a decoupling controller 36, a current error correction value generator 37, and a correction torque limit value generator 38.
[0014] The subtractor 11 subtracts an estimated mechanical angular velocity com, which is a current estimated angular velocity output from the 1/Pn processor 33, from a mechanical angular velocity command value com* input to motor control device 100 from the outside (for example, a higher-level controller) of the motor control device 100 to calculate an angular velocity error Aco.
[0015] The velocity controller 12 generates an average torque command value To* such that an average of the angular velocity errors Aco output from the subtractor 11 approaches zero.
[0016] The adder 13 adds the average torque command value To* output from the velocity controller 12 and a correction torque command value AT output from the correction torque generator 34 to calculate a total torque command value T*.
[0017] The current command value calculator 14 calculates a q-axis current command value Iq* and a d-axis current command value Id* based on an intersection of a constant torque curve indicated by the total torque command value T* and an MTPI (maximum torque/current control) curve.

[0018] Here, the intersection of the constant torque curve and the MTPI curve can be calculated using, for example, a motor torque equation shown in Expression (1), and Expression (2) showing a relationship between a d-axis current Id and a q-axis current Iq in the MTPI curve. In the right side of Expression (1), the first term represents a magnet torque, the second term represents a reluctance torque, the magnet torque includes only the q-axis current Iq, and the reluctance torque includes both the q-axis current Iq and the d-axis current Id. Therefore, an appropriate torque can be generated in the motor M by appropriately controlling the q-axis current Iq and the d-axis current Id. In Expressions (1) and (2), "Pn" represents the number of pole pairs of the motor M, ',vFa" represents interlinkage magnetic flux of the motor M, "Ld" represents a d-axis inductance of the motor M, and "Lq" represents a q-axis inductance of the motor M.

T = Pn-{¥a-Iq + (Ld-Lq)-Id-Iq}

i:


I

Va
2(Lq-Ld) f(Lq-Ld)2

+ L

:2)

[0019] By erasing the d-axis current Id from Expressions (1) and (2), Expression (3), which is a quartic equation related to the q-axis current Iq, can be obtained.

(Ld-LqN:+^-^-iq

/Tp

0

3'

[0020] The quartic equation shown in Expression (3) can derive 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 by using, for example, the Newton's method or the like. In addition, the current command value calculator 14 calculates the d-axis current command value Id* according to Expression (2) based on the q-axis current command value Iq* calculated according to Expression (3). [0021] In FIG. 1, the adder 17 adds the q-axis current command value Iq* output from the current command value calculator 14 and a q-axis current error correction value
Alq output from the current error correction value generator 37 according to Expression (4.1) to calculate a q-axis current correction command value Iq_FF*. The adder 16 adds the d-axis current command value Id* output from the current command value calculator 14 and a d-axis current error correction value Aid output from the current error correction value generator 37 according to Expression (4.2) to calculate a d-axis current correction command value Id_FF*.
VFF* = V+AIq (4-D
Id_FF* = Id*+AId (4.2)
[0022] 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 to calculate a q-axis current error Iq_diff which is an error between the q-axis current correction command value Iq_FF* and the q-axis current Iq. The subtractor 18 subtracts the d-axis current Id output from the u, v, w/d-q converter 29 from the d-axis current correction command value Id_FF* output from the adder 16 to calculate a d-axis current error Id_diff which is an error between the d-axis current correction command value Id FF* and the d-axis

current Id.
[0023] The voltage command value calculator 20 calculates a pre-decoupling q-axis voltage command value Vqt by performing a proportional integral (PI) control based on the q-axis current error Iq_diff (Iq_FF* - Iq) according to Expression (5.1). Further, the voltage command value calculator 20 calculates a pre-decoupling d-axis voltage command value Vdt by performing the PI control based on the d-axis current error Id_diff (Id_FF* - Id) according to Expression (5.2). Note that kp_q in Expression (5.1) and kp_d in Expression (5.2) are proportional constants, and ki_q in Expression (5.1) and ki_d in Expression (5.2) are integral constants.
Vqt = kp_q-(lq_F¥*-Iq)+jki_q-(lq_F¥*-Iq)-dt (5.1)
Vdt = kp_d-(ld_FF*-Id)+Jkld-(ld_FF*-Id)-dt (5.2)
[0024] The adder 22 adds a q-axis decoupling correction value Vqa expressed by Expression (6.1) to the pre-decoupling q-axis voltage command value Vqt according to Expression (6.3) to calculate a q-axis voltage command value Vq*. The adder 21 adds a d-axis decoupling correction value Vda expressed by Expression (6.2) to the pre-decoupling d-axis voltage command value Vdt according to Expression (6.4) to calculate a d-axis voltage command value Vd*. As a result, the q-axis voltage command value Vq* and the d-axis voltage command value Vd* in which coupling between the d axis and the q axis is canceled in feedforward are calculated.

qa
VHfl = -C0e * -L ■ L iir (6.2'
Vqa=coe*-(Ld-Idlir + ya) (6.i;
/ = -m * -T • T
'da ^e -"^q ^qiir

Vq* = Vqt + Vqa (6.3)
Vd* = Vdt+Vda (6.4)
[0025] The IIR filter 35a removes noise of the d-axis current Id output from the u, v, w/d-q converter 29, and outputs a d-axis response current Id_iir after the noise removal. The IIR filter 35b removes noise of the q-axis current Iq output from the u, v, w/d-q converter 29, and outputs a q-axis response current Iq_iir after the noise removal. The IIR filters 35a and 35b are examples of noise removal filters.
[0026] The decoupling controller 36 generates the d-axis decoupling correction value Vda for correcting the pre-decoupling d-axis voltage command value Vdt according to Expression (6.2) based on an electrical angular velocity
command value coe* and the q-axis response current Iq_iir from the outside (for example, a higher-level controller) of the motor control device 100. In addition, the decoupling controller 36 generates the q-axis decoupling correction value Vqa for correcting the pre-decoupling q-axis voltage command value Vqt according to Expression (6.1) based on the electrical angular velocity command value coe* and the d-axis response current Id_iir. The d-axis decoupling correction value Vda and the q-axis decoupling correction value Vqa are correction values for canceling a d-q axes coupling term in the feedforward. Here, in order to achieve a stable control, the decoupling correction value is desirably a direct-current value. Therefore, in generating the decoupling correction value,
the electrical angular velocity command value coe* is used for the velocity, and the d-axis response current Id_iir and the q-axis response current Iq_iir from which variation

components have been removed by the IIR filters 35a and 35b
are used for the d-axis current Id and the q-axis current
Iq.
[0027] The current error correction value generator 37
generates the d-axis current error correction value Aid and the q-axis current error correction value Alq based on the d-axis current command value Id* and the q-axis current command value Iq* output from the current command value calculator 14, the d-axis current Id and the q-axis current Iq output from the u, v, w/d-q converter 29, and a mechanical angle phase 9m output from the position estimator 32.
[0028] The current error correction value generator 37 integrates variation errors (a phase error and an amplitude error) that occur when the d-axis current and the q-axis current do not follow the current command values due to a response delay of the current command value calculator 14 or the coupling between the d axis and the q axis, and generates inverted outputs of the integrated values as the current error correction values (the d-axis current error correction value Aid and the q-axis current error correction value Alq). Here, the d-axis current error correction value Aid is a feedforward component for correcting a variation error between the d-axis current command value I* and the d-axis current Id, and the q-axis current error correction value Alq is a feedforward component for correcting a variation error between the q-axis current command value Iq* and the q-axis current Iq.
[0029] The d-q/u, v, w converter 23 converts the two-phase d-axis voltage command value Vd* and q-axis voltage command value Vq* output from the adders 21 and 22 into three-phase output voltage command values, a U-phase output

voltage command value Vu*, a V-phase output voltage command value Vv% and a W-phase output voltage command value Vw*, based on an electrical angle phase (d-q axis phase) 9e output from the position estimator 32. The electrical angle phase 9e output from the position estimator 32 indicates a current rotor position of the motor M.
[0030] The PWM modulator 24 generates six-phase PWM signals based on the U-phase output voltage command value Vu*, the V-phase output voltage command value Vv% the W-phase output voltage command value Vw*, and a PWM carrier signal, and outputs the generated six-phase PWM signals to the IPM 25.
[0031] The IPM 25 converts a direct current (DC) voltage Vdc supplied from the outside based on the 6-phase PWM signals output from the PWM modulator 24, generates an alternating current (AC) voltage to be applied to each of a U phase, a V phase, and a W phase of the motor M, and applies each generated AC voltage to the U phase, the V phase, and the W phase of the motor M.
[0032] In a case where a bus current is detected by a one-shunt method using the shunt resistor 26, the 3(() current calculator 28 calculates a U-phase current value lu, a V-phase current value Iv, and a W-phase current value Iw of the motor M from six-phase PWM switching information output from the PWM modulator 24 and the detected bus current. Alternatively, in a case where the U-phase current and the V-phase current are detected by the current sensors 27a and 27b, the 3(() current calculator 28 calculates the remaining W-phase current value Iw based on Kirchhoff's law of "lu + Iv + Iw = 0". The 3(() current calculator 28 outputs the phase current values lu, Iv, and Iw of the respective phases to the u, v, w/d-q converter

29.
[0033] The u, v, w/d-q converter 29 converts the three-phase current values, the U-phase current value lu, the V-phase current value Iv, and the W-phase current value Iw, output from the 3(() current calculator 28 into two-phase d-axis current Id and q-axis current Iq based on the electrical angle phase 9e output from the position estimator 32.
[0034] The axis error computer 30 calculates an axis error A9 (a difference between an estimated rotation axis and an actual rotation axis) by using the d-axis voltage command value Vd* and the q-axis voltage command value Vq* output from the adders 21 and 22 and the d-axis current Id and the q-axis current Iq output from the u, v, w/d-q converter 29.
[0035] The PLL controller 31 calculates an estimated electrical angular velocity coe, which is a current estimated angular velocity of the motor M, based on the axis error A9 output from the axis error computer 30.
[0036] The position estimator 32 estimates the electrical angle phase 9e and the mechanical angle phase 9m based on the estimated electrical angular velocity coe output from the PLL controller 31.
[0037] The 1/Pn processor 33 calculates the estimated mechanical angular velocity com by dividing the estimated electrical angular velocity coe output from the PLL controller 31 by the number of pole pairs Pn of the motor M.
[0038] The subtractor 40 subtracts the mechanical angular velocity command value com* from the estimated mechanical angular velocity com output from the 1/Pn

processor 33 to calculate an estimated mechanical angular velocity variation Acom.
[0039] The correction torque generator 34 generates the correction torque command value AT for suppressing the
estimated mechanical angular velocity variation Acom, which is a periodic velocity variation, to be equal to or smaller than an allowable velocity variation value |Acom|% which is a velocity variation range in which the vibration of the motor M is allowable, based on the allowable velocity variation value |Acom|% the estimated mechanical angular velocity variation Acom output from the subtractor 40, and the mechanical angle phase 9m output from the position estimator 32. The allowable velocity variation value
I Acom | * is stored in the motor control device 100. Further, the estimated mechanical angular velocity variation
(velocity variation) Acom is different from a value of the angular velocity error Aco only in positive and negative signs.
[0040] The correction torque limit value generator 38
generates a correction torque limit value |AT|_limit that limits a correction torque amplitude I AT|, which is an amplitude of the correction torque command value AT, based on a 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. [0041]
FIG. 2 is a diagram illustrating a configuration example of the current error correction value generator of the first embodiment of the present disclosure. In FIG. 2, the current error correction value generator 37 includes

subtracters 37a and 37e, a q-axis current error component separator 37b, a q-axis current error integrator 37c, a q-axis current error correction value demodulator 37d, a d-axis current error component separator 37f, a d-axis current error integrator 37g, and a d-axis current error correction value demodulator 37h.
[0042] The subtractor 37a calculates a q-axis current variation error Iq_err, which is an error between the q-axis current Iq and the q-axis current command value Iq*, according to Expression (7).
I =1 -I * (7)
qerr q q \ ' I
[0043] The q-axis current error component separator 37b calculates two Fourier coefficients, Iq_err_sin (sin component) and Iq_err_cos (cos component), which are fundamental wave components of the q-axis current variation error Iq_err, every mechanical angle cycle, according to Expressions (8.1) and (8.2) .
!q errSm=-L\ err " Sill(0m)d0m (8.1)
1 ?
Iq_erT_Cos=-Jo7llq_err-COs(6m)d0m (8.2)
[0044] The q-axis current error integrator 37c multiplies each of the sin component Iq_err_sin of the q-axis current variation error Iq_err and the cos component Iq_err_cos of the q-axis current variation error Iq_err by a correction gain k according to Expressions (9.1) and
(9.2), and adds each multiplication result to Iq_err_sin_i_old and Iq_err_cos_i_old. Iq_err_sin_i in Expression (9.1) is an integral value of Iq_err_sin up to the current mechanical angle cycle, and Iq err cos i in

Expression (9.2) is an integral value of Iq_err_cos up to the current mechanical angle cycle. Further, Iq_err_sin_i_old in Expression (9.1) is Iq_err_sin_i up to the previous mechanical angle cycle, and Iq_err_cos_i_old in Expression (9.2) is Iq_err_cos_i up to the previous mechanical angle cycle.
qerrsini qerrsin q _ errsin _ i _ old (9.1)
q_err_cos_i qerrcos q err cos i old (9.z)
[0045] The q-axis current error correction value demodulator 37d calculates the q-axis current error correction value Alq according to Expressions (10.1) and
(10.2) . As a result, the phase of the q-axis current variation error is inverted, and an instantaneous value of the q-axis current error correction value Alq at the mechanical angle phase 9m is calculated.
AIq=Iq_err_sm_rsin(em-7r) + Iq_err_cos_rCOS(em-7r) (10.1)
= -Iq_err_srn_rsin(0m)-Iq_err_cos_rCOS(0m) (10.2)
[0046] The subtractor 37e calculates a d-axis current variation error Id_err, which is an error between the d-axis current Id and the d-axis current command value Id*, according to Expression (11).
V«r = ^d ~~ ^d (H)
[0047] The d-axis current error component separator 37f calculates two Fourier coefficients Id_err_sin (sin component) and Id_err_cos (cos component), which are fundamental wave components of the d-axis current variation error Id err, every mechanical angle cycle, according to

Expressions (12.1) and (12.2 1 r2%
1 f27t , .
ld errsm=-L ld err ' Sm(0m)d0m (12.1!
- - TT J\) -

1 f2%
Id_erT_Cos=-J07lld_err-COs(em)dem (12.2!
7TJ0
[0048] The d-axis current error integrator 37g multiplies each of the sin component Id_err_sin of the d-axis current variation error Id_err and the cos component Id_err_cos of the d-axis current variation error Id_err by the correction gain k according to Expressions (13.1) and
(13.2), and adds Id_err_sin_i_old and Id_err_cos_i_old to each multiplication result. Id_err_sin_i in Expression
(13.1) is an integral value of Id_err_sin up to the current mechanical angle cycle, and Id_err_cos_i in Expression
(13.2) is an integral value of Id_err_cos in the current mechanical angle cycle. Further, Id_err_sin_i_old in Expression (13.1) is Id_err_sin_i up to the previous mechanical angle cycle, and Id_err_cos_i_old in Expression
(13.2) is Id_err_cos_i in the previous mechanical angle cycle.
derrsini derrsin d _ errsin _ i _ old ( -L-J • -L )
d_err_cos_i derrcos d_err_cos_i_old (L-3.Z)
[0049] The d-axis current error correction value demodulator 37h calculates the d-axis current error correction value Aid according to Expressions (14.1) and
(14.2) . As a result, the phase of the d-axis current variation error is inverted, and an instantaneous value of the d-axis current error correction value Aid at the mechanical angle phase 9m is generated.

AId = Id_err_sin_i " sin(9m ~ *) + Id_err_cos_i " C0S(6m ~ *) (14.1)
= -Id_err_sm_rSm(em)-Id_elT_cos_1-COs(em) (14.2)
[0050]
FIG. 3 is a diagram illustrating a configuration example of the correction torque limit value generator of the first embodiment of the present disclosure. In FIG. 3, the correction torque limit value generator 38 includes a current amplitude calculator 38a, a peak hold calculator 38b, a subtractor 38c, and a AT limit value generator 38d. [0051] The current amplitude calculator 38a calculates a current command value amplitude la* according to Expression (15) based on the d-axis current command value Id* and the q-axis current command value Iq*, and outputs the calculated current command value amplitude la* to the peak hold calculator 38b.
Ia* = >/(Id*)2+(Iq*)2 (15)
[0052] The peak hold calculator 38b acquires a maximum value of the current command value amplitude la* in each predetermined acquisition period Tm as a current command peak value Ia*_peak for each acquisition period Tm, and outputs the acquired current command peak value Ia*_peak to the subtractor 38c. For example, the predetermined acquisition period Tm corresponds to a mechanical angle cycle of the motor M.
[0053] FIG. 4 is a diagram for describing an operation example of the peak hold calculator of the first embodiment of the present disclosure. [0054] As illustrated in FIG. 4, the peak hold

calculator 38b compares the current command value amplitude la* that changes with the lapse of time with a temporary current command peak value Ia*_peak_temp (a peak hold value of the current command value amplitude la* that changes with the lapse of time in a target acquisition period Tm) according to Expression (16) in an acquisition period Tml
(mechanical angle phase 9m = Oft to 27r) , and updates the temporary current command peak value Ia*_peak_temp with the current command value amplitude la* when the current command value amplitude la* becomes larger than the temporary current command peak value Ia*_peak_temp.
T * < T * i—*> T * = T * 11 aa peak temp xa —* a peak, temp xa liDi
[0055] At the end of the acquisition period Tml, the peak hold calculator 38b sets the temporary current command peak value Ia*_peak_temp as the current command peak value Ia*_peak according to Expression (17), and initializes the temporary current command peak value Ia*_peak_temp to zero according to Expression (18) . That is, the temporary current command peak value Ia*_peak_temp at the end of the acquisition period Tml is acquired as the current command peak value Ia*_peak in an acquisition period Tm2 next to the acquisition period Tml.
a _ peak a _ peak _ temp (1 ')
T * = 0 M Qa _ peak _ temp " \ J- o ;
[0056] Further, as illustrated in FIG. 4, the peak hold calculator 38b compares the current command value amplitude la* that changes with the lapse of time with the temporary current command peak value Ia*_peak_temp according to Expression (16) in the acquisition period Tm2 (mechanical

angle phase 9m = 27T to 47r) , and updates the temporary current command peak value Ia*_peak_temp with the current command value amplitude la* when the current command value amplitude la* becomes larger than the temporary current command peak value Ia*_peak_temp. That is, also in the acquisition period Tm2, similarly to the acquisition period Tml, the temporary current command peak value Ia*_peak_temp is updated so as to trace the maximum value of the current command value amplitude la* as needed.
[0057] At the end of the acquisition period Tm2, the peak hold calculator 38b sets the temporary current command peak value Ia*_peak_temp as the current command peak value Ia*_peak according to Expression (17), and initializes the temporary current command peak value Ia*_peak_temp to zero according to Expression (18) . That is, the temporary current command peak value Ia*_peak_temp at the end of the acquisition period Tm2 is acquired as the current command peak value Ia*_peak in an acquisition period Tm3 next to the acquisition period Tm2.
[0058] Also in the acquisition period Tm3 (mechanical angle phase 9m = 47T to 67r) and each subsequent acquisition period Tm, the peak hold calculator 38b is operated in the same manner as described above.
[0059] In FIG. 3, the subtractor 38c subtracts a predetermined current limit value Ia_limit from the current command peak value Ia*_peak to calculate a deviation Ia*_err of the current command peak value Ia*_peak with respect to the current limit value Ia_limit according to Expression (19). Note that the predetermined current limit value Ia_limit is preferably set as a value obtained by subtracting a predetermined margin MA from a current trip value Ia_trip that is a current threshold at which an overcurrent protection function of the motor M is

activated.
a_err — a_peak a_limit (19)
[0060] Here, as the correction torque command value AT is increased, the current peak value is also increased, and current trip may occur in the motor M. Therefore, the AT limit value generator 38d generates the correction torque limit value |AT|_limit according to a AT amplitude limit flag set as follows so that the current trip does not occurs in the motor M. When the AT amplitude limit flag is set to "ON", the correction torque command value AT is limited, and when the AT amplitude limit flag is set to "OFF", the correction torque command value AT is not limited.
[0061] The AT limit value generator 38d sets the AT amplitude limit flag to "ON" when the correction torque command value AT output from the correction torque generator 34 is not 0 (that is, when the torque control is being performed) and the deviation Ia*_err is a positive value. That is, the AT limit value generator 38d sets the AT amplitude limit flag to "ON" when "AT ¥= 0" and "Ia*_err > 0". A case where "AT i= 0" and "Ia*_err > 0" corresponds to a case where it is desired to limit the correction torque command value AT so that the current trip does not occurs in the motor M.
[0062] On the other hand, the AT limit value generator 38d sets the AT amplitude limit flag to "OFF" when there is no need to limit the correction torque command value AT. Here, in a case where the AT amplitude limit flag is set to "OFF" when the deviation Ia*_err is a negative value, there

is a possibility that repetition of the limitation of the correction torque command value AT and release of the limitation of the correction torque command value AT in a short cycle (which may hereinafter be referred to as "torque limit hunting") occurs. That is, when the AT amplitude limit flag is set to "OFF", in a case where a velocity variation amplitude | Acorn | is larger than the allowable velocity variation value |Acom|% the correction torque command value AT is controlled in a direction in which the correction torque command value AT is increased. Therefore, there is a need to limit the correction torque command value AT again so that the current trip does not occur.
[0063] Therefore, the AT limit value generator 38d sets the AT amplitude limit flag to "OFF" when the velocity variation amplitude | Acorn | is smaller than the allowable velocity variation value | Acorn |*, that is, " | Acorn | < | Acorn |*".
[0064] After setting the AT amplitude limit flag, the AT limit value generator 38d generates the correction torque limit value |AT|_limit according to the AT amplitude limit flag.
[0065] When the AT amplitude limit flag is set to "ON" as described above, the AT limit value generator 38d generates the correction torque limit value |AT|_limit according to Equation (20) based on |AT|_old which is the
correction torque amplitude I AT| in the previous mechanical angle cycle and the deviation Ia*_err. "g" in Expression (20) is a predetermined gain value by which the deviation Ia*_err is multiplied. That is, when the AT amplitude limit flag is "ON", the AT limit value generator 38d

performs an integral control in which the correction torque amplitude |AT|_old of the previous mechanical angle cycle is regarded as an integral term. As a result, in a case where the current trip is likely to occur in the motor M, since the deviation Ia*_err is a positive value, the correction torque limit value |AT|_limit is decreased, and the current command value amplitude la* is decreased as the correction torque limit value |AT|_limit is decreased.
IATI *iimit HATI old-g"1** err (20)
[0066] On the other hand, when the AT amplitude limit flag is set to "OFF" as described above, the AT limit value generator 38d sets the correction torque limit value |AT|_limit to a large value such that the correction torque command value AT is not limited. For example, the AT limit value generator 38d sets a value three times the average torque command value To* as the correction torque limit value |AT|_limit according to Expression (21). Since a large value that is three times the average torque command value To* is set as the correction torque limit value |AT|_limit, the correction torque command value AT is not substantially limited.
|AT|Jimit=T0*x3 (21)
[0067] The AT limit value generator 38d outputs the correction torque limit value |AT|_limit generated as described above to the correction torque generator 34. [0068]
FIG. 5 is a diagram illustrating a configuration example of the correction torque generator of the first

embodiment of the present disclosure. In FIG. 5, the correction torque generator 34 includes a velocity variation component separator 34a, a velocity variation amplitude calculator 34b, a subtractor 34c, a correction torque amplitude calculator 34d, a velocity variation phase corrector 34e, a quadrature component separator 34f, a correction torque demodulator 34g, and a correction torque amplitude limiter 34h.
[0069] In FIG. 5, the velocity variation component separator 34a separates the estimated mechanical angular velocity variation Acorn into two Fourier coefficients cosin
(sin component) and cocos (cos component), which are fundamental wave components of Acorn, according to Expressions (22.1) and (22.2) based on the mechanical angle phase 9m every mechanical angle cycle. As the Fourier coefficients which are the fundamental wave components of the estimated mechanical angular velocity variation Acorn are calculated every mechanical angle cycle, a harmonic component of the estimated mechanical angular velocity variation Acorn is removed, and the fundamental wave components of the estimated mechanical angular velocity variation Acorn can be accurately extracted, cosin and cocos are values updated every mechanical angle cycle.
C°Sm=-[7lACOm-Sm(em)dem (22.1)
7tJ0
®cos=-[7lAC0m-COs(em)dem (22.2)
7tJ0
[0070] The velocity variation amplitude calculator 34b calculates the velocity variation amplitude | Acorn | according to Expression (23) based on the Fourier coefficients cosin and cocos. Since cosin and cocos are

values updated every mechanical angle cycle, the velocity variation amplitude | Acom | is also updated every mechanical angle cycle.
|AG)m| = V(c0sJ2+(O2 (23)
[0071] The subtractor 34c subtracts the allowable velocity variation value | Acom | * from the velocity variation amplitude | Acom | output from the velocity variation amplitude calculator 34b to calculate a velocity variation error |Acom|err. The allowable velocity variation value
I Acom | * defines the velocity variation amplitude | Acom | in a range in which the vibration of the motor M is allowable.
[0072] The correction torque amplitude calculator 34d
adjusts the correction torque amplitude I AT| every mechanical angle cycle according to an error between the velocity variation amplitude | Acom | and the allowable velocity variation value | Acom | *. For example, the correction torque amplitude calculator 34d calculates the correction torque amplitude I AT| by multiplying the velocity variation error |Acom|err, which is an error between the velocity variation amplitude | Acom | and the allowable velocity variation value |Acom|% by the correction gain k and adding the multiplication result and |AT|_old according to Expression (24). |AT|_old in Expression (24) is the correction torque amplitude I AT| in the previous mechanical angle cycle. By appropriately setting the correction gain k, it is possible to suppress hunting of a velocity variation | Aco | at a boundary of the allowable velocity variation value | Acom | * and generation of the vibration due to the velocity variation | Aco | becoming

larger than the allowable velocity variation value | Acorn | * due to a sudden load torque change.
|AT| = k-(|Acom|-|Acomf)+|AT|_old (24)
[0073] When the correction torque amplitude I AT| output from the correction torque amplitude calculator 34d is larger than the correction torque limit value |AT|_limit output from the correction torque limit value generator 38, the correction torque amplitude limiter 34h rewrites the value of the correction torque amplitude I AT| with the correction torque limit value |AT|_limit, and outputs the correction torque amplitude I AT| rewritten with the
correction torque limit value |AT|_limit to the quadrature component separator 34f. That is, when the correction torque amplitude I AT| is larger than the correction torque limit value |AT|_limit, the value of the correction torque amplitude I AT| is set to the correction torque limit value I AT|_limit. By setting the value of the correction torque amplitude I AT| to the correction torque limit value |AT|_limit, a variation amount of the current amplitude of the motor M is limited, and the occurrence of the current trip in the motor M can be prevented.
[0074] On the other hand, when the correction torque amplitude I AT| is equal to or smaller than the correction torque limit value |AT|_limit, the correction torque amplitude limiter 34h outputs the correction torque amplitude I AT| output from the correction torque amplitude calculator 34d to the quadrature component separator 34f as it is. [0075] The velocity variation phase corrector 34e

corrects the phase of the estimated mechanical angular velocity variation Acorn acquired every mechanical angle cycle. For example, the velocity variation phase corrector 34e multiplies each of the Fourier coefficients cosin and cocos by the correction gain k according to Expressions (25.1) and (25.2), and adds cosin_i_old and cocos_i_old to the respective multiplication results. cosin_i_old in Expression (25.1) is cosin_i in the previous mechanical angle cycle, and cocos_i_old in Expression (25.2) is cocos_i in the previous mechanical angle cycle. Then, the velocity variation phase corrector 34e calculates an arctangent of cosin_i and cocos_i as a velocity variation correction phase (|)Coi according to Expression (25.3) . The velocity variation correction phase (|)Coi serves as a reference of the phase when the torque control is performed, and a phase retarded by 7r/2 with respect to the reference becomes the phase of the correction torque command value AT (correction torque phase).
00sin i — ^sin ' k + ^sin i old
:25.1) k + co„
^cos i ^cos
cosiold
:25.2'

4>«

tan

co„
V ®sin i J

:25.3'

[0076] The quadrature component separator 34f calculates a sin component (cosin_i) and a cos component (cocos_i) of the velocity variation correction phase 4>co± according to Expressions (26.1) and (26.2) based on the correction torque amplitude I AT| output from the correction torque amplitude limiter 34h and the velocity variation correction phase 4>co± output from the velocity variation phase

corrector 34e. This processing also serves to prevent divergence at the time of phase correction by the computation of Expressions (25.1) and (25.2).
<»Sm i =lAT|-COS(4»coi) (26. I]

»cos i=|AT|-sin((|)(ni)

:26.2'

[0077] The correction torque demodulator 34g calculates the correction torque command value AT according to Expressions (27.1) and (27.2) based on the sin component
(cosin_i) and the cos component (cocos_i) of the velocity variation correction phase (|)Coi. By this processing, conversion into a correction torque phase retarded by n/2 the velocity variation correction phase (|)Coi is made, and an instantaneous value of the correction torque command value AT at the mechanical angle phase 9m is generated.

AT = ©„:„ : -sin

/
V

eT

7T

+ C0cos J • COS

er

7T

'27.1'


= cocos i -sin(em)-o)sin i-cos(0m)

'27.2'

[0078] The correction torque demodulator 34g may calculate the instantaneous value of the correction torque command value AT according to Expression (28) instead of Expressions (27.1) and (27.2) .

AT = lATl • sin

/

Qm+^co!-

7T

!28)

[0079] Then, the adder 13 illustrated in FIG. 1 adds the correction torque command value AT output from the correction torque demodulator 34g to the average torque command value To* output from the velocity controller 12

according to Expression (29) to calculate the total torque command value T*.
T* = T0 * +AT (29)
[0080]
FIGS. 6A, 6B, 6C, 7, and 8 are diagrams for describing an operation example of the motor control device of the first embodiment of the present disclosure. [0081] FIGS. 6A, 6B, and 6C illustrate behaviors of current vectors in the motor control device 100. As illustrated in FIG. 6A, in a case where the current command peak value Ia*_peak is larger than the current limit value Ia_limit, the AT amplitude limit flag is set to "ON", and the correction torque amplitude I AT| is limited. Even when the correction torque amplitude I AT| is limited, in a case where the current command peak value Ia*_peak is still larger than the current limit value Ia_limit as illustrated in FIG. 6B, the correction torque amplitude I AT| is further limited, and the correction torque limit value |AT|_limit is decreased. As a result, as illustrated in FIG. 6C, the current command peak value Ia*_peak is suppressed to the current limit value Ia_limit.
[0082] In addition, FIG. 7 illustrates temporal changes of the current command value amplitude la* and the current command peak value Ia*_peak. In FIG. 7, 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. In a section all where a torque control amount is increased due to an increase in load of the motor M, the current command peak value Ia*_peak is increased. In a section bll next to the section all, the AT amplitude limit flag is set to "ON" and the correction torque amplitude

I AT I is limited. In a section ell next to the section bll, the AT amplitude limit flag is set to "OFF", and the current command peak value Ia*_peak is decreased as the load of the motor M is decreased.
[0083] In FIG. 8, a temporal change of the velocity variation amplitude | Acorn | is added to those in FIG. 7. In FIG. 8, in a section al2 in which the torque control amount is increased as the load of the motor M is increased, the current command peak value Ia*_peak is increased due to the increase in torque control amount. At this time, since the AT amplitude limit flag is "OFF", the velocity variation amplitude | Acorn | follows the allowable velocity variation value | Acorn | *. In a section bl2 next to the section al2, since the current command peak value Ia*_peak in the section al2 is larger than the current limit value Ia_limit, the AT amplitude limit flag is set to "ON", and the correction torque amplitude I AT| is limited. As the correction torque amplitude I AT| is limited, the velocity variation amplitude | Acorn | does not follow the allowable velocity variation value | Acorn | *. In a section cl2 next to the section bl2, the velocity variation amplitude | Acorn | and the current command peak value Ia*_peak are decreased as the load of the motor M is decreased. In the section cl2, since the allowable velocity variation value | Acorn | * is larger than the velocity variation amplitude | Acorn | , the AT amplitude limit flag is set to "OFF", and the limitation of the correction torque amplitude I AT| is released. As the limitation of the correction torque amplitude I AT| is released, the velocity variation amplitude | Acorn | follows the allowable velocity variation value | Acorn | *.

[0084] The first embodiment of the present disclosure has been described above. [0085] [Second Embodiment]
FIG. 9 is a diagram illustrating a configuration example of a motor control device of a second embodiment of the present disclosure.
[0086] A motor control device 200 illustrated in FIG. 9 includes a correction torque limit value generator 39 instead of the correction torque limit value generator 38 included in the motor control device 100 illustrated in FIG. 1. In the motor control device 100 illustrated 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 illustrated in FIG. 9, a d-axis current Id and a q-axis current Iq output from a u, v, w/d-q converter 29 are input to the correction torque limit value generator 39.
[0087]
FIG. 10 is a diagram illustrating a configuration example of the correction torque limit value generator of the second embodiment of the present disclosure. In FIG. 10, the correction torque limit value generator 39 includes a current amplitude calculator 39a, a peak hold calculator 39b, a subtractor 39c, and a AT limit value generator 39d. [0088] The current amplitude calculator 39a calculates a detected current value amplitude la according to Expression (30) based on the d-axis current Id and the q-axis current Iq, and outputs the calculated detected current value amplitude la to the peak hold calculator 39b.

Ia=VId2+Iq2 (30:
[0089] The peak hold calculator 39b acquires a maximum value of the detected current value amplitude la in each predetermined acquisition period Tm as a current peak value Ia_peak for each acquisition period Tm, and outputs the acquired current peak value Ia_peak to the subtractor 39c. For example, the predetermined acquisition period Tm corresponds to a mechanical angle cycle of the motor M. FIG. 11 is a diagram for describing an operation example of the peak hold calculator of the second embodiment of the present disclosure.
[0090] As illustrated in FIG. 11, the peak hold calculator 39b compares the detected current value amplitude la that changes with the lapse of time with a temporary current peak value Ia_peak_temp (a peak hold value of the current command value amplitude la that changes with the lapse of time in a target acquisition period Tm) according to Expression (31) in an acquisition
period Tml (mechanical angle phase 9m = Oft to 27r) , and updates the temporary current peak value Ia_peak_temp with the detected current value amplitude la when the detected current value amplitude la becomes larger than the temporary current peak value Ia_peak_temp.
a_peak temp a *^ a _ peak _ temp — a (31)
[0091] At the end of the acquisition period Tml, the peak hold calculator 39b sets the temporary current peak value Ia_peak_temp as the current peak value Ia_peak according to Expression (32), and initializes the temporary current peak value la peak temp to zero according to

Expression (33). That is, the temporary current peak value Ia_peak_temp at the end of the acquisition period Tml is acquired as the current peak value Ia_peak in an acquisition period Tm2 next to the acquisition period Tml.
T = T (3?)
a _ peak a _ peak _ temp \~>*-i
T = 0 l ??)
ia _ peak _ temp w \ ^ ^ l
[0092] Further, as illustrated in FIG. 11, the peak hold calculator 39b compares the detected current value amplitude Ia that changes with the lapse of time with the temporary current peak value Ia_peak_temp according to Expression (31) in the acquisition period Tm2 (mechanical angle phase 9m = 27T to 47r) , and updates the temporary current peak value Ia_peak_temp with the detected current value amplitude Ia when the detected current value amplitude Ia becomes larger than the temporary current peak value Ia_peak_temp. That is, also in the acquisition period Tm2, similarly to the acquisition period Tml, the temporary current peak value Ia_peak_temp is updated so as to trace the maximum value of the detected current value amplitude Ia as needed.
[0093] At the end of the acquisition period Tm2, the peak hold calculator 39b sets the temporary current peak value Ia_peak_temp as the current peak value Ia_peak according to Expression (32), and initializes the temporary current peak value Ia_peak_temp to zero according to Expression (33). 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 an acquisition period Tm3 next to the acquisition period Tm2. [0094] Also in the acquisition period Tm3 (mechanical

angle phase 9m = ATZ to 67:) and each subsequent acquisition period Tm, the peak hold calculator 39b is operated in the same manner as described above.
[0095] In FIG. 10, the subtractor 39c subtracts a predetermined current limit value Ia_limit from the current peak value Ia_peak to calculate a deviation Ia_err of the current peak value Ia_peak with respect to the current limit value Ia_limit according to Expression (34). Note that the predetermined current limit value Ia_limit is preferably set as a value obtained by subtracting a predetermined margin MA from a current trip value Ia_trip that is a current threshold at which an overcurrent protection function of the motor M is activated.
a_err — a_peak a_limk l-j4)
[0096] Here, as the correction torque command value AT is increased, the current peak value is also increased, and current trip may occur in the motor M. Therefore, the AT limit value generator 39d generates a correction torque limit value |AT|_limit according to a AT amplitude limit flag set as follows so that the current trip does not occurs in the motor M. When the AT amplitude limit flag is set to "ON", the correction torque command value AT is limited, and when the AT amplitude limit flag is set to "OFF", the correction torque command value AT is not limited.
[0097] The AT limit value generator 39d sets the AT amplitude limit flag to "ON" when the correction torque command value AT output from a correction torque generator 34 is not 0 (that is, when the torque control is being performed) and the deviation Ia_err is a positive value.

That is, the AT limit value generator 39d sets the AT amplitude limit flag to "ON" when "AT ^ 0" and "Ia_err > 0". A case where "AT i= 0" and "Ia_err > 0" corresponds to a case where it is desired to limit the correction torque command value AT so that the current trip does not occurs in the motor M.
[0098] On the other hand, the AT limit value generator 39d sets the AT amplitude limit flag to "OFF" when there is no need to limit the correction torque command value AT. Here, in a case where the AT amplitude limit flag is set to "OFF" when the deviation Ia_err is a negative value, there is a possibility that the torque limit hunting occurs. That is, when the AT amplitude limit flag is set to "OFF", in a case where a velocity variation amplitude | Acorn | is larger than the allowable velocity variation value |Acom|% the correction torque command value AT is controlled in a direction in which the correction torque command value AT is increased. Therefore, there is a need to limit the correction torque command value AT again so that the current trip does not occur.
[0099] Therefore, the AT limit value generator 39d sets the AT amplitude limit flag to "OFF" when the velocity variation amplitude | Acorn | is smaller than the allowable velocity variation value | Acorn |% that is, " | Acorn | < | Acorn |*". [0100] After setting the AT amplitude limit flag, the AT limit value generator 39d generates the correction torque limit value |AT|_limit according to the AT amplitude limit flag.
[0101] When the AT amplitude limit flag is set to "ON" as described above, the AT limit value generator 39d

generates the correction torque limit value |AT|_limit according to Equation (35) based on |AT|_old which is a
correction torque amplitude I AT| in the previous mechanical angle cycle and the deviation Ia_err. "g" in Expression (35) is a predetermined gain value by which the deviation Ia_err is multiplied. That is, when the AT amplitude limit flag is "ON", the AT limit value generator 39d performs an integral control in which the correction torque amplitude |AT|_old of the previous mechanical angle cycle is regarded as an integral term. As a result, in a case where the current trip is likely to occur in the motor M, since the deviation Ia_err is a positive value, the correction torque limit value |AT|_limit is decreased, and the detected current value amplitude la is decreased as the correction torque limit value |AT|_limit is decreased.
lATLllmit=lATLo.d-g-Ia_e, (35)
[0102] On the other hand, when the AT amplitude limit flag is set to "OFF" as described above, the AT limit value generator 39d sets the correction torque limit value |AT|_limit to a large value such that the correction torque command value AT is not limited. For example, the AT limit value generator 39d sets a value three times the average torque command value To* as the correction torque limit value |AT|_limit according to Expression (21). Since a large value that is three times the average torque command value To* is set as the correction torque limit value |AT|_limit, the correction torque command value AT is not substantially limited.
[0103] The AT limit value generator 39d outputs the correction torque limit value |AT| limit generated as

described above to the correction torque generator 34. [0104]
FIGS. 12A, 12B, 12C, 13, 14, and 15 are diagrams for describing an operation example of the motor control device of the second embodiment of the present disclosure. [0105] FIGS. 12A, 12B, and 12C illustrate behaviors of current vectors in the motor control device 200. As illustrated in FIG. 12A, in a case where the current peak value Ia_peak is larger than the current limit value Ia_limit, the AT amplitude limit flag is set to "ON", and the correction torque amplitude I AT| is limited. Even when the correction torque amplitude I AT| is limited, in a case where the current peak value Ia_peak is still larger than the current limit value Ia_limit as illustrated in FIG. 12B, the correction torque amplitude I AT| is further limited, and the correction torque limit value |AT|_limit is decreased. As a result, as illustrated in FIG. 12C, the current peak value Ia_peak is suppressed to the current limit value Ia_limit.
[0106] In addition, FIG. 13 illustrates temporal changes of the current command value amplitude la and the current command peak value Ia_peak. In FIG. 13, 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. In a section a21 where a torque control amount is increased due to an increase in load of the motor M, the current peak value Ia_peak is increased. In a section b21 next to the section a21, the AT amplitude limit flag is set to "ON" and the correction torque amplitude I AT| is limited. In a section c21 next to the section b21, the AT amplitude limit flag is set to "OFF", and the current peak value Ia_peak is decreased as the load of the motor M is

decreased.
[0107] In FIG. 14, a temporal change of the velocity variation amplitude | Acorn | is added to those in FIG. 13. In FIG. 14, in a section a22 in which the torque control amount is increased as the load of the motor M is increased, the current peak value Ia_peak is increased due to the increase in torque control amount. At this time, since the AT amplitude limit flag is "OFF", the velocity variation amplitude | Acorn | follows the allowable velocity variation value | Acorn | *. In a section b22 next to the section a22, since the current peak value Ia_peak in the section a22 is larger than the current limit value Ia_limit, the AT amplitude limit flag is set to "ON", and the correction torque amplitude I AT| is limited. As the correction torque amplitude I AT| is limited, the velocity variation amplitude | Acorn | does not follow the allowable velocity variation value | Acorn | *. In a section c22 next to the section b22, the velocity variation amplitude | Acorn | and the current peak value Ia_peak are decreased as the load of the motor M is decreased. In the section c22, since the allowable velocity variation value | Acorn | * is larger than the velocity variation amplitude | Acorn | , the AT amplitude limit flag is set to "OFF", and the limitation of the correction torque amplitude I AT| is released. As the limitation of the correction torque amplitude I AT| is released, the velocity variation amplitude | Acorn | follows the allowable velocity variation value | Acorn | *. [0108] FIG. 15 illustrates an example of a current limit operation in the first embodiment, and FIG. 16 illustrates an example of a current limit operation in the second embodiment. FIG. 15 illustrates a comparative example

based on the presence or absence of current noise in a case where a limit is applied by the current command value as in the first embodiment, and FIG. 16 illustrates a comparative example based on the presence or absence of current noise when a limit is applied by a detected current value as in the second embodiment.
[0109] In the first embodiment, the AT amplitude limit flag is set based on a result of comparison 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. Therefore, as illustrated in FIG. 15, in a case where the current limit value Ia_limit is not appropriate, the current command value amplitude la* may reach the current trip value Ia_trip when a noise component of the detected current is large. In order to avoid the current command value amplitude la* from reaching the current trip value Ia_trip, tuning such as decreasing the current limit value Ia_limit needs to be performed.
[0110] On the other hand, in the second embodiment, the AT amplitude limit flag is set based on a result of comparison 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. As a result, in the second embodiment, as illustrated in FIG. 16, even in a case where there is noise in the detected current amplitude la due to a control state, a current limit is applied to the detected current, so that the same current limit value Ia_limit can be used regardless of the presence or absence of noise. Therefore, since there is no need to tune the current limit value Ia_limit with respect to the current trip value Ia_trip, it is possible to reduce the number of steps for tuning the current limit value

Ia_limit.
[0111] The second embodiment of the present disclosure has been described above.
[0112] As described above, the motor control device (the motor control device 100 of the first embodiment) of the present disclosure includes the current command value calculator (the current command value calculator 14 of the first embodiment) and the correction torque limit value generator (the correction torque limit value generator 38 of the first embodiment). The current command value calculator calculates the current command values (the q-axis current command value Iq* and the d-axis current command value Id*) based on the total torque command value
(the total torque command value T* of the first embodiment) obtained by adding the average torque command value (the average torque command value To* of the first embodiment) generated based on the velocity command value (the mechanical angular velocity command value com* of the first embodiment) and the velocity of the motor (the estimated mechanical angular velocity com of the first embodiment) and the correction torque command value (the correction torque command value AT of the first embodiment) for correcting the torque 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 current command value (the current command peak value Ia*_peak in the first embodiment) is equal to or larger than a predetermined current limit value (the current limit value Ia_limit in the first embodiment).
[0113] As the correction torque command value is limited in this manner, the current trip due to the increase in

correction torque command value can be prevented, and thus, it is possible to stably operate the motor without stopping the motor by the activation of the overcurrent protection function.
[0114] The correction torque limit value generator (the correction torque limit value generator 39 of the second embodiment) limits the correction torque command value when the correction torque command value is not zero and the maximum value of the currents (the d-axis current Id and the q-axis current Iq) of the motor (the current peak value Ia_peak of the second embodiment) is equal to or larger than a predetermined current limit value (the current limit value Ia_limit of the second embodiment).
[0115] Even when the correction torque command value is limited in this manner, the current trip due to the increase in correction torque command value can be prevented, and thus, it is possible to stably operate the motor without stopping the motor by the activation of the overcurrent protection function. In addition, even in a case where a noise level of an amplitude value of the current of the motor varies depending on the control state, the same current limit value can be used, and thus, tuning is not needed in setting a margin of the current limit value with respect to the current trip value.
[0116] In addition, the correction torque limit value generator releases the limitation of the correction torque command value when the variation range of the rotational speed of the motor (the velocity variation amplitude | Acorn | of the first and second embodiments) is smaller than the allowable value (the allowable velocity variation value
I Acorn | * of the first and second embodiments) .
[0117] This makes it possible to prevent the torque limit hunting from occurring.

[0118] In addition, the correction torque limit value generator uses, as the current limit value, a value smaller by a predetermined value (the margin MA of the first and second embodiments) than the current threshold (the current trip value Ia_trip of the first and second embodiments) at which the overcurrent protection function of the motor is activated.
[0119] In this way, it is possible to reliably prevent the current trip due to the increase in correction torque command value.
Reference Signs List [0120] 100, 200 MOTOR CONTROL DEVICE
14 CURRENT COMMAND VALUE CALCULATOR
34 CORRECTION TORQUE GENERATOR
38, 3 9 CORRECTION TORQUE LIMIT VALUE GENERATOR

CLAIMS
1. A motor control device comprising:
a current command value calculator that calculates current command values based on a total torque command value obtained by adding an average torque command value generated based on a velocity command value and a velocity of a motor and a correction torque command value for correcting the average torque command value; and
a correction torque limit value generator that limits the correction torque command value when the correction torque command value is not zero and a maximum value of the current command value is equal to or larger than a predetermined current limit value.
2. The motor control device according to claim 1, wherein
the correction torque limit value generator releases
the limitation of the correction torque command value when a variation range of a rotational speed of the motor is smaller than an allowable value.
3. The motor control device according to claim 1, wherein
the correction torque limit value generator uses, as
the current limit value, a value smaller by a predetermined value than a current threshold at which an overcurrent protection function of the motor is activated.
4. A motor control device comprising:
a current command value calculator that calculates current command values based on a total torque command value obtained by adding an average torque command value generated based on a velocity command value and a velocity of a motor and a correction torque command value for correcting the average torque command value; and

a correction torque limit value generator that limits the correction torque command value when the correction torque command value is not zero and a maximum value of a current of the motor is equal to or larger than a predetermined current limit value.
5. The motor control device according to claim 4, wherein
the correction torque limit value generator releases
the limitation of the correction torque command value when a variation range of a rotational speed of the motor is smaller than an allowable value.
6. The motor control device according to claim 4, wherein
the correction torque limit value generator uses, as
the current limit value, a value smaller by a predetermined value than a current threshold at which an overcurrent protection function of the motor is activated.

Documents

Application Documents

# Name Date
1 202217038572-IntimationOfGrant11-03-2024.pdf 2024-03-11
1 202217038572.pdf 2022-07-05
2 202217038572-PatentCertificate11-03-2024.pdf 2024-03-11
2 202217038572-TRANSLATIOIN OF PRIOIRTY DOCUMENTS ETC. [05-07-2022(online)].pdf 2022-07-05
3 202217038572-STATEMENT OF UNDERTAKING (FORM 3) [05-07-2022(online)].pdf 2022-07-05
3 202217038572-ABSTRACT [28-04-2023(online)].pdf 2023-04-28
4 202217038572-REQUEST FOR EXAMINATION (FORM-18) [05-07-2022(online)].pdf 2022-07-05
4 202217038572-CLAIMS [28-04-2023(online)].pdf 2023-04-28
5 202217038572-PROOF OF RIGHT [05-07-2022(online)].pdf 2022-07-05
5 202217038572-CORRESPONDENCE [28-04-2023(online)].pdf 2023-04-28
6 202217038572-PRIORITY DOCUMENTS [05-07-2022(online)].pdf 2022-07-05
6 202217038572-DRAWING [28-04-2023(online)].pdf 2023-04-28
7 202217038572-FORM 18 [05-07-2022(online)].pdf 2022-07-05
7 202217038572-FER_SER_REPLY [28-04-2023(online)].pdf 2023-04-28
8 202217038572-OTHERS [28-04-2023(online)].pdf 2023-04-28
8 202217038572-FORM 1 [05-07-2022(online)].pdf 2022-07-05
9 202217038572-DRAWINGS [05-07-2022(online)].pdf 2022-07-05
9 202217038572-FER.pdf 2022-11-28
10 202217038572-DECLARATION OF INVENTORSHIP (FORM 5) [05-07-2022(online)].pdf 2022-07-05
10 202217038572-FORM 3 [10-10-2022(online)].pdf 2022-10-10
11 202217038572-COMPLETE SPECIFICATION [05-07-2022(online)].pdf 2022-07-05
11 202217038572-Correspondence-120722.pdf 2022-07-19
12 202217038572-FORM-26 [08-07-2022(online)].pdf 2022-07-08
12 202217038572-GPA-120722.pdf 2022-07-19
13 202217038572-certified copy of translation [13-07-2022(online)].pdf 2022-07-13
14 202217038572-FORM-26 [08-07-2022(online)].pdf 2022-07-08
14 202217038572-GPA-120722.pdf 2022-07-19
15 202217038572-COMPLETE SPECIFICATION [05-07-2022(online)].pdf 2022-07-05
15 202217038572-Correspondence-120722.pdf 2022-07-19
16 202217038572-DECLARATION OF INVENTORSHIP (FORM 5) [05-07-2022(online)].pdf 2022-07-05
16 202217038572-FORM 3 [10-10-2022(online)].pdf 2022-10-10
17 202217038572-FER.pdf 2022-11-28
17 202217038572-DRAWINGS [05-07-2022(online)].pdf 2022-07-05
18 202217038572-FORM 1 [05-07-2022(online)].pdf 2022-07-05
18 202217038572-OTHERS [28-04-2023(online)].pdf 2023-04-28
19 202217038572-FORM 18 [05-07-2022(online)].pdf 2022-07-05
19 202217038572-FER_SER_REPLY [28-04-2023(online)].pdf 2023-04-28
20 202217038572-PRIORITY DOCUMENTS [05-07-2022(online)].pdf 2022-07-05
20 202217038572-DRAWING [28-04-2023(online)].pdf 2023-04-28
21 202217038572-PROOF OF RIGHT [05-07-2022(online)].pdf 2022-07-05
21 202217038572-CORRESPONDENCE [28-04-2023(online)].pdf 2023-04-28
22 202217038572-REQUEST FOR EXAMINATION (FORM-18) [05-07-2022(online)].pdf 2022-07-05
22 202217038572-CLAIMS [28-04-2023(online)].pdf 2023-04-28
23 202217038572-STATEMENT OF UNDERTAKING (FORM 3) [05-07-2022(online)].pdf 2022-07-05
23 202217038572-ABSTRACT [28-04-2023(online)].pdf 2023-04-28
24 202217038572-TRANSLATIOIN OF PRIOIRTY DOCUMENTS ETC. [05-07-2022(online)].pdf 2022-07-05
24 202217038572-PatentCertificate11-03-2024.pdf 2024-03-11
25 202217038572-IntimationOfGrant11-03-2024.pdf 2024-03-11
25 202217038572.pdf 2022-07-05

Search Strategy

1 SearchStrategyE_25-11-2022.pdf

ERegister / Renewals

3rd: 21 May 2024

From 09/12/2022 - To 09/12/2023

4th: 21 May 2024

From 09/12/2023 - To 09/12/2024

5th: 28 Nov 2024

From 09/12/2024 - To 09/12/2025

6th: 04 Nov 2025

From 09/12/2025 - To 09/12/2026