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