Motor control device

The motor control device addresses shaft voltage fluctuations by shifting duty command values to prevent coinciding switching timings, reducing noise and preventing electrolytic corrosion in three-phase motors.

JP7747452B2Active Publication Date: 2025-10-01NIDEC ELESYS CORP +1
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
JP2021106096
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2021-06-25
Publication Date
2025-10-01
Estimated Expiration
2041-06-25

AI Technical Summary

Technical Problem

The fluctuation of shaft voltage in three-phase motors, particularly during switching timing coincidences of PWM signals, leads to noise and electrolytic corrosion in the rotor bearing.

Method used

A motor control device with an MCU that generates three-phase PWM signals based on duty command values, shifting duty command values of at least two phases by a predetermined amount to prevent coinciding switching timings and suppress spike-like fluctuations in shaft voltage.

Benefits of technology

Reduces noise and prevents electrolytic corrosion in the rotor bearing by controlling the duty command values to suppress spike-like voltage fluctuations, ensuring consistent drive current throughout the PWM control period.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007747452000001
    Figure 0007747452000001
  • Figure 0007747452000002
    Figure 0007747452000002
  • Figure 0007747452000003
    Figure 0007747452000003
Patent Text Reader

Abstract

To provide a motor control apparatus capable of reducing a noise.SOLUTION: A motor control apparatus includes an inverter circuit 11 that converts a direct power supply voltage into a three-phase AC voltage and supplies the three-phase AC voltage to a three-phase motor, and a control unit 12 that generates a three-phase PWM signal based on three-phase duty instruction values updated at a predetermined update period and controls the inverter circuit based on the three-phase PWM signal. When at least two-phase duty instruction values among the three-phase duty instruction values updated at a first update timing are same, the control unit causes one-phase duty instruction value of the two-phase duty instruction values to be shifted by a predetermined shift amount, and causes one-phase duty instruction value of the three-phase duty instruction values updated at a second update timing to be shifted by a shift amount in a reverse direction of a shift direction at the first update timing.SELECTED DRAWING: Figure 1
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present invention relates to a motor control device. [Background technology]

[0002] Patent Document 1 discloses a technology for an inverter device that supplies a three-phase AC voltage to a three-phase motor, in which a three-phase PWM (Pulse Width Modulation) signal is generated using three types of basic voltage vectors, and switching signals that are supplied to at least six switching elements included in the inverter device are generated based on the three-phase PWM signal. [Prior art documents] [Patent documents]

[0003] [Patent Document 1] Patent No. 3447366 Summary of the Invention [Problem to be solved by the invention]

[0004] For example, the shaft voltage may fluctuate in a spike-like manner at the moment when the switching timing of two of the three-phase PWM signals coincides, which may cause noise. As a separate issue, the potential difference (shaft voltage) between the motor's output shaft and the motor case can cause electrolytic corrosion in the motor's rotor bearing. As a result of research by the inventors of the present application, it has been found that this noise, in particular, can affect the occurrence of electrolytic corrosion. [Means for solving the problem]

[0005] One aspect of the motor control device of the present invention is a motor control device for controlling a three-phase motor, comprising: an inverter circuit that converts a DC power supply voltage into a three-phase AC voltage and supplies the three-phase AC voltage to the three-phase motor; and a control unit that generates a three-phase PWM signal based on three-phase duty command values ​​that are updated at a predetermined update period and controls the inverter circuit based on the three-phase PWM signal, wherein when the duty command values ​​of at least two phases of the three-phase duty command values ​​updated at a first update timing are the same, the control unit shifts the duty command value of one phase of the duty command values ​​of the two phases by a predetermined shift amount, and shifts the duty command value of the one phase of the three-phase duty command values ​​that are updated at a second update timing that is the next update timing after the first update timing by the shift amount in a direction opposite to the shift direction at the first update timing. [Effects of the Invention]

[0006] According to the above aspect of the present invention, a motor control device capable of reducing noise is provided. [Brief explanation of the drawings]

[0007] [Figure 1] FIG. 1 is a circuit block diagram that schematically shows the configuration of a motor control device according to one embodiment of the present invention. [Figure 2] FIG. 2 is a flowchart showing each process included in the main routine of the spike voltage suppression process executed by the MCU core. [Figure 3] FIG. 3 is a flowchart showing each process included in the duty shift process, which is a subroutine of the spike voltage suppression process. [Figure 4] FIG. 4 is a diagram schematically showing the principle of generating three-phase PWM signals based on three-phase duty command values. [Figure 5] FIG. 5 is a first explanatory diagram used to explain the duty shift process. [Figure 6] FIG. 6 is a second explanatory diagram used to explain the duty shift process. [Figure 7] FIG. 7 is a third explanatory diagram used to explain the duty shift process. DETAILED DESCRIPTION OF THE INVENTION

