WO2024095330A1 - Motor control device - Google Patents

Motor control device Download PDF

Info

Publication number
WO2024095330A1
WO2024095330A1 PCT/JP2022/040762 JP2022040762W WO2024095330A1 WO 2024095330 A1 WO2024095330 A1 WO 2024095330A1 JP 2022040762 W JP2022040762 W JP 2022040762W WO 2024095330 A1 WO2024095330 A1 WO 2024095330A1
Authority
WO
WIPO (PCT)
Prior art keywords
value
current
motor
voltage command
axis
Prior art date
Application number
PCT/JP2022/040762
Other languages
French (fr)
Japanese (ja)
Inventor
健太郎 松尾
峻 谷口
俊幸 安島
Original Assignee
日立Astemo株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 日立Astemo株式会社 filed Critical 日立Astemo株式会社
Priority to PCT/JP2022/040762 priority Critical patent/WO2024095330A1/en
Publication of WO2024095330A1 publication Critical patent/WO2024095330A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H02GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
    • H02PCONTROL OR REGULATION OF ELECTRIC MOTORS, ELECTRIC GENERATORS OR DYNAMO-ELECTRIC CONVERTERS; CONTROLLING TRANSFORMERS, REACTORS OR CHOKE COILS
    • H02P27/00Arrangements or methods for the control of AC motors characterised by the kind of supply voltage
    • H02P27/04Arrangements or methods for the control of AC motors characterised by the kind of supply voltage using variable-frequency supply voltage, e.g. inverter or converter supply voltage
    • H02P27/06Arrangements or methods for the control of AC motors characterised by the kind of supply voltage using variable-frequency supply voltage, e.g. inverter or converter supply voltage using dc to ac converters or inverters
    • H02P27/08Arrangements or methods for the control of AC motors characterised by the kind of supply voltage using variable-frequency supply voltage, e.g. inverter or converter supply voltage using dc to ac converters or inverters with pulse width modulation
    • HELECTRICITY
    • H02GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
    • H02PCONTROL OR REGULATION OF ELECTRIC MOTORS, ELECTRIC GENERATORS OR DYNAMO-ELECTRIC CONVERTERS; CONTROLLING TRANSFORMERS, REACTORS OR CHOKE COILS
    • H02P6/00Arrangements for controlling synchronous motors or other dynamo-electric motors using electronic commutation dependent on the rotor position; Electronic commutators therefor
    • H02P6/08Arrangements for controlling the speed or torque of a single motor

