Motor control device and electric power steering device
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Filing Date
- 2024-02-16
- Publication Date
- 2026-05-11
AI Technical Summary
Existing motor control devices with two winding sets struggle to effectively suppress torque ripple, which affects reliability and quietness, especially in synchronous reluctance motors without permanent magnets.
A motor control device that uses a controller to superimpose pulsation suppression voltages based on the rotational position of the motor, reducing pulsation components in the torque generated by passing drive currents through two winding sets, and incorporates a torque detector for steering assist.
The solution effectively suppresses torque ripple in motors with two winding sets, enhancing reliability and quietness.
Abstract
Description
Motor control device and electric power steering device
[0001] The present disclosure relates to a motor control device and an electric power steering device.
[0002] Permanent magnet synchronous motors (PMSMs), which are synchronous motors that use permanent magnets in the rotor, are used as variable speed AC motors. In recent years, efforts to conserve resources have led to the use of synchronous reluctance motors (SynRMs), which are synchronous motors that do not use permanent magnets in the rotor but use only reluctance torque.
[0003] When controlling such a synchronous motor, how to reduce the torque ripple generated by the synchronous motor is an important issue. Patent Document 1 listed below discloses a technique in which a q-axis oscillating voltage command value, which has the same frequency as the torque ripple generated in the rotor output torque and is used to cancel out the torque ripple component, is superimposed (added) to a q-axis basic voltage command value.
[0004] Patent No. 7090812
[0005] In recent years, there has been an increasing demand for reliability (fault tolerance) in motor control devices. To meet this demand, motor control devices have been put into practical use, in which a motor having two winding sets is driven by two inverters. Naturally, even in such motor control devices, it is desirable to minimize torque ripple generated by a motor having two winding sets. However, the technology described in Patent Document 1 above has the problem that it is difficult to suppress torque ripple generated by a motor having two winding sets.
[0006] The present disclosure has been made in consideration of the above circumstances, and aims to provide a motor control device and an electric power steering device that can improve reliability and quietness by suppressing torque ripple generated from a motor having two winding sets.
[0007] In order to solve the above problems, a motor control device according to one aspect of the present disclosure is a motor control device that controls a motor having two winding sets by passing a first drive current output from a first inverter and a second drive current output from a second inverter through the two winding sets, respectively, and includes a controller that superimposes a pulsation suppression voltage that is calculated based on the rotational position of the motor and reduces pulsation components contained in the torque generated by the motor on at least one of a first voltage command value corresponding to a command value for the output voltage of the first inverter and a second voltage command value corresponding to a command value for the output voltage of the second inverter.
[0008] Moreover, an electric power steering device according to one aspect of the present disclosure includes a torque detector that detects steering torque of a steering wheel, a motor having two winding sets to which a first drive current output from a first inverter and a second drive current output from a second inverter are respectively passed, and generating a steering assist torque for the steering wheel, and the above-mentioned motor control device that controls the drive of the motor in accordance with the steering torque detected by the torque detector.
[0009] According to the present disclosure, torque ripple generated in a motor having two winding sets can be suppressed, thereby achieving both improved reliability and quietness.
[0010] FIG. 1 is a block diagram showing a configuration of a main part of a motor control device according to a first embodiment of the present disclosure. FIG. 2 is a diagram schematically showing an AC motor controlled by the motor control device according to the first embodiment of the present disclosure. FIG. 3 is a diagram showing the principle of generating an on / off signal according to the first embodiment of the present disclosure. FIG. 4 is a diagram showing the principle of generating an on / off signal according to the first embodiment of the present disclosure. FIG. 5 is a block diagram showing the internal configuration of a cancellation calculation unit included in the motor control device according to the first embodiment of the present disclosure. FIG. 6 is a diagram showing torque ripple included in the output torque of the AC motor according to the first embodiment of the present disclosure. FIG. 7 is a diagram showing torque ripple included in the output torque of the AC motor when the current command value is set differently from that of FIG. 6 according to the first embodiment of the present disclosure. FIG. 8 is a diagram showing amplitude values calculated for combinations of current command values according to the first embodiment of the present disclosure. FIG. 9 is a diagram showing initial phases calculated for combinations of current command values according to the first embodiment of the present disclosure. FIG. 10 is a diagram showing ripples included in the motor current when the current command value is set differently from that of FIG. 10 according to the first embodiment of the present disclosure. FIG. 11 is a diagram showing amplitude values calculated for combinations of current command values according to the first embodiment of the present disclosure. 19 is a block diagram showing a configuration of a main part of a motor control device according to a second embodiment of the present disclosure. FIG. 19 is a block diagram showing the internal configuration of a first cancellation calculation unit included in the motor control device according to the second embodiment of the present disclosure. FIG. 20 is a diagram for explaining the operation of a first pulsation suppression voltage distribution ratio setter included in the motor control device according to the second embodiment of the present disclosure. FIG. 21 is a diagram for explaining the operation of a first pulsation suppression current distribution ratio setter included in the motor control device according to the second embodiment of the present disclosure. FIG. 22 is a block diagram showing the internal configuration of a second cancellation calculation unit included in the motor control device according to the second embodiment of the present disclosure. FIG. 23 is a diagram for explaining the operation of a second pulsation suppression voltage distribution ratio setter included in the motor control device according to the second embodiment of the present disclosure. FIG. 24 is a diagram combining the characteristics shown in FIG. 16 and the characteristics shown in FIG.FIG. 10 is a diagram for explaining the effect of the distribution ratio of the pulsation suppression voltage in the second embodiment of the present disclosure. FIG. 11 is a diagram for explaining the effect of the distribution ratio of the pulsation suppression voltage in the second embodiment of the present disclosure. FIG. 12 is a block diagram showing the configuration of a main part of a motor control device according to a third embodiment of the present disclosure. FIG. 13 is a diagram for explaining the operation of a voltage limiting unit included in the motor control device according to the third embodiment of the present disclosure. FIG. 14 is a diagram for explaining the operation of the voltage limiting unit included in the motor control device according to the third embodiment of the present disclosure. FIG. 15 is a block diagram showing the configuration of a main part of a motor control device according to a fourth embodiment of the present disclosure. FIG. 16 is a block diagram showing the internal configuration of a first cancellation calculation unit included in the motor control device according to the fourth embodiment of the present disclosure. FIG. 17 is a diagram for explaining the operation of a first pulsation suppression voltage distribution ratio setter included in the motor control device according to the fourth embodiment of the present disclosure. FIG. 18 is a diagram for explaining the operation of a first pulsation suppression current distribution ratio setter included in the motor control device according to the fourth embodiment of the present disclosure. FIG. 19 is a block diagram showing the internal configuration of a second cancellation calculation unit included in the motor control device according to the fourth embodiment of the present disclosure. FIG. 19 is a diagram for explaining the operation of a second pulsation suppression voltage distribution ratio setter included in the motor control device according to the fourth embodiment of the present disclosure. Fig. 32 is a diagram for explaining the operation of a second pulsation suppression current distribution ratio setter included in the motor control device according to embodiment 4 of the present disclosure. Fig. 33 is a diagram combining the characteristics shown in Fig. 30 and the characteristics shown in Fig. 33. Fig. 34 is a diagram for explaining the operation of a voltage limiting unit included in the motor control device according to embodiment 4 of the present disclosure. Fig. 35 is a diagram showing the configuration of a main part of an electric power steering device according to embodiment 5 of the present disclosure.
[0011] Hereinafter, a motor control device and an electric power steering device according to embodiments of the present disclosure will be described in detail with reference to the drawings. In each embodiment, the same or corresponding parts are designated by the same reference numerals, and a description of overlapping parts will be omitted.
[0012] 1 is a block diagram showing the configuration of a main part of a motor control device according to a first embodiment of the present disclosure. As shown in Fig. 1, the motor control device according to this embodiment includes a position detector 2, a first inverter 4a, a second inverter 4b, current detectors 5a and 5b, and a controller 6. This motor control device converts DC power supplied from a DC power supply 3 into AC power to control an AC motor 1.
[0013] FIG. 2 is a schematic diagram illustrating an AC motor controlled by a motor control device according to a first embodiment of the present disclosure. As shown in FIG. 2 , AC motor 1 has two sets of three-phase winding terminals and two three-phase winding groups. Specifically, AC motor 1 has a first set of three-phase winding terminals U1, V1, and W1 and a second set of three-phase winding terminals U2, V2, and W2. AC motor 1 also has a first three-phase winding group (UV1, VW1, and UW1) and a second three-phase winding group (UV2, VW2, and UW2). The two three-phase winding groups are electrically insulated. The two three-phase winding groups of AC motor 1 may be delta-connected as shown in FIG. 2 , or may be wye-connected.
[0014] In the following description, the AC motor 1 is a permanent magnet synchronous motor that uses a permanent magnet in the rotor. However, the AC motor 1 may also be a synchronous motor such as a wound-field synchronous motor, a synchronous reluctance motor, or a switched reluctance motor.
[0015] The position detector 2 detects the rotational position θ of the AC motor 1 and outputs the detection result to the controller 6. The DC power supply 3 has two outputs (a high potential side and a low potential side) and outputs a DC voltage (DC power supply voltage) Vdc as the voltage across both ends to the first inverter 4a and the second inverter 4b. The DC power supply 3 can be any device that outputs a DC voltage, such as a battery, a DC-DC converter, a diode rectifier, or a PWM (Pulse Width Modulation) rectifier.
[0016] The first inverter 4a turns on and off three semiconductor switching elements Sup1, Svp1, and Swp1 on the high potential side and three semiconductor switching elements Sun1, Svn1, and Swn1 on the low potential side based on on / off signals Qup1 to Qwn1 from the controller 6. Then, the first inverter 4a converts the DC voltage Vdc input from the DC power supply 3 into power, applies an AC voltage to the three-phase winding terminals U1, V1, and W1 of the AC motor 1, and supplies currents Iu1, Iv1, and Iw1.
[0017] Here, the on / off signals Qup1, Qun1, Qvp1, Qvn1, Qwp1, and Qwn1 are on / off signals for turning on and off the semiconductor switching elements Sup1, Sun1, Svp1, Svn1, Swp1, and Swn1 of the first inverter 4a, respectively. Hereinafter, when the value of the on / off signal Qup1 to Qwn1 is 1, a signal for turning on the corresponding semiconductor switching element is output. Furthermore, when the value of the on / off signal Qup1 to Qwn1 is 0, a signal for turning off the corresponding semiconductor switching element is output. In this embodiment, the semiconductor switching elements Sup1 to Swn1 are configured by connecting a semiconductor switch, such as an IGBT (Insulated Gate Bipolar Transistor), a bipolar transistor, or a MOS (Metal-Oxide-Semiconductor) power transistor, and a diode in inverse parallel.
[0018] The second inverter 4b turns on and off three semiconductor switching elements Sup2, Svp2, and Swp2 on the high potential side and three semiconductor switching elements Sun2, Svn2, and Swn2 on the low potential side based on on / off signals Qup2 to Qwn2 from the controller 6. Then, the second inverter 4b converts the DC voltage Vdc input from the DC power supply 3 into power, applies an AC voltage to the three-phase winding terminals U2, V2, and W2 of the AC motor 1, and supplies currents Iu2, Iv2, and Iw2.
[0019] Here, the on / off signals Qup2, Qun2, Qvp2, Qvn2, Qwp2, and Qwn2 are on / off signals for turning on and off the semiconductor switching elements Sup2, Sun2, Svp2, Svn2, Swp2, and Swn2 of the second inverter 4b, respectively. Hereinafter, if the value of the on / off signals Qup2 to Qwn2 is 1, a signal for turning on the corresponding semiconductor switching element is output. Also, if the value of the on / off signals Qup2 to Qwn2 is 0, a signal for turning off the corresponding semiconductor switching element is output. In this embodiment, the semiconductor switching elements Sup2 to Swn2 are configured by connecting semiconductor switches such as IGBTs, bipolar transistors, or MOS power transistors in reverse parallel with diodes.
[0020] The current detector 5a detects currents Iu1, Iv1, Iw1 flowing through the three-phase winding terminals U1, V1, W1 of the AC motor 1, and outputs the detected values as current detection values Ius1, Ivs1, Iws1, respectively. Hereinafter, the currents flowing through the three-phase winding terminals U1, V1, W1 are defined as "first drive currents."
[0021] The current detector 5a may be of a type that detects current by providing current detection resistors in series with the semiconductor switching elements Sun1, Svn1, and Swn1 of the first inverter 4a, or a type that detects DC current Iin1 by providing a current detection resistor between the first inverter 4a and the DC power supply 3 and regenerates currents Iu1, Iv1, and Iw1 that flow through the three-phase winding terminals U1, V1, and W1 of the AC motor 1.
[0022] The current detector 5b detects currents Iu2, Iv2, Iw2 flowing through the three-phase winding terminals U2, V2, W2 of the AC motor 1, and outputs the detected values as current detection values Ius2, Ivs2, Iws2, respectively. Hereinafter, the currents flowing through the three-phase winding terminals U2, V2, W2 are defined as "second drive currents."
[0023] The current detector 5b may be of a type that detects current by providing current detection resistors in series with the semiconductor switching elements Sun2, Svn2, and Swn2 of the second inverter 4b, or a type that detects DC current Iin2 by providing a current detection resistor between the second inverter 4b and the DC power supply 3 and reproduces currents Iu2, Iv2, and Iw2 that flow through the three-phase winding terminals U2, V2, and W2 of the AC motor 1.
[0024] The controller 6 receives current command values Id_target and Iq_target, which are command values for the currents to be supplied to the AC motor 1, as control target values for the AC motor 1. The controller 6 also outputs on / off signals Qup1 to Qwn1 and Qup2 to Qwn2 based on the rotational position θ detected by the position detector 2, the current detection values Ius1, Ivs1, and Iws1 detected by the current detector 5a, and the current detection values Ius2, Ivs2, and Iws2 detected by the current detector 5b.
[0025] The controller 6 is implemented by a controller such as a microcomputer, a DSP, or an FPGA. Here, the control target value is a command value of the current supplied to the AC motor 1, but this is not limiting. For example, when controlling the speed of the AC motor 1, the control target value is a speed command value of the AC motor 1, and when controlling the rotational position of the AC motor 1, the control target value is a position command value of the AC motor 1. In the case of the above-described speed control and position control, the current command values Id_target and Iq_target are generated within the controller 6 as manipulated variables for those controls. In the case where the AC motor 1 is an assist motor for electric power steering, the current command values Id_target and Iq_target are generated within the controller 6 as manipulated variables for those controls based on the steering torque.
[0026] Next, the controller 6 will be described in detail. The controller 6 includes a coordinate converter 9a, subtractors 10a and 11a, current controllers 12a and 13a, an adder 100a, a coordinate converter 14a, and an on / off signal generator 15a. The controller 6 also includes a coordinate converter 9b, subtractors 10b and 11b, current controllers 12b and 13b, an adder 100b, a coordinate converter 14b, and an on / off signal generator 15b. The controller 6 also includes a speed calculation unit 16, a cancellation calculation unit 500, gains 1000a and 1000b, and gains 2000a and 2000b.
[0027] The coordinate converter 9a calculates and outputs the currents Id1 and Iq1 on the two rotation axes based on the current detection values Ius1, Ivs1, and Iws1 and the rotation position θ. Note that, hereinafter, the currents Id1 and Iq1 on the two rotation axes are defined as “first detected currents.”
[0028] The subtractor 10a subtracts the current Id1 on the two rotation axes from the current command value Id_target and outputs the result to the current controller 12a. The subtractor 11a subtracts the current Iq1 on the two rotation axes from a value obtained by adding a first pulsation suppression current Icancel_a (described later) to the current command value Iq_target and outputs the result to the current controller 13a.
[0029] The current controller 12a outputs a voltage command value Vd1 on the two rotation axes corresponding to the output value of the subtractor 10a. This voltage command value Vd1 is a command value for setting the output value of the subtractor 10a to zero by proportional and integral control. However, it goes without saying that the voltage command value Vd1 on the two rotation axes may also be calculated by performing a known non-interacting control.
[0030] The current controller 13a outputs a voltage command value Vq1 on the two rotation axes corresponding to the output value of the subtractor 11a. This voltage command value Vq1 is a command value for setting the output value of the subtractor 11a to zero by proportional and integral control. However, it goes without saying that the voltage command value Vq1 on the two rotation axes may also be calculated by performing a known non-interference control.
[0031] The adder 100a adds a first pulsation suppression voltage Vq_FF1, which will be described later, to the voltage command value Vq1 on the two rotational axes, and outputs the result as a voltage command value Vq1" on the two rotational axes. The coordinate converter 14a calculates and outputs voltage command values Vu1, Vv1, Vw1 based on the voltages Vd1, Vq1" on the two rotational axes and the rotational position θ. Here, the voltage command values Vu1, Vv1, Vw1, which are command values for the voltages applied to the first inverter 4a, and the voltage command values Vd1, Vq1 on the two rotational axes are defined as "first voltage command values."
[0032] On-off signal generator 15a outputs on-off signals Qup1 to Qwn1 based on voltage command values Vu1, Vv1, and Vw1. Figure 3 is a diagram illustrating the principle of generating on-off signals according to the first embodiment of the present disclosure. On-off signal generator 15a compares voltage command values Vu1, Vv1, and Vw1 with a carrier wave (also referred to as a carrier signal) C having a period Tc (frequency fc).
[0033] The on / off signal generator 15a turns on (1) the on / off signal Qup1 and turns off (0) the on / off signal Qun1 if the voltage command value Vu1 is greater than the carrier wave C. On the other hand, the on / off signal generator 15a turns off (0) the on / off signal Qup1 and turns on (1) the on / off signal Qun1 if the voltage command value Vu1 is smaller than the carrier wave C.
[0034] Similarly, if the voltage command value Vv1 is greater than the carrier wave C, the on / off signal generator 15a turns the on / off signal Qvp1 on (1) and turns the on / off signal Qvn1 off (0). Conversely, if the voltage command value Vv1 is smaller than the carrier wave C, the on / off signal generator 15a turns the on / off signal Qvp1 off (0) and turns the on / off signal Qvn1 on (1).
[0035] Similarly, if the voltage command value Vw1 is greater than the carrier wave C, the on / off signal generator 15a turns the on / off signal Qwp1 on (1) and turns the on / off signal Qwn1 off (0). Conversely, if the voltage command value Vw1 is smaller than the carrier wave C, the on / off signal generator 15a turns the on / off signal Qwp1 off (0) and turns the on / off signal Qwn1 on (1).
[0036] However, it goes without saying that a short circuit prevention time (dead time) may be provided so that the upper and lower switching elements of the first inverter 4a are not turned on at the same time.
[0037] As described above, the calculations up to determining the first voltage command values (voltage command values Vd1, Vq1 or voltage command values Vu1, Vv1, Vw1) based on the first detected currents (currents Id1, Iq1) and current command values (Id_target, Iq_target) in the controller 6 (or the calculations up to determining the on / off signals Qup1 to Qwn1) correspond to the calculations performed by the first controller. In this embodiment, the first controller is present in the controller 6.
[0038] The coordinate converter 9b calculates and outputs the currents Id2 and Iq2 on the two rotation axes based on the current detection values Ius2, Ivs2, and Iws2 and the rotational position θ. Note that, hereinafter, the currents Id2 and Iq2 on the two rotation axes are defined as "second detected currents."
[0039] The subtractor 10b subtracts the current Id2 on the two rotation axes from the current command value Id_target and outputs the result to the current controller 12b. The subtractor 11b subtracts the current Iq2 on the two rotation axes from a value obtained by adding a second pulsation suppression current Icancel_b (described later) to the current command value Iq_target and outputs the result to the current controller 13b.
[0040] The current controller 12b outputs a voltage command value Vd2 on the two rotation axes corresponding to the output value of the subtractor 10b. This voltage command value Vd2 is a command value for setting the output value of the subtractor 10b to zero by proportional and integral control. However, it goes without saying that the voltage command value Vd2 on the two rotation axes may also be calculated by performing a known non-interacting control.
[0041] The current controller 13b outputs a voltage command value Vq2 on the two rotational axes corresponding to the output value of the subtractor 11b. This voltage command value Vq2 is a command value for setting the output value of the subtractor 11b to zero by proportional and integral control. However, it goes without saying that the voltage command value Vq2 on the two rotational axes may also be calculated by performing a known non-interference control.
[0042] The adder 100b adds a second pulsation suppression voltage Vq_FF2, which will be described later, to the voltage command value Vq2 on the two rotational axes, and outputs the result as a voltage command value Vq2" on the two rotational axes. The coordinate converter 14b calculates and outputs voltage command values Vu2, Vv2, Vw2 based on the voltages Vd2, Vq2" on the two rotational axes and the rotational position θ. Here, the voltage command values Vu2, Vv2, Vw2, which are command values for the voltages applied to the second inverter 4b, and the voltage command values Vd2, Vq2 on the two rotational axes are defined as "second voltage command values."
[0043] On / off signal generator 15b outputs on / off signals Qup2 to Qwn2 based on voltage command values Vu2, Vv2, and Vw2. Figure 4 is a diagram illustrating the principle of generating on / off signals according to the first embodiment of the present disclosure. On / off signal generator 15b compares voltage command values Vu2, Vv2, and Vw2 with a carrier wave (also referred to as a carrier signal) C having a period Tc (frequency fc).
[0044] If the voltage command value Vu2 is greater than the carrier wave C, the on / off signal generator 15b turns the on / off signal Qup2 on (1) and turns the on / off signal Qun2 off (0). On the other hand, if the voltage command value Vu2 is smaller than the carrier wave C, the on / off signal generator 15b turns the on / off signal Qup2 off (0) and turns the on / off signal Qun2 on (1).
[0045] Similarly, if the voltage command value Vv2 is greater than the carrier wave C, the on / off signal generator 15b turns the on / off signal Qvp2 on (1) and turns the on / off signal Qvn2 off (0). Conversely, if the voltage command value Vv2 is smaller than the carrier wave C, the on / off signal generator 15b turns the on / off signal Qvp2 off (0) and turns the on / off signal Qvn2 on (1).
[0046] Similarly, if the voltage command value Vw2 is greater than the carrier wave C, the on / off signal generator 15b turns the on / off signal Qwp2 on (1) and turns the on / off signal Qwn2 off (0). Conversely, if the voltage command value Vw2 is smaller than the carrier wave C, the on / off signal generator 15b turns the on / off signal Qwp2 off (0) and turns the on / off signal Qwn2 on (1).
[0047] However, it goes without saying that a short circuit prevention time (dead time) may be provided so that the upper and lower switching elements of the second inverter 4b are not turned on at the same time.
[0048] As described above, the calculations up to determining the second voltage command values (voltage command values Vd2, Vq2 or voltage command values Vu2, Vv2, Vw2) based on the second detected currents (currents Id2, Iq2) and current command values (Id_target, Iq_target) in the controller 6 (or the calculations up to determining the on / off signals Qup2 to Qwn2) correspond to the calculations performed by the second controller. In the present embodiment, the second controller is present in the controller 6.
[0049] The speed calculation unit 16 performs a differential calculation or a difference calculation on the rotational position θ to output the rotational speed ω of the AC motor 1. The rotational speed of the AC motor 1 output here is the rotational angular speed of the electrical angle, and is equal to the rotational angular speed of the mechanical angle multiplied by the number of pole pairs of the AC motor 1.
[0050] The cancellation calculation unit 500 calculates and outputs a pulsation suppression current Icancel2 to be added to the current command value Iq_target in the subtractors 11a and 11b. The cancellation calculation unit 500 also calculates and outputs a pulsation suppression voltage Vq_FF to be distributed and added to the first voltage command value Vq1 and the second voltage command value Vq2 in the adders 100a and 100b.
[0051] The gain 1000a multiplies the pulsation suppression current Icancel2 output from the cancellation calculation unit 500 by Ki and outputs the result to the subtractor 11a as the first pulsation suppression current Icancel_a, where Ki is a value that satisfies 0≦Ki≦1. The gain 1000b multiplies the pulsation suppression current Icancel2 output from the cancellation calculation unit 500 by (1−Ki) and outputs the result to the subtractor 11b as the second pulsation suppression current Icancel_b.
[0052] The gain 2000a multiplies the pulsation suppression voltage Vq_FF output from the cancellation calculation unit 500 by Kv and outputs the result to the adder 100a as a first pulsation suppression voltage Vq_FF1, where Kv is a value that satisfies 0≦Kv≦1. The gain 2000b multiplies the pulsation suppression voltage Vq_FF output from the cancellation calculation unit 500 by (1−Ki) and outputs the result to the adder 100b as a second pulsation suppression voltage Vq_FF2.
[0053] Next, the cancellation calculation unit 500 provided in the controller 6 will be described in detail. FIG. 5 is a block diagram showing the internal configuration of the cancellation calculation unit provided in the motor control device according to the first embodiment of the present disclosure. The cancellation calculation unit 500 includes a pulsation suppression current calculation unit 901 and a pulsation suppression voltage calculation unit 501, and generates and outputs a pulsation suppression voltage vq_cancel and a pulsation suppression current i_cancel2 based on the current command values Id_target, Iq_target, the rotational position θ, and the rotational speed ω. Note that hereinafter, the pulsation suppression currents Icancel and Icancel2 may also be referred to as pulsation suppression currents i_cancel and i_cancel2, respectively.
[0054] The pulsation suppression current calculation unit 901 includes a pulsation suppression current amplitude calculator 901a and a pulsation suppression current phase calculator 901b, and calculates pulsation suppression currents Icancel and Icancel2 based on the current command values Id_target and Iq_target and the rotational position θ. The pulsation suppression current amplitude calculator 901a calculates and outputs the amplitude values i_ca_amp of the pulsation suppression currents Icancel and Icancel2 based on the current command values Id_target and Iq_target. The pulsation suppression current phase calculator 901b calculates and outputs the initial phase i_ca_phase of the pulsation suppression current Icancel based on the current command values Id_target and Iq_target. Below, we will explain in order the procedure by which the pulsation suppression current amplitude calculator 901a calculates the amplitude values i_ca_amp of the pulsation suppression currents Icancel and Icancel2, and the procedure by which the pulsation suppression current phase calculator 901b calculates the initial phase i_ca_phase of the pulsation suppression current Icancel.
[0055] Fig. 6 is a diagram showing torque ripple included in the output torque of the AC motor in embodiment 1 of the present disclosure. Specifically, Fig. 6 is a diagram showing torque ripple included in the output torque of the AC motor when current command values Id_target=Ida and Iq_target=Iqa (Ida and Iqa are constant values) and the rotational speed ω of AC motor 1 is constant.
[0056] The top graph in Fig. 6 shows an extracted value (T_6f) of the sixth-order electrical component included in the output torque of the AC motor 1. The middle graph in Fig. 6 shows a motor current calculated by multiplying the extracted value (T_6f) of the sixth-order electrical component included in the output torque of the AC motor 1 by -Tdc / (2 × Iq_target). Here, Tdc is the DC value of the torque generated when the first drive current and the second drive current are applied to the AC motor 1 when the current command values Id_target = Ida and Iq_target = Iqa. The bottom graph in Fig. 6 is a mathematical representation of the middle graph in Fig. 6.
[0057] Here, the amplitude value "i_ca_amp(Ida, Iqa)" and the initial phase "i_ca_ph(Ida, Iqa)" are calculated from the peak value of the waveform in the middle or bottom graph of Fig. 6 and the phase that gives it. Here, the parentheses around the amplitude value and initial phase indicate that these values are current commands when Id_target=Ida and Iq_target=Iqa.
[0058] Fig. 7 is a diagram showing torque ripple included in the output torque of the AC motor in the first embodiment of the present disclosure when the current command value is set differently from that in Fig. 6. Specifically, Fig. 7 is a diagram showing torque ripple included in the output torque of the AC motor when the current command values Id_target=Idb and Iq_target=Iqa (Idb and Iqa are constant values) and the rotational speed ω of the AC motor 1 is constant.
[0059] The top graph in Fig. 7 , like the top graph in Fig. 6 , is a graph showing the extracted value (T_6f) of the sixth-order electrical angle component included in the output torque of the AC motor 1. The middle graph in Fig. 7 , like the middle graph in Fig. 6 , is a graph showing the motor current obtained by multiplying the extracted value (T_6f) of the sixth-order electrical angle component included in the output torque of the AC motor 1 by "-Tdc / (2 × Iq_target)". The bottom graph in Fig. 7 is a mathematical representation of the middle graph in Fig. 7 .
[0060] Here, the amplitude value "i_ca_amp(Idb, Iqa)" and the initial phase "i_ca_ph(Idb, Iqa)" are calculated from the peak value of the waveform in the middle or bottom graph of FIG. 6 and the phase that gives it.
[0061] The above has described how to determine the amplitude value "i_ca_amp(Ida, Iqa)" and the initial phase "i_ca_ph(Ida, Iqa)" when "Id_target=Ida, Iq_target=Iqa" shown in Fig. 6, and how to determine the amplitude value "i_ca_amp(Idb, Iqa)" and the initial phase "i_ca_ph(Idb, Iqa)" when "Id_target=Idb, Iq_target=Iqa" shown in Fig. 7. Similarly, the amplitude value "i_ca_amp(Id(i), Iq(j))" and the initial phase "i_ca_ph(Id(i), Iq(j))" are determined in advance for combinations of current command values (Id_target, Iq_target) that can be applied to the AC motor 1.
[0062] 8 and 9 are diagrams illustrating amplitude values and initial phases calculated for combinations of current command values according to the first embodiment of the present disclosure.
[0063] The amplitude value "i_ca_amp(Id(i), Iq(j))" for each current command value (Id_target, Iq_target) shown in Fig. 8 may be stored in the pulsation suppression current amplitude calculator 901a in the form of a table, for example. The initial phase "i_ca_ph(Id(i), Iq(j))" for each current command value (Id_target, Iq_target) shown in Fig. 9 may be stored in the pulsation suppression current phase calculator 901b in the form of a table, for example.
[0064] The pulsation suppression current amplitude calculator 901a outputs the amplitude value i_ca_amp of the pulsation suppression commands i_cancel and i_cance2 corresponding to the current command values Id_target and Iq_target with reference to the contents shown in Fig. 8. Here, it goes without saying that the pulsation suppression current amplitude calculator 901a may output the amplitude value i_ca_amp by linear interpolation if the current command value Iq_target is, for example, an intermediate value between Iqa and Iqb in Fig. 7.
[0065] 9, the pulsation suppression current phase calculator 901b adds 90 degrees to the initial phase i_ca_ph corresponding to the current command values Id_target and Iq_target, and outputs the result as the initial phase i_ca_phase of the pulsation suppression current i_cancel. The reason for adding 90 degrees is to advance the phase of the cancel voltage v_cancel applied to supply the pulsation suppression current i_cancel2 by 90 degrees (assuming one cycle of the N-th order component is 360 degrees).
[0066] When the amplitude value i_ca_amp is output from the pulsation suppression current amplitude calculator 901a and the initial phase i_ca_phase is output from the pulsation suppression current phase calculator 901b, the pulsation suppression current calculator 901 performs the calculations shown in the following equations (1-1) and (1-2) to output pulsation suppression currents i_cancel and i_cancel2.
[0067]
[0068]
[0069] In the above formulas (1-1) and (1-2), N is the order to be suppressed. For example, if you want to suppress the sixth electrical order, set N = 6. Also, as shown in FIG. 9, there is a relationship of "i_ca_phase = i_ca_ph + 90", so the following formula (1-3) holds true from the above formula (1-2).
[0070]
[0071] Therefore, the pulsation suppression currents i_cancel and i_cancel2 are sinusoidal motor current commands that are in opposite phase to the torque pulsation and have an amplitude 2 / (Tdc / Iq_target) times that of the torque pulsation, corresponding to the currents shown in the middle and bottom graphs of Figures 6 and 7. Therefore, the relationship shown in the following equation (1-4) holds true for the amplitude value i_ca_amp, the current command value Iq_target, the DC torque value Tdc, and the extracted value T_6f of the sixth-order electrical angle component included in the torque.
[0072]
[0073] The pulsation suppression current i_cancel2 is output from the cancellation calculation unit 500 and input to the gains 1000a and 1000b. As described above, the gain 1000a multiplies the pulsation suppression current Icancel2 output from the cancellation calculation unit 500 by Ki and outputs the result to the subtractor 11a as the first pulsation suppression current Icancel_a. Therefore, the relationship between the first pulsation suppression current Icancel_a and the pulsation suppression current i_cancel2 is expressed by the following equation (1-5):
[0074]
[0075] As described above, the gain 1000b multiplies the pulsation suppression current Icancel2 output from the cancellation calculation unit 500 by (1-Ki) and outputs the result to the subtractor 11b as the second pulsation suppression current Icancel_b. Therefore, the relationship between the second pulsation suppression current Icancel_b and the pulsation suppression current i_cancel2 is expressed by the following equation (1-6).
[0076]
[0077] Next, adding the above formula (1-5) and formula (1-6) together gives the following formula (1-7).
[0078]
[0079] From the above equation (1-7), it can be seen that the sum of the first pulsation suppression current Icancel_a and the second pulsation suppression current Icancel_b is equal to the pulsation suppression current i_cancel2. Therefore, Ki can be regarded as the distribution ratio of the pulsation suppression current i_cancel2 to the first pulsation suppression current Icancel_a. For example, if it is desired to distribute the pulsation suppression current i_cancel2 equally between the first drive current and the second drive current, Ki = 0.5 should be set. Furthermore, if it is desired to make the distribution ratio of the first drive current larger than that of the second drive current, Ki > 0.5 should be set. Furthermore, if it is desired to make the distribution ratio of the second drive current larger than that of the first drive current, Ki < 0.5 should be set.
[0080] The pulsation suppressing current i_cancel2 is distributed into a first pulsation suppressing current Icancel_a and a second pulsation suppressing current Icancel_b at a distribution ratio of Ki:(1-Ki). The distributed first pulsation suppressing current Icancel_a is input to a current controller 13a via a subtractor 11a, and the distributed second pulsation suppressing current Icancel_b is input to a current controller 13b via a subtractor 11b.
[0081] Here, it is assumed that the set response frequency (cutoff frequency) of the current controllers 13a and 13b is fq. If the frequency of the Nth electrical angle is equal to or less than fq, the Nth electrical angle components of the q-axis currents Iq1 and Iq2 match the first pulsation suppression current Icancel_a and the second pulsation suppression current Icancel_b, respectively, and the torque ripple of the Nth electrical angle of the AC motor 1 can be suppressed. On the other hand, if the frequency of the Nth electrical angle exceeds fq, it exceeds the performance range of the current controllers 13a and 13b. The pulsation suppression voltage Vq_FF is controlled so that the Nth electrical angle component of the currents Iq1+Iq2 matches the pulsation suppression current i_cancel2 in such a frequency band.
[0082] The pulsation suppression voltage calculation unit 501 includes a disturbance suppression command calculation unit 902, an adder 903, a multiplier 904, an adder 905, and a limiter 906. The pulsation suppression voltage calculation unit 501 calculates and outputs a pulsation suppression voltage vq_cancel based on the current command values Id_target, Iq_target, the rotational position θ, the rotational speed ω, and the pulsation suppression currents i_cancel, i_cancel2.
[0083] The disturbance reduction command calculator 902 includes a disturbance reduction command amplitude calculator 902a and a disturbance reduction command phase calculator 902b, and calculates a disturbance reduction command i_gairan based on the current command values Id_target, Iq_target, and the rotational position θ. The disturbance reduction command amplitude calculator 902a calculates and outputs an amplitude value i_ga_amp of the disturbance reduction command i_gairan based on the current command values Id_target, Iq_target. The disturbance reduction command phase calculator 902b calculates and outputs an initial phase i_ga_phase of the disturbance reduction command i_gairan based on the current command values Id_target, Iq_target. Below, a procedure by which the disturbance reduction command amplitude calculator 902a calculates the amplitude value i_ga_amp of the disturbance reduction command i_gairan and a procedure by which the disturbance reduction command phase calculator 902b calculates the initial phase i_ga_phase of the disturbance reduction command i_gairan will be described in order.
[0084] Fig. 10 is a diagram showing ripples included in the motor current in the first embodiment of the present disclosure. Specifically, Fig. 10 is a diagram showing ripples included in the motor current when current command values Id_target=Ida, Iq_target=Iqa (Ida and Iqa are constant values), the rotation speed ω of AC motor 1 is constant, and the first voltage command values (voltage command values Vd1, Vq1) and second voltage command values (voltage command values Vd2, Vq2) are constant.
[0085] The upper graph in Fig. 10 is a graph showing an extracted value (-i_gairan) of the sixth-order electrical component included in the current Iq1+Iq2 of the AC motor 1. This component is generated by the sixth-order electrical component of the magnetic flux φm of the magnet of the AC motor 1 and the sixth-order inductance component (6f component generated by impedance distortion of the AC motor 1). The lower graph in Fig. 10 is a graph in which the signs of the upper graph in Fig. 10 are inverted.
[0086] Here, the amplitude value "i_ga_amp(Ida, Iqa)" and the initial phase "i_ga_ph(Ida, Iqa)" are calculated from the peak value of the waveform and the phase that gives it in the graph at the bottom of Fig. 10. Here, the parentheses around the amplitude value and initial phase indicate that these values are current commands when Id_target=Ida and Iq_target=Iqa.
[0087] Fig. 11 is a diagram showing ripples included in the motor current when the current command value is set differently from that in Fig. 10 in the first embodiment of the present disclosure. Specifically, Fig. 11 is a diagram showing ripples included in the motor current when the current command values Id_target=Idb and Iq_target=Iqa (Idb and Iqa are constant values), the rotation speed ω of AC motor 1 is constant, and the first voltage command value (voltage command values Vd1, Vq1) and the second voltage command value (voltage command values Vd2, Vq2) are constant.
[0088] 10, the upper graph in Fig. 11 is a graph showing the extracted value (-i_gairan) of the sixth-order electrical angle component included in the current Iq1+Iq2 of the AC motor 1. The lower graph in Fig. 11 is a graph obtained by inverting the signs of the upper graph in Fig. 11.
[0089] Here, the amplitude value "i_ga_amp(Idb, Iqa)" and the initial phase "i_ga_ph(Idb, Iqa)" are calculated from the peak value of the waveform in the lower graph of FIG. 11 and the phase that gives it.
[0090] The above has described how to determine the amplitude value "i_ga_amp(Ida, Iqa)" and initial phase "i_ga_ph(Ida, Iqa)" when "Id_target=Ida, Iq_target=Iqa" shown in Fig. 10, and how to determine the amplitude value "i_ga_amp(Idb, Iqa)" and initial phase "i_ga_ph(Idb, Iqa)" when "Id_target=Idb, Iq_target=Iqa" shown in Fig. 11. Similarly, the amplitude value "i_ga_amp(Id(i), Iq(j))" and initial phase "i_ga_ph(Id(i), Iq(j))" are determined in advance for combinations of current command values (Id_target, Iq_target) that can be applied to the AC motor 1.
[0091] 12 and 13 are diagrams illustrating amplitude values and initial phases calculated for combinations of current command values according to the first embodiment of the present disclosure.
[0092] The amplitude value "i_ga_amp(Id(i), Iq(j))" for each current command value (Id_target, Iq_target) shown in Fig. 12 may be stored in the disturbance suppression command amplitude calculator 902a in the form of a table, for example. Also, the initial phase "i_ga_ph(Id(i), Iq(j))" for each current command value (Id_target, Iq_target) shown in Fig. 13 may be stored in the disturbance suppression command phase calculator 902b in the form of a table, for example.
[0093] The disturbance suppression command amplitude calculator 902a outputs an amplitude value i_ga_amp of the disturbance suppression command i_gairan corresponding to the current command values Id_target and Iq_target with reference to the contents shown in Fig. 12. Here, it goes without saying that the disturbance suppression command amplitude calculator 902a may output the amplitude value i_ga_amp by performing linear interpolation if the current command value Iq_target is an intermediate value between Iqa and Iqb in Fig. 12, for example.
[0094] 13, the disturbance suppression command phase calculator 902b adds 90 degrees to the initial phase i_ga_ph corresponding to the current command values Id_target and Iq_target, and outputs the result as the initial phase i_ga_phase of the disturbance suppression command i_gairan. Here, the reason for adding 90 degrees is to advance the phase of the cancel voltage v_cancel applied to supply the disturbance suppression command i_gairan by 90 degrees (assuming one cycle of the N-th order component is 360 degrees).
[0095] When the disturbance suppression command amplitude calculator 902a outputs the amplitude value i_ga_amp and the disturbance suppression command phase calculator 902b outputs the initial phase i_ga_phase, the disturbance suppression command calculator 902 performs the calculation shown in the following equation (1-8) and outputs the disturbance suppression command i_gaian.
[0096]
[0097] The adder 903 outputs "i_sum" obtained by adding the pulsation suppression current i_cancel output from the pulsation suppression current calculation unit 901 and the disturbance suppression command i_gairan output from the disturbance suppression command calculation unit 902, as shown in the following equation (1-9).
[0098]
[0099] The multiplier 904 outputs "v_sum" obtained by multiplying the output of the adder 903, "i_sum," by the product of the rotational speed ω, the inductance L of the AC motor 1, and the order N to be suppressed = N ω L, as shown in the following equation (1-10).
[0100]
[0101] In addition, when the mutual inductance M between the first three-phase winding set (UV1, VW1, UW1) and the second three-phase winding set (UV2, VW2, UW2) cannot be ignored with respect to the inductance L of the AC motor 1, the multiplier 904 performs the calculation shown in the above equation (1-10a).
[0102] As shown in the following equation (1-11), the adder 905 outputs "v_sum2" obtained by adding "R·i_cancel2", the product of the winding resistance R of the AC motor 1 and the pulsation suppression current i_cancel2, to "v_sum", which is the output of the multiplier 904. Note that the wiring resistance or conduction resistance of the first inverter 4a and the second inverter 4b may be added to the winding resistance R of the AC motor 1.
[0103]
[0104] In addition, when the mutual inductance M between the first three-phase winding set (UV1, VW1, UW1) and the second three-phase winding set (UV2, VW2, UW2) cannot be ignored compared to the inductance L of the AC motor 1, the adder 905 performs the calculation shown in the above equation (1-11a).
[0105] In the above formula (1-11) or (1-11a), the first term on the right-hand side is a term proportional to the pulsation suppression current i_cancel2, and the second term on the right-hand side is a term proportional to the pulsation suppression current (i_cancel + i_gairan). Here, the pulsation suppression current i_cancel leads the pulsation suppression current i_cancel2 by 90 degrees relative to the Nth electrical angle of 360 degrees. Therefore, the second term on the right-hand side can be said to lead the pulsation suppression current i_cancel2 by 90 degrees. Furthermore, the magnitude relationship between the coefficient "R" of the first term on the right-hand side and the coefficient "N·ω·L" or "N·ω·(L+M)" of the second term on the right-hand side varies depending on the rotation speed ω. In other words, when the rotation speed ω is small, the first term on the right-hand side is greater than the second term on the right-hand side, and when the rotation speed ω is large, the first term on the right-hand side is less than the second term on the right-hand side. Therefore, "v_sum2" is a voltage (pulsation suppression) that leads "i_cacnel2" by 0 degrees or more and 90 degrees or less.
[0106] The limiter 906 limits "v_sum2" which is the output of the adder 905 by ±vq_clip and outputs the result as a pulsation suppression voltage vq_cancel to the adder 14. Specifically, the following process (1-12) is performed.
[0107]
[0108] Here, vq_clip is expressed by the following equation (1-13) using the electrical angle order N to be suppressed, the maximum value ωmax of the rotational speed ω calculated by the cancellation calculation unit 500, the inductance L of the AC motor 1, and the maximum value i_sum_max of the sum i_sum of the disturbance suppression command i_gaian and the pulsation suppression command i_cancel.
[0109]
[0110] Note that the above formula (1-13a) is used when the mutual inductance M between the first three-phase winding set (UV1, VW1, UW1) and the second three-phase winding set (UV2, VW2, UW2) cannot be ignored with respect to the inductance L of the AC motor 1. Alternatively, the rotational speed ω of the AC motor 1 may be input to the limiter 906, and formula (1-17) may be used by replacing ωmax with ω.
[0111] Furthermore, when the above equation (1-11) is taken into consideration in the above equation (1-12), the following equation (1-14) is obtained.
[0112]
[0113] From the above equation (1-14), it can be seen that the limiter 906 is configured to limit v_sum2, which is the value obtained by multiplying the disturbance suppression command i_gairan and the pulsation suppression current i_cancel by a coefficient including the motor rotation speed ω, to a predetermined limit value vq_clip based on the motor rotation speed ω and inductance L, and to superimpose the pulsation suppression voltage Vq_FF, which is a value based on the sum of the ``disturbance suppression command and pulsation suppression current'' after the limit, on the fundamental wave command Vq.
[0114] The pulsation suppression voltage Vq_FF is output from the cancellation calculation unit 500 and input to the gain 2000a and the gain 2000b. As described above, the gain 2000a multiplies the pulsation suppression voltage Vq_FF output from the cancellation calculation unit 500 by Kv and outputs the result to the adder 100a as the first pulsation suppression voltage Vq_FF1. Therefore, the relationship between the first pulsation suppression voltage Vq_FF1 and the pulsation suppression voltage Vq_FF is expressed by the following equation (1-15).
[0115]
[0116] As described above, the gain 2000b multiplies the pulsation suppression voltage Vq_FF output from the cancellation calculation unit 500 by (1-Ki) and outputs the result to the adder 100b as the second pulsation suppression voltage Vq_FF2. Therefore, the relationship between the second pulsation suppression voltage Vq_FF2 and the pulsation suppression voltage Vq_FF is expressed by the following equation (1-16).
[0117]
[0118] Next, adding the above formula (1-15) and formula (1-16) together gives the following formula (1-17).
[0119]
[0120] From the above equation (1-17), it can be seen that the sum of the first pulsation suppression voltage Vq_FF1 and the second pulsation suppression voltage Vq_FF2 is equal to the pulsation suppression voltage Vq_FF. Therefore, the gain Kv can be regarded as the distribution ratio of the pulsation suppression voltage Vq_FF to the first pulsation suppression voltage Vq_FF1. For example, if it is desired to distribute the pulsation suppression voltage Vq_FF equally between the first pulsation suppression voltage Vq_FF1 and the second pulsation suppression voltage Vq_FF2, Kv = 0.5 should be set. Also, if it is desired to make the distribution ratio of the first pulsation suppression voltage Vq_FF1 larger than that of the second pulsation suppression voltage Vq_FF2, Kv > 0.5 should be set. Also, if it is desired to make the distribution ratio of the second pulsation suppression voltage Vq_FF2 larger than that of the first pulsation suppression voltage Vq_FF1, Kv < 0.5 should be set.
[0121] Here, the settings of Ki and Kv will be described. Ki can be considered to be the amount (distribution ratio) of the first pulsation suppression current Icancel_a superimposed on the current command value Iq_target of the first controller, and Kv can be considered to be the distribution ratio of the pulsation suppression voltage Vq_FF to the first pulsation suppression voltage Vq_FF1. In principle, Ki and Kv may be set independently. However, when Ki is set to a certain value, the current controller 13a controls the N-th harmonic component of Iq1 in the first detected current so that it coincides with "pulsation suppression current × Ki" and superimposes a value of "first pulsation suppression voltage = pulsation suppression voltage × Kv" on the output.
[0122] Here, if Kv=Ki, a value of "first pulsation suppression voltage=pulsation suppression voltage×Ki" is superimposed on the current controller 13a. In this way, the two functions of "superimposing the first pulsation suppression current on the input value of the current controller 13a" and "superimposing the first pulsation suppression voltage on the output value of the current controller 13a" work together to make the N-th harmonic component of Iq1 in the first detected current coincide with "pulsation suppression current×Ki." This achieves the effect of making "the N-th harmonic component of Iq1 in the first detected current" coincide with "pulsation suppression current×Ki" with higher accuracy.
[0123] By setting Ki=Kv, "1-Ki=1-Kv" is also satisfied at the same time. This means that the two functions of "superimposing the second pulsation suppression current on the input value of the current controller 13b" and "superimposing the second pulsation suppression voltage on the output value of the current controller 13b" work together to make the Nth-order harmonic component of Iq2 in the second detected current coincide with "pulsation suppression current × (1-Ki)." This provides the effect of making "the Nth-order harmonic component of Iq2 in the second detected current" coincide with "pulsation suppression current × (1-Ki)" with higher accuracy.
[0124] As described above, by aligning the distribution ratio of the pulsation suppression voltage superimposed on the first voltage command value and the second voltage command value with the distribution ratio of the pulsation suppression current "the portion superimposed on the current command value of the AC motor 1 to the first controller" and "the portion superimposed on the current command value of the AC motor 1 to the second controller," it is possible to suppress the Nth-order torque ripple of the AC motor 1 with higher precision.
[0125] The settings of Ki and Kv may both be 1, both may be 0, or both may be 0.5. When Ki and Kv are both set to 1, the entire pulsation suppression current is superimposed on the first drive current. When Ki and Kv are both set to 0, the entire pulsation suppression current is superimposed on the second drive current. When Ki and Kv are both set to 0.5, half of the pulsation suppression current is equally distributed to the first drive current and the second drive current and superimposed thereon. Naturally, the settings of Ki and Kv may be set to other values.
[0126] The following describes the effects of embodiment 1. The voltage equations for the q-axis of AC motor 1 are expressed by the following equations (1-18) and (1-19).
[0127]
[0128]
[0129] In the above equations (1-18) and (1-19), R is the winding resistance, L is the inductance, M is the inter-group mutual inductance, and φ is the flux linkage. Also, s is the Laplace operator. Adding the above equations (1-18) and (1-19) gives the following equation (1-20).
[0130]
[0131] Here, Vq1 + Vq2 = Vq_wa, Iq1 + Iq2 = Iq_wa, Id1 = Id2 = 0, and the pulsating component of φ is ignored. In this case, if L + M includes a sixth-order electrical angle component (hereinafter referred to as LM_6f) in addition to a DC component (hereinafter referred to as LM_dc), the above formula (1-20) becomes the following formula (1-21).
[0132]
[0133] Consider the situation in which the AC motor 1 is rotating at high speed in the above equation (1-25). In this case, the first term on the right-hand side is relatively small and can be ignored. Furthermore, when the AC motor 1 is rotating at high speed and the frequency of the corresponding sixth-order electrical component is higher than the response frequency of the current controllers 13a and 13b, the sixth-order electrical component Vq_wa_6f contained in the voltage Vq_wa is sufficiently small and can be considered to be zero. Taking the above into consideration, the above equation (1-21) becomes the following equation (1-22). Note that in the following equation (1-22), Iq_wa_dc and Iq_wa_6f are the DC component and the sixth-order electrical component contained in Iq_wa, respectively.
[0134]
[0135] When the above equation (1-22) is solved for Iq_wa_6f, the following equation (1-23) is obtained.
[0136]
[0137] From the above equation (1-23), it can be seen that the Iq_wa_6f component is generated by the presence of LM_6f. Here, if the response frequency of the current controllers 13a and 13b is higher than the frequency of the sixth electrical component, feedback control is performed to set Iq_wa_6f to zero, resulting in Iq_wa_6f approaching zero. In other words, Vq_wa_6f is generated to reduce Iq_wa_6f. However, if the response frequency of the current controllers 13a and 13b is lower than the frequency of the sixth electrical component, the current controllers 13a and 13b will not be able to suppress Iq_wa_6f, and Iq_wa_6f shown in the above equation (1-23) will end up being conducted.
[0138] In this way, when the influence of impedance distortion of the AC motor 1 exceeds the control band of the current controllers 13a and 13b, Iq_wa_6f appears as shown in the above equation (1-13). In this specification, this is defined as a disturbance current due to impedance distortion. The measurement results of the disturbance current are shown in the upper graphs of Figures 10 and 11.
[0139] In contrast to this, in this embodiment, the disturbance inhibition command calculator 902 first calculates the amplitude and phase of the inverted value of the disturbance current as shown in the graphs in the middle of Fig. 10 and Fig. 11, and then maps the amplitude as is and the phase advanced by 90 degrees as shown in Fig. 12 and Fig. 13. The disturbance inhibition command i_gairan calculated in this way becomes a command signal with the same amplitude and a phase advanced by 90 degrees as the graphs in the middle of Fig. 10 and Fig. 11.
[0140] The disturbance suppression command i_gairan calculated in this way is finally reflected in the pulsation suppression voltage Vq_FF (equation (1-14)) with its amplitude multiplied by "N·ω·L". In addition, in equation (1-14), if the ratio of the mutual inductance between the groups cannot be ignored with respect to L, it should be set to "N·ω·(L+M)". Therefore, of the pulsation suppression voltage Vq_FF, the term Vq_FF_d resulting from the disturbance suppression command i_gairan is expressed by the following equation (1-24).
[0141]
[0142] On the other hand, the voltage Vgairan required to cancel out the disturbance current expressed by equation (1-23) will be described. The impedance Z(N) of AC motor 1 for electrical angle N is given by the following equation (1-25) or (1-26). Note that equation (1-25) is an equation when the influence of M can be ignored, and equation (1-26) is an equation when the influence of M cannot be ignored.
[0143]
[0144]
[0145] However, j in the above equations (1-25) and (1-26) is a pure imaginary number (j×j=-1). Also, Vgairan is expressed by the following equation (1-27) or (1-28). Note that the following equation (1-27) is an equation when the influence of M can be ignored, and the following equation (1-28) is an equation when the influence of M cannot be ignored.
[0146]
[0147]
[0148] In the above equations (1-27) and (1-28), "≒" means that in a region where the frequency of the sixth-order electrical angle component is sufficiently higher than the response frequency of the current controllers 13a and 13b, the influence of the winding resistance R of the AC motor 1 is sufficiently small compared to NωL and can be ignored.
[0149] Furthermore, from the above equations (1-27) and (1-28), the voltage required to cancel out the disturbance current Iq_wa_6f is the voltage obtained by inverting the sign of the disturbance current Iq_wa_6f (-Iq_wa_6f) and multiplying its amplitude by "NωL" or "Nω(L+M)". The reason for "advancing the phase by 90 degrees" is because the pure imaginary number j can be considered as a 90-degree phase shift calculator.
[0150] Based on this, when comparing Equation (1-28) with Equation (1-27) or Equation (1-28), the disturbance suppression command i_gairan is, as described above, "the disturbance suppression command i_gairan is obtained by inverting the sign of the disturbance suppression command i_gaian and advancing the phase by 90 degrees," and therefore coincides with "j·(-Iq_wa_6f)" in Equation (1-27) or Equation (1-28). Therefore, Equation (1-24) is equivalent to Equation (1-27) or Equation (1-28). For this reason, in this embodiment, the influence of the disturbance current can be removed by including a term (Equation (1-24)) including the disturbance suppression command i_gaian obtained by the disturbance suppression command calculator 902 in the pulsation suppression voltage Vq_FF shown in Equation (1-14).
[0151] Next, a description will be given of the effects of the pulsation suppression currents i_cancel and i_cancel2, which are outputs from the pulsation suppression current calculation unit 901. The torque equation of the AC motor 1 is expressed by the following equation (1-29), where Kt is the torque constant.
[0152]
[0153] However, AC motor 1 is considered approximately as having a larger magnet torque than reluctance torque. It goes without saying that if the motor has a large proportion of reluctance torque, it can be considered in the same way if the currents Id1 and Id2 are included in the equation. In the above equation (1-29), if the torque constant Kt includes the sixth electrical angle component Kt_6f in addition to the DC component Kt_dc, it can be expressed by the following equation (1-30).
[0154]
[0155] In the above equation (1-30), if Iq_wa is constant, the first term on the right-hand side becomes DC torque T_dc, and the second term on the right-hand side becomes torque pulsation T_6f, which pulsates at sixth-order electrical angle. If the DC component of Iq_wa is Iq_wa_dc, then when Iq_wa is constant, Iq_wa_dc = Iq_wa, so the second term on the right-hand side, T_6f, in equation (1-30) becomes the following equation (1-31).
[0156]
[0157] On the other hand, when a component Iq_wa_6f that pulsates at the sixth electrical angle is superimposed as Iq_wa in addition to Iq_wa_dc, equation (1-30) becomes the following equation (1-32).
[0158]
[0159] In the above equation (1-32), the "≒" symbol comes from the fact that the product of the sixth-order electrical component of the torque constant Kt_6f and the sixth-order electrical component of Iq_wa Iq_wa_6f is ignored as it is sufficiently small. Now, consider the case where the torque T is kept constant by canceling out T_6f in the second term on the right-hand side of equation (1-32) (= equation (1-31)) through the superposition of the sixth-order electrical component Iq_wa_6f, which pulsates. In this case, it is sufficient to satisfy the equation: second term on the right-hand side + third term on the right-hand side = 0, so solving this for Iq_wa_6f gives the following equation (1-33).
[0160]
[0161] If the sixth-order electrical component of Iq_wa (hereinafter referred to as the "torque canceling current") can be set as in the above equation (1-33), the sixth-order electrical component included in T will be zero.
[0162] In contrast to this, in this embodiment, the pulsation suppression current calculation unit 901 first calculates the 1 / Kt multiplication factor of the amplitude of the inverted value of the torque pulsation T_6f and the phase, as shown in the graphs in the middle and bottom sections of Figures 6 and 7, and then maps the amplitude as is and the phase advanced by 90 degrees, as shown in Figures 8 and 9. Note that the "1 / Kt multiplication factor of the amplitude of the inverted value of the torque pulsation T_6f" is equal to Tdc / (Iq1+Iq2) from equation (1-29).
[0163] The pulsation suppressing current i_cancel calculated in this manner is a command signal that has the same amplitude and a phase that is 90 degrees ahead of the graphs shown in the middle and bottom sections of Figures 6 and 7. Furthermore, the pulsation suppressing current i_cancel2 output from the pulsation suppressing current calculation unit 901 is a signal that lags i_cancel by 90 degrees, and is therefore the same command signal as the graphs shown in the middle and bottom sections of Figures 6 and 7.
[0164] The torque pulsation suppression command i_cancel calculated in this manner is finally reflected in the cancel voltage vq_cancel (Equation (1-14)) with its amplitude multiplied by "N·ω·L", and the pulsation suppression command i_cancel2 is reflected in the pulsation suppression voltage Vq_FF with its amplitude multiplied by "R". Therefore, of the pulsation suppression voltage Vq_FF, the term Vq_FF_T resulting from the pulsation suppression currents i_cancel and i_cancel2 is expressed by the following Equation (1-34). However, if the influence of M cannot be ignored, L can be replaced with L+M.
[0165]
[0166] On the other hand, the voltage Vtorque required to supply the current Iq_wa_6f expressed by equation (1-33) will be described. Since the impedance Z(N) of the AC motor 1 for the Nth electrical angle is expressed by equation (1-25) or equation (1-26), the voltage Vtorque is expressed by the following equation (1-35) or equation (1-36). Note that equation (1-35) below is an equation for when the influence of M can be ignored, and equation (1-36) below is an equation for when the influence of M cannot be ignored.
[0167]
[0168]
[0169] Here, if the signal with the current Iq_wa_6f advanced in phase by 90 degrees without changing the amplitude is Iq_wa_6f_90, then equation (1-35) becomes the following equation (1-37) or (1-38). Note that equation (1-37) below is an equation when the influence of M can be ignored, and equation (1-38) below is an equation when the influence of M cannot be ignored.
[0170]
[0171]
[0172] Comparing the above equations (1-34) and (1-37), Iq_wa_6f is equal to i_cancel2, and Iq_wa_6f_90 is equal to i_cancel. Therefore, equations (1-34) and (1-37) are equivalent. For this reason, in this embodiment, by providing the application term of the pulsation suppression current in the cancellation voltage v_cancel (equation (1-14)) as shown in equation (1-34), the sixth-order electrical angle component included in the motor current can be made to match the pulsation suppression current, which has the effect of reducing the torque ripple component caused by pulsation in the torque constant of the AC motor 1.
[0173] 1 , subtractors 11a and 11b add Icancel2 to the current command value Iq_target at a distribution ratio. Therefore, in a region where the response frequency of current controllers 13a and 13b is higher than the frequency of the sixth-order electrical component, current controllers 13a and 13b function to make current Iq1+Iq2 equal to Iq_target+Icancel2. However, when the frequency of the sixth-order electrical component becomes higher than the response frequency of current controllers 13a and 13b, current controllers 13a and 13b cannot make current Iq1+Iq2 equal to Iq_target+Icancel2. Even in this case, the adders 100a and 100b add the pulsation suppression voltage Vq_FF to the first voltage command value Vq1 and the second voltage command value Vq2 taking into consideration the distribution ratio, and include the term in equation (1-34) therein, thereby operating the feedforward control, so that the current Iq1+Iq2 coincides with Iq_target+Icancel2, and the ripple component of the torque is reduced.
[0174] Furthermore, if the frequency of the sixth-order electrical angle component is higher than the response frequency of the current controllers 13a and 13b and R<<NωL is satisfied in the region where the effect of the pulsation suppression voltage Vq_FF is expected, there will be no significant difference in the effect even if the term "R·i_cancel2" is omitted from the pulsation suppression voltage Vq_FF (Equation (1-34)).
[0175] As described above, in this embodiment, the cancellation calculation unit 500 can generate the pulsation suppression voltage Vq_FF that enables the supply of a pulsation suppression current that compensates for torque pulsation caused by pulsation in the torque constant of the AC motor 1 while suppressing the disturbance current caused by impedance distortion of the AC motor 1. This makes it possible to reduce torque pulsation of the AC motor 1, particularly in the high-speed rotation range.
[0176] Furthermore, if the operating range in which noise and vibration of the AC motor 1 become an issue is limited to the case where the frequency of the sixth-order electrical component is higher than the response frequency of the current controllers 13a and 13b, it is not necessary for the subtractors 11a and 11b to add the pulsation suppression current Icancel2. Even without adding the pulsation suppression current Icancel2 in the subtractors 11a and 11b, if the frequency of the sixth-order electrical component is higher than the response frequency of the current controllers 13a and 13b, it is possible to reduce torque pulsation, noise, and vibration of the AC motor 1 through the action of the pulsation suppression voltage Vq_FF.
[0177] Furthermore, when one of the first inverter 4a (and the controller controlling it are collectively referred to as the "first system") and the second inverter 4b (and the controller controlling it are collectively referred to as the "second system") that supply power to the AC motor 1 stops due to a failure, the addition of the pulsation suppression current and pulsation suppression voltage to the other system may be stopped. This has the effect that, when one system fails, ensuring torque by the supply current from the other system takes priority over reducing torque pulsation, noise, and vibration of the AC motor 1.
[0178] Second Embodiment Figure 14 is a block diagram showing the configuration of a main part of a motor control device according to a second embodiment of the present disclosure. In Figure 14, the same components as those shown in Figure 1 are denoted by the same reference numerals. In the present embodiment, the description of the same components as those described in the first embodiment will be omitted.
[0179] The motor control device according to this embodiment differs from the motor control device shown in FIG. 1 in that two DC power supplies 3a and 3b are provided instead of the DC power supply 3 in FIG. 1, and two controllers 6a and 6b are provided instead of the controller 6 shown in FIG. 1.
[0180] DC power supplies 3a and 3b are the same as the DC power supply 3 shown in Fig. 1. DC power supply 3a outputs a DC power supply voltage Vdc1 (first power supply voltage) to a first inverter 4a. DC power supply 3b outputs a DC power supply voltage Vdc2 (second power supply voltage) to a second inverter 4b. Note that any device that outputs a DC voltage, such as a battery, a DC-DC converter, a diode rectifier, or a PWM rectifier, can be used as DC power supplies 3a and 3b.
[0181] The first inverter 4a and the second inverter 4b are similar to those described in the first embodiment. However, the first inverter 4a of the present embodiment differs in that it receives a DC power supply voltage Vdc1 (first power supply voltage) output from the DC power supply 3a and is driven by on / off signals Qup1 to Qwn1 output from the controller 6a. The second inverter 4b of the present embodiment differs in that it receives a DC power supply voltage Vdc2 (second power supply voltage) output from the DC power supply 3b and is driven by Qup2 to Qwn2 output from the controller 6b.
[0182] The first controller 6a and the second controller 6b are, so to speak, two controllers obtained by dividing the functions of the controller 6 shown in Fig. 1. That is, in the first embodiment, the first controller and the second controller existed within the controller 6, but in this embodiment, the first controller exists within the first controller 6a, and the second controller exists within the second controller 6b. Also, in the first embodiment, the controller 6 was implemented by one controller such as a microcomputer, DSP, FPGA, or the like, but in this embodiment, the controller 6a is implemented by one controller, and the controller 6b is implemented by another controller.
[0183] The first controller 6a includes the coordinate converter 9a, subtractor 10a, subtractor 11a, current controller 12a, current controller 13a, adder 100a, coordinate converter 14a, and on / off signal generator 15a of the controller 6 shown in Fig. 1. The first controller 6a also includes a speed calculation unit 16a and a first cancellation calculation unit 500a.
[0184] The second controller 6b includes the coordinate converter 9b, subtractor 10b, subtractor 11b, current controller 12b, current controller 13b, adder 100b, coordinate converter 14b, and on / off signal generator 15b of the controller 6 shown in Fig. 1. The second controller 6b also includes a speed calculation unit 16b and a second cancellation calculation unit 500b.
[0185] FIG. 15 is a block diagram showing the internal configuration of a first cancellation calculation unit included in a motor control device according to a second embodiment of the present disclosure. Note that in FIG. 15, the same components as those shown in FIG. 5 are denoted by the same reference numerals. As shown in FIG. 15, the first cancellation calculation unit 500a includes a first pulsation suppression voltage distribution ratio setter 10000a and a first pulsation suppression current distribution ratio setter 20000a in addition to the pulsation suppression current calculation unit 901 and the pulsation suppression voltage calculation unit 501 shown in FIG. 5. The first cancellation calculation unit 500a generates and outputs a first pulsation suppression voltage Vq_FF1 and a first pulsation suppression current I_cancel_a based on the current command values Id_target1, Iq_target1, the rotational position θ, and the rotational speed ω.
[0186] The first pulsation suppression voltage distribution ratio setter 10000a calculates Kv (the distribution ratio of the pulsation suppression voltage Vq_FF to the first pulsation suppression voltage Vq_FF1) based on the first power supply voltage Vdc1 and the second power supply voltage Vdc2, and outputs Kv×Vq_FF as the first pulsation suppression voltage Vq_FF1. The first pulsation suppression current distribution ratio setter 20000a calculates Ki (the distribution ratio of the pulsation suppression current i_cancel2 to the first pulsation suppression current I_cancel_a) based on the first power supply voltage Vdc1 and the second power supply voltage Vdc2, and outputs Ki×i_cancel2 as the first pulsation suppression current I_cancel_a.
[0187] 16 is a diagram for explaining the operation of the first pulsation suppression voltage distribution ratio setter included in the motor control device according to the second embodiment of the present disclosure. Note that the graph shown in Fig. 16 has the difference "Vdc1-Vdc2" between the first power supply voltage Vdc1 and the second power supply voltage Vdc2 on the horizontal axis and the first pulsation suppression voltage Vq_FF1 (=Kv·Vq_FF) on the vertical axis.
[0188] As shown in FIG. 16 , the first pulsation suppression voltage distribution ratio setter 10000a is configured to output “Vq_FF1=Vq_FF (Kv=1)” if “Vdc1−Vdc2” exceeds the positive threshold Vth, and to output “Vq_FF1=0.0 (Kv=0)” if “Vdc1−Vdc2” is less than the negative threshold −Vth. The first pulsation suppression voltage distribution ratio setter 10000a is also configured to continuously vary Vq_FF1 from 0 to Vq_FF if “Vdc1−Vdc2” is equal to or greater than the negative threshold −Vth and equal to or less than the positive threshold Vth. In particular, if Vdc1=Vdc2 (the first power supply voltage and the second power supply voltage are equal), the first pulsation suppression voltage distribution ratio setter 10000a is configured to output “Vq_FF1=0.5Vq_FF (Kv=0.5).” Here, the threshold value is determined, for example, as Vq_FF×√2.
[0189] 17 is a diagram for explaining the operation of the first pulsation suppression current distribution ratio setter included in the motor control device according to the second embodiment of the present disclosure. Note that the graph shown in Fig. 17 has the difference "Vdc1-Vdc2" between the first power supply voltage Vdc1 and the second power supply voltage Vdc2 on the horizontal axis and the first pulsation suppression current I_cancel_a (=Ki·i_cancel2) on the vertical axis.
[0190] 17, the first pulsation suppression current distribution ratio setter 20000a is configured to output "I_cancel_a = i_cancel2 (Ki = 1)" if "Vdc1 - Vdc2" exceeds the positive threshold Vth, and to output "I_cancel_a = 0.0 (Ki = 0)" if "Vdc1 - Vdc2" is less than the negative threshold -Vth. The first pulsation suppression current distribution ratio setter 20000a is also configured to continuously vary I_cancel_a from 0 to i_cancel2 if "Vdc1 - Vdc2" is equal to or greater than the negative threshold -Vth and equal to or less than the positive threshold Vth. In particular, the first pulsation suppression current distribution ratio setter 20000a is configured to output "I_cancel_a = 0.5i_cancel2 (Ki = 0.5)" if Vdc1 = Vdc2 (the first power supply voltage and the second power supply voltage are equal).
[0191] FIG. 18 is a block diagram showing the internal configuration of a second cancellation calculation unit included in a motor control device according to a second embodiment of the present disclosure. Note that in FIG. 18 , the same components as those shown in FIG. 5 are denoted by the same reference numerals. As shown in FIG. 18 , the second cancellation calculation unit 500 b includes a second pulsation suppression voltage distribution ratio setter 10000 b and a second pulsation suppression current distribution ratio setter 20000 b in addition to the pulsation suppression current calculation unit 901 and the pulsation suppression voltage calculation unit 501 shown in FIG. 5 . The second cancellation calculation unit 500 b generates and outputs a second pulsation suppression voltage Vq_FF2 and a second pulsation suppression current I_cancel_b based on the current command values Id_target2, Iq_target2, the rotational position θ, and the rotational speed ω.
[0192] The second pulsation suppression voltage distribution ratio setter 10000b calculates (1-Kv) (distribution ratio of the pulsation suppression voltage Vq_FF to the second pulsation suppression voltage Vq_FF2) based on the first power supply voltage Vdc1 and the second power supply voltage Vdc2, and outputs (1-Kv)×Vq_FF as the second pulsation suppression voltage Vq_FF2. The second pulsation suppression current distribution ratio setter 20000b calculates (1-Ki) (distribution ratio of the pulsation suppression current i_cancel2 to the second pulsation suppression current I_cancel_b) based on the first power supply voltage Vdc1 and the second power supply voltage Vdc2, and outputs (1-Ki)×i_cancel2 as the second pulsation suppression current I_cancel_b.
[0193] 19 is a diagram for explaining the operation of the second pulsation suppression voltage distribution ratio setter included in the motor control device according to the second embodiment of the present disclosure. Note that the graph shown in Fig. 19 has the difference "Vdc1-Vdc2" between the first power supply voltage Vdc1 and the second power supply voltage Vdc2 on the horizontal axis and the second pulsation suppression voltage Vq_FF2 (=(1-Kv)Vq_FF) on the vertical axis.
[0194] 19, the second pulsation suppression voltage distribution ratio setter 10000b is set to output "Vq_FF2=0 (Kv=1)" if "Vdc1-Vdc2" exceeds the positive threshold Vth, and to output "Vq_FF2=Vq_FF (Kv=0)" if "Vdc1-Vdc2" is less than the negative threshold -Vth. Furthermore, the second pulsation suppression voltage distribution ratio setter 10000b is set to vary Vq_FF2 continuously from Vq_FF to 0 if "Vdc1-Vdc2" is equal to or greater than the negative threshold -Vth and equal to or less than the positive threshold Vth. In particular, the second pulsation suppression voltage distribution ratio setter 10000b is set to output "Vq_FF2=0.5Vq_FF (Kv=0.5)" if Vdc1=Vdc2 (the first power supply voltage and the second power supply voltage are equal).
[0195] 20 is a diagram for explaining the operation of the second pulsation suppression current distribution ratio setter included in the motor control device according to the second embodiment of the present disclosure. Note that the graph shown in Fig. 20 has the difference "Vdc1-Vdc2" between the first power supply voltage Vdc1 and the second power supply voltage Vdc2 on the horizontal axis and the second pulsation suppression current I_cancel_b (=(1-Ki)i_cancel2) on the vertical axis.
[0196] 20 , the second pulsation suppression current distribution ratio setter 20000b is configured to output "I_cancel_b=0 (Ki=1)" if "Vdc1-Vdc2" exceeds the positive threshold Vth, and to output "I_cancel_b=Icancel2 (Ki=0)" if "Vdc1-Vdc2" is less than the negative threshold -Vth. The second pulsation suppression current distribution ratio setter 20000b is also configured to continuously vary I_cancel_b from i_cancel2 to 0 if "Vdc1-Vdc2" is equal to or greater than the negative threshold -Vth and equal to or less than the positive threshold Vth. In particular, the second pulsation suppression current distribution ratio setter 20000b is configured to output "I_cancel_b=0.5i_cancel2 (Ki=0.5)" if Vdc1=Vdc2 (the first power supply voltage and the second power supply voltage are equal).
[0197] Fig. 21 is a diagram combining the characteristics shown in Fig. 16 and the characteristics shown in Fig. 19. Specifically, Fig. 21 is a diagram combining the characteristics of the first pulsation suppression voltage Vq_FF1 with respect to "Vdc1 - Vdc2" shown in Fig. 16 and the characteristics of the second pulsation suppression voltage Vq_FF2 with respect to "Vdc1 - Vdc2" shown in Fig. 19. The following can be said from Fig. 21. Case 1: When "Vdc1 - Vdc2 > Vth", Vq_FF1 = Vq_FF, Vq_FF2 = 0. Case 2: When "Vdc1 - Vdc2 < -Vth", Vq_FF1 = 0, Vq_FF2 = Vq_FF. Case 3: In cases other than Case 1 and Case 2, Vq_FF1 and Vq_FF2 change continuously with respect to "Vdc1 - Vdc2". In particular, when "Vdc1 = Vdc2", Vq_FF1 = Vq_FF2. Case 4: In all cases: Vq_FF1 + Vq_FF2 = Vq_FF holds.
[0198] In the above "Case 4," the sum of the pulsation suppression voltages supplied from the first inverter 4a and the second inverter 4b is equal to Vq_FF, so the function of suppressing torque ripple of the AC motor 1 is maintained, as in the first embodiment. Furthermore, in the above "Case 1" and "Case 3," when Vdc1 > Vdc2, Vq_FF1 > Vq_FF2, and the proportion of the first pulsation voltage becomes higher. In contrast, in the above "Case 2" and "Case 3," when Vdc1 < Vdc2, Vq_FF1 < Vq_FF2, and the proportion of the second pulsation voltage becomes higher.
[0199] 22 and 23 are diagrams for explaining the effect of the distribution ratio of the pulsation suppression voltage according to the second embodiment of the present disclosure. Note that, Figs. 22 and 23 are diagrams for explaining the effect of the distribution ratio of the pulsation suppression voltage Vq_FF when Vdc1>Vdc2. The relationship Vq1_limit>Vq2_limit holds for the limit values of the q-axis voltage.
[0200] Here, as shown in FIG. 22, if Kv=0.5, then Vq_FF1=Vq_FF2 holds. When the q-axis voltage command values (Vq1″, Vq2″) after addition of the pulsation suppression voltage have reached their limit values (Vq1_limit, Vq2_limit), the first voltage command value Vq1′ is limited to “Vq1_limit−Vq_FF1”, and the second voltage command value Vq2′ is limited to “Vq2_limit−Vq_FF2”. Here, since Vq_FF1=Vq_FF2, the difference between Vq1_limit and Vq2_limit directly becomes the difference ΔVq between the first voltage command value Vq1′ and the second voltage command value Vq2′. In contrast, as shown in FIG. 23, if Kv=0.8, then Vq_FF1>Vq_FF2 holds. Therefore, the difference ΔVq between the first voltage command value Vq1′ and the second voltage command value Vq2′ is smaller than in the case shown in FIG.
[0201] The first voltage command value Vq1' is a voltage that serves as a source of the q-axis component Iq1 of the first detected current, and the second voltage command value Vq2' is a voltage that serves as a source of the q-axis component Iq2 of the second detected current. Therefore, the difference ΔVq between the first voltage command value Vq1' and the second voltage command value Vq2' is the difference ΔIq between Iq1 and Iq2. In this embodiment, as shown in FIG. 23 , ΔIq is reduced by reducing the pulsation suppression voltage ΔVq. Reducing ΔIq reduces the imbalance between the excitation force due to the first drive current and the excitation force due to the second drive current, thereby achieving the effect of reducing vibration and noise generated by the AC motor 1. Furthermore, by varying the pulsation suppression current in accordance with Vdc1-Vdc2 as shown in FIGS. 19 and 20 , the relationship Kv=Ki can be maintained, thereby maintaining the effects described in the first embodiment.
[0202] Third Embodiment Figure 24 is a block diagram showing the configuration of a main part of a motor control device according to a third embodiment of the present disclosure. In Figure 24, the same components as those shown in Figures 1 and 14 are denoted by the same reference numerals. In this embodiment, the same components as those described in the first and second embodiments will not be described.
[0203] The motor control device according to this embodiment differs from the motor control device shown in Fig. 14 in that a voltage limiting unit 30000a is provided in controller 6a and a voltage limiting unit 30000b is provided in controller 6b. Another difference from embodiment 2 is that the present embodiment sets Id_target1 = Id_target2 and Iq_target1 = Iq_target2.
[0204] The voltage limiting unit 30000a limits the first voltage command values (voltage command values Vd1, Vq1) output from the current controllers 12a, 13b using the first power supply voltage Vdc1 and the second power supply voltage Vdc2, and outputs the limited first voltage command values Vd1', Vq1'.
[0205] 25 is a diagram illustrating the operation of a voltage limiting unit included in a motor control device according to the third embodiment of this disclosure. Here, the magnitude relationship between first power supply voltage Vdc1 and second power supply voltage Vdc2 is Vdc1>Vdc2. Now, assume that the first voltage command value (voltage command values Vd1, Vq1) is limited by a voltage limit circle for first power supply voltage Vdc1.
[0206] The voltage limiting unit 30000a limits the voltage to the lower of the first power supply voltage Vdc1 and the second power supply voltage Vdc2. Here, because Vdc1 > Vdc2, the voltage vector is limited to the voltage limit circle for the second power supply voltage Vdc2 (see "Voltage vector (after limit, solid line)" in FIG. 25). The voltage limiting unit 30000a outputs the d-axis component Vd1' and the q-axis component Vq1' of the limited voltage vector as the first voltage command value after limiting.
[0207] The voltage limiting unit 30000b limits the second voltage command values (voltage command values Vd2, Vq2) output from the current controllers 12b, 12b by the lower (minimum power supply voltage) of the first power supply voltage Vdc1 and the second power supply voltage Vdc2, and outputs the second voltage command values Vd2', Vq2' after limitation.
[0208] 26 is a diagram illustrating the operation of a voltage limiting unit included in a motor control device according to the third embodiment of this disclosure. Here, the magnitude relationship between the first power supply voltage Vdc1 and the second power supply voltage Vdc2 is Vdc1>Vdc2. Now, assume that the second voltage command value (voltage command values Vd2, Vq2) is limited by a voltage limit circle for the second power supply voltage Vdc2.
[0209] The voltage limiting unit 30000b limits the voltage to the lower (minimum power supply voltage) of the first power supply voltage Vdc1 and the second power supply voltage Vdc2. Here, because Vdc1 > Vdc2, the original limit value is output. Therefore, the second voltage command values Vd2', Vq2' after limiting output from the voltage limiting unit 30000b match the second voltage command values (voltage command values Vd2, Vq2).
[0210] 27 is a diagram illustrating the effect of the distribution ratio of the pulsation suppression voltage in the third embodiment of the present disclosure. In this embodiment, the limited first voltage command value and the limited second voltage command value are both limited by the lower of the first power supply voltage Vdc1 and the second power supply voltage Vdc2, and therefore, the two are the same. That is, Vd1' = Vd2' and Vq1' = Vq2' are established.
[0211] 27, Vq1' matches Vq2' even when the first pulsation suppression voltage Vq_FF1=0.8Vq_FF and the second pulsation suppression voltage Vq_FF2=0.2Vq_FF. Therefore, ΔVq=0 (ΔVd=Vd1'-Vd2'=0 also holds due to the action of the voltage limiting section), and the imbalance between the excitation force due to the first drive current and the excitation force due to the second drive current is further reduced compared to the configuration of the second embodiment, thereby achieving the effect of reducing vibration and noise generated by the AC motor 1.
[0212] [Fourth Embodiment] Figure 28 is a block diagram showing the configuration of a main part of a motor control device according to a fourth embodiment of the present disclosure. In Figure 28, the same components as those shown in Figures 1, 14, and 24 are denoted by the same reference numerals. In this embodiment, the same components as those described in the first to third embodiments will not be described.
[0213] The motor control device according to this embodiment differs from the motor control device shown in Fig. 24 in that a controller 6c is provided instead of the controller 6a, and a controller 6d is provided instead of the controller 6b. The controller 6c is configured such that a first cancellation calculation unit 500c is provided instead of the first cancellation calculation unit 500a of the controller 6a shown in Fig. 24. The controller 6d is configured such that a second cancellation calculation unit 500d is provided instead of the second cancellation calculation unit 500b of the controller 6b shown in Fig. 24. Furthermore, in this embodiment, as in the third embodiment, Id_target1 = Id_target2 and Iq_target1 = Iq_target2 are set.
[0214] Fig. 29 is a block diagram showing the internal configuration of a first cancellation calculation unit included in a motor control device according to embodiment 4 of the present disclosure. Note that in Fig. 29, the same components as those shown in Figs. 5 and 15 are denoted by the same reference numerals. As shown in Fig. 29, the first cancellation calculation unit 500c differs from the first cancellation calculation unit 500a shown in Fig. 15 in that a first pulsation suppression voltage distribution ratio setter 10000c is provided instead of the first pulsation suppression voltage distribution ratio setter 10000a, and a first pulsation suppression current distribution ratio setter 20000c is provided instead of the first pulsation suppression current distribution ratio setter 20000a.
[0215] 30 is a diagram for explaining the operation of the first pulsation suppression voltage distribution ratio setter included in the motor control device according to embodiment 4 of the present disclosure. Note that the graph shown in Fig. 30 has the voltage limit value difference ΔVq_limit shown in the following equation (4-1) on the horizontal axis and the first pulsation suppression voltage Vq_FF1 (=Kv·Vq_FF) on the vertical axis.
[0216]
[0217] Here, the first pulsation suppression voltage distribution ratio setter 10000c performs the calculations shown in the following equations (4-2) and (4-3) to obtain the first voltage limit value Vq_limit1 and the second voltage limit value Vq_limit2 in the above equation (4-1), respectively.
[0218]
[0219] However, the first voltage limit value Vq_limit1 and the second voltage limit value Vq_limit2 may be calculated by performing Taylor expansion or Maclaurin expansion instead of the calculations shown in the above formulas (4-2) and (4-3). Alternatively, a table showing the relationship between the first power supply voltage Vdc1, the second power supply voltage Vdc2, the first voltage command value Vd1′ and the first voltage limit value Vq_limit1 and the second voltage limit value Vq_limit2 may be created in advance, and the first voltage limit value Vq_limit1 and the second voltage limit value Vq_limit2 may be calculated using this table.
[0220] 30 , the first pulsation suppression voltage distribution ratio setter 10000c is set to output "Vq_FF1=Vq_FF (Kv=1)" if the voltage limit value difference ΔVq_limit (=Vq_limit1-Vq_limit2) exceeds the positive pulsation suppression voltage Vq_FF, and to output "Vq_FF1=0.0 (Kv=0)" if the voltage limit value difference ΔVq_limit (=Vq_limit1-Vq_limit2) is less than the negative pulsation suppression voltage -Vq_FF. Moreover, the first pulsation suppression voltage distribution ratio setter 10000c is set to change Vq_FF1 continuously from 0 to Vq_FF if the voltage limit value difference ΔVq_limit (=Vq_limit1-Vq_limit2) is equal to or greater than the negative pulsation suppression voltage -Vq_FF and equal to or less than the positive pulsation suppression voltage Vq_FF. In particular, if Vdc1=Vdc2 (the first power supply voltage and the second power supply voltage are equal), the voltage limit value difference ΔVq_limit shown in the above-mentioned formula (4-1) becomes 0, and the setting is made to output "Vq_FF1=0.5Vq_FF (Kv=0.5)." In other words, if the first power supply voltage and the second power supply voltage are equal, the first pulsation suppression voltage and the second pulsation suppression voltage are equal, and the setting is made to output half of the pulsation suppression voltage.
[0221] Therefore, the output value Vq_FF1 of the first pulsation suppression voltage distribution ratio setter 10000c is expressed by the following equation (4-4).
[0222]
[0223] Here, Kv (the distribution ratio of the pulsation suppression voltage Vq_FF to the first pulsation suppression voltage Vq_FF1) of the first pulsation suppression voltage distribution ratio setter 10000c is expressed by the following formula (4-5): However, in the following formula (4-5), if Kv is less than 0 or exceeds 1, it is limited to 0≦Kv≦1.
[0224]
[0225] FIG. 31 is a diagram illustrating the operation of the first pulsation suppression current distribution ratio setter provided in the motor control device according to the fourth embodiment of the present disclosure. The operation of the first pulsation suppression current distribution ratio setter 20000c is basically the same as the operation of the first pulsation suppression voltage distribution ratio setter 10000c. Therefore, a description of the operation of the first pulsation suppression current distribution ratio setter 20000c will be omitted. Note that Ki (the distribution ratio of the pulsation suppression current i_cancel2 to the first pulsation suppression current I_cancel_a) of the first pulsation suppression current distribution ratio setter 20000c is expressed by an equation in which Vq_FF in the above equation (4-5) is replaced with i_cancel2. However, if Ki is less than 0 or greater than 1, it is limited to 0≦Ki≦1.
[0226] Fig. 32 is a block diagram showing the internal configuration of a second cancellation calculation unit included in a motor control device according to embodiment 4 of the present disclosure. Note that in Fig. 32, the same components as those shown in Figs. 5 and 18 are denoted by the same reference numerals. As shown in Fig. 32, the second cancellation calculation unit 500d differs from the second cancellation calculation unit 500b shown in Fig. 18 in that a second pulsation suppression voltage distribution ratio setter 10000d is provided instead of the second pulsation suppression voltage distribution ratio setter 10000b, and a second pulsation suppression current distribution ratio setter 20000d is provided instead of the second pulsation suppression current distribution ratio setter 20000b.
[0227] 33 is a diagram for explaining the operation of the second pulsation suppression voltage distribution ratio setter included in the motor control device according to embodiment 4 of the present disclosure. Note that the graph shown in Fig. 33 has the voltage limit value difference ΔVq_limit (=Vq_limit1-Vq_limit2) on the horizontal axis and the second pulsation suppression voltage Vq_FF2 (=(1-Kv)·Vq_FF) on the vertical axis.
[0228] 33 , the second pulsation suppression voltage distribution ratio setter 10000d is set to output "Vq_FF2=0 (Kv=1)" if the voltage limit value difference ΔVq_limit (=Vq_limit1−Vq_limit2) exceeds the positive pulsation suppression voltage Vq_FF, and to output "Vq_FF2=Vq_FF (Kv=0)" if the voltage limit value difference ΔVq_limit (=Vq_limit1−Vq_limit2) is less than the negative pulsation suppression voltage −Vq_FF. Moreover, the second pulsation suppression voltage distribution ratio setter 10000d is set to change Vq_FF2 continuously from Vq_FF to 0 if the voltage limit value difference ΔVq_limit (=Vq_limit1−Vq_limit2) is equal to or greater than the negative pulsation suppression voltage −Vq_FF and equal to or less than the positive pulsation suppression voltage Vq_FF.
[0229] Therefore, the output value Vq_FF2 of the second pulsation suppression voltage distribution ratio setter 10000d is expressed by the following equation (4-6).
[0230]
[0231] Furthermore, the following equation (4-7) is obtained from the above equations (4-4) and (4-6), and the relationship shown in FIG. 35 holds.
[0232]
[0233] Fig. 35 is a diagram obtained by combining the characteristics shown in Fig. 30 and the characteristics shown in Fig. 33. Specifically, Fig. 35 is a diagram obtained by combining the characteristics of the first pulsation suppression voltage Vq_FF1 with respect to the voltage limit value difference ΔVq_limit shown in Fig. 30 and the characteristics of the second pulsation suppression voltage Vq_FF2 with respect to the voltage limit value difference ΔVq_limit shown in Fig. 33. As shown in Fig. 35, the sum of the first pulsation suppression voltage Vq_FF1 and the second pulsation suppression voltage Vq_FF2 is always equal to the pulsation suppression voltage Vq_FF.
[0234] 34 is a diagram for explaining the operation of the second pulsation suppression current distribution ratio setter provided in the motor control device according to the fourth embodiment of the present disclosure. The operation of the second pulsation suppression current distribution ratio setter 20000d is basically the same as the operation of the second pulsation suppression voltage distribution ratio setter 10000d. Therefore, a description of the operation of the second pulsation suppression current distribution ratio setter 20000d will be omitted.
[0235] FIG. 36 is a diagram illustrating the operation of a voltage limiting unit included in a motor control device according to embodiment 4 of the present disclosure. Here, the magnitude relationship between the first power supply voltage Vdc1 and the second power supply voltage Vdc2 is Vdc1>Vdc2, as in FIGS. 25 and 26 . Here, Vd1′=Vd2′. Therefore, taking Vd1′ and Vd2′ into consideration, there is a constraint (hereinafter referred to as the “first constraint”) that the q-axis voltage of the first inverter 4a can only be output up to the voltage limit value Vq_limit1, and the q-axis voltage of the second inverter 4b can only be output up to the voltage limit value Vq_limit2.
[0236] Furthermore, it is necessary to apply the first pulsation suppression voltage Vq_FF1 and the second pulsation suppression voltage Vq_FF2 so as to satisfy the above formula (4-7) while satisfying the above first constraint, and to set the first voltage command value Vq1' and the second voltage command value Vq2' so as to satisfy ΔVq = (Vq1' - Vq2') = 0. Note that applying the first pulsation suppression voltage Vq_FF1 and the second pulsation suppression voltage Vq_FF2 so as to satisfy the above formula (4-7) is a constraint (hereinafter referred to as the "second constraint") for suppressing N-order torque ripple generated by the AC motor 1. Furthermore, setting the first voltage command value Vq1' and the second voltage command value Vq2' so as to satisfy ΔVq = (Vq1' - Vq2') = 0 is a constraint (hereinafter referred to as the "third constraint") for suppressing an imbalance between the excitation force due to the first drive current and the excitation force due to the second drive current, as described in the third embodiment.
[0237] Here, due to the above-described first constraint, the constraint shown in the following formula (4-8) is imposed on the voltage Vq1" output from the adder 100a, and the constraint shown in the following formula (4-9) is imposed on the voltage Vq2" output from the adder 100b. Note that the voltage Vq1" is a voltage on which the first pulsation suppression voltage Vq_FF1 is superimposed, and the voltage Vq2" is a voltage on which the second pulsation suppression voltage Vq_FF2 is superimposed.
[0238]
[0239] Here, the first voltage command value Vq1′ before adding the first pulsation suppression voltage Vq_FF1 is given by the following equation (4-10): Also, the second voltage command value Vq2′ before adding the second pulsation suppression voltage Vq_FF2 is given by the following equation (4-11):
[0240]
[0241]
[0242] Next, when the above-mentioned formula (4-4) is taken into consideration in relation to the above formula (4-10), the voltage Vq1" after the pulsation suppression voltage is superimposed is expressed by the following formula (4-12). Also, when the above-mentioned formula (4-6) is taken into consideration in relation to the above formula (4-11), the voltage Vq2" after the pulsation suppression voltage is superimposed is expressed by the following formula (4-12).
[0243]
[0244]
[0245] By providing the first voltage command value Vq1′ and the second voltage command value Vq2′ as in the above equations (4-10) and (4-11), respectively, the second constraint is satisfied, and furthermore, it can be seen from the above equations (4-12) and (4-13) that the third constraint is also satisfied.
[0246] That is, for the voltage Vq1" after the pulsation suppression voltage is superimposed, if the condition is "Vq_FF<ΔVq_limit," then "Vq1" = Vq_limit2 + Vq_FF," which is smaller than "Vq_limit1." This is a constraint for satisfying the second condition. Note that when "ΔVq_limit" is larger than "Vq_FF," outputting up to Vq1" = Vq_limit1 does not satisfy the second and third conditions. Under other conditions, it is possible to set Vq1" = Vq_limit1 (to output up to the limit of the first inverter 4a).
[0247] Furthermore, for the voltage Vq2" after the pulsation suppression voltage is superimposed, if the condition "ΔVq_limit<-Vq_FF (which can be rearranged to Vq_FF<Vq_limit2-Vq_limit1)" holds, then "Vq2" = Vq_limit1 + Vq_FF" is smaller than "Vq_limit2." This is a constraint for satisfying the second condition. Note that when "Vq_limit2-Vq_limit1" is greater than "Vq_FF," outputting up to Vq2" = Vq_limit2 does not satisfy the second and third conditions. Under other conditions, it is possible to set Vq2" = Vq_limit2 (to output up to the limit of the second inverter 4b).
[0248] As described above, in this embodiment, since the first to third constraints are satisfied, even when there is a difference between the first power supply voltage and the second power supply voltage, it is possible to provide a quiet motor control device that suppresses noise generated by the AC motor 1. Note that the noise generated by the AC motor 1 includes noise caused by torque ripple of the Nth electrical angle and noise caused by an imbalance between the excitation force due to the first drive current and the excitation force due to the second drive current.
[0249] The first to fourth embodiments described above make it possible to reduce torque ripple generated by a motor having two winding sets, and to simultaneously satisfy the "demand for reliability (fault tolerance) required of a motor control device" and the "improved quietness of the motor."
[0250] 37 is a diagram showing the configuration of a main part of an electric power steering device according to a fifth embodiment of the present disclosure. As shown in Fig. 37, an electric power steering device 50 includes a steering wheel 51, a steering shaft 52, a rack and pinion gear 53, wheels 54, tie rods 55, knuckle arms 56, a torque detector 57, a rotation detector 58, a motor 59, and a motor control device 60.
[0251] The steering wheel 51 is a so-called handle that is operated by a vehicle driver (not shown) to apply a steering angle to the steered wheels (wheels 54) of the vehicle. The steering shaft 52 is composed of an input shaft 52a connected to the steering wheel 51 side and an output shaft 52b connected to the rack and pinion gear 53 side. The input shaft 52a and the output shaft 52b are connected to each other by a torsion bar (not shown).
[0252] The torsion bar is disposed within the torque detector 57 and passes through the torque detector 57 in the axial direction. The torsion bar generates a twist in response to the steering torque applied to the steering wheel 51 by the driver's operation, and the torque detector 57 detects the direction and amount of this twist. Note that hereinafter, the steering wheel 51, steering shaft 52, and torsion bar will be collectively referred to as the "steering."
[0253] The rack-pinion gear 53 includes a pinion gear (not shown) attached to the tip of the output shaft 52 b and a rack (not shown) that meshes with the pinion gear, and converts the rotational motion of the pinion gear into reciprocating motion. The rack and wheels 54 are connected via tie rods 55 and knuckle arms 56.
[0254] The torque detector 57 detects the steering torque applied to the torsion bar when the driver turns the steering wheel 51. When steering torque is applied, a twist is generated in the torsion bar that is approximately proportional to the steering torque. The torque detector 57 detects this twist angle and converts it into steering torque. The rotation detector 58 is attached to the rotating shaft of the motor 59 and detects the rotation position of the rotating shaft.
[0255] The motor 59 generates a steering assist torque for steering under the control of the motor control device 60. The motor 59 is configured as, for example, an AC motor such as a permanent magnet synchronous motor or an induction motor, or a DC motor. The motor control device 60 controls the motor 59 based on the steering torque converted by the torque detector 57 and the rotational position detected by the rotation detector 58, to generate a steering assist torque for steering.
[0256] Here, for example, motor 59 is AC motor 1 described in any of the first to fourth embodiments, and rotation detector 58 is position detector 2 described in any of the first to fourth embodiments. Also, motor control device 60 is the motor control device described in any of the first to fourth embodiments. Therefore, electric power steering device 50 according to this embodiment can reduce torque ripple generated by motor 59 having two winding sets, thereby improving reliability and quietness.
[0257] Although the embodiments of the present disclosure have been described above, the present disclosure is not limited to the above-described embodiments and can be freely modified within the scope of the present disclosure. For example, the above-described embodiments 1 to 4 may be freely combined as appropriate.
[0258] In addition, in the first to fourth embodiments, examples have been described in which the current command values (Id_target, Iq_target, Id_target1, Iq_target1, Id_target2, Iq_target2) are input to the cancellation calculation unit. However, instead of the above current command values, the first detected currents (Id1, Iq1) detected by the current detector 5a and the second detected currents (Id2, Iq2) detected by the current detector 5b may be used as current signals to be input to the cancellation calculation unit.
[0259] Here, if the first detected current and the second detected current detected by the current detectors 5a and 5b are used instead of the above command values, it is conceivable that high-frequency noise superimposed on the first detected current and the second detected current may adversely affect the calculations in the cancellation calculation unit. To avoid such adverse effects, it goes without saying that a low-pass filter that removes high-frequency noise may be applied to the first detected current (Id1, Iq1) or the second detected current (Id2, Iq2), and the result may be used as the current signal input to the cancellation calculation unit.
[0260] In addition, in the first to fourth embodiments, the rotational position θ to be input to the cancellation calculation unit may be the detection result of a rotational position sensor, or may be an estimated rotational position θ obtained by known rotational position sensorless control.
[0261] The controller 6 in the first embodiment, the first controller 6a and the second controller 6b in the second and third embodiments, and the first controller 6c and the second controller 6d in the fourth embodiment may be realized by cooperation of software and hardware resources. That is, each of the functions may be realized by recording a program for realizing the function on a computer-readable recording medium, and reading and executing the program recorded on the recording medium into a computer system.
[0262] REFERENCE SIGNS LIST 1... AC motor, 2... position detector, 3, 3a, 3b... DC power supply, 4a... first inverter, 4b... second inverter, 5a, 5b... current detector, 6, 6a, 6b... controller, 50... electric power steering device, 57... torque detector, 59... motor, 60... motor control device, Icancel_a... first pulsation suppression current, Icancel_b... second pulsation suppression current, Id_target, Iq_target... current command value, Id_target1, Iq_target1... current command value, Id_target2, Iq_target2...current command values, Iu1, Iv1, Iw1...current, Iu2, Iv2, Iw2...current, UV1, VW1, UW1...first three-phase winding set, UV2, VW2, UW2...second three-phase winding set, Vd1, Vq1...voltage command values, Vd2, Vq2...voltage command values, Vq_FF...pulsation suppression voltage, Vq_FF1...first pulsation suppression voltage, Vq_FF2...second pulsation suppression voltage, Vu1, Vv1, Vw1...voltage command values, Vu2, Vv2, Vw2...voltage command values
Claims
1. A motor control device that controls a motor having two winding sets by energizing the two winding sets with a first drive current output from a first inverter and a second drive current output from a second inverter, respectively. A controller is provided that calculates a pulsation suppression voltage based on the rotational position of the motor and superimposes on at least one of a first voltage command value corresponding to the output voltage command value of the first inverter and a second voltage command value corresponding to the output voltage command value of the second inverter, thereby reducing the pulsation component included in the torque generated by the motor. The controller sets a distribution ratio for distributing the pulsation suppression voltage to the first inverter and the second inverter, and superimposes the pulsation suppression voltage corresponding to the distribution ratio onto the first voltage command value and the second voltage command value. Motor control device.
2. The controller includes a first controller that calculates the first voltage command value based on the current command value which is the command value of the first drive current and the second drive current and the first detection current which is the detection current of the first drive current, A second controller calculates the second voltage command value based on the current command value and the second detection current, which is the detection current of the second drive current. Equipped with, At least one of the first controller and the second controller superimposes a pulsation suppression current on the current command value to reduce the pulsation component included in the torque. The motor control device according to claim 1.
3. The motor control device according to claim 2, wherein the controller matches the distribution ratio for distributing the pulsation suppression voltage to the first inverter and the second inverter with the ratio of the pulsation suppression current superimposed by the first controller on the current command value and the pulsation suppression current superimposed by the second controller on the current command value.
4. The controller sets the distribution ratio such that, if the first power supply voltage, which is the DC power supply voltage input to the first inverter, is higher than the second power supply voltage, which is the DC power supply voltage input to the second inverter, the pulsation suppression voltage is distributed more to the first inverter than to the second inverter. If the second power supply voltage is higher than the first power supply voltage, the distribution ratio is set so that the pulsation suppression voltage is distributed more to the second inverter than to the first inverter. The motor control device according to claim 1.
5. The motor control device according to claim 4, wherein the controller calculates a differential voltage based on the difference between the first power supply voltage and the second power supply voltage, and varies the distribution ratio according to the differential voltage.
6. The motor control device according to claim 1, wherein the controller limits the first voltage command value and the second voltage command value by a threshold value based on the minimum power supply voltage, when the lower of the first power supply voltage, which is the DC power supply voltage input to the first inverter, and the second power supply voltage, which is the DC power supply voltage input to the second inverter, is set as the minimum power supply voltage.
7. The motor control device according to claim 2, further comprising a pulsation suppression voltage calculation unit that calculates a pulsation suppression voltage whose amplitude is proportional to the pulsation suppression current and the rotational speed of the motor, and whose phase is a leading phase of 0 degrees or more and 90 degrees or less with respect to one period of the pulsation suppression current.
8. The motor control device according to claim 7, wherein the pulsation suppression voltage calculation unit calculates the pulsation suppression voltage based on a disturbance suppression current that suppresses disturbance currents generated based on the pulsation component of the magnetic flux of the motor.
9. A torque detector that detects the steering torque, A motor having two winding sets through which a first drive current output from a first inverter and a second drive current output from a second inverter are respectively energized, generates steering assist torque for the steering, A motor control device according to any one of claims 1 to 8, which controls the drive of the motor in accordance with the steering torque detected by the torque detector, An electric power steering system equipped with an electric power steering system.