Motor control method and motor control device

The motor control method uses a second-order impulse response to compensate for position control delay, addressing the computational and learning limitations of existing methods, thereby improving motor control precision by suppressing quadrant protrusions.

JP7883868B2Active Publication Date: 2026-07-02NIDEC INSTR CORP

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
NIDEC INSTR CORP
Filing Date
2022-03-14
Publication Date
2026-07-02

AI Technical Summary

Technical Problem

Existing methods for suppressing quadrant bulges or stick motion in motor control require significant computational load or involve complex learning processes, limiting their effectiveness.

Method used

A motor control method that generates a torque command based on a position command and feedback, using a second-order impulse response to compensate for position control delay by adjusting delay time, peak time, and peak value to suppress quadrant protrusions without altering control gain parameters.

Benefits of technology

The method effectively reduces computational requirements and suppresses quadrant protrusions with minimal calculation, enhancing motor control precision.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007883868000004
    Figure 0007883868000004
  • Figure 0007883868000005
    Figure 0007883868000005
  • Figure 0007883868000006
    Figure 0007883868000006
Patent Text Reader

Abstract

To suppress the occurrence of quadrant protrusion or stick motion with a small amount of calculation when servo-controlling a motor on the basis of a position command.SOLUTION: A quadrant protrusion compensation unit 30 is provided that detects a speed rise of a motor 11 on the basis of a speed value calculated from a position command, and generates a compensation value represented by a secondary impulse response when the speed rise is detected. A torque command for the motor 11 is compensated by the compensation value generated by the quadrant protrusion compensation unit 30.SELECTED DRAWING: Figure 1
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to a method and apparatus for controlling a motor based on a position command, and particularly to a motor control method and a motor control apparatus capable of suppressing the occurrence of a phenomenon called a quadrant bulge or a stick motion.

Background Art

[0002] When servo-controlling a motor based on a position command, a phenomenon called a quadrant bulge or a stick motion may occur. This phenomenon is caused by a temporary increase in the position deviation due to the influence of an increase in frictional force when the speed is close to 0 or the influence of backlash when the rotation direction of the motor is reversed. Fig. 1 is a diagram for explaining a quadrant bulge. As shown in the figure, in a machine tool having orthogonal X and Y axes and capable of moving a tool in the XY plane by motors on each axis, consider machining a workpiece 90 in the direction of the arrow shown on the circumference centered on the origin O in the XY plane. At the timing when the motor on the X axis reverses its rotation direction, the motor on the Y axis is moving at the maximum speed. If a position control delay of the motor occurs on the X axis at this timing, a protrusion 91 that protrudes outward from the circumference occurs in the workpiece 90 to be machined. Such protrusions 91 occur at four locations at equal angular intervals along the outer circumference of the workpiece 90. Since these protrusions 91 occur near the boundary of the quadrant defined in the XY plane, they are called quadrant bulges. The quadrant bulge is caused by a temporary increase in the position deviation due to the position control delay when the speed of the motor rises from 0, and thus can be suppressed by increasing the control gain parameter in the controller that drives the motor. However, when the control gain parameter of the controller is increased, oscillation is induced when the rigidity of the system to be controlled is low, so there is a limit to increasing the control gain parameter. Therefore, it is difficult to suppress the occurrence of quadrant bulges by adjusting the control gain parameter.

[0003] As methods for suppressing the occurrence of quadrant protrusions without adjusting control gain parameters, the following are known: Patent Document 1 discloses that, assuming the change in motor speed is, for example, stepwise, this stepwise change is input to a low-pass filter having a time constant of the same magnitude as the position control delay, and the result obtained is added to the torque command. Patent Document 2 discloses that in a numerical control device for controlling a machine tool, the machining program is analyzed to calculate the actual amount of movement of each axis, and lost motion correction is performed based on the calculated amount of movement. Patent Document 3 discloses that a compensation amount that changes stepwise is calculated using a variable that changes with acceleration, and this compensation amount is added to the position command. Patent Document 4 discloses that a compensation value expressed by a sigmoid function is added to the torque command. Patent Document 5 discloses that the motor is driven repeatedly to determine the position deviation, learning is performed based on the obtained position deviation to obtain an approximate curve, and a correction command is generated based on the obtained approximate curve and added to the speed command or torque command. [Prior art documents] [Patent Documents]

