Motor control device

The motor control device addresses torque ripple suppression by calculating and adjusting torque ripple compensation values within current limits, ensuring effective torque control and average torque maintenance.

JP7875066B2Active Publication Date: 2026-06-17ASTEMO LTD

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
ASTEMO LTD
Filing Date
2022-07-29
Publication Date
2026-06-17

AI Technical Summary

Technical Problem

Existing motor control methods fail to effectively suppress torque ripple when the torque command value approaches the output current limit, leading to unintended torque ripple generation and a decrease in average torque.

Method used

A motor control device that calculates a torque ripple compensation value based on the motor's electrical angular velocity and torque command, adjusts the amplitude of each frequency component within an upper limit, and corrects the torque command to minimize torque ripple while adhering to current constraints.

Benefits of technology

Effectively suppresses torque ripple even when the torque command value is close to the output current limit, preventing unintended ripple generation and maintaining average torque.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007875066000009
    Figure 0007875066000009
  • Figure 0007875066000010
    Figure 0007875066000010
  • Figure 0007875066000011
    Figure 0007875066000011
Patent Text Reader

Abstract

To provide a motor control unit capable of effectively suppressing torque ripple even when a torque command value close to the upper limit of an output current is given.SOLUTION: A motor control unit 1 includes: a torque ripple compensation value calculation unit 12 that calculates a torque ripple compensation value 25 for compensating a torque ripple generated on a motor 4 based on an electrical angular velocity 24 and a torque command value 21 of the motor 4; a ripple amplitude upper limit calculation unit 14 that calculates a ripple amplitude upper limit 27 as the upper limit for the amplitude of the torque ripple compensation value 25 based on the torque command value 21 and the torque upper limit 26 set for the motor 4; and an amplitude adjustment unit 15 that adjusts the amplitude of each frequency component in the torque ripple compensation value 25 based on the ripple amplitude upper limit 27 and calculates a torque ripple compensation value 28 after amplitude adjustment.SELECTED DRAWING: Figure 1
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to an apparatus for controlling a motor.

Background Art

[0002] In a conventional motor control apparatus, a motor current is controlled so that the torque generated by the motor follows a torque command. At this time, torque ripple, which is torque vibration corresponding to the magnetic pole position of the motor, may occur and induce vibration and noise. Therefore, a motor control method for reducing torque ripple has been devised.

[0003] As a control method for suppressing torque ripple of a motor and reducing vibration, for example, Patent Document 1 is known. The motor control apparatus described in Patent Document 1 creates a table regarding the amplitude and phase of torque ripple corresponding to the torque generated by the motor, and refers to this table to calculate a torque ripple compensation value corresponding to the torque command value so that the amplitude and phase of the torque ripple are suppressed, and superimposes it on the torque command value to perform current control of the motor. Thereby, the torque ripple of the motor is suppressed and vibration is reduced.

[0004] On the other hand, for the protection of the motor and the inverter, generally, an upper limit value is set for the output current of the inverter. When a torque command value corresponding to an output current close to this upper limit value is given, the adjusted torque command value with the torque ripple compensation value superimposed is limited to a value such that the output current is below the upper limit value. As a result, unintended torque ripple generation or a decrease in average torque may occur.

[0005] As a method to prevent the decrease in average torque that occurs when the adjusted torque command value, which has a torque ripple compensation value superimposed on it, is limited, for example, Patent Document 2 is known. The control device for a rotating electric machine described in Patent Document 2, when the maximum vibration value obtained by adding the amplitude of the vibration torque command value to the basic torque command value becomes larger than the upper limit command value, reduces the amplitude of the vibration torque command value so that the maximum vibration value is less than or equal to the upper limit command value and calculates the final torque command value. This prevents the average value of the final torque command value from being lower than the basic torque command value. [Prior art documents] [Patent Documents]

[0006] [Patent Document 1] Patent No. 5784787 [Patent Document 2] Patent No. 6400231 [Overview of the project] [Problems that the invention aims to solve]

[0007] Patent documents 1 and 2 do not mention the suppression of unintended torque ripple caused by limiting the output current.

[0008] In view of the above problems, the main objective of the present invention is to effectively suppress torque ripple even when a torque command value close to the upper limit of the output current is provided. [Means for solving the problem]

[0009] The motor control device according to the present invention controls a motor based on a torque command value from a higher-level controller and comprises: a torque ripple compensation value calculation unit that calculates a torque ripple compensation value to compensate for torque ripple occurring in the motor based on the electrical angular velocity of the motor and the torque command value; a ripple amplitude upper limit value calculation unit that calculates a ripple amplitude upper limit value, which is an upper limit value for the amplitude of the torque ripple compensation value, based on the torque command value and a torque upper limit value set for the motor; and an amplitude adjustment unit that adjusts the amplitude of each frequency component in the torque ripple compensation value based on the ripple amplitude upper limit value and calculates a torque ripple compensation value after amplitude adjustment. The final torque command value for controlling the motor is calculated based on the amplitude-adjusted torque ripple compensation value calculated by the amplitude adjustment unit and the torque command value. The torque ripple compensation value calculation unit calculates the phase and amplitude of the torque ripple compensation value for each order of the torque ripple, and the amplitude adjustment unit calculates the maximum amplitude of the torque ripple compensation value based on the phase and amplitude of the torque ripple compensation value calculated for each order, and determines the amplitude limit order to be subject to amplitude limiting within the order, and the amplitude of the torque ripple compensation value after limiting in the amplitude limit order, respectively, so that the maximum amplitude is less than or equal to the upper limit of the ripple amplitude, and calculates the torque ripple compensation value after amplitude adjustment based on the phase and amplitude of the torque ripple compensation value after limiting in the amplitude limit order, the phase and amplitude of the torque ripple compensation value in the orders excluding the amplitude limit order, and the magnetic pole position of the motor. . [Effects of the Invention]

[0010] According to the present invention, even when a torque command value close to the upper limit of the output current is provided, torque ripple can be effectively suppressed. [Brief explanation of the drawing]

[0011] [Figure 1] This is a schematic block diagram showing the configuration of a motor control device according to the first embodiment of the present invention. [Figure 2] This is a block diagram of the torque ripple compensation value calculation unit according to the first embodiment of the present invention. [Figure 3] This figure shows an example of a torque ripple estimation map. [Figure 4] This figure shows an example of a torque control response characteristic table. [Figure 5] This is a block diagram of the torque upper limit calculation unit and the ripple amplitude upper limit calculation unit. [Figure 6] This figure shows an example of a torque limit list. [Figure 7] This is a block diagram of the amplitude adjustment unit according to the first embodiment of the present invention. [Figure 8] This figure shows an example of an amplitude reduction ratio map. [Figure 9] It is a block diagram of a current control unit. [Figure 10] It is a flowchart showing an example of a method for adjusting a torque ripple compensation value in an amplitude adjustment unit according to a first embodiment of the present invention. [Figure 11] It is an explanatory diagram showing an outline of the operation of a motor control device according to a first embodiment of the present invention. [Figure 12] It is a comparison diagram of torque ripple compensation amounts between a conventional motor control device and a motor control device according to the present invention. [Figure 13] It is a schematic block diagram showing the configuration of a motor control device according to a third embodiment of the present invention. [Figure 14] It is a block diagram of an amplitude adjustment unit according to a third embodiment of the present invention. [Figure 15] It is a flowchart showing an example of a method for adjusting a torque ripple compensation value in an amplitude adjustment unit according to a third embodiment of the present invention. [Figure 16] It is a schematic block diagram showing the configuration of a motor control device according to a fifth embodiment of the present invention. [Figure 17] It is a block diagram of a torque ripple compensation value calculation unit according to a fifth embodiment of the present invention. [Figure 18] It is a flowchart showing an example of a method for adjusting a torque ripple compensation value in an amplitude adjustment unit according to a fifth embodiment of the present invention. [Figure 19] It is a flowchart showing an example of a method for adjusting a torque ripple compensation value in an amplitude adjustment unit according to a fifth embodiment of the present invention.

Embodiments for Carrying Out the Invention

[0012] (First Embodiment) Figure 1 is a schematic block diagram showing the configuration of a motor control device according to the first embodiment of the present invention. The motor control device 1 according to this embodiment controls the motor 4 by controlling the operation of the inverter 3 based on a torque command value 21 from a torque command value generator 2 which corresponds to a higher-level controller. The motor control device 1 includes a magnetic pole position calculation unit 10, an electrical angular velocity calculation unit 11, a torque ripple compensation value calculation unit 12, a torque upper limit calculation unit 13, a ripple amplitude upper limit calculation unit 14, an amplitude adjustment unit 15, a torque command value correction unit 16, and a current control unit 17. The motor control device 1 is configured by, for example, a microcomputer, and these functional blocks can be realized by executing a predetermined program in the microcomputer. Alternatively, some or all of these functional blocks may be realized using hardware circuits such as logic ICs or FPGAs.