Definitions

  • the present invention relates to a device for controlling a motor.
  • Patent Document 1 describes a control device for an electric motor drive device that, when synchronous control mode is selected, performs a current detection process IS for detecting the current flowing through the coil of an AC motor at every reference calculation period T0 set to 1/2 the carrier period, performs a voltage control process VC at a period N times (N is an integer equal to or greater than 2) the reference calculation period T0, and feeds back N current detection values detected by N current detection processes IS to perform one voltage control process VC.
  • N is an integer equal to or greater than 2
  • Patent Document 1 makes it possible to speed up current detection processing, but the cycle of the voltage control processing is the same as the carrier cycle. Therefore, the number of times that the current detection value can be reflected in motor control during one electrical angle cycle remains unchanged, and it is not possible to increase the number of times that the current detection value is reflected in motor control during high speed rotation.
  • the main objective of the present invention is to solve the above problems by improving motor control performance while suppressing increases in processing load during motor control at high speeds.
  • the motor control device generates a gate signal for controlling the operation of a switching element of an inverter having a plurality of switching elements, and outputs the generated gate signal to the inverter to control the drive of an AC motor connected to the inverter.
  • the motor control device includes a current detection unit that obtains a current detection value corresponding to the current flowing through the AC motor, a current control unit that obtains a current command value for the AC motor and calculates a voltage command value for the AC motor for each predetermined calculation period based on the current command value and the current detection value, and a voltage control unit that executes a control calculation based on the voltage command value for each calculation period and determines a duty command for generating the gate signal, the current detection unit obtains the current detection value at least twice for each calculation period, and the voltage control unit determines at least two or more types of duty commands for each calculation period and reflects them in the gate signal.
  • FIG. 1 is a diagram showing the overall configuration of a motor drive system including a motor control device according to an embodiment of the present invention
  • 1 is a block diagram showing a functional configuration of a motor control device according to an embodiment of the present invention
  • FIG. 2 is a block diagram of a current converter according to an embodiment of the present invention.
  • FIG. 2 is a block diagram of a voltage control unit according to an embodiment of the present invention.
  • 11A and 11B are diagrams comparing dead time compensation in a conventional example and the present invention;
  • FIG. 11 is a comparison diagram of calculation processing between the conventional example and the present invention.
  • FIG 1 is an overall configuration diagram of a motor drive system equipped with a motor control device according to one embodiment of the present invention.
  • the motor drive system 100 includes a motor control device 1, an AC motor (hereinafter simply referred to as "motor") 2, an inverter 3, a rotational position detector 4, and a high-voltage battery 5.
  • motor AC motor
  • inverter 3
  • rotational position detector 4 4
  • high-voltage battery 5 5
  • the motor control device 1 controls the operation of the inverter 3 based on a torque command T* corresponding to a target torque required of the motor 2 by the vehicle, thereby generating a gate signal for controlling the drive of the motor 2. The generated gate signal is then output to the inverter 3. Details of the motor control device 1 will be explained later.
  • the inverter 3 has an inverter circuit 31, a gate drive circuit 32, and a smoothing capacitor 33.
  • the gate drive circuit 32 generates a gate drive signal for controlling each switching element of the inverter circuit 31 based on a gate signal input from the motor control device 1, and outputs the gate drive signal to the inverter circuit 31.
  • the inverter circuit 31 has switching elements corresponding to the upper and lower arms of the U, V, and W phases, respectively. By controlling each of these switching elements according to the gate drive signal input from the gate drive circuit 32, the DC power supplied from the high-voltage battery 5 is converted into AC power and output to the motor 2.
  • the smoothing capacitor 33 smoothes the DC power supplied from the high-voltage battery 5 to the inverter circuit 31.
  • Motor 2 is a synchronous motor that is driven to rotate by AC power supplied from inverter 3, and has a stator and a rotor.
  • AC power input from inverter 3 is applied to armature coils Lu, Lv, and Lw provided in the stator, three-phase AC currents Iu, Iv, and Iw are conducted in motor 2, and armature magnetic flux is generated in each armature coil. Attractive and repulsive forces are generated between the armature magnetic flux of each armature coil and the magnetic flux of the permanent magnets arranged in the rotor, generating torque in the rotor and driving the rotor to rotate.
  • a rotational position sensor 8 is attached to the motor 2 to detect the rotational position ⁇ of the rotor.
  • the rotational position detector 4 calculates the rotational position ⁇ from the input signal of the rotational position sensor 8.
  • the calculation result of the rotational position ⁇ by the rotational position detector 4 is input to the motor control device 1, and is used in the phase control of the AC power that the motor control device 1 performs in accordance with the phase of the induced voltage of the motor 2.
  • a resolver consisting of an iron core and windings is more suitable for the rotational position sensor 8, but a sensor using a magnetic resistance element such as a GMR sensor or a Hall element is also acceptable.
  • the rotational position detector 4 may estimate the rotational position ⁇ using the three-phase AC currents Iu, Iv, Iw flowing through the motor 2 and the three-phase AC voltages Vu, Vv, Vw applied to the motor 2 from the inverter 3, without using an input signal from the rotational position sensor 8.
  • a current sensor 7 is disposed between the inverter 3 and the motor 2.
  • the current sensor 7 detects the three-phase AC currents Iu, Iv, Iw (U-phase AC current Iu, V-phase AC current Iv, and W-phase AC current Iw) passing through the motor 2.
  • the current sensor 7 is configured using, for example, a Hall current sensor.
  • the detection results of the three-phase AC currents Iu, Iv, Iw by the current sensor 7 are input to the motor control device 1 and are used for the phase control of AC power performed by the motor control device 1, similar to the calculation result of the rotational position ⁇ by the rotational position detector 4. Note that while FIG.
  • the current sensor 7 is configured with three current detectors, it is also possible to use two current detectors and calculate the AC current of the remaining one phase because the sum of the three-phase AC currents Iu, Iv, Iw is zero.
  • the pulsed DC current flowing from the high-voltage battery 5 to the inverter 3 may be detected by a shunt resistor or the like inserted between the smoothing capacitor 33 and the inverter 3, and the three-phase AC currents Iu, Iv, and Iw may be calculated based on this DC current and the three-phase AC voltages Vu, Vv, and Vw applied from the inverter 3 to the motor 2.
  • FIG. 2 is a block diagram showing the functional configuration of the motor control device 1 according to one embodiment of the present invention.
  • the motor control device 1 has the following functional blocks: a current command generation unit 10, a speed calculation unit 11, a current detection unit 12, a current conversion unit 13, a current control unit 14, a carrier frequency control unit 15, a voltage control unit 16, and a gate signal generation unit 17.
  • the motor control device 1 is configured, for example, by a microcomputer, and these functional blocks can be realized by executing a predetermined program in the microcomputer. Alternatively, some or all of these functional blocks may be realized using hardware circuits such as logic ICs or FPGAs.
  • the current command generating unit 10 calculates the d-axis current command Id* and the q-axis current command Iq* based on the input torque command T* and the voltage Vdc of the high-voltage battery 5.
  • the d-axis current command Id* and the q-axis current command Iq* corresponding to the torque command T* are calculated using, for example, a preset current command map or formula.
  • the speed calculation unit 11 calculates the motor rotation speed ⁇ , which represents the rotation speed (revolutions) of the motor 2, from the change over time in the rotation position ⁇ .
  • the motor rotation speed ⁇ may be a value expressed as either an angular velocity (rad/s) or a rotation speed (rpm). These values may also be converted into each other for use.
  • the current detection unit 12 samples the detection signals of the three-phase AC currents Iu, Iv, Iw input from the current sensor 7 at predetermined sampling periods, and obtains the first three-phase AC current detection values Iua, Iva, Iwa (the first U-phase AC current detection value Iua, the first V-phase AC current detection value Iva, and the first W-phase AC current detection value Iwa) and the second three-phase AC current detection values Iub, Ivb, Iwb (the second U-phase AC current detection value Iub, the second V-phase AC current detection value Ivb, and the second W-phase AC current detection value Iwb) at different timings.
  • the current detection unit 12 samples the three-phase AC currents Iu, Iv, and Iw in a sampling period that is half the calculation period of the current control calculation performed by the current control unit 14, and stores the sampling results in the microcomputer register as the first three-phase AC current detection values Iua, Iva, and Iwa and the second three-phase AC current detection values Iub, Ivb, and Iwb.
  • the first three-phase AC current detection values Iua, Iva, and Iwa are currents detected half a cycle before the current control calculation task is started.
  • the second three-phase AC current detection values Iub, Ivb, and Iwb are currents detected when the current control calculation task is started.
  • the timing of current detection is delayed by about several ⁇ s from the start of the current control calculation task and half a cycle before. That is, the current detection unit 12 obtains the current detection values twice for each calculation cycle of the current control calculation, and outputs the current detection values obtained the first time as the first three-phase AC current detection values Iua, Iva, Iwa, and the current detection values obtained the second time as the second three-phase AC current detection values Iub, Ivb, Iwb to the current conversion unit 13 for each calculation cycle.
  • the current conversion unit 13 performs dq conversion based on the rotational position ⁇ and rotational speed ⁇ on the first three-phase AC current detection values Iua, Iva, Iwa and the second three-phase AC current detection values Iub, Ivb, Iwb acquired by the current detection unit 12, and calculates the d-axis current value Id and the q-axis current value Iq based on the results of these dq conversions.
  • the current conversion unit 13 calculates the average current values of the d-axis and q-axis based on the first d-axis current value Id1 and the first q-axis current value Iq1 obtained by dq conversion of the first three-phase AC current detection values Iua, Iva, Iwa, and the second d-axis current value Id2 and the second q-axis current value Iq2 obtained by dq conversion of the second three-phase AC current detection values Iub, Ivb, Iwb. Then, the current conversion unit 13 outputs the calculated average current values as the d-axis current value Id and the q-axis current value Iq.
  • the method for calculating the d-axis current value Id and the q-axis current value Iq by the current converter 13 will be described in detail later.
  • the current control unit 14 calculates a d-axis voltage command Vd* and a q-axis voltage command Vq* according to the torque command T* based on the deviation between the d-axis current command Id* and the q-axis current command Iq* output from the current command generation unit 10 and the d-axis current value Id and the q-axis current value Iq output from the current conversion unit 13, so that these values match.
  • the d-axis voltage command Vd* according to the deviation between the d-axis current command Id* and the d-axis current value Id and the q-axis voltage command Vq* according to the deviation between the q-axis current command Iq* and the q-axis current value Iq are calculated at each predetermined calculation cycle by current control calculation using a control method such as PI control.
  • the carrier frequency control unit 15 calculates a carrier frequency fc representing the frequency of the carrier wave used to generate the PWM pulse signal based on the rotational position ⁇ determined by the rotational position detector 4 and the rotational speed ⁇ determined by the speed calculation unit 11. For example, the carrier frequency fc is calculated so that the number of carrier waves per rotation of the motor 2 matches a predetermined number Nc.
  • the voltage control unit 16 uses the rotational position ⁇ , motor rotational speed ⁇ , voltage Vdc of the high-voltage battery 5, and carrier frequency fc to determine the duty command values Dua, Dub, Dva, Dvb, Dwa, and Dwb corresponding to the first and second half of the carrier for each phase from the d-axis voltage command Vd* and q-axis voltage command Vq* calculated by the current control unit 14.
  • the voltage control unit 16 performs a three-phase conversion on the d-axis voltage command Vd* and q-axis voltage command Vq* to determine the three-phase voltage commands Vu*, Vv*, and Vw* (U-phase voltage command value Vu*, V-phase voltage command value Vv*, and W-phase voltage command value Vw*). Then, PWM calculation is performed based on the obtained three-phase voltage commands Vu*, Vv*, Vw* and a triangular carrier wave that changes periodically with a carrier frequency fc, and the pulse width of the gate drive signal to be output to each switching element is determined to obtain the duty command values Dua, Dub, Dva, Dvb, Dwa, and Dwb. Details of the method of calculating the duty command values Dua, Dub, Dva, Dvb, Dwa, and Dwb by the voltage control unit 16 will be described later.
  • the gate signal generating unit 17 generates gate signals (PWM pulse signals) Gup, Gun, Gvp, Gvn, Gwp, and Gwn for controlling the operation of the inverter 3 based on the duty command values Dua, Dub, Dva, Dvb, Dwa, and Dwb obtained by the voltage control unit 16.
  • the gate signals Gup, Gun, Gvp, Gvn, Gwp, and Gwn are generated by converting the duty command values Dua, Dub, Dva, Dvb, Dwa, and Dwb into predetermined voltage signals.
  • the gate signals generated by the gate signal generating unit 17 are output from the motor control device 1 to the gate drive circuit 32 of the inverter 3, and are converted into gate drive signals by the gate drive circuit 32.
  • each switching element of the inverter circuit 31 is controlled to be turned on and off, and the output voltage of the inverter 3 is adjusted.
  • FIG. 3 is a block diagram of the current conversion unit 13 according to one embodiment of the present invention.
  • the current conversion unit 13 has the following functional blocks: a first current conversion unit 131, a second current conversion unit 132, adders 133 and 134, and multipliers 135 and 136.
  • the current detection unit 12 detects the first three-phase AC current detection values Iua, Iva, Iwa and the second three-phase AC current detection values Iub, Ivb, Iwb in a cycle that is half the calculation cycle of the current control calculation performed by the current control unit 14, and stores them in a microcomputer register.
  • the first three-phase AC current detection values Iua, Iva, Iwa are currents detected half a cycle before the current control calculation task is started.
  • the second three-phase AC current detection values Iub, Ivb, Iwb are currents detected when the current control calculation task is started.
  • the first three-phase AC current detection values Iua, Iva, Iwa and the second three-phase AC current detection values Iub, Ivb, Iwb stored in the microcomputer register for each control cycle are simultaneously input to the current conversion unit 13. Since the current control calculation is performed once per control calculation cycle, the current conversion unit 13 averages the current detected twice in the control calculation cycle and outputs it as two samples of data to the current control unit 14. The current is averaged by performing dq transformation on each of the first three-phase AC current detection values Iua, Iva, Iwa and the second three-phase AC current detection values Iub, Ivb, Iwb, and averaging them on the dq axis.
  • the first current converter 131 performs dq conversion on the first three-phase AC current detection values Iua, Iva, Iwa input from the current detector 12 based on the rotational position ⁇ and the rotational speed ⁇ .
  • the first three-phase AC current detection values Iua, Iva, Iwa are currents detected half a cycle before the start of the current control calculation, and the rotational position ⁇ and the rotational speed ⁇ are the rotational position and the rotational speed detected at the start of the current control calculation. Therefore, the timing at which the current is detected is different from the timing at which the rotational position ⁇ is detected.
  • Equation (1) The phase ⁇ a used in the dq conversion is calculated as shown in Equation (1).
  • ⁇ a ⁇ + (Ts [n-1] / 2) ⁇ ⁇ ... (1)
  • Ts[n-1] is the control period at the time of the previous interrupt. If the change in the rotational angular velocity ⁇ is slow and does not change during the control period, the rotation angle at the current detection timing can be calculated using equation (1).
  • the obtained dq transformation result is then output as the first d-axis current value Id1 and the first q-axis current value Iq1.
  • the second current conversion unit 132 performs dq conversion on the second three-phase AC current detection values Iub, Ivb, Iwb input from the current detection unit 12 based on the rotational position ⁇ and the rotational speed ⁇ .
  • the obtained dq conversion result is then output as the second d-axis current value Id2 and the second q-axis current value Iq2. Because the detection timing of the second three-phase AC current detection values Iub, Ivb, Iwb and the rotational position ⁇ is the same, there is no need to correct the phase of the dq conversion as in the first current conversion unit.
  • the adder 133 sums the first d-axis current value Id1 output from the first current converter 131 and the second d-axis current value Id2 output from the second current converter 132.
  • the multiplier 135 multiplies this sum by 0.5 and outputs the result as the d-axis current value Id. In this way, the d-axis current value Id is calculated from the average value of the first d-axis current value Id1 and the second d-axis current value Id2.
  • the adder 134 sums the first q-axis current value Iq1 output from the first current converter 131 and the second q-axis current value Iq2 output from the second current converter 132.
  • the multiplier 136 multiplies this sum by 0.5 and outputs it as the q-axis current value Iq. In this way, the q-axis current value Iq is calculated from the average value of the first q-axis current value Iq1 and the second q-axis current value Iq2.
  • the current conversion unit 13 performs dq conversion on the first three-phase AC current detection values Iua, Iva, Iwa and the second three-phase AC current detection values Iub, Ivb, Iwb to obtain the d-axis current value Id and the q-axis current value Iq.
  • This method makes it possible to double the current detection period without changing the current control calculation period.
  • FIG. 4 is a block diagram of the voltage control unit 16 according to one embodiment of the present invention.
  • the voltage control unit 16 has the following functional blocks: a first voltage conversion unit 161, a second voltage conversion unit 162, overmodulation gain multiplication units 163a and 163b, zero-phase addition units 164a and 164b, duty conversion units 165a and 165b, dead-time compensation addition units 166a and 166b, and a duty output unit 167.
  • the first voltage conversion unit 161 performs three-phase conversion on the d-axis voltage command Vd* and q-axis voltage command Vq* input from the current control unit 14 based on the rotational position ⁇ and the rotational speed ⁇ , and obtains three-phase voltage command values to be used in the PWM calculation. At this time, the first voltage conversion unit 161 obtains a three-phase voltage command value corresponding to the rotational position ⁇ at a time point delayed by 1.25 control cycles from the time point at which the rotational position ⁇ and the first three-phase AC current detection values Iua, Iva, Iwa were acquired, as the three-phase voltage command value for the first half of the next control cycle.
  • the obtained three-phase conversion result is then output as the first three-phase voltage command values Vua*, Vva*, Vwa* (first U-phase voltage command value Vua*, first V-phase voltage command value Vva*, and first W-phase voltage command value Vwa*) corresponding to the first half of the carrier wave.
  • the second voltage conversion unit 162 performs three-phase conversion on the d-axis voltage command Vd* and q-axis voltage command Vq* input from the current control unit 14 based on the rotational position ⁇ and the rotational speed ⁇ , and obtains three-phase voltage command values to be used in the PWM calculation. At this time, the second voltage conversion unit 162 obtains, as the three-phase voltage command values for the latter half of the next control period, three-phase voltage command values corresponding to the rotational position ⁇ at a time point delayed by 1.75 control periods from the time point at which the rotational position ⁇ and the first three-phase AC current detection values Iua, Iva, Iwa were acquired.
  • the obtained three-phase conversion results are then output as second three-phase voltage command values Vub*, Vvb*, Vwb* (second U-phase voltage command value Vub*, second V-phase voltage command value Vvb*, and second W-phase voltage command value Vwb*) corresponding to the latter half of the carrier wave.
  • the overmodulation gain multiplication units 163a and 163b multiply the first three-phase voltage command values Vua*, Vva*, Vwa* output from the first voltage conversion unit 161 and the second three-phase voltage command values Vub*, Vvb*, Vwb* output from the second voltage conversion unit 162 by a predetermined overmodulation gain, based on the voltage Vdc of the high-voltage battery 5.
  • the overmodulation gain is a gain used when performing overmodulation control to increase the output voltage of the inverter 3 above the amplitude of the fundamental wave component, and is set to a value of 1 or more, for example. If overmodulation control is not performed, the overmodulation gain can be set to 1.
  • the zero-phase adders 164a and 164b add a predetermined zero-phase voltage value to the first three-phase voltage command values Vua*, Vva*, Vwa* and the second three-phase voltage command values Vub*, Vvb*, Vwb* multiplied by the overmodulation gain by the overmodulation gain multipliers 163a and 163b.
  • the zero-phase voltage value is a process for improving the AC voltage output relative to the voltage Vdc of the high-voltage battery 5 (improving the voltage utilization rate), and is determined, for example, according to a combination of the first three-phase voltage command values Vua*, Vva*, Vwa* or the second three-phase voltage command values Vub*, Vvb*, Vwb*, and the rotational position ⁇ . Note that the addition of the zero-phase voltage value is not necessarily required, so the zero-phase adders 164a and 164b may be omitted in the voltage control unit 16.
  • the duty conversion units 165a and 165b convert the first three-phase voltage command values Vua*, Vva*, Vwa* and the second three-phase voltage command values Vub*, Vvb*, Vwb*, which are multiplied by the zero-phase voltage value by the zero-phase addition units 164a and 164b, into duty values for the U, V, and W phases by performing PWM calculations using a carrier wave that changes periodically at the carrier frequency fc.
  • the first three-phase voltage command values Vua*, Vva*, Vwa* are generated corresponding to the first half of the carrier wave
  • the second three-phase voltage command values Vub*, Vvb*, Vwb* are generated corresponding to the second half of the carrier wave.
  • the duty conversion unit 165a calculates the duty value of each phase corresponding to the first half of the carrier wave based on the first three-phase voltage command values Vua*, Vva*, Vwa*. Meanwhile, the duty conversion unit 165b calculates the duty values of each phase corresponding to the latter half of the carrier wave based on the second three-phase voltage command values Vub*, Vvb*, and Vwb*.
  • the dead time compensation addition units 166a and 166b perform dead time compensation by adding a predetermined dead time compensation value Udt, Vdt, or Wdt for each phase to the duty value of each phase calculated by the duty conversion units 165a and 165b, respectively.
  • the dead time compensation value is a value that is added to the duty value of each phase as necessary to prevent the switching elements of the upper arm and lower arm of each phase from being turned on simultaneously. Details of the dead time compensation by the dead time compensation addition units 166a and 166b will be described later.
  • the duty output unit 167 outputs duty command values Dua, Dub, Dva, Dvb, Dwa, and Dwb based on the duty values of each phase for which dead time compensation has been performed by the dead time compensation adders 166a and 166b.
  • the duty output unit 167 outputs the dead time compensated duty values Dua, Dva, and Dwa corresponding to the first half of the carrier wave, which are output from the dead time compensation adder 166a based on the first three-phase voltage command values Vua*, Vva*, and Vwa*, and the dead time compensated duty values Dub, Dvb, and Dwb corresponding to the second half of the carrier wave, which are output from the dead time compensation adder 166b based on the second three-phase voltage command values Vub*, Vvb*, and Vwb*.
  • the voltage control unit 16 can obtain the duty command values Dua, Dub, Dva, Dvb, Dwa, and Dwb corresponding to the first and second half of the carrier for each phase from the d-axis voltage command Vd* and the q-axis voltage command Vq*.
  • FIG. 5 is a comparison diagram of the dead time compensation in the conventional example and the present invention.
  • FIG. 5(a) shows the state of dead time compensation in a conventional example to which the present invention is not applied.
  • a target pulse shown on the left side of FIG. 5(a) is input as the duty value before dead time compensation for one of the phases.
  • a predetermined compensation duty dt equivalent to the dead time compensation value before and after the target pulse the positions of the falling edge and rising edge of the target pulse move, respectively, and a pulse waveform after dead time compensation as shown in FIG. 5(a) is generated.
  • pulse waveforms for the upper arm and lower arm are generated with a dead time difference between them, and an output pulse corresponding to the original target pulse is generated.
  • a target pulse as shown on the right side of Figure 5(a) is input as the duty value before dead time compensation for one of the phases.
  • a predetermined compensation duty dt equivalent to the dead time compensation value from the beginning and end of the target pulse, the positions of the falling edge and rising edge of the target pulse are moved, respectively, and a pulse waveform after dead time compensation as shown in Figure 5(a) is generated.
  • pulse waveforms for the upper arm and lower arm are generated with a dead time difference between them, and an output pulse corresponding to the original target pulse is generated.
  • the output pulse of the conventional example generated as described above has a delay of the compensation duty dt compared to the original target pulse before dead time compensation.
  • FIG. 5(b) shows the state of dead-time compensation in an embodiment to which the present invention is applied.
  • the target pulse shown on the left side of FIG. 5(b) is input to the dead-time compensation adders 166a and 166b as the duty value before dead-time compensation for either phase.
  • the dead-time compensation adder 166a does not perform dead-time compensation
  • the dead-time compensation adder 166b adds a value obtained by multiplying the compensation duty dt by two to the target pulse, thereby moving the position of the rising edge of the target pulse and generating a pulse waveform after dead-time compensation as shown in FIG. 5(b).
  • the pulse waveforms of the upper arm and the lower arm are generated with a dead-time difference between them, and an output pulse corresponding to the original target pulse is generated.
  • the dead time compensation adders 166a and 166b are input to the dead time compensation adders 166a and 166b as the duty value before dead time compensation for either phase.
  • the dead time compensation adder 166b does not perform dead time compensation
  • the dead time compensation adder 166a subtracts a value obtained by multiplying the compensation duty dt described above by two from the target pulse, thereby moving the position of the falling edge of the target pulse and generating a pulse waveform after dead time compensation as shown in FIG. 5(b). Based on the pulse waveform after dead time compensation generated in this way, pulse waveforms for the upper arm and lower arm are generated with a dead time difference between them, and an output pulse corresponding to the original target pulse is generated.
  • the output pulse of the present invention generated as described above does not have a delay as in the conventional example, compared to the original target pulse before dead time compensation.
  • Figure 6 is a comparison diagram of the calculation processing in the conventional example and the present invention.
  • FIG. 6(a) shows the state of the calculation processing in a conventional example to which the present invention is not applied.
  • a series of calculation processing from current detection to PWM duty command is repeatedly performed within each period of a triangular carrier wave that changes periodically with carrier frequency fc, and a gate signal of an output pulse corresponding to the torque command T* is output from the motor control device 1 to the inverter 3.
  • FIG. 6(b) shows the state of the calculation processing in an embodiment to which the present invention is applied.
  • current detection is performed twice within each period of a triangular carrier wave that changes periodically with carrier frequency fc. Then, a series of calculation processing similar to that in the conventional example is repeated using the results of the two immediately preceding current detections, and a gate signal of an output pulse corresponding to the torque command T* is output from the motor control device 1 to the inverter 3.
  • current detection is performed twice in each control cycle.
  • the results of the calculation process performed in each control cycle are reflected in the valley and peak of the carrier wave for the duty of the next control cycle.
  • current detection is performed in the valley and peak of the carrier wave.
  • the calculation process of the control cycle Ts[n] is performed based on the current value detected in the peak of the carrier wave in the immediately preceding control cycle Ts[n-1] and the current value detected in the valley of the carrier wave at the beginning of the control cycle Ts[n].
  • the duty command value obtained by the calculation process of the control cycle Ts[n] is output in the valley and peak of the carrier wave as a gate signal for adjusting the output voltage of the inverter 3 in the next control cycle Ts[n+1].
  • the motor 2 is controlled via the inverter 3 by the calculation process described above.
  • the current detection value is obtained twice per calculation cycle, and two types of duty commands are determined and reflected in the control of the motor 2. Therefore, without increasing the number of current control calculations per carrier wave, it is possible to realize control of the motor 2 that more finely reflects the detection results of the current flowing through the motor 2 than in the conventional example, thereby improving motor control performance.
  • a current detection value is obtained twice per calculation cycle, and two types of duty commands are calculated per calculation cycle based on these current detection values
  • the present invention is not limited to this, and the number of times that a current detection value is obtained per calculation cycle and the number of types of duty commands calculated per calculation cycle may each be three or more.
  • the present invention is applicable as long as a current detection value is obtained at least twice per calculation cycle and at least two or more types of duty commands are calculated per calculation cycle.
  • the motor control device 1 generates a gate signal for controlling the operation of a switching element for an inverter 3 having multiple switching elements, and outputs the generated gate signal to the inverter 3 to control the drive of an AC motor 2 connected to the inverter 3.
  • the motor control device 1 includes a current detection unit 12 that acquires a current detection value corresponding to the current flowing through the AC motor 2, a current control unit 14 that acquires a current command value for the AC motor 2 and calculates a voltage command value for the AC motor 2 for each predetermined calculation period based on the current command value and the current detection value, and a voltage control unit 16 that executes a control calculation based on the voltage command value for each calculation period and obtains a duty command for generating a gate signal.
  • the current detection unit 12 acquires the current detection value at least twice for each calculation period, and the voltage control unit 16 obtains at least two types of duty commands for each calculation period and reflects them in the gate signal. As a result, it is possible to improve motor control performance while suppressing an increase in processing load during motor control at high speeds.
  • the motor control device 1 includes a current converter 13 that converts the detection values of the three-phase AC current acquired by the current detector 12 into a d-axis current value Id and a q-axis current value Iq.
  • the current detector 12 acquires first three-phase AC current detection values Iua, Iva, Iwa and second three-phase AC current detection values Iub, Ivb, Iwb at different timings within a calculation period.
  • the current converter 13 calculates, by the first current converter 131 and the second current converter 132, a first d-axis current value Id1 and a first q-axis current value Iq1 based on the first three-phase AC current detection values Iua, Iva, Iwa, and a second d-axis current value Id2 and a second q-axis current value Iq2 based on the second three-phase AC current detection values Iub, Ivb, Iwb.
  • the adders 133, 134 and the multipliers 135, 136 calculate the d-axis current value Id from the average value of the first d-axis current value Id1 and the second d-axis current value Id2, and calculate the q-axis current value Iq from the average value of the first q-axis current value Iq1 and the second q-axis current value Iq2.
  • the current control unit 14 calculates the d-axis voltage command Vd* and the q-axis voltage command Vq*, which are voltage command values for the AC motor 2, based on the d-axis current command Id* and the q-axis current command Iq* for the AC motor 2 and the d-axis current value Id and the q-axis current value Iq calculated by the current conversion unit 13. In this way, the current control unit 14 can appropriately calculate the voltage command value for the AC motor 2 using the current detection values acquired twice per calculation period by the current detection unit 12.
  • the current control unit 14 calculates the d-axis voltage command Vd* and the q-axis voltage command Vq* for each predetermined calculation period.
  • the voltage control unit 16 calculates, using the first voltage conversion unit 161 and the second voltage conversion unit 162, first three-phase voltage command values Vua*, Vva*, and Vwa* at a first timing within the calculation period and second three-phase voltage command values Vub*, Vvb*, and Vwb* at a second timing different from the first timing within the calculation period, based on the d-axis voltage command Vd* and the q-axis voltage command Vq*.
  • the overmodulation gain multiplication units 163a and 163b, the zero-phase addition units 164a and 164b, the duty conversion units 165a and 165b, and the dead time compensation addition units 166a and 166b calculate a first duty value based on the first three-phase voltage command values Vua*, Vva*, and Vwa*, and a second duty value based on the second three-phase voltage command values Vub*, Vvb*, and Vwb*.
  • the duty output unit 167 calculates the duty command values Dua, Dub, Dva, Dvb, Dwa, and Dwb based on these duty values. In this way, the voltage control unit 16 can reliably calculate two types of duty commands for each calculation period and reflect them in the gate signal.
  • the voltage control unit 16 performs dead time compensation by adding a predetermined dead time compensation value to the first three-phase voltage command values Vua*, Vva*, Vwa* and the second three-phase voltage command values Vub*, Vvb*, Vwb*, respectively, using the dead time compensation adder units 166a, 166b, and calculates the first duty value and the second duty value based on the first three-phase voltage command values Vua*, Vva*, Vwa* and the second three-phase voltage command values Vub*, Vvb*, Vwb* after the dead time compensation.