[0004] [Patent Document 1] Japanese Patent Publication No. 2020-202603 [Patent Document 2] Patent No. 6494874 [Patent Document 3] Patent No. 4510723 [Patent Document 4] Patent No. 6185374 [Patent Document 5] Japanese Patent Publication No. 2012-93982 [Overview of the Initiative] [Problems that the invention aims to solve]

[0005] While the techniques described in Patent Documents 2-4 for suppressing the occurrence of quadrant protrusions without adjusting control gain parameters have the problem of requiring a large computational load to calculate the values ​​used for correction, the amount of compensation, and the compensation value. Furthermore, the technique described in Patent Document 5 has the problem of requiring learning, which necessitates significant work effort.

[0006] The object of the present invention is to provide a motor control method and a motor control device that can suppress the occurrence of quadrant protrusions or stick motion with a small amount of computation. [Means for solving the problem]

[0007] The motor control method according to the present invention is a motor control method that generates a torque command for the motor based on a position command and the position fed back from the motor and performs servo control of the motor, and the motor is controlled based on a speed value calculated from the position command Starting from speed 0 The system detects the speed rise, and upon detection, generates a compensation value represented by the second-order impulse response. Based on this compensation value, it compensates the torque command to the motor.

[0008] Quadrant protrusions or stick motions that occur when the motor's rotation direction reverses are caused by a position control delay when the motor's speed rises from zero. Therefore, in the motor control method according to the present invention, when the motor speed rise is detected, compensation is performed on the torque command to compensate for the position control delay. At this time, a compensation value expressed as a second-order impulse response is used. Here, a second-order impulse response is the response obtained as an output when an impulse or impulse function is input to a model represented by a second-order lag element. Compensating the torque command with a compensation value expressed as a second-order impulse response is equivalent to performing feedforward compensation specifically for compensating for position control delay, so according to the motor control method according to the present invention, the occurrence of quadrant protrusions can be suppressed without adjusting the control gain parameters in the controller. Since the shape of the function representing the second-order impulse response is simple, the compensation value can be generated with a small amount of computation.

[0009] In the motor control method according to the present invention, it is preferable to make at least one of the following adjustable: (a) delay time, which is the time from the motor speed rise to the rise of the compensation value; (b) peak time, which is the time from the rise of the compensation value to the peak of the compensation value; and (c) peak value, which is the value of the compensation value at the peak. By making these parameters adjustable, it becomes possible to appropriately suppress the occurrence of quadrant protrusions for each motor in various systems.

[0010] In the motor control method according to the present invention, it is preferable to set a delay time and a peak value for each rotation direction of the motor corresponding to the speed rise. By configuring it in this way, it becomes possible to appropriately compensate for quadrant protrusions even when the occurrence of quadrant protrusions differs depending on the rotation direction of the motor.

[0011] In the motor control method according to the present invention, it is preferable to compensate the torque command by adding a compensation value to the torque command. By adding a compensation value to the torque command, the amount of calculation required for compensation can be reduced.

[0012] The motor control device according to the present invention is a motor control device that performs servo control of a motor based on a position command, and comprises a controller that generates a torque command to the motor based on the position command and the position fed back from the motor, and a quadrant projection compensation unit that detects the speed rise of the motor based on a speed value calculated from the position command and generates a compensation value represented by a second-order impulse response when the speed rise is detected, and the torque command is compensated based on the compensation value.

[0013] The motor control device according to the present invention is provided with a quadrant protrusion compensation unit that generates a compensation value represented by a second-order impulse response when a speed rise in the motor is detected, and this compensation value is used to compensate for the torque command. Compensating for the torque command with a compensation value represented by a second-order impulse response is equivalent to performing feedforward compensation specifically for compensating for position control delay. Therefore, the motor control device according to the present invention can suppress the occurrence of quadrant protrusions without adjusting the control gain parameters in the controller or increasing the computational load.

[0014] In a motor control device according to the present invention, the quadrant protrusion compensation unit may include: a speed command value acquisition unit that calculates a speed command as a speed value from a position command; a delay counter that sets a delay time, which is the time from the speed rise to the rise of the compensation value, and starts counting the delay time when a speed rise is detected based on the speed command; and a compensation value calculation unit that sets a peak time, which is the time from the rise of the compensation value to the time when the compensation value shows a peak, and a peak value, which is the value of the compensation value at the peak, and generates a compensation value when the delay counter has finished counting the delay time. By using such a quadrant protrusion compensation unit, it becomes possible to easily generate a compensation value.

