(57)【特許請求の範囲】
【請求項１】
Ｎパルス／回転の割合で発生するＮパルス発生器、Ｍパルス／回転の割合で発生するＭパルス発生器（Ｎ≠Ｍ）及び１パルス／回転の割合で発生する原点パルス発生器の３種類のパルス列を出力する回転位置発生器と、前記Ｎパルス発生器及びＭパルス発生器から出力されるパルス列を切替えるパルス列切替部と、該パルス列切替部からのパルス数をカウントするパルスカウンタと、前記原点パルス発生器の出力である原点パルスを検出する原点パルスラッチ判断部と、前記パルスカウンタの出力により回転角度を演算する角度演算部を具有する回転角度算出装置において、前記パルス列切替部により前記Ｎパルス発生器と前記Ｍパルス発生器が切替えられた時、前記角度演算部では、切替後のパルス発生器に応じた回転角度演算に切り替え、さらに前記原点パルスラッチ判断部による切替後の最初の原点パルスの取込みに同期して、それまでの回転角度値を予め設けた設定値に置換えることを特徴とするエンコーダパルス切替における回転角度算出装置。
【請求項２】
角度演算部は、Ｎパルス発生器及びＭパルス発生器における原点パルス幅に相当の角度値を不揮発メモリに格納しておき、回転方向に応じて設定値を原点パルスの幅分だけ補正することを特徴とする請求項１記載のエンコーダパルス切替における回転角度算出装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、エンコーダによって回転角度を検出する角度算出装置に関するもので、特に２種類以上の異なる出力パルスをもつエンコーダを使用し、それぞれの出力パルスを切り替えて角度を算出する装置に関する。
【０００２】
【従来の技術】
従来、２種類の異なる出力パルスのあるエンコーダを切り替えて回転角度を算出する方法としては、出力パルス切り替え後、回転角度の初期位置を求めるために、原点パルスを取込むための原点復帰動作するというものがあった。Ｎパルス発生器（例えば４０９６パルス／回転）による回転角度算出は、エンコーダ出力１パルスにつき３６０／４０９６（゜）の角度として算出する。また、Ｍパルス発生器（例えば９００００パルス／回転）による回転角度算出は、エンコーダ出力１パルスにつき３６０／９００００（゜）の角度として算出する。切り替え後は、原点パルスによる原点復帰動作を行い、原点パルス取込みに同期して角度算出の初期値をセットし、以後のパルス数カウントによる角度算出を行う。
【０００３】
また、図７は従来の回転角度算出装置のブロック図であるが、同図に示すように、パルス列切替部がなく、各々の出力パルスにそれぞれパルスカウンタ２５、２６を取り付け、さらに、２つの角度演算部２７、２８によって常に２つの角度算出を行う方法がある。
【０００４】
【発明が解決しようとする課題】
ところが、前者の方法では、出力パルス切替後は、回転角度の初期値を求めるための原点復帰動作が必要となり、連続した作業が出来ないという問題があった。例えば、工作機械（旋盤）の主軸における原点復帰動作は、切削作業のできない無駄時間として、作業効率を低下させる。また、後者の方法では、パルスカウンタが２つになるため価格が上昇し、また、常に２つの角度算出を行わねばならぬため、演算時間が増加するという問題があった。
そこで、本発明は、従来技術の欠点を解決するために、出力パルス切替が行われても原点復帰動作せず、しかもパルスカウンタを増やすことなしに、連続した角度算出が行える角度算出装置を提供することを目的とする。
【０００５】
【課題を解決するための手段】
前記問題点を解決するために、本発明は、Ｎパルス／回転の割合で発生するＮパルス発生器、Ｍパルス／回転の割合で発生するＭパルス発生器（Ｎ≠Ｍ）及び１パルス／回転の割合で発生する原点パルス発生器の３種類のパルス列を出力する回転位置発生器と、前記Ｎパルス発生器及びＭパルス発生器から出力されるパルス列を切替えるパルス列切替部と、該パルス列切替部からのパルス数をカウントするパルスカウンタと、前記原点パルス発生器の出力である原点パルスを検出する原点パルスラッチ判断部と、前記パルスカウンタの出力により回転角度を演算する角度演算部を具有する回転角度算出装置において、前記パルス列切替部により前記Ｎパルス発生器と前記Ｍパルス発生器が切替えられた時、前記角度演算部では、切替後のパルス発生器に応じた回転角度演算に切り替え、さらに前記原点パルスラッチ判断部による切替後の最初の原点パルスの取込みに同期して、それまでの回転角度値を予め設けた設定値に置換えるエンコーダパルス切替における回転角度算出装置であることを特徴とする。
【０００６】
さらに、前記Ｎパルス発生器及び前記Ｍパルス発生器における前記原点パルス幅に相当の角度値を不揮発メモリに格納しておき、回転方向に応じて設定値を前記原点パルスの幅分だけ補正することを特徴とする。
【０００７】
【発明の実施の形態】
以下、本発明の実施例を図に基づいて説明する。
図１は本発明の回転角度算出装置のブロック図である。同図において、１は、１パルス／回転の割合で発生する原点パルス発生器１１、４０９６パルス発生器１２及び９００００パルス発生器１３からなる回転位置発生器（エンコーダ）である。４０９６パルス発生器１２と９００００パルス発生器１３の出力はパルス列切替部３を経由してパルスカウンタ４に接続されている。パルス列切替信号６により、パルス列切替部３は４０９６パルス発生器１２と９００００パルス発生器１３のどちらかの出力をパルスカウンタ４に接続する。また、パルス列切替信号６は、角度演算部５に接続され、出力パルス列が４０９６パルス発生器１２と９００００パルス発生器１３のどちらのものであるかの情報を伝える。２は原点パルスラッチ判断部で、原点パルス発生器１１から出力される原点パルスを検出し、原点パルスを検出したことを角度算出演算部５に知らせる。
【０００８】
まず、４０９６パルス発生器１２が選択されている場合の角度算出を説明する。パルス列切替信号６は４０９６パルス発生器１２への接続指令を出力する。これを受けてパルス列切替部３は４０９６パルス発生器１２とパルスカウンタ４を接続し、角度演算部５では、時間当りのパルス変化量を３６０゜／４０９６パルスとして計算し回転角度の算出を行う。この場合、
回転角度＝３６０゜／４０９６パルス                            （１）
となる。
また、９００００パルス発生器１３に切替えた場合の角度算出を説明する。パルス列切替信号６は９００００パルス発生器１３への接続指令を出力する。これを受けてパルス列切替部３は９００００パルス発生器１３とパルスカウンタ４を接続し、角度演算部５では、時間当りのパルス変化量を３６０゜／９００００パルスとして計算し回転角度の算出を行う。この場合、
回転角度＝３６０゜／９００００パルス                          （２）
となる。
【０００９】
次に、角度演算部５での算出を詳しく述べる。角度演算部５は、マイクロプロセッサ（ＭＰＵ）を用いて構成され、１回転３６０゜をＭＰＵ内部ではディジタル量に置き換える（例えば３２ビット＝４２９４９６７２９６を３６０゜とする）。
４０９６パルス発生器１２が選択された場合の計算式は次のようになる。
0003849729.tif 000002
時間当たりの変化量が一定の場合（一定速度でエンコーダが回転している状態）では、ＭＰＵ内部角度は、図２のようになる。時間当りの変化量が一定なので傾きは一定となり（単調増加）、３２ビットで１回転して０にもどる。
【００１０】
９００００パルス発生器１３が選択された場合の計算式も同様に、次のようになる。
0003849729.tif 000003
切替後、前回ＭＰＵ内部角度を初期値とすることで、原点復帰することなく連続して角度算出をすることができる。
切替時のパルスカウンタ４の入力パルスについて述べる。
４０９６パルス発生器１２と９００００パルス発生器１３の出力が図３のようになっているとする。なお、図３に示す９００００パルスについては分かり易くするため、その時間軸を４０９６パルスに比べて拡大して図示している。
【００１１】
両パルス発生器１２、１３間の切替点（ａ）、（ｂ）、（ｃ）点ような、切替点の前後でパルスのハイレベル、ローレベルの状態が違うところでは誤パルスが発生し、パルスカウンタはパルスが変化したものとしてパルスの１カウント分の誤検出を招き、角度演算に誤差を生じる。すなわち、パルス発生器１２からパルス発生器１３へと、点（ａ）にて切替が起こった場合のパルスカウンタへの入力波形は、図４のようになる。
この誤差の補正方法について述ベる。
切替後に最初に原点パルスを検出した時のエンコーダ回転角度について、予め一定の設定値を用意して不揮発メモリ等に格納しておく。
この設定値としては、例えば、エンコーダがサーボモータ等の有磁電動機のシャフトに取り付けられている場合を説明する。エンコーダの原点パルスとサーボモータの磁気位置が一致するように取り付けると、設定値は０となる。また、サーボモータを工作機械の主軸モータなどに用いられるビルトイン構造とした場合、エンコーダの原点パルスとサーボモータの磁気位置を正確に位置決めして取り付けることが難しい。これは、ビルトイン構造の場合、サーボモータとエンコーダを工作機械に組み込む時、焼ばめなどの工程を必要とするためである。この場合は、組み込み後、エンコーダの原点パルスとサーボモータの磁気位置のずれを測定し、その値を設定値として設定する。
【００１２】
そして、切替後に最初の原点パルスの検出に同期して、それまでのＭＰＵ内部角度に代えて不揮発メモリに格納してある設定値を用いて置換える。
補正方法を図面に基づいて具体的に説明する。図５は回転角度の補正方法を説明するための図である。同図において、４０９６パルス発生器１２から９００００パルス発生器１３への切替がＡ点で起こり、切替時に角度誤差が生じた場合を点線より落込んだ実線で表わしている。切替後は落込んだ実線に沿ってパルスカウント値が増加するものの、そのカウント値は誤差を含んだままである。そこで、切替後に最初に原点パルスを検出した時点Ｂで、それまでのパルスカウント値に代えて予め用意した設定値で置換えることにより落込む前の元の実線上に戻ることができるので、角度誤差が補正されたことになる。
【００１３】
次に、第２の実施例について説明する。
原点パルス検出は、図６に示すように、時計回りか反時計回りのいづれの回転方向かにより、回転角度が原点の幅分だけ異なる。そこで、角度演算部では、予め原点パルス幅の角度分を不揮発メモリ等に格納しておく。原点パルス検出時は、回転方向により、そのまま設定値を使用する場合と、さらに設定値に原点パルスの幅分を補正する場合とに分けて実施をすることによって、より精密に角度誤差を補正することができる。
【００１４】
【発明の効果】
以上述べたように、本発明によれば、２種類以上の出力パルスをもつエンコーダにおける回転角度算出装置において、１つのパルスカウンタを用い、出力パルス切替が行われても、その後の最初の原点パルス検出に同期してカウント誤差を補正するので、原点復帰動作なしに連続した角度算出を行うことができる。
また、工作機械の主軸に用いられるビルトイン構造の場合、エンコーダの原点パルスとサーボモータの磁極位置を正確に位置決めして取り付けることが難しいが、この場合、エンコーダの原点パルスとサーボモータの磁極位置のずれを設定値とすることで、組み立て作業を平易にすることができる。さらに、回転方向によって原点パルス幅の角度分をも補正することができる。
【図面の簡単な説明】
【図１】本発明の回転角度算出装置のブロック図
【図２】ＭＰＵ内部で算出される回転角度を表す図
【図３】４０９６パルス発生器と９００００パルス発生器の出力パルスの図
【図４】切替が起こった場合のパルスカウンタへの入力波形図
【図５】回転角度の補正方法を表す図
【図６】原点パルスラッチ時の回転方向と設定位置を表す図
【図７】従来の回転角度算出装置のブロック図
【符号の説明】
１    回転位置発生器
１１  原点パルス発生器
１２  ４０９６パルス発生器
１３  ９００００パルス発生器
２    原点パルスラッチ判断部
３    パルス列切替部
４    パルスカウンタ
５    角度演算部
６    パルス列切替信号
２０    回転位置発生器
２１    原点パルス発生器
２２    ４０９６パルス発生器
２３    ９００００パルス発生器
２４    原点パルスラッチ判断部
２５    第１パルスカウンタ
２６    第２パルスカウンタ
２７    第１角度演算部
２８    第２角度演算部
２９    パルス列切替信号
【図１】
0003849729.tif 000004
【図２】
0003849729.tif 000005
【図３】
0003849729.tif 000006
【図４】
0003849729.tif 000007
【図５】
0003849729.tif 000008
【図６】
0003849729.tif 000009
【図７】
0003849729.tif 000010