Motor control device and motor control method

Through the combination of processing circuit and current control unit, the incoordination problem caused by torque imbalance in multi-coil group motors is solved, stable total motor torque control is achieved, and the driver's operating experience is improved.

CN115461979BActive Publication Date: 2025-10-10JTEKT CORP +1
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
CN202080100183.8
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2020-04-27
Publication Date
2025-10-10
Estimated Expiration
2040-04-27

AI Technical Summary

Technical Problem

In a motor with multiple coil groups, the maximum torque imbalance causes a change in torque ratio, resulting in steering torque fluctuations or torque ripples that the driver feels are unpleasant.

Method used

A processing circuit is used to perform torque command value calculation, theoretical output torque calculation, predicted output torque calculation and differential torque calculation. The power supply of each coil group is independently controlled by the correction calculation unit and the current control unit to balance the torque output of each coil group.

Benefits of technology

Even when the coil group torque is unbalanced, the stable proportional change of the total motor torque can be maintained, improving the driver's control experience.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115461979B_ABST
    Figure CN115461979B_ABST
Patent Text Reader

Abstract

The present application relates to a motor control device and a motor control method. An ECU (40) controls a motor (31) having a first coil group (52) and a second coil group (53). The ECU calculates a first torque command value and a second torque command value. The ECU corrects the second torque command value for the second coil group (52) based on a difference between a first theoretical output torque and a first predicted output torque, i.e., a first differential torque. The ECU corrects the first torque command value for the first coil group (52) based on a difference between a second theoretical output torque and a second predicted output torque, i.e., a second differential torque. The ECU controls power supply to the first coil group based on the corrected first torque command value and controls power supply to the second coil group based on the corrected second torque command value.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to a motor control device and a motor control method. Background Art

[0002] Conventionally, for example, as described in Patent Document 1, a control device for controlling an electric motor that serves as a source of assist torque applied to a vehicle's steering mechanism is known. This control device includes two control systems that control the power supply to the electric motor, each of which has two coil assemblies corresponding to the two control systems. Each control system includes a drive circuit and a microcomputer. Each microcomputer controls the corresponding drive circuit based on the steering torque, thereby independently controlling the power supply to the two coil assemblies by each control system. The electric motor generates an assist torque that is the sum of the torques generated by the two coil assemblies.

[0003] Patent Document 1: Japanese Patent Application Laid-Open No. 2011-195089

[0004] In a motor having two coil groups, it is assumed that the maximum torque that can be generated by each of the two coil groups is unbalanced. Several phenomena are considered as important factors that lead to such a situation. For example, one factor is that when one of the two coil groups overheats, the power supply to only the coil group that has been detected to be overheated is limited in order to protect the coil group that has been detected to be overheated. In this case, the torque generated only by the coil group to which the power supply is limited reaches the upper limit. Therefore, before and after the timing when the torque generated by the coil group to which the power supply is limited reaches the upper limit, the ratio of the change in the assist torque to the steering torque changes. There is a concern that the driver will feel uncomfortable with the changes in the steering torque or torque pulsation caused by this change. Summary of the Invention

[0005] An object of the present disclosure is to provide a motor control device and a motor control method, which can change the total motor torque at a certain ratio even when the maximum torques that can be generated by a plurality of coil groups are unbalanced.

[0006] The motor control device involved in one embodiment of the present disclosure controls a motor having a plurality of coil groups. The motor control device includes a processing circuit. The processing circuit includes: a torque command value calculation unit, configured to calculate a plurality of individual torque command values ​​for each of the plurality of coil groups; a theoretical output torque calculation unit, configured to calculate a theoretical output torque for each of the plurality of coil groups based on the individual torque command values ​​for the coil group, the theoretical output torque being a torque that is theoretically expected to be generated by the coil group in an operation cycle that is one cycle later than the current operation cycle, taking into account the response characteristics of the torque generated by the coil group; and a predicted output torque calculation unit, configured to calculate a predicted output torque for each of the plurality of coil groups based on the actual output torque actually generated by the coil group, the predicted output torque being a torque that is theoretically expected to be generated by the coil group in an operation cycle that is one cycle later than the current operation cycle. Taking into account the response characteristics of the torque generated by the coil group, and actually expecting the torque generated by the coil group in an operation cycle that is one cycle later than the current operation cycle; a differential torque operation unit, configured to calculate the difference between the theoretical output torque and the predicted output torque, that is, the differential torque, for each of the multiple coil groups; a correction operation unit, configured to correct the above-mentioned individual torque instruction value for at least one other coil group based on the above-mentioned differential torque corresponding to at least one coil group among the multiple coil groups; and a current control unit, configured to independently control the power supply to the multiple coil groups according to each coil group based on the respectively corresponding corrected individual torque instruction values.

[0007] A motor control method according to one embodiment of the present disclosure controls a motor having multiple coil groups. The motor control method includes: calculating multiple individual torque command values ​​for each of the multiple coil groups; calculating a theoretical output torque for each of the multiple coil groups based on the individual torque command values ​​for that coil group, the theoretical output torque being the torque theoretically expected to be generated by that coil group in a calculation cycle one cycle after a current calculation cycle, taking into account the response characteristics of the torque generated by that coil group; calculating a predicted output torque for each of the multiple coil groups based on an actual output torque actually generated by that coil group, the predicted output torque being the torque actually expected to be generated by that coil group in a calculation cycle one cycle after the current calculation cycle, taking into account the response characteristics of the torque generated by that coil group; calculating a differential torque, i.e., the difference between the theoretical output torque and the predicted output torque, for each of the multiple coil groups; correcting the individual torque command value for at least one of the multiple coil groups based on the differential torque corresponding to at least one of the multiple coil groups; and independently controlling the power supply to each of the multiple coil groups based on the corresponding corrected individual torque command values. BRIEF DESCRIPTION OF THE DRAWINGS

[0008] Figure 1 This is a diagram schematically showing the configuration of an electric power steering device equipped with the motor control device according to the first embodiment.

[0009] Figure 2 yes Figure 1 Block diagram of the motor control device and the motor.

[0010] Figure 3 yes Figure 2 A block diagram of a first microcomputer and a second microcomputer in a motor control device.

[0011] Figure 4A This is a graph showing the relationship between the steering torque and the first current command value for the first coil group when the motor current for the first coil group is not limited in the first embodiment.

[0012] Figure 4B This is a graph showing the relationship between the steering torque and the second current command value for the second coil group when the motor current for the second coil group is not limited in the first embodiment.

[0013] Figure 4C This is a graph showing the relationship between the steering torque and the total current command value for the motor when the motor currents to the first coil group and the second coil group are not limited in the first embodiment.

[0014] Figure 5 In the first embodiment, Figure 2 Graph showing the relationship between the steering speed (rotational speed of the motor) and the torque of the motor generated by the first coil group and the second coil group when the power supply voltage of the first control unit of the motor control device is reduced.

[0015] Figure 6 In the first embodiment, Figure 2 Graph showing the relationship between the power supply voltage and the limit ratio of the motor torque for the first control unit and the second control unit of the motor control device.

[0016] Figure 7 In the first embodiment, Figure 2 A graph showing the relationship between the motor speed of the motor, the power supply voltage to the first control unit of the motor control device, and the output torque that can be generated by the first coil group.

[0017] Figure 8A This is a graph showing the relationship between the steering torque and the first current command value for the first coil group when the motor current for the first coil group is limited in the comparative example.

[0018] Figure 8BGraph 1 is a graph showing the relationship between the steering torque and the second current command value for the second coil group when the motor current for the second coil group is not limited in a comparative example.

[0019] Figure 8C This is a graph showing the relationship between the steering torque and the total current command value for the motor when the motor current to the first coil group is limited in a comparative example.

[0020] Figure 9A This is a graph showing the relationship between the steering torque and the first current command value for the first coil group when the motor current for the first coil group is limited in the first embodiment.

[0021] Figure 9B This is a graph showing the relationship between the steering torque and the second current command value for the second coil group when the motor current for the second coil group is not limited in the first embodiment.

[0022] Figure 9C This is a graph showing the relationship between the steering torque and the total current command value for the motor when the motor current to the first coil group is limited in the first embodiment. DETAILED DESCRIPTION

[0023] <First embodiment>

[0024] Hereinafter, a first embodiment in which the motor control device is embodied as an ECU (electronic control unit) of an electric power steering device 10 (hereinafter referred to as “EPS 10 ”) will be described.

[0025] like Figure 1 As shown, the EPS 10 includes a steering mechanism 20 that steers the steered wheels based on a driver's steering operation, a steering assist mechanism 30 that assists the driver's steering operation, and an ECU 40 that controls the operation of the steering assist mechanism 30 .

