Motor control device, steering device, and vehicle

WO2026150489A1PCT designated stage Publication Date: 2026-07-16MITSUBISHI ELECTRIC MOBILITY CORP

Patent Information

Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
MITSUBISHI ELECTRIC MOBILITY CORP
Filing Date
2025-01-08
Publication Date
2026-07-16

AI Technical Summary

Technical Problem

Existing motor control technologies face challenges in accurately detecting three-phase currents due to limitations in current detection methods, leading to unreliable motor driving and noise interference, particularly when using a single-shunt current detection method and phase shifting techniques.

Method used

A motor control device that simultaneously detects currents of two phases at intervals shorter than the PWM period, subtracts current detection values of one phase from another to correct for noise, and generates voltage commands to improve accuracy and reliability.

Benefits of technology

Enhances the reliability of motor driving by accurately detecting three-phase currents, reducing noise interference, and ensuring precise motor control.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure JP2025000264_16072026_PF_FP_ABST
    Figure JP2025000264_16072026_PF_FP_ABST
Patent Text Reader

Abstract

This motor control device includes: a first inverter that supplies power to a motor having multi-phase windings; and a control unit that controls the first inverter. The control unit acquires a current detection value obtained by the detections of a current flowing through the motor divided into two times at an interval shorter than a cycle of a pulse width modulation (PWM) carrier signal in PWM control for the first inverter, simultaneously detects currents of two phases in both a first detection and a second detection divided into two times, and generates a voltage command related to a voltage output by the first inverter on the basis of a value obtained by subtracting from a "current detection value of a host phase" a "current detection value of the other phase detected simultaneously".
Need to check novelty before this filing date? Find Prior Art

Description

Motor control device, steering device, and vehicle

[0001] The present disclosure relates to a motor control device, a steering device, and a vehicle.

[0002] In recent years, against the backdrop of the miniaturization of motor control devices, development of a method for detecting three-phase currents supplied to a motor using a single-shunt current detection method has been actively carried out and has been put into practical use mainly in household electrical appliances. This single-shunt current detection method is a method in which one shunt resistor is inserted on the DC power supply side of an inverter, and the current of one phase out of the three-phase currents is detected from the voltage across both ends thereof. Since the current of one phase is detected in one detection, it is necessary to perform at least two current detections to detect the three-phase currents.

[0003] For example, when naming the three phases as U, V, and W phases, the current flowing through the U phase is detected in the first detection, and the current of the V phase is detected in the second detection. The current of the W phase may be detected in the third detection, but if the motor is a three-phase three-wire type, it is often obtained from the current flowing through the U phase and the current flowing through the V phase by utilizing the fact that the sum of the currents flowing through the three phases becomes zero. For example, in Patent Document 1, a method of detecting two-phase currents by providing two current sample points (the interval between the two points is sufficiently shorter than Tp) as the PWM (Pulse Width Modulation) period Tp is described.

[0004] Also, Patent Document 2 shows that by shifting the phase of the carrier triangular wave for each inverter with respect to a plurality of inverters, the current flowing through the smoothing capacitor can be reduced. For example, in FIG. 5 of Patent Document 2, it is shown that by shifting the phases of the triangular waves of two inverters by 1 / 4 cycle, the peak of the two-axis total input current (the AC component thereof corresponds to the current supplied to the smoothing capacitor) can be reduced.

[0005] Japanese Patent No. 4671687 Japanese Patent No. 5124979

[0006] However, the technology described in Patent Document 1 only addresses a single-shunt current detection method and mentions sampling (detecting) the current twice at intervals shorter than the PWM period. For example, it does not mention how to deal with the case where current detectors are provided for each of the U, V, and W phases, and due to the limitations of the CPU that acquires the current detection results and performs calculations, only two phases can be sampled at a time, resulting in the need for two current samples. Therefore, there is a problem in that the current supplied to the motor cannot be detected with accuracy, and the reliability of driving the motor is compromised due to the influence of noise included in the current detection value.

[0007] Furthermore, while the technology described in Patent Document 2 can reduce the current supplied to the smoothing capacitor, it has the drawback that shifting the phase of the triangular wave can introduce noise into the motor's current detection value, thus compromising the reliability of driving the motor.

[0008] This disclosure is made in view of the circumstances described above, and one of its purposes is to provide a motor control device, a steering device, and a vehicle that improve the reliability when driving a motor.

[0009] The motor control device according to this disclosure comprises a first inverter that supplies power to a motor having a multiphase winding, and a control unit that controls the first inverter. The control unit acquires current detection values ​​obtained by detecting the current supplied to the motor in two stages at intervals shorter than the period of the PWM carrier signal in the PWM (Pulse Width Modulation) control of the first inverter, simultaneously detecting the currents of two phases in both the first and second detection stages, and generates a voltage command relating to the voltage output by the first inverter based on a value obtained by subtracting the current detection value of the other phase detected simultaneously from the current detection value of the same phase.

[0010] The steering system according to this disclosure comprises the motor control device described above, the motor control device controls the output of a motor that outputs assist torque based on a steering torque signal from a torque sensor that detects the steering torque applied by the driver to the steering wheel.

[0011] The vehicle relating to this disclosure is equipped with the steering device described above.

[0012] According to this disclosure, the motor control device can improve the reliability when driving the motor.

[0013] A block diagram showing the configuration of the motor control device according to the first embodiment. A diagram showing an example of the configuration of the three-phase windings of the motor according to the first embodiment. A diagram showing an example of the functional configuration of the first arithmetic circuit according to the first embodiment. A flowchart showing an example of the calculation process of the corrected current detection value according to the first embodiment. A diagram showing an example of the input / output voltages and zero-sequence voltage waveforms of the zero-sequence voltage adder according to the first embodiment. A waveform diagram showing an example of the operation of the carrier comparator according to the first embodiment. A waveform diagram showing an example of the waveform in the first system according to the first embodiment. A block diagram showing the configuration of the motor control device according to the second embodiment. A diagram showing an example of the configuration of the three-phase windings of the motor according to the second embodiment. A diagram showing an example of the waveform in the first system shown in Figure 7 according to the second embodiment, with the influence of the second system added. A diagram showing an example of the measured waveforms of the first system voltage, second system voltage V, and second system current according to the second embodiment. A block diagram showing the configuration of the motor control device according to the third embodiment. A diagram showing an example of the waveform in the first system with the influence of the second system added according to the third embodiment. A configuration diagram showing an example of the configuration of the vehicle according to the fourth embodiment.

[0014] The embodiments will be described below with reference to the drawings. <First Embodiment> First, the first embodiment will be described.

[0015] [Motor Control Device Configuration] Figure 1 is a block diagram showing the configuration of the motor control device according to this embodiment. The motor control device 100 is a control device that acquires the detection result of a rotation position sensor 2 that detects the rotation position of the motor 1 and controls the motor 1, and includes a first system 100a. The motor 1 is a motor having three phase windings, such as a permanent magnet synchronous motor, a wound-field synchronous motor, an induction motor, or a synchronous reluctance motor. The motor 1 has first three phase windings U1, V1, and W1.

[0016] Figure 2 shows an example of the configuration of the three-phase windings of the motor 1 according to this embodiment. As shown in Figure 2, the motor 1 has first three-phase windings U1, V1, and W1 arranged, and outputs power by passing current through them. In Figure 2, a Y connection is shown as an example, but a delta connection may also be used.

[0017] The rotational position sensor 2 is a rotational position sensor that detects the rotational position of the motor 1. The rotational position sensor 2 may be, for example, an MR sensor, a resolver, a Hall element, an encoder, etc. Alternatively, a known rotational position sensorless control may be implemented within the motor control device 100 to configure the motor control device 100 without a rotational position sensor. In this embodiment, the rotational position sensor 2 will be described as an MR sensor that outputs sin1 and cos1 to the first calculation circuit 6a, which will be described later.

[0018] However, the rotational position sensor 2 may not only output sin1 and cos1 as an MR sensor, but may also output four signals such as sin1+, cos1+, sin1-, and cos1-.

[0019] sin1+ and sin1- are signals that output the sine of the rotational position of motor 1, and are in opposite phase to each other. Therefore, by subtracting sin1- from sin1+, a sine signal of the rotational position with twice the amplitude of sin1+ can be obtained, and the signal may be processed in this manner in the first arithmetic circuit 6a described later. Similarly, cos1+ and cos1- are signals that output the cosine of the rotational position of motor 1, which are in opposite phase to each other. Therefore, by subtracting cos1- from cos1+, a cosine signal of the rotational position with twice the amplitude of cos1+ can be obtained, and the signal may be processed in this manner in the first arithmetic circuit 6a described later.

[0020] Next, the first system 100a in Figure 1 will be described. The first system 100a consists of a first DC power supply 3a, a first inverter 4a, a first current detector 5a, and a first arithmetic circuit 6a (an example of a control unit). Below, each component will be described, and the operation of the first system 100a will be explained.

[0021] The first DC power supply 3a outputs a DC voltage Vdc1 to the first inverter 4a. This first DC power supply 3a may be any device that outputs a DC voltage, such as a battery, a DC-DC converter, a diode rectifier, or a PWM (Pulse Width Modulation) rectifier.

