(58)【調査した分野】(Int.Cl.,DB名)
前記制御手段は、変更後の第2回転速度で前記主軸が回転するときに検出される前記振動加速度が、変更前の第2回転速度で前記主軸が回転するときに検出される前記振動加速度よりも小さい場合、前記変更後の第2回転速度と前記変更前の第2回転速度の大小関係を維持するように、前記範囲内から無作為に前記変化量を決定する
請求項7に記載の工作機械の制御装置。
【発明を実施するための形態】
【0011】
以下、この発明をその実施の形態を示す図面に基づいて具体的に説明する。なお、図中において同じ符号は、対応するまたは実質的に同一の構成を示している。
【0012】
<第1実施形態>
図1は、第1実施形態に係る工作機械100の概略構成を示す図である。
図1において、矢印は、信号の流れを示している。
図1に示すように、工作機械100は、工具主軸台110と、ワーク主軸台120と、を備えている。工具主軸台110およびワーク主軸台120は、基台130の上に配置されている。
【0013】
工具主軸台110は、工具主軸112を備えている。工具主軸112は、回転軸A1周りに回転可能である。回転軸A1は、垂直方向に実質的に平行である。工具主軸112には、切削工具CTが装着される。工具主軸台110は、基台130に取り付けられたコラム114に取り付けられている。
【0014】
ワーク主軸台120は、ワーク主軸122を備えている。ワーク主軸122は、回転軸A2周りに回転可能である。回転軸A2は、水平方向に実質的に平行である。ワーク主軸122には、ワークWが装着される。
【0015】
本実施形態では、回転軸A1と回転軸A2は、実質的に直交するが、直交しなくてもよい。また、本実施形態では、工具主軸112とワーク主軸122が回転可能であるが、工具主軸112とワーク主軸122の一方だけが回転可能であってもよい。
【0016】
コラム114は、水平方向に移動可能である。工具主軸台110は、垂直方向に移動可能である。これにより、工具主軸112は、水平方向および垂直方向に移動可能である。工具主軸台110は、コラム114に対して水平方向に実質的に直交する軸周りに回転可能であってもよい。本実施形態では、ワーク主軸台120は、ワーク主軸122を移動不能に保持している。しかし、ワーク主軸台120は、ワーク主軸122を移動可能に保持してもよい。また、工具主軸112が移動不能であり、ワーク主軸122が移動可能であってもよい。
【0017】
以下、ワークWに対して切削工具CTが回転軸A1周りに回転するミーリングを例に本実施形態を説明する。
【0018】
工作機械100は、工作機械100を制御するための制御装置1を備えている。制御装置1は、基台130に接続されている。ここで、制御装置1は、工作機械100の他の箇所に接続されてもよく、基台130とは別に設置されてもよい。 制御装置1には、操作部(操作手段)70と、ディスプレイ(表示手段)80と、が接続されている。操作部70とディスプレイ80とで、Graphical User Interfaceが実現される。ただし、制御装置1と操作部70とディスプレイ80は、一体に構成されてもよい。
【0019】
図1に示すように、制御装置1は、制御回路(制御手段)10と、振動検出回路(振動検出手段)20と、判定回路(判定手段)30と、設定回路(設定手段)40と、負荷検出回路(負荷検出手段)50と、メモリ(記憶手段)60と、を備えている。制御回路10と、振動検出回路20と、判定回路30と、設定回路40と、負荷検出回路50と、メモリ60とは、バス2を介して互いに信号を送受信可能である。本実施形態では、制御回路10と、振動検出回路20と、判定回路30と、設定回路40と、負荷検出回路50とは、別々に設けられている。しかし、これら回路は、1つの回路で構成されてもよい。また、制御装置1は、これら回路の代わりに、これら回路の動作を実現するプログラムと、そのプログラムを実行するプロセッサとを備えてもよい。なお、プログラムは、メモリ60に記憶される。
【0020】
制御回路10は、工具主軸112の回転軸A1周りの回転、および、工具主軸台110の移動、コラム114の移動を制御する。制御回路10は、工具主軸112の回転速度および回転速度の変化量を算出する演算器を有している。制御装置1は、工具主軸112、工具主軸台110、およびコラム114の制御のために、基台130と制御装置1の間のケーブル130Cを介して制御信号を送信する。制御装置1は、切削加工プログラムや操作部70が受け付けた入力操作 に従って、工作機械100を統括的に制御する。切削加工プログラムは、メモリ60に記憶されている。
【0021】
制御回路10は、乱数発生回路(乱数発生手段)10Rを含んでいる。乱数発生回路10Rは、乱数を発生させる。乱数は、工具主軸112の回転速度の変更のために、用いられる。本実施形態では、乱数発生回路10Rは、0から1までの一様乱数を発生させる。なお、一様乱数は、0および1を含んでもよいし、含まなくてもよい。乱数発生回路10Rは、線形合同法に基づいて疑似乱数を発生させる疑似乱数発生回路(疑似乱数発生器)である。疑似乱数の初期値は、時刻や熱雑音に基づく乱数である。
【0022】
ただし、乱数発生回路10Rが発生させる乱数は、一様乱数に限らない。また、乱数発生回路10Rは、他のアルゴリズム(例えばメルセンヌ・ツイスタ法)に基づいて疑似乱数を発生させてもよい。また、疑似乱数の初期値は、時刻や熱雑音に基づく乱数に限らない。さらに、乱数発生回路10Rは、疑似乱数発生回路ではなく、例えば熱雑音に基づく乱数発生回路(乱数発生器)であってもよい。
【0023】
振動検出回路20は、切削工具CTがワークWを切削するときに発生する振動の加速度を検出する。振動検出回路20は、振動センサ22と振動センサ24とに接続されている。振動センサ22は、工具主軸台110に配置されている。振動センサ24は、ワーク主軸台120に配置されている。本実施形態では、振動センサ22および振動センサ24は、加速度センサであるが、これに限らない。振動センサ22を駆動する駆動信号、振動センサ24を振動する駆動信号、振動センサ22から出力された検出信号、振動センサ24から出力された検出信号は、ケーブル130Cを介して伝送される。これら検出信号は、振動の振動加速度(m/s
2)を示す。振動検出回路20は、他の回路からの取得要求に応じて、振動センサ22および振動センサ24を駆動し、各検出信号をAD変換する。そして、振動検出回路20は、AD変換後の各振動加速度を示す信号を出力する。
【0024】
本実施形態では、2つの振動センサ22と振動センサ24が配置されたが、1つの振動センサのみが配置されてもよい。また、振動センサ22と振動センサ24は、それぞれ工具主軸台110およびワーク主軸台120以外に配置されてもよい。
【0025】
判定回路30は、工作機械100にびびり振動が発生しているか否かを判定する。具体的には、判定回路30は、検出された振動加速度A が振動閾値(m/s
2)より大きいかどうかを判定する。振動加速度Aが振動閾値より大きい場合、工作機械100にびびり振動が発生していると判定される。
【0026】
例えば、メモリ60は、振動加速度の判定用の振動閾値を記憶している。判定回路30は、論理演算器を有し、論理演算器は、メモリ60に記憶された振動閾値と、振動検出回路20から取得した振動加速度Aとを比較する。しかし、振動閾値は、操作部70が受け付けた入力操作に基づいて求められてもよい。判定回路30は、比較結果を示す信号を制御回路10へ出力する。すなわち、判定回路30は、びびり振動が発生したか否かを示す信号を制御回路10へ出力する。
【0027】
本実施形態では、2つの振動センサ22と振動センサ24が用いられている。従って、判定回路30は、振動センサ22に対応する振動加速度と振動センサ22用の振動閾値とを比較し、振動センサ24に対応する振動加速度と振動センサ24用の振動閾値とを比較する。この際、判定回路30は、少なくとも一方の振動加速度が対応する振動閾値より大きいか否かを判定してもよい。ただし、判定回路30は、振動センサ22に対応する振動加速度と、振動センサ24に対応する振動加速度とを合計して、1つの振動閾値と比較してもよい。
【0028】
また、判定回路30は、演算器を有し、演算器は、振動加速度の実効値A
RMSを算出してもよい。具体的には、判定回路30は、演算器を用いて以下の式1に基づいて、実効値A
RMSを算出する。
【0030】
例えば、判定回路30は、200msec毎に4000個の振動加速度A
1〜A
4000を振動検出回路20から取得する。そして、判定回路30は、式1で求めた実効値A
RMSと振動閾値とを比較する。このように振動加速度の実効値A
RMSを用いれば、例えば、ケーブル130Cに乗ったノイズの影響によっていくつかの振動加速度A
iが異常値となったとしても、実効値A
RMSは大多数の正常値に多くの影響を受けることから、その異常値によって誤判定することが抑制される。
【0031】
ただし、実効値A
RMSだけでなく、瞬時値、所定期間におけるピーク値、時間領域の振動加速度をフーリエ解析して周波数領域の振動加速度に変換した値も、振動加速度として用いることができる。また、所定の周波数における振動のパワースペクトルも、振動加速度に代替する値として用いることができる。
【0032】
びびり振動の発生は、振動加速度のみに限らず、工具主軸112にかかる負荷に基づいて判定されてもよい。具体的には、負荷検出回路50は、工具主軸112にかかる負荷を検出する。例えば、負荷検出回路50は、電流検出抵抗を有する。電流検出抵抗は、工具主軸112を回転軸A1周りに回転させるモータの端子に電気的に接続され、電流値を検出するために設けられる。検出された電流値は、工具主軸112にかかる負荷に対応する。そして、判定回路30は、検出された振動加速度が、検出された電流値に対応する振動閾値より大きいか否かを判定する。検出された電流値が大きい場合は重切削を行っていると判断して、振動閾値は相対的に大きく設定される。一方、検出された電流値が小さい場合は軽切削を行っていると判断して、振動閾値は相対的に小さく設定される。したがって、電流値が大きいときには正常な切削であると判定される振動加速度であっても、電流値が小さいためにびびり振動が発生していると判定される場合がある。
【0033】
なお、電流値と振動閾値との対応関係は、メモリ60に記憶されていてもよいし、操作部70が入力操作を受け付けることで求められてもよい。
【0034】
また、判定回路30は、一定時間の間に複数回検出された電流値を平均化した値に基づいてびびり振動が発生しているか否かを判定してもよい。このように判定することで、切削工具CTがワークWに接触した瞬間及び切削工具CTがワークWから離れた瞬間に一時的に大きくなる電流値に基づいてびびり振動が発生していると誤判定することが抑制される。
【0035】
また、判定回路30は、電流値と振動閾値を用いずに、電流値と振動加速度の比率が所定の閾値以上である場合に、びびり振動が発生していると判定してもよい。
【0036】
また、判定回路30は、マイクロフォンで収音した音(例えば音量 )に基づいて、工作機械100にびびり振動が発生していると判定してもよい。さらに、判定回路30は、びびり振動が発生していることを示す操作を操作部70が受け付けると、工作機械100にびびり振動が発生していると判定してもよい。
【0037】
設定回路40は、工具主軸112の回転速度の変化量の上限値ULと下限値LLとを設定する。設定回路40は、制御回路10からの取得要求に応じて、上限値ULと下限値LLとを示す信号を出力する。
【0038】
例えば、設定回路40は、操作部70が受け付けた入力操作に基づいて上限値ULと下限値LLとを設定してもよい。ただし、設定回路40は、演算器を有し、演算器は、工具主軸112の現在の回転速度を示す信号を制御回路10から取得し、現在の回転速度に応じて上限値ULと下限値LLとを算出してもよい。また、演算器は、操作部70が受け付けた入力操作により入力された回転速度を取得し、入力された回転速度に応じて上限値ULと下限値LLとを算出してもよい。
【0039】
上限値ULおよび下限値LLは、それぞれ回転速度の絶対値(rpm)であってもよいし、基準となる回転速度に対する相対値(%)であってもよい。また、基準となる回転速度と上限値ULおよび下限値LLとがそれぞれ対応付けられた数式やテーブルを用いて、基準となる回転速度が大きくなると上限値ULと下限値LLとの範囲を広げるように設定してもよい。さらに、上限値ULおよび下限値LLは、プラスの絶対値(相対値)であってもよいし、マイナスの絶対値(相対値)であってもよい。
【0040】
例えば、上限値ULは、+100(rpm)であり、下限値LLは、−100(rpm)と設定される。また、例えば、基準となる回転速度に対して、上限値ULは、+10%であり、下限値LLは、−10(%)と設定される。
【0041】
なお、切削加工の時間を短くするために、上限値ULと下限値LLの中間値が0(rpm又は%)より大きくてもよい。例えば、上限値ULは、+200(rpm)であり、下限値LLは、−100(rpm)と設定される。
【0042】
上限値ULは、変更後の回転速度が、設定可能な最高回転速度未満となるように設定される。すなわち、変更前の回転速度と上限値ULとの和が最高回転速度未満となるように、上限値ULは設定される。下限値LLは、変更後の回転速度が、設定可能な最低回転速度より大きくなるように設定される。
【0043】
また、上限値ULおよび下限値LLは、基準となる回転速度に限らず、切削工具CTの仕様(例えば刃数)に基づいて設定されてもよい。さらに、上限値ULおよび下限値LLは、現在の回転速度、切削工具CTの仕様、およびその他の加工条件の数値を変数とした多変数多次元多項式に基づいて設定されてもよい。
【0044】
次に、
図2は、制御装置1の各動作を示すフローチャートである。
図3は、回転速度の変更処理における各動作を示すフローチャートである。
【0045】
図2に示すように、制御回路10は、第1回転速度で工具主軸112を回転させる(ステップS1)。この際、制御回路10は、切削加工プログラムで指定された第1回転速度を読み出してもよいし、操作部70で受け付けた入力操作に基づいて第1回転速度を求めてもよい。
【0046】
制御回路10は、工具主軸台110およびコラム114を制御することで、工具主軸112をワークWに向けて移動させる(ステップS2)。判定回路30は、振動閾値を取得する(ステップS3)。振動検出回路20は、振動の振動加速度を検出する(ステップS4)。判定回路30は、検出された振動加速度が振動閾値より大きいかどうかを判定する(ステップS5)。検出された振動加速度が振動閾値以下の場合(ステップS5:No)、ステップS4に戻る。なお、上述のように、判定回路30は、ステップS5において振動加速度に加えて工具主軸112にかかる負荷を用いてもよい。
【0047】
<回転速度の変更>
検出された振動加速度が振動閾値より大きい場合(ステップS5:Yes)、工具主軸112の回転速度を変更する処理が実行される(ステップS6)。すなわち、びびり振動が発生していると判定されると(ステップS5:Yes)、びびり振動を抑制するために、工具主軸112の回転速度を変更する処理が実行される(ステップS6)。
【0048】
図3に示すように、回転速度の変更処理S6では、設定回路40は、上限値ULと下限値LLを設定する(ステップS10)。そして、制御回路10の乱数発生回路10Rは、0から1までの乱数RNを発生させる(ステップS20)。そして、制御回路10は、発生した乱数RNに基づいて回転速度の変化量Vを算出する(ステップS30)。例えば、制御回路10は、以下の式2−1に基づいて変化量Vを算出する。
【0050】
すなわち、変化量Vは、上限値ULと下限値LLとの間の範囲内から無作為に決定される。
【0051】
そして、制御回路10は、第2回転速度RS2を算出する(ステップS40)。具体的には、制御回路10は、ステップS30で算出した変化量Vだけで第1回転速度RS1を変化させることで、第2回転速度RS2を算出する。
【0052】
例えば、上限値UL、下限値LL、および変化量Vが回転速度の絶対値(rpm)である場合、制御回路10は、式2−2に基づいて第2回転速度RS2を算出する。
【0054】
すなわち、第2回転速度RS2は、第1回転速度RS1と変化量Vの和である。
【0055】
例えば、上限値UL、下限値LL、および変化量Vが第1回転速度RS1に対する相対値(%)である場合、制御回路10は、式2−2Aに基づいて第2回転速度RS2を算出する。
【0057】
すなわち、上限値UL、下限値LL、および変化量Vが第1回転速度RS1に対する相対値(%)である場合、第1回転速度RS1が大きくなると、回転速度の絶対値(rpm)における上限値と下限値との間の範囲も大きくなる。
【0058】
そして、制御回路10は、算出した第2回転速度RS2で工具主軸112を回転軸A1周りに回転させる(ステップS50)。
【0059】
図2に戻り、工具主軸112の回転速度の変更処理が終わると(ステップS6)、制御回路10は、切削加工が終了したか否かを判断する(ステップS7)。例えば、切削加工プログラムで予定していた時間が経過した場合や、工具主軸112が予定していた搬送長さだけ搬送された場合に、制御回路10は、切削加工が終了したと判断する(ステップS7 :Yes)。切削加工が終了していないと判断されると(ステップS7:No)、ステップS4に戻る。
【0060】
従来は、工作機械におけるびびり振動が生じた場合、びびり振動が生じているか否かの判断やびびり振動を抑制するための加工条件を求めるには、一定の経験を積んだ熟練者の介入が必要であった。本実施形態では、制御装置1は、振動加速度を検出し、検出した振動加速度が振動閾値より大きいか否かを判定することで、びびり振動が生じているか否かを自動的に判断する。さらに、制御装置1は、上限値ULと下限値LLとの間の範囲内から無作為に変化量Vを決定し、第1回転速度RS1を、決定した変化量Vだけ変化させることで第2回転速度RS2を求める。これにより、熟練者の介入なく、容易に、工作機械が切削加工する際に生じるびびり振動を抑制できる。
【0061】
図4は、本実施形態の効果を説明するための、安定限界線図の模式図である。安定限界線図とは、自励びびり振動における再生型のびびり振動について、主軸の回転速度と工具の切り込み深さとの関係を表す図である。
図4に示す曲線の下側がびびり振動を発生させずに加工可能な安定領域であり、曲線の上側がびびり振動を発生させるびびり領域である。 ただし、本実施形態では、制御回路10は、
図4に示す安定限界線図を求めない。
【0062】
従来技術は、切削加工において生じる自励びびり振動のうち再生型のびびり振動を抑制するために、
図4に示す安定限界線図を求めていた。従来技術は、安定限界線図を求めるために、工作機械に対して加振テストを行ったり、切削テストを行ったりしていた。しかしながら、正確な安定限界線図を求めることは困難である。また、びびり振動の発生要因を網羅することは困難であるため、求められた安定限界線図に従ってびびり振動なしに切削加工を開始しても、切削加工の途中でびびり振動が生じる場合がある。
【0063】
図4から明らかなように、びびり振動を抑える手段として、切削工具の回転速度を変更することが利用できる。そこで、本実施形態では、制御回路10は、安定限界線図を求めずに、上限値ULと下限値LLとの間の範囲内から無作為に変化量Vを決定し、第1回転速度RS1を、決定した変化量Vだけ変化させることで第2回転速度RS2を求める。このように、制御回路10は、安定限界線図を求めずに、工具主軸112の第1回転速度RS1を第2回転速度RS2へと変更することで、びびり振動を抑制する。従って、本実施形態では、安定限界線図を求めるための加振テストや切削テストは不要である。さらに、加振テスト結果を分析するための計算能力は、制御装置1には不要である。また、自励や強制などのびびり振動の類型によらず、工作機械100が切削加工する際に生じるびびり振動を抑制できる。
図4に示す安定限界線図において、ピークと、そのピークに隣接するピークとの距離(回転速度)は、回転速度が大きくなるにつれて大きくなる。すなわち、回転速度が大きくなると、確実にびびり振動を抑制するためには、変化量Vも大きくなる方が好ましい。本実施形態では、上限値ULおよび下限値LLが第1回転速度RS1に対する相対値(%)として設定されるか、又は第1回転速度RS1と上限値ULおよび下限値LLとがそれぞれ対応付けられた数式やテーブルを用いることで、第1回転速度RS1が大きくなると回転速度の絶対値(rpm)における上限値と下限値との範囲を広げるように設定される。これにより、第1回転速度RS1が小さいときには変化量Vを小さく、第1回転速度RS1が大きいときには変化量Vが大きくなる。すなわち、安定限界線図における加工可能な領域の傾向に合わせて回転速度の変化量Vを調整できるため、より確実にびびり振動を抑制する第2回転速度RS2を求めることができる。
【0064】
従来技術では、びびり振動を抑制するために、機械学習を行って加工条件の調整量を決定することがあった。しかしながら、機械学習により最適な加工条件を求めるためには、複雑な計算手順が必要であり、計算の処理において制御回路に大きな負荷がかかる。また、最適な加工条件を導くためには膨大な量のデータの蓄積が必要である。工作機械による多品種少量生産に対応する様々な工具やワークの材質、加工形状に対して、それぞれのデータを蓄積するのは困難である。本実施形態では、制御装置1は、上限値ULと下限値LLとの間の範囲内から無作為に変化量Vを決定し、第1回転速度RS1を、決定した変化量Vだけ変化させることで第2回転速度RS2を求めるため、計算手順が単純で、計算処理における制御回路10への負荷が少ない。さらに、膨大な量のデータを蓄積する必要がないため、工具の種類、ワークの材質、および加工形状に依存せずに、工作機械100が切削加工する際に生じるびびり振動を抑制できる。
【0065】
なお、乱数RNを発生させることは省略されてもよい。例えば、制御回路10は、上限値ULと下限値LLの中央値を変化量Vとして決定してもよい。すなわち、制御回路10は、ルールに基づいて上限値ULと下限値LLの範囲内から変化量Vを決定してもよい。
【0066】
<変形例1>
次に、
図5は、
図3に示す回転速度の変更処理S6の変形例1に係る回転速度の変更処理S6Aにおける各動作を示すフローチャートである。変形例1に係る回転速度の変更処理S6Aでは、検出される振動加速度Aが振動閾値以下となるまで、工具主軸112の回転速度の変更が繰り返される。重複するステップの説明は省略される。
【0067】
具体的には、ステップS10に代えてステップS10Aが実行され、ステップS40に代えてステップS40Aが実行され、ステップS50の後にステップS60およびステップS70が実行される点において、回転速度の変更処理S6Aは、
図3に示す回転速度の変更処理S6と相違する。
【0068】
ステップS10Aでは、設定回路40は、工具主軸112の現在の回転速度に基づいて変化量の許容幅VWを設定する。例えば、設定回路40は、複数の回転速度と複数の許容幅とがそれぞれ対応付けられたテーブルをメモリ60から読み出すことで、許容幅VWを設定する。また、例えば、設定回路40は、操作部70で受け付けた操作に基づいて許容幅VWを設定する。許容幅VWは、例えば、現在の回転速度の10%に設定される。上限値ULおよび下限値LLは、許容幅VWを満たすように設定される。
【0069】
ステップS40Aは、ステップS10Aで求めた許容幅VWを満たすようにステップS30で算出した変化量Vだけで現在の回転速度を変化させることで第2回転速度RS2を算出する点においてステップS40と相違する。
【0070】
第1回転速度RS1から第2回転速度RS2に変更されると(ステップ50)、振動検出回路20は振動加速度Aを検出する(ステップS60)。そして、判定回路30は、ステップS60で検出された振動加速度Aが振動閾値より大きいか否かを判定する(ステップS70)。ステップS60で検出された振動加速度Aが振動閾値以下であると(ステップS70:No)、回転速度の変更処理S6Aは終了する。なお、判定回路30は、ステップS70において、振動加速度Aに加えて 工具主軸112にかかる負荷を用いてもよい。ステップS60で検出された振動加速度Aが振動閾値より大きいと(ステップS70:Yes)、ステップS10Aに戻る。すなわち、ステップS60で検出された振動加速度Aが振動閾値より小さくなるまで、ステップS10A〜ステップS50は繰り返し実行される。
【0071】
さらに換言すれば、回転速度の変更の回数jに対応する第2回転速度RS2(j)は、次の式3−1および式3−2に基づいて算出される。
【0074】
ただし、下限値LL(j)は、回転速度の絶対値(rpm)とする。このように、制御回路10は、変化量V(j)だけで第2回転速度RS2(j−1)を変化させることで、新たな第2回転速度RS2(j)を算出する。ただし、第2回転速度RS2(0)は、第1回転速度RS1と同じである。従って、第2回転速度RS2(j)は、式3−1と以下の式3−3に基づいても算出可能である。
【0076】
図6は、変形例1に係る回転速度の変更処理S6Aの効果を説明するための、安定限界線図の模式図である。
図6に示す曲線の下側がびびり振動を発生させずに加工可能な安定領域であり、曲線の上側がびびり振動を発生させるびびり領域である。ここで 、上限値UL、下限値LL、および変化量Vは、絶対値(rpm)とする。
図6に示すように、変更の回数jに応じて、許容幅VW(j)は変化する。すなわち、変更の回数jに応じて上限値UL(j)および下限値LL(j)は変化する。変化量V(j)は、許容幅VW(j)と乱数RN(j)に基づいて決定される。第2回転速度RS2(j+1)は、第2回転速度RS2(j)と変化量V(j)の和である。第2回転速度RS(j+2)は、第2回転速度RS2(j+1)と変化量V(j+1)の和であり、びびり振動を抑制している。
【0077】
このように、回転速度の変更を繰り返すと、びびり振動を抑制する第2回転速度RS2がより確実に求められる。
【0078】
また、びびり振動を抑制する第2回転速度RS2は、乱数RN(j)に基づくランダム探索によって求められる。従って、線形探索する場合に比べて、びびり振動をいつまでも抑制できないといった状態に陥ることなく、びびり振動を抑制する第2回転速度RS2を比較的安定して求められる。
【0079】
さらに、乱数RN(j)に基づいて第2回転速度RS2(j)を算出すれば、振動加速度A(j)が小さくなるように回転速度を変更するアルゴリズムに比べて、局所解に陥る可能性は低い。
【0080】
ここで、
図6の安定限界線図に示すように、ピークと、そのピークに隣接するピークとの距離(回転速度)は、回転速度が大きくなるにつれて、大きくなる。すなわち、回転速度が大きくなると、びびり振動を抑制するために、より大きな変化量Vが必要となる。従って、ステップS10Aのように、現在の回転速度が大きくなるにつれて許容幅VW(j)を広げれば、変化量V(j)の絶対値も大きくなる。これにより、制御回路10は、びびり振動を抑制する第2回転速度RS2を、より早く求めることができる。
【0081】
換言すれば、回転速度が小さくなると、より小さな変化量Vでびびり振動を抑制できる。従って、ステップS10Aのように、許容幅VW(j)を現在の回転速度の相対値とすれば、現在の回転速度に合わせて変化量V(j)を小さくすることができる。
【0082】
ただし、許容幅VW(j)は、現在の回転速度に対する相対値(%)に限らず、回転速度の絶対値(rpm)であってもよい。
【0083】
<変形例2>
次に、
図7は、
図3に示す工具主軸112の回転速度の変更処理S6の変形例2に係る工具主軸112の回転速度の変更処理S6Bにおける各動作を示すフローチャートである。変形例2に係る工具主軸112の回転速度の変更処理S6Bでは、上限値ULと下限値LLとが固定され、第1回転速度RS1から第2回転速度RS2への変更が繰り返される。
【0084】
具体的には、
図7に示すフローチャートは、ステップS10Aに代えてステップS10が実行され、ステップS40Aに代えてステップS40が実行され、ステップS70でYesと判定されるとステップS20に戻る点において、変形例1に係る回転速度の変更処理S6Aと相違する。
【0085】
図7に示すように、判定回路30は、ステップS60で検出された振動加速度Aが振動閾値より大きいか否かを判定する(ステップS70)。ステップS60で検出された振動加速度Aが振動閾値より大きいと(ステップS70:Yes)、ステップS20に戻る。すなわち、 ステップS10が繰り返し実行されないため、上限値ULおよび下限値LLは、第2回転速度RS2を繰り返し算出する際に、固定値となっている。従って、回転速度の変更処理S6Bでは、第1回転速度RS1に対する変化量の許容幅VWも固定値である。
【0086】
制御回路10は、次の式4−1および式4−2に基づいて、第2回転速度RS2(j)を算出する。
【0089】
すなわち、変化量V(j)は、固定された上限値ULと下限値LLとの間の固定の範囲内から乱数RN(j)に基づいて、無作為に決定される。第2回転速度RS2(j)は、第1回転速度RS1と変化量V(j)の和である。ただし、変化量V(j)は、回転速度の絶対値(rpm)に限らず、回転速度に対する相対値(%)であってもよい。
【0090】
これにより、固定の範囲内で第2回転速度RS2が変更されるため、当初指定された第1回転速度RS1から大幅に離れることなく、びびり振動を抑制する第2回転速度RS2を決定することができる。したがって、びびり振動の抑制に伴う工作機械100にかかる負荷の増加や工具寿命の低下、もしくは加工時間の延長が、想定を越えることを避けやすくなる。
【0091】
<変形例3>
次に、
図8は、
図3に示す回転速度の変更処理S6の変形例3に係る回転速度の変更処理S6Cにおける各動作を示すフローチャートである。変形例3に係る回転速度の変更処理S6Cでは、回転速度の変更の繰り返し回数に制限が設けられる点において、変形例1に係る回転速度の変更処理S6Bと相違する。重複するステップの説明は省略される。
【0092】
図8に示すように、制御回路10は、繰り返し回数RCに0を入力する(ステップS12)。この繰り返し回数RCは、一時的に記憶され、例えば、メモリ60に記憶される。そして、設定回路40が上限値ULおよび下限値LLを設定すると(ステップS10)、制御回路10は、繰り返し回数RCが制限回数を超えているか否かを判断する(ステップS14)。繰り返し回数RCが制限回数を超えていないと(ステップS14:No)、ステップS20に進む。ステップS60で検出された振動加速度が振動閾値より大きいと(ステップS70:Yes)、制御回路10は、繰り返し回数RCを1つだけ大きくする(ステップS16)。繰り返し回数RCが1つ大きくなると(ステップS16)、ステップS14に戻る。
【0093】
繰り返し回数RCが制限回数を超えていると(ステップS14:Yes)、制御回路10は、警告を行う(ステップS18)。例えば、制御回路10は、警告内容をディスプレイ80に表示させて、工具主軸112の回転速度の変更処理を終了する(ステップS18)。このように、回転速度の変更の繰り返し回数RCが制限されるので、びびり振動を抑制する第2回転速度RS2を探索する処理がいつまでも続くことがない。
【0094】
例えば、制御回路10は、検出された振動加速度を、検出された時の回転速度に対応させて、一時的にメモリ60に記録させてもよい。そして、制御回路10は、ステップS18において、変更処理において検出された振動加速度のうち最も低い値が検出された時の回転速度をディスプレイ80に表示させてもよい。さらに、制御回路10は、最も低い値が検出された時の回転速度と、この回転速度に対応する振動加速度とをディスプレイ80に表示させてもよい。さらに、制御回路10は、変更処理中に最も低い振動加速度が検出された時の回転速度に変更してもよい。これにより、工作機械100が切削加工する際に生じるびびり振動について、回転速度の変更処理を実行する前より抑制することができる 。
【0095】
<変形例4>
次に、
図9は、
図3に示す回転速度の変更処理S6の変形例4に係る回転速度の変更処理S6Dにおける各動作を示すフローチャートである。変形例4に係る回転速度の変更処理S6Dでは、最初に回転速度を変更する際、第2回転速度RS2が第1回転速度RS1よりも大きくなるように、上限値ULと下限値LLとの間の範囲内から変化量Vが決定される点において、変形例3に係る回転速度の変更処理S6Cと相違する。重複するステップの説明は省略される。
【0096】
繰り返し回数RCが制限回数を超えていないと(ステップS14:No)、制御回路10は、繰り返し回数RCが0であるか否かを判断する(ステップS15)。繰り返し回数RCが0でない場合(ステップS15:No)、ステップS20に進む。繰り返し回数RCが0である場合(ステップS15:Yes)、ステップS22に進む。
【0097】
制御回路10の乱数発生回路10Rは、第2回転速度RS2が第1回転速度RS1よりも大きくなるように、乱数RN
0を発生させる(ステップS22)。例えば、上限値ULが100(rpm)であり、下限値LLが−100(rpm)であり且つ発生した乱数RN
0が0.5以下の場合、乱数発生回路10Rは、乱数RN
0を0.5だけ大きくする。これにより、下限値LLが−100(rpm)であったとしても、変化量Vは0(rpm)より大きくなる。
【0098】
このように、最初に回転速度を変更する際、第2回転速度RS2は第1回転速度RS1より大きくなる。従って、第1回転速度RS1より小さい回転速度でもびびり振動が抑制できる場合に、第1回転速度RS1より小さい回転速度を第2回転速度RS2として求める確率が低くなる。換言すれば、本変形例に係る回転速度の変更処理S6Dでは、びびり振動を抑制し且つ切削加工の時間を短縮するために、より大きい回転速度を第2回転速度RS2として算出する確率を高めることができる。
【0099】
なお、本変形例では、乱数発生回路10Rが乱数RN
0を発生させることで、第2回転速度RS2が第1回転速度RS1より大きくなった。しかし、制御回路10は、乱数RN
0を発生させずに、変化量Vの算出方法を変えることで、第2回転速度RS2を第1回転速度RS1より大きくなるようにしてもよい。例えば、マイナス値となる変化量Vは、プラス値に変換されてもよい。また、例えば、変化量Vを変換せずに、繰り返し回数RCが0のときの下限値LL(0)をプラスの値に設定してもよい。
【0100】
<変形例5>
次に、
図10は、
図3に示す回転速度の変更処理S6の変形例5に係る回転速度の変更処理S6Eにおける各動作を示すフローチャートである。
【0101】
変形例5に係る回転速度の変更処理S6Eは、振動加速度A(j)が振動加速度A(j−1)より小さい場合、第2回転速度RS2(j)と第2回転速度RS2(j−1)との大小関係を維持するように、変化量V(j+1)を決定する点において、変形例1に係る回転速度の変更処理S6Bと相違する。重複するステップの説明は省略される。
【0102】
具体的には、
図10に示すように、ステップS30に代えてステップS30Aが実行され、ステップS70でYesと判定されるとステップS80が実行され、ステップS80の実行の後、ステップS20に戻る点において、回転速度の変更処理S6Eは、回転速度の変更処理S6Bと相違する。
【0103】
ステップS30Aでは、制御回路10は、以下の式3−1Aおよび式3−2に基づいて変化量Vを算出する。
【0106】
ただし、本変形例では、VW(j)は、正の値となるように、上限値UL(j)及び下限値LL(j)が決定されている。また、Biasは、−1または+1である。Biasは、一時的に記憶され、例えばメモリ60に記憶される。このBiasは、ステップS80において決定される。具体的には、
図11に示すように、制御回路10は、振動加速度A(j)が振動加速度A(j−1)より小さいか否かを判定する(ステップS82)。制御回路10は、振動加速度A(j)が振動加速度A(j−1)より小さいと(ステップS82:Yes)、ステップS80の処理を終了する。すなわち、振動加速度A(j)が振動加速度A(j−1)より小さいと(ステップS82:Yes)、Biasの符号は変更されない。制御回路10は、振動加速度A(j)が振動加速度A(j−1)以上であると(ステップS82:No)、Biasの符号を反転させる(ステップS84)。
【0107】
ただし、ステップS4(
図2を参照)およびステップS60で検出された振動加速度Aは、一時的にメモリ60に記憶されているものとする。
【0108】
例えば、第2回転速度RS2(j)が第2回転速度RS2(j−1)より大きく且つ振動加速度A(j)が振動加速度A(j−1)より小さいと、Biasの符号は変わらないので、変化量V(j)はプラスの値となる。その結果、第2回転速度RS2(j+1)は第2回転速度RS2(j)より大きくなる。また、第2回転速度RS2(j)が第2回転速度RS2(j−1)より大きく且つ振動加速度A(j)が振動加速度A(j−1)以上であると、Biasの符号が反転するので、変化量V(j)は、マイナスの値となる。その結果、第2回転速度RS2(j+1)は第2回転速度RS2(j)より小さくなる。すなわち、制御回路10は、振動加速度Aが小さくなれば、回転速度の変更の方向(高回転化又は低回転化)を維持し、振動加速度Aが小さくならなければ、回転速度の変更の方向を逆方向にする。これにより、びびり振動を抑制する第2回転速度RS2がより早く求められる。なお、変化量V(j)は、回転速度に対する相対値(%)であってもよい。
【0109】
なお、本変形例では、Biasは、−1または+1の値であったが、これに限らない。例えば、Biasは、回転速度の変更の方向の切り替えを有効にするか否かを示すフラグとしてメモリ60に記憶されてもよい。そして、制御回路10は、このフラグを参照して、現在の回転速度から変化量V(j)だけ加算するか、又は、減算するかを決定してもよい。
【0110】
<変形例6>
次に、
図12は、
図3に示す工具主軸112の回転速度の変更処理S6の変形例6に係る工具主軸112の回転速度の変更処理S6Fにおける各動作を示すフローチャートである。変形例6に係る工具主軸112の回転速度の変更処理S6Fでは、一度用いられた第2回転速度RS2を再度算出しない点において、変形例1に係る回転速度の変更処理S6Bと相違する。重複するステップの説明は省略される。
【0111】
図12に示すように、変形例6に係る回転速度の変更処理S6Fでは、制御回路10は、第2回転速度RS2が算出されると(ステップS40)、算出された第2回転速度RS2がメモリ60に記憶されているか否かを判定する(ステップS42)。制御回路10は、算出された第2回転速度RS2がメモリ60に記憶されていると(ステップS42:Yes)、ステップ20に戻る。すなわち、制御回路10は、メモリ60に記憶済みの第2回転速度RS2で工具主軸112を回転させない。算出された第2回転速度RS2がメモリ60に記憶されていないと(ステップS42:No)、ステップS50およびステップS60が実行される。ステップS60の実行後、制御回路10は、算出された第2回転速度RS2をメモリ60に記憶する(ステップS44)。例えば、メモリ60は、
図13に示すように、使用済みリスト600を記憶する。使用済みリスト600は、ステップS40で算出された第2回転速度RS2とステップS60で検出された振動加速度Aとを関連付けて記憶する。ただし、使用済みリスト600は、第2回転速度RS2だけを記憶してもよい。また、使用済みリスト600は、第2回転速度RS2の代わりに変化量Vを記憶してもよい。
【0112】
制御回路10は、検出された振動加速度Aが振動閾値以下であると(ステップS70:No)、メモリ60から第2回転速度RS2を削除する(ステップS46)。すなわち、びびり振動が抑制されると、メモリ60に記憶された使用済みリスト600は初期化される。そして、回転速度の変更処理S6Fは終了する。
【0113】
変形例6に係る回転速度の変更処理S6Fでは、びびり振動を抑制できない第2回転速度RS2で工具主軸112を回転させることを、2回以上、実行することがない。従って、びびり振動を抑制する第2回転速度RS2がより早く求められる。また、例えば、山登り法などのアルゴリズムに比べて、局所解に陥る可能性が低い。
【0114】
なお、上述の変形例1〜6の特徴は、矛盾のない範囲で、組み合わせることが可能である。例えば、制御回路10は、Bias、繰り返し回数RC、および使用済みリスト600を用いて、びびり振動を抑制する第2回転速度RC2をより早く求めてもよい。
【0115】
<第2実施形態>
次に、
図14は、第2実施形態に係る工作機械100Aの概略構成を示す図である。
【0116】
第2実施形態に係る工作機械100Aは、制御装置1Aと、中央処理装置3を備える点において、第1実施形態に係る工作機械100と相違する。
【0117】
中央処理装置3は、通信装置90Mを介して、制御装置1Aに接続されている。これにより、中央処理装置3と制御装置1Aとは通信可能である。中央処理装置3は、制御装置1A以外の工作機械の制御装置1Bとも通信可能である。制御装置1Aは、中央処理装置3と通信するために、通信回路(第1通信手段)90を備えている。通信回路90は、バス2を介して制御回路10、振動検出回路20、および負荷検出回路50と接続されている。
【0118】
第2実施形態に係る工作機械100Aでは、判定回路30、設定回路40、およびメモリ60は、中央処理装置3に設けられている。中央処理装置3は、通信回路90と通信するために、通信回路(第2通信手段)92を備えている。
【0119】
このように、第1実施形態における制御装置1の構成を、制御装置1以外の装置に設けても、第1実施形態および変形例1〜6の効果を得ることができる。さらに、中央処理装置3の構成はクラウドコンピューティングで実現されてもよい。なお、制御回路10も制御装置1Aに設けなくてもよい。
【0120】
また、第1回転速度RS1と、びびり振動を抑制した第2回転速度RS2とを関連付けて中央処理装置3のメモリ60に記憶させれば、制御装置1A以外の制御装置1Bが、第1回転速度RS1と、びびり振動を抑制した第2回転速度RS2とを読み出すことが可能となる。例えば、
図15に示すように、メモリ60は、回転速度の変更処理の結果を示す結果リスト610を記憶する。結果リスト610では、データ612に示すように、第1回転速度RS1である1650(rpm)と、びびり振動を抑制した第2回転速度RS2である1740(rpm)と、びびり振動が抑制されたときに検出された振動加速度Aである75(m/s
2)とが関連付けられている。
【0121】
ここで、結果リスト610は、びびり振動を抑制した第2回転速度RS2だけでなく、びびり振動を抑制できなかった第2回転速度RS2を記憶してもよい。データ614に示すように、結果リスト610には、第1回転速度RS1である1000(rpm)と、びびり振動を抑制できなかった第2回転速度RS2である1100(rpm)と、第2回転速度RS2で工具主軸112が回転しているときに検出された振動加速度Aである110(m/s
2)とが関連付けられている。ただし、振動閾値は100(m/s
2)とする。
【0122】
このようにメモリ60に回転速度の変更処理の結果を蓄積すれば、制御装置1A以外の制御装置1Bが読み出しできるだけでなく、制御装置1Aも回転速度の変更処理の結果を読み出すことができる。そして、制御装置1Aは、新たに切削加工を開始するときに、何度も回転速度の変更をすることなしに、びびり振動を抑制する第2回転速度RS2を求めることができる。この際、制御装置1Aは、最も小さい振動加速度に対応する第2回転速度RS2を求めてもよい。
【0123】
さらに、
図16の結果リスト620に示すように、メモリ60には、切削工具と、工具主軸112の送り速度と、切り込み量と、被削材材質と、がさらに関連付けられて記憶されてもよい。また、結果リスト620に記憶されたデータに、切削加工プログラムが対応付けられて記憶されてもよい。
【0124】
制御回路10は、回転速度を自動的に変更せずに、結果リスト620をディスプレイ80に表示させて、第2回転速度RS2をユーザに選択させてもよい。
【0125】
<その他の実施例>
以上の例では、工具主軸112は、垂直方向に実質的に平行であったが、垂直方向に対して傾斜していてもよく、水平方向に実質的に平行であってもよい。また、工作機械100は、切削工具CTを自動交換する工具自動交換装置を備えてもよい。切削工具CTの交換はタレットで行われてもよい。
【0126】
また、以上の例では、切削工具CTによるミーリングが行われたが、ミーリングは、エンドミル加工でもよいし、フライス加工でもよい。また、切削加工は、ミーリングに限らず、旋削加工(外径/内径/端面/ボーリング)でもよい。
【0127】
また、以上の例では、操作部70を介して各閾値や値が設定可能であったが、各閾値および値は、通信回路90を介して設定信号を受信することで設定されてもよい。
【0128】
また、上限値UL、下限値LL、許容幅VW、繰り返し回数RCの制限回数、及びBiasは、切削工具CT、被削材材質、および切削加工プログラム毎に設定されてもよい。
【0129】
また、各フローチャートにおける各ステップの実行順序は、処理結果が変わらない範囲で変更可能である。
【0130】
本願においては、「備える」およびその派生語は、構成要素の存在を説明する非制限用語であり、記載されていない他の構成要素の存在を排除しない。これは、「有する」、「含む」およびそれらの派生語にも適用される。
【0131】
「〜部材」、「〜部」、「〜要素」、「〜体」、および「〜構造」という文言は、単一の部分や複数の部分といった複数の意味を有し得る。
【0132】
「第1」や「第2」などの序数は、単に構成を識別するための用語であって、他の意味(例えば特定の順序など)は有していない。例えば、「第1要素」があるからといって「第2要素」が存在することを暗に意味するわけではなく、また「第2要素」があるからといって「第1要素」が存在することを暗に意味するわけではない。
【0133】
程度を表す「実質的に」、「約」、および「およそ」などの文言は、最終結果が大きく変わらないような合理的なずれ量を意味し得る。本願に記載される全ての数値は、「実質的に」、「約」、および「およそ」などの文言を含むように解釈され得る。
【0134】
上記の開示内容から考えて、本発明の種々の変更や修正が可能であることは明らかである。したがって、本発明の趣旨を逸脱しない範囲で、本願の具体的な開示内容とは別の方法で本発明が実施されてもよい。
工作機械(100)は、切削工具(CT)が装着される工具主軸(112)と、制御装置(1)とを備えている。制御装置(1)は、制御回路(10)と、判定回路(30)と、設定回路(40)と、を備えている。制御回路(10)は、ワーク(W)を切削加工するために工具主軸(112)を回転させているときに、びびり振動が発生していると判定された場合、上限値(UL)と下限値(LL)との間の範囲内から無作為に変化量(V)を決定して第1回転速度(RS1)を変化量(V)だけ変化させた第2回転速度(RS2)で工具主軸(112)を回転させる。