Landscapes

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

Abstract

This motor control device comprises: a current detection unit that acquires a current detection value corresponding to current flowing through an AC motor; a current control unit that acquires a current command value for the AC motor, and that calculates a voltage command value for the AC motor, at each prescribed calculation period, on the basis of the current command value and the current detection value; and a voltage control unit that executes, at each calculation period, control calculation based on the voltage command value, and obtains a duty command for generating a gate signal. The current detection unit acquires the current detection value at least twice in each calculation period. The voltage control unit obtains at least two types of duty command in each calculation period and reflects the same on the gate signal.

Description

モータ制御装置Motor Control Device
 本発明は、モータを制御する装置に関する。 The present invention relates to a device for controlling a motor.
 従来、自動車の駆動用などに使用されるモータには、小型化、高出力化、高効率化などの特徴が求められる。これらの特徴を達成するため、近年では、回転速度を従来のものよりも高めた高回転モータの採用が進んでいる。 Traditionally, motors used for driving automobiles and other applications are required to be compact, have high output, and are highly efficient. To achieve these characteristics, in recent years there has been an increasing use of high-speed motors with faster rotation speeds than conventional motors.
 インバータにより駆動される三相交流同期モータを高回転化すると、モータの電気角周波数が通常のモータ駆動時よりも高くなり、電気角1周期当たりの時間が短くなる。そのため、モータに流れる電流を検出し、その電流検出値に基づいてインバータが有するスイッチング素子の駆動を制御することでモータ制御を行うモータ制御装置において、電気角1周期の間に電流検出値をモータ制御に反映できる回数が減少する。こうした高回転時のモータ制御における電流検出値の反映回数の減少は、モータ制御性能の低下につながり、モータが発生するトルクの誤差や脈動、過電流などを引き起こすおそれがある。 When a three-phase AC synchronous motor driven by an inverter is rotated at high speed, the motor's electrical angular frequency becomes higher than when the motor is normally driven, and the time per electrical angular period becomes shorter. As a result, in a motor control device that detects the current flowing through the motor and controls the drive of the inverter's switching elements based on the current detection value to control the motor, the number of times that the current detection value can be reflected in motor control during one electrical angular period decreases. This reduction in the number of times that the current detection value is reflected in motor control at high speeds leads to a decrease in motor control performance and may cause errors, pulsation, overcurrent, etc. in the torque generated by the motor.
 高回転時のモータ制御における電流検出値の反映回数を増やすためには、モータ制御装置が行うモータ制御演算を高速化してその演算周期を短くすればよい。しかしながら、モータ制御演算に要する時間は、演算を実行するマイコンの処理能力に応じて定まり、マイコンの処理能力の向上は製造コストや消費電力の増加につながる。そのため、モータ制御演算の高速化には限界がある。 In order to increase the number of times that current detection values are reflected in motor control at high speeds, it is sufficient to speed up the motor control calculations performed by the motor control device and shorten the calculation cycle. However, the time required for motor control calculations is determined by the processing power of the microcomputer that executes the calculations, and improving the processing power of the microcomputer leads to increased manufacturing costs and power consumption. For this reason, there is a limit to how fast motor control calculations can be made.
 高回転時のモータ制御に関して、例えば特許文献1の技術が知られている。特許文献1には、同期制御モードが選択された場合には、交流電動機のコイルに流れる電流を検出する電流検出処理ISをキャリアの周期の1/2に設定された基準演算周期T0毎に行うと共に、電圧制御処理VCを基準演算周期T0のN倍(Nは2以上の整数)の周期で行い、N回の電流検出処理ISにより検出されたN回分の電流検出値をフィードバックして1回の電圧制御処理VCを行う、電動機駆動装置の制御装置が記載されている。これにより、全体の演算負荷を演算処理ユニットの処理能力の範囲内に収めつつ、短い周期で検出された電流検出値を適切に反映して電流サンプリングのエイリアシングの発生を抑えるようにしている。 For example, the technology of Patent Document 1 is known regarding motor control at high speeds. Patent Document 1 describes a control device for an electric motor drive device that, when synchronous control mode is selected, performs a current detection process IS for detecting the current flowing through the coil of an AC motor at every reference calculation period T0 set to 1/2 the carrier period, performs a voltage control process VC at a period N times (N is an integer equal to or greater than 2) the reference calculation period T0, and feeds back N current detection values detected by N current detection processes IS to perform one voltage control process VC. This keeps the overall calculation load within the processing capacity of the calculation processing unit, while appropriately reflecting current detection values detected at short periods to suppress the occurrence of aliasing in current sampling.
日本国特開2011-83068号公報Japanese Patent Publication No. 2011-83068
 特許文献1の技術では、電流検出処理の高速化が可能であるが、電圧制御処理の周期はキャリア周期と同じである。そのため、電気角1周期の間に電流検出値をモータ制御に反映できる回数は変わらず、高回転時のモータ制御における電流検出値の反映回数を増やすことができるものではない。 The technology in Patent Document 1 makes it possible to speed up current detection processing, but the cycle of the voltage control processing is the same as the carrier cycle. Therefore, the number of times that the current detection value can be reflected in motor control during one electrical angle cycle remains unchanged, and it is not possible to increase the number of times that the current detection value is reflected in motor control during high speed rotation.
 本発明は、上記の課題を解決するために、高回転時のモータ制御において、処理負荷の増加を抑えつつモータ制御性能を向上させることを主な目的とする。 The main objective of the present invention is to solve the above problems by improving motor control performance while suppressing increases in processing load during motor control at high speeds.
 本発明によるモータ制御装置は、複数のスイッチング素子を有するインバータに対して、前記スイッチング素子の動作を制御するためのゲート信号を生成し、生成した前記ゲート信号を前記インバータに出力することで、前記インバータに接続された交流モータの駆動を制御するものであって、前記交流モータに流れる電流に応じた電流検出値を取得する電流検出部と、前記交流モータに対する電流指令値を取得し、前記電流指令値および前記電流検出値に基づいて、前記交流モータに対する電圧指令値を所定の演算周期ごとに演算する電流制御部と、前記電圧指令値に基づく制御演算を前記演算周期ごとに実行し、前記ゲート信号を生成するためのデューティ指令を求める電圧制御部と、を備え、前記電流検出部は、前記演算周期ごとに前記電流検出値を少なくとも2回取得し、前記電圧制御部は、前記演算周期ごとに少なくとも2種類以上の前記デューティ指令を求めて前記ゲート信号に反映する。 The motor control device according to the present invention generates a gate signal for controlling the operation of a switching element of an inverter having a plurality of switching elements, and outputs the generated gate signal to the inverter to control the drive of an AC motor connected to the inverter. The motor control device includes a current detection unit that obtains a current detection value corresponding to the current flowing through the AC motor, a current control unit that obtains a current command value for the AC motor and calculates a voltage command value for the AC motor for each predetermined calculation period based on the current command value and the current detection value, and a voltage control unit that executes a control calculation based on the voltage command value for each calculation period and determines a duty command for generating the gate signal, the current detection unit obtains the current detection value at least twice for each calculation period, and the voltage control unit determines at least two or more types of duty commands for each calculation period and reflects them in the gate signal.
 本発明によれば、高回転時のモータ制御において、処理負荷の増加を抑えつつモータ制御性能を向上させることができる。 According to the present invention, it is possible to improve motor control performance while suppressing increases in processing load during motor control at high speeds.
