JPH11353026A - サーボモータの制御方法 - Google Patents
サーボモータの制御方法Info
- Publication number
- JPH11353026A JPH11353026A JP10162526A JP16252698A JPH11353026A JP H11353026 A JPH11353026 A JP H11353026A JP 10162526 A JP10162526 A JP 10162526A JP 16252698 A JP16252698 A JP 16252698A JP H11353026 A JPH11353026 A JP H11353026A
- Authority
- JP
- Japan
- Prior art keywords
- servo motor
- rotation angle
- time
- time interval
- servomotor
- 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
Links
Landscapes
- Control Of Position Or Direction (AREA)
- Control Of Electric Motors In General (AREA)
Abstract
(57)【要約】
【課題】サーボモータの位置制御を行う上で基準となる
基準入力値に含まれる誤差を低減し、該サーボモータを
所望の回転速度計画に対して正確に駆動する。 【解決手段】速度計画作成手段20において、サーボモ
ータ12の駆動工程全体の回転速度計画を立て、次に、
回転角度設定手段22において、前記回転速度計画に基
づいてサーボモータ12の回転角度θを経過時間Tの関
数式として設定し、次に、パルス数計算手段24におい
て、前記関数式に基づいて時間間隔s(k)毎のパルス
数n(k)を求める。
基準入力値に含まれる誤差を低減し、該サーボモータを
所望の回転速度計画に対して正確に駆動する。 【解決手段】速度計画作成手段20において、サーボモ
ータ12の駆動工程全体の回転速度計画を立て、次に、
回転角度設定手段22において、前記回転速度計画に基
づいてサーボモータ12の回転角度θを経過時間Tの関
数式として設定し、次に、パルス数計算手段24におい
て、前記関数式に基づいて時間間隔s(k)毎のパルス
数n(k)を求める。
Description
【0001】
【発明の属する技術分野】この発明は、サーボモータの
位置制御を行う上で基準となる基準入力値を設定する際
に発生する誤差を低減することが可能なサーボモータの
制御方法に関する。
位置制御を行う上で基準となる基準入力値を設定する際
に発生する誤差を低減することが可能なサーボモータの
制御方法に関する。
【0002】
【従来の技術】従来から、サーボモータの位置制御を行
う場合、位置指令(目標値)に基づいて該サーボモータ
の回転速度計画をたて、この回転速度計画に基づいてサ
ーボモータの位置及び速度を決定するパルス数(基準入
力値)を求めるようにしている。
う場合、位置指令(目標値)に基づいて該サーボモータ
の回転速度計画をたて、この回転速度計画に基づいてサ
ーボモータの位置及び速度を決定するパルス数(基準入
力値)を求めるようにしている。
【0003】この回転速度計画は、一例として図5に実
線で示すように、サーボモータが加速度aで加速する加
速領域、サーボモータが最大速度Vmで等速回転する等
速領域及びサーボモータが減速度dで減速する減速領域
とからなる。この回転速度計画を求める場合、パラメー
タkがk=1の時間間隔s(1)からk=16の時間間
隔s(16)まで順に領域の割り当てを行い、各時間間
隔s(k)毎にサーボモータの速度を積分して回転角度
を求め、この回転角度に対応したパルス数を得るように
している。このとき、パルス数の総数が前記位置指令に
対応した値となるように考慮される。
線で示すように、サーボモータが加速度aで加速する加
速領域、サーボモータが最大速度Vmで等速回転する等
速領域及びサーボモータが減速度dで減速する減速領域
とからなる。この回転速度計画を求める場合、パラメー
タkがk=1の時間間隔s(1)からk=16の時間間
隔s(16)まで順に領域の割り当てを行い、各時間間
隔s(k)毎にサーボモータの速度を積分して回転角度
を求め、この回転角度に対応したパルス数を得るように
している。このとき、パルス数の総数が前記位置指令に
対応した値となるように考慮される。
【0004】
【発明が解決しようとする課題】ところで、上述したよ
うに、回転速度計画は時間間隔s(k)に対応して設定
されるため、各領域の境界点は時間間隔s(k)の変換
点に合わされている。例えば、加速領域と等速領域との
境界点は時間間隔s(5)と時間間隔s(6)との変換
点に合わされ、等速領域と減速領域との境界点は時間間
隔s(11)と時間間隔s(12)との変換点に合わさ
れている(図5参照)。
うに、回転速度計画は時間間隔s(k)に対応して設定
されるため、各領域の境界点は時間間隔s(k)の変換
点に合わされている。例えば、加速領域と等速領域との
境界点は時間間隔s(5)と時間間隔s(6)との変換
点に合わされ、等速領域と減速領域との境界点は時間間
隔s(11)と時間間隔s(12)との変換点に合わさ
れている(図5参照)。
【0005】ところが、位置指令に基づく所望の回転速
度計画は、実際には図5に破線で示すようになり、各領
域の境界点が時間間隔s(k)の変換点と対応していな
い。例えば、加速領域と定常領域との変換点(t1)は
時間間隔s(5)内にあり、定常領域と減速領域との変
換点(t2)は時間間隔s(12)内にある。
度計画は、実際には図5に破線で示すようになり、各領
域の境界点が時間間隔s(k)の変換点と対応していな
い。例えば、加速領域と定常領域との変換点(t1)は
時間間隔s(5)内にあり、定常領域と減速領域との変
換点(t2)は時間間隔s(12)内にある。
【0006】また、サーボモータの回転角度及びこの回
転角度に基づくパルス数は前記時間間隔毎に順に求めら
れるため、回転角度は整数として考慮される。従って、
この回転角度及びパルス数には、整数化に伴う誤差が含
まれる。この結果、サーボモータの加速度a、減速度
d、最大速度Vm、総回転時間等が、所望の値から外れ
るという問題が生じている。
転角度に基づくパルス数は前記時間間隔毎に順に求めら
れるため、回転角度は整数として考慮される。従って、
この回転角度及びパルス数には、整数化に伴う誤差が含
まれる。この結果、サーボモータの加速度a、減速度
d、最大速度Vm、総回転時間等が、所望の値から外れ
るという問題が生じている。
【0007】この発明は、このような課題を考慮してな
されたものであり、サーボモータの位置制御を行う上で
基準となる基準入力値に含まれる誤差を低減し、該サー
ボモータを所望の回転速度計画に対して正確に駆動する
ことが可能なサーボモータの制御方法を提供することを
目的とする。
されたものであり、サーボモータの位置制御を行う上で
基準となる基準入力値に含まれる誤差を低減し、該サー
ボモータを所望の回転速度計画に対して正確に駆動する
ことが可能なサーボモータの制御方法を提供することを
目的とする。
【0008】
【課題を解決するための手段】この発明では、サーボモ
ータの位置制御を行う上で基準となる基準入力値を、目
標値として供給される前記サーボモータの総回転角度で
ある位置指令に基づいて該サーボモータの駆動工程全体
の速度計画をたてる工程と、この速度計画に基づいてサ
ーボモータの回転角度を時間の関数式として設定する工
程と、この関数式に基づいて前記基準入力値を一定時間
間隔毎に求める工程とを経て求めるようにしている(請
求項1記載の発明)。
ータの位置制御を行う上で基準となる基準入力値を、目
標値として供給される前記サーボモータの総回転角度で
ある位置指令に基づいて該サーボモータの駆動工程全体
の速度計画をたてる工程と、この速度計画に基づいてサ
ーボモータの回転角度を時間の関数式として設定する工
程と、この関数式に基づいて前記基準入力値を一定時間
間隔毎に求める工程とを経て求めるようにしている(請
求項1記載の発明)。
【0009】この場合、前記回転速度計画及び回転角度
の関数式は時間間隔に依存することなく求められるた
め、この回転速度計画及び回転角度の関数式に基づいて
求められる基準入力値には、前記回転速度計画及び回転
角度の関数式を時間間隔に対応して求める場合に生じて
いた誤差は含まれない。従って、サーボモータを所望の
回転速度計画に対して正確に駆動することができる。
の関数式は時間間隔に依存することなく求められるた
め、この回転速度計画及び回転角度の関数式に基づいて
求められる基準入力値には、前記回転速度計画及び回転
角度の関数式を時間間隔に対応して求める場合に生じて
いた誤差は含まれない。従って、サーボモータを所望の
回転速度計画に対して正確に駆動することができる。
【0010】また、サーボモータの回転角度を時間の関
数式として設定する際、この時間を実際に制御を行う実
時間に対して変化させるようにしてもよい(請求項2記
載の発明)。この場合、回転速度計画を立て直すことな
くサーボモータの回転速度を変更することができる。
数式として設定する際、この時間を実際に制御を行う実
時間に対して変化させるようにしてもよい(請求項2記
載の発明)。この場合、回転速度計画を立て直すことな
くサーボモータの回転速度を変更することができる。
【0011】
【発明の実施の形態】以下、本発明に係る制御方法が適
用されるサーボモータ駆動システムの実施の形態を図1
〜図4を参照しながら説明する。ただし、以下に示す符
号において、図5に示したものと対応するものには同一
の符号を付し、その詳細な説明を省略する。
用されるサーボモータ駆動システムの実施の形態を図1
〜図4を参照しながら説明する。ただし、以下に示す符
号において、図5に示したものと対応するものには同一
の符号を付し、その詳細な説明を省略する。
【0012】図1に示すように、本実施の形態に係るサ
ーボモータ駆動システム10は、サーボモータ12と、
このサーボモータ12に駆動用電流を供給して該サーボ
モータ12を駆動するコントローラ14とで構成されて
いる。また、サーボモータ12には、該サーボモータ1
2が所定角度回転する度にパルス信号pkを発生するパ
ルス発生器(エンコーダ等)16が取り付けられてお
り、該パルス発生器16からのパルス信号pkに基づい
て、コントローラ14における前記サーボモータ12の
回転角度(位置)θ及び回転速度Vの制御が行われる。
ここで、パルス発生器16に代えて、レゾルバ、タコゼ
ネレータ等のセンサを用いることも可能である。
ーボモータ駆動システム10は、サーボモータ12と、
このサーボモータ12に駆動用電流を供給して該サーボ
モータ12を駆動するコントローラ14とで構成されて
いる。また、サーボモータ12には、該サーボモータ1
2が所定角度回転する度にパルス信号pkを発生するパ
ルス発生器(エンコーダ等)16が取り付けられてお
り、該パルス発生器16からのパルス信号pkに基づい
て、コントローラ14における前記サーボモータ12の
回転角度(位置)θ及び回転速度Vの制御が行われる。
ここで、パルス発生器16に代えて、レゾルバ、タコゼ
ネレータ等のセンサを用いることも可能である。
【0013】コントローラ14は、中央処理装置である
CPU、制御プログラムが格納されたROM(読出専用
メモリ)、一時的に使用される記憶手段としてのRAM
(ランダムアクセスメモリ)等(以上、図示せず)を有
し、また、図2の機能ブロック図に示すように、位置指
令(目標値)として供給されるサーボモータ12の回転
角度(指令回転角度)θ0と、このサーボモータ12の
性能等に応じて設定される最大速度Vm、加速度a及び
減速度dとから該サーボモータ12の駆動工程全体の回
転速度計画を立てる速度計画作成手段20と、この速度
計画作成手段20からの回転速度計画に基づいてサーボ
モータ12の回転角度θを経過時間Tの関数式として設
定する回転角度設定手段22と、この回転角度設定手段
22で設定された関数式に基づいて、所定時間ΔTの時
間間隔s(k)(k:パラメータ)毎のパルス数(基準
入力値であり、パルス数はサーボモータ12の回転角度
θに対応し、パルス周波数はサーボモータ12の回転速
度Vに対応する。)n(k)を求めるパルス数計算手段
24と、このパルス数計算手段24からのパルス数n
(k)を時間間隔s(k)毎に記録してテーブルを作成
するテーブル作成手段26とを有する。そして、このテ
ーブルは、コントローラ14の図示しない記憶装置(R
AM等)に格納される。
CPU、制御プログラムが格納されたROM(読出専用
メモリ)、一時的に使用される記憶手段としてのRAM
(ランダムアクセスメモリ)等(以上、図示せず)を有
し、また、図2の機能ブロック図に示すように、位置指
令(目標値)として供給されるサーボモータ12の回転
角度(指令回転角度)θ0と、このサーボモータ12の
性能等に応じて設定される最大速度Vm、加速度a及び
減速度dとから該サーボモータ12の駆動工程全体の回
転速度計画を立てる速度計画作成手段20と、この速度
計画作成手段20からの回転速度計画に基づいてサーボ
モータ12の回転角度θを経過時間Tの関数式として設
定する回転角度設定手段22と、この回転角度設定手段
22で設定された関数式に基づいて、所定時間ΔTの時
間間隔s(k)(k:パラメータ)毎のパルス数(基準
入力値であり、パルス数はサーボモータ12の回転角度
θに対応し、パルス周波数はサーボモータ12の回転速
度Vに対応する。)n(k)を求めるパルス数計算手段
24と、このパルス数計算手段24からのパルス数n
(k)を時間間隔s(k)毎に記録してテーブルを作成
するテーブル作成手段26とを有する。そして、このテ
ーブルは、コントローラ14の図示しない記憶装置(R
AM等)に格納される。
【0014】速度計画作成手段20では、まず、サーボ
モータ12の回転速度Vを加速度aで0から最大速度V
mまで増加させる領域(加速領域)に要する時間(加速
時間)Ta及びこの加速領域における前記サーボモータ
12の回転角度(加速回転角度)θa、並びに、前記サ
ーボモータ12の回転速度Vを減速度dで最大速度Vm
から0まで減少させる領域(減速領域)に要する時間
(減速時間)Tdとこの減速領域における前記サーボモ
ータ12の回転角度(減速回転角度)θdを求め、次
に、前記加速時間Ta、加速回転角度θa、減速時間T
d及び減速回転角度θdから前記サーボモータ12を最
大速度Vmで回転させる領域(定常領域)に要する時間
(定常時間)Tc及びこの定常領域における回転角度
(定常回転角度)θcを求めるようにしている。
モータ12の回転速度Vを加速度aで0から最大速度V
mまで増加させる領域(加速領域)に要する時間(加速
時間)Ta及びこの加速領域における前記サーボモータ
12の回転角度(加速回転角度)θa、並びに、前記サ
ーボモータ12の回転速度Vを減速度dで最大速度Vm
から0まで減少させる領域(減速領域)に要する時間
(減速時間)Tdとこの減速領域における前記サーボモ
ータ12の回転角度(減速回転角度)θdを求め、次
に、前記加速時間Ta、加速回転角度θa、減速時間T
d及び減速回転角度θdから前記サーボモータ12を最
大速度Vmで回転させる領域(定常領域)に要する時間
(定常時間)Tc及びこの定常領域における回転角度
(定常回転角度)θcを求めるようにしている。
【0015】この場合、前記加速時間Taは次の(1)
式で、前記減速時間Tdは次の(2)式で、前記加速回
転角度θaは次の(3)式で、前記減速回転角度θdは
次の(4)式で、前記定常回転角度θcは次の(5)式
で、前記定常時間Tcは次の(6)式で求められる。
式で、前記減速時間Tdは次の(2)式で、前記加速回
転角度θaは次の(3)式で、前記減速回転角度θdは
次の(4)式で、前記定常回転角度θcは次の(5)式
で、前記定常時間Tcは次の(6)式で求められる。
【0016】 Ta=Vm/a …(1) Td=Vm/d …(2) θa=a×Ta2 /2 …(3) θd=d×Td2 /2 …(4) θc=θ0−(θa+θd) …(5) Tc=θc/Vm …(6) ただし、前記(5)式の計算結果が負(θc<0)とな
る場合、加速時間Ta及び減速時間Tdは次の連立方程
式{(7)式}で求められる。この場合、定常領域は存
在しない。
る場合、加速時間Ta及び減速時間Tdは次の連立方程
式{(7)式}で求められる。この場合、定常領域は存
在しない。
【0017】 a×Ta=d×Td a×Ta2 /2+d×Td2 /2=θ0 …(7) 回転角度設定手段22では、加速領域、定常領域及び減
速領域におけるサーボモータ12の回転角度θが、経過
時間Tの関数として次の(8−1)式〜(8−3)式の
ように求められる。
速領域におけるサーボモータ12の回転角度θが、経過
時間Tの関数として次の(8−1)式〜(8−3)式の
ように求められる。
【0018】 θ=a×T2 /2 :(0≦T<Ta) …(8−1) θ=Vm×(T−Ta)+θa:(Ta≦T<Ta+Tc) …(8−2) θ=Vm×{T−(Ta+Tc)} −d×{T−(Ta+Tc)}2 /2+(θa+θc) :(Ta+Tc≦T≦Ta+Tc+Td) …(8−3) パルス数計算手段24では、前記(8−1)式〜(8−
3)式から各時間間隔s(k)毎のパルス数n(k)が
求められる。ここで、時間間隔s(k)の開始時点まで
の経過時間Tは、T=ΔT×(k−1)であり、前記時
間間隔s(k)の終了時点{即ち、時間間隔s(k+
1)の開始時点}までの経過時間Tは、T=ΔT×kで
あるため、この時間間隔s(k)におけるサーボモータ
12の回転角度Δθ(k)は、T=ΔT×kにおける回
転角度θからT=ΔT×(k−1)における回転角度θ
を減算することによって求められる。そして、パルス数
n(k)は、前記回転角度Δθ(k)から求められる。
このとき、パルス数n(k)の総数が指令回転角度θ0
に一致するように、小数点以下の値は前後の時間間隔
{s(k−1)またはs(k+1)}との間で加減算さ
れる。
3)式から各時間間隔s(k)毎のパルス数n(k)が
求められる。ここで、時間間隔s(k)の開始時点まで
の経過時間Tは、T=ΔT×(k−1)であり、前記時
間間隔s(k)の終了時点{即ち、時間間隔s(k+
1)の開始時点}までの経過時間Tは、T=ΔT×kで
あるため、この時間間隔s(k)におけるサーボモータ
12の回転角度Δθ(k)は、T=ΔT×kにおける回
転角度θからT=ΔT×(k−1)における回転角度θ
を減算することによって求められる。そして、パルス数
n(k)は、前記回転角度Δθ(k)から求められる。
このとき、パルス数n(k)の総数が指令回転角度θ0
に一致するように、小数点以下の値は前後の時間間隔
{s(k−1)またはs(k+1)}との間で加減算さ
れる。
【0019】ここで、前記(8−1)式〜(8−3)式
における経過時間Tを実際に制御を行う時間(実時間)
T' に対して変化させることも可能である。この場合、
例えば、 T=T' ×A :(Aは定数) …(9) とすることによって、見かけ上の時間の流れがA倍とな
り、サーボモータ12の回転速度VもA倍となる。
における経過時間Tを実際に制御を行う時間(実時間)
T' に対して変化させることも可能である。この場合、
例えば、 T=T' ×A :(Aは定数) …(9) とすることによって、見かけ上の時間の流れがA倍とな
り、サーボモータ12の回転速度VもA倍となる。
【0020】また、 T=T' +k×B :(Bは定数) …(10) または T=T' +θ×C :(Cは定数) …(11) とすることによって、回転速度Vをサーボモータ12の
回転とともに徐々に変化させることができる。
回転とともに徐々に変化させることができる。
【0021】さらに、 T=D×T'2+E×T' :(D、Eは定数) …(12) とすることも可能である。同様に、経過時間Tを実時間
T' の三次式、四次式等としてもよい。
T' の三次式、四次式等としてもよい。
【0022】ところで、加速度a及び減速度dを時間に
関する一次式、二次式等(三角関数を含む)で設定する
ことも可能であるが、この場合、前記(1)式〜(8−
1)式は、この加速度a及び減速度dに対応した高次
式、または、この高次式を近似した式とされる。
関する一次式、二次式等(三角関数を含む)で設定する
ことも可能であるが、この場合、前記(1)式〜(8−
1)式は、この加速度a及び減速度dに対応した高次
式、または、この高次式を近似した式とされる。
【0023】次に、本実施の形態に係るサーボモータ駆
動システム10の動作について、図3A及び図3Bに示
すグラフに基づいて詳しく説明する。
動システム10の動作について、図3A及び図3Bに示
すグラフに基づいて詳しく説明する。
【0024】まず、準備動作について説明する。
【0025】図示しない入力手段からコントローラ14
に対して指令回転角度θ0が供給されると、速度計画作
成手段20では、図3Aに示すように、サーボモータ1
2の回転速度計画が前記(1)式〜(7)式に基づいて
たてられる。次に、回転角度設定手段22では、前記速
度計画作成手段20からの回転速度計画に基づいて、サ
ーボモータ12の回転角度θが経過時間Tの関数として
前記(8−1)式〜(8−3)式のように設定される。
図3Bに、経過時間Tに対する前記回転角度θの変化を
示す。
に対して指令回転角度θ0が供給されると、速度計画作
成手段20では、図3Aに示すように、サーボモータ1
2の回転速度計画が前記(1)式〜(7)式に基づいて
たてられる。次に、回転角度設定手段22では、前記速
度計画作成手段20からの回転速度計画に基づいて、サ
ーボモータ12の回転角度θが経過時間Tの関数として
前記(8−1)式〜(8−3)式のように設定される。
図3Bに、経過時間Tに対する前記回転角度θの変化を
示す。
【0026】パルス数計算手段24では、前記(8−
1)式〜(8−3)式に基づいて時間間隔s(k)毎の
パルス数n(k)が求められる。そして、テーブル作成
手段26では、このパルス数n(k)が時間間隔s
(k)毎に記録されてテーブルが作成され、このテーブ
ルはコントローラ14の図示しない記憶装置に格納され
る。
1)式〜(8−3)式に基づいて時間間隔s(k)毎の
パルス数n(k)が求められる。そして、テーブル作成
手段26では、このパルス数n(k)が時間間隔s
(k)毎に記録されてテーブルが作成され、このテーブ
ルはコントローラ14の図示しない記憶装置に格納され
る。
【0027】次に、本実施の形態に係るサーボモータ駆
動システム10の駆動動作について説明する。
動システム10の駆動動作について説明する。
【0028】コントローラ14の図示しない記憶装置に
格納されたテーブルから1番目の時間間隔s(1)のパ
ルス数n(1)が読み出されると、該コントローラ14
においては、このパルス数n(1)とパルス発生器16
からのパルス信号pkに基づいてサーボモータ12に供
給すべき電流値が求められ、駆動用電流として出力され
る。サーボモータ12は、この駆動用電流の供給に伴っ
て回転を開始する。続いて、テーブルから時間間隔s
(2)以降のパルス数n(2)、n(3)…が順次読み
出され、各パルス数n(k)に基づく回転速度Vでサー
ボモータ12が回転される。
格納されたテーブルから1番目の時間間隔s(1)のパ
ルス数n(1)が読み出されると、該コントローラ14
においては、このパルス数n(1)とパルス発生器16
からのパルス信号pkに基づいてサーボモータ12に供
給すべき電流値が求められ、駆動用電流として出力され
る。サーボモータ12は、この駆動用電流の供給に伴っ
て回転を開始する。続いて、テーブルから時間間隔s
(2)以降のパルス数n(2)、n(3)…が順次読み
出され、各パルス数n(k)に基づく回転速度Vでサー
ボモータ12が回転される。
【0029】本実施の形態において、時間間隔s(k)
毎の回転角度Δθ(k)は実数で考慮されるため、パル
ス数n(k)に含まれる誤差が低減される。また、サー
ボモータ12の回転速度計画は図3Aに示すように設定
されるが、この場合、加速領域と定常領域との変換点
(t1)は時間間隔s(5)内にあり、定常領域と減速
領域との変換点(t2)は時間間隔s(12)内にあ
り、減速領域とサーボモータ12の停止状態が保持され
る領域(保持領域)との変換点(t3)は時間間隔s
(16)内にある。このように、各変換点(t1、t
2、t3)が時間間隔s(k)の切り替わり時点と対応
していない場合でも、各時間間隔s(k)のパルス数n
(k)を前記(8−1)式〜(8−3)式に基づいて求
めることによって、サーボモータ12を前記回転速度計
画に正確に対応させて駆動することが可能である。
毎の回転角度Δθ(k)は実数で考慮されるため、パル
ス数n(k)に含まれる誤差が低減される。また、サー
ボモータ12の回転速度計画は図3Aに示すように設定
されるが、この場合、加速領域と定常領域との変換点
(t1)は時間間隔s(5)内にあり、定常領域と減速
領域との変換点(t2)は時間間隔s(12)内にあ
り、減速領域とサーボモータ12の停止状態が保持され
る領域(保持領域)との変換点(t3)は時間間隔s
(16)内にある。このように、各変換点(t1、t
2、t3)が時間間隔s(k)の切り替わり時点と対応
していない場合でも、各時間間隔s(k)のパルス数n
(k)を前記(8−1)式〜(8−3)式に基づいて求
めることによって、サーボモータ12を前記回転速度計
画に正確に対応させて駆動することが可能である。
【0030】次に、本実施の形態の変形例について図4
を参照しながら説明する。
を参照しながら説明する。
【0031】この変形例において、コントローラ14で
は、所定時間ΔTの時間間隔s(k)におけるサーボモ
ータ12の回転角度Δθ(k)及び回転速度Vを設定す
るパルス数n(k)の計算は、前記サーボモータ12の
回転に対してリアルタイムに行われる。このコントロー
ラ14における処理の流れを図4のフローチャートに基
づいて詳しく説明する。
は、所定時間ΔTの時間間隔s(k)におけるサーボモ
ータ12の回転角度Δθ(k)及び回転速度Vを設定す
るパルス数n(k)の計算は、前記サーボモータ12の
回転に対してリアルタイムに行われる。このコントロー
ラ14における処理の流れを図4のフローチャートに基
づいて詳しく説明する。
【0032】コントローラ14に対してサーボモータ1
2の指令回転角度θ0、最大速度Vm、加速度a及び減
速度dが供給される(即ち、初期設定が行われる)と
(ステップS1)、前記(1)式〜(7)式に基づいて
前記サーボモータ12の回転速度計画の算出が行われ、
続いて、サーボモータ12の回転角度θが経過時間Tの
関数として前記(8−1)式〜(8−3)式のように設
定される(ステップS2)。そして、サーボモータ12
の始動指令が外部からコントローラ14に対して、また
は、該コントローラ14内のタイマによる計時等に基づ
いて行われると、時間間隔s(k)がリセットされ、パ
ルス数n(k)の計算が開始される(ステップS3)。
2の指令回転角度θ0、最大速度Vm、加速度a及び減
速度dが供給される(即ち、初期設定が行われる)と
(ステップS1)、前記(1)式〜(7)式に基づいて
前記サーボモータ12の回転速度計画の算出が行われ、
続いて、サーボモータ12の回転角度θが経過時間Tの
関数として前記(8−1)式〜(8−3)式のように設
定される(ステップS2)。そして、サーボモータ12
の始動指令が外部からコントローラ14に対して、また
は、該コントローラ14内のタイマによる計時等に基づ
いて行われると、時間間隔s(k)がリセットされ、パ
ルス数n(k)の計算が開始される(ステップS3)。
【0033】まず、時間間隔s(k−1)が更新されて
時間間隔s(k)における計算が開始される(ステップ
S4)。次に、コントローラ14における処理のタイミ
ングとサーボモータ12の実際の回転角度θとの同期が
とられ(ステップS5)、続いて、この時間間隔s
(k)の終了時点までの経過時間Tが、T=ΔT×kで
算出される(ステップS6)。なお、ステップS6及び
後述するステップS7〜S16の一連の処理を前記時間
間隔s(k)に要する時間ΔTに基づく割り込み処理と
して行うことも可能であるが、この場合、前記ステップ
S5の処理を行う必要はない。また、前記時間ΔTを時
間間隔s(k)に要する時間ではなく、ステップS4〜
S16の処理に要する時間とすることも可能である。こ
の場合、ステップS4では、単に、前記ステップS4〜
S16の繰り返し回数が計数される。
時間間隔s(k)における計算が開始される(ステップ
S4)。次に、コントローラ14における処理のタイミ
ングとサーボモータ12の実際の回転角度θとの同期が
とられ(ステップS5)、続いて、この時間間隔s
(k)の終了時点までの経過時間Tが、T=ΔT×kで
算出される(ステップS6)。なお、ステップS6及び
後述するステップS7〜S16の一連の処理を前記時間
間隔s(k)に要する時間ΔTに基づく割り込み処理と
して行うことも可能であるが、この場合、前記ステップ
S5の処理を行う必要はない。また、前記時間ΔTを時
間間隔s(k)に要する時間ではなく、ステップS4〜
S16の処理に要する時間とすることも可能である。こ
の場合、ステップS4では、単に、前記ステップS4〜
S16の繰り返し回数が計数される。
【0034】次に、前記ステップS6で求められた経過
時間Tに基づいて、領域の判定が行われる。まず、経過
時間Tが0≦T<Ta(0≦T<t1)の範囲内にある
か否かの判定が行われる(ステップS7)。経過時間T
がこの範囲内にある場合、時間間隔s(k)の終了時点
は加速領域内となるため、サーボモータ12の回転角度
θが前記(8−1)式に基づいて求められる(ステップ
S8)。前記ステップS7で経過時間Tが0≦T<Ta
の範囲内にないと判定された場合、この経過時間TがT
a≦T<Ta+Tc(t1≦T<t2)の範囲内にある
か否かの判定が行われる(ステップS9)。経過時間T
がこの範囲内にある場合、時間間隔s(k)の終了時点
は等速領域内となるため、サーボモータ12の回転角度
θが前記(8−2)式に基づいて求められる(ステップ
S10)。前記ステップS9で経過時間TがTa≦T<
Ta+Tcの範囲内にないと判定された場合、この経過
時間TがTa+Tc≦T≦Ta+Tc+Td(t2≦T
≦t3)の範囲内にあるか否かの判定が行われる(ステ
ップS11)。経過時間Tがこの範囲内にある場合、時
間間隔s(k)の終了時点は減速領域内となるため、サ
ーボモータ12の回転角度θが前記(8−3)式に基づ
いて求められる(ステップS12)。前記ステップS1
1で経過時間TがTa+Tc≦T≦Ta+Tc+Tdの
範囲内にないと判定された場合、時間間隔s(k)の終
了時点はサーボモータ12の停止状態が保持される領域
(保持領域)内となる。この場合、サーボモータ12の
回転角度θは、θ=θ0となる(ステップS13)。
時間Tに基づいて、領域の判定が行われる。まず、経過
時間Tが0≦T<Ta(0≦T<t1)の範囲内にある
か否かの判定が行われる(ステップS7)。経過時間T
がこの範囲内にある場合、時間間隔s(k)の終了時点
は加速領域内となるため、サーボモータ12の回転角度
θが前記(8−1)式に基づいて求められる(ステップ
S8)。前記ステップS7で経過時間Tが0≦T<Ta
の範囲内にないと判定された場合、この経過時間TがT
a≦T<Ta+Tc(t1≦T<t2)の範囲内にある
か否かの判定が行われる(ステップS9)。経過時間T
がこの範囲内にある場合、時間間隔s(k)の終了時点
は等速領域内となるため、サーボモータ12の回転角度
θが前記(8−2)式に基づいて求められる(ステップ
S10)。前記ステップS9で経過時間TがTa≦T<
Ta+Tcの範囲内にないと判定された場合、この経過
時間TがTa+Tc≦T≦Ta+Tc+Td(t2≦T
≦t3)の範囲内にあるか否かの判定が行われる(ステ
ップS11)。経過時間Tがこの範囲内にある場合、時
間間隔s(k)の終了時点は減速領域内となるため、サ
ーボモータ12の回転角度θが前記(8−3)式に基づ
いて求められる(ステップS12)。前記ステップS1
1で経過時間TがTa+Tc≦T≦Ta+Tc+Tdの
範囲内にないと判定された場合、時間間隔s(k)の終
了時点はサーボモータ12の停止状態が保持される領域
(保持領域)内となる。この場合、サーボモータ12の
回転角度θは、θ=θ0となる(ステップS13)。
【0035】続いて、パルス発生器16からのパルス信
号pkが取り込まれ、このパルス信号pkに基づいて、
サーボモータ12の実際の回転角度θrが求められる
(ステップS14)。そして、前記ステップS7〜S1
3で求められたサーボモータ12の回転角度θから実際
の回転角度θrを減算することによって、この時間間隔
s(k)における回転角度Δθ(k)が求められ、さら
に、この回転角度Δθ(k)に基づいてこの時間間隔s
(k)におけるパルス数n(k)が求められる(ステッ
プS15)。そして、前記ステップS15で求められた
パルス数n(k)が基準入力値として制御出力され、こ
のパルス数n(k)に基づいてサーボモータ12の位置
制御が行われる(ステップ16)。
号pkが取り込まれ、このパルス信号pkに基づいて、
サーボモータ12の実際の回転角度θrが求められる
(ステップS14)。そして、前記ステップS7〜S1
3で求められたサーボモータ12の回転角度θから実際
の回転角度θrを減算することによって、この時間間隔
s(k)における回転角度Δθ(k)が求められ、さら
に、この回転角度Δθ(k)に基づいてこの時間間隔s
(k)におけるパルス数n(k)が求められる(ステッ
プS15)。そして、前記ステップS15で求められた
パルス数n(k)が基準入力値として制御出力され、こ
のパルス数n(k)に基づいてサーボモータ12の位置
制御が行われる(ステップ16)。
【0036】前記ステップS16の処理が終了すると、
再びステップS4〜S16の処理が行われ、このステッ
プS4〜S16の処理は、サーボモータ12の回転角度
θが指令回転角度θ0に到達する{即ち、最終の時間間
隔s(k)に対する処理が終了する}まで繰り返し行わ
れる。
再びステップS4〜S16の処理が行われ、このステッ
プS4〜S16の処理は、サーボモータ12の回転角度
θが指令回転角度θ0に到達する{即ち、最終の時間間
隔s(k)に対する処理が終了する}まで繰り返し行わ
れる。
【0037】なお、前記ステップS15において、時間
間隔s(k)の終了時点におけるサーボモータ12の回
転角度θからこの時間間隔s(k)の開始時点{即ち、
前の時間間隔s(k−1)の終了時点}におけるサーボ
モータ12の回転角度θを減算することによって、この
時間間隔s(k)におけるパルス数n(k)を求めるよ
うにしてもよい。この場合、時間間隔s(k−1)の終
了時点におけるサーボモータ12の回転角度θは既に求
められているため、前記ステップS14の処理を行う必
要はない。
間隔s(k)の終了時点におけるサーボモータ12の回
転角度θからこの時間間隔s(k)の開始時点{即ち、
前の時間間隔s(k−1)の終了時点}におけるサーボ
モータ12の回転角度θを減算することによって、この
時間間隔s(k)におけるパルス数n(k)を求めるよ
うにしてもよい。この場合、時間間隔s(k−1)の終
了時点におけるサーボモータ12の回転角度θは既に求
められているため、前記ステップS14の処理を行う必
要はない。
【0038】また、サーボモータ12の回転角度θを実
際の回転角度θrと比較することによって領域の判定
(ステップS7、S9及びS11の処理)を行うように
してもよい。この場合、ステップS6に代えて、ステッ
プS14と同様の処理が行われる。
際の回転角度θrと比較することによって領域の判定
(ステップS7、S9及びS11の処理)を行うように
してもよい。この場合、ステップS6に代えて、ステッ
プS14と同様の処理が行われる。
【0039】このように、本実施の形態においては、指
令回転角度θ0に基づいて全領域におけるサーボモータ
12の回転速度計画をたて、この回転速度計画に基づい
て該サーボモータ12の回転角度θを経過時間Tの関数
式として設定するようにしている。そして、各時間間隔
s(k)毎のパルス数n(k)は、前記関数に前記時間
間隔s(k)の開始時間及び終了時間を与えることによ
って求められる。
令回転角度θ0に基づいて全領域におけるサーボモータ
12の回転速度計画をたて、この回転速度計画に基づい
て該サーボモータ12の回転角度θを経過時間Tの関数
式として設定するようにしている。そして、各時間間隔
s(k)毎のパルス数n(k)は、前記関数に前記時間
間隔s(k)の開始時間及び終了時間を与えることによ
って求められる。
【0040】この場合、回転速度計画及び回転角度の関
数式は時間間隔s(k)に依存することなく求められる
ため、この回転速度計画及び関数式に基づいて求められ
るパルス数n(k)には、前述した従来技術の場合に生
じていたような誤差は含まれない。従って、サーボモー
タ12を所望の回転速度計画に対して正確に駆動するこ
とができる。
数式は時間間隔s(k)に依存することなく求められる
ため、この回転速度計画及び関数式に基づいて求められ
るパルス数n(k)には、前述した従来技術の場合に生
じていたような誤差は含まれない。従って、サーボモー
タ12を所望の回転速度計画に対して正確に駆動するこ
とができる。
【0041】また、前記(8−1)式〜(8−3)式に
おける経過時間Tを実際に制御を行う実時間T' に対し
て変化させることも可能である。この場合、回転速度計
画を立て直すことなくサーボモータ12の回転速度Vを
変更することができる。
おける経過時間Tを実際に制御を行う実時間T' に対し
て変化させることも可能である。この場合、回転速度計
画を立て直すことなくサーボモータ12の回転速度Vを
変更することができる。
【0042】なお、この発明は、上述の実施の形態に限
らず、この発明の要旨を逸脱することなく、種々の構成
を採り得ることはもちろんである。
らず、この発明の要旨を逸脱することなく、種々の構成
を採り得ることはもちろんである。
【0043】
【発明の効果】以上説明したように、この発明によれ
ば、サーボモータの位置制御を行う上で基準となる基準
入力値に含まれる誤差を低減し、該サーボモータを所望
の回転速度計画に対して正確に駆動することができる。
ば、サーボモータの位置制御を行う上で基準となる基準
入力値に含まれる誤差を低減し、該サーボモータを所望
の回転速度計画に対して正確に駆動することができる。
【図1】本発明の実施の形態が適用されるサーボモータ
駆動システムの概略的な構成を示すブロック図である。
駆動システムの概略的な構成を示すブロック図である。
【図2】サーボモータの位置制御を行う上で基準とされ
るパルス数を求めるための手段の模式的な構成を示す機
能ブロック図である。
るパルス数を求めるための手段の模式的な構成を示す機
能ブロック図である。
【図3】図3Aは、サーボモータの回転速度計画を示す
グラフであり、図3Bは、サーボモータの回転速度計画
に基づく該サーボモータの回転角度を示すグラフであ
る。
グラフであり、図3Bは、サーボモータの回転速度計画
に基づく該サーボモータの回転角度を示すグラフであ
る。
【図4】変形例における処理の流れを示すフローチャー
トである。
トである。
【図5】従来技術におけるサーボモータの回転速度計画
を示すグラフである。
を示すグラフである。
10…サーボモータ駆動システム 12…サーボモータ 14…コントローラ 16…パルス発生器 20…速度計画作成手
段 22…回転角度設定手段 24…パルス数計算手
段 26…テーブル作成手段
段 22…回転角度設定手段 24…パルス数計算手
段 26…テーブル作成手段
Claims (2)
- 【請求項1】サーボモータの位置制御を行う上で基準と
なる基準入力値を求めるための方法であって、 目標値として供給される前記サーボモータの総回転角度
である位置指令に基づいて該サーボモータの駆動工程全
体の速度計画をたてる工程と、 この速度計画に基づいてサーボモータの回転角度を時間
の関数式として設定する工程と、 この関数式に基づいて前記基準入力値を一定時間間隔毎
に求める工程とを有することを特徴とするサーボモータ
の制御方法。 - 【請求項2】請求項1記載の方法において、 前記サーボモータの回転角度を時間の関数式として設定
する際、この時間を実際に制御を行う実時間に対して変
化させることを特徴とするサーボモータの制御方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP10162526A JPH11353026A (ja) | 1998-06-10 | 1998-06-10 | サーボモータの制御方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP10162526A JPH11353026A (ja) | 1998-06-10 | 1998-06-10 | サーボモータの制御方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH11353026A true JPH11353026A (ja) | 1999-12-24 |
Family
ID=15756300
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP10162526A Pending JPH11353026A (ja) | 1998-06-10 | 1998-06-10 | サーボモータの制御方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH11353026A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007026119A (ja) * | 2005-07-15 | 2007-02-01 | Mitsubishi Electric Corp | 位置決め制御装置 |
JP2008137450A (ja) * | 2006-11-30 | 2008-06-19 | Nsk Ltd | 電動式ステアリング装置 |
-
1998
- 1998-06-10 JP JP10162526A patent/JPH11353026A/ja active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007026119A (ja) * | 2005-07-15 | 2007-02-01 | Mitsubishi Electric Corp | 位置決め制御装置 |
JP4523506B2 (ja) * | 2005-07-15 | 2010-08-11 | 三菱電機株式会社 | 位置決め制御装置 |
JP2008137450A (ja) * | 2006-11-30 | 2008-06-19 | Nsk Ltd | 電動式ステアリング装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3083870B2 (ja) | 数値制御装置 | |
KR960012701B1 (ko) | 주축 위치 결정 방법 | |
JPS61150699A (ja) | ステツプモ−タ制御装置 | |
JPH11353026A (ja) | サーボモータの制御方法 | |
JPH07302121A (ja) | 位置決め制御装置 | |
JP3049946B2 (ja) | 負荷イナーシャ測定装置 | |
US4890048A (en) | Low torque ripple stepping motor controller circuit | |
KR940002206B1 (ko) | 컨벌루션(Convolution)을 이용한 로보트의 궤적발생방법 | |
JPH06131050A (ja) | サーボモータで駆動される可動部の衝突検出方法 | |
JPH05224702A (ja) | バンバン制御装置 | |
JPH087836Y2 (ja) | モータの位置制御装置 | |
GB2273177A (en) | Actuator position control. | |
JP3480215B2 (ja) | 位置決め制御装置 | |
JPH05341847A (ja) | 位置決め制御用関数発生装置 | |
JP3291902B2 (ja) | サーボ制御装置 | |
JP2002284341A (ja) | ターンテーブル制御システムおよびターンテーブル制御システムの制御方法 | |
JPH04355682A (ja) | 位置決め装置 | |
JP3200908B2 (ja) | 電動機の停止角度制御方法及び装置 | |
JPH02126307A (ja) | モータ速度制御方式 | |
KR100194144B1 (ko) | 피이드포워드에 의한 서보모터의 위치 제어방법 및 제어기 | |
WO1991013388A1 (en) | Improvements in or relating to actuator control | |
JPH07163195A (ja) | ステッピングモータコントローラ | |
JP2004227303A (ja) | モータ制御用パルス発生ic | |
JP2768696B2 (ja) | サーボモータの制御装置 | |
JPS62184509A (ja) | サ−ボモ−タの制御方法 |