(57)【特許請求の範囲】
【請求項１】
検出対象物の移動量と移動方向に応じた個数と位相とを有する２相のパルスを出力するパルス出力手段と、
前記２相のパルスを入力して検出対象物の位置を検出する位置検出手段と、
前記２相のパルスを入力して検出対象物の移動方向を判別する方向判別手段と、
今回サンプリングした検出対象物の位置の変化が発生した時刻と前回サンプリングした検出対象物の位置の変化が発生した時刻とから両時刻の時間間隔を計測する時間間隔計測手段と、
前回のサンプリング時点において前記方向判別手段と位置検出手段でそれぞれ検出された移動方向と位置の両情報、および位置の情報を補正するための位置補正値をそれぞれ記憶する記憶手段と、
今回のサンプリング時点において前記方向判別手段と位置検出手段でそれぞれ検出された移動方向と位置の両情報、および時間間隔計測手段で計測された時間間隔の情報、ならびに前記記憶手段に記憶されている前回のサンプリング時点において得られた移動方向と位置の両情報、および位置補正値の情報に基づいて検出対象物に関する速度を演算する演算手段と、
を備え、前記時間間隔内の検出対象物の位置の変化である移動量に基づいて速度を算出するときに、検出対象物の移動量を検出対象物の移動方向を考慮した位相誤差を打ち消す移動量補正値で補正することにより、補正された移動量に基づいて２相のパルスの位相誤差を排除し、かつ、移動方向が途中で反転した場合でも正確な速度を検出することを特徴とする速度検出装置。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は、サーボモータの回転速度、製造ラインのライン速度などをデジタル的に検出する速度検出装置に関する。
【０００２】
【従来の技術】
一般に、メカトロニクスなどの分野においては、サーボモータなどの検出対象物の速度を正確に検出して制御を行うことが要求される。
【０００３】
このため、従来より、ロータリエンコーダを回転検出部として検出対象物に取り付け、このロータリエンコーダからの出力パルスのパルス数をカウンタでカウントすることで検出対象物の速度を検出するようにした速度検出装置が提供されている。
【０００４】
すなわち、この速度検出装置では、図１０に示すように、一定のサンプリング期間Ｔ内に到来するパルス数Ｎをカウントとし、次式によって速度Ｖを検出する。
【０００５】
Ｖ＝ｐ・Ｎ／Ｔ                                    （ａ）
ただし、ｐは１パルスあたりの検出対象物の移動量（回転量）である。
【０００６】
このような速度検出装置が備えるロータリエンコーダの内、特にインクリメンタル型のロータリエンコーダは、小型かつ比較的安価であるために回転検出部として広く用いられている。
【０００７】
このインクリメンタル型のロータリエンコーダ（以後、単にエンコーダと称する）は、検出対象物の正転と逆転とが分かるように、９０°位相の異なるＡ相とＢ相の２相のパルスＰ−Ａ，Ｐ−Ｂが同時に出力されるようになっている。そして、通常、検出対象物の低速域での分解能を高めるために、逓倍回路を設けてＡ相パルスＰ−ＡとＢ相パルスＰ−Ｂの立ち上がりおよび立ち下がりのエッジをそれぞれ微分することで、４逓倍されたパルスＰ−Ｎ（以降、これを単に位置パルスと称する）が得られるようにしている。
【０００８】
【発明が解決しようとする課題】
上記のエンコーダにおいては、従来、次の２つの問題点がある。
【０００９】
問題点１
上記のエンコーダにおいて、Ａ相とＢ相の両パルスＰ−Ａ，Ｐ−Ｂの位相差が正確に９０°（１／４ピッチ）に設定されておれば、位置パルスＰ−Ｎのパルス数Ｎは検出対象物の移動量（回転量）に比例する。
【００１０】
しかし、エンコーダを実装する際には、その位相差を正確に９０°に設定するのが困難で、通常、位相誤差が含まれる。このため、Ａ相パルスＰ−ＡとＢ相パルスＰ−Ｂの位相差は、９０°±４５°の範囲になっている。このような位相誤差を生じる原因には、エンコーダ製作時の許容誤差、エンコーダの取り付け精度、エンコーダからの出力パルスを処理する信号処理回路の誤差等が挙げられる。
【００１１】
いま、図１１に示すように、Ａ相とＢ相の両パルスＰ−Ａ，Ｐ−Ｂの位相差が正確に９０°（１／４ピッチ）に設定されているとした場合、これを４逓倍して得られる理想の位置パルスＰ−Ｎのパルス間隔は、図中の破線で示すようになり、また、Ａ相とＢ相の両パルスＰ−Ａ，Ｐ−Ｂに位相誤差が生じている場合、これを４逓倍して得られる位置パルスＰ−Ｎのパルス間隔は、図中の実線で示すようになる。
【００１２】
ここで、位相誤差のない理想の位置パルスＰ−Ｎの各間隔に対応する検出対象物の移動量をｐとし、また、位相誤差がある場合の位置パルスＰ−Ｎの各間隔に対応する検出対象物の移動量をｐ０，ｐ１，ｐ２，ｐ３としたとき、各移動量ｐ０，ｐ１，ｐ２，ｐ３は、次式の関係になる。
【００１３】
0003596942.tif 000002
ここに、δ０，δ１，δ２，δ３は、理想の位置パルス（破線）からの実際の位置パルス（実線）のずれに対応する検出対象物の移動量の偏位であり、これらの各偏位δ０〜δ３は、位置パルスＰ−Ｎの４パルス（Ａ相パルスまたはＢ相パルスの１周期に相当）ごとに周期性をもって定まる。
【００１４】
このように、エンコーダに位相誤差が生じている場合において、検出対象物の速度Ｖを（ａ）式に基づいて検出しようとすると、検出対象物の移動量とパルス数Ｎとが比例しないために、検出速度に誤差を生じることになる。
【００１５】
これを図１２に基づいてさらに詳しく説明する。
【００１６】
いま、サンプリング期間Ｔ中にＮ個の位置パルスＰ−Ｎの入力があった場合の検出対象物の移動量をＬ、各々の位置パルスＰ−Ｎの間隔に対応する検出対象物の移動量をｐｉ，ｐｉ＋１，…，ｐｉ＋Ｎ−１としたとき、Ｌは、
Ｌ＝ｐｉ＋ｐｉ＋１＋……＋ｐｉ＋Ｎ−１                        （ｃ）
で与えられる。
【００１７】
ここで、各々の位置パルスＰ−Ｎごとに生じる偏位δｉ〜δｉ＋Ｎは、中間の偏位δｉ＋１〜δｉ＋Ｎ−１は相殺されて、最初と最後の偏位δｉ，δｉ＋Ｎの項のみが残る。したがって、（ｃ）式は、次のようになる。
【００１８】
Ｌ＝ｐ・Ｎ＋（δｉ＋Ｎ−δｉ）                            （ｄ）
したがって、エンコーダの位相誤差を考慮した場合の検出対象物の速度Ｖは、
0003596942.tif 000003
つまり、エンコーダに位相誤差が生じているときには、本来、検出対象物の速度Ｖを（ｅ）式に基づいて算出すべきであるのに、従来技術では、（ａ）式に基づいて速度Ｖを算出しているから、（δｉ＋Ｎ−δｉ）／（ｐ・Ｎ）の誤差を含むことになる。
【００１９】
前述のように、各偏位δｉ〜δｉ＋Ｎは、位置パルスＰ−Ｎの４パルスごとに周期性をもつから、パルス数Ｎが４の倍数である場合には、δｉ＋Ｎ＝δｉとなり、誤差（δｉ＋Ｎ−δｉ）／（ｐ・Ｎ）は零となる（たとえば、（ｂ）式参照）。
【００２０】
しかし、パルス数Ｎが４の倍数以外の場合には、誤差の発生が避けられない。特に、検出対象物の速度が低くなってサンプリング期間Ｔ内に到来するパルス数Ｎが小さくなると、（ｅ）式の関係からも分かるように誤差の影響が大きくなる。たとえば、Ｎ＝１の場合には、最大±５０％の誤差に達する。
【００２１】
この問題点１に対処するため、特開平２−２０１２６９号公報に開示された従来技術では、パルス数Ｎが４の倍数の場合に速度誤差が零になる点に着目し、４パルスおきにデータをサンプリングして（ａ）式に基づいて速度検出を行うようにしている。
【００２２】
しかしながら、この従来技術では、パルス数Ｎが４の倍数以外の場合には検出対象物の速度を検出することができないので、検出対象物の速度がその途中で変動した場合でもそれを知ることができない。さらに、検出対象物の速度が低くなってＮ≦３となった場合には、速度を全く検出することができない。
【００２３】
また、特開平４−６９０７９号公報に開示された従来技術では、検出対象物の速度の高低、したがって入力されるパルス数の大小に応じてパルスカウント法と周期カウント法の２つの方法を切り替えるようにし、特に、パルス数が少ない場合には、補正値を用いてパルス周期を補正して速度を検出するようにしている。
【００２４】
しかし、この従来技術のように、入力されるパルス数の大小に応じてパルスカウント法と周期カウント法とを切り替えてデータ処理を行う場合には、データ処理の回路が２系統必要となり、回路構成が複雑化する。しかも、いずれの時点で方法を切り替えるべきかの基準を設定するのが困難である。
【００２５】
問題点２
前回と今回の各サンプリング時点で得られたカウンタのカウント値をそれぞれＮｉ，Ｎｊ、サンプリング期間をＴとしたとき、サンプリング期間Ｔ中に到来するパルス数Ｎは、両カウント値Ｎｉ，Ｎｊの差、すなわち、
Ｎ＝Ｎｊ−Ｎｉ
により得ることができる。
【００２６】
しかし、前回のサンプリング時点と今回のサンプリング時点との間に検出対象物の移動（回転）方向が反転した場合には、±１パルス分に相当する移動量の誤差を生じる。
【００２７】
これを図１３に基づいてさらに詳しく説明する。
【００２８】
いま、カウンタがリセットされた状態から検出対象物が正転されて順次位置パルスＰ−Ｎが発生された場合、カウンタのカウント値は、１→２→３→…と次第に増大する。そして、カウント値がＮ＋２に達した直後に検出対象物の回転方向が反転したとする。このとき、エンコーダにおいては、カウント値Ｎ＋２を発生させたのと同じスリットによってカウンタが１つカウントダウンされるためにカウント値はＮ＋１となり、引き続いて、反転が継続すると、カウント値は、Ｎ→Ｎ−１と変化する。そして、Ｎ−１の時点でサンプリング期間が経過して計測が終了したとすれば、検出対象物の移動量（回転量）は本来ｐ・Ｎであるのに、カウンタのカウント値はＮ−１となっているから、このカウント値Ｎ−１に基づいて算出される移動量Ｌは、ｐ・（Ｎ−１）となる。つまり、検出対象物の回転がサンプリングの途中で反転することでｐ×１パルス分の移動量の誤差が生じる。
【００２９】
この現象は、Ａ相パルスＰ−ＡとＢ相パルスＰ−Ｂに位相誤差が生じている場合だけでなく、両パルスＰ−Ａ，Ｐ−Ｂの位相差が正確に９０°に設定されていて位相誤差のない場合においても起こり得る問題である。
【００３０】
本発明は、上記の問題点１，２を解決するためになされたもので、エンコーダの出力に位相誤差が含まれていたとしても、この位相誤差の影響を有効に排除し、また、移動方向が途中で反転した場合の悪影響も除いて、検出対象物の速度が低速から高速の全範囲にわたって精度良くかつ短時間の内に検出できるようにすることを課題とする。
【００３１】
【課題を解決するための手段】
上記の課題を解決するための本発明の原理について説明する。
【００３２】
図１において、いま、位相誤差がある場合に得られる位置パルスＰ−Ｎ（図中、実線で示す）に対して、ｉ，ｉ＋１，…，ｊ，ｊ＋１というように順次符号を付し、また、位相誤差のない理想的な位置パルスＰ−Ｎ（図中、破線で示す）に対して、ｉ０，ｉ０＋１，…，ｊ０，ｊ０＋１というように順次符号を付すものとする。
【００３３】
このとき、検出対象物が正方向に移動（正転）する場合には、位置パルスＰ−Ｎが番号でｉ→ｉ＋１→…→ｊ→ｊ＋１というように順次入力されるのに伴ってカウンタのカウント値は、Ｎｉ→Ｎｉ＋１→…→Ｎｊ→Ｎｊ＋１というように次第に増加する。また、検出対象物が負方法に移動（逆転）する場合には、位置パルスＰ−Ｎが番号でｊ＋１→ｊ→…→ｉ＋１→ｉというように順次入力されるのに伴ってカウンタのカウント値は、Ｎｊ＋１→Ｎｊ→…→Ｎｉ＋１→Ｎｉというように、次第に減少する。
【００３４】
ここで、カウンタのカウント値がたとえばＮｉを継続して示すのは、位置パルスＰ−Ｎの番号ｉからｉ＋１までの区間である。そして、検出対象物が正方向に移動（正転）している場合に、カウント値がＮｉ−１からＮｉに変化するのは、番号ｉに対応する位置パルスＰ−Ｎの入力時点である。一方、検出対象物が負方向に移動（逆転）している場合に、カウント値がＮｉ＋１からＮｉに変化するのは、番号ｉ＋１に対応する位置パルスＰ−Ｎの入力時点である。つまり、カウント値が同じＮｉを示しても、その変化時点は検出対象物の移動方向の正負によって異なるタイミングとなる。
【００３５】
したがって、番号ｉ０，ｉ０＋１，…，ｊ０，ｊ０＋１で示す理想的な位置パルスの各１ピッチあたりの検出対象物の移動量をｐ、番号ｉ，ｉ＋１，…，ｊ，ｊ＋１で示す位相誤差のある場合の位置パルスＰ−Ｎとの各偏位をそれぞれδｉ，δｉ＋１，…，δｊ，δｊ＋１としたとき、番号ｉ０の位置パルスＰ−Ｎの入力時点を基準として、この時点からカウント値がＮｉになった時点までの偏位Δｉは、次式で与えられる。
【００３６】
0003596942.tif 000004
同様に、ｊ０の位置パルスの入力時点を基準として、この時点からカウント値がＮｊになった時点までの偏位Δｊは、次式で与えられる。
【００３７】
0003596942.tif 000005
上記の各偏位δｉ，δｉ＋１，…δｊ，δｊ＋１は、従来技術において説明したように、位置パルスＰ−Ｎの４パルスごとに周期性をもって定まるものである。したがって、図１において、今回のサンプリング時点で得られたカウンタのカウント値をＮｊ、前回のサンプリング時点で得られたカウント値をＮｉとすれば、検出対象物の移動量Ｌは、前述の（ｄ）式を求めたのと同様にして、次式で与えられる。
【００３８】
Ｌ＝ｐ・（Ｎｊ−Ｎｉ）＋（Δｊ−Δｉ）      （３）
（３）式において、右辺の第1項ｐ・（Ｎｊ−Ｎｉ）は位相誤差がない場合の検出対象物の移動量であり、第２項（Δｊ−Δｉ）は検出対象物の移動方向を考慮した位相誤差の補正量に相当し、所謂、本発明の移動量補正値である。そして、この補正値（Δｊ−Δｉ）は、（１）、（２）式の関係からも分かるように、検出対象物の移動方向（回転方向）によって異なる値をとる。
【００３９】
たとえば、図２に示すように、前回と今回のサンプリング時点でいずれも検出対象物が正方向に移動しておれば、Δｊ−Δｉ＝δｊ−δｉとなる。また、前回のサンプリング時点で正方向、今回のサンプリング時点で逆方向に移動しておれば、Δｊ−Δｉ＝（ｐ＋δｊ＋１）−δｉとなる。
【００４０】
ここで、ある一つの関数αを、次式のように定義する。
【００４１】
α（Ｎ，ＵＤ）＝Δ／ｐ                                        （４）
ただし、ＮとΔは、あるサンプリング時点で決まるカウント値および偏差、ＵＤは、そのサンプリング時点で得られる検出対象物の移動方向（正負）の情報である。
【００４２】
この（４）式で与えられる関数αを用いると、（３）式を次のように表現することができる。
【００４３】
Ｌ＝ｐ・［（Ｎｊ−Ｎｉ）＋｛α（Ｎｊ，ＵＤｊ）−α（Ｎｉ，ＵＤｉ）｝］      （５）
（５）式の右辺第２項の｛｝内のα（Ｎｊ，ＵＤｊ）とα（Ｎｉ，ＵＤｉ）とは、共に移動方向を考慮した位相誤差の補正値であり、これらの補正値α（Ｎｊ，ＵＤｊ），α（Ｎｉ，ＵＤｉ）を具体的に求めることができれば、エンコーダに位相誤差が生じているときでも、検出対象物の移動方向を考慮した速度Ｖを精度良く求めることができる。
【００４４】
すなわち、両カウント値Ｎｉ，Ｎｊが得られる時間間隔をＴとすれば、検出対象物の速度Ｖは、
0003596942.tif 000006
となる。
【００４５】
そこで、次に、上記の補正値α（Ｎｊ，ＵＤｊ），α（Ｎｉ，ＵＤｉ）の決定の仕方について説明する。なお、以降、表記を簡略化する上で、α（Ｎｊ，ＵＤｊ）はαｊ、α（Ｎｉ，ＵＤｉ）はαｉというように記載する。
【００４６】
図１１に示したように、いま、位置パルスＰ−Ｎの４パルス分（Ａ相パルスまたはＢ相パルスの１周期分）に着目すると、理想的な位置パルスＰ−Ｎとの偏位δ０〜δ３はＡ相パルスとＢ相パルスの各変化点ｘ０〜ｘ３ごとに決まる固有の値をとり、かつ、４パルスごとに周期性をもって定まる。
【００４７】
そこで、図３に示すように、Ａ相パルスとＢ相パルスの各変化点ｘ０〜ｘ３に挟まれた各々の区間ｘ０〜ｘ１，ｘ１〜ｘ２，ｘ２〜ｘ３，ｘ３〜ｘ０について、それぞれ“０”〜“３”までの番号を付け、また、
α０＝δ０／ｐ，α１＝δ１／ｐ、α２＝δ２／ｐ，α３＝δ３／ｐ          （７）
とすれば、各変化点ｘ０〜ｘ３ごとに必要な補正値は、（１），（２）式および（４）式の関係からも分かるように、図４に示す対応関係となる。
【００４８】
たとえば、区間が“０”のときで、検出対象物が正方向に移動するときには補正値としてα０を、負方向に移動するときには補正値としてα１＋１を用いればよいことが分かる。
【００４９】
このように、図４の関係を用いれば、必要な補正値を決定することができるが、そのためには、検出対象物の移動方向と、区間“０”〜”３”とを共に特定する必要がある。つまり、検出対象物の移動方向、および今回と前回の各サンプリング時刻で得られる各カウント値Ｎｊ，Ｎｉがいずれの区間“０〜３”で得られたものであるかを特定することができれば、図４の関係から必要な補正値が決まるので、速度Ｖを求めることができる。
【００５０】
次に、検出対象物の移動方向と、各区間“０”〜“３”を特定するための手法について説明する。
【００５１】
検出対象物が正方向（正転）と負方向（逆転）のいずれに移動しているかを知るには、エンコーダから出力されるＡ相パルスＰ−Ａに対するＢ相パルスＰ−Ｂの位相が進んでいるか、あるいは遅れているかを論理演算を用いて調べることで判別することができる。
【００５２】
また、区間“０”〜“３”を特定するためには、たとえば、図４に示すように、カウンタのカウント値の下位２ビットの値ｎ１，ｎ０に着目したとき、“ｎ１，ｎ０”が区間“０”の箇所では“０，０”、区間“１”の箇所では“０，１”、区間“２”の箇所では“１，０”、区間“３”の箇所では“１，１”となるような手段を設ければ、各区間“０”〜“３”を容易に特定することができる。
【００５３】
次に、図４に示した補正値α０〜α３の具体的な数値の決定の仕方について説明する。
【００５４】
図５に示すように、Ａ相パルスＰ−ＡまたはＢ相パルスＰ−Ｂの１周期分に相当する数の位置パルスＰ−Ｎが得られるように、検出対象物を一定の低速でかつ一方向（ここでは正方向とする）に移動させる。その場合、位置パルスＰ−Ｎのパルス間隔は、検出対象物の移動量に比例したものとなる。また、補正値α０〜α３は、（７）式からも分かるように、位相誤差のない理想的な位置パルスＰ−Ｎに基づく検出対象物の移動量ｐを基準として決まるものである。さらに、各変化点ｘ０〜ｘ３は、検出対象物の絶対的な位置を示すものではなく、相対的な位置を示すものである。したがって、最初の変化点ｘ０に対応する補正値α０を基準点とみなせば、α０＝０と考えてよい。
【００５５】
よって、α１，α２，α３の各補正値は、
0003596942.tif 000007
となる。
【００５６】
つまり、一般式として、αｉ（ｉ＝０〜３）は、次式で与えられる。
【００５７】
0003596942.tif 000008
そして、この（８）式に基づいて補正値α０〜α３の具体的な数値を決定してから、図４に示すテーブルを作成して、これを初期データとして予めメモリ等に登録しておけば、これらのデータを速度を演算する上での補正データとして利用することができる。
【００５８】
本発明は、上述の原理に基づいてなされたもので、次の構成を採用した。
【００５９】
すなわち、本発明の速度検出装置は、検出対象物の移動量と移動方向に応じた個数と位相とを有する２相のパルスを出力するパルス出力手段と、前記２相のパルスを入力して検出対象物の位置を検出する位置検出手段と、前記２相のパルスを入力して検出対象物の移動方向を判別する方向判別手段と、今回サンプリングした検出対象物の位置の変化が発生した時刻と前回サンプリングした検出対象物の位置の変化が発生した時刻とから両時刻の時間間隔を計測する時間間隔計測手段と、前回のサンプリング時点において前記方向判別手段と位置検出手段でそれぞれ検出された移動方向と位置の両情報、および位置の情報を補正するための位置補正値をそれぞれ記憶する記憶手段と、今回のサンプリング時点において前記方向判別手段と位置検出手段でそれぞれ検出された移動方向と位置の両情報、および時間間隔計測手段で計測された時間間隔の情報、ならびに前記記憶手段に記憶されている前回のサンプリング時点において得られた移動方向と位置の両情報、および位置補正値の情報に基づいて検出対象物に関する速度を演算する演算手段とを備える。
【００６０】
【作用】
上記構成において、演算手段は、時間間隔内の検出対象物の移動量に基づいて速度を算出するときに、検出対象物の移動量を補正値で補正し、補正された移動量に基づいて２相パルスの位相誤差を排除した速度を検出する。
【００６１】
このため、エンコーダの出力に位相誤差が含まれていたとしても、この位相誤差の影響を有効に排除することができる。しかも、移動方向が途中で反転した場合の悪影響も除くことができるので、検出対象物の速度が低速から高速の全範囲にわたって精度良くかつ短時間の内に検出できるようになる。
【００６２】
【実施例】
図６は、本発明の実施例に係る速度検出装置の構成を示すブロック図、図７は同装置の動作説明に供するタイミングチャートである。
【００６３】
図６において、符号１は速度検出装置の全体を示し、２はパルス出力手段、４は位置検出手段、６は方向判別手段、８は時間間隔計測手段、１０は記憶手段、１２は演算手段である。
【００６４】
パルス出力手段２は、図示しないサーボモータなどの検出対象物に取り付けられて、検出対象物の移動量と移動方向に応じた個数と位相とを有する２相のパルスを出力するものであり、本例では、互いに９０°の位相差を有するＡ相とＢ相の両パルスＰ−Ａ，Ｐ−Ｂを出力するエンコーダで構成される。
【００６５】
位置検出手段４は、エンコーダ２からのＡ相，Ｂ相の両パルスＰ−Ａ，Ｐ−Ｂを入力して検出対象物の位置を検出するものであって、本例では、逓倍回路４ａとカウンタ４ｂとからなる。
【００６６】
上記の逓倍回路４ａは、Ａ相，Ｂ相の両パルスＰ−Ａ，Ｐ−Ｂを微分して４逓倍された位置パルスＰ−Ｎ、および、Ａ相，Ｂ相の両パルスＰ−Ａ，Ｐ−Ｂの１周期内の原点位置（本例では区間０の開始点）を示す原点パルスＰ−Ｚを、次の論理演算式に基づいて作成して出力する。
【００６７】
Ｐ−Ｎ＝Ｐ−Ａ↑＋Ｐ−Ａ↓＋Ｐ−Ｂ↑＋Ｐ−Ｂ↓
Ｐ−Ｚ＝（Ｐ−Ａ）・Ｐ−Ｂ↓＋Ｐ−Ａ↓・（Ｐ−Ｂ）
（９）
ここに、符号↑はパルスの立ち上がり、↓はパルスの下がりエッジの各タイミングを、また、括弧（）はローレベルを意味する。
【００６８】
また、カウンタ４ｂは、本例では、２進のアップ／ダウンカウンタで構成され、逓倍回路４ａで得られる位置パルスＰ−Ｎをクロックとして入力し、方向判別手段６からの方向判別結果に基づいてアップカウントあるいはダウンカウントするとともに、逓倍回路４ａからの原点パルスＰ−Ｚを下位２ビットｎ０，ｎ１のみの出力データをリセットするパルスとして入力するようになっている。
【００６９】
すなわち、原点パルスＰ−Ｚが入力されるたびに、カウンタ４ｂのカウント値の下位２ビットｎ０，ｎ１は必ずリセットされるため、原点パルスＰ−Ｚの入力時点と区間０の開始点の位置とが常に同期し、したがって、図４に示すように、カウンタ４ｂの下位２ビットｎ０，ｎ１の内容によって、各区間０〜３を特定できることになる。つまり、カウンタ４ｂは、位置の情報をもつことになる。
【００７０】
方向判別手段６は、Ａ相，Ｂ相の各パルスＰ−Ａ，Ｐ−Ｂを入力して検出対象物の移動方向を判別するものであって、論理回路６ａとＲＳフリップフロップ６ｂとからなる。
【００７１】
論理回路６ａは、Ａ相パルスＰ−Ａに対するＢ相パルスＰ−Ｂの位相が進んでいるか、あるいは遅れているかを判別し、Ｂ相パルスＰ−Ｂの位相が遅れているときにはアップパルスＰ−ＵＰを、また、これとは逆のときにはダウンパルスＰ−ＤＯＷＮをそれぞれ出力するものである。すなわち、各パルスＰ−ＵＰ，Ｐ−ＤＯＷＮは、次の論理演算式に基づいて発生される。
【００７２】
0003596942.tif 000009
ＲＳフリップフロップ６ｂは、論理回路６ａからのアップパルスＰ−ＵＰをセットパルスとして、ダウンパルスＰ−ＤＯＷＮをリセットパルスとしてそれぞれ入力し、アップパルスＰ−ＵＰが入力されるときには検出対象物が正方向に移動（正転）していると判断してハイレベル、ダウンパルスＰ−ＤＯＷＮが入力されるときには負方向に移動（逆転）していると判断してローレベルの判別信号をそれぞれ出力する。
【００７３】
時間間隔計測手段８は、今回サンプリングした検出対象物の位置の変化が発生した時刻と、前回サンプリングした検出対象物の位置の変化が発生した時刻とから両時刻の時間間隔Ｔを計測するものであり、本例では、発振器８ａ、時刻カウンタ８ｂ、時刻レジスタ８ｃ、および後述のＣＰＵ１２で構成される。
【００７４】
発振器８ａは、計時用の一定の基準パルスを発生するものである。また、時刻カウンタ８ｂは、発振器８ａからの基準パルスを順次カウントするもので、そのカウント値は時刻情報をもつことになる。
【００７５】
時刻レジスタ８ｃは、逓倍回路４ａからの位置パルスＰ−Ｎが入力されるたびに、時刻カウンタ８ｂからのカウント値をラッチするものであり、したがって、各々の位置パルスが入力された時点の各時刻の情報を発生する。
【００７６】
したがって、ＣＰＵ１２においては、前回のサンプリング時点で得られた時刻レジスタ８ｂの値と、今回のサンプリング時点で得られた時刻レジスタ８ｂの値との差から時間間隔Ｔを求める。
【００７７】
記憶手段１０は、位置検出手段４と方向判別手段６とでそれぞれ検出される位置と移動方向の各情報、ならびにサンプリング時刻における時刻レジスタ８ｃの内容をそれぞれ記憶するとともに、位置の情報を補正するための各位置補正値（図４に示したテーブル）を記憶するものであって、本例ではＩＣメモリで構成される。なお、図４に示したテーブルは、前述のように、予め（８）式に基づいて補正値α０〜α３の具体的な数値を決定することにより作成される。
【００７８】
演算手段１２は、今回のサンプリング時点において位置検出手段、方向判別手段、時間間隔検出手段でそれぞれ検出された検出対象物の移動方向、位置、および時刻の各情報、ならびにＩＣメモリ１０に格納されている前回のサンプリング時点の時刻、その時刻における検出対象物の移動方向、位置の各情報、ならびに位置補正値の情報に基づいて検出対象物に関する速度を前述の（６）式に基づいて演算するもので、本例ではマイクロコンピュータで構成される。なお、マイクロコンピュータは、上記の各手段４〜１０の構成の全部または一部を含んだものであてもよい。
【００７９】
次に、上記構成の速度検出装置により検出対象物の速度を検出する場合の動作について、図７に示すタイミングチャートを参照して説明する。
【００８０】
エンコーダ２からは、検出対象物の移動量と移動方向に応じてＡ相パルスＰ−ＡとＢ相パルスＰ−Ｂが出力される。この場合、両パルスＰ−Ａ，Ｐ−Ｂには位相誤差が含まれているものとする。
【００８１】
方向判別手段６は、Ａ相，Ｂ相の各パルスＰ−Ａ，Ｐ−Ｂを入力して検出対象物の移動方向を判別する。
【００８２】
すなわち、論理回路６ａは、Ａ相パルスＰ−Ａに対して、Ｂ相パルスＰ−Ｂの位相が遅れているときにはアップパルスＰ−ＵＰを、また、これとは逆のときにはダウンパルスＰ−ＤＯＷＮをそれぞれ（１０）に基づいて発生して出力する
ＲＳフリップフロップ６ｂは、論理回路６ａからのアップパルスＰ−ＵＰが入力されるときには検出対象物が正方向に移動（正転）していると判断してハイレベルの判別信号を、ダウンパルスＰ−ＤＯＷＮが入力されるときには負方向に移動（逆転）していると判断してローレベルの判別信号をそれぞれ出力する。そして、この判別信号が位置検出手段４のカウンタ４ｂに与えられるとともに、演算手段１２に取り込まれる。
【００８３】
位置検出手段４は、エンコーダ２からのＡ相，Ｂ相の両パルスＰ−Ａ，Ｐ−Ｂを入力して検出対象物の位置の情報を出力する。
【００８４】
すなわち、逓倍回路４ａは、Ａ相，Ｂ相の両パルスＰ−Ａ，Ｐ−Ｂを微分して４逓倍された位置パルスＰ−Ｎ、および、Ａ相，Ｂ相の両パルスＰ−Ａ，Ｐ−Ｂの１周期内の原点位置（区間０の開始点）を示す原点パルスＰ−Ｚを（９）式に基づいて作成して出力する。
【００８５】
カウンタ４ｂは、逓倍回路４ａで得られる位置パルスＰ−Ｎをクロックとして入力し、方向判別手段６からの方向判別結果に基づいてアップカウントあるいはダウンカウントするとともに、逓倍回路４ａからの原点パルスＰ−Ｚを下位２ビットｎ０，ｎ１のみの出力データをリセットするパルスとして入力する。これにより、原点パルスＰ−Ｚの入力時点と区間０の開始点の位置とが常に一致するため、カウンタ４ｂのカウント値が位置の情報として演算手段１２に取り込まれる。
【００８６】
一方、発振器８ａから発生される計時用の基準パルスは、時刻カウンタ８ｂによって順次カウントされ、そのカウント値が時刻情報として時刻レジスタ８ｃに出力される。時刻レジスタ８ｃは、逓倍回路４ａからの位置パルスＰ−Ｎが入力されるたびに、時刻カウンタ８ｂからのカウント値をラッチする。したがって、時刻レジスタ８ｃからは、各々の位置パルスが入力された時点の各時刻の情報が発生される。
【００８７】
演算手段１２は、所定のサンプリング時刻が到来するたびに、位置検出手段４、方向判別手段６および時刻レジスタ８ｃからの各情報を取り込んで、これらの情報をＩＣメモリ１０に格納する。
【００８８】
さらに、演算手段１２は、今回のサンプリング時刻が到来したときに位置検出手段４、方向判別手段６および時刻レジスタ８ｃから取り込んだ各情報と、ＩＣメモリ１０に既に格納されている前回のサンプリング時刻により得られた位置、方向、時刻の各情報、ならびに図４のテーブルとから、（６）式に基づいて検出対象物の速度を算出し、その算出結果を出力する。
【００８９】
このように、この実施例の速度検出装置は、エンコーダ２に含まれる位相誤差と検出対象物の移動方向の反転を考慮して、速度Ｖを求めるので、エンコーダ２の位相誤差や反転の影響を有効に排除することができ、低速から高速の全範囲にわたって精度良くかつ短時間の内に速度を検出することができる。
【００９０】
【変形例】
位置検出手段の変形例
図６に示した位置検出手段４に代えて、図８に示す構成の位置検出手段４’を設けることもできる。
【００９１】
すなわち、この位置検出手段４’は、逓倍回路４ａ’、カウンタ４ｂ’、および組合回路４ｃ’からなる。
【００９２】
逓倍回路４ａ’は、Ａ相，Ｂ相の両パルスＰ−Ａ，Ｐ−Ｂを微分して４逓倍された位置パルスＰ−Ｎを前記（９）式に基づいて出力するとともに、Ａ相パルスＰ−ＡまたはＢ相パルスＰ−Ｂの１周期（本例では区間３→０または区間０→３の変化時点）を示す周期パルスＰ−Ｎ’を、次の論理演算式に基づいて作成して出力する。
【００９３】
0003596942.tif 000010
ここに、符号↑はパルスの立ち上がり、↓はパルスの下がりエッジの各タイミングを、また、括弧（）はローレベルを意味する。
【００９４】
また、カウンタ４ｂ’は、２進のアップ／ダウンカウンタで構成され、逓倍回路４ａ’で得られる周期パルスＰ−Ｎ’をクロックとして入力し、方向判別手段６からの方向判別結果に基づいてアップカウントあるいはダウンカウントするものであって、上記の実施例のカウンタ４ｂの下位２ビットｎ０，ｎ１を除いた上位ビットｎ２〜の出力が得られるようになっている。
【００９５】
また、組合回路４ｃ’は、Ａ相とＢ相の両パルスＰ−Ａ，Ｐ−Ｂを入力し、これらのパルスＰ−Ａ，Ｐ−Ｂに基づいて２ビットからなる１周期内の位置の情報ｎ０，ｎ１を、図９に示す条件に基づいて作成して出力する。
【００９６】
この変形例の場合にも、位置検出手段４’の出力をマイクロコンピュータ１２に取り込んだ後、その下位２ビットｎ０，ｎ１の値によって区間０〜３を特定できるから、方向判別手段６からの方向の情報と併せれば、図４のテーブルの各補正値を利用することが可能となる。
【００９７】
その他の変形例
本発明は、Ａ相パルスＰ−ＡとＢ相パルスのＰ−Ｂの１周期内での位相誤差を補正するだけでなく、エンコーダにおける１回転を周期とした位相誤差に対しても有効である。
【００９８】
すなわち、エンコーダの場合、１回転内の位置の情報は、１回転ごとに１回発生する。エンコーダの回転軸の機械的な原点位置を表すために発生されるＺ相パルスによって、その時のカウンタ４ａ，４ａ’の値を基準に現在の位置を知ることができる。したがって、１回転内の変化点の補正値αｉ（ｉはエンコーダのＺ相パルスからのパルス数）を、（８）式の関係を求めたのと同様の手法によって予め算出しておき、（６）式に基づいて速度Ｖを得ることも可能である。
【００９９】
さらに、本発明は、１相のエンコーダやアブソリュート型のロータリエンコーダに対しても有効である。すなわち、１相のエンコーダの場合は、方向判別はできないので、方向反転に起因した誤差は除けないものの、この場合でも正方向の回転のみが生じるものとみなして（１），（２）式を適用し、（４）式の関数を定めればよい。
【０１００】
アブソリュート型のロータリエンコーダの場合は、出力データから一意的に現在の位置を知ることができる。また、出力データとしてはグレイコードが使用されることが多いが、この場合は、最下位ビットの変化を時間間隔計測手段８のタイミング信号とし、方向および位置の変化量はグレイコードをストレートコードに変換した後の差分をとることにより求めればよい。
【０１０１】
【発明の効果】
本発明によれば、次の効果を奏する。
【０１０２】
（１）  エンコーダの出力に位相誤差が含まれていたとしても、この位相誤差の影響を有効に排除することができる。しかも、移動方向が途中で反転した場合の悪影響も除くことができる。
【０１０３】
このため、検出対象物の速度が低速から高速の全範囲にわたって精度良くかつ短時間の内に検出できるようになる。
【図面の簡単な説明】
【図１】本発明の原理を説明するために供する図である。
【図２】検出対象物の移動方向によって位相誤差の偏差を補正するための適正な補正値を選択する場合の説明図である。
【図３】位置パルスの各変化点ｘ０〜ｘ３と、それらの各変化点ｘ０〜ｘ３ごとに必要な補正値との関係を示す説明図である。
【図４】エンコーダに位相誤差がある場合に、速度を演算する上で利用する補正値のデータテーブルである。
【図５】図４の補正値を具体的に決定する場合の説明図である。
【図６】本発明の実施例に係る速度検出装置の全体構成を示すブロック図である。
【図７】同装置の動作説明に供するタイミングチャートである。
【図８】本発明の速度検出装置において、位置検出手段の変形例を示すブロック図である。
【図９】図８の位置検出手段による位置検出情報の説明図である。
【図１０】パルスカウント法によって速度を求める場合の説明図である。
【図１１】エンコーダの出力に位相誤差が含まれている場合の各パルス間隔および偏差の関係を示すタイミングチャートである。
【図１２】エンコーダの出力に位相誤差が含まれている場合に、検出される速度に誤差を生じることを説明するための図である。
【図１３】検出対象物の移動方向が途中で逆転する場合に、検出される速度に誤差を生じることを説明するための図である。
【符号の説明】
１…速度検出装置、２…パルス発生手段（エンコーダ）、４…位置検出手段、４ａ…逓倍回路、４ｂ…カウンタ、６…方向判別手段、６ａ…論理回路、６ｂ…ＲＳフリップフロップ、８…時間間隔計測手段、８ａ…発振器、８ｂ…時刻カウンタ、８ｃ…時刻レジスタ、１０…記憶手段（ＩＣメモリ）、１２…演算手段（マイクロコンピュータ）。
【図１】
0003596942.tif 000011
【図２】
0003596942.tif 000012
【図３】
0003596942.tif 000013
【図４】
0003596942.tif 000014
【図５】
0003596942.tif 000015
【図６】
0003596942.tif 000016
【図７】
0003596942.tif 000017
【図８】
0003596942.tif 000018
【図９】
0003596942.tif 000019
【図１０】
0003596942.tif 000020
【図１１】
0003596942.tif 000021
【図１２】
0003596942.tif 000022
【図１３】
0003596942.tif 000023