Motor control device

The control device addresses controllability issues in electric motors by using proportional and integral control to adjust d-axis current command values, reducing voltage saturation and pulsations, thereby improving motor performance.

JP7600967B2Active Publication Date: 2024-12-17TOYOTA INDUSTRIES CORP
View PDF 10 Cites 0 Cited by

Patent Information

Application Number
JP2021187605
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2021-11-18
Publication Date
2024-12-17
Estimated Expiration
2041-11-18

AI Technical Summary

Technical Problem

Existing electric motor control devices suffer from deteriorating controllability due to pulsations in the d-axis current command value caused by voltage saturation, particularly when integral control is used, leading to errors that persist and affect motor performance.

Method used

The control device incorporates an inverter circuit, current converter, and adjustment units to manage d-axis current command values through proportional and integral control, adjusting the d-axis current command value using feedback control to minimize voltage saturation, thereby reducing pulsations and improving controllability.

Benefits of technology

This approach effectively suppresses pulsations in the d-axis current command value, enhancing the controllability of the electric motor by minimizing the impact of voltage saturation errors, especially at varying rotation speeds.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007600967000008
    Figure 0007600967000008
  • Figure 0007600967000009
    Figure 0007600967000009
  • Figure 0007600967000010
    Figure 0007600967000010
Patent Text Reader

Abstract

To prevent controllability of a motor from degrading.SOLUTION: A motor control device outputs a voltage limit value Vth as a voltage command value V** in a case where a voltage command value Vdq* is larger than the voltage limit value Vth obtained by multiplying an input voltage Vin input to an inverter circuit 2 and a modulation factor M1, outputs the voltage command value Vdq* as the voltage command value V** in a case where the voltage command value Vdq* is less than or equal to the voltage limit value Vth, and adjusts a d-axis current command value Id* by proportional control such that a voltage saturation amount Vs, which is a difference between a value obtained by multiplying a modulation factor M2 smaller than the modulation factor M1 and a maximum voltage command value Vm obtained by the input voltage Vin and the voltage command value Vdq*, is small.SELECTED DRAWING: Figure 1
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present invention relates to a control device for controlling the operation of an electric motor. [Background technology]

[0002] There is a motor control device that, when a voltage command value based on the difference between the current flowing through the motor and a current command value is equal to or less than a voltage limit value, controls the operation of the motor according to the voltage command value and decreases a d-axis current command value in a negative direction according to the voltage command value, and, when the voltage command value is greater than the voltage limit value, controls the operation of the motor according to the voltage limit value and increases the d-axis current command value in a negative direction according to the voltage command value.

[0003] However, in the above-mentioned control device, when the d-axis current command value is adjusted by integral control, the influence of errors that occurred in the past remains in the d-axis current command value, which may cause the d-axis current command value to pulsate (hunt), resulting in reduced controllability of the motor. [Prior art documents] [Non-patent literature]

[0004] [Non-Patent Document 1] Jun Matsumoto, Masaru Hasegawa, "Verification of Feedback-Type Flux-Weakening Control Using Voltage Saturation in the Current Control System of PMSM", Proceedings of the 2016 Industrial Applications Conference of the Institute of Electrical Engineers of Japan, August 30, 2016, 3-46, III-263 Summary of the Invention [Problem to be solved by the invention]

[0005] An object according to one aspect of the present invention is to provide a control device for an electric motor that is capable of suppressing a decrease in controllability of the electric motor. [Means for solving the problem]

[0006] An electric motor control device according to one embodiment of the present invention includes an inverter circuit, a current conversion unit, a current command value output unit, a voltage command value calculation unit, a voltage command value conversion unit, a limiting unit, and an adjusting unit.

[0007] The inverter circuit drives an electric motor based on a result of comparison between a voltage value of a carrier wave and a voltage command value.

[0008] The current converter converts the current flowing through the motor into a d-axis current and a q-axis current.

[0009] The current command value output unit outputs a d-axis current command value and a q-axis current command value based on a difference between the rotation speed of the electric motor and a rotation speed command value.

[0010] The voltage command value calculation unit calculates a d-axis voltage command value so as to reduce a difference between the d-axis current and the d-axis current command value, and calculates a q-axis voltage command value so as to reduce a difference between the q-axis current and the q-axis current command value.

[0011] The voltage command value conversion unit converts the d-axis voltage command value and the q-axis voltage command value into pre-limitation voltage command values.

[0012] When the pre-limitation voltage command value is greater than a voltage limit value obtained by multiplying the voltage input to the inverter circuit by a first modulation factor, the limiting unit outputs the voltage limit value as the voltage command value to be compared with the voltage value of the carrier wave, and when the pre-limitation voltage command value is equal to or less than the voltage limit value, the limiting unit outputs the pre-limitation voltage command value as the voltage command value to be compared with the voltage value of the carrier wave.

[0013] The adjustment unit adjusts the d-axis current command value by proportional control so that a voltage saturation amount, which is the difference between a value obtained by multiplying a second modulation rate smaller than the first modulation rate and a maximum voltage command value determined by the voltage input to the inverter circuit and the pre-limitation voltage command value, becomes small.

[0014] In this way, since the d-axis current command value is adjusted by proportional control, it is possible to prevent the influence of an error contained in the voltage saturation amount calculated at a control timing prior to the current control timing from remaining in the d-axis current command value adjusted at the current control timing, thereby suppressing pulsation of the d-axis current command value and preventing a decrease in controllability of the motor.

