【0001】
【発明の属する技術分野】
本発明は、特に、門形マシニングセンタなどの工作機械において、クロスレールに沿って主軸頭が移動する時に生じる主軸頭の左右運動真直度の変動を調整するバランス調整装置に関する。
【0002】
【従来の技術】
主軸頭の左右運動の水平真直精度を維持する技術としては、特開平9―94735に示すように、主軸の位置を検出し、検出位置から演算した補正信号を各々のボールネジの位置指令に足し込み主軸を補正することを特徴とするものであった。
【0003】
【発明が解決しようとする課題】
従来技術では、主軸の位置に合わせて、ボールネジの回転位置を補正するという方法を取っているが、本来与えた指令に足し込むように補正指令を与えた場合、位置指令の払い出し時間は、速度制御内のサンプリング時間に比べて遅い為、動的に補正を行う場合には、逆にヨーイング動作が発生する事が予想される。
本発明に関わる門形工作機械では、主軸ヘッドの位置により、ボールネジ1とボールネジ2に加わる外力が変わる為、ボールネジ1とボールネジ2のたわみが発生する。そのたわみにより、主軸の重力方向の位置が変化する。初期設定として、主軸位置がクロスレールの中央に有り、2つのモータ軸端の同期が取れていたとしても、主軸の位置がクロスレール上を移動することにより、ボールネジのたわみが発生し、クロスレールは、図1の下図となってしまう。現在、工作機械の要求精度は、1μm/パルスの分解能で、1〜2μmである。また近年、サブμmオーダーの分解能が要求されており、切削精度も、1μm以内となっている。
例えば、ボールネジのバネ定数が100*106N/mで、テーブル重量が150kgであった場合、1軸の自重によりテーブルz軸方向の変位量は、約15μmとなる。ボールネジのリードを20mmで、モータイナーシャが、13.9*10−4kgm2の時、共振周波数188Hzであり、反共振周波数が130Hzとなるような一般的は工作機械を仮定する。図1のようにクロスレールが付く場合、クロスレール(長さ:1000mm)と主軸の重量がそれぞれ、100kgと50kgとしてクロスレール上の主軸が中央から左側に300mm離れた場合のボールネジのたわみ量を調べる。この時、たわみによりボールネジ1のテーブルの変位は、−3μmでボールネジ2のテーブルの変位は、5μmである。ボールネジ1と2のテーブルの変位差は、8μmとなる。8μmという同期誤差は、無視できない値である。
この変位の差が、z軸方向から切削する時には、切り込み過ぎたり、切り込み足りなかったりという原因になり、加工表面の筋目として現れる。
同期誤差には、静的な同期誤差と動的な誤差があり、静的な同期誤差とは、主軸位置が変わった時にボールネジ1と2にかかる外力により、ボールネジ1、2が伸縮し、テーブル1、2の位置ずれをあらわす。上記の例で上げたものである。また動的な誤差は、テーブル2が加減速する時に発生し、ボールネジ1,2にかかる外力である。例えば、上記と同じように、クロスレール(長さ:1000mm)と主軸の重量がそれぞれ100kgと50kgとしてクロスレール上の主軸が中央から左(テーブル1側)に300mm離れた場合のテーブル1とテーブル2にかかる外力を調べる。その時、テーブル1にかかる外力は、882Nで、テーブル2にかかる外力は、588Nである。テーブル1、2にかかる外力が異なる為、同期誤差が発生する。静的な同期誤差の補正方法は、従来技術と同じように、位置のフィードバック信号を指令信号に加える為、本発明と同じであるが、実施の形態が正確に示されていない為、実現が困難である。また、動的な誤差の補正に関しては、積極的な補正方法を述べたものが見当たらない。
【0004】
本発明の目的は、このような従来技術の問題点を解消し、2つの駆動系の角度誤差や移動体の姿勢を容易に補正することができるバランス調整装置を提供することである。
【0005】
【課題を解決するための手段】
上記目的を達成するために、重力軸に取り付けられたテーブル3を2つのボールネジとサーボモータを使って、駆動する機械で該テーブルの上をテーブル4が移動する構成の工作機械において、テーブル4の水平方向位置をリニアスケールもしくはテーブル4を駆動するモータのエンコーダから得られた位置信号を2軸の各サーボモータに与えるトルクを演算する演算器に与え、該トルクを該2軸のサーボモータのトルク指令に足し込むことを特徴とするものである。
【0006】
【発明の実施の形態】
図1は、門形マシニングセンタの概略図である。1、2はサーボモータであり、3、4はボールネジである。5、6はボールネジ1、2に取り付けられたテーブル1、2であり、7は上下方向に移動するテーブル3であり、8は、テーブル3上を左右方向に移動するテーブル4である。テーブル4を駆動するサーボモータ3が9であり、そのサーボモータと結合されているボールネジが10である。さらにテーブル4の上に取り付けられた主軸が11である。図1において、主軸が左に移動するとサーボモータ1,2のトルクが変動し、左のテーブル端が右のテーブル端に比べて下がる。この関係は数式で表すことができる。テーブル2の移動距離をX(テーブル4がサーボモータ3から一番遠い時を原点とし、一番近い時が、Xとなる。)とし、テーブル3の重心位置をL(=テーブル3の駆動距離/2)とする。また、テーブル3の重量をWt*gとし、テーブル4と主軸を合わせた重量をWm*gとする。テーブル3の移動距離により、サーボモータ1とサーボモータ2にかかる外乱トルクは、以下の2式を使って得られる。
垂直方向の力
【0007】
Dis1+Dis2=(Wm+Wt)*g (1)
Dis1、Dis2は、テーブル1、2にかかる外力を表す。
テーブル1周りの回転モーメントは、0より
Wm*g*X+Wt*g*L=Dis2*2L (2)
(1)、(2)式より、
Dis1=Wt*g/2+(1−X/2L)*Wm*g (3)
Dis2=(Wt/2+Wm*X/2L)*g (4)
【0008】
(3)、(4)式で、テーブル3の重量分の外力は、サーボモータ1、2のトルク指令に出ているとすると変動する外力は、以下の式となる。
【0009】
Dis1=(1−X/2L)*Wm*g (5)
Dis2=(Wm*X/2L)*g (6)
しかし、(5)、(6)式では、X=0でサーボモータ1にかかる外力がWm*gで、ステップ状の外乱となる。また、サーボモータ2にかかる外力が0となる。これにより、サーボモータ1とボールネジ1からなる機械は、単振動を起す。その為、中心軸からの距離dを使うことにする。
x=L−d (7)
(5)、(6)、(7)式から(8)、(9)式となる。
Dis1=(1/2+d/2L)Wmg (8)
Dis2=(1/2−d/2L)Wmg (9)
【0010】
(8)、(9)式は、テーブル4が重心位置Lにある時に、サーボモータ1、2にそれぞれトルク補償がされていた場合、実際に、テーブル4の移動による外力の変動は、
Dis1=(d/2L)Wmg (10)
Dis2=−(d/2L)Wmg (11)
の式に簡単化される。
【0011】
(10)、(11)式に直線系を回転系にする変換定数(p/2π)を掛けるとモータにかかるトルクとなる。
pは、ボールネジのリードの長さである。
τ1=Dis1*(p/2π)
τ2=Dis2*(p/2π) (12)
τ1、τ2は、サーボモータ1、2にかかる外乱トルクである。
【0012】
第1の実施例で必要になる変位量算出の原理を説明する。
補正には、ボールネジ系の伸縮計算をする。その計算には、ばね定数、Jm(モータイナーシャ)、Jl(負荷イナーシャ)が必要となる。
(i)予めカタログなどで、ばね定数がわかっている場合
δx1=Dis1/K1
δx2=Dis2/K2 (13)
により、たわみδx1、δx2が計算される。Dis1,Dis2は、テーブル1、2にそれぞれかかる外力であり、K1、K2はカタログに書かれている値である。
【0013】
(ii)ばね定数が既知でない場合
予めボールネジ1、2とテーブル1、2とサーボモータ1,2からなる機械の周波数特性を調べておく。この周波数特性から、共振周波数と反共振周波数が得られる。
共振周波数は
fr=(1/2π)(K(1/Jm+1/Jl))1/2(14)
反共振周波数は
fa=(1/2π)(K/Jl)1/2(15)
【0014】
という関係式があり、それぞれKは、ボールネジとテーブルとサーボモータからなる機械のばね定数であり、Jmはサーボモータのイナーシャ、Jlはボールネジとテーブルからなるイナーシャである。ボールネジ1とテーブル1とサーボモータ1で得られたばね定数をK1とし、ボールネジ2とテーブル2とサーボモータ2からなる機械のばね定数をK2とする。(14)、(15)式から
【0015】
Jl=Jm(fr/fa)2−Jm (16)
(16)式を(15)式に代入すると
K=(2π*fa)2Jm{(fr/fa)2−1} (17)
【0016】
が得られる。
Jmは、予めモータのカタログより演算できる為、(17)式より、ばね定数Kが計算できる。それぞれのばね定数K1、K2を求めておく。
(iii)(ii)のように周波数特性が得られない場合
ボールネジ1、2とテーブル1、2とサーボモータ1、2からなる機械で、速度及び位置制御が組まれている場合制御パラメータの値を大きくしていくと振動が発生する。その振動を加速度計もしくは、トルクをモニタすることにより、振動周波数がわかる。その振動周波数は、(14)式に上げた共振周波数である。制御ループが組まれている場合、予め、JmのサーボモータイナーシャとJlのボールネジとテーブルからなる負荷イナーシャの比Jl/Jmは、イナーシャ同定して負荷イナーシャと求めることはできる。また、イナーシャ同定されなくとも、速度ループゲインを調整する為、負荷イナーシャはカタログなどでわかっている。
イナーシャ比が得られると(14)式を変形して、
【0017】
【数1】
【0018】
となる。
さらに(18)式を展開して、
【0019】
【数2】
【0020】
となる。
Jmは予めカタログで分かっており、また、共振周波数とイナーシャ比は、分かっているので、ばね定数Kが(19)式を使って求められる。
(17)式と(19)式のばね定数Kは、回転方向のばね定数である為、直線方向のばね定数K’に変換する。
K’=K(2π/P)2(20)
この変換を行ったばね定数K1、K2は、K1’,K2’として得られる。pはボールネジのリードである。リードはカタログより得られる。
(20)式と外乱Dis1,Dis2の関係式は、
δx1=Dis1/K1’
δx2=Dis2/K2’ (21)
【0021】
このばね定数と外乱からテーブル1とテーブル2の変位量が得られる。(21)式は、直線の変位量である。この変位量をパルス換算して、位置指令に足し込む事により、静的な補正が可能である。図3に示す17の変換装置は、ばね定数と変位量をサーボモータのパルスに変換する装置である。
1μmあたりの1パルスであった時、(21)はパルス換算して、
δr1=δx1
δr2=δx2 (22)
となる。δr1、δr2の単位はパルスである。
【0022】
第1の実施例を図2を使って説明する。
サーボモータ1とボールネジ1とテーブル1とからなる機構系を含む位置制御系が13であり、位置制御系に入力される位置指令が12である。同様に、サーボモータ2とボールネジ2とテーブル2とからなる機構系を含む位置制御系が14である。8のテーブル4が移動する事により、エンコーダ15には、その移動パルスが、トルク演算器16に入力される。トルク演算器に入力されたパルスを使って、(10)〜(12)の演算を行った後、トルクを出力する。そのトルクを使って、変換装置1、2において(21)、(22)の演算を行う。得られた値の単位は、パルスである。その値を位置指令に入力することにより、テーブル3が移動しても、テーブル1、2の絶対位置がずれる事はない。
第1の実施例をシミュレーションで行った結果を図6に示す。シミュレーション結果は、全てテーブル1とテーブル2の位置の偏差信号を表している。
モータの位置制御のみを使用した場合の結果は、図5であり、この場合、負荷位置が変化しても、変化分が補正されていない為、0に戻らない。その結果、テーブル1とテーブル2が傾いた状態になる。それに対して、第1の実施例のシミュレーション結果では、テーブル1とテーブル2の定常状態での偏差が0になっている事がわかる。
【0023】
次に第2の実施例を図3を使って説明する。
静的な同期誤差を補正する必要がある為、図2に動的な補正装置を加えた図となっている。動的な補正装置のみの説明をここで行う。サーボモータ1の位置制御系が13であり、サーボモータ2の位置制御系が14である。テーブル4の場所が、左に移動した時に、サーボモータ3のエンコーダ15の信号を16のトルク演算器に入力する。トルク演算器では、(12)式のトルクが演算され、さらにフィルタに通過させて、T1とT2を出力させる。フィルタの構造を図4で説明し、式を導出する。
図4は、モータモデル24と負荷モデル25の2慣性系システムである。負荷モデルにかかる外乱トルク23は、(12)式で表せるものであった。その外乱トルク23からモータ反力20までの伝達関数で表すと、次式となる。
【0024】
【数3】
【0025】
Tmはモータ反力20を表し、Tは、τ1とτ2の外乱23を表している。
(5)式の伝達関数を次式の2次フィルタとゲインで表すことができる。
【0026】
【数4】
【0027】
ω0は、2慣性系の共振角周波数である。共振角周波数の計算は、(25)式で示す。
(24)式では、フィルタに粘性係数ζが入っていないので、(26)式に変形する。フィルタの式は、(26)となる。
【0028】
【数5】
【0029】
Tmは、図2の推定トルクT1とT2に対応し、この推定トルクをモータのトルク指令に入れることにより、動的同期誤差を補正することができる。第2の実施例を使ったシミュレーション結果を図7に示す。動的な補正を行っている為、図6(第1の実施例の結果)での過渡状態で、70μm程度の偏差が出ていたものが、図7では、過渡状態においても、2.5μm程度に小さくなっている事がわかる。過渡状態でも、定常状態でも良好な結果が得られ、効果が確認できる。
【0030】
【発明の効果】
重力軸に取り付けられたテーブル3を2つのボールネジとサーボモータを使って駆動する機械で該テーブルの上をテーブル4が移動する構成の工作機械において、テーブル4の水平方向位置をリニアスケールもしくはテーブル4を駆動するモータのエンコーダから得られた位置信号を2軸の各サーボモータに与えるトルクを演算する演算器に与え、該トルクを該2軸のサーボモータのトルク指令に足し込むので、2つの駆動系の角度誤差や移動体の姿勢を容易に補正することができ、動的にも静的にも同期誤差を補正し、主軸のバランス調整ができるバランス調整装置を提供できる。
【図面の簡単な説明】
【図1】門形マシニングセンタの概略図
【図2】本発明の第一の実施例
【図3】本発明の第二の実施例
【図4】補正トルクを生成する為の2次フィルタの設計方法
【図5】本発明の装置が適用されていない場合のシミュレーション結果
【図6】本発明の第一の実施例を示すシミュレーション結果
【図7】本発明の第二の実施例を示すシミュレーション結果
【符号の説明】
1 サーボモータ1
2 サーボモータ2
3 ボールネジ1
4 ボールネジ2
5 テーブル1
6 テーブル2
7 テーブル3
8 テーブル4
9 サーボモータ3
10 ボールネジ3
11 主軸
12 位置指令
13 サーボモータ1側の位置制御系
14 サーボモータ2側の位置制御系
15 サーボモータ3のエンコーダ信号
16 トルク演算器
17 変換装置1
18 変換装置2
19 モータ反力
20 モータトルク
21 モータ速度
22 負荷速度
23 外乱
24 モータモデル(サーボモータ1、2のモデル)
25 負荷モデル(テーブル1、2のモデル)
26 バネモデル(差速度を力に変換する)[0001]
TECHNICAL FIELD OF THE INVENTION
In particular, the present invention relates to a balance adjusting device that adjusts a change in the straightness of the horizontal movement of the spindle head that occurs when the spindle head moves along a cross rail in a machine tool such as a portal machining center.
[0002]
[Prior art]
As a technique for maintaining the horizontal straightness accuracy of the left-right movement of the spindle head, as disclosed in JP-A-9-94735, the position of the spindle is detected, and a correction signal calculated from the detected position is added to the position command of each ball screw. It is characterized by correcting the spindle.
[0003]
[Problems to be solved by the invention]
In the prior art, the method of correcting the rotational position of the ball screw in accordance with the position of the spindle is adopted.However, when a correction command is given so as to be added to the originally given command, the payout time of the position command becomes speed speed. Since the time is slower than the sampling time in the control, when the correction is performed dynamically, a yawing operation is expected to occur.
In the portal machine tool according to the present invention, since the external force applied to the ball screw 1 and the ball screw 2 changes depending on the position of the spindle head, deflection of the ball screw 1 and the ball screw 2 occurs. The deflection changes the position of the main shaft in the direction of gravity. As an initial setting, even if the main shaft position is at the center of the cross rail and the two motor shaft ends are synchronized, the position of the main shaft moves on the cross rail, causing the ball screw to be bent, Becomes the lower diagram of FIG. At present, the required accuracy of a machine tool is 1-2 μm at a resolution of 1 μm / pulse. In recent years, a resolution on the order of sub-μm has been required, and the cutting accuracy has been within 1 μm.
For example, when the spring constant of the ball screw is 100 * 10 6 N / m and the table weight is 150 kg, the displacement in the table z-axis direction is about 15 μm due to the weight of one axis. When the lead of the ball screw is 20 mm and the motor inertia is 13.9 * 10 −4 kgm 2 , a general machine tool is assumed to have a resonance frequency of 188 Hz and an anti-resonance frequency of 130 Hz. When the cross rail is attached as shown in FIG. 1, the weight of the cross rail (length: 1000 mm) and that of the main shaft are 100 kg and 50 kg, respectively. Find out. At this time, the displacement of the table of the ball screw 1 is −3 μm due to the deflection, and the displacement of the table of the ball screw 2 is 5 μm. The displacement difference between the tables of the ball screws 1 and 2 is 8 μm. The synchronization error of 8 μm is a value that cannot be ignored.
This difference in displacement causes excessive or insufficient cutting when cutting in the z-axis direction, and appears as streaks on the processed surface.
The synchronization error includes a static synchronization error and a dynamic error. The static synchronization error means that the ball screws 1 and 2 expand and contract due to an external force applied to the ball screws 1 and 2 when the spindle position changes. 1 and 2 are shown. This is the one given in the above example. The dynamic error is generated when the table 2 is accelerated or decelerated, and is an external force applied to the ball screws 1 and 2. For example, in the same manner as above, the cross rail (length: 1000 mm) and the weight of the main shaft are 100 kg and 50 kg, respectively, and the main shaft on the cross rail is 300 mm away from the center to the left (table 1 side). Check the external force applied to 2. At that time, the external force applied to the table 1 is 882N, and the external force applied to the table 2 is 588N. Since external forces applied to the tables 1 and 2 are different, a synchronization error occurs. The method of correcting the static synchronization error is the same as that of the prior art because the position feedback signal is added to the command signal, as in the prior art. However, since the embodiment is not shown exactly, it is not realized. Have difficulty. As for the correction of the dynamic error, there is no document describing a positive correction method.
[0004]
SUMMARY OF THE INVENTION It is an object of the present invention to provide a balance adjusting apparatus which can solve such a problem of the related art and can easily correct an angle error between two driving systems and a posture of a moving body.
[0005]
[Means for Solving the Problems]
In order to achieve the above object, in a machine tool having a configuration in which a table 4 is moved on a table 3 attached to a gravitational axis by a machine that drives the table 3 using two ball screws and a servomotor, The horizontal position is given to a calculator which calculates a torque which gives a position signal obtained from a linear scale or an encoder of a motor driving the table 4 to each of the two-axis servomotors, and applies the torque to the two-axis servomotor torque. It is characterized in that it is added to the command.
[0006]
BEST MODE FOR CARRYING OUT THE INVENTION
FIG. 1 is a schematic diagram of a portal machining center. 1 and 2 are servomotors, and 3 and 4 are ball screws. Reference numerals 5 and 6 denote tables 1 and 2 attached to the ball screws 1 and 2, reference numeral 7 denotes a table 3 which moves in the vertical direction, and reference numeral 8 denotes a table 4 which moves on the table 3 in the horizontal direction. 9 is the servo motor 3 for driving the table 4 and 10 is the ball screw connected to the servo motor. In addition, the number of spindles mounted on the table 4 is 11. In FIG. 1, when the main shaft moves to the left, the torque of the servomotors 1 and 2 fluctuates, and the left table end is lower than the right table end. This relationship can be represented by a mathematical formula. The moving distance of the table 2 is set to X (the origin is set when the table 4 is farthest from the servomotor 3 and set to X when the table 4 is closest to the servo motor 3), and the center of gravity of the table 3 is set to L (= the driving distance of the table 3). / 2). The weight of the table 3 is Wt * g, and the weight of the table 4 and the main shaft together is Wm * g. The disturbance torque applied to the servo motor 1 and the servo motor 2 based on the moving distance of the table 3 can be obtained using the following two equations.
Vertical force
Dis1 + Dis2 = (Wm + Wt) * g (1)
Dis1 and Dis2 represent external forces applied to the tables 1 and 2.
The rotational moment around the table 1 is 0, Wm * g * X + Wt * g * L = Dis2 * 2L (2)
From equations (1) and (2),
Dis1 = Wt * g / 2 + (1-X / 2L) * Wm * g (3)
Dis2 = (Wt / 2 + Wm * X / 2L) * g (4)
[0008]
In the equations (3) and (4), if the external force corresponding to the weight of the table 3 is given as a torque command for the servomotors 1 and 2, the fluctuating external force is given by the following equation.
[0009]
Dis1 = (1-X / 2L) * Wm * g (5)
Dis2 = (Wm * X / 2L) * g (6)
However, in the equations (5) and (6), when X = 0, the external force applied to the servomotor 1 is Wm * g, which is a step-like disturbance. Further, the external force applied to the servo motor 2 becomes zero. Accordingly, the machine including the servo motor 1 and the ball screw 1 generates a simple vibration. Therefore, the distance d from the central axis is used.
x = Ld (7)
Expressions (8) and (9) are obtained from Expressions (5), (6) and (7).
Dis1 = (1/2 + d / 2L) Wmg (8)
Dis2 = (1 / 2−d / 2L) Wmg (9)
[0010]
Equations (8) and (9) indicate that when the table 4 is at the center of gravity position L and the servo motors 1 and 2 are each subjected to torque compensation, the fluctuation of the external force due to the movement of the table 4 is actually
Dis1 = (d / 2L) Wmg (10)
Dis2 = − (d / 2L) Wmg (11)
The formula is simplified.
[0011]
Multiplying the equations (10) and (11) by a conversion constant (p / 2π) for converting the linear system into the rotating system results in a torque applied to the motor.
p is the length of the lead of the ball screw.
τ1 = Dis1 * (p / 2π)
τ2 = Dis2 * (p / 2π) (12)
τ1 and τ2 are disturbance torques applied to the servo motors 1 and 2.
[0012]
The principle of calculating the amount of displacement required in the first embodiment will be described.
For the correction, the expansion and contraction of the ball screw system is calculated. The calculation requires a spring constant, Jm (motor inertia), and Jl (load inertia).
(I) When the spring constant is known in advance in a catalog or the like δx1 = Dis1 / K1
δx2 = Dis2 / K2 (13)
, The deflections δx1 and δx2 are calculated. Dis1 and Dis2 are external forces applied to tables 1 and 2, respectively, and K1 and K2 are values written in a catalog.
[0013]
(Ii) When the spring constant is not known The frequency characteristics of the machine including the ball screws 1 and 2, the tables 1 and 2, and the servomotors 1 and 2 are checked in advance. From the frequency characteristics, a resonance frequency and an anti-resonance frequency are obtained.
The resonance frequency is fr = (1 / 2π) (K (1 / Jm + 1 / Jl)) 1/2 (14)
The anti-resonance frequency is fa = (1 / 2π) (K / Jl) 1/2 (15)
[0014]
Where K is the spring constant of a machine consisting of a ball screw, a table and a servomotor, Jm is the inertia of the servomotor, and Jl is the inertia of the ball screw and the table. The spring constant obtained by the ball screw 1, the table 1, and the servomotor 1 is K1, and the spring constant of the machine including the ball screw 2, the table 2, and the servomotor 2 is K2. From equations (14) and (15),
Jl = Jm (fr / fa) 2- Jm (16)
Substituting equation (16) into equation (15), K = (2π * fa) 2 Jm {(fr / fa) 2 −1} (17)
[0016]
Is obtained.
Since Jm can be calculated in advance from the catalog of the motor, the spring constant K can be calculated from equation (17). The respective spring constants K1, K2 are determined.
(Iii) When frequency characteristics cannot be obtained as in (ii) When speed and position control are set in a machine including ball screws 1 and 2, tables 1 and 2, and servo motors 1 and 2, the value of a control parameter Vibration occurs when is increased. By monitoring the vibration with an accelerometer or a torque, the vibration frequency can be determined. The vibration frequency is the resonance frequency raised in the equation (14). When a control loop is formed, the ratio Jl / Jm of the load inertia composed of the servo motor inertia of Jm and the ball screw of Jl and the table can be determined in advance as inertia by identifying the inertia. Even if the inertia is not identified, the load inertia is known from a catalog or the like in order to adjust the speed loop gain.
When the inertia ratio is obtained, the equation (14) is transformed into
[0017]
(Equation 1)
[0018]
It becomes.
Further, expanding equation (18),
[0019]
(Equation 2)
[0020]
It becomes.
Since Jm is known in advance in a catalog, and the resonance frequency and the inertia ratio are known, the spring constant K can be obtained using the equation (19).
Since the spring constant K in the expressions (17) and (19) is the spring constant in the rotation direction, it is converted into the spring constant K ′ in the linear direction.
K ′ = K (2π / P) 2 (20)
The spring constants K1 and K2 obtained by performing this conversion are obtained as K1 'and K2'. p is a ball screw lead. Leads are available from the catalog.
The relational expression between the equation (20) and the disturbances Dis1 and Dis2 is as follows.
δx1 = Dis1 / K1 ′
δx2 = Dis2 / K2 ′ (21)
[0021]
The displacement of the tables 1 and 2 can be obtained from the spring constant and the disturbance. Equation (21) is a linear displacement amount. By converting the displacement amount into a pulse and adding it to the position command, static correction can be performed. The conversion device 17 shown in FIG. 3 is a device that converts a spring constant and a displacement into a pulse of a servomotor.
When one pulse per 1 μm, (21) is converted into a pulse,
δr1 = δx1
δr2 = δx2 (22)
It becomes. The unit of δr1, δr2 is a pulse.
[0022]
A first embodiment will be described with reference to FIG.
Reference numeral 13 denotes a position control system including a mechanical system including the servomotor 1, the ball screw 1, and the table 1, and reference numeral 12 denotes a position command input to the position control system. Similarly, 14 is a position control system including a mechanical system including the servo motor 2, the ball screw 2, and the table 2. As the table 4 moves, the movement pulse is input to the encoder 15 and the torque calculator 16. After performing the calculations of (10) to (12) using the pulse input to the torque calculator, the torque is output. The conversion devices 1 and 2 perform the calculations (21) and (22) using the torque. The unit of the obtained value is a pulse. By inputting the value into the position command, even if the table 3 moves, the absolute positions of the tables 1 and 2 do not shift.
FIG. 6 shows the result of the simulation of the first embodiment. The simulation results all represent deviation signals between the positions of Table 1 and Table 2.
The result when only the motor position control is used is shown in FIG. 5. In this case, even if the load position changes, it does not return to 0 because the change is not corrected. As a result, the table 1 and the table 2 are inclined. On the other hand, according to the simulation result of the first embodiment, it can be seen that the deviation in the steady state between Table 1 and Table 2 is 0.
[0023]
Next, a second embodiment will be described with reference to FIG.
Since it is necessary to correct a static synchronization error, FIG. 2 is a diagram in which a dynamic correction device is added. Only the dynamic correction device will be described here. The position control system of the servomotor 1 is 13, and the position control system of the servomotor 2 is 14. When the position of the table 4 moves to the left, the signal of the encoder 15 of the servo motor 3 is input to the 16 torque calculator. In the torque calculator, the torque of the equation (12) is calculated, and is further passed through a filter to output T1 and T2. The structure of the filter will be described with reference to FIG.
FIG. 4 shows a two-inertia system of a motor model 24 and a load model 25. The disturbance torque 23 applied to the load model can be expressed by equation (12). The transfer function from the disturbance torque 23 to the motor reaction force 20 is as follows.
[0024]
[Equation 3]
[0025]
Tm represents the motor reaction force 20, and T represents the disturbance 23 between τ1 and τ2.
The transfer function of the equation (5) can be expressed by a secondary filter and a gain of the following equation.
[0026]
(Equation 4)
[0027]
ω 0 is the resonance angular frequency of the two inertial system. The calculation of the resonance angular frequency is shown by equation (25).
In the equation (24), since the viscosity coefficient 入 っ is not included in the filter, the equation is transformed to the equation (26). The filter equation is (26).
[0028]
(Equation 5)
[0029]
Tm corresponds to the estimated torques T1 and T2 in FIG. 2, and the dynamic synchronization error can be corrected by including the estimated torque in the motor torque command. FIG. 7 shows a simulation result using the second embodiment. Since the dynamic correction is performed, a deviation of about 70 μm is generated in the transient state in FIG. 6 (result of the first embodiment), but in FIG. 7, the deviation is about 2.5 μm even in the transient state. It can be seen that it has become smaller. Good results are obtained in both the transient state and the steady state, and the effect can be confirmed.
[0030]
【The invention's effect】
In a machine tool having a configuration in which a table 4 moves on a table 3 mounted on a gravity axis using a machine that drives the table 3 using two ball screws and a servomotor, the horizontal position of the table 4 is determined by using a linear scale or a table 4. The position signal obtained from the encoder of the motor that drives the motor is supplied to a calculator that calculates the torque to be applied to each of the two-axis servo motors, and the torque is added to the torque command of the two-axis servo motor. It is possible to provide a balance adjustment device that can easily correct a system angle error and a posture of a moving body, can correct a synchronization error both dynamically and statically, and can adjust a balance of a spindle.
[Brief description of the drawings]
FIG. 1 is a schematic view of a portal machining center. FIG. 2 is a first embodiment of the present invention. FIG. 3 is a second embodiment of the present invention. FIG. 4 is a design of a secondary filter for generating a correction torque. Method FIG. 5 Simulation result when the apparatus of the present invention is not applied FIG. 6 Simulation result showing the first embodiment of the present invention FIG. 7 Simulation result showing the second embodiment of the present invention [Explanation of symbols]
1 Servo motor 1
2 Servo motor 2
3 Ball screw 1
4 Ball screw 2
5 Table 1
6 Table 2
7 Table 3
8 Table 4
9 Servo motor 3
10 Ball screw 3
DESCRIPTION OF SYMBOLS 11 Main shaft 12 Position command 13 Position control system 14 of servo motor 1 Position control system 15 of servo motor 2 Encoder signal 16 of servo motor 3 Torque calculator 17 Converter 1
18 Converter 2
19 Motor reaction force 20 Motor torque 21 Motor speed 22 Load speed 23 Disturbance 24 Motor model (servo motor 1, 2 model)
25 Load Model (Models in Tables 1 and 2)
26 Spring model (conversion of differential speed to force)