本発明の一実施形態に係るモータ制御装置を備えたモータ駆動システムの全体構成図。1 is a diagram showing the overall configuration of a motor drive system including a motor control device according to an embodiment of the present invention; 本発明の一実施形態に係るモータ制御装置の機能構成を示すブロック図。1 is a block diagram showing a functional configuration of a motor control device according to an embodiment of the present invention; 本発明の一実施形態に係る電流変換部のブロック図。FIG. 2 is a block diagram of a current converter according to an embodiment of the present invention. 本発明の一実施形態に係る電圧制御部のブロック図。FIG. 2 is a block diagram of a voltage control unit according to an embodiment of the present invention. 従来例と本発明におけるデッドタイム補償の比較図。11A and 11B are diagrams comparing dead time compensation in a conventional example and the present invention; 従来例と本発明における演算処理の比較図。FIG. 11 is a comparison diagram of calculation processing between the conventional example and the present invention.
 以下、本発明を実施するための形態について図面を参照しながら詳細に説明する。本実施形態では、電気自動車やハイブリッド自動車等の電動車両に搭載されて使用されるモータ駆動システムへの適用例について説明する。 Below, a detailed description of an embodiment of the present invention will be given with reference to the drawings. In this embodiment, an example of application to a motor drive system mounted on and used in an electrically powered vehicle such as an electric vehicle or a hybrid vehicle will be described.
 図1は、本発明の一実施形態に係るモータ制御装置を備えたモータ駆動システムの全体構成図である。図1において、モータ駆動システム100は、モータ制御装置1、交流モータ(以下、単に「モータ」と称する)2、インバータ3、回転位置検出器4、高圧バッテリ5を備える。 Figure 1 is an overall configuration diagram of a motor drive system equipped with a motor control device according to one embodiment of the present invention. In Figure 1, the motor drive system 100 includes a motor control device 1, an AC motor (hereinafter simply referred to as "motor") 2, an inverter 3, a rotational position detector 4, and a high-voltage battery 5.
 モータ制御装置1は、車両からモータ2に対して要求される目標トルクに応じたトルク指令T*に基づいて、インバータ3の動作を制御し、これによってモータ2の駆動を制御するためのゲート信号を生成する。そして、生成したゲート信号をインバータ3に出力する。なお、モータ制御装置1の詳細については後で説明する。 The motor control device 1 controls the operation of the inverter 3 based on a torque command T* corresponding to a target torque required of the motor 2 by the vehicle, thereby generating a gate signal for controlling the drive of the motor 2. The generated gate signal is then output to the inverter 3. Details of the motor control device 1 will be explained later.
 インバータ3は、インバータ回路31、ゲート駆動回路32および平滑キャパシタ33を有する。ゲート駆動回路32は、モータ制御装置1から入力されるゲート信号に基づいて、インバータ回路31が有する各スイッチング素子を制御するためのゲート駆動信号を生成し、インバータ回路31に出力する。インバータ回路31は、U相、V相、W相の上アームおよび下アームにそれぞれ対応するスイッチング素子を有している。ゲート駆動回路32から入力されたゲート駆動信号に従ってこれらのスイッチング素子がそれぞれ制御されることで、高圧バッテリ5から供給される直流電力が交流電力に変換され、モータ2に出力される。平滑キャパシタ33は、高圧バッテリ5からインバータ回路31に供給される直流電力を平滑化する。 The inverter 3 has an inverter circuit 31, a gate drive circuit 32, and a smoothing capacitor 33. The gate drive circuit 32 generates a gate drive signal for controlling each switching element of the inverter circuit 31 based on a gate signal input from the motor control device 1, and outputs the gate drive signal to the inverter circuit 31. The inverter circuit 31 has switching elements corresponding to the upper and lower arms of the U, V, and W phases, respectively. By controlling each of these switching elements according to the gate drive signal input from the gate drive circuit 32, the DC power supplied from the high-voltage battery 5 is converted into AC power and output to the motor 2. The smoothing capacitor 33 smoothes the DC power supplied from the high-voltage battery 5 to the inverter circuit 31.
 モータ2は、インバータ3から供給される交流電力により回転駆動される同期モータであり、固定子および回転子を有する。インバータ3から入力された交流電力が固定子に設けられた電機子コイルLu、Lv、Lwに印加されると、モータ2において三相交流電流Iu、Iv、Iwが導通し、各電機子コイルに電機子磁束が発生する。この各電機子コイルの電機子磁束と、回転子に配置された永久磁石の磁石磁束との間で吸引力・反発力が発生することで、回転子にトルクが発生し、回転子が回転駆動される。 Motor 2 is a synchronous motor that is driven to rotate by AC power supplied from inverter 3, and has a stator and a rotor. When AC power input from inverter 3 is applied to armature coils Lu, Lv, and Lw provided in the stator, three-phase AC currents Iu, Iv, and Iw are conducted in motor 2, and armature magnetic flux is generated in each armature coil. Attractive and repulsive forces are generated between the armature magnetic flux of each armature coil and the magnetic flux of the permanent magnets arranged in the rotor, generating torque in the rotor and driving the rotor to rotate.
 モータ2には、回転子の回転位置θを検出するための回転位置センサ8が取り付けられている。回転位置検出器4は、回転位置センサ8の入力信号から回転位置θを演算する。回転位置検出器4による回転位置θの演算結果はモータ制御装置1に入力され、モータ制御装置1がモータ2の誘起電圧の位相に合わせて行う交流電力の位相制御において利用される。 A rotational position sensor 8 is attached to the motor 2 to detect the rotational position θ of the rotor. The rotational position detector 4 calculates the rotational position θ from the input signal of the rotational position sensor 8. The calculation result of the rotational position θ by the rotational position detector 4 is input to the motor control device 1, and is used in the phase control of the AC power that the motor control device 1 performs in accordance with the phase of the induced voltage of the motor 2.
 ここで、回転位置センサ8には、鉄心と巻線とから構成されるレゾルバがより好適であるが、GMRセンサなどの磁気抵抗素子や、ホール素子を用いたセンサであっても問題ない。また、回転位置検出器4は、回転位置センサ8からの入力信号を用いず、モータ2に流れる三相交流電流Iu、Iv、Iwや、インバータ3からモータ2に印加される三相交流電圧Vu、Vv、Vwを用いて回転位置θを推定してもよい。 Here, a resolver consisting of an iron core and windings is more suitable for the rotational position sensor 8, but a sensor using a magnetic resistance element such as a GMR sensor or a Hall element is also acceptable. Also, the rotational position detector 4 may estimate the rotational position θ using the three-phase AC currents Iu, Iv, Iw flowing through the motor 2 and the three-phase AC voltages Vu, Vv, Vw applied to the motor 2 from the inverter 3, without using an input signal from the rotational position sensor 8.
 インバータ3とモータ2の間には、電流センサ7が配置されている。電流センサ7は、モータ2を通電する三相交流電流Iu、Iv、Iw(U相交流電流Iu、V相交流電流IvおよびW相交流電流Iw)を検出する。電流センサ7は、例えばホール電流センサ等を用いて構成される。電流センサ7による三相交流電流Iu、Iv、Iwの検出結果はモータ制御装置1に入力され、回転位置検出器4による回転位置θの演算結果と同様に、モータ制御装置1が行う交流電力の位相制御に利用される。なお、図2では電流センサ7が3つの電流検出器により構成される例を示しているが、電流検出器を2つとし、残る1相の交流電流は、三相交流電流Iu、Iv、Iwの和が零であることから算出してもよい。また、高圧バッテリ5からインバータ3に流入するパルス状の直流電流を、平滑キャパシタ33とインバータ3の間に挿入されたシャント抵抗等により検出し、この直流電流とインバータ3からモータ2に印加される三相交流電圧Vu、Vv、Vwに基づいて三相交流電流Iu、Iv、Iwを求めてもよい。 A current sensor 7 is disposed between the inverter 3 and the motor 2. The current sensor 7 detects the three-phase AC currents Iu, Iv, Iw (U-phase AC current Iu, V-phase AC current Iv, and W-phase AC current Iw) passing through the motor 2. The current sensor 7 is configured using, for example, a Hall current sensor. The detection results of the three-phase AC currents Iu, Iv, Iw by the current sensor 7 are input to the motor control device 1 and are used for the phase control of AC power performed by the motor control device 1, similar to the calculation result of the rotational position θ by the rotational position detector 4. Note that while FIG. 2 shows an example in which the current sensor 7 is configured with three current detectors, it is also possible to use two current detectors and calculate the AC current of the remaining one phase because the sum of the three-phase AC currents Iu, Iv, Iw is zero. In addition, the pulsed DC current flowing from the high-voltage battery 5 to the inverter 3 may be detected by a shunt resistor or the like inserted between the smoothing capacitor 33 and the inverter 3, and the three-phase AC currents Iu, Iv, and Iw may be calculated based on this DC current and the three-phase AC voltages Vu, Vv, and Vw applied from the inverter 3 to the motor 2.
 次に、モータ制御装置1の詳細について説明する。図2は、本発明の一実施形態に係るモータ制御装置1の機能構成を示すブロック図である。図2において、モータ制御装置1は、電流指令生成部10、速度算出部11、電流検出部12、電流変換部13、電流制御部14、キャリア周波数制御部15、電圧制御部16、ゲート信号生成部17の各機能ブロックを有する。モータ制御装置1は、例えばマイクロコンピュータにより構成され、マイクロコンピュータにおいて所定のプログラムを実行することにより、これらの機能ブロックを実現することができる。あるいは、これらの機能ブロックの一部または全部をロジックICやFPGA等のハードウェア回路を用いて実現してもよい。 Next, the motor control device 1 will be described in detail. FIG. 2 is a block diagram showing the functional configuration of the motor control device 1 according to one embodiment of the present invention. In FIG. 2, the motor control device 1 has the following functional blocks: a current command generation unit 10, a speed calculation unit 11, a current detection unit 12, a current conversion unit 13, a current control unit 14, a carrier frequency control unit 15, a voltage control unit 16, and a gate signal generation unit 17. The motor control device 1 is configured, for example, by a microcomputer, and these functional blocks can be realized by executing a predetermined program in the microcomputer. Alternatively, some or all of these functional blocks may be realized using hardware circuits such as logic ICs or FPGAs.
 電流指令生成部10は、入力されたトルク指令T*と高圧バッテリ5の電圧Vdcに基づき、d軸電流指令Id*およびq軸電流指令Iq*を演算する。ここでは、例えば予め設定された電流指令マップや数式等を用いて、トルク指令T*に応じたd軸電流指令Id*、q軸電流指令Iq*を求める。 The current command generating unit 10 calculates the d-axis current command Id* and the q-axis current command Iq* based on the input torque command T* and the voltage Vdc of the high-voltage battery 5. Here, the d-axis current command Id* and the q-axis current command Iq* corresponding to the torque command T* are calculated using, for example, a preset current command map or formula.
 速度算出部11は、回転位置θの時間変化から、モータ2の回転速度(回転数)を表すモータ回転速度ωを演算する。なお、モータ回転速度ωは、角速度(rad/s)または回転数(rpm)のいずれで表される値であってもよい。また、これらの値を相互に変換して用いてもよい。 The speed calculation unit 11 calculates the motor rotation speed ω, which represents the rotation speed (revolutions) of the motor 2, from the change over time in the rotation position θ. Note that the motor rotation speed ω may be a value expressed as either an angular velocity (rad/s) or a rotation speed (rpm). These values may also be converted into each other for use.
 電流検出部12は、電流センサ7から入力される三相交流電流Iu、Iv、Iwの検出信号を所定のサンプリング周期ごとにサンプリングし、第1三相交流電流検出値Iua、Iva、Iwa(第1U相交流電流検出値Iua、第1V相交流電流検出値Ivaおよび第1W相交流電流検出値Iwa)と、第2三相交流電流検出値Iub、Ivb、Iwb(第2U相交流電流検出値Iub、第2V相交流電流検出値Ivbおよび第2W相交流電流検出値Iwb)とを、それぞれ異なるタイミングで取得する。ここで、電流検出部12は、電流制御部14が行う電流制御演算の演算周期と比べて、半分のサンプリング周期で三相交流電流Iu、Iv、Iwのサンプリングを行い、サンプリング結果を第1三相交流電流検出値Iua、Iva、Iwaおよび第2三相交流電流検出値Iub、Ivb、Iwbとしてそれぞれマイコンレジスタへ保存する。ここで、第1三相交流電流検出値Iua、Iva、Iwaは電流制御演算タスク起動時から電流制御演算周期の半周期前に検出した電流である。第2三相交流電流検出値Iub、Ivb、Iwbは電流制御演算タスク起動時に検出した電流である。また、電流センサや回路の遅れによる検出誤差を防止するため、電流検出のタイミングを電流制御演算タスク起動時および半周期前から数μs程度遅らせる。すなわち、電流検出部12は、電流制御演算の演算周期ごとに電流検出値の取得を2回ずつ行い、1回目に取得した電流検出値を第1三相交流電流検出値Iua、Iva、Iwa、2回目に取得した電流検出値を第2三相交流電流検出値Iub、Ivb、Iwbとして、演算周期ごとにこれらの電流検出値を電流変換部13に出力する。 The current detection unit 12 samples the detection signals of the three-phase AC currents Iu, Iv, Iw input from the current sensor 7 at predetermined sampling periods, and obtains the first three-phase AC current detection values Iua, Iva, Iwa (the first U-phase AC current detection value Iua, the first V-phase AC current detection value Iva, and the first W-phase AC current detection value Iwa) and the second three-phase AC current detection values Iub, Ivb, Iwb (the second U-phase AC current detection value Iub, the second V-phase AC current detection value Ivb, and the second W-phase AC current detection value Iwb) at different timings. Here, the current detection unit 12 samples the three-phase AC currents Iu, Iv, and Iw in a sampling period that is half the calculation period of the current control calculation performed by the current control unit 14, and stores the sampling results in the microcomputer register as the first three-phase AC current detection values Iua, Iva, and Iwa and the second three-phase AC current detection values Iub, Ivb, and Iwb. Here, the first three-phase AC current detection values Iua, Iva, and Iwa are currents detected half a cycle before the current control calculation task is started. The second three-phase AC current detection values Iub, Ivb, and Iwb are currents detected when the current control calculation task is started. In addition, in order to prevent detection errors due to delays in the current sensor and circuit, the timing of current detection is delayed by about several μs from the start of the current control calculation task and half a cycle before. That is, the current detection unit 12 obtains the current detection values twice for each calculation cycle of the current control calculation, and outputs the current detection values obtained the first time as the first three-phase AC current detection values Iua, Iva, Iwa, and the current detection values obtained the second time as the second three-phase AC current detection values Iub, Ivb, Iwb to the current conversion unit 13 for each calculation cycle.
 電流変換部13は、電流検出部12が取得した第1三相交流電流検出値Iua、Iva、Iwaおよび第2三相交流電流検出値Iub、Ivb、Iwbに対して、回転位置θおよび回転速度ωに基づくdq変換をそれぞれ行い、これらのdq変換の結果に基づいて、d軸電流値Idおよびq軸電流値Iqの演算を行う。このとき電流変換部13は、第1三相交流電流検出値Iua、Iva、Iwaをdq変換することで得られた第1d軸電流値Id1および第1q軸電流値Iq1と、第2三相交流電流検出値Iub、Ivb、Iwbをdq変換することで得られた第2d軸電流値Id2および第2q軸電流値Iq2とに基づき、d軸およびq軸のそれぞれの電流平均値を求める。そして、求められた各電流平均値を、d軸電流値Idおよびq軸電流値Iqとして出力する。なお、電流変換部13によるd軸電流値Idおよびq軸電流値Iqの算出方法の詳細については後述する。 The current conversion unit 13 performs dq conversion based on the rotational position θ and rotational speed ω on the first three-phase AC current detection values Iua, Iva, Iwa and the second three-phase AC current detection values Iub, Ivb, Iwb acquired by the current detection unit 12, and calculates the d-axis current value Id and the q-axis current value Iq based on the results of these dq conversions. At this time, the current conversion unit 13 calculates the average current values of the d-axis and q-axis based on the first d-axis current value Id1 and the first q-axis current value Iq1 obtained by dq conversion of the first three-phase AC current detection values Iua, Iva, Iwa, and the second d-axis current value Id2 and the second q-axis current value Iq2 obtained by dq conversion of the second three-phase AC current detection values Iub, Ivb, Iwb. Then, the current conversion unit 13 outputs the calculated average current values as the d-axis current value Id and the q-axis current value Iq. The method for calculating the d-axis current value Id and the q-axis current value Iq by the current converter 13 will be described in detail later.
 電流制御部14は、電流指令生成部10から出力されるd軸電流指令Id*およびq軸電流指令Iq*と、電流変換部13から出力されるd軸電流値Idおよびq軸電流値Iqとの偏差に基づき、これらの値がそれぞれ一致するように、トルク指令T*に応じたd軸電圧指令Vd*およびq軸電圧指令Vq*を演算する。ここでは、回転位置θや三相交流電流Iu、Iv、Iwが検出されてからモータ制御装置1がインバータ3にゲート信号を出力するまでの間の演算遅れを考慮して、例えばPI制御等の制御方式を用いた電流制御演算により、d軸電流指令Id*とd軸電流値Idの偏差に応じたd軸電圧指令Vd*と、q軸電流指令Iq*とq軸電流値Iqの偏差に応じたq軸電圧指令Vq*とを、所定の演算周期ごとに求める。 The current control unit 14 calculates a d-axis voltage command Vd* and a q-axis voltage command Vq* according to the torque command T* based on the deviation between the d-axis current command Id* and the q-axis current command Iq* output from the current command generation unit 10 and the d-axis current value Id and the q-axis current value Iq output from the current conversion unit 13, so that these values match. Here, taking into account the calculation delay between the detection of the rotational position θ and the three-phase AC currents Iu, Iv, Iw and the output of a gate signal by the motor control device 1 to the inverter 3, the d-axis voltage command Vd* according to the deviation between the d-axis current command Id* and the d-axis current value Id, and the q-axis voltage command Vq* according to the deviation between the q-axis current command Iq* and the q-axis current value Iq are calculated at each predetermined calculation cycle by current control calculation using a control method such as PI control.
 キャリア周波数制御部15は、回転位置検出器4が求めた回転位置θと、速度算出部11が求めた回転速度ωとに基づき、PWMパルス信号の生成に用いられるキャリア波の周波数を表すキャリア周波数fcを演算する。例えば、モータ2の一回転あたりのキャリア波の数が所定数Ncと一致するように、キャリア周波数fcを演算する。 The carrier frequency control unit 15 calculates a carrier frequency fc representing the frequency of the carrier wave used to generate the PWM pulse signal based on the rotational position θ determined by the rotational position detector 4 and the rotational speed ω determined by the speed calculation unit 11. For example, the carrier frequency fc is calculated so that the number of carrier waves per rotation of the motor 2 matches a predetermined number Nc.
 電圧制御部16は、回転位置θ、モータ回転速度ω、高圧バッテリ5の電圧Vdcおよびキャリア周波数fcを用いて、電流制御部14により演算されたd軸電圧指令Vd*およびq軸電圧指令Vq*から、各相のキャリア前半部分と後半部分に対応するデューティ指令値Dua、Dub、Dva、Dvb、Dwa、Dwbを求める。このとき電圧制御部16は、d軸電圧指令Vd*およびq軸電圧指令Vq*に対する三相変換を行い、三相電圧指令Vu*、Vv*、Vw*(U相電圧指令値Vu*、V相電圧指令値Vv*およびW相電圧指令値Vw*)を求める。そして、求められた三相電圧指令Vu*、Vv*、Vw*と、キャリア周波数fcで周期的に変化する三角キャリア波とに基づくPWM演算を行い、各スイッチング素子に対して出力すべきゲート駆動信号のパルス幅を決定することで、デューティ指令値Dua、Dub、Dva、Dvb、Dwa、Dwbを求める。なお、電圧制御部16によるデューティ指令値Dua、Dub、Dva、Dvb、Dwa、Dwbの算出方法の詳細については後述する。 The voltage control unit 16 uses the rotational position θ, motor rotational speed ω, voltage Vdc of the high-voltage battery 5, and carrier frequency fc to determine the duty command values Dua, Dub, Dva, Dvb, Dwa, and Dwb corresponding to the first and second half of the carrier for each phase from the d-axis voltage command Vd* and q-axis voltage command Vq* calculated by the current control unit 14. At this time, the voltage control unit 16 performs a three-phase conversion on the d-axis voltage command Vd* and q-axis voltage command Vq* to determine the three-phase voltage commands Vu*, Vv*, and Vw* (U-phase voltage command value Vu*, V-phase voltage command value Vv*, and W-phase voltage command value Vw*). Then, PWM calculation is performed based on the obtained three-phase voltage commands Vu*, Vv*, Vw* and a triangular carrier wave that changes periodically with a carrier frequency fc, and the pulse width of the gate drive signal to be output to each switching element is determined to obtain the duty command values Dua, Dub, Dva, Dvb, Dwa, and Dwb. Details of the method of calculating the duty command values Dua, Dub, Dva, Dvb, Dwa, and Dwb by the voltage control unit 16 will be described later.
 ゲート信号生成部17は、電圧制御部16により求められたデューティ指令値Dua、Dub、Dva、Dvb、Dwa、Dwbに基づき、インバータ3の動作を制御するためのゲート信号(PWMパルス信号)Gup、Gun、Gvp、Gvn、Gwp、Gwnを生成する。例えば、デューティ指令値Dua、Dub、Dva、Dvb、Dwa、Dwbを所定の電圧信号にそれぞれ変換することで、ゲート信号Gup、Gun、Gvp、Gvn、Gwp、Gwnを生成する。ゲート信号生成部17が生成したゲート信号は、モータ制御装置1からインバータ3のゲート駆動回路32に出力され、ゲート駆動回路32によってゲート駆動信号に変換される。これにより、インバータ回路31の各スイッチング素子がオン/オフ制御され、インバータ3の出力電圧が調整される。 The gate signal generating unit 17 generates gate signals (PWM pulse signals) Gup, Gun, Gvp, Gvn, Gwp, and Gwn for controlling the operation of the inverter 3 based on the duty command values Dua, Dub, Dva, Dvb, Dwa, and Dwb obtained by the voltage control unit 16. For example, the gate signals Gup, Gun, Gvp, Gvn, Gwp, and Gwn are generated by converting the duty command values Dua, Dub, Dva, Dvb, Dwa, and Dwb into predetermined voltage signals. The gate signals generated by the gate signal generating unit 17 are output from the motor control device 1 to the gate drive circuit 32 of the inverter 3, and are converted into gate drive signals by the gate drive circuit 32. As a result, each switching element of the inverter circuit 31 is controlled to be turned on and off, and the output voltage of the inverter 3 is adjusted.
 次に、モータ制御装置1における電流変換部13の詳細について説明する。図3は、本発明の一実施形態に係る電流変換部13のブロック図である。電流変換部13は、第1電流変換部131、第2電流変換部132、加算部133,134、乗算部135,136の各機能ブロックを有する。 Next, the current conversion unit 13 in the motor control device 1 will be described in detail. FIG. 3 is a block diagram of the current conversion unit 13 according to one embodiment of the present invention. The current conversion unit 13 has the following functional blocks: a first current conversion unit 131, a second current conversion unit 132, adders 133 and 134, and multipliers 135 and 136.
 ここで、電流変換部13に入力される電流について説明する。電流検出部12は前述のように、電流制御部14が行う電流制御演算の演算周期と比べて半分の周期で、第1三相交流電流検出値Iua、Iva、Iwaと第2三相交流電流検出値Iub、Ivb、Iwbを検出し、マイコンレジスタへ格納する。第1三相交流電流検出値Iua、Iva、Iwaは電流制御演算タスク起動時から電流制御演算周期の半周期前に検出した電流である。第2三相交流電流検出値Iub、Ivb、Iwbは電流制御演算タスク起動時に検出した電流である。電流変換部13には制御周期毎にマイコンレジスタに格納された第1三相交流電流検出値Iua、Iva、Iwaと第2三相交流電流検出値Iub、Ivb、Iwbが同時に入力される。電流制御演算の回数は制御演算周期当たり1回のため、電流変換部13において制御演算周期に2回検出した電流を平均化し、2サンプリング分のデータとして電流制御部14へ出力する。電流の平均化の方法としては、第1三相交流電流検出値Iua、Iva、Iwaと第2三相交流電流検出値Iub、Ivb、Iwbそれぞれに対してdq変換を行い、dq軸上で平均する。 Here, the current input to the current conversion unit 13 will be described. As described above, the current detection unit 12 detects the first three-phase AC current detection values Iua, Iva, Iwa and the second three-phase AC current detection values Iub, Ivb, Iwb in a cycle that is half the calculation cycle of the current control calculation performed by the current control unit 14, and stores them in a microcomputer register. The first three-phase AC current detection values Iua, Iva, Iwa are currents detected half a cycle before the current control calculation task is started. The second three-phase AC current detection values Iub, Ivb, Iwb are currents detected when the current control calculation task is started. The first three-phase AC current detection values Iua, Iva, Iwa and the second three-phase AC current detection values Iub, Ivb, Iwb stored in the microcomputer register for each control cycle are simultaneously input to the current conversion unit 13. Since the current control calculation is performed once per control calculation cycle, the current conversion unit 13 averages the current detected twice in the control calculation cycle and outputs it as two samples of data to the current control unit 14. The current is averaged by performing dq transformation on each of the first three-phase AC current detection values Iua, Iva, Iwa and the second three-phase AC current detection values Iub, Ivb, Iwb, and averaging them on the dq axis.
 第1電流変換部131は、回転位置θおよび回転速度ωに基づいて、電流検出部12から入力される第1三相交流電流検出値Iua、Iva、Iwaに対するdq変換を行う。第1三相交流電流検出値Iua、Iva、Iwaは電流制御演算開始の半周期前に検出した電流であり、回転位置θおよび回転速度ωは電流制御演算開始時に検出された回転位置および回転速度である。従って電流を検出したタイミングと回転位置θを検出したタイミングが異なる。そこで、電流検出から回転位置検出までの間に進んだ回転角度を計算し、電流検出タイミングでの回転角度を推定してdq変換を行う必要がある。dq変換に用いる位相θは式(1)のように計算する。
 θ=θ+(Ts[n―1]/2)×ω   ・・・(1)
 ただし、式(1)において、Ts[n―1]は前回割り込み時の制御周期である。回転角速度ωの変化が遅く、制御周期の間に変化しないとすれば式(1)によって電流検出タイミングでの回転角度を計算できる。そして、得られたdq変換結果を、第1d軸電流値Id1および第1q軸電流値Iq1として出力する。
