(57)【要約】【課題】  掃引正弦波信号または白色雑音の振幅が小さい場合であっても、可動範囲の限定された負荷の連結したモータおよびそのモータが設置された機台の反共振周波数と共振周波数を検出することができる振動検出装置およびそれを備えたモータ制御装置を提供する。【解決手段】  振動検出器１０８が、モータ位置振幅を算出するモータ位置振幅演算器１０９と、前記モータ位置振幅に基づいて、負荷からモータにかかる反力トルクを算出し、更に、前記反力トルクに基づいて、前記負荷から前記モータへ返ってくるエネルギーである反力トルクエネルギーを算出する反力トルクエネルギー演算器１１３と、前記反力トルクエネルギーに基づいて、振動検出値を算出する共振反共振周波数演算器１１４と、を備える。【選択図】図１
2008061470.tif 000002
【特許請求の範囲】
【請求項１】
指令に応じて負荷の連結したモータである制御対象を駆動して、位置検出器が検出したモータ位置に基づいて前記制御対象の反共振周波数と共振周波数である振動検出値を算出し出力する振動検出器を備えた振動検出装置において、
前記指令が小さな振幅の掃引正弦波信号である位置指令であって、
前記位置指令に基づいて前記モータを駆動し、前記振動検出器が前記振動検出値を算出し出力するようにしたことを特徴とする振動検出装置。
【請求項２】
前記振動検出器が、前記モータ位置の振幅であるモータ位置振幅を算出するモータ位置振幅演算器と、
前記モータ位置振幅に基づいて、前記負荷から前記モータにかかる反力トルクを算出し、更に、前記反力トルクに基づいて、前記負荷から前記モータへ返ってくるエネルギーである反力トルクエネルギーを算出する反力トルクエネルギー演算器と、
前記反力トルクエネルギーに基づいて、前記振動検出値を算出する共振反共振周波数演算器と、を備えたことを特徴とする請求項１記載の振動検出装置。
【請求項３】
前記振動検出器が、更に、前記反力トルクを算出する多項式における定数項係数を算出する定数項係数演算器を備えたことを特徴とする請求項１記載の振動検出装置。
【請求項４】
前記振動検出器が、更に、前記反力トルクを算出する多項式における反比例項係数を算出する反比例項係数演算器を備えたことを特徴とする請求項１記載の振動検出装置。
【請求項５】
前記振動検出器が、更に、前記反力トルクを算出する多項式における比例項係数を算出する比例項係数演算器を備えたことを特徴とする請求項１記載の振動検出装置。
【請求項６】
前記位置指令が、前記掃引正弦波信号に代わって、白色雑音信号であることを特徴とする請求項１記載の振動検出装置。
【請求項７】
前記共振反共振周波数演算器が、前記反力トルクエネルギーの極点に基づいて、前記制御対象の前記振動検出値を算出することを特徴とする請求項１記載の振動検出装置。
【請求項８】
前記指令が位置指令であって掃引正弦波信号である場合、
前記共振反共振周波数演算器が、前記反力トルクエネルギーの極小点の起こる時間における、前記掃引正弦波信号の周波数を反共振周波数として算出し、
極大点の起こる時間における、前記掃引正弦波信号の周波数を共振周波数として算出することを特徴とする請求項１記載の振動検出装置。
【請求項９】
前記指令が位置指令であって白色雑音信号である場合、
前記モータ位置振幅演算器が、前記モータ位置振幅の算出に代わって、フーリエ変換により算出した前記モータ位置の複数の周波数成分振幅を、複数のモータ位置振幅として算出し、
前記反力トルクエネルギー演算器が、前記反力トルクエネルギーの算出に代わって、前記複数のモータ位置振幅に基づいて、複数の反力トルクエネルギーを算出し、
前記共振反共振周波数演算器が、前記反力トルクエネルギーに基づいた前記振動検出値の算出に代わって、前記複数の反力トルクエネルギーの極点に基づいて、前記制御対象の前記振動検出値を算出することを特徴とする請求項１記載の振動検出装置。
【請求項１０】
前記指令が位置指令であって白色雑音信号である場合、
前記モータ位置振幅演算器が、前記モータ位置振幅の算出に代わって、フーリエ変換により算出した前記モータ位置の複数の周波数成分振幅を、複数のモータ位置振幅として算出し、
前記反力トルクエネルギー演算器が、前記反力トルクエネルギーの算出に代わって、前記複数のモータ位置振幅に基づいて、複数の反力トルクエネルギーを算出し、
前記共振反共振周波数演算器が、前記反力トルクエネルギーに基づいた前記振動検出値の算出に代わって、前記複数の反力トルクエネルギーのうち最極小点における、フーリエ変換により算出した前記モータ位置の周波数を反共振周波数として算出し、
最極大点における、フーリエ変換により算出した前記モータ位置の周波数を共振周波数として算出することを特徴とする請求項１記載の振動検出装置。
【請求項１１】
前記反力トルクエネルギー演算器が、定数項係数と前記モータ位置振幅との乗算値と、反比例項係数と前記モータ位置振幅の自然対数との積と、比例項係数と前記モータ位置振幅の２乗との積と、の和で前記反力トルクエネルギーを算出することを特徴とする請求項１記載の振動検出装置。
【請求項１２】
前記モータへの給電を制御するモータ制御装置であって、請求項１乃至１２記載の振動検出装置を備えることを特徴とするモータ制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、多慣性メカと機台の反共振周波数と共振周波数を検出する振動検出装置およびそれを備えたモータ制御装置に関する。  
【背景技術】
【０００２】
図３は、従来の振動検出装置である。図において、３０１は指令発生器、３０２は速度制御器、３０３は電流制御器、３０４はモータと機械負荷、３０５は検出器、３０６は信号処理器である。
図において、指令発生器３０１は掃引正弦波信号を出力する。速度制御器３０２はトルク指令を出力する。電流制御器３０３は前記掃引正弦波信号と前記トルク指令の加算値である電流指令と応答信号を入力しモータ電流を出力する。モータと機械負荷３０４は前記モータ電流により駆動されその前記応答信号は検出器３０５が検出し出力する。信号処理器３０６は前記掃引正弦波信号と前記応答信号を入力し前記応答信号が極大値をとる時間における前記掃引正弦波信号の周波数を共振周波数として算出し出力するものであった。（例えば、特許文献１参照）
【０００３】
このように、従来の振動検出装置は、掃引正弦波信号をモータと機械負荷３０４に入力し、その応答信号の極大値の起こる前記掃引正弦波信号の周波数よりモータと機械負荷３０４の共振周波数を検出するのである。また、この従来の振動検出装置を備えたモータ制御装置では、振動検出装置により得られた共振周波数および反共振周波数に基づいて、容易に機械モデル化し、この機械モデルに基づいてモータを制御し、モータに締結された負荷（機械等）を振動抑制しながら駆動するのである。
【特許文献１】特開２００３−３４８８７１号公報（第２−３頁、第３図）
【発明の開示】
【発明が解決しようとする課題】
【０００４】
従来の振動検出装置は、減衰の比較的大きな機械負荷の場合、その周波数応答の共振ピークおよび反共振溝は鋭くないため、掃引正弦波信号の振幅が小さい場合に、反共振周波数と共振周波数の検出が困難という問題があった。
また、同様の理由から掃引正弦波信号の振幅を十分に大きくできない可動範囲の限定された負荷の連結したモータの反共振周波数と共振周波数の検出が困難という問題もあった。
【０００５】
本発明はこのような問題点に鑑みてなされたものであり、掃引正弦波信号の振幅が小さい場合であっても、可動範囲の限定された負荷の連結したモータおよびそのモータが設置された機台の反共振周波数と共振周波数を検出することができる振動検出装置およびそれを備えたモータ制御装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記問題を解決するため、本発明は、次のように構成したのである。
請求項１記載の発明は、指令に応じて負荷の連結したモータである制御対象を駆動して、位置検出器が検出したモータ位置に基づいて前記制御対象の反共振周波数と共振周波数である振動検出値を算出し出力する振動検出器を備えた振動検出装置において、前記指令が小さな振幅の掃引正弦波信号である位置指令であって、前記位置指令に基づいて前記モータを駆動し、前記振動検出器が前記振動検出値を算出し出力するようにしたものである。
【０００７】
また、請求項２記載の発明は、請求項１記載の発明における前記振動検出器が、前記モータ位置の振幅であるモータ位置振幅を算出するモータ位置振幅演算器と、前記モータ位置振幅に基づいて、前記負荷から前記モータにかかる反力トルクを算出し、更に、前記反力トルクに基づいて、前記負荷から前記モータへ返ってくるエネルギーである反力トルクエネルギーを算出する反力トルクエネルギー演算器と、前記反力トルクエネルギーに基づいて、前記振動検出値を算出する共振反共振周波数演算器と、を備えるものである。
【０００８】
また、請求項３記載の発明は、請求項１記載の発明における前記振動検出器が、更に、前記反力トルクを算出する多項式における定数項係数を算出する定数項係数演算器を備えるものである。
【０００９】
また、請求項４記載の発明は、請求項１記載の発明における前記振動検出器が、更に、前記反力トルクを算出する多項式における反比例項係数を算出する反比例項係数演算器を備えるものである。
【００１０】
また、請求項５記載の発明は、請求項１記載の発明における前記振動検出器が、更に、前記反力トルクを算出する多項式における比例項係数を算出する比例項係数演算器を備えるものである。
【００１１】
また、請求項６記載の発明は、請求項１記載の発明における前記位置指令が、前記掃引正弦波信号に代わって、白色雑音信号であるものである。
【００１２】
また、請求項７記載の発明は、請求項１記載の発明における前記共振反共振周波数演算器が、前記反力トルクエネルギーの極点に基づいて、前記制御対象の前記振動検出値を算出するものである。
【００１３】
また、請求項８記載の発明は、請求項１記載の発明における前記指令が位置指令であって掃引正弦波信号である場合、前記共振反共振周波数演算器が、前記反力トルクエネルギーの極小点の起こる時間における、前記掃引正弦波信号の周波数を反共振周波数として算出し、極大点の起こる時間における、前記掃引正弦波信号の周波数を共振周波数として算出するものである。
【００１４】
また、請求項９記載の発明は、請求項１記載の発明における前記指令が位置指令であって白色雑音信号である場合、前記モータ位置振幅演算器が、前記モータ位置振幅の算出に代わって、フーリエ変換により算出した前記モータ位置の複数の周波数成分振幅を、複数のモータ位置振幅として算出し、前記反力トルクエネルギー演算器が、前記反力トルクエネルギーの算出に代わって、前記複数のモータ位置振幅に基づいて、複数の反力トルクエネルギーを算出し、前記共振反共振周波数演算器が、前記反力トルクエネルギーに基づいた前記振動検出値の算出に代わって、前記複数の反力トルクエネルギーの極点に基づいて、前記制御対象の前記振動検出値を算出するものである。
【００１５】
また、請求項１０記載の発明は、請求項１記載の発明における前記指令が位置指令であって白色雑音信号である場合、前記モータ位置振幅演算器が、前記モータ位置振幅の算出に代わって、フーリエ変換により算出した前記モータ位置の複数の周波数成分振幅を、複数のモータ位置振幅として算出し、前記反力トルクエネルギー演算器が、前記反力トルクエネルギーの算出に代わって、前記複数のモータ位置振幅に基づいて、複数の反力トルクエネルギーを算出し、前記共振反共振周波数演算器が、前記反力トルクエネルギーに基づいた前記振動検出値の算出に代わって、前記複数の反力トルクエネルギーのうち最極小点における、フーリエ変換により算出した前記モータ位置の周波数を反共振周波数として算出し、最極大点における、フーリエ変換により算出した前記モータ位置の周波数を共振周波数として算出するものである。
【００１６】
また、請求項１１記載の発明は、請求項１記載の発明における前記反力トルクエネルギー演算器が、定数項係数と前記モータ位置振幅との乗算値と、反比例項係数と前記モータ位置振幅の自然対数との積と、比例項係数と前記モータ位置振幅の２乗との積と、の和で前記反力トルクエネルギーを算出するものである。
【００１７】
また、請求項１２記載の発明は、前記モータへの給電を制御するモータ制御装置であって、請求項１乃至１１記載の振動検出装置を備えるものである。
【発明の効果】
【００１８】
請求項１乃至８記載の発明によると、可動範囲の限定された負荷の連結したモータおよびそのモータの設置された機台の反共振周波数と共振周波数を検出することができる。
また、請求項９または１０記載の発明によると、短時間に過渡応答や非線形ダイナミクスの影響を抑制し、可動範囲の限定された負荷の連結したモータおよびそのモータの設置された機台の反共振周波数と共振周波数を検出することができる。
また、請求項１１記載の発明によると、短時間に過渡応答や非線形ダイナミクスの影響を抑制し、可動範囲の限定された負荷の連結したモータおよびそのモータの設置された機台の反共振周波数と共振周波数を正確に検出することができる。
また、請求項１２の発明によると、振動検出装置により得られた共振周波数および反共振周波数に基づいて、容易に機械モデル化等をし、この機械モデルに基づいて位置指令または速度指令に応じてモータを制御し、モータに締結された負荷（機械等）を振動抑制しながら駆動することができる。
【発明を実施するための最良の形態】
【００１９】
以下、本発明の実施の形態について図を参照して説明する。
【実施例１】
【００２０】
図１は、本発明の第１実施例を示す振動検出装置およびそれを備えたモータ制御装置である。図において、１０１は位置指令発生器、１０２は位置制御器、１０３は速度制御器、１０４はトルク制御器、１０５は制御対象、１０６は位置検出器、１０７は微分器、１０８は振動検出器、１０９はモータ位置振幅演算器、１１０は定数項係数演算器、１１１反比例項係数演算器、１１２は比例項係数演算器、１１３は反力トルクエネルギー演算器、１１４は共振反共振周波数演算器である。
【００２１】
図において、位置指令発生器１０１は、位置指令を出力する。位置制御器１０２は、前記位置指令とモータ位置を入力し速度指令を出力する。速度制御器１０３は、前記速度指令とモータ速度を入力しトルク指令を出力する。トルク制御器１０４は、前記トルク指令を入力しモータ駆動信号を出力する。制御対象１０５は負荷を連結したモータとし、前記モータはモータ駆動信号により駆動され、前記モータの位置である前記モータ位置は位置検出器１０６が検出する。微分器１０７は、前記モータ位置を入力し前記モータ速度を出力する。振動検出器１０８は、前記モータ位置を入力し制御対象１０５の反共振周波数と共振周波数である振動検出値を算出し出力する。
【００２２】
振動検出器１０８内部において、モータ位置振幅演算器１０９は、前記モータ位置を入力しその入力信号振幅であるモータ位置振幅を出力する。
定数項係数演算器１１０は、前記位置指令のパラメータ（例えば、位置指令振幅や位置指令周波数等）、前記位置制御器のパラメータ（例えば、位置比例制御ゲインや位置積分制御ゲイン等）、前記速度制御器のパラメータ（例えば、速度比例制御ゲインや速度制御積分時定数等）に基づいて、前記負荷から前記モータへの反力トルクを前記モータ位置振幅に関する多項式展開した場合の定数項係数、を算出し出力する。
反比例項係数演算器１１１は、前記位置指令のパラメータ（例えば、位置指令振幅や位置指令周波数等）、前記位置制御器のパラメータ（例えば、位置比例制御ゲインや位置積分制御ゲイン等）、前記速度制御器のパラメータ（例えば、速度比例制御ゲインや速度制御積分時定数等）に基づいて、前記負荷から前記モータへの反力トルクを前記モータ位置振幅に関する多項式展開した場合の反比例項係数、を算出し出力する。
【００２３】
比例項係数演算器１１２は、前記位置指令のパラメータ（例えば、位置指令振幅や位置指令周波数等）、前記位置制御器のパラメータ（例えば、位置比例制御ゲインや位置積分制御ゲイン等）、前記速度制御器のパラメータ（例えば、速度比例制御ゲインや速度制御積分時定数等）に基づいて、前記負荷から前記モータへの反力トルクを前記モータ位置振幅に関する多項式展開した場合の比例項係数、を算出し出力する。
反力トルクエネルギー演算器１１３は、前記モータ位置振幅、前記定数項係数、前記反比例項係数、前記比例項係数を入力し、前記負荷から前記モータへ返ってくる反力トルクエネルギーを算出し出力する。
共振反共振周波数演算器１１４は、前記反力トルクエネルギーを入力し、前記位置指令の周波数を変化させた場合の入力信号の極点に基づいて、前記振動検出値を算出し出力する。
【００２４】
本発明が特許文献１と異なる部分は、モータ位置振幅、定数項係数、反比例項係数、比例項係数に基づいて、反力トルクエネルギーを算出し出力する反力トルクエネルギー演算器１１３と、前記反力トルクエネルギーの極値（極小値または極大値）の起こる位置指令の周波数より、制御対象１０５の反共振周波数と共振周波数である振動検出値を算出し出力する共振反共振周波数演算器１１４と、を備えた部分である。
【００２５】
以下、振動検出器１０８が前記振動検出値を算出する仕組みについて説明する。
モータ慣性モーメントをJ、モータ粘性摩擦をＤ、前記モータ位置をθ、前記トルク指令をＴｒｅｆ、前記反力トルクをＴｒ、一定トルク外乱をｗとすると、トルク制御器１０４、制御対象１０５、位置検出器１０６を含む開ループ系の運動方程式は式（１）で表される。
【００２６】
【数１】
2008061470.tif 000003
【００２７】
本実施例では、位置制御器１０２をＰ制御、速度制御器１０３をＰ制御とする場合を考える。位置Ｐ制御・速度Ｐ制御の場合の前記トルク指令は式（２）と表される。また、この式（２）を式（１）に代入すると、式（３）を得る。
【００２８】
【数２】
2008061470.tif 000004
【数３】
2008061470.tif 000005
【００２９】
前記位置指令を、振幅がｕ０、周波数がωである正弦波とすると、前記モータ位置の定常位置振幅であるモータ位置振幅Ａは式（４）となる。
【００３０】
【数４】
2008061470.tif 000006
【００３１】
ただし、Ａｒは反力トルク振幅、φｒは反力トルク位相、Ｋｐは位置Ｐ制御ゲイン、Ｋｖｊは速度Ｐ制御ゲインである。式（４）を反力トルク振幅Ａｒについて解き、１次テイラー近似すると式（５）を得る。
【００３２】
【数５】
2008061470.tif 000007
【００３３】
式（５）をモータ位置振幅Ａで１階積分することにより、前記反力トルクにより前記負荷から前記モータへ返ってくるエネルギーである前記反力トルクエネルギーは近似的に式（６）で表される。
【００３４】
【数６】
2008061470.tif 000008
【００３５】
ここで、式（５）における第１項である、
【００３６】
【数７】
2008061470.tif 000009
【００３７】
が定数項であり、定数項係数演算器１１０が、この定数項係数を算出し出力する。
また、式（５）における第２項である、
【００３８】
【数８】
2008061470.tif 000010
【００３９】
が反比例項であり、反比例項係数演算器１１１が、この反比例項係数を算出し出力する。
また、式（５）における第３項である、
【００４０】
【数９】
2008061470.tif 000011
【００４１】
が比例項であり、比例項係数演算器１１２が、この比例項係数を算出し出力する。
モータ位置振幅演算器１０９は、前記位置指令を掃引正弦波信号とした場合、前記モータ位置に移動平均を掛けて得られた信号であるモータ位置振幅を、また、前記位置指令を白色雑音とした場合、フーリエ変換により算出した前記モータ位置の各周波数成分の振幅であるモータ位置振幅を出力する。また、反力トルクエネルギー演算器１１３は、式（６）を用いて反力トルクエネルギーを算出し出力する。また、共振反共振周波数演算器１１４は、前記位置指令を掃引正弦波信号とした場合、式（６）で表される前記反力トルクエネルギーが、極小値をとる時間における前記掃引正弦波信号の周波数を、制御対象１０５の反共振周波数として算出し、一方、極大値をとる時間における前記掃引正弦波信号の周波数を、制御対象１０５の共振周波数として算出し、前記反共振周波数と前記共振周波数を前記振動検出値として出力する。
【００４２】
また、モータ粘性摩擦Ｄが分からない場合、式（６）においてモータ粘性摩擦Ｄを無視しても、反力トルクエネルギＥｒの極点の周波数はほとんどずれないので、精度を劣化することなく振動検出が実施できる。
【００４３】
また、前記位置指令を白色雑音とした場合、モータ位置振幅演算器１０９は、前記モータ位置振幅を、フーリエ変換により算出した前記モータ位置の各周波数成分の振幅である複数の周波数成分振幅とし、反力トルクエネルギー演算器１１３は、前記複数の周波数成分振幅のそれぞれに対して式（６）を用いて複数の反力トルクエネルギーを算出し、共振反共振周波数演算器１１４は、前記複数の反力トルクエネルギーの中の極小値である反力トルクエネルギー極小値が基づいている前記モータ位置の周波数成分の周波数を反共振周波数として算出し、前記複数の反力トルクエネルギーの中の極大値である反力トルクエネルギー極大値が基づいている前記モータ位置の周波数成分の周波数を共振周波数として算出し、前記反共振周波数と前記共振周波数を前記振動検出値として出力することもできる。
この前記位置指令を白色雑音とした場合は、前述した前記位置指令を掃引正弦波信号とした場合に対して、より短時間に振動検出を実施する必要がある場合を想定したものである。また、白色雑音とは、設定した周波数帯域を網羅する周波数成分を均等に含む信号である。
【００４４】
また、式（６）の第３項がモータ位置振幅Ａの２乗に比例するので、反力トルクエネルギＥｒの極点付近の勾配変化が大きくなり、極点検出が容易となるため、制御対象１０５の動作が小さい場合でも反力トルクエネルギＥｒの極点に基づいて制御対象１０５の共振周波数と反共振周波数である前記振動検出値を検出できる。
【００４５】
このように、モータ位置振幅、定数項係数、反比例項係数、比例項係数に基づいて反力トルクエネルギーを算出し出力する反力トルクエネルギー演算器１１３と、前記反力トルクエネルギーの極値（極小値または極大値）の起こる位置指令の周波数より制御対象１０５の反共振周波数と共振周波数である振動検出値を算出し出力する共振反共振周波数演算器１１４と、を備える構成をしているので、位置制御器１０２がＰ制御、速度制御器１０３がＰ制御である場合、前記位置指令が掃引正弦波信号または白色雑音の振幅が小さい場合であっても、可動範囲の限定された負荷の連結したモータおよびそのモータが設置された機台の反共振周波数と共振周波数を短時間に正確に検出することができる。
なお、「短時間に正確に検出することができる」は、後述するシミュレーション結果に基づくものである。
【実施例２】
【００４６】
本実施例の振動検出装置およびそれを備えたモータ制御装置の構成は、速度制御器１０３をＰＩ制御とすること以外は第１実施例と同じであるので、ここではその説明を省略する。以下、振動検出器１０８が前記振動検出値を算出する仕組みについて説明する。位置Ｐ制御・速度ＰＩ制御の場合、前記トルク指令は式（７）と表される。
【００４７】
【数１０】
2008061470.tif 000012
【００４８】
ただし、Ｔｉは速度制御積分時間である。式（７）を式（１）に代入すると、式（８）を得る。また、この式（８）より、前記位置指令を振幅がｕ０、周波数がωである正弦波とした場合の、モータ位置振幅Ａを求めると式（９）となる。
【００４９】
【数１１】
2008061470.tif 000013
【数１２】
2008061470.tif 000014
【００５０】
式（９）を反力トルク振幅Ａｒについて解き、１次テイラー展開すると式（１０）を得る。
【００５１】
【数１３】
2008061470.tif 000015
【００５２】
式（１０）をモータ位置振幅Ａで１階積分することにより、前記反力トルクにより前記負荷から前記モータへ返ってくるエネルギーである前記反力トルクエネルギーは近似的に式（１１）で表される。
【００５３】
【数１４】
2008061470.tif 000016
ここで、式（１０）における、
【００５４】
【数１５】
2008061470.tif 000017
【００５５】
が定数項であり、定数項係数演算器１１０が、この定数項係数を算出し出力する。
また、式（１０）における、
【００５６】
【数１６】
2008061470.tif 000018
【００５７】
が反比例項であり、反比例項係数演算器１１１が、この反比例項係数を算出し出力する。
また、式（１０）における、
【００５８】
【数１７】
2008061470.tif 000019
【００５９】
が比例項であり、比例項係数演算器１１２が、この比例項係数を算出し出力する。
モータ位置振幅演算器１０９は、前記位置指令を掃引正弦波信号とした場合、前記モータ位置に移動平均を掛けて得られた信号であるモータ位置振幅を、また、前記位置指令を白色雑音とした場合、フーリエ変換により算出した前記モータ位置の各周波数成分の振幅であるモータ位置振幅を出力する。また、反力トルクエネルギー演算器１１３は、式（１１）を用いて反力トルクエネルギーを算出し出力する。また、共振反共振周波数演算器１１４は、前記位置指令を掃引正弦波信号とした場合、式（１１）で表される前記反力トルクエネルギーが、極小値をとる時間における前記掃引正弦波信号の周波数を、制御対象１０５の反共振周波数として算出し、一方、極大値をとる時間における前記掃引正弦波信号の周波数を、制御対象１０５の共振周波数として算出し、前記反共振周波数と前記共振周波数を前記振動検出値として出力する。
【００６０】
また、モータ粘性摩擦Ｄが分からない場合、式（１１）においてモータ粘性摩擦Ｄを無視しても、反力トルクエネルギＥｒの極点の周波数はほとんどずれないので、精度を劣化することなく振動検出が実施できる。
【００６１】
また、実施例１と同様に、前記位置指令を白色雑音とした場合、モータ位置振幅演算器１０９は前記モータ位置振幅を、フーリエ変換により算出した前記モータ位置の各周波数成分の振幅である複数の周波数成分振幅とし、反力トルクエネルギー演算器１１３は、前記複数の周波数成分振幅のそれぞれに対して式（１１）を用いて複数の反力トルクエネルギーを算出し、共振反共振周波数演算器１１４は、前記複数の反力トルクエネルギーの中の極小値である反力トルクエネルギー極小値が基づいている前記モータ位置の周波数成分の周波数を反共振周波数として算出し、前記複数の反力トルクエネルギーの中の極大値である反力トルクエネルギー極大値が基づいている前記モータ位置の周波数成分の周波数を共振周波数として算出し、前記反共振周波数と前記共振周波数を前記振動検出値として出力することもできる。
【００６２】
また、式（１１）の第３項がモータ位置振幅Ａの２乗に比例するので、反力トルクエネルギＥｒの極点付近の勾配変化が大きくなり、極点検出が容易となるため、制御対象１０５の動作が小さい場合でも反力トルクエネルギＥｒの極点に基づいて制御対象１０５の共振周波数と反共振周波数である前記振動検出値を検出できる。
【００６３】
このように、モータ位置振幅、定数項係数、反比例項係数、比例項係数に基づいて反力トルクエネルギーを算出し出力する反力トルクエネルギー演算器１１３と、前記反力トルクエネルギーの極値（極小値または極大値）の起こる位置指令の周波数より制御対象１０５の反共振周波数と共振周波数である振動検出値を算出し出力する共振反共振周波数演算器１１４と、を備える構成をしているので、位置制御器１０２がＰ制御、速度制御器１０３がＰＩ制御である場合、前記位置指令が掃引正弦波信号または白色雑音の振幅が小さい場合であっても、可動範囲の限定された負荷の連結したモータおよびそのモータが設置された機台の反共振周波数と共振周波数を短時間に正確に検出することができる。
なお、「短時間に正確に検出することができる」は、後述するシミュレーション結果に基づくものである。
【実施例３】
【００６４】
本実施例の振動検出装置およびそれを備えたモータ制御装置の構成は、速度制御器１０３をＩ−Ｐ制御とすること以外は第１実施例と同じであるので、ここではその説明を省略する。以下、振動検出器１０８が前記振動検出値を算出する仕組みについて説明する。位置Ｐ制御・速度Ｉ−Ｐ制御の場合、前記トルク指令は式（１２）と表される。また、この式（１２）を式（１）に代入すると、式（１３）を得る。
【００６５】
【数１８】
2008061470.tif 000020
【数１９】
2008061470.tif 000021
【００６６】
式（１３）より、前記位置指令を、振幅がｕ０、周波数がωである正弦波とした場合、モータ位置振幅Ａを求めると式（１４）となる。また、この式（１４）を反力トルク振幅Ａｒについて解き、１次テイラー展開すると式（１５）を得る。
【００６７】
【数２０】
2008061470.tif 000022
【数２１】
2008061470.tif 000023
【００６８】
式（１５）をモータ位置振幅Ａで１階積分することにより、前記反力トルクにより前記負荷から前記モータへ返ってくるエネルギーである前記反力トルクエネルギーは近似的に式（１６）で表される。
【００６９】
【数２２】
2008061470.tif 000024
【００７０】
ここで、式（１５）における第１項である、
【００７１】
【数２３】
2008061470.tif 000025
【００７２】
が定数項であり、定数項係数演算器１１０が、この定数項係数を算出し出力する。
また、式（１５）における第２項である、
【００７３】
【数２４】
2008061470.tif 000026
【００７４】
が反比例項であり、反比例項係数演算器１１１が、この反比例項係数を算出し出力する。
また、式（１５）における第３項である、
【００７５】
【数２５】
2008061470.tif 000027
【００７６】
が比例項であり、比例項係数演算器１１２が、この比例項係数を算出し出力する。
モータ位置振幅演算器１０９は、前記位置指令を掃引正弦波信号とした場合、前記モータ位置に移動平均を掛けて得られた信号であるモータ位置振幅を、また、前記位置指令を白色雑音とした場合、フーリエ変換により算出した前記モータ位置の各周波数成分の振幅であるモータ位置振幅を出力する。また、反力トルクエネルギー演算器１１３は、式（１６）を用いて反力トルクエネルギーを算出し出力する。また、共振反共振周波数演算器１１４は、前記位置指令を掃引正弦波信号とした場合、式（１６）で表される前記反力トルクエネルギーが、極小値をとる時間における前記掃引正弦波信号の周波数を、制御対象１０５の反共振周波数として算出し、一方、極大値をとる時間における前記掃引正弦波信号の周波数を、制御対象１０５の共振周波数として算出し、前記反共振周波数と前記共振周波数を前記振動検出値として出力する。
【００７７】
また、モータ粘性摩擦Ｄが分からない場合、式（１６）においてモータ粘性摩擦Ｄを無視しても、反力トルクエネルギＥｒの極点の周波数はほとんどずれないので、精度を劣化することなく振動検出が実施できる。
【００７８】
また、実施例１と同様に、前記位置指令を白色雑音とした場合、モータ位置振幅演算器１０９は前記モータ位置振幅を、フーリエ変換により算出した前記モータ位置の各周波数成分の振幅である複数の周波数成分振幅とし、反力トルクエネルギー演算器１１３は、前記複数の周波数成分振幅のそれぞれに対して式（１６）を用いて複数の反力トルクエネルギーを算出し、共振反共振周波数演算器１１４は、前記複数の反力トルクエネルギーの中の極小値である反力トルクエネルギー極小値が基づいている前記モータ位置の周波数成分の周波数を反共振周波数として算出し、前記複数の反力トルクエネルギーの中の極大値である反力トルクエネルギー極大値が基づいている前記モータ位置の周波数成分の周波数を共振周波数として算出し、前記反共振周波数と前記共振周波数を前記振動検出値として出力することもできる。
【００７９】
また、式（１６）の第３項がモータ位置振幅Ａの２乗に比例するので、反力トルクエネルギＥｒの極点付近の勾配変化が大きくなり、極点検出が容易となるため、制御対象１０５の動作が小さい場合でも反力トルクエネルギＥｒの極点に基づいて制御対象１０５の共振周波数と反共振周波数である前記振動検出値を検出できる。
【００８０】
このように、モータ位置振幅、定数項係数、反比例項係数、比例項係数に基づいて反力トルクエネルギーを算出し出力する反力トルクエネルギー演算器１１３と、前記反力トルクエネルギーの極値（極小値または極大値）の起こる位置指令の周波数より制御対象１０５の反共振周波数と共振周波数である振動検出値を算出し出力する共振反共振周波数演算器１１４と、を備える構成をしているので、位置制御器１０２がＰ制御、速度制御器１０３がＩ−Ｐ制御である場合、前記位置指令が掃引正弦波信号または白色雑音の振幅が小さい場合であっても、可動範囲の限定された負荷の連結したモータおよびそのモータが設置された機台の反共振周波数と共振周波数を短時間に正確に検出することができる。
なお、「短時間に正確に検出することができる」は、後述するシミュレーション結果に基づくものである。
【実施例４】
【００８１】
本実施例の振動検出装置およびそれを備えたモータ制御装置の構成は、位置制御器１０２をＰＩ制御とすること以外は第１実施例と同じであるので、ここではその説明を省略する。以下、振動検出器１０８が前記振動検出値を算出する仕組みについて説明する。位置ＰＩ制御・速度Ｐ制御の場合、前記トルク指令は式（１７）と表される。また、この式（１７）を式（１）に代入すると式（１８）を得る。
【００８２】
【数２６】
2008061470.tif 000028
【数２７】
2008061470.tif 000029
【００８３】
式（１８）より、前記位置指令を、振幅がｕ０、周波数がωである正弦波とした場合、モータ位置振幅Ａを求めると式（１９）となる。また、この式（１９）を反力トルク振幅Ａｒについて解き、１次テイラー展開すると式（２０）を得る。
【００８４】
【数２８】
2008061470.tif 000030
【数２９】
2008061470.tif 000031
【００８５】
式（２０）をモータ位置振幅Ａで１階積分することにより、前記反力トルクにより前記負荷から前記モータへ返ってくるエネルギーである前記反力トルクエネルギーは近似的に式（２１）で表される。
【００８６】
【数３０】
2008061470.tif 000032
【００８７】
ここで、式（２０）における第１項である、
【００８８】
【数３１】
2008061470.tif 000033
【００８９】
が定数項であり、定数項係数演算器１１０が、この定数項係数を算出し出力する。
また、式（２０）における第２項である、
【００９０】
【数３２】
2008061470.tif 000034
【００９１】
が反比例項であり、反比例項係数演算器１１１が、この反比例項係数を算出し出力する。
また、式（２０）における第３項である、
【００９２】
【数３３】
2008061470.tif 000035
【００９３】
が比例項であり、比例項係数演算器１１２が、この比例項係数を算出し出力する。
モータ位置振幅演算器１０９は、前記位置指令を掃引正弦波信号とした場合、前記モータ位置に移動平均を掛けて得られた信号であるモータ位置振幅を、また、前記位置指令を白色雑音とした場合、フーリエ変換により算出した前記モータ位置の各周波数成分の振幅であるモータ位置振幅を出力する。また、反力トルクエネルギー演算器１１３は、式（１６）を用いて反力トルクエネルギーを算出し出力する。また、共振反共振周波数演算器１１４は、前記位置指令を掃引正弦波信号とした場合、式（２１）で表される前記反力トルクエネルギーが、極小値をとる時間における前記掃引正弦波信号の周波数を、制御対象１０５の反共振周波数として算出し、一方、極大値をとる時間における前記掃引正弦波信号の周波数を、制御対象１０５の共振周波数として算出し、前記反共振周波数と前記共振周波数を前記振動検出値として出力する。
【００９４】
また、モータ粘性摩擦Ｄが分からない場合に、式（２１）においてモータ粘性摩擦Ｄを無視しても、反力トルクエネルギＥｒの極点の周波数はほとんどずれないので、精度を劣化することなく振動検出が実施できる。
【００９５】
また、実施例１と同様に、前記位置指令を白色雑音とした場合、モータ位置振幅演算器１０９は前記モータ位置振幅を、フーリエ変換により算出した前記モータ位置の各周波数成分の振幅である複数の周波数成分振幅とし、反力トルクエネルギー演算器１１３は、前記複数の周波数成分振幅のそれぞれに対して式（２１）を用いて複数の反力トルクエネルギーを算出し、共振反共振周波数演算器１１４は、前記複数の反力トルクエネルギーの中の極小値である反力トルクエネルギー極小値が基づいている前記モータ位置の周波数成分の周波数を反共振周波数として算出し、前記複数の反力トルクエネルギーの中の極大値である反力トルクエネルギー極大値が基づいている前記モータ位置の周波数成分の周波数を共振周波数として算出し、前記反共振周波数と前記共振周波数を前記振動検出値として出力することもできる。
【００９６】
また、式（２１）の第３項がモータ位置振幅Ａの２乗に比例するので、反力トルクエネルギＥｒの極点付近の勾配変化が大きくなり、極点検出が容易となるため、制御対象１０５の動作が小さい場合でも反力トルクエネルギＥｒの極点に基づいて制御対象１０５の共振周波数と反共振周波数である前記振動検出値を検出できる。
【００９７】
このように、モータ位置振幅、定数項係数、反比例項係数、比例項係数に基づいて反力トルクエネルギーを算出し出力する反力トルクエネルギー演算器１１３と、前記反力トルクエネルギーの極値（極小値または極大値）の起こる位置指令の周波数より制御対象１０５の反共振周波数と共振周波数である振動検出値を算出し出力する共振反共振周波数演算器１１４と、を備える構成をしているので、位置制御器１０２がＰＩ制御、速度制御器１０３がＰ制御である場合、前記位置指令が掃引正弦波信号または白色雑音の振幅が小さい場合であっても、可動範囲の限定された負荷の連結したモータおよびそのモータが設置された機台の反共振周波数と共振周波数を短時間に正確に検出することができる。
なお、「短時間に正確に検出することができる」は、後述するシミュレーション結果に基づくものである。
【００９８】
ここで、第２実施例の構成である位置制御器１０２をＰ制御、速度制御器１０３をＰＩ制御とした構成に基づいた、シミュレーション結果を以下に示す。本シミュレーションに用いた数値は次の通りである。
Ｊｍ０＝０．１１６×１０＾−４[ｋｇ・ｍ＾２]、Ｊｍ＝０．１８６６×１０＾−４[ｋｇ・ｍ＾２]、Ｊｌ＝０．７４８５×１０＾−４[ｋｇ・ｍ＾２]、Ｊ＝Ｊｍ＋Ｊｌ＝０．９３２４×１０＾−４  [ｋｇ・ｍ＾２]、ωｒ＊＝２９６．８８（２π）[ｒａｄ／ｓ]、ωａ＊＝１３２．８１（２π）[ｒａｄ／ｓ]、ｋ＝５１．９３[Ｎ・ｍ／ｒａｄ]、Ｄ＝０．０１[Ｎ・ｍ・ｓ／ｒａｄ]、ｃｌ＝０．０１[Ｎ・ｍ・ｓ／ｒａｄ]、ｃ＝０．０１  [Ｎ・ｍ・ｓ／ｒａｄ]、Ｋｐ＝４０[ｓ＾−１]、Ｋｖ＝４０（２π）[ｓ＾−１]、Ｋｖｊ＝ＫｖＪｍ０、Ｔｉ＝０．０２０[ｓ]、Ｔ＝１２５×１０＾−６[ｓ]、ｂ＝１７[ｂｉｔ]、Ｔｒａｔ＝０．６３７[Ｎ・ｍ]、ｕ０＝０．２[ｒａｄ]、ω０＝２０（２π）[ｒａｄ／ｓ]、ωｆ＝５００（２π）[ｒａｄ／ｓ]、ｔｃ＝４．０[ｓ]
ただし、Ｊｍ０は公称慣性モーメント、Ｊｍはモータ慣性モーメント、Ｊｌは負荷慣性モーメント、Ｊは制御対象１０５の慣性モーメント、ωｒ＊は共振周波数真値、ωａ＊は反共振周波数真値、ｋはモータ負荷間剛性、Ｄはモータ粘性摩擦、ｃｌは負荷粘性摩擦、ｃはモータ負荷間粘性摩擦、Ｋｐは位置Ｐ制御ゲイン、Ｋｖは正規化速度Ｐ制御ゲイン、Ｋｖｊは速度Ｐ制御ゲイン、Ｔｉは速度制御積分時間、Ｔは制御周期、ｂは位置検出器１０６の分解能、Ｔｒａｔは定格トルク、ｕ０は位置指令振幅とし、前記位置指令は周波数がω０からωｆまでｔｃの間に線形的に変化する掃引正弦波信号とする。
なお、シミュレーションに用いたこれら数値は、実機への適用に即したものであり、本発明を実機へ適用した場合においても、このシミュレーション結果に相当する効果を奏するものである。
【００９９】
図２は、本発明の位置Ｐ制御・速度ＰＩ制御の場合（第２実施例）のシミュレーション結果である。図２は、式（１１）において、モータ粘性摩擦Ｄを無視して算出した反力トルクエネルギーを、その極大値で正規化した正規化反力トルクエネルギーであり、その極値（極小値または極大値）の起こる位置指令周波数より反共振周波数は１２４．３１［Ｈｚ］、共振周波数は３００．００［Ｈｚ］と算出された。
この場合、前記反共振周波数は、前記反共振周波数真値に対して−６．７７［％］誤差があり（図示しない）、前記共振周波数は、前記共振周波数真値に対して−０．０１［％］誤差があった（図示しない）。また、この場合、本シミュレーションにおいて、モータ位置振幅は０．０３［ｒａｄ］以下（１７［ｂｉｔ］分解能の位置検出器１０６で６２６［ｐｕｌｓｅ］相当）であり（図示しない）、小振幅のみで可動範囲の限定された負荷の連結したモータの反共振周波数と共振周波数を算出できることが得られた。また、この場合、振動検出に要する時間は４．０［ｓ］であり（図示しない）、短時間に制御対象１０５の反共振周波数と共振周波数を算出できることも得られた。
【０１００】
なお、位置Ｐ制御・速度Ｐ制御の場合（第１実施例）、位置Ｐ制御・速度Ｉ−Ｐ制御の場合（第３実施例）、位置ＰＩ制御・速度Ｐ制御の場合（第４実施例）のシミュレーションにおいても同様に、少ない振動検出誤差であること、小振幅のみで可動範囲の限定された負荷の連結したモータの反共振周波数と共振周波数を算出できること、短時間に制御対象１０５の反共振周波数と共振周波数を算出できること、が得られる。（図示しない）
また、本発明の振動検出装置は、トルクを推力、慣性モーメントを可動子質量に置き換えることにより、リニアモータにも適用できる。
また、位置指令振幅は、回転形モータであれば０．２ｒａｄ程度、リニアモータであれば５ｍｍ程度の小さなものであればよい。
【０１０１】
第１乃至４実施例に記載したように、モータ位置振幅、定数項係数、反比例項係数、比例項係数に基づいて反力トルクエネルギーを算出し出力する反力トルクエネルギー演算器１１３と、前記反力トルクエネルギーの極値（極小値または極大値）の起こる位置指令の周波数より制御対象１０５の反共振周波数と共振周波数である振動検出値を算出し出力する共振反共振周波数演算器１１４と、を備える構成をしているので、前記位置指令が掃引正弦波信号または白色雑音の振幅が小さい場合であっても、可動範囲の限定された負荷の連結したモータおよびそのモータが設置された機台の反共振周波数と共振周波数を短時間に正確に検出することができる。
【０１０２】
本発明において、モータおよびモータに締結された負荷（機械等）、すなわち、図１における制御対象１０５および位置検出器１０６の振動を検出する場合、図１における振動検出装置の構成（位置指令発生器１０１、位置制御器１０２、速度制御器１０３、トルク制御器１０４、微分器１０７、振動検出器１０８）で、振動検出を行なう。
また、図１におけるモータ制御装置の構成（位置指令発生器１０１、位置制御器１０２、速度制御器１０３、トルク制御器１０４、微分器１０７）で、振動検出装置により得られた共振周波数および反共振周波数に基づいて、容易に機械モデル化等をし、この機械モデルに基づいて位置指令または速度指令に応じてモータを制御し、モータに締結された負荷（機械等）を振動抑制しながら駆動するのである。
また、図１における振動検出器１０８内の、反力トルクエネルギー演算器１１３に、前述した定数項係数演算器１１０、反比例項係数演算器１１１、比例項係数演算器１１２の演算機能を持たせてもよい。
【産業上の利用可能性】
【０１０３】
小振幅の掃引正弦波信号または小振幅の白色雑音と、反力トルクエネルギーを用いることによって、可動範囲の限定された負荷の連結したモータおよびそのモータの設置された機台の反共振周波数と共振周波数を検出することができるので、半導体製造装置など可動範囲の限定された一般産業用装置の振動検出に広く適用できる。
【図面の簡単な説明】
【０１０４】
【図１】本発明の第１実施例を示す振動検出装置およびそれを備えたモータ制御装置
【図２】本発明の位置Ｐ制御・速度ＰＩ制御の場合（第２実施例）のシミュレーション結果
【図３】従来の振動検出装置
【符号の説明】
【０１０５】
１０１  位置指令発生器
１０２  位置制御器
１０３  速度制御器
１０４  トルク制御器
１０５  制御対象
１０６  位置検出器
１０７  微分器
１０８  振動検出器
１０９  モータ位置振幅演算器
１１０  定数項係数演算器
１１１  反比例項演算器
１１２  比例項係数演算器
１１３  反力トルクエネルギー演算器
１１４  共振反共振周波数演算器
【図１】
2008061470.tif 000036
【図２】
2008061470.tif 000037
【図３】
2008061470.tif 000038