[0008] Hereinafter, an embodiment of the present invention will be described in detail with reference to the drawings. Fig. 1 is a circuit block diagram showing a schematic configuration of a motor control device 10 according to this embodiment. As shown in Fig. 1, the motor control device 10 controls a three-phase motor 20. As an example, the three-phase motor 20 is an inner rotor type three-phase brushless DC motor. The three-phase motor 20 is, for example, a drive motor (traction motor) mounted on a hybrid vehicle.

[0009] Three-phase motor 20 has A-phase terminal 21A, B-phase terminal 21B, C-phase terminal 21C, A-phase coil 22A, B-phase coil 22B, and C-phase coil 22C. Although not shown in FIG. 1 , three-phase motor 20 also has a motor case, a rotor, and a stator housed in the motor case. The rotor is a rotating body rotatably supported inside the motor case by bearing components such as rotor bearings. The rotor has an output shaft that axially penetrates the radially inner side of the rotor and is coaxially joined to the rotor. The stator is fixed inside the motor case, surrounding the outer circumferential surface of the rotor, and generates the electromagnetic force required to rotate the rotor.

[0010] The A-phase terminal 21A, the B-phase terminal 21B, and the C-phase terminal 21C are metal terminals exposed from the surface of the motor case. As will be described in detail later, the A-phase terminal 21A, the B-phase terminal 21B, and the C-phase terminal 21C are each electrically connected to the inverter circuit 11 of the motor control device 10. The A-phase coil 22A, the B-phase coil 22B, and the C-phase coil 22C are each excitation coils provided in the stator. For example, the A-phase coil 22A, the B-phase coil 22B, and the C-phase coil 22C are star-connected inside the three-phase motor 20.

[0011] A-phase coil 22A is electrically connected between A-phase terminal 21A and neutral point N. B-phase coil 22B is electrically connected between B-phase terminal 21B and neutral point N. C-phase coil 22C is electrically connected between C-phase terminal 21C and neutral point N. The energized states of A-phase coil 22A, B-phase coil 22B, and C-phase coil 22C are controlled by motor control device 10, thereby generating an electromagnetic force required to rotate the rotor. As the rotor rotates, the output shaft also rotates in synchronization with the rotor.

[0012] The motor control device 10 includes an inverter circuit 11 and an MCU (Microcontroller Unit) 12. The inverter circuit 11 is a three-phase full-bridge circuit that converts a DC power supply voltage into a three-phase AC voltage and supplies it to a three-phase motor 20. The inverter circuit 11 converts a DC power supply voltage supplied from a DC power supply 30 into a three-phase AC voltage and outputs it to the three-phase motor 20. As an example, the DC power supply 30 is one of a plurality of batteries mounted on a hybrid vehicle.

[0013] The inverter circuit 11 includes an A-phase upper arm switch Q AH and B-phase upper arm switch Q BH and C-phase upper arm switch Q CH and A-phase lower arm switch Q AL and B-phase lower arm switch Q BL and C-phase lower arm switch Q CL In this embodiment, each arm switch is, for example, an IGBT (Insulated Gate Bipolar Transistor).

[0014] A-phase upper arm switch Q AH Collector terminal of B-phase upper arm switch Q BH The collector terminal of the C-phase upper arm switch Q CH The collector terminals of the A-phase lower arm switch Q are electrically connected to the positive terminals of the DC power supply 30. AL Emitter terminal of B-phase lower arm switch Q BL The emitter terminal of the C-phase lower arm switch QCL The emitter terminals of the first and second terminals are electrically connected to the negative terminal of the DC power supply 30. The negative terminal of the DC power supply 30 is electrically connected to the vehicle interior ground.

[0015] A-phase upper arm switch Q AH The emitter terminal of the three-phase motor 20 is connected to the A-phase terminal 21A of the three-phase motor 20 and the A-phase lower arm switch Q AL The collector terminals of the B-phase upper arm switch Q are electrically connected to the collector terminals of the B-phase upper arm switch Q. BH The emitter terminal of the three-phase motor 20 is connected to the B-phase terminal 21B of the B-phase lower arm switch Q. BL The collector terminals of the C-phase upper arm switch Q are electrically connected to the collector terminals of the C-phase upper arm switch Q. CH The emitter terminal of the three-phase motor 20 is connected to the C-phase terminal 21C of the C-phase lower arm switch Q. CL The collector terminals of the transistors are electrically connected to each other.

[0016] A-phase upper arm switch Q AH Gate terminal of B-phase upper arm switch Q BH The gate terminal of the C-phase upper arm switch Q CH The gate terminals of the A-phase lower arm switch Q are electrically connected to the MCU 12. AL Gate terminal of B-phase lower arm switch Q BL The gate terminal of the C-phase lower arm switch Q CL The gate terminals of the transistors 11 and 12 are also electrically connected to the MCU 12 .