[0022] The first inverter 4a is a power converter (inverter) that inversely converts the DC voltage Vdc1 input from the first DC power supply 3a (converts DC to AC) and applies AC voltages Vu1, Vv1, and Vw1 to the first three-phase windings U1, V1, and W1 of the motor 1. The first inverter 4a applies (generates) AC voltages Vu1, Vv1, and Vw1 from the DC voltage Vdc1 by turning on and off semiconductor switches Sup1, Sun1, Svp1, Svn1, Swp1, and Swn1 according to the on / off signals Gup1, Gun1, Gvp1, Gvn1, Gwp1, and Gwn1 respectively from the first arithmetic circuit 6a, which will be described later. Semiconductor switches such as IGBTs, bipolar transistors, and MOS power transistors are used as switches Sup1 to Swn1.

[0023] The first current detector 5a detects the currents Iu1, Iv1, and Iw1 flowing through the first three-phase windings U1, V1, and W1 based on the voltages across the resistors Ru1, Rv1, and Rw1 connected in series with the lower arm switching elements Sun1, Svn1, and Swn1.

[0024] The first arithmetic circuit 6a is an arithmetic unit (for example, a CPU: Central Processing Unit) that uses a microcontroller, DSP (Digital Signal Processor), FPGA (Field Programmable Gate Array), etc. The first arithmetic circuit 6a receives the current command I_target, the currents Iu1, Iv1, Iw1 detected from the first current detector 5a, and the output signals (sin1, cos1) from the rotation position sensor 2 as input, and outputs on / off signals Gup1, Gun1, Gvp1, Gvn1, Gwp1, Gwn1 to the first inverter 4a.

[0025] However, the signals input to the first arithmetic circuit 6a are not limited to these. For example, if the motor 1 is a motor used in the steering system of an automobile, the input signals may be steering torque, steering angle signals, etc., and the first arithmetic circuit 6a may be configured to process these signals and generate a command value I_target for the current supplied to the motor 1.

[0026] The I_target input to the first arithmetic circuit 6a is the target value of the current to be supplied to the first three-phase windings U1, V1, and W1 of the motor 1. If the motor 1 is an assist motor for electric power steering, this value is determined based on the assist torque. If the motor 1 is speed-controlled, this value is determined based on the acceleration / deceleration torque, which is the difference between the commanded speed of the motor 1 and the actual speed of the motor 1.

[0027] Next, the calculations and operations performed by the first arithmetic circuit 6a will be explained using Figure 3. Figure 3 is a diagram showing an example of the functional configuration of the first arithmetic circuit 6a according to this embodiment. In Figure 3, the functions of each calculation performed by the first arithmetic circuit 6a are shown as functional configurations. The first arithmetic circuit 6a includes, as a functional configuration, a current command value calculator 7a, a coordinate converter 8a, a subtractor 9a, a subtractor 10a, a current controller 11a, a current controller 12a, a coordinate converter 13a, a zero-sequence voltage adder 14a, a carrier comparator 15a, a phase current detection unit 16a, a phase current calculation unit 17a, and a first angle calculation unit 604a.

[0028] The current command value calculator 7a calculates the current commands id1_ref and iq1_ref for the dq axis using the current command I_target. The calculation method applies known techniques such as maximum efficiency control (MTPA (Maximum Torque Per Ampere) control, weaker flux control, etc.). Note that MTPA control includes id1_ref = 0 if the motor does not generate reluctance torque.

[0029] The phase current detection unit 16a detects the currents Iu1, Iv1, and Iw1 flowing through the first three-phase windings U1, V1, and W1 detected by the first current detector 5a, and divides them into two detection timings, "detection timing 1" and "detection timing 2," near the maximum value of the first carrier wave CA1 (see Figure 6 described later), acquiring the currents for two phases at each timing. The detected currents are defined as current detection values ​​Iu1_s, Iv1_s, and Iw1_s.

[0030] The phase current calculation unit 17a calculates and outputs corrected current detection values ​​Iu1_s, Iv1_s, and Iw1_s based on the current detection values ​​Iu1_s, Iv1_s, and Iw1_s detected by the phase current detection unit 16a. The operation of the calculation process for calculating these corrected current detection values ​​will be explained with reference to Figure 4.

[0031] Figure 4 is a flowchart showing an example of the calculation process for corrected current detection values ​​according to this embodiment. For the purposes of this explanation, the current detection values ​​obtained at "Detection Timing 1" and "Detection Timing 2" are denoted by the subscripts (1) and (2), respectively. For example, the U1 phase current obtained at "Detection Timing 1" is denoted as Iu1_s(1), and the W1 phase current obtained at "Detection Timing 2" is denoted as Iw1_s(2). The same applies to the other phases.

[0032] (Step S300) The phase current calculation unit 17a sets the largest value among the modified first voltage commands Vu1_ref', Vv1_ref', and Vw1_ref', which will be described later, as Vmax. Then proceed to step S301.

[0033] (Step S301) The phase current calculation unit 17a determines whether Vmax is greater than a predetermined voltage threshold Vh. If it determines that Vmax is greater (YES), it proceeds to step S302; if it determines that Vmax is not greater (NO), it proceeds to step S311.

[0034] Here, the voltage threshold Vth is the on-time sufficient to accurately detect the current of the switching element on the lower arm of the phase corresponding to Vmax without being affected by ringing. This is given by equation (1-1), where Tmin is the time during which current is supplied to the current-sensing resistor element of the maximum phase (see Figure 7 below). Here, Tc is the period of the first carrier wave CA1 (see Figures 6 and 7 below).

[0035] Vth={(Tc-Tmin) / Tc-0.5}×Vdc1...(1-1)

[0036] If we substitute, for example, Tc = 50 μs and Tmin = 5 μs into this equation, we get Vth = 0.4 × Vdc1.

[0037] (Step S302) The phase current calculation unit 17a determines whether Vu1_ref' matches Vmax. If it determines they match (YES), it proceeds to step S304. If it determines they do not match (NO), it proceeds to step S303.

[0038] (Step S303) The phase current calculation unit 17a determines whether Vv1_ref' matches Vmax. If it determines that they match (YES), it proceeds to step S305. If it determines that they do not match (NO), it proceeds to step S306.

[0039] Next, the processes in steps S304 and S307 will be described. When these processes are executed, "Vmax > Vth" (step S301: YES) and "Vmax = Vu1_ref'" (step S302: YES). In this case, the phase current detection unit 16a acquires the following currents at "detection timing 1" and "detection timing 2", respectively.

[0040] - "Detection timing 1": "Acquire Iu1 and Iv1" → Detected values ​​"Iu1_s(1), Iv1_s(1)" - "Detection timing 2": "Acquire Iu1 and Iw1" → Detected values ​​"Iu1_s(2), Iw1_s(2)"

[0041] (Step S304) The phase current calculation unit 17a calculates the corrected current detection value Iv1_c for the V phase by subtracting the current detection value Iu1_s(1) for the U phase from the current detection value Iv1_s(1) for the V phase, and also calculates the corrected current detection value Iw1_c for the W phase by subtracting the current detection value Iu1_s(2) for the U phase from the current detection value Iw1_s(2) for the W phase. Then, the process proceeds to step S307.

[0042] (Step S304) The phase current calculation unit 17a calculates the corrected V-phase current detection value Iv1_c by subtracting the U-phase current detection value Iu1_s(1) from the V-phase current detection value Iv1_s(1), and calculates the corrected W-phase current detection value Iw1_c by subtracting the U-phase current detection value Iu1_s(2) from the W-phase current detection value Iw1_s(2). Then, it proceeds to step S307.

[0043] (Step S307) The phase current calculation unit 17a obtains the corrected U-phase current detection value Iu1_c from the sum of the inverted sign value of the corrected V-phase current detection value Iv1_c and the inverted sign value of the corrected W-phase current detection value Iw1_c. Then, it proceeds to step S310.

[0044] Next, the processes of steps S305 and S308 will be described. When this process is executed, "Vmax > Vth" (step S301: YES) and "Vmax = Vv1_ref'" (step S303: YES). In this case, the phase current detection unit 16a acquires the following currents at each of "detection timing 1" and "detection timing 2".

[0045] ・ "detection timing 1": "acquire Iv1, Iu1" → detection values "Iv1_s(1), Iu1_s(1)" ・ "detection timing 2": "acquire Iv1, Iw1" → detection values "Iv1_s(2), Iw1_s(2)"

[0046] (Step S305) The phase current calculation unit 17a calculates the corrected U-phase current detection value Iu1_c by subtracting the V-phase current detection value Iv1_s(1) from the U-phase current detection value Iu1_s(1), and calculates the corrected W-phase current detection value Iw1_c by subtracting the V-phase current detection value Iv1_s(2) from the W-phase current detection value Iw1_s(2). Then, it proceeds to step S308.

[0047] (Step S308) The phase current calculation unit 17a obtains the corrected V-phase current detection value Iv1_c from the sum of the inverted sign value of the corrected U-phase current detection value Iu1_c and the inverted sign value of the corrected W-phase current detection value Iw1_c. Then, it proceeds to step S310.

[0048] Next, the processes in steps S306 and S309 will be explained. When these processes are executed, "Vmax > Vth" (step S301: YES) and "Vmax = Vw1_ref" (step S303: NO). In this case, the phase current detection unit 16a acquires the following currents at "detection timing 1" and "detection timing 2," respectively.

