JP5206555B2 - 数値制御式工作機械及びその熱変位補正方法 - Google Patents

数値制御式工作機械及びその熱変位補正方法 Download PDF

Info

Publication number
JP5206555B2
JP5206555B2 JP2009087153A JP2009087153A JP5206555B2 JP 5206555 B2 JP5206555 B2 JP 5206555B2 JP 2009087153 A JP2009087153 A JP 2009087153A JP 2009087153 A JP2009087153 A JP 2009087153A JP 5206555 B2 JP5206555 B2 JP 5206555B2
Authority
JP
Japan
Prior art keywords
correction
sections
operation mode
amount
thermal displacement
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2009087153A
Other languages
English (en)
Other versions
JP2010234500A (ja
Inventor
エリキ 行方
初 倉橋
治夫 小林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Brother Industries Ltd
Original Assignee
Brother Industries Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Brother Industries Ltd filed Critical Brother Industries Ltd
Priority to JP2009087153A priority Critical patent/JP5206555B2/ja
Publication of JP2010234500A publication Critical patent/JP2010234500A/ja
Application granted granted Critical
Publication of JP5206555B2 publication Critical patent/JP5206555B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Automatic Control Of Machine Tools (AREA)
  • Numerical Control (AREA)

Description

本発明は、数値制御式工作機械及びその熱変位補正方法に関し、特に数値制御式工作機械の運転中に生じるボールネジ機構の熱変位による誤差を補正するものに関する。
ボールネジ機構は、位置決め機構として工作機械に広く使用されている。このボールネジ機構はシャフトとナット及び軸受各部との摩擦抵抗やサーボモータの発熱のために温度上昇による熱膨張を起こし、熱変位を生じる。現在のNC工作機械ではセミクローズドループ型が一般的であるが、この方式のNC工作機械ではシャフトの熱変位が、そのまま位置決め誤差となって現れる。
このため、シャフトに予張力を与え、熱膨張を吸収する方式が対策として使用されてきた。ところが最近では、太いシャフトを使用する上に送り速度が非常に速くなっているため発熱量が増大し、予張力方式で対応しようとすると、非常に大きな引張力を加えねばならず、ボールネジ機構の構造体が変形したり、スラスト軸受に無理な力が加わって焼き付く等の問題があった。
そこで、シャフトに無理な予張力を与えず、しかも、特別な測定装置を必要としないシャフトの熱変位補正方法が開発されており、特許文献1においてその方法が提案されている。特許文献1は、サーボモータの電機子電流と電圧との積から求めたシャフトの発熱量とシャフトを複数の区間に分割した非定常熱伝導方程式に基づく熱分布モデルとを用いる。この熱分布モデルによって温度分布を求め、さらに、シャフトの熱変位量を時々刻々に予想し、この熱変位量をNC装置にピッチエラー補正として与えることにより、インプロセスで補正する方法である。
特許文献2は、特許文献1の方法にはサーボモータ自体の加減速のエネルギーが発熱量に含まれる問題があることに着目し、サーボモータの回転速度からボールネジシャフトの各区間の発熱量を算出する熱変位量補正方法を提案している。この方法によれば、算出された補正量をボールネジシャフトの実際の伸びに近似させることができる。
特開昭63−256336号公報 特開平4−240045号公報
しかし、特許文献2の方法では、サーボモータの発熱量が回転速度のみで算出されており、サーボモータの負荷によって発熱量が異なってくる点についての検討がなされていない。さらに、サーボモータの稼動初期と一定時間経過後における補正量算出の条件について開示されていない。それ故、サーボモータの稼動初期である過渡的状態において計算された補正量とボールネジシャフトの実際の伸びとが近似できない可能性が考えられる。
また、特許文献1,2の方法では一定時間経過毎に熱変位補正を行うので、切削移動中においても熱変位補正を行う。しかし、切削移動中に熱変位補正を行うとワークの加工面に加工筋が生じる可能性があるので、ワークの加工面の品質低下が問題となる。熱変位補正を行うタイミングとして、例えば加工プログラム中に熱変位補正指令用Mコードを設定する方法や、メモリ運転開始時に1回だけ補正を行う方法などがある。熱変位補正指令用Mコードを設定する方法では、作業者が加工プログラム中に熱変位補正指令用Mコードを設定する必要がある。それ故、多数の加工プログラムを使用しているユーザの場合、全ての加工プログラムにMコードを設定する必要があるので大変手間がかかる。
一方、メモリ運転開始時に1回だけ補正する方法では、加工プログラムにMコードを設定する必要がないという利点があるものの、運転開始時に1回補正を行った後、さらにボールネジシャフトに熱変位が発生した場合にも補正を行わない。それ故、長時間にわたって機械加工を行う場合には、ワークの加工精度が低下するという問題がある。
本発明の目的は、数値制御式工作機械及びその熱変位補正方法において、数値制御式工作機械の稼働後、温度上昇が安定化するまでの過渡的状態での、補正量をボールネジシャフトの実際の伸び量に近似させることができ、且つ長時間にわたって機械加工を行う場合に高精度の機械加工を行うことができることである。
請求項1の数値制御式工作機械は、送り駆動用ボールネジ機構と、このボールネジ機構のシャフトを回転駆動するサーボモータと、このサーボモータを加工プログラムの制御データに基づき制御するための制御手段とを有する数値制御式工作機械において、前記加工プログラムに基づいて自動運転するメモリ運転モードと、加工プログラムを1ブロックずつ入力して運転するMDI運転モードを含む運転モードを択一的に設定可能に構成され、前記サーボモータの回転速度を検出する速度検出手段と、前記サーボモータの温度上昇を検知する温度検知手段と、前記シャフトの全長を複数分割した複数区間に発生する第1発熱量を、前記サーボモータの回転速度と制御データとに基づいて短い所定時間毎に求める第1発熱量演算手段と、前記サーボモータの温度上昇に基づいて、サーボモータから前記シャフトに所定期間の間に伝熱する第2発熱量を求める第2発熱量演算手段と、前記複数区間の前記第1発熱量を前記所定期間分累積した合計発熱量と前記第2発熱量と非定常熱伝導方程式とに基づいて、複数区間の温度分布を前記所定期間毎に演算する温度分布演算手段と、前記温度分布から前記シャフトの複数区間の熱変位量を前記所定期間毎に演算する熱変位量演算手段と、前記複数区間の熱変位量に基づいて、前記シャフトのナット移動範囲を複数分割した複数の補正区間毎に前記制御データを夫々補正する補正量を前記所定期間毎に演算する補正量演算手段と、前記メモリ運転モード又は前記MDI運転モードにおいて、位置決め用制御データによる位置決め動作の実行前に、前記補正量に基づいて位置決め用制御データを補正し且つ前記メモリ運転モード又は前記MDI運転モードに設定されていない場合、前記所定期間毎に前記補正量に基づいて前記制御データを補正する補正制御手段とを備えたことを特徴としている。
この数値制御式工作機械では、加工プログラムに基づいて自動運転するメモリ運転モードと、加工プログラムを1ブロックずつ入力して運転するMDI運転モードを含む運転モードを択一的に設定可能に構成してある。最初に第1発熱量演算手段が、シャフトの全長を複数分割した複数区間に発生する第1発熱量を、サーボモータの回転速度と制御データとに基づいて短い所定時間毎に求める。第2発熱量演算手段が、サーボモータの温度上昇に基づいて、サーボモータからシャフトに所定期間の間に伝熱する第2発熱量を求める。温度分布演算手段が、複数区間の第1発熱量を所定期間分累積した合計発熱量と第2発熱量と非定常熱伝導方程式とに基づいて、複数区間の温度分布を所定期間毎に演算する。
次に熱変位量演算手段が、温度分布からシャフトの複数区間の熱変位量を所定期間毎に演算する。補正量演算手段が、複数区間の熱変位量に基づいて、シャフトのナット移動範囲を複数分割した複数の補正区間毎に制御データを夫々補正する補正量を所定期間毎に演算する。それ故、数値制御式工作機械の稼働後、温度上昇が安定化するまでの過渡的状態での、補正量をボールネジシャフトの実際の伸び量に近似させることができる。
メモリ運転モード又はMDI運転モードにおいて、読み込んだ制御データが位置決め用制御データであるとき、補正制御手段が、位置決め用制御データによる位置決め動作の実行前に、補正量に基づいて位置決め用制御データを補正する。位置決め動作の実行前に熱変位補正を行うので、常に最新の補正量に基づく熱変位補正を行った状態で切削移動を実行することが可能となる。それ故、長時間にわたって機械加工を行う場合にも高精度の機械加工を行うことができる。
請求項の数値制御式工作機械の熱変位補正方法は、送り駆動用ボールネジ機構と、このボールネジ機構のシャフトを回転駆動するサーボモータと、このサーボモータを加工プログラムの制御データに基づき制御するための制御手段とを有する数値制御式工作機械の熱変位補正方法において、前記加工プログラムに基づいて自動運転するメモリ運転モードと、加工プログラムを1ブロックずつ入力して運転するMDI運転モードを含む運転モードを択一的に設定可能に予め構成しておき、前記シャフトの全長を複数分割した複数区間に発生する第1発熱量を、前記サーボモータの回転速度と制御データとに基づいて短い所定時間毎に求める第1ステップと、前記サーボモータの温度上昇を検知し、この温度上昇に基づいて、サーボモータから前記シャフトに所定期間の間に伝熱する第2発熱量を求める第2ステップと、前記複数区間の前記第1発熱量を前記所定期間分累積した合計発熱量と前記第2発熱量と非定常熱伝導方程式とに基づいて、複数区間の温度分布を前記所定期間毎に演算する第3ステップと、前記温度分布から前記シャフトの複数区間の熱変位量を前記所定期間毎に演算する第4ステップと、前記複数区間の熱変位量に基づいて、前記シャフトのナット移動範囲を複数分割した複数の補正区間毎に前記制御データを夫々補正する補正量を前記所定期間毎に演算する第5ステップと、前記メモリ運転モード又は前記MDI運転モードにおいて、位置決め用制御データによる位置決め動作の実行前に、前記補正量に基づいて位置決め用制御データを補正し且つ前記メモリ運転モード又は前記MDI運転モードに設定されていない場合、前記所定期間毎に前記補正量に基づいて前記制御データを補正する第6ステップとを備えたことを特徴としている。
加工プログラムに基づいて自動運転するメモリ運転モードと、加工プログラムを1ブロックずつ入力して運転するMDI運転モードを含む運転モードを択一的に設定可能に予め構成してある。最初に、シャフトの全長を複数分割した複数区間に発生する第1発熱量を、サーボモータの回転速度と制御データとに基づいて短い所定時間毎に求める。サーボモータの温度上昇を検知し、この温度上昇に基づいて、サーボモータからシャフトに所定期間の間に伝熱する第2発熱量を求める。複数区間の第1発熱量を所定期間分累積した合計発熱量と第2発熱量と非定常熱伝導方程式とに基づいて、複数区間の温度分布を所定期間毎に演算する。
次に、温度分布からシャフトの複数区間の熱変位量を所定期間毎に演算し、複数区間の熱変位量に基づいて、シャフトのナット移動範囲を複数分割した複数の補正区間毎に制御データを夫々補正する補正量を所定期間毎に演算する。メモリ運転モード又はMDI運転モードにおいて、読み込んだ制御データが位置決め用制御データであるとき、位置決め用制御データによる位置決め動作の実行前に、補正量に基づいて位置決め用制御データを補正する。これにより、請求項1の場合と同様の作用を奏する。
請求項1の発明によれば、サーボモータの温度上昇を検知する温度検知手段を有し、温度上昇に基づく第2発熱量を用いてシャフトの複数の区間の温度分布を演算して補正量を得るので、サーボモータの温度上昇が安定化するまでの過渡的状態においても補正量をシャフトの実際の伸びに近似させることができる。
メモリ運転モード又はMDI運転モードにおいて、位置決め用制御データによる位置決め動作の実行前に、補正量に基づいて位置決め用制御データを補正する補正制御手段を備えたので、常に最新の補正量に基づく熱変位補正を行った状態で切削移動を実行することができる。それ故、長時間にわたって機械加工を行う場合にも高精度の機械加工を行うことが可能となる。また、切削移動中に熱変位補正を行わないので、ワークの加工面の品質が低下しない。また、補正制御手段は、メモリ運転モード又はMDI運転モードに設定されていない場合、所定期間毎に補正量に基づいて制御データを補正するので、メモリ運転又はMDI運転を実行していないときは、所定期間毎に最新の補正量に基づく熱変位補正を行うことができる。
請求項の発明によれば、温度上昇に基づく第2発熱量を用いてシャフトの複数の区間の温度分布を演算して補正量を得て、メモリ運転モード又はMDI運転モードにおいて、位置決め用制御データによる位置決め動作の実行前に、補正量に基づいて位置決め用制御データを補正しメモリ運転モード又はMDI運転モードに設定されていない場合、所定期間毎に補正量に基づいて制御データを補正するので、請求項1の場合と同様の効果を奏する。
本発明の実施例に係る数値制御式工作機械の全体斜視図である。 本工作機械の側面図である。 X軸ボールネジ機構の構成図である。 工作機械の制御系のブロック図である。 ボールネジシャフトを複数分割した複数区間を説明する説明図である。 複数区間の合計の発熱量の記憶データを説明する説明図である。 モータの回転速度と電流を一定とした場合のモータ本体温度と経過時間との関係を示す説明図である。 モータ本体温度の算出方法を説明する図であり、(A)は駆動開始後0〜t1までのモータ本体温度と経過時間との関係図、(B)は駆動開始後t1〜t2までのモータ本体温度と経過時間との関係図、(C)は駆動開始後t2〜t3までのモータ本体温度と経過時間との関係図、(D)は駆動開始後0〜t3までのモータ本体温度と経過時間との関係図である。 複数区間に分配した分配発熱量と温度を説明する説明図である。 ピッチ誤差補正の為の補正区間の説明図である。 各位置における温度上昇速度を示す図である。 固定軸受からの各区間区切り位置における熱変位量を示す説明図である。 熱変位補正制御のタイミングチャートである。 熱変位補正制御プログラムのフローチャートである。 補正量演算処理プログラムのフローチャートである。 補正区間区切り位置における補正量演算処理プログラムのフローチャートである。
以下、本発明を実施するための形態について説明する。
以下、本発明の実施例について図面に基づいて説明する。
図1〜図4に基づいて、マシニングセンタ(数値制御式工作機械)Mの構成について説明する。図1に示すように、マシニングセンタMは、ワークと工具とが相対移動することで、ワークに所望の機械加工(例えば、「フライス削り」、「穴空け」、「切削」等)を施すことができる工作機械である。
マシニングセンタMは、鋳鉄製の基台であるベース1と、ベース1の上部に設けた機械本体2と、ベース1の上部に固定したスプラッシュカバー(図示外)とを構成の主体とする。機械本体2は、ワークの切削加工を行う。スプラッシュカバーは、機械本体2とベース1の上部を覆う箱状のカバーである。ベース1はY軸方向(後述する)に長い略直方体状の鋳造品である。ベース1の下部の四隅は、高さ調節が可能な脚部を夫々備えている。
次に、機械本体2について説明する。
図1に示すように、機械本体2は、コラム4と、主軸ヘッド5と、主軸(図示外)と、工具交換装置7と、テーブル8とを主体として構成されている。コラム4は、ベース1の後部に設けたコラム座部3の上面に固定しており、且つ、鉛直上方に延びている。主軸ヘッド5は、コラム4の前面に沿って昇降可能である。主軸ヘッド5は、その内部に主軸を回転可能に支持している。工具交換装置7は、主軸ヘッド5の右側に設けてある。工具交換装置7は、主軸の先端に取り付けた工具ホルダを他の工具ホルダに交換する。工具ホルダは、工具6(図2参照)を装着している。テーブル8は、ベース1の上部に設けてある。テーブル8は、ワークを着脱可能に固定する。コラム4の背面側には、箱状の制御ボックス9が設けてある。制御ボックス9は、その内側にマシニングセンタMの動作を制御する数値制御装置50(図4参照)を備えている。
次に、テーブル8の移動機構について説明する。サーボモータであるX軸モータ71(図4参照)及びY軸モータ72(図4参照)は、テーブル8をX軸方向(図1において、右斜め下をマシニングセンタMの前方とし、マシニングセンタMの左右方向)及びY軸方向(マシニングセンタMの奥行き方向)に夫々移動する。テーブル8の移動機構は、以下の構成からなる。テーブル8の下側に、直方体状の支持台10が設けてある。支持台10は、その上面にX軸方向に沿って延びる1対のX軸送りガイドレールを備えている。1対のX軸送りガイドレールは、その上にテーブル8を移動可能に支持している。
図3に示すように、テーブル8の下面にはナット部16を配置してある。ナット部16は、カップリング17を介してX軸モータ71から延びる送り軸としてのX軸ボールネジシャフト81と螺合することでボールネジ機構を構成している。支持台10に固定した固定軸受(前部軸受)18が、X軸ボールネジシャフト81のX軸モータ71側の端部を支持している。可動軸受(後部軸受)19がX軸ボールネジシャフト81の反対側の端部を支持している。
ベース1の上部に長手方向に沿って延びる1対のY軸送りガイドレールが、その上に支持台10を移動可能に支持している。支持台10に設けたX軸モータ71は、X軸送りガイドレールに沿って、テーブル8をX軸方向に移動駆動する。ベース1に設けたY軸モータ72は、Y軸送りガイドレールに沿って、支持台10をY軸方向に移動駆動する。尚、Y軸の移動機構もX軸と同様に、送り軸としてのY軸ボールネジシャフト(図示略)を有するボールネジ機構(図3参照)である。
テレスコピック式に収縮するテレスコピックカバー11,12が、テーブル8の左右両側でX軸送りガイドレールを覆っている。テレスコピックカバー13とY軸後カバーとが、支持台10の前後で夫々Y軸送りガイドレールを覆っている。テレスコピックカバー11,12,13とY軸後カバーとは、テーブル8がX軸方向とY軸方向の何れの方向に移動した場合でも、X軸送りガイドレールとY軸送りガイドレールを常に覆っている。それ故、テレスコピックカバー11,12,13とY軸後カバーは、加工領域から飛散する切粉及びクーラント液等が各ガイドレール上に落下するのを防止する。
次に、主軸ヘッド5の昇降機構について説明する。
コラム4の前面側で上下方向に延びるガイドレール(図示外)が、リニアガイド(図示外)を介して主軸ヘッド5を昇降自在に案内している。ナット(図示外)が、コラム4の前面側の上下方向に延びる送り軸としてのZ軸ボールネジシャフト(図示外)に対して主軸ヘッド5を連結している。Z軸モータ73(図4参照)がZ軸ボールネジシャフトを正逆方向に回転駆動することで、主軸ヘッド5は上下方向に昇降駆動する。
図1,図2に示すように、工具交換装置7は、工具マガジン14と、工具交換アーム15とを備えている。工具マガジン14は、工具6を支持する工具ホルダを複数収納する。工具交換アーム15は、主軸に取付けた工具ホルダと他の工具ホルダとを把持し、且つ搬送して交換する。工具マガジン14は、その内側に複数の工具ポット(図示外)と、搬送機構(図示外)とを備えている。工具ポットは、工具ホルダを支持する。搬送機構は、工具ポットを工具マガジン14内で搬送する。
図4は、マシニングセンタMにおける電気的構成を示している。数値制御装置50は、マイクロコンピュータを含む。数値制御装置50は、入出力インタフェース54と、CPU51と、ROM52と、RAM53と、軸制御部61a〜64a,75aと、サーボアンプ61〜64と、微分器71b〜74bなどを備えている。CPU51は、ROM52と、RAM53と、入出力インタフェース54と各軸制御部61a〜64a、75aとバス55を介して接続している。サーボアンプ61〜64は、夫々X軸モータ71、Y軸モータ72、Z軸モータ73、主軸モータ74に接続するとともに、各軸制御部61a〜64a、75aと接続している。軸制御部75aは、マガジンモータ75に接続している。
X軸モータ71、Y軸モータ72は、テーブル8を夫々X軸方向、Y軸方向に移動させる為のモータである。マガジンモータ75は、工具マガジン14を回転移動させる為のモータである。主軸モータ74は、前記主軸を回転させる為のモータである。Z軸モータ73は、主軸ヘッド5を昇降させる為のモータである。以下、X軸モータ71、Y軸モータ72、Z軸モータ73、及び主軸モータ74を総称して、モータ71〜74という。モータ71〜74は、夫々エンコーダ71a〜74aを備えている。
軸制御部61a〜64aは、CPU51からの移動指令量を受けて、電流指令(モータトルク指令値)を夫々サーボアンプ61〜64に出力する。サーボアンプ61〜64は、電流指令を受けて、夫々モータ71〜74に駆動電流を出力する。軸制御部61a〜64aは、夫々エンコーダ71a〜74aからの位置フィードバック信号を受けて、位置のフィードバック制御を行う。微分器71b〜74bは、夫々エンコーダ71a〜74aが出力した位置フィードバック信号を微分して速度フィードバック信号に変換し、軸制御部61a〜64aに速度フィードバック信号として出力する。
軸制御部61a〜64aは、夫々微分器71b〜74bが出力する速度フィードバック信号に基づいて、速度フィードバックの制御を行う。電流検出器61b〜64bは、夫々サーボアンプ61〜64がモータ71〜74に出力する駆動電流を検出する。電流検出器61b〜64bは、駆動電流を夫々軸制御部61a〜64aにフィードバックする。軸制御部61a〜64aは、フィードバックを受けた駆動電流に応じて、電流(トルク)制御を行う。
軸制御部75aは、CPU51からの移動指令を受けて、マガジンモータ75を駆動する。ROM52は、マシニングセンタMの加工プログラムを機能させるメインの制御プログラム、図14に示す熱変位補正制御の制御プログラム、図15に示す補正量演算処理の制御プログラム、図16に示す補正区間区切り位置における補正量演算処理の制御プログラム等を記憶している。
RAM53は、機械構造に関するパラメータ、物理的性質に関するパラメータ、及び後述する熱分配係数(比率)ηF, ηN, ηB、ピッチ誤差補正量のテーブル等を格納している。機械構造に関するパラメータとして、例えばボールネジシャフト81の長さ、径、後述する基準位置等がある。物理的性質に関するパラメータとして、例えば密度、比熱、線膨張係数、熱容量、熱伝達係数、式(3),(4)で用いるγ、その他の諸定数等がある。
RAM53には、図6に示す発熱量、合計発熱量、モータ71の回転速度及び駆動電流、図9に示す分配発熱量を更新しつつ記憶するデータエリアが設けられている。尚、RAM53には、種々のワークを機械加工する為の複数の加工プログラムも適宜格納される。また、前記RAM53に記憶する代わりに、フラッシュメモリに記憶してもよい。入出力インタフェース54は、キーボード77とディスプレイ78に接続している。作業者がキーボード77を操作することで、加工プログラムに基づいて自動運転するメモリ運転モードと、加工プログラムを1ブロックずつ入力して運転するMDI運転モードを含む運転モードを択一的に設定することができる。尚、加工プログラムは、複数のブロックで構成されている。ブロックは、動作を定義するものである。
次に、マシニングセンタMのボールネジ機構に発生する熱変位に基づいて、モータ71〜73の制御量を補正する熱変位補正装置による補正量演算処理について説明する。
この補正量演算処理において熱変位を補正する際には、求めた熱変位を用いて前記ピッチ誤差補正量を補正することにより行うものとする。
マシニングセンタMのボールネジ機構は、製造公差等によりボールネジシャフト81の回転量とナット移動量とのピッチ誤差は避けられないので、マシニングセンタMの出荷前の調整段階において予め設定したピッチ誤差補正量のテーブルに基づいてピッチ誤差を補正するようになっている。ピッチ誤差補正量のテーブルは、X軸、Y軸、Z軸ボールネジ機構のピッチ誤差を夫々補正する為のテーブルである。
本実施例では、X軸ボールネジシャフト81の熱変位を補正する例について説明するが、Y軸のボールネジ機構、Z軸のボールネジ機構についても基本的に同様である。
図10に示すように、X軸ボールネジシャフト81のナット移動範囲としてのナット全長部81bを例えば20mmの設定長で15個の補正区間に分割し、補正区間ごとにピッチ誤差補正を行う。
このピッチ誤差を補正する為のピッチ誤差量は、出荷前の調整段階において、ナット部16を位置X0から位置X300までX軸方向へ20mm間隔にて補正区間ごとに移動させる。このときの指令値に対する誤差、つまり(目標値−実移動量)である誤差を精密に測定し、ピッチ誤差補正量のテーブルを作成し、そのテーブルをRAM53に予め格納して出荷する。Y軸、Z軸についても同様にしてピッチ誤差補正量のテーブルを作成してRAM53に予め格納して出荷する。
この熱変位量補正方法では、ボールネジシャフト81の前側軸部81aと、ナット全長部81bと、後側軸部81cの3領域の発熱量を求める。図5に示すように、ボールネジシャフト81の端部81eから端部81fまでの区間(ボールネジシャフト全長部)を、例えば区間1〜区間5に5分割する。但し、この5分割は一例に過ぎず5分割に限定される訳ではない。上記の複数の区間について、例えば、2ミリ秒毎に、区間毎の発熱量を求める。
図5,図6に示すように、RAM53には、所定時間(例えば、30秒)に区間1〜5に発生した合計の発熱量Q1〜Q5と、それら発熱量Q1〜Q5の合計発熱量QTと、X軸モータ71の回転速度ωと駆動電流iを格納するデータエリアが設けられている。
[合計発熱量の算出]
上記の所定時間毎に、加工プログラムのX軸送りデータ(制御データ)に基づいて、ナット部16がどの区間に位置しているかを判別し、エンコーダ71aの検出信号から求めるX軸モータ71によるテーブル送り速度Fから発熱量を次の(1)式により求める。その発熱量はRAM53のデータエリアに格納する。尚、ナット部16は、例えば原点座標X0からX300までの間(300mmの範囲)を移動するものとする。
Q=K1×FT ・・・(1)
ここで、Qは発熱量、Fは送り速度、K1は所定の定数、Tは所定の定数である。
図6に示すように、区間1〜5におけるナット部16の移動による発熱量は、所定時間(2ミリ秒)毎に算出され、その発熱量の前記の所定時間分の合計発熱量Q1〜Q5(つまり、15000回分の発熱量の合計)が算出されてデータエリアに格納される。30秒の間に発生した区間1〜5の発熱量Q1〜Q5を合計した合計発熱量QTと、30秒の間におけるX軸モータ71の2ミリ秒毎の回転速度ω(つまり、ω0,ω1,・・ω14999)のデータが夫々データエリアに格納される。
[合計発熱量の分配]
以下に示す合計発熱量QTの分配方法においては、ナット全長部81b、前側軸部81a、後側軸部81cにおいて互いに他の部分への熱伝導が生じず、熱的には近似的に独立しているとみなす。合計発熱量QTに対する発熱部(軸受18,19とナット部16)の比率は送り速度の如何に関わらずほぼ一定であるとする。
合計発熱量QT、前側軸部81aの発熱量QF、ナット全長部81bの発熱量QN、後側軸部81cの発熱量QBとすると、これら発熱部の発熱量QF,QN,QBのうちの発熱量QN,QBは次式により算出することができる。
N=ηN×QT
B=ηB×QT
ここで比率ηN,ηBは前記知見により一定であり、実機によりQN,QBを測定し、比率ηN,ηBを予め求めておくものとする。
[X軸モータのモータ本体の温度と発熱量QFの算出]
X軸モータ71のモータ本体の温度と発熱量QFの算出方法について説明する。
図7に示すように、X軸モータ71の回転速度ωおよび駆動電流iを一定とした場合の、モータ本体の温度変化について説明する。マシニングセンタMの駆動を開始すると、モータ本体温度ΘMは曲線150を描きながら上昇し、一定の温度で飽和する。この飽和時の温度を、飽和温度L1aという。飽和温度L1aは、次の式で表すことができる。
1a=K2・ω+K3・i2 ・・・(2)
2,K3はサーボモータ固有の定数、ωはモータ回転速度、i はX軸モータ71の駆動電流である。
モータ本体温度ΘMの上昇を示す曲線150は、次の式で表すことができる。
ΘM=L1a・{1 −exp(−γ・t)} ・・・(3)
ここで、γはX軸モータ71に固有の定数、tは駆動開始からの経過時間である。モータ本体温度ΘMが飽和温度L1aに達した後(図7ではt=8時間の時点)、マシニングセンタMを停止すると、モータ本体温度ΘMは、曲線151を描きながら下降する。曲線151は、次式で表すことができる。
ΘM=L1a・exp(−γ・t) ・・・(4)
γはサーボモータ固有の定数、tは駆動停止からの経過時間である。
上記式(3)から、マシニングセンタMの駆動開始からa分後のモータ本体温度ΘM1a は、次の式で表すことができる。
ΘM1a=L1a・{1−exp(−γ・a/60)}
上記式(4)から、マシニングセンタMの駆動停止からa分後のモータ本体温度ΘM−1aは、次の式で表すことができる。
ΘM-1a=L1a・exp(−γ・a/60)
以上では、X軸モータ71の回転速度ωと駆動電流iを一定とした場合のモータ本体の温度変化について説明したが、実際のマシニングセンタMの駆動時には、X軸モータ71の回転速度ωと駆動電流iが一定とは限らない。特に、稼働初期の過渡的状態では、回転速度ωと駆動電流iが一定とならない。それ故、所定時間(30秒)毎に、実際の回転速度ωと駆動電流i(2ミリ秒毎に実測した回転速度と駆動電流の夫々の平均値)から、式(2)を用いてX軸モータ71の飽和温度を求める。本実施例では、飽和温度と経過時間から、上記式(3)および式(4)を用いて、サーボモータ本体の温度変化を求める。本実施例では、以下のように、得られた温度変化を加算することでモータ本体の温度を求める。
以下に、モータ本体の温度の算出方法について図8に基づいて説明する。尚、以下の説明では、マシニングセンタMの駆動開始後、時刻t1,t2,・・・(分)と時間が経過したものとして説明する。すなわち、時刻0,t1,t2,・・・の夫々の間隔が、夫々の処理における経過時間である。
モータ本体温度ΘMは、上記経過時間中は前述の式(3)に従って上昇し、その後式(4)に従って低下するものとする。図8(A)に示すように、時刻0から時刻t1までの間の経過時間に基づくモータ本体温度ΘMt1は、時刻0から時刻t1までは上昇し、時刻t1を過ぎると下降する曲線301を描く。モータ本体温度ΘMt1の時刻t1における値ΘMt1-1は、式(3)に従って、以下のように算出できる。
ΘMt1-1=Lt1・{1−exp(−γ・t1/60)}
t1は時刻0から時刻t1間のX軸モータ71の実際の回転速度ωと駆動電流iから求めた飽和温度である。
モータ本体温度ΘMt1は、時刻t1以後は式(4)に従って低下するので、時刻t2におけるモータ本体温度ΘMt1の値ΘMt1-2は以下のように算出する。
ΘMt1-2=ΘMt1-1・exp{−γ・(t2−t1)/60}
同様に、時刻t3,t4におけるモータ本体温度ΘMt1の値ΘMt1-3,ΘMt1-4も、式(4)に従って、夫々以下のように算出できる。
ΘMt1-3=ΘMt1-1・exp{−γ・(t3−t1)/60}
ΘMt1-4=ΘMt1-1・exp{−γ・(t4−t1)/60}
図8(B)に示すように、時刻t1から時刻t2までの間の経過時間に基づくモータ本体温度ΘMt2は、時刻t1から時刻t2までは上昇し、時刻t2を過ぎると下降する曲線302を描く。時刻t1から時刻t2までの間のX軸モータ71の実際の回転速度ωと駆動電流iから飽和温度Lt2が算出できるので、式(3)および式(4)を用いて、時刻t2,t3,t4におけるモータ本体温度ΘMt2-1,ΘMt2-2,ΘMt2-3は、夫々以下のように算出できる。
ΘMt2-1=Lt2・[1−exp{−γ・(t2−t1)/60}]
ΘMt2-2=ΘMt2-1・exp{−γ・(t3−t2)/60}
ΘMt2-3=ΘMt2-1・exp{−γ・(t4−t2)/60}
図8(C)に示すように、時刻t2から時刻t3までの経過時間に基づくモータ本体温度ΘMt3は、時刻t2から時刻t3までは上昇し、時刻t3を過ぎると低下する曲線303を描く。前述のΘMt1とΘMt2の場合と同様にして、時刻t3,t4,t5におけるモータ本体温度ΘMt3-1,ΘMt3-2,ΘMt3-3を求めることができる。
前述のようにして算出したモータ本体温度ΘMt1,ΘMt2,ΘMt3・・・の各時刻における値を加算して、実際のモータ本体温度Θを算出する。例えば、時刻t1,t2,t3,・・・の間の経過時間に基づいて、曲線301,302,303……(図8(A)〜(C)参照)で例示するモータ本体温度ΘMt1,ΘMt2,ΘMt3を算出したとする。この場合、時刻t1におけるモータ本体温度Θの値α1 は、ΘMt1-1である。時刻t2におけるモータ本体温度Θの値α2 は、ΘMt1-2+ΘMt2-1である。時刻t3におけるモータ本体温度Θの値α3 は、ΘMt1-3+ΘMt2-2+ΘMt3-1である。同様に、各時刻におけるモータ本体温度Θの値を求めると、モータ本体温度Θは、図8(D)に示す曲線304で例示するように変化する。
次式(5)に従って、本実施例では、前述のように求めたモータ本体温度Θを用いて、前部軸受部発熱量QFを算出する。
F=K4(Θ−ΘS) ・・・(5)
Fは所定時間(30秒)の間の発熱量であり、K4は係数である。ΘSはボールネジシャフト端部81e(図5参照)の温度であるが、本実施例では説明の簡単化のため、ΘSとしては区間1の右区切り位置の温度θ1の値の前回値を用いるものとする。
[各区間への発熱量の分配]
次に、ナット全長部81bの分配発熱量QNを5つの区間に分配する。前記データエリアに格納されている5つの合計発熱量Q1〜Q5と、QTに基づいて、次式から分配発熱量QNを5つの区間1〜5に分配する分配比率X1〜X5を求める。
1=区間1の合計発熱量Q1/ QT

5=区分5の合計発熱量Q5/ QT
こうして、各区間の分配比率X1〜X5とナット全長部の発熱量QNとから、次式により区間1〜5についての分配発熱量QN1〜QN5を求める。
N1=X1×QN

N5=X5×QN
上記の結果を用いて、区間1〜5の分配発熱量を図9のように表すことができる。
[温度分布の算出]
以上のようにして5つの区間1〜5の分配発熱量(図9参照)を求めた後、この分配発熱量から上昇した温度分布を算出する。温度分布は初期条件{θ}t=0、d{θ}/ dtt=0の下で次式(6)の非定常熱伝導方程式を解くことで求める。
[C]d{θ}/ dt+[H]{θ}+{Q}=0 ・・・ (6)
ここで、[C]は熱容量マトリックス、[H]は熱伝導マトリックス、{θ}は温度分布、{Q}は入出力される発熱量マトリックス、tは時間である。
具体的には、マシニングセンタMの駆動後(t=0)、時刻がt1,t2,‥‥(分)と時間が経過したときの温度分布を、次のように算出する。
図5のようにナット全長部81bを複数の区間に分割した場合、各部の温度、各区間に入力する発熱量を図9のように表すことができる。図9を用いて、式(6)は、各部の温度と各部の分配発熱量を用いた式に表すことができる。
時刻t=0の時のボールネジシャフト各部の温度分布{θ},およびモータ本体温度Θは既知である。それ故、本実施例は式(5)から前部軸受部発熱量QFを求める。式(1)から、ナット全長部の各区間の分配発熱量QN1〜QN5,及び後部軸受部発熱量QBも既知となる。求めた値を、上記各部の温度と各部の分配発熱量を用いた式に代入する。図11に示すように、本実施例は、ボールネジシャフト各部における温度が上昇する速度(d{θ}t=0/dt)、即ち、傾きを求めることができる。次の式に基づいて、本実施例は、求めた傾きに基づいてt=t1における各部の温度{θ}を求める。
{θ}t=t1={θ}t=0+(d{θ}t=0/dt)×t1
本実施例は、{θ}t=t1のボールネジシャフト端部温度ΘSと、式(3)、(4)に基づいて求めたモータ本体温度Θとから、式(5)に基づいて、t=t1におけるQFを求める。求めた値を上記各部の温度と各部の分配発熱量を用いた式に代入し、d{θ}t=t1/dtを求める。その結果、t=t2における各部の温度は、次の式から求めることができる。
{θ}t=t2={θ}t=t1+(d{θ}t=t1/dt)×(t2−t1)
t=t3,‥‥の温度は、同様にして求めることができる。
[熱変位量の算出]
図9に示すように、ボールネジシャフト81の5つの区間の温度θ1〜θ5を求めてから、これらの温度θ1〜θ5に基づいて、ボールネジシャフト81の5つの区間区切り位置(図9のθ1〜θ5に対応する位置)の熱変位量を算出する。5つの区間区切り位置の熱変位量は、次式(11)から求めることができる。
ΔL=∫L 0β×θ(L)dL ・・・ (11)
ここで、ΔLは熱変位量、βはシャフト材料の線膨張係数である。
積分記号は0〜Lの範囲についての積分を示し、Lは5つの区間に関する区間区切り位置までの長さを示す。各区間1〜4の長さを100mmとすると、0〜100、0〜200、0〜300、・・等の範囲についての積分を示す。
[補正量の算出]
図10は、ボールネジシャフト81のナット全長部81bを20mm間隔で分割したピッチ誤差補正の補正区間1〜15を示す。本実施例では、ナット部16の移動範囲81bがX0〜X300(300mmの範囲)であり、各補正区間の長さが20mmであるため、15個の補正区間がある。上記の補正区間1〜15に行うピッチ誤差補正のテーブルは、マシニングセンタMの出荷前にメーカーが試運転時の送り量誤差を測定し、その測定結果を加味して予め作成してRAM53に格納してある。
ボールネジシャフト81の5つの区間1〜5の区切り位置の熱変位量を求めてから、15個の補正区間のピッチ誤差補正量を夫々補正する補正量を算出する。15個の補正区間の補正量は、図12と後述する[補正量演算式]から求めることができる。
図12は、ピッチ誤差補正量を補正する補正量を求める場合の説明図である。
縦軸は固定ベアリング18の位置を基準とする熱変位量、上側の横軸は固定軸受18を基準とするボールネジシャフト81の各部の位置であり、下側の横軸は15個の補正区間の区切り位置(X0,X20・・・,X300)を示す。
ここで、DF1は区間1における熱変位量、
F2は区間1と区間2における熱変位量の合計、

F5は区間1〜区間5における熱変位量の合計である。
図12に示すように、15個の補正区間の区切り位置(X20,・・・,X300)の補正量を次式から求める。
[補正量演算式]
X0の補正量=区間1の熱変位量+区間2の熱変位量×{(区間2の左区切り位置とX0間の長さ)/区間2の長さ:
X20の補正量=区間1の熱変位量+区間2の熱変位量×{(区間2の左区切り位置とX20間の長さ)/区間2の長さ}−X0の補正量:
X40の補正量=区間1の熱変位量+区間2の熱変位量×{(区間2の左区切り位置とX40間の長さ)/区間2の長さ}−X20の補正量:
X60の補正量=区間1の熱変位量+区間2の熱変位量×{(区間2の左区切り位置とX60間の長さ)/区間2の長さ}−X40の補正量:
X80の補正量=区間1の熱変位量+区間2の熱変位量×{(区間2の左区切り位置とX80間の長さ)/区間2の長さ}−X60の補正量:

X300の補正量=区間1の熱変位量+区間2の熱変位量+区間3の熱変位量+区間4の熱変位量+区間5の熱変位量×{(区間5の左区切り位置とX300間の長さ)/区間5の長さ}−X280の補正量:
次に、メモリ運転モード又はMDI運転モードにおいて,加工プログラム実行中にG0指令(位置決め用制御データ)が入力されたとき、位置決め動作の実行前にモータ71〜73の制御量の補正を実行する熱変位補正制御について説明する。最初に熱変位補正制御の概要について、図13に基づいて説明する。
図13は熱変位補正制御のタイミングチャートである。「補正サンプリングクロック」は、X軸ボールネジシャフト81とY軸ボールネジシャフトとZ軸ボールネジシャフトに発生する熱変位量を演算し、モータ71〜73の制御量を補正するタイミングを示すものである。図13において「運転状態」と「G0指令」と「G1指令(切削移動用制御データ)」と「補正」については、「H」状態のとき処理が実行中であることを示し、「L」状態のときは処理が実行中でないことを示す。補正サンプリングクロックの立ち上がり(補正量演算タイミング)から次の補正サンプリングクロックの立ち上がりまでの30秒間で補正量演算処理を実行し、演算した補正量をRAM53に記憶させる。補正サンプリングクロックの立ち上がり毎に補正量演算処理を実行する。
加工プログラムを実行していない場合、補正サンプリングクロックの立ち下がり(補正処理タイミング)で、RAM53に記憶した補正量に基づいて補正処理を実行する。
一方、メモリ運転モード又はMDI運転モードにおいて加工プログラムを実行している場合、補正処理タイミング経過後にG0指令が入力されたとき、G0指令に基づく位置決め動作の実行前に補正処理を実行する。
次に、数値制御装置50が実行する熱変位補正制御について、図14のフローチャートに基づいて説明する。尚、図中Si(i=1,2・・・)は各ステップを示す。
この熱変位補正制御は、マシニングセンタMの電源がONしている間、数値制御装置50が継続的に実行するものである。数値制御装置50が熱変位補正制御を開始すると、補正量演算タイミングであるか否かを判断し、補正量演算タイミングである場合(S1;Yes)、補正量演算処理を実行してから(S2)、S3へ移行する。補正量演算タイミングでない場合は(S1;No)、補正量演算処理を実行せずにS3へ移行する。
S3においては、メモリ運転モード又はMDI運転モードであるか否かを判断し、メモリ運転モード又はMDI運転モードである場合(S3;Yes)、加工プログラムの1ブロック読み込みを行う(S4)。次に、読み込んだブロックがG0指令であるか否かを判断し、G0指令である場合(S5;Yes)、RAM53を参照し未処理の補正量があるか否かを判断する。
今回の補正量演算タイミング経過後に補正処理を実行していないため、未処理の補正量がある場合(S6;Yes)、補正処理を実行する(S7)。G0指令による位置決め動作を実行した後(S8)、S1へリターンする。但し、前回の補正量演算タイミング経過後に補正処理を実行していない場合は、前回の補正量演算タイミングでRAM53に記憶した補正量を今回の補正量に加算したうえで補正を行う。
一方、今回の補正量演算タイミング経過後に補正処理を実行したため、未処理の補正量がない場合は(S6;No)、補正処理を実行せずにG0指令による位置決め動作を実行した後(S8)、S1へリターンする。S5においてG0指令でない場合は(S5;No)、読み込んだブロックに対する1ブロック実行後(S9)、S1へリターンする。
S3において、メモリ運転モード又はMDI運転モードでない場合、つまり、加工プログラムを実行していない場合は(S3;No)、補正処理タイミングであるか否かを判断する。補正処理タイミングである場合(S10;Yes)、未処理の補正量がある場合は(S11;Yes)、補正処理を実行した後(S12)、S1へリターンする。S10において補正処理タイミングでない場合(S10;No)、又はS11において未処理の補正量がない場合は(S11;No)、補正処理を実行せずにS1へリターンする。但し、前回の補正量演算タイミング経過後に補正処理を実行していない場合は、前回の補正量演算タイミングでRAM53に記憶した補正量を今回の補正量に加算したうえで補正を行う。尚、S1〜S12を実行する数値制御装置50が補正制御手段に相当する。
次に、S2の補正量演算処理について、図15のフローチャートに基づいて説明する。尚、図中Si(i=20,21・・・)は各ステップを示す。尚、X軸ボールネジシャフト81の補正量演算処理について説明するが、Y軸ボールネジシャフト、Z軸ボールネジシャフトについても同様である。但し、この補正量演算処理は、前述した内容と重複する部分が多いので簡単に説明する。
数値制御装置50がこの処理を開始すると、最初にS20において初期設定が実行される。この初期設定においては、先ず、パラメータ等の設定データから有限要素法による演算に必要なマトリックスを設定すると共に、雰囲気温度を設定したり、RAM53の関連するメモリエリアをクリアする等の処理を実行する。次に、S21において、ボールネジシャフト81を図5に示すように5つの区間1〜5に分割する。
次に、S22においてカウンタIを0に設定し、S23では、X軸送りデータ、エンコータ71aの検出信号を読み込む。次に、S24においては、区間1〜5の2ミリ秒毎の発熱量と、モータ本体温度Θを演算してRAM53に記憶する。X軸モータ71の回転速度ωのデータもメモリに格納する。
次のS25では、カウンタIが「1」だけインクリメントされ、S26ではカウンタIのカウンタ値が「14999」であるか否かを判定し、その判定がNoのうちはS23へ戻ってS23〜S25を繰り返す。S26の判定がYesになるとS27へ移行する。S27では、区間1〜5における30秒間の合計発熱量Q1〜Q5、これらを合計した合計発熱量QTを演算しRAM53に記憶する。
S28では、前述の各部の発熱量QF、QN、QBを演算してRAM53に記憶し、発熱量QNを区間1〜5へ分配した分配発熱量QN1〜QN5を演算してRAM53に記憶する。さらに区間1〜5についての図9に示す分配発熱量も演算しRAM53に記憶する。尚、発熱量QFを算出するとき、モータ本体温度Θとしては、RAM53に記憶していた所定時間の15000個のモータ本体温度Θの平均値を用い、ΘSとしては前回のθ1を用いて計算するものとする。S29では、図9に示す分配発熱量に基づいて区間1〜5の上昇温度θ1〜θ5を演算してRAM53に記憶する。
S30では、前記の(11)式に基づいて、5つの区間についての区間区切り位置の熱変位量を演算してRAM53に記憶する。S31では、[補正量演算式]の式に基づいて、前述のようにして15個の補正区間区切り位置における補正量を演算する。次に、S32では、S31において求めた補正量をRAM53に記憶させた後この処理を終了し、図14のS3へ移行する。尚、エンコーダ71aが速度検出手段に相当し、S24を実行する数値制御装置50が第1発熱量演算手段と温度検知手段に相当する。また、S28を実行する数値制御装置50が第2発熱量演算手段に相当し、S29を実行する数値制御装置50が温度分布演算手段に相当し、S30を実行する数値制御装置50が熱変位量演算手段に相当する。
次に、S31の補正区間区切り位置における補正量演算処理について、図16のフローチャートに基づいて説明する。尚、図中Si(i=40,41・・・)は各ステップを示す。数値制御装置50がこの処理を開始すると、カウンタnを0にリセットし(S40)、次に位置Xnの補正量ΔMnを次式により演算する(S41)。
最初に、ΔMn=DF+ΔDn×{(Xn−XF)/Ln}−ΔMn-20、n=0とから、位置X0の補正量ΔMを求める。尚、この式は前記の[補正量演算式] を簡単に表したものである。
ここで、DF:位置Xnよりも固定側の演算区間で発生した熱変位量の合計、
ΔDn:位置Xnを含む演算区間で発生した熱変位量、
F:位置Xnを含む演算区間の左区切り位置、
n:位置Xnを含む演算区間の長さである。
但し、ΔM0を求める場合に用いるΔM-20を0とする。
S42においてnを20インクリメントした後、S43においてnが320であるか否か判定する。nが320でない場合(S63;No)、位置X300までの補正量についての演算を終了していないものと判定し、S41へ戻って位置Xnの補正量ΔMnを演算する。位置X300の補正量ΔM300を求めるまではS41〜S43を繰り返し実行する。 補正量ΔM300を求めてから(S41)、S42においてn=320となるため、S43の判定がYesとなるため、この処理を終了して、図15のS32へ移行する。尚、S40〜S43を実行する数値制御装置50が補正量演算手段に相当する。
次に、以上説明したマシニングセンタM及びその熱変位補正方法の作用、効果について説明する。
このマシニングセンタMでは、メモリ運転モードとMDI運転モードを含む運転モードを択一的に設定可能に構成してある。2ミリ秒毎に複数区間1〜5の発熱量を演算し、その複数区間1〜5の発熱量を30秒分累積した発熱量Q1〜Q5を用いて、複数区間の分配発熱量QN1〜QN5を演算する。これと同時に、モータ71からボールネジシャフト81に30秒の間に伝熱する前部軸受部発熱量QFを演算する。
次に、その分配発熱量QN1〜QN5と、前部軸受部発熱量Qと上記の非定常熱伝導方程式を用いて複数区間の温度分布θ1〜θ5を演算する。次に、その温度分布θ1〜θ5から複数区間の熱変位量DF1〜DF5を演算し、その熱変位量DF1〜DF5に基づいてピッチ誤差補正量を補正する補正量ΔM0 ,ΔM20,ΔM40,・・・ΔM300を演算する。これにより、モータ71の温度上昇が安定化するまでの過渡的状態においても補正量をボールネジシャフト81の実際の伸びに近似させることができる。
メモリ運転モード又はMDI運転モードにおいて、G0指令による位置決め動作の実行前に、補正量に基づいて制御データを補正するので、常に最新の補正量に基づく熱変位補正を行った状態でG1指令による切削移動を実行することができる。それ故、長時間にわたって機械加工を行う場合にも高精度の機械加工を行うことが可能となる。また、切削移動中に熱変位補正を行わないので、ワークの加工面の品質が低下しない。一方、メモリ運転又はMDI運転を実行していないときは、30秒毎に補正量に基づいて制御データを補正するので、所定期間毎に最新の補正量に基づく熱変位補正を行うことができる。
次に、前記実施例を部分的に変更した変更例について説明する。
1]前記実施例では、熱変位量に基づいてピッチ誤差補正の補正量を補正するように構成したが、一例を示すものであってこれに限定される訳ではない。即ち、ピッチ誤差補正とは独立に、熱変位量に基づいて複数の補正区間毎に加工プログラムの制御データを補正するようにしてもよい。
2]前記実施例では、発熱量を演算する演算周期2ミリ秒を例にして説明したが、この演算周期は2ミリ秒に限るものではない。同様に前記の所定期間の30秒も一例に過ぎず、これに限定される訳ではない。
M マシニングセンタ
50 数値制御装置
71 X軸モータ
71a エンコーダ
81 X軸ボールネジシャフト

