(57)【特許請求の範囲】
【請求項１】
工具を装着する主軸と、該主軸の移動の為のナットと、該ナットに転動体を介して螺合し、モータの回転によってその軸回りに回転する螺子軸と、該螺子軸及びナットが発生する摩擦熱に基づいて、前記螺子軸の熱変位量を演算する演算部とを備える工作機械において、
前記演算部は、
前記ナット及び螺子軸の間に設けたグリスの粘性によって発生する粘性発熱に基づく前記螺子軸の熱変位量を更に演算し、
前記ナットに作用する慣性力によって発生する慣性力発熱に基づく前記螺子軸の熱変位量を更に演算すること
を特徴とする工作機械。
【請求項２】
前記摩擦熱の値は、第１係数と前記モータの回転速度との乗算値であり、
前記粘性発熱の値は、第２係数と前記モータにおける回転速度の二乗値との乗算値であり、
前記演算部は、前記摩擦熱及び粘性発熱の値を合算し、合算した値に基づいて、前記螺子軸の熱変位量を演算すること
を特徴とする請求項１に記載の工作機械。
【請求項３】
前記慣性力発熱の値は、第３係数と前記モータの回転加速度と前記ナット及びナットに連結した物体の質量と前記モータの回転速度との乗算値であり、
前記演算部は、前記摩擦熱、粘性発熱及び慣性力発熱の値を合算し、合算した値に基づいて、前記螺子軸の熱変位量を演算すること
を特徴とする請求項１又は２に記載の工作機械。
【請求項４】
工具を装着する主軸に連結したナット及び該ナットに転動体を介して螺合した螺子軸が発生する摩擦熱に基づいて、前記螺子軸の熱変位量を演算する演算方法において、
前記ナット及び螺子軸の間に設けたグリスの粘性によって発生する粘性発熱に基づく前記螺子軸の熱変位量を更に演算し、
前記ナットに作用する慣性力によって発生する慣性力発熱に基づく前記螺子軸の熱変位量を更に演算すること
を特徴とする演算方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、主軸に連結したナットに螺合する螺子軸の熱変位量を演算する工作機械及び演算方法に関する。
【背景技術】
【０００２】
工作機械は、工具を装着する主軸と、該主軸に連結したナットと、該ナットに転動体を介して螺合した螺子軸とを備える。モータが螺子軸に連結する。螺子軸及びナットが駆動した場合、両者間で摩擦熱が発生するので、螺子軸は延びる。工作機械は、摩擦熱に基づいて、螺子軸の変位量を演算する。工作機械はモータの駆動制御に螺子軸の変位量を使用する（例えば特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００９−２１４２８３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、摩擦熱のみに基づいて、螺子軸の変位量を演算した場合、実際の螺子軸の変位量との差が大きい。
【０００５】
本発明は斯かる事情に鑑みてなされたものであり、螺子軸の熱変位量を精度良く演算する工作機械及び演算方法を提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明に係る工作機械は、工具を装着する主軸と、該主軸の移動の為のナットと、該ナットに転動体を介して螺合し、モータの回転によってその軸回りに回転する螺子軸と、該螺子軸及びナットが発生する摩擦熱に基づいて、前記螺子軸の熱変位量を演算する演算部とを備える工作機械において、前記演算部は、前記ナット及び螺子軸の間に設けたグリスの粘性によって発生する粘性発熱に基づく前記螺子軸の熱変位量を更に演算することを特徴とする。
【０００７】
本発明に係る工作機械は、前記摩擦熱の値は、第１係数と前記モータの回転速度との乗算値であり、前記粘性発熱の値は、第２係数と前記モータにおける回転速度の二乗値との乗算値であり、前記演算部は、前記摩擦熱及び粘性発熱の値を合算し、合算した値に基づいて、前記螺子軸の熱変位量を演算することを特徴とする。
【０００８】
本発明に係る工作機械は、前記演算部は、前記ナットに作用する慣性力によって発生する慣性力発熱に基づく前記螺子軸の熱変位量を更に演算することを特徴とする。
【０００９】
本発明に係る工作機械は、前記慣性力発熱の値は、第３係数と前記モータの回転加速度と前記ナット及びナットに連結した物体の質量と前記モータの回転速度との乗算値であり、前記演算部は、前記摩擦熱、粘性発熱及び慣性力発熱の値を合算し、合算した値に基づいて、前記螺子軸の熱変位量を演算することを特徴とする。
【００１０】
本発明に係る演算方法は、工具を装着する主軸に連結したナット及び該ナットに転動体を介して螺合した螺子軸が発生する摩擦熱に基づいて、前記螺子軸の熱変位量を演算する演算方法において、前記ナット及び螺子軸の間に設けたグリスの粘性によって発生する粘性発熱に基づく前記螺子軸の熱変位量を更に演算することを特徴とする。
【００１１】
本発明に係る演算方法は、前記ナットに作用する慣性力によって発生する慣性力発熱に基づく前記螺子軸の熱変位量を更に演算することを特徴とする。
【００１２】
本発明においては、グリスの粘性によって発生する粘性発熱による螺子軸の熱変位量を更に演算し、摩擦熱による熱変位量に追加する。
【００１３】
本発明においては、ナットに作用する慣性力によって発生する慣性力発熱による螺子軸の熱変位量を更に演算し、摩擦熱及び粘性発熱による熱変位量に更に追加する。
【発明の効果】
【００１４】
本発明に係る工作機械及び演算方法おいては、グリスの粘性によって発生する粘性発熱による螺子軸の熱変位量を更に演算し、摩擦熱による熱変位量に追加する。それ故、熱変位量の演算精度は向上する。
【図面の簡単な説明】
【００１５】
【図１】工作機械を略示する斜視図である。
【図２】Ｘ軸モータ、Ｘ軸螺子軸及びナットを略示する模式図である。
【図３】制御装置の構成を略示するブロック図である。
【図４】分割したＸ軸螺子軸を略示する概念図である。
【図５】データエリアの一例を示す概念図である。
【図６】Ｘ軸モータの温度と時間の関係を示す図である。
【図７】Ｘ軸モータ温度と経過時間との関係を示す図である。
【図８】制御装置によるＸ軸モータの制御処理を示す機能ブロック図である。
【図９】各分割区間の温度及び入力熱量を示す概念図である。
【図１０】Ｘ軸モータに係るボールねじ機構の各位置における温度と時間との関係を示すグラフである。
【図１１】制御装置による熱変位量演算処理を示すフローチャートである。
【発明を実施するための形態】
【００１６】
以下本発明を実施の形態に係る工作機械を示す図面に基づいて説明する。以下の説明では図において矢印で示す上下、左右及び前後を使用する。図１は工作機械を略示する斜視図、図２はＸ軸モータ２３、Ｘ軸螺子軸２２及びナット２７を略示する模式図である。なお図１において、交換用の工具を収容する工具マガジンの図示を省略してある。
【００１７】
工作機械は前後に延びた矩形の基台１を備える。基台１上部の前側にワークを保持するワーク保持部３が設けてある。基台１上部の後側に後述するコラム４を支持する為の支持台２が設けてある。支持台２上部に、前後方向に移動するＹ軸方向移動機構１０が設けてある。Ｙ軸方向移動機構１０は、前後に延びた二つのレール１１と、Ｙ軸螺子軸１２と、Ｙ軸モータ１３と、ベアリング１４とを備える。
【００１８】
レール１１は支持台２上部の左右夫々に設けてある。Ｙ軸螺子軸１２は前後に延び、二つのレール１１の間に設けてある。Ｙ軸螺子軸１２の前端部及び中途部夫々にベアリング１４が設けてある。なお中途部に設けたベアリングの図示は省略する。Ｙ軸モータ１３はＹ軸螺子軸１２の後端部に連結している。
【００１９】
Ｙ軸螺子軸１２には転動体（図示略）を介してナット（図示略）が螺合している。Ｙ軸螺子軸１２にグリスが塗布してある。転動体は例えばボールである。各レール１１に複数の摺動子１５が摺動可能に設けてある。ナット及び摺動子１５の上部に移動板１６が連結している。移動板１６は水平方向に延びる。Ｙ軸モータ１３の回転によってＹ軸螺子軸１２は回転し、ナットは前後方向に移動し、移動板１６は前後方向に移動する。Ｙ軸モータ１３、Ｙ軸螺子軸１２、ナット及び転動体はボールねじ機構を構成する。
【００２０】
移動板１６上面に左右方向に移動するＸ軸方向移動機構２０が設けてある。Ｘ軸方向移動機構２０は、左右に延びた二つのレール２１と、Ｘ軸螺子軸２２と、Ｘ軸モータ２３（図２参照）と、ベアリング２４、２５とを備える。
【００２１】
レール２１は移動板１６上面の前後夫々に設けてある。Ｘ軸螺子軸２２は左右に延び、二つのレール２１の間に設けてある。図２に示す如く、Ｘ軸螺子軸２２の左端部及び中途部夫々にベアリング２４、２５が設けてある。Ｘ軸モータ２３はＸ軸螺子軸２２の後端部に連結している。
【００２２】
図２に示す如く、Ｘ軸螺子軸２２には転動体（図示略）を介してナット２７が螺合している。Ｘ軸螺子軸２２にグリスが塗布してある。各レール２１に複数の摺動子２６が摺動可能に設けてある。ナット２７及び摺動子２６の上部にコラム４が連結している。コラム４は柱状をなす。Ｘ軸モータ２３の回転によってＸ軸螺子軸２２は回転し、ナット２７は左右方向に移動し、コラム４は左右方向に移動する。Ｘ軸モータ２３、Ｘ軸螺子軸２２、ナット２７及び転動体はボールねじ機構を構成する。
【００２３】
コラム４の前面に上下方向に移動するＺ軸方向移動機構３０が設けてある。Ｚ軸方向移動機構３０は、上下に延びた二つのレール３１と、Ｚ軸螺子軸３２と、Ｚ軸モータ３３と、ベアリング３４とを備える。
【００２４】
レール３１はコラム４前面の左右夫々に設けてある。Ｚ軸螺子軸３２は上下に延び、二つのレール３１の間に設けてある。Ｚ軸螺子軸３２の下端部及び中途部夫々にベアリング３４が設けてある。なお中途部に設けたベアリングの図示は省略する。Ｚ軸モータ３３はＺ軸螺子軸３２の上端部に連結している。
【００２５】
Ｚ軸螺子軸３２には転動体（図示略）を介してナット（図示略）が螺合している。Ｚ軸螺子軸３２にグリスが塗布してある。各レール３１に複数の摺動子３５が摺動可能に設けてある。ナット及び摺動子３５の前部に主軸ヘッド５が連結している。Ｚ軸モータ３３の回転によってＺ軸螺子軸３２は回転し、ナットは上下方向に移動し、主軸ヘッド５は上下方向に移動する。Ｚ軸モータ３３、Ｚ軸螺子軸３２、ナット及び転動体はボールねじ機構を構成する。
【００２６】
上下に延びた主軸５ａが主軸ヘッド５内に設けてある。主軸５ａは軸回りに回転する。主軸ヘッド５の上端部に主軸モータ６が設けてある。主軸５ａの下端部は工具を装着する。主軸モータ６の回転によって主軸５ａが回転し、工具が回転する。回転した工具は、ワーク保持部３に保持したワークを加工する。
【００２７】
工作機械は工具を交換する工具交換装置（図示略）を備える。工具交換装置は工具マガジン（図示略）に収容した工具と主軸５ａに装着した工具を交換する。
【００２８】
図３は制御装置５０の構成を略示するブロック図である。制御装置５０（演算部）は、ＣＰＵ５１、ＲＯＭ５２、ＲＡＭ５３及び入出力インタフェース５４を備える。作業者が操作部７を操作した場合、操作部７から入出力インタフェース５４に信号が入力する。操作部７は例えばキーボード、ボタン、タッチパネル等である。入出力インタフェース５４は表示部８に信号を出力する。表示部８は文字、図形、記号等を表示する。表示部８は例えば液晶表示パネルである。
【００２９】
制御装置５０は、Ｘ軸モータ２３に対応したＸ軸制御回路５５、サーボアンプ５５ａ及び微分器２３ｂを備える。Ｘ軸モータ２３はエンコーダ２３ａを備える。Ｘ軸制御回路５５はＣＰＵ５１からの指令に基づいて、電流量を示す命令をサーボアンプ５５ａに出力する。サーボアンプ５５ａは前記命令を受け、Ｘ軸モータ２３に駆動電流を出力する。
【００３０】
エンコーダ２３ａはＸ軸制御回路５５に位置フィードバック信号を出力する。Ｘ軸制御回路５５は位置フィードバック信号に基づいて、位置のフィードバック制御を実行する。
【００３１】
エンコーダ２３ａは微分器２３ｂに位置フィードバック信号を出力し、微分器２３ｂは位置フィードバック信号を速度フィードバック信号に変換して、Ｘ軸制御回路５５に出力する。Ｘ軸制御回路５５は、速度フィードバック信号に基づいて、速度のフィードバック制御を実行する。
【００３２】
サーボアンプ５５ａが出力した駆動電流の値を電流検出器５５ｂが検出する。電流検出器５５ｂは駆動電流の値をＸ軸制御回路５５にフィードバックする。Ｘ軸制御回路５５は駆動電流の値に基づいて、電流制御を実行する。一般にＸ軸モータ２３に流れる駆動電流とＸ軸モータ２３に作用する負荷トルクは略一致する。故に電流検出器５５ｂはＸ軸モータ２３に作用する負荷トルクを検出する。
【００３３】
制御装置５０は、Ｙ軸モータ１３に対応したＹ軸制御回路５６、サーボアンプ５６ａ及び微分器１３ｂを備える。Ｙ軸モータ１３はエンコーダ１３ａを備える。Ｙ軸制御回路５６はＣＰＵ５１からの指令に基づいて、電流量を示す命令をサーボアンプ５６ａに出力する。サーボアンプ５６ａは前記命令を受け、Ｙ軸モータ１３に駆動電流を出力する。
【００３４】
エンコーダ１３ａはＹ軸制御回路５６に位置フィードバック信号を出力する。Ｙ軸制御回路５６は位置フィードバック信号に基づいて、位置のフィードバック制御を実行する。
【００３５】
エンコーダ１３ａは微分器１３ｂに位置フィードバック信号を出力し、微分器１３ｂは位置フィードバック信号を速度フィードバック信号に変換して、Ｙ軸制御回路５６に出力する。Ｙ軸制御回路５６は、速度フィードバック信号に基づいて、速度のフィードバック制御を実行する。
【００３６】
サーボアンプ５６ａが出力した駆動電流の値を電流検出器５６ｂが検出する。電流検出器５６ｂは駆動電流の値をＹ軸制御回路５６にフィードバックする。Ｙ軸制御回路５６は駆動電流の値に基づいて、電流制御を実行する。一般にＹ軸モータ１３に流れる駆動電流とＹ軸モータ１３に作用する負荷トルクは略一致する。故に電流検出器５６ｂはＹ軸モータ１３に作用する負荷トルクを検出する。
【００３７】
制御装置５０は、Ｚ軸モータ３３に対応したＺ軸制御回路５７、サーボアンプ５７ａ及び微分器３３ｂを備える。Ｚ軸モータ３３はエンコーダ３３ａを備える。Ｚ軸制御回路５７はＣＰＵ５１からの指令に基づいて、電流量を示す命令をサーボアンプ５７ａに出力する。サーボアンプ５７ａは前記命令を受け、Ｚ軸モータ３３に駆動電流を出力する。
【００３８】
エンコーダ３３ａはＺ軸制御回路５７に位置フィードバック信号を出力する。Ｚ軸制御回路５７は位置フィードバック信号に基づいて、位置のフィードバック制御を実行する。
【００３９】
エンコーダ３３ａは微分器３３ｂに位置フィードバック信号を出力し、微分器３３ｂは位置フィードバック信号を速度フィードバック信号に変換して、Ｚ軸制御回路５７に出力する。Ｚ軸制御回路５７は、速度フィードバック信号に基づいて、速度のフィードバック制御を実行する。
【００４０】
サーボアンプ５７ａが出力した駆動電流の値を電流検出器５７ｂが検出する。電流検出器５７ｂは駆動電流の値をＺ軸制御回路５７にフィードバックする。Ｚ軸制御回路５７は駆動電流の値に基づいて、電流制御を実行する。一般にＺ軸モータ３３に流れる駆動電流とＺ軸モータ３３に作用する負荷トルクは略一致する。故に電流検出器５７ｂはＺ軸モータ３３に作用する負荷トルクを検出する。
【００４１】
工具マガジンはマガジンモータ６０を備える。工具マガジンはマガジンモータ６０の回転によって駆動する。制御装置５０はマガジン制御回路５８を備える。マガジン制御回路５８はＣＰＵ５１からの指令に基づいて、マガジンモータ６０の回転を制御する。なお制御装置５０は主軸モータ６に対しても、Ｘ〜Ｚ軸モータ１１、１２、１３と同様なフィードバック制御を実行する。
【００４２】
次に、Ｘ軸方向移動機構２０における熱変位量の算出方法について説明する。なおＹ軸方向移動機構１０及びＺ軸方向移動機構３０における熱変位量の算出方法は、Ｘ軸方向移動機構２０における熱変位量の算出方法と同様であり、その説明を省略する。
【００４３】
熱変位量の算出方法は、Ｘ軸モータ２３側（右側）のベアリング２５、ナット２７の移動区間及びＸ軸モータ２３の反対側（左側）のベアリング２４の３領域の発熱量を求める。移動区間は二つのベアリング２４、２５の間に相当する。また移動区間を複数の区間（分割区間）に分割し、区間毎の発熱量を求める。
【００４４】
（合計発熱量の算出）
図４は分割したＸ軸螺子軸２２を略示する概念図である。図４に示すように、制御装置５０はＸ軸螺子軸２２のナット２７が移動する移動区間（長さをＬで示す）をｎ分割する。一定時間（例えば５０ｍｓ）毎に、ナット２７が所在する分割区間を判定する。制御装置５０はモータの実回転速度から所在する分割区間の発熱量を求め、後述する温度分布演算回路５１ｃのデータエリアに格納する。発熱量は次式で求める。ナット２７が所在する区間は、エンコーダ２３ａが出力する信号に基づいて判断できる。
【００４５】
Ｑ＝ｄ1 ・ω＋ｄ2 ・ω2 ＋ｄ3 ・ａ・ｍ・ω                        ・・・（１）
ここでＱは発熱量、ｄ1 〜ｄ3 は係数（第１係数、第２係数及び第３係数）、ωはＸ軸モータ２３の回転速度、ａはＸ軸モータ２３の回転加速度、ｍはＸ軸螺子軸２２によって移動する物体の質量である。
【００４６】
式（１）において、ｄ1 ・ωはＸ軸螺子軸２２及びナット２７が発生する摩擦熱の発熱量（値）を示し、ｄ2 ・ω2 はナット２７及びＸ軸螺子軸２２の間に設けたグリスの粘性によって発生する粘性発熱の発熱量（値）を示し、ｄ3 ・ａ・ｍ・ωはナット２７に作用する慣性力によって発生する慣性力発熱の発熱量（値）を示す。なお粘性発熱による発熱量又は摩擦熱に対して、慣性力発熱の発熱量が充分に小さい場合、式（１）において慣性力発熱の発熱量を省略してもよい。慣性力発熱は慣性力によってナット２７の負荷が増加し、ナットの２７の負荷が増加することで摩擦力が増大することに依るものである。
【００４７】
図５はデータエリアの一例を示す概念図である。図５に示すように、制御装置５０は、ナット２７が所在する分割区間での、ナット２７の移動による発熱量を、式（１）を用いて５０ｍｓ毎に算出する。この処理を一定時間繰り返す。一定時間は例えば６４００ｍｓである。この場合、制御装置５０は１２８回算出する。制御装置５０は分割区間毎に発熱量を合計し、合計発熱量ＱNiを求め、各区間１〜ｎに対応したデータエリアに格納する。
【００４８】
次に左側ベアリング２４の発熱量は次式で求める。
【００４９】
ＱL＝Ｄ・ω
ここでＱLは左側ベアリング２４の発熱量、Ｄは係数（第４係数）、ωはＸ軸モータ２３の回転速度である。
【００５０】
次に制御装置５０は右側のベアリング２５の発熱量（右側ベアリング発熱量）ＱR を算出する。右側ベアリング発熱量はＸ軸モータ２３の上昇温度による入熱に起因するものである。制御装置５０はＸ軸モータ２３の温度を算出し、算出した温度とＸ軸螺子軸２２端部の温度の差分に基づいて、Ｘ軸螺子軸２２端部の入熱量、即ち右側ベアリング発熱量ＱR を求める。
【００５１】
図６はＸ軸モータ２３の温度と時間の関係を示す図である。図６に示す如く、最大飽和温度がＬ1aであった場合、工作機械駆動中のＸ軸モータ温度ΘM は、直線Ｐ＝Ｌ1aに対する漸近線１５０を描く。またＸ軸モータ温度ΘM が最大飽和温度Ｌ1aに達した後（図６ではｔ＝８hourの時点）、工作機械を停止すると、Ｘ軸モータ本体温度ΘM は直線Ｑ＝０に対する漸近線１５１を描く。
【００５２】
漸近線１５０は、
Ｌ1a＝Ｋ2 ・ω＋Ｋ3 ・ｉ2                                        ・・・（２）
ΘM ＝Ｌ1a・（1−ｅｘｐ（−γ・ｔ））                           ・・・（３）
で表すことができる。
【００５３】
漸近線１５１は、
ΘM ＝Ｌ1a・ｅｘｐ（−γ・ｔ）                                  ・・・（４）
で表される。ここで、ｉはＸ軸モータ２３に流れる電流、ωはモータ回転速度、Ｌ1aは飽和温度であり、γ、Ｋ2 、Ｋ3 はＸ軸モータ２３固有の定数である。
工作機械の駆動開始後ａ分後のモータ本体温度ΘM1a は、
ΘM1a ＝Ｌ1a・｛１−ｅｘｐ（−γ・ａ／６０）｝
となる。
また、工作機械停止後ａ分後のモータ本体温度ΘM-1a は、
ΘM-1a＝Ｌ1a・ｅｘｐ（−γ・ａ／６０）
となる。主に式（３）を用いて上記経過時間の間のＸ軸モータ温度ΘM を算出する。尚、以下の説明では、工作機械の駆動後、時刻ｔ１、ｔ２、・・・（分）と時間が経過したものとして説明する。すなわち、時刻ｔ１、ｔ２、・・・の間隔が夫々の処理における経過時間である。
【００５４】
図７はＸ軸モータ温度と経過時間との関係を示す図である。図７Ａは駆動開始後０からｔ１までのＸ軸モータ温度と経過時間との関係図、図７Ｂは駆動開始後ｔ１からｔ２までのＸ軸モータ温度と経過時間との関係図、図７Ｃは駆動開始後ｔ２からｔ３までのＸ軸モータ温度と経過時間との関係図、図７Ｄは駆動開始後０からｔ３までのＸ軸モータ温度と経過時間との関係図である。なお図７において縦軸は摂氏（℃）を示し、前述したように横軸は分を示す。
【００５５】
本実施例では、上記経過時間に基づいてＸ軸モータ温度ΘM を算出した場合、Ｘ軸モータ温度ΘM は、その後式（４）に従って低下する。即ち図７Ａに曲線３０１で示す如く、時刻０から時刻ｔ１までの間の経過時間に基づいて算出したＸ軸モータ温度ΘMt1 の時刻ｔ１における値ΘMt1-1 は、前述のように
ΘMt1-1 ＝Ｌt1・｛１−ｅｘｐ（−γ・ｔ１／６０）｝
となる。但し、Ｌt1は時刻０から時刻ｔ１間での経過時間に基づいて算出した最大飽和温度である。そして、時刻ｔ２におけるＸ軸モータ温度ΘMt2 の値ΘMt1-2 は、式（４）より、
ΘMt1-2 ＝ΘMt1-1 ・ｅｘｐ｛−γ・（ｔ２−ｔ１）／６０｝
以下同様に、時刻ｔ３、ｔ４におけるＸ軸モータ温度ΘMt1 の値Θ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 が算出された場合、Ｘ軸モータ温度ΘM は、図７Ｄの曲線３０４で例示するように変化する。
【００５７】
前記Ｘ軸モータ温度ΘM を用いて、右側ベアリング発熱量ＱR を算出するには、次式、
ＱR ＝Ｋ4 （ΘM−ΘS ） …（５）
となる。ここで、Ｋ4 ：係数、ΘS ：Ｘ軸螺子軸端部温度である。尚、Ｘ軸螺子端部温度とは右側ベアリング２５が支持するＸ軸螺子軸２２の部分の温度である。
【００５８】
（温度分布の算出）
以上の如く移動区間と各ベアリング２４、２５の発熱量を求めた場合、これらの発熱量から温度分布を算出する。温度分布は次の非定常熱伝導方程式、
［Ｃ］ｄ｛θ｝/ｄｔ＋［Ｈ］｛θ｝＋｛Ｑ｝＝０                   ・・・（６）
を初期条件｛θ｝ｔ＝０、ｄ｛θ｝/ｄｔt=0 の下に解き求める。
ここで、［Ｃ］：熱容量マトリックス、［Ｈ］：熱伝導マトリックス、｛θ｝：温度分布、｛Ｑ｝：発熱量、ｔ：時間である。
【００５９】
（熱変位量の算出）
Ｘ軸螺子軸２２の各部の温度分布を求めた場合、これから熱変位量を算出する。熱変位量は、次式、
ΔＬ＝∫L0β×θ（Ｌ）ｄＬ                                     ・・・（７）
にて求める。ここで、ΔＬ：熱変位量、β：Ｘ軸螺子軸２２の材料の線膨張係数である。
【００６０】
図８は制御装置５０によるＸ軸モータ２３の制御処理を示す機能ブロック図である。なおＹ軸モータ１３及びＺ軸モータ３３についても同様の処理を行う。
【００６１】
補間制御回路５１ａはＲＡＭ５３に読み込んだ加工データに基づきボールねじ機構の送り量を計算する回路である。ＲＡＭ５３は位置レジスタ５３ｂを備える。信号分配部５１ｂはボールねじ機構の送り量に応じた送り量信号を各軸に分けて分配し、前記送り量信号をＸ軸制御回路５５に与える。信号分配部５１ｂは前記送り量信号を位置レジスタ５３ｂに与え、ナット２７の位置データを位置レジスタ５３ｂに格納する。エンコーダ２３ａはＸ軸モータ２３の回転速度を常時検出し、検出信号をＸ軸制御回路５５及び温度分布演算回路５１ｃに入力する。なお破線は制御装置５０を示す。
【００６２】
ＲＡＭ５３はパラメータメモリ５３ａを備える。パラメータメモリ５３ａはＸ軸螺子軸２２の長さ、径等の機械構造に関するパラメータ、密度、比熱、式（３）及び式（４）で用いるγ等の物理的性質に関するパラメータ及び前記熱分配係数（比率）ηＮ、ηＢ等を格納する。温度分布演算回路５１ｃはＸ軸モータ２３の回転速度検出信号から式(１)に基づきＸ軸螺子軸２２の移動区間発熱量を５０ｍｓ毎に算出し、６４００ｍｓ後、各分割区間の合計発熱量ＱNiを演算する。
【００６３】
また右側ベアリング発熱量に関して、温度分布演算回路５１ｃは、電流検出器５５ｂからの電流とＸ軸モータ２３の回転速度を式（２）に適用して、Ｘ軸モータ２３の飽和温度を算出し、式（３）及び式（４）に適用して、Ｘ軸モータ温度ΘM を計算する。また式（６）によってＸ軸螺子軸端部温度Θs を求める。Ｘ軸モータ温度ΘM とＸ軸螺子軸端部温度Θs から式（５）に基づき右側ベアリング発熱量ＱR の計算を行う。左側ベアリング発熱量ＱL はＸ軸モータ２３の回転速度に基づいて計算を行う。
【００６４】
温度分布演算回路５１ｃは各分割区間の合計発熱量Ｑni、右側ベアリング発熱量ＱR 、左側ベアリング発熱量ＱL とパラメータメモリ５３ａに記憶する各種データとから式（６）を解き、移動区間及び二つのベアリング２４、２５の温度分布を算出する。具体的には、工作機械の駆動後（ｔ＝０）、時刻がｔ１、ｔ２、・・・（分）と時間が経過したときの温度分布の算出は次のように行う。
図９は各分割区間の温度及び入力熱量を示す概念図である。図９において温度Θs の単位は摂氏である。図９を用いて式（６）は、次式
【００６５】
【数１】
0006432424.tif 000002
と表現できる。
【００６６】
図１０は、Ｘ軸モータ２３に係るボールねじ機構の各位置における温度と時間との関係を示すグラフである。なお図１０において縦軸は摂氏（℃）を示し、横軸は分を示す。
時刻ｔ＝０の時の移動区間及び二つのベアリング２４、２５の温度｛θ｝、およびモータ本体温度ΘM は既知であるため式（５）よりＱR を求めることができる。また式（１）からＱN1〜ＱNn、Ｘ軸モータ２３の回転速度からＱL も既知となる。これらの値を式（８）の右辺に代入すると図１０の如く各位置における温度が上昇する速度（ｄ｛θ｝t=0 ／ｄｔ）すなわち傾きを求めることができる。この傾きより、ｔ＝１における各部の温度｛θ｝は下式により求めることができる。
｛θ｝t=t1＝｛θ｝t=to＋（ｄ｛θ｝t=0 /ｄｔ）・ｔ１
【００６７】
｛θ｝t=t0のＸ軸螺子軸端部温度ΘS と式（３）、（４）で求まるモータ本体温度ΘM から、ｔ＝１におけるＱR が式（５）より求まる。これらの値を式（８）に代入し、
ｄ｛θ｝t=1 ／ｄｔを求めるとｔ＝２における各部の温度は
｛θ｝t=t2＝｛θ｝t=t1＋（ｄ｛θ｝t=1 /ｄｔ）×（ｔ２−ｔ１）
で求まる。このようにして、ｔ＝ｔ３、‥‥の温度は同様にして求めることができる。
【００６８】
補正データ演算回路５１ｄは、温度分布演算回路５１ｃが算出した温度分布から式（７）に基づき補正量を算出する。補正信号発生部５１ｅは、補正データ演算回路５１ｄが算出した補正量に応じた補正信号をＸ軸制御回路５５に与える。前記各回路、信号分配部５１ｂ及び補正信号発生部５１ｅはＣＰＵ５１を構成する。
【００６９】
図１１は制御装置５０による熱変位量演算処理を示すフローチャートである。制御装置５０のＣＰＵ５１はＸ軸螺子軸２２の移動区間を有限個数の分割区間に分割する（ステップＳ１、図４参照）。ＣＰＵ５１は移動区間の分割によって熱分布モデルの領域を形成する。なお各分割区間ｉに対応して、現在の外気温度θair 、初期位置、現在位置、変位量、線膨張係数、熱容量、熱伝達係数等を記憶するメモリ領域がＲＡＭ５３に設けてある。
【００７０】
次にＣＰＵ５１は各分割区間ｉにおいて、初期温度｛θ｝t=o を設定する（ステップＳ２）。該初期温度｛θ｝t=o は、分割区間毎に個別に設定できる。工作機械の温度が外気温度θair と一致していると扱う場合、全ての分割区間について初期温度｛θ｝t=o を外気温度θair に設定する。工作機械の駆動によって各分割区間の間に温度差が生じている場合、各分割区間に初期温度を夫々設定する。初期温度｛θ｝t=0 はメモリに記憶する。またＣＰＵ５１は初期位置等の基準値についても測定を行い記憶する。
【００７１】
５０ｍｓ毎にナット２７の現在位置、送り速度のデータが温度分布演算回路５１ｃに入力する。温度分布演算回路５１ｃ、即ちＣＰＵ５１は式（１）に基づきナット２７の分割区間毎の発熱量を算出する（ステップＳ３）。Ｘ軸モータ２３の回転速度から左側ベアリング発熱量を算出する（ステップＳ４）。
【００７２】
ＣＰＵ５１は、Ｘ軸モータ２３に流れる電流とモータ回転速度とを用いて式（２）に基づき飽和温度を求め、該飽和温度と式（３）及び式（４）とによりＸ軸モータ２３の温度変化を求める（ステップＳ５）。Ｘ軸モータ２３の温度変化とＸ軸螺子軸端部温度とから、Ｘ軸モータ２３に隣接する分割区間への入熱、所謂右側ベアリング発熱量を式（５）に基づき算出する（ステップＳ６）。
【００７３】
ＣＰＵ５１はステップＳ３〜Ｓ６で求めた発熱量と非定常熱伝導方程式（６）とを用いて各分割区間の温度分布を求める（ステップＳ７）。ＣＰＵ５１は、ステップＳ７で求めた温度分布により各分割区間の熱変位量を、式（７）を用いて算出し（ステップＳ８）、ステップＳ２で記憶した基準位置からの熱変位量を算出する（ステップＳ９）。該熱変位量は加工制御に用いる補正量に相当する。ＣＰＵ５１（補正信号発生部５１ｅ）は、ステップＳ９で求めた熱変位量（補正量）に相当する送り量信号を軸制御回路６１ａに出力する（ステップＳ１０）。ＣＰＵ５１はステップＳ１に処理を戻す。
【００７４】
実施の形態に係る工作機械は、グリスの粘性によって発生する粘性発熱によるＸ軸螺子軸〜Ｚ軸螺子軸２２、１２、３２の熱変位量を更に演算し、摩擦熱による熱変位量に追加する。それ故、熱変位量の演算精度は向上する。
【００７５】
式（１）で示す如く、粘性発熱は速度の二乗に比例する。従って、粘性発熱を考慮せずにＸ軸螺子軸２２の熱変位量を演算した場合、高速になるに従って、演算値と測定値との差が大きくなる。粘性発熱を考慮することによって、Ｘ軸螺子軸２２の熱変位量の演算精度が向上する。なおＹ軸螺子軸１２、Ｚ軸螺子軸３２の熱変位量の演算においても同様である。
【００７６】
またナットに作用する慣性力によって発生する慣性力発熱によるＸ軸螺子軸〜Ｚ軸螺子軸２２、１２、３２の熱変位量を更に演算し、摩擦熱及び粘性発熱による熱変位量に更に追加する。それ故、熱変位量の演算精度は更に向上する。
【００７７】
加減速の頻度が大きい場合又はナット２７及びナット２７に連結する物体の質量が大きい場合（ナット２７に連結するコラム４及び主軸ヘッド５の質量は１００ｋｇを超過することがある。）に、慣性力発熱を考慮せずにＸ軸螺子軸２２の熱変位量を演算したとき、演算値と測定値との差が大きくなる。慣性力発熱を考慮することによって、Ｘ軸螺子軸２２の熱変位量の演算精度が向上する。なおＹ軸螺子軸１２、Ｚ軸螺子軸３２の熱変位量の演算においても同様である。
【符号の説明】
【００７８】
５ａ  主軸
１０  Ｙ軸方向移動機構
１２  Ｙ軸螺子軸（螺子軸）
２０  Ｘ軸方向移動機構
２２  Ｘ軸螺子軸（螺子軸）
２７  ナット
３０  Ｚ軸方向移動機構
３２  Ｚ軸螺子軸（螺子軸）
５０  制御装置（演算部）
５１  ＣＰＵ
５２  ＲＯＭ
５３  ＲＡＭ
【図１】
0006432424.tif 000003
【図２】
0006432424.tif 000004
【図３】
0006432424.tif 000005
【図４】
0006432424.tif 000006
【図５】
0006432424.tif 000007
【図６】
0006432424.tif 000008
【図７】
0006432424.tif 000009
【図８】
0006432424.tif 000010
【図９】
0006432424.tif 000011
【図１０】
0006432424.tif 000012
【図１１】
0006432424.tif 000013