(57)【要約】【課題】分割数が増えても演算量が少ないエンコーダの内挿装置の提供。【解決手段】本発明の一態様のエンコーダの内挿装置は、エンコーダより入力された第1入力値又は第2入力値の一方を参照値とし他方を比較値とし、参照値に係る第1境界角度に基づき第1閾値を算出する第1乗算部と、参照値に係る第2境界角度に基づき第2閾値を算出する第2乗算部と、比較値が第1閾値と第2閾値とで規定された範囲内にないと判定したとき、比較値は第1閾値又は第2閾値より大きい又は小さいことを判定する比較部と、大きい又は小さい比較値に対応する前記範囲に隣接する位相範囲に特定位相範囲を更新し、前記更新に伴い第1境界角度の値及び第2境界角度の値を変更する位相推定部とを具備する。【選択図】図９
2016033452.tif 000002
【特許請求の範囲】
【請求項１】
被測定体の位置の変化に応じて生成される第1正弦波信号をデジタル信号に変換して第1入力値を取得するとともに、前記被測定体の位置の変化に応じて生成され、前記第1正弦波信号に対して90°位相が異なる第2正弦波信号をデジタル信号に変換して、第2入力値を取得するADコンバータと、
前記第1入力値と前記第2入力値のどちらか一方を参照値とし、もう一方を比較値とし、前記参照値の位相範囲に基づいて決定される第1境界角度に基づく第1正接値と前記参照値とを乗算し第1閾値を算出する第1乗算部と、
前記参照値の位相範囲に基づいて決定される第2境界角度に基づく第2正接値と前記参照値とを乗算し第2閾値を算出する第2乗算部と、
前記比較値が前記第1閾値と前記第2閾値とで規定された特定位相範囲内にあるか否かを判定するとともに、前記比較値が前記特定位相範囲内にないと判定したとき、前記比較値が前記第1閾値より大きい若しくは小さいこと及び前記比較値が前記第2閾値より大きい若しくは小さいことを判定する比較部と、
前記比較部により前記比較値が前記特定位相範囲内にないと判定されたとき、前記比較部による前記比較値と前記第1閾値及び前記第2閾値との大小判定結果に対応する方向に隣接する位相範囲に前記特定位相範囲を更新する位相推定部と、
を具備するエンコーダの内挿装置。
【請求項２】
複数の前記第1境界角度と複数の前記第1正接値及び複数の前記第2境界角度と複数の前記第2正接値とを対応付ける閾値テーブルを記録する閾値テーブル記録部をさらに具備する請求項１に記載のエンコーダの内挿装置。
【請求項３】
前記ADコンバータが前記第1入力値及び前記第2入力値を取得してから前記位相推定部が前記特定位相範囲を更新するまでの動作は一定の周期ごとに繰り返される請求項１に記載のエンコーダの内挿装置。
【請求項４】
前記一定の周期は、１つ分の前記位相範囲の期間よりも短い請求項３に記載のエンコーダの内挿装置。
【請求項５】
前記第1入力値と前記第2入力値との符号と絶対値の大小関係とに基づいて、前記第1正弦波信号及び前記第2正弦波信号の1周期を45°ごとに8象限に分割した領域のうち、前記第1入力値と前記第2入力値とに対応した領域を判定する領域判定部をさらに具備し、
前記比較部は、前記判定された領域を分割することによって前記位相範囲を設定して前記判定を行う請求項１に記載のエンコーダの内挿装置。
【請求項６】
前記領域の分割数は、前記第1正弦波信号と前記第2正弦波信号との間の位相関係の変化が大きいほど減少する請求項５に記載のエンコーダの内挿装置。
【請求項７】
前記領域の分割数は、前記被測定体の速度が速いほど減少する請求項５に記載のエンコーダの内挿装置。
【請求項８】
複数の前記第1境界角度と複数の前記第1正接値及び複数の前記第2境界角度と複数の前記第2正接値とを対応付ける閾値テーブルを記録する閾値テーブル記録部をさらに具備し、
前記領域の分割数、前記閾値テーブルの参照方法を変更することによって変化される請求項６又は７に記載のエンコーダの内挿装置。
【請求項９】
複数の前記第1境界角度と複数の前記第1正接値及び複数の前記第2境界角度と複数の前記第2正接値との対応が異なる複数の閾値テーブルを記録する閾値テーブル記録部をさらに具備し、
前記領域の分割数は、前記複数の閾値テーブルから1つの前記閾値テーブルを選択することによって変化される請求項６又は７に記載のエンコーダの内挿装置。
【請求項１０】
前記被測定体を駆動させる駆動部と、
前記被測定体の位置の変化に応じて、前記第1正弦波信号と、前記第2正弦波信号を生成するエンコーダと、
請求項１乃至９のいずれか一項に記載のエンコーダの内挿装置と、
を具備する駆動装置。
【請求項１１】
コンピュータに、被測定体の位置の変化に応じて生成される第1正弦波信号をデジタル信号に変換して第1入力値を取得させるとともに、前記被測定体の位置の変化に応じて生成され、前記第1正弦波信号に対して90°位相が異なる第2正弦波信号をデジタル信号に変換して、第2入力値を取得させることと、
コンピュータに、前記第1入力値と前記第2入力値のどちらか一方を参照値とし、もう一方を比較値とし、前記参照値の位相範囲に基づいて決定される第1境界角度に基づく第1正接値と前記参照値とを乗算し第1閾値を算出させることと、
コンピュータに、前記参照値の位相範囲に基づいて決定される第2境界角度に基づく第2正接値と前記参照値とを乗算し第2閾値を算出させることと、
コンピュータに、前記比較値が前記第1閾値と前記第2閾値とで規定された特定位相範囲内にあるか否かを判定させるとともに、前記比較値が前記特定位相範囲内にないと判定されたとき、前記比較値が前記第1閾値より大きい若しくは小さいこと及び前記比較値が前記第2閾値より大きい若しくは小さいことを判定させることと、
コンピュータに、前記比較値が前記特定位相範囲内にないと判定したとき、前記比較値と前記第1閾値及び前記第2閾値との大小判定の結果に対応する方向に隣接する位相範囲に前記特定位相範囲を更新させることと、
を具備するエンコーダの内挿装置の制御方法。
【請求項１２】
コンピュータに、被測定体の位置の変化に応じて生成される第1正弦波信号をデジタル信号に変換して第1入力値を取得させるとともに、前記被測定体の位置の変化に応じて生成され、前記第1正弦波信号に対して90°位相が異なる第2正弦波信号をデジタル信号に変換して、第2入力値を取得させる手順と、
コンピュータに、前記第1入力値と前記第2入力値のどちらか一方を参照値とし、もう一方を比較値とし、前記参照値の位相範囲に基づいて決定される第1境界角度に基づく第1正接値と前記参照値とを乗算し第1閾値を算出させる手順と、
コンピュータに、前記参照値の位相範囲に基づいて決定される第2境界角度に基づく第2正接値と前記参照値とを乗算し第2閾値を算出させる手順と、
コンピュータに、前記第1閾値と前記第2閾値とで規定された特定位相範囲内にあるか否かを判定させるとともに、前記比較値が前記特定位相範囲内にないと判定されたとき、前記比較値が前記第1閾値より大きい若しくは小さいこと又は前記比較値が前記第2閾値より大きい若しくは小さいことを判定させる手順と、
コンピュータに、前記比較値が前記特定位相範囲内にないと判定したとき、前記比較値と前記第1閾値及び前記第2閾値との大小判定の結果に対応する方向に隣接する位相範囲に前記特定位相範囲を更新させる手順と、
を実行させるエンコーダの内挿装置の制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、エンコーダの内挿装置、エンコーダの内挿装置の制御方法、エンコーダの内挿装置の制御プログラムに関する。
【背景技術】
【０００２】
従来、被測定体の移動に応じて互いに90°位相の異なる正弦波信号及び余弦波信号を生成し、各信号をある基準値をもとに2値化し、各2値化された信号の変化をカウントすることで移動量を検出するエンコーダと呼ばれる装置がある。
【０００３】
さらに、エンコーダの分解能を上げる方式として種々の内挿方式が提案されている。例えば、特許文献１の内挿方式は、正弦成分と余弦成分をデジタル量に変換する手段と、デジタル量に変換された正弦成分と余弦成分とから検出信号の極座標の角度と半径とを計算する手段と、極座標の角度情報を用いて検出信号の１サイクル内を分割して内挿する手段とにより、２つの信号である正弦成分信号と余弦成分信号とを極座標に変換し、極座標の角度情報を用いて、正弦波状の１サイクルを分割する内挿を行うようにするものである。
【０００４】
また、特許文献２の内挿方式は、正弦成分信号と余弦成分信号とに対応する位相角データを予め計算して、これを記憶素子に記憶させておき、正弦成分信号と余弦成分信号とをアドレス信号として対応する位相角データを記憶素子より読み出すものである。
【０００５】
しかしながら、前述の方法では、複雑な演算を解く必要があり、応答性が低下したり、また、記憶素子を別途持つことでコストアップしたりなど様々な問題がある。
【０００６】
この問題を解決するために、特許文献３の内挿方式は、正弦波信号及び余弦波信号の内の一方の信号の振幅量に対し、正弦波信号及び余弦波信号の位相角の内挿数に応じ、各内挿位置における正接値に応じた内挿位置パラメータを乗じ、他方の信号の絶対値と、内挿位置毎に大小関係を比較し、比較結果に基づき、正弦波信号及び余弦波信号の位相角の存在する、内挿位置により区分された領域を推定するようにしている。これにより、コストアップを抑えながら、応答性を高くすることができる。
【０００７】
特許文献３の内挿方式では、内挿する分割数が少ない場合には特に問題はないが、分割数に応じて乗算する演算数が増加する場合には、大小関係を比較する比較数も増加するために回路規模が増大することが実用上の問題となる。同様に、前述の方式をソフトウェアで構成する場合でも、演算数が増大するために応答性が低下することが実用上の問題となる。
【０００８】
また、分割数に応じて、乗算回路と比較器との使用量又はそれらをソフトウェアで構成する場合の演算量が決まるため、検出対象や状態に応じて、検出分解能を変更することは出来ない。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開平２−１８６２２１号公報
【特許文献２】特開平２−３８８１４号公報
【特許文献３】特開２００７−１７８１７０号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
本発明は、上記問題に着眼してなされたものであり、少ない演算量で内挿が可能であり、かつ、分割数を増やしても、演算量が増えることが無く、また、分割数も柔軟に変更可能なエンコーダの内挿装置、エンコーダの内挿装置の制御方法、エンコーダの内挿装置の制御プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１１】
本発明の一態様のエンコーダの内挿装置は、被測定体の位置の変化に応じて生成される第1正弦波信号をデジタル信号に変換して第1入力値を取得するとともに、前記被測定体の位置の変化に応じて生成され、前記第1正弦波信号に対して90°位相が異なる第2正弦波信号をデジタル信号に変換して、第2入力値を取得するADコンバータと、前記第1入力値と前記第2入力値とのどちらか一方を参照値とし、もう一方を比較値とし、前記参照値の位相範囲に基づいて決定される第1境界角度に基づく第1正接値と前記参照値とを乗算し第1閾値を算出する第1乗算部と、前記参照値の位相範囲に基づいて決定される第2境界角度に基づく第2正接値と前記参照値とを乗算し第2閾値を算出する第2乗算部と、前記比較値が前記第1閾値と前記第2閾値とで規定された特定位相範囲内にあるか否かを判定するとともに、前記比較値が前記特定位相範囲内にないと判定したとき、前記比較値が前記第1閾値より大きい若しくは小さいこと及び前記比較値が前記第2閾値より大きい若しくは小さいことを判定する比較部と、前記比較部により前記比較値が前記特定位相範囲内にないと判定されたとき、前記比較部による前記比較値と前記第1閾値及び前記第2閾値との大小判定結果に対応する方向に隣接する位相範囲に前記特定位相範囲を更新する位相推定部とを具備する。
【００１２】
本発明の一態様のエンコーダの内挿装置の制御方法は、コンピュータに、被測定体の位置の変化に応じて生成される第1正弦波信号をデジタル信号に変換して第1入力値を取得させるとともに、前記被測定体の位置の変化に応じて生成され、前記第1正弦波信号に対して90°位相が異なる第2正弦波信号をデジタル信号に変換して、第2入力値を取得させることと、コンピュータに、前記第1入力値と前記第2入力値とのどちらか一方を参照値とし、もう一方を比較値とし、前記参照値の位相範囲に基づいて決定される第1境界角度に基づく第1正接値と前記参照値とを乗算し第1閾値を算出させることと、コンピュータに、前記参照値の位相範囲に基づいて決定される第2境界角度に基づく第2正接値と前記参照値とを乗算し第2閾値を算出させることと、コンピュータに、前記比較値が前記第1閾値と前記第2閾値とで規定された特定位相範囲内にあるか否かを判定させるとともに、前記比較値が前記特定位相範囲内にないと判定されたとき、前記比較値が前記第1閾値より大きい若しくは小さいこと及び前記比較値が前記第2閾値より大きい若しくは小さいことを判定させることと、コンピュータに、前記比較値が前記特定位相範囲内にないと判定したとき、前記比較値と前記第1閾値及び前記第2閾値との大小判定の結果に対応する方向に隣接する位相範囲に前記特定位相範囲を更新させることとを具備する。
【００１３】
本発明の一態様のエンコーダの内挿装置の制御プログラムは、コンピュータに、被測定体の位置の変化に応じて生成される第1正弦波信号をデジタル信号に変換して第1入力値を取得させるとともに、前記被測定体の位置の変化に応じて生成され、前記第1正弦波信号に対して90°位相が異なる第2正弦波信号をデジタル信号に変換して、第2入力値を取得させる手順と、コンピュータに、前記第1入力値と前記第2入力値とのどちらか一方を参照値とし、もう一方を比較値とし、前記参照値の位相範囲に基づいて決定される第1境界角度に基づく第1正接値と前記参照値とを乗算し第1閾値を算出させる手順と、コンピュータに、前記参照値の位相範囲に基づいて決定される第2境界角度に基づく第2正接値と前記参照値とを乗算し第2閾値を算出させる手順と、コンピュータに、前記第1閾値と前記第2閾値とで規定された特定位相範囲内にあるか否かを判定させるとともに、前記比較値が前記特定位相範囲内にないと判定されたとき、前記比較値が前記第1閾値より大きい若しくは小さいこと又は前記比較値が前記第2閾値より大きい若しくは小さいことを判定させる手順と、コンピュータに、前記比較値が前記特定位相範囲内にないと判定したとき、前記比較値と前記第1閾値及び前記第2閾値との大小判定の結果に対応する方向に隣接する位相範囲に前記特定位相範囲を更新させる手順とを実行させる。
【発明の効果】
【００１４】
本発明によれば、少ない演算量で内挿が可能であり、かつ、分割数を増やしても、演算量が増えることが無く、また、分割数も柔軟に変更可能なエンコーダの内挿装置、エンコーダの内挿装置の制御方法、エンコーダの内挿装置の制御プログラムを提供することができる。
【図面の簡単な説明】
【００１５】
【図１】図１は、エンコーダから出力される90°位相の異なる2相の信号の１周期を32分割して示した図である。
【図２】図２は、2相の振幅の対応関係を、それぞれの振幅を横軸と縦軸とした2次元の座標で示す図である。
【図３】図３は、2相の信号のそれぞれの１周期を45°ごとに8つの領域に分割してなる領域を示した図である。
【図４】図４は、2相の信号におけるそれぞれの符号の関係とそれぞれの絶対値の大小関係とを示す図である。
【図５】図５は、32分割された位相範囲のうち、A相信号が参照値でB相信号が比較値となる位相範囲を示す図である。
【図６】図６は、32分割された位相範囲のうち、B相信号が参照値でA相信号が比較値となる位相範囲を示す図である。
【図７】図７は、位相範囲の閾値と正接値との対応関係を示す図である。
【図８】図８は、32分割された位相範囲と、8分割された領域と、各位相範囲の境界となる2つの閾値である上限閾値と下限閾値との対応関係とを示す図である。
【図９】図９は、A相信号を底辺として検出を行う場合の位相範囲の変更動作を示す図である。
【図１０】図１０は、B相信号を底辺として検出を行う場合の位相範囲の変更動作を示す図である。
【図１１】図１１は、本発明の第1の実施形態におけるエンコーダの内挿装置の構成例を示す図である。
【図１２】図１２は、本発明の第1の実施形態におけるエンコーダの内挿装置へ入力される2相の信号と、出力される信号との対応関係を示す図である。
【図１３】図１３は、本発明の第2の実施形態における内挿機能を実現するソフトウェアによるエンコーダの内挿装置の動作例を示すフローチャートである。
【図１４】図１４は、本発明の第2の実施形態におけるエンコーダの内挿装置の構成例を示す図である。
【図１５】図１５は、１周期の分割数を切り替えることによる分解能の切り替えを示した図である。
【図１６】図１６は、A相信号が参照値となる場合の低分解能の位相範囲と閾値との関係を示す図である。
【図１７】図１７は、B相信号が参照値となる場合の位相範囲と閾値との関係を示す図である。
【図１８Ａ】図１８Ａは、本発明の第3の実施形態における内挿機能を実現するソフトウェアによるエンコーダの内挿装置の動作例を示すフローチャートである。
【図１８Ｂ】図１８Ｂは、本発明の第3の実施形態における内挿機能を実現するソフトウェアによるエンコーダの内挿装置の動作例を示すフローチャートである。
【図１９】図１９は、本発明の第4の実施形態における交換レンズの構成例を示す図である。
【図２０】図２０は、交換レンズが有する内挿部の構成例を示す図である。
【図２１】図２１は、駆動制御部による駆動部の駆動制御の例を示すタイムチャートである。
【図２２Ａ】図２２Ａは、第4の実施形態の交換レンズにおける内挿部の制御を例示するフローチャートである。
【図２２Ｂ】図２２Ｂは、第4の実施形態の交換レンズにおける内挿部の制御を例示するフローチャートである。
【発明を実施するための形態】
【００１６】
まず、図を参照しながら本発明におけるエンコーダの内挿装置の基本概念を説明する。図１は、エンコーダから出力される、90°位相の異なる正弦波信号（正弦波信号と余弦波信号）であるA相信号とB相信号の1周期を32分割して示した図である。図１では、横軸は時間を示し、縦軸は振幅を示す。また、図１では、A相信号とB相信号との１周期は32分割されており、すなわち、図１において、A相信号とB相信号とは、それぞれ11.25°ごとに0~31の位相範囲に区分されている。
【００１７】
基本概念の説明では、一例として、現在のA相信号とB相信号との位相が32分割された位相範囲のいずれにあるかを推定する場合を説明する。ここで示した分割数は、変更され得る。例えば200分割以上の分割数であっても良い。
【００１８】
図２は、図１で示したA相信号の振幅とB相信号の振幅との関係を、A相信号の振幅を横軸にとって、B相信号の振幅を縦軸にとった2次元の座標系で示した図である。図２で示す円領域は、図１と同様の11.25°ごとの領域で示される32個の位相範囲に分割されている。図１のある位相範囲におけるA相とB相との振幅で決定される2次元の座標上の位置は、図２における対応する位相範囲内に位置することになる。
【００１９】
また、図２に示すA相とB相とのそれぞれの1周期は、図３に示すように、45°ごとの8つの領域に分割することができる。本実施形態では、この45°ごとの8つの領域を後述するようにさらに正接値で分割することにより、前述したような32分割まで分割数を増加させる。1周期を45°ごとの8つの領域に分割することによって、正接値を0~1の値に制限することができ、少数点のビット精度を制限でき、また、正接値の発散による検出精度の低下を防止することができる利点がある。
【００２０】
図４に示す表の関係に基づいて、すなわち、A相信号及びB相信号におけるそれぞれの振幅の符号の関係とそれぞれの振幅の絶対値の大小関係とに基づいて、現在のA相信号及びB相信号の振幅が8つの領域のどこに位置しているのかが求まる。さらに、図４の関係に基づいて、各領域における後述する正接値をもとめる際の底辺と対辺とをA相、B相のどちらに対応させるかも求まる。ここで、底辺とする信号は参照値となり、対辺とする信号は比較値となる。
【００２１】
図５及び図６は、8つに分割された各領域をさらに11.25°ごとの4つの領域に分割する例を示している。この4つの領域は、5つの正接値により規定される閾値TH1からTH5により区切られている。図７は、TH1~TH5のそれぞれが表す正接値の表である。また、図５は、A相信号を参照値とする正接値tanθAによる分割、すなわち領域I、IV、V、VIIの分割の例である。図６は、B相信号を参照値とする正接値tanθBによる分割、すなわち領域II、III、VI、VIIの分割の例である。
【００２２】
図８は、図６及び図７で示す分割が行われた場合の、32分割された位相範囲と、8分割された領域の番号と、32分割された位相範囲の境界となる2つの閾値である上限閾値と下限閾値との対応関係を示している。
【００２３】
図９及び、図１０を用いて、本発明におけるエンコーダの内挿装置の動作の概要を説明する。
【００２４】
図９は、A相を底辺として、すなわちA相を参照値として検出を行う場合の本発明におけるエンコーダの内挿装置の動作を示す。元の位相範囲は例えば「2」であるとする。このとき、検出したA相の振幅と、位相範囲「2」の境界となる2つの閾値である下限閾値TH3と上限閾値TH4とのそれぞれの正接値より、比較値としてのB相の振幅との関係から位相範囲を変更すべきか否かを判定する。
【００２５】
まず、A相の振幅A_ampにTH3をかけることで位相範囲「2」におけるB相の振幅の下限値（L_limit）を求める。
L_limit = A_amp×TH3                      （式1）
続いて、A相の振幅A_ampにTH4をかけることで位相範囲「2」におけるB相の振幅の上限値（U_limit）を求める。
U_limit = A_amp×TH4                      （式2）
算出した上限値及び下限値と、B相の振幅との大小関係を比較する。この比較結果とから位相の関係を判定する。
B_amp < U_limit            （式3）
B_amp ≧ L_limit            （式4）
上記、（式3）及び（式4）の判定結果が共に真（YES）の場合、元の位相範囲から変化がないことを示す。この場合には、位相範囲の変更は不要である。
【００２６】
（式3）が偽（NO）で、（式4）が真（YES）の場合は、実際の位相範囲は元の位相範囲よりも進んだ方向（図１における右側の方向）にあり、（式3）が真（YES）で、（式4）が偽（NO）の場合は、実際の位相範囲は元の位相範囲よりも遅れた方向（図１における左側の方向）にあると判定できる。これらの判定結果に応じて、元の位相範囲から実際の位相範囲があると考えられる方向に向けて１つ位相範囲を変更する。
【００２７】
図９の例では、元の位相範囲が「2」であるが、判定結果より位相が遅れた方向にあると判定される。このとき、位相範囲を「1」に変更することで、位相の変化に追従させることができる。そして、次回の検出で（式3）と（式4）は共に真（YES）になることで、位相範囲を推定できる。今回の位相範囲の推定ができると、前回推定された位相範囲と今回推定された位相範囲との変化量に従って被測定体の現在の位置を推定することができる。
【００２８】
図１０の例では、B相を底辺として検出を行う場合の一例で、元の位相範囲は例えば「5」であるとする。このとき、検出したB相の振幅と、位相範囲「5」の境界であるTH3とTH4との正接値と算出されるＢ相の振幅との関係から位相範囲を変更すべきか否かを判定する。
【００２９】
図９のケースと同様に、以下式で上限値及び下限値を求め、A相の検出結果と比較する。
L_limit = B_amp×TH3                      （式5）
U_limit = B_amp×TH4                      （式6）
A_amp < U_limit                            （式7）
A_amp ≧ L_limit                           （式8）
上記（式7）は真（YES）で、（式8）が偽（NO）となるので位相範囲を1つ進めて次回の検出位相範囲を「6」とする。
【００３０】
この時点では、位相範囲の推定は出来ていないが、次回周期で同様の処理を行うことで検出位相範囲が「7」となり位相の変化に追従できる。
【００３１】
通常使用時においては、被測定体が最高速度で移動した場合でも、1位相範囲以上移動することが無いように位相の検出周期を設定することで、最大でも1周期の遅延で位相の変化に追従できる。なお、追従性を高めたい場合は、周期を短くすればよい。
【００３２】
次に、図１１を用いて本発明の第１の実施形態を説明する。図１１は、本発明に係るエンコーダの内挿装置をハードウェアで構成した場合のブロック図である。エンコーダの内挿装置10は、エンコーダ20と電気的に接続している。
【００３３】
エンコーダ20は、被測定体の移動に応じて90°位相がずれた正弦波信号（Ａ相のアナログ信号）と余弦波信号（Ｂ相のアナログ信号）とを生成し、これらの2相の信号をエンコーダの内挿装置10へ出力する。
【００３４】
エンコーダの内挿装置10は、エンコーダ20から受信された信号を内挿する。エンコーダの内挿装置10は、第1ADコンバータ（第1ADC1a）と、第2ADコンバータ1b（第2ADC1b）と、第1基準値補正部2aと、第2基準値補正部2bと、領域判定部3と、第1乗算部4aと、第2乗算部4bと、上限比較部5aと、下限比較部5bと、位相推定部6と、閾値テーブル記録部7と、パルス生成部8とを有している。
【００３５】
まず、第1ADC1aは、エンコーダ20から出力されたA相の信号をデジタル信号に変換する。第2ADC1bは、エンコーダ20から出力されたB相の信号をデジタル信号に変換する。
【００３６】
第1基準値補正部2a及び第2基準値補正部2bは、デジタル信号に変換されたA相及びB相の信号から基準値を減算することで各々の信号を、符号を持つ値を有するデジタル信号に変換する。ここで基準値とは、A相及びB相の各々の振幅の中心値である。さらに、第1基準値補正部2a及び第2基準値補正部2bは、精度を高めるため、A相とB相との振幅が一致するようにゲイン調整を行う。
【００３７】
領域判定部3は、1周期を45°ごとに8領域に分割したどの領域に現在の位相が存在するかを、A相及びB相の各々の振幅の値の符号と絶対値の大小関係とを基に、図４で説明した関係から判定する。また、領域判定部3は、後述する正接値の算出に係る演算における底辺と対辺とに対して、A相とB相とのどちらを割り当てるかを判定する。  そして、領域判定部3は、底辺に割り当てられた方の信号（参照値）をQAから、対辺に割り当てられた方の信号（比較値）をQBからそれぞれ出力する。例えば、領域判定部3は、図９の場合では、領域Iを選択して、QAからA相の入力値を出力し、QBからは、B相の入力値を出力する。
【００３８】
次に、第1乗算部4aは、底辺として出力されるQAの値に対して現在の領域の上限閾値を乗算することで振幅の上限値を得る。第2乗算部4bは、底辺として出力されるQAの値に対して現在の領域の下限閾値を乗算することで振幅の下限値を得る。ここで乗算される閾値は、後段の位相推定部6で推定された位相範囲の情報に基づいて、閾値テーブル記録部7から出力される閾値である。
【００３９】
閾値テーブル記録部7は、第1境界角度である上限閾値及び第2境界角度である下限閾値と正接値とを対応付ける閾値テーブルを記録している。この閾値テーブルは、例えばルックアップテーブルの構成になっている。閾値テーブル記録部7は、図３に示すような入力された位相範囲の番号に基づいて、図８に示すように、番号と対応関係にある閾値を出力する。
【００４０】
上限比較部5a及び下限比較部5bは、第１乗算部4a及び第2乗算部4bにより得られた乗算結果を、対辺の値と比較する。上限比較部5aは、対辺の値が上限値よりも小さいか否かを判定し、判定結果を位相推定部6に出力する。また、下限比較部5bは、対辺の値が下限値以上か否かを判定し、判定結果を位相推定部6に出力する。
【００４１】
位相推定部6は、上限比較部5a及び下限比較部5bから出力された大小判定の結果に基づいて、現在の位相が上限閾値と下限閾値とによって規定される特定位相範囲内であるか否かを判定する。現在の位相が特定位相範囲内ではなかった、すなわち、現在の位相が特定位相範囲外の場合、位相推定部6は、特定位相範囲と隣接する２つの位相範囲のどちらに位相が存在するかを判定し、対応する方向に位相範囲を変更する。
【００４２】
なお、位相推定部6は、エンコーダ20の起動直後等の初期状態では位相がどの位相範囲にあるかを推定することが出来ない。初期状態の位相範囲は、例えば領域判定結果に基づいて決定される領域の中心の位相範囲とする。通常、初期状態では検出位相と実際の位相との間にずれが生じている。しかしながら、検出位相が変化しなければ、位相推定部６は、遅くとも2周期後に位相を一致させることができる。
【００４３】
初期状態の位相範囲の推定方法は、特に上記に限る物ではなく、様々な方法がある。一例として、起動から動作までに十分時間がある場合、位相推定部6は、初期状態の位相範囲を常に特定の位置に決定しても良い。
【００４４】
パルス生成部8は、位相推定部6によって検出された位相範囲の結果に基づいて、OUTA及び、OUTBから対応する信号レベルを出力する。位相範囲と出力レベルとの対応は、図１２に示した対応関係である。
【００４５】
図１２と同様の出力は、OUTAから位相範囲を示す番号を示す2進数の下位2ビット目の反転値を出力させ、OUTBから位相範囲を示す番号を示す2進数表示の下位1ビット目と2ビット目との排他的論理和を出力させる構成でも得られる。
【００４６】
図１１に示した構成により、OUTA及びOUTBからは、入力信号に対して32逓倍されたパルス信号が出力される。
【００４７】
以上述べてきたように、本実施形態によれば、2個の乗算器と2個の比較部との小規模な回路で、高分解能な内挿装置を実現できる。
【００４８】
また、分割数は、推定部での位相範囲の設定と、閾値テーブルの構成を可変とすることで、目的に合わせて変更され得る。また、分割された1つの領域にのみ現在の位相範囲について判定するので、演算量が増えることが無い。
【００４９】
次に、本発明の第2の実施形態について図１３のフローチャートを用いて説明する。本実施形態では、第1実施形態で説明したエンコーダの内挿機能を実現するソフトウェアについて説明する。
【００５０】
図１４は、本実施形態におけるエンコーダの内挿装置の構成を示す。エンコーダの内挿装置30は、図１４に示すように、記録部31と、ADコンバータ32と、制御部33とを有する。
【００５１】
記録部31は、記録媒体である例えばROM等であって、エンコーダの内挿装置30の制御プログラムと、図７に示すTH1~TH5のそれぞれが表す正接値情報と、図４に示すA相信号及びB相信号の振幅の符号及び絶対値の大小関係と領域の番号との対応関係を示す情報と、図８に示す32分割された位相の範囲と、8分割された領域と、各分割の境界となる2つの閾値である上限閾値と下限閾値との対応関係を示す情報、等を制御部33が読み出し可能に記録している。
【００５２】
ADコンバータ32は、ADコンバータ32へ入力されたA相信号及びB相信号をデジタル信号へ変換する。
【００５３】
制御部33は、例えばCPUであり、記録部31から読み出したプログラムに従って演算を行い、演算結果に基づいて信号を入出力する。
【００５４】
まず、制御部33は、エンコーダの内挿装置30の電源が入力されるなどしたときに動作を開始する。制御部33は、エンコーダの内挿装置の制御プログラムを記録部31から読み出す。その後、制御部33は、エンコーダ20から出力されたA相信号及びA相とB相信号とのADコンバータ32によるAD変換結果であるデジタルA相信号AinとデジタルB相信号Binとを取得する（S1）。
【００５５】
制御部33は、これらの入力信号の振幅から基準値Arefを減算する。すなわち、制御部33は、入力されたデジタルA相信号Ainから基準値Arefを減算してA相信号ADataを算出し、入力されたデジタルB相信号Binから基準値Brefを減算してB相信号BDataを算出する（S2）。基準値に関しては、第1実施形態と同様に、A相及びB相それぞれの入力の中心値である。
【００５６】
次に、制御部33は、A相の振幅とB相の振幅とから、現在の位相範囲が存在すると推定される領域を判定する（S3）。起動直後では位相範囲が定まっていない。そのため、制御部33は、基準値が補正されたA相及びB相の入力信号の振幅の符号及び絶対値から、記録部31から読み出した図４で説明した関係に基づいて、1周期を8分割した場合の対応する領域を推定する。制御部33は、位相範囲が推定された後は、推定された位相範囲が存在する領域が用いられる。位相範囲の推定では、式3と式4または、式7と式8の条件が成立する場合に位相範囲が推定されたとすることができる。
【００５７】
その後、制御部33は、現在の位相範囲を基に、上限閾値U_thと下限閾値L_thとを設定する（S4）。起動直後で位相範囲が推定されていない場合は、推定された領域において任意の位相範囲を選択すれば良い。それぞれの位相範囲における閾値は、図８に示す対応関係を基に決められている。
【００５８】
次に、制御部33は、推定した領域に基づいて、位相範囲を変更する場合の回転方向を決定する。このために、制御部33は、推定した領域が領域I、VI、VII、VIIIのいずれかであるか否かを判定する（S5）。ここでの回転方向は、位相の検出値が上限を超えている場合の位相範囲の変更方向である。推定した領域がI、VI、VII、VIIIのいずれかである場合、制御部33は、位相の検出値が上限を超えている場合の位相範囲の変更量及び変更方向を示すパラメータcountの値を1に設定する(S6)。一方、推定した領域がI、VI、VII、VIIIのいずれかでない、すなわち推定した領域がII、III、IV、Vのいずれかである場合、制御部33は、位相の検出値が上限を超えている場合の位相範囲の変更量及び変更方向を示すパラメータcountの値を-1に設定する（S7）。ここで、countの大きさは位相範囲の変更を示し、countの符号は位相範囲の変更方向を示す。変更方向の正方向は、位相を進める方向であり、負方向は位相を戻す方向である。例えばcountが1の場合、位相の検出値が上限を超えるごとに、位相範囲の番号が１ずつ大きくなる方向に、すなわち反時計方向に回転するように位相範囲が変更される。また、countが-1の場合、位相の検出値が上限を超えるごとに、位相範囲の番号が１ずつ小さくなる方向に、すなわち時計方向に回転するように位相範囲が変更される。
【００５９】
制御部33は、A相信号ADataの絶対値とB相信号BDataとの絶対値とのどちらが大きいかを判定することにより、ADataとBDataのどちらをA相信号とB相信号とを用いた正接値における底辺（参照値）とするかを図４の関係を参照して決定する（S8）。
【００６０】
制御部33は、A相信号を底辺とした場合は、A相信号ADataに対して上限閾値U_th及び下限閾値L_thを乗算し、上限値U_limit及び下限値L_limitを生成する(S9)。次に、制御部33は、対辺であるB相信号BDataをOPP_Dataとする（S10）。また、制御部33は、B相信号を底辺とした場合は、B相信号BDataに対して上限閾値U_th及び下限閾値を乗算し、上限値U_limit及び下限値L_limitを算出する（S11）。次に、制御部33は、対辺であるA相信号ADataをOPP_Dataとする（S12）。
【００６１】
次に、制御部33は、位相範囲の推定を行う。このために、制御部33は、下限値L_limitと対辺の値との大小関係を比較する(S13)。対辺の値が下限値L_limitよりも大きい場合は、制御部33は、上限値U_limitと対辺の値との大小関係を比較する(S14)。
【００６２】
S13で対辺の値が下限値L_limit以下の場合は、制御部33は、位相範囲を変更する(S15)。なお、位相範囲の変更は、現在の位相範囲の番号を示すパラメータphase_noに対してS6又はS7で決定されたcountの値を加減算することで行われる。位相範囲の移動方向は、S6又はS7で指定した回転方向に対して反対方向（負の方向）である。この場合、countの値は、phase_noの値から減算される。
【００６３】
S14で対辺の値が上限値U_limitよりも大きい場合は、制御部33は、位相範囲を変更する（S16）。このときの位相範囲の移動方向は、S6又はS7で指定した回転方向と同一方向（正の方向）である。この場合、countの値は、phase_noの値に加算される。
【００６４】
S14で対辺の値が上限値U_limit以下であった場合は、制御部33は、現在の位相範囲に検出位相が存在すると判定する。すなわち、S14において、位相範囲の変更は行われない。
【００６５】
以上説明したフローチャートの処理を周期的に例えば、100μS周期でおこなうことで、高精度に位相の変化に追従できる。
【００６６】
以上説明したように、本実施形態のエンコーダの内挿装置の機能を実現する制御プログラムを制御部33によって実行することにより、制御部33は、エンコーダ20から入力された現在の位相の位置を、2回の乗算と2回の比較演算だけで判定できる。このため、この位置判定に係る演算負荷は小さい。このように、本発明の技術は、ソフトウェアによっても実現され得る。
【００６７】
次に、本発明の第3の実施形態について説明する。本実施形態におけるエンコーダの内挿装置は、前述の第1の実施形態又は第2の実施形態で説明したものと同じ機能を有する構成に加えて、分解能を動的に切替える制御を行うための構成をさらに有している。
【００６８】
図１５は、１周期の分割数を切り替えることによる分解能の切り替えを示した図である。
本実施形態に係るエンコーダの内挿装置は、通常では第1の実施形態又は第2の実施形態と同様に、32分割された位相範囲で動作し、場合によって、図１５に示すように16分割された位相範囲で動作する。このように、本実施形態に係るエンコーダの内挿装置は、複数の異なる分解能で動作する。
【００６９】
本実施形態のエンコーダの内挿装置は、例えばエンコーダが取り付けられている図示しない駆動部が高速で動作している場合、すなわち2相の信号の位相の変化が大きい場合、分解能を1/2に、つまり32分割から16分割に切替える。これにより、位相範囲の検出追従性は2倍に向上する。したがって、高速な動作を追従しやすくなる。本実施形態のエンコーダの内挿装置は、位相範囲を低分解能に切り替えるための閾値として32分割時の閾値を1つおきに使用する。これにより、位相範囲の分解能を32分割から16分割へ簡単に切替えることができる。また、分解能を切り替えることによるリソースの増加はほぼ無い。
【００７０】
図１６及び図１７は、位相範囲と閾値との関係を示している。図１６は、例えば位相範囲1の例である。16分割の位相範囲を使用するときには、32分割時の閾値が１つおきに使用される。したがって、位相範囲1の場合、TH1、TH3、TH5が使用される。このとき、位相範囲1は、図１６に示すように、32分割時の位相範囲の2つ分、すなわち22.5°ごとに分割される。また、図１７は、例えば位相範囲2の例である。位相範囲2の場合もTH1、TH3、TH5が使用される。このとき、位相範囲2は、図１７に示すように、32分割時の位相範囲の2つ分、すなわち22.5°ごとに分割される。
【００７１】
以下、本実施形態の詳細について、図１８Ａ及び図１８Ｂのフローチャートを参照して説明する。なお、以下では第2の実施形態と同様のソフトウェアによる例を説明する。しかしながら、本実施形態の技術は、ハードウェアでも実現可能である。
【００７２】
まず、制御部33は、エンコーダの内挿装置30の電源が入力されるなどしたときに動作を開始する。制御部33は、エンコーダの内挿装置の制御プログラムを記録部31から読み出す。ADコンバータ32は、エンコーダ20から入力されたA相のアナログ信号をデジタル信号に変換して、デジタルＡ相信号Ainを取得する。また、ADコンバータ32は、エンコーダ20から入力されたB相とのアナログ信号をデジタル信号に変換して、デジタルB相信号Binを取得する（S21）。その後、制御部33は、デジタルA相信号AinとデジタルB相信号Binとから基準値Aref及び基準値Brefを減算して符号を持つ値を有するデジタル信号に変換し、A相信号AData及びB相信号BDataを取得する（S22）。
【００７３】
次に、制御部33は、A相とB相との関係から1周期を8分割したうちの対応する領域を推定する（S23）。この領域は、図４の関係から推定することができる。
【００７４】
次に、制御部33は、現在の位相範囲に基づいて、低分解能、すなわちA相とB相との各領域を16分割する場合の上限閾値U_th_lと下限閾値L_th_lとを選択する（S24）。すなわち、制御部33は、TH1、TH3、TH5の3つの閾値から隣接する2つの閾値を選択する。制御部33は、例えば、現在の位相範囲が2であれば、制御部33は、上限閾値U_th_lとしてTH5を選択し、下限閾値L_th_lとしてTH3を選択する。
【００７５】
つぎに、制御部33は、推定した領域に基づいて、位相範囲を変更する場合の回転方向を決定する。このために、制御部33は、推定した領域が領域I、VI、VII、VIIIのいずれかであるか否かを判定する（S25）。推定した領域がI、VI、VII、VIIIのいずれかである場合、制御部33は、countの値を1に設定する(S26)。一方、推定した領域がI、VI、VII、VIIIのいずれかでない、すなわち推定した領域がII、III、IV、Vのいずれかである場合、制御部33は、countの値を-1に設定する（S27）。
【００７６】
つぎに、制御部33は、A相信号ADataの絶対値とB相信号BDataの絶対値とのどちらが大きいかを判定することにより、ADataとBDataのどちらをA相とB相とを用いた正接値における底辺とするかを図４の関係を参照して決定する（S28）。
【００７７】
現在の位相範囲がI、IV、V、VIIIのいずれか一つの領域であると判定されたとき、制御部33は、A相が底辺となり、B相が対辺となるよう設定する。その後、制御部33は、A相信号ADataと、上限閾値及び下限閾値とをそれぞれ乗算して、低分解能上限値U_limit_l及び低分解能下限値L_limit_lを算出する（S29）。その後、制御部33は、B相のデジタル信号BDataをOpp_Dataとして選択する（S211）。
【００７８】
現在の位相範囲がI、IV、V、VIIIのいずれの領域でもないと判定されたとき、すなわち、現在の位相範囲がII、III、VI、VIIのいずれか一つの領域であるとき、制御部33は、B相が底辺となり、A相が対辺となるよう設定する。その後、制御部33は、B相のAD値と、上限閾値及び下限閾値を乗算して、低分解能上限値U_limit_l及び、低分解能下限値L_limit_lを算出する（S210）。その後、制御部33は、A相のデジタル信号ADataをOpp_Dataとして選択する（S212）。
【００７９】
制御部33は、対辺の値が低分解能下限値L_limit_l以上か否かを判定する（S213）。真（YES）の場合、制御部33は、対辺の値が低分解能上限値U_limit_lよりも小さいかを判定する（S214）。
【００８０】
S214の判定で偽（NO）の場合、制御部33は、現在の低分解能の位相範囲に検出位相が存在していないので位相範囲を変更する（S216）。低分解能のため、位相範囲の変更量は高分解能のときの変更量を2倍した値になる。その後、制御部33は、低分解能の位相範囲に基づく、高分解能の位相範囲の初期位置を設定する（S217）。ここでの初期位置に関しては、様々な決め方が考えられる。例えば、低分解能の位相範囲の中心にあたる高分解能の位相範囲を初期位置としてもよいし、低分解の位相範囲内で前回の位相範囲に最も近い高分解能の位相範囲を初期位置としても良い。S213で偽（NO）の場合、制御部33は、現在の低分解能の位相範囲に検出位相が存在していないので位相範囲を変更する（S218）。この場合も、低分解能のため、位相範囲の変更量は高分解能の変更量を2倍した値になる。その後、制御部33は、低分解能の位相範囲に基づく、高分解能の位相範囲の初期位置を設定する（S219）。初期位置の決め方は、S217と同様である。
【００８１】
以上のように、S213または、S214の判定のどちらかで偽（NO）となった場合は、前回検出した低分解能の位相範囲内に、今回の検出位相が存在しないため、位相範囲を対応する方向に変更して、1回の周期を終える。
【００８２】
S213及びS214の判定で真（YES）と判定された場合には、現在の低分解能の位相範囲に検出位相が存在していると考えることができる。この場合、制御部33は、上限閾値U_thと下限閾値L_thに現在の高分解能の位相範囲の上限閾値と下限閾値を設定する (S215)。高分解能であるため、TH1からTH5のうちの隣接する2つの閾値が選択される。
【００８３】
S215で閾値を設定した後、制御部33は、現在の位相範囲が存在する領域を判定する（S220）。現在の領域がI、IV、V、VIIIのいずれか一つの領域であると判定されたとき、制御部33は、底辺に対応するA相信号ADataと閾値から、上限値U_limit及び下限値L_limitを算出する（S221）。一方、現在の領域がI、IV、V、VIIIのいずれの領域でもないと判定されたとき、すなわち、現在の領域がII、III、VI、VIIのいずれか一つの領域であると判定されたとき、制御部33は、底辺に対応するA相信号AData値と閾値から、上限値U_limit及び下限値L_limitを算出する（S222）。
【００８４】
制御部33は、対辺に対応する値OPP_Dataが下限値L_limit以上かを判定し（S223）、さらに、OPP_Dataが上限値U_limitよりも小さいかを判定する（S224）。
【００８５】
S223及びS224での判定結果が共に真（YES）ならば、前回検出した高分解能の位相範囲内に、今回の検出位相が存在することを推定できる。
【００８６】
S223の判定で偽（NO）の場合は、前回検出した位相範囲に今回検出した位相が存在しないため、制御部33は、位相範囲を変更する（S226）。同様にS224が偽（NO）の場合も、制御部33は、位相範囲を変更する（S225）。高分解能の位相範囲の変更は第2の実施形態で説明したものと同様である。
【００８７】
以上述べてきたように、最初に低分解能で位相範囲を推定し、推定された場合は、さらに、高分解能で位相範囲を推定するので、駆動部の移動速度は速くなり高分解能で位置検出を追従できなくなった場合でも低分解能で位置検出の追従を継続できる。
【００８８】
次に第4の実施形態について説明する。図１９は、前述の各実施形態に係るエンコーダの内挿装置をカメラ用交換レンズに応用した一例の機能ブロック図である。交換レンズ40は、光学系41と、コントローラ42と、駆動部43と、エンコーダ44とを有している。さらにコントローラ42は、駆動制御部421と、内挿部422とを有している。なお、エンコーダ44は、前述の各実施形態で説明したエンコーダ20と対応している。また、内挿部422は、前述の各実施形態で説明したエンコーダの内挿装置10又は30と対応している。
【００８９】
光学系41は、交換レンズ40と接続している図示しないカメラ本体の撮像面に対して被写体像を結像させる。
【００９０】
駆動部43は、光学系41の一部を移動することにより、例えば、フォーカス位置を変化させるフォーカス制御を行う。駆動部43の動きは、エンコーダ44で、90度位相の異なる2相の正弦波信号として検出される。
【００９１】
エンコーダ44から出力された正弦波信号は、コントローラ42内の内挿部422において前述したような内挿処理が行われる。これにより、高分解能化された位相範囲の推定結果を得ることができる。なお、コントローラ42は、位相範囲の推定結果から被測定体の現在位置を検出することも行う。
【００９２】
駆動制御部421は、駆動部43に対して駆動パルスを出力し光学系41の駆動を行わせる。ここでは、駆動制御部421は、駆動パルスに応じて、駆動部43を高速に駆動する高速駆動又は低速に駆動する低速駆動を行う。
【００９３】
図２０は内挿部422の詳細なブロック図である。図２０において、第1の実施形態で説明したエンコーダの内挿装置と異なる構成のみを説明する。
【００９４】
閾値テーブル記録部７には、駆動制御部421による駆動部43の制御状態を示す情報が入力される。制御状態を示す情報は、駆動部43の制御状態が高速駆動か又は低速駆動かの違いを示す情報である。
【００９５】
閾値テーブル記録部7には、低分解能用の正接値の閾値テーブルと高分解能用の正接値の閾値テーブルとが記憶されている。この閾値テーブル記録部7は、高速駆動であることを示す情報の入力により、低分解能テーブルに従って閾値を出力し、低速駆動であることを示す情報の入力により、高分解能テーブルに従って閾値を出力する。
【００９６】
図２１は、フォーカス制御時等の駆動部43の駆動制御の一例を示すタイムチャートであり、駆動部43の駆動速度の時間変化を示している。
【００９７】
フォーカス制御では、最初に駆動部43の駆動目標位置がコントローラ42の駆動制御部421へ通知される。これを受けて駆動制御部421は、駆動部43に対して駆動パルスを入力する。駆動部43は、駆動パルスの入力を受けて光学系41を駆動目標位置まで駆動させる。このようなフォーカス制御では、光学系41を駆動目標位置に速く正確に移動させることが要求される。
【００９８】
このため、駆動制御部421は、位置検出結果を参照しながら、駆動の初期は駆動部43を高速に駆動することでいち早く駆動目標位置に近付けさせ、また、駆動部43が駆動目標位置に近づくとゆっくり駆動させ、また、正確に停止できるように制御する。
【００９９】
図２１の例では、駆動部43が高速駆動中であるとき、コントローラ42の内挿部422は追従性を重視するために位相範囲の推定を低分解能で行う。駆動部43が低速駆動に移行してからは、コントローラ42の内挿部422は、正確な位置検出を行なうために位相範囲の推定を高分解能で行う。
【０１００】
図２２Ａ及び図２２Ｂは、本実施形態のコントローラ42の内挿部422による制御の流れを示す制御フローチャートである。なお、本実施形態の技術は、ハードウェアでも実現可能である。
【０１０１】
まず、内挿部422は、エンコーダ44からのA相とB相とのアナログ信号をデジタル信号に変換する（S41）。そして、内挿部422は、デジタル信号に変換したA相信号及びB相信号のそれぞれから基準値を減算し、それぞれの信号符号を持つ値に変換する（S42）。
【０１０２】
次に、内挿部422は、A相信号とB相信号の振幅の関係から1周期を8分割したうちの対応する領域を推定する（S43）。この領域の推定は、第2の実施形態と同様に、図４の関係から求めることができる。
【０１０３】
次に、内挿部422は、駆動制御部421の制御状態が高速駆動であるか否かを判定する（S44）。内挿部422は、高速駆動の場合は閾値テーブル記録部7に記録されている低分解能テーブルに従って上限閾値と下限閾値とを設定する（S45）。また、内挿部422は、低速駆動の場合は閾値テーブル記録部7に記録されている高分解能テーブルに従って上限閾値と下限閾値とを設定する（S46）。
【０１０４】
つぎに、内挿部422は、推定した領域に基づいて、位相範囲を変更する場合の回転方向を決定する。このために、内挿部422は、推定した領域が領域I、VI、VII、VIIIのいずれかであるか否かを判定する（S47）。推定した領域がI、VI、VII、VIIIのいずれかである場合、内挿部422は、countの値を1に設定する(S48)。一方、推定した領域がI、VI、VII、VIIIのいずれかでない、すなわち推定した領域がII、III、IV、Vのいずれかである場合、内挿部422は、countの値を-1に設定する（S49）。
【０１０５】
つぎに、内挿部422は、底辺と対辺を決定するための、現在の領域の判定を行う（S410）。現在の領域がI、IV、V、VIIIのいずれかであると判定されたとき、内挿部422は、A相が底辺となり、B相が対辺となるよう設定する。その後、内挿部422は、A相信号ADataと上限閾値及び下限閾値とをそれぞれ乗算して、低分解能上限値U_limit_l及び低分解能下限値L_limit_lを算出する（S411）。その後、内挿部422は、B相のデジタル信号BDataをOpp_Dataとして選択する（S412）。
【０１０６】
現在の位相範囲がI、IV、V、VIIIのいずれの領域でもないと判定されたとき、すなわち、現在の位相範囲がII、III、VI、VIIのいずれか一つの領域であるとき、内挿部422は、B相が底辺となり、A相が対辺となるよう設定する。その後、内挿部422は、B相のAD値と上限閾値及び下限閾値を乗算して、低分解能上限値U_limit_l及び、低分解能下限値L_limit_lを算出する（S413）。その後、内挿部422は、A相のデジタル信号ADataをOpp_Dataとして選択する（S414）。
【０１０７】
内挿部422は、対辺として選択した値が低分解能下限値L_limit以上かを判定する（S415）。この判定において真（YES）の場合は次の判定に移行し、内挿部422は、対辺として選択した値が低分解能上限値U_limitよりも小さいかを判定する（S421）。
【０１０８】
S415の判定で偽の場合、検出位相範囲は前回と異なる。このため、内挿部422は、位相範囲の変更を行う。本実施形態において、内挿部422は、駆動制御部421の制御状態が高速駆動であるか否かを判定する（S416）。駆動制御部421の制御状態が高速駆動であると判定されたとき、内挿部422は、低分解能の位相範囲を変更する(S417)。この変更はcountをn（＝1/分解能）倍することにより行われる。ここでは、第3の実施形態と同じ分解能が用いられるとすると、分解能は1/2でn=2である。この場合、第３の実施形態と同様にして位相範囲が変更される。低分解能の位相範囲の変更後、内挿部422は、高分解能の位相範囲も同じ位相範囲で一致させる（S418）。
【０１０９】
一方、駆動制御部421の制御状態が高速駆動ではなかったと判定されたとき、すなわち、制御状態が低速駆動であったとき、内挿部422は、高分解能の位相範囲を変更する。すなわち、内挿部422は、現在の高分解能の位相範囲からcountを減算する（S419）。高分解能の位相範囲の変更後、内挿部422は、低分解能の位相範囲を変更後の高分解能の位相範囲を含む低分解能位相範囲に更新する（S420）。
【０１１０】
内挿部422は、S421の判定で偽と判定された場合も、検出位相範囲は前回と異なるため、位相範囲の変更を行う。本実施形態において、内挿部422は、駆動制御部421の制御状態が高速駆動であるか否かを判定する（S422）。
【０１１１】
駆動制御部421の制御状態が高速駆動であると判定されたとき、内挿部422は、低分解能の位相範囲を変更する（S423）。変更のさせ方は基本的にはS417と同様であるがcountを減算ではなく加算する点が異なる。その後、内挿部422は、高分解能の位相範囲も同じ移動範囲で一致させる（S424）。
【０１１２】
一方、駆動制御部421の制御状態が高速駆動ではないと判定されたとき、すなわち、駆動制御部421の制御状態が低速駆動であったとき、内挿部422は、高分解能の位相範囲を変更する。すなわち、内挿部422は、現在の高分解能の位相範囲にcountを加算する（S425）。さらに、内挿部422は、低分解能の位相範囲を変更後の高分解能の位相範囲を含む低分解能の位相範囲に更新する（S426）。
【０１１３】
S415及びS421の両方の判定で真（YES）の場合は、前回推定した位相範囲と今回推定した位相範囲とが一致するため、位相範囲は推定される。
【０１１４】
以上、述べてきたように、本発明の第4実施形態に係る交換レンズ40は、駆動速度にあわせた分解能で位置を検出することができるので、制御負荷を低減しつつ高精度な位置検出も行える。
【０１１５】
なお、上記した各実施形態において示した制御フローは、本発明を実施するための一例であり、限定されるものではなく、本発明の要旨を逸脱しない限り様々な変形が可能である。また、第３の実施形態では、低分解能と高分解能の比率を1:2としたが、1:10等のように、駆動部の移動速度に合わせて最適な値に変更するのが良い。また、2つの分解能に限定するものではなく、2つ以上の複数の分解能を持たせることも可能である。さらに、駆動部を駆動する速度の情報を入手することができれば、駆動速度に応じて分解能を最適にあわせることで、位相範囲の検出を1回で済ませることができる。
【符号の説明】
【０１１６】
1a…第1ADコンバータ、  1b…第2ADコンバータ、  2a…第1基準値補正部、  2b…第2基準値補正部、  3…領域判定部、  4a…第１乗算部、  4b…第２乗算部、  5a…上限比較部、  5b…下限比較部、  6…位相推定部、  7…閾値テーブル記録部、  20…エンコーダ、  40…交換レンズ、  41…光学系、  42…コントローラ、  43…駆動部、  44…エンコーダ、  421…駆動制御部、  422…内挿部。
【図１】
2016033452.tif 000003
【図２】
2016033452.tif 000004
【図３】
2016033452.tif 000005
【図４】
2016033452.tif 000006
【図５】
2016033452.tif 000007
【図６】
2016033452.tif 000008
【図７】
2016033452.tif 000009
【図８】
2016033452.tif 000010
【図９】
2016033452.tif 000011
【図１０】
2016033452.tif 000012
【図１１】
2016033452.tif 000013
【図１２】
2016033452.tif 000014
【図１３】
2016033452.tif 000015
【図１４】
2016033452.tif 000016
【図１５】
2016033452.tif 000017
【図１６】
2016033452.tif 000018
【図１７】
2016033452.tif 000019
【図１８Ａ】
2016033452.tif 000020
【図１８Ｂ】
2016033452.tif 000021
【図１９】
2016033452.tif 000022
【図２０】
2016033452.tif 000023
【図２１】
2016033452.tif 000024
【図２２Ａ】
2016033452.tif 000025
【図２２Ｂ】
2016033452.tif 000026