(57)【要約】【課題】多種のロータ径対応が容易であり、ロータ径に関係なく同一のセンサと信号処理回路で構成できるアブソリュートエンコーダを提供することにある。【解決手段】読み出し専用メモリ（ＲＯＭ）１３，１４，１５には、それぞれ異なる循環周期を有する循環コードにより作成された、循環コード中の連続する５ビットの数列と回転位置の対応表が記憶されている。ロータの外周には、所定の周期の循環コードに対応した凹凸が形成されており、５個のセンサ要素４−８により検出された５ビットの信号が、各ＲＯＭに基づき回転位置に変換される。一方、外部より、検出対象となるロータの種類を特定する信号ＲＸに基づきセレクタ１７は、その特定されたロータの循環周期に対応するＲＯＭからのデータのみを送信側に出力する。【選択図】図４
2005061907.tif 000002
【特許請求の範囲】
【請求項１】
対象物の回転位置の検出を行うアブソリュートエンコーダであって、
循環する所定の２値乱数列からなる循環コードであって、連続するＮビット（Ｎは整数）の２値の配列が全て異なる循環コードに対応した乱数列パターンが付与された符号板と、
前記符号板に付与された乱数列パターンに対向して配置され、当該乱数列パターンの配列方向に相対移動可能であり、連続するＮビットのビットごとの値を検出するセンサと、
前記センサの検出値に基づき符号板とセンサの相対位置を算出する演算部と、
を有するアブソリュートエンコーダであって、
前記演算部は、用いられている符号板の種類を示す循環コードの循環周期に対応して、前記相対位置を算出し、さらに前記相対位置より対象物の回転位置の算出を行う、
アブソリュートエンコーダ。
【請求項２】
対象物の回転位置の検出を行うアブソリュートエンコーダであって、
循環する所定の２値乱数列からなる循環コードであって、連続するＮビット（Ｎは整数）の２値の配列が全て異なる循環コードに対応した乱数列パターンが付与された符号板と、
前記符号板に付与された乱数列パターンに対向して配置され、当該乱数列パターンの配列方向に相対移動可能であり、連続するＮビットのビットごとの値を検出するセンサと、
前記センサの検出値に基づき符号板とセンサ群の相対位置を算出する演算部と、
を有するアブソリュートエンコーダであって、
前記符号板は複数用意され、互いに異なる循環周期の循環コードを、共通のビット間隔で配列した２種以上の符号板を含み、この中から選択して使用され、
前記センサは、前記連続するＮビットの各ビットに対応して、前記共通のビット間隔と等間隔の位置におけるビット値を検出するための少なくともＮ個のセンサ要素を含み、
前記演算部は、用いられている符号板の種類を示す循環コードの循環周期に対応して、前記相対位置を算出し、更に前記相対位置より対象物の回転位置の算出を行う、
アブソリュートエンコーダ。
【請求項３】
請求項１または２に記載のアブソリュートエンコーダであって、
前記符号板の循環周期ごとに循環コードを記憶する記憶部を有し、
前記演算部は、外部より、用いられている符号板の循環周期を特定する信号を受信して、これに対応する循環コードに基づき、前記相対位置の算出を行う、
アブソリュートエンコーダ。
【請求項４】
請求項１または２に記載のアブソリュートエンコーダであって、
前記演算部は、循環周期の異なる符号板の循環コードを算出するアルゴリズムと、外部より受信した用いられている符号板の循環周期を特定する信号と、に基づき用いられている符号板の循環コードを算出し、この循環コードに基づき、前記相対位置の算出を行う、
アブソリュートエンコーダ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、回転軸などの回転する対象物の回転絶対位置を検出するアブソリュートエンコーダに関する。
【背景技術】
【０００２】
従来、工作機械の円テーブル等の回転軸では、サーボモータにウォームギア等の減速機を組み合わせた駆動方式が使用されていた。しかし、減速機を用いた駆動方式では、バックラッシによる精度悪化の問題や回転速度向上に限界があった。このため、最近では高精度化高速化が容易な、ビルトインモータを組み込んだダイレクトモータ駆動方式が回転軸に使用されるようになってきた。一般に、回転軸には直接位置検出用として、配管等のための中空穴を有する高精度な中空型のエンコーダが使用されている。また、減速機を用いた駆動方式の回転軸では、サーボモータ側に多回転のアブソリュート位置検出ができるアブソリュートエンコーダが使用されている。これにより、回転軸には高精度な直接位置検出用として、インクリメンタル方式のエンコーダ使用されていた。しかし、ダイレクトモータ駆動方式の回転軸の直接位置検出にインクリメンタル方式のエンコーダを使用した場合、回転軸のアブソリュート位置の検出ができないという問題があった。また、ビルトインモータの制御に必要な磁極位置検出もできないという問題もあった。このため、ダイレクトモータ駆動方式の回転軸では、中空型のアブソリュートエンコーダが使用されている。工作機械の回転軸等の中空穴を必要とする機構では、機械サイズによって中空穴径と外径が連動して変化するのが一般的である。このため、ダイレクトモータ駆動方式の回転軸をいろいろな機械に適用するためには、径の異なる多くの種類の中空型アブソリュートエンコーダが必要である。
【０００３】
従来の中空型アブソリュートエンコーダとしては、ロータ部とステータ部が軸受を介して結合され、さらに外部を防滴用のカバーに囲われた一体構造を成す光学式のエンコーダがよく使用されている。このような光学式のエンコーダのロータ部は、中央部に穴のあいたガラス製円盤が中空軸とが接合され、ガラス製円盤にはエッチング加工によりグレイコード又は循環コードが記録されている。また、ステータ部には、ロータ部に記録されたコードを読み取るための光源と受光センサと信号処理回路が配置されている。このような光学式のエンコーダでは、受光センサによりロータに記録されたコードを読み取り、そのコード内容を信号処理回路で処理することで、中空軸のアブソリュート回転位置を検出している。
【０００４】
従来のアブソリュートエンコーダとしては、前述の光学式エンコーダの他に、下記特許文献１の図１に示すような、ロータ部とステータ部が分離したアブソリュートエンコーダがある。この文献１のエンコーダは、磁性材料から成る円盤を金属加工により切り欠いて循環コードを記録したロータ部と、永久磁石と磁気センサと信号処理回路を備えたステータ部とから構成されている。そして、このエンコーダは、ロータ外周に記録された循環コードを磁気抵抗変化による磁束変化として磁気センサにより検出し、検出した循環コードから信号処理回路によりアブソリュート回転位置を検出している。
【０００５】
循環コードは、例えばいわゆるＭ系列（最大長系列）であり、０と１からなる乱数列の一つである。Ｍ系列の最大長、すなわち周期Ｔは、ビット数をＮとしたとき、
Ｔ＝２N−１  ・・・（１）
で表され、この数列中、Ｎ個の０，１の並び方は、それぞれ１度ずつ現れる。ただし、全て０の場合は、１度も現れない。この性質を利用して、特許文献１に記載のエンコーダは、Ｎ個の０，１の並びを検出するセンサを設け、この並びに基づき回転絶対位置の検出を行っている。
【０００６】
【特許文献１】特開平６−３１７４３４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
従来例の光学式のアブソリュートエンコーダでは、中空穴径と外径の異なるエンコーダを準備するためには、莫大なエンコーダの開発コストと設備コストを必要とする上、種類増加による機械保守コストの問題もあった。また、特許文献１のエンコーダでは、径の異なるロータ部を、金属加工により作製可能である。しかし、径が異なるロータ部に記録された循環コードは、それぞれ異なり、これに対応してステータ部も別個に作製する必要があった。したがって、ステータ部の種類増加により保守コストが増加するという問題があた。
【０００８】
本発明は、多種のロータ径に単一のセンサで対応可能なアブソリュートエンコーダを提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明のアブソリュートエンコーダは、循環する所定の２値乱数列からなり、連続するＮビット（Ｎは整数）の２値の配列が全て異なる循環コードに対応した乱数列パターンが付与された符号板と、符号板の乱数列パターンの配列方向に相対移動可能で、前記連続するＮビットのビットごとの値を検出するセンサとを、含む。Ｎビットの数列のパターンは循環コードの周期内で、１度しか現れないので、ある数列パターンが検出されれば、そのときの符号板と、センサの相対位置を前記周期内で特定することができる。
【００１０】
符号板を、回転軸などの回転体と同軸に配置され共に回転する円盤の外周部とし、センサを、その円盤外周部に対向する位置に固定配置すれば、回転位置を検出するロータリエンコーダとなる。このとき、循環コードの１周期が、円盤外周の１周に対応するように乱数列パターンを形成すれば、回転の絶対位置を検出することができる。また、符号板を固定側とし、センサを回転体に固定するようにしてもよい。
【００１１】
センサを、循環コードの周期が異なる符号板に対して共通の構成とするために、符号板の乱数列パターンのビット間隔を周期の異なる符号板間で共通化することができる。例えば、前記のように符号板を円盤外周部に設ける場合、異なる周期の循環コードのパターンを形成することによって、共通のセンサで対応可能な、異なる径の符号板を形成することができる。
【００１２】
周期の異なる複数の循環コードに対応するためにセンサは、循環周期ごとの循環コードを記憶する記憶部を有することができ、用いられる符号板の循環周期を特定する外部からの信号に基づき循環コードを特定し、この循環コードに基づいて、符号板とセンサの相対位置が算出される。
【００１３】
また、センサは、周期の異なる複数の循環コードに対応するために、符号板の循環コードを算出するアルゴリズムと、使用される符号板の循環周期を特定する外部からの信号とから循環コードを算出するようにでき、このコードに基づき相対位置が算出される。
【発明を実施するための最良の形態】
【００１４】
以下、図面に従って本発明の実施の形態を説明する。図１，図２，図３は、本実施形態のアブソリュートエンコーダを示す図である。図４は、図１，図２，図３のセンサ３が内蔵する信号処理回路の一例を示すブロック図である。図１，図２，図３のセンサ３は、まったく同じものであり、それぞれ対向するロータ２，１２，２２の外周部に設けられた符号板に対して一定のギャップをあけてほぼ等間隔に配置した５個のセンサ要素４，５，６，７，８を備えている。個々のセンサ要素４−８は、磁気センサにより構成される。また、センサ３は図示はしていないが、ロータ中心方向へ磁束を発する永久磁石を内蔵している。
【００１５】
ロータ２，１２，２２は、円盤形状であって、それぞれ中空軸１，１１，２１に固定される。そして、その外周部には、所定の循環コードに対応した乱数列パターンが付与されている。乱数列パターンは、ロータ２，１２，２２の外周部の凹凸として表され、凸部のビットが「１」に、凹部のビットが「０」に対応する。このビットの周上の間隔は、各ロータ２，１２，２２にほぼ共通であり、またこのビット間隔は、前記センサ要素４−８の間隔に対応している。この乱数列パターンが、符号板として機能する。
【００１６】
この乱数列パターン、すなわち循環コードは、５ビットのＭ系列を元に作成される。５ビットのＭ系列は、
「００００１０１０１１１０１１０００１１１１１００１１０１００１」  ・・・（２）
であり、この系列において、連続する５ビットの並び（数列）は、この系列中１回しか出現しない。したがって、この系列を表す、凹凸をロータ外部に形成し、連続する５個のビットの凹凸を検出すれば、その５ビットの凹凸の並びによりロータのどの位置を検出しているのかを特定することができる。５ビットのパターンは３１（＝２5−１）パターンあるので、上記Ｎ系列をそのまま乱数列パターンとして付与すれば、１周を３１分割した分解能を得ることができる。
【００１７】
各図のロータに形成された循環コードの循環周期は、Ｍ系列の３１ビットより少なく、ロータ２では３０、ロータ１２では２５，ロータ２２は２０となっている。これらの循環コードは、図５，図６，図７に示すように、前記Ｍ系列から所定のビットが間引かれて形成される。図５には、周期３０ビットの循環コードが示されている。Ｍ系列より作成された５ビットの数列のうち「１１１１１」を飛ばす、すなわち式（２）のＭ系列の２２ビット目の「１」を間引いた循環コード
「００００１０１０１１１０１１０００１１１１−００１１０１００１」
を作成する。また、周期２５ビットの循環コードを作成するためには、図６に示すように「１００１１」から「０１００１」までの６個の数列を飛ばす。すなわち、Ｍ系列の２６番目から３１番目のビットを間引いて循環コード
「００００１０１０１１１０１１０００１１１１１００１−−−−−−」
を得る。さらに、周期２０ビットの循環コードを作成するためには、図７に示すように「１１１０１」から「１１１１０」までの１１個の数列を飛ばす。すなわち、Ｍ系列の１３番目から２４番目のビットを間引いて循環コード
「００００１０１０１１１０−−−−−−−−−−−０１１０１００１」
を得る。なお、上記の各循環コードにおいて「−」は間引かれたビットの位置を示している。
【００１８】
このように、Ｍ系列から、ある特定の区間の数列を間引いて作成することにより、所望の周期の循環コードを得ることができる。このような循環コードまたは数列と回転位置の関連を示す表を作成するアルゴリズムを、図８および図９を用いて説明する。
【００１９】
図８は、図５−７の右側に示すような５ビットの数列と回転位置を対応づける表を作成するためのアルゴリズムである。図９は、前記のアルゴリズムに用いられる数値を示したものである。
【００２０】
図８のアルゴリズムにおいて、まず得たい循環コードの周期を変数Ｔに代入する（ＳＴＥＰ１）。この変数Ｔに対応する初期値を図９の表から読み出し、変数Ｍ（０）に設定する（ＳＴＥＰ２）。また、変数Ｔに対応するビット反転箇所の数列を図９の表から読み出し、変数ＲＶに設定する（ＳＴＥＰ３）。５ビットの数列の順番を示す変数Ｎを０に、回転位置に相当する変数θを０に設定し（ＳＴＥＰ４）、アドレスＭ（Ｎ）に変数θを書き込む（ＳＴＥＰ５）。次に、変数Ｎを１だけ増加させ（ＳＴＥＰ６）、この時、循環コードの順番を示す変数Ｎが、循環周期を示す変数Ｔと同じであれば処理を終了し、違う場合はＳＴＥＰ８へ進む（ＳＴＥＰ７）。ＳＴＥＰ８では、順番Ｎに相当するアブソリュート位置を求める演算（Ｎ＊３６０／Ｔ）を行い、変数θにその演算結果を設定する（ＳＴＥＰ８）。さらに、Ｍ（Ｎ−１）を左シフトした値の最下位ビットにＭ（Ｎ−１）の４ビット目と１ビット目の排他論理和（ＸＯＲ）を演算した値を加えた値の下位５ビットをＭ（Ｎ）に設定する（ＳＴＥＰ９）。この時、Ｍ（Ｎ）が変数ＲＶの値と等しければＳＴＥＰ１１に進み、等しくなければＳＴＥＰ５から処理を繰り返す（ＳＴＥＰ１０）。Ｍ（Ｎ）が変数ＲＶの値と等し場合は、Ｍ（Ｎ）の最下位ビットを反転させ、ＳＴＥＰ５から処理を繰り返す（ＳＴＥＰ１１）。
【００２１】
図８のＳＴＥＰ９の処理は、循環周期３１の循環コードである５ビットのＭ系列を求める処理である。また、ＳＴＥＰ１１の処理は、所望の循環周期を得るために、前記５ビットＭ系列の特定の箇所を間引くための処理である。ビット反転箇所ＲＶは、間引くビット数に対応して、定められた値であり、変数ＲＶと同じ数列となる１つ手前の数列から、変数ＲＶの数列の最下位ビットを反転した数列へ飛ばし、循環周期３１未満のコードを生成できる。図５−７に示す数列の最上位ビットが、それぞれの循環周期の循環コードとなる。この循環コードに基づく乱数列パターンを円盤外周に付与することにより、図１−３に示すロータ２，１２，２２が得られる。
【００２２】
次に、図１，図２，図３に示されるアブソリュートエンコーダのアブソリュート回転位置の検出動作を図４のブロック図に示す信号処理回路で実現した場合について説明する。図４で受信ＩＦ９は、外部のモータコントローラ等からシリアル通信信号ＲＸにより、３種類あるロータに対応したロータ番号を受信すると、そのロータ番号を信号ＣＮＯにより不揮発性記憶器１６に書き込む。不揮発性記憶器１６は、記録されたロータ番号をセレクタ１７へ信号ＭＮＯとして出力する。セレクタ１７では信号ＭＮＯに従い、ＲＯＭ（リードオンリーメモリ）１３，ＲＯＭ１４，ＲＯＭ１５からの出力データＰ３０，Ｐ２５，Ｐ２０のうちの一つを選択して信号ＰＯとして出力する。ここで、ロータ番号１はロータ２の循環周期３０の循環コードが記録されたロータを示し、セレクタ１７は信号ＭＮＯが１のとき、信号Ｐ３０を選択する。また、ロータ番号２はロータ１２の循環周期２５の循環コードが記録されたロータを示し、セレクタ１７は信号ＭＮＯが２のとき、信号Ｐ２５を選択する。また、ロータ番号３は、ロータ２２の循環周期２０の循環コードが記録されたロータを示し、セレクタ１７は信号ＭＮＯが３のとき、信号Ｐ２０を選択する。
【００２３】
ＲＯＭ１３には、図５の表に示されるロータ２に記録された循環周期３０の循環コード５ビットをアドレスに対応させ、対応するアドレスのデータが回転位置となるように予め記憶されている。ＲＯＭ１４には、図６の表に示されるロータ１２に記録された循環周期２５の循環コード５ビットをアドレスに対応させ、対応するアドレスのデータが回転位置となるように予め記憶されている。ＲＯＭ１５には、図７の表に示されるロータ２２に記録された循環周期２０の循環コード５ビットをアドレスに対応させ、対応するアドレスのデータが回転位置となるように予め記憶されている。
【００２４】
５個のセンサ要素４−８により検出したロータ外周の凹凸状態を示す信号Ｓ０，Ｓ１，Ｓ２，Ｓ３，Ｓ４は、二値化回路１０でセンサ要素が読み取ったロータ外周部の循環コード５ビット分を示すデータＭＣに変換する。データＭＣは、ＲＯＭ１３、ＲＯＭ１４，ＲＯＭ１５のアドレス信号として各ＲＯＭに入力される。
【００２５】
図１のアブソリュートエンコーダの場合は、外部からシリアル通信信号ＲＸを介してロータ番号１を予め入力することにより、セレクタ１７は信号ＭＮＯが１を示すため、信号Ｐ３０を信号ＰＯとして送信ＩＦ１８へ出力する。このとき、信号Ｐ３０はロータ２のアブソリュート位置データを示すデータに変換されており、送信ＩＦ１８は、ロータ２のアブソリュート位置データをシリアル通信信号ＴＸとして外部へ送信する。
【００２６】
また、図２のアブソリュートエンコーダの場合は、外部からシリアル通信信号ＲＸを介してロータ番号２を予め入力することにより、セレクタ１７は信号ＭＮＯが２を示すため、信号Ｐ２５を信号ＰＯとして送信ＩＦ１８へ出力する。このとき、信号Ｐ２５はロータ１２のアブソリュート位置データを示すデータに変換されており、送信ＩＦ１８は、ロータ１２のアブソリュート位置データをシリアル通信信号ＴＸとして外部へ送信する。
【００２７】
また、図３のアブソリュートエンコーダの場合は、外部からシリアル通信信号ＲＸを介してロータ番号３をあらかじめ入力することにより、セレクタ１７は信号ＭＮＯが３を示すため、信号Ｐ２０を信号ＰＯとして送信ＩＦ１８へ出力する。このとき、信号Ｐ２０はロータ２２のアブソリュート位置データを示すデータに変換されており、送信ＩＦ１８は、ロータ２２のアブソリュート位置データをシリアル通信信号ＴＸとして外部へ送信する。
【００２８】
上記により、図４のブロック図の信号処理回路をセンサ３が内蔵することにより、３種類のロータ２，１２，２２に対して、同一のセンサによりアブソリュート位置検出が可能なことが理解できる。なお、図４の信号処理回路の場合、ロータ番号は不揮発性記憶器１６に記憶されているため、外部からのロータ番号入力は、位置検出の開始ごとに行う必要はなく、ロータの種類を変更したときなどに一度行うだけでよい。
【００２９】
なお、この実施形態においては、３種類のロータに対応可能な例を示したが、より多数の種類のロータに対応する数列を、上記と同様に記憶しておくことにより、３種を超えるロータに対応可能なセンサとすることができる。
【００３０】
次に、センサ３の信号処理回路の他の実施形態について説明する。図１０は、センサ３の信号処理回路の他の例を示すブロック図である。読み出し専用メモリ（ＲＯＭ）２４には、図９に示す表に相当する情報が記憶されている。マイクロプロセッサ２０は、外部より受信した、検出対象のロータの循環周期を特定する信号に基づき、図８のアルゴリズムに従って、回転位置と数列の対応表をランダムアクセスメモリ（ＲＡＭ）２３に作成する。
【００３１】
以下、図１０の信号処理回路の動作について、図８を用いて詳細に説明する。受信ＩＦ１９は、外部からのシリアル通信信号ＲＸにより、ロータに対応した循環周期を示す通信フレーム信号を受信すると、通信内容を信号ＣＭとしてマイクロプロセッサ２０へ出力する。マイクロプロセッサ２０は循環周期を変数Ｔに設定する（ＳＴＥＰ１）。マイクロプロセッサ２０は変数Ｔに対応する図９の表に示す初期値をＲＯＭ２４から読みだし、変数Ｍ（０）に設定する（ＳＴＥＰ２）。次に、変数Ｔに対応する図９の表に示すビット反転箇所の数列をＲＯＭ２４から読みだし、変数ＲＶに設定する（ＳＴＥＰ３）。さらに、５ビットの数列の順番を示す変数Ｎを０に、アブソリュート位置に相当する変数θを０に設定する（ＳＴＥＰ４）。ＳＴＥＰ５では、ＲＡＭ２３のアドレスＭ（Ｎ）に変数θを書き込む（ＳＴＥＰ５）。次に、変数Ｎを１だけ増加させる（ＳＴＥＰ５）。この時、５ビットの数列の順番を示す変数Ｎが、循環周期を示す変数Ｔと同じであれば処理を終了し、違う場合はＳＴＥＰ８へ進む（ＳＴＥＰ７）。ＳＴＥＰ８では、順番Ｎに相当するアブソリュート位置を求める演算（Ｎ＊３６０／Ｔ）を行い、変数θにその演算結果を設定する（ＳＴＥＰ８）。さらに、Ｍ（Ｎ−１）を左シフトした値の最下位ビットにＭ（Ｎ−１）の４ビット目と１ビット目の排他論理和（ＸＯＲ）を演算した値を加えた値の下位５ビットをＭ（Ｎ）に設定する（ＳＴＥＰ９）。この時、Ｍ（Ｎ）が変数ＲＶの値と等しければＳＴＥＰ１１に進み、等しくなければＳＴＥＰ５から処理を繰り返す（ＳＴＥＰ１０）。Ｍ（Ｎ）が変数ＲＶの値と等し場合は、Ｍ（Ｎ）の最下位ビットを反転させ、ＳＴＥＰ５から処理を繰り返す（ＳＴＥＰ１１）。
【００３２】
マイクロプロセッサ２０は、二値化回路１０からの磁気センサが読み取ったロータの外周部の連続する５ビットに相当する信号ＭＣをアドレスとするＲＡＭ２３のデータを読みだし、読み出したデータを信号ＰＯとして送信ＩＦ１８へ出力する。送信ＩＦ１８は、信号ＰＯをシリアル通信信号ＴＸとして外部へ送信する。
【００３３】
次に、図１，２，３に示す周期３０，２５，２０のロータの場合を例に挙げて具体的に説明する。図１のアブソリュートエンコーダの場合は、外部から循環周期３０を示す通信フレームを受信し、図８のフローチャートの処理をＴ＝３０として行うことにより、ＲＡＭ２３には図４のＲＯＭ１３の内容と同じデータが設定される。したがって、送信ＩＦ１８からは、ロータ２のアブソリュート位置を示す情報が送信される。また、図２のアブソリュートエンコーダの場合は、外部から循環周期２５を示す通信フレームを受信し、図８のフローチャートの処理をＴ＝２５として行うことにより、ＲＡＭ２３には図４のＲＯＭ１４の内容と同じデータが設定される。したがって、送信ＩＦ１８からは、ロータ１２のアブソリュート位置を示す情報が送信される。また、図３のアブソリュートエンコーダの場合は、外部から循環周期２０を示す通信フレームを受信し、図８のフローチャートの処理をＴ＝２０として行うことにより、ＲＡＭ２３には図４のＲＯＭ１５の内容と同じデータが設定される。したがって、送信ＩＦ１８からは、ロータ２２のアブソリュート位置を示す情報が送信される。以上から図５のブロック図の信号処理回路では、図９の表が示すように循環周期が１６から３１まで１６種類のロータに対応することが可能である。
【００３４】
なお、図５の例では、１６種類のロータに記録される循環コードを循環周期３１の循環コードである５ビットのＭ系列の間引く区間を１カ所とした場合に実現できるコードを例に上げたが、間引く箇所は複数箇所でも良い。この場合、１つの循環周期に対して、ビット反転箇所が複数となる。また、実施形態ではＭ系列の一部を間引いて循環コードを生成する例を示したが、ゴールド系列などの他の循環コードをベースとして多種の循環コードを生成しても良い。また、実施形態では、循環周期を記録したロータのみを使用したがエンコーダを示したが、高分解能なインクリメンタルエンコーダと本発明のエンコーダを組合せてアブソリュートエンコーダとしても良い。この場合、インクリメンタルエンコーダにより検出した位置データからコード特定手段により、位置データに対応する循環コードを求め、求めたコードと循環コードを読み取るセンサにより検出したコードが一致しているか判定することにより、インクリメンタルエンコーダにより検出した位置データの異常検出を行うことも可能である。
【００３５】
また、実施形態においては、連続するＮビットのパターンを読み取るためのセンサ要素をＮ個としたが、前述の特許文献１に記載されるようにセンサ要素をＮ＋１個としたり、また、特開平７−２６０５１３号公報にも記載されるようにセンサ要素を２×Ｎ個として、ビットの境界付近の誤検出を防止するように構成することも可能である。
【図面の簡単な説明】
【００３６】
【図１】循環周期３０の循環コードを記録したロータを含むアブソリュートエンコーダの例を示す図である。
【図２】循環周期２５の循環コードを記録したロータを含むアブソリュートエンコーダの例を示す図である。
【図３】循環周期２０の循環周期コードを記録したロータを含むアブソリュートエンコーダの例を示す図である。
【図４】図１，図２，図３のセンサ３が内蔵する信号処理回路の一例を示すブロック図である。
【図５】Ｍ系列と、Ｍ系列から作成された周期３０の循環コードと回転位置の対応関係を示す図である。
【図６】Ｍ系列と、Ｍ系列から作成された周期２５の循環コードと回転位置の対応関係を示す図である。
【図７】Ｍ系列と、Ｍ系列から作成された周期２０の循環コードと回転位置の対応関係を示す図である。
【図８】所望の周期の循環コードを作成するためのアルゴリズムを示すフローチャートである。
【図９】図８のフローチャートにおいて用いられる定数を示す図である。
【図１０】図１，図２，図３のセンサ３が内蔵する信号処理回路の別の一例を示すブロック図である。
【符号の説明】
【００３７】
１，１１，２１  中空軸、２，１２，２２  ロータ（符号板）、３  センサ、４，５，６，７，８  センサ要素、９，１９  受信ＩＦ、１０  二値化回路、１３，１４，１５，２４  ＲＯＭ、１６  不揮発性記憶器、１７  セレクタ、１８  送信ＩＦ、２０  マイクロプロセッサ、２３  ＲＡＭ。
【図１】
2005061907.tif 000003
【図２】
2005061907.tif 000004
【図３】
2005061907.tif 000005
【図４】
2005061907.tif 000006
【図５】
2005061907.tif 000007
【図６】
2005061907.tif 000008
【図７】
2005061907.tif 000009
【図８】
2005061907.tif 000010
【図９】
2005061907.tif 000011
【図１０】
2005061907.tif 000012