[0015] The adjustment unit may be configured to adjust the d-axis current command value by integral control so as to reduce the amount of voltage saturation when the rotation speed is equal to or lower than a threshold value, and to adjust the d-axis current command value by proportional control so as to reduce the amount of voltage saturation when the rotation speed is greater than the threshold value.

[0016] As a result, when the rotation speed is relatively low and the d-axis current command value is unlikely to pulsate even when it is adjusted by integral control, the steady-state error that occurs during feedback control by proportional control can be prevented from being included in the d-axis current command value, thereby improving the controllability of the motor.

[0017] Furthermore, the adjustment unit may be configured to adjust the d-axis current command value by integral control so as to reduce the amount of voltage saturation when the rotation speed is equal to or lower than a threshold value or when an amplitude value of the pulsation of the d-axis current or the d-axis current command value is equal to or lower than a predetermined value, and to adjust the d-axis current command value by proportional control so as to reduce the amount of voltage saturation when the rotation speed is greater than the threshold value and the amplitude value of the pulsation of the d-axis current or the d-axis current command value is greater than the predetermined value.

[0018] As a result, when the rotation speed is relatively low and the d-axis current command value is unlikely to pulsate even when it is adjusted by integral control, the steady-state error that occurs during feedback control by proportional control can be prevented from being included in the d-axis current command value, thereby improving the controllability of the motor. Effect of the Invention

[0019] According to the present invention, it is possible to suppress deterioration in controllability of the electric motor. [Brief description of the drawings]

[0020] [Figure 1] FIG. 1 is a diagram illustrating an example of a control device for an electric motor according to an embodiment. [Diagram 2] FIG. 4 is a diagram showing an example of modulation factors M1 to M3. [Diagram 3] FIG. 4 illustrates an example of an adjustment unit and a restriction unit. [Figure 4] FIG. 4 is a diagram illustrating another example of the motor control device according to the embodiment. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0021] Hereinafter, the embodiments will be described in detail with reference to the drawings.

[0022] FIG. 1 is a diagram illustrating an example of a control device for an electric motor according to an embodiment.

[0023] 1 controls the operation of an electric motor M mounted on a vehicle such as an electric forklift or a plug-in hybrid vehicle, and includes an inverter circuit 2 and a control circuit 3. The electric motor M is, for example, a surface permanent magnetic synchronous motor.

[0024] The inverter circuit 2 drives the motor M with power supplied from a power source P, and includes a capacitor C, switching elements SW1 to SW6 (for example, IGBTs (Insulated Gate Bipolar Transistors)), and current sensors Se1 and Se2. That is, one terminal of the capacitor C is connected to the positive terminal of the power source P and the collector terminals of the switching elements SW1, SW3, and SW5, and the other terminal of the capacitor C is connected to the negative terminal of the power source P and the emitter terminals of the switching elements SW2, SW4, and SW6. A connection point between the emitter terminal of the switching element SW1 and the collector terminal of the switching element SW2 is connected to a U-phase input terminal of the motor M via the current sensor Se1. A connection point between the emitter terminal of the switching element SW3 and the collector terminal of the switching element SW4 is connected to a V-phase input terminal of the motor M via the current sensor Se2. A connection point between the emitter terminal of the switching element SW5 and the collector terminal of the switching element SW6 is connected to a W-phase input terminal of the motor M.

[0025] The capacitor C smoothes the input voltage Vin that is output from the power supply P and input to the inverter circuit 2.

[0026] The switching element SW1 is turned on or off based on a drive signal S1 output from the control circuit 3. The switching element SW2 is turned on or off based on a drive signal S2 output from the control circuit 3. The switching element SW3 is turned on or off based on a drive signal S3 output from the control circuit 3. The switching element SW4 is turned on or off based on a drive signal S4 output from the control circuit 3. The switching element SW5 is turned on or off based on a drive signal S5 output from the control circuit 3. The switching element SW6 is turned on or off based on a drive signal S6 output from the control circuit 3. By turning on or off the switching elements SW1 to SW6, respectively, the input voltage Vin is converted into three AC voltages whose phases differ from each other by 120 degrees, and these AC voltages are applied to the input terminals of the U phase, V phase, and W phase of the electric motor M, and the rotor of the electric motor M rotates.

[0027] The current sensor Se1 is configured with a Hall element, a shunt resistor, etc., and detects a U-phase current Iu flowing through the U-phase of the electric motor M and outputs the detected current to the control circuit 3. In addition, the current sensor Se2 is configured with a Hall element, a shunt resistor, etc., and detects a V-phase current Iv flowing through the V-phase of the electric motor M and outputs the detected current to the control circuit 3.

[0028] The control circuit 3 includes a storage unit 4, a drive circuit 5, and a calculation unit 6.

[0029] The storage unit 4 is configured with a RAM (Random Access Memory) or a ROM (Read Only Memory), etc. The storage unit 4 also stores a modulation factor M1 (first modulation factor) and a modulation factor M2 (second modulation factor), etc., which will be described later.

[0030] Fig. 2 is a diagram showing an example of modulation factors M1 to M3. The horizontal axis of the two-dimensional coordinate system shown in Fig. 2 indicates the rotor position, and the vertical axis indicates the modulation factor indicating the ratio of the voltage command value to the voltage input to the inverter circuit 2. The solid line shown in Fig. 2 indicates the actual modulation factor. The modulation factor M1, modulation factor M2, and modulation factor M3 (third modulation factor) shown in Fig. 2 are calculated in advance by experiments, simulations, etc. The modulation factor calculated using the voltage command value and the input voltage is defined as the actual modulation factor.