[0049] - "Detection timing 1": "Acquire Iw1 and Iu1" → Detected values ​​"Iw1_s(1), Iu1_s(1)" - "Detection timing 2": "Acquire Iw1 and Iv1" → Detected values ​​"Iw1_s(2), Iv1_s(2)"

[0050] (Step S306) The phase current calculation unit 17a calculates the corrected current detection value Iu1_c for the U phase by subtracting the current detection value Iw1_s(1) for the W phase from the current detection value Iu1_s(1) for the U phase, and also calculates the corrected current detection value Iv1_c for the V phase by subtracting the current detection value Iw1_s(2) for the W phase from the current detection value Iv1_s(2) for the V phase. Then, the process proceeds to step S309.

[0051] (Step S309) The phase current calculation unit 17a obtains the corrected current detection value Iw1_c for the W phase from the sum of the sign-inverted value of the corrected current detection value Iu1_c for the U phase and the sign-inverted value of the corrected current detection value Iv1_c for the V phase. Then, the process proceeds to step S310.

[0052] (Step S310) The phase current calculation unit 17a calculates and outputs Iα1_c and Iβ1_c by performing a three-phase / αβ conversion on the current detection values ​​Iu1_c, Iv1_c, and Iw1_c obtained from the above-mentioned "Steps S304, S307", "Steps S305, S308", or "Steps S306, S309" according to the formula shown in Step S310 of Figure 4.

[0053] Next, the process in step S311 will be explained. When this process is executed, "Vmax ≤ Vth" (step S301: NO) holds true, and all three phase currents (Iu1, Iv1, Iw1) can be detected. In this case, the phase current detection unit 16a acquires the following currents at "detection timing 1" and "detection timing 2," respectively.

[0054] - "Detection timing 1": "Acquire Iu1 and Iv1" → Detected values ​​"Iu1_s(1), Iv1_s(1)" - "Detection timing 2": "Acquire Iu1 and Iw1" → Detected values ​​"Iu1_s(2), Iw1_s(2)"

[0055] (Step S311) The phase current calculation unit 17a calculates and outputs Iα1_c and Iβ1_c by performing a three-phase / αβ conversion on the detected values ​​Iu1_s(1), Iv1_s(1) and Iu1_s(2), Iw1_s(2) acquired by the phase current detection unit 16a according to the formula shown in step S311. The formula in step S311 will be described later.

[0056] Returning to Figure 3, the first angle calculation unit 604a calculates the first angle θ1 by calculating the arctangent (inverse tangent function) for sin1 and cos1 detected by the rotation position sensor 2, as shown in equation (1-2).

[0057] θ1=tan-1 (sin1 / cos1) ... (1-2)

[0058] However, as mentioned above, if the rotational position sensor 2 outputs four signals sin1+, cos1+, sin1-, and cos1-, the calculation may be performed as shown in equation (1-2a). However, if the axis double angle of the rotational position sensor 2 and the motor 1 are different, the first angle θ1 may be multiplied by a constant to adjust it to match the electrical angle of the motor 1.

[0059] θ1=tan−1{(sin1+ − sin1−) / (cos1+ − cos1−)} ・・・(1−2a)

[0060] The coordinate converter 8a calculates the currents id1 and iq1 on the rotating two axes (d-q axes) from the stationary two-axis (α-β axis) currents Iα1_c and Iβ1_c output from the phase current calculation unit 17a and the first angle θ1 detected from the first angle calculation unit 604a.

[0061] Subtractor 9a subtracts the current command id1_ref by the current id1 and outputs the deviation err_d1. Subtractor 10a subtracts the current command iq1_ref by the current iq1 and outputs the deviation err_q1. Current controller 11a calculates the voltage command vd1 on the two rotation axes (d-q axes) using proportional-integral control so that the deviation err_d1 obtained from subtractor 9a matches zero. Current controller 12a calculates the voltage command vq1 on the two rotation axes (d-q axes) using proportional-integral control so that the deviation err_q1 obtained from subtractor 10a matches zero.

[0062] The coordinate converter 13a calculates first voltage commands Vu1_ref, Vv1_ref, and Vw1_ref based on the voltage commands vd1 and vq1 on the two rotation axes (d-q axes) and the first angle θ1 detected by the first angle calculation unit 604a.

[0063] As shown in equations (1-3), (1-4), and (1-5), the zero-sequence voltage adder 14a subtracts the zero-sequence voltage Vo1 from each of the first voltage commands Vu1_ref, Vv1_ref, and Vw1_ref output from the coordinate converter 13a, and outputs the corrected first voltage commands Vu1_ref', vv1_ref', and Vw1_ref'.

[0064] Vu1_ref'=Vu1_ref - Vo1...(1-3) Vv1_ref'=Vv1_ref - Vo1...(1-4) Vw1_ref'=Vw1_ref - Vo1...(1-5)

[0065] As an example, Figure 5 shows the input and output voltages of the zero-sequence voltage adder 14a and the waveform of the zero-sequence voltage Vo1 when the zero-sequence voltage Vo1 shown in equation (1-6) is set. Here, Vmax' is the largest of Vu1_ref, Vv1_ref, and Vw1_ref.

[0066] Vo1=Vmax'-0.5×Vdc1...(1-6)

[0067] Figure 5 shows an example of the input / output voltages and zero-sequence voltage Vo1 waveforms of the zero-sequence voltage adder 14a according to this embodiment. As shown in Figure 5, the upper limit (=Vdc1 / 2) that the first inverter 4a can output is defined as the "inverter output upper limit," the output center as the "inverter output center value," and the lower limit (=-Vdc1 / 2) as the "inverter output lower limit." The upper row "first voltage commands Vu1_ref, Vv1_ref, Vw1_ref" exceed the inverter output upper limit and inverter output lower limit, and even if this is set to the first inverter 4a, the excess portion is cut off and it is not output correctly. On the other hand, the lower row "modified first voltage commands Vu1_ref', Vv1_ref', Vw1_ref'" has no excess and can be output correctly even if set to the first inverter 4a.

[0068] Therefore, the zero-sequence voltage adder 14a has the function of correcting the amplitude of the "first voltage commands Vu1_ref, Vv1_ref, Vw1_ref" to eliminate the overshoot even when the amplitude is large and exceeds the output limit value. Since the subtraction is performed equally on all three phases, the inter-phase voltage of the first inverter 4a (Vu1 - Vv1, etc.) remains constant between the input and output of the zero-sequence voltage adder 14a.

[0069] When the zero-sequence voltage Vo1 is given as shown in equation (1-6), the largest voltage command among the modified first voltage commands always matches the "inverter output upper limit." In this embodiment, if YES is determined in step S301 in Figure 4, the zero-sequence voltage Vo1 is given by equation (1-6).

[0070] On the other hand, as for how the zero-sequence voltage Vo1 is provided, if the amplitude of the voltage command is below a certain threshold (NO in step S301 of Figure 4), Vo1 = 0 or a known third-harmonic superposition method (Vo1 = (Vmax + Vmin) × 0.5), and if it exceeds the threshold, it switches to equation (1-6). Needless to say, other physical quantities such as the rotational speed of motor 1 may also be used as the method of switching, in addition to the amplitude of the voltage command. Also, if NO is selected in step S301 of Figure 4, the zero-sequence voltage Vo1 = 0, or a combination of Vo1 = 0.5Vdc1 - Vmin' may be used as appropriate. However, Vmin' is the smallest of vu1_ref, vv1_ref, and vw1_ref.

[0071] Returning to Figure 3, the carrier comparator 15a receives the "modified first voltage commands Vu1_ref', Vv1_ref', Vw1_ref'" as input and outputs the "on / off signals Gup1, Gun1, Gvp1, Gvn1, Gwp1, Gwn1" for the first inverter 4a.

[0072] Next, the operation of the carrier comparator 15a will be explained using Figure 6. Figure 6 is a waveform diagram showing an example of the operation of the carrier comparator 15a according to this embodiment. In this figure, each waveform is shown with time on the horizontal axis.

[0073] However, for the purpose of explaining the operation, we will only describe the case where the "maximum values ​​of the modified first voltage commands Vu1_ref', Vv1_ref', and Vw1_ref'" do not match the inverter output upper limit mentioned above, and the case where they do match will be described later. The first inverter 4a generates PWM signals to Gup1 to Gwn1 using the carrier signal of the first carrier wave CA1 with period Tc (equal to the PWM period Tc). In this embodiment, current detection is performed twice near the maximum value of the first carrier wave CA1. This is because, due to the limitation of the number of channels of the analog input (AD conversion) input of the first arithmetic circuit 6a, the acquisition of a maximum of two signals simultaneously is limited, making it necessary to divide the acquisition of the three-phase current into two steps. The interval between these two detection timings ("detection timing 1" and "detection timing 2") is sufficiently shorter than the PWM period Tc. Specifically, it is 1 / 5 or less of Tc, more preferably 1 / 10 or less.

