(57)【要約】【課題】開ループ制御でのロータの回転状態から回転方向を反転させて、再び開ループ制御での回転状態へ迅速かつ円滑に移行させる駆動制御が可能なモータ駆動装置を提供すること。【解決手段】モータ駆動装置は、ロータの回転位置の検出情報を用いることなく駆動波形を生成してロータを回転させるＯＰＥＮ駆動モードと、ロータの回転位置の検出情報を用いて、回転位置の位相と駆動波形の位相とを同期させて、回転位置と駆動波形との間に所望の位相差を設定してロータを回転させるＣＬＯＳＥ駆動モードを有する。ＣＰＵはＯＰＥＮ駆動モードを用いてロータの回転を制御し、ロータを反転させる際には反転方向のトルクが発生する位相差の設定指示を駆動波形生成回路に行い、ＣＬＯＳＥ駆動モードに移行させた後、反転が完了すると、再びＯＰＥＮ駆動モードに移行させる。【選択図】図１
2020096506.tif 000002
【特許請求の範囲】
【請求項１】
ロータの回転駆動を行うモータ駆動装置であって、
前記ロータの回転位置を検出する検出手段の出力を取得して駆動波形を生成する生成手段と、
前記回転位置の位相と前記駆動波形の位相とを同期させる制御を行う制御手段と、を備え、
前記生成手段は、前記回転位置の位相と前記駆動波形の位相とが同期した状態で、前記回転位置と前記駆動波形との間に位相差を設定する設定手段を有し、
前記制御手段は、前記検出手段の出力を用いることなく前記生成手段が生成する駆動波形にしたがって前記ロータを回転させる第１の駆動モードと、前記検出手段の出力を用いて、前記設定手段により設定される位相差から前記生成手段が生成する駆動波形にしたがって前記ロータを回転させる第２の駆動モードとを切り替える制御を行い、
前記制御手段は、前記ロータを前記第１の駆動モードで第１の回転方向に回転させる制御を行ってから、前記ロータを第２の回転方向に反転させる際、前記第２の駆動モードに変更するとともに前記第２の回転方向のトルクを発生させる前記位相差を前記設定手段に設定させ、前記ロータを反転が終了した後に再び前記第１の駆動モードに変更する制御を行う
ことを特徴とするモータ駆動装置。
【請求項２】
前記生成手段は前記検出手段の出力を取得して前記ロータの回転量に対応するカウント値を算出して前記駆動波形の位相を決定する決定手段を備え、
前記設定手段は、
前記第２の駆動モードに変更されたときの位相差として、前記第１の駆動モードにおける前記ロータの回転位置に対応する位相と前記駆動波形の位相との位相差を前記決定手段に対して設定する第１の設定手段と、
前記決定手段に対して駆動用の目標位相差を設定する第２の設定手段と、を備える
ことを特徴とする請求項１に記載のモータ駆動装置。
【請求項３】
前記第１の設定手段により設定される位相差から前記第２の設定手段により設定される前記目標位相差に変化するまでの変化時間を設定する第３の設定手段をさらに備え、
前記制御手段は、前記ロータを前記第２の回転方向に反転させる際、前記第２の駆動モードに変更し、前記第３の設定手段により設定された前記変化時間をかけて前記目標位相差まで位相差を変化させる制御を行う
ことを特徴とする請求項２に記載のモータ駆動装置。
【請求項４】
前記制御手段は、前記ロータの回転を反転させる制御にて、前記検出手段によって検出される前記ロータの回転位置の変化から算出される速度の向きが反転し、かつ当該速度が予め設定された速度に到達したときに前記第１の駆動モードに変更する制御を行う
ことを特徴とする請求項１から３のいずれか１項に記載のモータ駆動装置。
【請求項５】
前記第３の設定手段は、前記制御手段により前記ロータを反転させる制御が行われる場合、前記ロータの反転前の回転速度に対応する前記変化時間、または反転前の回転速度と反転後の目標回転速度との差分に対応する前記変化時間を設定する
ことを特徴とする請求項３に記載のモータ駆動装置。
【請求項６】
前記駆動波形の位相が前記ロータの回転位置の位相よりも進んでいる進角状態にて前記制御手段により前記ロータを反転させる制御が行われる場合、前記第３の設定手段は前記ロータの反転前の進角状態を表す位相角に対応する前記変化時間、または反転前の進角状態を表す位相角と反転後の進角状態を表す位相角との差分に対応する前記変化時間を設定する
ことを特徴とする請求項３に記載のモータ駆動装置。
【請求項７】
前記位相差と前記ロータの回転速度との関係を表すデータを記憶する記憶手段を備え、前記第２の設定手段は、前記記憶手段に記憶された前記データを用いて前記目標位相差を設定する
ことを特徴とする請求項２または請求項３に記載のモータ駆動装置。
【請求項８】
前記制御手段は、前記第１の駆動モードにて前記ロータを定速で駆動する制御を行い、前記第２の駆動モードにて前記ロータを減速させ、前記ロータを反転させてから加速する制御を行い、前記第２の駆動モードから前記第１の駆動モードに変更して再び前記ロータを定速で駆動する制御を行う
ことを特徴とする請求項１から７のいずれか１項に記載のモータ駆動装置。
【請求項９】
前記制御手段は、
前記ロータを前記第１の駆動モードで第１の回転方向に回転させる制御を行ってから、前記ロータを第２の回転方向に反転させる際、前記第２の駆動モードに変更するとともに前記第２の回転方向のトルクを発生させる前記位相差を前記設定手段に設定させ、前記ロータを反転が終了した後に再び前記第１の駆動モードに変更する第１の制御と、
前記ロータを前記第２の駆動モードで第１の回転方向に回転させている状態で前記第２の方向へ回転トルクを発生させる位相差を前記設定手段に設定させ、前記ロータを前記第２の駆動モードのまま前記第２の方向へ回転させる第２の制御と、を実行する。
ことを特徴とする請求項１に記載のモータ駆動装置。
【請求項１０】
ロータの回転駆動を行うモータ駆動装置にて実行される制御方法であって、
前記ロータの回転位置を検出する検出手段の出力を取得して駆動波形を生成する生成工程と、
前記回転位置の位相と前記駆動波形の位相とを同期させる制御を行う制御工程と、を有し、
前記生成工程では、前記回転位置の位相と前記駆動波形の位相とが同期した状態で、前記回転位置と前記駆動波形との間に位相差を設定する設定処理が行われ、
前記制御工程では、
前記検出手段の出力を用いることなく前記生成工程で生成される駆動波形にしたがって前記ロータを回転させる第１の駆動モードと、前記検出手段の出力を用いて、前記設定処理により設定される位相差から前記生成工程で生成される駆動波形にしたがって前記ロータを回転させる第２の駆動モードとを切り替える制御が行われ、
前記ロータを前記第１の駆動モードで第１の回転方向に回転させる制御が行われてから第２の回転方向に反転させる場合、前記第２の駆動モードに変更するとともに前記ロータの回転方向を前記第２の回転方向に反転させるトルクを発生させる前記位相差の設定により生成される駆動波形にしたがって前記ロータが駆動され、前記ロータの反転が終了した後に再び前記第１の駆動モードに変更する制御が行われる
ことを特徴とするモータ駆動装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロータの回転検出位置に応じて効率的な駆動波形を生成する技術に関する。
【背景技術】
【０００２】
モータの閉ループ制御において、ロータの回転位置検出機構により検出された回転位置に基づいてモータに対する駆動波形を印加することで効率的な制御を実現する技術がある。例えば、ロータの動き出し、停止、反転等のように回転における特徴的な箇所で開ループ制御と閉ループ制御を併用する技術がある。特許文献１には、回転開始時に敢えて開ループ制御を用い、その後に閉ループ制御を用いることで、回転開始時の振動を抑える技術が開示されている。特許文献１に開示のレンズ駆動装置ではレンズの動き始めにおいて開ループ制御でステッピングモータの位置を進める速度を固定の速度パターンに基づいて変更して加速し、速度パターンに対応する速度が所定値に達すると閉ループ制御に移行する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１７−１３４２６９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら従来技術では、開ループ制御で安定な定速回転駆動が行われている時に回転方向を反転させる駆動制御に対して、脱調を抑制した安定な動作や反転時間を短縮する効果は期待できない。
本発明の目的は、開ループ制御でのロータの回転状態から回転方向を反転させて、再び開ループ制御での回転状態へ迅速かつ円滑に移行させる駆動制御が可能なモータ駆動装置を提供することである。
【課題を解決するための手段】
【０００５】
本発明の実施形態の装置は、ロータの回転駆動を行うモータ駆動装置であって、前記ロータの回転位置を検出する検出手段の出力を取得して駆動波形を生成する生成手段と、前記回転位置の位相と前記駆動波形の位相とを同期させる制御を行う制御手段と、を備える。前記生成手段は、前記回転位置の位相と前記駆動波形の位相とが同期した状態で、前記回転位置と前記駆動波形との間に位相差を設定する設定手段を有する。前記制御手段は、前記検出手段の出力を用いることなく前記生成手段が生成する駆動波形にしたがって前記ロータを回転させる第１の駆動モードと、前記検出手段の出力を用いて、前記設定手段により設定される位相差から前記生成手段が生成する駆動波形にしたがって前記ロータを回転させる第２の駆動モードとを切り替える制御を行う。前記制御手段は、前記ロータを前記第１の駆動モードで第１の回転方向に回転させる制御を行ってから、前記ロータを第２の回転方向に反転させる際、前記第２の駆動モードに変更するとともに前記第２の回転方向のトルクを発生させる前記位相差を前記設定手段により設定し、前記ロータを反転が終了した後に再び前記第１の駆動モードに変更する制御を行う。
【発明の効果】
【０００６】
本発明によれば、開ループ制御でのロータの回転状態から回転方向を反転させて、再び開ループ制御での回転状態へ迅速かつ円滑に移行させる駆動制御が可能なモータ駆動装置を提供することができる。
【図面の簡単な説明】
【０００７】
【図１】本発明の実施形態におけるシステムの概要を示すブロック図である。
【図２】本実施形態におけるモータと位置センサを示す図である。
【図３】本実施形態の位置ＥＮＣ回路と駆動波形生成回路を示すブロック図である。
【図４】本実施形態の位置ＥＮＣ回路と駆動波形生成回路の処理を説明する図である。
【図５】本実施形態の位置センサ信号と検出位置カウントとの関係を示す図である。
【図６】本実施形態の駆動波形と位相カウントとの関係を示す図である。
【図７】本発明の第１実施形態の処理を示すフローチャートである。
【図８】図７に続く処理を示すフローチャートである。
【図９】減速トルク発生時のロータ磁石位相と駆動波形位相との関係を示す図である。
【図１０】第１実施形態における反転挙動を説明する図である。
【図１１】本発明の第２実施形態の処理を示すフローチャートである。
【図１２】図１１に続く処理を示すフローチャートである。
【図１３】第２実施形態における反転挙動を説明する図である。
【図１４】位相差とロータ回転速度との関係を示す図である。
【図１５】従来例の挙動と本実施形態の挙動とを比較して示す図である。
【図１６】第３実施形態の処理を説明するフローチャートである。
【図１７】ロータ磁石位相と駆動波形位相とが安定停止関係にある状態を示す図である。
【図１８】ロータ磁石位相と駆動波形位相とが正転トルクを発生する関係にある状態を示す図である。
【図１９】第３実施形態におけるモータの加速時の挙動を示す図である。
【図２０】第３実施形態におけるモータの定常速度時、減速停止時の挙動を示す図である。
【図２１】第４実施形態の位置ＥＮＣ回路と駆動波形生成回路を示すブロック図である。
【図２２】第４実施形態の位置ＥＮＣ回路と駆動波形生成回路による処理を説明する図である。
【図２３】比較例におけるモータの挙動を示す図である。
【図２４】フォーカスレンズを移動させる際の動きを模式的に示す図である。
【発明を実施するための形態】
【０００８】
以下に、本発明の好ましい実施形態を、添付図面に基づいて詳細に説明する。以下の第１実施形態および第２実施形態では、第１および第２の駆動モードを切り替えるモータの駆動制御例を示す。第１の駆動モードは、ロータの回転位置を検出する位置検出手段の出力を用いることなく生成される駆動波形にしたがってロータを回転させる駆動モードである。第１の駆動モードでは開ループ制御によってＯＰＥＮ駆動が行われる。また第２の駆動モードは、ロータの位置検出手段の出力を用いて、設定位相差に基づいて生成される駆動波形にしたがってロータを回転させる駆動モードである。第２の駆動モードでは、ロータの回転検出位置の位相と駆動波形の位相とを同期させる閉ループ制御によってＣＬＯＳＥ駆動が行われる。
【０００９】
［第１実施形態］
図１は本実施形態における駆動用の電気回路を含むシステムの構成図である。ステッピングモータ（以下、単にモータという）１０１は、ロータ軸１０２にＥＮＣ（エンコード用）磁石１０３を備える。ＥＮＣ磁石１０３は、回転軸を中心とする円周上に発生する磁場が回転位置に応じて正弦波状の磁場を発生するように着磁されている。またモータ１０１はリセット機構１２１を備える。リセット機構１２１は、ロータ軸１０２の回転に応じて、特定の１箇所において変化する信号を出力する構成となっている。この信号は、モータの回転位置の絶対値の基準を与えるための信号である。リセット機構１２１としては、具体的には、スクリュー軸でもあるロータ軸１０２の回転に応じて並進移動する移動体にスリットが形成されている。そのスリットがフォトインタラプタを遮光することで、その出力信号が変化する。
【００１０】
Ｈａｌｌ素子パッケージ１０４は、ＥＮＣ磁石１０３の磁気検出部であり、複数のホール素子１０５，１０６を備える。例えば、ホール素子１０５，１０６はそれぞれの位置にて、ＥＮＣ磁石１０３の回転による磁場の変化を検出し、検出信号をアンプ１０７へ出力する。図２を参照して具体例を説明する。
【００１１】
図２（Ａ）はモータ１０１の外観例を示す斜視図である。モータ１０１のロータ軸１０２には、短い円筒状のＥＮＣ磁石１０３が設置されている。ＥＮＣ磁石１０３の発生する磁場を検知可能な位置に、Ｈａｌｌ素子パッケージ１０４が配置されている。モータ１０１から配線部材２０１が外部に引き出されており、配線部材２０１は後述のモータドライバ１１３に接続される。
【００１２】
図２（Ｂ）はＥＮＣ磁石１０３とホール素子１０５，１０６との位置関係を模式的に示す図である。ＥＮＣ磁石１０３は１０極の磁石であり、Ｎ極とＳ極の領域がそれぞれ５極であって、３６度ごとの領域が着磁されている。ホール素子１０５，１０６はＥＮＣ磁石１０３の中心位置から見た場合、中心位置から等距離に配置されている。中心位置に対するホール素子１０５，１０６の角度、つまり、２つのホール素子が中心位置に対して成す物理的な角度（物理角）が１８度となる配置である。２つのホール素子で検出される信号位相としては、９０度の位相差となる。
【００１３】
図１のアンプ１０７は、ホール素子１０５，１０６からそれぞれ入力される微弱な信号を増幅し、後段のＡＤ変換回路１０８へ出力する。ＡＤ変換回路１０８はアンプ１０７から入力されたアナログ電圧信号をデジタル変換して数値化し、変換結果をデジタル数値信号として位置ＥＮＣ回路１０９に出力する。
【００１４】
位置ＥＮＣ回路１０９はＡＤ変換回路１０８から入力される信号のエンコード処理を行う。位置ＥＮＣ回路１０９は、入力された２つの信号のオフセットおよびゲインの調整を行う処理部を備える。位置ＥＮＣ回路１０９は、調整後に２つの信号からＴＡＮ値（正接値）を生成した後でＡｒｃＴＡＮ演算（逆正接演算）を行い、回転角度情報を生成する。この回転角度情報を積分することで回転位置情報が生成される。生成された回転位置情報は駆動波形生成回路１１０に送られる。
【００１５】
駆動波形生成回路１１０はモータ１０１に対する駆動用波形を生成する。駆動波形生成回路１１０は、ＯＰＥＮ駆動とＣＬＯＳＥ駆動との切り替えを行う。ＯＰＥＮ駆動は予め設定された周波数で駆動用の位相の異なる正弦波信号を出力する駆動である。ＣＬＯＳＥ駆動は位置ＥＮＣ回路１０９と連動させた駆動波形を出力する駆動である。ＯＰＥＮ駆動とＣＬＯＳＥ駆動との切り替えはＣＰＵ（中央演算処理装置）１１１の指令にしたがって行われる。
【００１６】
ＣＰＵ１１１は駆動波形生成回路１１０に対して、ＯＰＥＮ駆動とＣＬＯＳＥ駆動との切り替えの指令を行い、ＯＰＥＮ駆動時の出力正弦波信号の周波数と振幅ゲイン値を設定する。またＣＰＵ１１１は、位置ＥＮＣ回路１０９に対して位置カウント値の初期化設定等を行う。位置ＥＮＣ回路１０９および駆動波形生成回路１１０による処理については、図４、図５を用いて後述する。
【００１７】
ＰＷＭ（パルス幅変調）発生器１１２は駆動波形生成回路１１０から出力されるＰＷＭ指令値に応じて、モータドライバ１１３に対してＰＷＭ信号を出力する。ＰＷＭ信号については図６を参照して後述する。
【００１８】
モータドライバ１１３は、ＰＷＭ発生器１１２より出力される指令値に応じた増幅を行い、モータ１０１のＡ相用コイル１１４、Ｂ相用コイル１１５に電圧を印加する。モータ１０１への印加信号はＰＷＭ信号に応じた高周波電圧信号となるが、コイルに発生する電流値信号はコイルのＬ（インダクタンス）成分によりＬＰＦ（ローパスフィルタ）がかかった場合と同様になる。このことから、コイルには実効的に、図６で説明する正弦波信号形状の電圧が印加されるのと同様であるものとする。
【００１９】
ステータＡ＋１１６、ステータＡ−１１７はそれぞれ、Ａ相用コイルの両端の発生する磁場を集中して放出する働きをもつ。ステータＢ＋１１８、ステータＢ−１１９はそれぞれ、Ｂ相用コイルの両端の発生する磁場を集中して放出する働きをもつ。図２（Ｃ）を参照して、ステータＡ＋およびＡ−、ステータＢ＋およびＢ−、ロータ磁石１２０の配置関係を具体的に説明する。
【００２０】
図２（Ｃ）においてステータＡ＋１１６、ステータＡ−１１７、ステータＢ＋１１８、ステータＢ−１１９は、互いの物理角が１８度ごとの位置関係で配置される。ロータ磁石１２０の回転方向はＣＷ方向またはＣＣＷ方向である。この例では、合計５組のステータ群が配置されている。ロータ磁石１２０はステータ群の中央に位置し、Ｎ極、Ｓ極がそれぞれ５極で、合計１０極の磁極を持つ。駆動波形の正弦波が１波出力される毎に、ロータ磁石１２０は物理角で７２度回転する。
【００２１】
次に位置ＥＮＣ回路１０９、駆動波形生成回路１１０の処理を詳細に説明する。図３は位置ＥＮＣ回路１０９、駆動波形生成回路１１０の構成を示すブロック図である。Ａｐｏｓ生成部３０１とＢｐｏｓ生成部３０２が位置ＥＮＣ回路１０９に相当する。駆動波形位相決定部３０３から駆動用位相差変化時間の設定部３０７までが駆動波形生成回路１１０に相当する。
【００２２】
ホール素子１０５の出力信号をセンサ信号１と表記し、ホール素子１０６の出力信号をセンサ信号２と表記する。センサ信号１および２はアンプ１０７を介してＡＤ変換回路１０８へ入力され、ＡＤ変換された信号をＡｐｏｓ生成部３０１が取得する。Ａｐｏｓ生成部３０１は、ＡｒｃＴａｎ（逆正接）演算を用いて回転位置を算出する。前処理として、入力された２つの信号のオフセットおよびゲインの調整が行われる。つまり、入力された２つの信号のオフセットおよびゲインを同一にする調整が行われる。この調整はＯＰＥＮ駆動でモータ１０１を回転させることによって２つの信号のピーク値とボトム値を検出し、その結果を用いて行われる。調整後に、９０度の位相差を持った２つの正弦波状信号で正接値を算出し、逆正接演算を行うと回転角度の信号（Ａｐｏｓ）が生成される。この回転角度の値を積分した値を算出することで回転位置情報を生成することができる。センサ信号１および２と回転位置信号との関係について、図５の例で説明する。
【００２３】
図５（Ａ）および（Ｂ）は、それぞれ検出された回転位置信号を調整した後の信号を例示する。図５（Ａ）に示す信号は正弦波状信号であり、図５（Ｂ）に示す信号は余弦波状信号である。図５（Ｃ）は検出位置のカウント値の変化を示す。横軸はロータの回転量を表す。本実施形態では、２つのセンサ信号１とセンサ信号２に関し、正弦波の１波長分の信号が出力されたときに１０２４カウント分の位置分解能で位置を検出できるものとする。
【００２４】
図４（Ａ）はＡｐｏｓを示す。図４に示す各グラフの横軸はロータの回転量を表す。Ａｐｏｓの値はロータの回転量に比例したカウント値である。
【００２５】
図３のＢｐｏｓ生成部３０２は、Ａｐｏｓに対して任意のオフセット値を有する信号（Ｂｐｏｓと記す）を生成する。Ｂｐｏｓは、ＣＰＵ１１１が任意のタイミングで任意値に書き換え可能であり、書き換えたタイミングで書き換え値とＡｐｏｓとの差分量がオフセット値として記録される。図４（Ｂ）はＢｐｏｓを示す。Ｂｐｏｓ生成部３０２は、Ａｐｏｓの値に、記録されたオフセット値が常に付与された波形のＢｐｏｓを生成する。Ｂｐｏｓの値は、ゼロと上限値（最大値）との間で回転量に対して周期的に変化する鋸歯状波の信号値である。
【００２６】
続いて、生成されたＢｐｏｓが駆動波形位相決定部（以下、位相決定部という）３０３に引き渡される。位相決定部３０３は、最終的にＡ相用コイル１１４、Ｂ相用コイル１１５に印加する駆動波形の位相カウント情報を決定し、ＰＷＭ発生器１１２に位相カウント情報に相当するＰＷＭ値を送る。位相決定部３０３はＯＰＥＮ駆動用のカウント部３０４の指令により、位相カウント情報を出力するＯＰＥＮ駆動と、Ｂｐｏｓの値に基づく位相カウント情報を出力する位置連動駆動とを切り替える。位置連動駆動はＣＬＯＳＥ駆動である。ＯＰＥＮ駆動と位置連動駆動は、ＣＰＵ１１１が位相決定部３０３に対して設定を行うことで切り替えられる。
【００２７】
ＯＰＥＮ駆動が行われる場合、ＣＰＵ１１１はカウント部３０４に対して駆動波形の周波数を指令し、位相決定部３０３に駆動波形の振幅ゲインを設定する。位相決定部３０３は所望の周波数および振幅の駆動波形を出力する。また位置連動駆動が行われる場合には、Ｂｐｏｓの下位１０ビット値に対して、ＣＰＵ１１１がオフセットを付与した値を算出する。このオフセットは、定常位相差の設定部３０５を通じて設定されるＳＴＣ＿ＯＦＳと、駆動用位相差の設定部３０６を通じて設定されるＰＨＳ＿ＯＦＳである。この関係を図４（Ｃ）、（Ｄ）の各グラフで示す。
【００２８】
図４（Ｃ）はＢｐｏｓの下位１０ビット値と回転量との関係を示す。図４（Ｄ）はオフセットＳＴＣ＿ＯＦＳおよびＰＨＳ＿ＯＦＳを付与した後の駆動波形を示す。Ｂｐｏｓに対してＳＴＣ＿ＯＦＳ、ＰＨＳ＿ＯＦＳの両方が加算されてオフセット値が付与される。ＳＴＣ＿ＯＦＳは検出位置カウントと駆動波形カウントの安定位置を管理する役割が割り当てられ、ＰＨＳ＿ＯＦＳはトルク発生のための位相差管理の役割が割り当てられている。オフセット付与によって算出された値が駆動波形位相のカウント値となり、このカウント値に相当する位相の出力値が駆動波形の出力値として選択される。
【００２９】
ＣＰＵ１１１が駆動用位相差（目標位相差）の設定部３０６に対する設定値を変化させた場合、設定前の位相差から設定後の目標位相差へと瞬時に切り替わるわけではない。駆動波形生成回路１１０は一定の時間をかけて、設定後の目標位相差へと変化させてシステムに反映させる位相差漸増減の変更機能を有する。この機能のＯｎ／ＯｆｆについてはＣＰＵ１１１から設定することができる。位相差漸増減の変更機能における位相差の変化時間は、図３に示す駆動用位相差の変化時間の設定部３０７によって設定される。この設定部３０７に対してＣＰＵ１１１が設定する値をＰＳ＿ＴＩＭＥと表記する。ＰＳ＿ＴＩＭＥ値としては変化時間をｍｓ（ミリ秒）オーダーで設定できるものとする。ＰＳ＿ＴＩＭＥ値の設定に関しては第２実施形態で詳述する。
【００３０】
駆動波形生成回路１１０は駆動波形の位相を決定し、駆動波形に対応するＰＷＭ指令値をＰＷＭ発生器１１２へ出力する。ＰＷＭ発生器１１２は駆動波形生成回路１１０から出力されるＰＷＭ指令値に応じてＰＷＭ信号をモータドライバ１１３に出力する。
【００３１】
図６を参照して、正弦波位置カウント値と、出力されるＰＷＭ値（Ｄｕｔｙ％値）との関係を説明する。図６（Ａ）、（Ｂ）ともに横軸はテーブル番号を表し、電圧波形の位相に対応しており、図４（Ｄ）に示す駆動波形値と同様の分解能とする。
【００３２】
図６（Ａ）では、横軸がプラスカウントされていてＡ相駆動電圧波形に対してＢ相駆動電圧波形が９０度先行し、モータ１０１がＣＷ方向に回転する場合を示している。逆に図６（Ｂ）では、横軸がマイナスカウントされていてＢ相駆動電圧波形に対してＡ相駆動電圧波形が９０度先行し、モータ１０１がＣＣＷ方向に回転する場合を示している。縦軸のＤｕｔｙ％値はＣＰＵ１１１からのゲイン設定値に応じて増減する。本実施形態ではモータ１０１の回転運動に支障を来すことのない適切なゲイン値が設定されているものとする。
【００３３】
図７および図８は本実施形態における処理の流れを示すフローチャートである。ＣＰＵ１１１は所定のプログラムにしたがって以下の制御を行う。まずＳ６０１では、位置連動駆動をオフにする設定処理が実行される。つまり、ＯＰＥＮ駆動が働く設定となる。続くＳ６０２でＣＰＵ１１１は、リセット機構１２１が出力しているリセット信号の検出状態を判定する。リセット信号は、ロータ軸１０２のスクリュー機構に取り付けられた被検知部材の移動に伴い、被検知部材が予め設定された位置を通過するときにＨｉｇｈまたはＬｏｗに変化する２値信号である。モータ駆動装置がモータ１０１にＢ相先行の駆動波形を印加してＣＷ回転をするときに被検知部材が進行する側が、リセット信号としてＨｉｇｈレベルを出力する側である。モータ駆動装置がモータ１０１にＡ相先行の駆動波形を印加してＣＣＷ回転をするときに被検知部材が進行する側が、リセット信号としてＬｏｗレベルを出力する側である。リセット信号が変化する位置を検出して絶対位置を確定するために、Ｓ６０２の判定処理が行われる。Ｓ６０２にてリセット信号がＬｏｗレベルであると判定された場合、Ｓ６０３に進む。Ｓ６０２にてリセット信号がＨｉｇｈレベルであると判定された場合にはＳ６０４に進む。
【００３４】
Ｓ６０３にてＣＰＵ１１１はＢ相先行波形の駆動波発生をＯＰＥＮ駆動用のカウント部３０４に指令し、モータ１０１を回転させる制御を行う。またＳ６０４にてＣＰＵ１１１はＡ相先行波形の駆動波発生をカウント部３０４に指令し、モータ１０１を回転させる制御を行う。Ｓ６０３またはＳ６０４の処理の後、Ｓ６０５の処理に進む。Ｓ６０５でＣＰＵ１１１はリセット信号の状態が変化したかどうかを判定する。ＣＰＵ１１１はリセット信号を監視し、リセット信号に変化が起きた場合、Ｓ６０６に進み、リセット信号に変化がない場合には監視を継続してＳ６０５の判定処理を繰り返す。
【００３５】
Ｓ６０６でＣＰＵ１１１は、駆動波形の進行を停止させる指令をカウント部３０４に出力する。このときの停止位置は位置カウントの基準位置となる。Ｓ６０７でＣＰＵ１１１は、検出位置の最終的な位置管理を行うＢｐｏｓ用レジスタの初期化を行い、Ｂｐｏｓの値としてゼロを書き込む。続くＳ６０８でＣＰＵ１１１は、ロータの停止状態で位相決定部３０３に保持されている駆動波形の位相カウント値から、Ｂｐｏｓの下位１０ビット値を引いた値をＳＴＣ＿ＯＦＳに書き込む処理を行う。ＣＰＵ１１１が定常位相差の設定部３０５を通じて設定するＳＴＣ＿ＯＦＳの値は、位置連動機能をＯｎに設定した瞬間に、駆動波形の出力位相がずれないようにするための値である。Ｓ６０８の時点では、ＯＰＥＮ駆動波形の結果、ある駆動波形位相を出力している状態にしたがってロータ磁石１２０が安定停止している。位置連動駆動がＯｎに設定された後の駆動波形位相は、Ｂｐｏｓの下１０ビットの値に基づいて生成される。位置連動駆動がＯｎとなった直後、Ｂｐｏｓの下位１０ビットの値にＳＴＣ＿ＯＦＳの値が加算される。加算後の値が駆動波形の位相カウント値として出力されるので、駆動波形の位相カウント値は位置連動駆動のＯｎとＯｆｆの前後で値が変わらないことが保証される。
【００３６】
次のＳ６０９においてＣＰＵ１１１は、反転駆動時に使用する位置連動機能に関し、反転用の回転トルクを発生させるための設定を行う。具体的にはＰＨＳ＿ＯＦＳに対して、駆動波形位相で−９０度に相当する−２５６という値が設定される。続くＳ６１０でＣＰＵ１１１は、ＯＰＥＮ駆動の設定速度と回転方向を設定する。ここではＯＰＥＮ駆動において脱調が発生しない十分な余裕をもって回転可能な低速度の値が設定され、回転方向が時計回り（ＣＷ）方向に設定される。そしてＳ６１１にてＣＰＵ１１１がＯＰＥＮ駆動開始命令を駆動波形生成回路１１０に出力する。カウント部３０４によるＯＰＥＮ駆動動作が開始され、駆動波形位相の進行によりロータ磁石１２０が回転を始める。
【００３７】
次に図８のＳ６１２でＣＰＵ１１１は、ロータの回転検出位置が反転開始位置に到達し、または反転開始位置を超えたかどうかを判定する。反転開始位置については予め設定されているものとする。回転検出位置が反転開始位置に到達するか、または反転開始位置を超えたと判定された場合、Ｓ６１３に進み、回転検出位置が反転開始位置に到達していないと判定された場合にはＳ６１２の判定処理が繰り返し実行される。反転開始位置に到達したかの判定は、本実施例のシーケンスの上位層で回転量を監視し、所定距離を進んだ等の判定処理により判定することができる。到達したと判定されると上位層から反転命令が送信され、この反転命令を受信することで反転開始位置に到達したと判定してもよい。また、予め設定された反転開始位置に到達すると反転動作を開始する代わりに、ユーザの操作に基づいて反転命令が送信され、この反転命令を受信することで反転動作を開始してもよい。
【００３８】
Ｓ６１３でＣＰＵ１１１は位置連動機能をＯｎに設定し、反転回転トルクの発生動作の制御を行う。この時にモータ１０１に発生する現象については図９、図１０を用いて後述する。
【００３９】
Ｓ６１４でＣＰＵ１１１はロータの現在速度を監視し、予め設定されている反転完了速度（以下、ｖ１と記す）以下であるか否かを判定する。ロータの現在速度がｖ１以下の値（絶対値としては大きな値）であるかどうかが判定され、現在速度がｖ１より大きい場合、Ｓ６１４の判定処理を継続する。また現在速度がｖ１以下の値（絶対値としては大きな値）である場合、Ｓ６１５の処理に進む。
【００４０】
Ｓ６１５でＣＰＵ１１１は、ＯＰＥＮ駆動へ移行するためのＯＰＥＮ駆動速度および回転方向の設定を行う。本実施形態では設定速度を反転完了速度ｖ１と同一とし、回転方向を反時計回り（ＣＣＷ）方向とする設定処理が実行される。
【００４１】
Ｓ６１６でＣＰＵ１１１は最終的な目標停止位置を設定し、続くＳ６１７において位置連動駆動をＯｆｆに設定し、ＯＰＥＮ駆動へと移行させる制御を行う。Ｓ６１８でＣＰＵ１１１はロータ回転位置が目標位置に到達したかどうかを判定する。ロータ回転位置が目標位置に到達していないと判定された場合、Ｓ６１８の判定処理が繰り返される。また、ロータ回転位置が目標位置に到達したと判定された場合にはＳ６１９の処理に進む。Ｓ６１９でＣＰＵ１１１は、ＯＰＥＮ駆動の駆動停止命令を発行してモータ１０１を停止させ、駆動シーケンスを終了する。
【００４２】
図９は、減速トルクの発生時におけるロータ磁石と駆動波形の位相関係を示す図である。図９（Ａ）は、図２（Ｃ）に示されるステータ群の配置を横一列に並べた場合の模式図である。図９（Ｂ）はステータ群に対してモータ１０１の周方向にどのような電圧印加を行っているかを模式的に示した図である。図９（Ｃ）はその電圧印加によってステータ群が発生させている、周方向の位置に対応した磁場の強さを示す図である。図９（Ｄ）は図２（Ｃ）で示されるロータ磁石１２０の着磁位相を示す図である。図９（Ｂ）から（Ｄ）において横軸は位置を表す。
【００４３】
図９はＳ６１３の処理が行われた後の状態を示している。ステータ群が発生させている磁場のＮＳ磁極の位相と、ロータ磁石１２０のＮＳ磁極の位相との関係から、図９の左側に引っ張られる引力、すなわちＣＣＷ方向の回転トルクが発生する状況となっている。同様の働きを図１０において説明する。
【００４４】
図１０は、モータ１０１の定速制御から減速制御に移行させて、反転後に加速してから定速制御へ移行させる例を示す。図１０（Ａ）はＢｐｏｓの挙動を示すグラフである。図１０（Ｂ）は位置を時間で微分した速度を示すグラフである。ｖ１は反転完了速度を示す。図１０（Ｃ）はＢｐｏｓの下位１０ビット値を示すグラフである。図１０（Ｄ）は駆動波形の位相カウント値の挙動を示すグラフである。図１０（Ｅ）、（Ｆ）はそれぞれ、駆動波形の位相カウント値に基づいて、ステータＡ＋１１６に発生する磁場の波形、ステータＢ＋１１８に発生する磁場の波形を表している。各図の横軸は時間軸であり、時刻ｔ１からｔ２までの期間は定速期間、時刻ｔ２からｔ３までの期間は減速期間である。時刻ｔ３からｔ４までの期間は反転および加速期間であり、時刻ｔ４以降は定速期間である。
【００４５】
図１０の時刻ｔ１〜ｔ２の期間において、ロータはＯＰＥＮ駆動でＣＷ方向に一定速度で回転している。このとき、図１０（Ｃ）と図１０（Ｄ）における値を比べると、カウント値で１２８カウントのズレがあり、これは電気角で４５度に相当する。この量は、ロータ磁石１２０が駆動波形の位相に対してどれだけ遅れているかを表す追従遅れ量に相当する。つまり本実施形態で設定された速度と機構部の負荷に対して、追従遅れ量が４５度であることを示している。図１０に示す時刻ｔ２は図８のＳ６１３の処理が実行された時刻であり、この時刻ｔ２から図１０（Ｃ）の検出位相に対して電気角で９０度に相当する２５６のカウント値だけ遅れた位相カウント値の駆動波形を出力する処理が実行される。この処理によって、図９で示したトルク状態が常に維持されて反転トルクがかかり続けることになる。その結果、図１０に示す時刻ｔ２からｔ３にかけてロータに減速がかかり、回転速度が減少していく。しかし時刻ｔ３で速度が一旦ゼロになった後、そのままＣＣＷ方向のトルクが維持されているので、反時計回り（ＣＣＷ）方向への加速がかかり始める。
【００４６】
図８のＳ６１４で反転完了と判定されて、Ｓ６１７までの処理が実行される時刻が、図１０に示す時刻ｔ４である。時刻ｔ４以降にはＯＰＥＮ駆動となる。このとき、図１０（Ｃ）と図１０（Ｄ）における値を比べると、カウント値で１２８カウントのズレがあり、これは電気角で４５度に相当する。すなわち追従遅れ量が４５度である安定した状態でＯＰＥＮ駆動が行われていることを示している。
【００４７】
本実施形態では、開ループ制御で安定な定速回転の駆動中に回転方向を反転させる場合、ロータの回転検出位置に基づいて回転検出位置の位相と駆動波形の位相とを同期させる制御に切り替えて効率的な駆動波形を生成して反転動作を行う。これにより、回転方向の反転後に再び開ループ制御へ迅速かつ円滑に移行させることができる。
【００４８】
［第２実施形態］
次に本発明の第２実施形態を説明する。本実施形態では、モータ１０１と該モータに接続された機構部を含む駆動系において所定の回転速度の周辺において振動要因があり、より滑らかに反転動作を行いたい場合の処理について説明する。モータ１０１に接続された機構部の一例として、撮像装置への適用例において撮像光学系を構成する可動レンズ（フォーカスレンズ等）を移動させる駆動機構部がある。なお、本実施形態にて第１実施形態と同様の事項については説明を省略し、主に相違点を説明する。
【００４９】
図１１および図１２のフローチャートを参照して、本実施形態における具体的な処理の流れを説明する。Ｓ９０１〜Ｓ９０８の処理については、図７のＳ６０１〜Ｓ６０８の処理と同様であるので、それらの説明を割愛する。
Ｓ９０９でＣＰＵ１１１は、ＯＰＥＮ駆動の駆動速度と回転方向を設定する。ここではＯＰＥＮ駆動において脱調が発生しない十分な余裕をもって回転可能な低速度の値が設定され、回転方向として時計回り（ＣＷ）方向が設定される。Ｓ９１０でＣＰＵ１１１はＯＰＥＮ駆動開始命令を駆動波形生成回路１１０に出力する。ＯＰＥＮ駆動用のカウント部３０４によるＯＰＥＮ駆動動作が開始され、駆動波形位相の進行によりロータ磁石１２０が回転を始める。
【００５０】
続くＳ９１１でＣＰＵ１１１は、ロータの回転検出位置が反転開始位置に到達し、または反転開始位置を超えたかどうかを判定する。ロータの回転検出位置が反転開始位置に到達するか、または反転開始位置を超えたと判定された場合、Ｓ９１２に進む。またロータの回転検出位置が反転開始位置に到達していないと判定された場合にはＳ９１１の判定処理を継続する。
【００５１】
Ｓ９１２でＣＰＵ１１１は進角状態を検出する。ここでの進角状態とは、駆動波形の位相とロータ回転位置の検出位相との関係が、ロータの安定停止状態である位相からどれだけ差異があるかを示す。本実施形態の場合、駆動波形の位相がロータの回転検出位置の位相よりも４５度進んだ状態が、進角状態として検知されるものとする。進角状態を表す位相角（進角）が４５度である状態は、駆動波形のカウント値がロータの回転検出位置のカウント値に対して１２８の値で進んでいる状態である。
【００５２】
Ｓ９１３でＣＰＵ１１１は、位置連動機能の発動時に現在のＯＰＥＮ駆動状態と同様の回転トルクを発生させるための設定を行う。具体的には、設定部３０６はＰＨＳ＿ＯＦＳに駆動波形位相で４５度に相当する値１２８を設定する設定処理を行う。
【００５３】
図１２のＳ９１４でＣＰＵ１１１は位置連動機能をＯｎに設定し、回転トルクの発生動作の制御を行う。続くＳ９１５でＣＰＵ１１１は設定部３０７により、位相差の変化時間の設定を行い、ｔｃという値をＰＳ＿ＴＩＭＥに書き込む。ｔｃの決定方法については後述する。
【００５４】
Ｓ９１６でＣＰＵ１１１は位相差漸増減の変更機能をＯｎに設定する。Ｓ９１７でＣＰＵ１１１は、反転トルク発生のために使用するＰＨＳ＿ＯＦＳに、駆動波形位相で−４５度に相当する−１２８という値を設定する。この−１２８という設定値の決定方法については後述する。この設定によって、モータ１０１には反時計回り（ＣＣＷ）方向のトルクが発生する。Ｓ９１１〜Ｓ９１７の処理に対応する動きについては、図１３、図１４を用いて後述する。
【００５５】
Ｓ９１８にてＣＰＵ１１１はロータの現在速度を監視し、予め設定されている反転完了速度以下であるかどうかを判定する。反転完了速度をｖ１と表記する（図１３（Ｂ）参照）。ロータの現在速度がｖ１より大きい値であると判定された場合、Ｓ９１８の判定処理を継続する。またロータの現在速度がｖ１以下である値（絶対値としては大きな値）と判定された場合にはＳ９１９の処理に進む。
【００５６】
Ｓ９１９でＣＰＵ１１１は、ＯＰＥＮ駆動へ移行するためのＯＰＥＮ駆動速度と回転方向の設定を行う。本実施形態では設定速度を反転完了速度ｖ１と同一とし、回転方向を反時計回り（ＣＣＷ）方向とする設定処理が行われる。Ｓ９２０でＣＰＵ１１１は最終的な目標停止位置を設定し、続くＳ９２１において位置連動駆動をＯｆｆに設定し、ＯＰＥＮ駆動へと移行する。
【００５７】
Ｓ９２２でＣＰＵ１１１は、ロータ回転位置が目標位置に到達したかどうかを判定する。ロータ回転位置が目標位置に到達していないと判定された場合、Ｓ９２２の判定処理が繰り返される。ロータ回転位置が目標位置に到達したと判定された場合にはＳ９２３に進む。Ｓ９２３でＣＰＵ１１１はＯＰＥＮ駆動の動作停止命令を発行し、モータ１０１を停止させ、駆動シーケンスを終了する。
【００５８】
図１３（Ａ）〜（Ｆ）は、図１０（Ａ）〜（Ｆ）と同様の量を示す図である。横軸に示す時間軸において、時刻ｔ５からｔ６までの期間は定速期間、時刻ｔ６からｔ７までの期間は減速期間である。時刻ｔ７からｔ８までの期間は反転および加速期間であり、時刻ｔ８以降は定速期間である。
【００５９】
図１３に示す時刻ｔ５からｔ６の期間ではＯＰＥＮ駆動で時計回り（ＣＷ）方向に回転駆動が行われており、時刻ｔ６では図１１に示すＳ９１２の処理が開始される。時刻ｔ６にて位置連動機能がＯｎになり、閉ループ制御が発動される。位置連動機能がＯｎとなった直後にはＯＰＥＮ駆動時と同じ位相差設定がなされているので、図１３（Ｄ）の駆動波形の位相カウント値の挙動は不連続にならない。時刻ｔ６から時間ｔｃをかけて、図１３（Ｄ）の駆動波形の位相カウント値から、図１３（Ｃ）のＢｐｏｓの下位１０ビット値を引いた差分値が、＋１２８カウントから−１２８カウントへと滑らかに変化する。−１２８カウントの位相差設定は、ロータに対して反時計回り（ＣＣＷ）方向のトルクを発生させる設定であるが、この滑らかな変化により制御対象に不要な振動を与えないという効果を奏する。
【００６０】
時刻ｔ６から時間ｔｃが経過した後でも、ロータには反時計回り方向のトルクがかかるので、その後にロータが減速されて時刻ｔ７において反転挙動に移る。時刻ｔ６からｔ７までの期間では反転挙動の滑らかさを優先するために、第１実施形態にて説明した図１０の時刻ｔ２からｔ３までの期間よりも時間が長くなる。この場合、第１実施形態と本実施形態のどちらの制御を使うべきかについては、適用対象である機構部の特徴と振動要因を考慮して判断する必要がある。ここでは反転用にＰＨＳ＿ＯＦＳに設定した−１２８という値とｔｃの値について説明する。
【００６１】
図１４は横軸に位相差をとり、縦軸にロータの回転速度をとって両者の関係を表したグラフある。ＰＨＳ＿ＯＦＳに設定される位相差を度の単位で示す。縦軸の回転速度は、設定された位相差に対して十分な加速時間が与えられた後に、モータ１０１を適用した駆動系においてモータ１０１のロータが到達する回転速度を示している。図１４に示す情報は事前に測定して特定されているものとする。縦軸の回転速度にて、プラス側はＣＷ方向の回転速度を示し、マイナス側はＣＣＷ方向の回転速度を示す。図１４に示す位相差とロータ回転速度との関係を表すプロファイルデータはあらかじめメモリに記憶されており、設定部３０６が当該データを参照して駆動用の目標位相差に相当するＰＨＳ＿ＯＦＳの値を設定する。
【００６２】
本実施形態では、ロータの回転方向が反転した後の回転速度がｖ１であるものとする。図１４から分かるように回転速度ｖ１に対応する位相差は−４５度である。このため、ロータの反転後に−４５度の位相差設定がＰＨＳ＿ＯＦＳに対して行われていれば、回転速度がｖ１に収束する。つまり反転から回転速度ｖ１でのＯＰＥＮ駆動へと滑らかに移行させることができる。このような手順で、反転に使用する位相差である−４５度、およびカウント設定値である−１２８が決定される。ｔｃ値については、反転前の回転速度、または反転前の回転速度と反転後の目標回転速度との差分に対して、適切な時間情報がプロファイルとして保持されている。あらかじめメモリに記憶されているプロファイルにしたがってｔｃ値が決定される。あるいはｔｃ値については、反転前の進角状態を表す位相角（進角）、または反転前の進角状態を表す位相角と反転後の進角状態を表す位相角との差分に対して、適切な時間情報がプロファイルとして保持されており、そのプロファイルにしたがって決定される。
【００６３】
図１２のＳ９１８で反転完了と判定されて、Ｓ９２１までの処理が実行される時刻が、図１３の時刻ｔ８である。時刻ｔ８以降はＯＰＥＮ駆動となる。この時、図１３（Ｃ）と図１３（Ｄ）における値を比べると、カウント値で１２８カウントのズレがあり、これは電気角で４５度に相当する。つまり、追従遅れ量が４５度であって安定した状態でＯＰＥＮ駆動が行われていることを示している。この状態での位相差は減速、反転時に保持していた閉ループ制御時の位相差と同様であるので、時刻ｔ８におけるＯＰＥＮ駆動への移行が円滑に行われる。
【００６４】
本実施形態では、開ループ制御で安定な定速回転の駆動中に回転方向を反転する場合に、モータを含む駆動系において、所定の回転速度の周辺に振動要因がある場合でも、より滑らかな反転挙動を実現できる。したがってロータの回転検出位置に基づいて効率的な駆動波形を生成してロータの反転動作を行い、反転後に再び開ループ制御へ移行させることができる。
【００６５】
図１５を参照して、従来例のモータ駆動装置の挙動と、本発明の実施形態に係るモータ駆動装置の挙動とを比較して説明する。図１５（Ａ）および（Ｂ）の横軸は時間軸であり、縦軸はロータの回転位置を表す。図中の“ＯＰＥＮ”は開ループ制御によるＯＰＥＮ駆動を示し、“ＣＬＯＳＥ”は閉ループ制御によるＣＬＯＳＥ駆動を示している。
【００６６】
図１５（Ａ）は、従来例におけるロータの反転時における挙動を示す。この場合、開ループ制御での減速後に、機構部が静定状態となるまでの待ち時間を設ける必要がある。図１５（Ｂ）は、本発明の実施形態におけるロータの反転時における挙動を示す。開ループ制御にてロータは定速で駆動されている。そして開ループ制御から閉ループ制御へ移行し、閉ループ制御中にロータが減速されて反転し、加速される。静定のための待ち時間を設けることなく、短時間で減速、反転、および加速が可能である。加速後には再び開ループ制御へと移行し、ロータは定速で駆動される。本発明の実施形態によれば、脱調を抑制して安定な反転動作を行うことが可能である。
【００６７】
［第３実施形態］
本実施形態では、第２の駆動モードで駆動し、反転時も第２の駆動モードのまま駆動する実施形態について説明をする。反転位置に到達する前から第２の駆動モードで駆動（つまりＣＬＯＳＥ駆動）する点で第１実施形態と異なるが、その他の点は第１実施形態と同様であるため、説明を省略する。
【００６８】
図１６は、本実施例における処理の流れを示すフローチャートである。ＣＰＵ１１１は所定のプログラムにしたがって以下で説明する図１６に示した制御を行う。駆動シーケンスが開始するとステップＳ１６０１の処理に進む。ステップＳ１６０１〜Ｓ１６０８までの処理は、第１実施形態のステップＳ６０１〜Ｓ６０８の処理と同様であるため、説明を省略する。
【００６９】
ステップＳ１６０９ではＣＰＵ１１１は位置連動駆動をＯＮに設定する。このとき、オフセットＰＨＳ＿ＯＦＳにはゼロが設定されているものとする。ステップＳ６０８で説明した通り、位置連動駆動のＯＮ設定の直後には駆動波形の出力位相は変化しない。
【００７０】
ステップＳ１６１０において連動機能を利用して、ＣＷ方向への回転トルク発生動作を行う。具体的にはＰＨＳ＿ＯＦＳに駆動波形位相で９０度に相当する値である２５６が設定される。この時にモータに発生する現象は、図１７〜図１９を用いて後述する。
【００７１】
ステップＳ１６１１では、ステップＳ６１２と同様に、ＣＰＵ１１１は、ロータの回転検出位置が反転開始位置に到達し、または反転開始位置を超えたかどうかを判定する。ステップＳ６１２と同様に、ユーザの操作に基づく反転命令を受信したか否かの判定とすることもできる。ステップＳ１６１１で回転検出位置が反転開始位置に到達するか、または反転開始位置を超えたと判定されると、ステップＳ１６１２に進む。
【００７２】
ステップＳ１６１２では、停止命令を受信したか否かを判定し、受信した場合はステップＳ１６１３に進み、受信していない場合はステップＳ１６１１に戻る。ステップＳ１６１２における停止命令とは、上位層による判定で、一定回数の反転動作が終了したことや、その他の要因によって停止が必要とされた場合に上位層により送信される。
【００７３】
ステップＳ１６１３では減速停止処理を行い、モータを停止させ、一連の駆動シーケンス処理を終了する。減速停止処理の具体的な方法は特に問わないが、例えば、ブレーキとなるトルクがかかる値にＰＨＳ＿ＯＦＳの値を変更し、減速したら、回転トルクが発生しないようにＰＨＳ＿ＯＦＳの値を０に設定する。最後に、位置連動駆動をオフにし、駆動波形の位相を固定することで減速停止処理を行うことができる。
【００７４】
一方、ステップＳ１６１１で回転検出位置が反転開始位置に到達していないと判定されると、ステップＳ１６１４へ進み、連動機能を利用して、逆方向の回転トルクを発生させる動作を行う。具体的には、ＰＨＳ＿ＯＦＳに駆動波形位相で−９０度に相当する値である２５６が設定される。このように、ＣＷ方向への回転動作中に反転命令の有無を判定し、反転命令受信の判定を受けてすぐにＣＣＷ方向の回転トルクを発生させる。よって、ステップＳ１６１０で開始した回転動作から、停止動作を挟まずに反対方向への回転動作へ移行することができる。
【００７５】
ステップＳ１６１４の処理の後、ステップＳ１６１５へ進む。ステップＳ１６１５では、ステップＳ１６１１と同様に、反転開始位置に到達したかを判定し、到達したと判定された場合、ステップＳ１６１６に進み、反転開始位置に到達していないと判定された場合はステップＳ１６１０に進む。ステップＳ１６１０に進んだ場合、ステップＳ１６１１からＳ１６１４へ進んだ場合と同様に、停止動作を挟むことなくＣＣＷ方向からＣＷ方向への回転動作へと移行する。このように、ステップＳ１６１１、ステップＳ１６１５においてロータの回転検出位置が反転開始位置に到達するかを判定することで、モータ１０１は停止動作を挟むことなく速やかな反転動作を行うことが可能となる。これは、本実施形態のモータ駆動装置が、数１０ｋＨｚ〜１００ｋＨｚ程度の位置検出精度で回転位置を検出できるため、検出した回転位置に基づいてロータ磁石に対して反転のトルクが発生する位相の駆動波形位相をかけ続けることができるためである。
【００７６】
一方、ステップＳ１６１５からステップＳ１６１６に進んだ場合、ステップＳ１６１２と同様に、停止命令を受信しているか否かを判定する。ステップＳ１６１６における停止命令とは、ステップＳ１６１２における停止命令と同様のものであるとする。ステップＳ１６１６において停止命令を受信した場合、ステップＳ１６１３に進み、受信していない場合はステップＳ１６１５に戻る。
【００７７】
図１７から図１９を参照して、図１６のＳ１６１０の処理について具体的に説明する。図１７は、ステップＳ１６０９におけるロータ磁石位相と駆動波形位相との関係を示しており、ステータ群が発生させている磁場のＮＳ磁極位相と、ロータ磁石１２０のＮＳ磁極位相の関係は、ロータが安定に停止する関係にある。図１７（Ａ）は図２（Ｃ）で示されているステータ群の配置に関し、ステータを横一列に並べた模式図である。図１７（Ｂ）はステータ群に対してモータの周方向にどのような電圧印加を行っているかを模式的に示したものである。図１７（Ｃ）はその電圧印加によってステータ群が発生させている周方向位置に対応した磁場の強さを示す図である。図１７（Ｄ）は図２（Ｃ）で示されるロータ磁石１２０の着磁位相を示す図である。
【００７８】
これに対して、ステップＳ１６１０においてＰＨＳ＿ＯＦＳに２５６が設定されたのちは、ロータ磁石位相と駆動波形位相との関係が、図１８に示す関係に変化する。図１８（Ａ）から（Ｄ）はそれぞれ、図１７（Ａ）から（Ｄ）に対応している。図１８の状態はステータ群が発生させている磁場が図１７に比べて９０度進んだ位置にある。このことにより図１８（Ｄ）で示されるように、ロータ磁石１２０は右側に引っ張られる引力、すなわちＣＷ方向の回転トルクが発生する。
【００７９】
図１９は、ロータ磁石位相と駆動波形位相とが図１７の状態（安定停止状態）から図１８の状態（ＣＷトルク発生状態）に変化した際の、モータの挙動を説明するグラフであり、図１９（Ａ）〜（Ｅ）の横軸は時間軸を示す。図１９（Ａ）はＢｐｏｓの時間変化を示し、縦軸はロータの位置を表す。図１９（Ｂ）はＢｐｏｓの下位１０ビット値の時間変化を示すグラフ、図1９（Ｃ）は駆動波形位相カウント値の時間変化を示すグラフである。また図１９（Ｄ），（Ｅ）はそれぞれ、駆動波形位相カウント値に基づいて、ステータＡ＋１１６に発生する駆動波形磁場の時間変化と、ステータＢ＋１１８に発生する駆動波形磁場の時間変化を表している。また、時刻ｔ１は、図１６のステップＳ１６１０においてＰＨＳ＿ＯＦＳの値として２５６が設定されるタイミングを示す。
【００８０】
図１７、図１８で説明した通り、図１９の時刻ｔ１においてＰＨＳ＿ＯＦＳに２５６が設定されると、図１９（Ｂ）のＢｐｏｓの下位１０ビット値と、図１９（Ｃ）の駆動波形位相カウント値に２５６の差分が発生する。このことにより駆動波形の位相がロータの回転位相より９０度進み、ＣＷ回転方向のトルクが発生する。モータが回転することで検出位置であるＢｐｏｓが進み、そのことにより駆動波形位相カウント値も進む。このループ処理によって、図１８（Ｂ）と図１８（Ｃ）で示す２つの波形の位相差は常に維持され、回転トルクがかかり続けることになる。その結果、図１９（Ａ）に示すように、ロータの回転に加速がかかり、モータの速度が上昇していく。ＰＨＳ＿ＯＦＳに２５６が設定され、ＣＷ回転方向のトルクが発生し始めると、ステップＳ１６１１とＳ１６１２の判定を周期的に行う。
【００８１】
図２０は、図１９に示したモータの加速中からその後の挙動を示すグラフであり、図２０（Ａ）〜（Ｆ）の横軸は時間軸を示す。図２０には、ステップＳ１６１０からステップＳ１６１１で反転開始位置に到達したと判定されるまでの期間に、ＣＷ方向に十分な加速がなされた場合の挙動を示す。
【００８２】
図２０（Ａ）はＢｐｏｓの時間変化を示すグラフであり、縦軸は位置を示す。図２０（Ｂ）はモータの回転速度（回転数）を示すグラフであり、縦軸は回転速度を示す。図２０（Ｃ）はＢｐｏｓの下位１０ビット値の時間変化を示すグラフ、図２０（Ｄ）は駆動波形位相カウント値の時間変化を示すグラフである。また図２０（Ｅ），（Ｆ）はそれぞれ、駆動波形位相カウント値を元に、ステータＡ＋１１６に発生する駆動波形磁場の時間変化と、ステータＢ＋１１８に発生する駆動波形磁場の時間変化を示す。
【００８３】
図１９の加速シーケンスの後、加速を続け図２０のシーケンスに移っているものとし、図２０の時刻ｔ２まで加速を続け、時刻ｔ２からｔ３までの期間はモータが定速状態にある。これは、発生トルクが回転数上がるにつれて電圧から電流に変換されるときのコイルの周波数特性遅れによって減衰したり、逆起電力の影響が大きくなったりすることにより、発生トルクと逆起電力とメカ負荷とが、ある回転数でつり合い状態になるためである。
【００８４】
時刻ｔ３は、ステップＳ１６１１で反転開始位置に到達していないと判定され、ステップＳ１６１４に移ったタイミングとする。時刻ｔ３においてＰＨＳ＿ＯＦＳに−２５６が設定されたのちは、ステータ群の磁場とロータ磁石１２０の着磁位相との関係が、図１８（Ｃ），（Ｄ）の関係から、第１実施形態で説明をした、図９（Ｃ），（Ｄ）の関係に変化する。
【００８５】
図１６のＳ１６１４にてＰＨＳ＿ＯＦＳの値に−２５６が設定された後のロータ磁石位相と駆動波形位相との関係は、図９を用いて説明した、Ｓ６１３の処理が行われた後のロータ磁石位相と駆動波形位相との関係と同様である。図９の状態はステータ群が発生させている磁場が図１７に比べて９０度遅れた位置にあり、このことにより図９（Ｄ）で示されるロータ磁石１２０は左側に引っ張られる引力、すなわちＣＣＷ方向の回転トルクが発生する。
【００８６】
同様の動きを図２０において説明する。図２０（Ｃ）のＢｐｏｓの下位１０ビット値にＰＨＳ＿ＯＦＳが加算された値が、図２０（Ｄ）に示す駆動波形位相カウント値となっている。ｔ３のタイミングまでは図１８のＣＷ回転方向のトルク発生状態（ＰＨＳ＿ＯＦＳ＝２５６）、ｔ３以降は図９で示すＣＣＷ回転方向のトルク発生状態（ＰＨＳ＿ＯＦＳ＝−２５６）となっている。一方、モータ１０１は、ＣＷ方向に回転しながらＣＣＷ方向の回転トルクをかけられることとなり、回転速度は時刻ｔ３の後で減速していく。そして、時刻ｔ４でモータの回転方向がＣＷ方向からＣＣＷ方向に変化し、反転動作が開始する。
【００８７】
時刻ｔ４は、図２０（Ａ）の位置を示すグラフの頂点となり、図２０（Ｂ）の回転速度を示すグラフにおいては正から負への変化点となる。また図２０（Ｅ），（Ｆ）で示すステータＡ＋１１６に発生する駆動波形磁場、ステータＢ＋１１８に発生する駆動波形磁場の波形は位相の先行関係を滑らかに入れ替えている。この反転回転動作が実現されるタイミングでは制御としては特別なことは行わず、モータ１０１にかかっていたＣＣＷ方向のトルクが、ＣＷ方向のブレーキ作用として働いていたのが、ｔ４のタイミングでＣＣＷ方向の加速トルクとして働きだしたことになる。時刻ｔ４以降はステップＳ１６１５でＹｅｓまたはＳ１６１６でＹｅｓと判定されるまで加速動作を行い、ＣＷ方向の回転時と同じく、加速トルクとモータに発生する逆起電力とが釣り合ったところで一定速状態となる。
【００８８】
［第４実施形態］
本実施例は、位置ＥＮＣ回路１０９の構成が第３実施形態と異なるが、その他の構成は第３実施形態と共通するため、共通部分については説明を省略する。
【００８９】
図２１は位置ＥＮＣ回路１０９、駆動波形生成回路１１０の処理を詳細に示すブロック図である。Ａｐｏｓ生成部３０１、Ｂｐｏｓ生成部３０２、Ｃｐｏｓ生成部３０８、変換比率設定部３０９、Ｄｐｏｓ生成部３１０、Ｅｐｏｓ生成部３１１、ＢｐｏｓＭａｘ値設定部３１２が位置ＥＮＣ回路１０９に相当する。駆動波形位相決定部３０３、ＯＰＥＮ駆動用カウント部３０４、定常位相差設定部３０５、駆動用位相差設定部３０６が駆動波形生成回路１１０に相当する。Ａｐｏｓ生成部３０１、駆動波形位相決定部３０３、ＯＰＥＮ駆動用カウント部３０４、定常位相差設定部３０５、駆動用位相差設定部３０６については、第１実施形態の構成と同様のため、説明を省略する。
【００９０】
Ｂｐｏｓ生成部３０２は、ＣＰＵ１１１から予めＢｐｏｓＭａｘ値設定部３１２を通じて設定されている上限値を最大値（ＢｐｏｓＭａｘ値）とする位置信号に、Ａｐｏｓの値を変換したＢｐｏｓを生成する。ＢｐｏｓＭａｘ値設定部３１２を通じて設定されるＢｐｏｓＭａｘ値は、モータがちょうど１回転したときにＡｐｏｓ生成部３０１にて検出される位置カウントに相当する値として設定される。
【００９１】
図２２（Ａ）はＡｐｏｓを示し、図２２（Ｂ）はＢｐｏｓを示す。図２２に示す各グラフの横軸はロータの回転量を表す。Ａｐｏｓの値はロータの回転量に比例したカウント値である。またＢｐｏｓの値は、ゼロと上限値（最大値）との間で回転量に対して周期的に変化する鋸歯状波の信号値である。
【００９２】
Ｂｐｏｓ生成部３０２によりＢｐｏｓが生成されると、図２１のＣｐｏｓ生成部３０８に処理が引き継がれる。Ｃｐｏｓ生成部３０８は、ＣＰＵ１１１が予め変換比率設定部３０９を通じて設定した変換比率をＢｐｏｓの結果値に乗算し、演算結果の値をＣｐｏｓとして保持する。ここで設定される変換比率は、ロータ１回転分の検出位置カウント値を、ロータ１回転分の駆動波形カウント値に換算する比率であり、乗算数と右ビットシフト演算で実現される。右ビットシフト演算のシフト数は、駆動に必要なカウント変換精度に基づいて決定される。図２２（Ｃ）にＣｐｏｓの例を示す。Ｃｐｏｓの値は、ゼロと上限値との間で回転量に対して周期的に変化する鋸歯状波の信号値である。つまり、図２２（Ｂ）に示されるＢｐｏｓの値は、図２２（Ｃ）に示すように、モータ１回転に相当する駆動波形のカウント数に相当する値をＭａｘ値とする位置情報に変換される。Ｃｐｏｓ生成部３０８がＣｐｏｓを生成すると、続いてＤｐｏｓ生成部３１０に処理が引き渡される。
【００９３】
図２１のＤｐｏｓ生成部３１０は、Ｃｐｏｓの値がモータ１回転分の駆動カウント量でオーバーフローとなっている箇所や、アンダーフローとなっている箇所を積算して、回転位置の積算量を算出する。算出により生成され位置情報をＤｐｏｓと表記する。図２２（Ｄ）はＤｐｏｓの例を示す。Ｅｐｏｓ生成部３１１は、Ｄｐｏｓに対して任意のオフセット値を持ったデータ（Ｅｐｏｓと記す）を生成する。ＥｐｏｓはＣＰＵ１１１が任意のタイミングで任意値に書き換え可能である。書き換えのタイミングで書き換え値とＤｐｏｓとの差分量がオフセット値としてメモリに記録される。図２２（Ｅ）にＥｐｏｓの例を示す。図２２（Ｄ）および（Ｅ）に示すように、Ｅｐｏｓ生成部３１１はＤｐｏｓの値に対し、記録されたオフセット値が常に付与された形のＥｐｏｓを生成する。
【００９４】
位置ＥＮＣ回路１０９は、Ａｐｏｓ生成部３０１〜Ｅｐｏｓ生成部３１１によって、それぞれ信号生成処理を行う。ここで、ＢｐｏｓからＥｐｏｓまでの処理を行わない比較例において発生する事象について、図２３を用いて説明する。図２３に示す各グラフの横軸はロータの回転位相を表す。
【００９５】
図２３（Ａ）および（Ｂ）は２つの位置検出信号を表し、モータ１回転分の３周期に相当する回転位相を示す。本例では検出信号の正弦波１周期で４０９６分解能の位置カウント検出が可能であるとする。図２３（Ｃ）は検出位置カウントを示す。位置検出信号の１周期ごとに、位置５０１で４０９６カウント、位置５０２で８１９２カウント、位置５０３で１２２８８カウント、となる。図２３（Ｅ），（Ｆ），（Ｇ）はそれぞれ、モータ１回転時にモータに対して出力すべき駆動波形のカウント値、Ａ相に対する駆動波形、Ｂ相に対する駆動波形を示す。本例にて駆動波形の位相カウント値は、出力正弦波の１周期に対して１０２４の分解能とする。位置検出信号がちょうど３周期出力されたときに、駆動波形はちょうど５周期出力されなければならない。
【００９６】
算出される位置カウント値と出力される駆動波形カウント値とを同期させるため、まず小数点以下を切り捨てる方式を考える。モータ１回転に相当する検出位置カウント１２２８８を５で割った２４５７．６の整数部分のみを取って同期させるものとする。この場合、図２３（Ｃ）にて本来はモータの回転に応じて、点５０４、点５０５、点５０６、点５０７で示す位置、つまり検出位置カウントとしては小数点がなければ検出できない位置ごとに駆動波形が１周期ずつ出力されなければならない。図２３（Ｄ）に示すように２４５７を最大値とするグラフ５１３で示すカウント値が検出位置カウントから生成され、１０２３／２４５７に相当する値を乗算する処理を行うことでグラフ５１４に示すカウント値が生成される。この場合、点５０８から５１２で示す位置（駆動波形が１周期出力される位置）と、理想とされる図２３（Ｃ）に示す点５０４から５０７、５０３の位置とにズレが生じる。例えばロータが１回転したときに０．６×５＝３カウントのズレを生じたとすると、回転に応じてズレ量が蓄積されていく。１００回転したときにはカウントズレは３００カウントにもなり、検出位置と駆動波形との同期という目的を達せられない事態となる。
【００９７】
検出位置の小数点以下の端数を切り捨てた場合の事象を説明したが、図２３（Ａ）のＡｐｏｓに対して、精度のよい乗算器、除算器を用いることにより、複雑な処理を行うことなく同期精度を保つ方法もある。しかしＡｐｏｓのビット数が実用上大きく、ビット数の大きい値に対して１ビットの精度まで求めた比率計算を行って同期処理を行うと別の事象が発生し得る。つまり、回路規模の増加、計算処理時間の増加による他ブロックとの同期性の低下といった事象がある。そこで位置ＥＮＣ回路１０９を本実施例の構成（図２１）とし、ＢｐｏｓからＥｐｏｓの生成処理を行うことで、処理時間の短縮と検出位置精度、同期精度の保持を実現可能である。
【００９８】
図２１のＥｐｏｓ生成部３１１により生成されるＥｐｏｓの情報は、駆動波形位相決定部３０３に入力される。駆動波形位相決定部３０３は、最終的にＡ相用コイル１１４、Ｂ相用コイル１１５に印加する駆動波形の位相カウント情報を決定する。駆動波形位相決定部３０３は、図１のＰＷＭ発生器１１２に対し、位相カウントに相当するＰＷＭ値を出力する。駆動波形位相決定部３０３は、ＯＰＥＮ駆動用カウント部３０４の指令により、位相カウント情報を出力するＯＰＥＮ駆動と、Ｅｐｏｓの値に基づいて位相カウント情報を出力する位置連動駆動とを切り替えることができる。ＯＰＥＮ駆動と位置連動駆動は、ＣＰＵ１１１が駆動波形位相決定部３０３に対して設定を行うことで切り替えられる。
【００９９】
ＯＰＥＮ駆動を行う場合、ＣＰＵ１１１はＯＰＥＮ駆動用カウント部３０４に駆動波形の周波数を指令し、駆動波形位相決定部３０３に駆動波形の振幅ゲインを設定する。これにより、駆動波形位相決定部３０３は所望周波数、所望振幅の駆動波形を出力する。一方、位置連動駆動を行う場合、Ｅｐｏｓの下位１０ビット値に対して駆動波形位相決定部３０３は所定のオフセット値を付与した値を算出する。所定のオフセット値は以下の通りである。
・ＣＰＵ１１１が定常位相差設定部３０５を通じて設定した第１のオフセット値（ＳＴＣ＿ＯＦＳ値）
・ＣＰＵ１１１が駆動用位相差設定部３０６を通じて設定した第２のオフセット値（ＰＨＳ＿ＯＦＳ値）。
【０１００】
これらのオフセットを付与した値が算出されて駆動波形位相のカウント値が取得される。このカウント値に相当する位相の出力値が駆動波形の出力値として選択される。この関係を図２２（Ｆ），（Ｇ）の各グラフで示す。図２２（Ｆ）はＥｐｏｓの下位１０ビット値と回転量との関係を示す。図２２（Ｇ）はオフセットを付与した後の駆動波形を示す。Ｅｐｏｓに対してＳＴＣ＿ＯＦＳ、ＰＨＳ＿ＯＦＳの両方が加算されてオフセット値が付与される。後述するように、ＳＴＣ＿ＯＦＳはロータの検出位置カウントと駆動波形カウントの安定位置を管理する役割をもつ。ＰＨＳ＿ＯＦＳはトルク発生のための位相差管理とは別の役割が割り当てられている。
【０１０１】
駆動波形生成回路１１０は、駆動波形位相決定部３０３、ＯＰＥＮ駆動用カウント部３０４、定常位相差設定部３０５、駆動用位相差設定部３０６によって駆動波形の位相を決定し、駆動波形に対応するＰＷＭ指令値をＰＷＭ発生器１１２へ出力する。ＰＷＭ発生器１１２は駆動波形生成回路１１０から出力されるＰＷＭ指令値に応じてＰＷＭ信号をモータドライバ１１３に出力する。
【０１０２】
［第５実施形態］
本実施形態では、反転時は第２の駆動モードを用いて反転動し、定常回転時には状況に応じて第１の駆動モード、第２の駆動モードを選択的に使用する実施形態について説明をする。なお、本実施形態にて第１実施形態〜第４実施形態と同様の事項については説明を省略し、主に相違点を説明する。
【０１０３】
本実施形態においてはモータ駆動装置が撮像装置のフォーカスレンズ機構に連結され、モータの回転駆動に応じてフォーカスレンズが前後に移動する構成を前提とする。この時、フォーカスレンズによって集光される外部からの光が画像センサに結像することができ、また結像された像を電気的に検出することができるものとする。また結像された画像に対して画像処理を行い、画像のコントラスト情報から画像のピントがどれだけ合っているかのオートフォーカス評価値（以後ＡＦ評価値）を得ることができるものとする。
【０１０４】
図２４は撮像装置において、ＡＦ評価値とレンズの移動を用いて適切なピント状態にフォーカスレンズを移動させる際の動きを模式的に示した図である。
図２４の上部のグラフは横軸をレンズ位置、縦軸をＡＦ評価値とする。ＡＦ評価値曲線２４０１は、撮像装置が撮影中にフォーカスレンズを動かしてＡＦ評価値がどのように変化するかを示したものである。ＡＦ評価値曲線２４０１は、ＡＦピーク値２４０２で評価値のピーク値をとり、この時のレンズ位置はレンズ位置２４０３とする。
【０１０５】
本実施形態では、レンズの初期位置をレンズ位置２４０４とし、その後ＡＦピーク値となるレンズ位置２４０３を特定して、その位置にレンズを持っていく処理を説明する。
レンズ位置２４０４にレンズがあるときに、オートフォーカス動作の指令が来ると、ＡＦ開始位置２４０５へと移動する。この時、移動中にＡＦ評価値を取得しないので高速駆動が可能な第２の駆動モードで動作し、その移動を表すのが矢印２４０６である。ＡＦ開始位置２４０５に到達すると反転動作に入る。この反転動作を表すのが矢印２４０７であり、この時、第２の駆動モードのままで駆動用位相差（ＰＨＳ＿ＯＦＳ）の操作を行うだけで反転動作を行う。反転後矢印２４０８で表す粗スキャン動作に入る。この動作では、第２の駆動モードのまま高速で移動しながら、白抜きの丸で表される位置でＡＦ評価値を取得していく。この動作は、高速にレンズを動かしながらＡＦ評価値の山がどこにあるのかを粗見する動作にあたる。この動作の中でレンズ位置２４０２の周辺にＡＦ評価値の山があることを特定し、次に示す詳細スキャン動作に移っていく。
【０１０６】
粗スキャン時に特定した詳細スキャンの対象となるレンズ位置領域を踏まえ、そのスキャン開始位置までまず高速駆動する。そのために矢印２４０９で表される反転動作を行い、その後、高速で詳細スキャンの開始位置まで移動する矢印２４１０で表される移動を実施する。これらの反転、移動は両者共に第２の駆動モードで行われる。
【０１０７】
詳細スキャンの開始位置まで到達すると、矢印２４１１で表される反転動作に入る。この反転動作は第２の駆動モードで行われるが、その後の詳細スキャン動作時の移動は第１の動作モードに移行する。詳細スキャン動作を表す矢印２４１２での動きでは、ＡＦ評価値を細かく検出するためレンズの速度が低速になる必要がある。低速移動時は第１のモードで実施した方が比較的速度が安定するため、第１の駆動モードでの駆動を実施する。
【０１０８】
矢印２４１２で表される詳細スキャン動作を行い、ＡＦ評価値の変化を解析することでレンズ位置２４０３においてＡＦピーク値２４０２となることが特定できるものとする。この特定がなされたことで、レンズは最終停止位置としてレンズ位置２４０３に移動すべきことが確定される。
【０１０９】
最終停止位置が確定したことで、矢印２４１３で表される反転動作に入る。この反転動作は、再び第２の駆動モードで実施される。これは第１の駆動モードであれば、反転前に一度完全に停止し、機械的な振動動作が収まる静定時間を設けることが必要になるためである。
反転が完了されると、矢印２４１４で表される最終位置移動を行う。この移動は再度第１の駆動モードによって実施され、レンズ位置２４０３に到達すると停止する。
【０１１０】
本実施例により、第１の駆動モードを使用したい動作と、第２の駆動モードを使用したい動作を連続で実施すべき場合に、反転、駆動モードの切り替え時に、停止して機械振動が収まる静定時間を設けることなく、高速に全動作を実施することができる。
【０１１１】
［変形例］
第３、４実施形態では、ｔ３タイミングにおいて駆動用位相差（ＰＨＳ＿ＯＦＳ）を２５６から−２５６に一気に変化させた例について説明した。しかしながら、ＰＨＳ＿ＯＦＳを急峻に変化させると、トルク変化も急峻になり、モータおよびモータに接続されたメカ等の挙動が不安定になり、振動、騒音が発生する可能性がある。このような振動、騒音を抑制するために、検出回転位相と駆動波形との位相差であるＰＨＳ＿ＯＦＳを２５６から−２５６に段階的に変化させて切り替えるなどの処理を行ってもよい。変更前の位相差から変更後の位相差への変更にかける時間（変化時間）の設定には、駆動用位相差の変化時間の設定部３０７を用いることができる。
【０１１２】
設定部３０７は、位相差の変化開始指令を出す時（反転制御開始時）に検出された回転速度に応じて変化時間を決定し、決定した変化時間を変化時間として設定するようにしてもよい。また、設定部３０７は、位相差変更前の回転速度に対応した、適切な位相差の変化時間を予め実験的に特定してプロファイルを作成し、当該プロファイルを保持した上で、そのプロファイル情報に基づいて適切な変化時間を決定してもよい。また、変化時間の設定部３０７は、位相差の変化開始指令を出す時に使用されている位相差に応じて変化時間を決定するようにしてもよい。また、変化時間の設定部３０７は、位相差変化開始時に使用している位相差に対応した、適切な変化時間を予め実験的に特定してプロファイルを作成し、当該プロファイルを保持した上で、そのプロファイル情報に基づいて適切な変化時間を決定してもよい。
【０１１３】
また、モータ駆動装置がモータの駆動方向を固定する機能を有する場合は、ステップＳ１６１１またはＳ１６１５の反転開始位置に到達したかを判定するタイミングに合わせて、この方向固定機能を一時停止させ、反対方向への駆動速度が所定の速度に達した時点で再度この方向固定機能を開始する。方向固定機能では回転位置が検出される毎に前回の回転位置と今回設定されている回転位置とを比較して、現在設定されている回転方向を取得する。そして、現在設定されている回転方向が、指示されている回転方向と一致しない場合は、前回の回転位置を今回の回転位置として、駆動波形の生成に用いる。これにより、モータの回転方向を指示されている方向に固定することができる。
【０１１４】
前記実施形態の位置検出器ではホール素子と回転磁石を用いた構成を説明したが、回転位置の検出が十分に高精度に行える構成であれば他のセンサ機構を用いても実施可能である。また前記実施形態では１０極の一般的なクローポール型ステッピングモータを説明したが、ロータ側が永久磁石であって、ステータ側がコイル・ステータである他のモータにも本発明を適用可能である。
【０１１５】
以上の実施例の構成、処理を実施することにより、駆動波形が連続性を有し、且つ、回転位置検出機構からの検出回転位置を元にモータに対して効率的な駆動波形を生成する処理上で反応遅れの少ない駆動波形生成が可能なモータ駆動装置を実現することができる。また、ロータの回転停止を待たずに反転動作を行うため、反転動作の際にも停止区間を設けることなく滑らかに反転動作を行うことができる。
【０１１６】
前記実施形態のモータ駆動装置は、撮像装置や光学ディスク装置、プリンタやプロジェクタ等の各種機器に適用可能である。例えば撮像装置に適用する場合、ズームレンズ、フォーカスレンズ、光学絞り、シャッタ、などの各種光学素子の駆動に用いることができる。
【符号の説明】
【０１１７】
１０１  ステッピングモータ
１０２  ロータ軸
１０９  位置ＥＮＣ回路
１１０  駆動波形生成回路
１１１  ＣＰＵ
１１２  ＰＷＭ発生器
１１３  モータドライバ
１１４，１１５  コイル
１１６〜１１９  ステータ
【図１】
2020096506.tif 000003
【図２】
2020096506.tif 000004
【図３】
2020096506.tif 000005
【図４】
2020096506.tif 000006
【図５】
2020096506.tif 000007
【図６】
2020096506.tif 000008
【図７】
2020096506.tif 000009
【図８】
2020096506.tif 000010
【図９】
2020096506.tif 000011
【図１０】
2020096506.tif 000012
【図１１】
2020096506.tif 000013
【図１２】
2020096506.tif 000014
【図１３】
2020096506.tif 000015
【図１４】
2020096506.tif 000016
【図１５】
2020096506.tif 000017
【図１６】
2020096506.tif 000018
【図１７】
2020096506.tif 000019
【図１８】
2020096506.tif 000020
【図１９】
2020096506.tif 000021
【図２０】
2020096506.tif 000022
【図２１】
2020096506.tif 000023
【図２２】
2020096506.tif 000024
【図２３】
2020096506.tif 000025
【図２４】
2020096506.tif 000026