[0026] The steering mechanism 20 includes a steering wheel 21 operated by the driver and a steering shaft 22 that rotates integrally with the steering wheel 21. The steering shaft 22 includes a column shaft 22a connected to the steering wheel 21, an intermediate shaft 22b connected to the lower end of the column shaft 22a, and a pinion shaft 22c connected to the lower end of the intermediate shaft 22b. The lower end of the pinion shaft 22c meshes with a rack shaft 23 extending in a direction intersecting the pinion shaft 22c. More specifically, the lower end of the pinion shaft 22c meshes with rack teeth 23a of the rack shaft 23. Left and right steering wheels 26 are connected to both ends of the rack shaft 23 via tie rods 25.

[0027] Therefore, the rotation of the steering shaft 22 is converted into reciprocating linear motion of the rack shaft 23 by meshing the pinion shaft 22c with the rack shaft 23. This reciprocating linear motion is transmitted to the left and right steered wheels 26, thereby changing the steering angle θw of these steered wheels 26.

[0028] The steering assist mechanism 30 includes a motor 31 that serves as a source of steering assist force, or assist torque. A three-phase surface permanent magnet synchronous motor (SPMSM) is used as the motor 31, for example. The motor 31 is connected to the column shaft 22a via a reduction gear 32. The reduction gear 32 decelerates the rotation of the motor 31 and transmits the decelerated rotational force to the column shaft 22a. In other words, the torque of the motor 31 is applied to the steering shaft 22 as a steering assist force, thereby assisting the driver's steering operation.

[0029] The ECU 40 obtains the detection results of various sensors installed in the vehicle as state quantities representing the driver's requirements, driving conditions, and steering operation conditions, and controls the motor 31 based on these various state quantities. The ECU 40 can be configured as (1) one or more processors that perform various processes according to a computer program (software), (2) one or more dedicated hardware circuits such as application-specific integrated circuits (ASICs) that perform at least part of the various processes, or (3) a processing circuit (processing circuitry) including a combination thereof. The processor includes a CPU, and memories such as RAM and ROM, which store program codes or instructions configured to enable the CPU to perform processes. The memory, i.e., a computer-readable medium, includes all available media that can be accessed by a general-purpose or dedicated computer.

[0030] Various sensors include, for example, a vehicle speed sensor 41, torque sensors 42a, 42b, and rotation angle sensors 43a, 43b. The vehicle speed sensor 41 detects the vehicle's travel speed, or vehicle speed V. The torque sensors 42a, 42b are mounted on the column shaft 22a. The torque sensors 42a, 42b detect steering torques τ1, τ2 applied to the steering shaft 22. The rotation angle sensors 43a, 43b are mounted on the motor 31. The rotation angle sensors 43a, 43b detect rotation angles θm1, θm2 of the motor 31. For example, the steering torques τ1, τ2 and the rotation angles θm1, θm2 are detected as positive values ​​when steering in the right direction and as negative values ​​when steering in the left direction. If the torque sensors 42a, 42b are functioning properly, the steering torques τ1, τ2 are substantially the same. If the rotation angle sensors 43a, 43b are functioning properly, the rotation angles θm1, θm2 are substantially the same.

[0031] The ECU 40 uses the rotation angles θm1 and θm2 of the motor 31 detected by the rotation angle sensors 43a and 43b to perform vector control of the motor 31. Furthermore, the ECU 40 calculates a target assist torque based on the steering torques τ1 and τ2 and the vehicle speed V, and supplies drive power to the motor 31 to cause the steering assist mechanism 30 to generate the calculated target assist torque.

[0032] Next, the structure of the motor 31 will be described.

[0033] like Figure 2 As shown, the motor 31 includes a rotor 51, a first coil group 52 wound around a stator (not shown), and a second coil group 53. The first coil group 52 includes a U-phase coil, a V-phase coil, and a W-phase coil. The second coil group 53 also includes a U-phase coil, a V-phase coil, and a W-phase coil.

[0034] Next, the ECU 40 will be described in detail.

[0035] The ECU 40 includes a first control system corresponding to the first coil group 52 and a second control system corresponding to the second coil group 53, and each control system controls the power supply to the first coil group 52 and the second coil group 53. The ECU 40 includes a first control unit 60, which is the first control system that controls the power supply to the first coil group 52, and a second control unit 70, which is the second control system that controls the power supply to the second coil group 53.

[0036] The first control unit 60 includes a first drive circuit 61 , a first oscillator 62 , a first microcomputer 63 as a processing circuit, and a first limit control unit 64 .

[0037] Power is supplied to the first drive circuit 61 from a DC power supply 81, such as a battery mounted on the vehicle. The positive terminals of the first drive circuit 61 and the DC power supply 81 are connected to each other via a first power supply line 82. A vehicle power switch 83, such as an ignition switch, is provided on the first power supply line 82. The power switch 83 is operated to activate the vehicle's driving power source, such as the engine. When the power switch 83 is turned on, power from the DC power supply 81 is supplied to the first drive circuit 61 via the first power supply line 82. A voltage sensor 65 is provided on the first power supply line 82. The voltage sensor 65 detects the voltage Vb1 of the DC power supply 81. In addition, power from the DC power supply 81 is supplied to the first microcomputer 63 and the rotation angle sensor 43a via a power supply line (not shown).

[0038] The first drive circuit 61 is a PWM inverter in which three branches corresponding to the three phases of U, V, and W are connected in parallel. Each branch includes two switching elements such as field effect transistors (FETs) connected in series with each other. The first drive circuit 61 converts direct-current electric power supplied from the direct-current power supply 81 into three-phase alternating-current electric power by switching the switching elements of each phase based on an instruction signal Sc1 generated by the first microcomputer 63. The three-phase alternating-current electric power generated by the first drive circuit 61 is supplied to the first coil set 52 via a power supply path 84 of each phase composed of a bus bar or a cable, and the like. A current sensor 66 is provided in the power supply path 84. The current sensor 66 detects a current Im1 supplied from the first drive circuit 61 to the first coil set 52. Further, the current is set to a positive value in a case where the steering operation in the right direction is assisted, for example, and is set to a negative value in a case where the steering operation in the left direction is assisted.

[0039] A first oscillator 62 serving as a clock generation circuit generates a synchronization signal, that is, a clock, for operating the first microcomputer 63.

[0040] The first microcomputer 63 performs various processes in accordance with the clock generated by the first oscillator 62. The steering operation torque τ1 detected by the torque sensor 42a, the vehicle speed V detected by the vehicle speed sensor 41, the limit value ILIM1 calculated by the first limit control section 64, the current Im1 detected by the current sensor 66, and the rotational angle θm1 of the motor 31 detected by the rotational angle sensor 43a are input to the first microcomputer 63. In addition, various state quantities calculated by the second microcomputer 73 are input to the first microcomputer 63.

[0041] The first microcomputer 63 generates an instruction signal Sc1 for the first drive circuit 61 based on these state quantities. The instruction signal Sc1 is a PWM signal after pulse width modulation, and specifies the duty ratio of each switching element of the first drive circuit 61. The duty ratio refers to the proportion of the on time of the switching element to the pulse period. The first microcomputer 63 controls the energization to the first coil set 52 using the rotational angle θm1 of the rotor 51 and the current Im1. The current corresponding to the instruction signal Sc1 is supplied to the first coil set 52 by the first drive circuit 61, whereby the first coil set 52 generates a torque corresponding to the instruction signal Sc1.

[0042] The first limit control section 64 is input the voltage Vb16 of the direct-current power supply 81 detected by the voltage sensor 65, and the temperature Temp1 of the first coil set 52 or the vicinity thereof detected by the temperature sensor 44a. Further, the temperature sensor 44a is provided in the vicinity of the first drive circuit 61 or the power supply path 84.

[0043] First limit control unit 64 calculates limit value ILIM1 for limiting the amount of current supplied to first coil group 52 based on voltage Vb1 and the heating state of motor 31. Limit value ILIM1 is calculated as the upper limit of the amount of current supplied to first coil group 52, that is, the upper limit of the torque generated by first coil group 52, from the perspective of suppressing a decrease in voltage Vb1 of DC power supply 81 or protecting motor 31 from overheating.

[0044] When voltage Vb1 is below a voltage threshold, the first limit control unit 64 calculates a limit value ILIM1 based on the current value of voltage Vb1. The voltage threshold is set based on the lower limit of the EPS 10's assist guarantee voltage range. Furthermore, when temperature Temp1 exceeds the temperature threshold, the first limit control unit 64 calculates limit value ILIM1. After calculating limit value ILIM1, the first microcomputer 63 limits the current supplied to the first coil assembly 52 based on limit value ILIM1. Limit value ILIM1 fluctuates depending on the steering state, power supply voltage, and heat generation in the motor 31.

[0045] The second control unit 70 basically has the same configuration as the first control unit 60 , that is, the second control unit 70 includes a second drive circuit 71 , a second oscillator 72 , a second microcomputer 73 as a processing circuit, and a second limit control unit 74 .

