(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0013】
以下、添付の図面を参照して本発明の実施形態の一例について説明する。なお、各図面において同一又は相当の部分に対しては同一の符号を附すこととする。
【0014】
(第1実施形態)
図1は、本実施形態に係るサーボモータ制御装置の構成を示す図である。
図1に示すサーボモータ制御装置1は、モータ制御部100と、電流検出器200と、エンコーダ(位置検出部、速度検出部)300と、サーボモータ400と、チルト機構500とを備える。
【0015】
モータ制御部100は、工作機械における主軸ユニット510を含むチルト機構(被駆動体)500を駆動するサーボモータ400を制御する。モータ制御部100の詳細は後述する。
【0016】
電流検出器200は、例えばカレントトランスである。電流検出器200は、サーボモータ400の駆動電流を検出する。検出された電流は電流フィードバック(電流FB)として利用される。
【0017】
エンコーダ300は、サーボモータ400に設けられ、サーボモータ400の回転位置を検出する。サーボモータ400の回転位置はチルト機構500の位置に対応するので、エンコーダ300は、チルト機構500の位置(機械座標、換言すれば傾斜角度(回転角度))を検出することとなる。検出された位置は位置フィードバック(位置FB)として利用される。
また、エンコーダ300は、サーボモータ400の回転速度を検出する。サーボモータ400の回転速度はチルト機構500の速度に対応するので、エンコーダ300は、チルト機構500の速度を検出することとなる。検出された速度は速度フィードバック(速度FB)として利用される。
【0018】
チルト機構500は、サーボモータ400により回転駆動され、工作機械における工具を駆動する主軸用モータを含む主軸ユニット510を傾斜させる。チルト機構500は、例えば、工作機械における主軸ユニット510が取り付けられた基材501と、一端側で基材501を支持し、他端側に傾斜軸(回転軸)Xを有するアーム502とから構成される。このように、チルト機構500は、傾斜軸Xに対して非対称な構成を有する。
【0019】
次に、
図2を参照して、モータ制御部100について説明する。
図2は、
図1に示すモータ制御部100の構成を示す図である。モータ制御部100は、位置指令部10と、位置制御部20と、速度制御部30と、電流制御部40と、記憶部50と、変更部60とを備える。
【0020】
位置指令部10は、図示しない上位制御装置や外部入力装置等から入力されるプログラムや命令に従って、サーボモータ400の位置指令、すなわちチルト機構500の位置指令を作成する。
【0021】
位置制御部20は、位置指令部10で作成された位置指令とエンコーダ300で検出された位置FBとに基づいて速度指令を作成する。位置制御部20は、減算器21と位置制御器22とを備える。
減算器21は、位置指令部10で作成された位置指令とエンコーダ300で検出された位置FBとの位置偏差を求める。位置制御器22は、減算器21で求められた位置偏差にポジションゲインを乗算して速度指令を作成する。
【0022】
速度制御部30は、位置制御部20で作成された速度指令と、エンコーダ300で検出された速度FBと、変更部60からの速度ゲイン及びトルクオフセットとに基づいてトルク指令を作成する。速度制御部30は、減算器31と、速度制御器32と、加算器33とを備える。
減算器31は、位置制御部20で作成された速度指令とエンコーダ300で検出された速度FBとの速度偏差を求める。速度制御器32は、減算器31で求められた速度偏差に、変更部60からの速度ゲインを乗算する。加算器33は、速度制御器32で乗算された乗算値に、変更部60からのトルクオフセットを加算してトルク指令を作成する。
なお、速度制御部30は、加算器33を備えず、速度指令と、速度FBと、速度ゲインとに基づいてトルク指令を作成してもよい。
【0023】
電流制御部40は、速度制御部30で作成されたトルク指令と電流検出器200で検出された電流FBとに基づいてサーボモータ400の駆動電流を作成する。電流制御部40は、減算器41と電流制御器42とを備える。
減算器41は、速度制御部30で作成されたトルク指令と電流検出器200で検出された電流FBとのトルク偏差を作成する。電流制御器42は、減算器41で求められたトルク偏差にトルクゲインを乗算して駆動電流を作成する。作成された駆動電流は、サーボモータ400に供給される。
【0024】
記憶部50は、所定の速度ゲイン(固定値)、及び、所定のトルクオフセット(固定値)を記憶する。また、記憶部50は、所定の速度ゲインを変更するためのオーバライドを記憶する。
具体的には、記憶部50は、
図3に示すように、位置FB(チルト機構500の位置)を入力とし、入力した位置FBに応じた速度ゲインのオーバライドを出力とする関数を記憶する。具体的には、記憶部50は、関数として、位置FBと速度ゲインのオーバライドとが関連付けされたデータテーブルを記憶する。
図3では、位置FBが示すチルト機構500の位置が垂直方向の位置(0)から離れるほど、速度ゲインのオーバライドが略比例的に大きくなるように設定される。
記憶部50は、例えばEEPROM等の書き換え可能なメモリである。
【0025】
変更部60は、エンコーダ300で検出された位置FB(チルト機構500の位置)に応じて速度ゲインを変更し、変更した速度ゲインと所定のトルクオフセットとを速度制御部30に供給する。
具体的には、変更部60は、記憶部50に記憶された関数から、位置FBに応じた速度ゲインのオーバライドを導出する。具体的には、変更部60は、データテーブルを参照して、位置FBに応じて速度ゲインのオーバライドを決定する。そして、変更部60は、導出したオーバライドを、記憶部50に記憶された所定の速度ゲイン(固定値)に乗算することにより、速度ゲインを変更する。
また、変更部60は、記憶部50に記憶された所定のトルクオフセット(固定値)をトルクオフセットとして設定する。
【0026】
モータ制御部100は、例えば、DSP(Digital Signal Processor)、FPGA(Field−Programmable Gate Array)等の演算プロセッサで構成される。モータ制御部100の各種機能(位置指令部10、位置制御部20、速度制御部30、電流制御部40、変更部60)は、例えば記憶部50に格納された所定のソフトウェア(プログラム)を実行することで実現される。モータ制御部100の各種機能は、ハードウェアとソフトウェアとの協働で実現されてもよいし、ハードウェア(電子回路)のみで実現されてもよい。
【0027】
ここで、チルト機構500の位置(すなわち、主軸ユニットの位置)によって、主軸ユニット510の重力や回転によりチルト機構500の傾斜軸Xに作用する負荷(荷重(モーメント))が変動する。例えば、傾斜軸Xに作用する負荷が増加すると、駆動力が不足して、チルト機構500が目標位置に到達する時間が遅くなる。すなわち、サーボモータ制御装置1の応答性が低下する。
この点に関し、速度ゲインを大きい値に設定し、応答性を高めることが考えられる。しかし、速度ゲインを常時大きくしてしまうと、負荷が軽いときに発振(振動)してしまう。すなわち、サーボモータ制御装置1の安定性が低下する。
【0028】
そこで、本実施形態のサーボモータ制御装置1では、変更部60が、チルト機構(被駆動体)500の位置に応じて速度ゲインを変更する。これにより、傾斜軸Xに作用する負荷が増加するときに、速度ゲインを増加させ、駆動電流を増加させて駆動力を増加させることができる。そのため、チルト機構500が目標位置に到達する時間の遅れを抑制することができる。すなわち、チルト機構500の傾斜軸Xに作用する負荷の変動に起因する応答性の低下を抑制することができる。
更に、傾斜軸Xに作用する負荷が減少するときには、速度ゲインを減少させ、発振(振動)を抑制することができる。これにより、チルト機構500の傾斜軸Xに作用する負荷の変動に起因する応答性の低下を抑制することと、安定性の低下を抑制することとの両立を図ることができる。
【0029】
(第1実施形態の第1変形例)
第1実施形態では、変更部60は、エンコーダ300で検出された位置FB(チルト機構500の位置)に応じて速度ゲインを変更したが、位置FBに代えて、位置指令部10で作成された位置指令(チルト機構500の位置)に応じて速度ゲインを変更してもよい。
【0030】
この場合、記憶部50は、
図3に示すように、位置指令(チルト機構500の位置)を入力とし、入力した位置指令に応じた速度ゲインのオーバライドを出力とする関数を記憶する。具体的には、記憶部50は、関数として、位置指令と速度ゲインのオーバライドとが関連付けされたデータテーブルを記憶する。
図3では、位置指令が示すチルト機構500の位置が垂直方向の位置(0)から離れるほど、速度ゲインのオーバライドが略比例的に大きくなるように設定される。
【0031】
変更部60は、記憶部50に記憶された関数から、位置指令に応じた速度ゲインのオーバライドを導出する。具体的には、変更部60は、データテーブルを参照して、位置指令に応じて速度ゲインのオーバライドを決定する。そして、変更部60は、導出したオーバライドを、記憶部50に記憶された所定の速度ゲイン(固定値)に乗算することにより、速度ゲインを変更する。
【0032】
(第1実施形態の第2変形例)
第1実施形態では、記憶部50は、所定の速度ゲイン(固定値)と、所定の速度ゲインを変更するためのオーバライドとを記憶したが、複数の速度ゲイン(変動値)を記憶してもよい。
具体的には、記憶部50は、
図3に示すように、位置FB又は位置指令を入力とし、入力した位置FB又は位置指令に応じた速度ゲインを出力とする関数を記憶する。具体的には、記憶部50は、関数として、位置FB又は位置指令と速度ゲインとが関連付けされたデータテーブルを記憶する。
図3では、位置FB又は位置指令が示すチルト機構500の位置が垂直方向の位置(0)から離れるほど、速度ゲインが略比例的に大きくなるように設定される。
【0033】
変更部60は、記憶部50に記憶された関数から、速度FB又は位置指令に応じた速度ゲインを導出する。具体的には、変更部60は、データテーブルを参照して、速度FB又は位置指令に応じて速度ゲインを決定する。
【0034】
(第2実施形態)
第1実施形態では、速度ゲインを変更した。第2実施形態では、速度ゲインに代えてトルクオフセットを変更する。
【0035】
第2実施形態に係るサーボモータ制御装置1の構成は、
図1及び
図2に示す第1実施形態のサーボモータ制御装置1の構成と同一である。なお、第2実施形態に係るサーボモータ制御装置1では、変更部60の機能、及び、記憶部50に記憶する関数(テーブル)が第1実施形態のサーボモータ制御装置1と異なる。
【0036】
記憶部50は、所定の速度ゲインを変更するためのオーバライドに代えて、所定のトルクオフセットを変更するためのオーバライドを記憶する。
具体的には、記憶部50は、
図3に示すように、位置FB(チルト機構500の位置)を入力とし、入力した位置FBに応じたトルクオフセットのオーバライドを出力とする関数を記憶する。具体的には、記憶部50は、関数として、位置FBとトルクオフセットのオーバライドとが関連付けされたデータテーブルを記憶する。
図3では、位置FBが示すチルト機構500の位置が垂直方向の位置(0)から離れるほど、トルクオフセットのオーバライドが略比例的に大きくなるように設定される。
【0037】
変更部60は、エンコーダ300で検出された位置FB(チルト機構500の位置)に応じてトルクオフセットを変更し、変更したトルクオフセットと所定の速度ゲインとを速度制御部30に供給する。
具体的には、変更部60は、記憶部50に記憶された関数から、位置FBに応じたトルクオフセットのオーバライドを導出する。具体的には、変更部60は、データテーブルを参照して、位置FBに応じてトルクオフセットのオーバライドを決定する。そして、変更部60は、導出したオーバライドを、記憶部50に記憶された所定のトルクオフセット(固定値)に乗算することにより、トルクオフセットを変更する。
また、変更部60は、記憶部50に記憶された所定の速度ゲイン(固定値)を速度ゲインとして設定する。
【0038】
ここで、例えば、傾斜軸Xに作用する負荷が増加したときに、出力トルクを増加しようとすると、速度制御部30における積分器を出力トルクの増加分まで増加させるための時間が長くなる。すなわち、サーボモータ制御装置1の応答性が低下する。
【0039】
そこで、本実施形態のサーボモータ制御装置1では、変更部60が、チルト機構(被駆動体)500の位置に応じてトルクオフセットを変更する。これにより、傾斜軸Xに作用する負荷が増加するときに、トルクオフセットを増加させ、速度制御部30における積分器がトルクオフセット分のトルクを出すために必要な量まで増加するのを抑制することができる。すなわち、チルト機構500の傾斜軸Xに作用する負荷の変動に起因する応答性の低下を抑制することができる。
【0040】
(第2実施形態の第1変形例)
第2実施形態では、変更部60は、エンコーダ300で検出された位置FB(チルト機構500の位置)に応じてトルクオフセットを変更したが、位置FBに代えて、位置指令部10で作成された位置指令(チルト機構500の位置)に応じて速度ゲインを変更してもよい。
【0041】
この場合、記憶部50は、
図3に示すように、位置指令(チルト機構500の位置)を入力とし、入力した位置指令に応じたトルクオフセットのオーバライドを出力とする関数を記憶する。具体的には、記憶部50は、関数として、位置指令とトルクオフセットのオーバライドとが関連付けされたデータテーブルを記憶する。
図3では、位置指令が示すチルト機構500の位置が垂直方向の位置(0)から離れるほど、トルクオフセットのオーバライドが略比例的に大きくなるように設定される。
【0042】
変更部60は、記憶部50に記憶された関数から、位置指令に応じたトルクオフセットのオーバライドを導出する。具体的には、変更部60は、データテーブルを参照して、位置指令に応じてトルクオフセットのオーバライドを決定する。そして、変更部60は、導出したオーバライドを、記憶部50に記憶された所定のトルクオフセット(固定値)に乗算することにより、トルクオフセットを変更する。
【0043】
(第2実施形態の第2変形例)
第2実施形態では、記憶部50は、所定のトルクオフセット(固定値)と、所定のトルクオフセットを変更するためのオーバライドとを記憶したが、複数のトルクオフセット(変動値)を記憶してもよい。
具体的には、記憶部50は、
図3に示すように、位置FB又は位置指令を入力とし、入力した位置FB又は位置指令に応じたトルクオフセットを出力とする関数を記憶する。具体的には、記憶部50は、関数として、位置FB又は位置指令とトルクオフセットとが関連付けされたデータテーブルを記憶する。
図3では、位置FB又は位置指令が示すチルト機構500の位置が垂直方向の位置(0)から離れるほど、トルクオフセットが略比例的に大きくなるように設定される。
【0044】
変更部60は、記憶部50に記憶された関数から、速度FB又は位置指令に応じたトルクオフセットを導出する。具体的には、変更部60は、データテーブルを参照して、速度FB又は位置指令に応じてトルクオフセットを決定する。
【0045】
以上、本発明の実施形態について説明したが、本発明は前述した実施形態に限るものではない。また、本実施形態に記載された効果は、本発明から生じる最も好適な効果を列挙したに過ぎず、本発明による効果は、本実施形態に記載されたものに限定されるものではない。
【0046】
例えば、上述した実施形態は、適宜変更されてもよいし、組み合わされて実施されてもよい。例えば、第1実施形態と第2実施形態とを組み合わせ、位置FB又は位置指令に応じて、速度ゲイン及びトルクオフセットの両方を変更してもよい。
【0047】
また、上述した実施形態では、工作機械における主軸ユニットを傾斜(回転)させるチルト機構(回転機構)を駆動制御するサーボモータ制御装置を例示した。しかし、本発明の特徴はこれに限定されず、被駆動体の位置によって駆動軸に作用する負荷(荷重(モーメント))が変動する種々の被駆動体を駆動制御するサーボモータ制御装置に適用可能である。例えば、本発明の特徴は、工作機械における主軸ユニットをスライドさせるスライド機構にも適用可能である。また、産業機械等における被駆動体を駆動制御するサーボモータ制御装置に適用可能である。