(57)【要約】【課題】回転検出用パターンのパターン要素部に配置誤差があっても、モータの回転を高精度に検出する。【解決手段】回転検出装置は、モータ１０６ａの回転に伴って回転し、回転方向に回転検出用パターンを形成する複数のパターン要素部が配置された回転部材１０６ｃと、パターン要素部が回転することに応じて変化する検出信号を出力する信号出力手段１０ｃと、パターン要素部の配置誤差による回転部材の回転位置と検出信号の変化との関係の誤差の補正を行うための補正情報として、パターン要素部ごとに用意された複数の補正値を記憶した記憶手段１１１ａとを有する。補正手段１１１は、モータにより駆動される被駆動部材が原点位置に位置する状態での回転部材の回転位置を基準位置として、該基準位置から回転部材が回転したときの検出信号の変化ごとに、各補正値を用いて上記補正を行う。【選択図】図１
2015021840.tif 000002
【特許請求の範囲】
【請求項１】
モータの回転に伴って回転し、その回転方向に回転検出用パターンを形成する複数のパターン要素部が配置された回転部材と、
前記回転部材とともに前記パターン要素部が回転することに応じて変化する検出信号を出力する信号出力手段と、
前記回転部材における前記パターン要素部の配置誤差による前記回転部材の回転位置と前記検出信号の変化との関係の誤差の補正を行うための補正情報として、前記パターン要素部ごとに用意された複数の補正値を記憶した記憶手段と、
前記モータにより駆動される被駆動部材が原点位置に位置する原点状態での前記回転部材の回転位置を基準位置として、該基準位置から前記回転部材が回転したときの前記検出信号の変化ごとに、前記各補正値を用いて前記補正を行う補正手段とを有することを特徴とする回転検出装置。
【請求項２】
前記補正手段は、
前記原点状態での前記検出信号を基準信号として記憶し、
前記基準信号と、該基準信号を記憶した後の前記原点状態で得られた前記検出信号との差に基づいて、前記基準位置を補正することを特徴とする請求項１に記載の回転検出装置。
【請求項３】
前記補正手段は、
前記原点状態での温度を基準温度として記憶し、
前記基準温度と、該基準温度を記憶した後の前記原点状態で得られた温度との差に基づいて前記基準位置を補正することを特徴とする請求項１または２に記載の回転検出装置。
【請求項４】
前記被駆動部材が前記原点位置に向かって駆動されているときは前記補正を行わない、又は前記補正値の平均値を用いて前記補正を行うことを特徴とする請求項１から３のいずれか一項に記載の回転検出装置。
【請求項５】
前記回転部材は、前記パターン要素としてＳ極の着磁部とＮ極の着磁部とが前記回転方向に交互に配置されたマグネットであり、
前記信号出力手段は、前記回転部材とともに前記着磁部が回転することに応じた磁束密度の変化に応じて変化する前記検出信号を出力する磁気検出素子であることを特徴とする請求項１から４のいずれか一項に記載の回転検出装置。
【請求項６】
前記回転部材は、前記パターン要素として光を透過する透過部と非透過部または光を反射する反射部と非反射部が前記回転方向に交互に配置されたれた光学部材であり、
前記信号出力手段は、発光部と該発光部から前記透過部または反射部を介して入射した光を検出する受光部とを有することを特徴とする請求項１から４のいずれか一項に記載の回転検出装置。
【請求項７】
前記補正値は、工場調整時に取得されることを特徴とする請求項１から６のいずれか一項に記載の回転検出装置。
【請求項８】
請求項１から７のいずれか一項に記載の回転検出装置と、
該回転検出装置の前記補正手段による前記補正後の前記検出信号を用いてモータの駆動を制御する制御手段とを有することを特徴とするモータ制御装置。
【請求項９】
モータと、
該モータにより駆動される被駆動部材と、
該被駆動部材の原点位置を検出する原点検出手段と、
請求項８に記載のモータ制御装置とを有することを特徴とするモータ被駆動装置。
【請求項１０】
前記被駆動部材が撮像に用いられる光学素子であることを特徴とする請求項９に記載のモータ被駆動装置。
【請求項１１】
モータの回転に伴って回転し、その回転方向に回転検出用パターンを形成する複数のパターン要素部が配置された回転部材と、前記回転部材とともに前記パターン要素部が回転することに応じて変化する検出信号を出力する信号出力手段とを有する回転検出装置の補正方法であって、
前記回転部材における前記パターン要素部の配置誤差による前記回転部材の回転位置と前記検出信号の変化との関係の誤差の補正を行うための補正情報として、前記パターン要素部ごとに用意された複数の補正値を記憶手段に記憶し、
前記モータにより駆動される被駆動部材が原点位置に位置する原点状態での前記回転部材の回転位置を基準位置として、該基準位置から前記回転部材が回転したときの前記検出信号の変化ごとに、前記各補正値を用いて前記補正を行うことを特徴とする回転検出装置の補正方法。
【請求項１２】
モータの回転に伴って回転し、その回転方向に回転検出用パターンを形成する複数のパターン要素部が配置された回転部材と、前記回転部材とともに前記パターン要素部が回転することに応じて変化する検出信号を出力する信号出力手段とを有する回転検出装置における補正処理をコンピュータに実行させるためのコンピュータプログラムであって、
前記回転部材における前記パターン要素部の配置誤差による前記回転部材の回転位置と前記検出信号の変化との関係の誤差の補正を行うための補正情報として、前記パターン要素部ごとに用意された複数の補正値を記憶手段に記憶させるステップと、
前記モータにより駆動される被駆動部材が原点位置に位置する原点状態での前記回転部材の回転位置を基準位置として、該基準位置から前記回転部材が回転したときの前記検出信号の変化ごとに、前記各補正値を用いて前記補正を行うステップとを有することを特徴とする回転検出装置の補正プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロータリーエンコーダ等とも称される回転検出装置に関し、特にモータの制御に用いられる回転検出装置に関する。
【背景技術】
【０００２】
モータの回転量や回転速度を精度良く制御するために、ロータリーエンコーダを用いて検出したモータの実際の回転量や回転速度をフィードバックし、これらが目標となる回転量や回転速度に近づくようにモータを制御するフィードバック制御が行われる。ロータリーエンコーダは、モータの回転に伴って回転する回転部材と、該回転部材に設けられた回転検出用パターンを磁気的または光学的に検出するセンサとを有する。
【０００３】
回転検出用パターンは、回転部材の回転方向に配置された複数のパターン要素部（Ｓ極およびＮ極の着磁部や、光に対する透過部／反射部および非透過／非反射部）により構成されている。これらパターン要素部が回転部材上における設計上の位置に正確に配置されていれば、モータの回転量や回転速度を精度良く検出することができる。ただし、回転部材の製造誤差によってパターン要素部の配置が設計上の位置からずれる、すなわち配置誤差を持つことが多い。
【０００４】
特許文献１には、モータの駆動マグネットにおける着磁ピッチの誤差の影響を除去するため、エンコーダ出力の変化エッジから時間軸上で所定数手前の変化エッジまでのエッジ間隔から周期を求め、該周期に基づいて回転速度を算出する方法が開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平１０−２２９６９１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１にて開示された方法では、隣り合うパターン要素部を用いて回転速度を算出していないため、回転速度の検出分解能が粗くなり、回転速度の微小な振動的変化を検出することができない。
【０００７】
本発明は、回転検出用パターンのパターン要素部に配置誤差があっても、モータの回転を高精度に検出することができるようにした回転検出装置、さらにはこれを用いたモータ制御装置およびモータ被駆動装置を提供する。
【課題を解決するための手段】
【０００８】
本発明の一側面としての回転検出装置は、モータの回転に伴って回転し、その回転方向に回転検出用パターンを形成する複数のパターン要素部が配置された回転部材と、該回転部材とともにパターン要素部が回転することに応じて変化する検出信号を出力する信号出力手段と、該回転部材におけるパターン要素部の配置誤差による回転部材の回転位置と検出信号の変化との関係の誤差の補正を行うための補正情報として、パターン要素部ごとに用意された複数の補正値を記憶した記憶手段と、モータにより駆動される被駆動部材が原点位置に位置する原点状態での回転部材の回転位置を基準位置として、該基準位置から回転部材が回転したときの検出信号の変化ごとに、各補正値を用いて上記補正を行う補正手段とを有することを特徴とする。
【０００９】
なお、上記回転検出装置と、該回転検出装置による補正後の検出信号を用いてモータの駆動を制御する制御手段とを有するモータ制御装置も、本発明の他の一側面を構成する。
【００１０】
また、モータと、該モータにより駆動される被駆動部材と、該被駆動部材の原点位置を検出する原点検出手段と、上記モータ制御装置とを有することをモータ被駆動装置も、本発明の他の一側面を構成する。
【００１１】
また、本発明の他の一側面としての補正方法は、モータの回転に伴って回転し、その回転方向に回転検出用パターンを形成する複数のパターン要素部が配置された回転部材と、該回転部材とともにパターン要素部が回転することに応じて変化する検出信号を出力する信号出力手段とを有する回転検出装置に適用される。該補正方法は、回転部材におけるパターン要素部の配置誤差による回転部材の回転位置と検出信号の変化との関係の誤差の補正を行うための補正情報として、パターン要素部ごとに用意された複数の補正値を記憶手段に記憶し、モータにより駆動される被駆動部材が原点位置に位置する原点状態での回転部材の回転位置を基準位置として、該基準位置から回転部材が回転したときの検出信号の変化ごとに、各補正値を用いて上記補正を行うことを特徴とする。
【００１２】
さらに、本発明の他の一側面としての補正プログラムは、モータの回転に伴って回転し、その回転方向に回転検出用パターンを形成する複数のパターン要素部が配置された回転部材と、該回転部材とともにパターン要素部が回転することに応じて変化する検出信号を出力する信号出力手段とを有する回転検出装置における補正処理をコンピュータに実行させるためのコンピュータプログラムである。補正プログラムは、回転部材におけるパターン要素部の配置誤差による回転部材の回転位置と検出信号の変化との関係の誤差の補正を行うための補正情報として、パターン要素部ごとに用意された複数の補正値を記憶手段に記憶させるステップと、モータにより駆動される被駆動部材が原点位置に位置する原点状態での回転部材の回転位置を基準位置として、該基準位置から回転部材が回転したときの検出信号の変化ごとに、各補正値を用いて上記補正を行うステップとを有することを特徴とする。
【発明の効果】
【００１３】
本発明によれば、回転部材に設けられた回転検出用パターンのパターン要素部に配置誤差があっても、モータの回転を高精度に検出することができる。そして、この回転検出装置を用いることにより、モータの回転位置や回転速度等を高精度に制御することができ、さらには被駆動部材の駆動位置や駆動速度を高精度に制御することができる。
【図面の簡単な説明】
【００１４】
【図１】本発明の実施例１である磁気式ロータリーエンコーダを備えたデジタル一眼レフカメラシステムの構成を示すブロック図。
【図２】実施例１におけるステッピングモータを含むフォーカスモータユニットを示す斜視図。
【図３】実施例１におけるフォーカスレンズの原点検出機構を示す斜視図。
【図４】実施例１におけるステッピングモータの励磁波形とそのステップ値を示す図。
【図５】実施例１におけるエンコーダマグネットの着磁ピッチ誤差を示す図。
【図６】実施例１におけるエンコーダの出力と補正値との関係を示す図。
【図７】実施例１における温度変化によるフォーカスレンズの原点位置の変化量を示す図。
【図８】実施例１におけるエンコーダ（ホールＩＣ）の出力パターンを示す図。
【図９】実施例１におけるエンコーダマグネットの補正情報取得動作を示すフローチャート。
【図１０】実施例１におけるフォーカスレンズの制御動作を示すフローチャート。
【図１１】実施例１で使用するグレイコードの概念図。
【図１２】実施例１の変形例としての光学式ロータリーエンコーダの構成を示す図。
【発明を実施するための形態】
【００１５】
以下、本発明の実施例について図面を参照しながら説明する。
【００１６】
図１には、本発明の実施例１である磁気式ロータリーエンコーダを備えたモータ被駆動装置としての交換レンズ２００と該交換レンズ２００の着脱が可能な撮像装置としてのデジタル一眼レフカメラ１００の構成を示している。なお、撮像装置は、デジタルスチルカメラやデジタルビデオカメラであってもよいし、レンズ一体型カメラであってもよい。また、顕微鏡であってもよい。
【００１７】
交換レンズ２００は、被写体側から順に、固定レンズ１０１と、ズームレンズ１０２と、絞り１０３と、防振レンズ１０４と、フォーカスレンズ（光学素子）１０５とにより構成される撮影光学系を有する。ズームレンズ１０２は光軸方向に移動して変倍を行い、フォーカスレンズ１０５は光軸方向に移動して焦点調節を行う。絞り１０３は、その開口径を増減させることで通過光量を変化させる。防振レンズ１０４は光軸に直交する方向に移動（シフト）して手振れ等によるカメラ振れに起因する像振れを低減（補正）する。
【００１８】
また、交換レンズ２００には、ズームレンズ１０２を駆動するズーム駆動部１１０と、絞り１０３を駆動する絞り駆動部１０９と、防振レンズ１０４を駆動するシフト駆動部１０８と、フォーカスレンズ１０５を駆動するフォーカス駆動部１０６とを有する。各駆動部は、駆動源となるモータ等のアクチュエータを含む。上記各駆動部は、交換レンズ２００内に設けられたレンズコントローラとしてのレンズＩＣ１１１により制御される。
【００１９】
交換レンズ２００に設けられた不図示のズームリングが使用者によって操作されると、レンズＩＣ１１１は、その操作量に応じてズーム駆動部１１０を介してズームレンズ１０２を駆動する。ズームレンズ１０２の位置は電気的に検出されており、該検出された位置に応じてレンズＩＣ１１１が合焦状態を維持するためにフォーカスレンズ１０５の駆動方向と駆動量を算出し、それらを含むズームトラッキング駆動命令をフォーカス駆動部１０６に与える。また、使用者が交換レンズ２００に設けられた不図示のマニュアルフォーカスリングを操作すると、レンズＩＣ１１１はその操作量に応じてフォーカスレンズ１０５の駆動量を算出し、それを含むマニュアルフォーカス駆動命令をフォーカス駆動部１０６に与える。さらに、レンズＩＣ１１１は、後述するようにカメラＩＣ１１８からのＡＦ駆動命令を受けて、フォーカス駆動部１０６を介してフォーカスレンズ１０５を移動させることにより、オートフォーカス（ＡＦ）を行う。
【００２０】
また、レンズＩＣ１１１は、カメラＩＣ１１８から測光結果に基づく絞り駆動命令を受けて絞り駆動部１０９を介して絞り１０３を駆動する。さらに、レンズＩＣ１１１は、交換レンズ２００（又はカメラ１００）に設けられたジャイロセンサ等の振れセンサ１２２により検出された手振れ等によるレンズ振れ（つまりはカメラ振れ）に基づいて、シフト駆動部１０８を介してシフトレンズ１０４をシフトさせる。
【００２１】
一方、図１において、カメラ１００は、ＣＭＯＳセンサやＣＣＤセンサにより構成される光電変換素子としての撮像素子１１２と、該撮像素子１１２の出力をサンプリングしてゲインを調整するＣＤＳ／ＡＧＣ回路１１３と、撮像処理回路１１４とを有する。撮像処理回路１１４は、カメラコントローラとしてのカメラＩＣ１１８からの指令に従って、ＣＤＳ／ＡＧＣ回路１１３からの出力信号に対して各種画像処理を行い、画像を生成する。生成された画像はモニタ１１５に表示されたり、記録部１１６により不図示の記録媒体（半導体メモリ等）に記録されたりする。
【００２２】
また、カメラ１００は、ＡＦ処理回路１１７を有する。ＡＦ処理回路１１７は、ＣＤＳ／ＡＧＣ回路１１３からの全画素の出力信号のうち焦点検出に用いられる画素の信号から高周波成分や輝度差成分を抽出してＡＦ評価信号を生成する。カメラＩＣ１１８は、ＡＦ評価信号の値（ＡＦ評価値）が最大となるフォーカスレンズ１０５の位置（合焦位置）を探索し、合焦位置にフォーカスレンズ１０５を移動させるため、レンズＩＣ１１１に対してフォーカス駆動命令を出力する。レンズＩＣ１１１は、該フォーカス駆動命令に従って、フォーカス駆動部１０６を介してモータ１０６ａの励磁コイルの通電を制御する。これにより、モータ１０６ａの駆動およびその回転速度（加速、定速および減速）が制御され、フォーカスレンズ１０５の移動およびその移動速度が制御される。こうして、オートフォーカス（ＡＦ）制御が行われる。
【００２３】
図２および図３には、フォーカス駆動部１０６に含まれるフォーカスモータユニットの構成を示している。フォーカスモータユニットは、ブラシレスモータとしてのステッピングモータ１０６ａと、該モータ１０６ａの出力軸であるリードスクリュー１０６ｂとを有する。ステッピングモータ１０６ａおよびリードスクリュー１０６ｂは、モータホルダー１０６ｅによって保持されている。なお、ブラシレスモータは、ステッピングモータに限定されず、リラクタンスモータやその他のブラシレスモータでもよい。
【００２４】
また、フォーカスモータユニットは、リードスクリュー１０６ｂの一端部に取り付けられ、該リードスクリュー１０６ｂと一体回転する回転部材としてのエンコーダマグネット１０６ｃを有する。さらに、フォーカスモータユニットは、モータホルダー１０６ｅにより保持された信号出力手段としてのホールＩＣ（磁気検出素子）１０７を有する。エンコーダマグネット１０６ｃは、モータ１０６ａ内のマグネットロータ（図示せず）と同様に円筒形状の永久磁石により構成されており、その外周面にはそれぞれパターン要素部としてのＮ極の着磁部およびＳ極の着磁部が回転方向に交互に配置されている。Ｎ極とＳ極の着磁部が交互に配置されることで、回転検出用パターンが構成される。エンコーダマグネット１０６ｃにおけるＮ極とＳ極の着磁部の合計数（本実施例では１０極）は、マグネットロータにおける着磁部の数に等しい。
【００２５】
ホールＩＣ１０７は、エンコーダマグネット１０６ｃの回転による磁束密度（磁界）の変化を、ステッピングモータ１０６ａの回転を示す電気信号として互いに位相が異なる２相の交番信号を生成する。そして、ホールＩＣ１０７は、各交番信号を、その値が所定値を超えた（ホールＩＣ１０７が受ける磁界の強さが所定強度を超えた）か否かで出力値がＨｉｇｈとＬｏｗに変化する２値のデジタル信号（パルス信号）に変換する。これにより、ホールＩＣ１０７からは、それぞれ立ち上がりエッジ（ＬｏｗからＨｉｇｈへの変化）と立ち下がりエッジ（ＨｉｇｈからＬｏｗへの変化）とを交互に含む２相の２値信号（検出信号）が出力される。エンコーダマグネット１０６ｃと、ホールＩＣ１０７と、後述するようにホールＩＣ１０７からの出力の補正手段として機能するレンズＩＣ１１１とにより、回転検出装置としての磁気式ロータリーエンコーダが構成される。また、このエンコーダと、補正後のエンコーダの出力を用いてフォーカスレンズ１０５の駆動を制御するレンズＩＣ１１１とによりモータ制御装置が構成される。
【００２６】
なお、ロータリーエンコーダとしては、本実施例のような２値信号を出力するデジタルエンコーダに限らず、正弦波信号を出力するアナログエンコーダを用いることもできる。
【００２７】
さらに、フォーカスモータユニットは、モータ１０６ａの励磁コイル（図示せず）に対する通電を行うモータドライバ１０６ｄと、リードスクリュー１０６ｂに噛み合ったラック１０６ｆとを有する。ラック１０６ｆは、図３に示すようにフォーカスレンズ１０５（実際にはフォーカスレンズ１０５を保持する部材であるフォーカス保持枠１０６ｉ）に取り付けられている。このため、モータ１０６ａが回転してリードスクリュー１０６ｂが回転すると、ラック１０６ｆを介してフォーカスレンズ１０５が、リードスクリュー１０６ｂが延びる光軸方向に駆動される。
【００２８】
また、図３には、フォーカスモータユニットにおける原点位置検出機構を示している。フォーカスレンズ１０５は光軸方向において所定の駆動範囲内で移動可能である。フォーカス保持枠１０６ｉには、遮光壁部１０６ｇが形成されている。また、交換レンズ２００の不図示の鏡筒本体におけるフォーカスレンズ１０５の位置検出のための基準位置となる原点位置に対応する位置には、フォトインタラプタ１０６ｈが固定されている。
【００２９】
フォトインタラプタ１０６ｈは、発光素子と受光素子とが対向して設置されて構成されている。フォーカスレンズ１０５とともに移動する遮光壁部１０６ｇが発光素子と受光素子との間に入っていない状態では、発光素子からの光が受光素子により受光され、受光素子からＨｉｇｈレベルの信号が出力される。一方、遮光壁部１０６ｇが発光素子と受光素子との間に入って発光素子からの光が遮られ、受光素子により受光されなくなると、受光素子からＬｏｗレベルの信号が出力される。この受光素子からの信号のＨｉｇｈレベルからＬｏｗレベルへの切り替わりにより、フォーカスレンズ１０５が原点位置に位置すること、つまりは原点状態にあることを検出することができる。
【００３０】
次に、本実施例において、ホールＩＣ（以下、エンコーダともいう）１０７から出力される２相の検出信号（２値信号）の補正に用いられる補正情報について説明する。補正情報は、エンコーダ１０７からの２相の検出信号（以下、それぞれをエンコーダ出力ともいう）の各エッジに適用する補正値と、原点状態での２相のエンコーダ出力の組み合わせ（以下、エンコーダ出力パターンともいう）と、補正情報取得時の温度情報とを含む。原点状態におけるエンコーダ出力パターンおよび補正情報取得時の温度については後述し、ここではエンコーダ出力の各エッジに適用する補正値について説明する。
【００３１】
図４には、レンズＩＣ１１１からのフォーカス駆動命令に応じてモータドライバ１０６ｄによりモータ１０６ａの励磁コイルに印加される励磁信号の電圧波形（以下、単に励磁波形という）を示す。本実施例では入力電圧の振幅を一定としてパルス幅を変調するＰＷＭ制御によって正弦波状の励磁波形を生成している。また、本実施例では、同図に示すように、正弦波の１周期を１０００ステップに分割し、各ステップで所定のＰＷＭ比を生成することでモータ１０６ａの正弦波駆動を実現する。
【００３２】
図５には、エンコーダマグネット１０６ｃの着磁部の配置を示す。前述したようにセンサマグネット１０６ｃの外周には回転方向に１０極の着磁部が設けられており、これら１０極の着磁部は均一に着磁されていることが望ましい。しかし、実際には、着磁する過程で着磁に用いられるヨークの位置がずれたり、複数のエンコーダマグネットを同時に着磁したりするために、製造誤差が発生する。これにより、個々のエンコーダマグネット１０６ｃにおける１０極の着磁部が均一に着磁されず、しかも複数のエンコーダマグネット間での着磁状態に差（ばらつき）が生じる。
【００３３】
１０極の着磁部が均一に着磁されていれば、図５に示す３６deg，７２deg，１０８deg，１４４deg，１８０deg，２１６deg,  ２５２deg，２８８deg,３２４degという等ピッチで着磁部が形成され、磁極が変化する。しかし、上述した製造誤差により、各着磁部の配置誤差（以下、着磁ピッチずれという）が生ずる。本実施例では、エンコーダ出力からモータ１０６ａの角速度を算出し、目標速度との差を算出し、該差が０に近づくようにモータ１０６ａをフィードバック制御する。この場合、エンコーダマグネット１０６ｃの着磁ピッチずれは算出される角速度に直接影響してその精度を低下させるため、高い精度でフィードバック制御を行うためにはエンコーダ出力から着磁ピッチずれによる誤差成分を取り除く必要がある。そこで、本実施例では、エンコーダ出力の各エッジに対して以下に説明する補正値を適用することで、エンコーダ出力から着磁ピッチずれによる誤差成分を除去する。補正値は、エンコーダマグネット１０６ｃにおける着磁部の配置誤差によるエンコーダマグネット１０６ｃの回転位置とエンコーダ出力のエッジとの関係の誤差の補正を行うための補正情報と言える。
【００３４】
本実施例では、補正手段としてのレンズＩＣ１１１が、エンコーダ出力のエッジ（変化タイミング）に対応するモータ１０６ａの励磁電圧のステップ値（０〜９９９）から補正値を算出（用意）する。エンコーダマグネット１０６ｃにおける１０極の着磁部が均一に着磁されているならば、等速回転時におけるエンコーダ出力の変化タイミングでの励磁電圧のステップ値はＮ極とＳ極とでそれぞれ一意の値となる。したがって、補正値は、着磁ピッチずれを有するエンコーダマグネット１０６ｃに対して等速回転時のエンコーダ出力の変化タイミングでの励磁電圧のステップ値が一意の値となるように設定される。また、どの補正値がどの回転位置に対応するかも同時に記憶しておく必要がある。
【００３５】
具体的には、モータ１０６ａを定速回転させておき、任意のエンコーダ出力の変化タイミングでの励磁電圧のステップ値を基準値として、次のエンコーダ出力の変化タイミングでのステップ値の基準値に対する差が５００となるように補正値を定める。また、その次の変化タイミングでの励磁電圧のステップ値が基準値と同じステップ値となるように補正値を定める。このような補正値の算出を、エンコーダマグネット１０６ｃの全１０極の着磁部に対して着磁部ごとに行い、１相のエンコーダ出力に対して１０個の補正値を生成する。なお、ここにいう基準値は、フォーカスレンズ１０５の原点位置におけるエンコーダ出力の変化タイミングでの励磁電圧のステップ値と一致する必要はない。
【００３６】
また、本実施例では、エンコーダマグネット１０６ｃの回転方向による誤差成分の差を考慮して、正回転方向および逆回転方向のそれぞれで補正値を生成する。正回転方向は、例えばより至近側の被写体に対して合焦状態を得る際にフォーカスレンズ１０５を駆動する方向（以下、至近方向という）に対応する。また、逆回転方向は、より無限遠側の被写体に対して合焦状態を得る際のフォーカスレンズ１０５を駆動する方向（以下、無限遠方向という）に対応する。このようにして１０極に対して両回転方向用の２０個の補正値が２相のエンコーダ出力のそれぞれに生成されるため、計４０個の補正値を補正情報として用意することになる。この４０個の補正値は、レンズＩＣ１１１内に設けられたＲＯＭ（記憶手段）１１１ａに記憶される。
【００３７】
そして、レンズＩＣ１１１は、モータ１０６ａが駆動されると、エンコーダマグネット１０６ｃの回転方向と回転位置およびエンコーダ出力の相に対応する補正値をＲＯＭ１１１ａから読み出してエンコーダ出力を補正する。なお、補正値の内容や生成方法は本実施例にて説明したもの以外のものでもよく、エンコーダ出力のエッジ単位で適用可能な補正値であればよい。
【００３８】
図６には、エンコーダ出力に対する補正例を示す。図中の上段には、エンコーダマグネット１０６ｃ、つまりはモータ１０６ａを等速回転させたときの補正前のエンコーダ出力（図５に矢印で示す区間でのエンコーダ出力）の波形の例を示しており、横軸は時間を、縦軸はエンコーダ出力値を示す。また、図中の中段には、２相のエンコーダ出力のうち１相における１０個のエッジに対して図５に矢印で示す回転方向にて適用する補正値の列を示している。さらに、図中の下段には、補正後のエンコーダ出力の波形の例を示しており、横軸は時間を、縦軸はエンコーダ出力値を示す。
【００３９】
図６の上段において、破線は着磁ピッチずれがない理想的なエンコーダマグネットを用いた場合でのエンコーダ出力の波形を示しており、実線は着磁ピッチずれを有するエンコーダマグネット１０６ｃを用いた場合でのエンコーダ出力の波形を示している。補正は、実線の出力波形を破線の出力波形に近づける（望ましくは一致させる）処理である。
【００４０】
最初のエンコーダ出力のエッジはエンコーダマグネット１０６ｃの３２４degの回転位置での出力に相当するので、該エッジには補正値として−８のステップ値が適用される。この補正値は時間的にマイナス方向のステップ値であるが、本実施例ではてエンコーダ出力をモータ１０６ａの角速度の算出にのみ使用するため、問題はない。
【００４１】
次のエンコーダ出力のエッジはエンコーダマグネット１０６ｃの０degの回転位置での出力に相当するので、このエッジには補正値として７のステップ値が適用される。以下、同様にエンコーダマグネット１０６ｃの３６deg，７２deg，１０８degの回転位置でのエッジに対して、それぞれのエッジに対応する補正値を適用する。これにより、図６の下段に示すような時間的に等間隔なエンコーダ出力がレンズＩＣ１１１内で擬似的に得られる。
【００４２】
ここで、最初に補正値が適用されるエンコーダ出力のエッジに対応するエンコーダマグネット１０６ｃの回転位置（基準位置）が定まれば、それ以降は該基準位置からの回転により現れるエッジごとに補正値列における隣の補正値を順次適用していけばよい。また、エンコーダマグネット１０６ｃの任意の回転位置にマーカー等の回転位置判別のための情報を持たせることは、追加の部材や加工を要することになるため、そのような情報を追加することなく基準位置となる回転位置を定めることが好ましい。
【００４３】
そこで、本実施例では、モータ１０６ａによる被駆動部材であるフォーカスレンズ１０５の原点位置に対応するエンコーダマグネット１０６ｃの回転位置を基準位置として、該基準位置から補正値列における補正値を順に適用していく。これは原点位置とエンコーダマグネット１０６ｃの回転位置との関係が一意に定まることにより成り立つものである。基準位置からのエンコーダ出力のエッジ数によって、エンコーダマグネット１０６ｃの基準位置からの相対的な回転位置を求めることができる。
【００４４】
ところで、フォーカスレンズ１０５の原点位置は、図３に示した原点位置検出機構を用いて検出されるが、原点位置検出機構にも誤差が含まれている。特に、フォトインタラプタ１０６ｈは温度依存特性を有するため、検出された原点位置、つまりは原点位置に対応するエンコーダマグネット１０６ｃの回転位置である基準位置についても補正が必要となる。
【００４５】
図７には、温度の変化によるフォーカスレンズ１０５の原点位置に対応する励磁電圧のステップ値の変化を示す。横軸は温度を示し、縦軸は原点位置に対応する励磁電圧のステップ値を示す。なお、縦軸の０以下を便宜的に負値で表現しているが、−１００はステップ値９００と同義である。例えば、温度情報を取得したときの温度をＴｅｍｐＲＯＭで示し、このときの原点位置に対応する励磁電圧のステップ値が１６０であるとする。この場合、−１０℃のときに原点位置を検出すると、励磁電圧のステップ値は−１２０（＝８８０）となり、補正情報の取得時のステップ数１６０と比較すると、ステップ数２８０のずれが生じる。これは正弦波で９０deg以上ずれていることを示し、エンコーダマグネット１０６ｃにおいて補正情報の取得時に基準位置とした磁極とは異なる磁極を観測していることになる。
【００４６】
本実施例では、図７に示すように、原点状態での励磁電圧のステップ値が温度の上昇に伴って単調増加するという特性に着目し、補正情報の取得時からの温度変化に応じて、原点状態でのエンコーダマグネット１０６ｃの基準位置のずれ量を推定する。本実施例では、以下に説明するように温度変化による基準位置のずれ量を、後述するエンコーダマグネット１０６ｃのエンコーダ出力パターンの変化を用いて推定するが、基準位置のずれ量を温度特性から一意に定めてもよい。
【００４７】
温度変化による基準位置のずれ量の推定方法について、図８に示すエンコーダ出力の変化の例を用いて説明する。図８には、２相のエンコーダ出力（Ａ相出力およびＢ相出力）と、Ａ相出力およびＢ相出力のそれぞれのエッジに適用される補正値であるＡ相補正値の列およびＢ相補正値の列を示す。エンコーダ出力は２値をとるので、ここではＨｉｇｈ出力を１とし、Ｌｏｗ出力を０とする。また、Ａ相出力を上位ビットに、Ｂ相出力を下位ビットに割り当てて、Ａ相およびＢ相のエンコーダ出力を２ビットのパターンとして表記する。さらに、補正値は、前述した至近方向への駆動時における補正値のみを示す。
【００４８】
図８において、補正情報の取得時における原点状態（フォーカスレンズ１０５の原点位置の検出および記憶時）での基準信号としてのエンコーダ出力パターンが（１１）ｂであったとする。このとき、至近方向での隣のパターンは（１０）ｂ、無限遠方向での隣のパターンは（０１）ｂであるので、記憶された原点位置から１／２極分までのずれであればエンコーダ出力パターンから推定できる。
【００４９】
次に、記憶された原点位置から１極分ずれた場合、至近および無限遠方向のいずれでもエンコーダ出力パターンは（００）ｂとなるため、エンコーダ出力のパターンからは推定できない。そこで、前述した温度特性を用いて、補正情報取得時に記憶された温度（基準温度）とその後の原点検出時（原点状態）で測定された温度との比較から、推定することが可能である。温度は、図１に示したように交換レンズ２００（又はカメラ１００）に設けられた温度センサ１２１により測定（検出）することができる。
【００５０】
次に記憶された原点位置から３／２極分ずれた場合、至近方向は（０１）ｂ、無限遠方向は（１０）ｂとなるため、パターンから推定することが可能である。パターンが１／２極ずれと混合するが、３／２極ずれは温度変化が大きくないと発生しないため、ここでも温度比較を行い、所定の閾値よりも大きければ３／２極ずれていると判断して、パターンからずれた方向を推定する。
【００５１】
図８に示すように、補正情報取得時における原点位置とその後に検出された原点位置でのエンコーダ出力値が１極分ずれていた場合、至近方向への駆動時の最初のエンコーダ出力エッジに適用する補正値は、Ｂ相の１ではなく、−２である。
【００５２】
なお、本実施例では３／２極までのずれ量を保証しているが、それ以上のずれ量を保証する場合は、温度を大小判定でなく、差分値の大きさを利用することで実現できる。
【００５３】
図９および図１０のフローチャートを用いて、本実施例におけるエンコーダ出力の補正処理（補正方法）について説明する。この補正処理は、コンピュータとしてのレンズＩＣ１１１が、コンピュータプログラムである補正プログラムに従って実行する。
【００５４】
図９のフローチャートには、補正処理のうち補正情報の取得処理を示している。この補正情報の取得処理は、フォーカスレンズ１０５の原点位置に対応するエンコーダマグネット１０６ｃの回転位置を基準位置とし、このときのエンコーダ出力を基準信号として行う。また、この補正情報の取得処理は、交換レンズ２００（つまりはエンコーダ）の工場出荷前の調整時（工場調整時）に行い、交換レンズ２００に電源が供給されればカメラ１００は必要としない。また、図９のフローチャートには、至近方向でのＡ相エンコーダ出力に対する補正情報の取得処理のみを示す。
【００５５】
ステップＳ１０１では、レンズＩＣ１１１は、パーソナルコンピュータ等の外部端末から補正値情報取得命令を受け取る。該命令を受け取ったレンズＩＣ１１１はステップＳ１０２に進む。
【００５６】
ステップＳ１０２では、レンズＩＣ１１１は、フォーカスレンズ１０５の原点位置検出のための駆動を行う。前述したようにフォトインタラプタ１０６ｈが透過状態から遮光状態に切り替ったタイミングを原点位置とし、モータ１０６ａの駆動を停止する。原点位置の検出後はステップＳ１０３に進む。なお、図示はしないが、原点位置が検出できない場合は、原点位置検出機構に問題があるとみなして、以降の処理を実行しない。
【００５７】
ステップＳ１０３では、レンズＩＣ１１１は、原点位置におけるエンコーダマグネット１０６ｃのＡ相とＢ相のエンコーダ出力の組み合わせであるエンコーダ出力パターンと、現在の温度をＲＯＭ１１１ａに記憶する。その後、ステップＳ１０４に進む。
【００５８】
ステップＳ１０４では、レンズＩＣ１１１は、補正値を取得するための初期化処理を実行する。以降の説明におけるｎはＡ相補正値列における補正値の番号（つまりはエンコーダマグネット１０６ｃの着磁部）を示し、ｎ番目の補正値は補正値［ｎ］と表現する。また、ｃｎｔは補正値取得時のエンコーダマグネット１０６ｃの回転回数のカウンタ値を示す。本実施例では、エンコーダマグネット１０６ｃの同じ回転位置の補正値を複数回取得し、各回転位置で平均値をとった値を補正値として用いる。これにより、ノイズに対して堅牢性を有する補正値を用いることができる。１つの回転位置に対して補正値を４回取得するため、ｃｎｔは１〜４の値をとる。初期化終了後は、レンズＩＣ１１１は、ステップＳ１０５に進む。
【００５９】
ステップＳ１０５では、レンズＩＣ１１１は、モータ１０６ａを至近方向に駆動する。このときの駆動速度はトルクリップルが発生しない速度とし、またエンコーダマグネット１０６ｃの出力が駆動速度に影響しないオープンループ制御でモータ１０６ａを駆動する。ステップＳ１０４からステップＳ１０５に進んできた場合にのみ、駆動速度が安定した段階で、かつ原点位置と同じ回転位置でステップＳ１０６に進む。その他のステップから進んできた場合は、励磁波形の生成ごとにステップＳ１０６に進む。これは補正値［０］と原点位置とを対応付けるためである。
【００６０】
ステップＳ１０６では、レンズＩＣ１１１は、エンコーダ出力に変化があったか否かを判定する。エンコーダ出力が変化した場合はステップＳ１０７に進み、が変化していない場合はステップＳ１０５に進む。
【００６１】
ステップＳ１０７では、レンズＩＣ１１１は、基準信号としてのエンコーダ出力エッジが出力されているかを否か判定する。具体的には、ｎ＝０かつｃｎｔ＝１であるか否かを判定する。ｎ＝０かつｃｎｔ＝１である場合はステップＳ１０８に、そうでない場合はステップＳ１１０に進む。
【００６２】
ステップＳ１０８では、レンズＩＣ１１１は、現在のエンコーダ出力のエッジに対応する励磁電圧のステップ値を真の基準ステップ値とする。真の基準ステップを基準として、Ａ相エンコーダ出力の基準ステップ値とＢ相エンコーダ出力の基準ステップ値を決定する。仮に真の基準ステップ値が１２８であれば、ｎが偶数ならば基準ステップ値は１２８、ｎが奇数ならば基準ステップ値は６２８となり、基準ステップ値とエンコーダ出力変化時のステップ値との差分が補正値となる。また、Ｂ相においては、真の基準ステップ値１２８に対して、ｎが偶数ならば基準ステップ値は８７８、ｎが奇数ならば基準ステップ値は３７８となる。基準ステップ決定後はステップＳ１０９に進む。
【００６３】
ステップＳ１０９では、レンズＩＣ１１１は、補正値［０］に０を代入し、補正値番号をｎ＝１とする。設定後はステップＳ１０５に進む。
【００６４】
ステップＳ１１０では、レンズＩＣ１１１は、補正値番号ｎにおける補正値を累算する。累算する補正値は、現在の励磁電圧におけるステップ値と基準ステップ値との差分である。そして、補正値累算後はステップＳ１１１に進む。
【００６５】
ステップＳ１１１では、レンズＩＣ１１１は、補正値番号ｎをインクリメントする。モータ１０６ａが一方向への駆動を続けていれば、次のエンコーダ出力に対応する回転位置は必ず現在の隣の磁極となる。本処理後は、ステップＳ１１２に進む。
【００６６】
ステップＳ１１２では、レンズＩＣ１１１は、補正値番号がｎ＝１０であるか否かを判定する。ｎ＝１０である場合はステップＳ１１３に、そうでなければステップＳ１０５に進む。
【００６７】
ステップＳ１１３では、レンズＩＣ１１１は、エンコーダマグネット１０６ｃが１回転したと判定されるので、補正値番号ｎ＝０に初期化し、回転回数カウンタｃｎｔをインクリメントする。本処理終了後はステップＳ１１４に進む。
【００６８】
ステップＳ１１４では、レンズＩＣ１１１は、回転回数カウンタｃｎｔ＝５であるか、つまり補正値の取得を開始してからエンコーダマグネット１０６ｃが４回転したか否かを判定する。４回転した場合はステップＳ１１５に、そうでない場合はステップＳ１０５に進む。
【００６９】
ステップＳ１１５では、レンズＩＣ１１１は、各補正値の平均値を算出する。４回累算した各補正値［ｎ］（ｎ＝０，１，２，・・・，９）に対してそれぞれで平均値を算出し、エンコーダマグネット１０６ｃの各回転位置における補正値を決定する。本ステップの後はステップＳ１１６に進む。
【００７０】
ステップＳ１１６では、レンズＩＣ１１１は、ステップＳ１１５で算出した補正値をＲＯＭ１１１ａに記憶する。本処理終了後はステップＳ１１７に進む。
【００７１】
ステップＳ１１７では、レンズＩＣ１１１は、補正情報取得が完了したので停止処理を行う。停止処理では、フォーカスレンズ１０５を原点位置まで戻し、原点位置でモータ１０６ａへの通電を所定時間保持した後に、該通電を遮断する。その他、設定した駆動速度や補正値番号ｎ、回転回数カウンタｃｎｔ等の各種変数もクリアする。停止処理が終了すると、レンズＩＣ１１１は、補正情報の取得処理を終了する。
【００７２】
なお、以上説明した補正情報の取得処理においてフォーカスレンズ１０５の駆動位置によって負荷が大きく異なるような場合は、平均化処理だけでなく前段で外れ値検出を行い、負荷が大きく異なる該当データを取り除くことが好ましい。なお、無限遠方向での補正値を取得する場合は、補正値番号ｎを至近方向と対応付けるために、その初期値をｎ＝９とし、ステップＳ１１１では補正値番号ｎをデクリメントし、Ｓ１１２ではｎ＝−１か否かを判定する。ステップＳ１０８での基準ステップ値は、至近方向への駆動時とは別に設定する必要がある。
【００７３】
図１０のフローチャートには、レンズＩＣ１１１が行うフォーカスレンズ１０５の駆動制御の動作を示している。レンズＩＣ１１１は、カメラＩＣ１１８から受け取ったＡＦ駆動命令に応じたＡＦ動作や、ズーム操作に伴うズームトラッキング動作およびマニュアルフォーカス操作に応じたマニュアルフォーカス動作を行うためにフォーカスレンズ１０５を駆動する。
【００７４】
レンズＩＣ１１１は、交換レンズ２００がカメラ１００に装着されることに応じて又は交換レンズ２００が装着されている状態でスリープが解除されることに応じて以下の動作を開始する。ステップＳ２０１〜Ｓ２１４では、レンズＩＣ１１１は、フォーカスレンズ１０５のリセット動作を行う。ステップＳ２１５〜Ｓ２２５では、カメラＩＣ１１８からのＡＦ駆動命令またはズーム操作やマニュアルフォーカス操作に応じたフォーカスレンズ１０５の駆動処理を示す。
【００７５】
なお、ここでは、ＲＯＭ１１１ａに記憶されたフォーカスレンズ１０５の原点状態でのエンコーダ出力パターンが図８に示したパターンと同様である場合について説明する。フォーカスレンズ１０５の原点位置が図８に示した補正情報取得時に記憶された原点位置に対して１／２極だけ隣にずれた場合は、ステップＳ２０８〜２１３において初期値として設定する補正値番号ｎ，ｎｂの値が異なる。ｎはＡ相エンコーダ出力に対する補正値番号であり、ｎｂはＢ相エンコーダ出力に対する補正値番号である。
【００７６】
ステップＳ２０１では、レンズＩＣ１１１は、フォーカスレンズ１０５の原点位置を検出するためにリセット動作を行う。本実施例のフォーカス機構は、フォーカスレンズ１０５の位置を絶対値でエンコードする手段を有さない。このため、遮光壁部１０６ｇとフォトインタラプタ１０６ｈとを用いて原点位置を定め、該原点位置からのモータ１０６ａへの印加パルス数でフォーカスレンズ１０５の相対的な位置を求める。リセット動作においてもフィードバック制御を行うが、補正値とエンコーダマグネット１０６ｃの回転位置との対応関係がとれていないため、各相１０個の補正値の平均値をとり、Ａ相およびＢ相エンコーダ出力のそれぞれに対して単一の補正値を適用する。
【００７７】
ただし、補正値の分散が所定の閾値よりも大きな場合は、補正値を使用せずに（Ａ相およびＢ相エンコーダ出力を補正せずに）フィードバック制御を行うか、またはオープンループ制御を行う。原点位置が決定していない状態で補正処理を用いたフィードバック制御を行うのは、より短時間でリセット動作を行うことができるためである。原点位置検出後は、ステップＳ２０２に進む。
【００７８】
ステップＳ２０２では、レンズＩＣ１１１は、ステップＳ１０３でＲＯＭ１１１ａに記憶した補正情報取得時のエンコーダ出力パターン（Ａ，Ｂ）ＲＯＭとステップＳ２０１で検出された（現在の）エンコーダ出力パターン（Ａ，Ｂ）ｎｏｗとを比較する。（Ａ，Ｂ）ＲＯＭと（Ａ，Ｂ）ｎｏｗとが等しければ、補正情報取得時と現在とで原点位置に変化はないのでステップＳ２０３に進む。（Ａ，Ｂ）ＲＯＭと¬（Ａ，Ｂ）ｎｏｗとが等しければ、レンズＩＣ１１１は、原点位置がエンコーダマグネット１０６ｃの１極分ずれていると判定し、ステップＳ２０５に進む。これらのいずれにも当てはまらない場合は、レンズＩＣ１１１は、原点位置がエンコーダマグネット１０６ｃの１／２極または３／２極分ずれていると判定し、ステップＳ２０４に進む。
【００７９】
ステップＳ２０３では、レンズＩＣ１１１は、補正値番号をｎ＝０に設定する。ステップＳ２０２でＲＯＭ１１１ａに記憶された原点位置とステップＳ２０１で得られた原点位置とに差異がないため、ＲＯＭ１１１ａに記憶された原点位置に対応する補正値番号ｎを最初の補正値として設定する。本ステップの終了後はステップＳ２１４に進む。
【００８０】
ステップＳ２０４では、レンズＩＣ１１１は、現在の原点位置がＲＯＭ１１１ａに記憶された補正情報取得時の原点位置と比べて１／２極ずれているのか３／２極ずれているのかを判定する。具体的には、現在の温度とステップＳ１０３でＲＯＭ１１１ａに記憶した補正情報取得時の温度とを比較し、これら温度の差が所定温度以上であれば３／２極ずれていると判定し、ステップＳ２０６に進む。また、温度の差が所定温度未満であれば１／２極ずれていると判定してステップＳ２０７に進む。図８に示すように温度差が大きいと原点位置のずれ量が大きくなる傾向があるため、本ステップの判定が成立する。
【００８１】
ステップＳ２０５では、レンズＩＣ１１１は、現在の温度とステップＳ１０３でＲＯＭ１１１ａに記憶した補正情報取得時の温度とを比較し、原点位置がずれた方向を判定する。現在の温度の方が高い場合は、無限遠方向にずれていると判定してステップＳ２１２に進み、それ以外の場合は至近方向にずれていると判定してステップＳ２１３に進む。本ステップにおける判定は、図８に示すように高温になるほど原点位置が無限遠方向により大きくずれる傾向に基づく。
【００８２】
ステップＳ２０６では、レンズＩＣ１１１は、ステップＳ２０２と同様に、現在の原点位置に対応するエンコーダ出力パターンとＲＯＭ１１１ａに記憶された補正情報取得時の原点位置に対応するエンコーダ出力パターンとを比較する。ステップＳ２０４で３／２極ずれていると判定しているため、本ステップでは、ずれの方向を定めるための比較を行う。
【００８３】
本ステップでの判定は、グレイコード（交番二進符号）を用いる。グレイコードとは、前後に隣接する符号のハミング距離が常に１となることを特徴とし、本実施例ではエンコーダ出力パターンに対して適用する。図１１には、２ビットにおけるグレイコードを概略的に示している。図１１の矢印の方向にインクリメント方向とデクリメント方向を定義する。レンズＩＣ１１１は、補正情報のエンコーダ出力パターンに対して現在のエンコーダ出力パターンがグレイコードのインクリメント方向にあれば無限遠方向へのずれと判定してステップＳ２０８に進む。一方、デクリメント方向であれば至近方向へのずれと判断してステップＳ２０９に進む。
【００８４】
ステップＳ２０７では、レンズＩＣ１１１は、ステップＳ２０２と同様に、現在の原点位置に対応するエンコーダ出力パターンとＲＯＭ１１１ａに記憶された原点位置に対応するエンコーダ出力パターンとを比較する。前述したステップＳ２０４で１／２極ずれていると判定しているため、本ステップでは、ずれの方向を定めるための比較を行う。この比較でも、ステップＳ２０６同様にグレイコードを用いる。レンズＩＣ１１１は、補正情報のエンコーダ出力パターンに対して現在のエンコーダ出力パターンがグレイコードのインクリメント方向にあれば至近方向へのずれであると判定してステップＳ２１０に進む。また、デクリメント方向であれば無限遠方向へのずれであると判定してステップＳ２１１に進む。
【００８５】
ステップＳ２０８では、レンズＩＣ１１１は、現在の原点位置が補正情報取得時の原点位置に対して３／２極だけ無限遠方向にずれているため、Ａ相補正値番号をｎ＝８に、Ｂ相補正値番号をｎｂ＝９に設定する。この後はステップＳ２１４に進む。
【００８６】
ステップＳ２０９では、レンズＩＣ１１１は、現在の原点位置が補正情報取得時の原点位置に対して３／２極だけ至近方向にずれているため、Ａ相補正値番号をｎ＝１に、Ｂ相補正値列ナンバーｎｂ＝２に設定する。この後はステップＳ２１４に進む。
【００８７】
ステップＳ２１０では、レンズＩＣ１１１は、現在の原点位置が補正情報取得時の原点位置に対して１／２だけ無限遠方向にずれているため、Ａ相補正値番号をｎ＝９に、Ｂ相補正値番号をｎｂ＝０に設定する。この後はステップＳ２１４に進む。
【００８８】
ステップＳ２１１では、レンズＩＣ１１１は、現在の原点位置が補正情報取得時の原点位置に対して１／２極だけ至近方向にずれているため、Ａ相補正値番号をｎ＝０に、Ｂ相補正値番号をｎｂ＝１に設定する。この後はステップＳ２１４に進む。
【００８９】
ステップＳ２１２では、レンズＩＣ１１１は、現在の原点位置が補正情報取得時の原点位置に対して１極だけ無限遠方向にずれているため、Ａ相補正値番号をｎ＝９に、Ｂ相補正値番号をｎｂ＝９に設定する。この後はステップＳ２１４に進む。
【００９０】
ステップＳ２１３では、レンズＩＣ１１１は、現在の原点位置が補正情報取得時の原点位置に対して１極だけ至近方向にずれているため、Ａ相補正値番号をｎ＝１、Ｂ相補正値番号をｎｂ＝１に設定する。この後はステップＳ２１４に進む。
【００９１】
ステップＳ２１４では、レンズＩＣ１１１は、フォーカスレンズ１０５のリセット動作および原点位置のずれ補正が完了して撮影可能状態であることをカメラＩＣ１１８に送信する。
【００９２】
なお、本実施例では、温度による基準位置の補正を図８に示す温度特性を用いて行う場合について説明したが、温度特性は図８に示したもの以外のものであってもよい。
【００９３】
次にステップＳ２１５では、レンズＩＣ１１１は、カメラＩＣ１１８からＡＦ駆動命令を受け取ったり、ズーム操作やマニュアルフォーカス操作が行われたりするまで待機する。ＡＦ駆動命令を受け取るかズーム操作やマニュアルフォーカス操作が行われると、ステップＳ２１６に進む。
【００９４】
ステップＳ２１６では、レンズＩＣ１１１は、モータドライバ１０６ｄにモータ１０６ａを励磁するための励磁波形を生成し、モータ１０６ａを駆動する。モータドライバ１０６ｄは、ステップ単位で、レンズＩＣ１１１から与えられる駆動速度やパワーレートに応じた励磁波形を生成する。加減速の設定はレンズＩＣ１１１が行い、目標とするフォーカスレンズ１０５の停止位置（目標停止位置）に近づいたタイミングで減速を開始するような励磁波形をモータドライバ１０６ｄに生成させる。本ステップでフォーカスレンズ１０５を１ステップ値分だけ駆動した後、ステップＳ２１７に進む。
【００９５】
ステップＳ２１７では、レンズＩＣ１１１は、停止位置判定を行う。すなわち、ステップＳ２１６で駆動を開始したフォーカスレンズ１０５が目標停止位置に到達したか否かを判定する。目標停止位置に到達した場合はステップＳ２３０に進み、目標停止位置に到達していなければステップＳ２１８に進む。
【００９６】
ステップＳ２１８では、レンズＩＣ１１１は、Ａ相エンコーダ出力が変化したか否かを判定する。変化した場合はステップＳ２１９に進み、変化していない場合はステップＳ２２３に進む。本実施例における制御周期はエンコーダ出力の変化ごととしており、エンコーダ出力の変化タイミングでモータ１０６ａの駆動速度を算出し、フィードバック情報を更新する。
【００９７】
ステップＳ２１９では、レンズＩＣ１１１は、Ａ相エンコーダ出力のエッジが得られたときの励磁波形のステップ値に対して補正値［ｎ］を適用する。言い換えれば、Ａ相エンコーダ出力を補正値［ｎ］により補正する。これにより、エンコーダマグネット１０６ｃの着磁ピッチのずれによるＡ相エンコーダ出力のエッジのずれがフィードバック制御系に影響を及ぼすことを抑制する。Ａ相エンコーダ出力の補正後はステップＳ２２０に進む。
【００９８】
ステップＳ２２０では、レンズＩＣ１１１は、フォーカスレンズ１０５の駆動方向が至近方向か否かを判定する。至近方向である場合はステップＳ２２１に進み、そうでない（無限遠方向である）場合はステップＳ２２２に進む。
【００９９】
ステップＳ２２１では、レンズＩＣ１１１は、フォーカスレンズ１０５の至近方向駆動において、Ａ相補正値番号ｎの更新（インクリメント処理）を行う。ｎ＝９であった場合はｎ＝０とし、その他の場合は１つインクリメントする。本ステップの後はステップＳ２２８に進む。
【０１００】
ステップＳ２２２では、レンズＩＣ１１１は、フォーカスレンズ１０５の無限遠方向駆動において、Ａ相補正値番号ｎの更新（デクリメント処理）を行う。すなわち、ｎ＝０であった場合はｎ＝９とし、その他の場合は１つデクリメントする。本ステップの後はステップＳ２２８に進む。
【０１０１】
ステップＳ２２３では、レンズＩＣ１１１は、Ｂ相エンコーダ出力が変化したか否かを判定する。変化した場合はステップＳ２２４に進み、変化していない場合はステップＳ２１６に進む。
【０１０２】
ステップＳ２２４では、レンズＩＣ１１１は、Ｂ相エンコーダ出力のエッジが得られたときの励磁波形のステップ値に対して補正値［ｎｂ］を適用する。言い換えれば、Ｂ相エンコーダ出力を補正値［ｎｂ］により補正する。これにより、エンコーダマグネット１０６ｃの着磁ピッチのずれによるＢ相エンコーダ出力のエッジのずれがフィードバック制御系に影響を及ぼすことを抑制する。Ｂ相エンコーダ出力の補正後は、ステップＳ２２５に進む。
【０１０３】
ステップＳ２２５では、レンズＩＣ１１１は、フォーカスレンズ１０５の駆動方向が至近方向かを否かを判定する。至近方向である場合はステップＳ２２６に進み、そうでない（無限遠方向である）場合はステップＳ２２７に進む。
【０１０４】
ステップＳ２２６では、レンズＩＣ１１１は、フォーカスレンズ１０５の至近方向駆動において、Ｂ相補正値番号ｎｂの更新（インクリメント処理）を行う。ｎｂ＝９であった場合はｎ＝０とし、その他の場合は１つインクリメントする。本ステップの後はステップＳ２２８に進む。
【０１０５】
ステップＳ２２７では、レンズＩＣ１１１は、フォーカスレンズ１０５の無限遠方向駆動において、Ｂ相補正値番号ｎｂの更新（デクリメント処理）を行う。すなわち、ｎｂ＝０であった場合はｎｂ＝９とし、その他の場合は１つデクリメントする。本ステップの後はステップＳ２２８に進む。
【０１０６】
ステップＳ２２８では、レンズＩＣ１１１は、ステップＳ２１９〜Ｓ２２４で補正されたエンコーダ出力のエッジ間隔から周期を求め、ステッピングモータ１０６ａの駆動速度を算出する。駆動速度算出後はステップＳ２２９に進む。
【０１０７】
ステップＳ２２９では、レンズＩＣ１１１は、ステップＳ２２８で算出した駆動速度と目標駆動速度との速度差を算出し、速度差に応じてモータ１０６ａの駆動速度を設定する。本ステップの後はステップＳ２１６に戻り、レンズＩＣ１１１は、設定された駆動速度をモータドライバ１０６ｄで生成される励磁波形に反映させる。
【０１０８】
ステップＳ２３０では、レンズＩＣ１１１は、フォーカスレンズ１０５が目標停止位置に到達したので、停止処理を行う。具体的には、目標停止位置でモータ１０６ａへの通電を所定時間保持した後に、該通電を遮断する。その他、設定した各種変数もクリアする。ただし、補正値番号ｎ，ｎｂについては保持される。以上でフォーカスレンズ１０５の駆動制御の動作が終了する。
【０１０９】
以上説明したように、本実施例では、エンコーダマグネット１０６ｃの着磁部の配置誤差によるエンコーダマグネット１０６ｃの回転位置とエンコーダ出力のエッジとの関係の誤差の補正するための補正値を着磁部（エッジ）ごとにＲＯＭ１１１ａに予め記憶する。また、モータ１０６ａにより駆動されるフォーカスレンズ１０５が原点位置に位置する原点状態でのエンコーダマグネット１０６ｃの回転位置を基準位置とする。そして、該基準位置からエンコーダマグネット１０６ｃが回転したときのエンコーダ出力のエッジごとに、そのエッジに対応した補正値を順次用いて補正を行う。これにより、エンコーダマグネット１０６ｃの着磁部に配置誤差があっても、モータ１０６ａの回転位置や回転速度を高精度に検出することができる。したがって、補正後のエンコーダ出力を用いることで、モータ１０６ａの回転位置や回転速度等を高精度にフィードバック制御することができ、この結果、フォーカスレンズ１０５の駆動位置や駆動速度を高精度に制御することができる。
【０１１０】
また、本実施例では、エンコーダマグネット１０６ｃの基準位置をフォーカスレンズ１０５の位置検出のための原点位置を利用して設定しているため、基準位置の設定に新たな部材を追加する必要がない。このため、コストの増加を招かくことなく制御精度の向上を図ることができる。
【０１１１】
エンコーダとしては、本実施例のような磁気式エンコーダに限らず、フォトセンサと反射部／非反射部または透過部／非透過部（遮光部）をパターン要素部とする回転検出用パターンが設けられた光学部材（回転部材）とにより構成される光学式エンコーダでもよい。フォトセンサは、発光部と受光部とを有し、発光部から透過部または反射部を介して入射した光を受光部にて検出する。図１２には、光学式エンコーダの構成例を示している。図２に示したリードスクリュー１０６ｂには、透過部と非透過部とが回転方向に交互に配置された回転板２０１が取り付けられている。回転板２０１は、フォトインタラプタ２０２における発光部と受光部との間で回転するように配置されている。
【０１１２】
このような光学式エンコーダを用いる場合に上記実施例で説明した補正処理を適用することにより、回転板２０１に複数形成された透過部としての穴の大小や偏心等の製造誤差による影響を除去することが可能である。
【０１１３】
また、上記実施例で説明した補正処理を適用できるエンコーダとしては、磁気式におけるＮ極とＳ極の着磁部のピッチや光学式における透過部および非透過部のそれぞれのピッチが等ピッチであるものが好ましい。ただし、それらが等ピッチでなくても、規則性のある配置であればよい。
【０１１４】
さらに、上記実施例では、補正情報の取得時に記憶されたフォーカスレンズ１０５の原点位置とその後に検出された原点位置とのずれ量をエンコーダ出力パターンと温度とを用いて推定する場合について説明した。しかし、これらに加えてフォーカスレンズ１０５（つまりは交換レンズ２００やカメラ１００）の姿勢を検出して、その検出結果を原点位置のずれ量推定に反映することで、より精度の高い推定を行うことができる。
【０１１５】
以上説明した各実施例は代表的な例にすぎず、本発明の実施に際しては、各実施例に対して種々の変形や変更が可能である。
【産業上の利用可能性】
【０１１６】
高精度の回転検出が可能な回転検出装置やこれを備えた撮像装置等の各種装置を提供できる。
【符号の説明】
【０１１７】
１０５  フォーカスレンズ
１０６ａ  ステッピングモータ
１０６ｃ  エンコーダマグネット
１０６ｇ  遮光壁部
１０６ｈ  フォトインタラプタ
１０７  ホールＩＣ
１１１  レンズＩＣ
【図１】
2015021840.tif 000003
【図２】
2015021840.tif 000004
【図３】
2015021840.tif 000005
【図４】
2015021840.tif 000006
【図５】
2015021840.tif 000007
【図６】
2015021840.tif 000008
【図７】
2015021840.tif 000009
【図８】
2015021840.tif 000010
【図９】
2015021840.tif 000011
【図１０】
2015021840.tif 000012
【図１１】
2015021840.tif 000013
【図１２】
2015021840.tif 000014