[0074] The modified first voltage commands Vu1_ref', Vv1_ref', Vw1_ref' are compared with the first carrier CA1, and the following conditions are met: if Vu1_ref' ≥ CA1, Gup1 is turned on (1) and Gun1 is turned off (0); if Vu1_ref' < CA1, Gup1 is turned off (0) and Gun1 is turned on (1); if Vv1_ref' ≥ CA1, Gvp1 is turned on (1) and Gvn1 is turned off (0); if Vv1_ref' < CA1, Gvp1 is turned off (0) and Gvn1 is turned on (1); if Vw1_ref' ≥ CA1, Gwp1 is turned on (1) and Gwn1 is turned off (0); or if Vw1_ref' < CA1, Gwp1 is turned off (0) and Gwn1 is turned on (1). Furthermore, it goes without saying that when switching one from off to on and the other from on to off, it is acceptable to include an off period (dead time) for both in between.

[0075] In Figure 6, if we define Tnu1, Tnv1, and Tnw1 as the time from when the lower switching element of each phase switches from off (0) to on (1) until the timing when the first carrier CA1 reaches its maximum (detection timing), and Tnu2, Tnv2, and Tnw2 as the time from when the first carrier CA1 reaches its maximum (detection timing) until the time when the lower switching element of each phase switches from on (1) to off (0), then we can see that "Tnu1 = Tnu2, Tnv1 = Tnv2, Tnw1 = Tnw2" holds true. This means that the vicinity of detection timings 1 and 2 is the "midpoint timing of the on period of the lower switching element".

[0076] In this case, by using a triangular wave as the first carrier wave CA1, the detection timing and the timing of the first carrier wave CA1 coincided. On the other hand, if the shape of the first carrier wave CA1 is other than a triangular wave (for example, a sawtooth wave), the detection timing will be the "midpoint timing of the ON period of the lower switching element," which will be a different timing from the maximum value of the first carrier wave CA1.

[0077] Next, the operation according to this embodiment will be described. Figure 7 is a waveform diagram showing an example of the waveform in the first system 100a according to this embodiment. In Figure 7, with the horizontal axis representing time, the waveforms of the "modified first voltage commands Vu1_ref', Vv1_ref', Vw1_ref'", the first carrier wave CA1, the on / off signals Gun1, Gvn1, Gwn1 of the lower switching element of the first inverter 4a, and the currents Iu1, Iv1, Iw1 output from the first current detector 5a are shown (without considering the operation of the second system 100b). Regarding the current detection value, the superimposed detection noise at detection timing 1 is denoted as Inoise1, and the superimposed detection noise at detection timing 2 is denoted as Inoise2.

[0078] For example, if Iu1 and Iv1 obtained at detection timing 1 are denoted as Iu1_s(1) and Iv1_s(1), respectively, then they can be expressed as shown in equations (1-7) and (1-8). However, Iu1_real and Iv1_real are the true values ​​of Iu1 and Iv1.

[0079] Iu1_s(1) = Iu1_real + Inoise1 ... (1-7) Iv1_s(1) = Iv1_real + Inoise1 ... (1-8)

[0080] Similarly, if we denote Iu1 and Iv1 obtained at detection timing 2 as Iu1_s(2) and Iv1_s(2), respectively, then they can be expressed as shown in equations (1-9) and (1-10).

[0081] Iu1_s(2) = Iu1_rea1 + Inoise2 ... (1-9) Iv1_s(2) = Iv1_real + Inoise2 ... (1-10)

[0082] As shown in equations (1-7) to (1-10), when a current containing superimposed detection noises Inoise1 and Inoise2 is detected, and current control is performed so that the detected superimposed detection noise matches the current command value, the effects of the detection noises Inoise1 and Inoise2 superimposed on the truly energized current become apparent, resulting in adverse effects such as increased vibration and noise of motor 1. Here, since Inoise1 and Inoise2 are high-frequency, they differ depending on the detection timing, so Inoise1 and Inoise2 will have different values ​​from each other.

[0083] To address this, in this embodiment, a voltage command is generated based on a value obtained by subtracting the "current detection value of the other phase detected simultaneously" from the "current detection value of the other phase detected simultaneously". Specifically, in Figure 4, the case is divided into "steps S304, S305, S306, and S311" by steps S301, S302, and S303, but in all cases it takes the form of "subtraction of the current of two phases with subscript (1)" and "subtraction of the current of two phases with subscript (2)". This is none other than the value obtained by subtracting the "current detection value of the other phase detected simultaneously" from the "current detection value of the other phase detected simultaneously" as mentioned above.

[0084] The following explains why the effects of superimposed detection noises Inoise1 and Inoise2 can be removed by the calculations performed in "Steps S304, S305, S306, and S311".

[0085] First, let's explain the case of step S304. In this case, Iu1_s(1) and Iv1_s(1) acquired at detection timing 1 can be expressed as shown in equations (1-11) and (1-12), respectively.

[0086] Iu1_s(1) = Inoise1 ... (1-11) Iv1_s(1) = Iv1_real + Inoise1 ... (1-12)

[0087] Here, in equation (1-11), unlike equation (1-7), the reason why Iu1_real = 0 is that when step S304 is selected, Vu1_ref' = Vdc1 / 2 holds true, and during the period Tc, "Gup1 on (1) and Gun1 off (0)" always holds true, so no current flows through Ru. Figure 7 is a diagram corresponding to the case of step S304. Therefore, Iu1_s (1) is the superimposed detection noise Inoise1 at detection timing 1.

[0088] Next, Iu1_s(1) and Iw1_s(1), obtained at detection timing 2, can be expressed as shown in equations (1-13) and (1-14), respectively.

[0089] Iu1_s(2) = Inoise2 ... (1-13) Iw1_s(2) = Iw1_real + Inoise2 ... (1-14)

[0090] At detection timing 2, the condition "Gup1 on (1) and Gun1 off (0)" holds true, and no current flows through Ru. Therefore, Iu1_s (2) is the superimposed detection noise Inoise2 at detection timing 2.

[0091] Next, substituting equations (1-11) and (1-12) into the equation above step S304 in Figure 4, we obtain equation (1-15).

[0092] Iv1_c = Iv1_s(1) - Iu1_s(1) = (Iv1_real + Inoise1) - (Inoise1) = Iv1_real ... (1-15)

[0093] Similarly, substituting equations (1-13) and (1-14) into the equation below step S304 in Figure 4 yields equation (1-16).

[0094] Iv1_c = Iw1_s (1) - Iu1_s(1) = (Iw1_real + Inoise2) - (Inoise2) = Iw1_real ... (1-16)

[0095] At this point, Iv1_s(1) and Iw1_s(2) correspond to the "current detection values ​​of the current of the same phase," and Iu1_s(1) and Iu1_s(2) correspond to the "current detection values ​​of the other phase detected simultaneously," and it can be seen that the former is subtracted by the latter. This removes the influence of the superimposed detection noises Inoise1 and Inoise2. If step S304 is selected, then step S307 is executed, but the superimposed detection noises Inoise1 and Inoise2 have been removed by equations (1-15) and (1-16), and their influence does not appear in the calculated Iu1_c.

[0096] Next, we will explain the case of step S305. In this case, Iv1_s(1) and Iu1_s(1) acquired at detection timing 1 can be expressed in equations (1-17) and (1-18), respectively.

[0097] Iu1_s(1) = Iu1_real + Inoise1 ... (1-17) Iv1_s(1) = Inoise1 ... (1-18)

[0098] Here, the reason why Iv_real1 = 0 in equation (1-18) is that when step S305 is selected, Vv1_ref' = Vdc1 / 2 holds true, and during the period Tc, "Gvp1 on (1) and Gvn1 off (0)" always holds true, so no current flows through Rv. Therefore, Iv1_s (1) is the superimposed detection noise Inoise1 at detection timing 1.

[0099] Next, Iw1_s(2) and Iv1_s(2), obtained at detection timing 2, can be expressed as shown in equations (1-19) and (1-20), respectively.

[0100] Iv1_s(2) = Inoise2 ... (1-19) Iw1_s(2) = Iw1_real + Inoise2 ... (1-20)

[0101] At detection timing 2, the condition "Gvp1 on (1) and Gvn1 off (0)" holds true, and no current flows through Rv. Therefore, Iv1_s (2) is the superimposed detection noise Inoise2 at detection timing 2.

[0102] Next, substituting equations (1-17) and (1-18) into the equation above step S305 in Figure 4, we obtain equation (1-21).

[0103] Iu1_c = Iu1_s(1) - Iv1_s(1) = (Iu1_real + Inoise1) - (Inoise1) = Iu1_real ... (1-21)

[0104] Similarly, substituting equations (1-19) and (1-20) into the equation below step S305' in Figure 12 yields equation (1-22).

[0105] Iw1_c = Iw1_s(1) - Iv1_s(1) = (Iw1_real + Inoise2) - (Inoise2) = Iw1_real ... (1-22)

[0106] At this point, Iu1_s(1) and Iw1_s(2) correspond to the "current detection values ​​of the current of the same phase," and Iv1_s(1) and Iv1_s(2) correspond to the "current detection values ​​of the other phase detected simultaneously," and it can be seen that the former is subtracted by the latter. This removes the influence of the superimposed detection noises Inoise1 and Inoise2. If step S305 is selected, then step S308 is executed, but from equations (1-21) and (1-22), the superimposed detection noises Inoise1 and Inoise2 have been removed, and their influence does not appear in the calculated Iv1_c.

[0107] Next, we will explain the case of step S306. In this case, Iu1_s(1) and Iw1_s(1) acquired at detection timing 1 can be expressed as shown in equations (1-23) and (1-24), respectively.