[0046] Power is also supplied to the second drive circuit 71 from the DC power supply 81. A connection point Pb is provided on the first power supply line 82 between the power switch 83 and the first control unit 60. This connection point Pb and the second drive circuit 71 are connected to each other via a second power supply line 85. When the power switch 83 is turned on, power from the DC power supply 81 is supplied to the second drive circuit 71 via the second power supply line 85. A voltage sensor 75 is provided on the second power supply line 85. The voltage sensor 75 detects a voltage Vb2 of the DC power supply 81.

[0047] The three-phase AC power generated by the second drive circuit 71 is supplied to the second coil group 53 via a power supply path 86 for each phase formed by a bus bar or cable. A current sensor 76 is provided in the power supply path 86. The current sensor 76 detects the current Im2 supplied from the second drive circuit 71 to the second coil group 53.

[0048] The second microcomputer 73 executes various processes based on the clock generated by the second oscillator 72. Inputs to the second microcomputer 73 include the steering torque τ2 detected by the torque sensor 42b, the vehicle speed V detected by the vehicle speed sensor 41, the limit value ILIM2 calculated by the second limit control unit 74, the current Im2 detected by the current sensor 76, and the rotation angle θm2 of the motor 31 detected by the rotation angle sensor 43b. Furthermore, the second microcomputer 73 receives inputs of various state quantities calculated by the first microcomputer 63.

[0049] Based on these state quantities, the second microcomputer 73 generates a command signal Sc2 for the second drive circuit 71. The command signal Sc2 is a pulse-width modulated PWM signal that specifies the duty cycle of each switching element in the second drive circuit 71. The second microcomputer 73 uses the rotation angle θm2 of the rotor 51 and the current Im2 to control the energization of the second coil group 53. The second drive circuit 71 supplies a current corresponding to the command signal Sc2 to the second coil group 53, causing the second coil group 53 to generate a torque corresponding to the command signal Sc2.

[0050] The second limit control unit 74 receives voltage Vb2 of the DC power supply 81 detected by the voltage sensor 75 and temperature Temp2 of the second coil group 53 or its surroundings detected by the temperature sensor 44b. The temperature sensor 44b is provided near the second drive circuit 71 or the power supply path 86.

[0051] The second limit control unit 74 calculates a limit value ILIM2 for limiting the amount of current supplied to the second coil group 53 based on the voltage Vb2 and the temperature Temp2 indicating the heating state of the motor 31. The second limit control unit 74 calculates the limit value ILIM2 in the same manner as the first limit control unit 64. After calculating the limit value ILIM2, the second microcomputer 73 limits the amount of current supplied to the second coil group 53, i.e., the torque generated by the second coil group 53, based on the limit value ILIM2. Furthermore, the limit value ILIM2 varies depending on the steering state, the power supply voltage, and the heating state of the motor 31.

[0052] Next, the configurations of the first microcomputer 63 and the second microcomputer 73 will be described in detail.

[0053] like Figure 3 As shown, the first microcomputer 63 includes a first assist control unit 91 as a torque command value calculation unit and a first current control unit 92 as a current control unit.

[0054] The first assist control unit 91 receives inputs of the steering torque τ1 detected by the torque sensor 42a and the vehicle speed V detected by the vehicle speed sensor 41. Based on these state quantities, the first assist control unit 91 calculates a torque command value Tas* corresponding to the target assist torque to be generated by the motor 31. Specifically, the first assist control unit 91 calculates a torque command value Tas* with a larger absolute value as the absolute value of the steering torque τ1 increases or the vehicle speed V decreases.

[0055] Based on the total torque command value Tas*, the first assist control unit 91 calculates a first torque command value Tas1*, which is an individual torque command value for the first coil group 52, and a second torque command value Tas2*, which is an individual torque command value for the second coil group 53. In other words, the first assist control unit 91 divides the total torque command value into the first torque command value Tas1* and the second torque command value Tas2*. The first torque command value Tas1* represents the torque to be generated by the first coil group 52, out of the total torque to be generated by the motor 31. The second torque command value Tas2* represents the torque to be generated by the second coil group 53, out of the total torque to be generated by the motor 31.

[0056] In this embodiment, the assist torque required to be generated by the motor 31 is provided by half each of the torque generated by the first coil group 52 and the torque generated by the second coil group 53. The design upper limits of the first torque command value Tas1* and the second torque command value Tas2* are each set to half (50%) of the maximum torque (100%) that the motor 31 can generate. In other words, the upper limits of the first torque command value Tas1* and the second torque command value Tas2* are set to the same value.

[0057] The first current control unit 92 receives inputs including a corrected first torque command value Uas1* (described later), the current Im1, the rotation angle θm1 of the motor 31 detected by the rotation angle sensor 43a, and the limit value ILIM1 calculated by the first limit control unit 64. The first current control unit 92 calculates a first current command value Ias1* corresponding to the corrected first torque command value Uas1*. Specifically, the first current control unit 92 calculates a first current command value Ias1* with a larger absolute value as the absolute value of the corrected first torque command value Uas1* increases. The first current command value Ias1* represents the amount of current to be supplied to the first coil assembly 52 in order to generate the corrected first torque command value Uas1*.

[0058] The first current control unit 92 then generates a command signal Sc1 for the first drive circuit 61 by executing current feedback control to ensure that the actual current Im1 supplied to the first coil group 52 tracks the first current command value Ias1*. The first current control unit 92 uses the rotation angle θm1 to control energization of the first coil group 52. The first drive circuit 61 supplies a current corresponding to the command signal Sc1 to the first coil group 52, causing the first coil group 52 to generate a torque corresponding to the corrected first torque command value Uas1*.

[0059] When the first limit control unit 64 calculates the limit value ILIM1, the first current control unit 92 limits the torque generated by the first coil assembly 52 based on the calculated limit value ILIM1. Specifically, when the absolute value of the first current command value Ias1* is greater than the limit value ILIM1, the first current control unit 92 limits the absolute value of the first current command value Ias1* to be less than the limit value ILIM1. This limits the first current command value Ias1* to a value smaller than the original value corresponding to the corrected first torque command value Uas1*. On the other hand, when the absolute value of the first current command value Ias1* is less than the limit value ILIM1, the first current control unit 92 does not limit the absolute value of the first current command value Ias1*.

[0060] The second microcomputer 73 includes a second assist control unit 101 and a second current control unit 102 .

[0061] The second assist control unit 101 receives inputs of the steering torque τ2 detected by the torque sensor 42b and the vehicle speed V detected by the vehicle speed sensor 41. Based on these state quantities, the second assist control unit 101 calculates a torque command value Tas* corresponding to the target assist torque to be generated by the motor 31. Based on the total torque command value Tas*, the second assist control unit 101 calculates a backup first torque command value Tas1* and a backup second torque command value Tas2*. Similar to the first assist control unit 91, the second assist control unit 101 divides the total torque command value Tas* into a backup first torque command value Tas1* and a backup second torque command value Tas2*.

[0062] The second assist control unit 101 supplies the backup second torque command value Tas2* to the second current control unit 102. Furthermore, the second assist control unit 101 detects an abnormality in the first assist control unit 91 by comparing the backup first torque command value Tas1* with the first torque command value Tas1* calculated by the first assist control unit 91.

[0063] The second current control unit 102 receives a corrected second torque command value Uas2*, a current Im2, a rotation angle θm2 of the motor 31 detected by the rotation angle sensor 43b, a limit value ILIM2 calculated by the second limit control unit 74, and a backup second torque command value Tas2*.

[0064] When the corrected second torque command value Uas2* is input, the second current control unit 102 calculates the second current command value Ias2* corresponding to the corrected second torque command value Uas2*. Specifically, the larger the absolute value of the corrected second torque command value Uas2*, the larger the absolute value of the second current command value Ias2* calculated by the second current control unit 102. The second current command value Ias2* is the amount of current to be supplied to the second coil assembly 53 in order to generate the corrected second torque command value Uas2*. Furthermore, if the first microcomputer 63 is not operating normally, the second current control unit 102 calculates the second current command value Ias2* based on the backup second torque command value Tas2*.

[0065] The second current control unit 102 generates a command signal Sc2 for the second drive circuit 71 by executing current feedback control to ensure that the actual current Im2 supplied to the second coil group 53 tracks the second current command value Ias2*. The second current control unit 102 controls the energization of the second coil group 53 using the rotation angle θm2. The second drive circuit 71 supplies a current corresponding to the command signal Sc2 to the second coil group 53, causing the second coil group 53 to generate a torque corresponding to the corrected second torque command value Uas2*.

[0066] When the second limit control unit 74 calculates the limit value ILIM2, the second current control unit 102 limits the torque generated by the second coil assembly 53 based on the calculated limit value ILIM2. Specifically, when the absolute value of the second current command value Ias2* is greater than the limit value ILIM2, the second current control unit 102 limits the absolute value of the second current command value Ias2* to be less than the limit value ILIM2. This limits the second current command value Ias2* to a value smaller than the original value corresponding to the corrected second torque command value Uas2* or the backup second torque command value Tas2*. On the other hand, when the absolute value of the second current command value Ias2* is less than the limit value ILIM2, the second current control unit 102 does not limit the absolute value of the second current command value Ias2*.