[0015] In the motor control device according to the present invention, it is preferable to provide a compensation value calculation unit for each rotation direction of the motor and set a delay time for each rotation direction in the delay counter. By configuring in this way, even when the occurrence situation of the quadrant protrusion differs according to the rotation direction of the motor, it becomes possible to compensate the quadrant protrusion well.

[0016] In the motor control device according to the present invention, it is preferable to further provide a parameter setting unit that sets a delay time in the delay counter based on an external input and sets a peak time and a peak value in the compensation value calculation unit. By making it possible to set the delay time, the peak time, and the peak value by such an external input, it becomes possible to satisfactorily suppress the occurrence of quadrant protrusions for each motor in various systems.

[0017] In the motor control device of the present invention, torque command compensation may be performed by adding a compensation value to the torque command. By adding the compensation value to the torque command, the amount of calculation for compensation can be reduced.

Effect of the Invention

[0018] According to the present invention, it becomes possible to satisfactorily suppress the occurrence of quadrant protrusions or stick motion with a small amount of calculation.

Brief Description of the Drawings

[0019] [Figure 1] It is a schematic diagram for explaining quadrant protrusions. [Figure 2] It is a block diagram showing the configuration of a motor control device according to an embodiment of the present invention. [Figure 3] It is a diagram for explaining a second-order impulse response. [Figure 4] It is a graph for explaining the change in the shape of the compensation value due to the change in the peak time. [Figure 5] It is a diagram for explaining parameters that can be set for the compensation value. [Figure 6] It is a block diagram showing an example of the configuration of a quadrant protrusion compensation unit. [Figure 7] It is a graph for explaining the compensation of the quadrant protrusion.

Mode for Carrying Out the Invention

[0020] Next, embodiments of the present invention will be described with reference to the drawings. FIG. 2 is a block diagram showing the configuration of a motor control device according to an embodiment of the present invention. The motor control device 10 shown in FIG. 2 uses a position command for the motor 11 as an input, and drives the motor 11 by servo control so that the position of the motor 11 follows the position indicated by the position command. An encoder (not shown) is attached to the motor 11, and the current position of the motor 11 is constantly fed back from this encoder to the motor control device 10.

[0021] The motor control device 10 includes a subtraction element 21 that calculates the position deviation by subtracting the feedbacked position of the motor 11 from the position command, a feedforward (FF) control unit 22 that performs feedforward control based on the position command, an addition element 23 that adds the output of the feedforward control unit 22 to the position deviation, an observer unit 24 that estimates disturbances to be input to the system by performing model calculations, a subtraction element 25 that subtracts the output of the observer unit 24 from the output of the adder element 23, a torque control unit 26 that receives the output of the subtraction element 25 as input and generates a torque command, and a current control unit 27 that drives the motor 11 with a current based on the torque command. The observer unit 24 receives the feedbacked position and the output of the subtraction element as input. The subtraction element 21, feedforward control unit 22, addition element 23, observer unit 24, subtraction element 25, and torque control unit 26 constitute a controller that servo-controls the motor 11. Furthermore, the motor control device 10 includes a quadrant protrusion compensation unit 30 that detects the speed rise of the motor 11 based on a speed value calculated from the position command, and generates a compensation value represented by a second-order impulse response when this speed rise is detected. The compensation value generated by the quadrant protrusion compensation unit 30 is sent to the torque control unit 26 and used to compensate the torque command generated by the torque control unit 26 in that dimension. For example, the compensation value output from the quadrant protrusion compensation unit 30 is added to the torque command generated by the torque control unit 26. When calculating the speed in the quadrant protrusion compensation unit 30, it is sufficient to obtain the derivative or difference value of the position command with respect to time.