[0031] 2 is calculated by the following formula 1. Note that Vd* is the d-axis voltage command value Vd* output from the voltage command value calculation unit 15, Vq* is the q-axis voltage command value Vq* output from the voltage command value calculation unit 15, and Vin is the input voltage Vin input to the inverter circuit 2.

[0032]

number

[0033] 2 is calculated by the following formula 2. The fluctuation range of the actual modulation rate differs depending on the specifications of the motor M, the inverter circuit 2, and the control of the motor M, and is a value measured when five factors, namely, the frequencies of the U-phase carrier wave, the V-phase carrier wave, and the W-phase carrier wave, the input voltage Vin, the gain of the PI control in the voltage command value calculation unit 15 or the adjustment current command value calculation unit 122 described later, the modulation method of the motor M, and the analog-digital conversion method of the U-phase current Iu and the V-phase current Iv, are in relatively poor conditions.

[0034]

number

[0035] Moreover, the modulation factor M3 shown in FIG. 2 is the maximum modulation factor that the actual modulation factor can attain.

[0036] 2 is calculated to be smaller than the modulation factor M1. For example, when the actual modulation factor is equal to or smaller than the modulation factor M1, the modulation factor M2 is calculated by multiplying the modulation factor M3 by a coefficient k, and when the actual modulation factor is greater than the modulation factor M1, the modulation factor M2 is calculated by subtracting the amplitude value of the actual modulation factor from the modulation factor M1. Alternatively, when the maximum value of the fluctuation range of the voltage command value Vdq* is equal to or smaller than a voltage limit value Vth (described later), the modulation factor M2 is calculated by multiplying the modulation factor M3 by a coefficient k, and when the maximum value of the fluctuation range of the voltage command value Vdq* is greater than a voltage limit value Vth (described later), the modulation factor M2 is calculated by subtracting the amplitude value of the actual modulation factor from the modulation factor M1.

[0037] The coefficient k is set to, for example, 1 to 0.9. If modulation factor M3≦modulation factor M2 is satisfied, the flux weakening will not operate. Considering the case where unexpected control occurs and flux weakening will not operate, the coefficient k is set with the aim of providing a margin for modulation factor M2 so that modulation factor M3>modulation factor M2. By setting the coefficient k to 0.9≦K≦1, it is possible to set the modulation factor M2 to a value slightly smaller than the modulation factor M3, not just when modulation factor M2=modulation factor M3.

[0038] By calculating the modulation factor M2 in this manner, it is possible to change the modulation factor M2 to an appropriate value so that the modulation factor M2 is less than the modulation factor M1.

[0039] 1 is configured with an IC (Integrated Circuit) and the like, and compares a voltage command value V** (first voltage command value) output from the calculation unit 6 with the voltage value of a U-phase carrier wave, and outputs the comparison result as pulsed drive signals S1 and S2. The drive circuit 5 also compares the voltage command value V** with the voltage value of a V-phase carrier wave, and outputs the comparison result as pulsed drive signals S3 and S4. The drive circuit 5 also compares the voltage command value V** with the voltage value of a W-phase carrier wave, and outputs the comparison result as pulsed drive signals S5 and S6. The U-phase carrier wave, the V-phase carrier wave, and the W-phase carrier wave are triangular waves, sawtooth waves, reverse sawtooth waves, or the like, and are out of phase with each other by 120 degrees. For example, when the voltage command value V** is equal to or greater than the voltage value of the U-phase carrier, the drive circuit 5 outputs a high-level drive signal S1 to the gate terminal of the switching element SW1 and outputs a low-level drive signal S2 to the gate terminal of the switching element SW2. When the voltage command value V** is smaller than the voltage value of the U-phase carrier, the drive circuit 5 outputs a low-level drive signal S1 to the gate terminal of the switching element SW1 and outputs a high-level drive signal S2 to the gate terminal of the switching element SW2. When the voltage command value V** is equal to or greater than the voltage value of the V-phase carrier, the drive circuit 5 outputs a high-level drive signal S3 to the gate terminal of the switching element SW3 and outputs a low-level drive signal S4 to the gate terminal of the switching element SW4. When the voltage command value V** is smaller than the voltage value of the V-phase carrier, the drive circuit 5 outputs a low-level drive signal S3 to the gate terminal of the switching element SW3 and outputs a high-level drive signal S4 to the gate terminal of the switching element SW4. Furthermore, when the voltage command value V** is equal to or greater than the voltage value of the W-phase carrier wave, the drive circuit 5 outputs a high-level drive signal S5 to the gate terminal of the switching element SW5 and a low-level drive signal S6 to the gate terminal of the switching element SW6. Furthermore, when the voltage command value V** is smaller than the voltage value of the W-phase carrier wave, the drive circuit 5 outputs a low-level drive signal S5 to the gate terminal of the switching element SW5 and a high-level drive signal S6 to the gate terminal of the switching element SW6.

[0040] In addition, the modulation method of motor M when the voltage command value V** fluctuates within a range from the minimum to maximum voltage values ​​of the U-phase carrier wave, the V-phase carrier wave, and the W-phase carrier wave, and when switching elements SW1, SW3, and SW5 (or switching elements SW2, SW4, and SW6) are repeatedly turned on and off during the control period of motor M, is defined as a sine wave modulation method.