[0067] Next, an ideal relationship between the steering torques τ1 and τ2 and the torque command value in a normal case where the currents supplied to the first coil group 52 and the second coil group 53 are not restricted will be described.

[0068] like Figure 4A As shown in the graph, when steering torque τ1 is plotted on the horizontal axis and first current command value Ias1* corresponding to first torque command value Tas1* is plotted on the vertical axis, the relationship between steering torque τ1 and first current command value Ias1* is as follows. Specifically, as the absolute value of steering torque τ1 increases, the absolute value of first current command value Ias1* increases linearly. When the absolute value of steering torque τ1 reaches torque threshold τth1, the absolute value of first current command value Ias1* reaches its maximum value, i.e., set upper limit value IUL1. This set upper limit value IUL1 is the current value corresponding to half (50%) of the maximum torque that motor 31 can generate.

[0069] like Figure 4B As shown in the graph, when steering torque τ2 is plotted on the horizontal axis and the second current command value Ias2* corresponding to the second torque command value Tas2* is plotted on the vertical axis, the relationship between steering torque τ2 and second current command value Ias2* is as follows. Specifically, as the absolute value of steering torque τ2 increases, the absolute value of second current command value Ias2* increases linearly. When the absolute value of steering torque τ2 reaches torque threshold τth1, the absolute value of second torque command value Tas2* reaches its maximum value, i.e., set upper limit value IUL2. This set upper limit value IUL2 is the current value corresponding to half (50%) of the maximum torque that motor 31 can generate.

[0070] like Figure 4C As shown in the graph, when steering torques τ1 and τ2 are plotted on the horizontal axis and the total current command value Ias*, which is the sum of the first current command value Ias1* and the second current command value Ias2*, is plotted on the vertical axis, the relationship between steering torques τ1 and τ2 and current command value Ias* is as follows. Specifically, as the absolute values ​​of steering torques τ1 and τ2 increase, the absolute value of total current command value Ias* increases linearly. When the absolute values ​​of steering torques τ1 and τ2 reach torque threshold τth1, the absolute value of total current command value Ias* reaches its maximum. This maximum total current command value Ias* is the current value corresponding to the maximum torque (100%) that motor 31 can generate.

[0071] Therefore, the torque generated by the first coil group 52 and the torque generated by the second coil group 53 are essentially the same value, achieving balance. The motor 31 generates a torque that is the sum of the torques generated by the two coil groups. However, there is a concern that the maximum torque that can be generated by the first coil group 52 and the maximum torque that can be generated by the second coil group 53 may differ, creating an imbalance. Examples of situations in which these two maximum torques are unbalanced include the following four situations: (A1), (A2), (A3), and (A4).

[0072] (A1) A situation in which the power supply voltages supplied to the first drive circuit 61 and the second drive circuit 71 are different from each other, although the voltage is within the assist guarantee voltage range, and the driver performs high-speed steering.

[0073] (A2) When the power supply voltage supplied to either the first drive circuit 61 or the second drive circuit 71 decreases, in order to suppress further decrease in the power supply voltage, the torque generated by the first coil group 52 or the second coil group 53 corresponding to the control system of the power supply voltage decrease is limited.

[0074] (A3) A situation in which the torque generated by the first coil group 52 or the second coil group 53 to be protected from overheating is limited in order to protect the first coil group 52 or the second coil group 53 from overheating.

[0075] (A4) For example, due to a failure of a switching element constituting one of the first drive circuit 61 and the second drive circuit 71 , the current supplied to the first coil group 52 or the second coil group 53 is limited to a small value.

[0076] In situations (A1) and (A2), fluctuations in the power supply voltages of the two control systems occur due to, for example, differences or degradation in resistance values ​​of the DC power supply 81, the AC generator supply voltage, and the wiring harness.

[0077] An example of situation (A1) is as follows. Figure 5 As shown in the graph, in the relationship between the steering speed ω (rotational speed Nm of the motor 31) and the torque Tm of the motor 31, as the steering speed ω increases, the torque Tm generated by the first coil group 52 and the second coil group 53 decreases. Here, for example, when the power supply voltage supplied to the first drive circuit 61 decreases to a value lower than the power supply voltage supplied to the second drive circuit 71, assuming that the steering speed is a predetermined value ωth (>0), the torque T1 that can be generated by the first coil group 52 becomes a value smaller than the torque T2 that can be generated by the second coil group 53.

[0078] An example of situation (A2) is as follows. Figure 6As shown in the graph, when voltages Vb1 and Vb2 of the DC power supply 81 detected by the voltage sensors 65 and 75 are greater than the first voltage threshold Vth1, voltages Vb1 and Vb2 are normal values, and the torque generated by the first and second coil assemblies 52 and 53 is not limited, allowing 100% output. When voltages Vb1 and Vb2 are below the first voltage threshold Vth1, the torque generated by the first and second coil assemblies 52 and 53 is limited based on the values ​​of voltages Vb1 and Vb2. Within the range of voltages Vb1 and Vb2 being greater than the second voltage threshold Vth2 (<Vth1) but less than the first voltage threshold Vth1, the degree of torque limitation on the first and second coil assemblies 52 and 53 increases as the values ​​of voltages Vb1 and Vb2 decrease. When voltages Vb1 and Vb2 are below the second voltage threshold Vth2, the torque generated by the first and second coil assemblies 52 and 53 is limited to 0 (zero), resulting in 0% output.

[0079] Next, as a comparative example, the relationship between steering torques τ1 and τ2 and total current command value Ias* is described for a situation where an imbalance occurs, in which the maximum torque that can be generated by first coil group 52 differs from the maximum torque that can be generated by second coil group 53. This example uses a situation where the torque generated by first coil group 52 is limited.

[0080] like Figure 8A As shown in the graph, limit value ILIM1 is calculated as half of set upper limit value IUL1, which corresponds to the upper limit of first torque command value Tas1*. In other words, it is a current value corresponding to 1 / 4 (25%) of the maximum torque that motor 31 can generate. As the absolute value of steering torque τ1 increases, the absolute value of first current command value Ias1* increases linearly. Then, when the absolute value of steering torque τ1 reaches torque threshold τth2 (<τth1), first current command value Ias1* reaches limit value ILIM1. In this graph, the double-dashed chain line indicates first current command value Ias1* when limit value ILIM1 is equal to set upper limit value IUL1.

[0081] like Figure 8BAs shown in the graph, since limit value ILIM2 is not calculated, second current command value Ias2* reaches set upper limit value IUL2, corresponding to the upper limit of second torque command value Tas2*, when the absolute value of steering torque τ2 reaches torque threshold τth1. In other words, after the absolute values ​​of steering torques τ1 and τ2 reach torque threshold τth2, an imbalance occurs in which the maximum value of first current command value Ias1* differs from the maximum value of second current command value Ias2*. In other words, after the absolute values ​​of steering torques τ1 and τ2 reach torque threshold τth2, an imbalance occurs in which the maximum torque that can be generated by first coil assembly 52 differs from the maximum torque that can be generated by second coil assembly 53.

[0082] like Figure 8C As shown in the graph, until the absolute values ​​of steering torques τ1, τ2 reach torque threshold τth2, the absolute value of total current command value Ias* (the sum of first current command value Ias1* and second current command value Ias2*) increases linearly as the absolute values ​​of steering torques τ1, τ2 increase. Even after the absolute values ​​of steering torques τ1, τ2 reach torque threshold τth2, the absolute value of total current command value Ias* continues to increase linearly with the increase in the absolute values ​​of steering torques τ1, τ2. However, after the absolute values ​​of steering torques τ1, τ2 reach torque threshold τth2, first current command value Ias1* is limited to limit value ILIM1 (< IUL1). Therefore, after the absolute values ​​of steering torques τ1 and τ2 reach torque threshold τth2, the ratio of the increase in the absolute value of total current command value Ias* to the increase in the absolute values ​​of steering torques τ1 and τ2, that is, the assist gain, becomes smaller than before the absolute values ​​of steering torques τ1 and τ2 reach torque threshold τth2. Soon after, when the absolute values ​​of steering torques τ1 and τ2 reach torque threshold τth1, the absolute value of total current command value Ias* reaches its maximum. At this point, the maximum value of total current command value Ias* corresponds to 75% of the maximum torque that motor 31 can generate. In this figure, the double-dashed chain line indicates the total current command value Ias* when limit value ILIM1 is not calculated.

[0083] Here, the assist gain is the value obtained by dividing the absolute value of the change in the current command value Ias* by the absolute value of the change in the steering torques τ1 and τ2. Furthermore, since the total current command value Ias* corresponds to the total assist torque generated by the motor 31, the assist gain can also be said to represent the ratio of the change in the assist torque to the steering torques τ1 and τ2.

