Control device for rotating electric machine, program, and method for controlling rotating electric machine
The control device for rotating electric machines addresses torque ripple by managing voltage vector distribution, specifically allocating excitation voltage within limits to reduce torque pulsation.
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- DENSO CORP
- Filing Date
- 2025-11-27
- Publication Date
- 2026-07-02
AI Technical Summary
Existing control systems for rotating electric machines, particularly wound-field type, face challenges in reducing torque ripple due to fluctuations in the q-axis component of the composite voltage vector, leading to increased torque pulsation.
A control device that combines excitation and fundamental wave voltage vectors, with a setting unit that allocates the voltage distribution within limits, using a composite vector to reduce torque ripple by preferentially allocating voltage to the excitation component over the fundamental wave component.
The solution effectively reduces torque pulsation in rotating electric machines by controlling the distribution of voltage vectors within predefined limits, ensuring stable operation and reduced torque fluctuations.
Smart Images

Figure JP2025041316_02072026_PF_FP_ABST
Abstract
Description
Control Device for Rotating Electric Machine, Program, and Control Method for Rotating Electric Machine ,
[0007] , ,
[0006] ,
[0005] Cross - Reference to Related Applications
[0001] This application is based on Japanese Application No. 2024 - 230446 filed on December 26, 2024, the contents of which are incorporated herein by reference.
[0002] This disclosure relates to a control device for a rotating electric machine, a program, and a control method for a rotating electric machine.
[0003] Conventionally, as described in Patent Document 1, a system including a magnet - field - type rotating electric machine and an inverter that electrically connects the stator winding of the rotating electric machine and a DC power supply is known. When the magnitude of the command voltage vector applied to the stator winding exceeds a limit value that depends on the voltage of the DC power supply, the control device for this system performs a process of setting the magnitude of the command voltage vector to be below the limit value. Specifically, the control device performs a process of setting the magnitude of the command voltage vector to be below the limit value by reducing the q - axis voltage component that constitutes the command voltage vector while maintaining the d - axis voltage component that constitutes the command voltage vector.
[0004] Japanese Unexamined Patent Application Publication No. 2008 - 109798
[0005] As rotating electric machines, those of the wound - field type are also known. A wound - field type rotating electric machine is configured such that when an excitation voltage is applied to the stator winding, a voltage is induced in the field winding provided in the rotor and a field current flows. In the control of a wound - field type rotating electric machine, it is desirable to reduce the torque ripple of the rotating electric machine.
[0006] The main object of this disclosure is to provide a control device for a rotating electric machine, a program, and a control method for a rotating electric machine that can reduce torque ripple.
[0007] This disclosure relates to a control device for a rotating electric machine applied to a system comprising: a rotating electric machine having a stator including stator windings and a rotor including field windings; and an inverter electrically connecting the stator windings to a DC power supply, the control device comprising: a switch control unit that performs switching control of the inverter to apply to the stator windings a composite vector obtained by combining an excitation voltage vector corresponding to a voltage that, when applied to the stator windings, induces a voltage in the field windings and causes a field current to flow, and a fundamental wave voltage vector that, when applied to the stator windings, causes a fundamental wave current to flow; and a setting unit that sets the distribution of the excitation voltage vector and the fundamental wave voltage vector with respect to a limit value.
[0008] Unlike the present disclosure, there is a comparative example in which the d-axis component of the composite vector, which consists of the d-axis component of the excitation voltage vector and the d-axis component of the fundamental wave voltage vector, is set first, and then the q-axis component of the composite vector, which consists of the q-axis component of the excitation voltage vector and the q-axis component of the fundamental wave voltage vector, is set. In the comparative example, if the q-axis component of the composite vector exceeds the value obtained by subtracting the d-axis component of the composite vector from the limit value, the q-axis component of the composite vector is limited. As a result, there is a concern that the q-axis component of the composite vector will fluctuate in accordance with the fluctuation of the d-axis component of the excitation voltage vector, and that the q-axis components of the excitation voltage vector and the fundamental wave voltage vector will be determined by chance. In this case, the torque pulsation of the rotating electric machine will increase.
[0009] These problems can occur when the q-axis component of the composite vector is set first, followed by the d-axis component of the composite vector, or when the phase of the composite vector is maintained while setting the amplitude below the limit.
[0010] According to the setting part of this disclosure, the above-mentioned problems can be addressed and the torque pulsation of the rotating electric machine can be reduced.
[0011] The above-mentioned and other purposes, features, and benefits of this disclosure will be further clarified by the following detailed description with reference to the attached drawings.The drawings are as follows: Figure 1 is an overall configuration diagram of the control system for a rotating electric machine according to the first embodiment; Figure 2 is a diagram showing the inverter and its peripheral configuration; Figure 3 is a diagram showing the fundamental wave current and excitation current; Figure 4 is a block diagram of the torque control processing of the control device; Figure 5 is a diagram showing the frequency gain response characteristics of the transfer function; Figure 6 is a diagram showing an example of a limiting mode for the excitation voltage vector; Figure 7 is a block diagram of the limiting unit; Figure 8 is a flowchart showing the procedure for calculating the d and q axis command voltages; and Figure 9 is a flowchart showing the procedure for calculating the d axis amplitude value. Figure 10 is a flowchart showing the procedure for calculating the q-axis amplitude value, Figure 11 is a flowchart showing the procedure for calculating the d-axis excitation command voltage, Figure 12 is a flowchart showing the procedure for calculating the q-axis excitation command voltage, Figure 13 is a flowchart showing the procedure for calculating the d-axis basic command voltage, Figure 14 is a flowchart showing the procedure for calculating the q-axis basic command voltage, Figure 15 is the calculation result of the current and voltage transitions according to the first embodiment and comparative example, and Figure 16 is the basic wave voltage vector according to the second embodiment. Figure 17 is a block diagram of the limiting unit, Figure 18 is a flowchart showing the procedure for calculating the d and q axis command voltages, Figure 19 is a flowchart showing the procedure for calculating the d axis basic command voltage, Figure 20 is a flowchart showing the procedure for calculating the q axis basic command voltage, Figure 21 is a flowchart showing the procedure for calculating the d axis excitation command voltage, Figure 22 is a flowchart showing the procedure for calculating the d axis amplitude value, Figure 23 is a flowchart showing the procedure for calculating the q axis excitation command voltage, and Figure 2 Figure 4 is a block diagram of the torque control process of the control device according to the third embodiment; Figure 25 is a block diagram of the torque control process of the control device according to the fourth embodiment; Figure 26 is a block diagram of the limiting unit; Figure 27 is a diagram showing the relationship between command torque and excitation voltage, etc.; Figure 28 is a diagram showing the relationship between electrical angular velocity and d-axis voltage; Figure 29 is a flowchart showing the procedure for calculating the d and q-axis command voltages; Figure 30 is a block diagram of the torque control process of the control device according to the fifth embodiment; and Figure 31 is a time chart showing the limiting mode of the fundamental wave voltage.
[0012] Multiple embodiments will be described with reference to the drawings. In multiple embodiments, functionally and / or structurally corresponding and / or related parts may be given the same reference numeral, or reference numerals that differ by hundreds or more digits. For corresponding and / or related parts, refer to the descriptions of other embodiments.
[0013] <First Embodiment> Hereinafter, a first embodiment of the control device according to the present disclosure will be described with reference to the drawings. The control device constitutes a control system for a rotating electric machine, and the control system is mounted on a vehicle. The rotating electric machine is the power source for the vehicle's movement.
[0014] As shown in Figure 1, the control system comprises a DC power supply 10, an inverter 20, a control device 30, and a rotating electric machine 40. The rotating electric machine 40 is a self-excited field-wound synchronous machine. For example, the rotating electric machine 40, inverter 20, and control device 30 may be configured as an integrated electromechanical drive unit, or the rotating electric machine 40, inverter 20, and control device 30 may each be configured as separate components.
[0015] The rotating electric machine 40 comprises a housing 41 and a stator 50 and a rotor 60 housed within the housing 41. The rotating electric machine 40 in this embodiment is an inner rotor type rotating electric machine. However, the rotating electric machine 40 is not limited to an inner rotor type; it may also be an outer rotor type.
[0016] The stator 50 comprises a stator core 51 and stator windings 52. The stator windings 52 are made of, for example, copper wire. As shown in Figure 2, the stator windings 52 include U, V, and W phase windings 52U, 52V, and 52W, which are arranged with an electrical angle offset from each other by 120°.
[0017] The rotor 60 comprises a rotor core 61 and field windings 70. The field windings 70 are made of, for example, aluminum wire, copper wire, or CNT (carbon nanotube). A rotating shaft 43 is inserted through the central hole of the rotor core 61. The rotating shaft 43 is rotatably supported in the housing 41 via bearings 42.
[0018] As shown in Figure 2, the inverter 20 includes a series connection of U, V, W phase upper arm switches SUH, SVH, SWH and U, V, W phase lower arm switches SUL, SVL, SWL. The first ends of the U, V, W phase windings 52U, 52V, 52W are connected to the low-potential terminals of the U, V, W phase upper arm switches SUH, SVH, SWH and to the high-potential terminals of the U, V, W phase lower arm switches SUL, SVL, SWL. The second ends of the U, V, W phase windings 52U, 52V, 52W are connected at the neutral point. In other words, in this embodiment, the U, V, W phase windings 52U, 52V, 52W are star-connected. In this embodiment, each switch SUH to SWH is an IGBT. Therefore, in each switch SUH to SWH, the high-potential terminal is the collector and the low-potential terminal is the emitter. A freewheeling diode is connected in antiparallel to each switch SUH to SWH.
[0019] Incidentally, each switch SUH to SWH may be, for example, an N-channel MOSFET with a body diode. In this case, the high-potential terminal is the drain, and the low-potential terminal is the source.
[0020] The positive terminals of the DC power supply 10 are connected to the high-potential terminals of the U, V, W phase upper arm switches SUH, SVH, and SWH. The negative terminals of the DC power supply 10 are connected to the low-potential terminals of the U, V, W phase lower arm switches SUL, SVL, and SWL. A smoothing capacitor 11 is connected in parallel to the DC power supply 10. The DC power supply 10 is, for example, a rechargeable battery or a fuel cell.
[0021] The control system includes a current sensor 21, an angle sensor 22, and a voltage sensor 23. The current sensor 21 detects the current of at least two phases of the phase currents flowing through the stator winding 52. The angle sensor 22 detects the rotation angle (electrical angle) of the rotor 60. The voltage sensor 23 detects the terminal voltage of the DC power supply 10. The detected values of each sensor 21 to 23 are input to the control device 30.
[0022] The control device 30 is an electronic control unit (ECU) that performs various controls on the control system, and comprises a processor 31 and a memory unit 32 as hardware. In the control device 30, the processor 31 and the memory unit 32 are connected to each other via a communication bus 33.
[0023] The memory unit 32 includes memory and storage as hardware. The memory is a storage device for storing data used in processing by the control device 30. The memory provides the processor 31 with a temporary workspace for use when the processor 31 performs processing. The memory includes, for example, ROM or RAM. The storage is a storage device that stores various programs and data for the processor 31 to read and execute, and is a non-transitory tangible storage medium. The storage includes, for example, an HDD or flash memory. The storage stores program information and the like for various processes described later.
[0024] For example, program information stored on a non-transitional physical recording medium is installed in the storage unit 32. The recording medium is, for example, a USB memory stick, CD-ROM, or DVD. Also, for example, program information transmitted via a communication network, such as OTA (Over The Air), is installed in the storage unit 32.
[0025] The control device 30 generates drive signals to turn on and off each switch SUH to SWL that constitute the inverter 20. Specifically, the control device 30 generates drive signals GUH, GUL, GVH, GVL, GWH, and GWL to turn on and off each switch SUH, SUL, SVH, SVL, SWH, and SWL in order to convert the DC power output from the DC power supply 10 into AC power and supply it to the U, V, and W phase windings 52U, 52V, and 52W, and supplies the generated drive signals GUH, GUL, GVH, GVL, GWH, and GWL to the gates of each switch SUH, SUL, SVH, SVL, SWH, and SWL. As a result, the upper arm switch and the lower arm switch are turned on alternately in each phase, with a dead time in between.
[0026] The control device 30 switches switches SUH to SWL on and off to allow a combined current of the fundamental wave current and an excitation current, which is a harmonic current with a higher frequency than the fundamental wave current, to flow through each phase winding 52U, 52V, and 52W. The fundamental wave current is the current that primarily generates torque in the rotating electric machine 40. The harmonic current is the current that primarily excites the field winding 70 and induces a field current in the field winding 70. The phase currents flowing through each phase winding 52U, 52V, and 52W are shifted by 120° in electrical angle. Figures 3(a) and (b) show an example of the transition of the fundamental wave current and excitation current in one electrical angle period. The values on the vertical axis in Figure 3 show the relative relationship of the amplitudes of the waveforms shown in Figures 3(a) and (b). In Figure 3, the ratio of the amplitude of the excitation current to the amplitude of the fundamental wave current is merely an example.
[0027] Next, using Figure 4, we will explain the torque control of the rotating electric machine 40 performed by the control device 30.
[0028] The two-phase conversion unit 80 converts the U, V, and W phase currents in the three-phase fixed coordinate system into the d-axis current Idr and q-axis current Iqr in the two-phase rotating coordinate system (dq coordinate system) based on the values detected by the current sensor 21 and the electrical angle θe detected by the angle sensor 22.
[0029] The command current calculation unit 81 calculates the d-axis basic command current Idbref and the q-axis command current Iqref based on the command torque Tref of the rotating electric machine 40. The d-axis basic command current Idbref and the q-axis command current Iqref are command values that mainly consist of the DC component corresponding to the fundamental wave current. For example, the command current calculation unit 81 can calculate the d-axis basic command current Idbref and the q-axis command current Iqref based on map information relating the command torque Tref, the d-axis basic command current Idbref, and the q-axis command current Iqref, and the input command torque Tref.
[0030] The excitation current calculation unit 82 calculates the d-axis excitation command current Idhref. The d-axis excitation command current Idhref is the command value of the AC component corresponding to the harmonic current that excites the field winding 70. The excitation frequency, which is the frequency of the d-axis excitation command current Idhref, is a higher frequency than the frequency of the d-axis basic command current Idbref.
[0031] The torque ripple compensation unit 83 calculates the q-axis excitation command current Iqhref. The q-axis excitation command current Iqhref is a command value of current intended to cancel out torque ripple caused by harmonics of the speed electromotive force and spatial harmonics. The frequency of the q-axis excitation command current Iqhref is the same as the frequency of the d-axis excitation command current Idhref. The torque ripple of the rotating electric machine 40 caused by the above factors is reduced by the q-axis excitation command current Iqhref. In this embodiment, the excitation current calculation unit 82 and the torque ripple compensation unit 83 correspond to the "excitation command unit".
[0032] The d-axis superposition unit 84 calculates the d-axis command current Idref by adding the d-axis excitation command current Idhref to the d-axis basic command current Idbref. The q-axis superposition unit 85 calculates the q-axis command current Iqref by adding the q-axis excitation command current Iqhref to the q-axis basic command current Iqbref.
[0033] The d-axis deviation calculation unit 86 calculates the d-axis current deviation ΔId by subtracting the d-axis current Idr from the d-axis command current Idref. The q-axis deviation calculation unit 87 calculates the q-axis current deviation ΔIq by subtracting the q-axis current Iqr from the q-axis command current Iqref.
[0034] The first d-axis controller 88 calculates the d-axis basic command voltage Vdf as an manipulated variable for feedback control to set the d-axis current deviation ΔId to zero. The first q-axis controller 90 calculates the q-axis basic command voltage Vqf as an manipulated variable for feedback control to set the q-axis current deviation ΔIq to zero. The d and q-axis basic command voltages Vdf and Vqf are voltage command values mainly consisting of DC components corresponding to the d and q-axis basic command currents Idbref and Iqref. In this embodiment, the feedback control of each controller 88 and 90 is proportional-integral control.
[0035] In this embodiment, the response frequencies of each controller 88, 90 are lower than the frequencies of the d, q axis excitation command currents Idhref, Iqhref, for example, less than or equal to half the frequencies of the d, q axis excitation command currents Idhref, Iqhref. Therefore, the output signals of each controller 88, 90, the d, q axis basic command voltages Vdf, Vqf, cannot follow the excitation frequency and become DC signals or signals close to DC signals.
[0036] The second d-axis controller 89 calculates the d-axis excitation command voltage Vdh corresponding to the d-axis excitation command current Idhref based on the d-axis current deviation ΔId. The d-axis excitation command voltage Vdh is an AC signal, and the frequency of the main component of the d-axis excitation command voltage Vdh is the same frequency as the excitation frequency. In this embodiment, the second d-axis controller 89 is a controller with high responsiveness to the excitation frequency component included in the d-axis current deviation ΔId and is sometimes called a resonant regulator. The transfer function G(s) of the resonant regulator is expressed, for example, by the following equation (eq1). In the following equation (eq1), ωh is the excitation frequency and is the center frequency of the second d-axis controller 89. k is the control gain, b is the bandwidth, R is the resistance value R (unit: Ω) indicating the motor resistance of the rotating electric machine 40, L is the inductance value (unit: H) indicating the inductance of the rotating electric machine 40, and s is the Laplace operator. In the equation (eq1) below, an example is shown in which the transfer function G(s) includes the damping term 2・b・s and the inverse transfer function R+Ls of the rotating electric machine 40. The second d-axis controller 89 extracts the component of the d-axis current deviation ΔId that has the same frequency as the excitation frequency ωh, and calculates the d-axis excitation command voltage Vdh by multiplying the extracted component by the control gain k. An example of the transfer function G(s) is shown in Figure 5. In the transfer function G(s) shown in Figure 5, the gain gradually increases from the low-frequency side toward the excitation frequency ωh, and gradually decreases from the excitation frequency ωh toward the high-frequency side. As a result, the frequency response of the excitation control at the excitation frequency ωh (specifically, the gain of the frequency response) is higher than the frequency response of the fundamental wave control (specifically, the gain of the frequency response). In the example shown in Figure 5, the gain at the excitation frequency ωh is 0 dB.
[0037] The second q-axis controller 91 calculates the q-axis excitation command voltage Vqh corresponding to the q-axis excitation command current Iqhref based on the q-axis current deviation ΔIq. The q-axis excitation command voltage Vqh is an AC signal, and the frequency of the q-axis excitation command voltage Vqh is the same as the excitation frequency. In this embodiment, the second q-axis controller 91 is a resonant regulator that extracts the excitation frequency component included in the q-axis current deviation ΔIq, similar to the second d-axis controller 89. The transfer function G(s) of the resonant regulator is expressed, for example, by the above equation (eq1).
[0038] The limiting unit 92 calculates the d-axis command voltage Vdref and the q-axis command voltage Vqref based on the d and q-axis basic command voltages Vdf and Vqf and the d and q-axis excitation command voltages Vdh and Vqh. The processing of the limiting unit 92 will be described in detail later.
[0039] In this embodiment, as illustrated in Figure 5, the responsiveness of the excitation current (specifically, the d-axis excitation command current Idhef) in frequency is higher in the second d-axis controller 89 and the second q-axis controller 91 than in the responsiveness of the feedback control of the first d-axis controller 88 and the first q-axis controller 90.
[0040] In this embodiment, the first d-axis controller 88 and the first q-axis controller 90 correspond to the "fundamental wave control unit." Furthermore, the second d-axis controller 89 and the second q-axis controller 91 correspond to the "excitation control unit."
[0041] The three-phase conversion unit 94 converts the d and q-axis command voltages Vdref and Vqref in the two-phase rotating coordinate system to the U, V, and W-phase command voltages VUref, VVref, and VWref in the three-phase fixed coordinate system based on the d and q-axis command voltages Vdref and Vqref and the electrical angle θe. The U, V, and W-phase command voltages VUref, VVref, and VWref have waveforms with a phase shift of 120 degrees in the electrical angle. The U, V, and W-phase command voltages VUref, VVref, and VWref are composite voltages of the fundamental voltage corresponding to the fundamental wave current and the harmonic voltage corresponding to the harmonic current.
[0042] The signal generation unit 95 generates drive signals GUH to GWL for the upper and lower arm switches SUH to SWL in the U, V, and W phases to cause the combined current to flow through the stator winding 52 based on the U, V, and W phase command voltages VUref, VVref, and VWref. The generated drive signals GUH to GWL are input to the gates of the switches SUH to SWL. Thereby, the switching control of the inverter 20 is executed. In the present embodiment, the signal generation unit 95 corresponds to the "switch control unit".
[0043] Next, the restriction unit 92, which is a characteristic configuration of the present embodiment, will be described. The restriction unit 92 is a processing unit for reducing the torque pulsation of the rotating electrical machine 40. In order to reduce the torque pulsation, as shown in FIG. 6, the restriction unit 92 reduces the magnitude of the fundamental voltage vector Vs (corresponding to the "second target vector") so that the magnitude of the combined vector of the fundamental voltage vector Vs (corresponding to the "second target vector") and the excitation voltage vector Ve (corresponding to the "first target vector") becomes equal to or less than the limit value Limit. FIG. 6 shows an example in which the phase of the fundamental voltage vector is not changed before and after the magnitude of the fundamental voltage vector Vs is restricted. The magnitude of the fundamental voltage vector Vs is the square root of the sum of the squares of the d-axis fundamental command voltage Vdf and the q-axis fundamental command voltage Vqf. The magnitude of the excitation voltage vector Ve is the square root of the sum of the squares of the d-axis excitation command voltage Vdh and the q-axis excitation command voltage Vqh. Since the excitation voltage is alternating current, the excitation voltage vector Ve changes around the tip of the fundamental voltage vector Vs. In FIG. 6, the excitation voltage vectors at the maximum and minimum values of the alternating current excitation voltage are shown. The detected value of the voltage sensor 23 is input to the restriction unit 92.
[0044] FIG. 7 is a block diagram of the restriction unit 92.
[0045] In the restriction unit 92, the first calculation unit 93A calculates the final d-axis excitation command voltage VdhLim based on the d-axis excitation command voltage Vdh calculated by the second d-axis controller 89.
[0046] The d-axis amplitude calculation unit 93B calculates the amplitude of the d-axis excitation command voltage Vdh, which is an AC signal, or the d-axis amplitude value Vdha, which is equivalent to the amplitude, based on the d-axis excitation command voltage Vdh calculated by the second d-axis controller 89. In the present embodiment, the d-axis amplitude calculation unit 93B acquires a plurality of d-axis excitation command voltages Vdh in one excitation period Tr, and sets the maximum value among the absolute values of the acquired plurality of d-axis excitation command voltages Vdh as the d-axis amplitude value Vdha. One excitation period Tr is the reciprocal (= 1 / fr) of the frequency fr of the excitation current in the three-phase fixed coordinate system.
[0047] The d-axis amplitude limiting unit 93C calculates the final d-axis amplitude value VdhaLim based on the comparison between the calculated d-axis amplitude value Vdha and the limit value Limit. In the present embodiment, the limit value Limit is set based on the detected voltage VB of the voltage sensor 23. Specifically, the limiting unit 92 sets the limit value Limit to "Limit = √(3 / 8) × VB".
[0048] The q-axis amplitude calculation unit 93D calculates the amplitude of the q-axis excitation command voltage Vqh, which is an AC signal, or the q-axis amplitude value Vqha, which is equivalent to the amplitude, based on the q-axis excitation command voltage Vqh calculated by the second q-axis controller 91. In the present embodiment, similar to the d-axis amplitude calculation unit 93B, the q-axis amplitude calculation unit 93D acquires N q-axis excitation command voltages Vqh in one excitation period Tr, and sets the maximum value among the absolute values of the acquired N q-axis excitation command voltages Vqh as the q-axis amplitude value Vqha.
[0049] The q-axis amplitude limiting unit 93E calculates the final q-axis amplitude value VqhaLim based on the calculated q-axis amplitude value Vqha, the d-axis amplitude value VdhaLim, and the limit value Limit.
[0050] Note that the d-axis amplitude calculation unit 93B may calculate the d-axis amplitude value Vdha using a Fourier transform (specifically, a digital Fourier transform) with the d-axis excitation command voltage Vdh as an input. Also, the q-axis amplitude calculation unit 93D may calculate the q-axis amplitude value Vqha using a Fourier transform (specifically, a digital Fourier transform) with the q-axis excitation command voltage Vqh as an input.
[0051] The second calculation unit 93F calculates the final q-axis excitation command voltage VqhLim based on the q-axis excitation command voltage Vqh calculated by the second q-axis controller 91 and the d-axis amplitude value VdhaLim calculated by the d-axis amplitude limiting unit 93C.
[0052] The third calculation unit 93G calculates the final d-axis basic command voltage VdLim based on the d-axis basic command voltage Vdf calculated by the first d-axis controller 88, the d-axis amplitude value VdhaLim calculated by the d-axis amplitude limiting unit 93C, and the d-axis amplitude value VqhaLim calculated by the q-axis amplitude limiting unit 93E.
[0053] The fourth calculation unit 93H calculates the final q-axis basic command voltage VqLim based on the q-axis basic command voltage Vqf calculated by the first q-axis controller 90, the d-axis amplitude value VdhaLim calculated by the d-axis amplitude limiting unit 93C, and the d-axis amplitude value VqhaLim calculated by the q-axis amplitude limiting unit 93E.
[0054] In this embodiment, the first calculation unit 93A and the second calculation unit 93F correspond to the "first setting unit," and the third calculation unit 93G and the fourth calculation unit 93H correspond to the "second setting unit."
[0055] The d-axis addition unit 93I calculates the d-axis command voltage Vdref as the sum of the d-axis excitation command voltage VdhLim calculated by the first calculation unit 93A and the d-axis basic command voltage VdLim calculated by the third calculation unit 93G. The q-axis addition unit 93J calculates the q-axis command voltage Vqref as the sum of the q-axis excitation command voltage VqhLim calculated by the second calculation unit 93F and the q-axis basic command voltage VqLim calculated by the fourth calculation unit 93H.
[0056] Figure 8 is a flowchart showing the procedure for calculating the d and q axis command voltages Vdref and Vqref, which are performed by the control device 30. This process is performed repeatedly.
[0057] In step S10, the first d-axis controller 88 calculates the d-axis basic command voltage Vdf, and the second d-axis controller 89 calculates the d-axis excitation command voltage Vdh. Also, the first q-axis controller 90 calculates the q-axis basic command voltage Vqf, and the second q-axis controller 91 calculates the q-axis excitation command voltage Vqh.
[0058] In step S11, the calculation process for the d-axis amplitude value VdhaLim is performed. Specifically, as shown in Figure 9, in step S20, the d-axis amplitude calculation unit 93B calculates the d-axis amplitude value Vdha using the method described above.
[0059] In steps S21 to S23, the d-axis amplitude limiting unit 93C calculates the final d-axis amplitude value VdhaLim. Specifically, in step S21, the d-axis amplitude limiting unit 93C determines whether the d-axis amplitude value Vdha calculated in step S20 is greater than or equal to the limit value Limit. If the d-axis amplitude limiting unit 93C determines that the d-axis amplitude value Vdha is less than the limit value Limit, it proceeds to step S22 and sets the calculated d-axis amplitude value Vdha as the final d-axis amplitude value VdhaLim. On the other hand, if the d-axis amplitude limiting unit 93C determines that the d-axis amplitude value Vdha is greater than or equal to the limit value Limit, it proceeds to step S23 and sets the limit value Limit as the final d-axis amplitude value VdhaLim.
[0060] Returning to the explanation of Figure 8, in the following step S12, the calculation process for the q-axis amplitude value VqhaLim is performed. Specifically, as shown in Figure 10, in step S30, the q-axis amplitude calculation unit 93D calculates the q-axis amplitude value Vqha using the method described above.
[0061] In steps S31 to S34, the q-axis amplitude limiting unit 93E calculates the final q-axis amplitude value VqhaLim. Specifically, in step S31, the q-axis amplitude limiting unit 93E calculates the high-frequency amplitude Vmha based on the d-axis amplitude value VdhaLim calculated in step S22 or S23 of Figure 9, the q-axis amplitude value Vqha calculated in step S30, and the following formula (eq1).
[0062] In step S32, the q-axis amplitude limiting unit 93E determines whether the calculated high-frequency amplitude Vomha is greater than or equal to the limit value Limit. If the q-axis amplitude limiting unit 93E determines that the high-frequency amplitude Vomha is less than the limit value Limit, it proceeds to step S33 and sets the calculated q-axis amplitude value Vqha as the final q-axis amplitude value VqhaLim. On the other hand, if the q-axis amplitude limiting unit 93E determines that the high-frequency amplitude Vomha is greater than or equal to the limit value Limit, it proceeds to step S34 and calculates the final q-axis amplitude value VqhaLim based on the d-axis amplitude value VdhaLim calculated in the process of Figure 9, the limit value Limit, and the following formula (eq3).
[0063] Returning to the explanation of Figure 8, in the following step S13, the first calculation unit 93A calculates the final d-axis excitation command voltage VdhLim. Specifically, as shown in Figure 11, in step S40, the first calculation unit 93A determines whether the d-axis excitation command voltage Vdh calculated by the second d-axis controller 89 is greater than or equal to the limit value Limit.
[0064] If the first calculation unit 93A determines that the d-axis excitation command voltage Vdh is below the limit value Limit, it proceeds to step S41 and determines whether "Vdh ≤ -Limit" is true. If the first calculation unit 93A determines that "Vdh > -Limit", it proceeds to step S42 and sets the calculated d-axis excitation command voltage Vdh as the final d-axis excitation command voltage VdhLim. On the other hand, if the first calculation unit 93A determines in step S41 that "Vdh ≤ -Limit", it proceeds to step S43 and sets "-Limit" as the final d-axis excitation command voltage VdhLim. On the other hand, if the first calculation unit 93A determines in step S40 that the d-axis excitation command voltage Vdh is greater than or equal to the limit value Limit, it proceeds to step S44 and sets the limit value Limit as the final d-axis excitation command voltage VdhLim.
[0065] Returning to the explanation of Figure 8, in the following step S14, the second calculation unit 93F calculates the final q-axis excitation command voltage VqhLim. Specifically, as shown in Figure 12, in step S50, the second calculation unit 93F calculates the high-frequency amplitude Vomhr based on the d-axis amplitude value VdhaLim calculated in the process of Figure 9, the q-axis excitation command voltage Vqh calculated by the second q-axis controller 91, and the following equation (eq4).
[0066] In step S51, the second calculation unit 93F determines whether the calculated high-frequency amplitude Vomhr is greater than or equal to the limit value Limit.
[0067] If the second calculation unit 93F determines that the high-frequency amplitude Vomhr is below the limit value Limit, it proceeds to step S52 and sets the calculated q-axis excitation command voltage Vqh as the final q-axis excitation command voltage VqhLim.
[0068] On the other hand, if the second calculation unit 93F determines that the high-frequency amplitude Vomhr is greater than or equal to the limit value Limit, it proceeds to step S53 and determines whether the calculated q-axis excitation command voltage Vqh is greater than 0. If the second calculation unit 93F determines that the q-axis excitation command voltage Vqh is greater than 0, it proceeds to step S54 and calculates the final q-axis excitation command voltage VqhLim based on the d-axis amplitude value VdhaLim calculated in the process of Figure 9, the limit value Limit, and the following formula (eq5).
[0069] On the other hand, if the second calculation unit 93F determines in step S53 that the q-axis excitation command voltage Vqh is 0 or less, it proceeds to step S55 and calculates the final q-axis excitation command voltage VqhLim based on the d-axis amplitude value VdhaLim calculated in the process of Figure 9, the limit value Limit, and the following equation (eq6).
[0070] According to the process in steps S11 to S14 of Figure 8, under conditions where the magnitude of the voltage vector applied from the inverter 20 to the stator winding 52 cannot exceed the limit value Limit, the voltage of the DC power supply 10 can be preferentially allocated to the excitation voltage component rather than the fundamental wave voltage component.
[0071] In the following step S15, the third calculation unit 93G calculates the final d-axis basic command voltage VdLim. Specifically, as shown in Figure 13, in step S60, the third calculation unit 93G determines whether the following equation (eq7) is true based on the d-axis basic command voltage Vdf calculated by the first d-axis controller 88, the d-axis amplitude value VdhaLim calculated in the process of Figure 9, the q-axis amplitude value VqhaLim calculated in the process of Figure 12, and the limit value Limit. The condition in the following equation (eq7) is a condition for determining whether the d-axis component of the composite vector is greater than the difference between the limit value Limit and the q-axis amplitude value VqhaLim.
[0072] If the third calculation unit 93G determines in step S60 that it is positive, it proceeds to step S61 and determines whether the calculated d-axis basic command voltage Vdf is greater than 0. If the third calculation unit 93G determines in step S61 that it is positive, it proceeds to step S62 and sets the limit value Limit to the d-axis calculation value VdLimcal.
[0073] In the following step S63, the third calculation unit 93G calculates the final d-axis basic command voltage VdLim based on the calculated d-axis amplitude value VdhaLim, the calculated q-axis amplitude value VqhaLim, the limit value Limit, and the following equation (eq8).
[0074] On the other hand, if the third calculation unit 93G determines that it is negative in step S61, it proceeds to step S64 and sets "-Limit" as the d-axis calculation value VdLimcal.
[0075] In the following step S65, the third calculation unit 93G calculates the final d-axis basic command voltage VdLim based on the calculated d-axis amplitude value VdhaLim, the calculated q-axis amplitude value VqhaLim, the limit value Limit, and the following equation (eq9).
[0076] If the third calculation unit 93G determines in step S60 that it is negative, it proceeds to step S66 to determine whether the calculated d-axis basic command voltage Vdf is greater than 0. If the third calculation unit 93G determines in step S66 that it is positive, it proceeds to step S67 to calculate the d-axis calculated value VdLimcal by adding the calculated d-axis basic command voltage VdLim and the calculated d-axis amplitude value VdhaLim. In the following step S68, the third calculation unit 93G sets the calculated d-axis basic command voltage Vdf as the final d-axis basic command voltage VdLim.
[0077] On the other hand, if the third calculation unit 93G determines that the result is negative in step S66, it proceeds to step S69 and calculates the d-axis calculated value VdLimcal by subtracting the calculated d-axis amplitude value VdhaLim from the calculated d-axis basic command voltage VdLim. In the following step S70, the third calculation unit 93G sets the calculated d-axis basic command voltage Vdf as the final d-axis basic command voltage VdLim.
[0078] Returning to the explanation of Figure 8, in the following step S16, the fourth calculation unit 93H calculates the final q-axis basic command voltage VqLim. Specifically, as shown in Figure 14, in step S80, the fourth calculation unit 93H calculates the voltage amplitude Vmb based on the d-axis basic command voltage Vdf calculated by the first d-axis controller 88, the q-axis basic command voltage Vqf calculated by the first q-axis controller 90, the d-axis amplitude value VdhaLim calculated in the process of Figure 9, the q-axis amplitude value VqhaLim calculated in the process of Figure 12, and the following equation (eq10).
[0079] In the subsequent step S81, the fourth calculation unit 93H determines whether the calculated voltage amplitude Vomb is greater than or equal to the limit value Limit. If the fourth calculation unit 93H determines that the voltage amplitude Vomb is less than the limit value Limit, it proceeds to step S82, and the calculated q-axis basic command voltage Vqf is set as the final q-axis basic command voltage VqLim.
[0080] On the other hand, if the fourth calculation unit 93H determines affirmatively in step S81, it proceeds to step S83 and determines whether the calculated q-axis basic command voltage Vqf is greater than 0. If the fourth calculation unit 93H determines affirmatively in step S83, it proceeds to step S84 and calculates the final q-axis basic command voltage VqLim based on the d-axis calculation value VdLimcal calculated in the process of Figure 13, the q-axis amplitude value VqhaLim calculated in the process of Figure 10, the limit value Limit, and the following formula (eq11).
[0081] On the other hand, if the fourth calculation unit 93H determines that the result is negative in step S83, it proceeds to step S85 and calculates the final q-axis basic command voltage VqLim based on the d-axis calculation value VdLimcal calculated in the process of Figure 13, the q-axis amplitude value VqhaLim calculated in the process of Figure 10, the limit value Limit, and the following equation (eq12).
[0082] Returning to the explanation of Figure 8, in the following step S17, the d-axis addition unit 93I calculates the d-axis command voltage Vdref by adding the d-axis basic command voltage VdLim calculated by the third calculation unit 93G and the d-axis excitation command voltage VdhLim calculated by the first calculation unit 93A. The q-axis addition unit 93J calculates the q-axis command voltage Vqref by adding the q-axis basic command voltage VqLim calculated by the fourth calculation unit 93H and the q-axis excitation command voltage VqhLim calculated by the second calculation unit 93F.
[0083] The torque pulsation reduction effect of this embodiment will be explained using Figure 15. Figure 15 shows the changes in the d and q axis currents Idr and Iqr and the d and q axis voltages Vdr and Vqr. In the comparative example of Figure 15, the d axis excitation command voltage VdhLim and the d axis basic command voltage VdLim are set first, and then the q axis excitation command voltage VqhLim and the q axis basic command voltage VqLim are set.
[0084] In the comparative example, if the q-axis component of the composite vector exceeds the value obtained by subtracting the d-axis component of the composite vector from the limit value Limit, the q-axis component of the composite vector is limited to the value obtained by subtracting the d-axis component of the composite vector from the limit value Limit. As a result, the q-axis voltage Vqr fluctuates in accordance with the fluctuation of the d-axis voltage Vdr, and the q-axis excitation command voltage VqhLim and the q-axis basic command voltage VqLim are determined by chance. This causes the q-axis current Iqr to pulsate, and the torque pulsation of the rotating electric machine 40 increases.
[0085] In contrast, according to this embodiment, it is possible to suppress the occurrence of situations in which the q-axis excitation command voltage VqhLim and the q-axis basic command voltage VqLim are determined by chance. As a result, the occurrence of pulsation in the q-axis current Iqr can be suppressed, and the torque pulsation of the rotating electric machine 40 can be reduced.
[0086] Depending on the operating point of the rotating electric machine 40, which is determined by the command torque Tref and the rotational speed of the rotor 60, the d-axis excitation command voltage VdhLim may become greater than the q-axis excitation command voltage VqhLim. In this case, the excitation component included in the d-axis current becomes greater than the excitation component included in the q-axis current (see Figure 15). Even in this case, torque pulsation can be reduced according to this embodiment.
[0087] <Modification of the First Embodiment> The limiting unit 92 may calculate the q-axis excitation command voltage VqhLim before the d-axis excitation command voltage VdhLim. Also, the limiting unit 92 may calculate the q-axis basic command voltage VqLim before the d-axis basic command voltage VdLim. The output of the first calculation unit 93A may be input to the d-axis amplitude calculation unit 93B, in which case the calculation of the d-axis amplitude limiting unit 93C becomes unnecessary. Similarly, the output of the second calculation unit 93F may be input to the q-axis amplitude calculation unit 93D, in which case the calculation of the q-axis amplitude limiting unit 93E becomes unnecessary. Even if the limiting unit 92 does not perform limiting processing, the voltage applied to the rotating electric machine 40 will be capped at a certain value due to the constraints of the power supply voltage. Therefore, the first calculation unit 93A, the d-axis amplitude limiting unit 93C, the q-axis amplitude limiting unit 93E, and the second calculation unit 93F may not perform any substantial limiting processing by setting the limit value Limit to a large value, and the third calculation unit 93G and the fourth calculation unit 93H may perform limiting processing so that the excitation voltage is prioritized.
[0088] <Second Embodiment> The second embodiment will now be described, focusing on the differences from the first embodiment, with reference to the drawings. In this embodiment, as shown in Figure 16, the limiting unit 92 reduces the magnitude of the excitation voltage vector Ve, one of the fundamental wave voltage vector Vs and the excitation voltage vector Ve. Figure 16 shows an example in which the phase of the excitation voltage vector does not change before and after limiting the magnitude of the excitation voltage vector Ve. In this embodiment, the fundamental wave voltage vector Vs corresponds to the "first target vector," and the excitation voltage vector Ve corresponds to the "second target vector."
[0089] Figure 17 is a block diagram of the limiting section 92.
[0090] In the limiting unit 92, the first calculation unit 96A calculates the final d-axis basic command voltage VdLim based on the d-axis basic command voltage Vdf calculated by the first d-axis controller 88.
[0091] The second calculation unit 96B calculates the final q-axis basic command voltage VqLim based on the q-axis basic command voltage Vqf calculated by the first q-axis controller 90 and the d-axis basic command voltage VdLim calculated by the first calculation unit 96A.
[0092] The third calculation unit 96C calculates the final d-axis excitation command voltage VdhLim based on the d-axis excitation command voltage Vdh calculated by the second d-axis controller 89, the d-axis basic command voltage VdLim calculated by the first calculation unit 96A, and the q-axis basic command voltage VqLim calculated by the second calculation unit 96B.
[0093] The d-axis amplitude calculation unit 96D calculates the d-axis amplitude value Vdha based on the d-axis excitation command voltage Vdh calculated by the second d-axis controller 89, similar to the d-axis amplitude calculation unit 93B in Figure 7.
[0094] The d-axis amplitude limiting unit 96E calculates the final d-axis amplitude value VdhaLim based on the calculated d-axis amplitude value Vdha and the calculated d-axis basic command voltage VdLim and q-axis basic command voltage VqLim.
[0095] The fourth calculation unit 96F calculates the final q-axis excitation command voltage VqhLim based on the q-axis excitation command voltage Vqh calculated by the second q-axis controller 91, the d-axis amplitude value VdhaLim calculated by the d-axis amplitude limiting unit 96E, and the calculated d-axis basic command voltage VdLim and q-axis basic command voltage VqLim.
[0096] In this embodiment, the first calculation unit 96A and the second calculation unit 96B correspond to the "first setting unit," and the third calculation unit 96C and the fourth calculation unit 96F correspond to the "second setting unit."
[0097] The d-axis addition unit 96G calculates the d-axis command voltage Vdref as the sum of the d-axis basic command voltage VdLim calculated by the first calculation unit 96A and the d-axis excitation command voltage VdhLim calculated by the third calculation unit 96C. The q-axis addition unit 96H calculates the q-axis command voltage Vqref as the sum of the q-axis basic command voltage VqLim calculated by the second calculation unit 96B and the q-axis excitation command voltage VqhLim calculated by the fourth calculation unit 96F.
[0098] Figure 18 is a flowchart showing the procedure for calculating the d and q axis command voltages Vdref and Vqref, which are performed by the control device 30. This process is performed repeatedly.
[0099] After step S10 is completed, in step S101, the first calculation unit 96A performs the calculation of the final d-axis basic command voltage VdLim. Specifically, as shown in Figure 19, in step S110, the first calculation unit 96A determines whether the d-axis basic command voltage Vdf calculated in step S10 is greater than or equal to the limit value Limit. If the first calculation unit 96A determines that the d-axis basic command voltage Vdf is less than the limit value Limit, it proceeds to step S111 and determines whether "Vdf ≤ -Limit". If the first calculation unit 96A determines that "Vdf > -Limit", it proceeds to step S112 and sets the calculated d-axis basic command voltage Vdf as the final d-axis basic command voltage VdLim. On the other hand, if the first calculation unit 96A determines in step S111 that "Vdf ≤ -Limit", it proceeds to step S113 and sets "-Limit" as the final d-axis basic command voltage VdLim. On the other hand, if the first calculation unit 96A determines in step S110 that the d-axis basic command voltage Vdf is greater than or equal to the limit value Limit, it proceeds to step S114 and sets the limit value Limit as the final d-axis basic command voltage VdLim.
[0100] Returning to the explanation of Figure 18, in the following step S102, the second calculation unit 96B calculates the final q-axis basic command voltage VqLim. Specifically, as shown in Figure 20, in step S120, the second calculation unit 96B calculates the fundamental wave amplitude Vomt based on the d-axis basic command voltage VdLim calculated in the process of Figure 19, the q-axis basic command voltage Vqf calculated by the first q-axis controller 90, and the following equation (eq13).
[0101] In step S121, the second calculation unit 96B determines whether the calculated fundamental wave amplitude Vomt is greater than or equal to the limit value Limit.
[0102] If the second calculation unit 96B determines that the fundamental wave amplitude Vomt is below the limit value Limit, it proceeds to step S122, and sets the calculated q-axis fundamental command voltage Vqf as the final q-axis fundamental command voltage VqLim.
[0103] On the other hand, if the second calculation unit 96B determines that the fundamental wave amplitude Vomt is greater than or equal to the limit value Limit, it proceeds to step S123 and determines whether the calculated q-axis fundamental command voltage Vqf is greater than 0. If the second calculation unit 96B determines that the q-axis fundamental command voltage Vqf is greater than 0, it proceeds to step S124 and calculates the final q-axis fundamental command voltage VqLim based on the d-axis fundamental command voltage VdLim calculated in the process of Figure 19, the limit value Limit, and the following equation (eq14).
[0104] On the other hand, if the second calculation unit 96B determines in step S123 that the q-axis basic command voltage Vqf is 0 or less, it proceeds to step S125 and calculates the final q-axis basic command voltage VqLim based on the d-axis basic command voltage VdLim calculated in the process shown in Figure 19, the limit value Limit, and the following formula (eq15).
[0105] According to the process in steps S101 and S102 of Figure 18, under conditions where the magnitude of the composite vector cannot exceed the limit value Limit, the voltage of the DC power supply 10 can be preferentially allocated to the fundamental wave voltage component rather than the excitation voltage component.
[0106] In the following step S103, the third calculation unit 96C calculates the final d-axis excitation command voltage VdhLim. Specifically, as shown in Figure 21, in step S130, the third calculation unit 96C determines whether the following equation (eq16) is true based on the d-axis basic command voltage VdLim calculated in the process of Figure 19, the q-axis basic command voltage VqLim calculated in the process of Figure 20, the calculated d-axis excitation command voltage Vdh, and the limit value Limit.
[0107] If the third calculation unit 96C determines in step S130 that it is correct, it proceeds to step S131 and determines whether the calculated d-axis excitation command voltage Vdh is greater than 0. If the third calculation unit 96C determines in step S131 that it is correct, it proceeds to step S132 and calculates the final d-axis excitation command voltage VdhLim based on the calculated d-axis basic command voltage VdLim and q-axis basic command voltage VqLim, the limit value Limit, and the following formula (eq17).
[0108] On the other hand, if the third calculation unit 96C determines that the result is negative in step S131, it proceeds to step S32 and calculates the final d-axis excitation command voltage VdhLim based on the calculated d-axis basic command voltage VdLim and q-axis basic command voltage VqLim, the limit value Limit, and the following formula (eq18).
[0109] If the third calculation unit 96C determines that the result is negative in step S130, it proceeds to step S134 and sets the calculated d-axis excitation command voltage Vdh as the final d-axis basic command voltage VdLim.
[0110] Returning to the explanation of Figure 18, in the following step S104, the calculation process for the d-axis amplitude value VdhaLim is performed. Specifically, as shown in Figure 22, in step S150, the d-axis amplitude calculation unit 96D calculates the d-axis amplitude value Vdha using the method described above.
[0111] In the subsequent step S151, the d-axis amplitude limiting unit 96E determines whether the following equation (eq19) is true based on the calculated d-axis basic command voltage VdLim and q-axis basic command voltage VqLim, the calculated d-axis amplitude value Vdha, and the limit value Limit.
[0112] If the d-axis amplitude limiting unit 96E determines that the result is negative in step S151, it proceeds to step S152, and the calculated d-axis amplitude value Vdha is set as the final d-axis amplitude value VdhaLim.
[0113] On the other hand, if the d-axis amplitude limiting unit 96E makes a positive determination in step S151, it proceeds to step S153 and calculates the final d-axis amplitude value VdhaLim based on the calculated d-axis basic command voltage VdLim and q-axis basic command voltage VqLim, the limit value Limit, and the following formula (eq20).
[0114] Returning to the explanation of Figure 18, in the following step S105, the fourth calculation unit 96F performs the calculation of the final q-axis excitation command voltage VqhLim. Specifically, as shown in Figure 23, in step S160, the fourth calculation unit 96F calculates the voltage amplitude Vomb based on the calculated d-axis basic command voltage VdLim and q-axis basic command voltage VqLim, the calculated d-axis amplitude value VdhaLim, the calculated q-axis excitation command voltage Vqh, and the following equation (eq21).
[0115] In the subsequent step S161, the fourth calculation unit 96F determines whether the calculated voltage amplitude Vomb is greater than or equal to the limit value Limit. If the fourth calculation unit 96F determines that the voltage amplitude Vomb is less than the limit value Limit, it proceeds to step S162, and the calculated q-axis excitation command voltage Vqh is set as the final q-axis excitation command voltage VqhLim.
[0116] On the other hand, if the fourth calculation unit 96F determines affirmatively in step S161, it proceeds to step S163 to determine whether the calculated q-axis basic command voltage VqLim is greater than 0. If the fourth calculation unit 96F determines affirmatively in step S163, it proceeds to step S164 to calculate the final q-axis excitation command voltage VqhLim based on the calculated d-axis amplitude value VdhaLim, the calculated q-axis basic command voltage VqLim, the limit value Limit, and the following formula (eq22).
[0117] On the other hand, if the fourth calculation unit 96F determines that the result is negative in step S163, it proceeds to step S165 and calculates the final q-axis excitation command voltage VqhLim based on the calculated d-axis amplitude value VdhaLim, the calculated q-axis basic command voltage VqLim, the limit value Limit, and the following formula (eq23).
[0118] Returning to the explanation of Figure 18, in the following step S105, the d-axis addition unit 96G calculates the d-axis command voltage Vdref by adding the d-axis excitation command voltage VdhLim calculated by the third calculation unit 96C and the d-axis basic command voltage VdLim calculated by the first calculation unit 96A. The q-axis addition unit 96H calculates the q-axis command voltage Vqref by adding the q-axis excitation command voltage VqhLim calculated by the fourth calculation unit 96F and the q-axis basic command voltage VqLim calculated by the second calculation unit 96B.
[0119] Torque pulsation can also be reduced by the embodiment described above.
[0120] <Modification of the Second Embodiment> The limiting unit 92 may calculate the q-axis basic command voltage VqLim before the d-axis basic command voltage VdLim. The limiting unit 92 may also calculate the q-axis excitation command voltage VqhLim before the d-axis excitation command voltage VdhLim. The output of the third calculation unit 96C may be input to the d-axis amplitude calculation unit 96D, in which case the calculation by the d-axis amplitude limiting unit 96E becomes unnecessary. Even if limiting processing is not performed by the limiting unit 92, the voltage applied to the rotating electric machine 40 will be capped at a certain value due to the constraint of the power supply voltage. For this reason, the first calculation unit 96A and the second calculation unit 96B may not perform any substantial limiting processing by setting the limit value Limit to a large value, and the third calculation unit 96C, the d-axis amplitude limiting unit 93E, and the fourth calculation unit 96F may perform limiting processing so that the voltage for the fundamental wave is prioritized.
[0121] <Third Embodiment> The third embodiment will be described below, focusing on the differences from the first and second embodiments, with reference to the drawings. In this embodiment, as shown in Figure 24, the controller that calculates each command voltage in the dq coordinate system has been changed.
[0122] The d-axis controller 97 calculates the d-axis control voltage Vda as an manipulated variable for feedback control to set the calculated d-axis current deviation ΔId to zero. The q-axis controller 100 calculates the q-axis control voltage Vqa as an manipulated variable for feedback control to set the q-axis current deviation ΔIq to zero. In this embodiment, the feedback control of each controller 97 and 100 is proportional-integral control.
[0123] In this embodiment, the response frequencies of each controller 97, 100 are higher than the frequencies of the d, q-axis excitation command currents Idhref, Iqhref. Therefore, the d, q-axis control voltages Vda, Vqa, which are the output signals of each controller 97, 100, can follow the excitation frequency. As a result, the d-axis control voltage Vda is a signal in which an AC signal corresponding to the d-axis excitation command current Idhref is superimposed on a DC signal corresponding to the d-axis basic command current Idbref. Similarly, the q-axis control voltage Vqa is a signal in which an AC signal corresponding to the q-axis excitation command current Iqhref is superimposed on a DC signal corresponding to the q-axis basic command current Iqbref.
[0124] The d-axis filter unit 98 extracts the d-axis basic command voltage Vdf, which is the frequency component mainly consisting of the DC component of the calculated d-axis control voltage Vda, excluding the excitation frequency component. The q-axis filter unit 101 extracts the q-axis basic command voltage Vqf, which is the frequency component mainly consisting of the DC component of the calculated q-axis control voltage Vqa, excluding the excitation frequency component. The d-axis filter unit 98 and the q-axis filter unit 101 are, for example, bandpass filters or lowpass filters.
[0125] The d-axis excitation component calculation unit 99 calculates the d-axis excitation command voltage Vdh (= Vda + Vdf) by subtracting the extracted d-axis basic command voltage Vdf from the calculated d-axis control voltage Vda. The q-axis excitation component calculation unit 102 calculates the q-axis excitation command voltage Vqh (= Vqa + Vqf) by subtracting the extracted q-axis basic command voltage Vqf from the calculated q-axis control voltage Vqa. The calculated command voltages Vdf, Vdh, Vdf, and Vqh are input to the limiting unit 92.
[0126] In this embodiment, the d-axis excitation component calculation unit 99 and the q-axis excitation component calculation unit 102 correspond to the "excitation calculation unit". Incidentally, although a configuration in which the fundamental wave voltage is extracted by a filter and the excitation voltage is calculated by subtracting the extracted fundamental wave voltage is shown, the fundamental wave voltage may also be obtained by extracting the excitation voltage by a filter and subtracting the extracted excitation voltage, or both the fundamental wave voltage and the excitation voltage may be extracted by a filter.
[0127] According to the embodiment described above, the same effects as those of the first and second embodiments can be achieved.
[0128] <Fourth Embodiment> The fourth embodiment will now be described, focusing on the differences from the first and second embodiments, with reference to the drawings. In this embodiment, the calculation method for each command voltage VdhLim, VqhLim, VdLim, and VqLim in the limiting unit 92 has been changed.
[0129] Figure 25 is a block diagram of torque control.
[0130] In the control device 30, the speed calculation unit 103 calculates the electrical angular velocity ωe of the rotor 60 based on the value detected by the angle sensor 22. The calculated electrical angular velocity ωe and the command torque Tref are input to the limiting unit 92. Note that the value calculated by the speed calculation unit 103, which is input to the limiting unit 92 and used in subsequent processing, is not limited to the electrical angular velocity ωe, but may be, for example, the rotational speed of the rotor 60 or the mechanical angular velocity.
[0131] Figure 26 is a block diagram of the limiting section 92.
[0132] In this embodiment, the limit values VdhLmt, VqhLmt, VdfLmt, and VqfLmt for each command voltage Vdh, Vqh, Vdf, and Vqf, which keep the combined vector of the fundamental wave voltage vector Vs and the excitation voltage vector Ve below the limit value Limit, are stored as map information in the storage unit 32. Each limit value VdhLmt, VqhLmt, VdfLmt, and VqfLmt are values that were determined in advance by calculation or experiment during the design of the control device 30, depending on whether the excitation command voltage is calculated first, as in the first embodiment, or the fundamental command voltage is calculated first, as in the second embodiment. The sum of each limit value VdhLmt, VqhLmt, VdfLmt, and VqfLmt is the same value as or equivalent to the limit value Limit.
[0133] In this embodiment, the first calculation unit 104A and the second calculation unit 104B correspond to the "first setting unit," and the third calculation unit 104C and the fourth calculation unit 104D correspond to the "second setting unit."
[0134] In the limiting unit 92, the first calculation unit 104A calculates the final d-axis excitation command voltage VdhLm based on the d-axis excitation limit value VdhLmt set by the first limit value setting unit 105A and the calculated d-axis excitation command voltage Vdh. Specifically, the first limit value setting unit 105A sets the d-axis excitation limit value VdhLmt based on the input command torque Tref and electrical angular velocity ωe and map information that links the command torque Tref, electrical angular velocity ωe and the d-axis excitation limit value VdhLmt. As shown in Figure 27, the first limit value setting unit 105A increases the d-axis excitation limit value VdhLmt as the command torque Tref increases. Also, as shown in Figure 28, the first limit value setting unit 105A increases the d-axis excitation limit value VdhLmt as the electrical angular velocity ωe increases.
[0135] If the first calculation unit 104A determines that the calculated d-axis excitation command voltage Vdh is less than the d-axis excitation limit value VdhLmt, it sets the calculated d-axis excitation command voltage Vdh as the final d-axis excitation command voltage VdhLim (VdhLim = Vdh). On the other hand, if the first calculation unit 104A determines that the calculated d-axis excitation command voltage Vdh is greater than or equal to the d-axis excitation limit value VdhLmt, it sets the set d-axis excitation limit value VdhLmt as the final d-axis excitation command voltage VdhLim (VdhLim = VdhLmt).
[0136] The second calculation unit 104B calculates the final q-axis excitation command voltage VqhLm based on the q-axis excitation limit value VqhLmt set by the second limit value setting unit 105B and the calculated q-axis excitation command voltage Vqh. Specifically, the second limit value setting unit 105B sets the q-axis excitation limit value VqhLmt based on the input command torque Tref, electrical angular velocity ωe, and map information. As shown in Figure 27, the second limit value setting unit 105B increases the q-axis excitation limit value VqhLmt as the command torque Tref increases.
[0137] If the second calculation unit 104B determines that the calculated q-axis excitation command voltage Vqh is less than the q-axis excitation limit value VqhLmt, it sets the calculated q-axis excitation command voltage Vqh as the final q-axis excitation command voltage VqhLim (VqhLim = Vqh). On the other hand, if the second calculation unit 104B determines that the calculated q-axis excitation command voltage Vqh is greater than or equal to the q-axis excitation limit value VqhLmt, it sets the set q-axis excitation limit value VqhLmt as the final q-axis excitation command voltage VqhLim (VqhLim = VqhLmt).
[0138] The third calculation unit 104C calculates the final d-axis basic command voltage VdLm based on the d-axis basic limit value VdfLmt set by the third limit value setting unit 105C and the calculated d-axis basic command voltage Vdf. Specifically, the third limit value setting unit 105C calculates the d-axis basic limit value VdfLmt based on the input command torque Tref, electrical angular velocity ωe, and map information. As shown in Figure 28, the third limit value setting unit 105C increases the d-axis basic limit value VdfLmt as the electrical angular velocity ωe increases.
[0139] If the third calculation unit 104C determines that the calculated d-axis basic command voltage Vdf is less than the d-axis basic limit value VdfLmt, it sets the calculated d-axis basic command voltage Vdf as the final d-axis basic command voltage VdLim (VdLim = Vdf). On the other hand, if the third calculation unit 104C determines that the calculated d-axis basic command voltage Vdf is greater than or equal to the d-axis basic limit value VdfLmt, it sets the set d-axis basic limit value VdfLmt as the final d-axis basic command voltage VdLim (VdLim = VdfLmt).
[0140] The fourth calculation unit 104D calculates the final q-axis basic command voltage VqLim based on the q-axis basic limit value VqfLmt set by the fourth limit value setting unit 105D and the calculated q-axis basic command voltage Vqf. Specifically, the fourth limit value setting unit 105D sets the q-axis basic limit value VqfLmt based on the input command torque Tref, electrical angular velocity ωe, and map information.
[0141] If the fourth calculation unit 104D determines that the calculated q-axis basic command voltage Vqf is less than the q-axis basic limit value VqfLmt, it sets the calculated q-axis basic command voltage Vqf as the final q-axis basic command voltage VqLim (VqLim = Vqf). On the other hand, if the fourth calculation unit 104D determines that the calculated q-axis basic command voltage Vqf is greater than or equal to the q-axis basic limit value VqfLmt, it sets the set q-axis basic limit value VqfLmt as the final q-axis basic command voltage VqLim (VqLim = VqfLmt).
[0142] In the first embodiment, when the excitation command voltage is calculated first, the d-axis excitation limit value VdhLmt and the q-axis excitation limit value VqhLmt correspond to the "first limit value," and the d-axis basic limit value VdfLmt and the q-axis basic limit value VqfLmt correspond to the "second limit value." Also, in the second embodiment, when the basic command voltage is calculated first, the d-axis basic limit value VdfLmt and the q-axis basic limit value VqfLmt correspond to the "first limit value," and the d-axis excitation limit value VdhLmt and the q-axis excitation limit value VqhLmt correspond to the "second limit value."
[0143] Figure 29 is a flowchart showing the procedure for calculating the d and q axis command voltages Vdref and Vqref, which are performed by the control device 30. This process is performed repeatedly.
[0144] In step S170, the final d-axis excitation command voltage VdhLim is calculated using the method described above by processing by the first calculation unit 104A and the first limit value setting unit 105A. In step S171, the final q-axis excitation command voltage VqhLim is calculated using the method described above by processing by the second calculation unit 104B and the second limit value setting unit 105B.
[0145] In step S172, the final d-axis basic command voltage VdLim is calculated using the method described above by processing by the third calculation unit 104C and the third limit value setting unit 105C. In step S173, the final q-axis basic command voltage VqLim is calculated using the method described above by processing by the fourth calculation unit 104D and the fourth limit value setting unit 105D.
[0146] In the following step S174, the d-axis addition unit 104E calculates the d-axis command voltage Vdref by adding the d-axis basic command voltage VdLim calculated by the third calculation unit 104C and the d-axis excitation command voltage VdhLim calculated by the first calculation unit 104A. The q-axis addition unit 104F calculates the q-axis command voltage Vqref by adding the q-axis basic command voltage VqLim calculated by the fourth calculation unit 104D and the q-axis excitation command voltage VqhLim calculated by the second calculation unit 104B.
[0147] In this embodiment described above, since the limit values VdhLmt, VqhLmt, VdfLmt, and VqfLmt stored in the storage unit 32 are used, the computational load on the control device 30 can be reduced.
[0148] <Modification of the fourth embodiment> - In the map information, instead of the command torque Tref, the state parameter linked to the limit value may be the d,q axis basic command current Idbref, Iqbref, which are the correlation values of the command torque Tref, or the d axis excitation command current Idhref, which is the correlation value of the above. Also, in the map information, the state parameter linked to the limit value may be either the command torque Tref or the electrical angular velocity ωe.
[0149] The processing in the "Second Setting Unit" may be modified as follows. Specifically, each limit value VdhLmt, VqhLmt, VdfLmt, and VqfLmt may be determined to limit the magnitude of the second target vector, which is the one of the excitation voltage vector and the fundamental wave voltage vector that is not the first target vector, to a value less than or equal to the limit value Limit minus the magnitude of the first target vector set by the "First Setting Unit".
[0150] The processing of the fourth embodiment may be applied to the configuration shown in Figure 24.
[0151] <Fifth Embodiment> The fifth embodiment will now be described, focusing on the differences from the first and second embodiments, with reference to the drawings. In this embodiment, the processing content of the control device 30 has been changed, as shown in Figure 30.
[0152] In this embodiment, the limiting unit 110 performs the calculation of the d, q axis excitation command voltages VdhLim, VqhLim and the d, q axis basic command voltages VdLim, VqLim in the same manner as the limiting unit 92 in the first and second embodiments, but does not calculate the d, q axis command voltages Vdref, Vqref.
[0153] The d and q axis excitation command voltages VdhLim and Vqhim calculated by the limiting unit 110 are input to the first conversion unit 111. Based on the d and q axis excitation command voltages VdhLim and Vqhim and the electrical angle θe, the first conversion unit 111 converts the d and q axis excitation command voltages VdhLim and Vqhim in the dq coordinate system into U, V, and W phase excitation command voltages VUh, VVh, and VWh in the three-phase fixed coordinate system. The U, V, and W phase excitation command voltages VUh, VVh, and VWh have sinusoidal waveforms with a phase shift of 120 degrees in the electrical angle.
[0154] The d and q axis basic command voltages VdLim and Vqim calculated by the limiting unit 110 are input to the second conversion unit 112. Based on the d and q axis basic command voltages VdLim and Vqim and the electrical angle θe, the second conversion unit 112 converts the d and q axis basic command voltages VdLim and Vqim in the dq coordinate system into U, V, and W phase basic command voltages VUb, VVb, and VWb in the three-phase fixed coordinate system. The U, V, and W phase basic command voltages VUb, VVb, and VWb have sinusoidal waveforms with a phase shift of 120 degrees in the electrical angle.
[0155] The limiter unit 113 limits the calculated U, V, and W phase basic command voltages VUb, VVb, and VWb to the upper limit VL and outputs them if the calculated U, V, and W phase basic command voltages VUb, VVb, and VWb exceed the upper limit VL. Also, the limiter unit 113 limits the U, V, and W phase basic command voltages VUb, VVb, and VWb to the lower limit "-VL" and outputs them if the calculated U, V, and W phase basic command voltages VUb, VVb, and VWb fall below the lower limit "-VL". Figure 31 shows an example where the U phase basic command voltage VUb is limited by upper and lower limits "±VL". The limit value Limit used by the limiting unit 92 is a value greater than "√(3 / 2) × VL", and when the basic command voltage is limited by upper and lower limits, the basic command voltage becomes trapezoidal. Furthermore, VL may be varied according to the d-axis amplitude value Vdha and the q-axis amplitude value Vqha.
[0156] The U, V, W phase superposition units 114, 115, and 116 calculate the U, V, W phase command voltages VUref, VVref, and VWref by adding the calculated U, V, W phase excitation command voltages VUh, VVh, and VWh with the U, V, W phase basic command voltages VUb, VVb, and VW output from the limiter unit 113. The calculated U, V, W phase command voltages VUref, VVref, and VWref are input to the signal generation unit 95. Alternatively, the U, V, W phase basic command voltages VUb, VVb, and VWb may be subjected to neutral point voltage correction processing, such as the addition of third harmonic voltages or two-phase modulation (not shown), before being limited by the limiter unit 113. The addition of the U, V, and W phase excitation command voltages VUh, VVh, and VWh with the U, V, and W phase basic command voltages VUb, VVb, and VW output from the limiter unit 113 may be performed after converting to a duty cycle.
[0157] According to the embodiment described above, it is possible to reduce torque pulsation while increasing the voltage utilization rate by making the fundamental wave voltage trapezoidal.
[0158] <Other Embodiments> The above embodiments may be modified and implemented as follows.
[0159] The processing of the fifth embodiment may be applied to the configuration shown in Figure 24.
[0160] The limit value, Limit, may be less than "√(3 / 8) × VB". For example, the limit value, Limit, may be 85% or more of "√(3 / 8) × VB" and 95% or less.
[0161] - The torque ripple compensation unit 83 does not need to be provided in the control device 30. In this case, the q-axis excitation command current Iqhref becomes 0.
[0162] - The excitation current flowing through the stator winding 52 is not limited to harmonic currents whose fluctuating frequency is N times the frequency of the fundamental wave current (where N is an integer greater than or equal to 2). If the fluctuating frequency is higher than the frequency of the fundamental wave current, then the fluctuating frequency may be outside of N times the frequency of the fundamental wave current.
[0163] The rotating electric machine is not limited to a star-connected rotating electric machine; a delta-connected rotating electric machine may also be used.
[0164] The rotating electric machine is not limited to those used as vehicle-mounted main engines; for example, it may also be a rotating electric machine used as an ISG (Integrated Starter Generator), which is both an electric motor and a generator.
[0165] The mobile body on which the control system is installed is not limited to a vehicle; for example, it may be an aircraft or a ship. Furthermore, the control system is not limited to a system installed on a mobile body; it may be a stationary system.
[0166] The control devices and methods described herein may be implemented by a dedicated computer provided by configuring a processor and memory programmed to perform one or more functions embodied by a computer program. Alternatively, the control devices and methods described herein may be implemented by a dedicated computer provided by configuring a processor by one or more dedicated hardware logic circuits. Alternatively, the control devices and methods described herein may be implemented by one or more dedicated computers configured by a combination of a processor and memory programmed to perform one or more functions and a processor configured by one or more hardware logic circuits. Furthermore, the computer program may be stored as instructions executed by the computer on a computer-readable non-transitional tangible recording medium.
[0167] This disclosure is described in accordance with the embodiments, but it is understood that this disclosure is not limited to such embodiments or structures. This disclosure also includes various modifications and variations within the equivalence. In addition, various combinations and forms, as well as other combinations and forms that include only one, more, or fewer of those elements, fall within the scope and concept of this disclosure.
Claims
1. A control device (30) for a rotating electric machine applied to a system comprising: a rotating electric machine (40) having a stator (50) including stator windings (52) and a rotor (60) including field windings (70); and an inverter (20) electrically connecting the stator windings to a DC power supply (10), the control device (30) comprising: a switch control unit (95) that performs switching control of the inverter to apply to the stator windings a composite vector obtained by combining an excitation voltage vector corresponding to a voltage that, when applied to the stator windings, induces a voltage in the field windings and causes a field current to flow, and a fundamental wave voltage vector that, when applied to the stator windings, causes a fundamental wave current to flow; and a setting unit (92) that sets the distribution of the excitation voltage vector and the fundamental wave voltage vector with respect to a limit value.
2. The control device for a rotating electric machine according to claim 1, wherein the setting unit sets the limit value of the other of the excitation voltage vector or the fundamental wave voltage vector based on one of the two.
3. The control device for a rotating electric machine according to claim 1, comprising: a first setting unit (93A, 93F, 96A, 96B, 104A, 104B) that sets the magnitude of a first target vector, which is either the excitation voltage vector or the fundamental wave voltage vector, to be less than or equal to a limit value; and a second setting unit (93G, 93H, 96C, 96F, 104C, 104D) that sets the magnitude of a second target vector, which is the second target vector (the one of the excitation voltage vector and the fundamental wave voltage vector that is not the first target vector), and the first target vector, such that the composite vector of the second target vector and the first target vector is less than or equal to the limit value.
4. The control device for a rotating electric machine according to claim 3, wherein the first target vector is the excitation voltage vector and the second target vector is the fundamental wave voltage vector.
5. The control device for a rotating electric machine according to claim 4, wherein the first setting unit (93A, 93F) sets the d-axis component of the excitation voltage vector to be less than or equal to the limit value, and sets the q-axis component of the excitation voltage vector to be less than or equal to the value obtained by subtracting the set d-axis component of the excitation voltage vector from the limit value.
6. The control device for a rotating electric machine according to claim 5, wherein the d-axis component of the excitation voltage vector is greater than the q-axis component of the excitation voltage vector.
7. The control device for a rotating electric machine according to claim 3, wherein the first target vector is the fundamental wave voltage vector and the second target vector is the excitation voltage vector.
8. An excitation command unit (82, 83) sets an excitation command current, which is a command value in the dq coordinate system, to be flowed through the stator winding to apply the excitation voltage vector, and a basic command current, which is a command value in the dq coordinate system, to be flowed through the stator winding to apply the fundamental wave voltage vector; a two-phase conversion unit (80) converts the current of the stator winding in the three-phase fixed coordinate system to a current in the dq coordinate system based on the detection value of a current sensor (21) that detects the current flowing through the stator winding; a deviation calculation unit (86, 87) calculates the current deviation between the sum of the excitation command current and the basic command current and the current converted by the two-phase conversion unit; a fundamental wave control unit (88, 90) calculates command values for the d and q axis components of the fundamental wave voltage vector as an operation variable for feedback control of the calculated current deviation to 0; and an excitation control unit (89, 91) calculates command values for the d and q axis components of the excitation voltage vector based on the calculated current deviation. A control device for a rotating electric machine according to any one of claims 1 to 7, comprising:
9. The control device for a rotating electric machine according to claim 8, wherein the responsiveness of the excitation control unit at the frequency of the excitation current flowing through the stator winding is greater than the responsiveness of the fundamental wave control unit.
10. An excitation command unit (82, 83) sets an excitation command current, which is a command value in the dq coordinate system, to be flowed through the stator winding to apply the excitation voltage vector, and a basic command current, which is a command value in the dq coordinate system, to be flowed through the stator winding to apply the basic wave voltage vector; a two-phase conversion unit (80) converts the current of the stator winding in the three-phase fixed coordinate system to a current in the dq coordinate system based on the detection value of a current sensor (21) that detects the current flowing through the stator winding; a deviation calculation unit (86, 87) calculates the current deviation between the sum of the excitation command current and the basic command current and the current converted by the two-phase conversion unit; a control unit (97, 100) calculates a control voltage, which is a command value of the d and q axis components of the composite vector, as an operation variable for feedback control of the calculated current deviation to 0; and a filter unit (98, 101) extracts either or both of the excitation voltage vector and the basic wave voltage vector from the calculated control voltage. A control device for a rotating electric machine according to any one of claims 1 to 7, comprising:
11. A control device for a rotating electric machine according to any one of claims 3 to 7, comprising a limit value setting unit (105A to 105D) that sets a first limit value which is the limit value of the first target vector and a second limit value which is the limit value of the second target vector, based on a state parameter which is at least one of the rotational speed of the rotor or the correlation value of the rotational speed and the torque of the rotating electric machine or the correlation value of the torque, wherein the first setting unit sets the magnitude of the first target vector to be less than or equal to the first limit value, the second setting unit sets the magnitude of the second target vector to be less than or equal to the second limit value, and the limit value setting unit sets the first limit value and the second limit value such that the magnitude of the composite vector is less than or equal to the sum of the first limit value and the second limit value.
12. A control device for a rotating electric machine according to any one of claims 1 to 7, comprising: a first conversion unit (111) that converts the fundamental wave voltage vector into a sinusoidal command voltage in a three-phase fixed coordinate system; a second conversion unit (112) that converts the excitation voltage vector into a sinusoidal command voltage in a three-phase fixed coordinate system; a limiter unit (113) that converts the command voltage converted by the second conversion unit into a trapezoidal waveform; and a superposition unit (114 to 116) that calculates a final specified voltage by superimposing the command voltage converted by the limiter unit onto the command voltage converted by the first conversion unit, wherein the switch control unit performs switching control of the inverter based on the command voltage calculated by the superposition unit.
13. A program applied to a system comprising: a rotating electric machine (40) having a stator (50) including stator windings (52) and a rotor (60) including field windings (70); and an inverter (20) electrically connecting the stator windings to a DC power supply (10), wherein the program causes a processor (31) to perform the following: switching control of the inverter so as to apply to the stator windings a composite vector obtained by combining an excitation voltage vector corresponding to a voltage that, when applied to the stator windings, induces a voltage in the field windings and causes a field current to flow, and a fundamental wave voltage vector that, when applied to the stator windings, causes a fundamental wave current to flow; and setting processing to set the distribution of the excitation voltage vector and the fundamental wave voltage vector with respect to a limit value.
14. A method for controlling a rotating electric machine applied to a system comprising: a rotating electric machine (40) having a stator (50) including stator windings (52) and a rotor (60) including field windings (70); and an inverter (20) electrically connecting the stator windings to a DC power supply (10), wherein the method causes a processor (31) to perform switching control of the inverter so as to apply to the stator windings a composite vector obtained by combining an excitation voltage vector corresponding to a voltage that, when applied to the stator windings, induces a voltage in the field windings and causes a field current to flow, and a fundamental wave voltage vector that, when applied to the stator windings, causes a fundamental wave current to flow; and a setting process that sets the distribution of the excitation voltage vector and the fundamental wave voltage vector with respect to a limit value.