[0022] Quadrant protrusions or stick motion occur due to a position control delay when the motor speed rises from zero. When the motor's rotation direction reverses, the motor speed also temporarily becomes zero, so a speed rise from zero occurs in this case as well. When a position control delay occurs, the position deviation temporarily increases, that is, a "accumulation" of position deviation occurs. In this embodiment, in order to compensate for the position control delay during speed rise, the quadrant protrusion compensation unit 30 generates a compensation value only for a short period of time from the timing of the speed rise, and by compensating the torque command with this compensation value, the motor drive is boosted in a direction that eliminates the accumulation of position deviation. As a result, the phenomenon of a temporary increase in position deviation does not occur, and the occurrence of quadrant protrusions is suppressed.

[0023] Recent motor control devices that perform servo control of motors are generally configured to run software using a microprocessor or microcontroller, and control the motor by performing digital calculations at a fixed period called the control period or sampling period. In the motor control device 10 of this embodiment, the parts excluding the current control unit 27 can be implemented by software executed on the microprocessor or microcontroller. Therefore, the quadrant protrusion compensation unit 30 can also be implemented by software, and in that case, a speed command for the motor 11 can be obtained by acquiring the position command value for each control period and calculating the difference value, and when the value of the speed command changes from 0 (or a value very close to 0) to a non-zero value, it can be determined that there has been a speed rise in the motor 11.

[0024] Next, the compensation value generated in the quadrant projection compensation unit 30 in this embodiment will be described. Figure 3 is a diagram illustrating the generation of the compensation value. In this embodiment, the compensation value is represented by a second-order impulse response. A second-order impulse response is the output obtained by inputting an impulse into a model represented by a second-order lag element. When the impulse is represented as a function of time δ(t), the impulse is expressed by the following equation (1). Here, X>0. In Figure 3, the leftmost graph shows the impulse.

[0025]

number

[0026] Since vibration elements are not required for quadrant protrusion compensation, the transfer function of the second-order lag element in this embodiment can be expressed by equation (2) below, where T is the time from the rise of the second-order impulse response to its peak, i.e., the peak time. Here, assuming that e is the base of the natural logarithm (i.e., e ≈ 2.71828), we can set K = e.

[0027]

number

[0028] When the impulse shown in equation (1) is applied as an input signal to the model represented by equation (2), the output signal shown in equation (3) below is obtained. This is the second-order impulse response. The second-order impulse response Y(t) shown in equation (3) is clearly a function of time, and in this embodiment, it is used to compensate for quadrant protrusions.

[0029]

number

[0030] When K=e, substituting t=P into equation (3) yields Y(P)=X. Furthermore, the derivative of the right-hand side of equation (3) is 0 at t=P, indicating that Y(t) is at its maximum, i.e., peak, at t=P, and that peak value is X. The graph shown on the far right of Figure 3 is the graph of the second-order impulse response Y(t) when X=1. Note that the response is 0 before the impulse is input, so when t<0, Y(t)=0. The rising edge of the compensation value refers to the timing when t=0 in equation (3). The second-order impulse response has a gentler rising edge compared to the first-order impulse response obtained by inputting an impulse to a first-order lag element. According to the inventors' studies, the rising edge of the first-order impulse response was too steep, negatively affecting motor operation when used to compensate for quadrant protrusions, but the second-order impulse response did not negatively affect motor operation.

[0031] When the peak time P is changed, the shape of the waveform of the second-order impulse response also changes. Figure 4 shows how the shape of the waveform of the second-order impulse response changes when the peak value X is fixed at 1 and the peak time P is varied from 1 millisecond to 100 milliseconds.

[0032] As is clear from equation (3), if K=e is fixed, the magnitude and shape of the secondary impulse response Y(t) are determined by two parameters: peak time P and peak value X. In systems such as machine tools, the size and shape of the quadrant protrusions differ for each motor, and furthermore, the timing from the motor speed rise to the occurrence of the quadrant protrusions differs. Therefore, the quadrant protrusion compensation unit 30 is configured to adjust the peak time P and peak value X so that the quadrant protrusions can be well compensated for according to the system controlled by the motor control device 10, and furthermore, to adjust the time from the motor speed rise to the rise of the compensation value, which is the secondary impulse response, i.e., the delay time D. Specifically, the quadrant protrusion compensation unit 30 is configured to allow the delay time D, peak time P, and peak value X to be set by external input.

