以下、図面を参照して、本発明の実施の形態について説明する。図1は、この発明の一実施形態によるエンコーダシステムの構成を示す概略ブロック図である。
本実施形態において、エンコーダシステムは、モータ1と、動力伝達装置2と、第1のエンコーダ(第1の絶対位置エンコーダ)3と、第2のエンコーダ(第2の絶対位置エンコーダ)4と、入力軸(第1軸)10と、出力軸(第2軸)11と、を有する。また、エンコーダシステムは、上位装置であるコントローラ8と、コントローラ8と第1のエンコーダ3との間の通信線である通信ライン9を有する。また、第1のエンコーダ3と第2のエンコーダ4とは、少なくとも通信線12により接続されている。
モータ1は、コントローラ8から入力される回転制御信号に応じて、入力軸10を回転させる。動力伝達装置2は、入力軸10の回転に応じて、予め定められている伝達比(動力伝達比)で減速して出力軸11を回転させる。動力伝達装置2を介して、入力軸10の動力が所定の伝達比で出力軸11に伝わる。
すなわち、このエンコーダシステムにおいては、モータ1が入力軸10を回転させ、この入力軸10が回転することにより、動力伝達装置2を介して出力軸11が回転する。なお、この動力伝達装置2は、たとえば、1つまたは複数のギア、ベルト装置、チェーン装置、および、ドライブシャフト装置、または、これらの組み合わせにより構成されている。
第1のエンコーダ3は、1回転型のアブソリュートエンコーダであって、入力軸10の回転における位置変位(入力軸10の角度位置)に応じた第1の検出信号を出力する。エンコーダは、回転方向の機械的変位量をデジタル量に変換する。
すなわち、第1のエンコーダ3は、モータ1の入力軸10の角度位置を検知する機能を有しており、機械角360度の何処に位置するのかを検知できる1回転型のアブソリュートエンコーダである。なお、1回転型のアブソリュートエンコーダとは、回転情報として「何回転、まわったのか」という、所謂、「多回転データ・多回転情報」を検知する事が出来ないエンコーダのことである。
第2のエンコーダ4は、第1のエンコーダ3と同様に1回転型のアブソリュートエンコーダであって、出力軸11の回転における位置変位(出力軸11の角度位置)に応じた第2の検出信号を出力する。
第1のエンコーダ3と第2のエンコーダ4とは、例えば、入力軸10または出力軸11のうちの対応する軸の回転に応じて回転するN極とS極とを有する回転ディスクと、この回転ディスクの回転中心軸に対して互いの角度が90度になるようにして所定の位置に配置されている磁気センサ装置としての2つのホール素子とで、構成されている。
そして、入力軸10または出力軸11が回転することにより、この軸に対応する回転ディスクがN極とS極とを有する回転磁石として回転し、これにより、ホール素子からは、一回転につき1パルスの正弦波状の信号がそれぞれ出力される。なお、ホール素子は、互いに90度の角度を有して配置されているため、正弦波状の信号として、90度の位相差を有する正弦波、いわゆる2相擬似正弦波が出力される。
このようにして、第1のエンコーダ3は、例えば、それぞれが入力軸10の1回転に対して1周期の正弦波であるとともに、予め定められている位相分だけ互いの位相が異なる2つの信号である2相正弦波信号を第1の検出信号として出力する。また、第1のエンコーダ3と同様に、第2のエンコーダ4は、たとえば、それぞれが出力軸11の1回転に対して1周期の正弦波であるとともに、予め定められている位相分だけ互いの位相が異なる2つの信号である2相正弦波信号を第2の検出信号として出力する。
ここで、たとえば、第1のエンコーダ3が、1回転でN個の信号を出力し、第2のエンコーダ4が、1回転でM個の信号を出力し、動力伝達装置2が、1:Nの比で入力軸10と出力軸11とを連結するものとする。この場合、第1のエンコーダ3が1回転する毎に、第2のエンコーダ4が1ディジットずつ回転するため、入力軸10の回転数量を検出することができるとともに、入力軸10の回転における位置変位(角度位置)を検出することが可能である。よって、このエンコーダシステムは、出力軸11がM回転するまで、入力軸10の回転におけるN×M個の回転位置、すなわち、絶対位置を検出することが可能である。
すなわち、このエンコーダシステムは、1回転型のアブソリュートエンコーダである第1のエンコーダ3と、1回転型のアブソリュートエンコーダである第2のエンコーダ4とを用いて、エンコーダシステム全体としては、多回転型アブソリュートエンコーダとして機能する。そのため、このエンコーダシステムにおいては、従来技術によるエンコーダシステムでは必要とされていた、絶対位置の情報を記憶しておくための外部バッテリが不要である。
本実施形態において、第1のエンコーダ3は、内部に、信号処理回路6を有している。この信号処理回路6には、第2のエンコーダ4が検出した第2の検出信号が、通信線12を介して入力される。そして、信号処理回路6は、第1のエンコーダ3が検出した第1の検出信号と、第2のエンコーダ4が検出した第2の検出信号とに基づいて、入力軸10の回転数とともに1回転内の位置変位(角度位置)を示す合成位置データを検出する。また、信号処理回路6は、第1の検出信号と第2の検出信号とに基づいて、故障などを検出して、その結果をエラーステータス情報とする。そして、信号処理回路6は、検出した合成位置データとエラーステータス情報とを、通信ライン9介して、コントローラ8に出力する。
これにより、コントローラ8においては、合成位置データにより、多回転型アブソリュートエンコーダとしてのエンコーダシステムから、入力軸10の回転数とともに1回転内の位置変位(角度位置)を検出することが可能となる。また、コントローラ8においては、エラーステータス情報により、たとえば、モータ1の回転機構の異常、動力伝達装置2の異常、第1のエンコーダ3または第2のエンコーダ4に内蔵されている後述する回転ディスク301、回転ディスク401の異常などによる、エンコーダシステムの故障を検出することができる。
次に、図2と図3とを用いて、図1を用いて説明したエンコーダシステムの構成について詳細に説明する。なお、同図において、図1と同一の構成については同一の符号を付し、その説明を省略する。まず、図2を用いて、第1のエンコーダ3と第2のエンコーダ4との構成について説明する。
<第1のエンコーダ3の構成>
第1のエンコーダ3は、モータ1の入力軸の回転における位置変位(角度位置)を検知する機能を有しており、入力軸の回転に伴い回転するマーカが、機械角360度の何処に位置するのかを検知できる1回転型のアブソリュートエンコーダである。この第1のエンコーダ3は、たとえば、1回転型のアブソリュートエンコーダであって、光学式エンコーダである。
この第1のエンコーダ3について、その構成の具体例について説明する。この第1のエンコーダ3において、回転ディスク301は、入力軸10の回転に伴い回転するディスク上に、所定のM系列コードによって定められたアブソリュートパターンとインクリメンタルパターンとを有する構成を有している。発光素子302から発光された光は、この回転ディスク301の各々のパターンを通って、受光センサ303に入光される。そして、受光センサ303からは、アブソリュートパターンから検出される信号と、インクリメンタルパターンから検出される信号との二種類の信号が、第1の検出信号として、信号処理回路6に出力される。
この受光センサ303から出力される二種類の信号における一方の信号であって、アブソリュートパターンから検出される信号は、絶対位置検出用信号(またはM系列信号)として、信号処理回路6(後述する絶対位置検出回路611)に入力される。
また、受光センサ303から出力される二種類の信号における他方の信号であって、インクリメンタルパターンから検出される信号は、第1のインクリメンタル信号(または2相擬似正弦波)として、信号処理回路6(後述する第1の内挿回路612)に入力される。
<第2のエンコーダ4の構成>
第2のエンコーダ4は、モータ1の入力軸10から動力伝達装置2を介して接続された出力軸11の回転における変位位置、すなわち、位置情報を検知する機能を有している。この第2のエンコーダは、磁気式の1回転に1λ(≒位相角、360度)の変位を生じる90度の位相差を有する擬似正弦波を出力する。第2のエンコーダ4は、たとえば、1回転型のアブソリュートエンコーダであって、磁気式エンコーダである。よって、この第2のエンコーダ4は、第1のエンコーダ3に対比して、その構成が平易で安価に済む。
この第2のエンコーダ4の構成の具体例について説明する。この第2のエンコーダ4は、ディスク面上においてN極とS極とに2分割されている領域を有する回転ディスク401、すなわち、N極とS極との磁極構成を持つ回転ディスク401を有している。この回転ディスク401は、出力軸11の回転に伴い、回転する。
この回転ディスク401上には、磁気センサ装置402が配置されている。この磁気センサ装置402は、回転ディスク401が回転する円周上に配置されている2つの磁気センサ403と磁気センサ404とから構成されている。この2つの磁気センサ403と磁気センサ404とは、たとえば、互いの位置が、回転ディスク401の回転中心軸に対して90度の角度となるようにして所定の位置に配置されているホール素子である。
磁気センサ装置402は、N極とS極とを有する回転ディスク401が回転磁石として一回転することに応じて、一回転につき1パルスの正弦波状の信号を出力する。なお、磁気センサ装置402は、互いに90度の角度を有する磁気センサ403と磁気センサ404とを有しているため、この磁気センサ装置402からは、各々の磁気センサにより、90度の位相差を有する2相擬似正弦波(たとえば、A、Bの2相信号)が出力される。
そして、この磁気センサ装置402が出力する2相擬似正弦波は、第2の検出信号すなわち第2のインクリメンタル信号として、信号処理回路6(後述する第2の内挿回路621)に入力される。
<信号処理回路6の構成>
次に、図3を用いて、信号処理回路6の構成について説明する。信号処理回路6は、第1の位置データ検出回路61と、第2の位置データ検出回路62と、位置データ合成回路63と、位置データ比較・照合回路64と、外部通信回路65と、伝達比情報記憶部(伝達比情報記憶部)66と、第1の分解能記憶部67と、第2の分解能記憶部68と、を有している。
伝達比情報記憶部66には、第1のエンコーダ3と第2のエンコーダ4とを連結する予め定められている動力伝達装置2の伝達比(例えばギア比)の値を示す情報が、伝達比情報(例えばギア比情報)として予め記憶されている。第1の分解能記憶部67には、第1の位置データ検出回路61の分解能が第1の分解能として予め記憶されている。第2の分解能記憶部68には、第2の位置データ検出回路62の分解能が第2の分解能として予め記憶されている。
第1の位置データ検出回路61は、受光センサ303から入力された第1の検出信号に基づいて、予め定められている第1の信号処理により、入力軸10の回転における位置変位(角度位置)を示す第1の位置データを検出する。
第2の位置データ検出回路62は、磁気センサ装置402から入力された第2の検出信号に基づいて、予め定められている第2の信号処理により、出力軸11の回転における位置変位(角度位置)を示す第2の位置データを検出する。
位置データ合成回路63は、第1の位置データ検出回路61が検出した第1の位置データと、第2の位置データ検出回路62が検出した第2の位置データとを合成して、入力軸10の回転数とともに1回転内の位置変位(角度位置)を示す合成位置データを生成する。なお、この位置データ合成回路63は、第1の位置データ検出回路61が検出した第1の位置データと、第2の位置データ検出回路62が検出した第2の位置データとを合成する場合に、伝達比情報記憶部66から読み出した伝達比情報に基づいて合成位置データを合成する。そして、位置データ合成回路63は、生成した合成位置データを、外部通信回路65を介して、通信ライン9を通じてコントローラ8に出力する。
なお、この位置データ合成回路63は、詳細には、第1の位置データ検出回路61が検出した第1の位置データと、第2の位置データ検出回路62が検出した第2の位置データとを合成する場合に、伝達比情報記憶部66から読み出した伝達比情報、第1の分解能記憶部67から読み出した第1の分解能、および、第2の分解能記憶部68から読み出した第2の分解能に基づいて、予め定められている算出方法により、合成位置データを合成する。
位置データ比較・照合回路64は、第1の位置データ検出回路61が検出した第1の位置データと、第2の位置データ検出回路62が検出した第2の位置データとを比較および照合する。なお、この位置データ比較・照合回路64は、第1の位置データ検出回路61が検出した第1の位置データと、第2の位置データ検出回路62が検出した第2の位置データとを比較および照合する場合に、伝達比情報記憶部66から読み出した伝達比情報に基づいて、比較および照合する。そして、位置データ比較・照合回路64は、比較および照合した結果を、エラーステータス情報として、外部通信回路65を介して、通信ライン9を通じてコントローラ8に出力する。
この位置データ比較・照合回路64は、次のような処理により、第1の位置データ検出回路61が検出した第1の位置データと第2の位置データ検出回路62が検出した第2の位置データとを比較および照合する。
まず、位置データ比較・照合回路64は、第2の位置データ検出回路62が検出した第2の位置データと伝達比情報記憶部66から読み出した伝達比情報とに基づいて、第1の位置データ検出回路61が検出する第1の位置データに対応する位置データを推定値として算出する。詳細には、位置データ比較・照合回路64は、第2の位置データ検出回路62が検出した第2の位置データと伝達比情報記憶部66から読み出した伝達比情報と、第1の分解能記憶部67から読み出した第1の分解能と、第2の分解能記憶部68から読み出した第2の分解能とに基づいて、推定値を算出する。
次に、位置データ比較・照合回路64は、算出した推定値と第1の位置データ検出回路61が検出した第1の位置データとの差を誤差推定値として算出する。
そして、位置データ比較・照合回路64は、算出した誤差推定値が予め定められている値の範囲内にあるか否かを判定することにより、第1の位置データ検出回路61が検出した第1の位置データと第2の位置データ検出回路62が検出した第2の位置データとを比較および照合する。詳細には、位置データ比較・照合回路64は、算出した誤差推定値が、第1の分解能記憶部67から読み出した第1の分解能に対して予め定められている割合により予め定められている値の範囲内にあるか否かを判定することにより、第1の位置データ検出回路61が検出した第1の位置データと第2の位置データ検出回路62が検出した第2の位置データとを比較および照合する。
ここで、位置データ比較・照合回路64は、算出した誤差推定値を判定する場合に、第1の分解能記憶部67から読み出した第1の分解能に対して予め定められている割合として、たとえば、1/4の割合以下とする。これは、推定値、すなわち、第2の位置データ検出回路62により検出した第2の位置データに基づいて第1の位置データ検出回路61により検出される第1の位置データを推定した値と、実際に第1の位置データ検出回路61により検出された第1の位置データとを比較する場合に、1/4周以上のずれが生じていないことを検出するためである。なお、算出した誤差推定値の絶対値と比較するための割合が1/4ということが、1/4周に相当する。なお、割合の値を、たとえば1/8とし、生じたずれの許容量をより小さくしてもよい。
外部通信回路65は、通信ライン9を通じてコントローラ8との間の通信処理を実行する。また、外部通信回路65は、通信ライン9を通じてコントローラ8から受信した伝達比情報を、伝達比情報記憶部66に記憶させる。また、外部通信回路65は、通信ライン9を通じてコントローラ8から受信した第1の分解能を、第1の分解能記憶部67に記憶させる。また、外部通信回路65は、通信ライン9を通じてコントローラ8から受信した第2の分解能を、第2の分解能記憶部68に記憶させる。
<第1の位置データ検出回路61と第2の位置データ検出回路62の構成>
第1の位置データ検出回路61は、絶対位置検出回路611と、第1の内挿回路612と、位置検出回路613と、変換テーブル記憶部614と、を有している。第2の位置データ検出回路62は、第2の内挿回路621を有している。
変換テーブル記憶部614には、絶対位置検出用信号(M系列信号)と、入力軸の一回転内における絶対位置を示す情報であって、所定の分解能である絶対位置データとが関連付けて予め記憶されている。この絶対位置データとは、入力軸10の回転における絶対位置を示す情報である。
絶対位置検出回路611は、受光センサ303から入力された絶対位置検出用信号を、変換テーブル記憶部614で変換(デコード)することにより、絶対位置データを検出する。すなわち、絶対位置検出回路611は、受光センサ303から入力された絶対位置検出用信号に該当する絶対位置データを変換テーブル記憶部614から読み出すことにより、絶対位置検出用信号を絶対位置データに変換して、絶対位置データを検出する。
第1の内挿回路612は、受光センサ303から入力された第1のインクリメンタル信号を内挿処理する。すなわち、第1の内挿回路612は、受光センサ303から入力された2相擬似正弦波である第1のインクリメンタル信号を、電気的に細分化を行う。
位置検出回路613は、絶対位置検出回路611が出力した絶対位置データと第1の内挿回路612が内挿処理した第1のインクリメンタル信号とに基づいて、第1の位置データを検出する。具体的には、この位置検出回路613は、絶対位置検出回路611が検出した絶対位置データと、第1の内挿回路612が細分化したインクリメンタル信号とを、予め定められている算出方法により、整合をとりながら合成することによって、絶対位置検出回路611が検出した絶対位置データより高い分解能の絶対位置データである第1の位置データを算出する。
第2の内挿回路621は、第2のエンコーダ装置の磁気センサ装置402から入力された第2のインクリメンタル信号を内挿処理して第2の位置データを検出する。この第2の内挿回路621は、磁気センサ装置402から入力された2相擬似正弦波である第2のインクリメンタル信号に基づいて、予め定められている内挿処理により、第1のエンコーダ3で検知される位置分解能に近いもしくは同等の分解能で、絶対位置情報である第2の位置データを生成する。
但し、第2の内挿回路621による細分化の分割数は、第1のエンコーダ3と第2のエンコーダ4とを連結する動力伝達装置2の伝達比の倍数になる関係(この倍数値をNpとする。但し倍数値Npは2以上)とする。さらに、第1のエンコーダ3の位置分解能に近い、もしくは同等の分解能を実現するためには、第2の内挿回路621の因数である倍数値Npの値を大きくし、分解能を高める必要がある。
また、動力伝達装置2の伝達比についての値の情報である伝達比情報は、外部から(例えば通信ライン9と外部通信回路65を介して)設定できるようになっており、この設定された伝達比情報は、信号処理回路6に内蔵されている伝達比情報記憶部66に設定および保持されるようになっている。この伝達比情報記憶部66は、たとえば、不揮発性メモリである。そのため、伝達比情報は、一度設定されれば、エンコーダシステムの電源が落ちても、消えることは無い。本構成により、エンコーダシステムで使用可能な動力伝達装置2および動力伝達装置2の伝達比の、選択肢を広げることが可能となっている。
上記説明したように、この第2の内挿回路621は、伝達比情報記憶部66から読み出した伝達比情報と、磁気センサ装置402から入力された2相擬似正弦波である第2のインクリメンタル信号とに基づいて、予め定められている方法により内挿処理し、第1のエンコーダ3で検知される位置分解能に近いもしくは同等の分解能で、絶対位置情報である第2の位置データを生成する。
位置データ合成回路63は、第2のエンコーダ4から得られた第2の位置データと、伝達比情報とから、モータ1の入力軸が何回転したか、つまり第1のエンコーダ3の多回転情報を検出する。これは、第2の位置データを、第2の内挿回路621の因数Npで割ったときの商(整数部)が、第1のエンコーダ3の多回転情報に相当するためである。
この位置データ合成回路63により、従来の多回転型アブソリュートエンコーダにおいて主に多回転情報を保持するために必要とされていた外部バッテリが無くても、第2のエンコーダの位置情報から第1のエンコーダの多回転情報を知ることが可能となっている。
つまり、本実施形態によるエンコーダシステムにおいて、位置データ合成回路63が、第1のエンコーダ3によって求められた一回転内の絶対位置情報と、第2のエンコーダ4から求められる多回転情報とを整合をとりながら合成することにより、バッテリ装置を必要としない多回転型のアブソリュートエンコーダとして動作することが可能となる。
一般に、エンコーダが多く適用されるACサーボモータを用いたロボットシステムが稼動する外部環境は極めて劣悪で高温、高湿、電気的な外乱にまみれた中で動作している例が極めて多い。とりわけ電子回路に対する問題として、電界/磁界の外乱(通称“ノイズ”)によって、誤動作する可能性がある。また、一旦エンコーダシステムが誤動作すると、例えば製造ラインを長時間停止させなければならず、ノイズによる誤動作は、極めて甚大な影響をもたらす可能性がある。
本実施形態において、位置データ比較・照合回路64により、第1の位置データと第2の位置データとの2系統の位置データが常時比較され、万が一どちらかの系統に故障があった場合には、比較照合結果が不一致となる事により、エンコーダシステムの不具合を検出できる。
よって、このエンコーダシステムは、位置データ比較・照合回路64により、第1のエンコーダ3または第2のエンコーダ4から出力される位置情報の信頼性を高める事が可能となる。具体的には、このエンコーダシステムは、モータ1の回転機構の異常、動力伝達装置2の異常、第1のエンコーダ3または第2のエンコーダ4に内蔵されている回転ディスク301または回転ディスク401の異常を検出することができる。さらに、このエンコーダシステムは、従来のエンコーダシステムでは検出する事が不可能であった回転ディスク301または回転ディスク401の空転も、「異常」として検出することができる。
次に、図4を用いて、位置データ合成回路63と位置データ比較・照合回路64とで実行される処理について詳細に説明する。ここでは、第1の位置データ検出回路61の分解能すなわち位置検出回路613の分解能を13ビットとし、第2の位置データ検出回路62の分解能を11ビットとして説明する。すなわち、第1の位置データ検出回路61は、0から8191(=213−1)の範囲内の整数値である第1の位置データを出力する。そして、第2の位置データ検出回路62は、0から2047(=211−1)の範囲内の整数値である第2の位置データを出力する。また、ここでは、動力伝達装置2の伝達比を100とし、伝達比情報記憶部66には値が100の伝達比情報が予め記憶されているものとして説明する。
ここでは、一例として、第1の位置データ検出回路61が、第1の位置データの値を1000として出力し、第2の位置データ検出回路62が、第2の位置データの値として310を出力した場合について説明する。また、入力軸10の回転数量が15である場合について説明する。
まず、位置データ合成回路63について説明する。位置データ合成回路63は、合成位置データを、次の式1により算出する。
合成位置データ=P1+INT(n×P2/R2)・・・(式1)
ここで、P1は第1の位置データであり、P2は第2の位置データであり、nは伝達比である。また、R2は第2の位置データ検出回路62の分解能である。なお、INTは、小数点以下を切り捨てて、整数部分のみを抽出する演算子である。
位置データ合成回路63は、この式1により、第2の位置データ検出回路62の一回転内の位置割合(P2/R2)に伝達比(n)を乗じた値の整数部分(INT)の値に、第1の位置データ(P1)の値を加算した値を、合成位置データとして算出する。
この場合、第1の位置データP1の値が1000であり、第2の位置データP2の値が310であり、伝達比nの値が100であり、第2の位置データ検出回路62の分解能R2の値が2048であるため、位置データ合成回路63は、上記の式1により、合成位置データの値として123865を算出する。
次に、位置データ比較・照合回路64について説明する。位置データ比較・照合回路64は、まず、次の式2により、推定値を算出する。
推定値=mod(P2/R2)×n×R1・・・(式2)
ここで、R1は第1の位置データ検出回路61の分解能である。また、modは、整数部分を切り捨てて、小数部分のみを抽出する演算子である。なお、式2において、式1と同一の記号は式1と同一の物理量を示す。
位置データ比較・照合回路64は、この式2により、第2の位置データ検出回路62の一回転内の位置割合(P2/R2)の小数部分の値に、伝達比(n)と、第1の位置データ検出回路61の分解能R1とを乗じた値を、推定値として算出する。
この場合、第2の位置データP2の値が310であり、第2の位置データ検出回路62の分解能R2の値が2048であり、伝達比nの値が100であり、第1の位置データ検出回路61の分解能R1の値が8192であるため、位置データ比較・照合回路64は、上記の式2により、推定値の値として1024を算出する。
次に、位置データ比較・照合回路64は、次の式3により、誤差推定値を算出する。
誤差推定値=推定値−P1・・・(式3)
ここで、式3の推定値は、上記式2で算出した推定値である。位置データ比較・照合回路64、この式3により、算出した推定値と、第1の位置データP1との差を、誤差推定値として算出する。この場合、推定値の値が1024であり、第1の位置データP1が1000であるため、位置データ比較・照合回路64は、上記の式3により、誤差推定値の値として24を算出する。
次に、位置データ比較・照合回路64は、上述した式3により算出した誤差推定値の絶対値が、第1の位置データ検出回路61の分解能R1に対して、たとえば、1/8以下であるか否かを判定する。この場合、算出した誤差推定値の値が24であり、第1の位置データ検出回路61の分解能R1の値が8192であり、算出した誤差推定値の絶対値が、第1の位置データ検出回路61の分解能R1に対して、1/8以下であるため、位置データ比較・照合回路64は、判定結果が正常であると判定する。なお、もし、算出した誤差推定値の絶対値が、第1の位置データ検出回路61の分解能R1に対して、1/8以下でない場合には、位置データ比較・照合回路64は、異常と判定する。
上記に説明したように、本実施形態によるエンコーダシステムにおいて、入力軸10のエンコーダである第1のエンコーダ3は、所謂「1回転型アブソリュートエンコーダ」とし、数あるエンコーダの構成方式の中でも、特に、光学式と呼ばれるエンコーダとする。さらに、予め定められた伝達比を有する動力伝達装置2を用いるとともに、出力軸11に第2のエンコーダ4を設けている。
ここでキーとなるポイントは、この第2のエンコーダ4は、所謂、磁気式エンコーダとし、且つ、この第2のエンコーダ4は、第1のエンコーダ3と同様に、1回転型アブソリュートエンコーダとする点にある。
この第1のエンコーダ3および第2のエンコーダ4は、双方共に、1回転型アブソリュートエンコーダである為、外部バッテリを必要としない事が特徴である。次に、これらの構成で、何故、「多回転情報」が得られるのか、詳しく説明を加える。
ここでは、動力伝達装置2の伝達比を100として説明する。まず、入力軸10が100回転したとき、第2のエンコーダ4はちょうど、360度回転、すなわち、1回転する。仮に、第2のエンコーダ4が、内挿により、出力軸11の1回転を100のエリアに分割・細密化読み取りする1回転型アブソリュートエンコーダであったとした場合、第1のエンコーダ3と第2のエンコーダ4との両者のデータを継ぎ足す事により、エンコーダシステムとして入力軸10の多回転情報を100回転まで保持できる多回転アブソリュートエンコーダとして構成可能である。
この原理により、多回転情報を有するエンコーダシステムでありながら、外部バッテリを不要とする構成が可能になる。
また、実施形態を用いて説明したように、第1のエンコーダ3には、内挿回路(たとえば、信号処理回路6の第2の内挿回路621)が内蔵されており、所謂、「細分化読取」が行われる。これは第2のエンコーダ4から90度位相差を有した擬似正弦波が入力軸10側の第1のエンコーダ3の中まで引き込まれ、第1のエンコーダ3に内蔵される内挿回路は、この信号を基に、より細分化された位置信号に変換する(すなわち、位置を細かく割り出す)。
[作用]
ここで内挿回路により求められた信号は、分解能の設定次第では、第1のエンコーダ3とほぼ同様の位置情報データとして扱う事が可能となる。つまり、このエンコーダシステムにおいては、第1のエンコーダ3があたかも2個存在する事と等価になるのである。これらの2系統のデータを比較照合することで、真の原因は第1のエンコーダ3または第2のエンコーダ4のうち、どちらのエンコーダにあるのかは別として、何れかの系統にある種の故障が生じた場合、上記比較手段によって、この不具合を顕在化する事が可能となる。
これは、とりもなおさず、いわゆる検出系の2重化、冗長化そのものである。つまり検出系を冗長化して、エンコーダシステムの信頼性を向上させる事が可能となる。
なお、検出系は2重化されるが、1つのエンコーダは光学式のエンコーダであり、もう1つのエンコーダは磁気式のエンコーダである。この磁気式のエンコーダである第2のエンコーダ4は、光学式のエンコーダより、安価である。そのため、検出系は2重化されるが、エンコーダシステム全体としてのコストは、光学式のエンコーダを2個搭載する場合に対比して、安価となる。
一方別の視点から鑑みても、本発明には高信頼性化の為に有利に構成できる根拠がある。それは外乱に対する堅牢性の優位性である。電気的ノイズ、外乱と一般に呼ばれている電磁ノイズは、詳細には電界によるもの、磁界によるものに大別する事ができる。例えば磁気式エンコーダの場合、磁界の外乱に弱く、光学式エンコーダの場合には、一般的な電子回路と同様に、電界の影響による誤動作が主となる。
フィールドの外乱はあらゆる外乱を想定せねばならないが、上述の第1のエンコーダ3は光学式エンコーダであるので、磁気ノイズにさらされても、一切影響を受けることはない。一方、第2のエンコーダ4は磁気式エンコーダであるので、電界の外乱に対しては全く影響をうけない、堅牢なエンコーダとなる。
つまり、第1のエンコーダ3と第2のエンコーダ4とは、各々の堅牢な部分を相補的に補って、結果として堅牢なエンコーダシステムを構築できることが大きなメリットとなる。
なお、上記の説明においては、第1のエンコーダ3が信号処理回路6を内部に有しているものとして説明したが、これに限られるものではない。たとえば、信号処理回路6は、第2のエンコーダ4、または、動力伝達装置2など内部に有していてもよい。また、信号処理回路6を1つの装置とし、エンコーダシステムが、この信号処理回路6を有していてもよい。
なお、上記においては、出力軸11は動力伝達装置2により予め定められている伝達比で減速して入力軸10により回転させるものとして説明したが、この動力伝達装置2としては、1つのギアに限られるものではない。たとえば、1つまたは複数のギア、ベルト装置、チェーン装置、および、ドライブシャフト装置、または、これらの組み合わせにより、出力軸11を予め定められている伝達比で減速して入力軸10を回転させる動力伝達装置を構成し、この動力伝達装置を動力伝達装置2として用いてもよい。この場合、伝達比情報記憶部(伝達比情報記憶部)66には、この動力伝達装置の伝達比の値を示す情報が伝達比情報として記憶される。
なお、伝達比情報記憶部66または変換テーブル記憶部614は、ハードディスク装置や光磁気ディスク装置、フラッシュメモリ等の不揮発性のメモリや、CD−ROM等の読み出しのみが可能な記憶媒体、RAM(Random Access Memory)のような揮発性のメモリ、あるいはこれらの組み合わせにより構成されるものとする。
なお、図3における信号処理回路6および信号処理回路6を構成する各回路は専用のハードウェアにより実現されるものであってもよく、また、メモリおよびマイクロプロセッサにより実現させるものであってもよい。
なお、この信号処理回路6および信号処理回路6を構成する各回路は専用のハードウェアにより実現されるものであってもよく、また、この信号処理回路6および信号処理回路6を構成する各回路はメモリおよびCPU(中央演算装置)により構成され、信号処理回路6および信号処理回路6を構成する各回路の機能を実現するためのプログラムをメモリにロードして実行することによりその機能を実現させるものであってもよい。
本実施形態において、絶対位置の情報を記憶しておくための外部バッテリを不要とし、定期メンテナンスの間隔を増大させ、メンテナンスサービスの労力を軽減するエンコーダシステムおよび信号処理方法を提供することができる。
また、本実施形態において、外乱にまみれた環境下でも、致命的な影響を受けることなく、製造ラインの停止にまで至らしめるような誤動作をすることのない、堅牢なエンコーダシステムおよび信号処理方法を提供することができる。
また、本実施形態において、多回転型アブソリュートエンコーダであって、絶対位置の情報を記憶しておくための外部バッテリを不要とするとともに、系全体の機能安全に寄与することを可能とするエンコーダシステムおよび信号処理方法を提供することができる。
本実施形態において、入力軸の回転を予め定められている伝達比で出力軸を回転させる動力伝達装置を有するエンコーダシステムの信号処理回路が、第1の絶対位置エンコーダから入力された第1の検出信号から入力軸の回転における位置変位を示す第1の位置データを検出し、第2の絶対位置エンコーダから入力された第2の検出信号から出力軸の回転における位置変位を示す第2の位置データを検出し、第1の位置データと第2の位置データとを合成して入力軸の回転数とともに1回転内の位置変位を示す合成位置データを生成するとともに、第1の位置データと第2の位置データとを比較および照合することにより、多回転型アブソリュートエンコーダであって、絶対位置の情報を記憶しておくための外部バッテリを不要とするとともに、系全体の機能安全に寄与することを可能とするエンコーダシステムおよび信号処理方法を提供することが可能となる効果を奏する。
次に、別の実施形態について説明する。なお、上述した実施形態と同様の構成要素については同一の符号を付し、その説明を省略又は簡略化する。
本実施形態において、エンコーダシステムは、図5に示すように、モータ1と、動力伝達装置2と、第1のエンコーダ(第1の絶対位置エンコーダ)3と、第2のエンコーダ(第2の絶対位置エンコーダ)4と、入力軸10と、出力軸11と、第2のエンコーダから入力軸10の多回転量を示す信号を第1のエンコーダ3に送るための通信線12とを有する。また、エンコーダシステムは、上位装置であるコントローラ8と、コントローラ8と第1のエンコーダ3との間の通信線である通信ライン9と、コントローラ8とモータ1との間を接続するモータ制御線14と、を有する。
第1のエンコーダ3と第2のエンコーダ4とは、たとえば、入力軸10または出力軸11のうちの対応する軸の回転に応じて回転するN極とS極とを有する回転ディスクと、この回転ディスクの回転中心軸に対して互いの角度が90度になるようにして所定の位置に配置されている磁気センサ装置としての2つのホール素子とで、構成されている。そして、入力軸10または出力軸11が回転することにより、この軸に対応する回転ディスクがN極とS極とを有する回転磁石として回転し、これにより、ホール素子からは、一回転につき1サイクル(1パルス)の正弦波状の信号がそれぞれ出力される。なお、ホール素子は、互いに90度の角度を有して配置されているため、正弦波状の信号として、90度の位相差を有する正弦波、いわゆる2相擬似正弦波(たとえば、A、Bの2相信号)が出力される。この2相擬似正弦波の、一例としてのA相信号およびB相信号を、図7に示す。この図7については、後に詳述する。
たとえば、第2のエンコーダ4の1回転における分解能をMとし、動力伝達装置2が、1:Nの比で入力軸10と出力軸11とを連結するものとする。この場合、第1のエンコーダ3が1回転する毎に、第2のエンコーダ4が1ディジットずつ回転する。そのため、第2のエンコーダ4の角度位置により、入力軸10の多回転における回転数量を検出することができるとともに、第1のエンコーダ3の角度位置により、入力軸10の回転における位置変位を検出することが可能である。そして、このエンコーダシステムは、出力軸11が1回転するまで、入力軸10の回転におけるN×M個の回転位置、すなわち、絶対位置を検出することが可能である。
本実施形態においても、エンコーダシステムは、1回転型のアブソリュートエンコーダである第1のエンコーダ3と、1回転型のアブソリュートエンコーダである第2のエンコーダ4とを用いて、エンコーダシステム全体としては、多回転型アブソリュートエンコーダとして機能する。そのため、このエンコーダシステムにおいては、従来技術によるエンコーダシステムでは必要とされていた、絶対位置の情報を記憶しておくための外部バッテリが不要である。
本実施形態において、エンコーダシステムは、第1の信号処理回路6と第2の信号処理回路5(後述する第2の位置データ検出回路250)とを有している。たとえば、第1のエンコーダ3が、内部に、第1の信号処理回路6を有している。また、第2のエンコーダ4が、内部に、第2の信号処理回路5を有している。
この第2の信号処理回路5には、第2のエンコーダ4で検出された第2の検出信号が入力される。そして、この第2の信号処理回路5は、第2のエンコーダ4から入力された第2の検出信号に基づいて、予め定められている信号処理(第2の信号処理)して、出力軸11の回転における位置変位を示す第2の位置データを検出する。すなわち、この第2の信号処理回路5は、入力された第2の検出信号を内挿処理して、第2の位置データを検出する。
そして、この第2の信号処理回路5は、検出した第2の位置データを、通信線12を介して第1のエンコーダ3に出力する。なお、この第2の信号処理回路5は、第2の位置データを検出する場合に、たとえば、後述するように、動力伝達装置2の伝達比に対して少なくとも2倍以上の予め定められている分解能で第2の位置データを検出する。
また、第1のエンコーダ3は、内部に、第1の信号処理回路6を有している。この第1の信号処理回路6には、第2のエンコーダ4が検出した第2の位置データが、通信線12を介して入力される。また、第1の信号処理回路6は、第1のエンコーダ3が検出した第1の検出信号を内挿処理して、入力軸10の角度位置を示す第1の位置データを検出する。
そして、第1の信号処理回路6は、検出した第1の位置データと入力された第2の位置データとに基づいて、入力軸10の回転数量とともに1回転内の位置変位を示す合成位置データを検出する。そして、第1の信号処理回路6は、検出した合成位置データを、通信ライン9介して、コントローラ8に出力する。
これにより、コントローラ8においては、合成位置データにより、多回転型アブソリュートエンコーダとしてのエンコーダシステムから、入力軸10の回転数量とともに1回転内の位置変位を検出することが可能となる。そして、コントローラ8は、入力された合成位置データに基づいて、モータ制御線14を介してモータ1の回転を制御する。
なお、第1の信号処理回路6と第2の信号処理回路5とは、設定制御線13により接続されている。第1の信号処理回路6は、この設定制御線13を介して、第2の信号処理回路5が内蔵する後述の記憶部に記憶されている設定値の値を変更する。
次に、図6を用いて、図5を用いて説明したエンコーダシステムの構成、特に、第2の信号処理回路5と第1の信号処理回路6との構成について説明する。図6において、図5と同一の構成については同一の符号を付し、その説明を省略する。
<第2の信号処理回路5と第1の信号処理回路6との構成>
第2の信号処理回路5は第2の位置データ検出回路250を有している。この第2の位置データ検出回路250は、第2の内挿回路(内挿回路)251と、第2の位置検出回路(位置検出回路)252と、送信信号生成出力部253と、伝達比情報記憶部256と、第1の分解能記憶部257と、第2の分解能記憶部258と、変換情報記憶部259とを有する。一方、第1の信号処理回路6は、第1の位置データ検出回路261と、第2の位置データ補正回路262と、位置データ合成回路263と、回転数量記憶部264と、外部通信回路265と、伝達比情報記憶部266と、第1の分解能記憶部267と、第2の分解能記憶部268と、を有している。
<第2の位置データ検出回路250の各構成>
まず、第2の位置データ検出回路250の各構成について説明する。伝達比情報記憶部256には、第1のエンコーダ3と第2のエンコーダ4とを連結する予め定められている動力伝達装置2の伝達比の値を示す情報が、伝達比情報として予め記憶されている。第1の分解能記憶部257には、第1の位置データ検出回路261の分解能が第1の分解能として予め記憶されている。第2の分解能記憶部258には、第2の位置データ検出回路250の分解能が第2の分解能として予め記憶されている。
第2の内挿回路251は、第2のエンコーダ4から入力された第2の検出信号を内挿処理して第2の位置データを検出する。第2の位置検出回路252は、第2の内挿回路251が検出した第2の位置データと伝達比情報記憶部256から読み出した伝達比情報とを乗じた値を、第2の分解能記憶部258から読み出した第2の分解能の値で除算した値の整数部分の値を回転数量として算出するとともに、この除算した値の少数部分の値に第1の分解能記憶部257から読み出した第1の分解能の値を乗じた値を推定値として算出する。この推定値とは、第1のエンコーダ3により正確に検出される第1の位置データを、第2のエンコーダ4が検出した第2の検出信号に基づいて算出して推定する位置データである。
たとえば、第2の位置検出回路252は回転数量(m)と推定値とを次の式4及び式5により算出する。
回転数量(m)=INT(n(P2/R2)) ・・・ (式4)
推定値=n(P2/R2)−m ・・・ (式5)
上記の式4と式5とにおおいて、P2は第2の内挿回路251が検出した第2の位置データであり、R2は第2の分解能記憶部258に記憶されている第2の分解能であり、nは伝達比情報記憶部256から読み出した伝達比情報である。また、なお、INTは、小数点以下を切り捨てて、整数部分のみを抽出する演算子である。
このように、この第2の位置データ検出回路250は、第2の内挿回路251と第2の位置検出回路252とにより、第2のエンコーダ4が検出した第2の検出信号を内挿処理した値と伝達比情報記憶部256から読み出した伝達比情報とに基づいて、第1のエンコーダ3の回転数量を算出するとともに第1の位置データに対応する位置データを推定値として算出する。
この第2の位置データ検出回路250について、更に詳細に説明する。変換情報記憶部259には、第2の検出信号と第2の位置データとが予め関連付けて記憶されている。さらに、この変換情報記憶部259には、2相正弦波信号のうちの一方の信号が他方の信号よりも値が大きい場合には、一方の信号で他方の信号を除算した値と、この除算した値に対応する第2の位置データとが予め記憶されており、一方の信号が他方の信号よりも値が小さい場合には、他方の信号で一方の信号を除算した値と、この除算した値に対応する第2の位置データとが予め記憶されている。
第2の内挿回路251は、第2のエンコーダ4が出力する第2の検出信号に当該する第2の位置データを変換情報記憶部259から読み出して第2の位置データを検出する。さらに、この第2の内挿回路251は、2相正弦波信号のうちの一方の信号が他方の信号よりも値が大きい場合には、一方の信号で他方の信号を除算した値に基づいて、この値に該当する第2の位置データを変換情報記憶部259から読み出して、第2の位置データを検出する。一方、この第2の内挿回路251は、2相正弦波信号のうちの一方の信号が他方の信号よりも値が小さい場合には、他方の信号で一方の信号を除算した値に基づいて、この値に該当する第2の位置データを変換情報記憶部259から読み出して、第2の位置データを検出する。
ここで、図7を用いて、変換情報記憶部259に予め関連付けて記憶されている第2の検出信号と第2の位置データとについて説明する。ここでは、第2の検出信号が2相正弦波信号であり、2相正弦波信号のうちの一方の信号をA相信号とし、2相正弦波信号のうちの他方の信号をB相信号として説明する。この図7においては、横軸xが出力軸11の1回転における位相0〜2π(図面では−πからπ)、すなわち、第2の位置データに対応している。また、縦軸yが、A相信号、B相信号、および、第2の検出信号から第2の位置データを検出するための曲線Cに対応している。
ここで、A相信号とB相信号とは、それぞれホール素子から出力される正弦波であり、このホール素子は第2のエンコーダ内において90度の角度で設置されているため、その位相は90度異なる。そのため、たとえば、A相信号とB相信号とは、たとえば、SINおよびCOSという関係になる。ここでは、A相信号をSINとし、B相信号をCOS(図面上では−COS)として説明する。
A相信号の値がB相信号の値よりも大きい場合には、B相信号の値をA相信号の値で除算した値、すなわち、COSをSINで除算した値であるCOTの値を、曲線Cの値とする。逆に、A相信号の値がB相信号の値よりも小さい場合には、A相信号の値をB相信号の値で除算した値、すなわち、SINをCOSで除算した値であるTANの値を、曲線Cの値とする。変換情報記憶部259には、この曲線Cの値を介して、第2の検出信号に対応するCOTまたはTANと、第2の位置データとが関連付けて記憶されている。
第2の内挿回路251は、第2の検出信号、すなわち、2相正弦波信号のA相信号の値とB相信号の値とが第2のエンコーダ4から入力された場合、まず、A相信号の値とB相信号の値との、いずれの値が大きいかを判定する。この判定結果として、A相信号の値がB相信号の値よりも大きい場合には、第2の内挿回路251は、B相信号の値をA相信号の値で除算し、この除算した値に該当する第2の位置データを変換情報記憶部259から読み出して、第2の位置データを検出する。逆に、この判定結果として、A相信号の値がB相信号の値よりも小さい場合には、第2の内挿回路251は、A相信号の値をB相信号の値で除算し、この除算した値に該当する第2の位置データを、変換情報記憶部259から読み出して、第2の位置データを検出する。
なお、上述した変換情報記憶部259と第2の内挿回路251とにより、次のような効果がある。まず、A相信号とB相信号とは、位相によっては、いずれかの値が0に近い値となる可能性がある。この場合、値が0に近い値の一方の信号で、他方の信号を除算すると、算出する値が発散してしまう可能性があるため、正常に算出できない可能性がある。また、算出できたとしても、誤差が大きくなる可能性がある。
ここで、2相正弦波信号のA相信号とB相信号とは、位相が異なり、たとえば、COSとSINとの関係にある。よって、A相信号の値とB相信号の値とのうち、両方の値が共に0に近い値となることはない。これにより、一方の値が0に近くなるような場合においても、上述したように、値の大きい一方の信号で、他方の信号を除算することにより、除算を正常に算出できる。また、0に対比して大きな値で除算を演算することにより、除算による誤差が大きくなる可能性もなくなる。このようにして正常に除算の演算ができることにより、第2の内挿回路251は、第2の検出信号から、正常に、また、誤差を減じて、第2の位置データを検出することができる。
このように、本実施形態のおいては、A相信号の値とB相信号の値との2つの信号情報を、いずれか一方を他方で除算した値という1つの信号情報に変換し、この1つの信号情報に基づいて、第2の位置データを検出することができる。
ところで、出力軸の1回転において予め定められている位相区間毎において、第2の検出信号と第2の位置データとの間には、同じとなる関係、または、位相区間の中心となる位相の線を対称軸として鏡像対称の関係にある。たとえば、図7においては、位相の値が−πから−(3/4)πと(3/4)πからπとの第1の位相区間、−(3/4)πから−(1/4)πの第2の位相区間、−(1/4)πから(1/4)πの第3の位相区間、および、(1/4)πから(3/4)πの第4の位相区間という、対称性がある4つの位相区間を有している。そして、この第1の位相区間と第3の位相区間との位相区間において、および、第2の位相区間と第4の位相区間とにおいては、第2の検出信号と第2の位置データとの間には、同じとなる関係がある。そして、たとえば、第1の位相区間と第2の位相区間との間には、第1の位相区間における第2の検出信号と第2の位置データと、第2の位相区間の中心となる位相、すなわち、−(1/2)πを中心軸として鏡像対称とした第2の検出信号と第2の位置データとが、同じとなる関係がある。
このように、位相区間毎に第2の検出信号と第2の位置データとの間には同じまたは鏡像対称の関係があるため、変換情報記憶部259には、第2の検出信号と第2の位置データとを関連付けて、1つの位相区間分のみについて予め記憶させることができる。たとえば、図8に示すように、−(1/4)πから(1/4)πの第3の位相区間における第2の検出信号と第2の位置データとを関連付けて、1つの位相区間分のみについて予め記憶させる。これにより、変換情報記憶部259に予め記憶しておく必要がある第2の検出信号と第2の位置データとのデータ量を低減することができる。
そして、この場合、第2の内挿回路251は、出力軸の回転位置が、まず、出力軸の1回転に対応する複数の位相区間のうちのいずれの位相区間に当該するかを判定する。そして、第2の内挿回路251は、この判定した位相区間に対応して予め定められている基準位相と、変換情報記憶部259から読み出した1つの位相区間における第2の位置データとに基づいて、出力軸の回転における1回転における第2の位置データを算出して第2の位置データを検出する。たとえば、第2の内挿回路251は、この基準位相の値と第2の位置データの値とを加算して、第2の位置データを検出する。
たとえば、第2の内挿回路251は、第2の検出信号の値に基づいて予め定められている複数の条件のうち、入力された第2の検出信号の値が、いずれの条件を満たすかを判定する。そして、満たした条件に予め関連付けられている位相区間を選択することにより、出力軸の回転位置が、出力軸の1回転に対応する複数の位相区間のうちのいずれの位相区間に当該するかを判定する。
たとえば、図7において、第2の検出信号の値に基づいて予め定められている複数の条件と、この条件と関連付けられている位相区間とには、次の関係がある。
(1)A相信号の値がB相信号の値より小さく(A相信号の値<B相信号の値)、かつ、B相信号の値が正(B相信号の値>0)の場合には、第1の位相区間。
(2)A相信号の値がB相信号の値より大きく(A相信号の値>B相信号の値)、かつ、A相信号の値が負(A相信号の値<0)の場合には、第2の位相区間。
(3)A相信号の値がB相信号の値より小さく(A相信号の値<B相信号の値)、かつ、B相信号の値が負(B相信号の値<0)の場合には、第3の位相区間。
(4)A相信号の値がB相信号の値より大きく(A相信号の値>B相信号の値)、かつ、A相信号の値が正(A相信号の値<0)の場合には、第4の位相区間。
この各位相区間には、予め基準位相が定められている。たとえば、各位相区間の中心となる位相の値が、基準位相として予め定められている。たとえば、第1の位相区間の基準位相の値は−π(またはπ)であり、第2の位相区間の基準位相の値は−(1/2)πであり、第3の位相区間の基準位相の値は0であり、第4の位相区間の基準位相の値は(1/2)πである。
なお、この基準位相は、たとえば、各位相区間と関連付けて、第2の位置データ検出回路250が有する基準位相記憶部に予め記憶されていてもよい。この場合、第2の内挿回路251は、上述したように位相区間を選択し、この選択した位相区間に該当する基準位相を基準位相記憶部から読み出す。さらに、第2の内挿回路251は、2相正弦波信号のA相信号とB相信号とのうち、値が大きい一方の値で他方の値を除算し、この除算した値に該当する第2の位置データを、選択した位相区間に基づいた対称性に基づいて、変換情報記憶部259から読み出す。そして、第2の内挿回路251は、読み出した第2の位置データと読み出した基準位相とを加算して合成して、第2の位置データを検出する。
なお、上記においては、第1の位相区間から第4の位相区間という4つの位相区間に区分したが、区分方法は、これに限られるものではない。たとえば、たとえば、図8に示すように、−(1/4)πから(1/4)πの区間の第2の検出信号と第2の位置データとには、原点0について点対称性がある。そのため、0から(1/4)πの区間のみの情報があれば、−(1/4)πから0に対しての情報も、点対称性から算出できる。そのため、変換情報記憶部259に予め記憶しておく必要がある第2の検出信号と第2の位置データとは、0から(1/4)πの区間のみの情報でよく、データ量を更に低減することも可能である。
<第1の信号処理回路6の各構成>
次に、図6の第1の信号処理回路6の各構成について説明する。伝達比情報記憶部266には、伝達比情報記憶部256と同様に、第1のエンコーダ3と第2のエンコーダ4とを連結する予め定められている動力伝達装置2の伝達比の値を示す情報が、伝達比情報として予め記憶されている。第1の分解能記憶部267には、第1の分解能記憶部257と同様に、第1の位置データ検出回路261の分解能が第1の分解能として予め記憶されている。第2の分解能記憶部268には、第2の分解能記憶部258と同様に、第2の位置データ検出回路250の分解能が第2の分解能として予め記憶されている。
第1の位置データ検出回路261は、第1のエンコーダ3から入力された第1の検出信号に基づいて、予め定められている第1の信号処理により、入力軸10の角度位置を示す第1の位置データを検出する。
第2の位置データ補正回路262は、第2の位置データ検出回路250が検出した第2の位置データを、この第2の位置データと第1の位置データ検出回路261が検出した第1の位置データとに基づいて予め定められている補正処理により補正する。
位置データ合成回路263は、第1の位置データ検出回路261が検出した第1の位置データと、第2の位置データ補正回路262が補正した第2の位置データとを合成して、入力軸の回転数量とともに1回転内の位置変位を示す合成位置データを生成する。
次に、第2の位置データ補正回路262と位置データ合成回路263との構成を、より具体的に説明する。第2の位置データ補正回路262は、第2の位置データ検出回路250が検出した第2の位置データを、当該第2の位置データの値と第1の位置データ検出回路261が検出した第1の位置データの値とに基づいて予め定められている補正処理に基づいて補正する。
すなわち、第2の位置データ補正回路262は、第2の位置検出回路252の算出した推定値の値が、予め定められている第1の判定値以上であり、かつ、第1の位置データ検出回路261が検出した第1の位置データの値が、予め定められている第2の判定値より小さい場合には、第1のエンコーダ3の回転数量の整数部分の値に1の値を加算して補正する。また、第2の位置データ補正回路262は、第2の位置検出回路252の算出した推定値の値が、第1の判定値以下の予め定められている第3の判定値より小さく、かつ、第1の位置データ検出回路261が検出した第1の位置データの値が、第2の判定値以上の予め定められている第4の判定値以上である場合には、第1のエンコーダ3の回転数量の整数部分の値から1の値を減算して補正する。
上述した予め定められている第1の判定値、第2の判定値、第3の判定値、および、第4の判定値については、次の図9と図10とを用いて説明する。
次に、図9と図10とを用いて、第2の位置データ補正回路262による、回転数量の補正方法について説明する。ここでは、第1の位置データの値が17ビットである場合について説明する。
図9に示すように、入力軸10が回転するにともない出力軸11が回転し、第2の位置データの値P2に基づいて回転数量mが算出される。また、第1の位置データの値P1は0から131071(=217−1)の値を繰り返す。すなわち、第1の位置データの値P1は0から131071(=217−1)の値を繰り返すことに応じて、たとえば、回転数量mが10、11、12と順に変化する。この第1の位置データの値P1により検出される入力軸回転数量の変化位置(たとえば、第1の位置データの値P1が0となるタイミング)と、回転数量mの変化するタイミングとの間には、ずれがある。
図10に示すように、第2の位置データ補正回路262は、たとえば、第1の位置データの値P1の値が、0から32767(=217×1/4−1)の範囲にあり、かつ、算出された回転数量mが後半である場合には、回転数量mの値に補正値Δm(=1)を加算して、回転数量mの値を補正する。ここで、算出された回転数量mが後半であるとは、算出された回転数量mの値が、mではあるが、m+1に近いことを意味している。
また、図10に示すように、第2の位置データ補正回路262は、たとえば、第1の位置データの値P1の値が、98304(=217×3/4−1)から131071(=217−1)の範囲にあり、かつ、算出された回転数量mが前半である場合には、回転数量mの値に補正値Δm(=−1)を加算して、回転数量mの値を補正する。ここで、算出された回転数量mが前半であるとは、算出された回転数量mの値が、mではあるが、m−1に近いことを意味している。
ところで、算出された回転数量mが後半であるか前半であるかという判定は、推定値の値に基づいて判定する。たとえば、第2の位置データ補正回路262は、第2の位置検出回路252の算出した推定値の値が、0.5(半周)よりも小さい場合には前半であると判定し、推定値の値が0.5(半周)以上である場合には後半であると判定する。
この場合には、第1の判定値および第3の判定値の値が0.5であり、第2の判定値の値が32767(=217×1/4−1)であり、第4の判定値の値が98304(=217×3/4−1)である。すなわち、第2の判定値の値は、第1の分解能記憶部267から読み出した第1の分解能の値の1/4である。また、第4の判定値の値は、第1の分解能記憶部267から読み出した第1の分解能の値の3/4である。
この第1の判定値の値および第3の判定値の値は、第2の位置検出回路252の算出した推定値の値によって推定した入力軸10の回転位置が、入力軸10の1回転において回転の前半領域であるか後半領域であるかを検出するための判定値である。また、第2の判定値の値および第4の判定値の値は、第1のエンコーダ3が検出した回転数量の値によって検出した入力軸10の回転位置が、入力軸10の1回転において回転の前半領域(この場合、1回転の開始1/4の領域)であるか後半領域(この場合、1回転の終了1/4の領域)であるかを検出するための判定値である。
このように、第2の位置データ補正回路262は、第2の位置検出回路252の算出した推定値の値によって推定される入力軸10の回転位置が、入力軸10の1回転において回転の前半領域であるか後半領域を判定し、第1のエンコーダ3が検出した回転数量の値によって検出される入力軸10の回転位置が、入力軸10の1回転において回転の前半領域であるか後半領域であるかを判定する。そして、第2の位置データ補正回路262は、この2つの判定結果が異なる場合には、第2の位置検出回路252の算出した回転数量の値を、補正する。
具体的には、第2の位置データ補正回路262は、第2の位置検出回路252の算出した推定値の値によって推定される入力軸10の回転位置が、入力軸10の1回転において回転の後半領域であり、かつ、第1の位置データ検出回路261が検出した第1の位置データの値によって検出される入力軸10の回転位置が、入力軸10の1回転において回転の前半領域である場合には、第2の位置検出回路252の算出した回転数量の値に1を加算して補正する。
また、第2の位置データ補正回路262は、逆に、第2の位置検出回路252の算出した推定値の値によって推定した入力軸10の回転位置が、入力軸10の1回転において回転の前半領域であり、かつ、第1の位置データ検出回路261が検出した第1の位置データの値によって検出される入力軸10の回転位置が、入力軸10の1回転において回転の後半領域である場合には、第2の位置検出回路252の算出した回転数量の値に−1を加算して、すなわち、1を減算して補正する。
なお、第2の位置データ補正回路262が第2の位置検出回路252の算出した回転数量の値を補正するためには、第2の位置検出回路252の算出した推定値の値によって推定した入力軸10の回転位置が、入力軸10の1回転において回転の前半領域であるか後半領域を判定できる必要がある。すなわち、第2の位置検出回路252は、動力伝達装置2の伝達比に対して少なくとも2倍以上の予め定められている分解能で第2の位置データを検出する必要がある。そのため、少なくとも、第2の位置検出回路252は、入力軸10の1回転において回転の前半領域であるか後半領域を判定できるようにして、回転数量を第2の位置データ補正回路262に出力する必要がある。この送信方法については、後述する送信信号生成出力部253の説明において説明する。
位置データ合成回路263は、第2の位置データ補正回路262が補正した第1のエンコーダ3の回転数量の値と、第1の位置データ検出回路261が検出した第1の位置データの値とに基づいて、合成位置データを生成する。なお、この位置データ合成回路263は、第1の位置データ検出回路261が検出した第1の位置データと、第2の位置データ検出回路250が検出した第2の位置データとを合成する場合に、伝達比情報記憶部266から読み出した伝達比情報に基づいて合成位置データを合成する。
また、この位置データ合成回路263は、詳細には、第1の位置データ検出回路261が検出した第1の位置データと、第2の位置データ検出回路250が検出した第2の位置データとを合成する場合に、伝達比情報記憶部266から読み出した伝達比情報、第1の分解能記憶部267から読み出した第1の分解能、および、第2の分解能記憶部268から読み出した第2の分解能に基づいて、予め定められている算出方法により、合成位置データを合成する。
位置データ合成回路263は、位置データ合成回路263が生成した合成位置データを、外部通信回路265を介して、通信ライン9を通じてコントローラ8に出力する。
また、外部通信回路265は、通信ライン9を通じてコントローラ8との間の通信処理を実行する。たとえば、外部通信回路265は、通信ライン9を通じてコントローラ8から受信した伝達比情報を、伝達比情報記憶部266に記憶させるとともに、設定制御線13を介して伝達比情報記憶部256に記憶させる。
また、外部通信回路265は、通信ライン9を通じてコントローラ8から受信した第1の分解能を、第1の分解能記憶部267に記憶させるとともに、設定制御線13を介して第1の分解能記憶部257に記憶させる。また、外部通信回路265は、通信ライン9を通じてコントローラ8から受信した第2の分解能を、第2の分解能記憶部268に記憶させるとともに、設定制御線13を介して第2の分解能記憶部258に記憶させる。
なお、この伝達比情報記憶部266および伝達比情報記憶部256は、それぞれ、たとえば、不揮発性メモリである。そのため、伝達比情報記憶部266に記憶された伝達比情報の値は、一度設定されれば、エンコーダシステムの電源が落ちても、消えることは無い。本構成により、エンコーダシステムで使用可能な動力伝達装置2および動力伝達装置2の伝達比の、選択肢を広げることが可能となる。
また、第1の分解能記憶部257、第1の分解能記憶部267、第2の分解能記憶部258、および、第2の分解能記憶部268も、伝達比情報記憶部266および伝達比情報記憶部256と同様に、それぞれ、たとえば、不揮発性メモリである。そのため、同様に、エンコーダシステムで使用可能な動力伝達装置2および動力伝達装置2の伝達比の、選択肢を広げることが可能となる。
次に、図11を用いて、第2の位置データ検出回路250の送信信号生成出力部253について説明する。送信信号生成出力部253は、第2の位置検出回路252が算出した推定値に基づいて、回転数量の値を示すとともに、回転数量の入力軸の回転位置が入力軸の1回転において回転の前半領域であるか後半領域であるかを示す送信信号を生成して第2の位置データ補正回路262に出力する。たとえば、第2の位置データ検出回路250の送信信号生成出力部253は、算出した推定値に基づいて、算出した推定値の値が第1の判定値以上であるか否かを示すとともに、算出した推定値の値が第3の判定値より小さいか否かを示す送信信号を生成して第2の位置データ補正回路262に出力する。
この送信信号生成出力部253は、送信信号を、たとえば、互いに位相が90度異なる第1の矩形波信号である多回転A信号と第2の矩形波信号である多回転B信号として生成して出力する(図11参照)。
図11においては、入力軸が1回転することに応じて、すなわち、第1の位置データの値が0から131071をとることに応じて、多回転A信号と多回転B信号とが、HとL、HとH、LとH、および、LとL、という信号パターンに変化する。ここで、HとLとは、たとえば、電気信号の電位で予め定められたハイレベルとロウレベルとである。そして、入力軸が1回転する毎に、多回転A信号と多回転B信号とは、上記の信号パターンを繰り返す。
この送信信号生成出力部253が生成する多回転A信号と多回転B信号とは、入力軸の1回転において、伝達比nと第2の位置データ検出回路250の分解能R2とにより、次の関係となる。
多回転A信号は、R2/4nの剰余が0から2nの期間はH、それ以外はLとなる。一方、多回転B信号は、R2/4nの剰余がnから3nの期間はH、それ以外はLとなる。
送信信号生成出力部253は、たとえば、次のようにして、上述した多回転A信号と多回転B信号とを生成する。送信信号生成出力部253は、第2の位置検出回路252の算出した推定値に、第2の位置データ検出回路250の分解能R2を乗じた値に対して、4nで除算した値が、0から2nであれば、多回転A信号をHとして出力し、それ以外であれば、多回転A信号をLとして出力する。また、送信信号生成出力部253は、第2の位置検出回路252の算出した推定値に、第2の位置データ検出回路250の分解能R2を乗じた値に対して、4nで除算した値が、1nから3nであれば、多回転B信号をHとして出力し、それ以外であれば、多回転B信号をLとして出力する。
このようにして、送信信号生成出力部253は、第2の位置データ検出回路250が検出した第2の位置データに基づいて、入力軸10の回転に対応する送信信号を生成して出力する。なお、送信信号生成出力部253は、入力軸10の1回転で1周期となる複数の信号であって、複数の信号の位相がそれぞれ異なる信号を、送信信号として生成して出力する。
この送信信号は、入力軸10の1回転で1周期となる2相矩形波である。
また、このように、送信信号生成出力部253は、第2の位置データ検出回路250が算出した推定値(R2/4nの剰余)に基づいて、送信信号を生成して出力する。そして、この推定値は、伝達比情報に基づいているため、この送信信号は、伝達比情報に基づいている。すなわち、送信信号生成出力部253は、伝達比情報に基づいて、送信信号を生成して出力する。
そのため、動力伝達装置の伝達比が変更されるような場合でも、伝達比情報記憶部256に記憶されている伝達比情報の値を変更することにより、この送信信号生成出力部253は、上記に説明した送信信号を生成して出力することが可能である。よって、エンコーダシステムにおいては、伝達比が任意の動力伝達装置を用いることができる。
そして、第2の位置データ補正回路262は、第2の位置データ検出回路250の送信信号生成出力部253から入力した送信信号に基づいて、回転数量の入力軸の回転位置が入力軸の1回転において回転の前半領域であるか後半領域であるかを判定して回転数量の値を補正する。たとえば、第2の位置データ補正回路262は、第2の位置データ検出回路250の送信信号生成出力部253から入力した送信信号に基づいて、算出した推定値の値が第1の判定値以上であるか否かを判定するとともに、算出した推定値の値、第3の判定値より小さいか否かを判定して、回転数量の値を補正する。
たとえば、多回転A信号と多回転B信号とは、入力軸が1回転する毎に、HとL、HとH、LとH、および、LとL、という信号パターンで変化することにより、第2の位置データ補正回路262は、多回転A信号と多回転B信号とが、HとLまたはHとHの場合は、入力軸の1回転において回転の前半領域であると判定する。逆に、第2の位置データ補正回路262は、LとHまたはLとLの場合は、入力軸の1回転において回転の後半領域であると判定する。
より詳細には、第2の位置データ補正回路262は、多回転A信号と多回転B信号とが、HとLの場合は、入力軸の1回転において回転の開始1/4の領域であると判定する。また、第2の位置データ補正回路262は、多回転A信号と多回転B信号とが、LとLの場合は、入力軸の1回転において回転の終了1/4の領域であると判定する。
また、第2の位置データ補正回路262は、入力された多回転A信号と多回転B信号とが、HとL、HとH、LとH、および、LとL、という信号パターンで順に変化することを検出することにより、入力軸が1回転したことを検出する。また、逆に、第2の位置データ補正回路262は、入力された多回転A信号と多回転B信号とが、LとL、LとH、HとH、および、HとL、という信号パターンで順に変化することを検出することにより、入力軸が逆方向に1回転、すなわち、−1回転したことを検出する。
すなわち、第2の位置データ補正回路262は、複数の信号としての送信信号を受信し、受信した複数の信号の組み合わせに基づいて入力軸10の回転数の増加値または減少値を検出し、当該検出した回転数の増加値または減少値を、回転数量記憶部264から読み出した入力軸10の回転数量の値に加算して入力軸10の回転数量を算出する。
<起動時の設定方法>
なお、上述した送信信号では、回転数量の値が1上がったこと、または、回転数量の値が1下ったことを示す情報を、第2の信号処理回路5から第1の信号処理回路6に送信することはできるが、回転数量そのものの値を送信することはできない。そこで、エンコーダシステムの電源オン時に、回転数量の初期値を、第2の信号処理回路5から第1の信号処理回路6に出力し、第1の信号処理回路6では初期値を記憶するようにする。そして、その後は、第1の信号処理回路6は、第2の信号処理回路5からの送信信号の受信に応じて、初期値を1上げるまたは1下げることにより、回転数量の値を検出するようにする。
たとえば、第2の信号処理回路5の送信信号生成出力部253は、エンコーダシステムが電源オンされると、1KHzの周期で、上述した多回転A信号と多回転B信号との信号パターンを繰り返して多回転信号を初期値設定信号として出力する。そして、第2の信号処理回路5の送信信号生成出力部253は、第2の位置データ検出回路250が検出した第2の位置データの値に相当する信号を出力した後、この出力を停止する。すなわち、第2の信号処理回路5の送信信号生成出力部253は、初期値設定信号を、第2の位置データの値に相当する多回転信号のパルス数として出力する(図12参照)。たとえば、図12では、回転数量の値が11の場合について、送信信号生成出力部253が出力する多回転信号を示している。
そして、第2の位置データ補正回路262は、第2の信号処理回路5の送信信号生成出力部253から受信した初期値設定信号に対応する値を、回転数量記憶部264に記憶させる。その結果、第1の信号処理回路6には、回転数量の情報がセットされる。
上記の説明したように、電源オン時において、回転数量記憶部264に回転数量の情報をセットするために、たとえば、第2の信号処理回路5が、電源が投入された場合に、第2の位置データ検出回路250が検出した第2の位置データに基づいて、入力軸10の回転数量に対応する周期分の送信信号を生成して出力する送信側初期化設定部を有するようにする。また、第1の信号処理回路6が、入力軸10の回転数量に対応する周期分の送信信号を送信側初期化設定部から入力されたことに応じて、当該入力された周期分の送信信号に基づいて計数される入力軸10の回転数量の値を、回転数量記憶部264に記憶させる受信側初期化設定部を有するようにする。
この送信側初期化設定部は、送信信号生成出力部253に含まれていてもよいし、送信信号生成出力部253と一体とされていてもよい。また、この受信側初期化設定部は、第2の位置データ補正回路262または位置データ合成回路263に含まれていてもよいし、第2の位置データ補正回路262または位置データ合成回路263と一体とされていてもよい。
以降、第2の位置データ補正回路262は、第2の信号処理回路5からの送信信号の受信に応じて、回転数量記憶部264に記憶されている回転数量の値を、1上げるまたは1下げることにより、回転数量の値を検出する。
<送信信号がシリアル信号の場合>
なお、たとえば、第2の信号処理回路5が、たとえば、8n(伝達比の8倍)とし、このnの値を100として、800の分解能で10回転の位置であることを第1の信号処理回路6に送信するには、80という値を送る必要がある。
この送信信号がシリアル信号の場合には、電源がオンされると第1の信号処理回路6から第2の信号処理回路5に対して位置データ送信要求信号が8ビットのシリアルデータ+CRC3ビットで送信される。このCRCとは、Cyclic Redundancy Checkの略であり、送信されるデータに付加すると、受信側ではCRCビットを用いてシリアルデータの誤りの有無を認識することができる。
誤りがない場合は第2の信号処理回路5は位置データ送信要求信号を受けると、第2のエンコーダ4の位置情報を16ビット+CRC8ビットを、第1の信号処理回路6に3回送信する。3回送信するのはデータの信頼性をあげるためである。この時、3回のデータが一致しない場合はエラーとし、第1の信号処理回路6からエラーを示す情報をコントローラ8に送信する。これにより、初期化におけるエラーをコントローラ8で検出することができる。 このようなにシリアル信号の場合には、送信信号生成出力部253は、入力軸10の回転数に対応するシリアルデータを、送信信号として生成して出力する。
<従来の送信方法との互換性>
ところで、従来の多回転アブソリュートエンコーダはホール素子であるホール素子などの磁気センサからの信号を波形成形し、図11に示した多回転A信号および多回転B信号と同様の信号を生成している。そして、この生成した信号を信号処理装置において、モータ軸の一回転内データとの整合をとって出力データを作り出している。
本実施形態では、上述した送信信号(多回転A信号とB信号)を、第2の信号処理回路5で生成して、従来の多回転アブソリュートエンコーダの多回転信号と同様に、信号処理装置、すなわち、第1の信号処理回路6に出力している。そのため、第1の信号処理回路6は、従来の信号処理装置と同様の信号を入力することになる。
その結果、本実施形態によれば、バッテリレスでありながら、第1の信号処理回路6においては、多回転信号である多回転A信号と多回転B信号という送信信号を、従来の多回転アブソリュートエンコーダと同じ信号の扱いが可能となる。ただし、第1の信号処理回路6の内部においては、送信信号の処理、回転数量の検出、補正の処理、などは異なる。
また、たとえば、送信信号生成出力部253は、出力信号をアナログ信号として出力することも考えられるが、実施形態においては、上述したように多回転A信号と多回転B信号という2相矩形波により出力する。アナログ信号の場合には、外乱ノイズに弱く、市場で稼動させるにはノイズ対策のコストが増加する可能性がある。このアナログ信号の場合に対比して、本実施形態に示したように2相矩形波により出力することにより、外乱ノイズに強く、コストが増加しないという効果がある。
また、上述したようにシリアル通信方式で第2のエンコーダから第1のエンコーダへデータを送る場合は、2相矩形波と同様に、耐ノイズレベルは信頼性の高いものとなる。しかしながら、シリアル通信方式の場合には、第2のエンコーダに位置データをシリアルデータに変換する回路、第1のエンコーダ内に第2のエンコーダから来るシリアルデータを第1のエンコーダ内でデータ処理できるように復号回路が必要となり、コスト上昇をきたす可能性がある。これに対比して、相矩形波により出力することにより、シリアルデータに変換する回路および復号回路が不要であるため、コストの上昇を低減できる。
このように、本実施形態においては、2相矩形波を用いることにより、第2のエンコーダから第1のエンコーダの通信方式において、耐ノイズ性を低減せず、コスト上昇を抑えることができる。
さらに、従来のエンコーダにおいても、第2の検出部に相当する装置から、第1の検出部に相当する装置に対して、2相矩形波により、回転を示す信号を出力していた。ただし、この2相矩形波は、出力軸の1回転で、1周期となる信号である。
本実施形態によれば、上記に説明したように、第2の検出部から第1の検出部に2相矩形波を出力するが、この2相矩形波は、入力軸の1回転で、1周期となる信号である。
この2相矩形波は、従来のエンコーダにおいては、出力軸の1回転で1周期となる信号であるのに対して、本実施形態においては、出力軸の1回転で1周期となる信号である点で異なる。しかし、2相矩形波という信号形式としては、同一である。
そのため、本実施形態によれば第2の検出部から、従来の多回転アブソリュートエンコーダの多回転信号と同一形態の信号を位置データ合成回路に送信することになる。よって、バッテリバックアップの多回転アブソリュートエンコーダシステムを、コントローラを改造することなしに、バッテリレス多回転アブソリュートエンコーダシステムを構築できるという効果を奏する。
<エンコーダシステムの動作>
次に、図13を用いてエンコーダシステムの動作について説明する。まず、入力軸10の回転にともない、出力軸11が回転する(ステップS801)。この出力軸11の回転に応じて、第2のエンコーダ4が、第2の検出信号(2相擬似矩形波であるA相信号とB相信号)を第2の位置データ検出回路250に出力する(ステップS802)。
第2の検出信号が入力されたことに応じて、第2の位置データ検出回路250の第2の内挿回路251は、A相信号の値とB相信号の値とから、該当する位相領域を判定する(ステップS803)。次に、第2の内挿回路251は、A相信号の値とB相信号の値とで、値の大きい一方の信号で他方の信号を除算する(ステップS804)。次に、第2の内挿回路251は、除算して算出した値に該当する第2の位置データを、変換情報記憶部259から読み出して、第2の位置データを検出する(ステップS805)。
次に、第2の位置データ検出回路250の第2の位置検出回路252は、第2の内挿回路251が検出した第2の位置データに基づいて、回転数量と推定量とを算出する(ステップS806)。次に、第2の位置データ検出回路250の送信信号生成出力部253は、算出した推定量に基づいて、送信信号を生成して第2の位置データ補正回路262に出力する(ステップS807)。
一方、ステップS801で、この入力軸10の回転に応じて、第1のエンコーダ3が、第1の検出信号を第1の位置データ検出回路261に出力する(ステップS812)。第1の検出信号が入力されたことに応じて、第1の位置データ検出回路261が、内挿処理により第1の位置データの値を検出する(ステップS813)。
次に、第2の位置データ補正回路262は、第1の位置データ検出回路261が検出した第1の位置データの値と、送信信号として受信した第2の位置データ検出回路250が算出した推定値とに基づいて、算出した推定値の値を、1だけ増加または1だけ減少させて補正する(ステップS821)。
次に、位置データ合成回路263は、第2の位置データ補正回路262が補正した第1のエンコーダ3の回転数量の値と、第1の位置データ検出回路261が検出した第1の位置データの値とに基づいて、合成位置データを生成し(ステップS822)、コントローラ8に外部通信回路265を介して出力する。そしてコントローラ8が、モータ制御線14を介して、モータ1の動作を制御する。
ここで、従来例において、ギアなどの動力伝達装置により入力軸の回転により予め定められている伝達比で出力軸が回転するようにしておき、入力軸の角度位置を検出するとともに、出力軸の角度位置を検出し、検出した出力軸の角度位置より入力軸の回転数量を検出することが考えられる。そして、検出した入力軸の角度位置と出力軸の位置変位から検出した回転数量とを合成することにより、入力軸の複数回転における絶対位置である合成位置を生成することが考えられる。
一従来例として、図16を参照して、合成位置の合成方法について説明する。図16に示すように、入力軸の回転を示す情報と出力軸の回転を示す情報との間に、ずれが無い場合には、入力軸の角度位置を示す第1の位置データの値P1と、出力軸の角度位置より検出した入力軸の回転数量mとの間には、ずれが無い。この場合、たとえば次の式6により、合成位置を正常に生成することができる。この場合には、図16に示すように、合成位置は、入力軸の回転に伴い、連続して変化する。
合成位置=m×α+P1 ・・・ (式6)
この式6において、mは出力軸の角度位置から算出される入力軸の回転数量であり、P1は入力軸の角度位置であり、αは第1のエンコーダの分解能であり、たとえば、図16であれば、このαの値は、131072となる。
しかしながら、一般には、図17に示すように、入力軸の回転を示す情報と出力軸の回転を示す情報との間には、ずれが生じる。これは、入力軸とギア、および、ギアと出力軸との間の噛み合わせに起因するずれであり、物理的に生じるものである。
このようなずれがある場合には、たとえば、図17に符号X1で示すように、本来、入力軸の回転数量mの値を10として算出すべき場合に、入力軸の回転数量mの値を9として算出してしまう場合がある。また、たとえば、図17に符号X2で示すように、本来、入力軸の回転数量mの値を11として算出すべき場合に、入力軸の回転数量mの値を10として算出してしまう場合がある。このような場合には、図17に示すように、合成位置は、入力軸の回転に伴い、不連続に変化してしまうという問題がある。
また、上記の方法においては、入力軸の回転における位置変位を検出するとともに、出力軸の回転における位置変位を検出する必要があるため、入力軸と出力軸とのうちの一方の軸を検出する装置から他方の装置へ、検出信号を正常に出力する必要がある。
従来、この出力は、この出力により合成位置を合成できるとともに、ずれを補正できるような出力方法である必要があるが、このような出力方法が無いという問題があった。
本実施形態において、図13を用いて説明したエンコーダシステムの動作により、エンコーダシステムは、図14に示すように、第2の位置データの値P2により算出した回転数量mおよび推定値と、第1の位置データの値P1との間にずれが生じる場合でも、回転数量mの値を補正することができる。そのため、入力軸10の回転と出力軸11の回転との間に動力伝達装置2による物理的なずれが生じる場合においても、入力軸10の回転における変位位置と出力軸11の回転における変位位置とを正常に合成して、入力軸10の複数回転における絶対位置である合成位置を生成することができる。よって、図17に示したように、合成位置データが不連続となることなくことがない。
また、第2の位置データ検出回路の送信信号生成出力部253は、回転数量の値を示すとともに、回転数量の入力軸の回転位置が入力軸の1回転において回転の前半領域であるか後半領域であるかを示す送信信号を生成して第2の位置データ補正回路262に出力する。これにより、入力軸10と出力軸11とのうちの一方の軸を検出する装置である第2の信号処理回路5から、他方の装置である第1の信号処理回路6へ、検出信号を正常に出力することができる。
本実施形態において、入力軸と出力軸とのうちの一方の軸を検出する装置から他方の装置へ、検出信号を正常に出力することができ、この出力により合成位置を合成できるとともにずれを補正できるエンコーダシステム、信号処理方法、および、送信信号生成出力装置を提供することができる。
本実施形態において、入力軸の回転と出力軸の回転との間に動力伝達装置による物理的なずれが生じる場合においても、入力軸の回転における変位位置と出力軸の回転における変位位置とを正常に合成して、入力軸の複数回転における絶対位置である合成位置を生成することができるエンコーダシステム、信号処理方法、および、送信信号生成出力装置を提供することができる。
本実施形態において、2の位置データ検出回路の送信信号生成出力部が、第2の位置データ検出回路が検出した第2の位置データに基づいて、入力軸の回転に対応する送信信号を生成して出力することにより、入力軸と出力軸とのうちの一方の軸を検出する装置から他方の装置へ、検出信号を正常に出力することができ、この出力により合成位置を合成できるとともにずれを補正できるという効果を奏する。
本実施形態において、第2の位置データ補正回路が第2の位置データ検出回路の検出した第2の位置データを補正して、位置データ合成回路が第1の位置データと補正した第2の位置データとを合成することにより、絶対位置の情報を記憶しておくための外部バッテリを不要とするとともに、入力軸の回転と出力軸の回転との間に動力伝達装置による物理的なずれが生じる場合においても、入力軸の回転における変位位置と出力軸の角度位置とを正常に合成して、入力軸の複数回転における絶対位置である合成位置を生成することができるという効果を奏する。
<信頼性・安全性を向上させる構成>
次に、図15に示すブロック図を用いて、信頼性・安全性を向上させる実施形態の構成について説明する。図1から図10を用いて説明した実施形態では、第2の信号処理回路5から送出された信号は、第1の信号処理回路6に入力され、第1の信号処理回路6内の基板回路で信号処理をしてから、単一のケーブルである通信ライン9を介して、第1の信号処理回路6から上位のコントローラ8に送出されている。
もし、第1の信号処理回路6の基板上にある部品が故障した場合や、基板とケーブルをつなぐコネクタの不良や、第1の信号処理回路6とコントローラ8を接続しているケーブルが断線した場合、第2の信号処理回路5の信号がコントローラ8に送出できなくなると言う事態になり、エンコーダシステムとしての回路全体の信頼性・安全性に問題が生じる可能性がある。
そこで、図15に示す構成では、このような問題を回避し、信頼性・安全性を向上させた構成になっている。つまり、第1の信号処理回路6は、第1のエンコーダ3からの信号と第2のエンコーダ4からの信号を同一基板で処理せず、それぞれ別基板、別コネクタ、別ケーブルにして、コントローラ8に別々に信号送出する構成とする。
たとえば、少なくとも第1の位置データ検出回路261を有する第1の検出信号処理回路6A(第1の処理回路)が、第1の位置データ検出回路261が検出した第1の位置データを上位装置であるコントローラ8に、第1の通信線である通信ライン9Aを介して出力する第1の外部通信回路を有する。また、少なくとも第2の位置データ補正回路262を有する第2の検出信号処理回路6B(第2の処理回路)が、第2の位置データ補正回路262が補正した第2の位置データを上位装置であるコントローラ8に、第2の通信線である通信ライン9Bを介して出力する第2の外部通信回路を有する。そして、第1の検出信号処理回路6Aと第2の検出信号処理回路6Bとが異なる基盤上に構成されている。
したがって、第1のエンコーダ3が検出した検出信号と第2のエンコーダ4が検出した検出信号とが、完全に別系統で処理され、独立となるため、いずれか一方の検出部および処理部で故障が発生して、一方の検出信号が送出できない場合でも、他方の検出部からの検出信号の送出には故障の影響が出ることはない。これにより、コントローラ8では、両者の検出信号を比較することにより、いずれか一方が故障したことを検出することが可能となる。よって、エンコーダシステムの信頼性・安全性を向上することができる。
なお、スペースの都合で、同図面上において点線枠部に示すように、第1の信号処理回路6の基板部材のみ共用し、共用基板内部に第1の検出信号処理回路6Aと第2の検出信号処理回路6Bとを完全に分離して構成する事も出来る。
なお、上記のようにエンコーダシステムの信頼性・安全性を向上するために、次にように構成してもよい。すなわち、少なくとも第1の位置データ検出回路261を有する第1の信号処理回路6が、第1の位置データ検出回路261が検出した第1の位置データを上位装置であるコントローラ8に出力する第3の外部通信回路(外部通信回路265)を有する。また、少なくとも第2の位置データ検出回路250を有する第2の信号処理回路5が、第2の位置データ検出回路250が検出した第2の位置データを上位装置であるコントローラ8に出力する第4の外部通信回路を有する。そして、第1の外部通信回路と第2の外部通信回路とは、異なる基盤上に構成されている。
なお、上述した第1のエンコーダ3または第2のエンコーダ4は、それぞれ、磁気式のエンコーダであってもよいし、光学式のエンコーダであってもよい。
なお、上述した伝達比情報記憶部256と伝達比情報記憶部266、第1の分解能記憶部257と第1の分解能記憶部267、および、第2の分解能記憶部258と第2の分解能記憶部268には、それぞれ、同一の情報が記憶される。そこで、伝達比情報記憶部256と伝達比情報記憶部266、第1の分解能記憶部257と第1の分解能記憶部267、および、第2の分解能記憶部258と第2の分解能記憶部268を、それぞれ、一体として構成して、第1の信号処理回路6または第2の信号処理回路5のうちいずれか一方、または、エンコーダシステムが有するようにしてもよい。そして、第1の信号処理回路6および第2の信号処理回路5は、これら一体とした記憶部から、それぞれ読み出すようにしてもよい。
なお、上記の説明においては、第2の位置データ補正回路262は、送信信号生成出力部253から入力された送信信号に基づいて、入力軸10の回転数量を計数し、当該計数した回転数量を、当該計数した回転数量と第1の位置データ検出回路が検出した第1の位置データとに基づいて予め定められている補正処理により補正するとして説明した。
しかし、この送信信号生成出力部253から入力された送信信号は、位置データ合成回路263に入力されてもよい。この場合には、位置データ合成回路263は、送信信号生成出力部253から入力された送信信号に基づいて、入力軸10の回転数量を計数するとともに、当該計数した回転数量と第1の位置データ検出回路が検出した第1の位置データとを合成して、入力軸10の回転数量とともに入力軸10の角度位置を示す合成位置データを生成する。
また、この場合には、位置データ合成回路263が、複数の信号としての送信信号を受信し、受信した複数の信号の組み合わせに基づいて入力軸10の回転数の増加値または減少値を検出し、当該検出した回転数の増加値または減少値を、回転数量記憶部264から読み出した入力軸10の回転数量の値に加算して入力軸10の回転数量を算出するようにする。
また、これらの記憶部は、ハードディスク装置や光磁気ディスク装置、フラッシュメモリ等の不揮発性のメモリや、CD−ROM等の読み出しのみが可能な記憶媒体、RAM(Random Access Memory)のような揮発性のメモリ、あるいはこれらの組み合わせにより構成されるものとする。
なお、図6における第1の信号処理回路6および第2の信号処理回路5を構成する各回路は専用のハードウェアにより実現されるものであってもよく、また、メモリおよびマイクロプロセッサにより実現させるものであってもよい。
なお、この第1の信号処理回路6および第2の信号処理回路5を構成する各回路は専用のハードウェアにより実現されるものであってもよく、また、この第1の信号処理回路6および第2の信号処理回路5を構成する各回路はメモリおよびCPU(中央演算装置)により構成され、第1の信号処理回路6および第2の信号処理回路5を構成する各回路の機能を実現するためのプログラムをメモリにロードして実行することによりその機能を実現させるものであってもよい。
次に、さらに別の実施形態について説明する。なお、上述した実施形態と同様の構成要素については同一の符号を付し、その説明を省略又は簡略化する。
本実施形態において、エンコーダシステムは、先の図5に示したように、モータ1と、動力伝達装置2と、第1のエンコーダ(第1の絶対位置エンコーダ)3と、第2のエンコーダ(第2の絶対位置エンコーダ)4と、入力軸10と、出力軸11と、を有する。また、エンコーダシステムは、上位装置であるコントローラ8と、コントローラ8と第1のエンコーダ3との間の通信線である通信ライン9と、コントローラ8とモータ1との間を接続するモータ制御線14と、を有する。また、第1のエンコーダ3と第2のエンコーダ4とは、通信線12および設定制御線13により接続されている。
本実施形態においても、エンコーダシステムは、1回転型のアブソリュートエンコーダである第1のエンコーダ3と、1回転型のアブソリュートエンコーダである第2のエンコーダ4とを用いて、エンコーダシステム全体としては、多回転型アブソリュートエンコーダとして機能する。そのため、このエンコーダシステムにおいては、従来技術によるエンコーダシステムでは必要とされていた、絶対位置の情報を記憶しておくための外部バッテリが不要である。
本実施形態において、エンコーダシステムは、第1の信号処理回路6と第2の信号処理回路5(後述する第2の位置データ検出回路350)とを有している。たとえば、第1のエンコーダ3が、内部に、第1の信号処理回路6を有している。また、第2のエンコーダ4が、内部に、第2の信号処理回路5を有している。
この第2の信号処理回路5には、第2のエンコーダ4で検出された第2の検出信号が入力される。そして、この第2の信号処理回路5は、第2のエンコーダ4から入力された第2の検出信号に基づいて、予め定められている信号処理により、出力軸11の角度位置を示す第2の位置データを検出する。すなわち、この第2の信号処理回路5は、入力された第2の検出信号を内挿処理して、第2の位置データを検出する。
そして、この第2の信号処理回路5は、検出した第2の位置データを、通信線12を介して第1のエンコーダ3に出力する。なお、この第2の信号処理回路5は、第2の位置データを検出する場合に、たとえば、動力伝達装置2の伝達比に対して少なくとも2倍以上の予め定められている分解能で第2の位置データを検出する。なお、このように少なくとも2倍以上とするのは、後述するように、第2の位置データにより示される回転が、回転の前半であるか後半であるかを判定できるようにするためである。
また、第1のエンコーダ3は、内部に、第1の信号処理回路6を有している。この第1の信号処理回路6には、第2のエンコーダ4が検出した第2の位置データが、通信線12を介して入力される。また、第1の信号処理回路6は、第1のエンコーダ3が検出した第1の検出信号を内挿処理して、入力軸10の角度位置を示す第1の位置データを検出する。
そして、第1の信号処理回路6は、検出した第1の位置データと入力された第2の位置データとに基づいて、入力軸10の回転数量とともに1回転内の角度位置を示す合成位置データを検出する。そして、第1の信号処理回路6は、検出した合成位置データを、通信ライン9介して、コントローラ8に出力する。
これにより、コントローラ8においては、合成位置データにより、多回転型アブソリュートエンコーダとしてのエンコーダシステムから、入力軸10の回転数量とともに1回転内の角度位置を検出することが可能となる。そして、コントローラ8は、入力された合成位置データに基づいて、モータ制御線14を介してモータ1の回転を制御する。
また、第1の信号処理回路6は、第1の位置データと第2の位置データとに基づいて、入力軸10の回転方向と出力軸11の回転方向とが、同じ方向であるか否か、または、逆の方向であるか否かを判定する。すなわち、第1の信号処理回路6は、入力軸10の回転方向と出力軸11の回転方向とが、正常な回転の関係にあるか否かを判定する。なお、動力伝達装置2の予め定められた伝達方向の設定により、入力軸10の回転に応じて出力軸11が回転する方向は、同じ方向が正常な回転の関係である場合もあるし、逆の方向が正常な回転の関係である場合もある。
よって、第1の信号処理回路6は、動力伝達装置2の予め定められた伝達方向の設定により、入力軸10の回転方向と出力軸11の回転方向とが、同じ方向であるか否かを判定することにより正常な回転の関係にあるか否かを判定する場合がある。また、逆に、第1の信号処理回路6は、動力伝達装置2の予め定められた伝達方向の設定により、入力軸10の回転方向と出力軸11の回転方向とが、逆の方向であるか否かを判定することにより正常な回転の関係にあるか否かを判定する場合がある。
なお、第1の信号処理回路6と第2の信号処理回路5とは、設定制御線13により接続されている。第1の信号処理回路6は、この設定制御線13を介して、第2の信号処理回路5が内蔵する後述の記憶部に記憶されている設定値の値を変更する。
次に、図18を用いて、図5を参照して説明したエンコーダシステムの構成、特に、第2の信号処理回路5と第1の信号処理回路6との構成について説明する。図18において、図5と同一の構成については同一の符号を付し、その説明を省略する。
<第2の信号処理回路5と第1の信号処理回路6との構成>
第2の信号処理回路5は第2の位置データ検出回路350を有している。この第2の位置データ検出回路350は、第2の内挿回路351と、第2の位置検出回路352と、送信信号生成出力部353と、伝達比情報記憶部356と、第1の分解能記憶部357と、第2の分解能記憶部358と、を有する。一方、第1の信号処理回路6は、第1の位置データ検出回路361と、第2の位置データ補正回路362と、位置データ合成回路363と、回転数量記憶部364と、外部通信回路365と、伝達比情報記憶部366と、第1の分解能記憶部367と、第2の分解能記憶部368と、回転方向検出部3610と、電源供給監視回路3611と、回転方向情報記憶部3612と、回転方向情報設定部3613と、を有している。
<第2の信号処理回路5の各構成>
まず、第2の信号処理回路5が有する第2の位置データ検出回路350の各構成について説明する。伝達比情報記憶部356には、第1のエンコーダ3と第2のエンコーダ4とを連結する予め定められている動力伝達装置2の伝達比の値を示す情報が、伝達比情報として予め記憶されている。第1の分解能記憶部357には、第1の位置データ検出回路361の分解能が第1の分解能として予め記憶されている。第2の分解能記憶部358には、第2の位置データ検出回路350の分解能が第2の分解能として予め記憶されている。
第2の内挿回路351は、第2のエンコーダ4から入力された第2の検出信号を内挿処理して第2の位置データを検出する。第2の位置検出回路352は、第2の内挿回路351が検出した第2の位置データと伝達比情報記憶部356から読み出した伝達比情報とを乗じた値を、第2の分解能記憶部358から読み出した第2の分解能の値で除算した値の整数部分の値を回転数量として算出するとともに、この除算した値の少数部分の値に第1の分解能記憶部357から読み出した第1の分解能の値を乗じた値を推定値として算出する。この推定値とは、第1のエンコーダ3により正確に検出される第1の位置データを、第2のエンコーダ4が検出した第2の検出信号に基づいて算出して推定する位置データである。
たとえば、第2の位置検出回路352は回転数量mと推定値sとを次の式7及び式8により算出する。
m=INT(n(P2/R2)) ・・・ (式7)
s=R1×(n(P2/R2)−m) ・・・ (式8)
上記の式7と式8とにおいて、P2は第2の内挿回路351が検出した第2の位置データであり、R1は第1の分解能記憶部357に記憶されている第1の分解能であり、R2は第2の分解能記憶部358に記憶されている第2の分解能であり、nは伝達比情報記憶部356から読み出した伝達比情報である。また、なお、INTは、小数点以下を切り捨てて、整数部分のみを抽出する演算子である。
このように、この第2の位置データ検出回路350は、第2の内挿回路351と第2の位置検出回路352とにより、第2のエンコーダ4が検出した第2の検出信号を内挿処理した値と伝達比情報記憶部356から読み出した伝達比情報とに基づいて、第1のエンコーダ3の回転数量を算出するとともに第1の位置データに対応する位置データを推定値として算出する。
送信信号生成出力部353は、第2の位置検出回路352が算出した推定値に基づいて、入力軸10の回転数量の値を示す送信信号を生成して第2の位置データ補正回路362に出力する。この送信信号生成出力部353は、送信信号を、たとえば、互いに位相が90度異なる第1の矩形波信号である多回転A信号と第2の矩形波信号である多回転B信号である2相信号として生成して出力する(図11参照)。なお、この2相信号は、外来のノイズなどに耐性を有するようにするために、波形が矩形波となる2相矩形波信号であることが望ましい。
図11においては、入力軸が1回転することに応じて、すなわち、第1の位置データの値が0から131071をとることに応じて、多回転A信号と多回転B信号とが、HとL、HとH、LとH、および、LとL、という信号パターンに変化する。ここで、HとLとは、たとえば、電気信号の電位で予め定められたハイレベルとロウレベルとである。そして、入力軸が1回転する毎に、多回転A信号と多回転B信号とは、上記の信号パターンを繰り返す。
この送信信号生成出力部353が生成する多回転A信号と多回転B信号とは、入力軸の1回転において、伝達比nと第2の位置データ検出回路350の分解能R2とにより、次の関係となる。
多回転A信号は、R2/4nの剰余が0から2nの期間はH、それ以外はLとなる。一方、多回転B信号は、R2/4nの剰余がnから3nの期間はH、それ以外はLとなる。
送信信号生成出力部353は、たとえば、次のようにして、上述した多回転A信号と多回転B信号とを生成する。送信信号生成出力部353は、第2の位置検出回路352の算出した推定値に、第2の位置データ検出回路350の分解能R2を乗じた値に対して、4nで除算した値が、0から2nであれば、多回転A信号をHとして出力し、それ以外であれば、多回転A信号をLとして出力する。また、送信信号生成出力部353は、第2の位置検出回路352の算出した推定値に、第2の位置データ検出回路350の分解能R2を乗じた値に対して、4nで除算した値が、1nから3nであれば、多回転B信号をHとして出力し、それ以外であれば、多回転B信号をLとして出力する。
<第1の信号処理回路6の各構成>
次に、第1の信号処理回路6の各構成について説明する。伝達比情報記憶部366には、伝達比情報記憶部356と同様に、第1のエンコーダ3と第2のエンコーダ4とを連結する予め定められている動力伝達装置2の伝達比の値を示す情報が、伝達比情報として予め記憶されている。第1の分解能記憶部367には、第1の分解能記憶部357と同様に、第1の位置データ検出回路361の分解能が第1の分解能として予め記憶されている。第2の分解能記憶部368には、第2の分解能記憶部358と同様に、第2の位置データ検出回路350の分解能が第2の分解能として予め記憶されている。
第1の位置データ検出回路361は、第1のエンコーダ3から入力された第1の検出信号に基づいて、予め定められている第1の信号処理(内挿処理)により、入力軸10の角度位置を示す第1の位置データを検出する。
第2の位置データ補正回路362は、第2の位置データ検出回路350が検出した第2の位置データを、この第2の位置データと第1の位置データ検出回路361が検出した第1の位置データとに基いて予め定められている補正処理により補正する。
位置データ合成回路363は、第2の位置データ補正回路362が補正した第1のエンコーダ3の回転数量の値と、第1の位置データ検出回路361が検出した第1の位置データの値とに基づいて、合成位置データを生成する。なお、この位置データ合成回路363は、第1の位置データ検出回路361が検出した第1の位置データと、第2の位置データ検出回路350が検出した第2の位置データとを合成する場合に、伝達比情報記憶部366から読み出した伝達比情報に基づいて合成位置データを合成する。
また、この位置データ合成回路363は、詳細には、第1の位置データ検出回路361が検出した第1の位置データと、第2の位置データ検出回路350が検出した第2の位置データとを合成する場合に、伝達比情報記憶部366から読み出した伝達比情報、第1の分解能記憶部367から読み出した第1の分解能、および、第2の分解能記憶部368から読み出した第2の分解能に基づいて、予め定められている算出方法により、合成位置データを合成する。
例えば、位置データ合成回路363は、合成位置データを、次の式9により算出する。
合成位置データ=P1+R1×INT(n×P2/R2) ・・・ (式9)
ここで、P1は第1の位置データであり、P2は第2の位置データであり、nはギア比である。また、R1は第1の位置データ検出回路361の分解能であり、R2は第2の位置データ検出回路350の分解能である。なお、INTは、小数点以下を切り捨てて、整数部分のみを抽出する演算子である。
位置データ合成回路363は、この式9により、第2の位置データ検出回路350の一回転内の位置割合(P2/R2)にギア比(n)を乗じた値の整数部分(INT)の値に、第1の位置データ(P1)の値を加算した値を、合成位置データとして算出する。
また、位置データ合成回路363は、位置データ合成回路363が生成した合成位置データを、外部通信回路365を介して、通信ライン9を通じてコントローラ8に出力する。
回転方向検出部3610は、第1の位置データの変位に基づいて検出する入力軸10の回転方向と、第2の位置データの変位に基づいて検出する出力軸11の回転方向とが、同じ方向であるか否か、または、逆の方向であるか否かを検出する。
外部通信回路365は、入力軸10の回転方向と出力軸11の回転方向とが、同じ方向であるか否か、または、逆の方向であるか否かを検出することを示す情報を制御信号として、コントローラ8から受信する。たとえば、コントローラ8が、この制御信号を外部通信回路365に通信ライン9を介して送信する。そして、回転方向検出部3610は、制御信号を外部通信回路365が受信したことに応じて、入力軸10の回転方向と出力軸11の回転方向とが、同じ方向であるか否か、または、逆の方向であるか否かを検出する。
これにより、コントローラ8から、制御信号を送信することにより、回転方向検出部3610による検出を実行することが可能となる。なお、このコントローラ8からの制御信号の送信は、たとえば、予め定められている一定期間ごとに行うことも可能であるし、オペレータの操作により手動で行うことも可能である。そのため、本実施形態によるエンコーダシステムにおいては、定期的に、または、任意の時間において、回転方向検出部3610による検出を実行することが可能となる。
電源供給監視回路3611は、当該エンコーダシステムに電源が供給されたことを検出する。そして、回転方向検出部3610は、電源が供給されたことを電源供給監視回路3611が検出した場合に、入力軸10の回転方向と出力軸11の回転方向とが、同じ方向であるか否か、または、逆の方向であるか否かを検出する。これにより、当該エンコーダシステムの起動毎に、回転方向検出部3610による検出を実行することが可能となる。
回転方向情報記憶部3612には、入力軸10の回転方向と出力軸11の回転方向とが、同じ方向であることを示す情報、または、逆の方向であることを示す情報が回転方向情報として予め記憶されている。そして、回転方向検出部3610は、回転方向情報記憶部3612から読み出した回転方向情報が、入力軸10の回転方向と出力軸11の回転方向とが同じ方向であることを示す場合には、検出した入力軸10の回転方向と検出した出力軸11の回転方向とが、同じ方向であるか否かを検出する。また、回転方向検出部3610は、回転方向情報記憶部3612から読み出した回転方向情報が、入力軸10の回転方向と出力軸11の回転方向とが逆の方向であることを示す場合には、検出した入力軸10の回転方向と検出した出力軸11の回転方向とが、逆の方向であるか否かを検出する。
これにより、入力軸10の回転方向と出力軸11の回転方向とが、同じ方向である場合であっても、また、逆の方向である場合であっても、回転方向検出部3610は、入力軸10と出力軸11との回転方向における関係を、正常に検出を実行することが可能となる。
また、外部通信回路365が、入力軸10の回転方向と出力軸11の回転方向とが、同じ方向であることを示す情報、または、逆の方向であることを示す情報を設定情報として、コントローラ8から受信する。たとえば、コントローラ8が、この設定情報を外部通信回路365に通信ライン9を介して送信する。そして、回転方向情報設定部3613は、外部通信回路365が受信した設定情報を、回転方向情報として回転方向情報記憶部3612に記憶させる。
これにより、コントローラ8から、設定情報を設定することが可能である。そのため、入力軸10の回転方向と出力軸11の回転方向とが、同じ方向である場合であっても、また、逆の方向である場合であっても、容易に設定を変更することが可能となる。よって、動力伝達装置2の変更を、容易にすることができる。
また、回転方向検出部3610は、回転方向情報記憶部3612から読み出した回転方向情報が、入力軸10の回転方向と出力軸11の回転方向とが同じ方向であることを示し、かつ、検出した結果が、入力軸10の回転方向と出力軸11の回転方向とが同じ方向でない場合には、当該検出した結果を異常信号として、外部通信回路365と通信ライン9とを介して、コントローラ8に送信する。また、回転方向検出部3610は、回転方向情報記憶部3612から読み出した回転方向情報が、入力軸10の回転方向と出力軸11の回転方向とが逆の方向であることを示し、かつ、検出した結果が、入力軸10の回転方向と出力軸11の回転方向とが逆の方向でない場合には、当該検出した結果を異常信号としてコントローラ8に送信する。これにより、コントローラ8、ないし、コントローラ8を操作するオペレータは、エンコーダシステムの回転における異常を検出することができる。
そして、コントローラ8は、異常信号を受信したことに応じて、モータ1の回転をモータ制御線14を介して停止させる。このように、コントローラ8が、異常信号を受信したことに応じて、モータ1の回転を停止させることにより、エンコーダシステムの故障ないし異常動作に起因する2次的な障害を防止することができる。
また、外部通信回路365は、通信ライン9を通じてコントローラ8との間の通信処理を実行する。たとえば、外部通信回路365は、通信ライン9を通じてコントローラ8から受信した伝達比情報を、伝達比情報記憶部366に記憶させるとともに、設定制御線13を介して伝達比情報記憶部356に記憶させる。
また、外部通信回路365は、通信ライン9を通じてコントローラ8から受信した第1の分解能を、第1の分解能記憶部367に記憶させるとともに、設定制御線13を介して第1の分解能記憶部357に記憶させる。また、外部通信回路365は、通信ライン9を通じてコントローラ8から受信した第2の分解能を、第2の分解能記憶部368に記憶させるとともに、設定制御線13を介して第2の分解能記憶部358に記憶させる。
なお、この伝達比情報記憶部366および伝達比情報記憶部356は、それぞれ、たとえば、不揮発性メモリである。そのため、伝達比情報記憶部366に記憶された伝達比情報の値は、一度設定されれば、エンコーダシステムの電源が落ちても、消えることは無い。本構成により、エンコーダシステムで使用可能な動力伝達装置2および動力伝達装置2の伝達比の、選択肢を広げることが可能となる。
また、第1の分解能記憶部357、第1の分解能記憶部367、第2の分解能記憶部358、および、第2の分解能記憶部368も、伝達比情報記憶部366および伝達比情報記憶部356と同様に、それぞれ、たとえば、不揮発性メモリである。そのため、同様に、エンコーダシステムで使用可能な第1の位置データ検出回路361および第2の位置データ検出回路350の分解能の値について、選択肢を広げることが可能となる。
回転数量記憶部364には、第2のエンコーダ4で検出された入力軸10の回転数量の値が記憶されている。そして、第2の位置データ補正回路362は、第2の信号処理回路5からの送信信号の受信に応じて、回転数量記憶部364に記憶されている回転数量の値を、1上げるまたは1下げることにより、この回転数量の値を検出する。
なお、回転数量記憶部364には、エンコーダシステムの起動時に、第2のエンコーダ4で検出された入力軸10の回転数量の値が記憶される。たとえば、エンコーダシステムの起動時に、第2の信号処理回路5の送信信号生成出力部353は、1KHzの周期で、図11を用いて説明した多回転A信号と多回転B信号との信号パターンを回転数量分だけ繰り返して、回転数量分の多回転信号を初期値設定信号として出力する。そして、第2の位置データ補正回路362は、第2の信号処理回路5の送信信号生成出力部353から受信した初期値設定信号に対応する値を、回転数量記憶部364に記憶させる。その結果、回転数量記憶部364には、回転数量の情報が記憶される。
以降、第2の位置データ補正回路362は、第2の信号処理回路5からの送信信号の受信に応じて、回転数量記憶部364に記憶されている回転数量の値を上げるまたは下げることにより、回転数量の値を検出する。
これにより、回転数量の値が上がったこと、または、回転数量の値が下ったことを示す2相信号である送信信号により、第2の信号処理回路5から第1の信号処理回路6に、回転数量そのものの値を送信することができる。
<第2の位置データ補正回路362の詳細>
次に、第2の位置データ補正回路362の構成を、より具体的に説明する。たとえば、入力軸10の回転位置を示す第1の位置データと、出力軸11の回転位置を示す第2の位置データとの間には、ずれが生じる可能性がある。これは、たとえば、入力軸10と動力伝達装置2、および、動力伝達装置2と出力軸11との間の噛み合わせに起因するずれであり、物理的に生じるものである。
そのため、図9に示したように、第2の位置データから算出される回転数量(m)と、入力軸10の回転位置を示す第1の位置データ(P1)との間にも、変化するタイミングにおいて、ずれが生じる可能性がある。このようなずれが生じていると、位置データ合成回路363は、正常に合成位置データを生成することができない。そこで、第2の位置データ補正回路362は、このようにずれがある場合にも、位置データ合成回路363が、正常に合成位置データを生成することができるように、図10に示したように、補正値Δmを算出して、この算出した補正値Δmを回転数量(m)に加算して補正する。
ここでは、図9と図10とを用いて、第2の位置データ補正回路362による、回転数量の補正方法について説明する。なお、ここでは、第1の位置データの値が17ビットである場合について説明する。
図9に示すように、入力軸10が回転するにともない出力軸11が回転し、第2の位置データの値P2に基づいて回転数量mが算出される。また、第1の位置データの値P1は0から131071(=217−1)の値を繰り返す。すなわち、第1の位置データの値P1は0から131071(=217−1)の値を繰り返すことに応じて、たとえば、回転数量mが10、11、12と順に変化する。この第1の位置データの値P1により検出される入力軸回転数量の変化位置(たとえば、第1の位置データの値P1が0となるタイミング)と、回転数量mの変化するタイミングとの間には、ずれがある。
図10に示すように、第2の位置データ補正回路362は、たとえば、第1の位置データの値P1の値が、0から32767(=217×1/4−1)の範囲にあり、かつ、算出された回転数量mが後半である場合には、回転数量mの値に補正値Δm(=1)を加算して、回転数量mの値を補正する。ここで、算出された回転数量mが後半であるとは、算出された回転数量mの値が、mではあるが、m+1に近いことを意味している。
また、図10に示すように、第2の位置データ補正回路362は、たとえば、第1の位置データの値P1の値が、98304(=217×3/4−1)から131071(=217−1)の範囲にあり、かつ、算出された回転数量mが前半である場合には、回転数量mの値に補正値Δm(=−1)を加算して、回転数量mの値を補正する。ここで、算出された回転数量mが前半であるとは、算出された回転数量mの値が、mではあるが、m−1に近いことを意味している。
ところで、算出された回転数量mが後半であるか前半であるかという判定は、推定値の値に基づいて判定する。たとえば、第2の位置データ補正回路362は、第2の位置検出回路352の算出した推定値の値が、0.5(半周)よりも小さい場合には前半であると判定し、推定値の値が0.5(半周)以上である場合には後半であると判定する。
なお、図10においては、第1のエンコーダ3が検出した回転数量の値によって検出される入力軸10の回転位置が、入力軸10の1回転において回転の前半1/4の領域(0から32767)であるか後半1/4の領域であるか(98304から131071)を判定した。しかし、ずれを検出するためには、第1のエンコーダ3が検出した回転数量の値によって検出される入力軸10の回転位置が、入力軸10の1回転において回転の前半の領域であるか後半の領域であるかを判定してもよい。
よって、第2の位置データ補正回路362は、第2の位置検出回路352の算出した推定値の値によって推定される入力軸10の回転位置が、入力軸10の1回転において回転の前半領域であるか後半領域を判定し、第1のエンコーダ3が検出した回転数量の値によって検出される入力軸10の回転位置が、入力軸10の1回転において回転の前半領域であるか後半領域であるかを判定するようにしてもよい。そして、第2の位置データ補正回路362は、この2つの判定結果が異なる場合には、第2の位置検出回路352の算出した回転数量の値を、補正するようにしてもよい。
具体的には、第2の位置データ補正回路362は、第2の位置検出回路352の算出した推定値の値によって推定される入力軸10の回転位置が、入力軸10の1回転において回転の後半領域であり、かつ、第1の位置データ検出回路361が検出した第1の位置データの値によって検出される入力軸10の回転位置が、入力軸10の1回転において回転の前半領域である場合には、第2の位置検出回路352の算出した回転数量の値に1を加算して補正する。
また、第2の位置データ補正回路362は、逆に、第2の位置検出回路352の算出した推定値の値によって推定した入力軸10の回転位置が、入力軸10の1回転において回転の前半領域であり、かつ、第1の位置データ検出回路361が検出した第1の位置データの値によって検出される入力軸10の回転位置が、入力軸10の1回転において回転の後半領域である場合には、第2の位置検出回路352の算出した回転数量の値に−1を加算して、すなわち、1を減算して補正する。
ところで、第2の位置データ補正回路362は、第2の位置データ検出回路350の送信信号生成出力部353から入力した送信信号に基づいて、回転数量の入力軸10の回転位置が入力軸10の1回転において回転の前半領域であるか後半領域であるかを判定して回転数量の値を補正する。
たとえば、図11に示すように、多回転A信号と多回転B信号とは、入力軸が1回転する毎に、HとL、HとH、LとH、および、LとL、という信号パターンで変化する。これにより、第2の位置データ補正回路362は、多回転A信号と多回転B信号とが、HとLまたはHとHの場合は、入力軸の1回転において回転の前半領域であると判定する。逆に、第2の位置データ補正回路362は、LとHまたはLとLの場合は、入力軸の1回転において回転の後半領域であると判定する。
より詳細には、第2の位置データ補正回路362は、多回転A信号と多回転B信号とが、HとLの場合は、入力軸の1回転において回転の開始1/4の領域であると判定する。また、第2の位置データ補正回路362は、多回転A信号と多回転B信号とが、LとLの場合は、入力軸の1回転において回転の終了1/4の領域であると判定する。
また、第2の位置データ補正回路362は、入力された多回転A信号と多回転B信号とが、HとL、HとH、LとH、および、LとL、という信号パターンで順に変化することを検出することにより、入力軸が1回転したことを検出する。また、逆に、第2の位置データ補正回路362は、入力された多回転A信号と多回転B信号とが、LとL、LとH、HとH、および、HとL、という信号パターンで順に変化することを検出することにより、入力軸が逆方向に1回転、すなわち、−1回転したことを検出する。
次に、図19から図22を用いて、入力軸10の回転方向と出力軸11の回転方向とが、同じとなる場合が正常な場合と、逆になる場合が正常な場合とについて、上述した第2の位置データ補正回路362および位置データ合成回路363について説明する。
まず、図19と図20とを用いて、入力軸10の回転方向と出力軸11の回転方向とが、同じとなる場合が正常な場合について説明する。この場合、たとえば、図19に示すように、入力軸10の回転に応じて第1の位置データ(図面では一回転内位置)の値が0から131017と変化するにともない、第2のエンコーダ4の送信信号生成出力部353は、第1のエンコーダ3の第2の位置データ補正回路362に、HとL、HとH、LとH、および、LとL、という信号パターンで順に変化する多回転A信号と多回転B信号とを出力する。
そして、この多回転A信号と多回転B信号との変化により、第1のエンコーダ3の第2の位置データ補正回路362は、入力軸10が10回転したことを検出する。その後、入力軸10が更に回転することに応じて、第2の位置データ補正回路362は、同様に、入力軸10が11回転したこと、12回転したことを検出する。
この場合、第2の位置データ補正回路362は、図20に示す補正表に基づいて、回転数量mの値を補正する。この補正は、図10を用いて説明した補正と同様である。
そして、この場合、位置データ合成回路363は、10回転して0から131017、11回転して0から131017、12回転して0から131017ということを示す合成位置データを生成する。
次に、図21と図22とを用いて、入力軸10の回転方向と出力軸11の回転方向とが、逆になる場合が正常な場合について説明する。この場合、たとえば、図21に示すように、入力軸10の逆回転に応じて第1の位置データ(図面では一回転内位置)の値が0から131017と変化するにともない、第2のエンコーダ4の送信信号生成出力部353は、第1のエンコーダ3の第2の位置データ補正回路362に、LとL、LとH、HとH、および、HとL、という信号パターンで順に変化する多回転A信号と多回転B信号とを出力する。
そして、この多回転A信号と多回転B信号との変化により、第1のエンコーダ3の第2の位置データ補正回路362は、入力軸10が20回転したことを検出する。その後、入力軸10が更に回転することに応じて、同様に、入力軸10が19回転したこと、18回転したことを検出する。
このように、入力軸10の回転方向と出力軸11の回転方向とが、逆になる場合には、出力軸11に基いた第2の位置データからは回転数値がダウンするにも関わらず、入力軸10に基いた第1の位置データからは回転数値がアップする状態になる。ここでは、位置データ合成回路363で合成する合成位置データを、出力軸11の回転方向に一致させるために、第1の位置データを、図22に「修正後の一回転内モータ位置」として示すように、変換する。
この図22に示すように、入力軸10の回転方向と出力軸11の回転方向とが、逆になる場合には、第1の位置データの0を131071に、131071を0に変換する。すなわち、第1の位置データの最大値となる値から、第1の位置データの値を減算した値を、第1の位置データとして置き換えて、変換する。
なお、この場合、第2の位置データ補正回路362は、図22に示す補正表に基づいて、回転数量mの値を補正する。この補正は、図10を用いて説明した補正と同様である。
この場合、位置データ合成回路363は、20回転して131017から0、19回転して131017から0、18回転して131017から0ということを示す合成位置データを生成する。
<回転方向検出部3610の詳細>
次に、図23を用いて、回転方向検出部3610が、受信した多回転A信号と多回転B信号とに基づいて、出力軸11の回転方向を検出する方法について説明する。なお、図23においては、信号の立上りを記号↑で示し、信号の立下りを記号↓で示している。
たとえば、多回転A信号が立上りであり、かつ、多回転B信号がLである場合には、出力軸11の角度位置は、値が増加する方向に回転していると判定する。同様に、多回転A信号と多回転B信号とが、Hと立上りとである場合、立下りとHとである場合、および、Lと立下りとである場合は、出力軸11の角度位置は、値が増加する方向に回転していると判定する。
逆に、多回転A信号と多回転B信号とが、立上りとHとである場合、Lと立上りとである場合、立下りとLとである場合、および、Hと立下りとである場合は、出力軸11の角度位置は、値が減少する方向に回転していると判定する。
このようにして、回転方向検出部3610は、多回転A信号と多回転B信号という送信形式の第2の位置データの変位に基づいて、出力軸11の回転方向を検出することができる。そして、回転方向検出部3610は、第1の位置データの変位に基づいて検出する入力軸10の回転方向と、第2の位置データの変位に基づいて検出する出力軸11の回転方向とが、同じ方向であるか否か、または、逆の方向であるか否かを検出することができる。
ところで、回転方向検出部3610のこの方向の検出方法では、たとえば、動力伝達装置2の伝達比がnだとすれば、出力軸11を360°/4n分の角度だけ回転させないと、出力軸11の回転方向、すなわち、第2のエンコーダ4の回転方向がわからないことになる。たとえば、伝達比nの値が100であれば、約0.9°回転させないと、回転方向が不明であることになる。この0.9°となる値を小さくする方法として、第2のエンコーダ4が検出する第2の位置データの分解能を上げて(例えば13ビットとする)、この不明角度を0.04°に減少させることができる。
このようにして生成される多回転A信号と多回転B信号とは、入力軸が1回転する毎に、HとL、HとH、LとH、および、LとL、という1回の信号パターンで変化ではなく、たとえば、入力軸が1回転する毎に、HとL、HとH、LとH、および、LとL、が2回繰り返される信号パターンで変化する。このように、送信信号生成出力部353は、入力軸10の1回転に対応して、予め定められている複数回分の変化をする2相信号である送信信号を生成して出力するようにしてもよい。これにより、回転方向検出部3610は、微小な角度位置分だけ出力軸11が回転した場合においても、出力軸11の回転方向を検出することができる。
また、本実施形態による2相信号は、伝達比情報記憶部356に記憶されている伝達比情報などに基づいて、送信信号生成出力部353により生成される。そのため、エンコーダシステムにおいて、動力伝達装置2の伝達比が異なる値となる場合でも、送信信号生成出力部353は、この異なる伝達比に対応した2相信号を生成することが容易に可能である。
なお、送信信号生成出力部353は、第2の位置データ検出回路350が検出した第2の位置データに基づいて、入力軸10の回転に対応したシリアルデータである送信信号を生成して出力するようにしてもよい。そして、回転方向検出部3610が、送信信号生成出力部353から受信した送信信号を受信し、当該受信した送信信号に基づいて出力軸11の回転方向を検出するようにしてもよい。
なお、従来のエンコーダシステムにおいては、入力軸の回転に伴い、たとえば、出力軸は入力軸の回転と同じ方向に、ギアなどの動力伝達装置を介して回転する。しかしながら、入力軸の故障、出力軸の故障、動力伝達装置の故障などが原因となり、入力軸の回転に伴い、出力軸が入力軸の回転と同じ方向に回転しないことが生じうる。たとえば、入力軸の回転に伴い出力軸が回転しないこと、または、入力軸の回転に伴い出力軸が入力軸の回転と逆の方向に回転してしまう可能性がある。このようなエンコーダシステムの回転動作における異常動作は、エンコーダシステムの異常動作による二次的な障害を発生させる可能性がある。そのため、従来のエンコーダシステムにおいては、このような異常動作を検出する必要がある。
本実施形態において、回転型アブソリュートエンコーダであって、絶対位置の情報を記憶しておくための外部バッテリを不要とするとともに、入力軸の回転にともない出力軸が正常な回転方向に回転しているか否かを検出することができるエンコーダシステムおよび信号処理方法を提供することができる。
本実施形態において、入力軸の回転を予め定められている伝達比で出力軸を回転させる動力伝達装置を有するエンコーダシステムが、入力軸の角度位置を示す第1の位置データと出力軸の角度位置を示す第2の位置データとを検出し、第1の位置データと第2の位置データとを合成することにより、多回転型アブソリュートエンコーダであって、絶対位置の情報を記憶しておくための外部バッテリを不要とすることができるという効果を奏する。また、本実施形態において、第1の位置データと第2の位置データとに基づいて入力軸の回転方向と出力軸の回転方向とが、同じ方向であるか否か、または、逆の方向であるか否かを検出することにより、入力軸の回転にともない出力軸が正常な回転方向に回転しているか否かを検出することができるという効果を奏する。
<信頼性・安全性を向上させる構成>
次に、図15に示したブロック図を用いて、信頼性・安全性を向上させる実施形態の構成について説明する。上述した実施形態では、第2の信号処理回路5から送出された信号は、第1の信号処理回路6に入力され、第1の信号処理回路6内の基板回路で信号処理をしてから、単一のケーブルである通信ライン9を介して、第1の信号処理回路6から上位のコントローラ8に送出されている。
もし、第1の信号処理回路6の基板上にある部品が故障した場合や、基板とケーブルをつなぐコネクタの不良や、第1の信号処理回路6とコントローラ8を接続しているケーブルが断線した場合、第2の信号処理回路5の信号がコントローラ8に送出できなくなると言う事態になり、エンコーダシステムとしての回路全体の信頼性・安全性に問題が生じる可能性がある。
そこで、図15に示す構成では、このような問題を回避し、信頼性・安全性を向上させた構成になっている。つまり、第1の信号処理回路6は、第1のエンコーダ3からの信号と第2のエンコーダ4からの信号を同一基板で処理せず、それぞれ別基板、別コネクタ、別ケーブルにして、コントローラ8に別々に信号送出する構成とする。
たとえば、少なくとも第1の位置データ検出回路361を有する第1の検出信号処理回路6A(第1の処理回路)が、第1の位置データ検出回路361が検出した第1の位置データを上位装置であるコントローラ8に、第1の通信線である通信ライン9Aを介して出力する第1の外部通信回路を有する。また、少なくとも第2の位置データ補正回路362を有する第2の検出信号処理回路6B(第2の処理回路)が、第2の位置データ補正回路362が補正した第2の位置データを上位装置であるコントローラ8に、第2の通信線である通信ライン9Bを介して出力する第2の外部通信回路を有する。そして、第1の検出信号処理回路6Aと第2の検出信号処理回路6Bとが異なる基盤上に構成されている。
したがって、第1のエンコーダ3が検出した検出信号と第2のエンコーダ4が検出した検出信号とが、完全に別系統で処理され、独立となるため、いずれか一方の検出部および処理部で故障が発生して、一方の検出信号が送出できない場合でも、他方の検出部からの検出信号の送出には故障の影響が出ることはない。これにより、コントローラ8では、両者の検出信号を比較することにより、いずれか一方が故障したことを検出することが可能となる。よって、エンコーダシステムの信頼性・安全性を向上することができる。
なお、スペースの都合で、同図面上において点線枠部に示すように、第1の信号処理回路6の基板部材のみ共用し、共用基板内部に第1の検出信号処理回路6Aと第2の検出信号処理回路6Bとを完全に分離して構成する事も出来る。
なお、上記のようにエンコーダシステムの信頼性・安全性を向上するために、次にように構成してもよい。すなわち、少なくとも第1の位置データ検出回路361を有する第1の信号処理回路6が、第1の位置データ検出回路361が検出した第1の位置データを上位装置であるコントローラ8に出力する第3の外部通信回路(外部通信回路365)を有する。
また、少なくとも第2の位置データ検出回路350を有する第2の信号処理回路5が、第2の位置データ検出回路350が検出した第2の位置データを上位装置であるコントローラ8に出力する第4の外部通信回路を有する。そして、第1の外部通信回路と第2の外部通信回路とは、異なる基盤上に構成されている。
なお、上述した第1のエンコーダ3または第2のエンコーダ4は、それぞれ、磁気式のエンコーダであってもよいし、光学式のエンコーダであってもよい。
なお、上述した伝達比情報記憶部356と伝達比情報記憶部366、第1の分解能記憶部357と第1の分解能記憶部367、および、第2の分解能記憶部358と第2の分解能記憶部368には、それぞれ、同一の情報が記憶される。そこで、伝達比情報記憶部356と伝達比情報記憶部366、第1の分解能記憶部357と第1の分解能記憶部367、および、第2の分解能記憶部358と第2の分解能記憶部368を、それぞれ、一体として構成して、第1の信号処理回路6または第2の信号処理回路5のうちいずれか一方、または、エンコーダシステムが有するようにしてもよい。そして、第1の信号処理回路6および第2の信号処理回路5は、これら一体とした記憶部から、それぞれ読み出すようにしてもよい。
また、これらの記憶部は、ハードディスク装置や光磁気ディスク装置、フラッシュメモリ等の不揮発性のメモリや、CD−ROM等の読み出しのみが可能な記憶媒体、RAM(Random Access Memory)のような揮発性のメモリ、あるいはこれらの組み合わせにより構成されるものとする。
なお、図11における第1の信号処理回路6および第2の信号処理回路5を構成する各回路は専用のハードウェアにより実現されるものであってもよく、また、メモリおよびマイクロプロセッサにより実現させるものであってもよい。
なお、この第1の信号処理回路6および第2の信号処理回路5を構成する各回路は専用のハードウェアにより実現されるものであってもよく、また、この第1の信号処理回路6および第2の信号処理回路5を構成する各回路はメモリおよびCPU(中央演算装置)により構成され、第1の信号処理回路6および第2の信号処理回路5を構成する各回路の機能を実現するためのプログラムをメモリにロードして実行することによりその機能を実現させるものであってもよい。
次に、さらに別の実施形態について説明する。なお、上述した実施形態と同様の構成要素については同一の符号を付し、その説明を省略又は簡略化する。
本実施形態において、エンコーダシステムは、図24に示すように、モータ1と、動力伝達装置2と、第1のエンコーダ(第1の絶対位置エンコーダ)3と、第2のエンコーダ(第2の絶対位置エンコーダ)4と、入力軸10と、出力軸11と、を有する。また、エンコーダシステムは、上位装置であるコントローラ8と、コントローラ8と第1のエンコーダ3との間の通信線である通信ライン9と、コントローラ8とモータ1との間を接続するモータ制御線14と、を有する。また、第1のエンコーダ3と第2のエンコーダ4とは、通信線12および設定制御線13により接続されている。
コントローラ8は、モータ制御線14により回転制御信号をモータ1に出力することにより、モータ1の回転を制御する。この回転制御信号とは、たとえば、ステッピングモータであるモータ1を回転させるパルス波である。
本実施形態においても、エンコーダシステムは、1回転型のアブソリュートエンコーダである第1のエンコーダ3と、1回転型のアブソリュートエンコーダである第2のエンコーダ4とを用いて、エンコーダシステム全体としては、多回転型アブソリュートエンコーダとして機能する。そのため、このエンコーダシステムにおいては、従来技術によるエンコーダシステムでは必要とされていた、絶対位置の情報を記憶しておくための外部バッテリが不要である。
本実施形態において、エンコーダシステムは、第1の信号処理回路6と第2の信号処理回路5(後述する第2の位置データ検出回路450)とを有している。たとえば、第1のエンコーダ3が、内部に、第1の信号処理回路6を有している。また、第2のエンコーダ4が、内部に、第2の信号処理回路5を有している。
この第2の信号処理回路5には、第2のエンコーダ4で検出された第2の検出信号が入力される。そして、この第2の信号処理回路5は、第2のエンコーダ4から入力された第2の検出信号に基づいて、予め定められている信号処理により、出力軸11の角度位置を示す第2の位置データを検出する。すなわち、この第2の信号処理回路5は、入力された第2の検出信号を内挿処理して、第2の位置データを検出する。
そして、この第2の信号処理回路5は、検出した第2の位置データを、通信線12を介して第1のエンコーダ3に出力する。なお、この第2の信号処理回路5は、第2の位置データを検出する場合に、たとえば、動力伝達装置2の伝達比に対して少なくとも2倍以上の予め定められている分解能で第2の位置データを検出する。なお、このように少なくとも2倍以上とするのは、後述するように、第2の位置データにより示される回転が、回転の前半であるか後半であるかを判定できるようにするためである。
また、第1のエンコーダ3は、内部に、第1の信号処理回路6を有している。この第1の信号処理回路6には、第2のエンコーダ4が検出した第2の位置データが、通信線12を介して入力される。また、第1の信号処理回路6は、第1のエンコーダ3が検出した第1の検出信号を内挿処理して、入力軸10の角度位置を示す第1の位置データを検出する。
そして、第1の信号処理回路6は、検出した第1の位置データと入力された第2の位置データとに基づいて、入力軸10の回転数量とともに1回転内の角度位置を示す合成位置データを検出する。そして、第1の信号処理回路6は、検出した合成位置データを、通信ライン9を介して、コントローラ8に出力する。
これにより、コントローラ8においては、合成位置データにより、多回転型アブソリュートエンコーダとしてのエンコーダシステムから、入力軸10の回転数量とともに1回転内の角度位置を検出することが可能となる。そして、コントローラ8は、入力された合成位置データに基づいて、モータ制御線14を介してモータ1の回転を制御する。
また、第1の信号処理回路6には、コントローラ8からの回転制御信号がモータ制御線14を介して入力される。そして、第1の信号処理回路6は、コントローラ8からの回転制御信号に基づいて算出される入力軸10の角度位置である入力軸角度位置と、第1の位置データ検出回路461が検出した第1の位置データとを比較するとともに、コントローラ8からの回転制御信号に基づいて算出される出力軸11の角度位置である出力軸角度位置と、第2の位置データ検出回路450が検出した第2の位置データとを比較し、比較した結果の組み合わせにより故障を検出する。第1の信号処理回路6は、更に、検出した故障の内容を示す情報を、通信ライン9介して、コントローラ8に出力する。
次に、図25を用いて、図24を用いて説明したエンコーダシステムの構成、特に、第2の信号処理回路5と第1の信号処理回路6との構成について説明する。図25において、図24と同一の構成については同一の符号を付し、その説明を省略する。
<第2の信号処理回路5と第1の信号処理回路6との構成>
第2の信号処理回路5は第2の位置データ検出回路450を有している。この第2の位置データ検出回路450は、第2の内挿回路451と、第2の位置検出回路452と、送信信号生成出力部453と、伝達比情報記憶部456と、第1の分解能記憶部457と、第2の分解能記憶部458と、を有する。一方、第1の信号処理回路6は、第1の位置データ検出回路461と、第2の位置データ補正回路462と、位置データ合成回路463と、回転数量記憶部464と、外部通信回路465と、伝達比情報記憶部466と、第1の分解能記憶部467と、第2の分解能記憶部468と、故障検出部469と、を有している。
<第2の信号処理回路5の各構成>
まず、第2の信号処理回路5が有する第2の位置データ検出回路450の各構成について説明する。伝達比情報記憶部456には、第1のエンコーダ3と第2のエンコーダ4とを連結する予め定められている動力伝達装置2の伝達比の値を示す情報が、伝達比情報として予め記憶されている。第1の分解能記憶部457には、第1の位置データ検出回路461の分解能が第1の分解能として予め記憶されている。第2の分解能記憶部458には、第2の位置データ検出回路450の分解能が第2の分解能として予め記憶されている。
第2の内挿回路451は、第2のエンコーダ4から入力された第2の検出信号を内挿処理して第2の位置データを検出する。第2の位置検出回路452は、第2の内挿回路451が検出した第2の位置データと伝達比情報記憶部456から読み出した伝達比情報とを乗じた値を、第2の分解能記憶部458から読み出した第2の分解能の値で除算した値の整数部分の値を回転数量として算出するとともに、この除算した値の少数部分の値に第1の分解能記憶部457から読み出した第1の分解能の値を乗じた値を推定値として算出する。この推定値とは、第1のエンコーダ3により正確に検出される第1の位置データを、第2のエンコーダ4が検出した第2の検出信号に基づいて算出して推定する位置データである。
たとえば、第2の位置検出回路452は回転数量mと推定値sとを次の式10及び式11により算出する。
m=INT(n(P2/R2)) ・・・ (式10)
s=R1×(n(P2/R2)−m) ・・・ (式11)
上記の式10と式11とにおいて、P2は第2の内挿回路451が検出した第2の位置データであり、R1は第1の分解能記憶部457に記憶されている第1の分解能であり、R2は第2の分解能記憶部458に記憶されている第2の分解能であり、nは伝達比情報記憶部456から読み出した伝達比情報である。また、なお、INTは、小数点以下を切り捨てて、整数部分のみを抽出する演算子である。
このように、この第2の位置データ検出回路450は、第2の内挿回路451と第2の位置検出回路452とにより、第2のエンコーダ4が検出した第2の検出信号を内挿処理した値と伝達比情報記憶部456から読み出した伝達比情報とに基づいて、第1のエンコーダ3の回転数量を算出するとともに第1の位置データに対応する位置データを推定値として算出する。
送信信号生成出力部453は、第2の位置検出回路452が算出した推定値に基づいて、入力軸10の回転数量の値を示す送信信号を生成して第2の位置データ補正回路462に出力する。この送信信号生成出力部453は、送信信号を、たとえば、互いに位相が90度異なる第1の矩形波信号である多回転A信号と第2の矩形波信号である多回転B信号である2相信号として生成して出力する(図11参照)。なお、この2相信号は、外来のノイズなどに耐性を有するようにするために、波形が矩形波となる2相矩形波信号であることが望ましい。
図11においては、入力軸が1回転することに応じて、すなわち、第1の位置データの値が0から131071をとることに応じて、多回転A信号と多回転B信号とが、HとL、HとH、LとH、および、LとL、という信号パターンに変化する。ここで、HとLとは、たとえば、電気信号の電位で予め定められたハイレベルとロウレベルとである。そして、入力軸が1回転する毎に、多回転A信号と多回転B信号とは、上記の信号パターンを繰り返す。
この送信信号生成出力部453が生成する多回転A信号と多回転B信号とは、入力軸の1回転において、伝達比nと第2の位置データ検出回路450の分解能R2とにより、次の関係となる。
多回転A信号は、R2/4nの剰余が0から2nの期間はH、それ以外はLとなる。一方、多回転B信号は、R2/4nの剰余がnから3nの期間はH、それ以外はLとなる。
送信信号生成出力部453は、たとえば、次のようにして、上述した多回転A信号と多回転B信号とを生成する。送信信号生成出力部453は、第2の位置検出回路452の算出した推定値に、第2の位置データ検出回路450の分解能R2を乗じた値に対して、4nで除算した値が、0から2nであれば、多回転A信号をHとして出力し、それ以外であれば、多回転A信号をLとして出力する。また、送信信号生成出力部453は、第2の位置検出回路452の算出した推定値に、第2の位置データ検出回路450の分解能R2を乗じた値に対して、4nで除算した値が、1nから3nであれば、多回転B信号をHとして出力し、それ以外であれば、多回転B信号をLとして出力する。
なお、本実施形態による多回転A信号と多回転B信号との2相信号は、伝達比情報記憶部456に記憶されている伝達比情報などに基づいて、送信信号生成出力部453により生成される。そのため、エンコーダシステムにおいて、動力伝達装置2の伝達比が異なる値となる場合でも、送信信号生成出力部453は、この異なる伝達比に対応した2相信号を生成することが容易に可能である。
<第1の信号処理回路6の各構成>
次に、第1の信号処理回路6の各構成について説明する。伝達比情報記憶部466には、伝達比情報記憶部456と同様に、第1のエンコーダ3と第2のエンコーダ4とを連結する予め定められている動力伝達装置2の伝達比の値を示す情報が、伝達比情報として予め記憶されている。第1の分解能記憶部467には、第1の分解能記憶部457と同様に、第1の位置データ検出回路461の分解能が第1の分解能として予め記憶されている。第2の分解能記憶部468には、第2の分解能記憶部458と同様に、第2の位置データ検出回路450の分解能が第2の分解能として予め記憶されている。
第1の位置データ検出回路461は、第1のエンコーダ3から入力された第1の検出信号に基づいて、予め定められている第1の信号処理(内挿処理)により、入力軸10の角度位置を示す第1の位置データを検出する。
第2の位置データ補正回路462は、第2の位置データ検出回路450が検出した第2の位置データを、多回転A信号と多回転B信号として第2の位置データ検出回路450の送信信号生成出力部453から入力する。なお、第2の位置データ補正回路462は、第2の位置データ検出回路450が検出した第2の位置データを、この第2の位置データと第1の位置データ検出回路461が検出した第1の位置データとに基いて予め定められている補正処理により補正する。
位置データ合成回路463は、第2の位置データ補正回路462が補正した第1のエンコーダ3の回転数量の値と、第1の位置データ検出回路461が検出した第1の位置データの値とに基づいて、合成位置データを生成する。なお、この位置データ合成回路463は、第1の位置データ検出回路461が検出した第1の位置データと、第2の位置データ検出回路450が検出した第2の位置データとを合成する場合に、伝達比情報記憶部466から読み出した伝達比情報に基づいて合成位置データを合成する。
また、この位置データ合成回路463は、詳細には、第1の位置データ検出回路461が検出した第1の位置データと、第2の位置データ検出回路450が検出した第2の位置データとを合成する場合に、伝達比情報記憶部466から読み出した伝達比情報、第1の分解能記憶部467から読み出した第1の分解能、および、第2の分解能記憶部468から読み出した第2の分解能に基づいて、予め定められている算出方法により、合成位置データを合成する。
例えば、位置データ合成回路463は、合成位置データを、次の式12により算出する。
合成位置データ=P1+R1×INT(n×P2/R2) ・・・ (式12)
ここで、P1は第1の位置データであり、P2は第2の位置データであり、nは伝達比である。また、R1は第1の位置データ検出回路461の分解能であり、R2は第2の位置データ検出回路450の分解能である。なお、INTは、小数点以下を切り捨てて、整数部分のみを抽出する演算子である。
位置データ合成回路463は、この式12により、第2の位置データ検出回路450の一回転内の位置割合(P2/R2)に伝達比(n)を乗じた値の整数部分(INT)の値に、第1の位置データ検出回路461の分解能(R1)を乗じて、更に、第1の位置データ(P1)の値を加算した値を、合成位置データとして算出する。
また、位置データ合成回路463は、生成した合成位置データを、外部通信回路465を介し通信ライン9を通じて、コントローラ8に出力する。
故障検出部469には、コントローラ8がモータ1を制御する回転制御信号が、モータ制御線14を介して入力される。そして、この故障検出部469は、コントローラ8からの回転制御信号に基づいて算出される入力軸10の角度位置である入力軸角度位置と、第1の位置データ検出回路461が検出した第1の位置データとを比較するとともに、コントローラ8からの回転制御信号に基づいて算出される出力軸11の角度位置である出力軸角度位置と、第2の位置データ補正回路462が補正した第2の位置データとを比較し、比較した結果の組み合わせにより故障を検出する。これにより、コントローラ8の制御により入力軸10および出力軸11が正常に回転しているか否かを検出することができる。
たとえば、故障検出部469は、入力軸角度位置算出部4691と、出力軸角度位置算出部4692と、比較部4693と、を有する。そして、この入力軸角度位置算出部4691が、コントローラ8からの回転制御信号に基づいて、入力軸10の角度位置である入力軸角度位置を算出する。また、出力軸角度位置算出部4692が、コントローラ8からの回転制御信号に基づいて、出力軸11の角度位置である出力軸角度位置を算出する。
なお、入力軸角度位置算出部4691は、コントローラ8からの回転制御信号に基づいて入力軸角度位置を算出する場合に、回転制御信号、伝達比情報記憶部466から読み出した伝達比情報、第1の分解能記憶部467から読み出した第1の分解能、および、第2の分解能記憶部468から読み出した第2の分解能に基づいて、予め定められている算出方法により、入力軸角度位置を算出してもよい。
また、出力軸角度位置算出部4692は、コントローラ8からの回転制御信号に基づいて出力軸角度位置を算出する場合に、回転制御信号、伝達比情報記憶部466から読み出した伝達比情報、第1の分解能記憶部467から読み出した第1の分解能、および、第2の分解能記憶部468から読み出した第2の分解能に基づいて、予め定められている算出方法により、出力軸角度位置を算出してもよい。
比較部4693は、入力軸角度位置算出部4691が算出した入力軸角度位置と、第1の位置データ検出回路461が検出した第1の位置データとを比較するとともに、出力軸角度位置算出部4692が算出した出力軸角度位置と、第2の位置データ補正回路462が補正した第2の位置データとを比較し、比較した結果の組み合わせにより故障を検出する。
たとえば、この故障検出部469の比較部4693は、入力軸角度位置と第1の位置データとが一致するか否かを検出するとともに、出力軸角度位置と第2の位置データとが一致するか否かを検出する。そして、この検出した結果が、入力軸角度位置と第1の位置データとが一致せず、かつ、出力軸角度位置と第2の位置データとが一致する場合には、故障検出部469の比較部4693は、第1のエンコーダ3、または、第1の位置データ検出回路461のうちのいずれか1つまたはその組み合わせである入力軸側装置が故障していることを示す信号をコントローラ8に出力する。一方、この検出した結果が、入力軸角度位置と第1の位置データとが一致し、かつ、出力軸角度位置と第2の位置データとが一致しない場合には、故障検出部469の比較部4693は、動力伝達装置2、第2のエンコーダ4、または、第2の位置データ検出回路450のうちのいずれか1つまたはその組み合わせである出力軸側装置が故障していることを示す信号をコントローラ8に出力する。
また、故障検出部469の比較部4693は、入力軸角度位置と第1の位置データとが一致せず、かつ、出力軸角度位置と第2の位置データとが一致しない場合には、故障を示す信号をコントローラ8に出力する。
なお、入力軸角度位置と第1の位置データとが一致せず、かつ、出力軸角度位置と第2の位置データとが一致しない場合に出力する故障を示す信号の場合には、モータ1、コントローラ8、第1のエンコーダ3、第1の位置データ検出回路461、動力伝達装置2、第2のエンコーダ4、または、第2の位置データ検出回路450のうちのいずれか1つまたはその組み合わせである駆動装置が故障している可能性がある。
このように、故障検出部469の比較部4693が、入力軸側装置が故障していることを示す信号、出力軸側装置が故障していることを示す信号、または、故障を示す信号を、コントローラ8に出力する。これにより、コントローラ8は、回転制御信号により入力軸および出力軸が正常に回転しているか否かを検出することができるとともに、いずれの箇所が故障しているのかを検出することができる。そのため、故障箇所を修理する場合に、修理を行うユーザは、エンコーダシステムにおいて故障している箇所がわかっているため、迅速に修理を行うことができる。
また、故障検出部469の比較部4693は、入力軸角度位置と第1の位置データとが一致するか否かを検出するとともに、出力軸角度位置と第2の位置データとが一致するか否かを検出する場合に、入力軸角度位置と第1の位置データとの差が、予め定められている第1の許容量以下で一致する場合に一致すると検出し、第1の許容量以下で一致しない場合に一致しないと検出する。また、故障検出部469の比較部4693は、入力軸角度位置と第1の位置データとが一致するか否かを検出するとともに、出力軸角度位置と第2の位置データとが一致するか否かを検出する場合に、出力軸角度位置と第2の位置データとの差が、予め定められている以下で一致する場合に一致すると検出し、第2の許容量以下で一致しない場合に一致しないと検出する。この第1の許容量と第2の許容量とは、たとえば、入力軸10の半回転または1/4回転の回転量である。
一般に、入力軸角度位置と第1の位置データとは、大きくずれることはない。しかしながら、検出の誤差などにより、多少のずれは生じうる。このようにずれが生じる場合においても、上述したように入力軸角度位置と第1の位置データとの差が、予め定められている第1の許容量以下で一致する場合に一致すると検出し、第1の許容量以下で一致しない場合に一致しないと検出することにより、誤差を考慮して、正常に一致しているのか不一致であるのかを検出することができる。これは、出力軸角度位置と第2の位置データとを比較する場合でも、同様である。
また、故障検出部469は、位置データ比較・照合回路4694を有する。この位置データ比較・照合回路4694は、第2の位置データ検出回路450が検出した第2の位置データ、すなわち、第2の位置データ補正回路462が補正した第2の位置データと、伝達比情報記憶部466から読み出した伝達比情報とに基づいて、第1の位置データ検出回路461が検出する第1の位置データに対応する位置データを推定値として算出する。また、この位置データ比較・照合回路4694は、算出した推定値と第1の位置データ検出回路461が検出した第1の位置データとの差を誤差推定値として算出する。
そして、位置データ比較・照合回路4694は、算出した誤差推定値が予め定められている値の範囲内にあるか否かを判定し、当該判定した結果が、算出した誤差推定値が予め定められている値の範囲内にない場合には、第1の位置データ検出回路461が検出した第1の位置データと第2の位置データ検出回路450が検出した(または第2の位置データ補正回路462が補正した)第2の位置データとが一致していないことを示す信号をコントローラ8に出力する。
コントローラ8は、入力軸側装置が故障していることを示す信号、出力軸側装置が故障していることを示す信号、または、故障を示す信号を故障検出部469の比較部4693から入力されたことに応じて、入力軸および出力軸が正常に回転していないことを検出した場合には、モータ1の回転をモータ制御線14を介して停止させる。
また、コントローラ8は、第1の位置データ検出回路461が検出した第1の位置データと第2の位置データ検出回路450が検出した(または第2の位置データ補正回路462が補正した)第2の位置データとが一致していないことを示す信号を、故障検出部469の位置データ比較・照合回路4694から入力されたことに応じて、モータ1の回転をモータ制御線14を介して停止させる。
このように、コントローラ8が、入力軸および出力軸が正常に回転していないことを検出したことに応じてモータ1の回転を停止させることにより、エンコーダシステムの故障ないし異常動作に起因する2次的な障害を防止することができる。
外部通信回路465は、通信ライン9を通じてコントローラ8との間の通信処理を実行する。たとえば、外部通信回路465は、通信ライン9を通じてコントローラ8から受信した伝達比情報を、伝達比情報記憶部466に記憶させるとともに、設定制御線13を介して伝達比情報記憶部456に記憶させる。
また、外部通信回路465は、通信ライン9を通じてコントローラ8から受信した第1の分解能を、第1の分解能記憶部467に記憶させるとともに、設定制御線13を介して第1の分解能記憶部457に記憶させる。また、外部通信回路465は、通信ライン9を通じてコントローラ8から受信した第2の分解能を、第2の分解能記憶部468に記憶させるとともに、設定制御線13を介して第2の分解能記憶部458に記憶させる。
なお、この伝達比情報記憶部466および伝達比情報記憶部456は、それぞれ、たとえば、不揮発性メモリである。そのため、伝達比情報記憶部466に記憶された伝達比情報の値は、一度設定されれば、エンコーダシステムの電源が落ちても、消えることは無い。本構成により、エンコーダシステムで使用可能な動力伝達装置2および動力伝達装置2の伝達比の、選択肢を広げることが可能となる。
また、第1の分解能記憶部457、第1の分解能記憶部467、第2の分解能記憶部458、および、第2の分解能記憶部468も、伝達比情報記憶部466および伝達比情報記憶部456と同様に、それぞれ、たとえば、不揮発性メモリである。そのため、同様に、エンコーダシステムで使用可能な第1の位置データ検出回路461および第2の位置データ検出回路450の分解能の値について、選択肢を広げることが可能となる。
回転数量記憶部464には、第2のエンコーダ4で検出された入力軸10の回転数量の値が記憶されている。そして、第2の位置データ補正回路462は、第2の信号処理回路5からの送信信号の受信に応じて、回転数量記憶部464に記憶されている回転数量の値を、1上げるまたは1下げることにより、この回転数量の値を検出する。
なお、回転数量記憶部464には、エンコーダシステムの起動時に、第2のエンコーダ4で検出された入力軸10の回転数量の値が記憶される。たとえば、エンコーダシステムの起動時に、第2の信号処理回路5の送信信号生成出力部453は、1KHzの周期で、図11を用いて説明した多回転A信号と多回転B信号との信号パターンを回転数量分だけ繰り返して、回転数量分の多回転信号を初期値設定信号として出力する。そして、第2の位置データ補正回路462は、第2の信号処理回路5の送信信号生成出力部453から受信した初期値設定信号に対応する値を、回転数量記憶部464に記憶させる。その結果、回転数量記憶部464には、回転数量の情報が記憶される。
以降、第2の位置データ補正回路462は、第2の信号処理回路5からの送信信号の受信に応じて、回転数量記憶部464に記憶されている回転数量の値を上げるまたは下げることにより、回転数量の値を検出する。
これにより、回転数量の値が上がったこと、または、回転数量の値が下ったことを示す2相信号である送信信号により、第2の信号処理回路5から第1の信号処理回路6に、回転数量そのものの値を送信することができる。
<位置データ合成回路463と位置データ比較・照合回路4694との詳細>
次に、図26を用いて、位置データ合成回路463と位置データ比較・照合回路4694とで実行される処理について詳細に説明する。ここでは、第1の位置データ検出回路461の分解能を13ビットとし、第2の位置データ検出回路450(第2の位置検出回路452)の分解能を11ビットとして説明する。すなわち、第1の位置データ検出回路461は、0から8191(=213−1)の範囲内の整数値である第1の位置データを出力する。そして、第2の位置データ検出回路450は、0から2047(=211−1)の範囲内の整数値である第2の位置データを出力する。また、ここでは、動力伝達装置2の伝達比を100とし、伝達比情報記憶部466には値が100の伝達比情報が予め記憶されているものとして説明する。
ここでは、一例として、第1の位置データ検出回路461が、第1の位置データの値を1000として出力した場合について説明する。また、第2の位置データ検出回路450が、第2の位置データの値として310を出力し、第2の位置データ補正回路462も、第2の位置データの値として310を出力した場合について説明する。また、入力軸10の回転数量が15である場合について説明する。
まず、位置データ合成回路463について説明する。位置データ合成回路463は、上述した式12により、合成位置データを算出する。この場合、第1の位置データP1の値が1000であり、第2の位置データP2の値が310であり、伝達比nの値が100であり、第1の位置データ検出回路461の分解能R1の値が8192であり、第2の位置データ検出回路450の分解能R2の値が2048であるため、位置データ合成回路463は、上記の式12により、合成位置データの値として123865を算出する。
次に、位置データ比較・照合回路4694について説明する。位置データ比較・照合回路4694は、まず、次の式13により、推定値を算出する。
推定値=mod(P2/R2)×n×R1・・・(式13)
ここで、R1は第1の位置データ検出回路461の分解能である。また、modは、整数部分を切り捨てて、小数部分のみを抽出する演算子である。なお、式13において、式12と同一の記号は式12と同一の物理量を示す。
位置データ比較・照合回路4694は、この式13により、第2の位置データ検出回路450の一回転内の位置割合(P2/R2)の小数部分の値に、伝達比(n)と、第1の位置データ検出回路461の分解能R1とを乗じた値を、推定値として算出する。
この場合、第2の位置データP2の値が310であり、第2の位置データ検出回路450の分解能R2の値が2048であり、伝達比nの値が100であり、第1の位置データ検出回路461の分解能R1の値が8192であるため、位置データ比較・照合回路4694は、上記の式13により、推定値の値として1024を算出する。
次に、位置データ比較・照合回路4694は、次の式14により、誤差推定値を算出する。
誤差推定値=推定値−P1・・・(式14)
ここで、式14の推定値は、上記式13で算出した推定値である。位置データ比較・照合回路4694、この式14により、算出した推定値と、第1の位置データP1との差を、誤差推定値として算出する。この場合、推定値の値が1024であり、第1の位置データP1が1000であるため、位置データ比較・照合回路4694は、上記の式14により、誤差推定値の値として24を算出する。
次に、位置データ比較・照合回路4694は、上述した式14により算出した誤差推定値の絶対値が、第1の位置データ検出回路461の分解能R1に対して、たとえば、1/8以下であるか否かを判定する。この場合、算出した誤差推定値の値が24であり、第1の位置データ検出回路461の分解能R1の値が8192であり、算出した誤差推定値の絶対値が、第1の位置データ検出回路461の分解能R1に対して、1/8以下であるため、位置データ比較・照合回路4694は、判定結果が正常であると判定する。なお、もし、算出した誤差推定値の絶対値が、第1の位置データ検出回路461の分解能R1に対して、1/8以下でない場合には、位置データ比較・照合回路4694は、異常と判定する。そして、位置データ比較・照合回路4694は、この判定した結果が異常である場合には、第1の位置データ検出回路461が検出した第1の位置データと第2の位置データ検出回路450が検出した(または第2の位置データ補正回路462が補正した)第2の位置データとが一致していないことを示す信号を、コントローラ8に出力する。
<第2の位置データ補正回路462の詳細>
次に、図9と図10とを用いて、第2の位置データ補正回路462の構成を、より具体的に説明する。たとえば、入力軸10の回転位置を示す第1の位置データと、出力軸11の回転位置を示す第2の位置データとの間には、ずれが生じる可能性がある。これは、たとえば、入力軸10と動力伝達装置2、および、動力伝達装置2と出力軸11との間の噛み合わせに起因するずれであり、物理的に生じるものである。
そのため、図9に示すように、第2の位置データから算出される回転数量(m)と、入力軸10の回転位置を示す第1の位置データ(P1)との間にも、変化するタイミングにおいて、ずれが生じる可能性がある。このようなずれが生じていると、位置データ合成回路463は、正常に合成位置データを生成することができない。そこで、第2の位置データ補正回路462は、このようにずれがある場合にも、位置データ合成回路463が、正常に合成位置データを生成することができるように、図10に示すように、補正値Δmを算出して、この算出した補正値Δmを回転数量(m)に加算して補正する。
ここでは、図9と図10とを用いて、第2の位置データ補正回路462による、回転数量の補正方法について説明する。なお、ここでは、第1の位置データの値が17ビットである場合について説明する。
図9に示すように、入力軸10が回転するにともない出力軸11が回転し、第2の位置データP2に基づいて回転数量mが算出される。また、第1の位置データP1は0から131071(=217−1)の値を繰り返す。すなわち、第1の位置データP1は0から131071(=217−1)の値を繰り返すことに応じて、たとえば、回転数量mが10、11、12と順に変化する。この第1の位置データP1により検出される入力軸回転数量の変化位置(たとえば、第1の位置データP1が0となるタイミング)と、回転数量mの変化するタイミングとの間には、ずれがある。
図10に示すように、第2の位置データ補正回路462は、たとえば、第1の位置データP1の値が、0から32767(=217×1/4−1)の範囲にあり、かつ、算出された回転数量mが後半である場合には、回転数量mの値に補正値Δm(=1)を加算して、回転数量mの値を補正する。ここで、算出された回転数量mが後半であるとは、算出された回転数量mの値が、mではあるが、m+1に近いことを意味している。
また、図10に示すように、第2の位置データ補正回路462は、たとえば、第1の位置データP1の値が、98304(=217×3/4−1)から131071(=217−1)の範囲にあり、かつ、算出された回転数量mが前半である場合には、回転数量mの値に補正値Δm(=−1)を加算して、回転数量mの値を補正する。ここで、算出された回転数量mが前半であるとは、算出された回転数量mの値が、mではあるが、m−1に近いことを意味している。
ところで、算出された回転数量mが後半であるか前半であるかという判定は、推定値の値に基づいて判定する。たとえば、第2の位置データ補正回路462は、第2の位置検出回路452の算出した推定値の値が、0.5(半周)よりも小さい場合には前半であると判定し、推定値の値が0.5(半周)以上である場合には後半であると判定する。
なお、図10においては、第1のエンコーダ3が検出した回転数量の値によって検出される入力軸10の回転位置が、入力軸10の1回転において回転の前半1/4の領域(0から32767)であるか後半1/4の領域であるか(98304から131071)を判定した。しかし、ずれを検出するためには、第1のエンコーダ3が検出した回転数量の値によって検出される入力軸10の回転位置が、入力軸10の1回転において回転の前半の領域であるか後半の領域であるかを判定してもよい。
よって、第2の位置データ補正回路462は、第2の位置検出回路452の算出した推定値の値によって推定される入力軸10の回転位置が、入力軸10の1回転において回転の前半領域であるか後半領域を判定し、第1のエンコーダ3が検出した回転数量の値によって検出される入力軸10の回転位置が、入力軸10の1回転において回転の前半領域であるか後半領域であるかを判定するようにしてもよい。そして、第2の位置データ補正回路462は、この2つの判定結果が異なる場合には、第2の位置検出回路452の算出した回転数量の値を、補正するようにしてもよい。
具体的には、第2の位置データ補正回路462は、第2の位置検出回路452の算出した推定値の値によって推定される入力軸10の回転位置が、入力軸10の1回転において回転の後半領域であり、かつ、第1の位置データ検出回路461が検出した第1の位置データの値によって検出される入力軸10の回転位置が、入力軸10の1回転において回転の前半領域である場合には、第2の位置検出回路452の算出した回転数量の値に1を加算して補正する。
また、第2の位置データ補正回路462は、逆に、第2の位置検出回路452の算出した推定値の値によって推定した入力軸10の回転位置が、入力軸10の1回転において回転の前半領域であり、かつ、第1の位置データ検出回路461が検出した第1の位置データの値によって検出される入力軸10の回転位置が、入力軸10の1回転において回転の後半領域である場合には、第2の位置検出回路452の算出した回転数量の値に−1を加算して、すなわち、1を減算して補正する。
ところで、第2の位置データ補正回路462は、第2の位置データ検出回路450の送信信号生成出力部453から入力した送信信号に基づいて、回転数量の入力軸10の回転位置が入力軸10の1回転において回転の前半領域であるか後半領域であるかを判定して回転数量の値を補正する。
たとえば、図11に示すように、多回転A信号と多回転B信号とは、入力軸が1回転する毎に、HとL、HとH、LとH、および、LとL、という信号パターンで変化する。これにより、第2の位置データ補正回路462は、多回転A信号と多回転B信号とが、HとLまたはHとHの場合は、入力軸の1回転において回転の前半領域であると判定する。逆に、第2の位置データ補正回路462は、LとHまたはLとLの場合は、入力軸の1回転において回転の後半領域であると判定する。
より詳細には、第2の位置データ補正回路462は、多回転A信号と多回転B信号とが、HとLの場合は、入力軸の1回転において回転の開始1/4の領域であると判定する。また、第2の位置データ補正回路462は、多回転A信号と多回転B信号とが、LとLの場合は、入力軸の1回転において回転の終了1/4の領域であると判定する。
また、第2の位置データ補正回路462は、入力された多回転A信号と多回転B信号とが、HとL、HとH、LとH、および、LとL、という信号パターンで順に変化することを検出することにより、入力軸が1回転したことを検出する。また、逆に、第2の位置データ補正回路462は、入力された多回転A信号と多回転B信号とが、LとL、LとH、HとH、および、HとL、という信号パターンで順に変化することを検出することにより、入力軸が逆方向に1回転、すなわち、−1回転したことを検出する。
なお、従来のエンコーダシステムにおいては、上位の制御装置であるコントローラの制御により入力軸が回転し、この入力軸の回転に伴い動力伝達装置を介して出力軸が回転する。しかしながら、入力軸の故障、出力軸の故障、動力伝達装置の故障などが原因となり、コントローラの制御により入力軸が正常に回転しないことや、コントローラの制御により入力軸は正常に回転した場合であっても出力軸が正常に回転しないことが生じうる。このようなエンコーダシステムの回転動作における異常動作は、エンコーダシステムの異常動作による二次的な障害を発生させる可能性がある。そのため、エンコーダシステムにおいては、このような異常動作を検出する必要がある。
本実施形態において、コントローラの制御により入力軸および出力軸が正常に回転しているか否かを検出することができるエンコーダシステムおよび信号処理方法を提供することができる。
本実施形態において、入力軸の回転を予め定められている伝達比で出力軸を回転させる動力伝達装置を有するエンコーダシステムが、入力軸の角度位置を示す第1の位置データと出力軸の角度位置を示す第2の位置データとを検出し、第1の位置データと第2の位置データとを合成することにより、多回転型アブソリュートエンコーダであって、絶対位置の情報を記憶しておくための外部バッテリを不要とすることができるという効果を奏する。
本実施形態において、エンコーダシステムの故障検出部により、コントローラからの回転制御信号に基づいて算出される入力軸の角度位置である入力軸角度位置と、第1の位置データ検出回路が検出した第1の位置データとが比較される。また、本実施形態において、コントローラからの回転制御信号に基づいて算出される出力軸の角度位置である出力軸角度位置と、第2の位置データ検出回路が検出した第2の位置データとが比較される。そして、比較した結果の組み合わせにより故障が検出される。よって、コントローラの制御により入力軸および出力軸が正常に回転しているか否かを検出することができる。
<信頼性・安全性を向上させる構成>
次に、図15に示したブロック図を用いて、信頼性・安全性を向上させる実施形態の構成について説明する。上述した実施形態では、第2の信号処理回路5から送出された信号は、第1の信号処理回路6に入力され、第1の信号処理回路6内の基板回路で信号処理をしてから、単一のケーブルである通信ライン9を介して、第1の信号処理回路6から上位のコントローラ8に送出されている。
もし、第1の信号処理回路6の基板上にある部品が故障した場合や、基板とケーブルをつなぐコネクタの不良や、第1の信号処理回路6とコントローラ8を接続しているケーブルが断線した場合、第2の信号処理回路5の信号がコントローラ8に送出できなくなると言う事態になり、エンコーダシステムとしての回路全体の信頼性・安全性に問題が生じる可能性がある。
そこで、図15に示す構成では、このような問題を回避し、信頼性・安全性を向上させた構成になっている。つまり、第1の信号処理回路6は、第1のエンコーダ3からの信号と第2のエンコーダ4からの信号を同一基板で処理せず、それぞれ別基板、別コネクタ、別ケーブルにして、コントローラ8に別々に信号送出する構成とする。
たとえば、少なくとも第1の位置データ検出回路461を有する第1の検出信号処理回路6A(第1の処理回路)が、第1の位置データ検出回路461が検出した第1の位置データを上位装置であるコントローラ8に、第1の通信線である通信ライン9Aを介して出力する第1の外部通信回路を有する。また、少なくとも第2の位置データ補正回路462を有する第2の検出信号処理回路6B(第2の処理回路)が、第2の位置データ補正回路462が補正した第2の位置データを上位装置であるコントローラ8に、第2の通信線である通信ライン9Bを介して出力する第2の外部通信回路を有する。そして、第1の検出信号処理回路6Aと第2の検出信号処理回路6Bとが異なる基盤上に構成されている。
したがって、第1のエンコーダ3が検出した検出信号と第2のエンコーダ4が検出した検出信号とが、完全に別系統で処理され、独立となるため、いずれか一方の検出部および処理部で故障が発生して、一方の検出信号が送出できない場合でも、他方の検出部からの検出信号の送出には故障の影響が出ることはない。これにより、コントローラ8では、両者の検出信号を比較することにより、いずれか一方が故障したことを検出することが可能となる。よって、エンコーダシステムの信頼性・安全性を向上することができる。
なお、スペースの都合で、同図面上において点線枠部に示すように、第1の信号処理回路6の基板部材のみ共用し、共用基板内部に第1の検出信号処理回路6Aと第2の検出信号処理回路6Bとを完全に分離して構成する事も出来る。
なお、上記のようにエンコーダシステムの信頼性・安全性を向上するために、次にように構成してもよい。すなわち、少なくとも第1の位置データ検出回路461を有する第1の信号処理回路6が、第1の位置データ検出回路461が検出した第1の位置データを上位装置であるコントローラ8に出力する第3の外部通信回路(外部通信回路465)を有する。
また、少なくとも第2の位置データ検出回路450を有する第2の信号処理回路5が、第2の位置データ検出回路450が検出した第2の位置データを上位装置であるコントローラ8に出力する第4の外部通信回路を有する。そして、第1の外部通信回路と第2の外部通信回路とは、異なる基盤上に構成されている。
なお、上述した第1のエンコーダ3または第2のエンコーダ4は、それぞれ、磁気式のエンコーダであってもよいし、光学式のエンコーダであってもよい。
なお、上記に説明したエンコーダシステムにおいては、第1の信号処理回路6が故障検出部469を有するものとして説明したが、これに限られるものではない。
たとえば、コントローラ8が、故障検出部469を有するようにしてもよい。この場合には、たとえば、第1の信号処理回路6の第1の位置データ検出回路461が、検出した第1の位置データを、外部通信回路465を介して通信ライン9を通じて、コントローラ8に送信する。また、第1の信号処理回路6の第2の位置データ補正回路462が、第2の位置データを、外部通信回路465を介して通信ライン9を通じて、コントローラ8に送信する。
そして、コントローラ8の故障検出部469が、入力軸角度位置と出力軸角度位置とを算出し、算出した入力軸角度位置と受信した第1の位置データとを比較し、算出した出力軸角度位置と受信した第2の位置データとを比較し、比較した結果の組み合わせにより故障を検出するようにしてもよい。すなわち、コントローラ8が、図25を用いて説明した入力軸角度位置算出部4691、出力軸角度位置算出部4692、および、比較部4693を有するようにしてもよい。
また、コントローラ8が、入力軸角度位置と出力軸角度位置とを算出し、算出した入力軸角度位置と出力軸角度位置とを、通信ライン9を通じて外部通信回路465を介して、第1の信号処理回路6の故障検出部469に送信するようにしてもよい。そして、第1の信号処理回路6の故障検出部469が、受信した入力軸角度位置と第1の位置データとを比較し、受信した出力軸角度位置と第2の位置データとを比較し、比較した結果の組み合わせにより故障を検出するようにしてもよい。すなわち、コントローラ8が、図25を用いて説明した入力軸角度位置算出部4691、および、出力軸角度位置算出部4692を有するようにし、第1の信号処理回路6の故障検出部469が、比較部4693を有するようにしてもよい。
なお、上記の説明においては、第2の位置データ検出回路450と第2の位置データ補正回路462とを異なる構成として説明したが、この第2の位置データ検出回路450と第2の位置データ補正回路462とを一体として第2の位置データ検出回路450として構成してもよい。
なお、上述した伝達比情報記憶部456と伝達比情報記憶部466、第1の分解能記憶部457と第1の分解能記憶部467、および、第2の分解能記憶部458と第2の分解能記憶部468には、それぞれ、同一の情報が記憶される。そこで、伝達比情報記憶部456と伝達比情報記憶部466、第1の分解能記憶部457と第1の分解能記憶部467、および、第2の分解能記憶部458と第2の分解能記憶部468を、それぞれ、一体として構成して、第1の信号処理回路6または第2の信号処理回路5のうちいずれか一方、または、エンコーダシステムが有するようにしてもよい。そして、第1の信号処理回路6および第2の信号処理回路5は、これら一体とした記憶部から、それぞれ読み出すようにしてもよい。
また、これらの記憶部は、ハードディスク装置や光磁気ディスク装置、フラッシュメモリ等の不揮発性のメモリや、CD−ROM等の読み出しのみが可能な記憶媒体、RAM(Random Access Memory)のような揮発性のメモリ、あるいはこれらの組み合わせにより構成されるものとする。
なお、図25における第1の信号処理回路6および第2の信号処理回路5を構成する各回路は専用のハードウェアにより実現されるものであってもよく、また、メモリおよびマイクロプロセッサにより実現させるものであってもよい。
なお、この第1の信号処理回路6および第2の信号処理回路5を構成する各回路は専用のハードウェアにより実現されるものであってもよく、また、この第1の信号処理回路6および第2の信号処理回路5を構成する各回路はメモリおよびCPU(中央演算装置)により構成され、第1の信号処理回路6および第2の信号処理回路5を構成する各回路の機能を実現するためのプログラムをメモリにロードして実行することによりその機能を実現させるものであってもよい。
次に、さらに別の実施形態について説明する。なお、上述した実施形態と同様の構成要素については同一の符号を付し、その説明を省略又は簡略化する。
本実施形態において、エンコーダシステムは、先の図5に示すように、モータ1と、動力伝達装置2と、第1のエンコーダ(第1の絶対位置エンコーダ)3と、第2のエンコーダ(第2の絶対位置エンコーダ)4と、入力軸10と、出力軸11と、を有する。また、エンコーダシステムは、上位装置であるコントローラ8と、コントローラ8と第1のエンコーダ3との間の通信線である通信ライン9と、コントローラ8とモータ1との間を接続するモータ制御線14と、を有する。また、第1のエンコーダ3と第2のエンコーダ4とは、通信線12および設定制御線13により接続されている。
例えば、第1のエンコーダ3が、1回転でN個の信号を出力し、第2のエンコーダ4が、1回転でM個の信号を出力し、動力伝達装置2が、1:Nの比で入力軸10と出力軸11とを連結するものとする。この場合、第1のエンコーダ3が1回転する毎に、第2のエンコーダ4が1ディジットずつ回転するため、入力軸10の回転数量を検出することができるとともに、入力軸10の角度位置を検出することが可能である。よって、このエンコーダ装置は、出力軸11がM回転するまで、入力軸10の回転におけるN×M個の回転位置、すなわち、絶対位置を検出することが可能である。
本実施形態においても、エンコーダシステム(エンコーダ装置)は、1回転型のアブソリュートエンコーダである第1のエンコーダ3と、1回転型のアブソリュートエンコーダである第2のエンコーダ4とを用いて、エンコーダシステム全体としては、多回転型アブソリュートエンコーダとして機能する。
本実施形態において、エンコーダシステムは、第1の信号処理回路6と第2の信号処理回路5(後述する第2の位置データ検出回路550)とを有している。たとえば、第1のエンコーダ3が、内部に、第1の信号処理回路6を有している。また、第2のエンコーダ4が、内部に、第2の信号処理回路5を有している。
この第2の信号処理回路5には、第2のエンコーダ4で検出された第2の検出信号が入力される。そして、この第2の信号処理回路5は、第2のエンコーダ4から入力された第2の検出信号に基づいて、予め定められている信号処理により、出力軸11の角度位置を示す第2の位置データを検出する。すなわち、この第2の信号処理回路5は、入力された第2の検出信号を内挿処理して、第2の位置データを検出する。
そして、この第2の信号処理回路5は、検出した第2の位置データを、通信線12を介して第1のエンコーダ3に出力する。なお、この第2の信号処理回路5は、第2の位置データを検出する場合に、たとえば、動力伝達装置2の伝達比に対して少なくとも2倍以上の予め定められている分解能で第2の位置データを検出する。なお、このように少なくとも2倍以上とするのは、後述するように、第2の位置データにより示される出力軸の回転が、回転の前半であるか後半であるかを判定できるようにするためである。
また、第1のエンコーダ3は、内部に、第1の信号処理回路6を有している。この第1の信号処理回路6には、第2のエンコーダ4が検出した第2の位置データが、通信線12を介して入力される。また、第1の信号処理回路6は、第1のエンコーダ3が検出した第1の検出信号を内挿処理して、入力軸10の角度位置を示す第1の位置データを検出する。
そして、第1の信号処理回路6は、検出した第1の位置データと入力された第2の位置データとに基づいて、入力軸10の回転数量とともに1回転内の角度位置を示す合成位置データを検出する。そして、第1の信号処理回路6は、検出した合成位置データを、通信ライン9介して、コントローラ8に出力する。
これにより、コントローラ8においては、合成位置データにより、多回転型アブソリュートエンコーダとしてのエンコーダシステムから、入力軸10の回転数量とともに1回転内の角度位置を検出することが可能となる。そして、コントローラ8は、入力された合成位置データに基づいて、モータ制御線14を介してモータ1の回転を制御する。
なお、第1の信号処理回路6と第2の信号処理回路5とは、設定制御線13により接続されている。第1の信号処理回路6は、この設定制御線13を介して、第2の信号処理回路5が内蔵する後述の記憶部に記憶されている設定値を変更する。
次に、図27を用いて、図5を参照して用いて説明したエンコーダシステムの構成、特に、第2の信号処理回路5と第1の信号処理回路6との構成について説明する。図27において、図5と同一の構成については同一の符号を付し、その説明を省略する。
<第2の信号処理回路5と第1の信号処理回路6との構成>
第2の信号処理回路5は第2の位置データ検出回路550を有している。この第2の位置データ検出回路550は、第2の内挿回路551と、第2の位置検出回路552と、送信信号生成出力部553と、伝達比情報記憶部556と、第1の分解能記憶部557と、第2の分解能記憶部558と、を有する。一方、第1の信号処理回路6は、第1の位置データ検出回路561と、第2の位置データ補正回路562と、位置データ合成回路563と、回転数量記憶部564と、外部通信回路565と、伝達比情報記憶部566と、第1の分解能記憶部567と、第2の分解能記憶部568と、回転方向検出部5610と、電源供給監視回路5611と、回転方向情報記憶部5612と、回転方向情報設定部5613と、を有している。
<第2の信号処理回路5の各構成>
まず、第2の信号処理回路5が有する第2の位置データ検出回路550の各構成について説明する。伝達比情報記憶部556には、第1のエンコーダ3と第2のエンコーダ4とを連結する予め定められている動力伝達装置2の伝達比の値を示す情報が、伝達比情報として予め記憶されている。第1の分解能記憶部557には、第1の位置データ検出回路561の分解能が第1の分解能として予め記憶されている。第2の分解能記憶部558には、第2の位置データ検出回路550の分解能が第2の分解能として予め記憶されている。
第2の内挿回路551は、第2のエンコーダ4から入力された第2の検出信号を内挿処理して第2の位置データを検出する。第2の位置検出回路552は、第2の内挿回路551が検出した第2の位置データと伝達比情報記憶部556から読み出した伝達比情報とを乗じた値を、第2の分解能記憶部558から読み出した第2の分解能の値で除算した値の整数部分の値を回転数量として算出するとともに、この除算した値の少数部分の値に第1の分解能記憶部557から読み出した第1の分解能の値を乗じた値を推定値として算出する。この推定値とは、第1のエンコーダ3により正確に検出される第1の位置データを、第2のエンコーダ4が検出した第2の検出信号に基づいて算出して推定する位置データである。
たとえば、第2の位置検出回路552は回転数量mと推定値sとを次の式15及び式16により算出する。
m=INT(n(P2/R2)) ・・・ (式15)
s=R1×(n(P2/R2)−m) ・・・ (式16)
上記の式15と式16とにおいて、P2は第2の内挿回路551が検出した第2の位置データであり、R1は第1の分解能記憶部557に記憶されている第1の分解能であり、R2は第2の分解能記憶部558に記憶されている第2の分解能であり、nは伝達比情報記憶部556から読み出した伝達比情報である。なお、INTは、小数点以下を切り捨てて、整数部分のみを抽出する演算子である。
このように、この第2の位置データ検出回路550は、第2の内挿回路551と第2の位置検出回路552とにより、第2のエンコーダ4が検出した第2の検出信号を内挿処理した値と伝達比情報記憶部556から読み出した伝達比情報とに基づいて、第1のエンコーダ3の回転数量を算出するとともに第1の位置データに対応する位置データを推定値として算出する。
送信信号生成出力部553は、第2の位置検出回路552が算出した推定値に基づいて、入力軸10の回転数量の値を示す送信信号を生成して第2の位置データ補正回路562に出力する。この送信信号生成出力部553は、送信信号を、たとえば、互いに位相が90度異なる第1の矩形波信号である多回転A信号と第2の矩形波信号である多回転B信号である2相信号として生成して出力する(図11参照)。なお、この2相信号は、外来のノイズなどに耐性を有するようにするために、波形が矩形波となる2相矩形波信号であることが望ましい。
図11においては、入力軸が1回転することに応じて、すなわち、第1の位置データの値が0から131071をとることに応じて、多回転A信号と多回転B信号とが、HとL、HとH、LとH、および、LとL、という信号パターンに変化する。ここで、HとLとは、たとえば、電気信号の電位で予め定められたハイレベルとロウレベルとである。そして、入力軸が1回転する毎に、多回転A信号と多回転B信号とは、上記の信号パターンを繰り返す。
この送信信号生成出力部553が生成する多回転A信号と多回転B信号とは、入力軸の1回転において、伝達比nと第2の位置データ検出回路550の分解能R2とにより、次の関係となる。
多回転A信号は、R2/4nの剰余が0から2nの期間はH、それ以外はLとなる。一方、多回転B信号は、R2/4nの剰余がnから3nの期間はH、それ以外はLとなる。
送信信号生成出力部553は、たとえば、次のようにして、上述した多回転A信号と多回転B信号とを生成する。送信信号生成出力部553は、第2の位置検出回路552の算出した推定値に、第2の位置データ検出回路550の分解能R2を乗じた値に対して、4nで除算した値が、0から2nであれば、多回転A信号をHとして出力し、それ以外であれば、多回転A信号をLとして出力する。また、送信信号生成出力部553は、第2の位置検出回路552の算出した推定値に、第2の位置データ検出回路550の分解能R2を乗じた値に対して、4nで除算した値が、1nから3nであれば、多回転B信号をHとして出力し、それ以外であれば、多回転B信号をLとして出力する。
<第1の信号処理回路6の各構成>
次に、第1の信号処理回路6の各構成について説明する。伝達比情報記憶部566には、伝達比情報記憶部556と同様に、第1のエンコーダ3と第2のエンコーダ4とを連結する予め定められている動力伝達装置2の伝達比の値を示す情報が、伝達比情報として予め記憶されている。第1の分解能記憶部567には、第1の分解能記憶部557と同様に、第1の位置データ検出回路561の分解能が第1の分解能として予め記憶されている。第2の分解能記憶部568には、第2の分解能記憶部558と同様に、第2の位置データ検出回路550の分解能が第2の分解能として予め記憶されている。
第1の位置データ検出回路561は、第1のエンコーダ3から入力された第1の検出信号に基づいて、予め定められている第1の信号処理(内挿処理)により、入力軸10の角度位置を示す第1の位置データを検出する。
第2の位置データ補正回路562は、第2の位置データ検出回路550が検出した第2の位置データを、この第2の位置データと第1の位置データ検出回路561が検出した第1の位置データとに基いて予め定められている補正処理により補正する。
位置データ合成回路563は、第2の位置データ補正回路562が補正した第1のエンコーダ3の回転数量の値と、第1の位置データ検出回路561が検出した第1の位置データの値とに基づいて、合成位置データを生成する。なお、この位置データ合成回路563は、第1の位置データ検出回路561が検出した第1の位置データと、第2の位置データ検出回路550が検出した第2の位置データとを合成する場合に、伝達比情報記憶部566から読み出した伝達比情報に基づいて合成位置データを合成する。
また、この位置データ合成回路563は、詳細には、第1の位置データ検出回路561が検出した第1の位置データと、第2の位置データ検出回路550が検出した第2の位置データとを合成する場合に、伝達比情報記憶部566から読み出した伝達比情報、第1の分解能記憶部567から読み出した第1の分解能、および、第2の分解能記憶部568から読み出した第2の分解能に基づいて、予め定められている算出方法により、合成位置データを合成する。
例えば、位置データ合成回路563は、合成位置データを、次の式17により算出する。
合成位置データ=P1+R1×INT(n×P2/R2) ・・・ (式17)
ここで、P1は第1の位置データであり、P2は第2の位置データであり、nはギア比である。また、R1は第1の位置データ検出回路561の分解能であり、R2は第2の位置データ検出回路550の分解能である。なお、INTは、小数点以下を切り捨てて、整数部分のみを抽出する演算子である。
位置データ合成回路563は、この式17により、第2の位置データ検出回路550の一回転内の位置割合(P2/R2)にギア比(n)を乗じた値の整数部分(INT)を算出し、この算出した整数部分の値に第1の位置データ検出回路550の分解能の値(R1)を乗じた値に第1の位置データ(P1)の値を加算した値を、合成位置データとして算出する。
また、位置データ合成回路563は、位置データ合成回路563が生成した合成位置データを、外部通信回路565を介して、通信ライン9を通じてコントローラ8に出力する。
また、外部通信回路565は、通信ライン9を通じてコントローラ8との間の通信処理を実行する。たとえば、外部通信回路565は、通信ライン9を通じてコントローラ8から受信した伝達比情報を、伝達比情報記憶部566に記憶させるとともに、設定制御線13を介して伝達比情報記憶部556に記憶させる。
また、外部通信回路565は、通信ライン9を通じてコントローラ8から受信した第1の分解能を、第1の分解能記憶部567に記憶させるとともに、設定制御線13を介して第1の分解能記憶部557に記憶させる。また、外部通信回路565は、通信ライン9を通じてコントローラ8から受信した第2の分解能を、第2の分解能記憶部568に記憶させるとともに、設定制御線13を介して第2の分解能記憶部558に記憶させる。
なお、この伝達比情報記憶部566および伝達比情報記憶部556は、それぞれ、たとえば、不揮発性メモリである。そのため、伝達比情報記憶部566に記憶された伝達比情報の値は、一度設定されれば、エンコーダシステムの電源が落ちても、消えることは無い。本構成により、エンコーダシステムで使用可能な動力伝達装置2および動力伝達装置2の伝達比の、選択肢を広げることが可能となる。
また、第1の分解能記憶部557、第1の分解能記憶部567、第2の分解能記憶部558、および、第2の分解能記憶部568も、伝達比情報記憶部566および伝達比情報記憶部556と同様に、それぞれ、たとえば、不揮発性メモリである。そのため、同様に、エンコーダシステムで使用可能な第1の位置データ検出回路561および第2の位置データ検出回路550の分解能の値について、選択肢を広げることが可能となる。
誤差補正値記憶部5620には、自エンコーダシステムに出力軸11を回転させる動力伝達装置全体を組み込んだ状態で予め駆動して求められる誤差補正値であって合成位置データを補正する誤差補正値が予め記憶されている。
この動力伝達装置全体とは、たとえば、エンコーダシステムが組み込まれたモジュールであってもよい。モジュールとは、たとえば、産業用ロボットの腕などであって、産業用ロボットという製品を構成する部品であってもよい。
この誤差補正値記憶部5620には、たとえば、第2のエンコーダ4が検出した第2の位置データに基づく検出角度(回転角度)を、第1のエンコーダ3が検出した第1の位置データに基づく検出角度(回転角度)を基準にした角度と比較して求められる誤差角度(回転角度位置誤差)であって、動力伝達装置全体から生じる誤差角度を誤差補正値として、エンコーダシステムが実際に動作される前段階において予め記憶されている。
具体的には、誤差補正値記憶部5620には、自エンコーダシステムに組み込まれている動力伝達装置全体が予め駆動された場合において検出された誤差補正値が、第2の位置データと第1の位置データとに関連付けて予め記憶されている。
誤差補正回路5621は、誤差補正値記憶部5620から読み出した誤差補正値に基づいて位置データ合成回路563が生成する合成位置データを補正する。具体的には、誤差補正回路5621は、入力軸10が回転された場合に、第1の位置データ検出回路561が検出した第1の位置データと第2の位置データ検出回路550が検出した第2の位置データとに関連付けられている誤差補正値を誤差補正値記憶部5620から読み出し、当該読み出した誤差補正値に基づいて位置データ合成回路563が生成する合成位置データを補正する。
<誤差補正値記憶部5620に記憶されている誤差補正値を得る第1の方法>
ここで、誤差補正値記憶部5620に記憶されている誤差補正値を得る方法と、誤差補正値記憶部5620に誤差補正値を記憶させる方法とについて説明する。
一般に、ギアやベルト・プーリーなどの動力伝達装置においては、各ギアの歯の噛み合わせ誤差、プーリーの回転偏心、負荷変動等の影響によって、回転角度によって角度誤差が発生する可能性がある。
このように、動力伝達装置に回転角度誤差があると、入力軸10の角度換算で出力軸11の角度を推定して、エンコーダシステムが組み込まれるシステムを制御しても、正確な回転角度でモータ等を制御する事が出来ない場合があるという問題がある。
そこで、この問題を解決するため、あらかじめ、出力軸11を1回転以上回転させた時の入力軸10における第1のエンコーダ3の検出角度と出力軸11における第2のエンコーダ4の検出角度とを測定し、入力軸10における第1のエンコーダ3の検出角度と第2のエンコーダ4が検出した出力軸11の検出角度に対応する入力軸10の理論回転角度(減速比から計算した回転角度)との比較(例えば、差)から誤差角度を検出する。
たとえば、本実施形態によるエンコーダシステムを出荷する前の調整段階において、上述した誤差角度を、専用の測定器を用いて測定する。そして、専用の測定器を用いて測定された誤差角度は、コントローラ8からエンコーダシステムに入力され、外部通信回路565が、第1の位置データ検出回路561が検出した第1の位置データと第2の位置データ検出回路550が検出した第2の位置データとに関連付けて誤差補正値δPを誤差補正値記憶部5620に記憶させる。
ところでこの誤差補正値記憶部5620も、不揮発性メモリである。そのため誤差補正値記憶部5620に誤差補正値δPが一端記憶されれば、エンコーダシステムは出荷された後も、誤差補正値記憶部5620に記憶されている誤差補正値δPに基づいて、位置データ合成回路563が生成する合成位置データを補正することができる。
また、エンコーダシステムを出荷する前の調整段階においてエンコーダシステム毎に実際の誤差角度を測定することにより、エンコーダシステム毎の誤差を補正することが可能となる。
図28に、第2のエンコーダ4の1回転の回転において、第1のエンコーダ3を基準とした理論回転角度に対する第1のエンコーダ3の入力軸10の誤差角度の一例を示す。
すなわち、この誤差角度が、動力伝達装置の回転角度誤差になる。そして、予め、この回転角度誤差を誤差補正値δPとして誤差補正値記憶部5620に記憶させる。そして実際の駆動時には、この誤差補正値記憶部5620に記憶された誤差補正値δPに基づいて誤差補正回路5621が角度補正をして、コントローラ8に送信する合成位置データを正確に算出できるようにする。
たとえば、誤差補正値記憶部5620には、第2の位置データの値P2と第1の位置データの値P1とに関連付けてこの誤差補正値δPが予め記憶されている。ここでは誤差補正値δPを、第2の位置データの値P2を補正する誤差補正値(δP2)として説明する。
誤差補正回路5621は、上述した式17により合成位置データが算出される場合に、式17に用いられる第2の位置データの値P2と第1の位置データの値P1とに該当する誤差補正値(δP2)を誤差補正値記憶部5620から読み出して、読み出した誤差補正値(δP2)を第2の位置データの値P2に加算して補正する。そして、誤差補正値(δP2)により補正された第2の位置データの値P2に基づいて、位置データ合成回路563により、合成位置データが算出される。
すなわち位置データ合成回路563は、次の式18により、合成位置データを生成することになる。
合成位置データ=P1+R1×INT(n×(P2+δP2)/R2)・・・ (式18)
この式18において(P2+δP2)という項が、上述した式17に対して、位置データ合成回路563により補正された項である。
この式18により合成位置データを算出するにあたり、たとえば、誤差補正回路5621が、第2の位置データの値P2と第1の位置データの値P1とに該当する誤差補正値(δP2)を誤差補正値記憶部5620から読み出し、誤差補正値(δP2)に基づいて、第2の位置データ補正回路562による第2の位置データの値P2を補正する。そして、この補正された第2の位置データの値P2が、第2の位置データ補正回路562から位置データ合成回路563に出力され、位置データ合成回路563が上述した式18により、合成位置データを算出する。
この方式は、第1のエンコーダ3の回転角度を基準にし、第2のエンコーダ4と第1のエンコーダ3との2個のエンコーダから得られる誤差角度から簡単に動力伝達装置の誤差角度を検出できるという特徴がある。第2のエンコーダ4から見ると、動力伝達装置の伝達比倍に高分解能化した第1のエンコーダ3を基準にしている事になる。
このように、本実施形態においては、自エンコーダシステムに出力軸11を回転させる動力伝達装置全体を組み込まれた状態で予め駆動して求められる誤差補正値δPが予め記憶されている。そして、誤差補正値記憶部5620から読み出した誤差補正値δPに基づいて、誤差補正回路5621が、位置データ合成回路563の合成する合成位置データを補正する。これにより、入力軸10の回転と出力軸11の回転との間にずれ(例えば、多回転量のずれ等)が生じる場合においても正常に合成位置を生成することができる。
<誤差補正値記憶部5620に記憶されている誤差補正値を得る第2の方法>
図29に、さらに高精度に誤差角度を検出する第2の方法を示す。本実施形態では、第1のエンコーダ3の代わりに誤差検出用の基準となる高精度絶対値エンコーダ31を仮搭載し、この状態で上述した第1の方法の場合と同様に、出力軸11を1回転以上回転させて動力伝達装置の回転角度誤差を検出する。そして、この検出した回転角度誤差を、第1の方法の場合と同様に、誤差補正値記憶部5620に記憶させる。
その後、基準となる高精度絶対値エンコーダ31の代わりに製品となる第1のエンコーダ3を搭載して、製品にする。なお、実際の駆動時における、この誤差補正値記憶部5620に記憶させた誤差補正値δPに基づく合成位置データの補正は、上述の第1の方法と同様なため省略する。
このように、この誤差補正値記憶部5620には、あらかじめ、第2のエンコーダ4が検出した検出角度を、第1のエンコーダ3の変わりに高精度の高精度絶対値エンコーダ31(絶対位置基準検出器)を用いて検出し、当該高精度絶対値エンコーダ31が検出した検出角度を基準にした角度と比較した誤差角度であって、動力伝達装置全体から生じる誤差角度が誤差補正値δPとして記憶されていてもよい。
この方式は、装置の製造時で専用の高精度絶対値エンコーダ31を用いる事で、簡単にかつ高精度に回転角度誤差を検出する事が出来るという特徴がある。
なお、上述した実施形態では、出力軸11に負荷トルクがかからない場合の動力伝達装置の回転角度誤差について示したが、実使用時における負荷トルクの大きさが分かっている場合には、その負荷トルクを出力軸11に加えた状態で動力伝達装置の回転角度誤差を検出すれば、さらに正確な回転角度誤差を検出する事が出来る。また、上述した遊星歯車減速装置を用いた場合、その出力軸をさらに減速するために、別の歯車、プーリーやタイミングベルトなどを用いる場合があるが、本実施形態によれば、遊星歯車減速装置の誤差だけでなく、該プーリーなどを含めた動力伝達装置全体の回転角度誤差を考慮して補正することができる。また、例えば、本実施形態においては、入力軸に第1のエンコーダ3を配置し、出力軸に第2のエンコーダ4を配置しているので、負荷変動等によって生じる回転角度誤差(例、出力軸の回転角度誤差など)を高精度に検出して、合成位置データを正確に補正することができる。
なお、誤差補正回路5621は、第1の位置データ検出回路561が検出する第1の位置データを第2の位置データ検出回路550が検出した第2の位置データに基づいて推定された推定値と、第2の位置データ検出回路550が検出した第2の位置データとに関連付けられている誤差補正値δPを誤差補正値記憶部5620から読み出し、当該読み出した誤差補正値δPに基づいて位置データ合成回路が生成する合成位置データを補正するようにしてもよい。
たとえば、第1のエンコーダ3または第1の位置データ検出回路561が故障したことにより、第1の位置データが異常な値となる場合に、上述したように、誤差補正回路5621は、第1の位置データに代えて、上述した推定値を用いてもよい。この推定値とは、式16で算出した推定値sである。
たとえば、第2の位置検出回路552が推定値sを算出し、算出した推定値sを第2の位置データ補正回路562に送信する。この推定値sの送信方法として、たとえば、送信信号生成出力部553が、2相正弦波信号で、回転数量mとともに推定値sを、第2の位置データ補正回路562に送信してもよい。そして第2の位置データ補正回路562を介して受信した推定値sに基づいて、誤差補正回路5621は、誤差補正値δPを誤差補正値記憶部5620から読み出し、当該読み出した誤差補正値δPに基づいて位置データ合成回路が生成する合成位置データを補正する。
ここでは2相正弦波信号により推定値sを第2の信号処理回路5から第1の信号処理回路6へ出力するものとして説明したが、送信方法は任意であり、たとえば通信線12とは異なる通信線により送信してもよいし、任意形式の送信形式で送信してもよい。
なお、第1の位置データが異常な値となることを検出するために、たとえば第1の位置データの異常を検出する故障検出回路5622を第1の信号処理回路6が有するようにしてもよい。この故障検出回路5622には、たとえば、モータ1を駆動する制御信号がコントローラ8から外部通信回路565を介して入力され、この制御信号により第1の位置データがとるべき値を算出できるものとする。
そして、故障検出回路5622は、第1の位置データ検出回路561から出力される第1の位置データの値と、コントローラ8からの制御信号に基づいて算出した第1の位置データがとるべき値とを比較し、両者が一致しない場合に、第1の位置データに異常があると検出する。
そして故障検出回路5622が第1の位置データの異常を検出しない場合には、誤差補正回路5621は、第1の位置データ検出回路561が検出した第1の位置データと第2の位置データ検出回路550が検出した第2の位置データとに関連付けられている誤差補正値δPを誤差補正値記憶部5620から読み出し、当該読み出した誤差補正値δPに基づいて位置データ合成回路が生成する合成位置データを補正する。
逆に、故障検出回路5622が第1の位置データの異常を検出した場合には、誤差補正回路5621は、第1の位置データ検出回路561が検出する第1の位置データを第2の位置データ検出回路550が検出した第2の位置データに基づいて推定された推定値と、第2の位置データ検出回路550が検出した第2の位置データとに関連付けられている誤差補正値δPを誤差補正値記憶部5620から読み出し、当該読み出した誤差補正値δPに基づいて位置データ合成回路が生成する合成位置データを補正する。
このようにすることにより、たとえば、第1のエンコーダ3または第1の位置データ検出回路561が故障したことにより、第1の位置データが異常な値となる場合であっても、故障検出回路5622は、位置データ合成回路が生成する合成位置データを補正することができる。
また、位置データ合成回路563は、第1の位置データ検出回路561が検出した第1の位置データ(P1)に代えて、第1の位置データ検出回路561が検出する第1の位置データを第2の位置データ検出回路550が検出した第2の位置データに基づいて推定された推定値sを用いて、次の式19により、合成位置データを生成してもよい。
合成位置データ=s+R1×INT(n×(P2+δP2)/R2)・・・ (式19)
たとえば、故障検出回路5622が第1の位置データの異常を検出しない場合には、位置データ合成回路563は、第1の位置データ検出回路561が検出した第1の位置データに基づいて、上述した式17により合成位置データを生成する。
逆に、故障検出回路5622が第1の位置データの異常を検出した場合には、位置データ合成回路563は、第1の位置データ検出回路561が検出した第1の位置データ(P1)に代えて、第1の位置データ検出回路561が検出する第1の位置データを第2の位置データ検出回路550が検出した第2の位置データに基づいて推定された推定値sを用いて、上述した式19により合成位置データを生成する。
このようにすることにより、たとえば、第1のエンコーダ3または第1の位置データ検出回路561が故障したことにより、第1の位置データが異常な値となる場合であっても、位置データ合成回路563は、合成位置データを生成することができる。
図27の説明に戻り、回転数量記憶部564には、第2のエンコーダ4で検出された入力軸10の回転数量の値が記憶されている。そして、第2の位置データ補正回路562は、第2の信号処理回路5からの送信信号の受信に応じて、回転数量記憶部564に記憶されている回転数量の値を、1上げるまたは1下げることにより、この回転数量の値を検出する。
この回転数量記憶部564には、エンコーダシステムの起動時に、第2のエンコーダ4で検出された入力軸10の回転数量の値が記憶される。たとえば、エンコーダシステムの起動時に、第2の信号処理回路5の送信信号生成出力部553は、1KHzの周期で、図11を用いて説明した多回転A信号と多回転B信号との信号パターンを回転数量分だけ繰り返して、回転数量分の多回転信号を初期値設定信号として出力する。そして、第2の位置データ補正回路562は、第2の信号処理回路5の送信信号生成出力部553から受信した初期値設定信号に対応する値を、回転数量記憶部564に記憶させる。その結果、回転数量記憶部564には、回転数量の情報が記憶される。
以降、第2の位置データ補正回路562は、第2の信号処理回路5からの送信信号の受信に応じて、回転数量記憶部564に記憶されている回転数量の値を上げるか、または、下げる。また誤差補正回路5621は、動力伝達装置の角度誤差を補正する。このようにして、入力軸10の回転数量の値が、出力軸11の回転から検出されている。
<第2の位置データ補正回路562の詳細>
次に、第2の位置データ補正回路562の構成を、より具体的に説明する。たとえば、入力軸10の回転位置を示す第1の位置データと、出力軸11の回転位置を示す第2の位置データとの間には、ずれが生じる可能性がある。これは、たとえば、入力軸10と動力伝達装置2、および、動力伝達装置2と出力軸11との間の噛み合わせに起因するずれであり、物理的に生じるものである。
そのため、図9に示すように、第2の位置データから算出される回転数量(m)と、入力軸10の回転位置を示す第1の位置データ(P1)との間にも、変化するタイミングにおいて、ずれが生じる可能性がある。このようなずれが生じていると、位置データ合成回路563は、正常に合成位置データを生成することができない。そこで、第2の位置データ補正回路562は、このようにずれがある場合にも、位置データ合成回路563が、正常に合成位置データを生成することができるように、図10に示すように、補正値Δmを算出して、この算出した補正値Δmを回転数量(m)に加算して補正する。
ここでは、図9と図10とを用いて、第2の位置データ補正回路562による、回転数量の補正方法について説明する。なお、ここでは、第1の位置データの値が17ビットである場合について説明する。
図9に示すように、入力軸10が回転するにともない出力軸11が回転し、第2の位置データの値P2に基づいて回転数量mが算出される。また、第1の位置データの値P1は0から131071(=217−1)の値を繰り返す。すなわち、第1の位置データの値P1は0から131071(=217−1)の値を繰り返すことに応じて、たとえば、回転数量mが10、11、12と順に変化する。この第1の位置データの値P1により検出される入力軸回転数量の変化位置(たとえば、第1の位置データの値P1が0となるタイミング)と、回転数量mの変化するタイミングとの間には、ずれがある。
図10に示すように、第2の位置データ補正回路562は、たとえば、第1の位置データの値P1の値が、0から32767(=217×1/4−1)の範囲にあり、かつ、算出された回転数量mが後半である場合には、回転数量mの値に補正値Δm(=1)を加算して、回転数量mの値を補正する。ここで、算出された回転数量mが後半であるとは、算出された回転数量mの値が、mではあるが、m+1に近いことを意味している。
また、図10に示すように、第2の位置データ補正回路562は、たとえば、第1の位置データの値P1の値が、98304(=217×3/4−1)から131071(=217−1)の範囲にあり、かつ、算出された回転数量mが前半である場合には、回転数量mの値に補正値Δm(=−1)を加算して、回転数量mの値を補正する。ここで、算出された回転数量mが前半であるとは、算出された回転数量mの値が、mではあるが、m−1に近いことを意味している。
ところで、算出された回転数量mが後半であるか前半であるかという判定は、推定値の値に基づいて判定する。たとえば、第2の位置データ補正回路562は、第2の位置検出回路552の算出した推定値の値が、0.5(半周)よりも小さい場合には前半であると判定し、推定値の値が0.5(半周)以上である場合には後半であると判定する。
なお、図10においては、第1のエンコーダ3が検出した回転数量の値によって検出される入力軸10の回転位置が、入力軸10の1回転において回転の前半1/4の領域(0から32767)であるか後半1/4の領域であるか(98304から131071)を判定した。しかし、ずれを検出するためには、第1のエンコーダ3が検出した回転数量の値によって検出される入力軸10の回転位置が、入力軸10の1回転において回転の前半の領域であるか後半の領域であるかを判定してもよい。
よって、第2の位置データ補正回路562は、第2の位置検出回路552の算出した推定値の値によって推定される入力軸10の回転位置が、入力軸10の1回転において回転の前半領域であるか後半領域を判定し、第1のエンコーダ3が検出した回転数量の値によって検出される入力軸10の回転位置が、入力軸10の1回転において回転の前半領域であるか後半領域であるかを判定するようにしてもよい。そして、第2の位置データ補正回路562は、この2つの判定結果が異なる場合には、第2の位置検出回路552の算出した回転数量の値を、補正するようにしてもよい。
具体的には、第2の位置データ補正回路562は、第2の位置検出回路552の算出した推定値の値によって推定される入力軸10の回転位置が、入力軸10の1回転において回転の後半領域であり、かつ、第1の位置データ検出回路561が検出した第1の位置データの値によって検出される入力軸10の回転位置が、入力軸10の1回転において回転の前半領域である場合には、第2の位置検出回路552の算出した回転数量の値に1を加算して補正する。
また、第2の位置データ補正回路562は、逆に、第2の位置検出回路552の算出した推定値の値によって推定した入力軸10の回転位置が、入力軸10の1回転において回転の前半領域であり、かつ、第1の位置データ検出回路561が検出した第1の位置データの値によって検出される入力軸10の回転位置が、入力軸10の1回転において回転の後半領域である場合には、第2の位置検出回路552の算出した回転数量の値に−1を加算して、すなわち、1を減算して補正する。
ところで、第2の位置データ補正回路562は、第2の位置データ検出回路550の送信信号生成出力部553から入力した送信信号に基づいて、回転数量の入力軸10の回転位置が入力軸10の1回転において回転の前半領域であるか後半領域であるかを判定して回転数量の値を補正する。
ここでは、第2の位置データ補正回路562に入力される信号が、図11に示すように多回転A信号と多回転B信号との2相矩形波の場合について説明する。
たとえば、図11に示すように、多回転A信号と多回転B信号とは、入力軸が1回転する毎に、HとL、HとH、LとH、および、LとL、という信号パターンで変化する。これにより、第2の位置データ補正回路562は、多回転A信号と多回転B信号とが、HとLまたはHとHの場合は、入力軸の1回転において回転の前半領域であると判定する。逆に、第2の位置データ補正回路562は、LとHまたはLとLの場合は、入力軸の1回転において回転の後半領域であると判定する。
より詳細には、第2の位置データ補正回路562は、多回転A信号と多回転B信号とが、HとLの場合は、入力軸の1回転において回転の開始1/4の領域であると判定する。また、第2の位置データ補正回路562は、多回転A信号と多回転B信号とが、LとLの場合は、入力軸の1回転において回転の終了1/4の領域であると判定する。
また、第2の位置データ補正回路562は、入力された多回転A信号と多回転B信号とが、HとL、HとH、LとH、および、LとL、という信号パターンで順に変化することを検出することにより、入力軸が1回転したことを検出する。また、逆に、第2の位置データ補正回路562は、入力された多回転A信号と多回転B信号とが、LとL、LとH、HとH、および、HとL、という信号パターンで順に変化することを検出することにより、入力軸が逆方向に1回転、すなわち、−1回転したことを検出する。
上記の説明においては、第2の位置データ補正回路562に入力される信号が、図11に示すように多回転A信号と多回転B信号との2相矩形波の場合について説明したが、第2の位置データ補正回路562における信号処理は、この2相矩形波が2相正弦波信号である場合も同様である。
たとえば2相正弦波信号の場合には、第2の位置データ補正回路562の内部において2相正弦波信号を2相矩形波に変換し、この変換した2相矩形波に基づいて、第2の位置データ補正回路562は、上記に図9と図10とを用いて説明した信号処理を実行するようにしてもよい。
また、この2相正弦波信号とは、第2の信号処理回路5から第1の信号処理回路6へ推定値sを出力する場合の信号と同一であってもよい。この場合でも、位置データ合成回路563は、故障検出回路5622および第2の位置データ補正回路562により補正された値を用いて、合成位置データを生成することができる。
また2相正弦波信号の場合には、第2の信号処理回路5から第1の信号処理回路6へ推定値sを出力することができることから、第1の位置データが異常な値となる場合であっても、位置データ合成回路563は、第1の位置データに代えて推定値sを用いて、上述した式19により合成位置データを生成することができる。
なお、従来においては、たとえば、遊星歯車減速装置の回転角度誤差が、負荷変動によって変化するので、正確な回転角度補正をすることが出来ない場合があるという問題があった。
従来において、一般的に、例えば、負荷変動によって、入力軸の回転と出力軸の回転との間に回転角度誤差が生じる可能性がある。そのため、エンコーダシステムにおいては、入力軸の回転と出力軸の回転との間に生じる回転角度誤差を正確に補正することができない場合があるという問題があった。
本実施形態において、入力軸の回転と出力軸の回転との間に生じる回転角度誤差を正確に補正することが可能なエンコーダシステムおよび信号処理方法を提供することができる。
本実施形態において、入力軸の回転と出力軸の回転との間に生じる回転角度誤差を正確に補正することができるという効果を奏する。
なお図27を用いて説明した実施形態では、誤差補正回路5621を第2の位置データ補正回路562に接続させて説明したが、誤差補正回路5621と同様の機能を有する構成を、第2の信号処理回路5内の第2の位置検出回路552に接続させてもよい。このような構成において、第2の位置検出回路552であらかじめ第2の位置データを補正してから、すなわち動力伝達誤差分を第2の信号処理回路5内で補正してから、第2の位置データ補正回路562に送信しても良い。
なお図30に示すように、第1のエンコーダ3が、内部に、第1の信号処理回路6と第2の信号処理回路5とを一体として有するようにしていてもよい。たとえば第2のエンコーダ4で検出された第2の検出信号が、信号線15を介して、一体とされた第1の信号処理回路6と第2の信号処理回路5とのうちの第2の内挿回路551に入力される(図31参照)。
そしてこの場合、図31に示すように、第2の位置検出回路552が、算出した回転数量mと推定値sとを、第2の位置データ補正回路562に出力するようにしてもよい。
この図30と図31とに示すように構成しても、誤差補正値記憶部5620から読み出した誤差補正値δPに基づいて、誤差補正回路5621が、位置データ合成回路563の合成する合成位置データを補正することができる。これにより、入力軸10の回転と出力軸11の回転との間にずれが生じる場合においても正常に合成位置を生成することができる。
なお、上述した第1のエンコーダ3または第2のエンコーダ4は、それぞれ、磁気式のエンコーダであってもよいし、光学式のエンコーダであってもよい。
また、誤差補正回路5621の機能を、第2の位置データ補正回路562または第2の位置検出回路552が有するようにしてもよい。または誤差補正回路5621と、第2の位置データ補正回路562または第2の位置検出回路552とを、一体として構成してもよい。
また上記の説明においては、故障検出回路5622が第1の位置データの異常を検出した場合に、誤差補正回路5621、または、誤差補正回路5621および位置データ合成回路563は、第1の位置データ検出回路561が検出した第1の位置データ(P1)に代えて、第1の位置データ検出回路561が検出する第1の位置データを第2の位置データ検出回路550が検出した第2の位置データに基づいて推定された推定値sを用いるものとして説明した。
しかし、これに限るものではなく、故障検出回路5622が第1の位置データの異常を検出した場合に、位置データ合成回路563のみが、第1の位置データ検出回路561が検出した第1の位置データ(P1)に代えて、第1の位置データ検出回路561が検出する第1の位置データを第2の位置データ検出回路550が検出した第2の位置データに基づいて推定された推定値sを用いてもよい。
すなわち、位置データ合成回路563は、第1の位置データ(P1)に代えて推定値sを用いて、次の式20により合成位置データを生成してもよい。
合成位置データ=s+R1×INT(n×P2/R2)・・・ (式20)
このようにすることにより、たとえば、誤差補正値記憶部5620に誤差補正値δPが記憶されていない場合、または、エンコーダシステムが誤差補正回路5621を有していない場合において、第1の位置データが異常な値となる場合であっても、位置データ合成回路563は、合成位置データを生成することができる。
なお、上述した伝達比情報記憶部556と伝達比情報記憶部566、第1の分解能記憶部557と第1の分解能記憶部567、および、第2の分解能記憶部558と第2の分解能記憶部568には、それぞれ、同一の情報が記憶される。そこで、伝達比情報記憶部556と伝達比情報記憶部566、第1の分解能記憶部557と第1の分解能記憶部567、および、第2の分解能記憶部558と第2の分解能記憶部568を、それぞれ、一体として構成して、第1の信号処理回路6または第2の信号処理回路5のうちいずれか一方、または、エンコーダシステムが有するようにしてもよい。そして、第1の信号処理回路6および第2の信号処理回路5は、これら一体とした記憶部から、それぞれ読み出すようにしてもよい。
また、誤差補正値記憶部5620に記憶されている誤差補正値δPは、例えば、モータの加速度やトルク等によって、複数の誤差補正値δPを有するようにしてもよく、必要に応じて、その複数の誤差補正値δPを選択するようにすればよい。
また、これらの記憶部および誤差補正値記憶部5620は、ハードディスク装置や光磁気ディスク装置、フラッシュメモリ等の不揮発性のメモリや、CD−ROM等の読み出しのみが可能な記憶媒体、RAM(Random Access Memory)のような揮発性のメモリ、あるいはこれらの組み合わせにより構成されるものとする。
なお、図27における第1の信号処理回路6および第2の信号処理回路5を構成する各回路は専用のハードウェアにより実現されるものであってもよく、また、メモリおよびマイクロプロセッサにより実現させるものであってもよい。
なお、この第1の信号処理回路6および第2の信号処理回路5を構成する各回路は専用のハードウェアにより実現されるものであってもよく、また、この第1の信号処理回路6および第2の信号処理回路5を構成する各回路はメモリおよびCPU(中央演算装置)により構成され、第1の信号処理回路6および第2の信号処理回路5を構成する各回路の機能を実現するためのプログラムをメモリにロードして実行することによりその機能を実現させるものであってもよい。
以上、この発明の実施形態を図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。