Motor control device
Patent Information
- Application Number
- PCT/JP2023/028750
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2023-08-07
- Publication Date
- 2025-02-13
Smart Images

Figure JP2023028750_13022025_PF_FP_ABST
Abstract
Description
Motor control device
[0001] The present disclosure relates to a motor control device that controls a motor that drives a mechanical load.
[0002] In a motor control device that connects a mechanical load and a motor, it is necessary to determine control parameters based on the inertia ratio between the mechanical load and the motor and the resonance characteristics of the machine. When the speed control bandwidth of a motor control device is expanded to improve control performance, vibrations at the machine's resonance frequency may occur. Therefore, in order for the motor control device to perform stable and highly responsive control, it is necessary to adjust the control characteristics of the speed controller and the frequency characteristics of the filter so that the motor's control bandwidth is expanded while vibrations at the resonance frequency are reduced.
[0003] For example, when a notch filter is used as a filter in a motor control device, it is necessary to adjust the notch frequency, which is the center frequency of the band in which the input signal is attenuated, the attenuation width (bandwidth), and the depth (attenuation amplitude). To manually adjust the filter's frequency characteristics, an operator must repeatedly operate the mechanical system and measure the response to the operation each time the filter parameters and speed controller parameters (e.g., control gain) are changed to determine whether the frequency characteristics are good or bad. Furthermore, to suppress the effects of disturbances in order to improve the control performance of the motor control device, the operator must increase not only the proportional gain but also the integral gain to an appropriate level, using trial and error to check whether stability deteriorates and vibration occurs. Therefore, a motor control device is desired that allows for easy filter adjustment.
[0004] The motor control device described in Patent Document 1 includes an oscillation instruction unit that outputs an oscillation instruction signal and a filter unit having frequency characteristics defined by filter parameters. This motor control device also includes a forced oscillation unit that forms a control loop together with the filter unit, current control unit, motor, and speed calculation unit and oscillates the control loop during an oscillation period when the oscillation instruction signal is on. This motor control device obtains an evaluation value that is the ratio of the amplitude of the input signal to the output signal of the forced oscillation unit when the control loop oscillates during the oscillation period, compares the evaluation values when multiple filter parameter candidates are set in the filter unit in sequence, selects the filter parameter with the lowest evaluation value, and sets it in the filter unit.
[0005] International Publication No. 2017 / 208701
[0006] However, the technology of Patent Document 1 encounters a problem when mechanical resonance exists near the control band (gain crossover frequency). Specifically, in such cases, if the control band, i.e., the proportional gain, is determined first, and then the integral gain is increased to a magnitude estimated to be optimal for disturbance suppression, the integral gain also changes the control characteristics of a frequency band close to the control band, resulting in a significant change in the control characteristics and possibly causing vibration. Therefore, the technology of Patent Document 1 has a problem in that it may be difficult to easily adjust the filter parameters and control parameters that maximize the control band and optimize the disturbance suppression effect.
[0007] The present disclosure has been made in consideration of the above, and aims to provide a motor control device that can easily adjust filter parameters and control parameters to maximize the control band and optimize the disturbance suppression effect.
[0008] To solve the above-mentioned problems and achieve the object, the present disclosure provides a motor control device that controls a motor by calculating a torque command, which is a command value for the torque of the motor, based on a speed signal representing the speed of the motor connected to a mechanical load and a speed command, which is a command value for the motor speed. The motor control device includes a speed calculation unit that outputs the speed signal. The motor control device also includes: a speed control unit that has control characteristics defined by control parameters including a speed gain and an integral gain, and performs calculations on the deviation between the speed command and the speed signal, including a proportional calculation using the speed gain and an integral calculation using the integral gain, and outputs the calculation results; and a filter unit that has frequency characteristics defined by filter parameters and performs filtering corresponding to the filter parameters on a signal based on the output from the speed control unit. The motor control device also includes: a current control unit that supplies current to the motor based on the output from the filter unit so as to generate a torque corresponding to the torque command, and an oscillation instruction unit that outputs an oscillation instruction signal, which is an ON signal that instructs the motor to perform oscillation or an OFF signal that instructs the motor to stop oscillation. The motor control device of the present disclosure also includes a forced oscillation unit that, during an oscillation period when an oscillation instruction signal is on, forms a control loop for the oscillation period together with a speed control unit, a filter unit, a current control unit, a motor, and a speed calculation unit, oscillates the control loop during the oscillation period by self-excited oscillation, receives as input a first operation signal corresponding to a calculation result output from the speed control unit, and outputs a second operation signal obtained by varying the first operation signal, and an amplitude evaluation unit that, when the control loop is oscillated during the oscillation period by the forced oscillation unit, calculates margin estimates corresponding to control parameters and filter parameters, the margin estimates being values based on the ratio of the amplitude of the second operation signal to the amplitude of the first operation signal.The motor control device of the present disclosure also includes a parameter adjustment unit that, while the oscillation instruction unit repeatedly turns the oscillation instruction signal on and off, provisionally sets one candidate set at a time from a plurality of candidate sets including candidates for the control parameters and candidates for the filter parameters in the speed control unit and the filter unit, selects one candidate set from the candidate sets based on the margin estimates for each candidate set calculated by the amplitude evaluation unit, and finally sets the selected candidate set in the speed control unit and the filter unit.
[0009] The motor control device according to the present disclosure has the advantage of being able to easily adjust filter parameters and control parameters that maximize the control band and optimize the disturbance suppression effect.
[0010] FIG. 1 is a block diagram showing a configuration of a mechanical system including a motor control device according to a first embodiment; FIG. 2 is a block diagram showing a control loop in an oscillation period configured when an oscillation instruction signal is in an ON state in the motor control device according to the first embodiment; FIG. 3 is a block diagram showing a configuration of a parameter adjustment unit included in the motor control device according to the first embodiment; FIG. 4 is a diagram for explaining a transfer function of the control loop configured in the motor control device according to the first embodiment;
[0011] A motor control device according to an embodiment of the present disclosure will be described in detail below with reference to the drawings.
[0012] 1 is a block diagram showing the configuration of a mechanical system including a motor control device according to embodiment 1. As shown in Fig. 1, the mechanical system 1A includes a motor control device 10, a motor M, a motor position detector 2, and a mechanical load 3.
[0013] In the mechanical system 1A, a motor control device 10 is connected to a motor M and a motor position detector 2. Furthermore, in the mechanical system 1A, the motor M is connected to the motor position detector 2 and is also coupled to a mechanical load 3.
[0014] Motor control device 10 receives as input a position signal Pfb that indicates the position of motor M, and outputs a current Io. Current Io is a current that causes motor M to generate torque corresponding to torque command Tr. Motor M generates torque that follows torque command Tr using current Io. Motor position detector 2 detects the position of motor M and outputs the result as position signal Pfb to motor control device 10. In embodiment 1, the entire moving part consisting of motor M, mechanical load 3, and motor position detector 2 is referred to as the controlled object. Here, the position of motor M refers to the rotational position of a mover provided inside motor M, or the relative position of the mover with respect to the stator. In other words, the position of motor M is the operational position of motor M.
[0015] The motor control device 10 has as its components a speed calculation unit 11, a subtractor 12, an oscillation instruction unit 13, a speed control unit 14, a forced oscillation unit 15, a parameter adjustment unit 16, a filter unit 17, a current control unit 18, and an amplitude evaluation unit 19.
[0016] The oscillation instruction unit 13 outputs an oscillation instruction signal Rt, which is a signal indicating either ON, which instructs the execution of oscillation, or OFF, which instructs the stop of oscillation, to the forced oscillation unit 15. The oscillation instruction unit 13 starts operation based on an operation from outside the mechanical system 1A, and alternately repeats oscillation ON and oscillation OFF until a specific end condition is met. That is, the oscillation instruction unit 13 repeats outputting the oscillation instruction signal Rt, which instructs the on-state of oscillation, and outputting the oscillation instruction signal Rt, which instructs the off-state of oscillation, until a specific end condition is met.
[0017] In the following description, the period during which oscillation instruction signal Rt is on is referred to as the oscillation period, and the period during which oscillation instruction signal Rt is off is referred to as the normal control period. The oscillation instruction signal Rt is off when oscillation instruction unit 13 has not yet started operating and when oscillation instruction unit 13 has finished operating. When control parameters Cp and filter parameters Fp (described below) are finally determined and motor control device 10 performs normal motor control, oscillation instruction unit 13 outputs a signal in which oscillation instruction signal Rt is off. The following describes motor control device 10 up until control parameters Cp and filter parameters Fp are finally determined.
[0018] The oscillation instruction unit 13 alternately outputs ON and OFF signals of the oscillation instruction signal Rt the same number of times as the number of parameter candidate sets (candidate sets) described below. That is, the oscillation instruction unit 13 outputs ON and OFF signals of the oscillation instruction signal Rt once for each candidate set. When a new candidate set is set, the oscillation instruction unit 13 outputs ON and OFF signals of the oscillation instruction signal Rt once for the new candidate set.
[0019] The oscillation period during which the oscillation instruction signal Rt is in the ON state is set to a period long enough to oscillate the control loop CL0 (described later).The normal control period during which the oscillation instruction signal Rt is in the OFF state is set to a period long enough to stop the oscillation during the oscillation period.
[0020] The speed calculation unit 11 receives the position signal Pfb as an input, calculates and outputs a speed signal Vfb that indicates the speed of the motor M. The speed calculation unit 11 obtains the speed signal Vfb, for example, by differentiating the position signal Pfb. The speed calculation unit 11 sends the calculated speed signal Vfb to a subtractor 12.
[0021] Subtractor 12 calculates the deviation between speed command Vr, which is a signal indicating a command value for the speed of motor M, and speed signal Vfb, and outputs the deviation as speed deviation Ve to speed control unit 14. Speed command Vr is a command calculated from a control program used by motor control device 10 when controlling the controlled object.
[0022] The speed control unit 14 is connected to the subtractor 12, the parameter adjustment unit 16, the amplitude evaluation unit 19, and the forced oscillation unit 15. The speed control unit 14 receives the speed deviation Ve from the subtractor 12. The speed control unit 14 calculates the sum of proportional compensation obtained by multiplying the speed deviation Ve by a speed gain Kv, which is one of the control parameters Cp, and integral compensation obtained by multiplying the speed deviation Ve by an integral gain Ki, which is also one of the control parameters Cp, and integrating the result. The speed control unit 14 outputs the calculation result of the sum of the proportional compensation and the integral compensation as a PI (Proportional Integral) manipulated variable upi. That is, the speed control unit 14 performs a calculation represented by the transfer function of the following equation (1):
[0023]
[0024] That is, the speed control unit 14 calculates upi(s) by calculating Ve(s) × Kv × (s + wPI) / s, where s represents the Laplace operator. The calculation of equation (1) is generally called PI control, and has a break frequency (PI break frequency) wPI (rad / sec), which is the frequency of the zero point of the transfer function of the speed control unit 14. The break frequency wPI is the boundary between the frequency band where integral compensation is dominant and the frequency band where proportional compensation is dominant. Note that the integral compensation in equation (1) may be not only a perfect integral, but also an imperfect integral having a small pole.
[0025] In this way, the speed control unit 14 receives the speed deviation Ve as an input and outputs the PI control input upi, which is then output to the amplitude evaluation unit 19 and the forced oscillation unit 15.
[0026] The forced oscillation unit 15 is connected to the oscillation instruction unit 13, the speed control unit 14, the amplitude evaluation unit 19, and the filter unit 17. The forced oscillation unit 15 receives the PI manipulated variable upi from the speed control unit 14. The forced oscillation unit 15, together with the filter unit 17, the current control unit 18, the motor M, the speed calculation unit 11, and the speed control unit 14, forms a control loop CL0 during the oscillation period and operates to oscillate the control loop CL0 during the oscillation period. Specifically, the forced oscillation unit 15 receives the PI manipulated variable upi, which is the output of the speed control unit 14, as a first operation signal u1. During the oscillation period, the forced oscillation unit 15 receives the first operation signal u1 and the oscillation instruction signal Rt as inputs and outputs a second operation signal u2.
[0027] Upon receiving the first operation signal u1 and the oscillation instruction signal Rt, the forced oscillation unit 15 outputs a second operation signal u2 whose amplitude varies by a predetermined magnitude around an operation signal reference value u0, described later, depending on whether the first operation signal u1 is larger or smaller than an operation signal reference value u0, during an oscillation period in which the oscillation instruction signal Rt instructs oscillation on. That is, during the oscillation period, the forced oscillation unit 15 outputs the second operation signal u2 whose amplitude is varied by a predetermined magnitude around the operation signal reference value u0, depending on whether the first operation signal u1 is larger or smaller than the operation signal reference value u0.
[0028] In this way, the forced oscillation unit 15 outputs a signal calculated to have a predetermined amplitude through nonlinear calculation based on the input first operation signal u1. In other words, the forced oscillation unit 15 outputs a signal calculated to forcibly oscillate at a specific amplitude centered on the operation signal reference value u0 based on the difference between the first operation signal u1 and the operation signal reference value u0 input to the forced oscillation unit 15 during the oscillation period. The amplitude of the second operation signal u2 at this time is referred to as the operation amplitude (second operation amplitude Ua2, described below). Here, the predetermined amplitude is set for operation during the oscillation period at a value smaller than the upper limit of current determined by the specifications of the motor control device 10 or the motor M.
[0029] Specifically, the forced oscillation unit 15 sets the first operation signal u1 at the start of the oscillation period, i.e., at the moment when the oscillation instruction signal Rt instructs to turn on oscillation, as the operation signal reference value u0. Alternatively, the forced oscillation unit 15 sets the value of a signal obtained by smoothing the first operation signal u1 using an appropriate low-pass filter or the like at the moment when the oscillation instruction signal Rt instructs to turn on oscillation, as the operation signal reference value u0.
[0030] Furthermore, during an oscillation period in which the oscillation instruction signal Rt instructs oscillation on, the forced oscillation unit 15 selects either the value u0 + Ua2 or the value u0 - Ua2 as the second operation signal u2 depending on the sign of the deviation ue between the first operation signal u1 and the operation signal reference value u0. If the sign of the deviation ue is positive, the forced oscillation unit 15 selects the value u0 + Ua2 as the second operation signal u2, and if the sign of the deviation ue is negative, the forced oscillation unit 15 selects the value u0 - Ua2 as the second operation signal u2. If the deviation ue is 0, the forced oscillation unit 15 may select either the value u0 + Ua2 or the value u0 - Ua2 as the second operation signal u2.
[0031] In making this selection, the forced oscillation unit 15 may select either the value of u0+Ua2 or the value of u0-Ua2 depending on the sign of the signal resulting from applying a low-pass filter to the deviation ue.
[0032] In addition, the forced oscillation unit 15 may not simply select the value of u0+Ua2 or u0-Ua2 according to the sign of the deviation ue, but may also select either the value of u0+Ua2 or u0-Ua2 based on a signal that gives the deviation ue a nonlinear hysteresis characteristic.
[0033] The forced oscillation unit 15 outputs the selected second operation signal u2 to the filter unit 17 and the amplitude evaluation unit 19 during the oscillation period in which the oscillation instruction signal Rt instructs that oscillation be turned on.
[0034] In this way, the forced oscillation unit 15 sets the first operation signal u1 at the moment when the oscillation instruction signal Rt instructs oscillation on to the operation signal reference value u0, so that even if a steady disturbance such as a gravitational load acts on the motor M, it becomes possible to operate the motor M without being affected by the steady disturbance. In other words, the forced oscillation unit 15 becomes possible to operate the motor M without receiving a load torque even in a situation where a steady load torque acts on the motor M.
[0035] Although the above description has been given of the case where the forced oscillation unit 15 selects either the value u0+Ua2 or the value u0-Ua2 as the second operation signal u2 depending on the sign of the deviation ue, the forced oscillation unit 15 can also perform a similar calculation by, for example, limiting the signal obtained by multiplying the deviation ue by a large proportional coefficient to u0+Ua2 or u0-Ua2. The forced oscillation unit 15 may also perform a calculation to multiply the deviation ue by a proportional coefficient, and perform the multiplication while correcting the proportional coefficient so that the output amplitude becomes Ua2.
[0036] During the normal control period when oscillation instruction signal Rt instructs OFF, forced oscillation unit 15 outputs first operation signal u1 as is as second operation signal u2 to filter unit 17 and amplitude evaluation unit 19. When control parameter Cp and filter parameter Fp (described below) are finally determined and motor control device 10 executes normal motor control, forced oscillation unit 15 outputs first operation signal u1 as is as second operation signal u2 to filter unit 17 and amplitude evaluation unit 19.
[0037] The amplitude evaluation unit 19 receives a first operation signal u1 from the speed control unit 14 and a second operation signal u2 from the forced oscillation unit 15. The amplitude evaluation unit 19 evaluates the oscillation state of the control loop CL0 during the oscillation period based on the first operation signal u1 and the second operation signal u2. The amplitude evaluation unit 19 outputs an estimated margin value Em, which is the evaluation result (measurement result), to the parameter adjustment unit 16. The estimated margin value Em corresponds to the magnitude of the gain margin, which will be described later.
[0038] The margin estimate Em is an evaluation result of the oscillation state of the control loop CL0 during the oscillation period, and corresponds to the magnitude of the margin with respect to the stability limit of the control loop CL0 (the margin of the stability limit).
[0039] The parameter adjustment unit 16 holds a plurality of parameter sets (candidate sets) each consisting of a candidate for the control parameter Cp of the speed control unit 14 and a candidate for the filter parameter Fp of the filter unit 17. The parameter adjustment unit 16 sets (provisionally sets) one of the plurality of candidate sets to each of the speed control unit 14 and the filter unit 17 in a predetermined order.
[0040] The process in which the parameter adjustment unit 16 sets each of the candidate sets in turn to the speed control unit 14 and the filter unit 17 is a provisional setting process for determining the control parameter Cp and the filter parameter Fp, and is not a final setting process.
[0041] Based on the margin estimate value Em measured in the oscillation test after each candidate set is set, the parameter adjustment unit 16 determines the control parameter Cp and filter parameter Fp that satisfy the predetermined stability constraint conditions and have the largest target value, which will be described later, as the final parameter determination values.
[0042] In this way, the parameter adjusting unit 16 determines, from among the plurality of candidate sets, the candidate set that satisfies the stability constraint and has the largest target value, based on the margin estimate Em. As a result, the parameter adjusting unit 16 determines, as the final parameter determination values, the control parameters Cp and the filter parameters Fp whose gain margin and phase margin satisfy the stability constraint and have the largest response performance.
[0043] The final parameter determination values are the control parameters Cp and the filter parameters Fp that are ultimately applied to the motor control device 10. By operating using the final parameter determination values, the motor control device 10 can achieve stable and highly responsive control.
[0044] The filter unit 17 receives the second operation signal u2 from the forced oscillation unit 15. The filter unit 17 calculates a torque command Tr by filtering the second operation signal u2, and outputs the calculated torque command Tr to the current control unit 18.
[0045] The current control unit 18 receives the torque command Tr from the filter unit 17. The current control unit 18 supplies the motor M with a current Io for generating a torque corresponding to the torque command Tr.
[0046] Next, the operation of the motor control device 10 when the oscillation instruction signal Rt is in the ON state will be described with reference to Fig. 2. Fig. 2 is a block diagram showing a control loop during an oscillation period configured when the oscillation instruction signal Rt is in the ON state in the motor control device according to the first embodiment. Fig. 2 shows a control loop CL0 during the oscillation period extracted from the mechanical system 1A.
[0047] 2, the control loop CL0 during the oscillation period includes a speed calculation unit 11, a speed control unit 14, a forced oscillation unit 15, a filter unit 17, a current control unit 18, and a motor M. In FIG. 2, the control loop CL0 during the oscillation period also includes a subtractor 12 and a motor position detector 2.
[0048] When the oscillation instruction signal Rt is turned on, the motor control device 10 executes an oscillation test. That is, in the motor control device 10, the above-described forced oscillation unit 15 operates to oscillate the control loop CL0 during the oscillation period.
[0049] The control loop CL0 during the oscillation period may include the filter unit 17, the current control unit 18, the motor M, the speed calculation unit 11, and the forced oscillation unit 15. In the second and subsequent embodiments, the control loop during the oscillation period is configured in the same manner as the control loop CL0 of the first embodiment.
[0050] When the control loop CL0 oscillates during the oscillation period, the first operation signal u1 output from the speed control unit 14 and the second operation signal u2 output from the forced oscillation unit 15 oscillate steadily at a constant cycle. This oscillation is due to self-excited oscillation, which is generally called a limit cycle.
[0051] The filter unit 17 receives the second operation signal u2 as input, and performs filtering to filter the second operation signal u2 to output the calculated torque command Tr. The frequency characteristics of the filter of the filter unit 17 are defined based on a filter parameter Fp, and the frequency characteristics are variable depending on the filter parameter Fp.
[0052] As described above, during the normal control period when the oscillation instruction signal Rt is in the OFF state, the second operation signal u2 output by the forced oscillation unit 15 is the same as the first operation signal u1. Therefore, during the normal control period, the filter unit 17 performs filtering on the first operation signal u1 and outputs the torque command Tr.
[0053] In the first embodiment, the filter used for calculations in the filter unit 17 is configured as a product of a low-pass filter and a notch filter. In this case, the filter parameters Fp include a notch frequency wn that is the center frequency of the notch filter, coefficients za and zb that respectively define the width (bandwidth) and depth (attenuation amplitude) of the notch filter, and a cutoff frequency wl of the low-pass filter.
[0054] The filter parameter Fp includes a switch for enabling or disabling the notch filter and a switch for enabling or disabling the low-pass filter. Here, the notch filter being disabled indicates a state in which its transfer function is "1." Similarly, the low-pass filter being disabled indicates a state in which its transfer function is "1."
[0055] The transfer function LPF of the low-pass filter in an effective state and the transfer function NF of the notch filter in an effective state are expressed by the following equations (2) and (3), respectively, using a filter parameter Fp.
[0056]
[0057]
[0058] Here, s represents a Laplace operator. Note that, although the coefficients of a transfer function in a continuous system are used as the filter parameters Fp here, the coefficients of a transfer function in a discrete system may also be used as the filter parameters Fp. Furthermore, the filter unit 17 may have other configurations as long as the frequency characteristics of the filter are defined based on parameters. For example, the filter unit 17 may include two or more low-pass filters arranged in series, or the filter unit 17 may include a filter such as a phase lead filter or a phase lag filter. Furthermore, the filter unit 17 may include multiple notch filters.
[0059] The current control unit 18 receives the torque command Tr as an input and supplies the current Io for generating a torque corresponding to the torque command Tr to the motor M. In this manner, the motor M is controlled.
[0060] The amplitude evaluation unit 19 evaluates the oscillation state of the control loop CL0 during the oscillation period, particularly the amplitude of the signal of the control loop CL0 during the oscillation period. Specifically, the amplitude evaluation unit 19 receives from the speed control unit 14 the first operation signal u1 input to the forced oscillation unit 15, and receives from the forced oscillation unit 15 the second operation signal u2 output from the forced oscillation unit 15. The amplitude evaluation unit 19 thereby obtains a first operation amplitude Ua1, which is the amplitude of the first operation signal u1, and a second operation amplitude Ua2, which is the amplitude of the second operation signal u2. The amplitude evaluation unit 19 may calculate the second operation amplitude Ua2 as the maximum absolute value of the signal during the period from when the sign of the second operation signal u2 changes to when the sign changes again. Furthermore, if the second operation amplitude Ua2 is a rectangular wave signal based on the operation of the forced oscillation unit 15, the amplitude evaluation unit 19 can obtain the second operation amplitude Ua2 by taking the absolute value of the second operation signal u2. The amplitude evaluation unit 19 may also calculate the maximum absolute value of the signal during the period from when the sign of the first operation signal u1 changes until the sign changes again as the first operation amplitude Ua1.
[0061] Furthermore, the amplitude evaluation unit 19 may determine, as the first operation amplitude Ua1, a signal with a maximum spectrum among spectra obtained by performing FFT (Fast Fourier Transform) on the first operation signal u1. Alternatively, the amplitude evaluation unit 19 may determine, as the first operation amplitude Ua1, an amplitude at a frequency with a maximum spectrum.
[0062] Furthermore, the amplitude evaluation unit 19 calculates the ratio of the second operation amplitude Ua2 to the first operation amplitude Ua1 as the margin estimate Em. The amplitude evaluation unit 19 outputs the margin estimate Em immediately before the oscillation instruction signal Rt changes from on to off to the parameter adjustment unit 16. However, the method of calculating the margin estimate Em by the amplitude evaluation unit 19 is not limited to this. For example, in the first embodiment, the second operation amplitude Ua2 is a predetermined magnitude, and the ratio of the second operation amplitude Ua2 to the first operation amplitude Ua1 depends only on the first operation amplitude Ua1. Therefore, the amplitude evaluation unit 19 may use the reciprocal of the first operation amplitude Ua1 as the margin estimate Em. In this case, the amplitude evaluation unit 19 does not need to have the second operation signal u2 as an input signal. Even in such a case, it can be said that the amplitude evaluation unit 19 calculates a value based on the ratio of the second operation amplitude Ua2 to the first operation amplitude Ua1 as the margin estimate Em.
[0063] Alternatively, the amplitude evaluation unit 19 may use a value obtained by dividing the second manipulation amplitude Ua2 by the first manipulation amplitude Ua1 and passing the result through a low-pass filter as the estimated margin value Em. In this way, the amplitude evaluation unit 19 calculates a value based on the ratio of the second manipulation amplitude Ua2 to the first manipulation amplitude Ua1 as the estimated margin value Em.
[0064] The estimated margin value Em calculated here indicates the magnitude of the margin relative to the stability limit of the control loop CL0, which includes the speed control unit 14 and the filter unit 17, and is used to evaluate the control parameter Cp set in the speed control unit 14 and the filter parameter Fp set in the filter unit 17.
[0065] Next, the configuration and operation of the parameter adjustment unit 16 will be described with reference to Fig. 3. Fig. 3 is a block diagram showing the configuration of the parameter adjustment unit included in the motor control device according to the first embodiment.
[0066] The parameter adjustment unit 16 has a parameter change unit 161, a parameter evaluation unit 162, and a final parameter determination unit 163. The parameter change unit 161 holds a plurality of candidate sets, each of which is made up of candidates for the control parameter Cp of the speed control unit 14 and candidates for the filter parameter Fp of the filter unit 17. The parameter change unit 161 sets one of these candidate sets for each of the speed control unit 14 and the filter unit 17 in a predetermined order.
[0067] The parameter changing unit 161 outputs candidates for the control parameter Cp to be set in the speed control unit 14 to the speed control unit 14, the parameter evaluation unit 162, and the final parameter determination unit 163. The parameter changing unit 161 outputs candidates for the filter parameter Fp to be set in the filter unit 17 to the filter unit 17, the parameter evaluation unit 162, and the final parameter determination unit 163.
[0068] The parameter evaluation unit 162 receives the control parameters Cp and the filter parameters Fp set in the candidate set, and also receives an estimated margin value Em measured from an oscillation test performed by turning on and off the oscillation instruction signal Rt after the candidate set is set.
[0069] The parameter evaluation unit 162 outputs a determination result as to whether or not the relationship between the candidate set (control parameters Cp and filter parameters Fp) and the margin estimate value Em satisfies a predetermined stability constraint, and outputs the break point frequency wPI described in equation (1) as a target value to be maximized.
[0070] When the parameter changing unit 161 has finished setting candidates for the filter parameter Fp and the control parameter Cp, the final parameter determining unit 163 extracts, as an optimal test condition, a combination of the control parameters Cp and the filter parameters Fp that maximizes the target value (breakpoint frequency wPI) from among the control parameters Cp and the filter parameters Fp that satisfy the predetermined stability constraint conditions. The final parameter determining unit 163 sets the control parameters Cp and the filter parameters Fp determined by the parameter determination method based on the optimal test condition as final parameter determined values in the speed control unit 14 and the filter unit 17.
[0071] In the first embodiment, the predetermined stability constraint condition in the parameter evaluation unit 162 is a condition regarding the ratio of the product of the speed gain Kv and the estimated margin value Em of the control parameter Cp to the break point frequency wPI. The stability constraint condition is satisfied when the ratio of the product of the speed gain Kv and the estimated margin value Em to the break point frequency wPI is equal to or greater than a predetermined value r0. In other words, the stability constraint condition is satisfied when (Kv × Em) / wPI≧r0 is satisfied. The target value is the ratio of the integral gain Ki to the speed gain Kv, i.e., the break point frequency wPI. In other words, Ki / Kv=wPI.
[0072] Next, a parameter determination method by the above-mentioned final parameter determiner 163 will be described. The final parameter determiner 163 sets the filter parameter Fp determined based on the extracted optimal test conditions in the filter unit 17, and sets a value obtained by multiplying the break point frequency wPI of the optimal test conditions by a specific ratio (value r1) and the set inertia value J as the speed gain Kv in the speed control unit 14 (first speed gain determination method). That is, the final parameter determiner 163 sets r1×wPI×J as the speed gain Kv in the speed control unit 14.
[0073] Furthermore, the final parameter determination unit 163 sets the integral gain Ki in the speed control unit 14 so that the break point frequency wPI coincides with the optimum test conditions. That is, the final parameter determination unit 163 sets the integral gain Ki in the speed control unit 14 based on the break point frequency wPI and the speed gain Kv under the optimum test conditions and the relational expression Ki / Kv=wPI.
[0074] Alternatively, the final parameter determiner 163 may determine the speed gain Kv by dividing the product of the speed gain Kv under the optimal test conditions and the estimated margin Em by a predetermined value r2 (second speed gain determination method). That is, when the speed gain Kv under the optimal test conditions is a speed gain Kv0 (described later), the final parameter determiner 163 may set Kv0×Em / r2 as the speed gain Kv in the speed control unit 14.
[0075] As will be described later, the product of the set values r1 and r2 is equal to the value obtained by dividing the value r0 by the inertia value J. That is, r1×r2=r0 / J. Therefore, the first speed gain determination method and the second speed gain determination method described above will determine the same value of the speed gain Kv when the optimum test conditions are equal in the determination of the stability constraint conditions by the parameter evaluation unit 162. That is, when r1×wPI×J=Kv0×Em / r2, the value of the speed gain Kv determined by the first speed gain determination method and the value of the speed gain Kv determined by the second speed gain determination method will be equal.
[0076] Next, the principle of the effect obtained by the parameter evaluation unit 162 will be described. FIG. 4 is a diagram for explaining the transfer function of a control loop configured in the motor control device according to the first embodiment. The horizontal axis of the upper and lower graphs in FIG. 4 represents frequency (angular frequency). The vertical axis of the upper graph in FIG. 4 represents gain, and the vertical axis of the lower graph represents phase. FIG. 4 shows a Bode diagram of the transfer function from the second operation signal u2 to the first operation signal u1 in the control loop CL0 shown in FIG. 2, i.e., the open-loop transfer function of the control loop CL0 during a normal control period in which normal control is performed with the oscillation instruction signal Rt off.
[0077] The PI breakpoint frequency shown in FIG. 4 corresponds to the breakpoint frequency wPI calculated by the speed control unit 14 and expressed by equation (1). The control band, i.e., the gain crossover frequency, refers to the frequency at which the gain of the open-loop frequency response becomes 0 dB, and is approximately represented by the value obtained by dividing the speed gain Kv, which is one of the control parameters Cp of the speed control unit 14, by the inertia value J of the controlled object. That is, the approximate gain crossover frequency can be obtained by multiplying the speed gain Kv by the reciprocal of the inertia value J of the controlled object, which is a specific constant. The frequency at which the phase coincides with −180 degrees in FIG. 4 is called the phase crossover frequency, and the difference between the gain at this phase crossover frequency and 0 dB is called the gain margin.
[0078] If the phase margin is not taken into consideration, it is desirable that the break point frequency wPI be close to the gain crossover frequency. Furthermore, to ensure stable operation across all frequency bands, it is desirable to set a large gain for low frequency bands and a small gain for high frequency bands. Increasing the speed gain Kv increases the break point frequency wPI. On the other hand, if the speed gain Kv is set too large, the gain margin at the phase crossover frequency becomes small, resulting in oscillation. The motor control device 10 determines the control parameter Cp and filter parameter Fp that satisfy the stability constraints and maximize the break point frequency wPI as the final parameter determination values.
[0079] Here, the oscillation phenomenon caused by the action of the forced oscillation unit 15 described above is a phenomenon in which self-excited oscillation, called a limit cycle, continues without amplification or attenuation, and therefore, the control loop CL0 including the forced oscillation unit 15 shown in Fig. 2 automatically generates a state in which the gain of the open-loop transfer function is 1 and the phase is -180 degrees at the oscillation frequency. That is, the control loop CL0 oscillates at a frequency that matches the phase crossover frequency in the open-loop frequency response of Fig. 4, and a state in which the loop gain is 1 is generated. Therefore, in the control loop CL0, a phenomenon is automatically generated in which the magnification of the first operation signal u1 and the second operation signal u2, which are the input and output of the forced oscillation unit 15, i.e., the margin estimate value Em, matches the magnitude of the gain margin shown in Fig. 4.
[0080] Based on this principle, during the normal control period when the transfer function of the forced oscillation unit 15 is 1, it is estimated that the control loop CL0 will reach its stability limit if the transfer function of the speed control unit 14 is set to a state in which the calculation shown in equation (1) is multiplied by the margin estimate value Em.
[0081] Here, a general adjustment method, including manual adjustment of the control parameter Cp and the filter parameter Fp, will be described as an explanation of the parameter evaluation unit 162. A typical adjustment objective is to maximize the low-frequency gain of the open-loop frequency response in order to suppress control errors due to disturbances as quickly as possible. That is, it is desirable to maximize the integral gain Ki in equation (1).
[0082] On the other hand, to maintain the stability of the control system, it is necessary to ensure a certain degree of phase margin so that the phase is greater than −180 degrees at the gain crossover frequency shown in FIG. 4. Therefore, while maintaining a relationship in which the gain crossover frequency is approximately 2 to 5 times the breakpoint frequency WPI, both the integral gain Ki and the speed gain Kv are adjusted to be as large as possible. In other words, if the gain crossover frequency is increased, the breakpoint frequency also increases, but if the breakpoint frequency is increased too much, the phase margin decreases. For this reason, the relationship between the magnitude of the gain crossover frequency and the magnitude of the breakpoint frequency is set to an appropriate ratio (for example, 2 to 5 times).
[0083] Furthermore, low-pass filters and notch filters have the characteristic of causing a phase delay at frequencies that depend on the cutoff frequency or notch frequency, so that the phase delay does not become large at the gain crossover frequency, the cutoff frequency or notch frequency is set to a range of values greater than, for example, about five times the gain crossover frequency.
[0084] Furthermore, if the velocity gain Kv is made too large, the gain margin at the phase crossover frequency will be small, causing oscillation, as described above. That is, while increasing both the integral gain Ki and the velocity gain Kv, the limit of the integral gain Ki and velocity gain Kv at which the gain margin becomes small and oscillation occurs is found. The larger the gain margin and phase margin, the more stable the oscillation can be suppressed, but the slower the response.
[0085] Next, trial and error is repeated to maximize the speed gain Kv and integral gain Ki at the stability limit while changing the filter parameter Fp of the filter unit 17 to suppress oscillation. Finally, when it is determined that it is difficult to further increase the gain at the stability limit (when the speed gain Kv at which oscillation occurs is confirmed), the speed gain Kv and integral gain Ki are lowered by an estimated margin from the state at the stability limit, and the adjustment process is completed, since in reality many mechanical resonance characteristics exist and fluctuate in the high frequency range.
[0086] To summarize the general adjustment method described above, the filter parameter Fp and the control parameter Cp are adjusted to increase the open-loop gain while maintaining a constant ratio (e.g., approximately 2 to 5 times) between the gain crossover frequency and the break point frequency WPI within the constraint of maintaining a specific gain margin. This results in an adjustment result that maximizes the disturbance suppression effect while maintaining a stability margin. An example of the results of adjusting the control gain (control parameter Cp) and the filter gain (filter parameter Fp) in this manner is shown in the graph of FIG. 4. In the first embodiment, the motor control device 10 automatically sets the control parameter Cp and the filter parameter Fp so as to obtain the graph of FIG. 4.
[0087] With reference to the above explanation, the principle by which the parameter adjustment unit 16 of the first embodiment automatically realizes the above-mentioned general adjustment method will be described. First, since there is a desirable ratio between the break point frequency wPI and the gain crossover frequency (= Kv / J) as described above, this ratio is set to a predetermined specific value (value r1). That is, Kv / J = wPI × r1 is set. Furthermore, a value r2 is set as the size of the gain margin to be secured. That is, a value r2 is set so that Em ≧ r2.
[0088] When a certain control parameter Cp and filter parameter Fp determined by parameter adjustment unit 16 are set in speed control unit 14 and filter unit 17, respectively, and an oscillation test is performed with oscillation instruction signal Rt turned on, an estimated margin value Em obtained as a result of the test can be used to estimate that the stability limit is the ratio of integral gain Ki set by control parameter Cp to speed gain Kv, i.e., the state in which break point frequency wPI is fixed and speed gain Kv is multiplied by Em.
[0089] If the speed gain Kv set during the measurement test is written as Kv0 to distinguish it from the value of the speed gain Kv determined by adjustment, then if the speed gain Kv set so that the gain crossover frequency (Kv / J) is r1 times the breakpoint frequency wPI satisfies the following equation (4), it becomes possible to set the speed gain Kv so that the gain crossover frequency is r1 times the breakpoint frequency wPI and the gain margin is r2 times or more. In equation (4), r1 × wPI × J corresponds to the first speed gain determination method, and Kv0 × Em / r2 corresponds to the second speed gain determination method.
[0090]
[0091] The following equation (5) can be derived from equation (4): As shown in equation (5), if the condition that the ratio of the product of the speed gain Kv and the estimated margin value Em to the break point frequency wPI is equal to or greater than a predetermined specific value r0 = r1 × r2 × J is met, it is possible to ensure a gain margin greater than r2 even if the speed gain Kv is set to the magnitude of r1 × wPI × J (first speed gain determination method).
[0092]
[0093] Furthermore, when the velocity gain Kv is set to Kv0×Em / r2 (second velocity gain determination method), the velocity gain Kv is equal to or greater than r1×wPI×J, but the gain margin can be set to coincide with r2 times.
[0094] In this way, when the first velocity gain determination method is applied, it is possible to ensure a gain margin greater than r2 times, and when the second velocity gain determination method is applied, it is possible to make the gain margin equal to r2 times.
[0095] By the parameter evaluation unit 162 operating as described above, if the first velocity gain determination method or the second velocity gain determination method is used, it becomes possible to appropriately set the velocity gain Kv and the integral gain Ki while satisfying the gain margin set by the value r2.
[0096] Next, we will explain the effects obtained by the final parameter determination unit 163. As described above, for each oscillation test performed, the final parameter determination unit 163 receives from the parameter evaluation unit 162 the determination result as to whether or not the stability constraint condition is satisfied, and the break point frequency wPI set during the test as a target value.
[0097] Furthermore, when the parameter change unit 161 has completed setting the combination of the control parameters Cp of the speed control unit 14 and the filter parameters Fp of the filter unit 17, the final parameter determination unit 163 extracts a candidate set of parameters that maximizes the breakpoint frequency wPI from among the parameter sets that satisfy the stability constraint conditions.
[0098] The final parameter determination unit 163 sets the extracted filter parameter Fp in the filter unit 17. Furthermore, the final parameter determination unit 163 sets r1×wPI×J as the speed gain Kv in the speed control unit 14 using the break point frequency wPI selected as the maximum, and also sets the integral gain Ki in the speed control unit 14 so as to achieve the break point frequency wPI. By setting the integral gain Ki in this manner, as explained above, the final parameter determination unit 163 can set the maximum speed gain Kv and integral gain Ki while maintaining a gain margin of r2 or more and maintaining the ratio of the break point frequency wPI to the gain crossover frequency at r1.
[0099] In the above description, the parameter changing unit 161 holds a plurality of candidate sets for the control parameters Cp of the speed control unit 14 and the filter parameters Fp of the filter unit 17, and sets one of these candidate sets to the speed control unit 14 and the filter unit 17 in a predetermined order. Referring to the control loop CL0 shown in FIG. 2 , in principle, the estimated margin value Em in the forced oscillation unit 15 changes in inverse proportion to the speed gain Kv of the control parameters Cp. Therefore, even if an oscillation test is performed by changing the speed gain Kv while keeping the break point frequency wPI constant and measuring the estimated margin value Em, the estimated margin value Em changes inversely proportional to the speed gain Kv, and therefore does not affect the determination result of the parameter evaluation unit 162 as to whether the stability constraint is satisfied or not, or the calculation result of the final parameter determination unit 163. That is, even if an oscillation test is performed to measure the margin estimate Em by changing the speed gain Kv while keeping the break point frequency wPI constant, this does not affect the determination result of whether the stability constraint condition is satisfied, which is performed by the parameter evaluation unit 162 using Equation (5), or the calculation result of the final parameter determination unit 163, which is determined using the break point frequency wPI. That is, whether the speed gain Kv is changed or not, the determination result of whether the stability constraint condition is satisfied and the determined final parameters (filter parameter Fp and control parameter Cp) are the same. Therefore, the speed gain Kv may be fixed and the margin estimate Em may be measured while changing the break point frequency wPI. In this way, since changing the speed gain Kv only changes the margin estimate Em in inverse proportion to the speed gain Kv, changing the speed gain Kv may be omitted. Therefore, the speed gain Kv may remain fixed in the above-described predetermined order.
[0100] Furthermore, the motor control device 10 can determine from the magnitude of the obtained margin estimate Em when, for example, a small integral gain Ki is set and the filter parameter Fp is varied in various ways while the breakpoint frequency wPI is kept low and the estimated margin Em is measured, that some candidate filter parameter Fp will not be able to significantly increase the speed gain Kv without increasing the breakpoint frequency wPI, based on the information on the magnitude of the obtained margin estimate Em. In other words, when a small integral gain Ki and a small breakpoint frequency wPI are set and the filter parameter Fp is varied in various ways and the estimated margin Em is measured, the motor control device 10 can determine that the candidate filter parameter Fp will not be able to significantly increase the speed gain Kv without significantly changing the breakpoint frequency wPI. For this reason, the motor control device 10 may eliminate such candidate filter parameter Fp from candidates for oscillation testing, thereby reducing the number of tests.
[0101] Furthermore, in order to prevent the phase delay at the gain crossover frequency from becoming too large when r1×wPI×J is set in speed control unit 14 as the speed gain Kv using the break point frequency wPI selected as the maximum as described above, candidates for filter parameter Fp may be selected in advance according to the break point frequency wPI so that the cutoff frequency of the low-pass filter and the notch frequency of the notch filter are limited to a range greater than the value obtained by multiplying the break point frequency wPI by a predetermined ratio.
[0102] In this way, motor control device 10 can easily adjust filter parameter Fp and control parameter Cp so as to increase integral gain Ki appropriately from the perspective of disturbance suppression and maximize the control band, without the hassle of trial and error. That is, motor control device 10 can easily adjust filter parameter Fp and control parameter Cp so as to optimize the disturbance suppression effect and maximize the control band, without the hassle of trial and error. In other words, motor control device 10 can easily set filter parameter Fp and control parameter Cp so as to maximize the control band of motor control device 10, depending on mechanical load 3, the inertia ratio of motor M, and the resonance characteristics of the machine.
[0103] In the first embodiment, the control loop CL0 includes a speed control unit 14, which outputs the sum of proportional compensation using a speed gain Kv and integral compensation using an integral gain Ki as a PI manipulated variable upi. In this way, the motor control device 10 uses the control loop CL0 that performs proportional compensation and integral compensation to set the filter parameters Fp and control parameters Cp that can optimize the disturbance suppression effect and maximize the control bandwidth. This allows the motor control device 10 to suppress problems even when mechanical resonance occurs near the control bandwidth (gain crossover frequency). In other words, the motor control device 10 sets candidates for the filter parameters Fp and control parameters Cp taking the proportional gain and integral gain into consideration. Therefore, when the filter parameters Fp and control parameters Cp are finally set, significant changes in the control characteristics can be suppressed, and vibration can be prevented.
[0104] As described above, in motor control device 10 of embodiment 1, forced oscillation unit 15, together with speed control unit 14, filter unit 17, current control unit 18, motor M, and speed calculation unit 11, forms control loop CL0 during an oscillation period, and causes control loop CL0 to oscillate by self-excited vibration. When control loop CL0 oscillates, amplitude evaluation unit 19 calculates margin estimate Em as a value corresponding to control parameter Cp and filter parameter Fp. Parameter adjustment unit 16 sequentially provisionally sets one by one of multiple candidate sets, each including candidates for control parameter Cp and filter parameter Fp, in speed control unit 14 and filter unit 17. Parameter adjustment unit 16 selects one candidate set from the candidate sets based on margin estimate Em of each candidate set calculated by amplitude evaluation unit 19, and finally sets the selected candidate set in speed control unit 14 and filter unit 17. Parameter adjustment unit 16 finally sets the candidate set that maximizes the target value (breakpoint frequency wPI) while satisfying the stability constraint conditions in speed control unit 14 and filter unit 17. This enables motor control device 10 to easily adjust filter parameter Fp and control parameter Cp to maximize the control band (gain crossover frequency) and optimize the disturbance suppression effect.
[0105] Second Embodiment Next, a second embodiment will be described with reference to Figures 5 and 6. In the second embodiment, the order of calculations by the forced oscillation unit and the filter unit is reversed compared to the first embodiment.
[0106] Fig. 5 is a block diagram showing the configuration of a mechanical system including a motor control device according to embodiment 2. Of the components in Fig. 5, those that achieve the same functions as those in mechanical system 1A of embodiment 1 shown in Fig. 1 are assigned the same reference numerals, and duplicated explanations will be omitted.
[0107] 5, mechanical system 1B includes motor control device 20, motor M, motor position detector 2, and mechanical load 3. Motor control device 20 includes, as components, speed calculation unit 11, subtractor 12, oscillation instruction unit 13, speed control unit 14, forced oscillation unit 25, parameter adjustment unit 16, filter unit 27, current control unit 18, and amplitude evaluation unit 29.
[0108] Motor control device 20 of embodiment 2 differs from motor control device 10 of embodiment 1 in the order of calculation processes by forced oscillation unit 15 and filter unit 17 and the order of calculation processes by forced oscillation unit 25 and filter unit 27. That is, motor control device 10 performs calculation processes by forced oscillation unit 15 followed by calculation processes by filter unit 17, but motor control device 20 performs calculation processes by forced oscillation unit 25 after calculation processes by filter unit 27. In this way, the order of calculations by the forced oscillation unit and calculations by the filter unit is reversed in motor control device 20 compared to motor control device 10.
[0109] In motor control device 20, speed control unit 14 is connected to subtractor 12, parameter adjustment unit 16, and filter unit 27. Filter unit 27 is connected to forced oscillation unit 25 and amplitude evaluation unit 29. Forced oscillation unit 25 is connected to amplitude evaluation unit 29 and current control unit 18. Amplitude evaluation unit 29 is connected to parameter adjustment unit 16.
[0110] The forced oscillation unit 25 performs the same calculation process as the forced oscillation unit 15 , the filter unit 27 performs the same calculation process as the filter unit 17 , and the amplitude evaluation unit 29 performs the same calculation process as the amplitude evaluation unit 19 .
[0111] 6 is a block diagram showing a control loop during an oscillation period configured when the oscillation instruction signal is in an ON state in the motor control device according to the second embodiment. In FIG. 6, a control loop CL1 during the oscillation period extracted from the mechanical system 1B is shown.
[0112] 6, the control loop CL1 during the oscillation period includes a speed calculation unit 11, a speed control unit 14, a filter unit 27, a forced oscillation unit 25, a current control unit 18, and a motor M. In FIG. 6, the control loop CL1 during the oscillation period also includes a subtractor 12 and a motor position detector 2.
[0113] As described above, in the second embodiment, the order of calculations in the forced oscillation unit 25 and the filter unit 27 is reversed compared to the first embodiment. As a result, although the inputs to the forced oscillation unit 25 and the filter unit 27 are different, the internal calculations are exactly the same. As a result, the open-loop frequency response of the second embodiment is exactly the same as the open-loop frequency response described in FIG. 4 for the first embodiment. Therefore, although the motor control device 20 of the second embodiment has a different configuration from the motor control device 10 of the first embodiment, it has exactly the same effects.
[0114] In other words, the motor control device 20 can easily adjust the filter parameter Fp and the control parameter Cp so as to increase the integral gain Ki appropriately from the perspective of disturbance suppression and maximize the control band, without the hassle of trial and error.
[0115] Thus, according to the second embodiment, the motor control device 20 is equipped with the forced oscillation unit 25 and the filter unit 27, and therefore, as in the first embodiment, it is possible to easily adjust the filter parameter Fp and the control parameter Cp that realize the maximization of the control band and the optimization of the disturbance suppression effect.
[0116] Third Embodiment Next, a third embodiment will be described with reference to Fig. 7. In the first and second embodiments, the motor control devices 10 and 20 execute speed control, but in the third embodiment, the motor control device executes position control.
[0117] Fig. 7 is a block diagram showing the configuration of a mechanical system including a motor control device according to embodiment 3. Of the components in Fig. 7, those that achieve the same functions as those in mechanical system 1A of embodiment 1 shown in Fig. 1 are assigned the same reference numerals, and duplicated explanations will be omitted.
[0118] 7, mechanical system 1C includes motor control device 30, motor M, motor position detector 2, and mechanical load 3. Motor control device 30 includes, as components, a speed calculation unit 11, a subtractor 12, an oscillation instruction unit 13, a speed control unit 14, a forced oscillation unit 15, a parameter adjustment unit 36, a filter unit 17, a current control unit 18, and an amplitude evaluation unit 19. Motor control device 30 also includes, as components, a position control unit 31 and a subtractor 32.
[0119] The motor position detector 2 is connected to the speed calculation unit 11 and the subtractor 32. The motor position detector 2 of the third embodiment detects the position of the motor M and outputs it to the speed calculation unit 11 and the subtractor 32 as a position signal Pfb.
[0120] The subtractor 32 is connected to the position control unit 31. The subtractor 32 calculates the deviation between the position command Pr, which is a signal indicating the command value for the position of the motor M, and the position signal Pfb, and outputs the deviation to the position control unit 31 as a position deviation Pe.
[0121] Position control unit 31 is connected to parameter adjustment unit 36 and subtractor 12. Position control unit 31 receives position deviation Pe from subtractor 32. Position control unit 31 performs proportional compensation by multiplying position deviation Pe by position gain Kp, which is one of control parameters Cp, and outputs the result as speed command Vr. That is, position control unit 31 performs the calculation of the following equation (6).
[0122]
[0123] That is, position control unit 31 calculates Vr(s) by calculating Pe(s)×Kp. In this way, position control unit 31 receives position deviation Pe and outputs speed command Vr. Position control unit 31 outputs speed command Vr to subtractor 12.
[0124] Similar to parameter adjustment unit 16, parameter adjustment unit 36 has a parameter change unit 161, a parameter evaluation unit 162, and a final parameter determination unit 163. Parameter change unit 161 of parameter adjustment unit 36 holds a plurality of candidate sets, each of which is made up of candidates for control parameters Cp of position control unit 31 and speed control unit 14 and candidates for filter parameters Fp of filter unit 17. Parameter change unit 161 of parameter adjustment unit 36 sets one of these candidate sets in position control unit 31, speed control unit 14, and filter unit 17 in a predetermined order.
[0125] A position gain Kp, which is one of the control parameters Cp, is preset in position control unit 31. Here, the position gain Kp, which is one of the control parameters Cp set in position control unit 31, is a value that has a specific relationship, such as being the same as or a constant ratio to a break point frequency wPI, which is the ratio of an integral gain Ki, which is one of the control parameters Cp of speed control unit 14, to a speed gain Kv.
[0126] The parameter evaluation unit 162 receives the control parameters Cp and the filter parameters Fp set in the candidate set, as in the first embodiment. The parameter evaluation unit 162 also receives the margin estimate Em measured from an oscillation test performed by turning on and off the oscillation instruction signal Rt after the candidate set is set.
[0127] The parameter evaluation unit 162 outputs a determination result as to whether or not the relationship between the candidate set (control parameters Cp and filter parameters Fp) and the margin estimate value Em satisfies a predetermined stability constraint, and outputs the break point frequency wPI described in equation (1) as a target value to be maximized.
[0128] As in the first embodiment, when the parameter changing unit 161 finishes setting candidates for the filter parameter Fp and the control parameter Cp, the final parameter determining unit 163 extracts, as the optimum test conditions, a set of the control parameters Cp and the filter parameters Fp having the largest target value from among the control parameters Cp and the filter parameters Fp that satisfy the predetermined stability constraint conditions. The final parameter determining unit 163 in the third embodiment sets the control parameters Cp and the filter parameters Fp determined by the parameter determination method based on the optimum test conditions as final parameter determined values in the position control unit 31, the speed control unit 14, and the filter unit 17.
[0129] In the first embodiment, the final parameter determination unit 163 sets the final parameter determination value to the speed control unit 14 and the filter unit 17, but in the third embodiment, the final parameter determination unit 163 sets the final parameter determination value to the position control unit 31, the speed control unit 14, and the filter unit 17.
[0130] Considering that the operation of the speed calculation unit 11 is a differential operation, the transfer function from the position signal Pfb of the motor M to the PI control amount upi, which is the output of the speed control unit 14, is given by the following equation (7).
[0131]
[0132] From equation (7), the position gain Kp, which is the control parameter Cp set in position control unit 31, also has the same units as the frequency at the zero point in control loop CL1. In general, in manual adjustment, the position gain Kp is adjusted to be the same as the break point frequency wPI or to have a roughly constant ratio.
[0133] Furthermore, compared to the case where motor control device 10 described in embodiment 1 performs speed control without performing position control, motor control device 30 of embodiment 3 can appropriately evaluate control parameter Cp and filter parameter Fp even when the addition of position control increases phase lag. That is, when the phase lag of the open-loop transfer function increases near the gain crossover frequency expressed by Kv / J and affects the stability of the control system, it is difficult to appropriately evaluate control parameter Cp and filter parameter Fp without performing position control. Therefore, as described above, motor control device 30 of embodiment 3 can appropriately evaluate control parameter Cp and filter parameter Fp by performing an oscillation test after also setting position gain Kp of position control unit 31.
[0134] In the above description, the parameter change unit 161 has explained a case where multiple candidate sets of control parameter Cp and filter parameter Fp have values that are the same as the breakpoint frequency wPI or have a specific relationship, such as a constant ratio, but the candidate sets may also have multiple ratios.
[0135] Furthermore, in the above description, the parameter evaluation unit 162 outputs the break point frequency wPI described in equation (1) as the target value to be maximized, but as can be seen from equation (7), the gain of the low-frequency open-loop transfer function is determined by the product of the break point frequency wPI and the position gain Kp. Therefore, the parameter evaluation unit 162 may output the product of the break point frequency wPI and the position gain Kp as the target value to be maximized.
[0136] Because embodiment 3 operates as described above, it is possible to obtain a motor control device 30 that does not require the hassle of trial and error, and that easily adjusts the filter parameter Fp and the control parameter Cp to maximize the control band while also increasing the position gain Kp and the integral gain Ki to be appropriate from the perspective of disturbance suppression.
[0137] In this way, motor control device 30 can easily adjust filter parameter Fp and control parameter Cp so as to increase position gain Kp and integral gain Ki appropriately from the perspective of disturbance suppression and maximize the control band, without the hassle of trial and error. In other words, motor control device 30 can easily adjust filter parameter Fp and control parameter Cp so as to optimize the disturbance suppression effect and maximize the control band, without the hassle of trial and error. Note that position control unit 31 may also be applied to motor control device 20 of embodiment 2.
[0138] Thus, according to the third embodiment, motor control device 30 is provided with position control unit 31, and an oscillation test is performed after setting position gain Kp of position control unit 31. As a result, even when performing position control, motor control device 30 can easily adjust filter parameter Fp and control parameter Cp to maximize the control band and optimize the disturbance suppression effect, just as in the first and second embodiments in which speed control is performed.
[0139] Fourth Embodiment Next, a fourth embodiment will be described with reference to Fig. 8. In the fourth embodiment, the parameter adjustment unit learns the correspondence relationship (an estimation limit function Ef, described later) between a provisionally set candidate set and the product of the speed gain Kv and the margin estimation value Em corresponding to this candidate set, predicts the candidate set with the largest target value based on the correspondence relationship, and determines the candidate set to be provisionally set next time based on the predicted candidate set (prediction result).
[0140] Fig. 8 is a block diagram showing the configuration of a parameter adjustment unit provided in a motor control device according to embodiment 4. Of the components in Fig. 8, those that achieve the same functions as parameter adjustment unit 16 of embodiment 1 shown in Fig. 1 are assigned the same reference numerals, and duplicated explanations will be omitted.
[0141] A motor control device 40 (not shown) of the fourth embodiment is a device in which parameter adjustment unit 16 in motor control device 10 of the first embodiment is replaced with a parameter adjustment unit 46 .
[0142] Parameter changing unit 161 of the first embodiment holds a plurality of candidate sets, each of which is a combination of a candidate for control parameter Cp of speed control unit 14 and a candidate for filter parameter Fp of filter unit 17. Although parameter changing unit 161 of the first embodiment sets one of these candidate sets in speed control unit 14 and filter unit 17 in a predetermined order, the present invention is not limited to simply setting all of the candidates in order. For this reason, motor control device 40 of the fourth embodiment determines the order in which control parameters Cp and filter parameters Fp are set in speed control unit 14 and filter unit 17, respectively, depending on the result of margin estimate value Em measured in an oscillation test.
[0143] The parameter adjustment unit 46 has a parameter change unit 461, a parameter evaluation unit 162, and a final parameter determination unit 163. That is, compared to the parameter adjustment unit 16 of the first embodiment, the parameter adjustment unit 46 of the fourth embodiment has a parameter change unit 461 instead of the parameter change unit 161.
[0144] The parameter evaluation unit 162 and the final parameter determination unit 163 of the fourth embodiment perform exactly the same operations as the parameter evaluation unit 162 and the final parameter determination unit 163 of the first embodiment.
[0145] The parameter changing unit 461 includes a limit function estimating unit 462 and a trial parameter determining unit 463. The limit function estimating unit 462 is connected to the amplitude evaluating unit 19 and the trial parameter determining unit 463. The trial parameter determining unit 463 is connected to the parameter evaluating unit 162, the speed control unit 14, and the filter unit 17. The limit function estimating unit 462 receives the margin estimated value Em output from the amplitude evaluating unit 19.
[0146] When oscillation instruction unit 13 starts repeatedly outputting oscillation instruction signal Rt by turning it on and off, trial parameter determination unit 463 outputs sets of control parameters Cp and filter parameters Fp in a predetermined order, including random selection, from the first several to several tens of times. The control parameters Cp output by trial parameter determination unit 463 may be fixed values.
[0147] The limit function estimator 462 receives the control parameter Cp and filter parameter Fp output by the trial parameter determiner 463, and the margin estimate Em output by the amplitude evaluator 19. The limit function estimator 462 learns the relationship between the product of the speed gain Kv and the margin estimate Em and the control parameter Cp and the filter parameter Fp, and outputs the learning result as an estimated limit function Ef to the trial parameter determiner 463. In this way, the limit function estimator 462 learns the correspondence between the product of the speed gain Kv and the margin estimate Em and the control parameter Cp and the filter parameter Fp.
[0148] The limit function estimating unit 462 can estimate the estimated limit function Ef using, for example, Gaussian process regression as a multidimensional plane. Furthermore, when estimating the estimated limit function Ef, the limit function estimating unit 462 can estimate the estimated limit function Ef not simply as a plane, but also as a plane having a specific thickness. In this case, the limit function estimating unit 462 calculates a variance or standard deviation value indicating the likelihood of the estimated value of the estimated limit function Ef, and estimates the estimated limit function Ef as a plane having a thickness determined based on the values of these calculation results.
[0149] Next, trial parameter determination unit 463 receives the determination result of the stability constraint condition and the target value calculated by parameter evaluation unit 162 from parameter evaluation unit 162. Based on the estimation limit function Ef learned up to that point, the stability constraint condition used by parameter evaluation unit 162, and the target value calculated by parameter evaluation unit 162, trial parameter determination unit 463 determines the control parameters Cp and filter parameters Fp to be tried next, so that the control parameters Cp and filter parameters Fp can be determined in as few trials as possible.
[0150] The trial parameter determination unit 463 determines the control parameters Cp and filter parameters Fp to be provisionally set next time based on the estimation limit function Ef so that the control parameters Cp and filter parameters Fp that satisfy the stability constraint conditions and maximize the target value can be determined with as few trials as possible.
[0151] When determining the next trial control parameters Cp and filter parameters Fp, the trial parameter determination unit 463 obtains the boundary of equation (5) based on an estimation limit function Ef estimated as a function of the speed gain Kv and the estimated margin value Em. The boundary of equation (5) occurs when an equal sign is established in equation (5). The trial parameter determination unit 463 then determines the next trial control parameters Cp and filter parameters Fp based on the filter parameters Fp and control parameters Cp predicted to have the largest target value, i.e., the largest breakpoint frequency wPI, on the obtained boundary. That is, the trial parameter determination unit 463 predicts the values of the filter parameters Fp and control parameters Cp that have the largest target value, i.e., the largest breakpoint frequency wPI, based on the estimation limit function Ef. The trial parameter determination unit 463 then determines the control parameters and filter parameters to be temporarily set next based on the predicted values of the filter parameters Fp and control parameters Cp (prediction results).
[0152] Furthermore, in order for the limit function estimation unit 462 to accurately estimate the estimated limit function Ef with as few provisional setting trials as possible, the trial parameter determination unit 463 can also determine a set of control parameters Cp and filter parameters Fp with a large variance value of the estimated values of the estimated limit function Ef as the control parameters Cp and filter parameters Fp to be tried next. Furthermore, the trial parameter determination unit 463 can combine the above-mentioned methods of determining the control parameters Cp and filter parameters Fp.
[0153] When determining the boundary of equation (5), trial parameter determination unit 463 may simply use estimated limit function Ef as a plane, or may determine the boundary by taking the thickness of the plane into consideration. Trial parameter determination unit 463 can determine the control parameters Cp and filter parameters Fp to be tried next, based on a technique generally known as Bayesian optimization.
[0154] As described above, in the fourth embodiment, the limit function estimator 462 estimates the estimated limit function Ef, and the trial parameter determiner 463 determines the control parameters Cp and filter parameters Fp to be tried next based on the estimated estimated limit function Ef and taking into consideration the determination results of the stability constraint conditions and the target value. This enables the motor control device 40 to determine the filter parameters Fp and control parameters Cp that will increase the target value in fewer trials than the motor control device 10.
[0155] Furthermore, the estimation limit function Ef changes significantly depending on the filter parameter Fp, but changes relatively slowly depending on the control parameter Cp. Therefore, in the initial state of estimation of the estimation limit function Ef, the limit function estimator 462 may perform learning on the filter parameter Fp while keeping the estimation limit function Ef constant in response to changes in the breakpoint frequency wPI. Then, the limit function estimator 462 may estimate the estimation limit function Ef in response to changes in the control parameter Cp, particularly changes in the breakpoint frequency wPI, after learning the filter parameter Fp. Note that the parameter adjuster 46 may be applied to the motor control devices 20 and 30 of the second and third embodiments.
[0156] Thus, according to the fourth embodiment, parameter adjustment unit 46 of motor control device 40 includes limit function estimator 462 and trial parameter determiner 463. As a result, similar to the first to third embodiments, motor control device 40 can easily adjust filter parameter Fp and control parameter Cp to maximize the control band and optimize the disturbance suppression effect with fewer oscillation tests and in a shorter adjustment time than the first to third embodiments.
[0157] Here, we will explain the hardware configuration of the motor control devices 10, 20, 30, and 40. Note that the motor control devices 10, 20, 30, and 40 have similar hardware configurations, so here we will explain the hardware configuration of the motor control device 10.
[0158] 9 is a diagram illustrating an example of a hardware configuration for implementing the motor control device according to the first embodiment. The motor control device 10 can be implemented by an input device 300, a processor 100, a memory 200, and an output device 400. Examples of the processor 100 include a CPU (Central Processing Unit, also referred to as a central processing unit, processing device, arithmetic unit, microprocessor, microcomputer, or DSP (Digital Signal Processor)) or a system LSI (Large Scale Integration). Examples of the memory 200 include a RAM (Random Access Memory) and a ROM (Read Only Memory).
[0159] Motor control device 10 is realized by processor 100 reading and executing a computer-executable control program (motor control program) for executing the operations of motor control device 10, which is stored in memory 200. The control program, which is a program for executing the operations of motor control device 10, can also be said to cause a computer to execute the procedures or methods of motor control device 10.
[0160] The control program executed by the motor control device 10 has a modular configuration including a speed calculation unit 11, a subtractor 12, an oscillation instruction unit 13, a speed control unit 14, a forced oscillation unit 15, a parameter adjustment unit 16, a filter unit 17, a current control unit 18, and an amplitude evaluation unit 19, and these components are loaded onto the main memory device and generated on the main memory device.
[0161] The input device 300 receives a position signal Pfb from the motor position detector 2 and sends it to the processor 100. The memory 200 stores candidate sets, control programs, etc. The memory 200 is also used as a temporary memory when the processor 100 executes various processes. The output device 400 outputs a current Io to the motor M.
[0162] The control program may be provided as a computer program product stored in an installable or executable file on a computer-readable storage medium. The control program may also be provided to motor control device 10 via a network such as the Internet. Note that some of the functions of motor control device 10 may be realized by dedicated hardware such as a dedicated circuit, and some by software or firmware.
[0163] Note that the hardware configuration of some of the components included in motor control device 10 may be the hardware configuration shown in FIG.
[0164] The configurations shown in the above embodiments are merely examples, and may be combined with other known technologies, or different embodiments may be combined with each other. It is also possible to omit or modify parts of the configurations as long as they do not deviate from the gist of the invention.
[0165] 1A, 1B Mechanical system, 2 Motor position detector, 3 Mechanical load, 10, 20, 30, 40 Motor control device, 11 Speed calculation unit, 12, 32 Subtractor, 13 Oscillation instruction unit, 14 Speed control unit, 15, 25 Forced oscillation unit, 16, 36, 46 Parameter adjustment unit, 17, 27 Filter unit, 18 Current control unit, 19, 29 Amplitude evaluation unit, 31 Position control unit, 100 Processor, 161, 461 Parameter change unit, 162 Parameter evaluation unit, 163 Final parameter determination unit, 200 Memory, 300 Input device, 400 Output device, 462 Limit function estimation unit, 463 Trial parameter determination unit, CL0, CL1 Control loop, Cp Control parameter, Ef Estimated limit function, Em Margin estimate value, Fp Filter parameter, Io Current, Ki Integral gain, Kp Position gain, Kv, Kv0 speed gain, M motor, Pe position deviation, Pfb position signal, Pr position command, Rt oscillation instruction signal, Tr torque command, u1 first operation signal, u2 second operation signal, upi PI operation amount, Ve speed deviation, Vfb speed signal, Vr speed command.
Claims
1.
1. A motor control device that controls a motor by calculating a torque command, which is a command value for the torque of the motor, based on a speed signal indicating the speed of the motor connected to a mechanical load and a speed command, which is a command value for the speed of the motor, comprising: a speed calculation unit that outputs the speed signal; a speed control unit that has control characteristics defined by control parameters including a speed gain and an integral gain, and performs calculations including a proportional calculation using the speed gain and an integral calculation using the integral gain on a deviation between the speed command and the speed signal, and outputs a calculation result; a filter unit that has frequency characteristics defined by filter parameters, and performs a filter process corresponding to the filter parameters on a signal based on an output from the speed control unit; a current control unit that supplies a current to the motor so as to generate a torque corresponding to the torque command, based on the output from the filter unit; and an oscillation instruction unit that outputs an oscillation instruction signal that is an on signal that instructs the motor to perform oscillation or an off signal that instructs the motor to stop. a forced oscillation unit which, during an oscillation period when the oscillation instruction signal is on, forms a control loop for the oscillation period together with the speed control unit, the filter unit, the current control unit, the motor, and the speed calculation unit, oscillates the control loop during the oscillation period by self-excited vibration, receives as input a first operation signal corresponding to the calculation result output from the speed control unit, and outputs a second operation signal obtained by changing the first operation signal; an amplitude evaluation unit which, when the control loop is oscillated during the oscillation period by the forced oscillation unit, calculates a margin estimate value, which is a value based on a ratio of the amplitude of the second operation signal to the amplitude of the first operation signal, as a value corresponding to the control parameter and the filter parameter; and a parameter adjustment unit which, while the oscillation instruction unit repeatedly turns on and off the oscillation instruction signal, provisionally sets one by one of a plurality of candidate sets including candidates for the control parameter and candidates for the filter parameter to the speed control unit and the filter unit, selects one candidate set from the candidate sets based on the margin estimate value of each of the candidate sets calculated by the amplitude evaluation unit, and finally sets the selected candidate set to the speed control unit and the filter unit; A motor control device comprising:
2. The motor control device described in claim 1, characterized in that the parameter adjustment unit has: a parameter evaluation unit that outputs a determination result of whether the control parameter, the filter parameter, and the margin estimate value satisfy predetermined stability constraint conditions and a target value to be maximized by adjusting the control parameter and the filter parameter; and a final parameter determination unit that finally sets, in the speed control unit and the filter unit, a pair of the control parameter and the filter parameter that maximizes the target value while satisfying the stability constraint conditions, based on the output from the parameter evaluation unit.
3. The motor control device according to claim 2, characterized in that the parameter evaluation unit determines that the stability constraint condition is satisfied when a value obtained by dividing the product of the margin estimate and the speed gain by the frequency of a zero point of the transfer function of the speed control unit is greater than a specific value.
4. The motor control device according to claim 3, wherein the parameter evaluation unit outputs a numerical value corresponding to a frequency of a zero point of the transfer function as the target value.
5. A motor control device as described in any one of claims 1 to 4, characterized in that the forced oscillation unit sets the input value of the first operation signal to the forced oscillation unit at the moment the oscillation instruction signal is turned on as an operation signal reference value, and outputs a signal calculated to forcibly oscillate at a specific amplitude centered on the operation signal reference value based on the difference between the first operation signal input to the forced oscillation unit during the period when the oscillation instruction signal is on and the operation signal reference value.
6. A motor control device as described in any one of claims 1 to 5, further comprising a position control unit that outputs the speed command by performing a calculation using a position gain to reduce a deviation between the position signal and the position command, based on a position signal indicating the position of the motor and a position command that is a command value for the position of the motor, wherein the candidates for the control parameters include the position gain, and the parameter adjustment unit provisionally sets one of the candidate sets in sequence to the position control unit, the speed control unit, and the filter unit while the oscillation instruction unit repeatedly turns the oscillation instruction signal on and off, and selects one candidate set from the candidate sets based on the margin estimate value of each of the candidate sets calculated by the amplitude evaluation unit, and finally sets the selected one candidate set to the position control unit, the speed control unit, and the filter unit.
7. The motor control device according to claim 2, characterized in that the parameter adjustment unit comprises: a limit function estimation unit that learns a correspondence between a pair of provisionally set candidates for the control parameter and the candidate for the filter parameter and a product of the speed gain and the margin estimate value corresponding to this pair, and outputs the correspondence as an estimated limit function; and a trial parameter determination unit that predicts the value of the control parameter and the filter parameter that will maximize the target value based on the estimated limit function, and determines the control parameter and the filter parameter to be provisionally set next time based on the prediction result.
Citation Information
Patent Citations
Controller for motors
JP2008312339A
Motor control device
WO2017208701A1