JP5991249B2 - Numerical controller - Google Patents

Numerical controller Download PDF

Info

Publication number
JP5991249B2
JP5991249B2 JP2013065368A JP2013065368A JP5991249B2 JP 5991249 B2 JP5991249 B2 JP 5991249B2 JP 2013065368 A JP2013065368 A JP 2013065368A JP 2013065368 A JP2013065368 A JP 2013065368A JP 5991249 B2 JP5991249 B2 JP 5991249B2
Authority
JP
Japan
Prior art keywords
compensation amount
moving
moving body
speed
torque
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
JP2013065368A
Other languages
Japanese (ja)
Other versions
JP2014191520A (en
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 JP2013065368A priority Critical patent/JP5991249B2/en
Priority to CN201410035270.6A priority patent/CN104076740B/en
Publication of JP2014191520A publication Critical patent/JP2014191520A/en
Application granted granted Critical
Publication of JP5991249B2 publication Critical patent/JP5991249B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Description

本発明は数値制御装置に関する。   The present invention relates to a numerical controller.

工作機械は或る駆動軸の移動方向が反転した時に機構の弾性変形による遅れを生ずる。遅れはロストモーションと呼び、加工精度が低下する原因となる。ロストモーションを補償する為に、数値制御装置は移動方向反転時にロストモーションに相当する量を予測して、指令位置に加えておく。特許文献1は入力を反転位置からの距離、出力を補償量とした関数としてロストモーションを補償する。特許文献2は同じく反転位置からの距離の関数としてロストモーションを補償するが、ロストモーションの立ち上がりを滑らかなexp関数で近似する。   The machine tool causes a delay due to elastic deformation of the mechanism when the moving direction of a certain drive shaft is reversed. The delay is referred to as lost motion and causes a reduction in machining accuracy. In order to compensate for the lost motion, the numerical controller predicts an amount corresponding to the lost motion when the moving direction is reversed and adds it to the command position. Patent Document 1 compensates for lost motion as a function of the input as the distance from the inversion position and the output as the compensation amount. Patent Document 2 similarly compensates for lost motion as a function of the distance from the reversal position, but approximates the rise of the lost motion with a smooth exp function.

特開平8−152910号公報JP-A-8-152910 特開平10−154007号公報Japanese Patent Laid-Open No. 10-154007

特許文献1,2に記載の手法は、反転時及び移動中のロストモーションは良好に補償できるが、停止時は過補償となって加工精度が低下するという問題点があった。   The methods described in Patent Documents 1 and 2 can satisfactorily compensate for lost motion during reversal and movement, but have a problem in that machining accuracy is reduced due to overcompensation when stopped.

本発明の目的は、移動中、反転時、及び停止時に応じてロストモーションを精度良く補償できる数値制御装置を提供することである。   An object of the present invention is to provide a numerical controller capable of accurately compensating for lost motion according to movement, reversal, and stop.

本発明の請求項1に係る数値制御装置は、ボール螺子軸と該ボール螺子軸に外嵌するボールナットとを有し該ボールナットに固定した移動体を移動する送り機構と、前記ボール螺子軸を回転駆動するモータと、前記モータで移動した前記移動体の位置を前記モータの回転量に基づいて検出する位置検出機構と、該位置検出機構が検出した前記移動体の位置と制御部が生成する位置指令とが一致するように速度指令を生成する速度生成部と、前記モータの速度を検出する速度検出機構と、前記速度検出機構が検出した速度と前記速度生成部が生成した速度指令とが一致するようにトルク指令を生成するトルク生成部と、前記移動体の移動方向が反転した後に前記送り機構の弾性変形に起因して生じるロストモーションの補償量を演算する演算手段と、前記演算手段が演算した前記補償量を前記位置指令に加算して前記位置指令を補正する加算手段とを備えた数値制御装置において、前記演算手段は、前記移動体が移動中か停止中かを判断する判断手段と、前記判断手段が前記移動体は移動中と判断した場合、前回の補償量に前記移動体の移動量に基づく値を加算して前記補償量を演算する第一演算手段と、前記判断手段が前記移動体は停止中と判断した場合、前記トルク指令に基づいて前記補償量を演算する第二演算手段とを備えることを特徴とする。移動体の移動中、第一演算手段は移動量の関数を用いて補償量を演算する。移動体の停止中、第二演算手段はトルク指令の関数を用いて補償量を演算する。演算手段は移動体が移動中か停止中で関数を使い分ける。故に数値制御装置は、移動体の移動中や反転時に安定した補償を行いながら停止時に過補償となることを防止できる。故に数値制御装置は移動中、反転時、及び停止時に応じてロストモーションを精度良く補償できる。   A numerical control device according to a first aspect of the present invention includes a ball screw shaft and a feed mechanism that moves a moving body fixed to the ball nut, the ball screw shaft having a ball nut fitted on the ball screw shaft, and the ball screw shaft. A motor that rotates the motor, a position detection mechanism that detects the position of the moving body moved by the motor based on the rotation amount of the motor, and a position and a control unit of the moving body that are detected by the position detection mechanism A speed generation unit that generates a speed command so as to match a position command to be performed, a speed detection mechanism that detects the speed of the motor, a speed detected by the speed detection mechanism, and a speed command generated by the speed generation unit A torque generation unit that generates a torque command so as to match, and a calculation unit that calculates a compensation amount of lost motion caused by elastic deformation of the feed mechanism after the moving direction of the moving body is reversed And an addition unit that corrects the position command by adding the compensation amount calculated by the calculation unit to the position command, wherein the calculation unit is moving or stopped. And a first calculation for calculating the compensation amount by adding a value based on the moving amount of the moving body to the previous compensation amount when the determining unit determines that the moving body is moving. And a second calculating unit that calculates the compensation amount based on the torque command when the determining unit determines that the moving body is stopped. During the movement of the moving body, the first calculation means calculates the compensation amount using a function of the movement amount. While the moving body is stopped, the second calculation means calculates the compensation amount using a torque command function. The calculation means uses the function properly while the moving body is moving or stopped. Therefore, the numerical control device can prevent overcompensation at the time of stop while performing stable compensation while the moving body is moving or reversing. Therefore, the numerical control device can compensate for lost motion with high accuracy according to movement, reversal, and stop.

請求項2に係る発明の数値制御装置は、請求項1に記載の発明の構成に加え、前記移動体を所定速度で一定方向に移動させた時のトルク値を基準トルクとし、前記第二演算手段は、前記基準トルクと前記トルク指令の比率に比例するように前記補償量を演算することを特徴とする。故に第二演算手段は停止中に生じるロストモーションを補償できる。   According to a second aspect of the present invention, in addition to the configuration of the first aspect of the present invention, the numerical control device uses the torque value when the movable body is moved in a constant direction at a predetermined speed as a reference torque, and the second calculation The means is characterized in that the compensation amount is calculated so as to be proportional to a ratio between the reference torque and the torque command. Therefore, the second calculation means can compensate for the lost motion that occurs during the stop.

請求項3に係る発明の数値制御装置は、請求項2に記載の発明の構成に加え、前記移動体を前記所定速度で前記一定方向に移動させた時の最大の補償量を最大補償量とし、前記第二演算手段は、前記比率に前記最大補償量を乗算することによって、前記補償量を演算することを特徴とする。故に第二演算手段は停止中に生じるロストモーションを補償できる。   A numerical control apparatus according to a third aspect of the present invention, in addition to the configuration of the second aspect of the present invention, has a maximum compensation amount when the movable body is moved in the predetermined direction at the predetermined speed as a maximum compensation amount. The second calculating means calculates the compensation amount by multiplying the ratio by the maximum compensation amount. Therefore, the second calculation means can compensate for the lost motion that occurs during the stop.

請求項4に係る発明の数値制御装置は、請求項1から3の何れかに記載の発明の構成に加え、前記第一演算手段は、前記移動体が停止中から移動する場合、停止中の前記補償量を前記前回の補償量とすることを特徴とする。故に数値制御装置は停止から移動に転じる時のロストモーションの変化を良好に補償できる。   According to a fourth aspect of the present invention, in addition to the configuration of the invention according to any one of the first to third aspects, the first calculation means is configured to stop the moving body when the moving body moves from the stopped state. The compensation amount is the previous compensation amount. Therefore, the numerical controller can satisfactorily compensate for the change in the lost motion when changing from the stop to the movement.

テーブル機構20の斜視図。The perspective view of the table mechanism 20. FIG. 数値制御装置1の電気的構成を示す図。The figure which shows the electric constitution of the numerical control apparatus. 移動中の補償量を示すグラフ。The graph which shows the amount of compensation during movement. 停止中の補償量を示すグラフ。The graph which shows the compensation amount in the stop. 停止から移動に遷移した時の補償開始位置を示すグラフ。The graph which shows the compensation start position when changing from a stop to a movement. 移動から停止に遷移した時の補償量を示すグラフ。The graph which shows the amount of compensation when changing from a movement to a stop. 補償処理の流れ図。The flowchart of a compensation process. テーブル機構40の構成図。The block diagram of the table mechanism 40. FIG. 第一手法を用いて補償量を算出した結果を示すグラフ。The graph which shows the result of having calculated the compensation amount using the 1st method. 第二手法を用いて補償量を算出した結果を示すグラフ。The graph which shows the result of having calculated the compensation amount using the 2nd method. 第三手法を用いて補償量を算出した結果を示すグラフ。The graph which shows the result of having calculated the compensation amount using the 3rd method.

本発明の一実施形態を図面を参照して説明する。図1に示すテーブル機構20は工作機械に設ける。テーブル機構20はテーブル3をX軸方向とY軸方向に移動可能に支持する。工作機械の主軸(図示略)はZ軸方向に昇降可能である。数値制御装置1はNCプログラムが指定する経路に従い、主軸とテーブル機構20の動作を制御し、テーブル3上に治具で固定したワーク(図示略)の切削加工を行う。尚、図1の左斜め下方、右斜め上方、右斜め下方、左斜め上方は、夫々、テーブル機構20の前方、後方、右方、左方である。テーブル機構20の左右方向、前後方向、上下方向は、夫々、X軸方向、Y軸方向、Z軸方向である。   An embodiment of the present invention will be described with reference to the drawings. The table mechanism 20 shown in FIG. 1 is provided in a machine tool. The table mechanism 20 supports the table 3 so as to be movable in the X-axis direction and the Y-axis direction. A spindle (not shown) of the machine tool can be moved up and down in the Z-axis direction. The numerical controller 1 controls the operation of the spindle and the table mechanism 20 according to the path specified by the NC program, and performs cutting of a work (not shown) fixed on the table 3 with a jig. Note that the diagonally lower left, diagonally upper right, diagonally lower right, and diagonally upper left in FIG. 1 are the front, rear, right, and left sides of the table mechanism 20, respectively. The left-right direction, the front-rear direction, and the vertical direction of the table mechanism 20 are an X-axis direction, a Y-axis direction, and a Z-axis direction, respectively.

図1を参照し、テーブル機構20の構造を説明する。テーブル機構20は基台2、中間テーブル50、テーブル3を備える。基台2は上面に中間テーブル50をY軸方向に移動可能に支持する。中間テーブル50は上面にテーブル3をX軸方向に移動可能に支持する。故にテーブル3は基台2を基準にX軸方向とY軸方向に移動可能となる。   The structure of the table mechanism 20 will be described with reference to FIG. The table mechanism 20 includes a base 2, an intermediate table 50, and a table 3. The base 2 supports the intermediate table 50 on the upper surface so as to be movable in the Y-axis direction. The intermediate table 50 supports the table 3 on the upper surface so as to be movable in the X-axis direction. Therefore, the table 3 can move in the X-axis direction and the Y-axis direction with respect to the base 2.

基台2は上面に一対のリニアガイド6A、ボール螺子軸4A、モータ2A等を備える。リニアガイド6AはY軸方向に延出する。リニアガイド6Aは中間テーブル50をY軸方向に案内する。ボール螺子軸4Aは一対のリニアガイド6Aの間にY軸方向に平行に設ける。中間テーブル50は下面にボールナット(図示略)を固定する。ボール螺子軸4Aはボールナットに挿入する。モータ2Aはボール螺子軸4Aを回転する。ボール螺子軸4Aが回転すると、中間テーブル50はボールナットを介してY軸方向に移動する。   The base 2 includes a pair of linear guides 6A, a ball screw shaft 4A, a motor 2A, and the like on the upper surface. The linear guide 6A extends in the Y-axis direction. The linear guide 6A guides the intermediate table 50 in the Y-axis direction. The ball screw shaft 4A is provided parallel to the Y-axis direction between the pair of linear guides 6A. The intermediate table 50 has a ball nut (not shown) fixed to the lower surface. The ball screw shaft 4A is inserted into the ball nut. The motor 2A rotates the ball screw shaft 4A. When the ball screw shaft 4A rotates, the intermediate table 50 moves in the Y-axis direction via the ball nut.

中間テーブル50はX軸方向に長手を有する板状である。中間テーブル50は上面に一対のリニアガイド6B、ボール螺子軸4B、モータ2B等を備える。リニアガイド6BはX軸方向に延出する。リニアガイド6Bはテーブル3をX軸方向に案内する。ボール螺子軸4Bは一対のリニアガイド6Bの間にX軸方向に平行に設ける。テーブル3は下面にボールナット5(図8参照)を固定する。ボール螺子軸4Bはボールナット5に挿入する。モータ2Bはボール螺子軸4Bを回転する。ボール螺子軸4Bが回転すると、テーブル3はボールナット5を介してX軸方向に移動する。従って、テーブル機構20はテーブル3をX軸方向とY軸方向に移動できる。   The intermediate table 50 has a plate shape having a length in the X-axis direction. The intermediate table 50 includes a pair of linear guides 6B, a ball screw shaft 4B, a motor 2B, and the like on the upper surface. The linear guide 6B extends in the X-axis direction. The linear guide 6B guides the table 3 in the X-axis direction. The ball screw shaft 4B is provided parallel to the X-axis direction between the pair of linear guides 6B. The table 3 fixes a ball nut 5 (see FIG. 8) to the lower surface. The ball screw shaft 4B is inserted into the ball nut 5. The motor 2B rotates the ball screw shaft 4B. When the ball screw shaft 4B rotates, the table 3 moves in the X-axis direction via the ball nut 5. Therefore, the table mechanism 20 can move the table 3 in the X-axis direction and the Y-axis direction.

数値制御装置1はモータ2A、2Bに夫々接続する。数値制御装置1はモータ2A,2Bを駆動して、テーブル3をX軸方向とY軸方向に移動する。ボール螺子軸4A、4B、ボール螺子軸4Aに取り付けるボールナット、ボールナット5はモータ2A、2Bの回転運動を二軸方向におけるテーブル3の直進運動に変換する。数値制御装置1はモータ2A、2Bを制御し、テーブル3の位置、速度、加速度を制御する。ロータリーエンコーダ60(以下、エンコーダ60という)はモータ2A、2Bに夫々取り付ける。各エンコーダ60はモータ2A、2Bの各位置(回転角)を検出する。数値制御装置1はテーブル3の位置を、モータ2A,2Bの各位置、ボール螺子軸4A、4Bのピッチ(螺子山の間隔)に基づいて算出する。   The numerical controller 1 is connected to the motors 2A and 2B, respectively. The numerical controller 1 drives the motors 2A and 2B to move the table 3 in the X-axis direction and the Y-axis direction. The ball screw shafts 4A and 4B, a ball nut attached to the ball screw shaft 4A, and the ball nut 5 convert the rotational motion of the motors 2A and 2B into the straight motion of the table 3 in the biaxial direction. The numerical control device 1 controls the motors 2A and 2B, and controls the position, speed, and acceleration of the table 3. A rotary encoder 60 (hereinafter referred to as an encoder 60) is attached to each of the motors 2A and 2B. Each encoder 60 detects each position (rotation angle) of the motors 2A and 2B. The numerical controller 1 calculates the position of the table 3 based on the positions of the motors 2A and 2B and the pitch of the ball screw shafts 4A and 4B (screw thread interval).

図2を参照し、数値制御装置1の構成を説明する。数値制御装置1は、上位制御部10、位置制御器11、速度制御器12、補償器13、電流制御増幅器15、微分器16、加算器17等を備える。上位制御部10はNCプログラムに基づき、位置指令信号を位置制御器11に出力する。各エンコーダ60はモータ2A、2Bの位置検出信号を位置制御器11に出力する。位置制御器11は位置指令信号と位置検出信号が一致するように速度指令信号を生成し速度制御器12に出力する。微分器16は位置検出信号を速度検出信号に変換し速度制御器12に加える。速度制御器12は速度指令信号と速度検出信号とが一致するようにトルク指令信号を生成し、電流制御増幅器15と補償器13に夫々出力する。   The configuration of the numerical control device 1 will be described with reference to FIG. The numerical controller 1 includes a host controller 10, a position controller 11, a speed controller 12, a compensator 13, a current control amplifier 15, a differentiator 16, an adder 17, and the like. The host controller 10 outputs a position command signal to the position controller 11 based on the NC program. Each encoder 60 outputs the position detection signals of the motors 2A and 2B to the position controller 11. The position controller 11 generates a speed command signal so that the position command signal matches the position detection signal, and outputs the speed command signal to the speed controller 12. The differentiator 16 converts the position detection signal into a speed detection signal and applies it to the speed controller 12. The speed controller 12 generates a torque command signal so that the speed command signal matches the speed detection signal, and outputs the torque command signal to the current control amplifier 15 and the compensator 13, respectively.

補償器13は、テーブル3の状態に応じて、上位制御部10からの位置指令信号又は速度制御器12からのトルク指令信号に基づき、ロストモーション補償量(以下、補償量という)を算出し、ロストモーション補償信号を生成し加算器17に出力する。加算器17はロストモーション補償信号を上位制御部10が位置制御器11に出力した位置指令信号に加算する。故に位置制御器11はロストモーションを補償した位置指令信号と位置検出信号が一致するようにトルク指令信号を生成する。速度制御器12はロストモーションを補償したトルク指令信号を生成する。電流制御増幅器15はトルク指令信号にできる限り忠実なトルクを発生するようにモータ2A、2Bの電流を制御する。   The compensator 13 calculates a lost motion compensation amount (hereinafter referred to as a compensation amount) based on a position command signal from the host controller 10 or a torque command signal from the speed controller 12 according to the state of the table 3, A lost motion compensation signal is generated and output to the adder 17. The adder 17 adds the lost motion compensation signal to the position command signal output from the host controller 10 to the position controller 11. Therefore, the position controller 11 generates a torque command signal so that the position command signal compensated for the lost motion matches the position detection signal. The speed controller 12 generates a torque command signal that compensates for the lost motion. The current control amplifier 15 controls the currents of the motors 2A and 2B so as to generate torque that is as faithful as possible to the torque command signal.

図3〜図6を参照し、補償器13によるロストモーション補償方法を説明する。ロストモーションはテーブル3の状態に応じて特性が異なる。テーブル3の状態とは、少なくとも移動状態と停止状態を含む。工作機械がワークを加工する為に、テーブル3は移動と停止を交互に繰り返す。故に数値制御装置1は移動状態と停止状態とで補償量の算出方法を夫々変える必要がある。更に数値制御装置1は移動状態から停止状態に遷移する時、停止状態から移動状態に遷移する時の補償量を規定しておく必要がある。本実施形態はこれらを考慮し補償量をテーブル3の状態に応じて以下のように算出する。   A lost motion compensation method by the compensator 13 will be described with reference to FIGS. The lost motion has different characteristics depending on the state of the table 3. The state of the table 3 includes at least a moving state and a stopped state. In order for the machine tool to process the workpiece, the table 3 repeats moving and stopping alternately. Therefore, it is necessary for the numerical control device 1 to change the compensation amount calculation method between the moving state and the stopped state. Further, the numerical control device 1 needs to define a compensation amount when transitioning from the stopped state to the moving state when transitioning from the moving state to the stopped state. In the present embodiment, taking these into account, the compensation amount is calculated as follows according to the state of the table 3.

[移動状態]
補償器13は以下(1)式を用いて補償量を算出する。
・・・(1)式
尚、Lcは補償器出力、Lcn−1は前回補償器出力、Pcは最大補償量、Apは傾き係数、Δxは位置指令の増分である。
[Moving state]
The compensator 13 calculates a compensation amount using the following equation (1).
... (1) Incidentally, Lc n compensation output, Lc n-1 the previous compensator output, Pc is the maximum compensation amount, Ap is the slope factor, [Delta] x is the increment of the position command.

図3は(1)式を用いて算出した移動状態の補償量をグラフに表したものである。補償量はテーブル3の移動量に比例して増加もしくは減少する。但し、−Pc/2≦Lcn≦Pc/2とし、それ以降は補償量は増加せずに一定になる。移動量に対して比例して増加する傾きと、最大補償量は実際に測定することで決定するパラメータである。補償量が一定になった後で移動方向が反転した場合、直ちに補償量が減少する。故に補償量は元の場所には戻らないヒステリシス特性の軌跡を描く。 FIG. 3 is a graph showing the compensation amount of the movement state calculated using the equation (1). The compensation amount increases or decreases in proportion to the movement amount of the table 3. However, −Pc / 2 ≦ Lc n ≦ Pc / 2, and thereafter, the compensation amount does not increase and becomes constant. The slope that increases in proportion to the amount of movement and the maximum compensation amount are parameters that are determined by actual measurement. If the moving direction is reversed after the compensation amount becomes constant, the compensation amount immediately decreases. Therefore, the compensation amount draws a locus of hysteresis characteristics that does not return to the original location.

[停止状態]
補償器13は以下(2)式を用いて補償量を算出する。
・・・(2)式
尚、Lcは補償器出力、Pcは最大補償量、Tlは基準トルク、Tcはトルク指令である。但し、−Pc/2≦Lc≦Pc/2とする。
[State of standstill]
The compensator 13 calculates a compensation amount using the following equation (2).
(2) Lc is a compensator output, Pc is a maximum compensation amount, Tl is a reference torque, and Tc is a torque command. However, it is set as -Pc / 2 <= Lc <= Pc / 2.

図4は(2)式を用いて算出した停止状態の補償量をグラフに表したものである。補償量はトルク指令の値に比例して増加する。補償量が或る一定の値になるとそれ以上補償量は増加しない。トルク指令に対して比例する補償量の傾きは実測で求める。最大補償量Pcは移動中の最大補償量と同じである。基準トルクはテーブル3を所定速度で一定方向に移動した時のトルク値である。途中でトルク指令が反転した場合、補償量は移動状態とは異なり元の場所に戻る。   FIG. 4 is a graph showing the compensation amount in the stopped state calculated using the equation (2). The compensation amount increases in proportion to the value of the torque command. When the compensation amount reaches a certain value, the compensation amount does not increase any more. The slope of the compensation amount proportional to the torque command is obtained by actual measurement. The maximum compensation amount Pc is the same as the maximum compensation amount during movement. The reference torque is a torque value when the table 3 is moved in a constant direction at a predetermined speed. If the torque command is reversed halfway, the compensation amount returns to the original location unlike the moving state.

[停止状態から移動状態に遷移した時]
図5に示す如く、停止状態から移動状態に遷移した時、補償器13は停止時の補償量に対応する位置から補償を開始する。
[When transitioning from the stopped state to the moving state]
As shown in FIG. 5, when the transition is made from the stopped state to the moving state, the compensator 13 starts compensation from a position corresponding to the compensation amount at the time of stopping.

[移動状態から停止状態に遷移した時]
図6に示す如く、移動状態から停止状態に遷移した時、補償器13は停止した時点のトルク指令に基づいて補償量を決定する。
[When transitioning from the move state to the stop state]
As shown in FIG. 6, when the transition is made from the movement state to the stop state, the compensator 13 determines the compensation amount based on the torque command at the time of stop.

図7を参照し、補償器13による補償処理を説明する。工作機械が動作を開始すると、補償器13は、上位制御部10からの位置指令信号又は速度制御器12からのトルク指令信号に基づき、本処理を実行する。補償器13はΔx=0か否か判断する(S1)。Δx=0でない場合(S1:NO)、テーブル3は移動状態である。故に補償器13は(1)式を用いて補償量を算出する(S2)。尚、前回が停止状態であった場合は停止状態から移動状態への遷移であるので、図5に示す如く、補償器13は停止時の補償量と対応する位置から補償を開始する。補償器13は算出した補償量に基づきロストモーション補償信号を生成し加算器17に出力する(S3)。   The compensation process by the compensator 13 will be described with reference to FIG. When the machine tool starts operation, the compensator 13 executes this processing based on the position command signal from the host controller 10 or the torque command signal from the speed controller 12. The compensator 13 determines whether Δx = 0 (S1). When Δx = 0 is not satisfied (S1: NO), the table 3 is in a moving state. Therefore, the compensator 13 calculates a compensation amount using the equation (1) (S2). If the previous stop state is a transition from the stop state to the moving state, the compensator 13 starts compensation from a position corresponding to the compensation amount at the time of stop as shown in FIG. The compensator 13 generates a lost motion compensation signal based on the calculated compensation amount and outputs it to the adder 17 (S3).

Δx=0の場合(S1:YES)、テーブル3は停止状態である。故に補償器13は(2)式を用いて補償量を算出する(S5)。尚、移動状態から停止状態に遷移した時、図6に示す如く、補償器13は停止した時点のトルク指令に基づいて補償量を算出する。補償器13は算出した補償量に基づきロストモーション補償信号を生成し加算器17に出力する(S3)。補償器13は工作機械の動作が終了したか否か判断する(S4)。動作が継続する場合(S4:NO)、補償器13はS1に戻り、処理を繰り返す。動作が終了した場合(S4:YES)、補償器13は処理を終了する。   When Δx = 0 (S1: YES), the table 3 is in a stopped state. Therefore, the compensator 13 calculates a compensation amount using the equation (2) (S5). When the transition is made from the movement state to the stop state, as shown in FIG. 6, the compensator 13 calculates a compensation amount based on the torque command at the time of stop. The compensator 13 generates a lost motion compensation signal based on the calculated compensation amount and outputs it to the adder 17 (S3). The compensator 13 determines whether the operation of the machine tool has been completed (S4). When the operation continues (S4: NO), the compensator 13 returns to S1 and repeats the process. When the operation ends (S4: YES), the compensator 13 ends the process.

次に、本実施形態の効果を確認する為に各種実験を行った。図8を参照し、実験に用いたテーブル機構40を説明する。テーブル機構40は、図1に示すテーブル機構20のうちテーブル3をX軸方向にガイドする部分で構成する。テーブル機構40は、テーブル3、ボールナット5、ボール螺子軸4B、X軸送りガイド(図示略)、モータ2B、エンコーダ60、リニアスケール30を備える。リニアスケール30は目盛(スケール)から位置情報を取得する検出器であり、テーブル3の位置を検出する。エンコーダ60が出力するフィードバック位置(以下、FB位置という)はモータ2Bの位置検出信号が示すテーブル3の位置である。ロストモーションは、同一時刻におけるFB位置とリニアスケール位置の差とみなすことができる。   Next, various experiments were performed to confirm the effect of the present embodiment. With reference to FIG. 8, the table mechanism 40 used for the experiment will be described. The table mechanism 40 is configured by a portion of the table mechanism 20 shown in FIG. 1 that guides the table 3 in the X-axis direction. The table mechanism 40 includes a table 3, a ball nut 5, a ball screw shaft 4B, an X-axis feed guide (not shown), a motor 2B, an encoder 60, and a linear scale 30. The linear scale 30 is a detector that acquires position information from a scale (scale), and detects the position of the table 3. The feedback position (hereinafter referred to as FB position) output from the encoder 60 is the position of the table 3 indicated by the position detection signal of the motor 2B. The lost motion can be regarded as a difference between the FB position and the linear scale position at the same time.

テーブル3が移動と停止を交互に繰り返す一連の動作について、3つの手法を用いて補償量を夫々算出し比較する実験を行った。一連の動作は以下の通りである。
・所定時間プラス方向に移動(500mm/min)→所定時間停止→所定時間マイナス方向に移動(−500mm/min)→所定時間停止
尚、プラス方向とマイナス方向はX軸方向において互いに逆方向の関係である。
With respect to a series of operations in which the table 3 alternately moves and stops, an experiment was performed to calculate and compare compensation amounts using three methods. A series of operations is as follows.
・ Moving in the positive direction for a predetermined time (500 mm / min) → Stopping for a predetermined time → Moving in the negative direction for a predetermined time (−500 mm / min) → Stopping for a predetermined time It is.

3つの手法は以下の通りである。第一手法は(1)式のみを用いて補償する方法、第二手法は(2)式のみを用いて補償する方法、第三手法は本発明手法である。本発明手法は移動時と停止時に応じて(1)式と(2)式を使い分けて補償する方法である。各実験はロストモーションを実際に測定し、実測値と各手法を用いた補償量とを比較して評価した。   The three methods are as follows. The first method is a method of compensation using only equation (1), the second method is a method of compensation using only equation (2), and the third method is the method of the present invention. The method of the present invention is a method for compensating by using the equations (1) and (2) properly according to the time of movement and the time of stop. In each experiment, the lost motion was actually measured, and the measured value was compared with the compensation amount using each method for evaluation.

図9を参照し、第一手法を用いて補償量を算出した結果を説明する。図9のグラフが示す如く、ロストモーションの実測値は、テーブル3の移動中は小刻みに上下に振幅しながら一定の値を保持し、停止した後はなだらかに低下しその後一定の値を保持した。振幅の原因はX軸送りガイド及びボール螺子軸4B等の影響で生じたトルクむらであると考えられる。これに対し、第一手法を用いて算出した補償量は、移動中は実測値に近い値を示すことができたが、停止中はそれ以前の移動中の補償量から変化せず、実測値に近づけることができなかった。これは、第一手法で用いた(1)式がテーブル3の移動状態のみに適応した計算式であり、停止状態には全く適応していないからである。   The result of calculating the compensation amount using the first method will be described with reference to FIG. As shown in the graph of FIG. 9, the measured value of the lost motion is maintained at a constant value while swinging up and down in small increments during the movement of the table 3, and gradually decreases after stopping and then maintains a constant value. . The cause of the amplitude is considered to be torque unevenness caused by the influence of the X-axis feed guide, the ball screw shaft 4B, and the like. On the other hand, the compensation amount calculated using the first method was able to show a value close to the actual measurement value during movement, but during the stop, the compensation amount did not change from the previous compensation amount during movement. I could n’t get close to This is because the equation (1) used in the first method is a calculation equation adapted only to the moving state of the table 3, and is not adapted to the stopped state at all.

図10を参照し、第二手法を用いて補償量を算出した結果を説明する。ロストモーションの実測値は図9と同じである。第二手法を用いて算出した補償量は、停止中については実測値に近い値を示すことができたが、移動中については実測値の振幅よりもさらに大きくなってしまい、実測値から離れてしまった。これは、第二手法で用いた(2)式がテーブル3移動中のトルクむらによる影響をロストモーションの実測値よりも大きく算出し、移動状態には全く適応していないからである。   The result of calculating the compensation amount using the second method will be described with reference to FIG. The actual measurement value of the lost motion is the same as in FIG. The compensation amount calculated using the second method was able to show a value close to the actual measurement value while stopped, but it became even larger than the actual measurement amplitude while moving, and was far from the actual measurement value. I have. This is because Equation (2) used in the second method calculates the effect of torque unevenness during the movement of the table 3 to be larger than the actually measured value of the lost motion, and is not adapted to the moving state at all.

図11を参照し、第三手法を用いて補償量を算出した結果を説明する。ロストモーションの実測値は図9と同じである。第三手法を用いて算出した補償量は、移動中及び停止中共に実測値に近い値を示すことができた。故に第三手法は、移動中は(1)式、停止中は(2)式を夫々使い分けることによって、テーブル3の状態に応じた補償量を算出できることがわかった。   The result of calculating the compensation amount using the third method will be described with reference to FIG. The actual measurement value of the lost motion is the same as in FIG. The compensation amount calculated using the third method was able to show a value close to the actual measurement value during both movement and stop. Therefore, it was found that the third method can calculate the compensation amount according to the state of the table 3 by using the expression (1) while moving and the expression (2) while stopping.

上記説明において、テーブル3が本発明の移動体に相当し、テーブル機構20が本発明の送り機構に相当し、エンコーダ60が本発明の位置検出機構に相当し、上位制御部10が本発明の制御部に相当し、位置制御器11が本発明の速度生成部に相当し、微分器16が本発明の速度検出機構に相当し、速度制御器12が本発明のトルク生成部に相当し、補償器13が本発明の演算手段に相当し、加算器17が本発明の加算手段に相当する。図7に示すS1の処理を実行する補償器13が本発明の判断手段に相当し、S2の処理を実行する補償器13が本発明の第一演算手段に相当し、S5の処理を実行する補償器13が本発明の第二演算手段に相当する。   In the above description, the table 3 corresponds to the moving body of the present invention, the table mechanism 20 corresponds to the feed mechanism of the present invention, the encoder 60 corresponds to the position detection mechanism of the present invention, and the host controller 10 corresponds to the present invention. The position controller 11 corresponds to the speed generation unit of the present invention, the differentiator 16 corresponds to the speed detection mechanism of the present invention, the speed controller 12 corresponds to the torque generation unit of the present invention, The compensator 13 corresponds to the calculating means of the present invention, and the adder 17 corresponds to the adding means of the present invention. The compensator 13 that executes the process of S1 shown in FIG. 7 corresponds to the determination means of the present invention, and the compensator 13 that executes the process of S2 corresponds to the first calculation means of the present invention, and executes the process of S5. The compensator 13 corresponds to the second calculation means of the present invention.

以上説明したように、本実施形態の数値制御装置1は補償器13を備える。補償器13はロストモーションの補償量を演算する。ロストモーションはテーブル3の移動方向が反転した後にテーブル機構20の弾性変形に起因して生じる。補償器13はテーブル3が移動中か停止中かを判断し、移動中と判断した場合、前回の補償量にテーブル3の移動量に比例する値を加算して補償量を演算する。演算式の一例は、LC=LCn−1+(Pc/Ap)Δxである。Lcは補償器出力、Lcn−1は前回補償器出力、Pcは最大補償量、Apは傾き係数、Δxは位置指令の増分である。但し、−Pc/2≦Lc≦Pc/2とする。補償器13は停止中と判断した場合、トルク指令に基づいて補償量を演算する。演算式の一例は、Lc=(Pc/2)(Tc/Tl)である。尚、Lcは補償器出力、Pcは最大補償量、Tlは基準トルク、Tcはトルク指令である。但し、−Pc/2≦Lc≦Pc/2とする。補償器13はテーブル3が移動中か停止中かで数式を使い分ける。故に補償器13は、テーブル3の移動中や反転時に安定した補償を行いながら、停止時に過補償となることを防ぐことができる。故に数値制御装置1は、テーブル3の移動中、反転時、及び停止時に応じてロストモーションを精度良く補償できる。 As described above, the numerical controller 1 according to the present embodiment includes the compensator 13. The compensator 13 calculates the compensation amount of the lost motion. The lost motion is caused by elastic deformation of the table mechanism 20 after the moving direction of the table 3 is reversed. The compensator 13 determines whether the table 3 is moving or stopped. If it is determined that the table 3 is moving, the compensator 13 calculates a compensation amount by adding a value proportional to the movement amount of the table 3 to the previous compensation amount. An example of the arithmetic expression is LC n = LC n−1 + (Pc / Ap) Δx. Lc n compensation output, Lc n-1 the previous compensator output, Pc is the maximum compensation amount, Ap is the slope factor, [Delta] x is the increment of the position command. However, the -Pc / 2 ≦ Lc n ≦ Pc / 2. When determining that the compensator 13 is stopped, the compensator 13 calculates a compensation amount based on the torque command. An example of the arithmetic expression is Lc = (Pc / 2) (Tc / Tl). Note that Lc is a compensator output, Pc is a maximum compensation amount, Tl is a reference torque, and Tc is a torque command. However, it is set as -Pc / 2 <= Lc <= Pc / 2. The compensator 13 uses different equations depending on whether the table 3 is moving or stopped. Therefore, the compensator 13 can prevent overcompensation when the table 3 is stopped while performing stable compensation while the table 3 is moving or reversing. Therefore, the numerical controller 1 can accurately compensate for the lost motion according to the movement of the table 3, when it is reversed, and when it is stopped.

本実施形態におけるZ軸は、停止中において重力の影響を受ける。Z軸においては重力の影響を除くため、上記停止中の演算式の一例は、Lc=(Pc/2)((Tc−To)/(Tl−To))である。尚、Lcは補償器出力、Pcは最大補償量、Tlは基準トルク、Tcはトルク指令、Toは重力によるトルクである。但し、−Pc/2≦Lc≦Pc/2とする。   The Z axis in the present embodiment is affected by gravity during stoppage. In order to eliminate the influence of gravity on the Z axis, an example of the arithmetic expression during the stop is Lc = (Pc / 2) ((Tc−To) / (Tl−To)). Note that Lc is a compensator output, Pc is a maximum compensation amount, Tl is a reference torque, Tc is a torque command, and To is a torque due to gravity. However, it is set as -Pc / 2 <= Lc <= Pc / 2.

尚本発明は上記実施形態に限らず種々の変更が可能である。例えば上記実施形態において、補償器13が用いる(1)式と(2)式は一例であって他の数式を用いてもよい。例えば(1)式は、線形の近似式の他に、指数関数、tanh関数を用いもよい。さらにtanh関数は1つでもよいが、2つ以上用いてもよい。   The present invention is not limited to the above embodiment, and various modifications can be made. For example, in the above embodiment, the equations (1) and (2) used by the compensator 13 are examples, and other equations may be used. For example, the expression (1) may use an exponential function and a tanh function in addition to the linear approximation expression. Further, one tanh function may be used, but two or more tanh functions may be used.

また本実施形態は、テーブル3をX軸方向とY軸方向に移動可能に支持し、且つ主軸をテーブル3に対してZ軸方向に移動可能に支持する工作機械を一例として説明するが、テーブル3を固定とし、主軸をテーブル3に対してX軸方向とY軸方向に移動させる工作機械であってもよい。主軸に装着する工具とテーブルを相対的に移動するものであればよい。   In this embodiment, a machine tool that supports the table 3 so as to be movable in the X-axis direction and the Y-axis direction and supports the main shaft so as to be movable in the Z-axis direction with respect to the table 3 will be described as an example. 3 may be a machine tool that fixes 3 and moves the spindle in the X-axis direction and the Y-axis direction with respect to the table 3. Any tool can be used as long as it relatively moves the tool mounted on the spindle and the table.

1 数値制御装置
2A,2B モータ
3 テーブル
4A,4B ボール螺子軸
5 ボールナット
10 上位制御部
11 位置制御器
12 速度制御器
13 補償器
15 電流制御増幅器
16 微分器
17 加算器
20,40 テーブル機構
60 エンコーダ
DESCRIPTION OF SYMBOLS 1 Numerical control apparatus 2A, 2B Motor 3 Table 4A, 4B Ball screw shaft 5 Ball nut 10 High-order control part 11 Position controller 12 Speed controller 13 Compensator 15 Current control amplifier 16 Differentiator 17 Adder 20, 40 Table mechanism 60 Encoder

Claims (4)

ボール螺子軸と該ボール螺子軸に外嵌するボールナットとを有し該ボールナットに固定した移動体を移動する送り機構と、前記ボール螺子軸を回転駆動するモータと、前記モータで移動した前記移動体の位置を前記モータの回転量に基づいて検出する位置検出機構と、該位置検出機構が検出した前記移動体の位置と制御部が生成する位置指令とが一致するように速度指令を生成する速度生成部と、前記モータの速度を検出する速度検出機構と、前記速度検出機構が検出した速度と前記速度生成部が生成した速度指令とが一致するようにトルク指令を生成するトルク生成部と、前記移動体の移動方向が反転した後に前記送り機構の弾性変形に起因して生じるロストモーションの補償量を演算する演算手段と、前記演算手段が演算した前記補償量を前記位置指令に加算して前記位置指令を補正する加算手段とを備えた数値制御装置において、
前記演算手段は、
前記移動体が移動中か停止中かを判断する判断手段と、
前記判断手段が前記移動体は移動中と判断した場合、前回の補償量に前記移動体の移動量に基づく値を加算して前記補償量を演算する第一演算手段と、
前記判断手段が前記移動体は停止中と判断した場合、前記トルク指令に基づいて前記補償量を演算する第二演算手段と
を備えたことを特徴とする数値制御装置。
A feed mechanism having a ball screw shaft and a ball nut externally fitted to the ball screw shaft, for moving a moving body fixed to the ball nut, a motor for rotationally driving the ball screw shaft, and the motor moved by the motor Generates a speed command so that the position detection mechanism that detects the position of the moving body based on the amount of rotation of the motor matches the position of the moving body detected by the position detection mechanism and the position command generated by the control unit. A speed generation unit that detects the speed of the motor, and a torque generation unit that generates a torque command so that the speed detected by the speed detection mechanism matches the speed command generated by the speed generation unit Calculating means for calculating a compensation amount of lost motion caused by elastic deformation of the feed mechanism after the moving direction of the moving body is reversed, and the compensation amount calculated by the calculating means A numerical controller having an addition means for correcting the position command is added to the position command,
The computing means is
Determining means for determining whether the moving body is moving or stopped;
First calculating means for calculating the compensation amount by adding a value based on the moving amount of the moving body to the previous compensation amount when the determining means determines that the moving body is moving;
A numerical control apparatus comprising: a second calculating unit that calculates the compensation amount based on the torque command when the determining unit determines that the moving body is stopped.
前記移動体を所定速度で一定方向に移動させた時のトルク値を基準トルクとし、
前記第二演算手段は、
前記基準トルクと前記トルク指令の比率に比例するように前記補償量を演算することを特徴とする請求項1に記載の数値制御装置。
The torque value when the moving body is moved in a constant direction at a predetermined speed is set as a reference torque,
The second calculation means includes
The numerical control apparatus according to claim 1, wherein the compensation amount is calculated to be proportional to a ratio between the reference torque and the torque command.
前記移動体を前記所定速度で前記一定方向に移動させた時の最大の補償量を最大補償量とし、
前記第二演算手段は、前記比率に前記最大補償量を乗算することによって、前記補償量を演算することを特徴とする請求項2に記載の数値制御装置。
The maximum compensation amount when moving the moving body in the predetermined direction at the predetermined speed is set as the maximum compensation amount,
The numerical control device according to claim 2, wherein the second calculation unit calculates the compensation amount by multiplying the ratio by the maximum compensation amount.
前記第一演算手段は、
前記移動体が停止中から移動する場合、停止中の前記補償量を前記前回の補償量とすることを特徴とする請求項1から3の何れかに記載の数値制御装置。
The first calculation means includes
4. The numerical control device according to claim 1, wherein when the moving body moves from a stop, the compensation amount during the stop is the previous compensation amount. 5.
JP2013065368A 2013-03-27 2013-03-27 Numerical controller Active JP5991249B2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2013065368A JP5991249B2 (en) 2013-03-27 2013-03-27 Numerical controller
CN201410035270.6A CN104076740B (en) 2013-03-27 2014-01-24 Numerical-control device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013065368A JP5991249B2 (en) 2013-03-27 2013-03-27 Numerical controller

Publications (2)

Publication Number Publication Date
JP2014191520A JP2014191520A (en) 2014-10-06
JP5991249B2 true JP5991249B2 (en) 2016-09-14

Family

ID=51598070

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013065368A Active JP5991249B2 (en) 2013-03-27 2013-03-27 Numerical controller

Country Status (2)

Country Link
JP (1) JP5991249B2 (en)
CN (1) CN104076740B (en)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI558495B (en) 2014-11-12 2016-11-21 財團法人工業技術研究院 Machining assistance method and the apparatus using the same
WO2018066048A1 (en) * 2016-10-04 2018-04-12 三菱電機株式会社 Numerical control device
JP2018092357A (en) * 2016-12-02 2018-06-14 ファナック株式会社 Servo motor control apparatus, servomotor control method, and computer program
JP6942577B2 (en) * 2017-09-15 2021-09-29 オークマ株式会社 Numerical control device and numerical control method for machine tools
CN111113147A (en) * 2020-01-09 2020-05-08 威世特汽车部件(常州)有限公司 Process for automatic detection and automatic compensation of gear
CN114714364B (en) * 2022-05-26 2023-05-09 成都卡诺普机器人技术股份有限公司 Robot joint friction force compensation adjustment method and robot friction force compensation method

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0833763B2 (en) * 1988-03-01 1996-03-29 義昭 垣野 Numerical control unit
JP2875646B2 (en) * 1991-07-04 1999-03-31 ファナック株式会社 Backlash acceleration correction device
JP3902256B2 (en) * 1994-09-30 2007-04-04 三菱電機株式会社 Positioning device
JP2907164B2 (en) * 1996-11-22 1999-06-21 日本電気株式会社 Numerical control unit
JP4510722B2 (en) * 2005-08-22 2010-07-28 オークマ株式会社 Position control device having lost motion correction function
CN102455683B (en) * 2010-10-22 2014-08-06 兄弟工业株式会社 Number control device and friction compensation method
CN102637011B (en) * 2011-11-30 2014-02-26 沈阳工业大学 Robust control method and system for directly driving numerical control platform based on coordinate transformation and parameter adjustment

Also Published As

Publication number Publication date
JP2014191520A (en) 2014-10-06
CN104076740B (en) 2017-04-12
CN104076740A (en) 2014-10-01

Similar Documents

Publication Publication Date Title
JP5991249B2 (en) Numerical controller
KR101688360B1 (en) Servo control device
JP5890473B2 (en) Motor control device for controlling a motor
JP5739400B2 (en) Servo control device having position correction function of driven body
JP2011140098A (en) Machine displacement correction system for machine tool
JP2008210273A (en) Method of compensating friction, friction compensator, and motor control device
US10031507B2 (en) Servo control device
JP5657633B2 (en) Servo control device for correcting position error when moving body is reversed
JP6051970B2 (en) Numerical controller and friction compensation method
JP2008211905A (en) Servomotor control device
JP2014054001A (en) Motor control apparatus for correcting backlash
JP5905556B1 (en) Motor control device for correcting reverse rotation of motor
US8810181B2 (en) Control apparatus and measuring apparatus
JP2007226836A (en) Method for controlling numerically controlled machine tool and numerically controlled machine tool
JP2018139044A (en) Servo motor control device, servo motor control method, and servo motor control program
CN109324568A (en) Position control
JP2018092319A (en) Servo motor controlling device, servo motor controlling method, and servo motor controlling program
JP4510722B2 (en) Position control device having lost motion correction function
JP6392726B2 (en) Motor controller for correcting backlash
JP2001202136A (en) Method for correcting dynamic deflection of motion controller and the motion controller
JP5334932B2 (en) Parameter setting method and parameter setting device
JP6048174B2 (en) Numerical control device and lost motion compensation method
JP7193361B2 (en) position controller
JP5732289B2 (en) Machine Tools
KR102188742B1 (en) Control device of a gantry stage including a fuzzy observer

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150924

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: 20160719

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160721

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160801

R150 Certificate of patent (=grant) or registration of utility model

Ref document number: 5991249

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150