[0041] In addition, the modulation method of the motor M when the voltage command value V** is greater than the maximum value of the U-phase carrier wave, the V-phase carrier wave, and the W-phase carrier wave, and when two of the switching elements SW1, SW3, and SW5 (or the switching elements SW2, SW4, and SW6) are repeatedly turned on and off during the control period of the motor M, and the remaining switching elements are always on or off, is defined as a two-phase modulation method.

[0042] The calculation unit 6 is configured by a microcomputer or the like, and includes a current conversion unit 7, an estimation unit 8, a subtraction unit 9, a torque command value calculation unit 10, a current command value output unit 11, an adjustment unit 12, a subtraction unit 13, a subtraction unit 14, a voltage command value calculation unit 15, a voltage command value conversion unit 16, and a limiting unit 17. For example, the microcomputer executes a program stored in the storage unit 4 to realize the current conversion unit 7, the estimation unit 8, the subtraction unit 9, the torque command value calculation unit 10, the current command value output unit 11, the adjustment unit 12, the subtraction unit 13, the subtraction unit 14, the voltage command value calculation unit 15, the voltage command value conversion unit 16, and the limiting unit 17.

[0043] The current converter 7 determines a W-phase current Iw flowing through the W-phase of the electric motor M, using the U-phase current Iu detected by the current sensor Se1 and the V-phase current Iv detected by the current sensor Se2.

[0044] Further, the current converter 7 converts the U-phase current Iu, the V-phase current Iv, and the W-phase current Iw into a d-axis current Id (a current component for generating a weakening magnetic flux in the motor M) and a q-axis current Iq (a current component for generating a torque in the motor M) using the rotor position θ^ of the motor M estimated by the estimator 8. For example, the current converter 7 converts the U-phase current Iu, the V-phase current Iv, and the W-phase current Iw into the d-axis current Id and the q-axis current Iq using a conversion matrix C1 shown in the following formula 3.

[0045]

number

[0046] The currents detected by the current sensors Se1 and Se2 are not limited to the combination of the U-phase current Iu and the V-phase current Iv, but may be the combination of the V-phase current Iv and the W-phase current Iw, or the combination of the U-phase current Iu and the W-phase current Iw. When the V-phase current Iv and the W-phase current Iw are detected by the current sensors Se1 and Se2, the current converter 7 determines the U-phase current Iu using the V-phase current Iv and the W-phase current Iw. When the U-phase current Iu and the W-phase current Iw are detected by the current sensors Se1 and Se2, the current converter 7 determines the V-phase current Iv using the U-phase current Iu and the W-phase current Iw.

[0047] In addition, if the inverter circuit 2 further includes, in addition to the current sensors Se1 and Se2, a current sensor Se3 that detects the current flowing through the W phase of the motor M, the current conversion unit 7 may be configured to convert the U-phase current Iu, V-phase current Iv, and W-phase current Iw detected by the current sensors Se1 to Se3 into the d-axis current Id and the q-axis current Iq using the position θ^ estimated by the estimation unit 8.

[0048] The estimation unit 8 estimates the position θ^ and rotation speed ω^ of the rotor of the electric motor M using the d-axis current Id and q-axis current Iq output from the current conversion unit 7. For example, the estimation unit 8 calculates the rotation speed ω^ using the voltage equation shown in the following formula 4, and calculates the position θ^ by multiplying the calculated rotation speed ω^ by a predetermined time (such as the operating clock of the calculation unit 6). Here, Vd is the d-axis voltage command value Vd* output from voltage command value calculation unit 15, Vq is the q-axis voltage command value Vq* output from voltage command value calculation unit 15, R is the resistance component of motor M, p is the differential operator, Ld is the d-axis inductance of motor M, Lq is the q-axis inductance of motor M, Id is the d-axis current Id output from current conversion unit 7 or the d-axis current command value Id* output from current command value output unit 11, Iq is the q-axis current Iq output from current conversion unit 7 or the q-axis current command value Iq* output from current command value output unit 11, and Ke is the induced voltage constant.

[0049]

number

[0050] The subtractor 9 calculates the rotation speed difference Δω between the rotation speed command value ω* input from the outside and the rotation speed ω^ estimated by the estimator 8.

[0051] The torque command value calculation unit 10 calculates the torque command value T* by using the rotation speed difference Δω output from the subtraction unit 9. For example, the torque command value calculation unit 10 refers to information (not shown) stored in the storage unit 4, in which the rotation speed of the rotor of the electric motor M and the torque of the electric motor M are associated with each other, and determines, as the torque command value T*, the torque corresponding to the rotation speed equivalent to the rotation speed difference Δω.

[0052] The current command value output unit 11 outputs a d-axis current command value Id* and a q-axis current command value Iq* using the torque command value T* output from the torque command value calculation unit 10. For example, the current command value output unit 11 refers to information (not shown) in which the torque of the electric motor M is associated with the d-axis current command value Id* and the q-axis current command value Iq*, which is stored in the storage unit 4, and outputs the d-axis current command value Id* and the q-axis current command value Iq* corresponding to the torque equivalent to the torque command value T*. The d-axis current command value Id* may be varied according to the torque command value T*, or may be a fixed value independent of the torque command value T*.

