Motor control device
Patent Information
- Application Number
- JP2024551023
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Filing Date
- 2025-01-27
- Publication Date
- 2025-06-25
AI Technical Summary
Existing motor control devices face challenges in optimizing control characteristics due to measurement errors caused by friction and structural deflections, especially when checking frequency response characteristics, as amplitude variations can lead to resonance and oscillations.
A motor control device with a torque command creation unit, driving command creation unit, measurement command creation unit, response characteristic calculation unit, and amplitude determination unit that adjusts the amplitude of the measurement command to optimize control loop parameters, using sinusoidal or other periodic excitation commands to calculate frequency response characteristics and adjust gain and phase differences.
This solution allows for reliable optimization of motor control characteristics by adjusting the amplitude of the measurement command based on calculated response characteristics, preventing adverse effects like friction-induced gain reduction or resonance, thereby ensuring stable and efficient motor operation.
Abstract
Description
Motor control device
[0001] The present invention relates to a motor control device.
[0002] Motor control devices are widely used that operate motors at a target speed by feedback-controlling the current supplied to the motor. When the load on the motor changes, the motor's response characteristics change. Therefore, it is desirable to prevent resonance and enable appropriate control of the motor speed by adjusting parameters (setting values) such as the gain and filter of the feedback loop.
[0003] Therefore, it has been proposed to check the frequency response characteristics of the motor output with respect to the target speed and change the settings of the control loop so that the motor can be controlled appropriately. Specifically, it has been proposed to check the frequency response characteristics by inputting an adjustment target speed that changes in a sinusoidal manner into the motor control loop and detecting the actual motor speed while sweeping the frequency of this target speed (see, for example, Patent Document 1).
[0004] JP 2018-128734 A
[0005] When checking the frequency response characteristics of a motor, if the amplitude of the target speed is too small, measurement errors due to friction and other factors may increase, while if the amplitude of the target speed is too large, measurement errors due to bending of the structure or additional components supporting the motor may increase, or oscillation may occur. For this reason, technology that can optimize control characteristics is desired.
[0006] A motor control device according to one aspect of the present disclosure includes a torque command creation unit that creates a torque command to drive a motor in accordance with an input speed command; an operation command creation unit that creates an operation command, which is the speed command, to be input to the torque command creation unit in order to operate the motor; a measurement command creation unit that creates a measurement command, which is the speed command or the torque command to drive the motor, to be input to the torque command creation unit in order to adjust the torque command creation unit; a response characteristic calculation unit that calculates a response characteristic value indicating the response characteristic of the speed detection value of the motor to the measurement command; and an amplitude determination unit that causes the measurement command creation unit to change the amplitude of the measurement command if the response characteristic value does not satisfy a predetermined determination condition.
[0007] According to the present disclosure, control characteristics can be optimized.
[0008] While the present disclosure has been described with reference to exemplary embodiments, it is to be understood that the invention is not limited to the disclosed exemplary embodiments and is not to be limited to the disclosed exemplary embodiments.
[0009] DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS An embodiment of the present disclosure will now be described with reference to the accompanying drawings. Fig. 1 is a block diagram showing the configuration of a motor control device 1 according to an embodiment of the present disclosure.
[0010] The motor control device 1 controls the servo motor 3 via the servo amplifier 2. That is, the motor control device 1 inputs a torque command specifying the torque required to operate the motor 3 at the target speed at that time to the servo amplifier 2. The motor control device 1 is configured to perform feedback control to optimize the torque command by checking the value detected by a speed detector 31 that detects the speed of the motor 3.
[0011] The motor control device 1 includes an operation command creation unit 11, a torque command creation unit 12, a feedback unit 13, a measurement command creation unit 14, a response characteristic calculation unit 15, an amplitude determination unit 16, and a parameter adjustment unit 17. The motor control device 1 can be realized by causing one or more computers having a memory, a processor, an input / output interface, etc. to execute an appropriate control program. The components of the motor control device 1 are classifications of the functions of the motor control device 1, and do not necessarily have to be clearly distinguishable in terms of physical configuration and program configuration.
[0012] The operation command creation unit 11 creates an operation command, which is a speed command to be input to the torque command creation unit in order to operate the motor 3. The operation command creation unit 11 reads data specifying the operation required of the motor 3, that is, the waveform of the speed change of the motor 3, such as an operation program written in G-code language, and continuously outputs values indicating the rotational speed of the motor 3 when the motor 3 is operated in accordance with the operation program.
[0013] Torque command generator 12 generates a torque command for the motor in response to an input speed command. Torque command generator 12 may include an amplifier that amplifies the input or output, a filter that reduces specific frequency components of the input or output, etc. In other words, the transfer function of torque command generator 12 may be a polynomial function, and the characteristics of torque command generator 12, i.e., the transfer function, may be adjustable by modifying one or more parameters.
[0014] The feedback unit 13 acquires the speed detection value of the speed detector 31, processes it as necessary, and feeds it back to the torque command generation unit 12. That is, the feedback unit 13 superimposes the speed detection value or a value obtained by processing the speed detection value on the operation command output from the operation command generation unit 11 and inputs the superimposed value to the torque command generation unit 12. In a typical configuration, the speed detection value is inverted and added to the operation command. Furthermore, the feedback unit 13 may convert the data format, bit rate, etc. of the detection value, and may include an amplifier, a filter, etc., and the transfer function of the feedback unit 13 may also be adjustable by modifying parameters.
[0015] The measurement command creation unit 14 creates a measurement command for inputting an appropriate torque command to the servo amplifier 2 in order to adjust the parameters of the torque command creation unit 12 and the feedback unit 13. The measurement command may be a speed command input to the torque command creation unit 12, or a torque command input directly to the servo amplifier 2. The measurement command creation unit 14 in this embodiment is configured to generate a speed command to be input to the torque command creation unit 12 based on data specifying the waveform, frequency, amplitude, etc. of the measurement command. The measurement command creation unit 14 may be configured integrally with the operation command creation unit 11. In other words, the measurement command creation unit 14 may be configured to create a measurement command by having the operation command creation unit 11 refer to different data.
[0016] The measurement command may be a periodic vibration command such as a sine wave, rectangular wave, or triangular wave, a ramp command with a constant acceleration, an impulse command, or a command with irregularities such as an M-sequence signal, and is typically a sine wave signal, and is selected depending on the response characteristic value calculated by the response characteristic calculation unit 15. Furthermore, the measurement command creation unit 14 is preferably configured to sweep the frequency of the periodic measurement command, that is, to continuously change the frequency, in order to calculate a response characteristic value indicating the frequency response characteristic in the response characteristic calculation unit 15.
[0017] The measurement command generating unit 14 is configured to be able to change the amplitude of the measurement command in accordance with instructions from the amplitude determining unit 16. It is preferable that the measurement command generating unit 14 sets the initial value of the amplitude of the measurement command to a sufficiently small value and gradually increases the amplitude of the measurement command in accordance with instructions from the amplitude determining unit 16. This makes it possible to specify an appropriate amplitude of the measurement command while suppressing response divergence with relatively simple control.
[0018] The response characteristic calculation unit 15 calculates a response characteristic value that indicates the response characteristic of the detected speed value to the measurement command. Preferably, the response characteristic calculation unit 15 calculates at least one of the gain and phase difference of the detected speed value to the sinusoidal measurement command as the response characteristic value for each frequency of the measurement command, i.e., calculates the frequency response characteristic. By optimizing the amplitude of the measurement command based on the frequency response characteristic calculated by the response characteristic calculation unit 15, it is possible to appropriately optimize the control loop using the frequency response characteristic based on well-known techniques.
[0019] If the response characteristic value does not satisfy a predetermined judgment condition, the amplitude judgment unit 16 causes the measurement command creation unit 14 to change the amplitude of the measurement command. As described above, it is preferable that the initial value of the amplitude of the measurement command is set to a sufficiently small value, and the amplitude judgment unit 16 is configured to increase the amplitude if the response characteristic value does not satisfy the judgment condition.
[0020] The judgment condition may be that the difference between the maximum and minimum gain values is equal to or less than a predetermined judgment threshold. If the amplitude of the measurement command is inappropriate, the gain in a specific frequency range may become abnormally small due to, for example, friction, or may become abnormally large due to, for example, mechanical resonance. Therefore, if the difference between the maximum and minimum gain values is sufficiently small, it can be determined that such an undesirable phenomenon has not occurred.
[0021] The determination condition may be that the gain in a predetermined frequency range is equal to or greater than a predetermined determination threshold. Alternatively, the determination condition may be that the ratio of the gain in the predetermined frequency range to the gain in another frequency range or the entire frequency range is equal to or greater than a predetermined determination threshold. For example, the frequency range in which a decrease in gain due to friction or the like occurs can often be predicted in advance. Therefore, if the ratio of the gain in the predetermined frequency range to the gain in another frequency range is sufficiently large, it can be determined that no adverse effects due to expected friction or the like are occurring.
[0022] The judgment condition may be that the gain at the beginning of the frequency sweep of the measurement command is equal to or greater than a predetermined judgment threshold. For example, a decrease in gain due to friction or the like is likely to occur particularly in the low frequency range. Therefore, if the gain at the beginning of the frequency sweep is sufficiently large, it can be determined that no adverse effects due to friction or the like are occurring.
[0023] The judgment condition may be that the difference between the representative value of the gain before and after changing the amplitude of the measurement command is equal to or less than a predetermined judgment threshold. For example, the amount of gain reduction due to friction or the like often varies depending on the amplitude of the measurement command. Therefore, if the gain does not change significantly even when the amplitude of the measurement command is changed, it can be determined that no adverse effects due to friction or the like are occurring.
[0024] The amplitude determination unit 16 may be configured to return the amplitude of the measurement command to a previous value when the response characteristic value reaches a preset limit value and to reduce the amount of change in the amplitude of the measurement command when the determination condition is not met. When the response characteristic value reaches a preset limit value, for example, when the gain or phase difference becomes too large, it is likely that the amount of change in the amplitude of the measurement command is too large and the optimal amplitude has been exceeded. Therefore, it is preferable to return the amplitude of the measurement command to a previous value, reduce the amount of change in the amplitude, and start searching for the optimal amplitude of the measurement command again.
[0025] The amplitude determination unit 16 can set the amount of change in the amplitude of the measurement command to a constant value, or can set the amount of change in the amplitude of the measurement command to a value of an increasing function, such as a linear function or a quadratic function, with the current value of the amplitude as a variable. In this way, by optimizing the amount of change in the amplitude of the measurement command, it is possible to efficiently identify an appropriate amplitude for the measurement command.
[0026] The amplitude determination unit 16 may adjust the amount of change in the amplitude of the measurement command according to the response characteristic value. For example, if the gain is determined to be excessively small, it is thought that an appropriate amplitude of the measurement command can be identified more efficiently by increasing the amount of change in the amplitude.
[0027] The amplitude judgment unit 16 may be configured to stop outputting a measurement command to the measurement command generation unit 14 when it determines that the judgment condition is not satisfied. For example, if the amplitude judgment unit 16 can determine that the judgment condition is not satisfied during the sweep of the frequency of the measurement command, it may end the amplitude adjustment of the measurement command without waiting for the completion of the sweep of the frequency of the measurement command. Note that the measurement command generation unit 14 may start issuing a measurement command for parameter adjustment of the speed control loop immediately after the amplitude adjustment is completed, without providing a stop period. Specifically, when the amplitude judgment unit 16 determines that the judgment condition is satisfied, the parameter adjustment unit 17 may start outputting a measurement command for parameter adjustment simultaneously with the completion of the sweep of the frequency of the measurement command.
[0028] The parameter adjustment unit 17 causes the measurement command creation unit 14 to output a measurement command for the amplitude optimized by the amplitude determination unit 16, checks the speed detection value of the speed detector 31, the response characteristic value calculated by the response characteristic calculation unit 15, etc., and adjusts the parameters of at least one of the torque command creation unit 12 and the feedback unit 13, thereby improving the control characteristics of the motor 3 by the motor control device 1. Such adjustment of the control characteristics can be performed based on well-known techniques. By using the measurement command for the amplitude optimized by the amplitude determination unit 16, it is possible to ensure appropriate adjustment of the control characteristics.
[0029] 2 shows the procedure for adjusting the amplitude of a measurement command by the motor control device 1. The amplitude adjustment of a measurement command includes an amplitude initialization step (step S1), a response characteristic measurement step (step S2), a limit value confirmation step (step S3), a change amount correction step (step S4), an amplitude return step (step S5), an amplitude determination step (step S6), and an amplitude change step (step S7).
[0030] In the amplitude initialization step of step S1, the amplitude of the measurement command from the measurement command generator 14 is set to an initial value.
[0031] In the response characteristic measurement step of step S2, the measurement command generator 14 outputs a measurement command, and the response characteristic calculator 15 calculates a response characteristic value.
[0032] In the limit value confirmation step of step S3, it is confirmed whether the response characteristic value has reached the limit value. If the response characteristic value has reached the limit value, the process proceeds to step S4, and if the response characteristic value has not reached the limit value, the process proceeds to step S6.
[0033] In the change amount correction step of step S4, the setting is changed so as to reduce the change amount of the amplitude of the measurement command by the amplitude determination unit 16.
[0034] In the amplitude return process of step S5, the amplitude of the measurement command from the measurement command generator 14 is returned to the previous amplitude, i.e., the amplitude before the previous execution of step S6. After this amplitude return process is executed, the process returns to step S2 and starts over from measuring the response characteristic value.
[0035] In the amplitude determination step of step S6, the amplitude determination unit 16 evaluates the response characteristic value and determines whether or not the amplitude of the measurement command needs to be changed. If it is determined that the amplitude of the measurement command needs to be changed, the process proceeds to step S7, but if it is determined that the amplitude of the measurement command does not need to be changed, the measurement command generation unit 14 stops outputting the measurement command, and the amplitude adjustment process ends.
[0036] In the amplitude changing step of step S7, the amplitude of the measurement command from the measurement command generating unit 14 is changed, and then the process returns to step S2 to start over from measuring the response characteristic value.
[0037] After the amplitude adjustment shown in FIG. 2 is completed, the parameter adjustment unit 17 automatically adjusts the control parameters in a known manner using a measurement command.
[0038] As described above, the motor control device 1 that performs amplitude adjustment optimizes the amplitude of the measurement command used to automatically adjust the control parameters, thereby reliably optimizing the control characteristics to suit the motor 3 and its load.
[0039] The following supplementary note is further disclosed regarding the above embodiment. (Supplementary Note 1) A motor control device (1) includes a torque command creation unit (12) that creates a torque command for driving a motor in response to an input speed command, an operation command creation unit (11) that creates an operation command that is a speed command that is input to the torque command creation unit (12) to operate the motor, a measurement command creation unit (14) that creates a measurement command that is the speed command that is input to the torque command creation unit (12) to adjust the torque command creation unit (12) or a torque command that drives the motor, a response characteristic calculation unit (15) that calculates a response characteristic value that indicates the response characteristic of the speed detection value to the measurement command, and an amplitude determination unit (16) that causes the measurement command creation unit (14) to change the amplitude of the measurement command if the response characteristic value does not satisfy a predetermined determination condition.
[0040] (Supplementary Note 2) The measurement command is a sinusoidal command whose frequency is swept, and the response characteristic calculation unit may calculate at least one of a gain and a phase difference of the speed detection value with respect to the measurement command as the response characteristic value for each frequency of the measurement command.
[0041] (Supplementary Note 3) The judgment condition may be that the difference between the maximum and minimum values of the gain is equal to or less than a preset judgment threshold value.
[0042] (Supplementary Note 4) The judgment condition may be that the gain in a predetermined frequency range is equal to or greater than a predetermined judgment threshold.
[0043] (Supplementary Note 5) The judgment condition may be that the ratio of the gain in a predetermined frequency range to the gain in another frequency range or the entire frequency range is equal to or greater than a predetermined judgment threshold.
[0044] (Supplementary Note 6) The judgment condition may be that the gain at the beginning of the sweep of the frequency of the measurement command is equal to or greater than a preset judgment threshold value.
[0045] (Supplementary Note 7) The judgment condition may be that the difference between the representative value of the gain before and after changing the amplitude of the measurement command is equal to or less than a predetermined judgment threshold value.
[0046] (Supplementary Note 8) When the amplitude determining unit (16) determines that the determination condition is satisfied, the amplitude determining unit (16) may cause the measurement command generating unit (14) to stop outputting the measurement command.
[0047] (Supplementary Note 9) When the response characteristic value reaches a preset limit value, the amplitude determination unit (16) may return the amplitude of the measurement command to the previous value, and may reduce the amount of change in the amplitude of the measurement command when the determination condition is not satisfied.
[0048] (Supplementary Note 10) The amplitude determination unit (16) may set the amount of change in the amplitude of the measurement command to a constant value or to a value of an increasing function with the current value of the amplitude as a variable.
[0049] (Supplementary Note 11) The amplitude determination unit (16) may adjust the amount of change in the amplitude of the measurement command according to the response characteristic value.
[0050] Although the present disclosure has been described in detail above, the present disclosure is not limited to the individual embodiments described above. Various additions, substitutions, modifications, partial deletions, etc. are possible in these embodiments without departing from the gist of the present disclosure or the spirit of the present disclosure derived from the content of the claims and their equivalents. These embodiments can also be implemented in combination. For example, in the above-described embodiments, the order of each operation and the order of each process are shown as examples and are not limited to these. The same applies when numerical values or mathematical expressions are used in the description of the above-described embodiments.
[0051] For example, the motor control device according to the present disclosure may be configured to perform open-loop control without feedback to the torque command generation unit when operating the motor according to the operation program.
[0052] REFERENCE SIGNS LIST 1 Motor control device 11 Operation command generation unit 12 Torque command generation unit 13 Feedback unit 14 Measurement command generation unit 15 Response characteristic calculation unit 16 Amplitude determination unit 17 Parameter adjustment unit 2 Servo amplifier 3 Servo motor 31 Speed detector
Claims
1. a torque command generator that generates a torque command for driving a motor in response to an input speed command; an operation command generation unit that generates an operation command, which is the speed command input to the torque command generation unit, in order to operate the motor; a measurement command generating unit that generates a measurement command, which is the speed command input to the torque command generating unit or the torque command for driving the motor, in order to adjust the torque command generating unit; a response characteristic calculation unit that calculates a response characteristic value indicating a response characteristic of the speed detection value of the motor to the measurement command; an amplitude determination unit that causes the measurement command generation unit to change the amplitude of the measurement command when the response characteristic value does not satisfy a predetermined determination condition; A motor control device comprising:
2. the measurement command is a sine wave command whose frequency is swept, The motor control device according to claim 1 , wherein the response characteristic calculation unit calculates, as the response characteristic value, at least one of a gain and a phase difference of the speed detection value with respect to the measurement command for each frequency of the measurement command.
3. 3. The motor control device according to claim 2, wherein the determination condition is that a difference between a maximum value and a minimum value of the gain in a preset frequency range is equal to or smaller than a preset determination threshold value.
4. The motor control device according to claim 2 , wherein the determination condition is that the gain in a preset frequency range is equal to or greater than a preset determination threshold value.
5. 3. The motor control device according to claim 2, wherein the determination condition is that a ratio of the gain in a preset frequency range to the gain in another frequency range or the entire frequency range is equal to or greater than a preset determination threshold value.
6. 3. The motor control device according to claim 2, wherein the determination condition is that the gain at an initial stage of a sweep of the frequency of the measurement command is equal to or greater than a preset determination threshold value.
7. 3. The motor control device according to claim 2, wherein the judgment condition is that a difference between the representative value of the gain before changing the amplitude of the measurement command and the representative value after changing the amplitude of the measurement command is equal to or smaller than a predetermined judgment threshold value.
8. The motor control device according to claim 1 , wherein the amplitude determination unit causes the measurement command creation unit to stop outputting the measurement command when it determines that the determination condition is not satisfied.
9. 8. The motor control device according to claim 1, wherein the amplitude determination unit returns the amplitude of the measurement command to a previous value when the response characteristic value reaches a preset limit value, and reduces an amount of change in the amplitude of the measurement command when the determination condition is not satisfied.
10. 8. The motor control device according to claim 1, wherein the amplitude determination unit sets the amount of change in the amplitude of the measurement command to a constant value or to a value of an increasing function with a current value of the amplitude as a variable.
11. The motor control device according to claim 1 , wherein the amplitude determination unit adjusts an amount of change in the amplitude of the measurement command in accordance with the response characteristic value.