(58)【調査した分野】(Int.Cl.,DB名)
モータにより駆動され並進又は回転運動をする機械装置に対して前記モータに移動指令に基づくトルク指令を出力するトルク指令出力部を有し、該トルク指令出力部が出力した前記トルク指令により前記機械装置に発生する振動を抑制する振動抑制装置において、
前記機械装置を駆動することで発生する振動と逆の位相の振動に対応する補償トルク指令を生成するトルク指令生成手段と、
前記トルク指令生成手段が生成した前記補償トルク指令を前記トルク指令出力部が出力する前記トルク指令に加算する加算手段と、
前記機械装置の移動時における加速度を検出する加速度検出手段と、
前記加速度検出手段が検出した前記加速度の振幅を測定する振幅測定手段と、
前記振幅測定手段が測定した前記振幅のデータを、前記機械装置固有の振動での前記振幅の周波数の範囲内の成分を通過させるバンドパスフィルタで処理するフィルタ処理手段と、
前記フィルタ処理手段によって処理した前記振幅のデータに基づき、インパルス状の波形を設定する波形設定手段と
を備え、
前記トルク指令生成手段は、前記波形設定手段によって設定された前記波形に基づき、前記補償トルク指令を生成すること
を特徴とする振動抑制装置。
モータにより駆動され並進又は回転運動をする機械装置に対して前記モータに移動指令に基づくトルク指令を出力するトルク指令出力部を有し、該トルク指令出力部が出力した前記トルク指令により前記機械装置に発生する振動を抑制する振動抑制装置が行う振動抑制方法において、
前記機械装置を駆動することで発生する振動と逆の位相の振動に対応する補償トルク指令を生成するトルク指令生成工程と、
前記トルク指令生成工程で生成した前記補償トルク指令を前記トルク指令出力部が出力する前記トルク指令に加算する加算工程と、
前記機械装置の移動時における加速度を検出する加速度検出工程と、
前記加速度検出工程で検出した前記加速度の振幅を測定する振幅測定工程と、
前記振幅測定工程で測定した前記振幅のデータを、前記機械装置固有の振動での前記振幅の周波数の範囲内の成分を通過させるバンドパスフィルタで処理するフィルタ処理工程と、
前記フィルタ処理工程で処理した前記振幅のデータに基づき、インパルス状の波形を設定する波形設定工程と
を備え、
前記トルク指令生成工程は、前記波形設定工程で設定された前記波形に基づき、前記補償トルク指令を生成すること
を特徴とする振動抑制方法。
【発明を実施するための形態】
【0015】
本発明の実施形態を図面を参照して説明する。以下説明は、図中に矢印で示す左右、前後、上下を使用する。工作機械1の左右方向、前後方向、上下方向は夫々工作機械1のX軸方向、Y軸方向、Z軸方向である。
図1に示す工作機械1は主軸9に装着した工具4を回転し、テーブル13上面に保持した被削材3に切削加工を施す機械である。数値制御装置30(
図2参照)は工作機械1の動作を制御するものであり、本発明の振動抑制装置の一例である。
【0016】
図1を参照し工作機械1の構造を説明する。工作機械1は、基台2、コラム5、主軸ヘッド7、主軸9、テーブル装置10、工具交換装置20、制御箱6、操作パネル15(
図2参照)等を備える。基台2は金属製の略直方体状の土台である。コラム5は基台2上部後方に立設する。主軸ヘッド7はコラム5前面に沿ってZ軸方向に移動可能に設ける。主軸ヘッド7は内部に主軸9を回転可能に支持する。主軸9は主軸ヘッド7下部に装着穴(図示略)を有する。主軸9は該装着穴に工具4を装着し、主軸モータ52(
図2参照)の駆動で回転する。主軸モータ52は主軸ヘッド7に設ける。主軸ヘッド7はコラム5前面に設けたZ軸移動機構(図示略)でZ軸方向に移動する。数値制御装置30はZ軸モータ51の駆動を制御することで、主軸ヘッド7をZ軸方向に移動制御する。
【0017】
テーブル装置10は、Y軸移動機構(図示略)、Y軸テーブル12、X軸移動機構(図示略)、テーブル13等を備える。Y軸移動機構は基台2上面前側に設け、一対のY軸レール、Y軸ボール螺子、Y軸モータ54(
図2参照)等を備える。一対のY軸レールとY軸ボール螺子はY軸方向に延びる。一対のY軸レールは上面にY軸テーブル12をY軸方向に案内する。Y軸テーブル12は略直方体状に形成し、底部外面にナット(図示略)を備える。該ナットはY軸ボール螺子に螺合する。Y軸モータ54がY軸ボール螺子を回転すると、Y軸テーブル12はナットと共に一対のY軸レールに沿って移動する。故にY軸移動機構はY軸テーブル12をY軸方向に移動可能に支持する。
【0018】
X軸移動機構はY軸テーブル12上面に設け、一対のX軸レール(図示略)、X軸ボール螺子(図示略)、X軸モータ53(
図2参照)等を備える。X軸レールとX軸ボール螺子はX軸方向に延びる。テーブル13は平面視矩形板状に形成し、Y軸テーブル12上面に設ける。テーブル13は底部にナット(図示略)を備える。該ナットはX軸ボール螺子に螺合する。X軸モータ53がX軸ボール螺子を回転すると、テーブル13はナットと共に一対のX軸レールに沿って移動する。故にX軸移動機構はテーブル13をX軸方向に移動可能に支持する。故にテーブル13は、Y軸移動機構、Y軸テーブル12、X軸移動機構により、基台2上をX軸方向とY軸方向に移動可能である。
【0019】
工具交換装置20は主軸ヘッド7の前側に設け、円盤型の工具マガジン21を備える。工具マガジン21は外周に複数の工具(図示略)を放射状に保持し、工具交換指令が指示する工具を工具交換位置に位置決めする。工具交換指令はNCプログラムで指令する。工具交換位置は工具マガジン21の最下部位置である。工具交換装置20は主軸9に装着する工具4と工具交換位置にある工具とを入れ替え交換する。
【0020】
制御箱6は数値制御装置30(
図2参照)を格納する。数値制御装置30は、工作機械1に設けたZ軸モータ51、主軸モータ52、X軸モータ53、Y軸モータ54(
図2参照)を夫々制御し、テーブル13上に保持した被削材3と主軸9に装着した工具4を相対移動することで各種加工を被削材3に施す。各種加工とは、例えばドリル、タップ等を用いた穴空け加工、エンドミル、フライス等を用いた側面加工等である。
【0021】
操作パネル15は、例えば工作機械1を覆うカバー(図示略)の外壁に設ける。操作パネル15は入力部16と表示部17(
図2参照)を備える。入力部16は各種情報、操作指示等の入力を受け付け、後述する数値制御装置30に出力する。表示部17は後述する数値制御装置30からの指令に基づき、各種画面を表示する。
【0022】
図2を参照し、数値制御装置30と工作機械1の電気的構成を説明する。数値制御装置30と工作機械1は、CPU31、ROM32、RAM33、記憶装置34、入出力部35、駆動回路51A〜55A等を備える。CPU31は数値制御装置30を統括制御する。ROM32は、メインプログラム、補償トルク加算プログラムを含む各種プログラム等を記憶する。メインプログラムは、後述するメイン処理(
図12参照)を実行するものである。メイン処理は、NCプログラムを一行ずつ読み込んで各種動作を実行する。NCプログラムは各種制御指令を含む複数行で構成し、工作機械1の軸移動、工具交換等を含む各種動作を行単位で制御するものである。補償トルク加算プログラムは、メインプログラムのサブプログラムであり、後述する補償トルク加算処理(
図13参照)を実行するものである。RAM33は各種情報を一時的に記憶する。記憶装置34は不揮発性であり、NCプログラム、各種情報を記憶する。CPU31は作業者が操作パネル15の入力部16で入力したNCプログラムに加え、外部入力で読み込んだNCプログラム等を記憶装置34に記憶できる。
【0023】
駆動回路51AはZ軸モータ51とエンコーダ51Bに接続する。駆動回路52Aは主軸モータ52とエンコーダ52Bに接続する。駆動回路53AはX軸モータ53とエンコーダ53Bに接続する。駆動回路54AはY軸モータ54とエンコーダ54Bに接続する。駆動回路55Aは工具マガジン21を駆動するマガジンモータ55とエンコーダ55Bに接続する。Z軸モータ51、主軸モータ52、X軸モータ53、Y軸モータ54、マガジンモータ55は何れもサーボモータである(以下総称する場合は単にモータと呼ぶ)。駆動回路51A〜55AはCPU31から指令を受け、対応する各モータ51〜55に駆動電流を夫々出力する。駆動回路51A〜55Aはエンコーダ51B〜55Bからフィードバック信号を受け、位置と速度のフィードバック制御を行う。入出力部35は操作パネル15の入力部16と表示部17に夫々接続する。
【0024】
図3を参照し、駆動回路53Aのサーボ制御系を説明する。駆動回路51A〜55Aのサーボ制御系は同一の構成であるので、駆動回路53Aのサーボ制御系を一例として説明する。X軸モータ53のエンコーダ53Bは、X軸モータ53の現在の位置情報を位置フィードバック信号として、加算器62に出力する。数値制御装置30はNCプログラムの制御指令に基づき位置指令(本発明の移動指令の一例)を生成し、駆動回路53Aに出力する。駆動回路53Aは位置指令に従い、X軸モータ53が動作するようにX軸モータ53に出力する駆動電流を制御する。
【0025】
駆動回路53Aの加算器62は、位置指令と実際の位置の信号である位置フィードバック信号の位置偏差を算出し、該位置偏差に位置比例ゲインを乗ずることで速度指令を算出する。加算器63は、算出した速度指令と実際の速度、即ち位置フィードバック信号を微分器64で微分して得た速度フィードバック信号との速度偏差を算出する。加算器67は、加算器63が算出した速度偏差に速度比例ゲインを乗ずることで得た電流指令(比例)と、上記速度偏差を積分器65で積分してその積分結果に速度積分ゲインを乗ずることで得た電流指令(積分)を加算し、トルク指令を生成する。電流制御部68は、加算器67が生成したトルク指令に対し後述する補償トルク指令を加算して得られる電流指令に基づき、X軸モータ53に流れる電流の通電制御を行う。
【0026】
図4,
図5を参照し、補償トルク指令を説明する。補償トルク指令は、テーブル装置10を駆動し、テーブル13に発生する振動に対して180°位相が異なる振動を発生する為のトルク指令(電流)である。補償トルク指令は、テーブル13に発生する振動を打ち消すことができる。数値制御装置30のCPU31は、X軸モータ53の加速度指令の出力開始をトリガとし、後述する遅れ時間td経過後に、インパルス状の補償トルク指令をX軸モータ53に出力するトルク指令に加算する。加速度指令は、位置指令を二回微分して得られる。加速度指令は加速又は減速指令を含む概念である。加速又は減速指令は、例えばテーブル13の移動開始時、移動停止開始時、又は移動方向反転時等に生成する。加速度指令の出力開始とは、加速度指令が0から0以外に変化した時点を指す。但し、一定速移動時の加速度指令は一般的に量子化誤差によって微小な値を持つため、加速度指令の出力開始を判定するための閾値At(
図5参照)を加速度指令の絶対値が超えた時点を加速度指令の出力開始と見なす。
【0027】
例えば、
図4に示す菱形状の移動経路に沿ってテーブル13が移動する場合、テーブル13の加速度は変化する。
図5は、移動経路のY軸方向反転部分における加速度指令の時間変化を示す。点線は加速度指令を示し、実線は補償トルク指令を示す。加速度指令はtsで出力を開始する。加速度指令は時間に比例して増大し、tsの出力開始から例えば約0.025s後に最大値に達する。その後、時間に比例して減少する。加速度指令の最大値は、指令最大加速度である。CPU31は、加速度指令の出力を開始したtsから遅れ時間td経過後に、インパルス状の補償トルク指令を出力する。補償トルク指令の力積は、TCとtlの積である。TCは力の大きさ、tlは力の持続時間である。力積は指令最大加速度から求められる。指令最大加速度は、例えば指令速度と、加減速時定数等の情報から求められる。なお、力積と指令最大加速度の関係は後述する。
【0028】
次に、テーブル装置10の駆動時に発生する機械固有振動と、インパルス状のトルクを加算した時に発生する振動とを比較する為に、試験1と2を実施した。本実施形態の機械固有振動とは、テーブル装置10の構造のみに由来する振動を意味する。
【0029】
試験1を説明する。試験1では、
図4に示す菱形状の移動経路に沿ってテーブル13を移動し、Y軸方向反転部分においてテーブル13に発生する振動での加速度振幅を測定した。テーブル13の加速度は、周知のグリッドエンコーダで測定した。
図6は試験1の結果である。加速度は、移動開始から0.82〜0.85sでプラス方向に大きなピークを生じた後、小刻みに上下に振れながら時間経過と共に徐々に減衰している。テーブル13に発生する振動は加速度を変化させる。但し、0.82〜0.85sに生じた大きなピークは、テーブル13の移動反転時に生じたものであり、移動方向を反転する為に必要な加速度である。故に
図6に示す加速度振幅は、他要因の加速度が混合したものであるから、テーブル装置10の機械固有振動での加速度振幅を示すものではない。
【0030】
図7に示す図表は、
図6に示す加速度振幅のデータをバンドパスフィルタで処理したものである。バンドパスフィルタは、所定範囲内の周波数成分を通過させるフィルタである。所定範囲は、機械固有振動での加速度振幅の周波数の範囲に設定する。故に
図7に示す図表は、機械固有振動での加速度振幅を示したものである。0.82〜0.85sに生じた大きなピークは消失している。加速度は、0.82sを過ぎた時点から小刻みに上下に振れながら時間経過と共に徐々に減衰している。本実施形態は、テーブル13の移動反転後の最大加速度を、テーブル13の加速度振幅とした。
図7の結果より、移動方向反転時における機械固有振動での加速度振幅は、0.653m/s2であった。
【0031】
試験2を説明する。試験2では、インパルス状のトルク指令を加算したときのテーブル13に発生する振動での加速度振幅を測定した。
図8は試験2の結果である。加速度は、0.1s付近で大きく上下に振れた後、小刻みに上下に振れながら時間経過と共に徐々に減衰している。試験1と同様に、テーブル13に発生する振動は加速度を変化させる。但し、0.1s付近の大きな振幅は、インパルス状のトルク指令をモータに出力したことによって瞬間的に生じたものである。故に
図8に示す加速度振幅は、インパルス状のトルク指令を加算したときにテーブル13に発生する振動での加速度振幅のみを示すものではない。
【0032】
図9に示す図表は、
図8に示す加速度振幅のデータをバンドパスフィルタで処理したものである。バンドパスフィルタは、
図7で用いたバンドパスフィルタと同一である。故に
図9に示す図表は、インパルス状のトルクを加算したことによる機械固有振動での加速度振幅のみを示したものである。0.1s付近の大きな振幅は消失している。加速度は、0.1s付近から小刻みに上下に振れながら時間経過と共に徐々に減衰している。
図9の結果より、インパルス状のトルク指令を加算したことによる機械固有振動での加速度振幅は、0.601m/s2であった。
【0033】
試験1と2の結果より、インパルス状のトルクを加算することによって、テーブル13の移動反転時に発生する振動での加速度振幅と同等の加速度振幅を生成できることがわかった。故に数値制御装置30は、テーブル13に発生する振動と大きさが同じで且つ逆位相の振動を、インパルス状の補償トルク指令で発生することで、テーブル13の移動反転時に発生する振動を打ち消すことができる。
【0034】
図10,
図11を参照し、補償トルクに必要とする力積と指令最大加速度の関係を説明する。
図10に示す図表は、指令最大加速度を変えたときのテーブル13の加速度振幅を夫々測定してプロットしたものであり、横軸は最大加速度、縦軸は加速度振幅である。
図10に示すように、テーブル13の加速度振幅は、指令最大加速度にほぼ比例することがわかった。
図11に示す図表は、インパルス状のトルクの力積を変えたときのテーブル13の加速度振幅を夫々測定してプロットしたものであり、横軸は力積であり、縦軸は加速度振幅である。力積は、TCとtlの積であるので、tlを1、2、2.5msに分け、夫々のtlに対してTCを変えることによって、力積について複数のバリエーションを設定した。
図11に示すように、tlが同じであれば、テーブル13の加速度振幅は、力積にほぼ比例することがわかった。
【0035】
以上の結果より、本実施形態は、補償トルク指令をトルク指令に加算するトリガとなる加速度指令の指令最大加速度が分かれば、
図10,
図11に示すデータに基づき、その指令最大加速度に対応するテーブル13の加速度振幅を求めることができ、その加速度振幅に対応する力積を求めることができる。故に本実施形態は、補償トルク指令を加算するトリガとなる加速度指令の指令最大加速度に基づき、補償トルクに必要とされる力積を求めることができる。なお、本実施形態の数値制御装置30は、指令最大加速度から力積を求める為に、指令最大加速度と力積が対応付けられたデータ(
図10,
図11に基づくデータ)を記憶装置34等に記憶する。
【0036】
図12を参照し、メイン処理を説明する。作業者は操作パネル15の入力部16を用いて、記憶装置34に記憶する複数のNCプログラムの中から一のNCプログラムを選択し、選択したNCプログラムに基づく被削材3の加工開始を指示する。CPU31は入力部16から加工開始指示を受け付けると、ROM32に記憶するメインプログラムを読み込み、本処理を実行する。なお、本実施形態は、操作パネル15の入力部16において、補償入力パラメータを予め設定可能である。補償入力パラメータとは、例えば上述のtlとtdである。設定した補償入力パラメータは記憶装置34等に記憶するとよい。
【0037】
CPU31は入力部16で選択を受け付けたNCプログラムを読み込み(S1)、一行解釈する(S2)。CPU31は解釈した指令が終了指令か否か判断する(S3)。終了指令で無ければ(S3:NO)、CPU31は解釈した指令が位置指令か否か判断する(S4)。位置指令でも無ければ(S4:NO)、CPU31は解釈した指令に基づき動作を実行し(S5)、S2に戻り、次の一行を解釈する。解釈した指令が例えばX軸方向の位置指令である場合(S4:YES)、CPU31は位置指令をX軸モータ53の駆動回路53Aに出力し(S6)、補償トルク加算処理を実行する(S7)。S3において、解釈した指令が終了指令と判断すると(S4:YES)、CPU31はメイン処理を終了する。
【0038】
図13を参照し、補償トルク加算処理を説明する。CPU31は位置指令に基づく加速又は減速指令(加速度指令)の出力を開始したか否か判断する(S11)。加速又は減速指令を出力しない場合(S11:NO)、加速又は減速に伴う振動がテーブル13に生じないので、CPU31は補償トルクを生成する必要が無い。故にCPU31は何もせずに本処理を終了し、
図12に示すメイン処理のS2に戻り、次の一行を解釈して処理を繰り返す。
【0039】
加速又は減速指令の出力を開始した場合(S11:YES)、CPU31は加速又は減速指令の出力を開始(
図5のts参照)してから遅れ時間tdが経過したか否か判断する(S12)。遅れ時間tdは記憶装置34から読み出す。遅れ時間tdが経過するまで(S12:NO)、CPU31はS12に戻って待機する。遅れ時間tdが経過した場合(S12:YES)、CPU31は補償トルク指令を生成する(S13)。
【0040】
CPU31はS6で出力した位置指令から指令速度を求め、指令速度と加減速時定数等の情報から指令最大加速度を求める。CPU31は指令最大加速度からテーブル13の加速度振幅を求める。CPU31は求めた加速度振幅と記憶装置34に記憶されたtlに基づき、補償トルク指令に必要な力積を求める。例えば、加速度振幅が2.537m/s2で、記憶装置34等に予め記憶したtlが2msであった場合、
図11に示すデータに基づき、力積は約20NMとなる。CPU31は求めた力積に対応する補償トルク指令を生成する。なお、補償トルク指令の力の大きさTCは、モータに定められている許容トルクを考慮するのがよい。TCはtlを調整することによって調整できる。
【0041】
CPU31は生成した補償トルク指令を、
図3に示すサーボ制御系の電流制御部68に出力することで、加算器67が出力するトルク指令に加算する(S14)。補償トルク指令をトルク指令に加算することにより、テーブル13が加速又は減速時に発生する振動に対して、大きさが同じで且つ180°逆位相の振動が発生する。故にCPU31はテーブル13の加速又は減速時に発生する振動を打ち消して抑制できる。CPU31は
図12に示すメイン処理のS2に戻り、次の一行を解釈して処理を繰り返す。解釈した指令が終了指令である場合(S3:YES)、CPU31はメイン処理を終了する。
【0042】
本実施形態は、テーブル13に発生する振動のオーバシュートをトリガとするのでは無く、位置指令の変化に基づき、予想されるテーブル13に発生する振動と大きさが同じで、180°逆位相の振動をフィードフォワード処理で発生させる。具体的には、モータの加速又は減速指令の出力開始をトリガとして、その遅れ時間td経過後に補償トルク指令をトルク指令に加算する。故に数値制御装置30は、テーブル13の加速又は減速時に発生する振動を効果的に抑制できる。
【0043】
次に、本実施形態の振動抑制機能の効果を実証する為に確認試験を行った。確認試験では、補償トルク有りと無しで、
図14の左側に示す菱形状の移動経路に沿ってテーブル13を移動した場合に、コーナ部C1とC2通過後にテーブル13に発生する振動を測定した。コーナ部C1とC2はY軸方向で移動方向が反転する部分である。
【0044】
例えばF=15000mm/minの移動速度で反転したときのテーブル13に生じた加速度振幅の最大値は2.537m/s2であった。このとき、補償トルクに必要とする力積は、
図11に示すように、tl=2msであれば約20Nm・ms、tl=2.5msであれば約30Nm・msであることがわかった。故に本実施形態は、tl=2.5ms、力積=30Nm・msに設定し、補償トルクの大きさTCを、30/2.537=11.8Nmに設定した。遅れ時間tdは、テーブル13に発生する振動に対して位相を逆にする為、テーブル装置10の機械固有振動数の半周期の整数倍にするのがよい。本実施形態は、遅れ時間tdを機械固有振動数の半周期の一倍に設定した。
【0045】
図14に示すように、コーナ部C1をY軸方向において正から負方向に反転して移動した時にテーブル13に生じた振動は、補償トルク無しでは、コーナ部C1通過直後から上下に大きく振幅し、時間経過と共に徐々に減衰した。これに対し、補償トルク有りでは、補償トルク無しに比べて振幅が全体的にかなり小さくなっていることから、振動が抑制されていることを確認できた。他方、コーナ部C2をY軸方向において負から正方向に反転して移動したときのテーブル13に生じた振動は、補償トルク無しでは、コーナ部C2通過直後は、コーナ部C1の通過後とは逆に上下に小さく振幅し、時間経過と共に徐々に増大した。これに対し、補償トルク有りでは、補償トルク無しに比べて振幅が全体的にかなり小さくなっていることから、振動が抑制されていることを確認できた。以上のことから、本実施形態の振動抑制機能は、テーブル13の移動経路の反転部分においてテーブル13に発生する振動を抑制できることが実証された。
【0046】
図15〜
図17を参照し、補償トルク指令の変形例を説明する。本実施形態は、インパルス状の波形(矩形波)を有する補償トルク指令をトルク指令に加算しているが、インパルス状以外の波形を有する補償トルク指令を加算してもよい。インパルス状の波形は、広義の意味では、矩形波以外に、例えば、三角波、所定の周波数をもつ正弦波又は余弦波の半周期分に相当する波形、所定の周期と減衰比をもつ減衰振動波形、インパルスハンマによる加振力波形を模擬した波形、矩形波や三角波をローパスフィルタにより処理し、補償対象の振動の周波数以上の周波数を除いた波形、矩形波や三角波をバンドパスフィルタにより処理し、補償対象の振動の周波数のみを抽出した波形、矩形波や三角波をノッチフィルタにより処理し、補償にあたり不要な周波数を除去した波形、矩形波や三角波をハイパスフィルタにより処理し、補償対象の振動の周波数以下の周波数を除いた波形、補償対象の周波数に応じた入力タイミングを考慮し、上記補償信号を複数組み合わせた波形等を含むものとし、これらの波形に基づき、補償トルク指令を生成してもよい。本実施形態はこれらの波形の中から補償トルク指令として加算する波形を、操作パネル15の入力部16で選択して設定できるようにしてもよい。
【0047】
次に、減衰振動波形を有する補償トルク指令をトルク指令に加算する場合についてシミュレーション実験を行った。本実験は、
図15に示す二慣性系の機械系シミュレーションモデルを用いた。本モデルは、モータとテーブル(負荷)の間をばねで接続した機械系モデルである。本実験は、モータ側の慣性、テーブル側の慣性と粘性、ばね定数等を考慮する。本実験で用いた減衰振動の式は以下の数1である。a,b,cは任意の定数、ωは機械の固有振動数である。数1に基づく減衰振動波形の一例は、
図16に示す図表である。
【数1】
【0048】
図17を参照し、実験結果を説明する。
図17(A)は、機械反転後の振動波形を振動数(μm)で示している。実線はテーブルの振動波形、点線はモータの振動波形を示している。モータとテーブルの振動波形は同一時刻で同様に振幅し、時間経過と共に徐々に減衰している。モータの振動波形よりもテーブルの振動波形の方が大きい。
図17(B)は、補償入力用の減衰振動波形を振動数(μm)で示している。モータとテーブルの減衰振動波形は、
図17(A)の振動波形に対して同一時刻で逆の振幅となった逆位相の波形である。
【0049】
図17(C)は、
図17(A)の振動波形に対して、
図17(B)の減衰振動波形を入力した実験結果である。
図17(A)に比べて、テーブルの振動波形はほぼ直線となっていることから、テーブルに発生する振動を抑制できることを確認できた。なお、モータの振動波形は、機械反転後の初期においてテーブルとは異なる挙動を示しているが、機械系の最終出力側であるテーブルの振動が十分に抑制できているので問題ないと思われる。
【0050】
以上説明にて、テーブル装置10は本発明の機械装置の一例である。操作パネル15は本発明の設定手段の一例である。遅れ時間tdは本発明の所定時間の一例である。TCは本発明の最大出力値の一例である。tlは本発明の出力時間の一例である。駆動回路53Aの加算器67が本発明のトルク指令出力部の一例である。
図13の補償トルク加算処理のS13の処理を実行するCPU31は本発明のトルク指令生成手段の一例である。S14の処理を実行するCPU31は本発明の加算手段の一例である。CPU31が実行するS13の処理は本発明のトルク指令生成工程の一例である。CPU31が実行するS14の処理は本発明の加算工程の一例である。
【0051】
以上説明したように、本実施形態の数値制御装置30は工作機械1の動作を制御する。工作機械1はテーブル装置10を備える。テーブル装置10は、X軸モータ53とY軸モータ54により駆動し、テーブル13をX軸方向とY軸方向に移動(並進)する。駆動回路53A,54Aのサーボ制御系は、X軸モータ53とY軸モータ54に対し、移動指令に基づくトルク指令を出力する。テーブル装置10はトルク指令により駆動する。数値制御装置30はテーブル装置10の駆動時にテーブル13に発生する振動と180°逆位相の振動に対応する補償トルク指令を生成する。数値制御装置30は生成した補償トルク指令をトルク指令に加算する。故に数値制御装置30はトータルでのテーブル13に発生する振動、即ち、テーブル13と工具4の相対振動を打ち消して抑制できる。数値制御装置30はモータのトルクが許す限りの速度で加工を行うことができるので、加工のサイクルタイムを短縮できる。
【0052】
本実施形態は、インパルス状の補償トルク指令のTC、tl、tdを変化させることで、テーブルと工具の相対振動と大きさが同じで180°位相の異なる振動を発生できる。
【0053】
本発明は上記実施形態に限らず各種変形が可能なことはいうまでもない。上記実施形態の工作機械1は、工具4を装着する主軸9がZ軸方向に移動可能であり、テーブル13がX軸とY軸方向に移動可能であるが、テーブル13に対してX軸、Y軸、Z軸方向に相対的に移動する工具の移動機構の仕組みは上記実施形態に限定しない。例えば主軸はX、Y、Z軸方向の三軸に駆動するもので、テーブルは固定若しくは回転可能であってもよい。主軸を三軸に駆動する工作機械の場合、主軸の移動開始時、移動停止時、又は移動速度の変化時に発生する加速又は減速に基づく振動を抑制できる。即ち本実施形態は工具とテーブルの相対的移動によって生じる振動を抑制できる。
【0054】
上記実施形態のテーブル装置10はテーブル13をX軸方向とY軸方向に並進可能に支持する機械装置であるが、テーブル13を回転可能に支持するようにしてもよい。また、上記実施形態はテーブル装置10を本発明の機械装置の一例として説明したが、モータにより駆動され並進又は回転運動をする機械装置であれば、テーブル装置10に限定しない。
【0055】
上記実施形態は、テーブル13のY軸方向反転時に発生する振動を抑制することを例に説明したが、テーブル13の移動開始時、移動停止時に発生する加速又は減速時に基づく振動も抑制できる。
【0056】
上記実施形態は、補償トルク加算処理(
図13参照)のS13の処理において、補償トルクを生成しているが、例えばNCプログラムを先読みすることによって、補償トルクを生成してもよい。
【0057】
上記実施形態は、工作機械1の動作を制御する数値制御装置30を一例として説明したが、モータにより駆動され並進又は回転運動をする機械装置に対してモータに移動指令に基づくトルク指令を出力するトルク指令出力部を有し、該トルク指令出力部が出力したトルク指令により機械装置に発生する振動を抑制する振動抑制装置にも適用可能である。
【0058】
上記実施形態の工作機械1は主軸がZ軸方向に対して平行な縦型の工作機械であるが、主軸が水平方向に延びる横型の工作機械であってもよい。
【0059】
上記実施形態の駆動回路51A〜55Aは工作機械1に設けているが、駆動回路51A〜55Aを数値制御装置30に設けてもよい。