[0053] The adjustment unit 12 uses the voltage command value Vdq* (second voltage command value) output from the voltage command value conversion unit 16, the modulation factor M2, and the like to adjust the d-axis current command value Id* output from the current command value output unit 11 to the d-axis current command value Id*' so that flux-weakening control (control in which the d-axis current Id becomes negative, thereby reducing the electromotive force generated in the motor M and increasing the rotation speed ω^) is performed just before the voltage input to the motor M becomes saturated.

[0054] FIG. 3A is a diagram illustrating an example of the adjustment unit 12. As shown in FIG.

[0055] The adjustment unit 12 shown in FIG. 3( a ) includes a voltage saturation amount calculation unit 121 , an adjustment current command value calculation unit 122 , and an adder 123 . The voltage saturation amount calculation unit 121 acquires the voltage command value Vdq* output from the voltage command value conversion unit 16 and also acquires the modulation factor M2 stored in the storage unit 4, and calculates the voltage saturation amount Vs by subtracting the multiplication value of the modulation factor M2 and the maximum voltage command value Vm from the voltage command value Vdq*. That is, the voltage saturation amount calculation unit 121 calculates the voltage saturation amount Vs by calculating the following formula 5. Note that the maximum voltage command value Vm is found by calculating the following formula 6. Vin is the input voltage Vin.

[0056] Voltage saturation amount Vs = voltage command value Vdq* - modulation factor M2 × maximum voltage command value Vm Formula 5

number

[0057] The adjustment current command value calculation unit 122 calculates the adjustment d-axis current command value Ids by proportional control so as to reduce the voltage saturation amount Vs output from the voltage saturation amount calculation unit 121. For example, the adjustment current command value calculation unit 122 calculates the adjustment d-axis current command value Ids by calculating the following equation 7. Note that Kp is a constant.

[0058] Adjustment d-axis current command value Ids = Kp × voltage saturation amount Vs Equation 7 The adder 123 adds the d-axis current command value Id* output from the current command value output unit 11 and the adjustment d-axis current command value Ids output from the adjustment current command value calculation unit 122, and outputs the result as a d-axis current command value Id*'.

[0059] For example, assume that when the d-axis current command value Id* is a negative fixed value, when the voltage saturation amount Vs is a positive value, the adjustment d-axis current command value Ids becomes a negative value, and when the voltage saturation amount Vs is a negative value, the adjustment d-axis current command value Ids becomes a positive value.

[0060] In this case, when the voltage saturation amount Vs is a positive value, the d-axis current command value Id*' increases in the negative direction, and when the voltage saturation amount Vs is a negative value, the d-axis current command value Id*' decreases in the negative direction.

[0061] That is, when the voltage saturation amount Vs, which is the value obtained by subtracting the product of the modulation factor M2 and the maximum voltage command value Vm from the voltage command value Vdq* output from the voltage command value conversion unit 16, is a positive value, the adjustment unit 12 increases the d-axis current command value Id*' in the negative direction, and when the voltage saturation amount Vs is a negative value, the adjustment unit 12 decreases the d-axis current command value Id*' in the negative direction.

[0062] In this way, since the adjustment unit 12 adjusts the d-axis current command value Id* for each control period, even if the voltage input to the electric motor M is about to reach saturation, the state can be eliminated relatively quickly.

[0063] In addition, the adjustment unit 12 adjusts the d-axis current command value Id* by proportional control so that the voltage saturation amount Vs, which is the difference between the voltage command value Vdq* and the value obtained by multiplying the modulation factor M2 and the maximum voltage command value Vm determined by the input voltage Vin, becomes small.

[0064] In this way, the d-axis current command value Id* is adjusted by feedback control using proportional control. Therefore, the d-axis current command value Id* can be adjusted based only on the voltage saturation amount Vs obtained at the control timing prior to the current control timing, without being affected by the voltage saturation amount Vs obtained at the control timing prior to the current control timing.

[0065] Further, the subtraction unit 13 shown in FIG. 1 calculates the difference ΔId between the d-axis current command value Id*′ output from the adjustment unit 12 and the d-axis current Id output from the current conversion unit 7.

[0066] The subtraction unit 14 calculates the difference ΔIq between the q-axis current command value Iq* output from the current command value output unit 11 and the q-axis current Iq output from the current conversion unit 7 .

[0067] The voltage command value calculation unit 15 calculates a d-axis voltage command value Vd* and a q-axis voltage command value Vq* by PI control using the difference ΔId output from the subtraction unit 13 and the difference ΔIq output from the subtraction unit 14. For example, the voltage command value calculation unit 15 calculates the d-axis voltage command value Vd* by the following equation 8, and calculates the q-axis voltage command value Vq* by the following equation 9. Note that Kp is a constant of the proportional term of the PI control, Ki is a constant of the integral term of the PI control, Lq is the q-axis inductance of the motor M, Ld is the d-axis inductance of the motor M, ω^ is the rotation speed ω^ estimated by the estimation unit 8, and Ke is an induced voltage constant.

[0068] d-axis voltage command value Vd*=Kp×difference ΔId+∫(Ki×difference ΔId)-ω^LqIq···Equation 8

[0069] q-axis voltage command value Vq* = Kp × difference ΔIq + ∫(Ki × difference ΔIq) + ω^LdId + ω^Ke Equation 9

[0070] That is, the voltage command value calculation unit 15 calculates the d-axis voltage command value Vd* so that the difference ΔId between the d-axis current Id and the d-axis current command value Id*' is small, and calculates the q-axis voltage command value Vq* so that the difference ΔIq between the q-axis current Iq and the q-axis current command value Iq* is small.

