Motor control device
The motor control device addresses the challenge of calculating adaptive magnetic flux command values by employing a control gain changing unit to adjust magnetic flux compensation based on motor state variables, enhancing control stability and reducing vibrations.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2022-03-28
- Publication Date
- 2026-04-03
AI Technical Summary
Existing motor control devices using magnetic flux feedback control struggle to calculate a magnetic flux command value that corresponds to changes in motor state, leading to potential vibrations due to fixed control gains.
A motor control device with a magnetic flux command value generation unit that includes a magnetic flux compensation value calculation using a control gain adjusted based on motor state variables, particularly through a control gain changing unit that modifies gains during field weakening control.
Enables the calculation of a magnetic flux command value that adapts to motor state changes, reducing vibrations and improving control stability.
Smart Images

Figure 0007840188000001 
Figure 0007840188000002 
Figure 0007840188000003
Abstract
Description
Technical Field
[0001] The present invention relates to a motor control device.
Background Art
[0002] A motor control device that performs vector control of an AC motor based on the d-axis and q-axis is known. A motor control device that performs such vector control generates a d-axis current command value id* and a q-axis current command value iq*, and controls the drive of the AC motor based on these d-axis current command value id* and q-axis current command value iq*. For example, Patent Document 1 discloses a control device for a synchronous motor that performs vector control as described above. The control device disclosed in Patent Document 1 generates a magnetic flux command value from a torque command value, and further generates a current command value (d-axis current command value id* and q-axis current command value iq*) from the magnetic flux command value.
Prior Art Documents
Patent Documents
[0003]
Patent Document 1
Summary of the Invention
Problems to be Solved by the Invention
[0004] In the motor control device as described above, it is conceivable to perform magnetic flux feedback control. This magnetic flux feedback control calculates a magnetic flux feedback value based on the state quantity of the motor to be controlled, calculates a magnetic flux compensation value using the magnetic flux feedback value, and further calculates a magnetic flux command value using the magnetic flux compensation value. However, if the control gain used for calculating the magnetic flux compensation value is a fixed value, it is impossible to calculate a magnetic flux command value corresponding to the state change of the motor, and it is conceivable that vibrations or the like may occur in the motor or the like.
[0005] The present invention has been made in view of the above-mentioned problems, and aims to enable the calculation of a magnetic flux command value corresponding to a change in the state of the motor in a motor control device that controls the motor using magnetic flux feedback control. [Means for solving the problem]
[0006] The present invention employs the following configuration as a means to solve the above problems.
[0007] The first invention is a motor control device comprising a magnetic flux command value generation unit that generates a magnetic flux command value based on a torque command value, and a current command value generation unit that generates a current command value based on the magnetic flux command value, wherein the magnetic flux command value generation unit is configured to include a magnetic flux command calculation unit that calculates a pre-compensated magnetic flux command value based on the torque command value, a feedback value calculation unit that calculates a magnetic flux feedback value based on the state variables of the motor, a magnetic flux compensation value calculation unit that calculates a magnetic flux compensation value using a control gain based on the deviation between the pre-compensated magnetic flux command value and the magnetic flux feedback value, a magnetic flux command value calculation unit that calculates the magnetic flux command value from the pre-compensated magnetic flux command value based on the magnetic flux compensation value, and a control gain changing unit that changes the control gain based on the state variables.
[0008] The second invention adopts a configuration in the first invention in which the control gain changing unit lowers the control gain when field weakening control is performed compared to when field weakening control is not performed.
[0009] The third invention adopts a configuration in which, in the second invention, the state quantity is the rotational speed of the motor, and the control gain changing unit determines whether or not to perform the field weakening control based on a first rotational speed range that indicates a preset rotational speed range in which the field weakening control is performed.
[0010] The fourth invention adopts a configuration in which, in the third invention, the control gain changing unit determines whether or not to perform field weakening control based on the rotational speed, the torque command value, and the voltage of the power supply connected to the motor, when the rotational speed of the motor falls outside the first rotational speed range.
[0011] The fifth invention adopts a configuration in which, in any of the second to fourth inventions, the threshold for determining whether or not the field weakening control is performed has hysteresis. [Effects of the Invention]
[0012] According to the present invention, a magnetic flux compensation value calculation unit is provided that calculates a magnetic flux compensation value using a control gain based on the deviation from the magnetic flux feedback value, and the control gain used in the magnetic flux compensation value calculation unit is changed based on the motor state variable. Therefore, according to the present invention, in a motor control device that controls a motor by magnetic flux feedback control, it becomes possible to calculate a magnetic flux command value corresponding to the change in the state of the motor. [Brief explanation of the drawing]
[0013] [Figure 1] This is a schematic circuit diagram showing the general configuration of a control device that functions as a motor control device in one embodiment of the present invention. [Figure 2] This is a block diagram showing the functional configuration of the power converter control unit as a motor control device. [Figure 3] This is a block diagram of the magnetic flux command value generation unit of a control device in one embodiment of the present invention. [Figure 4] This is a block diagram of the control gain changing section of a control device in one embodiment of the present invention. [Modes for carrying out the invention]
[0014] Hereinafter, an embodiment of the motor control device according to the present invention will be described with reference to the drawings.
[0015] Figure 1 is a schematic circuit diagram showing the general configuration of the control device 1, which functions as a motor control device in this embodiment. As shown in this figure, the control device 1 comprises a power converter 2 and a power converter control unit 3.
[0016] As shown in Figure 1, the power converter 2 includes a step-up / step-down converter 2a, a drive inverter 2b, and a power generation inverter 2c. The step-up / step-down converter 2a boosts the DC voltage output from the battery P (power source) at a predetermined step-up ratio. The step-up / step-down converter 2a also steps down the DC voltage output from the drive inverter 2b or the power generation inverter 2c at a predetermined step-down ratio. As shown in Figure 1, such a step-up / step-down converter 2a includes, for example, multiple capacitors, a transformer, and multiple transformer IGBTs (Insulated Gate Bipolar Transistors).
[0017] Such a buck-boost converter 2a is a power circuit known as a magnetically coupled interleaved chopper circuit. The buck-boost converter 2a selectively performs a boost operation, which boosts the DC power input from the battery P via a pair of battery terminals and outputs it to the drive inverter 2b, and a buck operation, which steps down the DC power input from the drive inverter 2b or the power generation inverter 2c and outputs it to the battery P via a pair of battery terminals. In other words, the buck-boost converter 2a is a power conversion circuit that inputs and outputs DC power bidirectionally between the battery P and the drive inverter 2b or the power generation inverter 2c.
[0018] The drive inverter 2b converts the DC power output from the battery P into AC power based on the PWM (Pulse Width Modulation) signal from the power converter control unit 3 and supplies it to the motor M. The drive inverter 2b also converts the AC power output from the motor M into DC power based on the PWM signal from the power converter control unit 3 and supplies it to the step-up / step-down converter 2a. As shown in Figure 1, this drive inverter 2b has three switching legs and a total of six drive IGBTs.
[0019] Such a driving inverter 2b includes three (a plurality of) switching legs corresponding to the number of phases of the motor M. This driving inverter 2b is a power conversion circuit that alternatively performs a power running operation and a regenerative operation. That is, the driving inverter 2b converts the DC power input from the buck-boost converter 2a into three-phase AC power and outputs it to the motor M via three motor terminals in the power running operation, and converts the three-phase AC power input from the motor M via the three motor terminals into DC power and outputs it to the buck-boost converter 2a in the regenerative operation. In other words, the driving inverter 2b is a power circuit that mutually converts DC power and three-phase AC power between the buck-boost converter 2a and the motor M.
[0020] The power generation inverter 2c converts the AC power output from the generator G into DC power based on the PWM signal from the power converter control unit 3 and supplies it to the buck-boost converter 2a. Such a power generation inverter 2c also has three switching legs, similar to the driving inverter 2b, and is provided with a total of six driving IGBTs.
[0021] Such a power generation inverter 2c includes three (a plurality of) switching legs corresponding to the number of phases of the generator G. This power generation inverter 2c is a power conversion circuit that converts the three-phase AC power input from the generator G via three generator terminals into DC power and outputs it to the buck-boost converter 2a. That is, this power generation inverter 2c is a power circuit that mutually converts DC power and three-phase AC power between the buck-boost converter 2a and the generator G.
[0022] In such a power converter 2, a battery P, a motor M, and a generator G are connected as shown in the figure. The power converter 2 includes a pair of battery terminals (positive electrode battery terminal E1 and negative electrode battery terminal E2) to which the battery P is connected as external connection terminals. Further, the power converter 2 includes three motor terminals (U-phase motor terminal Fu, V-phase motor terminal Fv, and W-phase motor terminal Fw) to which the motor M is connected. Further, the power converter 2 includes three generator terminals (U-phase generator terminal Hu, V-phase generator terminal Hv, and W-phase generator terminal Hw) to which the generator G is connected.
[0023] A control device 1 including such a power converter 2 is an electrical device provided in an electric vehicle such as a hybrid vehicle or an electric vehicle, controls the motor M which is a rotating electric machine, and controls the charging of the AC power generated by the generator G to the battery P. That is, this control device 1 performs drive control of the motor M based on the output of the battery P (battery power) and charging control of the battery P based on the output power of the generator G (generated power).
[0024] Note that the control device 1 may be configured such that the power converter 2 does not include a power generation inverter 2c and the generator G is not connected to the power converter 2. In this case, the control device 1 performs drive control of the motor M based on the output of the battery P (battery power) without performing charging control of the battery P based on the output power of the generator G (generated power).
[0025] Here, as shown in the figure, the positive electrode of the battery P is connected to the positive electrode battery terminal E1, and the negative electrode is connected to the negative electrode battery terminal E2. This battery P is a secondary battery such as a lithium-ion battery, and discharges DC power to the control device 1 and charges DC power through the control device 1.
[0026] Motor M is a three-phase motor with three phases and is the load for the drive inverter 2b. This motor M has a U-phase input terminal connected to the U-phase motor terminal Fu, a V-phase input terminal connected to the V-phase motor terminal Fv, and a W-phase input terminal connected to the W-phase motor terminal Fw. The rotating shaft (drive shaft) of this motor M is connected to the wheels of the electric vehicle, and the motor drives the wheels by applying rotational power to them.
[0027] Generator G is a three-phase generator, with its U-phase output terminal connected to the U-phase generator terminal Hu, its V-phase output terminal connected to the V-phase generator terminal Hv, and its W-phase output terminal connected to the W-phase generator terminal Hw. This generator G is connected to the output shaft of a power source such as an engine mounted on an electric vehicle and outputs three-phase AC power to the control device 1.
[0028] The power converter control unit 3 includes a gate driver and an ECU (Electronic Control Unit). The gate driver is a circuit that generates gate signals based on various duty command values (transformation duty command value, drive duty command value, and power generation duty command value) input from the ECU. For example, the gate driver generates a gate signal to be supplied to the step-up / step-down converter 2a based on the transformation duty command value input from the ECU. The gate driver also generates a gate signal to be supplied to the drive inverter 2b based on the drive duty command value input from the ECU. Furthermore, the gate driver generates a gate signal to be supplied to the power generation inverter 2c based on the power generation duty command value input from the ECU.
[0029] The ECU is a control circuit that performs predetermined control processing based on a pre-stored control program. This ECU outputs various duty command values (transformation duty command value, drive duty command value, and power generation duty command value) generated based on the above control processing to the gate driver. Such an ECU performs drive control of the motor M and charge control of the battery P via the power converter 2 and the gate driver. In other words, this ECU generates various duty command values (transformation duty command value, drive duty command value, and power generation duty command value) related to the boost-buck converter 2a, drive inverter 2b, and power generation inverter 2c based on the detected values (voltage detection value) and current detection value (current detection value) of the voltage sensor and current sensor attached to the boost-buck converter 2a, drive inverter 2b, and power generation inverter 2c, as well as the operation information of the electric vehicle.
[0030] Figure 2 is a block diagram showing the functional configuration of the power converter control unit 3 as a motor control device. In addition to the power converter 2 and the power converter control unit 3, the control device 1 includes a current sensor 4 and a rotation angle sensor 5, as shown in Figure 2.
[0031] The current sensor 4 detects the phase current between the motor M and the power converter 2 and outputs the detection result to the power converter control unit 3. Multiple current sensors 4 may be provided between the power converter 2 and the motor M, or they may be provided inside the power converter 2. The current sensor 4 is not particularly limited as long as it detects the phase current of each phase, but for example, it may be a current transformer (CT) with a transformer or a Hall element. Alternatively, the current sensor 4 may be a shunt resistor.
[0032] The rotation angle sensor 5 detects the rotation angle of the motor M. The rotation angle of the motor M is the electrical angle of the rotor from a predetermined reference rotation position. The rotation angle sensor 5 outputs a detection signal indicating the detected rotation angle to the power converter control unit 3. For example, the rotation angle sensor 5 may be equipped with a resolver. The rotation speed of the motor M (motor rotation speed) can be calculated based on the detection signal output from the rotation angle sensor 5. In other words, the rotation angle sensor 5 outputs a detection signal that includes the motor rotation speed as information.
[0033] The power converter control unit 3 includes, for example, a torque control unit 11, a current detection unit 12, a three-phase / dq conversion unit 13, an angular velocity calculation unit 14, a current control unit 15, a dq / three-phase conversion unit 16, and a PWM control unit 17, as functional units realized by the gate driver and ECU described above.
[0034] The torque control unit 11 obtains a torque command value T* from an external source. Based on the torque command value T*, the torque control unit 11 generates a d-axis current command value id*, which is the target value for the d-axis current of the motor M, and a q-axis current command value iq*, which is the target value for the q-axis current of the motor M. The torque control unit 11 also outputs the generated d-axis current command value id* and q-axis current command value iq* to the current control unit 15.
[0035] In this embodiment, the torque control unit 11 includes a magnetic flux command value generation unit 20 that generates a magnetic flux command value based on a torque command value T*, and a current command value generation unit 40 that generates current command values (d-axis current command value id* and q-axis current command value iq*) based on the magnetic flux command value.
[0036] Figure 3 is a block diagram of the magnetic flux command value generation unit 20. As shown in this figure, the magnetic flux command value generation unit 20 includes a flux linkage command calculator 21 (magnetic flux command calculation unit), a flux linkage command limit calculator 22, a flux linkage command limit limiting unit 23, a flux linkage calculator 24 (feedback value calculation unit), a PI controller 25 (magnetic flux compensation value calculation unit), a flux linkage compensation limit calculator 26 (limit calculation unit), a flux linkage compensation limit limiting unit 27 (limit limiting unit), a subtractor 28, an adder 29, and a control gain changing unit 30.
[0037] The flux linkage command calculator 21 calculates the uncompensated flux linkage command value Ψo* (uncompensated flux command value) based on the torque command value T*. For example, the angular velocity ω is input to the flux linkage command calculator 21 from the angular velocity calculation unit 14 shown in Figure 2. The DC bus voltage Vdcf (voltage of battery P) is also input to the flux linkage command calculator 21. For example, the flux linkage command calculator 21 determines the modulation coefficient to be used in the power converter 2 based on a map that determines the modulation coefficient using the torque command value T*, angular velocity ω, and DC bus voltage Vdcf as parameters. Furthermore, the flux linkage command calculator 21 calculates the uncompensated flux linkage command value Ψo* based on the modulation coefficient, angular velocity ω, and DC bus voltage Vdcf.
[0038] The flux linkage command limit calculator 22 calculates the upper limit of the flux linkage command Ψomax and the lower limit of the flux linkage command Ψomin based on the torque command value T*, the angular velocity ω, and the DC bus voltage Vdcf. The upper limit of the flux linkage command Ψomax (maximum flux linkage value) is the maximum flux linkage value that can be set for the torque command value T*, assuming that field control is possible. The lower limit of the flux linkage command Ψomin is the minimum flux linkage value that can be set for the torque command value T*, assuming that field control is possible.
[0039] For example, the flux linkage command limit calculator 22 calculates the upper limit of the flux linkage command Ψomax based on a field control flux linkage limit map that shows the maximum value of the flux linkage command for each torque command value T*. The lower limit of the flux linkage command Ψomin may be a predetermined value used instead of being calculated.
[0040] The flux linkage command limit limiting unit 23 limits the upper and lower limits of the pre-compensated flux linkage command value Ψo* calculated by the flux linkage command calculator 21, based on the upper limit value Ψomax and lower limit value Ψomin of the flux linkage command calculated by the flux linkage command limit calculator 22. In other words, if the pre-compensated flux linkage command value Ψo* input from the flux linkage command calculator 21 is greater than the upper limit value Ψomax, the flux linkage command limit limiting unit 23 replaces the value of the pre-compensated flux linkage command value Ψo* with the value of the upper limit value Ψomax and outputs it. Furthermore, if the pre-compensated flux linkage command value Ψo* input from the flux linkage command calculator 21 is smaller than the lower limit value Ψomin, the flux linkage command limit unit 23 replaces the value of the pre-compensated flux linkage command value Ψo* with the value of the lower limit value Ψomin and outputs it. The pre-compensated flux linkage command value Ψo* output from the flux linkage command limit unit 23 is referred to as the pre-compensated flux linkage command value Ψoff*.
[0041] The flux linkage calculator 24 calculates the flux linkage feedback value Ψof (magnetic flux feedback value) based on the angular velocity ω (motor rotation speed). For example, the flux linkage calculator 24 receives feedback input of voltage command values V* (d-axis voltage command value Vd* and q-axis voltage command value Vq*) from the current control unit 15 shown in Figure 2. The flux linkage calculator 24 calculates the flux linkage feedback value Ψof based on the angular velocity ω, which indicates the current motor rotation speed and is input from the angular velocity calculation unit 14, and the current voltage command value V*, which is input from the current control unit 15. In other words, the flux linkage calculator 24 may calculate the flux linkage feedback value Ψof based on state variables of the motor M other than the motor rotation speed.
[0042] The PI controller 25 calculates the flux compensation value dΨobuf* based on the deviation Ψoerr between the pre-compensated flux linkage command value Ψoff* and the flux linkage feedback value Ψof. The PI controller 25 receives the deviation Ψoerr obtained by the subtractor 28 as input. The subtractor 28 calculates the deviation Ψoerr by subtracting the flux linkage feedback value Ψof, which is input via the low-pass filter (LPF), from the pre-compensated flux linkage command value Ψoff*, which is input via the low-pass filter (LPF).
[0043] The PI controller 25 calculates the magnetic flux compensation value dΨobuf* by adding a value obtained by multiplying the deviation Ψoerr by the proportional gain Kp and a value obtained by multiplying the deviation Ψoerr by the integral gain Ki and then integrating. In this way, the PI controller 25 calculates the magnetic flux compensation value dΨobuf* based on calculations using the proportional gain Kp and calculations using the integral gain Ki.
[0044] Furthermore, a feedback-type anti-windup process may be performed to prevent the integral term from saturating. In this case, the value obtained by subtracting the flux compensation value dΨo*, which will be output from the flux linkage compensation limit unit 27, from the pre-compensated flux linkage command value Ψoff* output from the PI controller 25 is calculated. Then, the value obtained by multiplying this value by the reciprocal of the proportional gain Kp used in the PI controller 25 (anti-windup gain Kw) is subtracted from the deviation Ψoerr, and then the integral gain Ki is multiplied as described above.
[0045] The proportional gain Kp, integral gain Ki, and anti-wind-up gain Kw used in the PI controller 25 are control gains for calculating the magnetic flux compensation value dΨo*. In other words, the PI controller 25 calculates the magnetic flux compensation value dΨo* using the control gains based on the deviation Ψoerr between the pre-compensated linked magnetic flux command value Ψoff* and the linked magnetic flux feedback value Ψof. The proportional gain Kp, integral gain Ki, and anti-wind-up gain Kw used in the PI controller 25 are input from the control gain changing unit 30.
[0046] The flux linkage compensation limit calculator 26 calculates limit values to be used by the flux linkage compensation limit limiting unit 27. Here, the flux linkage compensation limit limiting unit 27 calculates an upper limit value dΨomax that limits the upper limit of the flux compensation value dΨobuf*. The calculated upper limit value dΨomax is supplied to the flux linkage compensation limit limiting unit 27. The flux linkage compensation limit calculator 26 also calculates a lower limit value dΨomin that limits the lower limit of the flux compensation value dΨobuf*. The calculated lower limit value dΨomin is supplied to the flux linkage compensation limit limiting unit 27.
[0047] For example, the flux linkage compensation limit calculator 26 calculates an upper limit value dΨomax and a lower limit value dΨomin based on the pre-compensated flux linkage command value Ψo* input from the flux linkage command calculator 21 and the upper limit value of the flux linkage command Ψomax input from the flux linkage command limit calculator 22.
[0048] The flux linkage compensation limit calculator 26 may calculate the upper limit value dΨomax and the lower limit value dΨomin using the pre-compensated flux linkage command value Ψoff* output from the flux linkage command limit limiting unit 23, instead of the pre-compensated flux linkage command value Ψo*. Alternatively, the upper limit value dΨomax and the lower limit value dΨomin may be calculated using the pre-compensated flux linkage command value Ψo* and the pre-compensated flux linkage command value Ψoff*.
[0049] The flux linkage compensation limit unit 27 limits the upper and lower limits of the flux compensation value dΨobuf* based on limit values. Here, the flux linkage compensation limit unit 27 limits the upper and lower limits of the flux compensation value dΨobuf* based on the upper limit value dΨomax and lower limit value dΨomin input from the flux linkage compensation limit calculator 26.
[0050] In other words, if the flux compensation value dΨobuf* input from the PI controller 25 is greater than the upper limit value dΨomax, the flux compensation unit 27 replaces the value of the flux compensation value dΨobuf* with the upper limit value dΨomax and outputs it. Also, if the flux compensation value dΨobuf* input from the PI controller 25 is less than the lower limit value dΨomin, the flux compensation unit 27 replaces the value of the flux compensation value dΨobuf* with the lower limit value dΨomin and outputs it. The flux compensation value dΨobuf* output from the flux compensation unit 27 is referred to as the flux compensation value dΨo*.
[0051] As described above, the subtractor 28 calculates the deviation Ψoerr by subtracting the flux linkage feedback value Ψof from the pre-compensated flux linkage command value Ψoff*. The adder 29 (flux command value calculation unit) adds the pre-compensated flux linkage command value Ψoff* and the flux compensation value dΨo* to calculate and output the flux command value Ψocmp*. In other words, the adder 29 calculates the flux command value Ψocmp* from the pre-compensated flux linkage command value Ψoff* based on the flux compensation value dΨo*.
[0052] It is also possible to omit the flux linkage command limit calculator 22, the flux linkage command limit limiting unit 23, the flux linkage compensation limit calculator 26, and the flux linkage compensation limit limiting unit 27. In such a case, the pre-compensated flux linkage command value Ψo* output from the flux linkage command calculator 21 is input to the subtractor 28 and adder 29. In addition, the flux compensation value dΨobuf* output from the PI controller 25 is input to the adder 29.
[0053] The control gain changing unit 30 changes the control gain used by the PI controller 25 according to the state of the motor M. In other words, the control gain changing unit 30 changes the proportional gain Kp, integral gain Ki, and anti-wind-up gain Kw according to the state of the motor M. In this embodiment, the control gain changing unit 30 changes the control gain according to the motor speed (the rotational speed of the motor M). In other words, in this embodiment, the state of the motor M used by the control gain changing unit 30 is the motor speed.
[0054] Figure 4 is a block diagram of the control gain changing unit 30. As shown in this figure, the control gain changing unit 30 includes a first flag setting unit 31, a second flag setting unit 32, an OR circuit 33, a proportional gain setting unit 34, an integral gain setting unit 35, and an anti-wind-up gain setting unit 36.
[0055] In controlling motor M, the range between the d-axis current value (id) and the q-axis current value (iq) (the setting range of the current operating point) must be limited to the range of the current limit circle and voltage limit circle (magnetic flux limit circle) drawn on the id-iq plane. For this reason, when the current operating point reaches the magnetic flux limit (edge of the magnetic flux limit circle), field weakening control is performed to reduce the field force. The motor rotation speeds at which such field weakening control is required have been determined in advance for each type of motor M through experiments and simulations. Here, the range of motor rotation speeds at which field weakening control is required, set for each type of motor M, is defined as the first rotation speed range Ra. For example, as shown in Figure 4, the upper limit value Ramax and the lower limit value Ramin of the first rotation speed range Ra are input externally to the first flag setting unit 31. The first flag setting unit 31 also stores the upper limit value Ramax and the lower limit value Ramin in advance.
[0056] The first flag setting unit 31 sets the switching flag based on a threshold so that the value of the switching flag becomes "1" when it is determined that field weakening control is required at a motor rotation speed, and the value of the switching flag becomes "0" when it is determined that field weakening control is not required at a motor rotation speed.
[0057] The threshold used by the first flag setting unit 31 is set to a value with hysteresis between the upper limit value Ramax and the lower limit value Ramin. When the motor rotation speed increases and exceeds the upper limit of the hysteresis set for the lower limit value Ramin, the first flag setting unit 31 switches the value of the switching flag from "0" to "1". Also, when the motor rotation speed decreases and exceeds the lower limit of the hysteresis set for the lower limit value Ramin, the first flag setting unit 31 switches the value of the switching flag from "1" to "0". Also, when the motor rotation speed increases and exceeds the upper limit of the hysteresis set for the upper limit value Ramax, the first flag setting unit 31 switches the value of the switching flag from "1" to "0". Also, when the motor rotation speed decreases and exceeds the lower limit of the hysteresis set for the upper limit value Ramax, the first flag setting unit 31 switches the value of the switching flag from "0" to "1". Thus, the threshold value used in the first flag setting unit 31 to determine whether or not field weakening control is performed has hysteresis.
[0058] The first flag setting unit 31 calculates the motor rotation speed from the angular velocity ω and determines whether or not the motor rotation speed requires field weakening control based on the calculated motor rotation speed and the threshold value with hysteresis described above. As a result, the first flag setting unit 31 sets the value of the switching flag to "1" if it determines that the motor rotation speed requires field weakening control, and sets the value of the switching flag to "0" if it determines that the motor rotation speed does not require field weakening control. Note that the motor rotation speed calculated externally may also be input to the first flag setting unit 31.
[0059] The first flag setting unit 31 may store the above-mentioned threshold values in advance. In this case, it is not necessary to input the upper limit value Ramax and the lower limit value Ramin to the first flag setting unit 31. Also, in this case, it is not necessary for the first flag setting unit 31 to store the upper limit value Ramax and the lower limit value Ramin.
[0060] The second flag setting unit 32 determines whether or not field weakening control is performed based on the motor speed, the torque command value T*, and the DC bus voltage Vdcf. Depending on the vehicle model, field weakening control of the motor M may be required even if the motor speed is different from the first rotation speed range Ra described above. For this reason, the second flag setting unit 32 is configured to switch the value of the switching flag from "0" to "1" as needed, even if the motor speed is different from the first rotation speed range Ra.
[0061] For example, the second flag setting unit 32 stores a first map Ma that shows the relationship between the motor speed and the torque command value T*. This first map Ma is set to "1" to indicate a condition match when the relationship between the motor speed and the torque command value T* should change the value of the switching flag from "0" to "1", and to "0" to indicate a condition mismatch in other cases. The second flag setting unit 32 has a condition match ratio output unit 32a that calculates and outputs the average value (the percentage of times the relationship between the motor speed and the torque command value T* matches the condition) over a certain period using the first map Ma. The condition match ratio output unit 32a receives the torque command value T* from an external source via a low-pass filter. The condition match ratio output unit 32a also calculates the motor speed using the angular velocity ω, which is input from an external source via a low-pass filter. Alternatively, the motor speed calculated externally may be input to the condition match ratio output unit 32a.
[0062] Furthermore, the second flag setting unit 32 includes a condition matching flag setting unit 32b that sets the value of the condition matching flag based on the output value of the condition matching ratio output unit 32a and a threshold with hysteresis. For example, the condition matching flag setting unit 32b sets the value of the condition matching flag from "0" to "1" when the output value of the condition matching ratio output unit 32a is 0.9 or higher, and sets the value of the condition matching flag from "1" to "0" when the output value of the condition matching ratio output unit 32a is 0.7 or lower.
[0063] Furthermore, for example, the second flag setting unit 32 stores a second map Mb that shows the relationship between the motor speed and the DC bus voltage Vdcf. This second map Mb is set to "1" to indicate a condition match when the relationship between the motor speed and the DC bus voltage Vdcf should change the value of the switching flag from "0" to "1", and to "0" to indicate a condition mismatch in other cases. The second flag setting unit 32 has a condition match ratio output unit 32c that calculates and outputs the average value (the percentage of times the relationship between the motor speed and the DC bus voltage Vdcf matches the condition) over a certain period using the second map Mb. The condition match ratio output unit 32c receives the DC bus voltage Vdcf from an external source via a low-pass filter. The condition match ratio output unit 32c also calculates the motor speed using the angular velocity ω, which is input from an external source via a low-pass filter. Note that the motor speed calculated externally may also be input to the condition match ratio output unit 32c.
[0064] Furthermore, the second flag setting unit 32 includes a condition matching flag setting unit 32d that sets the value of the condition matching flag based on the output value of the condition matching ratio output unit 32c and a threshold with hysteresis. For example, the condition matching flag setting unit 32d sets the value of the condition matching flag from "0" to "1" when the output value of the condition matching ratio output unit 32c is 0.9 or higher, and sets the value of the condition matching flag from "1" to "0" when the output value of the condition matching ratio output unit 32c is 0.7 or lower.
[0065] Furthermore, for example, the second flag setting unit 32 stores a third map Mc that shows the relationship between the torque command value T* and the DC bus voltage Vdcf. This third map Mc is set to "1" to indicate a condition match when the relationship between the torque command value T* and the DC bus voltage Vdcf should change the value of the switching flag from "0" to "1", and to "0" to indicate a condition mismatch in other cases. The second flag setting unit 32 has a condition match ratio output unit 32e that calculates and outputs the average value over a certain period (the percentage of times the relationship between the torque command value T* and the DC bus voltage Vdcf matches the condition) using the third map Mc. The condition match ratio output unit 32e receives the torque command value T* and the DC bus voltage Vdcf from an external source via a low-pass filter.
[0066] Furthermore, the second flag setting unit 32 includes a condition matching flag setting unit 32f that sets the value of the condition matching flag based on the output value of the condition matching ratio output unit 32e and a threshold with hysteresis. For example, the condition matching flag setting unit 32f sets the value of the condition matching flag from "0" to "1" when the output value of the condition matching ratio output unit 32e is 0.9 or higher, and sets the value of the condition matching flag from "1" to "0" when the output value of the condition matching ratio output unit 32e is 0.7 or lower.
[0067] Furthermore, the second flag setting unit 32 includes a switching flag determination unit 32g. The switching flag determination unit 32g is an AND circuit that sets the value of the switching flag to "1" when the value of the condition matching flag input from the condition matching flag setting unit 32b, the value of the condition matching flag input from the condition matching flag setting unit 32d, and the value of the condition matching flag input from the condition matching flag setting unit 32f are all "1".
[0068] The OR circuit 33 outputs the value of the switching flag as "1" if either the value of the switching flag input from the first flag setting unit 31 or the value of the switching flag input from the second flag setting unit 32 is "1". Furthermore, the OR circuit 33 outputs the value of the switching flag as "0" if both the value of the switching flag input from the first flag setting unit 31 and the value of the switching flag input from the second flag setting unit 32 are "0".
[0069] The proportional gain setting unit 34 outputs a relatively high proportional gain Kphigh when the value of the switching flag input from the OR circuit 33 is "0". On the other hand, the proportional gain setting unit 34 outputs a relatively low proportional gain Kplow when the value of the switching flag input from the OR circuit 33 is "1". In other words, when field weakening control is required (when the value of the switching flag is "1"), the control gain changing unit 30 reduces the proportional gain Kp to a smaller value than when field weakening control is not required.
[0070] The integral gain setting unit 35 outputs a relatively high integral gain Kihigh when the value of the switching flag input from the OR circuit 33 is "0". On the other hand, the integral gain setting unit 35 outputs a relatively low integral gain Kilow when the value of the switching flag input from the OR circuit 33 is "1". In other words, when field weakening control is required (when the value of the switching flag is "1"), the control gain changing unit 30 makes the integral gain Ki smaller than when field weakening control is not required.
[0071] The anti-wind-up gain setting unit 36 outputs a relatively high anti-wind-up gain Kwhigh when the value of the switching flag input from the OR circuit 33 is "0". This anti-wind-up gain Kwhigh is the reciprocal of the proportional gain Kphigh. On the other hand, the anti-wind-up gain setting unit 36 outputs a relatively low anti-wind-up gain Kwlow when the value of the switching flag input from the OR circuit 33 is "1". In other words, when field weakening control is required (when the value of the switching flag is "1"), the control gain changing unit 30 reduces the anti-wind-up gain Kw to a smaller value than when field weakening control is not required.
[0072] Thus, in this embodiment, the control gain changing unit 30 lowers the control gain when field weakening control is performed compared to when field weakening control is not performed. The control gain changing unit 30 also determines the motor speed as a state variable of the motor M and determines whether or not the motor speed is such that field weakening control is necessary.
[0073] In the magnetic flux command value generation unit 20 configured in this way, the torque command value T*, angular velocity ω, and DC bus voltage Vdcf are input to the flux linkage command calculator 21. The flux linkage command calculator 21 calculates the uncompensated flux linkage command value Ψo* based on the torque command value T*, angular velocity ω, and DC bus voltage Vdcf.
[0074] Meanwhile, the torque command value T*, angular velocity ω, and DC bus voltage Vdcf are also input to the flux linkage command limit calculator 22. The flux linkage command limit calculator 22 calculates the upper limit value Ψomax and the lower limit value Ψomin of the flux linkage command based on the torque command value T*, angular velocity ω, and DC bus voltage Vdcf.
[0075] The pre-compensated flux linkage command value Ψo* is limited by the flux linkage command limit limiting unit 23 as needed, based on the upper limit value Ψomax or the lower limit value Ψomin, and output as the pre-compensated flux linkage command value Ψoff*.
[0076] Furthermore, the angular velocity ω and the voltage command value V* are input to the flux linkage calculator 24. The flux linkage calculator 24 calculates the flux linkage feedback value Ψof based on the angular velocity ω and the voltage command value V*.
[0077] The pre-compensated flux linkage command value Ψoff* is input to the subtractor 28 via a low-pass filter. The flux linkage feedback value Ψof is also input to the subtractor 28 via a low-pass filter. In the subtractor 28, the deviation Ψoerr is calculated by subtracting the flux linkage feedback value Ψof from the pre-compensated flux linkage command value Ψoff*.
[0078] The deviation Ψoerr is input to the PI controller 25. The PI controller 25 calculates the flux compensation value dΨobuf* by adding the value obtained by multiplying the deviation Ψoerr by the proportional gain Kp and the value obtained by multiplying the deviation Ψoerr by the integral gain Ki and then integrating. Furthermore, when performing feedback-type anti-windup processing, the flux compensation value dΨobuf* is calculated by subtracting the flux compensation value dΨo* from the pre-compensated linked flux command value Ψoff*, subtracting the value obtained by multiplying this value by the anti-windup gain Kw from the deviation Ψoerr, and then multiplying by the integral gain Ki as described above.
[0079] In this embodiment, the control gains (proportional gain Kp, integral gain Ki, and anti-wind-up gain Kw) are set in the control gain changing unit 30. As shown in Figure 3, the torque command value T*, angular velocity ω, and DC bus voltage Vdcf are input to the control gain changing unit 30. For example, the control gain changing unit 30 determines the motor speed based on the angular velocity ω and determines whether the motor speed is a speed at which field weakening control is required. If the motor speed is a speed at which field weakening control is required, the control gain is changed to a lower value compared to when field weakening control is not required.
[0080] Meanwhile, the pre-compensated flux linkage command value Ψo* output from the flux linkage command calculator 21 and the upper limit value Ψomax output from the flux linkage command limit calculator 22 are input to the flux linkage compensation limit calculator 26. The flux linkage compensation limit calculator 26 calculates an upper limit value dΨomax that limits the upper limit of the flux compensation value dΨobuf* based on the pre-compensated flux linkage command value Ψo* and the upper limit value Ψomax. The flux linkage compensation limit calculator 26 also calculates a lower limit value dΨomin that limits the lower limit of the flux compensation value dΨobuf* based on the pre-compensated flux linkage command value Ψo* and the upper limit value Ψomax.
[0081] The magnetic flux compensation value dΨobuf* output from the PI controller 25 is limited by the linked flux compensation limit unit 27 based on the upper limit value dΨomax or the lower limit value dΨomin as needed, and output as the magnetic flux compensation value dΨo*.
[0082] The pre-compensated flux linkage command value Ψoff* output from the flux linkage command limit limit unit 23 and the flux compensation value dΨo* output from the flux linkage compensation limit limit unit 27 are input to the adder 29. In the adder 29, the pre-compensated flux linkage command value Ψoff* and the flux compensation value dΨo* are added together to calculate the flux command value Ψocmp*. The calculated flux command value Ψocmp* is input to the current command value generation unit 40 shown in Figure 2. The current command value generation unit 40 generates the d-axis current command value id* and the q-axis current command value iq* based on the flux command value Ψocmp*.
[0083] The current detection unit 12 shown in Figure 2 detects the current value iu flowing through the U-phase coil of the motor M (hereinafter referred to as the "U-phase current value"), the current value iv flowing through the V-phase coil of the motor M (hereinafter referred to as the "V-phase current value"), and the current value iw flowing through the W-phase coil of the motor M (hereinafter referred to as the "W-phase current value") from the detection results of each current sensor 4. The current detection unit 12 then outputs the detected U-phase current value iu, V-phase current value iv, and W-phase current value iw to the three-phase / dq conversion unit 13.
[0084] The three-phase / dq conversion unit 13 converts the U-phase current value iu, V-phase current value iv, and W-phase current value iw obtained from the current detection unit 12 into the d-axis current value id and q-axis current value iq of the dq coordinate system using the electrical angle θ obtained from the rotation angle sensor 5. The three-phase / dq conversion unit 13 outputs the d-axis current value id and q-axis current value iq to the current control unit 15.
[0085] The angular velocity calculation unit 14 calculates the angular velocity ω based on the electrical angle θ of the motor M output from the rotation angle sensor 5. The angular velocity calculation unit 14 outputs the calculated angular velocity ω to the current control unit 15. The current control unit 15 calculates the d-axis voltage command value Vd* based on the d-axis current command value id*. The current control unit 15 calculates the q-axis voltage command value Vq* based on the q-axis current command value iq*. The current control unit 15 outputs the d-axis voltage command value Vd* and the q-axis voltage command value Vq* to the dq / three-phase conversion unit 16.
[0086] The dq / three-phase conversion unit 16 obtains the electrical angle θ from the rotation angle sensor 5. The dq / three-phase conversion unit 16 obtains the d-axis voltage command value Vd* and the q-axis voltage command value Vq* from the current control unit 15. Using the electrical angle θ, the dq / three-phase conversion unit 16 converts the d-axis voltage command value Vd* and the q-axis voltage command value Vq* into the U-phase voltage command value Vu*, V-phase voltage command value Vv*, and W-phase voltage command value Vw*, which are the voltage command values for each phase of the UVW phase in the motor M. The dq / three-phase conversion unit 16 then outputs the U-phase voltage command value Vu*, V-phase voltage command value Vv*, and W-phase voltage command value Vw* to the PWM control unit 17. The U-phase voltage command value Vu*, V-phase voltage command value Vv*, and W-phase voltage command value Vw* are modulated waves, and when they are not distinguished, they may be referred to as "voltage command signals".
[0087] The PWM control unit 17 compares a carrier wave of a predetermined carrier frequency with a voltage command signal. Based on the comparison, the PWM control unit 17 outputs a Hi-level signal during periods when the amplitude of the voltage command signal is greater than that of the carrier wave, and outputs a Lo-level signal during periods when the amplitude of the voltage command signal is smaller than that of the carrier wave, thereby outputting a PWM signal to the power converter 2. The PWM control unit 17 generates a PWM signal Du by comparing the carrier wave with the U-phase voltage command value Vu* and outputs it to the power converter 2. The PWM control unit 17 generates a PWM signal Dv by comparing the carrier wave with the V-phase voltage command value Vv* and outputs it to the power converter 2. The PWM control unit 17 generates a PWM signal Dw by comparing the carrier wave with the W-phase voltage command value Vw* and outputs it to the power converter 2.
[0088] The rotation of the motor M is controlled by the power converter 2 being driven based on the PWM signals (PWM signals Du, Dv, and Dw mentioned above) input from the PWM control unit 17.
[0089] For example, when performing field weakening control, it is ideal to operate the motor M so that the current operating point traces an equitorque line in the id-iq plane in order to maintain the specified modulation rate. However, at motor rotational speeds where field weakening control is performed, the sensitivity to the control gain increases. Therefore, if the control gain is fixed, the amount of manipulation required for the d-axis current command value id* and the q-axis current command value iq* to maintain the specified modulation rate becomes large when performing field weakening control. As a result, the q-axis current caused by the torque component changes significantly, which can lead to torque hunting. In contrast, the control device 1 of this embodiment lowers the control gain when performing field weakening control. Therefore, it is possible to suppress torque hunting.
[0090] The control device 1 of this embodiment, as described above, comprises a magnetic flux command value generation unit 20 and a current command value generation unit 40. The magnetic flux command value generation unit 20 generates a magnetic flux command value Ψocmp* based on the torque command value T*. The current command value generation unit 40 generates current command values (d-axis current command value id* and q-axis current command value iq*) based on the magnetic flux command value Ψocmp*. The magnetic flux command value generation unit 20 also comprises a linked magnetic flux command calculator 21 and a linked magnetic flux calculator 24, The system comprises a flux linkage command calculator 21 that calculates a pre-compensated flux linkage command value Ψo* based on a torque command value T*, a PI controller 25, an adder 29, and a control gain changing unit 30. The flux linkage calculator 24 calculates a flux linkage feedback value Ψof based on the motor state variables. The PI controller 25 calculates a flux compensation value dΨobuf* using the control gain based on the deviation between the pre-compensated flux linkage command value Ψo* and the flux linkage feedback value Ψof. The adder 29 calculates a flux command value Ψocmp* from the pre-compensated flux linkage command value Ψo* based on the flux compensation value dΨobuf*. The control gain changing unit 30 changes the control gain based on the motor state variables.
[0091] According to the control device 1 of this embodiment, the control gain used in the PI controller 25 is changed based on the state of the motor. Therefore, according to the control device 1 of this embodiment, when controlling the motor M with magnetic flux feedback control, it is possible to calculate a magnetic flux command value Ψocmp* corresponding to the state change of the motor M.
[0092] Furthermore, in the control device 1 of this embodiment, the control gain changing unit 30 lowers the control gain when field weakening control is performed compared to when field weakening control is not performed. With this control device 1 of this embodiment, it is possible to suppress large changes in the q-axis current caused by the torque component during field weakening control, thereby suppressing torque hunting.
[0093] Furthermore, in the control device 1 of this embodiment, the motor speed is used as the motor state variable. The control gain changing unit 30 determines whether or not field weakening control is performed based on a first rotational speed range Ra, which indicates a preset rotational speed range in which field weakening control is performed. In other words, the control gain changing unit 30 determines whether or not field weakening control is performed based on the motor speed. Therefore, it becomes possible to determine whether or not field weakening control is performed with simple control.
[0094] Furthermore, in the control device 1 of this embodiment, the control gain changing unit 30 determines whether or not field weakening control is performed based on the motor speed, the torque command value T*, and the voltage of the power supply connected to the motor (DC bus voltage Vdcf) when the motor speed falls outside the first rotational speed range Ra. With the control device 1 of this embodiment, the motor speed at which field weakening control is performed changes depending on the vehicle model in which the motor M is installed, and even when field weakening control is performed at a motor speed outside the first rotational speed range Ra, torque hunting can be suppressed.
[0095] Furthermore, in the control device 1 of this embodiment, the threshold value for determining whether or not field weakening control is performed has hysteresis. Therefore, even if the motor rotation speed repeatedly increases or decreases near the threshold value, it is possible to suppress frequent changes in the switching flag value and suppress repeated changes in the control gain.
[0096] Preferred embodiments of the present invention have been described above with reference to the attached drawings, but it goes without saying that the present invention is not limited to the above embodiments. The shapes and combinations of the constituent members shown in the above embodiments are examples, and can be modified in various ways based on design requirements, etc., without departing from the spirit of the present invention.
[0097] For example, the above embodiment described a configuration that includes a PI controller 25. However, it is also possible to adopt a configuration that performs feedback control by using a controller that performs P control or a controller that performs PID control instead of a PI controller.
[0098] Furthermore, in the above embodiment, the step-up / step-down converter 2a is a power circuit known as a magnetically coupled interleaved chopper circuit. However, the present invention is not limited thereto. For example, a single chopper type or other step-up converter may be used.
[0099] Furthermore, the above embodiment described a configuration in which a motor M and a generator G are connected to the power converter 2. However, the present invention is not limited thereto. For example, there may be configurations in which the generator G is not connected to the power converter 2, or configurations in which two or more motors M are connected to the power converter 2. [Explanation of symbols]
[0100] 1...Control device (motor control device), 2...Power converter, 20...Magnetic flux command value generation unit, 21...Magnetic flux linkage command calculator (magnetic flux command calculation unit), 22...Magnetic flux linkage command limit calculator, 23...Magnetic flux linkage command limit limiting unit, 24...Magnetic flux linkage calculator (feedback value calculation unit), 25...PI controller (magnetic flux compensation value calculation unit), 26...Magnetic flux linkage compensation limit calculator, 27...Magnetic flux linkage compensation limit limiting unit, 28...Subtractor, 29...Adder (magnetic flux command value calculation unit), 30...Control gain change unit, 40...Current command value generation unit
Claims
1. A motor control device comprising a magnetic flux command value generation unit that generates a magnetic flux command value based on a torque command value, and a current command value generation unit that generates a current command value based on the magnetic flux command value, The magnetic flux command value generation unit, A magnetic flux command calculation unit that calculates a pre-compensated magnetic flux command value based on the torque command value, A feedback value calculation unit that calculates a magnetic flux feedback value based on the motor's state variables, A magnetic flux compensation value calculation unit calculates a magnetic flux compensation value using a control gain based on the deviation between the pre-compensated magnetic flux command value and the magnetic flux feedback value, A magnetic flux command value calculation unit that calculates the magnetic flux command value from the pre-compensated magnetic flux command value based on the magnetic flux compensation value, A control gain changing unit that changes the control gain based on the state quantity. Equipped with, A relatively high control gain and a relatively low control gain are set in advance. The control gain changing unit lowers the control gain when field weakening control is performed by setting it to a relatively lower value, thereby lowering it compared to when field weakening control is not performed. A motor control device characterized by the following features.
2. The motor control device according to claim 1, wherein the state quantity is the rotational speed of the motor, and the control gain changing unit determines whether or not to perform the field weakening control based on a first rotational speed range indicating a preset rotational speed range in which the field weakening control is performed.
3. The motor control device according to claim 2, characterized in that the control gain changing unit determines whether or not to perform the field weakening control based on the rotational speed, the torque command value, and the voltage of the power supply connected to the motor when the rotational speed of the motor is outside the first rotational speed range.
4. The motor control device according to any one of claims 1 to 3, characterized in that the threshold for determining whether or not the field weakening control is performed has hysteresis.
5. A motor control device comprising a magnetic flux command value generation unit that generates a magnetic flux command value based on a torque command value, and a current command value generation unit that generates a current command value based on the magnetic flux command value, The magnetic flux command value generation unit, A magnetic flux command calculation unit that calculates a pre-compensated magnetic flux command value based on the torque command value, A feedback value calculation unit that calculates a magnetic flux feedback value based on the motor's state variables, A magnetic flux compensation value calculation unit calculates a magnetic flux compensation value using a control gain based on the deviation between the pre-compensated magnetic flux command value and the magnetic flux feedback value, A magnetic flux command value calculation unit that calculates the magnetic flux command value from the pre-compensated magnetic flux command value based on the magnetic flux compensation value, A control gain changing unit that changes the control gain based on the state quantity. Equipped with, The control gain changing unit lowers the control gain when field weakening control is performed compared to when field weakening control is not performed. The state quantity is the rotational speed of the motor, and the control gain changing unit determines whether or not the field weakening control is performed based on a first rotational speed range that indicates a preset rotational speed range in which the field weakening control is performed. The control gain changing unit determines whether or not the field weakening control is performed based on the rotation speed, the torque command value, and the voltage of the power supply connected to the motor, when the rotation speed of the motor falls outside the first rotation speed range. A motor control device characterized by the following features.
Citation Information
Patent Citations
Device and method for controlling synchronous motor
JP2003033097A
Vector controller of winding field type synchronous machine
JP2005287148A
Power conversion apparatus and control method therefor
JP2016163501A
Motor controller and power generator controller
JP2017017878A
Control device of synchronous motor
JP2018198479A