JP2004187439A - サーボ制御系の発振検出方法 - Google Patents
サーボ制御系の発振検出方法 Download PDFInfo
- Publication number
- JP2004187439A JP2004187439A JP2002353583A JP2002353583A JP2004187439A JP 2004187439 A JP2004187439 A JP 2004187439A JP 2002353583 A JP2002353583 A JP 2002353583A JP 2002353583 A JP2002353583 A JP 2002353583A JP 2004187439 A JP2004187439 A JP 2004187439A
- Authority
- JP
- Japan
- Prior art keywords
- value
- oscillation
- integrated
- vibration
- torque 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.)
- Pending
Links
Images
Landscapes
- Control Of Electric Motors In General (AREA)
Abstract
【課題】サーボ制御系の調整を、調整パラメータ変更、調整者の手作業による発振状態の確認、再び調整パラメータ変更という手順で実施しており、調整者の主観による為発振検出の判定が一定しない、調整作業に時間がかかる等の問題があり、また発振検出の遅れにより機械系が損傷してしまうという恐れもあった。
【解決手段】検出範囲内におけるトルク指令の各振動振幅値と当該振動での下限ピークと上限ピーク間の各時間を検出し、前記検出値から各振動ごとのエネルギー値を算出し、前記検出範囲におけるトルク指令の振動回数をNとし、1回目から各回数までの振動エネルギー値の各積算値を算出し、前記各積算値の総和を算出し、これを1回からN回目までの前記積算値にN/2を乗じた値と大小比較し、前記各積算値の総和の方が小さければ、発振検出する。
【選択図】 図5
【解決手段】検出範囲内におけるトルク指令の各振動振幅値と当該振動での下限ピークと上限ピーク間の各時間を検出し、前記検出値から各振動ごとのエネルギー値を算出し、前記検出範囲におけるトルク指令の振動回数をNとし、1回目から各回数までの振動エネルギー値の各積算値を算出し、前記各積算値の総和を算出し、これを1回からN回目までの前記積算値にN/2を乗じた値と大小比較し、前記各積算値の総和の方が小さければ、発振検出する。
【選択図】 図5
Description
【0001】
【発明の属する技術分野】
本発明はサーボ系において動作時及び調整時に発生する発振状態を効果的に検出する発振検出方法に関する。
【0002】
【従来の技術】
通常、サーボ制御系はフィードバック制御を行っている。サーボモータによって機械負荷を駆動する速度制御装置の一例は図8に示すようになっている。図8において、減算器10は速度指令Vrefからモータ速度Vfbを減算して速度偏差を求め、前記速度偏差を速度制御器11に出力する。速度制御器11は前記速度偏差が0になるように制御パラメータを調節し、トルク指令Trefを電流制御器12へ出力する。電流制御器12は前記トルク指令Trefを入力し、サーボモータ13を駆動する。機械負荷14はサーボモータ13にトルク伝達用の連結軸を介して結合されている。そのとき、モータ位置はサーボモータに取り付けられたエンコーダ15で回転量に応じてパルスを作成し、前記パルスを微分して、モータ速度Vfbが算出されている。
このようなサーボ制御系で充分な性能を引き出すためには、結合された機械に応じて調整者がサーボ制御系の制御パラメータを調整する必要がある。調整者は発振音を聞きながら、あるいは位置偏差やトルク指令波形をモニタしながら、調整作業を行う。しかし、制御パラメータを変化させると機械系の共振及び無駄時間などによりサーボ制御系が発振する場合があり、場合によっては機械を破壊することがあった。
このような問題に対して、従来、調整者はまず発振しないような低めの制御パラメータを設定して、実際にその制御パラメータによってサーボモータを運転して発振が起きないことを確認し、次に徐々に制御パラメータを変化させ、再び確認する人手による操作の繰り返しで対処していた。また、電流指令値の低周波成分をハイパスフィルタでカットし、その電流指令値の2乗平均を求め、その2乗平均値と設定値とを比較することによって発振を検出する方法をとっていた(例えば、特許文献1参照。)。
【0003】
【特許文献1】
特開平8−116688号公報
【0004】
【発明が解決しようとする課題】
ところが、前記従来技術では、サーボモータの発振検出を調整者の主観によって判断しており、共通した判断基準がなく、発振検出の判定が一定しないという問題点があった。また、前記特許文献1による方法では、電流指令値の低周波成分をハイパスフィルタで除去するので、ハイパスフィルタのカットオフ周波数で発振検出結果が異なるという問題点があった。
そこで本発明は、サーボ制御系の調整に際し、フィルタによる影響を受けない、調整者の主観を排除し、共通した判断基準による発振検出を可能とするサーボ制御系の発振検出方法を提供することで、その調整作業の容易化を実現し、機械系への損傷をも防止することを目的としている。
【0005】
【課題を解決するための手段】
上記問題を解決するため、請求項1記載の発明は速度指令を入力としトルク指令を出力する速度制御器と、トルク指令を入力としてモータを駆動する電流制御器とを備えたモータ制御装置と、モータ速度またはモータに接続された機械負荷速度を検出する検出器と、モータ及び機械負荷とからなるサーボ制御系において、検出範囲を設定し、検出範囲内におけるトルク指令の各振動振幅値を検出し、当該振動での下限ピークと上限ピーク間の各時間を検出し、前記振動振幅値と前記検出した時間との関数により、各振動ごとのエネルギー値を算出し、前記検出範囲におけるトルク指令の振動回数をNとし、1回と2回目との振動エネルギー値の積算値を算出し、1回から3回目までの前記積算値を算出し、以下同様に算出していき、1回からN−2回目までの前記積算値を算出し、1回からN−1回目までの前記積算値を算出し、1回からN回目までの前記積算値を算出し、
前記各積算値の総和を算出し、1回からN回目までの前記積算値にN/2を乗じた値と前記各積算値の総和とを大小比較し、前記各積算値の総和の方が小さければ、発振検出することを特徴としている。
また請求項2記載の発明は、速度指令を入力としトルク指令を出力する速度制御器と、トルク指令を入力としてモータを駆動する電流制御器とを備えたモータ制御装置と、モータ速度またはモータに接続された機械負荷速度を検出する検出器と、モータ及び機械負荷とからなるサーボ制御系において、検出範囲を設定し、検出範囲内におけるトルク指令の各振動振幅値を検出し、当該振動での下限ピークと上限ピーク間の各時間を検出し、前記振動振幅値と前記検出した時間との関数により、各振動ごとのエネルギー値を算出し、前記検出範囲におけるトルク指令の振動回数をNとし、1回からN回目までの振動エネルギー値の積算値を算出し、前記積算値を予め設定した第1の所定値と大小比較し、前記積算値の方が大きければ、発振検出することを特徴としている。
トルク指令の振動振幅が非常に小さい場合でも、本発明によれば、発振状態の検出が可能となる。
また請求項3記載の発明は、前記サーボ制御系の発振検出方法において、1回からN回目までの前記積算値にN/2を乗じた値と前記各積算値の総和とを大小比較した場合に、前記各積算値の総和の方が小さく、かつ、1回からN回目までの振動エネルギー値の積算値を予め設定した第1の所定値と大小比較した場合に、前記積算値の方が大きくなれば、発振検出することを特徴としている。
請求項1記載の発明と請求項2記載の発明とのANDであり、正確かつ確実な発振検出が可能となる。
【0006】
【発明の実施形態】
以下、本発明の実施例を図面にしたがって説明する。図1は本発明のサーボ制御系における発振検出器を含むサーボ制御系のブロック線図である。図5は本発明のサーボ制御系の発振検出器における発振検出方法のフローチャートである。なお、図1に示すように、本実施例の装置を適用するサーボ制御系も従来のサーボ制御系を示した図8と同様に構成されており、記述の符号と同一の符号は同一部分を示しているのでその説明は省略し、相違部のみを説明する。
図1において、発振検出器17はトルク指令を入力し、発振検出を行い、発振を検出すると発振信号をメモリ18に出力する。メモリ18は発振信号を入力し、予め速度制御器11より保存しておいた発振前の制御パラメータを速度制御器11の制御パラメータに書き込んで変更する。本実施例は速度制御系であるが、位置制御系においても、発振検出器17が発振を検出すると発振信号をメモリ18に出力し、予め位置制御器より保存しておいた発振前の制御パラメータを位置制御器の制御パラメータに書き込んで変更する。
【0007】
次に本発明の方法で、なぜ発振が検出されるかを説明する。発振が起きるとトルク指令の振幅値は大きくなるということに着目する。まずエネルギー値をトルク指令の振幅値と振幅値のピークからピークまでの時間(下限ピークから上限ピークまでの時間)で重み付けした関数en(i)で定義する。
【数1】
ただし、En(j)はi番目のエネルギー値までの総和、ΔEn(j)はエネルギーの増分値、tは検出範囲内での総ピーク数、トルク振幅値iはi番目の下限ピークから次上限ピークまでの振幅値、 Δtiはi番目の下限ピークから次上限ピークまでの時間である。
図2(a)のように、検出範囲内で発振が起きた場合、i番目の振幅値はi−1番目に比べて大きくなるので、i番目のエネルギー値en(i)iはi―1番目のエネルギー値en(i−1)より大きくなる。i―1番目のエネルギー値までの総和En(i−1)とi番目のエネルギー値en(i)(i=1,2,…,t)を順次加算し、エネルギー値の総和En(t)で正規化(計算の便宜の為、正規化を行う)を行うと、図2(b)のように正規化後のエネルギー値の総和fn(t)の軌跡はi=0での正規化後の値0とi=tでの正規化後の値1を結ぶ直線(図2(b)の点線部分)で作られる領域内に描かれる。
図3(a)のように、検出範囲内で振幅が一定の持続振動では、図3(b)のように、正規化後のエネルギー値の総和fn(t)の軌跡がi=0での正規化後の値0とi=tでの正規化後の値1を結ぶ直線と一致する。
図4(a)のように、検出範囲内で発振が起きない場合、または、減衰的な場合では、i番目の振幅値はi−1番目に比べて大きくならないので、i番目のエネルギー値en(i)iはi−1番目のエネルギー値en(i−1)より小さくなる。i―1番目のエネルギー値までの総和En(i−1)とi番目のエネルギー値en(i)を加算し、上記と同様に正規化を行うと、図4(b)のように正規化後のエネルギー値の総和fn(t)の軌跡はi=0での正規化後の値0とi=tでの正規化後の値1を結ぶ直線(図4(b)の点線部分)で作られる領域内よりも外に描かれる。
従って、i=0での正規化後の値0とi=tでの正規化後の値1を結ぶ直線の積算値(これをエネルギー積算閾値と呼ぶ)と、正規化後のエネルギーEnの軌跡が作る線分の積算値を比較することによって、発振かどうかの判別を行うことができる。
しかし、単なる上記面積値の比較だけでは、振幅が相対的に非常に小さい場合に発振と誤認識してしまう場合もある。そこで前記判別に加え、さらに、パラメータなどで予め設定した値(これをエネルギー閾値とする)とエネルギー値Ent(検出範囲でのエネルギー総和)とを大小比較することで、発振かどうかの判別を行えばよい。また、本判別を単独で用いても、発振かどうかの判別を行うことは可能である。
以上のように、面積値の比較とエネルギー値の比較によって発振かどうかの判別を行うことが可能となる。
【0008】
次に上記で説明した発振検出方法に基づき、発振検出器17の動作を図5のフローチャートで説明する。
図5において、A1は発振検出処理の開始であり、A2は各変数の初期化を行っている。A3はトルク指令を入力としトルク指令Tr( i )のうち、指令成分を除去し、外乱成分だけ抽出するものである。ただし、iはサンプリング数である。
指令成分とは、(モータ+負荷)のイナ−シャと指令加速度から出力(計算)されるトルクと、粘性摩擦などによるトルクとをいい、外乱成分とは、指令成分以外の振動トルク(例えば機械との共振で発生する、所定の共振周波数を持ったトルク)をいう。外乱成分は、例えばトルク指令をハイパスフィルタに通す等によって抽出できる。
A5はA3でトルク指令Tr(i)の外乱成分だけを抽出した波形から上限ピーク値を検出し、前回検出した下限ピーク値から今回検出したピーク値を減算し、前記減算した値の絶対値を算出し、振幅値を求める。また、前回検出したピークから今回検出したピークまでの時間Δtを計測する。A6はピーク値の検出点Pにおけるエネルギー値en(p)とP点までのエネルギー値の総和を求める。A7はiを予め決められた検出区間のサンプリング点数sectionより大きいかどうか比較し、もし小さければ検出範囲内の処理が終わっていないのでA3に戻る。もし大きければ、A8に進む。A8はA6で計算された各ピーク点のエネルギー値までの総和を保存する。A9はA8で保存した各ピーク点におけるエネルギー値をエネルギー値の総和で除算し、正規化する。そして、正規化した各ピーク点におけるエネルギー値を積算する。A11はピーク点数kを総ピーク点数tより大きいかどうか比較し、もし小さければエネルギー値の正規化処理が終わっていないのでA9、A10の処理に戻る。もし大きければ、発振判定部A12、A13に進む。
A12はA9で正規化したエネルギー値の積算値をパラメータであるエネルギー積算閾値より大きいかどうか比較し、もしエネルギー積算閾値の方が大きければ発振状態とみなして、「発振信号1」を出力する。A13はA8で保存した各ピーク点におけるエネルギー値の加算値をパラメータであるエネルギー閾値より大きいかどうか比較し、もし各ピーク点におけるエネルギー値の加算値の方が大きければ発振状態とみなして「発振信号2」を出力する。A14はA12が「発振信号1」を出力し、かつA13が「発振信号2」出力したときだけ、検出範囲内は発振状態を検出したとして発振信号を出力する。もし発振信号が出力されたならば、発振を起こす前の制御パラメータへの変更や、機械の即時停止などの処理を行う。
【0009】
図6、図7に本発明による発振検出の結果を示す。図6、図7はトルク指令と発振信号で、共に検出範囲は100[msec]であり、位置制御は比例制御、速度制御は比例―積分制御である。図6の制御パラメータは位置ループゲインKp=40[1/s]、速度ループゲインKv=40[Hz]、速度ループ積分ゲインTi=[sec]で、図7の制御パラメータはKp=180[1/s]、Kv=180[Hz]、Ti=[sec]である。モータと機械負荷のイナーシャ比は7.62、エネルギー閾値は150[%]としている。
はじめに図6の制御パラメータでモータを駆動させ、次に図7の制御パラメータに変更してモータを駆動させた。図6ではサーボ制御系は発振しないが、図7ではサーボ制御系は発振が検出され、発振信号より発振前の図6の制御パラメータへ自動的に変更される。
前記結果より、サーボ制御系の調整で制御パラメータが変わることによって起きる発振状態を検出することができ、制御パラメータを発振しないパラメータに自動的に戻すことができた。
なお本実施の形態では、トルク指令の下限ピークから次の上限ピークまでの振幅、及びその間の時間を検出しているが、これをトルク指令の上限ピークから次の下限ピークまでの振幅、及びその間の時間を検出しても同様の効果が得られるのはもとよりである。
【0010】
【発明の効果】
以上のように本発明によれば、サーボ制御系の調整に際し、フィルタによる影響を受けず、調整者の主観をも排除でき、共通した判断基準によるサーボ制御系の発振状態の自動検出を行うことができるという効果があり、また、発振検出時には即座に安全な制御パラメータに戻すことができ、これによって機械を損傷させることなく制御パラメータの調整作業を安心して行うことができるという効果がある。
【図面の簡単な説明】
【図1】本発明のサーボ制御系のブロック図である。
【図2】本発明を説明するためのトルク指令及び正規化後のエネルギ―図である。
【図3】本発明を説明するためのトルク指令及び正規化後のエネルギ―図である。
【図4】本発明を説明するためのトルク指令及び正規化後のエネルギ―図である。
【図5】本発明の実施例を示すフローチャートである。
【図6】本発明の実施結果を示したものである。
【図7】本発明の実施結果を示したものである。
【図8】従来のサーボ制御系のブロック図である。
【符号の説明】
10…減算器
11…速度制御器
12…電流アンプ
13…モータ
14…機械負荷
15…エンコーダ
16…微分器
17…発振検出器
18…メモリ
19…トルク指令
20…エネルギー加算値の軌跡
21…エネルギー積算閾値
22…トルク指令
23…発振信号
【発明の属する技術分野】
本発明はサーボ系において動作時及び調整時に発生する発振状態を効果的に検出する発振検出方法に関する。
【0002】
【従来の技術】
通常、サーボ制御系はフィードバック制御を行っている。サーボモータによって機械負荷を駆動する速度制御装置の一例は図8に示すようになっている。図8において、減算器10は速度指令Vrefからモータ速度Vfbを減算して速度偏差を求め、前記速度偏差を速度制御器11に出力する。速度制御器11は前記速度偏差が0になるように制御パラメータを調節し、トルク指令Trefを電流制御器12へ出力する。電流制御器12は前記トルク指令Trefを入力し、サーボモータ13を駆動する。機械負荷14はサーボモータ13にトルク伝達用の連結軸を介して結合されている。そのとき、モータ位置はサーボモータに取り付けられたエンコーダ15で回転量に応じてパルスを作成し、前記パルスを微分して、モータ速度Vfbが算出されている。
このようなサーボ制御系で充分な性能を引き出すためには、結合された機械に応じて調整者がサーボ制御系の制御パラメータを調整する必要がある。調整者は発振音を聞きながら、あるいは位置偏差やトルク指令波形をモニタしながら、調整作業を行う。しかし、制御パラメータを変化させると機械系の共振及び無駄時間などによりサーボ制御系が発振する場合があり、場合によっては機械を破壊することがあった。
このような問題に対して、従来、調整者はまず発振しないような低めの制御パラメータを設定して、実際にその制御パラメータによってサーボモータを運転して発振が起きないことを確認し、次に徐々に制御パラメータを変化させ、再び確認する人手による操作の繰り返しで対処していた。また、電流指令値の低周波成分をハイパスフィルタでカットし、その電流指令値の2乗平均を求め、その2乗平均値と設定値とを比較することによって発振を検出する方法をとっていた(例えば、特許文献1参照。)。
【0003】
【特許文献1】
特開平8−116688号公報
【0004】
【発明が解決しようとする課題】
ところが、前記従来技術では、サーボモータの発振検出を調整者の主観によって判断しており、共通した判断基準がなく、発振検出の判定が一定しないという問題点があった。また、前記特許文献1による方法では、電流指令値の低周波成分をハイパスフィルタで除去するので、ハイパスフィルタのカットオフ周波数で発振検出結果が異なるという問題点があった。
そこで本発明は、サーボ制御系の調整に際し、フィルタによる影響を受けない、調整者の主観を排除し、共通した判断基準による発振検出を可能とするサーボ制御系の発振検出方法を提供することで、その調整作業の容易化を実現し、機械系への損傷をも防止することを目的としている。
【0005】
【課題を解決するための手段】
上記問題を解決するため、請求項1記載の発明は速度指令を入力としトルク指令を出力する速度制御器と、トルク指令を入力としてモータを駆動する電流制御器とを備えたモータ制御装置と、モータ速度またはモータに接続された機械負荷速度を検出する検出器と、モータ及び機械負荷とからなるサーボ制御系において、検出範囲を設定し、検出範囲内におけるトルク指令の各振動振幅値を検出し、当該振動での下限ピークと上限ピーク間の各時間を検出し、前記振動振幅値と前記検出した時間との関数により、各振動ごとのエネルギー値を算出し、前記検出範囲におけるトルク指令の振動回数をNとし、1回と2回目との振動エネルギー値の積算値を算出し、1回から3回目までの前記積算値を算出し、以下同様に算出していき、1回からN−2回目までの前記積算値を算出し、1回からN−1回目までの前記積算値を算出し、1回からN回目までの前記積算値を算出し、
前記各積算値の総和を算出し、1回からN回目までの前記積算値にN/2を乗じた値と前記各積算値の総和とを大小比較し、前記各積算値の総和の方が小さければ、発振検出することを特徴としている。
また請求項2記載の発明は、速度指令を入力としトルク指令を出力する速度制御器と、トルク指令を入力としてモータを駆動する電流制御器とを備えたモータ制御装置と、モータ速度またはモータに接続された機械負荷速度を検出する検出器と、モータ及び機械負荷とからなるサーボ制御系において、検出範囲を設定し、検出範囲内におけるトルク指令の各振動振幅値を検出し、当該振動での下限ピークと上限ピーク間の各時間を検出し、前記振動振幅値と前記検出した時間との関数により、各振動ごとのエネルギー値を算出し、前記検出範囲におけるトルク指令の振動回数をNとし、1回からN回目までの振動エネルギー値の積算値を算出し、前記積算値を予め設定した第1の所定値と大小比較し、前記積算値の方が大きければ、発振検出することを特徴としている。
トルク指令の振動振幅が非常に小さい場合でも、本発明によれば、発振状態の検出が可能となる。
また請求項3記載の発明は、前記サーボ制御系の発振検出方法において、1回からN回目までの前記積算値にN/2を乗じた値と前記各積算値の総和とを大小比較した場合に、前記各積算値の総和の方が小さく、かつ、1回からN回目までの振動エネルギー値の積算値を予め設定した第1の所定値と大小比較した場合に、前記積算値の方が大きくなれば、発振検出することを特徴としている。
請求項1記載の発明と請求項2記載の発明とのANDであり、正確かつ確実な発振検出が可能となる。
【0006】
【発明の実施形態】
以下、本発明の実施例を図面にしたがって説明する。図1は本発明のサーボ制御系における発振検出器を含むサーボ制御系のブロック線図である。図5は本発明のサーボ制御系の発振検出器における発振検出方法のフローチャートである。なお、図1に示すように、本実施例の装置を適用するサーボ制御系も従来のサーボ制御系を示した図8と同様に構成されており、記述の符号と同一の符号は同一部分を示しているのでその説明は省略し、相違部のみを説明する。
図1において、発振検出器17はトルク指令を入力し、発振検出を行い、発振を検出すると発振信号をメモリ18に出力する。メモリ18は発振信号を入力し、予め速度制御器11より保存しておいた発振前の制御パラメータを速度制御器11の制御パラメータに書き込んで変更する。本実施例は速度制御系であるが、位置制御系においても、発振検出器17が発振を検出すると発振信号をメモリ18に出力し、予め位置制御器より保存しておいた発振前の制御パラメータを位置制御器の制御パラメータに書き込んで変更する。
【0007】
次に本発明の方法で、なぜ発振が検出されるかを説明する。発振が起きるとトルク指令の振幅値は大きくなるということに着目する。まずエネルギー値をトルク指令の振幅値と振幅値のピークからピークまでの時間(下限ピークから上限ピークまでの時間)で重み付けした関数en(i)で定義する。
【数1】
ただし、En(j)はi番目のエネルギー値までの総和、ΔEn(j)はエネルギーの増分値、tは検出範囲内での総ピーク数、トルク振幅値iはi番目の下限ピークから次上限ピークまでの振幅値、 Δtiはi番目の下限ピークから次上限ピークまでの時間である。
図2(a)のように、検出範囲内で発振が起きた場合、i番目の振幅値はi−1番目に比べて大きくなるので、i番目のエネルギー値en(i)iはi―1番目のエネルギー値en(i−1)より大きくなる。i―1番目のエネルギー値までの総和En(i−1)とi番目のエネルギー値en(i)(i=1,2,…,t)を順次加算し、エネルギー値の総和En(t)で正規化(計算の便宜の為、正規化を行う)を行うと、図2(b)のように正規化後のエネルギー値の総和fn(t)の軌跡はi=0での正規化後の値0とi=tでの正規化後の値1を結ぶ直線(図2(b)の点線部分)で作られる領域内に描かれる。
図3(a)のように、検出範囲内で振幅が一定の持続振動では、図3(b)のように、正規化後のエネルギー値の総和fn(t)の軌跡がi=0での正規化後の値0とi=tでの正規化後の値1を結ぶ直線と一致する。
図4(a)のように、検出範囲内で発振が起きない場合、または、減衰的な場合では、i番目の振幅値はi−1番目に比べて大きくならないので、i番目のエネルギー値en(i)iはi−1番目のエネルギー値en(i−1)より小さくなる。i―1番目のエネルギー値までの総和En(i−1)とi番目のエネルギー値en(i)を加算し、上記と同様に正規化を行うと、図4(b)のように正規化後のエネルギー値の総和fn(t)の軌跡はi=0での正規化後の値0とi=tでの正規化後の値1を結ぶ直線(図4(b)の点線部分)で作られる領域内よりも外に描かれる。
従って、i=0での正規化後の値0とi=tでの正規化後の値1を結ぶ直線の積算値(これをエネルギー積算閾値と呼ぶ)と、正規化後のエネルギーEnの軌跡が作る線分の積算値を比較することによって、発振かどうかの判別を行うことができる。
しかし、単なる上記面積値の比較だけでは、振幅が相対的に非常に小さい場合に発振と誤認識してしまう場合もある。そこで前記判別に加え、さらに、パラメータなどで予め設定した値(これをエネルギー閾値とする)とエネルギー値Ent(検出範囲でのエネルギー総和)とを大小比較することで、発振かどうかの判別を行えばよい。また、本判別を単独で用いても、発振かどうかの判別を行うことは可能である。
以上のように、面積値の比較とエネルギー値の比較によって発振かどうかの判別を行うことが可能となる。
【0008】
次に上記で説明した発振検出方法に基づき、発振検出器17の動作を図5のフローチャートで説明する。
図5において、A1は発振検出処理の開始であり、A2は各変数の初期化を行っている。A3はトルク指令を入力としトルク指令Tr( i )のうち、指令成分を除去し、外乱成分だけ抽出するものである。ただし、iはサンプリング数である。
指令成分とは、(モータ+負荷)のイナ−シャと指令加速度から出力(計算)されるトルクと、粘性摩擦などによるトルクとをいい、外乱成分とは、指令成分以外の振動トルク(例えば機械との共振で発生する、所定の共振周波数を持ったトルク)をいう。外乱成分は、例えばトルク指令をハイパスフィルタに通す等によって抽出できる。
A5はA3でトルク指令Tr(i)の外乱成分だけを抽出した波形から上限ピーク値を検出し、前回検出した下限ピーク値から今回検出したピーク値を減算し、前記減算した値の絶対値を算出し、振幅値を求める。また、前回検出したピークから今回検出したピークまでの時間Δtを計測する。A6はピーク値の検出点Pにおけるエネルギー値en(p)とP点までのエネルギー値の総和を求める。A7はiを予め決められた検出区間のサンプリング点数sectionより大きいかどうか比較し、もし小さければ検出範囲内の処理が終わっていないのでA3に戻る。もし大きければ、A8に進む。A8はA6で計算された各ピーク点のエネルギー値までの総和を保存する。A9はA8で保存した各ピーク点におけるエネルギー値をエネルギー値の総和で除算し、正規化する。そして、正規化した各ピーク点におけるエネルギー値を積算する。A11はピーク点数kを総ピーク点数tより大きいかどうか比較し、もし小さければエネルギー値の正規化処理が終わっていないのでA9、A10の処理に戻る。もし大きければ、発振判定部A12、A13に進む。
A12はA9で正規化したエネルギー値の積算値をパラメータであるエネルギー積算閾値より大きいかどうか比較し、もしエネルギー積算閾値の方が大きければ発振状態とみなして、「発振信号1」を出力する。A13はA8で保存した各ピーク点におけるエネルギー値の加算値をパラメータであるエネルギー閾値より大きいかどうか比較し、もし各ピーク点におけるエネルギー値の加算値の方が大きければ発振状態とみなして「発振信号2」を出力する。A14はA12が「発振信号1」を出力し、かつA13が「発振信号2」出力したときだけ、検出範囲内は発振状態を検出したとして発振信号を出力する。もし発振信号が出力されたならば、発振を起こす前の制御パラメータへの変更や、機械の即時停止などの処理を行う。
【0009】
図6、図7に本発明による発振検出の結果を示す。図6、図7はトルク指令と発振信号で、共に検出範囲は100[msec]であり、位置制御は比例制御、速度制御は比例―積分制御である。図6の制御パラメータは位置ループゲインKp=40[1/s]、速度ループゲインKv=40[Hz]、速度ループ積分ゲインTi=[sec]で、図7の制御パラメータはKp=180[1/s]、Kv=180[Hz]、Ti=[sec]である。モータと機械負荷のイナーシャ比は7.62、エネルギー閾値は150[%]としている。
はじめに図6の制御パラメータでモータを駆動させ、次に図7の制御パラメータに変更してモータを駆動させた。図6ではサーボ制御系は発振しないが、図7ではサーボ制御系は発振が検出され、発振信号より発振前の図6の制御パラメータへ自動的に変更される。
前記結果より、サーボ制御系の調整で制御パラメータが変わることによって起きる発振状態を検出することができ、制御パラメータを発振しないパラメータに自動的に戻すことができた。
なお本実施の形態では、トルク指令の下限ピークから次の上限ピークまでの振幅、及びその間の時間を検出しているが、これをトルク指令の上限ピークから次の下限ピークまでの振幅、及びその間の時間を検出しても同様の効果が得られるのはもとよりである。
【0010】
【発明の効果】
以上のように本発明によれば、サーボ制御系の調整に際し、フィルタによる影響を受けず、調整者の主観をも排除でき、共通した判断基準によるサーボ制御系の発振状態の自動検出を行うことができるという効果があり、また、発振検出時には即座に安全な制御パラメータに戻すことができ、これによって機械を損傷させることなく制御パラメータの調整作業を安心して行うことができるという効果がある。
【図面の簡単な説明】
【図1】本発明のサーボ制御系のブロック図である。
【図2】本発明を説明するためのトルク指令及び正規化後のエネルギ―図である。
【図3】本発明を説明するためのトルク指令及び正規化後のエネルギ―図である。
【図4】本発明を説明するためのトルク指令及び正規化後のエネルギ―図である。
【図5】本発明の実施例を示すフローチャートである。
【図6】本発明の実施結果を示したものである。
【図7】本発明の実施結果を示したものである。
【図8】従来のサーボ制御系のブロック図である。
【符号の説明】
10…減算器
11…速度制御器
12…電流アンプ
13…モータ
14…機械負荷
15…エンコーダ
16…微分器
17…発振検出器
18…メモリ
19…トルク指令
20…エネルギー加算値の軌跡
21…エネルギー積算閾値
22…トルク指令
23…発振信号
Claims (3)
- 速度指令を入力としトルク指令を出力する速度制御器と、トルク指令を入力としてモータを駆動する電流制御器とを備えたモータ制御装置と、モータ速度またはモータに接続された機械負荷速度を検出する検出器と、モータ及び機械負荷とからなるサーボ制御系において、
検出範囲を設定し、
検出範囲内におけるトルク指令の各振動振幅値を検出し、
当該振動での下限ピークと上限ピーク間の各時間を検出し、
前記振動振幅値と前記検出した時間との関数により、各振動ごとのエネルギー値を算出し、
前記検出範囲におけるトルク指令の振動回数をNとし、
1回と2回目との振動エネルギー値の積算値を算出し、1回から3回目までの前記積算値を算出し、以下同様に算出していき、1回からN−2回目までの前記積算値を算出し、1回からN−1回目までの前記積算値を算出し、1回からN回目までの前記積算値を算出し、
前記各積算値の総和を算出し、
1回からN回目までの前記積算値にN/2を乗じた値と前記各積算値の総和とを大小比較し、
前記各積算値の総和の方が小さければ、発振検出することを特徴とするサーボ制御系の発振検出方法。 - 速度指令を入力としトルク指令を出力する速度制御器と、トルク指令を入力としてモータを駆動する電流制御器とを備えたモータ制御装置と、モータ速度またはモータに接続された機械負荷速度を検出する検出器と、モータ及び機械負荷とからなるサーボ制御系において、
検出範囲を設定し、
検出範囲内におけるトルク指令の各振動振幅値を検出し、
当該振動での下限ピークと上限ピーク間の各時間を検出し、
前記振動振幅値と前記検出した時間との関数により、各振動ごとのエネルギー値を算出し、
前記検出範囲におけるトルク指令の振動回数をNとし、
1回からN回目までの振動エネルギー値の積算値を算出し、
前記積算値を予め設定した第1の所定値と大小比較し、
前記積算値の方が大きければ、発振検出することを特徴とするサーボ制御系の発振検出方法。 - 前記サーボ制御系の発振検出方法において、
1回からN回目までの前記積算値にN/2を乗じた値と前記各積算値の総和とを大小比較した場合に、前記各積算値の総和の方が小さく、
かつ、1回からN回目までの振動エネルギー値の積算値を予め設定した第1の所定値と大小比較した場合に、前記積算値の方が大きくなれば、発振検出することを特徴とする請求項1および請求項2記載のサーボ制御系の発振検出方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002353583A JP2004187439A (ja) | 2002-12-05 | 2002-12-05 | サーボ制御系の発振検出方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002353583A JP2004187439A (ja) | 2002-12-05 | 2002-12-05 | サーボ制御系の発振検出方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004187439A true JP2004187439A (ja) | 2004-07-02 |
Family
ID=32754841
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002353583A Pending JP2004187439A (ja) | 2002-12-05 | 2002-12-05 | サーボ制御系の発振検出方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004187439A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013034375A (ja) * | 2007-02-13 | 2013-02-14 | Yaskawa Electric Corp | フィードバック制御系の振動検出装置及び振動検出装置を備えたモータ制御装置 |
EP2007005A3 (en) * | 2007-06-22 | 2017-04-05 | III Holdings 10, LLC | Motor control device and compressor |
CN111868653A (zh) * | 2018-04-12 | 2020-10-30 | 欧姆龙株式会社 | 状态变化检测装置以及状态变化检测方法 |
-
2002
- 2002-12-05 JP JP2002353583A patent/JP2004187439A/ja active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013034375A (ja) * | 2007-02-13 | 2013-02-14 | Yaskawa Electric Corp | フィードバック制御系の振動検出装置及び振動検出装置を備えたモータ制御装置 |
EP2007005A3 (en) * | 2007-06-22 | 2017-04-05 | III Holdings 10, LLC | Motor control device and compressor |
CN111868653A (zh) * | 2018-04-12 | 2020-10-30 | 欧姆龙株式会社 | 状态变化检测装置以及状态变化检测方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2004049550A1 (ja) | モータの速度制御装置 | |
JP4367058B2 (ja) | モータ制御装置 | |
US7292001B2 (en) | Gain adjusting method for servo control device | |
US6902386B2 (en) | Electric injection molding machine | |
JP2002304219A (ja) | モータ制御装置およびメカ特性測定方法 | |
JP2004187439A (ja) | サーボ制御系の発振検出方法 | |
JP3526022B2 (ja) | サーボ制御系の発振臨界検出方法 | |
WO2005064781A1 (ja) | モータの制御装置 | |
JP2008259271A (ja) | サーボ制御装置と定数自動調整方法 | |
JP2011113111A (ja) | Pid制御装置及びpid制御方法 | |
JP7269120B2 (ja) | モータ制御装置 | |
JP5516682B2 (ja) | フィードバック制御系の振動検出装置及び振動検出装置を備えたモータ制御装置 | |
JP4285057B2 (ja) | サーボ制御装置 | |
JPH06131050A (ja) | サーボモータで駆動される可動部の衝突検出方法 | |
JPH0670567A (ja) | 電動機の制御ゲイン自動設定方法及びバックラッシュ検出方法 | |
US10599136B2 (en) | Motor controller and method for controlling motor | |
JP3391380B2 (ja) | 制御定数調整装置 | |
JP4390049B2 (ja) | サーボ制御装置およびその限界ゲイン抽出方法 | |
JP2007020267A (ja) | システム同定装置 | |
JPH08116688A (ja) | サーボモータの発振検出方法及びサーボモータの速度ゲイン調整方法 | |
JP3337058B2 (ja) | 位置制御装置 | |
JP3259352B2 (ja) | 電動機の速度補正演算方法 | |
JP2001159901A (ja) | 発振検出方法 | |
JP2005080333A (ja) | 負荷イナーシャ算出方法 | |
JP2005204472A5 (ja) |