[0071] The voltage command value conversion unit 16 converts the d-axis voltage command value Vd* and the q-axis voltage command value Vq* output from the voltage command value calculation unit 15 into a voltage command value Vdq* (pre-limitation voltage command value). For example, the voltage command value conversion unit 16 obtains the voltage command value Vdq* by calculating the following formula 10. Note that Vd* is the d-axis voltage command value Vd* output from the voltage command value calculation unit 15, and Vq* is the q-axis voltage command value Vq* output from the voltage command value calculation unit 15.

[0072]

number

[0073] The limiting unit 17 limits the voltage command value Vdq* output from the voltage command value conversion unit 16, and outputs the voltage command value V** after the limiting to the drive circuit 5.

[0074] FIG. 3B is a diagram illustrating an example of the limiting unit 17. As shown in FIG.

[0075] The limiting section 17 shown in FIG. 3( b ) includes a limiting value calculating section 171 and a comparing section 172 .

[0076] The limit value calculation unit 171 calculates the voltage limit value Vth using the input voltage Vin and the modulation factor M1 stored in the storage unit 4. For example, the limit value calculation unit 171 obtains the voltage limit value Vth by calculating the following formula 11. Note that Vin is the input voltage Vin, and M1 is the modulation factor M1.

[0077]

number

[0078] The comparison unit 172 compares the voltage command value Vdq* output from the voltage command value conversion unit 16 with the voltage limit value Vth output from the limit value calculation unit 171, and if the voltage command value Vdq* is greater than the voltage limit value Vth, it outputs the voltage limit value Vth as the voltage command value V**, and if the voltage command value Vdq* is equal to or less than the voltage limit value Vth, it outputs the voltage command value Vdq* as the voltage command value V**.

[0079] That is, when the voltage command value Vdq* is greater than the voltage limit value Vth obtained by multiplying the input voltage Vin and the modulation factor M1, the limiting unit 17 outputs the voltage limit value Vth as the voltage command value V** to be compared with the voltage values ​​of the U-phase carrier wave, the V-phase carrier wave, and the W-phase carrier wave, and when the voltage command value Vdq* is equal to or less than the voltage limit value Vth, the limiting unit 17 outputs the voltage command value Vdq* as the voltage command value V** to be compared with the voltage values ​​of the U-phase carrier wave, the V-phase carrier wave, and the W-phase carrier wave.

[0080] Here, it is assumed that the d-axis current command value Id* is adjusted by feedback control using integral control.

[0081] In this case, the influence of the error included in the voltage saturation amount Vs obtained at the control timing before the current control timing remains in the d-axis current command value Id* adjusted at the current control timing, so that the d-axis current command value Id* may pulsate. In particular, when the rotation speed ω^ is relatively high and the number of pulses per cycle of the drive signals S1 to S6 is relatively small, it becomes difficult to apply a voltage according to the voltage command value V** to the motor M, so that it takes time for the pulsation of the d-axis current command value Id* to converge. Therefore, when the rotation speed ω^ is relatively large, the amplitude value of the pulsation of the d-axis current command value Id* may become even larger. If the d-axis current command value Id* pulsates in this way, the controllability of the motor M may be reduced.

[0082] Therefore, in the control device 1 of the embodiment, the d-axis current command value Id* is adjusted by feedback control using proportional control. This makes it possible to prevent the influence of an error contained in the voltage saturation amount Vs calculated at a control timing prior to the current control timing from remaining in the d-axis current command value Id* adjusted at the current control timing, thereby suppressing pulsation of the d-axis current command value Id* and preventing the controllability of the electric motor M from deteriorating.

[0083] In addition, in the control device 1 of the embodiment, the modulation factor M2 used to calculate the voltage saturation amount Vs is smaller than the modulation factor M1 used to calculate the voltage limit value Vth, so that the voltage saturation amount Vs can be easily changed to a positive value before the voltage command value V** becomes larger than the voltage limit value Vth. As a result, even in a state in which the rotation speed ω^ is relatively high and the voltage command value V** is likely to become larger than the voltage limit value Vth, the flux-weakening control can be easily performed before the voltage command value V** becomes larger than the voltage limit value Vth, so that an increase in the time during which the U-phase current Iu, the V-phase current Iv, and the W-phase current Iw cannot be appropriately controlled can be suppressed, and pulsation of the U-phase current Iu, the V-phase current Iv, and the W-phase current Iw can be suppressed, thereby further suppressing a decrease in the controllability of the electric motor M.

[0084] The present invention is not limited to the above-described embodiment, and various improvements and modifications are possible without departing from the gist of the present invention.

[0085] <Variation 1> Fig. 4 is a diagram showing another example of the control device 1 of the embodiment. In the configuration shown in Fig. 4, the same components as those shown in Fig. 1 are denoted by the same reference numerals, and the description thereof will be omitted.

[0086] The control device 1 shown in FIG. 4 differs from the control device 1 shown in FIG. 1 in that it includes an electrical angle detection unit Sp (such as a resolver) that detects the rotor phase θ^ (electrical angle) and outputs the detected phase θ^ to the control circuit 3, and in that it includes a rotation speed calculation unit 18 instead of the estimation unit 8 of the calculation unit 6.

