JPH02261083A - Oscillation detection and automatic control of speed loop gain in servo system - Google Patents

Oscillation detection and automatic control of speed loop gain in servo system

Info

Publication number
JPH02261083A
JPH02261083A JP1181655A JP18165589A JPH02261083A JP H02261083 A JPH02261083 A JP H02261083A JP 1181655 A JP1181655 A JP 1181655A JP 18165589 A JP18165589 A JP 18165589A JP H02261083 A JPH02261083 A JP H02261083A
Authority
JP
Japan
Prior art keywords
speed
frequency
change
gain
command
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.)
Granted
Application number
JP1181655A
Other languages
Japanese (ja)
Other versions
JP2587701B2 (en
Inventor
Heisuke Iwashita
平輔 岩下
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fanuc Corp
Original Assignee
Fanuc Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fanuc Corp filed Critical Fanuc Corp
Priority to PCT/JP1989/001296 priority Critical patent/WO1990007735A1/en
Priority to EP19900900346 priority patent/EP0401383A4/en
Priority to US07/571,581 priority patent/US5157597A/en
Publication of JPH02261083A publication Critical patent/JPH02261083A/en
Application granted granted Critical
Publication of JP2587701B2 publication Critical patent/JP2587701B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Abstract

PURPOSE:To detect the oscillation of a system by setting a position command to zero, giving a velocity command provided with an offset value corresponding to a variation value in a position, and obtaining a point suddenly increasing the maximum amplitude when an actual speed variation at the time of oscillating the servo system is analyzed. CONSTITUTION:A proportional clause 1 amplifies a difference between a position command Pc and an actual position Pr of a servomotor by a gain Kp, and a speed command Vc(in) is outputted. In case of a normal position loop, the Vc(in) is inputted to a speed loop as the speed command, and in case of speed loop gain adjustment, the Vc(in) outputted to the speed loop as a speed command Vc(out) by a function generator 2. In the speed loop, a difference between an actual speed Vt of the servomotor and the speed command Vc(out) is integrated 3 or amplified 4 to generate a torque command. Until the resonance of a mechanical system generates, gains K1 and K2 boost successively, and when the mechanical resonance generates, the amplitude becomes suddenly large. According to the constitution, the oscillation of the servo system is easily detected and, at the same time, the speed loop gain is automatically decided easily.

Description

【発明の詳細な説明】 産業上の利用分野 本発明は、工作機械の送り軸や、ロボット等のサーボモ
ータで駆動される機械におけるサーボ系の発振検出及び
サーボ系の速度ループゲインの調整方式に関する。
DETAILED DESCRIPTION OF THE INVENTION Field of the Invention The present invention relates to a method for detecting oscillation of a servo system and adjusting a speed loop gain of a servo system in a machine driven by a servo motor such as a feed axis of a machine tool or a robot. .

従来の技術 第11図は、サーボモータにおける速度ループのブロッ
ク線図であり、該ブロック線図においてに1は積分ゲイ
ン、k2は比例ゲイン、Pはパラメータで、該パラメー
タPを「1」としたときは比例積分(PI)制御が行わ
れ、パラメータPを「0」にしたときは積分比例(IP
)制御が行われるもので、このPI制御、IP制御を決
めるパラメータである。Ktはトルク定数、Jmは系全
体のイナーシャである。また、Vcは速度指令信号であ
り、Vtは速度信号を意味する。この第11図に示す速
度ループのブロック線図は、−船釣に知られているもの
であり、詳細な説明は省略する。
Conventional technology FIG. 11 is a block diagram of a speed loop in a servo motor. In the block diagram, 1 is an integral gain, k2 is a proportional gain, and P is a parameter, and the parameter P is set to "1". When parameter P is set to 0, proportional integral (PI) control is performed.
) control is performed, and is a parameter that determines this PI control and IP control. Kt is a torque constant, and Jm is the inertia of the entire system. Further, Vc is a speed command signal, and Vt is a speed signal. The block diagram of the speed loop shown in FIG. 11 is well known in boat fishing, and a detailed explanation thereof will be omitted.

この速度制御ループは第11図のブロワ□り線図からも
明らかのように2次系である。そして、カットオフ周波
数fn(Hz)とダンピング定数ξを決めると、積分ゲ
インkl、比例ゲインに2は次の第(1)式、第(2)
式によって決まる。
This speed control loop is a secondary system, as is clear from the blower □ diagram in FIG. Then, when the cutoff frequency fn (Hz) and the damping constant ξ are determined, the integral gain kl and the proportional gain 2 are expressed by the following equations (1) and (2).
Determined by the formula.

kl= (Jm/Kt) ・(2πfn) 2   =
lI)k2= (Jm/Kt) ・2ξ・(2w f 
n)  =12)この積分ゲインkl、比例ゲインに2
によって決まる速度ループゲインが低いと、サーボモー
タを1パルス分送ろうとしても、ゲインが低いためサー
ボモ〒りは回転せず、移動指令が数パルス溜まった時点
で始めて回転する等のため送り現象が生じたり、また、
外乱に対しても弱く、サーボモータの速度は低い周波数
のうねりを生じる。逆に該速度ループゲインが高すぎる
と、通常の速度のとき、例えば工作機械であれば、切削
送りや早送り時等に系の共振等により振動を起してしま
う。
kl= (Jm/Kt) ・(2πfn) 2 =
lI) k2= (Jm/Kt) ・2ξ・(2w f
n) = 12) This integral gain kl, the proportional gain is 2
If the speed loop gain, which is determined by arise or
It is also vulnerable to external disturbances, and the speed of the servo motor produces low-frequency undulations. On the other hand, if the speed loop gain is too high, vibrations will occur due to resonance of the system at normal speeds, for example, in the case of a machine tool, during cutting feed or rapid feed.

そこで、従来は、速度ループゲインの積分ゲインkl、
比例ゲインに2を決定するために、カットオフ周波数f
nとダンピング定数ξを試行錯誤的に決め、系の共振等
による発振が生じない範囲でなるべく積分ゲインkl、
比例ゲインに2が大きくなるように設定している。
Therefore, conventionally, the integral gain kl of the velocity loop gain,
To determine the proportional gain 2, cutoff frequency f
Determine n and the damping constant ξ by trial and error, and adjust the integral gain kl as much as possible without causing oscillation due to system resonance, etc.
The proportional gain is set so that 2 becomes larger.

発明が解決しようとする課題 上述したように、速度ループゲイン(kl。Problems that the invention aims to solve As mentioned above, the velocity loop gain (kl.

k2)の調整は系の共振等による発振が生じないよう試
行錯誤的に機械毎に行わねばならず、速度ループゲイン
の決定に多くの手間と時間を要する。
Adjustment of k2) must be performed for each machine by trial and error to prevent oscillations due to system resonance, etc., and it takes a lot of effort and time to determine the speed loop gain.

そこで、本発明の第1の目的は系の発振を自動的に検出
する検出方式を提供することにある。
Therefore, a first object of the present invention is to provide a detection method that automatically detects system oscillation.

本発明の第2の目的は、速度ループゲインの決定を自動
的に行うことができる速度ループゲイン自動調整方式を
提供することにある。
A second object of the present invention is to provide a speed loop gain automatic adjustment method that can automatically determine the speed loop gain.

課題を解決するための手段 位置指令を零にし、位置偏差値に応じて所定オフセット
値を有する速度指令を与えることによりサーボ系に振動
を生じせしめ、このとき得られるサーボモータの実速度
変化又は位置偏差量の変化を検出し、該実速度変化又は
位置偏差量の変化の周波数分析を行う。若しくは、上記
実速度変化又は位置偏差量の変化をさらに微分し微分値
の変化を求め、この微分値変化の周波数分析を行う。上
記周波数分析で得られる各振幅の周波数内、最大振幅の
周波数を求める。そして、速度ループゲインを上昇させ
て、順次上記周波数を求め、該周波数が突然、それまで
の変動に対し非常に大きく上昇したときを検出し、その
ときの状態がサーボ系の発振として検出する。さらに、
速度ループの周波数帯域が低い(速度ループゲインが小
さい)ときには、上記オフセット値を大きくシ、周波数
帯域が高くなるにつれてオフセット値を小さくしてサー
ボ系の発振を検出するようにする。
Means for Solving the Problem By setting the position command to zero and giving a speed command with a predetermined offset value according to the position deviation value, vibration is caused in the servo system, and the actual speed change or position of the servo motor obtained at this time is A change in the amount of deviation is detected, and a frequency analysis of the actual speed change or change in the positional deviation amount is performed. Alternatively, the actual speed change or the position deviation amount change is further differentiated to obtain a change in the differential value, and a frequency analysis of this differential value change is performed. Among the frequencies of each amplitude obtained in the above frequency analysis, the frequency of the maximum amplitude is determined. Then, the speed loop gain is increased to sequentially obtain the above-mentioned frequencies, and when the frequency suddenly increases significantly compared to the previous fluctuations, it is detected, and the state at that time is detected as oscillation of the servo system. moreover,
When the frequency band of the speed loop is low (velocity loop gain is small), the offset value is increased, and as the frequency band becomes higher, the offset value is decreased to detect oscillation of the servo system.