[0017] As described above, the inverter circuit 11 is configured by a three-phase full-bridge circuit having three upper arm switches and three lower arm switches. The inverter circuit 11 configured in this manner converts the DC power supply voltage supplied from the DC power supply 30 into a three-phase AC voltage and outputs it to the three-phase motor 20 by the MCU 12 controlling the switching of each arm switch.

[0018] The MCU 12 is a control unit that generates three-phase PWM signals based on three-phase duty command values ​​that are updated at a predetermined update period, and controls the inverter circuit 11 based on the generated three-phase PWM signals. The three-phase duty command values ​​include an A-phase duty command value DA, a B-phase duty command value DB, and a C-phase duty command value DC. The three-phase PWM signals include an A-phase PWM signal PA, a B-phase PWM signal PB, and a C-phase PWM signal PC. The MCU 12 has an MCU core 12a and a PWM module 12b.

[0019] The MCU core 12a executes a duty calculation process for calculating at least three-phase duty command values ​​in accordance with a program stored in advance in a memory (not shown). Although not shown in FIG. 1, the MCU 12 receives a torque command value output from a higher-level control device. For example, the higher-level control device is an ECU (Electronic Control Unit) mounted on a hybrid vehicle. The MCU core 12a calculates a q-axis current command value and a d-axis current command value based on the torque command value, and calculates three-phase duty command values ​​as three-phase voltage command values ​​based on these current command values. The MCU core 12a outputs the three-phase duty command values, i.e., an A-phase duty command value DA, a B-phase duty command value DB, and a C-phase duty command value DC, to the PWM module 12b.

[0020] The PWM module 12b generates three-phase PWM signals based on three-phase duty command values ​​that are updated at a predetermined update period. FIG. 4 is a diagram schematically illustrating the principle of generating three-phase PWM signals based on three-phase duty command values. As shown in FIG. 4, the PWM module 12b generates a triangular wave TW having a predetermined period. Hereinafter, the period of the triangular wave TW may be referred to as the PWM control period.

[0021] Specifically, the triangular wave TW is composed of the count value of the PWM timer. The PWM timer starts counting up at time t0, the start of the nth PWM control period. At time t3, which corresponds to half the PWM control period, the PWM timer finishes counting up and starts counting down. The PWM timer finishes counting down at time t6, the end of the nth PWM control period. Time t6 is also the start time of the next PWM control period, i.e., the (n+1)th PWM control period. Therefore, the PWM timer starts counting up again at time t6, the start time of the (n+1)th PWM control period.

[0022] The three-phase duty command values ​​are updated at the start time t0 of the nth PWM control period and at the start time t6 of the (n+1)th PWM control period. That is, the update period of the three-phase duty command values ​​coincides with the PWM control period. Inside the PWM module 12b, a buffer register and an update register are assigned to each of the three duty command values ​​included in the three-phase duty command values. The three-phase duty command values ​​calculated by the MCU core 12a are first stored in the buffer register. Then, when an update timing such as time t0 or time t6 arrives, the three-phase duty command values ​​stored in the buffer register are transferred to the update register. In this way, "the three-phase duty command values ​​are updated" means that the three-phase duty command values ​​are transferred from the buffer register to the update register at the update timing.

[0023] This means that the MCU core 12a needs to calculate the three-phase duty command values ​​at a timing earlier than the update timing. That is, the MCU core 12a calculates the three-phase duty command values ​​to be used in the n-th PWM control cycle at a timing earlier than the start time t0 of the n-th PWM control cycle (the n-th update timing) and outputs them to the PWM module 12b. Also, the MCU core 12a calculates the three-phase duty command values ​​to be used in the n+1-th PWM control cycle at a timing (e.g., time t3) earlier than the start time t6 of the n+1-th PWM control cycle (the n+1-th update timing) and outputs them to the PWM module 12b.

[0024] As shown in FIG. 4, assume that at start time t0 of the nth PWM control period (nth update timing), the A-phase duty command value DA is updated to "DA1", the B-phase duty command value DB is updated to "DB1", and the C-phase duty command value DC is updated to "DC1". The B-phase duty command value DB1 and the C-phase duty command value DC1 are the same value. The A-phase duty command value DA1 is higher than the B-phase duty command value DB1 and the C-phase duty command value DC1. "DA1", "DB1", and "DC1" are values ​​in the update registers assigned to each duty command value as described above.

[0025] When the triangular wave TW reaches the three-phase duty command value while it is rising, the level of the three-phase PWM signal is set to low. On the other hand, when the triangular wave TW reaches the three-phase duty command value while it is falling, the level of the three-phase PWM signal is set to high. In other words, when the PWM timer counts up and the count value matches the three-phase duty command value, the level of the three-phase PWM signal is set to low. On the other hand, when the PWM timer counts down and the count value matches the three-phase duty command value, the level of the three-phase PWM signal is set to high.

