Motor control device and motor control method
Patent Information
- Application Number
- JP2023516382
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2021-04-21
- Filing Date
- 2022-03-29
- Publication Date
- 2026-09-01
- Estimated Expiration
- 2042-03-29
Smart Images

Figure 0007913516000001 
Figure 0007913516000002 
Figure 0007913516000003
Abstract
Description
[Technical Field]
[0001] This disclosure relates to a motor control device and a motor control method. [Background technology]
[0002] Conventionally, there are control devices that perform current feedback control, which makes the actual current value supplied to the motor follow the current command value. The motor is, for example, a three-phase brushless motor. The control device transforms the three-phase current detection values supplied to the motor into two phases in a dq-axis coordinate system and performs current feedback control in the dq-axis coordinate system. Since the dq-axis coordinate system is a rotating coordinate system, the control device separates the current into a torque component and a field weakening component and performs current vector control.
[0003] Motors can experience torque ripple, which is a type of torque fluctuation. Torque ripple can contribute to vibration and noise. For this reason, the control device described in Patent Document 1, for example, performs compensation control to suppress torque ripple. The control device superimposes a compensation current on the target q-axis current to cancel out the torque ripple. The compensation current is a sine wave with the opposite phase to the dominant sixth-harmonic component in the vibrational components of the torque ripple. [Prior art documents] [Patent Documents]
[0004] [Patent Document 1] International Publication No. 2019 / 163552 [Overview of the project] [Problems that the invention aims to solve]
[0005] The control device described in Patent Document 1 calculates the gain (amplitude) and phase of the compensation current using a lookup table based on the absolute value of the target q-axis current and the absolute value of the motor's angular velocity. The control device then calculates the compensation current using the gain and phase obtained from the lookup table. Thus, the control device needs to calculate both the gain and phase, and in recent years, there has been a desire to further reduce the computational load on the control device. [Means for solving the problem]
[0006] One aspect of the present disclosure provides a motor control device that calculates a voltage command value for an inverter that controls the current supplied to a three-phase motor by performing feedback control that causes the current value of the motor to follow a current command value for the motor. The motor control device has a compensation calculation unit configured to calculate a correction voltage to be added to the voltage command value in order to compensate for the torque ripple of the motor, using the rotation angle of the motor detected through a sensor. The correction voltage is a sine wave in opposite phase to the torque ripple and has cosine wave components of the same frequency. Component 1 and sine wave components Component 2 The result is obtained by adding the two together. The compensation calculation unit is configured to calculate the amplitude of the cosine wave component and the amplitude of the sine wave component based on the current command value and the rotational speed of the motor.
[0007] Another aspect of the present disclosure provides a motor control device that includes: calculating a voltage command value for an inverter that controls the current supplied to a three-phase motor through the execution of feedback control that causes the current value of the motor to follow a current command value for the motor; and performing a compensation calculation process that calculates a correction voltage to be added to the voltage command value to compensate for the torque ripple of the motor, using the rotation angle of the motor detected through a sensor. The correction voltage is a sine wave in opposite phase to the torque ripple and has cosine wave components of the same frequency. Component 1 and sine wave components Component 2The result is obtained by adding the two together. The compensation calculation process includes a process of calculating the amplitude of the cosine wave component and the amplitude of the sine wave component based on the current command value and the rotational speed of the motor. [Brief explanation of the drawing]
[0008] [Figure 1] This is a schematic diagram showing the general configuration of an electric power steering system equipped with one embodiment of a motor control device. [Figure 2] This is a block diagram of one embodiment of a motor control device. [Figure 3] This is a block diagram of a lookup table according to one embodiment. [Modes for carrying out the invention]
[0009] The following describes one embodiment in which the motor control device is incorporated into the control device for an electric power steering system. As shown in Figure 1, the electric power steering system 10 has a steering shaft 13, a pinion shaft 14, and a steering shaft 15. These steering shaft 13, pinion shaft 14, and steering shaft 15 constitute a power transmission path between the steering wheel 11 and the steering wheels 12, 12. The steering shaft 15 extends along the left-right direction in Figure 1, which is the width direction of the vehicle body. The steering shaft 15 is housed inside a housing 16 fixed to the vehicle body. The steering wheels 12, 12 are connected to both ends of the steering shaft 15 via tie rods 17, 17, respectively. The pinion teeth 14a of the pinion shaft 14 mesh with the rack teeth 15a of the steering shaft 15. Therefore, the steering angle θ of the steering wheels 12, 12 is determined by the movement of the steering shaft 15 along its axis in conjunction with the rotational operation of the steering wheel 11. w ,θ w It will be changed.
[0010] Furthermore, the electric power steering system 10 includes a motor 21 and a transmission mechanism 22. These motor 21 and transmission mechanism 22 are configured to provide assist force to the steering shaft 15. Assist force refers to the driving force applied to the steering wheel 11 to assist in its operation.
[0011] Motor 21 is the source of the assist force. Motor 21 is, for example, a three-phase brushless motor. Motor 21 is fixed to the outside of housing 16. The output shaft 21a of motor 21 extends parallel to the steering shaft 15. The output shaft 21a of motor 21 is connected to the steering shaft 15 via a transmission mechanism 22. The torque generated by motor 21 is applied to the steering shaft 15 as an assist force via the transmission mechanism 22.
[0012] The transmission mechanism 22 includes a ball nut 31, a drive pulley 32, a driven pulley 33, and an endless belt 34. The ball nut 31 is screwed onto the ball screw portion 15b of the steering shaft 15 via a number of balls (not shown). The drive pulley 32 is fixed to the output shaft 21a of the motor 21. The driven pulley 33 is fixed in a fitted state on the outer surface of the ball nut 31. The belt 34 is stretched between the drive pulley 32 and the driven pulley 33. Therefore, the rotation of the motor 21 is transmitted to the ball nut 31 via the drive pulley 32, the belt 34, and the driven pulley 33. As the ball nut 31 rotates, the steering shaft 15 moves along its axis.
[0013] Furthermore, the electric power steering system 10 has a control device 40 that controls the motor 21. The control device 40 acquires detection results from various on-board sensors as information indicating the driver's request or driving conditions, and controls the motor 21 according to the acquired information. The sensors are, for example, a torque sensor 41, a vehicle speed sensor 42, and a rotation angle sensor 43. The torque sensor 41 is provided on the steering shaft 13. The torque sensor 41 detects the steering torque Th applied to the steering shaft 13. The vehicle speed sensor 42 detects the vehicle speed V. The rotation angle sensor 43 is provided on the motor 21. The rotation angle sensor 43 detects the rotation angle θ of the motor 21. The control device 40 performs assist control that generates an assist force corresponding to the steering torque Th and vehicle speed V through power supply control to the motor 21. The control device 40 vector-controls the motor 21 using the rotation angle θ of the motor 21 detected through the rotation angle sensor 43.
[0014] Next, the control device 40 will be described in detail. As shown in Figure 2, the control device 40 includes a microcomputer 51 that generates motor control signals, and an inverter 52 that supplies three-phase drive power to the motor 21 based on the motor control signals generated by the microcomputer 51. The microcomputer 51 is, for example, a processing circuit comprising a CPU and memory. The microcomputer 51 performs various processes by having the CPU execute a program stored in memory. The memory includes computer-readable media such as RAM (Random Access Memory) and ROM (Read Only Memory). However, it is only an example that various processes are implemented by software. The processing circuit of the control device 40 may be configured to implement at least some of the processes by hardware circuits such as logic circuits.
[0015] The inverter 52 is a well-known PWM inverter. The inverter 52 is constructed by connecting three legs in parallel, each corresponding to one of the three phases. Each leg includes two switching elements connected in series. The switching elements are, for example, field-effect transistors (FETs). A motor control signal generated by the microcomputer 51 defines the duty cycle of each switching element in the inverter 52. The motor control signal is applied to the gate terminal of each switching element. By switching each switching element on and off in response to the motor control signal, the DC voltage of the onboard battery 53 is converted into three-phase (U, V, W) drive power, and this converted three-phase drive power is supplied to the motor 21.
[0016] The microcomputer 51 acquires the steering torque Th detected through the torque sensor 41, the vehicle speed V detected through the vehicle speed sensor 42, and the rotation angle θ of the motor 21 detected through the rotation angle sensor 43. The microcomputer 51 also acquires the values of the three-phase currents Iu, Iv, and Iw detected through the current sensors 54u, 54v, and 54w installed in the power supply path to the motor 21. Based on the steering torque Th, vehicle speed V, the rotation angle θ of the motor 21, and the values of the motor 21 currents Iu, Iv, and Iw detected through each sensor, the microcomputer 51 controls the power supply to the motor 21. The microcomputer 51 controls the power supply to the motor 21 so that an appropriate assist force is obtained according to the operating state of the steering wheel 11 or the driving state of the vehicle. The microcomputer 51 controls the motor 21 by vector control described in a two-phase rotation coordinate system, the dq-axis coordinate system.
[0017] Next, the configuration of the microcomputer 51 will be described in detail. As shown in Figure 2, the microcomputer 51 includes a rotation speed calculation unit 61, a steering angle calculation unit 62, a current command value calculation unit 63, a three-phase / two-phase coordinate conversion unit 64, a feedback control unit 65, a two-phase / three-phase coordinate conversion unit 66, and a control signal generation unit 67.
[0018] The rotational speed calculation unit 61 is, for example, a differentiator. The rotational speed calculation unit 61 calculates the rotational speed ω of the motor 21 by differentiating the rotation angle θ of the motor 21, which is detected through the rotation angle sensor 43, with respect to time.
[0019] The steering angle calculation unit 62 calculates the steering angle θs, which is the rotation angle of the steering wheel 11, based on the rotation angle θ of the motor 21 detected through the rotation angle sensor 43. The steering angle calculation unit 62 calculates the absolute value of multi-rotation angles θ exceeding 360° by counting the number of rotations of the motor 21 with respect to the neutral position of the steering wheel 11 corresponding to the straight-ahead state of the vehicle. The steering angle calculation unit 62 calculates the steering angle θs by multiplying the multi-rotation angle θ of the motor 21 by a conversion coefficient based on the reduction ratio between the motor 21 and the steering shaft 13.
[0020] The current command value calculation unit 63 includes a q-axis current command value calculation unit 71 and a d-axis current command value calculation unit 72. The q-axis current command value calculation unit 71 calculates the basic assist torque based on the steering torque Th detected through the torque sensor 41 and the vehicle speed V detected through the vehicle speed sensor 42. The q-axis current command value calculation unit 71 calculates a target assist torque with a larger absolute value the larger the absolute value of the steering torque Th and the slower the vehicle speed V. The q-axis current command value calculation unit 71 also calculates a compensation value for the basic assist torque using the rotational speed ω of the motor 21 calculated by the rotational speed calculation unit 61 and the steering angle θs calculated by the steering angle calculation unit 62. The compensation value is calculated, for example, as the sum of the return force of the steering shaft 13 to the neutral position, which increases in proportion to the steering angle θs, and the return torque corresponding to the resistance force against the rotation of the steering shaft 13, which increases in proportion to the rotational speed ω of the motor 21. The q-axis current command value calculation unit 71 sets the sum of the basic assist torque and the compensation value as the target assist torque, and by dividing this target assist torque by the torque constant, it calculates the q-axis current command value Iq in the dq-axis coordinate system. * Perform the calculation.
[0021] The d-axis current command value calculation unit 72 calculates a d-axis current command value Id based on the rotational speed ω of the motor 21 calculated by the rotational speed calculation unit 61 * . The d-axis current command value calculation unit 72 performs field weakening control that sets the d-axis current command value Id * to a negative value in accordance with the rotational speed ω of the motor 21. To elaborate, as the rotational speed ω of the motor 21 increases, the induced voltage (back electromotive force) generated in the motor coils of each of the three phases increases, and there is an upper limit (base speed) for the rotational speed of the motor 21. However, by setting the d-axis current command value Id * to a negative value, that is, by passing a negative-direction d-axis current, it is possible to reduce the magnetic flux in the d-axis direction using the demagnetizing magnetomotive force caused by the d-axis armature reaction, thereby keeping the induced voltage low. This enables extending the operating range (rotational range) of the motor 21 to a high-speed region exceeding the base speed.
[0022] For example, when the absolute value of the rotational speed ω is equal to or less than a first set value that is a value near "0", the d-axis current command value calculation unit 72 sets the d-axis current command value Id * to "0". When the absolute value of the rotational speed ω exceeds the first set value, the d-axis current command value calculation unit 72 calculates a negative d-axis current command value Id * . When the absolute value of the rotational speed ω exceeds the first set value and is equal to or less than a second set value that is set to a value larger than the first set value, the d-axis current command value calculation unit 72 calculates a d-axis current command value Id having a larger absolute value as the absolute value of the rotational speed ω increases * . When the absolute value of the rotational speed ω exceeds the second set value, the d-axis current command value calculation unit 72 maintains the absolute value of the d-axis current command value Id * at an upper limit value.
[0023] The three-phase / two-phase coordinate conversion unit 64 acquires the rotation angle θ of the motor 21 detected through the rotation angle sensor 43, and the values of the currents Iu, Iv, and Iw of each phase of the motor 21 detected through the current sensors 54u, 54v, and 54w. Based on the rotation angle θ of the motor 21, the three-phase / two-phase coordinate conversion unit 64 converts the values of the currents Iu, Iv, and Iw of each of the three phases of the motor 21 into the q-axis current value Iq and the d-axis current value Id, which are the two-phase currents in the dq-axis coordinate system.
[0024] The feedback control unit 65 receives the q-axis current command value Iq calculated by the current command value calculation unit 63. * and d-axis current command value Id * The feedback control unit 65 also receives the q-axis current value Iq and d-axis current value Id calculated by the three-phase / two-phase coordinate transformation unit 64. The feedback control unit 65 receives the q-axis current command value Iq * The q-axis current deviation is the difference between the q-axis current value Iq and the d-axis current command value Id. * The d-axis current deviation is calculated as the difference between the q-axis current value Iq and the d-axis current value Id. The feedback control unit 65 sets the q-axis current value Iq to the q-axis current command value Iq. * The q-axis voltage command value Vq is set to follow this. * The feedback control unit 65 calculates the d-axis current value Id to the d-axis current command value Id. * The d-axis voltage command value Vd is set to follow the movement. * The feedback control unit 65 calculates the q-axis voltage command value Vq by multiplying the q-axis current deviation and the d-axis current deviation by a predetermined feedback gain, for example. * and d-axis voltage command value Vd * Perform the calculation.
[0025] The two-phase / three-phase coordinate transformation unit 66 calculates the q-axis voltage command value Vq calculated by the feedback control unit 65. * and d-axis voltage command value Vd * The two-phase / three-phase coordinate transformation unit 66 receives the q-axis voltage command value Vq according to the rotation angle θ of the motor 21 detected through the rotation angle sensor 43. * and d-axis voltage command value Vd * The three-phase voltage command value Vu *,Vv * VW * Convert to.
[0026] The control signal generation unit 67 generates a three-phase voltage command value Vu calculated by the two-phase / three-phase coordinate transformation unit 66. * ,Vv*,Vw * The control signal generation unit 67 takes in the voltage command value Vu. * ,Vv * VW * Motor control signals (PWM control signals) Du, Dv, and Dw with corresponding duty cycles are generated. Based on these motor control signals Du, Dv, and Dw, each switching element of the inverter 52 switches, supplying a current to the motor 21 corresponding to the target assist torque.
[0027] Furthermore, if the motor 21 rotates at high speed due to, for example, the steering wheel 11 being rotated more quickly, a negative d-axis current flows in the motor 21 as a field weakening control current, thereby suppressing the generation of back electromotive force (induced voltage) in the motor 21. Therefore, even when the steering wheel 11 is steered at high speed, the motor 21 rotates appropriately in response. Consequently, a good steering feel is obtained.
[0028] <Regarding Torque Ripple Compensation Control> The following concerns arise with the electric power steering system 10 configured in this way. Specifically, the motor 21 may generate torque ripple, which is a torque pulsation, and this torque ripple is a cause of vibration and noise. For example, if the motor 21 has 8 poles and 12 slots, the influence of the 6th harmonic component among the vibration components of the torque ripple is greater. The electric power steering system 10 is required to reduce vibration from the standpoint of ensuring steering feel. Furthermore, the electric power steering system 10 is required to reduce operating noise from the standpoint of ensuring quietness. For these reasons, the control device 40 performs compensation control to suppress the torque ripple of the motor 21.
[0029] An example of a configuration for compensating for torque ripple is as follows: As shown in Figure 2, the microcomputer 51 has a compensation calculation unit 81 and two adders 82 and 83.
[0030] The compensation calculation unit 81 calculates the q-axis current command value Iq calculated by the q-axis current command value calculation unit 71. * , the d-axis current command value Id calculated by the d-axis current command value calculation unit 72 * The compensation calculation unit 81 also takes in the rotational speed ω of the motor 21 calculated by the rotational speed calculation unit 61, and the rotational angle θ of the motor 21 detected through the rotational angle sensor 43.
[0031] The compensation calculation unit 81 calculates the q-axis current command value Iq * Based on the rotational speed ω of motor 21 and the rotational angle θ of motor 21, the q-axis current command value Iq is set as a compensation value to cancel out torque ripple. * The compensation calculation unit 81 calculates the correction voltage Vqh for the d-axis current command value Id * Based on the rotational speed ω of motor 21 and the rotational angle θ of motor 21, the d-axis current command value Id is set as a compensation value to cancel out torque ripple. * The correction voltage Vdh is calculated for this. The correction voltages Vqh and Vdh are sinusoids with the opposite phase to the dominant sixth harmonic component in the torque ripple oscillation components.
[0032] The correction voltage Vqh is expressed by the following equation (1). Vqh=Vq h6th ·sin(6θ+θ Vqf6th )...(1) However, "Vq h6th " is the amplitude of the correction voltage Vqh. Vqf6th " is the phase of the correction voltage Vqh. "θ" is the rotation angle of the motor 21 detected through the rotation angle sensor 43.
[0033] The correction voltage Vdh is expressed by the following equation (2). Vdh = Vd h6th ·sin(6θ+θ Vdf6th)...(2) However, "Vd h6th " is the amplitude of the correction voltage Vdh. Vdf6th " is the phase of the correction voltage Vdh. "θ" is the rotation angle of the motor 21 detected through the rotation angle sensor 43.
[0034] The compensation calculation unit 81 calculates the amplitude Vq by, for example, referring to the first lookup table. h6th and phase θ Vqf6th The value is obtained. The first lookup table defines the relationship between the input value and the reference value. The input value is the q-axis current command value Iq. * The absolute value of and the absolute value of the rotational speed ω of motor 21. The reference value is amplitude Vq h6th and phase θ Vqf6th The compensation calculation unit 81 calculates the q-axis current command value Iq. * And by referring to the first lookup table with the rotational speed ω of the motor 21 as the input value, the amplitude Vq corresponding to the absolute value of these input values is obtained. h6th and phase θ Vqf6th The amplitude Vq obtained from the first lookup table is obtained as a reference value. The compensation calculation unit 81 calculates the amplitude Vq obtained from the first lookup table. h6th and phase θ Vqf6th The corrected voltage Vqh is calculated by applying this to equation (1) above.
[0035] The compensation calculation unit 81 calculates the amplitude Vd by referring to the second lookup table. h6th and phase θ Vdf6th The value is obtained. The second lookup table defines the relationship between the input value and the reference value. The input value is the d-axis current command value Id * The absolute value of and the absolute value of the rotational speed ω of motor 21. The reference value is the amplitude Vd h6th and phase θ Vdf6th The compensation calculation unit 81 calculates the d-axis current command value Id * And by referring to a second lookup table with the rotational speed ω of motor 21 as an input value, the amplitude Vd corresponding to the absolute value of these input values is obtained. h6th and phase θ Vdf6thThe amplitude Vd obtained from the second lookup table is obtained as a reference value. The compensation calculation unit 81 obtains the amplitude Vd from the second lookup table. h6th and phase θ Vdf6th The corrected voltage Vdh is calculated by applying this to equation (2) above.
[0036] The adder 82 calculates the q-axis voltage command value Vq by the feedback control unit 65. * By adding the correction voltage Vqh calculated by the compensation calculation unit 81 to this, the final q-axis voltage command value Vqh used for controlling the motor 21 is obtained. * The following is calculated: This final q-axis voltage command value Vqh * This can be expressed by the following equation (3).
[0037] Vqh * =Vq * +Vqh=Vq * +Vq h6th ·sin(6θ+θ Vqf6th )...(3) The adder 83 calculates the d-axis voltage command value Vd by the feedback control unit 65. * By adding the correction voltage Vdh calculated by the compensation calculation unit 81 to this, the final d-axis voltage command value Vdh used for controlling the motor 21 is obtained. * The final d-axis voltage command value Vdh is calculated. * This can be expressed by the following equation (4).
[0038] Vdh * =Vd * +Vdh=Vd * +Vd h6th ·sin(6θ+θ Vdf6th )...(4) Thus, the q-axis voltage command value Vq for inverter 52 * A correction voltage Vqh is added to cancel out the torque ripple, and the d-axis voltage command value Vd is applied to the inverter 52. * By adding a correction voltage Vdh to cancel out the torque ripple, the torque ripple of the motor 21 can be suppressed.
[0039] Here, as torque ripple compensation control, for example, the q-axis current command value Iq * and the d-axis current command value Id * it is also conceivable to add correction currents for canceling torque ripple respectively. However, when adopting a method of superimposing a correction current on the current command value, it is necessary to set a shorter computation cycle because current feedback is performed to cause the actual current value to follow the current command value. This results in higher computation load. In this regard, when adopting a method of superimposing a correction voltage on the voltage command value, theoretically, the cycle of superimposing the correction voltage on the voltage command value is the computation cycle of the microcomputer 51. Therefore, the computation load is lower compared to the method of superimposing the correction current on the current command value. Accordingly, the microcomputer 51 can handle high-frequency order components and also handle high-speed rotation of the motor 21 without setting a shorter computation cycle.
[0040] Incidentally, in recent years, there are cases where further reduction of the computation load of the microcomputer 51 is required. In this case, the correction voltages Vqh and Vdh may be computed as follows.
[0041] First, each of the correction voltages Vqh and Vdh, which are sine waves, is divided into cosine wave components Component 1 and sine wave components Component 2 that have the same frequency as each other, and expressed In this embodiment, the first and second components are distinguished and referred to as the "real part" and the "imaginary part," respectively. as such. The correction voltage Vqh is expressed by the following equation (5).
[0042] Vqh=Re vq6th ·cos6θ+Im vq6th ·sin6θ…(5) where, "Re vq6th " is the amplitude of the cosine wave component of the correction voltage Vqh. "Im vq6th " is the amplitude of the sine wave component of the correction voltage Vqh. "θ" is the rotation angle of the motor 21 detected through the rotation angle sensor 43.
[0043] The correction voltage Vdh is expressed by the following equation (6). Vdh=Re vd6th ·cos6θ+Im vd6th ·sin6θ...(6) However, "Re vd6th " is the amplitude of the cosine wave component of the corrected voltage Vdh. "Im vd6th " is the amplitude of the sine wave component of the corrected voltage Vdh. "θ" is the rotation angle of the motor 21 detected through the rotation angle sensor 43.
[0044] The compensation calculation unit 81 uses a lookup table (LUT) 81A to obtain the amplitude Re of the cosine wave component of the corrected voltage Vqh vq6th and the amplitude Im of the sine wave component vq6th , as well as the amplitude Re of the cosine wave component of the corrected voltage Vdh vd6th and the amplitude Im of the sine wave component vd6th . The lookup table 81A defines the relationship between input values and reference values. The input values are the absolute value of the q-axis current command value Iq * , the absolute value of the d-axis current command value Id * and the absolute value of the rotation speed ω of the motor 21. The reference values are the amplitudes Re of the cosine wave components vq6th , Re vd6th and the amplitudes Im of the sine wave components vq6th , Im vd6th .
[0045] The lookup table 81A is set, for example, through simulation using a device model. That is, first, for each set of values of the q-axis current command value Iq * , the d-axis current command value Id * and the rotation speed ω of the motor 21, the values of the amplitudes Re of the cosine wave components vq6th , Re vd6th and the amplitudes Im of the sine wave components vq6th , Im vd6th are collected through simulation. Next, the lookup table 81A is set by storing the values collected through the simulation in an array.
[0046] As shown in FIG. 3, the lookup table 81A stores the q-axis current command value Iq * , the d-axis current command value Id *The rotational speed ω of the motor 21 is referenced as an input value. The lookup table 81A shows the amplitude Re of the cosine component of the correction voltage Vqh, which corresponds to the absolute value of these input values. vq6th and the amplitude of the sinusoidal component Im vq6th , as well as the amplitude Re of the cosine wave component of the correction voltage Vdh vd6th and the amplitude of the sinusoidal component Im vd6th Output it as a reference value.
[0047] The compensation calculation unit 81 calculates the amplitude Re of the cosine wave component obtained from the lookup table 81A. vq6th and the amplitude of the sinusoidal component Im vq6th The corrected voltage Vqh is calculated by applying the above equation (5). That is, the compensation calculation unit 81 calculates the cosine wave components which have the same frequency. Component 1 ( Actual Department ) Re vq6th ·cos6θ is a sinusoidal component. Second component ( Imaginary part ) "Im vq6th The correction voltage Vqh is synthesized by adding "sin6θ". The compensation calculation unit 81 also calculates the amplitude Re of the cosine wave component obtained from the lookup table 81A. vd6th and the amplitude of the sinusoidal component Im vd6th The corrected voltage Vdh is calculated by applying the above equation (6). That is, the compensation calculation unit 81 calculates the cosine wave components which have the same frequency. Component 1 ( Actual Department ) Re vd6th ·cos6θ is a sinusoidal component. Second component ( Imaginary part ) "Im vd6th The correction voltage Vdh is synthesized by adding "sin6θ" together.
[0048] The adder 82 calculates the q-axis voltage command value Vq by the feedback control unit 65. * By adding the correction voltage Vqh calculated by the compensation calculation unit 81 to this, the final q-axis voltage command value Vqh used for controlling the motor 21 is obtained. * The following is calculated: This final q-axis voltage command value Vqh * This can be expressed by the following equation (7).
[0049] Vqh * =Vq * +Vqh =Vq * +Re vq6th ·cos6θ+Im vq6th ·sin6θ…(7) The adder 83 calculates the d-axis voltage command value Vd by the feedback control unit 65. * By adding the correction voltage Vdh calculated by the compensation calculation unit 81 to this, the final d-axis voltage command value Vdh used for controlling the motor 21 is obtained. * The final d-axis voltage command value Vdh is calculated. * This can be expressed by the following equation (8).
[0050] Vdh * =Vd * +Vdh =Vd * +Re vd6th ·cos6θ+Im vd6th ·sin6θ…(8) The compensation calculation unit 81 calculates the amplitude Re of the cosine wave component of the corrected voltage Vqh by referring to the lookup table 81A. vq6th and the amplitude of the sinusoidal component Im vq6th , as well as the amplitude Re of the cosine wave component of the correction voltage Vdh vd6th and the amplitude of the sinusoidal component Im vd6th This allows us to obtain the above. Therefore, the computational load on the compensation calculation unit 81 can be reduced. In addition, the compensation calculation unit 81 only needs to refer to a single lookup table 81A. Therefore, the lookup table referencing load is reduced compared to when multiple lookup tables are referenced.
[0051] <About advance angle control> Generally, a phase lag occurs in the current of a motor coil. This is partly because, for example, the inductance component of the motor coil prevents current from flowing immediately when a voltage is applied. Furthermore, as the rotational speed ω of the motor 21 increases, the phase lag relatively increases. Therefore, in order to drive the motor 21 with higher efficiency, it is necessary to advance the phase of the applied voltage in anticipation of the phase lag of the motor coil current. Accordingly, the control device 40 may be configured as follows.
[0052] As shown by the dashed line in Figure 2, the microcomputer 51 has an advance angle control unit 84. The advance angle control unit 84 calculates an advance angle value as a compensation value to compensate for the phase lag of the motor coil current. The advance angle control unit 84 takes in the rotation angle θ of the motor 21 detected, for example, through the rotation angle sensor 43, and calculates the advance angle value based on the rotation speed ω of the motor 21 obtained by differentiating this acquired rotation angle θ with respect to time. The advance angle control unit 84 corrects the rotation angle θ of the motor 21 using the advance angle value. The advance angle control unit 84 calculates the final rotation angle θ used to control the motor 21 by adding the advance angle value to the rotation angle θ of the motor 21 detected, for example, through the rotation angle sensor 43.
[0053] The three-phase / two-phase coordinate conversion unit 64 performs the three-phase / two-phase coordinate conversion using the corrected rotation angle θ calculated by the advance angle control unit 84. Similarly, the two-phase / three-phase coordinate conversion unit 66 performs the two-phase / three-phase coordinate conversion using the corrected rotation angle θ calculated by the advance angle control unit 84. As a result, the phase of the voltage applied to the motor 21, i.e., the three-phase voltage command value Vu, is determined according to the advance angle value calculated by the advance angle control unit 84. * ,Vv * VW * The phase of the induced voltage in the motor coil, and consequently the phase of the motor coil current, leads. The phase of the induced voltage in the motor coil and the phase of the motor coil current match, compensating for the rotational lag of the motor 21. The response performance of the motor 21 is also improved.
[0054] The compensation calculation unit 81 uses the corrected rotation angle θ calculated by the advance angle control unit 84 to calculate the q-axis current command value Iq* Correction voltage Vqh and d-axis current command value Id * The correction voltage Vdh is calculated for this. In this embodiment, the processing related to torque ripple compensation control performed by the compensation calculation unit 81 is an example of compensation calculation processing.
[0055] <Effects of the Embodiment> Therefore, according to this embodiment, the following effects can be obtained. (1) The correction voltage Vqh, which is a sine wave, has cosine wave components of the same frequency. Component 1 ( Actual Department ) Re vq6th ·cos6θ is a sinusoidal component. Second component ( Imaginary part ) "Im vq6th By decomposing it into "sin6θ", the calculation of the correction voltage Vqh can be simplified. For example, the amplitude of the cosine wave component "Re vq6th " and the amplitude of the sine wave component "Im vq6th If this is known, it is possible to determine the correction voltage Vqh, which is a sine wave in opposite phase to the torque ripple, using the rotation angle θ of the motor 21 detected through the rotation angle sensor 43. Furthermore, there is no need to calculate the phase of the correction voltage Vqh. The correction voltage Vdh is also a cosine wave component with the same frequency as the correction voltage Vqh. Component 1 ( Actual Department ) Re vd6th ·cos6θ is a sinusoidal component. Second component ( Imaginary part ) "Im vd6th By decomposing it into "sin6θ", the calculation of the correction voltage Vdh can be simplified. Therefore, the computational load can be reduced. The correction voltage Vqh calculated in this way is the q-axis voltage command value Vq * On the other hand, the correction voltage Vdh is added to the d-axis voltage command value Vd * By adding this, the torque ripple of the motor 21 can be suppressed.
[0056] (2) As compensation control for torque ripple, the q-axis voltage command value Vq * and d-axis voltage command value Vd* When correction voltages Vqh and Vdh are added to the voltage command value, theoretically, the period during which the correction voltage is superimposed on the voltage command value becomes the calculation period of the microcomputer 51. Therefore, the q-axis current command value Iq * and d-axis current command value Id * Compared to adding a correction current, this reduces the computational load. Therefore, the microcomputer 51 can handle high-frequency order components and high-speed rotation of the motor 21 without setting the calculation cycle to a shorter time.
[0057] (3) The compensation calculation unit 81 calculates the parameters (Re) required for the calculation of the corrected voltage Vqh by referring to a single lookup table 81A. vq6th Im vq6th Re vd6th Im vd6th This allows us to obtain the result immediately. Therefore, the computational load on the compensation calculation unit 81 can be reduced.
[0058] (4) The compensation calculation unit 81 only needs to refer to a single lookup table 81A. Therefore, the lookup table referencing load is reduced compared to when multiple lookup tables are referenced.
[0059] (5) When advance angle control is performed to compensate for the rotational lag of the motor 21, the compensation calculation unit 81 calculates the correction voltages Vqh and Vdh using the corrected rotation angle θ calculated by the advance angle control unit 84 and the rotational speed ω calculated based on the corrected rotation angle θ. The compensation calculation unit 81 can calculate more appropriate correction voltages Vqh and Vdh by using the corrected rotation angle θ, which is the final rotation angle used to control the motor 21. The compensation calculation unit 81 also obtains the corrected rotation angle θ and the rotational speed ω based on the corrected rotation angle θ. This reduces the computational load on the compensation calculation unit 81.
[0060] (6) By suppressing the torque ripple of the motor 21, the generation of vibration or noise is suppressed. The control device 40 is suitable for an electric power steering system 10 in which quiet operation is required.
[0061] <Other Embodiments> This embodiment may be implemented with the following modifications. Depending on the product specifications, etc., the q-axis voltage command value Vq may be used as compensation control for torque ripple. * The correction voltage Vqh may be added only to the d-axis voltage command value Vd. * It is also possible to omit the addition of the correction voltage Vdh. This is based on the fact that the q-axis current value Iq has a greater influence on torque generation in the three-phase motor 21 than the d-axis current value Id.
[0062] In torque ripple compensation control, it is also possible to reduce, for example, third or second harmonic components, in the same way as sixth harmonic components. The lookup table 81A may be configured to output reference values corresponding to positive and negative input values. In this case, the input value is the q-axis current command value Iq. * d-axis current command value Id * and the rotational speed ω of the motor 21. The reference value is the amplitude Re of the cosine wave component. vq6th Re vd6th and the amplitude of the sinusoidal component Im vq6th Im vd6th Therefore, according to the other embodiments described herein, effects similar to those of embodiments (3) and (4) above can be obtained.
[0063] The lookup table 81A may contain multiple tables. For example, multiple tables may contain the q-axis current command value Iq. * d-axis current command value Id * And a table to refer to when all of the rotational speeds ω of motor 21 are positive values, and the q-axis current command value Iq * d-axis current command value Id *And it should include a table to refer to when all of the rotational speeds ω of motor 21 are negative values. For example, the number of tables is the q-axis current command value Iq * d-axis current command value Id * The number should be one that corresponds to the combination of positive and negative values of the rotational speed ω of the motor 21.
[0064] The number of poles and slots of motor 21 can be changed as appropriate according to the product specifications. For example, motor 21 may have 10 poles and 12 slots. In this case, it is also possible to reduce, for example, the 2nd harmonic component, in the same way as the 6th harmonic component.
[0065] Motor 21 may be an IPM (Inter Permanent Magnet) motor. An IPM motor is an embedded magnet type motor. Permanent magnets that serve as field sources are embedded in the rotor of an IPM motor.
[0066] The control device 40 may be provided integrally with the motor 21. The control device 40 may be provided, for example, at the axial end of the motor 21. The control device 40 may be applied to an electric power steering system that provides assist force to the steering shaft 13. In this case, as shown by the dashed line in Figure 1, the motor 21 is connected to the steering shaft 13 via a transmission mechanism such as a worm gear reducer.
[0067] The control device 40 can also be applied as a control device for a steer-by-wire system having a structure in which the power transmission path between the steering wheel 11 and the steering wheels 12,12 is mechanically interrupted or can be interrupted. Such steer-by-wire systems include, for example, systems that are deployed in autonomous driving systems. The control device 40 is suitable as a control device for a reaction force motor that generates the steering reaction force applied to the steering wheel 11, or for a steering motor that generates the steering force which is the power to steer the steering wheels 12,12.
Claims
1. A motor control device that calculates a voltage command value for an inverter that controls the current supplied to a three-phase motor by performing feedback control to make the current value of the motor follow a current command value for the motor, The compensation calculation unit is configured to calculate a correction voltage added to the voltage command value in order to compensate for the torque ripple of the motor, using the rotation angle of the motor detected through a sensor. The correction voltage is obtained by adding together a first component, which is a cosine wave component, and a second component, which is a sine wave component, both having the same frequency and being out of phase with the torque ripple. The motor control device is configured such that the compensation calculation unit calculates the amplitude of the cosine wave component and the amplitude of the sine wave component based on the current command value and the rotational speed of the motor.
2. The compensation calculation unit is configured to calculate the amplitude of the cosine wave component and the amplitude of the sine wave component by referring to a single lookup table. The aforementioned lookup table defines the relationship between the input value and the reference value, The input values are the current command value and the rotational speed of the motor. The motor control device according to claim 1, wherein the reference values are the amplitude of the cosine wave component and the amplitude of the sine wave component.
3. The current command value includes the d-axis current command value and the q-axis current command value of the dq-axis coordinate system. The voltage command value includes a d-axis voltage command value and a q-axis voltage command value calculated through the execution of feedback control that causes the d-axis current value and the q-axis current value to follow the d-axis current command value and the q-axis current command value. The d-axis current value and the q-axis current value are values obtained by transforming the three-phase current values of the motor into two phases of the dq-axis coordinate system. The motor control device according to claim 1 or 2, wherein the compensation calculation unit is configured to calculate the q-axis voltage command value and the correction voltage for the d-axis voltage command value based on the d-axis current command value, the q-axis current command value, and the rotational speed of the motor.
4. The system includes an advance angle control unit configured to correct the rotation angle of the motor detected through the sensor based on the rotation speed of the motor in order to compensate for the phase lag of the motor coil current, The motor control device according to any one of claims 1 to 3, wherein the compensation calculation unit is configured to calculate the correction voltage using the rotation angle of the motor after correction by the advance angle control unit.
5. The motor control device according to any one of claims 1 to 4, wherein the motor is configured to generate a driving force applied to the steering wheel of a vehicle.
6. Through the execution of feedback control that causes the current value of the three-phase motor to follow the current command value for the motor, a voltage command value for the inverter that controls the current supplied to the motor is calculated. This includes performing a compensation calculation process that calculates a correction voltage to be added to the voltage command value in order to compensate for the torque ripple of the motor, using the rotation angle of the motor detected through a sensor, The correction voltage is obtained by adding together a first component, which is a cosine wave component, and a second component, which is a sine wave component, both having the same frequency and being out of phase with the torque ripple. The compensation calculation process includes a motor control method that calculates the amplitude of the cosine wave component and the amplitude of the sine wave component based on the current command value and the rotational speed of the motor.
Citation Information
Patent Citations
Control unit for motor
JP2005102434A
Electric power steering control device
JP2009292413A
Motor control system, and power steering system
WO2019163552A1