Claims (2)

  1. 送り駆動用ボールネジ機構と、このボールネジ機構のシャフトを回転駆動するサーボモータと、このサーボモータを加工プログラムの制御データに基づき制御するための制御手段とを有する数値制御式工作機械において、
    前記加工プログラムに基づいて自動運転するメモリ運転モードと、加工プログラムを1ブロックずつ入力して運転するMDI運転モードを含む運転モードを択一的に設定可能に構成され、
    前記サーボモータの回転速度を検出する速度検出手段と、
    前記サーボモータの温度上昇を検知する温度検知手段と、
    前記シャフトの全長を複数分割した複数区間に発生する第1発熱量を、前記サーボモータの回転速度と制御データとに基づいて短い所定時間毎に求める第1発熱量演算手段と、
    前記サーボモータの温度上昇に基づいて、サーボモータから前記シャフトに所定期間の間に伝熱する第2発熱量を求める第2発熱量演算手段と、
    前記複数区間の前記第1発熱量を前記所定期間分累積した合計発熱量と前記第2発熱量と非定常熱伝導方程式とに基づいて、複数区間の温度分布を前記所定期間毎に演算する温度分布演算手段と、
    前記温度分布から前記シャフトの複数区間の熱変位量を前記所定期間毎に演算する熱変位量演算手段と、
    前記複数区間の熱変位量に基づいて、前記シャフトのナット移動範囲を複数分割した複数の補正区間毎に前記制御データを夫々補正する補正量を前記所定期間毎に演算する補正量演算手段と、
    前記メモリ運転モード又は前記MDI運転モードにおいて、位置決め用制御データによる位置決め動作の実行前に、前記補正量に基づいて位置決め用制御データを補正し且つ前記メモリ運転モード又は前記MDI運転モードに設定されていない場合、前記所定期間毎に前記補正量に基づいて前記制御データを補正する補正制御手段と、
    を備えたことを特徴とする数値制御式工作機械。
  2. 送り駆動用ボールネジ機構と、このボールネジ機構のシャフトを回転駆動するサーボモータと、このサーボモータを加工プログラムの制御データに基づき制御するための制御手段とを有する数値制御式工作機械の熱変位補正方法において、
    前記加工プログラムに基づいて自動運転するメモリ運転モードと、加工プログラムを1ブロックずつ入力して運転するMDI運転モードを含む運転モードを択一的に設定可能に予め構成しておき、
    前記シャフトの全長を複数分割した複数区間に発生する第1発熱量を、前記サーボモータの回転速度と制御データとに基づいて短い所定時間毎に求める第1ステップと、
    前記サーボモータの温度上昇を検知し、この温度上昇に基づいて、サーボモータから前記シャフトに所定期間の間に伝熱する第2発熱量を求める第2ステップと、
    前記複数区間の前記第1発熱量を前記所定期間分累積した合計発熱量と前記第2発熱量と非定常熱伝導方程式とに基づいて、複数区間の温度分布を前記所定期間毎に演算する第3ステップと、
    前記温度分布から前記シャフトの複数区間の熱変位量を前記所定期間毎に演算する第4ステップと、
    前記複数区間の熱変位量に基づいて、前記シャフトのナット移動範囲を複数分割した複数の補正区間毎に前記制御データを夫々補正する補正量を前記所定期間毎に演算する第5ステップと、
    前記メモリ運転モード又は前記MDI運転モードにおいて、位置決め用制御データによる位置決め動作の実行前に、前記補正量に基づいて位置決め用制御データを補正し且つ前記メモリ運転モード又は前記MDI運転モードに設定されていない場合、前記所定期間毎に前記補正量に基づいて前記制御データを補正する第6ステップと、
    を備えたことを特徴とする数値制御式工作機械の熱変位補正方法。
