Motor control device and electric vehicle

The motor control device simplifies the generation of d-axis and q-axis current command values using torque-based units, addressing complexity and accuracy issues in conventional systems to achieve high torque accuracy in permanent magnet synchronous motors.

WO2025187058A1PCT designated stage Publication Date: 2025-09-11ASTEMO LTD
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
PCT/JP2024/009111
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-03-08
Publication Date
2025-09-11

AI Technical Summary

Technical Problem

Conventional motor control systems require high-dimensional maps to generate d-axis and q-axis current command values for torque accuracy, leading to increased program size, poor readability, and high man-hours for measurements and calculations due to multiple influencing factors, which complicates achieving high torque accuracy in permanent magnet synchronous motors.

Method used

A motor control device that includes units to generate d-axis and q-axis current command values based on torque command, magnet torque, reluctance torque, and d-axis current command, using simplified two-dimensional maps to reduce complexity and improve torque accuracy.

Benefits of technology

Enables quick generation of d-axis and q-axis current command values that satisfy high torque accuracy requirements, reducing program size and calculation complexity while maintaining precise torque control.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure JP2024009111_12092025_PF_FP_ABST
    Figure JP2024009111_12092025_PF_FP_ABST
Patent Text Reader

Abstract

In order to quickly generate a d-axis current command value and a q-axis current command value that satisfy a higher level of torque accuracy, a motor control device 100 has a d-axis current command value generation unit 106 and a q-axis current command value generation unit 112. The d-axis current command value generation unit 106 generates a d-axis current command value Idp* on the basis of a torque command value T**. The q-axis current command value generation unit 112 generates a q-axis current command value Iq* on the basis of the torque command value T**, motor magnet torque, motor reluctance torque, and d-axis current command value Id*.
Need to check novelty before this filing date? Find Prior Art

Description

Motor control device and electric vehicle

[0001] The present invention relates to a motor control device and an electric vehicle.

[0002] For example, in motor control using a permanent magnet synchronous motor as the main motor, such as in an automobile, it is necessary to satisfy high levels of torque accuracy requirements. Patent Document 1 discloses a technology for improving torque accuracy by controlling the motor based on d-axis current command values ​​and q-axis current command values ​​that are generated in consideration of the magnet temperature of the motor with respect to magnetic flux limit and torque command value.

[0003] Japanese Patent Application Laid-Open No. 2022-034471

[0004] However, in the above-mentioned conventional technology, a high-dimensional map is required to generate d-axis current command values ​​and q-axis current command values ​​for each motor magnet temperature in response to the magnetic flux limit and torque command value, which poses issues such as increased program size and poor readability.In addition, in order to meet the high level of torque accuracy requirements, it is necessary to take into account multiple influencing factors (torque, angular velocity (rotation speed), DC voltage, rotor temperature, etc.), which poses the problem of increased man-hours for measurements and calculations (hereinafter referred to as adaptation) to generate the map.

[0005] The present invention has been made in consideration of the above circumstances, and has as its object to quickly generate d-axis current command values ​​and q-axis current command values ​​that satisfy a higher level of torque accuracy.

[0006] As one aspect for solving the above problem, there is provided a motor control device for controlling the driving of a motor, characterized in that it comprises a d-axis current command value generation unit that generates a d-axis current command value based on a torque command value, and a q-axis current command value generation unit that generates a q-axis current command value based on the torque command value, the magnet torque of the motor, the reluctance torque of the motor, and the d-axis current command value.

[0007] According to the present invention, it is possible to quickly generate d-axis current command values ​​and q-axis current command values ​​that satisfy a higher level of torque accuracy.

[0008] 1 is a configuration diagram of an electric vehicle system according to a first embodiment. A configuration diagram (first half) of a motor control device according to the first embodiment. A configuration diagram (second half) of a motor control device according to the first embodiment. A diagram showing a drag torque compensation value calculation map according to the first embodiment. A diagram for explaining a drag torque compensation value according to the first embodiment. A diagram showing a torque limit value calculation map according to the first embodiment. A diagram showing a torque limiter according to the first embodiment. A diagram showing an Id calculation map according to the first embodiment. A diagram showing the configuration of a d-axis current command value corrector according to the first embodiment. A diagram showing a Gmf calculation map according to the first embodiment. A diagram showing a Gms map according to the first embodiment. A diagram showing operating points on a dq-axis current plane of the motor control device according to the first embodiment. A diagram for explaining a drag torque compensation value according to the second embodiment. A diagram showing the configuration of a d-axis current command value corrector according to the third embodiment. A diagram showing the configuration of a second d-axis current command generation unit according to the third embodiment. A diagram showing the configuration of a flux-weakening control unit according to the third embodiment. A configuration diagram (second half) of a motor control device according to a fourth embodiment. A diagram showing the configuration of a d-axis current command value corrector according to the fourth embodiment. 10 is a diagram showing the configuration of a d-axis current command value corrector according to a fifth embodiment. FIG. 11 is a diagram showing the configuration (later part) of a motor control device according to a sixth embodiment. FIG. 12 is a diagram showing the configuration of a d-axis current command value corrector according to a sixth embodiment.

[0009] Hereinafter, embodiments of the present application will be described with reference to the drawings. Note that the following embodiments do not limit the present invention, and not all of the components and combinations thereof described in the embodiments are necessarily essential to the solution of the invention. The number of each component in the following embodiments may be singular or plural, unless otherwise specified.

[0010] In the following embodiments, the same reference numerals are used to designate the same features as those in the previous embodiments, and the description of the latter embodiments will be omitted, with the focus being on the differences. Furthermore, in the following embodiments, a combination of part or all of one embodiment with part or all of another embodiment is also included in the present application as long as there is no contradiction and there is consistency.

[0011] In the following description, identical or similar components will be denoted by the same reference numeral. When there are multiple identical or similar components, they may be denoted by the same reference numeral with different subscripts. When there is no need to distinguish between multiple components, the subscripts may be omitted.

[0012] [First Embodiment] (Configuration of Electric Vehicle System 1 According to First Embodiment) FIG. 1 is a configuration diagram of an electric vehicle system 1 according to the first embodiment. In the electric vehicle system 1, a pair of axles 1a and 1b are supported on a vehicle body. Wheels 2a and 2b are fixed to both ends of one axle 1a, and wheels 2c and 2d are fixed to both ends of the other axle 1b. A motor 5 is coupled to one axle 1a, and rotational power of the motor 5 is transmitted to wheels 2a and 2b via the axle 1a. A motor control device 100 drives the motor 5 based on a torque command value T0* input from a host system (not shown). In this embodiment, the motor 5 is an interior permanent magnet synchronous motor (IPMSM), but is not limited thereto. The electric vehicle system 1 is an example of an electric vehicle that uses the motor 5 as a driving source, including an automobile, a motor-driven bicycle, a railroad vehicle, and the like.

[0013] 2A and 2B are configuration diagrams of the motor control device 100 according to embodiment 1. The motor control device 100 drives the motor 5 by controlling the torque generated by the motor 5 through vector control based on the detected d-axis current value Idc and the detected q-axis current value Iqc.

[0014] Fig. 2A shows a block diagram of motor control device 100 that generates a d-axis current command value Id* and a q-axis current command value Iq* based on a torque command value T0* input from a higher-level system. Fig. 2B shows a block diagram of motor control device 100 that drives and controls motor 5 based on the d-axis current command value Id* and the q-axis current command value Iq*. Motor control device 100 is composed of a microcomputer that executes programs to realize each processing function unit.

