(57)【要約】【課題】  工作機械の温度上昇が安定化するまでの過渡的状態において、補正量をボールねじシャフトの実際の伸び量に近似させることができる工作機械の熱変位補正方法、熱変位補正装置及びその熱変位補正用プログラムを提供すること。【解決手段】  温度分布演算回路１９は電流と回転数から飽和温度を算出し、Ｘ軸モータ７１の上昇温度を計算する。この上昇温度とＸ軸モータ側軸端部温度から前部軸受部発熱量の計算を行うと共に、ボールねじシャフト８１の各区間の発熱量を算出した後、これら発熱量とパラメータメモリ２０に記憶される各種データとから各熱源部の温度分布を算出する。モータの発熱量と放熱量とが均衡するまでの期間は、補正値を求める演算にモータの温度上昇に基づく第２発熱量を用いることにより、モータ温度の変化に追従した精度の良い補正量を得ることができる。【選択図】  図７
2009214283.tif 000002
【特許請求の範囲】
【請求項１】
送り駆動用ボールねじ機構と、このボールねじ機構のボールねじシャフトによるナットの送り量を加工データに基づき計算する送り量制御手段と、このボールねじシャフトを回転駆動するサーボモータと、このサーボモータの回転速度を加工データに基づき制御するための速度制御手段とを有する工作機械の熱変位補正方法であって、
サーボモータの回転速度に基づきナットからボールねじシャフトに発生する第１発熱量を求める第１ステップと、
サーボモータの上昇温度を検出し、この上昇温度に基づきサーボモータからボールねじシャフトに発生する第２発熱量を求める第２ステップと、
前記第１発熱量と第２発熱量とから前記ボールねじシャフトを長さ方向に分割した複数の区間の温度分布を演算する第３ステップと、
前記温度分布から前記ボールねじシャフトの各区間の熱変位量を演算する第４ステップと、
前記熱変位量に基づき加工データの補正量を演算する第５ステップと、
を備えたことを特徴とする工作機械の熱変位補正方法。
【請求項２】
前記サーボモータの上昇温度は、サーボモータの回転速度と駆動電流値とに基づいて検出することを特徴とする請求項１に記載の工作機械の熱変位補正方法。
【請求項３】
送り駆動用ボールねじ機構と、このボールねじ機構のボールねじシャフトによるナットの送り量を加工データに基づき計算する送り量制御手段と、ボールねじシャフトを回転駆動するサーボモータと、このサーボモータの回転速度を加工データに基づき制御するための速度制御手段とを有する工作機械の熱変位補正装置であって、
サーボモータの回転速度を検出する速度検出手段と、
サーボモータの上昇温度を検出する温度検出手段と、
前記サーボモータの回転速度に基づきナットからボールねじシャフトに発生する第１発熱量と前記サーボモータの上昇温度に基づきボールねじシャフトに発生する第２発熱量とから前記ボールねじシャフトを長さ方向に分割した複数の区間の温度分布を演算する温度分布演算手段と、
前記温度分布に基づいて前記ボールねじシャフトの各区間の熱変位量を演算すると共に、この熱変位量に基づき加工データの補正量を演算する補正量演算手段とを備えたことを特徴とする工作機械の熱変位補正装置。
【請求項４】
前記温度検出手段は、サーボモータの回転速度と駆動電流値とに基づいて上昇温度を検出することを特徴とする請求項３に記載の工作機械の熱変位補正装置。
【請求項５】
送り駆動用ボールねじ機構と、このボールねじ機構のボールねじシャフトによるナットの送り量を加工データに基づき計算する送り量制御手段と、ボールねじシャフトを回転駆動するサーボモータと、このサーボモータの回転速度を加工データに基づき制御するための速度制御手段とを有する工作機械のコンピータを、
前記サーボモータの回転速度に基づいて求められる第１発熱量とサーボモータの上昇温度に基づいて求められる第２発熱量とから前記ボールねじシャフトを長さ方向に分割した複数の区間の温度分布を演算する温度分布演算手段と、
前記温度分布演算手段で求められた前記温度分布を用いて前記ボールねじシャフトの各区間の熱変位量を演算すると共に、この熱変位量を用いて加工データの補正量を演算する補正量演算手段として機能させることを特徴とする工作機械の熱変位補正用プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、工作機械の熱変位補正方法、熱変位補正装置及び熱変位補正用プログラムに関し、特に工作機械の運転中に生じるボールねじ機構の熱変位による誤差を補正するように構成したものに関する。
【背景技術】
【０００２】
ボールねじ機構は、位置決め機構として工作機械に広く使用されている。ボールねじ機構はボールねじシャフトとナット及び軸受各部との摩擦抵抗やサーボモータの発熱のために温度上昇による熱膨張を起こし、熱変位を生じる。現在のＮＣ工作機械ではセミクローズドループ型が一般的であるが、この方式のＮＣ工作機械ではボールねじシャフトの熱変位が、そのまま位置決め誤差となって現れる。このため、ボールねじシャフトに予張力を与え、熱膨張を吸収する方式が対策として使用されてきた。ところが最近では、太いボールねじシャフトを使用する上に送り速度が非常に速くなっているので発熱量が増大し、予張力方式で対応しようとすると、非常に大きな引張力を加えねばならず、ボールねじ機構の構造体が変形したり、スラスト軸受に無理な力が加わって焼き付く等の問題があった。
【０００３】
そこで、ボールねじシャフトに無理な予張力を与えず、しかも、特別な測定装置を必要としないボールねじシャフトの熱変位補正方法が開発されており、特許文献１においてその方法が提案されている。これは、サーボモータの電気子電流と電圧との積から求めたボールねじシャフトの発熱量からボールねじシャフトを複数の区間に分割したモデルにおいて温度分布を求め、更に、ボールねじシャフトの熱変位量を時々刻々に予想し、この熱変位量をＮＣ装置にピッチエラー補正として与えることにより、インプロセスで補正する方法である。
【０００４】
特許文献２は、特許文献１の方法にはサーボモータ自体の加減速のエネルギーが発熱量に含まれる問題があることに着目し、サーボモータの回転速度からボールねじシャフトの各区間の発熱量を算出する熱変位量補正方法を提案している。この方法によれば、算出された補正量をボールねじシャフトの実際の伸びに近似させることができる。
【０００５】
【特許文献１】特開昭６３―２５６３３６号公報
【特許文献２】特開平４―２４００４５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献２に提案される方法では、サーボモータの発熱量が回転速度のみで算出されており、サーボモータの負荷によって発熱量が異なってくる点についての検討はなされていない。更に、サーボモータの稼動初期と一定時間経過後における補正量算出の条件についての開示もされていないことから、モータの稼動初期である過渡的状態において計算された補正量とボールねじシャフトの実際の伸びとが近似できない可能性が考えられる。
【０００７】
そこで、実際にサーボモータを稼動させてボールねじシャフトの端部の温度を計測すると共に、特許文献２に提案される熱分布モデルを作成して、実際のボールねじシャフト端部の温度と熱分布モデルで計算された温度との比較実験を行った。
図１４に示すように、実際のボールねじシャフトの端部温度を計測する機構は、サーボモータ２０１と、このサーボモータ２０１とカップリング２０２を介して接続されるボールねじシャフト２０３と、このボールねじシャフト２０３と螺合され、ボールねじシャフト２０３の回転により前後移動可能なナット２０４と、ナット２０４と一体的に前後移動可能なテーブル２０５からなり、ボールねじシャフト２０３は支持台に設置される固定ベアリング２０６と可動ベアリング２０７に回転自在に支持されている。尚、温度測定部位２０８は固定ベアリング２０６の中央部分近傍に設定した。
【０００８】
本入熱実験の条件は以下のように設定した。
（条件１）  
移動中のサーボモータ２０１に流れる平均電流及び平均回転数を一定に保ち、固定位置２０９における温度測定値が安定するまで繰返し一定速度の往復移動を行う。
（条件２）
ナット２０４の発熱が温度測定部位２０８に影響しないように、テーブル２０５の移動は固定ベアリング２０６から十分離れた位置で行い、温度測定部位２０８の温度はサーボモータ２０１及び固定ベアリング２０６の影響のみとした。
【０００９】
次に、特許文献２に提案される熱分布モデルを作成した。サーボモータ２０１に流れる平均電流及び平均回転数が一定であることから、サーボモータ２０１からボールねじシャフトの端部への入熱は一定として、特許文献２にある非定常熱伝導方程式を解き、各時点における温度を計算した。
【００１０】
図１５は、固定位置２０９（図１４参照）における熱変位の実験値と熱分布モデルによる計算値とを示す。縦軸はボールねじシャフト端部の温度、横軸は経過時間、実線は実験値、破線は計算値である。この結果から、ボールねじシャフト端部の温度上昇が安定化した後は実験値と計算値とは近似しているものの、温度上昇が安定化するまでの過渡的状態の期間は、計算値が実験値より温度上昇が早く正確な予測ができないことを確認した。  
【００１１】
本発明の目的は、工作機械の稼動後、温度上昇が安定化するまでの過渡的状態において、
補正量をボールねじシャフトの実際の伸び量に近似させることができる工作機械の熱変位補正方法、熱変位補正装置及びその熱変位補正用プログラムを提供することにある。
【課題を解決するための手段】
【００１２】
請求項１の工作機械の熱変位補正方法は、送り駆動用ボールねじ機構と、このボールねじ機構のボールねじシャフトによるナットの送り量を加工データに基づき計算する送り量制御手段と、このボールねじシャフトを回転駆動するサーボモータと、このサーボモータの回転速度を加工データに基づき制御するための速度制御手段とを有する方法であって、サーボモータの回転速度に基づきナットからボールねじシャフトに発生する第１発熱量を求める第１ステップと、サーボモータの上昇温度を検出し、この上昇温度に基づきサーボモータからボールねじシャフトに発生する第２発熱量を求める第２ステップと、第１発熱量と第２発熱量とからボールねじシャフトを長さ方向に分割した複数の区間の温度分布を演算する第３ステップと、
温度分布から前記ボールねじシャフトの各区間の熱変位量を演算する第４ステップと、熱変位量に基づき加工データの補正量を演算する第５ステップとを備えたことを特徴とする。
【００１３】
請求項２の工作機械の熱変位補正方法は、請求項１の発明において、サーボモータの上昇温度は、サーボモータの回転速度と駆動電流値とに基づいて検出することを特徴とする。
【００１４】
請求項３の工作機械の熱変位補正装置は、送り駆動用ボールねじ機構と、このボールねじ機構のボールねじシャフトによるナットの送り量を加工データに基づき計算する送り量制御手段と、ボールねじシャフトを回転駆動するサーボモータと、このサーボモータの回転速度を加工データに基づき制御するための速度制御手段とを有する装置であって、サーボモータの回転速度を検出する速度検出手段と、サーボモータの上昇温度を検出する温度検出手段と、サーボモータの回転速度に基づきナットからボールねじシャフトに発生する第１発熱量と前記サーボモータの上昇温度に基づきボールねじシャフトに発生する第２発熱量とから前記ボールねじシャフトを長さ方向に分割した複数の区間の温度分布を演算する温度分布演算手段と、温度分布に基づいて前記ボールねじシャフトの各区間の熱変位量を演算すると共に、この熱変位量に基づき加工データの補正量を演算する補正量演算手段とを備えたことを特徴とする。
【００１５】
請求項４の工作機械の熱変位補正装置は、請求項３の発明において、温度検出手段は、サーボモータの回転速度と駆動電流値とに基づいて上昇温度を検出することを特徴とする
【００１６】
請求項５の工作機械の熱変位補正用プログラムは、送り駆動用ボールねじ機構と、このボールねじ機構のボールねじシャフトによるナットの送り量を加工データに基づき計算する送り量制御手段と、ボールねじシャフトを回転駆動するサーボモータと、このサーボモータの回転速度を加工データに基づき制御するための速度制御手段とを有するコンピータを、サーボモータの回転速度に基づいて求められる第１発熱量とサーボモータの上昇温度に基づいて求められる第２発熱量とからボールねじシャフトを長さ方向に分割した複数の区間の温度分布を演算する温度分布演算手段と、温度分布演算手段で求められた温度分布を用いてボールねじシャフトの各区間の熱変位量を演算すると共に、この熱変位量を用いて加工データの補正量を演算する補正量演算手段として機能させることを特徴とする。
【発明の効果】
【００１７】
請求項１の発明によれば、ナットからボールねじシャフトに発生する第１発熱量だけでなく、サーボモータの上昇温度に基づく第２発熱量を用いてボールねじシャフトの複数の区間の温度分布を演算して補正量を得るため、サーボモータの温度が安定化するまでの過渡的状態においても補正量をボールねじシャフトの実際の伸び量に近似させることができる。つまり、サーボモータからボールねじシャフトへの入熱は、サーボモータの上昇温度による影響を受けるが、サーボモータ自体の上昇温度は負荷等運転要素の影響に起因する。特に、サーボモータの発熱量と放熱量とが均衡するまでの期間は、サーボモータの温度が刻々と変化しているため、補正値を求める演算にサーボモータの温度上昇に基づく発熱量を用いることにより、モータ温度の変化に追従した補正量を得ることができる。
また、サーボモータからボールねじシャフトへの入熱以外については、ナットからボールねじシャフトに発生する第１発熱量を用いて複数の区間毎に熱変位量を演算することができ、別途センサを設けることなく精度の良い補正量を得ることができる。
【００１８】
請求項２の発明によれば、サーボモータの上昇温度をサーボモータの回転速度と駆動電流値とに基づいて検出するため、別途センサ等用いることなく既存のセンサを使用でき精度の良い補正量を得ることができる。
【００１９】
請求項３の発明によれば、サーボモータの上昇温度を検出する温度検出手段を有し、この上昇温度に基づく発熱量を用いてボールねじシャフトの複数の区間の温度分布を演算して補正量を得るため、温度上昇が安定化するまでの過渡的状態においても補正量をボールねじシャフトの実際の伸びに近似させることができる。
また、サーボモータからボールねじシャフトへの入熱以外については、ナットからボールねじシャフトに発生する発熱量を用いて複数の区間毎に熱変位量を演算することができ、別途センサを設けることなく精度の良い補正量を得ることができる工作機械の数値制御装置が得られる。
【００２０】
請求項４の発明によれば、温度検出手段は、サーボモータの回転速度と駆動電流値とに基づいて上昇温度を検出するため、別途センサ等用いることなく既存のセンサを使用でき精度の良い補正量を得ることができる。
【００２１】
請求項５の発明によれば、コンピュータをサーボモータの回転速度に基づいて求められる第１発熱量とサーボモータの上昇温度に基づいて求められる第２発熱量とから温度分布を演算する温度分布演算手段と、温度分布演算手段で求められた前記温度分布を用いてボールねじシャフトの複数の区間の熱変位量を演算し、この熱変位量を用いて加工データの補正量を演算する補正量演算手段として機能させることから、ほぼ請求項１又は３と同様の効果を奏する。
【発明を実施するための最良の形態】
【００２２】
以下、本発明を実施するための最良の形態について実施例に基づいて説明する。
【実施例１】
【００２３】
図１〜図４に基づいてマシニングセンタＭ（工作機械）の構成について説明する。
図１に示すように、マシニングセンタＭは、ワークと工具とをＸＹＺ直交座標系における各軸方向へ独立に相対移動させることによって、ワークに所望の機械加工（例えば、「中ぐり」、「フライス削り」、「穴空け」、「切削」等）を施すことができる工作機械である。このマシニングセンタＭは、鋳鉄製の基台であるベース１と、ベース１の上部に設けられ、ワークの切削加工を行う機械本体２と、ベース１の上部に固定され、機械本体２とベース１の上部を覆う箱状の図示しないスプラッシュカバーとを主体に構成されている。
【００２４】
ベース１はＹ軸方向に長い略直方体状の鋳造品である。ベース１の下部の四隅には高さ調節が可能な脚部が夫々設けられ、これらの脚部を工場等の床面に設置することでマシニングセンタＭが設置されている。
【００２５】
次に、機械本体２について説明する。
機械本体２は、ベース１の後部上のコラム座部３の上面に固定され且つ鉛直上方に延びるコラム４と、このコラム４の前面に沿って昇降可能な主軸ヘッド５と、この主軸ヘッド５の内部に回転可能に支持された主軸と、主軸ヘッド５の右側に設けられ、前記主軸の先端に工具６の工具ホルダを取り付けて交換する工具交換装置（ＡＴＣ）７と、ベース１の上部に設けられ、ワークを着脱可能に固定するテーブル８とを主体に構成されている。コラム４の背面側には、箱状の制御ボックス９が設けられ、この制御ボックス９の内側には、マシニングセンタＭの動作を制御する数値制御装置５０が設けられている。
【００２６】
次に、テーブル８の移動機構について説明する。
図３に示すように、テーブル８は、サーボモータからなるＸ軸モータ７１（図４参照）及びＹ軸モータ７２（図４参照）により、Ｘ軸方向（図１の機械本体２の左右方向）及びＹ軸方向（機械本体２の奥行き方向）に移動制御される。この移動機構は以下の構成からなる。まず、テーブル８の下側には直方体状の支持台１０が設けられている。その支持台１０の上面にはＸ軸方向に沿って延びる１対のＸ軸送りガイドが設けられ、１対のＸ軸送りガイド上にテーブル８が移動可能に支持されている。
図３のボールねじ機構の構成図に示すように、テーブル８の下面にはナット部８ａが配置され、このナット部８ａはＸ軸モータ７１から延設されるＸ軸ボールねじシャフト８１と螺合することでボールねじ機構を構成している。Ｘ軸ボールねじシャフト８１のＸ軸モータ７１側の端部８１ａは支持台１０に固定される固定ベアリング９１ａに支持され、反対側の端部８１ｂは可動ベアリング９１ｂに支持されている。
【００２７】
支持台１０は、ベース１の上部に設けられ、そのベース１の長手方向に沿って延びる１対のＹ軸送りガイド上に移動可能に支持されている。テーブル８は、ベース１上に設けられたＸ軸モータ７１によりＸ軸送りガイドに沿ってＸ軸方向に移動駆動され、ベース１上に設けられたＹ軸モータ７２によりＹ軸送りガイドに沿ってＹ軸方向に移動駆動される。
尚、Ｙ軸の移動機構もＸ軸と同様にボールねじ機構となっている。
【００２８】
Ｘ軸送りガイドには、テレスコピック式に収縮するテレスコピックカバー１１，１２がテーブル８の左右両側に設けられている。Ｙ軸送りガイドには、テレスコピックカバー１３とＹ軸後カバーとが、支持台１０の前後に夫々設けられている。これら複数のカバーによって、テーブル８がＸ軸方向とＹ軸方向の何れの方向に移動した場合でも、Ｘ軸送りガイドとＹ軸送りガイドは、常にテレスコピックカバー１１，１２，１３とＹ軸後カバーによって覆われている。つまり、加工領域から飛散する切粉や、クーラント液の飛沫等が各レール上に落下するのを防止できる。
【００２９】
次に、主軸ヘッド５の昇降機構について説明する。
図１，図２に示すように、主軸ヘッド５は、コラム４の前面側で上下方向に延びるガイドレールに対してリニアガイドを介して昇降自在に支持されている。主軸ヘッド５は、コラム４の前面側の上下方向に延びるＺ軸ボールねじシャフトに対してナットで連結されている。そのＺ軸ボールねじシャフトをＺ軸モータ７３（図４参照）によって正逆方向に回転駆動することで、主軸ヘッド５が上下方向に昇降駆動される。従って、数値制御装置５０のＣＰＵ５１からの制御信号に基づいて、Ｚ軸駆動回路６３によりＺ軸モータ７３を駆動することにより、主軸ヘッド７を昇降駆動するようになっている。
【００３０】
図１，図２に示すように、工具交換装置７は、工具６を支持する工具ホルダを複数格納する工具マガジン１４と、前記主軸に取付けられた工具ホルダと他の工具ホルダとを把持して搬送するための工具交換アーム１５等で構成されている。図１，図２に示す工具マガジン１４の内側には、工具ホルダを支持する複数の工具ポットと、それら工具ポットを工具マガジン１４内で搬送する搬送機構とが設けられている。
【００３１】
図４には、工作機械における電気的構成を示している。
制御手段としての制御装置５０は、マイクロコンピュータを含んで構成されており、入出力インタフェース５４と、ＣＰＵ５１と、ＲＯＭ５２と、ＲＡＭ５３と、軸制御回路６１ａ〜６４ａ，７５ａと、サーボアンプ６１〜６４と、微分器７１ｂ〜７４ｂなどを備えている。サーボアンプ６１〜６４は、夫々Ｘ軸モータ７１、Ｙ軸モータ７２、Ｚ軸モータ７３、主軸モータ７４に接続されている。軸制御回路７５ａはマガジンモータ７５に接続されている。
【００３２】
Ｘ軸モータ７１、Ｙ軸モータ７２は、テーブル８をＸ軸方向、Ｙ軸方向に移動させる為のものである。マガジンモータ７５は工具マガジン１４を回転移動させる為のものである。主軸モータ７４は、前記主軸を回転させる為のものである。尚、前記Ｘ軸モータ７１、Ｙ軸モータ７２、Ｚ軸モータ７３、主軸モータ７４は、夫々エンコーダ７１ａ〜７４ａを備えている。
【００３３】
軸制御回路６１ａ〜６４ａは、ＣＰＵ５１からの移動指令量を受けて、電流指令量（モータトルク指令値）をサーボアンプ６１〜６４に出力する。サーボアンプ６１〜６４は、この指令を受けてモータ７１〜７４に駆動電流を出力する。軸制御回路６１ａ〜６４ａは、エンコーダ７１ａ〜７４ａから位置フィードバック信号が入力されて、位置のフィードバック制御を行う。微分器７１ｂ〜７４ｂは、エンコーダ７１ａ〜７４ａから入力された位置フィードバック信号を微分して速度フィードバック信号に変換し、軸制御回路６１ａ〜６４ａに速度フィードバック信号を出力する。
【００３４】
軸制御回路６１ａ〜６４ａは、微分器７１ｂ〜７４ｂから速度フィードバック信号が入力されて、速度フィードバックの制御を行う。サーボアンプ６１〜６４からモータ７１〜７４に出力される駆動電流は、電流検出器６１ｂ〜６４ｂで検出される。電流検出器６１ｂ〜６４ｂで検出された駆動電流は、軸制御回路６１ａ〜６４ａにフィードバックされる。軸制御回路６１ａ〜６４ａは、フィードバックされた駆動電流によって、電流（トルク）制御を行う。
【００３５】
一般的に、モータ７１〜７４に流れる駆動電流とモータ７１〜７４にかかる負荷トルクは概略一致するので、モータ７１〜７４に流れる駆動電流を検出する電流検出器６１ｂ〜６４ｂによって、モータ７１〜７４にかかる負荷トルクを検出することができる。軸制御回路６１ａ〜６４ａは、ＣＰＵ５１からの移動指令量を受けて、マガジンモータ７５を駆動する。
【００３６】
次に、本工作機械の数値制御で用いる熱変位量の算出方法について説明する。
本算出方法では、サーボモータ側ボールねじシャフトの前部軸受部、ナット部の移動区間及び反サーボモータ側ボールねじシャフトの後部軸受部の３領域の発熱量を求め、更に、ナット部の移動区間については複数の区間に分割して区間毎の発熱量を求めている。
【００３７】
（合計熱量の算出）
図５に示すように、ボールねじシャフトの端部８１ａから端部８１ｂまで（長さをＬで示す）の区間は、ｎ分割される。一定時間（例えば、５０ｍｓ）毎にナット部がどの区間に存在するかを判別し、サーボモータの実回転数から発生熱量を求め、後述する温度分布演算回路のデータエリアに格納する。発生熱量は次式により求められる。
【００３８】
〔数１〕
Ｑ＝Ｋ１×ＦＴ                                          …（１）  
ここで、Ｑ：発生熱量、Ｆ：送り速度、Ｋ１，Ｔ：係数である。
【００３９】
図６に示すように、各区間でのナット部の移動による発熱量は、５０ｍｓ毎に一定時間（例えば、６４００ｍｓ）、すなわち１２８回算出され、これらの熱量は区間毎に合計されて各区間１〜ｎに対応したデータエリアに格納される。６４００ｍｓの間に発生した各区間１〜ｎの熱量１〜ｎの合計熱量ＱＴＴＬ及び各区間１〜ｎでの回転数の合計回転数ＮＴＴＬが夫々データエリアに格納される。
【００４０】
（合計熱量の分配１）
以下に示す合計熱量ＱＴＴＬの分配方法は、特許文献２と同様にナット部移動区間及び前後部軸受部において互いに他の部分への熱伝導が生じず、熱的には近似的に独立しているとみなすことができること、また、合計発熱量に対する各熱源部の比率は送り速度の如何に関わらずほぼ一定であるという知見に基づいている。
【００４１】
すなわち、合計発熱量ＱＴＴＬ、ナット部移動区間発熱量ＱＮ、後部軸受部発熱量ＱＢとすると、各熱源部の発熱量は、次式
【００４２】
〔数２〕
ＱＮ＝ηＮ×ＱＴＴＬ              
ＱＢ＝ηＢ×ＱＴＴＬ
から算出される。ここで比率ηＮ，ηＢは前記知見により一定であり、実機によりＱＮ，ＱＢを測定し、比率ηＮ，ηＢを予め求めておく。
【００４３】
（ナット部移動区間の各区間への熱量の分配）
次に、ナット部移動区間の各区間の熱量を求める。前記データエリアに格納されている熱量は５０ｍｓ毎に算出した合計値であるため、区間毎に５０ｍｓ毎の平均熱量を求めた後、平均熱量と合計熱量から各区間について、次式からナット部の存在確率Ｘ１…Ｘｉ…Ｘｎを求める。
【００４４】
〔数３〕
Ｘ１＝区間１についての平均熱量/ＱＴＴＬ 
：
Ｘｉ＝区間ｉについての平均熱量/ＱＴＴＬ 
：
ＸＮ＝区間Ｎについての平均熱量/  ＱＴＴＬ
このようにして、各区間についての存在確率Ｘ１…Ｘｉ…Ｘｎが求められたら、この存在確率と前記ナット部移動区間発熱量ＱＮとから、次式により各区間についての分配熱量ＱＮ１…ＱＮｉ…ＱＮｎを求める。
【００４５】
〔数４〕
ＱＮ１＝Ｘ１×ＱＮ
：
ＱＮｉ＝Ｘｉ×ＱＮ
：
ＱＮｎ＝Ｘｎ×ＱＮ
【００４６】
（合計熱量の分配２）
次に、前部軸受部発熱量ＱＦを算出する。前部軸受部発熱量はサーボモータの上昇温度による入熱に起因するものであることから、サーボモータ本体の温度を算出し、この値とボールねじシャフト端部温度との差異からボールねじシャフト端部の入熱量、所謂前部軸受部発熱量ＱＦを求めることができる。
【００４７】
図７に例示するように、最大飽和温度がＬ1aであった場合、工作機械駆動中のモータ本体温度ΘＭは、直線ｌ＝Ｌ1aに対する漸近線１５０を描く。また、モータ本体温度ΘＭが最大飽和温度Ｌ1aに達した後（図７ではｔ＝８ｈｏｕｒの時点）、工作機械を停止すると、モータ本体温度ΘＭは直線ｌ＝０に対する漸近線１５１を描く。漸近線１５０は、
〔数５〕
Ｌ1a＝Ｋ２・ω＋Ｋ３・ｉ２                                    …（２）
ΘＭ＝Ｌ1a・（1−ｅｘｐ（−γ・ｔ））                        …（３）
で表すことができ、漸近線１５１は、次式
【００４８】
〔数６〕
ΘＭ＝Ｌ1a・ｅｘｐ（−γ・ｔ）                                …（４）
で表される。ここで、iはサーボモータに流れる電流、ωはモータ回転数、Ｌ1aは飽和温度であり、γ，Ｋ２，Ｋ３はサーボモータ固有の定数である。工作機械の駆動開始後ａ分後のモータ本体温度ΘＭ1aは、
ΘＭ1a＝Ｌ1a・｛１−ｅｘｐ（−γ・ａ／６０）｝
となる。また、工作機械停止後ａ分後のモータ本体温度ΘＭ-1a は、
ΘＭ-1a＝Ｌ1a・ｅｘｐ（−γ・ａ／６０）
となる。主に式（３）を用いて上記経過時間の間のモータ本体温度ΘＭを算出する。尚、以下の説明では、工作機械の駆動後、時刻ｔ１，ｔ２，……（分）と時間が経過したものとして説明する。すなわち、時刻ｔ１，ｔ２，……の間隔がそれぞれの処理における経過時間である。
【００４９】
本実施例では、上記経過時間に基づいてモータ本体温度ΘＭを算出した場合、モータ本体温度ΘＭはその後式（４）に従って低下するものと考える。すなわち、図８（Ａ）に曲線３０１で例示するように、時刻０から時刻ｔ１までの間の経過時間に基づいて算出されたモータ本体温度ΘＭt1の時刻ｔ１における値ΘＭt1-1は、前述のように、
ΘＭt1-1＝Ｌt1・｛１−ｅｘｐ（−γ・ｔ１／６０）｝
となる。但し、Ｌt1は時刻０から時刻ｔ１間での経過時間に基づいて算出された最大飽和温度である。そして、時刻ｔ２におけるモータ本体温度ΘＭt2の値ΘＭt1-2は、式（４）より、
ΘＭt1-2＝ΘＭt1-1・ｅｘｐ｛−γ・（ｔ２−ｔ１）／６０｝
以下同様に、時刻ｔ３，ｔ４におけるモータ本体温度ΘＭt1の値ΘＭt1-3，ΘＭt1-４は、
ΘＭt1-3＝ΘＭt1-1・ｅｘｐ｛−γ・（ｔ３−ｔ１）／６０｝
ΘＭt1-４＝ΘＭt1-1・ｅｘｐ｛−γ・（ｔ４−ｔ１）／６０｝
となる。同様に、時刻ｔ１から時刻ｔ２までの間の経過時間に基づいて最大飽和温度Ｌt2が算出されたとすると、それに対応するモータ本体温度ΘＭt2は図８（Ｂ）に曲線３０２で例示するように変化し、その時刻ｔ２，ｔ３，ｔ４におけるΘＭt2-1，ΘＭt2-2，ΘＭt2-3は夫々、
ΘＭt2-1＝Ｌt2・［１−ｅｘｐ｛−γ・（ｔ２−ｔ１）／６０｝］
ΘＭt2-2＝ΘＭt2-1・ｅｘｐ｛−γ・（ｔ３−ｔ２）／６０｝
ΘＭt2-3＝ΘＭt2-1・ｅｘｐ｛−γ・（ｔ４−ｔ２）／６０｝
となる。図８（Ｃ）はモータ本体温度ΘＭt３の温度変化を示しており、前述と同様にΘＭt３-1，ΘＭt３-２，ΘＭt３-３を求めることができる。
【００５０】
図８（Ｄ）では、このようにして算出されたモータ本体温度ΘＭt1，ΘＭt2……のその時刻における値を加算してモータ本体温度を算出するのである。例えば、時刻ｔ１，ｔ２，ｔ３，……の間の経過時間に基づいて、図８（Ｄ）に曲線３０１，３０２，３０３……で例示するモータ本体温度ΘＭが算出されたとすると、モータ本体温度Θは、図８（Ｄ）の曲線３０４で例示するように変化する。
前記モータ本体温度Θを用いて、前部軸受部発熱量ＱＦを算出するには、次式、
【００５１】
〔数７〕
ＱＦ＝Ｋ４（Θ−ΘＳ）                                      …（５）
となる。ここで、Ｋ４：係数、ΘＳ：ボールねじシャフト端部温度である。
（温度分布の算出）
以上のようにして各熱源部の発熱量が求められたら、この熱量から温度分布を算出する。温度分布は次の非定常熱伝導方程式、
【００５２】
〔数８〕
［Ｃ］ｄ｛θ｝/ｄｔ＋［Ｈ］｛θ｝＋｛Ｑ｝＝０                  …（６）
を初期条件｛θ｝ｔ＝０、ｄ｛θ｝/ｄｔｔ＝０の下に解けば求められる。ここで、［Ｃ］：熱容量マトリックス、［Ｈ］：熱伝導マトリックス、｛θ｝：温度分布、｛Ｑ｝：発熱量、ｔ：時間である。
【００５３】
（熱変位量の算出）
ボールねじシャフトの各熱源部の温度分布が求められたら、これから熱変位量を算出する。熱変位量は、次式、
【００５４】
〔数９〕
ΔＬ＝∫Ｌ０β×θ（Ｌ）ｄＬ                                  …（７）
から求められる。ここで、ΔＬ：熱変位量、β：ボールねじシャフト材料の線膨張係数である。
【００５５】
次に、図９に示す機能ブロック図によって、本工作機械の数値制御の構成を説明する。尚、便宜上Ｘ軸のボールねじ機構を例にして説明を行うが、Ｙ軸及びＺ軸についても基本的に同様の処理が行われる。
【００５６】
補間制御回路１６は、ＲＯＭ５２に格納されている加工データに基づきボールねじ機構の送り量を計算するための回路である。信号分配手段１７はボールねじ機構の送り量に応じた送り量信号を各軸に分けて分配し、その信号を軸速度回路６１ａに与える。この送り量信号はＲＡＭ５３に格納される位置レジスタ１８にも与えられ、ナット部８ａの位置データが格納される。Ｘ軸モータ７１の回転速度はエンコーダ７１ａにより常時検出され、検出信号は軸制御回路６１ａ及び温度分布演算回路１９に入力される。尚、破線は制御装置５０を示している。
【００５７】
ＲＡＭ５３に格納されるパラメータメモリ２０にはボールねじシャフト８１の長さ、径等の機械構造に関するパラメータ、密度、比熱、式（３）及び式（４）で用いるγ等の物理的性質に関するパラメータ及び前記熱分配係数（比率）ηＮ，ηＢ等が入力される。温度分布演算回路１９はＸ軸モータ７１の回転速度検出信号から式(１)に基づきボールねじシャフト８１のナット部移動区間発熱量を５０ｍｓ毎に算出し、６４００ｍｓ後、合計発熱量から各熱源部の発熱量の分配計算を行う。
【００５８】
また、前部軸受部発熱量に関して、温度分布演算回路１９は電流検出器６１ｂからの電流とＸ軸モータ７１の回転数から式(２)に基づきＸ軸モータ７１の飽和温度を算出し、式(３)及び式(４)に基づいてＸ軸モータ７１の温度を計算する。この温度と式（６）から求まるボールネジシャフト端部温度Θから式（５）に基づき前部軸受部発熱量の計算を行う。
【００５９】
温度分布演算回路１９は、ナットの存在確率を算出し、ボールねじシャフト８１の各区間の発熱量を算出した後、これら発熱量とパラメータメモリ２０に記憶される各種データとから式（６）を解き、各熱源部の温度分布を算出する。具体的には、工作機械の駆動後（ｔ＝０）、時刻がｔ１，ｔ２，‥‥（分）と時間が経過したときの温度分布の算出は次のように行う。
図５から、各部の温度、各区間に入力される熱量を図１０のように表すことができる。この図１０を用いて式（６）は、次式、
【００６０】
【数１０】
2009214283.tif 000003
のように表すことができる。
【００６１】
時刻ｔ＝０の時のボールネジ各部の温度｛θ｝，およびモータ本体温度Θは既知であるため式（５）よりＱＦを求めることができる。また式（１）からＱＮ１〜ＱＮｎ，ＱＢも既知となる。これらの値を式（８）の右辺に代入すると図１１のように各位置における温度が上昇する速度（ｄ｛θ｝ｔ＝０／ｄｔ）すなわち傾きを求めることができる。この傾きより、ｔ＝１における各部の温度｛θ｝は下式により求めることができる。
｛θ｝ｔ＝ｔ１＝｛θ｝ｔ＝ｔ０＋（ｄ｛θ｝ｔ＝０/ｄｔ）×ｔ１      
【００６２】
｛θ｝ｔ＝ｔ１のボールねじシャフト端部温度ΘＳと式（３）、（４）で求まるモータ本体温度Θよりｔ＝１におけるＱＦが式（５）より求まる。これらの値を式（８）に代入し
ｄ｛θ｝ｔ＝１／ｄｔを求めるとｔ＝２における各部の温度は
｛θ｝ｔ＝ｔ２＝｛θ｝ｔ＝ｔ１＋（ｄ｛θ｝ｔ＝１/ｄｔ）×（ｔ２−ｔ１）
で求まる。このようにして、ｔ＝ｔ３，‥‥の温度は同様にして求めることができる。
【００６３】
補正データ演算回路２１は、温度分布演算回路１９により算出された温度分布から式（７）に基づき補正量を算出する。補正信号発生手段２２は、補正データ演算回路２１により算出された補正量に応じた補正信号を軸制御回路６１ａに与える。前記各回路による演算はＣＰＵ５１にて処理されている。
【００６４】
次に、図１２に示すフローチャートによって、本工作機械の数値制御の具体的手順を説明する。
パラメータ等の設定データから、有限要素法による演算に必要なマトリックスを設定すると共に、図５に示すように対象モデルを有限個数の区間に分割する。この区間の分割によって、熱分布モデルの領域が形成されることになる。（Ｓ１）
尚、各区間ｉに対応して、現在の外気温度θａｉｒ、初期位置、現在位置、変位量、線膨張係数、熱容量、熱伝達係数等が記憶されるメモリ領域がＲＡＭ５３に設けられている。
【００６５】
次に、Ｓ１の工程で設定した熱分布領域モデルの各区間ｉにおいて、初期温度｛θ｝ｔ＝０を設定する。この初期温度｛θ｝ｔ＝０は、区間毎に個別に設定することができるが、マシニングセンタＭが外気温度θａｉｒと一致していると扱うことができる場合には、全ての区間について初期温度｛θ｝ｔ＝０を外気温度θａｉｒに設定することができる。また、マシニングセンタＭの駆動等によって各区間の間に温度差が生じている場合、各区間に初期温度を夫々設定することができる。この初期温度｛θ｝ｔ＝０はメモリに記憶しておく。（Ｓ２）また、初期温度｛θ｝ｔ＝０以外の初期位置等の基準値についても、測定を行い記憶しておく。
【００６６】
５０ｍｓ毎に、ナット部の現在位置、送り速度のデータが温度分布演算回路１９に入力し、式（１）に基づきナット部８ａの区分毎の発熱量を求める。（Ｓ３）
一定時間（６４００ｍｓ）経過すると、温度分布演算回路１９により合計熱量ＱＴＴＬからナット部の存在確率を算出し、Ｓ３で求めた発熱量を用いて分割区間に分配する。（Ｓ４）
【００６７】
サーボモータに流れる電流とモータ回転数とを用いて式（２）に基づき飽和温度を求め、この飽和温度と式（３）及び式（４）とによりサーボモータ本体の温度上昇を求める。（Ｓ５）
サーボモータ本体の温度上昇とボールねじシャフト端部温度とからサーボモータと隣接する分割区間への入熱、所謂前部軸受部発熱量を式（５）に基づき算出する。（Ｓ６）
【００６８】
Ｓ４及びＳ６で求めた区間毎の発熱量と非定常方程式（６）とを用いて各区間の温度分布を求める。（Ｓ７）
Ｓ７で求めた温度分布により各区間の熱変位量を式（７）を用いて算出し（Ｓ８）、Ｓ２で記憶した基準位置からの熱変位量、つまり、加工制御に用いる補正量を算出する。（Ｓ９）
補正モードがＯＮであれば、Ｓ９で求めた補正量に相当する送り量信号が補正信号発生手段２２から軸制御回路６１ａに送られる。（Ｓ１０）
Ｓ１０までの処理を終えると、Ｓ１に戻り定期的に演算を継続する。
【実施例２】
【００６９】
次に、図１３に基づいて他の実施例を説明する。
前述の実施例１と異なる部分は、サーボモータの温度上昇を電流と回転数から求めるのではなく、サーボモータに取付けた温度センサと室温を測定する室温センサとによってサーボモータの温度上昇を求めている点である。
【００７０】
別途Ｘ軸モータ７１に設置された温度センサ１０１により検出されたサーボモータ本体の温度ΘＭ０とマシニングセンタＭに設置された外気温度を検出する室温センサ２４により検出されたΘatmとが温度分布演算回路１９に送られる。温度分布演算回路１９内で、サーボモータ本体の温度上昇Θを次式、
【００７１】
〔数１１〕
Θ=ΘＭ０−Θatm
で求める。前部軸受部発熱量はサーボモータの温度上昇による入熱に起因するものであることから、前記Θを用いて、次式、
【００７２】
〔数１２〕
ＱＦ＝Ｋ５（Θ−ΘＳ）    
で求めることも可能である。この演算を用いることによって、熱変位補正アルゴリズムで求めるボールねじシャフト端部への入熱量の検出精度が良くなり、更に熱変位補正の精度向上が可能となる。尚、Ｋ５：係数、ΘＳ：時刻ｔ＝０からのボールねじシャフト端部温度上昇である。
【００７３】
次に、前記実施例を部分的に変更した変更例について説明する。
１］前記実施例１においては、サーボモータ本体の温度上昇Θを式（３）及び（４）を用いて求める例について説明したが、モータ本体の温度上昇を離散化した１次遅れ系から、Ｋ６，Ｋ７，Ｋ８を係数とすると、次式、
【００７４】
〔数１３〕
ＬＴｎ＝Ｋ６・ω＋Ｋ７・ｉ２ 
Θｎ＝（1−Ｋ８）Θｎ−１＋ＬＴｎ
として求めることも可能である。      
【図面の簡単な説明】
【００７５】
【図１】本発明の実施例に係る工作機械の全体斜視図である。
【図２】本工作機械の側面図である。
【図３】Ｘ軸ボールねじ機構の構成図である。
【図４】工作機械の制御系のブロック図である。
【図５】ボールねじシャフトを区分して熱量を求める場合の説明図である。
【図６】区間ｉの分配熱量を求める場合のメモリ説明図である。
【図７】最大変位に対応した熱変位量の経時変化を例示する説明図である。
【図８】モータ本体温度と経過時間との関係を示し、（Ａ）は駆動開始後０からｔ１までのモータ本体温度と経過時間との関係図、（Ｂ）は駆動開始後ｔ１からｔ２までのモータ本体温度と経過時間との関係図、（Ｃ）は駆動開始後ｔ２からｔ３までのモータ本体温度と経過時間との関係図、（Ｄ）は駆動開始後０からｔ３までのモータ本体温度と経過時間との関係図である。
【図９】実施例１に係る機能ブロック図である。
【図１０】各部の温度と各区間に入力される熱量とを説明する図である。
【図１１】各位置における温度上昇速度を示す図である。
【図１２】本工作機械の位置補正制御のフローチャートである。
【図１３】実施例２に係る機能ブロック図である。
【図１４】従来技術の演算結果と実際の伸び量とを比較するための実験装置の概略図である。
【図１５】従来技術の演算結果と実験結果とを示すグラフである。
【符号の説明】
【００７６】
Ｍ        マシニングセンタ
８ａ      ナット部
１６      補間制御回路
１９      温度分布演算回路
２０      パラメータメモリ  
２１      補正データ演算回路
２２      補正信号発生手段
５０      制御装置
５１      ＣＰＵ
６１ａ    軸制御回路
６１ｂ    電流検出器
７１      Ｘ軸モータ
７１ａ    エンコーダ
８１      ボールねじシャフト
１０１    Ｘ軸温度センサ
【図１】
2009214283.tif 000004
【図２】
2009214283.tif 000005
【図３】
2009214283.tif 000006
【図４】
2009214283.tif 000007
【図５】
2009214283.tif 000008
【図６】
2009214283.tif 000009
【図７】
2009214283.tif 000010
【図８】
2009214283.tif 000011
【図９】
2009214283.tif 000012
【図１０】
2009214283.tif 000013
【図１１】
2009214283.tif 000014
【図１２】
2009214283.tif 000015
【図１３】
2009214283.tif 000016
【図１４】
2009214283.tif 000017
【図１５】
2009214283.tif 000018