[0108] Iu1_s(1) = Iu1_real + Inoise1 ... (1-23) Iw1_s(1) = Inoise1 ... (1-24)

[0109] Here, the reason why Iw_real1 = 0 in equation (1-24) is that when step S306 is selected, Vw1_ref' = Vdc1 / 2 holds true, and during the period Tc, "Gwp1 on (1) and Gwn1 off (0)" always holds true, so no current flows through Rw. Therefore, Iw1_s (1) is the superimposed detection noise Inoise1 at detection timing 1.

[0110] Next, Iv1_s(2) and Iw1_s(2), obtained at detection timing 2, can be expressed as shown in equations (1-25) and (1-26), respectively.

[0111] Iw1_s(2) = Inoise2 ... (1-25) Iv1_s(2) = Iw1_real + Inoise2 ... (1-26)

[0112] At detection timing 2, the condition "Gwp1 on (1) and Gwn1 off (0)" holds true, and no current flows through Rw. Therefore, Iw1_s (2) is the superimposed detection noise Inoise2 at detection timing 2.

[0113] Next, substituting equations (1-23) and (1-24) into the equation above step S306 in Figure 4, we obtain equation (1-27).

[0114] Iu1_c = Iu1_s(1) - Iw1_s(1) = (Iu1_real + Inoise1) - (Inoise1) = Iu1_real ... (1-27)

[0115] Similarly, substituting equations (1-25) and (1-26) into the equation below step S306 in Figure 4 yields equation (1-28).

[0116] Iv1_c = Iv1_s(1) - Iw1_s(1) = (Iv1_real + Inoise2) - (Inoise2) = Iv1_real ... (1-28)

[0117] At this point, Iu1_s(1) and Iv1_s(2) correspond to the "current detection values ​​of the same phase," and Iw1_s(1) and Iw1_s(2) correspond to the "current detection values ​​of the other phase detected simultaneously," and it can be seen that the former is subtracted by the latter. This removes the influence of the superimposed detection noises Inoise1 and Inoise2. If step S306 is selected, step S309 is then executed, but from equations (1-27) and (1-28), the superimposed detection noises Inoise1 and Inoise2 have been removed, and their influence does not appear in the calculated Iw1_c.

[0118] The cases for steps S304, S305, and S306 have been described above. In all cases, the "current detection value of the current of the same phase" is the value obtained when the lower arm switching element of the first inverter 4a is ON, and the "current detection value of the other phase detected simultaneously" is the value obtained when the lower arm switching element of the first inverter 4a is OFF (the upper arm switching element is ON). This is because the zero-sequence voltage adder 14a shifts the maximum phase voltage command, intermediate phase voltage command, and minimum phase voltage command equally so that the maximum phase voltage command matches the maximum value of the PWM carrier signal (first carrier wave CA1). In steps S304, S305, and S306, the maximum phase voltage command corresponds to Vu1_ref', Vv1_ref', and Vw1_ref', respectively.

[0119] Furthermore, in all cases of steps S304, S305, and S306, the phase current calculation unit 17a acquires the current detection value of the phase corresponding to the maximum phase voltage command at both detection timing 1 and detection timing 2. In addition, the phase current calculation unit 17a acquires current detection values ​​other than the current detection value of the phase corresponding to the maximum phase voltage command at both detection timing 1 and detection timing 2. Therefore, at detection timing 1, the current detection value of "one of the intermediate phase voltage command and the minimum phase voltage command" is acquired, and at detection timing 2, the current detection value of "the other of the intermediate phase voltage command and the minimum phase voltage command" is acquired.

[0120] Next, the process of step S311 will be explained. As mentioned above, step S311 in Figure 4 calculates Iα1_c and Iβ1_c by performing a three-phase / αβ conversion on "Iu1_s(1), Iv1_s(1)" acquired at detection timing 1 and "Iu1_s(2), Iw1_s(2)" acquired at detection timing 2.

[0121] Here, the general three-phase / αβ conversion (Clark conversion) is expressed as shown in equations (1-29) and (1-30). Iu, Iv, and Iw are the three-phase currents flowing through motor 1, and Iα and Iβ are the αβ axis currents.

[0122] Iα = (2 / 3) 0.5 ×(Iu-0.5×Iv-0.5×Iw) ...(1-29) Iβ = (1 / 2) 0.5 ×(Iv-Iw) ...(1-30)

[0123] Of these, equation (1-30) is in the form of subtracting Iw from Iv (without multiplying by a constant other than 1), but equation (1-29) is not in the form of subtracting one of the phases (Iu, Iv, Iw) from another phase (without multiplying by a constant other than 1). Therefore, equation (1-29) is transformed into equation (1-31) below.

[0124] Iα = (2 / 3) 0.5 ×(Iu − 0.5×Iv −0.5×Iw) = (2 / 3) 0.5 ×(Iu - Iv +0.5×Iv -0.5×Iw) = (2 / 3) 0.5 ×((Iu − Iv) +0.5×(Iv−Iw)) ・・・(1-31)

[0125] Equation (1-31) is mathematically identical to equation (1-29) in that it is the same as equation (1-29), but it is in the form of subtracting one of the phases (Iu, Iv, Iw) from the other phases (without multiplying by a constant other than 1).

[0126] Therefore, in this embodiment, in equation (1-31), "(Iu - Iv)" is associated with the detected value "Iu1_s(1) - Iv1_s(1)" acquired at detection timing 1, and "(Iv - Iw)" is associated with the detected value "Iv1_s(2) - Iw1_s(2)" acquired at detection timing 2. In this way, by dividing Iv in equation (2-21) into two as in equation (1-31), assigning one to detection timing 1 and the other to detection timing 2, the influence of superimposed detection noises Inoise1 and Inoise2 at detection timings 1 and 2 can be eliminated.

[0127] As explained above, in all cases of steps S304, S305, S306, and S311, when the number of phases that can be acquired with one current is 2, and when the current of three phases is acquired in two separate detection timings as shown in Figures 6 and 7, the influence of superimposed detection noises Inoise 1 and Inoise 2 that occur at the two detection timings can be eliminated.

[0128] In this embodiment, the case in which all steps S304, S305, S306, and S311 are used has been described, but the embodiment is not limited to this. For example, when the voltage of the first inverter 4a is used with a margin, there may be cases in which NO is always selected in step S301 in Figure 4. In such cases, the processing from step S302 onwards is unnecessary, and therefore the processing in steps S304, S305, and S306 is also unnecessary. Thus, the processing in step S311 alone is sufficient. Even in such cases, the effect of removing the influence of superimposed detection noises Inoise1 and Inoise2 is maintained by the processing in step S311.

[0129] Furthermore, noise and vibration generated from motor 1 frequently become problematic at high frequencies. In such cases, if YES is selected in step S301, a three-phase / alpha-beta conversion like that in step S311 is unnecessary. Therefore, a general three-phase / alpha-beta conversion can be applied, and the procedures from step S302 onward can be performed only in the frequency band where noise and vibration are problematic to eliminate the effects of superimposed detection noises Inoise 1 and Inoise 2.

[0130] Furthermore, as can be seen from the explanation of step S311 above (the induction part of equation (1-31)), it goes without saying that this is not limited to the lower arm shunt method described in this embodiment, but is applicable to all current detection methods that acquire three-phase current in two separate timings.

[0131] <Second Embodiment> Next, a second embodiment will be described. Figure 8 is a block diagram showing the configuration of the motor control device according to this embodiment. In Figure 8, the same reference numerals are used for components that are the same as those shown in Figure 1.

[0132] The motor control device 100A according to this embodiment is a control device that controls the motor 1a by acquiring the detection result of a rotation position sensor 2a that detects the rotation position of the motor 1a, and differs from the motor control device 100 according to the first embodiment in that it has two systems, a first system 100a and a second system 100b.

[0133] Motor 1a is a motor having two three-phase windings, such as a permanent magnet synchronous motor, a wound-field synchronous motor, an induction motor, or a synchronous reluctance motor. Motor 1a has a first three-phase winding U1, V1, W1 and a second three-phase winding U2, V2, W2.

[0134] Figure 9 shows an example of the configuration of the three-phase windings of the motor 1a according to this embodiment. As shown in Figure 9, the motor 1a has a first three-phase winding U1, V1, W1 and a second three-phase winding U2, V2, W2 arranged therein, and outputs power by passing current through them. In Figure 9, a Y connection is shown as an example, but a delta connection may also be used. Furthermore, the first three-phase winding and the second three-phase winding may have a phase difference (for example, 30 + 60 × N (N: integer) [degrees] in electrical angles).

[0135] The rotational position sensor 2a is a rotational position sensor that detects the rotational position of the motor 1a. The rotational position sensor 2a may be, for example, an MR sensor, a resolver, a Hall element, an encoder, etc. Alternatively, a known rotational position sensorless control may be implemented within the motor control device 100 to configure the motor control device 100A without a rotational position sensor. In this embodiment, the rotational position sensor 2a will be described as an MR sensor that outputs sin1 and cos1 to the first calculation circuit 6a (described later) and sin2 and cos2 to the second calculation circuit 6b.

[0136] However, the rotational position sensor 2a may not only output sin1, cos1, sin2, and cos2 as an MR sensor, but may also output eight signals such as sin1+, cos1+, sin1-, cos1-, sin2+, cos2+, sin2-, and cos2-.

