(58)【調査した分野】(Int.Cl.,DB名)
前記減速制御部が、前記第二制御速度よりも小さい速度で前記モータを減速制御している間、最新の前記位置情報に基づいて前記位置制御用減速度を調整する位置制御用減速度調整部を有する、請求項1または請求項2に記載のモータ駆動制御装置。
【発明を実施するための形態】
【0015】
以下、本発明に係るモータ駆動制御装置およびこれを備えた工作機械の一実施形態について図面を用いて説明する。
【0016】
本実施形態のモータ駆動制御装置1は、
図1に示すように、上位コントローラ10からの指示に基づいて、工作機械11に用いられるモータ11aの駆動を制御し、所定の停止位置に位置決めを行うためのものである。以下、各構成について詳細に説明する。
【0017】
上位コントローラ10は、モータ駆動制御装置1にモータ11aの駆動制御に関する指示を出すものであり、プログラマブル・ロジック・コントローラ(PLC)やパーソナルコンピュータ等によって構成されている。上位コントローラ10は、モータ駆動制御装置1へ出力する設定条件として、停止位置と、位置決め条件と、停止判定速度と、第一制御速度と、マージン設定用比率と、位置制御時間とが設定可能に構成されている。
【0018】
停止位置は、モータ11aの回転軸を停止させたい位置(角度)を設定するものである。位置決め条件は、停止位置に対する許容誤差範囲を設定するものであり、例えば「停止位置に対して±1度以内」のように設定される。停止判定速度は、モータ11aの位置決めが完了したか否かを判定するための速度を設定するものである。
【0019】
第一制御速度は、モータ11aの減速度の最大値である最大減速度が算出されるタイミングにおけるモータ速度を示すものである。一般的に、モータ11aにおけるトルク特性は、
図2に示すように、モータ11aに固有のベース回転速度(ベース回転数)までは一定のトルクを出力するのに対し、ベース回転速度以上では、弱め界磁制御によって出力(=トルク×回転速度)が一定となるように制御されている。このため、本実施形態では、
図3に示すように、モータ速度がベース回転速度まで減速された直後の減速度(傾き)を最大減速度と考え、第一制御速度としては、制御対象となるモータ11aのベース回転速度が設定されている。
【0020】
マージン設定用比率は、モータ11aの最大減速度に掛け合わせて、位置制御時の減速度である位置制御用減速度を算出するためパラメータである。本実施形態において、マージン設定用比率は、
図3に示すように、後述する第二制御速度以下での位置制御用減速度を最大減速度よりも緩やかにしてマージンを持たせ、モータ11aが必ず安定して停止しうるようになっており、例えば90〜95%程度の値が設定される。
【0021】
位置制御時間は、位置制御用減速度で駆動制御する時間の最小値として設定されるパラメータである。上述したとおり、本実施形態では、位置制御用減速度にマージンが設定されるが、位置制御用減速度で駆動制御する時間が短すぎると、
図4に示すように、最大トルクで減速時の計測誤差を吸収し切れない場合がある。この場合、モータ11aの停止後、さらに1回転させる必要があるため、停止するまでの時間が無駄に長引いてしまう。そこで、本実施形態では、最低でも位置制御時間の間は、位置制御を実行するようにマージンが設定されており、例えば10〜100msec程度の値が設定される。
【0022】
工作機械11は、旋盤、ボール盤、中ぐり盤、フライス盤、歯切り盤、研削盤等のように、金属、木材、石材、樹脂等のワークに対して、切断、穿孔、研削、研磨、圧延、鍛造、折り曲げ等の加工を施すための機械である。工作機械11は、モータ駆動制御装置1から供給される駆動信号に基づいて駆動制御されるモータ11aと、このモータ11aの位置情報(回転角度位置)を検出するロータリエンコーダ等の位置検出手段11bとを有している。なお、本実施形態では、工作機械11の主軸モータを制御対象としているが、他のモータ11aを制御することも可能である。
【0023】
モータ駆動制御装置1は、工作機械11を制御する数値制御装置等のコンピュータによって構成されており、
図1に示すように、各種のデータを記憶するとともに、演算処理手段が演算処理を行う際のワーキングエリアとして機能する記憶手段2と、記憶手段2にインストールされたモータ駆動制御プログラム1aを実行することにより、各種の演算処理を実行し後述する各構成部として機能する演算処理手段3とを有している。以下、各構成手段について説明する。
【0024】
記憶手段2は、ハードディスク、ROM(Read Only Memory)、RAM(Random Access Memory)、フラッシュメモリ等で構成されており、
図1に示すように、プログラム記憶部21と、設定条件記憶部22とを有している。
【0025】
プログラム記憶部21には、本実施形態のモータ駆動制御装置1を制御するためのモータ駆動制御プログラム1aがインストールされている。そして、演算処理手段3が、当該モータ駆動制御プログラム1aを実行することにより、コンピュータとしてのモータ駆動制御装置1を後述する各構成部としてとして機能させるようになっている。また、本実施形態において、モータ駆動制御プログラム1aは、モータ11aの制御モードとして、一定速度に制御するための速度制御モードと、回転軸を所望の停止位置に位置決めするための位置制御モードとを備えている。
【0026】
なお、モータ駆動制御プログラム1aの利用形態は、上記構成に限られるものではない。例えば、CD−ROMやUSBメモリ等のように、コンピュータで読み取り可能な非一時的な記録媒体にモータ駆動制御プログラム1aを記憶させておき、当該記録媒体から直接読み出して実行してもよい。また、外部サーバ等からクラウドコンピューティング方式やASP(Application Service Provider)方式等で利用してもよい。
【0027】
設定条件記憶部22は、上位コントローラ10から出力された各種の設定条件を記憶するものである。本実施形態では、上述したとおり、停止位置と、位置決め条件と、停止判定速度と、第一制御速度と、マージン設定用比率と、位置制御時間とが、上位コントローラ10で予め設定されており、これらの設定条件が設定条件記憶部22に記憶されるようになっている。
【0028】
つぎに、演算処理手段3は、CPU(Central Processing Unit)等によって構成されており、記憶手段2にインストールされたモータ駆動制御プログラム1aを実行することにより、
図1に示すように、設定条件取得部31と、位置情報取得部32と、モータ状態算出部33と、最大減速度確定部34と、位置制御用減速度算出部35と、切換速度算出部36と、位置決め完了判定部37と、位置制御用減速度調整部38と、減速制御部39として機能するようになっている。以下、各構成部についてより詳細に説明する。
【0029】
設定条件取得部31は、モータ11aの位置決めに必要な各種の設定条件を取得するものである。本実施形態において、設定条件取得部31は、上位コントローラ10から出力された停止位置、位置決め条件、停止判定速度、第一制御速度、マージン設定用比率および位置制御時間からなる設定条件を取得し、これらの設定条件を設定条件記憶部22に保存するようになっている。
【0030】
位置情報取得部32は、モータ11aの位置情報(回転角度位置)を取得するものである。本実施形態において、位置情報取得部32は、位置検出手段11bによって検出された位置情報を取得し、モータ状態算出部33へ出力するようになっている。
【0031】
モータ状態算出部33は、モータ11aの状態を示す各種の値を算出するものである。本実施形態において、モータ状態算出部33は、位置検出手段11bによって検出されたモータ11aの位置情報を位置情報取得部32から取得し、当該位置情報に基づいてモータ11aの状態を算出する。具体的には、モータ状態算出部33は、位置情報を1回微分した値をモータ11aの現在速度として算出し、位置情報を2回微分した値をモータ11aの減速度として算出する。また、モータ状態算出部33は、位置情報によって特定される現在位置と、設定条件として記憶されている停止位置との差分値を算出するようになっている。
【0032】
最大減速度確定部34は、モータ11aの減速度の最大値である最大減速度を確定するものである。本実施形態において、最大減速度確定部34は、モータ状態算出部33により算出されたモータ11aの現在速度が、設定条件記憶部22に記憶されている第一制御速度よりも遅くなったか否かを常時監視する。そして、当該現在速度が第一制御速度よりも遅くなった直後に、算出されていた減速度を最大減速度として確定するようになっている。
【0033】
位置制御用減速度算出部35は、位置制御時に使用する減速度である位置制御用減速度を算出するものである。本実施形態において、位置制御用減速度算出部35は、最大減速度確定部34によって確定されたモータ11aの最大減速度を取得するとともに、設定条件記憶部22からマージン設定用比率を取得する。そして、位置制御用減速度算出部35は、当該最大減速度にマージン設定用比率を掛け合わせて位置制御用減速度を算出するようになっている。
【0034】
切換速度算出部36は、モータ11aの駆動制御を速度制御から位置制御に切り換えるタイミングを規定する第二制御速度を算出するものである。
図5に示すように、高速領域から減速度にマージンを持たせてしまうと、わずかなマージンでも停止までにかかる時間が増大し、無駄が発生してしまう。そこで、切換速度算出部36は、できるだけ最大トルクで減速させる時間を確保しつつ、かつ、確実に停止位置で停止しうるような切り換えタイミングを特定するようになっている。
【0035】
具体的には、切換速度算出部36は、最大減速度確定部34によって確定された最大減速度と、設定条件記憶部22に記憶されている第一制御速度、マージン設定用比率および位置制御時間と、モータ状態算出部33によって算出された差分値とに基づいて、最大減速度での移動距離と位置制御用減速度での移動距離との和が最小となる速度を第二制御速度として算出するようになっている。
【0036】
ここで、第二制御速度の算出方法について具体的に説明する。
図6に示すように、第一制御速度ω
1から第二制御速度ω
2までは、最大減速度a
1で時間t
1をかけて減速し、第二制御速度ω
2から停止するまでは、位置制御用減速度a
2で時間t
2をかけて減速した場合、以下の式(a)〜(d)が成り立つ。
S
1=(ω
1+ω
2)t
1/2:a
1で減速したときの移動距離 …式(a)
S
2=ω
2t
2/2:a
2で減速したときの移動距離 …式(b)
ω
1=a
1t
1+a
2t
2 …式(c)
ω
2=a
2t
2 …式(d)
【0037】
また、停止するまでの移動距離は、現在位置と停止位置との差分値Lおよびモータ11aの回転数nを用いてL+2πnと表されるから、上記式(a)〜(d)より、以下の式(e)が成り立つ。
S
1+S
2=ω
1t
1/2+ω
2(t
1+t
2)/2=L+2πn …式(e)
さらに、上述したマージン設定用比率Xおよび位置制御時間Tのマージンパラメータを用いて以下の関係式(f),(g)が成り立つ。
a
2=a
1X …式(f)
t
2≧T …式(g)
【0038】
以上において、上記式(c),(d)より導出される、t
1=(ω
1−ω
2)/a
1およびt
2=ω
2/a
2を、上記式(e)に代入すると、下記式(h)が成り立つ。
ω
22(1/2a
2−1/2a
1)+ω
12/2a
1=L+2πn …式(h)
よって、上記式(h)および上記式(f)により、第二制御速度ω
2については、下記式(1)が導出される。
ω
2=√[{X/(1−X)}・{2a
1(L+2πn)−ω
12}] …式(1)
【0039】
ここで、上記式(1)のルート(根号)の中が正の数であるためには、下記式(i)を満たす必要がある。
n≧(ω
12/2a
1−L)/2π …式(i)
一方、上記式(d),(f),(g)より、マージンに対する制限として、下記式(j)が成り立つ。
ω
2≧a
2T=a
1XT …式(j)
よって、上記式(i)および上記式(j)により、モータ11aが停止するまでに必要な回転数nについては、下記式(2)が導出される。
n≧〔[ω
12+{(1−X)/X}(a
1XT)
2]/2a
1−L〕/2π …式(2)
【0040】
すなわち、切換速度算出部36は、下記式(2)を満たすモータ11aが停止するまでに必要な回転数nの最小値を用いて、下記式(1)によって第二制御速度ω
2を算出するようになっている。
ω
2=√[{X/(1−X)}・{2a
1(L+2πn)−ω
12}] …式(1)
n≧〔[ω
12+{(1−X)/X}(a
1XT)
2]/2a
1−L〕/2π …式(2)
ただし、各記号は以下を表す。
ω
1:第一制御速度(ベース回転速度)
ω
2:第二制御速度(切換速度)
a
1:最大減速度
n:モータが停止するまでに必要な回転数
L:現在位置と停止位置との差分値
X:マージン設定用比率
T:位置制御時間
【0041】
位置決め完了判定部37は、モータ11aの位置決めが完了したか否かを判定するものである。本実施形態において、位置決め完了判定部37は、設定条件記憶部22に記憶されている停止位置、位置決め条件および停止判定速度を参照し、位置情報取得部32によって取得された位置情報(現在位置)が、当該停止位置に対して許容誤差範囲内にあるか否か、およびモータ状態算出部33によって算出された現在速度が、当該停止判定速度以下であるか否かを判定する。そして、位置決め完了判定部37は、現在位置が停止位置に対して許容誤差範囲内であり、かつ、現在速度が停止判定速度以下である場合のみ、位置決めが完了したと判定するようになっている。
【0042】
位置制御用減速度調整部38は、位置検出手段11bによる測定誤差を吸収するように位置制御用減速度を調整するものである。本実施形態において、位置制御用減速度調整部38は、減速制御部39が、第二制御速度よりも小さい速度でモータ11aを減速制御している間、最新の位置情報に基づいて位置制御用減速度を調整する。
【0043】
具体的には、
図7に示すように、第二制御速度よりも小さい速度ω
3でモータ11aを減速制御している時点において、停止位置までの残りの移動距離S
3を時間t
3をかけて減速する場合、上記式(b)と同様、下記式(k)が成り立つ。
S
3=ω
3t
3/2 …式(k)
また、当該時点において、位置制御用減速度a
2で減速している場合、速度ω
3については、上記式(d)と同様、下記式(l)が成り立つ。
ω
3=a
2t
3 …式(l)
よって、上記式(k),(l)により、以下の式(m)が導出される。
S
3=ω
32/2a
2 …式(m)
【0044】
以上より、位置制御用減速度調整部38は、位置制御を実行している間、最新の位置情報に基づいて、モータ状態算出部33によって算出された残りの移動距離S
3および速度ω
3を取得し、上記式(m)が成立するか否かを常時監視する。そして、上記式(m)が成り立たなくなったとき(S
3≠ω
32/2a
2となったとき)は、位置制御用減速度a
2のままでは停止位置に停止できないことを意味するから、位置制御用減速度の調整が必要と判断し、上記式(m)を変形した下記式(n)により調整後の位置制御用減速度a
3を算出する。
a
3=ω
32/2S
3 …式(n)
そして、位置制御用減速度調整部38は、当該調整後の位置制御用減速度a
3を減速制御部39へ指示するようになっている。
【0045】
なお、上述した位置制御用減速度の調整に際し、仮に大きな外乱等の発生により、調整後の位置制御用減速度a
3が、最大減速度a
1よりも大きくなってしまった場合、オーバーシュートが発生する等、所望の制御が不能となってしまうおそれがある。そこで、上記のような場合(a
3>a
1)には、位置制御用減速度調整部38が、マージン設定用比率Xを適宜低減させ、再設定するようにしてもよい。例えば、マージン設定用比率Xが95%に設定されていた場合には、90%にすることで上記のような場合が回避される。
【0046】
減速制御部39は、モータ11aに駆動信号を出力し減速制御を実行するものである。本実施形態において、減速制御部39は、モータ状態算出部33によって算出されたモータ11aの現在速度を常時監視する。そして、
図3に示すように、モータ11aの速度が第二制御速度よりも大きいうちは最大トルクで減速制御(速度制御)するとともに、モータ11aの速度が第二制御速度よりも小さくなった後には、位置制御用減速度算出部35によって算出された位置制御用減速度で減速制御(位置制御)を実行するようになっている。また、本実施形態において、減速制御部39は、位置制御用減速度調整部38によって位置制御用減速度が調整された場合には、当該調整後の位置制御用減速度a
3によって減速制御(位置制御)を実行するようになっている。
【0047】
つぎに、本実施形態のモータ駆動制御装置1による作用について、
図8のフローチャートを参照しつつ説明する。
【0048】
本実施形態のモータ駆動制御装置1によって工作機械11のモータ11aを制御し、所定の停止位置に位置決めを行う場合、まず、設定条件取得部31が、上位コントローラ10から出力された停止位置、位置決め条件、停止判定速度、第一制御速度、マージン設定用比率および位置制御時間からなる設定条件を取得し、設定条件記憶部22に保存する(ステップS1)。これにより、モータ駆動制御装置1が位置決めシーケンスへ移行し、位置決めが完了するまで、以降のステップS2〜S14の処理が所定の周期で繰り返される。
【0049】
つぎに、位置情報取得部32が、位置検出手段11bによって検出された位置情報を取得すると(ステップS2)、モータ状態算出部33が、当該位置情報に基づいて、モータ11aの現在速度、減速度、および現在位置と停止位置との差分値を算出する(ステップS3)。これにより、モータ11aの現在の状態が把握される。
【0050】
つづいて、最大減速度確定部34は、モータ11aの現在速度が、第一制御速度よりも遅くなったか否かを監視する(ステップS4)。そして、当該現在速度が第一制御速度よりも遅くなった直後に(ステップS4:YES)、最大減速度が未だ確定していなければ(ステップS5:NO)、ステップS3で算出されていた減速度を最大減速度として確定する(ステップS6)。
【0051】
これにより、制御対象とするモータ11aに固有のベース回転速度(第一制御速度)を設定しておくだけで、モータ11aの最大減速度が特定される。また、後述するとおり、最大トルクでの減速中に最大減速度が確定されることとなるため、イナーシャ(回転慣性モーメント)の異なるワークのそれぞれに対しても、常に最適な減速が可能となる。
【0052】
一方、モータ11aの現在速度が第一制御速度以上ある場合は(ステップS4:NO)、後述するステップS14へと処理が進められ、減速制御部39によって最大トルクで減速制御(速度制御)が実行される。また、ステップS5において、最大減速度が既に確定している場合には(ステップS5:YES)、後述するステップS9へと処理が進められる。
【0053】
ステップS6で最大減速度が確定されると、位置制御用減速度算出部35が、当該最大減速度にマージン設定用比率を掛け合わせて位置制御用減速度を算出する(ステップS7)。これにより、適切なマージン設定用比率を設定しておくことで、モータ11aが必ず安定して停止しうるような位置制御用減速度が算出される。
【0054】
つづいて、切換速度算出部36が、最大減速度と、第一制御速度と、マージン設定用比率、位置制御時間と、差分値とに基づいて、最大減速度での移動距離と位置制御用減速度での移動距離との和が最小となる速度を第二制御速度として算出する(ステップS8)。これにより、最も少ない回転数でモータ11aを停止位置に停止しうるような、モータ11aの駆動制御を速度制御から位置制御に切り換えるのに最適なタイミングが特定される。
【0055】
また、本実施形態において、第二制御速度の算出には、マージン設定用比率および位置制御時間という二つのマージンパラメータが使用される。このため、位置検出手段11bによる計測誤差や外乱の影響があったとしても安定して制御でき、停止位置に位置決めできずに一回転多く回転させたり、オーバーシュートを防止できずに逆回転させる必要がない。また、各マージンパラメータの設定値は、ワークによって変更する必要がなく、直感的でもあるため設定や調整が極めて容易である。
【0056】
つぎに、位置決め完了判定部37が、停止位置、位置決め条件、停止判定速度、位置情報(現在位置)および現在速度に基づいて、モータ11aの位置決めが完了したか否かを判定する(ステップS9)。その判定の結果、位置決めが完了した場合には(ステップS9:YES)、当該停止位置を保持し続けた状態で(ステップS15)、本シーケンスを終了する。
【0057】
一方、位置決めが完了していなければ(ステップS9:NO)、減速制御部39が、モータ11aの現在速度が、第二制御速度よりも遅くなったか否かを監視する(ステップS10)。そして、モータ11aの速度が第二制御速度よりも大きいうちは(ステップS10:NO)、最大トルクで減速制御(速度制御)する(ステップS14)。このため、最大トルクでの減速時間ができるだけ確保され、位置制御へ切り換える前までは迅速に減速されるため、位置決め完了までの時間が短縮される。
【0058】
一方、モータ11aの速度が第二制御速度よりも小さくなると(ステップS10:YES)、位置制御用減速度調整部38が、位置制御用減速度の調整が必要か否かを判定する(ステップS11)。そして、調整が必要であれば(ステップS11:YES)、位置制御用減速度調整部38が、新たな位置制御用減速度を算出して調整を行う(ステップS12)。
【0059】
これにより、位置検出手段11bの計測誤差等に起因して、停止位置で停止できないような位置制御用減速度が設定されていたとしても、位置制御時間によってマージンが確保されているため、最低でも位置制御時間の間は位置制御が実行される。このため、最新の位置情報に基づいて、確実に停止位置で停止できるように位置制御用減速度が適宜調整される。
【0060】
つづいて、減速制御部39は、位置制御用減速度が調整されなければ(ステップS11:NO)、ステップS7で算出された位置制御用減速度で減速制御(位置制御)を実行する(ステップS13)。また、位置制御用減速度が調整された場合は(ステップS11:YES)、当該調整後の位置制御用減速度によって減速制御(位置制御)を実行する(ステップS13)。
【0061】
これにより、マージンが設定された位置制御用減速度で位置制御されるため、モータ11aの位置決め動作における安定性が向上する。また、位置制御時間によって予めマージンを確保することで、モータ11aが必ず停止位置で停止するため、モータ11aの位置決め動作における確実性が向上する。さらに、設定された位置制御時間を超えて駆動されることがないため、停止するまでの時間に想定外の無駄が発生しない。
【0062】
以上のステップS2〜S14の処理は、ステップS9で位置決めが完了したと判定されない限り、所定の周期で繰り返される。
【0063】
以上のような本実施形態によれば、以下のような効果を奏する。
1.速度制御から位置制御への切り換えタイミングを最適化することにより、できるだけ少ない回転数で迅速かつ確実にモータ11aを所定の停止位置に停止させることができる。
2.マージン設定用比率および位置制御時間という二つのマージンパラメータを用いた第二制御速度を切り換えタイミングとするため、計測誤差や外乱の影響があったとしても必ず安定して停止位置に位置決めすることができる。
3.マージン設定用比率および位置制御時間は、ワークによって変更する必要がなく、直感的でもあるため簡単に設定や調整を行うことができる。
4.位置制御において、位置制御用減速度を調整できるため、計測誤差等があったとしても、確実に停止位置に停止することができる。
【0064】
また、本発明に係るモータ駆動制御装置1の動作と、上述した特許文献1の動作とを比較すると、誤差が全くなく理論通りに停止位置で停止できた場合には、特許文献1の方が早く停止できる場合も存在しうる。しかしながら、現実的には、
図9に示すように、特許文献1では、低速領域においても最大減速度に近い減速度のままで減速するため、多くの場合では計測誤差等により、停止位置で停止できず、さらに一回転させることとなる。
【0065】
これに対し、本発明に係るモータ駆動制御装置1の動作によれば、上述したとおり、第二制御速度までは最大トルクで減速するため、停止するまでの時間が短縮される。また、第二制御速度以下では、マージンを持たせた位置制御用減速度で減速するため安定性が高く、最低でも位置制御時間の間は位置制御を行うため、必ず停止位置で停止できるという作用効果を奏し、現実的かつ理想的な制御結果が得られる。
【0066】
なお、本発明に係るモータ駆動制御装置1およびこれを備えた工作機械11は、前述した実施形態に限定されるものではなく、適宜変更することができる。
【0067】
例えば、上述した本実施形態では、数値制御装置の一機能としてモータ駆動制御装置1を実現させているが、この構成に限定されるものでない。すなわち、数値制御装置とは別個独立に、モータ駆動制御装置1を設けてもよい。