JPH04233608A - サーボモータの制御方法 - Google Patents

サーボモータの制御方法

Info

Publication number
JPH04233608A
JPH04233608A JP41537590A JP41537590A JPH04233608A JP H04233608 A JPH04233608 A JP H04233608A JP 41537590 A JP41537590 A JP 41537590A JP 41537590 A JP41537590 A JP 41537590A JP H04233608 A JPH04233608 A JP H04233608A
Authority
JP
Japan
Prior art keywords
servo motor
cycle
command
velocity loop
speed
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.)
Pending
Application number
JP41537590A
Other languages
English (en)
Inventor
Shunsuke Matsubara
俊介 松原
Heisuke Iwashita
平輔 岩下
Hajime Okita
肇 置田
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.)
Fanuc Corp
Original Assignee
Fanuc Corp
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 Fanuc Corp filed Critical Fanuc Corp
Priority to JP41537590A priority Critical patent/JPH04233608A/ja
Publication of JPH04233608A publication Critical patent/JPH04233608A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Numerical Control (AREA)
  • Control Of Position Or Direction (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、工作機械の送り軸やロ
ボットのアームを駆動するサーボモータの制御方法に関
する。
【0002】
【従来の技術】図4はサーボモータを制御する位置・速
度制御系のブロック図である。
【0003】図4において、10は工作機械やロボット
を制御する数値制御装置等の制御装置から所定分配周期
(ITP周期)毎に与えられる移動指令McをN個の位
置・速度ループ処理周期に分解し、この周期毎に移動指
令Pcを出力するブロック、11は位置ループ処理にお
ける積算器(エラーレジスタ)のブロックで、位置・速
度ループ処理周期毎に上記ブロック10から出力される
移動指令Pcから、当該位置・速度ループ処理周期毎の
位置のフィードバック量Pfを減じた値を積算して位置
偏差εpを求める。12はポジションゲインのブロック
で、上記位置偏差εpにポジションゲインKpを乗じて
速度指令Vcを求める。13は速度ループ処理の積分器
のブロックで速度指令Vcより速度フィードバック量V
fを減じて得られる速度偏差εvを積算する。14は速
度ループにおける積分定数のブロック、15は速度ルー
プの比例定数のブロックで、積分器13の出力Svに積
分定数k1を乗じた値から速度フィードバック信号Vf
に比例定数k2を乗じた値を減じてトルク指令Tcを求
める。すなわち、Tc=k1・Sv−k2・Vfで表さ
れる。16はサーボモータの機械部の伝達関数を表すブ
ロックで、Ktはトルク定数、Jmはイナーシャを表す
。そして、インバータ等を介してサーボモータを駆動す
るのである。
【0004】上記図4に示すサーボ回路をプロセッサに
よりソフトウエアで行う場合、上記速度ループの積分器
13の処理は次のようにして行われている。
【0005】n番目の速度ループ処理周期における速度
ループ積分器の出力をSv(n)、同周期nにおける速
度偏差をεv(n)とすると、速度ループの積分器13
は次の第1式の演算を行って出力Sv(n)を求めてい
る。   Sv(n)=Sv(n−1)+εv(n)    
              …(1)但し、εv(n
)=Vc(n)−Vf(n)である。 なお、  Vc(n)、Vf(n)はそれぞれ同周期n
における速度指令、速度フィードバック量である。
【0006】上記第1式で示す演算は完全積分の処理で
あり、次の第2式で示す不完全積分を実施する場合もあ
る。   Sv(n)=k3・Sv(n−1)+εv(n) 
           …(2)なお、k3は定数で0
<k3<1である。
【0007】
【発明が解決しようとする課題】第1式で示す完全積分
を速度ループの積分器が実施する場合には、定常状態で
は、速度指令Vcと速度フィードバック量Vfが完全に
一致するので、停止中の位置偏差εpは「0」になる。 また、一定速度における位置偏差εpは摩擦や外乱トル
クにかかわらず一定となりサーボ剛性(外乱抑圧特性)
が高くなるという特性を有している。
【0008】しかし、移動指令Pc,速度指令Vcが「
0」になり、速度ループの積分器への入力が「0」にな
っても、それまでに該積分器にはある値が保持されてい
ることになるので、上記「0」指令にも拘らずこの値が
トルク指令Tcとして出力され、このトルク指令Tcの
大きさが、サーボモータで駆動される機械系の静止摩擦
レベルよりも大きいと、指令どおりには停止できず、オ
ーバーシュートを生じてしまう。
【0009】ここで、速度ループの積分器に完全積分を
使用したとき、サーボモータ停止間際にはある値がそこ
に保持されることになり、オーバーシュートが生じるこ
とを説明する。
【0010】まず、移動指令Pcが出力されたとする。 しかし、始めは、機械系の摩擦等でサーボモータは回転
しないため、位置のフィードバック信号Pf,速度フィ
ードバック信号Vfはゼロである。したがって、位置ル
ープの積算器11には位置指令値に等しい位置偏差εp
が保持される。この位置偏差εpが速度指令Vcとなり
、且つ、この値がそのまま速度偏差εvとなってって速
度ループの積分器13に入力される。次の回の移動指令
Pcのときもまだサーボモータが回転しなければ、更に
今回の速度偏差εvがこれに付加される。
【0011】このようにして、積分器13の出力Svは
モータが始動するまで順次増大する。そして、この積分
器の出力Svが増加して行くと、これにより発生するト
ルク指令Tcも順次増大し、該トルク指令Tcが機械系
の静止摩擦を越えると、サーボモータは遂に回転を開始
して、位置のフィードバックPf,速度フィードバック
Vfが出力され、位置偏差εpは「0」に向かう。そし
て定常状態に落ち着いてからは、積分器の出力Svは以
後その時の積分値を保持することになる。
【0012】一方、サーボモータを指令位置に停止させ
るにあたって、そのときのトルク指令Tcの値が機械系
の動摩擦より大きいときにはサーボモータは停止できず
指令位置を越えて回転し続けることになる。すなわち、
オーバーシュートが生じることになる。
【0013】このように速度ループの積分器を完全積分
で実施すると停止する際にオーバーシュートが生じるこ
とになる。これに対して、第2式に示すような不完全積
分を速度ループの積分器で実施すると、位置・速度ル−
プ処理周期の回数を重ねるにつれて、該積分器の出力S
vの値が徐々に小さくなる関係でトルク指令値は小さく
なり、そのためオーバーシュートの問題は少なくなる。 しかしながら、速度指令Vcと速度フィードバック信号
Vfが等しくならないため、停止中には位置偏差が生じ
得るることになる。また、一定速度での移動中にはサー
ボモータが受ける外乱トルクによって位置偏差が変動す
る等の問題が生じ、サーボ剛性が悪くなる。
【0014】そこで、本発明の目的は、通常の稼働時に
はサーボ剛性を持たせると共に、停止間際にはオーバー
シュートを少なくするようなサーボモータの制御方法を
提供することにある。
【0015】
【課題を解決するための手段】本発明は、分配周期毎指
令される移動指令を受けて位置・速度ループ処理を実施
するサーボモータの制御方法において、現時点の分配周
期における移動指令が「0」であり且つその1つ前の分
配周期が「0」でないとき、当該現時点の分配周期以降
における各位置・速度ループ処理における速度ループの
積分処理については、位置偏差が所定値に到達すると完
全積分処理から不完全積分処理に切り換えて以後これを
所定回数実行し、その後はまた完全積分処理に戻って、
サーボモータへの停止指令時にオーバーシュートを防止
する。
【0016】
【作用】通常の稼働時或いは停止時にはには、速度ルー
プの積分器(積分処理)は完全積分を行うため、その間
、サーボ剛性は高い状態に保持される。一方、サーボモ
ータの停止する間際には、すなわち移動指令が「0」に
切換った分配周期においては、各位置・速度ループ処理
周期において位置偏差が減少して所定値に達するまでは
そのまま完全積分を続け、そして所定値に達したらその
時点で完全積分から不完全積分に切り換えてこれを以後
所定数回繰り返し、これが終了したらまた完全積分処理
に戻してやる。
【0017】
【実施例】図3は、本発明の一実施例を実施するデジタ
ルサーボ制御装置のブロック図であり、構成は従来のデ
ジタルサーボ制御を行う装置と同一構成であるので、概
略的に示している。
【0018】図3において、20は数値制御装置(以下
、NCという)、21は共有RAM、22はプロセッサ
(CPU),ROM,RAM等を有するデジタルサーボ
回路、23はトランジスタインバータ等のサーボアンプ
、24はサーボモータ、25はサーボモータ24の回転
と共にパルスを発生するパルスコーダである。
【0019】NC20は分配周期(IPT周期)毎に移
動指令Mcを共有RAM12に書込み、デジタルサーボ
回路22のCPUはこの移動指令を共有RAM12から
読取り、上記ITP周期をN個に分割した周期で、位置
・速度ループ処理を行う。ITP周期毎NC20から出
力される移動指令がITP周期中均等に分配されるよう
に位置・速度ループ処理における移動指令Pc(n)を
求め、この移動指令Pc(n)とパルスコーダ25から
の位置のフィードバックパルスPfによって得られるサ
ーボモータ24の現在位置との差より位置ループ処理を
行って速度指令Vcを求め、次に、該速度指令Vcとパ
ルスコーダ25からのフィードバックパルスによって得
られるサーボモータ24の実速度Vfより速度ループ処
理、トルク指令(電流指令)Tcを求める。そして、電
流ループ処理を行い、PWM指令を作成し、サーボアン
プ23を介してサーボモータ24を駆動する。
【0020】図1,図2は本実施例におけるデジタルサ
ーボ回路22のCPUが実施するITP周期ごとの移動
指令読み取り処理、および位置・速度ループ処理周期毎
の位置ループ処理、速度ループ処理のフローチャートで
ある。
【0021】図1はITP周期毎行う処理のフローチャ
ートであり、まず、デジタルサーボ回路のCPUはIT
P周期ごとNC20から出力された移動指令Mcを共有
RAM21を介して読み(ステップS1)、そして、こ
の移動指令が「0」であるか否か判断する(ステップS
2)。もしこれが「0」であれば、次にレジスタに記憶
されているる1ITP周期前の移動指令が「0」か否か
判断し(ステップS3)、「0」であれば、ステップS
1で読み取った移動指令McをレジスタR(Mc)に格
納する(ステップS7)。またこのステップS3での判
断で「0」でなければ(移動を停止する際)、フラグF
を「1」にセットして(ステップ4)、ステップ7に移
り、読み取った移動指令Mc(すなわち「0」)をレジ
スタに格納する。
【0022】また、上記ステップS1で読み取った移動
指令Mcが「0」でないとき(ステップ2)には、ステ
ップS5に移り、ここでレジスタに記憶される1ITP
周期前の移動指令が「0」か否か判断される。そしてこ
こで「0」と判断されると上記フラグをクリヤし且つカ
ウンタをクリヤしてステップ7に移りモータの始動に対
処する。またステップ5において「0」と判断されなけ
ればステップ7に移って、読み取った移動指令Mc(す
なわち「0」でないある値)をレジスタに格納する。
【0023】一方、ITP周期をN回に分割した各位置
・速度ループ周期では各周期毎に図2にフローチャート
で示す処理を実行する。まず、当該ITP周期の移動指
令Mcに基づいて各位置・速度ループ処理周期毎の移動
指令Pcを従来と同様に求め(ステップS100)、該
移動指令に基づいて従来と同様に位置ループ処理を実行
しを位置偏差εpを求める(ステップS101)。
【0024】次に、フラグFが「1」か否か判断する(
ステップS102)。このフラグFは、前述したように
、1つ前(過去)のITP周期の移動指令Mcが「0」
でなく且つ現在のITP周期の移動指令Mcが「0」の
ときに限り「1」に設定されている。そしてこのステッ
プにおいてフラグが立っていれば、次に位置偏差εp(
図4参照)が所定の値K0より小さいかどうか判別され
る(ステップS103)。そして位置偏差εpがK0よ
り大であれば、ステップ110へ移行して当該位置・速
度ループ処理周期においては完全積分、すなわち第1式
の演算が実行されることになる。またステップS103
において位置偏差εpがK0以下になったと判断される
と、上記フラグはクリヤされ且つカウンタはある設定値
にセットされる(ステップS104)。この場合は当該
位置・速度ループ処理周期においては不完全積分、すな
わち第2式の演算が実行されることになる。 (ステップS105)。
【0025】そして上記ステップS105、110にお
いて積分処理がなされると、その出力(Sv)に積分定
数k1を乗じた値に速度フィードバック量Vfに比例定
数k2を乗じた値を減じてトルク指令Tcを算出し(ス
テップS106)、そしてこのトルク指令Tcを電流ル
ープに引き渡す(ステップ107)上記ステップ104
でフラグがクリヤされた位置・速度ループ処理周期の次
の位置・速度ループ処理周期では、スタートからステッ
プS100、101、102に至りさらにステップS1
08に移行する。そしてカウンタの値から1が減算され
て(ステップS109)不完全積分が実行される(ステ
ップS105)。その次の位置・速度ループ処理周期も
前回の位置・速度ループ処理周期と同様な手順を経てこ
れを何回か繰り返し、ステップS109で遂にカウンタ
の値が0になると、その次の位置・速度ループ処理周期
ではステップS108でC=0と判断されるのでステッ
プS110に移行して再び完全積分処理が実行されるこ
とになる。
【0026】以上の過程を図5に概念的に示す。同図(
a)はITP周期の移動指令(分配指令)Mcが0でな
いある値から次のITP周期の移動指令Mcで0になっ
たことを表している。これに伴なって、同図(b)に示
すように位置偏差εpがある値から0に近づく。その過
程で、位置偏差εpがK0に到達するまでの間はまだ完
全積分処理を実行し、やがて位置偏差εpがK0に達す
ると不完全積分処理に切り換えて、以後、図2のステッ
プS104でカウンタにセットした値の数だけ位置・速
度ループ処理を繰り返す。それが終了した後はまた完全
積分処理に戻す。したがって、モータ停止時には完全積
分処理が行われることになる。そして同図(C)から、
速度ループの積分器の出力Svは完全積分が実行される
区間は減少カーブが緩やかであるが、これに対して不完
全積分が実行される区間は減少カーブが急であることが
わかる。
【0027】本発明の方法を用いて実際に行った結果を
図6及び図7に示す。図6は定速送りからの停止の場合
で、図7はパルス送りからの停止の場合である。この図
6、図7において、左の(a)は完全積分のみの場合で
あり、右の(b)は本発明の方法による場合である。そ
して各図中、上がトルク指令Tcを、下が位置偏差εp
を示している。この図6、図7から、完全積分のみの場
合には位置偏差εp(速度偏差Vc)がマイナスとなり
オーバーシュートを生じているが、本発明の方法を実施
すれば、位置偏差εpがマイナスにはならず、オーバー
シュートが生じていない。また、トルク指令Tcについ
てみると、本発明の方法の場合はその減少時のカーブが
左の完全積分の場合に比べ急になっていることが表れて
いる。
【0028】
【発明の効果】サーボモータの通常の稼働時及び停止時
の定常状態時には、速度ループの積分器に完全積分を実
行させサーボ剛性を高い状態に保持しておく。一方、サ
ーボモータの停止に際しては、その間際、ある限られた
期間、不完全積分処理を実行させることによってオーバ
ーシュートの発生を防止する。
【図面の簡単な説明】
【図1】本発明の一実施例における分配周期(ITP周
期)毎のデジタルサーボ回路のプロセッサが実施する処
理のフローチャート
【図2】同実施例におけるデジタルサーボ回路のプロセ
ッサが実施する位置・速度ループ処理周期のフローチャ
ート
【図3】同実施例を実施するデジタルサーボ制御装置の
ブロック図
【図4】サーボモータの位置・速度制御系のブロック図
【図5】分配周期の移動指令(分配指令)が0でないあ
る値から次の分配周期の移動指令が0になったときの位
置偏差及び積分器出力の推移を概念的に示した図
【図6
】定速送りからの停止時における完全積分の場合と本発
明を適用した場合の実験結果の位置偏差、トルク指令の
変化を表す図
【図7】1パルス送りからの停止時における完全積分の
場合と本発明を適用した場合の実験結果の位置偏差、ト
ルク指令の変化を表す図
【符号の説明】
20    数値制御装置 21    共有RAM 22    デジタルサーボ回路 23    サーボアンプ 24    サーボモータ 25    パルスコーダ

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】  分配周期毎指令される移動指令を受け
    て位置・速度ループ処理を実施するサーボモータの制御
    方法において、現時点の分配周期における移動指令が「
    0」であり且つその1つ前の分配周期が「0」でないと
    き、当該現時点の分配周期以降における各位置・速度ル
    ープ処理周期における速度ループの積分処理については
    、位置偏差が所定値に到達すると完全積分処理から不完
    全積分処理に切り換えて以後これを所定回数実行し、そ
    の後はまた完全積分処理に戻って、サーボモータへの停
    止指令時にオーバーシュートを防止したことを特徴とす
    るサーボモータの制御方法。
JP41537590A 1990-12-28 1990-12-28 サーボモータの制御方法 Pending JPH04233608A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP41537590A JPH04233608A (ja) 1990-12-28 1990-12-28 サーボモータの制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP41537590A JPH04233608A (ja) 1990-12-28 1990-12-28 サーボモータの制御方法

Publications (1)

Publication Number Publication Date
JPH04233608A true JPH04233608A (ja) 1992-08-21

Family

ID=18523740

Family Applications (1)

Application Number Title Priority Date Filing Date
JP41537590A Pending JPH04233608A (ja) 1990-12-28 1990-12-28 サーボモータの制御方法

Country Status (1)

Country Link
JP (1) JPH04233608A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1998003900A1 (fr) * 1996-07-24 1998-01-29 Fanuc Ltd Procede de commande d'un servomoteur

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1998003900A1 (fr) * 1996-07-24 1998-01-29 Fanuc Ltd Procede de commande d'un servomoteur
US6020706A (en) * 1996-07-24 2000-02-01 Fanuc Ltd. Method of and apparatus for controlling a servomotor

Similar Documents

Publication Publication Date Title
EP0417312B1 (en) Feedforward control unit for servomotor
EP0089156B1 (en) Method and apparatus for controlling acceleration and/or deceleration
US5691616A (en) Fully-closed-loop servomotor control system
JPH07110717A (ja) モータの制御方式
US5986422A (en) Control mode changing over method for servo control system
JPH06245561A (ja) サーボモータの異常負荷検出制御方法
EP0547239B1 (en) Back-lash acceleration control method
US5311110A (en) Feedforward control method for servomotors
JPH06339292A (ja) 外乱負荷推定による力制御方法
JPH0713631A (ja) サーボモータの制御方法
JP2673543B2 (ja) サーボモータの制御における誤差過大検出方式
JP3628119B2 (ja) サーボモータの制御方法
JPH0293711A (ja) サーボ制御装置
KR970002259B1 (ko) 서보모터의 제어방법
JPH04233608A (ja) サーボモータの制御方法
JPH0317703A (ja) 速度依存型外乱推定オブザーバによるゼロイング方法
JP2826391B2 (ja) バックラッシ加速制御方法
JP3253022B2 (ja) サーボモータのバックラッシュ補正制御方法
JP3556779B2 (ja) サーボモータのオーバーシュート防止方法
JP2733881B2 (ja) Pi制御ループをベースにした適応スライディングモード制御方式
JP3197898B2 (ja) サーボモータの制御方式
JPH06131050A (ja) サーボモータで駆動される可動部の衝突検出方法
JPH09106304A (ja) 工作機械の作業領域制御方法
KR970003877B1 (ko) 서보 모터의 피드 포워드 제어방법
JPH02232702A (ja) 制御装置