ENGINE CONTROL DEVICE
The motor control device improves performance at high-speed rotation by acquiring and reflecting current determination values multiple times in each calculation period, effectively addressing torque and pulsation issues.
Patent Information
- Application Number
- DE112022007646
- Authority / Receiving Office
- DE · DE
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2022-10-31
- Publication Date
- 2025-05-22
AI Technical Summary
Existing motor control devices struggle to improve motor control performance at high-speed rotation without increasing processing load, which can lead to torque failures, pulsation, and overcurrent issues.
A motor control device that acquires current determination values at least twice in each calculation period and generates at least two duty commands, which are reflected in the gate signal to control the switching elements of the inverter.
This approach enhances motor control performance at high-speed rotation by increasing the frequency of current detection value reflection, thereby improving torque consistency and reducing the risk of pulsation and overcurrent.
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
Technical field
[0001] The present invention relates to a device that controls a motor. Background of the invention
[0002] Traditionally, a motor used to power an automobile or the like is required to have characteristics such as small size, high power output, and high efficiency. To provide these characteristics, high-speed rotary motors with a higher rotational speed than conventional motors have been introduced in recent years.
[0003] When the rotation speed of a three-phase AC synchronous motor driven by an inverter increases, the electrical angular frequency of the motor increases, becoming higher than the electrical angular frequency during normal operation of the motor. As a result, the time per electrical angular period becomes shorter. Therefore, in a motor control device that detects a current flowing through the motor and controls the driving of switching elements of the inverter based on a current detection value, that is, the detected current value, to control the motor, the number of times the current detection value is reproduced in the motor control during one electrical angular period decreases.Such a reduction in the number of times of reproducing the current detection value in the motor controller at the time of high-speed rotation of the motor results in a drop in the motor controller performance, which may cause an error of the torque generated by the motor, pulsation, overcurrent and the like.
[0004] In order to increase the number of times the current detection value is reproduced in the motor control during high-speed motor rotation, the motor control calculation performed by the motor control device is made faster to shorten the calculation period of the motor control calculation. However, the time required for the motor control calculation depends on the processing capability of a microcomputer that performs the calculation, and improving the processing capability of the microcomputer leads to an increase in manufacturing costs and power consumption. This places a limit on the goal of speeding up the motor control calculation.
[0005] For example, regarding motor control at the time of high-speed rotation of the motor, a technique described in PTL 1 is known. PTL 1 describes a control device of a motor drive device. According to this control device, when a synchronous control mode is selected, the control device executes a current detection process IS in each reference calculation period T0 set to 1 / 2 of a carrier period, the current detection process IS being executed to detect a current flowing through a winding of an AC motor, and also executes a voltage control process VC in a period that is N times (N is an integer of 2 or more) the reference calculation period T0, so that the voltage control process VC is executed once while N current detection values obtained by N current detection processes IS are fed back.This control device correctly reflects a current detection value obtained in a short duration while maintaining a total calculation load within a processing capability range of a calculation process unit, thereby suppressing the occurrence of aliasing of the current sampling. Citation listPatent literature
[0006] PTL 1: JP 2011-83068 A Overview of the inventionTechnical problem
[0007] According to the technique of PTL 1, the current detection process can be made faster, but the period of the voltage control process remains the same as the carrier period. Therefore, the number of times the current detection value is reproduced in motor control remains the same during one electrical angle period, which means that the number of times the current detection value is reproduced in motor control during high-speed motor rotation cannot be increased.
[0008] The present invention has been developed to solve the above problem, and a main object of the present invention is to improve motor control performance while suppressing an increase in a processing load in executing motor control at the time of high-speed rotation. Solution to the problem
[0009] A 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, thereby controlling the drive of an AC motor connected to the inverter. The motor control device includes: a current detection unit that detects a current detection value corresponding to a current flowing through the AC motor; a current control unit that detects a current command value for the AC motor and calculates a voltage command value for the AC motor in each calculation period, which is a given calculation period, based on the current command value and the current detection value; and a voltage control unit that performs a control calculation based on the voltage command value in each calculation period to obtain a duty command for generating the gate signal.The current detection unit acquires the current detection value at least twice in each calculation period, and the voltage control unit receives at least two types of duty commands in each calculation period and reflects the duty commands in the gate signal. Advantageous effects of the invention
[0010] According to the present invention, the motor control performance in the motor control at the time of high-speed rotation of the motor can be improved because an increase in a processing load is suppressed. Short description of the drawings [ Fig. 1] Fig. 1 is an overall configuration diagram of a motor drive system including a motor control device according to an embodiment of the present invention. [ Fig. 2] Fig. 2 is a block diagram showing a functional configuration of the engine control device according to an embodiment of the present invention. [ Fig. 3] Fig. 3 is a block diagram of a power conversion unit according to one embodiment of the present invention. [ Fig. 4] Fig. 4 is a block diagram of a voltage control unit according to one embodiment of the present invention. [ Fig. 5] Fig. 5 is a comparison diagram comparing the dead time compensation according to a conventional example and the dead time compensation according to the present invention. [ Fig. 6] Fig. 6 is a comparison diagram comparing a calculation process according to the conventional example and a calculation process according to the present invention. Description of the embodiments
[0011] Embodiments of the present invention will be described in detail below with reference to the drawings. In the embodiments, an example of application to a motor drive system installed and used in electric vehicles such as an electric car and a hybrid car will be described.
[0012] Fig. 1 is an overall configuration diagram of a motor drive system including a motor control device according to an embodiment of the present invention. Fig. 1, a motor drive system 100 includes a motor driver 1, an AC motor (hereinafter referred to simply as “motor”) 2, an inverter 3, a rotational position detector 4, and a high-voltage battery 5.
[0013] The motor control device 1 controls the operation of the inverter 3 based on a torque command T* corresponding to a target torque request of a vehicle to the motor 2, thereby generating a gate signal for controlling the drive of the motor 2. The motor control device 1 then outputs the generated gate signal to the inverter 3. Details of the motor control device 1 will be described later.
[0014] The inverter 3 includes 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 driving each of the switching elements included in the inverter circuit 31 based on the gate signal input from the motor controller 1, and outputs the gate drive signal to the inverter circuit 31. The inverter circuit 31 has pairs of switching elements, each corresponding to pairs of upper arms and lower arms of a U-phase, a V-phase, and a W-phase. These switching elements are each controlled according to the input gate drive signal from the gate drive circuit 32. As a result, the DC power supplied from the high-voltage battery 5 is converted into AC power, which is 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.
[0015] The motor 2 is a synchronous motor driven by the AC power supplied from the inverter 3 and includes a stator and a rotor. When the AC power supplied from the inverter 3 is applied to the armature coils Lu, Lv, and Lw arranged on the stator, three-phase alternating currents Iu, Iv, and Iw flow in the motor 2, and the armature coils each generate an armature magnetic flux. As a result, the armature magnetic flux from the armature coils and the magnetic flux of the permanent magnets arranged on the rotor interact to generate an attractive force and a repulsive force, which generates a torque on the rotor, causing the rotor to rotate.
[0016] The motor 2 is equipped with a rotational position sensor 8 that detects a rotational position θ of the rotor. The rotational position detector 4 calculates the rotational position θ from an input signal from the rotational position sensor 8. A result of the calculation of the rotational position θ by the rotational position detector 4 is input to the motor controller 1 and used for AC power phase control of the motor controller 1, which is performed according to a phase of an induced voltage of the motor 2.
[0017] It is preferable that the rotational position sensor 8 be a resolver composed of an iron core and a winding. However, providing a sensor using a magnetoresistive element such as a GMR sensor or a sensor using a Hall element as the rotational position sensor 8 poses no problem. The rotational position detector 4 can estimate the rotational position θ by using not an input signal from the rotational position sensor 8, but the three-phase AC currents Iu, Iv, and Iw flowing through the motor 2 and the three-phase AC voltages Vu, Vv, and Vw applied to the motor 2 from the inverter 3.
[0018] A current sensor 7 is arranged between the inverter 3 and the motor 2. The current sensor 7 detects the three-phase alternating currents Iu, Iv, and Iw (U-phase alternating current Iu, V-phase alternating current Iv, and W-phase alternating current Iw) flowing through the motor 2. The current sensor 7 is composed of, for example, a Hall current sensor or the like. A detection result of the three-phase alternating currents Iu, Iv, and Iw by the current sensor 7 is input to the motor controller 1 and is used for the AC power phase control performed by the motor controller 1, in the same way as the result of calculating the rotational position θ by the rotational position detector 4 is used. Fig. 2 shows an example in which the current sensor 7 consists of three current detectors. However, the current sensor 7 may include two current sensors to detect alternating currents of two phases, and an alternating current of the remaining one phase may be calculated based on the fact that the sum of the three-phase alternating currents Iu, Iv, and Iw is zero. Also, a pulsed direct current flowing from the high-voltage battery 5 into the inverter 3 may be detected through a shunt resistor or the like connected between the smoothing capacitor 33 and the inverter 3, and the three-phase alternating currents Iu, Iv, and Iw may be determined based on the pulsed direct current and the three-phase AC voltages Vu, Vv, and Vw applied from the inverter 3 to the motor 2.
[0019] Details of the engine control device 1 will then be described. Fig. 2 is a block diagram showing a functional configuration of the engine control device 1 according to one embodiment of the present invention. Fig. 2, the motor control device 1 includes 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, which are functional blocks. The motor control device 1 is composed of, for example, a microcomputer, and this microcomputer executes a given program to provide these functional blocks. Alternatively, some or all of these functional blocks may be provided in the form of a hardware circuit such as a logic IC or an FPGA.
[0020] The current command generation unit 10 calculates a d-axis current command Id* and a q-axis current command Iq* based on the torque command T* and the voltage Vdc of the high-voltage battery 5 input to the current command generation unit 10. In this case, for example, the d-axis current command Id* and the q-axis current command Iq* corresponding to the torque command T* are obtained using a current command map, a formula, or the like that are set in advance.
[0021] The speed calculation unit 11 calculates a motor rotational speed ω, which represents the rotational speed (number of revolutions) of the motor 2, from a time-dependent change in the rotational position θ. The motor rotational speed ω can be expressed either as an angular velocity (rad / s) or as a number of revolutions (rpm). This angular velocity and the number of revolutions can be used as mutually interchangeable values.
[0022] The current detection unit 12 samples incoming detection signals of the three-phase alternating currents Iu, Iv and Iw from the current sensor 7 in every given sampling period and acquires first three-phase alternating current detection values Iua, Iva and Iwa (a first U-phase alternating current detection value Iua, a first V-phase alternating current detection value Iva and a first W-phase alternating current detection value Iwa) and second three-phase alternating current detection values Iub, Ivb and Iwb (a second U-phase alternating current detection value Iub, a second V-phase alternating current detection value Ivb and a second W-phase alternating current detection value Iwb, respectively) at different times.The current detection unit 12 samples the three-phase alternating currents Iu, Iv, and Iw in a sampling period half the calculation period of a current control calculation performed by the current control unit 14, and stores the sampling results in the register of the microcomputer as the first three-phase alternating current detection values Iua, Iva, and Iwa and the second three-phase alternating current detection values Iub, Ivb, and Iwb, respectively. The first three-phase alternating current detection values Iua, Iva, and Iwa represent currents detected at a time preceding the start of a current control calculation task by half the current control calculation period. The second three-phase alternating current detection values Iub, Ivb, and Iwb represent currents detected at the start of the current control calculation task.To avoid a detection error due to a delay in a current sensor or circuit, the current detection timing is delayed by about a few microseconds from the start of the current control calculation task and from the time preceding the start of the current control calculation task by half the current control calculation period. In other words, the current detection unit 12 acquires current detection values twice in each calculation period of the current control calculation and outputs the acquired current detection values to the power conversion unit 13 in each calculation period. The current detection values acquired at the first time are output as the first three-phase AC detection values Iua, Iva, and Iwb, and the current detection values acquired at the second time are output as the second three-phase AC detection values Iub, Ivb, and Iwb.
[0023] The current conversion unit 13 performs dq conversion of the first three-phase AC detection values Iua, Iva, and Iwa and the second three-phase AC detection values Iub, Ivb, and Iwb acquired by the current detection unit 12 based on the rotational position θ and the rotational speed ω, and calculates a d-axis current value Id and a q-axis current value Iq based on results of the dq conversion of the first and second three-phase AC detection values, respectively.In this process, the current conversion unit 13 calculates a d-axis current average value and a q-axis current average value based on a first d-axis current value Id1 and a first q-axis current value Iq1 obtained by dq-converting the first three-phase AC current detection values Iua, Iva, and Iwa, and on a second d-axis current value Id2 and a second q-axis current value Iq2 obtained by dq-converting the second three-phase AC current detection values Iub, Ivb, and Iwb. The d-axis current average value and the q-axis current average value thus calculated are then output as the d-axis current value Id and the q-axis current value Iq. Details of a method for calculating the d-axis current value Id and the q-axis current value Iq by the current conversion unit 13 will be described later.
[0024] Based on the deviation of the d-axis current value Id and the q-axis current value Iq output by the current conversion unit 13 from the d-axis current command Id* and the q-axis current command Iq* output by the current command generation unit 10, the current control unit 14 calculates a d-axis voltage command Vd* and a q-axis voltage command Vq* corresponding to the torque command T*, so that the d-axis current value Id and the q-axis current value Iq coincide with the d-axis current command Id* and the q-axis current command Iq*, respectively. In this case, a calculation delay in a period between the point of detecting the rotational position θ and the three-phase alternating currents Iu, Iv and Iw and the point at which the motor control device 1 outputs the gate signal to the inverter 3 is taken into account.For example, the d-axis voltage command Vd* that corrects the deviation of the d-axis current value Id from the d-axis current command Id* and the q-axis voltage command Vq* that corrects the deviation of the q-axis current value Iq from the q-axis current command Iq* are calculated in each given calculation period by a current control calculation using such a control method as PI control.
[0025] The carrier frequency control unit 15 calculates a carrier frequency fc, which is the frequency of a carrier wave used to generate a 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 as a carrier frequency at which the number of carrier waves per revolution of the motor 2 coincides with a given number Nc.
[0026] Using the rotational position θ, the motor rotational speed ω, the voltage Vdc of the high-voltage battery 5, and the carrier frequency fc, the voltage control unit 16 obtains duty cycle command values Dua, Dub, Dva, Dvb, Dwa, and Dwb, of which (Dua, Dva, Dwa) and (Dub, Dvb, Dwb) correspond to the first half and the second half of the carrier wave in three phases, respectively, from the d-axis voltage command Vd* and the q-axis voltage command Vq* calculated by the current control unit 14. In this process, the voltage control unit 16 performs three-phase conversion of the d-axis voltage command Vd* and the q-axis voltage command Vq* to obtain three-phase voltage commands Vu*, Vv*, and Vw* (a U-phase voltage command Vu*, a V-phase voltage command Vv*, and a W-phase voltage command Vw*).The voltage control unit 16 then performs PWM calculation based on the obtained three-phase voltage commands Vu*, Vv*, and Vw* and a triangular carrier wave periodically changing at the carrier frequency fc, determines the pulse width of a drive signal to be output to each switching element, and thereby obtains the duty cycle command values Dua, Dub, Dva, Dvb, Dwa, and Dwb. Details of a method for calculating the duty cycle command values Dua, Dub, Dva, Dvb, Dwa, and Dwb by the voltage control unit 16 will be described later.
[0027] Based on the duty cycle command values Dua, Dub, Dva, Dvb, Dwa, and Dwb obtained by the voltage control unit 16, the gate signal generation unit 17 generates gate signals (PWM pulse signals) Gup, Gun, Gvp, Gvn, Gwp, and Gwn for controlling the operation of the inverter 3. In the example, the duty cycle command values Dua, Dub, Dva, Dvb, Dwa, and Dwb are respectively converted into given voltage signals to generate the gate signals Gup, Gun, Gvp, Gvn, Gwp, and Gwn. The gate signals generated by the gate signal generation unit 17 are output from the motor controller 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, respective switching elements of the inverter circuit 31 are turned on / off in a controlled manner to adjust an output voltage from the inverter 3.
[0028] Details of the power conversion unit 13 in the motor control device 1 will then be described. Fig. 3 is a block diagram of the power conversion unit 13 according to one embodiment of the present invention. The power conversion unit 13 includes a first power conversion unit 131, a second power conversion unit 132, adders 133 and 134, and multipliers 135 and 136, which are functional blocks.
[0029] The power input to the power conversion unit 13 will be described. As described above, the current detection unit 12 detects the first three-phase AC detection values Iua, Iva, and Iwa and the second three-phase AC detection values Iub, Ivb, and Iwb in the period half the calculation period of the current control calculation performed by the current control unit 14, and stores these detection values in the register of the microcomputer. The first three-phase AC detection values Iua, Iva, and Iwa represent currents detected at the time preceding the start of the current control calculation task by half the current control calculation period. The second three-phase AC detection values Iub, Ivb, and Iwb represent currents detected at the start of the current control calculation task.In each control period, 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 stored in the register of the microcomputer are simultaneously input to the current conversion unit 13. Since the current control calculation is performed once per control calculation period, the current conversion unit 13 averages the currents obtained by detecting the current twice in one control calculation period and outputs the averaged currents as two pieces of sample data to the current control unit 14. One method for averaging the currents is to perform a dq conversion of the first three-phase AC detection values Iua, Iva and Iwa and the second three-phase AC detection values Iub, Ivb and Iwb into averaged currents on the dq axes.
[0030] The first current conversion unit 131 performs dq conversion of the first three-phase alternating current detection values Iua, Iva, and Iwa input by the current detection unit 12 based on the rotational position θ and the rotational speed ω. The first three-phase alternating current detection values Iua, Iva, and Iwa represent the currents detected at the time preceding the start of the current control calculation by half of the current control calculation period, 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. This means that the time at which the currents were detected is different from the time at which the rotational position θ was detected.This requires calculating a rotation angle that has progressed in a period between the time of current detection and the time of rotational position detection to estimate a rotation angle at the time of current detection, and performing dq conversion accordingly. One phase θ. a used for the dq conversion is given by equation (1). θa=θ+(Ts[n−1] / 2)×ω
[0031] In Equation (1), Ts[n-1] denotes a control period at the previous interruption. If the rotational speed, i.e., the angular velocity ω, changes only slowly and does not change during the control period, the rotation angle at the time of current detection can be calculated by Equation (1). Therefore, an obtained dq conversion result is output as the first d-axis current value Id1 and the first q-axis current value Iq1.
[0032] The second power conversion unit 132 performs dq conversion of the second three-phase AC detection values Iub, Ivb, and Iwb input by the current detection unit 12 based on the rotational position θ and the rotational speed ω. Therefore, an obtained dq conversion result is output as a second d-axis current value Id2 and a second q-axis current value Iq2. Since the second three-phase AC detection values Iub, Ivb, and Iwb and the rotational position θ are detected at the same time, phase correction for dq conversion, which is necessary in the case of the first power conversion unit, is not required.
[0033] The adder 133 adds the first d-axis current value Id1 output from the first current conversion unit 131 and the second d-axis current value Id2 output from the second current conversion unit 132. The multiplier 135 multiplies the sum of the first and second d-axis current values Id1 and Id2 by 0.5 and outputs the resulting value as the d-axis current value Id. Thus, the d-axis current value Id is obtained as an average of the first d-axis current value Id1 and the second d-axis current value Id2.
[0034] The adder 134 adds the first q-axis current value Iq1 output from the first current conversion unit 131 and the second q-axis current value Iq2 output from the second current conversion unit 132. The multiplier 136 multiplies the sum of the first and second q-axis current values Iq1 and Iq2 by 0.5 and outputs the resulting value as the q-axis current value Iq. Thus, the q-axis current value Iq is obtained as an average of the first q-axis current value Iq1 and the second q-axis current value Iq2.
[0035] As described above, the power conversion unit 13 performs dq conversion of the first three-phase AC detection values Iua, Iva, and Iwa and the second three-phase AC detection value of the detected AC values Iub, Ivb, and Iwb to obtain the d-axis current value Id and the q-axis current value Iq. This method allows the current detection period to be doubled without changing the current control calculation period.
[0036] Then, details of the voltage control unit 16 in the motor control device 1 will be described. 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 includes a first voltage conversion unit 161, a second voltage conversion unit 162, overmodulation gain multipliers 163a and 163b, zero-phase adders 164a and 164b, duty conversion units 165a and 165b, dead-time compensation adders 166a and 166b, and a duty output unit 167, which are functional blocks.
[0037] The first voltage conversion unit 161 performs three-phase conversion of the d-axis voltage command Vd* and the q-axis voltage command Vq* input by the current control unit 14 based on the rotational position θ and the rotational speed ω to obtain three-phase voltage command values used for PWM calculation. In this process, the first voltage conversion unit 161 obtains, as three-phase voltage command values for the first half of the next control period, three-phase voltage command values corresponding to the rotational position θ at a time point delayed by 1.25 control periods from a time point of detecting the rotational position θ and the first three-phase AC detection values Iua, Iva, and Iwa.An obtained three-phase conversion result is then output as first three-phase voltage command values Vua*, Vva* and Vwa* (a first U-phase voltage command value Vua*, a first V-phase voltage command value Vva* and a first W-phase voltage command value Vwa*) corresponding to the first half of the carrier wave.
[0038] The second voltage conversion unit 162 performs three-phase conversion of the d-axis voltage command Vd* and the q-axis voltage command Vq* input from the current control unit 14 based on the rotational position θ and the rotational speed ω to obtain three-phase voltage command values used for PWM calculation. In this process, the second voltage conversion unit 162 obtains, as three-phase voltage command values for the last 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 of detecting the rotational position θ and the first three-phase AC detection values Iua, Iva, and Iwa.An obtained three-phase conversion result is then output as second three-phase voltage command values Vub*, Vvb* and Vwb* (a second U-phase voltage command value Vub*, a second V-phase voltage command value Vvb* and a second W-phase voltage command value Vwb*) corresponding to the second half of the carrier wave.
[0039] Based on the voltage Vdc of the high-voltage battery 5, the overmodulation gain multipliers 163a and 163b multiply the first three-phase voltage command values Vua*, Vva*, and Vwa* output from the first voltage conversion unit 161 and the second three-phase voltage command values Vub*, Vvb*, and Vwb* output from the second voltage conversion unit 162, respectively, by a predetermined overmodulation gain. The overmodulation gain is a gain used for overmodulation control, by which an output voltage from the inverter 3 is boosted to have a larger amplitude than the amplitude of a fundamental wave component. The overmodulation gain is set to a value equal to or greater than 1, for example. When overmodulation control is not performed, the overmodulation gain may be set to 1.
[0040] The zero-phase adders 164a and 164b add a given zero-phase voltage value to the first three-phase voltage command values Vua*, Vva*, and Vwa*, and the second three-phase voltage command values Vub*, Vvb*, and Vwb*, which have been multiplied by the overmodulation gain multipliers 163a and 163b, respectively. The addition of the zero-phase voltage value is a process of improving an AC voltage output for the voltage Vdc of the high-voltage battery 5 (a process of improving a voltage utilization rate). The zero-phase voltage value is determined, for example, by a combination of the first three-phase voltage command values Vua*, Vva*, and Vwa* or the second three-phase voltage command values Vub*, Vvb*, and Vwb*, the rotational position θ, and the like. Adding the zero-phase voltage value is not always required, and therefore the voltage control unit 16 may omit the zero-phase adders 164a and 164b.
[0041] The duty conversion units 165a and 165b perform PWM calculation on the first three-phase voltage command values Vua*, Vva* and Vwa* and the second three-phase voltage command values Vub*, Vvb* and Vwb*, respectively, to which the zero-phase voltage value has been added by the zero-phase adders 164a and 164b, the PWM calculation using the carrier wave that periodically changes at the carrier frequency fc, thereby converting these three-phase voltage command values into duty values of three phases, i.e., the U-phase, the V-phase and the W-phase. It should be noted that, as described above, the first three-phase voltage command values Vua*, Vva* and Vwa* are generated as voltage command values corresponding to the first half of the carrier wave, and the second three-phase voltage command values Vub*, Vvb* and Vwb* are generated as voltage command values corresponding to the second half of the carrier wave.Therefore, the duty conversion unit 165a obtains duty values of three phases corresponding to the first half of the carrier wave based on the first three-phase voltage command values Vua*, Vva*, and Vwa*. On the other hand, the duty conversion unit 165b obtains duty values of three phases corresponding to the second half of the carrier wave based on the second three-phase voltage command values Vub*, Vvb*, and Vwb*.
[0042] Dead-time compensation adders 166a and 166b perform dead-time compensation on the duty values of the three phases, respectively obtained by duty-time conversion units 165a and 165b, by adding given dead-time compensation values Udt, Vdt, and Wdt of the three phases to the duty values of the three phases. A dead-time compensation value is a value added to a duty value of each phase as needed to prevent the switching elements of the upper and lower arms of each phase from turning on simultaneously. Details of the dead-time compensation by dead-time compensation adders 166a and 166b will be described later.
[0043] The duty output unit 167 outputs the duty command values Dua, Dub, Dva, Dvb, Dwa and Dwb based on the duty values of the three phases subjected to dead time compensation by the dead time compensation adders 166a and 166b.In this process, the duty output unit 167 outputs the duty values Dua, Dva, and Dwa in their states after dead time compensation corresponding to the first half of the carrier wave, the duty values Dua, Dva, and Dwa being output from the dead time compensation adder 166a based on the first three-phase voltage command values Vua*, Vva*, and Vwa*, and outputs the duty values Dub, Dvb, and Dwb in their states after dead time compensation corresponding to the second half of the carrier wave, the duty values Dub, Dvb, and Dwb being output from the dead time compensation adder 166b based on the second three-phase voltage command values Vub*, Vvb*, and Vwb*.
[0044] As described above, the voltage control unit 16 can obtain from the d-axis voltage command Vd* and the q-axis voltage command Vq* the duty cycle command values Dua, Dub, Dva, Dvb, Dwa and Dwb, of which (Dua, Dva, Dwa) and (Dub, Dvb, Dwb) correspond to the first half and the second half of the carrier wave in three phases, respectively.
[0045] Details of the dead time compensation by the dead time compensation adders 166a and 166b will then be described with reference to Fig. 5 described. Fig. 5 is a comparison diagram comparing the dead time compensation according to a conventional example and the dead time compensation according to the present invention.
[0046] Fig. Fig. 5(a) shows the state of dead time compensation according to a conventional example to which the present invention is not applied. A case is assumed where, when a current flowing in the motor 2 is positive, for example, a target pulse occurring in a left part of Fig. 5(a), a duty cycle value in its state before dead-time compensation is performed is input from one of three phases. In this case, adding a given compensation duty cycle value dt, which is equivalent to a dead-time compensation value, to the head and tail of the target pulse shifts the respective positions of a falling edge and a rising edge of the target pulse, thereby producing a pulse waveform in its state after dead-time compensation, as shown in Fig. 5(a). Based on the pulse waveform in its state after dead time compensation generated in the above manner, pulse waveforms of the upper arm and the lower arm are generated, with a dead time set for a mutual time difference. Thus, an output pulse corresponding to the original target pulse is generated.
[0047] Another case is assumed in which, when a current flowing in the motor 2 is negative, for example, a target pulse occurring in a right part of Fig. 5(a), a duty cycle value in its state before dead-time compensation is performed is input from one of three phases. In this case, subtracting the given compensation duty cycle value dt, which is equivalent to a dead-time compensation value, from the head and tail of the target pulse shifts the respective positions of a falling edge and a rising edge of the target pulse, thereby producing a pulse waveform in its state after dead-time compensation, as shown in Fig. 5(a). Based on the pulse waveform in its state after dead time compensation generated in the above manner, pulse waveforms of the upper arm and the lower arm are generated, with a dead time set for a mutual time difference. Thus, an output pulse corresponding to the original target pulse is generated.
[0048] It is understood that the output pulse of the conventional example generated in the above manner develops a delay equivalent to the compensation duty cycle dt in both cases, ie, both positive and negative current, by comparing with the original target pulse in its state before dead time compensation.
[0049] Fig. Fig. 5(b) shows the state of dead time compensation according to the embodiment to which the present invention is applied. A case is assumed where, when a current flowing in the motor 2 is positive, for example, a current in a left part of Fig. 5(b), the target pulse is input to the dead-time compensation adders 166a and 166b in its state before execution of dead-time compensation of one of three phases as a duty value. In this case, the dead-time compensation adder 166a does not perform dead-time compensation because the dead-time compensation adder 166b adds a value of twice the compensation duty cycle dt to the target pulse. This shifts the position of a rising edge of the target pulse, thereby generating a pulse waveform in its state after dead-time compensation, as shown in Fig. 5(b). Based on the pulse waveform in its state after dead time compensation generated in the above manner, pulse waveforms of the upper arm and the lower arm are generated, with a dead time set for a mutual time difference. Therefore, an output pulse corresponding to the original target pulse is generated.
[0050] Another case is assumed in which, when a current flowing in the motor 2 is negative, for example, a current flowing in a right part of Fig. 5(b), the target pulse shown in FIG. 166a and 166b is inputted as a duty value in its state before dead-time compensation is performed for one of three phases. In this case, dead-time compensation adder 166b does not perform dead-time compensation because dead-time compensation adder 166a subtracts a value of twice the compensation duty cycle dt from the target pulse. This shifts the position of a falling edge of the target pulse, thereby generating a pulse waveform in its state after dead-time compensation, as shown in FIG. Fig. 5(b). Based on the pulse waveform in its state after dead time compensation generated in the above manner, pulse waveforms of the upper arm and the lower arm are generated, with a dead time set for a mutual time difference. Therefore, an output pulse corresponding to the original target pulse is generated.
[0051] It will be understood that the output pulse of the present invention generated in the above manner does not develop any delay which develops in the conventional example in both cases, ie, both positive and negative current, by comparing with the original target pulse in its state before dead time compensation.
[0052] Fig. 6 is a comparison diagram comparing a calculation process according to the conventional example and a calculation process according to the present invention.
[0053] Fig. 6(a) shows the state of the calculation process according to the conventional example to which the present invention is not applied. In the conventional example, a series of calculation processes including current detection and PWM duty command output are repeatedly performed in respective periods of the triangular carrier wave periodically changing at the carrier frequency fc, so that a gate signal, which is an output pulse corresponding to the torque command T*, is output from the motor controller 1 to the inverter 3.
[0054] In the Fig. In the calculation process of the conventional example shown in Fig. 6(a), current detection is performed only once in each control period. Moreover, a result of a calculation process performed in each control period is reflected only once in a duty cycle of the next control period at a valley of the carrier wave. For example, in a control period Ts[n], current detection is first performed at a valley of the carrier wave, and then a calculation process is executed based on a result of the current detection. A duty cycle command value obtained by the calculation process in the control period Ts[n] is output at a valley of the carrier wave as a gate signal for adjusting an output voltage from the inverter 3 in the next control period Ts[n+1].
[0055] Fig. 6(b) shows the state of the calculation process according to the embodiment to which the present invention is applied. In this embodiment, current detection is performed twice in each control period of the triangular carrier wave periodically changing at the carrier frequency fc. Then, using results of two rounds of current detection performed recently, a series of calculation processes are repeatedly performed in the same manner as in the conventional example, so that a gate signal, which is an output pulse corresponding to the torque command T*, is output from the motor controller 1 to the inverter 3.
[0056] In the calculation process of this Fig.In the embodiment shown in FIG. 6(b), current detection is performed twice in each control period. Moreover, a result of a calculation process performed in each control period is reflected in a duty cycle of the next control period, both in a valley of the carrier wave and in a peak thereof. For example, in each of the control periods Ts[n-1] and Ts[n], current detection is performed in both a valley of the carrier wave and a peak thereof. A calculation process in the control period Ts[n] is performed based on a current value detected at a peak of the carrier wave in the control period Ts[n-1] immediately before the control period Ts[n] and a current value detected in a valley of the carrier wave at the beginning of the control period Ts[n].A duty ratio command value obtained by the calculation process in the control period Ts[n] is output as a gate signal for adjusting an output voltage from the inverter 3 in the next control period Ts[n+1], both in a valley of the carrier wave and at a peak thereof.
[0057] In the motor control device 1 of this embodiment, the motor 2 is controlled via the inverter 3 through the calculation process described above. As a result, a current detection value is acquired twice in each calculation period, and two types of duty commands are obtained, and these current detection values and duty commands can be reflected in the control of the motor 2. Therefore, control of the motor 2 that more accurately reflects the results of detection of a current flowing through the motor 2 than in the conventional example is achieved without increasing the number of current control calculations per carrier wave, and therefore, motor control performance can be improved.
[0058] This embodiment has been described as the example in which a current detection value is acquired twice in each calculation period, and two types of duty commands are obtained in each calculation period based on the acquired current detection values. However, the present invention is not limited to this example, and the number of times the current detection value is acquired in each calculation period and the number of types of duty commands obtained in each calculation period may each be set to 3 or more. The present invention can be applied to any example in which the current detection value is acquired at least twice in each calculation period and at least two types of duty commands are obtained in each calculation period.
[0059] The above-described one embodiment of the present invention offers the following advantageous effects.
[0060] (1) The motor control device 1 generates a gate signal for controlling the operation of a switching element of the inverter 3 having a plurality of switching elements and outputs the generated gate signal to the inverter 3, thereby controlling the driving of the AC motor 2 connected to the inverter 3. The motor control device 1 includes: the current detection unit 12 that detects a current detection value corresponding to a current flowing through the AC motor 2; the current control unit 14 that detects a current command value for the AC motor 2 and calculates a voltage command value for the AC motor 2 in each calculation period, which is a given calculation period, based on the current command value and the current detection value; and the voltage control unit 16 that performs a control calculation based on the voltage command value in each calculation period to obtain a duty command for generating the gate signal.The current detection unit 12 acquires the current detection value at least twice in each calculation period, and the voltage control unit 16 receives at least two types of duty cycle commands in each calculation period and reflects the duty cycle commands in the gate signal. Due to this configuration, motor control performance can be improved in motor control during high-speed motor rotation by suppressing an increase in processing load.
[0061] (2) The motor control device 1 includes the current conversion unit 13, which converts the three-phase alternating current detection values acquired by the current detection unit 12 into the d-axis current value Id and the q-axis current value Iq. The current detection unit 12 acquires the first three-phase alternating current detection values Iua, Iva, and Iwa and the second three-phase alternating current detection values Iub, Ivb, and Iwb at different times in the calculation period. The power conversion unit 13 calculates the first d-axis current value Id1 and the first q-axis current value Iq1 based on the first three-phase AC current detection values Iua, Iva, and Iwa, and the second d-axis current value Id2 and the second q-axis current value Iq2 based on the second three-phase AC current detection values Iub, Ivb, and Iwb using the first power conversion unit 131 and the second power conversion unit 132, respectively.The current conversion unit 13 then obtains the d-axis current value Id from an average of the first d-axis current value Id1 and the second d-axis current value Id2, and obtains the q-axis current value Iq also from an average of the first q-axis current value Iq1 and the second q-axis current value Iq2 using the adders 133 and 134 and the multipliers 135 and 136, respectively. 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 on the d-axis current value Id and the q-axis current value Iq obtained by the current conversion unit 13.Due to this configuration, the current control unit 14 can correctly calculate a voltage command value for the AC motor 2 by using a current detection value that the current detection unit 12 acquires twice in each calculation period.
[0062] (3) The current control unit 14 calculates the d-axis voltage command Vd* and the q-axis voltage command Vq* in each calculation period, which is a given calculation period. Based on the d-axis voltage command Vd* and the q-axis voltage command Vq*, the voltage control unit 16 calculates the first three-phase voltage command values Vua*, Vva*, and Vwa* at a first time in the calculation period and the second three-phase voltage command values Vub*, Vvb*, and Vwb* at a second time different from the first time in the calculation period, respectively, using the first voltage conversion unit 161 and the second voltage conversion unit 162.The voltage control unit 16 also calculates first duty values based on the first three-phase voltage command values Vua*, Vva*, and Vwa* and second duty values based on the second three-phase voltage command values Vub*, Vvb*, and Vwb* using the overmodulation gain multipliers 163a and 163b, the zero-phase adders 164a and 164b, the duty conversion units 165a and 165b, and the dead-time compensation adders 166a and 166b. Then, the duty output unit 167 obtains the duty command values Dua, Dub, Dva, Dvb, Dwa, and Dwb based on these duty values. Due to this configuration, the voltage control unit 16 is able to receive two types of duty cycle commands in each calculation period and reflect these duty cycle commands in the gate signal.
[0063] (4) The voltage control unit 16 performs dead time compensation by adding a given dead time compensation value to the first three-phase voltage command values Vua*, Vva*, and Vwa* and to each of the second three-phase voltage command values Vub*, Vvb*, and Vwb* using the dead time compensation adders 166a and 166b, respectively, and obtains the first duty value and the second duty value based on the first three-phase voltage command values Vua*, Vva*, and Vwa* and the second three-phase voltage command values Vub*, Vvb*, and Vwb* in their states after the dead time compensation, respectively. Due to this configuration, the dead time compensation of the duty cycle setpoints Dua, Dub, Dva, Dvb, Dwa and Dwb can be safely performed to prevent the upper arm and the lower arm of each phase in the inverter 3 from being turned on at the same time.
[0064] It should be noted that the present invention is not limited to the above-described embodiment, and the present invention can be modified in various forms within a range that does not depart from the gist of the present invention. List of reference symbols 1 engine control device 2 engines 3 inverters 4 rotation position detector 5 High-voltage battery 7 Current sensor 8 Rotation position sensor 10 Current command generation unit 11 Speed calculation unit 12 Current detection unit 13 Power conversion unit 14 Power control unit 15 Carrier frequency control unit 16 Voltage control unit 17 Gate signal generation unit 31 Inverter circuit 32 Gate control circuit 33 Smoothing capacitor 100 Motor drive system QUOTES CONTAINED IN THE DESCRIPTION
[0000] This list of documents submitted by the applicant was generated automatically and is included solely for the convenience of the reader. This list is not part of the German patent or utility model application. The DPMA assumes no liability for any errors or omissions. Cited patent literature
[0000] JP 2011-83068 A
[0006]
Claims
[1] A motor control device that 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, thereby controlling the driving of an AC motor connected to the inverter, the motor control device comprising: a current detection unit that detects a current detection value corresponding to a current flowing through the AC motor; a current control unit that detects a current command value for the AC motor and calculates a voltage command value for the AC motor in each calculation period, which is a given calculation period, based on the current command value and the current detection value; and a voltage control unit that performs a control calculation based on the voltage command value in each calculation period to obtain a duty cycle command for generating the gate signal, wherein the electricity determination unit determines the electricity determination value at least twice in each calculation period, and the voltage control unit receives at least two types of duty cycle commands in each calculation period and reflects the duty cycle commands in the gate signal. [2] Engine control device according to claim 1, comprising: a current conversion unit that converts the current detection value into a d-axis current value and a q-axis current value, where the current determination unit determines a first current determination value and a second current determination value at different times in the calculation period, the power conversion unit calculates a first d-axis current value and a first q-axis current value based on the first current detection value and also calculates a second d-axis current value and a second q-axis current value based on the second current detection value, obtains the d-axis current value from an average of the first d-axis current value and the second d-axis current value and obtains the q-axis current value from an average of the first q-axis current value and the second q-axis current value, and the current control unit calculates the voltage command based on a d-axis current command and a q-axis current command for the AC motor and on the d-axis current value and the q-axis current value obtained by the current conversion unit. [3] The motor control device according to claim 1, wherein the current control unit calculates a d-axis voltage command value and a q-axis voltage command value in each calculation period, and the voltage control unit based on the d-axis voltage command value and the q-axis voltage command value, calculates a first three-phase voltage command value at a first time in the calculation period and a second three-phase voltage command value at a second time in the calculation period different from the first time, calculates a first duty cycle value based on the first three-phase voltage setpoint and a second duty cycle value based on the second three-phase voltage setpoint, and receives the duty cycle command based on the first duty cycle value and the second duty cycle value. [4] The motor control device according to claim 3, wherein the voltage control unit performs dead time compensation by adding a given dead time compensation value to each of the first three-phase voltage command value and the second three-phase voltage command value, and obtains 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 in their states after the dead time compensation.
Citation Information
Patent Citations
Device for controlling motor driver
JP2011083068A