[0087] The rotation speed calculation unit 18 uses the phase θ^ detected by the electrical angle detection unit Sp to calculate the rotation speed ω^ of the electric motor M. For example, the rotation speed calculation unit 18 obtains the rotation speed ω^ by dividing the phase θ^ by a predetermined time (such as the operation clock of the calculation unit 6).

[0088] Even with this configuration, the influence of the error contained in the voltage saturation amount Vs calculated at the control timing prior to the current control timing can be prevented from remaining in the d-axis current command value Id* adjusted at the current control timing, so that pulsation of the d-axis current command value Id* can be suppressed and the controllability of the motor M can be prevented from decreasing.

[0089] <Variation 2> The adjustment unit 12 may be configured to switch between integral control and proportional control as feedback control for adjusting the d-axis current command value Id* depending on the rotation speed ω^ of the rotor of the electric motor M (the rotation speed ω^ estimated by the estimation unit 8 shown in FIG. 1 or the rotation speed ω^ calculated by the rotation speed calculation unit 18 shown in FIG. 3).

[0090] That is, the adjustment unit 12 may be configured to adjust the d-axis current command value Id* by integral control so as to reduce the voltage saturation amount Vs when the rotation speed ω^ is equal to or smaller than the threshold value ωth, and adjust the d-axis current command value Id* by proportional control so as to reduce the voltage saturation amount Vs when the rotation speed ω^ is greater than the threshold value ωth. Note that the threshold value ωth is set to the rotation speed ω corresponding to the number of pulses between the number of pulses per period of the drive signals S1 to S6 when the d-axis current command value Id* pulsates and the number of pulses per period of the drive signals S1 to S6 when the d-axis current command value Id* does not pulsate.

[0091] For example, when the rotation speed ω^ is equal to or smaller than the threshold value ωth, the adjustment current command value calculation unit 122 calculates the following formula 12 to obtain the adjustment d-axis current command value Ids, and when the rotation speed ω^ is greater than the threshold value ωth, the adjustment current command value Ids is calculated by calculating the above formula 8. Note that Ki is a constant.

[0092] Adjustment d-axis current command value Ids = ∫(Ki × voltage saturation amount Vs) Equation 12 As a result, in a case where the rotation speed ω^ is relatively low and the d-axis current command value Id* is unlikely to pulsate even if the d-axis current command value Id* is adjusted by integral control, the d-axis current command value Id* can be adjusted only by integral control, so that the steady-state error that occurs during feedback control using proportional control is not included in the d-axis current command value Id*, thereby improving the controllability of the motor M.

[0093] In addition, when the rotation speed ω^ is relatively high and the d-axis current command value Id* is easily pulsated when it is adjusted by integral control, the d-axis current command value Id* can be adjusted only by proportional control, thereby improving the controllability of the motor M.

[0094] <Variation 3> The adjustment unit 12 may be configured to switch between integral control and proportional control as a feedback control for adjusting the d-axis current command value Id* depending on the amplitude value of the pulsation of the d-axis current Id or the d-axis current command value Id* in addition to the rotation speed ω^.

[0095] That is, the adjustment unit 12 may be configured to adjust the d-axis current command value Id* by integral control so as to reduce the voltage saturation amount Vs when the rotation speed ω is equal to or lower than a threshold value ωth or when the amplitude value of the pulsation of the d-axis current Id or the d-axis current command value Id* is equal to or lower than a predetermined value Idth, and to adjust the d-axis current command value Id* by proportional control so as to reduce the voltage saturation amount Vs when the rotation speed ω is greater than the threshold value ωth and the amplitude value of the pulsation of the d-axis current Id or the d-axis current command value Id* is greater than the predetermined value Idth. The predetermined value Idth is set to several tens [%] of the rated current of the motor M.

[0096] For example, when the rotation speed ω is equal to or lower than a threshold value ωth, or when the amplitude value of the pulsation of the d-axis current Id or the d-axis current command value Id* is equal to or lower than a predetermined value Idth, the adjustment current command value calculation unit 122 calculates the above formula 13 to determine the adjustment d-axis current command value Ids, and when the rotation speed ω is greater than the threshold value ωth and the amplitude value of the pulsation of the d-axis current Id or the d-axis current command value Id* is greater than the predetermined value Idth, the adjustment current command value calculation unit 122 calculates the above formula 8 to determine the adjustment d-axis current command value Ids.

[0097] Even with this configuration, when the rotation speed ω^ is relatively low and the d-axis current command value Id* is unlikely to pulsate even if it is adjusted by integral control, the d-axis current command value Id* can be adjusted only by integral control, so that the steady-state error that occurs during feedback control using proportional control is not included in the d-axis current command value Id*, thereby improving the controllability of the motor M.

[0098] In addition, when the rotation speed ω^ is relatively high and the d-axis current command value Id* is easily pulsated when it is adjusted by integral control, the d-axis current command value Id* can be adjusted only by proportional control, thereby improving the controllability of the motor M. [Explanation of symbols]

[0099] 1 Control device 2. Inverter circuit 3 Control Circuit 4 Storage section 5 Drive circuit 6 Arithmetic section 7 Current conversion section 8 Estimation part 9, 13, 14 Subtraction section 10 Torque command value calculation section 11 Current command value output section 12 Adjustment part 15 Voltage command value calculation section 16 Voltage command value converter 17 Restrictions 18 Rotational speed calculation section 121 Voltage saturation calculation unit 122 Adjustment current command value calculation unit 123 Addition section 171 Limit value calculation section 172 Comparison Section

