(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-04-05
(45)【発行日】2024-04-15
(54)【発明の名称】モータ駆動装置およびその制御方法
(51)【国際特許分類】
H02P 6/30 20160101AFI20240408BHJP
H02P 6/21 20160101ALI20240408BHJP
H02P 6/16 20160101ALI20240408BHJP
【FI】
H02P6/30
H02P6/21
H02P6/16
(21)【出願番号】P 2019116463
(22)【出願日】2019-06-24
【審査請求日】2022-06-10
(31)【優先権主張番号】P 2018150571
(32)【優先日】2018-08-09
(33)【優先権主張国・地域又は機関】JP
(31)【優先権主張番号】P 2018224124
(32)【優先日】2018-11-29
(33)【優先権主張国・地域又は機関】JP
(73)【特許権者】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(74)【代理人】
【識別番号】100114775
【氏名又は名称】高岡 亮一
(74)【代理人】
【識別番号】100121511
【氏名又は名称】小田 直
(74)【代理人】
【識別番号】100208580
【氏名又は名称】三好 玲奈
(72)【発明者】
【氏名】水尾 佳弘
【審査官】若林 治男
(56)【参考文献】
【文献】特開2015-023695(JP,A)
【文献】特開2011-103757(JP,A)
【文献】特開2015-022136(JP,A)
【文献】特開2014-045646(JP,A)
【文献】特開2013-165563(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H02P 6/30
H02P 6/21
H02P 6/16
(57)【特許請求の範囲】
【請求項1】
ロータの回転駆動を行うモータ駆動装置であって、
前記ロータの回転位置を検出する検出手段の出力を取得して駆動波形を生成する生成手段と、
前記検出手段の出力を用いることなく前記生成手段が生成する駆動波形にしたがって前記ロータを回転させる第1の駆動モードと、前記検出手段の出力を用いて、設定される位相差から前記生成手段が生成する駆動波形にしたがって前記ロータを回転させる第2の駆動モードとを切り替える制御を行う制御手段と、を備え、
前記生成手段は、前記回転位置の位相と前記駆動波形の位相とが同期した状態で、前記回転位置と前記駆動波形との間に位相差を設定する設定手段と、前記検出手段の出力を取得して前記ロータの回転量に対応するカウント値を算出して前記駆動波形の位相を決定する決定手段と、を有し、
前記設定手段は、
前記第2の駆動モードに変更されたときの位相差として、前記第1の駆動モードにおける前記ロータの回転位置に対応する位相と前記駆動波形の位相との位相差を前記決定手段に対して設定する第1の設定手段と、
前記決定手段に対して駆動用の目標位相差を設定する第2の設定手段と、
前記第1の設定手段により設定される位相差から前記第2の設定手段により設定される前記目標位相差に変化するまでの変化時間を設定する第3の設定手段と、を備え、
前記制御手段は、前記ロータを前記第1の駆動モードで第1の回転方向に回転させる制御を行っている間に、前記ロータを第2の回転方向に反転させる指示が入力された場合、前記ロータを前記第1の回転方向に回転させながら前記第2の駆動モードに変更するとともに前記第2の回転方向のトルクを発生させる前記位相差を前記設定手段に設定させ、前記ロータの反転が終了した後に再び前記第1の駆動モードに変更する制御を行い、
前記第3の設定手段は、前記制御手段により前記ロータの回転を反転させる制御が行われる場合、前記ロータの反転前の回転速度もしくは前記ロータの回転を反転させる制御が開始される時に検出される回転速度に対応する前記変化時間、または前記ロータの反転前の回転速度と反転後の目標回転速度との差分に対応する前記変化時間を設定し、
前記制御手段は、前記目標位相差への変化に係る位相差漸増減の機能をオンに設定した場合、前記ロータを前記第1の回転方向から前記第2の回転方向に反転させる際、前記第3の設定手段により設定された前記変化時間をかけて前記目標位相差まで位相差を変化させる制御を行う
ことを特徴とするモータ駆動装置。
【請求項2】
ロータの回転駆動を行うモータ駆動装置であって、
前記ロータの回転位置を検出する検出手段の出力を取得して駆動波形を生成する生成手段と、
前記検出手段の出力を用いることなく前記生成手段が生成する駆動波形にしたがって前記ロータを回転させる第1の駆動モードと、前記検出手段の出力を用いて、設定される位相差から前記生成手段が生成する駆動波形にしたがって前記ロータを回転させる第2の駆動モードとを切り替える制御を行う制御手段と、を備え、
前記生成手段は、前記回転位置の位相と前記駆動波形の位相とが同期した状態で、前記回転位置と前記駆動波形との間に位相差を設定する設定手段と、前記検出手段の出力を取得して前記ロータの回転量に対応するカウント値を算出して前記駆動波形の位相を決定する決定手段と、を有し、
前記設定手段は、
前記第2の駆動モードに変更されたときの位相差として、前記第1の駆動モードにおける前記ロータの回転位置に対応する位相と前記駆動波形の位相との位相差を前記決定手段に対して設定する第1の設定手段と、
前記決定手段に対して駆動用の目標位相差を設定する第2の設定手段と、
前記第1の設定手段により設定される位相差から前記第2の設定手段により設定される前記目標位相差に変化するまでの変化時間を設定する第3の設定手段と、を備え、
前記制御手段は、前記ロータを前記第1の駆動モードで第1の回転方向に回転させる制御を行っている間に、前記ロータを第2の回転方向に反転させる指示が入力された場合、前記ロータを前記第1の回転方向に回転させながら前記第2の駆動モードに変更するとともに前記第2の回転方向のトルクを発生させる前記位相差を前記設定手段に設定させ、前記ロータの反転が終了した後に再び前記第1の駆動モードに変更する制御を行い、
前記第3の設定手段は、前記制御手段により前記ロータの回転を反転させる制御が開始される時に使用されている位相差に応じて前記変化時間を設定するか、または位相差の変化開始時に使用されている位相差に対応する前記変化時間を決定するためのプロファイル情報にしたがって前記変化時間を設定
し、
前記制御手段は、前記目標位相差への変化に係る位相差漸増減の機能をオンに設定した場合、前記ロータを前記第1の回転方向から前記第2の回転方向に反転させる際、前記第3の設定手段により設定された前記変化時間をかけて前記目標位相差まで位相差を変化させる制御を行う
ことを特徴とす
るモータ駆動装置。
【請求項3】
前記制御手段は、前記ロータの回転を反転させる制御にて、前記検出手段によって検出される前記ロータの回転位置の変化から算出される速度の向きが反転し、かつ当該速度が予め設定された速度に到達したときに前記第1の駆動モードに変更する制御を行う
ことを特徴とする請求項1
または請求項2に記載のモータ駆動装置。
【請求項4】
前記第3の設定手段は
、位相差変更前の回転速度に対応する前記変化時間を決定するためのプロファイル情報にしたがって前記変化時間を設定する
ことを特徴とする請求項
1に記載のモータ駆動装置。
【請求項5】
前記位相差と前記ロータの回転速度との関係を表すデータを記憶する記憶手段を備え、
前記第2の設定手段は、前記記憶手段に記憶された前記データを用いて前記目標位相差を設定する
ことを特徴とする請求項1から
4のいずれか1項に記載のモータ駆動装置。
【請求項6】
前記制御手段は、前記第1の駆動モードにて前記ロータを定速で駆動する制御を行い、前記第2の駆動モードにて前記ロータを減速させ、前記ロータを反転させてから加速する制御を行い、前記第2の駆動モードから前記第1の駆動モードに変更して再び前記ロータを定速で駆動する制御を行う
ことを特徴とする請求項1から
5のいずれか1項に記載のモータ駆動装置。
【請求項7】
前記制御手段は、
前記ロータを前記第1の駆動モードで前記第1の回転方向に回転させる制御を行ってから、前記ロータを前記第2の回転方向に反転させる際、前記第2の駆動モードに変更するとともに前記第2の回転方向のトルクを発生させる前記位相差を前記設定手段に設定させ、前記ロータを反転が終了した後に再び前記第1の駆動モードに変更する第1の制御と、
前記ロータを前記第2の駆動モードで前記第1の回転方向に回転させている状態で前記第2の
回転方向へ回転トルクを発生させる位相差を前記設定手段に設定させ、前記ロータを前記第2の駆動モードのまま前記第2の
回転方向へ回転させる第2の制御と、を実行する
ことを特徴とする請求項1
または請求項2に記載のモータ駆動装置。
【請求項8】
ロータの回転駆動を行うモータ駆動装置にて実行される制御方法であって、
前記ロータの回転位置を検出する検出手段の出力を取得して駆動波形を生成する生成工程と、
前記検出手段の出力を用いることなく前記生成工程で生成される駆動波形にしたがって前記ロータを回転させる第1の駆動モードと、前記検出手段の出力を用いて、設定される位相差から前記生成工程で生成される駆動波形にしたがって前記ロータを回転させる第2の駆動モードとを切り替える制御を制御手段が行う制御工程と、を有し、
前記生成工程では、前記回転位置の位相と前記駆動波形の位相とが同期した状態で、前記回転位置と前記駆動波形との間に位相差を設定手段が設定する処理と、前記検出手段の出力を取得して前記ロータの回転量に対応するカウント値を算出して前記駆動波形の位相を決定手段が決定する処理が行われ、
前記設定手段が行う処理は、
前記第2の駆動モードに変更されたときの位相差として、前記第1の駆動モードにおける前記ロータの回転位置に対応する位相と前記駆動波形の位相との位相差を前記決定手段に対して設定する第1の設定処理と、
前記決定手段に対して駆動用の目標位相差を設定する第2の設定処理と、
前記第1の設定処理により設定される位相差から前記第2の設定処理により設定される前記目標位相差に変化するまでの変化時間を設定する第3の設定処理と、を有し、
前記第3の設定処理では、
前記制御手段により前記ロータの回転を反転させる制御が行われる場合、前記ロータの反転前の回転速度もしくは前記ロータの回転を反転させる制御が開始される時に検出される回転速度に対応する前記変化時間、または前記ロータの反転前の回転速度と反転後の目標回転速度との差分に対応する前記変化時間が設定され、
前記制御工程では、
前記ロータを前記第1の駆動モードで第1の回転方向に回転させる制御が行われている間に前記ロータを第2の回転方向に反転させる指示が入力された場合、前記ロータを前記第1の回転方向に回転させながら前記第2の駆動モードに変更するとともに前記ロータの回転方向を前記第2の回転方向に反転させるトルクを発生させる前記位相差の設定により生成される駆動波形にしたがって前記ロータが駆動され、前記ロータの反転が終了した後に再び前記第1の駆動モードに変更する制御が行われ、
前記制御手段が、前記目標位相差への変化に係る位相差漸増減の機能をオンに設定した場合、前記ロータを前記第1の回転方向から前記第2の回転方向に反転させる際、前記第3の設定処理により設定された前記変化時間をかけて前記目標位相差まで位相差を変化させる制御が行われる
ことを特徴とするモータ駆動装置の制御方法。
【請求項9】
ロータの回転駆動を行うモータ駆動装置にて実行される制御方法であって、
前記ロータの回転位置を検出する検出手段の出力を取得して駆動波形を生成する生成工程と、
前記検出手段の出力を用いることなく前記生成工程で生成される駆動波形にしたがって前記ロータを回転させる第1の駆動モードと、前記検出手段の出力を用いて、設定される位相差から前記生成工程で生成される駆動波形にしたがって前記ロータを回転させる第2の駆動モードとを切り替える制御を制御手段が行う制御工程と、を有し、
前記生成工程では、前記回転位置の位相と前記駆動波形の位相とが同期した状態で、前記回転位置と前記駆動波形との間に位相差を設定手段が設定する処理と、前記検出手段の出力を取得して前記ロータの回転量に対応するカウント値を算出して前記駆動波形の位相を決定手段が決定する処理が行われ、
前記設定手段が行う処理は、
前記第2の駆動モードに変更されたときの位相差として、前記第1の駆動モードにおける前記ロータの回転位置に対応する位相と前記駆動波形の位相との位相差を前記決定手段に対して設定する第1の設定処理と、
前記決定手段に対して駆動用の目標位相差を設定する第2の設定処理と、
前記第1の設定処理により設定される位相差から前記第2の設定処理により設定される前記目標位相差に変化するまでの変化時間を設定する第3の設定処理と、を有し、
前記第3の設定処理では、
前記制御手段により前記ロータの回転を反転させる制御が開始される時に使用されている位相差に応じて前記変化時間が設定されるか、または位相差の変化開始時に使用されている位相差に対応する前記変化時間を決定するためのプロファイル情報にしたがって前記変化時間が設定され、
前記制御工程では、
前記ロータを前記第1の駆動モードで第1の回転方向に回転させる制御が行われている間に前記ロータを第2の回転方向に反転させる指示が入力された場合、前記ロータを前記第1の回転方向に回転させながら前記第2の駆動モードに変更するとともに前記ロータの回転方向を前記第2の回転方向に反転させるトルクを発生させる前記位相差の設定により生成される駆動波形にしたがって前記ロータが駆動され、前記ロータの反転が終了した後に再び前記第1の駆動モードに変更する制御が行われ、
前記制御手段が、前記目標位相差への変化に係る位相差漸増減の機能をオンに設定した場合、前記ロータを前記第1の回転方向から前記第2の回転方向に反転させる際、前記第3の設定処理により設定された前記変化時間をかけて前記目標位相差まで位相差を変化させる制御が行われる
ことを特徴とするモータ駆動装置の制御方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ロータの回転検出位置に応じて効率的な駆動波形を生成する技術に関する。
【背景技術】
【0002】
モータの閉ループ制御において、ロータの回転位置検出機構により検出された回転位置に基づいてモータに対する駆動波形を印加することで効率的な制御を実現する技術がある。例えば、ロータの動き出し、停止、反転等のように回転における特徴的な箇所で開ループ制御と閉ループ制御を併用する技術がある。特許文献1には、回転開始時に敢えて開ループ制御を用い、その後に閉ループ制御を用いることで、回転開始時の振動を抑える技術が開示されている。特許文献1に開示のレンズ駆動装置ではレンズの動き始めにおいて開ループ制御でステッピングモータの位置を進める速度を固定の速度パターンに基づいて変更して加速し、速度パターンに対応する速度が所定値に達すると閉ループ制御に移行する。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら従来技術では、開ループ制御で安定な定速回転駆動が行われている時に回転方向を反転させる駆動制御に対して、脱調を抑制した安定な動作や反転時間を短縮する効果は期待できない。
本発明の目的は、開ループ制御でのロータの回転状態から回転方向を反転させて、再び開ループ制御での回転状態へ迅速かつ円滑に移行させる駆動制御が可能なモータ駆動装置を提供することである。
【課題を解決するための手段】
【0005】
本発明の実施形態の装置は、ロータの回転駆動を行うモータ駆動装置であって、前記ロータの回転位置を検出する検出手段の出力を取得して駆動波形を生成する生成手段と、前記検出手段の出力を用いることなく前記生成手段が生成する駆動波形にしたがって前記ロータを回転させる第1の駆動モードと、前記検出手段の出力を用いて、設定される位相差から前記生成手段が生成する駆動波形にしたがって前記ロータを回転させる第2の駆動モードとを切り替える制御を行う制御手段と、を備える。前記生成手段は、前記回転位置の位相と前記駆動波形の位相とが同期した状態で、前記回転位置と前記駆動波形との間に位相差を設定する設定手段と、前記検出手段の出力を取得して前記ロータの回転量に対応するカウント値を算出して前記駆動波形の位相を決定する決定手段と、を有する。前記設定手段は、前記第2の駆動モードに変更されたときの位相差として、前記第1の駆動モードにおける前記ロータの回転位置に対応する位相と前記駆動波形の位相との位相差を前記決定手段に対して設定する第1の設定手段と、前記決定手段に対して駆動用の目標位相差を設定する第2の設定手段と、前記第1の設定手段により設定される位相差から前記第2の設定手段により設定される前記目標位相差に変化するまでの変化時間を設定する第3の設定手段と、を備える。前記制御手段は、前記ロータを前記第1の駆動モードで第1の回転方向に回転させる制御を行っている間に、前記ロータを第2の回転方向に反転させる指示が入力された場合、前記ロータを前記第1の回転方向に回転させながら前記第2の駆動モードに変更するとともに前記第2の回転方向のトルクを発生させる前記位相差を前記設定手段に設定させ、前記ロータの反転が終了した後に再び前記第1の駆動モードに変更する制御を行う。前記第3の設定手段は、前記制御手段により前記ロータの回転を反転させる制御が行われる場合、前記ロータの反転前の回転速度もしくは前記ロータの回転を反転させる制御が開始される時に検出される回転速度に対応する前記変化時間、または前記ロータの反転前の回転速度と反転後の目標回転速度との差分に対応する前記変化時間を設定する。前記制御手段は、前記目標位相差への変化に係る位相差漸増減の機能をオンに設定した場合、前記ロータを前記第1の回転方向から前記第2の回転方向に反転させる際、前記第3の設定手段により設定された前記変化時間をかけて前記目標位相差まで位相差を変化させる制御を行う。
【発明の効果】
【0006】
本発明によれば、開ループ制御でのロータの回転状態から回転方向を反転させて、再び開ループ制御での回転状態へ迅速かつ円滑に移行させる駆動制御が可能なモータ駆動装置を提供することができる。
【図面の簡単な説明】
【0007】
【
図1】本発明の実施形態におけるシステムの概要を示すブロック図である。
【
図2】本実施形態におけるモータと位置センサを示す図である。
【
図3】本実施形態の位置ENC回路と駆動波形生成回路を示すブロック図である。
【
図4】本実施形態の位置ENC回路と駆動波形生成回路の処理を説明する図である。
【
図5】本実施形態の位置センサ信号と検出位置カウントとの関係を示す図である。
【
図6】本実施形態の駆動波形と位相カウントとの関係を示す図である。
【
図7】本発明の第1実施形態の処理を示すフローチャートである。
【
図8】
図7に続く処理を示すフローチャートである。
【
図9】減速トルク発生時のロータ磁石位相と駆動波形位相との関係を示す図である。
【
図10】第1実施形態における反転挙動を説明する図である。
【
図11】本発明の第2実施形態の処理を示すフローチャートである。
【
図13】第2実施形態における反転挙動を説明する図である。
【
図14】位相差とロータ回転速度との関係を示す図である。
【
図15】従来例の挙動と本実施形態の挙動とを比較して示す図である。
【
図16】第3実施形態の処理を説明するフローチャートである。
【
図17】ロータ磁石位相と駆動波形位相とが安定停止関係にある状態を示す図である。
【
図18】ロータ磁石位相と駆動波形位相とが正転トルクを発生する関係にある状態を示す図である。
【
図19】第3実施形態におけるモータの加速時の挙動を示す図である。
【
図20】第3実施形態におけるモータの定常速度時、減速停止時の挙動を示す図である。
【
図21】第4実施形態の位置ENC回路と駆動波形生成回路を示すブロック図である。
【
図22】第4実施形態の位置ENC回路と駆動波形生成回路による処理を説明する図である。
【
図23】比較例におけるモータの挙動を示す図である。
【
図24】フォーカスレンズを移動させる際の動きを模式的に示す図である。
【発明を実施するための形態】
【0008】
以下に、本発明の好ましい実施形態を、添付図面に基づいて詳細に説明する。以下の第1実施形態および第2実施形態では、第1および第2の駆動モードを切り替えるモータの駆動制御例を示す。第1の駆動モードは、ロータの回転位置を検出する位置検出手段の出力を用いることなく生成される駆動波形にしたがってロータを回転させる駆動モードである。第1の駆動モードでは開ループ制御によってOPEN駆動が行われる。また第2の駆動モードは、ロータの位置検出手段の出力を用いて、設定位相差に基づいて生成される駆動波形にしたがってロータを回転させる駆動モードである。第2の駆動モードでは、ロータの回転検出位置の位相と駆動波形の位相とを同期させる閉ループ制御によってCLOSE駆動が行われる。
【0009】
[第1実施形態]
図1は本実施形態における駆動用の電気回路を含むシステムの構成図である。ステッピングモータ(以下、単にモータという)101は、ロータ軸102にENC(エンコード用)磁石103を備える。ENC磁石103は、回転軸を中心とする円周上に発生する磁場が回転位置に応じて正弦波状の磁場を発生するように着磁されている。またモータ101はリセット機構121を備える。リセット機構121は、ロータ軸102の回転に応じて、特定の1箇所において変化する信号を出力する構成となっている。この信号は、モータの回転位置の絶対値の基準を与えるための信号である。リセット機構121としては、具体的には、スクリュー軸でもあるロータ軸102の回転に応じて並進移動する移動体にスリットが形成されている。そのスリットがフォトインタラプタを遮光することで、その出力信号が変化する。
【0010】
Hall素子パッケージ104は、ENC磁石103の磁気検出部であり、複数のホール素子105,106を備える。例えば、ホール素子105,106はそれぞれの位置にて、ENC磁石103の回転による磁場の変化を検出し、検出信号をアンプ107へ出力する。
図2を参照して具体例を説明する。
【0011】
図2(A)はモータ101の外観例を示す斜視図である。モータ101のロータ軸102には、短い円筒状のENC磁石103が設置されている。ENC磁石103の発生する磁場を検知可能な位置に、Hall素子パッケージ104が配置されている。モータ101から配線部材201が外部に引き出されており、配線部材201は後述のモータドライバ113に接続される。
【0012】
図2(B)はENC磁石103とホール素子105,106との位置関係を模式的に示す図である。ENC磁石103は10極の磁石であり、N極とS極の領域がそれぞれ5極であって、36度ごとの領域が着磁されている。ホール素子105,106はENC磁石103の中心位置から見た場合、中心位置から等距離に配置されている。中心位置に対するホール素子105,106の角度、つまり、2つのホール素子が中心位置に対して成す物理的な角度(物理角)が18度となる配置である。2つのホール素子で検出される信号位相としては、90度の位相差となる。
【0013】
図1のアンプ107は、ホール素子105,106からそれぞれ入力される微弱な信号を増幅し、後段のAD変換回路108へ出力する。AD変換回路108はアンプ107から入力されたアナログ電圧信号をデジタル変換して数値化し、変換結果をデジタル数値信号として位置ENC回路109に出力する。
【0014】
位置ENC回路109はAD変換回路108から入力される信号のエンコード処理を行う。位置ENC回路109は、入力された2つの信号のオフセットおよびゲインの調整を行う処理部を備える。位置ENC回路109は、調整後に2つの信号からTAN値(正接値)を生成した後でArcTAN演算(逆正接演算)を行い、回転角度情報を生成する。この回転角度情報を積分することで回転位置情報が生成される。生成された回転位置情報は駆動波形生成回路110に送られる。
【0015】
駆動波形生成回路110はモータ101に対する駆動用波形を生成する。駆動波形生成回路110は、OPEN駆動とCLOSE駆動との切り替えを行う。OPEN駆動は予め設定された周波数で駆動用の位相の異なる正弦波信号を出力する駆動である。CLOSE駆動は位置ENC回路109と連動させた駆動波形を出力する駆動である。OPEN駆動とCLOSE駆動との切り替えはCPU(中央演算処理装置)111の指令にしたがって行われる。
【0016】
CPU111は駆動波形生成回路110に対して、OPEN駆動とCLOSE駆動との切り替えの指令を行い、OPEN駆動時の出力正弦波信号の周波数と振幅ゲイン値を設定する。またCPU111は、位置ENC回路109に対して位置カウント値の初期化設定等を行う。位置ENC回路109および駆動波形生成回路110による処理については、
図4、
図5を用いて後述する。
【0017】
PWM(パルス幅変調)発生器112は駆動波形生成回路110から出力されるPWM指令値に応じて、モータドライバ113に対してPWM信号を出力する。PWM信号については
図6を参照して後述する。
【0018】
モータドライバ113は、PWM発生器112より出力される指令値に応じた増幅を行い、モータ101のA相用コイル114、B相用コイル115に電圧を印加する。モータ101への印加信号はPWM信号に応じた高周波電圧信号となるが、コイルに発生する電流値信号はコイルのL(インダクタンス)成分によりLPF(ローパスフィルタ)がかかった場合と同様になる。このことから、コイルには実効的に、
図6で説明する正弦波信号形状の電圧が印加されるのと同様であるものとする。
【0019】
ステータA+116、ステータA-117はそれぞれ、A相用コイルの両端の発生する磁場を集中して放出する働きをもつ。ステータB+118、ステータB-119はそれぞれ、B相用コイルの両端の発生する磁場を集中して放出する働きをもつ。
図2(C)を参照して、ステータA+およびA-、ステータB+およびB-、ロータ磁石120の配置関係を具体的に説明する。
【0020】
図2(C)においてステータA+116、ステータA-117、ステータB+118、ステータB-119は、互いの物理角が18度ごとの位置関係で配置される。ロータ磁石120の回転方向はCW方向またはCCW方向である。この例では、合計5組のステータ群が配置されている。ロータ磁石120はステータ群の中央に位置し、N極、S極がそれぞれ5極で、合計10極の磁極を持つ。駆動波形の正弦波が1波出力される毎に、ロータ磁石120は物理角で72度回転する。
【0021】
次に位置ENC回路109、駆動波形生成回路110の処理を詳細に説明する。
図3は位置ENC回路109、駆動波形生成回路110の構成を示すブロック図である。Apos生成部301とBpos生成部302が位置ENC回路109に相当する。駆動波形位相決定部303から駆動用位相差変化時間の設定部307までが駆動波形生成回路110に相当する。
【0022】
ホール素子105の出力信号をセンサ信号1と表記し、ホール素子106の出力信号をセンサ信号2と表記する。センサ信号1および2はアンプ107を介してAD変換回路108へ入力され、AD変換された信号をApos生成部301が取得する。Apos生成部301は、ArcTan(逆正接)演算を用いて回転位置を算出する。前処理として、入力された2つの信号のオフセットおよびゲインの調整が行われる。つまり、入力された2つの信号のオフセットおよびゲインを同一にする調整が行われる。この調整はOPEN駆動でモータ101を回転させることによって2つの信号のピーク値とボトム値を検出し、その結果を用いて行われる。調整後に、90度の位相差を持った2つの正弦波状信号で正接値を算出し、逆正接演算を行うと回転角度の信号(Apos)が生成される。この回転角度の値を積分した値を算出することで回転位置情報を生成することができる。センサ信号1および2と回転位置信号との関係について、
図5の例で説明する。
【0023】
図5(A)および(B)は、それぞれ検出された回転位置信号を調整した後の信号を例示する。
図5(A)に示す信号は正弦波状信号であり、
図5(B)に示す信号は余弦波状信号である。
図5(C)は検出位置のカウント値の変化を示す。横軸はロータの回転量を表す。本実施形態では、2つのセンサ信号1とセンサ信号2に関し、正弦波の1波長分の信号が出力されたときに1024カウント分の位置分解能で位置を検出できるものとする。
【0024】
図4(A)はAposを示す。
図4に示す各グラフの横軸はロータの回転量を表す。Aposの値はロータの回転量に比例したカウント値である。
【0025】
図3のBpos生成部302は、Aposに対して任意のオフセット値を有する信号(Bposと記す)を生成する。Bposは、CPU111が任意のタイミングで任意値に書き換え可能であり、書き換えたタイミングで書き換え値とAposとの差分量がオフセット値として記録される。
図4(B)はBposを示す。Bpos生成部302は、Aposの値に、記録されたオフセット値が常に付与された波形のBposを生成する。Bposの値は、ゼロと上限値(最大値)との間で回転量に対して周期的に変化する鋸歯状波の信号値である。
【0026】
続いて、生成されたBposが駆動波形位相決定部(以下、位相決定部という)303に引き渡される。位相決定部303は、最終的にA相用コイル114、B相用コイル115に印加する駆動波形の位相カウント情報を決定し、PWM発生器112に位相カウント情報に相当するPWM値を送る。位相決定部303はOPEN駆動用のカウント部304の指令により、位相カウント情報を出力するOPEN駆動と、Bposの値に基づく位相カウント情報を出力する位置連動駆動とを切り替える。位置連動駆動はCLOSE駆動である。OPEN駆動と位置連動駆動は、CPU111が位相決定部303に対して設定を行うことで切り替えられる。
【0027】
OPEN駆動が行われる場合、CPU111はカウント部304に対して駆動波形の周波数を指令し、位相決定部303に駆動波形の振幅ゲインを設定する。位相決定部303は所望の周波数および振幅の駆動波形を出力する。また位置連動駆動が行われる場合には、Bposの下位10ビット値に対して、CPU111がオフセットを付与した値を算出する。このオフセットは、定常位相差の設定部305を通じて設定されるSTC_OFSと、駆動用位相差の設定部306を通じて設定されるPHS_OFSである。この関係を
図4(C)、(D)の各グラフで示す。
【0028】
図4(C)はBposの下位10ビット値と回転量との関係を示す。
図4(D)はオフセットSTC_OFSおよびPHS_OFSを付与した後の駆動波形を示す。Bposに対してSTC_OFS、PHS_OFSの両方が加算されてオフセット値が付与される。STC_OFSは検出位置カウントと駆動波形カウントの安定位置を管理する役割が割り当てられ、PHS_OFSはトルク発生のための位相差管理の役割が割り当てられている。オフセット付与によって算出された値が駆動波形位相のカウント値となり、このカウント値に相当する位相の出力値が駆動波形の出力値として選択される。
【0029】
CPU111が駆動用位相差(目標位相差)の設定部306に対する設定値を変化させた場合、設定前の位相差から設定後の目標位相差へと瞬時に切り替わるわけではない。駆動波形生成回路110は一定の時間をかけて、設定後の目標位相差へと変化させてシステムに反映させる位相差漸増減の変更機能を有する。この機能のOn/OffについてはCPU111から設定することができる。位相差漸増減の変更機能における位相差の変化時間は、
図3に示す駆動用位相差の変化時間の設定部307によって設定される。この設定部307に対してCPU111が設定する値をPS_TIMEと表記する。PS_TIME値としては変化時間をms(ミリ秒)オーダーで設定できるものとする。PS_TIME値の設定に関しては第2実施形態で詳述する。
【0030】
駆動波形生成回路110は駆動波形の位相を決定し、駆動波形に対応するPWM指令値をPWM発生器112へ出力する。PWM発生器112は駆動波形生成回路110から出力されるPWM指令値に応じてPWM信号をモータドライバ113に出力する。
【0031】
図6を参照して、正弦波位置カウント値と、出力されるPWM値(Duty%値)との関係を説明する。
図6(A)、(B)ともに横軸はテーブル番号を表し、電圧波形の位相に対応しており、
図4(D)に示す駆動波形値と同様の分解能とする。
【0032】
図6(A)では、横軸がプラスカウントされていてA相駆動電圧波形に対してB相駆動電圧波形が90度先行し、モータ101がCW方向に回転する場合を示している。逆に
図6(B)では、横軸がマイナスカウントされていてB相駆動電圧波形に対してA相駆動電圧波形が90度先行し、モータ101がCCW方向に回転する場合を示している。縦軸のDuty%値はCPU111からのゲイン設定値に応じて増減する。本実施形態ではモータ101の回転運動に支障を来すことのない適切なゲイン値が設定されているものとする。
【0033】
図7および
図8は本実施形態における処理の流れを示すフローチャートである。CPU111は所定のプログラムにしたがって以下の制御を行う。まずS601では、位置連動駆動をオフにする設定処理が実行される。つまり、OPEN駆動が働く設定となる。続くS602でCPU111は、リセット機構121が出力しているリセット信号の検出状態を判定する。リセット信号は、ロータ軸102のスクリュー機構に取り付けられた被検知部材の移動に伴い、被検知部材が予め設定された位置を通過するときにHighまたはLowに変化する2値信号である。モータ駆動装置がモータ101にB相先行の駆動波形を印加してCW回転をするときに被検知部材が進行する側が、リセット信号としてHighレベルを出力する側である。モータ駆動装置がモータ101にA相先行の駆動波形を印加してCCW回転をするときに被検知部材が進行する側が、リセット信号としてLowレベルを出力する側である。リセット信号が変化する位置を検出して絶対位置を確定するために、S602の判定処理が行われる。S602にてリセット信号がLowレベルであると判定された場合、S603に進む。S602にてリセット信号がHighレベルであると判定された場合にはS604に進む。
【0034】
S603にてCPU111はB相先行波形の駆動波発生をOPEN駆動用のカウント部304に指令し、モータ101を回転させる制御を行う。またS604にてCPU111はA相先行波形の駆動波発生をカウント部304に指令し、モータ101を回転させる制御を行う。S603またはS604の処理の後、S605の処理に進む。S605でCPU111はリセット信号の状態が変化したかどうかを判定する。CPU111はリセット信号を監視し、リセット信号に変化が起きた場合、S606に進み、リセット信号に変化がない場合には監視を継続してS605の判定処理を繰り返す。
【0035】
S606でCPU111は、駆動波形の進行を停止させる指令をカウント部304に出力する。このときの停止位置は位置カウントの基準位置となる。S607でCPU111は、検出位置の最終的な位置管理を行うBpos用レジスタの初期化を行い、Bposの値としてゼロを書き込む。続くS608でCPU111は、ロータの停止状態で位相決定部303に保持されている駆動波形の位相カウント値から、Bposの下位10ビット値を引いた値をSTC_OFSに書き込む処理を行う。CPU111が定常位相差の設定部305を通じて設定するSTC_OFSの値は、位置連動機能をOnに設定した瞬間に、駆動波形の出力位相がずれないようにするための値である。S608の時点では、OPEN駆動波形の結果、ある駆動波形位相を出力している状態にしたがってロータ磁石120が安定停止している。位置連動駆動がOnに設定された後の駆動波形位相は、Bposの下10ビットの値に基づいて生成される。位置連動駆動がOnとなった直後、Bposの下位10ビットの値にSTC_OFSの値が加算される。加算後の値が駆動波形の位相カウント値として出力されるので、駆動波形の位相カウント値は位置連動駆動のOnとOffの前後で値が変わらないことが保証される。
【0036】
次のS609においてCPU111は、反転駆動時に使用する位置連動機能に関し、反転用の回転トルクを発生させるための設定を行う。具体的にはPHS_OFSに対して、駆動波形位相で-90度に相当する-256という値が設定される。続くS610でCPU111は、OPEN駆動の設定速度と回転方向を設定する。ここではOPEN駆動において脱調が発生しない十分な余裕をもって回転可能な低速度の値が設定され、回転方向が時計回り(CW)方向に設定される。そしてS611にてCPU111がOPEN駆動開始命令を駆動波形生成回路110に出力する。カウント部304によるOPEN駆動動作が開始され、駆動波形位相の進行によりロータ磁石120が回転を始める。
【0037】
次に
図8のS612でCPU111は、ロータの回転検出位置が反転開始位置に到達し、または反転開始位置を超えたかどうかを判定する。反転開始位置については予め設定されているものとする。回転検出位置が反転開始位置に到達するか、または反転開始位置を超えたと判定された場合、S613に進み、回転検出位置が反転開始位置に到達していないと判定された場合にはS612の判定処理が繰り返し実行される。反転開始位置に到達したかの判定は、本実施例のシーケンスの上位層で回転量を監視し、所定距離を進んだ等の判定処理により判定することができる。到達したと判定されると上位層から反転命令が送信され、この反転命令を受信することで反転開始位置に到達したと判定してもよい。また、予め設定された反転開始位置に到達すると反転動作を開始する代わりに、ユーザの操作に基づいて反転命令が送信され、この反転命令を受信することで反転動作を開始してもよい。
【0038】
S613でCPU111は位置連動機能をOnに設定し、反転回転トルクの発生動作の制御を行う。この時にモータ101に発生する現象については
図9、
図10を用いて後述する。
【0039】
S614でCPU111はロータの現在速度を監視し、予め設定されている反転完了速度(以下、v1と記す)以下であるか否かを判定する。ロータの現在速度がv1以下の値(絶対値としては大きな値)であるかどうかが判定され、現在速度がv1より大きい場合、S614の判定処理を継続する。また現在速度がv1以下の値(絶対値としては大きな値)である場合、S615の処理に進む。
【0040】
S615でCPU111は、OPEN駆動へ移行するためのOPEN駆動速度および回転方向の設定を行う。本実施形態では設定速度を反転完了速度v1と同一とし、回転方向を反時計回り(CCW)方向とする設定処理が実行される。
【0041】
S616でCPU111は最終的な目標停止位置を設定し、続くS617において位置連動駆動をOffに設定し、OPEN駆動へと移行させる制御を行う。S618でCPU111はロータ回転位置が目標位置に到達したかどうかを判定する。ロータ回転位置が目標位置に到達していないと判定された場合、S618の判定処理が繰り返される。また、ロータ回転位置が目標位置に到達したと判定された場合にはS619の処理に進む。S619でCPU111は、OPEN駆動の駆動停止命令を発行してモータ101を停止させ、駆動シーケンスを終了する。
【0042】
図9は、減速トルクの発生時におけるロータ磁石と駆動波形の位相関係を示す図である。
図9(A)は、
図2(C)に示されるステータ群の配置を横一列に並べた場合の模式図である。
図9(B)はステータ群に対してモータ101の周方向にどのような電圧印加を行っているかを模式的に示した図である。
図9(C)はその電圧印加によってステータ群が発生させている、周方向の位置に対応した磁場の強さを示す図である。
図9(D)は
図2(C)で示されるロータ磁石120の着磁位相を示す図である。
図9(B)から(D)において横軸は位置を表す。
【0043】
図9はS613の処理が行われた後の状態を示している。ステータ群が発生させている磁場のNS磁極の位相と、ロータ磁石120のNS磁極の位相との関係から、
図9の左側に引っ張られる引力、すなわちCCW方向の回転トルクが発生する状況となっている。同様の働きを
図10において説明する。
【0044】
図10は、モータ101の定速制御から減速制御に移行させて、反転後に加速してから定速制御へ移行させる例を示す。
図10(A)はBposの挙動を示すグラフである。
図10(B)は位置を時間で微分した速度を示すグラフである。v1は反転完了速度を示す。
図10(C)はBposの下位10ビット値を示すグラフである。
図10(D)は駆動波形の位相カウント値の挙動を示すグラフである。
図10(E)、(F)はそれぞれ、駆動波形の位相カウント値に基づいて、ステータA+116に発生する磁場の波形、ステータB+118に発生する磁場の波形を表している。各図の横軸は時間軸であり、時刻t1からt2までの期間は定速期間、時刻t2からt3までの期間は減速期間である。時刻t3からt4までの期間は反転および加速期間であり、時刻t4以降は定速期間である。
【0045】
図10の時刻t1~t2の期間において、ロータはOPEN駆動でCW方向に一定速度で回転している。このとき、
図10(C)と
図10(D)における値を比べると、カウント値で128カウントのズレがあり、これは電気角で45度に相当する。この量は、ロータ磁石120が駆動波形の位相に対してどれだけ遅れているかを表す追従遅れ量に相当する。つまり本実施形態で設定された速度と機構部の負荷に対して、追従遅れ量が45度であることを示している。
図10に示す時刻t2は
図8のS613の処理が実行された時刻であり、この時刻t2から
図10(C)の検出位相に対して電気角で90度に相当する256のカウント値だけ遅れた位相カウント値の駆動波形を出力する処理が実行される。この処理によって、
図9で示したトルク状態が常に維持されて反転トルクがかかり続けることになる。その結果、
図10に示す時刻t2からt3にかけてロータに減速がかかり、回転速度が減少していく。しかし時刻t3で速度が一旦ゼロになった後、そのままCCW方向のトルクが維持されているので、反時計回り(CCW)方向への加速がかかり始める。
【0046】
図8のS614で反転完了と判定されて、S617までの処理が実行される時刻が、
図10に示す時刻t4である。時刻t4以降にはOPEN駆動となる。このとき、
図10(C)と
図10(D)における値を比べると、カウント値で128カウントのズレがあり、これは電気角で45度に相当する。すなわち追従遅れ量が45度である安定した状態でOPEN駆動が行われていることを示している。
【0047】
本実施形態では、開ループ制御で安定な定速回転の駆動中に回転方向を反転させる場合、ロータの回転検出位置に基づいて回転検出位置の位相と駆動波形の位相とを同期させる制御に切り替えて効率的な駆動波形を生成して反転動作を行う。これにより、回転方向の反転後に再び開ループ制御へ迅速かつ円滑に移行させることができる。
【0048】
[第2実施形態]
次に本発明の第2実施形態を説明する。本実施形態では、モータ101と該モータに接続された機構部を含む駆動系において所定の回転速度の周辺において振動要因があり、より滑らかに反転動作を行いたい場合の処理について説明する。モータ101に接続された機構部の一例として、撮像装置への適用例において撮像光学系を構成する可動レンズ(フォーカスレンズ等)を移動させる駆動機構部がある。なお、本実施形態にて第1実施形態と同様の事項については説明を省略し、主に相違点を説明する。
【0049】
図11および
図12のフローチャートを参照して、本実施形態における具体的な処理の流れを説明する。S901~S908の処理については、
図7のS601~S608の処理と同様であるので、それらの説明を割愛する。
S909でCPU111は、OPEN駆動の駆動速度と回転方向を設定する。ここではOPEN駆動において脱調が発生しない十分な余裕をもって回転可能な低速度の値が設定され、回転方向として時計回り(CW)方向が設定される。S910でCPU111はOPEN駆動開始命令を駆動波形生成回路110に出力する。OPEN駆動用のカウント部304によるOPEN駆動動作が開始され、駆動波形位相の進行によりロータ磁石120が回転を始める。
【0050】
続くS911でCPU111は、ロータの回転検出位置が反転開始位置に到達し、または反転開始位置を超えたかどうかを判定する。ロータの回転検出位置が反転開始位置に到達するか、または反転開始位置を超えたと判定された場合、S912に進む。またロータの回転検出位置が反転開始位置に到達していないと判定された場合にはS911の判定処理を継続する。
【0051】
S912でCPU111は進角状態を検出する。ここでの進角状態とは、駆動波形の位相とロータ回転位置の検出位相との関係が、ロータの安定停止状態である位相からどれだけ差異があるかを示す。本実施形態の場合、駆動波形の位相がロータの回転検出位置の位相よりも45度進んだ状態が、進角状態として検知されるものとする。進角状態を表す位相角(進角)が45度である状態は、駆動波形のカウント値がロータの回転検出位置のカウント値に対して128の値で進んでいる状態である。
【0052】
S913でCPU111は、位置連動機能の発動時に現在のOPEN駆動状態と同様の回転トルクを発生させるための設定を行う。具体的には、設定部306はPHS_OFSに駆動波形位相で45度に相当する値128を設定する設定処理を行う。
【0053】
図12のS914でCPU111は位置連動機能をOnに設定し、回転トルクの発生動作の制御を行う。続くS915でCPU111は設定部307により、位相差の変化時間の設定を行い、tcという値をPS_TIMEに書き込む。tcの決定方法については後述する。
【0054】
S916でCPU111は位相差漸増減の変更機能をOnに設定する。S917でCPU111は、反転トルク発生のために使用するPHS_OFSに、駆動波形位相で-45度に相当する-128という値を設定する。この-128という設定値の決定方法については後述する。この設定によって、モータ101には反時計回り(CCW)方向のトルクが発生する。S911~S917の処理に対応する動きについては、
図13、
図14を用いて後述する。
【0055】
S918にてCPU111はロータの現在速度を監視し、予め設定されている反転完了速度以下であるかどうかを判定する。反転完了速度をv1と表記する(
図13(B)参照)。ロータの現在速度がv1より大きい値であると判定された場合、S918の判定処理を継続する。またロータの現在速度がv1以下である値(絶対値としては大きな値)と判定された場合にはS919の処理に進む。
【0056】
S919でCPU111は、OPEN駆動へ移行するためのOPEN駆動速度と回転方向の設定を行う。本実施形態では設定速度を反転完了速度v1と同一とし、回転方向を反時計回り(CCW)方向とする設定処理が行われる。S920でCPU111は最終的な目標停止位置を設定し、続くS921において位置連動駆動をOffに設定し、OPEN駆動へと移行する。
【0057】
S922でCPU111は、ロータ回転位置が目標位置に到達したかどうかを判定する。ロータ回転位置が目標位置に到達していないと判定された場合、S922の判定処理が繰り返される。ロータ回転位置が目標位置に到達したと判定された場合にはS923に進む。S923でCPU111はOPEN駆動の動作停止命令を発行し、モータ101を停止させ、駆動シーケンスを終了する。
【0058】
図13(A)~(F)は、
図10(A)~(F)と同様の量を示す図である。横軸に示す時間軸において、時刻t5からt6までの期間は定速期間、時刻t6からt7までの期間は減速期間である。時刻t7からt8までの期間は反転および加速期間であり、時刻t8以降は定速期間である。
【0059】
図13に示す時刻t5からt6の期間ではOPEN駆動で時計回り(CW)方向に回転駆動が行われており、時刻t6では
図11に示すS912の処理が開始される。時刻t6にて位置連動機能がOnになり、閉ループ制御が発動される。位置連動機能がOnとなった直後にはOPEN駆動時と同じ位相差設定がなされているので、
図13(D)の駆動波形の位相カウント値の挙動は不連続にならない。時刻t6から時間tcをかけて、
図13(D)の駆動波形の位相カウント値から、
図13(C)のBposの下位10ビット値を引いた差分値が、+128カウントから-128カウントへと滑らかに変化する。-128カウントの位相差設定は、ロータに対して反時計回り(CCW)方向のトルクを発生させる設定であるが、この滑らかな変化により制御対象に不要な振動を与えないという効果を奏する。
【0060】
時刻t6から時間tcが経過した後でも、ロータには反時計回り方向のトルクがかかるので、その後にロータが減速されて時刻t7において反転挙動に移る。時刻t6からt7までの期間では反転挙動の滑らかさを優先するために、第1実施形態にて説明した
図10の時刻t2からt3までの期間よりも時間が長くなる。この場合、第1実施形態と本実施形態のどちらの制御を使うべきかについては、適用対象である機構部の特徴と振動要因を考慮して判断する必要がある。ここでは反転用にPHS_OFSに設定した-128という値とtcの値について説明する。
【0061】
図14は横軸に位相差をとり、縦軸にロータの回転速度をとって両者の関係を表したグラフある。PHS_OFSに設定される位相差を度の単位で示す。縦軸の回転速度は、設定された位相差に対して十分な加速時間が与えられた後に、モータ101を適用した駆動系においてモータ101のロータが到達する回転速度を示している。
図14に示す情報は事前に測定して特定されているものとする。縦軸の回転速度にて、プラス側はCW方向の回転速度を示し、マイナス側はCCW方向の回転速度を示す。
図14に示す位相差とロータ回転速度との関係を表すプロファイルデータはあらかじめメモリに記憶されており、設定部306が当該データを参照して駆動用の目標位相差に相当するPHS_OFSの値を設定する。
【0062】
本実施形態では、ロータの回転方向が反転した後の回転速度がv1であるものとする。
図14から分かるように回転速度v1に対応する位相差は-45度である。このため、ロータの反転後に-45度の位相差設定がPHS_OFSに対して行われていれば、回転速度がv1に収束する。つまり反転から回転速度v1でのOPEN駆動へと滑らかに移行させることができる。このような手順で、反転に使用する位相差である-45度、およびカウント設定値である-128が決定される。tc値については、反転前の回転速度、または反転前の回転速度と反転後の目標回転速度との差分に対して、適切な時間情報がプロファイルとして保持されている。あらかじめメモリに記憶されているプロファイルにしたがってtc値が決定される。あるいはtc値については、反転前の進角状態を表す位相角(進角)、または反転前の進角状態を表す位相角と反転後の進角状態を表す位相角との差分に対して、適切な時間情報がプロファイルとして保持されており、そのプロファイルにしたがって決定される。
【0063】
図12のS918で反転完了と判定されて、S921までの処理が実行される時刻が、
図13の時刻t8である。時刻t8以降はOPEN駆動となる。この時、
図13(C)と
図13(D)における値を比べると、カウント値で128カウントのズレがあり、これは電気角で45度に相当する。つまり、追従遅れ量が45度であって安定した状態でOPEN駆動が行われていることを示している。この状態での位相差は減速、反転時に保持していた閉ループ制御時の位相差と同様であるので、時刻t8におけるOPEN駆動への移行が円滑に行われる。
【0064】
本実施形態では、開ループ制御で安定な定速回転の駆動中に回転方向を反転する場合に、モータを含む駆動系において、所定の回転速度の周辺に振動要因がある場合でも、より滑らかな反転挙動を実現できる。したがってロータの回転検出位置に基づいて効率的な駆動波形を生成してロータの反転動作を行い、反転後に再び開ループ制御へ移行させることができる。
【0065】
図15を参照して、従来例のモータ駆動装置の挙動と、本発明の実施形態に係るモータ駆動装置の挙動とを比較して説明する。
図15(A)および(B)の横軸は時間軸であり、縦軸はロータの回転位置を表す。図中の“OPEN”は開ループ制御によるOPEN駆動を示し、“CLOSE”は閉ループ制御によるCLOSE駆動を示している。
【0066】
図15(A)は、従来例におけるロータの反転時における挙動を示す。この場合、開ループ制御での減速後に、機構部が静定状態となるまでの待ち時間を設ける必要がある。
図15(B)は、本発明の実施形態におけるロータの反転時における挙動を示す。開ループ制御にてロータは定速で駆動されている。そして開ループ制御から閉ループ制御へ移行し、閉ループ制御中にロータが減速されて反転し、加速される。静定のための待ち時間を設けることなく、短時間で減速、反転、および加速が可能である。加速後には再び開ループ制御へと移行し、ロータは定速で駆動される。本発明の実施形態によれば、脱調を抑制して安定な反転動作を行うことが可能である。
【0067】
[第3実施形態]
本実施形態では、第2の駆動モードで駆動し、反転時も第2の駆動モードのまま駆動する実施形態について説明をする。反転位置に到達する前から第2の駆動モードで駆動(つまりCLOSE駆動)する点で第1実施形態と異なるが、その他の点は第1実施形態と同様であるため、説明を省略する。
【0068】
図16は、本実施例における処理の流れを示すフローチャートである。CPU111は所定のプログラムにしたがって以下で説明する
図16に示した制御を行う。駆動シーケンスが開始するとステップS1601の処理に進む。ステップS1601~S1608までの処理は、第1実施形態のステップS601~S608の処理と同様であるため、説明を省略する。
【0069】
ステップS1609ではCPU111は位置連動駆動をONに設定する。このとき、オフセットPHS_OFSにはゼロが設定されているものとする。ステップS608で説明した通り、位置連動駆動のON設定の直後には駆動波形の出力位相は変化しない。
【0070】
ステップS1610において連動機能を利用して、CW方向への回転トルク発生動作を行う。具体的にはPHS_OFSに駆動波形位相で90度に相当する値である256が設定される。この時にモータに発生する現象は、
図17~
図19を用いて後述する。
【0071】
ステップS1611では、ステップS612と同様に、CPU111は、ロータの回転検出位置が反転開始位置に到達し、または反転開始位置を超えたかどうかを判定する。ステップS612と同様に、ユーザの操作に基づく反転命令を受信したか否かの判定とすることもできる。ステップS1611で回転検出位置が反転開始位置に到達するか、または反転開始位置を超えたと判定されると、ステップS1612に進む。
【0072】
ステップS1612では、停止命令を受信したか否かを判定し、受信した場合はステップS1613に進み、受信していない場合はステップS1611に戻る。ステップS1612における停止命令とは、上位層による判定で、一定回数の反転動作が終了したことや、その他の要因によって停止が必要とされた場合に上位層により送信される。
【0073】
ステップS1613では減速停止処理を行い、モータを停止させ、一連の駆動シーケンス処理を終了する。減速停止処理の具体的な方法は特に問わないが、例えば、ブレーキとなるトルクがかかる値にPHS_OFSの値を変更し、減速したら、回転トルクが発生しないようにPHS_OFSの値を0に設定する。最後に、位置連動駆動をオフにし、駆動波形の位相を固定することで減速停止処理を行うことができる。
【0074】
一方、ステップS1611で回転検出位置が反転開始位置に到達していないと判定されると、ステップS1614へ進み、連動機能を利用して、逆方向の回転トルクを発生させる動作を行う。具体的には、PHS_OFSに駆動波形位相で-90度に相当する値である-256が設定される。このように、CW方向への回転動作中に反転命令の有無を判定し、反転命令受信の判定を受けてすぐにCCW方向の回転トルクを発生させる。よって、ステップS1610で開始した回転動作から、停止動作を挟まずに反対方向への回転動作へ移行することができる。
【0075】
ステップS1614の処理の後、ステップS1615へ進む。ステップS1615では、ステップS1611と同様に、反転開始位置に到達したかを判定し、到達したと判定された場合、ステップS1616に進み、反転開始位置に到達していないと判定された場合はステップS1610に進む。ステップS1610に進んだ場合、ステップS1611からS1614へ進んだ場合と同様に、停止動作を挟むことなくCCW方向からCW方向への回転動作へと移行する。このように、ステップS1611、ステップS1615においてロータの回転検出位置が反転開始位置に到達するかを判定することで、モータ101は停止動作を挟むことなく速やかな反転動作を行うことが可能となる。これは、本実施形態のモータ駆動装置が、数10kHz~100kHz程度の位置検出精度で回転位置を検出できるため、検出した回転位置に基づいてロータ磁石に対して反転のトルクが発生する位相の駆動波形位相をかけ続けることができるためである。
【0076】
一方、ステップS1615からステップS1616に進んだ場合、ステップS1612と同様に、停止命令を受信しているか否かを判定する。ステップS1616における停止命令とは、ステップS1612における停止命令と同様のものであるとする。ステップS1616において停止命令を受信した場合、ステップS1613に進み、受信していない場合はステップS1615に戻る。
【0077】
図17から
図19を参照して、
図16のS1610の処理について具体的に説明する。
図17は、ステップS1609におけるロータ磁石位相と駆動波形位相との関係を示しており、ステータ群が発生させている磁場のNS磁極位相と、ロータ磁石120のNS磁極位相の関係は、ロータが安定に停止する関係にある。
図17(A)は
図2(C)で示されているステータ群の配置に関し、ステータを横一列に並べた模式図である。
図17(B)はステータ群に対してモータの周方向にどのような電圧印加を行っているかを模式的に示したものである。
図17(C)はその電圧印加によってステータ群が発生させている周方向位置に対応した磁場の強さを示す図である。
図17(D)は
図2(C)で示されるロータ磁石120の着磁位相を示す図である。
【0078】
これに対して、ステップS1610においてPHS_OFSに256が設定されたのちは、ロータ磁石位相と駆動波形位相との関係が、
図18に示す関係に変化する。
図18(A)から(D)はそれぞれ、
図17(A)から(D)に対応している。
図18の状態はステータ群が発生させている磁場が
図17に比べて90度進んだ位置にある。このことにより
図18(D)で示されるように、ロータ磁石120は右側に引っ張られる引力、すなわちCW方向の回転トルクが発生する。
【0079】
図19は、ロータ磁石位相と駆動波形位相とが
図17の状態(安定停止状態)から
図18の状態(CWトルク発生状態)に変化した際の、モータの挙動を説明するグラフであり、
図19(A)~(E)の横軸は時間軸を示す。
図19(A)はBposの時間変化を示し、縦軸はロータの位置を表す。
図19(B)はBposの下位10ビット値の時間変化を示すグラフ、
図19(C)は駆動波形位相カウント値の時間変化を示すグラフである。また
図19(D),(E)はそれぞれ、駆動波形位相カウント値に基づいて、ステータA+116に発生する駆動波形磁場の時間変化と、ステータB+118に発生する駆動波形磁場の時間変化を表している。また、時刻t1は、
図16のステップS1610においてPHS_OFSの値として256が設定されるタイミングを示す。
【0080】
図17、
図18で説明した通り、
図19の時刻t1においてPHS_OFSに256が設定されると、
図19(B)のBposの下位10ビット値と、
図19(C)の駆動波形位相カウント値に256の差分が発生する。このことにより駆動波形の位相がロータの回転位相より90度進み、CW回転方向のトルクが発生する。モータが回転することで検出位置であるBposが進み、そのことにより駆動波形位相カウント値も進む。このループ処理によって、
図18(B)と
図18(C)で示す2つの波形の位相差は常に維持され、回転トルクがかかり続けることになる。その結果、
図19(A)に示すように、ロータの回転に加速がかかり、モータの速度が上昇していく。PHS_OFSに256が設定され、CW回転方向のトルクが発生し始めると、ステップS1611とS1612の判定を周期的に行う。
【0081】
図20は、
図19に示したモータの加速中からその後の挙動を示すグラフであり、
図20(A)~(F)の横軸は時間軸を示す。
図20には、ステップS1610からステップS1611で反転開始位置に到達したと判定されるまでの期間に、CW方向に十分な加速がなされた場合の挙動を示す。
【0082】
図20(A)はBposの時間変化を示すグラフであり、縦軸は位置を示す。
図20(B)はモータの回転速度(回転数)を示すグラフであり、縦軸は回転速度を示す。
図20(C)はBposの下位10ビット値の時間変化を示すグラフ、
図20(D)は駆動波形位相カウント値の時間変化を示すグラフである。また
図20(E),(F)はそれぞれ、駆動波形位相カウント値を元に、ステータA+116に発生する駆動波形磁場の時間変化と、ステータB+118に発生する駆動波形磁場の時間変化を示す。
【0083】
図19の加速シーケンスの後、加速を続け
図20のシーケンスに移っているものとし、
図20の時刻t2まで加速を続け、時刻t2からt3までの期間はモータが定速状態にある。これは、発生トルクが回転数上がるにつれて電圧から電流に変換されるときのコイルの周波数特性遅れによって減衰したり、逆起電力の影響が大きくなったりすることにより、発生トルクと逆起電力とメカ負荷とが、ある回転数でつり合い状態になるためである。
【0084】
時刻t3は、ステップS1611で反転開始位置に到達していないと判定され、ステップS1614に移ったタイミングとする。時刻t3においてPHS_OFSに-256が設定されたのちは、ステータ群の磁場とロータ磁石120の着磁位相との関係が、
図18(C),(D)の関係から、第1実施形態で説明をした、
図9(C),(D)の関係に変化する。
【0085】
図16のS1614にてPHS_OFSの値に-256が設定された後のロータ磁石位相と駆動波形位相との関係は、
図9を用いて説明した、S613の処理が行われた後のロータ磁石位相と駆動波形位相との関係と同様である。
図9の状態はステータ群が発生させている磁場が
図17に比べて90度遅れた位置にあり、このことにより
図9(D)で示されるロータ磁石120は左側に引っ張られる引力、すなわちCCW方向の回転トルクが発生する。
【0086】
同様の動きを
図20において説明する。
図20(C)のBposの下位10ビット値にPHS_OFSが加算された値が、
図20(D)に示す駆動波形位相カウント値となっている。t3のタイミングまでは
図18のCW回転方向のトルク発生状態(PHS_OFS=256)、t3以降は
図9で示すCCW回転方向のトルク発生状態(PHS_OFS=-256)となっている。一方、モータ101は、CW方向に回転しながらCCW方向の回転トルクをかけられることとなり、回転速度は時刻t3の後で減速していく。そして、時刻t4でモータの回転方向がCW方向からCCW方向に変化し、反転動作が開始する。
【0087】
時刻t4は、
図20(A)の位置を示すグラフの頂点となり、
図20(B)の回転速度を示すグラフにおいては正から負への変化点となる。また
図20(E),(F)で示すステータA+116に発生する駆動波形磁場、ステータB+118に発生する駆動波形磁場の波形は位相の先行関係を滑らかに入れ替えている。この反転回転動作が実現されるタイミングでは制御としては特別なことは行わず、モータ101にかかっていたCCW方向のトルクが、CW方向のブレーキ作用として働いていたのが、t4のタイミングでCCW方向の加速トルクとして働きだしたことになる。時刻t4以降はステップS1615でYesまたはS1616でYesと判定されるまで加速動作を行い、CW方向の回転時と同じく、加速トルクとモータに発生する逆起電力とが釣り合ったところで一定速状態となる。
【0088】
[第4実施形態]
本実施例は、位置ENC回路109の構成が第3実施形態と異なるが、その他の構成は第3実施形態と共通するため、共通部分については説明を省略する。
【0089】
図21は位置ENC回路109、駆動波形生成回路110の処理を詳細に示すブロック図である。Apos生成部301、Bpos生成部302、Cpos生成部308、変換比率設定部309、Dpos生成部310、Epos生成部311、BposMax値設定部312が位置ENC回路109に相当する。駆動波形位相決定部303、OPEN駆動用カウント部304、定常位相差設定部305、駆動用位相差設定部306が駆動波形生成回路110に相当する。Apos生成部301、駆動波形位相決定部303、OPEN駆動用カウント部304、定常位相差設定部305、駆動用位相差設定部306については、第1実施形態の構成と同様のため、説明を省略する。
【0090】
Bpos生成部302は、CPU111から予めBposMax値設定部312を通じて設定されている上限値を最大値(BposMax値)とする位置信号に、Aposの値を変換したBposを生成する。BposMax値設定部312を通じて設定されるBposMax値は、モータがちょうど1回転したときにApos生成部301にて検出される位置カウントに相当する値として設定される。
【0091】
図22(A)はAposを示し、
図22(B)はBposを示す。
図22に示す各グラフの横軸はロータの回転量を表す。Aposの値はロータの回転量に比例したカウント値である。またBposの値は、ゼロと上限値(最大値)との間で回転量に対して周期的に変化する鋸歯状波の信号値である。
【0092】
Bpos生成部302によりBposが生成されると、
図21のCpos生成部308に処理が引き継がれる。Cpos生成部308は、CPU111が予め変換比率設定部309を通じて設定した変換比率をBposの結果値に乗算し、演算結果の値をCposとして保持する。ここで設定される変換比率は、ロータ1回転分の検出位置カウント値を、ロータ1回転分の駆動波形カウント値に換算する比率であり、乗算数と右ビットシフト演算で実現される。右ビットシフト演算のシフト数は、駆動に必要なカウント変換精度に基づいて決定される。
図22(C)にCposの例を示す。Cposの値は、ゼロと上限値との間で回転量に対して周期的に変化する鋸歯状波の信号値である。つまり、
図22(B)に示されるBposの値は、
図22(C)に示すように、モータ1回転に相当する駆動波形のカウント数に相当する値をMax値とする位置情報に変換される。Cpos生成部308がCposを生成すると、続いてDpos生成部310に処理が引き渡される。
【0093】
図21のDpos生成部310は、Cposの値がモータ1回転分の駆動カウント量でオーバーフローとなっている箇所や、アンダーフローとなっている箇所を積算して、回転位置の積算量を算出する。算出により生成され位置情報をDposと表記する。
図22(D)はDposの例を示す。Epos生成部311は、Dposに対して任意のオフセット値を持ったデータ(Eposと記す)を生成する。EposはCPU111が任意のタイミングで任意値に書き換え可能である。書き換えのタイミングで書き換え値とDposとの差分量がオフセット値としてメモリに記録される。
図22(E)にEposの例を示す。
図22(D)および(E)に示すように、Epos生成部311はDposの値に対し、記録されたオフセット値が常に付与された形のEposを生成する。
【0094】
位置ENC回路109は、Apos生成部301~Epos生成部311によって、それぞれ信号生成処理を行う。ここで、BposからEposまでの処理を行わない比較例において発生する事象について、
図23を用いて説明する。
図23に示す各グラフの横軸はロータの回転位相を表す。
【0095】
図23(A)および(B)は2つの位置検出信号を表し、モータ1回転分の3周期に相当する回転位相を示す。本例では検出信号の正弦波1周期で4096分解能の位置カウント検出が可能であるとする。
図23(C)は検出位置カウントを示す。位置検出信号の1周期ごとに、位置501で4096カウント、位置502で8192カウント、位置503で12288カウント、となる。
図23(E),(F),(G)はそれぞれ、モータ1回転時にモータに対して出力すべき駆動波形のカウント値、A相に対する駆動波形、B相に対する駆動波形を示す。本例にて駆動波形の位相カウント値は、出力正弦波の1周期に対して1024の分解能とする。位置検出信号がちょうど3周期出力されたときに、駆動波形はちょうど5周期出力されなければならない。
【0096】
算出される位置カウント値と出力される駆動波形カウント値とを同期させるため、まず小数点以下を切り捨てる方式を考える。モータ1回転に相当する検出位置カウント12288を5で割った2457.6の整数部分のみを取って同期させるものとする。この場合、
図23(C)にて本来はモータの回転に応じて、点504、点505、点506、点507で示す位置、つまり検出位置カウントとしては小数点がなければ検出できない位置ごとに駆動波形が1周期ずつ出力されなければならない。
図23(D)に示すように2457を最大値とするグラフ513で示すカウント値が検出位置カウントから生成され、1023/2457に相当する値を乗算する処理を行うことでグラフ514に示すカウント値が生成される。この場合、点508から512で示す位置(駆動波形が1周期出力される位置)と、理想とされる
図23(C)に示す点504から507、503の位置とにズレが生じる。例えばロータが1回転したときに0.6×5=3カウントのズレを生じたとすると、回転に応じてズレ量が蓄積されていく。100回転したときにはカウントズレは300カウントにもなり、検出位置と駆動波形との同期という目的を達せられない事態となる。
【0097】
検出位置の小数点以下の端数を切り捨てた場合の事象を説明したが、
図23(A)のAposに対して、精度のよい乗算器、除算器を用いることにより、複雑な処理を行うことなく同期精度を保つ方法もある。しかしAposのビット数が実用上大きく、ビット数の大きい値に対して1ビットの精度まで求めた比率計算を行って同期処理を行うと別の事象が発生し得る。つまり、回路規模の増加、計算処理時間の増加による他ブロックとの同期性の低下といった事象がある。そこで位置ENC回路109を本実施例の構成(
図21)とし、BposからEposの生成処理を行うことで、処理時間の短縮と検出位置精度、同期精度の保持を実現可能である。
【0098】
図21のEpos生成部311により生成されるEposの情報は、駆動波形位相決定部303に入力される。駆動波形位相決定部303は、最終的にA相用コイル114、B相用コイル115に印加する駆動波形の位相カウント情報を決定する。駆動波形位相決定部303は、
図1のPWM発生器112に対し、位相カウントに相当するPWM値を出力する。駆動波形位相決定部303は、OPEN駆動用カウント部304の指令により、位相カウント情報を出力するOPEN駆動と、Eposの値に基づいて位相カウント情報を出力する位置連動駆動とを切り替えることができる。OPEN駆動と位置連動駆動は、CPU111が駆動波形位相決定部303に対して設定を行うことで切り替えられる。
【0099】
OPEN駆動を行う場合、CPU111はOPEN駆動用カウント部304に駆動波形の周波数を指令し、駆動波形位相決定部303に駆動波形の振幅ゲインを設定する。これにより、駆動波形位相決定部303は所望周波数、所望振幅の駆動波形を出力する。一方、位置連動駆動を行う場合、Eposの下位10ビット値に対して駆動波形位相決定部303は所定のオフセット値を付与した値を算出する。所定のオフセット値は以下の通りである。
・CPU111が定常位相差設定部305を通じて設定した第1のオフセット値(STC_OFS値)
・CPU111が駆動用位相差設定部306を通じて設定した第2のオフセット値(PHS_OFS値)。
【0100】
これらのオフセットを付与した値が算出されて駆動波形位相のカウント値が取得される。このカウント値に相当する位相の出力値が駆動波形の出力値として選択される。この関係を
図22(F),(G)の各グラフで示す。
図22(F)はEposの下位10ビット値と回転量との関係を示す。
図22(G)はオフセットを付与した後の駆動波形を示す。Eposに対してSTC_OFS、PHS_OFSの両方が加算されてオフセット値が付与される。後述するように、STC_OFSはロータの検出位置カウントと駆動波形カウントの安定位置を管理する役割をもつ。PHS_OFSはトルク発生のための位相差管理とは別の役割が割り当てられている。
【0101】
駆動波形生成回路110は、駆動波形位相決定部303、OPEN駆動用カウント部304、定常位相差設定部305、駆動用位相差設定部306によって駆動波形の位相を決定し、駆動波形に対応するPWM指令値をPWM発生器112へ出力する。PWM発生器112は駆動波形生成回路110から出力されるPWM指令値に応じてPWM信号をモータドライバ113に出力する。
【0102】
[第5実施形態]
本実施形態では、反転時は第2の駆動モードを用いて反転動し、定常回転時には状況に応じて第1の駆動モード、第2の駆動モードを選択的に使用する実施形態について説明をする。なお、本実施形態にて第1実施形態~第4実施形態と同様の事項については説明を省略し、主に相違点を説明する。
【0103】
本実施形態においてはモータ駆動装置が撮像装置のフォーカスレンズ機構に連結され、モータの回転駆動に応じてフォーカスレンズが前後に移動する構成を前提とする。この時、フォーカスレンズによって集光される外部からの光が画像センサに結像することができ、また結像された像を電気的に検出することができるものとする。また結像された画像に対して画像処理を行い、画像のコントラスト情報から画像のピントがどれだけ合っているかのオートフォーカス評価値(以後AF評価値)を得ることができるものとする。
【0104】
図24は撮像装置において、AF評価値とレンズの移動を用いて適切なピント状態にフォーカスレンズを移動させる際の動きを模式的に示した図である。
図24の上部のグラフは横軸をレンズ位置、縦軸をAF評価値とする。AF評価値曲線2401は、撮像装置が撮影中にフォーカスレンズを動かしてAF評価値がどのように変化するかを示したものである。AF評価値曲線2401は、AFピーク値2402で評価値のピーク値をとり、この時のレンズ位置はレンズ位置2403とする。
【0105】
本実施形態では、レンズの初期位置をレンズ位置2404とし、その後AFピーク値となるレンズ位置2403を特定して、その位置にレンズを持っていく処理を説明する。
レンズ位置2404にレンズがあるときに、オートフォーカス動作の指令が来ると、AF開始位置2405へと移動する。この時、移動中にAF評価値を取得しないので高速駆動が可能な第2の駆動モードで動作し、その移動を表すのが矢印2406である。AF開始位置2405に到達すると反転動作に入る。この反転動作を表すのが矢印2407であり、この時、第2の駆動モードのままで駆動用位相差(PHS_OFS)の操作を行うだけで反転動作を行う。反転後矢印2408で表す粗スキャン動作に入る。この動作では、第2の駆動モードのまま高速で移動しながら、白抜きの丸で表される位置でAF評価値を取得していく。この動作は、高速にレンズを動かしながらAF評価値の山がどこにあるのかを粗見する動作にあたる。この動作の中でレンズ位置2402の周辺にAF評価値の山があることを特定し、次に示す詳細スキャン動作に移っていく。
【0106】
粗スキャン時に特定した詳細スキャンの対象となるレンズ位置領域を踏まえ、そのスキャン開始位置までまず高速駆動する。そのために矢印2409で表される反転動作を行い、その後、高速で詳細スキャンの開始位置まで移動する矢印2410で表される移動を実施する。これらの反転、移動は両者共に第2の駆動モードで行われる。
【0107】
詳細スキャンの開始位置まで到達すると、矢印2411で表される反転動作に入る。この反転動作は第2の駆動モードで行われるが、その後の詳細スキャン動作時の移動は第1の動作モードに移行する。詳細スキャン動作を表す矢印2412での動きでは、AF評価値を細かく検出するためレンズの速度が低速になる必要がある。低速移動時は第1のモードで実施した方が比較的速度が安定するため、第1の駆動モードでの駆動を実施する。
【0108】
矢印2412で表される詳細スキャン動作を行い、AF評価値の変化を解析することでレンズ位置2403においてAFピーク値2402となることが特定できるものとする。この特定がなされたことで、レンズは最終停止位置としてレンズ位置2403に移動すべきことが確定される。
【0109】
最終停止位置が確定したことで、矢印2413で表される反転動作に入る。この反転動作は、再び第2の駆動モードで実施される。これは第1の駆動モードであれば、反転前に一度完全に停止し、機械的な振動が収まる静定時間を設けることが必要になるためである。
反転が完了すると、最終位置移動が行われる。この移動は再度第1の駆動モードによって実施され、レンズ位置2403に到達すると停止する。
【0110】
本実施例により、第1の駆動モードを使用したい動作と、第2の駆動モードを使用したい動作を連続で実施すべき場合に、反転、駆動モードの切り替え時に、停止して機械振動が収まる静定時間を設けることなく、高速に全動作を実施することができる。
【0111】
[変形例]
第3、4実施形態では、t3タイミングにおいて駆動用位相差(PHS_OFS)を256から-256に一気に変化させた例について説明した。しかしながら、PHS_OFSを急峻に変化させると、トルク変化も急峻になり、モータおよびモータに接続されたメカ等の挙動が不安定になり、振動、騒音が発生する可能性がある。このような振動、騒音を抑制するために、検出回転位相と駆動波形との位相差であるPHS_OFSを256から-256に段階的に変化させて切り替えるなどの処理を行ってもよい。変更前の位相差から変更後の位相差への変更にかける時間(変化時間)の設定には、駆動用位相差の変化時間の設定部307を用いることができる。
【0112】
設定部307は、位相差の変化開始指令を出す時(反転制御開始時)に検出された回転速度に応じて変化時間を決定し、決定した変化時間を変化時間として設定するようにしてもよい。また、設定部307は、位相差変更前の回転速度に対応した、適切な位相差の変化時間を予め実験的に特定してプロファイルを作成し、当該プロファイルを保持した上で、そのプロファイル情報に基づいて適切な変化時間を決定してもよい。また、変化時間の設定部307は、位相差の変化開始指令を出す時に使用されている位相差に応じて変化時間を決定するようにしてもよい。また、変化時間の設定部307は、位相差変化開始時に使用している位相差に対応した、適切な変化時間を予め実験的に特定してプロファイルを作成し、当該プロファイルを保持した上で、そのプロファイル情報に基づいて適切な変化時間を決定してもよい。
【0113】
また、モータ駆動装置がモータの駆動方向を固定する機能を有する場合は、ステップS1611またはS1615の反転開始位置に到達したかを判定するタイミングに合わせて、この方向固定機能を一時停止させ、反対方向への駆動速度が所定の速度に達した時点で再度この方向固定機能を開始する。方向固定機能では回転位置が検出される毎に前回の回転位置と今回設定されている回転位置とを比較して、現在設定されている回転方向を取得する。そして、現在設定されている回転方向が、指示されている回転方向と一致しない場合は、前回の回転位置を今回の回転位置として、駆動波形の生成に用いる。これにより、モータの回転方向を指示されている方向に固定することができる。
【0114】
前記実施形態の位置検出器ではホール素子と回転磁石を用いた構成を説明したが、回転位置の検出が十分に高精度に行える構成であれば他のセンサ機構を用いても実施可能である。また前記実施形態では10極の一般的なクローポール型ステッピングモータを説明したが、ロータ側が永久磁石であって、ステータ側がコイル・ステータである他のモータにも本発明を適用可能である。
【0115】
以上の実施例の構成、処理を実施することにより、駆動波形が連続性を有し、且つ、回転位置検出機構からの検出回転位置を元にモータに対して効率的な駆動波形を生成する処理上で反応遅れの少ない駆動波形生成が可能なモータ駆動装置を実現することができる。また、ロータの回転停止を待たずに反転動作を行うため、反転動作の際にも停止区間を設けることなく滑らかに反転動作を行うことができる。
【0116】
前記実施形態のモータ駆動装置は、撮像装置や光学ディスク装置、プリンタやプロジェクタ等の各種機器に適用可能である。例えば撮像装置に適用する場合、ズームレンズ、フォーカスレンズ、光学絞り、シャッタ、などの各種光学素子の駆動に用いることができる。
【符号の説明】
【0117】
101 ステッピングモータ
102 ロータ軸
109 位置ENC回路
110 駆動波形生成回路
111 CPU
112 PWM発生器
113 モータドライバ
114,115 コイル
116~119 ステータ