The first current converter 131 performs dq conversion on the first three-phase AC current detection values Iua, Iva, Iwa input from the current detector 12 based on the rotational position θ and the rotational speed ω. The first three-phase AC current detection values Iua, Iva, Iwa are currents detected half a cycle before the start of the current control calculation, and the rotational position θ and the rotational speed ω are the rotational position and the rotational speed detected at the start of the current control calculation. Therefore, the timing at which the current is detected is different from the timing at which the rotational position θ is detected. Therefore, it is necessary to calculate the rotational angle advanced from the current detection to the rotational position detection, estimate the rotational angle at the current detection timing, and perform the dq conversion. The phase θa used in the dq conversion is calculated as shown in Equation (1).
θ a = θ + (Ts [n-1] / 2) × ω ... (1)
In equation (1), Ts[n-1] is the control period at the time of the previous interrupt. If the change in the rotational angular velocity ω is slow and does not change during the control period, the rotation angle at the current detection timing can be calculated using equation (1). The obtained dq transformation result is then output as the first d-axis current value Id1 and the first q-axis current value Iq1.
 第2電流変換部132は、回転位置θおよび回転速度ωに基づいて、電流検出部12から入力される第2三相交流電流検出値Iub、Ivb、Iwbに対するdq変換を行う。そして、得られたdq変換結果を、第2d軸電流値Id2および第2q軸電流値Iq2として出力する。第2三相交流電流検出値Iub、Ivb、Iwbと回転位置θの検出タイミングは同じなので、第1電流変換部のようにdq変換の位相の補正は不要である。 The second current conversion unit 132 performs dq conversion on the second three-phase AC current detection values Iub, Ivb, Iwb input from the current detection unit 12 based on the rotational position θ and the rotational speed ω. The obtained dq conversion result is then output as the second d-axis current value Id2 and the second q-axis current value Iq2. Because the detection timing of the second three-phase AC current detection values Iub, Ivb, Iwb and the rotational position θ is the same, there is no need to correct the phase of the dq conversion as in the first current conversion unit.
 加算部133は、第1電流変換部131から出力される第1d軸電流値Id1と、第2電流変換部132から出力される第2d軸電流値Id2とを合計する。乗算部135は、これらの合計値を0.5倍し、d軸電流値Idとして出力する。これにより、第1d軸電流値Id1と第2d軸電流値Id2との平均値からd軸電流値Idが求められる。 The adder 133 sums the first d-axis current value Id1 output from the first current converter 131 and the second d-axis current value Id2 output from the second current converter 132. The multiplier 135 multiplies this sum by 0.5 and outputs the result as the d-axis current value Id. In this way, the d-axis current value Id is calculated from the average value of the first d-axis current value Id1 and the second d-axis current value Id2.
 加算部134は、第1電流変換部131から出力される第1q軸電流値Iq1と、第2電流変換部132から出力される第2q軸電流値Iq2とを合計する。乗算部136は、これらの合計値を0.5倍し、q軸電流値Iqとして出力する。これにより、第1q軸電流値Iq1と第2q軸電流値Iq2との平均値からq軸電流値Iqが求められる。 The adder 134 sums the first q-axis current value Iq1 output from the first current converter 131 and the second q-axis current value Iq2 output from the second current converter 132. The multiplier 136 multiplies this sum by 0.5 and outputs it as the q-axis current value Iq. In this way, the q-axis current value Iq is calculated from the average value of the first q-axis current value Iq1 and the second q-axis current value Iq2.
 電流変換部13では、以上説明したようにして、第1三相交流電流検出値Iua、Iva、Iwaおよび第2三相交流電流検出値Iub、Ivb、Iwbをdq変換し、d軸電流値Idおよびq軸電流値Iqを求めることができる。この方法により、電流制御演算周期を変えずに電流検出周期を倍にすることができる。 As described above, the current conversion unit 13 performs dq conversion on the first three-phase AC current detection values Iua, Iva, Iwa and the second three-phase AC current detection values Iub, Ivb, Iwb to obtain the d-axis current value Id and the q-axis current value Iq. This method makes it possible to double the current detection period without changing the current control calculation period.
 次に、モータ制御装置1における電圧制御部16の詳細について説明する。図4は、本発明の一実施形態に係る電圧制御部16のブロック図である。電圧制御部16は、第1電圧変換部161、第2電圧変換部162、過変調ゲイン乗算部163a,163b、零相加算部164a,164b、デューティ変換部165a,165b、デッドタイム補償加算部166a,166b、デューティ出力部167の各機能ブロックを有する。 Next, the voltage control unit 16 in the motor control device 1 will be described in detail. FIG. 4 is a block diagram of the voltage control unit 16 according to one embodiment of the present invention. The voltage control unit 16 has the following functional blocks: a first voltage conversion unit 161, a second voltage conversion unit 162, overmodulation gain multiplication units 163a and 163b, zero- phase addition units 164a and 164b, duty conversion units 165a and 165b, dead-time compensation addition units 166a and 166b, and a duty output unit 167.
 第1電圧変換部161は、回転位置θおよび回転速度ωに基づいて、電流制御部14から入力されるd軸電圧指令Vd*およびq軸電圧指令Vq*に対する三相変換を行い、PWM演算に用いられる三相電圧指令値を求める。このとき第1電圧変換部161は、次の制御周期の前半に対する三相電圧指令値として、回転位置θや第1三相交流電流検出値Iua、Iva、Iwaの取得時点から1.25制御周期分だけ遅れた時点での回転位置θに対応する三相電圧指令値を求める。そして、得られた三相変換結果を、キャリア波の前半部分に対応する第1三相電圧指令値Vua*、Vva*、Vwa*(第1U相電圧指令値Vua*、第1V相電圧指令値Vva*および第1W相電圧指令値Vwa*)として出力する。 The first voltage conversion unit 161 performs three-phase conversion on the d-axis voltage command Vd* and q-axis voltage command Vq* input from the current control unit 14 based on the rotational position θ and the rotational speed ω, and obtains three-phase voltage command values to be used in the PWM calculation. At this time, the first voltage conversion unit 161 obtains a three-phase voltage command value corresponding to the rotational position θ at a time point delayed by 1.25 control cycles from the time point at which the rotational position θ and the first three-phase AC current detection values Iua, Iva, Iwa were acquired, as the three-phase voltage command value for the first half of the next control cycle. The obtained three-phase conversion result is then output as the first three-phase voltage command values Vua*, Vva*, Vwa* (first U-phase voltage command value Vua*, first V-phase voltage command value Vva*, and first W-phase voltage command value Vwa*) corresponding to the first half of the carrier wave.
 第2電圧変換部162は、回転位置θおよび回転速度ωに基づいて、電流制御部14から入力されるd軸電圧指令Vd*およびq軸電圧指令Vq*に対する三相変換を行い、PWM演算に用いられる三相電圧指令値を求める。このとき第2電圧変換部162は、次の制御周期の後半に対する三相電圧指令値として、回転位置θや第1三相交流電流検出値Iua、Iva、Iwaの取得時点から1.75制御周期分だけ遅れた時点での回転位置θに対応する三相電圧指令値を求める。そして、得られた三相変換結果を、キャリア波の後半部分に対応する第2三相電圧指令値Vub*、Vvb*、Vwb*(第2U相電圧指令値Vub*、第2V相電圧指令値Vvb*および第2W相電圧指令値Vwb*)として出力する。 The second voltage conversion unit 162 performs three-phase conversion on the d-axis voltage command Vd* and q-axis voltage command Vq* input from the current control unit 14 based on the rotational position θ and the rotational speed ω, and obtains three-phase voltage command values to be used in the PWM calculation. At this time, the second voltage conversion unit 162 obtains, as the three-phase voltage command values for the latter half of the next control period, three-phase voltage command values corresponding to the rotational position θ at a time point delayed by 1.75 control periods from the time point at which the rotational position θ and the first three-phase AC current detection values Iua, Iva, Iwa were acquired. The obtained three-phase conversion results are then output as second three-phase voltage command values Vub*, Vvb*, Vwb* (second U-phase voltage command value Vub*, second V-phase voltage command value Vvb*, and second W-phase voltage command value Vwb*) corresponding to the latter half of the carrier wave.
 過変調ゲイン乗算部163a,163bは、高圧バッテリ5の電圧Vdcに基づき、第1電圧変換部161から出力される第1三相電圧指令値Vua*、Vva*、Vwa*と、第2電圧変換部162から出力される第2三相電圧指令値Vub*、Vvb*、Vwb*とに対して、所定の過変調ゲインをそれぞれ乗算する。過変調ゲインとは、インバータ3の出力電圧を基本波成分の振幅よりも上昇させる過変調制御を行う際に用いられるゲインであり、例えば1以上の値が設定される。なお、過変調制御を行わない場合は、過変調ゲインを1とすればよい。 The overmodulation gain multiplication units 163a and 163b multiply the first three-phase voltage command values Vua*, Vva*, Vwa* output from the first voltage conversion unit 161 and the second three-phase voltage command values Vub*, Vvb*, Vwb* output from the second voltage conversion unit 162 by a predetermined overmodulation gain, based on the voltage Vdc of the high-voltage battery 5. The overmodulation gain is a gain used when performing overmodulation control to increase the output voltage of the inverter 3 above the amplitude of the fundamental wave component, and is set to a value of 1 or more, for example. If overmodulation control is not performed, the overmodulation gain can be set to 1.
 零相加算部164a,164bは、過変調ゲイン乗算部163a,163bによって過変調ゲインが乗算された第1三相電圧指令値Vua*、Vva*、Vwa*および第2三相電圧指令値Vub*、Vvb*、Vwb*に対して、所定の零相電圧値をそれぞれ加算する。零相電圧値とは、高圧バッテリ5の電圧Vdcに対するAC電圧の出力を向上させる(電圧利用率を向上させる)ための処理であり、例えば第1三相電圧指令値Vua*、Vva*、Vwa*または第2三相電圧指令値Vub*、Vvb*、Vwb*の組み合わせや、回転位置θなどに応じて決定される。なお、零相電圧値の加算は必ずしも必要ではないため、電圧制御部16において零相加算部164a,164bを省略してもよい。 The zero- phase adders 164a and 164b add a predetermined zero-phase voltage value to the first three-phase voltage command values Vua*, Vva*, Vwa* and the second three-phase voltage command values Vub*, Vvb*, Vwb* multiplied by the overmodulation gain by the overmodulation gain multipliers 163a and 163b. The zero-phase voltage value is a process for improving the AC voltage output relative to the voltage Vdc of the high-voltage battery 5 (improving the voltage utilization rate), and is determined, for example, according to a combination of the first three-phase voltage command values Vua*, Vva*, Vwa* or the second three-phase voltage command values Vub*, Vvb*, Vwb*, and the rotational position θ. Note that the addition of the zero-phase voltage value is not necessarily required, so the zero- phase adders 164a and 164b may be omitted in the voltage control unit 16.
 デューティ変換部165a,165bは、零相加算部164a,164bによって零相電圧値が乗算された第1三相電圧指令値Vua*、Vva*、Vwa*および第2三相電圧指令値Vub*、Vvb*、Vwb*に対して、キャリア周波数fcで周期的に変化するキャリア波を用いたPWM演算をそれぞれ行うことにより、これらの三相電圧指令値をU相、V相、W相の各相に対するデューティ値に変換する。なお前述のように、第1三相電圧指令値Vua*、Vva*、Vwa*はキャリア波の前半部分に、第2三相電圧指令値Vub*、Vvb*、Vwb*はキャリア波の後半部分にそれぞれ対応して生成されたものである。そのため、デューティ変換部165aでは、第1三相電圧指令値Vua*、Vva*、Vwa*に基づいて、キャリア波の前半部分に対応する各相のデューティ値を求める。一方、デューティ変換部165bでは、第2三相電圧指令値Vub*、Vvb*、Vwb*に基づいて、キャリア波の後半部分に対応する各相のデューティ値を求める。 The duty conversion units 165a and 165b convert the first three-phase voltage command values Vua*, Vva*, Vwa* and the second three-phase voltage command values Vub*, Vvb*, Vwb*, which are multiplied by the zero-phase voltage value by the zero- phase addition units 164a and 164b, into duty values for the U, V, and W phases by performing PWM calculations using a carrier wave that changes periodically at the carrier frequency fc. As described above, the first three-phase voltage command values Vua*, Vva*, Vwa* are generated corresponding to the first half of the carrier wave, and the second three-phase voltage command values Vub*, Vvb*, Vwb* are generated corresponding to the second half of the carrier wave. Therefore, the duty conversion unit 165a calculates the duty value of each phase corresponding to the first half of the carrier wave based on the first three-phase voltage command values Vua*, Vva*, Vwa*. Meanwhile, the duty conversion unit 165b calculates the duty values of each phase corresponding to the latter half of the carrier wave based on the second three-phase voltage command values Vub*, Vvb*, and Vwb*.
 デッドタイム補償加算部166a,166bは、デューティ変換部165a,165bによりそれぞれ求められた各相のデューティ値に対して、相ごとに所定のデッドタイム補償値Udt,Vdt,Wdtを加算することにより、デッドタイム補償を行う。デッドタイム補償値とは、各相の上アームと下アームのスイッチング素子が同時にオンとなるのを避けるため、各相のデューティ値に対して必要に応じて加算される値である。なお、デッドタイム補償加算部166a,166bによるデッドタイム補償の詳細については後述する。 The dead time compensation addition units 166a and 166b perform dead time compensation by adding a predetermined dead time compensation value Udt, Vdt, or Wdt for each phase to the duty value of each phase calculated by the duty conversion units 165a and 165b, respectively. The dead time compensation value is a value that is added to the duty value of each phase as necessary to prevent the switching elements of the upper arm and lower arm of each phase from being turned on simultaneously. Details of the dead time compensation by the dead time compensation addition units 166a and 166b will be described later.
 デューティ出力部167は、デッドタイム補償加算部166a,166bによりデッドタイム補償が行われた各相のデューティ値に基づき、デューティ指令値Dua、Dub、Dva、Dvb、Dwa、Dwbを出力する。このときデューティ出力部167は、第1三相電圧指令値Vua*、Vva*、Vwa*に基づいてデッドタイム補償加算部166aから出力される、キャリア波の前半部分に対応するデッドタイム補償後のデューティ値Dua、Dva、Dwaと、第2三相電圧指令値Vub*、Vvb*、Vwb*に基づいてデッドタイム補償加算部166bから出力される、キャリア波の後半部分に対応するデッドタイム補償後のデューティ値Dub、Dvb、Dwbとを出力する。 The duty output unit 167 outputs duty command values Dua, Dub, Dva, Dvb, Dwa, and Dwb based on the duty values of each phase for which dead time compensation has been performed by the dead time compensation adders 166a and 166b. At this time, the duty output unit 167 outputs the dead time compensated duty values Dua, Dva, and Dwa corresponding to the first half of the carrier wave, which are output from the dead time compensation adder 166a based on the first three-phase voltage command values Vua*, Vva*, and Vwa*, and the dead time compensated duty values Dub, Dvb, and Dwb corresponding to the second half of the carrier wave, which are output from the dead time compensation adder 166b based on the second three-phase voltage command values Vub*, Vvb*, and Vwb*.
 電圧制御部16では、以上説明したようにして、d軸電圧指令Vd*およびq軸電圧指令Vq*から、各相のキャリア前半部分と後半部分に対応するデューティ指令値Dua、Dub、Dva、Dvb、Dwa、Dwbを求めることができる。 As described above, the voltage control unit 16 can obtain the duty command values Dua, Dub, Dva, Dvb, Dwa, and Dwb corresponding to the first and second half of the carrier for each phase from the d-axis voltage command Vd* and the q-axis voltage command Vq*.
 次に、デッドタイム補償加算部166a,166bによるデッドタイム補償の詳細について、図5を参照して説明する。図5は、従来例と本発明におけるデッドタイム補償の比較図である。 Next, the details of the dead time compensation by the dead time compensation adding units 166a and 166b will be described with reference to FIG. 5. FIG. 5 is a comparison diagram of the dead time compensation in the conventional example and the present invention.
 図5(a)は、本発明を適用しない従来例におけるデッドタイム補償の様子を示している。モータ2に流れている電流が正のときに、いずれかの相に対するデッドタイム補償前のデューティ値として、例えば図5(a)の左側に示す目標パルスが入力されたとする。この場合、目標パルスの前後にデッドタイム補償値に相当する所定の補償デューティdtをそれぞれ加えることで、目標パルスの立下りエッジと立上りエッジの位置がそれぞれ移動し、図5(a)に示すようなデッドタイム補償後のパルス波形が生成される。こうして生成されたデッドタイム補償後のパルス波形に基づき、互いにデッドタイム差を設けて上アームと下アームのパルス波形が生成されることで、元の目標パルスに応じた出力パルスが生成される。 FIG. 5(a) shows the state of dead time compensation in a conventional example to which the present invention is not applied. When the current flowing through the motor 2 is positive, for example, a target pulse shown on the left side of FIG. 5(a) is input as the duty value before dead time compensation for one of the phases. In this case, by adding a predetermined compensation duty dt equivalent to the dead time compensation value before and after the target pulse, the positions of the falling edge and rising edge of the target pulse move, respectively, and a pulse waveform after dead time compensation as shown in FIG. 5(a) is generated. Based on the pulse waveform after dead time compensation generated in this way, pulse waveforms for the upper arm and lower arm are generated with a dead time difference between them, and an output pulse corresponding to the original target pulse is generated.
 また、モータ2に流れている電流が負のときに、いずれかの相に対するデッドタイム補償前のデューティ値として、例えば図5(a)の右側に示す目標パルスが入力されたとする。この場合、目標パルスの先頭と末尾からデッドタイム補償値に相当する所定の補償デューティdtをそれぞれ差し引くことで、目標パルスの立下りエッジと立上りエッジの位置がそれぞれ移動し、図5(a)に示すようなデッドタイム補償後のパルス波形が生成される。こうして生成されたデッドタイム補償後のパルス波形に基づき、互いにデッドタイム差を設けて上アームと下アームのパルス波形が生成されることで、元の目標パルスに応じた出力パルスが生成される。 Also, when the current flowing through the motor 2 is negative, for example, a target pulse as shown on the right side of Figure 5(a) is input as the duty value before dead time compensation for one of the phases. In this case, by subtracting a predetermined compensation duty dt equivalent to the dead time compensation value from the beginning and end of the target pulse, the positions of the falling edge and rising edge of the target pulse are moved, respectively, and a pulse waveform after dead time compensation as shown in Figure 5(a) is generated. Based on the pulse waveform after dead time compensation generated in this way, pulse waveforms for the upper arm and lower arm are generated with a dead time difference between them, and an output pulse corresponding to the original target pulse is generated.
 なお、電流が正負いずれの場合でも、上記のようにして生成される従来例の出力パルスでは、元のデッドタイム補償前の目標パルスと比べて、補償デューティdt分の遅延が生じていることが分かる。 It can be seen that, regardless of whether the current is positive or negative, the output pulse of the conventional example generated as described above has a delay of the compensation duty dt compared to the original target pulse before dead time compensation.
 図5(b)は、本発明を適用した実施形態におけるデッドタイム補償の様子を示している。モータ2に流れている電流が正のときに、いずれかの相に対するデッドタイム補償前のデューティ値として、例えば図5(b)の左側に示す目標パルスがデッドタイム補償加算部166a,166bに入力されたとする。この場合、デッドタイム補償加算部166aではデッドタイム補償を行わず、デッドタイム補償加算部166bにおいて前述の補償デューティdtを2倍した値を目標パルスに加えることで、目標パルスの立上りエッジの位置が移動し、図5(b)に示すようなデッドタイム補償後のパルス波形が生成される。こうして生成されたデッドタイム補償後のパルス波形に基づき、互いにデッドタイム差を設けて上アームと下アームのパルス波形が生成されることで、元の目標パルスに応じた出力パルスが生成される。 FIG. 5(b) shows the state of dead-time compensation in an embodiment to which the present invention is applied. When the current flowing through the motor 2 is positive, for example, the target pulse shown on the left side of FIG. 5(b) is input to the dead- time compensation adders 166a and 166b as the duty value before dead-time compensation for either phase. In this case, the dead-time compensation adder 166a does not perform dead-time compensation, and the dead-time compensation adder 166b adds a value obtained by multiplying the compensation duty dt by two to the target pulse, thereby moving the position of the rising edge of the target pulse and generating a pulse waveform after dead-time compensation as shown in FIG. 5(b). Based on the pulse waveform after dead-time compensation thus generated, the pulse waveforms of the upper arm and the lower arm are generated with a dead-time difference between them, and an output pulse corresponding to the original target pulse is generated.
 また、モータ2に流れている電流が負のときに、いずれかの相に対するデッドタイム補償前のデューティ値として、例えば図5(b)の右側に示す目標パルスがデッドタイム補償加算部166a,166bに入力されたとする。この場合、デッドタイム補償加算部166bではデッドタイム補償を行わず、デッドタイム補償加算部166aにおいて前述の補償デューティdtを2倍した値を目標パルスから差し引くことで、目標パルスの立下りエッジの位置が移動し、図5(b)に示すようなデッドタイム補償後のパルス波形が生成される。こうして生成されたデッドタイム補償後のパルス波形に基づき、互いにデッドタイム差を設けて上アームと下アームのパルス波形が生成されることで、元の目標パルスに応じた出力パルスが生成される。 Also, when the current flowing through the motor 2 is negative, for example, the target pulse shown on the right side of FIG. 5(b) is input to the dead time compensation adders 166a and 166b as the duty value before dead time compensation for either phase. In this case, the dead time compensation adder 166b does not perform dead time compensation, and the dead time compensation adder 166a subtracts a value obtained by multiplying the compensation duty dt described above by two from the target pulse, thereby moving the position of the falling edge of the target pulse and generating a pulse waveform after dead time compensation as shown in FIG. 5(b). Based on the pulse waveform after dead time compensation generated in this way, pulse waveforms for the upper arm and lower arm are generated with a dead time difference between them, and an output pulse corresponding to the original target pulse is generated.
 なお、電流が正負いずれの場合でも、上記のようにして生成される本発明の出力パルスでは、元のデッドタイム補償前の目標パルスと比べて、従来例のような遅延が生じていないことが分かる。 It can be seen that, regardless of whether the current is positive or negative, the output pulse of the present invention generated as described above does not have a delay as in the conventional example, compared to the original target pulse before dead time compensation.
 図6は、従来例と本発明における演算処理の比較図である。 Figure 6 is a comparison diagram of the calculation processing in the conventional example and the present invention.
 図6(a)は、本発明を適用しない従来例における演算処理の様子を示している。従来例では、キャリア周波数fcで周期的に変化する三角キャリア波の各期間内で、電流検出からPWMデューティ指令までの一連の演算処理が繰り返し行われることで、モータ制御装置1からインバータ3に対して、トルク指令T*に応じた出力パルスのゲート信号が出力される。 FIG. 6(a) shows the state of the calculation processing in a conventional example to which the present invention is not applied. In the conventional example, a series of calculation processing from current detection to PWM duty command is repeatedly performed within each period of a triangular carrier wave that changes periodically with carrier frequency fc, and a gate signal of an output pulse corresponding to the torque command T* is output from the motor control device 1 to the inverter 3.
 ここで、図6(a)に示した従来例の演算処理では、各制御周期で電流検出が1回だけ行われる。また、各制御周期で行われた演算処理の結果は、次の制御周期のデューティに対して、キャリア波の谷部分で1回だけ反映される。例えば、制御周期Ts[n]の期間では、最初にキャリア波の谷部分で電流検出が行われ、この電流検出結果に基づいて演算処理が実行される。制御周期Ts[n]の演算処理によって求められたデューティ指令値は、次の制御周期Ts[n+1]におけるインバータ3の出力電圧を調整するためのゲート信号として、キャリア波の谷部分で出力される。 Here, in the conventional calculation process shown in FIG. 6(a), current detection is performed only once in each control cycle. Furthermore, the result of the calculation process performed in each control cycle is reflected only once in the valley of the carrier wave for the duty of the next control cycle. For example, during a control cycle Ts[n], current detection is first performed in the valley of the carrier wave, and calculation processing is executed based on the current detection result. The duty command value obtained by the calculation process in the control cycle Ts[n] is output in the valley of the carrier wave as a gate signal for adjusting the output voltage of the inverter 3 in the next control cycle Ts[n+1].
 図6(b)は、本発明を適用した実施形態における演算処理の様子を示している。本実施形態では、キャリア周波数fcで周期的に変化する三角キャリア波の各期間内で2回の電流検出が行われる。そして、直前の2回の電流検出結果を用いて、従来例と同様の一連の演算処理が繰り返し行われることで、モータ制御装置1からインバータ3に対して、トルク指令T*に応じた出力パルスのゲート信号が出力される。 FIG. 6(b) shows the state of the calculation processing in an embodiment to which the present invention is applied. In this embodiment, current detection is performed twice within each period of a triangular carrier wave that changes periodically with carrier frequency fc. Then, a series of calculation processing similar to that in the conventional example is repeated using the results of the two immediately preceding current detections, and a gate signal of an output pulse corresponding to the torque command T* is output from the motor control device 1 to the inverter 3.
 ここで、図6(b)に示した本実施形態の演算処理では、各制御周期で電流検出が2回ずつ行われる。また、各制御周期で行われた演算処理の結果は、次の制御周期のデューティに対して、キャリア波の谷部分と山部分でそれぞれ反映される。例えば、制御周期Ts[n-1]、Ts[n]の各期間では、キャリア波の谷部分と山部分でそれぞれ電流検出が行われる。制御周期Ts[n]の演算処理は、直前の制御周期Ts[n-1]においてキャリア波の山部分で検出された電流値と、制御周期Ts[n]の最初にキャリア波の谷部分で検出された電流値とに基づいて行われる。制御周期Ts[n]の演算処理によって求められたデューティ指令値は、次の制御周期Ts[n+1]におけるインバータ3の出力電圧を調整するためのゲート信号として、キャリア波の谷部分と山部分でそれぞれ出力される。 Here, in the calculation process of this embodiment shown in FIG. 6(b), current detection is performed twice in each control cycle. The results of the calculation process performed in each control cycle are reflected in the valley and peak of the carrier wave for the duty of the next control cycle. For example, in each of the control cycles Ts[n-1] and Ts[n], current detection is performed in the valley and peak of the carrier wave. The calculation process of the control cycle Ts[n] is performed based on the current value detected in the peak of the carrier wave in the immediately preceding control cycle Ts[n-1] and the current value detected in the valley of the carrier wave at the beginning of the control cycle Ts[n]. The duty command value obtained by the calculation process of the control cycle Ts[n] is output in the valley and peak of the carrier wave as a gate signal for adjusting the output voltage of the inverter 3 in the next control cycle Ts[n+1].
 本実施形態のモータ制御装置1では、以上説明したような演算処理により、インバータ3を介してモータ2の制御が行われる。その結果、演算周期ごとに電流検出値を2回取得するとともに、2種類のデューティ指令を求めて、モータ2の制御に反映することができる。したがって、キャリア波当たりの電流制御演算回数を増加することなく、従来例よりもモータ2に流れる電流の検出結果をきめ細かく反映したモータ2の制御を実現し、モータ制御性能の向上を図ることができる。 In the motor control device 1 of this embodiment, the motor 2 is controlled via the inverter 3 by the calculation process described above. As a result, the current detection value is obtained twice per calculation cycle, and two types of duty commands are determined and reflected in the control of the motor 2. Therefore, without increasing the number of current control calculations per carrier wave, it is possible to realize control of the motor 2 that more finely reflects the detection results of the current flowing through the motor 2 than in the conventional example, thereby improving motor control performance.
 なお、本実施形態では、演算周期ごとに電流検出値を2回取得し、これらの電流検出値に基づいて演算周期ごとに2種類のデューティ指令を求める例を説明したが、本発明はこれに限定されず、演算周期ごとの電流検出値の取得回数や、演算周期ごとに求めるデューティ指令の種類数を、それぞれ3以上としてもよい。演算周期ごとに電流検出値を少なくとも2回取得し、演算周期ごとに少なくとも2種類以上のデューティ指令を求めるものであれば、本発明を適用可能である。 In this embodiment, an example has been described in which a current detection value is obtained twice per calculation cycle, and two types of duty commands are calculated per calculation cycle based on these current detection values, but the present invention is not limited to this, and the number of times that a current detection value is obtained per calculation cycle and the number of types of duty commands calculated per calculation cycle may each be three or more. The present invention is applicable as long as a current detection value is obtained at least twice per calculation cycle and at least two or more types of duty commands are calculated per calculation cycle.
 以上説明した本発明の一実施形態によれば、以下の作用効果を奏する。 The embodiment of the present invention described above provides the following effects.