又、速度ループゲインを調整するときには、上述した方
法により上記最大振幅の周波数が予め設定されている基
準周波数に対し、所定範囲に達するまで、順次速度ルー
プゲインを自動的に調整し、設定所定範囲内に達した時
点での速度ループゲインを当該速度ループのゲインとし
て決定し、最適速度ループゲインを自動的に決定できる
ようにする。
In addition, when adjusting the speed loop gain, the speed loop gain is automatically adjusted in sequence until the maximum amplitude frequency reaches a predetermined range with respect to the preset reference frequency using the method described above. The speed loop gain at the time when the speed loop gain is reached is determined as the gain of the speed loop, so that the optimum speed loop gain can be automatically determined.

作用 位置指令を零にし、位置偏差値に応じて所定オフセット
値を有する速度指令を与えると、わずかな位置偏差量に
よって速度ループにはオフセット値を有する速度指令が
入力され、サーボモータは摩擦に打勝って移動する。す
なわち、スティックステップする。その結果、位置偏差
量は逆方向に増加し、そのため逆方向の速度指令が出力
され、今度はサーボモータは逆方向に回転する。これが
繰り返され、サーボモータは振動を起すこととなる。こ
のときのサーボモータの実速度変化又は位置偏差値の変
化を検出し、周波数分析を行って振幅が最大となる周波
数を検出する。そして、速度ループゲインを順次上げて
いくと、サーボモータで駆動される機械を含めたサーボ
系の共振等によって上記最大振幅の周波数はそれまでの
周波数の上昇に較べ非常に大きく上昇する。この非常に
大きく上昇する点を検出すれば、サーボ系の発振を検出
することができる。
When the action position command is set to zero and a speed command with a predetermined offset value is given according to the position deviation value, a speed command with an offset value is input to the speed loop due to the slight position deviation amount, and the servo motor is affected by friction. Win and move on. In other words, stick step. As a result, the positional deviation amount increases in the opposite direction, so a speed command in the opposite direction is output, and the servo motor now rotates in the opposite direction. This is repeated, causing the servo motor to vibrate. At this time, the actual speed change or position deviation value change of the servo motor is detected, and frequency analysis is performed to detect the frequency at which the amplitude is maximum. Then, as the speed loop gain is gradually increased, the frequency of the maximum amplitude increases much more than the previous increase in frequency due to resonance of the servo system including the machine driven by the servo motor. By detecting this very large rising point, servo system oscillation can be detected.

ただし、上記方式では、共振が弱い間は共振周波数は検
出できず、系が本格的に共振を起こして共振周波数が支
配的となって共振周波数の振幅が最大となったときしか
系の発振を検出できない。
However, with the above method, the resonant frequency cannot be detected while the resonance is weak, and the system oscillates only when the system fully resonates, the resonant frequency becomes dominant, and the amplitude of the resonant frequency reaches its maximum. Undetectable.

一般にサーボ系の制御系自体が作り出している振動周波
数に対し機械系の共振周波数は数倍高い。
Generally, the resonance frequency of a mechanical system is several times higher than the vibration frequency generated by the servo control system itself.

仮に制御系の基本の周波数をfO1機械の共振周波数を
そのm倍のmfOとしたときサーボモータの実速度変化
(実速度波形)は次の第(3)式で表わされる。
Assuming that the fundamental frequency of the control system is fO1 and the resonance frequency of the machine is m times mfO, the actual speed change (actual speed waveform) of the servo motor is expressed by the following equation (3).

v(t)=A1s in (2rfOt)+A2s i
n (2πmfOt+ρ)なお、ρは位相遅れである。
v(t)=A1s in (2rfOt)+A2s i
n (2πmfOt+ρ) where ρ is a phase delay.

一方上記第(3)式を微分し微分信号ω(1)を求める
と次の第(4)式のようになる。
On the other hand, when the above equation (3) is differentiated to obtain the differential signal ω(1), the following equation (4) is obtained.