[0015] 2A , the motor control device 100 includes a magnetic flux limit value generation unit 101, a drag torque compensation unit 102, an adder 103, a torque limit value generation unit 104, and a torque command value limiting unit 105. The motor control device 100 also includes a d-axis current command value generation unit 106, a flux-weakening control unit 107, a d-axis current command value correction unit 108, an adder 109, a magnet torque gain generation unit 110, a reluctance torque gain generation unit 111, and a q-axis current command value generation unit 112.

[0016] The magnetic flux limit value generator 101 receives the DC voltage Vdc output by the voltage detector 30 (FIG. 2B) and the angular velocity ω of the motor 5 generated by the frequency calculator 114 (FIG. 2B) as inputs, and calculates the magnetic flux limit value λlim from, for example, equation (1). In equation (1), Kmod is a voltage utilization factor coefficient, and Kmar is a margin rate for the voltage utilization factor. λlim={(Vdc / 2)·Kmod·Kmar} / ω (1)

[0017] The drag torque compensation unit 102 receives the magnetic flux limit value λlim and the DC voltage Vdc as input and outputs a drag torque compensation value Tdrag*. The drag torque compensation unit 102 references, for example, a drag torque compensation value calculation map T1 ( FIG. 3 ) to obtain the drag torque compensation value Tdrag* corresponding to the combination of the magnetic flux limit value λlim and the DC voltage Vdc. The adder 103 adds the torque command value T0* and the drag torque compensation value Tdrag* output by the drag torque compensation unit 102 to generate a torque command value T* after compensating for the drag torque of the motor 5.

[0018] The drag torque compensation value Tdrag* corresponding to the magnetic flux limit value λlim for each DC voltage Vdc of the motor 5 used in embodiment 1 will now be described with reference to Fig. 4. Fig. 4 is a diagram for explaining the drag torque compensation value Tdrag* according to embodiment 1.

[0019] FIG. 4 is a graph plotting the drag torque compensation value Tdrag* corresponding to each magnetic flux limit value λlim for, for example, three representative DC voltage values ​​Vdc=V1, V2, and V3 as the drag torque compensation value Tdrag* according to the first embodiment.

[0020] As can be seen from Figure 4, there is almost no difference in the drag torque compensation value Tdrag* corresponding to each magnetic flux limit value λlim among the representative values ​​V1, V2, and V3 (where V1 < V2 < V3) of the DC voltage Vdc. Therefore, even if the drag torque compensation value Tdrag* corresponding to the detected value V of the DC voltage Vdc is calculated by linear interpolation of the drag torque compensation value Tdrag* corresponding to the representative value, the error can be reduced. Therefore, even if there are few representative values ​​of the DC voltage Vdc, both the iron loss and the mechanical loss of the rotor of the motor 5 can be accurately compensated for by simple linear interpolation.

[0021] Returning to the explanation of Fig. 2A, the torque limit value generation unit 104 receives the magnetic flux limit value λlim as an input, and acquires and outputs the torque limit value Tlim corresponding to the magnetic flux limit value λlim by referring to, for example, a torque limit value calculation map T2 (Fig. 5).

[0022] The torque command value limiting unit 105 receives the torque command value T* and the torque limit value Tlim as input, and outputs a torque command value T** obtained by limiting the torque command value T* to an upper limit (Tlim) and a lower limit (-Tlim) using, for example, a torque limiter T3 (FIG. 6).

[0023] The torque command value limiting unit 105 may directly input the DC voltage Vdc and the angular velocity ω to output the torque command value T**. The torque limit value generating unit 104 may directly input the DC voltage Vdc and the angular velocity ω to output the torque limit value Tlim.

[0024] The d-axis current command value generation unit 106 receives the torque command value T** and the magnetic flux limit value λlim as input, and, by referring to, for example, the Id calculation map T4 (FIG. 7), acquires and outputs the d-axis current command value Idp* corresponding to the combination of the torque command value T** and the magnetic flux limit value λlim.

[0025] The flux-weakening control unit 107 has a subtractor 107a and a limiting integrator 107b. The subtractor 107a calculates a voltage difference ΔVa between a maximum output voltage Vam (described later) and a voltage amplitude Va*, and outputs the result to the limiting integrator 107b. The limiting integrator 107b multiplies the voltage difference ΔVa by a cutoff frequency ωfw of flux-weakening control, divides the result by the d-axis inductance Ld and the angular velocity ω*, and outputs the result as a feedback d-axis current command value IdFB*.

[0026] The limiting integrator 107b limits the feedback d-axis current command value IdFB* so that it does not become a positive value. Specifically, the limiting integrator 107b has a change limit value, and when the terminal voltage of the motor 5 is greater than a predetermined maximum output voltage, the limit value of the change amount in the positive direction is set to zero to maintain the feedback d-axis current command value IdFB*. The change limit value is a value that makes the change amount of the d-axis current command value Idp* sufficiently slower than the response of the flux-weakening control unit 107 when the terminal voltage of the motor 5 is equal to or less than the predetermined maximum output voltage.

[0027] In this way, the flux-weakening control unit 107 generates and outputs the feedback d-axis current command value IdFB* for correcting the d-axis current command value Idp* so that the terminal voltage of the motor 5 does not exceed a predetermined maximum output voltage.

[0028] The d-axis current command value corrector 108 generates a positive correction amount Idc* to be added to the d-axis current command value Idp* when the terminal voltage of the motor 5 is equal to or greater than a predetermined value, i.e., when the voltage amplitude Va* is equal to or greater than a predetermined value. The d-axis current command value corrector 108 sets one or more reference modulation factors, and generates the positive correction amount Idc* based on the magnitude relationship between the voltage amplitude Va* generated by the voltage amplitude calculator 115 (FIG. 2B) and the reference modulation factor.

[0029] The processing of the d-axis current command value corrector 108 will be described in detail. Fig. 8 is a diagram showing the configuration of the d-axis current command value corrector 108 according to the first embodiment. The d-axis current command value corrector 108 includes a modulation factor calculator 1081, a reference modulation factor calculator 1082, and a correction command generator 1083. While the flux-weakening controller 107 outputs the feedback d-axis current command value IdFB*, which is a negative correction amount, the d-axis current command value corrector 108 generates and outputs a positive correction amount Idc*.

[0030] The modulation factor calculation unit 1081 calculates the modulation factor Ma* according to the formula (2) based on the voltage amplitude Va* from the voltage amplitude calculation unit 115 (FIG. 2B) and the DC voltage Vdc of the DC power supply 20 detected by the voltage detector 30. Ma*=Va* / (Vdc / 2) (2)

[0031] When the voltage amplitude calculation unit 115 calculates the voltage amplitude Va based on the voltage detection value, the modulation factor calculation unit 1081 may derive the modulation factor Ma based on the voltage detection value by replacing Va* in equation (2) with Va. In other words, the modulation factor calculation unit 1081 calculates the modulation factor Ma (Ma*) of the motor control device 100 based on the DC voltage Vdc of the DC power supply 20 supplied to the motor control device 100 and the voltage amplitude Va (Va*) calculated by the voltage amplitude calculation unit 115.

[0032] The reference modulation factor calculation section 1082 calculates and sets the first reference modulation factor Ma1 and the second reference modulation factor Ma2. Here, the values ​​of Ma1 and Ma2 are determined so as to satisfy the relationship Ma1<Ma2≦1, for example.

