(57)【特許請求の範囲】
【請求項１】
直交する２相のアナログ正弦波信号と位置情報の原点を示す原点原信号とコミュテーションセンサ原信号（以下ＣＳ原信号）とを生成する原信号生成部と、前記アナログ正弦波信号からパルスデータを生成するパルス検出部と、前記アナログ正弦波信号に応じた正弦波データを生成するアナログ検出部と、前記原点原信号から原点信号を検出する原点信号検出部と、前記ＣＳ原信号からＣＳ信号を検出するＣＳ信号検出部と、前記正弦波データから補正値演算データを生成する補正値演算部と、補正データとしてエンコーダ起動時から前記補正値演算データが生成されるまでの期間は初期補正値を出力し、生成されてからは前記補正値演算データを出力する補正値切替部と、前記初期補正値を保存する不揮発性メモリと、前記初期補正値の前記不揮発性メモリへの書込みと読出しを制御する初期補正値制御部と、前記補正データを用いて前記正弦波データを補正するデータ補正部と、前記データ補正部の出力データと前記パルスデータと前記原点信号から位置データを演算する位置データ演算部とを備えるエンコーダにおいて、
前記初期補正値制御部は、前記補正値演算データが生成されてから前記原点信号がＨレベルのときの補正値演算データＨと前記原点信号がＬレベルのときの補正値演算データＬとを前記不揮発性メモリに保存し、次回エンコーダ起動時に前記初期補正値として前記原点信号がＨレベルのときは前記不揮発性メモリに保存された前記補正値演算データＨを出力し、Ｌレベルのときは前記補正値演算データＬを出力することを特徴とするエンコーダの補正値制御方法。
【請求項２】
直交する２相のアナログ正弦波信号と位置情報の原点を示す原点原信号とコミュテーションセンサ原信号（以下ＣＳ原信号）とを生成する原信号生成部と、前記アナログ正弦波信号からパルスデータを生成するパルス検出部と、前記アナログ正弦波信号に応じた正弦波データを生成するアナログ検出部と、前記原点原信号から原点信号を検出する原点信号検出部と、前記ＣＳ原信号からＣＳ信号を検出するＣＳ信号検出部と、前記正弦波データから補正値演算データを生成する補正値演算部と、補正データとしてエンコーダ起動時から前記補正値演算データが生成されるまでの期間は初期補正値を出力し、生成されてからは前記補正値演算データを出力する補正値切替部と、前記初期補正値を保存する不揮発性メモリと、前記初期補正値の前記不揮発性メモリへの書込みと読出しを制御する初期補正値制御部と、前記補正データを用いて前記正弦波データを補正するデータ補正部と、前記デ
ータ補正部の出力データと前記パルスデータと前記原点信号から位置データを演算する位置データ演算部とを備えるエンコーダにおいて、
前記初期補正値制御部は、前記補正値演算データが生成されてから前記ＣＳ信号の論理パターンと前記論理パターンに対応した前記補正値演算データを前記不揮発性メモリに保存し、次回エンコーダ起動時に前記初期補正値として前記不揮発性メモリに保存された前記ＣＳ信号の論理パターンと、そのときの前記ＣＳ信号の論理パターンが一致する補正値演算データを出力することを特徴とするエンコーダの補正値制御方法。
【請求項３】
直交する２相のアナログ正弦波信号と位置情報の原点を示す原点原信号とコミュテーションセンサ原信号（以下ＣＳ原信号）とを生成する原信号生成部と、前記アナログ正弦波信号からパルスデータを生成するパルス検出部と、前記アナログ正弦波信号に応じた正弦波データを生成するアナログ検出部と、前記原点原信号から原点信号を検出する原点信号検出部と、前記ＣＳ原信号からＣＳ信号を検出するＣＳ信号検出部と、前記正弦波データから補正値演算データを生成する補正値演算部と、補正データとしてエンコーダ起動時から前記補正値演算データが生成されるまでの期間は初期補正値を出力し、生成されてからは前記補正値演算データを出力する補正値切替部と、前記初期補正値を保存する不揮発性メモリと、前記初期補正値の前記不揮発性メモリへの書込みと読出しを制御する初期補正値制御部と、前記補正データを用いて前記正弦波データを補正するデータ補正部と、前記データ補正部の出力データと前記パルスデータと前記原点信号から位置データを演算する位置データ演算部とを備えるエンコーダにおいて、
前記初期補正値制御部は、前記補正値演算データが生成されてから前記原点信号および前記ＣＳ信号の論理パターンと前記論理パターンに対応した前記補正値演算データを前記不揮発性メモリに保存し、次回エンコーダ起動時に前記初期補正値として前記不揮発性メモリに保存された前記原点信号および前記ＣＳ信号の論理パターンと、そのときの前記原点信号または前記ＣＳ信号の論理パターンが一致する前記補正値演算データを出力することを特徴とするエンコーダの補正値制御方法。
【請求項４】
エンコーダ温度を検出する温度検出部をさらに備え、前記初期補正値を前記不揮発性メモリに保存するときに、前記温度検出部が検出した補正値保存温度も保存し、次回起動時に前記温度検出部からの検出温度と前記補正値保存温度を比較し、温度変化に対する比較値を基に前記初期補正値を修正することを特徴とする請求項１から請求項３のいずれか１項に記載のエンコーダの補正値制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、直交する２相のアナログ正弦波信号を内挿処理して高分解能を得るエンコーダの、アナログ正弦波信号のオフセット補正値、振幅補正値、位相補正値を制御する補正値制御方法に関する。
【背景技術】
【０００２】
サーボモータに取付けられる回転型（またはリニア型）のエンコーダにおける位置検出は、発光素子と受光素子と、その間に格子状のスリットを備える回転体（または移動体）から形成され、格子状のスリット間隔によって分解能が決定される。従って分解能を上げるために、スリット間隔を小さくすることが行われてきたが、加工精度や間隔の微細化によるスリット間の光の干渉が原因でこの手法で分解能を上げるのには限界があった。
【０００３】
そこで近年では、回転体（または移動体）のスリット形状を加工して直交する２相アナログ正弦波信号を生成し、そのアナログ正弦波信号をＡ／Ｄ変換し、ディジタル内挿分割演算により得られる内挿信号と上記のスリットによって得られる信号を合成して分解能を上げる方法が一般的に行われている。エンコーダの位置検出精度を向上させるためにはディジタル演算処理の精度を高くする必要があり、Ａ／Ｄ変換後の正弦波信号を正規化して演算誤差を抑えなければならない。
【０００４】
そのため、Ａ／Ｄ変換後の正弦波信号の最大値及び最小値を検出し、その検出値を用いてオフセット量、振幅変動量、位相のずれ量等をそれぞれ演算して補正値を求め、補正値を用いて正弦波信号の正規化をする方法が用いられており、特に起動直後の補正値が演算されるまでの初期補正値を、不揮発性メモリにあらかじめ保存されているオフセット量等の補正値を使用して起動直後でも演算誤差が小さい位置検出ができる構成をとっている。
【０００５】
その不揮発性メモリに保存する補正値の保存方法としては種々方法があり、演算された補正値と不揮発性メモリに保存されている補正値を常時比較し、演算された補正値が保存されている補正値と異なっていた場合には、不揮発性メモリを自動的に更新する方法が提案されている（例えば、特許文献１参照）。
【特許文献１】特開２００５−２４２９０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
一般にエンコーダの回転体（または移動体）上には、直交する２相アナログ正弦波信号を生成するスリット以外にも原点信号を生成するスリット、ＣＳ信号を生成するスリット等が構成されている。このような構成では、アナログ正弦波信号以外のスリットパターンの光がアナログ正弦波信号のパターンへ漏れて重畳し、正弦波信号の最大値及び最小値が変動する場合がある。
【０００７】
例えば、原点信号のスリットでは原点位置と原点以外の位置で変動し、ＣＳ信号のスリットではＣＳ論理パターンにより変動する。それに伴い１回転中（または移動中）で最大値と最小値も周期的に変動し、その上それら最大値と最小値から演算されるオフセット量、振幅変動量、位相のずれ量もまた変動する。
【０００８】
このような場合、特許文献１の方法では、１回転中（または移動中）に補正値が変動してその度に頻繁な更新が発生するため、補正値を保存した位置で起動したときは正確な初期補正値を使用して補正できるので演算誤差は小さいが、それ以外の位置で起動した場合には変動により初期補正値がずれて安定した補正ができなくなるため演算誤差も大きくなるという課題がある。
【０００９】
本発明は上記課題を解決するものであり、アナログ正弦波信号のオフセット補正値、振幅補正値、位相補正値を制御し、起動直後の演算誤差を抑えることができるエンコーダを提供することを目的とする。
【課題を解決するための手段】
【００１０】
上記課題を解決するために請求項１に記載のエンコーダの補正値制御方法は、直交する２相のアナログ正弦波信号と位置情報の原点を示す原点原信号とＣＳ原信号とを生成する原信号生成部と、前記アナログ正弦波信号からパルスデータを生成するパルス検出部と、前記アナログ正弦波信号に応じた正弦波データを生成するアナログ検出部と、前記原点原信号から原点信号を検出する原点信号検出部と、前記ＣＳ原信号からＣＳ信号を検出するＣＳ信号検出部と、前記正弦波データから補正値演算データを生成する補正値演算部と、補正データとしてエンコーダ起動時から前記補正値演算データが生成されるまでの期間は初期補正値を出力し、生成されてからは前記補正値演算データを出力する補正値切替部と、前記初期補正値を保存する不揮発性メモリと、前記初期補正値の前記不揮発性メモリへの書込みと読出しを制御する初期補正値制御部と、前記補正データを用いて前記ディジタルデータを補正するデータ補正部と、前記データ補正部の出力データと前記パルスデータと前記原点信号から位置データを演算する位置データ演算部とを備えるエンコーダにおいて、前記初期補正値制御部は、前記補正値演算データが生成されてから前記原点信号がＨレベルのときの補正値演算データＨと前記原点信号がＬレベルのときの補正値演算データＬとを前記不揮発性メモリに保存し、次回エンコーダ起動時に前記初期補正値として前記原点信号がＨレベルのときは前記不揮発性メモリに保存された前記補正値演算データＨを出力し、Ｌレベルのときは前記補正値演算データＬを出力する。
【００１１】
また、請求項２に記載のエンコーダの補正値制御方法は、前記初期補正値制御部において、前記補正値演算データが生成されてから前記ＣＳ信号の論理パターンと各パターンの補正値演算データを前記不揮発性メモリに保存し、次回エンコーダ起動時に前記初期補正値として不揮発性メモリに保存されたＣＳ信号の論理パターンとそのときのＣＳ信号の論理パターンが一致する補正値演算データを出力する。
【００１２】
また、また、請求項３に記載のエンコーダの補正値制御方法は、前記初期補正値制御部において、前記補正値演算データが生成されてから前記原点信号およびＣＳ信号の論理パターンと各パターンの補正値演算データを前記不揮発性メモリに保存し、次回エンコーダ起動時に前記初期補正値として不揮発性メモリに保存された原点信号およびＣＳ信号の論
理パターンとそのときの原点信号およびＣＳ信号の論理パターンが一致する補正値演算データを出力する。
【００１３】
さらに、請求項４に記載のエンコーダの補正値制御方法は、エンコーダ温度を検出する温度検出部をさらに備え、前記初期補正値を前記不揮発性メモリに保存するときに、前記温度検出部が検出した補正値保存温度も保存し、次回起動時に前記温度検出部からの検出温度と前記補正値保存温度を比較し、比較値を基に初期補正値を修正する。
【発明の効果】
【００１４】
請求項１に記載のエンコーダの補正値制御方法によれば、不揮発性メモリへエンコーダ起動時に使用する初期補正値２組分の領域を確保し、原点信号の信号レベルによってそれぞれ更新し、次回起動時には原点信号の信号レベルに合わせて初期補正値を選択することで、アナログ正弦波生成スリットに対する原点信号生成スリットからの漏れ光の影響を除去し正弦波信号を正確に補正し、演算誤差を低減することができる。
【００１５】
また、請求項２に記載のエンコーダの補正値制御方法によれば、不揮発性メモリへ初期補正値を保存する領域をＣＳ信号の論理パターン分だけ確保し、ＣＳ信号の論理パターンによりそれぞれ更新し、次回起動時にはＣＳ論理パターンに合わせて初期補正を選択することで、アナログ正弦波スリットに対するＣＳ信号生成スリットからの漏れ光の影響を除去し正弦波信号を正確に補正し、演算誤差を低減することができる。
【００１６】
また、請求項３に記載のエンコーダの補正値制御方法によれば、不揮発性メモリへ初期補正値を保存する領域をＣＳ信号の論理パターンと原点信号の信号レベルとの組合せ分だけ確保し、ＣＳ信号の論理パターンと原点信号の信号レベルによりそれぞれ更新し、次回起動時にはＣＳ論理パターンと原点信号の信号レベルに合わせて初期補正を選択することで、アナログ正弦波スリットに対するＣＳ信号生成スリットと原点信号スリットからの漏れ光の影響を除去し正弦波信号を正確に補正し、演算誤差を低減することができる。
【００１７】
さらに、請求項４に記載のエンコーダの補正値制御方法によれば、初期補正値の保存時に温度情報も保存し、次回起動時に検出された温度情報と保存された温度情報を元に初期補正値を修正することで、温度変化による補正値のずれも抑制し、効果的に演算誤差を低減することができる。
【００１８】
したがって、回転体（または移動体）上のスリットの漏れ光や温度変化によりアナログ原信号が変動した場合でも、演算誤差を低減し、正確な位置を検出することで装置全体の制御に悪影響を及ぼすことのないエンコーダを提供することができる。
【発明を実施するための最良の形態】
【００１９】
直交する２相のアナログ正弦波信号と位置情報の原点を示す原点原信号とＣＳ原信号とを生成する原信号生成部と、前記アナログ正弦波信号からパルスデータを生成するパルス検出部と、前記アナログ正弦波信号に応じた正弦波データを生成するアナログ検出部と、前記原点原信号から原点信号を検出する原点信号検出部と、前記ＣＳ原信号からＣＳ信号を検出するＣＳ信号検出部と、前記正弦波データから補正値演算データを生成する補正値演算部と、補正データとしてエンコーダ起動時から前記補正値演算データが生成されるまでの期間は初期補正値を出力し、生成されてからは前記補正値演算データを出力する補正値切替部と、前記初期補正値を保存する不揮発性メモリと、前記初期補正値の前記不揮発性メモリへの書込みと読出しを制御する初期補正値制御部と、前記補正データを用いて前記ディジタルデータを補正するデータ補正部と、前記データ補正部の出力データと前記パルスデータと前記原点信号から位置データを演算する位置データ演算部とを備えるエンコーダにおいて、前記初期補正値制御部は、前記補正値演算データが生成されてから前記原
点信号がＨレベルのときの補正値演算データＨと前記原点信号がＬレベルのときの補正値演算データＬとを前記不揮発性メモリに保存し、次回エンコーダ起動時に前記初期補正値として前記原点信号がＨレベルのときは前記不揮発性メモリに保存された前記補正値演算データＨを出力し、Ｌレベルのときは前記補正値演算データＬを出力する。以下、実施の形態について説明する。
（実施の形態１）
請求項１の一実施の形態について、図１のエンコーダのブロック構成図を用いて説明する。図１において、エンコーダは原信号生成部１０、パルス検出部１１、アナログ検出部１２、原点信号検出部１３、ＣＳ信号検出部１４、データ補正部１５、補正値演算部１６、補正値切替部１７、初期補正値制御部１８、メモリ制御部１９、不揮発性メモリ２０、位置データ演算部２１、パラレルシリアル変換部２２、通信手段２３により構成され、例えば、ＲＳ４８５などの通信手段によってサーボアンプ２４と双方向のシリアル通信を行う。
【００２０】
原信号生成部１０は、発光素子と受光素子とその間の格子状スリットを備える回転体（または移動体）から形成され、回転体（移動体）が回転（移動）することで格子状のスリットと受光素子上の受光パターンからＳＩＮ、ＣＯＳのアナログ正弦波信号１０ａと位置情報の原点を示す原点原信号１０ｂとＣＳ情報を示すＣＳ原信号１０ｃを出力する。
【００２１】
パルス検出部１１は、アナログ正弦波信号をコンパレータにより矩形波に変換してサンプリングし、９０度位相差のパルスデータ１１ａを出力する。アナログ検出部１２は、アナログ正弦波信号をサンプリング周期毎にＡ／Ｄ変換後、ＳＩＮ、ＣＯＳの正弦波データ１２ａを出力する。原点信号検出部１３は、原点原信号をコンパレータで整形しサンプリングすることで原点信号１３ａを出力する。ＣＳ信号検出部１４は、ＣＳ原信号をコンパレータで矩形波に変換してサンプリングしＣＳ信号１４ａを出力する。
【００２２】
データ補正部１５は、正弦波データに対してオフセット、振幅、位相の補正データ１７ａにより正規化し、正規化後正弦波データ１５ａを出力する。位置データ演算部２１は、原点信号でゼロクリアされるアップダウンカウンタによってパルスデータ１１ａから生成されるカウントデータと、正弦波データ１２ａに対して逆正弦関数による変換をすることで生成される内挿データとを合成することで位置データ２１ａを出力する。
【００２３】
メモリ制御部１９は、初期補正値書込データ１８ｂ及びモータの諸特性を表すパラメータ２２ａを不揮発性メモリ２０に書込み、エンコーダ起動時に不揮発性メモリからメモリ内初期補正値１９ａとメモリ内パラメータ１９ｂの読出しも行う。パラメータ２２ａはエンコーダが接続されているサーボモータにより一意に決まる為、工場出荷時等に１度だけ書込むのが一般的である。
【００２４】
パラレルシリアル変換部２２は、サーボアンプ２４から通信手段２３を介して双方向伝送されるシリアルデータとエンコーダ内部で使用するパラレルデータを相互変換し、位置データ２１ａ、ＣＳ信号１４ａ、メモリ内パラメータ１９ｂをシリアル送信データとしてサーボアンプへ出力し、サーボアンプからのシリアル受信データからパラメータ２２ａをメモリ制御部１９へ出力する。
【００２５】
補正値演算部１６は、ＳＩＮ、ＣＯＳの正弦波データ１２ａとパルスデータ１１ａからＳＩＮ、ＣＯＳの最大値と最小値を任意の周期分検出してそれぞれ平均を取り、そこらからＳＩＮ、ＣＯＳのオフセットおよび振幅と、ＳＩＮ、ＣＯＳの位相差を検出し、データ補正部１５で正規化するための補正値演算データ１６ａを演算する。補正値演算データ１６ａには、オフセット、振幅、位相差以外にも正規化に必要なデータを含めてもよい。補正値切替部１７は、エンコーダ起動後に補正値演算部から最初の補正値演算データが出力
されるまでの間は初期補正値１８ａを補正データ１７ａとして出力し、最初の補正値演算データが出力されてからは補正値演算データ１６ａを補正値として出力する。
【００２６】
ここで、補正値切替部１７は、パルスデータ１１ａの立上りエッジもしくは立下りエッジの回数からアナログ正弦波信号の周期をカウントし、最初の補正値演算データが出力されるまでの時間を検出する。
【００２７】
初期補正値制御部１８は、メモリ制御部１９を介して不揮発性メモリ２０に少なくとも１組以上の補正値演算データ１６ａを初期補正値書込データ１８ｂとして書込み、エンコーダ電源投入時に不揮発性メモリからメモリ内初期補正値１９ａを読出し、初期補正値１８ａとして出力する。
【００２８】
次に、初期補正値制御部１８の初期補正値書込データ１８ｂの書込みシーケンスについて、図２のフローチャートを用いて説明する。図２において、エンコーダ起動後の最初の補正値演算データが出力されてからシーケンスが開始され、原点信号レベル判定処理３０で原点信号のレベルを判定する。
【００２９】
原点信号レベルがＨレベルの場合は、補正値１取込み判定処理３１で補正値１が取込まれているか判定し、取込みが終了していない場合には、補正値１取込み処理３２でその時の補正値演算データを補正値１として取込み、終了している場合は取込みを行わない。
【００３０】
同様に、原点信号レベルがＬレベルの場合は、補正値２取込み判定処理３３と補正値２取込み処理３４で補正値２の取込み処理を行う。このとき、取込む補正値を複数の位置または回数で取込んで平均化しても良い。
【００３１】
その後、補正値取込み判定処理３５で、補正値１と補正値２の両方が取込まれているか判定し、両方取込まれている場合には、不揮発性メモリ書込み処理３６によって補正値１と補正値２を不揮発性メモリに書込み、どちらか一方しか取込まれていない場合には、原点信号レベル判定処理３０に戻る。なお、上記シーケンスを起動時に１回のみ実行しても良いし、通信手段から実行指令を受信して実行しても良い。
【００３２】
次に、初期補正値制御部１８の初期補正値１８ａの出力シーケンスを、図３のフローチャートを用いて説明する。エンコーダ起動時にメモリ読出し処理４０で不揮発性メモリから補正値１と補正値２を読出す。
【００３３】
補正値演算データ生成判定処理４１で、補正値演算データが生成されているか判定し、生成されている場合は、補正値演算データ出力処理４５により補正値演算データを出力し、それ以降は補正値演算データを出力し続ける。
【００３４】
補正値演算データが生成されていない場合は、原点信号レベル判定処理４２でその時点で検出された原点信号のレベルの判定を行い、Ｈレベルの場合は、補正値１出力処理４３で補正値１を出力し、Ｌレベルの場合は、補正値２出力処理４４で補正値２を出力する。補正値１または補正値２を出力した場合は、出力後に補正値演算データ生成判定処理４１に戻る。
【００３５】
このように、エンコーダ起動時に使用する初期補正値を原点信号のレベルに合わせて切替えることで、原点信号を生成するスリットからの漏れ光の影響による起動直後の演算誤差を抑えることができる。
（実施の形態２）
請求項２の一実施の形態について説明する。図４は、実施の形態２におけるブロック構
成図で、実施の形態１との違いは、初期補正値制御部１８に入力する信号を、原点信号１３ａからＣＳ信号１４ａに変更した点である。
【００３６】
初期補正値制御部１８では、初期補正値書込データ１８ｂの書込みシーケンスと初期補正値１８ａの出力シーケンスが異なるため、それらのシーケンスについて図を用いて説明する。なお、実施の形態２では、３相モータで用いられるＣＳ信号が３つ（ＣＳ１、ＣＳ２、ＣＳ３）のエンコーダを例とする。
【００３７】
図５は、初期補正値制御部１８における初期補正値書込みシーケンスのフローチャートであり、エンコーダ起動後の最初の補正値演算データが出力されてからシーケンスが開始され、ＣＳ信号論理パターン判定処理５０でＣＳ信号の論理パターンを、表１の論理パターンＡから論理パターンＦにて判定する。
【００３８】
【表１】
0005125320.tif 000002
論理パターンＡのとき、補正値１取込み判定処理５１で、補正値１が取込まれているか判定し、取込みが終了していない場合には、補正値１取込み処理５２でその時の補正値演算データを補正値１として取込み、終了している場合は取込みを行わない。同様に、パターンＢからパターンＦのときにそれぞれ補正値２から補正値６を取込む。
【００３９】
その後、補正値取込み判定処理６３で、補正値１から補正値６の全てが取込まれているか判定し、全て取込まれている場合には、不揮発性メモリ書込み処理６４で補正値１から補正値６を不揮発性メモリに書込み、どれかが取込まれていない場合には、ＣＳ信号論理パターン判定処理５０に戻る。
【００４０】
図６は、初期補正値制御部１８における初期補正値出力シーケンスのフローチャートである。
【００４１】
エンコーダ起動時に、メモリ読出し処理７０で不揮発性メモリから補正値１から補正値６を読出す。補正値演算データ生成判定処理７１で、補正値演算データが生成されているか判定し、生成されている場合は、補正値演算データ出力処理７９により補正値演算データを出力し、それ以降は、補正値演算データを出力し続ける。
【００４２】
補正値演算データが生成されていない場合は、ＣＳ信号論理パターン判定処理７２で、その時点で検出された論理パターンを表１にて判定し、論理パターンＡの場合は補正値１を出力し、同様にパターンＢからパターンＦの場合は、それぞれ補正値２から補正値６を出力する。補正値１から補正値６を出力した場合は、出力後に補正値演算データ生成判定処理７１に戻る。
【００４３】
このように、エンコーダ起動時に使用する初期補正値をＣＳ信号の論理パターンに合わせて切替えることで、ＣＳ信号を生成するスリットからの漏れ光の影響による起動直後の
演算誤差を抑えることができる。
（実施の形態３）
請求項３の一実施の形態について説明する。図７は、実施の形態３におけるエンコーダのブロック構成図である。
【００４４】
実施の形態１および実施の形態２との違いは、初期補正値制御部１８に入力する信号を、原点信号１３ａとＣＳ信号１４ａの両信号にした点であり、初期補正値書込データ１８ｂの書込みシーケンスと、初期補正値１８ａの出力シーケンスを中心に説明する。
【００４５】
図８は、初期補正値制御部１８における初期補正値書込みシーケンスのフローチャートである。エンコーダ起動後の最初の補正値演算データが出力されてからシーケンスが開始され、原点信号レベル判定処理８０で、原点信号のレベルを判定する。
【００４６】
原点信号レベルがＨレベルの場合は、補正値７取込み判定処理９４で補正値７が取込まれているか判定し、取込みが終了していない場合には、補正値７取込み処理９５でその時の補正値演算データを補正値７として取込み、終了している場合は、取込みを行わない。
【００４７】
原点信号レベルがＬレベルの場合は、ＣＳ信号論理パターン判定処理８１でＣＳ信号の論理パターンを表１にて判定する。論理パターンＡのとき、補正値１取込み判定処理８２で補正値１が取込まれているか判定し、取込みが終了していない場合には、補正値１取込み処理８３で、その時の補正値演算データを補正値１として取込み、終了している場合は取込みを行わない。
【００４８】
同様に、論理パターンＢから論理パターンＦのときに、それぞれ補正値２から補正値６を取込む。その後、補正値取込み判定処理９６で補正値１から補正値７の全てが取込まれているか判定し、全て取込まれている場合には不揮発性メモリ書込み処理９７で補正値１から補正値７を不揮発性メモリに書込み、どれかが取込まれていない場合には、原点信号レベル判定処理８０に戻る。
【００４９】
図９は、初期補正値制御部１８における初期補正値出力シーケンスのフローチャートである。エンコーダ起動時に、メモリ読出し処理１００で不揮発性メモリから補正値１から補正値７を読出す。
【００５０】
補正値演算データ生成判定処理１０１で、補正値演算データが生成されているか判定し、生成されている場合は、補正値演算データ出力処理１１１により補正値演算データを出力し、それ以降は補正値演算データを出力し続ける。
【００５１】
補正値演算データが生成されていない場合は、原点信号レベル判定処理１０２で、その時点で検出された原点信号のレベルの判定を行い、Ｈレベルの場合は補正値７出力処理１１０で補正値７を出力し、Ｌレベルの場合は、ＣＳ信号論理パターン判定処理１０３で、その時点で検出された論理パターンを表１にて判定する。
【００５２】
論理パターンＡの場合は、補正値１を出力し、同様に論理パターンＢから論理パターンＦの場合、それぞれ補正値２から補正値６を出力する。補正値１から補正値７を出力した場合は、出力後に補正値演算データ生成判定処理１０１に戻る。
【００５３】
このように、エンコーダ起動時に使用する初期補正値を、原点信号レベルとＣＳ信号の論理パターンに合わせて切替えることで、原点信号およびＣＳ信号を生成するスリットからの漏れ光の影響による起動直後の演算誤差を抑えることができる。
【００５４】
なお、エンコーダの回転体上に、他のスリットがある場合は、そのスリットによる出力パターンで条件分岐を加えても良い。
（実施の形態４）
請求項４の一実施の形態について説明する。図１０は、実施の形態４におけるエンコーダのブロック構成図である。実施の形態１から実施の形態３との違いは、温度検出部２５を備え、温度検出部２５から出力される温度データ２５ａを用いて、初期補正値制御部１８で出力する初期補正値１８ａを修正する部分のみである。
【００５５】
初期補正値制御部１８の初期補正値１８ａのデータ書込み時には、不揮発性メモリ２０へ初期補正値書込データと共に温度データを書込む。また、初期補正値読出し時には、不揮発性メモリ２０から読出した初期補正値をＣｍ、読出した温度データをＴｍ、さらに温度検出部２５から読出した現在の温度データをＴｎとし、式１を用いて出力することにより、初期補正値をＣｍからＣｏｕｔに修正する。
【００５６】
【数１】
0005125320.tif 000003
ここで、Ｇは予め決められた温度変化１Ｋに対する補正値の変動比であり、出荷前にエンコーダ温度を変化させて、補正値の変動を測定して変動比を決定してもよいし、光学系回路や信号増幅の回路で使われる回路素子の温度係数から求めてもよい。
【００５７】
これにより、エンコーダ起動時に使用する初期補正値を温度によって修正することで、補正精度を向上させ、起動直後の演算誤差を抑えることができる。
【産業上の利用可能性】
【００５８】
本発明のエンコーダの補正値制御方法は、インクリメンタルエンコーダを搭載したサーボモータ制御装置のほか、高分解能の位置情報を得るエンコーダを搭載した装置にも有用である。
【図面の簡単な説明】
【００５９】
【図１】本発明の実施の形態１におけるエンコーダのブロック構成図
【図２】本発明の実施の形態１における初期補正値書込みシーケンスのフローチャート
【図３】本発明の実施の形態１における初期補正値出力シーケンスのフローチャート
【図４】本発明の実施の形態２におけるエンコーダのブロック構成図
【図５】本発明の実施の形態２における初期補正値書込みシーケンスのフローチャート
【図６】本発明の実施の形態２における初期補正値出力シーケンスのフローチャート
【図７】本発明の実施の形態３におけるエンコーダのブロック構成図
【図８】本発明の実施の形態３における初期補正値書込みシーケンスのフローチャート
【図９】本発明の実施の形態３における初期補正値出力シーケンスのフローチャート
【図１０】本発明の実施の形態４におけるエンコーダのブロック構成図
【符号の説明】
【００６０】
１０  原信号生成部
１０ａ  アナログ正弦波信号
１０ｂ  原点原信号
１０ｃ  ＣＳ原信号
１１  パルス検出部
１１ａ  パルスデータ
１１ｂ  原点信号
１２  アナログ検出部
１２ａ  正弦波データ
１３  原点信号検出部
１３ａ  原点信号
１４  ＣＳ信号検出部
１４ａ  ＣＳ信号
１５  データ補正部
１５ａ  正規化後正弦波データ
１６  補正値演算部
１６ａ  補正値演算データ
１７  補正値切替部
１７ａ  補正データ
１８  初期補正値制御部
１８ａ  初期補正値
１８ｂ  初期補正値書込データ
１９  メモリ制御部
１９ａ  メモリ内初期補正値
１９ｂ  メモリ内パラメータ
２０  不揮発性メモリ
２１  位置データ演算部
２１ａ  位置データ
２２    パラレルシリアル変換部
２２ａ  パラメータ
２３  通信手段
２４  サーボアンプ
２５  温度検出部
２５ａ  温度データ
【図１】
0005125320.tif 000004
【図２】
0005125320.tif 000005
【図３】
0005125320.tif 000006
【図４】
0005125320.tif 000007
【図５】
0005125320.tif 000008
【図６】
0005125320.tif 000009
【図７】
0005125320.tif 000010
【図８】
0005125320.tif 000011
【図９】
0005125320.tif 000012
【図１０】
0005125320.tif 000013