(57)【要約】【課題】エンコーダ電源投入時の位置データ演算誤差を低減できるインクリメンタルエンコーダを提供する。【解決手段】エンコーダ電源投入時から補正値演算データ１４ａが出力されるまでの期間は初期補正値１６ａを出力し、それ以降は補正値演算データ１４ａとを切替えてデータ補正部１３へ出力する補正値切替部１５と、初期補正値１６ａを制御する初期補正値制御部１６と、初期補正値１６ａを保存する不揮発性メモリ１８とを備え、エンコーダ電源投入後に初期補正値制御部１６がパルス検出部１１から出力される原点信号１１ｂを検出したときに、補正値演算部１４で演算されている補正値データを新たな初期補正値として不揮発性メモリ１８に保存し、次回エンコーダ起動時には不揮発性メモリ１８に保存された新たな初期補正値を使用する。【選択図】図１
2007333451.tif 000002
【特許請求の範囲】
【請求項１】
モータ位置に応じて生成されるアナログ原信号からパルス信号を生成するパルス検出部と、前記アナログ原信号に応じたディジタルデータを生成するアナログ検出部と、前記ディジタルデータから補正値演算データを演算出力する補正値演算部と、前記補正値演算部から出力される補正値データを用いて前記ディジタルデータを補正するデータ補正部と、前記データ補正部の出力データから位置データを演算する位置データ演算部とを備えるインクリメンタルエンコーダにおいて、エンコーダ電源投入時から補正値演算データが出力されるまでの期間は初期補正値を出力し、それ以降は前記補正値演算データとを切替えて前記データ補正部へ出力する補正値切替部と、初期補正値を制御する初期補正値制御部と、前記初期補正値を保存する不揮発性メモリとを備え、エンコーダ電源投入後に前記初期補正値制御部が前記パルス検出部から出力される原点信号を検出したときに、前記補正値演算部で演算されている前記補正値データを新たな初期補正値として前記不揮発性メモリに保存し、次回エンコーダ起動時には前記不揮発性メモリに保存された前記新たな初期補正値を使用することを特徴とするインクリメンタルエンコーダの補正値更新方法。
【請求項２】
前記補正値制御部において、新たな初期補正値と不揮発性メモリに保存されている初期補正値を比較し、値に変化がない場合は前記不揮発性メモリに保存しない請求項１に記載のインクリメンタルエンコーダの補正値更新方法。
【請求項３】
エンコーダ温度を検出する温度検出部をさらに備え、新たな初期補正値を不揮発性メモリに保存するときに、前記温度検出部が検出した補正値保存温度も保存し、次回起動時に前記温度検出部からの検出温度と前記補正値保存温度を比較し、比較値を基に初期補正値を修正する請求項１または請求項２に記載のインクリメンタルエンコーダの補正値更新方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、モータ制御に使用されるインクリメンタルエンコーダに関する。
【背景技術】
【０００２】
一般に、９０度位相差の２相アナログ正弦波出力信号をＡ／Ｄ変換したディジタルデータを用いてディジタル演算により回転角度情報を生成するエンコーダでは、アナログ正弦波出力信号に含まれるオフセット、振幅変動、位相のずれにより、位置データ演算結果に誤差が発生し、位置検出精度に悪影響を出していた。
【０００３】
従来、上記位置データ演算誤差を低減するため、アナログ正弦波出力信号の最大値及び最小値を検出し、その検出値を用いてオフセット量、振幅変動量、位相のずれ量等をそれぞれ演算して補正値を求め、補正値を用いてディジタルデータを補正することで位置データ演算誤差の発生を低減する方法が提案されている（例えば、特許文献１参照）。
【０００４】
また、不揮発性メモリを用いて、前記不揮発性メモリに保存されているオフセット量等の補正値と、ディジタルデータを元に演算された補正値を常時比較し、演算された補正値が保存されている補正値と異なっていた場合には不揮発性メモリを自動更新する方法が提案されている（例えば、特許文献２参照）。
【特許文献１】特開平８−３５８５７号公報
【特許文献２】特開２００５−２４２９０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
上記特許文献１の方法では、アナログ正弦波の最大値と最小値の検出後には、検出値から補正値を演算しディジタルデータを補正することができる。しかしながら、起動直後のアナログ正弦波が変化しない状態からアナログ正弦波が１周期検出されるまでの、最大値と最小値を検出することができない最大最小未確定区間では、補正値を演算することができない。つまり、ディジタルデータを正常に補正することができず、位置検出精度が著しく悪化する。
【０００６】
さらに、最大値と最小値の変動を抑制するために、数周期分の値を平均化した最大値と最小値を補正値演算に使用する場合、最大最小未確定区間が数周期に亘り続き、位置検出精度が悪化した区間が大きくなる。
【０００７】
一般のインクリメンタルエンコーダを使用している装置では、起動直後に出力される原点信号を装置の基準点とし、以降はアナログ正弦波から演算される位置データにより動作させる為、位置検出精度が悪い最大最小未確定区間で原点信号が検出された場合、位置データの基準点が正確な原点位置から大幅にずれるため、装置全体の制御位置がずれてしまう課題があった。
【０００８】
また、特許文献２の方法では、演算した補正値が不揮発性メモリに保存されている補正値から変化している場合に不揮発性メモリへ保存するが、実際の補正値はエンコーダ偏心や温度変化によって頻繁に変化する場合があり、不揮発性メモリの書換え回数は有限である為、書換え回数が最大回数を超えてしまい補正値が正常に書込まれないという課題があった。
【０００９】
本発明は上記従来の課題を解決するものであり、エンコーダ電源投入時の位置データ演
算誤差を低減できるインクリメンタルエンコーダを提供することを目的とする。
【課題を解決するための手段】
【００１０】
上記課題を解決するために本発明は、モータ位置に応じて生成されるアナログ原信号からパルス信号を生成するパルス検出部と、前記アナログ原信号に応じたディジタルデータを生成するアナログ検出部と、前記ディジタルデータから補正値演算データを演算出力する補正値演算部と、前記補正値演算部から出力される補正値データを用いて前記ディジタルデータを補正するデータ補正部と、前記データ補正部の出力データから位置データを演算する位置データ演算部とを備えるインクリメンタルエンコーダにおいて、エンコーダ電源投入時から補正値演算データが出力されるまでの期間は初期補正値を出力し、それ以降は前記補正値演算データとを切替えて前記データ補正部へ出力する補正値切替部と、初期補正値を制御する初期補正値制御部と、前記初期補正値を保存する不揮発性メモリとを備え、エンコーダ電源投入後に前記初期補正値制御部が前記パルス検出部から出力される原点信号を検出したときに、前記補正値演算部で演算されている前記補正値データを新たな初期補正値として前記不揮発性メモリに保存し、次回エンコーダ起動時には前記不揮発性メモリに保存された前記新たな初期補正値を使用するインクリメンタルエンコーダの補正値更新方法である。
【００１１】
また、前記補正値制御部において、新たな初期補正値と不揮発性メモリに保存されている初期補正値を比較し、値に変化がない場合は前記不揮発性メモリに保存しない補正値更新方法である。
【００１２】
また、エンコーダ温度を検出する温度検出部をさらに備え、新たな初期補正値を不揮発性メモリに保存するときに、前記温度検出部が検出した補正値保存温度も保存し、次回起動時に前記温度検出部からの検出温度と前記補正値保存温度を比較し、比較値を基に初期補正値を修正する補正値更新方法である。
【発明の効果】
【００１３】
本発明のインクリメンタルエンコーダの補正値更新方法によれば、エンコーダ電源投入時に使用する初期補正値を、原点信号が検出されたときの補正値を用いて更新することで、電源投入時の原点位置でのディジタルデータを適正に補正し、位置データ演算誤差を低減することができる。
【００１４】
また、初期補正値の更新時に不揮発性メモリに保存されている初期補正値と比較し、補正値が変化していない場合には保存動作をしないことで、不揮発性メモリの頻繁な書換えを防止することができる。
【００１５】
さらに、初期補正値の保存時に温度情報も保存し、次回起動時に検出された温度情報と保存された温度情報を元に初期補正値を修正することで、温度変化による補正値のずれを抑制し、効果的に位置データ演算誤差を低減することができる。
【００１６】
したがって、経年変化等によるアナログ原信号が変動した場合でも、位置データ演算誤差を低減し、正確な原点位置を検出することで装置全体の基準点に悪影響を及ぼすことなく制御が行えるインクリメンタルエンコーダの補正値更新方法を提供することができる。
【発明を実施するための最良の形態】
【００１７】
モータ位置に応じて生成されるアナログ原信号からパルス信号を生成するパルス検出部と、前記アナログ原信号に応じたディジタルデータを生成するアナログ検出部と、前記ディジタルデータから補正値演算データを演算出力する補正値演算部と、前記補正値演算部から出力される補正値データを用いて前記ディジタルデータを補正するデータ補正部と、
前記データ補正部の出力データから位置データを演算する位置データ演算部とを備えるインクリメンタルエンコーダにおいて、エンコーダ電源投入時から補正値演算データが出力されるまでの期間は初期補正値を出力し、それ以降は前記補正値演算データとを切替えて前記データ補正部へ出力する補正値切替部と、初期補正値を制御する初期補正値制御部と、前記初期補正値を保存する不揮発性メモリとを備え、エンコーダ電源投入後に前記初期補正値制御部が前記パルス検出部から出力される原点信号を検出したときに、前記補正値演算部で演算されている前記補正値データを新たな初期補正値として前記不揮発性メモリに保存し、次回エンコーダ起動時には前記不揮発性メモリに保存された前記新たな初期補正値を使用する。
【実施例１】
【００１８】
本発明によるインクリメンタルエンコーダの補正値更新方法について、図を参照にしながら説明する。
【００１９】
図１において、インクリメンタルエンコーダの位置データ生成部は、原信号生成部１０、パルス検出部１１、アナログ検出部１２、データ補正部１３、補正値演算部１４、補正値切替部１５、初期補正値制御部１６、メモリ制御部１７、不揮発性メモリ１８、位置データ演算部１９、パラレルシリアル変換部２０、通信手段２１により構成され、例えばＲＳ４８５などの通信手段２１によってサーボアンプ２２と双方向のシリアル通信を行う。
【００２０】
原信号生成部１０は、モータの回転位置に応じたパルス信号１０ａとアナログ信号１０ｂを出力する。パルス検出部１１は、パルス信号１０ｂをサンプリング後、位置データ１９ａを演算するために必要な二相パルスデータ１１ａと原点信号１１ｂを出力する。
【００２１】
アナログ検出部１２は、アナログ信号１０ｂをサンプリング後、位置データ１９ａを演算するための形式へ変換し、ディジタルデータ１２ａを出力する。データ補正部１３は、ディジタルデータ１２ａを補正値１５ａの値により補正し、補正後ディジタルデータ１３ａを出力する。
【００２２】
位置データ演算部１９は、補正後ディジタルデータ１３ａと二相パルスデータ１１ａと原点信号１１ｂを基に演算することで、ロータの位置を示す位置データ１９ａをサンプリング周期ごとに出力する。
【００２３】
メモリ制御部１７は、初期補正値１６ａ及びモータの特性を表すパラメータ２０ａを不揮発性メモリ１８に書込み、また、エンコーダ電源投入時に不揮発性メモリからメモリ内初期補正値１７ａとメモリ内パラメータ１７ｂの読出しも行う。
【００２４】
パラメータ２０ａは、インクリメンタルエンコーダが接続されているモータにより一意に決まる為、工場出荷時等に１度だけ書込むのが一般的である。
【００２５】
パラレルシリアル変換部２０は、サーボアンプ２２から通信手段２１を介して双方向伝送されるシリアルデータとエンコーダ内部で使用するパラレルデータに相互変換し、位置データ１９ａ又はメモリ内パラメータ１７ｂをシリアル送信データとしてサーボアンプへ出力し、サーボアンプからのシリアル受信データからパラメータ２０ａをメモリ制御部１７へ出力する。
【００２６】
補正値演算部１４は、ディジタルデータ１２ａと二相パルスデータ１１ａからアナログ信号１０ｂのオフセットと振幅と位相差を検出し、データ補正部１３でディジタル補正するための補正値演算データ１４ａを演算する。補正値演算データ１４ａにはオフセット、振幅、位相差以外にもディジタル補正で必要なデータを含めてもよい。
【００２７】
補正値切替部１５は、エンコーダ電源投入時からアナログ信号を任意の周期検出できるまでの間は初期補正値１６ａを補正値１５ａとして出力し、任意の周期検出した後は補正値演算データ１４ａを補正値１５ａとして出力する。また、補正値切替部１５は、二相パルスデータ１１ａの立上りもしくは立下がりの回数を検出することでアナログ信号の任意の周期を検出する。
【００２８】
初期補正値制御部１６は、メモリ制御部１７を介して不揮発性メモリ１８に補正値演算データ１４ａを初期補正値書込データ１６ｂとして書込み、エンコーダ電源投入時に不揮発性メモリからメモリ内初期補正値１７ａを読出し、初期補正値１６ａとして出力する。
【００２９】
次に、初期補正値制御部１６の初期補正値１６ａ書込みシーケンスを図２のフローチャートを用いて説明する。
エンコーダ電源投入するとシーケンスが開始され、補正値取込み処理３０で補正値演算部１４から出力される補正値演算データ１４ａを取込む。次に、原点検出判定処理３１でパルス検出部１１から出力される原点信号１１ｂより原点位置であるか判定を行う。
【００３０】
原点位置でない場合は、補正値取込み処理へ戻り、原点位置となるまで補正値取込みと原点検出判定を繰り返す。
【００３１】
原点検出判定処理で原点位置となった場合、補正値書込み処理３２でメモリ制御部１７を介して不揮発性メモリ１８へ取込んだ補正値を初期補正値１６ａとして書込む。
【００３２】
このシーケンスは電源投入後１回だけでなく、複数回数実行してもよいし、タイマを用いて任意の時間間隔で実行してもよい。
【００３３】
このように、初期補正値を原点位置で更新することで、経年変化等により原信号が変動した場合でも、正確な原点位置を検出することで装置全体の基準点に悪影響を及ぼすことなく制御が行える。
【実施例２】
【００３４】
以下、図３を用いて実施例２について説明する。実施例１との違いは、初期補正値制御部１６の初期補正値１６ａ書込みシーケンスのみであるため、そのシーケンスを説明する。
【００３５】
図３において、補正値取込み処理３０と原点検出判定処理３１と補正値書込み処理３２の動作は、図２のシーケンスと同様である。
【００３６】
原点検出判定処理３１で原点位置となった場合、メモリ内初期補正値読出し処理３３で不揮発性メモリ１８からメモリ内初期補正値１７ａを読込む。
【００３７】
次に、補正値更新判定処理３４にて補正値演算データ１４ａとメモリ内初期補正値１７ａを比較し、同値であった場合は、補正値書込み処理をせずにシーケンスを終了し、値が異なる場合は、補正値書込み処理を実行して補正値を更新する。
【００３８】
これにより、不揮発性メモリの書込み回数を減らして長期間の使用を可能とし、より信頼性の高いインクリメンタルエンコーダが得られる。
【実施例３】
【００３９】
以下、図４を用いて実施例３について説明する。実施例１及び実施例２との違いは、温
度検出部２３をさらに備えた点で、温度検出部２３から出力される温度データ２３ａを用いて初期補正値制御部１６の初期補正値書込みと読出しを行う部分のみである。
【００４０】
初期補正値制御部の初期補正値書込み動作では、図２、図３の補正値取込み処理で補正値演算データ１４ａと共に温度データ２３ａを取込み、補正値書込み処理３２で補正値演算データと共に温度データ２３ａを書込む。
【００４１】
また、初期補正値読出し動作では、不揮発性メモリ１８からメモリ内初期補正値Ｃｍとメモリ内温度データＴｍを読出す。
【００４２】
次に、温度検出部２３から現在の温度データＴｎを読出し、修正後の補正値Ｃｃを次式のＣｃ＝Ｇ×（Ｔｎ−Ｔｍ）＋Ｃｍで求める。ここで、Ｇは予め決められた温度変化１℃に対する補正値の変動比であり、出荷前にエンコーダ温度を変化させて補正値の変動を測定して変動比を決定する。そして、修正後の補正値Ｃｃを初期補正値１６ａとして出力する。
【００４３】
これにより、初期補正値保存時と初期補正値使用時の温度変化を補正することで、より正確に原点位置を検出できる。
【産業上の利用可能性】
【００４４】
本発明の補正値更新方法は、インクリメンタルエンコーダの原点を基準としている装置などにも有用である。
【図面の簡単な説明】
【００４５】
【図１】本発明の実施例１におけるインクリメンタルエンコーダのブロック構成図
【図２】本発明の実施例１における初期補正値書込みシーケンスのフローチャート
【図３】本発明の実施例２における初期補正値書込みシーケンスのフローチャート
【図４】本発明の実施例３におけるインクリメンタルエンコーダのブロック構成図
【符号の説明】
【００４６】
１０  原信号生成部
１０ａ  パルス信号
１０ｂ  アナログ信号
１１  パルス検出部
１１ａ  二相パルスデータ
１１ｂ  原点信号
１２  アナログ検出部
１２ａ  ディジタルデータ
１３  データ補正部
１３ａ  補正後ディジタルデータ
１４  補正値演算部
１４ａ  補正値演算データ
１５  補正値切替部
１５ａ  補正値
１６  初期補正値制御部
１６ａ  初期補正値
１６ｂ  初期補正値書込データ
１７  メモリ制御部
１７ａ  メモリ内初期補正値
１７ｂ  メモリ内パラメータ
１８  不揮発性メモリ
１９  位置データ演算部
１９ａ  位置データ
２０  パラレルシリアル変換部
２０ａ  パラメータ
２１  通信手段
２２  サーボアンプ
２３  温度検出部
２３ａ  温度データ
３０  補正値取込み処理
３１  原点検出判定処理
３２  補正値書込み処理
３３  メモリ内補正値読出し処理
３４  補正値更新判定処理
【図１】
2007333451.tif 000003
【図２】
2007333451.tif 000004
【図３】
2007333451.tif 000005
【図４】
2007333451.tif 000006