[0013] The magnetic pole position calculation unit 10 acquires sensor information 22 regarding the magnetic pole position of the motor 4, calculates the magnetic pole position of the motor 4 based on this sensor information 22, and outputs the calculation result as the magnetic pole position 23 to the amplitude adjustment unit 15. The sensor information 22 can be, for example, signals output from position sensors such as resolvers or Hall sensors attached to the motor 4. Alternatively, without using position sensors, position sensorless control may be applied, in which the current and voltage of the motor 4 are acquired as sensor information 22, and the magnetic pole position of the motor 4 is calculated from these values. The magnetic pole position 23 may be either an electrical angle or a mechanical angle. If the magnetic pole position 23 is a mechanical angle, the amplitude adjustment unit 15 can convert the mechanical angle to an electrical angle based on the number of pole pairs of the motor 4.

[0014] The electrical angular velocity calculation unit 11 acquires sensor information 22 regarding the magnetic pole position of the motor 4, calculates the electrical angular velocity of the motor 4 based on this sensor information 22, and outputs the calculation result as the electrical angular velocity 24 to the torque ripple compensation value calculation unit 12. Alternatively, the electrical angular velocity of the motor 4 may be calculated and the electrical angular velocity 24 output based on the magnetic pole position 23 output from the magnetic pole position calculation unit 10, instead of the sensor information 22.

[0015] The torque ripple compensation value calculation unit 12 calculates a compensation value to compensate for the torque ripple generated in the motor 4 based on the torque command value 21 from the torque command value generator 2 and the electrical angular velocity 24 from the electrical angular velocity calculation unit 11. The calculation result is then output to the amplitude adjustment unit 15 as the torque ripple compensation value 25. The method by which the torque ripple compensation value calculation unit 12 calculates the torque ripple compensation value 25 will be described later.

[0016] The torque limit calculation unit 13 calculates the upper limit of the torque according to the state of the motor 4 and outputs the calculation result as the torque limit 26 to the ripple amplitude limit calculation unit 14. For example, the torque limit calculation unit 13 selects the one with the smallest absolute value from among several maximum torques that have been set in advance based on prior calculations or experimental results, according to the current state of the motor 4, and outputs that maximum torque value as the torque limit 26. Alternatively, it may output a predetermined constant torque limit 26.

[0017] The ripple amplitude upper limit calculation unit 14 calculates an upper limit for the amplitude of the torque ripple compensation value 25 output from the torque ripple compensation value calculation unit 12, based on the torque command value 21 from the torque command value generator 2 and the torque upper limit value 26 from the torque upper limit calculation unit 13. The calculation result is then output to the amplitude adjustment unit 15 as the ripple amplitude upper limit value 27.

[0018] The amplitude adjustment unit 15 adjusts the amplitude of each frequency component in the torque ripple compensation value 25 based on the ripple amplitude upper limit value 27 from the ripple amplitude upper limit value calculation unit 14. Then, based on the torque ripple compensation value 25 with the amplitude adjusted for each frequency component and the magnetic pole position 23 from the magnetic pole position calculation unit 10, it calculates the torque ripple compensation value 28 after amplitude adjustment and outputs it to the torque command value correction unit 16. The method for calculating the torque ripple compensation value 28 after amplitude adjustment by the amplitude adjustment unit 15 will be described later.

[0019] The torque command value correction unit 16 corrects the torque command value 21 by subtracting the torque ripple compensation value 28 after amplitude adjustment from the torque command value 21. Then, it outputs the corrected torque command value 21 to the current control unit 17 as the final torque command value 29 for controlling the motor 4.

[0020] The current control unit 17 generates a control signal for the inverter 3 based on the final torque command value 29 output from the torque command value correction unit 16. For example, the inverter 3 is equipped with IGBTs (Insulated Gate Bipolar Transistors) and MOSFETs (Metal-Oxide-Semiconductors). A gate signal for controlling the operation of switching elements such as a field effect transistor is generated as a control signal for inverter 3 and output to inverter 3.

[0021] The inverter 3 operates based on a control signal from the current control unit 17 and converts the DC power supplied from a DC power supply (not shown) into AC power which is then supplied to the motor 4.

[0022] Motor 4 is driven using AC power supplied from inverter 3 and generates torque corresponding to the final torque command value 29. For example, a permanent magnet synchronous rotating electric motor is used for motor 4. However, the structure of motor 4 is not limited to this, as long as it is a motor that has torque ripple. For example, the present invention is applicable even when a linear motor or induction motor is used as motor 4. Furthermore, motor 4 may have the function of a generator in addition to the function of an electric motor.

[0023] Next, the details of the torque ripple compensation value calculation unit 12 will be explained below with reference to Figures 2 to 4.

[0024] Figure 2 is a block diagram of the torque ripple compensation value calculation unit 12 according to the first embodiment of the present invention. The torque ripple compensation value calculation unit 12 includes a torque ripple estimation map 201, a torque control response characteristic table 202, and a phase amplitude compensation unit 203.

[0025] The torque ripple estimation map 201 holds torque ripple compensation coefficients corresponding to the torque. The torque ripple compensation value calculation unit 12, based on the torque command value 21 input from the torque command value generator 2, refers to the torque ripple estimation map 201 and estimates the amplitude and phase for each order n (where n is a natural number) of torque ripple generated in the motor 4. The estimated amplitude and phase results 211 of the torque ripple for each order are then input to the phase amplitude compensation unit 203.

[0026] In this embodiment, the torque ripple estimation map 201 is, for example, a compensation coefficient map recorded for each order n of the torque ripple. This compensation coefficient map records the torque value and the amplitude An and phase φn values ​​for each order n of the torque ripple, in correspondence with each other. Therefore, the torque ripple compensation value calculation unit 12 can estimate the amplitude An and phase φn values ​​of the torque ripple for each order, corresponding to the torque command value 21, by referring to the torque ripple estimation map 201.

[0027] Figure 3 shows an example of a torque ripple estimation map 201 for a given order. Figure 3(A) shows an example of a torque ripple estimation map 201 that represents the relationship between the torque value and the torque ripple amplitude An, and Figure 3(B) shows an example of a torque ripple estimation map 201 that represents the relationship between the torque value and the torque ripple phase φn.

[0028] As a general trend, as shown in Figure 3(A), the amplitude An of the torque ripple increases as the absolute value of the torque increases, but it is not necessarily monotonically increasing or decreasing. On the other hand, as shown in Figure 3(B), the trend of change in the phase φn of the torque ripple is not constant with respect to the change in torque value. Thus, the amplitude An and phase φn of the torque ripple change according to the torque value.

[0029] In this embodiment, the torque ripple compensation value calculation unit 12 stores the torque ripple characteristics obtained in advance from experiments or electromagnetic field analysis results as a torque ripple estimation map 201. When a torque command value 21 is input from the torque command value generator 2, the torque ripple estimation map 201 is referenced to obtain the amplitude An and phase φn of the torque ripple corresponding to the torque value represented by the torque command value 21. At this time, if the amplitude An or phase φn corresponding to the torque command value 21 is not recorded in the torque ripple estimation map 201, the amplitude An and phase φn corresponding to the torque command value 21 may be obtained by interpolation or extrapolation. As a result, the torque ripple corresponding to the torque command value 21 can be estimated using the torque ripple estimation map 201, in which the amplitude An and phase φn for each order n of the torque ripple are pre-associated and recorded, and the estimation result 211 can be obtained.

[0030] Furthermore, if the shape of the torque ripple generated by the motor 4 changes for the same torque value due to changes in conditions such as temperature, the torque ripple compensation value calculation unit 12 may store multiple torque ripple estimation maps 201 set for each condition and use different torque ripple estimation maps 201 depending on the conditions.

[0031] Furthermore, the torque ripple compensation value calculation unit 12 may store the torque ripple estimation map 201 using numerical values ​​such as complex numbers or coefficients of an approximation function, rather than in a graph format as shown in Figure 3. For example, the amplitude An and phase φn of the torque ripple can be expressed using complex coefficients as shown in equation (1) below. In this case, the phase amplitude compensation unit 203 can easily process the estimation result 211 obtained from the torque ripple estimation map 201 as a single coefficient multiplication. Also, by using complex coefficients, it becomes possible to easily optimize the value of the phase φn in interpolation and extrapolation operations. On the other hand, if the torque ripple estimation map 201 is stored as coefficients of an approximation function, the amount of data can be compressed. Also, interpolation and extrapolation operations can be performed continuously by calculating the function.

number

[0032] The torque control response characteristic table 202 stores the values ​​of the amplitude compensation amount Gn and phase compensation amount θn necessary to cancel the phase delay and amplitude change caused by the torque control system, for each electrical angular frequency. The torque ripple compensation value calculation unit 12 calculates the electrical angular frequency for each order by multiplying the electrical angular velocity 24 input from the electrical angular velocity calculation unit 11 by the order n of the torque ripple and calculating its reciprocal. Then, based on the calculated electrical angular frequencies, it refers to the torque control response characteristic table 202 to determine the amplitude compensation amount Gn and phase compensation amount θn for each order n of the torque ripple generated in the motor 4, and inputs these calculation results as amplitude and phase compensation amounts 212 to the phase amplitude compensation unit 203.