ω(t) =dv(D、/dt =2πfOAlcos (2πfOt)+2πmfOt
A2cos (2πmfQ t+ρ)・・・・・・(4
) したがって、上記第(3)式で求められる実速度変化に
おける基本の周波数fOの振幅A1と機械の共振周波数
mfOの振幅A2の比はA2/Alであることに対し、
第(2)式で示される微分信号ω(1)の振幅比はm 
A 2 / A 1となり、m倍となる。よって実速度
変化(位置偏差変化)を周波数分析するよりも、この実
速度変化(位置偏差変化)を微分した値、即ち加速度変
化を周波数分析して最大振幅の周波数を求めた方が、速
度ループゲインの過上昇による系の発振を、その発振の
影響が弱い早い段階で検出することができる。
ω(t) = dv(D, /dt = 2πfOAlcos (2πfOt) + 2πmfOt
A2cos (2πmfQ t+ρ)・・・・・・(4
) Therefore, while the ratio of the amplitude A1 of the fundamental frequency fO and the amplitude A2 of the machine's resonance frequency mfO in the actual speed change determined by the above equation (3) is A2/Al,
The amplitude ratio of the differential signal ω(1) shown in equation (2) is m
A2/A1, which is multiplied by m. Therefore, rather than frequency-analyzing the actual speed change (positional deviation change), it is better to calculate the frequency of the maximum amplitude by frequency-analyzing the value obtained by differentiating this actual speed change (positional deviation change), that is, the acceleration change. Oscillation in the system due to an excessive rise in gain can be detected at an early stage when the influence of the oscillation is weak.

さらに、上記オフセット値が小さいと、速度ループの周
波数帯域が低いとき(速度ループゲインが小さいとき)
には、機械系のバラクラ・ソシュ内でサーボモータが振
動したり、機械系の摩擦トルクの方が大きくて振動が生
じない場合があり、逆にオフセット値が大きいと速度ル
ープの周波数帯域が高くなったとき、トルクリミットに
より、トルク指令値が飽和したり、モータの発熱、或い
は機械系に大きな機械的振動を与えるので、速度ループ
の周波数帯域が高くなるに比例して上記オフセット値を
小さくすることにより上記不具合を解消する。
Furthermore, if the above offset value is small, when the frequency band of the speed loop is low (when the speed loop gain is small)
In some cases, the servo motor may vibrate in the mechanical system's balaclava or sosh, or the friction torque of the mechanical system may be larger and no vibration may occur.On the other hand, if the offset value is large, the frequency band of the speed loop may be high. When this occurs, the torque command value becomes saturated due to the torque limit, heat is generated in the motor, or large mechanical vibrations are given to the mechanical system. Therefore, as the frequency band of the speed loop increases, the above offset value should be reduced in proportion. This solves the above problem.

また、速度ループのゲインを調整する場合には、サーボ
系の速度ループ、ポジションループ等の系によって経験
的に求められている望ましい基準周波数を設定しておき
、上記サーボ系の発振を検出する方式と同様にスティッ
クステップを行わせて、検出される振幅最大の周波数が
、望ましい基準周波数と同一またはその近傍に達するよ
うに速度ループゲインを順次変更して自動調整し、同一
または所定範囲内に入ると、そのときの速度ループゲイ
ンを当該速度制御ループの速度ループゲインとして自動
的に確定する。
In addition, when adjusting the gain of the speed loop, a method of detecting the oscillation of the servo system is to set a desirable reference frequency that has been empirically determined by the speed loop, position loop, etc. of the servo system. Perform a stick step in the same manner as above, and automatically adjust the speed loop gain by sequentially changing the speed loop gain so that the frequency of the detected maximum amplitude reaches the same as or near the desired reference frequency, and is the same or within a predetermined range. Then, the speed loop gain at that time is automatically determined as the speed loop gain of the speed control loop.

実施例 以下、本発明の一実施例について説明する。Example An embodiment of the present invention will be described below.

第1図は、本実施例における速度ループを含む位置ルー
プのブロック線図であり、サーボモータにおける通常の
位置ループのブロック線図と異なる点は関数発生器2が
加わった点である。
FIG. 1 is a block diagram of a position loop including a velocity loop in this embodiment. The difference from the block diagram of a normal position loop in a servo motor is that a function generator 2 is added.

第1図において、1は位置ループにおける比例項で、K
pはポジションゲイン、2は関数発生器、3は速度ルー
プの積分項で、klは積分ゲイン、4は速度ループの比
例項で、k2は比例ゲイン、5はパラメータPの項で、
PI制御のときは「1」、IP制御のときは「0」とな
るものである。また、6,7はサーボモータの伝達関数
の項で、Ktはトルク定数、Jmは系全体のイナーシャ
である。また、8は速度Vtを位置Prに変換する積分
項である。
In Figure 1, 1 is the proportional term in the position loop, and K
p is the position gain, 2 is the function generator, 3 is the integral term of the velocity loop, kl is the integral gain, 4 is the proportional term of the velocity loop, k2 is the proportional gain, 5 is the term of the parameter P,
It is "1" for PI control and "0" for IP control. Further, 6 and 7 are terms of the transfer function of the servo motor, Kt is the torque constant, and Jm is the inertia of the entire system. Further, 8 is an integral term that converts the velocity Vt into the position Pr.

比例項1は、位置指令Pcとサーボモータの実際の位置
Prとの差、即ち、位置偏差量をゲインKpで増幅し速
度指令V c (in)として出力し、通常の位置ルー
プであれば、この速度指令V c (in)は速度ルー
プに速度指令として入力されるが、本発明の速度ループ
ゲイン調整時においては、関数発生器2に入力され、該
関数発生器2で速度指令V c (in)を後述するよ
うに変換して速度指令 Vc (out)  として出
力し、速度ループに出力される。
Proportional term 1 amplifies the difference between the position command Pc and the actual position Pr of the servo motor, that is, the position deviation amount, by a gain Kp and outputs it as a speed command V c (in). If it is a normal position loop, This speed command V c (in) is input to the speed loop as a speed command, but when adjusting the speed loop gain of the present invention, it is input to the function generator 2, and the function generator 2 generates the speed command V c (in). in) is converted as described later and output as a speed command Vc (out), which is output to the speed loop.

速度ループでは速度指令V c (out)と速度信号
(サーボモータの実速度)vtの差、即ち、速度偏差量
を積分項3で積分した値から、パラメータPが「1」の
場合では速度信号Vtから速度指令値V c (out
)を減じた値に比例ゲインを乗じた値を減じ、その値が
サーボモータへトルク指令として出力され、また、パラ
メータPが「0」の場合には、積分項3から出力された
積分値から速度信号Vtに比例ゲインに2が乗じられた
値を減じ、その値がトルク指令として出力され、サーボ
モータを駆動することとなる。
In the speed loop, if the parameter P is "1", the speed signal is calculated from the difference between the speed command V c (out) and the speed signal (actual speed of the servo motor) vt, that is, the value obtained by integrating the speed deviation amount using the integral term 3. From Vt to speed command value V c (out
) is multiplied by the proportional gain, and that value is output as a torque command to the servo motor. Also, if parameter P is "0", the integral value output from integral term 3 is The value obtained by multiplying the proportional gain by 2 is subtracted from the speed signal Vt, and the resulting value is output as a torque command to drive the servo motor.

上記関数発生器2は、第2図に示すように、位置偏差量
が零でオフセット値±Aを有し、入力速度指令V c 
(in)がプラス方向又はマイナス方向に増加するにつ
れて比例定数にで出力速度指令V c (out)が増
加又は減少するように設定された関数発生器で、第2図
に示すように、該関数発生器2の入力V c (in)
が零近傍(位置偏差量が零近傍)においては、入力V 
c (in)のわずかな変化に対し出力V c (ou
t)は大きく変化し、他の部分は入力Vc(in)が変
化しても出力V c (out)の変化量は少ない。こ
のような入出力関係になった関数発生器2を構成する。
As shown in FIG. 2, the function generator 2 has a positional deviation of zero and an offset value of ±A, and has an input speed command V c
As shown in FIG. Input V c (in) of generator 2
is near zero (positional deviation amount is near zero), the input V
The output V c (ou
t) changes greatly, and in other parts, even if the input Vc (in) changes, the amount of change in the output V c (out) is small. A function generator 2 having such an input/output relationship is constructed.

すなわち、関数発生器の入出力関係は次の第(5)式、
第(6)式となる。
In other words, the input/output relationship of the function generator is expressed by the following equation (5):
This becomes equation (6).

V c (in)≧0のとき V c (out) =K * V c (in)+A
    −−−−(5)Vc(in)<0のとき V c (out) =K ・V c (in) −A
    −・−= (6)そうすると、第1図に示すゲ
イン調整時の位置ループでは位置指令Pcが零のときサ
ーボモータは必ず振動を起こす。すなわち、位置指令P
cが「0」でも位置偏差量にはわずかな変動がある。
When V c (in)≧0, V c (out) = K * V c (in) + A
-----(5) When Vc (in) < 0, V c (out) = K ・V c (in) −A
-.-= (6) Then, in the position loop during gain adjustment shown in FIG. 1, the servo motor always causes vibration when the position command Pc is zero. That is, position command P
Even when c is "0", there is slight variation in the amount of positional deviation.

そのため、第2図に示すように、位置偏差量が「0」か
られずかでも変動すると、関数発生器2から速度制御ル
ープに出力される速度指令V c (out) は大き
く変動し、サーボモータは回転することとなる。サーボ
モータが回転すれば、位置偏差量は逆方向に増大し、関
数発生器2からは逆方向の速度指令V c (out)
が出力され、サーボモータは今度は逆方向に回転する。
Therefore, as shown in Fig. 2, if the positional deviation amount changes from "0" even slightly, the speed command V c (out) output from the function generator 2 to the speed control loop will fluctuate greatly, and the servo motor will rotate. When the servo motor rotates, the positional deviation increases in the opposite direction, and the function generator 2 outputs a speed command V c (out) in the opposite direction.
is output, and the servo motor now rotates in the opposite direction.

これが繰返され、サーボモータは振動を起こすことにな
る。
This is repeated, causing the servo motor to vibrate.

このサーボモータの振動の周波数は速度制御ループの帯
域周波数(カットオフ周波数fn)が高ければ速度制御
ループの応答が速いので、この周波数も高くなる。
The frequency of the vibration of the servo motor becomes higher because the higher the band frequency (cutoff frequency fn) of the speed control loop is, the faster the response of the speed control loop is.

そこで、上記サーボモータの振動、即ち、速度信号Vt
の振動周波数を検出し、この周波数には、摩擦等により
他の周波数部分も含んでいるから、フーリエ変換等の周
波数分析で主振動成分、即ち、振幅が最大の周波数成分
を抽出すれば、この主振動成分が速度指令V c (o
ut)に応答したものと想定される。そして、機械系に
共振が発生しなければこの振幅最大の周波数は速度ルー
プゲインKl。
Therefore, the vibration of the servo motor, that is, the speed signal Vt
This frequency includes other frequency parts due to friction, etc., so if the main vibration component, that is, the frequency component with the largest amplitude, is extracted by frequency analysis such as Fourier transform, this frequency can be detected. The main vibration component is the speed command V c (o
ut). If resonance does not occur in the mechanical system, the frequency with the maximum amplitude is the speed loop gain Kl.

K2を順次上昇させると連続的に増大する。しかし、機
械系に共振が生じれば共振周波数の影響で上記振幅最大
の周波数は突然、それまでの周波数の変動に較べ非常に
大きく変動する。そのため、この周波数が大きく変動す
る時点を検出し、このときがサーボ系の発振として検出
する。
When K2 is raised sequentially, it increases continuously. However, when resonance occurs in a mechanical system, the frequency with the maximum amplitude suddenly changes to a much larger extent than the previous frequency fluctuation due to the influence of the resonance frequency. Therefore, the point in time when 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 processing for each speed loop processing cycle in a servo system oscillation detection mode performed by a processor (hereinafter referred to as CPU) of a digital servo circuit that controls the servo system using software.

まず、工作機械やロボット等を制御する数値制御装置に
、初期のパラメータとしてカットオフ周波数fnを設定
値fnOに、ダンピング定数ξを設定値ξ0に設定し、
パラメータPを10」にセットすると、デジタルサーボ
回路のCPUは上記第(1)式、第(2)式の演算を行
って速度ループゲインに1.、に2の初期設定を行い、
後述するフラグF、指標iを「0」に初期設定する。そ
して、サーボ系発振検出モードにすると、サーボ回路の
CPUは第3図の処理を速度ループ処理局期毎実行する
First, the cutoff frequency fn is set to a set value fnO and the damping constant ξ is set to a set value ξ0 as initial parameters in a numerical control device that controls machine tools, robots, etc.
When the parameter P is set to 10'', the CPU of the digital servo circuit calculates the above equations (1) and (2) to set the speed loop gain to 1. , perform the initial settings of 2,
A flag F and an index i, which will be described later, are initially set to "0". Then, when the servo system oscillation detection mode is set, the CPU of the servo circuit executes the process shown in FIG. 3 for each speed loop processing station period.

まず、フラグFが「1」か否か判断しくステップ100
)、「0」であると位置ループ1から出力される速度指
令V c (in)を読む(ステップ101)。サーボ
系発振検出モードでは位置指令Pcは「0」であるから
、速度指令V c (in)は「0」又は後述するよう
に速度指令V c (out)がオフセット値Aを有す
ることから、正又は負の値をとっている。そこで、読取
った速度指令Vc(in)が零以上か否か判断しくステ
ップ102)、零以上ならば速度ループへ出力する速度
指令V c (out)を第(5)式の演算を行って出
力しくステップ103)、負ならば第(6)式の演算を
行って出力する(ステップ104)。即ち、このステッ
プ102〜104の処理が第1図における関数発生器2
の処理である。次に実速度Vtを読み、指標iで示され
るアドレスのメモリMiに該実速度Vtを格納し、指標
iを「1」インクリメントする(ステップ105〜10
7)。そして、指標iの値が設定された値Nより大きい
か否か判断しくステップ108)、大きくなければステ
ップ103,104で求められた速度指令V c (o
ut)に基いて通常の速度ループ処理を行い(ステップ
110)、当該速度ループ処理周期の処理を終了する。
First, step 100 determines whether the flag F is "1" or not.
), the speed command V c (in) output from the position loop 1 is read as "0" (step 101). In the servo system oscillation detection mode, since the position command Pc is "0", the speed command V c (in) is "0", or since the speed command V c (out) has an offset value A as described later, it is correct. Or it takes a negative value. Therefore, it is determined whether the read speed command Vc (in) is greater than or equal to zero (step 102), and if it is greater than or equal to zero, the velocity command V c (out) to be output to the velocity loop is calculated by equation (5) and output. If the value is negative (step 103), the calculation of equation (6) is performed and output (step 104). That is, the processing of steps 102 to 104 is performed by the function generator 2 in FIG.
This is the process. 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 10).
7). Then, it is determined whether the value of the index i is greater than the set value N (step 108), and if not, the speed command V c (o
ut), normal speed loop processing is performed (step 110), and the processing of the speed loop processing cycle is ended.

