Motor control device and motor control method
The motor control device stabilizes motor control by using triangular waves to shift error periods and adjust dead times, addressing voltage errors caused by phase current polarity changes, thereby enhancing accuracy and stability.
Patent Information
- Application Number
- JP2024008213
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-01-23
- Publication Date
- 2025-08-04
AI Technical Summary
Existing motor control methods experience destabilization due to errors in output voltage caused by dead time, particularly when phase current polarity changes, affecting sensorless position estimation and motor control stability, especially at low rotational speeds.
A motor control device that uses a first and second triangular wave to control the switching operations of upper and lower arms in an inverter, shifting error periods and reducing error magnitude by setting appropriate dead times, and includes a command value generation unit to calculate compensation amounts for accurate duty ratio adjustments.
Stabilizes motor control by dispersing error periods and reducing error magnitude, ensuring accurate motor control even at low rotational speeds.
Smart Images

Figure 2025113839000001_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to a motor control device and a motor control method for controlling a motor.
Background Art
[0002] Conventionally, a method is known in which the switching operation of an inverter is controlled, and a DC voltage supplied to the inverter is converted into an AC voltage and supplied to a motor. Such an inverter is provided with switching elements constituting an upper arm and a lower arm, respectively. For example, if the upper arm and the lower arm are turned on simultaneously, the switching elements may short-circuit and the elements may be damaged. Therefore, when switching the upper arm and the lower arm, a dead time is provided to turn off both switching elements simultaneously.
[0003] It is known that the output voltage output from the inverter changes depending on the direction of the phase current flowing through the motor during the dead time. For example, when the phase current is positive, current flows from the inverter to the motor through the freewheeling diode of the lower arm, and the output is equivalent to the state where the upper arm is OFF and the lower arm is ON. Therefore, the output voltage during the dead time becomes 0V. In this case, the period during which the DC voltage supplied to the inverter is output as the output voltage is the same as the period during which the upper arm is turned on. On the other hand, when the phase current is negative, current flows from the motor to the inverter through the freewheeling diode of the upper arm, and the output is equivalent to the state where the upper arm is ON and the lower arm is OFF. Therefore, during the dead time, the DC voltage supplied to the inverter is output as the output voltage. In this case, the period during which the DC voltage supplied to the inverter is output as the output voltage is the same as the period during which the lower arm is turned off.
[0004] Therefore, for example, when controlling the upper arm with a duty ratio corresponding to a desired output voltage, the desired output voltage can be obtained when the phase current is positive. However, when the phase current is negative, the period during which the upper arm is turned on and the period during which the DC voltage supplied to the inverter is output as the output voltage are different, resulting in an error between the desired output voltage and the actually output voltage. Conversely, when controlling the lower arm with a duty ratio corresponding to a desired output voltage, the desired output voltage can be obtained when the phase current is negative. However, when the phase current is positive, the period during which the lower arm is turned on and the period during which the DC voltage supplied to the inverter is output as the output voltage are different, resulting in an error between the desired output voltage and the actually output voltage.
[0005] For example, Patent Document 1 describes a motor control device that eliminates the error caused by providing a dead time. In this control device, a PWM control signal for controlling the upper arm (upper SW) is generated by comparing a triangular wave command value C1 having an amplitude from 0% to 100% of duty and a duty command value. Also, a PWM control signal for controlling the lower arm (lower SW) is generated by comparing a triangular wave command value C2 obtained by shifting C1 and the duty command value.
[0006] In this method, the desired output voltage can be obtained when the phase current is positive, while an error occurs when it is negative. Therefore, when the phase current is negative, dead time compensation is performed to compensate the duty command value using a fixed compensation amount corresponding to the length of the dead time. This makes it possible to eliminate the error in the output voltage of the inverter that occurs when the phase current is negative.
Prior Art Documents
Patent Documents
[0007]
Patent Document 1
Summary of the Invention
Problems to be Solved by the Invention
[0008] The positive and negative of the phase current flowing through the motor change at the electrical angle period. For example, when controlling the upper arm and the lower arm using a method in which an error occurs only when the phase current has one polarity (positive or negative), during the period when the phase current has one polarity, an error corresponding to the length of the dead time period concentrates and occurs, so the error becomes large. Here, in a motor control device that performs sensorless position estimation using voltage information, when performing position estimation assuming that a desired output voltage can be applied to the motor, the accuracy of position estimation may decrease due to the influence of the error, and the control of the motor may become unstable. In particular, when the rotational speed of the motor is in the low rotation region, the ratio of the error to the output voltage becomes large, and it is considered that the control of the motor becomes more unstable.
[0009] Also, due to the delay in the transmission of the switching signal and the delay in the switching operation, it is considered that the actual dead time deviates from the set value. Therefore, when using dead time compensation to eliminate the error, there is a possibility that the error cannot be sufficiently eliminated due to the deviation between the actual dead time and the set value. For this reason, for example, in a method in which an error occurs only when the phase current is negative, even if a process for eliminating the error is added, there is a possibility that the control of the motor becomes unstable due to the remaining error.
[0010] In view of the above circumstances, an object of the present invention is to provide a motor control device and a motor control method capable of suppressing destabilization of motor control.
Means for Solving the Problems
[0011] To achieve the above object, a motor control device according to one embodiment of the present invention is an inverter that includes a plurality of legs having an upper arm and a lower arm and controls a motor by PWM control, and controls the switching operations of the upper arm and the lower arm, and supplies an output voltage of a PWM waveform from the plurality of legs to the motor. The motor control device includes a command value generation unit and an inverter control unit. The command value generation unit generates a duty command value representing a duty ratio corresponding to the command value of the output voltage. The inverter control unit controls the switching operation of the upper arm based on a first triangular wave corresponding to a duty ratio of A% or more and 100% or less, where A is a positive predetermined value smaller than 100, and the duty command value, and controls the switching operation of the lower arm based on a second triangular wave corresponding to a duty ratio of 0% or more and (100 - A)% or less and the duty command value.
[0012] In this motor control device, a first triangular wave is used to control the switching operation of the upper arm of the inverter, and a second triangular wave is used to control the switching operation of the lower arm. The first triangular wave corresponds to a duty ratio of A% or more and 100% or less, and the second triangular wave corresponds to a duty ratio of 0% or more and (100 - A)% or less. As a result, for example, both the period when the upper arm is turned ON and the period when the lower arm is turned OFF are shifted from the period corresponding to the duty command value. For this reason, when dead time is set, an error occurs in the output voltage of the inverter regardless of the polarity of the phase current flowing through the motor. Note that the magnitude of the error becomes smaller as the command value of the output voltage approaches the upper limit or the lower limit. In this way, regarding the error of the output voltage caused by setting the dead time, it is possible to disperse the period during which the error occurs and to reduce the magnitude of the error, and it is possible to suppress the destabilization of motor control.
[0013] The predetermined value A may be a value obtained by expressing the period of dead time for avoiding a state where the upper arm and the lower arm are simultaneously turned ON as a duty ratio.
[0014] As a result, for example, it is possible to set an appropriate dead time suitable for the inverter.
[0015] The command value generation unit may generate a basic command value representing the output voltage based on the speed command of the motor, calculate a compensation amount for eliminating the error of the duty ratio of the output voltage caused by setting the dead time when using the basic command value as the duty command value, and generate the duty command value based on the basic command value and the compensation amount.
[0016] This makes it possible to generate a duty command value that eliminates the error associated with the dead time, and it becomes possible to achieve stabilization of motor control.
[0017] The command value generation unit may calculate the compensation amount based on the basic command value.
[0018] This makes it possible to appropriately correct the error that changes together with the basic command value.
[0019] The command value generation unit may reduce the compensation amount as the duty ratio based on the basic command value approaches 0% or 100%.
[0020] For example, the closer the duty ratio of the basic command value is to 0% or 100%, the smaller the error becomes, and it becomes possible to appropriately calculate the compensation amount following that.
[0021] The command value generation unit acquires the value of the phase current flowing through the motor connected to the inverter, and sets the timing at which a third triangular wave corresponding to a duty ratio of 0% or more and 100% or less intersects with the duty ratio based on the basic command value as the intersection timing. When the phase current is positive, the compensation amount is calculated such that the duty ratio based on the duty command value becomes the value of the first triangular wave at the intersection timing. When the phase current is negative, the compensation amount may be calculated such that the duty ratio based on the duty command value becomes the value of the second triangular wave at the intersection timing.
[0022] This makes it possible to easily calculate the compensation amount according to the polarity of the phase current with high accuracy.
[0023] The inverter control unit may control the switching operations of the upper arm and the lower arm using the first triangular wave and the second triangular wave at least in a low rotation region where the rotation speed of the motor is lower than a predetermined rotation speed.
[0024] This makes it possible to stably control the motor in a low rotation range where the ratio of the error to the output voltage becomes large.
[0025] A motor control method according to an aspect of the present invention is a motor control method for controlling a motor by PWM control in an inverter including a plurality of legs having an upper arm and a lower arm, the method including controlling switching operations of the upper arm and the lower arm and supplying an output voltage of a PWM waveform from the plurality of legs to the motor, the method including: generating a duty command value that is a duty ratio corresponding to a command value of the output voltage; controlling the switching operation of the upper arm based on a first triangular wave corresponding to a duty ratio of A% or more and 100% or less, where A is a positive predetermined value smaller than 100, and the duty command value; and controlling the switching operation of the lower arm based on a second triangular wave corresponding to a duty ratio of 0% or more and (100 - A)% or less and the duty command value.
Advantages of the Invention
[0026] As described above, according to the present invention, it is possible to suppress destabilization of motor control. Note that the effects described here are not necessarily limited, and any of the effects described in the present disclosure may be applicable.
Brief Description of the Drawings
[0027]
Figure 1
Figure 2
Figure 3
Figure 4
Figure 5
Figure 6
Figure 7
Figure 8
Figure 9
Figure 10
Figure 11
Figure 12
Figure 13
Embodiments for Carrying Out the Invention
[0028] Hereinafter, embodiments according to the present invention will be described with reference to the drawings.
[0029] [Configuration of Motor Control Device] FIG. 1 is a block diagram showing a configuration example of a motor control device according to an embodiment of the present invention. The motor control device 100 is a device provided with an inverter that converts a DC voltage into a three-phase AC voltage. Specifically, the motor control device 100 controls the inverter by PWM control using a pulse width modulation (PWM) signal. In the example shown in FIG. 1, the IPM 31 connected to the motor 30 corresponds to the inverter.
[0030] The motor 30 is a three-phase AC motor driven by a three-phase AC voltage. The motor 30 has a rotor that rotates around a rotation axis and a stator that supports the rotor. The stator of the motor 30 is provided with three-phase windings (coils) to which three-phase AC voltages are respectively applied. Hereinafter, each phase of the three-phase AC will be described as the U phase, V phase, and W phase.
[0031] In the rotor of the motor 30, permanent magnets are arranged so as to be orthogonal to the rotation axis of the motor 30. Here, the direction of the magnetic flux of the N pole of the permanent magnet (the N pole side is the + direction) is defined as the d-axis, and the axis orthogonal to the d-axis is defined as the q-axis. Also, the estimated position of the rotor represented by the electrical angle (the estimated angle based on the U-axis) is denoted as θe, and the estimated angular velocity of the rotor represented by the electrical angle is denoted as ωe.
[0032] The motor 30 is, for example, a compressor motor that rotates a compressor mounted on an air conditioner, a fan motor that rotates a fan, or the like. Note that the motor control device 100 according to the present invention is applicable not only to the control of the motor 30 mounted on an air conditioner but also to the control of the motor 30 used for any application.
[0033] The motor control device 100 performs vector control of the motor 30. In vector control, the current flowing through the three-phase windings provided in the stator of the motor 30 is divided into a current component (d-axis current) that generates magnetic flux in the rotor of the motor 30 and a current component (q-axis current) that generates torque in the rotor, and each current component is independently controlled. As shown in FIG. 1, the motor control device 100 includes an intelligent power module (IPM) 31, a current detection circuit 32, and an arithmetic circuit 33. Also, a power supply 10 that supplies a DC voltage Vdc for driving the motor 30 is connected to the IPM 31.
[0034] The IPM31 has a plurality of switching elements, receives a DC voltage Vdc from the power supply 10, and receives a PWM control signal from the PWM modulator 25 described later. The IPM31 controls the switching operation of each switching element according to the PWM control signal, and converts the DC voltage Vdc into three-phase output voltages (U-phase output voltage Vu, V-phase output voltage Vv, W-phase output voltage Vw). The three-phase output voltages are all voltages of PWM waveforms. By changing the duty ratio of the output voltage of each phase over time, a three-phase AC voltage is generated. Here, the duty ratio means, for example, in the signal of the PWM waveform, the ratio of the pulse width to the carrier period (pulse width / carrier period). Note that the DC voltage Vdc is the upper limit value of the output voltage in the IPM31. The configuration of the IPM31 will be described in detail later with reference to FIG. 2 and the like.
[0035] The current detection circuit 32 detects the motor current flowing through the motor 30. The current detection circuit 32 is, for example, a circuit of a single shunt resistor detection method that detects the motor current flowing through the motor 30 using a single shunt resistor. Also, as the current detection circuit 32, other current detection means such as a CT (Current Transformer) may be used. The detection result of the current detection circuit 32 is output to the arithmetic circuit 33.
[0036] The arithmetic circuit 33 is a circuit that performs arithmetic processing necessary for controlling the motor 30. The arithmetic circuit 33 is configured using a computer equipped with a CPU (Central Processing Unit), a memory, and the like. The detection value of the current detection circuit 32, a speed command specifying the rotational speed of the motor 30, and the like are input to the arithmetic circuit 33. In response to these inputs, a voltage command value for performing vector control of the motor 30 is generated.
[0037] The arithmetic circuit 33 has, as functional blocks, a UVW-dq converter 36, a motor position detector 38, a voltage command generator 39, a current command converter 40, a dead time compensator 20, and a PWM modulator 25. Each functional block of the arithmetic circuit 33 may be configured using a dedicated IC or the like.
[0038] The UVW-dq converter (UVW / d-q) 36 receives the U-phase current iu, the W-phase current iw, and the V-phase current iv from the current detection circuit 32, and receives the estimated position of the rotor (electrical rotation angle θe) from the integrator 44, and converts the current vector (iu, iv, iw) in the UVW coordinate system into the current vector (id, iq) in the d-q coordinate system. Note that since each component in the current vector (id, iq) is converted from the detected current vector (iu, iv, iw), it can be regarded as a detected value. In the following description, id is also referred to as the d-axis current or the d-axis current value, and iq is also referred to as the q-axis current or the q-axis current value.
[0039] The motor position detector 38 receives the d-axis current value id and the q-axis current value iq from the UVW-dq converter 36, and calculates the electrical rotation angle θe, the estimated angular velocity ωe, and the mechanical angular velocity ωm of the rotor of the motor 30. As shown in FIG. 1, the motor position detector 38 includes an axis error calculation processing unit 42, a PLL controller 43, an integrator 44, a low-pass filter 45, and a converter 46.
[0040] The axis error calculation processing unit 42 receives the detected values of the d-axis current value id and the q-axis current value iq from the UVW-dq converter 36, and receives the d-axis voltage command value Vd * and the q-axis voltage command value Vq * from the voltage command generation unit 39, and according to the d-axis current value id, the q-axis current value iq, the d-axis voltage command value Vd * , and the q-axis voltage command value Vq * , obtains the axis error Δθ, which is the deviation between the actual position and the estimated position of the rotor, and outputs it to the PLL controller 43.
[0041] The PLL controller 43 corrects the previously estimated estimated angular velocity ωe according to the axis error Δθ. The PLL controller 43 outputs the corrected estimated angular velocity ωe to the integrator 44 and the low-pass filter 45. The PLL controller 43 is realized by using a PI controller having an integrator and a proportionality unit.
[0042] The integrator 44 calculates the electrical rotation angle θe as the estimated position of the rotor in the fixed coordinate system (UVW coordinate system) by integrating the estimated angular velocity ωe, and outputs it to the UVW-dq converter 36, the voltage command generator 39, and the current command converter 40, respectively. The electrical rotation angle θe is a quantity representing the phase of the rotor of the motor 30.
[0043] The low-pass filter 45 is a filter for preventing malfunction due to noise (correction noise) generated by the correction of the estimated angular velocity ωe by the PLL controller 43. When there is a lot of correction noise, the low-pass filter 45 performs low-pass filtering on the estimated angular velocity ωe to remove the correction noise. The low-pass filter 45 outputs the processed estimated angular velocity ωe to the converter 46.
[0044] The converter 46 obtains the mechanical angular velocity ωm of the rotor represented by the mechanical angle by dividing the estimated angular velocity ωe in the fixed coordinate system (UVW coordinate system) by the number of pole pairs Pn of the motor 30 (multiplying by the reciprocal 1 / Pn of the number of pole pairs), and outputs it to the voltage command generator 39.
[0045] The voltage command generator 39 receives the d-axis current value id and the q-axis current value iq from the UVW-dq converter 36, receives the electrical rotation angle θe and the mechanical angular velocity ωm from the motor position detector 38, receives the d-axis current command value id * from a d-axis current command value setting unit (not shown), receives the mechanical angular velocity command value ωm * from the outside (for example, a higher-level controller not shown), and according to the d-axis current value id, the q-axis current value iq, the electrical rotation angle θe, the mechanical angular velocity ωm, the d-axis current command value id * , and the mechanical angular velocity command value ωm * , generates the basic voltage command values (U-phase basic voltage command value Vu * , V-phase basic voltage command value Vv * , W-phase basic voltage command value Vw * ).
[0046] Here, the basic voltage command values (U-phase basic voltage command value Vu * , V-phase basic voltage command value Vv * , W-phase basic voltage command value Vw* ) is the voltage command value before receiving the dead time compensation process by the dead time compensation unit 20, and is the voltage command value from which the compensation voltage command values (U-phase compensation voltage command value Vu ** , V-phase compensation voltage command value Vv ** , and W-phase compensation voltage command value Vw ** ) are derived.
[0047] The voltage command generation unit 39 includes a subtractor 47, a speed controller 48, a subtractor 49, a subtractor 50, a d-axis current controller 51, a q-axis current controller 52, a decoupling controller 53, an adder 54, an adder 55, and a dq-UVW converter 56.
[0048] The subtractor 47 receives the mechanical angular velocity command value ωm * from the outside, receives the mechanical angular velocity ωm, which is an estimated value, from the motor position detector 38, subtracts the mechanical angular velocity ωm * from the mechanical angular velocity command value ωm, and outputs the subtraction result as the angular velocity difference to the speed controller 48. In this embodiment, the mechanical angular velocity command value ωm * corresponds to the speed command value of the motor.
[0049] The speed controller 48 has, for example, an integrator and a proportionality unit, and generates a q-axis current command value iq * (current command value) according to the angular velocity difference (speed difference), which is the difference between the mechanical angular velocity command value ωm * (speed command value) and the mechanical angular velocity ωm (estimated speed).
[0050] The subtractor 49 receives the d-axis current command value id * from the outside, receives the d-axis current value id from the UVW-dq converter 36, subtracts the d-axis current value id * from the d-axis current command value id, and outputs the subtraction result to the d-axis current controller 51.
[0051] The subtractor 50 receives the q-axis current command value iq * from the speed controller 48, receives the q-axis current value iq from the UVW-dq converter 36, subtracts the q-axis current value iq * from the q-axis current command value iq, and outputs the subtraction result to the q-axis current controller 52.
[0052] The d-axis current controller 51 is realized by using, for example, a PI controller having an integrator and a proportionality unit, and in response to the output from the subtracter 49, generates a d-axis voltage command value Vd using the integrator and the proportionality unit. ** The q-axis current controller 52 is realized by using, for example, a PI controller having an integrator and a proportionality unit, and in response to the output from the subtracter 50, generates a q-axis voltage command value Vq using the integrator and the proportionality unit. **
[0053] The decoupling controller 53 decouples the q-axis voltage command value Vq ** and the d-axis voltage command value Vd. ** Specifically, the decoupling controller 53 receives the d-axis current value id from the UVW-dq converter 36, obtains a decoupling correction value Vqa for decoupling the q-axis voltage command value Vq according to the d-axis current value id, and outputs the decoupling correction value Vqa to the adder 55. Further, the decoupling controller 53 receives the q-axis current value iq from the UVW-dq converter 36, obtains a decoupling correction value Vda for decoupling the d-axis voltage command value Vd according to the q-axis current value iq, and outputs the decoupling correction value Vda to the adder 54. ** **
[0054] The adder 54 receives the d-axis voltage command value Vd ** from the d-axis current controller 51, receives the decoupling correction value Vda from the decoupling controller 53, adds the decoupling correction value Vda to the d-axis voltage command value Vd, ** and outputs the addition result as the d-axis voltage command value Vd * after decoupling to the dq-UVW converter 56 and the axis error calculation processing unit 42.
[0055] The adder 55 receives the q-axis voltage command value Vq ** from the q-axis current controller 52, receives the decoupling correction value Vqa from the decoupling controller 53, adds the q-axis voltage command value Vq ** and the decoupling correction value Vqa, and outputs the addition result as the q-axis voltage command value Vq * after decoupling to the dq-UVW converter 56 and the axis error calculation processing unit 42.
[0056] The dq-UVW converter 56 receives the d-axis voltage command value Vd * from the adder 54, receives the q-axis voltage command value Vq * from the adder 55, receives the electrical rotation angle θe from the integrator 44, and, for example, according to the electrical rotation angle θe, from the voltage command vector (Vd * , Vq * ) in the rotating coordinate system (d-q coordinate system), generates the voltage command vector (Vu * , Vv * , Vw * ) in the fixed coordinate system (UVW coordinate system). The voltage command values generated here become the basic voltage command values (U-phase basic voltage command value Vu * , V-phase basic voltage command value Vv * , W-phase basic voltage command value Vw * ).
[0057] The current command converter 40 receives the d-axis current command value id * from the outside, receives the q-axis current command value iq * from the speed controller 48, receives the electrical rotation angle θe from the integrator 44, and, for example, according to the electrical rotation angle θe, from the current command vector (id * , iq * ) in the d-q coordinate system, generates the current command vector (iu * , iv * , iw * ) in the UVW coordinate system. The current command values generated here (U-phase current command value iu * , V-phase current command value iv * , W-phase current command value iw * ) are, for example, the estimated values of the phase current flowing through the motor 30.
[0058] The dead time compensation unit 20 receives the basic voltage command values in the UVW coordinate system (U-phase basic voltage command value Vu * , V-phase basic voltage command value Vv * , W-phase basic voltage command value Vw * ) from the dq-UVW converter 56, and receives the current command values in the UVW coordinate system (U-phase current command value iu * , V-phase current command value iv *, the W-phase current command value iw * ) is received from the current command converter 40. Further, the dead time compensation unit 20 executes a dead time compensation process for the basic voltage command value according to the current command value in the UVW coordinate system, and the compensated voltage command values (U-phase compensated voltage command value Vu ** , V-phase compensated voltage command value Vv ** , W-phase compensated voltage command value Vw ** ) are generated.
[0059] The dead time compensation process is a process of compensating the basic voltage command value so that when the dead time described later is inserted in the control of each switching element constituting the IPM31, the output voltage of the IPM31 (U-phase output voltage Vu, V-phase output voltage Vv, W-phase output voltage Vw) becomes the voltage specified by the basic voltage command value (U-phase basic voltage command value Vu * , V-phase basic voltage command value Vv * , W-phase basic voltage command value Vw * ).
[0060] Therefore, it can be said that the basic voltage command value is the command value of the output voltage output from the IPM31. Further, since the output voltage is the voltage of the PWM waveform, it can also be said that the basic voltage command value is a parameter representing the duty ratio of the output voltage. On the other hand, the compensated voltage command value is a parameter generated according to the basic voltage command value, and is used as a parameter (duty command value) representing the duty ratio referred to by the PWM modulator 25 that controls the IPM31.
[0061] Thus, in this embodiment, the compensated voltage command value is a parameter representing the duty ratio according to the command value (basic voltage command value) of the output voltage. Also in this embodiment, a command value generation unit that generates a duty command value is configured by the voltage command generation unit 39, the current command converter 40, and the dead time compensation unit 20.
[0062] In the present disclosure, generating a voltage command value such as a basic voltage command value or a compensation voltage command value means obtaining the voltage command value. For example, calculating the voltage command value using various formulas or obtaining the voltage command value by executing various processes is included in generating the voltage command value. Hereinafter, obtaining the voltage command value as a result of "calculation" or "execution of processing" will be described as generating the voltage command value.
[0063] The PWM modulator 25 generates a PWM control signal with reference to the duty command value generated by the dead time compensation unit 20. Here, the PWM control signal is a PWM signal that controls the ON and OFF of a plurality of switching elements provided in the IPM 31.
[0064] In the present disclosure, the duty command value is a parameter that can represent the duty ratio. The duty command value may be the duty ratio itself or a parameter that can be uniquely converted into the duty ratio.
[0065] In this embodiment, as the duty command value, the compensation voltage command value (U-phase compensation voltage command value Vu ** , V-phase compensation voltage command value Vv ** , W-phase compensation voltage command value Vw ** ) is used. The compensation voltage command value is a parameter that specifies the voltage [V], but can be uniquely converted into the duty ratio. For example, the ratio (V ** / Vdc) of the compensation voltage command value V ** to the DC voltage Vdc supplied to the IPM 31 becomes the duty ratio. For example, when V ** = Vdc, the duty ratio becomes 1 (that is, the duty ratio is 100%).
[0066] The PWM modulator 25 receives the compensation voltage command value (U-phase compensation voltage command value Vu ** , V-phase compensation voltage command value Vv ** , W-phase compensation voltage command value Vw **) generates a PWM control signal according to and outputs the PWM control signal to IPM31. In this embodiment, the PWM modulator 25 corresponds to an inverter control unit.
[0067] In the above-described IPM31, switching elements that constitute the upper arm and the lower arm are provided for each of the U-phase, V-phase, and W-phase. That is, six switching elements are provided in IPM31 (see FIG. 2). Therefore, the PWM modulator 25 generates six types of PWM control signals for controlling the switching operations of the six switching elements.
[0068] Hereinafter, the configuration of IPM31 and the characteristics of IPM31 when dead time is set will be specifically described.
[0069] [Configuration of IPM] FIG. 2 is a circuit diagram showing a configuration example of IPM31. IPM31 has a power supply side wiring 60, a GND side wiring 61, and a plurality of legs 62 (a U-phase leg 62u, a V-phase leg 62v, and a W-phase leg 62w). The power supply side wiring 60 is connected to the output terminal of the power supply 10. The GND side wiring 61 is connected to GND. The motor 30 has a U-phase winding 63u, a V-phase winding 63v, and a W-phase winding 63w. One end of each winding is connected to the neutral point 64, and the other end is connected to each leg.
[0070] The U-phase leg 62u has a first switching element 65u, a second switching element 66u, a first diode 67u, and a second diode 68u. The first switching element 65u and the second switching element 66u are connected between the power supply side wiring 60 and the GND side wiring 61 in this order. The first diode 67u and the second diode 68u are connected between the power supply side wiring 60 and the GND side wiring 61 in this order. The terminal of the U-phase winding 63u opposite to the neutral point 64 is connected to the connection point of the first switching element 65u and the second switching element 66u and the connection point of the first diode 67u and the second diode 68u.
[0071] The leg 62v for the V phase includes a first switching element 65v, a second switching element 66v, a first diode 67v, and a second diode 68v. The leg 62v for the V phase is configured in the same manner as the leg 62u for the U phase, and the connection points of the respective switching elements and the connection points of the respective diodes are connected to the terminals on the side opposite to the neutral point 64 of the V-phase winding 63v.
[0072] The leg 62w for the W phase includes a first switching element 65w, a second switching element 66w, a first diode 67w, and a second diode 68w. The leg 62w for the W phase is configured in the same manner as the leg 62u (leg 62v for the V phase), and the connection points of the respective switching elements and the connection points of the respective diodes are connected to the terminals on the side opposite to the neutral point 64 of the W-phase winding 63w.
[0073] In each leg 62, an upper arm 69U is formed by the switching element and the diode connected to the power supply side wiring 60. Also, in each leg 62, a lower arm 69L is formed by the switching element and the diode connected to the GND side wiring 61. For example, in the leg 62u for the U phase, the upper arm 69U is formed by the first switching element 65u and the first diode 67u, and the lower arm 69L is formed by the second switching element 66u and the second diode 68u. The upper arm 69U and the lower arm 69L are similarly formed in the leg 62v for the V phase and the leg 62w for the W phase, respectively.
[0074] The IPM 31 uses PWM technology and outputs an arbitrary voltage from the DC voltage Vdc. In the motor control device 100, an AC voltage to be supplied to each phase of the motor 30 is generated by this technology. Taking the leg 62u for the U phase as an example, for instance, when the first switching element 65u forming the upper arm 69U is ON and the second switching element 66u forming the lower arm 69L is OFF, the DC voltage Vdc [V] is supplied to the U-phase winding 63u as the load. Conversely, when the second switching element 66u forming the lower arm 69L is ON and the first switching element 65u forming the upper arm 69U is OFF, a voltage of 0 [V] is supplied to the U-phase winding 63u as the load.
[0075] The switching operations of the upper arm 69U and the lower arm 69L are controlled by the PWM control signal from the PWM modulator 25. In this way, the motor control device 100 controls the motor 30 by PWM control in the IPM 31 including a plurality of legs 62 (62u, 62v, 62w) having the upper arm 69U and the lower arm 69L, controls the switching operations of the upper arm 69U and the lower arm 69L, and supplies the output voltages (U-phase output voltage Vu, V-phase output voltage Vv, W-phase output voltage Vw) of the PWM waveform from the plurality of legs 62 to the motor 30.
[0076] [Dead Time] FIG. 3 is a schematic diagram for explaining dead time. FIG. 4 is a schematic diagram for explaining the current flowing through the leg 62 during dead time. Here, with reference to FIGS. 3 and 4, the operating characteristics of one leg 62 will be described.
[0077] The leg 62 shown in FIG. 4 is any one of the U-phase leg 62u, the V-phase leg 62v, and the W-phase leg 62w shown in FIG. 2. Hereinafter, without distinguishing each phase of UVW, each element constituting one leg 62 will be described as the first switching element 65, the second switching element 66, the first diode 67, and the second diode 68. Also, each phase winding of the motor 30 to which the leg 62 is connected will be described as the load 70.
[0078] In FIG. 3, waveforms for one carrier period of the upper arm PWM control signal CU, the lower arm PWM control signal CL, the output voltage V(+) when the phase current is positive, and the output voltage V(-) when the phase current is negative are illustrated by thick-line graphs in order from the top. The horizontal axis of each graph is time.
[0079] The PWM control signal CU for the upper arm is a signal that controls the ON / OFF of the first switching element 65 of the upper arm 69U. The PWM control signal CL for the lower arm is a signal that controls the ON / OFF of the second switching element 66 of the lower arm 69L. Here, in each of the PWM control signals CU and CL, it is assumed that the switching element turns ON when the voltage level is at the High level (ON level), and the switching element turns OFF when the voltage level is at the Low level (OFF level). Also, the center of the pulses that form each of the PWM control signals CU and CL coincides with the center of the carrier period.
[0080] The output voltages V(+) and V(-) are the voltages of the PWM waveforms output from the leg 62 to the motor 30 (load 70). Also, in the output voltages V(+) and V(-), the voltage value in the state where the voltage level is high is the DC voltage Vdc [V], and the voltage value in the state where the voltage level is low is the GND voltage of 0 [V].
[0081] As described with reference to FIG. 2, the switching elements (the first switching element 65 and the second switching element 66) of the upper arm 69U and the lower arm 69L provided in the leg 62 are connected in series between the power supply side wiring 60 and the GND side wiring 61. Therefore, if the first switching element 65 and the second switching element 66 are both turned ON at the same time, the power supply side wiring 60 and the GND side wiring 61 will be short-circuited, and there is a possibility that the switching elements will be damaged.
[0082] For this reason, a dead time is provided to avoid a state where the upper arm 69U and the lower arm 69L are both turned ON at the same time. The dead time is the period during which both the first switching element 65 and the second switching element 66 are turned OFF. For example, in the example shown in FIG. 3, the period during which both the PWM control signal CU for the upper arm and the PWM control signal CL for the lower arm are at the OFF level is the dead time period (hereinafter referred to as the dead time period Td).
[0083] By providing the dead time period Td, the period during which the upper arm 69U and the lower arm 69L are simultaneously ON does not occur. Therefore, the state realized by the upper arm PWM control signal CU and the lower arm PWM control signal CL is either a state where the upper arm 69U is ON and the lower arm 69L is OFF, a state where the upper arm 69U is OFF and the lower arm 69L is ON, or a state where both are OFF (dead time period Td).
[0084] Incidentally, the output voltage output from the leg 62 to the load 70 during the dead time period Td changes depending on the polarity (positive or negative) of the phase current flowing through the leg 62 to the load 70. Hereinafter, the node connecting the upper arm 69U and the lower arm 69L will be described as the intermediate node 71. The case where the phase current is positive means a state where the phase current flows from the intermediate node 71 to the load 70, and the case where the phase current is negative means a state where the phase current flows from the load 70 to the intermediate node 71.
[0085] FIG. 4A schematically shows the current path 72a during the dead time period Td when the phase current is positive. When the phase current is positive, the phase current flows into the load 70 through the intermediate node 71. Therefore, when both the first switching element 65 and the second switching element 66 are OFF, in order to flow the phase current from the intermediate node 71 to the load 70, a current path 72a is formed from the GND side wiring 61 through the second diode 68 of the lower arm 69L and the intermediate node 71 to the load 70. Therefore, when the phase current is positive, the output voltage V(+) output to the motor 30 (load 70) during the dead time period Td is equivalent to the output in a state where the upper arm 69U is OFF and the lower arm 69L is ON, and becomes 0 [V].
[0086] FIG. 4B schematically shows a current path 72b during a dead time period Td when the phase current is negative. When the phase current is negative, a phase current flows from the load 70 into the intermediate node 71. Therefore, when both the first switching element 65 and the second switching element 66 are OFF, in order to allow the phase current to flow from the load 70 to the intermediate node 71, a current path 72b is formed that passes from the load 70 through the intermediate node 71 and the first diode 67 of the upper arm 69U and toward the power supply side wiring 60. Therefore, when the phase current is negative, the output voltage V(−) output to the motor 30 (load 70) during the dead time period Td is the same as the output when the upper arm 69U is ON and the lower arm 69L is OFF, and becomes the DC voltage Vdc [V].
[0087] As a result, as shown in FIG. 3, when the phase current is positive, the waveform of the output voltage V(+) coincides with the PWM control signal CU for the upper arm. Also, when the phase current is negative, the waveform of the output voltage V(−) coincides with the waveform obtained by inverting the PWM control signal CL for the lower arm. That is, when the dead time period Td is provided, two types of output voltages (V(+) or V(−)) are output depending on the polarity of the phase current, and an error (hereinafter referred to as a dead time error) occurs in the output voltage.
[0088] For example, if the PWM control signals CU and CL are generated using the voltage command value as it is, the occurrence of a dead time error may prevent the voltage specified by the voltage command value from being output. As a result, the line-to-line voltages of the respective phases of UVW are distorted, and it is conceivable that the phase currents energized to the motor 30 are also distorted accordingly. These distortions may cause torque ripple, vibration, or noise.
[0089] Hereinafter, the triangular wave used to generate the PWM control signal CU for the upper arm and the PWM control signal CL for the lower arm in the present embodiment, and the dead time compensation process using the triangular wave will be described.
[0090] [Triangle Wave for Upper Arm and Triangle Wave for Lower Arm] FIG. 5 is a schematic diagram showing a configuration example of a triangular wave used for controlling an inverter. The upper graph in FIG. 5 is a graph showing the triangular wave. Below the graph of the triangular wave, waveforms of the PWM waveform of the basic duty, the PWM control signal CU for the upper arm, the PWM control signal CL for the lower arm, the output voltage V(+) when the phase current is positive, and the output voltage V(-) when the phase current is negative are schematically shown in order from the top.
[0091] In the graph of the triangular wave, the triangular wave 75U for the upper arm and the triangular wave 75L for the lower arm are shown. The horizontal axis of the graph is time, and the vertical axis is the count value.
[0092] The triangular wave 75U for the upper arm is a triangular wave used to generate the PWM control signal CU for the upper arm. The triangular wave 75L for the lower arm is a triangular wave used to generate the PWM control signal CL for the lower arm. The PWM modulator 25 actually generates these triangular waves 75U and 75L to generate the PWM control signals CU and CL.
[0093] The count value is a parameter representing the value (amplitude) of the triangular wave 75U for the upper arm or the triangular wave 75L for the lower arm actually used. As the count value, for example, discrete values represented by positive integers are used. The maximum value of the count value is set according to, for example, the vertical resolution of the signal generator provided in the PWM modulator 25. Each of the triangular waves 75U and 75L becomes a signal in which the count value linearly increases and decreases between the set minimum value and the maximum value.
[0094] The count value is also used in association with the duty ratio. Typically, the duty ratio and the count value are associated so as to be in a proportional relationship. Here, a negative correlation relationship in which the proportional coefficient is negative is set, and the count value and the duty ratio are associated so that the larger the count value, the smaller the duty ratio. Therefore, in the graph of the triangular wave in FIG. 5, the larger the value of the vertical axis, the smaller the corresponding duty ratio.
[0095] In addition, the triangular wave 75U for the upper arm and the triangular wave 75L for the lower arm have waveforms that are similar to each other. Each waveform has the same rate of increase and decrease of the count value with respect to time, and is a waveform (isosceles triangle-shaped waveform) that is symmetric with respect to time around the maximum value (minimum value). Specifically, the triangular wave 75L for the lower arm is a triangular wave obtained by shifting the triangular wave 75U for the upper arm by a predetermined amount in the direction in which the count value increases.
[0096] Here, let a positive predetermined value smaller than 100 be A. The triangular wave 75U for the upper arm is a triangular wave corresponding to a duty ratio of A% or more and 100% or less. More specifically, the triangular wave 75U for the upper arm is a triangular wave in which the maximum value of the amplitude is set as the count value U1 corresponding to the duty ratio A%, and the minimum value of the amplitude is set as the count value U2 corresponding to the duty ratio 100%. The range of the duty ratio X corresponding to the count value of the triangular wave 75U for the upper arm configured in this way is A% ≦ X ≦ 100%. In the present embodiment, the triangular wave 75U for the upper arm corresponds to the first triangular wave.
[0097] Also, the triangular wave 75L for the lower arm is a triangular wave corresponding to a duty ratio of 0% or more and (100 - A)% or less. More specifically, the triangular wave 75L for the lower arm is a triangular wave in which the maximum value of the amplitude is set as the count value L1 corresponding to the duty ratio 0%, and the minimum value of the amplitude is set as the count value L2 corresponding to the duty ratio (100 - A)%. The range of the duty ratio Y corresponding to the count value of the triangular wave 75L for the lower arm configured in this way is 0% ≦ Y ≦ (100 - A)%. In the present embodiment, the triangular wave 75L for the lower arm corresponds to the second triangular wave.
[0098] In this way, in the present embodiment, the setting range of the duty ratio (0% to 100%) is set to the range from the lower limit of the triangular wave 75U for the upper arm to the upper limit of the triangular wave 75L for the lower arm. Also, the lower limit of the triangular wave 75U for the upper arm is set to the count value corresponding to the duty ratio 100%, and the upper limit of the triangular wave 75L for the lower arm is set to the count value corresponding to the duty ratio 0%. Note that the interval in the vertical axis direction between the triangular wave 75U for the upper arm and the triangular wave 75L for the lower arm is an amount obtained by converting the predetermined value A into a count value.
[0099] The predetermined value A is a value obtained by expressing the dead time period Td for avoiding a state where the upper arm 69U and the lower arm 69L are simultaneously ON in terms of the duty ratio. For example, from the slope of the triangular wave 75U (or triangular wave 75L) for the upper arm, it is possible to convert the time interval on the horizontal axis into the count value on the vertical axis. From this slope, the value obtained by converting the dead time period Td into the count value is equal to the value obtained by converting the predetermined value A into the count value.
[0100] For example, each switching element constituting the IPM31 operates at a switching speed corresponding to the characteristics of the element. Here, the switching speed is the speed at which the switching element switches from ON to OFF or from OFF to ON. For example, when the switching speed is slow, if the dead time period Td is too short, there is a possibility that while one arm is not completely OFF, the other arm turns ON and a short circuit occurs, and in some cases, it is better to make the dead time period Td longer. Conversely, when the switching speed is fast, if the dead time period Td is too long, the error in the output voltage (dead time error) associated with the dead time and its compensation amount become unnecessarily large, and in some cases, it is better to shorten the dead time period Td. For example, a recommended dead time (minimum value) is defined for IPM products, and by setting the dead time period Td to this minimum value, the compensation amount for the dead time error can be reduced. In the present embodiment, by appropriately setting the above-described predetermined value A, it is possible to set an appropriate dead time period Td suitable for the inverter, for example.
[0101] [Generation of PWM control signal] Hereinafter, a method for generating the PWM control signal CU for the upper arm and the PWM control signal CL for the lower arm from the triangular wave 75U for the upper arm and the triangular wave 75L for the lower arm will be described. This method is a technique also called complementary PWM, and it detects the timing at which each triangular wave 75U and 75L crosses a predetermined threshold value 76 to generate a PWM control signal. In the triangular wave graph of FIG. 5, the predetermined threshold value 76 is illustrated by a thin solid line.
[0102] As shown in FIG. 5, the PWM control signal CU for the upper arm is generated to be ON when the count value of the triangular wave 75U for the upper arm is greater than a predetermined threshold value 76, and to be OFF when it is less than the predetermined threshold value 76. Also, the PWM control signal CL for the lower arm is generated to be OFF, for example, when the count value of the triangular wave 75L for the lower arm is greater than a predetermined threshold value 76, and to be ON when it is less than the predetermined threshold value 76.
[0103] Note that in the first half where the count value of the triangular wave increases, the period from when the PWM control signal CL for the lower arm becomes OFF until the PWM control signal CU for the upper arm becomes ON is the dead time period Td. Also, in the second half where the count value of the triangular wave decreases, the period from when the PWM control signal CU for the upper arm becomes OFF until the PWM control signal CL for the lower arm becomes ON is the dead time period Td. The dead time periods Td in the first half and the second half are both of the same length. Also, the value of Td is determined by the slopes of the triangular waves 75U and 75L and a predetermined value A.
[0104] In this way, when the count values of the triangular waves 75U and 75L cross a predetermined threshold value 76, the voltage levels of the PWM control signal CU for the upper arm and the PWM control signal CL for the lower arm are inverted. Also, by providing two triangular waves, the dead time period Td is automatically inserted.
[0105] [Dead Time Error] In the example shown in FIG. 5, as the predetermined threshold value 76 for comparison with the triangular wave 75U for the upper arm and the triangular wave 75L for the lower arm, a count value corresponding to the duty ratio (hereinafter referred to as the basic duty) based on the basic voltage command value was used. That is, the threshold value 76 is a value that changes according to the basic duty. Also, the basic duty is the duty ratio for specifying the output voltage to be output from the IPM31.
[0106] In the graph of the triangular wave in FIG. 5, a triangular wave corresponding to a duty ratio of 0% or more and 100% or less (hereinafter referred to as the reference triangular wave 75S) is shown. The reference triangular wave 75S has the maximum value of the amplitude as the count value corresponding to a duty ratio of 0% (the maximum value L1 of the triangular wave 75L for the lower arm), and the minimum value of the amplitude as the count value corresponding to a duty ratio of 100% (the minimum value U2 of the triangular wave 75U for the upper arm).
[0107] Also, the period and phase of the reference triangular wave 75S are equal to those of the triangular wave 75U for the upper arm and the triangular wave 75L for the lower arm. Therefore, the reference triangular wave 75S also has a waveform that is symmetric with respect to time around the maximum value (minimum value). Note that the reference triangular wave 75S is a virtual triangular wave described for the purpose of explanation and is not the signal actually generated by the PWM modulator 25.
[0108] The PWM waveform of the basic duty is ON when the count value of the reference triangular wave 75S is greater than the count value corresponding to the basic duty, and OFF when it is less than the count value corresponding to the basic duty. This waveform becomes the output voltage that realizes the voltage specified by the basic voltage command value, that is, the waveform of the voltage to be output from the IPM31. Note that the PWM waveform of the basic duty switches between ON / OFF during the dead time period Td.
[0109] For example, as shown in the second row from the bottom in FIG. 5, the output voltage V(+) that occurs when the phase current is positive has the same waveform as the PWM control signal CU for the upper arm. This waveform has a shorter pulse width than the PWM waveform of the basic duty. In this case, the shortage of the pulse width (the region of the thick dots in the figure) becomes the dead time error 78 for the output voltage V(+).
[0110] Also, as shown in the bottom row of FIG. 5, the output voltage V(-) that occurs when the phase current is negative has a waveform obtained by inverting the PWM control signal CL for the lower arm. This waveform has a longer pulse width than the PWM waveform of the basic duty. In this case, the excess of the pulse width (the region of the fine dots in the figure) becomes the dead time error 78 for the output voltage V(-).
[0111] Thus, when the upper-arm triangular wave 75U, the lower-arm triangular wave 75L, and the basic duty are used to generate the upper-arm PWM control signal CU and the lower-arm PWM control signal CL, both the period during which the upper arm 69U is turned on and the period during which the lower arm 69L is turned off deviate from the period corresponding to the reference duty. For this reason, a dead-time error 78 occurs in the output voltage regardless of whether the phase current is positive or negative. Note that the magnitude of the dead-time error 78 varies according to the polarity of the phase current and the value of the basic duty.
[0112] In this embodiment, dead-time compensation processing is executed so as to eliminate the dead-time error 78 that occurs regardless of the polarity of the phase current. Hereinafter, the dead-time error 78 that occurs when the phase current is positive is referred to as a dead-time error 78a, and the dead-time error 78 that occurs when the phase current is negative is referred to as a dead-time error 78b.
[0113] [Basic Operation of Motor Control Device] FIG. 6 is a flowchart showing an example of the basic operation of the motor control device. The process shown in FIG. 6 is a loop process executed for each of the U-phase, V-phase, and W-phase during the control of the motor 30. Hereinafter, each process shown in FIG. 6 will be described taking the U-phase as an example. Note that the description of the U-phase can be appropriately read as the description of the V-phase and the description of the W-phase.
[0114] FIG. 6 shows the process until the U-phase basic voltage command value Vu * is generated and the dead-time compensation processing is executed so as to correctly output the U-phase basic voltage command value Vu * to generate the U-phase compensated voltage command value Vu ** . This process is mainly executed in the arithmetic circuit 33.
[0115] In step 101, the value of the phase current flowing through the motor 30 connected to the IPM 31 is acquired. Here, as the value of the U-phase current, the U-phase current command value iu *is calculated. Specifically, the current command converter 40 calculates the d-axis current command value id * and the q-axis current command value iq * to calculate the U-phase current command value iu * The calculated U-phase current command value iu * is an estimated value of the U-phase current.
[0116] Note that instead of calculating the U-phase current command value iu * , a current sensor or the like may be used to detect the U-phase current flowing through the motor 30. In this case, it is not necessary to provide the current command converter 40. Thus, in the present disclosure, obtaining the value of the phase current flowing through the motor 30 includes estimating the phase current or detecting the phase current. However, when detecting the U-phase current, the detected U-phase current may include noise. Further, since the detected U-phase current is the U-phase current that flows as a result of the U-phase output voltage Vu based on the U-phase compensation voltage command value Vu ** at the previous carrier being supplied to the motor 30, the U-phase current is a U-phase current with a different timing from the carrier in which the U-phase output voltage Vu based on the generated U-phase compensation voltage command value Vu ** is supplied to the motor 30. Therefore, the method of detecting the U-phase current has a lower accuracy in dead time compensation processing than the method of estimating the U-phase current.
[0117] In step 102, a basic voltage command value representing the output voltage is generated based on the speed command of the motor 30. Here, the voltage command generation unit 39 generates the U-phase basic voltage command value Vu * based on the mechanical angular velocity command value ωm * The voltage specified by the U-phase basic voltage command value Vu * is the voltage that is desired to be output as the U-phase output voltage Vu.
[0118] Note that the processes of step 101 and step 102 do not need to be executed in this order, and step 102 may be executed before step 101. Also, step 101 and step 102 may be executed in parallel.
[0119] Next, the polarity of the phase current is determined (step 103). Here, the dead time compensation unit 20 determines whether the U-phase current command value iu * is 0 or more. This process is a determination process for executing dead time compensation processing according to the polarity of the U-phase current command value iu * .
[0120] When the U-phase current command value iu * is 0 or more (Yes in step 103), it is assumed that the U-phase current is positive, and the compensation amount of dead time corresponding to the positive phase current is calculated (step 104). Also, when the U-phase current command value iu * is less than 0 (No in step 103), it is assumed that the U-phase current is negative, and the compensation amount of dead time corresponding to the negative phase current is calculated (step 105).
[0121] [Calculation process of compensation amount] In step 104 and step 105, the U-phase compensation amount Vtd_u for eliminating the duty ratio error of the U-phase output voltage Vu generated by setting the dead time when using the U-phase basic voltage command value Vu * as the duty command value is calculated by the dead time compensation unit 20. The duty command value is a parameter representing the duty ratio that is finally output from the arithmetic circuit 33 and referred to in the PWM modulator 25.
[0122] The value obtained by converting the duty ratio based on the duty command value into a count value corresponds to the above-mentioned predetermined threshold value 76. Therefore, as shown in FIG. 5, the U-phase compensation amount Vtd_u is the correction amount for eliminating the dead time errors 78a and 78b generated in the U-phase output voltage Vu when using the duty ratio based on the U-phase basic voltage command value Vu * as the predetermined threshold value 76. The U-phase compensation amount Vtd_u is used to generate the U-phase compensation voltage command value Vu ** .
[0123] FIG. 7 is a schematic diagram showing an example of dead time compensation processing when the phase current is positive. Hereinafter, the processing of step 104 will be described with reference to FIG. 7. In step 104, when the U-phase current is positive, a U-phase compensation amount Vtd_u for eliminating the dead time error 78a generated in the U-phase output voltage Vu(+) is calculated.
[0124] On the left side of FIG. 7, the waveforms of the PWM control signal and the U-phase output voltage Vu(+) when the dead time compensation processing is not executed are illustrated, and on the right side, the waveforms when the dead time compensation processing is executed are illustrated. Here, the PWM control signals for the upper arm and the lower arm for the U-phase are denoted as the upper arm PWM control signal CUu and the lower arm PWM control signal CLu, respectively. Also, the duty ratio represented by the U-phase basic voltage command value Vu * is denoted as the U-phase basic duty Du * , and the duty ratio represented by the U-phase compensation voltage command value Vu ** is denoted as the U-phase compensation duty Du ** . The duty ratio of the voltage command value is the ratio of the voltage command value to the DC voltage Vdc. Therefore, Du * = Vu * / Vdc, and Du ** = Vu ** / Vdc.
[0125] When the U-phase current is positive, the waveform of the U-phase output voltage Vu(+) becomes the same as the waveform of the upper arm PWM control signal CUu. As shown on the left side of FIG. 7, when the dead time compensation processing is not executed and the U-phase basic duty Du * is used as it is, the pulse width of the upper arm PWM control signal CUu becomes shorter than the PWM waveform of the U-phase basic duty Du * . Therefore, in the dead time compensation processing, a U-phase compensation amount Vtd_u for compensating the U-phase basic duty Du * (U-phase basic voltage command value Vu * ) so that the pulse width of the upper arm PWM control signal CUu is widened is calculated.
[0126] Here, a reference triangular wave 75S corresponding to a duty ratio of 0% or more and 100% or less and the U-phase basic voltage command value Vu* The duty ratio (U-phase basic duty Du * ) and the intersection timing is defined as the intersection timing. The intersection timing occurs once in the first half where the value of the triangular wave increases and once in the second half where the value of the triangular wave decreases. Hereinafter, the intersection timings in the first half and the second half are denoted as t1 and t2, respectively.
[0127] For example, as shown on the left side of FIG. 7, the intersection timing t1 in the first half is the timing at which the pulse of the PWM waveform of the U-phase basic duty Du * rises, and the intersection timing t2 in the second half is the timing at which the pulse falls. That is, it can be said that the intersection timings t1 and t2 are the timings representing the waveform of the U-phase output voltage Vu(+) that is originally desired to be output. Since the reference triangular wave 75S has an isosceles triangle waveform, the time intervals between the time when the reference triangular wave 75S reaches its maximum value and the intersection timings t1 and t2 are equal to each other.
[0128] In this embodiment, when the U-phase current is positive, the U-phase compensation voltage command value Vu ** The U-phase compensation amount Vtd_u is calculated so that the duty ratio (U-phase compensation duty Du ** ) becomes the value of the triangular wave 75U for the upper arm at the intersection timing (t1 or t2). Since the triangular wave 75U for the upper arm has the same period and phase as the reference triangular wave 75S, the values of the triangular wave 75U for the upper arm at the intersection timings t1 and t2 are the same. Hereinafter, the value of the triangular wave 75U for the upper arm at the intersection timing t1 (or t2) is denoted as the compensation duty α.
[0129] For example, when the compensation duty α is used instead of the U-phase basic duty Du * as a predetermined threshold value 76 (duty ratio based on the duty command value) referred to in the PWM modulator 25, the PWM control signal CUu for the upper arm generated from the triangular wave 75U for the upper arm has a waveform that rises at the intersection timing t1 and falls at the intersection timing t2. This is because the U-phase basic duty Du *It becomes a waveform similar to the PWM waveform. That is, by using the compensation duty α, the PWM control signal CUu for the upper arm, which is similar to the waveform of the U-phase output voltage Vu(+) that is originally desired to be output, can be realized.
[0130] In this embodiment, as the U-phase compensation amount Vtd_u, the difference between the compensation duty α and the U-phase basic duty Du * is calculated. More specifically, the difference (α - Du * ) of the duty ratios α and Du * converted to voltage is used as the U-phase compensation amount Vtd_u. Note that, when viewed as a duty ratio, since α is a value larger than Du * , Vtd_u becomes positive.
[0131] When the U-phase current is positive, the U-phase compensation amount Vtd_u is calculated according to the following formula. Vtd_u = (1 - Vu * / Vdc) × Vdc × Td / (Tc / 2 + Td) ···(1)
[0132] In formula (1), Tc is the carrier period in PWM control and is the period of the triangular wave 75U for the upper arm and the triangular wave 75L for the lower arm. Also, Vu * / Vdc is the U-phase basic duty Du * . Thus, since formula (1) includes the U-phase basic voltage command value Vu * , the U-phase compensation amount Vtd_u is not a constant but a parameter that changes according to Vu * .
[0133] FIG. 8 is a schematic diagram showing an example of the dead time compensation process when the phase current is negative. Hereinafter, the process of step 105 will be described with reference to FIG. 8. In step 105, when the U-phase current is negative, the U-phase compensation amount Vtd_u for eliminating the dead time error 78b generated in the U-phase output voltage Vu(-) is calculated.
[0134] When the U-phase current is negative, the waveform of the U-phase output voltage Vu(-) becomes the waveform obtained by inverting the PWM control signal CLu for the lower arm. As shown on the left side of Fig. 8, when the dead-time compensation process is not executed and the U-phase basic duty Du * is used as it is, the PWM control signal CLu for the lower arm has a longer pulse width than the PWM waveform of the U-phase basic duty Du * . Note that the pulse width of CLu means the width of the OFF period. Therefore, in the dead-time compensation process, a U-phase compensation amount Vtd_u for compensating the U-phase basic duty Du * (U-phase basic voltage command value Vu * ) is calculated so that the pulse width of the PWM control signal CLu for the lower arm becomes narrower.
[0135] In this embodiment, when the U-phase current is negative, the duty ratio (U-phase compensation duty Du ** ) based on the U-phase compensation voltage command value Vu ** becomes the value of the triangular wave 75L for the lower arm at the crossover timing (t1 or t2), and the U-phase compensation amount Vtd_u is calculated. Since the triangular wave 75L for the lower arm also has the same period and phase as the reference triangular wave 75S, the values of the triangular wave 75L for the lower arm at the crossover timings t1 and t2 are the same as each other. Hereinafter, the value of the triangular wave 75L for the lower arm at the crossover timing t1 (or t2) will be referred to as the compensation duty β.
[0136] For example, when the compensation duty β is used as a predetermined threshold value 76 (duty ratio based on the duty command value) referred to in the PWM modulator 25 instead of the U-phase basic duty Du * , the PWM control signal CLu for the lower arm generated from the triangular wave 75L for the lower arm has a falling edge at the crossover timing t1 and a rising edge at the crossover timing t2. This is the waveform obtained by inverting the PWM waveform of the U-phase basic duty Du * . By using the compensation duty β in this way, it is possible to realize the PWM control signal CLu for the lower arm, which is the inverted waveform of the U-phase output voltage Vu(+) that is originally desired to be output.
[0137] In this embodiment, as the U-phase compensation amount Vtd_u, the difference between the compensation duty β and the U-phase basic duty Du * is calculated. More specifically, the difference (β - Du * ) of the duty ratios β and Du * converted to voltage is used as the U-phase compensation amount Vtd_u. Note that, when viewed as a duty ratio, since β is a value smaller than Du * , Vtd_u becomes negative.
[0138] When the U-phase current is negative, the U-phase compensation amount Vtd_u is calculated according to the following formula. Vtd_u = (-Vu * / Vdc) × Vdc × Td / (Tc / 2 + Td) ···(2)
[0139] Similar to the case of formula (1), the U-phase basic voltage command value Vu * is included in formula (2). Therefore, the U-phase compensation amount Vtd_u is a parameter that changes according to Vu * .
[0140] Thus, in this embodiment, the dead time compensation unit 20 calculates the U-phase compensation amount Vtd_u based on the U-phase basic voltage command value Vu * . For example, as described with reference to FIG. 5, the values of the dead time errors 78a and 78b change according to the basic voltage command value representing the basic duty (here, Vu * ), but by calculating the correction amount according to the basic voltage command value, it becomes possible to appropriately correct these dead time errors 78.
[0141] Returning to FIG. 6, when the U-phase compensation amount Vtd_u is calculated in step 104 or step 105, a U-phase compensation voltage command value Vu ** is generated (step 106). Here, the dead time compensation unit 20 generates a U-phase compensation voltage command value Vu * based on the U-phase basic voltage command value Vu ** and the U-phase compensation amount Vtd_u.
[0142] As shown in the following equation, the U-phase compensation voltage command value Vu ** is calculated by adding the U-phase compensation amount Vtd_u to the U-phase fundamental voltage command value Vu * regardless of the positive or negative of the U-phase current. Vu ** = Vu * + Vtd_u ···(3)
[0143] According to equation (3), the duty ratio (U-phase compensation duty Du ** ) based on the U-phase compensation voltage command value Vu ** becomes the compensation duty α when the U-phase current is positive and the compensation duty β when the U-phase current is negative. The U-phase compensation voltage command value Vu ** generated in step 106 is output to the PWM modulator 25. The processing up to this point is the dead time compensation processing executed by the arithmetic circuit 33.
[0144] [Operations of PWM Modulator and IPM] Next, the operations of the PWM modulator 25 and the IPM 31 will be described. After the U-phase compensation voltage command value Vu ** is generated, the IPM 31 is controlled by the PWM modulator 25 based on the U-phase compensation voltage command value Vu ** , and the U-phase output voltage Vu is output from the IPM 31.
[0145] In the PWM modulator 25, the switching operation of the upper arm 69U for the U-phase is controlled based on the triangular wave 75U for the upper arm and the U-phase compensation voltage command value Vu ** . Specifically, by comparing the triangular wave 75U for the upper arm and the U-phase compensation voltage command value Vu ** , the PWM control signal CUu for the upper arm is generated. This signal is used to control the first switching element 65u for the U-phase of the IPM 31.
[0146] Also in the PWM modulator 25, the switching operation of the lower arm 69L for the U-phase is controlled based on the triangular wave 75L for the lower arm and the U-phase compensation voltage command value Vu ** . Specifically, by comparing the triangular wave 75L for the lower arm and the U-phase compensation voltage command value Vu **By comparing with [specific conditions], the PWM control signal CLu for the lower arm is generated. This signal is used to control the second switching element 66u for the U-phase of the IPM31.
[0147] For example, as shown on the right side of FIG. 7, when the U-phase current is positive, the U-phase compensation duty Du ** becomes the compensation duty α. In this case, the count value corresponding to the U-phase compensation duty Du ** is smaller than the count value corresponding to the U-phase basic duty Du * As a result, the pulse width of the PWM control signal CUu for the upper arm widens and becomes the same as the PWM waveform of the U-phase basic duty Du * Therefore, the U-phase output voltage Vu(+) having the same waveform as the PWM control signal CUu for the upper arm also becomes the same as the PWM waveform of the U-phase basic duty Du * Thus, it becomes possible to supply the U-phase output voltage Vu(+) to the motor 30 at the voltage specified by the U-phase basic voltage command value Vu * Note that since the pulse width of the PWM control signal CLu for the lower arm widens in the same way as the PWM control signal CUu for the upper arm, the length of the dead time period Td is maintained.
[0148] Also, as shown on the right side of FIG. 8, when the U-phase current is negative, the U-phase compensation duty Du ** becomes the compensation duty β. In this case, the count value corresponding to the U-phase compensation duty Du ** is larger than the count value corresponding to the U-phase basic duty Du * As a result, the pulse width (width of the OFF period) of the PWM control signal CLu for the lower arm narrows, and the waveform obtained by inverting CLu becomes the same as the PWM waveform of the U-phase basic duty Du * Therefore, the U-phase output voltage Vu(-) having the waveform obtained by inverting the PWM control signal CLu for the lower arm also becomes the same as the PWM waveform of the U-phase basic duty Du * Thus, the U-phase basic voltage command value Vu *It becomes possible to supply the U-phase output voltage Vu(−) to the motor 30 at the voltage specified. Note that since the pulse width of the PWM control signal CUu for the upper arm becomes narrow in the same manner as the PWM control signal CLu for the lower arm, the length of the dead time period Td is maintained.
[0149] Here, the relationship between the U-phase compensation amount Vtd_u and the U-phase basic voltage command value Vu * will be described. For example, when the value of the U-phase basic voltage command value Vu * is large, the U-phase basic duty Du * approaches 100%. In a state where Du * is close to 100%, the polarity of the U-phase current is typically positive (see FIG. 12). In this case, as shown on the left side of FIG. 7, the larger the value of the U-phase basic voltage command value Vu * is (the closer it is to the minimum value of the reference triangular wave 75S), the narrower the horizontal axis direction (time direction) interval between the reference triangular wave 75S and the upper arm triangular wave 75U becomes, so the dead time error 78a becomes smaller.
[0150] On the other hand, when the value of the U-phase basic voltage command value Vu * is small, the U-phase basic duty Du * approaches 0%. In a state where Du * is close to 0%, the polarity of the U-phase current is typically negative (see FIG. 12). In this case, as shown on the left side of FIG. 8, the smaller the value of the U-phase basic voltage command value Vu * is (the closer it is to the maximum value of the reference triangular wave 75S), the narrower the horizontal axis direction interval between the reference triangular wave 75S and the lower arm triangular wave 75L becomes, so the dead time error 78b becomes smaller.
[0151] In this way, in the method using the upper arm triangular wave 75U and the lower arm triangular wave 75L, the dead time error 78 becomes smaller when the U-phase basic voltage command value Vu * , which is the output command for the motor 30, is large and when it is small. For this reason, in this embodiment, control is performed to reduce the U-phase compensation amount Vtd_u as the U-phase basic duty Du * approaches 0% or 100%.
[0152] U-phase basic duty Du * When the U-phase current, which tends to increase, is positive, for example, the U-phase correction amount Vtd_u is generated according to equation (1). In this case, since the term (1 - Vu * / Vdc)=(1 - Du * ) is included, the value of the correction amount also becomes smaller. Also, when the U-phase current, which tends to decrease, is negative, for example, the U-phase correction amount Vtd_u is generated according to equation (2). In this case, since the term (-Vu * / Vdc)=(-Du * ) is included, the value of the correction amount also becomes smaller. This has the effect of suppressing the deviation that occurs between the basic voltage command value of each phase and the actually output voltage value. This point will be described later with reference to Fig. 12 and the like. *
[0153] In the explanations up to this point, the processing mainly for the U-phase has been described. However, for the V-phase and W-phase as well, by performing similar processing using the upper-arm triangular wave 75U and the lower-arm triangular wave 75L, it becomes possible to eliminate the dead-time error 78.
[0154] Fig. 9 is a schematic diagram for explaining a motor control method cited as a comparative example. In the method shown in Fig. 9, the setting range of the duty ratio is set within the range from the maximum value to the minimum value of the amplitude of the upper-arm triangular wave 80U. Specifically, the upper-arm triangular wave 80U is a triangular wave with the maximum value of the amplitude corresponding to the count value for a duty ratio of 0% and the minimum value of the amplitude corresponding to the count value for a duty ratio of 100%. Also, the lower-arm triangular wave 80L is a triangular wave obtained by shifting the upper-arm triangular wave 80U in the direction in which the count value increases. The shift amount is an amount obtained by converting the duty ratio (predetermined value A) corresponding to the dead-time period Td into a count value.
[0155] When the triangular wave 80U for the upper arm and the triangular wave 80L for the lower arm are set in this way, the PWM control signal CU for the upper arm coincides with the PWM waveform of the basic duty. Note that the PWM control signal CL for the lower arm has a wider pulse width than the PWM waveform of the basic duty. Therefore, when the phase current is positive, the dead-time error 78 does not occur, but when the phase current is negative, a certain dead-time error 78 will occur. Note that the compensation amount Vtd' for compensating the dead-time error 78 shown in FIG. 9 is calculated according to the following formula. Vtd'=-2×Vdc×Td / Tc ···(4)
[0156] Hereinafter, the temporal distribution of the dead-time error 78 that occurs when the dead-time compensation process is not executed will be compared between the method shown in FIG. 9 and the method using the triangular wave 75U for the upper arm and the triangular wave 75L for the lower arm of the present embodiment.
[0157] FIG. 10 is a graph of the phase voltage, phase current, and dead-time error in the motor control method cited as a comparative example. It shows the phase voltage, phase current, and dead-time error in this order from the top. FIG. 10 schematically shows the simulation results for one electrical angle cycle of the U-phase output voltage Vu generated by the method shown in FIG. 9. Here, the compensation process by the compensation amount Vtd' is not performed. Here, the parameter representing the dead-time error 78 is denoted as ΔVu.
[0158] In the solid line graph of the upper-phase voltage graph, the actual U-phase output voltage Vu is shown, and the dotted line graph is the U-phase basic voltage command value Vu * is. The horizontal axis of the graph is time, and the vertical axis is voltage [V]. The middle current graph represents the U-phase current Iu. The horizontal axis of the graph is time, and the vertical axis is current [A]. In the thin solid line graph of the lower dead-time error graph, the dead-time error ΔVu is shown, and the thick solid line graph is the dead-time error average |ΔVu|ave showing the average value of the absolute value of the dead-time error ΔVu. The horizontal axis of the graph is time, and the vertical axis is voltage [V]. Also, the dead-time error ΔVu is the difference between the U-phase output voltage Vu and the U-phase basic voltage command value Vu* is the difference, and the average dead time error |ΔVu|ave is obtained by averaging the absolute value of the dead time error ΔVu over the electrical angle period.
[0159] In the method shown in FIG. 9, when the U-phase current is positive, the U-phase output voltage Vu becomes the same as the U-phase fundamental voltage command value Vu without performing the compensation process, * and the desired output voltage can be obtained (the dead time error ΔVu is 0 [V]). On the other hand, when the U-phase current is negative, since the dead time error ΔVu occurs concentratedly, the U-phase output voltage Vu does not match the U-phase fundamental voltage command value Vu. * The dead time error ΔVu at this time is 2 [V], which is a large value compared to the motor control method according to the present embodiment described later. The same applies to the V-phase and W-phase. Thus, in the method shown in FIG. 9, a relatively large dead time error ΔVu (the deviation between the U-phase fundamental voltage command value Vu used for position estimation * and the actual U-phase output voltage Vu) occurs, which may reduce the accuracy of position estimation and the stability of the control of the motor 30. In particular, when the rotational speed of the motor 30 is in the low rotational speed region, the ratio of the error to the output voltage becomes large, and the control may become more unstable.
[0160] Also, in a situation where an error occurs only in the U-phase output voltage Vu when the U-phase current is negative, the average dead time error |ΔVu|ave obtained by averaging the dead time error ΔVu is 1 [V]. This is a large value compared to the motor control method according to the present embodiment described later. Also, the average dead time errors |ΔVv|ave and |ΔVw|ave for the V-phase and W-phase become large. For example, when the average dead time error |ΔVu|ave is large, it is considered that the U-phase fundamental voltage command value Vu * and the U-phase output voltage Vu are likely to deviate, and the accuracy of position estimation is likely to decrease. From this point as well, in the method shown in FIG. 9, the stability of the control of the motor 30 may decrease.
[0161] FIG. 11 is a graph of the phase voltage, phase current, and dead time error in the motor control method according to this embodiment. They are shown in the order of phase voltage, phase current, and dead time error from the top. In FIG. 11, a simulation result for one electrical angle cycle of the U-phase output voltage Vu generated using the upper arm triangular wave 75U and the lower arm triangular wave 75L described with reference to FIG. 5 and the like is schematically illustrated. Here, similar to FIG. 10, the compensation process by the U-phase compensation amount Vtd_u is not performed.
[0162] In this embodiment, dead time errors 78a and 78b (dead time error ΔVu) occur both when the U-phase current is positive and when the U-phase current is negative. Therefore, the U-phase output voltage Vu and the U-phase basic voltage command value Vu * do not match regardless of the positive or negative of the current. Note that the absolute value of the dead time error ΔVu is 1 [V] or less for most of the period corresponding to the electrical angle cycle, and at most about 1.3 [V]. Thus, in this embodiment, the dead time error ΔVu becomes relatively small, and it is possible to suppress a decrease in the accuracy of position estimation.
[0163] Also, the average dead time error |ΔVu|ave is 0.36 [V], which is sufficiently smaller than the above-described comparative example. As a result, the U-phase basic voltage command value Vu * and the actual U-phase output voltage Vu are less likely to deviate, and a decrease in the accuracy of position estimation is less likely to occur. Thus, in this embodiment, the error of the U-phase output voltage Vu due to the dead time is dispersed both when the U-phase current is positive and when it is negative, so that its value is reduced. That is, it is possible to reduce the dead time error ΔVu and the average dead time error |ΔVu|ave. This is the same for the V-phase and W-phase. As a result, it is possible to output an output voltage closer to a desired voltage compared to the comparative example. Thereby, the accuracy of position estimation is improved, and it is possible to suppress the destabilization of the control of the motor.
[0164] In FIGS. 10 and 11, the case where the dead time compensation process is not executed has been described. However, by performing the dead time compensation process, it is possible to suppress the voltage error. On the other hand, as will be described with reference to FIG. 13 and the like, even when the dead time compensation process is performed, there may be a case where the influence of the dead time error 78 remains. In the present embodiment, since the value ΔVu of the dead time error 78 can be reduced, even in a case where the influence of the dead time error 78 remains, the influence becomes small, and it is possible to sufficiently suppress the destabilization of the motor control.
[0165] FIG. 12 is a schematic diagram showing the relationship between the phase current and the phase voltage. In FIG. 12, a graph showing the waveforms of the phase current and the phase voltage for one cycle in the electrical angle period is schematically illustrated. Here, the phases of the phase current and the phase voltage are shifted. This state represents the typical phase relationship between the phase current and the phase voltage when controlling the motor 30. In this case, the phase difference between the waveforms is, for example, 90 degrees or less.
[0166] As shown in FIG. 12, when the phase voltage is large, basically the phase current is positive, and when the phase voltage is small, basically the phase current is negative. That is, when the phase voltage is large, mainly the compensation amount shown by equation (1) is used, and when the phase voltage is small, mainly the compensation amount shown by equation (2) is used.
[0167] Here, the compensation amount Vtd' used in the comparative example shown in FIG. 9 and the compensation amount Vtd used in the present embodiment are specifically compared for the cases where the phase voltage is large and small. Hereinafter, as the case where the phase voltage is large, the basic duty D * is taken as an example of 70%, and as the case where the phase voltage is small, the basic duty D * is taken as an example of 30% and described.
[0168] First, the compensation amount Vtd according to the present embodiment is calculated. When the basic duty D * = 70%, assuming that the phase current is positive, the compensation amount Vtd is calculated as follows using equation (1). Vtd=(1 - 0.7)×Vdc×Td / (Tc / 2 + Td) = 0.6 × Vdc × Td / Tc ···(5-1) Here, in the transformation from the first stage to the second stage, assuming that the dead time period Td is sufficiently small with respect to the carrier frequency Tc, an approximation of 1 / (Tc / 2 + Td) = 2 / Tc is made. Similarly, for the basic duty D * = 30%, assuming that the phase current is negative, the compensation amount Vtd is calculated as follows using Equation (2). Vtd = (-0.3) × Vdc × Td / (Tc / 2 + Td) = -0.6 × Vdc × Td / Tc ···(5-2) In this case, the magnitude of Vtd is expressed as (0.6 × Vdc × Td / Tc).
[0169] Next, the compensation amount Vtd' used in the comparative example shown in FIG. 9 is calculated. For the basic duty D * = 70%, the phase current is positive. In this case, since no dead time error 78 occurs in FIG. 9, the compensation amount Vtd' = 0. On the other hand, for the basic duty D * = 30%, assuming that the phase current is negative, the compensation amount Vtd' is calculated as follows using Equation (4). Vtd' = -2 × Vdc × Td / Tc ···(6) Note that since the compensation amount Vtd' is a constant as described above, the same value is obtained for other duty ratios. In this case, the magnitude of Vtd' is expressed as (2 × Vdc × Td / Tc).
[0170] Thus, it can be seen that when the phase voltage is large or small, the compensation amount Vtd according to the present embodiment is 1 / 3 or less in magnitude compared to the compensation amount Vtd' according to the comparative example, and is a sufficiently small value.
[0171] FIG. 13 is a schematic diagram for explaining the deviation of the dead time period. Below FIG. 13, together with the PWM control signal CU for the upper arm and the PWM control signal CL for the lower arm, the switching operations of the upper arm 69U and the lower arm 69L are illustrated by thick dotted lines.
[0172] For example, the switching elements (the first switching elements 65u, 65v, 65w) of the upper arm 69U switch from OFF to ON with a slight delay from the timing when the PWM control signal CU for the upper arm rises. Also, it takes a certain amount of time for the voltage to rise from the OFF state until it completely reaches the ON state. Similarly, the switching elements (the second switching elements 66u, 66v, 66w) of the lower arm 69L switch from ON to OFF with a slight delay from the timing when the PWM control signal CL for the lower arm falls. In this case as well, it takes a certain amount of time to completely turn OFF. Here, the dead time period Td in the first half of the cycle has been described, but the switching timing is similarly delayed for the dead time period Td in the second half.
[0173] Thus, there is a delay from when the PWM control signal is output to the switching elements of each arm until the switching elements actually perform the switching operation. Note that the degree of delay varies due to individual differences in circuit elements.
[0174] Therefore, as shown in FIG. 13, the actual length and insertion timing of the dead time period Td do not necessarily match the set value of the dead time period Td determined by the PWM control signal CU for the upper arm and the PWM control signal CL for the lower arm. That is, there is a deviation between the dead time period Td set in terms of control and the actual dead time period Td. Hereinafter, the deviation amount of the dead time period will be denoted as Δ. The deviation amount Δ affects the accuracy of the dead time compensation process.
[0175] For example, the correction amount Vtd calculated from equations (5-1) and (5-2) is proportional to 0.6×Td. Here, since the dead time period Td includes the deviation amount Δ, the correction amount Vtd is proportional to 0.6×(Td + Δ). Therefore, 0.6×Δ becomes the error of the correction amount Vtd associated with the deviation amount Δ. On the other hand, the correction amount Vtd' according to the comparative example calculated from equation (6) is proportional to 2×Td, but considering the deviation amount Δ of the dead time period Td, it is proportional to 2×(Td + Δ). Therefore, 2×Δ becomes the error of the correction amount Vtd' associated with the deviation amount Δ.
[0176] Thus, in this embodiment, since the correction amount Vtd is relatively small, the influence of the deviation amount Δ of the dead time period Td also becomes small. For example, compared with the comparative example, the error of the correction amount Vtd associated with the deviation amount Δ becomes 1 / 3 or less. Therefore, it becomes possible to accurately calculate the correction amount Vtd, and it becomes possible to sufficiently eliminate the dead time error 78. As a result, it becomes possible to realize stable and highly accurate motor control.
[0177] As described above, in the motor control device 100 according to this embodiment, the upper arm triangular wave 75U is used to control the switching operation of the upper arm 69U of the IPM31, and the lower arm triangular wave 75L is used to control the switching operation of the lower arm 69L. The upper arm triangular wave 75U corresponds to a duty ratio of A% or more and 100% or less, and the lower arm triangular wave 75L corresponds to a duty ratio of 0% or more and (100 - A)% or less. As a result, for example, both the period during which the upper arm 69U is turned ON and the period during which the lower arm 69L is turned OFF deviate from the period corresponding to the duty command value (the compensation voltage command value in this embodiment). Therefore, when the dead time is set, an error occurs in the output voltage of the IPM31 regardless of the polarity of the phase current flowing through the motor 30. Note that the magnitude of the error becomes smaller as the basic voltage command value, which is the command value of the output voltage, approaches the upper limit or the lower limit. In this way, regarding the error of the output voltage generated by setting the dead time, it becomes possible to disperse the period during which the error occurs and to reduce the magnitude of the error, and it becomes possible to suppress the destabilization of motor control.
[0178] For example, in the motor control method described with reference to FIG. 9, a relatively large dead time error 78 (ΔVu) occurs only when the phase current is negative. Also, since the compensation amount for compensating the dead time error 78 is large, for example, the error of the compensation amount itself due to the influence of the error (deviation amount Δ) of the dead time period Td becomes large. Therefore, the accuracy of the dead time compensation process decreases, and there is a possibility of degrading the stability and efficiency of motor control.
[0179] In this embodiment, the upper-arm triangular wave 75U and the lower-arm triangular wave 75L are used to generate the upper-arm PWM control signal CU and the lower-arm PWM control signal CL. The range of the combined amplitudes of the upper-arm triangular wave 75U and the lower-arm triangular wave 75L (the range from the minimum value of the upper-arm triangular wave 75U to the maximum value of the lower-arm triangular wave 75L) falls within the range where the duty ratio is 0% or more and 100% or less.
[0180] By setting each triangular wave 75U and 75L in this way, symmetrical dead-time errors 78a and 78b will appear when the phase current is positive and negative (see FIGS. 5 and 11, etc.). Therefore, for example, even when the influence of the dead-time error 78 due to the deviation amount Δ of the dead-time period Td remains, the timing at which the dead-time error 78 occurs is dispersed and the value ΔVu of the dead-time error 78 becomes small, so its influence can be reduced. As a result, it is possible to suppress the destabilization of motor control and also to suppress the generation of noise and vibration.
[0181] Also, in the method shown in FIG. 9, the compensation amount Vtd' was a constant. For example, when the value obtained by converting the compensation amount Vtd' into a count value exceeds the shift amount (the value obtained by converting a predetermined value A% into a count value), there is a possibility that a duty command value exceeding the outputtable duty range will be generated. In contrast, in this embodiment, by using the compensation amount Vtd calculated according to formula (1) or (2), it is possible to realize a dead-time compensation process that does not exceed the outputtable duty range.
[0182] <Other Embodiments> The present invention is not limited to the embodiments described above, and various other embodiments can be realized.
[0183] In the above embodiment, the switching operation of the IPM 31 was controlled using the upper-arm triangular wave 75U and the lower-arm triangular wave 75L over the entire period of motor control. For example, the control using the upper-arm triangular wave 75U and the lower-arm triangular wave 75L may be switched according to the rotational speed of the motor or the like.
[0184] For example, the PWM modulator 25 may control the switching operations of the upper arm 69U and the lower arm 69L using the upper arm triangular wave 75U and the lower arm triangular wave 75L, at least in a low rotation speed region where the rotation speed of the motor 30 is lower than a predetermined rotation speed. In this case, in the low rotation speed region, the PWM control signal is generated by generating the upper arm triangular wave 75U and the lower arm triangular wave 75L shown in FIG. 5 and the like. On the other hand, in the high rotation speed region other than the low rotation speed region, the PWM control signal is generated by generating triangular waves of a different type from the upper arm triangular wave 75U and the lower arm triangular wave 75L (for example, the triangular waves 80U and 80L described with reference to FIG. 9 and the like). Note that the arithmetic circuit 33 also appropriately switches the content of the dead time compensation process according to the characteristics of the triangular wave used. This enables stable control of the motor 30 in the low rotation speed region where the ratio of error to output voltage becomes large.
[0185] Up to this point, the reference voltage command value (U-phase basic voltage command value Vu * , V-phase basic voltage command value Vv * , W-phase basic voltage command value Vw * ) and the compensation voltage command value (U-phase compensation voltage command value Vu ** , V-phase compensation voltage command value Vv ** , W-phase compensation voltage command value Vw ** ) is used in the above description. However, the present invention is not limited to this, and a parameter representing a duty ratio, rather than a voltage, may be used as a parameter for specifying the output voltage.
[0186] For example, instead of the basic voltage command value and the compensation voltage command value, the basic duty D * and compensation duty D ** In this case, the compensation amount Dtd expressed as a duty ratio is used as the compensation amount for the dead time error.
[0187] For example, when the phase current is positive, the compensation amount Dtd is calculated according to the following formula. Dtd=(100-D* ) × Td / (Tc / 2 + Td) ··· (7) Also, when the phase current is negative, the compensation amount Dtd is calculated according to the following formula. Dtd = (-D * ) × Td / (Tc / 2 + Td) ··· (8)
[0188] In equations (7) and (8), the basic duty D * is a parameter in % notation where 0% ≤ D * ≤ 100%. Tc is the carrier period and is the reciprocal of the carrier frequency Fc (Tc = 1 / Fc). Note that equations (7) and (8) are rewritten forms of the above-mentioned equations (1) and (2). Also, the compensation duty D ** is calculated by adding the compensation amount Dtd to the basic duty D * (D ** = D * + Dtd). Thus, stable motor control using the basic duty D * and the compensation duty D ** becomes possible.
[0189] In the above embodiment, the case where the correlation between the duty ratio and the count value is mainly a negative correlation has been mainly described. However, it is not limited to this, and the correlation between the duty ratio and the count value may be a positive correlation.
[0190] In this case, for example, the graph of the triangular wave shown in FIG. 5 is used with the top and bottom reversed. Therefore, the lower arm triangular wave 75L is arranged below the upper arm triangular wave 75U. Also, the upper arm PWM control signal CU is generated to be ON when the count value of the upper arm triangular wave 75U is smaller than a predetermined threshold value 76 and OFF when it is larger than the predetermined threshold value 76. Also, the lower arm PWM control signal CL is generated to be OFF when the count value of the lower arm triangular wave 75L is smaller than a predetermined threshold value 76 and ON when it is larger than the predetermined threshold value 76. Even in this case, the same effect as in the case of negative correlation can be obtained.
[0191] In the above embodiment, a method for controlling an inverter (IPM31) by executing dead time compensation processing has been described. For example, the inverter may be controlled without executing the dead time compensation processing.
[0192] When the dead time compensation processing is not executed, the basic voltage command value (or basic duty) is output as it is to the PWM modulator 25 as the duty command value. Also, in the PWM modulator 25, a PWM control signal is generated by comparing the basic voltage command value (or basic duty) with the upper arm triangular wave 75U and the lower arm triangular wave 75L shown in FIG. 5 and the like.
[0193] In this case, since the dead time compensation processing is not executed, dead time errors 78a and 78b occur, but they are dispersed and reduced over the entire electrical angle cycle regardless of the polarity of the phase current. Therefore, it is possible to sufficiently suppress the destabilization of motor control and the like. Also, due to the function of reducing the dead time error 78, it is possible to suppress the influence of factors such as the deviation amount Δ and suppress the generation of noise and vibration.
[0194] Among the characteristic parts according to the present invention described above, it is also possible to combine at least two characteristic parts. That is, the various characteristic parts described in each embodiment may be arbitrarily combined regardless of the distinction of each embodiment. Also, the various effects described above are merely examples and are not limiting, and other effects may be exhibited.
Explanation of Signs
[0195] Td... Dead time period t1, t2... Crossing timings 20... Dead time compensation unit 30... Motor 33... Arithmetic circuit 25... PWM modulator 35... IPM 62... Leg 69U... Upper arm 69L... Lower arm 75U... Upper arm triangular wave 75L... Lower arm triangular wave 75S…Reference triangular wave 78, 78a, 78b…Dead time error 100…Motor control device
Claims
1. In an inverter having a plurality of legs each having an upper arm and a lower arm and controlling a motor by PWM control, a motor control device that controls the switching operations of the upper arm and the lower arm and supplies an output voltage of a PWM waveform from the plurality of legs to the motor, a command value generation unit that generates a duty command value representing a duty ratio corresponding to a command value of the output voltage; With a positive predetermined value A smaller than 100 as A, based on a first triangular wave corresponding to a duty ratio of A% or more and 100% or less and the duty command value, controls the switching operation of the upper arm, and based on a second triangular wave corresponding to a duty ratio of 0% or more and (100 - A)% or less and the duty command value, an inverter control unit that controls the switching operation of the lower arm A motor control device comprising.
2. The motor control device according to claim 1, wherein the predetermined value A is a value obtained by expressing the period of dead time for avoiding a state in which the upper arm and the lower arm are simultaneously turned on as a duty ratio A motor control device.
3. The motor control device according to claim 2, The command value generation unit generates a basic command value representing the output voltage based on the speed command of the motor, calculates a compensation amount for eliminating an error in the duty ratio of the output voltage caused by setting the dead time when using the basic command value as the duty command value, and generates the duty command value based on the basic command value and the compensation amount A motor control device.
4. The motor control device according to claim 3, The command value generation unit calculates the compensation amount based on the basic command value A motor control device.
5. The motor control device according to claim 3, The command value generation unit reduces the compensation amount as the duty ratio based on the basic command value approaches 0% or 100% A motor control device.
6. The motor control device according to claim 3, The command value generation unit acquires the value of the phase current flowing through the motor connected to the inverter, Taking the timing at which a third triangular wave corresponding to a duty ratio of 0% or more and 100% or less intersects with the duty ratio based on the basic command value as the intersection timing, when the phase current is positive, calculating the compensation amount such that the duty ratio based on the duty command value becomes the value of the first triangular wave at the intersection timing; when the phase current is negative, calculating the compensation amount such that the duty ratio based on the duty command value becomes the value of the second triangular wave at the intersection timing Motor control device
7. The motor control device according to any one of claims 1 to 6, wherein the inverter control unit controls the switching operations of the upper arm and the lower arm using the first triangular wave and the second triangular wave, at least in a low rotation region where the rotation speed of the motor is lower than a predetermined rotation speed Motor control device
8. In an inverter having a plurality of legs each having an upper arm and a lower arm and controlling a motor by PWM control, a motor control method for controlling the switching operations of the upper arm and the lower arm and supplying an output voltage of a PWM waveform from the plurality of legs to the motor, comprising: generating a duty command value which is a duty ratio corresponding to a command value of the output voltage using a first triangular wave corresponding to a duty ratio of more than 0% and less than or equal to 100% and the duty command value, controlling the switching operation of the upper arm, and using a second triangular wave corresponding to a duty ratio of 0% or more and less than or equal to (100 - A)% and the duty command value, controlling the switching operation of the lower arm, where A is a positive predetermined value less than 100 Motor control method
Citation Information
Patent Citations
Control device for motor
JP2015211487A