(57)【要約】【課題】コストダウンを図ることができる振動波モータ制御装置を提供する。【解決手段】レンズ１００を備える撮影装置１０は、設定周波数Ｆの駆動電圧で駆動される振動波モータ１１１を用いてレンズ１００の位置を制御するレンズ位置制御部１１０と、設定周波数Ｆの値を制御する駆動周波数制御部１２０とを備える。駆動周波数制御部１２０では、エンコーダ１１９から入力された振動波モータ１１１の移動体１１１ｂの位置の変化に基づいて設定周波数Ｆの実効周波数を推定周波数として取得し、取得した推定周波数に基づいて設定周波数Ｆの更新値を算出してレンズ位置制御部１１０に入力する。【選択図】図１
2008054448.tif 000002
【特許請求の範囲】
【請求項１】
予め設定された設定周波数の電圧により駆動される振動波モータを制御する振動波モータ制御装置において、前記振動波モータの変位に基づいて前記設定周波数の実効周波数を推定周波数として推定する推定手段と、前記推定周波数に基づいて前記設定周波数を補正する補正手段とを備えることを特徴とする振動波モータ制御装置。
【請求項２】
前記補正手段は、前記推定周波数の値が前記設定周波数の値よりも大きいときは前記設定周波数の値が小さくなるように、前記推定周波数の値が前記設定周波数の値よりも小さいときは前記設定周波数の値が大きくなるように前記設定周波数の補正を行うことを特徴とする請求項１記載の振動波モータ制御装置。
【請求項３】
前記推定周波数と前記設定周波数の間の周波数差を算出する算出手段を備え、前記補正手段は、前記算出された周波数差に基づいて前記設定周波数の補正を行うことを特徴とする請求項１又は２記載の振動波モータ制御装置。
【請求項４】
前記推定手段は、前記振動波モータの変位と前記設定周波数とを関連付けた検量線に基づいて前記推定周波数の推定を行うことを特徴とする請求項１乃至３のいずれか１項に記載の振動波モータ制御装置。
【請求項５】
前記推定手段は、前記検量線を表す関数の逆関数を用いて前記推定周波数の推定を行うことを特徴とする請求項４記載の振動波モータ制御装置。
【請求項６】
前記補正手段による補正を行うタイミングを設定するタイミング設定手段を備えることを特徴とする請求項１乃至５のいずれか１項に記載の振動波モータ制御装置。
【請求項７】
前記振動波モータは、被写体を撮影する撮影装置の光学部材を駆動することを特徴とする請求項１乃至６のいずれか１項に記載の振動波モータ制御装置。
【請求項８】
前記光学部材は、ズームレンズ、フォーカスレンズ、振れ補正レンズ、絞り、及び減光フィルタから成る群から選択された少なくとも１つの光学部材から成ることを特徴とする請求項７記載の振動波モータ制御装置。
【請求項９】
前記振動波モータは、前記光学部材を水平パンニング方向又は垂直チルティング方向に駆動することを特徴とする請求項７又は８記載の振動波モータ制御装置。
【請求項１０】
予め設定された設定周波数の電圧により駆動される振動波モータを制御する振動波モータ制御方法において、前記振動波モータの変位に基づいて前記設定周波数の実効周波数を推定周波数として推定する推定ステップと、前記推定周波数に基づいて前記設定周波数を補正する補正ステップとを有することを特徴とする振動波モータ制御方法。
【請求項１１】
前記補正ステップでは、前記推定周波数の値が前記設定周波数の値よりも大きいときは前記設定周波数の値が小さくなるように、前記推定周波数の値が前記設定周波数の値よりも小さいときは前記設定周波数の値が大きくなるように前記設定周波数の補正が行われることを特徴とする請求項１０記載の振動波モータ制御方法。
【請求項１２】
前記推定周波数と前記設定周波数の間の周波数差を算出する算出ステップを有し、前記補正ステップでは、前記算出された周波数差に基づいて前記設定周波数の補正が行われることを特徴とする請求項１０又は１１記載の振動波モータ制御方法。
【請求項１３】
前記推定ステップでは、前記振動波モータの変位と前記設定周波数とを関連付けた検量線に基づいて前記推定周波数の推定が行われることを特徴とする請求項１０乃至１２のいずれか１項に記載の振動波モータ制御方法。
【請求項１４】
前記推定ステップでは、前記検量線を表す関数の逆関数を用いて前記推定周波数の推定が行われることを特徴とする請求項１３記載の振動波モータ制御方法。
【請求項１５】
前記補正ステップを実行するタイミングを設定するタイミング設定ステップを有することを特徴とする請求項１０乃至１４のいずれか１項に記載の振動波モータ制御方法。
【請求項１６】
予め設定された設定周波数の電圧により駆動される振動波モータを制御する振動波モータ制御方法をコンピュータに実行させるプログラムであって、前記振動波モータの変位に基づいて前記設定周波数の実効周波数を推定周波数として推定する推定モジュールと、前記推定周波数に基づいて前記設定周波数を補正する補正モジュールとを備えることを特徴とするプログラム。
【請求項１７】
請求項１６記載のプログラムを格納したことを特徴とするコンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、振動波モータ制御装置、振動波モータ制御方法、プログラム、及び記憶媒体に関し、特に、予め設定された設定周波数の電圧により駆動される振動波モータを制御する振動波モータ制御装置、振動波モータ制御方法、プログラム、及び記憶媒体に関する。
【背景技術】
【０００２】
振動波モータは、電圧を印加すると振動する圧電素子としての弾性体に振動波を生じさせ、この振動体に接触する移動体を摩擦力により相対移動させるものである。
【０００３】
このような圧電素子の共振点（共振周波数）は、温度、湿度、負荷等の環境条件に応じて変動する。したがって、圧電素子を安定に動作させるためには、圧電素子を駆動するために印加される電圧の周波数（以下、「駆動周波数」という）の値が圧電素子の共振周波数の値よりも常に大きくなるように駆動周波数の値を制御する必要がある。
【０００４】
そこで、上記駆動周波数の値を制御するために、振動波モータの一例である超音波モータの弾性体の振動状態をモニタするために設けた他の圧電素子、即ちモニタ用圧電素子を用いることが提案されている（例えば、特許文献１参照）。
【特許文献１】特開平０５−２５２７６５号公報（図１）
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、上述したモニタ用圧電素子は、駆動周波数の値を制御するためだけに設けられたものであるので、モニタ用圧電素子の分だけコストがかかる。また、この場合には、モニタ用圧電素子からの出力信号を処理するためのモニタ信号処理回路をも設ける必要があるので、振動波モータを制御する回路を含む回路基板が大型化すると共にその分だけコストがかかる。さらには、該モニタ信号処理回路からの信号をマイクロコンピュータ（マイコン）へ入力するためのマイコン入力ピン等をマイコンに割り当てる操作、即ちリソース割当を行う必要があるので、ユーザの手間がかかり、人件費がコストアップする。
【０００６】
本発明の目的は、コストダウンを図ることができる振動波モータ制御装置、振動波モータ制御方法、プログラム、及び記憶媒体を提供することにある。
【課題を解決するための手段】
【０００７】
上記目的を達成するために、本発明の振動波モータ制御装置は、予め設定された設定周波数の電圧により駆動される振動波モータを制御する振動波モータ制御装置において、前記振動波モータの変位に基づいて前記設定周波数の実効周波数を推定周波数として推定する推定手段と、前記推定周波数に基づいて前記設定周波数を補正する補正手段とを備えることを特徴とする。
【０００８】
上記目的を達成するために、本発明の振動波モータ制御方法は、予め設定された設定周波数の電圧により駆動される振動波モータを制御する振動波モータ制御方法において、前記振動波モータの変位に基づいて前記設定周波数の実効周波数を推定周波数として推定する推定ステップと、前記推定周波数に基づいて前記設定周波数を補正する補正ステップとを有することを特徴とする。
【０００９】
上記目的を達成するために、本発明のプログラムは、予め設定された設定周波数の電圧により駆動される振動波モータを制御する振動波モータ制御方法をコンピュータに実行させるプログラムであって、前記振動波モータの変位に基づいて前記設定周波数の実効周波数を推定周波数として推定する推定モジュールと、前記推定周波数に基づいて前記設定周波数を補正する補正モジュールとを備えることを特徴とする。
【００１０】
上記目的を達成するために、本発明の記憶媒体は、上記プログラムを格納したことを特徴とする。
【発明の効果】
【００１１】
本発明によれば、振動波モータの変位に基づいて振動波モータを駆動する電圧に対して設定されている設定周波数（駆動周波数）の実効周波数を推定周波数として推定し、該推定周波数に基づいて駆動周波数を補正する。これにより、駆動周波数の値を制御するために必要な周波数のずれを演算により取得することができるので、駆動周波数の値を制御するためにモニタ用圧電素子を設ける必要がなくなる。その結果、コストダウンを図ることができる。
【発明を実施するための最良の形態】
【００１２】
以下、本発明の実施の形態について図面を参照しながら詳細に説明する。
【００１３】
図１は、本発明の実施の形態に係る振動波モータ制御装置を備える撮影装置の構成を概略的に示すブロック図である。
【００１４】
図１において、撮影装置１０は、被写体撮影用のレンズ１００と、後述する振動波モータ１１１を用いてレンズ１００の位置を制御するレンズ位置制御部１１０と、振動波モータを駆動すべき電圧の駆動周波数を制御する駆動周波数制御部１２０とを備える。
【００１５】
レンズ位置制御部１１０は、レンズ１００を駆動する振動波モータ１１１と、振動波モータ１１１に駆動電圧を印加することにより振動波モータ１１１を駆動するドライバ１１２とを含む。
【００１６】
振動波モータ１１１は、２つの電極で構成された弾性体１１１ａと、弾性体１１１ａに接触する移動体１１１ｂとから構成されている。弾性体１１１ａは、ドライバ１１２から印加された駆動電圧に応じて振動し、これにより振動波が発生する。したがって、弾性体１１１ａは、電気−機械エネルギ変換素子の一例である圧電素子として機能する。移動体１１１ｂは、レンズ１００と直接的に又は所定の部材を介して間接的に連結されており、レンズ１００は、移動体１１１ｂの移動に応じて変位する。
【００１７】
また、レンズ位置制御部１１０は、目標位置発生部１１３、演算器１１４、補償器１１５、２相パルス発生部１１６と、駆動周波数設定部１１７と、移動体１１１ｂの位置を検出するエンコーダ１１９とを備える。目標位置発生部１１３、演算器１１４、補償器１１５、及び２相パルス発生部１１６は、図１に示すように、ドライバ１１２に向かって直列に接続されている。駆動周波数設定部１１７は、２相パルス発生部１１６に接続されている。エンコーダ１１９は、演算器１１４に接続されている。
【００１８】
駆動周波数制御部１２０は、補償器１１５及びエンコーダ１１９に接続されたオブザーバ１２１と、オブザーバ１２１に接続された演算器１２２と、演算器１２２に接続された駆動周波数補正部１２３と、スイッチ１２４とを備える。スイッチ１２４は、一端が駆動周波数補正部１２３に接続されており、他端が駆動周波数設定部１１７に接続されている。また、演算器１２２は、２相パルス発生部１１６にも接続されている。
【００１９】
次に、図１におけるレンズ位置制御部１１０によって実行されるレンズ位置制御処理を説明する。
【００２０】
レンズ位置制御処理では、まず、目標位置発生部１１３が、移動体１１１ｂを移動すべき目標位置を発生して演算器１１４に入力し、一方、エンコーダ１１９が、移動体１１１ｂの位置を検出して演算器１１４に入力する。続いて、演算器１１４は、目標位置発生部１１３が発生した目標位置と、エンコーダ１１９から入力された移動体１１１ｂの位置の間の差、即ち移動体１１１ｂを目標位置にまで移動させるために必要な駆動距離を算出して補償器１１５に入力する。
【００２１】
その後、補償器１１５は、演算器１１４から入力された駆動距離に基づいて後述する位相差Φの値を算出して２相パルス発生部１１６に入力する。２相パルス発生部１１６は、図２を用いて後述する２種類のパルス信号、即ち第１パルス信号及び第２パルス信号を発生してドライバ１１２に入力する。駆動周波数設定部１１７は、２相パルス発生部１１６が発生すべき２種類のパルス信号の駆動周波数の値を設定周波数Ｆとして２相パルス発生部１１６に設定する。
【００２２】
図２は、図１における２相パルス発生部１１６が発生する２種類のパルス信号のタイミングチャートである。
【００２３】
図２に示すように、２相パルス発生部１１６が発生する第１パルス信号及び第２パルス信号は、パルスの周期が同一であり、この周期は、駆動周波数設定部１１７が設定した設定周波数Ｆに対応する。ここで、設定周波数Ｆの初期値である基準駆動周波数Ｆrの値、例えば１７５ｋＨｚは、後述する図３を用いて予め設定される。
【００２４】
また、第１パルス信号及び第２パルス信号のパルス間の位相差Φは、補償器１１５から入力されたものに該当する。パルスの１周期を３６０度とすると、位相差Φの９０度は１／４周期に該当する。位相差Φの値は−９０度から＋９０度までの範囲内で設定すればよい。
【００２５】
図１において、ドライバ１１２は、２相パルス発生部１１６から入力された２種類のパルス信号に応じて不図示の電源をスイッチングすることにより２相の駆動電圧を生成する。これらの駆動電圧が、弾性体１１１ａを構成する２つの電極に印加されると、該電極の電圧値が上昇する。弾性体１１１ａは、２相の駆動電圧が印加されると振動し、これにより振動波が発生する。弾性体１１１ａに接触している移動体１１１ｂは、振動中の弾性体１１１ａとの間の摩擦力により相対的に移動する。エンコーダ１１９は、移動体１１１ｂの位置を検出して演算器１１４に入力する。
【００２６】
このようにして、レンズ位置制御部１１０は、エンコーダ１１９が検出した移動体１１１ｂの位置を演算器１１４にフィードバックすることにより、設計通りに即ち所望の一巡伝達特性に従って移動体１１１ｂひいてはレンズ１００の位置を制御する。なお、この一巡伝達特性とは、レンズ位置制御部１１０を形成するフィードバックループの開ループが所望の一巡伝達関数（open loop transfer function）に従ってレンズ位置制御部１１０が動作するような特性を指す。
【００２７】
一方、図１における駆動周波数制御部１２０は、その各部が以下のように動作することにより、後述する図５の振動波モータ駆動制御処理を実行する。
【００２８】
オブザーバ１２１は、エンコーダ１１９が検出した移動体１１１ｂの位置（位相）に基づいて、振動波モータ１１１の弾性体１１１ａが実際に発生した振動波の周波数の値を推定周波数Ｆ’として算出して演算器１２２に入力する。したがって、推定周波数Ｆ’は、設定周波数Ｆの実効周波数を示している。実効周波数の値は、設定周波数Ｆ（駆動周波数）に期待される以上に高い周波数の振動波を振動波モータ１１１が発生した場合には、設定周波数Ｆの値よりも高くなる。
【００２９】
演算器１２２は、オブザーバ１２１から入力された推定周波数Ｆ’と、２相パルス発生部１１６に設定されている設定周波数Ｆの間の周波数差ΔＦの値を算出し、駆動周波数補正部１２３に入力する。
【００３０】
駆動周波数補正部１２３は、周波数差ΔＦに基づいて補正値Ｃを算出し、この補正値Ｃを２相パルス発生部１１６に設定されている設定周波数Ｆに加算する。これにより、駆動周波数設定部１１７に入力すべき設定周波数Ｆの値（以下、「更新値」という）が算出される。
【００３１】
スイッチ１２４は、そのＯＮ／ＯＦＦが所定のタイミングでスイッチングされるように構成されている（タイミング設定手段）。したがって、スイッチ１２４がＯＮであるときに、駆動周波数補正部１２３が算出した設定周波数Ｆの更新値が駆動周波数設定部１１７に入力される。
【００３２】
これに応じて、レンズ位置制御部１１０の駆動周波数設定部１１７は、２相パルス発生部１１６に設定されている設定周波数Ｆの値を入力された更新値で更新する。
【００３３】
このように、駆動周波数制御部１２０は、振動波モータ１１１に印加すべき駆動電圧に対して設定されている設定周波数Ｆの値を制御するように構成されている。
【００３４】
次に、レンズ位置制御部１１０のドライバ１１２によって駆動される移動体１１１ｂの速度について説明する。
【００３５】
図３は、図１における振動波モータ１１１の移動体１１１ｂが移動するときの速度ｕと弾性体１１１ａが発生する周波数ｘの間の関係を示す図である。
【００３６】
図３において、横軸は、弾性体１１１ａが発生する振動波の周波数ｘ（Ｈｚ）を示しており、縦軸は、移動体１１１ｂの速度ｕを示している。なお、速度ｕの単位としては、任意のものを用いることができる。
【００３７】
図３の線３００ａは、振動波モータ１１１の弾性体１１１ａに周波数ｘの振動波が発生したときに移動する移動体１１１ｂの最大速度ｕを示しており、最大速度ｕは、下記式１に示すように周波数ｘの関数で表される。
【００３８】
ｕ＝ｆ（ｘ）          ……（１）
図３に示すように、線３００ａ上の共振点Ｐ0では、最大速度ｕの値が最大値Ｖmaxを呈する。また、線３００ａにおいて、周波数ｘの値が共振点Ｐ0に対応する共振周波数Ｆ0の値よりも大きくなるほど、最大速度ｕの値は最大値Ｖmaxよりも低下する。したがって、この関数は、図３に示すような傾きを係数とした一次関数とみなすことができる。また、駆動周波数設定部１１７が設定する設定周波数Ｆの値は、弾性体１１１ａの共振周波数Ｆ0よりも大きい値となるように設定される。これにより、弾性体１１１ａの共振点Ｆ0の値が環境条件に応じて変動した場合であっても弾性体１１１ａを安定に動作させることができる。
【００３９】
なお、図３の一次関数の傾きは、弾性体１１１ａに固有の値であり、例えば−０．０１である。このとき、設定周波数Ｆの初期値である基準駆動周波数Ｆrの値として、例えば１７５ｋＨｚを設定したときに移動体１１１ｂの速度ｕの値が１００であった場合、線３００ａに対応する一次関数は、下記式２のように表される。
【００４０】
ｕ＝（１７５０００−ｘ）／１００＋１００          ……（２）
図３に示すような線３００ａ又は線３００ａを表す関数（式１，２）は、基準駆動周波数Ｆrの値を設定するために用いた検量線として、補償器１１５に格納される。設定周波数Ｆの値とその実効周波数の値がほぼ等しい場合、この検量線に設定周波数Ｆの値を代入することにより、設定周波数Ｆに対応する移動体１１１ｂの最大速度ｕを迅速に算出することができる。
【００４１】
なお、図３に示すような線３００ａ又は線３００ａを表す関数（式１，２）に対応する検量線をオブザーバ１２１や駆動周波数補正部１２３にも格納することが好ましい。
【００４２】
図４は、図２に示す位相差Φと移動体１１１ｂの速度ｕの間の関係を示す図である。
【００４３】
図４において、横軸は、図２の第１パルス信号及び第２パルス信号のパルス間の位相差Φ（度）を示し、縦軸は、移動体１１１ｂの速度ｕを示している。
【００４４】
図４の線４００は、設定周波数Ｆの値が基準駆動周波数Ｆrで一定である場合において、位相差Φの値を−９０度から＋９０度までの１８０度に亘って変化させたときの移動体１１１ｂの速度ｕの値を示している。
【００４５】
図４に示すように、線４００においては、位相差Φの値が＋９０度であるとき、即ち第１パルス信号のパルスに対して第２パルス信号のパルスが１／４周期だけ進行しているときに、移動体１１１ｂの速度ｕの値が最大値Ｖmaxを呈する。このとき、移動体１１１ｂは、所定の方向（以下、「＋方向」という）に移動する。
【００４６】
また、位相差Φの値が−９０度であるとき、即ち第１パルス信号のパルスに対して第２パルス信号のパルスが１／４周期だけ後退（遅延）しているときにも、速度ｕの値が最大値Ｖmaxを呈する。このとき、移動体１１１ｂは、＋方向とは逆の方向（−方向）に移動する。
【００４７】
また、線４００において、位相差Φの値が０度であるときには、速度ｕの値が０となり、これは、移動体１１１ｂが停止していることを意味する。
【００４８】
なお、上述した最大値Ｖmaxは、図３における基準駆動周波数Ｆrに対応する基準速度Ｖrの値に一致する。すなわち、図３の線３００は、図４において位相差Φの絶対値が９０度であるときの最大速度と周波数の間の関係を示している。
【００４９】
また、図４から分かるように、速度ｕは位相差Φの関数ｕ＝ｆ（Φ）で表すことができる。ここで、線４００を表す関数は、図４に示すような傾きを係数とした一次関数とみなすことができ、下記式３のように表される。
【００５０】
ｕ＝Ｖmax×（Φ／９０）          ……（３）
図４の線４００又は線４００を表す関数（式３）は、検量線として、例えば補償器１１５に格納される。このように格納した検量線に位相差Φの値を代入することにより、位相差Φに対応する移動体１１１ｂの速度ｕ、更には位相差Φの絶対値が９０度であるときの移動体１１１ｂの最大速度ｕを迅速に算出することができる。換言すれば、移動体１１１ｂの速度ｕの値は、設定周波数Ｆの値が基準駆動周波数Ｆrで固定されているときに、図４に示すような既知の範囲内で変動する。
【００５１】
これを利用することにより、補償器１１５は、位相差Φの値を変更して移動体１１１ｂの速度ｕの値を変更するように構成されている。例えば、第１パルス信号に対する第２パルス信号のパルスの進行方向が反転するように位相差Φの値を変更することによって、移動体１１１ｂの移動方向を反転させることができる。また、位相差Φの値を０にすることによって移動体１１１ｂを停止させることができる。このようにして、レンズ位置制御部１１０は、振動波モータ１１１の移動体１１１ｂひいてはレンズ１００の位置を制御している。
【００５２】
なお、図４の線４００又は線４００を表す関数（式３）に対応する検量線をオブザーバ１２１にも格納することが好ましい。
【００５３】
また、図３及び図４によれば、速度ｕは、周波数ｘ及び位相差Φの関数で表すことができる。ここで、図３の線３００ａ及び図４の線４００は、レンズ位置制御部１１０が所望の一巡伝達特性に従って動作するように補償器１１５の応答特性を設計するための前提（基準）となっている。換言すれば、線３００ａを用いて設定した基準駆動周波数Ｆrで振動波モータ１１１が動作している限りは、レンズ位置制御部１１０は、補償器１１５が図４の線４００に基づいて算出した位相差Φの値に基づいてレンズ１００の位置を制御することが可能となる。
【００５４】
一方、駆動周波数制御部１２０のオブザーバ１２１は、図１に示したように、補償器１１５及びエンコーダ１１９に接続されている。これにより、駆動周波数制御部１２０では、環境条件の変動に応じて発生した弾性体１１１ａの共振周波数Ｆ0の変動の大きさを推定することが可能となる。
【００５５】
具体的には、オブザーバ１２１は、まず、エンコーダ１１９から入力された移動体１１１ｂの位置の所定の時間（以下、「サンプリング時間」という）内における変位量ΔＬに基づいて、移動体１１１の実測速度Ｖ1（即ち、ΔＬ／サンプリング時間）を算出する。なお、上記サンプリング時間は、スイッチ１２４によるＯＮ／ＯＦＦのスイッチングの間隔に応じて設定されることが好ましい。
【００５６】
また、このとき、オブザーバ１２１は、補償器１１５から入力された位相差Φに基づいて、最大速度Ｖ1から移動体１１１ｂの最大速度Ｖ2を算出する。
【００５７】
Ｖ2＝Ｖ1÷（Φ／９０）          ……（４）
なお、設定周波数Ｆの値が基準駆動周波数Ｆrのときは、基準速度Ｖrが最大速度Ｖmaxに該当する。
【００５８】
ここで、変位量ΔＬは、サンプリング時間の前後にエンコーダ１１９が検出した移動体１１１ｂの２つの位置間の距離、即ちサンプリング時間内における移動体１１１ｂの移動距離を示す。
【００５９】
次に、オブザーバ１２１は、最大速度Ｖ2と最大速度Ｖmaxとを比較する。この比較の結果、最大速度Ｖ2が最大速度Ｖmaxよりも低い場合には、実効周波数（推定周波数）Ｆ’が設定周波数Ｆよりも実質的に高いことが推測される。実効周波数が設定周波数Ｆよりも高くなる理由は、図７を用いて後述するように、環境条件の変動に応じて共振点Ｐ0が低周波数側にずれたためである。一方、最大速度Ｖ2が最大速度Ｖmaxよりも高い場合には、図８を用いて後述するように、環境条件の変動に応じて共振点Ｐ0が高周波数側にずれたために、実効周波数Ｆ’が設定周波数Ｆよりも実質的に低いことが推測される。
【００６０】
上述したような推定が成り立つことを利用して、本発明では、オブザーバ１２１で推定周波数Ｆ’の値を算出し、算出される推定周波数Ｆ’の値に基づいて演算器１２２及び駆動周波数補正部１２３が設定周波数Ｆの更新値を自動的に算出している。これらの処理を含む振動波モータ駆動制御処理を説明する。
【００６１】
図５は、図１の撮影装置１０の駆動周波数制御部１２０が実行する振動波モータ駆動制御処理のフローチャートである。本処理は、振動波モータ１１１の電源がＯＮであるとき、即ちレンズ位置制御部１１０が作動しているときに実行される。
【００６２】
図５において、まず、スイッチ１２４に設定された所定タイミングになったときは（ステップＳ１０１でＹＥＳ）、オブザーバ１２１は、推定周波数Ｆ’の値を算出する（ステップＳ１０２）。具体的には、図３に対応する検量線を表す関数ｕ＝ｆ（ｘ）の逆関数ｘ＝ｆ-1（ｕ）に、移動体１１１ｂの位置の変位量ΔＬから算出した実測速度Ｖ1を用いて算出した最大速度Ｖ2を代入することにより推定周波数Ｆ’の値を算出する（即ち、Ｆ’＝ｆ-1（Ｖ2））。
【００６３】
続くステップＳ１０３では、演算器１２２は、設定周波数Ｆに対する推定周波数Ｆ’の偏差を示す周波数差ΔＦを算出する（即ち、ΔＦ＝Ｆ’−Ｆ）。ここで、周波数差ΔＦの符号に基づいて、設定周波数Ｆの値と推定周波数Ｆ’の値とを比較することができる。この比較により、オブザーバ１２１は、弾性体１１１ａの共振点Ｆ0が環境条件に応じて高周波数側に変動したか又は低周波数側に変動したかを判別している。次に、駆動周波数補正部１２３は、周波数差ΔＦに対して補正ゲイン（−１）を乗算することにより補正値Ｃを取得する（即ち、Ｃ＝−ΔＦ）（ステップＳ１０４）。
【００６４】
続いて、ステップＳ１０５では、駆動周波数補正部１２３は、設定周波数Ｆの値１７５ｋＨｚに式７の補正量Ｃの値−５ｋＨｚを加算することにより、これらの和（Ｆ＋Ｃ）を算出する。続いて、ステップＳ１０６では、駆動周波数設定部１２３は、ステップＳ１０５で算出した値を設定周波数Ｆの更新値としてレンズ位置制御部１１０に設定すべく、スイッチ１２４を介して駆動周波数設定部１１７に入力して、本処理を終了する。
【００６５】
これに応じて、駆動周波数設定部１１７は、設定周波数Ｆの値、例えば基準駆動周波数Ｆrの値１７５ｋＨｚを、駆動周波数設定部１２３が入力した更新値で更新することにより、設定周波数Ｆの補正を完了する。
【００６６】
図５の処理によれば、駆動周波数設定部１１７が２相パルス発生部１１６に設定すべき設定周波数Ｆの更新値を駆動周波数制御部１２０が自動的に算出する。この結果、レンズ位置制御部１１０は、共振点がずれていても、補償器１１５の応答特性で即ち設計通りの一巡伝達特性に従って、安定な状態で動作することができる。換言すれば、駆動周波数制御部１２０は、レンズ位置制御部１１０では補償できない共振点のずれを補償することができる。
【００６７】
以下、図５の処理の具体例を説明する。
【００６８】
図６は、図５の処理によって補正される設定周波数Ｆの値の変化の一例を示すタイミングチャートである。なお、図６には、図５の処理において算出される移動体１１１ｂの速度ｘ、弾性体１１１ａの推定周波数Ｆ’、及び設定周波数Ｆに対する補正量Ｃの各値の変化も示されている。
【００６９】
図６に示すように、設定周波数Ｆの値は、駆動周波数制御部１２０が図５の処理を実行することにより、所定のタイミング、具体的には時刻Ｔ1，Ｔ2，Ｔ3で補正される。
【００７０】
一方、時刻Ｔ0における設定周波数Ｆの値は、駆動周波数設定部１１７によって設定された設定周波数Ｆの初期値、即ち基準駆動周波数Ｆrである。なお、電源投入後から予め設定された時刻Ｔ1までの時間が経過するまでは、駆動周波数制御部１２０は、設定周波数Ｆの補正動作を行わないように構成されている。
【００７１】
また、図６に示す例では、時刻Ｔ0〜Ｔ1間において、移動体１１１ｂの速度ｘの値が徐々に低下しており、これは、図７を用いて後述するように、共振点Ｐ0が環境条件に応じて徐々に低周波数側にある共振点Ｐbへ変動したことを示している。また、時刻Ｔ1〜Ｔ2間や時刻Ｔ2〜Ｔ3間では、移動体１１１ｂの速度ｘの値が徐々に上昇しており、これは、共振点Ｐ0が環境条件に応じて高周波数側にある共振点、例えば図８を用いて後述するように共振点Ｐcへ変動したことを示している。
【００７２】
図６における時刻Ｔ0においては、駆動周波数制御部１２０が設定周波数Ｆaの補正動作を開始していないので、設定周波数Ｆa（基準駆動周波数Ｆr）として例えば１７５ｋＨｚが設定されている。このとき、この基準駆動周波数Ｆrの値を上記式２に代入すれば分かるように、位相差Φの値が９０度で速度ｕの値は１００である。
【００７３】
図６における時刻Ｔ1では、設定周波数Ｆaが１７５ｋＨｚで一定であるにも拘わらず、位相差Φの値が９０度で速度ｕの値が５０に低下している。このときに実行される図５の処理を図７を用いて説明する。
【００７４】
図７は、図６の時刻Ｔ1における弾性体１１１ａの周波数ｘ（Ｈｚ）と移動体１１１ｂの速度ｕの間の関係を示す図である。なお、図７には、図６の時刻Ｔ0に対応する図３と同一の検量線３００ａも破線で示されている。
【００７５】
図７に示すように、図６の時刻Ｔ1における実測速度から算出した最大速度Ｖbは、時刻Ｔ0において設定された設定周波数Ｆaに対応する最大速度Ｖaよりも低い。また、線３００ａ上においては、最大速度Ｖbに対応する推定周波数Ｆ’即ち実効周波数は設定周波数Ｆaの値よりも高くなっている。
【００７６】
このように、所定時間内に、設定周波数Ｆaの値が不変であるにも拘わらず、移動体１１１ｂの速度ｕが低下して実効周波数が高くなった場合には、オブザーバ１２１は、弾性体１１１ａの共振点が図７に示すようにＰ0からＰbへ低周波数側にずれたと推測する。これに応じて、駆動周波数制御部１２０は、補償器１１５の応答特性の基準となる検量線３００ａを共振点のずれに合わせて並行移動させ、これにより取得した図７の共振点Ｐbを含む線３００ｂ上で速度ｕの値がＶaとなるように、図５の処理を実行する。
【００７７】
具体的には、図６の時刻Ｔ1において、オブザーバ１２１は、まず、移動体１１１ｂの最大速度Ｖbの値が５０であることから、このときの線３００ａ上における周波数ｘの値１８０ｋＨｚを推定周波数Ｆ’の値として取得する。続いて、この取得した推定周波数Ｆ’の値から、時刻Ｔ0における設定周波数Ｆaの値、ここでは基準駆動周波数Ｆrの値１７５ｋＨｚを減算した値である周波数差ΔＦの値＋５ｋＨｚを算出する。
【００７８】
オブザーバ１２１は、算出した周波数差ΔＦの値に応じて線３００ａを並行移動させるべく、補正量Ｃの値として−５ｋＨｚを算出する。これにより、並行移動後の線３００ｂを表す関数は、下記式５のように表される。
【００７９】
ｕ＝（１７００００−ｘ）／１００＋１００          ……（５）
この並行移動は、図５のステップＳ１０５において、時刻Ｔ0における設定周波数Ｆaの値１７５ｋＨｚに時刻Ｔ1で算出した補正量Ｃの値−５ｋＨｚを加算することに等しい。これにより、設定周波数Ｆaの更新値である１７０ｋＨｚが設定周波数Ｆbとして算出される。ここで、この周波数ｘとして設定周波数Ｆbの値を上記式５に代入すれば分かるように速度ｕの値を１００にすることができる。
【００８０】
このようにして算出した補正後の設定周波数Ｆbの値を、駆動周波数制御部１２０から、上記式２に応じて動作するレンズ位置制御部１１０に入力することにより、移動体１１１ｂの速度ｕの値を１００に戻すことができる。
【００８１】
図６における時刻Ｔ2では、設定周波数Ｆaが１７０ｋＨｚで一定であり且つ基準駆動周波数Ｆrの値が１７５ｋＨｚであるにも拘わらず、位相差Φの値が９０度で速度ｕの値が１５０に上昇している。このときにも図５の処理を実行することにより、設定周波数Ｆaの値が補正される。なお、図５の処理では検量線３００ａを基準として補正量Ｃの値を算出しているので、時刻Ｔ2では補正量Ｃの値は０Ｈｚと算出される。この結果、時刻Ｔ2では、時刻Ｔ0のときと同様に基準駆動周波数Ｆrが設定され、これに応じて、移動体１１１ｂの速度ｕの値は１００に戻る。
【００８２】
図６における時刻Ｔ3では、設定周波数Ｆaが１７５ｋＨｚで一定であるにも拘わらず、位相差Φの値が９０度で速度ｕの値が１５０に上昇している。このときに実行される図５の処理を説明する。
【００８３】
図８は、図６の時刻Ｔ3における弾性体１１１ａの周波数ｘ（Ｈｚ）と移動体１１１ｂの速度ｕの間の関係を示す図である。なお、図８には、図６の時刻Ｔ0に対応する図３と同一の検量線３００ａも破線で示されている。
【００８４】
図８に示すように、図６の時刻Ｔ3における実測速度から算出した最大速度Ｖcは、時刻Ｔ2において設定された設定周波数Ｆaに対応する最大速度Ｖaよりも高い。また、線３００ａ上においては、最大速度Ｖcに対応する推定周波数Ｆ”即ち実効周波数は設定周波数Ｆaの値よりも低くなっている。
【００８５】
このように、所定時間内に、設定周波数Ｆaの値が不変であるにも拘わらず、移動体１１１ｂの速度ｕが低下して実効周波数が高くなった場合には、オブザーバ１２１は、弾性体１１１ａの共振点が図８に示すようにＰ0からＰcへ高周波数側にずれたと推測する。これに応じて、駆動周波数制御部１２０は、補償器１１５の応答特性の基準となる検量線３００ａを共振点のずれに合わせて並行移動させ、これにより取得した図８の共振点Ｐcを含む線３００ｃ上で速度ｕの値がＶaとなるように、図５の処理を実行する。
【００８６】
具体的には、図６の時刻Ｔ3において、オブザーバ１２１は、まず、移動体１１１ｂの最大速度Ｖcの値が１５０であることから、このときの線３００ａ上における周波数ｘの値、即ち推定周波数Ｆ”の値１７０ｋＨｚを取得する。続いて、この取得した推定周波数Ｆ”の値から、時刻Ｔ2における設定周波数Ｆaの値、ここでは基準駆動周波数Ｆrの値１７５ｋＨｚを減算した値である周波数差ΔＦの値−５ｋＨｚを算出する。
【００８７】
オブザーバ１２１は、算出した周波数差ΔＦの値に応じて線３００ａを並行移動させるべく、補正量Ｃの値として＋５ｋＨｚを算出する。これにより、並行移動後の線３００ｃを表す関数は、下記式６のように表される。
【００８８】
ｕ＝（１８００００−ｘ）／１００＋１００          ……（６）
この並行移動は、図５のステップＳ１０５において、時刻Ｔ2における設定周波数Ｆaの値１７５ｋＨｚに時刻Ｔ3で算出した補正量Ｃの値＋５ｋＨｚを加算することに等しい。これにより、補正後の設定周波数Ｆcの値である１８０ｋＨｚが算出される。ここで、この周波数ｘの値を上記式６に代入すれば分かるように速度ｕの値を１００にすることができる。
【００８９】
このようにして算出した補正後の設定周波数Ｆcの値を、駆動周波数制御部１２０から、上記式２に応じて動作するレンズ位置制御部１１０に入力することにより、移動体１１１ｂの速度ｕの値を１００に戻すことができる。
【００９０】
上述したように、本実施の形態によれば、図１の撮影装置１０は、設定周波数Ｆaから設定周波数Ｆb又はＦcとなるように設定周波数Ｆaの補正動作を行う駆動周波数制御部１２０を備える。これにより、振動波モータ１１１の弾性体１１１ａの共振点Ｐ0が低周波数側及び高周波数側のいずれに変動した場合であっても、移動体１１１ｂひいてはレンズ１００の位置を確実に制御することができる。換言すれば、レンズ位置制御部１１０に、駆動周波数制御部１２０のような簡単な構成を追加するだけで、レンズ位置制御部１１０を設計通りの一巡伝達特性に従って動作、即ち基準駆動周波数Ｆrで振動波モータ１１１を駆動させることができる。
【００９１】
この結果、補償器１１５の応答特性を変更する必要がないので、検量線３００ａ及び線４００に対する設計変更を行うことをなくすことができ、もって、コストアップを最小限に抑えることができる。
【００９２】
また、設定周波数（駆動周波数）を制御するためだけに必要なモニタ用圧電素子及びそのモニタ信号処理回路を設ける必要がないので、従来技術に比較してコストダウンを図ることができる。また、駆動周波数制御部１２０は、図１に示すように非常に簡単な構成であるので、従来技術に比較して回路基板の小型化を図ることができるだけでなく、また、従来技術のように手間のかかるリソース割当を行う必要をなくすことができる。
【００９３】
なお、上記実施の形態では、移動体１１１ｂの位置を検出するエンコーダ１１９を用いたが、エンコーダ１１９に代えて、移動体１１１ｂの速度を検出するセンサを用いてもよい。
【００９４】
なお、上述した実施の形態において実行される逆関数化では、設定周波数と移動体１１１ｂの速度の間の関係を示す関数を予め実験的に求めることにより同定又は近似した関数を用いればよい。なお、実験的に求める関数は、基準周波数を中心にした高周波数側と低周波数側で位相差の絶対値が９０度までの移動体１１１ｂの速度と設定周波数の間の関係を求めることが好ましい。さらには、電源投入直後において温度上昇が進行する前に、上記移動体１１１ｂの速度と設定周波数の間の関係を示す関数を補正してもよい。この補正を停止したい場合にはスイッチ１２４をＯＦＦにすればよい。
【００９５】
また、上記実施の形態において、振動波モータ１１１は、被写体を撮影する撮影装置１０のレンズ１００を駆動するとしたが、このレンズ１００は、ズームレンズ、フォーカスレンズ、及び振れ補正レンズから選択された少なくとも１つのレンズであればいかなるものであってもよい。また、振動波モータ１１１の駆動対象は、レンズ１００などの光学部材に限られることはなく、撮影装置１０の絞りや減光フィルタなどの他の部材であってもよい。さらに、振動波モータ１１１による光学部材の駆動方向は、水平パンニング方向又は垂直チルティング方向であることが好ましい。
【００９６】
また、上記実施の形態では、本発明を撮影装置に適用したが、撮影装置に限られることはなく、予め設定された設定周波数の電圧により駆動される振動波モータを備える装置であればいかなる装置であっても適用することが可能である。
【００９７】
また、本発明の目的は、以下の処理を実行することによって達成される。即ち、上述した実施の形態及びその変形例の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ（又はＣＰＵやＭＰＵなど）が記憶媒体に格納されたプログラムコードを読み出す処理である。
【００９８】
この場合、記憶媒体から読み出されたプログラムコード自体が上記実施の形態及びその変形例の機能を実現することになり、そのプログラムコード及び該プログラムコードを記憶した記憶媒体は本発明を構成することになる。
【００９９】
また、プログラムコードを供給するための記憶媒体としては、次のものを用いることができる。例えば、フロッピー（登録商標）ディスク、ハードディスク、光磁気ディスク、ＣＤ−Ｒ、ＣＤ−ＲＷ、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、ＤＶＤ−ＲＷ、ＤＶＤ＋ＲＷ等の光ディスク、磁気テープ、不揮発性のメモリカード、ＲＯＭなどである。または、プログラムコードをネットワークを介してダウンロードしてもよい。
【０１００】
また、コンピュータが読み出したプログラムコードを実行することにより、上記実施の形態及びその変形例の機能が実現される場合も本発明に含まれる。加えて、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているＯＳ（オペレーティングシステム）などが実際の処理の一部又は全部を行い、その処理によって前述した実施の形態及びその変形例の機能が実現される場合も含まれる。
【０１０１】
さらに、前述した実施の形態及びその変形例の機能が以下の処理によって実現される場合も本発明に含まれる。即ち、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれる。その後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部又は全部を行う場合である。
【図面の簡単な説明】
【０１０２】
【図１】本発明の実施の形態に係る振動波モータ制御装置を備える撮影装置の構成を概略的に示すブロック図である。
【図２】図１における２相パルス発生部が発生する２種類のパルス信号のタイミングチャートである。
【図３】図１における振動波モータの移動体が移動するときの速度と弾性体が発生する周波数の間の関係を示す図である。
【図４】図２に示す位相差と移動体の速度の間の関係を示す図である。
【図５】図１の撮影装置の駆動周波数制御部が実行する振動波モータ駆動制御処理のフローチャートである。
【図６】図５の処理によって補正される設定周波数の値の変化の一例を示すタイミングチャートである。
【図７】図６の時刻Ｔ1における弾性体の周波数と移動体の速度の間の関係を示す図である。
【図８】図６の時刻Ｔ3における弾性体の周波数と移動体の速度の間の関係を示す図である。
【符号の説明】
【０１０３】
１０  撮影装置
１００  レンズ
１１０  レンズ位置制御部
１１１  振動波モータ
１１１ａ  弾性体
１１１ｂ  移動体
１１２  ドライバ
１１５  補償器
１１６  ２相パルス発生部
１１９  エンコーダ
１２０  駆動周波数制御部
１２１  オブザーバ
１２２  演算器
１２３  駆動周波数補正部
【図１】
2008054448.tif 000003
【図２】
2008054448.tif 000004
【図３】
2008054448.tif 000005
【図４】
2008054448.tif 000006
【図５】
2008054448.tif 000007
【図６】
2008054448.tif 000008
【図７】
2008054448.tif 000009
【図８】
2008054448.tif 000010