(57)【要約】【課題】エンコーダの出力信号の誤差を補正する際に、トルクコマンドに影響を与える加速度成分の変動を抑制すること。【解決手段】被測定体の移動に応じてエンコーダ内で発生するアナログ量である元信号から一定時間間隔毎に位置データを検出するエンコーダの信号処理装置であって、エンコーダが発生する元信号の１周期内において、等間隔で取得された少なくとも３点以上の位置データの検出誤差に基づいて、エンコーダが発生する元信号に含まれる検出誤差の近似曲線を算出する近似曲線算出部と、近似曲線算出部によって算出された検出誤差の近似曲線に基づいて、任意の時刻における位置データの検出誤差の近似値を計算する近似誤差計算部と、近似誤差計算部によって計算された位置データの検出誤差の近似値に基づいて、任意の時刻における位置データの検出誤差を補正する位置データ補正部と、を備える。【選択図】図１
2018021845.tif 000002
【特許請求の範囲】
【請求項１】
被測定体の移動に応じてエンコーダ内で発生するアナログ量である元信号から一定時間間隔毎に位置データを検出するエンコーダの信号処理装置であって、
前記エンコーダが発生する元信号の１周期内において、等間隔で取得された少なくとも３点以上の前記位置データの検出誤差に基づいて、前記エンコーダが発生する元信号に含まれる前記検出誤差の近似曲線を算出する近似曲線算出部と、
前記近似曲線算出部によって算出された前記検出誤差の近似曲線に基づいて、任意の時刻における前記位置データの検出誤差の近似値を計算する近似誤差計算部と、
前記近似誤差計算部によって計算された前記位置データの検出誤差の近似値に基づいて、前記任意の時刻における前記位置データの検出誤差を補正する位置データ補正部と、
を備えるエンコーダの信号処理装置。
【請求項２】
前記近似曲線算出部は、前記被測定体が所定値以内の速度変動分をもつ所定の速度範囲で移動している状態の時に、少なくとも３点以上の連続して検出された（ｎ＋１）個の位置データ群（ｎ≧２）の各値と、前記位置データ群における両端の前記位置データを結ぶ直線とに基づいて、前記位置データ群における両端の前記位置データの間を一定時間間隔で等分した時刻における検出誤差をそれぞれ求め、前記一定時間間隔で等分した時刻のうちの任意の時刻の前後（Ｍ＋１）点の前記位置データの検出誤差（Ｍ≧２）から、前記（Ｍ＋１）点の検出誤差を近似する検出誤差近似曲線を算出する請求項１に記載のエンコーダの信号処理装置。
【請求項３】
前記近似曲線算出部は、前記検出誤差の近似曲線として前記（Ｍ＋１）点を通過するＭ次曲線を算出する請求項２に記載のエンコーダの信号処理装置。
【請求項４】
前記Ｍ次曲線は奇数次である請求項３に記載のエンコーダの信号処理装置。
【請求項５】
前記近似誤差計算部は、前記検出誤差の近似曲線に基づいて、等間隔の位置における検出誤差を予め算出して記憶しておき、当該記憶された検出誤差間を直線で補間して任意の位置での検出誤差を求める請求項１から４に記載のエンコーダの信号処理装置。
【請求項６】
被測定体の移動に応じて発生するアナログ量である元信号から一定時間間隔毎に位置データを検出するエンコーダであって、
当該エンコーダが発生する元信号の１周期内において、等間隔で取得された少なくとも３点以上の前記位置データの検出誤差に基づいて、当該エンコーダが発生する元信号に含まれる前記検出誤差の近似曲線を算出する近似曲線算出部と、
前記近似曲線算出部によって算出された前記検出誤差の近似曲線に基づいて、任意の時刻における前記位置データの検出誤差の近似値を計算する近似誤差計算部と、
前記近似誤差計算部によって計算された前記位置データの検出誤差の近似値に基づいて、前記任意の時刻における前記位置データの検出誤差を補正する位置データ補正部と、
を備えるエンコーダ。
【請求項７】
被測定体の移動に応じてエンコーダ内で発生するアナログ量である元信号から一定時間間隔毎に位置データを検出するエンコーダのための信号処理方法であって、
前記エンコーダが発生する元信号の１周期内において、等間隔で取得された少なくとも３点以上の前記位置データの検出誤差に基づいて、前記エンコーダが発生する元信号に含まれる前記検出誤差の近似曲線を算出する近似曲線算出ステップと、
前記近似曲線算出ステップにおいて算出された前記検出誤差の近似曲線に基づいて、任意の時刻における前記位置データの検出誤差の近似値を計算する近似誤差計算ステップと、
前記近似誤差計算ステップによって計算された前記位置データの検出誤差の近似値に基づいて、前記任意の時刻における前記位置データの検出誤差を補正する位置データ補正ステップと、
を含む信号処理方法。
【請求項８】
被測定体の移動に応じてエンコーダ内で発生するアナログ量である元信号から一定時間間隔毎に位置データを検出するエンコーダの信号処理装置を構成するコンピュータに、
前記エンコーダが発生する元信号の１周期内において、等間隔で取得された少なくとも３点以上の前記位置データの検出誤差に基づいて、前記エンコーダが発生する元信号に含まれる前記検出誤差の近似曲線を算出する近似曲線算出機能と、
前記近似曲線算出機能によって算出された前記検出誤差の近似曲線に基づいて、任意の時刻における前記位置データの検出誤差の近似値を計算する近似誤差計算機能と、
前記近似誤差計算機能によって計算された前記位置データの検出誤差の近似値に基づいて、前記任意の時刻における前記位置データの検出誤差を補正する位置データ補正機能と、
を実現させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、エンコーダの信号処理装置、エンコーダ、信号処理方法及びプログラムに関する。
【背景技術】
【０００２】
従来、エンコーダにおいて、元信号の１周期に同期して発生する検出誤差の存在が知られている。この検出誤差は、元信号が理想的な正弦波及び余弦波ではなく、オフセット電圧、振幅差、位相差、波形歪み等を含むために発生する。エンコーダの出力信号に検出誤差が含まれる場合、測定対象物の位置の検出精度が低下することとなる。
このような検出誤差を補正するために、特許文献１に記載された技術では、検出誤差が元信号の１周期に同期していることを利用し、運転時に自動的に誤差量を検出して補正している。
また、エンコーダによって検出される位置の検出精度を高めるために、特許文献２に記載された技術では、モータの回転むらに起因して発生するエンコーダの位置信号の誤差に対して、エンコーダから出力される原位置信号の検出値である位置データを補間し、その補間位置データに基づいて所望する回転位置とその位置に至るまでの時間との関係を得ている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第０３７７２１２１号公報
【特許文献２】特開平１１−２４９７４２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１に記載された技術では、１周期内の等間隔な位置での検出誤差を算定してレジスタに格納し、検出点間を直線で補間して任意の位置での検出誤差を求め、位置データを補正している。この場合、検出点間では、一定時間間隔の補正量、すなわち、速度成分が一定であるのに対し、検出点では、補正量の速度成分が不連続となって補正量の加速度成分が急速に変動することとなる。そのため、加速度に応じてトルクを与えるモータのトルクコマンドに影響を与える可能性がある。
なお、特許文献２に記載された技術では、エンコーダの１回転内の位置データに応じた補正を行うものであるため、元信号の１周期に同期して発生する検出誤差を取り除くことは困難である。
【０００５】
本発明は、エンコーダの出力信号の誤差を補正する際に、トルクコマンドに影響を与える加速度成分の変動を抑制することを目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成するため、本発明の一態様のエンコーダの信号処理装置（例えば、後述のエンコーダの信号処理装置Ｄ）は、被測定体の移動に応じてエンコーダ内で発生するアナログ量である元信号から一定時間間隔毎に位置データを検出するエンコーダの信号処理装置であって、前記エンコーダが発生する元信号の１周期内において、等間隔で取得された少なくとも３点以上の前記位置データの検出誤差に基づいて、前記エンコーダが発生する元信号に含まれる前記検出誤差の近似曲線を算出する近似曲線算出部（例えば、後述のＭ次曲線係数算出回路５１）と、前記近似曲線算出部によって算出された前記検出誤差の近似曲線に基づいて、任意の時刻における前記位置データの検出誤差の近似値を計算する近似誤差計算部（例えば、後述のＭ次曲線検出誤差計算回路５２）と、前記近似誤差計算部によって計算された前記位置データの検出誤差の近似値に基づいて、前記任意の時刻における前記位置データの検出誤差を補正する位置データ補正部（例えば、後述のＭ次曲線補正計算回路５３）と、を備える。
【０００７】
前記近似曲線算出部は、前記被測定体が所定値以内の速度変動分をもつ所定の速度範囲で移動している状態の時に、少なくとも３点以上の連続して検出された（ｎ＋１）個の位置データ群（ｎ≧２）の各値と、前記位置データ群における両端の前記位置データを結ぶ直線とに基づいて、前記位置データ群における両端の前記位置データの間を一定時間間隔で等分した時刻における検出誤差をそれぞれ求め、前記一定時間間隔で等分した時刻のうちの任意の時刻の前後（Ｍ＋１）点の前記位置データの検出誤差（Ｍ≧２）から、前記（Ｍ＋１）点の検出誤差を近似する検出誤差近似曲線を算出してもよい。
【０００８】
前記近似曲線算出部は、前記検出誤差の近似曲線として前記（Ｍ＋１）点を通過するＭ次曲線を算出してもよい。
【０００９】
前記Ｍ次曲線は奇数次としてもよい。
前記近似誤差計算部は、前記検出誤差の近似曲線に基づいて、等間隔の位置における検出誤差を予め算出して記憶しておき、当該記憶された検出誤差間を直線で補間して任意の位置での検出誤差を求めてもよい。
【００１０】
また、本発明の一態様のエンコーダは、被測定体の移動に応じて発生するアナログ量である元信号から一定時間間隔毎に位置データを検出するエンコーダであって、当該エンコーダが発生する元信号の１周期内において、等間隔で取得された少なくとも３点以上の前記位置データの検出誤差に基づいて、当該エンコーダが発生する元信号に含まれる前記検出誤差の近似曲線を算出する近似曲線算出部と、前記近似曲線算出部によって算出された前記検出誤差の近似曲線に基づいて、任意の時刻における前記位置データの検出誤差の近似値を計算する近似誤差計算部と、前記近似誤差計算部によって計算された前記位置データの検出誤差の近似値に基づいて、前記任意の時刻における前記位置データの検出誤差を補正する位置データ補正部と、を備える。
【００１１】
また、本発明の一態様の信号処理方法は、被測定体の移動に応じてエンコーダ内で発生するアナログ量である元信号から一定時間間隔毎に位置データを検出するエンコーダのための信号処理方法であって、前記エンコーダが発生する元信号の１周期内において、等間隔で取得された少なくとも３点以上の前記位置データの検出誤差に基づいて、前記エンコーダが発生する元信号に含まれる前記検出誤差の近似曲線を算出する近似曲線算出ステップと、前記近似曲線算出ステップにおいて算出された前記検出誤差の近似曲線に基づいて、任意の時刻における前記位置データの検出誤差の近似値を計算する近似誤差計算ステップと、前記近似誤差計算ステップによって計算された前記位置データの検出誤差の近似値に基づいて、前記任意の時刻における前記位置データの検出誤差を補正する位置データ補正ステップと、を含む。
【００１２】
また、本発明の一態様のプログラムは、被測定体の移動に応じてエンコーダ内で発生するアナログ量である元信号から一定時間間隔毎に位置データを検出するエンコーダの信号処理装置を構成するコンピュータに、前記エンコーダが発生する元信号の１周期内において、等間隔で取得された少なくとも３点以上の前記位置データの検出誤差に基づいて、前記エンコーダが発生する元信号に含まれる前記検出誤差の近似曲線を算出する近似曲線算出機能と、前記近似曲線算出機能によって算出された前記検出誤差の近似曲線に基づいて、任意の時刻における前記位置データの検出誤差の近似値を計算する近似誤差計算機能と、前記近似誤差計算機能によって計算された前記位置データの検出誤差の近似値に基づいて、前記任意の時刻における前記位置データの検出誤差を補正する位置データ補正機能と、を実現させる。
【発明の効果】
【００１３】
本発明によれば、エンコーダの出力信号の誤差を補正する際に、トルクコマンドに影響を与える加速度成分の変動を抑制することが可能となる。
【図面の簡単な説明】
【００１４】
【図１】本発明の一実施形態に係るエンコーダの信号処理装置の構成を示すブロック図である。
【図２】開始条件判定回路の詳細ブロック図である。
【図３】本発明の第１の実施の形態の説明図である。
【図４】検出された位置データから検出位置の近似曲線を描画する様子を示す模式図である。
【図５】近似に用いる検出点と近似曲線との関係を示す模式図である。
【図６】図４に示す位置データの例において検出位置を直線補間した場合を示す図である。
【図７】図６に示す位置データの例における各位置ＰＸ１〜ＰＸ９の速度成分を示す図である。
【図８】図６に示す位置データの例における各位置ＰＸ１〜ＰＸ９の加速度成分を示す図である。
【図９】図４に示す位置データの例における各位置ＰＸ１〜ＰＸ９の速度成分を示す図である。
【図１０】図４に示す位置データの例における各位置ＰＸ１〜ＰＸ９の加速度成分を示す図である。
【図１１】近似曲線の次数が奇数（ここでは３次）の場合に、順回転及び逆回転で係数の算出に用いられる検出点の様子を示す模式図である。
【図１２】近似曲線の次数が偶数（ここでは２次）の場合に、順回転及び逆回転で係数の算出に用いられる検出点の様子を示す模式図である。
【図１３】第３の実施の形態におけるＭ次曲線検出誤差計算回路の構成を示す模式図である。
【図１４】検出点を通過するＭ次曲線において、検出点を等分した時刻での検出誤差を予め算出する様子を示す模式図である。
【図１５】検出誤差データの算出処理及び位置データの補正処理をソフトウェアによって実行する場合の構成を示すブロック図である。
【図１６】プロセッサが実行する検出誤差データの算出処理（検出誤差データ算出回路で行う処理と同等の処理）の流れを示すフローチャートである。
【図１７】プロセッサが実行する位置データの補正処理（検出誤差補正回路で行う処理と同等の処理）の流れを示すフローチャートである。
【発明を実施するための形態】
【００１５】
以下、本発明の実施形態について、図面を参照して説明する。
［第１の実施の形態］
［構成］
図１は、本発明の一実施形態に係るエンコーダの信号処理装置Ｄの構成を示すブロック図である。
本実施形態においては、被測定体の移動に応じてエンコーダの感知部から出力される正弦波Ｓａ、余弦波Ｓｂの元信号をアナログ増幅回路１ａ，１ｂにて次段のアナログ−ディジタル変換回路２ａ，２ｂの入力に合うように増幅する。増幅されたアナログ信号をアナログ−ディジタル変換回路２ａ，２ｂで一定サンプリング周期毎にディジタル信号に変換する。変換されたディジタル値により、ディジタル内挿回路３が元信号１周期（正弦波１周期）内の位置を計算し検出誤差データ算出回路４に出力する。
【００１６】
検出誤差データ算出回路４は、開始条件判定回路４１、レジスタ群４２、検出誤差計算回路４３、検出誤差格納レジスタ４４、平均化回路４５を備えている。開始条件判定回路４１は、ディジタル内挿回路３から位置データを受け、開始時要件を満たしているか判別し、満たしていれば、元信号の１周期分のサンプリング数より僅か（ここでは１つとする）多いサンプリング数の位置データＰ（０）〜Ｐ（ｎ＋１）をレジスタ群４２に格納する。なお、ここでは１周期をｎ＋１回（ｎは２以上の整数）サンプリングするものとしている。
【００１７】
検出誤差計算回路４３は、レジスタ群４２に格納された位置データＰ（０）〜Ｐ（ｎ＋１）の状態より１周期内の等間隔な位置での検出誤差データを算定する。また、検出誤差格納レジスタ４４は算出された検出誤差データを過去数回に渡り記憶する。この検出誤差格納レジスタ４４に記憶された過去数回分の検出誤差データを平均化回路４５で平均化して、その平均値の検出誤差データを検出誤差補正回路５のＭ次曲線係数算出回路５１に出力する。複数の検出誤差データの平均を取るのは、検出誤差データの精度を向上させるためのものであり、簡単に行う場合には、検出誤差格納レジスタ４４、平均化回路４５を設けずに、検出誤差計算回路４３で求めた検出誤差データをそのままＭ次曲線係数算出回路５１に格納するようにしてもよい。
【００１８】
検出誤差補正回路５は、Ｍ次曲線係数算出回路５１、Ｍ次曲線検出誤差計算回路５２、Ｍ次曲線補正計算回路５３を備えている。Ｍ次曲線係数算出回路５１は、検出誤差格納レジスタ４４に格納された検出誤差の前後Ｍ＋１点を通過するＭ次曲線の係数を算出する。なお、Ｍは２以上の整数である。Ｍ次曲線検出誤差計算回路５２は、Ｍ次曲線係数算出回路５１によって係数が算出されたＭ次曲線において、任意の時刻での検出誤差を算出する。Ｍ次曲線補正計算回路５３は、Ｍ次曲線検出誤差計算回路５２によって算出された検出誤差を用いて、ディジタル内挿回路３から出力される位置データの検出誤差を計算し補正してポジションデータ生成回路６に出力する。
ポジションデータ生成回路６は、補正された１周期内の位置データと、このブロック図では省略されている元信号の周期を数えているカウンタのデータより位置データを生成する。
【００１９】
図２は、開始条件判定回路４１の詳細ブロック図である。開始条件判定回路４１は、ディジタル内挿回路３から所定サンプリング周期毎に出力される位置データの内、今回、前回、前々回のサンプリング周期の位置データを記憶する３つの位置データレジスタ４１１ａ，４１１ｂ，４１１ｃ、第１、第２の速度計算回路４１２ａ，４１２ｂ、ゼロクロスポイント検出回路４１３、加速度計算回路４１４、位置データレジスタ格納開始判定及び誤差計算開始信号判定回路４１５を備える。
【００２０】
ディジタル内挿回路３から出力される所定サンプリング周期毎の位置データは、今回の位置データレジスタ４１１ａに格納され、今回の位置データレジスタ４１１ａに格納されていた位置データは前回の位置データレジスタ４１１ｂに格納され、前回の位置データレジスタ４１１ｂに格納されていた位置データ前々の位置データレジスタ４１１ｃに格納され、ディジタル内挿回路３から位置データが出力される毎（サンプリング周期毎）に位置データはシフトされ、今回、前回、前々回のサンプリング周期の位置データが記憶されることになる。
【００２１】
第１の速度計算回路４１２ａは、今回の位置データレジスタ４１１ａに記憶する今回の位置データと前回の位置データレジスタ４１１ｂに記憶する位置データの差より現在速度を求め、第２の速度計算回路４１２ｂは、前回の位置データレジスタ４１１ｂ、前々回の位置データレジスタ４１１ｃにそれぞれ記憶する位置データの差より周期前の現在速度を求める。また、加速度計算回路４１４は、第１、第２の速度計算回路４１２ａ，４１２ｂで求めた速度の差より加速度を求める。
ゼロクロスポイント検出回路４１３は、今回の位置データレジスタ４１１ａと前回の位置データレジスタ４１１ｃに記憶する位置データより元信号Ｓａ，Ｓｂの１周期の開始であるゼロクロスポイントを検出する。
【００２２】
位置データレジスタ格納開始判定及び誤差計算開始信号判定回路４１５は、位置データの設定取り込み条件が満足したことを条件として、ゼロクロスポイント検出回路４１３でゼロクロスポイントが検出されたときに、ゼロクロスポイントから次のゼロクロスポイントを包含する元信号の１周期以上の位置データＰ（０）〜Ｐ（ｎ＋１）をレジスタ群４２へ格納させる。また、次のゼロクロスポイント検出時に検出誤差計算回路に誤差計算開始信号を渡す。
【００２３】
位置データの取り込み条件としては、第１の速度計算回路４１２ａで求められる速度（位置データＰ（−１）とＰ（０）の差）が所定範囲に入ったとき、さらに、精度を向上させるときには、加速度計算回路４１４で求められる加速度（位置データＰ（−２）とＰ（−１）の差とＰ（−１）とＰ（０）の差の差）が規定範囲に達に入ったとき、さらには、元信号の１周期の終了時点において、前記第１の速度計算回路４１２ａで検出される加速度（位置データＰ（ｎ−２）とＰ（ｎ−１）の差とＰ（ｎ−１）とＰ（ｎ）の差の差）が規定値内に入っているときとする。
以上が本実施形態のエンコーダの信号処理装置Ｄの要部の構成である。
次に、この実施形態で実施する検出誤差補正の各種方法の実施形態を説明する。
【００２４】
図３は、第１の実施の形態の説明図で、ｎ回のサンプリングで元信号の１周期分の位置データが得られたものとする。すなわち、サンプリング周期をＴｓとし、エンコーダの感知部が取り付けられた移動体（回転体）の移動速度が一定速度ｖであるとする。また、１周期分での移動体の移動量（回転角）がＬであったとすると、Ｌ＝ｎ・Ｔｓ・ｖである。そして、ゼロクロスポイントを検出した後、最初のサンプリング時点を時間０とし、このときサンプリングした位置データをＰ（０）、次のゼロクロスポイントを検出した後の最初のサンプリング時の位置データをＰ（ｎ）とすると、位置データＰ（０）から位置データＰ（ｎ）が得られるまでは約１周期に該当する（Ｐ（ｎ）−Ｐ（０）＝Ｌ）。
【００２５】
この１周期内のｎ個のサンプリングの位置データを、横軸を時間軸、縦軸を検出位置としてプロットすると、図３に波線の曲線上に丸を書いて示したようになったとする。なお、図３において、検出位置データは０〜Ｌまで繰り返し検出されるものであるから、１周期Ｌに達したときこの点を次の１周期の「０」として連続的に直線上に表している。
【００２６】
位置データはサンプリング周期Ｔｓ毎に求められたものであるが、速度ｖが一定で、サンプリング周期Ｔｓも一定であるから、サンプリング間の移動距離ｌ＝ｖ・Ｔｓは一定である。よって、図３における横軸は移動体の移動距離（回転角度）をも表す。すなわち、ｍ回目のサンプリング時では、位置データＰ（０）が得られたサンプリング時からｍ・Ｔｓの時間経過したときであり、移動体の移動距離（回転角度）ｌ＝ｍ・ｖ・Ｔｓの位置である。
【００２７】
等速ｖで移動し、サンプリング周期Ｔｓがｎ回で、元信号１周期分の距離Ｌ移動するものであるから、位置はリニアに変化し、ｍ回目のサンプリング時では、移動距離ｌ＝Ｌ・ｍ／ｎである。そこで、位置データＰ（ｎ）が位置データＰ（０）の１周期遅れの同じ値とすれば、位置データＰ（０）とＰ（ｎ）を結ぶ図３に破線で示す直線上に位置するはずである。図３に示す破線直線は１周期分移動するとき、この検出されるべき位置を示している。しかし、実際にサンプリングされて検出された位置が図３の丸印で示された位置Ｐ（ｍ）であったとき、検出誤差Ｄ（ｍ）は、
Ｄ（ｍ）＝Ｐ（ｍ）−［Ｐ（０）＋Ｌ・ｍ／ｎ］
＝Ｐ（ｍ）−［Ｐ（０）＋｛Ｐ（ｎ）−Ｐ（０）｝×ｍ／ｎ］・・・（１）
として求められる。
【００２８】
ここで、本実施形態では、サンプリングされ検出された位置データに限らず、任意の位置データＰ（ｍ）において、検出誤差補正回路５によって誤差データＤ（ｍ）を算出し、位置データの補正を行うことができる。すなわち、Ｍ次曲線係数算出回路５１によって近似曲線の係数を算出し、Ｍ次曲線検出誤差計算回路５２によって検出誤差を算出して、Ｍ次曲線補正計算回路５３によって位置データの補正を行うことができる。
【００２９】
図４は、検出された位置データから検出位置の近似曲線を描画する様子を示す模式図である。なお、図４においては、検出位置の近似曲線を
３次曲線Ｐ（ｔＸ）＝ＡｔＸ３＋ＢｔＸ２＋ＣｔＸ＋Ｄ・・・（２）
によって描画する例を示している。なお、式（１）において、Ａ、Ｂ、Ｃ、Ｄは係数である。
図４に示すように、位置ＰＸ５〜ＰＸ８（検出点Ｐ（ｍ−１）、Ｐ（ｍ）間）においては、前後２点の検出点Ｐ（ｍ−２）、Ｐ（ｍ−１）、Ｐ（ｍ）、Ｐ（ｍ＋１）を通過する３次曲線の係数を以下のように算出することができる。
【００３０】
図５は、近似に用いる検出点と近似曲線との関係を示す模式図である。
図５に示すように、検出点Ｐ（ｍ−１）を通過する時刻をｔ＝０とすると、一定時間間隔Ｔの時点における検出点Ｐ（ｍ−２）、Ｐ（ｍ）、Ｐ（ｍ＋１）を通過する時刻は、それぞれ−Ｔ、Ｔ、２Ｔで与えられる。
したがって、４個の検出点Ｐ（ｍ−２）、Ｐ（ｍ−１）、Ｐ（ｍ）、Ｐ（ｍ＋１）を通過する三次曲線Ｐ（ｔ）＝Ａｔ３＋Ｂｔ２＋Ｃｔ＋Ｄの係数Ａ、Ｂ、Ｃ、Ｄに対し、以下の４式が成立する。
Ｐ（ｍ−２）＝−ＡＴ３＋ＢＴ２−ＣＴ＋Ｄ・・・（３）
Ｐ（ｍ−１）＝Ｄ・・・（４）
Ｐ（ｍ）＝ＡＴ３＋ＢＴ２＋ＣＴ＋Ｄ・・・（５）
Ｐ（ｍ＋１）＝８ＡＴ３＋４ＢＴ２＋２ＣＴ＋Ｄ・・・（６）
【００３１】
これら４式より、係数Ａ、Ｂ、Ｃ、Ｄは、以下のように求めることができる。
Ａ＝（−Ｐ（ｍ−２）＋３Ｐ（ｍ−１）−３Ｐ（ｍ）＋Ｐ（ｍ＋１））÷６Ｔ３・・・（７）
Ｂ＝（Ｐ（ｍ−２）−２Ｐ（ｍ−１）＋Ｐ（ｍ））÷２Ｔ２・・・（８）
Ｃ＝（−２Ｐ（ｍ−２）−３Ｐ（ｍ−１）
＋６Ｐ（ｍ）−Ｐ（ｍ＋１））÷６Ｔ３・・・（９）
Ｄ＝Ｐ（ｍ−１）・・・（１０）
【００３２】
このように係数Ａ、Ｂ、Ｃ、Ｄが算出されることにより、３次の近似曲線Ｐ（ｔ）が定まり、検出誤差補正回路５によって近似曲線Ｐ（ｔ）上における任意の時刻での検出誤差を求めて位置データを補正することができる。
したがって、誤差量の速度成分変化、及び加速度成分変化を抑制し、モータのトルクコマンドへの影響を軽減することが可能となる。
なお、ここでは、検出点Ｐ（ｍ−１）、Ｐ（ｍ）間を例として係数を求めたが、他の検出点Ｐ（ｍ−２）、Ｐ（ｍ−１）間、あるいは、検出点Ｐ（ｍ）、Ｐ（ｍ＋１）間においても、同様に前後２点の検出点から３次曲線の係数を算出し、任意の時刻での検出誤差を求めて位置データを補正することができる。
【００３３】
［比較例］
以上のように構成されるエンコーダの信号処理装置Ｄは、検出点間を直線で補間する場合に比べ、エンコーダの出力信号の誤差を補正する際に、トルクコマンドに影響を与える加速度成分の変動を抑制することができる。
図６は、図４に示す位置データの例において検出位置を直線補間した場合を示す図である。
また、図７は、図６に示す位置データの例における各位置ＰＸ１〜ＰＸ９の速度成分を示す図、図８は、図６に示す位置データの例における各位置ＰＸ１〜ＰＸ９の加速度成分を示す図である。なお、図８に示す加速度成分は、図７に示す各時間の速度成分について隣接する時間との差分を示している。
図６においては、各検出点間は直線補間されるため、検出点間における検出位置は補間された直線上に分布することとなる。
この場合、検出点間における検出位置の速度成分は一定、加速度成分はゼロとなる。
【００３４】
図９は、図４に示す位置データの例における各位置ＰＸ１〜ＰＸ９の速度成分を示す図である。
また、図１０は、図４に示す位置データの例における各位置ＰＸ１〜ＰＸ９の加速度成分を示す図である。なお、図１０に示す加速度成分は、図９に示す各時間の速度成分について隣接する時間との差分を示している。
図４に示す位置データの例において、検出点間における検出位置は近似曲線上に分布することとなる。
この場合、各位置ＰＸ１〜ＰＸ９における速度成分は図９のような値となり、各位置ＰＸ１〜ＰＸ９における加速度成分は図１０のような値となる。
【００３５】
各検出点間を直線補間した場合の速度成分（図７）と、各検出点間を近似曲線で補間した場合の速度成分（図９）とを比較すると、本発明のように各検出点間を近似曲線で補間した場合の速度成分の方が、大きな変化が抑制されていることがわかる。
同様に、各検出点間を直線補間した場合の加速度成分（図８）と、各検出点間を近似曲線で補間した場合の加速度成分（図１０）とを比較すると、本発明のように各検出点間を近似曲線で補間した場合の加速度成分の方が、大きな変化が抑制されていることがわかる。
【００３６】
［第２の実施の形態］
次に、本発明の第２の実施の形態について説明する。
第２の実施の形態では、エンコーダが逆回転する場合にも適切に位置データを補正可能とするため、第１の実施の形態に示す近似曲線の次数を奇数とするものである。
【００３７】
図１１は、近似曲線の次数が奇数（ここでは３次）の場合に、順回転及び逆回転で係数の算出に用いられる検出点の様子を示す模式図である。なお、図６における順回転の場合の検出位置と、逆回転の場合の検出位置とは、左右反転している。
図１１に示すように、近似曲線の次数が３次の場合、注目する時刻ｔＸの前後４点の検出点を用いることで、３次曲線の係数Ａ、Ｂ、Ｃ、Ｄを算出し、ｔｍ−１≦ｔＸ≦ｔｍの範囲における任意の時刻での検出誤差Ｐ（ｔＸ）を
Ｐ（ｔＸ）＝ＡｔＸ３＋ＢｔＸ２＋ＣｔＸ＋Ｄ
として求めることができる。
また、逆回転の場合でも、順回転の場合と同一の前後４点の検出点を用いることになるため、近似曲線の係数は一意に定まる。
【００３８】
図１２は、近似曲線の次数が偶数（ここでは２次）の場合に、順回転及び逆回転で係数の算出に用いられる検出点の様子を示す模式図である。なお、図１２における順回転の場合の検出位置と、逆回転の場合の検出位置とは、左右反転している。
近似曲線の次数が２次の場合、注目する時刻ｔＸより前の時刻ｔｍ−１の１点、及び、後の時刻ｔｍ、ｔｍ＋１の２点の検出点を用いて、以下の式によって、２次曲線の係数Ａ、Ｂ、Ｃを算出することができる。
Ａ＝（Ｐ（ｍ−１）−２Ｐ（ｍ）＋Ｐ（ｍ＋１））÷２・・・（１１）
Ｂ＝（−Ｐ（ｍ−１）＋２Ｐ（ｍ＋１））÷２・・・（１２）
Ｃ＝Ｐ（ｍ）・・・（１３）
【００３９】
これらの係数を用いて、ｔｍ−１≦ｔＸ≦ｔｍの範囲における任意の時刻での検出誤差Ｐ（ｔＸ）は、
Ｐ（ｔＸ）＝ＡｔＸ２＋ＢｔＸ＋Ｃ・・・（１４）
として求めることができる。
ところが、逆回転の場合、順回転と同様に、注目する時刻ｔＸより前の時刻ｔｍ−１の１点、及び、後の時刻ｔｍ、ｔｍ＋１の２点の検出点を用いると、異なる３点を通過する２次曲線の係数を算出することとなり、エンコーダが逆回転する場合には、適切に位置データを補正できない可能性が生じる。
すなわち、近似曲線の次数を奇数とすることで、より適切に位置データを補正することが可能となる。
【００４０】
［第３の実施の形態］
次に、本発明の第３の実施の形態について説明する。
第３の実施の形態では、検出誤差の計算を簡略化し、処理を高速化するため、近似曲線における所定の検出誤差を予め算出して記憶しておくものである。
図１３は、本実施の形態におけるＭ次曲線検出誤差計算回路５２の構成を示す模式図である。
また、図１４は、検出点を通過するＭ次曲線において、検出点を等分した時刻での検出誤差を予め算出する様子を示す模式図である。
【００４１】
図１３に示すように、本実施形態におけるＭ次曲線検出誤差計算回路５２は、レジスタ５２ａを備え、算出した所定の検出誤差をレジスタ５２ａに記憶しておくことができる。
そして、図１４に示すように、Ｍ次曲線検出誤差計算回路５２は、検出点間を等分した時刻でのＭ次曲線を通過する検出誤差を予め算出してレジスタ５２ａに格納しておく。
図１４においては、検出点Ｐ（ｍ−１）、Ｐ（ｍ）間を時間Ｔで８等分し、各時刻ｔ１〜ｔ７におけるＭ次曲線上の検出誤差Ｐ（１）〜Ｐ（７）が算出された例を示している。これら検出誤差Ｐ（１）〜Ｐ（７）は、レジスタ５２ａに記憶されている。
【００４２】
Ｍ次曲線検出誤差計算回路５２は、任意の時刻での検出誤差を算出する際に、その時刻の前後における検出誤差によって任意の時刻を含む期間を直線補間することにより、当該時刻での検出誤差を算出する。
例えば、図１４における時刻ｔ５、ｔ６間の期間を直線補間して検出誤差Ｐ（Ｘ）を算出する場合、検出誤差Ｐ（５）、Ｐ（６）を用いて、
Ｐ（Ｘ）＝（Ｐ（６）−Ｐ（５））×（ｔＸ−ｔ５）÷Ｔ＋Ｐ（５）・・・（１５）
として求めることができる。
このように検出誤差を求めることで、任意の時刻におけるＭ次曲線上の検出誤差を逐次算出する場合に比べ、計算を簡略化し、処理を高速化することができる。
【００４３】
［変形例１］
上述した各実施形態においては、検出誤差データ算出回路４中に開始条件判定回路４１を設け、該開始条件判定回路４１で判別してレジスタ群４２へのデータ取り込み、及び基準データの算出指令を出力するようにしたが、この開始条件判定回路４１を設けず、このエンコーダを取り付けた機械や装置を制御する数値制御装置等の制御装置によって、開始条件を判別し、この制御装置からデータ取り込み、及び基準データの算出指令を出力するようにしてもよい。
【００４４】
［変形例２］
上述した各実施形態において、検出誤差データ算出回路４さらには検出誤差補正回路５をプロセッサで構成し、ソフトウェアによって処理を行うようにしてもよい。
図１５は、検出誤差データの算出処理及び位置データの補正処理をソフトウェアによって実行する場合の構成を示すブロック図である。
【００４５】
図１５に示すように、検出誤差データの算出処理及び位置データの補正処理をソフトウェアによって実行する場合、図１における検出誤差データ算出回路４及び検出誤差補正回路５に代えて、本発明に係るエンコーダの信号処理装置Ｄには、プロセッサ１００と、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１１０と、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｏｒｙ）１２０と、記憶部１３０とが備えられる。
【００４６】
プロセッサ１００は、ＲＯＭ１１０あるいは記憶部１３０に記憶された検出誤差データの算出処理のためのプログラム及び位置データの補正処理のためのプログラムを実行する。
ＲＯＭ１１０には、エンコーダの信号処理装置Ｄを制御するための各種プログラムが予め書き込まれている。
ＲＡＭ１２０は、ＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等の半導体メモリによって構成され、プロセッサ１００が各種処理を実行する際に生成されるデータを記憶する。
【００４７】
記憶部１３０は、ハードディスクあるいはフラッシュメモリ等の不揮発性の記憶装置によって構成され、検出誤差データの算出処理のためのプログラム及び位置データの補正処理のためのプログラム等の各種プログラムや、エンコーダの信号処理装置Ｄにおいて用いられる各種データを記憶する。
【００４８】
図１６は、プロセッサ１００が実行する検出誤差データの算出処理（検出誤差データ算出回路４で行う処理と同等の処理）の流れを示すフローチャートである。
まず、基準データ作成指令が、手動若しくはこのエンコーダを取り付けた機械や装置を制御する制御装置からの指令として入力されたとき、プロセッサ１００は、ディジタル内挿回路３から出力されるサンプリング位置データに基づいて、設定検出誤差算出開始条件を満たしているか否かを判別する。すなわち、現在の速度が規定値であるか、さらには、加速度が規定値内かを判別する（ステップａ１）。
【００４９】
設定検出誤差算出開始条件を満たしていることが判別されると、ディジタル内挿回路３から出力されるサンプリング位置データを１周期分以上取り込む（ステップａ２、ａ３）。
この位置データの取り込みが完了すると、１周期分の位置データが取り込み完了時での加速度が規定範囲内か判断する（ステップａ４）。規定範囲からはずれている場合には、位置データを取得した１周期分内で速度変化があったことを意味するので、ステップａ１に戻り再度位置データの取り込みを行う。
【００５０】
ステップａ４で、加速度が規定範囲内と判断された場合には、取り込んだ位置データは速度一定のデータとみなされ、この位置データから設定されている位置ＰＡ、該位置ＰＡより１周期経過後の設定位置ＰＢの前後の位置データＰ（０），Ｐ（１）、及びＰ（ｎ），Ｐ（ｎ＋１）を取り込んだ位置データから求める（ステップａ５，ａ６）。位置データＰ（０）のサンプリング時を時間「０」とし、位置ＰＡ，ＰＢの時間ｔＡ，ｔＢを補間処理によって求める（ステップａ７）。なお、ステップａ６、ａ７において、位置ＰＡをゼロクロスポイント直後の検出位置とする場合、時間ｔＡ，ｔＢはそれぞれ「０」、サンプリング周期Ｔｓとサンプリング回数ｎの積となり、補間処理は不要となる。一方、位置ＰＡをサンプリング周期における任意の位置に設定した場合、位置ＰＡを挟む位置データＰ（０），Ｐ（１）から時間ｔＡは補間処理（例えば直線補間）によって求められると共に、同様に、位置ＰＡより１周期経過後の位置ＰＢの前後の位置データＰ（ｎ），Ｐ（ｎ＋１）から時間ｔＢが補間処理によって求められる。
【００５１】
時間ｔＡ，ｔＢ間を均等に分割し、各分割点において検出されると予想される位置データを同様に補間処理によって求め、さらにこの予想される検出位置（分割点位置）に対する検出誤差を求め、この予想される検出位置（分割点位置）とこれに対応する検出誤差を対応させて記憶する（ステップａ８）。
【００５２】
指標ｊを１インクリメントし（該指標ｊは初期設定で「０」にセットされている）、該指標ｊの値が設定回数か判断し（ステップａ９，ａ１０）設定回数でなければ、ステップａ１に戻る。以下ステップａ１からステップａ１０の処理を繰り返し、指標ｊが設定回数に達すると、予想される検出位置（分割点位置）に対して記憶したｊ個の検出誤差の平均を求め（ステップａ１１）、予想される検出位置（分割点位置）とこの検出誤差の平均の組をＭ次曲線係数算出回路５１に出力し（ステップａ１２）、検出誤差データの算出処理は終了する。
【００５３】
図１７は、プロセッサ１００が実行する位置データの補正処理（検出誤差補正回路５で行う処理と同等の処理）の流れを示すフローチャートである。
位置データの補正処理が開始されると、検出誤差補正回路５は、ディジタル内挿回路３の出力である位置データＰ（ｘ）を読み（ステップｂ１）、Ｍ次曲線係数算出回路５１は、検出誤差格納レジスタ４４に格納された検出誤差の前後Ｍ＋１点を通過するＭ次曲線の係数を算出する（ステップｂ２）。
【００５４】
次に、Ｍ次曲線検出誤差計算回路５２は、Ｍ次曲線係数算出回路５１によって係数が算出されたＭ次曲線において、任意の時刻での検出誤差を算出する（ステップｂ３）。
次に、Ｍ次曲線補正計算回路５３は、Ｍ次曲線検出誤差計算回路５２によって算出された検出誤差を用いて、ディジタル内挿回路３から出力される位置データの検出誤差を計算し補正してポジションデータ生成回路６に出力する（ステップｂ４）。
この後、ポジションデータ生成回路６が、このように出力された補正後の位置データ（補正された１周期内の位置データ）と、元信号の周期を数えているカウンタのデータより位置データを生成する。
このような構成とすることで、検出誤差データ算出回路４さらには検出誤差補正回路５の機能をソフトウェアによって構成することができ、機能の追加あるいは変更等をより柔軟に行うことができる。
【００５５】
なお、本発明は、上述の実施形態に制限されるものではなく、適宜変更が可能である。
例えば、検出誤差補正回路５において、近似曲線として算出するＭ次曲線は、本発明の具体的な適用対象に応じて、その次数を適宜決定することができる。
また、位置データＰ（ｎ）をサンプリングするサンプリング周期は、要求される近似曲線の精度等に応じて、適宜決定することができる。
【００５６】
以上説明した実施形態のエンコーダの信号処理装置Ｄの全部又は一部は、ハードウェア、ソフトウェア又はこれらの組合せにより実現することができる。ここで、ソフトウェアによって実現されるとは、コンピュータがプログラムを読み込んで実行することにより実現されることを意味する。ハードウェアで構成する場合、エンコーダの信号処理装置Ｄの一部又は全部を、例えば、ＬＳＩ（Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｅｄ  ｃｉｒｃｕｉｔ）、ＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）、ゲートアレイ、ＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）等の集積回路（ＩＣ）で構成することができる。
【００５７】
エンコーダの信号処理装置Ｄの全部又は一部をソフトウェアで構成する場合、エンコーダの信号処理装置Ｄの動作の全部又は一部を記述したプログラムを記憶した、ハードディスク、ＲＯＭ等の記憶部、演算に必要なデータを記憶するＤＲＡＭ、ＣＰＵ、及び各部を接続するバスで構成されたコンピュータにおいて、演算に必要な情報をＤＲＡＭに記憶し、ＣＰＵで当該プログラムを動作させることで実現することができる。
【００５８】
これらのプログラムは、様々なタイプのコンピュータ可読媒体（ｃｏｍｐｕｔｅｒ  ｒｅａｄａｂｌｅ  ｍｅｄｉｕｍ）を用いて格納され、コンピュータに供給することができる。コンピュータ可読媒体は、様々なタイプの実体のある記録媒体（ｔａｎｇｉｂｌｅ  ｓｔｏｒａｇｅ  ｍｅｄｉｕｍ）を含む。コンピュータ可読媒体の例は、磁気記録媒体（例えば、フレキシブルディスク、磁気テープ、ハードディスクドライブ）、光磁気記録媒体（例えば、光磁気ディスク）、ＣＤ−ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＣＤ−Ｒ、ＣＤ−Ｒ／Ｗ、半導体メモリ（例えば、マスクＲＯＭ、ＰＲＯＭ（Ｐｒｏｇｒａｍｍａｂｌｅ  ＲＯＭ）、ＥＰＲＯＭ（Ｅｒａｓａｂｌｅ  ＰＲＯＭ）、フラッシュＲＯＭ、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ））を含む。
また、これらのプログラムは、ネットワークを介してユーザのコンピュータにダウンロードされることにより配布されてもよい。
【００５９】
以上、本発明の実施形態について詳細に説明したが、前述した実施形態は、本発明を実施するにあたっての具体例を示したに過ぎない。本発明の技術的範囲は、前記実施形態に限定されるものではない。本発明は、その趣旨を逸脱しない範囲において種々の変更が可能であり、それらも本発明の技術的範囲に含まれる。
【符号の説明】
【００６０】
Ｄ  エンコーダの信号処理装置
１ａ，１ｂ  アナログ増幅回路
２ａ，２ｂ  アナログ−ディジタル変換回路
３  ディジタル内挿回路
４  検出誤差データ算出回路
４１  開始条件判定回路
４２  レジスタ群
４３  検出誤差計算回路
４４  検出誤差格納レジスタ
４５  平均化回路
５  検出誤差補正回路
５１  Ｍ次曲線係数算出回路
５２  Ｍ次曲線検出誤差計算回路
５２ａ  レジスタ
５３  Ｍ次曲線補正計算回路
６  ポジションデータ生成回路
４１１ａ，４１１ｂ，４１１ｃ  位置データレジスタ
４１２ａ  第１の速度計算回路
４１２ｂ  第２の速度計算回路
４１３  ゼロクロスポイント検出回路
４１４  加速度計算回路
４１５  位置データレジスタ格納開始判定及び誤差計算開始信号判定回路
１００  プロセッサ
１１０  ＲＯＭ
１２０  ＲＡＭ
１３０  記憶部
【図１】
2018021845.tif 000003
【図２】
2018021845.tif 000004
【図３】
2018021845.tif 000005
【図４】
2018021845.tif 000006
【図５】
2018021845.tif 000007
【図６】
2018021845.tif 000008
【図７】
2018021845.tif 000009
【図８】
2018021845.tif 000010
【図９】
2018021845.tif 000011
【図１０】
2018021845.tif 000012
【図１１】
2018021845.tif 000013
【図１２】
2018021845.tif 000014
【図１３】
2018021845.tif 000015
【図１４】
2018021845.tif 000016
【図１５】
2018021845.tif 000017
【図１６】
2018021845.tif 000018
【図１７】
2018021845.tif 000019