[0033] Figure 5 illustrates the adjustable parameters in the quadrant protrusion compensation unit 30, showing which parts of the compensation value, which is the second-order impulse response, are adjustable. If we refer to one of the rotation directions of the motor 11 as the positive direction and the other as the negative direction, there are two cases when the rotation direction of the motor 11 reverses: when the rotation direction changes from the positive direction to the negative direction, and when the rotation direction changes from the negative direction to the positive direction. In these cases, the size and timing of the quadrant protrusion may differ. Therefore, in this embodiment, the delay time D and peak value X can be set separately depending on whether the speed rise of the motor 11 is due to rotation in the positive direction or rotation in the negative direction. In Figure 5, the solid curve shows the compensation value when the motor 11 starts rotating in the positive direction, and the dashed curve shows the compensation value when the motor 11 starts rotating in the negative direction. When rotation in the negative direction starts, the compensation value changes from 0 to the negative direction because the peak value X is set to a negative value. However, in this specification, for the sake of simplicity, the timing at which the compensation value changes from 0 to the negative direction is also referred to as the rise of the compensation value. In Figure 5, for the case where motor 11 rotates in the positive direction, the delay time from the speed rise S of motor 11 to the rise of the compensation value is shown as D1, and the peak value is shown as X1. Similarly, for the case where motor 11 rotates in the negative direction, the delay time from the speed rise S of motor 11 to the rise of the compensation value is shown as D2, and the peak value is shown as X2. For the peak time P, a common value is used for both the compensation value in the positive direction and the compensation value in the negative direction. D1, D2, P, X1, and X2 are five parameters that can be set for the quadrant projection compensation unit 30 in this embodiment.

[0034] Next, the configuration of the quadrant protrusion compensation unit 30, which can set five parameters D1, D2, P, X1, and X2 in this manner, will be described. Figure 6 is a block diagram showing an example of the configuration of the quadrant protrusion compensation unit 30. The quadrant protrusion compensation unit 30 includes a speed command acquisition unit 31 that receives a position command from the motor 11 and acquires a speed command from the position command, a state management unit 32, a delay counter 33 that counts the clock to generate delay times D1 and D2, a positive direction compensation value calculation unit 34 that generates a compensation value represented by a peak time P and a peak value X1, a negative direction compensation value calculation unit 35 that generates a compensation value represented by a peak time P and a peak value X2, and a parameter setting unit 36 ​​that sets the delay times D1 and D2 in the delay counter 33, sets the peak time P and peak value X1 in the positive direction compensation value calculation unit 34, and sets the peak time P and peak value X2 in the negative direction compensation value calculation unit 35 based on external setting inputs. The clock counted by the delay counter 33 can be a clock where one period of the control cycle of the motor control device 10 equals one clock cycle, i.e., the control cycle itself. The quadrant protrusion compensation unit 30 as a whole operates as a state machine with one period of the control cycle of the motor control device 10, and the state management unit 32 manages the state of the quadrant protrusion compensation unit 30.

[0035] The speed command acquisition unit 31 acquires a position command for the motor 11 at each control cycle of the motor control device 10, calculates the difference value, and uses it as the speed command. If the position command does not change, it means that the speed of the motor 11 is set to 0, and the value of the speed command obtained as the difference value of the position command will also be 0. The speed command can take one of the following values: 0, a positive value that causes the motor 11 to rotate in the positive direction, or a negative value that causes it to rotate in the negative direction. The speed command is supplied from the speed command acquisition unit 31 to the state management unit 32.

[0036] The state management unit 32 starts the clock count in the delay counter 33 and resets the delay counter 33, and also outputs enable commands to the positive direction compensation value calculation unit 34 and the negative direction compensation value calculation unit 35, respectively. Specifically, the state management unit 32 resets the delay counter 33 to 0 when the speed command value is 0 for a certain period of time. Also, when the speed command changes from a positive value to 0 or a negative value, and when the speed command changes from a negative value to 0 or a positive value, the state management unit 32 resets the delay counter 33 in order to prepare for the next rotation direction of the motor 11. When the speed command changes from 0 to a value other than 0, the state management unit 32 outputs a start command to start the clock count in the delay counter 33. The state management unit 32 also outputs an enable command to the positive direction compensation value calculation unit 34 when the speed command value is a positive value, and outputs an enable command to the negative direction compensation value calculation unit 35 when the speed command value is a negative value.

