(57)【要約】【課題】  ロータリエンコーダの回転方向と変化量を簡素化した構成で検出することができるロータリエンコーダ検出装置を得る。【解決手段】  二相パルスカウンタ部を用いロータリエンコーダ部からの二相パルスに基づいて操作ツマミ部の正転または逆転操作の変化量に対応したカウント値を取得し、定周期に起動されるカウンタ変化検出処理部により、今回サンプリングした二相パルスカウンタ部のカウント値と保存しておいた前回サンプリングした値を比較し、両カウント値が等しくない場合には操作ツマミ部の操作が有ると判定して今回のカウント値から前回の値を減算した結果を引数として出力し、回転方向・変化量解析処理部により、引数の正負の符号に基づいて操作ツマミ部の回転方向を検出すると共に、引数の絶対値から操作ツマミ部の変化量を検出する。【選択図】        図１
2005164329.tif 000002
【特許請求の範囲】
【請求項１】
正転および逆転操作を行うことによりロータリエンコーダを回転させる操作ツマミ部と、
操作ツマミ部の操作変化量を入力としてロータリエンコーダの回転を表す所定の位相差を持ったＡ相およびＢ相の二相パルスを出力するロータリエンコーダ部と、
出力された二相パルスに基づいて前記操作ツマミ部の正転または逆転操作の変化量に対応したカウント値を得る二相パルスカウンタ部と、
この二相パルスカウンタ部のカウント値に基づいて前記操作ツマミ部による入力状態を検出する制御部とを備え、
前記制御部は、
定周期に起動され、今回サンプリングした前記二相パルスカウンタ部のカウント値と保存しておいた前回サンプリングしたカウント値を比較し、両カウント値が等しい場合には前記操作ツマミ部の操作が無いと判定し、一方、前記両カウント値が等しくない場合には前記操作ツマミ部の操作が有ると判定して今回サンプリングしたカウント値から前回サンプリングしたカウント値を減算した結果を引数として出力するカウンタ変化検出処理部と、
前記引数の正負の符号に基づいて前記操作ツマミ部の回転方向を検出すると共に、前記引数の絶対値から前記操作ツマミ部の変化量を検出する回転方向・変化量解析処理部とを有するロータリエンコーダ検出装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ロータリエンコーダを用いた入力装置において、操作の有無、回転方向および変化量を検出するロータリエンコーダ検出装置に関するものである。
【背景技術】
【０００２】
ロータリエンコーダは、回転方向の機械的変位量（アナログ量）を電気的なパルス（デジタル量）に変換する検出器であるが、機械装置の位置、角度、速度などの測定やモータの回転速度、回転量の制御を行うために使用されている。近年はロボットや情報機器の位置決めサーボ系に使用されるなど、その用途が広がりつつある。その中で、無線機の選局装置においてロータリエンコーダの回転パルスを利用して送受信周波数を設定する技術がある（例えば、特許文献１参照）。
【０００３】
この特許文献１の技術では、操作ツマミにより正転および逆転操作、およびロータリエンコーダの回転速度が与えられ、ロータリエンコーダ部からは操作に対応した回転パルスが出力されるようになっている。回転パルスは、それぞれ独立した右回転パルス計数部と左回転パルス計数部で計数される。その計数値の大小は、参照値を基に数値比較部で判定され、その大小に応じた係数を係数発生部から得る。この係数、上記回転パルス計数部の計数値および周波数帯に設定された固有のチャンネルステップ周波数を乗算部で乗算する。また、回転方向検知部により、一方の右回転パルス計数部の計数値を用いて、ロータリエンコーダの回転方向を表す検知情報を得るようにしている。次に、演算器において、上記乗算部の乗算結果と検知情報からロータリエンコーダの回転方向を判定し、乗算結果と現在の送受信周波数に基づいて演算を行う。この演算では、回転方向が右の場合には現在の送受信周波数に乗算結果を加算し、一方、回転方向が左の場合には現在の送受信周波数から乗算結果を減算する。この演算器で得られた演算結果、すなわち周波数データは局部発振器に与えられ、新たな送受信周波数を設定する。
【０００４】
上記従来の技術によれば、選局時に周波数を大きく変化させる場合には、ロータリエンコーダを速く回転させるだけの単一操作で短時間に目的の周波数を設定し、一方、選局時に周波数を小さく変化させる場合、あるいは選局中に目的の周波数が近付いたときには、ロータリエンコーダを緩やかに回転させることで周波数を微細に変化させることができるというものである。
【０００５】
【特許文献１】特開平６−２１６８００号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
以上のような選局装置に適用した従来のロータリエンコーダ検出装置では、ロータリエンコーダの回転に対してパルスを計数するために独立した右回転パルス計数部と左回転パルス計数部を備え、その出力結果に基づいて乗算部で回転パルスの変化量を算出しているが、その分、装置構成が複雑となっている。また、最終的な回転方向と変化量は、回転方向検知部と乗算部の出力結果を演算部で算出する必要があり、検出結果を得るためのアルゴリズムが煩雑なものとなっている。
【０００７】
この発明は、上記のような問題点を解決するためになされたもので、ロータリエンコーダの回転方向と変化量を簡素化した構成で検出することができるロータリエンコーダ検出装置を得ることを目的とする
【課題を解決するための手段】
【０００８】
この発明に係るロータリエンコーダ検出装置は、正転および逆転操作を行うことによりロータリエンコーダを回転させる操作ツマミ部と、操作ツマミ部の操作変化量を入力としてロータリエンコーダの回転を表す所定の位相差を持ったＡ相およびＢ相の二相パルスを出力するロータリエンコーダ部と、出力された二相パルスに基づいて操作ツマミ部の正転または逆転操作の変化量に対応したカウント値を得る二相パルスカウンタ部と、この二相パルスカウンタ部のカウント値に基づいて操作ツマミ部による入力状態を検出する制御部とを備え、記制御部は、定周期に起動され、今回サンプリングした二相パルスカウンタ部のカウント値と保存しておいた前回サンプリングしたカウント値を比較し、両カウント値が等しい場合には操作ツマミ部の操作が無いと判定し、一方、両カウント値が等しくない場合には操作ツマミ部の操作が有ると判定して今回サンプリングしたカウント値から前回サンプリングしたカウント値を減算した結果を引数として出力するカウンタ変化検出処理部と、引数の正負の符号に基づいて操作ツマミ部の回転方向を検出すると共に、引数の絶対値から操作ツマミ部の変化量を検出する回転方向・変化量解析処理部とを有するようにしたものである。
【発明の効果】
【０００９】
この発明によれば、二相パルスカウンタを用いてロータリエンコーダの二相パルス出力を計数し、二相パルスカウンタの計数結果を定周期にサンプリングすることにより操作の有無を検出し、それぞれのサンプリング値の差分計算だけで、回転方向および変化量を検出できるようにしたので、構成を簡素化することができる効果がある。
【発明を実施するための最良の形態】
【００１０】
実施の形態１．
図１はこの発明の実施形態１に係るロータリエンコーダ検出装置の構成を示すブロック回路図である。
図において、操作ツマミ部１を正転または逆転操作することによりロータリエンコーダは正方向または逆方向に回転される。ロータリエンコーダ部２は、操作ツマミ部１の正転および逆転操作の変化量を入力としてロータリエンコーダの回転を表す所定の位相差を持ったＡ相およびＢ相の二相パルスを二相パルスカウンタ部３へ出力する。二相パルスカウンタ部３は、ロータリエンコーダ部２から出力される二相パルスに基づいて加算または減算を行って操作ツマミ部１の正転または逆転の変化量に対応したカウント値を得る。
【００１１】
図４により、二相パルスカウンタ３の計数例を説明する。ここでは、操作ツマミ部１を正転および逆転操作した場合にロータリエンコーダ部２から出力される二相パルス波形を二相パルスカウンタ３がどのように計数するのかを示している。この場合の１変化量操作は操作ツマミの１クリック分を表わしている。二相パルスカウンタ部３は、入力されるＡ相パルスが「Ｈ」レベルの期間において、Ｂ相パルスの立ち上がりをアップカウントし、またＢ相パルスの立ち下がりをダウンカウントする機能を有している。図４の場合の１クリックでは、正転時のＢ相の立ち上がりが１回なので（＋１）と計数され、逆転時のＢ相の立ち下がりも１回なので（−１）と計数されることになる。すなわち、二相パルスカウンタ部３は、操作ツマミ部１の正転１変化量毎に（＋１）を計数し、逆転１変化量毎に（−１）を計数することを前提としている。したがって、例えば操作ツマミ部１をいずれかの方向に２クリック分（２変化量）進めれば、二相パルスカウンタ部３は（＋２）または（−２）を計数（この発明では、これを「二相パルスカウンタ部のカウント値」と称している。）することになる。
なお、二相パルスカウンタ部３と制御部４は、具体的には一つのマイコン（例えば、シングルチップ１６ビットＣＭＯＳマイクロコンピュータ：製品名「Ｍ１６Ｃ／６２Ｎ」）に内蔵された機能で構成される。
【００１２】
二相パルスカウンタ部３のカウント値は制御部４に入力され、そのカウント値に基づいて操作ツマミ部１による入力状態が検出される。制御部４は、定周期処理部４１、カウンタ変化検出処理部４２および回転方向・変化量解析処理部４３からなる処理ブロックを有する。定周期処理部４１は、カウンタ変化検出処理部４２を定周期に起動させる手段である。カウンタ変化検出処理部４２は、定周期処理部４１によって定周期に起動され、今回サンプリングした二相パルスカウンタ部３のカウント値と保存しておいた前回サンプリングしたカウント値とを比較して操作ツマミ部１の操作の有無を検出し、操作が有ると判定した時には今回サンプリングしたカウント値から前回サンプリングしたカウント値を減算した結果を引数として出力する手段である。回転方向・変化量解析処理部４３は、カウンタ変化検出処理４２から引数を受け取った場合、その引数の正負の符号に基づいて操作ツマミ部１の回転方向を検出すると共に、引数の絶対値から操作ツマミ部１の変化量を検出する手段である。
【００１３】
次に制御部４の動作について説明する。
カウンタ変化検出処理部４２は、定周期処理部４１から定周期に起動されて図２に示される手順の処理を行う。カウンタ変化検出処理部４２では、二相パルスカウンタ部３のカウント値を読み取ると、今回サンプリング値と前回サンプリング値との比較を行う（ステップＳＴ６１）。両サンプリング値が等しければ操作ツマミ部１の変化が無いと判定し、また、等しくなければ操作ツマミ部１の変化が有りと判定する（ステップＳＴ６２）。変化が有りと判定した場合、（今回サンプリング値）−（前回サンプリング値）＝Ａｒｇを計算し、Ａｒｇを引数として回転方向・変化量解析処理部４３の起動を要求する（ステップＳＴ６３）。また、起動する度に今回サンプリング値を前回サンプリング値に置き換えてメモリに保存し後（ステップＳＴ６４）、処理を終了する。この実施の形態では、ロータリエンコーダが変化した時に発生するチャタリング時間より十分大きな周期でサンプリングを行う。
【００１４】
カウンタ変化検出処理４２から起動要求された回転方向・変化量解析処理部４３は、図３に示す手順で処理を行う。回転方向・変化量解析処理４３は、引数Ａｒｇを符号付き整数として正負を判定する（ステップＳＴ７１）。引数Ａｒｇが正の整数の場合、操作ツマミ部１が「正転」方向に引数Ａｒｇの絶対値分だけ回転したと判定する（ステップＳＴ７２）。一方、引数Ａｒｇが負の整数の場合、操作ツマミ部１が「逆転」方向に引数Ａｒｇの絶対値分だけ回転したと判定する（ステップＳＴ７３）。図４に示した例を前提にした場合のカウンタ変化検出処理部４２と回転方向・変化量解析処理部４３の動作状況を図５に示す。
制御部４は、以上の処理により得られた回転方向と変化量のデータを用いて被制御装置の設定を行うことができる。
【００１５】
なお、図４の例とは異なる動作として、二相パルスカウンタ３が、操作ツマミ部１の正転操作１変化量毎に（−１）を計数し、逆転操作１変化量毎に（＋１）を計数するようにしてもよい。その場合、回転方向・変化量解析処理部４３は、引数Ａｒｇが正の整数であれば、操作ツマミ部１が「逆転」方向に引数Ａｒｇの絶対値分だけ回転したと判定し、また、引数Ａｒｇが負の整数であれば、操作ツマミ部１が「正転」方向に引数Ａｒｇの絶対値分だけ回転したと判定することになる。
【００１６】
以上のように、この実施の形態１によれば、ロータリエンコーダ部２の二相パルスを二相パルスカウンタ部３で計数し、そのカウント値を制御部４で定周期にサンプリングし、今回サンプリング値と前回サンプリング値を比較することによって操作の有無を判定し、操作有りの場合には今回サンプリング値から前回サンプリング値を減算した結果に基づいて回転方向および変化量を検出するようにしたので、二相パルスカウンタ部３と制御部４によりロータリエンコーダ検出装置を簡単に構成できる効果が得られる。
【図面の簡単な説明】
【００１７】
【図１】この発明の実施形態１に係るロータリエンコーダ検出装置の構成を示すブロック回路図である。
【図２】この発明の実施形態１に係るカウンタ変化検出処理の手順を示すフローチャートである。
【図３】この発明の実施形態１に係る回転方向・変化量解析処理の手順を示すフローチャートである。
【図４】この発明の実施形態１に係る二相パルスカウンタの計数例を示すタイムチャートである。
【図５】この発明の実施形態１に係るカウンタ変化検出処理と回転方向・変化量解析処理の動作例を示す説明図である。
【符号の説明】
【００１８】
１  操作ツマミ部、２  ロータリエンコーダ部、３  二相パルスカウンタ部、４  制御部、４１  定周期処理部、４２  カウンタ変化検出処理部、４３  回転方向・変化量解析処理部。
【図１】
2005164329.tif 000003
【図２】
2005164329.tif 000004
【図３】
2005164329.tif 000005
【図４】
2005164329.tif 000006
【図５】
2005164329.tif 000007