[0084] This may cause the driver to experience discomfort due to the assist gain changing before and after the absolute values ​​of the steering torques τ1 and τ2 reach the torque threshold τth2, or torque ripple. Furthermore, such an assist gain change is not limited to the case where the limit value ILIM1 is calculated to be smaller than the set upper limit value IUL1. This may also occur when, for example, a failure of a switching element constituting the first drive circuit 61 causes the current supplied to the first coil group 52 to be limited to a small value.

[0085] In order to eliminate such concerns, in this embodiment, the following configurations are employed as the first microcomputer 63 and the second microcomputer 73 .

[0086] like Figure 3 As shown, the first microcomputer 63 includes, in addition to the first assist control unit 91 and the first current control unit 92, a first maximum output torque calculation unit 111, a first actual output torque calculation unit 112, a first theoretical output torque calculation unit 113, a first predicted output torque calculation unit 114, a first differential torque calculation unit 115, and a first correction calculation unit 116. Furthermore, the first microcomputer 63 includes a second theoretical output torque calculation unit 117, a second predicted output torque calculation unit 118, a second differential torque calculation unit 119, and a second correction calculation unit 120. The second microcomputer 73 includes, in addition to the second assist control unit 101 and the second current control unit 102, a second maximum output torque calculation unit 121 and a second actual output torque calculation unit 122.

[0087] Inputs to the first maximum output torque calculation unit 111 are voltage Vb1 of the DC power supply 81 detected by the voltage sensor 65, rotation angle θm1 of the motor 31 detected by the rotation angle sensor 43a, and limit value ILIM1 calculated by the first limit control unit 64. Based on these state quantities, the first maximum output torque calculation unit 111 calculates a first maximum output torque Tmax1. First maximum output torque Tmax1 is the maximum value of torque that can be generated by the first coil assembly 52 under the input state quantities.

[0088] Specifically, the first maximum output torque calculation unit 111 calculates the rotation speed Nm1 of the motor 31 based on the rotation angle θm1. Figure 7As shown, the first maximum output torque calculation unit 111 has a map that determines the relationship between the voltage Vb1 and the speed Nm1 and the output torque Ta1. The first maximum output torque calculation unit 111 calculates the output torque Ta1 corresponding to the voltage Vb1 and the speed Nm1 by referring to the map. In addition, the first maximum output torque calculation unit 111 calculates the output torque Tb1 corresponding to the limit value ILIM1, that is, the output torque when the current of the limit value ILIM1 is supplied to the motor 31. Then, the first maximum output torque calculation unit 111 calculates the smaller of the output torques Ta1 and Tb1 as the first maximum output torque Tmax1. Figure 3 As shown in FIG. 1 , the first maximum output torque Tmax1 calculated in this manner is output to the first correction calculation unit 116 .

[0089] The second maximum output torque calculation unit 121 receives inputs including the voltage Vb2 of the DC power supply 81 detected by the voltage sensor 75, the rotation angle θm2 of the motor 31 detected by the rotation angle sensor 43b, and the limit value ILIM2 calculated by the second limit control unit 74. Based on these state variables, the second maximum output torque calculation unit 121 calculates the second maximum output torque Tmax2. The second maximum output torque Tmax2 is the maximum torque that can be generated by the second coil assembly 53 under the input state variables. The second maximum output torque calculation unit 121 calculates the second maximum output torque Tmax2 using the same method as the first maximum output torque calculation unit 111 calculates the first maximum output torque Tmax1. The second maximum output torque Tmax2 thus calculated is output to the second correction calculation unit 120.

[0090] Current Im1 detected by current sensor 66 is input to first actual output torque calculation unit 112. First actual output torque calculation unit 112 calculates first actual output torque Yr1 based on current Im1. Specifically, first actual output torque calculation unit 112 calculates first actual output torque Yr1 by multiplying current Im1 by first motor constant Km1. First actual output torque Yr1 is the torque actually generated by first coil assembly 52. ​​First motor constant Km1 is set based on the number of turns of first coil assembly 52, the number of magnetic poles of rotor 51, and other factors. The first actual output torque Yr1 thus calculated is output to first predicted output torque calculation unit 114.

[0091] The current Im2 detected by the current sensor 76 is input to the second actual output torque calculation unit 122. The second actual output torque calculation unit 122 calculates the second actual output torque Yr2 based on the current Im2. Specifically, the second actual output torque calculation unit 122 calculates the second actual output torque Yr2 by multiplying the current Im2 by the second motor constant Km2. The second actual output torque Yr2 is the torque actually generated by the second coil group 53. The second motor constant Km2 is set based on the number of turns of the second coil group 53, the number of magnetic poles of the rotor 51, and other factors. The second actual output torque Yr2 is output to the second predicted output torque calculation unit 118.

[0092] The first theoretical output torque calculation unit 113 receives the corrected first torque command value Uas1* calculated by the first correction calculation unit 116. The first theoretical output torque calculation unit 113 calculates the first theoretical output torque Yi1 based on the corrected first torque command value Uas1*. The first theoretical output torque Yi1 is the torque theoretically expected to be generated by the first coil group 52 in a calculation cycle one cycle after the current calculation cycle, taking into account the response characteristics of the torque generated by the first coil group 52.

[0093] Specifically, the first theoretical output torque calculation unit 113 calculates the first theoretical output torque Yi1 using the discrete equation shown in the following equation (1). The suffixes of the reference numerals indicate the calculation cycles for calculating the various state quantities, and the current calculation cycle serving as a reference is referred to as "k".

[0094] Yi1 k =α×Yi1 k-1 +(1-α)×Uas1* k-1 (1)

[0095] The coefficient α in (1) above is a constant that is preset in consideration of the response characteristics of the torque generated by the first coil group 52. Furthermore, the response characteristics of the torque generated by the first coil group 52 include not only the delay of the torque generated by the first coil group 52 but also the delay caused by the time of the calculation processing in the first microcomputer 63.

[0096] The first theoretical output torque calculation unit 113 outputs the first theoretical output torque Yi1 calculated in this manner to the first differential torque calculation unit 115 , and stores the first theoretical output torque Yi1 until a calculation cycle one cycle later.

[0097] The first actual output torque Yr1 calculated by the first actual output torque calculation unit 112 and the corrected first torque command value Uas1* calculated by the first correction calculation unit 116 are input to the first predicted output torque calculation unit 114. Based on these state quantities, the first predicted output torque calculation unit 114 calculates the first predicted output torque Yee1. The first predicted output torque Yee1 is the torque expected to be actually generated by the first coil group 52 in the calculation cycle one cycle later, taking into account the response characteristics of the torque generated by the first coil group 52.

[0098] Specifically, the first predicted output torque calculation unit 114 first calculates the first estimated output torque Ye1 using the discrete equation shown in equation (2) below. The first estimated output torque Ye1 is estimated to be the torque generated by the first coil assembly 52 during the current calculation cycle, taking into account the response characteristics of the torque generated by the first coil assembly 52. ​​The first predicted output torque calculation unit 114 stores the thus calculated first estimated output torque Ye1 until the next calculation cycle.

[0099] Ye1 k =β×Ye1 k-1 +(1-β)×Uas1* k-1 +L×(Yr1 k-1 -Ye1 k-1 ) (2)

[0100] The coefficient β in (2) is set in advance in consideration of the response characteristics of the torque generated by the first coil assembly 52. ​​The response characteristics of the torque generated by the first coil assembly 52 include not only the delay of the torque generated by the first coil assembly 52 but also the delay caused by the time of the calculation processing in the first microcomputer 63. The coefficient L is the observer gain.

[0101] Next, the first predicted output torque calculation unit 114 calculates the first predicted output torque Yee1 using the discrete equation shown in the following equation (3).

[0102] Yee1 k =β×Ye1 k +(1-β)×Uas1* k +L×(Yr1 k-1 -Yee1 k-1 ) (3)

[0103] The first predicted output torque calculation unit 114 outputs the first predicted output torque Yee1 calculated in this manner to the first differential torque calculation unit 115 , and stores the first predicted output torque Yee1 until the calculation cycle one cycle later.

[0104] The first differential torque calculation unit 115 calculates the first differential torque ΔY1 by subtracting the first predicted output torque Yee1 from the first theoretical output torque Yi1. The first differential torque ΔY1 thus calculated is output to the second correction calculation unit 120. The first differential torque ΔY1 represents the extent to which the torque actually generated by the first coil assembly 52 is limited relative to the corrected first torque command value Uas1*, which is the target value, while eliminating response delays caused by the processing speed of the first control unit 60 and the response characteristics of the motor 31. The reason for eliminating response delays is that the first theoretical output torque Yi1 and the first predicted output torque Yee1 are calculated based on the processing speed of the first control unit 60 and the response characteristics of the motor 31, respectively.

