Motor control device
The motor control device addresses torque ripple and disturbances in synchronous motors by generating a cancellation voltage command to suppress torque pulsation and impedance fluctuations, enhancing motor performance at high speeds.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- MITSUBISHI ELECTRIC MOBILITY CORP
- Filing Date
- 2023-03-22
- Publication Date
- 2026-05-07
AI Technical Summary
Existing motor control technologies fail to effectively reduce torque ripple and disturbances in synchronous motors due to fluctuations in inductance and magnetic flux caused by field weakening control at high rotational speeds, as they do not account for changes in impedance in the motor's voltage equation.
A motor control device that includes a cancellation calculator to generate a cancellation voltage command value, which is added to the fundamental wave command value to suppress torque pulsation and disturbances, using a current command value calculator, voltage command value calculator, and PWM signal generator to control the inverter.
Reduces the effects of torque pulsation and disturbances in synchronous motors operating at high speeds by effectively canceling out torque ripple and impedance fluctuations.
Smart Images

Figure 0007855139000001 
Figure 0007855139000002 
Figure 0007855139000003
Abstract
Description
[Technical Field]
[0001] This disclosure relates to a motor control device. [Background technology]
[0002] Synchronous motors, which use permanent magnets in the rotor, are used as AC motors for variable speed drive. Such synchronous motors are also called brushless motors. When controlling a synchronous motor, a key concern is how to reduce the torque ripple generated by the synchronous motor. For example, Patent Document 1 discloses a technique in which a feedforward term is set using a flux-reluctance term that depends on the magnetic flux-reluctance of the motor so as to cancel out the torque ripple. Patent Document 2 discloses a technique in which a q-axis vibration voltage command value, which has the same frequency as the torque ripple generated in the rotor's output torque and cancels out the torque ripple component, is superimposed (added) to the basic voltage command value of the q-axis. [Prior art documents] [Patent Documents]
[0003] [Patent Document 1] Patent No. 6760197 [Patent Document 2] Patent No. 7090812 [Overview of the project] [Problems that the invention aims to solve]
[0004] In Patent Document 1, paragraphs 0047-0048, Figure 5, and Figure 12 show that coefficients Kvdff_Lφ and Kvqff_Lφ are set for calculating the flux-inductance term based on the torque command Tm* and the predicted electrical angle θees, and the product of these coefficients and the rotational speed Nm is used to calculate the flux-reluctance terms Vdff_Lφ and Vqff_Lφ as feedforward voltages. Paragraph 0048 states that the coefficients Kvdff_Lφ and Kvqff_Lφ are determined in advance by experimentation or analysis according to the predicted electrical angle θees and the torque command Tm*. However, even if a torque command Tm* is given, field weakening control may be performed depending on the motor's rotational speed, for example, in the region where the motor rotates at high speed. In that case, even if the torque command Tm* is the same, it is necessary to supply a d-axis current, which is a flux weakening current, according to the motor's rotational speed in order to avoid voltage saturation. Therefore, in response to a certain torque command Tm*, the d-axis current, which is the field weakening current, fluctuates according to the motor's rotational speed. Here, the pulsation of the inductance L and / or magnetic flux φ may fluctuate depending on the amount of current supplied by the d-axis current. In the technology described in Patent Document 1, the predicted electrical angle θees and torque command Tm* are determined in advance through experiments and analyses, so it cannot handle motors where the pulsation of the inductance L and / or magnetic flux φ fluctuates due to the d-axis current fluctuating as a result of field weakening control being performed according to the motor's rotational speed.
[0005] In Patent Document 2, feedforward control is performed to reduce the torque ripple component ΔT, which is the pulsating component of the output torque T of the rotor shown in equation (2), with respect to the output torque T of the rotor shown in equation (1). Specifically, the vibration voltage command values shown in equations (8) and (9) of Patent Document 2 are calculated. These are vibration voltage command values for suppressing torque ripple caused by changes in the output torque T of the rotor, and do not correspond to changes in impedance in the motor's voltage equation, i.e., disturbances. One of the factors that causes torque ripple is the pulsation of magnetic flux and / or inductance. This pulsation depends not only on the output torque T but also on changes in impedance in the motor's voltage equation. The technology in Patent Document 2 does not correspond to fluctuations in impedance in the voltage equation, i.e., disturbances.
[0006] This disclosure has been made to solve the above problems, and its purpose is to provide a motor control device that can reduce the effects on a motor due to torque pulsation and disturbances in the region in which the motor rotates at high speed. [Means for solving the problem]
[0007] To solve the above problem, one aspect of the present disclosure is a motor control device comprising: an inverter that supplies power to a motor; a controller that controls the motor and outputs a command signal to the inverter, wherein the controller includes: a current command value calculator that calculates current command values in the two rotation axes of the motor; a voltage command value calculator that calculates a fundamental wave command value, which is a voltage command value in the two rotation axes of the motor, by feedback control to the current command value; a cancellation calculator that calculates a cancellation voltage command value to suppress torque pulsation in the motor and suppress the effects of disturbances occurring in the motor, based on a target current which is either the current command value or the motor current flowing through the motor, and the rotor position of the motor; and a PWM signal generator that generates the command signal to be output to the inverter using an added fundamental wave command value obtained by adding the cancellation voltage command value to the fundamental wave command value. [Effects of the Invention]
[0008] According to this disclosure, it is possible to reduce the effects on the motor due to torque pulsation and disturbances in the region where the motor rotates at high speed. [Brief explanation of the drawing]
[0009] [Figure 1] This is a block diagram showing the configuration of the motor control device according to Embodiment 1. [Figure 2] This is a diagram illustrating the principle of generating switching signals according to Embodiment 1. [Figure 3] This figure shows an example of a torque pulsation waveform according to Embodiment 1. [Figure 4] This figure shows an example of a torque pulsation waveform according to Embodiment 1. [Figure 5] This figure shows an example of an amplitude table for suppressing torque pulsation according to Embodiment 1. [Figure 6] This figure shows an example of a phase table for suppressing torque pulsation according to Embodiment 1. [Figure 7] This figure shows an example of a waveform affected by disturbances according to Embodiment 1. [Figure 8] This figure shows an example of a waveform affected by disturbances according to Embodiment 1. [Figure 9] This figure shows an example of an amplitude table for suppressing the effects of disturbances according to Embodiment 1. [Figure 10] This figure shows an example of a phase table for suppressing the effects of disturbances according to Embodiment 1. [Figure 11] This is a block diagram showing the configuration of the motor control device according to Embodiment 2. [Figure 12] This is a block diagram showing the configuration of the current command value calculator according to Embodiment 2. [Figure 13] This is a block diagram showing the configuration of the q-axis current limiter according to Embodiment 2. [Figure 14] This is a diagram illustrating the processing performed by the q-axis current limiter according to Embodiment 2. [Figure 15] It is a diagram for explaining the processing performed by the q-axis current limiter according to the modified example of Embodiment 2. [Figure 16] It is a block diagram showing the configuration of the motor control device according to Embodiment 3. [Figure 17] It is a diagram showing an example of the amplitude table according to Embodiment 3. [Figure 18] It is a diagram showing an example of the phase table according to Embodiment 3. [Figure 19] It is a diagram for explaining the phase table of FIG. 18. [Figure 20] It is a block diagram showing the configuration of the motor control device according to Embodiment 4.
MODE FOR CARRYING OUT THE INVENTION
[0010] [Embodiment 1] FIG. 1 is a block diagram showing the configuration of the motor control device according to Embodiment 1. As shown in FIG. 1, the motor control device 100 includes a rotation position detector 2, a current detector 3, an inverter 5, and a controller 6. A DC power supply 4 and a motor 1 are connected to the motor control device 100. The motor control device 100 controls the motor 1 based on a torque command T_ref as a control command input from the outside of the motor control device 100.
[0011] Motor 1 is a three-phase AC rotating machine having three-phase windings U, V, and W. Motor 1 is also an AC rotating machine controllable based on two rotating shafts. In this specification, "two rotating shafts" means two axes that rotate synchronously with the rotor of Motor 1 and are orthogonal to each other in cross-section. "Cross-section" refers to a cross-section perpendicular to the central axis of the rotor. For example, the two rotating shafts may be dq axes. The d axis is the axis connecting the central axis of the rotor to the magnetic poles. The q axis is the axis orthogonal to both the d axis and the central axis. Alternatively, the two rotating shafts may be γ-δ axes. The γ axis is the axis shifted in the rotational direction relative to the d axis. The δ axis is the axis orthogonal to both the γ axis and the central axis. Of the two rotating shafts, one is called the first axis and the other the second axis. For example, if the d axis is the first axis, the q axis is the second axis. Note that the q axis may be the first axis and the d axis may be the second axis. Similarly, if the γ axis is called the first axis, then the δ axis is called the second axis.
[0012] The following describes the case where motor 1 is a permanent magnet synchronous rotating machine and the two rotating axes are the d and q axes. However, motor 1 may be, for example, a wound-field synchronous rotating machine, an induction rotating machine, a synchronous reluctance motor, etc. Also, the d and q axes in the following disclosure may be replaced with the δ and γ axes.
[0013] The rotational position detector 2 includes a resolver, an encoder, an MR (magnetoresistive) sensor, etc., and uses these to detect the rotor position θ. The rotor position θ is the position of the rotor of the motor 1 in the direction of rotation. In this embodiment, the rotational position detector 2 is used to detect the rotor position θ of the motor 1. However, a configuration in which the rotor position θ of the motor 1 is estimated without using the rotational position detector 2 is also possible. In other words, in this disclosure, the motor control device 100 does not need to be equipped with the rotational position detector 2.
[0014] The DC power supply 4 includes, for example, a battery, a DC-DC converter, a diode rectifier, and a PWM (Pulse Width Modulation) rectifier, and outputs a DC bus voltage Vdc to the inverter 5, which will be described later. Note that the DC power supply 4 includes all devices that output DC voltage.
[0015] The inverter 5 is a power converter that applies voltage to the motor 1. Based on the DC bus voltage Vdc output from the DC power supply 4 and the switching signals Gup, Gvp, Gwp, Gun, Gvn, Gwn output from the controller 6, the inverter 5 applies AC voltage to the three phase windings U, V, and W of the motor 1.
[0016] Inverter 5 comprises switching elements Sup, Svp, Swp, Sun, Svn, and Swn. Each of the switching elements is a semiconductor switch, such as an IGBT (Insulated Gate Bipolar Transistor), a bipolar transistor, and a MOS (Metal Oxide Semiconductor) power transistor. Each of the switching elements is connected in antiparallel to a diode or body diode.
[0017] The upper arm, consisting of high-potential switching elements Sup, Svp, and Swp, is connected to the positive terminal of the DC power supply 4. The lower arm, consisting of low-potential switching elements Sun, Svn, and Swn, is connected to the upper arm's switching elements Sup, Svp, and Swp, respectively.
[0018] The switching elements Sup, Svp, and Swp on the upper arm are input to the switching signals Gup, Gvp, and Gwp, respectively, which are output from the controller 13. The switching elements Sun, Svn, and Swn on the lower arm are input to the switching signals Gun, Gvn, and Gwn, respectively, which are output from the controller 13. The switching elements Sup, Svp, and Swp on the upper arm and Sun, Svn, and Swn on the lower arm are turned on or off by the switching signals Gup, Gvp, Gwp, Gun, Gvn, and Gwn output from the controller 13. Here, the on state is a conductive state. The off state is a non-conductive state. In this specification and drawings, the switching signals Gup, Gvp, Gwp, Gun, Gvn, and Gwn may be collectively referred to as "switching signals Gup~Gwn".
[0019] For example, if the switching signal Gup outputs an ON command, for example, a signal indicating "1", the switching element Sup will turn ON. If the switching signal Gup outputs an OFF command, for example, a signal indicating "0 (zero)", the switching element Sup will turn OFF. The same applies to the other switching elements Svp, Swp, Sun, Svn, and Swn.
[0020] The switching signals Gup~Gwn are generated by the PWM signal generator 11 based on the three-phase voltage command values vu, vv, vw output from the coordinate converter 10 of the controller 6. In this embodiment, the voltage command values vu, vv, vw used to generate the switching signals Gup~Gwn are command values to which the cancellation voltage command value vq_cancel has been added. The cancellation voltage command value vq_cancel is a correction command value generated by the cancellation calculator 20 that superimposes the voltage command value vq in order to suppress the effects of torque pulsation and disturbances. Specifically, the cancellation voltage command value vq_cancel is superimposed on the voltage command value vq of the two-phase voltage command values vd, vq before they are converted from two-phase to three-phase in the coordinate converter 10 of the controller 6. The two-phase voltage command values vd,vq and the three-phase voltage command values vu,vv,vw are equivalent, as they are only a coordinate transformation from two-phase to three-phase. Therefore, the three-phase voltage command values vu,vv,vw are command values to which the cancellation voltage command value vq_cancel has been added. The specific method by which the cancellation calculator 20 generates the cancellation voltage command values will be explained in detail later. The specific method by which the PWM signal generator 11 generates the switching signals Gup~Gwn based on the three-phase voltage command values vu,vv,vw will also be explained in detail later.
[0021] The current detector 3 detects the motor currents iu, iv, and iw flowing through the three-phase windings U, V, and W of the motor 1. The current detector 3 outputs information indicating the detected motor currents iu, iv, and iw to the controller 6. Any method for detecting phase currents may be used for the current detector 3. Alternatively, the current detector 3 may detect the motor currents iu, iv, and iw using the voltage across shunt resistors (not shown) connected in series with each of the lower potential switching elements Sun, Svn, and Swn, which are the lower arms of the inverter 5, and the switching signals Gun, Gvn, and Gwn. Alternatively, the motor currents iu, iv, and iw may be detected using the known "lower arm 2-shunt method" or the known "busbar 1-shunt detection method".
[0022] Controller 6 uses torque command T_ref, motor currents iu, iv, iw, and rotor position θ as input values and generates switching signals Gup~Gwn to drive inverter 5 based on these. Controller 6 outputs the generated switching signals Gup~Gwn to inverter 5. Controller 6 is a PWM controller that outputs switching signals Gup~Gwn using a discrete-time arithmetic unit such as a microcomputer or DSP (Digital Signal Processor). Controller 6 includes a current command value calculator 7, a coordinate converter 8 for detection, a current controller 9, a coordinate converter 10 for control, a PWM signal generator 11, a speed calculator 12, an adder 14, an adder 15, an amplifier 16, an amplifier 17, and a cancellation calculator 20.
[0023] The current command value calculator 7 calculates the current command values id_ref and iq_ref, which are current command values in the dq coordinate system, based on the torque command T_ref. For example, the current command value calculator 7 calculates the current command value id_ref using equation (1-1). The current command value calculator 7 also calculates the current command value iq_ref using equation (1-2). T_ref is the torque command, and Kt is the torque constant [Nm / A].
[0024] id_ref=0 …Formula (1-1) iq_ref = T_ref / Kt …Equation (1-2)
[0025] The current command value calculator 7 sets the current command value id_ref in the d-axis to 0 (zero), as shown in equation (1-1). The current command value calculator 7 also sets the current command value iq_ref in the q-axis to the value obtained by multiplying the torque command T_ref by 1 / Kt, as shown in equation (1-2). id_ref is also called the "field weakening current command value," and iq_ref is also called the "torque current command value." The current command value calculator 7 may employ known techniques such as MTPA (Max Torque per Ampere) control, MTPV (Max Torque per Voltage) control, or flux weakening control, or combinations thereof, to calculate the current command value. The method for calculating current command values id_ref and iq_ref with limited voltage utilization will be described in Embodiment 2 below.
[0026] The coordinate converter 8 performs a coordinate transformation based on the three-phase motor currents iu, iv, and iw detected by the current detector 3, and the rotor position θ detected by the rotation position detector 2. As a result, the coordinate converter 8 calculates the motor currents id and iq on the two rotation axes (d and q axes), and outputs the motor currents id and iq after the coordinate transformation, which are the calculation results, to the current controller 9.
[0027] The adder 15 adds the torque pulsation suppression command value i_cancel2, calculated by the cancellation calculator 20, to the current command value iq_ref, calculated by the current command value calculator 7, and outputs the resulting current command value iq_ref2 to the current controller 9.
[0028] The current controller 9 calculates the fundamental wave command values vd and vq, which are voltage command values for the two rotation axes (d and q axes) of the motor 1, by feedback control to the current command value id_ref output from the current command value calculator 7 for the d axis and to the added current command value iq_ref2 output from the adder 15 for the q axis. The current controller 9 calculates the fundamental wave command values vd and vq for the two rotation axes (d and q axes) based on the current command value id_ref, the current command value iq_ref2, and the motor currents id and iq for the two rotation axes (d and q axes) output from the coordinate converter 8.
[0029] The current controller 9 comprises a subtractor 90, a d-axis current controller 91, a subtractor 92, and a q-axis current controller 93.
[0030] The subtractor 90 calculates the d-axis current deviation ed, which is the difference between the current command value id_ref in the d-axis and the motor current id in the d-axis, and outputs the calculated d-axis current deviation ed to the d-axis current controller 91. The d-axis current controller 91 uses a control method such as P control or PI control to calculate the fundamental wave command value vd so that the d-axis current deviation ed becomes 0 (zero). The d-axis current controller 91 outputs the calculated fundamental wave command value vd to the coordinate converter 10.
[0031] The subtractor 92 calculates the q-axis current deviation eq, which is the difference between the current command value iq_ref2 in the q-axis and the motor current iq in the q-axis, and outputs the calculated q-axis current deviation eq to the q-axis current controller 93. The q-axis current controller 93 uses a control method such as P control or PI control to calculate the fundamental wave command value vq so that the q-axis current deviation eq becomes 0 (zero). The q-axis current controller 93 outputs the calculated fundamental wave command value vq to the adder 14.
[0032] The adder 14 adds the cancellation voltage command value vq_cancel, calculated by the cancellation calculator 20, to the fundamental wave command value vq, calculated by the q-axis current controller 93, and outputs the resulting fundamental wave command value vq' to the coordinate converter 10.
[0033] The coordinate converter 10 performs a coordinate transformation based on the fundamental wave command values vd and vq', and the rotor position θ detected by the rotation position detector 2, and calculates the three-phase voltage command values, which are the fundamental wave command values vu, vv, and vw. The fundamental wave command values vu, vv, and vw calculated by the coordinate converter 10 are calculated using the fundamental wave command value vd and the fundamental wave command value vq' after adding the cancellation voltage command value vq_cancel, and therefore the cancellation voltage command value vq_cancel is reflected in the fundamental wave command values vu, vv, and vw. The coordinate converter 10 outputs the calculated fundamental wave command values vu, vv, and vw to the PWM signal generator 11.
[0034] The PWM signal generator 11 outputs PWM (Pulse Width Modulation) modulated switching signals Gup~Gwn based on the fundamental wave command values vu, vv, vw output from the coordinate converter 10.
[0035] Here, we will explain how the PWM signal generator 11 generates the switching signals Gup~Gwn using Figure 2. Figure 2 is a diagram illustrating the principle of switching signal generation in Embodiment 1. Figure 2 shows the time-series changes of the fundamental wave command values vu, vv, vw, the carrier wave C which is a carrier triangular wave with period Tc (frequency fc), and the switching signals Gup~Gwn. The horizontal axis of Figure 2 represents time, and the vertical axis represents the signal level. The PWM signal generator 11 generates the switching signals Gup~Gwn by comparing the fundamental wave command values vu, vv, vw with the carrier wave C.
[0036] Specifically, the PWM signal generator 11 sets the switching signal Gup to an ON command, for example, "1", and the switching signal Gun to an OFF command, for example, "0 (zero)", if the fundamental wave command value vu is greater than the carrier triangular wave C. On the other hand, the PWM signal generator 11 sets the switching signal Gup to an OFF command, for example, "0 (zero)", and the switching signal Gun to an ON command, for example, "1", if the fundamental wave command value vu is less than the carrier wave C.
[0037] Furthermore, if the fundamental wave command value vv is greater than the carrier triangular wave C, the PWM signal generator 11 sets the switching signal Gvp to an ON command, for example, "1", and the switching signal Gvn to an OFF command, for example, "0 (zero)". On the other hand, if the fundamental wave command value vv is less than the carrier wave C, the PWM signal generator 11 sets the switching signal Gvp to an OFF command, for example, "0 (zero)", and the switching signal Gvn to an ON command, for example, "1".
[0038] Furthermore, if the fundamental wave command value vw is greater than the carrier triangular wave C, the PWM signal generator 11 sets the switching signal Gwp to an ON command, for example, "1", and the switching signal Gwn to an OFF command, for example, "0 (zero)". On the other hand, if the fundamental wave command value vw is less than the carrier wave C, the PWM signal generator 11 sets the switching signal Gwp to an OFF command, for example, "0 (zero)", and the switching signal Gwn to an ON command, for example, "1".
[0039] Furthermore, to prevent the switching elements Sup, Svp, Swp on the upper arm and Sun, Svn, Swn on the lower arm of inverter 5 from being turned on simultaneously, a short-circuit prevention time, or dead time, may be provided in the switching signals Gup to Gwn.
[0040] Returning to the explanation of Figure 1, the velocity calculator 12 detects the rotational angular velocity ω of motor 1 based on the rotor position θ of motor 1 detected by the rotational position detector 2. The velocity calculator 12 calculates the rotational angular velocity ω of motor 1 by performing a differential or difference calculation on the rotor position θ and outputs the calculated rotational angular velocity ω. The rotational angular velocity ω of motor 1 output here is the rotational angular velocity of the electrical angle in motor 1, and it is equal to the rotational angular velocity of the mechanical angle multiplied by the pole-logarithm of motor 1.
[0041] Amplifier 16 calculates (Nω), which is the rotational angular velocity ω output from speed calculator 12 multiplied by a constant N, and outputs the calculated value (Nω) to amplifier 17. Here, the constant N is the order of the torque pulsation generated by motor 1 that is to be suppressed. For example, if the frequency component of the torque pulsation generated by motor 1 that corresponds to 6 times the fundamental frequency (the frequency in the fundamental command values vu, vv, vw mentioned above) is to be suppressed, then the constant N is set to "6". Hereafter, the frequency component that corresponds to N times the fundamental frequency may be referred to as the "electrical angle Nth order frequency component".
[0042] Amplifier 17 calculates a value (NωL) obtained by multiplying the rotational angular velocity ω output from amplifier 16 by a constant N, and then by a constant L, and outputs the calculated value (NωL) to the cancellation calculator 20. Here, the constant L is the inductance of motor 1.
[0043] The cancellation calculator 20 calculates the cancellation voltage command value vq_cancel and the torque pulsation suppression command value i_cancel2 based on the current command values id_ref and iq_ref output from the current command value calculator 7, the rotor position θ output from the rotation position detector 2, and the value (NωL) output from the amplifier 17.
[0044] The cancellation calculator 20 includes a torque suppression command value calculator 21, a disturbance suppression command value calculator 22, an adder 23, a multiplier 24, an adder 25, a limiter 26, an amplifier 27, and an amplifier 28.
[0045] The torque suppression command value calculator 21 calculates the torque pulsation suppression command values i_cancel and i_cancel2 based on the current command values id_ref and iq_ref, and the rotor position θ. Both the torque pulsation suppression command values i_cancel and i_cancel2 are current command values for suppressing torque pulsation. The torque pulsation suppression command values i_cancel and i_cancel2 are sine waves with the same amplitude but different phases.
[0046] The torque suppression command value calculator 21 comprises a torque suppression command amplitude calculator 210, a torque suppression command phase calculator 211, an adder 212, a cosine calculator 213, a multiplier 214, a subtractor 215, a cosine calculator 216, and a multiplier 217.
[0047] The torque suppression command amplitude calculator 210 calculates the amplitude i_ca_amp, which is the amplitude value of the torque pulsation suppression command values i_cancel and i_cancel2, based on the current command values id_ref and iq_ref. The method by which the torque suppression command amplitude calculator 210 calculates the amplitude i_ca_amp will be explained using Figures 3 to 6. Figures 3 and 4 show examples of torque pulsation waveforms according to Embodiment 1. Figure 5 shows an example of an amplitude table for suppressing torque pulsation according to Embodiment 1. Figure 6 shows an example of a phase table for suppressing torque pulsation according to Embodiment 1.
[0048] The upper part of Figure 3 shows an example of a torque pulsation waveform, including the sixth-order electrical angle frequency component, extracted from the torque measured when a sinusoidal current is passed through the motor and motor 1 is driven under specific current conditions. The current conditions for motor 1 here are that the motor current Id in the d-axis of motor 1 is a constant value Id1, the motor current Iq in the q-axis is a constant value Iq1, and the rotational angular velocity of motor 1 is constant.
[0049] In this specification and drawings, the current conditions when motor 1 is driven with motor currents Id=Id# and Iq=Iq# may be denoted as current conditions(Id#,Iq#). # is a numerical value used to identify the current value. For example, the current conditions when motor 1 is driven with currents Id=Id1 and Iq=Iq1 will be denoted as current conditions(Id1,Iq1).
[0050] The motor current Id may be the current command value id_ref for the d-axis. Similarly, the motor current Iq may be the current command value iq_ref for the q-axis.
[0051] The middle section of Figure 3 shows the waveform of the motor current used to suppress torque pulsation, which is the torque pulsation waveform shown in the upper section multiplied by "-1 / Kt".
[0052] The lower part of Figure 3 shows an example of mathematically formulating the motor current waveform shown in the middle part, and extracting the amplitude and initial phase of the waveform. The amplitude value of the motor current required to suppress torque pulsation under current conditions (Id1, Iq1) is amplitude i_ca_amp(Id1, Iq1). The initial phase of the motor current required to suppress torque pulsation under current conditions (Id1, Iq1) is phase i_ca_ph(Id1, Iq1).
[0053] The upper part of Figure 4 shows an example of a torque pulsation waveform, which is the sixth-order electrical angle frequency component, extracted from the torque of motor 1 driven under different current conditions than those in Figure 3. The current conditions for motor 1 here are (Id2, Iq1), where the motor current Id in the d-axis of motor 1 is a constant value Id2, the motor current Iq in the q-axis is a constant value Iq1, and the rotational angular velocity of motor 1 is constant.
[0054] The middle section of Figure 4 shows the waveform of the motor current used to suppress torque pulsation, which is the torque pulsation waveform shown in the upper section multiplied by "-1 / Kt".
[0055] The lower part of Figure 4 shows an example of mathematically formulating the motor current waveform shown in the middle part, and extracting the amplitude and initial phase of the waveform. The amplitude value of the motor current that suppresses torque pulsation under current conditions (Id2, Iq1) is amplitude i_ca_amp(Id2, Iq1). The initial phase of the motor current that suppresses torque pulsation under current conditions (Id2, Iq1) is phase i_ca_ph(Id2, Iq1).
[0056] Figure 5 shows an example of the torque suppression amplitude table 210Tbl. The torque suppression amplitude table 210Tbl is a table that shows the correspondence between current conditions and the amplitude value of the motor current that suppresses torque pulsation. For example, in a manner similar to that described in Figures 3 and 4, the amplitude value of the motor current that suppresses torque pulsation is calculated in advance for various current conditions in which motor 1 is expected to be energized, and the calculated amplitude values are stored in the torque suppression amplitude table 210Tbl.
[0057] When motor 1 is rotating, the torque suppression command amplitude calculator 210 receives the current command values id_ref and iq_ref as input. Based on the input current command values id_ref and iq_ref, the torque suppression command amplitude calculator 210 refers to the torque suppression amplitude table 210Tbl and obtains the amplitude i_ca_amp(id_ref, iq_ref) corresponding to the current condition (id_ref, iq_ref). The torque suppression command amplitude calculator 210 outputs the obtained amplitude i_ca_amp(id_ref, iq_ref) as the amplitude i_ca_amp of the current command value for suppressing torque pulsation in motor 1.
[0058] Here, the torque suppression command amplitude calculator 210 may calculate the amplitude i_ca_amp by performing linear interpolation. For example, the torque suppression command amplitude calculator 210 calculates the amplitude i_ca_amp using linear interpolation when the current command value iq_ref in the current condition for which the amplitude is to be calculated is a current value that is midway between the motor currents Iq1 and Iq2 in the torque suppression amplitude table 210Tbl. For example, the amplitude value in the current condition (IdM, Iq1) located between the current condition (Id1, Iq1) in Figure 3 and the current condition (Id2, Iq1) in Figure 4 may be calculated by linear interpolation. Here, IdM is, for example, (Id1+Id2) / 2. In this case, the torque suppression command amplitude calculator 210 calculates the amplitude i_ca_amp(IdM,Iq1) by adding the amplitudes i_ca_amp(Id1,Iq1) and i_ca_amp(Id2,Iq1) and multiplying by 1 / 2.
[0059] Figure 6 shows an example of the torque suppression phase table 211Tbl. The torque suppression phase table 211Tbl is a table that shows the correspondence between current conditions and the amplitude value of the motor current that suppresses torque pulsation. For example, in the same manner as described in Figures 3 and 4, the initial phase of the motor current that suppresses torque pulsation under various current conditions for which motor 1 is expected to be energized is calculated in advance, and the phase obtained by advancing the calculated initial phase by 90 degrees is stored in the torque suppression phase table 211Tbl.
[0060] For example, if the initial phase under current condition (Id1,Iq1) is phase i_ca_ph(Id1,Iq1), then the torque suppression phase table 211Tbl stores phase {i_ca_ph(Id1,Iq1)+90}, which is phase i_ca_ph(Id1,Iq1) with 90 added, resulting in a phase that is advanced by 90 degrees. Similarly, if the initial phase under current condition (Id2,Iq1) is phase i_ca_ph(Id2,Iq1), then the torque suppression phase table 211Tbl stores phase {i_ca_ph(Id2,Iq1)+90}.
[0061] When motor 1 is rotating, the torque suppression command phase calculator 211 receives the current command values id_ref and iq_ref as input. Based on the current command values id_ref and iq_ref, the torque suppression command phase calculator 211 refers to the torque suppression phase table 211Tbl and obtains the initial phase {i_ca_ph(id_ref,iq_ref)+90} corresponding to the current condition (id_ref,iq_ref).
[0062] The torque suppression command phase calculator 211 outputs the acquired phase {i_ca_ph(id_ref,iq_ref)+90} as the initial phase i_ca_phase of the current command value for suppressing torque pulsation in motor 1 under current conditions (id_ref,iq_ref). That is, the relationship i_ca_phase = i_ca_ph + 90 exists.
[0063] Here, the torque suppression phase table 211Tbl stores a phase i_ca_ph that has been advanced by 90 degrees. This is to supply motor 1 with the motor current corresponding to the torque pulsation suppression command value i_cancel2. More specifically, the cancellation voltage command value vq_cancel, which includes the component of the torque pulsation suppression command value i_cancel2, is added to the fundamental wave command value vq. For this reason, the phase of the torque pulsation suppression command value i_cancel2 is advanced by 90 degrees. Here, 90 degrees corresponds to a phase that is 1 / 4 of a period when one period in the waveform of the Nth-order electrical angle frequency component to be suppressed is considered to be 360 degrees.
[0064] The torque suppression command value calculator 21 calculates the torque pulsation suppression command values i_cancel and i_cancel2 shown in equations (1-3) and (1-4). The constant N is the order to be suppressed. θ is the rotor position θ detected by the rotation position detector 2.
[0065] i_cancel=i_ca_amp×cos(Nθ+i_ca_phase) …Equation (1-3) i_cancel2=i_ca_amp×cos(Nθ+i_ca_phase-90) …Formula (1-4)
[0066] Here, we will specifically explain the process of deriving the torque pulsation suppression command value i_cancel shown in equation (1-3).
[0067] The adder 212 adds the phase i_ca_phase calculated by the torque suppression command phase calculator 211 to the value (Nθ) obtained by multiplying the rotor position θ by a constant N. Here, the value (Nθ) obtained by multiplying the rotor position θ by a constant N is calculated by the amplifier 28, which will be described later, and output to the adder 212. The adder 212 outputs the added phase (Nθ + i_ca_phase) to the cosine calculator 213.
[0068] The cosine arithmetic unit 213 calculates the sine wave cos(Nθ+i_ca_phase) with phase (Nθ+i_ca_phase) output from the adder 212, and outputs the calculated sine wave cos(Nθ+i_ca_phase) to the multiplier 214.
[0069] The multiplier 214 multiplies the sine wave cos(Nθ+i_ca_phase) output from the cosine arithmetic unit 213 by the amplitude i_ca_amp. The multiplier 214 outputs the resulting sine wave {i_ca_amp×cos(Nθ+i_ca_phase)} as the cancellation voltage command value i_cancel.
[0070] Here, we will specifically explain the process of deriving the torque pulsation suppression command value i_cancel2 shown in equation (1-4).
[0071] The subtractor 215 subtracts 90 from the phase (Nθ + i_ca_phase) output from the adder 212, and outputs the resulting phase (Nθ + i_ca_phase - 90) to the cosine arithmetic unit 216.
[0072] The cosine arithmetic unit 216 calculates the sine wave cos(Nθ+i_ca_phase-90) with phase (Nθ+i_ca_phase-90) output from the adder 212, and outputs the calculated sine wave cos(Nθ+i_ca_phase-90) to the multiplier 217.
[0073] The multiplier 217 multiplies the sine wave cos(Nθ+i_ca_phase-90) output from the cosine arithmetic unit 216 by the amplitude i_ca_amp. The multiplier 217 outputs the resulting sine wave {i_ca_amp×cos(Nθ+i_ca_phase-90)} as the cancellation voltage command value i_cancel2.
[0074] As mentioned above, the phase i_ca_phase is obtained by advancing the phase i_ca_ph by 90 degrees, and since i_ca_phase = i_ca_ph + 90, equation (1-4) is equivalent to equation (1-5).
[0075] i_cancel2=i_ca_amp×cos(Nθ+i_ca_ph) …Formula (1-5)
[0076] The torque pulsation suppression command value i_cancel2 calculated by the cancellation calculator 20 corresponds to the motor current shown in the middle and lower sections of Figure 3 and the middle and lower sections of Figure 4. In other words, the torque pulsation suppression command value i_cancel2 is a current command value that corresponds to a sine wave with the opposite phase to the torque pulsation in motor 1 and an amplitude of 1 / Kt. Furthermore, the torque pulsation suppression command value i_cancel is a current command value that corresponds to a sine wave with a phase lead of 90 degrees to the torque pulsation suppression command value i_cancel2.
[0077] The cancellation calculator 20 outputs the torque pulsation suppression command value i_cancel from the two torque pulsation suppression command values i_cancel and i_cancel2 to the adder 15. The adder 15 adds the torque pulsation suppression command value i_cancel to the current command value iq_ref and outputs the resulting current command value iq_ref2 to the current controller 9. Here, we assume that the set response frequency in the q-axis current controller 93 is frequency fq.
[0078] In this case, if the frequency of the Nth order electrical angle is less than or equal to frequency fq, the Nth order electrical angle frequency component in the motor current Iq coincides with the torque pulsation suppression command value i_cancel2. The torque pulsation suppression command value i_cancel2 is a sine wave that is out of phase with the torque pulsation in motor 1 and has an amplitude of 1 / Kt, as shown in the middle and lower panels of Figure 3 or the middle and lower panels of Figure 4. Therefore, it is possible to suppress the torque pulsation in motor 1 in order to cancel out the torque pulsation shown in the upper panel of Figure 3 or the upper panel of Figure 4.
[0079] On the other hand, if the frequency of the Nth order electrical angle exceeds the frequency fq, it exceeds the performance limits of the q-axis current controller 93. In the bandwidth where the frequency of the Nth order electrical angle exceeds the frequency fq, the cancellation voltage command value vq_cancel is used to control the Nth order electrical angle frequency component included in the motor current Iq to match the torque pulsation suppression command value i_cancel2.
[0080] The disturbance suppression command value calculator 22 calculates the disturbance suppression command value i_gairan based on the current command values id_ref, iq_ref, and the rotor position θ. The disturbance suppression command value i_gairan is the current command value for suppressing disturbances.
[0081] The disturbance suppression command value calculator 22 comprises a disturbance suppression command amplitude calculator 220, a disturbance suppression command phase calculator 221, an adder 222, a cosine calculator 223, and a multiplier 224.
[0082] The disturbance suppression command amplitude calculator 220 calculates the amplitude i_ga_amp, which is the amplitude value of the disturbance suppression command value i_gairan, based on the current command values id_ref and iq_ref. The method by which the disturbance suppression command amplitude calculator 220 calculates the amplitude i_ga_amp will be explained using Figures 7 to 10. Figures 7 and 8 show examples of waveforms affected by disturbances according to Embodiment 1. Figure 9 shows an example of an amplitude table for suppressing the effects of disturbances according to Embodiment 1. Figure 10 shows an example of a phase table for suppressing the effects of disturbances according to Embodiment 1.
[0083] The upper part of Figure 7 shows an example of a waveform affected by disturbances, including the sixth-order electrical angle frequency component extracted from the motor current Iq on the q-axis when motor 1 is driven under specific current conditions. The current conditions for motor 1 here are that the motor current Id on the d-axis of motor 1 is a constant value Id1, the motor current Iq on the q-axis is a constant value Iq1, the rotational angular velocity of motor 1 is constant, and the fundamental wave command values vd and vq are constant. The disturbances here include the sixth-order electrical angle frequency component of the magnetic flux φm in motor 1 and the sixth-order electrical angle frequency component of the inductance in motor 1. These are sixth-order electrical angle frequency components that arise from distortion caused by fluctuations in the impedance of motor 1, i.e., disturbances.
[0084] The lower part of Figure 7 shows an example of a waveform with the sign reversed compared to the waveform shown in the upper part of Figure 7. The lower part of Figure 7 also shows an example of a waveform expressed mathematically, with the amplitude and initial phase extracted. The amplitude value of the motor current required to suppress the influence of disturbances under current conditions (Id1, Iq1) is amplitude i_ga_amp(Id1, Iq1). The initial phase of the motor current required to suppress the influence of disturbances under current conditions (Id1, Iq1) is phase i_ga_ph(Id1, Iq1).
[0085] The upper part of Figure 8 shows an example of a waveform affected by disturbances, including the 6th order electrical angle frequency component extracted from the motor current Iq of the q axis when motor 1 is driven under different current conditions (Id2, Iq1) than those in Figure 7.
[0086] The lower part of Figure 8 shows an example of a waveform with the sign reversed compared to the waveform shown in the upper part of Figure 8. The lower part of Figure 8 also shows an example of a waveform expressed mathematically, with the amplitude and initial phase extracted. The amplitude value of the motor current required to suppress the influence of disturbances under current conditions (Id2, Iq1) is amplitude i_ga_amp(Id2, Iq1). The initial phase of the motor current required to suppress the influence of disturbances under current conditions (Id2, Iq1) is phase i_ga_ph(Id2, Iq1).
[0087] Figure 9 shows an example of the disturbance suppression amplitude table 220Tbl. The disturbance suppression amplitude table 220Tbl is a table that shows the correspondence between current conditions and the amplitude value of the motor current that suppresses the effects of disturbances. For example, in the same manner as described in Figures 7 and 8, the amplitude value of the motor current that suppresses disturbance pulsation is calculated in advance for various current conditions under which motor 1 is expected to be energized, and the calculated amplitude values are stored in the disturbance suppression amplitude table 220Tbl.
[0088] When motor 1 is rotating, the disturbance suppression command amplitude calculator 220 receives the current command values id_ref and iq_ref as input. Based on the input current command values id_ref and iq_ref, the disturbance suppression command amplitude calculator 220 refers to the disturbance suppression amplitude table 220Tbl and obtains the amplitude i_ga_amp(id_ref, iq_ref) corresponding to the current conditions (id_ref, iq_ref). The disturbance suppression command amplitude calculator 220 outputs the obtained amplitude i_ga_amp(id_ref, iq_ref) as the amplitude i_ga_amp of the current command value for suppressing the effects of disturbances on motor 1.
[0089] Here, the disturbance suppression command amplitude calculator 220 may calculate the amplitude i_ga_amp by performing linear interpolation. For example, the disturbance suppression command amplitude calculator 220 calculates the amplitude i_ga_amp using linear interpolation when the current command value iq_ref in the current condition for which the amplitude is to be calculated is a current value that is midway between the motor currents Iq1 and Iq2 in the disturbance suppression amplitude table 220Tbl. For example, the amplitude value in the current condition (IdM, Iq1) located between the current condition (Id1, Iq1) in Figure 7 and the current condition (Id2, Iq1) in Figure 8 may be calculated by linear interpolation. Here, IdM is, for example, (Id1+Id2) / 2. In this case, the disturbance suppression command amplitude calculator 220 calculates the amplitude i_ga_amp(IdM,Iq1) by adding the amplitudes i_ga_amp(Id1,Iq1) and i_ga_amp(Id2,Iq1) and multiplying by 1 / 2.
[0090] Figure 10 shows an example of the disturbance suppression phase table 221Tbl. The disturbance suppression phase table 221Tbl is a table that shows the correspondence between current conditions and the amplitude value of the motor current that suppresses torque pulsation. For example, in a manner similar to that described in Figures 7 and 8, the initial phase of the motor current that suppresses the effects of disturbances under various current conditions for which motor 1 is expected to be energized is calculated in advance, and the phase obtained by advancing the calculated initial phase by 90 degrees is stored in the disturbance suppression phase table 221Tbl.
[0091] For example, if the initial phase under current condition (Id1,Iq1) is phase i_ga_ph(Id1,Iq1), then the disturbance suppression phase table 221Tbl stores the phase {i_ga_ph(Id1,Iq1)+90}. If the initial phase under current condition (Id2,Iq1) is phase i_ga_ph(Id2,Iq1), then the disturbance suppression phase table 221Tbl stores the phase {i_ga_ph(Id2,Iq1)+90}.
[0092] When motor 1 is rotating, the disturbance suppression command phase calculator 221 receives the current command values id_ref and iq_ref as input. Based on the current command values id_ref and iq_ref, the disturbance suppression command phase calculator 221 refers to the disturbance suppression phase table 221Tbl and obtains the initial phase {i_ga_ph(id_ref,iq_ref)+90} corresponding to the current condition (id_ref,iq_ref).
[0093] The disturbance suppression command phase calculator 221 outputs the acquired phase {i_ga_ph(id_ref,iq_ref)+90} as the initial phase i_ga_phase of the current command value for suppressing the influence of disturbances in motor 1 under current conditions (id_ref,iq_ref). That is, the relationship i_ga_phase = i_ga_ph + 90 exists.
[0094] Here, the disturbance suppression phase table 221Tbl stores a phase where the phase i_ga_ph is advanced by 90 degrees. This is to supply motor 1 with the motor current corresponding to the disturbance suppression command value i_gairan. More specifically, the cancellation voltage command value vq_cancel, which includes the component of the disturbance suppression command value i_gairan, is added to the fundamental wave command value vq. For this reason, the phase of the disturbance suppression command value i_gairan is advanced by 90 degrees.
[0095] The disturbance suppression command value calculator 22 calculates the disturbance suppression command value i_gairan shown in equation (1-6). The constant N is the order to be suppressed. θ is the rotor position θ detected by the rotation position detector 2.
[0096] i_gairan=i_ga_amp×cos(Nθ+i_ga_phase) …Equation (1-6)
[0097] Here, we will specifically explain the process of deriving the disturbance suppression command value i_gairan shown in equation (1-6).
[0098] Adder 222 adds the phase i_ga_phase calculated by the disturbance suppression command phase calculator 221 to the value (Nθ) obtained by multiplying the rotor position θ by a constant N. Adder 2212 outputs the resulting phase (Nθ + i_ga_phase) to cosine calculator 223.
[0099] The cosine arithmetic unit 223 calculates the sine wave cos(Nθ+i_ga_phase) with phase (Nθ+i_ga_phase) output from the adder 222, and outputs the calculated sine wave cos(Nθ+i_ga_phase) to the multiplier 224.
[0100] The multiplier 224 multiplies the sine wave cos(Nθ+i_ga_phase) output from the cosine arithmetic unit 223 by the amplitude i_ga_amp. The multiplier 224 outputs the resulting sine wave {i_ga_amp×cos(Nθ+i_ga_phase)} as the disturbance suppression command value i_gairan.
[0101] The cancellation calculator 20 calculates the combined values i_sum and v_sum shown in equations (1-7), (1-8), and (1-9). The constant N is the order to be suppressed. ω is the rotational angular velocity ω detected by the speed calculator 12. The constant L is the inductance of motor 1. The constant R is the resistance value of the winding resistance of motor 1.
[0102] i_sum=i_cancel+i_gairan...Formula (1-7) v_sum=N·ω·L·i_sum =N·ω·L·(i_cancel+i_gairan) …Formula (1-8) v_sum2=v_sum+R·i_cancel2 =R·i_cancel2+N·ω·L·(i_cancel+i_gairan) …Formula (1-9)
[0103] The process of deriving the composite value i_sum shown in Equation (1-7) will be specifically described. The adder 23 adds the disturbance suppression command value i_gairan to the torque ripple suppression command value i_cancel, and outputs the composite value i_sum (= i_cancel + i_gairan) after addition to the multiplier 24.
[0104] The process of deriving the composite value v_sum shown in Equation (1-8) will be specifically described. The multiplier 24 multiplies the composite value i_sum output from the adder 23 by the value (NωL) output from the amplifier 17, and outputs the composite value v_sum (= N·ω·L·i_sum) after multiplication to the adder 25.
[0105] The process of deriving the composite value v_sum2 shown in Equation (1-9) will be specifically described. The amplifier 27 outputs the value obtained by multiplying the torque ripple suppression command value i_cancel by R to the adder 25. The adder 25 adds the value (R·i_cancel) output from the amplifier 27 to the composite value v_sum, and outputs the composite value v_sum2 after addition to the limiter 26.
[0106] The limiter 26 compares the composite value v_sum2 output from the adder 25 with the upper limit value (+vq_clip) and the lower limit value (-vq_clip), and limits the composite value v_sum2 to a value between the lower limit value and the upper limit value based on the comparison result, and outputs the limited value as the cancellation voltage command value vq_cancel. Specifically, the limiter 26 uses Equation (1-10) to limit the composite value v_sum2 to a value between the lower limit value and the upper limit value.
[0107] When (v_sum2 < -vq_clip), → vq_cancel = -vq_clip When (-vq_clip < v_sum2 < vq_clip), → vq_cancel = v_sum2 When (vq_clip < v_sum2), → vq_cancel = vq_clip … Equation (1-10)
[0108] Here, the limit value vq_clip set as the upper limit value and the lower limit value will be described. The limit value vq_clip is calculated as shown in Equation (1-11) using the order N of the electrical angle to be suppressed, the maximum rotational angular velocity ωmax in the rotational angular velocity ω used in the calculation in the cancellation calculator 20, the inductance L of the motor 1, and the maximum synthetic value i_sum_max in the synthetic value i_sum.
[0109] vq_clip = N·ωmax·L·i_sum_max … Equation (1-11)
[0110] Alternatively, the rotational angular velocity ω of the motor 1 may be input to the limiter 26, and the limit value vq_clip may be calculated using an equation in which the maximum rotational angular velocity ωmax in Equation (1-11) is replaced with the rotational angular velocity ω.
[0111] Also, considering Equation (1-9) in Equation (1-10), the following Equation (1-12) is obtained.
[0112] When (v_sum2 < -vq_clip), → vq_cancel = -vq_clip When (-vq_clip < v_sum2 < vq_clip), → vq_cancel = R·i_cancel2 + N·ω·L·(i_cancel + i_gairan) When (vq_clip < v_sum2), → vq_cancel = vq_clip … Equation (1-12)
[0113] As shown in equation (1-12), the limiter 26 limits the composite value v_sum2, which includes the sum of the disturbance suppression command value i_gairan and the torque pulsation suppression command value i_cancel multiplied by a coefficient including the rotational angular velocity ω of the motor, by the limit value vq_clip. Here, the limit value vq_clip is a value calculated based on the rotational angular velocity ω of the motor 1 and the electrical constant inductance L. In other words, the cancellation voltage command value vq_cacel is calculated based on the sum of the "disturbance suppression command value and torque pulsation suppression command value" after the limit.
[0114] The coordinate converter 10 outputs the cancellation voltage command value vq_cancel to the adder 14. The adder 14 adds the cancellation voltage command value vq_cancel to the fundamental wave command value vq and outputs the resulting fundamental wave command value vq' to the coordinate converter 10.
[0115] Here, the effects of the motor control device 100 according to Embodiment 1 will be explained. The voltage equation for the q-axis in motor 1 is expressed by the following equation (1-13). R is the resistance value of the winding resistance in motor 1. L is the inductance in motor 1. φ is the flux linkage in motor 1. s is the Laplace operator. Vq is the q-axis motor voltage. iq is the q-axis motor current. id is the d-axis motor current.
[0116] Vq=R·iq+sL·iq+ω(L·id+φ) …Formula (1-13)
[0117] Here, in equation (1-13), we assume that the motor current id = 0 (zero) and that there are no pulsating components in the flux linkage φ. In this case, we assume that the inductance L includes not only the DC component L_dc but also the 6th order electrical angle frequency component L_6f in the inductance L. In this case, we can express it as L = L_dc + L_6f, and equation (1-13) can be expressed as equation (1-14) below.
[0118] Vq=R·iq+s(L_dc+L_6f)·iq+ωφ…Formula (1-14)
[0119] In equation (1-14), consider the situation where motor 1 is rotating at high speed. In this case, the first term on the right-hand side of equation (1-14) is relatively small compared to the second term on the right-hand side and can be ignored. Also, when motor 1 is rotating at high speed, and the sixth-order electrical angular frequency component corresponding to it is greater than the response frequency of the q-axis current controller 93, and the manipulated amount by the q-axis current controller 93 corresponds to the d-axis motor voltage Vq, then the sixth-order electrical angular frequency component Vq_6f included in the d-axis motor voltage Vq is sufficiently small and can be considered as 0 (zero). Considering the above, equation (1-14) can be expressed as the following equation (1-15). iq_dc is the DC component included in the q-axis motor current iq. iq_6f is the sixth-order electrical angular frequency component included in the q-axis motor current iq. That is, iq = iq_dc + iq_6f.
[0120] Vq_6f≒0 ≒s(L_dc+L_6f)·(iq_dc+iq_6f) …Equation (1-15)
[0121] Solving equation (1-15) for the sixth-order electrical angle frequency component iq_6f included in the q-axis motor current iq yields equation (1-16).
[0122] iq_6f=―L_6f / L_dc·iq_dc …Formula (1-16)
[0123] In equation (1-16), the presence of L_6f generates an electrical angle sixth-order frequency component iq_6f included in the q-axis motor current iq. Here, if the electrical angle sixth-order frequency component is smaller than the response frequency in the q-axis current controller 93, feedback control is performed to make the frequency component iq_6f zero, and the frequency component iq_6f approaches zero. In other words, the electrical angle sixth-order frequency component Vq_6f is generated in the d-axis motor voltage Vq in such a way that the frequency component iq_6f is suppressed.
[0124] On the other hand, if this relationship is reversed and the 6th order electrical angle frequency component becomes larger than the response frequency in the q-axis current controller 93, the feedback control by the q-axis current controller 93 will no longer be able to suppress the frequency component iq_6f. As a result, the frequency component iq_6f corresponding to equation (1-16) will be supplied to the motor 1.
[0125] Thus, if the frequency of the frequency component iq_6f exceeds the control bandwidth of the current controller 9 due to fluctuations in the impedance of motor 1, the frequency component iq_6f shown in equation (1-16) will be reflected in the rotation of motor 1. In this embodiment, the q-axis motor current containing such a frequency component iq_6f is defined as a disturbance current due to impedance distortion. The q-axis motor current containing the frequency component iq_6f may also be referred to as the disturbance current iq_6f. The measurement results for the disturbance current iq_6f are shown in the upper part of Figures 7 and 8, respectively.
[0126] Based on this approach, in this embodiment, the disturbance suppression command value calculator 22 pre-generates a disturbance suppression amplitude table 220Tbl and a disturbance suppression phase table 221Tbl. The disturbance suppression command value calculator 22 calculates the amplitude and phase of the waveform obtained by inverting the disturbance current, as shown in the lower sections of Figures 7 and 8. As shown in Figure 9, for amplitude, the disturbance suppression command value calculator 22 creates a table that maps the amplitude values themselves, called the disturbance suppression amplitude table 220Tbl. Also, as shown in Figure 10, the disturbance suppression command value calculator 22 creates a table that maps the phase advanced by 90 degrees from the initial phase, called the disturbance suppression phase table 221Tbl. The disturbance suppression command value calculator 22 calculates the disturbance suppression command value i_gairan by referring to the disturbance suppression amplitude table 220Tbl and the disturbance suppression phase table 221Tbl based on the current command values id_ref and iq_ref. In the cancellation calculator 20, the amplitude of the composite value i_sum, which includes the disturbance suppression command value i_gairan, is multiplied by NωL. The term vq_cancel_d, which is part of the cancellation voltage command value vq_cancel and is caused by the disturbance suppression command value i_gairan, is expressed by the following equation (1-17).
[0127] vq_cancel_d=N·ω·L·i_gairan …Formula (1-17)
[0128] On the other hand, we will explain the voltage Vgairan required to cancel out the disturbance current iq_6f, which is expressed by equation (1-16). The impedance Z(N) in motor 1 for the frequency component of the Nth order of electrical angle is expressed by the following equation (1-18). j is a purely imaginary number, and the relationship j × j = -1 exists. The constant N is the order to be suppressed. The constant L is the inductance of motor 1. ω is the rotational angular velocity of motor 1. R is the resistance value of the winding resistance of motor 1.
[0129] Z(N)=R+j·NωL…Equation (1-18)
[0130] Furthermore, the voltage Vgairan required to cancel out the disturbance current iq_6f is expressed by the following equation (1-19). Z(N) is the impedance shown in equation (1-18). iq_6f is the disturbance current.
[0131] Vgairan=Z(N)·(-iq_6f) =(R+j·NωL)·iq_6f ≒j·NωL·(-iq_6f) …Equation (1-19)
[0132] In equation (1-19), the term for resistance R is omitted in the equations shown after "≒". This is because, in the region where the sixth-order electrical angle frequency component included in the q-axis motor current iq is sufficiently higher than the response frequency in the q-axis current controller 93, the influence of the winding resistance R in motor 1 is sufficiently small compared to NωL and can be ignored.
[0133] In equation (1-19), the voltage required to suppress the disturbance current iq_6f is obtained by advancing the phase of the current obtained by inverting the sign of the disturbance current iq_6f (-iq_6f) by 90 degrees and multiplying the amplitude by NωL. The reason for advancing the phase by 90 degrees is that the pure imaginary number j can be considered a shift arithmetic unit that shifts the phase by 90 degrees. Based on this, comparing equation (1-17) and equation (1-19), the disturbance suppression command value i_gairan is obtained by advancing the phase of the value obtained by inverting the sign of the disturbance current iq_6f by 90 degrees. Therefore, the disturbance suppression command value i_gairan corresponds to the term "j·(-iq_6f)" in equation (1-19). Thus, it is possible to say that equation (1-17) and equation (1-19) are equivalent.
[0134] Therefore, in this embodiment, by including an expression (1-17) containing a term that includes the disturbance suppression command value i_gairan calculated by the disturbance suppression command value calculator 22 in the expression (1-12) of the cancellation voltage command value vq_cancel, it becomes possible to suppress the influence of the disturbance current iq_6f.
[0135] Next, we will explain the effects of the torque pulsation suppression command values i_cancel and i_cancel2 output from the torque suppression command value calculator 21. The torque equation for motor 1 is expressed by the following equation (1-20). Kt is the torque constant. T is the torque. iq is the q-axis motor current.
[0136] T = Kt·iq …Equation (1-20)
[0137] However, in equation (1-20), the approximate torque T is shown assuming that the magnetic torque is greater than the reluctance torque in motor 1. In the case of a motor with a large proportion of reluctance torque, the torque equation including the d-axis motor current id can be applied.
[0138] In equation (1-20), assume that the torque constant Kt includes not only the DC component Kt_dc but also the sixth-order electrical angle frequency component Kt_6f. In this case, it can be expressed as Kt = Kt_dc + Kt_6f, and equation (1-20) can be expressed as equation (1-21) below.
[0139] T=Kt·iq =(Kt_dc+Kt_6f)·iq =(Kt_dc·iq+Kt_6f·iq …Equation (1-21)
[0140] In equation (1-21), when the q-axis motor current iq is constant, the first term on the right-hand side of equation (1-21) is the DC torque T_dc, and the second term on the right-hand side is the pulsating torque T_6f, which pulsates in the sixth order of electrical angles. If iq_dc is the DC component of the q-axis motor current iq, then when the q-axis motor current iq is constant, it can be expressed as iq_dc = iq. In this case, the pulsating torque T_6f in the second term on the right-hand side of equation (1-21) can be expressed by the following equation (1-22).
[0141] T_6f = Kt_6f·iq_dc …Equation (1-22)
[0142] On the other hand, when the q-axis motor current iq is defined as the DC component iq_dc plus a current pulsation component iq_t6f that pulsates in the sixth order of the electrical angle, equation (1-21) can be expressed as the following equation (1-23).
[0143] T=Kt·iq =(Kt_dc+Kt_6f)·(iq_dc+iq_t6f) ≒Kt_dc·iq_dc+Kt_6f·iq_dc+Kt_dc·iq_t6f ≈Kt_dc·iq+T_6f+Kt_dc·iq_t6f …Equation (1-23)
[0144] However, in equation (1-23), the term Kt_6f·iq_t6f is omitted in the equations shown after "≒". This is because the product of the sixth-order electrical angle frequency component Kt_6f and the current pulsation component iq_t6f in the torque constant Kt is sufficiently small and can be ignored.
[0145] Here, we consider the case where the current pulsation component iq_t6f is added to cancel out the second term on the right-hand side of equation (1-23), that is, the pulsating torque T_6f in equation (1-22), and make the torque T constant. In this case, it is sufficient that the second term on the right-hand side of equation (1-23) + the third term on the right-hand side = 0. That is, T_6f + Kt_dc·iq_t6f = 0. Solving this for the current pulsation component iq_t6f, the current pulsation component iq_t6f is expressed by the following equation (1-24).
[0146] iq_t6f = -T_6f / Kt_dc …Equation (1-24)
[0147] As shown in equation (1-24), if the torque cancellation current iq_t6f, which is the sixth-order electrical angle frequency component in the q-axis motor current iq, can be set to 0 (zero) and torque pulsation can be suppressed.
[0148] Based on this approach, in this embodiment, the torque suppression command value calculator 21 pre-generates a torque suppression amplitude table 210Tbl and a torque suppression phase table 211Tbl. As shown in the lower sections of Figures 3 and 4, the torque suppression command value calculator 21 calculates the amplitude and phase of the waveform obtained by inverting the torque pulsation waveform and multiplying it by 1 / Kt. As shown in Figure 5, for the amplitude, the torque suppression command value calculator 21 creates a table that maps the amplitude values themselves, which is called the torque suppression amplitude table 210Tbl. Also, as shown in Figure 6, for the phase, the torque suppression command value calculator 21 creates a table that maps the phase advanced by 90 degrees from the initial phase, which is called the torque suppression phase table 211Tbl. Based on the current command values id_ref and iq_ref, the torque suppression command value calculator 21 calculates the disturbance suppression command value i_gairan by referring to the torque suppression amplitude table 210Tbl and the torque suppression phase table 211Tbl. In the cancellation calculator 20, the amplitude of the composite value i_sum, which includes the torque pulsation suppression command value i_cancel, is multiplied by NωL. The term vq_cancel_T, which is part of the cancellation voltage command value vq_cancel and is due to the torque pulsation suppression command values i_cancel and i_cancel2, is expressed by the following equation (1-25).
[0149] vq_cancel_T=R·i_cancel2+N·ω·L·i_cancel …Formula (1-25)
[0150] On the other hand, we will explain the voltage Vtorque required to supply the torque cancellation current iq_t6f, as expressed by equation (1-24). The impedance Z(N) in motor 1 for the frequency component of the Nth order of electrical angle is expressed by equation (1-26) using equation (1-18) above. j is a purely imaginary number. The constant N is the order to be suppressed. The constant L is the inductance of motor 1. ω is the rotational angular velocity of motor 1. R is the resistance value of the winding resistance of motor 1.
[0151] Vtorque=Z(N)·iq_t6f =(R+j·NωL)·iq_t6f =R·iq_t6f+j·NωL·iq_t6f… Equation (1-26)
[0152] Here, if we assume that the torque cancellation current iq_t6f_90 is a signal obtained by advancing its phase by 90 degrees without changing its amplitude, then equation (1-26) can be expressed as equation (1-27).
[0153] Vtorque=R·iq_t6f+j·NωL·iq_t6f =R·iq_t6f+NωL·iq_t6f_90… Equation (1-27)
[0154] Comparing equations (1-25) and (1-27), the torque cancellation current iq_t6 is equal to the torque pulsation suppression command value i_cancel2. Furthermore, the current iq_t6f_90, obtained by advancing the phase of the torque cancellation current iq_t6 by 90 degrees, is equal to the torque pulsation suppression command value i_cancel. Therefore, it can be concluded that equations (1-25) and (1-27) are equivalent.
[0155] Therefore, in this embodiment, by including equation (1-25), which contains terms including the torque pulsation suppression command values i_cancel and i_cancel2 calculated by the torque suppression command value calculator 21, in equation (1-12) of the cancellation voltage command value vq_cancel, the sixth-order electrical angle frequency component included in the motor current can be made to match the cancellation current. This has the effect of reducing the torque ripple component caused by the pulsation of the torque constant Kt in the motor 1.
[0156] Here, in FIG. 1, the adder 15 adds the torque ripple suppression command value i_cancel2 to the current command value iq_ref. As a result, in a region where the frequency of the current command value iq_ref2 is smaller than the control band of the q-axis current controller 93, the q-axis current controller 93 causes the q-axis motor current iq to match iq_ref2 = iq_ref + i_cancel2. On the other hand, in a region where the frequency of the current command value iq_ref2 is larger than the control band of the q-axis current controller 93, it is difficult for the q-axis current controller 93 to make the q-axis motor current iq match iq_ref2 = iq_ref + i_cancel2. Even in this case, the adder 14 adds the cancel voltage command value vq_cancel to the fundamental wave command value vq. Thereby, the term of Equation (1-25) can be included in the fundamental wave command value vq. Therefore, the feedforward control works, and as a result, the q-axis motor current iq matches iq_ref2 = iq_ref + iq_cancel2. For this reason, the pulsation component of the torque is reduced.
[0157] Also, in a region where the frequency component of the electrical angle 6th order becomes larger than the response frequency of the q-axis current controller 93 and the effect of the cancel voltage command value vq_cancel is expected, when R << NωL holds, it can be said that there is little difference in the effect even if the term of "R·i_cancel2" in the expression (1-12) representing the cancel voltage command value vq_cancel is omitted.
[0158] As described above, in Embodiment 1, the motor control device 100 includes a cancel arithmetic unit 20. The cancel arithmetic unit 20 calculates a cancel voltage command value vq_cancel. The cancel voltage command value suppresses the disturbance current caused by the impedance distortion in the motor 1 and suppresses the torque ripple caused by the pulsation of the torque constant Kt in the motor 1. Therefore, the motor control device 100 according to Embodiment 1 can reduce the torque ripple in the motor 1, particularly in the high-speed rotation range.
[0159] [Modification Example of Embodiment 1] Here, a modification of Embodiment 1 will be described. In Embodiment 1, the case in which the torque suppression command value calculator 21 and the disturbance suppression command value calculator 22 in the cancellation calculator 20 perform calculations based on the current command values id_ref and iq_ref was described as an example. However, it is not limited to this. In the calculations of the torque suppression command value calculator 21 and the disturbance suppression command value calculator 22 in the cancellation calculator 20, the d-axis motor current id may be used instead of the current command value id_ref. Also, the cancellation calculator 20 may use the q-axis motor current iq instead of the current command value iq_ref.
[0160] Furthermore, when the motor currents id and iq are transformed into fixed two-axis currents iα and iβ, they can be expressed by the following equations (1-28) and (1-29).
[0161] iα=cos(θ)·id-sin(θ)·iq …Equation (1-28) iβ=-sin(θ)·id-cos(θ)·iq…Equation (1-29)
[0162] As shown in equations (1-28) and (1-29), in the calculations of the torque suppression command value calculator 21 and the disturbance suppression command value calculator 22, instead of inputting current command values id_ref and iq_ref, a configuration in which fixed biaxial currents iα and iβ, or command values iα_ref and iβ_ref for fixed biaxial currents, may be used.
[0163] Furthermore, by transforming the expression of fixed two-axis currents iα and iβ in the motor current to fixed three-phase currents iu, iv, and iw, we obtain the following equations (1-30) to (1-32).
[0164] iu = (2 / 3) 0.5 ·iα …Equation (1-30) iv = (2 / 3) 0.5 ·(-0.5·iα+3 0.5 / 2·iβ)…Equation (1-31) iw = (2 / 3) 0.5 ·(-0.5·iα-3 0.5 / 2·iβ)…Formula (1-32)
[0165] As shown in equations (1-30) to (1-31), in the calculations performed by the torque suppression command value calculator 21 and the disturbance suppression command value calculator 22, instead of inputting current command values id_ref and iq_ref, it is also possible to input command values iu_ref, iv_ref and iw_ref for fixed three-phase currents iu, iv, and iw, or for fixed three-axis currents.
[0166] Furthermore, if the current command values id_ref and iq_ref are expressed as vectors, and their magnitude Iamp_ref and phase β_ref indicating the direction of the vector are expressed as follows: equations (1-33) and (1-34). Here, phase β_ref is the phase (angle) in the -d axis direction with respect to the q axis.
[0167] Iamp_ref=(id_ref2+iq_ref2) 0.5 ...Formula (1-33) β_ref=atan(-id_ref / iq_ref) …Formula (1-34)
[0168] As shown in equations (1-33) and (1-34), in the calculations performed by the torque suppression command value calculator 21 and the disturbance suppression command value calculator 22, instead of inputting current command values id_ref and iq_ref, it is also possible to input a command value Iamp_ref indicating the vector magnitude (absolute value) and a command value β_ref indicating the phase in the vector. Alternatively, instead of inputting motor currents id and iq, it is also possible to input a command value Iamp indicating the vector magnitude (absolute value) and a command value β indicating the phase in the vector.
[0169] Each of equations (1-28) to (1-34) represents a difference in expression of the motor current or motor current command value (current command value). Ultimately, the "current command value id_ref,iq_ref" or "motor current id,iq" is expressed differently and reflected in the results of calculations performed by the torque suppression command value calculator 21 and the disturbance suppression command value calculator 22. Therefore, in Embodiment 1, as shown in Figures 3 and 4, it is possible to calculate a torque pulsation suppression command value that can respond to fluctuating torque pulsations when the q-axis motor current iq is kept the same (Iq=Iq1) and the d-axis motor current is changed to create current conditions (Iq=Iq1,Id2). Furthermore, as shown in Figures 7 and 8, it is possible to construct feedforward control for disturbance suppression command values that can respond to the effects of fluctuating disturbances when the q-axis motor current iq is kept the same (Iq=Iq1) and the d-axis motor current is changed to create current conditions (Iq=Iq1,Id2). Therefore, it becomes possible to suppress torque pulsation by feedforward control that takes into account even the high-speed rotation region, which is difficult to address with maps corresponding to torque command Tm*, such as those described in Patent Document 1 (Patent No. 6760197).
[0170] Furthermore, in operating regions where noise and vibration in motor 1 are problematic, the addition of the torque pulsation suppression command value i_cancel2 by the adder 15 is not essential under the condition that the sixth-order electrical angular frequency component is greater than the response frequency of the q-axis current controller 93. In other words, the adder 15 is not an essential component in Embodiment 1. Even in a configuration where the torque pulsation suppression command value i_cancel2 is not added to the current command value iq_ref, when the sixth-order electrical angular frequency component is greater than the response frequency of the q-axis current controller 93, the torque pulsation in motor 1 can be reduced by adding the cancellation voltage command value vq_cancel to the fundamental wave command value vq. Therefore, it becomes possible to reduce noise and vibration.
[0171] This disclosure is particularly characterized by its ability to suppress torque pulsation in the motor 1 and contribute to noise and vibration reduction by adding a cancellation voltage command value vq_cance in the region where the sixth-order electrical angle frequency component is greater than the response frequency in the q-axis current controller 93. This disclosure is highly effective when applied to motor control of steering systems such as electric power steering and steer-by-wire. In motor control of steering systems such as electric power steering and steer-by-wire, there is a demand to miniaturize the product to improve mountability, and in many cases, known lower arm 3 shunt current detection methods or busbar 1 shunt current detection methods are applied as current detectors 3 used to detect the current flowing through the motor 1. Although these current sensors are excellent in terms of miniaturization, they are constrained by the switching pattern in the inverter 5 in terms of the ability and accuracy of current detection. In particular, when the voltage utilization rate of the inverter 5 is high, the accuracy of current detection often decreases. When the voltage utilization rate is high, that is, when the rotational angular velocity of motor 1 is large, it is desirable to avoid the q-axis current controller 93 mistakenly providing feedback control to compensate for detection errors caused by a decrease in the accuracy of current detection. For this reason, the response frequency of the q-axis current controller 93 is limited, which leads to the problem of torque pulsation caused by fluctuations in the aforementioned disturbance current and torque constant. In contrast, this disclosure makes it possible to reduce torque pulsation, noise, and vibration in motor 1 by adding the cancellation voltage command value vq_cancel to the fundamental wave command value vq in the region where the sixth-order electrical angular frequency component is greater than the response frequency of the q-axis current controller 93. Furthermore, it is possible to achieve both miniaturization and cost reduction by using either the lower arm 3 shunt current detection method or the busbar 1 shunt current detection method. For these reasons, this disclosure is particularly effective when applied to motor control of steering systems such as electric power steering and steer-by-wire.
[0172] [Embodiment 2] Here, Embodiment 2 will be described. This embodiment differs from Embodiment 1 in that the motor control device 100 is equipped with a current command value calculator 7b. In the following, the configurations that differ from Embodiment 1 will be mainly described, and similar configurations will be denoted by the same reference numerals and their descriptions will be omitted.
[0173] Figure 11 is a block diagram showing the configuration of the motor control device 100 according to Embodiment 2. In this embodiment, the motor control device 100 includes a current command value calculator 7b. The current command value calculator 7b calculates current command values id_ref,iq_ref' based on the rotational angular velocity ω of the motor 1, the detected value Vdc_detect of the DC bus voltage Vdc output from the DC power supply 4, the previously calculated values vd_z,vq_z of the fundamental wave command values vd,vq, and the torque command T_ref.
[0174] Figure 12 is a block diagram showing the configuration of the current command value calculator 7b. The current command value calculator 7b comprises an amplifier 70, a flux weakening current calculator 71, and a q-axis current limiter 72. The amplifier 70 outputs a current command value iq_ref obtained by multiplying the torque pulsation suppression command value i_cancel by "1 / Kt". Kt is the torque constant.
[0175] The q-axis current limiter 72 limits the current command value iq_ref so that the voltage utilization rate in the inverter 5 becomes the desired value m_ideal, based on the previously calculated values vd_z, vq_z, the current command value iq_ref, and the detected value Vdc_detect. The q-axis current limiter 72 outputs the limited current command value iq_ref'.
[0176] Figure 13 is a block diagram showing the configuration of the q-axis current limiter 72. The q-axis current limiter 72 comprises a multiplier 720, a multiplier 721, an adder 722, a square root operator 723, an amplifier 724, a subtractor 725, an integrator 726, a limiter 727, and a subtractor 728.
[0177] The multiplier 720 squares the previous d-axis calculation value vd_z and outputs the squared value (vd_z)·(vd_z) to the adder 722. The multiplier 721 squares the previous q-axis calculation value vq_z and outputs the squared value (vq_z)·(vq_z) to the adder 722. The adder 722 adds the squared value (vd_z)·(vd_z) output from the multiplier 720 and the squared value (vq_z)·(vq_z) output from the multiplier 721, and outputs the added value Vdq2 to the square root calculator 723. Vdq2 = (vd_z)·(vd_z) + (vq_z)·(vq_z). The physical meaning of the added value Vdq2 is "the square of the effective value of the line voltage of the fundamental wave command values vd and vq". The square root calculator 723 calculates the square root of the added value Vdq2, which is the effective value of the line voltage (Vdq2) 0.5 and outputs it to the subtractor 725.
[0178] The amplifier 724 calculates the limit value Vlim which is the detected value Vdc_detect multiplied by the gain {m_ideal / Sqrt(2)}. m_ideal is the voltage utilization rate command value. By setting an appropriate value for m_ideal, it is possible to control such that the value obtained by adding the cancel voltage command value vq_cancel to the fundamental wave command value vq in the subsequent adder 14 does not exceed the upper limit value that the inverter 5 can output. The subtractor 725 outputs the deviation err obtained by subtracting the limit value Vlim from the effective value of the line voltage (Vdq2) 0.5 to the integrator 726. err = (Vdq2) 0.5 - Vlim. If the sign of the deviation err is positive, it means that the voltage is exceeded, that is, the fundamental wave command values vd and vq are greater than the voltage utilization rate command value m_ideal. If the sign of the deviation err is negative, it means that the voltage is not exceeded, that is, the fundamental wave command values vd and vq are less than or equal to the voltage utilization rate command value m_ideal.
[0179] The integrator 726 integrates the deviation err and outputs the integrated value err_sekibun multiplied by the gain (K / S) to the subtracter 728. The gain (K / S) is set to have a response necessary to improve voltage overshoot. The subtracter 728 outputs the threshold Iq_clip obtained by subtracting the sign of the integrated value err_sekibun from the q-axis rated current Iq_teikaku to the limiter 727. Iq_clip = Iq_teikaku - err_sekibun. The limiter 727 limits the absolute value of the q-axis current command value iq_ref so that it does not exceed the threshold Iq_clip. The limiter 727 outputs the q-axis current command value iq_ref’ after the limit. The limiter 727 performs limiting according to the following cases.
[0180] When (iq_ref < -iq_clip), → iq_ref’ = -iq_clip When (-iq_clip < iq_ref < iq_clip), → iq_ref’ = iq_ref When (iq_clip < iq_ref), → iq_ref’ = iq_clip
[0181] Here, the operation of the q-axis current limiter 72 will be described. When the sign of the deviation err is positive and the fundamental wave command value is greater than the voltage utilization rate command value m_ideal, the deviation err_sekibun increases. In this case, the threshold Iq_clip decreases, and the q-axis current command value iq_ref is limited to a smaller value. This acts in a direction to eliminate the excess of the fundamental wave command value with respect to the voltage utilization rate command value m_ideal. When the deviation err output from the integrator 726 coincides with 0 (zero), the deviation err_sekibun becomes constant, and as a result, the threshold Iq_clip settles at a constant value. At that time, since the deviation err is 0 (zero), the voltage utilization rate of the fundamental wave command value coincides with the voltage utilization rate command value m_ideal. Therefore, even when driving is performed with a large rotational angular velocity in the motor 1 and a large q-axis fundamental wave command value vq, it becomes possible to add the cancel voltage command value vq_cancel to the fundamental wave command value.
[0182] Returning to Figure 12, the flux weakening current calculator 71 performs flux weakening control. The specific method for performing flux weakening control is omitted as it is a known technique. The flux weakening current calculator 71 outputs a d-axis current command value id_ref based on the q-axis current command value iq_ref, the detected value Vdc_detect, and the rotational angular velocity ω of the motor 1. The flux weakening current calculator 71 calculates a d-axis current command value id_ref such that the voltage utilization rate in the inverter 5 is limited to the voltage utilization rate command value m_ideal. However, in order to avoid permanent demagnetization in the motor 1, the flux weakening current calculator 71 performs flux weakening control so that the d-axis current command value id_ref does not exceed the upper limit value id_max.
[0183] Here, the operation and effects of the current command value calculator 7b will be explained using Figure 14. Figure 14 is a diagram illustrating the processing performed by the q-axis current limiter 72 according to Embodiment 2. The upper part of Figure 14 shows the time-series change of motor current id,iq [A]. The middle part of Figure 14 shows the time-series change of the rotational speed N [rpm] of motor 1. The lower part of Figure 14 shows the time-series change of voltage utilization rate [%].
[0184] As shown in the upper part of Figure 14, assume that at time t=0 (zero), the current command values iq_ref=Iq1, id_ref=0 are set. In this case, as shown in the middle part of Figure 14, the rotational angular velocity ω of motor 1 increases during the time from t=0 (zero) to t1. As the rotational angular velocity ω increases, as shown in the lower part of Figure 14, the induced voltage in motor 1 increases and the voltage utilization rate m increases.
[0185] As shown in the lower part of Figure 14, when the voltage utilization rate m reaches the voltage utilization rate command value m_ideal at time t=t1, the flux weakening control by the flux weakening current calculator 71 is activated, increasing the d-axis current command value id_ref to the negative side, and as shown in the upper part of Figure 14, the d-axis current command value id_ref becomes a negative value, and the absolute value of the d-axis current command value id_ref increases. As a result, as shown in the lower part of Figure 14, the voltage utilization rate m is maintained at the voltage utilization rate command value m_ideal. However, at time t=t2, as shown in the upper part of Figure 14, the current command value id_ref reaches id_max, and it becomes difficult to increase i, the absolute value of the current command value id_ref, any further.
[0186] Here, as shown in the dotted line portion of the upper part of Figure 14, labeled "Control OFF," if the limiting by the q-axis current limiter 72 is not performed, the current command value iq_ref is maintained at a constant value iq1. In this case, as shown in the dotted line portion of the lower part of Figure 14, labeled "Control OFF," the voltage utilization rate m increases and reaches 100%. In this case, the upper limit voltage that can be output from the inverter 5 and the motor voltage corresponding to the fundamental wave command value become the same voltage, so the cancellation voltage command value vq_cancel cannot be added.
[0187] On the other hand, as shown in the dashed-dotted line portion of the upper part of Figure 14, "Control ON," when the limiting by the q-axis current limiter 72 is performed, the current command value iq_ref decreases so that the voltage utilization rate in the fundamental wave command value is limited to the voltage utilization rate command value m_ideal. In this case, as shown in the dashed-dotted line portion of the lower part of Figure 14, "Control ON," the voltage utilization rate m does not increase, and the voltage utilization rate is maintained at m_ideal. In this case, since the motor voltage corresponding to the fundamental wave command value is smaller than the upper limit voltage that can be output from the inverter 5, the cancellation voltage command value vq_cancel can be added.
[0188] In this disclosure, the voltage utilization rate m in the fundamental wave command value is limited so that it does not exceed a predetermined value. This makes it possible to drive the motor 1 at an operating point below the set voltage utilization rate m_ideal with respect to the voltage limit circle based on the DC bus voltage Vdc that can be output from the inverter 5. Therefore, in particular, the cancellation voltage command value vq_cancel can be added in the region of high motor rotation speed. As a result, problems such as torque ripple, vibration, and noise in the motor 1 can be reduced.
[0189] [Modified version of Embodiment 2] Here, a modified example of Embodiment 2 will be described using Figure 15. Figure 15 is a diagram illustrating the processing performed by the q-axis current limiter according to the modified example of Embodiment 2. In Embodiment 2, the voltage utilization rate in the fundamental wave command value is limited so as not to exceed a predetermined voltage utilization rate command value m_ideal. However, it is not limited to this. The fundamental wave command value may be controlled so that the operating point is obtained by subtracting a predetermined "voltage value" from the DC bus voltage Vdc of the inverter 5.
[0190] As shown in Figure 15, in the q-axis current limiter 72 according to this modified example, an amplifier 724a and a subtractor 724b are provided instead of the amplifier 724 of the q-axis current limiter 72 in Figure 13. Amplifier 724a outputs a value obtained by multiplying the detected value Vdc_detect by a gain of {1l / Sqrt(2)} to the subtractor 274b. In other words, amplifier 724a outputs {Vdc_detect / sqrt(2)} to the subtractor 274b. The subtractor 274 outputs a value obtained by subtracting a predetermined voltage value ΔV from the value output from amplifier 724a as the limit value Vlim to the subtractor 725. That is, in this modified example, Vlim = Vdc_detect / sqrt(2) - ΔV. As already explained, the current command value iq_ref is controlled so that the square root of Vdq2 matches Vlim. Therefore, in this modified example, the fundamental wave command value vq operates at an operating point that has a voltage margin of a predetermined voltage value ΔV. This makes it possible to add the cancellation voltage command value vq_cancel to the fundamental wave command value even when the motor 1 is rotated at high speed, similar to Embodiment 2.
[0191] [Embodiment 3] Embodiment 3 will now be described. This embodiment differs from Embodiments 1 and 2 in that it includes a cancellation calculator 30 instead of a cancellation calculator 20. In the following, the configurations that differ from Embodiments 1 and 2 will be mainly described, and similar configurations will be denoted by the same reference numerals and their descriptions will be omitted.
[0192] Figure 16 is a block diagram showing the configuration of the motor control device 100 according to Embodiment 3. In this embodiment, the motor control device 100 includes a cancellation calculator 30. The cancellation calculator 30 includes a torque suppression command value calculator 31, a torque and disturbance suppression command value calculator 32, a multiplier 34, an adder 35, a limiter 36, an amplifier 37, and an amplifier 38.
[0193] The torque suppression command value calculator 31 calculates the torque pulsation suppression command value i_cancel2 based on the current command values id_ref, iq_ref and the rotor position θ. The torque suppression command value calculator 31 differs from the torque suppression command value calculator 21 in that it does not calculate the torque pulsation suppression command value i_cancel. The method by which the torque suppression command value calculator 31 calculates the torque pulsation suppression command value i_cancel2 is the same as the method by which the torque suppression command value calculator 21 calculates the torque pulsation suppression command value i_cancel2, so its explanation is omitted.
[0194] The torque and disturbance suppression command value calculator 32 calculates the torque and disturbance suppression command value i_cancel_gairan based on the current command values id_ref, iq_ref and the rotor position θ. The torque and disturbance suppression command value i_cancel_gairan corresponds to the composite value i_sum output from the adder 23 of the cancellation calculator 20. The torque and disturbance suppression command value i_cancel_gairan is expressed by the following equation (3-1).
[0195] i_cancel_gairan=i_cancel+i_gairan...Formula (3-1)
[0196] The torque and disturbance suppression command value calculator 32 comprises a torque and disturbance suppression command amplitude calculator 320 and a torque and disturbance suppression command phase calculator 321. The torque and disturbance suppression command amplitude calculator 320 calculates the amplitude i_ca_ga_amp. The amplitude i_ca_ga_amp is the amplitude value of the torque and disturbance suppression command value i_cancel_gairan according to the current conditions. The method for calculating the amplitude i_ca_ga_amp will be described below.
[0197] The torque and disturbance suppression command amplitude calculator 320 calculates the amplitude i_ca_ga_amp(Id(i),Iq(j)) under current conditions (Id(i),Iq(j)), where i is any integer from 1 to M, and j is any integer from 1 to N.
[0198] The torque and disturbance suppression command amplitude calculator 320 refers to the torque suppression amplitude table 210Tbl and obtains the amplitude i_ca_amp(Id(i),Iq(j)) of the current command value for suppressing torque pulsation, corresponding to the current conditions (Id(i),Iq(j)). The torque and disturbance suppression command amplitude calculator 320 refers to the torque suppression phase table 211Tbl and obtains the phase i_ca_ph(Id(i),Iq(j)) of the current command value for suppressing torque pulsation, corresponding to the current conditions (Id(i),Iq(j)).
[0199] Furthermore, the torque and disturbance suppression command amplitude calculator 320 refers to the disturbance suppression amplitude table 220Tbl and obtains the amplitude i_ga_amp(Id(i),Iq(j)) of the current command value for suppressing the effects of disturbances, corresponding to the current conditions (Id(i),Iq(j)). The torque and disturbance suppression command amplitude calculator 320 also refers to the disturbance suppression phase table 221Tbl and obtains the phase i_ga_ph(Id(i),Iq(j)) of the current command value for suppressing the effects of disturbances, corresponding to the current conditions (Id(i),Iq(j)).
[0200] Using these, the torque and disturbance suppression command amplitude calculator 320 calculates the amplitude i_ca_ga_amp using the following equation (3-2).
[0201] i_ca_ga_amp(Id(i),Iq(j)) ={(A+B) 2 +(C+D) 2} 0.5 …Formula (3-2) however, A = A1 · cos(A2) B = B1 · cos(B2) C = A1·sin(A2) D = B1·sin(B2) A1=i_ca_amp(Id(i),Iq(j) A2=i_ca_ph(Id(i),Iq(j)) B1=i_ga_amp(Id(i),Iq(j) B2 = i_ga_ph(Id(i), Iq(j))
[0202] The torque and disturbance suppression command amplitude calculator 320 pre-calculates the amplitude i_ca_ga_amp under various current conditions that are expected to be applied to the motor 1, and stores the calculated amplitude i_ca_ga_amp in the torque and disturbance suppression amplitude table 320Tbl.
[0203] Figure 17 shows an example of an amplitude table according to Embodiment 3. Figure 17 shows an example of a torque and disturbance suppression amplitude table 320Tbl. The torque and disturbance suppression amplitude table 320Tbl stores amplitudes i_ca_ga_amp according to the current conditions.
[0204] The torque and disturbance suppression command phase calculator 321 calculates the phase i_ca_ga_ph according to the current conditions. The phase i_ca_ga_ph is the initial phase of the torque and disturbance suppression command value i_cancel_gairan. The method for calculating the phase i_ca_ga_ph is described below.
[0205] The torque and disturbance suppression command phase calculator 321 calculates the phase i_ca_ga_ph(Id(i),Iq(j)) under the current condition (Id(i),Iq(j)). i is any integer from 1 to M. j is any integer from 1 to N.
[0206] The torque and disturbance suppression command phase calculator 321 refers to the torque suppression amplitude table 210Tbl and obtains the amplitude i_ca_amp(Id(i),Iq(j)) of the current command value for suppressing torque pulsation, corresponding to the current condition (Id(i),Iq(j)). The torque and disturbance suppression command amplitude calculator 320 refers to the torque suppression phase table 211Tbl and obtains the phase i_ca_ph(Id(i),Iq(j)) of the current command value for suppressing torque pulsation, corresponding to the current condition (Id(i),Iq(j)).
[0207] Furthermore, the torque and disturbance suppression command phase calculator 321 refers to the disturbance suppression amplitude table 220Tbl and obtains the amplitude i_ga_amp(Id(i),Iq(j)) of the current command value for suppressing the effects of disturbances, corresponding to the current conditions (Id(i),Iq(j)). The torque and disturbance suppression command amplitude calculator 320 refers to the disturbance suppression phase table 221Tbl and obtains the phase i_ga_ph(Id(i),Iq(j)) of the current command value for suppressing the effects of disturbances, corresponding to the current conditions (Id(i),Iq(j)).
[0208] Using these, the torque and disturbance suppression command phase calculator 321 calculates the phase i_ca_ga_ph using the following equation (3-3).
[0209] i_ca_ga_ph(Id(i),Iq(j)) =ATAN2{(A+B),(C+D)}+90 …Formula (3-3) however, A = A1 · cos(A2) B = B1 · cos(B2) C = A1·sin(A2) D = B1·sin(B2) A1=i_ca_amp(Id(i),Iq(j) A2=i_ca_ph(Id(i),Iq(j)) B1=i_ga_amp(Id(i),Iq(j) B2 = i_ga_ph(Id(i), Iq(j))
[0210] The torque and disturbance suppression command phase calculator 321 pre-calculates the phase i_ca_ga_ph under various current conditions that are expected to be applied to the motor 1, and stores the calculated phase i_ca_ga_ph in the torque and disturbance suppression phase table 321Tbl.
[0211] Figure 18 is a diagram showing an example of a phase table according to Embodiment 3. Figure 18 shows an example of a torque and disturbance suppression phase table 321Tbl. The torque and disturbance suppression phase table 321Tbl stores the phase i_ca_ga_ph according to the current conditions.
[0212] Figure 19 is a diagram illustrating the processing performed by the torque and disturbance suppression command phase calculator 321 according to Embodiment 3. Figure 19 shows coordinates for illustrating the calculation of ATAN2. As shown in Figure 19, θ[deg] = ATAN2(X,Y).
[0213] When motor 1 is rotating, the torque and disturbance suppression command amplitude calculator 320 receives the current command values id_ref and iq_ref as input. Based on the input current command values id_ref and iq_ref, the torque and disturbance suppression command amplitude calculator 320 refers to the torque and disturbance suppression amplitude table 320Tbl and obtains the amplitude i_ca_ga_amp(id_ref,iq_ref) corresponding to the current conditions (id_ref,iq_ref). The torque and disturbance suppression command amplitude calculator 320 outputs the obtained amplitude i_ca_ga_amp(id_ref,iq_ref) as the amplitude i_ca_ga_amp of the current command value for suppressing torque and the effects of disturbances in motor 1.
[0214] The torque and disturbance suppression command amplitude calculator 320 may also calculate the amplitude i_ca_ga_amp by performing linear interpolation. For example, the torque and disturbance suppression command amplitude calculator 320 calculates the amplitude i_ca_ga_amp using linear interpolation when the current command value iq_ref in the current condition for which the amplitude is to be calculated is a current value that is midway between the motor currents Iq1 and Iq2 in the torque and disturbance suppression amplitude table 320Tbl.
[0215] When motor 1 is rotating, the torque and disturbance suppression command phase calculator 321 receives current command values id_ref and iq_ref as input. Based on the input current command values id_ref and iq_ref, the torque and disturbance suppression command phase calculator 321 refers to the torque and disturbance suppression phase table 321Tbl and obtains the phase i_ca_ga_ph(id_ref,iq_ref) corresponding to the current conditions (id_ref,iq_ref). The torque and disturbance suppression command phase calculator 321 outputs the obtained phase i_ca_ga_ph(id_ref,iq_ref) as the phase i_ca_ga_ph of the current command value for suppressing torque and the effects of disturbances in motor 1.
[0216] The torque and disturbance suppression command phase calculator 321 may calculate the phase i_ca_ga_ph by performing linear interpolation. For example, the torque and disturbance suppression command phase calculator 321 calculates the phase i_ca_ga_ph using linear interpolation when the current command value iq_ref in the current condition for which the phase is to be calculated is a current value that is midway between the motor currents Iq1 and Iq2 in the torque and disturbance suppression phase table 321Tbl.
[0217] The amplitude i_ca_ga_amp, expressed by equation (3-2), and the phase i_ca_ga_ph, expressed by equation (3-3), are complex, but the phase and amplitude can be calculated in advance and stored in a table. It is not necessary to calculate the amplitude i_ca_ga_amp and phase i_ca_ga_ph each time the cancellation voltage command value vq_cancel is calculated by the cancellation calculator 20. Therefore, as in Embodiment 1, it is not necessary to calculate the amplitude and phase of the combined value i_sum (=torque and disturbance suppression command value i_cancel_gairan) each time the cancellation voltage command value vq_cancel is calculated.
[0218] Furthermore, as described in Embodiment 1, in operating regions where noise and vibration in the motor 1 are problematic, the addition of the torque pulsation suppression current iq_cancel2 in the adder 15 is not mandatory under the condition that the 6th-order electrical angle frequency component is greater than the response frequency in the q-axis current controller 93. Even in a configuration where the torque pulsation suppression command value i_cancel2 is not added to the current command value iq_ref, when the 6th-order electrical angle frequency component is greater than the response frequency in the q-axis current controller 93, the torque pulsation in the motor 1 can be reduced by adding the cancellation voltage command value vq_cancel to the fundamental wave command value vq. Therefore, it is possible to reduce noise and vibration. In addition, in this embodiment, since only calculations using torque and the disturbance suppression command value i_cancel_gairan output from the disturbance suppression command value calculator 32 are performed by the cancellation calculator 30, further calculation reduction is possible compared to Embodiment 1.
[0219] [Embodiment 4] Here, Embodiment 4 will be described. This embodiment differs from Embodiments 1 to 3 described above in that the d-axis cancellation voltage command value vd_cancel is added to the d-axis fundamental wave command value vd. In the following, the configurations that differ from Embodiments 1 and 2 will be mainly described, and similar configurations will be denoted by the same reference numerals and their descriptions will be omitted.
[0220] Figure 20 is a block diagram showing the configuration of the motor control device 100 according to Embodiment 4. In this embodiment, the controller 6 of the motor control device 100 includes a multiplier 18a, an amplifier 18b, and an adder 18c.
[0221] The adder 18c adds the d-axis fundamental wave command value vd_cancel (described later) to the d-axis fundamental wave command value vd output from the current controller 9, and outputs the resulting fundamental wave command value vd'. The d-axis cancellation voltage command value vd_cancel is expressed by the following equation (4-1), where ω is the rotational angular velocity ω of motor 1, and L is the inductance of motor 1.
[0222] vd_cancel=-ω·L·i_cancel2… Formula (4-1)
[0223] The process of deriving the d-axis cancellation voltage command value vd_cancel shown in equation (4-1) will be explained in detail. Amplifier 17 outputs a value (ωL) obtained by multiplying the rotational angular velocity ω output from speed calculator 12 by a constant L to multiplier 18a. Multiplier 18a outputs a value obtained by multiplying the torque pulsation suppression command value i_cancel2 output from cancellation calculator 30 by ωL to amplifier 18b. Amplifier 18b multiplies the value output from multiplier 18a by -1 and outputs it to adder 18c.
[0224] The coordinate converter 10 performs a coordinate transformation on the fundamental wave command values vd' and vq' after adding the cancellation voltage command value, and outputs the three-phase fundamental wave command values vu, vv, and vw.
[0225] The following explains the effect of adding the d-axis cancellation voltage command value vd_cancel to the d-axis fundamental wave command value vd. The fundamental wave command value vd' after adding the cancellation voltage command value is expressed by the following equation (4-2).
[0226] vd'=vd+vd_cancel =vd―ω·L·i_cancel2… Formula (4-2)
[0227] Here, if the sixth-order electrical frequency component becomes larger than the response frequency in the d-axis current controller 91, the fundamental wave command value vd does not include the sixth-order electrical frequency component. Therefore, in this embodiment, the cancellation voltage command value vd_cancel is added to the fundamental wave command value vd of the d-axis. As a result, the fundamental wave command value of the d-axis oscillates at the sixth-order electrical frequency, resulting in a waveform that matches i_cancel2. Consequently, torque ripple in the motor 1 is reduced, and vibration and noise can be reduced.
[0228] This disclosure is not limited to the embodiments described above and can be modified without departing from the spirit of this disclosure. Each of the embodiments described above may be implemented individually, or in combination of some or all of them. The embodiments can be freely combined, and each embodiment can be modified or omitted as appropriate.
[0229] For example, in the case of embedded magnet type synchronous motors and synchronous reluctance motors, where the proportion of reluctance torque is large, not only the q-axis torque pulsation suppression command values i_cancel and i_cancel2 may be used as torque pulsation suppression command values, but also the d-axis torque pulsation suppression command values id_cancel and id_cancel2 may be used. Furthermore, as disturbance pulsation suppression command values, not only the q-axis disturbance suppression command value i_gairan may be used, but also the d-axis disturbance suppression command value id_gairan may be used. Using these, the d-axis cancellation voltage command value may be added to the d-axis fundamental wave command value vd, and the resulting command value may be used as the voltage applied to motor 1. The same effect is achieved in such a configuration as well.
[0230] The motor control device 100 described above has an internal computer system. The processing steps of the above-described process are stored in program form on a computer-readable recording medium, and the above-described process is performed when the computer reads and executes this program. Here, a computer-readable recording medium refers to a magnetic disk, magneto-optical disk, CD-ROM, DVD-ROM, semiconductor memory, etc. Alternatively, this computer program may be distributed to a computer via a communication line, and the computer that receives the distribution may execute the program. [Explanation of symbols]
[0231] 100...Motor control device, 1...Motor, 2...Rotation position detector, 3...Current detector, 4...DC power supply, 5...Inverter, 6...Controller, 7...Current command value calculator, 8...Coordinate converter, 9...Current controller, 10...Coordinate converter, 11...PWM signal generator, 12...Velocity calculator 12, 20...Cancellation calculator, 21...Torque suppression command value calculator, 22...Disturbance suppression command value calculator
Claims
1. An inverter that supplies power to the motor, A controller that controls the motor and outputs a command signal to the inverter, Equipped with, The controller is, A current command value calculator that calculates the current command values for the two rotating axes of the motor, A voltage command value calculator that calculates a fundamental wave command value, which is a voltage command value for the two rotating axes of the motor, by feedback control to the current command value, A cancellation calculator calculates a cancellation voltage command value for suppressing torque pulsation in the motor and suppressing the effects of disturbances occurring in the motor, based on the target current which is either the current command value or the motor current flowing through the motor, and the rotor position of the motor, wherein the cancellation voltage command value is added to the fundamental wave command value of the q-axis in a region where the sixth-order electrical angle frequency component included in the q-axis motor current is greater than the response frequency of the feedback control in the voltage command value calculator. A PWM signal generator that generates the command signal to be output to the inverter using an added fundamental wave command value obtained by adding the cancellation voltage command value to the fundamental wave command value, and Having, Motor control device.
2. The controller is, A torque suppression command value calculator calculates a torque pulsation suppression command value, which is a command value for the current used to suppress torque pulsation in the motor, based on the target current and the rotor position. A disturbance suppression command value calculator calculates a disturbance suppression command value, which is a command value for the current used to suppress the effects of the disturbance, based on the target current and the rotor position. It has, The current command value calculator limits the current command value such that the output voltage of the inverter becomes an operating point less than or equal to the voltage utilization rate set with respect to the voltage limit circle based on the DC bus voltage of the inverter, or an operating point obtained by subtracting a predetermined voltage value from the DC bus voltage of the inverter. The cancellation calculator calculates the torque pulsation suppression command value and the disturbance suppression command value based on the current command value limited by the current command value calculator, and calculates the cancellation voltage command value based on the calculated torque pulsation suppression command value and the disturbance suppression command value. The motor control device according to claim 1.
3. The controller is, Based on the target currents for the d-axis and q-axis, the torque pulsation suppression command value and the disturbance suppression command value are calculated. The motor control device according to claim 2.
4. The controller adds to the fundamental wave command value a value obtained by multiplying the disturbance suppression command value by a coefficient that includes the rotational angular velocity of the motor, as the cancellation voltage command value. The motor control device according to claim 2.
5. The controller adds to the fundamental wave command value a value obtained by multiplying the torque pulsation suppression command value by a coefficient that includes the rotational angular velocity of the motor, as the cancellation voltage command value. The motor control device according to claim 2.
6. The controller adds to the fundamental wave command value a value obtained by multiplying the combined value obtained by adding the torque pulsation suppression command value and the disturbance suppression command value by a coefficient including the rotational angular velocity of the motor, as the cancellation voltage command value. The motor control device according to claim 2.
7. The controller adds the torque pulsation suppression command value to the current command value. The motor control device according to claim 5.
8. The controller calculates the disturbance suppression command value so as to suppress the current corresponding to the component to be suppressed among the distortion components included in the motor current that flows when a sinusoidal voltage is applied to the motor due to impedance distortion of the motor. The motor control device according to claim 2.
9. The controller calculates the torque pulsation suppression command value to suppress torque pulsation generated in the motor when a sinusoidal current is supplied to the motor. The motor control device according to claim 2.
10. The controller limits the cancellation voltage command value based on the rotational angular velocity of the motor and an electrical constant, and adds the limited cancellation voltage command value to the fundamental wave command value. A motor control device according to any one of claims 1 to 9.
Citation Information
Patent Citations
Motor controlling apparatus
JP2017209012A
Controller of electric motor
JP2020178439A
Motor drive control device and method, and motor drive control system
JP2023007752A
Drive unit
JP6760197B2
Control device for AC rotating electric machine and electric power steering device
JP7090812B2