[0137] Of these, "sin1+, cos1+, sin1-, cos1-" are input to the first arithmetic circuit 6a and processed as described in the first embodiment. sin2+ and sin2- are signals that output the sine of the rotational position of motor 1 and are in opposite phase to each other. Therefore, by subtracting sin2- from sin2+, a sine signal of the rotational position with twice the amplitude of sin2+ can be obtained, and the signal may be processed in this way in the second arithmetic circuit 6b described later. Similarly, cos2+ and cos2- are signals that output the cosine of the rotational position of motor 1 and are in opposite phase to each other. Therefore, by subtracting cos2- from cos2+, a cosine signal of the rotational position with twice the amplitude of cos2+ can be obtained, and the signal may be processed in this way in the second arithmetic circuit 6b described later.

[0138] Returning to Figure 8, the first system 100a and the second system 100b will be described. The first system 100a is the same as in the first embodiment, so its description will be omitted. The second system 100b is composed of a second DC power supply 3b, a second inverter 4b, a second current detector 5b, and a second arithmetic circuit 6b (an example of a control unit). Each component will be described below, along with the operation of the second system 100b.

[0139] The second DC power supply 3b outputs a DC voltage Vdc2 to the second inverter 4b. This second DC power supply 3b may be any of the devices that output a DC voltage, such as a battery, DC-DC converter, diode rectifier, PWM rectifier, etc. As will be described in the third embodiment later, the second DC power supply 3b may be the same as the first DC power supply 3a.

[0140] The second inverter 4b is a power converter (inverter) that inversely converts the DC voltage Vdc2 input from the second DC power supply 3b (converts DC to AC) and applies AC voltages Vu2, Vv2, and Vw2 to the second three-phase windings U2, V2, and W2 of the motor 1a. The second inverter 4b applies (generates) AC voltages Vu2, Vv2, and Vw2 from the DC voltage Vdc2 by turning on and off semiconductor switches Sup2, Sun2, Svp2, Svn2, Swp2, and Swn2 according to the on / off signals Gup2, Gun2, Gvp2, Gvn2, Gwp2, and Gwn2 respectively from the second arithmetic circuit 6b, which will be described later. Semiconductor switches such as IGBTs, bipolar transistors, and MOS power transistors are used as switches Sup2 to Swn2.

[0141] The second current detector 5b detects the currents Iu2, Iv2, and Iw2 flowing through the second three-phase windings U2, V2, and W2 based on the voltages across the resistors Ru2, Rv2, and Rw2 connected in series with the lower arm switching elements Sun2, Svn2, and Swn2.

[0142] The second arithmetic circuit 6b is an arithmetic unit using a microcontroller, DSP, FPGA, etc. The second arithmetic circuit 6b receives the current command I_target, the currents Iu2, Iv2, Iw2 detected from the second current detector 5b, and the output signals (sin2, cos2) from the rotation position sensor 2a as input, and outputs on / off signals Gup2, Gun2, Gvp2, Gvn2, Gwp2, Gwn2 to the second inverter 4b.

[0143] Next, the calculations and operations performed by the second arithmetic circuit 6b will be explained. Note that the functional configuration of the second arithmetic circuit 6b is basically the same as that of the first arithmetic circuit 6a shown in Figure 3, so the illustration is omitted. Here, the designation "a" for each part of the first arithmetic circuit 6a will be replaced with "b" for each part of the second arithmetic circuit 6b.

[0144] For example, the second arithmetic circuit 6b includes, not shown, a current command value calculator 7b, a coordinate converter 8b, a subtractor 9b, a subtractor 10b, a current controller 11b, a current controller 12b, a coordinate converter 13b, a zero-sequence voltage adder 14b, a carrier comparator 15b, a phase current calculation unit 16b, a phase current calculation unit 17b, and a second angle calculation unit 604b, each performing calculations similar to those of the current command value calculator 7a, coordinate converter 8a, subtractor 9a, subtractor 10a, current controller 11a, current controller 12a, coordinate converter 13a, zero-sequence voltage adder 14a, carrier comparator 15a, phase current detection unit 16a, phase current calculation unit 17a, and the first angle calculation unit 604a in the first arithmetic circuit 6a. The only difference is that the subscript "1" (meaning the quantity in the first arithmetic circuit 6a) for physical quantities such as voltage, current, and angle in the first arithmetic circuit 6a is replaced with "2" (meaning the quantity in the second arithmetic circuit 6b) in the second arithmetic circuit 6b.

[0145] Here, the communication 200 between the first arithmetic circuit 6a and the second arithmetic circuit 6b will be described. The first arithmetic circuit 6a and the second arithmetic circuit 6b communicate DC voltages Vdc1, Vdc2, currents (Iu1 to Iw1, Iu2 to Iw2), or their command values, etc., for the purpose of resolving the output imbalance between the first system 100a and the second system 100b.

[0146] The first arithmetic circuit 6a and the second arithmetic circuit 6b compare the physical values ​​of their own system with those of other systems based on information from other systems obtained from communication 200. If the physical values ​​of their own system have excess capacity to output compared to other systems, they adjust them to match the physical values ​​of other systems. In this way, the first arithmetic circuit 6a and the second arithmetic circuit 6b eliminate imbalances between systems and reduce noise and vibration generated by the motor 1a.

[0147] Furthermore, the first arithmetic circuit 6a and the second arithmetic circuit 6b transmit an abnormal (fault) signal via communication 200 if their own system is abnormal (faulty). This allows their own system to determine that the other system is abnormal and switch to a control method accordingly.

[0148] Next, the operation of this embodiment will be explained. Figure 10 is a diagram that adds the influence of the second system 100b to the example waveform in the first system 100a shown in Figure 7. In addition to Figure 7, the second carrier wave CA2 and the two-system V-phase correction voltage command Vu2_ref' are added, and the influence on Iu1, Iv1, and Iw1 due to the switching of the two-system V-phase that occurs at the time when both coincide is added.

[0149] Figure 10 shows that one of the switching times of the two V-phase systems coincides with the detection timing of "Iu1, Iv1, Iw1," and that pulsation (ringing, noise) occurs in "Iu1, Iv1, Iw1" at that time (the area enclosed by A in the figure). This phenomenon occurs not only with the two V-phase systems, but also when the two U-phase systems or two W-phase systems are switched. Therefore, this phenomenon occurs when the switching time of another system and the current detection timing (time) of the own system are close. In particular, when the first inverter 4a and the second inverter 4b are located on the same board, electromagnetic interference between the two inverters is strong, and this phenomenon is likely to occur.

[0150] Figure 11 shows an example of measured waveforms for one voltage system (Vu1 to Vw1), two voltage systems (Vu2 to Vw2), and two current systems (Iu2 to Iw2). From Figure 11, it can be seen that noise is superimposed on Iu2 to Iw2 when Vv1 is switched near the detection timing of the two systems (near the midpoint timing of the ON period of the lower switching element as described above).

[0151] In the motor control device 100A having a first system 100a and a second system 100b, the influence of superimposed detection noises Inoise1 and Inoise2 generated at detection timings 1 and 2 is also significantly evident in the second system 100b as well as the first system 100a. In this embodiment, the voltage applied to the motor 1a is generated using Iα1_c and Iβ1_c from the first system 100a, which are output from the phase current calculation unit 17a and have the influence of superimposed detection noises Inoise1 and Inoise2 suppressed, and the voltage applied to the motor 1a is generated using Iα2_c and Iβ2_c from the second system 100b, which are output from the phase current calculation unit 17b and have the influence of superimposed detection noises Inoise1 and Inoise2 suppressed, thereby reducing vibration and noise generated from the motor 1a.

[0152] <Third Embodiment> Next, a third embodiment will be described. In the first and second embodiments, a configuration example using two arithmetic circuits (for example, two CPUs) consisting of a first arithmetic circuit and a second arithmetic circuit was described, but in this embodiment, a configuration example using one arithmetic circuit (for example, one CPU) will be described.

[0153] Figure 12 is a block diagram showing the configuration of the motor control device according to this embodiment. In the second embodiment shown in Figure 8, calculations for the first system 100a were performed by the first calculation circuit 6a, and calculations for the second system 100b were performed by the second calculation circuit 6b. However, in the motor control device 100E according to this embodiment, calculations for both the first system 100a and the second system 100b are performed by a single calculation circuit 6e (an example of a control unit).

[0154] The arithmetic circuit 6e, like the first arithmetic circuit 6a and the second arithmetic circuit 6b, is an arithmetic unit (e.g., a CPU) using a microcontroller, DSP, FPGA, etc. In other words, the arithmetic circuit 6e performs calculations using the functional configuration within the first arithmetic circuit 6a (see Figure 3) and the unshown functional configuration within the second arithmetic circuit 6b. The unshown functional configuration within the second arithmetic circuit 6b is, as mentioned above, the same as in Figure 3, but with the subscript "a" changed to "b" in the symbols referring to each configuration, and the subscripts for physical quantities such as voltage, current, and angle changed from "1" to "2".

[0155] Furthermore, in the configuration example of this embodiment shown in Figure 12, instead of having separate DC power supplies for each system (first system 100a and second system 100b) as shown in Figure 8 (DC power supplies 3a and 3b), a common DC power supply 3e is provided for both the first system 100a and the second system 100b, and a smoothing capacitor 300 is provided in parallel with the DC power supply 3e.