[0033] Figure 4 shows an example of the torque control response characteristic table 202. Figure 4(A) shows an example of the frequency characteristics of the amplitude compensation amount Gn and the phase compensation amount θn, and Figure 4(B) shows an example of the time-domain shift of amplitude and phase corresponding to the amplitude compensation amount Gn and the phase compensation amount θn. In Figure 4(A), the Gain value shown on the vertical axis of the upper figure represents the ratio of the amplitude of the output torque to the amplitude of the torque command value 21 (amplitude shift). The Phase value shown on the vertical axis of the lower figure represents the phase lag (phase shift) of the output torque relative to the torque command value 21. In Figure 4(B), the amplitude and phase shift of the output torque relative to the torque command value 21 are shown in the time domain, respectively.

[0034] From Figures 4(A) and 4(B), it can be seen that the output torque of motor 4 deviates from the torque command value 21. To cancel this, for example, based on the estimated amplitude An and phase φn results 211 obtained for each order n of the torque ripple from the torque ripple estimation map 201, the amplitude An is multiplied by the reciprocal of the Gain value corresponding to the electrical angular frequency corresponding to each order n, and the phase φn is subtracted from the Phase value corresponding to the electrical angular frequency corresponding to each order n. In this case, the amplitude compensation amount Gn corresponds to the reciprocal of the Gain value obtained from the upper figure of Figure 4(A), and the phase compensation amount θn corresponds to the Phase value obtained from the lower figure of Figure 4(A).

[0035] In this embodiment, the torque ripple compensation value calculation unit 12 stores the frequency characteristics of the amplitude and phase shift of the output torque with respect to the torque command value 21, which have been obtained in advance from experimental results or electromagnetic field analysis, as a torque control response characteristic table 202. When the electrical angular velocity 24 is input from the electrical angular velocity calculation unit 11, the electrical angular frequency for each order n is determined based on the electrical angular velocity 24, and the amplitude compensation amount Gn and phase compensation amount θn corresponding to the electrical angular frequency for each order n are obtained by referring to the torque control response characteristic table 202. As a result, the amplitude and phase compensation amounts 212 corresponding to the electrical angular velocity 24 can be calculated for each order n of the torque ripple using the torque control response characteristic table 202 which represents the frequency characteristics of the amplitude compensation amount Gn and phase compensation amount θn.

[0036] Furthermore, if the torque control response characteristics change in response to changes in control conditions such as carrier frequency and control gain, the torque ripple compensation value calculation unit 12 may maintain multiple torque control response characteristic tables 202 set for each control condition, and use different torque control response characteristic tables 202 depending on the control conditions.

[0037] Furthermore, in the torque control response characteristic table 202, the frequency characteristics of the phase compensation amount θn may be set such that, in the region where the electrical angular frequency is above a certain value, the value of the amplitude compensation amount Gn decreases as the electrical angular frequency increases, and the amplitude compensation amount Gn gradually becomes zero. In this way, the torque ripple compensation value calculation unit 12 can calculate the torque ripple compensation value 25 such that, when the electrical angular velocity 24 is above a predetermined reference value, the amplitude of the torque ripple compensation value 25 decreases as the electrical angular velocity 24 increases. As a result, when the motor 4 is rotating at high speed, the torque ripple suppression operation by the motor control device 1 can be smoothly stopped. This makes the effect of torque ripple relatively smaller, and when the motor 4 is rotating at high speed, where the time per electrical angular period is shorter, the computational resources of the motor control device 1 can be concentrated on the processing of the current control unit 17, thereby optimizing the overall processing load of the motor control device 1.

[0038] The phase and amplitude discrepancies in the torque control system, as represented by the torque control response characteristics table 202 above, include response characteristics due to time delays in the sampling-hold circuit that detects the current flowing through the motor 4, calculation delays in the torque command value 21, and delays in current control in the current control unit 17. Furthermore, the response characteristics for each of these factors may be stored together as a single torque control response characteristics table 202, or the torque control response characteristics table 202 may be divided and stored for each factor. When a separate torque control response characteristics table 202 is stored for each factor, the amplitude compensation amount Gn and phase compensation amount θn obtained in each table are combined depending on whether each factor is a series element or a parallel element in the control configuration.

[0039] The phase amplitude compensation unit 203 determines the amplitude compensation value An' and phase compensation value φn' for each order of torque ripple based on the amplitude and phase estimation results 211 of each order of torque ripple obtained from the torque ripple estimation map 201 and the amplitude and phase compensation amounts 212 obtained from the torque control response characteristic table 202. The unit then outputs the determined amplitude compensation value An' and phase compensation value φn' as the torque ripple compensation value 25 to the amplitude adjustment unit 15.

[0040] In the torque ripple compensation value calculation unit 12, the torque ripple compensation value 25 is calculated based on the torque command value 21 and the electrical angular velocity 24, as described above.

[0041] Next, the details of the torque upper limit calculation unit 13 and the ripple amplitude upper limit calculation unit 14 will be described below with reference to Figures 5 and 6.

[0042] Figure 5 is a block diagram of the torque upper limit calculation unit 13 and the ripple amplitude upper limit calculation unit 14. The torque upper limit calculation unit 13 includes a torque upper limit determination unit 302, and the ripple amplitude upper limit calculation unit 14 includes an absolute value calculation unit 311 and a subtractor 312.

[0043] The torque limit determination unit 302 receives torque limit lists 303 to 307 as input. Torque limit lists 303 to 307 are lists of maximum torques that have been set in advance based on prior calculations or experimental results, and each is set according to different conditions. For example, torque limit list 303 given by an arbitrary value, torque limit list 304 representing the upper limit of the map search for converting torque command value 21 to current command value, torque limit list 305 calculated based on the thermal constraints of inverter 3 and motor 4, torque limit list 306 calculated based on the current constraints of inverter 3 and motor 4, and torque limit list 307 set based on the NT characteristics between the rotational speed and output torque of motor 4 are input to the torque limit determination unit 302. Note that torque limit lists 303 and 304 may also be given as constants.

[0044] Figure 6 shows an example of a torque limit list. The torque limit list 305 due to thermal constraints is set so that, for example, as shown in Figure 6(A), the torque limit decreases as the temperature rises above a certain temperature. The temperature shown on the horizontal axis of Figure 6(A) represents the temperature monitored by a temperature sensor installed, for example, in the inverter 3 or motor 4. In general, the torque limit list 305 is used to increase the torque limit in low-temperature regions and to reduce the torque limit in high-temperature regions to prevent demagnetization of the magnets, etc.

[0045] The torque limit list 306, based on current constraints, is set so that, for currents below a certain level, the torque limit decreases as the current decreases, as shown in Figure 6(B). The current constraint shown on the horizontal axis of Figure 6(B) represents the current monitored by a current sensor installed between the inverter 3 and the motor 4, for example. The torque limit list 306 is used to determine the torque limit given in response to the current constraints of the circuits in the inverter 3 and the motor 4. This current constraint is provided to suppress the current resistance and temperature rise of the wires and changes according to the operating conditions of the motor 4.

[0046] The torque upper limit list 307 based on the NT characteristics of motor 4 is set such that, for example as shown in Figure 6(C), the torque upper limit decreases as the motor speed increases above a certain level. The torque upper limit list 307 is used to limit the output torque of motor 4 due to voltage constraints at motor speeds above a certain level.

[0047] Note that the torque limit lists 305 to 307 shown in Figure 6 are just examples, and other torque limit lists may be set. The torque limit calculation unit 13 can input any torque limit lists 303 to 307, including the aforementioned torque limit lists 303 and 304, into the torque limit determination unit 302. Furthermore, the torque limit values ​​input into the torque limit determination unit 302 are not limited to the torque limit lists 303 to 307, and may be added or deleted as desired.

[0048] The torque limit determination unit 302 determines the torque limit value for each of the input torque limit lists 303 to 307 according to the operating conditions of the motor 4, and outputs the one with the smallest absolute value among these torque limit values ​​as the final torque limit value 26 to the ripple amplitude limit value calculation unit 14.

[0049] The absolute value calculation unit 311 calculates the absolute value of the torque command value 21 input from the torque command value generator 2 and outputs it to the subtractor 312. The subtractor 312 calculates the difference between the torque upper limit value 26 output from the torque upper limit determination unit 302 and the absolute value of the torque command value 21 output from the subtractor 312, and outputs the calculation result as the ripple amplitude upper limit value 27 to the amplitude adjustment unit 15.

[0050] As described above, the ripple amplitude upper limit calculation unit 14 can calculate the ripple amplitude upper limit value 27, which is the upper limit value for the amplitude of the torque ripple compensation value 25, based on the torque command value 21 and the torque upper limit value preset in the torque upper limit calculation unit 13.

