(57)【特許請求の範囲】
【請求項１】
最小識別幅λ１（λ１は自然数）の第１アブソリュートパターン及び前記最小識別幅λ１よりも幅の広い最小識別幅λ２（λ２は自然数）の第２アブソリュートパターンを有する符号板と、
それぞれが前記λ１の１／２で形成される複数の検出素子を有し、前記第１アブソリュートパターンに沿って配置された前記第１アブソリュートパターンの符号を当該複数の検出素子が交互に検出する第１アブソリュートパターン検出部と、
それぞれが前記λ２の１／２で形成される複数の検出素子を有し、前記第２アブソリュートパターンに沿って配置された前記第２アブソリュートパターンの符号を当該複数の検出素子が交互に検出する第２アブソリュートパターン検出部と、
前記第１アブソリュートパターン検出部が検出した前記第１アブソリュートパターンの符号に基づき現在位置を算出する絶対位置デコード部と、
電源を投入したとき、前記絶対位置デコード部が算出した現在位置に基づき、前記第２アブソリュートパターンの現在位置を算出する絶対位置エンコード部と、
前記絶対位置エンコード部が算出した現在位置に基づき、前記第２アブソリュートパターンの現在位置を更新し、更新された前記前記第２アブソリュートパターンの現在位置に応じた符号パターンを生成するパターン生成部と、
前記符号板の回転数が所定のしきい値以上のときに、前記第２アブソリュートパターン検出部が検出した前記第２アブソリュートパターンの符号と前記パターン生成部が生成した前記符号パターンとを比較して異常検出を行う異常検出部と
を備え、
前記第１アブソリュートバターン検出部の複数の検出素子が交互に検出を行うための切り替え、および前記第２アブソリュートバターン検出部の複数の検出素子が交互に検出を行うための切り替えが、前記符号板が有するいずれかのパターンの検出結果を用いて行われることを特徴とするエンコーダ装置。
【請求項２】
前記符号板の回転数が所定のしきい値以上の場合、高速に回転していると判別する回転判定部を備えることを特徴とする請求項１に記載のエンコーダ装置。
【請求項３】
前記第１アブソリュートパターンの最小識別幅λ１以下のピッチで前記符号板に形成されたインクリメンタルパターンの符号を検出するインクリメンタルパターン検出部を備え、
前記第１アブソリュートパターン検出部は、前記インクリメンタルパターン検出部が検出した信号を用いて、前記第１アブソリュートパターン検出部の複数の前記検出素子を切り替えて前記第１アブソリュートパターンの符号を検出する
ことを特徴とする請求項１または請求項２に記載のエンコーダ装置。
【請求項４】
前記λ２は、前記λ１の２ｎ（ｎは自然数）である
ことを特徴とする請求項１から請求項３のいずれか一項に記載のエンコーダ装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、エンコーダ装置に関する。
【背景技術】
【０００２】
従来、この種のエンコーダ装置は、例えば、８ビットのＭ（最大周期）系列パターンが形成されたアブソリュートトラックと等間隔のパターンが形成されたインクリメンタルトラックとを有する符号板から信号を検出し、検出した信号を用いて絶対位置を検出する手法が知られている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００１−１９４１８５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
従来技術では、アブソリュートパターンの最小識別幅の１／２で形成された２組の検出素子が、交互にアブソリュートパターンの符号を検出していた。検出素子が隣接する符号間（１と０の間）に位置した場合、従来におけるエンコーダ装置は、不安定な符号値を検出することを防ぐために、インクリメンタルトラックに形成されているインクリメンタルパターンを検出した信号を用いて２組の検出素子の検出信号を切り替えていた。しかしながら、この切り替え信号は、インクリメンタルパターンの検出信号を増幅や二値化等の処理を行っている。このため、回路による遅延が発生する場合があった。このようなエンコーダ装置の場合、符号板の回転数が高くなり検出周波数が高くなるとこの遅延による影響が大きくなるため、適切な位置で符号を検出できずに誤動作検出部が誤検出してしまうという問題点があった。
【０００５】
本発明は、上記の問題点に鑑みてなされたものであって、符号板の回転数が高くなった場合でも適切に誤動作を検出することができるエンコーダ装置を提供することを目的としている。
【課題を解決するための手段】
【０００６】
上記目的を達成するため、本発明の一態様は、最小識別幅λ１（λ１は自然数）の第１アブソリュートパターン及び前記最小識別幅λ１よりも幅の広い最小識別幅λ２（λ２は自然数）の第２アブソリュートパターンを有する符号板と、それぞれが前記λ１の１／２で形成される複数の検出素子を有し、前記第１アブソリュートパターンに沿って配置された前記第１アブソリュートパターンの符号を当該複数の検出素子が交互に検出する複数の検出素子を有する第１アブソリュートパターン検出部と、それぞれが前記λ２の１／２で形成される複数の検出素子を有し、前記第２アブソリュートパターンに沿って配置された前記第２アブソリュートパターンの符号を当該複数の検出素子が交互に検出する第２アブソリュートパターン検出部と、前記第１アブソリュートパターン検出部が検出した前記第１アブソリュートパターンの符号に基づき現在位置を算出する絶対位置デコード部と、電源を投入したとき、前記絶対位置デコード部が算出した現在位置に基づき、前記第２アブソリュートパターンの現在位置を算出する絶対位置エンコード部と、前記絶対位置エンコード部が算出した現在位置に基づき、前記第２アブソリュートパターンの現在位置を更新し、更新された前記前記第２アブソリュートパターンの現在位置に応じた符号パターンを生成するパターン生成部と、前記符号板の回転数が所定のしきい値以上のときに、前記第２アブソリュートパターン検出部が検出した前記第２アブソリュートパターンの符号と前記パターン生成部が生成した前記符号パターンとを比較して異常検出を行う異常検出部とを備え、前記第１アブソリュートバターン検出部の複数の検出素子が交互に検出を行うための切り替え、および前記第２アブソリュートバターン検出部の複数の検出素子が交互に検出を行うための切り替えが、前記符号板が有するいずれかのパターンの検出結果を用いて行われることを特徴としている。
【発明の効果】
【０００７】
本発明によれば、符号板の回転数が高くなった場合でも適切に誤動作を検出することができるエンコーダ装置を提供することが可能になる。
【図面の簡単な説明】
【０００８】
【図１】本発明の実施形態に係る符号板の一例を示す図である。
【図２】同実施形態に係るインクリメンタルパターンと第１アブソリュートパターンと第２アブソリュートパターンの一例を示す図である。
【図３】同実施形態に係るエンコーダ装置の構成の一例を示すブロック図である。
【図４】同実施形態に係る検出素子の構成の一例と、検出素子の切り替え信号を説明する図である。
【図５】同実施形態に係る初期設定手順のフローチャートである。
【図６】同実施形態に係る異常検出手順のフローチャートである。
【発明を実施するための形態】
【０００９】
以下、図１〜図６を用いて本発明の実施形態について詳細に説明する。なお、本発明は係る実施形態に限定されず、その技術思想の範囲内で種々の変更が可能である。
【００１０】
図１は、本実施形態における符号板の一例を示す図である。図１のように、符号板１は、例えば、外周側から順番にインクリメンタルパターン１１を有するインクリメンタルトラックと、第１アブソリュートパターン１２を有する第１アブソリュートトラックと、第２アブソリュートパターン１３を有する第２アブソリュートトラックとを備えている。各トラックのパターンについて、図２を用いて説明する。図２は、インクリメンタルパターン１１と第１アブソリュートパターン１２と第２アブソリュートパターン１３との一例を示す図である。図２（ａ）のように、インクリメンタルパターン１１は、例えば、論理状態を示すスリットが最小識別幅ｐ１の等間隔で形成されている。また、第１アブソリュートパターン１２は、インクリメンタルパターン１１の最小識別幅ｐ１より広い最小識別幅ｐ２で、例えば、６ビットのＭ系列パターンのスリットが形成されている。第２アブソリュートパターン１３は、第１アブソリュートパターン１２の最小識別幅ｐ２より広い最小識別幅ｐ３で、図２（ｂ）のように第１アブソリュートパターン１２のアドレスを右にｎビットシフト（図２（ｂ）の場合、１ビットシフト）したアドレスを持つ５ビットのＭ系列の符号パターンのスリットが形成されている。例えば、ｐ３＝２１×ｐ２の場合、第１アブソリュートパターン１２の現在位置が３（１１）の場合、第２アブソリュートパターン１３のアドレスは１１を右に１ビットシフトした０１の位置を示すパターンが形成されている。図２（ｂ）は、第１および第２アブソリュートパターンのアドレスの関係を説明する図である。なお、各パターンはスリットではなく、符号板１上に反射パターンで形成しても良い。なお、本実施形態では、符号板１が回転するロータリータイプのエンコーダ装置について説明する。
【００１１】
次に、図２〜図４を用いて、本実施形態におけるエンコーダ装置を説明する。図３は、エンコーダ装置の一例を示すブロック図である。図４は、検出素子の構成の一例を示す図と、検出素子の切り替え信号を説明する図である。図３のように、エンコーダ装置２０は、符号板１と、インクリメンタル検出素子群２１と、第１アブソリュート検出素子群２２と、第２アブソリュート検出素子群２３と、回転方向判定部２４と、カウンター部２５と、Ａ／Ｄ（アナログ−デジタル）変換部２６と、内挿部２７と、位置検出部２８と、位置情報出力部２９と、回転判定部３０と、第１信号読み込み部３１と、第１パターン発生部３２と、絶対位置デコード部３３と、絶対位置エンコード部４１と、第２パターン発生部４２と、第２信号読み込み部４３と、異常検出部４４と、エラー出力部４５と、を備えている。
【００１２】
インクリメンタル検出素子群２１（インクリメンタルパターン検出部）は、インクリメンタルパターン１１の検出用素子であり、インクリメンタルパターン１１に対向して配置されている。インクリメンタル検出素子群２１は、図４（ａ）〜（ｂ）のようにインクリメンタルパターン１１の最小識別幅の１／２幅の検出素子１０１〜１０２を備えている。また、インクリメンタル検出素子群２１の各検出素子１０１〜１０２は、それぞれインクリメンタルパターン１１を検出し、検出したインクリメンタルパターン１１に対応する図４（ｃ）〜（ｄ）のように位相が９０度ずれたＡ相信号とＢ相信号とを、回転方向判定部２４とＡ／Ｄ変換部２６とに出力する。また、インクリメンタル検出素子群２１は、検出したＡ相信号を第１アブソリュート検出素子群２２に出力する。なお、図４（ｂ）では、インクリメンタルパターン１１用の検出素子１０１、１０２を説明するために１組のみを抜き出して説明したが、検出素子１０１と１０２の組み合わせの素子群を複数備えていても良い。
【００１３】
第１アブソリュート検出素子群２２（第１アブソリュートパターン検出部）は、第１アブソリュートパターン１２の検出用素子であり、第１アブソリュートパターン１２に対向して配置されている。第１アブソリュート検出素子群２２は、図４（ｅ）〜（ｆ）のように第１アブソリュートパターン１２の最小識別幅の１／２幅（半分）の１２個の検出素子１１１〜１２２を備えている。また、第１アブソリュート検出素子群２２は、インクリメンタル検出素子群２１からＡ相信号が入力され、入力されたＡ相信号を用いて２組の検出素子（図４（ｆ）の検出素子１１１と１１３と１１５と１１７と１１９と１２１の組と、検出素子１１２と１１４と１１６と１１８と１２０と１２２の組）を、図４（ｇ）のように切り替えて交互に検出を行う。さらに、第１アブソリュート検出素子群２２の検出素子１１１〜１２２は、検出した第１アブソリュートパターン１２に対応する図４（ｈ）のように第１アブソリュート信号を第１信号読み取り部３１に出力する。
【００１４】
第２アブソリュート検出素子群２３（第２アブソリュートパターン検出部）は、第２アブソリュートパターン１３の検出用素子であり、第２アブソリュートパターン１３に対向して配置されている。第２アブソリュート検出素子群２３は、図４（ｉ）〜（ｊ）のように第２アブソリュートパターンの最小識別幅の１／２幅（半分）の２個の検出素子１３１と１３２を備えている。また、第２アブソリュート検出素子群２３は、カウンター部２５から所定の位（くらい）の値の切り替え信号が入力され、入力された該切り替え信号を用いて検出素子１３１と１３２とを図４（ｋ）のように切り替えて交互に検出を行う。また、第２アブソリュート検出素子群２３の検出素子１３１〜１３２は、検出した各信号を第２信号読み取り部４１に出力する。
【００１５】
回転方向判定部２４は、インクリメンタル検出素子群２１からＡ相信号とＢ相信号とが入力される。また、回転方向判定部２４は、入力されたＡ相信号とＢ相信号とを用いて、インクリメンタル検出素子群２１に対する回転方向とカウント値（増減値）とを検出し、検出した回転方向情報とカウント値とを、カウンター部２５と第１パターン発生部３２と第２パターン発生部４２とに出力する。また、符号板１の回転方向の検出方法は、Ａ相信号とＢ相信号との位相関係から判定する。また、この回転方向情報とカウント値とは、符号板１の回転に応じて、回転方向やカウント値が増減するために相対位置情報である。
【００１６】
カウンター部２５はカウンターを備え、初期設定動作時、絶対位置デコード部３３から現在位置情報が入力され、入力された現在位置情報をカウンターにセットする。また、カウンター部２５は、エンコード動作時、回転方向判定部２４から回転方向情報とカウント値とが入力され、入力された回転方向情報とカウント値とに応じてカウンターを増減し、現在位置情報を生成する。また、カウンター部２５は、生成した現在位置情報を位置検出部２８と回転判定部３０とに出力する。なお、カウンター部２５が生成する現在位置情報は、符号板１の絶対位置を表しているために絶対位置情報である。また、カウンター部２５は、所定の位の値を上述の切り替え信号として第２アブソリュート検出素子群２３に出力する。一例として、カウンター部２５は、符号板１がｐ３だけ移動する間に、「０→１→０」と１周期分変化する位の値を切り替え信号として第２アブソリュート検出素子群２３に出力する。
【００１７】
Ａ／Ｄ変換部２６は、インクリメンタル検出素子群２１からＡ相信号とＢ相信号とが入力され、入力されたＡ相信号とＢ相信号とをそれぞれアナログ信号からデジタル信号に変換し、変換したＡ相信号とＢ相信号とを内挿部２７に出力する。
【００１８】
内挿部２７は、Ａ／Ｄ変換部２６からデジタル化されたＡ相信号とＢ相信号とが入力され、入力されたＡ相信号とＢ相信号とを用いて内挿処理（例えば、図２（ｃ）のように２５６（０〜２５５）分解能）を行い高分解能な相対位置情報を算出する。また、内挿部２７は、算出した高分解能な相対位置情報を位置検出部２８に出力する。内挿の原理は、例えば、位相の異なるＡ相信号とＢ相信号とを用い、内挿値θ＝ｔａｎ−１（Ａ／Ｂ）（Ａ／Ｂは、Ａ相信号とＢ相信号との信号振幅の比）を算出する。この算出した内挿値θを、カウンター部２５がカウントした現在位置に加えることにより、インクリメンタルパターンの最小識別幅より細かい精度の位置を算出することができる。なお、相対位置検出部とは、符号板１から相対位置を検出する機能部であり、第１インクリメンタル検出素子群２１と、回転方向判定部２４と、Ａ／Ｄ変換部２６と、内挿部２７とを有する。
【００１９】
位置検出部２８は、カウンター部２５から現在位置情報が入力され、内挿部２７から高分解能な相対位置情報が入力される。また、位置検出部２８は、入力された現在位置情報と高分解能な相対位置情報とを用いて、符号板１の現在位置を高精度に検出し、検出した位置情報を位置情報出力部２９に出力する。
【００２０】
位置情報出力部２９は、位置検出部２８から位置情報が入力され、入力された位置情報に基づいた位置情報を、エンコーダ装置２０に接続されている装置、例えばロボット制御装置に出力する。
【００２１】
回転判定部３０は、カウンター部２５から現在位置情報が入力され、入力された現在位置情報を用いて、回転速度（又は回転数）を算出することで符号板１が高速回転しているか低速回転しているかを判定する。例えば、低速回転とは６千回転／分未満であり、高速回転とは６千回転／分以上であり、第１アブソリュートトラックのＭ系列のビット数に応じて予め定められた回転数である。第１アブソリュートトラックのＭ系列のビット数に応じる理由を以下に説明する。ビット数が９ビットの場合、第１アブソリュートパターン１２の最小識別幅である１パルスの角度は０．７度であり、ビット数が１０ビットの場合、第１アブソリュートパターン１２の最小識別幅である１パルスの角度は０．３５度である。このため、第１アブソリュート検出素子群２２に必要な切り替え信号は、９ビットのＭ系列では２万４千回転／分で２００［ｋＨｚ］に達するが、１０ビットのＭ系列では１万２千回転／分で２００［ｋＨｚ］に達する。異常検出部４４の誤動作は、第１アブソリュート検出素子群２２の切り替え周波数に応じて生じるため、切り替え周波数は低い方が誤動作を防ぐことができる。このため、エンコーダ装置２０は、低速回転時には第１アブソリュート検出素子群２２の検出信号を用いてエラー検出を行い、高速回転時は第２アブソリュート検出素子群２３の検出信号を用いてエラー検出を行い、回転数を検出する。なお、エンコーダ装置２０は、低速回転時及び高速回転時において、第２アブソリュート検出素子群２３の検出信号を用いてエラー検出を行うようにしてもよい。また、回転判定部３０は、判定結果を異常検出部４４に出力する。
【００２２】
第１信号読み込み部３１は、第１アブソリュート検出素子群２２の検出素子１１１〜１２２から第１アブソリュート信号が入力され、入力された第１アブソリュート信号を所定のしきい値と比較して二値化し、二値化した検出信号に応じた第１符号を第１パターン発生部３２と異常検出部４４とに出力する。
【００２３】
第１パターン発生部３２は、例えば、シフトレジスタ等の回路により構成されている。また、第１パターン発生部３２は、第１アブソリュート検出素子群２２から検出信号に応じた第１符号が入力され、入力された第１符号をシフトレジスタにセットして第１パターン情報を生成する。また、第１パターン発生部３２は、回転方向判定部２４から回転方向情報とカウント値とが入力され、入力された回転方向情報とカウント値とに応じて、シフトレジスタにセットした第１パターン情報を更新する。さらに、第１パターン発生部３２は、生成した第１パターン情報を絶対位置デコード部３３に出力し、または、更新した第１パターン情報を異常検出部４４に出力する。
具体的には、電源投入時、第１パターン発生部３２は、第１信号読み込み部３１から検出信号に応じた符号が入力され、入力された検出信号に応じた符号をシフトレジスタにセットする。そして、第１パターン発生部３２は、受け取った論理信号に基づく第１パターンを生成し、生成した第１パターン情報を絶対位置デコード部３３に出力する。例えば、図４（ｅ）において、第１パターン発生部３２は、第１アブソリュート検出素子群２２の各検出素子の検出信号を二値化した検出素子１１１の出力＝１、検出素子１１３の出力＝０、検出素子１１５の出力＝１、検出素子１１７の出力＝１、検出素子１１９の出力＝０、検出素子１２１の出力＝０が入力され、入力された検出信号に応じた符号をシフトレジスタの所定の位置にそれぞれセットしてパターン信号「１０１１００」を生成する。
エンコード時、第１パターン発生部３２は、回転方向判定部２４から回転方向情報とカウント値が入力される。次に、第１パターン発生部３２は、回転方向が正方向であればカウント値をシフトレジスタにセットしたパターンに対して左へシフトする処理（又は加算する処理）を行い、回転方向が逆方向であればカウント値をシフトレジスタにセットしたパターンに対して右へシフトする処理（又は減算する処理）を行うことでレジスタにセットされているパターンを更新する。
【００２４】
絶対位置デコード部３３は、第１パターン発生部３２から第１パターン情報が入力され、入力された第１パターン信号を用いて絶対位置（絶対位置情報）を算出し、算出した絶対位置をカウンター部２５と絶対位置エンコード部４１とに出力する。具体的には、電源投入時、第１アブソリュートパターン１２に６ビットのＭ系列パターンが形成されている場合、絶対位置デコード部３３は入力された第１パターン信号、例えば「１１０１００」を第１アブソリュートパターン１２のＭ系列パターンに基づきアドレスを算出し、算出した値をカウンター部２５と絶対位置エンコード部４１とに出力する。
【００２５】
絶対位置エンコード部４１は、絶対位置デコード部３３から上記絶対位置情報が入力され、入力された絶対位置情報に応じた第２アブソリュートパターン１３の第２パターン信号を第２アブソリュートパターン１３のＭ系列パターンに基づき生成し、生成した第２パターン信号を第２パターン発生部４２に出力する。
【００２６】
第２パターン発生部４２は、例えば、シフトレジスタ等の回路により構成されている。また、第２パターン発生部４２は、絶対位置エンコーダ４１から第２パターン信号が入力され、入力された第２パターン信号をシフトレジスタにセットして第２パターン情報を生成する。また、第２パターン発生部４２は、回転方向判定部２４から回転方向情報とカウント値とが入力される。次に、第２パターン発生部４２は、回転方向が正方向であればカウント値をシフトレジスタにセットしたパターンに対して左へシフトする処理（又は加算する処理）を行いレジスタにセットされているパターンを更新する。さらに、第２パターン発生部４２は、回転方向が逆方向であればカウント値をシフトレジスタにセットしたパターンに対して右へシフトする処理（又は減算する処理）を行うことでレジスタにセットされているパターンを更新する。さらにまた、第２パターン発生部４２は、生成した第２パターン情報、または、更新した第２パターン情報を異常検出部４４に出力する。
【００２７】
第２信号読み込み部４３は、第２アブソリュート検出素子群２３の検出素子１３１〜１３２から検出信号が入力され、入力された検出素子を所定のしきい値と比較して二値化し、二値化した検出信号に応じた第２符号を異常検出部４４に出力する。
【００２８】
異常検出部４４は、第１信号読み取り部３１から検出信号に応じた第１符号が入力され、第１パターン発生部３２から第１パターン情報が入力され、第２パターン発生部４２から第２パターン情報が入力され、第２信号読み取り部４３から検出信号に応じた第２符号が入力される。また、異常検出部４４は、入力された検出信号に応じた第１符号と第１パターン情報とが一致しているか比較し、一致していない場合、エラー信号（異常信号）をエラー出力部４５に出力する。また、異常検出部４４は、入力された第２パターン情報と第２符号とが一致しているか比較し、一致していない場合、エラー信号（異常信号）をエラー出力部４５に出力する。
【００２９】
エラー出力部４５は、異常検出部４４からエラー信号が入力され、入力されたエラー信号に応じたエラー信号を、エンコーダ装置２０に接続されている装置、例えばロボット制御装置に出力する。
【００３０】
次に、エンコーダ装置２０の初期設定手順について図５を用いて説明する。図５は、初期設定手順のフローチャートである。エンコーダ装置２０に電源が投入された後、第１信号読み出し部３１は、第１アブソリュート検出素子群２２から検出信号が入力され、第１アブソリュートパターン１２を読み込む（ステップＳ１）。次に、第１信号読み出し部３１は、入力された検出信号を所定の閾値で二値化し、二値化した検出信号に応じた第１符号を第１パターン発生部３２と異常検出部４４とに出力する。次に、第１パターン発生部３２は、第１信号読み取り部３１から第１符号が入力され、入力された第１符号をシフトレジスタにセットして第１パターンを生成し（ステップＳ２）、生成した第１パターン情報を絶対位置デコード部３３に出力する。
【００３１】
次に、絶対位置デコード部３３は、第１パターン発生部３２から第１パターン情報が入力され、入力された第１パターン情報を第１アブソリュートパターン１２のＭ系列に基づき絶対位置（絶対位置情報）を算出し（ステップＳ３）、算出した絶対位置情報をカウンター部２５と絶対位置エンコード部４１とに出力する。次に、カウンター部２５は、絶対位置デコード部３３から絶対位置情報が入力され、入力された絶対位置情報をカウンターにセットする（ステップＳ４）。
【００３２】
次に、絶対位置エンコード部４１は、絶対位置デコード部３３から上記絶対位置情報が入力され、入力された絶対位置情報に対応する第２アブソリュートパターン１３の第２パターン信号を生成し（ステップＳ５）、生成した第２パターン信号を第２パターン発生部４２に出力する。次に、第２パターン発生部４２は、絶対位置エンコード部４１から第２パターン信号が入力され、入力された第２パターン信号をシフトレジスタにセットして第２パターン情報を生成する（ステップＳ６）。
以上で、初期設定手順を終了する。
【００３３】
エンコーダ装置２０の異常検出手順を、図６を用いて説明する。図６は、異常検出手順のフローチャートである。初期設定が終了後、カウンター部２５には、第１アブソリュートパターン１２の絶対位置（又は、絶対位置から見えるパターン）がセットされている。また、第１パターン発生部３２には、第１アブソリュートパターン１２の絶対位置（又は、絶対位置から見えるパターン）がセットされ、第２パターン発生部４２には、第２アブソリュートパターン１３の絶対位置（現在位置）がセットされている。その後、符号板１が回転した場合、インクリメンタル検出素子群２１の検出素子１０１〜１０２は、それぞれインクリメンタルパターン１１を検出し（ステップＳ１０１）、検出したＡ相信号とＢ相信号とを回転方向判定部２４とＡ／Ｄ変換部２６とに出力する。
次に、回転方向判定部２４は、インクリメンタル検出素子群２１からＡ相信号とＢ相信号とが入力される。次に、回転方向判定部２４は、入力されたＡ相信号とＢ相信号とを用いて、インクリメンタル検出素子群２１に対する回転方向とカウント値とを検出し（ステップＳ１０２）、検出した回転方向情報とカウント値とをカウンター部２５と、第１パターン発生部３２と、第２パターン発生部４２とに出力する。
【００３４】
次に、カウンター部２５は、回転方向判定部２４から回転方向情報とカウント値とが入力される。次に、カウンター部２５は、入力された回転方向情報が正方向の回転の場合、カウント値をカウンターの値に加算（左へシフト）し、回転方向情報が逆方向の回転の場合、カウント値をカウンターターの値から減算（右へシフト）し現在位置情報を生成する（ステップＳ１０３）。また、カウンター部２５は、生成した現在位置情報を位置検出部２８と回転判定部３０とに出力する。
次に、Ａ／Ｄ変換部２６は、インクリメンタル検出素子群２１からＡ相信号とＢ相信号とが入力され、入力されたＡ相信号とＢ相信号とをデジタル信号に変換し、デジタル信号に変換したＡ相信号とＢ相信号とを内挿部２７に出力する。次に、内挿部２７は、Ａ／Ｄ変換部２６からデジタル信号に変換したＡ相信号とＢ相信号とが入力され、デジタル信号に変換したＡ相信号とＢ相信号とを用いて高分解能の相対位置情報を生成し（ステップＳ１０４）、生成した高分解能の相対位置情報を位置検出部２８に出力する。
【００３５】
次に、位置検出部２８は、カウンター部２５から現在位置情報が入力され、内挿部２７から高分解能の相対位置情報が入力される。次に、位置検出部２８は、入力された現在位置情報と高分解能な相対位置情報とを用いて、符号板１の現在位置を高精度に検出し（ステップＳ１０５）、検出した位置情報を位置情報出力部２９に出力する。
次に、位置情報出力部２９は、位置検出部２８から位置情報が入力され、入力された位置情報に基づいた位置情報を、エンコーダ装置２０に接続されている装置、例えばロボット制御装置に出力する。
【００３６】
次に、第１パターン発生部３２は、回転方向判定部２４から回転方向情報とカウント値とが入力される。次に、回転方向が正方向の場合、第１パターン発生部３２は、カウント値をシフトレジスタにセットしたパターンに対して左へシフトする処理（又は加算する処理）を行って、第１パターン情報を更新する。または、回転方向が逆方向の場合、第１パターン発生部３２は、カウント値をシフトレジスタにセットしたパターンに対して右へシフトする処理（又は減算する処理）を行って、第１パターン情報を更新する（ステップＳ１０６）。そして、第１パターン発生部３２は、更新したパターン情報を異常検出部４４に出力する。
【００３７】
次に、第１信号読み込み部３１は、第１アブソリュート検出素子群２２から検出信号が入力され、入力された検出信号を所定のしきい値と比較して二値化し、二値化した検出信号に基づく第１符号を異常検出部４４に出力する。次に、第２信号読み込み部４３は、第２アブソリュート検出素子群２３から検出信号が入力され、入力された検出信号を所定のしきい値と比較して二値化し、二値化した検出信号に基づく第２符号を異常検出部４４に出力する（ステップＳ１０７）。
【００３８】
次に、第２パターン発生部４２は、回転方向判定部２４から回転方向情報とカウント値とが入力される。次に、回転方向が正方向の場合、第２パターン発生部４２は、カウント値をシフトレジスタにセットしたパターンに対して左へシフトする処理（又は加算する処理）を行って、第２パターン情報を更新する。または、回転方向が逆方向の場合、第２パターン発生部４２は、カウント値をシフトレジスタにセットしたパターンに対して右へシフトする処理（又は減算する処理）を行って、第２パターン情報を更新する（ステップＳ１０８）。さらに、第２パターン発生部４２は、更新した第２パターン情報を異常検出部４４に出力する。
【００３９】
次に、回転判定部３０は、カウンター部２５から入力された現在位置情報を用いて符号板１の回転数を算出し、算出した符号板１の回転数を所定のしきい値と比較し、比較の結果に基づき高速回転か低速回転かを判別する（ステップＳ１０９）。回転数がしきい値未満の場合（ステップＳ１０９；低速回転）、回転判定部３０は、低速回転と判定し判定結果を異常検出部４４に出力する。一方、回転数がしきい値以上の場合（ステップＳ１０９；高速回転）、回転判定部３０は、高速回転と判定し判定結果を異常検出部４４に出力する。
次に、異常検出部４４は、回転判定部３０から判定結果が入力され、入力された判定結果が低速回転の場合、判定結果に応じて、第１符号と第１パターン情報とが一致しているか否か、さらに、第２符号と第２パターン情報とが一致しているか否かを判定することで誤動作検出を行う（ステップＳ１１０）。
入力された判定結果が高速回転の場合、異常検出部４４は、判定結果に応じて、第２符号と第２パターン情報とが一致しているか否かを判定することで誤動作検出を行う（ステップＳ１１１）。
【００４０】
次に、異常検出部４４は、ステップＳ１１０またはステップＳ１１１で誤動作を検出したか否かを判定し（ステップＳ１１２）、誤動作（異常）を検出した場合（ステップＳ１１２；Ｙｅｓ）、エラー信号を生成し（ステップＳ１１３）、生成したエラー信号をエラー出力部４５に出力する。次に、エラー出力部４５は、異常検出部４４からエラー信号が入力され、入力されたエラー信号に応じて、エラー情報を、例えば、エンコーダ装置２０に接続されているロボット制御装置に出力する。
一方、ステップＳ１１２で誤動作が検出されていないと判定された場合（ステップＳ１１２；Ｎｏ）、異常検出部４４はエラー信号を生成しない。
以上の手順を、エンコード動作中、繰り返して行う。
【００４１】
以上のように、符号板１に第１アブソリュートパターン１２の最小識別幅λと第２アブソリュートパターン１３の最小識別幅２ｎλ（ｎは自然数）を形成し、第１アブソリュートパターン１２から検出した信号を用いて絶対位置を算出してカウンター部２５と第１パターン発生部３２に保持するようにした。また、絶対位置エンコード部４１は、第１パターン発生部３２が生成したパターン情報を用いて第２アブソリュートパターン１３の絶対位置を算出して第２パターン発生部４２に保持するようにした。符号板１の回転時、インクリメンタル検出素子群２１が検出した検出信号に応じて、カウンター部２５のカウント値と、第１パターン発生部３２の第１パターン情報と、第２パターン発生部４２の第２パターン情報とを更新するようにした。そして、符号板１が高速回転時、第２アブソリュート検出素子群２３が検出した検出信号に応じた第２符号と、第２パターン発生部４２の第２パターン情報とを比較することで誤動作を検出するようにした。この結果、符号板１が高速回転しているときでも、誤動作を適切に検出することができる。
【００４２】
また、本実施形態では、第１アブソリュートパターン１２の最小識別幅λと第２アブソリュートパターン１３の最小識別幅２ｎλ（ｎは自然数）の符号板１を有するエンコーダ装置２０の例を説明したが、第１アブソリュートパターン１２の最小識別幅と第２アブソリュートパターン１３の最小識別幅の関係はこれに限らず、ｎ倍（ｎは２以上の自然数）であっても良い。
【００４３】
また、本実施形態では、第１アブソリュート検出素子群２２の切り替え信号にインクリメンタル素子群２１が検出したＡ相信号を用いる例を説明したが、ｐ１＝ｐ２として、Ａ相信号とＢ相信号とを二値化し、二値化した値の排他的論理和の演算により切り替えるようにしても良い。また、ｐ３＝２１×ｐ２として、第２アブソリュート検出素子群２３の切り替えにＡ相信号を用いるようにしてもよい。
【００４４】
また、本実施形態では、第２アブソリュート検出素子群２３が検出素子１３１と１３２を有する例を説明したが、検出素子は１３１か１３２のどちらか１つだけでも良い。この場合、第２アブソリュート検出素子群２３の検出素子が第２アブソリュートパターン１３の２つのパルスを同時に読み出していない状態（隣接パルスの間にいない状態）のときの検出信号を異常検出に用いる。
【００４５】
また、本実施形態では、符号板１の低速回転時は第１アブソリュート検出素子群２２が検出した検出信号と第２アブソリュート検出素子群２３が検出した検出信号とに基づき誤動作を検出する例を説明したが、遅延量の影響が少ない低速回転時は第１アブソリュート検出素子群２２が検出した検出信号と第１パターン発生部３２の符号との比較のみで検出しても良い。または、低速回転時は第２アブソリュート検出素子群２３が検出した検出信号と第２パターン発生部４２の符号との比較のみで検出しても良い。
【００４６】
また、本実施形態では、符号板１が回転するロータリータイプのエンコーダ装置について説明したが、リニアタイプのエンコーダ装置であっても良い。この場合、符号板１が移動し、符号板１上の各パターンを検出することで、同様に異常検出を行うことができる。
【００４７】
なお、実施形態の図３の各部の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより各部の処理を行ってもよい。なお、ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものとする。
また、「コンピュータシステム」は、ＷＷＷシステムを利用している場合であれば、ホームページ提供環境（あるいは表示環境）も含むものとする。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＣＤ−ＲＯＭ等の可搬媒体、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）  Ｉ／Ｆ（インタフェース）を介して接続されるＵＳＢメモリー、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリーのように、一定時間プログラムを保持しているものも含むものとする。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであっても良い。
【符号の説明】
【００４８】
１・・・符号板
２０・・・エンコーダ装置
２１・・・インクリメンタル検出素子群
２２・・・第１アブソリュート検出素子群
２３・・・第２アブソリュート検出素子群
２４・・・回転方向判定部
２５・・・カウンター部
２６・・・Ａ／Ｄ変換部
２７・・・内挿部
２８・・・位置検出部
２９・・・位置情報出力部
３０・・・回転判定部
３１・・・第１信号読み込み部
３２・・・第１パターン発生部
３３・・・絶対位置デコード部
４１・・・絶対位置エンコード部
４２・・・第２パターン発生部
４３・・・第２信号読み込み部
４４・・・異常検出部
４５・・・エラー出力部
【図１】
0005531638.tif 000002
【図２】
0005531638.tif 000003
【図３】
0005531638.tif 000004
【図４】
0005531638.tif 000005
【図５】
0005531638.tif 000006
【図６】
0005531638.tif 000007