(57)【特許請求の範囲】
【請求項１】
案内装置の案内に沿って対象物を移動させるモータを制御するモータ制御装置であって、
前記モータの可動子が移動する速度と、前記対象物を移動させる際に生じる前記案内装置の摺動抵抗との相関関係を示す係数を複数の異なる案内装置ごとに予め記憶している補正係数記憶部と、
前記可動子が移動する速度と、前記対象物の移動を案内する前記案内装置の前記係数とから推力指令値に対する補正値を算出する補正値算出部と、
外部より入力される指令値に基づいた推力指令値と前記補正値とから補正された推力指令値を算出する演算部と、
前記補正された推力指令値に基づいて前記モータを駆動させる推力制御部と
を備えることを特徴とするモータ制御装置。
【請求項２】
請求項１に記載のモータ制御装置であって、
前記演算部は、
前記可動子が移動する速度を加速させる場合には前記推力指令値と前記補正値とを加算することにより前記補正された推力指令値を算出し、前記可動子が移動する速度を減速させる場合には前記推力指令値から前記補正値を減算することにより前記補正された推力指令値を算出する
ことを特徴とするモータ制御装置。
【請求項３】
請求項１又は請求項２に記載のモータ制御装置であって、
前記モータの駆動時間を計測するタイマと、
を備え、
前記補正係数記憶部には、前記モータの駆動時間に対応付けられた前記係数が複数の異なる案内装置ごと記憶されており、
前記補正値算出部は、前記タイマにより計測された駆動時間に対応する前記係数であって前記対象物の移動を案内する前記案内装置の前記係数と、前記可動子が移動する速度とから前記補正値を算出する、
ことを特徴とするモータ制御装置。
【請求項４】
モータの可動子が移動する速度と案内装置の案内に沿って対象物を移動させる際に生じる前記案内装置の摺動抵抗との相関関係を示す係数を複数の異なる案内装置ごとに予め記憶している補正係数記憶部を備え、前記対象物を移動させる前記モータを制御するモータ制御装置が行うモータ制御方法であって、
前記可動子が移動する速度と、前記対象物の移動を案内する前記案内装置の前記係数とから推力指令値に対する補正値を算出する補正値算出ステップと、
外部より入力される指令値に基づいた推力指令値と前記補正値とから補正された推力指令値を算出する演算ステップと、
前記補正された推力指令値に基づいて前記モータを駆動させる推力制御ステップと
を有することを特徴とするモータ制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、モータ制御装置、及びモータ制御方法に関する。
【背景技術】
【０００２】
ＯＡ（Office Automation）機器や、ＦＡ（Factory Automation）機器、車両などにおける部材や部品等を移動させるために、案内装置と駆動装置（例えばモータなど）とを組み合わせた構成を用いることが多くなっている。このような構成では、部材や部品等を移動させる際に、案内装置などにおいて生じる摩擦力に応じて駆動装置を制御する必要がある。
例えば、特許文献１には、車両に備えられているルーフガラスを移動させて開閉する際に生じる摺動抵抗に応じてモータを駆動することが記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００４−２３２２８０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１の技術では、移動させる対象物であるルーフガラスの位置に基づいて、摺動抵抗の影響を抑える制御をしているので、ルーフガラスなどの対象物の速度に応じて摺動抵抗（抵抗力）が生じる場合、移動制御における応答性能が低下してしまう問題がある。
【０００５】
本発明は、上記問題を解決すべくなされたもので、その目的は、移動させる対象物の速度に応じた抵抗力が生じる場合における応答性能を向上させることができモータ制御装置、及びモータ制御方法を提供することにある。
【課題を解決するための手段】
【０００６】
上記問題を解決するために、本発明は、案内装置の案内に沿って対象物を移動させるモータを制御するモータ制御装置であって、前記モータの可動子が移動する速度と、前記対象物を移動させる際に生じる前記案内装置の摺動抵抗との相関関係を示す係数を複数の異なる案内装置ごとに予め記憶している補正係数記憶部と、前記可動子が移動する速度と、前記対象物の移動を案内する前記案内装置の前記係数とから推力指令値に対する補正値を算出する補正値算出部と、外部より入力される指令値に基づいた推力指令値と前記補正値とから補正された推力指令値を算出する演算部と、前記補正された推力指令値に基づいて前記モータを駆動させる推力制御部とを備えることを特徴とするモータ制御装置である。
【０００７】
また、本発明は、モータの可動子が移動する速度と案内装置の案内に沿って対象物を移動させる際に生じる前記案内装置の摺動抵抗との相関関係を示す係数を複数の異なる案内装置ごとに予め記憶している補正係数記憶部を備え、前記対象物を移動させる前記モータを制御するモータ制御装置が行うモータ制御方法であって、前記可動子が移動する速度と、前記対象物の移動を案内する前記案内装置の前記係数とから推力指令値に対する補正値を算出する補正値算出ステップと、外部より入力される指令値に基づいた推力指令値と前記補正値とから補正された推力指令値を算出する演算ステップと、前記補正された推力指令値に基づいて前記モータを駆動させる推力制御ステップとを有することを特徴とするモータ制御方法である。
【発明の効果】
【０００８】
この発明によれば、対象物の移動速度に基づいて推力指令値を補正するので、対象物の移動速度に応じて発生する抵抗力の影響を抑えてモータの制御を行うことができ、モータを制御する際の応答性能を向上させることができる。
【図面の簡単な説明】
【０００９】
【図１】本実施形態におけるモータシステム１を示す概略図である。
【図２】同実施形態におけるモータ制御装置１０の構成を示す概略ブロック図である。
【図３】同実施形態におけるモータシステム１の摺動抵抗と可動子２５の移動速度との関係の一例を示すグラフである。
【図４】同実施形態のモータ制御装置１０が行うモータ制御処理の一例を示すフローチャートである。
【発明を実施するための形態】
【００１０】
以下、図面を参照して、本発明に係る一実施形態におけるモータ制御装置、及びモータ制御方法を説明する。本実施形態では、モータ制御装置がリニアモータを制御する場合について説明する。
【００１１】
図１は、本実施形態におけるモータシステム１を示す概略図である。モータシステム１は、同図に示すように、モータ制御装置１０と、リニアモータ２０とを具備している。モータ制御装置１０は、上位の制御装置から入力される位置指令値に基づいて、リニアモータ２０を駆動させる制御をする。リニアモータ２０は、長尺の固定子２１と、固定子２１上を移動する可動子２５と、固定子２１及び可動子２５を組み付ける一対の案内装置２２、２２を備えている。
【００１２】
案内装置２２は、例えば、ボールを介して組み付けられた軌道レール２３及びスライドブロック２６、２６から構成されている。案内装置２２の軌道レール２３は固定子２１が有するベース５４に固定され、案内装置２２のスライドブロック２６は可動子２５に固定されている。これにより、可動子２５は、固定子２１上を軌道レール２３に沿って自在に案内されるようになっている。
【００１３】
また、固定子２１は、一対の軌道レール２３、２３の間に並べられた複数の駆動用磁石２４を備えている。複数の駆動用磁石２４は、可動子２５が移動する方向において、Ｎ極及びＳ極の磁極が交互になるように配列されている。また、各駆動用磁石２４は、配列されている方向において同じ長さを有しており、可動子２５が固定子２１上のいずれに位置していても、一定の推力が得られるようになっている。
【００１４】
可動子２５は、Ｕ相、Ｖ相、Ｗ相に対応する３つのコイルを有している。Ｕ相、Ｖ相、Ｗ相それぞれのコイルには、電力線３１を介してモータ制御装置１０から電力が供給される。各コイルに流れる電流と、各駆動用磁石２４が発生させる磁界との相互作用による力で可動子２５が案内装置２２の案内に沿って移動する。
また、可動子２５には、搬送物を載せるためのテーブル５３と、可動子２５が単位時間当たりに移動した距離を検出するエンコーダ２７とが取り付けられている。
【００１５】
エンコーダ２７は、例えば、光学式又は磁気式の距離を検出する計測機器であり、固定子２１に予め備えられたスケール（不図示）に記録されている情報を検出して、可動子２５が移動した距離を検出する。また、エンコーダ２７は、検出した距離を示す距離情報を、伝送線３２を介してモータ制御装置１０に出力する。
モータ制御装置１０は、位置指令値と距離情報とに基づいて、リニアモータ２０を制御する。
【００１６】
図２は、本実施形態におけるモータ制御装置１０の構成を示す概略ブロック図である。モータ制御装置１０は、同図に示すように、位相算出器１０１、速度算出器１０２、位置算出器１０３、補正係数テーブル１０４、補正値算出器１０５、位置制御器１０６、速度制御器１０７、補正値選択器１０８、スイッチ１０９、演算器１１０、推力制御器１１１、ｑ軸電流制御器１１２、ｄ軸電流制御器１１３、ベクトル回転・２相３相変換器１１４、電力変換器１１５、変流器１１６、及び、ベクトル回転・３相２相変換器１１７を備えている。
【００１７】
位相算出器１０１は、原点復帰処理が行われた後にエンコーダ２７から入力される距離情報に基づいて、リニアモータ２０の可動子２５の位置における電気角（位相）を算出する。位相算出器１０１は、算出した位相をベクトル回転・２相３相変換器１１４及びベクトル回転・３相２相変換器１１７に出力する。例えば、位相算出器１０１は、原点に対応する位相と、原点からの距離とから、可動子２５の位置における位相を算出する。
速度算出器１０２は、エンコーダ２７から入力される距離情報に基づいて、可動子２５が移動する速度を算出する。速度算出器１０２は、算出した可動子２５の速度を補正値算出器１０５及び速度制御器１０７に出力する。
【００１８】
位置算出器１０３は、原点復帰処理が行われた後にエンコーダ２７から入力される距離情報に基づいて、リニアモータ２０の可動子２５の位置を算出する。位置算出器１０３は、算出した位置を位置制御器１０６に出力する。
原点復帰処理では、例えば、リニアモータ２０の固定子２１上のいずれか一方の端部まで可動子２５を移動させ、当該端部を原点（距離＝０）とする処理を行う。
【００１９】
補正係数テーブル１０４には、補正係数が記憶されている。
補正値算出器１０５は、補正係数テーブル１０４に記憶されている補正係数と、速度算出器１０２が算出した速度とを用いて、リニアモータ２０において生じる摺動抵抗（抵抗力）を算出する。補正値算出器１０５は、算出した摺動抵抗を推力制御における補正値としてスイッチ１０９に出力する。
【００２０】
位置制御器１０６は、上位の制御装置から入力される位置指令値と、位置算出器１０３が算出する可動子２５の位置との偏差に基づいて、位置指令値が示す位置に可動子２５を移動させるための速度指令値を算出する。
速度制御器１０７は、位置制御器１０６が算出する速度指令値と、速度算出器１０２が算出する速度との偏差に基づいて、速度指令値が示す速度で可動子２５を移動させるための推力指令値を算出する。
なお、位置制御器１０６、及び、速度制御器１０７は、例えば、入力される指令値に基づいたＰＩ制御又はＰＩＤ制御により、指令値を算出する。
【００２１】
補正値選択器１０８は、位置制御器１０６が算出する速度指令値から、可動子２５に対して速度を増加させる加速を行っているか、速度を減少させる減速を行っているかを判定する。補正値選択器１０８は、判定の結果に基づいて、補正値算出器１０５が算出する補正値を推力指令値に対して、加算するか又は減算するかを選択する。
スイッチ１０９は、補正値選択器１０８の選択に応じて、補正値算出器１０５が算出する補正値を、推力指令値に対して加算するか減算するかを切り替える。
【００２２】
演算器１１０は、スイッチ１０９の切り替えに応じて、推力指令値を補正値により補正し、補正した推力指令値を推力制御器１１１に出力する。
推力制御器１１１は、補正された推力指令値に基づいて、当該推力指令値が示す推力を得るためのｑ軸電流指令値を算出する。このとき、推力制御器１１１は、制御の対象となっているリニアモータ２０の推力係数等を用いる。また、推力制御器１１１は、算出した電流指令値をｑ軸電流制御器１１２に出力する。
【００２３】
ｑ軸電流制御器１１２は、推力制御器１１１から入力されるｑ軸電流指令値と、ベクトル回転・３相２相変換器１１７から入力されるｑ軸電流値との偏差に基づいて、当該偏差を０（零）にするｑ軸電圧指令値を算出する。
ｄ軸電流制御器１１３は、入力されるｄ軸電流指令値と、ベクトル回転・３相２相変換器１１７から入力されるｄ軸電流値との偏差に基づいて、当該偏差を０（零）にするｄ軸電圧指令値を算出する。
なお、ｑ軸電流制御器１１２、及びｄ軸電流制御器１１３は、位置制御器１０６や速度制御器１０７と同様に、例えば、入力される指令値に基づいたＰＩ制御又はＰＩＤ制御により、指令値を算出する。また、ｄ軸電流制御器１１３に入力されるｄ軸電流指令値は０（零）である。
【００２４】
ベクトル回転・２相３相変換器１１４には、位相算出器１０１が算出する位相と、ｑ軸電流制御器１１２が算出するｑ軸電圧指令値と、ｄ軸電流制御器１１３が算出するｄ軸電圧指令値とが入力される。ベクトル回転・２相３相変換器１１４は、リニアモータ２０の位相（電気角）に基づいて、ｑ軸電圧指令値とｄ軸電圧指令値とからＵ相、Ｖ相、及びＷ相それぞれに対する電圧指令値を算出する。ベクトル回転・３相２相変換器１１７は、算出した各相の電圧指令値を電力変換器１１５に出力する。
電力変換器１１５は、ベクトル回転・２相３相変換器１１４が算出する各相の電圧指令値で示される電圧をリニアモータ２０のＵ相、Ｖ相、及びＷ相のコイルに印加する。具体的には、電力変換器１１５は、外部から供給される外部電圧に対して、各相の電圧指令値に基づいたＰＷＭ制御を行い、外部電圧を電圧指令値で示される電圧に変換し、変換して得られた電圧をリニアモータ２０に印加する。
【００２５】
変流器１１６は、リニアモータ２０のＵ相及びＶ相のコイルに流れる電流値を測定し、測定結果をベクトル回転・３相２相変換器１１７に出力する。
ベクトル回転・３相２相変換器１１７には、位相算出器１０１が算出する位相と、変流器１１６が測定したＵ相及びＶ相のコイルに流れる電流値と、Ｕ相及びＶ相の電流値から算出されるＷ相のコイルに流れる電流値とが入力される。ベクトル回転・３相２相変換器１１７は、リニアモータ２０の位相に基づいて、Ｕ相、Ｖ相、及びＷ相の電流値からｑ軸電流値及びｄ軸電流値を算出する。ベクトル回転・３相２相変換器１１７は、算出したｑ軸電流値をｑ軸電流制御器１１２に出力し、算出したｄ軸電流値をｄ軸電流制御器１１３に出力する。
【００２６】
ここで、補正係数テーブル１０４に記憶されている補正係数について説明する。
図３は、本実施形態におけるモータシステム１の摺動抵抗と可動子２５の移動速度との関係の一例を示すグラフである。同図において、横軸は可動子２５が移動する速度［ｍ／ｓ］を示し、縦軸は摺動抵抗［Ｎ］を示している。同図には、３つのグラフ（ＡＦＡ，ＡＦＢ，ＡＦＦ）が示されている。これらのグラフにおける違いは、案内装置２２に可動部分に用いられている潤滑剤の違いにより生じている。
【００２７】
モータシステム１における摺動抵抗は、図３に示すように、可動子２５が移動する速度の増加にほぼ比例して増加することが分かる。摺動抵抗は、可動子２５の移動速度に対して比例しているので、移動速度に対する一次関数（次式（１））で近似することができる。
（摺動抵抗［Ｎ］）＝Ｋ・（移動速度［ｍ／ｓ］）＋ｂ                  …（１）
【００２８】
式（１）において、Ｋは抵抗係数［Ｎ・ｓ／ｍ］であり、ｂは初期抵抗値［Ｎ］である。なお、移動速度が０の場合には摺動抵抗が０であるので、ｂ＝０としてもよい。抵抗係数Ｋと初期抵抗値ｂと予め定め、式（１）を用いることにより、可動子２５の移動速度に応じて変化する摺動抵抗を得ることができる。
補正係数テーブル１０４には、実機による測定、又は計算機シミュレーション等により算出された、可動子２５の移動速度と摺動抵抗との相関関係を示す抵抗係数Ｋと初期抵抗値ｂとが予め記憶されている。
【００２９】
また、図３に示されるように、案内装置２２に用いられる潤滑剤に応じて摺動抵抗が変化するので、複数の潤滑剤又は、構成の異なる案内装置それぞれに対応する抵抗係数Ｋ及び初期抵抗値ｂを、補正係数テーブル１０４に記憶させておいてもよい。この場合、モータ制御装置１０が駆動するリニアモータ２０及び潤滑剤を示す情報に基づいて、補正値算出器１０５が、対応する抵抗係数Ｋ及び初期抵抗値ｂを補正係数テーブル１０４から読み出し、読み出した抵抗係数Ｋ及び初期抵抗値ｂを用いて摺動抵抗を算出するようにする。
【００３０】
図４は、本実施形態のモータ制御装置１０が行うモータ制御処理の一例を示すフローチャートである。
モータ制御装置１０において、モータ制御処理が開始されると、位置制御器１０６に位置指令値が入力され（ステップＳ１０１）、位置制御器１０６は速度指令値を算出する（ステップＳ１０２）。
速度制御器１０７は速度指令値から推力指令値を算出し（ステップＳ１０３）、補正値算出器１０５は可動子２５の移動速度から補正値（摺動抵抗）を算出する（ステップＳ１０４）。
【００３１】
補正値選択器１０８は、速度指令値の変化量から可動子２５の速度を増加させているか（加速）、又は速度を減少させているか（減速）を判定する（ステップＳ１０５）。
加速している場合（ステップＳ１０５：加速）、換言すると摺動抵抗が可動子２５の移動速度の加速を阻害している場合、補正値選択器１０８は、推力指令値に補正値を加算させることを選択し、補正値を加算させるようにスイッチ１０９を制御する。演算器１１０は、スイッチ１０９の切り替えに応じて、推力指令値と補正値とを加算し、加算結果を補正された推力指令値として出力する（ステップＳ１０６）。
一方、減速している場合（ステップＳ１０５：減速）、換言すると摺動抵抗が可動子２５の移動速度の減速を助長している場合、補正値選択器１０８は、推力指令値から補正値を減算させることを選択し、補正値を減算させるようにスイッチ１０９を制御する。演算器１１０は、スイッチ１０９の切り替えに応じて、推力指令値から補正値を減算し、減算結果を補正された推力指令値として出力する（ステップＳ１０７）。
【００３２】
ｑ軸電流制御器１１２から電力変換器１１５のそれぞれは、補正された推力指令値に基づいて、電力をリニアモータ２０に供給し、リニアモータ２０を駆動させ（ステップＳ１０８）、処理をステップＳ１０１に戻す。
以降、モータ制御装置１０では、ステップＳ１０１からステップＳ１０８の各処理が繰り返して行われる。
【００３３】
上述のように、本実施形態におけるモータ制御装置１０では、補正値算出器１０５が
リニアモータ２０を駆動してテーブル５３に載せられた搬送物（対象物）を移動させる際に生じる摺動抵抗（抵抗力）を算出し、算出した摺動抵抗を補正値として、速度制御器１０７が算出する推力指令を補正する。これにより、対象物を移動させる際に生じる摺動抵抗の影響を抑えることができ、リニアモータ２０の制御における応答性能を向上させることができる。また、対象物を移動させる速度に基づいて摺動抵抗を算出しているので、速度に応じて変化する摺動抵抗の影響を精度良く抑えることができる。
【００３４】
また、モータ制御装置１０では、可動子２５を加速させているか、又は減速させているかを補正値選択器１０８が判定し、加速している場合（速度の絶対値を増加させている場合）には、摺動抵抗で損失してしまう推力を補うように推力指令値を補正する。一方、減速している（速度の絶対値を０に近づけている）場合には、摺動抵抗で得られる力を減らすように推力指令値を補正する。これにより、速度指令値が示す速度まですみやかに加速できるとともに、減速しすぎたりすることなく移動速度を制御することができ、応答性能を向上させることができる。
【００３５】
なお、上述の実施形態における補正係数テーブル１０４に、テーブル５３に載せる搬送物の重さごとに、対応する抵抗係数Ｋと初期抵抗値ｂとを記憶させるようにしてもよい。この場合、モータ制御装置１０には、テーブル５３に載せられている搬送物の重さを示す重量情報が入力され、補正値算出器１０５は、重量情報が示す重さに対応する抵抗係数Ｋ及び初期抵抗値ｂを補正係数テーブル１０４から読み出し、読み出した抵抗係数Ｋ及び初期抵抗値ｂを用いて補正値を算出する。これにより、搬送物の重さにより摺動抵抗が変化する場合においても、摺動抵抗の影響を抑えた制御を行うことができ、応答性能を向上させることができる。
【００３６】
また、補正係数テーブル１０４に、リニアモータ２０の駆動時間に応じた抵抗係数Ｋと初期抵抗値ｂとを記憶させるようにしてもよい。この場合、モータ制御装置１０はリニアモータ２０の駆動時間を計測するタイマを更に備え、補正値算出器１０５はタイマの計測時間に対応する抵抗係数Ｋと初期抵抗値ｂとを用いて摺動抵抗（補正値）を算出するようにする。これにより、リニアモータ２０の駆動によって生じる案内装置２２や潤滑剤の経年劣化等による摺動抵抗の変化に対応することができ、応答性能を向上させることができる。
【００３７】
また、上述の実施形態におけるモータシステム１ではリニアモータ２０を用いて搬送物を移動させる構成について説明したが、回転モータを用いて搬送物を移動させる構成としてもよい。
【００３８】
上述のモータ制御装置１０は内部に、コンピュータシステムを有していてもよい。その場合、上述したモータ制御処理の過程は、プログラムの形式でコンピュータ読み取り可能な記録媒体に記憶されており、このプログラムをコンピュータが読み出して実行することによって、上記処理が行われることになる。ここでコンピュータ読み取り可能な記録媒体とは、磁気ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、半導体メモリ等をいう。また、このコンピュータプログラムを通信回線によってコンピュータに配信し、この配信を受けたコンピュータが当該プログラムを実行するようにしてもよい。
【００３９】
なお、本発明に記載の補正係数記憶部は、実施形態における補正係数テーブル１０４に対応する。本発明に記載の補正値算出部は、実施形態における補正値算出器１０５に対応する。本発明に記載の推力制御部は、実施形態における推力制御器１１１に対応する。本発明に記載の演算部は、実施形態における演算器１１０に対応する。
【符号の説明】
【００４０】
１…モータシステム、１０…モータ制御装置、２０…リニアモータ、２５…可動子、１０４…補正係数テーブル、１０５…補正値算出器、１１０…演算器、１１１…推力制御器
【図１】
0005988694.tif 000002
【図２】
0005988694.tif 000003
【図３】
0005988694.tif 000004
【図４】
0005988694.tif 000005