[0105] The second theoretical output torque calculation unit 117 receives the corrected second torque command value Uas2* calculated by the second correction calculation unit 120. Based on the corrected second torque command value Uas2*, the second theoretical output torque calculation unit 117 calculates the second theoretical output torque Yi2 in the same manner as the first theoretical output torque calculation unit 113. The second theoretical output torque Yi2 is the torque theoretically expected to be generated by the second coil group 53 in the calculation cycle one cycle later, taking into account the response characteristics of the torque generated by the second coil group 53.

[0106] The second predicted output torque calculation unit 118 receives inputs of the second actual output torque Yr2 calculated by the second actual output torque calculation unit 122 and the corrected second torque command value Uas2* calculated by the second correction calculation unit 120. Similar to the first predicted output torque calculation unit 114, the second predicted output torque calculation unit 118 calculates the second estimated output torque Yee2 based on these state quantities and calculates the second predicted output torque Yee2. The second predicted output torque Yee2 is the torque expected to be actually generated by the second coil group 53 in the calculation cycle one cycle later, taking into account the response characteristics of the torque generated by the second coil group 53.

[0107] The second differential torque calculation unit 119 calculates the second differential torque ΔY2 by subtracting the second predicted output torque Yee2 from the second theoretical output torque Yi2. The second differential torque ΔY2 thus calculated is output to the first correction calculation unit 116. The second differential torque ΔY2 indicates the extent to which the torque actually generated by the second coil assembly 53 is limited relative to the corrected second torque command value Uas2*, which is the target value, while eliminating response delays caused by the calculation processing speed of the second control unit 70 and the response characteristics of the torque generated by the second coil assembly 53.

[0108] The first correction operation portion 116 corrects the first torque command value Tasl* calculated by the first assist control portion 91 on the basis of the first maximum output torque Tmaxl and the second differential torque ΔY2. Specifically, the first correction operation portion 116 calculates a first excess torque TcI by subtracting the first torque command value Tasl* from the first maximum output torque Tmaxl. Then, the first correction operation portion 116 corrects the first torque command value Tasl* within the range of the first excess torque TcI.

[0109] More specifically, in a case where the absolute value of the first maximum output torque Tmaxl is equal to or smaller than the absolute value of the first torque command value Tasl*, i.e., in a case where the first excess torque TcI is "0 (zero)", the first correction operation portion 116 outputs the first torque command value Tasl* as it is as the corrected first torque command value Uasl*. On the other hand, in a case where the absolute value of the first maximum output torque Tmaxl is larger than the absolute value of the first torque command value Tasl* and the absolute value of the first excess torque TcI is equal to or larger than the absolute value of the second differential torque ΔY2, the first correction operation portion 116 sets a value obtained by adding the second differential torque ΔY2 to the first torque command value Tasl* as the corrected first torque command value Uasl*. In addition, in a case where the absolute value of the first maximum output torque Tmaxl is larger than the absolute value of the first torque command value Tasl* and the absolute value of the first excess torque TcI is smaller than the absolute value of the second differential torque ΔY2, the first correction operation portion 116 sets a value obtained by adding the first excess torque TcI to the first torque command value Tasl*, i.e., the first maximum output torque Tmaxl as the corrected first torque command value Uasl*.

[0110] Thus, in a case where the current supplied to the second coil group 53 is limited, the corrected first torque command value Uasl* is corrected to be larger than the first torque command value Tasl* by an amount corresponding to the amount of the limited current. On the other hand, in a case where the current supplied to the second coil group 53 is not limited, the corrected first torque command value Uasl* is maintained as the first torque command value Tasl* calculated by the first assist control portion 91. The corrected first torque command value Uasl* thus calculated is output to the first current control portion 92.

[0111] The second correction operation portion 120 corrects the second torque command value Tas2* calculated by the first assist control portion 91 on the basis of the second maximum output torque Tmax2 and the first differential torque ΔYl. Specifically, the second correction operation portion 120 calculates a second excess torque Tc2 by subtracting the second torque command value Tas2* from the second maximum output torque Tmax2. Then, the second correction operation portion 120 corrects the second torque command value Tas2* within the range of the second excess torque Tc2.

[0112] More specifically, when the absolute value of the second maximum output torque Tmax2 is less than or equal to the absolute value of the second torque command value Tas2*, that is, when the second surplus torque Tc2 is "0 (zero)", the second correction calculation unit 120 outputs the second torque command value Tas2* as the corrected second torque command value Uas2*. On the other hand, when the absolute value of the second maximum output torque Tmax2 is greater than the absolute value of the second torque command value Tas2*, and the absolute value of the second surplus torque Tc2 is greater than or equal to the absolute value of the first differential torque ΔY1, the second correction calculation unit 120 uses the value obtained by adding the first differential torque ΔY1 to the second torque command value Tas2* as the corrected second torque command value Uas2*. On the other hand, when the absolute value of the second maximum output torque Tmax2 is greater than the absolute value of the second torque instruction value Tas2*, and the absolute value of the second surplus torque Tc2 is smaller than the absolute value of the first differential torque ΔY1, the second correction calculation unit 120 sets the value obtained by adding the second torque instruction value Tas2* to the second surplus torque Tc2, that is, the second maximum output torque Tmax2, as the corrected second torque instruction value Uas2*.

[0113] Thus, when the current supplied to the first coil group 52 is limited, the corrected second torque command value Uas2* is corrected to be greater than the second torque command value Tas2* by an amount corresponding to the limited current. On the other hand, when the current supplied to the first coil group 52 is not limited, the corrected second torque command value Uas2* remains at the second torque command value Tas2* calculated by the first assist control unit 91. The corrected second torque command value Uas2* thus calculated is output to the second current control unit 102.

[0114] Thus, in this embodiment, when the current to either the first coil group 52 or the second coil group 53 is limited, the current supplied to the other of the first coil group 52 and the second coil group 53 is increased to compensate for the limited current. This provides the following effects.

[0115] <Function of the First Embodiment>

[0116] In this embodiment, the relationship between the steering torques τ1 and τ2 and the total torque command value Tas* in the event of an unbalanced situation where the maximum torque that can be generated by the first coil group 52 differs from the maximum torque that can be generated by the second coil group 53 is as follows. Here, the case where the torque generated by the first coil group 52 is limited due to any of the above conditions (A1) to (A4) is also used as an example.

[0117] like Figure 9A As shown in the graph, limit value ILIM1 is calculated as a current value corresponding to half of set upper limit value IUL1, that is, 1 / 4 (25%) of the maximum torque that motor 31 can generate. When the absolute value of steering torque τ1 reaches torque threshold τth2, first current command value Ias1* reaches limit value ILIM1. In this graph, the double-dashed chain line indicates first current command value Ias1* when limit value ILIM1 is equal to set upper limit value IUL1.

[0118] like Figure 9B As shown in the graph, the second current command value Ias2* is not limited. However, after the absolute value of the steering torque τ2 reaches the torque threshold τth2, the ratio of the increase in the absolute value of the second current command value Ias2* to the increase in the absolute value of the steering torque τ2, that is, the assist gain, becomes larger than before the absolute value of the steering torque τ2 reaches the torque threshold τth2. This is because the first differential torque ΔY1 calculated by the first differential torque calculation unit 115 is added to the original second torque command value Tas2* by the second correction calculation unit 120. After the absolute value of the steering torque τ2 reaches the torque threshold τth2, the absolute value of the second current command value Ias2* increases linearly with the increase in the absolute value of the steering torque τ2. Then, when the absolute value of the steering torque τ2 reaches the torque threshold τth3 (τth2 < τth3 < τth1), the absolute value of the second current command value Ias2* reaches the set upper limit value IUL2. In addition, in this figure, the second torque command value Tas2* when the first current command value Ias1* is not limited is indicated by a two-dot chain line.

[0119] Therefore, the change of the torque command value Tas* which is the sum with respect to the change of the absolute value of the steering torques τ1, τ2 is as follows.

[0120] like Figure 9Cthe absolute value of the total current command value Ias* linearly increases. When the absolute value of the steering operation torque τi, τ2 reaches the torque threshold value τth3, the absolute value of the total current command value Ias* is maximum. The maximum value IUL of the total current command value Ias* at this time becomes a value corresponding to 75% of the maximum torque that the motor 31 can generate. After the absolute value of the steering operation torque τi, τ2 reaches the torque threshold value τth3, the absolute value of the total current command value Ias* is maintained at the maximum value IUL with respect to the increase in the absolute value of the steering operation torque τi, τ2. In addition, in the graph, the current command value Ias* in the case where the first current command value Ias1* is not limited is indicated by a double-dotted line.