JP2009087153A 2009-03-31 2009-03-31 数値制御式工作機械及びその熱変位補正方法 Active JP5206555B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009087153A JP5206555B2 (ja) 2009-03-31 2009-03-31 数値制御式工作機械及びその熱変位補正方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009087153A JP5206555B2 (ja) 2009-03-31 2009-03-31 数値制御式工作機械及びその熱変位補正方法

Publications (2)

Publication Number Publication Date
JP2010234500A JP2010234500A (ja) 2010-10-21
JP5206555B2 true JP5206555B2 (ja) 2013-06-12

Family

ID=43089340

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009087153A Active JP5206555B2 (ja) 2009-03-31 2009-03-31 数値制御式工作機械及びその熱変位補正方法

Country Status (1)

Country Link
JP (1) JP5206555B2 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5397095B2 (ja) * 2009-08-28 2014-01-22 ブラザー工業株式会社 数値制御式工作機械の熱変位補正方法及びその熱変位補正装置
JP5387838B2 (ja) * 2009-08-28 2014-01-15 ブラザー工業株式会社 数値制御式工作機械の熱変位補正方法及びその熱変位補正装置
CN102176135A (zh) * 2011-01-30 2011-09-07 合肥工业大学 数控机床热误差测量集成系统
JP6285297B2 (ja) * 2014-07-03 2018-02-28 ファナック株式会社 工作機械の制御装置
JP6823016B2 (ja) * 2018-07-17 2021-01-27 ファナック株式会社 数値制御装置
JP7057306B2 (ja) * 2019-03-15 2022-04-19 ファナック株式会社 温度補間装置

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63256336A (ja) * 1987-04-13 1988-10-24 Yoshiaki Kakino Nc機械におけるボ−ルねじの熱変位補正方法
JPH05169351A (ja) * 1991-01-04 1993-07-09 Enshu Ltd 工作機械の熱変位補正方法
JPH07104813A (ja) * 1993-10-04 1995-04-21 Fanuc Ltd 数値制御装置
JP3407972B2 (ja) * 1994-04-27 2003-05-19 ファナック株式会社 工作機械の熱変位補正方法
JP2005202844A (ja) * 2004-01-19 2005-07-28 Murata Mach Ltd 数値制御装置
JP5447750B2 (ja) * 2006-12-14 2014-03-19 国立大学法人福井大学 稼動中のボールネジにおける温度分布算定方法及び当該方法に基づく変位補正方法
JP5232384B2 (ja) * 2006-12-26 2013-07-10 株式会社松浦機械製作所 稼動中のボールネジにおける温度分布算定方法及び当該方法に基づく変位補正方法

