IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 日本電産サンキョー株式会社の特許一覧

<>
  • 特開-モータ制御方法及びモータ制御装置 図1
  • 特開-モータ制御方法及びモータ制御装置 図2
  • 特開-モータ制御方法及びモータ制御装置 図3
  • 特開-モータ制御方法及びモータ制御装置 図4
  • 特開-モータ制御方法及びモータ制御装置 図5
  • 特開-モータ制御方法及びモータ制御装置 図6
  • 特開-モータ制御方法及びモータ制御装置 図7
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023133902
(43)【公開日】2023-09-27
(54)【発明の名称】モータ制御方法及びモータ制御装置
(51)【国際特許分類】
   H02P 29/00 20160101AFI20230920BHJP
   G05B 11/36 20060101ALI20230920BHJP
【FI】
H02P29/00
G05B11/36 B
G05B11/36 D
G05B11/36 505A
【審査請求】未請求
【請求項の数】9
【出願形態】OL
(21)【出願番号】P 2022039147
(22)【出願日】2022-03-14
(71)【出願人】
【識別番号】000002233
【氏名又は名称】ニデックインスツルメンツ株式会社
(74)【代理人】
【識別番号】100123788
【弁理士】
【氏名又は名称】宮崎 昭夫
(74)【代理人】
【識別番号】100127454
【弁理士】
【氏名又は名称】緒方 雅昭
(72)【発明者】
【氏名】今井 誠也
【テーマコード(参考)】
5H004
5H501
【Fターム(参考)】
5H004GA01
5H004GB01
5H004HA07
5H004HA10
5H004HB07
5H004HB10
5H004JA11
5H004JB21
5H004KB02
5H004KB04
5H004KB06
5H004KB31
5H501BB11
5H501EE01
5H501FF01
5H501FF10
5H501GG01
5H501JJ03
5H501JJ04
5H501JJ12
5H501JJ23
5H501JJ24
5H501JJ25
5H501KK05
5H501LL35
(57)【要約】
【課題】位置指令に基づいてモータをサーボ制御するときに、少ない演算量で象限突起あるいはスティックモーションの発生を抑制する。
【解決手段】位置指令から算出される速度値に基づいてモータ11の速度立ち上がりを検出し、速度立ち上がりを検出したときに、2次インパルス応答で表される補償値を発生する象限突起補償部30を設ける。象限突起補償部30で発生した補償値により、モータ11に対するトルク指令を補償する。
【選択図】図1
【特許請求の範囲】
【請求項1】
位置指令とモータからフィードバックされた位置とに基づいて前記モータに対するトルク指令を発生して前記モータのサーボ制御を行なうモータ制御方法であって、
前記位置指令から算出される速度値に基づいて前記モータの速度立ち上がりを検出し、
前記速度立ち上がりを検出したときに、2次インパルス応答で表される補償値を発生し、
前記補償値に基づいて前記モータに対する前記トルク指令を補償する、モータ制御方法。
【請求項2】
前記速度立ち上がりから前記補償値の立ち上がりまでの時間である遅延時間、前記補償値の立ち上がりから前記補償値がピークを示すまでの時間であるピークタイム、及び前記ピークにおける前記補償値の値であるピーク値の少なくとも1つを調整可能とする、請求項1に記載のモータ制御方法。
【請求項3】
前記速度立ち上がりに対応する前記モータの回転方向ごとに、前記遅延時間及び前記ピーク値が設定される、請求項2に記載のモータ制御方法。
【請求項4】
前記補償値を前記トルク指令に加算することにより前記トルク指令の補償を行う、請求項1乃至3のいずれか1項に記載のモータ制御方法。
【請求項5】
位置指令に基づいてモータのサーボ制御を行なうモータ制御装置であって、
前記位置指令と前記モータからフィードバックされた位置とに基づいて前記モータに対するトルク指令を発生する制御器と、
前記位置指令から算出される速度値に基づいて前記モータの速度立ち上がりを検出し、前記速度立ち上がりを検出したときに、2次インパルス応答で表される補償値を発生する象限突起補償部と、
を備え、
前記補償値に基づいて前記トルク指令が補償される、モータ制御装置。
【請求項6】
前記象限突起補償部は、
前記位置指令から前記速度値として速度指令を算出する速度指令値取得部と、
前記速度立ち上がりから前記補償値の立ち上がりまでの時間である遅延時間が設定されて、前記速度指令において前記速度立ち上がりが検出されたときに前記遅延時間のカウントを開始する遅延カウンタと、
前記補償値の立ち上がりから前記補償値がピークを示すまでの時間であるピークタイムと前記ピークにおける前記補償値の値であるピーク値とが設定されて、前記遅延カウンタが前記遅延時間のカウントが完了したときに前記補償値を発生する補償値算出部と、
を備える、請求項5に記載のモータ制御装置。
【請求項7】
前記モータの回転方向ごとに前記補償値算出部が設けられ、
前記遅延カウンタにおいて前記回転方向ごとに前記遅延時間が設定される、
請求項6に記載のモータ制御装置。
【請求項8】
外部入力に基づいて前記遅延カウンタに前記遅延時間を設定し、前記補償値算出部に前記ピークタイム及び前記ピーク値を設定するパラメータ設定部をさらに備える、請求項6または7に記載のモータ制御装置。
【請求項9】
前記補償値を前記トルク指令に加算することにより前記トルク指令の補償が行なわれる、請求項5乃至8のいずれか1項に記載のモータ制御装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、位置指令に基づいてモータを制御する方法及び装置に関し、特に、象限突起あるいはスティックモーションと呼ばれる現象の発生を抑制できるモータ制御方法及びモータ制御装置に関する。
【背景技術】
【0002】
位置指令に基づいてモータをサーボ制御するときに、象限突起あるいはスティックモーションと呼ばれる現象が発生することがある。この現象は、モータの回転方向が反転するときなどに、速度が0に近いときの摩擦力の増加の影響やバックラッシュの影響により位置制御遅れが発生して位置偏差が一時的に大きくなることによるものである。図1は、象限突起を説明する図である。図示されるように直交するX軸及びY軸を有し各軸のモータによってXY平面内でツールを移動させることができる工作機械において、XY平面において原点Oを中心とする円周上で図示矢印方向にツールを動かしてワーク90を加工することを考える。X軸のモータが回転方向を反転させるタイミングではY軸のモータは最高速度で動いており、このタイミングにおいてX軸においてモータの位置制御遅れが発生すると、加工対象のワーク90において円周から外側方向に飛び出すような突起91が生じる。このような突起91は、ワーク90の外周に沿って等角度間隔で4か所に発生する。この突起91は、XY平面で定義される象限の境界付近で発生するので、象限突起と呼ばれる。象限突起は、モータの速度が0から立ち上がるときの位置制御遅れによって位置偏差の一時的な増加が起きることに起因するので、モータを駆動する制御器における制御ゲインパラメータを大きくすることによって抑制できる。しかしながら、制御器の制御ゲインパラメータを大きくした場合には、制御対象のシステムの剛性が低い場合には発振を誘発するため、制御ゲインパラメータを大きくすることには限界がある。そのため、制御ゲインパラメータの調整によっては象限突起の発生を抑制することは難しい。
【0003】
制御ゲインパラメータの調整によらずに象限突起の発生を抑制する方法として、例えば以下に記載するものが知られている。特許文献1は、モータの速度の変化が例えばステップ状であるとして、位置制御遅れと同じ程度の時定数を有するローパスフィルタにこのステップ状の変化を入力して得られた結果をトルク指令に加算することを開示している。特許文献2は、工作機械を制御する数値制御装置において、加工プログラムを解析して各軸の実際の移動量を算出し、算出された移動量に基づいてロストモーション補正を行うことを開示している。特許文献3は、加速度で変化する変数を使用してステップ状に変化する補償量を算出してこの補償量を位置指令に加算することを開示している。特許文献4は、シグモイド関数で表される補償値をトルク指令に加算することを開示している。特許文献5は、モータを繰り返して駆動して位置偏差を求め、得られた位置偏差に基づいて学習を行って近似曲線を取得し、取得した近似曲線に基づいて補正指令を発生して速度指令またはトルク指令に加算することを開示している。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2020-202603号公報
【特許文献2】特許第6494874号公報
【特許文献3】特許第4510723号公報
【特許文献4】特許第6185374号公報
【特許文献5】特開2012-93982号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
制御ゲインパラメータを調整することなく象限突起の発生を抑制する技術のうち特許文献2-4に記載されたものは、補正に用いる値や補償量、補償値を算出するための演算負荷が大きいという課題を有する。また特許文献5に記載されたものは、学習を行う必要があってそのための作業工数を必要とするという課題を有する。
【0006】
本発明の目的は、少ない演算量で象限突起あるいはスティックモーションの発生を抑制することができるモータ制御方法とモータ制御装置とを提供することにある。
【課題を解決するための手段】
【0007】
本発明に基づくモータ制御方法は、位置指令とモータからフィードバックされた位置とに基づいてモータに対するトルク指令を発生してモータのサーボ制御を行なうモータ制御方法であって、位置指令から算出される速度値に基づいてモータの速度立ち上がりを検出し、速度立ち上がりを検出したときに、2次インパルス応答で表される補償値を発生し、補償値に基づいてモータに対するトルク指令を補償する。
【0008】
モータの回転方向が反転するときなどに発生する象限突起あるいはスティックモーションは、モータの速度が0から立ち上がるときの位置制御遅れによって発生する。そこで本発明に基づくモータ制御方法では、モータの速度立ち上がりを検出したときに、位置制御遅れを補償するようにトルク指令に対する補償を行う。このとき、補償値として、2次インパルス応答で表されるものを使用する。ここで2次インパルス応答とは、インパルスあるいはインパルス関数を2次遅れ要素で表されるモデルに入力したときに出力として得られる応答のことである。2次インパルス応答で表される補償値によってトルク指令を補償することは位置制御遅れの補償に特化したフィードフォワード補償を行うことに相当するから、本発明に基づくモータ制御方法によれば、制御器における制御ゲインパラメータの調整を行うことなく、象限突起の発生を抑制することができる。2次インパルス応答を表す関数の形状は単純であるので、少ない演算量で補償値を発生することができる。
【0009】
本発明に基づくモータ制御方法では、(a)モータの速度立ち上がりから補償値の立ち上がりまでの時間である遅延時間、(b)補償値の立ち上がりから補償値がピークを示すまでの時間であるピークタイム、及び(c)ピークにおける補償値の値であるピーク値のうちの少なくとも1つを調整可能とすることが好ましい。これらのパラメータを調整可能とすることによって、種々のシステムにおいてモータごとに象限突起の発生の抑制を適切に行うことが可能になる。
【0010】
本発明に基づくモータ制御方法では、速度立ち上がりに対応するモータの回転方向ごとに、遅延時間及びピーク値が設定されることが好ましい。このように構成することにより、モータの回転方向に応じて象限突起の発生状況が異なる場合においても、象限突起を適切に補償することが可能になる。
【0011】
本発明に基づくモータ制御方法では、補償値をトルク指令に加算することによりトルク指令の補償を行うことが好ましい。補償値をトルク指令に加算することにより、補償のための演算量を軽減することができる。
【0012】
本発明に基づくモータ制御装置は、位置指令に基づいてモータのサーボ制御を行なうモータ制御装置であって、位置指令とモータからフィードバックされた位置とに基づいてモータに対するトルク指令を発生する制御器と、位置指令から算出される速度値に基づいてモータの速度立ち上がりを検出し、速度立ち上がりを検出したときに、2次インパルス応答で表される補償値を発生する象限突起補償部と、を備え、補償値に基づいてトルク指令が補償される。
【0013】
本発明に基づくモータ制御装置では、モータにおける速度立ち上がりを検出したときに2次インパルス応答で表される補償値を発生する象限突起補償部が設けられており、この補償値よってトルク指令に対する補償を行う。2次インパルス応答で表される補償値によってトルク指令を補償することは位置制御遅れの補償に特化したフィードフォワード補償を行うことに相当するから、本発明に基づくモータ制御装置によれば、制御器における制御ゲインパラメータの調整を行うことなく、また演算負荷の増大をもたらすことなく、象限突起の発生を抑制することができる。
【0014】
本発明に基づくモータ制御装置では、象限突起補償部は、位置指令から速度値として速度指令を算出する速度指令値取得部と、速度立ち上がりから補償値の立ち上がりまでの時間である遅延時間が設定されて、速度指令に基づいて速度立ち上がりが検出されたときに遅延時間のカウントを開始する遅延カウンタと、補償値の立ち上がりから補償値がピークを示すまでの時間であるピークタイムとピークにおける補償値の値であるピーク値とが設定されて、遅延カウンタが遅延時間のカウントが完了したときに補償値を発生する補償値算出部と、を備えてもよい。このような象限突起補償部を用いることにより、補償値の発生を容易に行ることができるようになる。
【0015】
本発明に基づくモータ制御装置では、モータの回転方向ごとに補償値算出部を設け、遅延カウンタにおいて回転方向ごとに遅延時間を設定することが好ましい。このように構成することにより、モータの回転方向に応じて象限突起の発生状況が異なる場合においても、象限突起を良好に補償することが可能になる。
【0016】
本発明に基づくモータ制御装置では、外部入力に基づいて遅延カウンタに遅延時間を設定し、補償値算出部にピークタイム及びピーク値を設定するパラメータ設定部をさらに設けることが好ましい。このように外部入力によって遅延時間、ピークタイム及びピーク値を設定できるようにすることによって、種々のシステムにおいてモータごとに象限突起の発生の抑制を良好に行うことが可能になる。
【0017】
本発明のモータ制御装置では、補償値をトルク指令に加算することによりトルク指令の補償が行なわれるようにしてもよい。補償値をトルク指令に加算することにより、補償のための演算量を軽減することができる。
【発明の効果】
【0018】
本発明によれば、少ない演算量で象限突起あるいはスティックモーションの発生を良好に抑制することができるようになる。
【図面の簡単な説明】
【0019】
図1】象限突起を説明する模式図である。
図2】本発明の実施の一形態のモータ制御装置の構成を示すブロック図である。
図3】2次インパルス応答を説明する図である。
図4】ピークタイムの変化による補償値の形状の変化を説明するグラフである。
図5】補償値に関して設定可能なパラメータを説明する図である。
図6】象限突起補償部の構成の一例を示すブロック図である。
図7】象限突起の補償を説明するグラフである。
【発明を実施するための形態】
【0020】
次に、本発明の実施の形態について、図面を参照して説明する。図2は、本発明の実施の一形態のモータ制御装置の構成を示すブロック図である。図2に示すモータ制御装置10は、モータ11に対する位置指令を入力として、モータ11の位置が位置指令によって指示された位置に追従するように、サーボ制御によってモータ11を駆動するものである。モータ11には不図示のエンコーダが取り付けられており、このエンコーダから、モータ11の現在の位置が常時、モータ制御装置10にフィードバックされる。
【0021】
モータ制御装置10は、モータ11のフィードバックされた位置を位置指令から減算することにより位置偏差を算出する減算要素21と、位置指令に基づいてフィードフォワード制御を行なうフィードフォワード(FF)制御部22と、位置偏差に対してフィードフォワード制御部22の出力を加算する加算要素23と、モデル演算を行って系に入力する外乱などを推定するオブザーバ部24と、加算要素23の出力からオブサーバ部24の出力を減算する減算要素25と、減算要素25の出力が入力してトルク指令を発生するトルク制御部26と、トルク指令に基づいた電流によってモータ11を駆動する電流制御部27と、を備えている。オブサーバ部24には、フィードバックされた位置と減算要素の出力とが入力する。減算要素21、フィードフォワード制御部22、加算要素23、オブザーバ部24、減算要素25及びトルク制御部26によって、モータ11をサーボ制御する制御器が構成されている。さらにこのモータ制御装置10は、位置指令から算出される速度値に基づいてモータ11の速度立ち上がりを検出し、この速度立ち上がりを検出したときに2次インパルス応答で表される補償値を発生する象限突起補償部30を備えている。象限突起補償部30で発生した補償値はトルク制御部26に送られ、トルク制御部26で発生するトルク指令をその次元で補償するために使用される。例えば、トルク制御部26で発生するトルク指令に対し、象限突起補償部30から出力された補償値が加算される。象限突起補償部30において速度を算出するときは、時間に対する位置指令の微分値または差分値を求めればよい。
【0022】
象限突起あるいはスティックモーションは、モータの速度が0から立ち上がるときの位置制御遅れによって発生する。モータの回転方向が反転するときもモータの速度はいったんは0となるから、この場合も速度0からの速度立ち上がりが発生する。位置制御遅れが発生すると、一時的に位置偏差が大きくなる、すなわち位置偏差における「溜まり」が発生する。本実施形態では、速度立ち上がり時の位置制御遅れを補償するために、速度立ち上がりがあったタイミングから短期間の間だけ、象限突起補償部30において補償値を発生し、この補償値によってトルク指令を補償することにより、位置偏差の溜まりを解消させる方向でモータの駆動を後押しする。その結果、位置偏差が一時的に大きくなる現象が起こらなくなり、象限突起の発生が抑制される。
【0023】
モータのサーボ制御を行なう近年のモータ制御装置は、一般に、マイクロプロセッサあるいはマイクロコントローラを備えてソフトウェアを実行するように構成され、制御周期あるいはサンプリング周期などと呼ばれる一定の周期でデジタル演算を行うことにより、モータの制御を行なう。本実施形態のモータ制御装置10においても、電流制御部27を除いた部分は、マイクロプロセッサあるいはマイクロコントローラ上で実行されるソフトウェアによって実現できる。したがって、象限突起補償部30もソフトウェアによって実現でき、その場合、制御周期ごとに位置指令値を取得してその差分値を求めることにより、モータ11に対する速度指令を得ることができ、速度指令の値が0(あるいは0に極めて近い値)から非0の値に変化したときに、モータ11において速度立ち上がりがあったと判定することができる。
【0024】
次に、本実施形態において象限突起補償部30において発生する補償値について説明する。図3は補償値の発生を説明する図である。本実施形態では、補償値として、2次インパルス応答で表されるものを使用する。2次インパルス応答とは、インパルスを、2次遅れ要素で表されるモデルに入力して得られる出力のことである。時間の関数δ(t)としてインパルスを表すと、インパルスは下記式(1)で表される。ここではX>0とする。図3において左端のグラフがインパルスを示している。
【0025】
【数1】
【0026】
象限突起の補償には振動要素は不要であるので、本実施形態での2次遅れ要素の伝達関数として、2次インパルス応答の立ち上がりからそのピークまでの時間すなわちピークタイムをTとして、下記式(2)で表されるものを用いることができる。ここではeが自然対数の底であるとして(すなわちe≒2.71828であるとして)、K=eとすることができる。
【0027】
【数2】
【0028】
式(2)で表されるモデルに対し、式(1)で示されるインパルスを入力信号として与えると、下記式(3)で示される出力信号が得られる。これが2次インパルス応答である。式(3)で示す2次インパルス応答Y(t)は、明らかに時間の関数であり、本実施形態では、これを象限突起を補償するために使用する。
【0029】
【数3】
【0030】
K=eであるときに式(3)にt=Pを代入すると、Y(P)=Xが得られる。また、式(3)の右辺を微分したものはt=Pにおいて0となるから、t=PのときにY(t)が最大すなわちピークとなって、そのときにピーク値がXであることが分かる。図3の右端に示すグラフは、X=1であるときの2次インパルス応答Y(t)のグラフである。なお、インパルスが入力する前は応答は0であるので、t<0であるときは、Y(t)=0である。そして、補償値の立ち上がりとは、式(3)においてt=0であるタイミングのことを意味する。2次インパルス応答は、インパルスを1次遅れ要素に入力して得られる1次インパルス応答に比べると、立ち上がりが緩やかである。本発明者らの検討によれば、1次インパルス応答では立ち上がりが急峻過ぎて象限突起の補償に用いた場合にはモータの動作に悪影響を及ぼしたが、2次インパルス応答ではモータの動作に悪影響を及ぼすことはなかった。
【0031】
ピークタイムPを変化させると、2次インパルス応答の波形の形状も変化する。図4は、ピーク値Xを1に固定してピークタイムPを1ミリ秒から100ミリ秒の間で変化させたときに、2次インパルス応答の波形の形状がどのように変化するかを示している。
【0032】
式(3)から明らかなように、K=eに固定すれば、2次インパルス応答Y(t)は、ピークタイムPとピーク値Xの2つのパラメータによってその大きさや形状が決定する。工作機械などのシステムではモータごとに象限突起の大きさや形状が異なり、さらにモータでの速度立ち上がりから象限突起の発生までのタイミングが異なる。そこで象限突起補償部30は、モータ制御装置10が制御対象とするシステムに応じて象限突起を良好に補償できるように、ピークタイムPとピーク値Xとを調整でき、さらには、モータ11の速度立ち上がりから2次インパルス応答である補償値の立ち上がりまでの時間、すなわち遅延時間Dを調整できるように構成されている。具体的には象限突起補償部30は、外部からの入力によって遅延時間D、ピークタイムP及びピーク値Xを設定できるように構成されている。
【0033】
図5は、象限突起補償部30において調整可能なパラメータを説明する図であり、2次インパルス応答である補償値のどこを調節可能であるかを示している。モータ11の回転方向のうち一方を正方向、他方を負方向と呼ぶこととすると、モータ11の回転方向が反転するときは、正方向から負方向へと回転方向が変化する場合と、負方向から正方向へと回転方向が変化する場合との2通りの場合があり、これらの場合において象限突起の大きさや発生タイミングが異なることがある。そこで本実施形態では、モータ11における速度立ち上がりが正方向の回転のものなのか、負方向の回転のものなのかに応じ、遅延時間Dやピーク値Xを別々に設定できるようにしている。図5において実線で示す曲線は、モータ11が正方向への回転を開始するときの補償値を示しており、破線で示す曲線は、モータ11が負方向への回転を開始するときの補償値を示している。負方向への回転が開始するときの補償値は、ピーク値Xを負の値とするので0から負方向に変化するが、本明細書では説明を簡単にするために、補償値が0から負方向に変化するタイミングのことも補償値の立ち上がりと呼んでいる。図5では、モータ11が正方向への回転する場合に関し、モータ11の速度立ち上がりSから補償値の立ち上がりまで遅延時間がD1で示され、ピーク値がX1で示されている。同様に、モータ11が負方向への回転する場合に関し、モータ11の速度立ち上がりSから補償値の立ち上がりまで遅延時間がD2で示され、ピーク値がX2で示されている。ピークタイムPについては、正方向の場合の補償値と負方向の場合の補償値とで共通の値が使用されている。D1,D2,P,X1,X2は、本実施形態において象限突起補償部30に対して設定可能な5つのパラメータである。
【0034】
次に、このように5つのパラメータD1,D2,P,X1,X2を設定可能な象限突起補償部30の構成について説明する。図6は、象限突起補償部30の構成の一例を示すブロック図である。象限突起補償部30は、モータ11の位置指令が入力して位置指令から速度指令を取得する速度指令取得部31と、状態管理部32と、遅延時間D1,D2を発生させるためにクロックの計数を行う遅延カウンタ33と、ピークタイムP及びピーク値X1で表される補償値を発生させる正方向補償値算出部34と、ピークタイムP及びピーク値X2で表される補償値を発生させる負方向補償値算出部35と、外部からの設定入力に基づいて遅延時間D1,D2を遅延カウンタ33に設定し、ピークタイムP及びピーク値X1を正方向補償値算出部34に設定し、ピークタイムP及びピーク値X2を負方向補償値算出部35に設定するパラメータ設定部36とを備えている。遅延カウンタ33がカウントするクロックには、モータ制御装置10の制御周期の1周期を1クロックとするクロック、すなわち制御周期そのものを用いることができる。象限突起補償部30は、全体として、モータ制御装置10の制御周期を1周期とするステートマシンとして動作し、状態管理部32は、象限突起補償部30における状態(ステート)の管理を行う。
【0035】
速度指令取得部31は、モータ制御装置10の制御周期ごとにモータ11に対する位置指令を取得し、その差分値を求めて速度指令とする。位置指令が変化しないということは、モータ11の速度を0とするということであり、位置指令の差分値として求められる速度指令の値も0になる。速度指令は、0か、モータ11を正方向に回転させるようする正の値か、あるいは、負方向に回転させようとする負の値かのいずれかの値をとる。速度指令は速度指令取得部31から状態管理部32に供給される。
【0036】
状態管理部32は、遅延カウンタ33でのクロックのカウントのスタートと遅延カウンタ33のリセットとを実行し、また、正方向補償値算出部34及び負方向補償値算出部35に対してそれぞれイネーブル指令を出力する。具体的には状態管理部32は、速度指令の値が一定時間にわたって0のときは遅延カウンタ33をリセットし遅延カウンタ33の値を0にする。また、速度指令が正の値から0または負の値に変化したときと、速度指令が負の値から0または正の値に変化したときも、モータ11における次の回転方向に対して準備するために、状態管理部32は、遅延カウンタ33をリセットする。速度指令が0から0以外の値となったときに、状態管理部32は、スタート指令を出力して遅延カウンタ33でのクロックのカウントを開始させる。また状態管理部32は、速度指令の値が正の値であるときに正方向補償値算出部34に対してイネーブル指令を出力し、速度指令の値が負の値であるときに負方向補償値算出部35に対してイネーブル指令を出力する。
【0037】
遅延カウンタ33は、状態管理部32からのスタート指令によってクロックのカウントを開始する。速度指令の値が0以外であって同じ符号である間は状態管理部32は遅延カウンタ33をリセットしないので、その間は、遅延カウンタ33は、クロックのカウントを継続する。そして予め設定されている遅延時間D1,D2にカウント値が到達したら、遅延カウンタ33は、遅延時間D1,D2が完了したことを正方向補償値算出部34及び負方向補償値算出部35にそれぞれ通知する。正方向補償値算出部34は、状態管理部32からイネーブル指令が出力され、かつ、遅延カウンタ33から遅延時間D1の完了が通知されたら、ピークタイムP及びピーク値X1で表される2次インパルス応答である補償値を発生させる。すなわち正方向補償値算出部34は、速度指令の値が正であって遅延時間D1が完了したら、正方向の補償値を発生させる。同様に負方向補償値算出部35は、状態管理部32からイネーブル指令が出力され、かつ、遅延カウンタ33から遅延時間D2の完了が通知されたら、ピークタイムP及びピーク値X2で表される2次インパルス応答である補償値を発生させる。言い換えれば負方向補償値算出部35は、速度指令の値が負であって遅延時間D2が完了したら、負方向の補償値を発生させる。
【0038】
このようにして、象限突起補償部30では、モータ11の速度立ち上がりを検出しそれが正方向の回転に対応するものであるときは、速度立ち上がりから遅延時間D1の経過後に、正方向補償値算出部34が、ピークタイムP及びピーク値X1で表される2次インパルス応答である補償値を発生させる。同様に、モータ11の速度立ち上がりを検出しそれが負方向の回転に対応するものであるときは、速度立ち上がりから遅延時間D2の経過後に、負方向補償値算出部35が、ピークタイムP及びピーク値X2で表される2次インパルス応答である補償値を発生させる。このようにして発生した補償値は、トルク制御部26に入力する。なお遅延時間のカウント中に速度指令が0になったりモータ11の回転方向が反転したときは、その時点で遅延カウンタ33がリセットされるから、補償値は発生しない。例えば正方向への速度立ち上がりが検出されて遅延カウンタ33が遅延時間D1のカウントを開始しても、遅延時間D1に到達する前に速度指令の値が0または負になるとその時点で状態管理部32によって遅延カウンタ33がリセットされるから、カウント値が遅延時間D1に達することはなく、正方向補償値算出部34が補償値を発生することはない。
【0039】
図7は、本実施形態のモータ制御装置10を用い、回転方向を反転させるようにモータ11の制御を行なったときの象限突起の補償を説明するグラフである。図7において、横軸に示される時間は、モータ制御装置10の制御周期の40倍の時間を1サンプルとしてこのサンプルを単位とするものである。図7(a)は、象限突起補償部30を作動させなかった場合の速度指令の時間変化と、フィードバックされた速度すなわちモータ11の実際の速度の時間変化を示している。図7(b)は、象限突起補償部30を作動させた場合の速度指令とフィードバックされた速度の時間変化を示している。縦軸の速度は、モータ制御装置10の内部でモータ11の位置の差分をパルス数で表しているとして、位置の差分を示すパルス数をモータ制御装置10の制御周期で除算した値により表されている。象限突起の補償を行わない場合を示す図7(a)では、回転方向の反転のために速度指令が0となった直後のタイミングで、図においてAの領域で示すように、モータ11の実際の速度(速度フィードバックで示される速度)が上昇せず、速度指令からの乖離が大きくなっている。これは、動摩擦よりも静摩擦が大きいことやバックラッシュの影響のためであると考えられる。そして、Aの領域に引き続くBの領域では、速度指令よりも実際の速度の方が大きくなっている。これに対し、象限突起の補償を行った場合を示す図7(b)では、領域A,Bのいずれにおいても速度指令と実際の速度がほぼ一致している。これにより、本発明に基づくモータ制御方法によれば、モータ11の回転方向の反転が起きたときに、その反転直後でのモータの速度停止を改善できることが分かる。
【0040】
図7(c)は、象限突起補償部30を作動させなかった場合の位置偏差の時間変化を示し、図7(d)は、象限突起補償部30を作動させた場合の位置偏差の時間変化を示している。縦軸の位置偏差は、モータ制御装置10内でモータ11の位置を示すために用いられるパルス数を単位として表されている。象限突起の補償を行わない場合には、モータ11の回転方向の反転があるたびに、図においてC~Eの領域で示すように、位置偏差の溜まり、すなわち位置偏差の一時的な蓄積が起きている。これに対し、象限突起の補償を行った場合を示す図7(d)では、領域C~Eのいずれにおいても位置偏差の溜まりは起きていない。本発明に基づくモータ制御方法によれば、モータ11の回転方向の反転が起きた時に、その反転直後での位置偏差の溜まりを改善できることが分かる。
【0041】
以上説明した本実施形態によれば、モータ11の速度立ち上がりを検出したときに2次インパルス応答である補償値を発生し、この補償値によってトルク指令を補償するので、象限突起の原因となる位置偏差の一時的な上昇を抑えることができて象限突起の発生を抑制することができる。また、遅延時間、ピークタイム及びピーク値を調整可能とすることにより、種々のシステムに組み込まれているモータに関し、モータごとに象限突起の補償の最適化を図ることが可能になる。
【0042】
以上の説明では、モータ11のサーボ制御を行なう制御器は、位置偏差を算出する減算要素21、フィードフォワード制御を行なうフィードフォワード制御部22、モデル演算を行って系に入力する外乱などを推定するオブザーバ部24などを備えているが、本発明が適用可能な制御器はこれに限定されるものではない。例えば、単純なPI(比例積分)制御やPID(比例積分微分)制御を行なう制御器に対し、上述した象限突起補償部30を付加し、象限突起補償部30で発生した補償値によりモータ11に対するトルク指令の補償を行うことによって、象限突起の発生を抑制することができる。
【符号の説明】
【0043】
10…モータ制御装置;11…モータ;21,25…減算要素;22…フィードフォワード(FF)制御部;23…加算要素;24…オブサーバ部;26…トルク制御部;27…電流制御部;30…象限突起補償部;31…速度指令取得部;32…状態管理部;33…遅延カウンタ;34…正方向補償値算出部;35…負方向補償値算出部;36…パラメータ設定部。
図1
図2
図3
図4
図5
図6
図7