速度ループ処理ではトルク指令値が算出され、次に、従
来と同様に電流ループ処理等が行われ、サーボモータに
駆動電流が流れ、サーボモータは駆動されることとなる
In the speed loop processing, a torque command value is calculated, and then, as in the conventional case, current loop processing and the like are performed, a drive current flows to the servo motor, and the servo motor is driven.

なお、上記設定値Nは、後述する周波数分析のためのF
FT処理に必要なデータ数を規定するものである。
Note that the above set value N is F for frequency analysis to be described later.
This defines the number of data required for FT processing.

上記処理をCPUは速度ループ処理周期毎繰り返すこと
となるが、例えば、ステップ102でVc(in)≧0
と判断され、速度指令として、V c (out) =
に−V c (in)+Aが出力されると、オフセット
値Aがあることによりサーボモータは正回転し、その結
果、位置偏差は負となり、位置ループ1から出力される
速度指令V c (in)は負となる。その結果、次の
周期ではステップ104の処理が行われ速度ループへの
速度指令V c (out)は(K−V c (in)
−A)となり、サーボモータヲ逆転させるように電流が
流れることとなり、サーボモータ及び機械は振動するこ
ととなる。そしてメモリには各速度ループ周期毎に検出
された実速度Vtが記憶されることとなる(ステップ1
05゜106)。そして、指標iの値が設定値Nを超え
ると(ステップ108)、CPUはフラグFを「1」に
セットする(ステップ109)、その結果、以後の速度
ループ処理周期ではステップ100からステップ101
へ移行し、通常の速度ループ処理のみを行うこととなる
The CPU repeats the above processing every speed loop processing period. For example, in step 102, Vc(in)≧0
It is determined that V c (out) =
When -V c (in) + A is output to , the servo motor rotates forward due to the offset value A, and as a result, the position deviation becomes negative, and the speed command V c (in) output from position loop 1 ) is negative. As a result, in the next cycle, the process of step 104 is performed, and the speed command V c (out) to the speed loop becomes (K-V c (in)
-A), current will flow to reverse the servo motor, and the servo motor and machine will vibrate. Then, the actual speed Vt detected for each speed loop cycle is stored in the memory (step 1
05°106). Then, 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, steps 100 to 101
, and only normal speed loop processing is performed.

一方、デジタルサーボ回路のCPUはサーボ制御のため
の位置ループ処理、速度ループ処理、電流ループ処理等
の周期以外の残り時間において、第4回に示す発振検出
処理を実行する。
On the other hand, the CPU of the digital servo circuit executes the fourth oscillation detection process in the remaining time other than the cycles of position loop processing, velocity loop processing, current loop processing, etc. for servo control.

まず、フラグFが「1」にセットされているか否か判断
しくステップ200)、セットされてなければ、何ら処
理を行わない。一方、第3図に示す速度ループ処理のス
テップ109でフラグFが「1」にセットされメモリM
O−Mnに(n+1)個の実速度データが格納されてい
るときには、この実速度データを読出し、周波数分析を
行う。本実施例ではすでに市販されているソフトのFF
T(Farst FouyiI!t Tr2nslot
m  :高速フーリエ変換)によって周波数分析を行い
各周波数fHつ成分の振幅c (1)を求める(ステッ
プ201)。なお、FFTは周波数分析するために所定
数のデータを必要とし、そのデータの数は2のべき乗で
なければならない。そのため、第3図の処理において設
定されたNの値はデータ数MO〜Mnが周波数分析する
に必要な数となり、その数が2のべき乗となるように設
定されている。
First, it is determined whether the flag F is set to "1" (step 200); if it is not set, 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 memory M
When (n+1) pieces of actual speed data are stored in O-Mn, this actual speed data is read out and frequency analysis is performed. In this example, FF of software that is already commercially available is used.
T(First FouyiI!t Tr2nslot
Frequency analysis is performed by m: fast Fourier transform) to obtain the amplitude c (1) of each frequency fH component (step 201). Note that 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 process of FIG. 3 is set so that the number of data MO to Mn is the number necessary for frequency analysis, and the number is a power of two.

ステップ201で求められた振幅c (f)の内、最大
振幅の周波数fH□をfmaxとして求め(ステップ2
02L前回の処理によって求められた最大振幅の周波数
fmaxを記憶レジスタR(1)が「0」か否か判断す
る(ステップ203)。レジスタR(1)は初期設定で
始めは「0」に設定されているから、ステップ205へ
移行し、今回の処理で求めた周波数f m a xをレ
ジスタR(1)に格納して、現在設定されているカット
オフ周波数fnに設定値fsを加算し新しいカットオフ
周波数fnとする(ステップ206)、そしてこの周波
数fnに基いて第(1)、第(2)式の演算を行って、
新しい速度ループのゲインKl、に2を求め設定する(
ステップ207)、そして、指標i及びフラグFを「0
」にセットし今回の発振検出処理を終了する。
Among the amplitudes c (f) obtained in step 201, the frequency fH□ of the maximum amplitude is obtained as fmax (step 2
02L It is determined whether or not the frequency fmax of the maximum amplitude obtained in the previous process is set to "0" in the storage register R(1) (step 203). Since register R(1) is initially set to "0", the process moves to step 205, stores the frequency f m a x obtained in this process in register R(1), and stores the current value. The set value fs is added to the set cutoff frequency fn to obtain a new cutoff frequency fn (step 206), and the calculations of equations (1) and (2) are performed based on this frequency fn,
Find and set 2 for the gain Kl of the new speed loop (
step 207), and sets the index i and flag F to "0".
” and completes the current oscillation detection process.

フラグFが「0」にセットされたことにより、速度ルー
プ処理周期では、再び第3図のステップ100〜110
の処理を開始し、新しい速度ループゲインによる実速度
VtのデータをメモリMO〜Mnに格納することとなる
Since the flag F is set to "0", steps 100 to 110 in FIG. 3 are performed again in the speed loop processing cycle.
The process starts, and the data of the actual speed Vt based on the new speed loop gain is stored in the memories MO to Mn.

そして、指標iがrNJとなりメモリMO〜Mn内にデ
ータが記憶され、フラグFが「1」にセットされると、
再び第4図のステップ200〜208の処理を開始し、
最大振幅の周波数f m aXを求め、今回はすでにレ
ジスタR(f)に前回の周波数fmaxが記憶されてい
るから、ステップ203よりステップ204へ進み、今
回求めた周波数fmaxが前回の周波数fmaxのm倍
(m2〜3)以上か否か判断する(ステップ204)。
Then, when the index i becomes rNJ and data is stored in the memories MO to Mn, and the flag F is set to "1",
The process of steps 200 to 208 in FIG. 4 is started again,
The maximum amplitude frequency f m aX is calculated, and since the previous frequency f max has already been stored in the register R(f), the process proceeds from step 203 to step 204, where the frequency f max calculated this time is m of the previous frequency f max. It is determined whether it is more than twice (m2 to 3) (step 204).

前述したように速度ループのゲインKl、  K2が上
がり機械系が共振すると、この共振の影響で、最大振幅
の周波数fmaxは非常に大きく増大し、前周期の周波
数fmaxよりm倍となるが、共振が生じてなければ、
周波数fmaxは、飛躍的に増大しないから、m倍とは
ならず、ステップ205へ移行し、前述したように、速
度ループゲインを上げ、指標i、フラグFを「0」にセ
ットしくステップ206〜208)、再び第3回のステ
ップ100〜110の処理を開始する。
As mentioned above, when the speed loop gains Kl and K2 increase and the mechanical system resonates, due to the influence of this resonance, the maximum amplitude frequency fmax increases greatly and becomes m times the frequency fmax of the previous cycle, but the resonance If it does not occur,
Since the frequency fmax does not increase dramatically, it will not be multiplied by m, and the process moves to step 205, where the speed loop gain is increased and the index i and flag F are set to "0" as described above. 208), the third processing of steps 100 to 110 is started again.

