JP2587701B2 - Oscillation detection of servo system and automatic adjustment of speed loop gain - Google Patents
Oscillation detection of servo system and automatic adjustment of speed loop gainInfo
- Publication number
- JP2587701B2 JP2587701B2 JP1181655A JP18165589A JP2587701B2 JP 2587701 B2 JP2587701 B2 JP 2587701B2 JP 1181655 A JP1181655 A JP 1181655A JP 18165589 A JP18165589 A JP 18165589A JP 2587701 B2 JP2587701 B2 JP 2587701B2
- Authority
- JP
- Japan
- Prior art keywords
- frequency
- speed
- change
- servo system
- speed loop
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Landscapes
- Feedback Control In General (AREA)
- Control Of Position Or Direction (AREA)
- Control Of Electric Motors In General (AREA)
Description
【発明の詳細な説明】 産業上の利用分野 本発明は、工作機械の送り軸や、ロボット等のサーボ
モータで駆動される機械におけるサーボ系の発振検出及
びサーボ系の速度ループゲインの調整方式に関する。Description: BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a system for detecting oscillation of a servo system and adjusting a speed loop gain of a servo system in a machine driven by a servomotor such as a robot or a feed shaft of a machine tool. .
従来の技術 第11図は、サーボモータにおける速度ループのブロッ
ク線図であり、該ブロック線図においてk1は積分ゲイ
ン、k2は比例ゲイン、Pはパラメータで、該パラメータ
P「1」としたときは比例積分(PI)制御が行われ、パ
ラメータPを「0」にしたときは積分比例(IP)制御が
行われるもので、このPI制御,IP制御を決めるパラメー
タである。Ktはトルク定数、Jmは系全体のイナーシャで
ある。また、Vcは速度指令信号であり、Vtは速度信号を
意味する。この第11図に示す速度ループのブロック線図
は、一般的に知られているものであり、詳細な説明は省
略する。2. Description of the Related Art FIG. 11 is a block diagram of a speed loop in a servomotor. In the block diagram, k1 is an integral gain, k2 is a proportional gain, P is a parameter, and when the parameter P is "1", When the proportional integral (PI) control is performed and the parameter P is set to “0”, the integral proportional (IP) control is performed, and is a parameter for determining the PI control and the IP control. Kt is the torque constant, and Jm is the inertia of the entire system. Vc is a speed command signal, and Vt is a speed signal. The block diagram of the speed loop shown in FIG. 11 is generally known, and a detailed description thereof will be omitted.
この速度制御ループは第11図のブロック線図からも明
らかなように2次系である。そして、カットオフ周波数
fn(Hz)とダンピング定数ξを決めると、積分ゲインk
1,比例ゲインk2は次の第(1)式,第(2)式によって
決まる。This speed control loop is a secondary system as is clear from the block diagram of FIG. And the cutoff frequency
Once fn (Hz) and damping constant ξ are determined, the integral gain k
1. The proportional gain k2 is determined by the following equations (1) and (2).
k1=(Jm/Kt)・(2πfn)2 ……(1) k2=(Jm/Kt)・2ξ・(2πfn)2 ……(2) この積分ゲインk1,比例ゲインk2によって決まる速度
ループゲインが低いと、サーボモータを1パルス分送ろ
うとしても、ゲインが低いためサーボモータは回転せ
ず、移動指令が数パルス溜った時点で始めて回転する等
のため送り現象が生じたり、また、外乱に対しても弱
く、サーボモータの速度は低い周波数のうねりを生じ
る。逆に該速度ループゲインが高すぎると、通常の速度
のとき、例えば工作機械であれば、切削送りや早送り時
等に系の共振等により振動を起してしまう。k1 = (Jm / Kt) · (2πfn) 2 … (1) k2 = (Jm / Kt) · 2ξ · (2πfn) 2 … (2) The speed loop gain determined by the integral gain k1 and the proportional gain k2 is If it is low, the servomotor will not rotate due to the low gain even if the servomotor is sent for one pulse, and the servomotor will rotate only after a few pulses of the movement command, causing a feed phenomenon or causing disturbance. Also, the speed of the servomotor causes low frequency undulations. On the other hand, if the speed loop gain is too high, vibration occurs due to system resonance or the like at the time of normal speed, for example, in the case of a machine tool during cutting feed or rapid feed.
そこで、従来は、速度ループゲインの積分ゲインk1,
比例ゲインk2を決定するために、カットオフ周波数fnと
ダンピング定数ξを試行錯誤的に決め、系の共振等によ
る発振が生じない範囲でなるべき積分ゲインk1,比例ゲ
インk2が大きくなるように設定している。Therefore, conventionally, the integral gain k1,
In order to determine the proportional gain k2, the cutoff frequency fn and the damping constant ξ are determined by trial and error, and set so that the integral gain k1 and the proportional gain k2, which should be within the range that does not cause oscillation due to system resonance, etc., become large. doing.
発明が解決しようとする課題 上述したように、速度ループゲイン(k1,k2)の調整
は系の共振等による発信が生じないよう試行錯誤的に機
械毎に行わねばならず、速度ループゲインの決定に多く
の手間と時間を要する。Problems to be Solved by the Invention As described above, the adjustment of the speed loop gain (k1, k2) must be performed for each machine by trial and error so that transmission due to system resonance or the like does not occur. Requires a lot of trouble and time.
そこで、本発明の第1の目的は系の発振を自動的に検
出する検出方式を提供することにある。Therefore, a first object of the present invention is to provide a detection method for automatically detecting system oscillation.
本発明の第2の目的は、速度ループゲインの決定を自
動的に行うことができる速度ループゲイン自動調整方式
を提供することにある。A second object of the present invention is to provide a speed loop gain automatic adjustment method capable of automatically determining a speed loop gain.
課題を解決するための手段 位置指令を零にし、位置偏差値に応じて所定オフセッ
ト値を有する速度指令を与えることによりサーボ系に振
動を生じせしめ、このとき得られるサーボモータの実速
度変化又は位置偏差量の変化を検出し、該実速度変化又
は位置偏差量の変化の周波数分析を行う。若しくは、上
記実速度変化又は位置偏差量の変化をさらに微分し微分
値の変化を求め、この微分値変化の周波数分析を行う。
上記周波数分析で得られる各振幅の周波数内、最大振幅
の周波数を求める。そして、速度ループゲインを上昇さ
せて、順次上記周波数を求め、該周波数が突然、それま
での変動に対し非常に大きく上昇したときを検出し、そ
のときの状態がサーボ系の発振として検出する。さら
に、速度ループの周波数帯域が低い(速度ループゲイン
が小さい)ときには、上記オフセット値を大きくし、周
波数帯域が高くなるにつれてオフセット値を小さくして
サーボ系の発振を検出するようにする。Means for Solving the Problems The position command is set to zero, and a speed command having a predetermined offset value is given according to the position deviation value to cause vibration in the servo system, and the actual speed change or position of the servo motor obtained at this time is obtained. A change in the deviation amount is detected, and a frequency analysis of the actual speed change or the change in the position deviation amount is performed. Alternatively, the change in the differential value is obtained by further differentiating the change in the actual speed or the change in the position deviation amount, and the frequency analysis of the change in the differential value is performed.
The frequency of the maximum amplitude is obtained from the frequencies of the amplitudes obtained by the frequency analysis. Then, the speed loop gain is increased, and the above-mentioned frequency is sequentially obtained. When the frequency suddenly rises extremely greatly with respect to the fluctuation up to that time, the state at that time is detected as the oscillation of the servo system. Further, when the frequency band of the speed loop is low (the speed loop gain is small), the offset value is increased, and the offset value is decreased as the frequency band increases, thereby detecting the oscillation of the servo system.
又、速度ループゲインを調整するときには、上述した
方法により上記最大振幅の周波数が予め設定されている
基準周波数に対し、所定範囲に達するまで、順次速度ル
ープゲインを自動的に調整し、設定所定範囲内に達した
時点での速度ループゲインを当該速度ループのゲインと
して決定し、最適速度ループゲインを自動的に決定でき
るようにする。Further, when adjusting the speed loop gain, the speed loop gain is automatically adjusted sequentially in accordance with the above-described method until the frequency of the maximum amplitude reaches a predetermined range with respect to a preset reference frequency. Is determined as the gain of the speed loop, so that the optimum speed loop gain can be automatically determined.
作 用 位置指令を零にし、位置偏差値に応じて所定オフセッ
ト値を有する速度指令を与えると、わずかな位置偏差量
によって速度ループにはオフセット値を有する速度指令
が入力され、サーボモータは摩擦に打勝って移動する。
すなわち、スティックステップする。その結果、位置偏
差量は逆方向に増加し、そのため逆方向の速度指令が出
力され、今度はサーボモータは逆方向に回転する。これ
が繰り返され、サーボモータは振動を起すこととなる。
このときのサーボモータの実速度変化又は位置偏差値の
変化を検出し、周波数分析を行って振幅が最大となる周
波数を検出する。そして、速度ループゲインを順次上げ
ていくと、サーボモータで駆動される機械を含めたサー
ボ系の共振等によって上記最大振幅の周波数はそれまで
の周波数の上昇に較べ非常に大きく上昇する。この非常
に大きく上昇する点を検出すれば、サーボ系の発振を検
出することができる。When the position command is set to zero and a speed command having a predetermined offset value is given in accordance with the position deviation value, a speed command having an offset value is input to the speed loop due to a small amount of position deviation, and the servo motor reduces friction. Defeat and move.
That is, a stick step is performed. As a result, the position deviation amount increases in the reverse direction, so that a speed command in the reverse direction is output, and the servo motor rotates in the reverse direction this time. This is repeated, and the servo motor will vibrate.
At this time, a change in the actual speed of the servomotor or a change in the position deviation value is detected, and a frequency analysis is performed to detect a frequency at which the amplitude becomes maximum. Then, when the speed loop gain is sequentially increased, the frequency of the maximum amplitude is greatly increased as compared with the increase of the frequency due to resonance of the servo system including the machine driven by the servomotor. By detecting this very large rising point, the oscillation of the servo system can be detected.
ただし、上記方式では、共振が弱い間は共振周波数は
検出できず、系が本格的に共振を起こして共振周波数が
支配的となって共振周波数の振幅が最大となったときし
か系の発振を検出できない。However, in the above method, the resonance frequency cannot be detected while the resonance is weak, and the system oscillates only when the resonance frequency becomes dominant and the amplitude of the resonance frequency becomes the maximum when the system starts full-scale resonance. Not detectable.
一般にサーボ系の制御系自体が作り出している振動周
波数に対し機械系の共振周波数が数倍高い。仮に制御系
の基本の周波数をf0、機械の共振周波数をそのm倍のmf
0としたときサーボモータの実速度変化(実速度波形)
は次の第(3)式で表わされる。Generally, the resonance frequency of the mechanical system is several times higher than the vibration frequency generated by the control system itself of the servo system. Suppose the basic frequency of the control system is f0, and the resonance frequency of the machine is mf
Actual speed change of servo motor when set to 0 (actual speed waveform)
Is represented by the following equation (3).
v(t)=A1sin(2πf0t) +A2sin(2πmf0t+ρ) ……(3) なお、ρは位相遅れである。v (t) = A1sin (2πf0t) + A2sin (2πmf0t + ρ) (3) where ρ is a phase delay.
一方上記第(3)式を微分し微分信号ω(t)を求め
ると次の第(4)式のようになる。On the other hand, when the above equation (3) is differentiated to obtain a differential signal ω (t), the following equation (4) is obtained.
ω(t)=dv(t)/dt =2πf0A1cos(2πf0t) +2πmf0tA2cos(2πmf0t+ρ) ……(4) したがって、上記第(3)式で求められる実速度変化
における基本の周波数f0の振幅A1と機械の共振周波数mf
0の振幅A2の比はA2/A1であることに対し、第(2)式で
示される微分信号ω(t)の振幅比はmA2/A1となり、m
倍となる。よって実速度変化(位置偏差変化)を周波数
分析するよりも、この実速度変化(位置偏差変化)を微
分した値、即ち加速度変化を周波数分析して最大振幅の
周波数を求めた方が、速度ループゲインの過上昇による
系の発振を、その発振の影響が弱い早い段階で検出する
ことができる。ω (t) = dv (t) / dt = 2πf0A1cos (2πf0t) + 2πmf0tA2cos (2πmf0t + ρ) (4) Therefore, the amplitude A1 of the fundamental frequency f0 and the machine speed A1 at the actual speed change obtained by the above equation (3) Resonance frequency mf
While the ratio of the amplitude A2 of 0 is A2 / A1, the amplitude ratio of the differential signal ω (t) expressed by the equation (2) is mA2 / A1, and m
Double. Therefore, rather than analyzing the actual speed change (position deviation change) by frequency analysis, the value obtained by differentiating the actual speed change (position deviation change), that is, the frequency analysis of the acceleration change, to obtain the frequency of the maximum amplitude is more speed loop. Oscillation of the system due to an excessive increase in gain can be detected at an early stage where the influence of the oscillation is weak.
さらに、上記オフセット値が小さいと、速度ループの
周波数帯域が低いとき(速度ループゲインが小さいと
き)には、機械系のバックラッシュ内でサーボモータが
振動したり、機械系の摩擦トルクの方が大きくて振動が
生じない場合があり、逆にオフセット値が大きいと速度
ループの周波数帯域が高くなったとき、トルクリミット
により、トルク指令値が飽和したり、モータの発熱、或
いは機械系に大きな機械的振動を与えるので、速度ルー
プの周波数帯域が高くなるに比例して上記オフセット値
を小さくすることにより上記不具合を解消する。Further, when the offset value is small, when the frequency band of the speed loop is low (when the speed loop gain is small), the servomotor vibrates within the backlash of the mechanical system, and the friction torque of the mechanical system becomes smaller. If the offset value is large and the frequency band of the speed loop is high, the torque command value may be saturated due to the torque limit, the motor may generate heat, or a large mechanical force may be generated in the mechanical system. The above problem is solved by reducing the offset value in proportion to the increase of the frequency band of the speed loop since the target vibration is applied.
また、速度ループのゲインを調整する場合には、サー
ボ系の速度ループ,ポジションループ等の系によって経
験的に求められている望ましい基準周波数を設定してお
き、上記サーボ系の発振を検出する方式と同様にスティ
ックステップを行わせて、検出される振幅最大の周波数
が、望ましい基準周波数と同一またはその近傍に達する
ように速度ループゲインを順次変更して自動調整し、同
一または所定範囲内に入ると、そのときの速度ループゲ
インの当該速度制御ループの速度ループゲインとして自
動的に確定する。When adjusting the gain of the speed loop, a desired reference frequency empirically obtained by a system such as a speed loop and a position loop of a servo system is set, and the oscillation of the servo system is detected. In the same manner as in the above, the speed loop gain is sequentially changed and automatically adjusted so that the frequency having the maximum detected amplitude reaches the same as or near the desired reference frequency, and enters the same or within a predetermined range. And the speed loop gain at that time is automatically determined as the speed loop gain of the speed control loop.
実施例 以下、本発明の一実施例について説明する。Example Hereinafter, an example of the present invention will be described.
第1図は、本実施例における速度ループを含む位置ル
ープのブロック線図であり、サーボモータにおける通常
の位置ループのブロック線図と異なる点は関数発生器2
が加わった点である。FIG. 1 is a block diagram of a position loop including a speed loop in the present embodiment.
This is the point that has been added.
第1図において、1は位置ループにおける比例項で、
Kpはポジションゲイン、2は関数発生器、3は速度ルー
プの積分項で、k1は積分ゲイン、4は速度ループの比例
項で、k2は比例ゲイン、5はパラメータPの項で、PI制
御のときは「1」、IP制御のときは「0」となるもので
ある。また、6,7はサーボモータの伝達関数の項で、Kt
はトルク定数、Jmは系全体のイナーシャである。また、
8は速度Vtを位置Prに変換する積分項である。In FIG. 1, 1 is a proportional term in the position loop,
Kp is the position gain, 2 is the function generator, 3 is the integral term of the speed loop, k1 is the integral gain, 4 is the proportional term of the velocity loop, k2 is the proportional gain, 5 is the parameter P term, and PI control In this case, the value is "1", and in the case of IP control, it is "0". 6 and 7 are the terms of the transfer function of the servo motor,
Is the torque constant, and Jm is the inertia of the entire system. Also,
Reference numeral 8 denotes an integral term for converting the speed Vt into the position Pr.
比例項1は、位置指令Pcとサーボモータの実際の位置
Prとの差、即ち、位置偏差量をゲインKpで増幅し速度指
令Vc(in)として出力し、通常の位置ループであれば、
この速度指令Vc(in)は速度ループに速度指令として入
力されるが、本発明は速度ループゲイン調整時において
は、関数発生器2に入力され、該関数発生器2で速度指
令Vc(in)を後述するように変換して速度指令Vc(ou
t)として出力し、速度ループに出力される。速度ルー
プでは速度指令Vc(out)と速度信号(サーボモータの
実速度)Vtの差、即ち、速度偏差量を積分項3で積分し
た値から、パラメータPが「1」の場合では速度信号Vt
からの速度指令値Vc(out)を減じた値に比例ゲインを
乗じた値を減じ、その値がサーボモータへトルク指令と
して出力され、また、パラメータPが「0」の場合に
は、積分項3から出力された積分値から速度信号Vtに比
例ゲインk2が乗じられた値を減じ、その値がトルク指令
として出力され、サーボモータを駆動することとなる。The proportional term 1 is the position command Pc and the actual position of the servomotor.
The difference from Pr, that is, the position deviation amount is amplified by the gain Kp and output as the speed command Vc (in).
The speed command Vc (in) is input to the speed loop as a speed command. In the present invention, when the speed loop gain is adjusted, the speed command Vc (in) is input to the function generator 2 and the function generator 2 executes the speed command Vc (in). Is converted into a speed command Vc (ou
t) and output to the speed loop. In the speed loop, from the difference between the speed command Vc (out) and the speed signal (actual speed of the servo motor) Vt, that is, the value obtained by integrating the speed deviation amount by the integration term 3, when the parameter P is "1", the speed signal Vt
The value obtained by multiplying the value obtained by subtracting the speed command value Vc (out) from the control signal by the proportional gain is output to the servo motor as a torque command. When the parameter P is "0", the integral term The value obtained by multiplying the speed signal Vt by the proportional gain k2 is subtracted from the integrated value output from 3 and the value is output as a torque command to drive the servomotor.
上記関数発生器2は、第2図に示すように、位置偏差
量が零でオフセット値±Aを有し、入力速度指令Vc(i
n)がプラス方向又はマイナス方向に増加するにつれて
比例定数Kで出力速度指令Vc(out)が増加又は減少す
るように設定された関数発生器で、第2図に示すよう
に、該関数発生器2の入力Vc(in)が零近傍(位置偏差
量が零近傍)においては、入力Vc(in)のわずかな変化
に対し入力Vc(out)は大きく変化し、他の部分は入力V
c(in)が変化しても出力Vc(out)の変化量は少ない。
このような入出力関係になった関数発生器2を構成す
る。As shown in FIG. 2, the function generator 2 has an offset value ± A with a position deviation amount of zero and an input speed command Vc (i
A function generator set so that the output speed command Vc (out) increases or decreases with a proportionality constant K as n) increases in the plus or minus direction, as shown in FIG. When the input Vc (in) is near zero (position deviation amount is near zero), the input Vc (out) greatly changes with a slight change in the input Vc (in), and the other parts are the input Vc (in).
Even if c (in) changes, the amount of change in output Vc (out) is small.
The function generator 2 having such an input / output relationship is configured.
すなわち、関数発生器の入出力関係は次の第(5)
式,第(6)式となる。That is, the input / output relationship of the function generator is expressed by the following (5)
Equation (6) is obtained.
Vc(in)≧0のとき Vc(out)=K・Vc(in)+A ……(5) Vc(in)<0のとき Vc(out)=K・Vc(in)−A ……(6) そうすると、第1図に示すゲイン調整時の位置ループ
では位置指令Pcが零のときサーボモータは必ず振動を起
こす。すなわち、位置指令Pcが「0」でも位置偏差量に
はわずかな変動がある。そのため、第2図に示すよう
に、位置偏差量が「0」からわずかでも変動すると、関
数発生器2からの速度制御ループに出力される速度指令
Vc(out)は大きく変動し、サーボモータは回転するこ
ととなる。サーボモータが回転すれば、位置偏差量は逆
方向に増大し、関数発生器2からは逆方向の速度指令Vc
(out)が出力され、サーボモータは今度は逆方向に回
転する。これが繰返され、サーボモータは振動を起こす
ことになる。When Vc (in) ≧ 0 Vc (out) = K · Vc (in) + A (5) When Vc (in) <0 Vc (out) = K · Vc (in) −A (6) Then, in the position loop at the time of gain adjustment shown in FIG. 1, the servomotor always vibrates when the position command Pc is zero. That is, even if the position command Pc is “0”, the position deviation amount slightly varies. Therefore, as shown in FIG. 2, if the position deviation amount slightly fluctuates from “0”, the speed command output from the function generator 2 to the speed control loop
Vc (out) varies greatly, and the servomotor rotates. If the servomotor rotates, the position deviation increases in the reverse direction, and the function generator 2 outputs the speed command Vc in the reverse direction.
(Out) is output, and the servomotor rotates in the opposite direction this time. This is repeated, causing the servo motor to vibrate.
このサーボモータの振動の周波数は速度制御ループの
帯域周波数(カットオフ周波数fn)が高ければ速度制御
ループの応答が速いので、この周波数も高くなる。The frequency of the vibration of the servomotor is high if the band frequency (cutoff frequency fn) of the speed control loop is high, because the response of the speed control loop is fast.
そこで、上記サーボモータの振動、即ち、速度信号Vt
の振動周波数を検出し、この周波数には、摩擦等により
他の周波数部分も含んでいるから、フーリエ変換等の周
波数分析で主振動成分、即ち、振幅が最大の周波数成分
を抽出すれば、この主振動成分が速度指令Vc(out)に
応答したものと想定される。そして、機械系に共振が発
生しなければこの振幅最大の周波数は速度ループゲイン
K1,K2を順次上昇させると連続的に増大する。しかし、
機械系に共振が生じれは共振周波数の影響で上記振幅最
大の周波数は突然、それまでの周波数の変動に較べ非常
に大きく変動する。そのため、この周波数が大きく変動
する時点を検出し、このときがサーボ系の発振として検
出する。Therefore, the vibration of the servo motor, that is, the speed signal Vt
Is detected, and this frequency also includes other frequency parts due to friction or the like, so if the main vibration component, that is, the frequency component having the largest amplitude is extracted by frequency analysis such as Fourier transform, this frequency It is assumed that the main vibration component has responded to the speed command Vc (out). If the resonance does not occur in the mechanical system, the frequency with the maximum amplitude is the speed loop gain.
It increases continuously when K1 and K2 are increased sequentially. But,
When resonance occurs in the mechanical system, the frequency having the maximum amplitude suddenly fluctuates much more greatly than the fluctuation of the frequency due to the influence of the resonance frequency. Therefore, a point in time at which this frequency fluctuates greatly is detected, and this time is detected as oscillation of the servo system.
第3図は、サーボ系の制御をソフトウェアで行うデジ
タルサーボ回路のプロセッサ(以下CPUという)が行う
サーボ系発振検出モードにおける速度ループ処理周期毎
の処理のフローチャートである。FIG. 3 is a flowchart of a process for each speed loop processing cycle in a servo system oscillation detection mode performed by a processor (hereinafter, referred to as a CPU) of a digital servo circuit that controls a servo system by software.
まず、工作機械やロボット等を制御する数値制御装置
に、初期のパラメータとしてカットオフ周波数fnを設定
値fn0に、ダンピング定数ξを設定値ξ0に設定し、パ
ラメータPを「0」にセットすると、デジタルサーボ回
路のCPUは上記第(1)式,第(2)式の演算を行って
速度ループゲインK1,K2の初期設定を行い、後述するフ
ラグF,指標iを「0」に初期設定する。そして、サーボ
系発振検出モードにすると、サーボ回路のCPUは第3図
の処理を速度ループ処理周期毎実行する。First, in a numerical controller for controlling a machine tool, a robot, or the like, a cutoff frequency fn is set to a set value fn0, a damping constant に is set to a set value ξ0 as initial parameters, and a parameter P is set to “0”. The CPU of the digital servo circuit performs the calculations of the above equations (1) and (2) to initialize the speed loop gains K1 and K2, and initializes a flag F and an index i to be described later to "0". . When the mode is set to the servo system oscillation detection mode, the CPU of the servo circuit executes the processing of FIG. 3 every speed loop processing cycle.
まず、フラグFが「1」か否か判断し(ステップ10
0)、「0」であると位置ループ1から出力される速度
指令Vc(in)を読む(ステップ101)。サーボ系発振検
出モードでは位置指令Pcは「0」であるから、速度指令
Vc(in)は「0」又は後述するように速度指令Vc(ou
t)がオフセット値Aを有することから、正又は負の値
をとっている。そこで、読取った速度指令Vc(in)が零
以上か否か判断し(ステップ102)、零以上ならば速度
ループへ出力する速度指令Vc(out)を第(5)式の演
算を行って出力し(ステップ103)、負ならば第(6)
式の演算を行って出力する(ステップ104)。即ち、こ
のステップ102〜104の処理が第1図における関数発生器
2の処理である。次に実速度Vtを読み、指標iで示され
るアドレスのメモリMiに該実速度Vtを格納し、指標iを
「1」インクリメントする(ステップ105〜107)。そし
て、指標iの値が設定された値Nより大きいか否かを判
断し(ステップ108)、大きくなければステップ103,104
で求められた速度指令Vc(out)に基づいて通常の速度
ループ処理を行い(ステップ110)、当該速度ループ処
理周期の処理を終了する。速度ループ処理ではトルク指
令値が算出され、次に、従来と同様に電流ループ処理等
が行われ、サーボモータに駆動電流が流れ、サーボモー
タは駆動されることとなる。First, it is determined whether or not the flag F is "1" (step 10).
0) If it is "0", the speed command Vc (in) output from the position loop 1 is read (step 101). Since the position command Pc is "0" in the servo system oscillation detection mode, the speed command
Vc (in) is “0” or a speed command Vc (ou
Since t) has the offset value A, it takes a positive or negative value. Therefore, it is determined whether or not the read speed command Vc (in) is equal to or greater than zero (step 102). If the read speed command Vc (in) is equal to or greater than zero, the speed command Vc (out) to be output to the speed loop is output by performing the calculation of equation (5). (Step 103), if negative (6)
The expression is calculated and output (step 104). That is, the processing of steps 102 to 104 is the processing of the function generator 2 in FIG. Next, the actual speed Vt is read, the actual speed Vt is stored in the memory Mi at the address indicated by the index i, and the index i is incremented by "1" (steps 105 to 107). Then, it is determined whether or not the value of the index i is larger than the set value N (step 108).
A normal speed loop process is performed based on the speed command Vc (out) obtained in step (step 110), and the process of the speed loop process cycle ends. In the speed loop process, a torque command value is calculated, and then, a current loop process and the like are performed in the same manner as in the related art. A drive current flows through the servo motor, and the servo motor is driven.
なお、上記設定値Nは、後述する周波数分析のための
FFT処理に必要なデータ数を規定するものである。The set value N is used for a frequency analysis described later.
This defines the number of data required for FFT processing.
上記処理をCPUは速度ループ処理周期毎繰り返すこと
となるが、例えば、ステップ102でVc(in)≧0と判断
され、速度指令として、Vc(out)=K・Vc(in)+A
が出力されると、オフセット値Aがあることによりサー
ボモータは正回転し、その結果、位置偏差は負となり、
位置ループ1から出力される速度指令Vc(in)は負とな
る。その結果、次の周期ではステップ104の処理が行わ
れ速度ループへの速度指令Vc(out)は(K・Vc(in)
−A)となり、サーボモータを逆転させるるように電流
が流れることとなり、サーボモータ及び機械は振動する
こととなる。そしてメモリには各速度ループ周期毎に検
出された実速度Vtが記憶されることとなる(ステップ10
5,106)。そして、指標iの値が設定値Nを超えると
(ステップ108)、CPUはフラグFを「1」にセットする
(ステップ109)、その結果、以後の速度ループ処理周
期ではステップ100からステップ101へ移行し、通常の速
度ループ処理のみを行うこととなる。The CPU repeats the above processing every speed loop processing cycle. For example, it is determined in step 102 that Vc (in) ≧ 0, and Vc (out) = K · Vc (in) + A as a speed command.
Is output, the servo motor rotates forward due to the offset value A, and as a result, the position deviation becomes negative,
The speed command Vc (in) output from the position loop 1 is negative. As a result, in the next cycle, the process of step 104 is performed, and the speed command Vc (out) to the speed loop is (K · Vc (in)
-A), a current flows so as to reverse the servo motor, and the servo motor and the machine vibrate. Then, the actual speed Vt detected for each speed loop period is stored in the memory (step 10).
5,106). When the value of the index i exceeds the set value N (step 108), the CPU sets the flag F to "1" (step 109). As a result, in the subsequent speed loop processing cycle, the flow proceeds from step 100 to step 101. Then, only the normal speed loop processing is performed.
一方、デジタルサーボ回路のCPUはサーボ制御のため
の位置ループ処理、速度ループ処理、電流ループ処理等
の周期以外の残り時間において、第4回に示す発振検出
処理を実行する。On the other hand, the CPU of the digital servo circuit executes the fourth oscillation detection processing in the remaining time other than the cycle of the position loop processing, velocity loop processing, current loop processing, and the like for servo control.
まず、フラグFが「1」にセットされているか否か判
断し(ステップ200)、セットされてなければ、何ら処
理を行わない。一方、第3図に示す速度ループ処理のス
テップ109でフラグFが「1」にセットされメモリM0〜M
nに(n+1)個の実速度データが格納されているとき
には、この実速度データを読出し、周波数分析を行う。
本実施例ではすでに市販されているソフトのFFT(Farst
Fourier Transform:高速フーリエ変換)によって周波
数分析を行い各周波数fHz成分の振幅c(f)を求める
(ステップ201)。なお、FFTは周波数分析するために所
定数のデータを必要とし、そのデータの数は2のべき乗
でなければならない。そのため、第3図の処理において
設定されたNの値はデータ数M0〜Mnが周波数分析するに
必要な数となり、その数が2のべき乗となるように設定
されている。First, it is determined whether or not the flag F is set to "1" (step 200). If not, no processing is performed. On the other hand, in step 109 of the speed loop process shown in FIG. 3, the flag F is set to "1" and the memories M0 to M
When (n + 1) actual speed data is stored in n, the actual speed data is read out and frequency analysis is performed.
In this embodiment, the FFT (Farst
Frequency analysis is performed by Fourier Transform (Fast Fourier Transform), and the amplitude c (f) of each frequency f Hz component is obtained (step 201). Note that the FFT requires a predetermined number of data for frequency analysis, and the number of data must be a power of two. Therefore, the value of N set in the processing of FIG. 3 is a number required for frequency analysis of the number of data M0 to Mn, and the number is set to be a power of two.
ステップ201で求められた振幅c(f)の内、最大振
幅の周波数fHzをfmaxとして求め(ステップ202)、前回
の処理によって求められた最大振幅の周波数fmaxを記憶
レジスタR(f)が「0」か否か判断する(ステップ20
3)。レジスタR(f)は初期設定で始めは「0」に設
定されているから、ステップ205へ移行し、今回の処理
で求めた周波数fmaxをレジスタR(f)に格納して、現
在設定されているカットオフ周波数fnに設定値fsを加算
し新しいカットオフ周波数fnとする(ステップ206)、
そしてこの周波数fnに基いて第(1),第(2)式の演
算を行って、新しい速度ループのゲインK1,K2を求め設
定する(ステップ207)、そして、指標i及びフラグF
を「0」にセットし今回の発振検出処理を終了する。Of the amplitude c (f) obtained in step 201, the frequency f Hz of the maximum amplitude is obtained as fmax (step 202), and the frequency fmax of the maximum amplitude obtained in the previous process is stored in the storage register R (f) as " 0 ”or not (step 20).
3). Since the register R (f) is initially set to "0" in the initial setting, the process proceeds to step 205, where the frequency fmax obtained in the current process is stored in the register R (f), and the currently set value is stored. The set value fs is added to the existing cutoff frequency fn to obtain a new cutoff frequency fn (step 206).
Then, based on the frequency fn, the calculations of the equations (1) and (2) are performed to determine and set the gains K1 and K2 of the new speed loop (step 207).
Is set to “0”, and the current oscillation detection processing ends.
フラグFが「0」にセットされたことにより、速度ル
ープ処理周期では、再び第3図のステップ100〜110の処
理を開始し、新しい速度ループゲインによる実速度Vtの
データをメモリM0〜Mnに格納することとなる。Since the flag F is set to "0", the processing of steps 100 to 110 in FIG. 3 is started again in the speed loop processing cycle, and the data of the actual speed Vt by the new speed loop gain is stored in the memories M0 to Mn. Will be stored.
そして、指標iが「N」となりメモリM0〜Mn内にデー
タが記憶され、フラグFが「1」にセットされると、再
び第4図のステップ200〜208の処理を開始し、最大振幅
の周波数fmaxを求め、今回はすでにレジスタR(f)に
前回の周波数fmaxが記憶されているから、ステップ203
よりステップ204へ進み、今回求めた周波数fmaxが前回
の周波数fmaxのm倍(m=2〜3)以上か否か判断する
(ステップ204)。前述したように速度ループのゲインK
1,K2が上がり機械系が共振すると、この共振の影響で、
最大振幅の周波数fmaxは非常に大きく増大し、前周期の
周波数fmaxよりm倍となるが、共振が生じてなければ、
周波数fmaxは、飛躍的に増大しないから、m倍とはなら
ず、ステップ205へ移行し、前述したように、速度ルー
プゲインを上げ、指標i,フラグFを「0」にセットし
(ステップ206〜208)、再び第3回のステップ100〜110
の処理を開始する。Then, when the index i becomes "N" and the data is stored in the memories M0 to Mn and the flag F is set to "1", the processing of steps 200 to 208 in FIG. Since the frequency fmax is obtained and the previous frequency fmax is already stored in the register R (f) this time, step 203
The process further proceeds to step 204, and it is determined whether or not the frequency fmax obtained this time is not less than m times (m = 2 to 3) the previous frequency fmax (step 204). As described above, the speed loop gain K
When K2 rises and the mechanical system resonates, the effect of this resonance
The frequency fmax of the maximum amplitude greatly increases, and becomes m times as large as the frequency fmax of the previous cycle.
Since the frequency fmax does not increase drastically, it does not become m times, and the process proceeds to step 205, where the speed loop gain is increased and the index i and the flag F are set to "0" (step 206). ~ 208), again the third step 100 ~ 110
Start the process.
以下、上述した処理を繰り返し行い、ステップ204で
前回の周波数fmaxよりm倍以上の周波数fmaxが検出され
ると、サーボ系の発振として数値制御装置の表示装置
に、速度ループのゲインK1,K2,発振時のカットオフ周波
数fn,検出周波数fmaxを表示し、サーボ系発振モード処
理を終了する。Hereinafter, the above-described processing is repeated, and if a frequency fmax that is m times or more than the previous frequency fmax is detected in step 204, the gain of the speed loop K1, K2, The cutoff frequency fn and the detection frequency fmax during oscillation are displayed, and the servo system oscillation mode processing ends.
上述したサーボ系の発振検出方法では、機械系が共振
を起こしてもその共振が弱い間は共振の影響が少なく、
最大振幅が共振周波数に対応して検出されない。そこで
前述したように、実速度変化を微分して加速度の変化を
求め、この加速度の変化(加速度波形)で周波数分析し
て、サーボ系の発振を検出するようにする。そうすれば
第(4)式で説明したように、共振が弱い段階でも系の
発振を検出することができる。In the above-described servo system oscillation detection method, even if the mechanical system causes resonance, the influence of the resonance is small while the resonance is weak,
The maximum amplitude is not detected corresponding to the resonance frequency. Therefore, as described above, the change in the acceleration is obtained by differentiating the change in the actual speed, and the frequency analysis is performed on the change in the acceleration (acceleration waveform) to detect the oscillation of the servo system. Then, as described in the equation (4), the oscillation of the system can be detected even at the stage where the resonance is weak.
例えば、120Hz(周期が約8msec)の機械的共振を持つ
機械系に対し、速度ループのゲインを調整して、25Hz
(周期が40msec)で振動させるようにした場合、得られ
る実速度変化(実速度波形)は第8図のようになる。一
方、速度を微分した微分値の変化(速度微分波形)は第
9図に示したようになり、共振周波数120Hz微分波形で
は支配的となり、より検出し易くなることがわかる。For example, for a mechanical system with a mechanical resonance of 120 Hz (period is about 8 msec), adjust the gain of the speed loop to 25 Hz.
When the vibration is performed at a cycle of 40 msec, the obtained actual speed change (actual speed waveform) is as shown in FIG. On the other hand, the change of the differential value obtained by differentiating the velocity (velocity differential waveform) is as shown in FIG. 9, and it is understood that the change is dominant in the resonance frequency 120 Hz differential waveform, and the detection becomes easier.
このときのデジタルサーボ回路のプロセッサの速度ル
ープ処理周期毎の処理は第3図におけるステップ106の
代りに第5図に示す処理が実行されることとなる。At this time, the processing shown in FIG. 5 is executed for each processing of the speed loop processing cycle of the processor of the digital servo circuit in place of step 106 in FIG.
すなわち、ステックスリップ処理を行い(ステップ10
3,104)実速度Vtを読んだ(ステップ105)後、読出され
た実速度VtからレジスタR(v)に記憶する前周期で読
出された実速度を減じて加速度信号a(i)を求める
(ステップ300)。なお、レジスタR(v)は初期設定
で「0」にセットされている。次に、読出した実速度Vt
をレジスタR(v)に格納し、ステップ300で算出した
加速度信号a(i)をメモリMiに格納し(ステップ301,
302)、第3図のステップ107以下の処理を行う。こうし
て、メモリM0〜Mnには加速度信号a(i)が格納される
こととなる。That is, stick slip processing is performed (step 10
(3, 104) After reading the actual speed Vt (step 105), the actual speed read in the previous cycle stored in the register R (v) is subtracted from the read actual speed Vt to obtain the acceleration signal a (i) (step 105). 300). Note that the register R (v) is set to “0” by default. Next, the read actual speed Vt
Is stored in the register R (v), and the acceleration signal a (i) calculated in step 300 is stored in the memory Mi (step 301,
302), the processing from step 107 onward in FIG. 3 is performed. Thus, the acceleration signals a (i) are stored in the memories M0 to Mn.
次に、発振検出処理では、第4図に示す処理と略同一
の処理が行われる。相違する点は、ステップ208で指標
i,フラグFを「0」にセットすると共にレジスタR
(v)も「0」にセットされる点のみである。Next, in the oscillation detection processing, substantially the same processing as the processing shown in FIG. 4 is performed. The difference is that step 208
i, the flag F is set to "0" and the register R
(V) is also the only point set to “0”.
こうして加速度変化(加速度波形)に対して周波数分
析が行われ、サーボ系の発振が検出されるヌととなり、
速度変化(位置偏差変化)で発振を検出するよりも、よ
り速く検出することができる。In this manner, the frequency analysis is performed on the acceleration change (acceleration waveform), and the oscillation of the servo system is detected as a null.
Oscillation can be detected more quickly than when oscillation is detected by a change in speed (change in position deviation).
さらに、上記オフセット値Aについてみると、該オフ
セット値Aが小さい場合には、機械系のバックラッシ中
で振動が生じたり、機械系の摩擦トルクが大きくて、ス
テックスリップを起こすことができない場合がある。こ
の現象は、速度ループのゲインが低いときトルクコマン
ドの立ち上りが遅いため特に起こりやすくなる。又、オ
フセット値Aが大きいと、速度,位置の振幅が大きくな
り、特に速度ループのゲインが高くなった状態では、ト
ルクリミットによりトルクコマンドが飽和したり、モー
タの発熱または機械系に大きな機械的振動を与えるここ
となり好ましくない。Further, with respect to the offset value A, when the offset value A is small, vibration may occur during the backlash of the mechanical system or the friction torque of the mechanical system may be so large that stick slip may not occur. . This phenomenon is particularly likely to occur when the gain of the speed loop is low because the rise of the torque command is slow. Also, when the offset value A is large, the amplitude of the speed and the position becomes large. Especially, in a state where the gain of the speed loop is high, the torque command is saturated by the torque limit, or the heat generation of the motor or large mechanical Vibration here is not preferable.
ステックスリップを実現するために必要なトルクの最
大値についてみると、同一のオフセット値Aでステック
スリップを起させ、そのとき必要な最大トルク値を実験
的に求めると、第10図に示すように速度ループの周波数
帯域にほぼ比例して増大する。このことが、速度ループ
の周波数帯域を高くしたゲインの高い状態で、トルクコ
マンドが飽和したり、モータ発熱,大きな機械的振動を
発生させる原因である。Looking at the maximum value of the torque required to realize the stick slip, a stick slip is caused at the same offset value A, and the maximum torque value required at that time is experimentally obtained as shown in FIG. It increases almost in proportion to the frequency band of the speed loop. This is a cause of saturation of the torque command, generation of motor heat, and generation of large mechanical vibration in a high gain state where the frequency band of the speed loop is increased.
そこで、上記不具合を解決するために、速度ループの
周波数帯域が低いときにはオフセット値Aを大きくし、
高くなったときにはオフセット値Aを小さすればよい。
具体的には、ある時点での速度ループの実際の周波数帯
域は、第1図及び第3図に示す処理でステックスリップ
を起こさせたとき、モータの実速度に出て来る最大振幅
の周波数fmaxに等しいので、その周波数fmaxをもって速
度ループの帯域とみなし、本実施例ではA(fmax)=B/
fmaxとして第10図に示すようにオフセット値Aを変える
ようにする。なお、Bは固定値で、fmaxの初期値として
推定値を設定する。Therefore, in order to solve the above problem, when the frequency band of the speed loop is low, the offset value A is increased,
When it becomes higher, the offset value A may be reduced.
Specifically, the actual frequency band of the speed loop at a certain point in time is the frequency fmax of the maximum amplitude appearing at the actual speed of the motor when the stick slip is caused in the processing shown in FIGS. Therefore, the frequency fmax is regarded as the band of the velocity loop, and in this embodiment, A (fmax) = B /
The offset value A is changed as shown in FIG. 10 as fmax. Note that B is a fixed value, and an estimated value is set as an initial value of fmax.
この場合、第3図,第4図に示す処理の内、第3図の
処理を開始する前に初期設定として推定値fmaxが設定さ
れ、初期値のオフセット値Aが決められる点が前述した
サーボ系発振検出処理と異なり、第3図の処理は全て同
一となる。そして、第4図に示す発振検出処理におい
て、ステップ207の後に第6図に示すステップ400の処理
を追加し、最大振幅の周波数fmaxが求められる毎に上記
オフセット値AをB/fmaxに変更し、ステップ208へ移行
するようにする。その結果、速度ループのゲインが大き
くなるにつれて、オフセット値Aは小さくなり、上述し
た不具合は解消されることとなる、なお、第3図のステ
ップ106の代りに第5図のステップ300〜302の処理を行
って加速度変化(加速度波形)から最大振幅の周波数fm
axを求めるようにした場合においても、上記オフセット
値Aの更新を行うようにしてもよいことはもちろんであ
る。In this case, among the processes shown in FIGS. 3 and 4, the servo value is set as an initial value before the process shown in FIG. 3 is started, and the offset value A of the initial value is determined. Unlike the system oscillation detection process, the processes in FIG. 3 are all the same. Then, in the oscillation detection process shown in FIG. 4, after the step 207, the process of step 400 shown in FIG. 6 is added, and the offset value A is changed to B / fmax every time the frequency fmax of the maximum amplitude is obtained. Then, the process proceeds to step 208. As a result, as the gain of the speed loop increases, the offset value A decreases, and the above-described problem is solved. In addition, instead of step 106 in FIG. 3, steps 300 to 302 in FIG. Perform processing and calculate the maximum amplitude frequency fm from the acceleration change (acceleration waveform).
Of course, even when ax is obtained, the offset value A may be updated.
次に、上述したサーボ系の発振検出方式を利用して、
サーボ系の速度ループゲインを最適値に自動的に設定す
る方式について述べる。Next, using the above-described servo system oscillation detection method,
A method for automatically setting the speed loop gain of the servo system to an optimum value will be described.
数値制御装置をゲイン自動調整モードに切換え、初期
値として、カットオフ周波数fnをfn0,ダンピング定数ξ
をξ0,パラメータPを「0」セットすると共に速度ルー
プ,ポジションループ等の系によって経験的に求められ
ている望ましい基準周波数faをセットする。デジタルサ
ーボ回路のCPUは上記初期値より第(1),第(2)式
の演算を行って速度ループゲインK1,K2を設定すると共
に指標i,フラグFを「0」に初期設定する。そして、ス
タート指令が入力されるとCPUは第3図の処理を開始
し、サーボ系の発振検出方式と同様にメオリ内にモータ
の実速度Vtを速度ループ処理周期毎に書込み設定された
数の実速度VtのデータがメモリM0〜Mnに格納され、フラ
グFが「1」にセットされると(ステップ109)、CPUは
第7図に示すゲイン調整処理を開始する。Switch the numerical controller to the automatic gain adjustment mode, and set the cutoff frequency fn to fn0 and the damping constant
Is set to ξ0, the parameter P is set to “0”, and a desired reference frequency fa empirically obtained by a system such as a speed loop and a position loop is set. The CPU of the digital servo circuit calculates the speed loop gains K1 and K2 by performing the calculations of the equations (1) and (2) from the above initial values, and initializes the index i and the flag F to "0". When a start command is input, the CPU starts the processing shown in FIG. 3, and writes the actual speed Vt of the motor in the memory in the same number as the number set for each speed loop processing cycle, similarly to the oscillation detection method of the servo system. When the data of the actual speed Vt is stored in the memories M0 to Mn and the flag F is set to "1" (step 109), the CPU starts the gain adjustment processing shown in FIG.
すなわち、フラグFが「1」か否か判断し(ステップ
500)、「1」でなければゲイン調整処理を行わず、
「1」であると前述したステップ201と同様に、メモリM
0〜Mnに記憶されている実速度データをFFT分析し、周波
数成分の振幅c(f)を求める(ステップ201)。次
に、検出された振幅のうち最大の振幅の周波数fをfmax
として求める(ステップ502)。That is, it is determined whether the flag F is "1" (step
500), if not “1”, no gain adjustment processing is performed,
If it is “1”, the memory M
FFT analysis is performed on the actual speed data stored in 0 to Mn to determine the amplitude c (f) of the frequency component (step 201). Next, the maximum frequency f of the detected amplitudes is expressed as fmax
(Step 502).
そして、求められた周波数fmaxと設定されている基準
周波数faとの差の絶対値が、ゲイン調整のために設定さ
れている閾値ε(約1Hz程度)より小さいか否か判断し
(ステップ503)、小さくなければ現在セットされてい
るカットオフ周波数fnに基準周波数faから検出周波数fm
axを差し引いた値に設定パラメータα(0.5〜0.7程度)
を乗じた値を加算し、新しいカットオフ周波数とする
(ステップ504)。即ち、新しいfn=(古いfn)+α(f
a−fmax)となる。Then, it is determined whether or not the absolute value of the difference between the obtained frequency fmax and the set reference frequency fa is smaller than a threshold ε (about 1 Hz) set for gain adjustment (step 503). If not smaller, the cutoff frequency fn currently set to the detection frequency fm from the reference frequency fa
Setting parameter α (about 0.5 to 0.7) minus ax
Are added to obtain a new cutoff frequency (step 504). That is, new fn = (old fn) + α (f
a-fmax).
そして、新しいカットオフ周波数fnと設定されている
制御系で決まる速度ループ帯域の上限値flimを比較し
(ステップ505)、新しいカットオフ周波数fnが小さけ
れば、この新しいカットオフ周波数fnで第(1),第
(2)式の計算を行って新いし速度ループのゲインK1,K
2を設定し(ステップ508)、指標i,フラグFを「0」に
セットする。フラグFが「0」にセットされることによ
り、ゲイン調整処理は、ステップ500の処理とするのみ
となる。Then, the new cutoff frequency fn is compared with the upper limit value flim of the speed loop band determined by the set control system (step 505). If the new cutoff frequency fn is small, the new cutoff frequency fn is set to (1) ), Gains K1 and K of the new velocity loop by calculating equation (2).
2 is set (step 508), and the index i and the flag F are set to “0”. By setting the flag F to “0”, the gain adjustment processing is performed only in step 500.
一方、速度ループ処理周期では第3図のステップ100
でフラグFが「0」と判断されるからステップ101以下
の処理を再び開始し、新しい速度ループゲインK1,K2の
もとに、ステックスリップが行われ実速度Vtのデータが
各速度ループ処理毎にメモリMi内に格納される。そし
て、設定数(N+1)のデータがメモリM0〜Mn内に格納
され、フラグFが「1」にセットされると(ステップ10
9)、再び第7図に示すゲイン調整処理を開始する。On the other hand, in the speed loop processing cycle, step 100 in FIG.
The flag F is determined to be "0", so that the processing of step 101 and subsequent steps is started again, and stick slip is performed under the new speed loop gains K1 and K2, and the data of the actual speed Vt is stored in each speed loop process. Is stored in the memory Mi. When the set number (N + 1) of data is stored in the memories M0 to Mn and the flag F is set to "1" (step 10).
9) Then, the gain adjustment processing shown in FIG. 7 is started again.
以下、上述した処理が繰り返され、速度ループゲイン
K1,K2は順次更新され大きくなっていく。そして、カッ
トオフ周波数fnが速度ループ帯域の上限値flim以上にな
ると(ステップ505)、パラメータPが「0」か否か判
断し(ステップ506)、「0」であればパラメータPの
値を「1」にし、速度制御ループをPI制御にセットし、
また、カットオフ周波数fnを初期値fn0にセットし(ス
テップ507)、再び前述同様の処理を繰り返す。Thereafter, the above-described processing is repeated, and the speed loop gain
K1 and K2 are sequentially updated and become larger. When the cutoff frequency fn is equal to or higher than the upper limit value flim of the speed loop band (step 505), it is determined whether or not the parameter P is “0” (step 506). 1 ”, set the speed control loop to PI control,
Further, the cut-off frequency fn is set to an initial value fn0 (step 507), and the same processing is repeated again.
上記処理を繰り返し行っている中にステップ503で検
出周波数fmaxと基準周波数faの差の絶対値が閾値εより
小さいと判断されると、ゲイン調整終了として現在記憶
中の積分ゲインk1,比例ゲインk2及びパラメータPの値
をこの値に決定し、速度ループゲインの調整を終了す
る。なおこのとき、フローチャートでは示していない
が、決定されたゲインK1,K2、パラメータP及び現在の
カットオフ周波数fnを表示装置に表示して、ゲイン調整
の終了を知らせるようにしてもよい。If it is determined in step 503 that the absolute value of the difference between the detection frequency fmax and the reference frequency fa is smaller than the threshold ε during the repetition of the above processing, the gain adjustment is completed, and the integration gain k1 and the proportional gain k2 currently stored are determined. And the value of the parameter P are determined to this value, and the adjustment of the speed loop gain is ended. At this time, although not shown in the flowchart, the determined gains K1 and K2, the parameter P, and the current cutoff frequency fn may be displayed on a display device to notify the end of the gain adjustment.
また、上記処理を繰り返し中、検出周波数fmaxと基準
周波数faの差の絶対値が閾値εより小さくならず、ステ
ップ506でパラメータPが「1」と判断されると、カッ
オフ周波数fnを速度ループ帯域の上限値flimにセットし
(ステップ510)、このカットオフ周波数によってゲイ
ンk1,k2を決定し(ステップ511)、速度ループゲインの
調整を終了する。Also, during the repetition of the above processing, when the absolute value of the difference between the detection frequency fmax and the reference frequency fa does not become smaller than the threshold value ε, and the parameter P is determined to be “1” in step 506, the cutoff frequency fn is changed to the speed loop band. (Step 510), the gains k1 and k2 are determined based on the cutoff frequency (step 511), and the adjustment of the speed loop gain is completed.
こうして、積分ゲインk1,比例ゲインk2及びパラメー
タPは決定され、決定された値によって速度制御が行わ
れると、振動が生じなく、かつ、ゲインの大きい望まし
い速度制御が行われることとなる。In this manner, the integral gain k1, the proportional gain k2, and the parameter P are determined, and if speed control is performed based on the determined values, desirable speed control with a large gain without vibration is performed.
なお、このゲイン調整処理において基準周波数faの設
定が悪いと、速度ループのゲインk1,k2が大きくなるに
従って、最大振幅の周波数fmaxと基準周波数faとの差の
絶対値が閾値εよりも小さくなる前に、機械系が発振す
る場合が考えられる。そこで、ステップ502とステップ5
03の間に、発振検出方式と同様に、第4図ステップ203,
204,209の処理を挿入して、機械系の発振を検出し、基
準周波数faの設定値が悪いことを知らせるようにしても
よい。If the setting of the reference frequency fa is poor in this gain adjustment processing, the absolute value of the difference between the maximum amplitude frequency fmax and the reference frequency fa becomes smaller than the threshold ε as the gains k1 and k2 of the speed loop increase. Before that, it is conceivable that the mechanical system oscillates. Therefore, Step 502 and Step 5
During step 03, as in the oscillation detection method, step 203 in FIG.
The processing of steps 204 and 209 may be inserted to detect mechanical system oscillation and notify that the set value of the reference frequency fa is bad.
また、この速度ループのゲイン調整方式においても、
サーボ系の発振検出方式と同様に、ステップ106の代り
に第5図に示す処理を行い、加速度変化によって最大振
幅の周波数fmaxを求めてもよく、さらに、第6図に示す
オフセット値の変更処理(ステップ400)をステップ508
とステップ509間に挿入するようにしてもよい。Also, in this speed loop gain adjustment method,
Similar to the servo system oscillation detection method, the processing shown in FIG. 5 may be performed instead of step 106, and the frequency fmax of the maximum amplitude may be obtained by a change in acceleration. Further, the offset value changing processing shown in FIG. (Step 400) to Step 508
And step 509.
また、上記各実施例では、モータの実速度を検出する
ようにしたが、位置指令が零であることから、位置偏差
量を検出するようにしてもよい。In each of the above embodiments, the actual speed of the motor is detected. However, since the position command is zero, the position deviation amount may be detected.
なお、サーボ系発振検出モード,ゲンイン自動調整モ
ード以外の通常のサーボモータの位置及び速度制御の場
合には、第1図における関数発生器2の処理は行われな
いことはもちろんである。It should be noted that the process of the function generator 2 in FIG. 1 is not performed in the case of the ordinary servo motor position and speed control other than the servo system oscillation detection mode and the gen-in automatic adjustment mode.
発明の効果 本発明においては、サーボ系の発振を自動的に検出で
きると共に、さらに速度ループゲインを自動的に決定す
るため、従来のように試行錯誤で決定する場合と比べ、
時間と手間を必要とせず、また、常に等価ゲイン(基準
周波数faによって決まる)を持つように設定することが
できる、また、機械系の経年変化やイナーシャ等が変化
しても最適の速度ループゲインを容易に得ることができ
る。According to the present invention, the oscillation of the servo system can be automatically detected, and the speed loop gain is automatically determined.
It does not require time and effort, and can be set to always have an equivalent gain (determined by the reference frequency fa). Also, the optimum speed loop gain can be obtained even if the mechanical system changes over time or inertia changes. Can be easily obtained.
第1図は、本発明の一実施例におけるサーボ系発振検出
時及び速度ループゲインの自動調整時の位置ループのブ
ロック線図、 第2図は、関数発生器の入出力関係の説明図、 第3図は、本発明のサーボ系の発振検出方式及び速度ル
ープゲイン自動調整方式の一実施例における速度ループ
処理周期での処理を示すフローチャート、 第4図は本発明の発振検出方式の実施例における発振検
出処理のフローチャート、 第5図は第3図におけるステップ106の代りに実行する
処理のフローチャート、 第6図は、オフセット値を変更するとき追加される処理
のフローチャート、 第7図は、本発明の速度ループゲイン自動調整方式の実
施例におけるゲイン調整処理のフローチャート、 第8図,第9図は、120Hzの機械的共振をもつ機械系を2
5Hzで振動させたときの実速度の変化(速度波形)、及
び、速度の微分変化(速度微分波形)を表す図、 第10図は、ステックスリップを生じさせるとき必要な最
大トルク値と速度ループの周波数帯域及びオフセット値
との関係を表す図、 第11図は、速度ループのブロック線図である。 2……関数発生器、k1……積分ゲイン、k2……比例ゲイ
ン、P……パラメータ、fa……基準周波数、ε……閾
値、α……パラメータ、flim……速度ループ帯域の上限
値、fmax……検出周波数、fn……カットオフ周波数。FIG. 1 is a block diagram of a position loop at the time of servo system oscillation detection and automatic adjustment of a speed loop gain in one embodiment of the present invention. FIG. 2 is an explanatory diagram of an input / output relationship of a function generator. FIG. 3 is a flowchart showing processing in a speed loop processing cycle in one embodiment of the servo system oscillation detection system and the speed loop gain automatic adjustment system of the present invention. FIG. 4 is a flowchart showing the oscillation detection system embodiment of the present invention. FIG. 5 is a flowchart of an oscillation detection process, FIG. 5 is a flowchart of a process executed in place of step 106 in FIG. 3, FIG. 6 is a flowchart of a process added when an offset value is changed, and FIG. 8 and 9 are flow charts of the gain adjustment processing in the embodiment of the speed loop gain automatic adjustment method of FIG.
Diagram showing the change in actual speed (velocity waveform) and the differential change in speed (velocity differential waveform) when vibrated at 5 Hz. Fig. 10 shows the maximum torque value and the speed loop required to cause stick slip. And FIG. 11 is a block diagram of a speed loop. 2 ... Function generator, k1 ... Integral gain, k2 ... Proportional gain, P ... Parameter, fa ... Reference frequency, ε ... Threshold, α ... Parameter, flim ... Velocity loop bandwidth upper limit, fmax: Detection frequency, fn: Cutoff frequency.
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 昭58−107080(JP,A) 特開 昭58−133188(JP,A) 特開 昭60−3716(JP,A) 特開 昭60−82078(JP,A) 特開 昭60−162492(JP,A) 特開 昭60−148392(JP,A) 特開 昭62−110491(JP,A) 特開 昭62−119603(JP,A) 特開 昭63−706(JP,A) 特開 昭63−37408(JP,A) 特開 昭63−129875(JP,A) 特開 昭63−205863(JP,A) 特開 昭63−284602(JP,A) ──────────────────────────────────────────────────続 き Continuation of the front page (56) References JP-A-58-107080 (JP, A) JP-A-58-133188 (JP, A) JP-A-60-3716 (JP, A) 82078 (JP, A) JP-A-60-162492 (JP, A) JP-A-60-148392 (JP, A) JP-A-62-110491 (JP, A) JP-A-62-119603 (JP, A) JP-A-63-706 (JP, A) JP-A-63-37408 (JP, A) JP-A-63-129875 (JP, A) JP-A-63-205863 (JP, A) JP-A-63-284602 (JP, A)
Claims (6)
定オフセット値を有する速度指令を与えることによりサ
ーボ系に振動を生じせしめ、このとき得られるサーボモ
ータの実速度変化又は位置偏差量の変化を検出し、該実
速度変化又は位置偏差量の変化の周波数分析を行って得
られる最大振幅の周波数が突然、それまでの変動に対し
非常に大きく変動するまで速度ループゲインを上昇させ
突然、非常に大きくに上記周波数が上昇したことを検出
することによってサーボ系の発振を検出するようにした
ことを特徴とするサーボ系の発振検出方式。1. A position command is set to zero, and a speed command having a predetermined offset value is given in accordance with the position deviation value to cause vibration in a servo system. The actual speed change or position deviation amount of the servo motor obtained at this time is obtained. And the frequency of the maximum amplitude obtained by performing a frequency analysis of the actual speed change or the change in the position deviation amount suddenly increases the speed loop gain until the frequency of the maximum amplitude fluctuates very greatly with respect to the previous change. A servo system oscillation detection method, wherein the oscillation of the servo system is detected by detecting that the frequency has increased very greatly.
定オフセット値を有する速度指令を与えることによりサ
ーボ系に振動を生じせしめ、このとき得られるサーボモ
ータを実速度変化又は位置偏差量の変化を検出し、該実
速度変化又は位置偏差量の変化を微分することによって
微分値を変化を求め、該微分値の変化の周波数分析を行
って得られる最大振幅の周波数が突然、それまでの変動
に対し非常に大きく変動するまで、速度ループゲインを
上昇させ突然、非常に大きく上記周波数が上昇したこと
を検出することによってサーボ系の発振を検出するよう
にしたことを特徴とするサーボ系の発振検出方式。2. The method according to claim 1, wherein the position command is set to zero, and a speed command having a predetermined offset value is given in accordance with the position deviation value to cause a vibration in the servo system. Of the actual speed change or the change in the position deviation amount to obtain a change in the differential value, and the frequency of the maximum amplitude obtained by performing the frequency analysis of the change in the differential value suddenly changes The servo system is characterized in that the oscillation of the servo system is detected by increasing the speed loop gain until the frequency fluctuates significantly, and suddenly detecting that the frequency has increased very greatly. Oscillation detection method.
波数が低いときには上記オフセット値を大きくし、上記
周波数が高くなるにつれて上記オフセット値を小さくす
る請求項1又は請求項2記載のサーボ系の発振検出方
式。3. The servo system according to claim 1, wherein the offset value is increased when the frequency of the maximum amplitude obtained by performing the frequency analysis is low, and the offset value is decreased as the frequency increases. Oscillation detection method.
定オフセット値を有する速度指令を与えることによりサ
ーボ系に振動を生じせしめ、このとき得られるサーボモ
ータの実速度変化又は位置偏差量の変化を検出し、該実
速度変化又は位置偏差量の変化の周波数分析を行い最大
振幅の周波数を求め該周波数が設定された基準周波数に
対し設定所定範囲内に達するよう順次速度ループゲイン
を自動調整し、設定所定範囲内に達した時点での速度ル
ープゲインを当該速度ループのゲインとするサーボ系の
速度ループゲイン自動調整方式。4. A method of causing a servo system to vibrate by setting a position command to zero and giving a speed command having a predetermined offset value in accordance with the position deviation value. And the frequency of the actual speed change or the change in the position deviation amount is analyzed to determine the frequency of the maximum amplitude, and the speed loop gain is automatically adjusted so that the frequency reaches a set predetermined range with respect to the set reference frequency. A speed loop gain automatic adjustment method for a servo system in which the speed loop gain at the time of adjustment and reaching a predetermined range is set as the gain of the speed loop.
定オフセット値を有する速度指令を与えることによりサ
ーボ系に振動を生じせしめ、このとき得られるサーボモ
ータの実速度変化又は位置偏差量の変化を検出し、該実
速度変化又は位置偏差量の変化を微分することによって
微分値の変化を求め、該微分値の変化の周波数分析を行
い最大振幅の周波数を求め、該周波数が設定された基準
周波数に対し設定所定範囲内に達するように順次速度ル
ープゲインを自動調整し、設定所定範囲内に達した時点
での速度ループゲインを当該速度ループのゲインとする
サーボ系の速度ループゲイン自動調整方式。5. The servo system is caused to vibrate by giving a position command to zero and giving a speed command having a predetermined offset value in accordance with the position deviation value. Is detected, the change in the differential value is obtained by differentiating the actual speed change or the change in the position deviation amount, the frequency analysis of the change in the differential value is performed, the frequency of the maximum amplitude is obtained, and the frequency is set. The speed loop gain is automatically adjusted in order to reach the set reference range with respect to the set reference frequency, and the speed loop gain of the servo system is used as the speed loop gain when the speed loop gain reaches the set predetermined range. Adjustment method.
波数が低いときには上記オフセット値を大きくし、上記
周波数が高くなるにつれて上記オフセット値を小さくす
る請求項4又は請求項5記載のサーボ系の速度ループゲ
イン自動調整方式。6. The servo system according to claim 4, wherein the maximum amplitude obtained by performing the frequency analysis is increased when the frequency is low, and the offset value is decreased as the frequency increases. Speed loop gain automatic adjustment method.
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US07/571,581 US5157597A (en) | 1988-12-23 | 1989-12-25 | Method of detecting oscillation of a servo system and automatically adjusting speed loop gain thereof |
EP19900900346 EP0401383A4 (en) | 1988-12-23 | 1989-12-25 | Methods of detecting oscillation in the servo system and automatically adjusting the speed loop gain |
PCT/JP1989/001296 WO1990007735A1 (en) | 1988-12-23 | 1989-12-25 | Methods of detecting oscillation in the servo system and automatically adjusting the speed loop gain |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP63-323692 | 1988-12-23 | ||
JP32369288 | 1988-12-23 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH02261083A JPH02261083A (en) | 1990-10-23 |
JP2587701B2 true JP2587701B2 (en) | 1997-03-05 |
Family
ID=18157533
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP1181655A Expired - Lifetime JP2587701B2 (en) | 1988-12-23 | 1989-07-15 | Oscillation detection of servo system and automatic adjustment of speed loop gain |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2587701B2 (en) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4578732B2 (en) * | 2001-08-13 | 2010-11-10 | 株式会社森精機製作所 | Machine tool feed system controller |
US6690989B2 (en) * | 2002-03-19 | 2004-02-10 | 3M Innovative Properties Company | Closed-loop phase compensation controller |
JP2005056172A (en) * | 2003-08-05 | 2005-03-03 | Yaskawa Electric Corp | Method for extracting maximum gain of servo controller |
JP5860755B2 (en) * | 2012-04-27 | 2016-02-16 | 株式会社日立産機システム | Electric motor control device and automatic adjustment method thereof |
JP6050865B1 (en) * | 2015-06-26 | 2016-12-21 | ファナック株式会社 | Servo control device with function to optimize control gain online with evaluation function |
CN116038693A (en) * | 2022-12-20 | 2023-05-02 | 上海飒智智能科技有限公司 | Multi-axis mechanical arm joint servo control parameter adjustment optimization method |
-
1989
- 1989-07-15 JP JP1181655A patent/JP2587701B2/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JPH02261083A (en) | 1990-10-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5157597A (en) | Method of detecting oscillation of a servo system and automatically adjusting speed loop gain thereof | |
JPH0956183A (en) | Mechanical vibration detecting equipment and damping controller | |
WO2007096993A1 (en) | Motor controller | |
JP2587701B2 (en) | Oscillation detection of servo system and automatic adjustment of speed loop gain | |
JP4367411B2 (en) | Motor control device | |
JP3526022B2 (en) | Oscillation criticality detection method for servo control system | |
JPH07120216B2 (en) | Position control method | |
JPH03110607A (en) | Servo motor control system | |
WO1990016020A1 (en) | Zeroing method using a disturbance estimating observer | |
JP3479922B2 (en) | Load constant measurement method for motor drive system | |
JP2890529B2 (en) | Self tuning method | |
JPH06225565A (en) | Method of measuring load constant of motor drive system | |
JP3246572B2 (en) | Load constant measurement method for motor drive system | |
JP2004086702A (en) | Method for automatically setting oscillation suppressing filter | |
JP3226412B2 (en) | Ultrasonic motor drive circuit | |
JPH06165550A (en) | Method and system for controlling motor | |
KR100676835B1 (en) | Motor controller | |
JPS63201705A (en) | Vibration-proof controller for manipulator | |
JPH0456553B2 (en) | ||
JP2000197382A (en) | Method and apparatus for identifying inertia | |
JPH0734183Y2 (en) | Throttle actuator control device | |
KR0120609B1 (en) | Inertia moment approximation method of servo system | |
JP2002278629A (en) | Servo control method | |
JP3253434B2 (en) | Shaft torque control method and shaft torque estimation method for motor drive system | |
JPH07281758A (en) | Control system for servo motor |