[0033] The correction command generating unit 1083 generates a positive correction amount Idc* based on the magnitude relationship between the modulation factor Ma* from the modulation factor calculating unit 1081 and the first and second reference modulation factors Ma1 and Ma2 from the reference modulation factor calculating unit 1082. Here, the positive correction amount Idc* is generated and output using one of the following equations (3) to (5) depending on the magnitude relationship between Ma* and Ma1 and Ma2. (a) When 0≦Ma*<Ma1, Idc*=0 (3) (b) When Ma1≦Ma*<Ma2, Idc*=(Idc2 / (Ma2-Ma1))·(Ma*-Ma1) (4) (c) When Ma2≦Ma*, Idc*=Idc2 (5)

[0034] The value of Idc2 in equations (4) and (5) is set in advance based on the d-axis current command value Idp* and the optimal current Idopt in the correction command generator 1083. The optimal current Idopt is a current value at which the relationship Va*=Vam holds true after the voltage amplitude Va* exceeds the maximum output voltage Vam.

[0035] Specifically, the correction command generator 1083 sets the value of Idc2 so that the absolute value of the current value |Idp* + Idc*| based on equation (4) becomes smaller than the absolute value of the optimal current Idopt, resulting in a shortage of field-weakening current. The value of Idc2 may be changed depending on the value of the d-axis current command value Idp* or the DC voltage Vdc. In this way, the flux-weakening control unit 107 operates to compensate for the shortage of field-weakening current based on the modulation factor Ma* to generate the feedback d-axis current command value IdFB*, thereby avoiding a situation in which an excess current flows.

[0036] However, if the positive correction amount Idc* is added to the pre-correction d-axis current command value Idp* at a time other than during field-weakening control, the motor operating point will deviate from the optimal condition, resulting in a decrease in operating efficiency, etc. Therefore, as shown in equation (3), the correction command generator 1083 sets the positive correction amount Idc* to zero when the modulation factor Ma* is less than the first reference modulation factor Ma1. This allows the d-axis current command value corrector 108 to generate the positive correction amount Idc* immediately before transitioning to field-weakening control.

[0037] As the operation timing of the d-axis current command value corrector 108, for example, a method of generating a positive correction amount Idc* when the voltage amplitude Va* reaches the maximum output voltage Vam can be considered. However, this method may cause a torque shock due to a sudden change in the d-axis current command value Id*.

[0038] Therefore, in the motor control device 100 according to this embodiment, control is performed so that a positive correction amount Idc* is gradually generated starting slightly before the voltage amplitude Va* reaches the maximum output voltage Vam. Specifically, when sinusoidal modulation is applied, the first reference modulation factor Ma1 is set to a value smaller than 1, and the second reference modulation factor Ma2 is set to 1. In other words, by making Ma1<Ma2=1, torque shock can be reduced.

[0039] 2A , the adder 109 adds the negative correction amount (feedback d-axis current command value IdFB*) and the positive correction amount Idc* to the d-axis current command value Idp* generated by the d-axis current command value generation unit 106, and outputs the corrected d-axis current command value Id*.

[0040] The magnet torque gain generation unit 110 outputs the magnet torque gain Gmf using as input the torque command value T** and the rotor temperature tr of the motor 5. The magnet torque gain generation unit 110 acquires the magnet torque gain Gmf corresponding to the combination of the torque command value T** and the rotor temperature tr, for example, by referring to a Gmf calculation map T5 ( FIG. 9 ).

[0041] The magnet torque gain generating unit 110 may be configured to receive the q-axis current command value Iq* and the rotor temperature tr of the motor 5 as inputs and output the magnet torque gain Gmf.

[0042] The reluctance torque gain generator 111 receives the torque command value T** and the d-axis current command value Id* as input, and outputs a reluctance torque gain Gms. The reluctance torque gain generator 111 obtains the reluctance torque gain Gms corresponding to the combination of the torque command value T** and the d-axis current command value Id*, for example, by referring to a Gms calculation map T6 ( FIG. 10 ).

[0043] The reluctance torque gain generating unit 111 may be configured to receive the d-axis current command value Id* and the q-axis current command value Iq* as inputs and output the reluctance torque gain Gms.

[0044] The q-axis current command value generating unit 112 receives the torque command value T**, the d-axis current command value Id*, the magnet torque gain Gmf, and the reluctance torque gain Gms as inputs, and generates and outputs the q-axis current command value Iq*, for example, from equation (6). Note that for each value of the motor 5 in equation (6), p is the number of pole pairs, Gmf is the magnet torque gain, Φ is the magnet flux coefficient, Gms is the reluctance torque gain, Ld is the d-axis inductance, and Lq is the q-axis inductance. Iq*=2 / 3·[T** / {p(Gmf·Φ+Gms(Ld-Lq)Id*)}] ... (6)

[0045] Equation (6) is the equation obtained by solving the torque equation for the IPMSM for the q-axis current command value Iq*. Φ in equation (6) varies depending on the rotor temperature (magnet temperature) and the detected q-axis current value Iqc, while ΔL = Ld - Lq varies depending on the detected d-axis current value Id and the detected q-axis current value Iq (it does not depend on the rotation speed (angular velocity ω) or the DC voltage Vdc). By utilizing this, the terms that contribute to torque accuracy in equation (6) can be reduced to a combination of two-dimensional maps, thereby reducing the number of matching points while maintaining torque accuracy. Note that mechanical loss and iron loss (drag torque), which are not included in the torque equation related to equation (6), are corrected based on the rotation speed and DC voltage Vdc.

[0046] 2B, the motor control device 100 includes a three-phase / dq converter 113, a frequency calculator 114, a voltage amplitude calculator 115, a maximum output voltage calculator 116, a current controller 117, a dq / three-phase converter 118, and a PWM controller 119.

[0047] The voltage detector 30 detects the voltage of the DC power supply 20 and outputs it as a DC voltage Vdc.

[0048] The current detector 40 detects current values ​​Iu, Iv, and Iw of three phases, U, V, and W, that flow from the power converter 10 to the motor 5. The current detector 40 is configured using a Hall current transformer (CT), but is not limited to this.

[0049] The magnetic pole position detector 50 is composed of a resolver or the like located near the motor 5, detects the magnetic pole position of the motor 5, and outputs magnetic pole position information θ*. In addition, a smoothing capacitor that smoothes the DC voltage Vdc is connected to the power converter 10, but is not shown in the figure.

[0050] The three-phase / dq conversion unit 113 performs coordinate conversion on the three-phase current values ​​Iu, Iv, and Iw detected by the current detector 40 using the magnetic pole position information θ* detected by the magnetic pole position detector 50, and outputs the d-axis current detection value Idc and the q-axis current detection value Iqc.

[0051] The frequency calculation unit 114 outputs the angular velocity ω of the motor 5 by, for example, performing a differential calculation on the magnetic pole position information θ* detected by the magnetic pole position detector 50 .