以下、上述した処理を繰り返し行い、ステップ204で
前回の周波数fmaxよりm倍以上の周波数fmaxが
検出されると、サーボ系の発振として数値制御装置の表
示装置に、速度ループのゲインKl、に2.発振時のカ
ットオフ周波数fn。
Hereinafter, the above-described process is repeated, and when a frequency fmax that is m times or more higher than the previous frequency fmax is detected in step 204, the gain Kl of the speed loop is displayed as oscillation of the servo system on the display device of the numerical control device. .. Cutoff frequency fn during oscillation.

検出周波数fmaxを表示し、サーボ系発振モード処理
を終了する。
The detected frequency fmax is displayed, and the servo system oscillation mode processing ends.

上述したサーボ系の発振検出方法では、機械系が共振を
起こしてもその共振が弱い間は共振の影響が少なく、最
大振幅が共振周波数に対応して検出されない。そこで前
述したように、実速度変化を微分して加速度の変化を求
め、この加速度の変化(加速度波形)で周波数分析して
、サーボ系の発振を検出するようにする。そうすれば第
(4)式で説明したように、共振が弱い段階でも系の発
振を検出することができる。
In the servo system oscillation detection method described above, even if the mechanical system causes resonance, as long as the resonance is weak, the influence of the resonance is small, and the maximum amplitude is not detected in correspondence with the resonance frequency. Therefore, as described above, the change in acceleration is obtained by differentiating the change in actual speed, and the frequency is analyzed using this change in acceleration (acceleration waveform) to detect oscillation of the servo system. In this way, as explained in equation (4), system oscillation can be detected even when the resonance is weak.

例えば、120Hz (周期が約8ms e c)の機
械的共振を持つ機械系に対し、速度ループのゲインを調
整して、25Hz (周期が40m5ec)で振動させ
るようにした場合、得られる実速度変化(実速度波形)
は第8図のようになる。一方、速度を微分した微分値の
変化(速度微分波形)は第9図に示したようになり、共
振周波数120H2微分波形では支配的となり、より検
出し易ぐなることがわかる。
For example, if a mechanical system with mechanical resonance of 120 Hz (period: approximately 8 msec) is vibrated at 25 Hz (period: 40 msec) by adjusting the speed loop gain, the resulting actual speed change will be (Actual speed waveform)
is as shown in Figure 8. On the other hand, the change in the differential value obtained by differentiating the velocity (velocity differential waveform) is as shown in FIG. 9, and it can be seen that the differential waveform with the resonant frequency of 120H2 is dominant and easier to detect.

このときのデジタルサーボ回路のプロセッサの速度ルー
プ処理周期毎の処理は第3図におけるステップ106の
代りに第5図に示す処理が実行されることとなる。
At this time, the process shown in FIG. 5 is executed in place of step 106 in FIG. 3 for each speed loop processing cycle of the processor of the digital servo circuit.

すなわち、ステックスリップ処理を行い(ステップ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以下の処理を行う。こうして、メモリMO〜M
nには加速度信号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 an acceleration signal a (
i) is determined (step 300). Note that 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.
Steps 301, 302) and steps 107 onward in FIG. 3 are performed. In this way, memory MO~M
The acceleration signal a (i) will be stored in n.

次に、発振検出処理では、第4図に示す処理と路間−の
処理が行われる。相違する点は、ステップ208で指標
i、フラグFを「0」にセットすると共にレジスタR(
v)  も「0」にセットされる点のみである。
Next, in the oscillation detection process, the process shown in FIG. 4 and the inter-path process are performed. The difference is that in step 208, index i and flag F are set to "0" and register R (
v) is also the only point that is set to "0".

こうして加速度変化(加速度波形)に対して周波数分析
が行われ、サーボ系の発振が検出されるヌととなり、速
度変化(位置偏差変化)で発振を検出するよりも、より
速く検出することができる。
In this way, frequency analysis is performed on acceleration changes (acceleration waveforms), and oscillations of the servo system are detected, which is faster than detecting oscillations based on speed changes (position deviation changes). .

さらに、上記オフセット値Aについてみると、該オフセ
ット値Aが小さい場合には、機械系のバックラッシ中で
振動が生じたり、機械系の摩擦トルクが大きくて、ステ
ックスリップを起こすことができない場合がある。この
現象は、速度ループのゲインが低いときトルクコマンド
の立ち上りが遅いため特に起こりやすくなる。又、オフ
セット値Aが大きいと、速度9位置の振幅が大きくなり
、特に速度ループのゲインが高くなった状態では、トル
クリミットによりトルクコマンドが飽和したり、モータ
の発熱または機械系に大きな機械的振動を与えることと
なり好ましくない。
Furthermore, regarding the offset value A, if the offset value A is small, vibration may occur during backlash in the mechanical system, or the friction torque of the mechanical system may be so large that it may not be possible to cause stick slip. . This phenomenon is particularly likely to occur when the speed loop gain is low because the torque command rises slowly. Also, if the offset value A is large, the amplitude of the speed 9 position will be large, and especially when the gain of the speed loop is high, the torque command may become saturated due to the torque limit, or the motor may generate heat or a large mechanical problem may occur in the mechanical system. This is not desirable as it gives vibration.

ステックスリップを実現するために必要なトルクの最大
値についてみると、同一のオフセット値Aでステックス
リップを起させ、そのとき必要な最大トルク値を実験的
に求めると、第10図に示すように速度ループの周波数
帯域にほぼ比例して増大する。このことが、速度ループ
の周波数帯域を高くしたゲインの高い状態で、トルクコ
マンドが飽和したり、モータ発熱、大きな機械的振動を
発生させる原因である。
Looking at the maximum value of torque required to achieve stick slip, if stick slip is caused with the same offset value A and the maximum torque value required at that time is experimentally determined, as shown in Figure 10. It increases approximately in proportion to the frequency band of the velocity loop. This is the cause of saturation of the torque command, generation of motor heat generation, and large mechanical vibration in a high gain state where the frequency band of the speed loop is high.

そこで、上記不具合を解決するために、速度ループの周
波数帯域が低いときにはオフセット値Aを大きくし、高
くなったときにはオフセット値Aを小さくすればよい。
Therefore, in order to solve the above problem, the offset value A may be increased when the frequency band of the speed loop is low, and the offset value A may be decreased when the frequency band is high.

具体的には、ある時点での速度ループの実際の周波数帯
域は、第1図及び第3図で示す処理でステックスリップ
を起こさせたとき、モータの実速度に出て来る最大振幅
の周波数fmaxに等しいので、その周波数fmaxを
もって速度ループの帯域とみなし、本実施例ではA (
fmax) −B/fmaxとして第10図に示すよう
にオフセット値Aを変えるようにする。
Specifically, the actual frequency band of the speed loop at a certain point is the frequency fmax of the maximum amplitude that appears at the actual speed of the motor when stick slip is caused by the processing shown in FIGS. 1 and 3. Therefore, the frequency fmax is considered as the speed loop band, and in this example, A (
fmax) -B/fmax, and the offset value A is changed as shown in FIG.

なお、Bは固定値で、fmaxの初期値として推定値を
設定する。
Note that B is a fixed value, and an estimated value is set as the initial value of fmax.

この場合、第3図、第4図に示す処理の内、第3図の処
理を開始する前に初期設定として推定値fmaxが設定
され、初期値のオフセット値Aが決められる点が前述し
たサーボ系発振検出処理と異なり、第3図の処理は全て
同一となる。そして、第4図に示す発振検出処理におい
て、ステップ207の後に第6図に示すステップ400
の処理を追加し、最大振幅の周波数f m a xが求
められる毎に上記オフセット値AをB / f m a
 xに変更し、ステップ208へ移行するようにする。