[0156] Next, the calculations performed by the arithmetic circuit 6e will be explained with reference to Figure 13. Figure 13 is a diagram showing an example of a waveform in the first system 100a that takes into account the influence of the second system 100b in this embodiment. Here, the operation of the carrier comparator 15a and carrier comparator 15b in this embodiment will be explained in detail.

[0157] In Figure 13, there is a phase difference of Tc / 4 between the first carrier wave CA1 generated by carrier comparator 15a and the second carrier wave CA2 generated by carrier comparator 15b. This is done by shifting the phase of the first carrier wave CA1 and the second carrier wave CA2 by Tc / 4, based on the methods of conventional motor control devices (see, for example, Figure 5 of Patent Document 2), in order to reduce the current supplied to the smoothing capacitor 300.

[0158] In this way, by shifting the phase of the first carrier wave CA1 and the second carrier wave CA2 by Tc / 4, it is possible to reduce the current supplied to the smoothing capacitor 300, thereby reducing the volume of the smoothing capacitor 300. However, in conventional motor control devices, as shown in Figure 13, the lower switching element switches at the "detection timing (1 system)" or "detection timing (2 systems)," causing the currents Iu1 to Iw1 flowing through the U1, V1, and W1 windings to become disordered. This leads to a problem in that the control performance of the motor 1 deteriorates.

[0159] In contrast, in this embodiment, as described in the second embodiment, for the first system 100a, the "phase current calculation unit 16a and phase current calculation unit 17a" can reduce noise included in the current detection value caused by the overlap of the detection timing with the switching timing of other systems. Therefore, the corrected current detection values ​​Iu1_c, Iv1_c, and Iw1_c can be made to match the currents Iu1_real, Iv1_real, and Iw1_real that are truly energized through the U1, V1, and W1 windings of the motor 1a. Similarly, for the second system 100b, the "phase current calculation unit 16b and phase current calculation unit 17b" can make the corrected current detection values ​​Iu2_c, Iv2_c, and Iw2_c match the currents Iu2_real, Iv2_real, and Iw2_real that are truly energized through the U2, V2, and W2 windings of the motor 1a. Therefore, the configuration of this embodiment provides the remarkable effect of achieving both "high-precision driving performance of the motor 1 while reducing noise included in the current detection value" and "miniaturization of the smoothing capacitor."

[0160] In other words, not only is a configuration using two arithmetic circuits (e.g., CPUs) for the first system 100a and the second system 100b, as in the second embodiment, but a configuration using one arithmetic circuit (e.g., CPU) for the first system 100a and the second system 100b, as in this embodiment, can also contribute to "high-precision driving performance of the motor 1 while reducing noise included in the current detection value."

[0161] <Fourth Embodiment> Next, a fourth embodiment will be described. The motor control device 100 described in the first to third embodiments above is used, for example, to control a motor that serves as the driving force source for an electric power steering system, which is an example of a steering system for a vehicle.

[0162] The motor control device 100 may be the motor control device 100A according to the second embodiment or the motor control device 100E according to the third embodiment. For simplicity, the motor control device 100 will be referred to below, but this will also include the motor control device 100A and the motor control device 100E. Similarly, the motor 1 and the rotational position sensor 2 may be the motor 1a and the rotational position sensor 2a according to the second and third embodiments. For simplicity, the motor 1 and the rotational position sensor 2 will be referred to below, but this will also include the motor 1a and the rotational position sensor 2a, respectively. The configuration of the electric power steering system and vehicle to which the motor control device 100 is applied will be described below.

[0163] Figure 14 is a diagram showing an example of the configuration of a vehicle according to this embodiment. The illustrated vehicle 500 is an electric vehicle that uses electricity as its power source, such as a hybrid vehicle, a plug-in hybrid vehicle, an electric vehicle, or a hydrogen fuel cell vehicle. The vehicle 500 may also be a gasoline vehicle, a diesel vehicle, or the like.

[0164] The vehicle 500 is equipped with an electric power steering system 400. The electric power steering system 400 consists of a steering wheel 51, a steering shaft 53, a rack and pinion gear 54, a wheel 55, a tie rod 56, a knuckle arm 57, a motor 1, a rotational position sensor 2, a motor control device 100, and a torque sensor 22. The hardware configuration of the electric power steering system 400 shown in this figure is basically the same as that of conventional electric power steering systems and is mass-produced for installation in vehicles. However, the software portion implemented in the motor control device 100 differs from existing ones, and the calculations are performed by the motor control device 100 as described in the first to third embodiments.

[0165] The steering shaft 53 consists of an input shaft 53a connected to the steering wheel 51 and an output shaft 53b connected to the rack and pinion gear 54. The input shaft 53a and the output shaft 53b are connected to each other by a torsion bar (not shown). The torsion bar is located inside the torque sensor 22 and passes through the torque sensor 22 in the axial direction. The torsion bar twists in response to the steering torque applied to the steering wheel 51 by the steering wheel operation of the driver (not shown), who is the user of the vehicle 500. The torque sensor 22 detects the direction and amount of this twist. The steering wheel 51, steering shaft 53, and torsion bar are collectively referred to as the steering.

[0166] The electric power steering system 400 assists the driver's steering in the vehicle 500 with the output of the motor 1. Specifically, the torque sensor 22 detects the steering torque applied by the driver to the steering wheel 51 and outputs a steering torque signal, and the motor 1 outputs an assist torque based on the steering torque signal from the torque sensor 22. The motor control device 100 controls the output of the motor 1 based on the rotational position of the motor 1 detected by the rotational position sensor 2 and the steering torque signal from the torque sensor 22.

[0167] Thus, the electric power steering system 400 and the vehicle 500 are equipped with a motor control device 100, which controls the output of the motor 1 that outputs assist torque based on the steering torque signal from the torque sensor 22 that detects the steering torque applied by the driver to the steering wheel. In the electric power steering system 400 and the vehicle 500, torque ripple, vibration, and noise from the motor 1 can lead to a decrease in the driver's steering feel and discomfort, and therefore the effects of this embodiment are realized.

[0168] While the steering system is described as an electric power steering system 400 as an example, it may also be a steer-by-wire system in which the steering mechanism is mechanically separated on the steering wheel side and the wheel side, and is not limited to the electric power steering system 400. For example, any steering system that changes the direction of travel of the vehicle may be used. Furthermore, when this embodiment is applied to a steering motor of a steer-by-wire system, smooth turning with less vibration can be achieved, contributing to an improved ride comfort for the vehicle's occupants.

[0169] In recent years, with the increasing size of vehicles to which these systems are applied, and the spread of driver assistance and autonomous driving technologies, the demand for reliability in motor control devices incorporated into such steering systems has been increasing. As a means of improving reliability, one method is to implement redundancy in the systems, such as the first system 100a and the second system 100b as in this embodiment, so that even if one system fails, the other system can continue to operate. However, if the current detection accuracy deteriorates due to redundancy, this can result in a deterioration of the motor's driving performance. To address such challenges, for example, in the second and third embodiments, the impact of the deterioration in current detection accuracy due to the redundancy of the motor control devices 100 (100A, 100E) is reduced, making it possible to achieve both "improved system reliability through redundancy" and "comfort for the vehicle's occupants, including the driver."

[0170] However, the motor control device 100 according to this embodiment is not limited to steering systems, but can be applied to all applications of motor control devices with redundancy.

[0171] <Summary> As described above, the motor control device 100 according to the above embodiment includes a first inverter that supplies power to a motor having three-phase windings, and an arithmetic circuit (an example of a control unit) that controls the first inverter. The motor control device 100 acquires current detection values ​​by detecting the current supplied to the motor in two stages at intervals shorter than the period of the PWM carrier signal in the PWM control of the first inverter. At this time, the motor control device 100 simultaneously detects the currents of two phases in both the first and second detection stages, and generates a voltage command related to the voltage output by the first inverter based on a value obtained by subtracting the current detection value of the other phase detected simultaneously from the current detection value of the same phase.

[0172] As a result, when the motor control device 100 acquires the current of a three-phase winding motor at two separate detection timings, it can reduce the noise generated at the two detection timings and improve reliability. For example, the motor control device 100 can reduce the influence of current detection errors included in the current detection value, which can contribute to the quietness of the motor control device 100.

[0173] Although the above embodiment was described using a motor with three-phase windings as an example, it is not limited to three-phase and may also be a motor with multi-phase windings.

[0174] Furthermore, the motor control device 100 acquires the value of the current flowing through the lower arm switching element of the first inverter as a current detection value. The "current detection value of the current of the current phase" is, for example, the value acquired when the lower arm switching element corresponding to the current phase is ON. The "current detection value of the other phase detected simultaneously" is, for example, the value acquired when the lower arm switching element corresponding to the other phase is OFF.

[0175] Here, the lower arm shunt inverter has a resistor in the motor current supply line and is susceptible to noise. Also, when the lower arm switching element is on, the detected current value at that time is "true current + detected noise", and when the upper arm switching element is on, the detected current value at that time is "detected noise" (the true current is known to be 0). Therefore, the motor control device 100 can accurately obtain the "true current" by subtracting the "current detected value of the other phase obtained simultaneously when the lower arm switching element is off (upper arm switching element is on)" from the "current detected value of the other phase obtained when the lower arm switching element is off (upper arm switching element is on)".