[0051] Next, the details of the amplitude adjustment unit 15 will be described below with reference to Figures 7 and 8.

[0052] Figure 7 is a block diagram of the amplitude adjustment unit 15 according to the first embodiment of the present invention. The amplitude adjustment unit 15 includes an amplitude optimization unit 101 and a compensation value calculation unit 102.

[0053] The amplitude optimization unit 101 adjusts the amplitude of each order n of the torque ripple compensation value 25 output from the torque ripple compensation value calculation unit 12, that is, the amplitude of each frequency component in the torque ripple compensation value 25, based on the ripple amplitude upper limit value 27 output from the ripple amplitude upper limit value calculation unit 14. For example, the amplitude optimization unit 101 adjusts the amplitude compensation value An' for each order n of the aforementioned amplitude compensation value An' and phase compensation value φn' obtained in the phase amplitude compensation unit 203 of the torque ripple compensation value calculation unit 12, so that the amplitude compensation value An' falls within the ripple amplitude upper limit value 27, and obtains the adjusted amplitude compensation value Ana. Specifically, for example, the amplitude optimization unit 101 calculates the maximum amplitude of the torque ripple compensation value 25 by superimposing the amplitude compensation value An' and phase compensation value φn' calculated for each order n in the phase amplitude compensation unit 203. Then, the calculated maximum amplitude is compared with the ripple amplitude upper limit 27, and the order to be subjected to amplitude limiting (amplitude limiting order) is determined in a predetermined order until the maximum amplitude becomes less than or equal to the ripple amplitude upper limit 27, and the amplitude compensation value An' of that amplitude limiting order is adjusted to be smaller. As a result, when the maximum amplitude becomes less than or equal to the ripple amplitude upper limit 27, the adjusted amplitude compensation value Ana and phase compensation value φna for each order n at that time are output to the compensation value calculation unit 102 as adjusted phase amplitude information 111. Details of the adjustment method of the amplitude compensation value An' in the amplitude optimization unit 101 will be described later with reference to the flowchart shown in Figure 10.

[0054] Furthermore, the amplitude optimization unit 101 can arbitrarily change the objective function and constraints used when adjusting the amplitude of the torque ripple compensation value 25 for each order n, in accordance with the purpose of suppressing torque ripple. The optimization method for adjusting the amplitude of the torque ripple compensation value 25 is not limited to the above, and any method can be adopted. Alternatively, the amplitude compensation value Ana for each order n after adjustment may be calculated in advance for each combination of the torque ripple compensation value 25 and the ripple amplitude upper limit value 27, and this calculated value may be stored in the amplitude optimization unit 101, which can then refer to it to output the adjusted phase amplitude information 111. In this way, the computational load on the amplitude adjustment unit 15 can be reduced.

[0055] Figure 8 shows an example of an amplitude reduction ratio map used when adjusting the amplitude compensation value An' in the amplitude optimization unit 101. In Figure 8, the horizontal axis represents the torque command value 21, and the vertical axis represents the reduction ratio of the amplitude compensation value An' before and after adjustment. The amplitude optimization unit 101 maintains an amplitude reduction ratio map, such as the one shown in Figure 8, for each order n and condition, and can determine the adjusted amplitude compensation value Ana from the amplitude compensation value An' based on this map.

[0056] The compensation value calculation unit 102 calculates the amplitude-adjusted torque ripple compensation value 28 based on the adjusted phase amplitude information 111 output from the amplitude optimization unit 101 and the magnetic pole position 23. For example, based on the adjusted amplitude compensation value Ana and phase compensation value φna for each order n (each amplitude limiting order and each other order), the compensation values ​​for amplitude and phase corresponding to the magnetic pole position 23 are determined for each order n. This allows the compensation value calculation unit 102 to calculate the amplitude-adjusted torque ripple compensation value 28. The compensation value calculation unit 102 then outputs the amplitude-adjusted torque ripple compensation value 28 obtained in this way to the torque command value correction unit 16.

[0057] Next, the details of the current control unit 17 will be described below with reference to Figure 9.

[0058] Figure 9 is a block diagram of the current control unit 17. The current control unit 17 includes a limit processing unit 41 and a control circuit 42.

[0059] The limit processing unit 41 compares the final torque command value 29 output from the torque command value correction unit 16 based on the torque command value 21 and the torque ripple compensation value 28 after amplitude adjustment with a predetermined limit value. If the final torque command value 29 exceeds the limit value, the final torque command value 29 is limited by replacing it with the limit value, and the final torque command value 43 after limit processing is output to the control circuit 42. If the final torque command value 29 is less than or equal to the limit value, the final torque command value 29 can be output as is as the final torque command value 43 after limit processing.

[0060] The control circuit 42 generates a control signal for the inverter 3 by performing a predetermined current control calculation based on the final torque command value 43 after limit processing output from the limit processing unit 41.

[0061] Furthermore, the configuration of the current control unit 17 is not limited to that shown in Figure 9, as long as a control signal for the inverter 3 can be generated based on the final torque command value 29. For example, the current control unit 17 may be configured using only the control circuit 42 without providing the limit processing unit 41.

[0062] Next, the detailed operation of the motor control device 1 in this embodiment and its effects will be described below.

[0063] The motor control device 1, in its torque ripple compensation value calculation unit 12, estimates the amplitude An and phase φn for each order n of the torque ripple by referring to the torque ripple estimation map 201 based on the torque command value 21. Furthermore, based on the electrical angular velocity 24 of the motor 4, it determines the amplitude compensation amount Gn and the phase compensation amount θn for each order n of the torque ripple by referring to the torque control response characteristic table 202. Based on these values, the amplitude compensation value An' and phase compensation value φn' for each order n of the torque ripple are then determined using the following equation (2).

number

[0064] The torque upper limit calculation unit 13 calculates the torque upper limit value Tmax corresponding to the operating conditions of the motor 4. The ripple amplitude upper limit calculation unit 14 calculates the ripple amplitude upper limit value Tlim from the torque upper limit value Tmax and the torque command value Tc using the following equation (3). Note that the torque command value Tc corresponds to the torque command value 21 mentioned above, the torque upper limit value Tmax corresponds to the torque upper limit value 26 mentioned above, and the ripple amplitude upper limit value Tlim corresponds to the ripple amplitude upper limit value 27 mentioned above.

number

[0065] The amplitude adjustment unit 15 calculates the torque ripple compensation value Tr after amplitude adjustment based on the amplitude compensation value An' and phase compensation value φn' calculated by the torque ripple compensation value calculation unit 12, and the ripple amplitude upper limit value Tlim calculated by the ripple amplitude upper limit value calculation unit 14. Here, based on the ripple amplitude upper limit value Tlim represented by the ripple amplitude upper limit value 27, the adjusted amplitude compensation value Ana and phase compensation value φna are determined for the amplitude compensation value An' and phase compensation value φn' represented by the torque ripple compensation value 25, and the torque ripple compensation value Tr after amplitude adjustment is calculated from these values. The specific calculation method of the torque ripple compensation value Tr after amplitude adjustment by the amplitude adjustment unit 15 will be described later.

[0066] The torque command value correction unit 16 calculates the final torque command value Tcr by subtracting the amplitude-adjusted torque ripple compensation value Tr calculated by the amplitude adjustment unit 15 from the torque command value Tc.

[0067] The current control unit 17 generates a control signal for the inverter 3 using the final torque command value Tcr calculated by the torque command value correction unit 16. The generated control signal is then output to the inverter 3 to control the operation of the inverter 3 and drive the motor 4.

[0068] Figure 10 is a flowchart showing an example of a method for adjusting the torque ripple compensation value 25 in the amplitude adjustment unit 15 according to the first embodiment of the present invention. The flowchart in Figure 10 shows the processing flow when the amplitude optimization unit 101 of the amplitude adjustment unit 15 adjusts the torque ripple compensation value 25 using a two-stage amplitude adjustment algorithm utilizing binary search.

[0069] First, in step S111, the torque ripple function Tr(θ) is defined by the following equation (4) based on the amplitude compensation value An' and phase compensation value φn' represented by the torque ripple compensation value 25 output from the phase amplitude compensation unit 203 of the torque ripple compensation value calculation unit 12.

number

[0070] Next, in step S112, the evaluation formula G, defined by equation (5) below using the torque ripple function Tr(θ), is used to evaluate whether the maximum or minimum value of the torque ripple compensation value 25 exceeds the ripple amplitude upper limit value Tlim. In equation (5), nm represents the smallest order among the various orders n, and θnow represents the current magnetic pole position.

number

[0071] If the evaluation result in step S112 is true (S112:Y), that is, if evaluation formula G is satisfied, it is determined that there is no need to adjust the amplitude compensation value An', and the process proceeds to step S127. In step S127, the amplitude compensation value An' is set to the adjusted amplitude compensation value Ana for all orders n of the torque ripple, and the process shown in the flowchart of Figure 10 is completed.