(1)モータ制御装置1は、複数のスイッチング素子を有するインバータ3に対して、スイッチング素子の動作を制御するためのゲート信号を生成し、生成したゲート信号をインバータ3に出力することで、インバータ3に接続された交流モータ2の駆動を制御する。モータ制御装置1は、交流モータ2に流れる電流に応じた電流検出値を取得する電流検出部12と、交流モータ2に対する電流指令値を取得し、電流指令値および電流検出値に基づいて、交流モータ2に対する電圧指令値を所定の演算周期ごとに演算する電流制御部14と、電圧指令値に基づく制御演算を演算周期ごとに実行し、ゲート信号を生成するためのデューティ指令を求める電圧制御部16とを備える。電流検出部12は、演算周期ごとに電流検出値を少なくとも2回取得し、電圧制御部16は、演算周期ごとに少なくとも2種類以上のデューティ指令を求めてゲート信号に反映する。このようにしたので、高回転時のモータ制御において、処理負荷の増加を抑えつつモータ制御性能を向上させることができる。 (1) The motor control device 1 generates a gate signal for controlling the operation of a switching element for an inverter 3 having multiple switching elements, and outputs the generated gate signal to the inverter 3 to control the drive of an AC motor 2 connected to the inverter 3. The motor control device 1 includes a current detection unit 12 that acquires a current detection value corresponding to the current flowing through the AC motor 2, a current control unit 14 that acquires a current command value for the AC motor 2 and calculates a voltage command value for the AC motor 2 for each predetermined calculation period based on the current command value and the current detection value, and a voltage control unit 16 that executes a control calculation based on the voltage command value for each calculation period and obtains a duty command for generating a gate signal. The current detection unit 12 acquires the current detection value at least twice for each calculation period, and the voltage control unit 16 obtains at least two types of duty commands for each calculation period and reflects them in the gate signal. As a result, it is possible to improve motor control performance while suppressing an increase in processing load during motor control at high speeds.
(2)モータ制御装置1は、電流検出部12により取得された三相交流電流の検出値をd軸電流値Idおよびq軸電流値Iqに変換する電流変換部13を備える。電流検出部12は、演算周期内の異なるタイミングにおいて第1三相交流電流検出値Iua、Iva、Iwaおよび第2三相交流電流検出値Iub、Ivb、Iwbを取得する。電流変換部13は、第1電流変換部131および第2電流変換部132により、第1三相交流電流検出値Iua、Iva、Iwaに基づく第1d軸電流値Id1および第1q軸電流値Iq1と、第2三相交流電流検出値Iub、Ivb、Iwbに基づく第2d軸電流値Id2および第2q軸電流値Iq2とを算出する。そして、加算部133,134および乗算部135,136により、第1d軸電流値Id1と第2d軸電流値Id2との平均値からd軸電流値Idを求め、第1q軸電流値Iq1と第2q軸電流値Iq2との平均値からq軸電流値Iqを求める。電流制御部14は、交流モータ2に対するd軸電流指令Id*およびq軸電流指令Iq*と、電流変換部13で求められたd軸電流値Idおよびq軸電流値Iqとに基づいて、交流モータ2に対する電圧指令値であるd軸電圧指令Vd*およびq軸電圧指令Vq*を演算する。このようにしたので、電流検出部12で演算周期ごとに2回ずつ取得された電流検出値を用いて、電流制御部14により、交流モータ2に対する電圧指令値の演算を適切に行うことができる。 (2) The motor control device 1 includes a current converter 13 that converts the detection values of the three-phase AC current acquired by the current detector 12 into a d-axis current value Id and a q-axis current value Iq. The current detector 12 acquires first three-phase AC current detection values Iua, Iva, Iwa and second three-phase AC current detection values Iub, Ivb, Iwb at different timings within a calculation period. The current converter 13 calculates, by the first current converter 131 and the second current converter 132, a first d-axis current value Id1 and a first q-axis current value Iq1 based on the first three-phase AC current detection values Iua, Iva, Iwa, and a second d-axis current value Id2 and a second q-axis current value Iq2 based on the second three-phase AC current detection values Iub, Ivb, Iwb. Then, the adders 133, 134 and the multipliers 135, 136 calculate the d-axis current value Id from the average value of the first d-axis current value Id1 and the second d-axis current value Id2, and calculate the q-axis current value Iq from the average value of the first q-axis current value Iq1 and the second q-axis current value Iq2. The current control unit 14 calculates the d-axis voltage command Vd* and the q-axis voltage command Vq*, which are voltage command values for the AC motor 2, based on the d-axis current command Id* and the q-axis current command Iq* for the AC motor 2 and the d-axis current value Id and the q-axis current value Iq calculated by the current conversion unit 13. In this way, the current control unit 14 can appropriately calculate the voltage command value for the AC motor 2 using the current detection values acquired twice per calculation period by the current detection unit 12.
(3)電流制御部14は、所定の演算周期ごとにd軸電圧指令Vd*およびq軸電圧指令Vq*を演算する。電圧制御部16は、第1電圧変換部161および第2電圧変換部162により、d軸電圧指令Vd*およびq軸電圧指令Vq*に基づいて、演算周期内の第1のタイミングにおける第1三相電圧指令値Vua*、Vva*、Vwa*と、演算周期内の第1のタイミングとは異なる第2のタイミングにおける第2三相電圧指令値Vub*、Vvb*、Vwb*とをそれぞれ算出する。また、過変調ゲイン乗算部163a,163b、零相加算部164a,164b、デューティ変換部165a,165bおよびデッドタイム補償加算部166a,166bにより、第1三相電圧指令値Vua*、Vva*、Vwa*に基づく第1デューティ値と、第2三相電圧指令値Vub*、Vvb*、Vwb*に基づく第2デューティ値とを算出する。そして、デューティ出力部167により、これらのデューティ値に基づいて、デューティ指令値Dua、Dub、Dva、Dvb、Dwa、Dwbを求める。このようにしたので、電圧制御部16において、演算周期ごとに2種類のデューティ指令を確実に求めて、ゲート信号に反映することが可能となる。 (3) The current control unit 14 calculates the d-axis voltage command Vd* and the q-axis voltage command Vq* for each predetermined calculation period. The voltage control unit 16 calculates, using the first voltage conversion unit 161 and the second voltage conversion unit 162, first three-phase voltage command values Vua*, Vva*, and Vwa* at a first timing within the calculation period and second three-phase voltage command values Vub*, Vvb*, and Vwb* at a second timing different from the first timing within the calculation period, based on the d-axis voltage command Vd* and the q-axis voltage command Vq*. In addition, the overmodulation gain multiplication units 163a and 163b, the zero- phase addition units 164a and 164b, the duty conversion units 165a and 165b, and the dead time compensation addition units 166a and 166b calculate a first duty value based on the first three-phase voltage command values Vua*, Vva*, and Vwa*, and a second duty value based on the second three-phase voltage command values Vub*, Vvb*, and Vwb*. Then, the duty output unit 167 calculates the duty command values Dua, Dub, Dva, Dvb, Dwa, and Dwb based on these duty values. In this way, the voltage control unit 16 can reliably calculate two types of duty commands for each calculation period and reflect them in the gate signal.
(4)電圧制御部16は、デッドタイム補償加算部166a,166bにより、第1三相電圧指令値Vua*、Vva*、Vwa*および第2三相電圧指令値Vub*、Vvb*、Vwb*に対して所定のデッドタイム補償値をそれぞれ加算することでデッドタイム補償を行い、デッドタイム補償後の第1三相電圧指令値Vua*、Vva*、Vwa*および第2三相電圧指令値Vub*、Vvb*、Vwb*に基づいて、第1デューティ値および第2デューティ値をそれぞれ求める。このようにしたので、デューティ指令値Dua、Dub、Dva、Dvb、Dwa、Dwbにおけるデッドタイム補償を確実に行い、インバータ3において各相の上アームと下アームが同時にオンされてしまうのを回避することができる。 (4) The voltage control unit 16 performs dead time compensation by adding a predetermined dead time compensation value to the first three-phase voltage command values Vua*, Vva*, Vwa* and the second three-phase voltage command values Vub*, Vvb*, Vwb*, respectively, using the dead time compensation adder units 166a, 166b, and calculates the first duty value and the second duty value based on the first three-phase voltage command values Vua*, Vva*, Vwa* and the second three-phase voltage command values Vub*, Vvb*, Vwb* after the dead time compensation. In this way, dead time compensation is reliably performed for the duty command values Dua, Dub, Dva, Dvb, Dwa, Dwb, and it is possible to prevent the upper arm and the lower arm of each phase from being turned on simultaneously in the inverter 3.
 なお、本発明は、上述の実施の形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で種々の変更が可能である。 The present invention is not limited to the above-described embodiment, and various modifications are possible without departing from the spirit of the present invention.
 1…モータ制御装置、2…モータ、3…インバータ、4…回転位置検出器、5…高圧バッテリ、7…電流センサ、8…回転位置センサ、10…電流指令生成部、11…速度算出部、12…電流検出部、13…電流変換部、14…電流制御部、15…キャリア周波数制御部、16…電圧制御部、17…ゲート信号生成部、31…インバータ回路、32…ゲート駆動回路、33…平滑キャパシタ、100…モータ駆動システム 1...motor control device, 2...motor, 3...inverter, 4...rotational position detector, 5...high voltage battery, 7...current sensor, 8...rotational position sensor, 10...current command generator, 11...speed calculator, 12...current detector, 13...current converter, 14...current controller, 15...carrier frequency controller, 16...voltage controller, 17...gate signal generator, 31...inverter circuit, 32...gate driver circuit, 33...smoothing capacitor, 100...motor driver system

