(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 2021119845
(22)【出願日】2021-07-20
【審査請求日】2024-06-11
(73)【特許権者】
【識別番号】000002233
【氏名又は名称】ニデックインスツルメンツ株式会社
(74)【代理人】
【識別番号】100097113
【氏名又は名称】堀 城之
(74)【代理人】
【識別番号】100162363
【氏名又は名称】前島 幸彦
(74)【代理人】
【識別番号】100194283
【氏名又は名称】村上 大勇
(72)【発明者】
【氏名】小林 永二
【審査官】池田 貴俊
(56)【参考文献】
【文献】特開2013-126266(JP,A)
【文献】特開2006-288113(JP,A)
【文献】国際公開第2011/148623(WO,A1)
【文献】特開2005-063362(JP,A)
【文献】特開2006-288124(JP,A)
【文献】特開2007-293571(JP,A)
【文献】中国特許出願公開第114237039(CN,A)
【文献】米国特許第07864482(US,B1)
(58)【調査した分野】(Int.Cl.,DB名)
H02P 29/00
G05B 11/36
G05B 13/02
(57)【特許請求の範囲】
【請求項1】
モータのゲインを調整するサーボアンプと、
ノッチフィルタを有するトルク調整部とを有し、
前記サーボアンプは、フィードバック信号を解析し、一定の基準レベル以上の振動の有無を判断し、
前記トルク調整部は、
前記フィードバック信号に異なるピーク周波数をもつ2つの振動モードがあると認識された場合に、当該2つの振動モードにおけるピーク周波数の差が一定の範囲内にあるときに、前記ノッチフィルタのノッチ周波数を前記2つの振動モードのいずれか一方のピーク周波数のみに対応させ、当該ピーク周波数のみに対応させて設定されたノッチ周波数をもつ前記ノッチフィルタの強度の調整のみで、前記2つの振動モードの振動を減衰させることを特徴とするモータ制御装置。
【請求項2】
前記トルク調整部は、前記サーボアンプが前記振動有と判断すると、
前記ノッチ周波数を、対応させる前記ピーク周波数に対して一定の割合だけ小さい周波数に設定することを特徴とする請求項1に記載のモータ制御装置。
【請求項3】
前記トルク調整部は、
前記2つの振動モードのうち、ピーク周波数が高い側に対して前記ノッチ周波数を対応させることを特徴とする請求項1に記載のモータ制御装置。
【請求項4】
モータのゲインを調整するサーボアンプにより、フィードバック信号を解析し、一定の基準レベル以上の振動の有無を判断し、
ノッチフィルタを有するトルク調整部により、
前記フィードバック信号に異なるピーク周波数をもつ2つの振動モードがあると認識された場合に、当該2つの振動モードにおけるピーク周波数の差が一定の範囲内にあるときに、前記ノッチフィルタのノッチ周波数を前記2つの振動モードのいずれか一方のピーク周波数のみに対応させ、当該ピーク周波数のみに対応させて設定されたノッチ周波数をもつ前記ノッチフィルタの強度の調整のみで、前記2つの振動モードの振動を減衰させる
ことを特徴とするモータ制御方法。
【請求項5】
前記トルク調整部により、前記サーボアンプが前記振動有と判断すると、
前記ノッチ周波数を、対応させる前記ピーク周波数に対して一定の割合だけ小さい周波数に設定することを特徴とする請求項4に記載のモータ制御方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、オートチューニング機能を有するモータ制御装置及びモータ制御方法に関する。
【背景技術】
【0002】
ロボットや工作機械等の対象装置にサーボ系のモータを装着する際、サーボアンプのゲインを負荷イナーシャに応じて調整する必要がある。このようなサーボアンプのゲイン調整は、一般にオートチューニング機能を有するモータ制御装置によって行われることが多い。
【0003】
オートチューニングにおいては、チューニングパラメータを変更しながら複数回のテスト動作を実施し、各種テスト動作結果から次に設定するパラメータを決定している。特に、対象装置に存在する共振点でのモータ側の発振を抑えるためには、たとえば共振ピークを抑制できるノッチフィルタの設定が必要となる。
【0004】
このようなオートチューニングに関するものとして、特許文献1では、符号化部により内部状態量の符号の情報のみを抽出して出力し、リミッタ部によりノッチフィルタ部の出力の振幅を制限した情報を算出して出力し、適応更新部により符号化部の出力とリミッタ部の出力を乗じたものに基づいて、ノッチ周波数の推定値を逐次に更新して出力し、ノッチフィルタ部により推定値をノッチ周波数として採用し、単位変換部により推定値の単位をヘルツに変換しこれを推定値として出力し、推定値を用いて制御器を適応的に調整するモータ制御装置の自動調整方法を提案している。
【先行技術文献】
【特許文献】
【0005】
【発明の概要】
【発明が解決しようとする課題】
【0006】
上述した特許文献1のモータ制御装置の自動調整方法では、対象装置の共振周波数の共振点の周波数付近にノッチフィルタのノッチ周波数を設定しているため、共振点の周波数レベルを減衰させることが可能になるものと考えられる。
【0007】
ところが、対象装置の共振周波数の共振点が一定の範囲内に複数存在するとき、共振点の周波数付近にノッチフィルタのノッチ周波数を設定しても、一定の範囲内の共振点の周波数レベルを減衰させることが不可能となり、制御が不安定になるおそれがある。
【0008】
本発明は、このような状況に鑑みてなされたものであり、上記問題点を解消することができるモータ制御装置及びモータ制御方法を提供することを目的とする。
【課題を解決するための手段】
【0009】
本発明のモータ制御装置は、モータのゲインを調整するサーボアンプと、ノッチフィルタを有するトルク調整部とを有し、前記サーボアンプは、フィードバック信号を解析し、一定の基準レベル以上の振動の有無を判断し、前記トルク調整部は、前記フィードバック信号に異なるピーク周波数をもつ2つの振動モードがあると認識された場合に、当該2つの振動モードにおけるピーク周波数の差が一定の範囲内にあるときに、前記ノッチフィルタのノッチ周波数を前記2つの振動モードのいずれか一方のピーク周波数のみに対応させ、当該ピーク周波数のみに対応させて設定されたノッチ周波数をもつ前記ノッチフィルタの強度の調整のみで、前記2つの振動モードの振動を減衰させることを特徴とする。
本発明のモータ制御方法は、モータのゲインを調整するサーボアンプにより、フィードバック信号を解析し、一定の基準レベル以上の振動の有無を判断し、ノッチフィルタを有するトルク調整部により、前記フィードバック信号に異なるピーク周波数をもつ2つの振動モードがあると認識された場合に、当該2つの振動モードにおけるピーク周波数の差が一定の範囲内にあるときに、前記ノッチフィルタのノッチ周波数を前記2つの振動モードのいずれか一方のピーク周波数のみに対応させ、当該ピーク周波数のみに対応させて設定されたノッチ周波数をもつ前記ノッチフィルタの強度の調整のみで、前記2つの振動モードの振動を減衰させることを特徴とする。
本発明のモータ制御装置及びモータ制御方法では、モータのゲインを調整するサーボアンプにより、フィードバック信号を解析し、一定の基準レベル以上の振動の有無を判断し、ノッチフィルタを有するトルク調整部により、前記フィードバック信号に異なるピーク周波数をもつ2つの振動モードがあると認識された場合に、当該2つの振動モードにおけるピーク周波数の差が一定の範囲内にあるときに、前記ノッチフィルタのノッチ周波数を前記2つの振動モードのいずれか一方のピーク周波数のみに対応させ、当該ピーク周波数のみに対応させて設定されたノッチ周波数をもつ前記ノッチフィルタの強度の調整のみで、前記2つの振動モードの振動を減衰させる。
【発明の効果】
【0010】
本発明のモータ制御装置及びモータ制御方法によれば、一定の範囲内にある振動のピーク周波数がカバーされて減衰するので、制御が不安定になることを抑制できる。
【図面の簡単な説明】
【0011】
【
図1】
図1は、本発明のモータ制御装置の一実施形態を説明するための図である。
【
図2A】
図2Aは、
図1のサーボアンプによる一定の基準レベルを超えた振動周波数に対するトルク調整について説明するためのものであり、1個の振動に対してノッチフィルタを設定する場合を示す図である。
【
図2B】
図2Bは、
図1のサーボアンプによる一定の基準レベルを超えた振動周波数に対するトルク調整について説明するためのものであり、1個目の振動に対して一定の範囲以上離れた位置に2個目の振動が有る場合を示す図である。
【
図2C】
図2Cは、
図1のサーボアンプによる一定の基準レベルを超えた振動周波数に対するトルク調整について説明するためのものであり、2個目の振動に対してノッチフィルタを設定する場合を示す図である。
【
図3A】
図3Aは、
図1のサーボアンプによる一定の基準レベルを超えた振動周波数に対するトルク調整について説明するためのものであり、隣り合う振動のピーク周波数が一定の範囲内にある場合でのノッチフィルタの設定について示す図である。
【
図3B】
図3Bは、
図1のサーボアンプによる一定の基準レベルを超えた振動周波数に対するトルク調整について説明するためのものであり、隣り合う振動のピーク周波数が一定の範囲内にある場合でのノッチフィルタの設定について示す図である。
【
図3C】
図3Cは、
図1のサーボアンプによる一定の基準レベルを超えた振動周波数に対するトルク調整について説明するためのものであり、隣り合う振動のピーク周波数が一定の範囲内にある場合でのノッチフィルタの設定について示す図である。
【
図4】
図4は、
図1のサーボアンプによるオートチューニングについて説明するためのフローチャートである。
【発明を実施するための形態】
【0012】
以下、本発明のモータ制御装置の一実施形態を、
図1~
図4を参照しながら説明する。なお、以下に説明するモータ制御装置Mは、オートチューニングを実行する際、サーボアンプ100のゲインを負荷イナーシャに応じて調整する必要があるが、説明の都合上、負荷イナーシャについての図示及び説明を省略する。また、以下に説明する周波数の値は、説明の都合上、説明しやすい値としている。
【0013】
モータ制御装置Mは、オートチューニング機能を有するサーボアンプ100を備えている。サーボアンプ100は、フィードバック信号であるエンコーダパルスをFFT(Fast Fourier Transform)解析し、 振動周波数を抽出したりする処理を行う。また、サーボアンプ100は、抽出した振動周波数のピーク値が一定の基準レベルを超えると、発振と判断する。なお、符号300はモータを示し、符号150は減算器を示し、符号160は加減算器を示している。
【0014】
サーボアンプ100は、位置調整部110、フィードフォワード制御部120、フィードバック制御部130、トルク調整部140、電流制御部170を有している。
【0015】
位置調整部110は、図示しないコントローラからの位置、速度、トルクの指令値を含んだ目標値を示す指令に基づき、ゲイン設定に応じた位置指令を、フィードフォワード制御部120と減算器150とに出力する。
【0016】
フィードフォワード制御部120は、位置調整部110からの位置指令に基づき、速度、トルクを制御するための速度指令とトルク指令とを含むフィードフォワード指令(FF指令)を加減算器160に出力する。
【0017】
フィードバック制御部130は、フィードバック信号を元に、減算器150からの偏差を0とするようなフィードバック指令(FB指令)を加減算器160に出力する。
【0018】
トルク調整部140は、第1及び第2のノッチフィルタ141、142を有している。トルク調整部140は、加減算器160からの制御指令のトルク指令に含まれる振動に対し、ノッチフィルタ141及び/又は142によって減衰させた調整指令を、電流制御部170に出力する。
【0019】
なお、第1及び第2のノッチフィルタ141、142は、図示のように2個に限定されるものではなく、3個以上設けてもよい。また、第1及び第2のノッチフィルタ141、142としては、最適化アルゴリズムに従って伝達関数を自己適応させることができる適応フィルタを用いてもよい。第1及び第2のノッチフィルタ141、142の設定の詳細については後述する。
【0020】
減算器150は、位置調整部110からのゲイン設定に応じた位置指令と、フィードバック信号の位置及び速度信号とを減算し、偏差を出力する。加減算器160は、フィードフォワード指令とフィードバック指令とを減算し、減算器150からの偏差を0とするための制御指令を出力する。
【0021】
電流制御部170は、トルク調整部140からの調整指令が示すトルクが発生するように、モータ300の駆動電流を制御する。
【0022】
このような構成のモータ制御装置は、図示しないコントローラからの指令が出力されると、フィードフォワード制御部120からのフィードフォワード指令(FF指令)に基づき、モータ300が駆動を開始する。
【0023】
モータ300の駆動に伴い、図示しないエンコーダで検出されたフィードバック信号が出力されると、フィードバック制御部130からのフィードバック指令(FB指令)により、減算器150からの偏差を0とするための制御指令が加減算器160から出力される。そして、電流制御部170がトルク調整部140からの振動を減衰させた調整指令が示すトルクを発生させるように、モータ300の駆動電流を制御する。
【0024】
次に、
図2A~
図3Cを参照し、トルク調整部140での設定について説明する。なお、
図2A~
図3Cは、説明の都合上、一定の基準レベルを超えた振動のみを示している。また、縦軸は、振動のレベルと第1及び第2のノッチフィルタ141、142の深さを示し、横軸は周波数を示している。
【0025】
また、第1及び第2のノッチフィルタ141、142は、中心周波数より低周波側で位相が遅れ、高周波側で位相が進む特性となっている。そこで、第1及び第2のノッチフィルタ141、142のノッチ周波数を、振動のピーク周波数に合わせると、低周波側での位相遅れの影響でノッチ周波数と、振動のピーク周波数とが合わず、サーボアンプ100が不安定になることがある。このため、本実施形態では、第1及び第2のノッチフィルタ141、142のノッチ周波数を、振動のピーク周波数に対して、たとえば9割の周波数に設定している。
【0026】
なお、9割の周波数とは、
図2Aに示すように、たとえば振動のピーク周波数が 400Hzである場合、ノッチ周波数を360Hzに設定することである。これにより、第1及び第2のノッチフィルタ141、142の設定後においては、ノッチ周波数の位相を振動のピーク周波数に一致させることができる。
【0027】
図2Aは、サーボアンプ100が発振による振動が1個である場合を示している。この場合、トルク調整部140は、第1のノッチフィルタ141のノッチ周波数を、振動のピーク周波数(400Hz)の9割の周波数(360Hz)に設定する。これにより、第1のノッチフィルタ141の設定後においては、ノッチ周波数の位相を振動のピーク周波数に一致させることができ、
図2Bの点線で示すように、振動のピーク周波数(400Hz)を減衰させることができる。
【0028】
図2Bは、サーボアンプ100が発振による振動が2個である場合を示している。この場合、トルク調整部140は、2番目の振動のピーク周波数(800Hz)が、1番目の振動のピーク周波数(400Hz)から一定の範囲以上離れているとき、
図2Cに示すように、第2のノッチフィルタ142のノッチ周波数を、振動のピーク周波数(800Hz)の9割の周波数(720Hz)に設定する。これにより、第2のノッチフィルタ142の設定後においては、2番目の振動のピーク周波数(800Hz)を減衰させることができる。ここで、一定の範囲以上離れているとは、たとえば2個の振動のピーク周波数がノッチ周波数の帯域の2倍以上離れていることである。
【0029】
なお、オートチューニングにおいては、第1のノッチフィルタ141を設定した後、第1のノッチフィルタ141のゲインを増加させてテスト動作を実施し、フィードバック信号から得られるトルク値のFFT解析結果におけるピーク値が一定の基準レベルを超えた振動が無いことを確認できると、チューニング動作が完了となる。また、第1のノッチフィルタ141のテスト動作を実施した際、
図2Bのように2番目の振動が有る場合、第2のノッチフィルタ142を2番目の振動のピーク周波数(800Hz)の9割の周波数(720Hz)に設定した後、第2のノッチフィルタ142のゲインを増加させてテスト動作を実施し、ピーク値が一定の基準レベルを超えた振動が無いことを確認できると、チューニング動作が完了となる。
【0030】
次に、
図3Aは、サーボアンプ100が発振による振動が2個である場合であって、2個の振動のピーク周波数が近接(一定の範囲内)している場合を示している。一定の範囲内とは、たとえば2個の振動のピーク周波数がノッチ周波数の帯域内であることである。
【0031】
図3Aのように、2個の振動のピーク周波数が近接している場合、トルク調整部140は、第1のノッチフィルタ141のノッチ周波数を、振動のピーク周波数(400Hz)の9割の周波数(360Hz)に設定する。これにより、第1のノッチフィルタ141の設定後においては、
図3Bの点線で示すように、振動のピーク周波数(400Hz)を減衰させることができる。
【0032】
ここで、第1のノッチフィルタ141のゲインを増加させてテスト動作を実施する。そして、
図3Bのように、フィードバック信号から得られるトルク値のFFT解析結果から、ピーク周波数(400Hz)に近接している振動が減衰していない場合、トルク調整部140は
図3Cに示すように、第1のノッチフィルタ141の強度を最初の設定より強くする。これにより、
図3Bの実線で示すように、ノッチ周波数の深さが深くなることで、ノッチ周波数が振動のピーク周波数(400Hz)に近接(一定の範囲内)する振動のピーク周波数をカバーし、減衰させることができる。
【0033】
なお、サーボアンプ100が発振による2個の振動のピーク周波数が近接(一定の範囲内)している場合、第1のノッチフィルタ141のノッチ周波数を、振動のピーク周波数の低い方に設定することも考えられる。ところが、第1のノッチフィルタ141を振動のピーク周波数の低い方に設定すると、ノッチ周波数の深さを深くした場合であっても、ノッチ周波数が振動の高いピーク周波数をカバーできないおそれがある。このため、第1のノッチフィルタ141を振動の高いピーク周波数側に合わせることが好ましい。
【0034】
次に、
図4を参照し、モータ制御装置Mのオートチューニング処理について説明する。なお、以下においては、トルク調整による振動低減に関わる場合について説明する。
【0035】
(ステップS101)
サーボアンプ100は、振動レベルを解析する。
この場合、サーボアンプ100は、たとえばフィードバック信号をFFT解析し、振動周波数を抽出する。
【0036】
(ステップS102)
サーボアンプ100は、一定の基準レベル以上の振動が有るかどうかを判断する。
この場合、サーボアンプ100は、抽出した振動周波数のピーク値が一定の基準レベルを超えていなければ、一定の基準レベル以上の振動が無いと判断し(ステップS102:No)、処理を終了する。
これに対し、サーボアンプ100は、
図2A~
図3Cに示したように、抽出した振動周波数のピーク値が一定の基準レベルを超えていれば、一定の基準レベル以上の振動が有ると判断し(ステップS102:Yes)、ステップS103に移行する。
【0037】
(ステップS103)
サーボアンプ100は、振動が2つ以上かどうかを判断する。
この場合、サーボアンプ100は、ステップS107の判断結果から、
図2Aに示したように、振動が1つであると判断すると(ステップS103:No)、ステップS107に移行する。
これに対し、サーボアンプ100は、ステップS102の判断結果から、
図2Bに示したように、振動が2つ以上であると判断すると(ステップS103:Yes)、ステップS104に移行する。
【0038】
(ステップS104、S107)
サーボアンプ100は、第1のノッチフィルタ141を設定する。
この場合、サーボアンプ100のトルク調整部140は、
図2Aに示したように、第1のノッチフィルタ141のノッチ周波数を、振動のピーク周波数(400Hz)の9割の周波数(360Hz)に設定する。
そして、第1のノッチフィルタ141を設定した後、第1のノッチフィルタ141のゲインを増加させてテスト動作を実施し、第1のノッチフィルタ141を設定したピーク周波数(400Hz)の振動が減衰したかどうかを確認する。
なお、ステップS107で第1のノッチフィルタ141の設定を終え、振動が減衰したことを確認すると、処理を終了する。
【0039】
(ステップS105)
サーボアンプ100は、2番目の振動のピーク周波数が一定の範囲内かどうかを判断する。
この場合、サーボアンプ100は、
図3Aに示したように、1番目の振動のピーク周波数(400Hz)に対し、2番目の振動のピーク周波数が一定の範囲内(近接している)であると判断すると(ステップS105:Yes)、ステップS106に移行する。
これに対し、サーボアンプ100は、
図2Bに示したように、1番目の振動のピーク周波数(400Hz)に対し、2番目の振動のピーク周波数(800Hz)が一定の範囲以上であると判断すると(ステップS105:No)、ステップS108に移行する。
【0040】
(ステップS106)
サーボアンプ100は、第2のノッチ周波数を設定する。
この場合、サーボアンプ100のトルク調整部140は、
図2Cに示したように、第2のノッチフィルタ142のノッチ周波数を、2番目の振動のピーク周波数(800Hz)に対して9割の周波数(720Hz)に設定する。
そして、第2のノッチフィルタ142を設定した後、第2のノッチフィルタ142のゲインを増加させてテスト動作を実施し、第2のノッチフィルタ142を設定したピーク周波数(800Hz)の振動が減衰したかどうかを確認する。
【0041】
(ステップS108)
サーボアンプ100は、第1のノッチフィルタ141の強度を強くする。
この場合、サーボアンプ100のトルク調整部140は、
図3Cに示したように、第1のノッチフィルタ141の強度を最初の設定より強くする。
これにより、第1のノッチフィルタ141のノッチ周波数の深さが深くなることで、第1のノッチフィルタ141の設定後においては、ノッチ周波数が振動のピーク周波数(400Hz)に近接(一定の範囲内)する振動のピーク周波数をカバーし、減衰させることができる。
【0042】
(ステップS109)
サーボアンプ100は、設定完了かどうかを判断する。
この場合、サーボアンプ100は、ステップS104、ステップS106、ステップS107において、第1及び/又は第2のノッチフィルタ141、142の設定によりピーク周波数(400Hz及び800Hz、又は400Hz)の振動が減衰したことを確認できなければ(ステップS109:No)、設定完了ではないと判断する。
これに対し、サーボアンプ100は、ステップS104、ステップS106、ステップS107において、第1及び/又は第2のノッチフィルタ141、142の設定によりピーク周波数(400Hz及び800Hz、又は400Hz)の振動が減衰したことを確認できれば(ステップS109:No)、設定完了と判断し、処理を終了する。
【0043】
なお、以上の説明においては、ステップS104、ステップS106、ステップS107において、第1及び/又は第2のノッチフィルタ141、142を設定し、第1及び/又は第2のノッチフィルタ141、142のゲインを増加させてテスト動作を実施しているが、この例に限るものではない。たとえば、ステップS104、ステップS106、ステップS107において、第1及び/又は第2のノッチフィルタ141、142を設定した後、ステップS109で第1及び/又は第2のノッチフィルタ141、142のゲインを増加させてテスト動作を実施し、第1及び/又は第2のノッチフィルタ141、142を設定したピーク周波数の振動が減衰したかどうかを確認し、設定完了かどうかを判断するようにしてもよい。
【0044】
このように、本実施形態では、モータ300のゲインを調整するサーボアンプ100がフィードバック信号を解析し、一定の基準レベル以上の振動有を判断すると、トルク調整部140により、サーボアンプ100が判断した隣り合う振動のピーク周波数が一定の範囲内にあるとき、ノッチフィルタ141の強度を最初の設定より強くすることで、一定の範囲内にある振動のピーク周波数がカバーされて減衰する。これにより、制御が不安定になることを抑制できる。
【符号の説明】
【0045】
100 サーボアンプ
110 位置調整部
120 フィードフォワード制御部
130 フィードバック制御部
140 トルク調整部
141 第1のノッチフィルタ
142 第2のノッチフィルタ
150 減算器
160 加減算器
170 電流制御部
300 モータ
M モータ制御装置