(58)【調査した分野】(Int.Cl.,DB名)
工具が取り付けられた主軸を移動させる主軸直線移動軸とテーブルを移動させる2つ以上のテーブル直線移動軸と、前記主軸直線移動軸及び前記テーブル直線移動軸とを制御する数値制御装置を備えた数値制御工作機械において、
前記主軸直線移動軸を駆動する主軸モータの負荷を測定する軸負荷測定手段と、
前記工具が前記テーブルに配置されたワークに接触していない所定の位置から前記主軸の移動及び時間の計測を開始して、前記軸負荷測定手段が測定した前記主軸モータの負荷が予め決められた値を超えて前記工具が前記ワークに接触したと判定するまでの時間を基準接触時間として記憶する基準接触時間記憶手段と、
前記基準接触時間記憶後の加工において、前記工具が前記テーブルに配置されたワークに接触していない所定の位置から前記主軸の移動及び時間の計測を開始して、前記軸負荷測定手段が測定した前記主軸モータの負荷が予め決められた値を超えて前記工具が前記ワークに接触したと判定するまでの時間を実接触時間として記憶する実接触時間記憶手段と、
前記基準接触時間と前記実接触時間との時間差が予め設定された時間を超えたとき、前記主軸の送り速度と前記時間差の時間とを積算することによって熱変位量を算出する熱変位量算出手段と、
前記熱変位量算出手段によって算出された熱変位量に基づき、前記主軸直線移動軸の移動量を補正する熱変位補正手段と、
を有することを特徴とする熱変位量補正機能を有する工作機械。
工具が取り付けられた主軸を移動させる主軸直線移動軸とテーブルを移動させる2つ以上のテーブル直線移動軸と、前記主軸直線移動軸及び前記テーブル直線移動軸とを制御する数値制御装置を備えた数値制御工作機械において、
前記主軸直線移動軸を駆動する主軸モータの負荷を測定する軸負荷測定手段と、
前記軸負荷測定手段が測定した前記主軸モータの負荷が予め決められた値を超えて前記工具が前記ワークに接触したと判定したときの座標を基準接触座標として記憶する基準接触座標記憶手段と、
前記基準接触座標記憶後の加工において、前記軸負荷測定手段が測定した前記主軸モータの負荷が予め決められた値を超えて前記工具が前記ワークに接触したときの座標を実接触座標として記憶する実接触座標記憶手段と、
前記基準接触座標と前記実接触座標との差が予め設定された値を超えたとき、前記基準接触座標と前記実接触座標との差の値を熱変位量として算出する熱変位量算出手段と、
前記熱変位量算出手段によって算出された熱変位量に基づき、前記主軸直線移動軸の移動量を補正する熱変位補正手段と、
を有することを特徴とする熱変位量補正機能を有する工作機械。
【背景技術】
【0002】
従来、ある直線移動軸に固定された主軸と、2軸以上の直線移動軸を有するテーブルと、テーブル上に設置された回転軸を有する加工ワークを固定するための回転テーブルを備え、これらの主軸とテーブルを制御する数値制御装置を備える数値制御工作機械が用いられている。これらの数値制御工作機械においては出荷時に加工精度を保証しているが、その後の使用によっては、主軸がモータや軸受けなど発熱源からの発熱によって熱変位が生じる。加工精度を維持する上で、このような熱変位を補正することは非常に重要である。熱変位は、特に主軸が、モータや軸受けの発熱により主軸の前後進方向に大きく変位することがあるが、この場合、主軸の前後進方向の加工量に誤差が発生し、加工精度が落ちてしまうことがある。
【0003】
このような熱変位を補正するために、以下の特許文献に開示されているような技術がある。
特許文献1には、これらの問題を解決する手段として、工作機械の各構成要素の温度を測定して得られた計測温度と刃先位置の座標に基づき、熱変位量を推定する技術が開示されている。
特許文献2には、主軸の負荷や回転数、前回の熱変位量に基づいて演算を行い、熱変位量を計算する技術が開示されている。
特許文献3には、暖気運転の時間をなくすか短縮するために、検出部の検出に基づいて、第一の接触検出時の座標と第二の検出時の座標との差から補正量を決定するという技術が開示されている。
【発明の概要】
【発明が解決しようとする課題】
【0005】
特許文献1に開示されている技術は、工作機械の各構成要素の温度を測定するために、工作機械の機内の各箇所に温度計測用のセンサを取り付ける必要があるため、取り付けられたセンサの故障の可能性が増大し、コストアップにつながることも考えられる。
特許文献2に開示されている技術は、主軸の負荷や回転数に基づいて演算を行っているために、機械が設置されている環境などの機械の動作以外の要因を織り込んで予測することが難しい場合がある。
特許文献3に開示されている技術は、接触検出にあたって、接触センサを用いて検出を行っているため、センサの信頼性によっては適切な検出を行うことができなかったり、センサの保守点検の労力が発生するおそれがある。
【0006】
そこで本発明は、工作機械における主軸の誤差や変形を原因とした変位を簡便に検出して補正することができる工作機械を提供することを目的とする。
【課題を解決するための手段】
【0007】
本願の請求項1に係る発明では、工具が取り付けられた主軸を移動させる主軸直線移動軸とテーブルを移動させる2つ以上のテーブル直線移動軸と、前記主軸直線移動軸及び前記テーブル直線移動軸とを制御する数値制御装置を備えた数値制御工作機械において、前記主軸直線移動軸を駆動する主軸モータの負荷を測定する軸負荷測定手段と、前記工具が前記テーブルに配置されたワークに接触していない所定の位置から前記主軸の移動及び時間の計測を開始して、前記軸負荷測定手段が測定した前記主軸モータの負荷が予め決められた値を超えて前記工具が前記ワークに接触したと判定するまでの時間を基準接触時間として記憶する基準接触時間記憶手段と、前記基準接触時間記憶後の加工において、前記工具が前記テーブルに配置されたワークに接触していない所定の位置から前記主軸の移動及び時間の計測を開始して、前記軸負荷測定手段が測定した前記主軸モータの負荷が予め決められた値を超えて前記工具が前記ワークに接触したと判定するまでの時間を実接触時間として記憶する実接触時間記憶手段と、前記基準接触時間と前記実接触時間との時間差が予め設定された時間を超えたとき、前記主軸の送り速度と前記時間差
の時間とを積算することによって熱変位量を算出する熱変位量算出手段と、前記熱変位量算出手段によって算出された熱変位量に基づき、前記主軸直線移動軸の移動量を補正する熱変位補正手段と、を有することを特徴とする熱変位量補正機能を有する工作機械が提供される。
【0008】
すなわち、請求項1に係る発明では、工具がワークに接触したことを測定負荷が予め決められた値を超えたことによって判定し、工具がワークに接触するまでの時間を、基準時と実測定時とで比較して、主軸の熱変位の検出、補正を行うため、熱変位量の検出のためにセンサを設ける必要がなく、信頼性や保守性が向上する。また、主軸の負荷からのフィードバックにより、加工精度のよい加工動作を記憶するため、機械の設置された環境の変化に対応することができる。
【0009】
本願の請求項2に係る発明では、工具が取り付けられた主軸を移動させる主軸直線移動軸とテーブルを移動させる2つ以上のテーブル直線移動軸と、前記主軸直線移動軸及び前記テーブル直線移動軸とを制御する数値制御装置を備えた数値制御工作機械において、前記主軸直線移動軸を駆動する主軸モータの負荷を測定する軸負荷測定手段と、前記軸負荷測定手段が測定した前記主軸モータの負荷が予め決められた値を超えて前記工具が前記ワークに接触したと判定したときの座標を基準接触座標として記憶する基準接触座標記憶手段と、前記基準接触座標記憶後の加工において、前記軸負荷測定手段が測定した前記主軸モータの負荷が予め決められた値を超えて前記工具が前記ワークに接触したときの座標を実接触座標として記憶する実接触座標記憶手段と、前記基準接触座標と前記実接触座標との差が予め設定された値を超えたとき、
前記基準接触座標と前記実接触座標との差の値を熱変位量として算出する熱変位量算出手段と、前記熱変位量算出手段によって算出された熱変位量に基づき、前記主軸直線移動軸の移動量を補正する熱変位補正手段と、を有することを特徴とする熱変位量補正機能を有する工作機械が提供される。
【0010】
すなわち、請求項2に係る発明では、工具がワークに接触したことを測定負荷が予め決められた値を超えたことによって判定し、工具がワークに接触したときの座標を、基準時と実測定時とで比較して、主軸の熱変位の検出、補正を行うため、熱変位量の検出のためにセンサを設ける必要がなく、信頼性や保守性が向上する。また、主軸の負荷からのフィードバックにより、加工精度のよい加工動作を記憶するため、機械の設置された環境の変化に対応することができる。
【発明の効果】
【0011】
本発明により、工作機械における主軸の誤差や変形を原因とした変位を簡便に検出して補正することができる工作機械を提供することが可能となる。
【発明を実施するための形態】
【0013】
図1は、本発明の数値制御工作機械の概略図を示している。本発明の数値制御工作機械10は、ベッド12、コラム14、主軸16、主軸ヘッド18、テーブル20等から構成されている。最下部にはベッド12が設けられており、ベッド12上にはコラム14とテーブル20が備えられている。テーブル20の下部には、X軸モータ24とY軸モータ26が設けられており、X軸モータ24とY軸モータ26との駆動により、テーブル20を平面上を駆動させることが可能である。また、コラム14には、主軸ヘッド18が備えられており、同じくコラム14に設けられているZ軸モータ28によって上下方向(Z軸方向)に駆動可能である。X軸モータ24、Y軸モータ26、Z軸モータ28は、いずれもサーボモータにより構成されている。
【0014】
主軸ヘッド18のコラム14と反対側の端部には主軸16が取り付けられており、また、主軸ヘッド18の上には、主軸16を駆動する主軸モータ22が取り付けられている。さらに、主軸16の下部には工具30が取り付けられている。
このような構成により、X軸モータ24及びY軸モータ26によってテーブル20をXY平面に沿って移動させつつ、主軸16をZ軸モータ28によってZ軸方向に前後進させて、主軸16に取り付けられている工具30によって、テーブル20上に設置されている図示しないワークの加工を行っている。
【0015】
図2及び
図3は、本発明の基本原理を示した図である。
図2は、本発明の主軸16、工具30及びワーク32の関係の模式図を示しており、
図2(a)は変位前の理想状態を示した図、
図2(b)は変位後の状態を示した図である。
図2(a)の変位前の理想状態と比較して、
図2(b)においては、モータの発熱等によって主軸16や工具30が変位して下方に伸びたような状態となっている。本発明では、主軸16がモータの発熱などによって変位した際に、変位前の理想状態と比較して、工具30が移動開始してから、ワーク32に接触するまでの時間、又は、ワーク32に接触するまでの工具30の距離が変化することを利用して、変位量を検出している。また、工具30とワーク32との接触の検出にあたっては、別途検出のためのセンサを設けることなく、主軸モータ22にかかる負荷を監視することで行っている。
【0016】
図3は、変位前の理想状態と、変位後の状態における工具30とワーク32とが接触するまでの時間に差が生じることを示したグラフである。
図2において、
図2(a)と比較して
図2(b)の工具が下方に伸びたような状態となっていることによって、
図3に示されているように、接触判定がされるまでの時間が変位後の方が短いものとなっている。この時間差と工具30の送り速度から変位量を計算して、補正を行っている。
【0017】
<第1の実施形態>
以下、図面に基づいて本発明の実施形態について説明する。
本実施形態においては、
図4(a)に示されているように、まず第一ステップとして機械の温度が理想的な状態で1回目の一連の加工プログラムを動作させ、加工プログラムの動作開始と同時に計時を開始し、その後工具30が被加工物(ワーク32)に接触する瞬間の時間をA(1)、A(2)・・・と順番に記録する。工具の接触判定については主軸負荷を監視し、回転している工具30がワーク32に接触した瞬間にある一定以上の主軸負荷を検出し、かつ主軸モータ22の回転数を変化させる指令を直前に出していないときに主軸接触判定を出すものとする。
【0018】
次に、
図4(b)に示されているように、第二ステップとして第一ステップと全く同じ加工プログラムを動作させ、第一ステップと同様に、加工プログラム開始と同時に主軸負荷の監視を行って計時を開始し、工具がワークに接触するまでの時間をそれぞれ計測し、主軸接触判定が出た時間と1回目で記録したその時間とを比較する。2つの時間を比較した際に、
図4(b)におけるA(1)とB(1)に見られるように、ある閾値以上の時間の差が存在する場合に、次回以降のZ軸原点を修正し、次の加工動作に進む。この原点の修正により、A(2)とB(2)点に見られるように、両者の時間差が閾値以内に低減されることが期待できる。この一連の流れを繰り返すことによって、加工に理想的な環境が維持できなくても、理想的な状態における加工精度を維持することができる。
【0019】
次に本実施形態の熱変位の補正の流れを、
図5及び
図6に示されたフローチャートも用いて説明する。
まずは第一ステップとして、各加工動作における加工動作開始から工具接触までの基準となる時間を設定するために一連の加工プログラムを動作させる。このステップを行う際には、工作機械の置かれた環境(機械温度や機外温度など)が理想的な状態(一例として、機械が十分に冷えた状態や、機外温度が25℃程度に保たれている)といった状態で行うことが望ましい。
【0020】
加工プログラム動作開始から主軸負荷を監視し、加工プログラム動作開始から工具が接触するまでの時間を数値制御装置の記憶媒体に保存する。第一ステップにおける加工プログラム中のn回目の主軸工具接触時間をA(n)とする。主軸負荷の監視については
図3のように所定値以上の負荷が主軸に加えられ、かつ負荷を加える時点よりΔt[msec]以内に主軸回転数を変化させる指令がない場合に接触と判定する。Δt[msec]は主軸の回転数を変化させるのにかかる時間より長い時間を設けるものとする。
【0021】
これらの基準時間の取得の流れを、
図5に示されたフローチャートでステップごとに説明すると、以下のとおりである。
・(ステップSA1)加工プログラムを開始し、主軸負荷の監視及び計時を開始する。n=1に設定する。
・(ステップSA2)主軸負荷が所定値を超え、かつ主軸回転数を直前に変えていないかどうかを判定する。いずれも満たしている場合(YES)は、ステップSA3に進み、いずれかを満たしていない場合(NO)は、ステップSA2を繰り返し行っていずれも満たすのを待つ。
【0022】
・(ステップSA3)工具がワークに接触したと判定し、接触したときの時間の値を基準接触時間として記録して番号を割り振り、A(n)に記憶させる。
・(ステップSA4)加工プログラムが終了したかどうかを判定する。プログラムが終了した場合(YES)は終了し、終了していない場合はステップSA5に進む。
・(ステップSA5)nの値に1を加えて、ステップSA2に戻る。
これにより、加工プログラム中に何度か生じる工具とワークとの接触時間を、接触順番ごとに基準接触時間として記憶しておくことができる。
【0023】
次に、第二ステップとして新しいワークを取り付け、第一ステップとまったく同じ加工プログラムを動作させる。第一ステップと同様に加工プログラム動作開始から主軸負荷の監視を始め、まずは加工プログラム動作開始から工具接触までの時間B(1)を計測する。第二ステップにおける加工プログラム中のn回目の加工プログラム動作開始から工具接触までの時間をB(n)とする。
計測した時間B(1)を第一ステップで記憶させた1つ目の加工動作の時間A(1)と比較する。A(1)とB(1)を比較した際、B(1)がA(1)よりある許容値(k[msec])以上の差をもって小さかった場合、外気温の変化などによって主軸が許容値以上に変位しており、補正が必要であるものとする。
【0024】
その変位量Zmは
Zm=X[msec]×Y[mm/sec]
X:B(n)とA(n)(この場合はn=1)の時間差
Y:A(n)(この場合はn=1)接触時のZ軸の送り速度
で表すことができる。なお、第一ステップと第二ステップでは同じ加工プログラムを動作させているため、各接触時のZ軸送り速度が同じである。
その後の加工動作においてはZ軸原点Z0を以下のように更新する(An<Bnの場合)。
Z0’=Z0+Zm
Z0’:更新後のZ軸原点
Z0 :更新前のZ軸原点
Z軸原点の更新後、2つ目の加工動作においても同様に加工動作開始から工具接触までの時間B(2)を計測してA(2)と比較を行い、補正が必要か否かを判定し、補正が必要な場合は補正を行う。
この繰り返しを加工プログラムが終了するまで行う。
【0025】
これらの熱変位の補正の流れを、
図6に示されたフローチャートでステップごとに説明すると、以下のとおりである。
・(ステップSB1)加工プログラムを開始し、主軸負荷の監視及び計時を開始する。n=1に設定する。
・(ステップSB2)主軸負荷が所定値を超え、かつ主軸回転数を直前に変えていないかどうかを判定する。主軸負荷が所定値を超え、かつ主軸回転数を直前に変えていない場合(YES)は、ステップSB3に進み、それ以外の場合(NO)は、ステップSB2を繰り返し行っていずれの条件も満たすのを待つ。
【0026】
・(ステップSB3)工具がワークに接触したと判定し、接触したときの時間の値を実接触時間として記録して番号を割り振り、B(n)に記憶させる。
・(ステップSB4)A(n)とB(n)との差の絶対値が許容値であるkより大きいかどうかを判定する。大きい場合(YES)はステップSB6に進み、差がk以下の場合はステップSB5に進む。
・(ステップSB5)nの値に1を加えて、ステップSB2に戻る。
【0027】
・(ステップSB6)A(n)とB(n)の値を比較して、A(n)の方が大きいかどうかを判定する。A(n)の方が大きい場合(YES)は、ステップSB7に進み、逆にB(n)の方が大きい場合(NO)は、ステップSB8に進む。
・(ステップSB7)次回以降のプログラムコードにおいて、Z軸原点をZ0’=Z0−Zmに補正し、ステップSB9に進む。
・(ステップSB8)次回以降のプログラムコードにおいて、Z軸原点をZ0’=Z0+Zmに補正し、ステップSB9に進む。
・(ステップSB9)加工プログラムが終了したかどうかを判定する。プログラムが終了した場合(YES)は終了し、終了していない場合はステップSB5に戻る。
【0028】
<第2の実施形態>
本実施形態においては、第1の実施形態における接触時間の比較に代えて、工具30が被加工物(ワーク32)に接触した際の工具30の座標を比較する点が異なっている。
なお、本実施形態における「座標」は、工作機械固有の座標としている。
本実施形態の熱変位の補正の流れを、
図7及び
図8に示されたフローチャートも用いて説明する。
まずは第一ステップとして、各加工動作における工具接触までの基準となる座標を設定するために一連の加工プログラムを動作させる。このステップを行う際には、工作機械の置かれた環境(機械温度や機外温度など)が理想的な状態(一例として、機械が十分に冷えた状態や、機外温度が25℃程度に保たれている)といった状態で行うことが望ましい。
【0029】
加工プログラム動作開始から主軸負荷を監視し、各加工動作において、工具が接触するときの座標を数値制御装置の記憶媒体に保存する。第一ステップにおける加工プログラム中のn回目の主軸工具接触座標をA(n)とする。主軸負荷の監視については
図3のように所定値以上の負荷が主軸に加えられ、かつ負荷を加える時点よりΔt[msec]以内に主軸回転数を変化させる指令がない場合に接触と判定する。Δt[msec]は主軸の回転数を変化させるのにかかる時間より長い時間を設けるものとする。
【0030】
これらの基準時間の取得の流れを、
図7に示されたフローチャートでステップごとに説明すると、以下のとおりである。
・(ステップSC1)加工プログラムを開始し、主軸負荷の監視を開始する。n=1に設定する。
・(ステップSC2)主軸負荷が所定値を超え、かつ主軸回転数を直前に変えていないかどうかを判定する。いずれも満たしている場合(YES)は、ステップSC3に進み、いずれかを満たしていない場合(NO)は、ステップSC2を繰り返し行っていずれも満たすのを待つ。
【0031】
・(ステップSC3)工具がワークに接触したと判定し、接触したときの座標の値を基準接触座標として記録して番号を割り振り、A(n)に記憶させる。
・(ステップSC4)加工プログラムが終了したかどうかを判定する。プログラムが終了した場合(YES)は終了し、終了していない場合はステップSC5に進む。
・(ステップSC5)nの値に1を加えて、ステップSC2に戻る。
これにより、加工プログラム中に何度か生じる工具とワークとの接触座標を、接触順番ごとに基準接触座標として記憶しておくことができる。
【0032】
次に、第二ステップとして新しいワークを取り付け、第一ステップとまったく同じ加工プログラムを動作させる。第一ステップと同様に各加工動作における加工動作開始から主軸負荷の監視を始め、工具接触の際の座標B(1)を計測する。第二ステップにおける加工プログラム中のn回目の工具接触の際の座標をB(n)とする。
計測した時間B(1)を第一ステップで記憶させた1つ目の加工動作の座標A(1)と比較する。A(1)とB(1)を比較した際、B(1)がA(1)との差の絶対値が許容値(k[mm])以上である場合、外気温の変化などによって主軸が許容値以上に変位しており、補正が必要であるものとする。
【0033】
その変位量Zmは
Zm=B(n)−A(n)
で表すことができる。
その後の加工動作においては変位量Zmを用いて、Z軸原点Z0を以下のように更新する。
Z0’=Z0+Zm
Z0’:更新後のZ軸原点
Z0 :更新前のZ軸原点
Z軸原点の更新後、2つ目の加工動作においても同様に加工動作開始から工具接触までの時間B(2)を計測してA(2)と比較を行い、補正が必要か否かを判定し、補正が必要な場合は補正を行う。
この繰り返しを加工プログラムが終了するまで行う。
【0034】
これらの熱変位の補正の流れを、
図8に示されたフローチャートでステップごとに説明すると、以下のとおりである。
・(ステップSD1)加工プログラムを開始し、主軸負荷の監視を開始する。n=1に設定する。
・(ステップSD2)主軸負荷が所定値を超え、かつ主軸回転数を直前に変えていないかどうかを判定する。主軸負荷が所定値を超え、かつ主軸回転数を直前に変えていない場合(YES)は、ステップSD3に進み、それ以外の場合(NO)は、ステップSD2を繰り返し行っていずれの条件も満たすのを待つ。
【0035】
・(ステップSD3)工具がワークに接触したと判定し、接触したときの座標の値を実接触座標として記録して番号を割り振り、B(n)に記憶させる。
・(ステップSD4)A(n)とB(n)との差の絶対値が許容値であるkより大きいかどうかを判定する。大きい場合(YES)はステップSD6に進み、差がk以下の場合はステップSD5に進む。
・(ステップSD5)nの値に1を加えて、ステップSD2に戻る。
【0036】
・(ステップSD6)A(n)とB(n)の値を比較して、A(n)の方が大きいかどうかを判定する。A(n)の方が大きい場合(YES)は、ステップSD7に進み、逆にB(n)の方が大きい場合(NO)は、ステップSD8に進む。
・(ステップSD7)次回以降のプログラムコードにおいて、Z軸原点をZ0’=Z0−Zmに補正し、ステップSD9に進む。
・(ステップSD8)次回以降のプログラムコードにおいて、Z軸原点をZ0’=Z0+Zmに補正し、ステップSD9に進む。
・(ステップSD9)加工プログラムが終了したかどうかを判定する。プログラムが終了した場合(YES)は終了し、終了していない場合はステップSD5に戻る。