[0072] On the other hand, if the evaluation result of step S112 is false (S112:N), that is, if evaluation formula G does not hold, it is determined that the amplitude compensation value An' needs to be adjusted according to a predetermined order, and the process proceeds to step S113. In this embodiment, in order to preferentially suppress lower-order torque ripple components, the amplitude limiting order is determined in order from higher-order to lower-order, with the lowest order being the last. Generally, since the torque ripple of a motor is larger for lower-order components, a greater torque ripple suppression effect can be obtained by preferentially suppressing the lower-order torque ripple.

[0073] In step S113, nmax is substituted for the variable k. nmax represents the highest order of the torque ripple n that is handled by the motor control device 1. In the following step S114, Ak'cos(kθ+φk'), which corresponds to the torque ripple component corresponding to the current value of variable k, is subtracted from the torque ripple function Tr(θ), and a new torque ripple function Tr(θ) is defined when the amplitude is reduced using the order of the torque ripple component as the amplitude limiting order. In the above torque ripple component, Ak' and φk' represent the amplitude compensation value and phase compensation value of the component corresponding to the current value of variable k, respectively.

[0074] In step S115, using the torque ripple function Tr(θ) newly defined in step S114, the evaluation formula G defined in equation (5) above evaluates whether the maximum or minimum value of the torque ripple compensation value 25 exceeds the ripple amplitude upper limit value Tlim when the amplitude of the order corresponding to the current value of the variable k is reduced as the amplitude limit order. If the evaluation result in step S115 is true (S115:Y), that is, if evaluation formula G is true, the process proceeds to step S120. On the other hand, if the evaluation result in step S115 is false (S115:N), that is, if evaluation formula G is not true, the process proceeds to step S116.

[0075] In step S116, it is determined whether the current value of the variable k is the smallest order nmin handled by the motor control device 1. If k=nmin (S116:Y), the process proceeds to step S128. In step S128, the adjusted amplitude compensation value Aka for the order corresponding to the current value of the variable k (k=nmin) is set to the ripple amplitude upper limit Tlim, and all adjusted amplitude compensation values ​​Ana (n≠k) for other orders are set to 0, thus ending the process shown in the flowchart of Figure 10.

[0076] On the other hand, if k ≠ nmin (S116: N), the process proceeds to step S117. In step S117, the adjusted amplitude compensation value Aka, corresponding to the current value of the variable k, is set to 0. In the following step S118, the new value of the variable k is set to nnext(k), which is the next lowest order after the order represented by the current value of the variable k. After the completion of step S118, the process returns to step S114, and the same operation is repeated thereafter.

[0077] In step S120, the new amplitude compensation value Ak' is set to half the value of the amplitude compensation value Ak' corresponding to the current value of the variable k. At this time, the variable L is initialized to 0. In the following step S121, Ak'cos(kθ+φk'), which corresponds to the torque ripple component corresponding to the current value of the variable k, is added to the torque ripple function Tr(θ), and a new torque ripple function Tr(θ) including this torque ripple component is defined.

[0078] In step S122, the amplitude compensation value Ak' set in step S120 is added to the variable L. In the following step S123, using the torque ripple function Tr(θ) newly defined in step S121, the evaluation formula G defined in equation (5) above is used to evaluate whether the maximum or minimum value of the torque ripple compensation value 25 exceeds the ripple amplitude upper limit Tlim. If the evaluation result of step S123 is true (S123:Y), that is, if evaluation formula G is true, the process proceeds to step S124. On the other hand, if the evaluation result of step S123 is false (S123:N), that is, if evaluation formula G is not true, the process proceeds to step S126.

[0079] In step S124, the absolute value of the amplitude compensation value Ak’ set in step S120 is compared with a threshold value Ath preset as an end condition of the binary search, and it is determined whether the absolute value |Ak’| of the amplitude compensation value Ak’ is smaller than the threshold value Ath. If |Ak’| < Ath (S124: Y), the process proceeds to step S129. In step S129, the adjusted amplitude compensation value Aka at the order corresponding to the current value of the variable k is set to the current value of the variable L, and the process shown in the flowchart of FIG. 10 is terminated.

[0080] On the other hand, if |Ak’| ≥ Ath (S124: N), the process proceeds to step S125. In step S125, the absolute value of half of the amplitude compensation value Ak’ at the order corresponding to the current value of the variable k is set as the new amplitude compensation value Ak’. After the completion of step S125, the process returns to step S121, and the same operation is repeated thereafter.

[0081] In step S126, a value obtained by adding a minus sign to the absolute value of half of the amplitude compensation value Ak’ at the order corresponding to the current value of the variable k is set as the new amplitude compensation value Ak’. After the completion of step S126, the process returns to step S121, and the same operation is repeated thereafter.

[0082] The amplitude optimization unit 101 repeatedly performs the process shown in the flowchart of FIG. 10 described above until any of the end conditions of steps S112, S116, and S124 is satisfied, thereby determining the adjusted amplitude compensation value Ana and the corresponding phase compensation value φna for each order n of the torque ripple.

[0083] Based on the amplitude compensation value Ana and the phase compensation value φna represented by the adjusted phase amplitude information 111 output from the amplitude optimization unit 101 and the current magnetic pole position θnow represented by the magnetic pole position 23, the compensation value calculation unit 102 calculates the torque ripple compensation value Tr(θnow) with amplitude adjustment corresponding to the magnetic pole position θnow according to the following formula (6).

Equation

[0084] The torque ripple compensation value Tr(θnow), represented by the amplitude-adjusted torque ripple compensation value 28 output from the compensation value calculation unit 102, is input to the torque command value correction unit 16. The torque command value correction unit 16 calculates the final torque command value Tcr based on the torque command value Tc represented by the torque command value 21 and the torque compensation value Tr represented by the amplitude-adjusted torque ripple compensation value 28 using the following equation (7).

number

[0085] Figure 11 is an explanatory diagram illustrating the overview of the operation of a motor control device according to the first embodiment of the present invention. In the pre-amplitude adjustment state, where the amplitude of the torque ripple compensation value is not adjusted for each order n in the amplitude adjustment unit 15, the torque waveform output by the motor 4 in response to the torque command value 21 from the torque command value generator 2 may exceed the allowable upper torque value for the motor 4, as shown in Figure 11(A), for example.

[0086] In this embodiment, the amplitude adjustment unit 15 optimizes the amplitude by adjusting the amplitude of the torque ripple compensation values ​​of each order n corresponding to the torque command value, as shown in Figure 11(B), so that the compensation value for higher-order torque ripple components decreases sequentially. As a result, the torque waveform output by the motor 4 is kept below the upper limit of the torque allowed by the motor 4, as shown in Figure 11(C).

[0087] Figure 12 is a comparison diagram of the torque ripple compensation amounts in a conventional motor control device and a motor control device according to the present invention. In a conventional motor control device, as shown in Figure 12(A), for example, the torque ripple compensation value set according to the torque command value is limited by the amount exceeding the upper limit of the torque for each order n. As a result, unintended ripple may occur or the compensation amount may be insufficient. On the other hand, in the motor control device according to the present invention, as described above, the amplitude adjustment unit 15 optimizes the amplitude by adjusting the amplitude of the torque ripple compensation value for each order n according to the torque command value so that the compensation value for higher-order torque ripple components decreases sequentially. As a result, as shown in Figure 12(B), for example, the compensation amount for lower-order torque ripple components can be maximized, and torque ripple generated in the motor 4 can be effectively suppressed. Note that in Figures 12(A) and 12(B), the positions of the bar graphs of the ripple to be compensated and the compensation amount are shifted relative to each other in the horizontal axis direction for ease of viewing, but in reality, these bar graphs represent the same frequency.

[0088] According to the first embodiment of the present invention described above, the following effects are achieved.

[0089] (1) The motor control device 1 controls the motor 4 based on the torque command value 21 from the torque command value generator 2, which is a higher-level controller. The motor control device 1 includes a torque ripple compensation value calculation unit 12 that calculates a torque ripple compensation value 25 to compensate for torque ripple occurring in the motor 4 based on the electrical angular velocity 24 of the motor 4 and the torque command value 21; a ripple amplitude upper limit value calculation unit 14 that calculates a ripple amplitude upper limit value 27, which is an upper limit value for the amplitude of the torque ripple compensation value 25, based on the torque command value 21 and a torque upper limit value 26 set for the motor 4; and an amplitude adjustment unit 15 that adjusts the amplitude of each frequency component in the torque ripple compensation value 25 based on the ripple amplitude upper limit value 27 and calculates a torque ripple compensation value 28 after amplitude adjustment. The motor control device 1 calculates a final torque command value 29 for controlling the motor 4 based on the amplitude-adjusted torque ripple compensation value 28 calculated by the amplitude adjustment unit 15 and the torque command value 21. In this way, even when a torque command value 21 close to the upper limit of the output current is applied, torque ripple can be effectively suppressed.