[0052] The voltage amplitude calculation unit 115 calculates the voltage amplitude Va* using equation (7) by referring to the d-axis voltage command value Vd* and the q-axis voltage command value Vq* output from the current control unit 117. The voltage amplitude Va* is a value corresponding to the voltage between the terminals of the motor 5. The voltage amplitude Va* is an example of an estimated voltage amplitude value of the motor 5. Va*=√{(Vd*) 2 +(Vq*) 2 ... (7)

[0053] The maximum output voltage calculation unit 116 calculates the maximum output voltage Vam from the DC voltage Vdc. When a sine wave modulation method (a modulation method in which the ratio of the output voltage amplitude to the DC voltage Vdc is a maximum of 0.866 (≒√3 / 2) when converted into a line voltage) is applied, the maximum output voltage Vam is calculated using equation (8). The maximum output voltage Vam is a value corresponding to the maximum output voltage between the terminals of the motor 5. The maximum output voltage Vam is an example of a target voltage for the motor 5. Vam=Vdc / 2 (8)

[0054] Note that equation (8) shows an example of a sine wave modulation method, but if an overmodulation method (a modulation method that can output a higher voltage than the sine wave method but has a higher voltage harmonic content) is applied, the maximum output voltage Vam will be a voltage that is up to about 10% larger than that of equation (8).

[0055] The voltage amplitude Va*, the maximum output voltage Vam, the d-axis current command value Id*, the q-axis current command value Iq*, the d-axis current detection value Idc, the q-axis current detection value Iqc, and the angular velocity ω are input to the current control unit 117. Based on this input information, the current control unit 117 outputs a d-axis voltage command value Vd* and a q-axis voltage command value Vq* such that the d-axis current command value Id* and the d-axis current detection value Idc and the q-axis current command value Iq* and the q-axis current detection value Iqc match, respectively.

[0056] The dq / three-phase conversion unit 118 performs coordinate conversion on the d-axis voltage command value Vd* and the q-axis voltage command value Vq* output from the current control unit 117 using the magnetic pole position information θ* detected by the magnetic pole position detector 50, and outputs three-phase voltage command values ​​Vu*, Vv*, and Vw*.

[0057] The PWM control unit 119 calculates a duty signal from the three-phase voltage command values ​​Vu*, Vv*, Vw* and the DC voltage Vdc, compares the duty signal with the carrier wave, generates a gate signal G, and outputs it to the power converter 10.

[0058] The power converter 10 forms an inverter using semiconductor switching elements, and the semiconductor switching elements are controlled to be turned on and off by a gate signal G. This converts DC power supplied from a DC power supply 20 into AC power to rotate and drive the motor 5.

[0059] (Operating Points on the dq-Axis Current Plane of the Motor Control Device 100 According to the First Embodiment) Operating points on the dq-axis current plane of the motor control device 100 according to the first embodiment will be described with reference to Fig. 11. Fig. 11 is a diagram showing operating points on the dq-axis current plane of the motor control device 100 according to the first embodiment.

[0060] When the rotation speed of the motor 5 is low and the equal-voltage ellipse L1 is sufficiently large, the intersection of the MTPA curve and the equal-torque line L2 (the point of contact between the current limit circle L3 and the equal-torque line L2) becomes the operating point P1. The operating point P1 is specified by the d-axis current command value Idp* and the q-axis current command value Iq* output from the axial current command value generator 106.

[0061] As the rotation speed of the motor 5 increases, the terminal voltage ellipse becomes smaller, and the motor moves away from operating point P1 on the MTPA curve, transitioning to the flux-weakening region. Then, with the voltage held constant, the motor operates at operating point P2, which is the intersection of the equal-voltage ellipse L1 and the equal-torque line L2. Therefore, the d-axis current command value Idp* is increased negatively, and the q-axis current command value Iq* is reduced. Operating point P2 is specified by the d-axis current command value Idp*, field-weakening control, and q-axis current command value Iq*.

[0062] As the rotation speed of the motor 5 increases further, the voltage rises even if the d-axis current command value Idp* is increased in the negative direction. In this region, the intersection of the MTPV curve and the terminal voltage ellipse (the point of contact between the equi-voltage ellipse L1 and the equi-torque line L2) is set as the operating point P5. The operating point P5 is specified by the d-axis current command value Idp*, the field weakening control, the q-axis current command value Iq*, and the torque limit value Tlim.

[0063] Furthermore, the operating point P3 of the motor 5 based on the d-axis current command value Idp* output from the d-axis current command value generator 106 is near the intersection of the equal-voltage ellipse L1 and the equal-torque line L2. It is assumed that the operating point P3 deviates from this intersection due to parameter errors, etc. In this case, if the operating point P commanded by the d-axis current command value Idp* is outside the equal-voltage ellipse L1 (outside point P2 in FIG. 11 ), the operating point P is corrected to a negative value and moves to an intersection within the equal-voltage ellipse L1. On the other hand, if the operating point P commanded by the d-axis current command value Idp* is inside the equal-voltage ellipse L1 (inside point P4 in FIG. 11 ), the operating point P is corrected to a positive value by a positive correction amount Idc* corresponding to the modulation factor and moves to an intersection within the equal-voltage ellipse L1.

[0064] [Embodiment 2] In the first embodiment, the drag torque compensation value Tdrag* is a value corresponding to the magnetic flux limit value λlim for each DC voltage Vdc of the motor 5. In contrast, in the second embodiment, the drag torque compensation value Tdrag* is a value corresponding to each angular velocity ω for each DC voltage Vdc of the motor 5. In this embodiment, the drag torque compensation unit 102 inputs the DC voltage Vdc and angular velocity ω of the motor 5, and outputs the drag torque compensation value Tdrag*.

[0065] (Drag Torque Compensation Value Tdrag* According to Embodiment 2) Fig. 12 is a diagram for explaining the drag torque compensation value Tdrag* according to embodiment 2. Fig. 12 is a graph plotting, as the drag torque compensation value Tdrag* according to embodiment 2, the drag torque compensation value Tdrag* corresponding to each angular velocity ω of the rotor of the motor 5 for, for example, three representative DC voltage values ​​Vdc = V1, V2, and V3.

[0066] As can be seen from FIG. 12 , the drag torque compensation value Tdrag* corresponding to each angular velocity ω is more consistent among the representative values ​​V1, V2, and V3 (where V1 < V2 < V3) of the DC voltage Vdc as the angular velocity ω decreases, but the difference increases as the angular velocity ω increases. Therefore, if the drag torque compensation value Tdrag* corresponding to the detected value V of the DC voltage Vdc is calculated by linear interpolation of the drag torque compensation value Tdrag* corresponding to the representative value, a large error will occur. For this reason, it is necessary to increase the number of representative values ​​of the DC voltage Vdc to suppress the error in the linear interpolation. Although the linear interpolation becomes more complex as the number of representative values ​​for linear interpolation increases, both the iron loss and the mechanical loss of the rotor of the motor 5 can be compensated for by linear interpolation of the DC voltage.

[0067] (Modification of Second Embodiment) In the second embodiment, the drag torque compensation value Tdrag* is a value for each DC voltage Vdc. However, this is not limiting, and the drag torque compensation value Tdrag* may be common to all DC voltages Vdc rather than for each DC voltage Vdc. For example, the drag torque compensation value Tdrag* is acquired as a value corresponding to the angular velocity ω by referring to a one-dimensional map. In this modification, the drag torque compensation unit 102 inputs the angular velocity ω of the motor 5 and outputs the drag torque compensation value Tdrag*. This makes it possible to compensate for mechanical loss with a simple configuration.

[0068] In the first embodiment, the d-axis current command value corrector 108 generates the positive correction amount Idc* in accordance with the modulation factor Ma* based on the DC voltage Vdc and voltage amplitude Va* of the motor 5. In contrast, in the third embodiment, the positive correction amount Idc* is generated based on the torque command value T**, the d-axis current command value Idp*, and the voltage difference ΔVa between the maximum output voltage Vam and the voltage amplitude Va*.

[0069] In this embodiment, the motor control device 100 has a d-axis current command value corrector 108C instead of the d-axis current command value corrector 108.

[0070] 13 is a diagram showing the configuration of the d-axis current command value corrector 108C according to embodiment 3. The d-axis current command value corrector 108C includes an MT d-axis current command value generator 108C1, a subtractor 108C2, and a second d-axis current command value generator 108C3.

[0071] The MT d-axis current command value generation unit 108C1 generates an MT d-axis current command value IdMT*, which is a d-axis current command value on an MTPA (Maximum Torque Per Ampere) curve, based on the torque command value T**. The MT d-axis current command value generation unit 108C1 may be configured as a look-up table or may be expressed as an approximate formula. While an example is shown in which the MT d-axis current command value generation unit 108C1 is configured using the torque command value T** as an input, it may also be configured as a two-input look-up table or an approximate formula using the rotor temperature Tr as an additional input.

[0072] The subtractor 108C2 subtracts the d-axis current command value Idp* generated by the d-axis current command value generation unit 106 from the MT d-axis current command value IdMT*, and outputs the d-axis current command value difference ΔId* to the second d-axis current command value generation unit 108C3.

[0073] The second d-axis current command value generating unit 108C3 generates a positive correction amount Idc* based on the d-axis current command value difference ΔId* between the d-axis current command value Idp* and the MT d-axis current command value IdMT*, and the voltage difference ΔVa between the maximum output voltage Vam and the voltage amplitude Va*.

[0074] 14 is a diagram showing the configuration of the second d-axis current command value generator 108C3 according to embodiment 3. The second d-axis current command value generator 108C3 includes an upper limit value calculator 841, a subtractor 842, a limiter 843, an adder 844, and a memory 845.

[0075] When the voltage difference ΔVa is equal to or greater than a predetermined value ΔVconst, the upper limit value calculation unit 841 calculates the upper limit value ΔI of the d-axis current command value difference using equation (9), and when the voltage difference ΔVa is less than the predetermined value ΔVconst, it outputs 0, where ΔVconst>0. ΔI=-dId_max(ωfw / 5)Δt (9)

[0076] Here, dId_max is the maximum compensation value for the d-axis current command value, and sets the compensation amount required at the highest temperature, for example. Δt is the control calculation period. In equation (9), the cutoff frequency ωfw is divided by a divisor 5 to set the gain to 1 / 5 so that the control of the upper limit value ΔI of the d-axis current command value difference is sufficiently slower than the voltage feedback control of the flux-weakening controller 107. If this divisor is a number greater than 1, the control of the upper limit value ΔI can be slower than the voltage feedback control, and the voltage feedback control will immediately operate even if the voltage amplitude Va* exceeds the maximum output voltage Vam due to a change in the positive correction amount Idc*.

[0077] A subtractor 842 calculates the difference between the d-axis current command value difference ΔId* and the previous value of the positive correction amount Idc*. A limiter 843 limits the upper limit of the difference calculated by the subtractor 842 to the upper limit value ΔI of the d-axis current command value difference calculated by the upper limit calculation unit 841. An adder 844 adds the output of the limiter 843 to the previous value of the positive correction amount Idc* and outputs the positive correction amount Idc*. A memory 845 holds the positive correction amount Idc* and outputs it to the subtractor 846 and the adder 844 as the previous value of the positive correction amount Idc*.

[0078] With this configuration, the second d-axis current command value generation unit 108C3 adds the d-axis current command value difference ΔId* limited by the upper limit value ΔI of the d-axis current command value difference to the previous value of the positive correction amount Idc*, and outputs the result as the positive correction amount Idc*.

[0079] In this way, when the terminal voltage of the motor 5 is greater than a predetermined value, the second d-axis current command value generator 108C3 maintains the positive correction amount Idc* so that it does not increase. On the other hand, when the terminal voltage of the motor 5 is equal to or less than the predetermined value, the second d-axis current command value generator 108C3 generates the positive correction amount Idc* so that the d-axis current command value difference ΔId* between the positive correction amount Idc* and the MT d-axis current command value IdMT* becomes equal to the d-axis current command value difference ΔId*.

[0080] (Modification of Embodiment 3) As a modification of this embodiment, the upper limit value calculator 841 of the second d-axis current command value generator 108C3 may use a modulation factor difference ΔMa and a predetermined value ΔMconst of the modulation factor difference instead of the voltage difference ΔVa and the predetermined value ΔVconst of the voltage difference. That is, when the modulation factor difference ΔMa is equal to or greater than the predetermined value ΔMconst, the upper limit value calculator 841 may calculate the upper limit value ΔI of the d-axis current command value difference using equation (9), and when the modulation factor difference ΔMa is less than the predetermined value ΔMconst, output 0, where ΔMconst>0.

[0081] The modulation factor difference ΔMa is a value generated by subtracting the modulation factor Ma* from 1 in the flux-weakening control unit 107C according to the third embodiment, as shown in FIG.

[0082] [Embodiment 4]

[0083] In the fourth embodiment, generation of the positive correction amount Idc* during voltage phase control of the motor 5 will be described.

[0084] (Configuration of motor control device 100D according to embodiment 4) Fig. 16 is a configuration diagram (rear portion) of motor control device 100D according to embodiment 4. Motor control device 100D has a similar front portion to motor control device 100 according to embodiment 1 (Fig. 2A), but the rear portion has the configuration shown in Fig. 16 instead of the configuration shown in Fig. 2B.

[0085] The motor control device 100D includes a torque command value calculation unit 121, a voltage phase control unit 122, a magnetic flux command calculation unit 123, a magnetic flux estimation unit 124, a damping ratio control unit 125, a subtractor 126, and a square wave generation unit 127.

[0086] The torque command value calculation unit 121 calculates a torque command value T** and torque T based on the d-axis current command value Id*, the q-axis current command value Iq*, the d-axis current detection value Idc, and the q-axis current detection value Iqc, and outputs them to the voltage phase control unit 122.

[0087] Specifically, the torque command value calculation unit 121 calculates the d-axis magnetic flux Φd and the q-axis magnetic flux Φq using, for example, a look-up table based on the d-axis current detection value Idc and the q-axis current detection value Iqc. Then, the torque command value calculation unit 121 calculates the torque T shown in equation (10). In equation (10), the values ​​of the motor 5 are: P is the number of pole pairs, Φd is the d-axis magnetic flux, Φq is the q-axis magnetic flux, Idc is the d-axis current detection value, and Iqc is the q-axis current detection value. T=3 / 2·P(Φd·Iqc−Φq·Idc) (10)

[0088] Furthermore, the torque command value calculation unit 121 calculates a d-axis magnetic flux command value Φd* and a q-axis magnetic flux command value Φq* based on the d-axis current command value Id* and the q-axis current command value Iq*, for example, using a look-up table. The torque command value calculation unit 121 then calculates a torque command value T** shown in equation (11). In equation (11), the values ​​of the motor 5 are: P is the number of pole pairs, Φd* is the d-axis magnetic flux command value, Φq is the q-axis magnetic flux command value, Id* is the d-axis current command value, and Iq* is the q-axis current command value. T**=3 / 2·P(Φd*·Iq*-Φq*·Id*) (11)

[0089] Voltage phase control unit 122 calculates a voltage phase angle θv so that torque T coincides with torque command value T**, and outputs the calculated voltage phase angle θv to subtractor 126. Specifically, voltage phase control unit 122 passes the difference between torque T and torque command value T** through a PI controller (or I controller), performs limit processing using a limiter, and outputs voltage phase angle θv.

[0090] The flux command calculation unit 123 uses the d-axis current command value Id* and the q-axis current command value Iq* to output a d-axis magnetic flux command value Φd* and a q-axis magnetic flux command value Φq* by referring to, for example, a look-up table. The flux estimation unit 124 uses the d-axis current detection value Idc and the q-axis current detection value Iqc to estimate a d-axis magnetic flux estimate value Φdc and a q-axis magnetic flux estimate value Φqc by referring to, for example, a look-up table. The damping ratio control unit 125 uses the d-axis magnetic flux command value Φd*, the q-axis magnetic flux command value Φq*, the d-axis magnetic flux estimate value Φdc, and the q-axis magnetic flux estimate value Φqc to calculate a phase angle correction amount θd* for correcting the voltage phase angle θv so as to attenuate the vibration component of the magnetic flux value.

[0091] The subtractor 126 subtracts the phase angle correction amount θd* from the voltage phase angle θv and outputs the voltage phase angle θv2 to the square wave generating unit 127. That is, the voltage phase angle θv is corrected based on the phase angle correction amount θd*.

[0092] The rectangular wave generating unit 127 generates pulse signals Su, Sv, and Sw according to the voltage phase angle θv2 based on the voltage phase angle θv2 and the magnetic pole position information θ*, and outputs them to the power converter 10.

[0093] (Configuration of d-axis current command value corrector 108D according to embodiment 4) Fig. 17 is a diagram showing the configuration of a d-axis current command value corrector 108D according to embodiment 4. The d-axis current command value corrector 108D has a subtractor 108D1 and an integrator 108D2.

[0094] The subtractor 108D1 calculates the current difference ΔId between the previous value of the d-axis current command value Id* and the d-axis current detection value Idc. The integrator 108D2 generates and outputs a positive correction amount ΔIdc* based on the current difference ΔId using equation (12). ΔIdc*=∫ωfw×ΔId (12)

[0095] Here, ωfw is the cutoff frequency. When the current difference ΔId is multiplied by the cutoff frequency ωfw as a gain, the current error converges at the cutoff frequency ωfw. At this time, if the response of the positive correction amount ΔIdc* is sufficiently slower than the response of the voltage phase control unit 122, it does not interfere with the response of torque control. For example, by setting the cutoff frequency of the voltage phase control unit 122 to a value that is three or more times larger than the cutoff frequency of the q-axis current command value generation unit 112, the response of the positive correction amount ΔIdc* becomes sufficiently slower than the response of the voltage phase control unit 122.

[0096] Fifth Embodiment In the fourth embodiment, the positive correction amount Idc* is generated based on the d-axis current command value Id* and the d-axis current detection value Idc. In contrast, in the fourth embodiment, the positive correction amount Idc* is generated based on the q-axis current command value Iq* and the q-axis current detection value Iqc. In this embodiment, the motor control device 100D has a d-axis current command value correction unit 108E instead of the d-axis current command value correction unit 108D.

[0097] 18 is a diagram showing the configuration of a d-axis current command value corrector 108E according to embodiment 5. The d-axis current command value corrector 108E differs from the d-axis current command value corrector 108D in that the d-axis current command value corrector 108E generates and outputs a positive correction amount ΔIdc* based on the q-axis current command value Iq* and the q-axis current detected value Iqc, rather than the d-axis current command value Id* and the d-axis current detected value Idc.

[0098] The d-axis current command value corrector 108E has a subtractor 108E1 and an integrator 108E2. The subtractor 108E1 calculates a current difference ΔIq between the previous value of the q-axis current command value Iq* and the q-axis current detection value Iqc. The integrator 108E2 generates and outputs a positive correction amount ΔIdc* based on the current difference ΔIq using equation (13). The rest is the same as in the fourth embodiment. ΔIdc*=∫ωfw×ΔIq (13)

[0099] Sixth Embodiment In the fourth embodiment, the positive correction amount Idc* is generated based on the d-axis current command value Id* and the d-axis current detection value Idc. In the fifth embodiment, the positive correction amount Idc* is generated based on the d-axis current command value Id* and the d-axis current detection value Idc. In contrast, in the sixth embodiment, the positive correction amount Idc* is generated based on both the d-axis current command value Id* and the d-axis current detection value Idc and the d-axis current command value Id* and the d-axis current detection value Idc.

[0100] (Configuration of motor control device 100F according to embodiment 6) Fig. 19 is a configuration diagram (rear portion) of motor control device 100F according to embodiment 6. Motor control device 100F has a similar front portion to motor control device 100 according to embodiment 1 (Fig. 2A), but the rear portion has the configuration shown in Fig. 19 instead of Fig. 2B.

[0101] Compared to motor control device 100D according to embodiment 4 ( FIG. 16 ), motor control device 100F includes a second torque command value calculation unit 121F. Although motor control device 100F will be described as an example in which it does not include magnetic flux command calculation unit 123, magnetic flux estimation unit 124, and damping ratio control unit 125 that motor control device 100D includes, it may also include these components.

[0102] The second torque command value calculation unit 121F calculates a second torque command value TR* and a second torque TR based on the d-axis current command value Id*, the q-axis current command value Iq*, the d-axis current detection value Idc, and the q-axis current detection value Iqc, and outputs them to the voltage phase control unit 122F.

[0103] Specifically, the second torque command value calculation unit 121F calculates a q-axis magnetic flux command value Φq* based on the d-axis current command value Id* and the q-axis current command value Iq* using, for example, a look-up table. The second torque command value calculation unit 121F low-pass filters the q-axis magnetic flux command value Φq*. The second torque command value calculation unit 121F multiplies the low-pass filtered q-axis magnetic flux command value Φq* by the d-axis current command value Id* and outputs the result as a second torque command value TR*. The second torque command value calculation unit 121F also multiplies the low-pass filtered q-axis magnetic flux command value Φq* by the d-axis current detection value Idc and outputs the result as a second torque TR. The second torque command value calculation unit 121F multiplies the q-axis magnetic flux command value Φq* to reduce the torque margin in the high torque region, but basically controls the d-axis current detection value Idc and the d-axis current command value Id* to match.

[0104] The voltage phase control unit 122F uses a torque command value T** in the low torque region of the motor 5, and a second torque command value TR* in the high torque region of the motor 5, and controls and outputs the voltage phase angle θv so that the torque command value matches the torque T of the motor 5.

[0105] Specifically, the voltage phase control unit 122F multiplies the difference between the torque T and the torque command value T** by a first gain. The voltage phase control unit 122F also multiplies the difference between the second torque TR and the second torque command value TR* by a second gain. The voltage phase control unit 122F performs a weighted average based on the torque command value T**. When the torque command value T** is less than a predetermined value, the voltage phase control unit 122F outputs the difference between the torque T and the torque command value T**. When the torque command value T** is equal to or greater than the predetermined value, the voltage phase control unit 122F outputs the difference between the second torque TR and the second torque command value TR*. That is, in the high torque region, the voltage phase control unit 122F uses the difference between the second torque TR and the second torque command value TR* (hereinafter referred to as "using the second torque"), and in the low torque region, the voltage phase control unit 122F uses the difference between the torque T and the torque command value T** (hereinafter referred to as "using the first torque"). The voltage phase control unit 122F outputs the ratio of these weighted averages as Rate information to the d-axis current command value correction unit 108F (described later).

[0106] The voltage phase control unit 122F inputs the output of the weighted average to a PI controller (or I controller), passes it through the PI controller (or I controller), performs limit processing to a range in which the torque does not exceed the peak, and outputs the voltage phase angle θv. Note that instead of the torque command value T**, the torque T may be used as the reference for the weighted average described above, and when the torque T is less than a predetermined value, the difference between the second torque TR and the second torque command value TR* may be output, and when the torque T is equal to or greater than the predetermined value, the difference between the torque T and the torque command value T** may be output.

[0107] (Configuration of d-axis current command value corrector 108F according to embodiment 6) Fig. 20 is a diagram showing the configuration of a d-axis current command value corrector 108F according to embodiment 6. The d-axis current command value corrector 108D shown in Fig. 17 calculates the d-axis current command value Id* so that the d-axis current command value Id* coincides with the d-axis current detection value Idc. The d-axis current command value corrector 108E shown in Fig. 18 calculates the q-axis current command value Iq* so that the q-axis current command value Iq* coincides with the q-axis current detection value Iqc.

[0108] In response to this, the d-axis current command value correction unit 108F shown in FIG. 20 calculates a weighted average of the d-axis current detection value Idc and the q-axis current detection value Iqc in accordance with the rate information output from the voltage phase control unit 122F, and determines the d-axis current command value Id* so that it matches the d-axis current command value Id*.

[0109] The subtractor 108F1 calculates a current difference ΔId between the previous value of the d-axis current command value Id* and the d-axis current detection value Idc, and outputs this current difference ΔId to the weighted average calculation unit 108F5 via a gain 108F2, which is the cutoff frequency ωfw.

[0110] The subtractor 108F3 calculates the current difference ΔIq between the previous value of the q-axis current command value Iq* and the q-axis current detection value Iqc, and outputs this current difference ΔIq to the weighted average calculation unit 108F5 via the gain 108F4. The gain 108F4 is Kfb shown in equation (14). For the values ​​of the motor 5 in equation (14), ωfw is the cutoff frequency of the flux-weakening control, Φm is the magnet magnetic flux, Ld is the d-axis inductance, Lq is the q-axis inductance, Id* is the d-axis current command value, and Iq* is the q-axis current command value. Kfb = ωfw {Φm + (Ld - Lq) Id*} / {(Ld - Lq) Iq*} ... (14)

[0111] The d-axis current command value corrector 108F generates and outputs a positive correction amount Idc* using equation (15) based on the current differences ΔId and ΔIq using a weighted average calculator 108F5 and an integrator 108F6. For each value of the motor 5 in equation (15), Rate is the rate information output by the voltage phase controller 122F, Kfb is as shown in equation (14), Ld is the d-axis inductance, Lq is the q-axis inductance, and ωfw is the cutoff frequency of the flux-weakening control. Idc* = ∫ (Rate × Kfb × ΔIq + (1 - Rate) × ωfw × ΔId) (15) The rate information is 0 in the low torque region and 1 in the high torque region, taking a value between 0 and 1 depending on the torque in between.

[0112] In this way, the d-axis current command value correction unit 108F uses the d-axis current difference ΔId to correct the d-axis current command value Id* when performing voltage phase control using the first torque, and uses the q-axis current difference ΔIq to correct the d-axis current command value Id* when performing voltage phase control using the second torque. Because the second torque is actually controlled so that the d-axis current detection value Idc matches the d-axis current command value Id*, the current difference ΔId is essentially zero and cannot be used for current correction. Therefore, it is better to use the q-axis current difference ΔIq to correct the d-axis current command value Id*. On the other hand, as described above, using the current difference ΔIq is less effective in low torque regions. Therefore, it is better to use the current difference ΔId to correct the d-axis current command value Id* in low torque regions where the first torque is used.

[0113] (Effects of the Embodiments) (1) In the first embodiment, a d-axis current command value is generated based on a torque command value, and a q-axis current command value is generated based on the torque command value, the motor's magnet torque and reluctance torque, and the d-axis current command value. Because the d-axis current command value and the q-axis current command value can be generated using a simple configuration such as by referencing a two-dimensional map, torque accuracy can be ensured regardless of rotor temperature, DC voltage, or rotation speed (angular velocity), and the d-axis current command value and the q-axis current command value can be quickly generated in an easily adaptable manner. Furthermore, the size of the program for generating the d-axis current command value and the q-axis current command value can be reduced, improving program readability. Furthermore, because the q-axis current command value is generated based on the torque formula of Equation (6), it always operates on an equal torque line even when the d-axis current command value is corrected, thereby maintaining torque accuracy.

[0114] (2) In addition, in the first embodiment, the q-axis current command value is generated by correcting either or both of the magnet torque and the reluctance torque. With a simple configuration such as referencing a two-dimensional map, a magnet torque gain that compensates for the magnet torque and a reluctance torque gain that compensates for the reluctance torque are generated, and the q-axis current command value is generated. This makes it possible to easily and quickly compensate for the magnet torque gain and / or the reluctance torque.

[0115] (3) In the first embodiment, the magnet torque gain is generated by simply referencing a two-dimensional table based on the torque command value or q-axis current command value and the motor rotor temperature. This makes it possible to easily and quickly compensate for changes in the magnet torque relative to the torque command value or q-axis current command value and the motor rotor temperature.

[0116] (4) In the first embodiment, the reluctance torque gain is generated by simply referencing a two-dimensional table based on the torque command value or the q-axis current command value and the d-axis current command value. This makes it possible to easily and quickly compensate for changes in the reluctance torque (inductance) relative to the torque command value or the q-axis current command value and the d-axis current command value.

[0117] (5) In the first embodiment, the d-axis current command value is generated in a feedforward manner using a simple configuration such as referencing a two-dimensional table based on the torque command value and the magnetic flux limit value generated based on the motor's DC voltage and angular velocity. This allows MTPA control and flux-weakening control to be achieved with a single table. Furthermore, since temperature-related torque fluctuations are taken into account when generating the q-axis current command value in the subsequent stage, it is not necessary to consider temperature-related torque fluctuations when generating the d-axis current command value. This also improves torque accuracy and responsiveness, as well as the efficiency of motor voltage utilization.

[0118] (6) In the first embodiment, a negative correction amount is generated based on the target voltage and the estimated voltage amplitude of the motor to be added to the d-axis current command value so that the voltage between the motor's terminals does not exceed the maximum output voltage, and the d-axis current command value is corrected. Thus, the d-axis current command value generated by the feedforward method can be corrected taking into account the flux-weakening control.

[0119] (7) In the first embodiment, a positive correction amount to be added to the d-axis current command value when the terminal voltage of the motor is equal to or greater than a predetermined value is generated based on the modulation factor. This ensures that the flux-weakening control is always active, allowing the motor to be driven with the minimum current.

[0120] (8) In the third embodiment, when the terminal voltage of the motor is less than a predetermined value, a positive correction amount is generated to be added to the d-axis current command value so that the d-axis current approaches the d-axis current on the motor's MTPA (maximum torque per current) curve based on the torque command value. This allows the motor to be driven with minimum current even if the rotor temperature rises.

[0121] (9) In addition, in the fourth to sixth embodiments, a positive correction amount is generated during voltage phase control to correct the d-axis current command value so that it matches the d-axis current command value, based on either or both of the difference between the d-axis current command value and the d-axis current detection value and the difference between the q-axis current command value and the q-axis current detection value of the motor. Thus, during voltage phase control, the d-axis current command value and the q-axis current detection value can be made to follow the d-axis current command value and the q-axis current command value, respectively.

[0122] (10) In the first embodiment, a torque limit value is generated based on a magnetic flux limit value that is based on the DC voltage and angular velocity of the motor, and the torque command value is limited based on the torque limit value, thereby realizing motor operation in the MTPV (Max Torque Per Volt) region.

[0123] (11) In the first embodiment, a drag torque compensation value is generated based on the DC voltage and the magnetic flux limit value, and is added to the torque command value to compensate for the drag torque of the motor. The torque command value is corrected using the drag torque compensation value. This compensates for iron loss and mechanical loss not taken into account in equation (6), and prevents a decrease in torque accuracy due to the drag torque.

[0124] (12) In the first embodiment, the drag torque compensation value is generated based on the magnetic flux limit value for each DC voltage. Therefore, both the mechanical loss and the iron loss can be compensated for by simply linearly interpolating the DC voltage.

[0125] (13) In the second embodiment, the drag torque compensation value is generated based on the angular velocity of the motor for each DC voltage. Both mechanical loss and iron loss can be compensated for by linear interpolation of the DC voltage.

[0126] (14) In the modified example of the second embodiment, the drag torque compensation value is generated based on the angular velocity of the motor. This makes it possible to compensate for mechanical loss. Furthermore, if iron loss can be ignored, control becomes easier.

[0127] Although the embodiments of the present application have been described in detail above, the present disclosure is not limited to the above-described embodiments and can be modified in various ways without departing from the spirit of the present invention. For example, the above-described embodiments have been described in detail to clearly explain the present invention, and the present invention is not necessarily limited to those including all of the described configurations. Furthermore, some of the configurations of the above-described embodiments can be added to, deleted from, or replaced with other configurations.

[0128] 1: electric vehicle system, 5: motor, 100, 100D, 100F: motor control device, 101: magnetic flux limit value generation unit, 102: drag torque compensation unit, 104: torque limit value generation unit, 105: torque command value limiting unit, 106: d-axis current command value generation unit, 107, 107C: flux weakening control unit, 108, 108C, 108D, 108E, 108F: d-axis current command value correction unit, 110: magnet torque gain generation unit, 111: reluctance torque gain generation unit, 112: q-axis current command value generation unit, 122, 122F: voltage phase control unit.

Claims

1. A motor control device that controls the drive of a motor, comprising: a d-axis current command value generation unit that generates a d-axis current command value based on a torque command value; and a q-axis current command value generation unit that generates a q-axis current command value based on the torque command value, the magnet torque and reluctance torque of the motor, and the d-axis current command value.

2. A motor control device according to claim 1, wherein the q-axis current command value generation unit corrects either or both of the magnet torque and the reluctance torque, and generates the q-axis current command value based on the magnet torque and the reluctance torque.

3. A motor control device according to claim 2, further comprising a magnet torque gain generation unit that generates a magnet torque gain for correcting the magnet torque based on the torque command value or the q-axis current command value and the temperature of the motor, and the q-axis current command value generation unit corrects the magnet torque using the magnet torque gain.

4. A motor control device according to claim 2, further comprising a reluctance torque gain generation unit that generates a reluctance torque gain for correcting the reluctance torque based on the torque command value or the q-axis current command value and the d-axis current command value, and the q-axis current command value generation unit corrects the reluctance torque using the reluctance torque gain.

5. A motor control device according to claim 1, further comprising a magnetic flux limit value generation unit that generates a magnetic flux limit value based on the DC voltage and angular velocity of the motor, and wherein the q-axis current command value generation unit generates the d-axis current command value based on the torque command value and the magnetic flux limit value.

6. A motor control device according to claim 1, further comprising a flux-weakening control unit that generates a negative correction amount to be added to the d-axis current command value based on the target voltage and voltage amplitude estimate of the motor so that the terminal voltage of the motor does not exceed a maximum output voltage, and adds the negative correction amount to the d-axis current command value, and the q-axis current command value generation unit generates the q-axis current command value based on the torque command value, the magnet torque, the reluctance torque, and the d-axis current command value after the negative correction amount has been added.

7. A motor control device according to claim 6, further comprising a d-axis current command value correction unit that generates a positive correction amount to be added to the d-axis current command value when the terminal voltage of the motor is equal to or greater than a predetermined value, wherein the d-axis current command value correction unit calculates a modulation factor based on the DC voltage of the motor and the voltage amplitude output from a voltage amplitude calculation unit that calculates a voltage amplitude to be output by the motor control device based on a d-axis voltage command value adjusted so that the d-axis current detection value of the motor follows the d-axis current command value to which the positive correction amount and the negative correction amount have been added, and a q-axis voltage command value adjusted so that the q-axis current of the motor follows the q-axis current command value, set one or more reference modulation factors, and generate the positive correction amount based on the magnitude relationship between the modulation factor and the reference modulation factor.

8. A motor control device according to claim 6, further comprising a d-axis current command value correction unit that generates a positive correction amount to be added to the d-axis current command value so as to approach the d-axis current on the MTPA (maximum torque per current) curve of the motor based on the torque command value when the terminal voltage of the motor is less than a predetermined value.

9. A motor control device according to claim 1, comprising: a voltage phase control unit that controls the voltage phase angle of the motor so that the torque of the motor coincides with the torque command value; and a d-axis current command value correction unit that generates a positive correction amount for correcting the d-axis current command value so that it coincides with the d-axis current detection value, based on either or both of the difference between the d-axis current command value and the d-axis current detection value of the motor and the difference between the q-axis current command value and the q-axis current detection value of the motor.

10. A motor control device according to claim 1, comprising: a magnetic flux limit value generation unit that generates a magnetic flux limit value based on the DC voltage and angular velocity of the motor; a torque limit value generation unit that generates a torque limit value that limits the torque command value based on the magnetic flux limit value; and a torque command value limit unit that limits the torque command value based on the torque limit value.

11. A motor control device according to claim 10, further comprising a drag torque compensation unit that generates a drag torque compensation value to compensate for the drag torque of the motor by adding it to the torque command value based on the DC voltage and the magnetic flux limit value, and wherein the torque command value limit unit limits the torque command value after the drag torque compensation value has been added, based on the torque limit value.

12. A motor control device according to claim 11, wherein the drag torque compensation unit generates the drag torque compensation value based on the magnetic flux limit value for each DC voltage.

13. A motor control device according to claim 11, wherein the drag torque compensation unit generates the drag torque compensation value based on the angular velocity of the motor for each of the DC voltages.

14. A motor control device according to claim 11, wherein the drag torque compensation unit generates the drag torque compensation value based on the angular velocity of the motor.

15. An electric vehicle comprising: a motor control device according to any one of claims 1 to 14; and a motor, the electric vehicle using the motor as a drive source.

Citation Information

Patent Citations

  • Apparatus for control of motor drive device

    JP2011217469A

  • Driving device of permanent magnet synchronous machine, torque compensation method of permanent magnet synchronous machine, and electric vehicle

    JP2020167870A

  • Motor control device

    JP2023074608A