(57)【特許請求の範囲】
【請求項１】
負荷を連結したモータを制御対象とする制御装置の振動検出装置であって、
前記制御装置は、前記制御対象をフィードバック制御して前記モータを制御する制御器を備え、
前記振動検出装置は、
前記制御装置の出力信号の上限ピーク値の検出時刻における上限ピーク値からその直前の下限ピーク値を差し引いた値である上下限ピーク値を、対応する上下限ピーク間の時間間隔で割って得た値に基づいて、振動の発生を判断する振動状態判断部、を備えたことを特徴とする振動検出装置。
【請求項２】
前記振動状態判断部は、
前記上下限ピーク値を、対応する上下限ピーク間の時間間隔で割って得た振動強度値と、
前記振動強度値を移動平均して算出した振動移動平均強度値と、
前記振動移動平均強度値が予め設定された振動強度最小値を超えた時間幅である振動持続時間と、
前記振動強度値、前記振動移動平均強度値及び前記振動持続時間のそれぞれに対応する予め設定された閾値との比較と、
に基づいて前記制御装置の出力信号の振動の発生を判断することを特徴とする請求項１に記載の振動検出装置。
【請求項３】
請求項１または２に記載の振動検出装置を備え、前記モータを駆動することを特徴とするモータ制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、負荷機械をフィードバック制御するモータ制御装置における振動を検出する振動検出装置及び振動検出装置を備えたモータ制御装置に関する。
【背景技術】
【０００２】
通常、フィードバック制御するモータ制御装置では、負荷位置または速度を高速高精度に目標指令に追従させるため、位置または速度制御部の調整は、徐々に該当する制御ゲインを上げ、その振動状態を監視しながら行われる。この調整の際、制御ゲインの過大設定では、機械系の共振および無駄時間などにより制御系が発振し、音が発生したり、場合によっては機械を破壊したりすることがある。そこで、安全に調整を行なうため、発振前に制御系の振動状態を早く検出することが必要になるのである。
【０００３】
第１の従来技術では、速度オブザーバを構成し、実際の速度と推定速度との差信号に基づいて発振・振動状態を検出している（例えば、特許文献１参照）。
【０００４】
第２の従来技術では、検出範囲内におけるトルク指令の各振動振幅値と当該振動での下限ピークと上限ピーク間の各時間を検出し、前記検出値から各振動ごとのエネルギー値を算出し、前記検出範囲におけるトルク指令の振動回数をＮとし、１回目から各回数までの振動エネルギー値の各積算値を算出し、前記各積算値の総和を算出し、これを１回からＮ回目までの前記積算値にＮ／２を乗じた値と大小比較し、前記各積算値の総和の方が小さければ、発振として検出している（例えば、特許文献２参照）。
【０００５】
図６は、第１の従来技術の実施例を示す制御ブロック図である。図において、１０１は速度制御、１０２はモータ及び負荷、１１１はオブザーバのモータ及び負荷イナーシャ分、１１２はオブザーバの速度制御のゲイン、１１４は積分、１１３はオブザーバの速度制御の積分、１０３はオブザーバの全体である。オブザーバの推定速度ωｏｂと実際の速度ωとの差がある検出レベルを越えたことを観測すると、発振・振動を検出するものである。
【０００６】
図７は、第２の従来技術の実施例を示す制御ブロック図である。図において、２０１は速度制御器、２０２は電流制御器、２０３はモータ、２０４は機械負荷、２０５はエンコーダ、２０６は微分器、２０７は発振検出器、２０８はメモリ、２０９は減算器であり、発振が起きるとトルク指令の振幅値は大きくなるということに着目して、振動エネルギー値をトルク指令Ｔｒｅｆの振幅値と振幅値のピークからピークまでの時間（下限ピークから上限ピークまでの時間）で重み付けした関数ｅｎ（ｉ）で定義して発振を検出するものである。また、発振検出器２０７はトルク指令Ｔｒｅｆを入力して発振検出を行ない、発振を検出すると発振信号をメモリ２０８に出力し、メモリ２０８は発振信号を入力して予め速度制御器２０１より保存しておいた発振前の制御パラメータを速度制御器２０１の制御パラメータに書き込んで変更するものである。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００４−２４８３８６号公報（第２−３頁、図３）
【特許文献２】特開２００４−１８７４３９号公報（第３−５頁、図１）
【発明の概要】
【発明が解決しようとする課題】
【０００８】
第１の従来技術では、制御対象のモデルを用いたオブザーバの推定速度ωｏｂと実際速度ωとの差に基づいて振動検出を行なうので、制御対象のパラメータ、特にモータまたは負荷の慣性モーメントの値がずれると、振動が発生しなくても過渡過程におけるオブザーバの推定速度ωｏｂと実際速度ωとの差が大きくなるため発振・振動の検出を正しくできない問題があった。ここで、慣性モーメントの値がずれるということは、同定誤差や負荷変動がある場合に生じるもので、モータを制御するモータ制御装置において、殆どの場合に存在するものである。
【０００９】
第２の従来技術では、一定な検出時間範囲内における振動エネルギーの平均値を判断時点の振動エネルギーより小さいかどうかに基づいて発振状態の判断を行なう方法なので、完全に発振しないと検出できないという問題点があった。
【００１０】
本発明はこのような問題点に鑑みてなされたものであり、モータまたは負荷の慣性モーメントの値がずれても振動状態を精度良く検出し、素早く異常を察知して騒音や機械系の損傷等を防止することができ、さらにはノイズが重畳している信号や発振状態にある信号に対しても正確に振動ピークを検出することができるフィードバック制御系の振動検出装置及び振動検出装置を備えたモータ制御装置を提供することを目的とする。
【課題を解決するための手段】
【００１１】
上記問題を解決するため、本発明は、次のように構成したのである。
【００１２】
本発明は、負荷を連結したモータを制御対象とする制御装置の振動検出装置であって、前記制御装置は、前記制御対象をフィードバック制御して前記モータを制御する制御器を備え、前記振動検出装置は、 前記制御装置の出力信号の上限ピーク値の検出時刻における上限ピーク値からその直前の下限ピーク値を差し引いた値である上下限ピーク値とそれらの発生時刻に基づいて、振動の発生を判断する振動状態判断部、を備えたものである。
【００１３】
また、本発明は、前記振動状態判断部が、前記出力信号の上限ピーク値の検出時刻から前記出力信号の下限ピーク値の検出時刻を差し引いた上下限ピークの発生時間に基づいて、振動の発生を判断するものである。
【００１４】
また、本発明は、振動状態判断部が、前記上下限ピーク値とそれらの発生時刻に基づいて算出した振動強度値と、前記振動強度値を移動平均して算出した振動移動平均強度値と、前記振動移動平均強度値が予め設定された振動強度最小値を超えた時間幅である振動持続時間と、前記振動強度値、前記振動移動平均強度値及び前記振動持続時間のそれぞれに対応する予め設定された閾値との比較と、に基づいて前記制御装置の出力信号の振動の発生を判断するものである。
【００１５】
また、本発明は、負荷を連結したモータを制御対象とする制御装置の振動検出装置であって、前記制御装置は、前記制御対象をフィードバック制御して前記モータを制御する制御器を備え、前記振動検出装置は、前記制御装置の出力信号のピーク検出区間を、横軸を時間軸とした左側区間、右側区間とその両方の区間に含まれる中心点とにより定義し、前記中心点での前記出力信号の値が、前記左側区間及び前記右側区間における前記出力信号の値より大きいときに、前記中心点を上限ピークと判断し、振動の発生を判断するものである。
【００１６】
また、本発明は、負荷を連結したモータを制御対象とする制御装置の振動検出装置であって、前記制御装置は、前記制御対象をフィードバック制御して前記モータを制御する制御器を備え、前記振動検出装置は、前記制御装置の出力信号のピーク検出区間を、横軸を時間軸とした左側区間、右側区間とその両方の区間に含まれる中心点とにより定義し、前記中心点での前記出力信号の値が、前記左側区間及び前記右側区間における前記出力信号の値より小さいときに、前記中心点を下限ピークと判断し、振動の発生を判断するものである。
【００１７】
また、本発明は、負荷を連結したモータを制御対象とする制御装置の振動検出装置であって、前記制御装置は、前記制御対象をフィードバック制御して前記モータを制御する制御器を備え、前記振動検出装置は、前記制御装置の出力信号のピーク検出区間を、横軸を時間軸とした左側区間、右側区間とその両方の区間に含まれる中心点とにより定義し、さらに、前記中心点での出力信号値Ｃ、前記左側区間の最大値MaxL、最小値MinL、前記右側区間の最大値MaxR、最小値MinR、 前記最大値MaxLと前記最小値MinLの差ΔＬ、前記最大値MaxRと前記最小値MinRの差ΔＲを定義し、前記ΔＬ、前記ΔＲとも閾値より大きく、前記最大値MaxL、MaxR及び前記出力信号値Ｃが等しければ、前記中心点を上限ピークと判断し、前記最大値MaxL、MaxRのいずれか一方が、前記出力信号値Ｃより大きく、前記最小値MinL、MinR及び前記出力信号値Ｃが等しければ、前記中心点を下限ピークと判断し、前記出力信号値Ｃが前記最小値MinL、MinRのいずれにも等しくなければ、ピーク検出区間には上限ピーク及び下限ピークがないと判断し、振動の発生を判断するものである。
【００１８】
また、本発明は、前記制御装置の出力信号のピーク検出区間を予めＮ個からなる要素の集合とし、前記集合の１つの要素であるピーク検出区間でピーク検出を実施し、前記中心点での前記出力信号の値が、上限ピークあるいは下限ピークと判断されるまで、前記Ｎ個のピーク検出区間を順次繰り返して判断し、振動の発生を判断するものである。
【発明の効果】
【００１９】
本発明によると、制御対象のモデルがない場合でも、モータまたは負荷の慣性モーメントの値がずれても振動状態を精度良く検出することができる。また、機械共振による振動が大きい減衰振動および不安定振動を速やかに検出でき、更に音がする振動および制御系の遅れによる不安定振動を速やかに検出できる。また更に、ピーク間の時間間隔を用いて振動周波数を検出することができる。
また、本発明によると、完全発振に至らないうちに素早く異常を察知して騒音や機械系の損傷等を防止することができる。
【００２０】
また、本発明によると、出力信号にノイズが重畳しても、出力信号に広範囲の周波数成分を含む振動成分が存在しても、正確なピーク検出ができる。
【００２１】
また、本発明によると、振動検出装置による発振や振動等の発生判断に基づいて、正確に異常停止することができる。
【図面の簡単な説明】
【００２２】
【図１】本発明の実施例１におけるフィードバック系の振動検出装置の構成を示すブロック線図
【図２】実施例１における出力信号と推定出力信号との差信号を示す波形図
【図３】実施例１におけるステップ１０２で算出したＶｐｐ信号を示す図
【図４】実施例１におけるステップ１０３で算出したＰ信号を示す図
【図５】実施例１における振動状態を判断する処理手順を示すフローチャート
【図６】第１の従来技術の実施例を示す制御ブロック図
【図７】第２の従来技術の実施例を示す制御ブロック図
【図８】出力振動成分信号１５の振幅ピークをサーチする方法を説明する図
【図９】出力振動成分信号１５の振幅ピークをサーチする処理手順を示すフローチャート
【図１０】本発明の実施例２におけるフィードバック系の振動検出装置の構成を示すブロック線図
【図１１】振動状態時の出力信号４を示す波形図
【図１２】実施例２における振動状態を判断する処理手順を示すフローチャート
【図１３】出力信号４の振幅ピークＶｐとピーク値が出る時間ｔｐとを示した図
【図１４】実施例２におけるステップ２０２で算出したＶｐｐを示す図
【図１５】実施例２におけるステップ２０３で算出したＡｐｐを示す図
【図１６】ステップ２０５で算出したＡｖを示す図
【図１７】ステップ２０７で算出したＴｖを示す図
【図１８】本発明の実施例３におけるフィードバック系の振動検出装置の構成を示すブロック線図
【図１９】実施例３における出力信号４を示す波形図
【図２０】実施例３におけるピーク検出する処理手順を示すフローチャート
【図２１】ステップ４０３で実施するピーク検出処理を示すフローチャート
【図２２】ステップ５０３で実施するピーク判断処理を示すフローチャート
【発明を実施するための最良の形態】
【００２３】
以下、本発明の実施の形態について図を参照して説明する。
【実施例１】
【００２４】
図１は、本発明の実施例１におけるフィードバック系の振動検出装置の構成を示すブロック線図である。図において、１は指令信号、１２はフィードバック制御装置であって、制御器２と制御対象３を備え、４は出力信号、５は出力フィードバック信号、１３はフィードバック制御装置のモデル部であって、制御器２のモデル部６と制御対象３のモデル部７を備え、８は推定出力信号、９は推定出力フィードバック信号、１０は出力信号４と推定出力信号８との差信号、１４はローパスフィルタ、１５は出力の振動成分信号、１１は振動状態判断部である。すなわち、振動検出は、フィードバック制御装置１２の出力信号４とフィードバック制御装置のモデル部１３の推定出力信号８との差信号に基づいて行なう。
【００２５】
ここで、このフィードバック系の振動検出装置のモータ制御装置への適用の際は、フィードバック制御装置１２が位置制御系の場合、指令信号１は位置指令、制御器２は位置制御または速度制御器、出力信号４は位置検出信号、推定出力信号８は位置推定信号であり、フィードバック制御装置１２が速度制御系の場合、指令信号１は速度指令、制御器２は速度制御器、出力信号４は速度検出信号あるいは位置差分信号、推定出力信号８は速度推定信号である。
【００２６】
図２は、図１における出力信号４と推定出力信号８との差信号を示す波形図である。図において、横軸は時間軸、縦軸は信号振幅、１０は出力信号４と推定出力信号８との差信号である。本波形図は、図１におけるフィードバック系の振動検出装置のモータ制御装置への適用の場合、制御ゲインの調整の際、制御器２のゲインを高く上げてモータが負荷を駆動する際にフィードバック制御装置１２が振動し、差信号１０にその振動状態が表れたものである。
【００２７】
一般的に、フィードバック制御系が振動的な状態になるまで制御ゲインを上げた場合、指令信号１の低中周波数領域においては、出力信号４が指令信号１にほぼ追従するため、制御対象のモデル部７の誤差（例えば、モータまたは負荷の慣性モーメントの値のずれ）がある程度存在しても、この同じ指令信号１に追従する出力信号４と推定出力信号８とは、低中周波数領域における成分がほぼ同じになる。従って、差信号１０は、殆ど高周波の振動成分しか含まない。また、この差信号１０をローパスフィルタ１４に通し、振動成分より高周波のノイズ成分をカットしてから振動状態判断部１１に入力する。ここで、ローパスフィルタ１４の時定数は、このフィルタのカットオフ周波数が振動周波数より高くなるように設定する。
【００２８】
このように、制御対象のモデル誤差（例えば、モータまたは負荷の慣性モーメントの値のずれ）の影響を受けないためには、ある程度制御ゲインを上げた状態で、本発明の振動検出装置を用いる必要がある。なお、モータ制御装置において、制御応答の追従性の向上等から、制御ゲインを上げた状態で用いるのが一般的である。
【００２９】
次に、図１における振動状態判断部１１での振動状態を判断する処理手順を図５のフローチャートを用いて説明する。ただし、以下の説明は、振動状態判断部１１が一定のサンプリング周期で働くことを前提とする。
【００３０】
（ステップ１０１）
出力振動成分信号１５の振幅ピークをサーチし、ステップ１０２に進む。
ここで、出力振動成分信号１５の振幅ピークをサーチするとは、例えば、振動状態判断部１１が、サンプリング周期毎にその出力信号の振幅を監視しておき、数サンプリング周期分の出力信号の振幅値から上限ピーク値または下限ピーク値を判断して検出することである。なお、具体的なサーチ方法の説明は、図９に示したフローチャートを用いて後述する。
【００３１】
（ステップ１０２）
上限ピークが検出された時刻において、その上限ピーク値から直前の下限ピーク値を差し引いた値をＶｐｐの値とし、また、上限ピークが検出されない時刻においてはＶｐｐの値を０とし、ステップ１０３に進む。ただし、ノイズを除去するため、Ｖｐｐの絶対値が０でなくても、ある一定の小さい値(一般的に出力信号４の検出分解能とする)より小さければＶｐｐの値を０とする。
【００３２】
図３は、図２における差信号１０に基づいて、ステップ１０２で算出した上限ピークと下限ピークとの差信号Ｖｐｐ２０を示す図である。一般的に振動周期が過渡時間より遥かに短いので、上限ピークと下限ピークとの差を取ることによって、更に過渡成分を除去し、振動成分を抽出することができるのである。
【００３３】
（ステップ１０３）
一定時間Ｔｎの間、差信号Ｖｐｐ２０の２乗の移動平均値Ｐを計算し、ステップ１０４に進む。ただし、Ｔｎは振動周期の数倍、指令信号１の周期より小さい値で与える。
【００３４】
図４は、図３における差信号Ｖｐｐ２０に基づいて、ステップ１０３で算出したＰ信号３０を示す図である。Ｐ信号３０は振動の密度を表し、騒音および機械破壊のレベルに密接している。
【００３５】
（ステップ１０４）
Ｐ信号３０を予め与えられた閾値Ｐｍより小さいかどうか比較し、もし小さければ、ステップ１０５に進む。もし大きければ、ステップ１０７に進む。
【００３６】
また、閾値Ｐｍの値は、騒音と機械を壊さないことを考慮し実験あるいはシミュレーション等によって決める。
【００３７】
（ステップ１０５）
ステップ１０３で作成したＰ信号３０に基づいて、次のように振動持続時間Ｔｖをカウンタする。Ｐ信号３０がある一定の小さい値Ｐ０(予め与えられた振動最小値)より大きくなると振動持続時間Ｔｖをカウンタし始め、小さくなると振動持続時間Ｔｖを０にリセットする。また、Ｐ０はノイズの影響を考慮し実験あるいはシミュレーション等によって決める。
【００３８】
（ステップ１０６）
振動持続時間Ｔｖを予め与えられた閾値Ｔｖｍより小さいかどうか比較し、もし小さければ、ステップ１０１に戻る。もし大きければ、ステップ１０７に進む。
【００３９】
一般的に、外部刺激がなくなってから、振動持続時間Ｔｖが長くなるほど完全発振に近づいていると言える。閾値Ｔｖｍは、制御ゲインの上げ幅および安全性を考慮して決める。制御ゲインの上げ幅が大きく、しかも絶対に完全発振してはいけない場合に、Ｔｖｍを小さく設定すべきである。
【００４０】
（ステップ１０７）
振動と判定し、制御系を安定させる行動へ進む。すなわち、例えば、制振制御等のアルゴリズムにより制御系を安定させるのである。
【００４１】
このように、フィードバック制御装置の出力信号４とフィードバック制御装置のモデル部７の推定出力信号８との差信号１０に基づいて、その振幅ピークをサーチし、上限ピークと下限ピークとの差信号Ｖｐｐ２０を計算することで、制御対象のモデル誤差（例えば、モータまたは負荷の慣性モーメントの値のずれ）および過渡特性の影響を受けず、正確に振動成分を抽出することができる。また、上限ピークと下限ピークとの差信号Ｖｐｐ２０から振動の密度を表す量（Ｐ信号３０）を計算して振動持続時間Ｔｖを検出し、それらの情報に基づいて振動状態を判断することによって、完全発振に至らないうちに振動状態を判断できるので、素早く異常を察知して騒音や機械系の損傷等を防止することができる。
【００４２】
図８は、出力振動成分信号１５の振幅ピークをサーチする方法を説明する図である。図において、横軸は時間軸、縦軸は信号振幅、１５は出力振動成分信号である。図９は、出力振動成分信号１５の振幅ピークをサーチする処理手順を示すフローチャートである。以下、出力振動成分信号１５の振幅ピークをサーチする方法について図９に示したフローチャートを用いて説明する。
【００４３】
（ステップ３０１）
先ず、出力振動成分信号１５のデータをサンプリングする際の区間を設定する回数値をｒ（ｒ＝０，１，２，３，・・・）とし、ｒ＝０を初期値設定して、ステップ３０２に進む。
【００４４】
（ステップ３０２）
回数値ｒに基づいて２ｐ＋１データ点数Ａ＝［ｘ１+ｒ，ｘ２+ｒ，・・・，ｘ２ｐ+１+ｒ］の区間を設定して、ステップ３０３に進む。
ここで、ｐは予め設定した正の整数（ｐ＝１，２，３，４，・・・）であり、ｐが大きくなるほどピークが正しく検出される振動成分の周波数が小さくなる。
【００４５】
（ステップ３０３）
ステップ３０２において設定した区間Ａ＝［ｘ１+ｒ，ｘ２+ｒ，・・・，ｘ２ｐ+１+ｒ］における出力振動成分信号１５の最大値と最小値を計算して、ステップ３０４に進む。
【００４６】
（ステップ３０４）
ステップ３０２において設定した区間の中点ｘｐ+１+ｒの信号振幅が上限ピーク値かどうかチェックする。中点ｘｐ+１+ｒの信号振幅とステップ３０３において計算した最大値とを比較し、中点ｘｐ+１+ｒの信号振幅が区間の最大値である場合は、ステップ３０５に進む。一方、中点ｘｐ+１+ｒの信号振幅が区間の最大値でない場合、ステップ３０６に進む。
【００４７】
（ステップ３０５）
ステップ３０２において設定した区間値ｘｐ+１+ｒ（中点）の信号振幅を上限ピーク値とし、ステップ３０７に進む。
【００４８】
（ステップ３０６）
ステップ３０２において設定した区間の中点ｘｐ+１+ｒの信号振幅が下限ピーク値かどうかチェックする。中点ｘｐ+１+ｒの信号振幅とステップ３０３において計算した最小値とを比較し、中点ｘｐ+１+ｒの信号振幅が区間の最小値である場合は、ステップ３０８に進む。一方、中点ｘｐ+１+ｒの信号振幅が区間の最小値でない場合、ステップ３１０に進む。
【００４９】
（ステップ３０７）
上限ピーク出る時間（ステップ３０２において設定した区間の中点ｘｐ+１+ｒの時間）をメモリに保存し、ステップ３１０に進む。
【００５０】
（ステップ３０８）
ステップ３０２において設定した区間値ｘｐ+１+ｒ（中点）の信号振幅を下限ピーク値とし、ステップ３０９に進む。
【００５１】
（ステップ３０９）
下限ピーク出る時間（ステップ３０２において設定した区間の中点ｘｐ+１+ｒの時間）をメモリに保存し、ステップ３１０に進む。
【００５２】
（ステップ３１０）
値ｒに１を足して新たなｒとして更新（ｒ=ｒ+１）し、ステップ３０２に進む。
【００５３】
以上のように、出力振動成分信号１５の上下限ピーク値が検出されるまで、ステップ３０２〜ステップ３１０を繰り返す。
【実施例２】
【００５４】
図１０は、本発明の実施例２におけるフィードバック系の振動検出装置の構成を示すブロック線図である。図において、図１と同一の作用を持つ構成は同一符号を付している。
実施例２が、実施例１におけるフィードバック系の振動検出装置の構成と異なる点は、図１におけるフィードバック制御装置のモデル部１３とローパスフィルタ１４の構成を持たず、振動検出は、フィードバック制御装置１２の出力信号４とフィードバック制御装置のモデル部１３の推定出力信号８との差信号に基づいて行なわない点である。
すなわち、実施例２では、フィードバック制御装置のモデル部１３がない場合でも、フィードバック制御装置１２の出力信号４に基づいて振動検出を行なうことができる、新たな振動状態判断部５１をその構成に備えたものである。
【００５５】
ここで、このフィードバック系の振動検出装置のモータ制御装置への適用の際は、フィードバック制御装置１２が位置制御系の場合、指令信号１は位置指令、制御器２は位置制御または速度制御器、出力信号４は位置検出信号であり、フィードバック制御装置１２が速度制御系の場合、指令信号１は速度指令、制御器２は速度制御器、出力信号４は速度検出信号あるいは位置差分信号である。
【００５６】
図１１は、図１０における出力信号４を示す波形図である。図において、横軸は時間軸、縦軸は信号振幅、４は出力信号である。本波形図は、図１０におけるフィードバック系の振動検出装置のモータ制御装置への適用の場合、制御ゲインの調整の際、制御器２のゲインを高く上げて、モータが負荷を駆動する際にフィードバック制御装置１２が振動し、出力信号４にその振動状態が表れたものである。
【００５７】
次に、図１０における振動状態判断部５１での振動状態を判断する処理手順を図１２のフローチャートを用いて説明する。ただし、以下の説明は、振動状態判断部５１が一定のサンプリング周期で働くことを前提とする。
【００５８】
（ステップ２０１）
出力信号４の振幅ピークＶｐをサーチしてピーク値が出る時間ｔｐをメモリ（図示しない）等に格納し、ステップ１０２に進む。
ここで、出力信号４の振幅ピークＶｐをサーチするとは、例えば、振動状態判断部５１が、サンプリング周期毎に出力信号４の振幅を監視しておき、数サンプリング周期分の出力信号４の振幅値から上限ピーク値または下限ピーク値を判断して検出することである。
また、ピーク値が出る時間ｔｐとは、前述のサーチによる上限ピーク値または下限ピーク値が検出された時刻である。
【００５９】
図１３は、図１１における出力信号４に基づいて、ステップ２０１で算出した出力信号４のピーク（Ｖｐ）（上下限ピーク含める）を示す図である。図において、ｔ１、ｔ２、ｔｐはピークが出る時間を示す。
【００６０】
（ステップ２０２）
上限ピークが検出された時刻において、その上限ピーク値から直前の下限ピーク値を差し引いた値をＶｐｐの値とし、同時に上限ピークに対応する時刻から下限ピークに対応する時刻の差Ｔｐｐを計算する。上限ピークが検出されない時刻においてはＶｐｐの値を０とし、ステップ２０３に進む。ただし、ノイズを除去するため、Ｖｐｐの絶対値が０でなくても、ある一定の小さい値(一般的に出力信号４の検出分解能とする)より小さければＶｐｐの値を０とする。
図１４は、図１１における出力信号４に基づいて、ステップ２０２で算出した上限ピークから下限ピークの差信号Ｖｐｐを示す図である。一般的に振動周期が過渡時間より遥かに短いので、上限ピークと下限ピークとの差を取ることによって、更に過渡成分を除去し、振動成分を抽出することができるのである。
【００６１】
（ステップ２０３）
ゼロではない、ステップ２０２で算出した上限ピークから下限ピークの差信号Ｖｐｐ値を、対応する上下限ピーク間の時間間隔Ｔｐｐで割って得た値を振動強度Ａｐｐとして計算し、ステップ１０４に進む。
ここで定義した振動強度Ａｐｐは、出力信号４の振動状態の波形（図１１）に基づいた上限ピークから下限ピークの差信号Ｖｐｐ値（図１４）の単位時間当たりの振幅値を、その振動の強度として表すものである。
図１５は、図１４における差信号Ｖｐｐに基づいて、ステップ２０３で算出した振動強度信号Ａｐｐを示す図である。
【００６２】
（ステップ２０４）
ステップ２０３で得られた振動強度信号Ａｐｐを予め与えられた閾値Ａｐｐｍと比較し、振動強度信号Ａｐｐが閾値Ａｐｐｍより小さい場合、ステップ２０５に進む。逆に大きい場合、ステップ２０９に進む。
ここで、予め与えられた閾値Ａｐｐｍは、例えば、図１０におけるフィードバック系の振動検出装置のモータ制御装置への適用の場合、モータ制御装置が駆動する負荷機械等が破損しないまたは騒音が大きくない値、あるいは位置決め時に許容される位置決め精度内の値などに決定すればよい。
【００６３】
（ステップ２０５）
振動強度信号Ａｐｐの移動平均値Ａｖを計算し、ステップ２０６に進む。信号の移動平均に要する一定時間Ｔaの値は、検出すべき振動の最大周期の数倍とする。
ここで、振動強度信号Ａｐｐの移動平均値Ａｖは、騒音および機械破壊のレベルを示すものであり、高周波成分強調するものである。
図１６は、図１５における振動強度信号Ａｐｐに基づいて、ステップ２０５で算出した振動移動平均強度信号Ａｖを示す図である。
【００６４】
（ステップ２０６）
ステップ２０５で得られた振動移動平均強度信号Ａｖを予め与えられた閾値Ａｖｍと比較し、振動移動平均強度信号Ａｖが閾値Ａｖｍより小さい場合、ステップ１０７に進む。逆に大きい場合、ステップ２０９に進む。
ここで、予め与えられた閾値Ａｖｍは、例えば、図１０におけるフィードバック系の振動検出装置のモータ制御装置への適用の場合、モータ制御装置が駆動する負荷機械等が破損しないまたは騒音が大きくない値、あるいは位置決め時に許容される位置決め精度内の値などに決定すればよい。
【００６５】
（ステップ２０７）
ステップ２０５で得られた振動移動平均強度信号Ａｖに基づいて、次のように振動持続時間Ｔｖをカウンタする。振動移動平均強度信号Ａｖが一定の小さい値Ｐ０(予め与えられた振動最小値)より大きくなると振動持続時間Ｔｖをカウンタし始め、小さくなると振動持続時間Ｔｖを０にリセットする。また、Ｐ０はノイズの影響を考慮し実験あるいはシミュレーション等によって決める。ここで、振動持続時間Ｔｖは、振動移動平均強度信号Ａｖが連続的に０でない時間である。
図１７は、図１６における振動移動平均強度信号Ａｖに基づいて、ステップ２０７で算出した振動持続時間Ｔｖを示す図である。
【００６６】
（ステップ２０８）
振動持続時間Ｔｖを予め与えられた閾値Ｔｖｍと比較し、振動持続時間Ｔｖが閾値Ｔｖｍより小さい場合、ステップ２０１に進む。逆に大きい場合、ステップ２０９に進む。
一般的に、外部刺激がなくなってから、振動持続時間Ｔｖが長くなるほど完全発振に近づいていると言えるため、予め与えられた閾値Ｔｖｍは、制御ゲインの上げ幅および安全性を考慮して決め、制御ゲインの上げ幅が大きく、しかも絶対に完全発振してはいけない場合に、予め与えられた閾値Ｔｖｍを小さく設定すべきである。
【００６７】
（ステップ２０９）
振動と判定し、制御系を安定させる行動へ進む。すなわち、例えば、制振制御等のアルゴリズムにより制御系を安定させるのである。
【００６８】
このように、ステップ２０１ないし２０８の処理手順を実行する振動状態判断部５１を備えたので、フィードバック制御装置のモデル部１３がない場合でも、フィードバック制御装置１２の出力信号４に基づいて振動検出を行なうことができるのである。また、実施例１と同様、完全発振に至らないうちに振動状態を判断できるので、素早く異常を察知して騒音や機械系の損傷等を防止することができる。
【実施例３】
【００６９】
図１８は、本発明の実施例３におけるフィードバック系の振動検出装置の構成を示すブロック線図である。図において、図１０と同一の作用を持つ構成は同一符号を付している。
実施例３が、実施例２におけるフィードバック系の振動検出装置の構成と異なる点は、図１０における振動状態判断部５１を新たな振動状態判断部５２に置き換えた点である。
なお、振動状態判断部５２は、振動状態判断部５１におけるフィードバック制御装置１２の出力信号４のピーク検出処理を以下に示す処理に置き換えたものである。
【００７０】
図１９は、図１８における出力信号４を示す波形図である。図において、横軸は時間軸、縦軸は信号振幅、４は出力信号である。４０は１回のピーク検出処理でピーク検出を行なう区間、４１はピーク検出を行なう全体区間で区間４０のＮ回分の区間となっている。
【００７１】
図２０は、フィードバック系の振動検出装置において、ピーク検出する処理手順を示すフローチャートである。この図を用いて本発明の方法を順を追って説明する。
【００７２】
ピーク検出全体区間４１で行われる出力信号４の上側及び下側のピーク値の検出方法について説明する。
【００７３】
（ステップ４０１）
先ず、出力信号４のピーク検出するピーク検出全体区間４１を設定するために、i=1 に初期値設定して、ステップ４０２に進む。
【００７４】
（ステップ４０２）
設定されたピーク検出全体区間４１でデータサンプリングを行なう。サンプリングしたデータはX=[x(i-2p(N)), x(i-2p(N)+１), …, x(i)]に格納して、ステップ４０３に進む。
ここで、集合Ｐ（Ｐ=[p(1), p(2), … , p(N)]）はピーク検出する際の区間を設定するため予め設定した集合であり、集合Ｐの各要素は正の整数である。また、p (1) <p(2)<・・・<p(N)、Nは集合Ｐの要素の数である。
【００７５】
正確にピーク検出できる振動成分の周波数ｆＭは、検出区間のデータ点数ＲＭ、データサンプリング周期Ｔsとの間に（１）式の関係がある。さらに、正確にピーク検出するために必要とするデータ点数は、振動周波数により異なり、振動周波数ｆＭ、ｆｍの必要なデータ点数をそれぞれＲＭ、Ｒｍとし、ｆＭ＞ｆｍとすれば、ＲＭとＲｍは（２）式の関係にあるので、出力信号４に含まれる周波数成分により、振動検出区間でのサンプリングデータ点数を決定すると効果的である。
【００７６】
【数１】
0005516682.tif 000002
【００７７】
（ステップ４０３）
ステップ４０２でサンプリングしたデータを用いて、ピーク検出全体区間４１でのピーク検出処理を実施し、ステップ４０４に進む。
なお、ピーク検出全体区間４１でのピーク検出処理は、図２１に示したフローチャートを用いて後述する。
【００７８】
（ステップ４０４）
ピーク検出全体区間４１を更新（i=i+１）して、ステップ４０２に進む。
【００７９】
以上のように、ステップ４０２〜ステップ４０４を繰り返し、出力信号４の上側及び下側のピーク値を検出する。
【００８０】
次に、ステップ４０３で実施するピーク検出全体区間４１でのピーク検出処理を、図２１に示したフローチャートを用いて説明する。
【００８１】
（ステップ５０１）
ステップ５０１において、ピーク検出区間４０を第１区間に設定するために、ｊ=1に初期化してステップ５０２に進む。
【００８２】
（ステップ５０２）
値iとjに基づいて、ステップ４０２で格納しておいたデータＸを、L=[ x(i-p(N)−p(j)), x(i-p(N)−p(j)+1), …, x(i-p(N))] の左区間とR＝[x(i-p(N)), x(i-p(N)+1), …, x(i-p(N)+p(j))]の右区間に区分し、ステップ５０３に進む。
なお、ピーク検出全体区間４１の中心点x(i-p(N))は、左区間Ｌ、右区間Ｒの両方に含むように区分される。
【００８３】
（ステップ５０３）
ステップ５０２において区分された左右区間の共通の要素である、ピーク検出区間４０の中心点ｘ(i-p(N))がピークかどうかの判断処理を実施し、ステップ５０４に進む。
なお、ここで実施されるピーク判断処理は、図２２に示したフローチャートを用いて後述する。
【００８４】
（ステップ５０４）
中心点x(i-p(N))がピークとあると判断された場合は、ステップ５０７に進み、ピークと判断されなければ、ステップ５０５に進む。
【００８５】
（ステップ５０５）
ピーク検出処理が、ピーク検出全体区間４１にわたって実施されたかを値ｊとＮを比較して判断し、Ｎ回分実施されていれば、ステップ５０７に進み、そうでなければ、ステップ５０６に進む。
【００８６】
（ステップ５０６）
値ｊを更新（ｊ=ｊ+１）して、ステップ５０２に進む。
【００８７】
（ステップ５０７）
ピーク検出処理は終了する。
以上のように、ステップ５０１〜ステップ５０６を繰り返して出力信号４のピーク検出をピーク検出全体区間４１にわたって実施する。
【００８８】
次に、ステップ５０３で実施するピーク判断処理を、図２２に示したフローチャートを用いて説明する。
【００８９】
（ステップ６０１）
ステップ５０２において区分された左区間L=[x(i-p(N)−p(j)), x(i-p(N)−p(j)+1), …, x(i-p(N))]と右区間R＝[x(i-p(N)), x(i-p(N)+1), …, x(i-p(N)+p(j))]におけるそれぞれの最大値と最小値を計算し、ステップ６０２に進む。
【００９０】
（ステップ６０２）
ステップ６０１で計算した値を用いて、左区間Ｌの最大値と最小値の差と、閾値Ｈとを比較し、右区間Ｒの最大値と最小値の差と、同じく閾値Ｈとを比較し、両方の差はＨより大きければ、ステップ６０３に進み、そうでなければステップ６０７に進む。
なお、閾値Ｈの値は出力信号４に含むノイズの最大値とし、このステップの処理により、出力信号４から大きさが閾値Ｈ未満のノイズを取り除くことができる。
【００９１】
（ステップ６０３）
ステップ５０２でＬ，Ｒの左右両区間に含むようにしておいたピーク検出区間４０の中心点x(i-p(N)) が、上限ピークかどうかチェックする。
まず、ステップ６０１で計算したＬ区間最大値とｘ(i-p(N))とを比較し、同様にＲ区間最大値とｘ(i-p(N))を比較し、Ｌ、Ｒの左右区間の最大値がｘ(i-p(N))であれば、ステップ６０４に進み、そうでなければステップ６０５に進む。
【００９２】
（ステップ６０４）
左右区間の共通の要素ｘ(i-p(N))を上限ピークとし、ステップ６０８に進む。
【００９３】
（ステップ６０５）
ステップ５０２でＬ，Ｒの左右両区間に含むようにしておいたピーク検出区間４０の中心点x(i-p(N)) が、下限ピークかどうかチェックする。
まず、ステップ６０１で計算したＬ区間最小値とｘ(i-p(N))とを比較し、同様にＲ区間最小値とｘ(i-p(N))を比較し、Ｌ、Ｒの左右区間の最小値がｘ(i-p(N))であれば、ステップ６０６に進み、そうでなければステップ６０７に進む。
【００９４】
（ステップ６０６）
左右区間の共通の要素ｘ(i-p(N))を下限ピークとし、ステップ６０８に進む。
【００９５】
（ステップ６０７）
左右区間の共通の要素ｘ(i-p(N))はピークではないとし、ステップ６０８に進む。
【００９６】
（ステップ６０８）
ここで、ピーク判断ルーチンが終了する。
以上のようにして、ピーク検出区間４０の中心点x(i-p(N))は上限ピークか下限ピークか、あるいはピークではないのかを判断する。
【００９７】
このように、ピーク検出する全体区間をＮ区間に分け、分けた１区間内での最大値、最小値を求め、その最大値、最小値がその区間でのピークであるかを判断するという処理を、ピークが検出されるまでは検出区間を変更してＮ区間にわたって処理を繰り返すので、出力信号のピーク値を正しく検出できる。
また、出力信号の振動検出区間の最大値と最小値の差が閾値より大きくなければ、ピークとしないようにしているので、ノイズが重畳している信号に対しても正確に振動ピークを検出できる。
【符号の説明】
【００９８】
１    指令信号
２    制御器
３    制御対象
４    出力信号
５    出力フィードバック信号
６    制御器のモデル部
７    制御対象のモデル部
８    推定出力信号
９    推定出力フィードバック信号
１０  出力信号と推定出力信号との差信号
１１、５１、５２  振動状態判断部
１２  フィードバック制御装置
１３  フィードバック制御装置のモデル部
１４  ローパスフィルタ
１５  出力振動成分信号
２０  上限ピークと下限ピークの差信号（Ｖｐｐ）
３０  信号Ｐ
４０  ピーク検出区間
４１  ピーク検出全体区間
Ｓ１０１〜Ｓ１０７、Ｓ２０１〜Ｓ２０９、Ｓ３０１〜Ｓ３１０、Ｓ４０１〜Ｓ４０４、Ｓ５０１〜Ｓ５０７、Ｓ６０１〜Ｓ６０８  処理
１０１  速度制御
１０２  モータ及び負荷
１０３  オブザーバの全体
１１１  オブザーバのモータ及び負荷イナーシャ分
１１２  オブザーバの速度制御のゲイン
１１３  オブザーバの速度制御の積分
１１４  積分
２０１  速度制御器
２０２  電流制御器
２０３  モータ
２０４  機械
２０５  エンコーダ
２０６  微分器
２０７  発振検出器
２０８  メモリ
２０９  減算器
【図１】
0005516682.tif 000003
【図２】
0005516682.tif 000004
【図３】
0005516682.tif 000005
【図４】
0005516682.tif 000006
【図５】
0005516682.tif 000007
【図６】
0005516682.tif 000008
【図７】
0005516682.tif 000009
【図８】
0005516682.tif 000010
【図９】
0005516682.tif 000011
【図１０】
0005516682.tif 000012
【図１２】
0005516682.tif 000013
【図１３】
0005516682.tif 000014
【図１４】
0005516682.tif 000015
【図１７】
0005516682.tif 000016
【図１８】
0005516682.tif 000017
【図１９】
0005516682.tif 000018
【図２０】
0005516682.tif 000019
【図２１】
0005516682.tif 000020
【図２２】
0005516682.tif 000021
【図１１】
0005516682.tif 000022
【図１５】
0005516682.tif 000023
【図１６】
0005516682.tif 000024