[0090] (2) The torque ripple compensation value calculation unit 12 estimates the torque ripple corresponding to the torque command value 21 using a torque ripple estimation map 201 in which the amplitude and phase of each order of torque ripple are pre-associated and recorded. In this way, the torque ripple of each order corresponding to the torque command value 21 can be easily and reliably estimated.

[0091] (3) The torque ripple compensation value calculation unit 12 calculates the phase and amplitude of the torque ripple compensation value for each order of torque ripple based on the electrical angular velocity 24. Specifically, the torque ripple compensation value calculation unit 12 uses the torque ripple estimation map 201, the torque control response characteristic table 202, and the phase amplitude compensation unit 203 to calculate the phase and amplitude of the torque ripple compensation value 25 for each order of torque ripple so as to cancel out the phase and amplitude discrepancies between the torque command value 21 and the torque output of the motor 4. In this way, the torque ripple compensation value 25 for compensating the torque ripple generated in the motor 4 can be accurately calculated for each order of torque ripple.

[0092] (4) The torque ripple compensation value calculation unit 12 can calculate the torque ripple compensation value 25 such that the amplitude of the torque ripple compensation value 25 decreases as the electrical angular velocity 24 increases when the electrical angular velocity 24 is greater than or equal to a predetermined reference value. In this way, the processing load of the entire motor control device 1 can be optimized when the motor 4 is rotating at high speed.

[0093] (5) The ripple amplitude upper limit calculation unit 14 calculates the ripple amplitude upper limit 27 based on the difference between the torque upper limit 26 and the absolute value of the torque command value 21 using the absolute value calculation unit 311 and the subtractor 312. In this way, the ripple amplitude upper limit 27 corresponding to the torque upper limit 26 and the torque command value 21 can be appropriately calculated.

[0094] (6) The torque ripple compensation value calculation unit 12 calculates the phase and amplitude of the torque ripple compensation value 25 for each order of torque ripple. The amplitude adjustment unit 15 calculates the maximum amplitude of the torque ripple compensation value 25 based on the phase and amplitude of the torque ripple compensation value 25 calculated for each order by the amplitude optimization unit 101, and determines the amplitude limiting order to be subject to amplitude limiting within the order, and the amplitude after limiting of the torque ripple compensation value 25 in the amplitude limiting order, so that the maximum amplitude is less than or equal to the ripple amplitude upper limit value 27. Then, the compensation value calculation unit 102 calculates the amplitude-adjusted torque ripple compensation value 28 based on the phase φna and the amplitude after limiting of the torque ripple compensation value in the amplitude limiting order, the phase φn'(φna) and amplitude An'(Ana) of the torque ripple compensation value in the orders excluding the amplitude limiting order, and the magnetic pole position 23 of the motor 4. In this way, the amplitude-adjusted torque ripple compensation value 28 corresponding to the ripple amplitude upper limit value 27 can be reliably calculated.

[0095] (7) The amplitude adjustment unit 15 determines the amplitude limiting order in the amplitude optimization unit 101 in order from higher order to lower order. In this way, when suppressing torque ripple generated in the motor 4, lower-order torque ripple components are suppressed preferentially, and a high torque ripple suppression effect can be obtained.

[0096] (Second embodiment) Next, a second embodiment of the present invention will be described. In the following, the parts that differ from the first embodiment will be described, and the parts that are similar will be omitted from the description.

[0097] In the first embodiment, the amplitude adjustment unit 15 of the motor control device 1 determined the amplitude limit order in order from higher order to lower order, as described above, thereby preferentially suppressing lower-order torque ripple components. However, depending on the structure and design of the motor 4, lower-order torque ripples do not necessarily have larger amplitudes. Therefore, in this embodiment, the amplitude adjustment unit 15 of the motor control device 1 determines the amplitude limit order in order of the order in which the amplitude represented by the torque ripple compensation value 25 is smallest, thereby preferentially suppressing torque ripples of larger amplitudes. Specifically, among the various orders n of torque ripples, the amplitude limit order is determined in order of the amplitude of the torque ripple compensation value 25 calculated for each order in the torque ripple compensation value calculation unit 12, from smallest to largest.

[0098] The configuration of the motor control device 1 according to this embodiment is the same as that shown in the schematic block diagram of Figure 1 described in the first embodiment.

[0099] According to the second embodiment of the present invention described above, the amplitude adjustment unit 15 determines the amplitude limiting order in the amplitude optimization unit 101 in order of decreasing amplitude of the torque ripple compensation value 25 calculated for each order. In this way, when suppressing torque ripple generated in the motor 4, torque ripple components with larger amplitudes are suppressed preferentially, thereby obtaining a high torque ripple suppression effect.

[0100] (Third embodiment) Next, a third embodiment of the present invention will be described. In the following, the parts that differ from the first embodiment will be described, and the parts that are similar will be omitted from the description.

[0101] Figure 13 is a schematic block diagram showing the configuration of a motor control device according to a third embodiment of the present invention. The motor control device 1A shown in Figure 13 has the same configuration as the motor control device 1 according to the first embodiment shown in Figure 1, but differs in that the electrical angular velocity 24 from the electrical angular velocity calculation unit 11 is also input to the amplitude adjustment unit 15.

[0102] Figure 14 is a block diagram of the amplitude adjustment unit 15 according to a third embodiment of the present invention. Similar to Figure 7 described in the first embodiment, in this embodiment the amplitude adjustment unit 15 includes an amplitude optimization unit 101 and a compensation value calculation unit 102.

[0103] In this embodiment, the amplitude optimization unit 101 receives the ripple amplitude upper limit value 27 output from the ripple amplitude upper limit value calculation unit 14, as well as the electrical angular velocity 24 output from the electrical angular velocity calculation unit 11. Based on these values, the amplitude optimization unit 101 adjusts the amplitude of each order n of the torque ripple compensation value 25 output from the torque ripple compensation value calculation unit 12, that is, the amplitude of each frequency component in the torque ripple compensation value 25, using a procedure different from that described in the first embodiment.

[0104] Figure 15 is a flowchart showing an example of a method for adjusting the torque ripple compensation value 25 in the amplitude adjustment unit 15 according to the third embodiment of the present invention. The flowchart in Figure 15 differs from the flowchart in Figure 10 described in the first embodiment in that the processing of step S130 is added before step S111.

[0105] In step S130, the electrical angular frequency of the motor 4 is calculated based on the electrical angular velocity 24 input from the electrical angular velocity calculation unit 11, and the frequency of the torque ripple generated in the motor 4 is determined for each order n based on this electrical angular frequency. Then, the order of the amplitude limiting orders is determined based on the distance between the calculated torque ripple frequencies for each order n and the resonant frequency of the motor 4. Specifically, for example, the amplitude limiting orders are determined in descending order of their frequency difference from the resonant frequency.

[0106] Motor 4 has a resonant frequency at which it exhibits mechanical resonance, depending on the mechanical characteristics of the object it outputs torque to, the structure of motor 4, and the structure of the location where motor 4 is installed. When the frequency of torque ripple in motor 4 matches this resonant frequency, the vibration of motor 4 is amplified, increasing the noise and vibration generated when motor 4 is in operation. For example, if motor 4 is installed in a vehicle such as an automobile, this can lead to a decrease in the ride comfort of the vehicle, and if motor 4 is used in a machine tool, it can lead to a deterioration in machining accuracy. Thus, the closer the frequency of torque ripple generated in motor 4 is to the resonant frequency, the greater its impact on the vibration and noise of motor 4.

[0107] Therefore, in this embodiment, the amplitude adjustment unit 15 of the motor control device 1A calculates the electrical angular frequency of the motor 4 from the electrical angular velocity 24, determines the torque ripple frequency for each order n, and determines the amplitude limiting order in order of the order from which the frequency is furthest from the preset resonant frequency. This ensures that torque ripples of orders closer to the resonant frequency are suppressed preferentially.

[0108] In this embodiment, the order of amplitude limiting orders may be determined based on criteria other than the frequency difference from the resonant frequency. For example, if the transfer function of the mechanical system in the motor 4 is known in advance, the amplitude after passing through the transfer function may be calculated for each order of torque ripple amplitude An estimated by the torque ripple compensation value calculation unit 12, and the amplitude limiting orders may be determined in ascending order of these values. Also, if the motor 4 drives an object whose resonant frequency changes depending on the operating conditions, such as an elevator, the resonant frequency can be changed according to the operating conditions in the process of step S130.

[0109] According to the third embodiment of the present invention described above, the amplitude adjustment unit 15 determines the amplitude limiting order in order of the largest deviation from the resonant frequency that has a significant impact on the vibration and noise of the motor 4. In this way, when suppressing torque ripple generated in the motor 4, torque ripple components that have a significant impact on the vibration and noise generated in the motor 4 are suppressed preferentially, thereby obtaining a high torque ripple suppression effect.