[0121] Thus, after the first current command value Ias1* is limited to the limit value ILIM1, the corrected second torque command value Uas2* becomes a value larger than the second torque command value Tas2* by the first differential torque ΔY1. Thereby, the value of the assist gain of the total current command value Ias* is maintained constant during the period until the absolute value of the total current command value Ias* reaches the maximum value IUL. Although the torque that the motor 31 can generate is limited to 75% of the maximum value, since the value of the assist gain does not change, the variation in the steering operation torque τi, τ2 can be suppressed. In addition, the torque ripple can be suppressed from deteriorating, and further, the NV (Noise and Vibration) characteristics can be suppressed from deteriorating.

[0122] In addition, not limited to the case where the limit value ILIM1 is calculated, for example, in the case where the current supplied to the first coil group 52 is limited due to a failure of a switching element constituting the first drive circuit 61, the corrected second torque command value Uas2* also becomes a value larger than the second torque command value Tas2* by the first differential torque ΔY1. Thereby, the value of the assist gain of the total current command value Ias* is maintained constant.

[0123] Further, in the case where the current supplied to the second coil group 53 is limited, the corrected first torque command value Uas1* also becomes a value larger than the first torque command value Tas1* by the second differential torque ΔY2 in the same manner. Thereby, the value of the assist gain of the total current command value Ias* is maintained constant.

[0124] EFFECTS OF THE FIRST EMBODIMENT

[0125] According to the present embodiment, the following effects can be obtained.

[0126] (1) The ECU 40 corrects the second torque command value Tas2* based on the difference between the first theoretical output torque Yi1 and the first predicted output torque Yee1, i.e., the first differential torque ΔY1. The first differential torque ΔY1 indicates to what extent the torque actually generated by the first coil group 52 is restricted with respect to the corrected first torque command value Uas1*. Therefore, in the case where the current supplied to the first coil group 52 is restricted, an amount that is insufficient in the torque actually generated by the first coil group 52 with respect to the torque indicated by the corrected first torque command value Uas1* is supplemented and generated by the second coil group 53.

[0127] In addition, the ECU 40 corrects the first torque command value Tas1* based on the difference between the second theoretical output torque Yi2 and the second predicted output torque Yee2, i.e., the second differential torque ΔY2. Therefore, in the case where the current supplied to the second coil group 53 is restricted, an amount that is insufficient in the torque actually generated by the second coil group 53 with respect to the torque indicated by the corrected second torque command value Uas2* is supplemented and generated by the first coil group 52.

[0128] Therefore, it is possible to cause the total current command value Ias* to change in proportion to the change in the target assist torque. Therefore, it is possible to cause the motor torque, which is the total of the torques generated by the first coil group 52 and the second coil group 53, to change in proportion. As a result, it is possible to suppress the variation or the torque pulsation of the steering operation torque τ1, τ2. In addition, the driver can obtain a good steering feel.

[0129] Here, it is assumed that the first differential torque ΔY1 is set to, for example, a value obtained by subtracting the first actual output torque Yr1 from the first torque command value Tas1*. In this case, even if the motor 31 is not abnormal, the first differential torque ΔY1 momentarily becomes a value larger than "0 (zero)" due to the delay of the torque generated by the first coil group 52, and the corrected second torque command value Uas2* increases compared to the second torque command value Tas2*. Also, since the torque generated by the first coil group 52 approaches the first torque command value Tas1* as time elapses, the total torque generated by the first coil group 52 and the second coil group 53 becomes excessive in correspondence with the amount by which the second torque command value Tas2* is increased.

[0130] In this regard, in the present embodiment, the first theoretical output torque Yi1 and the first predicted output torque Yee1 are each calculated in accordance with the calculation processing speed of the first control portion 60 and the response characteristic of the motor 31. Therefore, the first differential torque ΔY1 becomes a value that does not include a difference due to the response delay generated in the normal case of the motor 31, and thus it is possible to suppress the total torque generated by the first coil group 52 and the second coil group 53 from becoming excessive.

[0131] (2) The first correction calculation unit 116 calculates the first surplus torque Tc1 by subtracting the first torque command value Tas1* from the first maximum output torque Tmax1 that can be output by the first coil group 52. The first correction calculation unit 116 then corrects the first torque command value Tas1* within the range of the first surplus torque Tc1 based on the second differential torque ΔY2. This prevents excessive torque that cannot be output by the first coil group 52 from becoming the command value. Similarly, the second correction calculation unit 120 calculates the second surplus torque Tc2 by subtracting the second torque command value Tas2* from the second maximum output torque Tmax2 that can be output by the second coil group 53. The second correction calculation unit 120 then corrects the second torque command value Tas2* within the range of the second surplus torque Tc2 based on the first differential torque ΔY1. This prevents excessive torque that cannot be output by the second coil group 53 from becoming the command value.

[0132] (3) Since the first theoretical output torque calculation unit 113 calculates the first theoretical output torque Yi1 based on the above-mentioned formula (1), the first theoretical output torque Yi1 can be easily calculated based on the first torque command value Tas1*. Similarly, since the second theoretical output torque calculation unit 117 calculates the second theoretical output torque Yi2 based on the above-mentioned formula (1), the second theoretical output torque Yi2 can be easily calculated based on the second torque command value Tas2*.

[0133] (4) Since the first predicted output torque calculation unit 114 calculates the first predicted output torque Yee1 based on the above-mentioned equations (2) and (3), it is possible to easily calculate the first predicted output torque Yee1 based on the first actual output torque Yr1. Similarly, since the second predicted output torque calculation unit 118 calculates the second predicted output torque Yee2 based on the above-mentioned equations (2) and (3), it is possible to easily calculate the second predicted output torque Yee2 based on the second actual output torque Yr2.

[0134] <Second embodiment>

[0135] Next, a second embodiment of the motor control device will be described. Figures 1 to 3 The structure is the same as that of the first embodiment shown.

[0136] In recent years, the development of autonomous driving systems that implement autonomous driving functions in which the system replaces the driver has become popular. However, autonomous driving systems also include cooperative control systems such as ADAS (Advanced Driver Assistance Systems) that assist the driver's driving operations in order to further improve the safety or convenience of the vehicle. When a vehicle is equipped with an autonomous driving system, the ECU 40 and other onboard system control devices in the vehicle are coordinated and controlled. So-called collaborative control refers to a technology in which the control devices of multiple onboard systems cooperate with each other to control the vehicle's movements.

[0137] like Figure 1 As shown by the double-dashed line in the figure, the vehicle is equipped with, for example, a host ECU (also called an ADAS-ECU) 200 that centrally controls the control devices of various onboard systems. Host ECU 200 determines the optimal control method based on the current vehicle state and, in accordance with this control method, instructs the various onboard control devices to independently control the system. Host ECU 200 intervenes in the control performed by ECU 40. Host ECU 200 switches its autonomous driving control function between on and off based on the operation of a switch (not shown) located on the driver's seat, etc.

[0138] When the autonomous driving control function of the host ECU 200 is activated, the host ECU 200 becomes the main body responsible for operating the steering wheel 21. Furthermore, the ECU 40 performs steering control, i.e., automatic steering control, by controlling the motor 31 based on commands from the host ECU 200 to steer the steering wheel 26. For example, the host ECU 200 calculates steering angle command values ​​θ1* and θ2* as command values ​​for directing the vehicle to travel in the target lane. These steering angle command values ​​θ1* and θ2* are target values ​​for the steering angle θw required to direct the vehicle along the lane based on the current vehicle driving state, or target values ​​reflecting a state quantity of the steering angle θw. An example of a state quantity reflecting the steering angle θw is the pinion angle, or rotation angle of the pinion shaft 22c. The ECU 40 controls the motor 31 using the steering angle command values ​​θ1* and θ2* calculated by the host ECU 200.

[0139] like Figure 2As indicated by the two-dot chain line, the steering angle command value θ1* is a value for the first microcomputer 63. Furthermore, the steering angle command value θ2* is a value for the second microcomputer 73. The first microcomputer 63 calculates the first current command value, which is the target value of the current to be supplied to the first coil group 52, by executing angle feedback control so that the actual steering angle θw follows the steering angle command value θ1*. The second microcomputer 73 calculates the second current command value, which is the target value of the current to be supplied to the second coil group 53, by executing angle feedback control so that the actual steering angle θw follows the steering angle command value θ2*. Furthermore, the actual steering angle θw can be calculated based on the rotation angles θm1 and θm2 of the motor 31 detected by the rotation angle sensors 43a and 43b.

[0140] Under normal circumstances, the torque required to be generated by the motor 31 is provided by half (50%) of the torque generated by the first coil group 52 and half (50%) of the torque generated by the second coil group 53. Furthermore, under normal circumstances, the two steering angle command values ​​θ1* and θ2* are essentially set to the same value. However, if either of the two coil groups (52, 53) fails, the operation of the motor 31 is continued by the remaining normal coil group. In this case, the host ECU 200 can also calculate the steering angle command values ​​θ1* and θ2* that are suitable for controlling the motor 31 by the remaining normal coil group. Therefore, according to the second embodiment, the ECU 40 can support the autonomous driving function.

[0141] <Other embodiments>

[0142] Furthermore, the first and second embodiments may be modified and implemented as follows.

