(57)【特許請求の範囲】
【請求項１】
振動型アクチュエータに印加する駆動信号を発生させる信号発生手段と、
前記駆動信号の周波数を制御する制御手段と、
前記振動型アクチュエータの振動状態を検出する状態検出手段と、
前記状態検出手段による検出信号と前記駆動信号との位相差を検出する位相差検出手段と、
前記駆動信号の周波数の下限値である下限周波数を設定する設定手段と、を備え、
前記位相差検出手段により検出される位相差が前記振動型アクチュエータの共振周波数側にて閾値より大きい場合、
前記設定手段は、前記下限周波数として前記駆動信号の周波数を設定し、前記制御手段は、前記駆動信号の周波数を高周波数側にシフトさせる制御を行うことを特徴とする振動型アクチュエータの制御装置。
【請求項２】
前記制御手段は、前記位相差検出手段により検出される位相差が前記閾値以下である場合、前記振動型アクチュエータの速度制御演算を行い、算出された前記駆動信号の周波数が前記下限周波数より小さい場合、前記駆動信号の周波数として前記下限周波数を設定することを特徴とする請求項１に記載の振動型アクチュエータの制御装置。
【請求項３】
前記制御手段は、前記位相差検出手段により検出される位相差が前記振動型アクチュエータの共振周波数側にて前記閾値より大きい場合、前記駆動信号の周波数が前記振動型アクチュエータの共振周波数に近いほど高周波数側にシフトさせる前記駆動信号の周波数を大きく設定することを特徴とする請求項１または２に記載の振動型アクチュエータの制御装置。
【請求項４】
振動型アクチュエータに印加する駆動信号を発生させる信号発生手段と、
前記駆動信号の周波数を制御する制御手段と、
前記振動型アクチュエータの駆動時の電力を検出する電力検出手段と、
前記駆動信号の周波数の下限値である下限周波数を設定する設定手段と、を備え、
前記電力検出手段により検出される電力が閾値より大きい場合、
前記設定手段は、前記下限周波数として前記駆動信号の周波数を設定し、前記制御手段は、前記駆動信号の周波数を高周波数側にシフトさせる制御を行うことを特徴とする振動型アクチュエータの制御装置。
【請求項５】
前記制御手段は、前記電力検出手段により検出される電力が前記閾値以下である場合、前記振動型アクチュエータの速度制御演算を行い、算出された前記駆動信号の周波数が前記下限周波数より小さい場合、前記駆動信号の周波数として前記下限周波数を設定することを特徴とする請求項４に記載の振動型アクチュエータの制御装置。
【請求項６】
前記制御手段は、前記電力検出手段により検出される電力が前記閾値より大きいほど、高周波数側にシフトさせる前記駆動信号の周波数を大きく設定することを特徴とする請求項４または５に記載の振動型アクチュエータの制御装置。
【請求項７】
前記振動型アクチュエータの振動状態を検出する状態検出手段と、
前記状態検出手段による検出信号と前記駆動信号との位相差を検出する位相差検出手段と、をさらに備え、
前記電力検出手段により検出される電力が前記閾値より大きい場合、または、前記位相差検出手段により検出される位相差が前記振動型アクチュエータの共振周波数側にて閾値より大きい場合に、
前記設定手段は、前記下限周波数として前記駆動信号の周波数を設定し、前記制御手段は、前記駆動信号の周波数を高周波数側にシフトさせる制御を行うことを特徴とする請求項４に記載の振動型アクチュエータの制御装置。
【請求項８】
請求項１から７のいずれか１項に記載した振動型アクチュエータの制御装置を備え、前記振動型アクチュエータにより可動光学部材を駆動することを特徴とする撮像装置。
【請求項９】
振動型アクチュエータの制御装置にて実行される制御方法であって、
前記振動型アクチュエータに印加する駆動信号を発生させるステップと、
前記振動型アクチュエータの振動状態を検出する第１の検出ステップと、
前記第１の検出ステップで検出される検出信号と前記駆動信号との位相差を検出する第２の検出ステップと、
前記駆動信号の周波数を制御する制御ステップと、
前記駆動信号の周波数の下限値である下限周波数を設定する設定ステップと、を有し、
前記第２の検出ステップにおいて検出される前記位相差が前記振動型アクチュエータの共振周波数側にて閾値より大きい場合、
前記設定ステップで、前記下限周波数として前記駆動信号の周波数を設定し、
前記制御ステップで、前記駆動信号の周波数を高周波数側にシフトさせる制御を行うことを特徴とする振動型アクチュエータの制御方法。
【請求項１０】
振動型アクチュエータの制御装置にて実行される制御方法であって、
前記振動型アクチュエータに印加する駆動信号を発生させるステップと、
前記振動型アクチュエータの駆動時の電力を検出するステップと、
前記駆動信号の周波数を制御する制御ステップと、
前記駆動信号の周波数の下限値である下限周波数を設定する設定ステップと、を有し、
前記電力を検出するステップで検出される電力が閾値より大きい場合、
前記設定ステップで、前記下限周波数として前記駆動信号の周波数を設定し、
前記制御ステップで、前記駆動信号の周波数を高周波数側にシフトさせる制御を行うことを特徴とする振動型アクチュエータの制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、振動型アクチュエータの駆動周波数の制御に関するものである。詳しくは、駆動周波数の下限値を設定し、高周波数側（共振周波数とは逆側）に駆動周波数をシフトさせる制御を行うことで、振動型アクチュエータの特性や負荷が変化した場合でも不起動状態を回避する技術に関する。
【背景技術】
【０００２】
振動型モータ（例えば振動波モータ）は、振動体を構成する電気−機械エネルギー変換素子としての圧電素子を備える。圧電素子に対して、２つの駆動相に駆動用の交番信号としての交流電界を印加することにより、振動体の表面に楕円運動を生成し、加圧接触する接触体と振動体とを相対移動させることができる。駆動回路から振動波モータへ出力される２つの印加相（以下、Ａ相、Ｂ相とする）については、ある位相差が付与される。例えば、Ａ相とＢ相の位相差は±９０度であり、位相差の正負に応じて回転方向が決定される。また回転速度については、Ａ相とＢ相に印加する交番信号の周波数を変化させて制御することが一般的である。振動波モータの特性にて、印加する交番信号の周波数によっては振動体が共振する部分がある。共振点近傍での制御においては、印加される周波数に対する回転速度の変化が大きいため、速度制御が困難であることが知られている。
【０００３】
一般に振動波モータの駆動制御では、高周波数側から共振点側に向けて周波数をスイープして回転速度を増し、駆動状態を位相差として検出し、共振点を越えて低周波数側に駆動周波数が移行するのを防止する制御が行われる。すなわち、振動体の振動状態を検出するセンサ相（以下、Ｓ相とする）を振動体の一部に設け、Ｓ相とＡ相との位相差、またはＳ相とＢ相との位相差が検出される。特許文献１には、位相差が小さい場合に振動体が共振状態に近い状態で振動しているとし、共振点から高周波数側へ強制的に駆動周波数を移行させる駆動制御が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平６−１９７５６４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１に記載の制御では、モータの駆動速度を検出しながらモータの駆動周波数を制御している場合に、駆動周波数を高周波側にシフトする事により目標速度との差が大きくなるので、制御量（周波数の変化）が大きくなってしまう。その結果、駆動周波数が共振周波数以下となった場合、不起動状態（以下、「がけ落ち」という）に陥る可能性がある。
【０００６】
図１２は、Ａ相信号とＳ相信号との位相差（ＡＳ位相差）と、駆動周波数との関係を示す図である。横軸は振動波モータの駆動周波数である。左側の縦軸は駆動速度を示し、右側の縦軸はＡＳ位相差を示す。図中の実線は駆動速度、一点鎖線はＡＳ位相差をそれぞれ示す。ＡＳ位相差は共振周波数から離れるほど小さく、共振周波数時に最大となる。共振周波数時のＳ相信号はＡ相信号に対して９０°位相が遅れる。駆動速度は高周波数になるほど小さく、高周波側から共振周波数に近づくほど大きくなる。ただし、駆動周波数が共振周波数以下となると急激に速度が低下して振動波モータが停止する。この現象をがけ落ちと称する。図１２の特性は振動波モータの負荷、温度や湿度等の環境条件等によって変化する。特性が変化するのに伴って振動波モータの共振周波数が変化する。制御の際には特性が変化した場合でも、がけ落ち状態にならないように、共振周波数に対して十分にマージンを持った周波数で振動波モータが駆動される。しかし、振動波モータは共振状態が最も駆動効率が高く、トルクや駆動速度も最大となるため、マージンを大きくとり過ぎると能力を十分に発揮できなくなる。
【０００７】
がけ落ちを回避するためには、駆動信号（Ａ相信号またはＢ相信号）とＳ相信号との位相差が所定値以下となった場合に、当該位相差が所定値以下となった時点での駆動周波数に周波数を固定する制御が考えられる。つまり、駆動周波数を固定する事で制御量の増大によるがけ落ちを回避できる。しかし、この方法では、駆動周波数の固定後にさらに負荷が増大した場合には、がけ落ちの可能性がある。
本発明の目的は、振動型アクチュエータの速度制御において、駆動周波数が共振周波数以下となる事を回避し、不起動状態に陥る可能性を低減することである。
【課題を解決するための手段】
【０００８】
本発明の第１の側面としての装置は、振動型アクチュエータに印加する駆動信号を発生させる信号発生手段と、前記駆動信号の周波数を制御する制御手段と、前記振動型アクチュエータの振動状態を検出する状態検出手段と、前記状態検出手段による検出信号と前記駆動信号との位相差を検出する位相差検出手段と、前記駆動信号の周波数の下限値である下限周波数を設定する設定手段と、を備え、前記位相差検出手段により検出される位相差が前記振動型アクチュエータの共振周波数側にて閾値より大きい場合、前記設定手段は、前記下限周波数として前記駆動信号の周波数を設定し、前記制御手段は、前記駆動信号の周波数を高周波数側にシフトさせる制御を行う。
【０００９】
本発明の第２の側面としての装置は、振動型アクチュエータに印加する駆動信号を発生させる信号発生手段と、前記駆動信号の周波数を制御する制御手段と、前記振動型アクチュエータの駆動時の電力を検出する電力検出手段と、前記駆動信号の周波数の下限値である下限周波数を設定する設定手段と、を備え、前記電力検出手段により検出される電力が閾値より大きい場合、前記設定手段は、前記下限周波数として前記駆動信号の周波数を設定し、前記制御手段は、前記駆動信号の周波数を高周波数側にシフトさせる制御を行う。
【発明の効果】
【００１０】
本発明によれば、振動型アクチュエータの速度制御において、駆動周波数が共振周波数以下となる事を回避し、不起動状態に陥る可能性を低減することができる。
【図面の簡単な説明】
【００１１】
【図１】本発明の実施形態に係るカメラシステムの示すブロック図である。
【図２】カメラ鏡筒のアクチュエータの駆動部を示すブロック図である。
【図３】振動型アクチュエータの駆動部を示すブロック図である。
【図４】Ａ相信号とＳ相信号との位相差を示す図である。
【図５】エンコーダの出力信号を示す図である。
【図６】実施例１の超音波モータの駆動制御を説明するフローチャートである。
【図７】駆動中に負荷が増大した場合に起こり得るがけ落ちの様子を示す図である。
【図８】実施例１の下限周波数の設定により、がけ落ちを回避した様子を示す図である。
【図９】実施例２の超音波モータの駆動制御を説明するフローチャートである。
【図１０】実施例２の下限周波数の設定により、がけ落ちを回避した様子を示す図である。
【図１１】実施例３の超音波モータの駆動制御を説明するフローチャートである。
【図１２】超音波モータの駆動周波数と駆動速度、ＡＳ位相差の関係を示す図である。
【発明を実施するための形態】
【００１２】
本発明の各実施形態に係る振動型アクチュエータの制御装置について、添付図面を参照して詳細に説明する。
（実施例１）
図１は、本発明の実施形態に係るカメラ一体型の画像記録再生装置の構成例を表す図である。
【００１３】
鏡筒１０１は、画角調節用のズームレンズ、焦点調節用のフォーカスレンズ、露光時間を制御するシャッタ、撮像素子１０２の受光量（画像の明るさ）を調整する絞りを内蔵する。撮像素子１０２は、鏡筒１０１により得られた光学像を光電変換して電気信号を出力する。撮像信号処理部１０３は撮像素子１０２から出力される画像信号を処理し、メモリカード１１１への保存に適した信号に変換する。駆動コントローラ１０４は、鏡筒１０１に内蔵される各アクチュエータの駆動制御を行う。
【００１４】
システムコントローラ１０５はＣＰＵ（中央演算処理装置）を備え、撮像装置全体を制御する。カメラ操作部１０６は、ユーザが撮影等の操作を行う際に使用する。記憶部としてフラッシュメモリ１０７、プログラムメモリ１０８が設けられる。カメラの起動時には、フラッシュメモリ１０７内の圧縮されたプログラムがプログラムメモリ１０８に解凍及び展開される。ＣＰＵはプログラムメモリ１０８内のプログラムを実行し、以後に説明する各種の制御を行う。画像メモリ部１０９は撮影画像のデータを一時的に保存する。ディスプレイ１１０は、撮影画像等を表示する。
【００１５】
被写体からの光は、鏡筒１０１を通して撮像素子１０２に結像する。その際、鏡筒１０１内部のフォーカスレンズ、ズームレンズ等の可動光学部材はシステムコントローラ１０５により駆動制御される。撮像素子１０２は、結像した被写体像を光電変換して電気信号を出力する。撮像素子１０２により光電変換された画像信号は所定の周期で読み出され、撮像信号処理部１０３が信号処理して標準的な画像信号に変換する。撮像信号処理部１０３で処理された信号は、所定の周期で標準的なデジタル画像として、画像メモリ部１０９へ一時的に蓄積されるとともに、ディスプレイ１１０に送られて画像表示される（撮影待機状態）。撮影待機状態にてユーザがカメラ操作部１０６に含まれる不図示の撮影ボタンを押すことで撮影が開始する。すなわち、撮像素子１０２から予め設定された露光時間で画像信号が読み出されて、画像メモリ部１０９へ一時的に蓄積される。蓄積された画像信号は、撮像信号処理部１０３が処理し、メモリカード１１１への保存に最適なデータに変換された後でメモリカード１１１に記憶される。なお、図１では記憶媒体としてメモリカード１１１を例示するが、光ディスクやハードディスク、または光磁気ディスク等でも構わない。あるいは、ＦＬＡＳＨメモリやＳＲＡＭ／ＤＲＡＭ等の固体半導体メモリで構成されるランダムアクセス可能なメモリを用いてもよい。
【００１６】
図２は、主として駆動コントローラ１０４の内部構成例を示すブロック図である。駆動コントローラ１０４は、モータ制御回路１０４１と、ＰＷＭ（パルス幅変調）信号発生回路１０４２と、ドライバ回路１０４３を備える。図２のシステムコントローラ１０５は、鏡筒１０１及び撮像素子１０２の動作状況に応じて、モータ制御回路１０４１に対して出力指令を送る。モータ制御回路１０４１は、鏡筒１０１内部のアクチュエータ１０１１が所定の動作を行うようにＰＷＭ信号発生回路１０４２に対して制御指令を出力する。ＰＷＭ信号発生回路１０４２は、モータ制御回路１０４１からの制御指令にしたがい、ドライバ回路１０４３に対してＰＷＭ信号を出力する。ドライバ回路１０４３は、ＰＷＭ信号発生回路１０４２が出力するＰＷＭ信号から、鏡筒１０１内部の各アクチュエータを駆動するための駆動波形を発生させる。
【００１７】
図２の鏡筒１０１に内蔵されるアクチュエータとしてのＵＳＭ１０１１ａは、ズームレンズ１０１２ｂを駆動するための振動型モータの一種である超音波モータである。ＤＣソレノイド１０１１ｂはシャッタ１０１２ｂを駆動する。ステッピングモータ１０１１ｃはフォーカスレンズ１０１２ｃを駆動し、ステッピングモータ１０１１ｄは絞り１０１２ｄを駆動する。モータ制御回路１０４１は、システムコントローラ１０５からの駆動指令に応じて、各アクチュエータの駆動速度、駆動量、及び駆動方向等の駆動条件を決定する。またモータ制御回路１０４１は、システムコントローラ１０５からの駆動指令に応じた駆動条件を満たすように鏡筒１０１内の各アクチュエータの駆動状態を制御する。
【００１８】
図３は、カメラ操作部１０６からの操作指示に応じてＵＳＭ１０１１ａを速度制御するために必要なモジュールだけを抽出して示すブロック図である。以下ではカメラ操作部１０６からの指示を受けてＵＳＭ１０１１ａを速度制御する場合の処理の流れを説明する。
【００１９】
カメラ操作部１０６に含まれる不図示のズームレバーをユーザが操作すると、システムコントローラ１０５にＵＳＭ１０１１ａの駆動指示が伝達される。システムコントローラ１０５はズームレバーの操作量に従って、ＵＳＭ１０１１ａの駆動速度、駆動方向、及び駆動量等の駆動条件を決定する。システムコントローラ１０５は、決定したＵＳＭの駆動条件をモータ制御回路１０４１に通知する。モータ制御回路１０４１は、ＵＳＭ１０１１ａの駆動速度が目標速度となるように速度制御を行う。速度制御の際には、速度検出回路３０２からの検出速度と目標速度とが一致するように、公知のＰ（比例）Ｉ（積分）制御演算が実行される。モータ制御回路１０４１の内部にある不図示のメモリには総駆動量が記憶されているので、駆動位置が目標位置と一致したと判断された場合にモータ制御回路１０４１は出力を停止させる。ＵＳＭ１０１１ａの駆動量については、ズーム位置が変化する度にエンコーダ３０１から出力される２相の交流信号に基づいて検出される。
【００２０】
まず、速度検出回路３０２はエンコーダ３０１からの２相の交流信号を取得し、当該信号に対してコンパレート処理を行って２値化を行う。次に、２値化された２相の信号の立上りエッジと立下りエッジとの時間間隔から速度が算出される。エッジ間の時間間隔を算出する際には、モータ制御回路１０４１の動作クロックを基準として、エッジ間の時間間隔にて何クロックがかかったかを計数することで速度が検出される。ＵＳＭ１０１１ａの駆動位置については、２値化された２相の信号の各エッジを検出してカウンタで計数することにより、そのカウント数が駆動位置として管理される。モータ制御回路１０４１は、ＵＳＭ１０１１ａが目標速度で駆動するようにＵＳＭの駆動周波数を算出する。駆動周波数を算出する際には、エンコーダ３０１により検出される実駆動速度と、システムコントローラ１０５から与えられる目標速度との差分に基づいてＰＩ（比例及び積分）演算が行われる。モータ制御回路１０４１は算出した駆動周波数を指令として、ＰＷＭ信号発生回路１０４２に指示を与えてＰＷＭ信号を出力させる。ＰＷＭ信号発生回路１０４２が出力するＰＷＭ信号はドライバ回路１０４３に入力されて、ＵＳＭ１０１１ａの駆動信号に変換される。駆動信号をＵＳＭ１０１１ａに印加する事によってＵＳＭ１０１１ａが駆動される。モータ制御回路１０４１は、ＵＳＭ１０１１ａの速度情報と位置情報の他に、ＵＳＭの駆動信号（Ａ相信号）と、振動振幅の大きさを検出したＳ相信号との位相差（ＡＳ位相差）を監視している。ＡＳ位相差を表す信号（以下、ＡＳ位相差信号という）の値によって、ＵＳＭ１０１１ａの駆動速度を制御する駆動信号の周波数の決定方法が変更される。
【００２１】
次に、ＡＳ位相差について説明する。ＡＳ位相差信号を説明するにあたり、まず、Ｓ相信号について説明する。Ｓ相信号は、圧電素子が振動する際に発電する特性を利用してＵＳＭ１０１１ａの振動状態を電気信号として検出した信号である。Ｓ相信号はＵＳＭ１０１１ａの圧電素子に接着されているセンサ電極３０３により検出される。つまり、センサ電極３０３は振動状態を検出する状態検出部を構成する。ＡＳ位相差はＡ相信号とＳ相信号との位相差であり、Ａ相とは、ＵＳＭ１０１１ａを駆動させるための、互いに位相が９０°ずれた２相（Ａ相とＢ相）の駆動波形のうちの１相である。ＡＳ位相差は、ＵＳＭ１０１１ａの駆動周波数ごとに変化する。
【００２２】
図４を参照して、Ｓ相信号、Ａ相信号、ＡＳ位相差を説明する。図４の横軸は時間軸である。図４（Ａ）はＳ相信号の時間的変化を例示し、図４（Ｂ）はＡ相信号の時間的変化を例示する。図４（Ｃ）はＳ相信号を所定の閾値と比較したコンパレート出力を示し、図４（Ｄ）はＡ相信号を所定の閾値と比較したコンパレート出力を示す。これらのコンパレート出力の位相差がＡＳ位相差に相当する。図４には、Ａ相とＳ相のコンパレート後における信号の立下りエッジの時間間隔を位相差時間Δｔで示し、駆動信号の周期をＴで示している。
【００２３】
次にＡＳ位相差の検出について説明する。ＡＳ位相差は位相比較器３０４（図３参照）が検出する。位相差検出を行う位相比較器３０４には、センサ電極３０３による検出信号（Ｓ相信号）と、ドライバ回路１０４３から出力される駆動信号（Ａ相信号またはＢ相信号）とが入力される。入力された各信号は位相比較器３０４に内蔵される不図示のコンパレータによって２値化される。位相差は、図４（Ｃ）及び（Ｄ）に示すように２値化した信号を比較する事によって算出される。位相差時間Δｔと駆動信号の周期ＴからＡＳ位相差ΔＡＳは次式により算出される。
【数１】
0006399824.tif 000002
【００２４】
位相比較器３０４によるＡＳ位相差の検出信号はモータ制御回路１０４１に出力される。モータ制御回路１０４１は、検出されたＡＳ位相差と、システムコントローラ１０５により事前に設定されている共振周波数付近でのＡＳ位相差との差分を算出する。この差分値が所定値（閾値）以下の場合、ＰＷＭ信号発生回路１０４２が発生させるＰＷＭ信号の周波数を高周波数側に所定量シフトさせる制御が行われる。また、ＡＳ位相差が共振時の位相差に対して所定量のマージンを有する場合には、ＰＩ制御演算によって駆動周波数を決定する速度制御が行われる。
【００２５】
次に図５及び図６を参照して、本実施形態にてＡＳ位相差を監視しつつ、ＵＳＭの速度制御を行う場合の処理を説明する。図５は所定の駆動条件下でＵＳＭを駆動させた際にエンコーダ３０１から出力されたエンコーダ波形を例示する。図６は処理例を説明するフローチャートである。
【００２６】
図６のＳ６０１にて、システムコントローラ１０５はユーザによるカメラ操作部１０６の操作を監視し、ユーザ操作によりズーム動作指示を受けたか否かを判定する。システムコントローラ１０５がズーム動作指示を受け付けた場合にはＳ６０２に処理を進め、当該指示がない場合には待ち状態でＳ６０１の判定処理が繰り返される。
【００２７】
Ｓ６０２でモータ制御回路１０４１は、システムコントローラ１０５からの駆動指令にしたがい、ズーム指示に応じてＵＳＭ１０１１ａの駆動条件を設定する。Ｓ６０２で設定されるＵＳＭ１０１１ａの駆動条件は、駆動速度、駆動方向、駆動距離を含む。モータ制御回路１０４１は、駆動速度、駆動方向、駆動距離を２相のエンコーダ３０１のパルスの変化に基づいて決定する。図５を参照してエンコーダ３０１の出力を説明する。
【００２８】
図５（Ａ）は第１のエンコーダＥＮＣＡの出力信号をコンパレートした信号であり、Ｔ１は立上りエッジの時間間隔を示し、Ｔ３は立下りエッジの時間間隔を示す。図５（Ｂ）は第２のエンコーダＥＮＣＢの出力信号をコンパレートした信号であり、Ｔ２は立上りエッジの時間間隔を示し、Ｔ４は立下りエッジの時間間隔を示す。図５（Ｃ）はモータ制御回路１０４１の動作クロックＣＬＫを示す。ＵＳＭ１０１１ａの駆動方向については、ＥＮＣＡとＥＮＣＢの各エンコーダ波形のうち、どちらの波形が先に出力されたかによって決定される。本実施形態ではＥＮＣＢのパルスが先に出力された場合、ズームレンズ１０１２ａを繰り出す方向とし、逆にＥＮＣＡのパルスが先に出力された場合にはズームレンズ１０１２ａを繰り込む方向とする。駆動速度については、ＥＮＣＡ及びＥＮＣＢの立上りエッジと立下りエッジを基準にして算出される。モータ制御回路１０４１は、各エッジの間に動作クロックＣＬＫとして何クロックがかかったかによって速度を算出する。例えば、モータ制御回路１０４１のクロック周波数は１０ｋＨｚであり、ＵＳＭが１回転する毎に出力されるエンコーダ１相当たりのパルス数は１００パルスである。図５に示すＥＮＣＡの周期Ｔ１から、速度Ｖ１（単位：ｒｐｓ）を算出する例を示すと、ＵＳＭ１０１１ａの駆動速度は次式により算出される。
【数２】
0006399824.tif 000003
本例にてＴ１＝１０として、周期Ｔ１から速度Ｖ１を算出すると、Ｖ１＝１００００÷１０÷１００＝１０[ｒｐｓ]となる。
【００２９】
次に駆動距離の検出について説明する。駆動距離は、ＥＮＣＡとＥＮＣＢの各エンコーダの立下りエッジ及び立上りエッジをカウントすることによってモータ制御回路１０４１が管理する。ズームレンズ１０１２ａの繰り出し方向にエンコーダが１周分駆動されると４パルス増加する。ズームレンズ１０１２ａの繰り込み方向にエンコーダが１周分駆動されると４パルス減少する。このようにズームレンズ１０１２ａの駆動距離は、エンコーダの回転方向に応じてパルス数を加算または減算することによって計数して管理される。ズームレンズ１０１２ａを駆動する際には、カメラ操作部１０６からのズーム動作指示に従って駆動量が決定され、その駆動量に到達するまで指定の駆動速度でＵＳＭ１０１１ａの駆動制御が行われる。
【００３０】
Ｓ６０２での駆動条件の設定後、Ｓ６０３に進み、モータ制御回路１０４１はＵＳＭ１０１１ａに印加する駆動波形の周波数下限値を初期化する。駆動周波数の下限値は、ＡＳ位相差の値がＡＳ位相差リミット値（限界値）を超えた時点での駆動周波数を下限として再設定される。下限周波数の設定後にＳ６０４に進み、ＵＳＭ１０１１ａの駆動が開始する。駆動開始時には、事前に設定されている初期周波数値から所定のスイープレートで駆動信号の周波数をスイープダウンさせる制御が行われる。
【００３１】
ＵＳＭ１０１１ａの駆動速度が目標速度に到達すると、スイープダウンが停止し、エンコーダ３０１からの速度情報と目標速度との差分に基づいて駆動周波数を決定する速度制御に移行する。速度制御では、まずＳ６０５においてＡＳ位相差（ΔＡＳ）がリミット値（ΔＡＳ_Ｌｉｍｉｔ）より大きいか否かについて判定が行われる。リミット値ΔＡＳ_Ｌｉｍｉｔは判定用の閾値であり、事前に設定されている。検出されたＡＳ位相差が共振周波数側にて閾値より大きい場合、すなわちＡＳ位相差がリミット値より大きく、駆動周波数が共振周波数に近い場合、Ｓ６０６に進み、ＡＳ位相差がリミット値以下の場合にはＳ６１１に移行する。
【００３２】
Ｓ６０６では現在の駆動周波数を下限周波数に設定する処理が実行される。そしてＳ６０７に進んで駆動周波数を現在の駆動周波数より所定の周波数だけ高い周波数にシフトさせる処理が行われる。つまり、現在の駆動周波数に所定の周波数を加算した周波数が駆動周波数として設定され、Ｓ６０８に処理を進める。このように、ＡＳ位相差が所定の閾値を超えたことが検出された時点で駆動周波数が下限周波数に設定される。これにより、駆動中のＵＳＭ１０１１ａにかかる負荷が増大して駆動速度と目標速度との差が大きくなった場合でも、がけ落ちの可能性が高い駆動周波数が設定されてしまうことを回避できる。なお、Ｓ６０７にて現在の駆動周波数に加算される所定の周波数は、一定値でも可変値でもよい。可変値の場合には、駆動信号の周波数が共振周波数に近いほど加算する値を大きくして、高周波数側にシフトさせるように設定が行われる。
【００３３】
Ｓ６１１でモータ制御回路１０４１は、目標速度と、エンコーダ信号を処理することで求められる実駆動速度との差に基づいて公知のＰＩ制御演算により駆動周波数を算出する。Ｓ６１２では、Ｓ６１１にて算出された駆動周波数が下限周波数よりも低い周波数であるか否かが判定される。速度制御演算により算出された駆動周波数が下限周波数よりも低い場合、Ｓ６１３に進み、下限周波数以上である場合にはＳ６０８に移行する。Ｓ６１３でモータ制御回路１０４１は駆動周波数を下限周波数に設定する。駆動周波数が決定されるとＳ６０８にてモータ制御回路１０４１は、ＰＷＭ信号発生回路１０４２から出力するＰＷＭ信号の周波数値を決定する。これはＰＷＭ信号の周波数値を設定するレジスタを更新する処理によって行われる。次にＳ６０９では、Ｓ６０２で設定された目標位置にズームレンズ位置が到達したか否かについて判定される。ズームレンズ位置が目標位置に到達していなければ、Ｓ６０５に戻って処理を続行する。また、ズームレンズ位置が目標位置に到達した場合には、Ｓ６１０に進み、ＵＳＭ１０１１ａの駆動を終了する。このように駆動周波数の下限値を設定し（Ｓ６０６）、駆動周波数を高周波数側にシフトさせること（Ｓ６０７）により、目標速度と実駆動速度との差が大きい場合でも速度制御パラメータの如何によらずに、がけ落ちを回避することができる。これに対して、駆動周波数に下限を設けない場合に、がけ落ちが生じる状況について図７を参照して説明する。
【００３４】
図７（Ａ）は速度制御時の駆動周波数−速度特性と、駆動周波数−ＡＳ位相差特性を示した図である。横軸は駆動周波数を示し、左側の縦軸は速度軸であり、右側の縦軸はＡＳ位相差を示す。実線のグラフ線は駆動周波数−速度特性を表し、一点鎖線のグラフ線は駆動周波数−ＡＳ位相差特性を表わしている。現時点での駆動状態に相当する動作点を黒点で示す。図７の梨地部分は、ＡＳ位相差がリミット値を超える場合の駆動周波数の範囲を表している。駆動周波数がリミット値に対応する周波数を超えると、モータ制御回路１０４１はＰＩ制御演算により駆動周波数を決定せずに、所定量だけ高周波側に駆動周波数をシフトさせる制御を行う。
【００３５】
図７（Ｂ）は、図７（Ａ）に示す駆動状態からＵＳＭ１０１１ａにかかる負荷が増加した場合の駆動周波数−速度特性、及び駆動周波数−ＡＳ位相差特性を示している。一般にＵＳＭにかかる負荷が増加した際には、共振周波数は高周波数側にシフトする事が知られている。図７（Ｂ）では、ＵＳＭ１０１１ａにかかる負荷が増加した結果、図７（Ａ）に比べて共振周波数が高周波数側にシフトした状態となっている。ＵＳＭ１０１１ａにかかる負荷が増加したため、ＵＳＭ１０１１ａの速度ピーク値が低下している。共振周波数が高周波数側にシフトしたため、ＡＳ位相差がリミット値を超えており、がけ落ちを回避するために駆動周波数を高周波数側に所定量シフトさせる制御が行われる。
【００３６】
図７（Ｃ）は図７（Ｂ）の状態から駆動周波数を高周波数側にシフトさせた際の駆動周波数−速度特性を示す。図７（Ｃ）では、駆動周波数を高周波数側にシフトさせたためＡＳ位相差がリミット値以下となっている。一方で、実際のＵＳＭ１０１１ａの駆動速度と目標速度との差が大きくなっている。そのため、次の制御周期で速度制御を行った場合に制御量が大きくなり、図７（Ｄ）に示すように、がけ落ちしてしまう可能性がある。本実施形態では駆動周波数に下限値を設けることで、がけ落ちを回避できる。ＡＳ位相差が限界にさしかかった際に駆動周波数の下限値を設けた場合について、図８を参照して説明する。図８の横軸及び縦軸は図７と同じである。
【００３７】
図８（Ａ）は通常の速度制御を行っている状態を示す。図８（Ｂ）は図８（Ａ）の状態からＵＳＭ１０１１ａにかかる負荷が増加した時の駆動状態を示している。図８（Ｂ）では、負荷が増大してＡＳ位相差がリミット値を超えた時点の駆動周波数を下限周波数に設定した上で駆動周波数を高周波数側に所定量シフトさせる制御が行われる。図８（Ｃ）では駆動周波数を高周波数側にシフトさせたことの影響により実際の駆動速度が目標速度に対して遅くなっている。そのため、次の制御周期における制御量が増大する。しかし、本実施形態ではＡＳ位相差がリミット値を超えた際に駆動周波数の下限値を設けているため、駆動周波数は下限値未満にならない。その結果、がけ落ちを回避できる。
【００３８】
本実施形態では、駆動信号（Ａ相信号またはＢ相信号）とＳ相信号との位相差が所定値を超える場合に、駆動周波数の下限値を設定した上で駆動周波数を高周波側にシフトさせる制御が行われる。よって、速度制御をした場合でも、駆動周波数が共振周波数以下となる事を回避できる。また、駆動信号とＳ相信号との位相差が一度、所定値を超えた状態で負荷が増大した等の理由で共振周波数が高周波側に移動した場合でも、位相差が所定値より大きくなる度に駆動周波数の下限値を更新した上で駆動周波数のシフト制御が行われる。よって、本実施形態によれば、ＵＳＭの駆動中に負荷が増大した等の理由で駆動周波数が共振周波数付近になった場合にがけ落ちを回避しつつ駆動制御を続行できる。
【００３９】
（実施例２）
次に図９を参照して、本実施形態の制御を説明する。本実施形態では、ＵＳＭの駆動電力を監視しつつ、その速度制御を行う。以下では、ＵＳＭの駆動電力の増大による駆動回路素子等の損傷及びカメラのシステムダウンを回避するとともに、ＵＳＭのがけ落ちを防ぐための処理を説明する。なお、実施例１の場合と同様の構成要素については既に使用した符号を用いることにより、それらの詳細な説明を省略し、主に相違点を説明する。このような説明の省略については後述の実施例でも同じである。
【００４０】
図９のＳ９０１とＳ９０２の処理は図６のＳ６０１とＳ６０２と同様であり、ユーザのカメラ操作部１０６の操作により、ズーム動作指示を受けた場合にＳ９０２にて、ズーム指示に応じたＵＳＭの駆動条件が設定される。次にＳ９０３に進み、ＵＳＭ１０１１ａに印加する駆動信号の周波数の下限値（下限周波数）が初期化される。この下限周波数については、検出した電力が電力リミット（限界値）を超えた場合に、その時点での駆動周波数が下限周波数として再設定される。カメラの電源となるバッテリの電力供給能力と、カメラシステムを安定して動作させるためにＵＳＭの駆動に電力を割り当てることが可能な条件を事前に調査した上で電力リミットの値が設定される。
【００４１】
Ｓ９０３にて下限周波数が設定された後でＳ９０４に進み、ＵＳＭ１０１１ａの駆動が開始する。ＵＳＭ１０１１ａの駆動開始時には、事前に設定されている初期周波数値から目標速度に到達するまで、所定のスイープレートでスイープダウンが行われる。ＵＳＭ１０１１ａの駆動速度が目標速度に到達すると、スイープダウンが停止してエンコーダ３０１からの速度情報と目標速度との差分に基づいて速度制御が行われる。
【００４２】
速度制御の処理では、Ｓ９０５においてＵＳＭ１０１１ａの駆動電力が所定値以下であるか否かが判定される。ＵＳＭ１０１１ａの駆動時の電力検出は、ドライバ回路１０４３内部の電力検出部１０４３ａが行う。電力検出部１０４３ａは、ドライバ回路１０４３内部の電流検出抵抗に発生する電圧を検出する。電力は、ドライバ回路１０４３内部の不図示の駆動電流検出回路により検出した電流に対し、ＵＳＭ１０１１ａの駆動電圧を乗算することで算出される。Ｓ９０５において検出電力Ｐが所定の閾値Ｐ_Ｌｉｍｉｔより大きく、すなわち駆動周波数が共振周波数に近い場合には、Ｓ９０６に処理を進める。また検出電力Ｐが所定の閾値以下であると判定された場合にはＳ９１１に移行する。
【００４３】
Ｓ９０６では、現在の駆動周波数を下限周波数に設定する処理が実行される。その後、Ｓ９０７に進んで駆動周波数を現在の駆動周波数より所定の周波数だけ高い値とし、高周波数側にシフトさせる処理が行われる。所定の周波数については一定値または可変値とする。可変値の場合には、電力検出部１０４３ａにより検出される電力が閾値Ｐ_Ｌｉｍｉｔより大きいほど、高周波数側にシフトさせるように駆動信号の周波数が大きく設定される。
【００４４】
このように駆動電力が電力リミットを超えたことが検出された時点の駆動周波数を下限周波数に設定することで、回路素子の破壊やカメラのシステムダウンを回避できる。また、駆動周波数に下限を設けることで、駆動中に負荷が増大して駆動速度と目標速度との差が大きくなった場合でも、制御量の増大によるがけ落ちを回避できる。
【００４５】
Ｓ９１１でモータ制御回路１０４１は、目標速度と、エンコーダ信号を処理することにより検出される実駆動速度の差に基づいて公知のＰＩ制御演算により駆動速度を決定する。次のＳ９１２では、ＰＩ制御演算結果から決定した駆動周波数が下限周波数よりも低いかどうかが判定される。算出された駆動周波数が下限周波数よりも低い場合にはＳ９１３に進み、駆動周波数を下限周波数に設定する処理が実行される。このように駆動周波数が下限周波数未満とならないようにすることで、がけ落ちの可能性を低減できる。Ｓ９１２にて、算出された駆動周波数が下限周波数以上であると判定された場合や、Ｓ９１３の処理後、Ｓ９０８に進む。
【００４６】
Ｓ９０８では、ＰＷＭ信号発生回路１０４２から出力するＰＷＭ信号の周波数設定用のレジスタの値が更新される。次のＳ９０９において、Ｓ９０２で設定されたズームレンズ位置が目標位置に到達したか否かについて判定される。ズームレンズ位置が目標位置に到達していない場合には、Ｓ９０５に処理を戻す。またズームレンズ位置が目標位置に到達している場合にはＳ９１０に進み、ＵＳＭ１０１１ａの駆動を終了する。
【００４７】
本実施形態では検出電力Ｐが所定の閾値を超えた瞬間に駆動周波数の下限値が設定された上で駆動周波数を高周波数側にシフトさせる制御が行われる。これにより、モータ制御回路１０４１に設定されている速度制御パラメータの如何によらずに、がけ落ちを回避できる。
【００４８】
図１０(Ａ)は、通常の速度制御時における、駆動周波数−速度特性及び駆動周波数−電力特性を示した図である。実線のグラフ線は駆動周波数−速度特性を表し、一点鎖線のグラフ線は駆動周波数−電力特性を表わしている。左側の縦軸は速度軸であり、右側の縦軸は電力軸である。横軸、黒点の意味は図７の場合と同様である。図１０の梨地部分は、ＵＳＭ１０１１ａの駆動電力が電力リミットを超える場合の駆動周波数の範囲を表している。駆動周波数が当該範囲に入ると、モータ制御回路１０４１はＰＩ制御演算により駆動周波数を決定せずに、所定量だけ高周波側に駆動周波数をシフトさせる制御を行う。
【００４９】
図１０（Ｂ）は、図１０（Ａ）に示す駆動状態からＵＳＭにかかる負荷が増加した場合の駆動周波数−速度特性、及び駆動周波数−電力特性を示している。駆動中にＵＳＭへの負荷が増加した際には、共振周波数が高周波数側にシフトする事が知られている。図１０（Ｂ）では、ＵＳＭ１０１１ａにかかる負荷が増加した結果、図１０（Ａ）に比べて共振周波数が高周波数側にシフトした状態となっている。ＵＳＭ１０１１ａにかかる負荷が増加したため、ＵＳＭ１０１１ａの速度ピーク値が低下している。共振周波数が高周波数側にシフトしたため、図１０（Ａ）の場合と同じ駆動周波数で駆動した場合には電力Ｐがリミット値を超えている。本実施形態におけるＵＳＭの制御プログラムでは、電力の増大及びがけ落ちを防ぐために、駆動周波数の下限周波数を設定した上で駆動周波数側に高周波数側に所定量シフトさせる制御を行う。
【００５０】
図１０（Ｃ）では、図１０（Ｂ）の状態から駆動周波数を高周波数側にシフトさせた影響により実際の駆動速度が目標速度に対して遅くなっている。そのため、次の制御周期における制御量が増加する。しかし、電力Ｐがリミット値を超えた時点での駆動周波数を下限周波数として設定しているため、駆動周波数が下限値未満になる事はない。動作中のＵＳＭにて実績がある駆動周波数を下限値に設定しているため、駆動周波数が下限周波数になったとしても、がけ落ちの可能性は極めて低い。よって、がけ落ちの回避効果が十分に得られる。本実施形態に示す制御方法を用いることで、ＵＳＭの駆動中に負荷が増大した等の理由で駆動周波数が共振周波数付近になった場合でも、ＵＳＭの駆動電力の増大を防ぎつつ駆動制御を続行できる。
【００５１】
（実施例３）
次に図１１を参照して、実施例３におけるＵＳＭの制御シーケンスについて説明する。本実施形態に係るＵＳＭの制御プログラムでは、ＵＳＭの駆動電力及びＡＳ位相差を監視しつつ、ＵＳＭの速度制御を行う。
【００５２】
Ｓ１１０１にて、ユーザによるカメラ操作部１０６の操作が監視され、カメラ操作部１０６を通してズーム動作指示を受け付けると、Ｓ１１０２において、ズーム動作指示に応じたＵＳＭの駆動条件（駆動速度、駆動方向、駆動距離）が設定される。次にＳ１１０３に進み、ＵＳＭ１０１１ａに印加する駆動信号の周波数下限値を初期化する処理が実行される。駆動周波数の下限値は、検出した電力が電力リミットを超えた場合とＡＳ位相差がリミット値を超えた場合に、それらの時点での駆動周波数に更新される。駆動周波数の下限周波数が設定された後でＳ１１０４に進み、ＵＳＭ１０１１ａの駆動が開始する。ＵＳＭ１０１１ａの駆動開始時には、事前に設定されている初期周波数から目標速度に到達するまでに、所定のスイープレートでスイープダウンが行われる。ＵＳＭ１０１１ａの駆動速度が目標速度に到達するとスイープダウンが停止し、エンコーダ３０１からの速度情報と目標速度との差分に基づく速度制御へ移行する。
【００５３】
Ｓ１０１４でＵＳＭ１０１１ａの駆動が開始した後にモータ制御回路１０４１は、Ｓ１１０５においてＵＳＭ１０１１ａの検出電力Ｐが所定のリミット値Ｐ_Ｌｉｍｉｔより大きいかどうかを判定する。検出電力Ｐが所定のリミット値Ｐ_Ｌｉｍｉｔより大きい場合、Ｓ１１０７に進む。また、検出電力Ｐが所定のリミット値以下の場合にはＳ１１０６に進む。Ｓ１１０６でモータ制御回路１０４１は、ＡＳ位相差ΔＡＳが所定のリミット値ΔＡＳ_Ｌｉｍｉｔより大きいかどうかを判定する。ＡＳ位相差が所定のリミット値より大きい場合、Ｓ１１０７に進む。またＡＳ位相差が所定のリミット値以下の場合には、Ｓ１１１０に進む。
【００５４】
Ｓ１１０７にて、現在の駆動周波数を下限周波数に設定する処理が行われた後、Ｓ１１０８に進んで駆動周波数を現在の駆動周波数から所定の周波数だけ高周波数側にシフトさせる処理が行われる。その後、Ｓ１１０９にてＰＷＭ信号発生回路１０４２から出力するＰＷＭ信号の周波数設定用のレジスタ値を更新する処理が行われる。次のＳ１１１３において、Ｓ１１０２で設定したズームレンズ位置が目標位置に到達したか否かが判定される。ズームレンズ位置が目標位置に到達していない場合にはＳ１１０５に戻る。ズームレンズ位置が目標位置に到達した場合にはＳ１１１４に進み、ＵＳＭ１０１１ａの駆動を終了する。Ｓ１１１０からＳ１１１２の処理はそれぞれ、図６のＳ６１１からＳ６１３の処理と同様であるため、説明を割愛する。
【００５５】
本実施形態では、ＵＳＭの駆動電力が所定値を超えた瞬間に駆動周波数の下限値を設定した上で駆動周波数を高周波数側にシフトさせる制御が行われる。よって、過電流による駆動回路素子の損傷やカメラのシステムダウンを回避できる。また、ＡＳ位相差が所定値を超えた瞬間の駆動周波数が下限周波数として設定される。よって、モータ制御回路１０４１に設定されている速度制御パラメータの如何によらずに、がけ落ちを回避きる。
【００５６】
［その他の実施形態］
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【符号の説明】
【００５７】
１０４  駆動コントローラ
１０５  システムコントローラ
３０１  エンコーダ
３０３  センサ電極
３０４  位相比較器
１０１１ａ  超音波モータ
１０１２ａ  ズームレンズ
１０４１  モータ制御回路
１０４２  ＰＷＭ信号発生回路
１０４３ａ  電力検出部
【図１】
0006399824.tif 000004
【図２】
0006399824.tif 000005
【図３】
0006399824.tif 000006
【図４】
0006399824.tif 000007
【図５】
0006399824.tif 000008
【図６】
0006399824.tif 000009
【図７】
0006399824.tif 000010
【図８】
0006399824.tif 000011
【図９】
0006399824.tif 000012
【図１０】
0006399824.tif 000013
【図１１】
0006399824.tif 000014
【図１２】
0006399824.tif 000015