JP3556779B2 - サーボモータのオーバーシュート防止方法 - Google Patents
サーボモータのオーバーシュート防止方法 Download PDFInfo
- Publication number
- JP3556779B2 JP3556779B2 JP27689696A JP27689696A JP3556779B2 JP 3556779 B2 JP3556779 B2 JP 3556779B2 JP 27689696 A JP27689696 A JP 27689696A JP 27689696 A JP27689696 A JP 27689696A JP 3556779 B2 JP3556779 B2 JP 3556779B2
- Authority
- JP
- Japan
- Prior art keywords
- value
- servo motor
- speed
- loop
- overshoot
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Feedback Control In General (AREA)
- Control Of Position Or Direction (AREA)
Description
【発明の属する技術分野】
本発明は、工作機械やロボット等の各種産業機械の可動部を駆動し位置決めを行うサーボモータの駆動方法に関し、特にオーバーシュートの発生を防止する方法に関する。
【0002】
【従来の技術】
サーボモータを用いて駆動される工作機械の送り軸やロボットのアーム等の各種産業機械の可動部の制御において、該可動部を目標位置に位置決めするときの停止間際にオーバーシュートが発生する。このオーバーシュート発生を防止する方法として、指令目標位置にサーボモータもしくは可動部の実際の位置が到達した瞬間に、すなわち、目標指令位置と実際の位置との差である位置偏差が設定しきい値幅内になった時、速度制御ループ内の積分器の内容をクリアしてサーボモータへのトルク指令を減少させ、該サーボモータの出力トルクを動摩擦レベル以下に下げてオーバーシュートを防止する方法が採用されている。
【0003】
【発明が解決しようとする課題】
応答性をよくするために、位置ループにフィードフォワードをかけてサーボモータの位置を制御する方法が採用されているが、この位置ループにフィードフォワードをかけてサーボモータを制御する方法において、位置決め時にオーバーシュート発生を防止するために、上述した位置偏差がしきい値幅内になった時速度ループの積分器の値を「0」にする方法を採用すると、移動途中で積分器の値を「0」にする場合が生じる。それは、非常に遅い速度でサーボモータを駆動している時、フィードフォワード制御が有効に作用し、位置偏差が小さな状態でサーボモータが駆動され、位置偏差が設定しきい値幅内になり速度ループの積分器の値を「0」にする場合が生じるからである。
【0004】
また、移動指令終了後、実際の位置が目標位置近傍に達し、位置偏差が設定しきい値幅内にいって積分器が「0」にされると、サーボモータの出力トルクが減少し、該サーボモータで駆動する機械のバネ要素等によって逆にモータが機械によって押し戻されて、再びしきい値幅外に位置偏差が出てしまう場合がある。位置偏差がしきい値幅外に出ると位置偏差を減らすようにトルク指令が増大しモータ出力トルクも増大して再度位置偏差はしきい値幅内になり、再び積分値が「0」にクリアされる。これを繰り返し、結果として、機械の位置がしきい値を中心に振動する場合があった。また、しきい値幅のどちら側(+側、−側)から位置決めするかによって振動中心が、しきい値幅の+側となるか、−側のとなるか、その場所が異なり、結果として位置決め精度が損なわれる現象が発生していた。
【0005】
そこで、本発明は、上記従来技術の欠点を解消し、サーボモータの移動停止時におけるオーバーシュートの発生を防止し、また位置決め時の位置決め精度の悪化をも防止することを目的とするものである。
【0006】
【課題を解決するための手段】
本発明は、移動指令が零になった後、位置偏差が設定しきい値幅内に最初になったときの周期のみ速度ループの積分器の値を小さな値に切り替えることによってオーバーシュートを防止し、移動途中で積分器が小さな値に切り替え移動が停止するようなことを防止した。
【0007】
【発明の実施の形態】
図2は、本発明を適用した工作機械等におけるサーボモータ制御系の一実施形態の概要ブロック図であり、従来の構成と同一であることから概要のみを図示している。
1は工作機械等を制御するコンピュータ内蔵の数値制御装置(CNC)、2は該数値制御装置1から出力される移動指令や各種信号をディジタルサーボ回路3のプロセッサに引き渡し、またディジタルサーボ回路3からの各種制御信号、状態信号を数値制御装置1に引き渡すために利用される共有メモリである。ディジタルサーボ回路3は、プロセッサ及びROM、RAM等のメモリ等で構成され、サーボモータ5の位置、速度のフィードバック制御をソフトウエア制御で行うものである。4はトランジスタインバータ等で構成されサーボモータ5を駆動するサーボアンプ、6は該サーボモータ5の位置、速度を検出しディジタルサーボ回路3にフィードバックするパルスコーダ等の位置、速度検出器である。
【0008】
ディジタルサーボ回路3のプロセッサは、位置・速度ループ処理周期毎に図1に示す処理を実行し、サーボモータ5の制御を行う。
ディジタルサーボ回路3のプロセッサは、従来と同様に、数値制御装置1から共有メモリ2を介して送られてくる分配周期毎の移動指令を読み、位置・速度ループ処理周期毎の移動指令に変換し、該移動指令を位置偏差を記憶するレジスタに加算すると共に位置・速度検出器6からフィードバックされてくるサーボモータ5の移動量をレジスタに減算入力することによって位置偏差を求め、この位置偏差に位置ループゲインを乗じて速度指令Vc を求める位置ループ処理を行う(ステップS1,S2)。
【0009】
次に上記レジスタに入力される移動指令が「0」か否か判断し、「0」でなければ、フラグFを「0」にして(ステップS9)、ステップS2の位置ループ処理によって求められた速度指令Vc から、位置・速度検出器6からフィードバックされてくるサーボモータ5の実速度Vfbを減じた速度偏差に積分ゲインk1 を乗じ、その値を積分器として機能するレジスタに記憶されている前周期までの積分値Σn−1 に加算して当該周期における積分値Σn を求める(ステップS10)。すなわち、速度ループ制御における積分処理をこのステップS10で行う。
【0010】
その後、上記速度偏差(Vc −Vfb)に比例ゲインK2 を乗じた値を上記当該周期の積分値Σn に加算してトルク指令Tc を求める。このステップS10とステップS7の処理が速度ループ処理に対応し、この実施形態では比例積分(PI)処理の速度ループ処理がなされる。こうして求められたトルク指令Tc を電流ループに引き渡し(ステップS8)、当該位置・速度ループ処理周期の処理を終了する。なお、電流ループ処理では、このトルク指令Tc に基づいて、サーボモータの各相に流す電流を制御してサーボモータ5を駆動することになる。
【0011】
以下、移動指令がある限り各位置・速度ループ処理周期毎、ステップS1〜S3、S9、S10、S7、S8の処理を繰り返し実行し、サーボモータ5位置、速度をフィードバック制御する。
一方、移動指令がなくなり、ステップS3で移動指令が「0」と判断されると、フラグFが「1」か否か判断し(ステップS4)、最初は該フラグFはステップS9で「0」にセットされているから、ステップS4からステップS5に移行し、ステップS2の位置ループ処理によってレジスタに記憶されている位置偏差を読み取り、該位置偏差が設定しきい値幅ε以下か否か判断する。該位置偏差がしきい値幅εよりも大きいときには、前述したステップS10の通常の積分処理を行いステップS7でトルク指令Tc を求めて電流ループに引き渡す。すなわち通常の速度ループ処理を行うものである。
【0012】
位置偏差がしきい値幅εより大きい限りステップS1〜S5、S10、S7、S8の処理を各位置・速度ループ処理周期毎実施し、サーボモータ5の実際位置が指令された目標位置近傍に達し、位置偏差がしきい値幅ε内になると、ステップS5からステップS6に移行し、前周期までの積分値Σn-1 に設定係数k3 を乗じて当該周期の積分値Σn とする。この係数のK3 は0よりも大きく1よりも小さい値(0<K3 <1)を設定しておくものであり、その結果、積分値は小さな値となる。また、フラグFを「1」にセットする。そして、速度偏差(Vc −Vf )に比例ゲインK2 を乗じた値と上記積分値Σn を加算して当該周期のトルク指令Tc を求め(ステップS7)、電流ループに出力する(ステップS8)。積分値が小さな値に切り替えられることから、トルク指令Tc は小さなものとなり、サーボモータ5の出力トルクも小さくなりオーバーシュートの発生が防止される。
【0013】
次の周期からは、フラグFが「1」にセットされているから、ステップS1〜S4の処理を行った後ステップS10に移行し、通常の積分処理を行うが、すでに積分値が小さな値に切り替えられていることから、ステップS10の積分処理を実行しても積分値は大きなものにならない。次にステップS7に移行し、この積分値に速度偏差に比例ゲインK2 を乗じた値を加算しトルク指令Tc を求め電流ループに引き渡す(ステップS8)。これによってサーボモータの移動停止時のオーバーシュート発生を防止する。以後、移動指令が再び出力されない限り上記ステップS1〜S4、S10、S7、S8の処理を各周期毎実行することになる。その結果、積分値が小さな値に切り替えられトルク指令Tc が小さなものとなってサーボモータ5の出力トルクが小さくなり、機械のバネ要素によってサーボモータが逆方向に押し戻され位置偏差が増大したとしても、フラグFが「1」にセットされてステップS4からステップS10に移行するから、ステップS5、S6の処理は行われず、再度積分値が小さな値に切り替えられることがないから振動の発生を防止できる。
【0014】
次に、再び移動指令が出力されステップS3で移動指令が「0」でないことを検出すると、ステップS9に移行してフラグFを「0」にセットし通常の速度ループ処理(ステップS10,S7)を行ってトルク指令Tc を求めることになる。
なお、位置のフィードフォワード制御を行う場合にはステップS2の位置ループ処理と共に位置のフィードフォワード制御処理が実行され速度指令Vc が求められるが、この位置のフィードフォワード処理は従来から公知であるので説明を省略する。
【0015】
図3は上記処理の動作説明図で、図3(a)に示されるような移動指令が出力され、サーボモータ5が駆動され、サーボモータ5の速度が安定している状態では、図3(b)、(c)に示すように位置偏差及び積分器の積分値はほぼ一定な値を保持している。そして移動指令がなくなると(ステップS3)、位置偏差は小さくなり、この位置偏差が設定されたしきい値幅の一方のしきい値以下になると(ステップS5)、積分器の積分値を小さな値に切り替え、フラグFを「1」にセットする(ステップS6及び図3(c)、(d)参照)。位置偏差がしきい値幅ε内にいっているときには速度は低下していることから速度偏差も大きくはなく積分器の積分値の増大も小さい。そして、次の移動指令が出力されるとフラグFは「0」にセットされ、積分値は徐々に増大し通常の位置・速度ループの処理がなされることになる。
【0016】
図4〜図6は、本実施形態の効果をみるために行った実験結果を示す図である。0.1mmの位置に位置決めのために、該位置より小さい方から移動して来たときと、該位置より大きい位置より移動してきたとき(正方向移動による位置決め、及び負方向移動による位置決め)の2つの例の実験結果である。図4は、移動停止の際の積分値を小さくするオーバーシュート防止を行わなかったときの実験結果である。この図4に示す通り、停止時にオーバーシュートが生じている。
【0017】
図5は、従来行われていた位置偏差がしきい値以下になったとき積分値を小さな値にしたときの実験結果である。オーバーシュートの発生は防止されているが、位置決め方向によって位置決め位置に段差が生じ位置決め精度を悪化させている。また、停止時の振動が大きくなっている。
図6は本発明を実施した時の実験結果である。この図6に示されるように、オーバーシュートは発生せず、かつ位置決め方向によって段差も発生せず、しかも、停止時の振動も図5に比べ小さくなっていることが分かる。
【0018】
なお、上記実施の形態では、ステップS6において積分値を小さくするために前周期までの積分値Σn−1 に1より小さな係数K3 を乗じて積分値を小さくしたが、この処理に代えて予め設定された小さな値の積分値に切り替えるようにしてもよい。
【0019】
【発明の効果】
本発明は、サーボモータの移動停止時にオーバーシュートを発生させず、位置決め方向によって位置決め位置に対する段差をも発生させず位置決め精度を向上させ、かつ停止時の振動を小さくすることができる。
【図面の簡単な説明】
【図1】本発明の一実施形態のにおける位置・速度ループ処理周期における処理のフローチャートである。
【図2】同実施形態の制御系のブロック図である。
【図3】同実施形態における動作説明図である。
【図4】オーバシュート発生防止対策を行わずに従来の制御方法でサーボモータを位置決めしたときの実験結果を示す図である。
【図5】位置偏差がしきい値以下になったとき積分値を小さな値にする従来のオーバシュート防止方法を適用してサーボモータを位置決めしたときの実験結果である。
【図6】本発明を適用してサーボモータを位置決めしたときの実験結果である。
【符号の説明】
1 数値制御装置(CNC)
2 共有メモリ
3 ディジタルサーボ回路
4 サーボアンプ
5 サーボータ
6 位置・速度検出器
Claims (1)
- 位置ループ内に速度ループを有し、所定周期毎位置・速度ループ処理を実行するサーボモータの制御方法において、移動指令が零になった後、位置偏差が設定しきい値幅内に最初になったときの周期のみ上記速度ループの積分器の値を小さな値に切り替えて処理しオーバーシュートを防止することを特徴とするサーボモータのオーバーシュート防止方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP27689696A JP3556779B2 (ja) | 1996-09-30 | 1996-09-30 | サーボモータのオーバーシュート防止方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP27689696A JP3556779B2 (ja) | 1996-09-30 | 1996-09-30 | サーボモータのオーバーシュート防止方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH10105247A JPH10105247A (ja) | 1998-04-24 |
JP3556779B2 true JP3556779B2 (ja) | 2004-08-25 |
Family
ID=17575909
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP27689696A Expired - Fee Related JP3556779B2 (ja) | 1996-09-30 | 1996-09-30 | サーボモータのオーバーシュート防止方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3556779B2 (ja) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102588394B (zh) * | 2012-03-13 | 2015-06-24 | 中联重科股份有限公司 | 液压执行机构的运动控制装置、方法、系统和工程机械 |
CN102621991B (zh) * | 2012-03-27 | 2015-03-11 | 中联重科股份有限公司 | 运动机构的定位控制装置、系统、方法和工程机械 |
CN103031958B (zh) * | 2012-12-14 | 2015-04-15 | 中联重科股份有限公司 | 控制臂架展收的控制系统、方法和混凝土泵送设备 |
CN112130597B (zh) * | 2020-09-23 | 2024-07-23 | 珠海格力智能装备有限公司 | 伺服电机的控制方法及控制系统、电机控制器 |
CN115298951B (zh) * | 2022-06-17 | 2024-02-20 | 广东逸动科技有限公司 | 电机的控制方法、船舶、设备及存储介质 |
WO2024079786A1 (ja) * | 2022-10-11 | 2024-04-18 | ファナック株式会社 | モータ制御装置及びモータ制御方法 |
-
1996
- 1996-09-30 JP JP27689696A patent/JP3556779B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH10105247A (ja) | 1998-04-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5107193A (en) | Feedforward control apparatus for a servomotor | |
JP2709969B2 (ja) | サーボモータの制御方法 | |
US5272423A (en) | Velocity control method for a synchronous AC servo motor | |
EP0790543B1 (en) | Method for switching a control mode of a servo control system | |
JPH05118302A (ja) | サーボモータの制御装置 | |
EP0547239B1 (en) | Back-lash acceleration control method | |
US9599980B2 (en) | Numerical controller having suppressor that suppresses variation in velocity due to abrupt change in positional deviation | |
EP0661615B1 (en) | Method for controlling servo mechanism flexibly | |
JP3556779B2 (ja) | サーボモータのオーバーシュート防止方法 | |
JP3285681B2 (ja) | サーボモータの制御方法 | |
JPH06339292A (ja) | 外乱負荷推定による力制御方法 | |
JP2853023B2 (ja) | 数値制御による機械装置の制御方法および装置 | |
JP3628199B2 (ja) | サーボモータの制御装置 | |
JP2820820B2 (ja) | サーボモータの制御装置 | |
JP3749222B2 (ja) | 数値制御装置 | |
KR970002259B1 (ko) | 서보모터의 제어방법 | |
JP2002091570A (ja) | サーボ制御方法 | |
US6122998A (en) | Force control method for a bar feeder of a lathe | |
JP3253022B2 (ja) | サーボモータのバックラッシュ補正制御方法 | |
JPH0266604A (ja) | 数値制御装置 | |
JPH0580805A (ja) | Pi制御ループをベースにした適応スライデイングモード制御方式 | |
JPH086644A (ja) | 数値制御装置 | |
JPH07266190A (ja) | 数値制御装置 | |
JP3308656B2 (ja) | サーボモータの制御方法 | |
JP2714957B2 (ja) | 位置決め制御方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20031203 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040106 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040223 |
|
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: 20040420 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20040513 |
|
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: 20080521 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090521 Year of fee payment: 5 |
|
LAPS | Cancellation because of no payment of annual fees |