[0037] The delay counter 33 starts counting the clock when a start command is received from the state management unit 32. As long as the value of the speed command is not zero and has the same sign, the state management unit 32 does not reset the delay counter 33, and during that time, the delay counter 33 continues to count the clock. When the count value reaches the preset delay times D1 and D2, the delay counter 33 notifies the positive compensation value calculation unit 34 and the negative compensation value calculation unit 35, respectively, that the delay times D1 and D2 have been completed. When the state management unit 32 outputs an enable command and the delay counter 33 notifies the system that the delay time D1 has been completed, the positive compensation value calculation unit 34 generates a compensation value which is a second-order impulse response represented by the peak time P and the peak value X1. In other words, the positive compensation value calculation unit 34 generates a positive compensation value when the value of the speed command is positive and the delay time D1 has been completed. Similarly, when the state management unit 32 outputs an enable command and the delay counter 33 notifies that the delay time D2 has been completed, the negative direction compensation value calculation unit 35 generates a compensation value which is a second-order impulse response represented by the peak time P and the peak value X2. In other words, the negative direction compensation value calculation unit 35 generates a negative direction compensation value when the value of the speed command is negative and the delay time D2 has been completed.

[0038] In this manner, the quadrant projection compensation unit 30 detects the speed rise of the motor 11, and if it corresponds to rotation in the positive direction, after a delay time D1 has elapsed from the speed rise, the positive direction compensation value calculation unit 34 generates a compensation value which is a second-order impulse response represented by a peak time P and a peak value X1. Similarly, if the speed rise of the motor 11 is detected and it corresponds to rotation in the negative direction, after a delay time D2 has elapsed from the speed rise, the negative direction compensation value calculation unit 35 generates a compensation value which is a second-order impulse response represented by a peak time P and a peak value X2. The compensation values ​​generated in this manner are input to the torque control unit 26. Note that if the speed command becomes 0 or the rotation direction of the motor 11 reverses during the counting of the delay time, the delay counter 33 is reset at that point, and no compensation value is generated. For example, even if a positive velocity rise is detected and the delay counter 33 starts counting the delay time D1, if the velocity command value becomes 0 or negative before reaching the delay time D1, the state management unit 32 resets the delay counter 33 at that point. As a result, the count value never reaches the delay time D1, and the positive direction compensation value calculation unit 34 does not generate a compensation value.

[0039] Figure 7 is a graph illustrating the compensation of quadrant protrusions when the motor 11 is controlled to reverse its rotation direction using the motor control device 10 of this embodiment. In Figure 7, the time shown on the horizontal axis is measured in units of 40 times the control cycle of the motor control device 10. Figure 7(a) shows the time change of the speed command and the fed-back speed, i.e., the actual speed of the motor 11, when the quadrant protrusion compensation unit 30 is not activated. Figure 7(b) shows the time change of the speed command and the fed-back speed when the quadrant protrusion compensation unit 30 is activated. The speed on the vertical axis is represented by the value obtained by dividing the number of pulses representing the difference in position of the motor 11, which is represented by the number of pulses within the motor control device 10, by the control cycle of the motor control device 10. In Figure 7(a), which shows the case without compensation for quadrant protrusions, immediately after the speed command becomes 0 due to the reversal of the rotation direction, the actual speed of the motor 11 (speed indicated by speed feedback) does not increase, as shown in region A in the figure, and the deviation from the speed command becomes large. This is thought to be due to static friction being greater than dynamic friction and the effect of backlash. Furthermore, in region B, which follows region A, the actual speed is greater than the speed command. In contrast, in Figure 7(b), which shows the case with compensation for quadrant protrusions, the speed command and the actual speed are in close agreement in both regions A and B. This shows that, according to the motor control method of the present invention, when the rotation direction of the motor 11 is reversed, the motor speed stopping immediately after the reversal can be improved.

[0040] Figure 7(c) shows the time change of the position deviation when the quadrant protrusion compensation unit 30 is not activated, and Figure 7(d) shows the time change of the position deviation when the quadrant protrusion compensation unit 30 is activated. The position deviation on the vertical axis is expressed in units of the number of pulses used to indicate the position of the motor 11 within the motor control device 10. When quadrant protrusion compensation is not performed, each time the rotation direction of the motor 11 is reversed, an accumulation of position deviation occurs, i.e., a temporary accumulation of position deviation, as shown in the region C to E in the figure. In contrast, in Figure 7(d), which shows the case when quadrant protrusion compensation is performed, no accumulation of position deviation occurs in any of the regions C to E. It can be seen that the motor control method according to the present invention can improve the accumulation of position deviation immediately after the reversal of the rotation direction of the motor 11.