In this case, among the processes shown in FIGS. 3 and 4, the estimated value fmax is set as an initial setting before starting the process shown in FIG. 3, and the offset value A of the initial value is determined. Unlike the system oscillation detection process, all the processes in FIG. 3 are the same. In the oscillation detection process shown in FIG. 4, after step 207, step 400 shown in FIG.
, and each time the maximum amplitude frequency fmax is calculated, the offset value A is changed to B/fmax.
x, and proceed to step 208.

その結果、速度ループのゲインが大きくなるにつれて、
オフセット値Aは小さくなり、上述した不具合は解消さ
れることとなる、なお、第3図のステップi−06の代
りに第5図のステップ300〜302の処理を行って加
速度変化(加速度波形)から最大振幅の周波数fmax
を求めるようにした場合においても、上記オフセット値
Aの更新を行うようにしてもよいことはもちろんである
As a result, as the velocity loop gain increases,
The offset value A becomes smaller and the above-mentioned problem is resolved. Note that steps 300 to 302 in FIG. 5 are performed instead of step i-06 in FIG. 3 to change the acceleration (acceleration waveform). The frequency of maximum amplitude from fmax
Of course, even in the case where the offset value A is determined, the offset value A may be updated.

次に、上述したサーボ系の発振検出方式を利用して、サ
ーボ系の速度ループゲインを最適値に自動的に設定する
方式について述べる。
Next, a method of automatically setting the velocity loop gain of the servo system to an optimum value using the above-described servo system oscillation detection method will be described.

数値制御装置をゲイン自動調整モードに切換え、初期値
として、カットオフ周波数fnをfn[l。
The numerical control device is switched to gain automatic adjustment mode, and the cutoff frequency fn is set to fn[l.

ダンピング定数ξをξ0.パラメータPを「0」セット
すると共に速度ループ、ポジションループ等の系によっ
て経験的に求められている望ましい基準周波数faをセ
ットする。デジタルサーボ回路のCPUは上記初期値よ
り第(1)、第(2)式の演算を行って速度ループゲイ
ンKl、に2を設定すると共に指標i、フラグFを10
」に初期設定する。そして、スタート指令が入力される
とCPUは第3図の処理を開始し、サーボ系の発振検出
方式と同様にメモリ内にモータの実速度Vtを速度ルー
プ処理周期毎に書込み設定された数の実速度Vtのデー
タがメモリMO〜Mnに格納され、フラグFが「1」に
セットされると(ステップ109) 、CPUは第7図
に示すゲイン調整処理を開始する。
Let the damping constant ξ be ξ0. The parameter P is set to "0" and a desirable reference frequency fa, which has been empirically determined by a system such as a velocity loop and a position loop, is set. The CPU of the digital servo circuit calculates equations (1) and (2) from the above initial values, sets the speed loop gain Kl to 2, and sets the index i and flag F to 10.
”. Then, when the start command is input, the CPU starts the process shown in Fig. 3, and writes the actual speed Vt of the motor in the memory every speed loop processing cycle, similar to the oscillation detection method of the servo system. When the data of the actual speed Vt is stored in the memories MO to Mn and the flag F is set to "1" (step 109), the CPU starts the gain adjustment process shown in FIG.

すなわち、フラグFが「1」か否か判断しくステップ5
00)、「1」でなければゲイン調整処理を行わず、「
1」であると前述したステップ201と同様に、メモリ
MO〜Mnに記憶されている実速度データをFFT分析
し、各周波数成分の振幅C(()を求める(ステップ2
01)。次に、検出された振幅のうち最大の振幅の周波
数fをfmaxとして求める(ステップ502)。
In other words, in step 5 it is necessary to determine whether flag F is "1" or not.
00), if it is not “1”, gain adjustment processing is not performed, and “
1", the actual speed data stored in the memories MO to Mn is analyzed by FFT and the amplitude C(() of each frequency component is determined (step 2).
01). Next, the frequency f of the maximum amplitude among the detected amplitudes is determined as fmax (step 502).

そして、求められた周波数fmaxと設定されている基
準周波数faとの差の絶対値が、ゲイン調整のために設
定されている閾値ε(約IHz程度)より小さいか否か
判断しくステップ503)、小さくなければ現在セット
されているカットオフ周波数fnに基準周波数faから
検出周波数fmaxを差し引いた値に設定パラメータα
(0,5〜0.7程度)を乗じた値を加算し、新しいカ
ットオフ周波数とする(ステップ504)。即ち、新し
いfn=(古いfn) +a (fa−fmax)とな
る。
Then, it is determined whether the absolute value of the difference between the obtained frequency fmax and the set reference frequency fa is smaller than the threshold value ε (approximately IHz) set for gain adjustment (step 503). If it is not smaller, set parameter α to the value obtained by subtracting detection frequency fmax from reference frequency fa to the currently set cutoff frequency fn.
(approximately 0.5 to 0.7) is added to obtain a new cutoff frequency (step 504). That is, new fn=(old fn) +a (fa-fmax).

そして、新しいカットオフ周波数fnと設定されている
制御系で決まる速度ループ帯域の上限値fl imを比
較しくステップ505)、新しいカットオフ周波数fn
が小さければ、この新しいカットオフ周波数fnで第(
1)、第(2)式の計算を行って新しい速度ループのゲ
インKl、に2を設定しくステップ508)、指標i、
フラグFを「0」にセットする。フラグFが「0」にセ
ットされることにより、ゲイン調整処理は、ステップ5
00の処理とするのみとなる。
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), and the new cutoff frequency fn is
is small, this new cutoff frequency fn
1) Calculate equation (2) and set the gain Kl of the new velocity loop to 2. Step 508) Index i,
Set flag F to "0". By setting the flag F to "0", the gain adjustment process proceeds to step 5.
00 is only processed.

一方、速度ループ処理周期では第3図のステップ100
でフラグFが「0」と判断されるからステップ101以
下の処理を再び開始し、新しい速度ループゲインKl、
に2のもとに、ステッ゛クスリップが行われ実速度Vt
のデータが各速度ループ処理毎にメモリMi内に格納さ
れる。そして、設定数(N+1)のデータがメモリMO
〜Mn内に格納され、フラグFが「1」にセットされる
と(ステップ109)、再び第7図に示すゲイン調整処
理を開始する。
On the other hand, in the speed loop processing cycle, step 100 in FIG.
Since the flag F is determined to be "0", the process from step 101 onwards is restarted, and a new speed loop gain Kl,
2, a step slip is performed and the actual speed Vt
data is stored in the memory Mi for each speed loop process. Then, the set number (N+1) of data is stored in the memory MO.
~Mn, and when the flag F is set to "1" (step 109), the gain adjustment process shown in FIG. 7 is started again.

以下、上述した処理が繰り返され、速度ループゲインK
1.に2は順次更新され大きくなっていく。そして、カ
ットオフ周波数fnが速度ループ帯域の上限値fAim
以上になると(ステップ505)、パラメータPが「0
」か否か判断しくステップ506)、rOJであればパ
ラメータPの値を11」にし、速度制御ループをPI制
御にセットし、また、カットオフ周波数fnを初期値f
nOにセットしくステップ507)、再び前述同様の処
理を繰り返す。
Thereafter, the above-mentioned process is repeated, and the velocity loop gain K
1. 2 is updated sequentially and becomes larger. Then, the cutoff frequency fn is the upper limit value fAim of the velocity loop band.
When the parameter P becomes ``0'' (step 505), the parameter P becomes ``0''.
'' or not (step 506), if rOJ, set the value of parameter P to 11'', set the speed control loop to PI control, and set the cutoff frequency fn to the initial value f.
Set it to nO (step 507) and repeat the same process as described above.

上記処理を繰り返し行っている中にステップ503で検
出周波数f m a xと基準周波数faの差の絶対値
が閾値εより小さいと判断されると、ゲイン調整終了と
して現在記憶中の積分ゲインkl。
While repeating the above processing, if it is determined in step 503 that the absolute value of the difference between the detected frequency fmax and the reference frequency fa is smaller than the threshold value ε, the gain adjustment is completed and the integral gain kl currently stored.

比例ゲインに2及びパラメータPの値をこの値に決定し
、速度ループゲインの調整を終了する。なおこのとき、
フローチャートでは示していないが、決定されたゲイン
K1.に2、パラメータP及び現在のカットオフ周波数
fnを表示装置に表示して、ゲイン調整の終了を知らせ
るようにしてもよい。
The proportional gain is set to 2 and the value of the parameter P is determined to this value, and the adjustment of the speed loop gain is completed. Furthermore, at this time,
Although not shown in the flowchart, the determined gain K1. 2. The parameter P and the current cutoff frequency fn may be displayed on the display device to notify the end of the gain adjustment.