[0143] In the first and second embodiments, the temperature sensors 44 a and 44 b are provided in the ECU 40 , but these temperature sensors 44 a and 44 b may be provided in the motor 31 .

[0144] In the first and second embodiments, the ECU 40 includes the first control unit 60 and the second control unit 70 which are independent of each other. However, depending on product specifications, for example, the first microcomputer 63 and the second microcomputer 73 may be constructed as a single microcomputer.

[0145] In the first and second embodiments, the calculations for correcting the first torque command value Tas1* and the second torque command value Tas2* are performed in the first microcomputer 63. However, for example, the calculations for correcting the first torque command value Tas1* and the second torque command value Tas2* may be performed in the second microcomputer 73. Furthermore, for example, the calculations for correcting the first torque command value Tas1* may be performed in the first microcomputer 63, while the calculations for correcting the second torque command value Tas2* may be performed in the second microcomputer 73.

[0146] In the first and second embodiments, the maximum torques generated by the first coil group 52 and the second coil group 53 are each set to the same value, half (50%) of the maximum torque (100%) that can be generated by the motor 31. However, these values ​​may be different, such as "60:40" or "70:30." However, the total maximum torques generated by the first coil group 52 and the second coil group 53 must be within the maximum torque (100%) that can be generated by the motor 31.

[0147] In the first and second embodiments, the first torque command value Tas1* and the second torque command value Tas2* are calculated so that they increase simultaneously as the total torque command value increases. However, for example, the following configuration may be employed. Specifically, when the total torque command value is a value below the upper limit value of the first torque command value Tas1*, the torque command value remains unchanged as the first torque command value Tas1*, and the second torque command value Tas2* is set to "0 (zero)." Furthermore, when the total torque command value exceeds the upper limit value of the first torque command value Tas1*, the first torque command value Tas1* is set to the upper limit value, and the amount by which the torque command value exceeds the upper limit value is set to the second torque command value Tas2*.

[0148] In the first and second embodiments, the first torque command value Tas1* is corrected within the range of the first surplus torque Tc1. However, for example, the corrected first torque command value Uas1* may be calculated by directly adding the second differential torque ΔY2 to the first torque command value Tas1*, without considering the magnitude relationship between the first surplus torque Tc1 and the second differential torque ΔY2. Similarly, for example, the corrected second torque command value Uas2* may be calculated by directly adding the first differential torque ΔY1 to the second torque command value Tas2*, without considering the magnitude relationship between the second surplus torque Tc2 and the first differential torque ΔY1.

[0149] In the first and second embodiments, the power supply to the two coil groups (52, 53) is independently controlled. However, if the motor 31 has three or more coil groups, the power supply to the three or more coil groups may be independently controlled. In this case, the ECU 40 preferably has the same number of control units (control systems) as the number of coil groups. If the motor 31 has three coil groups (first to third coil groups), for example, the three control units each calculate a separate torque command value for the corresponding coil group in the first to third coil groups. The maximum value of these separate torque command values ​​becomes a value corresponding to a torque of 1 / 3 of the maximum torque that the motor 31 can generate.

[0150] If the torque generated by any one of the three coil groups is limited, the torque limited in that coil group can be compensated by 50% each of the remaining two coil groups. That is, the remaining two coil groups each generate a torque equivalent to half the limited torque of the one coil group. Alternatively, if the torque generated by any one of the three coil groups is limited, the torque limited in that coil group can be compensated by only one of the remaining two coil groups.

[0151] Even when the motor 31 has four or more coil groups, a separate torque command value for each coil group is calculated based on the same concept as in the case of two coil groups or three coil groups.

[0152] In the first and second embodiments, the EPS 10 is exemplified as a type that transmits the torque of the motor 31 to the steering shaft 22 , more specifically, to the column shaft 22 a . However, the EPS 10 may also be a type that transmits the torque of the motor 31 to the rack shaft 23 .

[0153] In the first and second embodiments, the motor control device is embodied as the ECU 40 that controls the motor 31 of the EPS 10. However, the motor control device may be embodied as a control device for a motor used in a device other than the EPS 31. For example, the motor control device may control a motor used in a steer-by-wire steering system in which power transmission is separated between a steering unit operated by the driver and a steering unit that steers the steering wheels.

Claims

1. A motor control device for controlling a motor having a plurality of coil groups, wherein: The motor control device includes a processing circuit, which includes: a torque command value calculation unit configured to calculate a plurality of individual torque command values ​​for each of the plurality of coil groups; a theoretical output torque calculation unit configured to calculate, for each of the plurality of coil groups, a theoretical output torque based on the individual torque command value for the coil group, the theoretical output torque being a torque theoretically expected to be generated by the coil group in a calculation cycle that is one cycle later than a current calculation cycle, taking into account a response characteristic of a torque generated by the coil group; a predicted output torque calculation unit configured to calculate, for each of the plurality of coil groups, a predicted output torque based on an actual output torque actually generated by the coil group, the predicted output torque being a torque actually expected to be generated by the coil group in a calculation cycle that is one cycle later than the current calculation cycle, taking into account a response characteristic of the torque generated by the coil group; a differential torque calculation unit configured to calculate, for each of the plurality of coil groups, a differential torque representing a difference between the theoretical output torque and the predicted output torque; a correction calculation unit configured to correct the individual torque command value for at least one of the plurality of coil groups based on the differential torque corresponding to at least one of the plurality of coil groups; as well as The current control unit is configured to independently control the power supply to the plurality of coil groups for each coil group based on the corrected individual torque command values ​​corresponding to the respective coil groups.

2. The motor control device according to claim 1, wherein: The theoretical output torque calculation unit calculates the theoretical output torque Yi using the following formula: k , Yi k =α×Yi k-1 +(1-α)×U* k-1 Among them, "α" is a constant, "U* k-1 "Yi" is the corrected independent torque command value obtained in the operation cycle one cycle before the current operation cycle. k-1 " is the theoretical output torque obtained in the calculation cycle one cycle before the current calculation cycle. The predicted output torque calculation unit uses the following formula to calculate and estimate the estimated output torque Ye generated by each coil group in the current calculation cycle: k , Is k β×He k-1 +(10β)×U* k-1 +L×(Yr k-1 -Is k-1 ) Where "β" is a constant, "L" is the observer gain, and "U* k-1 "Yr" is the corrected independent torque command value obtained in the operation cycle one cycle before the current operation cycle, k-1 " is the actual output torque actually generated by each coil group in the calculation cycle one cycle before the current calculation cycle, "Ye k-1 " is the estimated output torque obtained in a calculation cycle one cycle before the current calculation cycle, The predicted output torque calculation unit further calculates the predicted output torque Yee using the following formula: k , Yeah k =β×Ye k +(1−β)×U* k +L×(Yr k-1 -Yes k-1 ) Among them, "Yee k-1 ” is the predicted output torque obtained in a calculation cycle one cycle before the current calculation cycle.

3. The motor control device according to claim 1, wherein: The correction calculation unit is composed of: The surplus torque is calculated by subtracting the individual torque command value before correction for the at least one other coil group from the maximum output torque that can be output by the at least one other coil group. Based on the differential torque, the individual torque command value before correction for the at least one other coil group is corrected within the range of the surplus torque.

4. The motor control device according to any one of claims 1 to 3, wherein: The torque command value calculation unit is configured as follows: The calculation should be done by the torque command value generated by the above motor, The plurality of individual torque command values ​​are calculated by dividing the torque command value at a predetermined ratio that is set in advance.

5. The motor control device according to any one of claims 1 to 3, wherein: The electric motor is configured to generate torque to be applied to a steering mechanism of the vehicle.

6. A motor control method is a motor control method for controlling a motor having multiple coil groups, wherein: Include: calculating a plurality of individual torque command values ​​for each of the plurality of coil groups; calculating, for each of the plurality of coil groups, a theoretical output torque based on the individual torque command value for the coil group, the theoretical output torque being a torque theoretically expected to be generated by the coil group in a calculation cycle that is one cycle later than a current calculation cycle, taking into account response characteristics of the torque generated by the coil group; For each of the plurality of coil groups, a predicted output torque is calculated based on an actual output torque actually generated by the coil group, the predicted output torque being a torque actually expected to be generated by the coil group in a calculation cycle that is one cycle later than the current calculation cycle, taking into account a response characteristic of the torque generated by the coil group; For each of the plurality of coil groups, a differential torque, which is a difference between the theoretical output torque and the predicted output torque, is calculated; correcting the individual torque command value for at least one other coil group based on the differential torque corresponding to at least one coil group among the plurality of coil groups; as well as Power supply to the plurality of coil groups is independently controlled for each coil group based on the corresponding corrected individual torque command values.

Citation Information

Patent Citations

  • Electric power steering device

    JP2011195089A

  • Control apparatus for electric rotating machine

    US20110031910A1

  • Motor controller

    US20200023890A1