(58)【調査した分野】(Int.Cl.,DB名)
前記変更部は、前記連結機構の剛性の低下、又は、前記サーボモータ制御装置の共振周波数の低下に応じて、前記セミクローズドフィードバック制御の割合を増加させ、前記フルクローズドフィードバック制御の割合を減少させる、請求項1に記載のサーボモータ制御装置。
前記取得部は、前記サーボモータ制御装置のフィードバック制御ループの伝達特性の周波数特性を取得し、取得した伝達特性の周波数特性から前記サーボモータ制御装置の共振周波数の大きさを取得する、請求項1又は2に記載のサーボモータ制御装置。
前記変更部は、前記連結機構の剛性の低下、又は、前記サーボモータ制御装置の共振周波数の低下に応じて、前記ハイパスフィルタのカットオフ周波数及び前記ローパスフィルタのカットオフ周波数を低下させる、
請求項5に記載のサーボモータ制御装置。
【発明を実施するための形態】
【0021】
以下、添付の図面を参照して本発明の実施形態の一例について説明する。なお、各図面において同一又は相当の部分に対しては同一の符号を附すこととする。
【0022】
図1は、本発明の実施形態に係るサーボモータ制御装置の構成の一例を示す図である。
図1に示すように、サーボモータ制御装置1は、モータ制御部10と、サーボモータ50と、エンコーダ(第1位置検出部)40と、連結機構60と、テーブル(被駆動体)70と、スケール(第2位置検出部)80とを備える。
【0023】
サーボモータ制御装置1は、サーボモータ50で連結機構60を介してテーブル70を移動させ、テーブル70の上に搭載された被加工物(ワーク)を加工する。連結機構60は、サーボモータ50に連結されたカップリング61と、カップリング61に固定されるボールねじ62とを有し、ボールねじ62にナット63が螺合されている。サーボモータ50の回転駆動によって、ボールねじ62に螺着されたナット63がボールねじ62の軸方向に移動され、ナット63に連結されたテーブル70が移動される。
【0024】
サーボモータ50の回転角度位置は、サーボモータ50に設けられたエンコーダ40によって検出され、検出された回転位置(回転量)は第1位置フィードバック(以下、位置FB1という。)として利用される。ここで、サーボモータ50の回転角度位置とテーブル70の位置とは対応関係にあるため、エンコーダ40で検出された回転位置、すなわち位置FB1値は、テーブル70の位置を示す。なお、エンコーダ40は回転速度を検出可能であり、検出された速度は速度フィードバック(以下、速度FBという。)として利用可能である。
【0025】
また、テーブル70の位置は、テーブル70に設けられたスケール80によって検出され、検出された位置は第2位置フィードバック(以下、位置FB2という。)として利用される。
【0026】
モータ制御部10は、加工プログラムに従う位置指令値、位置FB1値又は位置FB2値、及び、速度FB値に基づいて、サーボモータ50を制御する。具体的には、モータ制御部10は、位置指令値と位置FB1値との偏差(第1偏差)に基づくセミクローズドフィードバック制御と、位置指令値と位置FB2値との偏差(第2偏差)に基づくフルクローズドフィードバック制御とを行うデュアル位置フィードバック制御を行う。モータ制御部10の詳細については後述する。
【0027】
以下、サーボモータ制御装置1として、3つの実施形態のサーボモータ制御装置1A,1B,1Cについて詳細に説明する。第1〜第3実施形態のサーボモータ制御装置1A,1B,1Cは、上述したサーボモータ制御装置1において、モータ制御部10としてモータ制御部10A,10B,10Cをそれぞれ備える点で相違する。第1〜第3実施形態のサーボモータ制御装置1A,1B,1Cのその他の構成は、上述したサーボモータ制御装置1と同一である。
【0028】
(第1実施形態のサーボモータ制御装置)
図1において、第1実施形態に係るサーボモータ制御装置1Aは、上述したモータ制御部10としてモータ制御部10Aを備える。
【0029】
図2は、第1実施形態に係るサーボモータ制御装置1Aにおけるモータ制御部10Aの構成を示す図である。
図2に示すように、モータ制御部10Aは、位置指令生成部12と、デュアル位置制御部30Aと、速度指令生成部14と、減算器15と、トルク指令生成部16と、力推定部(取得部)20と、剛性推定部(取得部)22と、保存部24と、表示部(通知部)26と、制御割合変更部(変更部)35Aとを備える。
【0030】
位置指令生成部12は、図示しない上位制御装置や外部入力装置等から入力されるプログラムや命令に従って、サーボモータ50の位置指令値を作成する。
【0031】
デュアル位置制御部30Aは、位置指令生成部12で作成された位置指令値とエンコーダ40からの位置FB1値との第1偏差の高周波数成分に基づくセミクローズドフィードバック制御と、位置指令値とスケール80からの位置FB2値との第2偏差の低周波数成分に基づくフルクローズドフィードバック制御とを行う。デュアル位置制御部30Aは、減算器31A,31Bと、ハイパスフィルタ32Aと、ローパスフィルタ32Bと、加算器33とを備える。
【0032】
減算器(第1減算部)31Aは、位置指令生成部12で作成された位置指令値とエンコーダ40からの位置FB1値との第1偏差を求める。ハイパスフィルタ32Aは、減算器31Aで求められた第1偏差における高周波数成分を通過させ、低周波数成分をカットする。ハイパスフィルタ32Aのカットオフ周波数は、制御割合変更部35Aからの制御信号S1に応じて変更される。
【0033】
減算器(第2減算部)31Bは、位置指令生成部12で作成された位置指令値とスケール80からの位置FB2値との第2偏差を求める。ローパスフィルタ32Bは、減算器31Bで求められた第2偏差における低周波数成分を通過させ、高周波数成分をカットする。ローパスフィルタ32Bのカットオフ周波数は、制御割合変更部35Aからの制御信号S2に応じて変更される。
【0034】
加算器33は、ハイパスフィルタ32Aを通過した第1偏差の高周波数成分と、ローパスフィルタ32Bを通過した第2偏差の低周波数成分とを加算し、速度指令生成部14に送信する。
【0035】
ここで、ハイパスフィルタ32A及びローパスフィルタ32Bのカットオフ周波数f[Hz]と時定数τ[s]との間には以下の関係が成り立つ。
f=1/(2π×τ)
これより、カットオフ周波数を調整することは、時定数を調整することと同義である。
【0036】
第1偏差をE1、第2偏差をE2とすると、ハイパスフィルタ32Aの出力EH、ローパスフィルタ32Bの出力ELは次式のように表される。
EH=τs/(1+τs)×E1
EL=1/(1+τs)×E2
s:角周波数
これより、加算器33で加算された偏差は次式のように表される。
偏差=τs/(1+τs)×E1+1/(1+τs)×E2 ・・・(1)
【0037】
上式(1)より、時定数がτ=∞、すなわちカットオフ周波数がf=0では、偏差=E1となり、セミクローズドフィードバック制御が支配的となる。一方、時定数がτ=0、すなわちカットオフ周波数がf=∞では、偏差=E2となり、フルクローズドフィードバック制御が支配的となる。
また、時定数τの大きさ、すなわちカットオフ周波数fの大きさを制御して、セミクローズドフィードバック制御とフルクローズドフィードバック制御との比率を変更することができる。
【0038】
速度指令生成部14は、デュアル位置制御部30Aの加算器33で求められた偏差に基づいてサーボモータ50の速度指令値を作成する。減算器15は、速度指令生成部14で作成された速度指令値とエンコーダ40からの速度FB値との差を求める。トルク指令生成部16は、減算器15で求められた差分に基づいてサーボモータ50のトルク指令値を作成し、サーボモータ50に供給する。
【0039】
力推定部20は、トルク指令生成部16からのトルク指令値に基づいて、テーブル70(ナット63)と連結機構60との連結部においてテーブル70に作用する駆動トルク(駆動力)を推定する。なお、力推定部20は、電流検出器を用いて検出したサーボモータ50の駆動電流、すなわち実電流(実トルク)に基づいて駆動トルクを推定してもよい。
【0040】
剛性推定部22は、力推定部20で推定された駆動トルクと、エンコーダ40からの位置FB1値(エンコーダ40で検出されたサーボモータ50の位置、すなわちテーブル70の位置)と、スケール80からの位置FB2値(スケール80で検出されたテーブル70の位置)とに基づいて、連結機構60の剛性の大きさを推定する。具体的には、剛性推定部22は、推定された駆動トルク値、及び、位置FB1値と位置FB2値との差に基づいて、下式(2)より、連結機構60の剛性の大きさを推定する。
剛性の大きさ=駆動トルク値/位置FB1値と位置FB2値との差 ・・・(2)
連結機構60の剛性の大きさの推定方法の詳細については後述する。
【0041】
保存部24は、所定時間間隔又は不定時間間隔ごとに、剛性推定部22で推定された連結機構60の剛性の大きさを保存する。
また、保存部24は、連結機構60の剛性の大きさを入力とし、入力した剛性の大きさに応じた制御信号であって、ハイパスフィルタ32Aのカットオフ周波数及びローパスフィルタ32Bのカットオフ周波数を変更する制御信号S1,S2を出力とする関数を保存する。例えば、保存部24は、関数として、剛性の大きさと制御信号S1,S2とが関連付けされたテーブルを保存する。例えば、テーブルでは、剛性が低下するほど、カットオフ周波数を低くするような制御信号S1,S2が設定される。
保存部24は、例えばEEPROM等の書き換え可能なメモリである。
【0042】
制御割合変更部35Aは、剛性推定部22で推定された連結機構60の剛性の大きさに応じて、デュアル位置制御部30Aにおけるセミクローズドフィードバック制御とフルクローズドフィードバック制御との割合を変更する。具体的には、制御割合変更部35Aは、推定された連結機構60の剛性の低下に応じて、セミクローズドフィードバック制御の割合を増加させ、フルクローズドフィードバック制御の割合を減少させる。
【0043】
より具体的には、制御割合変更部35Aは、保存部24に保存された関数(例えば、テーブル)に基づいて、剛性推定部22で推定された連結機構60の剛性の大きさに対応した制御信号S1,S2を生成し、ハイパスフィルタ32A及びローパスフィルタ32Bにそれぞれ送信する。これにより、制御割合変更部35Aは、ハイパスフィルタ32A及びローパスフィルタ32Bのカットオフ周波数を変更させる。具体的には、制御割合変更部35Aは、推定された連結機構60の剛性の低下に応じて、ハイパスフィルタ32A及びローパスフィルタ32Bのカットオフ周波数を低下させる。
【0044】
制御信号S1,S2は、同一であってもよいし、異なっていてもよい。すなわち、ハイパスフィルタ32Aのカットオフ周波数とローパスフィルタ32Bのカットオフ周波数とは、同一であってもよいし、異なっていてもよい。これらのフィルタのカットオフ周波数が同一である場合、E1とE2の値が近い値となると加算器33で加算された偏差の周波数特性は全体域に渡ってフラットに近い特性にすることができる。なお、これらのフィルタのカットオフ周波数が同一でない場合には、これらのフィルタのカットオフ周波数間の周波数成分が減衰又は増幅されるため、これらのある特定の周波数成分を増幅あるいは減衰してもよい。
【0045】
表示部26は、剛性推定部22で推定された剛性の大きさを示す情報(例えば、数値、文字、画像等)を表示する。表示部26は、例えば液晶ディスプレイ等の表示装置である。
【0046】
モータ制御部10A(及び、後述するモータ制御部10B,10C)は、例えば、DSP(Digital Signal Processor)、FPGA(Field−Programmable Gate Array)等の演算プロセッサで構成される。モータ制御部10A(モータ制御部10B,10C)の各種機能(位置指令生成部12、デュアル位置制御部30A(すなわち、減算器31A,31B、ハイパスフィルタ32A、ローパスフィルタ32B、加算器33)、速度指令生成部14、減算器15、トルク指令生成部16、力推定部20、剛性推定部22、制御割合変更部35A、後述するデュアル位置制御部30B(すなわち、減算器31C)、後述する制御割合変更部35B、及び、後述する取得部20C)は、記憶部(例えば、保存部24)に格納された所定のソフトウェア(プログラム)を実行することで実現される。モータ制御部10A(モータ制御部10B,10C)の各種機能は、ハードウェアとソフトウェアとの協働で実現されてもよいし、ハードウェア(電子回路)のみで実現されてもよい。
【0047】
次に、
図3を参照して、第1実施形態のサーボモータ制御装置1Aによるデュアル位置フィードバック制御の割合変更動作について説明する。
図3は、第1実施形態のサーボモータ制御装置1Aによるデュアル位置フィードバック制御の割合変更動作を示すフローチャートである。
【0048】
まず、ステップS11において、モータ制御部10Aは、位置指令(移動指令)に応じたトルク指令をサーボモータ50に供給して、サーボモータ50を回転させる。このとき、力推定部20は、トルク指令生成部16からのトルク指令に基づいて、テーブル70(ナット63)と連結機構60との連結部においてテーブル70に作用する駆動トルクを推定する。また、サーボモータ50におけるエンコーダ40により、サーボモータ50の回転位置(テーブル70の位置に対応した回転位置)を検出し、位置FB1値としてモータ制御部10Aに送信する。また、テーブル70におけるスケール80により、テーブル70の位置を検出し、位置FB2値としてモータ制御部10Aに送信する。
【0049】
次に、ステップS12において、剛性推定部22は、力推定部20で推定された駆動トルク値、及び、エンコーダ40からの位置FB1値とスケール80からの位置FB2値との差に基づいて、連結機構60の剛性の大きさを推定する。
【0050】
ここで、エンコーダ40で検出されたサーボモータ50の回転位置(すなわち、テーブル70の位置に対応する回転位置)(位置FB1値)と、スケール80で検出されたテーブル70の位置(位置FB2値)との差は、連結機構(ボールネジ、カップリングなど)の捻じれなどの弾性変形に起因して生じる。そして、剛性は、加える力(駆動トルク)に対する変形量(弾性変形量)の比で表される。これより、剛性推定部22は、下式(2)より、剛性の大きさを推定する。
剛性の大きさ=駆動トルク値/弾性変形量
=駆動トルク値/位置FB1値と位置FB2値との差 ・・・(2)
なお、本実施形態では、剛性推定部22で推定される剛性は、弾性変形とガタの影響とを含む。
【0051】
連結機構60の剛性は、経年変化(低下、劣化)する。例えば、連結機構60におけるボールねじ62の剛性は、経時的に予圧が弱まることにより低下する。剛性が低下すると、サーボモータ制御装置(すなわち、工作機械)の共振周波数が低下し、工作機械に低周波数の振動が生じる可能性が高くなる。工作機械に低周波数の振動が発生すると、工作機械の加工精度が低下する。
【0052】
そこで、ステップS13において、制御割合変更部35Aは、保存部24に保存された関数(例えば、テーブル)に基づいて、剛性推定部22で推定された連結機構60の剛性の大きさに対応した制御信号S1,S2を生成し、デュアル位置制御部30Aのハイパスフィルタ32A及びローパスフィルタ32Bにそれぞれ送信する。これにより、制御割合変更部35Aは、ハイパスフィルタ32A及びローパスフィルタ32Bのカットオフ周波数を変更させる。具体的には、制御割合変更部35Aは、推定された連結機構60の剛性の低下に応じて、ハイパスフィルタ32A及びローパスフィルタ32Bのカットオフ周波数を低下させる。
【0053】
これにより、ローパスフィルタ32Bを通過する位置指令値と位置FB2値との第2偏差の低周波数成分の割合が減少し、ハイパスフィルタ32Aを通過する位置指令値と位置FB1値との第1偏差の高周波数成分の割合が増加する。そのため、第2偏差の低周波数成分に基づくフルクローズドフィードバック制御の割合が減少し、第1偏差の高周波数成分に基づくセミクローズドフィードバック制御の割合が増加する。
【0054】
ここで、デュアル位置制御部30Aでは、高周波数の偏差が生成される過渡動作時には、ハイパスフィルタ32Aを含むセミクローズドフィードバック制御が支配的となる。一方、低周波数の偏差が生成される位置決め時には、ローパスフィルタ32Bを含むフルクローズドフィードバック制御が支配的となる。
【0055】
位置指令値と位置FB1値との第1偏差に基づくセミクローズドフィードバック制御は、サーボモータ50のエンコーダ40からの位置FB1を用いるため、換言すれば、フィードバックループに連結機構60が含まれないため、制御が安定するという特徴を有する。一方、位置指令値と位置FB2値との第2偏差に基づくフルクローズドフィードバック制御は、テーブル(被駆動体)70の近くに設けられたスケール80からの位置FB2値を用いるため、位置決め精度が高いという特徴を有する。
【0056】
これより、デュアル位置制御部30Aによれば、過渡動作時には、安定な動作を得ることができ、工作機械の振動を抑制することができる。一方、位置決め時には、高い位置決め精度を得ることができる。
【0057】
更に、制御割合変更部35Aにより、連結機構60の剛性の低下に応じて、ハイパスフィルタ32Aのカットオフ周波数及びローパスフィルタ32Bのカットオフ周波数を低下させるので、連結機構60を含むフルクローズドフィードバック制御の割合が減少し、連結機構60を含まず安定動作が可能なセミクローズドフィードバック制御の割合が増加する。これより、位置決め時の高い位置決め精度を損なうことなく、連結機構60の剛性の低下に起因する工作機械の振動の発生を抑制することができる。そのため、工作機械の振動の発生に起因する工作機械の加工精度の低下を抑制することができる。
【0058】
なお、ハイパスフィルタ32A及びローパスフィルタ32Bのカットオフ周波数が低いほど、過渡動作時のセミクローズドフィードバック制御から位置決め時のフルクローズドフィードバック制御への切り換えが緩やかになる(遅くなる)。
【0059】
このとき、表示部26は、連結機構60の剛性の大きさを示す情報を表示してもよい。
【0060】
モータ制御部10Aは、所定時間経過後にステップS11に戻り、上述した動作を繰り返す。なお、モータ制御部10Aは、予め定めた一定時間(所定時間)経過後に限らず、不規則な時間経過後に(不定時間間隔で)上述した動作を繰り返してもよい。或いは、モータ制御部10Aは、常時、又は設定された特定の動作時(例えば、起動時)に上述した動作を繰り返してもよい。
【0061】
なお、ステップS12において、剛性推定部22は、推定した剛性の大きさを推定日時などの諸情報と関連付けて保存部24に保存してもよい。また、ステップS13において、制御割合変更部35Aは、保存部24に保存された最新の剛性の大きさに基づいて、制御の割合を変更してもよい。
【0062】
以上説明したように、本実施形態のサーボモータ制御装置1Aでは、力推定部(取得部)20及び剛性推定部(取得部)22が連結機構60の剛性の大きさを推定し、制御割合変更部35Aが、推定された連結機構60の剛性の低下に応じて、デュアル位置制御部30Aのハイパスフィルタ32Aのカットオフ周波数及びローパスフィルタ32Bのカットオフ周波数を低下させる。これより、位置指令値と位置FB2値との第2偏差の低周波数成分に基づくフルクローズドフィードバック制御の割合が減少し、位置指令値と位置FB1値との第1偏差の高周波数成分に基づくセミクローズドフィードバック制御の割合が増加する。すなわち、連結機構60を含むフルクローズドフィードバック制御の割合が減少し、連結機構60を含まず安定動作が可能なセミクローズドフィードバック制御の割合が増加する。これより、位置決め時の高い位置決め精度を損なうことなく、連結機構60の剛性の低下に起因する工作機械の振動の発生を抑制することができる。そのため、工作機械の振動の発生に起因する工作機械の加工精度の低下を抑制することができる。
【0063】
また、本実施形態のサーボモータ制御装置1Aでは、表示部26が、連結機構60の剛性の大きさに関する情報を表示するので、ユーザは連結機構60の剛性の経年変化(劣化)を確認することができる。また、ユーザは連結機構60の保守の必要性の有無を確認することができる。
【0064】
なお、本実施形態では、制御割合変更部35Aは、連結機構60の剛性の大きさに応じてセミクローズドフィードバック制御とフルクローズドフィードバック制御との割合を変更したが、これに限定されない。例えば、制御割合変更部35Aは、保存部24に保存された所定時間間隔又は不定時間間隔ごとに推定した複数の剛性の大きさに基づいて連結機構60の剛性の変化量(低下量)を求め、求めた連結機構60の剛性の変化量(低下量)に応じてセミクローズドフィードバック制御とフルクローズドフィードバック制御との割合を変更してもよい。
【0065】
また、表示部26は、求めた連結機構60の剛性の変化量(低下量)を示す情報を表示してもよい。
【0066】
(第2実施形態のサーボモータ制御装置)
第1実施形態では、ハイパスフィルタ32Aとローパスフィルタ32Bとの2つのフィルタを用いたデュアル位置制御部30Aを説明した。第2実施形態では、1つのローパスフィルタと減算器とを用いたデュアル位置制御部について説明する。
【0067】
図1において、第2実施形態に係るサーボモータ制御装置1Bは、上述したモータ制御部10としてモータ制御部10Bを備える。
【0068】
図4は、第2実施形態に係るサーボモータ制御装置1Bにおけるモータ制御部10Bの構成を示す図である。
図4に示すように、モータ制御部10Bは、
図2に示すモータ制御部10Aにおいてデュアル位置制御部30A及び制御割合変更部35Aに代えてデュアル位置制御部30B及び制御割合変更部35Bを備える構成で第1実施形態と異なる。
【0069】
デュアル位置制御部30Bは、デュアル位置制御部30Aにおいてハイパスフィルタ32Aに代えて減算器31Cを備える点で第1実施形態と異なる。
【0070】
減算器(第3減算部)31Cは、減算器31Bで求められた第2偏差から、減算器31Aで求められた第1偏差を減算した第3偏差を求める。
【0071】
ローパスフィルタ32Bは、減算器31Cで求められた第3偏差における低周波数成分を通過させ、高周波数成分をカットする。換言すれば、ローパスフィルタ32Bは、第2偏差の低周波数成分と第1偏差の低周波数成分(負値)とを通過させる。ローパスフィルタ32Bのカットオフ周波数は、制御割合変更部35Bからの制御信号Sに応じて変更される。
【0072】
加算器33は、減算器31Aで求められた第1偏差と、ローパスフィルタ32Bを通過した第3偏差の低周波数成分とを加算し、速度指令生成部14に送信する。換言すれば、加算器33は、第1偏差と第1偏差の低周波数成分(負値)との加算による第1偏差の高周波数成分と、第2偏差の低周波数成分とを加算する。
【0073】
これより、デュアル位置制御部30Bも、デュアル位置制御部30Aと同様に、位置指令値とエンコーダ40からの位置FB1値との第1偏差の高周波数成分に基づくセミクローズドフィードバック制御と、位置指令値とスケール80からの位置FB2値との第2偏差の低周波数成分に基づくフルクローズドフィードバック制御とを行う。
【0074】
ここで、第1偏差をE1、第2偏差をE2とすると、第3偏差E3、ローパスフィルタ32Bの出力ELは次式のように表される。
E3=E2−E1
EL=1/(1+τs)×E3=1/(1+τs)×(E2−E1)
これより、加算器33で加算された偏差は次式のように表される。
偏差=E1+1/(1+τs)×(E2−E1)
=τs/(1+τs)×E1+1/(1+τs)×E2 ・・・(3)
上式(3)は、上述の式(1)と同一である。これより、上式(3)からも、デュアル位置制御部30Bの機能及び動作は、上述したデュアル位置制御部30Aの機能及び動作と同一であることがわかる。
【0075】
制御割合変更部35Bは、制御割合変更部35Aと同様に、剛性推定部22で推定された連結機構60の剛性の大きさに応じて、デュアル位置制御部30Bにおけるセミクローズドフィードバック制御とフルクローズドフィードバック制御との割合を変更する。具体的には、制御割合変更部35Bは、推定された連結機構60の剛性の低下に応じて、セミクローズドフィードバック制御の割合を増加させ、フルクローズドフィードバック制御の割合を減少させる。
【0076】
より具体的には、制御割合変更部35Bは、保存部24に保存された関数(例えば、テーブル)に基づいて、剛性推定部22で推定された連結機構60の剛性の大きさに対応した制御信号Sを生成し、ローパスフィルタ32Bに送信する。これにより、制御割合変更部35Bは、ローパスフィルタ32Bのカットオフ周波数を変更させる。具体的には、制御割合変更部35Bは、推定された連結機構60の剛性の低下に応じて、ローパスフィルタ32Bのカットオフ周波数を低下させる。
【0077】
本実施形態のサーボモータ制御装置1Bでも、第1実施形態のサーボモータ制御装置1Aと同様の利点を得ることができる。
【0078】
すなわち、本実施形態のデュアル位置制御部30Bでも、位置指令値とエンコーダ40からの位置FB1値との第1偏差の高周波数成分に基づくセミクローズドフィードバック制御と、位置指令値とスケール80からの位置FB2値との第2偏差の低周波数成分に基づくフルクローズドフィードバック制御とを行う。これより、高周波数の偏差が生成される過渡動作時には、セミクローズドフィードバック制御が支配的となり、低周波数の偏差が生成される位置決め時には、フルクローズドフィードバック制御が支配的となる。その結果、過渡動作時には、安定な動作を得ることができ、工作機械の振動を抑制することができる。一方、位置決め時には、高い位置決め精度を得ることができる。
【0079】
さらに、本実施形態のサーボモータ制御装置1Bでは、制御割合変更部35Bが、推定された連結機構60の剛性の低下に応じて、ローパスフィルタ32Bのカットオフ周波数を低下させる。これより、位置指令値と位置FB2値との第2偏差の低周波数成分に基づくフルクローズドフィードバック制御の割合が減少し、位置指令値と位置FB1値との第1偏差の高周波数成分に基づくセミクローズドフィードバック制御の割合が増加する。すなわち、連結機構60を含むフルクローズドフィードバック制御の割合が減少し、連結機構60を含まず安定動作が可能なセミクローズドフィードバック制御の割合が増加する。これより、位置決め時の高い位置決め精度を損なうことなく、連結機構60の剛性の低下に起因する工作機械の振動の発生を抑制することができる。そのため、工作機械の振動の発生に起因する工作機械の加工精度の低下を抑制することができる。
【0080】
なお、本実施形態でも、制御割合変更部35Bは、保存部24に保存された所定時間間隔又は不定時間間隔ごとに推定した複数の剛性の大きさに基づいて連結機構60の剛性の変化量(低下量)を求め、求めた連結機構60の剛性の変化量(低下量)に応じてセミクローズドフィードバック制御とフルクローズドフィードバック制御との割合を変更してもよい。
【0081】
(第2実施形態の変形例)
図5は、第2実施形態の変形例に係るサーボモータ制御装置1Bにおけるモータ制御部10Bの構成を示す図である。
図5に示すように、デュアル位置制御部30Bは、減算器31C及びローパスフィルタ32Bに代えて減算器31C及びハイパスフィルタ32Aを備えてもよい。
【0082】
減算器(第3減算部)31Cは、減算器31Aで求められた第1偏差から、減算器31Bで求められた第2偏差を減算した第3偏差を求める。
【0083】
ハイパスフィルタ32Aは、減算器31Cで求められた第3偏差における高周波数成分を通過させ、低周波数成分をカットする。換言すれば、ハイパスフィルタ32Aは、第1偏差の高周波数成分と第2偏差の高周波数成分(負値)とを通過させる。ハイパスフィルタ32Aのカットオフ周波数は、制御割合変更部35Bからの制御信号Sに応じて変更される。
【0084】
加算器33は、ハイパスフィルタ32Aを通過した第3偏差の高周波数成分と、減算器31Bで求められた第2偏差とを加算し、速度指令生成部14に送信する。換言すれば、加算器33は、第1偏差の高周波数成分と、第2偏差と第2偏差の高周波数成分(負値)との加算による第2偏差の低周波数成分とを加算する。
【0085】
これより、変形例のデュアル位置制御部30Bも、第2実施形態のデュアル位置制御部30Bと同様に、位置指令値とエンコーダ40からの位置FB1値との第1偏差の高周波数成分に基づくセミクローズドフィードバック制御と、位置指令値とスケール80からの位置FB2値との第2偏差の低周波数成分に基づくフルクローズドフィードバック制御とを行う。
【0086】
ここで、第1偏差をE1、第2偏差をE2とすると、第3偏差E3、ハイパスフィルタ32Aの出力EHは次式のように表される。
E3=E1−E2
EH=τs/(1+τs)×E3=τs/(1+τs)×(E1−E2)
これより、加算器33で加算された偏差は次式のように表される。
偏差=τs/(1+τs)×(E1−E2)+E2
=τs/(1+τs)×E1+1/(1+τs)×E2 ・・・(4)
上式(4)は、上述の式(3)と同一である。これより、上式(4)からも、変形例のデュアル位置制御部30Bの機能及び動作は、第2実施形態のデュアル位置制御部30Bの機能及び動作と同一であることがわかる。
【0087】
制御割合変更部35Bは、第2実施形態と同様に、剛性推定部22で推定された連結機構60の剛性の大きさに応じて、デュアル位置制御部30Bにおけるセミクローズドフィードバック制御とフルクローズドフィードバック制御との割合を変更する。具体的には、制御割合変更部35Bは、推定された連結機構60の剛性の低下に応じて、セミクローズドフィードバック制御の割合を増加させ、フルクローズドフィードバック制御の割合を減少させる。
【0088】
より具体的には、制御割合変更部35Bは、保存部24に保存された関数(例えば、テーブル)に基づいて、剛性推定部22で推定された連結機構60の剛性の大きさに対応した制御信号Sを生成し、ハイパスフィルタ32Aに送信する。これにより、制御割合変更部35Bは、ハイパスフィルタ32Aのカットオフ周波数を変更させる。具体的には、制御割合変更部35Bは、推定された連結機構60の剛性の低下に応じて、ハイパスフィルタ32Aのカットオフ周波数を低下させる。
【0089】
この変形例のサーボモータ制御装置1Bでも、第2実施形態のサーボモータ制御装置1Bと同様の利点を得ることができる。
【0090】
(第3実施形態のサーボモータ制御装置)
第1実施形態では、連結機構60の剛性の大きさに応じてセミクローズドフィードバック制御とフルクローズドフィードバック制御との割合を変更した。第3実施形態では、サーボモータ制御装置の共振周波数の大きさに基づいてセミクローズドフィードバック制御とフルクローズドフィードバック制御との割合を変更する。
【0091】
図1において、第3実施形態に係るサーボモータ制御装置1Cは、上述したモータ制御部10としてモータ制御部10Cを備える。
【0092】
図6は、第3実施形態に係るサーボモータ制御装置1Cにおけるモータ制御部10Cの構成を示す図である。
図6に示すように、モータ制御部10Cは、
図2に示すモータ制御部10Aにおいて力推定部20(取得部)及び剛性推定部(取得部)22に代えて取得部20Cを備える構成で第1実施形態と異なる。
【0093】
取得部20Cは、サーボモータ制御装置1Cの伝達特性の周波数特性を取得する。例えば、取得部20Cは、減算器31Bからスケール80までのフルクローズドフィードバック制御ループの利得/位相の周波数特性を取得する。
具体的には、取得部20Cは、減算器31Bに加振信号(例えば、正弦波スイープ信号、M系列信号などの複数の周波数成分を含む信号)を入力し、スケール80から減算器31Bにフィードバックされる位置FB2信号を測定することにより、フルクローズドフィードバック制御ループの利得/位相の周波数特性を取得する。このとき、全てのフィードバックループを開ループ状態とする。
【0094】
そして、取得部20Cは、取得した利得/位相の周波数特性から、サーボモータ制御装置1C(すなわち、工作機械)の共振周波数の大きさを求める。
【0095】
保存部24は、所定時間間隔又は不定時間間隔ごとに、取得部20Cで取得されたサーボモータ制御装置1Cの共振周波数の大きさを保存する。
また、保存部24は、サーボモータ制御装置1Cの共振周波数の大きさを入力とし、入力した共振周波数の大きさに応じた制御信号であって、ハイパスフィルタ32Aのカットオフ周波数及びローパスフィルタ32Bのカットオフ周波数を変更する制御信号S1,S2を出力とする関数を保存する。例えば、保存部24は、関数として、共振周波数の大きさと制御信号S1,S2とが関連付けされたテーブルを保存する。例えば、テーブルでは、共振周波数が低下するほど、カットオフ周波数を低くするような制御信号S1,S2が設定される。
【0096】
制御割合変更部35Aは、取得部20Cで取得されたサーボモータ制御装置1Cの共振周波数の大きさに応じて、デュアル位置制御部30Aにおけるセミクローズドフィードバック制御とフルクローズドフィードバック制御との割合を変更する。具体的には、制御割合変更部35Aは、取得されたサーボモータ制御装置1Cの共振周波数の低下に応じて、セミクローズドフィードバック制御の割合を増加させ、フルクローズドフィードバック制御の割合を減少させる。
【0097】
より具体的には、制御割合変更部35Aは、保存部24に保存された関数(例えば、テーブル)に基づいて、取得部20Cで取得されたサーボモータ制御装置1Cの共振周波数の大きさに対応した制御信号S1,S2を生成し、ハイパスフィルタ32A及びローパスフィルタ32Bにそれぞれ送信する。これにより、制御割合変更部35Aは、ハイパスフィルタ32A及びローパスフィルタ32Bのカットオフ周波数を変更させる。具体的には、制御割合変更部35Aは、推定されたサーボモータ制御装置1Cの共振周波数の低下に応じて、ハイパスフィルタ32A及びローパスフィルタ32Bのカットオフ周波数を低下させる。
【0098】
次に、
図7を参照して、第3実施形態のサーボモータ制御装置1Cによるデュアル位置フィードバック制御の割合変更動作について説明する。
図7は、第3実施形態のサーボモータ制御装置1Cによるデュアル位置フィードバック制御の割合変更動作を示すフローチャートである。
【0099】
まず、ステップS21において、取得部20Cは、サーボモータ制御装置1Cにおける減算器31Bからスケール80までのフルクローズドフィードバック制御ループの利得/位相の周波数特性を取得する。具体的には、取得部20Cは、減算器31Bに加振信号を入力し、スケール80から減算器31Bにフィードバックされる位置FB2信号を測定することにより、フルクローズドフィードバック制御ループの利得/位相の周波数特性を取得する。
【0100】
次に、ステップS22において、取得部20Cは、取得した利得/位相の周波数特性から、サーボモータ制御装置1C(すなわち、工作機械)の共振周波数の大きさを求める。
【0101】
図8に、サーボモータ制御装置のフィードバック制御ループの利得(Magnitude)/位相(Phase)の周波数特性の一例を示す。
図8に示すように、連結機構60の剛性が経年変化(低下、劣化)すると、サーボモータ制御装置1C(すなわち、工作機械)の共振周波数がf1(破線)からf2(実線)に低下する。また、工作機械におけるその他何らかの部分の経年劣化の要因によりサーボモータ制御装置1Cの共振周波数がf1(破線)からf2(実線)に低下することがある。サーボモータ制御装置1Cの共振周波数が低下すると、工作機械に低周波数の振動が生じる可能性が高くなる。工作機械に低周波数の振動が発生すると、工作機械の加工精度が低下する。
【0102】
そこで、上述同様に、ステップS13において、制御割合変更部35Aは、保存部24に保存された関数(例えば、テーブル)に基づいて、取得部20Cで取得されたサーボモータ制御装置1Cの共振周波数の大きさに対応した制御信号S1,S2を生成し、デュアル位置制御部30Aのハイパスフィルタ32A及びローパスフィルタ32Bにそれぞれ送信する。これにより、制御割合変更部35Aは、ハイパスフィルタ32A及びローパスフィルタ32Bのカットオフ周波数を変更させる。具体的には、制御割合変更部35Aは、取得されたサーボモータ制御装置1Cの共振周波数の低下に応じて、ハイパスフィルタ32A及びローパスフィルタ32Bのカットオフ周波数を低下させる。
【0103】
これにより、ローパスフィルタ32Bを通過する位置指令値と位置FB2値との第2偏差の低周波数成分の割合が減少し、ハイパスフィルタ32Aを通過する位置指令値と位置FB1値との第1偏差の高周波数成分の割合が増加する。そのため、第2偏差の低周波数成分に基づくフルクローズドフィードバック制御の割合が減少し、第1偏差の高周波数成分に基づくセミクローズドフィードバック制御の割合が増加する。
【0104】
このとき、表示部26は、サーボモータ制御装置1Cの共振周波数の大きさを示す情報を表示してもよい。
【0105】
モータ制御部10Cは、所定時間経過後にステップS21に戻り、上述した動作を繰り返す。なお、モータ制御部10Cは、予め定めた一定時間(所定時間)経過後に限らず、不規則な時間経過後に(不定時間間隔で)上述した動作を繰り返してもよい。或いは、モータ制御部10Cは、常時、又は設定された特定の動作時(例えば、起動時)に上述した動作を繰り返してもよい。
【0106】
なお、ステップS22において、取得部20Cは、取得した共振周波数の大きさを取得日時などの諸情報と関連付けて保存部24に保存してもよい。また、ステップS13において、制御割合変更部35Aは、保存部24に保存された最新の共振周波数の大きさに基づいて、制御の割合を変更してもよい。
【0107】
また、サーボモータ制御装置1C(すなわち、工作機械)の共振周波数は、連結機構60に対するテーブル70の位置、テーブル70上の積載物の重さなどに依存して変化する。
そこで、取得部20Cは、テーブル70上の積載物の重さなど使用状態と同一条件で、制御ループの利得/位相の周波数特性の測定を行ってもよい。また、制御割合変更部35Aは、連結機構60に対するテーブル70の位置などの諸情報を考慮して、ハイパスフィルタ32A及びローパスフィルタ32Bのカットオフ周波数の変更量を調整してもよい。
【0108】
以上説明したように、本実施形態のサーボモータ制御装置1Cでは、取得部20Cがサーボモータ制御装置1Cの共振周波数の大きさを取得し、制御割合変更部35Aが、取得されたサーボモータ制御装置1Cの共振周波数の低下に応じて、デュアル位置制御部30Aのハイパスフィルタ32Aのカットオフ周波数及びローパスフィルタ32Bのカットオフ周波数を低下させる。これより、位置指令値と位置FB2値との第2偏差の低周波数成分に基づくフルクローズドフィードバック制御の割合が減少し、位置指令値と位置FB1値との第1偏差の高周波数成分に基づくセミクローズドフィードバック制御の割合が増加する。すなわち、連結機構60を含むフルクローズドフィードバック制御の割合が減少し、連結機構60を含まず安定動作が可能なセミクローズドフィードバック制御の割合が増加する。これより、位置決め時の高い位置決め精度を損なうことなく、サーボモータ制御装置1Cの共振周波数の低下に起因する工作機械の振動の発生を抑制することができる。そのため、工作機械の振動の発生に起因する工作機械の加工精度の低下を抑制することができる。
【0109】
また、本実施形態のサーボモータ制御装置1Cでは、表示部26が、サーボモータ制御装置1C(すなわち、工作機械)の共振周波数の大きさに関する情報を表示するので、ユーザは工作機械の経年変化(例えば、連結機構60の剛性の経年劣化)を確認することができる。また、ユーザは工作機械(例えば、連結機構60)の保守の必要性の有無を確認することができる。
【0110】
なお、本実施形態では、制御割合変更部35Aは、サーボモータ制御装置1Cの共振周波数の大きさに応じてセミクローズドフィードバック制御とフルクローズドフィードバック制御との割合を変更したが、これに限定されない。例えば、制御割合変更部35Aは、保存部24に保存された所定時間間隔又は不定時間間隔ごとに取得した複数の共振周波数の大きさに基づいてサーボモータ制御装置1Cの共振周波数の変化量(低下量)を求め、求めたサーボモータ制御装置1Cの共振周波数の変化量(低下量)に応じてセミクローズドフィードバック制御とフルクローズドフィードバック制御との割合を変更してもよい。
【0111】
また、表示部26は、求めたサーボモータ制御装置1Cの共振周波数の変化量(低下量)を示す情報を表示してもよい。
【0112】
また、本実施形態では、取得部20Cは、減算器31Aからエンコーダ40までのセミクローズドフィードバック制御ループの利得/位相の周波数特性を測定して、サーボモータ制御装置1C(すなわち、工作機械)の共振周波数の大きさを求めてもよい。また、取得部20Cは、減算器15からエンコーダ40までの速度制御ループの利得/位相の周波数特性を測定して、サーボモータ制御装置1C(すなわち、工作機械)の共振周波数の大きさを求めてもよい。
【0113】
なお、本実施形態では、工作機械の経年劣化によりサーボモータ制御装置1C(すなわち、工作機械)の共振周波数が低下する場合について説明した。しかし、工作機械の経年変化等の何らかの要因によりサーボモータ制御装置1C(すなわち、工作機械)の共振周波数が増加することも考えられる。この場合には、制御割合変更部35Aは、取得されたサーボモータ制御装置1Cの共振周波数の増加に応じて、デュアル位置制御部30Aのハイパスフィルタ32Aのカットオフ周波数及びローパスフィルタ32Bのカットオフ周波数を高くしてもよい。
【0114】
以上、本発明の実施形態について説明したが、本発明は前述した実施形態に限るものではない。また、本実施形態に記載された効果は、本発明から生じる最も好適な効果を列挙したに過ぎず、本発明による効果は、本実施形態に記載されたものに限定されるものではない。
【0115】
例えば、上述した実施形態は、適宜変更されてもよいし、置換又は組み合わされて実施されてもよい。例えば、第1実施形態及び第2実施形態の力推定部(取得部)20及び剛性推定部(取得部)22と第3実施形態の取得部20Cとは適宜置換されてもよいし、第1実施形態及び第3実施形態のデュアル位置制御部30A及び制御割合変更部35Aと第2実施形態のデュアル位置制御部30B及び制御割合変更部35Bとは適宜置換されてもよい。
【0116】
また、上述した実施形態では、ハイパスフィルタ32A及び/又はローパスフィルタ32Bを用いたデュアル位置制御部30A,30Bを例示した。しかし、デュアル位置制御部30A,30Bは、ハイパスフィルタ32A及び/又はローパスフィルタ32Bに代えてバンドパスフィルタ及び/又はノッチフィルタ(バンドストップフィルタ)等を用いてもよい。この場合、制御割合変更部35A,35Bは、連結機構60の剛性の大きさに応じて各フィルタの中心周波数を変更する。
【0117】
また、上述した実施形態では、所定時間間隔又は不定時間間隔ごとに取得した複数の剛性の大きさ又は複数の共振周波数の大きさを、自装置の保存部24に保存したが、ネットワークを介して接続された外部のサーバ装置の保存部に保存していてもよい。
【0118】
また、上述した実施形態では、通知部の一例として表示部を例示したが、通知部はこれに限定されない。例えば、通知部は、1又は複数のLED等の発光部であってもよい。1つのLEDの場合、点灯及び点滅等により異なる情報を通知してもよい。また、複数のLEDの場合、同色の点灯数、又は、異なる色により異なる情報を通知してもよい。また、例えば、通知部は、ブザー音又は音声等の発音部であってもよい。