JP2004088882A - Controller for main spindle motor - Google Patents

Controller for main spindle motor Download PDF

Info

Publication number
JP2004088882A
JP2004088882A JP2002245103A JP2002245103A JP2004088882A JP 2004088882 A JP2004088882 A JP 2004088882A JP 2002245103 A JP2002245103 A JP 2002245103A JP 2002245103 A JP2002245103 A JP 2002245103A JP 2004088882 A JP2004088882 A JP 2004088882A
Authority
JP
Japan
Prior art keywords
speed
command
spindle motor
deviation
feedback
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.)
Granted
Application number
JP2002245103A
Other languages
Japanese (ja)
Other versions
JP4158455B2 (en
Inventor
Teruhisa Kojima
小島 輝久
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 JP2002245103A priority Critical patent/JP4158455B2/en
Publication of JP2004088882A publication Critical patent/JP2004088882A/en
Application granted granted Critical
Publication of JP4158455B2 publication Critical patent/JP4158455B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To use maximum torque with positional loop control contained in a controller and to prevent the occurrence of overshoot as much as possible, in the controller for a main spindle motor. <P>SOLUTION: This controller for the main spindle motor, structured so as to perform position/speed control for the main spindle motor by containing the positional loop control, speed loop control, and current loop control, controls a positional deviation amount so as to make a speed command relative to a target speed meet the target speed or a feedback speed when the feedback speed reaches a level within a prescribed speed range after acceleration or deceleration. <P>COPYRIGHT: (C)2004,JPO

Description

【0001】
【発明の属する技術分野】
本発明は、位置ループ制御、速度ループ制御及び電流ループ制御を組んで、主軸モータの位置・速度制御を実行するように構成された主軸モータの制御装置に関する。
【0002】
【発明が解決しようとする課題】
主軸モータは、高速域のトルクが大きく低下するため、主軸回転指令時2段加減速制御を実行することにより、主軸モータが持つ最大トルクに近づけるように制御している。この制御の加速パターン(主軸回転数の時間変化を示す特性図)を図22に示し、トルク−回転数特性(トルクと主軸回転数との関係を示す特性図)を図23に示す。上記制御の場合、図23からわかるように、まだ最大トルクを使っていない領域(未使用領域)がある。
【0003】
そこで、応答性、即ち、加速及び減速に要する時間を短くするために、時定数1及び時定数2を短くすると、実最大トルクよりも必要トルクが大きくなる領域が増えることから、指令に対する実速度の遅れが増える。このため、実速度が指令速度を超えてしまうオーバーシュート量が大きくなり(図22に示すオーバーシュート量に比べて)、その結果、主軸を破損させるおそれが生ずる。尚、上記オーバーシュートは、位置ループ制御を組んでいる場合に、指令に対する遅れが大きくなると、指令が定常速度に達した後に、遅れを取り戻すために起こる現象である。この場合、位置ループ制御を組まなければ、この現象は発生しないが、工具交換時に主軸をオリエント位置に位置決めする必要があるため、常に位置ループ制御を組む必要がある。
【0004】
また、主軸モータの最大トルク特性に沿った加減速パターンを与える制御方法も考えられるが、この制御方法の場合、主軸モータの最大トルクは、電源電圧が下がると,下がってしまうため、オーバーシュートを発生させないようにするためには、保証電源電圧のMIN値で調整しなければならない。このため、電源電圧が高いときには、従来構成と同じように、トルクの未使用領域が発生してしまう。
【0005】
本発明は上記事情に鑑みてなされたものであり、その目的は、位置ループ制御を組む構成としながら、最大トルクを使いきるように構成し、また、オーバーシュートの発生を極力防止することができる主軸モータの制御装置を提供するにある。
【0006】
【課題を解決するための手段】
請求項1の発明によれば、加速または減速後に、目標速度に対するフィードバック速度が所定速度域内に達したときに、速度指令を目標速度またはフィードバック速度に一致させるように位置偏差量を操作する構成としたので、位置ループ制御を組む構成とすると共に、最大トルクを使いきるように構成しても、オーバーシュートの発生を極力防止することができる
上記構成の場合、前記位置偏差量を操作したときの位置偏差操作量を記憶すると共に、オリエンテーション指令時に、その指令値を前記位置偏差操作量に基づいて補正するように構成しても良い。
【0007】
また、減速、停止、オリエンテーションする場合、フィードバック速度が設定速度に達したときに、速度指令がフィードバック速度を超えないように且つフィードバック速度に近づくように、位置偏差量を、主軸1回転パルス量の整数倍加減算するように構成することが好ましい。
【0008】
更に、位置偏差量を加減算するときに、位置ループゲインを低い値に設定し、その後、位置ループゲインを徐々に高くするように構成しても良い。
【0009】
【発明の実施の形態】
以下、本発明の一実施例について、図1ないし図21を参照しながら説明する。まず、図1は、本実施例の主軸モータの制御装置1の電気的構成を示すブロック図である。この図1に示すように、主軸モータの制御装置1は、数値制御部(NC)2と、サーボアンプ3とから構成されている。
【0010】
上記数値制御部2は、モーション指令部4と、偏差操作制御部5と、加算器6と、位置ループゲインKpとを備えて構成されている。モーション指令部4は、例えば加工プログラムを解釈して位置指令Pcomを生成し、この位置指令Pcomを加算器6と偏差操作制御部5とへ送るように構成されている。加算器6は、上記位置指令Pcomと、実際の位置、即ち、主軸モータ7のエンコーダ8から出力された位置フィードバックPfbとの位置偏差eを算出する機能を有している。そして、上記位置偏差eに位置ループゲインKpを乗ずることにより、速度指令Ncomが算出され、この速度指令Ncomはサーボアンプ3へ与えられるように構成されている。
【0011】
偏差操作制御部5は、モーション指令部4からの位置指令Pcomと、上記エンコーダ8からの位置フィードバックPfbとを受け取り、位置偏差eと位置ループゲインKpを、後述するようにして変更(操作)する機能を有している。尚、上記偏差操作制御部5は、入力した位置フィードバックPfbの情報を微分することにより、速度フィードバック情報を得るように構成されている。
【0012】
また、サーボアンプ3は、数値制御部2からの速度指令Ncom通り主軸モータ7が動作するように、主軸モータ7の電流を制御するように構成されている。この場合、サーボアンプ3の加算器9においては、速度指令Ncomと、実際の速度、即ち、エンコーダ8からの位置フィードバックPfbを微分回路10により微分して得られた速度フィードバックNfbとの速度偏差Veが算出されるように構成されている。
【0013】
そして、この速度偏差Veに速度ループ比例ゲインKvpを乗ずることにより得られた電流指令(比例)Ip、上記速度指令Veを積分回路11により積分して、その積分結果に速度ループ積分ゲインKviを乗ずることにより得られた電流指令(積分)Iiとを、加算器12により加算することにより、電流指令Icomが算出される。この電流指令Icomに従うように、電流制限部13及び電流制御部14によって主軸モータ7が通電制御される構成となっている。電流制限部13は、過大な電流指令が発生したような場合に、主軸モータ7と電流制御部14で決まる最大電流に制限する機能を有している。この場合、ある決まった最大トルクが発生する構成となっている。この特性により、サーボアンプ3の最大トルク以上の時定数を設定した場合でも、最大トルクカーブに従って、加減速されるようになっている。
【0014】
次に、偏差操作制御部5の制御内容について、図2及び図3のフローチャートも参照して説明する。まず、主軸モータ7の加速時(目標速度まで加速するとき)において位置偏差を操作する制御の内容について、図2のフローチャートに従って説明する。この場合、主軸モータ7の加速中に、主軸の回転指令(速度指令)値と実速度(フィードバック速度)との差が許容速度差(所定速度)よりも小さくなったときに、位置偏差を理論偏差に置き換える操作を実行するように構成されている。
【0015】
具体的には、まず図2のステップS1において、主軸の回転指令(速度指令)があるか否かを判断する。ここで、主軸の回転指令がある場合は、ステップS1にて「YES」へ進み、主軸定常時偏差補正有効SWをオンする(ステップS2)。また、主軸の回転指令がない場合は、ステップS1にて「NO」へ進み、ステップS1の処理へ戻る。続いて、ステップS3へ進み、主軸の加速指令が終了したか否かを判断する。ここで、主軸の加速指令が終了していれば、「YES」へ進み、主軸定常時偏差補正有効SWがオンであるか否かを判断する(ステップS4)。
【0016】
そして、ステップS5へ進み、主軸の回転指令(速度指令)値と実速度(フィードバック速度)との差の絶対値が、予め決められた許容速度差1よりも小さい否かを判断する。この場合、上記差の絶対値が許容速度差1よりも小さいときは、「YES」へ進み、ステップS6へ進み、まず、主軸定常時偏差補正有効SWをオフする。続いて、理論偏差eを次の式により計算する。
【0017】
e=指令回転数N[rpm]×エンコーダ分解能[pulse/rev]
×位置ループゲインKp[rad/sec]/60[sec/min]
そして、回転位置ずれPe量を次の式で計算する。
【0018】
Pe=余り((現在偏差−理論偏差)/エンコーダ分解能)
更に、主軸位置偏差を上記計算した理論偏差eに置き換える処理を実行するように構成されている
続いて、ステップS7へ進み、主軸モータ7のサーボアンプ3へ与える速度指令を演算する。さらに、ステップS8へ進み、演算した主軸モータ7の速度指令をサーボアンプ3へ送信するように構成されている。この後は、ステップS1へ戻り、上述した処理を繰り返し実行するようになっている。
【0019】
また、上記各判断ステップS3、S5において、それぞれ「NO」の場合は、ステップS7へ進むように構成されている。また、ステップS4において、「NO」と判断された場合、加速時の偏差処理が終了ようになっている。
【0020】
このような構成の本実施例において、最大トルクを超える時定数を与えた場合の加速時の速度変化と使用トルクを、実験(シミュレーション)によって測定した結果を図4と図5に示す。図4において、線P1は位置指令の時間微分、線P2はフィードバック速度Nfb、線P3は速度指令Ncom、線P4は位置偏差e、線P5は電流指令Icomである。図5において、線P6は位置指令から逆算した必要トルク、線P7は実使用トルク、線P8はサーボ最大トルクである。
【0021】
上記図4及び図5によれば、フィードバック速度が目標速度に対して、予め設定された許容速度誤差1(本実施例では例えば0)内に入ったときに、位置偏差を強制的に理論位置偏差に置き代えることから、速度指令が目標速度に一致するようになり、このため、オーバーシュートが発生しないし、また、立ち上がりにかかる時間も短く(早く)なっていることがわかる。
【0022】
そして、本実施例では、上記偏差操作時の操作量から1回転ずれ分を把握(記憶)しておき、減速オリエンテーション時に、そのずれ分を補正するように構成することが好ましい。また、上記実施例では、許容速度誤差1を0としたが、これに代えて、許容速度誤差1を0以外の値を設定し、早いタイミングで偏差操作を行うと共に、速度指令が現在のフィードバック速度に等しくなるように偏差操作するように構成しても良い。このように構成すると、速度ループの積分項にたまった分の電流指令の応答が遅くなり、速度ループでのオーバーシュートを防ぐのに有効である。
【0023】
ここで、従来技術(図22及び図23参照)によって制御した場合の加速時の速度変化と使用トルクを、実験(シミュレーション)によって測定した結果を図6と図7に示す。尚、図6、図7における各線P1〜P8は、図4及び図5の各線P1〜P8と同じである。上記図6及び図7によれば、オーバーシュートを発生させないようにするために、最大トルクを極力超えないような時定数を与えていることから、立ち上がりにかなりの時間がかかっていることがわかる。
【0024】
このような従来技術の制御において、最大トルクを超える時定数(本実施例の図4及び図5の場合と同じ時定数)を与えた場合の加速時の速度変化と使用トルクを、実験(シミュレーション)によって測定した結果を図8と図9に示す。尚、図8、図9における各線P1〜P8は、図4及び図5の各線P1〜P8と同じである。上記図8及び図9によれば、フィードバック速度が目標速度に達しても、位置ループの遅れを取り戻すために、大きなオーバーシュートが生じていることがわかる。
【0025】
次に、主軸モータ7の減速停止時(オリエント停止するとき)において位置偏差を操作する制御の内容について説明する。最初に、主軸モータ7の減速停止時の位置ループゲインKpについて考察してみる。
【0026】
主軸モータ7のオリエンテーションを短時間で行わせるためには、位置ループゲインKpを高くすることが有効である。本実施例では、主軸モータ7の停止間際に位置偏差量を操作する(具体的には、速度指令をフィードバック速度に近づける)ときに、位置ループゲインKpも操作しているが、位置偏差を操作するタイミングが早く、位置ループゲインKpが高いと、オーバーシュートを生ずる。以下、この場合の動作について理論的に説明する。
【0027】
最大イナーシャJmax[kgm]のときに、出せる瞬時トルクの保証値(低速域)をTmax[Nm]とすると、出せる減速度α[rad/s]は、次の通りとなる。
【0028】
α[rad/s]=Tmax[Nm]/Jmax[kgm]   (1)
エンコーダ8の分解能をRESO[pulse/rev]とすると、上記式(1)をrad系からpulse系へ単位変換した減速度αp[pulse/s]は、次の通りとなる。
【0029】
αp[pulse/s]=α[rad/s]×RESO[pulse/rev]/(2π[rad/rev])=RESO×Tmax/(2π・Jmax)  (2)
従って、最大トルクで減速停止しようとした場合は、(2)式で求められる傾きで減速する(尚、これ以上の傾きで減速することは不可能である)。今、減速途中で位置偏差を操作するときの回転数(回転速度)をNx[pulse/s]とし、位置偏差操作により速度指令をNxに一致させたとする。この場合、継続して最大トルクを出し続けて減速停止した場合の操作時から停止までに要する時間は、最短でαp/Nxである。
【0030】
そして、図10に示す3角形の面積が、最大トルクで減速停止したときの偏差操作後から停止までの総フィードバックパルスΣP[pulse]であり、次の式で表わされる。
【0031】
ΣP[pulse]=1/2・Nx・Nx/αp
=Nx/(2・αp)            (3)
また、偏差操作以降の位置ループゲインをKpx[rad/s]とし、偏差操作を位置指令が0になった後に行うとするならば、偏差操作時に速度指令がフィードバック速度に等しく偏差操作する場合は、偏差操作直後の位置ループ偏差exは、次の式で表わされる。
【0032】
ex[pulse]=Nx[pulse/s]/Kpx[rad/s]
ここで、偏差操作時は、既に位置指令が0になった後としているので、偏差操作時の位置偏差exが偏差操作後の総フィードバックパルスΣPより大きくないと、位置偏差は符号逆転(すなわち、オーバーシュート)が生ずる。
【0033】
従って、オーバーシュートを発生させないための条件は、次の通りとなる。
【0034】
ex>ΣP                          (5)
Nx/Kpx>Nx/(2・αp)
Nx<2・αp/Kpx
<2・(RESO×Tmax/(2π・Jmax))/Kpx
<RESO・Tmax/(π・Jmax・Kpx)
Nx[pulse/s]を[rpm]に変換する場合は、両辺に60/RESOをかければよいから、
Nx[rpm]<60・Tmax[Nm]/(π・Jmax[kgm]・Kpx[rad/s])                       (6)
この場合、Jmax、Tmaxは、サーボ仕様、メカ仕様が決まれば、一義的に決まる固定値であるから、上記(6)式より、位置ループゲインの値の大きさによって、偏差を操作するタイミングが決まることがわかる。早くオリエンテーションを行うためには、位置ループゲインKpが大きい方がよいが、そうすると、位置偏差操作を停止に近い回転数で行わなければならない。
【0035】
ここまでの説明では、位置偏差操作により速度指令をフィードバック速度に一致させることを前提としている。しかし、現実的には、オリエント位置への減速停止における位置偏差操作は、加速時における位置偏差操作と異なり、次の制限がある。
【0036】
オリエントずれを起こさせないようにするために、位置偏差操作量は、分解能の整数倍(N倍)でなければならない。
【0037】
数値制御部2は、プログラム上でオリエント減速停止を認識後、パラメータで与えられた時定数、現在位置指令、及び、加速時に位置偏差を操作して発生した1回転誤差((加速時偏差操作量/分解能)の余り)分を考慮して、オリエント停止までの位置指令を生成する。減速停止での偏差操作は、この位置指令がすべて分配されてから行うので、加速時と同様に速度指令が速度フィードバックと等しくなるように偏差量を置き代えると、位置がずれてしまう。
【0038】
従って、位置ずれを起こさないために、減速時には、分解能のN倍の加減算(即ち、主軸1回転パルス量の整数倍の加減算)を行う必要があり、速度指令を速度フィードバック値に近づけるという操作になる。これは、言い換えると、偏差操作タイミングを、フィードバック速度がある値以下に達したときに設定するならば(即ち、偏差操作タイミングをフィードバック速度に応じて作るならば)、そのときどきによって偏差操作後の速度指令はバラツクことになる。操作後の速度指令をフィードバック速度以下にしないと、継続的に減速するための最大トルクを発生させなくなり(即ち、速度指令がフィードバック速度を上回ると、減速状態から加速状態になるため、電流指令は反転する)、停止時間のロスが発生する。このため、偏差操作後の速度指令は、フィードバック速度以下になるように制御する。以上のことから、偏差操作後の速度指令は、最大Kpx分解能分ずれるので、次の(7)式の範囲でばらつく。
【0039】
フィードバック速度−分解能×Kp<偏差操作後の速度指令≦フィードバック速度                              (7)
この式(7)から、位置ループゲインKpが大きいと、偏差操作直後の速度指令のばらつきが大きくなってしまうことがわかる。この結果と、前記式(6)の結果とを併せて考えると、オリエンテーション時間を短くするために、位置ループゲインKpを高くすると、位置偏差操作タイミングを低回転数に設定する必要があるが、上記式(7)により、ばらつきが大きくなり、最悪、速度指令が逆転する可能性があるということがわかる。
【0040】
このことを計算式で求めてみる。偏差操作時に、フィードバック速度が分可能分下回った場合は、(5)式より、
ex−RESO>ΣP
Nx/Kpx−RESO>Nx/(2・αp)
Nx/(2・αp)−Nx/Kpx+RESO<0       (8)
となり、Nxの2次の方程式になる。この(8)式において、不等号をイコールに置き代えた方程式のNxが実数根を持つための条件は、2次方程式ax+bx+c=0の根の判別式b2−4ac>0より、次の通りとなる。
【0041】
(1/Kpx)−4・RESO/(2・αp)>0
Kpx<(αp/(2・RESO))1/2            (9)
(2)式を(9)式に代入すると、次の式が得られる。
【0042】
Kpx<(Tmax/(4π・Jmax))1/2        (10)
即ち、位置ループゲインKpの最大値は、メカ条件で決まるJmax、Tmaxによって決まることになる。これを、Jmax=0.00055[kgm]、Tmax=43[Nm]のシステムに対して適用した具体例について、以下説明する。
【0043】
まず、偏差操作時に速度フィードバックに速度指令を一致させた場合の各Kpxに対する偏差操作最大回転数Nxと、各Kpxで偏差操作時、分解能分の偏差があったとき、速度指令としてどのくらいに相当するかを表わしたグラフを図11に示す。この図11において、実線L1は偏差操作最大回転数Nxを示し、破線L2は分解能分のずれの速度指令量を示している。
【0044】
位置ループゲインKpが低い場合は、偏差操作回転数も7500rpm以下で、且つ分解能分のずれがあっても速度指令に現れる量としては1200rpmと小さい。しかし、位置ループゲインKpが高い場合は、操作するタイミングも低回転になっていき、分解能分のずれが速度指令に与える影響も大きくなる。
【0045】
次に、偏差操作時に速度指令をフィードバック速度に一致させれない場合について考察してみる。位置ループゲインKp=20のときで、分解能分(即ち、1回転分)のずれがある場合に対して、上記(8)式の左辺を縦軸にし、偏差操作最大回転数Nxを横軸にしてグラフを描くと、図12のようになる。この図12の放物線Q1が0以下になるNxが(8)式を満足することになる。
【0046】
図11の場合、即ち、速度指令をフィードバック速度に一致させた場合は、Kp=20のときにNxが7500rpm以下であれば、オーバーシュートを発生させなかったが、上記図12の場合は、Nxを1500〜6000rpmの間に偏差操作しないと、オーバーシュートを発生させてしまう。Kpを20から大きくしていくと、図12の放物線は上へシフトしていき、あるKpで0と交わらなくなる。(10)式より、その値が求まる。本実施例の場合、Kp=24.9の場合である。この場合のグラフを描くと、図13に示すようになる。
【0047】
即ち、Kp=24.9としたときに、分解能分のずれがあった場合は、Nxが3000rpm以外で偏差操作を行うと、必ずオーバーシュートを生ずる。更に、Kpが24.9以上の場合には、分解能分のずれが生じた場合、どのような偏差操作回転数であっても必ずオーバーシュートが発生することになる。
【0048】
この問題点を解決するために、本実施例においては、偏差操作を実行する時には、まず、位置ループゲインKpを低く設定し、その後、ある時定数で所定の高ゲインまで徐々にゲインを高くしていくように構成している。これにより、オーバーシュートをどんなときでも発生させず、且つ、オリエント位置決めを早く終了させる減速停止制御を実現している。
【0049】
次に、本実施例の主軸モータ7の減速停止時における位置偏差操作の制御の具体的内容について、図3のフローチャートに従って説明する。まず、図3のステップS11において、主軸の停止指令(速度指令)があるか否かを判断する。ここで、主軸の停止指令がある場合は、ステップS11にて「YES」へ進み、主軸停止時偏差補正有効SWをオンする(ステップS12)。一方、ステップS11にて主軸の停止指令がない場合は、「NO」へ進み、ステップS11の処理へ戻る。続いて、ステップS13へ進み、主軸の減速指令が終了したか否かを判断する。ここで、主軸の減速指令が終了していれば、「YES」へ進み、主軸定常時偏差補正有効SWがオンであるか否かを判断する(ステップS14)。
【0050】
そして、ステップS15へ進み、主軸の実速度(フィードバック速度)の絶対値が、予め決められた許容速度差2よりも小さい否かを判断する。この場合、上記実速度の絶対値が許容速度差2よりも小さいときは、「YES」へ進み、ステップS16へ進み、まず、主軸停止時偏差補正有効SWをオフする。
【0051】
続いて、ステップS17へ進み、主軸位置偏差に主軸加速時の回転位置ずれPe分を補正する。そして、位置ループゲインを切り換える。この場合、それまでのゲインKp1を停止時初期ゲインKp2(Kp1よりも小さい値のゲイン)に切り換える。更に、サーボアンプへ与えられる速度指令が、主軸フィードバック速度を超えず、且つ、近づけるように、主軸偏差量をエンコーダ分解能の整数倍分加減算する。更にまた、ゲイン切換SWをオンする。
【0052】
そして、ステップS18へ進み、ゲイン切換SWがオンであるか否かを判断する。ここで、オンであれば、ステップS19へ進み、ゲイン切換時定数tKp3分の時間が経過したか否かを判断する。ここで、経過していれば、ステップS20へ進み、高ゲインKp3保持時間が経過したか否かを判断する。ここで、経過していれば、ステップS21へ進み、オリエント時ゲインKp4を主軸位置ループゲインKpとすると共に、ゲイン切替SWをOFFとする。また、ステップS20において、経過していないなら、ステップS25へ進み、高ゲインKp3を主軸位置ループゲインKpとする。
【0053】
そして、上記ステップS21を実行した後は、ステップS22へ進み、サーボアンプ3へ与える主軸の速度指令を演算する。続いて、ステップS23へ進み、上記演算した主軸の速度指令をサーボアンプ3へ送信した後、処理を終了するように構成されている。
【0054】
また、上記ステップS19において、ゲイン切換時定数tKp3分の時間が経過していなければ、ステップS24へ進み、主軸位置ループゲインの増分量を追加する。この場合、増分量は、次の通りである。
【0055】
(Kp3−Kp2)/(tKp3/処理周期)
そして、上記増分量を主軸位置ループゲインKpに加算すればよい。この後は、ステップS26へ進み、サーボアンプ3へ与える主軸の速度指令を演算する。続いて、ステップS27へ進み、上記演算した主軸の速度指令をサーボアンプ3へ送信するように構成されている。この後、前記ステップS13の処理へ戻るように構成されている。
【0056】
また、前記ステップS25を実行した後は、上記ステップS27へ進むように構成されている。また、前記ステップS18において、ゲイン切換SWがオンでない場合も、上記ステップS27へ進むように構成されている。更にまた、前記判断ステップS13において、主軸の減速指令が終了していない場合も、上記ステップS27へ進むように構成されている。
【0057】
このような構成の本実施例において、最大トルクを超える時定数を与えた場合の減速停止時の速度変化と使用トルクを、実験(シミュレーション)によって測定した結果を図14と図15に示す。尚、図14、図15における各線P1〜P8は、図4及び図5の各線P1〜P8と同じである。上記図14及び図15によれば、フィードバック速度が目標速度に対して、予め設定された許容速度誤差2に到達したときに、位置偏差を分解能のN倍加減算して、速度指令をフィードバック速度に近づけるように制御したので、オーバーシュートが発生することなく、スムーズに停止していることがわかる。
【0058】
さて、図16は、図14のうちの停止部分を拡大すると共に、位置ループゲインKpの変化を追加した特性図である。この図16において、P9は位置ループゲインKpを示す。上記図16においては、偏差操作速度(即ち、速度許容誤差2)を2000rpmとし、偏差操作時の初期位置ループゲインを20とし、その後、位置ループゲインを100まで時定数50msで徐々に増加させ、高ゲインを100ms間保持した後、オリエント時の通常ゲイン30に戻すように制御している。この制御によれば、位置偏差操作時は、20という低いゲインに設定し、その後、徐々にゲインを高くしているので、オーバーシュートが発生することなく、しかも、スムーズにオリエント位置に偏差が収束している。
【0059】
これに対して、図17は、偏差操作時に位置ループゲインKpをいきなり高ゲインに切り換える制御を示している。この場合、オーバーシュートが発生してしまうことがわかる。
【0060】
ここで、従来技術(図22及び図23参照)によって制御した場合の減速停止時の速度変化と使用トルクを、実験(シミュレーション)によって測定した結果を図18と図19に示す。尚、図18、図19における各線P1〜P8は、図14及び図15の各線P1〜P8と同じである。上記図18及び図19によれば、オーバーシュートを発生させないようにするために、最大トルクを極力超えないような長い時定数を与えていることから、停止するまでに長い時間(本実施例(図14及び図15参照)に比べて)がかかっていることがわかる。
【0061】
このような従来技術の制御において、最大トルクを超える時定数(本実施例の図14及び図15の場合と同じ短い時定数)を与えた場合の減速停止時の速度変化と使用トルクを、実験(シミュレーション)によって測定した結果を図20と図21に示す。尚、図20、図21における各線P1〜P8は、図14及び図15の各線P1〜P8と同じである。上記図20及び図21によれば、大きなオーバーシュートが発生していることがわかる。
【0062】
一方、本実施例においては、加減速パターンとして、例えば2段加減速パターンを実行する構成に適用したが、わざわざ2段にしなくても、1段(指令速度まで一直線加減速)の構成に本発明を適用しても良く、なんら問題がない。この1段加減速の場合には、偏差操作時の偏差が異常に大きくなる。
【0063】
通常、サーボ制御では、モータロックやメカ衝突時に、位置偏差が大きくなることを利用して、最高速時の理論偏差にあるマージンを持たせた値で、位置偏差を監視し、その値を超えた場合は、異常が発生したとして、アラームで止めることを行っている。従って、この偏差異常検出の点では、サーボの最大トルクに対して、あまりかけはなれた指令トルクにならないようにするほうが好ましい。よって、サーボの最大トルクを若干上回るような加減速パターンを与えることが望ましい。
【0064】
【発明の効果】
本発明は以上の説明から明らかなように、加速または減速後に、目標速度に対するフィードバック速度が所定速度域内に達したときに、速度指令を目標速度またはフィードバック速度に一致させるように位置偏差量を操作する構成としたので、位置ループ制御を組む構成としながら、最大トルクを使いきるように構成し、また、オーバーシュートの発生を極力防止することができるという優れた効果を奏する。
【図面の簡単な説明】
【図1】本発明の一実施例を示す主軸モータの制御装置のブロック図
【図2】加速時のフローチャート
【図3】減速停止時のフローチャート
【図4】加速時の速度変化等を示す特性図
【図5】加速時の使用トルク等を示す特性図
【図6】従来構成の図4相当図
【図7】従来構成の図5相当図
【図8】他の従来構成の図4相当図
【図9】他の従来構成の図5相当図
【図10】回転数の変化を示す特性図
【図11】偏差操作最大回転数と位置ループゲインとの関係を示す特性図
【図12】(8)式左辺と偏差操作最大回転数との関係を示す特性図
【図13】異なる位置ループゲインについての図12相当図
【図14】減速停止時の速度変化等を示す特性図
【図15】減速停止時の使用トルク等を示す特性図
【図16】図14のうちの停止部分を拡大して示す図
【図17】偏差操作時に位置ループゲインKpをいきなり高ゲインに切り換える制御を示す図16相当図
【図18】従来構成の図14相当図
【図19】従来構成の図15相当図
【図20】他の従来構成の図14相当図
【図21】他の従来構成の図15相当図
【図22】従来構成の加速パターンの特性図
【図23】従来構成のトルクと回転数との関係を示す特性図
【符号の説明】
1は制御装置、2は数値制御部、3はサーボアンプ、4はモーション指令部、5は偏差操作制御部、6は加算器、7は主軸モータ、8はエンコーダ、9は加算器、12は加算器、13は電流制限部、14は電流制御部を示す。
[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to a spindle motor control device configured to execute position / speed control of a spindle motor by combining position loop control, speed loop control, and current loop control.
[0002]
[Problems to be solved by the invention]
Since the spindle motor greatly reduces the torque in the high-speed range, the two-stage acceleration / deceleration control at the time of the spindle rotation command is executed to control the spindle motor to approach the maximum torque of the spindle motor. FIG. 22 shows an acceleration pattern of this control (a characteristic diagram showing a time change of the spindle speed), and FIG. 23 shows a torque-rotation speed characteristic (a characteristic diagram showing a relationship between the torque and the spindle speed). In the case of the above control, as can be seen from FIG. 23, there is a region where the maximum torque is not yet used (unused region).
[0003]
Therefore, if the time constant 1 and the time constant 2 are shortened in order to shorten the response, that is, the time required for acceleration and deceleration, the area where the required torque is larger than the actual maximum torque increases, so that the actual speed with respect to the command is increased. Delay increases. For this reason, the overshoot amount at which the actual speed exceeds the command speed increases (compared to the overshoot amount shown in FIG. 22), and as a result, the main shaft may be damaged. The overshoot is a phenomenon that occurs when a delay with respect to a command is increased in a case where the position loop control is performed, after the command reaches a steady speed, the delay is recovered. In this case, if the position loop control is not set, this phenomenon does not occur. However, since the spindle needs to be positioned at the orient position at the time of tool change, it is necessary to always set the position loop control.
[0004]
A control method that gives an acceleration / deceleration pattern in accordance with the maximum torque characteristic of the spindle motor is also conceivable. However, in this control method, the maximum torque of the spindle motor decreases when the power supply voltage decreases. In order not to cause the generation, it is necessary to adjust the MIN value of the guaranteed power supply voltage. For this reason, when the power supply voltage is high, an unused area of torque is generated as in the conventional configuration.
[0005]
The present invention has been made in view of the above circumstances, and an object of the present invention is to configure the position loop control, to use the maximum torque, and to minimize the occurrence of overshoot. An object of the present invention is to provide a control device for a spindle motor.
[0006]
[Means for Solving the Problems]
According to the first aspect of the present invention, when the feedback speed with respect to the target speed reaches within a predetermined speed range after acceleration or deceleration, the position deviation amount is operated so that the speed command matches the target speed or the feedback speed. Therefore, even if the configuration is such that the position loop control is configured and the maximum torque is used up, occurrence of overshoot can be prevented as much as possible.
In the case of the above configuration, the position deviation operation amount when the position deviation amount is operated may be stored, and at the time of an orientation command, the command value may be corrected based on the position deviation operation amount.
[0007]
In the case of deceleration, stop, and orientation, when the feedback speed reaches the set speed, the position deviation amount is adjusted so that the speed command does not exceed the feedback speed and approaches the feedback speed. It is preferable to configure so as to perform integer multiplication and subtraction.
[0008]
Furthermore, when adding or subtracting the position deviation amount, the position loop gain may be set to a low value, and thereafter, the position loop gain may be gradually increased.
[0009]
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, an embodiment of the present invention will be described with reference to FIGS. First, FIG. 1 is a block diagram illustrating an electrical configuration of a control device 1 for a spindle motor according to the present embodiment. As shown in FIG. 1, a control device 1 for a spindle motor includes a numerical control unit (NC) 2 and a servo amplifier 3.
[0010]
The numerical control section 2 includes a motion command section 4, a deviation operation control section 5, an adder 6, and a position loop gain Kp. The motion command unit 4 is configured to, for example, interpret a machining program to generate a position command Pcom, and send the position command Pcom to the adder 6 and the deviation operation control unit 5. The adder 6 has a function of calculating a position deviation e between the position command Pcom and the actual position, that is, the position feedback Pfb output from the encoder 8 of the spindle motor 7. By multiplying the position deviation e by the position loop gain Kp, a speed command Ncom is calculated, and the speed command Ncom is given to the servo amplifier 3.
[0011]
The deviation operation control unit 5 receives the position command Pcom from the motion command unit 4 and the position feedback Pfb from the encoder 8, and changes (operates) the position deviation e and the position loop gain Kp as described later. Has a function. The deviation operation control unit 5 is configured to obtain speed feedback information by differentiating the input information of the position feedback Pfb.
[0012]
Further, the servo amplifier 3 is configured to control the current of the spindle motor 7 so that the spindle motor 7 operates according to the speed command Ncom from the numerical controller 2. In this case, in the adder 9 of the servo amplifier 3, a speed deviation Ve between the speed command Ncom and the actual speed, that is, the speed feedback Nfb obtained by differentiating the position feedback Pfb from the encoder 8 by the differentiating circuit 10. Is calculated.
[0013]
Then, the current command (proportionality) Ip obtained by multiplying the speed deviation Ve by the speed loop proportional gain Kvp and the speed command Ve are integrated by the integration circuit 11, and the integration result is multiplied by the speed loop integration gain Kvi. The current command (integral) Ii thus obtained is added by the adder 12 to calculate the current command Icom. According to the current command Icom, the main shaft motor 7 is controlled to be energized by the current limiter 13 and the current controller 14. The current limiting unit 13 has a function of limiting the current to a maximum current determined by the spindle motor 7 and the current control unit 14 when an excessive current command is generated. In this case, a certain maximum torque is generated. Due to this characteristic, even when a time constant equal to or greater than the maximum torque of the servo amplifier 3 is set, acceleration and deceleration are performed according to the maximum torque curve.
[0014]
Next, the control contents of the deviation operation control unit 5 will be described with reference to the flowcharts of FIGS. First, the content of the control for operating the position deviation when the spindle motor 7 is accelerated (when accelerating to the target speed) will be described with reference to the flowchart of FIG. In this case, during the acceleration of the spindle motor 7, when the difference between the rotation command (speed command) value of the spindle and the actual speed (feedback speed) becomes smaller than the allowable speed difference (predetermined speed), the position deviation is theoretically calculated. It is configured to execute an operation for replacing with a deviation.
[0015]
Specifically, first, in step S1 of FIG. 2, it is determined whether or not there is a rotation command (speed command) of the main shaft. If there is a spindle rotation command, the process proceeds to "YES" in step S1, and the spindle steady-state deviation correction effective SW is turned on (step S2). If there is no main shaft rotation command, the process proceeds to “NO” in step S1 and returns to the process in step S1. Subsequently, the process proceeds to step S3, where it is determined whether or not the acceleration command for the spindle has been completed. Here, if the spindle acceleration command has been completed, the process proceeds to "YES", and it is determined whether the spindle steady-state deviation correction effective SW is on (step S4).
[0016]
Then, the process proceeds to step S5, and it is determined whether or not the absolute value of the difference between the rotation command (speed command) value of the main shaft and the actual speed (feedback speed) is smaller than a predetermined allowable speed difference 1. In this case, when the absolute value of the difference is smaller than the permissible speed difference 1, the process proceeds to "YES" and proceeds to step S6 to turn off the main shaft steady-state deviation correction effective SW. Subsequently, the theoretical deviation e is calculated by the following equation.
[0017]
e = command rotation speed N [rpm] × encoder resolution [pulse / rev]
X Position loop gain Kp [rad / sec] / 60 [sec / min]
Then, the rotational position deviation Pe amount is calculated by the following equation.
[0018]
Pe = Remainder ((current deviation-theoretical deviation) / encoder resolution)
Further, it is configured to execute a process of replacing the spindle position deviation with the theoretical deviation e calculated above.
Subsequently, the process proceeds to step S7, where a speed command given to the servo amplifier 3 of the spindle motor 7 is calculated. Further, the process proceeds to step S8, and the calculated speed command of the spindle motor 7 is transmitted to the servo amplifier 3. Thereafter, the process returns to step S1, and the above-described processing is repeatedly executed.
[0019]
Further, in each of the determination steps S3 and S5, if "NO" in each case, the process proceeds to step S7. If it is determined as "NO" in step S4, the acceleration deviation process is terminated.
[0020]
In this embodiment having such a configuration, FIGS. 4 and 5 show the results obtained by measuring the speed change during acceleration and the used torque by an experiment (simulation) when a time constant exceeding the maximum torque is given. In FIG. 4, a line P1 is a time derivative of a position command, a line P2 is a feedback speed Nfb, a line P3 is a speed command Ncom, a line P4 is a position deviation e, and a line P5 is a current command Icom. In FIG. 5, a line P6 represents the required torque calculated backward from the position command, a line P7 represents the actual use torque, and a line P8 represents the servo maximum torque.
[0021]
According to FIGS. 4 and 5, when the feedback speed falls within a predetermined allowable speed error 1 (for example, 0 in this embodiment) with respect to the target speed, the position deviation is forcibly set to the theoretical position. By substituting the deviation, it can be seen that the speed command matches the target speed, so that overshoot does not occur and the time required for rising is shorter (earlier).
[0022]
In the present embodiment, it is preferable to comprehend (store) one rotation deviation from the operation amount at the time of the deviation operation, and correct the deviation during the deceleration orientation. In the above embodiment, the allowable speed error 1 was set to 0. Instead, the allowable speed error 1 was set to a value other than 0, the deviation operation was performed at an early timing, and the speed command was set to the current feedback. The deviation operation may be configured to be equal to the speed. With this configuration, the response of the current command accumulated in the integral term of the speed loop becomes slow, which is effective for preventing overshoot in the speed loop.
[0023]
Here, FIG. 6 and FIG. 7 show the results obtained by measuring the speed change and the used torque at the time of acceleration in the case of controlling by the conventional technique (see FIG. 22 and FIG. 23) by experiment (simulation). The lines P1 to P8 in FIGS. 6 and 7 are the same as the lines P1 to P8 in FIGS. According to FIGS. 6 and 7, since a time constant that does not exceed the maximum torque is given as much as possible in order to prevent overshoot from occurring, it can be understood that a considerable time is required for the rise. .
[0024]
In such a conventional control, the speed change and the used torque during acceleration when a time constant exceeding the maximum torque (the same time constant as in FIGS. 4 and 5 of the present embodiment) is given are experimentally (simulated). 8) and 9) show the results of the measurement. The lines P1 to P8 in FIGS. 8 and 9 are the same as the lines P1 to P8 in FIGS. According to FIGS. 8 and 9, even when the feedback speed reaches the target speed, a large overshoot occurs to recover the position loop delay.
[0025]
Next, a description will be given of the content of the control for operating the position deviation when the spindle motor 7 is decelerated and stopped (when the orientation motor is stopped). First, the position loop gain Kp when the spindle motor 7 is decelerated and stopped will be considered.
[0026]
In order to perform the orientation of the spindle motor 7 in a short time, it is effective to increase the position loop gain Kp. In this embodiment, the position loop gain Kp is also operated when the position deviation amount is operated immediately before the stop of the spindle motor 7 (specifically, when the speed command approaches the feedback speed). When the position loop gain Kp is high and the position loop gain Kp is high, overshoot occurs. Hereinafter, the operation in this case will be described theoretically.
[0027]
Maximum inertia Jmax [kgm 2 ], When the guaranteed value of the instantaneous torque that can be output (low speed range) is Tmax [Nm], the deceleration that can be output α [rad / s] 2 ] Is as follows.
[0028]
α [rad / s 2 ] = Tmax [Nm] / Jmax [kgm 2 ] (1)
Assuming that the resolution of the encoder 8 is RESO [pulse / rev], the deceleration αp [pulse / s] obtained by unit-converting the above equation (1) from the rad system to the pulse system 2 ] Is as follows.
[0029]
αp [pulse / s 2 ] = Α [rad / s 2 ] × RESO [pulse / rev] / (2π [rad / rev]) = RESO × Tmax / (2π · Jmax) (2)
Therefore, when an attempt is made to decelerate to a stop with the maximum torque, the vehicle decelerates at a gradient determined by the equation (2) (it is impossible to decelerate at a gradient greater than this). Now, it is assumed that the number of rotations (rotation speed) when the position deviation is operated during deceleration is set to Nx [pulse / s], and the speed command is made equal to Nx by the position deviation operation. In this case, the time required from the time of the operation to the stop when the deceleration stop is performed by continuously outputting the maximum torque is αp / Nx at the shortest.
[0030]
The area of the triangle shown in FIG. 10 is the total feedback pulse ΔP [pulse] from the deviation operation to the stop when decelerating and stopping at the maximum torque, and is represented by the following equation.
[0031]
ΣP [pulse] = 1/2 · Nx · Nx / αp
= Nx 2 / (2 · αp) (3)
Further, if the position loop gain after the deviation operation is Kpx [rad / s] and the deviation operation is performed after the position command becomes 0, if the speed command is equal to the feedback speed during the deviation operation, , The position loop deviation ex immediately after the deviation operation is expressed by the following equation.
[0032]
ex [pulse] = Nx [pulse / s] / Kpx [rad / s]
Here, at the time of the deviation operation, since the position command has already become 0, if the position deviation ex at the time of the deviation operation is not larger than the total feedback pulse ΔP after the deviation operation, the position deviation becomes the sign reverse (that is, Overshoot) occurs.
[0033]
Therefore, the conditions for preventing the occurrence of overshoot are as follows.
[0034]
ex> $ P (5)
Nx / Kpx> Nx 2 / (2 · αp)
Nx <2 · αp / Kpx
<2 · (RESO × Tmax / (2π · Jmax)) / Kpx
<RESO · Tmax / (π · Jmax · Kpx)
When converting Nx [pulse / s] to [rpm], 60 / RESO may be applied to both sides.
Nx [rpm] <60 · Tmax [Nm] / (π · Jmax [kgm 2 ] · Kpx [rad / s]) (6)
In this case, Jmax and Tmax are fixed values that are uniquely determined when the servo specifications and mechanical specifications are determined. Therefore, according to the above equation (6), the timing for operating the deviation is determined by the value of the position loop gain. You can see that it is decided. In order to perform the orientation quickly, it is better that the position loop gain Kp is large. However, in that case, the position deviation operation must be performed at a rotational speed close to the stop.
[0035]
In the description so far, it is assumed that the speed command is made to match the feedback speed by the position deviation operation. However, in reality, the position deviation operation at the time of deceleration stop to the orient position is different from the position deviation operation at the time of acceleration, and has the following restrictions.
[0036]
In order not to cause an orientation shift, the position deviation manipulated variable must be an integral multiple (N times) of the resolution.
[0037]
After recognizing the orientation deceleration stop in the program, the numerical control unit 2 operates the time constant given by the parameter, the current position command, and the one-rotation error generated by operating the position deviation during acceleration ((the deviation operation amount during acceleration). A position command up to the orientation stop is generated in consideration of the remainder of (/ resolution). Since the deviation operation at the time of deceleration stop is performed after all of the position commands are distributed, if the deviation amount is replaced so that the speed command becomes equal to the speed feedback as in the case of acceleration, the position is shifted.
[0038]
Therefore, it is necessary to perform addition and subtraction of N times the resolution (that is, addition and subtraction of an integral multiple of the pulse amount of one spindle rotation) at the time of deceleration in order to prevent a position shift. Become. In other words, if the deviation operation timing is set when the feedback speed has reached a certain value or less (that is, if the deviation operation timing is made in accordance with the feedback speed), the deviation operation timing is sometimes changed after that. The speed command will vary. If the speed command after the operation is not set to the feedback speed or less, the maximum torque for continuously decelerating is not generated (that is, if the speed command exceeds the feedback speed, the current command is changed from the deceleration state to the acceleration state). Inversion), and a loss of stop time occurs. Therefore, the speed command after the deviation operation is controlled to be equal to or less than the feedback speed. From the above, since the speed command after the deviation operation is shifted by the maximum Kpx resolution, it varies within the range of the following equation (7).
[0039]
Feedback speed-Resolution x Kp <Speed command after deviation operation ≤ Feedback speed (7)
From this equation (7), it can be seen that when the position loop gain Kp is large, the variation of the speed command immediately after the deviation operation becomes large. Considering this result together with the result of the above equation (6), if the position loop gain Kp is increased to shorten the orientation time, it is necessary to set the position deviation operation timing to a low rotation speed. According to the above equation (7), it can be seen that the dispersion is increased, and in the worst case, the speed command may be reversed.
[0040]
Let's find this with a formula. If the feedback speed falls below the possible amount during the deviation operation, from equation (5),
ex-RESO> ΣP
Nx / Kpx-RESO> Nx 2 / (2 · αp)
Nx 2 / (2 · αp) -Nx / Kpx + RESO <0 (8)
, Which is a quadratic equation of Nx. In this equation (8), the condition that Nx of the equation in which the inequality sign is replaced with an equal has a real root is a quadratic equation ax 2 From the discriminant b2-4ac> 0 of the root of + bx + c = 0, the following is obtained.
[0041]
(1 / Kpx) 2 -4 · RESO / (2 · αp)> 0
Kpx <(αp / (2 · RESO)) 1/2 (9)
By substituting equation (2) into equation (9), the following equation is obtained.
[0042]
Kpx <(Tmax / (4π · Jmax)) 1/2 (10)
That is, the maximum value of the position loop gain Kp is determined by Jmax and Tmax determined by the mechanical conditions. This is expressed as Jmax = 0.00055 [kgm 2 ], And a specific example applied to a system with Tmax = 43 [Nm] will be described below.
[0043]
First, the maximum rotational speed Nx of the deviation operation for each Kpx when the speed command is matched with the speed feedback at the time of the deviation operation, and how much the speed command corresponds when there is a deviation of the resolution at the time of the deviation operation at each Kpx. FIG. 11 is a graph showing the relationship. In FIG. 11, a solid line L1 indicates the maximum rotational speed Nx of the deviation operation, and a broken line L2 indicates a speed command amount with a deviation corresponding to the resolution.
[0044]
When the position loop gain Kp is low, the deviation operation rotational speed is also 7500 rpm or less, and even if there is a deviation of the resolution, the amount that appears in the speed command is as small as 1200 rpm. However, when the position loop gain Kp is high, the operation timing also becomes low, and the influence of the deviation of the resolution on the speed command increases.
[0045]
Next, the case where the speed command is not made to coincide with the feedback speed during the deviation operation will be considered. When the position loop gain Kp = 20 and there is a deviation of the resolution (that is, one rotation), the left side of the above equation (8) is set to the vertical axis, and the deviation operation maximum rotation speed Nx is set to the horizontal axis Drawing a graph as shown in FIG. Nx where the parabola Q1 in FIG. 12 becomes 0 or less satisfies the expression (8).
[0046]
In the case of FIG. 11, that is, when the speed command is made to coincide with the feedback speed, if Nx is 7500 rpm or less when Kp = 20, no overshoot is generated, but in the case of FIG. If the deviation operation is not performed between 1500 and 6000 rpm, an overshoot will occur. As Kp is increased from 20, the parabola in FIG. 12 shifts upward and does not cross 0 at a certain Kp. The value is obtained from equation (10). In the case of the present embodiment, Kp = 24.9. FIG. 13 shows a graph in this case.
[0047]
In other words, when Kp = 24.9, if there is a deviation corresponding to the resolution, an overshoot always occurs when a deviation operation is performed with Nx other than 3000 rpm. Further, when Kp is 24.9 or more, overshoot always occurs regardless of the deviation operation rotational speed when a deviation corresponding to the resolution occurs.
[0048]
In order to solve this problem, in the present embodiment, when performing the deviation operation, first, the position loop gain Kp is set low, and then the gain is gradually increased to a predetermined high gain with a certain time constant. It is configured to go. As a result, deceleration stop control that does not cause overshoot at any time and that ends the orientation positioning early is realized.
[0049]
Next, the specific contents of the control of the position deviation operation at the time of deceleration stop of the spindle motor 7 of this embodiment will be described with reference to the flowchart of FIG. First, in step S11 of FIG. 3, it is determined whether or not there is a spindle stop command (speed command). If there is a spindle stop command, the process proceeds to "YES" in step S11, and the spindle-stop deviation correction effective SW is turned on (step S12). On the other hand, if there is no spindle stop command in step S11, the process proceeds to "NO" and returns to the process in step S11. Subsequently, the process proceeds to step S13, where it is determined whether or not the spindle deceleration command has been completed. Here, if the spindle deceleration command has been completed, the process proceeds to "YES", and it is determined whether or not the spindle steady-state deviation correction effective SW is on (step S14).
[0050]
Then, the process proceeds to step S15, and it is determined whether or not the absolute value of the actual speed (feedback speed) of the spindle is smaller than a predetermined allowable speed difference 2. In this case, when the absolute value of the actual speed is smaller than the permissible speed difference 2, the process proceeds to "YES" and proceeds to step S16 to turn off the main shaft stop time deviation correction effective SW.
[0051]
Subsequently, the process proceeds to step S17, in which the rotational position deviation Pe during main shaft acceleration is corrected to the main shaft position deviation. Then, the position loop gain is switched. In this case, the previous gain Kp1 is switched to the stop-time initial gain Kp2 (a gain smaller than Kp1). Further, the spindle deviation is added or subtracted by an integral multiple of the encoder resolution so that the speed command given to the servo amplifier does not exceed and approaches the spindle feedback speed. Further, the gain switch SW is turned on.
[0052]
Then, the process proceeds to a step S18, and it is determined whether or not the gain switching SW is on. If it is ON, the process proceeds to step S19, and it is determined whether or not the time for gain switching time constant tKp3 has elapsed. If it has elapsed, the process proceeds to step S20, and it is determined whether the high gain Kp3 holding time has elapsed. If it has elapsed, the process proceeds to step S21, where the orientation time gain Kp4 is set to the main shaft position loop gain Kp, and the gain switching SW is turned off. If it has not elapsed in step S20, the process proceeds to step S25, and the high gain Kp3 is set as the main shaft position loop gain Kp.
[0053]
After the execution of step S21, the process proceeds to step S22, in which a spindle speed command given to the servo amplifier 3 is calculated. Then, the process proceeds to step S23, where the calculated spindle speed command is transmitted to the servo amplifier 3, and then the process is terminated.
[0054]
If it is determined in step S19 that the time for gain switching time constant tKp3 has not elapsed, the process proceeds to step S24, where the increment of the spindle position loop gain is added. In this case, the increment is as follows.
[0055]
(Kp3-Kp2) / (tKp3 / processing cycle)
Then, the increment may be added to the main shaft position loop gain Kp. Thereafter, the process proceeds to step S26 to calculate a spindle speed command to be given to the servo amplifier 3. Then, the process proceeds to step S27, in which the calculated spindle speed command is transmitted to the servo amplifier 3. Thereafter, the process returns to step S13.
[0056]
Further, after the step S25 is executed, the process proceeds to the step S27. Also, in step S18, even when the gain switch SW is not on, the process proceeds to step S27. Furthermore, even if the spindle deceleration command is not completed in the determination step S13, the process proceeds to the step S27.
[0057]
FIGS. 14 and 15 show experimental results (simulations) of the speed change and the used torque at the time of deceleration stop when a time constant exceeding the maximum torque is applied in the present embodiment having such a configuration. The lines P1 to P8 in FIGS. 14 and 15 are the same as the lines P1 to P8 in FIGS. According to FIGS. 14 and 15, when the feedback speed reaches the preset allowable speed error 2 with respect to the target speed, the position deviation is added or subtracted by N times the resolution, and the speed command is set to the feedback speed. It can be seen that the vehicle was stopped smoothly without overshooting because the control was performed so as to approach them.
[0058]
FIG. 16 is a characteristic diagram in which the stop portion in FIG. 14 is enlarged and a change in the position loop gain Kp is added. In FIG. 16, P9 indicates a position loop gain Kp. In FIG. 16, the deviation operation speed (that is, the speed allowable error 2) is set to 2000 rpm, the initial position loop gain at the time of the deviation operation is set to 20, and then the position loop gain is gradually increased to 100 with a time constant of 50 ms. After the high gain is maintained for 100 ms, the normal gain at the time of orientation is controlled to return to 30. According to this control, at the time of the position deviation operation, the gain is set to a low value of 20, and thereafter, the gain is gradually increased, so that the deviation converges to the orient position smoothly without overshooting. are doing.
[0059]
On the other hand, FIG. 17 shows a control in which the position loop gain Kp is immediately switched to a high gain during the deviation operation. In this case, it can be seen that overshoot occurs.
[0060]
FIGS. 18 and 19 show experimental results (simulations) of the speed change and the used torque at the time of deceleration stop when controlled by the conventional technique (see FIGS. 22 and 23). The lines P1 to P8 in FIGS. 18 and 19 are the same as the lines P1 to P8 in FIGS. According to FIGS. 18 and 19, since a long time constant that does not exceed the maximum torque is given as much as possible in order to prevent overshoot from occurring, it takes a long time to stop (this embodiment ( 14 and FIG. 15).
[0061]
In such a conventional control, the speed change and the used torque at the time of deceleration stop when the time constant exceeding the maximum torque (the same short time constant as in the case of FIGS. 14 and 15 of the present embodiment) is given are tested. 20 and 21 show the results measured by (simulation). The lines P1 to P8 in FIGS. 20 and 21 are the same as the lines P1 to P8 in FIGS. According to FIGS. 20 and 21, it can be seen that a large overshoot has occurred.
[0062]
On the other hand, in the present embodiment, the acceleration / deceleration pattern is applied to, for example, a configuration in which a two-stage acceleration / deceleration pattern is executed. The invention may be applied and there is no problem. In the case of this one-stage acceleration / deceleration, the deviation during the deviation operation becomes abnormally large.
[0063]
Normally, servo control utilizes the fact that the position deviation becomes large at the time of motor lock or mechanical collision, monitors the position deviation with a value that has a margin for the theoretical deviation at the highest speed, and exceeds the value. If an error occurs, it is determined that an error has occurred and the alarm is stopped. Therefore, in terms of the deviation abnormality detection, it is preferable that the command torque is not too far from the maximum servo torque. Therefore, it is desirable to provide an acceleration / deceleration pattern that slightly exceeds the maximum torque of the servo.
[0064]
【The invention's effect】
As is apparent from the above description, the present invention operates the position deviation amount so that the speed command matches the target speed or the feedback speed when the feedback speed with respect to the target speed reaches within a predetermined speed range after acceleration or deceleration. With such a configuration, the maximum torque can be used up while the position loop control is formed, and the overshoot can be prevented from occurring as much as possible.
[Brief description of the drawings]
FIG. 1 is a block diagram of a control device for a spindle motor showing one embodiment of the present invention.
FIG. 2 is a flowchart for acceleration.
FIG. 3 is a flowchart at the time of deceleration stop.
FIG. 4 is a characteristic diagram showing a change in speed during acceleration, and the like.
FIG. 5 is a characteristic diagram showing a used torque and the like during acceleration.
FIG. 6 is a diagram corresponding to FIG. 4 of a conventional configuration.
FIG. 7 is a diagram corresponding to FIG. 5 of a conventional configuration.
FIG. 8 is a diagram corresponding to FIG. 4 of another conventional configuration.
FIG. 9 is a diagram corresponding to FIG. 5 of another conventional configuration.
FIG. 10 is a characteristic diagram showing a change in rotation speed.
FIG. 11 is a characteristic diagram showing a relationship between a deviation operation maximum rotation speed and a position loop gain.
FIG. 12 is a characteristic diagram showing the relationship between the left side of equation (8) and the maximum rotational speed of the deviation operation.
FIG. 13 is a diagram corresponding to FIG. 12 for different position loop gains;
FIG. 14 is a characteristic diagram showing a speed change and the like at the time of deceleration stop.
FIG. 15 is a characteristic diagram showing a used torque and the like at the time of deceleration stop.
FIG. 16 is an enlarged view showing a stop portion in FIG. 14;
FIG. 17 is a diagram corresponding to FIG. 16 showing a control for suddenly switching the position loop gain Kp to a high gain at the time of a deviation operation.
FIG. 18 is a diagram corresponding to FIG. 14 of a conventional configuration.
FIG. 19 is a diagram corresponding to FIG. 15 of a conventional configuration.
FIG. 20 is a diagram corresponding to FIG. 14 of another conventional configuration.
FIG. 21 is a diagram corresponding to FIG. 15 of another conventional configuration.
FIG. 22 is a characteristic diagram of an acceleration pattern having a conventional configuration.
FIG. 23 is a characteristic diagram showing a relationship between torque and rotation speed of a conventional configuration.
[Explanation of symbols]
1 is a control device, 2 is a numerical control unit, 3 is a servo amplifier, 4 is a motion command unit, 5 is a deviation operation control unit, 6 is an adder, 7 is a spindle motor, 8 is an encoder, 9 is an adder, and 12 is An adder, 13 indicates a current limiting unit, and 14 indicates a current control unit.

Claims (4)

位置ループ制御、速度ループ制御及び電流ループ制御を組んで、主軸モータの位置・速度制御を実行するように構成された主軸モータの制御装置において、
加速または減速後に、目標速度に対するフィードバック速度が所定速度域内に達したときに、速度指令を目標速度またはフィードバック速度に一致させるように位置偏差量を操作することを特徴とする主軸モータの制御装置。
In a spindle motor control device configured to perform position / speed control of the spindle motor by combining position loop control, speed loop control, and current loop control,
A spindle motor control device characterized in that when a feedback speed with respect to a target speed reaches a predetermined speed range after acceleration or deceleration, a position deviation amount is operated so as to make a speed command coincide with the target speed or the feedback speed.
前記位置偏差量を操作したときの位置偏差操作量を記憶すると共に、
オリエンテーション指令時に、その指令値を前記位置偏差操作量に基づいて補正するようにしたことを特徴とする請求項1記載の主軸モータの制御装置。
While storing the position deviation operation amount when operating the position deviation amount,
2. The spindle motor control device according to claim 1, wherein at the time of the orientation command, the command value is corrected based on the position deviation operation amount.
位置ループ制御、速度ループ制御及び電流ループ制御を組んで、主軸モータの位置・速度制御を実行するように構成された主軸モータの制御装置において、
減速、停止、オリエンテーションする場合、フィードバック速度が設定速度に達したときに、速度指令がフィードバック速度を超えないように且つフィードバック速度に近づくように、位置偏差量を、主軸1回転パルス量の整数倍加減算するように構成したことを特徴とする主軸モータの制御装置。
In a spindle motor control device configured to perform position / speed control of the spindle motor by combining position loop control, speed loop control, and current loop control,
In the case of deceleration, stop, and orientation, when the feedback speed reaches the set speed, the position deviation amount is set to an integral multiple of the spindle rotation pulse amount so that the speed command does not exceed the feedback speed and approaches the feedback speed. A control device for a spindle motor, which is configured to perform addition and subtraction.
位置偏差量を加減算するときに、位置ループゲインを低い値に設定し、その後、位置ループゲインを徐々に高くすることを特徴とする請求項3記載の主軸モータの制御装置。4. The spindle motor control device according to claim 3, wherein when adding or subtracting the position deviation amount, the position loop gain is set to a low value, and thereafter, the position loop gain is gradually increased.
JP2002245103A 2002-08-26 2002-08-26 Spindle motor control device Expired - Fee Related JP4158455B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002245103A JP4158455B2 (en) 2002-08-26 2002-08-26 Spindle motor control device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002245103A JP4158455B2 (en) 2002-08-26 2002-08-26 Spindle motor control device

Publications (2)

Publication Number Publication Date
JP2004088882A true JP2004088882A (en) 2004-03-18
JP4158455B2 JP4158455B2 (en) 2008-10-01

Family

ID=32053396

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002245103A Expired - Fee Related JP4158455B2 (en) 2002-08-26 2002-08-26 Spindle motor control device

Country Status (1)

Country Link
JP (1) JP4158455B2 (en)

Also Published As

Publication number Publication date
JP4158455B2 (en) 2008-10-01

Similar Documents

Publication Publication Date Title
JP5689704B2 (en) Motor control device and motor control method
JP5751433B2 (en) Motor control device and motor control method
JP4085112B2 (en) Motor control method and motor control apparatus
US6741057B2 (en) Servo controller for preventing downward displacement in gravitating axis
WO2010119605A1 (en) Motor control device
US20120229069A1 (en) Motor control apparatus and method for controlling motor
JP5623757B2 (en) Motor control method and apparatus
JP2019144809A (en) Servo control device
JPWO2003085816A1 (en) Motor control device
JP2011176907A5 (en)
CN111791087A (en) Control device for machine tool having main spindle and feed spindle
JPH09282020A (en) Servo motor driving device
JP2004088882A (en) Controller for main spindle motor
US6970761B2 (en) Method for actuating a holding brake
EP3678290B1 (en) Motor driving device
JP2008225652A (en) Numerical control device
JP2008225632A (en) Servo-drive device for nc control
JPH11245191A (en) Method and device for controlling driving shaft of industrial robot
WO2023139763A1 (en) Control device
WO2023139764A1 (en) Control device
JP7064063B1 (en) Control device
US11114967B2 (en) Controller of rotary axis
JP6082681B2 (en) Motor drive control device and control method of motor drive control device
JPH11110048A (en) Position control servo device and servo control method for position control system
JP2010119155A (en) Motor control device and control method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050318

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20070807

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070821

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071022

RD13 Notification of appointment of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7433

Effective date: 20071101

RD13 Notification of appointment of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7433

Effective date: 20071207

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20071207

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080401

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080529

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080707

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110725

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120725

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120725

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130725

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees