(57)【要約】【課題】モータが負荷機械を駆動する時に発生する振動の周波数を演算することができるモータ制御装置を提供する。【解決手段】モータ制御装置において、速度フィードバック信号を制御サンプリング時間ごとに差をとり擬似加速度信号を生成する差分演算部と、擬似加速度信号を入力としフィルタ係数を出力する適応フィルタと、フィルタ係数を入力としてモータと負荷機械との間で発生する振動の周波数を求める周波数演算部を備えたものである。【選択図】図１
2005245088.tif 000002
【特許請求の範囲】
【請求項１】
速度指令と速度フィードバック信号の差を制御処理してトルク指令を出力する速度制御部と、トルク指令を入力としモータの電流を制御する電流制御部と、位置検出手段からの位置フィードバック信号から速度フィードバック信号を生成する速度検出部で構成され、上位システムからの指令と位置または前記速度検出部からの出力に基づいてモータを制御するモータ制御装置において、
速度フィードバック信号を制御サンプリング時間ごとに差をとり擬似加速度信号を生成する差分演算部と、
前記擬似加速度信号を入力としフィルタ係数を出力する適応フィルタと、
前記フィルタ係数を入力としてモータと負荷機械との間で発生する振動の周波数をもとめる周波数演算手段を備えたことを特徴とするモータ制御装置。
【請求項２】
前記適応フィルタは修正可能なフィルタ係数をもつＦＩＲフィルタと、前記ＦＩＲフィルタのフィルタ係数を逐次更新する係数修正手段からなり、
前記ＦＩＲフィルタの次数は２以上で２の整数倍であり、
前記係数修正手段は、前記ＦＩＲフィルタの出力が所定値以下になるように修正し、前記ＦＩＲフィルタの出力が所定値以下になった時にフィルタ係数を出力することを特徴とする請求項１記載のモータ制御装置。
【請求項３】
前記周波数演算手段は、前記フィルタ係数を修正可能なＦＩＲフィルタの次数が２の時には、式
ｆ＝√｛（２＋（ｈ１／ｈ０））／（２−（ｈ１／ｈ０））｝＊（２／Ｔｓ）＊（１／２π）
を使用して演算することを特徴とする請求項１または２に記載のモータ制御装置。
但し、ｈ１、ｈ０はＦＩＲフィルタの係数、Ｔｓはサンプリング時間である。
【請求項４】
前記周波数演算手段は、前記フィルタ係数を修正可能なＦＩＲフィルタの次数が４の時には、式
ｍ＝ｈ１／ｈ０
ｎ＝（ｈ２−２ｈ０）／ｈ０
ａ１＝（ｍ＋√（ｍ２−４ｎ））／２
ａ２＝（ｍ−√（ｍ２−４ｎ））／２
ｆ１＝√｛（２＋ａ１）／（２−ａ１）｝＊（１／Ｔｓ）＊（１／２π）
ｆ２＝√｛（２＋ａ２）／（２−ａ２）｝＊（１／Ｔｓ）＊（１／２π）
を使用して演算することを特徴とする請求項１記載のモータ制御装置。
【請求項５】
前記適応フィルタは複数個を直列に結合し、適応フィルタのフィルタ係数出力後に切り替え手段を備え、前記周波数演算手段は、前記適応フィルタから出力される各フィルタ係数をそれぞれ演算することを特徴とする請求項１記載のモータ制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、モータが負荷機械を駆動する時に発生する振動の周波数を演算することができるモータ制御装置に関する。  
【背景技術】
【０００２】
従来のモータ制御装置の振動周波数演算装置および方法には、例えば特許文献１がある。
図７は特許文献１で開示された発明の１実施例のブロック図である。図７において、７０１は位置ループゲインを与える増幅器、７０２は速度ループゲインを与える増幅器、７０３はモータ、７０４はパルスジェネレータ、７０５は機械、７０６は駆動機構、７０７は機械位置検出器である。機械位置指令Ｐｃｍｄが入力される指令系には、機械位置信号との差分をとる加算器にスイープ信号発生器７０９が接続され、この発生器７０９では低周波から高周波まで（１Ｈｚ〜１００Ｈｚ程度）の周波数を変化させた一定振幅の正弦波が発生され位置指令として出力される。一方、機械位置検出器７０７を有する位置フィードバックループに分岐して、周波数分析器７１０が備えられ、この周波数分析器７１０は、機械位置信号を周波数分析し共振周波数すなわち入力振幅に対し、機械位置が極端に大きくなる周波数を求めるものである。具体的には複数のバンドパスフィルタを並列に接続し、出力信号を監視することにより実現できるコンピュータのソフトウエアで高速フーリエ変換を行うことによっても実現できる。速度ループゲインを与える増幅器の後段には、遮断周波数可変型ノッチフィルタ７１１が挿入される。この遮断周波数可変型ノッチフィルタ７１１は、周波数分析器７１０にて求めた共振周波数のみを指令系より除去するように定数を変化させるものである。実際の動作としては、加工に先立ち加工時と同じ状態例えば被切削物をテーブルに載せた状態で、スイープ信号発生器７０９より一定振幅で周波数を徐々に変化させたスイープ信号を位置指令として印加する。そして、このスイープ信号により周波数分析器１１にて共振周波数を求める。他方、ノッチフィルタ７１１は加工時と同じ状態での機械の特性に応じ、共振周波数を指令から除去するので、実加工時に任意の位置指令が与えられても機械共振を防ぐ事ができるとしている。
【０００３】
さらに、第２の従来技術として、例えば特許文献２がある。
図８はが特許文献２に開示された発明の１実施例のブロック図である。図８において、８０９はフィルタ係数ｆの入力によりこのフィルタ係数ｆに応じた周波数成分の通過を制限可能な主フィルタ、８１０はフィルタ係数ｆを設定して主フィルタ８０９へ出力するフィルタ係数設定手段である。８１２は速度検出手段としての速度検出器８０２が出力する速度検出値ωｒを入力してこの速度検出器ωｒに重畳している所定の周波数以上の周波数成分、即ち電動機８０１、連結器８０３、負荷８０４からなる機械系の共振周波数成分ｄを通過させるハイパスフィルタ、８１３は所定の周波数以下の周波数成分を含む基準信号ｒを出力する基準信号発生手段、８１５は基準信号発生手段８１３が出力する基準信号ｒとハイパスフィルタ８１２を通過した機械系の共振周波数成分ｄとを加算する加算手段、８１６は加算手段８１５の出力信号ｘと基準信号ｒとを入力して上記周波数成分ｄの通過を制限するフィルタ係数ｆを演算して主フィルタ８０９へ出力する適応フィルタである。この適応フィルタの基本構成は、特許文献２の９頁８行目に示しているように非特許文献３の７．２．１参照のブロック図である。
【０００４】
実際の動作としては、特許文献９頁２８行目から記載されているように、フィルタ係数設定手段８１０におけるハイパスフィルタは遮断周波数が速度制御の帯域幅ｆｂに設定されたものであり、電動機の速度ωｒを入力してこのωｒを重畳する機械共振周波数成分ｄを出力する。基準信号発生手段８１３は速度制御の帯域ｆｂと同一の周波数成分を含む基準信号ｒを発生し、加算器８１５はハイパスフィルタ８１２の出力ｄと基準信号ｒとを加算し信号ｘを出力する。適応フィルタとは入力信号が加えられるとそれに応じて、最も目的に添う形の信号を発生するように自己の特性を変え、また入力信号の性質が変わると、それに追従して特性を変えるフィルタであるから（非特許文献３の７．１．１参照）、適応フィルタ８１６は入力ｘに対してその出力ｙが目標信号である基準信号ｒに最も近づくように自己のフィルタ係数を逐次調整する。入力ｘは基準信号ｒと機械共振による振動成分ｄを含んだものであるから、適応フィルタ８１６は自己のフィルタ係数を基準信号ｒの持つ周波数帯域の成分は通過させ、機械共振による振動成分ｄの持つ周波数成分は抑制するフィルタ、即ち中心周波数ｆｃが機械共振周波数ｆｐに一致したノッチフィルタになるようにフィルタ係数を調整することになる。そしてさらに、主フィルタ８０９は、そのフィルタ係数が適応フィルタ８１６からの入力によりこの適応フィルタ８１６と同じ値に設定されるからノッチフィルタの特性を持つことになる。以上のごとく、主フィルタ８０９は演算増幅手段８０６の出力τ１＊に含まれる機械共振による振動の加振源となる機械共振周波数成分を抑制する特性になるように自動調整する。
【０００５】
【特許文献１】公開特許公報特開平５−３４６８１３（３頁図１）
【特許文献２】特許公報第２５０４３０７号（９頁図１）
【非特許文献１】Ｓ．ヘイキン著「適応フィルタ入門」現代工学社、１９８７年、（第４章）
【非特許文献２】谷萩隆嗣著「ディジタル信号処理の理論３」コロナ社、１９８６年（第８部）
【非特許文献３】武部幹著「ディジタルフィルタの設計」東海大学出版、１９８６年
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、第１の従来技術においては、外部より周波数を徐々に変化させるスイープ信号を入力に加え、機械振動を励起した後、機械位置信号をフーリエ変換手段もしくは周波数分析するなどして周波数を算出していた。このため、通常運転中（スイープ信号を入力しない状態で切削加工や単にテーブルを移動させる場合）に周波数を算出することが出来ず、一度上記のスイープ信号に切り替えて周波数をあたえなければならなかった。試運転時に上記の様に周波数を算出する場合などにはこれでもいいが、経年変化などにより周波数が変わった場合には、再度周波数を測定するために上記動作を行う必要があり、周波数を測定するのに時間がかかっていた。また、指令入力にスイープ信号、多周波数の信号を含む信号などを入力できる機械という制限がある。機械振動を励起するためには、入力の振幅を大きくする必要があり、振幅を大きくすると機械を大きく揺らす為、機械を損傷するおそれがある。特に１Ｈｚ〜１００Ｈｚのスイープ信号を与えると言うことは制御帯域にかかる為、機械共振付近で大きな音を出し、機械が揺れる為、作業者に不安を与えるのみでなく、危険な作業である。さらに、被切削物に合わせてベスト調整をするということは、被切削物がなく無負荷の状態では振動が発生する為、加工物がテーブルに載った状態と載っていない状態（無負荷）のそれぞれの状態で運転前に、調整が必要であるという問題がある。
【０００７】
第２の従来技術においては、機械振動を含む信号を適応フィルタに入力し、適応フィルタの逐次修正手段において修正された係数を主フィルタの係数として使う装置である。特許文献２の１０頁２２行目から４２行目には、適応フィルタ内部の説明があるが、適応フィルタの内部のフィルタ部分をＦＩＲフィルタとした場合、サンプリング時間が短くなるとフィルタの次数を上げる必要があり、主フィルタも同様の係数を使う場合、フィルタ次数を同じだけ上げる必要がある。そうした場合、制御系の遅れが大きくなる為、制御系を不安定にする事が考えられる。また、適応フィルタ内部のフィルタ部分をＩＩＲフィルタとした場合、サンプリング時間が短くなってもフィルタの次数を２次に固定できるが、非特許文献２の第８章ｐ１６５〜１６６に記述している様に、再帰型適応ディジタルフィルタ（ＩＩＲ型）の場合には、解の収束性や最適性、及びフィルタの安定性などが補償されているわけではないという記述がある。また、上記の２つのフィルタに共通する問題であるが、複数個の振動が有る場合には、その内のどの振動を除去すれば良いのか分からない為、複数個を網羅するようなローパスフィルタとなるか、いつまでも収束しない適応フィルタとなり、振動を除去できないという問題がある。
本発明はこのような問題点に鑑みてなされたものであり、スイープ信号等を入力しない通常運転時（スイープ信号を入力しない状態で切削加工や単にテーブルを移動させる場合）や複数の振動周波数が有った場合でも、モータが負荷機械を駆動する時に発生する振動の周波数を演算することができるモータ制御装置を提供する。
【課題を解決するための手段】
【０００８】
請求項１に記載の発明は、速度指令と速度フィードバック信号の差を制御処理してトルク指令を出力する速度制御部と、トルク指令を入力としモータの電流を制御する電流制御部と、位置検出手段からの位置フィードバック信号から速度フィードバック信号を生成する速度検出部で構成され、上位システムからの指令と位置または速度検出部からの出力に基づいてモータを制御するモータ制御装置において、速度フィードバック信号を制御サンプリング時間ごとに差をとり擬似加速度信号を生成する差分演算部と、前記擬似加速度信号を入力としフィルタ係数を出力する適応フィルタと、フィルタ係数を入力としてモータと負荷機械との間で発生する振動の周波数をもとめる周波数演算手段を備えるようにしたものである。
請求項２記載の本発明は、請求項１記載のモータ制御装置において、適応フィルタは修正可能なフィルタ係数をもつＦＩＲフィルタと、ＦＩＲフィルタのフィルタ係数を逐次更新する係数修正手段からなり、ＦＩＲフィルタの次数は２以上で２の整数倍であり、係数修正手段は、ＦＩＲフィルタの出力が所定値以下になるように修正し、ＦＩＲフィルタの出力が所定値以下になった時に係数修正手段から出力されるフィルタ係数を出力とするようにしたものである。
請求項３に記載の本発明は、請求項１記載のモータ制御装置において、周波数演算手段は、フィルタ係数を修正可能なＦＩＲフィルタの次数が２の時には、式
ｆ＝√｛（２＋（ｈ１／ｈ０））／（２−（ｈ１／ｈ０））｝＊（２／Ｔｓ）＊（１／２π）
を使用して演算するようにしたものである。但し、ｈ１、ｈ０はＦＩＲフィルタの係数、Ｔｓはサンプリング時間である。
請求項４記載の本発明は、請求項１記載のモータ制御装置において、周波数演算手段は、前記係数修正可能なＦＩＲフィルタの次数が４の時には、式
ｍ＝ｈ１／ｈ０
ｎ＝（ｈ２−２ｈ０）／ｈ０
ａ１＝（ｍ＋√（ｍ２−４ｎ））／２
ａ２＝（ｍ−√（ｍ２−４ｎ））／２
ｆ１＝√｛（２＋ａ１）／（２−ａ１）｝＊（１／Ｔｓ）＊（１／２π）
ｆ２＝√｛（２＋ａ２）／（２−ａ２）｝＊（１／Ｔｓ）＊（１／２π）
を使用して演算するようにしたものである。
請求項５記載の本発明は、請求項１記載のモータ制御装置において、適応フィルタを複数個を直列に結合し、適応フィルタのフィルタ係数出力後に切り替え手段を備え、周波数演算手段は、適応フィルタから出力される各フィルタ係数をそれぞれ演算するようにしたものある。
【発明の効果】
【０００９】
本発明によれば、モータが負荷機械を駆動する時に発生する振動の周波数を演算することができるモータ制御装置を提供できる。通常運転中（スイープ信号を入力しない状態で切削加工や単にテーブルを移動させる場合）で実行可能であり、フーリエ変換などを使用しないため短時間で振動周波数を測定できる。
【発明を実施するための最良の形態】
【００１０】
以下、本発明の実施例を図を用いて説明する。
【実施例１】
【００１１】
図１は、本発明の実施例を示す周波数演算方法を実現する為のモータ制御装置を示すブロック図である。
図１において、２は速度制御部、３は電流制御部、４はモータ、５は負荷機械、６は位置検出手段であるエンコーダ、７は速度検出部、９は差分演算部、１０は適応フィルタ、１２は周波数演算部である。また、１は速度指令、８は速度フィードバック信号、７はフィルタ係数である。  
【００１２】
次に動作について説明する。速度制御部２は速度指令１と速度フィードバック信号８との差を制御演算処理し、トルク指令を出力する。電流制御部はトルク指令を電流指令に変換し、モータに流れる電流を制御する。モータに電流が流れるとモータはトルクを発生し、負荷や慣性モーメントに応じて回転する。エンコータ６はモータ４に機械的に結合されており、モータの回転角度位置に応じたパルスを発生する。エンコータのパルスは、図示していないが位置カウンタで積算され、位置カウンタの出力は位置フィードバック信号となる。速度検出部７は位置フィードバック信号を制御サンプリング周期ごとに時間差分をとりサンプリング時間で除して速度フィードバック信号を生成する。モータには、負荷５が結合されており、負荷を駆動する構成になっている。差分演算部９は速度フィードバック信号をサンプリング時間ごとに差分演算し、擬似加速度信号を出力する。適応フィルタ１０は擬似加速度信号を入力し、フィルタ係数を出力する。周波数演算部１２はフィルタ係数を入力し、振動周波数ｆを出力する。
【００１３】
次に周波数演算部１２を図２に基づいて説明する。
図２は、図１の適応フィルタ１０の内部構造を示すものである。図２において、ＦＩＲフィルタ１０１は、係数修正が可能であり、図１の差分演算部９の出力である擬似加速度信号をｚ−１のサンプリング時間遅延器に通した結果と係数修正手段１００から出力される係数を使用して積和演算し、係数修正手段１００に出力する。係数演算手段１００はＦＩＲフィルタの出力が所定値以内になるように係数ｈ０、ｈ１、ｈ２を修正する。係数修正手段は、非特許文献１の４章ｐ９６の（４．１６）式に示すような最小２乗（ＬＭＳ）アルゴリズムで実行される。また、この最小２乗アルゴリズムを正規化ＬＭＳアルゴリズムに変更すれば、係数精度が上がり、係数の収束が早いため、振動周波数の測定精度が上がる。この正規化ＬＭＳアルゴリズムは、非特許文献１の４章ｐ１２０の（４．６７）式に示されている。ＦＩＲフィルタは、（１）式の様に数式で表すことができる。ｈ０、ｈ１、ｈ２はＦＩＲフィルタの係数であり、ｚ−１は遅延器を表す。ｚ―２は同様に２個の遅延器を表す。
【００１４】
次に実施例１の構成で周波数演算を行ったシミュレーションを示す。速度制御の制御サンプリング時間を１２５μｓとして、モータと機械との共振周波数が５００Ｈｚの場合に図１の構成のシミュレーションを実行した。適応フィルタで作られたＦＩＲフィルタの周波数特性を図５に表す。図５は、ノッチ中心周波数よりも低周波数では、−３０ｄＢとなっており、高周波数では０ｄＢとなっている。この時のＦＩＲフィルタの係数ｈ０、ｈ１、ｈ２の内ｈ０、ｈ１を（２）式に入力する。周波数演算部では、ソフトウエアにより（２）式がプログラムされており周波数を計算する。（２）式のｆは演算された振動周波数、Ｔｓは適応フィルタのサンプリング時間を表す。図５が得られた時のＦＩＲフィルタ係数（ｈ０、ｈ２＝０．１８４０、ｈ１＝―０．３４）を周波数演算部（（２）式）を実行すると、５０６．５Ｈｚが得られた。請求項１と請求項２を実行することにより、振動周波数が演算される事がわかる。
【００１５】
別の例として、モータと機械との共振周波数が１００Ｈｚの場合についても評価した結果、得られた周波数特性を図６に表す。この時のＦＩＲフィルタ係数（ｈ０、ｈ２＝０．１６７３、ｈ１＝−０．３３３６）を周波数演算部に入力すると１００Ｈｚが演算される。この結果からも振動周波数が請求項１と請求項２を実行することにより振動周波数が演算される事がわかる。
【００１６】
図３は、図１の適応フィルタ内部を示すものであるが、係数修正可能なＦＩＲフィルタ２０１の次数は、４次であり、係数修正手段２００は、５個の係数を修正する。５個の係数を図１の周波数演算部１２に入力する。周波数演算部では、ソフトウエアにより（３）式がプログラムされており周波数を計算する構成になっている。（３）式のｈ０、ｈ１、ｈ２はＦＩＲフィルタ係数を表しており、係数はｈ０〜ｈ４の５つからなるが、その内のｈ０〜ｈ２までを使用する。ａ１、ａ２は中間変数であり、Ｔｓは適応フィルタのサンプリング時間、ｆ１、ｆ２は振動周波数を表す。この例では振動周波数が２個ある場合に適用し、二つの周波数ｆ１とｆ２を演算する。
【００１７】
Ｇ（ｚ）＝ｈ０＋ｈ１ｚ−１＋ｈ２ｚ−２                      ・・・（１）
ｆ＝√｛（２＋（ｈ１／ｈ０））／（２−（ｈ１／ｈ０））｝＊（２／Ｔｓ）＊（１／２π）
・・・（２）
ｍ＝ｈ１／ｈ０
ｎ＝（ｈ２−２ｈ０）／ｈ０
ａ１＝（ｍ＋√（ｍ２−４ｎ））／２
ａ２＝（ｍ−√（ｍ２−４ｎ））／２
ｆ１＝√｛（２＋ａ１）／（２−ａ１）｝＊（１／Ｔｓ）＊（１／２π）
ｆ２＝√｛（２＋ａ２）／（２−ａ２）｝＊（１／Ｔｓ）＊（１／２π）
・・・（３）
【００１８】
実施例３は、振動が３個以上ある場合でも振動周波数を測定するために考案されたもので、図４に示す。図面の図面番号１〜９については、図１で説明した物であり、３００の適応フィルタ１と３０１の適応フィルタ２と３０２の適応フィルタ３を直列に結合し、適応フィルタ１から３の出力は、各適応フィルタ内部の係数修正可能なＦＩＲフィルタの出力３０６、３０７とフィルタ係数であり、適応フィルタ１のフィルタ係数３０３と適応フィルタ２のフィルタ係数３０４と適応フィルタ３のフィルタ係数３０５は切り替え手段３０８により切り替えられ、周波数演算部３０９により各適応フィルタの周波数を演算し、例えば、３１０の表示機能を持つ表示器で周波数を表示する。適応フィルタ内の係数修正可能なＦＩＲフィルタを２次に限定し、請求項２の演算を行えば、複数個の振動に対して同数の振動周波数を測定できる。
【産業上の利用可能性】
【００１９】
周波数演算手段によって振動周波数が分かるため、振動周波数を使って振動抑制するような制御装置に適用できる。
【図面の簡単な説明】
【００２０】
【図１】本発明の第１実施例を示す周波数演算を実現させる制御装置のブロック図
【図２】本発明の請求項２の適応フィルタ内部動作を示すブロック図
【図３】本発明の請求項３の適応フィルタ内部動作を示すブロック図
【図４】本発明の請求項４を示す制御装置のブロック図
【図５】実施例１による適応フィルタの周波数特性（振動周波数が５００Ｈｚの場合）
【図６】実施例１による適応フィルタの周波数特性（振動周波数が１００Ｈｚの場合）
【図７】特許文献１の実施例を示す図
【図８】特許文献２の実施例を示す図
【符号の説明】
【００２１】
１  速度指令
２  速度制御部
３  電流制御部
４  モータ
５  負荷
６  エンコーダ
７  速度検出部
８  速度フィードバック信号
９  差分演算部
１０  適応フィルタ
１１  フィルタ係数
１２  周波数演算部
１００  係数修正手段
１０１  ＦＩＲフィルタ
２００  係数修正手段
２０１  ＦＩＲフィルタ
３００  適応フィルタ１
３０１  適応フィルタ２
３０２  適応フィルタ３
３０３  フィルタ係数
３０４  フィルタ係数
３０５  フィルタ係数
３０６  ＦＩＲフィルタの出力
３０７  ＦＩＲフィルタの出力
３０８  切り替え手段
３０９  周波数演算部
３１０  表示器
７０１  位置ループゲインを与える増幅器
７０２  速度ループゲインを与える増幅器
７０３  モータ
７０４  パルスジェネレータ
７０５  機械
７０６  駆動機械
７０７  機械位置検出器
７０８  微分器
７０９  スイープ信号発生器
７１０  周波数分析器
７１１  周波数可変型ノッチフィルタ
８０１  電動機
８０２  速度検出器
８０３  連結器
８０４  負荷
８０５  減算手段
８０６  演算増幅手段
８０８  トルク制御手段
８０９  主フィルタ
８１０  フィルタ係数設定手段
８１２  ハイパスフィルタ
８１３  基準信号発生手段
８１５  加算手段
８１６  適応フィルタ
【図１】
2005245088.tif 000003
【図２】
2005245088.tif 000004
【図３】
2005245088.tif 000005
【図４】
2005245088.tif 000006
【図５】
2005245088.tif 000007
【図６】
2005245088.tif 000008
【図７】
2005245088.tif 000009
【図８】
2005245088.tif 000010