Claims

1. an inverter circuit that drives an electric motor based on a comparison result between a voltage value of the carrier wave and a voltage command value; a current converter for converting a current flowing through the electric motor into a d-axis current and a q-axis current; a current command value output unit that outputs a d-axis current command value and a q-axis current command value according to a difference between a rotation speed of the electric motor and a rotation speed command value; a voltage command value calculation unit that calculates a d-axis voltage command value so as to reduce a difference between the d-axis current and the d-axis current command value, and calculates a q-axis voltage command value so as to reduce a difference between the q-axis current and the q-axis current command value; a voltage command value conversion unit that converts the d-axis voltage command value and the q-axis voltage command value into a pre-limitation voltage command value; a limiting unit that outputs the voltage limit value as the voltage command value to be compared with the voltage value of the carrier wave when the pre-limiting voltage command value is greater than a voltage limit value obtained by multiplying a voltage input to the inverter circuit by a first modulation factor, and outputs the pre-limiting voltage command value as the voltage command value to be compared with the voltage value of the carrier wave when the pre-limiting voltage command value is equal to or less than the voltage limit value; an adjustment unit that adjusts the d-axis current command value by proportional control so that a voltage saturation amount, which is a difference between a value obtained by multiplying a second modulation factor smaller than the first modulation factor and a maximum voltage command value determined by a voltage input to the inverter circuit and the pre-limitation voltage command value, becomes small; A control device for an electric motor comprising:

2. An inverter circuit that drives an electric motor based on a comparison result between a voltage value of a carrier wave and a voltage command value; a current converter for converting a current flowing through the electric motor into a d-axis current and a q-axis current; a current command value output unit that outputs a d-axis current command value and a q-axis current command value according to a difference between a rotation speed of the electric motor and a rotation speed command value; a voltage command value calculation unit that calculates a d-axis voltage command value so as to reduce a difference between the d-axis current and the d-axis current command value, and calculates a q-axis voltage command value so as to reduce a difference between the q-axis current and the q-axis current command value; a voltage command value conversion unit that converts the d-axis voltage command value and the q-axis voltage command value into a pre-limitation voltage command value; a limiting unit that outputs the voltage limit value as the voltage command value to be compared with the voltage value of the carrier wave when the pre-limiting voltage command value is greater than a voltage limit value obtained by multiplying a voltage input to the inverter circuit by a first modulation factor, and outputs the pre-limiting voltage command value as the voltage command value to be compared with the voltage value of the carrier wave when the pre-limiting voltage command value is equal to or less than the voltage limit value; an adjustment unit that adjusts the d-axis current command value based on a voltage saturation amount that is a difference between a value obtained by multiplying a second modulation factor smaller than the first modulation factor and a maximum voltage command value determined by a voltage input to the inverter circuit and the pre-limitation voltage command value, When the rotation speed is equal to or less than a threshold value, the adjustment unit adjusts the d-axis current command value by integral control so that the voltage saturation amount becomes small, and when the rotation speed is greater than the threshold value, adjusts the d-axis current command value by proportional control so that the voltage saturation amount becomes small. A control device for an electric motor.

3. An inverter circuit that drives an electric motor based on a comparison result between a voltage value of a carrier wave and a voltage command value; a current converter for converting a current flowing through the electric motor into a d-axis current and a q-axis current; a current command value output unit that outputs a d-axis current command value and a q-axis current command value according to a difference between a rotation speed of the electric motor and a rotation speed command value; a voltage command value calculation unit that calculates a d-axis voltage command value so as to reduce a difference between the d-axis current and the d-axis current command value, and calculates a q-axis voltage command value so as to reduce a difference between the q-axis current and the q-axis current command value; a voltage command value conversion unit that converts the d-axis voltage command value and the q-axis voltage command value into a pre-limitation voltage command value; a limiting unit that outputs the voltage limit value as the voltage command value to be compared with the voltage value of the carrier wave when the pre-limiting voltage command value is greater than a voltage limit value obtained by multiplying a voltage input to the inverter circuit by a first modulation factor, and outputs the pre-limiting voltage command value as the voltage command value to be compared with the voltage value of the carrier wave when the pre-limiting voltage command value is equal to or less than the voltage limit value; an adjustment unit that adjusts the d-axis current command value based on a voltage saturation amount that is a difference between a value obtained by multiplying a second modulation factor smaller than the first modulation factor and a maximum voltage command value determined by a voltage input to the inverter circuit and the pre-limitation voltage command value, The adjustment unit adjusts the d-axis current command value by integral control so as to reduce the voltage saturation amount when the rotation speed is equal to or lower than a threshold value or when an amplitude value of the pulsation of the d-axis current or the d-axis current command value is equal to or lower than a predetermined value, and adjusts the d-axis current command value by proportional control so as to reduce the voltage saturation amount when the rotation speed is greater than the threshold value and when an amplitude value of the pulsation of the d-axis current or the d-axis current command value is greater than the predetermined value. A control device for an electric motor.

Citation Information

Patent Citations

  • Vehicle built-in permanent magnet synchronous motor controlling method

    CN106992733A

  • Controller for power converter

    JP2000060196A

  • Control device of permanent magnet synchronous motor

    JP2004129381A

  • Device for controlling drive of permanent magnet type synchronous motor

    JP2006141095A

  • Electric drive controller and electric drive control method

    JP2007259538A