Motor control device
By designing torque pulsation compensation value calculation, pulsation amplitude upper limit value calculation and amplitude adjustment components in the motor control device, the problem of difficult torque pulsation when the output current is close to the upper limit value is solved, and the torque pulsation is effectively suppressed and The effect of maintaining the average torque stable.
Patent Information
- Application Number
- CN202380049240.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2022-07-29
- Filing Date
- 2023-05-31
- Publication Date
- 2025-02-14
AI Technical Summary
The prior art is difficult to effectively suppress undesired torque pulsation and reduction of average torque generated when the motor output current is close to the upper limit.
A motor control device is designed, which includes a torque pulsation compensation value calculation unit, a pulsation amplitude upper limit value calculation unit, and an amplitude adjustment unit. By calculating and adjusting the torque pulsation compensation value, ensure that its amplitude does not exceed the specified upper limit value, thereby suppressing torque pulsation.
Even when the output current is close to the upper limit, torque pulsation can be effectively suppressed, undesired vibration and noise can be prevented, while maintaining the stability of the average torque.
Smart Images

Figure CN119452564A_ABST
Abstract
Description
Technical Field
[0001] The invention relates to a device for controlling an electric motor. Background Art
[0002] In the existing motor control device, the motor current is controlled so that the torque generated by the motor follows the torque command. At this time, torque vibration corresponding to the magnetic pole position of the motor, namely torque pulsation, is generated, which sometimes causes vibration and noise. Therefore, a motor control method for reducing torque pulsation is designed.
[0003] As a control method for reducing vibration by suppressing the torque pulsation of the motor, for example, Patent Document 1 is known. The motor control device described in Patent Document 1 generates a table of the amplitude and phase of the torque pulsation corresponding to the torque generated by the motor, calculates a torque pulsation compensation value corresponding to the torque command value with reference to the table to suppress the amplitude and phase of the torque pulsation, and superimposes the torque pulsation compensation value on the torque command value to perform current control of the motor. Thus, the vibration is reduced by suppressing the torque pulsation of the motor.
[0004] On the other hand, in order to protect the motor or the inverter, an upper limit value is usually set for the output current of the inverter. When a torque command value corresponding to an output current close to the upper limit value is given, the adjusted torque command value superimposed with the torque ripple compensation value is limited to a value that makes the output current below the upper limit value. As a result, an undesirable torque ripple or a reduction in average torque may occur.
[0005] As a method for preventing the average torque from decreasing due to the restriction of the adjusted torque command value superimposed with the torque ripple compensation value, for example, Patent Document 2 is known. In 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 is greater than the upper limit command value, the amplitude of the vibration torque command value is reduced so that the maximum vibration value is below the upper limit command value, and the final torque command value is calculated. Thus, the average value of the final torque command value is prevented from being lower than the basic torque command value. Prior art literature Patent Literature
[0006] [Patent Document 1] Japanese Patent No. 5784787 [Patent Document 2] Japanese Patent No. 6400231 Summary of the invention Technical problem to be solved by the invention
[0007] Patent Documents 1 and 2 do not mention suppressing undesirable torque ripple caused by limiting the output current.
[0008] In view of the above-mentioned problems, a main object of the present invention is to effectively suppress torque ripple even when a torque command value close to an upper limit value of an output current is given. Technical means for solving technical problems
[0009] The motor control device involved in the present invention controls the motor based on the torque command value from the upper controller, including: a torque pulsation compensation value calculation unit, which calculates a torque pulsation compensation value for compensating for the torque pulsation generated in the motor based on the electrical angular velocity of the motor and the torque command value; a pulsation amplitude upper limit value calculation unit, which calculates an upper limit value for the amplitude of the torque pulsation compensation value, i.e., a pulsation amplitude upper limit value, based on the torque command value and the torque upper limit value set for the motor; and an amplitude adjustment unit, which adjusts the amplitude of each frequency component in the torque pulsation compensation value based on the pulsation amplitude upper limit value, calculates the torque pulsation compensation value after the amplitude adjustment, and calculates a final torque command value for controlling the motor based on the torque pulsation compensation value after the amplitude adjustment calculated by the amplitude adjustment unit and the torque command value. Effects of the Invention
[0010] According to the present invention, even when a torque command value close to the upper limit value of the output current is given, torque ripple can be effectively suppressed. BRIEF DESCRIPTION OF THE DRAWINGS
[0011] Figure 1 This is a schematic block diagram showing the configuration of the motor control device according to the first embodiment of the present invention. Figure 2 This is a block diagram of a torque ripple compensation value calculation unit according to the first embodiment of the present invention. Figure 3 : is a diagram showing an example of a torque ripple estimation map. Figure 4 : is a diagram showing an example of a torque control response characteristic table. Figure 5 It is a block diagram of a torque upper limit calculation unit and a pulsation amplitude upper limit calculation unit. Figure 6 is a diagram showing an example of a torque upper 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 : is a diagram showing an example of an amplitude reduction ratio map. Fig. 9 This is a block diagram of the current control unit. Fig.10This is a flowchart showing an example of a method for adjusting the torque ripple compensation value in the amplitude adjustment unit according to the first embodiment of the present invention. Fig.11 It is an explanatory diagram showing an outline of the operation of the motor control device according to the first embodiment of the present invention. Fig.12 This is a comparison diagram of the torque ripple compensation amount in the conventional motor control device and the motor control device of the present invention. Fig.13 This is a schematic block diagram showing a configuration of a motor control device according to a third embodiment of the present invention. Fig.14 This is a block diagram of an amplitude adjustment unit according to Embodiment 3 of the present invention. Fig.15 This is a flowchart showing an example of a method for adjusting the torque ripple compensation value in the amplitude adjustment unit according to the third embodiment of the present invention. Fig.16 This is a schematic block diagram showing the configuration of a motor control device according to Embodiment 5 of the present invention. Fig.17 This is a block diagram of a torque ripple compensation value calculation unit according to a fifth embodiment of the present invention. Fig.18 This is a flowchart showing an example of a method for adjusting the torque ripple compensation value in the amplitude adjustment unit according to the fifth embodiment of the present invention. Fig.19 This is a flowchart showing an example of a method for adjusting the torque ripple compensation value in the amplitude adjustment unit according to the fifth embodiment of the present invention. DETAILED DESCRIPTION
[0012] (Implementation Method 1) Figure 1 1 is a simplified block diagram showing the structure of the motor control device of the first embodiment of the present invention. The motor control device 1 of the present embodiment controls the operation of the inverter 3 based on the torque command value 21 from the torque command value generator 2 equivalent to the upper controller, thereby controlling the motor 4. 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 composed of, for example, a microcomputer, and these functional blocks can be implemented by executing a prescribed program in the microcomputer. Alternatively, part or all of these functional blocks can be implemented using hardware circuits such as logic ICs or FPGAs.
[0013] The magnetic pole position calculation unit 10 obtains sensor information 22 about the magnetic pole position of the motor 4, calculates the magnetic pole position of the motor 4 based on the sensor information 22, and outputs the calculation result as the magnetic pole position 23 to the amplitude adjustment unit 15. The sensor information 22 may use, for example, a signal output from a position sensor such as a rotary transformer or a Hall sensor mounted on the motor 4. Alternatively, instead of using a position sensor, a position sensorless control may be applied in which the current and voltage of the motor 4 are obtained as sensor information 22, and the magnetic pole position of the motor 4 is calculated based on these values. In addition, the magnetic pole position 23 may be either an electrical angle or a mechanical angle. When the magnetic pole position 23 is a mechanical angle, the amplitude adjustment unit 15 may convert the mechanical angle into 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 about the magnetic pole position of the motor 4, calculates the electrical angular velocity of the motor 4 based on the sensor information 22, and outputs the calculation result as the electrical angular velocity 24 to the torque ripple compensation value calculation unit 12. In addition, the electrical angular velocity of the motor 4 may be calculated based on the magnetic pole position 23 output from the magnetic pole position calculation unit 10 instead of the sensor information 22, and the electrical angular velocity 24 may be output.
[0015] The torque ripple compensation value calculation unit 12 calculates a compensation value for compensating 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. Then, the calculation result is output to the amplitude adjustment unit 15 as the torque ripple compensation value 25. The calculation method of the torque ripple compensation value 25 calculated by the torque ripple compensation value calculation unit 12 will be described later.
[0016] The torque upper limit calculation unit 13 calculates the upper limit value of the torque corresponding to the state of the motor 4, and outputs the calculation result to the pulsation amplitude upper limit value calculation unit 14 as the torque upper limit value 26. For example, the torque upper limit calculation unit 13 selects the maximum torque with the smallest absolute value from a plurality of maximum torques pre-set based on previous calculations or experimental results according to the current state of the motor 4, and outputs the value of the maximum torque as the torque upper limit value 26. Alternatively, a preset constant torque upper limit value 26 may be output.
[0017] The pulsation amplitude upper limit value calculation unit 14 calculates the upper limit value of the amplitude of the torque pulsation compensation value 25 output from the torque pulsation 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. Then, the calculation result is output to the amplitude adjustment unit 15 as the pulsation amplitude upper limit value 27.
[0018] The amplitude adjustment unit 15 adjusts the amplitude of each frequency component in the torque pulsation compensation value 25 based on the pulsation amplitude upper limit value 27 from the pulsation amplitude upper limit value calculation unit 14. Then, based on the torque pulsation 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, the torque pulsation compensation value 28 after the amplitude adjustment is calculated and output to the torque command value correction unit 16. In addition, the calculation method of the torque pulsation compensation value 28 after the amplitude adjustment by the amplitude adjustment unit 15 will be described later.
[0019] The torque command value correction unit 16 subtracts the amplitude-adjusted torque ripple compensation value 28 from the torque command value 21 to correct the torque command value 21. The corrected torque command value 21 is then output to the current control unit 17 as a 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, a gate signal for controlling the operation of a switching element such as an IGBT (insulated gate bipolar transistor) or a MOSFET (metal oxide semiconductor field effect transistor) provided in the inverter 3 is generated as a control signal for the inverter 3 and output to the inverter 3.
[0021] The inverter 3 operates based on a control signal from the current control unit 17 , converts direct current power supplied from a direct current power source (not shown) into alternating current power, and supplies the alternating current power to the motor 4 .
[0022] The motor 4 is driven by using the AC power supplied from the inverter 3, and generates a torque corresponding to the final torque command value 29. In addition, the motor 4 uses, for example, a permanent magnet synchronous rotary motor. However, the structure of the motor 4 is not limited thereto as long as it is a motor having torque pulsation. For example, even in the case of using a linear motor or an induction motor as the motor 4, the present invention can be applied. In addition, in addition to the function of a motor, the motor 4 can also have the function of a generator.
[0023] Next, we will refer to Figure 2 to Figure 4 The details of the torque ripple compensation value calculation unit 12 will be described.
[0024] Figure 2 This 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 compensating unit 203 .
[0025] The torque pulsation estimation map 201 holds the compensation coefficient of the torque pulsation corresponding to the torque. The torque pulsation compensation value calculation unit 12 estimates the amplitude and phase of each order n (n is a natural number) of the torque pulsation generated in the motor 4 based on the torque command value 21 input from the torque command value generator 2. Then, the estimation result 211 of the amplitude and phase of the torque pulsation of each order is input to the phase amplitude compensation unit 203.
[0026] In the present embodiment, the torque pulsation estimation map 201 is, for example, a compensation coefficient map recorded for each order n of the torque pulsation. In the compensation coefficient map, the torque value and the values of the amplitude An and phase φn of each order n of the torque pulsation are recorded in correspondence with each other. Therefore, the torque pulsation compensation value calculation unit 12 can estimate the values of the amplitude An and phase φn of the torque pulsation corresponding to the torque command value 21 for each order by referring to the torque pulsation estimation map 201.
[0027] Figure 3 2 is a diagram showing an example of a torque ripple estimation map 201 of a certain order. Figure 3 (A) shows an example of a torque pulsation estimation map 201 indicating the relationship between the torque value and the amplitude An of the torque pulsation. Figure 3 (B) shows an example of the torque ripple estimation map 201 indicating the relationship between the torque value and the phase φn of the torque ripple.
[0028] As a general trend, Figure 3 As shown in (A), the greater the absolute value of the torque, the greater the amplitude An of the torque pulsation, but it does not necessarily increase or decrease monotonically. Figure 3 As shown in (B), the change trend of the phase φn of the torque pulsation with respect to the torque value is not constant. Therefore, the amplitude An and the phase φn of the torque pulsation change according to the torque value.
[0029] In the present embodiment, the torque pulsation compensation value calculation unit 12 holds the characteristics of the torque pulsation obtained by the results of experiments, electromagnetic field analysis, etc. in advance as the torque pulsation estimation map 201. Then, when the torque command value 21 is input from the torque command value generator 2, the torque pulsation estimation map 201 is referred to, and the amplitude An and the phase φn of the torque pulsation corresponding to the torque value represented by the torque command value 21 are obtained. At this time, if the amplitude An or the phase φn corresponding to the torque command value 21 is not recorded in the torque pulsation estimation map 201, the amplitude An or the phase φn corresponding to the torque command value 21 can be obtained by interpolation or extrapolation. Thus, the torque pulsation estimation map 201 in which the amplitude An and the phase φn are recorded in advance for each order n of the torque pulsation can be used to estimate the torque pulsation corresponding to the torque command value 21, thereby obtaining the estimation result 211.
[0030] In addition, when the shape of the torque pulsation generated in the motor 4 changes relative to the same torque value due to changes in conditions such as temperature, in the torque pulsation compensation value calculation unit 12, a plurality of torque pulsation estimation maps 201 set according to different conditions can be pre-maintained, and the torque pulsation estimation maps 201 can be used separately according to the conditions.
[0031] In addition, the torque pulsation compensation value calculation unit 12 may use complex numbers or coefficients of approximate functions to maintain the torque pulsation estimation map 201 instead of using Figure 3 The diagram is shown in the figure. For example, the amplitude An and the phase φn of the torque pulsation can be represented by complex coefficients such as the following formula (1). In this case, the phase amplitude compensation unit 203 can easily process the estimated result 211 obtained from the torque pulsation estimation map 201 by multiplication of a single coefficient. In addition, by using complex coefficients, the value of the phase φn can be easily optimized in an interpolation operation or an extrapolation operation. On the other hand, by maintaining the torque pulsation estimation map 201 as a coefficient of an approximate function, the amount of data can be compressed. In addition, the interpolation operation or the extrapolation operation can be continuously performed by calculation of the function. [Mathematical formula 1]
[0032] The torque control response characteristic table 202 holds the values of the amplitude compensation amount Gn and the phase compensation amount θn required for eliminating the phase delay and amplitude change generated by the torque control system for each electrical angular frequency. The torque pulsation compensation value calculation unit 12 multiplies the electrical angular velocity 24 input from the electrical angular velocity calculation unit 11 by the order n of the torque pulsation and calculates the inverse thereof to obtain the electrical angular frequency of each order. Then, based on the obtained electrical angular frequency, the amplitude compensation amount Gn and the phase compensation amount θn are obtained for each order n of the torque pulsation generated in the motor 4 with reference to the torque control response characteristic table 202, and these calculation results are input as the amplitude and phase compensation amount 212 to the phase amplitude compensation unit 203.
[0033] Figure 4 2 is a diagram showing 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, Figure 4 (B) shows an example of the deviation of the amplitude and phase in the time domain corresponding to the amplitude compensation amount Gn and the phase compensation amount θn. Figure 4 In (A), the gain (Gain) value shown on the vertical axis of the upper figure represents the ratio (amplitude deviation) of the amplitude of the output torque to the amplitude of the torque command value 21. In addition, the phase (Phase) value shown on the vertical axis of the lower figure represents the phase delay (phase deviation) of the output torque relative to the torque command value 21. Figure 4 In (B), deviations of the amplitude and phase of the output torque with respect to the torque command value 21 are respectively shown in the time domain.
[0034] from Figure 4 (A) Figure 4 As can be seen from (B), the output torque of the motor 4 deviates from the torque command value 21. In order to eliminate this deviation, for example, based on the estimated result 211 of the amplitude An and phase φn for each order n of the torque ripple obtained from the torque ripple estimation map 201, the amplitude An can be multiplied by the inverse of the gain value corresponding to the electrical angular frequency corresponding to each order n, and the phase value corresponding to the electrical angular frequency corresponding to each order n can be subtracted from the phase φn. In this case, the amplitude compensation amount Gn is equivalent to the gain value obtained from Figure 4 The inverse of the gain value obtained from the upper graph of (A), the phase compensation amount θn is equivalent to Figure 4 (A) The phase value obtained in the lower figure.
[0035] In the present embodiment, in the torque pulsation compensation value calculation unit 12, the frequency characteristics of the deviation of the amplitude and phase of the output torque relative to the torque command value 21 are maintained as a torque control response characteristic table 202, and the torque command value 21 is obtained in advance through the results of experiments, electromagnetic field analysis, etc. Then, when the electrical angular velocity 24 is input from the electrical angular velocity calculation unit 11, the electrical angular frequency of each order n is obtained based on the electrical angular velocity 24, and the amplitude compensation amount Gn and the phase compensation amount θn corresponding to the electrical angular frequency of each order n are obtained by referring to the torque control response characteristic table 202. Thus, the torque control response characteristic table 202 indicating the frequency characteristics of the amplitude compensation amount Gn and the phase compensation amount θn can be used to calculate the amplitude and phase compensation amount 212 corresponding to the electrical angular velocity 24 for each order n of the torque pulsation.
[0036] In addition, when the response characteristics of the torque control change according to changes in control conditions such as carrier frequency or control gain, the torque pulsation compensation value calculation unit 12 can maintain multiple torque control response characteristic tables 202 set according to different control conditions, and use the torque control response characteristic tables 202 separately according to the control conditions.
[0037] In addition, in the torque control response characteristic table 202, the frequency characteristic of the phase compensation amount θn can be set so that in the region where the electrical angular frequency is above a certain value, the higher the electrical angular frequency, the smaller the value of the amplitude compensation amount Gn, so that the amplitude compensation amount Gn gradually becomes zero. Thus, when the electrical angular velocity 24 is above a predetermined reference value, the torque pulsation compensation value 25 can be calculated in the torque pulsation compensation value calculation unit 12 so that the amplitude of the torque pulsation compensation value 25 decreases as the electrical angular velocity 24 increases. As a result, when the motor 4 rotates at a high speed, the torque pulsation suppression action of the motor control device 1 can be smoothly stopped. Thus, the influence of the torque pulsation becomes relatively small, and on the other hand, when the motor 4 rotates at a high speed with a shorter time per electrical angular cycle, the calculation resources of the motor control device 1 are mainly allocated to the processing of the current control unit 17, thereby optimizing the processing load of the entire motor control device 1.
[0038] The deviation of the phase and amplitude in the torque control system represented by the torque control response characteristic table 202 includes response characteristics caused by time delay in the sampling and holding circuit for detecting the current flowing through the motor 4, operation delay of the torque command value 21, current control delay in the current control unit 17, etc. In addition, the response characteristics of each of these factors may be collected and stored as one torque control response characteristic table 202, or the torque control response characteristic table 202 may be divided and stored for each factor. In the case where the torque control response characteristic table 202 is stored separately for each factor, the amplitude compensation amount Gn and the phase compensation amount θn obtained in each table are synthesized according to whether each factor is a series element or a parallel element in the control structure.
[0039] The phase amplitude compensating unit 203 obtains an amplitude compensation value An' and a phase compensation value φn' for the torque pulsation for each order based on the estimation result 211 of the amplitude and phase of the torque pulsation of each order obtained from the torque pulsation estimation map 201 and the amplitude and phase compensation amount 212 obtained from the torque control response characteristic table 202. Then, the obtained amplitude compensation value An' and phase compensation value φn' are output to the amplitude adjusting unit 15 as the torque pulsation compensation value 25.
[0040] As described above, the torque ripple compensation value calculation unit 12 calculates the torque ripple compensation value 25 based on the torque command value 21 and the electrical angular velocity 24 .
[0041] Next, we will refer to Figure 5 , Figure 6 The details of the torque upper limit calculation unit 13 and the pulsation amplitude upper limit value calculation unit 14 will be described.
[0042] Figure 5 1 is a block diagram of the torque upper limit calculation unit 13 and the pulsation amplitude upper limit value calculation unit 14 . The torque upper limit calculation unit 13 includes a torque upper limit determination unit 302 , and the pulsation amplitude upper limit value calculation unit 14 includes an absolute value calculation unit 311 and a subtractor 312 .
[0043] The torque upper limit lists 303 to 307 are input to the torque upper limit determination unit 302. The torque upper limit lists 303 to 307 are lists of maximum torques pre-set based on pre-calculation or experimental results, and are set according to different conditions. For example, the torque upper limit list 303 given by arbitrary values, the torque upper limit list 304 indicating the search upper limit of the mapping for converting the torque command value 21 into the current command value, the torque upper limit list 305 calculated based on the thermal constraints of the inverter 3 and the motor 4, the torque upper limit list 306 calculated based on the current constraints of the inverter 3 and the motor 4, the torque upper limit list 307 set based on the NT characteristic between the rotation speed and the output torque of the motor 4, etc. are input to the torque upper limit determination unit 302. In addition, the torque upper limit list 303 and the torque upper limit list 304 are sometimes given as constants.
[0044] Figure 6 305 is a diagram showing an example of a torque upper limit list. Figure 6 As shown in (A), the torque upper limit is set so that when the temperature is above a certain level, the torque upper limit decreases as the temperature rises. Figure 6 The temperature shown on the horizontal axis in (A) indicates the temperature monitored by, for example, a temperature sensor provided in the inverter 3 or the motor 4. Generally, the torque upper limit list 305 is used to increase the torque upper limit value in a relatively low temperature region and to limit the torque upper limit value in a relatively high temperature region so that demagnetization of the magnet, etc., does not occur.
[0045] The torque upper limit list 306 based on the current constraints is, for example, Figure 6 As shown in (B), the torque upper limit is set so that, at a current below a certain level, the torque upper limit decreases as the current decreases. Figure 6 The current constraint shown on the horizontal axis in (B) represents, for example, the current monitored by a current sensor provided between the inverter 3 and the motor 4. The torque upper limit table 306 is used to determine the torque upper limit given corresponding to the current constraint of the circuit in the inverter 3 or the motor 4. The current constraint is set to suppress the withstand current and temperature rise of the electric wire, and changes according to the operating conditions of the motor 4.
[0046] For example Figure 6 As shown in (C), the torque upper limit table 307 based on the NT characteristics of the motor 4 is set so that the torque upper limit value decreases as the motor speed increases at a certain motor speed. The torque upper limit table 307 is used to limit the output torque of the motor 4 according to the relationship of the voltage constraint at a certain motor speed.
[0047] in addition, Figure 6The torque upper limit lists 305 to 307 shown in FIG. 1 are examples, and other torque upper limit lists may be set. The torque upper limit calculation unit 13 may input any torque upper limit lists 303 to 307 including the above-mentioned torque upper limit lists 303 and 304 into the torque upper limit determination unit 302. In addition, the torque upper limit value input to the torque upper limit determination unit 302 is not limited to the torque upper limit lists 303 to 307, and may be added or deleted arbitrarily.
[0048] The torque upper limit determination unit 302 obtains torque upper limit values corresponding to the operating conditions of the motor 4 for each of the input torque upper limit lists 303 to 307 , and outputs the one with the smallest absolute value among these torque upper limit values as the final torque upper limit value 26 to the pulsation amplitude upper limit 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 the absolute value 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 pulsation amplitude upper limit value 27 to the amplitude adjustment unit 15.
[0050] As described above, the pulsation amplitude upper limit value calculation unit 14 can calculate the pulsation amplitude upper limit value 27 which is the upper limit value of the amplitude of the torque pulsation 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, we will refer to Figure 7 , Figure 8 The details of the amplitude adjustment unit 15 will be described.
[0052] Figure 7 1 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 pulsation compensation value 25 output from the torque pulsation compensation value calculation unit 12 based on the pulsation amplitude upper limit value 27 output from the pulsation amplitude upper limit value calculation unit 14, that is, adjusts the amplitude of each frequency component in the torque pulsation compensation value 25. For example, the amplitude optimization unit 101 adjusts the amplitude compensation value An' of each order n so that the amplitude compensation value An' among the above-mentioned amplitude compensation value An' and the phase compensation value φn' calculated in the phase amplitude compensation unit 203 of the torque pulsation compensation value calculation unit 12 falls within the pulsation amplitude upper limit value 27, thereby calculating the adjusted amplitude compensation value Ana. Specifically, for example, the amplitude optimization unit 101 superimposes the amplitude compensation value An' and the phase compensation value φn' calculated for each order n in the phase amplitude compensation unit 203, thereby calculating the maximum amplitude of the torque pulsation compensation value 25. Then, the calculated maximum amplitude is compared with the pulsation amplitude upper limit value 27, and the order to be the amplitude limitation object (amplitude limitation order) is determined in a predetermined order until the maximum amplitude is below the pulsation amplitude upper limit value 27, and the amplitude compensation value An' of the amplitude limitation order is adjusted to be smaller. As a result, after the maximum amplitude reaches below the pulsation amplitude upper limit value 27, the adjusted amplitude compensation value Ana and phase compensation value φna of each order n at this time are output to the compensation value calculation unit 102 as adjusted phase amplitude information 111. In addition, reference will be made later on. Fig.10 The flowchart shown describes the details of the method of adjusting the amplitude compensation value An′ in the amplitude optimization section 101 .
[0054] In addition, the amplitude optimization unit 101 can arbitrarily change the objective function and constraint conditions used when adjusting the amplitude of the torque pulsation compensation value 25 for each order n according to the purpose of suppressing torque pulsation. The optimization method when adjusting the amplitude of the torque pulsation compensation value 25 is not limited to the above method, and any method can be used. In addition, for each combination of the torque pulsation compensation value 25 and the pulsation amplitude upper limit value 27, the adjusted amplitude compensation value Ana of each order n can be calculated in advance, and the calculated value is stored in the amplitude optimization unit 101, so that the adjusted phase amplitude information 111 is output with reference to the calculated value. In this way, the calculation load of the amplitude adjustment unit 15 can be reduced.
[0055] Figure 8 1 is a diagram showing an example of an amplitude reduction ratio map used when the amplitude optimization unit 101 adjusts the amplitude compensation value An′. Figure 8 In FIG. 1 , 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 the adjustment. For example, the amplitude optimization unit 101 can maintain the following for each order n and each condition: Figure 8 The amplitude reduction ratio map shown is used, and based on the amplitude reduction ratio map, the adjusted amplitude compensation value Ana is determined from the amplitude compensation value An'.
[0056] The compensation value calculation unit 102 calculates the torque pulsation compensation value 28 after amplitude adjustment based on the adjusted phase amplitude information 111 and the magnetic pole position 23 output from the amplitude optimization unit 101. For example, based on the adjusted amplitude compensation value Ana and phase compensation value φna of each order n (each amplitude limit order and each other order), the compensation value of the amplitude and phase corresponding to the magnetic pole position 23 is obtained for each order n. Thus, the torque pulsation compensation value 28 after amplitude adjustment can be calculated in the compensation value calculation unit 102. The compensation value calculation unit 102 outputs the torque pulsation compensation value 28 after amplitude adjustment obtained in this way to the torque command value correction unit 16.
[0057] Next, we will refer to Fig. 9 The current control unit 17 will be described in detail.
[0058] Fig. 9 2 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 with a predetermined limit value based on the torque command value 21 and the torque ripple compensation value 28 after the amplitude adjustment. As a result, when the final torque command value 29 exceeds the limit value, the final torque command value 29 is limited by replacing the final torque command value 29 with the limit value, and is output to the control circuit 42 as the final torque command value 43 after the limit processing. In addition, when the final torque command value 29 is below the limit value, the final torque command value 29 can be directly output as the final torque command value 43 after the limit processing.
[0060] The control circuit 42 generates a control signal for the inverter 3 by executing a predetermined current control operation based on the final torque command value 43 after the limit processing outputted from the limit processing unit 41 .
[0061] In addition, as long as the control signal of the inverter 3 can be generated based on the final torque command value 29, the structure of the current control unit 17 is not limited to Fig. 9 For example, the current control unit 17 may be configured by using only the control circuit 42 without providing the limit processing unit 41 .
[0062] Next, detailed operation and effects of the motor control device 1 according to the present embodiment will be described below.
[0063] In the motor control device 1, the torque pulsation compensation value calculation unit 12 estimates the amplitude An and phase φn of each order n of the torque pulsation with reference to the torque pulsation estimation map 201 based on the torque command value 21. In addition, based on the electrical angular velocity 24 of the motor 4, the amplitude compensation amount Gn and the phase compensation amount θn of each order n of the torque pulsation are obtained with reference to the torque control response characteristic table 202. Then, based on these values, the amplitude compensation value An' and the phase compensation value φn' for the torque pulsation are obtained for each order n by the following formula (2). [Mathematical formula 2] A′ n =A6G n φ′ n =φ n -θ n …(Formula 2)
[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 pulsation amplitude upper limit value calculation unit 14 calculates the pulsation amplitude upper limit value Tlim according to the torque upper limit value Tmax and the torque command value Tc by the following formula (3). In addition, the torque command value Tc is equivalent to the above-mentioned torque command value 21, the torque upper limit value Tmax is equivalent to the above-mentioned torque upper limit value 26, and the pulsation amplitude upper limit value Tlim is equivalent to the above-mentioned pulsation amplitude upper limit value 27. [Mathematical formula 3] T lim =T max -|T c |…(Formula 3)
[0065] The amplitude adjustment unit 15 calculates the torque pulsation compensation value Tr after amplitude adjustment based on the amplitude compensation value An' and the phase compensation value φn' calculated by the torque pulsation compensation value calculation unit 12 and the pulsation amplitude upper limit value Tlim calculated by the pulsation amplitude upper limit value calculation unit 14. Here, based on the pulsation amplitude upper limit value Tlim represented by the pulsation amplitude upper limit value 27, the adjusted amplitude compensation value Ana and the phase compensation value φna for the amplitude compensation value An' and the phase compensation value φn' represented by the torque pulsation compensation value 25 are obtained, and the torque pulsation compensation value Tr after amplitude adjustment is calculated based on these values. In addition, the specific calculation method of the torque pulsation compensation value Tr after amplitude adjustment by the amplitude adjustment unit 15 will be described later.
[0066] The torque command value correction unit 16 subtracts the torque ripple compensation value Tr after the amplitude adjustment calculated by the amplitude adjustment unit 15 from the torque command value Tc, and calculates a final torque command value Tcr.
[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 output to the inverter 3 to control the operation of the inverter 3 and to perform drive control of the motor 4.
[0068] Fig.10 This 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. Fig.10 The flowchart shows the processing flow when the torque ripple compensation value 25 is adjusted using a two-stage amplitude adjustment algorithm based on binary search in the amplitude optimization unit 101 of the amplitude adjustment unit 15.
[0069] First, in step S111 , based on the amplitude compensation value An′ and the phase compensation value φn′ represented by the torque ripple compensation value 25 output by the phase amplitude compensation unit 203 of the torque ripple compensation value calculation unit 12 , a torque ripple function Tr(θ) is defined by the following equation (4). [Formula 4] Next, in step S112, the torque pulsation function Tr(θ) is used to evaluate whether the maximum or minimum value of the torque pulsation compensation value 25 exceeds the pulsation amplitude upper limit value Tlim by using the evaluation formula G defined by the following formula (5). In formula (5), nm represents the minimum order among the orders n, and θnow represents the current magnetic pole position. [Formula 5] When Tc≥0, When Tc≤0, When the evaluation result of step S112 is true (S112: Y), that is, when the evaluation formula G is established, it is determined that the amplitude compensation value An' does not need to be adjusted, and the process proceeds to step S127. In step S127, for all the orders n of the torque ripple, the amplitude compensation value An' is set to the adjusted amplitude compensation value Ana, and the process ends. Fig.10 The process is shown in the flowchart.
[0072] On the other hand, when the evaluation result of step S112 is false (S112: N), that is, when the evaluation formula G does not hold, it is determined that the amplitude compensation value An' needs to be adjusted in a predetermined order, and the process proceeds to step S113. In this embodiment, in order to give priority to suppressing the low-order torque pulsation component, the amplitude limitation order is determined in order from the high-order side to the low-order side, so that the lowest order is performed last. Generally, the lower the order of the torque pulsation of the motor, the larger the component, so the torque pulsation on the low-order side is suppressed first, thereby obtaining a greater torque pulsation suppression effect.
[0073] In step S113, nmax is substituted into the variable k. nmax represents the maximum order among the order n of the torque pulsation processed in the motor control device 1. In the next step S114, Ak'cos(kθ+φk') corresponding to the torque pulsation component corresponding to the value of the current variable k is subtracted from the torque pulsation function Tr(θ), and the torque pulsation function Tr(θ) is redefined as the order of the torque pulsation component as the amplitude limit order and the amplitude is reduced. In addition, in the above-mentioned torque pulsation component, Ak' and φk' respectively represent the amplitude compensation value and phase compensation value of the component corresponding to the value of the current variable k.
[0074] In step S115, the torque pulsation function Tr(θ) newly defined in step S114 is used, and the evaluation formula G defined by the above formula (5) is used to evaluate whether the maximum value or minimum value of the torque pulsation compensation value 25 exceeds the pulsation amplitude upper limit value Tlim when the order corresponding to the value of the current variable k is used as the amplitude limit order and the amplitude of the order is reduced. When the evaluation result of step S115 is true (S115: Y), that is, when the evaluation formula G is established, the process proceeds to step S120. On the other hand, when the evaluation result of step S115 is false (S115: N), that is, when the evaluation formula G is not established, the process proceeds to step S116.
[0075] In step S116, it is determined whether the value of the current variable k is the minimum order nmin that can be processed in 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 of the order corresponding to the value of the current variable k (k=nmin) is set as the pulsation amplitude upper limit value Tlim, and the adjusted amplitude compensation values Ana (n≠k) of other orders are all set to 0, and the process ends. Fig.10 The process is shown in the flowchart.
[0076] On the other hand, when k ≠ nmin (S116: N), the process proceeds to step S117. In step S117, the adjusted amplitude compensation value Aka of the order corresponding to the current value of variable k is set to 0. In the next step S118, the order nnext(k) that is one order lower than the order represented by the current value of variable k is set as the new value of variable k. After step S118 is completed, the process returns to step S114, and then the same operation is repeated.
[0077] In step S120, half of the amplitude compensation value Ak' of the order corresponding to the current value of variable k is set as the new amplitude compensation value Ak'. At this time, variable L is initialized to 0. In the next step S121, Ak'cos(kθ + φk'), which corresponds to the torque ripple component corresponding to the current value of variable k, is added to the torque ripple function Tr(θ), and the torque ripple function Tr(θ) including this torque ripple component is redefined.
[0078] In step S122, the amplitude compensation value Ak' set in step S120 is added to variable L. In the next step S123, using the torque ripple function Tr(θ) newly defined in step S121, it is evaluated whether the maximum or minimum value of the torque ripple compensation value 25 exceeds the ripple amplitude upper limit value Tlim through the evaluation formula G defined by the above formula (5). When the evaluation result in step S123 is true (S123: Y), that is, when the evaluation formula G holds, the process proceeds to step S124. On the other hand, when the evaluation result in step S123 is false (S123: N), that is, when the evaluation formula G does not hold, 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 the threshold 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 less than the threshold Ath. When |Ak'| < Ath (S124: Y), the process proceeds to step S129. In step S129, the adjusted amplitude compensation value Aka of the order corresponding to the current value of variable k is set to the current value of variable L, and the process shown in the flowchart Fig.10 ends.
[0080] On the other hand, when |Ak'| ≥ Ath (S124: N), the process proceeds to step S125. In step S125, the absolute value of half of the amplitude compensation value Ak' of the order corresponding to the current value of variable k is set as the new amplitude compensation value Ak'. After step S125 is completed, the process returns to step S121, and then the same operation is repeated.
[0081] In step S126, the absolute value of half the value of the amplitude compensation value Ak' of the order corresponding to the current variable k is minus-signed and set as the new amplitude compensation value Ak'. After step S126 is completed, the process returns to step S121 and repeats the same operation.
[0082] The amplitude optimization unit 101 repeatedly implements the above-described Fig.10 The processing shown in the flowchart is performed until any of the end conditions of steps S112, S116, and S124 are satisfied, thereby determining the adjusted amplitude compensation value Ana and the corresponding phase compensation value φ for each order n of the torque pulsation. na .
[0083] The compensation value calculation unit 102 calculates the torque ripple compensation value T after amplitude adjustment corresponding to the magnetic pole position θnow by the following equation (6), based on the amplitude compensation value Ana and the phase compensation value φna indicated by the adjusted phase amplitude information 111 output from the amplitude optimization unit 101 and the current magnetic pole position θnow indicated by the magnetic pole position 23. r (θ now ). [Mathematical formula 6]
[0084] The torque pulsation compensation value Tr(θnow) represented by the torque pulsation compensation value 28 after amplitude adjustment 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 torque pulsation compensation value 28 after amplitude adjustment by the following formula (7). [Formula 7] T cr =T c -T r …(Formula 7)
[0085] Fig.11 1 is an explanatory diagram showing the operation outline of the motor control device according to the first embodiment of the present invention. In the state before the amplitude adjustment in which the amplitude of the torque ripple compensation value has not yet been adjusted for each order n in the amplitude adjustment unit 15, the waveform of the torque output by the motor 4 according to the torque command value 21 from the torque command value generator 2 is, for example, Fig.11 As shown in (A), the torque upper limit value allowed by the motor 4 may be exceeded.
[0086] In this embodiment, for example Fig.11As shown in (B), the amplitude adjustment unit 15 optimizes the amplitude by adjusting the amplitude of the torque pulsation compensation value of each order n corresponding to the torque command value so that the compensation value of the high-order torque pulsation component is reduced in sequence. As a result, for example Fig.11 As shown in (C), the waveform of the torque output by the motor 4 is suppressed to be equal to or less than the upper limit value of the torque allowed by the motor 4.
[0087] Fig.12 : is a comparison diagram of the torque ripple compensation amount in the conventional motor control device and the motor control device of the present invention. In the conventional motor control device, for example Fig.12 As shown in (A), the torque pulsation compensation value set according to the torque command value is limited to the part that exceeds the torque upper limit value for each order n. Therefore, undesirable pulsation and insufficient compensation amount may occur. On the other hand, in the motor control device of the present invention, as described above, in the amplitude adjustment unit 15, the amplitude of the torque pulsation compensation value of each order n corresponding to the torque command value is adjusted so that it decreases in sequence from the compensation value of the high-order torque pulsation component, thereby optimizing the amplitude. As a result, for example Fig.12 As shown in (B), the compensation amount of the low-order torque ripple component can be maximized, thereby effectively suppressing the torque ripple generated in the motor 4. Fig.12 (A) and Fig.12 In (B), for ease of viewing, the positions of the bar graphs of the pulsation to be compensated and the compensation amount are offset from each other in the horizontal axis direction, but in fact, these bar graphs represent the same frequency.
[0088] According to the first embodiment of the present invention described above, the following effects are obtained.
[0089] (1) A motor control device 1 controls a motor 4 based on a torque command value 21 from a torque command value generator 2 as a host controller. The motor control device 1 includes: a torque pulsation compensation value calculation unit 12 that calculates a torque pulsation compensation value 25 for compensating for torque pulsation generated in the motor 4 based on an electrical angular velocity 24 of the motor 4 and the torque command value 21; a pulsation amplitude upper limit value calculation unit 14 that calculates a pulsation amplitude upper limit value 27 that is an upper limit value of the amplitude of the torque pulsation 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 pulsation compensation value 25 based on the pulsation amplitude upper limit value 27 and calculates a torque pulsation compensation value 28 after the amplitude adjustment. The motor control device 1 calculates a final torque command value 29 for controlling the motor 4 based on the torque ripple compensation value 28 after amplitude adjustment calculated by the amplitude adjustment unit 15 and the torque command value 21. Therefore, even when the torque command value 21 close to the upper limit value of the output current is given, the torque ripple can be effectively suppressed.
[0090] (2) The torque pulsation compensation value calculation unit 12 estimates the torque pulsation corresponding to the torque command value 21 using the torque pulsation estimation map 201, which records the amplitude and phase in advance for each order of torque pulsation. Therefore, the torque pulsation of each order corresponding to the torque command value 21 can be easily and reliably estimated.
[0091] (3) The torque pulsation compensation value calculation unit 12 calculates the phase and amplitude of the torque pulsation compensation value for each order of torque pulsation based on the electrical angular velocity 24. Specifically, the torque pulsation compensation value calculation unit 12 uses the torque pulsation 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 pulsation compensation value 25 for each order of torque pulsation to offset the phase and amplitude deviations between the torque command value 21 and the torque output of the motor 4. Therefore, the torque pulsation compensation value 25 for compensating the torque pulsation generated in the motor 4 can be accurately calculated for each order of torque pulsation.
[0092] (4) When the electrical angular velocity 24 is greater than a predetermined reference value, the torque ripple compensation value calculation unit 12 can calculate the torque ripple compensation value 25 so that the amplitude of the torque ripple compensation value 25 decreases as the electrical angular velocity 24 increases. Thus, when the motor 4 rotates at a high speed, the processing load of the entire motor control device 1 can be optimized.
[0093] (5) The pulsation amplitude upper limit value calculation unit 14 calculates the pulsation amplitude upper limit value 27 based on the difference between the absolute values of the torque upper limit value 26 and the torque command value 21 by the absolute value calculation unit 311 and the subtractor 312. Therefore, the pulsation amplitude upper limit value 27 corresponding to the torque upper limit value 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 the 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 amplitudes of the torque ripple compensation value 25 after limitation for the amplitude limitation order and the amplitude limitation order that are amplitude limitation targets in the order so that the maximum amplitude is less than the pulsation amplitude upper limit value 27. Then, the compensation value calculation unit 102 calculates the torque ripple compensation value 28 after amplitude adjustment based on the phase φna and the amplitude Ana after limitation of the torque ripple compensation value for the amplitude limitation order, the phase φn' (φna) and the amplitude An' (Ana) of the torque ripple compensation value for the order other than the amplitude limitation order, and the magnetic pole position 23 of the motor 4. Therefore, the torque ripple compensation value 28 after amplitude adjustment corresponding to the pulsation amplitude upper limit value 27 can be reliably calculated.
[0095] (7) The amplitude adjustment unit 15 determines the amplitude limitation order from the high order side to the low order side in the amplitude optimization unit 101. Therefore, when suppressing the torque pulsation generated in the motor 4, the low order torque pulsation component is suppressed first, thereby achieving a higher torque pulsation suppression effect.
[0096] (Implementation Method 2) Next, Embodiment 2 of the present invention will be described. Next, portions different from Embodiment 1 will be described, and description of the same portions will be omitted.
[0097] In the first embodiment, as described above, in the amplitude adjustment unit 15 of the motor control device 1, the amplitude limiting order is determined in the order from the high-order side to the low-order side, and the low-order torque pulsation component is preferentially suppressed. However, according to the structure and design of the motor 4, the lower-order torque pulsation does not necessarily have a larger amplitude. Therefore, in the present embodiment, in the amplitude adjustment unit 15 of the motor control device 1, the amplitude limiting order is determined in the order from small to large of the amplitude represented by the torque pulsation compensation value 25, so as to preferentially suppress the order of the torque pulsation with a larger amplitude. Specifically, among the orders n of the torque pulsation, the amplitude limiting order is determined in the order from small to large of the amplitude of the torque pulsation compensation value 25 calculated for each order in the torque pulsation compensation value calculation unit 12.
[0098] The configuration of the motor control device 1 of this embodiment is different from that described in the first embodiment. Figure 1 The structure is the same as shown in the simplified block diagram.
[0099] According to the second embodiment of the present invention described above, the amplitude adjustment unit 15 determines the amplitude limit order in the order from small to large according to the amplitude of the torque pulsation compensation value 25 calculated for each order in the amplitude optimization unit 101. Therefore, when suppressing the torque pulsation generated in the motor 4, the torque pulsation component with a larger amplitude is suppressed first, so that a higher torque pulsation suppression effect can be obtained.
[0100] (Implementation method 3) Next, Embodiment 3 of the present invention will be described. Next, portions different from Embodiment 1 will be described, and description of the same portions will be omitted.
[0101] Fig.13 This is a schematic block diagram showing a configuration of a motor control device according to a third embodiment of the present invention. Fig.13 The motor control device 1A shown has Figure 1 The motor control device 1 of the illustrated embodiment 1 has the same configuration, but is different 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] Fig.14 1 is a block diagram of the amplitude adjustment unit 15 according to the third embodiment of the present invention. Figure 7 Likewise, in this embodiment, the amplitude adjustment unit 15 includes an amplitude optimization unit 101 and a compensation value calculation unit 102 .
[0103] In the present embodiment, in addition to the pulsation amplitude upper limit value 27 output from the pulsation amplitude upper limit value calculation unit 14, the electrical angular velocity 24 output from the electrical angular velocity calculation unit 11 is also input to the amplitude optimization unit 101. Based on these values, the amplitude optimization unit 101 adjusts the amplitude of each order n of the torque pulsation compensation value 25 output from the torque pulsation compensation value calculation unit 12, that is, the amplitude of each frequency component in the torque pulsation compensation value 25, in a procedure different from the procedure described in the first embodiment.
[0104] Fig.15 FIG. 2 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. Fig.15 In the flowchart, the Fig.10 Compared with the flowchart of , the difference is 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 pulsation generated in the motor 4 is obtained for each order n based on the electrical angular frequency. Then, the order of the amplitude limitation order is determined based on the distance between the calculated torque pulsation frequency for each order n and the resonant frequency of the motor 4. Specifically, for example, the amplitude limitation order is determined in descending order of the frequency difference with respect to the resonant frequency.
[0106] There is a resonant frequency in the motor 4 that causes mechanical resonance, depending on the mechanical characteristics of the object to which the torque is output, the structure of the motor 4, the structure of the location where the motor 4 is installed, and the like. When the frequency of the torque pulsation in the motor 4 coincides with the resonant frequency, the vibration of the motor 4 is amplified, and the sound and vibration generated when the motor 4 is driven increase. For example, when the motor 4 is installed in a vehicle such as a car, this may cause a decrease in the ride comfort of the vehicle, and when the motor 4 is used in a machine tool, this may cause a deterioration in the working accuracy. Therefore, the closer the frequency of the torque pulsation generated in the motor 4 is to the resonant frequency, the greater the influence on the vibration and noise of the motor 4.
[0107] Therefore, in the present embodiment, the amplitude adjustment unit 15 of the motor control device 1A calculates the electrical angular frequency of the motor 4 based on the electrical angular velocity 24, finds the frequency of the torque pulsation for each order n, and determines the amplitude limit order in the order from far to near of the frequency deviation from the preset resonance frequency. Thus, the torque pulsation of the order close to the resonance frequency is preferentially suppressed.
[0108] In addition, in the present embodiment, the order of the amplitude limit order can be determined based on a criterion other than the frequency difference from the resonant frequency. For example, when the transfer function of the mechanical system in the motor 4 is known in advance, for the amplitude An of the torque pulsation of each order estimated by the torque pulsation compensation value calculation unit 12, the amplitude after passing through the transfer function can be calculated respectively, and the amplitude limit order can be determined in the order of the value from small to large. In addition, in the case where the motor 4 drives an object whose resonant frequency changes according to the operating conditions, such as an elevator, the resonant frequency can change 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 limitation order in descending order of deviation from the resonance frequency that has a greater influence on the vibration and noise of the motor 4. Therefore, when suppressing the torque pulsation generated in the motor 4, the torque pulsation component that has a greater influence on the vibration and noise generated in the motor 4 is preferentially suppressed, so that a higher torque pulsation suppression effect can be obtained.
[0110] (Implementation 4) Next, Embodiment 4 of the present invention will be described. Next, portions different from Embodiment 1 will be described, and description of the same portions will be omitted.
[0111] The configuration of the motor control device 1 of this embodiment is different from that described in the first embodiment. Figure 1 The structure is the same as shown in the simplified block diagram.
[0112] In the first embodiment, as described above, the amplitude adjustment unit 15 of the motor control device 1 determines the amplitude limit order in order from the high-order side to the low-order side, thereby preferentially suppressing the low-order torque pulsation component. However, in the motor 4 mounted on a vehicle such as an automobile, in order to improve the followability of the driving trajectory to the speed command or position command of the vehicle, it is sometimes desired to minimize the maximum amplitude in the torque time waveform rather than the frequency component of the torque pulsation in order to minimize the acceleration deviation.
[0113] Therefore, in the present embodiment, the amplitude adjustment unit 15 of the motor control device 1 calculates the torque pulsation 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, in the amplitude optimization unit 101, an algorithm for solving the optimization problem represented by the following equation (8) is used to determine the adjusted amplitude compensation value Ana and phase compensation value φna for each order n of the torque pulsation. [Mathematical formula 8]
[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. In addition, when it is difficult for the amplitude optimization unit 101 to perform the calculation of equation (8) within the control period, equation (8) may be calculated in advance, and the calculation result may be stored in the amplitude optimization unit 101 as a map of the amplitude and the phase for each condition, so that the adjusted amplitude compensation value Ana and the phase compensation value φna are determined with reference to the 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. Therefore, in the motor 4 installed in a vehicle such as an automobile, the acceleration deviation of the vehicle can be minimized, thereby improving the followability of the driving trajectory to the speed command and position command of the vehicle.
[0116] (Implementation 5) Next, Embodiment 5 of the present invention will be described. Next, portions different from Embodiment 1 will be described, and description of the same portions will be omitted.
[0117] In the control design of the motor 4, a target value of torque pulsation to be achieved is sometimes determined for each order. In this embodiment, in order to achieve the target value of torque pulsation as much as possible, an example of preferentially suppressing the torque pulsation of the order where the torque pulsation exceeds the target value by a large amount is described.
[0118] Fig.16 This is a schematic block diagram showing the configuration of a motor control device according to Embodiment 5 of the present invention. Fig.16 The motor control device 1B shown has Figure 1 The motor control device 1 of the embodiment 1 shown in the figure has the same structure, but is different in that the torque pulsation compensation value calculation unit 12 calculates the torque pulsation excess amount 30 in addition to the torque pulsation compensation value 25, and inputs these values to the amplitude adjustment unit 15. The torque pulsation excess amount 30 is the excess amount of the amplitude of the torque pulsation relative to the target value preset for each order of the torque pulsation, and is calculated in the torque pulsation compensation value calculation unit 12 for each order of the torque pulsation.
[0119] In the present embodiment, the amplitude adjustment unit 15 calculates the torque pulsation compensation value 28 after amplitude adjustment based on the torque pulsation compensation value 25 so that the torque pulsation excess of each order represented by the torque pulsation excess 30 is as small as possible. Specifically, the amplitude limit order is determined in the order of the torque pulsation excess 30 from small to large, and the adjusted amplitude compensation value Ana and phase compensation value φna of each order (amplitude limit order and other orders) are calculated. Then, based on these calculation results, the compensation values of the amplitude and phase corresponding to the magnetic pole position 23 are obtained for each order n. Thus, the torque pulsation compensation value 28 after amplitude adjustment is calculated.
[0120] Fig.17 1 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, the torque ripple compensation value calculation unit 12 includes the following components in addition to the components described in the first embodiment: Figure 2 In addition to the torque pulsation estimation map 201 , the torque control response characteristic table 202 and the phase amplitude compensation unit 203 , the system also includes a surplus pulsation amount target map 204 and a pulsation excess amount calculation unit 205 .
[0121] The residual pulsation target map 204 holds a target value of the amplitude preset for each order n of the torque pulsation. The designer of the motor control device 1 can determine the magnitude of the torque pulsation amplitude that is least likely to be exceeded for each order in the system including the motor 4 as the residual pulsation target map 204 .
[0122] The torque pulsation compensation value calculation unit 12 determines an amplitude target value for each order n of torque pulsation generated in the motor 4 based on the torque command value 21 input from the torque command value generator 2, with reference to the excess pulsation amount target map 204. Then, the determined amplitude target value of each order is input to the pulsation excess amount calculation unit 205 as the excess pulsation amount target value 214.
[0123] The pulsation excess amount calculation unit 205 calculates the difference between the estimated result 211 of the torque pulsation amplitude of each order obtained from the torque pulsation estimation map 201 and the residual pulsation amount target value 214 of each order n obtained from the residual pulsation amount target map 204. Then, for each order n, the pulsation excess amount On of each order n is calculated 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. In addition, the pulsation excess amount calculation unit 205 calculates the residual pulsation compensation amount Rn of each order n by multiplying the residual pulsation amount target value 214 of each order n obtained from the residual pulsation amount target map 204 by the amplitude compensation amount Gn for each order n. The pulsation excess amount On and the remaining pulsation compensation amount Rn calculated by the pulsation excess amount calculation unit 205 are output from the torque pulsation compensation value calculation unit 12 to the amplitude adjustment unit 15 as the torque pulsation excess amount 30 .
[0124] Fig.18 and Fig.19 This 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 fifth embodiment of the present invention. Fig.18 and Fig.19 The flowchart shows the processing flow when the torque ripple compensation value 25 is adjusted using a two-stage amplitude adjustment algorithm based on binary search in the amplitude optimization unit 101 of the amplitude adjustment unit 15.
[0125] In steps S111 to S113 and S127, the same steps as those described in Embodiment 1 are respectively implemented. Fig.10 The same processing is performed. However, in the present embodiment, in step S113, the order with the smallest pulsation excess On among the orders n of the torque pulsation is set to nmax. After step S113, the process proceeds to step S141.
[0126] In step S141, the torque pulsation function Tr(θ) is recalculated based on the pulsation excess On represented by the torque pulsation excess 30 and the phase compensation value φn' represented by the torque pulsation compensation value 25. Here, the torque pulsation function Tr(θ) is recalculated by replacing the amplitude compensation value An' in the above equation (4) with the pulsation excess On.
[0127] In step S142, the torque ripple function Tr(θ) recalculated in step S141 is used to perform evaluation using the evaluation formula G defined by the above formula (5). If the evaluation result of step S142 is true (S142: Y), that is, if the evaluation formula G holds, the process proceeds to step S143. Fig.19 On the other hand, if the evaluation result of step S142 is false (S142: N), that is, if the evaluation formula G does not hold, the process proceeds to step S143.
[0128] In step S143, the torque ripple function Tr(θ) is redefined by subtracting Okcos(kθ+φk'), which is equivalent to the pulsation excess of the order corresponding to the value of the current variable k, from the torque ripple function Tr(θ). The order of the pulsation excess is used as the amplitude limit order and the amplitude is reduced. In addition, the torque ripple function Tr(θ) redefined in step S143 is equivalent to replacing the value in the current variable k with Ok. Fig.10 The function is obtained by taking Ak' of the torque ripple function Tr(θ) redefined in step S114.
[0129] After step S143, in steps S115 to S118 and S128, based on the torque ripple function Tr(θ) redefined in step S143, the following steps are respectively performed: Fig.10 The same processing is performed. However, in the present embodiment, in step S116, the order with the largest pulsation excess On among the order n of the torque pulsation is set to nmin. In addition, in step S118, the order with a smaller pulsation excess On after the order represented by the value of the current variable k is set as the order nnext(k) one order lower as the value of the new variable k. When the evaluation result of step S115 is true (S115: Y), that is, when the evaluation formula G is established, proceed to step S144.
[0130] In step S144, the value of half of the pulsation excess amount Ok of the order corresponding to the current value of variable k is set as a new amplitude compensation value Ak'. At this time, variable L is initialized to 0. After step S144, in steps S121 to S126 and S129, the amplitude compensation values set in step S144 are respectively implemented. Fig.10 Same treatment.
[0131] Through the above operation, the amplitude adjustment of the torque pulsation compensation value 25 relative to the pulsation excess On is completed. Fig.19 In step S150 and thereafter, the amplitude adjustment of the torque ripple compensation value 25 is performed for the remaining ripple compensation amount Rn.
[0132] In step S150, nmin is substituted into the variable k. In the next step S151, Rkcos(kθ+φk') of the residual pulsation compensation amount of the order corresponding to the value of the current variable k is added to the torque pulsation function Tr(θ), and the torque pulsation function Tr(θ) is redefined with the amplitude of the residual pulsation compensation amount added.
[0133] In step S152, it is determined whether the value of the current variable k is the order nmax where the pulsation excess On is the smallest. If k=nmax (S152: Y), the process proceeds to step S156, and if k≠nmax (S152: N), the process proceeds to step S153.
[0134] In step S153, the torque ripple function Tr(θ) redefined in step S151 is used to perform evaluation using the evaluation formula G defined by the above formula (5). When the evaluation result of step S153 is true (S153: Y), that is, when the evaluation formula G holds, the process proceeds to step S154. On the other hand, when the evaluation result of step S153 is false (S153: N), that is, when the evaluation formula G does not hold, the process proceeds to step S156.
[0135] In step S154, the amplitude compensation value Ak' of the order corresponding to the value of the current variable k is set to the adjusted amplitude compensation value Aka of the order. In the next step S155, the order nnext(k) one order lower than the order represented by the value of the current variable k is set to the value of the new variable k. After step S155 is completed, the process returns to step S151 and the same operation is repeated.
[0136] In step S156, half of the residual pulsation compensation amount Rk of the order corresponding to the current value of variable k is set as a new amplitude compensation value Ak'. In the next step S157, Ak'cos(kθ+φk') corresponding to the torque pulsation component of the order corresponding to the current value of variable k is subtracted from the torque pulsation function Tr(θ), and the torque pulsation function Tr(θ) is redefined by removing the torque pulsation component.
[0137] In step S158, the amplitude compensation value Ak' set in step S156 is subtracted from the variable L. In the next step S159, using the torque ripple function Tr(θ) redefined in step S157, the evaluation formula G defined by the above formula (5) is used for evaluation. When the evaluation result in step S159 is true (S159: Y), that is, when the evaluation formula G holds, proceed to step S160. On the other hand, when the evaluation result in step S159 is false (S159: N), that is, when the evaluation formula G does not hold, proceed 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 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 less than the threshold Ath. When |Ak'| < Ath (S160: Y), proceed to step S163. In step S163, the adjusted amplitude compensation value Aka of the order corresponding to the current value of the variable k is set to the value obtained by adding Ok to the current value of the variable L, and the process ends Fig.18 and Fig.19 the process shown in the flowchart of.
[0139] On the other hand, when |Ak'| ≥ Ath (S160: N), proceed to step S161. In step S161, the value obtained by adding a negative sign to the absolute value of half of the amplitude compensation value Ak' of the order corresponding to the current value of the variable k is set as the new amplitude compensation value Ak'. After step S161 is completed, return to step S157, and then repeat the same operation.
[0140] In step S162, the absolute value of half of the amplitude compensation value Ak' of the order corresponding to the current value of the variable k is set as the new amplitude compensation value Ak'. After step S162 is completed, return to step S157, and then repeat the same operation.
[0141] The amplitude optimization unit 101 repeatedly performs the Fig.18 and Fig.19 processes shown in the flowchart until the end conditions of any of steps S112, S116, S124, and S160 are satisfied, 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 pulsation compensation value calculation unit 12 calculates the pulsation excess amount of the torque pulsation compensation value relative to the preset residual pulsation amount target value 214 for each order of the torque pulsation in the pulsation excess amount calculation unit 205. Since the amplitude adjustment unit 15 determines the amplitude limit order in the order of the pulsation excess amount calculated for each order from small to large in the amplitude optimization unit 101, when suppressing the torque pulsation generated in the motor 4, the torque pulsation component with a large excess amount of the torque pulsation relative to the target value can be preferentially suppressed, thereby obtaining a high torque pulsation suppression effect.
[0143] In addition, the present invention is not limited to the above-described embodiment, and various modifications can be made within a scope not departing from the gist of the present invention. Description 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 pulsation compensation value calculation unit, 13: torque upper limit calculation unit, 14: pulsation 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 for controlling a motor based on a torque command value from a host controller, characterized in that: include: a torque ripple compensation value calculation unit that calculates a torque ripple compensation value for compensating for torque ripple generated in the motor based on an electrical angular velocity of the motor and the torque command value; a pulsation amplitude upper limit value calculation unit that calculates a pulsation amplitude upper limit value that is an upper limit value of the amplitude of the torque pulsation compensation value based on the torque command value and the torque upper limit value set for the motor; as well as an amplitude adjustment unit that adjusts the amplitude of each frequency component in the torque pulsation compensation value based on the pulsation amplitude upper limit value and calculates the torque pulsation compensation value after the amplitude adjustment, A final torque command value for controlling the electric motor is calculated based on the torque ripple compensation value after the amplitude adjustment calculated by the amplitude adjustment unit and the torque command value.
2. The motor control device according to claim 1, characterized in that: The torque pulsation compensation value calculation unit estimates the torque pulsation corresponding to the torque command value using an estimation map in which an amplitude and a phase are recorded in association with each order of the torque pulsation in advance.
3. The motor control device according to claim 1, characterized in that: The torque ripple compensation value calculation unit calculates a phase and an amplitude of the torque ripple compensation value for each order of the torque ripple based on the electrical angular velocity.
4. The motor control device according to claim 3, characterized in that: The torque ripple compensation value calculation unit calculates a phase and an amplitude of the torque ripple compensation value for each order of the torque ripple so as to cancel deviations in phase and amplitude between the torque command value and a torque output of the electric motor.
5. The motor control device according to claim 1, characterized in that: When the electrical angular velocity is equal to or greater than a predetermined reference value, the torque ripple compensation value calculation unit calculates the torque ripple compensation value so that an amplitude of the torque ripple compensation value decreases as the electrical angular velocity increases.
6. The motor control device according to claim 1, characterized in that: The pulsation amplitude upper limit value calculation unit calculates the pulsation amplitude upper limit value based on a difference between the torque upper limit value and an absolute value of the torque command value.
7. The motor control device according to claim 1, characterized in that: The torque pulsation compensation value calculation unit calculates the phase and amplitude of the torque pulsation compensation value for each order of the torque pulsation. The amplitude adjustment unit calculates a maximum amplitude of the torque ripple compensation value based on the phase and amplitude of the torque ripple compensation value calculated for each of the orders, The amplitude limiting order as the object of limiting the amplitude in the order and the amplitude after limitation of the torque pulsation compensation value of the amplitude limiting order are determined so that the maximum amplitude is less than the pulsation amplitude upper limit value, respectively. The amplitude-adjusted torque ripple compensation value is calculated based on the phase and limited amplitude of the torque ripple compensation value of the amplitude limitation order, the phase and amplitude of the torque ripple compensation value of the order other than the amplitude limitation order, and the magnetic pole position of the motor.
8. The motor control device according to claim 7, characterized in that: The amplitude adjustment unit determines the amplitude limitation order in order from a higher order side to a lower order side.
9. The motor control device according to claim 7, characterized in that: The amplitude adjustment unit determines the amplitude limitation order in ascending order of the amplitude of the torque ripple compensation value calculated for each order.
10. The motor control device according to claim 7, characterized in that: The amplitude adjustment unit determines the amplitude limitation order in descending order of deviation with respect to a frequency having a greater influence on vibration and noise affecting the motor.
11. The motor control device according to claim 1, characterized in that: The amplitude adjustment unit calculates the torque ripple compensation value after the amplitude adjustment so that the maximum amplitude of the output torque of the electric motor corresponding to the final torque command value in the time domain is minimized.
12. The motor control device according to claim 7, characterized in that: The torque pulsation compensation value calculation unit calculates, for each order of the torque pulsation, a pulsation excess amount of the torque pulsation compensation value relative to a preset excess pulsation amount target value. The amplitude adjustment unit determines the amplitude limitation order in ascending order of the pulsation excess amount calculated for each order.
Citation Information
Patent Citations
Method of treating liquefied material
JP1982084787A
Production of amine [haitenchie[haitenchie] -
JP1989000231A