(57)【要約】【課題】モータの累積回転数が多回転カウンタの最大カウント数を越えても、正確にアブソリュート位置を検出することができるようにする。【解決手段】多回転カウンタの最大カウントを移動体の１回転あたりのモータ回転数で除した余り（Ｍ）を算出し、多回転カウンタのカウント数が最大カウント数−１から０に戻る毎に補正用カウント値の初期値に余り（Ｍ）を増減して補正用カウント値を更新し、多回転カウンタのカウント数が最大カウント数から０に戻ったときに補正用カウント値を前記カウント数の初期値として、シングルカウンタのカウント数と、多回転カウンタの補正後のカウント数とから移動体の回転位置のアブソリュート座標を演算する。【選択図】  図４
2004279188.tif 000002
【特許請求の範囲】
【請求項１】
移動体を駆動するモータの回転軸に連結され前記回転軸の回転角に応じたパルスを出力するパルス発生器と、前記モータの回転軸が一回転する間の前記パルス発生器の出力パルス数をカウントする第１のカウンタ手段と、前記パルス発生器の出力パルスに基づいて前記モータの回転軸の回転数を累積的に前記最大カウント数−１までカウントする第２のカウント手段を有するロータリー形のアブソリュート位置検出装置であって、
前記第２のカウント手段の最大カウント数を前記移動体の１回転あたりのモータ回転数で除した余り（Ｍ）を算出し、前記第２のカウント手段のカウント数が最大カウント数−１から０に戻る毎に補正用カウント値の初期値に余り（Ｍ）を増減して補正用カウント値を更新する手段と、
前記第２のカウント手段のカウント数が最大カウント数−１から０に戻ったときに前記補正用カウント値を前記カウント数の初期値とする補正手段と、
前記第１のカウンタ手段のカウント数と、第２のカウント手段の補正後のカウント数とから移動体の回転位置のアブソリュート座標を演算する演算手段と、
を具備したことを特徴とするアブソリュート位置検出装置。
【請求項２】
前記補正用カウント値を記憶し電源が切れてもデータを保持するバックアップ用の記憶装置を有することを特徴とする請求項１に記載のアブソリュート位置検出装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、工作機械のテーブルなどの移動体の位置を検出するアブソリュート位置検出装置に関する。
【０００２】
【従来の技術】
工作機械において、移動体の位置を検出する方式としては、絶対位置を検出するアブソリュート方式の位置検出と、基準点からの増分を累積して相対的な位置を検出するインクリメント方式の位置検出がある。
【０００３】
工作機械のロータリテーブルのように、エンドレスに正逆方向に回転できるものでは、インクリメント方式によってはテーブルの位置の検出が厄介なので、近年ではアブソリュート位置検出方式が採用されてきている。
【０００４】
アブソリュート位置検出方式では、テーブルを回転駆動するモータに設けられる位置検出器から出力されるパルスをカウントするカウンタとして、モータの回転軸が一回転する間のパルスをカウントするシングルカウンタと、モータの回転軸の回転数を累積してカウントする多回転カウンタとが組み合わされている。
【０００５】
例えば、テーブルが一回転するためのモータの回転数が３６０回転で、モータの回転軸が一回転する間にシングルカウンタがカウントするパルス数を１０００カウント、テーブルが停止したときの多回転数カウンタのカウント数が１４０００、シングルカウンタのカウント数が５００であったとすれば、
１４０００＝３６０×３９＋１００
であるから、（１００×１０００＋５００）にシングルカウンタの１カウントあたりの回転角度を乗ずれば、テーブルの位置を検出することができる。
【０００６】
多回転カウンタは、無制限にモータの回転数をカウントできるのではなく上限があり、多回転カウンタの最大カウント数がテーブル一回転に必要なモータ回転数の倍数（例えば、上記の例でいえば、１４４００カウント）であれば、多回転カウンタが１４３９９をカウントしてから０に戻るとしても、問題なくテーブルのアブソリュート位置を求めることができる。
【０００７】
テーブルが一回転するためのモータの回転数は、設計上主として減速比で決定されるが、多回転カウンタの最大カウント数がテーブル一回転のカウント数で割り切れる場合ばかりであるとは必ずしも限らない。
【０００８】
そのような場合、例えば、テーブルが一回転するためのモータの回転数が２３０回転である例を考えると（多回転カウンタの最大カウント数は１４４００とする）、テーブルが停止したときの多回転カウンタのカウント数が１００００であれば、
１００００＝２３０×４３＋１１０
であるから、このとき余りのカウント数１１０はテーブルの位置に対応している。つまり、多回転カウンタのカウント数が最大カウント数をクロスして０に戻るまでは、多回転カウンタのカウント数を２３０で割った余りのカウント値とそのときのシングルカウンタのカウント値を用いて、テーブルの絶対位置を検出することができる。
【０００９】
【発明が解決しようとする課題】
しかしながら、テーブルがさらに回って、多回転カウンタの最大カウント数−１をクロスして０に戻った後は、状況が異なってテーブルの絶対位置が判らなくなってくる。
【００１０】
上記の例の場合、テーブルが６２周目を回った時点での多回転カウンタのカウント数は１４２６０カウントであるから、さらにモータが回って１４０回カウントしたところで最大カウント数−１の１４３９９に達してから０に戻って、再び、１、２、…、とカウントしていく。ところが、多回転カウンタが計数値が０をクロスした時点では、多回転カウンタのカウント値を２３０で割った余りである１４０であるべきところ、これが０になってしまうため、その後の多回転カウンタと実際の位置に１４０カウント分ずれが生じてくることになる。そして、次に多回転数カウンタが０をクロスすると、さらに１４０カウント分ずれが加算されるというように、以後、そのまま、ロータリテーブルを一方向に回しつづけると、テーブルの現在のアブソリュート位置とＮＣ装置の認識している位置とが全く合わなくなってくる。
【００１１】
そこで、本発明の目的は、前記従来技術の有する問題点を解消し、モータの累積回転数が多回転カウンタの最大カウント数を越えても、正確ににアブソリュート位置を検出することができるようにしたアブソリュート位置検出装置を提供することにある。
【００１２】
【課題を解決するための手段】
前記の目的を達成するために、本発明は、移動体を駆動するモータの回転軸に連結され前記回転軸の回転角に応じたパルスを出力するパルス発生器と、前記モータの回転軸が一回転する間の前記パルス発生器の出力パルス数をカウントする第１のカウンタ手段と、前記パルス発生器の出力パルスに基づいて前記モータの回転軸の回転数を累積的に前記最大カウント数−１までカウントする第２のカウント手段を有するロータリー形のアブソリュート位置検出装置であって、前記第２のカウント手段の最大カウント数を前記移動体の１回転あたりのモータ回転数で除した余り（Ｍ）を算出し、前記第２のカウント手段のカウント数が最大カウント数−１から０に戻る毎に補正用カウント値の初期値に余り（Ｍ）を増減して補正用カウント値を更新する手段と、前記第２のカウント手段のカウント数が最大カウント数−１から０に戻ったときに前記補正用カウント値を前記カウント数の初期値とする補正手段と、前記第１のカウンタ手段のカウント数と、第２のカウント手段の補正後のカウント数とから移動体の回転位置のアブソリュート座標を演算する演算手段と、を具備したことを特徴とするものである。
【００１３】
【発明の実施の形態】
以下、本発明によるアブソリュート位置検出装置の一実施形態について、添付の図面を参照しながら説明する。
【００１４】
図１は、本発明によるアブソリュート位置検出装置が適用されるロータリーテーブルを示す。このロータリテーブル１０は、テーブルベース１１とテーブル１２を含む。ベッド１３の上面には、テーブルベース１１の直線運動を案内するガイドレール１４ａ、１４ｂが敷設されている。
【００１５】
参照符号１５は、テーブル１２を回転を駆動するサーボモータを示している。このサーボモータ１５は、ウォーム１６を回転させ、このウォーム１６に噛み合っているリングギア１７を介してテーブル１２に駆動トルクを伝達する。テーブル１２は、正逆両方向のいずれの方向へも連続して回転でき、また、途中で回転方向を変えられるようになっている。
【００１６】
次に、図２は、本実施形態によるアブソリュート位置検出装置の構成ブロック図である。
参照符号１８は、位置検出器として用いるアブソリュートエンコーダである。アブソリュートエンコーダ１８は、パルス発生器１９と、シングルカウンタ２０と多回転カウンタ２１とからなるカウンタ回路を備えている。
【００１７】
パルス発生器１９はサーボモータ１５の回転軸と直結しており、例えば、回転軸が１０００分の１°回転するごとにパルスを発生し、また、回転軸が１回転する毎にパルスを発生する。前者のパルスは、シングルカウンタ２０に導入されてカウントされる。後者のパルスは多回転カウンタ２１に導入されてカウントされる。多回転カウンタ２１は、回転軸１回転毎に発生するパルスをカウントして回転軸の回転数を累積的に前記最大のカウント数−１、例えば、０から１４３９９までカウントすることができるようになっている。
【００１８】
シングルカウンタ２０、多回転カウンタ２１はＮＣ装置２２に接続され、計数データはＮＣ装置２２の演算装置２３に導入され、この演算装置２３は、後述する図４のフローチャートに従ってテーブル１２のアブソリュート座標を演算する。ＮＣ装置２２は、通常の処理の間にデータの読み書きを行う記憶装置２４の他に、電源が０ｆｆになってもデータを保持するバックアップメモリ２５を有している。２６は、演算したアブソリュート座標等をリアルタイムで表示する表示装置である。
【００１９】
次に、図３並びに図４のフローチャートを参照しながら、テーブル１２のアブソリュート座標を演算する処理の内容について説明する。
【００２０】
まず、図３は、ロータリーテーブル１０の稼働を始める前に、原点を確立するために行う位置合わせの際に併せて実施する初期設定の処理内容を示すフローチャートである。
【００２１】
この実施形態のロータリーテーブル１０の場合、テーブル１２を一周回すのに必要なサーボモータ１５の回転数をＳとし、多回転カウンタ２１のカウント数の最大値をＲｍａｘとする。このカウント数の最大値Ｒｍａｘは、回転数Ｓで割り切れない値であるものとする。このような場合、従来技術の欄で述べたように、そのままでは多回転カウンタ２１が最大値をカウントした後０に戻ることを繰り返すたびに、カウント値にずれが生じて実際のテーブルの位置がわからなくなる。そこで、補正用のカウント値として新たにＭｕｌｔｉｏｆｆという変数が設定される。
【００２２】
まず、最初のステップＳ１０では、多回転カウンタ２１の最大カウント数Ｒｍａｘを回転数Ｓで割り、その余りＭを求める。この余りＭの値は、ＮＣ装置２２の電源を落としても消えないように、バックアップメモリ２５に記憶される（ステップＳ１１）。次に、Ｍｕｌｔｉｏｆｆの初期値は０とする（ステップＳ１２）。このＭｕｌｔｉｏｆｆのデータもバックアップメモリ２５に記憶される（ステップＳ１３）。
【００２３】
次に、図４は、すでにテーブル１２の位置合わせと図３の初期化処理が終了したロータリーテーブル１０において回転するテーブルのアブソリュート座標を算出する処理の流れを示すフローチャートである。
まず、サーボモータ１５が起動されると（ステップＳ２０）、バックアップメモリ２５からＭｕｌｔｉｏｆｆ、ＯｌｄＲｃｔが読み込まれる（ステップＳ２１）。このＭｕｌｔｉｏｆｆの値は、最初は初期値０である。ここで、ＯｌｄＲｃｔは、テーブル１２が前回停止したときの多回転カウンタ２１のカウント数である。以後、テーブル１２が回る間、シングルカウンタ２０は、サーボモータ１５の回転軸の回転角に比例するパルスの数をカウントし、そのカウント数信号をＮＣ装置２２に出力し、演算装置２３は、シングルカウンタ２０のカウント数を検知することができる（ステップＳ２２）。ここで、シングルカウンタ２０の現在のカウント数をＣｔとする。同様にして、多回転カウンタ２１は、サーボモータ１５の回転数が一回転する毎に発生するパルスをカウントし、そのカウント数信号をＮＣ装置２２に出力し、演算装置２３は、多回転カウンタ２１のカウント数を検知することができる（ステップＳ２３）。ここで、多回転カウンタ２１の現在のカウント数をＲｃｔとする。
【００２４】
次いで、ステップＳ２４では、Ｒｃｔ−ＯｌｄＲｃｔをレジスタＡにセットする。そして、どんなに高速にサーボモータ１５が回転しても、短時間で多回転カウンタ２１のカウント数の変化は、最大カウント数Ｒｍａｘの１／４を越えないものと仮定して、Ａの絶対値とＲｍａｘ−Ｒｍａｘ／４とを比較する（ステップＳ２５）。Ａの絶対値の方が大きい場合は、多回転カウンタ２１のカウント数が０をクロスしたと判断して、補正用カウント値Ｍｕｌｔｉｏｆｆを更新するステップＳ３１、Ｓ３２の処理に進む。現時点では、カウント数の変化、つまりレジスタＡの値は小さいので、ステップＳ２６に進む。
【００２５】
このステップＳ２６では、Ｍｕｌｔｉｏｆｆが０であるから、レジスタＢにはカウント数Ｒｃｔがセットされる。そして、ステップＳ２７では、次の計算式によりテーブル１２のアブソリュート座標を求めている。
【００２６】
アブソリュート座標＝｛（Ｂ＊Ｃ＋Ｃｔ）＊θ＋α｝÷３６０の余り    …（１）
ここで、
Ｃ；回転軸１回転あたりのシングルカウンタのカウント数
θ；シングルカウンタ２０の１カウント当たりの移動量［°］
α；位置設定時のオフセット量［°］
続くステップＳ２８では、ＯｌｄＲｃｔの値として現在のカウント数Ｒｃｔをセットし、テーブル１２が停止しない間は、ステップＳ２９の判定からステップＳ２２に戻り、上述の処理が繰り返されてテーブル１２のアブソリュート位置が検出される。
ここで、図５は、テーブル１２が回転する間の多回転カウンタ２１によるカウント数Ｒｃｔの変化を模式的に示す図である。この横軸はテーブル１２の回転数の累積を示し、縦軸がカウント数Ｒｃｔである。この図５において、実線がカウント数の補正を行った場合を示し、２点鎖線がカウント数の補正を行っていない場合を示している。補正をしない場合には、多回転カウンタ２１のカウント数Ｒｃｔが０をクロスするたびに、カウント値は、余りＭだけ累積的にずれてくることになる。
【００２７】
これに対して、本実施形態では、カウント値のずれを防止するために、次のように補正を行うようにしている。
テーブル１２がｎ１  ＋１回目まで回るまでは、多回転カウンタ２１は最大カウント数Ｒｍａｘ−１に達して０に戻ることはないため、上述のステップＳ２２からステップＳ２９を繰り返すことで、テーブル１２のアブソリュート座標を問題なく求めることができる。
【００２８】
ところが、テーブル１２がｎ１  回だけ回ってさらにもう１回転する途中で、多回転カウンタ２１のカウント数ＲｃｔがＲｍａｘ−１に到達すると次は０に戻るので、このときにはＲｍａｘ−前回のカウント数ＯｌｄＲｃｔの差の絶対値は、Ｒｍａｘ−Ｒｍａｘ／４より大きくなるので、カウント数Ｒｃｔが０をクロスしたことを判別できる（ステップＳ２５のｙｅｓの場合）。そして、次のように補正用カウント値Ｍｕｌｔｉｏｆｆを用いて、カウント数の補正を行う。
【００２９】
すなわち、カウント数Ｒｃｔが増加する方向か否かがレジスタＡの正負により判別され（ステップＳ３１）、増加する場合は、それまで初期値０であった補正用カウント値Ｍｕｌｔｉｏｆｆの値に、多回転カウンタ２１の最大カウント数Ｒｍａｘを回転数Ｓで割った余りＭをセットする（ステップＳ３２）。
【００３０】
次いで、レジスタＢの値を多回転カウンタ２１のカウント数Ｒｃｔに補正用カウント値Ｍｕｌｔｉｏｆｆを加えた値とする（ステップＳ２６）。これにより、レジスタＢは０をクロスするたびに、Ｍ、２Ｍ、３ＭとＭずつ増加していく。このようにして、０をクロスした直後から実際のテーブル１２の位置を反映したカウント値に補正されることになるので、ステップＳ２７で（１）式を計算してテーブル１２のアブソリュート座標を誤差なく算出することができる。
【００３１】
同様にして、図５に示すように、テーブル１２がさらに回って、ｎ２回目まで回って多回転カウンタ２１のカウント値が０をクロスするときには、補正用カウント値Ｍｕｌｔｉｏｆｆの値は、さらにＭが加算されて２Ｍに更新され、カウントは２Ｍから始まるように補正されるので、カウント数の誤差は発生しない。
【００３２】
他方、テーブル１２が逆転する場合は、ステップＳ３１でカウント数Ｒｃｔが減少する方向である。この場合、多回転カウンタ２１のカウントが減少しながら０をクロス時には、ステップＳ３３において、Ｍｕｌｔｉｏｆｆの値からＭを減算した値に更新されるため、見かけ上のカウント数に誤差は生じないようになっている。
【００３３】
なお、テーブル１２が停止した時には、ステップＳ２８において、補正用カウント値ＭｕｌｔｉｏｆｆやＯｌｄＲｃｔのデータはバックアップメモリ２５に保存されるので、たとえ電源が落ちても失われることがなく、次回にサーボモータ１５を起動したときに、前回保存したＭｕｌｔｉｏｆｆ、ＯｌｄＲｃｔのデータが読みまれることになる。このようにして、多回転カウンタ２１の最大カウント数Ｒｍａｘがテーブル１２を一周するのに必要なサーボモータの回転数Ｓで割り切れない場合であったとしても、テーブル１２が何回回転しても、また正逆両方向に回ろうとも、正確にアブリュート座標を正確に算出することができる。
【００３４】
また、電源が落ちている間に、テーブル１２が前回停止した位置から手動等により少し回っていたとしても、前回のＯｌｄＲｃｔのデータはバックアップされており、多回転カウンタ２１のカウント値が０をクロスするかどうかをステップ２５のように、カウント数の変化とＲｍａｘ−Ｒｍａｘ／４を比較して判別しているので、電源オフ中の動きに影響を受けずに正しくアブソリュート座標を算出することができる。
【００３５】
以上、本発明について、ロータリテーブルに適用した実施形態を挙げて説明したが、本発明はこれに限るものではなく、多回転カウントに上限値を設定して０にクロスするようにした移動距離の大きい直線軸に対しても同じように適用することができる。
【００３６】
【発明の効果】
以上の説明から明らかなように、本発明によれば、多回転カウンタの最大カウント数が回転する移動体が一周するのに必要なモータの回転数で割り切れない場合であったとしても、テーブル１２が何回回転しようとも、正確にアブリュート座標を算出することができる。
【図面の簡単な説明】
【図１】本発明によるアブソリュート位置検出装置が適用されるロータリーテーブルを示す斜視図。
【図２】本発明の一実施形態によるアブソリュート位置検出装置のブロック構成図。
【図３】原点を確立するために行う位置合わせの際に併せて実施する初期設定の処理内容を示すフローチャート。
【図４】本発明の一実施形態によるアブソリュート座標を算出する処理の流れを示すフローチャート。
【図５】多回転カウンタ２１によるカウント数Ｒｃｔの変化を模式的に示す図。
【符号の説明】
１０  ロータリーテーブル
１１  テーブルベース
１２  テーブル
１３  ベッド
１５  サーボモータ
１６  ウォーム
１７  リングギア
１８  アブソリュートエンコーダ
２２  ＮＣ装置
【図１】
2004279188.tif 000003
【図２】
2004279188.tif 000004
【図３】
2004279188.tif 000005
【図４】
2004279188.tif 000006
【図５】
2004279188.tif 000007