[0026] 4, while the PWM timer is counting up, the count value of the PWM timer matches the B-phase duty command value DB1 and the C-phase duty command value DC1 at time t1, and matches the A-phase duty command value DA1 at time t2. Meanwhile, while the PWM timer is counting down, the count value of the PWM timer matches the A-phase duty command value DA1 at time t4, and matches the B-phase duty command value DB1 and the C-phase duty command value DC1 at time t5.

[0027] 4, in the nth PWM control cycle, the levels of the B-phase PWM signal PB and the C-phase PWM signal PC are set to low at time t1, and the level of the A-phase PWM signal PA is set to low at time t2. Also, in the nth PWM control cycle, the level of the A-phase PWM signal PA is set to high at time t4, and the levels of the B-phase PWM signal PB and the C-phase PWM signal PC are set to high at time t5.

[0028] In Fig. 4, the three-phase PWM signals from start time t6 (n+1th update timing) of the n+1th PWM control cycle onwards are represented by dotted lines. This is because at the nth update timing, it is not yet determined what values ​​the three-phase duty command values ​​will be updated to at the n+1th update timing. In Fig. 4, the dotted lines of the three-phase PWM signals are drawn on the assumption that at the n+1th update timing, the three-phase duty command values ​​have been updated to the same values ​​as at the nth update timing.

[0029] As described above, the duty ratios of the three-phase PWM signals generated by the PWM module 12b are controlled by the three-phase duty command values ​​updated at a predetermined update period. The PWM module 12b generates gate control signals to be supplied to the gate terminals of the arm switches included in the inverter circuit 11 based on the three-phase PWM signals generated as described above.

[0030] The gate control signal is the A-phase upper arm switch Q AHThe A-phase upper gate control signal G1 is supplied to the gate terminal of the A-phase lower arm switch Q AL The gate control signal includes an A-phase lower gate control signal G2 supplied to the gate terminal of the B-phase upper arm switch Q. BH The B-phase upper gate control signal G3 is supplied to the gate terminal of the B-phase lower arm switch Q BL The gate control signal includes a B-phase lower gate control signal G4 supplied to the gate terminal of the C-phase upper arm switch Q. CH The C-phase upper gate control signal G5 is supplied to the gate terminal of the C-phase lower arm switch Q CL and a C-phase lower gate control signal G6 supplied to the gate terminal of the C-phase lower gate control signal G1. A dead time is inserted into each gate control signal to prevent the upper arm switch and the lower arm switch of the same phase from being switched on at the same time.

[0031] As already mentioned, electrolytic corrosion may occur in the rotor bearing of the three-phase motor 20 due to a potential difference (shaft voltage) between the output shaft and the motor case of the three-phase motor 20. In the example shown in Fig. 4, the off timing of the B-phase PWM signal PB and the off timing of the C-phase PWM signal PC coincide in the n-th PWM control cycle. As a result of research by the present inventors, it has been found that spike-like fluctuations in the shaft voltage at the moment when the switching timings of two of the three-phase PWM signals coincide, as shown in Fig. 4, may affect the occurrence of electrolytic corrosion. 4, for example, when the three-phase motor 20 is in a regenerative state (power generating state) and the B-phase and C-phase currents are positive (when current flows from the inverter circuit 11 to the three-phase motor 20), if the switching timing of the B-phase PWM signal PB and the C-phase PWM signal PC overlaps, a sudden fluctuation in the shaft voltage occurs. On the other hand, in the same state, when the B-phase current is positive and the C-phase current is negative, if the turn-off of the B-phase high side and the turn-on of the C-phase low side overlap, or if the turn-on of the B-phase high side and the turn-off of the C-phase low side overlap, a sudden fluctuation in the shaft voltage occurs.

[0032] To solve the above technical problem, the MCU core 12a of the MCU 12 in this embodiment executes spike voltage suppression processing, including: a process of shifting the duty command value of one phase of the duty command values ​​of two phases by a predetermined shift amount when the duty command values ​​of at least two phases among the three-phase duty command values ​​updated at a first update timing are the same; and a process of shifting the duty command value of one phase of the three-phase duty command values ​​updated at a second update timing, which is the update timing following the first update timing, by the predetermined shift amount in a direction opposite to the shift direction at the first update timing. The spike voltage suppression processing executed by the MCU core 12a will be described in detail below.