また、上記処理を繰り返し中、検出周波数fmaxと基
準周波数faO差の絶対値が閾値εより小さくならず、
ステップ506でパラメータPが「1」と判断されると
、カッオフ周波数fnを速度ループ帯域の上限値fl 
imにセットしくステップ510)、このカットオフ周
波数によってゲインkl、に2を決定しくステップ51
1)、速度ループゲインの調整を終了する。
Also, while repeating the above process, the absolute value of the difference between the detection frequency fmax and the reference frequency faO does not become smaller than the threshold ε,
If the parameter P is determined to be "1" in step 506, the cutoff frequency fn is set to the upper limit value fl of the velocity loop band.
step 510), and determine the gain kl to 2 according to this cutoff frequency (step 51).
1) Finish adjusting the speed loop gain.

こうして、積分ゲインkl、比例ゲインに2及びパラメ
ータPは決定され、決定された値によって速度制御が行
われると、振動が生じなく、かつ、ゲインの大きい望ま
しい速度制御が行われることとなる。
In this way, the integral gain kl, the proportional gain 2, and the parameter P are determined, and when speed control is performed using the determined values, desirable speed control that does not generate vibration and has a large gain is performed.

なお、このゲイン調整処理において基準周波数faの設
定が悪いと、速度ループのゲインkl。
Note that in this gain adjustment process, if the reference frequency fa is incorrectly set, the speed loop gain kl.

k2が大きくなるに従って、最大振幅の周波数fmax
と基準周波数faとの差の絶対値が閾値εより小さくな
る前に、機械系が発振する場合が考えられる。そこで、
ステップ502とステップ503の間に、発振検出方式
と同様に、第4図ステップ203,204,209の処
理を挿入して、機械系の発振を検出し、基準周波数fa
の設定値が悪いことを知らせるようにしてもよい。
As k2 increases, the frequency of maximum amplitude fmax
A case can be considered in which the mechanical system oscillates before the absolute value of the difference between and the reference frequency fa becomes smaller than the threshold value ε. Therefore,
Similar to the oscillation detection method, steps 203, 204, and 209 in FIG. 4 are inserted between step 502 and step 503 to detect mechanical system oscillation and set the reference frequency fa
It may also be possible to notify that the set value of is incorrect.

また、この速度ループのゲイン調整方式においても、サ
ーボ系の発振検出方式と同様に、ステップ106の代り
に第5図に示す処理を行い、加速度変化によって最大振
幅の周波数fmaxを求めてもよく、さらに、第6図に
示すオフセット値の変更処理(ステップ400)をステ
ップ508とステップ509間に挿入するようにしても
よい。
Also, in this speed loop gain adjustment method, similarly to the servo system oscillation detection method, the process shown in FIG. Furthermore, the offset value changing process (step 400) shown in FIG. 6 may be inserted between step 508 and step 509.

また、上記各実施例では、モータの実速度を検出するよ
うにしたが、位置指令が零であることから、位置偏差量
を検出するようにしてもよい。
Further, in each of the above embodiments, the actual speed of the motor is detected, but since the position command is zero, the position deviation amount may be detected.

なお、サーボ系発振検出モード、ゲイン自動調整モード
以外の通常のサーボモータの位置及び速度制御の場合に
は、第1図における関数発生器2の処理は行われないこ
とはもちろんである。
It should be noted that, of course, in the case of normal servo motor position and speed control other than the servo system oscillation detection mode and the automatic gain adjustment mode, the processing of the function generator 2 in FIG. 1 is not performed.

発明の効果 本発明においては、サーボ系の発振を自動的に検出でき
ると共に、さらに速度ループゲインを自動的に決定する
ため、従来のように試行錯誤で決定する場合と比べ、時
間と手間を必要とせず、また、常に等価ゲイン(基準周
波数faによって決まる)を持つように設定することが
できる、また、機械系の経年変化やイナーシャ等が変化
しても最適の速度ループゲインを容易に得ることができ
る。
Effects of the Invention In the present invention, the oscillation of the servo system can be automatically detected, and the speed loop gain is also automatically determined, which requires more time and effort than the conventional method of determining it by trial and error. In addition, it can be set to always have an equivalent gain (determined by the reference frequency fa), and the optimum speed loop gain can be easily obtained even if the mechanical system changes over time or inertia changes. I can do it.

【図面の簡単な説明】[Brief explanation of drawings]

第1図は、本発明の一実施例におけるサーボ系発振検出
時及び速度ループゲイン自動調整時の位置ループのブロ
ック線図、 第2図は、関数発生器の入出力関係の説明図、第3図は
、本発明のサーボ系の発振検出方式及び速度ループゲイ
ン自動調整方式の一実施例における速度ループ処理周期
での処理を示すフローチャート、 第4図は本発明の発振検出方式の実施例における発振検
出処理のフローチャート、 第5図は、第3図におけるステップ106の代りに実行
する処理のフローチャート、 第6図は、オフセット値を変更するとき追加される処理
のフローチャート、 第7図は、本発明の速度ループゲイン自動調整方式の実
施例におけるゲイン調整処理のフローチャート、 第8図、第9図は、120Hzの機械的共振をもつ機械
系を25Hzで振動させたときの実速度の変化(速度波
形)、及び、速度の微分変化(速度微分波形)を表す図
、 第10図は、ステックスリップを生じさせるとき必要な
最大トルク値と速度ループの周波数帯域及びオフセット
値との関係を表す図、 第11図は、速度ループのブロック線図である。 2・・・関数発生器、kl・・・積分ゲイン、k2・・
・比例ゲイン、P・・・パラメータ、fa・・・基準周
波数、ε・・・閾値、α・・・パラメータ、fI!im
・・・速度ループ帯域の上限値、fmax・・・検出周
波数、fn・・・カットオフ周波数。 第5図 ス九プ107
FIG. 1 is a block diagram of the position loop when detecting servo system oscillation and automatically adjusting the speed loop gain in an embodiment of the present invention. FIG. 2 is an explanatory diagram of the input/output relationship of the function generator. FIG. 4 is a flowchart showing the processing in the speed loop processing cycle in an embodiment of the servo system oscillation detection method and speed loop gain automatic adjustment method of the present invention. FIG. Flowchart of detection processing; FIG. 5 is a flowchart of processing executed in place of step 106 in FIG. 3; FIG. 6 is a flowchart of processing added when changing the offset value; FIG. 7 is a flowchart of processing executed in place of step 106 in FIG. 3; Flowcharts of the gain adjustment process in the embodiment of the speed loop gain automatic adjustment method, Figures 8 and 9 show the change in actual speed (velocity waveform) when a mechanical system with 120Hz mechanical resonance is vibrated at 25Hz. ) and a diagram showing differential changes in speed (velocity differential waveform). FIG. 11 is a block diagram of the velocity loop. 2...Function generator, kl...Integral gain, k2...
・Proportional gain, P...parameter, fa...reference frequency, ε...threshold, α...parameter, fI! im
... Upper limit value of the speed loop band, fmax... Detection frequency, fn... Cutoff frequency. Figure 5 Skup 107

Claims (6)