[0110] (Fourth embodiment) Next, a fourth embodiment of the present invention will be described. In the following, the parts that differ from the first embodiment will be described, and the parts that are similar will be omitted from the description.

[0111] The configuration of the motor control device 1 according to this embodiment is the same as that shown in the schematic block diagram of Figure 1 described in the first embodiment.

[0112] In the first embodiment, the amplitude adjustment unit 15 of the motor control device 1 determined the amplitude limiting order in order from higher order to lower order, as described above, thereby preferentially suppressing lower-order torque ripple components. However, in a motor 4 mounted on a vehicle such as an automobile, for example, in order to improve the ability of the vehicle to follow the driving trajectory in response to the vehicle's speed command and position command, it is sometimes desirable to minimize the maximum amplitude of the torque time waveform rather than the frequency component of the torque ripple in order to minimize the deviation of the acceleration.

[0113] Therefore, in this embodiment, the amplitude adjustment unit 15 of the motor control device 1 calculates the torque ripple compensation value 28 after amplitude adjustment so that the maximum amplitude in the time domain of the output torque of the motor 4 corresponding to the final torque command value 29 is minimized. Specifically, for example, the amplitude optimization unit 101 uses an algorithm that solves the optimization problem represented by the following equation (8) to determine the adjusted amplitude compensation value Ana and phase compensation value φna for each order n of the torque ripple.

number

[0114] In equation (8), To represents the output torque waveform estimated for the final torque command value 29, P represents the transfer function from the torque command value 21 to the output torque, and ωe represents the electrical angular velocity 24 of the motor 4. If it is difficult for the amplitude optimization unit 101 to perform the calculation of equation (8) within the control cycle, equation (8) may be calculated in advance, and the calculation results may be stored in the amplitude optimization unit 101 as a map of amplitude and phase for each condition. The adjusted amplitude compensation value Ana and phase compensation value φna may then be determined by referring to this map.

[0115] According to the fourth embodiment of the present invention described above, the amplitude adjustment unit 15 calculates the torque ripple compensation value 28 after amplitude adjustment in the amplitude optimization unit 101 so that the maximum amplitude in the time domain of the output torque of the motor 4 corresponding to the final torque command value 29 is minimized. In this way, in a motor 4 mounted on a vehicle such as an automobile, the deviation of the vehicle's acceleration can be minimized and the ability of the motor to follow the vehicle's speed command and position command can be improved.

[0116] (Fifth embodiment) Next, a fifth embodiment of the present invention will be described. In the following, the parts that differ from the first embodiment will be described, and the parts that are similar will be omitted from the description.

[0117] In the control design of the motor 4, target values ​​for the amount of torque ripple to be achieved are sometimes defined for each order. In this embodiment, in order to achieve the target value of the amount of torque ripple as much as possible, an example is described in which torque ripple is suppressed preferentially for orders in which the excess amount of torque ripple from the target value is large.

[0118] Figure 16 is a schematic block diagram showing the configuration of a motor control device according to a fifth embodiment of the present invention. The motor control device 1B shown in Figure 16 has a similar configuration to the motor control device 1 according to the first embodiment shown in Figure 1, but differs in that the torque ripple compensation value calculation unit 12 calculates a torque ripple excess amount 30 in addition to the torque ripple compensation value 25, and these values ​​are input to the amplitude adjustment unit 15. The torque ripple excess amount 30 is the amount by which the amplitude of the torque ripple exceeds a target value set in advance for each order of torque ripple, and is calculated for each order of torque ripple by the torque ripple compensation value calculation unit 12.

[0119] In this embodiment, the amplitude adjustment unit 15 calculates the torque ripple compensation value 28 after amplitude adjustment based on the torque ripple compensation value 25 so that the torque ripple excess amount 30 for each order is made as small as possible. Specifically, the amplitude limiting order is determined in order of the order in which the torque ripple excess amount 30 is smallest, and the adjusted amplitude compensation value Ana and phase compensation value φna are calculated for each order (amplitude limiting order and each other order). Then, based on these calculation results, the amplitude and phase compensation values ​​corresponding to the magnetic pole position 23 are determined for each order n. This is used to calculate the torque ripple compensation value 28 after amplitude adjustment.

[0120] Figure 17 is a block diagram of the torque ripple compensation value calculation unit 12 according to the fifth embodiment of the present invention. In this embodiment, in addition to the torque ripple estimation map 201, torque control response characteristic table 202, and phase amplitude compensation unit 203 described in Figure 2 of the first embodiment, the torque ripple compensation value calculation unit 12 further includes a residual ripple amount target map 204 and a ripple excess amount calculation unit 205.

[0121] The residual ripple amount target map 204 holds pre-set target amplitude values ​​for each order n of the torque ripple. The designer of the motor control device 1 can define the magnitude of the torque ripple amplitude that they would like to avoid exceeding as much as possible for each order as the residual ripple amount target map 204 for the system including the motor 4.

[0122] The torque ripple compensation value calculation unit 12 determines the target amplitude for each order n of torque ripple generated by the motor 4 by referring to the residual ripple amount target map 204 based on the torque command value 21 input from the torque command value generator 2. Then, the determined amplitude target values ​​for each order are input to the ripple excess amount calculation unit 205 as the residual ripple amount target value 214.

[0123] The ripple excess calculation unit 205 calculates the difference between the estimated torque ripple amplitude 211 for each order obtained from the torque ripple estimation map 201 and the residual ripple target value 214 for each order n obtained from the residual ripple target map 204. Then, by multiplying the obtained difference value by the amplitude compensation amount Gn represented by the amplitude and phase compensation amount 212 obtained from the torque control response characteristic table 202 for each order n, the ripple excess amount On for each order n is calculated. In addition, the ripple excess calculation unit 205 calculates the residual ripple compensation amount Rn for each order n by multiplying the residual ripple target value 214 for each order n obtained from the residual ripple target map 204 by the amplitude compensation amount Gn for each order n. The ripple excess amount On and residual ripple compensation amount Rn, calculated by the ripple excess amount calculation unit 205, are output as the torque ripple excess amount 30 from the torque ripple compensation value calculation unit 12 to the amplitude adjustment unit 15.

[0124] Figures 18 and 19 are flowcharts illustrating an example of a method for adjusting the torque ripple compensation value 25 in the amplitude adjustment unit 15 according to a fifth embodiment of the present invention. The flowcharts in Figures 18 and 19 show the processing flow when the amplitude optimization unit 101 of the amplitude adjustment unit 15 adjusts the torque ripple compensation value 25 using a two-stage amplitude adjustment algorithm utilizing binary search.

[0125] Steps S111 to S113 and S127 perform the same processes as shown in Figure 10 of the first embodiment. However, in this embodiment, in step S113, nmax is defined as the order of the torque ripple order n at which the ripple excess amount On is smallest. After step S113, the process proceeds to step S141.

[0126] In step S141, the torque ripple function Tr(θ) is recalculated based on the ripple excess On represented by the torque ripple excess 30 and the phase compensation value φn' represented by the torque ripple compensation value 25. Here, the torque ripple function Tr(θ) is recalculated by replacing the amplitude compensation value An' in equation (4) above with the ripple excess On.

[0127] In step S142, the evaluation formula G defined in equation (5) above is evaluated using the torque ripple function Tr(θ) recalculated in step S141. If the evaluation result in step S142 is true (S142:Y), that is, if the evaluation formula G is true, the process proceeds to step S150 in Figure 19. On the other hand, if the evaluation result in step S142 is false (S142:N), that is, if the evaluation formula G is not true, the process proceeds to step S143.

