IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ブラザー工業株式会社の特許一覧

<>
  • 特開-特定方法及び数値制御装置 図1
  • 特開-特定方法及び数値制御装置 図2
  • 特開-特定方法及び数値制御装置 図3
  • 特開-特定方法及び数値制御装置 図4
  • 特開-特定方法及び数値制御装置 図5
  • 特開-特定方法及び数値制御装置 図6
  • 特開-特定方法及び数値制御装置 図7
  • 特開-特定方法及び数値制御装置 図8
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024078226
(43)【公開日】2024-06-10
(54)【発明の名称】特定方法及び数値制御装置
(51)【国際特許分類】
   B23Q 15/18 20060101AFI20240603BHJP
   G05B 19/404 20060101ALI20240603BHJP
   B23Q 23/00 20060101ALI20240603BHJP
   B23Q 17/00 20060101ALI20240603BHJP
【FI】
B23Q15/18
G05B19/404 K
B23Q23/00
B23Q17/00 A
【審査請求】未請求
【請求項の数】10
【出願形態】OL
(21)【出願番号】P 2022190637
(22)【出願日】2022-11-29
(71)【出願人】
【識別番号】000005267
【氏名又は名称】ブラザー工業株式会社
(74)【代理人】
【識別番号】100104178
【弁理士】
【氏名又は名称】山本 尚
(72)【発明者】
【氏名】寺田 弦
【テーマコード(参考)】
3C001
3C029
3C269
【Fターム(参考)】
3C001KA05
3C001KB04
3C001KB09
3C001TA01
3C001TB01
3C001TB06
3C001TC01
3C029EE01
3C269AB05
3C269AB31
3C269BB01
3C269BB03
3C269CC02
3C269EF10
3C269MN16
3C269MN29
(57)【要約】
【課題】センサを設けることなく、送り軸の伸縮量を特定できる特定方法及び数値制御装置を提供する。
【解決手段】数値制御装置は、工具の装着動作におけるZ軸モータの外乱力及び回転角度を時系列で取得する。数値制御装置は、外乱力を時間微分して、微分値を算出する。数値制御装置は、最小を示す微分値に対応する回転角度をピーク角度として決定する。数値制御装置は、決定したピーク角度、及びRAMに記憶された初回ピーク角度φに基づき、差分ρを算出する(S26)。数値制御装置は、工具ごとに差分ρを記憶し(S27)、其の平均を算出する(S28)。数値制御装置は、算出した平均に基づき、ボールねじの伸縮量Lを特定する(S29)。
【選択図】図8
【特許請求の範囲】
【請求項1】
工具を装着する主軸と、所定方向に延びる送り軸と、前記送り軸を前記所定方向に延びる軸周りに回転させるモータとを備え、前記モータが前記送り軸を回転させることで、前記主軸を移動して工具交換装置が把持する前記工具を前記主軸に装着可能な工作機械における前記送り軸の前記所定方向への伸縮量の特定方法であって、
前記工具の装着動作又は前記工具の脱離動作の少なくとも一方における前記モータのトルクと、前記モータの回転角度とを時系列で取得する取得工程と、
前記取得工程により取得された前記トルクと前記回転角度との時系列データについての特徴量に基づいて、前記回転角度から特定角度を決定する決定工程と、
前記決定工程により決定された前記特定角度と、前記特定角度の基準となる基準特定角度との第一差分に基づき、前記送り軸の前記伸縮量を特定する特定工程と
を含むことを特徴とする特定方法。
【請求項2】
前記特徴量は、前記取得工程により取得された前記トルクを微分した微分値であって、
前記取得工程により取得された前記トルクから前記回転角度に対応する前記微分値を算出する微分工程を、更に含み、
前記決定工程は、前記微分工程により算出された前記微分値及び前記回転角度に基づいて、前記特定角度を決定すること
を特徴とする請求項1に記載の特定方法。
【請求項3】
前記決定工程は、前記微分工程により算出された前記微分値のうち、最大又は最小の何れか一方を示す前記微分値に対応する前記回転角度を前記特定角度として決定すること
を特徴とする請求項2に記載の特定方法。
【請求項4】
前記取得工程は、前記トルクに含まれる、前記モータの駆動に対する反力として前記モータに作用する外乱力を取得し、
前記微分工程は、前記取得工程により取得された前記外乱力を微分した外乱力微分値を算出し、
前記決定工程は、前記微分工程により算出された前記外乱力微分値のうち、最大又は最小の何れか一方を示す前記外乱力微分値に対応する前記回転角度を、前記特定角度として決定すること
を特徴とする請求項3に記載の特定方法。
【請求項5】
前記微分工程は、
前記取得工程により取得された前記回転角度を補間した補間角度、及び前記補間角度に対応し、且つ前記取得工程により取得された前記トルクを補間した補間トルクを生成する補間工程と、
前記補間工程により補間された前記補間トルクを微分して、前記補間角度に対応する前記補間トルクの補間微分値を算出する補間微分工程と
を含み、
前記決定工程は、前記補間微分工程により算出された前記補間微分値のうち、最大又は最小の何れか一方を示す前記補間微分値に対応する前記補間角度を前記特定角度として決定すること
を特徴とする請求項3に記載の特定方法。
【請求項6】
前記決定工程により一回目に決定された前記特定角度を、前記基準特定角度として決定する基準決定工程を含み、
前記特定工程は、前記決定工程により二回目以降に決定された前記特定角度と、前記基準決定工程により決定された前記基準特定角度との前記第一差分に基づき、前記伸縮量を特定すること
を特徴とする請求項1に記載の特定方法。
【請求項7】
前記決定工程によりn回目(nは二以上の整数)に決定された前記特定角度と、前記決定工程によりn-1回目に決定された前記特定角度との第二差分に基づき、前記装着動作又は前記脱離動作における異常を判定する判定工程と
を含むことを特徴とする請求項1に記載の特定方法。
【請求項8】
前記決定工程により決定された前記特定角度に基づき算出される前記第一差分を記憶する記憶工程を備え、
前記特定工程は、前記記憶工程により記憶された複数の前記第一差分の平均に基づき、前記伸縮量を特定すること
を特徴とする請求項1に記載の特定方法。
【請求項9】
前記記憶工程は、前記第一差分を前記主軸に装着された前記工具ごとに記憶し、
前記特定工程は、前記記憶工程により前記工具ごとに記憶された複数の前記第一差分の平均に基づき、前記伸縮量を特定すること
を特徴とする請求項8に記載の特定方法。
【請求項10】
工具を装着する主軸と、所定方向に延びる送り軸と、前記送り軸を前記所定方向に延びる軸周りに回転させるモータとを備え、前記モータが前記送り軸を回転させることで、前記主軸を移動して工具交換装置が把持する前記工具を前記主軸に装着可能な工作機械の動作を制御する数値制御装置において、
前記工具の装着動作又は前記工具の脱離動作の少なくとも一方における前記モータのトルクと、前記モータの回転角度とを時系列で取得する取得部と、
前記取得部により取得された前記トルクと前記回転角度との時系列データについての特徴量に基づいて、前記回転角度から特定角度を決定する決定部と、
前記決定部により決定された前記特定角度と、前記特定角度の基準となる基準特定角度との第一差分に基づき、前記送り軸の前記所定方向への伸縮量を特定する特定部と
を備えることを特徴とする数値制御装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、特定方法及び数値制御装置に関する。
【背景技術】
【0002】
特許文献1には、工作機械における送り軸の熱変位を補正する補正方法が開示されている。工作機械のコラムには、位置検出センサが設けられる。位置検出センサは送り軸の位置を検出する。位置検出センサが検出した送り軸の位置に基づいて、送り軸の各区間における熱変位量が推定される。そして、推定された熱変位量を打ち消す量を熱変位補正量として熱変位の補正が行われる。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2012-101330号
【発明の概要】
【発明が解決しようとする課題】
【0004】
上記補正方法では、位置検出センサのために追加のコストが必要になる。また、位置検出センサが故障した場合、送り軸の位置を検出できないので、送り軸の熱変位量を推定できない虞がある。
【0005】
本発明の目的は、センサを設けることなく、送り軸の伸縮量を特定できる特定方法及び数値制御装置を提供することである。
【課題を解決するための手段】
【0006】
請求項1の特定方法は、工具を装着する主軸と、所定方向に延びる送り軸と、前記送り軸を前記所定方向に延びる軸周りに回転させるモータとを備え、前記モータが前記送り軸を回転させることで、前記主軸を移動して工具交換装置が把持する前記工具を前記主軸に装着可能な工作機械における前記送り軸の前記所定方向への伸縮量の特定方法であって、前記工具の装着動作又は前記工具の脱離動作の少なくとも一方における前記モータのトルクと、前記モータの回転角度とを時系列で取得する取得工程と、前記取得工程により取得された前記トルクと前記回転角度との時系列データについての特徴量に基づいて、前記回転角度から特定角度を決定する決定工程と、前記決定工程により決定された前記特定角度と、前記特定角度の基準となる基準特定角度との第一差分に基づき、前記送り軸の前記伸縮量を特定する特定工程とを含むことを特徴とする。
【0007】
特定方法において、モータのトルクを制御するための構成により、送り軸の伸縮量が特定される。これにより、特定方法は、伸縮量を特定するためのセンサを別途設けることなく、送り軸の伸縮量を特定できる。
【0008】
請求項2の特定方法において、前記特徴量は、前記取得工程により取得された前記トルクを微分した微分値fであって、前記取得工程により取得された前記トルクから前記回転角度に対応する前記微分値を算出する微分工程を、更に含み、前記決定工程は、前記微分工程により算出された前記微分値及び前記回転角度に基づいて、前記特定角度を決定してもよい。特定角度において、微分値の変動は、トルクの変動と比較してより顕著に変化する。よって、特定方法は、決定工程において特定角度を精度よく決定できる。
【0009】
請求項3の特定方法において、前記決定工程は、前記微分工程により算出された前記微分値のうち、最大又は最小の何れか一方を示す前記微分値に対応する前記回転角度を前記特定角度として決定してもよい。これにより、特定方法は、決定工程において簡単に特定角度を決定できる。
【0010】
請求項4の特定方法において、前記取得工程は、前記トルクに含まれる、前記モータの駆動に対する反力として前記モータに作用する外乱力を取得し、前記微分工程は、前記取得工程により取得された前記外乱力を微分した外乱力微分値を算出し、前記決定工程は、前記微分工程により算出された前記外乱力微分値のうち、最大又は最小の何れか一方を示す前記外乱力微分値に対応する前記回転角度を、前記特定角度として決定してもよい。モータのトルクには、外乱力の他にモータの加減速に伴う慣性力等が含まれる。特定方法は、トルクに含まれる外乱力を取得し、外乱力を微分した外乱力微分値に基づき特定角度を決定するので、モータの加減速によるトルクの変化の影響をなくし、送り軸の伸縮量を精度よく特定できる。
【0011】
請求項5の特定方法において、前記微分工程は、前記取得工程により取得された前記回転角度を補間した補間角度、及び前記補間角度に対応し、且つ前記取得工程により取得された前記トルクを補間した補間トルクを生成する補間工程と、前記補間工程により補間された前記補間トルクを微分して、前記補間角度に対応する前記補間トルクの補間微分値を算出する補間微分工程とを含み、前記決定工程は、前記補間微分工程により算出された前記補間微分値のうち、最大又は最小の何れか一方を示す前記補間微分値に対応する前記補間角度を前記特定角度として決定してもよい。特定方法において、特定角度の分解能は回転角度及びトルクの取得周期に依存する。モータの回転角度と、回転角度に対応するトルクとが補間されることで、取得周期を短くすることなく、実際の特定角度に対して、決定工程で決定される特定角度をより近似する事ができる。よって、特定方法は、送り軸の伸縮量が僅かである場合にも、精度よく伸縮量を特定できる。
【0012】
請求項6の特定方法において、前記決定工程により一回目に決定された前記特定角度を、前記基準特定角度として決定する基準決定工程を含み、前記特定工程は、前記決定工程により二回目以降に決定された前記特定角度と、前記基準決定工程により決定された前記基準特定角度との前記第一差分に基づき、前記伸縮量を特定してもよい。特定方法は、最初に決定工程により決定された特定角度を基準特定角度として、伸縮量を特定する。これにより、特定方法は、最初の状態からの送り軸の伸縮量を特定できる。
【0013】
請求項7の特定方法において、前記決定工程によりn回目(nは二以上の整数)に決定された前記特定角度と、前記決定工程によりn-1回目に決定された前記特定角度との第二差分に基づき、前記装着動作又は前記脱離動作における異常を判定する判定工程とを含んでもよい。装着動作又は脱離動作における異常として、例えば装着動作において主軸と工具の間で切粉の噛み込みが生じた場合、又は脱離動作において工具の主軸からの脱離で異常が生じた場合、n-1回目に決定された特定角度に対してn回目に決定された特定角度が過剰に変化する。よって、特定方法は、第二差分に基づき、工具の装着動作又は脱離動作における異常を判定できる。
【0014】
請求項8の特定方法は、前記決定工程により決定された前記特定角度に基づき算出される前記第一差分を記憶する記憶工程を備え、前記特定工程は、前記記憶工程により記憶された複数の前記第一差分の平均に基づき、前記伸縮量を特定してもよい。特定方法は、第一差分の平均に基づき、送り軸の伸縮量を特定することで、装着動作又は脱離動作のばらつきによる特定角度の決定の際の誤差を小さくできる。よって、特定方法は、特定工程で特定される送り軸の伸縮量と、実際の伸縮量との誤差を小さくできる。
【0015】
請求項9の特定方法は、前記記憶工程は、前記第一差分を前記主軸に装着された前記工具ごとに記憶し、前記特定工程は、前記記憶工程により前記工具ごとに記憶された複数の前記第一差分の平均に基づき、前記伸縮量を特定してもよい。これにより、特定工程は、工具ごとで第一差分にばらつきがある場合にも、第一差分の平均に基づき、送り軸の伸縮量を特定することで、ばらつきによる影響を抑制できる。よって、特定工程は、送り軸の伸縮量を精度よく特定できる。
【0016】
請求項10の数値制御装置は、工具を装着する主軸と、所定方向に延びる送り軸と、前記送り軸を前記所定方向に延びる軸周りに回転させるモータとを備え、前記モータが前記送り軸を回転させることで、前記主軸を移動して工具交換装置が把持する前記工具を前記主軸に装着可能な工作機械の動作を制御する数値制御装置において、前記工具の装着動作又は前記工具の脱離動作の少なくとも一方における前記モータのトルクと、前記モータの回転角度とを時系列で取得する取得部と、前記取得部により取得された前記トルクと前記回転角度との時系列データについての特徴量に基づいて、前記回転角度から特定角度を決定する決定部と、前記決定部により決定された前記特定角度と、前記特定角度の基準となる基準特定角度との第一差分に基づき、前記送り軸の前記所定方向への伸縮量を特定する特定工程とを備えることを特徴とする。数値制御装置は、請求項1の特定と同様の効果を奏する。
【図面の簡単な説明】
【0017】
図1】工作機械1の斜視図である。
図2】主軸ヘッド7の周囲の縦断面図である。
図3】主軸9の内部の縦断面図である。
図4】工作機械1及び数値制御装置30の電気的構成を示すブロック図である。
図5】Z軸モータ51の回転角度θに応じて変動するZ軸モータ51に加わる外乱力F及び微分値fを示すグラフである。
図6】補間角度θ及び補間外乱力Fの生成を説明する図である。
図7】工具交換処理のフローチャートである。
図8図8の続きを示すフローチャートである。
【発明を実施するための形態】
【0018】
本発明の一実施形態を、図面を参照し説明する。以下説明は、図中に矢印で示す左右、前後、上下を使用する。工作機械1の左右方向、前後方向、上下方向は夫々、工作機械1のX軸方向、Y軸方向、Z軸方向である。右方向、前方向、上方向は夫々、正方向であり、左方向、後方向、下方向は夫々、負方向である。図1に示す工作機械1は、工具3により被削材(図示略)に切削加工を施す機械である。数値制御装置30は、工作機械1の動作を制御する。本実施形態に記載する「ATC」とは「Automatic Tool Changer」の略称である。また、本実施形態に記載する「NC」とは「Numerical Control」の略称である。
【0019】
<工作機械1の構造>
図1図2に示すように、工作機械1は、ベース2、コラム5、制御箱6、テーブル装置10、主軸ヘッド7、主軸9、及び工具交換装置20を有する。ベース2は、略直方体状の金属製土台である。コラム5は、ベース2の上面の後部に固定される。コラム5は上下方向に延びる立柱である。制御箱6は、コラム5の背面に固定される。制御箱6は、数値制御装置30を収納する。
【0020】
テーブル装置10は、Y軸移動機構(図示略)、Y軸テーブル12、テーブル13、X軸移動機構(図示略)を有する。Y軸移動機構は、ベース2の上面、且つコラム5の前方に設けられ、Y軸モータ54(図4参照)を有する。Y軸移動機構は、Y軸モータ54の駆動に応じて、Y軸テーブル12をY軸方向に移動する。X軸移動機構は、Y軸テーブル12の上部に設けられ、X軸モータ53(図4参照)を有する。X軸移動機構は、X軸モータ53の駆動に応じてテーブル13をX軸方向に移動する。故にテーブル13は、X軸移動機構とY軸移動機構により、ベース2の上方をX軸方向とY軸方向に移動可能である。
【0021】
<Z軸移動機構8の構造>
図2に示すように、コラム5の前部には、Z軸移動機構8が設けられる。Z軸移動機構8は、ボールねじ41、軸受部42、43、カムフォロア49、Z軸モータ51(図4参照)を有する。ボールねじ41は、コラム5の前部に設けられ、Z軸方向に延びる。軸受部42、43は、ボールねじ41に挿通され、ボールねじ41を回転可能に支持する。軸受部42は、軸受部43の上方に設けられる。カムフォロア49は、軸受部42の前方に設けられる。カムフォロア49は、後述する主軸ヘッド7の板カム47のカム面を摺動する。
【0022】
Z軸モータ51は、軸受部42の上方に固定される。ボールねじ41は、カップリング(図示略)を介して、Z軸モータ51の出力軸に連結される。ボールねじ41は、Z軸モータ51の駆動により、上下方向に延びる軸周りに正逆回転される。ボールねじ41には、軸受部42、43の間でナット44が螺合される。ナット44は、主軸ヘッド7の後端部に固定される。Z軸モータ51が正方向に回転すると、ボールねじ41が回転し、ナット44と主軸ヘッド7とが一体となって上昇する。Z軸モータ51が逆方向に回転すると、ボールねじ41が逆回転し、ナット44と主軸ヘッド7とが一体となって下降する。
【0023】
<主軸ヘッド7の内部構造>
図2に示すように、主軸ヘッド7は、コラム5の前部に設けられる。主軸ヘッド7は、箱形状である。主軸ヘッド7は、主軸モータ52、クランクレバー45、支軸46、コイルバネ48を有する。主軸モータ52は、主軸ヘッド7の上面の前部に固定される。
【0024】
支軸46は、主軸ヘッド7の後部の内側に固定される。支軸46は、左右方向に延びる棒状である。クランクレバー45は、主軸ヘッド7の上部に設けられる。クランクレバー45は、左側面視略L字状の板である。クランクレバー45の屈曲部分には、支軸46が挿通される。クランクレバー45は、支軸46を中心に揺動可能である。クランクレバー45は、板カム47を有する。板カム47の背面には、カム面が形成される。板カム47のカム面は、カムフォロア49と接離可能である。コイルバネ48は、主軸ヘッド7の後部の内側に設けられる。コイルバネ48は、前後方向に延びる。コイルバネ48の一端は主軸ヘッド7の背面に固定される。コイルバネ48の後端は、板カム47の下方で、クランクレバー45の後端部に固定される。コイルバネ48は、クランクレバー45を右側面視で時計回りに常時付勢する。
【0025】
<主軸9の内部構造>
図2図3に示すように、主軸9は、主軸ヘッド7の前下部の内側に設けられ、上下方向に延びる円筒状である。主軸9は、主軸ヘッド7に支持される。主軸9は、上下方向に延びる軸周りに回転可能に支持される。主軸9は、主軸モータ52の出力軸に連結する。主軸9は、主軸モータ52の駆動により、上下方向に延びる軸周りに正逆回転される。
【0026】
主軸9は、軸穴91、装着穴92、空間93、摺動穴94、クランプ軸81、ばね82を有する。軸穴91は、主軸9の上端部から下部に亘り形成され、主軸9の中心を通る。装着穴92は、主軸9の下端部に形成される。装着穴92には、工具3が装着される。空間93は、装着穴92の上部に連通して形成される。摺動穴94は、軸穴91と空間93との間を連通して形成される。
【0027】
クランプ軸81は、軸穴91の内側、且つ軸穴91に対して上下方向に移動可能に設けられる。クランプ軸81は、支持部83、軸部84、把持部85を有する。支持部83は、クランプ軸81の上端に設けられ、柱状である。支持部83は、ピン95を支持する。ピン95は、クランプ軸81に突出して設けられる。ピン95は、ピン95の上方に位置するクランクレバー45の前端部と接離可能である。
【0028】
軸部84は、支持部83から下方に延びる柱状である。把持部85は、軸部84の下端に設けられ、複数の鋼球(図示略)を有する。ばね82は、軸穴91の内側に挿通して設けられる。ばね82の上端は、支持部83と係合する。ばね82は、クランプ軸81を上方に常時付勢する。
【0029】
主軸9は、工具3を装着可能である。工具3はホルダ14及び刃具4を有する。ホルダ14の一端部は、刃具4を保持する、ホルダ14の他端部は、装着部15、プルスタッド17を有する。装着部15は、ホルダ14の他端に向けて縮径する円錐状である。プルスタッド17は、装着部15の頂上部からホルダ14の他端に向けて突出する。装着部15は、装着穴92に装着される。
【0030】
クランプ軸81がばね82の弾性力に抗して下方に移動すると、把持部85は摺動穴94から空間93に出る。把持部85は、ホルダ14のプルスタッド17の把持を解除する。クランプ軸81が下方に移動した状態からばね82の弾性力により上方に移動すると、把持部85は空間93から摺動穴94に移動する。把持部85は、複数の鋼球によりプルスタッド17を把持する。
【0031】
<工具交換装置20の構造>
図2に示すように、工具交換装置20は、主軸ヘッド7の前方に設けられる。工具交換装置20は、タレット式である。工具交換装置20は、工具マガジン21、複数のグリップアーム23、マガジンモータ55を有する。工具マガジン21は、略円盤状である。工具マガジン21は、前下方に延びる支軸25を中心に回転可能に支持される。夫々のグリップアーム23は、工具マガジン21の外周に所定間隔ごとに設けられる。複数のグリップアーム23は、工具マガジン21の前後方向に揺動可能に設けられる。グリップアーム23の先端部は、工具3のホルダ14を着脱可能に把持する。マガジンモータ55の出力軸は、支軸25と連結する。工具マガジン21は、マガジンモータ55の駆動により、支軸25を中心に正逆回転される。
【0032】
<工具3の着脱、交換動作>
図3に示すように、主軸9の装着穴92にホルダ14の装着部15を装着した状態で、数値制御装置30の制御指令に基づき、Z軸モータ51が正方向に回転する。ボールねじ41が軸周りに回転し、主軸ヘッド7及び主軸9はテーブル13の加工原点から上昇する。加工原点は、機械原点であり、被削材を加工可能な最上端位置である。
【0033】
主軸ヘッド7及び主軸9が上昇すると、カムフォロア49はクランクレバー45の板カム47に接触し、板カム47のカム面を摺動する。クランクレバー45は、コイルバネ48の弾性力に抗して、右側面視で支軸46を中心に反時計回りに回転する。クランクレバー45の前端は、ピン95に上方から係合し、クランプ軸81を下方に押圧する。クランプ軸81は、ばね82の弾性力に抗して把持部85を下方に付勢する。把持部85はプルスタッド17の把持を解除する。
【0034】
主軸9はATC原点まで更に上昇する。ATC原点は、主軸9の位置であり、加工原点よりも上方にある。主軸9がATC原点に位置する場合、工具マガジン21は回転可能である。
【0035】
主軸9が上昇すると、工具3は主軸9の装着穴92から脱離する。主軸9から脱離した工具3を、第一工具と称す。工具交換装置20の複数のグリップアーム23のうち、工具交換位置にある一のグリップアーム23(以下、第一グリップアームと称す。)は、主軸9から脱離した第一工具を把持する。工具交換位置は、工具マガジン21の最下方位置であり、且つ主軸9に近接して対向する位置である。
【0036】
主軸ヘッド7がATC原点に到達すると、工具交換装置20は数値制御装置30の制御指令に基づき、マガジンモータ55の駆動により工具マガジン21を回転させる。工具交換装置20は、NCプログラムの制御コマンドが指定する刃具4を保持する工具3(以下、第二工具と称す。)を工具交換位置に割り出す。このとき、工具マガジン21は第一工具が工具交換位置にある状態から、第二工具が工具交換位置にある状態まで回転する。工具マガジン21は第一工具を第一グリップアームにより把持し、且つ第二工具を他のグリップアーム23(以下、第二グリップアームと称す。)に把持した状態で回転する。工具交換位置に割り出した第二工具はATC原点に移動した主軸ヘッド7の下方に位置する。
【0037】
次いで、数値制御装置30の制御指令に基づき、Z軸モータ51が逆方向に回転する。ボールねじ41が軸周りに逆回転し、主軸9はATC原点から下降する。第二工具の装着部15が主軸9の装着穴92に進入する。
【0038】
装着穴92に装着部15が挿入した状態で、主軸9及び主軸ヘッド7は更に下降する。カムフォロア49は、板カム47のカム面を摺動した後、板カム47から離れる。クランクレバー45は、コイルバネ48の弾性力により、右側面視で支軸46を中心に時計回りに回転する。クランクレバー45の前端は、ピン95から離れ、クランプ軸81の下方への押圧を解除する。クランプ軸81は、把持部85の下方への付勢を解除する。把持部85は、空間93から摺動穴94に移動する。把持部85は、第二工具のプルスタッド17を複数の鋼球により把持して、引っ張り上げる。工具交換装置20の第二グリップアームは、第二工具のホルダ14の把持を解除する。主軸9の装着穴92に装着部15の装着が完了し、主軸9に対する第二工具の装着が完了する。主軸9に対して工具3が装着されるときのクランプ軸81、クランクレバー45の動作を、装着動作と称す。主軸9から工具3が脱離されるときのクランプ軸81、クランクレバー45の動作を、脱離動作と称す。装着動作においてZ軸モータ51の回転で駆動する主軸ヘッド7、クランクレバー45等を、装着機構と称す。
【0039】
<数値制御装置30と工作機械1の電気的構成>
図4に示すように、数値制御装置30は、CPU31、ROM32、RAM33、記憶装置34、入出力インタフェイス35、駆動回路61~65を有する。CPU31は、数値制御装置30を統括制御する。ROM32は、各種プログラムを記憶する。RAM33は、処理実行中の各種データを記憶する。
【0040】
記憶装置34は、不揮発性メモリであり、NCプログラム等を記憶する。NCプログラムは複数のブロックで構成される。各ブロックは、工具交換指令等の少なくとも一つの指令を含む。
【0041】
入出力インタフェイス35は、駆動回路61~65、エンコーダ71~75、入力部37、表示部38と電気的に接続し、各種信号の入出力を行う。入力部37及び表示部38は、工作機械1の操作盤36に設けられる。操作盤36は、工作機械1を覆うカバー(図示略)の外壁に設けられる。入力部37は、各種情報、操作指示等の入力を受け付け、入出力インタフェイス35を介して、CPU31に入力する。表示部38は、入出力インタフェイス35を介してCPU31から入力される指令に基づき、各種画面、異常情報等を表示する。
【0042】
駆動回路61は、Z軸モータ51に電気的に接続する。駆動回路62は、主軸モータ52に電気的に接続する。駆動回路63は、X軸モータ53に電気的に接続する。駆動回路64は、Y軸モータ54に電気的に接続する。駆動回路65は、マガジンモータ55に電気的に接続する。駆動回路61、62、63、64、65は、入出力インタフェイス35を介してCPU31から入力される指令に基づき、Z軸モータ51、主軸モータ52、X軸モータ53、Y軸モータ54、マガジンモータ55に駆動電流を出力する。Z軸モータ51、主軸モータ52、X軸モータ53、Y軸モータ54、マガジンモータ55は、入力された駆動電流に応じて回転するサーボモータである。駆動回路61、62、63、64、65は、戻り値として駆動電流を入出力インタフェイス35に出力する。
【0043】
Z軸モータ51はエンコーダ71を備える。主軸モータ52はエンコーダ72を備える。X軸モータ53はエンコーダ73を備える。Y軸モータ54はエンコーダ74を備える。マガジンモータ55はエンコーダ75を備える。エンコーダ71、72、73、74、75は、絶対値エンコーダであり、Z軸モータ51、主軸モータ52、X軸モータ53、Y軸モータ54、マガジンモータ55の回転角度を夫々検出する。エンコーダ71、72、73、74、75は、検出した回転角度を入出力インタフェイス35に入力する。CPU31は、エンコーダ71が検出したZ軸モータ51の回転角度を取得することで、Z軸モータ51と連結するボールねじ41の回転角度を推定し、ボールねじ41の回転により移動する主軸9のZ軸方向の位置を算出する。
【0044】
<装着動作における外乱力及び外乱力の微分値の変動>
図5(A)は、装着動作におけるZ軸モータ51の回転角度(横軸)とZ軸モータ51に加わる外乱力(縦軸)との関係を示すグラフである。図5(A)には、工作機械1の振動等による影響を除くため、工作機械1の固有振動を除去するローパスフィルタによる処理を施してある。装着動作において、Z軸モータ51の回転角度は負方向に変化する。
【0045】
Z軸モータ51に加わる外乱力は、Z軸モータ51の駆動に対する反力としてZ軸モータ51に作用する力である。外乱力は、Z軸モータ51のトルクに含まれ、以下の数1の関係を満たす。
【数1】
数1において、TはZ軸モータ51のトルク(Nm)を示す。FはZ軸モータ51に加わる外乱力(Nm)を示す。θはZ軸モータ51の回転角度(rad)を示す。「θ(上付き一つドット)」は、回転角度θの一階時間微分(角速度(rad/s))を示す。「θ(上付き二つドット)」は、回転角度θの二階時間微分(角加速度(rad/s))を示す。J(kg・m)はZ軸モータ51に関する慣性モーメントを示す。右辺第二項は慣性力を示す。DはZ軸モータ51に関する粘性係数(Nm/(rad/s))を示す。右辺第三項は粘性力を示す。kはZ軸モータ51に関するクーロン摩擦に関する係数(Nm)を示す。右辺第四項はクーロン摩擦力を示す。慣性モーメントJ、粘性係数D、係数kの大きさはZ軸モータ51の動作に伴い回転するZ軸モータ51内部のロータ部分(図示略)、ボールねじ41、Z軸モータ51の動作に伴い上下に移動するナット44、主軸ヘッド7等に依るが、詳細は割愛する。
【0046】
CPU31は、Z軸モータ51の駆動電流を駆動回路61から取得し、Z軸モータ51の回転角度θをエンコーダ71から取得することで、Z軸モータ51のトルクTを取得する。そして、CPU31は、Z軸モータ51のトルクT、回転角度θに基づき、外乱力Fを取得する。
【0047】
CPU31は、Z軸モータ51の回転角度θをエンコーダ71から取得する。CPU31は、取得した回転角度θ及びボールねじ41のリードに基づき、主軸9のZ軸方向の位置を算出する。
【0048】
図5(B)は、装着動作におけるZ軸モータ51の回転角度θ(横軸)と外乱力Fの時間微分値(以下、微分値fと称す。)(縦軸)との関係を示すグラフである。図5(B)において、装着動作における微分値fが最小となる場合のZ軸モータ51の回転角度θを、ピーク角度φと称す。装着動作において微分値fが最小となる(即ち、回転角度θがピーク角度φとなる)タイミングは、板カム47がカムフォロア49から離隔するタイミングである。なお、装着動作の間、Z軸モータ51の角速度は一定であるものとする。このように、装着動作において変動する微分値fは、装着動作の特徴を示す特徴量である。
【0049】
<回転角度θ及び外乱力Fの補間>
数値制御装置30のCPU31は、ピーク角度φを決定する際、ピーク角度φをより精度よく決定するために、取得した回転角度θ及び外乱力Fを補間する。
【0050】
図6を参照し、回転角度θ及び外乱力Fの補間について説明する。図6(A)は、取得した回転角度θ(横軸)と外乱力F(縦軸)との関係を示すグラフである。CPU31が回転角度θ(1)、θ(5)、θ(9)、及び外乱力F(1)、F(5)、F(9)を連続して取得した場合を例示する。外乱力F(1)、F(5)、F(9)は、夫々、回転角度θ(1)、θ(5)、θ(9)に対応する。
【0051】
図6(B)に示すように、CPU31は、連続して取得した回転角度θと外乱力Fとの組み合わせ(θ(1),F(1))と(θ(5),F(5))の間を直線で連結する。CPU31は、連結した直線上の複数の点であって横軸方向に等時間間隔に配置した複数の点を決定する。CPU31は、該複数の点の各々の横軸の座標を、回転角度θ(2)、θ(3)、θ(4)として決定する。CPU31は、該複数の点の各々の縦軸の座標を、外乱力F(2)、F(3)、F(4)として決定する。
【0052】
CPU31は同様の方法で、連続して取得した回転角度θと外乱力Fとの組み合わせ(θ(5),F(5))と(θ(9),F(9))に基づき、回転角度θ(6)、θ(7)、θ(8)、及び外乱力F(6)、F(7)、F(8)を決定する。以下、取得した回転角度θ(1)、θ(5)、θ(9)及び決定した回転角度θ(2)~θ(4)、θ(6)~θ(8)を、補間角度と総称する。取得した外乱力F(1)、F(5)、F(9)及び決定した外乱力F(2)~F(4)、F(6)~F(8)を、補間外乱力と総称する。以下では特に断りがない限り、回転角度と補間角度とを同じ符号(θ)を付し、同一に取り扱う。外乱力と補間外乱力とを同じ符号(F)を付し、同一に取り扱う。
【0053】
CPU31は、以上のように生成した補間外乱力Fに対してローパスフィルタをかけた後時間微分して微分値fを算出する。CPU31は、算出した微分値fと、補間角度θとを対応付けてRAM33に記憶する。CPU31は、RAM33に記憶された微分値fの変動からピーク角度φを決定する。CPU31は、装着動作を実行する度に、決定したピーク角度φと工具3の装着回数とを対応付けて、記憶装置34に順次記憶する。
【0054】
<ボールねじ41の伸縮>
主軸9をZ軸方向に移動させるZ軸移動機構8のボールねじ41は、Z軸モータ51の発熱、ナット44との摩擦熱により加熱される。また、ボールねじ41は、外気との温度差により放熱される。このため、ボールねじ41は、外部からの加熱、及び外部への放熱により温度が変化する。温度変化が生じると、ボールねじ41は、特に長手方向であるZ軸方向に伸縮する。
【0055】
ボールねじ41が伸縮すると、板カム47がカムフォロア49から離隔するタイミングが、ボールねじ41の伸縮量Lに応じて変化する。即ち、伸縮量Lに応じてピーク角度φが変化する。数値制御装置30は、工具交換装置20による工具交換の際に、ピーク角度φの変化に基づきボールねじ41の伸縮量Lを特定する。
【0056】
より詳細に、数値制御装置30は、Z軸モータ51の回転角度θ、及びZ軸モータ51に加わる外乱力Fを0.5ms周期で取得する(工程P1)。ここで、0.5msは、数値制御装置30における制御周期のうちで最も短い時間である。
【0057】
CPU31は、取得した回転角度θ及び外乱力Fを補間して補間角度θ及び補間外乱力Fを生成する(工程P2)。CPU31は、補間外乱力Fにローパスフィルタによる処理を施す(工程P3)。CPU31は、補間外乱力Fを時間微分し、微分値fを算出する(工程P4)。CPU31は、算出した微分値fと補間角度θとを対応付けてRAM33に記憶する(工程P5)。CPU31は、装着動作が完了するまで工程P1~工程P5を繰り返し実行する。本実施形態において、装着動作の完了のタイミングは、ATC原点から下降する主軸9が加工原点に到達したタイミングである。
【0058】
CPU31は、RAM33に記憶された微分値fに基づき、ピーク角度φを決定する(工程P6)。CPU31は、決定したピーク角度φをRAM33に記憶する(工程P7)。工作機械1の電源投入後、1回目に行われた装着動作におけるピーク角度φを、初回ピーク角度と称す。工作機械1の電源投入後、n(nは2以上の整数)回目に行われた装着動作におけるピーク角度を、φと称す。CPU31は、以下の数2に示すように、初回ピーク角度φと、2回目以降に決定したピーク角度φと、の差分ρを算出する(工程P8)。
[数2]
ρ=φ-φ
【0059】
ピーク角度φから、板カム47がカムフォロア49から離隔するタイミングでの主軸9の位置が算出される。φは1回目に行われた装着動作での板カム47がカムフォロア49から離隔するタイミングでの主軸9の位置を示す。φはn回目に行われた装着動作での板カム47がカムフォロア49から離隔するタイミングでの主軸9の位置を示す。即ち、差分ρは、同じタイミングでの1回目の主軸9の位置からn回目の主軸9の位置までの変化量を示す。
【0060】
CPU31は、装着動作を実行する度に、算出した差分ρを工具3ごとに対応付けて、記憶装置34に記憶する(工程P9)。CPU31は、工具3ごとに記憶された差分ρの平均を算出する。CPU31は、算出した差分ρの平均(rad)に基づき主軸9の位置の変化量(m)を算出する。CPU31は、算出した主軸9の位置の変化量をボールねじ41の伸縮量Lとして特定する(工程P10)。
【0061】
また、CPU31は、ピーク角度φに基づき、装着動作における異常を判定する。装着動作における異常は、例えば主軸9と工具3との間で生じる切粉噛み込みである。切粉噛み込みが生じた場合、n回目に決定されたピーク角度φがn-1回目に決定されたピーク角度φn-1に対して所定の閾値Δφmaxよりも大きく変化する。CPU31は、以下の数3に示すように、n回目に決定したピーク角度φと、n-1回目ピーク角度のφn-1との差分Δφを算出する(工程P11)。CPU31は、差分Δφが閾値Δφmaxよりも大きい場合、装着動作において異常が発生したと判定する(工程P12)。
[数3]
Δφ=φ-φn-1
【0062】
<工具交換処理>
図7図8を参照し、数値制御装置30のCPU31が実行する工具交換処理を説明する。工具交換処理において、CPU31は、工具交換装置20による工具3の交換、及びボールねじ41の伸縮量Lの特定を行う。作業者は、入力部37を操作する。入力部37は、作業者の操作に応じてCPU31に工具交換指令を送信する。CPU31は、工具交換指令を受信した場合、ROM32に記憶された制御プログラムを読み出し、実行することにより工具交換処理を開始する。工具交換処理が開始される際、主軸9は加工原点に位置する。工具交換処理において用いられる変数jは、1以上の整数であり、工具交換を実行した回数を示す。変数jは、RAM33に記憶され、工作機械1の電源投入後において値が1に設定される。
【0063】
図7に示すように、CPU31は、Z軸モータ51を正方向に回転し、主軸9の上昇を開始する(S1)。CPU31は、エンコーダ71が検出するZ軸モータ51の回転角度θに基づき、主軸9がATC原点に到達したか否かを判定する(S2)。
【0064】
CPU31は、主軸9がATC原点に到達していないと判定した場合(S2:NO)、処理をS2に戻す。CPU31は、主軸9がATC原点に到達したと判定した場合(S2:YES)、Z軸モータ51の回転を停止し、主軸9の上昇を停止する(S3)。
【0065】
CPU31は、工具交換により主軸9に対して装着する工具3(第二工具)を示す工具情報を取得する(S4)。CPU31は、マガジンモータ55を駆動して工具マガジン21を回転し、第二工具を把持するグリップアーム23を工具交換位置に割り出す(S5)。
【0066】
CPU31は、Z軸モータ51を逆方向に回転し、主軸9の下降を開始する(S6)。CPU31は、Z軸モータ51の回転角度θ及び外乱力Fの取得を開始する(S7)。S7の処理は、工程P1に対応する。CPU31は、S7の処理を実行後、0.5ms周期ごとにZ軸モータ51の回転角度θ及び外乱力Fを取得する。
【0067】
CPU31は、S7の処理で開始したZ軸モータ51の回転角度θ及び外乱力Fを取得したか否かを判定する(S8)。CPU31は、回転角度θ及び外乱力Fを取得していないと判定した場合(S8:NO)、処理をS8に戻す。CPU31は、S7の処理で回転角度θ及び外乱力Fを取得したと判定した場合(S8:YES)、取得した回転角度θに基づき、主軸9が加工原点に到達したか否かを判定する(S9)。
【0068】
CPU31は、主軸9が加工原点に到達していないと判定した場合(S9:NO)、S7の処理で取得したZ軸モータ51の回転角度θ及び外乱力Fを補間し、補間角度θ及び補間外乱力Fを生成する(S10)。S10の処理は、工程P2に対応する。CPU31は、S10の処理で生成した補間角度θ及び補間外乱力Fにローパスフィルタによる処理を施す(S11)。S11の処理は、工程P3に対応する。
【0069】
CPU31は、微分処理を実行し、補間外乱力Fを時間微分して、微分値fを算出する(S12)。S12の処理は、工程P4に対応する。CPU31は、補間角度θと微分値fとを対応付けてRAM33に記憶する(S13)。S13の処理は、工程P5に対応する。CPU31は、処理をS8に戻す。
【0070】
CPU31は、主軸9が加工原点に到達したと判定した場合(S9:YES)、S7の処理で開始したZ軸モータ51の回転角度θ及び外乱力Fの取得を停止する(S14)。CPU31は、Z軸モータ51のZ軸モータ51の回転を停止し、主軸9の下降を停止する(S15)。
【0071】
CPU31は、RAM33に記憶された微分値fのうち、最小を示す微分値fに対応する補間角度θをピーク角度φとして決定する(S16)。S16の処理は、工程P6に対応する。CPU31は、ピーク角度φをRAM33に記憶する(S17)。CPU31は、処理をS21(図8参照)に移行する。
【0072】
図8に示すように、CPU31は、実行中の工具交換処理が工作機械1の電源投入後1回目の処理であるか否かを判定する(S21)。CPU31は、S21の処理において、RAM33に記憶された変数jの値に基づき判定する。
【0073】
CPU31は、変数jの値が1であり、実行中の工具交換処理が工作機械1の電源投入後1回目の処理であると判定した場合(S21:YES)、S16で決定したピーク角度φを初回ピーク角度φとして決定し、RAM33に記憶する(S22)。S22の処理は、工程P7に対応する。CPU31は、変数jの値に1加算し(S23)、工具交換処理を終了する。
【0074】
CPU31は、変数jの値が2以上であり、実行中の工具交換処理が工作機械1の電源投入後1回目の処理でないと判定した場合(S21:NO)、差分Δφを算出する(S24)。CPU31は、S24の処理において、実行中の工具交換処理においてS16で決定したピーク角度φ、及び前回の工具交換処理のS16で決定し、S17で記憶したピーク角度φj-1に基づき、数3により差分Δφを算出する。S24の処理は、工程P11に対応する。CPU31は、S24で算出した差分Δφが閾値Δφmax以下であるか否かを判定する(S25)。S25の処理は、工程P12に対応する。
【0075】
CPU31は、差分Δφが閾値Δφmax以下であると判定した場合(S25:YES)、装着動作において異常が発生していないとして、差分ρを算出する(S26)。S26の処理は、工程P8に対応する。CPU31は、S26において、S16で決定したピーク角度φ、及びS22で記憶した初回ピーク角度φに基づき、数2により差分ρを算出する。CPU31は、S26で算出した差分ρと、S4(図7参照)で取得した第二工具とを対応付けて、記憶装置34に記憶する(S27)。S27の処理は、工程P9に対応する。
【0076】
CPU31は、S27の処理で工具3ごとに記憶した差分ρの平均を算出する(S28)。CPU31は、S28の処理で算出した差分ρの平均に基づき、ボールねじ41の伸縮量Lを特定する(S29)。S29の処理は、工程P10に対応する。CPU31は、変数jの値に1加算し(S23)、工具交換処理を終了する。
【0077】
CPU31は、差分Δφが閾値Δφmaxよりも大きいと判定した場合(S25:NO)、装着動作において異常が発生したとして報知処理を実行する(S30)。CPU31は、S30の処理において報知処理として、表示部38に装着動作において異常が発生した旨を表示する。CPU31は、工具交換処理を終了する。
【0078】
<本実施形態の作用、効果>
以上説明したように、ボールねじ41は、外部からの加熱、及び外部への放熱により温度が変化する。温度変化が生じると、Z軸方向においてボールねじ41は伸縮する。ボールねじ41が伸縮すると、回転角度θから算出される主軸9のZ軸方向の位置と、実際の主軸9のZ軸方向の位置とが一致しなくなる。この状態で工具3を用いた被削材の加工が行われると、被削材の加工精度が低下する虞がある。
【0079】
数値制御装置30のCPU31は、工具3の装着動作におけるZ軸モータ51の外乱力F及び回転角度θを0.5ms周期で取得する(P1、S7)。外乱力FはZ軸モータ51のトルクTに含まれ、CPU31はトルクTを取得することで外乱力Fを取得する。CPU31は、時系列で変動する外乱力Fの微分値f及び回転角度θに基づき、回転角度θからピーク角度φを決定する(P6、S16)。CPU31は、決定したピーク角度φ、及びRAM33に記憶された初回ピーク角度φに基づき、差分ρを算出する。CPU31は、工具3ごとに差分ρを記憶し、差分ρの平均に基づき、ボールねじ41の伸縮量Lを特定する(P10、S29)。
【0080】
このように、数値制御装置30は、Z軸モータ51の外乱力F(トルクT)を制御するための構成により、伸縮量Lを特定する。これにより、数値制御装置30は、伸縮量Lを特定するためのセンサを別途設けることなく、伸縮量Lを特定できる。数値制御装置30は、特定した伸縮量Lに基づき回転角度θを補正することで、回転角度θから算出される主軸9のZ軸方向の位置と実際の主軸9のZ軸方向の位置とのずれを抑制できる。
【0081】
CPU31は、微分処理を実行し、外乱力Fを時間微分して、特徴量である微分値fを算出する(P4、S12)。CPU31は、微分値f及び回転角度θに基づきピーク角度φを決定する(P6、S16)。板カム47がカムフォロア49から離隔するタイミングにおける回転角度θであるピーク角度φにおいて、微分値fの変動は、トルクTの変動と比較してより顕著に変化する。よって、数値制御装置30は、ピーク角度φを精度よく決定できる。
【0082】
CPU31は、微分値fのうち、最小を示す微分値fに対応する回転角度θをピーク角度φとして決定する(P6、S16)。これにより、数値制御装置30は、微分値fの変動から簡単にピーク角度φを決定できる。
【0083】
CPU31はトルクT及び回転角度θを取得することで、トルクTに含まれる外乱力Fを取得する。CPU31は、微分処理を実行し、外乱力Fを時間微分して、微分値fを算出する。CPU31は、微分値fのうち、最小を示す微分値fに対応する回転角度θをピーク角度φとして決定する。数1に示すように、トルクTには、外乱力Fの他に慣性力等が含まれる。数値制御装置30は、トルクTに含まれる外乱力Fを取得し、外乱力Fを時間微分した微分値fに基づきピーク角度φを決定するので、Z軸モータ51の加減速によるトルクTの変化の影響をなくし、伸縮量Lを精度よく特定できる。
【0084】
CPU31は、取得した回転角度θ及び外乱力Fを補間し、補間角度θ及び補間外乱力Fを生成する(P2、S10)。CPU31は、微分処理を実行し、補間外乱力Fを時間微分して、微分値fを算出する(P4、S12)。CPU31は、微分値fのうち、最小を示す微分値fに対応する回転角度θをピーク角度φとして決定する。ピーク角度φの分解能は、回転角度θ及び外乱力Fの取得周期(0.5ms)に依存する。回転角度θ及び外乱力Fが補間されることで、取得周期を短くすることなく、実際に板カム47がカムフォロア49から離隔するタイミングにおける回転角度θに対して工程P6(S16の処理)で決定されるピーク角度φをより近似できる。よって、数値制御装置30は、伸縮量Lが僅かである場合にも、精度よく伸縮量Lを特定できる。
【0085】
CPU31は、工作機械1の電源投入後1回目に行われた装着動作において決定したピーク角度φを初回ピーク角度φとして決定し、RAM33に記憶する(P7、S22)。CPU31は、電源投入後二回目以降に決定したピーク角度φ、及び初回ピーク角度φに基づき、差分ρを算出する。CPU31は、差分ρに基づき伸縮量Lを特定する。これにより、数値制御装置30は、電源投入後の状態からのボールねじ41の伸縮量Lを特定できる。
【0086】
CPU31は、実行中の工具交換処理において決定したピーク角度φ、及び前回の工具交換処理で決定したピーク角度φj-1に基づき、差分Δφを算出する。CPU31は、差分Δφが閾値Δφmax以下であるか否かを判定する(P12、S25)。装着動作における異常として、例えば装着動作において主軸9と工具3の間で切粉の噛み込みが生じた場合、前回の工具交換処理で決定されたピーク角度φj-1に対して今回決定されたピーク角度φが閾値Δφmaxよりも大きくなる。よって、数値制御装置30は、工程P12(S25の処理)を行うことで、装着動作における異常を判定できる。
【0087】
CPU31は、差分ρを算出し、記憶装置34に記憶する(P9、S27)。CPU31は、記憶装置34に記憶した差分ρの平均を算出する。CPU31は、算出した平均に基づき、ボールねじ41の伸縮量Lを特定する。これにより、数値制御装置30は、装着動作のばらつきによるピーク角度φの決定の際の誤差を小さくできる。よって、数値制御装置30は、特定した伸縮量Lと、実際のボールねじ41の伸縮量との誤差を小さくできる。
【0088】
CPU31は、算出した差分ρと、第二工具とを対応付けて、記憶装置34に記憶する。CPU31は、工具3ごとに記憶した差分ρの平均を算出する。CPU31は、算出した平均に基づき、伸縮量Lを特定する。これにより、数値制御装置30は、工具3ごとで差分ρにばらつきがある場合にも、差分ρの平均に基づき、伸縮量Lを特定することで、差分ρのばらつきによる伸縮量Lの特定の精度への影響を抑制できる。よって、数値制御装置30は、伸縮量Lを精度よく特定できる。
【0089】
<変形例>
本発明は上記実施形態から種々変更できる。以下説明する各種変形例は、矛盾が生じない限り夫々組み合わせ可能である。例えば、数値制御装置30は工作機械1に設けられる場合に限らず、工作機械1とは別体に設けられてもよい。例えば数値制御装置30は、工作機械1に接続した装置(PC、専用機等)でもよい。工具交換装置20は、タレット式に限らず、例えばアーム式でもよい。
【0090】
数値制御装置30は、脱離動作におけるモータの外乱力Fを取得してもよい。図示はしないが、脱離動作において回転角度θは正方向に変化するので、脱離動作における外乱力Fの微分値fは、図5(B)に示す装着動作における微分値fと正負が逆になる。脱離動作における微分値fが最大となるタイミングは、板カム47がカムフォロア49に接触するタイミングである。数値制御装置30のCPU31は、脱離動作における微分値fが最大を示す微分値fに対応する回転角度θをピーク角度φとして決定する。CPU31は、装着動作と同様に、決定したピーク角度φ、及びRAM33に記憶された初回ピーク角度φに基づき、差分ρを算出する。CPU31は、差分ρの平均に基づき、ボールねじ41の伸縮量Lを特定する(P10、S29)。このように、数値制御装置30は、脱離動作における外乱力Fの変動からも伸縮量Lを特定できる。
【0091】
数値制御装置30は、脱離動作における外乱力Fの変動から伸縮量Lを特定した場合、脱離動作における異常を差分Δφにより判定してもよい。脱離動作における異常として、例えば主軸9のクランプ軸81が正常にZ軸方向に移動せず、把持部85が主軸9に対する工具3の脱離を正常に行えない場合がある。この場合、前回の工具交換処理で決定されたピーク角度φj-1に対して今回決定されたピーク角度φが過剰に大きくなる。よって、数値制御装置30は、差分Δφの大きさに基づき、脱離動作における異常を判定できる。
【0092】
数値制御装置30は、外乱力Fではなく、S7の処理で取得を開始したトルクTの変動に基づき、伸縮量Lを特定してもよい。CPU31は、トルクTの変動に基づく場合も外乱力Fの変動に基づく場合と同様に、トルクTを時間微分する。CPU31は、トルクTの微分値のうち、最小を示すトルクTの微分値に対応する回転角度θをピーク角度φとして決定する。CPU31は、決定したピーク角度φ、及びRAM33に記憶された初回ピーク角度φの差分ρに基づき、ボールねじ41の伸縮量Lを特定する。このように、数値制御装置30は、トルクTの変動に基づき、伸縮量Lを特定できる。
【0093】
数値制御装置30は、Z軸モータ51の回転角度θに基づき算出される主軸9のZ軸方向の位置に基づき、伸縮量Lを特定してもよい。この場合、CPU31は、最小を示す微分値fに対応する主軸9のZ軸方向の位置をピーク位置として、伸縮量Lを特定する。
【0094】
上記実施形態において、数値制御装置30は、外乱力Fの取得方法を適宜変形してもよい。例えば、数値制御装置30は、数1に代わり、トルクTと慣性力の差分を外乱力Fとして取得してもよい。
【0095】
数値制御装置30は、回転角度θ及び外乱力Fの補間を行わなくてもよい。この場合、工程P2(S10の処理)を省略してもよい。数値制御装置30は、伸縮量Lの特定の工程(処理)を簡略化できる。
【0096】
上記実施形態において、数値制御装置30は、複数の回転角度θと外乱力Fとの組み合わせを直線で連結することで(線形近似)回転角度θと外乱力Fを補間したが、この方法に限定されない。数値制御装置30は、例えば、回転角度θ及び外乱力Fをスプラインによる曲線近似で補間してもよい。数値制御装置30は、最小二乗法により線形近似した近似直線に基づき、回転角度θ及び外乱力Fを補間してもよい。
【0097】
数値制御装置30は、初回ピーク角度φを基準として伸縮量Lとして特定しなくてもよい。この場合、記憶装置34が基準ピーク角度を工具交換処理の前に予め記憶し、数値制御装置30は工具交換処理で決定したピーク角度φ、及び記憶装置34に記憶された基準ピーク角度の差分に基づき、ボールねじ41の伸縮量Lを特定する。
【0098】
数値制御装置30は、電源投入後1回目の工具交換処理で決定されたピーク角度φを初回ピーク角度φとして決定しなくてもよい。数値制御装置30は、例えば、被削材を加工するためのNCプログラムの実行後1回目の工具交換処理で決定されたピーク角度φを初回ピーク角度φとして決定してもよい。
【0099】
数値制御装置30は、装着動作における異常を判定しなくてもよい。この場合、工程P11(S24の処理)及び工程P12(S25の処理)を省略してもよい。数値制御装置30は、伸縮量Lの特定の工程(処理)を簡略化できる。
【0100】
数値制御装置30は、j回目の差分ρからj-1回目の差分ρを差し引いた差分に基づき、装着動作における異常を判定してもよい。この場合も、数値制御装置30は、装着動作における異常を判定できる。
【0101】
上記実施形態において、数値制御装置30は、決定したピーク角度φと初回ピーク角度φの差分ρを算出し、其の平均に基づき、ボールねじ41の伸縮量Lを特定したが、これに限定されない。数値制御装置30は、例えば、差分ρから算出する主軸9の位置の変化量を伸縮量Lとして特定してもよい。数値制御装置30は、差分ρの中央値に基づき、ボールねじ41の伸縮量Lを特定してもよい。数値制御装置30は、差分ρの代わりに、差分ρから算出する主軸9の位置の変化量を記憶装置34に記憶してもよい。この場合、当該変化量の平均を伸縮量Lとして特定してもよい。
【0102】
数値制御装置30は、差分ρを記憶装置34に記憶する際、工具3ごとに対応付けなくてもよい。
【0103】
数値制御装置30は、補間角度θ及び補間外乱力Fにローパスフィルタによる処理を施さなくてもよい。この場合、工程P3(S11の処理)を省略してもよい。数値制御装置30は、伸縮量Lの特定の工程(処理)を簡略化できる。数値制御装置30は、補間角度θ及び補間外乱力Fにハイパスフィルタ、バンドパスフィルタによる処理を施してもよい。
【0104】
数値制御装置30は、工具3の工具交換において生じる外乱力F以外の外乱力Fを使って伸縮量Lを特定しても良い。例えば、X軸モータ53を回転させてテーブル13をモータの反対側に移動させ、ストローク端に押し当てることで生じる外乱力Fによって伸縮量Lを特定しても良い。
【0105】
Z軸移動機構8の構成は適宜変更してもよい。Z軸移動機構8は、ボールねじ41の代わりに、Z軸モータ51の回転によって主軸9を移動する構成を有してもよい。Z軸移動機構8は、ボールねじ41に代わり、例えばZ軸方向に延びるすべりねじ、Z軸方向に歯が形成されたスプライン軸を有してもよい。この場合、すべりねじ、スプライン軸は、本発明の「送り軸」の一例である。
【0106】
上記実施形態において、トルクTに含まれる外乱力Fの微分値fを特徴量として、ピーク角度φが決定されたが、ピーク角度φを決定するための特徴量は適宜変更してもよい。数値制御装置30は、例えば外乱力Fを微分せず、時間により変動する外乱力F(トルクT)を特徴量としてピーク角度φを決定してもよい。この場合、数値制御装置30は、外乱力Fのうち、最大又は最小の何れか一方を示す外乱力Fに対応する回転角度θをピーク角度φとして決定してもよい。
【0107】
数値制御装置30は、時間により変動するトルクTを特徴量としてピーク角度φを決定してもよい。この場合、数値制御装置30は、トルクTのうち、最大又は最小の何れか一方を示すトルクTに対応する回転角度θをピーク角度φとして決定してもよい。
【0108】
数値制御装置30は、外乱力F(トルクT)を二乗した値、外乱力F(トルクT)を二階微分した値、所定時間内の外乱力F(トルクT)を平均した値等を特徴量としてピーク角度φを決定してもよい。
【0109】
数値制御装置30は、装着動作において、最小を示す微分値fに対応する回転角度θをピーク角度φとしなくてもよい。数値制御装置30は、装着動作において、最大を示す微分値fに対応する回転角度θをピーク角度φとしてもよい。数値制御装置30は、脱離動作において、最大を示す微分値fに対応する回転角度θをピーク角度φとしなくてもよい。数値制御装置30は、脱離動作において、最小を示す微分値fに対応する回転角度θをピーク角度φとしてもよい。
【0110】
数値制御装置30は、微分値fのうち最大又は最小の何れか一方を示す微分値fに対応する回転角度θをピーク角度φとして決定しなくてもよい。数値制御装置30は、例えば最小を示す微分値fに対応する回転角度θから所定の角度θだけずれた回転角度(θ―θ)をピーク角度φとして決定してもよい。数値制御装置30は、例えば最小を示す微分値fに対応する回転角度θに所定の係数βを乗算した回転角度(βθ)をピーク角度φとして決定してもよい。
【0111】
<その他>
上記実施形態において、Z軸方向は、本発明の「所定方向」の一例である。ボールねじ41は、本発明の「送り軸」の一例である。Z軸モータ51は、本発明の「モータ」の一例である。工程P1は、本発明の「取得工程」の一例である。工程P4は、本発明の「微分工程」及び「補間微分工程」の一例である。工程P6は、本発明の「決定工程」の一例である。初回ピーク角度φは、本発明の「基準特定角度」の一例である。差分ρは、本発明の「第一差分」の一例である。工程P10は、本発明の「特定工程」の一例である。微分値fは、本発明の「外乱力微分値」の一例である。工程P2は、本発明の「補間工程」の一例である。工程P7は、本発明の「基準決定工程」の一例である。Δφは、本発明の「第二差分」の一例である。工程P12は、本発明の「判定工程」の一例である。工程P9は、本発明の「記憶工程」の一例である。S7の処理を実行するCPU31は、本発明の「取得部」の一例である。S12の処理を実行するCPU31は、本発明の「微分部」の一例である。S16の処理を実行するCPU31は、本発明の「決定部」の一例である。S29の処理を実行するCPU31は、本発明の「特定部」の一例である。ピーク角度φ、φ、φは、本発明の「特定角度」の一例である。微分値fは、本発明の「特徴量」の一例である。
【符号の説明】
【0112】
1 工作機械
3 工具
9 主軸
20 工具交換装置
30 数値制御装置
31 CPU
41 ボールねじ
51 Z軸モータ
図1
図2
図3
図4
図5
図6
図7
図8