[0176] Furthermore, the motor control device 100 may, with respect to the voltage commands related to the voltage output by the first inverter, shift the maximum phase voltage command, the intermediate phase voltage command, and the minimum phase voltage command equally so that the maximum phase voltage command matches the maximum value of the PWM carrier signal in PWM control, when the voltage commands for each of the three phases are set in descending order as the maximum phase voltage command, the intermediate phase voltage command, and the minimum phase voltage command.

[0177] As a result, the motor control device 100 matches the maximum phase voltage command to the maximum value of the PWM carrier signal, where the current of that phase is equal to "noise," and by subtracting the current of the other phases by this "noise," a two-phase detection signal with the "noise" removed is generated, enabling high-precision motor driving.

[0178] Furthermore, in the first of the two separate detections, the motor control device 100 acquires the current detection value of the phase corresponding to "one of the intermediate phase voltage command and the minimum phase voltage command" and the maximum phase voltage command, and associates "one of the intermediate phase voltage command and the minimum phase voltage command" with "the current detection value of its own phase", and associates "one of the intermediate phase voltage command and the minimum phase voltage command" and the simultaneously acquired maximum phase voltage command with "the simultaneously detected current detection value of the other phase". Furthermore, in the second of the two separate detections, the motor control device 100 acquires the current detection value of the phase corresponding to "the other of the intermediate phase voltage command and the minimum phase voltage command" and the maximum phase voltage command, and associates "the other of the intermediate phase voltage command and the minimum phase voltage command" with "the current detection value of its own phase", and associates "the other of the intermediate phase voltage command and the minimum phase voltage command" and the simultaneously acquired maximum phase voltage command with "the simultaneously detected current detection value of the other phase".

[0179] In other words, the motor control device 100 acquires the current detection value of the phase corresponding to the intermediate phase voltage command and the maximum phase voltage command in one of the first or second attempts, and acquires the current detection value of the phase corresponding to the minimum phase voltage command and the maximum phase voltage command in the other of the first or second attempts. Then, the motor control device 100 may associate "one of the intermediate phase voltage command and the minimum phase voltage command" and the maximum phase voltage command, respectively, that were detected and acquired in the first attempt with "the current detection value of its own phase" and "the current detection value of the other phase detected simultaneously," respectively, and the motor control device 100 may associate "the other of the intermediate phase voltage command and the minimum phase voltage command," respectively, that were detected and acquired in the second attempt with "the current detection value of its own phase" and "the current detection value of the other phase detected simultaneously."

[0180] As a result, the motor control device 100 can obtain current detection values ​​with high accuracy by acquiring current detection values ​​at two different timings, thereby reducing the influence of noise.

[0181] Furthermore, the motor control device 100 (for example, motor control devices 100A, 100E) supplies power from the first inverter and the second inverter to a motor having two sets of three-phase windings by controlling the first inverter and the second inverter. At this time, voltage is applied from the first inverter to one set of three-phase windings of the two sets, and voltage is applied from the second inverter to the other set of three-phase windings.

[0182] As a result, the motor control device 100 has a reduction effect on current detection noise caused by the difference between carrier signals when power is supplied from the first inverter and the second inverter to each of the three-phase windings of each set of three-phase windings of a motor having two sets of three-phase windings.

[0183] Furthermore, the motor control device 100, for example, has the first inverter and the second inverter mounted on the same circuit board.

[0184] Generally, the first inverter and the second inverter are often mounted on the same circuit board. In particular, in products where miniaturization is required, such as electric power steering, when they are mounted on the same circuit board, the effects of switching on one of the first or second inverters tend to be superimposed on the other. Therefore, the motor control device 100 is particularly effective in reducing noise when the first inverter and the second inverter are mounted on the same circuit board.

[0185] Furthermore, the electric power steering device 400 (an example of a steering device) according to the fourth embodiment includes the motor control device 100 described in the above embodiment. In this case, the motor control device 100 controls the output of a motor that outputs assist torque based on a steering torque signal from a torque sensor that detects the steering torque applied by the driver to the steering wheel. The vehicle 500 according to the fourth embodiment also includes this electric power steering device 400.

[0186] As a result, by applying the motor control device 100 described in the above embodiment, the electric power steering system 400 and the vehicle 500 can reduce noises that can impair the driver's steering feel or cause discomfort, such as torque ripple, vibration, and noise from the motor, thereby contributing to quietness and improving reliability.

[0187] Alternatively, a program for realizing at least a part of the functions of the motor control device 100 may be recorded on a computer-readable recording medium, and at least a part of the processing of the motor control device 100 may be performed by having a computer system read and execute the program recorded on this recording medium. The term "computer system" here includes hardware such as the operating system and peripheral devices.

[0188] Furthermore, "computer-readable recording media" refers to portable media such as flexible disks, magneto-optical disks, ROMs, and CD-ROMs, as well as storage devices such as hard disks built into computer systems. Moreover, "computer-readable recording media" includes those that dynamically hold programs for a short period, such as communication lines used when transmitting programs via networks like the Internet or telephone lines, and those that hold programs for a fixed period, such as volatile memory within computer systems acting as servers or clients. The program itself may only implement a portion of the aforementioned functions, and may also be able to implement those functions in combination with programs already recorded in the computer system. Additionally, the program may be stored on a designated server and distributed (downloaded, etc.) via a communication line in response to requests from other devices.

[0189] Furthermore, at least a portion of the functions of the motor control device 100 may be implemented as an integrated circuit such as an LSI (Large Scale Integration). Each function may be individually processorized, or some or all of them may be integrated into a single processor. In addition, the method of implementing the integrated circuit is not limited to LSIs; it may also be implemented using dedicated circuits or general-purpose processors. Furthermore, if advances in semiconductor technology lead to the emergence of integrated circuit technologies that can replace LSIs, integrated circuits using such technologies may be used.

[0190] Although the embodiments have been described in detail above with reference to the drawings, the specific configurations are not limited to these embodiments, and each embodiment can be modified or omitted as appropriate.

[0191] 1, 1a Motor 2, 2a Rotation position sensor 3a First DC power supply 3b Second DC power supply 4a First inverter, 4b Second inverter 5a First current detector 5b Second current detector, 6a First calculation circuit 6b Second calculation circuit 6e Calculation circuit 100, 100A, 100E Motor control device 100a First system 100b Second system 200 Communication 400 Electric power steering device 500 Vehicle

Claims

1. A motor control device comprising: a first inverter that supplies power to a motor having multiphase windings; and a control unit that controls the first inverter, wherein the control unit acquires current detection values ​​obtained by detecting the current supplied to the motor in two stages at intervals shorter than the period of the PWM carrier signal in the PWM (Pulse Width Modulation) control of the first inverter; simultaneously detects the currents of two phases in both the first and second detection stages; and generates a voltage command relating to the voltage output by the first inverter based on a value obtained by subtracting the current detection value of the other phase detected simultaneously from the current detection value of the same phase.

2. The motor control device according to claim 1, wherein the control unit acquires the value of the current flowing through the lower arm switching element of the first inverter as the current detection value, the "current detection value of the current 3. The motor is a motor having three phase windings, and the control unit, with respect to the voltage command relating to the voltage output by the first inverter, shifts the maximum phase voltage command, the intermediate phase voltage command, and the minimum phase voltage command equally so that the maximum phase voltage command matches the maximum value of the PWM carrier signal in PWM control, when the voltage commands for each of the three phases are set in descending order as the maximum phase voltage command, the intermediate phase voltage command, and the minimum phase voltage command.

4. The motor control device according to claim 3, wherein the control unit acquires the current detection value of the phase corresponding to the intermediate phase voltage command and the maximum phase voltage command in one of the first and second times, and acquires the current detection value of the phase corresponding to the minimum phase voltage command and the maximum phase voltage command in the other of the first and second times, and in the first time, associates "one of the intermediate phase voltage command and the minimum phase voltage command" with the "current detection value of its own phase", and associates the maximum phase voltage command acquired simultaneously with "one of the intermediate phase voltage command and the minimum phase voltage command" with the "current detection value of the other phase detected simultaneously", and in the second time, associates "the other of the intermediate phase voltage command and the minimum phase voltage command" with the "current detection value of its own phase", and associates the maximum phase voltage command acquired simultaneously with "the other of the intermediate phase voltage command and the minimum phase voltage command" with the "current detection value of the other phase detected simultaneously".

5. The motor is a motor having two sets of three-phase windings, further comprising a second inverter that supplies power to the motor together with the first inverter, wherein a voltage is applied from the first inverter to one of the two sets of three-phase windings and a voltage is applied from the second inverter to the other set of three-phase windings, and the control unit controls the first inverter and the second inverter, the motor control device according to any one of claims 1 to 4.

6. The motor control device according to claim 5, wherein the first inverter and the second inverter are mounted on the same circuit board.

7. A steering device comprising a motor control device according to any one of claims 1 to 6, wherein the motor control device controls the output of a motor that outputs assist torque based on a steering torque signal from a torque sensor that detects steering torque applied by the driver to the steering wheel.

8. A vehicle equipped with the steering device described in claim 7.