(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2025-02-10
(45)【発行日】2025-02-19
(54)【発明の名称】モータ制御装置及びモータ制御方法
(51)【国際特許分類】
H02P 29/00 20160101AFI20250212BHJP
G05B 11/36 20060101ALI20250212BHJP
G05B 13/02 20060101ALI20250212BHJP
【FI】
H02P29/00
G05B11/36 B
G05B13/02 S
(21)【出願番号】P 2021119846
(22)【出願日】2021-07-20
【審査請求日】2024-06-11
(73)【特許権者】
【識別番号】000002233
【氏名又は名称】ニデックインスツルメンツ株式会社
(74)【代理人】
【識別番号】100097113
【氏名又は名称】堀 城之
(74)【代理人】
【識別番号】100162363
【氏名又は名称】前島 幸彦
(74)【代理人】
【識別番号】100194283
【氏名又は名称】村上 大勇
(72)【発明者】
【氏名】小林 永二
【審査官】池田 貴俊
(56)【参考文献】
【文献】特開2006-288113(JP,A)
【文献】特開2004-086702(JP,A)
【文献】特開2013-126266(JP,A)
【文献】米国特許出願公開第2017/0063268(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
H02P 29/00
G05B 11/36
G05B 13/02
(57)【特許請求の範囲】
【請求項1】
モータのゲインを調整するサーボアンプと、
ノッチフィルタとを有し、
前記サーボアンプは、
トルク指令値の時間経過の特性より前記トルク指令値のピークを認識し、当該特性におけるピークtoピーク値より振動成分の振幅、ピーク間の時間より前記振動成分の振動周期を認識し、前記振幅及び
前記振動周期が一定の条件を満たす場合、前記ノッチフィルタの設定が必要と判定し、前記ノッチフィルタのノッチ周波数を、前記判定直前の前記振動成分の周期
に対応した周波数に設定する
ことを特徴とするモータ制御装置。
【請求項2】
前記サーボアンプは、前記ノッチフィルタの設定後、前記振動成分が減衰していない場合、前記ノッチフィルタのノッチ周波数及び/又は強度を変更することを特徴とする請求項1に記載のモータ制御装置。
【請求項3】
モータのゲインを調整するサーボアンプにより、
トルク指令値の時間経過の特性より前記トルク指令値のピークを認識し、当該特性におけるピークtoピーク値より振動成分の振幅、ピーク間の時間より前記振動成分の振動周期を認識し、前記振幅及び
前記振動周期が一定の条件を満たす場合、ノッチフィルタの設定が必要と判定し、前記ノッチフィルタのノッチ周波数を、前記判定直前の前記振動成分の周期
に対応した周波数に設定することを特徴とするモータ制御方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、オートチューニング機能を有するモータ制御装置及びモータ制御方法に関する。
【背景技術】
【0002】
ロボットや工作機械等の対象装置にサーボ系のモータを装着する際、サーボアンプのゲインを負荷イナーシャに応じて調整する必要がある。このようなサーボアンプのゲイン調整は、一般にオートチューニング機能を有するモータ制御装置によって行われることが多い。
【0003】
オートチューニングにおいては、チューニングパラメータを変更しながら複数回のテスト動作を実施し、各種テスト動作結果から、次に設定するパラメータを決定している。また、オートチューニングにおいては、モータの振動を抑制する設定も行われる。
【0004】
このようなモータの振動の抑制に関するものとして、たとえば特許文献1では、モータを回転制御する回転制御手段と、回転中におけるモータの振動を検出する振動検出手段としての加速度センサと、加速度センサによって検出された振動から特定周波数の振動成分を抽出する特定周波数成分抽出手段と、特定周波数の振動を当該特定周波数の主振動成分と主振動成分に重畳されている脈動振動成分とに分解する振動成分分解手段と、主振動成分と脈動振動成分の全てを同時に抑制する補償信号を生成し、繰返して回転制御手段へ入力する繰返し制御手段とを備えたモータ制御装置を提案している。
【先行技術文献】
【特許文献】
【0005】
【発明の概要】
【発明が解決しようとする課題】
【0006】
上述した特許文献1のモータ制御装置では、特定周波数の振動を振幅が一定である主振動成分と脈動振動成分とに分解して補償信号を求めているので、モータの振動を効率よく抑制できるものと考えられる。
【0007】
しかしながら、このモータ制御装置では、特定周波数成分抽出手段により、加速度センサによって検出された振動から特定周波数の振動成分を抽出するに際し、フーリエ級数展開により特定周波数の振動のみを抽出している。
【0008】
このように、振動の抽出をフーリエ級数展開により行うようにすると、周波数解析の処理に時間がかかるばかりか、周波数解析に必要なデータ量の取得にも時間がかかってしまい、オートチューニングの処理の短縮化の妨げとなっている。
【0009】
このようなことから、オートチューニングの処理の短縮化を実現できるモータ制御装置の開発が望まれている。
【0010】
本発明は、このような状況に鑑みてなされたものであり、上記問題点を解消することができるモータ制御装置及びモータ制御方法を提供することを目的とする。
【課題を解決するための手段】
【0011】
本発明のモータ制御装置は、モータのゲインを調整するサーボアンプと、ノッチフィルタとを有し、前記サーボアンプは、トルク指令値の時間経過の特性より前記トルク指令値のピークを認識し、当該特性におけるピークtoピーク値より振動成分の振幅、ピーク間の時間より前記振動成分の振動周期を認識し、前記振幅及び前記振動周期が一定の条件を満たす場合、前記ノッチフィルタの設定が必要と判定し、前記ノッチフィルタのノッチ周波数を、前記判定直前の前記振動成分の周期に対応した周波数に設定することを特徴とする。
本発明のモータ制御方法は、モータのゲインを調整するサーボアンプにより、トルク指令値の時間経過の特性より前記トルク指令値のピークを認識し、当該特性におけるピークtoピーク値より振動成分の振幅、ピーク間の時間より前記振動成分の振動周期を認識し、前記振幅及び前記振動周期が一定の条件を満たす場合、ノッチフィルタの設定が必要と判定し、前記ノッチフィルタのノッチ周波数を、前記判定直前の前記振動成分の周期に対応した周波数に設定することを特徴とする。
本発明のモータ制御装置及びモータ制御方法では、モータのゲインを調整するサーボアンプにより、トルク指令値の時間経過の特性より前記トルク指令値のピークを認識し、当該特性におけるピークtoピーク値より振動成分の振幅、ピーク間の時間より前記振動成分の振動周期を認識し、前記振幅及び前記振動周期が一定の条件を満たす場合、ノッチフィルタの設定が必要と判定し、前記ノッチフィルタのノッチ周波数を、前記判定直前の前記振動成分の周期に対応した周波数に設定する。
【発明の効果】
【0012】
本発明のモータ制御装置及びモータ制御方法によれば、フーリエ級数展開による振動の抽出、及び周波数解析に必要なデータ量の取得が不要となるので、オートチューニングの処理の短縮化を実現できる。
【図面の簡単な説明】
【0013】
【
図1】
図1は、本発明のモータ制御装置の一実施形態を説明するための図である。
【
図2A】
図2Aは、
図1のサーボアンプによる振動成分の振幅と振動周波数の取得について説明するためのものであり、たとえばトルク調整部からの調整指令に含まれるトルク指令値に含まれる振動成分を示す図である。
【
図2B】
図2Bは、
図1のサーボアンプによる振動成分の振幅と振動周波数の取得について説明するためのものであり、振動成分の振幅及び振動周期の誤検知を生じる場合の一例について示す図である。
【
図3】
図3は、
図1のサーボアンプによるトルクノッチの設定後において、再設定が必要と判定した場合でのトルクノッチの再設定について説明するための図である。
【
図4】
図4は、
図1のサーボアンプによるオートチューニングについて説明するためのフローチャートである。
【
図5】
図5は、
図1のサーボアンプによる振動レベル解析処理について説明するためのフローチャートである。
【発明を実施するための形態】
【0014】
以下、本発明のモータ制御装置の一実施形態を、
図1~
図5を参照しながら説明する。なお、以下に説明するモータ制御装置Mは、オートチューニングを実行する際、サーボアンプ100のゲインを負荷イナーシャに応じて調整する必要があるが、説明の都合上、負荷イナーシャについての図示及び説明を省略する。
【0015】
モータ制御装置Mは、オートチューニング機能を有するサーボアンプ100を備えている。サーボアンプ100は、たとえばトルク調整部140からの調整指令のトルク指令値に含まれる振動成分の振幅及び振動周期を取得する。また、サーボアンプ100は、振動成分の振幅及び継続時間(振幅が高い場合には短時間、振幅が低い場合には長時間)により、後述のトルクノッチ及び又は142の設定の有無を自動判定する。また、サーボアンプ100は、後述のノッチフィルタ141及び又は142の設定が必要と判定した場合、ノッチフィルタ141及び又は142のノッチ周波数を、判定直前の振動成分の周期に設定する。なお、符号300はモータを示し、符号150は減算器を示し、符号160は加減算器を示している。
【0016】
サーボアンプ100は、位置調整部110、フィードフォワード制御部120、フィードバック制御部130、トルク調整部140、電流制御部170を有している。
【0017】
位置調整部110は、図示しないコントローラからの位置、速度、トルクの指令値を含んだ目標値を示す指令に基づき、ゲイン設定に応じた位置指令を、フィードフォワード制御部120と減算器150とに出力する。
【0018】
フィードフォワード制御部120は、位置調整部110からの位置指令に基づき、速度、トルクを制御するための速度指令とトルク指令とを含むフィードフォワード指令(FF指令)を加減算器160に出力する。
【0019】
フィードバック制御部130は、フィードバック信号を元に、減算器150からの偏差を0とするようなフィードバック指令(FB指令)を加減算器160に出力する。
【0020】
トルク調整部140は、複数のノッチフィルタ141、142を有している。トルク調整部140は、加減算器160からの制御指令のトルク指令に含まれる振動に対し、ノッチフィルタ141及び/又は142によって減衰させた調整指令を、電流制御部170に出力する。
【0021】
なお、トルク指令に含まれる振動は、モータ300の発振により生ずるものである。また、ノッチフィルタ141、142は、図示のように2個に限定されるものではなく、3個以上設けてもよい。また、ノッチフィルタ141、142としては、最適化アルゴリズムに従って伝達関数を自己適応させることができる適応フィルタを用いることができる。ノッチフィルタ141、142の設定に関わる詳細については後述する。
【0022】
減算器150は、位置調整部110からのゲイン設定に応じた位置指令と、フィードバック信号の位置及び速度信号とを減算し、偏差を出力する。加減算器160は、フィードフォワード指令とフィードバック指令とを減算し、減算器150からの偏差を0とするための制御指令を出力する。
【0023】
電流制御部170は、トルク調整部140からの調整指令が示すトルクが発生するように、モータ300の駆動電流を制御する。
【0024】
このような構成のモータ制御装置は、図示しないコントローラからの指令が出力されると、フィードフォワード制御部120からのフィードフォワード指令(FF指令)に基づき、モータ300が駆動を開始する。
【0025】
モータ300の駆動に伴い、図示しないエンコーダで検出されたフィードバック信号が出力されると、フィードバック制御部130からのフィードバック指令(FB指令)により、減算器150からの偏差を0とするための制御指令が加減算器160から出力される。そして、電流制御部170がトルク調整部140からの振動を減衰させた調整指令が示すトルクを発生させるように、モータ300の駆動電流を制御する。
【0026】
次に、
図2を参照し、サーボアンプ100による振動成分の振幅と振動周期の取得について説明する。なお、以下に説明する条件1~4は、あくまでも一例である。なお、
図2において、横軸は時間(ms)を示し、縦軸は動作中のトルク指令値を示している。また、トルク指令値1000[0.1%]が定格トルクを示している。
【0027】
図2Aは、たとえばトルク調整部140からの調整指令に含まれるトルク指令値に含まれる振動成分を示している。なお、トルク指令値に含まれる振動成分は、電流制御器170の出力に含まれるものであってもよい。
図2Aにおいて、aは振動成分の最小値P2、P4を探すフローを実施するための閾値を示し、bは振動成分の最大値P1、P3を探すフローを実施するための閾値を示している。なお、閾値a、bは、図示の位置に限定されるものではなく、任意に設定変更できる。また、振動周期S1、S2は、隣接する振動成分の最大値P1、P3同士及び最小値P2、P4同士の差分時間を示している。
【0028】
サーボアンプ100は、トルク調整部140からの調整指令に含まれるトルク指令値を位置速度制御周期毎に常時監視し、トルク指令値の振動成分の振幅及び振動周期を取得する。また、サーボアンプ100は、振動成分の振幅及び振動周期S1、S2を取得するに際し、極性切替の閾値aと閾値bとを取得する。閾値a及び閾値bは、振動成分の振幅及び振動周期S1、S2を取得するための取得レベル(又は検知レベル)に応じて設定できる。
【0029】
サーボアンプ100は、振動成分の最大値P1及び最小値P2が閾値a、bを超えた場合、振動成分の最大値P1と最小値P2との差分(振幅)であるPeaktoPeak(P-P)を求める。また、隣接する周期の振動成分の最大値P1、P3同士及び隣接する振動成分の最小値P2、P4同士の振動周期S1、S2を求める。
【0030】
サーボアンプ100は、振動成分の最大値P1と最小値P2との差分(振幅)であるPeaktoPeak(P-P)と振動周期S1、S2とを求めた後、次の条件1、2を満たす場合はノッチフィルタ141及び/又は142の設定が必要と判定する。
条件1 PeaktoPeak(P-P)が定格の30%を超え、振動周期S1、S2が10msを超えた場合。
条件2 PeaktoPeak(P-P)が定格の10%を超え、振動周期S1、S2が50msを超えた場合。
【0031】
なお、PeaktoPeak(P-P)が小さい場合でも継続して発振する場合には、人は不快に感じることがある。この場合、サーボアンプ100は、次の条件3、4を満たす場合はノッチフィルタ141及び/又は142の設定が必要と判定する。
条件3 PeaktoPeak(P-P)が定格の25%を超え、振動周期S1、S2が10msを超えた場合。
条件4 PeaktoPeak(P-P)が定格の10%を超え、振動周期S1、S2が100msを超えた場合。
【0032】
サーボアンプ100は、ノッチフィルタ141及び/又は142の設定が必要と判定すると、ノッチフィルタ141及び又は142のノッチ周波数を、判定直前の振動成分の周期に設定する。
【0033】
図2Bは、振動成分の振幅及び振動周期S1、S2の誤検知を生じる場合の一例について示す図である。図示のように、振動成分の最小値P2からトルク指令値の振動成分が上昇し、閾値bを超えた直後、トルク指令値の振動成分が閾値bを下回る場合がある。これは、モータ300の起動時において、サーボアンプ100による制御パラメータのゲイン調整の追従が遅れているためと考えられる。
【0034】
この場合、サーボアンプ100は、たとえば振動周期S2の最小値P2と最大値P5との差分(振幅)であるPeaktoPeak(P-P)と、振動周期S2の最大値P5と最小値P6との差分(振幅)であるPeaktoPeak(P-P)とが大幅に異なる場合、ノッチフィルタ141及び/又は142の設定が必要ないと判定する。
【0035】
図3は、サーボアンプ100によるノッチフィルタ141の設定後において、再設定が必要と判定した場合でのトルクノッチ141及び/又は142の再設定について説明するための図である。なお、
図3において、横軸は時間(ms)を示し、縦軸は動作中のトルク指令値と、ノッチフィルタ141及び/又は142の設定後の計測周波数とを示している。
【0036】
サーボアンプ100は、たとえばノッチフィルタ141のノッチ周波数f1を判定直前(振動発生により、ノッチフィルタ141及び/又は142の設定が必要と判定した時点の直前)の振動成分の周期に設定した場合であっても、振動成分が減衰せず、上記の条件1~4のいずれかに該当する場合、ノッチフィルタ141の再設定が必要と判定する。この場合、サーボアンプ100は、ノッチフィルタ141のノッチ周波数f1をノッチ周波数f2に変更する。
【0037】
ここで、サーボアンプ100は、ノッチフィルタ141のノッチ周波数f1をノッチ周波数f2に変更した場合であっても、振動成分が減衰せず、上記の条件1~4のいずれかに該当する場合、再設定が必要と判定する。この場合、振動周波数f3とノッチ周波数f2とが一定の範囲内(近い)であるため、ノッチフィルタ141のノッチ周波数f2は変更せずに、ノッチフィルタ141の強度を変更する。これにより、ノッチ周波数f2の深さが変更される。以降、サーボアンプ100は、PeaktoPeak(P-P)と振動周期とを求め、上記条件1~4のいずれも該当しない場合、ノッチフィルタ141及び/又は142の再設定が必要無いと判定する。
【0038】
なお、サーボアンプ100は、たとえばノッチフィルタ141のノッチ周波数f2を設定した場合に振動成分が減衰せず、上記条件1~4のいずれかに該当し、かつ振動周波数がf1(付近)の場合には、サーボアンプ100は、他のノッチフィルタ142のノッチ周波数をf1に設定する。
【0039】
次に、
図4を参照し、モータ制御装置Mのオートチューニング処理について説明する。なお、以下においては、トルク調整による振動低減に関わる場合について説明する。
【0040】
(ステップS101)
サーボアンプ100は、目標位置が変更されたかどうかを判断する。
この場合、サーボアンプ100は、図示しないコントローラからの目標位置に変更が無ければ目標位置が変更されないと判断し(ステップS101:No)、ステップS103に移行する。
これに対し、サーボアンプ100は、図示しないコントローラからの目標位置に変更が有れば目標位置が変更されたと判断し(ステップS101:Yes)、ステップS102に移行する。
【0041】
(ステップS102)
サーボアンプ100は、トルク調整部140の各種パラメータを初期化する。
【0042】
(ステップS103)
サーボアンプ100は、トルク調整部140からの調整指令に含まれるトルク指令値を取得する。
【0043】
(ステップS104)
サーボアンプ100は、取得したトルク指令値がリミット以上かどうかを判断する。
この場合、サーボアンプ100は、図示しないモータ300の許容トルクを示すリミット値テーブルに格納されているトルク指令リミット値と、取得したトルク指令値とを比較し、トルク指令値がリミット以上ではない判断すると(ステップS104:No)、ステップS106に移行する。
これに対し、サーボアンプ100は、取得したトルク指令値がリミット値テーブルに格納されているトルク指令リミット値以上と判断すると(ステップS104:Yes)、ステップS105に移行する。
【0044】
(ステップS105)
サーボアンプ100は、図示しないチューニングテーブルのチューニングストップフラグを有効にする。
【0045】
(ステップS106)
サーボアンプ100は、トルク指令値を監視する。
この場合、サーボアンプ100は、モータ動作中において、たとえばトルク調整部140からの調整指令のトルク指令値を監視する。
【0046】
(ステップS107)
サーボアンプ100は、振動成分のPeaktoPeak(P-P)を求める。
この場合、サーボアンプ100は、
図2Aに示したように、振動成分の最大値P1と最小値P2との差分(振幅)であるPeaktoPeak(P-P)を求める。
【0047】
(ステップS108)
サーボアンプ100は、振動周期S1、S2を求める。
この場合、サーボアンプ100は、
図2Aに示したように、隣接する振動成分の最大値P1、P3同士及び最小値P2、P4同士の差分時間である振動周期S1、S2を求める。
【0048】
(ステップS109)
サーボアンプ100は、条件を満たしているかどうかを判定する。
この場合、サーボアンプ100は、ステップS107、S108で求めたPeaktoPeak(P-P)と振動周期S1、S2とが、上記の条件1、2のいずれにも該当しない場合、条件1、2を満たしていないと判定し(ステップS109:No)、処理を終了する。
これに対し、サーボアンプ100は、PeaktoPeak(P-P)と振動周期S1、S2とが上記の条件1、2のいずれかに該当する場合、条件1又は2を満たしていると判定し(ステップS109:Yes)、ステップS110に移行する。
なお、上述したように、PeaktoPeak(P-P)が小さい場合でも継続して発振する場合には、人は不快に感じることがある。この場合、サーボアンプ100は、上記の条件3、4を満たすかどうかを併せて判定する。
【0049】
(ステップS110)
サーボアンプ100は、ノッチフィルタ141を設定する。
この場合、サーボアンプ100は、条件1~4のいずれかを満たすと判定すると、ノッチフィルタ141及び又は142のノッチ周波数を、判定直前の振動成分の周期に設定する。
【0050】
(ステップS111)
サーボアンプ100は、ノッチフィルタ141の再設定が必要かどうかを判定する。
この場合、サーボアンプ100は、
図3に示したように、たとえばノッチフィルタ141のノッチ周波数f1を判定直前の振動成分の周期に設定した場合であっても、振動成分が減衰せず、上記の条件1~4のいずれかに該当する場合、ノッチフィルタ141の再設定が必要と判定し(ステップS111:Yes)、ステップS112に移行する。
これに対し、サーボアンプ100は、たとえばノッチフィルタ141のノッチ周波数f1を判定直前の振動成分の周期に設定した場合、振動成分が減衰し、上記の条件1~4のいずれも該当しない場合、ノッチフィルタ141の再設定が必要無いと判定し(ステップS111:No)、処理を終了する。
【0051】
(ステップS112)
サーボアンプ100は、ノッチフィルタ141を再設定する。
この場合、サーボアンプ100は、ノッチフィルタ141のノッチ周波数f1をノッチ周波数f2に変更する。ここで、サーボアンプ100は、ノッチフィルタ141のノッチ周波数f1をノッチ周波数f2に変更した場合であっても、振動成分が減衰せず、上記の条件1~4のいずれかに該当する場合、振動周波数f3とノッチ周波数f2とが一定の範囲内(近い)であるため、ノッチフィルタ141のノッチ周波数f2は変更せずに、ノッチフィルタ141の強度を変更する。これにより、ノッチ周波数f2の深さが変更される。
なお、振動周波数がf1(付近)の場合には、サーボアンプ100は、他のノッチフィルタ142のノッチ周波数をf1に設定する。
以降、サーボアンプ100は、PeaktoPeak(P-P)と振動周期S1、S2とを求め、上記条件1~4のいずれも該当しない場合、ノッチフィルタ141の再設定を終了する。
【0052】
次に、
図5を参照し、サーボアンプ100による振動レベル解析処理について説明する。なお、以下の説明は、
図4のステップS107、S108の手順の詳細の一例である。
【0053】
(ステップS201)
サーボアンプ100は、極性が正であるか負であるを判断する。
この場合、サーボアンプ100は、振動成分の解析中に閾値bを取得すると、極性が正であると判断し(ステップS201:正)、ステップS202に移行する。
これに対し、サーボアンプ100は、振動成分の解析中に閾値aを取得すると、極性が負であると判断し(ステップS201:負)、ステップS209に移行する。
【0054】
(ステップS202)
サーボアンプ100は、最大値を探すフローを実施し、最大値以上かどうかを判断する。
この場合、サーボアンプ100は、振動成分の解析中に現在値が最大値を超えていなければ、最大値未満と判断し(ステップS202:No)、ステップS204に移行する。
これに対し、サーボアンプ100は、振動成分の解析中に現在値が最大値を超えていれば、最大値以上と判断し(ステップS202:Yes)、ステップS203に移行する。
【0055】
(ステップS203)
サーボアンプ100は、最大値を現在値に更新する。
【0056】
(ステップS204)
サーボアンプ100は、閾値以下かどうかを判断する。
この場合、サーボアンプ100は、振動成分の解析中に、閾値a以上であると判断すると(ステップS204:No)、処理を終了する。
これに対し、サーボアンプ100は、閾値a以下であると判断すると(ステップS204:Yes)、ステップS205に移行する。
なお、サーボアンプ100は、閾値a以下であると判断すると振動を検知する。
【0057】
(ステップS205)
サーボアンプ100は、前回の計測有りかどうかを判断する。
この場合、サーボアンプ100は、前回の計測が無い場合(ステップS205:No)、ステップS207に移行する。
これに対し、サーボアンプ100は、前回の計測が有る場合(ステップS205:Yes)、ステップS206に移行する。
なお、サーボアンプ100は、前回の計測が無い場合、初回では振幅及び振動周期S1、S2を計測できないため振動を検知しない。
【0058】
(ステップS206)
サーボアンプ100は、振幅及び振動周期S1、S2を取得する。
【0059】
(ステップS207)
サーボアンプ100は、最小値を現在値に変更する。
【0060】
(ステップS208)
サーボアンプ100は、極性を負に変更する。
【0061】
(ステップS209)
サーボアンプ100は、最小値以下かどうかを判断する。
この場合、サーボアンプ100は、振動成分の解析中に現在値が最小値以下でないと判断すると(ステップS209:No)、ステップS211に移行する。
これに対し、サーボアンプ100は、振動成分の解析中に現在値が最小値以下であると判断すると(ステップS209:Yes)、ステップS210に移行する。
【0062】
(ステップS210)
サーボアンプ100は、最大値を現在値に更新する。
【0063】
(ステップS211)
サーボアンプ100は、閾値以上かどうかを判断する。
この場合、サーボアンプ100は、振動成分の解析中に、閾値b以上であると判断すると(ステップS211:Yes)、ステップS212に移行する。
これに対し、サーボアンプ100は、閾値b以下であると判断すると(ステップS204:No)、処理を終了する。
【0064】
(ステップS212)
サーボアンプ100は、前回の計測有りかどうかを判断する。
この場合、サーボアンプ100は、前回の計測が無い場合(ステップS212:No)、ステップS214に移行する。
これに対し、サーボアンプ100は、前回の計測が有る場合(ステップS212:Yes)、ステップS213に移行する。
なお、サーボアンプ100は、前回の計測が無い場合、初回では振幅及び振動周期S1、S2を計測できないため振動を検知しない。
【0065】
(ステップS213)
サーボアンプ100は、振幅及び振動周期S1、S2を取得する。
【0066】
(ステップS214)
サーボアンプ100は、最大値を現在値に変更する。
【0067】
(ステップS215)
サーボアンプ100は、極性を正に変更する。
【0068】
このように、本実施形態では、モータ300のゲインを調整するサーボアンプ100により、トルク指令値に含まれる振動成分の振幅及び振動周期を取得し、振幅及び振動周期が一定の条件を満たす場合、ノッチフィルタ141及び/又は142の設定が必要と判定し、ノッチフィルタ141及び/又は142のノッチ周波数を、判定直前の振動成分の周期に設定する。これにより、フーリエ級数展開による振動の抽出、及び周波数解析に必要なデータ量の取得が不要となるので、オートチューニングの処理の短縮化を実現できる。
【符号の説明】
【0069】
100 サーボアンプ
110 位置調整部
120 フィードフォワード制御部
130 フィードバック制御部
140 トルク調整部
141、142 ノッチフィルタ
150 減算器
160 加減算器
170 電流制御部
300 モータ
M モータ制御装置