Claims (4)

  1.  複数のスイッチング素子を有するインバータに対して、前記スイッチング素子の動作を制御するためのゲート信号を生成し、生成した前記ゲート信号を前記インバータに出力することで、前記インバータに接続された交流モータの駆動を制御するモータ制御装置であって、
     前記交流モータに流れる電流に応じた電流検出値を取得する電流検出部と、
     前記交流モータに対する電流指令値を取得し、前記電流指令値および前記電流検出値に基づいて、前記交流モータに対する電圧指令値を所定の演算周期ごとに演算する電流制御部と、
     前記電圧指令値に基づく制御演算を前記演算周期ごとに実行し、前記ゲート信号を生成するためのデューティ指令を求める電圧制御部と、を備え、
     前記電流検出部は、前記演算周期ごとに前記電流検出値を少なくとも2回取得し、
     前記電圧制御部は、前記演算周期ごとに少なくとも2種類以上の前記デューティ指令を求めて前記ゲート信号に反映する、
     モータ制御装置。
    A motor control device that generates a gate signal for controlling an operation of an inverter having a plurality of switching elements, and outputs the generated gate signal to the inverter, thereby controlling driving of an AC motor connected to the inverter,
    a current detection unit for obtaining a current detection value corresponding to a current flowing through the AC motor;
    a current control unit that acquires a current command value for the AC motor, and calculates a voltage command value for the AC motor for each predetermined calculation period based on the current command value and the current detection value;
    a voltage control unit that executes a control calculation based on the voltage command value for each calculation period to obtain a duty command for generating the gate signal,
    The current detection unit obtains the current detection value at least twice in each calculation period,
    the voltage control unit obtains at least two types of the duty commands for each calculation period and reflects them in the gate signal;
    Motor control device.
  2.  請求項1に記載のモータ制御装置であって、
     前記電流検出値をd軸電流値およびq軸電流値に変換する電流変換部を備え、
     前記電流検出部は、前記演算周期内の異なるタイミングにおいて第1の電流検出値および第2の電流検出値を取得し、
     前記電流変換部は、
     前記第1の電流検出値に基づく第1のd軸電流値および第1のq軸電流値と、前記第2の電流検出値に基づく第2のd軸電流値および第2のq軸電流値とを算出し、
     前記第1のd軸電流値と前記第2のd軸電流値との平均値から前記d軸電流値を求め、
     前記第1のq軸電流値と前記第2のq軸電流値との平均値から前記q軸電流値を求め、
     前記電流制御部は、前記交流モータに対するd軸電流指令値およびq軸電流指令値と、前記電流変換部で求められた前記d軸電流値および前記q軸電流値とに基づいて、前記電圧指令値を演算する、
     モータ制御装置。
    2. The motor control device according to claim 1,
    a current converter for converting the current detection value into a d-axis current value and a q-axis current value,
    the current detection unit obtains a first current detection value and a second current detection value at different timings within the calculation period;
    The current conversion unit is
    calculating a first d-axis current value and a first q-axis current value based on the first current detection value, and a second d-axis current value and a second q-axis current value based on the second current detection value;
    determining the d-axis current value from an average value of the first d-axis current value and the second d-axis current value;
    determining the q-axis current value from an average value of the first q-axis current value and the second q-axis current value;
    the current control unit calculates the voltage command value based on a d-axis current command value and a q-axis current command value for the AC motor and the d-axis current value and the q-axis current value calculated by the current conversion unit.
    Motor control device.
  3.  請求項1に記載のモータ制御装置であって、
     前記電流制御部は、前記演算周期ごとにd軸電圧指令値およびq軸電圧指令値を演算し、
     前記電圧制御部は、
     前記d軸電圧指令値および前記q軸電圧指令値に基づいて、前記演算周期内の第1のタイミングにおける第1三相電圧指令値と、前記演算周期内の前記第1のタイミングとは異なる第2のタイミングにおける第2三相電圧指令値とを算出し、
     前記第1三相電圧指令値に基づく第1デューティ値と、前記第2三相電圧指令値に基づく第2デューティ値とを算出し、
     前記第1デューティ値および前記第2デューティ値に基づいて、前記デューティ指令を求める、
     モータ制御装置。
    2. The motor control device according to claim 1,
    the current control unit calculates a d-axis voltage command value and a q-axis voltage command value for each calculation cycle;
    The voltage control unit is
    calculating a first three-phase voltage command value at a first timing within the calculation cycle and a second three-phase voltage command value at a second timing within the calculation cycle that is different from the first timing, based on the d-axis voltage command value and the q-axis voltage command value;
    calculating a first duty value based on the first three-phase voltage command value and a second duty value based on the second three-phase voltage command value;
    determining the duty command based on the first duty value and the second duty value;
    Motor control device.
  4.  請求項3に記載のモータ制御装置であって、
     前記電圧制御部は、前記第1三相電圧指令値および前記第2三相電圧指令値に対して所定のデッドタイム補償値をそれぞれ加算することでデッドタイム補償を行い、前記デッドタイム補償後の前記第1三相電圧指令値および前記第2三相電圧指令値に基づいて前記第1デューティ値および前記第2デューティ値をそれぞれ求める、
     モータ制御装置。
    4. The motor control device according to claim 3,
    the voltage control unit performs dead time compensation by adding a predetermined dead time compensation value to the first three-phase voltage command value and the second three-phase voltage command value, respectively, and determines the first duty value and the second duty value based on the first three-phase voltage command value and the second three-phase voltage command value after the dead time compensation.
    Motor control device.
