(57)【要約】【課題】煩雑な前工程を必要とすることなく、制御対象を移動させる際のモータ駆動音を低減する。【解決手段】駆動対象を駆動するステッピングモータ１３０と、ステッピングモータ１３０を少なくとも２相の電流で駆動させる駆動手段と、駆動対象の実際の位置を検出する位置検出手段と、駆動手段の少なくとも２相の電流の位相を変更する位相変更手段と、位相変更手段を用いて駆動手段を制御する制御手段と、位置検出手段により検出された位置から駆動対象の駆動中における基準位置を算出する基準位置算出手段とを含み、位相変更手段は、位置検出手段で検出される駆動対象の実際の位置と基準位置算出手段の基準位置の差分に基づいて電流の位相差を決定し、制御手段は、決定した位相差の電流を用いてステッピングモータ１３０を制御する。【選択図】図１
2014160193.tif 000002
【特許請求の範囲】
【請求項１】
駆動対象を駆動するステッピングモータと、
前記ステッピングモータを少なくとも２相の電流で駆動させる駆動手段と、
前記駆動対象の実際の位置を検出する位置検出手段と、
前記駆動手段の少なくとも２相の電流の位相を変更する位相変更手段と、
前記位相変更手段を用いて前記駆動手段を制御する制御手段と、
前記位置検出手段により検出された位置から前記駆動対象の駆動中における基準位置を算出する基準位置算出手段と
を含み、
前記位相変更手段は、前記位置検出手段で検出される前記駆動対象の実際の位置と前記基準位置算出手段の基準位置の差分に基づいて電流の位相差を決定し、
前記制御手段は、前記位相差の電流を用いて前記ステッピングモータを制御することを特徴とする制御装置。
【請求項２】
前記位相変更手段は、前記位置検出手段が検出した前記駆動対象の実際の位置と前記基準位置算出手段が算出した基準位置との差分の絶対値の総和または前記差分の累乗の総和が最も小さくなる電流の位相差を算出し、
前記制御手段は、前記位相差を有する電流を用いて前記ステッピングモータを制御することを特徴とする請求項１に記載の制御装置。
【請求項３】
前記基準位置算出手段は、前記位置検出手段により検出される駆動中の前記駆動対象の少なくとも３つの実際の位置を１次近似することで基準位置を算出することを特徴とする請求項１または２に記載の制御装置。
【請求項４】
前記位置検出手段は、前記ステッピングモータが一定速度で駆動中に、一定の時間間隔で前記駆動対象の位置を検出することを特徴とする請求項１から３のいずれか１項に記載の制御装置。
【請求項５】
駆動対象を駆動させるステッピングモータと、
前記ステッピングモータを少なくとも２相の電流で駆動させる駆動手段と、
一定の時間間隔で前記駆動対象の位置を検出する位置検出手段と、
前記駆動手段の少なくとも２相の電流の位相を変更する位相変更手段と、
前記位相変更手段を用いて前記駆動手段を制御する制御手段と、
前記位置検出手段により検出される駆動対象の実際の駆動速度を少なくとも３つ求める駆動速度算出手段と、
を含み、
前記位相変更手段は、前記ステッピングモータが一定速度で駆動中に、前記駆動速度算出手段により算出された駆動速度と前記駆動速度の平均値との差分に基づいて電流の位相差を決定し、
前記制御手段は、前記位相差を有する電流を用いて前記ステッピングモータを制御することを特徴とする制御装置。
【請求項６】
前記位相変更手段は、前記差分の絶対値の総和または前記差分の累乗の総和が最小になるようにする電流の位相差を算出し、
前記制御手段は、前記位相差を有する電流を用いて前記ステッピングモータを制御することを特徴とする請求項５に記載の制御装置。
【請求項７】
駆動対象を駆動するステッピングモータの制御方法であって、
前記駆動対象の実際の位置を検出するステップと、
検出された前記駆動対象の実際の位置から前記駆動対象の駆動中における基準位置を算出するステップと
検出された前記駆動対象の実際の位置と算出した基準位置の差分に基づいて電流の位相差を決定するステップと、
決定した位相差となるように２相の電流の位相を変更するステップと、
位相を変更した２相の電流を用いて前記ステッピングモータを駆動するステップと、
を有することを特徴とする制御方法。
【請求項８】
コンピュータを、請求項１から６のいずれか１項に記載の制御装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御装置、制御方法、プログラムに関する。詳しくは、撮像装置や交換レンズユニットに搭載されるレンズや絞り等の光学素子等を制御する制御装置、制御方法、および制御のためのプログラムに関する。
【背景技術】
【０００２】
上記のような制御装置において、製造誤差に起因したステッピングモータが持つ複数の相間の電気角誤差量が大きい場合には、回転むら（振動）が発生し、光学素子を移動させる際のモータ駆動音が増加する。
そこで、ステッピングモータが持つ複数の相間の電気角誤差量に応じて予め補正値として測定しておき、その補正値を用いて相の切り換えタイミングを変更して各相に流れる励磁電流の位相を補正することで、振動を低減する方法が知られている。
例えば、特許文献１には、移動速度と移動時間に応じて光学素子の基準移動量を記憶して、光学素子を移動させた際の実際の位置と基準移動量との差が小さくなるように補正値を求め、モータの駆動波形を制御して、モータ振動を軽減させる方法が記されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１１−２２１０７４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、前記のような構成では、ステッピングモータごとに複数の相間での電気角誤差量を予め求めておく必要がある。電気角誤差量を求めるためには、ステータ極歯の配置寸法を精密スケールで計測したり、実際にモータを駆動して振動量を測定し、誤差量を推定したりする方法がある。しかしながら、いずれの方法を用いても、モータごとに測定や計算が必要となる課題があった。
さらに、特許文献１に記載の構成では、光学素子の所定時間内の実際の位置と基準移動量との差分を複数回求めて、その差分が最も小さくなるように補正量を決めている。そのため、瞬間的に大きくなる変動の影響を受けやすいという課題がある。
本発明は、電気角誤差量を求める煩雑な前工程を必要とすることなく、精度良く電気角誤差を検出することにより、光学素子を移動させる際のモータ駆動音を低減できるようにした制御装置、制御方法、プログラムを提供する。
【課題を解決するための手段】
【０００５】
本発明の制御装置は、駆動対象を駆動するステッピングモータと、前記ステッピングモータを少なくとも２相の電流で駆動させる駆動手段と、前記駆動対象の実際の位置を検出する位置検出手段と、前記駆動手段の少なくとも２相の電流の位相を変更する位相変更手段と、前記位相変更手段を用いて前記駆動手段を制御する制御手段と、前記位置検出手段により検出された位置から前記駆動対象の駆動中における基準位置を算出する基準位置算出手段とを含み、前記位相変更手段は、前記位置検出手段で検出される前記駆動対象の実際の位置と前記基準位置算出手段の基準位置の差分に基づいて電流の位相差を決定し、前記制御手段は、前記位相差の電流を用いて前記ステッピングモータを制御することを特徴とする。
【発明の効果】
【０００６】
本発明によれば、モータに製造誤差がある場合でも、煩雑な前工程を必要とすることなく、個々のステッピングモータの特性に合わせた適切な制御を行うことができる。この結果、駆動対象を駆動する際に、ステッピングモータの駆動音を低減することができる。
【図面の簡単な説明】
【０００７】
【図１】本発明の第１の実施形態である撮像装置の構成を示すブロック図である。
【図２】位相角９０［ｄｅｇ］の誘導子の位置関係を表す図である。
【図３】位相角９０＋α［ｄｅｇ］の誘導子の位置関係を表す図である。
【図４】本発明の第１の実施形態の評価値算出の処理を表すフローチャートである。
【図５】近似直線とズーム位置を表す図である。
【図６】本発明の第１の実施形態の電気角誤差を算出する処理を表すフローチャートである。
【図７】評価値と電気角誤差の関係を表す図である。
【図８】電気角補正を行った場合の位置データを比較する図である。
【図９】本発明の第２の実施形態の平均速度算出の処理を表すフローチャートである。
【図１０】平均速度算出を説明する図である。
【図１１】本発明の第２の実施形態の電気角誤差を算出する処理を表すフローチャートである。
【発明を実施するための形態】
【０００８】
＜第１の実施形態＞
以下、添付図面を参照して、本発明の実施形態を詳細に説明する。なお、以下に説明する実施形態は、本発明の実現手段としての一例に過ぎない。本発明は、適用される装置の構成や各種条件によって適宜修正や変更されるべきものであり、以下の実施形態に限定されるものではない。
図１は、本発明の第１の実施形態である制御装置が適用される撮像装置１の構成を示す。この撮像装置１は、ズームレンズ群を含むレンズシステムを搭載したビデオカメラであるものとする。なお、本発明は、ビデオカメラの制御装置に限らず、デジタルスチルカメラ等、各種の撮像装置、その他ステッピングモータを用いて制御対象を制御する制御装置にも適用できる。
【０００９】
１０１は、前玉レンズユニットであり、たとえばレンズ鏡筒部などに固定されている。１０２は、駆動対象のズームレンズである。駆動対象のズームレンズ１０２は、光軸方向に移動して変倍を行う。１０３は光量を調整する絞りである。１０４は、固定レンズユニットであり、レンズ鏡筒部などに固定されている。１０５は、駆動対象のフォーカスレンズである。駆動対象のフォーカスレンズ１０５は、焦点調節機能と、変倍による像面移動を補正するコンペセータ機能とを兼ね備える。フォーカスレンズ１０５は、ズームレンズ１０２の光軸後方に、光軸方向に移動可能に設けられる。これらのレンズユニットにより撮影光学系が構成される。この撮影光学系は、被写体側（図の左側）から順に、正、負、正、正の光学パワーを有する４つのレンズユニットで構成されたリアフォーカス光学系である。なお、図中には、各レンズユニットが１枚のレンズにより構成されているように記載されているが、実際には、１枚のレンズにより構成されていてもよいし、複数枚のレンズにより構成されていてもよい。
【００１０】
１０６は、撮像素子であり、たとえば、ＣＣＤやＣＭＯＳセンサにより構成される。撮影光学系を通ってきた被写体からの光束は、この撮像素子１０６上に結像する。そして、撮像素子１０６は、結像した被写体の光学像を、光電変換して撮像信号を出力する。１０７は、増幅器（ＡＧＣ）であり、撮像素子１０６が出力した撮像信号を最適なレベルに増幅する。１０８は、カメラ信号処理回路である。カメラ信号処理回路１０８は、増幅器１０７から入力された撮像信号を標準テレビ信号に変換し、撮影映像として出力する。１０９は、記録手段であり、カメラ信号処理回路１０８が出力した撮影映像を記録する。なお、記録手段１０９には、ＦＬＡＳＨメモリ、ハードディスク、ＤＶＤ、テープメディアなどが用いられる。
【００１１】
１１８はシステムマイコンである。システムマイコン１１８は、ズームレンズ１０２およびフォーカスレンズ１０５を駆動制御するレンズ制御部１１６と、メモリ１１７とを含む。システムマイコン１１８は、たとえば、ＣＰＵとＲＯＭとＲＡＭとを含む。ＲＯＭには、撮像装置の各部を制御するためのコンピュータプログラムが格納されている。そして、ＣＰＵがＲＯＭからコンピュータプログラムを読み出し、ＲＡＭに展開して実行する。これにより、システムマイコン１１８のレンズ制御部１１６とメモリ１１７の機能が実現し、フォーカス駆動回路１１３とズーム駆動回路１１０を介して、ズームレンズ１０２とフォーカスレンズ１０５を駆動制御する。フォーカス駆動回路１１３は、システムマイコン１１８の制御にしたがってフォーカスレンズ１０５を駆動する。ズーム駆動回路１１０は、システムマイコン１１８の制御にしたがってズームレンズ１０２を駆動する。
【００１２】
レンズ制御部１１６は、例えばズームスイッチ（図略）などの操作部材の操作されている方向に対応して、ズームレンズ１０２をテレまたはワイド方向に駆動するための信号を出力する。この信号は、ズーム駆動回路１１０を介してズーム駆動源１１１に駆動信号として与えられる。また、レンズ制御部１１６から与える駆動信号は、励磁位相間の位相を自在に変えることができる。なお、ズームレンズ１０２は、レンズ鏡筒部などに対して移動可能なレンズ保持枠（図略）に固定されている。レンズ保持枠にはラックが取り付けられている。
ズーム駆動源１１１は、ステッピングモータ１３０とリードスクリュー１３１を含んで構成されている。そして、このリードスクリュー１３１とズームレンズ１０２に取り付けられたラックとの噛み合い作用により、ズームレンズ１０２がレンズ保持枠とともに光軸方向に移動する。
また、レンズ制御部１１６は、メモリ１１７に格納されるカム軌跡データを用いて、フォーカスレンズ１０５をズームレンズ１０２と連動して動作させる。そして、レンズ制御部１１６は、フォーカス駆動回路１１３を介してフォーカス駆動源１１４に駆動信号を与える。なお、フォーカスレンズ１０５は、レンズ鏡筒部など対して移動可能なレンズ保持枠に固定されている。レンズ保持枠にはラックが取り付けられている。フォーカス駆動源１１４は、ステッピングモータ１３２とリードスクリュー１３３とを含んで構成されている。そして、リードスクリュー１３３とフォーカスレンズ１０５に取り付けられたラックとの噛み合い作用により、フォーカスレンズ１０５がレンズ保持枠とともに光軸方向に移動する。
なお、本実施形態において、ステッピングモータ１３０，１３２の駆動方式は特に限定されない。たとえば、マイクロステップ駆動方式、１−２相駆動方式および２−２相駆動方式等、いずれの駆動方式を用いてもよい。
【００１３】
ズームレンズ１０２のレンズ保持枠には、ズームレンズ１０２の位置を検出するためのズームレンズ用位置スケール１１９が固定されている。同様に、フォーカスレンズ１０５のレンズ保持枠には、フォーカスレンズ１０５の位置を検出するためのフォーカスレンズ用位置スケール１２０が固定されている。また、レンズ鏡筒部（図略）において、ズームレンズ用位置スケール１１９と対向する箇所には、ズームレンズ位置センサ１１２が固定されている。同様に、フォーカスレンズ用位置スケール１２０と対向する箇所には、フォーカスレンズ位置センサ１１５が固定されている。
そして、ズームレンズ位置センサ１１２とズームレンズ用位置スケール１１９とにより、ズーム位置検出手段が構成される。また、フォーカスレンズ位置センサ１１５とフォーカスレンズ用位置スケール１２０とにより、フォーカス位置検出手段が構成される。
ズームレンズ用位置スケール１１９とフォーカスレンズ用位置スケール１２０には、光軸方向に変化する磁気パターンや光反射パターン等のスケールパターンが形成されている。ズームレンズ用位置スケール１１９は、ズームレンズ１０２とともにズームレンズ位置センサ１１２に対して光軸方向に移動する。そうすると、ズームレンズ位置センサ１１２は、スケールパターンに対応して強度が変化する磁気や反射光等を電気信号に変換して位置検出信号として出力する。同様に、フォーカスレンズ用位置スケール１２０が、フォーカスレンズ１０５とともにフォーカスレンズ位置センサ１１５に対して光軸方向に移動すると、フォーカスレンズ位置センサ１１５は位置検出信号を出力する。
ズームレンズ位置センサ１１２とフォーカスレンズ位置センサ１１５からの位置検出信号は、システムマイコン１１８に出力される。システムマイコン１１８は、これらの位置検出信号を、ズーム駆動源１１１とフォーカス駆動源１１４のステッピングモータ１３０，１３２の駆動の制御を通じて、ズームレンズ１０２とフォーカスレンズ１０５の位置制御に用いる。
【００１４】
次に、ステッピングモータ１３０，１３２の電気角誤差（位相角）と振動について説明する。図２（ａ）は、２相励磁駆動方式の場合のＡ相とＢ相の誘導子の位置関係を模式的に示す図である。図２（ｂ）は、Ａ相とＢ相の誘導子に印加する電流波形の例を模式的に示す図である。
図２（ａ）に示すように、Ａ−、Ｂ−、Ａ＋、Ｂ−の誘導子の機械的配置の位相差は９０［ｄｅｇ］となっている。このような関係を保っている場合は、ステッピングモータ１３０，１３２の各相に、図２（ｂ）のような励磁位相間の位相が９０［ｄｅｇ］の２相の電流波形を印加する。そうすると、ステッピングモータ１３０，１３２の駆動時における振動が少なくなり、ステッピングモータ１３０，１３２の回転軸は滑らかに回転する。
図３（ａ）は、ステッピングモータ１３０，１３２の組み立て誤差により、Ａ相とＢ相の誘導子の位置関係が９０＋α［ｄｅｇ］となっている場合の機械的配置を模式的に示す図である。図３（ｂ）は、Ａ相とＢ相の誘導子に印加する２相の電流波形の例を模式的に示す図である。
図３（ａ）に示すように、Ａ−、Ｂ−の誘導子の機械的配置の位相差が９０＋α［ｄｅｇ］の場合について説明する。この場合、ステッピングモータ１３０，１３２の各相に対して図２（ｂ）のような励磁位相間の差が９０［ｄｅｇ］の電流波形を印加すると、トルク変動が大きくなり振動が大きくなる。そこでこの場合には、図３（ａ）のステッピングモータ１３０，１３２に、誘導子配置の位相ずれに合わせて、図３（ｂ）に示すような励磁位相間の位相が９０＋α［ｄｅｇ］の波形の電流を印加すればよい。そうすると、ステッピングモータ１３０，１３２の回転が滑らかになり振動が抑制される。
【００１５】
ズーム駆動回路１１０に与えられる駆動制御信号は、ズーム駆動源１１１のステッピングモータ１３０の複数の相（Ａ相とＢ相）にそれぞれ与えられる励磁信号間の位相を決定する。このため、駆動制御信号を補正することは、励磁信号間の位相を補正することに相当する。本実施形態では、ズームレンズ位置センサ１１２から得られる位置検出信号を用いて、ステッピングモータ１３０の電気角誤差（位相差）検出する方法を示す。そして、本実施形態の方法で検出された位相差を用いて、ズーム駆動源１１１に与えられる駆動制御信号を補正する。これにより、ズーム駆動源１１１のステッピングモータ１３０において発生する振動を低減し、モータ駆動音の静音化を実現する。
【００１６】
続いて、本実施形態の撮像装置１内のシステムマイコン１１８が実行する電気角誤差の検出方法について説明する。本実施形態では、この検出方法を、ズーム駆動源１１１に適用するものとする。図４は、ズームレンズ位置センサ１１２から出力に基づき、ステッピングモータ１３０の振動の大きさを比較するための評価値を算出する処理を示すフローチャートである。
この処理を実行するためのコンピュータプログラムは、あらかじめシステムマイコン１１８のＲＯＭに格納されている。そして、システムマイコン１１８のＣＰＵは、このコンピュータプログラムをＲＯＭから読出し、ＲＡＭに展開して実行する。これにより、この処理が実現する。
【００１７】
ステップＳ４０１にて、システムマイコン１１８のレンズ制御部１１６は、まず位相角βと駆動速度Ｖを取得する。ここでの位相角βと駆動速度Ｖの取得方法は図４のフローチャートに示すサブルーチンの引数として得られる。
ステップＳ４０２において、レンズ制御部１１６は、ステップＳ４０１で得た駆動速度Ｖを設定する。そしてステップＳ４０３に進む。
ステップＳ４０３では、レンズ制御部１１６は、ステップＳ４０１で得た位相角βを設定する。
ステップＳ４０４において、レンズ制御部１１６は、ステップＳ４０２とＳ４０３で設定した駆動速度Ｖと位相角βに基づいて駆動制御信号を生成し、ズーム駆動回路１１０に与える。これにより、レンズ制御部１１６は、ズーム駆動回路１１０を介してズームレンズ１０２の駆動を開始する。
ステップＳ４０５では、レンズ制御部１１６は、加速処理が終わってステッピングモータ１３０の駆動速度が一定速度になるまでウェイト状態となる。そして、駆動速度が安定したら（一定速度になったら）ステップＳ４０６に進む。
ステップＳ４０６〜Ｓ４０８では、レンズ制御部１１６は、ズームレンズ１０２が一定速度で駆動中に、ズームレンズ位置センサ１１２から出力されるズームレンズ１０２の位置を、一定の時間間隔で複数保存する。具体的には、次のとおりである。
ステップＳ４０６で、レンズ制御部１１６は、ズームレンズ１０２が一定速度で駆動中にズームレンズ位置センサ１１２から得られるズームレンズ１０２の実際の位置を、Ｐ［Ｃ］（０＜Ｃ＜Ｎ−１。Ｎは３以上の自然数）に格納する。
ステップＳ４０７にて、レンズ制御部１１６は、次の位置を取得するためのカウンタＣをインクリメントする。
ステップＳ４０８にて、レンズ制御部１１６は、取得したズームレンズ１０２の実際の位置を示す位置データの数ＣがＮ個に達したか否かを判定する。実際の位置を示す位置データの数ＣがＮ個に達した場合には、Ｓ４０９に進む。
ステップＳ４０６〜４０８で取得する位置データの数Ｃは、３以上であるものとする。また、レンズ制御部１１６は、ズームレンズ１０２の駆動中における実際の位置の取得を、一定の時間間隔で行う。
ステップＳ４０９では、レンズ制御部１１６は、ステップＳ４０６〜Ｓ４０８で取得した位置Ｐ［０］〜Ｐ［Ｎ−１］のズームレンズ１０２の実際の位置のデータを１次近似する（基準位置算出）。すなわち、１次近似として最小二乗法を用いて、次の（式１）に示す近似直線の係数ａとｂの算出を行う。
Ｙ  ＝  ａＸ  ＋  ｂ            （式１）
図５は、ズームレンズ１０２の位置のデータ５０２と近似直線５０１の一例を示すグラフである。なお、最小二乗法の詳細な説明は省略する。この近似直線５０１がズームレンズ１０２の駆動中の各時間における基準位置となる。
ステップＳ４１０にて、レンズ制御部１１６は、カウンタＣをクリアする。そして、Ｓ４１１に進む。
【００１８】
ステップＳ４１１では、レンズ制御部１１６は、ステップＳ４０９で求めた近似直線５０１上の点Ｄ［Ｃ］を、次の（式２）を用いて算出する。（式２）中の係数ａとｂは、ステップＳ４０９において算出されたものである。
Ｄ［Ｃ］  ＝  ａＰ［Ｃ］  ＋  ｂ            （式２）
ステップＳ４１２にて、レンズ制御部１１６は、次の（式３）を用いて、近似直線上の点Ｄ［Ｃ］（基準位置）とステップＳ４０６〜Ｓ４０８で取得した位置Ｐ［Ｃ］（実際の位置）の差分の２乗（累乗）を算出する。
Ｖａｆ［Ｃ］  ＝  （Ｄ［Ｃ］  −  Ｐ［Ｃ］  ）2            （式３）
そして、算出した差分の２乗（累乗）を、ＲａｍであるＶａｆ［Ｃ］に格納する。なお、ステップＳ４１２においては、レンズ制御部１１６は、次の（式３’）を用いて、近似直線上の点Ｄ［Ｃ］（基準位置）とステップＳ４０６〜Ｓ４０８で取得した位置Ｐ［Ｃ］（実際の位置）の差分の絶対値を算出してもよい。この場合には、算出した差分の絶対値をＶａｆ［Ｃ］に格納することになる。
Ｖａｆ［Ｃ］  ＝  ｜Ｄ［Ｃ］  −  Ｐ［Ｃ］｜            （式３’）
【００１９】
ステップＳ４１３にて、レンズ制御部１１６は、次の処理のためのカウンタＣをインクリメントする。そしてステップＳ４１４に進む。
ステップＳ４１４にて、レンズ制御部１１６は、ステップＳ４１１〜Ｓ４１３の処理をＮ回繰り返したかを判定する。Ｎ回繰り返したと判定した場合にはステップＳ４１５に進み、そうでない場合にはステップＳ４１１に進む。
ステップＳ４１５にて、レンズ制御部１１６は、ステップＳ４１１〜Ｓ４１４で得られたＮ個のＶａｆ［０］〜Ｖａｆ［Ｎ−１］の総和を算出し、算出した総和を評価値Ｖａｌとする。そして、評価値Ｖａｌを、図４のフローチャートに示すサブルーチンの呼びもとに返す。
以上のように図４のフローチャートに従い、振動を評価するための評価値Ｖａｌを求める。
【００２０】
次に、図６のフローチャートと図７のグラフを用いて、本実施形態におけるステッピングモータ１３０の電気角誤差（位相差）αを算出する処理について説明する。図６は、ステッピングモータ１３０の電気角誤差（位相差）を算出する処理を示すフローチャートである。図７は、図５に示すフローチャートの処理により算出した評価値Ｖａｌと電気角誤差（位相差）の関係を模式的に示すグラフである。ここで、本実施形態で使用するステッピングモータ１３０においては、Ａ相とＢ相の位相差が９０±ΔＭａｘ［ｄｅｇ］の範囲に収まるものとする。
【００２１】
ステップＳ６０１にて、レンズ制御部１１６は、ステッピングモータ１３０の上限位相差９０＋ΔＭａｘ［ｄｅｇ］とした場合の評価値（Ｖａｌ［９０＋ΔＭａｘ］）を算出する。この処理は、図４のフローチャートで示される処理を用いて行う。
ステップＳ６０２にて、レンズ制御部１１６は、ステッピングモータ１３０の下限位相差９０−ΔＭａｘ［ｄｅｇ］のときの評価値（Ｖａｌ［９０−ΔＭａｘ］）を算出する。この処理は、図４のフローチャートで示される処理を用いて行う。
ステップＳ６０３にて、レンズ制御部１１６は、評価値であるＶａｌ［９０＋ΔＭａｘ］とＶａｌ［９０−ΔＭａｘ］の大小比較を行う。そして、Ｖａｌ［９０＋ΔＭａｘ］＜Ｖａｌ［９０−ΔＭａｘ］である場合にはステップＳ６０４へ進み、そうでない場合はステップＳ６１１に進む。
【００２２】
ステップＳ６０４に進んだ場合には、ステッピングモータ１３０のＡ相とＢ相の誘導子の位相差が９０［ｄｅｇ］より大きいことを示している（図７参照）。そこで、レンズ制御部１１６は、補正方向＋フラグをセットし、カウンタ変数ｄをクリアする。
ステップＳ６０５〜Ｓ６０９にて、レンズ制御部１１６は、評価値Ｖａｌが最小となる位相角９０＋ｄ［ｄｅｇ］を追い込んでいき、図７に示すような位相差αを特定する。具体的には、次のとおりである。
ステップＳ６０５にて、レンズ制御部１１６は、カウンタ変数ｄ（＝０〜ΔＭａｘ）のときの評価値Ｖａｌ［９０＋ｄ］を算出する。
ステップＳ６０６にて、レンズ制御部１１６は、算出した評価値Ｖａｌ［９０＋ｄ］をＲａｍ変数ｄａｔ［ｄ］に格納する。
ステップＳ６０７において、レンズ制御部１１６は、カウンタ変数ｄをインクリメントする。そしてステップＳ６０８に進む。
ステップＳ６０８では、前回算出した評価値と、今回算出した評価値の大きさを比較する。そして、ｄａｔ［ｄ−１］（前回の評価値）＞ｄａｔ［ｄ］（今回の評価値）である場合にはＳ６１０へ進み、そうでない場合はＳ６０９へ進む。
ステップＳ６０９にて、レンズ制御部１１６は、ΔＭａｘとカウンタ変数ｄの大きさを比較する。カウンタ変数ｄがΔＭａｘより大きいと判定された場合にはステップＳ６１８へ進む。
ステップＳ６１８では、レンズ制御部１１６は、位相角検出エラーが生じたと判定する。そしてこの処理を終了する。
【００２３】
一方、ステップＳ６０８の処理でｄａｔ［ｄ−１］（前回の評価値）＞ｄａｔ［ｄ］（今回の評価値）であると判定された場合には、その時の位相角９０＋ｄが最小値となり、最も振動成分が小さくなることを示している。そこで、この場合には、ステップＳ６１０に進む。
ステップＳ６１０に進んだ場合には、レンズ制御部１１６は、カウンタ変数ｄの大きさを電気角誤差αとしてメモリに格納する。そしてこの処理を終了する。
【００２４】
ステップＳ６０３にて、Ｖａｌ［９０＋ΔＭａｘ］＜Ｖａｌ［９０−ΔＭａｘ］でない場合には、ステッピングモータ１３０の位相差が９０［ｄｅｇ］より小さいことを示す。そこでこの場合には、ステップＳ６１１に進む。
ステップＳ６１１では、レンズ制御部１１６は、補正方向−フラグをセットし、カウンタ変数ｄをクリアする。その後、ステップＳ６１２〜Ｓ６１６の処理で評価値が最小となる位相角９０−ｄ［ｄｅｇ］を追い込んでいき、電気角誤差αを特定する。
ステップＳ６１２では、レンズ制御部１１６は、カウンタ変数ｄ（＝０〜ΔＭａｘ）のときの評価値Ｖａｌ［９０−ｄ］を算出する。
ステップＳ６１３にて、レンズ制御部１１６は、算出した評価値Ｖａｌ［９０−ｄ］を、Ｒａｍ変数ｄａｔ［ｄ］に格納する。
ステップＳ６１４において、レンズ制御部１１６は、カウンタ変数ｄをインクリメントする。そしてＳ６１５に進む。
ステップＳ６１５では、レンズ制御部１１６は、今回のステップＳ６１３において算出した評価値Ｖａｌ［９０−ｄ］と、前回のステップＳ６１３において算出した評価値Ｖａｌ［９０−（ｄ−１）］と大きさを比較する。そして、Ｖａｌ［９０−（ｄ−１）］＞Ｖａｌ［９０−ｄ］である場合にはステップＳ６１６へ進み、そうでない場合はステップＳ６１７へ進む。
ステップＳ６１５にてＶａｌ［９０−（ｄ−１）］＞ｄａｔ［ｄ］でないと判定された場合にはステップＳ６１６に進む。ステップＳ６１６にてΔＭａｘよりカウンタ変数ｄが大きいと判定された場合にはステップＳ６１８へ進み、位相角検出エラーとして処理を終了する。
一方、ステップＳ６１５にてＶａｌ［９０−（ｄ−１）］＞ｄａｔ［ｄ］であると判定された場合には、その時の位相角９０−ｄ［ｄｅｇ］が最小値となり、最も振動成分が小さくなることを示している。そこでこの場合には、ステップＳ６１７へ進む。
ステップＳ６１７にて、レンズ制御部１１６は、カウンタ変数ｄの値を電気角誤差αとして格納する。そしてこの処理を終了する。
【００２５】
図８（ａ）は、位相差９０［ｄｅｇ］の場合のズームレンズ１０２の位置データの一例を示すグラフである。図８（ｂ）は、位相差９０＋α［ｄｅｇ］の場合のズームレンズ１０２の位置データの一例を示すグラフである。図８（ａ）の実線８０１は、位相差が９０［ｄｅｇ］の電流で駆動した時のズーム位置を示す。破線８０２は、理想的なズーム位置を示す。図８（ｂ）の実線８０３は、位相差を９０＋α［ｄｅｇ］に変更した電流（位相変更した電流）で駆動した時のズーム位置を示す。破線８０２は、理想的なズーム位置を示す。
図８に示すように、レンズ制御部１１６は、２相の電流波形の位相差を、９０［ｄｅｇ］から９０°＋α［ｄｅｇ］に決定する（位相変更）。そして、レンズ制御部１１６は、２相の電流波形を決定した位相差（９０＋α［ｄｅｇ］）となるように位相変更し、位相変更した２相の電流をステッピングモータ１３０に印加する。このように、２相の電流の位相変更を行う構成によれば、ズーム位置データの振動が少なくなるため、ステッピングモータ１３０の振動が軽減できる。したがって、回転が滑らかになり振動が抑制される。
【００２６】
＜第２の実施形態＞
以下、添付図面を参照して本発明の第２の実施形態について説明する。なお、第２の実施形態と第１の実施形態とは、システムマイコン１１８の処理が相違し、その他は共通の構成が適用できる。したがって、相違する構成を説明し、共通の構成については説明を省略する。
はじめに、図９のフローチャートと図１０のグラフを用いて、ズームレンズ位置センサ１１２から出力に基づき、ステッピングモータ１３０の振動の大きさを比較するための平均速度Ｕａｖｅを算出する処理について説明する。図９は、平均速度Ｕａｖｅを算出する処理を示すフローチャートである。図１０は平均速度を算出する処理を説明するためのグラフである。具体的には、図１０（ａ）は時間とズーム位置との関係を示すグラフであり、図１０（ｂ）は、速度の絶対値の変動を模式的に示すグラフである。
【００２７】
ステップＳ９０１にて、レンズ制御部１１６は、位相角γと駆動速度Ｖを取得する。ここでの位相角γと駆動速度Ｖの取得方法は図４のフローチャートに示すサブルーチンの引数として得られる。
ステップＳ９０２において、レンズ制御部１１６は、ステップＳ９０１で得た駆動速度Ｖを設定する。そして、Ｓ９０３に進む。
ステップＳ９０３では、レンズ制御部１１６は、ステップＳ９０１で得た位相角γを設定する。
ステップＳ９０４において、レンズ制御部１１６は、ステップＳ９０２とＳ９０３で設定した駆動速度Ｖと位相角γに基づき、駆動制御信号をズーム駆動回路１１０に与えて、ズームレンズ１０２を駆動する。
ステップＳ９０５では、レンズ制御部１１６は、加速処理が終わりステッピングモータ１３０が一定速度になるまでウェイト状態となる。そして、駆動速度が安定したら（一定速度となったら）ステップＳ９０６に進む。
【００２８】
ステップＳ９０６〜Ｓ９１０では、レンズ制御部１１６は、ズームレンズ位置センサ１１２からのズームレンズ１０２の位置Ｐと前回にサンプリングした位置Ｐｂｋの差分から、ステッピングモータ１３０の駆動速度を求める（駆動速度算出）。そして、ステップＳ９０６〜Ｓ９１０の処理を複数回にわたって繰り返すことにより、複数の駆動速度を求める。具体的には、次のとおりである。
ステップＳ９０６にて、レンズ制御部１１６は、現在の位置Ｐを取得する。その後Ｓ９０７に進む。
ステップＳ９０７にて、レンズ制御部１１６は、あらかじめ保存してある前回の処理ときの位置Ｐｂｋと、現在位置Ｐから、次の（式４）を用いて速度（単位時間当たりの移動量）の絶対値を算出する。そして、算出した速度の絶対値をＵ［Ｃ］（０＜Ｃ＜Ｎ−１）に格納する（図１０（ａ）参照）。
Ｕ［Ｃ］＝｜Ｐｂｋ−Ｐ｜            （式４）
ステップＳ９０９にて、レンズ制御部１１６は、次の速度データＵ［Ｃ］を取得するためのカウンタ変数Ｃをインクリメントする。
ステップＳ９１０にて、レンズ制御部１１６は、取得したズームレンズ１０２の速度データＶの数ＣがＮ個に達したか否かを判定する。速度データ数ＣがＮ個に達していない場合にはステップＳ９０６に戻り、達した場合にはステップＳ９１１に進む。
ステップＳ９１１にて、レンズ制御部１１６は、ズームレンズ１０２の駆動を停止させる。そして、処理をＳ９１２に進ませる。
ステップＳ９１２では、レンズ制御部１１６は、ステップＳ９０６〜Ｓ９１６の処理で得られたＮ個の駆動速度Ｕ［０］〜Ｕ［Ｎ−１］の平均値を算出し、算出した平均値を実速度平均Ｕａｖｅとする（図１０（ｂ）参照）。そして、実速度平均Ｕａｖｅを、図４のフローチャートに示すサブルーチンの呼びもとに返す。
【００２９】
次に図１１のフローチャートを用いて、本実施形態におけるステッピングモータ１３０の位相差αを算出する処理に関して説明する。なお、本実施形態で使用するステッピングモータ１３０は、９０±ΔＭａｘ［ｄｅｇ］の範囲に位相差が収まるものとする。
【００３０】
ステップＳ１１０１にて、レンズ制御部１１６は、ステッピングモータ１３０の上限位相差９０＋ΔＭａｘ［ｄｅｇ］のときの平均速度Ｕａｖｅ［９０＋ΔＭａｘ］を、図１０のフローチャートで示される処理を用いて算出する。
ステップＳ１１０２にて、レンズ制御部１１６は、ステッピングモータ１３０の上限位相差９０―ΔＭａｘ［ｄｅｇ］のときの平均速度Ｕａｖｅ［９０−ΔＭａｘ］を、図１０のフローチャートで示される処理を用いて算出する。
ステップＳ１１０３にて、レンズ制御部１１６は、Ｕａｖｅ［９０＋ΔＭａｘ］とＵａｖｅ［９０−ΔＭａｘ］の大小比較を行う。そして、Ｕａｖｅ［９０＋ΔＭａｘ］＜Ｕａｖｅ［９０−ΔＭａｘ］である場合にはステップＳ１１０４へ進み、そうでない場合はステップＳ１１１１に進む。
【００３１】
Ｕａｖｅ［９０＋ΔＭａｘ］＜Ｕａｖｅ［９０−ΔＭａｘ］である場合には、ステッピングモータ１３０の位相差が９０［ｄｅｇ］より大きいことを示す。
そこで、ステップＳ１１０４では、レンズ制御部１１６は、補正方向＋フラグをセットし、カウンタ変数ｄをクリアする。
【００３２】
ステップＳ１１０５〜Ｓ１１０９において、レンズ制御部１１６は、平均速度Ｕａｖｅと駆動速度Ｖの差分が最小となる位相角９０＋ｄ［ｄｅｇ］を追い込んでいき、電気角誤差αを特定する。具体的には、次のとおりである。
ステップＳ１１０５において、レンズ制御部１１６は、カウンタ変数ｄ（＝０〜ΔＭａｘ）のときの評価値Ｕａｖｅ［９０＋ｄ］を求める。
ステップＳ１１０６にて、レンズ制御部１１６は、次の（式５）を用いて、Ｕａｖｅ［９０＋ａ］と、駆動速度の差分の絶対値を算出する。
Ｕａｖｅ  ＝  ｜Ｕａｖｅ［９０＋ｄ］−Ｖ｜            （式５）
そして、算出した絶対値を、Ｒａｍ変数ｄａｔ［ｄ］に格納する。
なお、（式５）の代わりに、次の（式５’）を用いてＵａｖｅ［９０＋ｄ］と、駆動速度の差分の２乗（累乗）を算出してもよい。この場合には、算出した差分の２乗（累乗）をＲａｍ変数ｄａｔ［ｄ］に格納することになる。
Ｕａｖｅ  ＝  （Ｕａｖｅ［９０＋ｄ］−Ｖ）2            （式５’）
ステップＳ１１０７において、レンズ制御部１１６は、カウンタ変数ｄをインクリメントする。そしてステップＳ１１０８に進む。
ステップＳ１１０８では、レンズ制御部１１６は、前回のステップＳ１１０６において格納したｄａｔ［ｄ−１］と、今回のステップＳ１１０６において格納したｄａｔ［ｄ］の大きさを比較する。ｄａｔ［ｄ−１］＞ｄａｔ［ｄ］である場合にはＳ１１１０へ進む。そうでない場合はＳ１１０９へ進む。
ステップＳ１１０９にて、レンズ制御部１１６は、カウンタ変数ｄがΔＭａｘより大きいか否かを判定する。大きいと判定された場合にはステップＳ１１１８へ進む。
ステップＳ１１１８では、レンズ制御部１１６は、位相角検出エラーであると判定する。そして処理を終了する。
ステップＳ１１０８の処理でｄａｔ［ｄ］の方が小さいと判定された場合には、その時の位相角９０＋ｄが最小値となり、最も振動成分が小さくなることを示す。そこでこの場合には、ステップＳ１１１０へ進む。
ステップＳ１１１０にて、レンズ制御部１１６は、カウンタ変数ｄの値を、電気角誤差αとして、メモリに格納する。そして処理を終了する。
【００３３】
ステップＳ１１０３にて、Ｕａｖｅ［９０＋ΔＭａｘ］＜Ｕａｖｅ［９０−ΔＭａｘ］ではないと判定された場合には、ステッピングモータ１３０の位相差が９０［ｄｅｇ］より小さいことを示す。そこでこの場合には、ステップＳ１１１１に進む。
ステップＳ１１１１では、レンズ制御部１１６は、補正方向−フラグをセットし、カウンタ変数ｄをクリアする。
ステップＳ１１１２〜Ｓ１１１６では、レンズ制御部１１６は、平均速度Ｕａｖｅと駆動速度Ｖの差分が最小となる位相角９０−ｄ［ｄｅｇ］を追い込んでいき、電気角誤差αを特定する。具体的には、次のとおりである。
ステップＳ１１１２にて、レンズ制御部１１６は、カウンタ変数ｄ（＝０〜ΔＭａｘ）のときの評価値Ｕａｖｅ［９０−ｄ］を求める。そしてステップＳ１１１３に進む。
ステップＳ１１１３にて、レンズ制御部１１６は、次の（式６）を用いて、Ｕａｖｅ［９０−ｄ］と駆動速度Ｖの差分の絶対値を算出する。
Ｕａｖｅ  ＝  ｜Ｕａｖｅ［９０−ｄ］−Ｖ｜            （式６）
そして、算出結果をＲａｍ変数ｄａｔ［ｄ］に格納する。
ステップＳ１１１４において、レンズ制御部１１６は、カウンタ変数ｄをインクリメントする。そしてステップＳ１１１５に進む。
ステップＳ１１１５では、前回のステップＳ１１０６の結果であるｄａｔ［ｄ−１］と、今回のＳ１１０６の結果であるｄａｔ［ｄ］の大きさを比較する。ｄａｔ［ｄ−１］＞ｄａｔ［ｄ］である場合にはステップＳ１１１７へ進み、そうでない場合はステップＳ１１１６へ進む。
【００３４】
ステップＳ１１１６にて、レンズ制御部１１６は、カウンタ変数ｄがΔＭａｘより大きいか否かを判定する。大きいと判定された場合にはステップＳ１１１８へ進む。
ステップＳ１１１８にて、レンズ制御部１１６は、位相角検出エラーが生じたと判定する。そしてこの処理を終了する。
一方、ステップＳ１１１５の処理でｄａｔ［ｄ］の方が小さいと判定された場合には、その時の位相角９０−ｄが最小値となり、振動成分が最も小さくなることを示す。そこでこの場合には、ステップＳ１１１７へ進む。
ステップＳ１１１７にて、レンズ制御部１１６は、カウンタ変数ｄの値を、電気角誤差αとして、メモリに格納する。そして処理を終了する。
【００３５】
図８（ａ）（ｂ）に示すように、レンズ制御部１１６は、２相の電流の位相差を、９０＋α［ｄｅｇ］に決定する。そして、レンズ制御部１１６は、ズーム駆動回路１１０を介してステッピングモータ１３０に印加する２相の電流の位相差を、決定した位相差（励磁位相間の差が９０＋α［ｄｅｇ］）に位相変更する。そうすると、ズーム位置データの振動が少なくなり、ステッピングモータ１３０の振動が軽減できる。したがって、回転が滑らかになり振動が抑制される。
【００３６】
前記実施形態では、ズーム駆動源１１１のステッピングモータ１３０を制御する構成を説明したが、フォーカス駆動源１１４のステッピングモータ１３２の制御も同様である。
【００３７】
本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するコンピュータ読取り可能なプログラム（ソフトウェア）を、ネットワーク又は各種記録媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（又はＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。この場合、そのプログラム及びプログラムを記憶した記録媒体は本発明を構成することになる。
【００３８】
以上、本発明をその好適な実施形態に基づいて詳述してきたが、本発明はこれら特定の実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の様々な形態も本発明に含まれる。上述の実施形態の一部を適宜組み合わせてもよい。
たとえば、上述した実施形態においては、本発明を撮像装置の制御装置に適用した場合を例にして説明したが、本発明はこの例に限定されない。本発明は、少なくとも２相の電流で駆動するステッピングモータの制御装置であれば適用可能である。すなわち、本発明は、撮像装置のみならず、各種アクチュエータなどにも適用できる。
【産業上の利用可能性】
【００３９】
本発明は、撮像装置や交換レンズユニットに搭載されるレンズや絞り等の光学素子等を制御する制御装置に適用できる。このほか、本発明は、ステッピングモータを有する各種アクチュエータなどに適用できる。
【符号の説明】
【００４０】
５０１：近似直線、５０２：ズームレンズ位置、８０１：位相差が９０°の電流で駆動した時のズーム位置、８０２：理想的なズーム位置、８０３：適切な位相差の電流で駆動した時のズーム位置
【図１】
2014160193.tif 000003
【図２】
2014160193.tif 000004
【図３】
2014160193.tif 000005
【図４】
2014160193.tif 000006
【図５】
2014160193.tif 000007
【図６】
2014160193.tif 000008
【図７】
2014160193.tif 000009
【図８】
2014160193.tif 000010
【図９】
2014160193.tif 000011
【図１０】
2014160193.tif 000012
【図１１】
2014160193.tif 000013