Motor control equipment
Patent Information
- Application Number
- TH2201004621
- Authority / Receiving Office
- TH · TH
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2020-12-09
- Publication Date
- 2026-09-01
- Estimated Expiration
- 2040-12-08
AI Technical Summary
In motors with small inertia or interlinkage magnetic flux, torque control to suppress speed fluctuations leads to excessive peak current, triggering overcurrent protection and motor shutdown, due to the inefficiency in current management and torque regulation.
A motor control device with a current command value calculator and a corrected torque limit value generator that adjusts the torque command value based on speed fluctuations and current limits, preventing excessive current peaks by applying a limit to the corrected torque command value when the maximum motor current exceeds a predetermined threshold.
This solution allows stable motor operation without activating the overcurrent protection, preventing motor shutdown and ensuring continuous operation by effectively managing current peaks and torque control.
Abstract
Description
Motor control device
[0001] The present disclosure relates to a motor control device.
[0002] In compressors used in air conditioners, 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 changes in refrigerant gas pressure between the suction, compression, and discharge strokes, and causes motor vibration due to fluctuations in the motor's rotational speed (hereinafter sometimes simply referred to as "speed fluctuations"). When using a compressor that generates such load torque fluctuations, "torque control (periodic disturbance suppression control)" is performed to suppress the fluctuations in the motor's rotational speed (hereinafter sometimes referred to as "speed fluctuations").
[0003] Japanese Patent Application Laid-Open No. 2019-118217
[0004] However, when a motor's inertia (moment of inertia) is small, speed fluctuations become large, resulting in an increase in the current required for torque control to suppress speed fluctuations. Furthermore, even when the motor's flux linkage is small, the output torque relative to the current is small, resulting in an increase in the current required for torque control to suppress speed fluctuations. For this reason, when torque control is performed under overload conditions on a motor with low inertia or low flux linkage, the motor's peak current may become excessive. When the motor's peak current becomes excessive, the overcurrent protection function, which prevents the motor from demagnetizing, is activated, causing the motor to stop. This motor stoppage due to activation of the overcurrent protection function is sometimes called a "current trip."
[0005] Therefore, the present disclosure proposes a technique that allows a motor to operate stably without stopping due to activation of an overcurrent protection function.
[0006] 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 calculates a current command value based on a total correction torque command value obtained by adding an average torque command value generated based on a speed command value and a motor speed to a correction torque command value 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 motor current is equal to or greater than a predetermined current limit value.
[0007] According to the present disclosure, it is possible to operate a motor stably without stopping the motor due to activation of an overcurrent protection function.
[0008] FIG. 1 is a diagram illustrating an example configuration of a motor control device according to a first embodiment of the present disclosure. FIG. 2 is a diagram illustrating an example configuration of a current error correction value generator according to the first embodiment of the present disclosure. FIG. 3 is a diagram illustrating an example configuration of a correction torque limit value generator according to the first embodiment of the present disclosure. FIG. 4 is a diagram illustrating an example operation of a peak hold calculator according to the first embodiment of the present disclosure. FIG. 5 is a diagram illustrating an example configuration of a correction torque generator according to the first embodiment of the present disclosure. FIG. 6A is a diagram illustrating an example operation of a motor control device according to the first embodiment of the present disclosure. FIG. 6B is a diagram illustrating an example operation of a motor control device according to the first embodiment of the present disclosure. FIG. 6C is a diagram illustrating an example operation of a motor control device according to the first embodiment of the present disclosure. FIG. 7 is a diagram illustrating an example operation of a motor control device according to the first embodiment of the present disclosure. FIG. 8 is a diagram illustrating an example operation of a motor control device according to the first embodiment of the present disclosure. FIG. 9 is a diagram illustrating an example configuration of a motor control device according to a second embodiment of the present disclosure. FIG. 10 is a diagram illustrating an example configuration of a correction torque limit value generator according to the second embodiment of the present disclosure. FIG. 11 is a diagram illustrating an example of operation of a peak hold calculator according to the second embodiment of the present disclosure. FIG. 12A is a diagram illustrating an example of operation of a motor control device according to the second embodiment of the present disclosure. FIG. 12B is a diagram illustrating an example of operation of a motor control device according to the second embodiment of the present disclosure. FIG. 12C is a diagram illustrating an example of operation of a motor control device according to the second embodiment of the present disclosure. FIG. 13 is a diagram illustrating an example of operation of a motor control device according to the second embodiment of the present disclosure. FIG. 14 is a diagram illustrating an example of operation of a motor control device according to the second embodiment of the present disclosure. FIG. 15 is a diagram illustrating an example of current limit operation according to the first embodiment of the present disclosure. FIG. 16 is a diagram illustrating an example of current limit operation according to the second embodiment of the present disclosure.
[0009] Hereinafter, embodiments of the present disclosure will be described with reference to the drawings. In the following embodiments, the same components are designated by the same reference numerals.
[0010] This disclosure will describe, as an example, a motor control device that uses position sensorless vector control to control the torque of a permanent magnet synchronous motor (PMSM) that drives a compressor that has periodic load torque fluctuations. However, the disclosed technology is widely applicable to motor control devices that perform torque control of a motor that drives a compressor that has periodic load torque fluctuations.
[0011] [First Embodiment] <Configuration of Motor Control Device> Fig. 1 is a diagram illustrating an example configuration of a motor control device according to a first embodiment of the present disclosure. In Fig. 1, a motor control device 100 includes subtractors 11, 18, 19, and 40, a speed 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 PWM (Pulse Width Modulation) modulator 24, and an IPM (Intelligent Power Module) 25. The IPM 25 is connected to a motor M. An example of the motor M is a PMSM.
[0012] The motor control device 100 also has a shunt resistor 26, current sensors 27a and 27b, and a 3φ current calculator 28. It is sufficient for the motor control device 100 to have either the shunt resistor 26 or the current sensors 27a and 27b.
[0013] The motor control device 100 also has a u, v, w / dq converter 29, an axis error calculator 30, a PLL (Phase Locked Loop) controller 31, a position estimator 32, a 1 / Pn processor 33, a correction torque generator 34, IIR filters (Infinite Impulse Response 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 the mechanical angular velocity command value ωm input to the motor control device 100 from an external device (e.g., a higher-level controller) outside the motor control device 100. *The angular velocity error Δω is calculated by subtracting the estimated mechanical angular velocity ωm, which is the current estimated angular velocity output from the 1 / Pn processor 33, from the angular velocity error Δω.
[0015] The speed controller 12 calculates an average torque command value To such that the average of the angular velocity error Δω output from the subtractor 11 approaches zero. * Generate.
[0016] The adder 13 calculates 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 to obtain a total torque command value T * Calculate.
[0017] The current command value calculator 14 calculates the total torque command value T * Based on the intersection of the constant torque curve and the MTPI (maximum torque / current control) curve, the q-axis current command value Iq * and the d-axis current command value Id * Calculate.
[0018] Here, the intersection of the constant torque curve and the MTPI curve can be calculated, for example, using the motor torque equation shown in Equation (1) and Equation (2) which shows the relationship between the d-axis current Id and the q-axis current Iq on the MTPI curve. On the right-hand side of Equation (1), the first term represents the magnet torque, and the second term represents the reluctance torque. The magnet torque includes only the q-axis current Iq, while the reluctance torque includes both the q-axis current Iq and the d-axis current Id. Therefore, by appropriately controlling the q-axis current Iq and the d-axis current Id, it is possible to generate an appropriate torque in the motor M. In Equations (1) and (2), "Pn" represents the number of pole pairs of the motor M, "Ψa" represents the flux linkage of the motor M, "Ld" represents the d-axis inductance of the motor M, and "Lq" represents the q-axis inductance of the motor M.
[0019] By eliminating the d-axis current Id from equations (1) and (2), equation (3), which is a quartic equation related to the q-axis current Iq, can be obtained.
[0020] The quartic equation shown in equation (3) can be calculated by using, for example, the Newton method, to obtain the total torque command value T * The q-axis current command value Iq at the intersection of the constant torque curve and the MTPI curve * Furthermore, the current command value calculator 14 calculates the q-axis current command value Iq * Based on this, the d-axis current command value Id is calculated according to equation (2). * Calculate.
[0021] In FIG. 1, an adder 17 calculates the q-axis current command value Iq output from the current command value calculator 14 in accordance with equation (4.1). * and the q-axis current error correction value ΔIq output from the current error correction value generator 37 to obtain the q-axis current correction command value Iq_FF * The adder 16 calculates the d-axis current command value Id output from the current command value calculator 14 according to equation (4.2). * and the d-axis current error correction value ΔId output from the current error correction value generator 37 to obtain the d-axis current correction command value Id_FF * Calculate.
[0022] The subtractor 19 subtracts the q-axis current correction command value Iq_FF output from the adder 17. * The q-axis current correction command value Iq_FF is obtained by subtracting the q-axis current Iq output from the u, v, w / dq converter 29 from the * The subtractor 18 calculates a q-axis current error Iq_diff, which is the error between the d-axis current correction command value Id_FF output from the adder 16. * The d-axis current correction command value Id_FF is obtained by subtracting the d-axis current Id output from the u, v, w / dq converter 29 from the * and the d-axis current Id, a d-axis current error Id_diff is calculated.
[0023] The voltage command value calculator 20 calculates the q-axis current error Iq_diff (Iq_FF *The voltage command value calculator 20 calculates the pre-decoupling q-axis voltage command value Vqt by performing PI (Proportional Integral) control based on the d-axis current error Id_diff (Id_FF) in accordance with equation (5.2). * The pre-decoupling d-axis voltage command value Vdt is calculated by performing PI control based on the equation (5.1) and the equation (5.2) respectively. 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 integral constants.
[0024] The adder 22 adds the q-axis non-interference correction value Vqa expressed by the equation (6.1) to the pre-non-interference q-axis voltage command value Vqt according to the equation (6.3), thereby obtaining the q-axis voltage command value Vq * The adder 21 adds the d-axis non-interference correction value Vda expressed by the formula (6.2) to the pre-non-interference d-axis voltage command value Vdt according to the formula (6.4), thereby calculating the d-axis voltage command value Vd * As a result, the q-axis voltage command value Vq is calculated, in which the interference between the d and q axes is cancelled by feedforward. * and d-axis voltage command value Vd * is calculated.
[0025] The IIR filter 35a removes noise from the d-axis current Id output from the u,v,w / dq converter 29 and outputs the noise-removed d-axis response current Id_iir. The IIR filter 35b removes noise from the q-axis current Iq output from the u,v,w / dq converter 29 and outputs the noise-removed q-axis response current Iq_iir. The IIR filters 35a and 35b are examples of noise removal filters.
[0026] The decoupling controller 36 receives the electrical angular velocity command value ωe from an external device (e.g., a higher-level controller) of the motor control device 100. * and the q-axis response current Iq_iir, in accordance with equation (6.2), the decoupling controller 36 generates a d-axis decoupling correction value Vda for correcting the pre-decoupling d-axis voltage command value Vdt. *and the d-axis response current Id_iir, a q-axis decoupling correction value Vqa for correcting the pre-decoupling q-axis voltage command value Vqt is generated according to equation (6.1). The d-axis decoupling correction value Vda and the q-axis decoupling correction value Vqa are correction values for canceling the interference term between the d and q axes in a feedforward manner. Here, in order to achieve stable control, it is desirable that the decoupling correction value be a DC value. For this reason, when generating the decoupling correction value, the electrical angular velocity command value ωe is used for the speed. * are used, and for the d-axis current Id and the q-axis current Iq, the d-axis response current Id_iir and the q-axis response current Iq_iir from which fluctuation components have been removed by the IIR filters 35a and 35b are used.
[0027] The current error correction value generator 37 calculates the d-axis current command value Id * and the q-axis current command value Iq * Based on the d-axis current Id and q-axis current Iq output from the u, v, w / d-q converter 29 and the mechanical angle phase θm output from the position estimator 32, a d-axis current error correction value ΔId and a q-axis current error correction value ΔIq are generated.
[0028] The current error correction value generator 37 integrates fluctuation errors (phase errors and amplitude errors) that occur when the d-axis and q-axis currents are unable to follow the current command values due to a response delay of the current command value calculator 14 and interference between the d- and q-axes, and generates the inverted output of the integrated value as current error correction values (d-axis current error correction value ΔId and q-axis current error correction value ΔIq). * and the d-axis current Id, and the q-axis current error correction value ΔIq is a feedforward component for correcting the fluctuation error between the q-axis current command value Iq * and the q-axis current Iq.
[0029] The d-q / u, v, w converter 23 converts the two-phase d-axis voltage command values Vd * and the q-axis voltage command value Vq * is calculated based on the electrical angle phase (dq axis phase) θe output from the position estimator 32. *, V-phase output voltage command value Vv * and W-phase output voltage command value Vw * The electrical angle phase θe output from the position estimator 32 indicates the current rotor position of the motor M.
[0030] The PWM modulator 24 outputs a U-phase output voltage command value Vu * , V-phase output voltage command value Vv * , W-phase output voltage command value Vw * and the PWM carrier signal, and outputs the generated six-phase PWM signals to the IPM 25.
[0031] Based on the six-phase PWM signal output from the PWM modulator 24, the IPM 25 converts the DC voltage Vdc supplied from the outside to generate AC voltages to be applied to the U, V, and W phases of the motor M, and applies the generated AC voltages to the U, V, and W phases of the motor M.
[0032] When the bus current is detected by the one-shunt method using shunt resistor 26, 3φ current calculator 28 calculates a U-phase current value Iu, a V-phase current value Iv, and a W-phase current value Iw of motor M from the six-phase PWM switching information output from PWM modulator 24 and the detected bus current. Alternatively, when U-phase current and V-phase current are detected by current sensors 27a and 27b, 3φ current calculator 28 calculates the remaining W-phase current value Iw based on Kirchhoff's law of "Iu + Iv + Iw = 0." 3φ current calculator 28 outputs the phase current values Iu, Iv, and Iw of each phase to u, v, w / d-q converter 29.
[0033] The u, v, w / d-q converter 29 converts the three-phase U-phase current value Iu, V-phase current value Iv, and W-phase current value Iw output from the 3φ current calculator 28 into two-phase d-axis current Id and q-axis current Iq based on the electrical angle phase θe output from the position estimator 32.
[0034] The axis error calculator 30 calculates the d-axis voltage command value Vd * and the q-axis voltage command value Vq *The d-axis current Id and the q-axis current Iq output from the u, v, w / dq converter 29 are used to calculate the axis error Δθ (the difference between the estimated rotation axis and the actual rotation axis).
[0035] The PLL controller 31 calculates an estimated electrical 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 .
[0036] The position estimator 32 estimates the electrical angle phase θe and the mechanical angle phase θm based on the electrical angle estimated angular velocity ωe output from the PLL controller 31 .
[0037] The 1 / Pn processor 33 calculates an estimated mechanical angle angular velocity ωm by dividing the estimated electrical angle angular velocity ωe output from the PLL controller 31 by the number Pn of pole pairs of the motor M.
[0038] The subtractor 40 subtracts the mechanical angular velocity command value ωm from the estimated mechanical angular velocity ωm output from the 1 / Pn processor 33. * is subtracted to calculate the estimated mechanical angle angular velocity fluctuation Δωm.
[0039] The correction torque generator 34 calculates the speed fluctuation tolerance |Δωm|, which is the speed fluctuation range within which vibration of the motor M is tolerable. * Based on the estimated mechanical angle angular velocity fluctuation Δωm output from the subtractor 40 and the mechanical angle phase θm output from the position estimator 32, the estimated mechanical angle angular velocity fluctuation Δωm, which is a periodic velocity fluctuation, is calculated as a velocity fluctuation allowable value |Δωm| * A correction torque command value ΔT is generated to suppress the speed fluctuation to the following value. * is stored in the motor control device 100. The mechanical angle estimated angular velocity fluctuation (speed fluctuation) Δωm differs from the value of the angular velocity error Δω only in positive or negative sign.
[0040] The correction torque limit value generator 38 calculates the current limit value Ia_limit and the d-axis current command value Id output from the current command value calculator 14. * , q-axis current command value Iq * Based on the above, a correction torque limit value |ΔT|_limit is generated that limits the correction torque amplitude |ΔT|, which is the amplitude of the correction torque command value ΔT.
[0041] 2 is a diagram illustrating an example of the configuration of the current error correction value generator according to the first embodiment of the present disclosure. In FIG. 2, 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 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 the q-axis current Iq and the q-axis current command value Iq according to the equation (7). * The q-axis current fluctuation error Iq_err, which is the error between
[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 the fundamental wave components of the q-axis current fluctuation error Iq_err, for each mechanical angle period according to equations (8.1) and (8.2).
[0044] The q-axis current error integrator 37c multiplies each of the sine component Iq_err_sin of the q-axis current fluctuation error Iq_err and the cosine component Iq_err_cos of the q-axis current fluctuation error Iq_err by a correction gain k in accordance with equations (9.1) and (9.2), and adds the respective multiplication results to Iq_err_sin_i_old and Iq_err_cos_i_old. Iq_err_sin_i in equation (9.1) is the integral value of Iq_err_sin up to the current mechanical angle cycle, and Iq_err_cos_i in equation (9.2) is the integral value of Iq_err_cos up to the current mechanical angle cycle. Furthermore, Iq_err_sin_i_old in equation (9.1) is Iq_err_sin_i up to the previous mechanical angle period, and Iq_err_cos_i_old in equation (9.2) is Iq_err_cos_i up to the previous mechanical angle period.
[0045] The q-axis current error correction value demodulator 37d calculates the q-axis current error correction value ΔIq according to equations (10.1) and (10.2), thereby inverting the phase of the q-axis current fluctuation error and calculating the instantaneous value of the q-axis current error correction value ΔIq at the mechanical angle phase θm.
[0046] The subtractor 37e subtracts the d-axis current Id from the d-axis current command value Id according to equation (11). * The d-axis current fluctuation error Id_err is calculated as the error between the
[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 the fundamental wave components of the d-axis current fluctuation error Id_err, for each mechanical angle period according to equations (12.1) and (12.2).
[0048] The d-axis current error integrator 37g multiplies each of the sine component Id_err_sin of the d-axis current fluctuation error Id_err and the cosine component Id_err_cos of the d-axis current fluctuation error Id_err by a correction gain k in accordance with equations (13.1) and (13.2), and adds Id_err_sin_i_old and Id_err_cos_i_old to the respective multiplication results. Id_err_sin_i in equation (13.1) is the integral value of Id_err_sin up to the current mechanical angle cycle, and Id_err_cos_i in equation (13.2) is the integral value of Id_err_cos in the current mechanical angle cycle. Furthermore, Id_err_sin_i_old in equation (13.1) is Id_err_sin_i up to the previous mechanical angle cycle, and Id_err_cos_i_old in equation (13.2) is Id_err_cos_i in the previous mechanical angle cycle.
[0049] The d-axis current error correction value demodulator 37h calculates the d-axis current error correction value ΔId according to equations (14.1) and (14.2), thereby inverting the phase of the d-axis current fluctuation error and generating the instantaneous value of the d-axis current error correction value ΔId at the mechanical angle phase θm.
[0050] <Configuration of Correction Torque Limit Value Generator> Fig. 3 is a diagram illustrating an example configuration of the correction torque limit value generator according to 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 ΔT limit value generator 38d.
[0051] The current amplitude calculator 38a calculates the d-axis current command value Id * and the q-axis current command value Iq * Based on this, the current command value amplitude Ia * is calculated, and the calculated current command value amplitude Ia * is output to the peak hold calculator 38b.
[0052] The peak hold calculator 38b calculates the current command value amplitude Ia * The maximum value of the current command peak value Ia * _peak, and the acquired current command peak value Ia * _peak to the subtractor 38c. For example, the predetermined acquisition period Tm corresponds to the mechanical angle period of the motor M.
[0053] FIG. 4 is a diagram illustrating an example of the operation of the peak hold calculator according to the first embodiment of the present disclosure.
[0054] As shown in FIG. 4, the peak hold calculator 38b calculates the current command value amplitude Ia that changes over time in accordance with equation (16) during the acquisition period Tm1 (mechanical angle phase θm=0 to 2π). * and the tentative current command peak value Ia * _peak_temp (current command value amplitude Ia that changes over time during the target acquisition period Tm) * The current command amplitude Ia * is the tentative current command peak value Ia * When the temporary current command peak value Ia becomes larger than _peak_temp, * _peak_temp is the current command value amplitude Ia * Update by.
[0055] Furthermore, at the end of the acquisition period Tm1, the peak hold calculator 38b calculates the tentative current command peak value Ia * _peak_temp is the current command peak value Ia * _peak, and the tentative current command peak value Ia * _peak_temp is initialized to zero. That is, the tentative current command peak value Ia * _peak_temp is the current command peak value Ia * _peak.
[0056] As shown in FIG. 4, the peak hold calculator 38b calculates the current command value amplitude Ia that changes over time in accordance with the equation (16) during the acquisition period Tm2 (mechanical angle phase θm=2π to 4π). * and the tentative current command peak value Ia * _peak_temp and the current command amplitude Ia * is the tentative current command peak value Ia * When the temporary current command peak value Ia becomes larger than _peak_temp, * _peak_temp is the current command value amplitude Ia * That is, in the acquisition period Tm2, as in the acquisition period Tm1, the current command value amplitude Ia * The provisional current command peak value Ia * _peak_temp is updated.
[0057] Furthermore, at the end of the acquisition period Tm2, the peak hold calculator 38b calculates the tentative current command peak value Ia * _peak_temp is the current command peak value Ia * _peak, and the tentative current command peak value Ia * _peak_temp is initialized to zero. That is, the tentative current command peak value Ia *_peak_temp is the current command peak value Ia * _peak.
[0058] In each acquisition period Tm after acquisition period Tm3 (mechanical angle phase θm=4π to 6π), the peak hold calculator 38b operates in the same manner as described above.
[0059] In FIG. 3, the subtractor 38c subtracts the current command peak value Ia * By subtracting a predetermined current limit value Ia_limit from the current limit value Ia_peak, the current command peak value Ia for the current limit value Ia_limit is calculated according to the equation (19). * _peak deviation Ia * 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, which is a current threshold at which the overcurrent protection function of the motor M is activated.
[0060] Here, as the correction torque command value ΔT increases, the current peak value also increases, which may lead to a current trip of the motor M. Therefore, the ΔT limit value generator 38d generates the correction torque limit value |ΔT|_limit in accordance with the ΔT amplitude limit flag set as follows, so as to prevent the motor M from reaching a current trip. When the ΔT amplitude limit flag is set to "on", a limit is imposed on the correction torque command value ΔT, and when the ΔT amplitude limit flag is set to "off", no limit is imposed on the correction torque command value ΔT.
[0061] The ΔT limit value generator 38d is configured to generate a correction torque command value ΔT when the correction torque command value ΔT output from the correction torque generator 34 is not 0 (zero) (i.e., when torque control is being executed) and the deviation Ia * When _err is a positive value, the ΔT amplitude limit flag is set to "ON." That is, the ΔT limit value generator 38d sets the ΔT amplitude limit flag to "ON" when "ΔT≠0" and "Ia * When "ΔT≠0" and "Ia_err≧0", the ΔT amplitude limit flag is set to "ON". *When _err≧0″, it corresponds to the case where it is desired to impose a limit on the correction torque command value ΔT so that the motor M does not reach a current trip.
[0062] On the other hand, the ΔT limit value generator 38d sets the ΔT amplitude limit flag to "OFF" when there is no need to impose a limit on the correction torque command value ΔT. * If the ΔT amplitude limit flag is set to "OFF" when _err is a negative value, there is a possibility that a limit is imposed on the correction torque command value ΔT and the limit imposed on the correction torque command value ΔT is released repeatedly in a short cycle (hereinafter, this may be referred to as "torque limit hunting"). In other words, if the ΔT amplitude limit flag is set to "OFF", the speed fluctuation amplitude |Δωm| * If it is larger, the correction torque command value ΔT is controlled to be larger, and therefore it becomes necessary to again impose a limit on the correction torque command value ΔT to prevent a current trip from occurring.
[0063] Therefore, the ΔT limit value generator 38d calculates the speed fluctuation amplitude |Δωm| as the speed fluctuation allowable value |Δωm| * When it is smaller than |Δωm|, that is, when |Δωm|<|Δωm| * When "ΔT amplitude limit flag" is set to "OFF".
[0064] After setting the ΔT amplitude limit flag, the ΔT limit value generator 38d generates the correction torque limit value |ΔT|_limit in accordance with the ΔT amplitude limit flag.
[0065] When the ΔT amplitude limit flag is set to "ON" as described above, the ΔT limit value generator 38d calculates the corrected torque amplitude |ΔT| in the previous mechanical angle period, |ΔT|_old, and the deviation Ia * Based on the deviation Ia and the torque limit value |ΔT|_limit, a correction torque limit value |ΔT|_limit is generated according to the equation (20). *In other words, when the ΔT amplitude limit flag is "ON", the ΔT limit value generator 38d performs integral control using the corrected torque amplitude |ΔT|_old of the previous mechanical angle period as an integral term. By doing so, when the motor M is about to reach a current trip, the deviation Ia * Since |ΔT|_limit becomes a positive value, the corrected torque limit value |ΔT|_limit decreases, and the current command value amplitude Ia * decreases.
[0066] On the other hand, when the ΔT amplitude limit flag is set to "OFF" as described above, the ΔT limit value generator 38d sets the correction torque limit value |ΔT|_limit to a large value that does not impose a limit on the correction torque command value ΔT. For example, the ΔT limit value generator 38d calculates the average torque command value To in accordance with equation (21). * The corrected torque limit value |ΔT|_limit is set to three times the average torque command value To * By setting a large value three times larger than the above as the correction torque limit value |ΔT|_limit, there is essentially no limit imposed on the correction torque command value ΔT.
[0067] The ΔT limit value generator 38 d outputs the correction torque limit value |ΔT|_limit generated as described above to the correction torque generator 34 .
[0068] <Configuration of Correction Torque Generator> Fig. 5 is a diagram illustrating an example configuration of the correction torque generator according to the first embodiment of the present disclosure. In Fig. 5, the correction torque generator 34 includes a speed fluctuation component separator 34a, a speed fluctuation amplitude calculator 34b, a subtractor 34c, a correction torque amplitude calculator 34d, a speed fluctuation phase corrector 34e, an orthogonal component separator 34f, a correction torque demodulator 34g, and a correction torque amplitude limiter 34h.
[0069] 5 , the speed fluctuation component separator 34a separates the mechanical angle estimated angular velocity fluctuation Δωm into two Fourier coefficients ωsin (sin component) and ωcos (cos component), which are fundamental wave components of Δωm, for each mechanical angle cycle based on the mechanical angle phase θm, in accordance with equations (22.1) and (22.2). By calculating the Fourier coefficient of the fundamental wave component of the mechanical angle estimated angular velocity fluctuation Δωm for each mechanical angle cycle, harmonic components of the mechanical angle estimated angular velocity fluctuation Δωm are removed, making it possible to extract the fundamental wave component of the mechanical angle estimated angular velocity fluctuation Δωm with high accuracy. ωsin and ωcos are values that are updated for each mechanical angle cycle.
[0070] The speed fluctuation amplitude calculator 34b calculates the speed fluctuation amplitude |Δωm| based on the Fourier coefficients ωsin and ωcos in accordance with equation (23). Because ωsin and ωcos are values that are updated every mechanical angle period, the speed fluctuation amplitude |Δωm| is also updated every mechanical angle period.
[0071] The subtractor 34c subtracts the speed fluctuation allowable value |Δωm| from the speed fluctuation amplitude |Δωm| output from the speed fluctuation amplitude calculator 34b. * The speed fluctuation error |Δωm|err is calculated by subtracting the speed fluctuation tolerance |Δωm| * defines the speed fluctuation amplitude |Δωm| within the allowable range of vibration of the motor M.
[0072] The correction torque amplitude calculator 34d calculates the speed fluctuation amplitude |Δωm| and the speed fluctuation allowable value |Δωm| * For example, the correction torque amplitude calculator 34d calculates the speed fluctuation amplitude |Δωm| and the speed fluctuation allowable value |Δωm| according to the equation (24). * The speed fluctuation error |Δωm|err, which is the error between |Δωm| and |Δωm|, is multiplied by the correction gain k, and the result of the multiplication is added to |ΔT|_old to calculate the corrected torque amplitude |ΔT|. |ΔT|_old in equation (24) is the corrected torque amplitude |ΔT| in the previous mechanical angle period. By appropriately setting the correction gain k, the speed fluctuation |Δω| can be adjusted to fall within the speed fluctuation allowable value |Δωm| *When the speed fluctuation |Δω| exceeds the speed fluctuation tolerance |Δωm| due to a sudden change in load torque, hunting occurs at the boundary of * This can prevent the vibration from occurring.
[0073] When the correction torque amplitude |ΔT| output from the correction torque amplitude calculator 34d is greater than the correction torque limit value |ΔT|_limit output from the correction torque limit value generator 38, the correction torque amplitude limiter 34h rewrites the value of the correction torque amplitude |ΔT| with the correction torque limit value |ΔT|_limit and outputs the correction torque amplitude |ΔT| after being rewritten as the correction torque limit value |ΔT|_limit to the orthogonal component separator 34f. In other words, when the correction torque amplitude |ΔT| is greater than the correction torque limit value |ΔT|_limit, the value of the correction torque amplitude |ΔT| is set to the correction torque limit value |ΔT|_limit. Setting the value of the correction torque amplitude |ΔT| to the correction torque limit value |ΔT|_limit limits the amount of fluctuation in the current amplitude of the motor M, making it possible to prevent a current trip in the motor M.
[0074] On the other hand, when the correction torque amplitude |ΔT| is equal to or less than the correction torque limit value |ΔT|_limit, the correction torque amplitude limiter 34h outputs the correction torque amplitude |ΔT| output from the correction torque amplitude calculator 34d directly to the orthogonal component separator 34f.
[0075] The speed fluctuation phase corrector 34e corrects the phase of the mechanical angle estimated angular velocity fluctuation Δωm acquired for each mechanical angle cycle. For example, the speed fluctuation phase corrector 34e multiplies each of the Fourier coefficients ωsin and ωcos by a correction gain k according to equations (25.1) and (25.2), and adds ωsin_i_old and ωcos_i_old to the respective multiplication results. ωsin_i_old in equation (25.1) is ωsin_i in the previous mechanical angle cycle, and ωcos_i_old in equation (25.2) is ωcos_i in the previous mechanical angle cycle. Then, the speed fluctuation phase corrector 34e calculates the arctangent of ωsin_i and ωcos_i as the speed fluctuation corrected phase φωi according to equation (25.3). This speed fluctuation correction phase φωi becomes the phase reference when torque control is performed, and the phase delayed by π / 2 from this reference becomes the phase of the correction torque command value ΔT (correction torque phase).
[0076] The orthogonal component separator 34f calculates the sine component (ωsin_i) and cosine component (ωcos_i) of the speed fluctuation correction phase φωi according to equations (26.1) and (26.2) based on the correction torque amplitude |ΔT| output from the correction torque amplitude limiter 34h and the speed fluctuation correction phase φωi output from the speed fluctuation phase corrector 34e. This processing also serves to prevent divergence during phase correction by the calculation of equations (25.1) and (25.2).
[0077] The correction torque demodulator 34g calculates a correction torque command value ΔT in accordance with the equations (27.1) and (27.2) based on the sine component (ωsin_i) and cosine component (ωcos_i) of the speed fluctuation correction phase φωi. This process converts the speed fluctuation correction phase φωi into a correction torque phase that is delayed by π / 2, and generates an instantaneous value of the correction torque command value ΔT at the mechanical angle phase θm.
[0078] 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 equations (27.1) and (27.2).
[0079] 1 multiplies the correction torque command value ΔT output from the correction torque demodulator 34g by the average torque command value To output from the speed controller 12 in accordance with equation (29). * The total torque command value T * Calculate.
[0080] <Operation of Motor Control Device> FIGS. 6A, 6B, 6C, 7, and 8 are diagrams illustrating an example of operation of the motor control device according to the first embodiment of the present disclosure.
[0081] 6A, 6B, and 6C show the behavior of the current vector in the motor control device 100. As shown in FIG. 6A, the current command peak value Ia * If the current command peak value Ia_peak is greater than the current limit value Ia_limit, the ΔT amplitude limit flag is set to "ON" and a limit is imposed on the corrected torque amplitude |ΔT|. Even if a limit is imposed on the corrected torque amplitude |ΔT|, as shown in FIG. 6B, the current command peak value Ia * If the current command peak value Ia_peak is greater than the current limit value Ia_limit, the correction torque amplitude |ΔT| is further limited, and the correction torque limit value |ΔT|_limit becomes smaller. * _peak is suppressed to the current limit value Ia_limit.
[0082] Also, in FIG. 7, the current command value amplitude Ia * and the current command peak value Ia * 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 the section a11 where the torque control amount increases due to an increase in the load on the motor M, the current command peak value Ia * In the next section b11 after the section a11, the ΔT amplitude limit flag is set to "ON" and a limit is imposed on the corrected torque amplitude |ΔT|. In the next section c11 after the section b11, the ΔT amplitude limit flag is set to "OFF" and as the load on the motor M decreases, the current command peak value Ia * _peak decreases.
[0083] 8, the time change of the speed fluctuation amplitude |Δωm| is added to FIG. 7. In FIG. 8, in the section a12 where the torque control amount increases as the load of the motor M increases, the current command peak value Ia * At this time, since the ΔT amplitude limit flag is "OFF", the speed fluctuation amplitude |Δωm| is equal to or less than the speed fluctuation allowable value |Δωm| * In the section b12 next to the section a12, the current command peak value Ia * Since the current limit value Ia_peak is greater than the current limit value Ia_limit, the ΔT amplitude limit flag is set to "ON" and a limit is imposed on the corrected torque amplitude |ΔT|. By imposing a limit on the corrected torque amplitude |ΔT|, the speed vibration amplitude |Δωm| * In the section c12 next to the section b12, as the load on the motor M decreases, the speed fluctuation amplitude |Δωm| and the current command peak value Ia * _peak decreases. In addition, in the section c12, the speed fluctuation tolerance |Δωm| * is larger than the speed fluctuation amplitude |Δωm|, the ΔT amplitude limit flag is set to "OFF" and the limit on the corrected torque amplitude |ΔT| is released. By releasing the limit on the corrected torque amplitude |Δωm|, the speed fluctuation amplitude |Δωm| * It will follow.
[0084] The first embodiment of the present disclosure has been described above.
[0085] Second Embodiment <Configuration of a Motor Control Device> FIG. 9 is a diagram illustrating an example of the configuration of a motor control device according to a second embodiment of the present disclosure.
[0086] 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 of the motor control device 100 shown in Fig. 1. In addition, 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 *was input to the correction torque limit value generator 38, whereas 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.
[0087] <Configuration of Correction Torque Limit Value Generator> Fig. 10 is a diagram illustrating an example configuration of a correction torque limit value generator according to Example 2 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 ΔT limit value generator 39d.
[0088] The current amplitude calculator 39a calculates the detected current value amplitude Ia based on the d-axis current Id and the q-axis current Iq according to equation (30), and outputs the calculated detected current value amplitude Ia to the peak hold calculator 39b.
[0089] The peak hold calculator 39b obtains, for each predetermined acquisition period Tm, the maximum value of the detected current amplitude Ia during each acquisition period Tm as a current peak value Ia_peak, and outputs the obtained current peak value Ia_peak to the subtractor 39c. For example, the predetermined acquisition period Tm corresponds to the mechanical angle period of the motor M. Fig. 11 is a diagram illustrating an example of the operation of the peak hold calculator according to the second embodiment of the present disclosure.
[0090] As shown in FIG. 11, during the acquisition period Tm1 (mechanical angle phase θm = 0 to 2π), the peak hold calculator 39b compares the detected current value amplitude Ia, which changes over time, with the provisional current peak value Ia_peak_temp (the peak hold value of the current command value amplitude Ia, which changes over time in the target acquisition period Tm), according to equation (31), and when the detected current value amplitude Ia becomes larger than the provisional current peak value Ia_peak_temp, updates the provisional current peak value Ia_peak_temp with the detected current value amplitude Ia.
[0091] Furthermore, at the end of the acquisition period Tm1, the peak hold calculator 39b sets the tentative current peak value Ia_peak_temp to the current peak value Ia_peak according to equation (32), and initializes the tentative current peak value Ia_peak_temp to zero according to equation (33). That is, the tentative 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 acquisition period following the acquisition period Tm1.
[0092] 11 , during the acquisition period Tm2 (mechanical angle phase θm=2π to 4π), the peak hold calculator 39b compares the detected current value amplitude Ia, which changes over time, with the tentative current peak value Ia_peak_temp according to equation (31), and updates the tentative current peak value Ia_peak_temp with the detected current value amplitude Ia when the detected current value amplitude Ia becomes larger than the tentative current peak value Ia_peak_temp. In other words, during the acquisition period Tm2 as well, the tentative current peak value Ia_peak_temp is updated so as to constantly trace the maximum value of the detected current value amplitude Ia, just as in the acquisition period Tm1.
[0093] Furthermore, at the end of the acquisition period Tm2, the peak hold calculator 39b sets the tentative current peak value Ia_peak_temp to the current peak value Ia_peak according to equation (32), and initializes the tentative current peak value Ia_peak_temp to zero according to equation (33). That is, the tentative 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 acquisition period following the acquisition period Tm2.
[0094] In each acquisition period Tm after acquisition period Tm3 (mechanical angle phase θm=4π to 6π), the peak hold calculator 39b operates in the same manner as described above.
[0095] 10, a subtractor 39c calculates the deviation Ia_err of the peak current value Ia_peak from the current limit value Ia_limit according to equation (34) by subtracting a predetermined current limit value Ia_limit from the peak current value Ia_peak. 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, which is the current threshold at which the overcurrent protection function of the motor M is activated.
[0096] Here, as the correction torque command value ΔT increases, the current peak value also increases, which may lead to a current trip of the motor M. Therefore, the ΔT limit value generator 39d generates the correction torque limit value |ΔT|_limit in accordance with the ΔT amplitude limit flag set as follows, so as to prevent the current trip of the motor M. When the ΔT amplitude limit flag is set to "on", a limit is imposed on the correction torque command value ΔT, and when the ΔT amplitude limit flag is set to "off", no limit is imposed on the correction torque command value ΔT.
[0097] The ΔT limit value generator 39d sets the ΔT amplitude limit flag to "on" when the correction torque command value ΔT output from the correction torque generator 34 is not 0 (zero) (i.e., when torque control is being executed) and when the deviation Ia_err is a positive value. In other words, the ΔT limit value generator 39d sets the ΔT amplitude limit flag to "on" when "ΔT ≠ 0" and "Ia_err ≧ 0". When "ΔT ≠ 0" and "Ia_err ≧ 0", this corresponds to a case where it is desired to impose a limit on the correction torque command value ΔT so that the motor M does not reach a current trip.
[0098] On the other hand, the ΔT limit value generator 39d sets the ΔT amplitude limit flag to "OFF" when there is no need to limit the corrected torque command value ΔT. If the ΔT amplitude limit flag is set to "OFF" when the deviation Ia_err is a negative value, torque limit hunting may occur. In other words, when the ΔT amplitude limit flag is set to "OFF", the speed fluctuation amplitude |Δωm| is set to "OFF" when the speed fluctuation allowable value |Δωm| is exceeded. *If it is larger, the correction torque command value ΔT is controlled to be larger, and therefore it becomes necessary to again impose a limit on the correction torque command value ΔT to prevent a current trip from occurring.
[0099] Therefore, the ΔT limit value generator 39d calculates the speed fluctuation amplitude |Δωm| as the speed fluctuation allowable value |Δωm| * When it is smaller than |Δωm|, that is, when |Δωm|<|Δωm| * When "ΔT amplitude limit flag" is set to "OFF".
[0100] After setting the ΔT amplitude limit flag, the ΔT limit value generator 39d generates a correction torque limit value |ΔT|_limit in accordance with the ΔT amplitude limit flag.
[0101] When the ΔT amplitude limit flag is set to "ON" as described above, the ΔT limit value generator 39d generates the corrected torque limit value |ΔT|_limit according to equation (35) based on |ΔT|_old, which is the corrected torque amplitude |ΔT| in the previous mechanical angle period, and the deviation Ia_err. "g" in equation (35) is a predetermined gain value by which the deviation Ia_err is multiplied. In other words, when the ΔT amplitude limit flag is "ON," the ΔT limit value generator 39d performs integral control using the corrected torque amplitude |ΔT|_old in the previous mechanical angle period as an integral term. In this way, when the motor M is about to experience a current trip, the deviation Ia_err becomes a positive value, so the corrected torque limit value |ΔT|_limit decreases, and the detected current value amplitude Ia decreases as the corrected torque limit value |ΔT|_limit decreases.
[0102] On the other hand, when the ΔT amplitude limit flag is set to "OFF" as described above, the ΔT limit value generator 39d sets the correction torque limit value |ΔT|_limit to a large value that does not impose a limit on the correction torque command value ΔT. For example, the ΔT limit value generator 39d calculates the average torque command value To in accordance with equation (21). * The corrected torque limit value |ΔT|_limit is set to three times the average torque command value To *By setting a large value three times larger than the above as the correction torque limit value |ΔT|_limit, there is essentially no limit imposed on the correction torque command value ΔT.
[0103] The ΔT limit value generator 39 d outputs the correction torque limit value |ΔT|_limit generated as described above to the correction torque generator 34 .
[0104] <Operation of Motor Control Device> FIGS. 12A, 12B, 12C, 13, 14, and 15 are diagrams illustrating an example of the operation of the motor control device according to the second embodiment of the present disclosure.
[0105] 12A, 12B, and 12C show the behavior of the current vector in the motor control device 200. As shown in FIG. 12A, if the current peak value Ia_peak is greater than the current limit value Ia_limit, the ΔT amplitude limit flag is set to "ON," and a limit is imposed on the corrected torque amplitude |ΔT|. Even if a limit is imposed on the corrected torque amplitude |ΔT|, if the current peak value Ia_peak is still greater than the current limit value Ia_limit, as shown in FIG. 12B, the corrected torque amplitude |ΔT| is further limited, and the corrected torque limit value |ΔT|_limit becomes smaller. As a result, the current peak value Ia_peak is suppressed to the current limit value Ia_limit, as shown in FIG. 12C.
[0106] 13 shows the time variations of the current command amplitude Ia 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 section a21 where the torque control amount increases due to an increase in the load on the motor M, the current peak value Ia_peak increases. In section b21 following section a21, the ΔT amplitude limit flag is set to "on" and a limit is imposed on the corrected torque amplitude |ΔT|. In section c21 following section b21, 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.
[0107] 14, the change over time of the speed fluctuation amplitude |Δωm| is added to FIG. 13. In FIG. 14, in section a22 where the torque control amount increases as the load on the motor M increases, the current peak value Ia_peak increases due to the increase in the torque control amount. At this time, since the ΔT amplitude limit flag is "off", the speed fluctuation amplitude |Δωm| is within the speed fluctuation allowable value |Δωm| * In the section b22 next to the section a22, the current peak value Ia_peak in the section a22 is greater than the current limit value Ia_limit, so the ΔT amplitude limit flag is set to "ON" and a limit is imposed on the corrected torque amplitude |ΔT|. By imposing a limit on the corrected torque amplitude |ΔT|, the speed fluctuation amplitude |Δωm| * In the section c22 next to the section b22, the speed fluctuation amplitude |Δωm| and the current peak value Ia_peak decrease as the load on the motor M decreases. Also, in the section c22, the speed fluctuation allowable value |Δωm| * is larger than the speed fluctuation amplitude |Δωm|, the ΔT amplitude limit flag is set to "OFF" and the limit on the corrected torque amplitude |ΔT| is released. By releasing the limit on the corrected torque amplitude |Δωm|, the speed fluctuation amplitude |Δωm| * It will follow.
[0108] Fig. 15 shows an example of current limiting operation in Example 1, and Fig. 16 shows an example of current limiting operation in Example 2. Fig. 15 shows a comparative example of the presence or absence of current noise when limiting is performed by a current command value as in Example 1, and Fig. 16 shows a comparative example of the presence or absence of current noise when limiting is performed by a current detection value as in Example 2.
[0109] In the first embodiment, the d-axis current command value Id * and the q-axis current command value Iq * The current command peak value Ia is calculated based on *15, if the current limit value Ia_limit is not appropriate, the current command value amplitude Ia * There is a risk that the current command amplitude Ia may reach the current trip value Ia_trip. * In order to prevent the current limit value Ia_limit from reaching the current trip value Ia_trip, tuning such as reducing the current limit value Ia_limit is required.
[0110] In contrast, in the second embodiment, the ΔT amplitude limit flag is set based on the comparison result between the detected current peak value Ia_peak, which is 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 shown in FIG. 16 , even when there is noise in the detected current amplitude Ia depending on the control state, the current limit is applied to the detected current, so the same current limit value Ia_limit can be used regardless of whether there is noise. Therefore, tuning of the current limit value Ia_limit to the current trip value Ia_trip is not required, and the number of steps required for tuning the current limit value Ia_limit can be reduced.
[0111] The second embodiment of the present disclosure has been described above.
[0112] As described above, 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 (correction torque limit value generator 38 of the first embodiment). The current command value calculator calculates a velocity command value (mechanical angular velocity command value ωm * ) and the motor speed (the estimated mechanical angle angular velocity ωm in the first embodiment), an average torque command value (the average torque command value To * ) and a correction torque command value for correcting the torque command value (correction torque command value ΔT in the first embodiment) to obtain a total torque command value (total torque command value T in the first embodiment) * ) based on the current command value (q-axis current command value Iq * , d-axis current command value Id* The correction torque limit value generator calculates the maximum value of the current command value (current command peak value Ia in the first embodiment) when the correction torque command value is not zero and is equal to or smaller than the maximum value of the current command value (current command peak value Ia in the first embodiment). * When the current limit Ia_peak is equal to or greater than a predetermined current limit value Ia_limit in the first embodiment, a limit is imposed on the correction torque command value.
[0113] By limiting the correction torque command value in this way, it is possible to prevent a current trip due to an increase in the correction torque command value, and the motor can be operated stably without stopping due to the activation of the overcurrent protection function.
[0114] Furthermore, the correction torque limit value generator (correction torque limit value generator 39 in the second embodiment) limits the correction torque command value when the correction torque command value is not zero and the maximum value (current peak value Ia_peak in the second embodiment) of the motor current (d-axis current Id, q-axis current Iq) is equal to or greater than a predetermined current limit value (current limit value Ia_limit in the second embodiment).
[0115] Even if a limit is placed on the correction torque command value in this way, it is possible to prevent a current trip due to an increase in the correction torque command value, and the motor can be operated stably without stopping due to the activation of the overcurrent protection function. Furthermore, even if the noise level of the motor current amplitude value differs depending on the control state, the same current limit value can be used, so tuning is not required when setting the margin of the current limit value relative to the current trip value.
[0116] The correction torque limit value generator also calculates whether the fluctuation width of the rotation speed of the motor (the speed fluctuation amplitude |Δωm| in the first and second embodiments) is equal to or less than the allowable value (the speed fluctuation allowable value |Δωm| in the first and second embodiments). * ), the limit imposed on the correction torque command value is released.
[0117] This prevents torque limit hunting from occurring.
[0118] In addition, the correction torque limit value generator uses a value that is smaller by a predetermined value (margin MA in Examples 1 and 2) than the current threshold value (current trip value Ia_trip in Examples 1 and 2) at which the motor's overcurrent protection function activates as the current limit value.
[0119] This makes it possible to reliably prevent a current trip due to an increase in the correction torque command value.
[0120] 100, 200 Motor control device 14 Current command value calculator 34 Correction torque generator 38, 39 Correction torque limit value generator
Claims
ocr1. The motor control device consists of: a current command calculator that calculates the current command based on the total torque command value obtained by adding the average torque command value generated on the basis of the speed command value and the motor speed, and the correction torque command value for correcting the average torque command value; and a correction torque limiter generator that limits the correction torque command value when the correction torque command value is not zero and the maximum current command value is equal to or greater than the set current limit.
2. The motor control device according to claim 1, where the correction torque limiter generator releases the correction torque command limit when the range of variation of the motor rotational speed is less than the acceptable value.
3. The motor control device according to claim 1, where the correction torque limiter generator is used as a current limiter with a value less than the initial current limit to the set value, at which point the motor overcurrent protection operation is activated. 4.The motor control device consists of: a current command calculator that calculates the current command value based on the total torque command value obtained by adding the average torque command value generated on the basis of the speed command value and motor speed, and the correction torque command value for correction of the average torque command value; and a correction torque limit generator that limits the correction torque command value when the correction torque command value is non-zero and the maximum value of the current command value is equal to or greater than the set current limit.
5. A motor control device under claim 4, where the correction torque limit generator releases the limit of the correction torque command value when the range of variation of the motor rotational speed is less than the acceptable value.
6. A motor control device under claim 4, where the correction torque limit generator is used as a current limit with a value less than the initial current limit, at which point the motor overcurrent protection function is activated.