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