[0041] According to the embodiment described above, when the speed rise of the motor 11 is detected, a compensation value, which is a secondary impulse response, is generated, and the torque command is compensated by this compensation value. This suppresses the temporary increase in position deviation that causes quadrant protrusions, thereby suppressing the occurrence of quadrant protrusions. Furthermore, by making the delay time, peak time, and peak value adjustable, it becomes possible to optimize the compensation for quadrant protrusions for each motor for motors incorporated into various systems.

[0042] In the above description, the controller that performs servo control of the motor 11 includes a subtraction element 21 for calculating position deviation, a feedforward control unit 22 for performing feedforward control, and an observer unit 24 for estimating disturbances to be input to the system by performing model calculations. However, the controller to which the present invention can be applied is not limited to this. For example, by adding the above-described quadrant protrusion compensation unit 30 to a controller that performs simple PI (proportional-integral) control or PID (proportional-integral-derivative) control, the occurrence of quadrant protrusions can be suppressed by compensating the torque command to the motor 11 with the compensation value generated by the quadrant protrusion compensation unit 30. [Explanation of symbols]

[0043] 10...Motor control device; 11...Motor; 21, 25...Subtraction element; 22...Feedforward (FF) control unit; 23...Addition element; 24...Observer unit; 26...Torque control unit; 27...Current control unit; 30...Quadrant protrusion compensation unit; 31...Speed ​​command acquisition unit; 32...Status management unit; 33...Delay counter; 34...Positive direction compensation value calculation unit; 35...Negative direction compensation value calculation unit; 36...Parameter setting unit.

Claims

1. A motor control method that generates a torque command for the motor based on a position command and a position fed back from the motor, thereby performing servo control of the motor, Based on the speed value calculated from the position command, the speed rise of the motor from speed 0 is detected. When the aforementioned speed rise is detected, a compensation value represented by the second-order impulse response is generated. A motor control method that compensates the torque command to the motor based on the compensation value.

2. The motor control method according to claim 1, wherein at least one of the following is adjustable: delay time, which is the time from the speed rise to the rise of the compensation value; peak time, which is the time from the rise of the compensation value to the peak of the compensation value; and peak value, which is the value of the compensation value at the peak.

3. The motor control method according to claim 2, wherein the delay time and the peak value are set for each rotation direction of the motor corresponding to the speed rise.

4. A motor control method according to any one of claims 1 to 3, wherein the torque command is compensated by adding the compensation value to the torque command.

5. A motor control device that performs servo control of a motor based on a position command, A controller that generates a torque command for the motor based on the position command and the position fed back from the motor, A quadrant protrusion compensation unit detects the speed rise of the motor based on the speed value calculated from the position command, and when the speed rise is detected, generates a compensation value represented by the secondary impulse response. Equipped with, A motor control device in which the torque command is compensated based on the compensation value.

6. The aforementioned quadrant projection compensation unit is, A speed command value acquisition unit that calculates a speed command as the speed value from the position command, A delay time is set, which is the time from the speed rise to the rise of the compensation value, and a delay counter is set to start counting the delay time when the speed rise is detected in the speed command, A compensation value calculation unit sets a peak time, which is the time from the rise of the compensation value until the compensation value reaches its peak, and a peak value, which is the value of the compensation value at the peak, and generates the compensation value when the delay counter has finished counting the delay time. The motor control device according to claim 5, comprising:

7. The compensation value calculation unit is provided for each rotation direction of the motor, In the aforementioned delay counter, the delay time is set for each of the rotation directions. The motor control device according to claim 6.

8. The motor control device according to claim 6 or 7, further comprising a parameter setting unit that sets the delay time in the delay counter based on an external input and sets the peak time and the peak value in the compensation value calculation unit.

9. The motor control device according to any one of claims 5 to 8, wherein the torque command is compensated by adding the compensation value to the torque command.