Also Published As

Publication number Publication date
JP2010234500A (ja) 2010-10-21

Similar Documents

Publication Publication Date Title
JP5206555B2 (ja) 数値制御式工作機械及びその熱変位補正方法
JP2009214283A (ja) 工作機械の熱変位補正方法、熱変位補正装置及びその熱変位補正用プログラム
JP5482639B2 (ja) 数値制御装置、制御プログラム及び記憶媒体
JP5956497B2 (ja) 機械の熱変位補正装置
JP5397096B2 (ja) 数値制御式工作機械の熱変位補正方法及びその熱変位補正装置
US9588509B2 (en) Correction method at time of feed axis reversal
JP6501529B2 (ja) 工作機械を用いたワークの加工方法及び工作機械
JP5387838B2 (ja) 数値制御式工作機械の熱変位補正方法及びその熱変位補正装置
JP5224177B2 (ja) 工作機械の熱変位補正方法及び熱変位補正装置
JP5397095B2 (ja) 数値制御式工作機械の熱変位補正方法及びその熱変位補正装置
JP5136853B2 (ja) 数値制御式工作機械及び数値制御式工作機械の制御プログラム
JP2009237929A (ja) 数値制御装置、数値制御装置用制御プログラム及び数値制御装置用記録媒体
JP2010082724A (ja) 工作機械の熱変位補正装置及び熱変位補正方法
JP5786436B2 (ja) 数値制御装置および加工方法
JP5169946B2 (ja) 数値制御式工作機械及びその熱変位補正方法
JP3361760B2 (ja) 工作機械の熱変位補正方法及びその熱変位補正装置
JP2017144527A (ja) 工作機械の熱変位の補正方法
JP7103136B2 (ja) 工作機械及び加工方法
JP5998575B2 (ja) 工作機械及び工作方法
JP5163901B2 (ja) 工作機械
JP2016221593A (ja) 工作機械、演算方法及びコンピュータプログラム
JP6582522B2 (ja) 工作機械、演算方法及びコンピュータプログラム
JP2021160004A (ja) 補正係数の導出方法及び工作機械
KR101867226B1 (ko) 머시닝센터에 구비되는 볼스크류의 열변위 보정장치 및 방법
JP2023110398A (ja) 加工装置及びその制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110322

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120820

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121015

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130122

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130204

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20160301

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 5206555

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150