(57)【要約】【課題】エンコーダ信号を用いた角度演算によって、テーブルのメモリ容量を低減することのできる内挿方法および内挿装置を提供する。【解決手段】エンコーダ内挿装置（１００）は、正弦波に近似される位相の異なった２つの周期的なエンコーダ信号出力から位相角度を求める式を用いて真の位相角度を演算するとともに、エンコーダ信号から位相角度に対する２次以上の近似式を用いて仮の角度を演算し、仮の角度とこれに対応する真の位相角度との差分である角度誤差を仮の角度に対応させて予め記憶しておき、エンコーダ信号を得て仮の角度を求め、この仮の角度に角度誤差を加えることにより真の位相角度を得る。【選択図】  図１
2015078863.tif 000002
【特許請求の範囲】
【請求項１】
正弦波に近似される位相の異なった２つの周期的なエンコーダ信号出力から位相角度を求める式を用いて真の位相角度を演算するとともに、前記エンコーダ信号から前記位相角度に対する２次以上の近似式を用いて仮の角度を演算し、前記仮の角度とこれに対応する前記真の位相角度との差分である角度誤差を仮の角度に対応させて予め記憶しておき、前記エンコーダ信号を得て前記仮の角度を求め、この仮の角度に前記角度誤差を加えることにより前記真の位相角度を得ることを特徴とする位置または角度の算出を行う内挿方法。
【請求項２】
請求項１に記載の位置または角度の算出を行う内挿方法において、エンコーダ信号の１周期を複数の領域に等分し、前記エンコーダ信号の符号と絶対値の大小関係に基づいて信号の領域を判別し、前記エンコーダ信号の１周期内での位相角度に変換することを特徴とする位置または角度の算出を行う内挿方法。
【請求項３】
請求項２に記載の位置または角度の算出を行う内挿方法において、エンコーダ信号の１周期を等分した領域が８分の１周期であることを特徴とする位置または角度の算出を行う内挿方法。
【請求項４】
請求項１ないし請求項３のいずれか１項に記載の位置または角度の算出を行う内挿方法において、メモリに角度誤差を記憶する際にエンコーダ信号の比をテーブルのアドレスとすることを特徴とする位置または角度の算出を行う内挿方法。
【請求項５】
請求項１ないし請求項４のいずれか１項に記載の方法を用いることを特徴とする位置または角度の算出を行う内挿装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、位置または角度の計測に用いられるエンコーダの内挿方法、および内挿装置に関する。
【背景技術】
【０００２】
位置または角度の計測にはエンコーダが広く用いられている。エンコーダは位置または角度の変動に伴って正弦波に近似される位相の９０°異なった２つの周期信号を出力する。そして、これらの信号に対して内挿演算を施すことにより、位置や角度の分解能を向上させている。
【０００３】
内挿演算の方法として、ルックアップテーブルを用いた方法が広く知られている。この方法は、予め位相角度のデータをメモリに記憶しておき、エンコーダ信号をメモリのアドレスとして与えて、メモリから位相角度のデータを読み出すものである。
【０００４】
上述のようなルックアップテーブルを用いる方法では、分解能を向上させるためにテーブルのメモリ容量を大きくしなくてはならない問題があった。
【０００５】
ルックアップテーブルを用いる方法において、テーブルのメモリ容量を低減する方法が提案されている（特許文献１の図１参照）。この方法によれば、エンコーダ信号を三角波信号と仮定して角度演算し、エンコーダの位相角度と三角波の位相角度の差分を補正データとしてメモリに記憶することでメモリ容量を低減している。これは、三角波の位相角度が信号の大きさに比例して増減する性質を利用している（特許文献１の図３参照）。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特許第０３３７５６４２号明細書（図１、図３）
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかし、この方法はエンコーダ信号を三角波信号と仮定しているため、エンコーダ信号の大きさに比例する容量までしかメモリ容量を低減できないという問題があった。
【０００８】
そこで本発明は、従来の問題を解決して、エンコーダ信号を演算回路によって角度演算することで、テーブルのメモリ容量を低減する内挿方法および内挿装置を提供する。
【課題を解決するための手段】
【０００９】
その目的を達成するために、本発明の一側面としての位置または角度の算出を行う内挿方法は、正弦波に近似される位相の異なった２つの周期的なエンコーダ信号出力から位相角度を求める式を用いて真の位相角度を演算するとともに、前記エンコーダ信号から前記位相角度に対する２次以上の近似式を用いて仮の角度を演算し、前記仮の角度とこれに対応する前記真の位相角度との差分である角度誤差を仮の角度に対応させて予め記憶しておき、前記エンコーダ信号を得て前記仮の角度を求め、この仮の角度に前記角度誤差を加えることにより前記真の位相角度を得ることを特徴とする。
【発明の効果】
【００１０】
エンコーダ信号を用いた角度演算によって、テーブルのメモリ容量を低減した内挿方法および内挿装置を提供することができる。
【００１１】
本発明のその他の側面については、以下で説明する実施の形態で明らかにする。
【図面の簡単な説明】
【００１２】
【図１】第１実施形態のエンコーダ内挿装置機能ブロック図である。
【図２】第１実施形態の信号処理部機能ブロック図である。
【図３】第１実施形態のエンコーダ信号１周期を８分割した領域を示す図である。
【図４】第１実施形態の位相角度の領域判別方法を示す図である。
【図５】第１実施形態のエンコーダ角度変換部の処理を説明する図である。
【図６】メモリに記憶するデータを説明する図である。
【発明を実施するための形態】
【００１３】
以下に、本発明の好ましい実施形態を添付の図面に基づいて詳細に説明する。
【００１４】
〔第1実施形態〕
図１は本発明の第１実施形態に係る位置または角度の算出方法として、エンコーダ内挿装置の機能ブロック図を示したものである。このエンコーダ内挿装置１００は、図１に示すようにエンコーダ１０１、Ａ／Ｄコンバータ１０２、２値化回路１０３、信号処理部１０４およびメモリ１０５から構成されている。
【００１５】
エンコーダ１０１は、位相角度の位置信号として正弦波に近似される位相の異なった２つの周期的な信号を出力する。この２つの信号（以下、Ａ相およびＢ相）は互いに約９０°の位相差を持ったアナログ信号である。エンコーダから出力されたＡ相およびＢ相信号は、Ａ／Ｄコンバータ１０２と２値化回路１０３に入力される。
【００１６】
Ａ／Ｄコンバータ１０２は、エンコーダから入力されるＡ相およびＢ相信号をアナログ信号からデジタル信号に変換して信号処理部１０４に出力する。
【００１７】
２値化回路１０３は、図示していないコンパレータで構成され、コンパレータの一端の入力にはアナログＡ相およびＢ相信号が入力され、他端の入力には閾値が入力される。入力されたアナログ信号は閾値と比較されてパルス信号に変換され、パルス信号が信号処理部１０４に出力される。
【００１８】
信号処理部１０４は、ＤＳＰ（デジタル・シグナル・プロセッサ）で構成される。信号処理部１０４は、図２に示すように、除算演算部１０６、領域判別部１０７、角度演算部１０８、加減演算部１０９およびエンコーダ角度変換部１１０を有する。
【００１９】
除算演算部１０６は、デジタル信号に変換されたＡ相およびＢ相信号について、それぞれの信号の大小に従って次式のような除算演算を行う。
【００２０】
Ａｄｄ＝｜Ａ｜/｜Ｂ｜  ∵（｜Ａ｜＜｜Ｂ｜）・・・（１）
Ａｄｄ＝｜Ｂ｜/｜Ａ｜  ∵（｜Ａ｜≧｜Ｂ｜）・・・（２）
このようにして得られたＡｄｄは、メモリ１０５と角度演算部１０８に出力される。
【００２１】
角度演算部１０８は、除算演算部１０６から入力されるＡｄｄを用いて演算し、仮の角度θｓを得る。この演算には真の位相角度θに対する近似式を用いる。ここで、真の位相角度θは、図３に示すエンコーダ信号の１周期を８つの領域に等分した８分の１周期内での位相角度であり、次式で示す逆正接関数によって予め求めることができる。
【００２２】
θ＝Ｔａｎ−１（Ａｄｄ）・・・（３）
また、仮の角度θｓを得る近似式の次数は２次以上とし、近似式の係数は真の位相角度θと仮の角度θｓの誤差が小さくなるような値を選択する。
【００２３】
メモリ１０５は、信号処理部１０４の外部にＲＯＭで構成され、ＡｄｄをアドレスとしてデータΔθを記憶している。メモリ１０５に記憶されるΔθは、真の位相角度θと仮の角度θｓの差分であり、角度誤差として次式で示すことができる。
【００２４】
Δθ＝θ−θｓ・・・（４）
式（４）で示されるように、仮の角度θｓを真の位相角度θに近似させるほど角度誤差Δθが小さくなり、メモリ容量を低減することができる。
【００２５】
加減演算部１０９は、角度演算部１０８から入力されるθｓとメモリ１０５から入力される角度誤差Δθを加算または減算して真の位相角度θを得る。
【００２６】
領域判別部１０７は、図４に示すように、Ａ相およびＢ相信号の符号と絶対値の大小関係に基づいて、エンコーダの位相角度が図３に示す領域のどの領域に属するかを判別する。そして、領域判別信号をエンコーダ角度変換部１１０に出力する。
【００２７】
エンコーダ角度変換部１１０は、領域判別部１０７から入力される領域判別信号と加減演算部１０９から入力される真の位相角度θを用いて、エンコーダ信号１周期内でのエンコーダ位相角度θｃを得る。図５（ａ）は、エンコーダ信号の位相角度が１番目の領域に属する場合のエンコーダ位相角度θｃの算出方法を示している。また、図５（ｂ）は、
エンコーダ信号の位相角度が２番目の領域に属する場合のエンコーダ位相角度θｃの算出方法を示している。これらを踏まえると、エンコーダ位相角度θｃの算出は、エンコーダ信号の位相角度が属する領域の番号をｎとして、次式で示すことができる。
【００２８】
θｃ＝θ＋（ｎ−１）×４５°∵（ｎ＝１、３、５、７）・・・（５）
θｃ＝ｎ×４５°−θ        ∵（ｎ＝２、４、６、８）・・・（６）
以上の内挿演算によりエンコーダの角度を算出することができる。
【００２９】
本実施形態では、信号処理部１０４にＤＳＰを用いたが、この代わりにＦＰＧＡ（フィールド・プログラマブル・ゲート・アレイ）やＣＰＵ（中央処理装置）を用いても良い。また、メモリ１０５は、信号処理部１０４の外部にＲＯＭとして構成したが、信号処理部１０４に用いるＤＳＰの内部に構成しても良く、更にＲＯＭの代わりにＲＡＭなどで構成しても同様の効果を得ることができる。
【００３０】
［実施例１］
第１実施形態において、信号処理部１０４に浮動小数点演算処理をおこなうＤＳＰを用いた場合のエンコーダの角度算出方法について説明する。
【００３１】
信号処理部１０４の処理を浮動小数点演算で行う場合は、仮の角度θｓを得る為の近似式の係数を任意の値に選択することができる。
【００３２】
仮の角度θｓを得る近似式の次数を２次以上とし、近似式の係数を真の位相角度θと仮の角度θｓの誤差が小さくなるような値とする。その近似式の一例を次式で示す。
θｓ＝７．０１×１０−１Ａｄｄ−１．９０×１０−４Ａｄｄ２・・・（７）
この式（７）を用いて、エンコーダの角度算出を行った場合のメモリ１０５の記憶容量を考える。
【００３３】
図６（ａ）は、真の位相角度θ１１１、仮の角度θｓ１１２および角度誤差Δθ１１３の大きさを示している。グラフの横軸はメモリのアドレスで、式（１）および式（２）で演算されるＡ相とＢ相信号の振幅の比に１０２４を掛けたものである。縦軸はエンコーダ信号の１周期を８つの領域に等分した８分の１周期内での位相角度であり、値は０°から４５°までを５１２（２９）としている。図６（ａ）に示すように、本発明を適用することで、メモリ１０５の容量を角度誤差Δθ１１３の大きさまで低減することができる。具体的には、２９必要だったメモリの容量を２３まで低減することができ、上記条件において、メモリ１０５の容量を約６７％低減することができる。
【００３４】
［実施例２］
第１実施形態において、信号処理部１０４に固定小数点演算処理を行うＤＳＰを用いた場合のエンコーダの角度算出方法について説明する。
【００３５】
信号処理部１０４の処理を固定小数点演算で行う場合は、仮の角度θｓを得る為の近似式の係数を２の冪乗の組み合わせで表現できる値に選択することが望ましい。これは、固定小数点演算における近似式の演算処理を高速化するためである。
【００３６】
仮の角度θｓを得る近似式の次数を２次以上とし、近似式の係数を真の位相角度θと仮の角度θｓの誤差が小さくなるように２の冪乗の組み合わせで表現できる値とする。その近似式の一例を次式で示す。
【００３７】
θｓ＝（２−１＋２−２−２−６）Ａｄｄ−（２−１６−２−１２）Ａｄｄ２・・・（８）
この式（８）を用いて、エンコーダの角度算出を行った場合のメモリ１０５の記憶容量を考える。
【００３８】
図６（ｂ）は、真の位相角度θ１１１、仮の角度θｓ１１２および角度誤差Δθ１１３の大きさを示している。グラフの横軸および横軸は実施例１と同様である。図６（ｂ）に示すように、本発明を適用することで、メモリ１０５の容量を角度誤差Δθ１１３の大きさまで低減することができる。具体的には、２９必要だったメモリの容量を２４まで低減することができ、上記条件において、メモリ１０５の容量を約５６％低減することができる。
【００３９】
以上、本発明を適用できる実施形態について説明したが、本発明はこれらの実施形態に限定されず、その要旨の範囲内で種々の変形および変更が可能である。
【符号の説明】
【００４０】
１００  エンコーダ内挿装置
１０１  エンコーダ
１０４  信号処理部
１０５  メモリ
１０６  除算演算部
１０８  角度演算部
１０９  加減演算部
１１０  エンコーダ角度変換部
【図１】
2015078863.tif 000003
【図２】
2015078863.tif 000004
【図３】
2015078863.tif 000005
【図４】
2015078863.tif 000006
【図５】
2015078863.tif 000007
【図６】
2015078863.tif 000008