【特許請求の範囲】[Claims] (1)位置指令を零にし、位置偏差値に応じて所定オフ
セット値を有する速度指令を与えることによりサーボ系
に振動を生じせしめ、このとき得られるサーボモータの
実速度変化又は位置偏差量の変化を検出し、該実速度変
化又は位置偏差量の変化の周波数分析を行って得られる
最大振幅の周波数が突然、それまでの変動に対し非常に
大きく変動するまで速度ループゲインを上昇させ突然、
非常に大きくに上記周波数が上昇したことを検出するこ
とによってサーボ系の発振を検出するようにしたことを
特徴とするサーボ系の発振検出方式。
(1) By setting the position command to zero and giving a speed command with a predetermined offset value according to the position deviation value, vibration is generated in the servo system, and the resulting change in the actual speed of the servo motor or the change in position deviation amount The speed loop gain is suddenly increased until the frequency of the maximum amplitude obtained by detecting the actual speed change or the change in the position deviation amount suddenly changes significantly compared to the previous fluctuation.
A method for detecting oscillation of a servo system, characterized in that oscillation of the servo system is detected by detecting a very large increase in the frequency.
(2)位置指令を零にし、位置偏差値に応じて所定オフ
セット値を有する速度指令を与えることによりサーボ系
に振動を生じせしめ、このとき得られるサーボモータの
実速度変化又は位置偏差量の変化を検出し、該実速度変
化又は位置偏差量の変化を微分することによって微分値
の変化を求め、該微分値の変化の周波数分析を行って得
られる最大振幅の周波数が突然、それまでの変動に対し
非常に大きく変動するまで、速度ループゲインを上昇さ
せ突然、非常に大きく上記周波数が上昇したことを検出
することによってサーボ系の発振を検出するようにした
ことを特徴とするサーボ系の発振検出方式。
(2) By setting the position command to zero and giving a speed command with a predetermined offset value according to the position deviation value, vibration is generated in the servo system, and the resulting change in the actual speed of the servo motor or the change in position deviation amount Detect the change in the actual speed or position deviation amount to obtain a change in the differential value, perform frequency analysis of the change in the differential value, and suddenly the frequency of the maximum amplitude obtained by Oscillation of the servo system, characterized in that the oscillation of the servo system is detected by increasing the speed loop gain until the frequency fluctuates extremely greatly and detecting a sudden and extremely large increase in the frequency. Detection method.
(3)周波数分析を行って得られる最大振幅の周波数が
低いときには上記オフセット値を大きくし、上記周波数
が高くなるにつれて上記オフセット値を小さくする請求
項1又は請求項2記載のサーボ系の発振検出方式。
(3) Oscillation detection in a servo system according to claim 1 or 2, wherein the offset value is increased when the frequency of the maximum amplitude obtained by frequency analysis is low, and the offset value is decreased as the frequency increases. method.
(4)位置指令を零にし、位置偏差値に応じて所定オフ
セット値を有する速度指令を与えることによりサーボ系
に振動を生じせしめ、このとき得られるサーボモータの
実速度変化又は位置偏差量の変化を検出し、該実速度変
化又は位置偏差量の変化の周波数分析を行い最大振幅の
周波数を求め該周波数が設定された基準周波数に対し設
定所定範囲内に達するよう順次速度ループゲインを自動
調整し、設定所定範囲内に達した時点での速度ループゲ
インを当該速度ループのゲインとするサーボ系の速度ル
ープゲイン自動調整方式。
(4) By setting the position command to zero and giving a speed command with a predetermined offset value according to the position deviation value, vibration is generated in the servo system, and the resulting change in the actual speed of the servo motor or the change in position deviation amount is detected, the frequency of the actual speed change or position deviation amount change is analyzed to find the frequency of the maximum amplitude, and the speed loop gain is automatically adjusted sequentially so that the frequency reaches the set predetermined range with respect to the set reference frequency. , an automatic speed loop gain adjustment method for a servo system in which the speed loop gain at the time when the speed loop gain reaches a predetermined setting range is set as the gain of the speed loop.
(5)位置指令を零にし、位置偏差値に応じて所定オフ
セット値を有する速度指令を与えることによりサーボ系
に振動を生じせしめ、このとき得られるサーボモータの
実速度変化又は位置偏差量の変化を検出し、該実速度変
化又は位置偏差量の変化を微分することによって微分値
の変化を求め、該微分値の変化の周波数分析を行い最大
振幅の周波数を求め、該周波数が設定された基準周波数
に対し設定所定範囲内に達するよう順次速度ループゲイ
ンを自動調整し、設定所定範囲内に達した時点での速度
ループゲインを当該速度ループのゲインとするサーボ系
の速度ループゲイン自動調整方式。
(5) By setting the position command to zero and giving a speed command with a predetermined offset value according to the position deviation value, vibration is generated in the servo system, and the resulting change in the actual speed of the servo motor or the change in position deviation amount is detected, the change in the differential value is obtained by differentiating the change in the actual speed or the change in the position deviation amount, the frequency of the change in the differential value is analyzed to find the frequency of the maximum amplitude, and the standard for which this frequency is set is determined. A speed loop gain automatic adjustment method for a servo system in which the speed loop gain is automatically adjusted sequentially so that the frequency is within a predetermined range, and the speed loop gain at the time the gain reaches the predetermined range is set as the gain of the speed loop.
(6)周波数分析を行って得られる最大振幅の周波数が
低いときには上記オフセット値を大きくし、上記周波数
が高くなるにつれて上記オフセット値を小さくする請求
項4又は請求項5記載のサーボ系の速度ループゲイン自
動調整方式。
(6) The speed loop of the servo system according to claim 4 or 5, wherein the offset value is increased when the frequency of the maximum amplitude obtained by frequency analysis is low, and the offset value is decreased as the frequency becomes higher. Automatic gain adjustment method.
JP1181655A 1988-12-23 1989-07-15 Oscillation detection of servo system and automatic adjustment of speed loop gain Expired - Lifetime JP2587701B2 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
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
EP19900900346 EP0401383A4 (en) 1988-12-23 1989-12-25 Methods of detecting oscillation in the servo system and automatically adjusting the speed loop gain
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

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP32369288 1988-12-23
JP63-323692 1988-12-23

Publications (2)

Publication Number Publication Date
JPH02261083A true JPH02261083A (en) 1990-10-23
JP2587701B2 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)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003053643A (en) * 2001-08-13 2003-02-26 Mori Seiki Co Ltd Control method and control device for machine tool feeding system
WO2003081763A1 (en) * 2002-03-19 2003-10-02 3M Innovative Properties Company Closed-loop phase compensation controller
WO2005013018A1 (en) * 2003-08-05 2005-02-10 Kabushiki Kaisha Yaskawa Denki Method for extracting maximum gain of servo controller
WO2013161367A1 (en) * 2012-04-27 2013-10-31 株式会社日立産機システム Electric motor control device and method for automatically adjusting same
JP6050865B1 (en) * 2015-06-26 2016-12-21 ファナック株式会社 Servo control device with function to optimize control gain online with evaluation function

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003053643A (en) * 2001-08-13 2003-02-26 Mori Seiki Co Ltd Control method and control device for machine tool feeding system
JP4578732B2 (en) * 2001-08-13 2010-11-10 株式会社森精機製作所 Machine tool feed system controller
WO2003081763A1 (en) * 2002-03-19 2003-10-02 3M Innovative Properties Company Closed-loop phase compensation controller
WO2005013018A1 (en) * 2003-08-05 2005-02-10 Kabushiki Kaisha Yaskawa Denki Method for extracting maximum gain of servo controller
US7459873B2 (en) 2003-08-05 2008-12-02 Kabushiki Kaisha Yaskawa Denki Method for extracting maximum gain of servo controller
WO2013161367A1 (en) * 2012-04-27 2013-10-31 株式会社日立産機システム Electric motor control device and method for automatically adjusting same
JP2013230061A (en) * 2012-04-27 2013-11-07 Hitachi Industrial Equipment Systems Co Ltd Motor controller and automatic adjustment method thereof
CN104221278A (en) * 2012-04-27 2014-12-17 株式会社日立产机系统 Electric motor control device and method for automatically adjusting same
JP6050865B1 (en) * 2015-06-26 2016-12-21 ファナック株式会社 Servo control device with function to optimize control gain online with evaluation function
CN106292550A (en) * 2015-06-26 2017-01-04 发那科株式会社 There is the Servocontrol device of the function of vehicle air-conditioning gain
US9703273B2 (en) 2015-06-26 2017-07-11 Fanuc Corporation Servo control apparatus having function of optimizing control gain online using evaluation function

Also Published As

Publication number Publication date
JP2587701B2 (en) 1997-03-05

Similar Documents

Publication Publication Date Title
US5157597A (en) Method of detecting oscillation of a servo system and automatically adjusting speed loop gain thereof
JP5206994B2 (en) Electric motor control device and gain adjustment method thereof
JP4837558B2 (en) Motor control device
JP6304461B1 (en) Motor control device
US9703273B2 (en) Servo control apparatus having function of optimizing control gain online using evaluation function
JP2002304219A (en) Motor controller and mechanism characteristic measuring method
JP3526022B2 (en) Oscillation criticality detection method for servo control system
JPH02261083A (en) Oscillation detection and automatic control of speed loop gain in servo system
JP4367411B2 (en) Motor control device
JPH07120216B2 (en) Position control method
WO1990016020A1 (en) Zeroing method using a disturbance estimating observer
JP2890529B2 (en) Self tuning method
JPWO2002082194A1 (en) Servo control device
JPH0670567A (en) Automatic setting method of control gain for motor and detecting method of backlash
JPH08116688A (en) Detecting method for oscillation of servomotor and adjusting method for speed gain of servomotor
JP4390049B2 (en) Servo control device and limit gain extraction method thereof
KR100794893B1 (en) Motor control apparatus
JPH0297291A (en) Automatic controller for motor
JPS63201705A (en) Vibration-proof controller for manipulator
JP2001159901A (en) Method for detecting oscillation
CN107222127B (en) A kind of piezoelectric motor self-adaptation control method that the printenv information gap is stable
CN116954082A (en) Jitter suppression method suitable for new energy automobile
KR20060013367A (en) Motor controller
JP2005080333A (en) Method for calculating load inertia
JPWO2023162031A5 (en)