[0128] In step S143, the torque ripple function Tr(θ) is redefined by subtracting Okcos(kθ+φk'), which corresponds to the order of excess ripple corresponding to the current value of the variable k, from the torque ripple function Tr(θ). The amplitude is then reduced using the order of this excess ripple as the amplitude limiting order. The torque ripple function Tr(θ) redefined in step S143 corresponds to the torque ripple function Tr(θ) redefined in step S114 of Figure 10, with Ak' replaced by Ok.

[0129] After step S143, steps S115-S118 and S128 perform the same processing as in Figure 10, based on the torque ripple function Tr(θ) redefined in step S143. However, in this embodiment, in step S116, the order of the torque ripple order n in which the excess ripple amount On is the largest is set to nmin. Also, in step S118, the order in which the excess ripple amount On is smallest after the order represented by the current value of variable k is set as the next lowest-ranking order nnext(k) and is set to the value of the new variable k. If the evaluation result of step S115 is true (S115:Y), that is, if evaluation formula G is true, proceed to step S144.

[0130] In step S144, the new amplitude compensation value Ak' is set to half the value of the order of ripple excess Ok corresponding to the current value of variable k. At this time, the variable L is initialized to 0. After step S144, in steps S121 to S126 and S129, the same processing as in Figure 10 is performed based on the amplitude compensation value Ak' set in step S144.

[0131] With the operations performed up to this point, the amplitude adjustment of the torque ripple compensation value 25 for the excess ripple amount On is completed. In the following steps S150 onwards in Figure 19, the amplitude adjustment of the torque ripple compensation value 25 is performed for the residual ripple compensation amount Rn.

[0132] In step S150, nmin is substituted for the variable k. In the following step S151, Rkcos(kθ+φk'), which corresponds to the residual ripple compensation amount of the order corresponding to the current value of the variable k, is added to the torque ripple function Tr(θ) to define a new torque ripple function Tr(θ) when the amplitude of the said residual ripple compensation amount is added.

[0133] In step S152, it is determined whether the current value of the variable k is of the order nmax, which is the minimum order for the ripple excess amount On. If k = nmax (S152: Y), proceed to step S156; if k ≠ nmax (S152: N), proceed to step S153.

[0134] In step S153, the evaluation formula G defined in equation (5) above is evaluated using the torque ripple function Tr(θ) redefined in step S151. If the evaluation result in step S153 is true (S153:Y), that is, if the evaluation formula G is true, the process proceeds to step S154. On the other hand, if the evaluation result in step S153 is false (S153:N), that is, if the evaluation formula G is not true, the process proceeds to step S156.

[0135] In step S154, the amplitude compensation value Ak’ at the order corresponding to the current value of variable k is set as the adjusted amplitude compensation value Aka at that order. In the subsequent step S155, the order nnext(k) with the next lower rank than the order represented by the current value of variable k is set as the value of the new variable k. After the completion of step S155, the process returns to step S151, and the same operations are repeated thereafter.

[0136] In step S156, half of the residual ripple compensation amount Rk at the order corresponding to the current value of variable k is set as the new amplitude compensation value Ak’. In the subsequent step S157, Ak’cos(kθ+φk’), which corresponds to the torque ripple component at the order corresponding to the current value of variable k, is subtracted from the torque ripple function Tr(θ), and a new torque ripple function Tr(θ) excluding the torque ripple component is defined.

[0137] In step S158, the amplitude compensation value Ak’ set in step S156 is subtracted from variable L. In the subsequent step S159, the evaluation formula G defined by the above formula (5) is evaluated using the newly defined torque ripple function Tr(θ) in step S157. If the evaluation result in step S159 is true (S159:Y), that is, if the evaluation formula G holds, the process proceeds to step S160. On the other hand, if the evaluation result in step S159 is false (S159:N), that is, if the evaluation formula G does not hold, the process proceeds to step S162.

[0138] In step S160, the absolute value of the amplitude compensation value Ak’ set in step S160 is compared with the threshold value Ath preset as the end condition of the binary search, and it is determined whether the absolute value |Ak’| of the amplitude compensation value Ak’ is smaller than the threshold value Ath. If |Ak’|<Ath (S160:Y), the process proceeds to step S163. In step S163, the adjusted amplitude compensation value Aka at the order corresponding to the current value of variable k is set as the value obtained by adding Ok to the current value of variable L, and the processes shown in the flowcharts of FIGS. 18 and 19 are terminated.

[0139] On the other hand, if |Ak'| ≥ Ath (S160:N), proceed to step S161. In step S161, the new amplitude compensation value Ak' is set to a value obtained by taking the absolute value of half the value of the amplitude compensation value Ak' corresponding to the current value of the variable k, and then adding a negative sign to it. After step S161 is completed, return to step S157 and repeat the same operation thereafter.

[0140] In step S162, the absolute value of half the value of the amplitude compensation value Ak' corresponding to the current value of the variable k is set to the new amplitude compensation value Ak'. After step S162 is completed, the process returns to step S157 and the same operation is repeated thereafter.

[0141] The amplitude optimization unit 101 repeatedly performs the process shown in the flowcharts of Figures 18 and 19 described above until one of the termination conditions in steps S112, S116, S124, or S160 is met, thereby determining the adjusted amplitude compensation value Ana and the corresponding phase compensation value φna for each order n of the torque ripple.

[0142] According to the fifth embodiment of the present invention described above, the torque ripple compensation value calculation unit 12 calculates the amount of ripple excess of the torque ripple compensation value relative to a preset residual ripple target value 214 for each order of torque ripple in the ripple excess amount calculation unit 205. The amplitude adjustment unit 15 determines the amplitude limit order in order of the smallest ripple excess amount calculated for each order in the amplitude optimization unit 101. In this way, when suppressing torque ripple generated in the motor 4, torque ripple components with a large excess amount from the target value are given priority in suppression, and a high torque ripple suppression effect can be obtained.

[0143] It should be noted that the present invention is not limited to the embodiments described above, and various modifications are possible without departing from the spirit of the invention. [Explanation of Symbols]

[0144] 1,1A,1B: Motor control device, 2: Torque command value generator, 3: Inverter, 4: Motor, 10: Magnetic pole position calculation unit, 11: Electrical angular velocity calculation unit, 12: Torque ripple compensation value calculation unit, 13: Torque upper limit calculation unit, 14: Ripple amplitude upper limit calculation unit, 15: Amplitude adjustment unit, 16: Torque command value correction unit, 17: Current control unit

Claims

1. A motor control device that controls a motor based on a torque command value from a higher-level controller, A torque ripple compensation value calculation unit calculates a torque ripple compensation value to compensate for torque ripple occurring in the motor based on the motor's electrical angular velocity and torque command value, A ripple amplitude upper limit calculation unit calculates a ripple amplitude upper limit, which is an upper limit for the amplitude of the torque ripple compensation value, based on the torque command value and the torque upper limit value set for the motor. The system includes an amplitude adjustment unit that adjusts the amplitude of each frequency component in the torque ripple compensation value based on the ripple amplitude upper limit value and calculates the torque ripple compensation value after amplitude adjustment, Based on the torque ripple compensation value after amplitude adjustment calculated by the amplitude adjustment unit and the torque command value, the final torque command value for controlling the motor is calculated. The torque ripple compensation value calculation unit calculates the phase and amplitude of the torque ripple compensation value for each order of the torque ripple, The amplitude adjustment unit is Based on the phase and amplitude of the torque ripple compensation value calculated for each of the aforementioned orders, the maximum amplitude of the torque ripple compensation value is calculated. To ensure that the maximum amplitude is less than or equal to the upper limit of the ripple amplitude, the amplitude limiting order to be subject to amplitude limiting within the order and the amplitude after limiting the torque ripple compensation value in the amplitude limiting order are determined, respectively. A motor control device that calculates the amplitude-adjusted torque ripple compensation value based on the phase and amplitude of the torque ripple compensation value in the amplitude limiting order, the phase and amplitude of the torque ripple compensation value in the order excluding the amplitude limiting order, and the magnetic pole position of the motor.

2. A motor control device according to claim 1, The torque ripple compensation value calculation unit estimates the torque ripple according to the torque command value using an estimation map in which amplitude and phase are pre-associated and recorded for each order of the torque ripple.

3. A motor control device according to claim 1, The torque ripple compensation value calculation unit is a motor control device that calculates the phase and amplitude of the torque ripple compensation value for each order of the torque ripple based on the electrical angular velocity.

4. A motor control device according to claim 3, The motor control device comprises a torque ripple compensation value calculation unit which calculates the phase and amplitude of the torque ripple compensation value for each order of the torque ripple so as to cancel out the phase and amplitude differences between the torque command value and the torque output of the motor, respectively.

5. A motor control device according to claim 1, The torque ripple compensation value calculation unit is a motor control device that calculates the torque ripple compensation value such that, when the electrical angular velocity is greater than or equal to a predetermined reference value, the amplitude of the torque ripple compensation value decreases as the electrical angular velocity increases.

6. A motor control device according to claim 1, The ripple amplitude upper limit calculation unit calculates the ripple amplitude upper limit based on the difference between the torque upper limit and the absolute value of the torque command value.

7. A motor control device according to claim 1, The amplitude adjustment unit is a motor control device that determines the amplitude limiting order in order from higher order to lower order.

8. A motor control device according to claim 1, The amplitude adjustment unit is a motor control device that determines the amplitude limiting order in order of increasing amplitude of the torque ripple compensation value calculated for each order.

9. A motor control device according to claim 1, The amplitude adjustment unit is a motor control device that determines the amplitude limiting order in order of the largest deviation from the frequency that has a large effect on the vibration and noise of the motor.

10. A motor control device according to claim 1, The amplitude adjustment unit is a motor control device that calculates a torque ripple compensation value after amplitude adjustment so that the maximum amplitude in the time domain of the output torque of the motor corresponding to the final torque command value is minimized.

11. A motor control device according to claim 1, The torque ripple compensation value calculation unit calculates the amount of excess ripple in the torque ripple compensation value relative to a preset residual ripple target value for each order of the torque ripple, The amplitude adjustment unit is a motor control device that determines the amplitude limit order in order of the smallest ripple excess amount calculated for each order.