(57)【要約】【課題】位置制御周期が変動しても原点信号と位置関係に悪影響を及ぼすことのないモータ制御装置と位置制御方法を提供する。【解決手段】位置制御部は、位置制御周期をモータ位置生成時刻増分値で除し、予め設定された第１位置制御ゲインを乗じて第２位置制御ゲインを生成する第２位置制御ゲイン生成部（２１）と、位置指令増分値と第１位置制御ゲインを乗じた値からモータ速度増分値と第２位置制御ゲインを乗じた値を減算し、さらに前回の速度指令を加算して新たな速度指令とする速度指令生成部（２２）と、を備えた。【選択図】図１
2010206929.tif 000002
【特許請求の範囲】
【請求項１】
位置検出器から周期的にモータ位置とモータ位置生成時刻を受信する送受信部と、位置指令と前記モータ位置と前記モータ位置生成時刻から速度指令を生成する位置制御部と、前記モータ位置と前記モータ位置生成時刻からモータ速度を生成するモータ速度生成部と、前記速度指令とモータ速度からトルク指令を生成する速度制御部と、前記トルク指令に基づいてモータを駆動するトルク制御部と、を備えたモータ制御装置において、
前記位置制御部は、
位置制御周期をモータ位置生成時刻増分値で除し、予め設定された第１位置制御ゲインを乗じて第２位置制御ゲインを生成する第２位置制御ゲイン生成部と、
前記位置指令増分値と第１位置制御ゲインを乗じた値からモータ速度増分値と前記第２位置制御ゲインを乗じた値を減算し、さらに前回の速度指令を加算して新たな速度指令とする速度指令生成部と、
を備えることを特徴とするモータ制御装置。
【請求項２】
前記位置制御部は、前記モータ位置生成時刻増分値が前記位置制御周期よりも所定値より小さいときは、前記位置指令と前記モータ位置の差に前記第１位置制御ゲインを乗じた値を速度指令とすることを特徴とする請求項１記載のモータ制御装置。
【請求項３】
位置検出器から周期的にモータ位置とモータ位置生成時刻を受信する送受信部と、位置指令と前記モータ位置と前記モータ位置生成時刻から速度指令を生成する位置制御部と、前記モータ位置と前記モータ位置生成時刻からモータ速度を生成するモータ速度生成部と、前記速度指令とモータ速度からトルク指令を生成する速度制御部と、前記トルク指令に基づいてモータを駆動するトルク制御部と、を備えたモータ制御装置の位置制御方法において、
位置制御周期をモータ位置生成時刻増分値で除し、予め設定された第１位置制御ゲインを乗じて第２位置制御ゲインを生成するステップと、
前記位置指令増分値と第１位置制御ゲインを乗じた値からモータ速度増分値と前記第２位置制御ゲインを乗じた値を減算し、さらに前回の速度指令を加算して新たな速度指令とするステップと、
を備えることを特徴とするモータ制御装置の位置制御方法。
【請求項４】
前記モータ位置生成時刻増分値が前記位置制御周期よりも所定値より小さいときは、前記位置指令と前記モータ位置の差に前記第１位置制御ゲインを乗じた値を速度指令とするステップを備えたことを特徴とする請求項３記載のモータ制御装置の位置制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、サーボモータ等を位置指令と位置検出器の位置情報により動作制御するモータ制御装置とその位置制御方法に関する。  
【背景技術】
【０００２】
従来の複数のモータ制御装置で構成されるＣＮＣ装置（特許文献１参照）では、位置検出器及びデータ伝送等を安価で安定な比較的低周期の独立時間同期データ方式（例えばシリアル通信方式など）にすると、ＣＮＣ装置から出力される位置ループ処理の同期信号とエンコーダ位置データのサンプリングタイミング信号との同期がとれず位置制御の精度が悪くなる課題に対して、位置検出手段とサーボ系制御手段との間にタイマー手段及び位置データ処理手段を設けることによって、位置検出手段からの位置データは制御手段の読み込み等における値に補正して出力することにより精度の悪化を防いでいた。
【０００３】
図４は従来のモータ制御装置の構成を示すブロック図である。図４において４０１はサーボ制御ユニット部であり、位置データ処理部４０５、位置データバッファ４０６、制御部４０７およびタイマ４０８とから成る。４０２はサーボアンプ部で制御部４０７からの制御指令を受けてサーボモータ４０３に制御電流を流す。４０４はサーボモータに内蔵されたエンコーダで、モータによる送り位置を一定周期でデジタル信号化してサーボ制御ユニット部４０１に出力する。４０６はエンコーダより送られてくる位置データを記憶するバッファである。４０５はＣＮＣ装置本体からの同期信号によりバッファ４０６から位置データを読み取り、またタイマ４０８よりタイマデータを読み取り、位置データを補正処理してからＣＮＣ装置本体へ送る機能を有する位置データ処理部である。４０７は制御部で、ＣＮＣ装置本体より速度指令等の制御信号を受取り、サーボアンプ部４０２へモータ制御指令を送る。４０８はタイマで、エンコーダ４０４からの位置データをバッファ４０６が受信する度にクリアされてスタートし、ＣＮＣ装置本体からの同期信号で位置データ処理部４０５によりタイマデータが読み出されるまで計時する。
【０００４】
位置データ処理部４０５では、読み出したＣＮＣ装置本体からの位置信号によりバッファ４０６から位置データを、またタイマ４０８からタイマデータを読み出す。さらに位置データ処理部４０５では、読み出したタイマデータと位置データが検出される一定周期の比からタイマデータ分に対応する位置データ分を比例配分に基づいて演算して求める。
求めた位置データ分は読み出した位置データに加算されることによって、エンコーダから一定周期で検出される位置データは、同期信号の発生時に対応した位置データに補正されてからＣＮＣ装置本体に出力される。これによりＣＮＣ装置から出力される同期信号とエンコーダ位置サンプリングタイミング信号の同期がとれていなくてもＣＮＣ装置に出力される位置データが補正できるため位置制御の精度が向上されていた。
【０００５】
また従来技術（特許文献２参照）では、タイマ割込みを用いてデータの駆動を制御する電子機器においてその遅延時間と位置データが検出される一定周期の比から遅延時間分に対応する位置データ分を比例配分に基づいて演算し、位置データを補正することで位置制御の精度向上を図っていた。
いずれの従来技術においても位置制御周期と位置データの周期性に問題がある場合に位置データを補正することで位置制御の精度向上を図っている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開平８−１９４５４１号公報（第３頁、１図）
【特許文献２】特開２００６−３３８３６７号公報（第５頁−１０頁）
【発明の開示】
【発明が解決しようとする課題】
【０００７】
従来技術のように位置データを補正する場合には、以下の課題があった。
図５は位置制御処理が一定周期で実施されない場合のエンコーダから検出したデータ、補正した位置データ及びエンコーダ原点信号の関係を表す図であり、例えば、位置データがモータ原点信号付近の場合にモータを制御する位置制御処理が他の割込み処理により位置データを検出する周期が時間αだけ遅らされた場合においても、補正した結果、エンコーダから検出した位置データ（Ａ）は原点信号通過後のため、原点信号（Ｃ）を検出しているにも関わらず補正した位置データ（Ｂ）は原点通過前の位置となることが考えられ、原点信号を用いたエンコーダの位置管理に支障をきたすことが考えられる。
本発明は、従来技術の上記課題を解決するもので、位置制御周期が変動しても原点信号と位置関係に悪影響を及ぼすことのないモータ制御装置と位置制御方法を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記問題を解決するため、本発明は、次のようにしたのである。
請求項１に記載の発明は、位置検出器から周期的にモータ位置とモータ位置生成時刻を受信する送受信部と、位置指令と前記モータ位置と前記モータ位置生成時刻から速度指令を生成する位置制御部と、前記モータ位置と前記モータ位置生成時刻からモータ速度を生成するモータ速度生成部と、前記速度指令とモータ速度からトルク指令を生成する速度制御部と、前記トルク指令に基づいてモータを駆動するトルク制御部と、を備えたモータ制御装置において、前記位置制御部は、位置制御周期をモータ位置生成時刻増分値で除し、予め設定された第１位置制御ゲインを乗じて第２位置制御ゲインを生成する第２位置制御ゲイン生成部と、前記位置指令増分値と第１位置制御ゲインを乗じた値からモータ速度増分値と前記第２位置制御ゲインを乗じた値を減算し、さらに前回の速度指令を加算して新たな速度指令とする速度指令生成部と、を備えることを特徴とするものである。
【０００９】
請求項２に記載の発明は、請求項１記載のモータ制御装置において、前記位置制御部は、前記モータ位置生成時刻増分値が前記位置制御周期よりも所定値より小さいときは、前記位置指令と前記モータ位置の差に前記第１位置制御ゲインを乗じた値を速度指令とすることを特徴とするものである。
【００１０】
請求項３に記載の発明は、位置検出器から周期的にモータ位置とモータ位置生成時刻を受信する送受信部と、位置指令と前記モータ位置と前記モータ位置生成時刻から速度指令を生成する位置制御部と、前記モータ位置と前記モータ位置生成時刻からモータ速度を生成するモータ速度生成部と、前記速度指令とモータ速度からトルク指令を生成する速度制御部と、前記トルク指令に基づいてモータを駆動するトルク制御部と、を備えたモータ制御装置の位置制御方法において、位置制御周期をモータ位置生成時刻増分値で除し、予め設定された第１位置制御ゲインを乗じて第２の位置制御ゲインを生成するステップと、前記位置指令増分値と第１位置制御ゲインを乗じた値からモータ速度増分値と前記第２位置制御ゲインを乗じた値を減算し、さらに前回の速度指令を加算して新たな速度指令とするステップと、を備えることを特徴とするものである。
【００１１】
請求項４に記載の発明は、請求項３記載のモータ制御装置の位置制御方法において、前記モータ位置生成時刻増分値が前記位置制御周期よりも所定値より小さいときは、前記位置指令と前記モータ位置の差に前記第１位置制御ゲインを乗じた値を速度指令とするステップを備えたことを特徴とするものである。
【発明の効果】
【００１２】
請求項１または請求項３に記載の発明によると、例えば位置制御処理よりも優先順位の高い処理が実行されることにより位置制御処理が実行される周期が変動する場合でも、変動した時間に応じて位置制御ゲインを補正して位置制御処理を実行することにより位置制御処理から生成される速度指令対して位置制御周期の変動の影響を及ぼさないようにすることができ、かつ位置データ自体は補正されないため原点信号と位置関係に悪影響を及ぼすことはない。
また、請求項２または請求項４に記載の発明によると、位置制御周期の変動が所定の値よりも大きい場合に請求項１または請求項３に記載の位置制御処理を実行することができ、請求項１または請求項記載の位置制御処理演算を実行するためのＣＰＵの処理負荷を低減することができる。
【図面の簡単な説明】
【００１３】
【図１】本発明のモータ制御装置の構成を示すブロック図
【図２】本発明の位置制御方法を示すフローチャート
【図３】本発明の第２の位置制御方法を示すフローチャート
【図４】従来のモータ制御装置の構成を示すブロック図
【図５】位置制御処理が一定周期で実施されない場合の位置データ、補正した位置データ及びエンコーダ原点信号の関係を表す図
【発明を実施するための形態】
【００１４】
以下、本発明の方法の具体的実施例について、図に基づいて説明する。
【実施例１】
【００１５】
図１は、本発明のモータ制御装置の構成を示すブロック図である。図において、１はモータ制御装置、２は位置制御部、３は速度制御部、４はトルク制御部、５は送受信部、６はモータ速度生成部である。また、２１は第２制御ゲイン生成部、２２は速度指令生成部である。また、７はモータ、８は位置検出器である。
【００１６】
次に動作について説明する。送受信部５は定期的に位置検出器に対して送信要求信号を送信する。位置検出器は、送信要求信号を受けて直近のモータ位置とモータ位置生成時刻を返信する。送受信部５は取得したモータ位置とモータ位置生成時刻をモータ速度生成部６と位置制御部２に伝送する。モータ速度生成部、モータ位置増分値（今回のモータ位置から前回のモータ位置を減じたもの）をモータ位置生成時刻増分値（今回のモータ位置生成時刻から前回のモータ位置生成時刻を減じたもの）で除してモータ速度を生成する。位置制御部２は第２制御ゲイン生成部２１と速度指令生成部２２で構成されており、第２ゲイン生成部２１は、位置制御周期Ｔｓをモータ位置生成時刻増分値（Ｔ（ｎ）−Ｔ（ｎ−１））で除し、予め設定された第１位置制御ゲインＫｐを乗じて第２位置制御ゲインＫｐ‘を生成する。また、速度指令生成部２２は、位置指令増分値（Ｐｒｅｆ（ｎ）−Ｐｒｅｆ（ｎ−１））と第１位置制御ゲインＫｐを乗じた値からモータ位置増分値（Ｐｆｂ（ｎ）−Ｐｆｂ（ｎ−１））と前記第２位置制御ゲインＫｐ’を乗じた値を減算し、さらに前回の速度指令Ｖｒｅｆ（ｎ−１）を加算して新たな速度指令Ｖｒｅｆ（ｎ）とする（式（１）参照）。なお、ここではｎは今回、ｎ−１は前回を表すものとする。
【００１７】
式（１）において、ＫｐとＫｐ’が等しい場合、すなわちＴ（ｎ）とＴ（ｎ−１）の差分値がＴＳに等しい場合は、位置情報生成時刻の増分値が位置制御周期と等しくなり、位置情報生成時刻が変動しないこととなる。
【００１８】
Vref(t)  ＝（ΔPref(n)×Kp）−（ΔPfb(n)×Kp’）＋Vref(n-1)      （１）
ここで、
ΔPref(n)＝Pref(n)−Pref(n-1)
ΔPfb(n)＝  Pfb(n)−Pfb(n-1)
Kp’＝（TS÷（T(n)−T（n-1）））×Kp
である。
【００１９】
図２は本発明におけるモータ制御装置１のＣＰＵで実施される位置制御処理手順を示すフローチャートである。この図を用いて本発明の位置制御方法を順を追って説明する。
図２の位置制御処理は、位置制御周期毎に１回実行される。はじめにステップ１００でＣＰＵから送受信部５へ同期信号が設定され、これに同期して送信要求信号が送受信部５から位置検出器８に出力される。本信号を基準として位置検出器８から最新のモータ位置およびモータ位置生成時刻が送受信部５へ送信され、さらに位置検出器８でモータ位置が生成され、その時刻がモータ位置生成時刻として生成される。位置制御処理の先頭でステップ１を実行することにより位置制御処理実行とモータ位置情成を同期することが可能となる。次にステップ２００で位置検出器８からの受信データであるモータ位置、モータ位置生成時刻を送受信部５を介して読み込み、今回の位置情報Ｐｆｂ（ｎ）、今回の位置情報生成時刻Ｔ（ｎ）とする。次にステップ３００で前回の位置指令Ｐｒｅｆ（ｎ−１）、前回の位置情報Ｐｆｂ（ｎ−１）、前回の位置情報生成時刻Ｔ（ｎ−１）、前回の速度指令Ｖｒｅｆ（ｎ−１）を読み込み、さらに位置ループゲインＫｐ、位置制御周期ＴＳの制御パラメータを読み込む。次にステップ４００で上位コントローラ等から入力される今回の位置指令Ｐｒｅｆ（ｎ）を読み込む。
【００２０】
次にステップ５００でステップ２００からステップ４００で読み込んだデータ等を元に式（１）の位置制御演算を実行し、今回の速度指令Ｖｒｅｆ（ｎ）を生成する。つまり、位制御周期をモータ位置生成時刻増分値（Ｔ（ｎ）−Ｔ（ｎ−１））で除し、予め設定された第１位置制御ゲインＫｐを乗じて第２位置制御ゲインＫｐ‘を生成する。さらに、位置指令増分値（Ｐｒｅｆ（ｎ）−Ｐｒｅｆ（ｎ−１））と第１位置制御ゲインＫｐを乗じた値からモータ位置増分値（Ｐｆｂ（ｎ）−Ｐｆｂ（ｎ−１））と第２位置制御ゲインＫｐ’を乗じた値を減算し、前回の速度指令Ｖｒｅｆ（ｎ−１）を加算して新たな速度指令Ｖｒｅｆ（ｎ）とする。次にステップ６００で今回のデータである位置指令Ｐｒｅｆ（ｎ）、位置情報Ｐｆｂ（ｎ）、位置情報生成時刻Ｔ（ｎ）、速度指令Ｖｒｅｆ（ｎ）を保存する。保存されたこれらのデータは、次回の位置制御処理のステップ３００において前回のデータとして読み込まれ使用される。
【００２１】
このように、位置制御において、モータ位置が生成された時刻Ｔ（ｎ）を元に、速度指令の演算における位置制御ゲインを補正することによってモータ位置生成時刻の変動が影響しないように速度指令を補正するので、位置制御よりも優先度の高い処理が実行されモータ位置生成時刻が変動する場合においても速度指令が変動の影響を受けないようにすることができ、安定したモータの位置制御ができるのである。また、本方法による補正では、モータ位置自体を補正せず位置制御ゲインを補正するため、補正による位置データと原点信号との位置関係に悪影響を及ぼす問題が生じることがない。
【実施例２】
【００２２】
図３は第２の処理手順を示すフローチャートである。図３では、図２におけるステップ５００の位置制御演算を実行する条件として、ステップ４５０でモータ位置生成時刻の変化量（Ｔ（ｎ）−Ｔ（ｎ−１））が予め設定された閾値よりも大きい場合にはステップ５５０を実行し、小さい場合にはステップ５５０の従来通りの位置指令Ｐｒｅｆ（ｔｎ）とモータ位置Ｐｆｂ（ｔｎ）の差に前記第１位置制御ゲインＫｐを乗じた値を速度指令とする。この場合の閾値は、ステップ３００で制御パラメータとして読み込まれる。
【００２３】
このように、モータ位置生成時刻の変動が大きい場合にのみ速度指令を補正することとなり、演算量の多い式（１）の位置制御処理を常時実行する必要がなくなり実施例１におけるＣＰＵの処理負荷を低減することができる。
【符号の説明】
【００２４】
１  モータ制御装置
２  位置制御部
３  速度制御部
４  トルク制御部
５  送受信部
６  モータ速度生成部
７  モータ
８  位置検出器
２１  第２制御ゲイン生成部
２２  速度指令生成部
【図１】
2010206929.tif 000003
【図２】
2010206929.tif 000004
【図３】
2010206929.tif 000005
【図４】
2010206929.tif 000006
【図５】
2010206929.tif 000007