[0033] Fig. 2 is a flowchart showing each process included in the main routine of the spike voltage suppression process executed by the MCU core 12a. Fig. 3 is a flowchart showing each process included in the duty shift process, which is a subroutine of the spike voltage suppression process. After calculating the three-phase duty command values ​​at a timing earlier than the update timing, the MCU core 12a executes the spike voltage suppression process before outputting the three-phase duty command values ​​to the PWM module 12b.

[0034] For example, the MCU core 12a executes the spike voltage suppression process after calculating the three-phase duty command values ​​to be used in the n-th PWM control cycle at a timing earlier than the start time t0 (n-th update timing) of the n-th PWM control cycle shown in Fig. 4. The n-th update timing corresponds to the first update timing.

[0035] 2, when the MCU core 12a starts the spike voltage suppression process, it first determines whether the calculated three-phase duty command values, i.e., the three-phase duty command values ​​updated at the nth update timing, are saturated (step S1). Specifically, the MCU core 12a determines that the three-phase duty command values ​​are saturated when at least one of the following first and second saturation conditions is satisfied: (First saturation condition) The largest of the three-phase duty command values ​​is "+1" or greater. (Second saturation condition) The smallest value among the three-phase duty command values ​​is equal to or less than "-1". It should be noted that "+1" is a value corresponding to a duty ratio of 100%, and "-1" is a value corresponding to a duty ratio of 0%. If the first saturation condition is satisfied, the MCU core 12a does not execute duty shift processing for the largest three-phase duty command value. However, even if the largest value is "+1" or greater, if the remaining two small values ​​overlap, such as "-0.9", the MCU core 12a executes duty shift processing. On the other hand, if the second saturation condition is satisfied, the MCU core 12a does not execute the duty shift process for the smallest three-phase duty command value. However, even if the smallest value is equal to or less than "-1," if the remaining two largest values ​​overlap, such as "+0.9," the MCU core 12a executes the duty shift process.

[0036] If the answer to step S1 is "Yes," i.e., if the three-phase duty command values ​​updated at the nth update timing are saturated, the MCU core 12a ends the spike voltage suppression processing without proceeding to the duty shift processing subroutine. On the other hand, if the answer to step S1 is "No," i.e., if the three-phase duty command values ​​updated at the nth update timing are not saturated, the MCU core 12a proceeds to the duty shift processing subroutine (step S2).

[0037] 4, an A-phase duty command value DA1, a B-phase duty command value DB1, and a C-phase duty command value DC1 are calculated as three-phase duty command values ​​to be updated at the n-th update timing (time t0). The B-phase duty command value DB1 and the C-phase duty command value DC1 have the same value. The A-phase duty command value DA1 is higher than the B-phase duty command value DB1 and the C-phase duty command value DC1. In this case, since neither the first saturation condition nor the second saturation condition is satisfied, the MCU core 12a proceeds to the duty shift processing shown in FIG. 3.

[0038] As shown in Fig. 3, when the MCU core 12a starts the duty shift process, it first rearranges the three-phase duty command values ​​updated at the n-th update timing (time t0) in ascending order (step S11). In the example shown in Fig. 4, the A-phase duty command value DA1 is higher than the B-phase duty command value DB1 and the C-phase duty command value DC1, so the three-phase duty command values ​​are rearranged in the order of DA1 (No. 1), DB1 (No. 2), and DC1 (No. 3). Note that the basic order of the three-phase duty command values ​​is set to the order of A-phase duty command value DA (No. 1), B-phase duty command value DB (No. 2), and C-phase duty command value DC (No. 3). When there are at least two or more identical values ​​among the three-phase duty command values, the MCU core 12a rearranges the three-phase duty command values ​​according to the basic order.

[0039] Next, the MCU core 12a determines whether or not the first and second duty command values ​​among the three-phase duty command values ​​rearranged in ascending order are the same (step S12). In the example shown in Fig. 4, the MCU core 12a determines whether or not the first A-phase duty command value DA1 and the second B-phase duty command value DB1 are the same in step S12.

[0040] If the answer is "Yes" in step S12, that is, if the first duty command value and the second duty command value are the same, the MCU core 12a shifts the first duty command value downward by a predetermined shift amount (step S13). The predetermined shift amount is determined in advance by experiment or simulation, and is stored in advance in a memory or the like in the MCU 12. That is, in step S13, the MCU core 12a reads the shift amount from the memory and shifts the first duty command value downward by the shift amount.

[0041] On the other hand, if the result of step S12 is "No," that is, if the first duty command value and the second duty command value are different, the MCU core 12a determines whether the second duty command value and the third duty command value are the same among the three-phase duty command values ​​rearranged in ascending order (step S16). In the example shown in Fig. 4, the first A-phase duty command value DA1 and the second B-phase duty command value DB1 are different, so the MCU core 12a proceeds from step S12 to step S16.