PCT/JP2022/040762 2022-10-31 2022-10-31 Motor control device WO2024095330A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/JP2022/040762 WO2024095330A1 (en) 2022-10-31 2022-10-31 Motor control device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2022/040762 WO2024095330A1 (en) 2022-10-31 2022-10-31 Motor control device

Publications (1)

Publication Number Publication Date
WO2024095330A1 true WO2024095330A1 (en) 2024-05-10

Family

ID=90929950

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2022/040762 WO2024095330A1 (en) 2022-10-31 2022-10-31 Motor control device

Country Status (1)

Country Link
WO (1) WO2024095330A1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011239667A (en) * 2010-05-06 2011-11-24 Lsis Co Ltd Output current distortion compensation device of inverter
JP2018113754A (en) * 2017-01-10 2018-07-19 株式会社デンソー Controller for ac motor
WO2019202876A1 (en) * 2018-04-17 2019-10-24 日立オートモティブシステムズ株式会社 Inverter control device, inverter control method, and inverter control program
JP2019216566A (en) * 2018-06-14 2019-12-19 ダイヤモンド電機株式会社 Motor control device

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011239667A (en) * 2010-05-06 2011-11-24 Lsis Co Ltd Output current distortion compensation device of inverter
JP2018113754A (en) * 2017-01-10 2018-07-19 株式会社デンソー Controller for ac motor
WO2019202876A1 (en) * 2018-04-17 2019-10-24 日立オートモティブシステムズ株式会社 Inverter control device, inverter control method, and inverter control program
JP2019216566A (en) * 2018-06-14 2019-12-19 ダイヤモンド電機株式会社 Motor control device

Similar Documents

Publication Publication Date Title
JP3488043B2 (en) Drive system with permanent magnet type synchronous generator and drive control method for electric vehicle using the same
JP3755424B2 (en) AC motor drive control device
JP4749874B2 (en) Power conversion device and motor drive device using the same
US8232753B2 (en) Control device for electric motor drive apparatus
JP5741966B2 (en) AC motor control device
JP3681318B2 (en) Synchronous motor control device and vehicle using the same
JP3661642B2 (en) Motor control device and control method thereof
US8373380B2 (en) Device and method for controlling alternating-current motor
US20170294863A1 (en) Control apparatus for ac motor
US9590551B2 (en) Control apparatus for AC motor
JPWO2019008676A1 (en) Inverter device and electric power steering device
WO2018123291A1 (en) Inverter driving device and electric vehicle system in which same is used
JP2019129573A (en) Controller of ac motor
JPH08280199A (en) Sensor-less controller for permanent-magnet field synchronous motor
JP2013172594A (en) Controller for ac motor
US8258728B2 (en) Rotary electric machine control system
JP2019129572A (en) Ac motor control device
JP5845115B2 (en) Motor control device
CN112350639A (en) Active sound generating device using motor
JP5483218B2 (en) AC motor control device
JP2002300800A (en) Power converter
WO2016002745A1 (en) Motor-driving control device
JP3939481B2 (en) AC motor control device
WO2024095330A1 (en) Motor control device
JP6838469B2 (en) Drive device

Legal Events

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

Ref document number: 22964353

Country of ref document: EP

Kind code of ref document: A1