[0042] If the answer to step S16 is "Yes," that is, if the second duty command value and the third duty command value are the same, the MCU core 12a shifts the third duty command value in the higher direction by a predetermined shift amount (step S17). In the example shown in FIG. 4, the second B-phase duty command value DB1 and the third C-phase duty command value DC1 are the same, so the MCU core 12a proceeds from step S16 to step S17 and shifts the third C-phase duty command value DC1 in the higher direction by a predetermined shift amount. Hereinafter, the shifted C-phase duty command value DC is referred to as "DC2." In other words, by shifting the third C-phase duty command value DC1 in the higher direction by a predetermined shift amount, the C-phase duty command value DC is adjusted to DC2, which is a value higher than DC1 by the shift amount.

[0043] Next, the MCU core 12a determines whether the third duty command value after the shift is in a saturated state (step S18). If the third duty command value after the shift is equal to or greater than "+1", the MCU core 12a determines that the third duty command value after the shift is in a saturated state.

[0044] If the answer to step S18 is "No," that is, if the third duty command value after the shift is not saturated, the MCU core 12a determines whether all of the three-phase duty command values ​​are the same (step S20). In the above example, the third C-phase duty command value DC2 after the shift has not reached "+1," so the MCU core 12a proceeds from step S18 to step S20 and determines whether all of the three-phase duty command values ​​are the same.

[0045] If the answer to step S20 is "No," i.e., if all the three-phase duty command values ​​are not the same, the MCU core 12a outputs all the three-phase duty command values ​​to the PWM module 12b and then performs subtraction processing at the next update timing (second update timing) (step S22). In the above example, the MCU core 12a holds the A-phase duty command value DA1, the B-phase duty command value DB1, and the C-phase duty command value DC2 as the three-phase duty command values ​​at the time of step S20. In this case, since all the three-phase duty command values ​​are not the same, the MCU core 12a outputs the A-phase duty command value DA1, the B-phase duty command value DB1, and the C-phase duty command value DC2 to the PWM module 12b.

[0046] In this case, as shown in Fig. 5, inside the PWM module 12b, at the n-th update timing (time t0), the A-phase duty command value DA is updated to "DA1", the B-phase duty command value DB is updated to "DB1", and the C-phase duty command value DC is updated to "DC2". As can be seen from a comparison between Fig. 4 and Fig. 5, the MCU core 12a executes the above duty shift process, so that at the n-th update timing (time t0), the C-phase duty command value DC is updated to "DC2", which is a value higher than the initially calculated "DC1" by the shift amount.

[0047] 5, during the nth PWM control period, while the PWM timer is counting up, the count value of the PWM timer matches the B-phase duty command value DB1 at time t1, matches the C-phase duty command value DC2 at time t1', and matches the A-phase duty command value DA1 at time t2. Time t1' is a time between time t1 and time t2. Meanwhile, while the PWM timer is counting down, the count value of the PWM timer matches the A-phase duty command value DA1 at time t4, matches the C-phase duty command value DC2 at time t4', and matches the B-phase duty command value DB1 at time t5. Time t4' is a time between time t4 and time t5.

[0048] 5, in the nth PWM control cycle, the B-phase PWM signal PB is set to low at time t1, the C-phase PWM signal PC is set to low at time t1', and the A-phase PWM signal PA is set to low at time t2. Also, in the nth PWM control cycle, the A-phase PWM signal PA is set to high at time t4, the C-phase PWM signal PC is set to high at time t4', and the B-phase PWM signal PB is set to high at time t5.

[0049] 4 and 5, the execution of the above duty shift processing by the MCU core 12a prevents the off timing of the B-phase PWM signal PB from coinciding with the off timing of the C-phase PWM signal PC in the n-th PWM control cycle. In this way, when the duty command values ​​of at least two phases among the three-phase duty command values ​​updated at the n-th update timing are the same, by shifting the duty command value of one phase among the two-phase duty command values ​​by a predetermined shift amount, it is possible to suppress spike-like fluctuations in the shaft voltage.

[0050] However, as a result of the MCU core 12a executing the above duty shift process, the duty ratio of the C-phase PWM signal PC generated in the n-th PWM control period becomes a value that is increased by a predetermined shift amount from the originally required duty ratio, i.e., the duty ratio corresponding to the initially calculated C-phase duty command value DC1. In this state, the drive current supplied from the inverter circuit 11 to the three-phase motor 20 cannot be controlled to the originally required current.

[0051] Therefore, in this embodiment, the MCU core 12a executes a subtraction process to shift the duty command value of one phase among the three-phase duty command values ​​updated at the second update timing, which is the update timing next to the first update timing, by a predetermined shift amount in the direction opposite to the shift direction at the first update timing.

[0052] 6, the MCU core 12a calculates the three-phase duty command values ​​to be used in the (n+1)th PWM control cycle at a timing earlier than the start time t6 (the (n+1)th update timing) of the (n+1)th PWM control cycle. The (n+1)th update timing corresponds to the second update timing.

[0053] 6, it is assumed that an A-phase duty command value DA1, a B-phase duty command value DB1, and a C-phase duty command value DC1 are calculated as three-phase duty command values ​​updated at the (n+1)th update timing (time t6). The B-phase duty command value DB1 and the C-phase duty command value DC1 have the same value. The A-phase duty command value DA1 is higher than the B-phase duty command value DB1 and the C-phase duty command value DC1.

[0054] Note that when the three-phase duty command values ​​to be used in the (n+1)th PWM control cycle are calculated, the three-phase duty command values ​​have not yet been updated at the (n+1)th update timing, so the three-phase PWM signals from the (n+1)th update timing onwards should normally be in an undetermined state. However, to make it easier to understand the subtraction process, Figure 6 depicts the waveforms of the three-phase PWM signals assuming that the three-phase duty command values ​​have been updated to DA1, DB1, and DC1 at the (n+1)th update timing (time t6).

[0055] 6, in the (n+1)th PWM control cycle, while the PWM timer is counting up, the count value of the PWM timer matches the B-phase duty command value DB1 and the C-phase duty command value DC1 at time t7, matches the B-phase duty command value DB1 at time t8, and matches the A-phase duty command value DA1 at time t8. Meanwhile, while the PWM timer is counting down, the count value of the PWM timer matches the A-phase duty command value DA1 at time t10, and matches the B-phase duty command value DB1 and the C-phase duty command value DC1 at time t11.

[0056] 6, in the (n+1)th PWM control cycle, the levels of the B-phase PWM signal PB and the C-phase PWM signal PC are set to low at time t7, and the level of the A-phase PWM signal PA is set to low at time t8. Also, in the (n+1)th PWM control cycle, the level of the A-phase PWM signal PA is set to high at time t10, and the levels of the B-phase PWM signal PB and the C-phase PWM signal PC are set to high at time t11.

[0057] 6, the MCU core 12a shifts the C-phase duty command value DC1 calculated before the (n+1)th update timing by a predetermined shift amount in the direction opposite to the shift direction at the nth update timing (t0). That is, the MCU core 12a shifts the C-phase duty command value DC1 in the lower direction by the predetermined shift amount. Hereinafter, the shifted C-phase duty command value DC is referred to as "DC3." That is, by shifting the C-phase duty command value DC1 in the lower direction by the predetermined shift amount, the C-phase duty command value DC is adjusted to DC3, which is a value lower than DC1 by the predetermined shift amount.

[0058] In this case, as shown in Fig. 7, inside the PWM module 12b, at the (n+1)th update timing (time t6), the A-phase duty command value DA is updated to "DA1", the B-phase duty command value DB is updated to "DB1", and the C-phase duty command value DC is updated to "DC3". As can be seen from a comparison between Fig. 6 and Fig. 7, the MCU core 12a executes the subtraction process described above, so that at the (n+1)th update timing (time t6), the C-phase duty command value DC is updated to "DC3", which is a value that is lower than the initially calculated "DC1" by a predetermined shift amount.

[0059] 7, in the (n+1)th PWM control cycle, while the PWM timer is counting up, the count value of the PWM timer matches the C-phase duty command value DC3 at time t6', matches the B-phase duty command value DB1 at time t7, and matches the A-phase duty command value DA1 at time t8. Time t6' is a time between times t6 and t7. Meanwhile, while the PWM timer is counting down, the count value of the PWM timer matches the A-phase duty command value DA1 at time t10, matches the B-phase duty command value DB1 at time t11, and matches the C-phase duty command value DC3 at time t11'. Time t11' is a time between times t11 and t12.

[0060] 7, in the (n+1)th PWM control cycle, the C-phase PWM signal PC is set to low at time t6', the B-phase PWM signal PB is set to low at time t7, and the A-phase PWM signal PA is set to low at time t8. Also, in the (n+1)th PWM control cycle, the A-phase PWM signal PA is set to high at time t10, the B-phase PWM signal PB is set to high at time t11, and the C-phase PWM signal PC is set to high at time t11'.

[0061] 6 and 7, the MCU core 12a executes the subtraction process, whereby the duty ratio of the C-phase PWM signal PC generated in the (n+1)-th PWM control period becomes a value that is reduced by a predetermined shift amount from the originally required duty ratio, i.e., the duty ratio corresponding to the initially calculated C-phase duty command value DC1. Therefore, by executing the subtraction process, the duty ratio of the C-phase PWM signal PC is controlled to the originally required duty ratio over the entire control period including the n-th PWM control period and the (n+1)-th PWM control period. As a result, the drive current supplied from the inverter circuit 11 to the three-phase motor 20 can be controlled to the originally required current over the entire control period including the n-th PWM control period and the (n+1)-th PWM control period.

[0062] As described above, the motor control device 10 in this embodiment includes an MCU 12 that generates three-phase PWM signals based on three-phase duty command values ​​updated at a predetermined update period, and controls the inverter circuit 11 based on the generated three-phase PWM signals. When the duty command values ​​of at least two phases of the three-phase duty command values ​​updated at a first update timing are the same, the MCU 12 shifts the duty command value of one phase of the two-phase duty command values ​​by a predetermined shift amount. According to this embodiment, it is possible to prevent the switching timings of at least two of the three-phase PWM signals generated based on the three-phase duty command values ​​updated at the first update timing from coinciding with each other, thereby suppressing spike-like fluctuations in the shaft voltage of the three-phase motor 20. In other words, according to this embodiment, it is possible to reduce noise caused by spike-like fluctuations in the shaft voltage. As a result, according to this embodiment, it is possible to suppress electrolytic corrosion from occurring in the rotor bearing of the three-phase motor 20. Furthermore, the MCU 12 in this embodiment shifts the duty command value of one phase among the three-phase duty command values ​​updated at the second update timing, which is the update timing next to the first update timing, by a predetermined shift amount in a direction opposite to the shift direction at the first update timing. As a result, the duty ratio of the three-phase PWM signal is controlled to the originally required duty ratio over the entire PWM control period, and as a result, the drive current supplied from the inverter circuit 11 to the three-phase motor 20 can be controlled to the originally required current over the entire PWM control period.

[0063] The present invention is not limited to the above-described embodiment, and the configurations described in this specification can be combined as appropriate within a range that does not contradict each other. [Explanation of symbols]

[0064] 10... Motor control device, 11... Inverter circuit, 12... MCU (control unit), 12a... MCU core, 12b... PWM module, 20... Three-phase motor, 30... DC power supply

Claims

1. A motor control device for controlling a three-phase motor, an inverter circuit that converts a DC power supply voltage into a three-phase AC voltage and supplies the AC voltage to the three-phase motor; a control unit that generates three-phase PWM signals based on three-phase duty command values ​​that are updated at a predetermined update period, and controls the inverter circuit based on the three-phase PWM signals; Equipped with The control unit shifting a duty command value of one phase of the duty command values ​​of the two phases by a predetermined shift amount when the duty command values ​​of at least two phases of the three-phase duty command values ​​updated at a first update timing are the same; shifting the duty command value of the one phase among the three-phase duty command values ​​updated at a second update timing that is an update timing next to the first update timing by the shift amount in a direction opposite to a shift direction at the first update timing; It is possible to perform shift operations including The update period coincides with the PWM control period, The shift process is rearranging the three-phase duty command values ​​updated at the first update timing in ascending order; when a first duty command value and a second duty command value are the same among the three-phase duty command values ​​sorted in ascending order and updated at the first update timing, shift the first duty command value downward by the shift amount, and when the shifted first duty command value does not reach a saturated state, keep the first duty command value updated at the first update timing as it is shifted downward by the shift amount, and when the shifted first duty command value reaches a saturated state, return the first duty command value updated at the first update timing to a value before being shifted downward by the shift amount, and shift the second duty command value upward by the shift amount; When the second duty command value and the third duty command value are the same among the three-phase duty command values ​​sorted in ascending order, shift the third duty command value in an upward direction by the shift amount, and when the shifted third duty command value does not reach a saturated state, keep the third duty command value updated at the first update timing as a value shifted in an upward direction by the shift amount, and when the shifted third duty command value reaches a saturated state, return the third duty command value updated at the first update timing to a value before being shifted in an upward direction by the shift amount, and shift the second duty command value in a downward direction by the shift amount. Including, Motor control device.

2. The shift process is When all of the three-phase duty command values ​​sorted in ascending order are the same, the first duty command value is shifted in a lower direction by the shift amount, and the third duty command value is shifted in a higher direction by the shift amount; shifting the first duty command value among the three-phase duty command values ​​updated at the second update timing in a higher direction by the shift amount, and shifting the third duty command value in a lower direction by the shift amount. The motor control device according to claim 1 .

3. the control unit does not execute the shift process of the three-phase duty command values ​​updated at the first update timing when the three-phase duty command values ​​updated at the first update timing are in a saturated state.

3. The motor control device according to claim 1 or 2.

4. The three-phase motor is A rotor, a rotor bearing that is a bearing component of the rotor; The motor control device according to claim 1 , further comprising:

Citation Information

Patent Citations

  • Pwm inverter for controlling motor

    JP2001327173A

  • Three-phase inverter

    JP2005269769A

  • Inverter control device

    JP2012060847A

  • 3-phase PWM voltage generation circuit

    JP3447366B2