(57)【要約】【課題】高速かつ応答性に優れた進角制御が可能なモータ制御装置を提供する。【解決手段】モータ制御装置は、ステッピングモータと、ステッピングモータの回転位置を検出する位置検出手段と、オープン制御および進角制御でステッピングモータを制御可能であり、進角制御の場合には位置検出手段の出力に基づいて進角を設定する制御手段と、ステッピングモータの角速度と進角との関係を表す情報を記憶する記憶手段とを有し、制御手段は、ステッピングモータの所定の角速度における進角を基準進角として取得し、進角制御の期間中、基準進角と記憶手段に記憶された前記情報と、制御ゲインに基づいて進角を設定し、制御手段は、ステッピングモータの目標角速度と現在の角速度の差に基づいて、制御ゲインを変化させる。【選択図】図３
2015023695.tif 000002
【特許請求の範囲】
【請求項１】
ステッピングモータと、
前記ステッピングモータの回転位置を検出する位置検出手段と、
オープン制御および進角制御で前記ステッピングモータを制御可能であり、該進角制御の場合には前記位置検出手段の出力に基づいて進角を設定する制御手段と、
前記ステッピングモータの角速度と前記進角との関係を表す情報を記憶する記憶手段と、
を有し、
前記制御手段は、前記ステッピングモータの所定の角速度における進角を基準進角として取得し、進角制御の期間中、前記基準進角と前記記憶手段に記憶された前記情報と、制御ゲインに基づいて前記進角を設定し、
前記制御手段は、前記ステッピングモータの目標角速度と現在の角速度の差に基づいて、前記制御ゲインを変化させることを特徴とするモータ制御装置。
【請求項２】
前記所定の角速度は、オープン制御から進角制御に切り替えられるときの、前記ステッピングモータの角速度であることを特徴とする請求項１に記載のモータの制御装置。
【請求項３】
前記所定の角速度は、オープン制御において、前記ステッピングモータが所定の時間、一定の角速度で回転しているときの、前記ステッピングモータの角速度であることを特徴とする請求項１に記載のモータの制御装置。
【請求項４】
前記制御手段は、前記進角制御の期間中、
前記ステッピングモータの目標角速度と現在の角速度との差が所定の閾値よりも小さい場合、第１の制御ゲインを用いて前記進角を設定し、
前記差が所定の閾値以上である場合、前記第１の制御ゲインよりも大きい第２の制御ゲインを用いて前記進角を設定することを特徴とする請求項１乃至３のいずれか１項に記載のモータ制御装置。
【請求項５】
前記制御手段は、前回設定された進角φｎ−１と進角変化量Δφとの和により、新たな進角φｎを設定し、
前記進角変化量Δφは、前記ステッピングモータの目標角速度Ｖｔおよび現在の角速度Ｖ、進角φに対する角速度ωの傾きｄω／ｄφ、および、第１の制御ゲインまたは第２の制御ゲインである制御ゲインＫを用いて、
Δφ＝（（Ｖｔ−Ｖ）／（ｄω／ｄφ））×Ｋ
で表されることを特徴とする請求項１乃至４のいずれか１項に記載のモータ制御装置。
【請求項６】
請求項１乃至５のいずれか１項に記載のモータ制御装置と、
前記モータ制御装置により駆動制御されるフォーカスレンズと、を有することを特徴とするレンズ装置。
【請求項７】
請求項６に記載のレンズ装置と、
撮像素子を備えたカメラ装置と、を有することを特徴とするカメラシステム。
【請求項８】
進角制御によりステッピングモータの角速度を制御するモータの制御方法であって、
前記ステッピングモータの所定の角速度における進角を基準進角として取得するステップと、
前記ステッピングモータの角速度と前記進角との関係を表す情報と、前記基準進角と、制御ゲインに基づいて前記進角を設定するステップを有し、
前記ステッピングモータの目標角速度と現在の角速度の差に基づいて、前記制御ゲインを変化させることを特徴とするモータの制御方法。
【請求項９】
前記ステッピングモータの目標角速度と現在の角速度との差が所定の閾値よりも小さい場合、第１の制御ゲインを用いて前記進角を設定し、
前記差が所定の閾値以上である場合、前記第１の制御ゲインよりも大きい第２の制御ゲインを用いて前記進角を設定することを特徴とする請求項８に記載のモータ制御方法。
【請求項１０】
請求項８または９に記載のモータ制御方法をコンピュータに実行させるように構成されていることを特徴とするプログラム。
【請求項１１】
請求項１０に記載のプログラムを記憶していることを特徴とする記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、モータ制御装置に関し、特に、進角制御が可能なステッピングモータ制御装置に関する。
【背景技術】
【０００２】
従来から、ステッピングモータは、オープン制御により容易にデジタル的な位置決め制御が可能である。このため、ステッピングモータは、カメラ、交換レンズ、プリンタなどの光学機器に広く用いられている。しかしステッピングモータは、負荷が多いときや高速回転を行う場合、モータが脱調するという問題がある。これを解決するため、ステッピングモータにロータの回転位置を検出するエンコーダを取り付け、ロータの回転位置に応じてコイルへの通電状態を切り替える、いわゆるブラシレスＤＣモータのようなフィードバック制御装置が提案されている。
【０００３】
特許文献１には、一連の動作中にオープン制御およびフィードバック制御を切り替えることにより、高い位置決め精度および高速回転を両立させる方法が開示されている。また特許文献２には、フィードバック制御の応答性を高めるため、速度の変化のみを短い時間間隔またはイベント観測して検出し、速度変化分のトルクを算出して応答させる制御が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平１０−１５０７９８号公報
【特許文献２】特開２００４−２３９０２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１では、位置センサから得られるモータの現在の回転数と設定値との差分がゼロになるように駆動パルスのデューティ比を変化させ、フィードバック制御を行っている。このフィードバック制御では、所望の回転数を得るまでの時間が比較的長くなり、応答性が低い。また特許文献２の構成において、外乱や負荷が急に変更した場合には有効である。しかし、現在の回転数と設定値との差分が大きい場合、所望の回転数になるまでに要する時間が長い。
【０００６】
そこで本発明は、高速かつ応答性に優れた進角制御が可能なモータ制御装置、レンズ装置、カメラシステム、モータ制御方法、プログラム、および、記憶媒体を提供する。
【課題を解決するための手段】
【０００７】
本発明の一側面としてのモータ制御装置は、ステッピングモータと、前記ステッピングモータの回転位置を検出する位置検出手段と、オープン制御および進角制御で前記ステッピングモータを制御可能であり、該進角制御の場合には前記位置検出手段の出力に基づいて進角を設定する制御手段と、前記ステッピングモータの角速度と前記進角との関係を表す情報を記憶する記憶手段とを有し、前記制御手段は、前記ステッピングモータの所定の角速度における進角を基準進角として取得し、進角制御の期間中、前記基準進角と前記記憶手段に記憶された前記情報と、制御ゲインに基づいて前記進角を設定し、前記制御手段は、前記ステッピングモータの目標角速度と現在の角速度の差に基づいて、前記制御ゲインを変化させる。
【０００８】
本発明の他の側面としてのレンズ装置は、前記モータ制御装置と、前記モータ制御装置により駆動制御されるフォーカスレンズとを有する。
【０００９】
本発明の他の側面としてのカメラシステムは、前記レンズ装置と、撮像素子を備えたカメラ装置とを有する。
【００１０】
本発明の他の側面としてのモータ制御方法は、進角制御によりステッピングモータの角速度を制御するモータの制御方法であって、前記ステッピングモータの所定の角速度における進角を基準進角として取得するステップと、前記ステッピングモータの角速度と前記進角との関係を表す情報と、前記基準進角と、制御ゲインに基づいて前記進角を設定するステップを有し、前記ステッピングモータの目標角速度と現在の角速度の差に基づいて、前記制御ゲインを変化させる。
【００１１】
本発明の他の側面としてのプログラムは、前記モータ制御方法をコンピュータに実行させるように構成されている。
【００１２】
本発明の他の側面としての記憶媒体は、前記プログラムを記憶している。
【００１３】
本発明の他の目的及び特徴は、以下の実施例において説明される。
【発明の効果】
【００１４】
本発明によれば、高速かつ応答性に優れた進角制御が可能なモータ制御装置、レンズ装置、カメラシステム、モータ制御方法、プログラム、および、記憶媒体を提供することができる。
【図面の簡単な説明】
【００１５】
【図１】各実施例におけるモータユニットの外観斜視図である。
【図２】各実施例におけるステッピングモータのステータとエンコーダマグネットとの位相関係図である。
【図３】各実施例におけるモータ制御装置のブロック図である。
【図４】各実施例における進角制御における進角の説明図である。
【図５】各実施例におけるステッピングモータの進角と速度の特性図である。
【図６】実施例１における制御のシーケンス図である。
【図７】実施例１における進角制御のフローチャートである。
【図８】実施例２における制御のシーケンス図である。
【図９】実施例２における進角制御のフローチャートである。
【発明を実施するための形態】
【００１６】
以下、本発明の実施例について、図面を参照しながら詳細に説明する。各図において、同一の部材については同一の参照番号を付し、重複する説明は省略する。
【実施例１】
【００１７】
まず、図１を参照して、本発明の実施例１におけるモータユニットの概略構成について説明する。図１は、本実施例におけるモータユニット１０１の概観斜視図である。なお図１において、説明のためにその一部を破断して示している。
【００１８】
モータユニット１０１は、ステッピングモータ１０２、エンコーダマグネット１０３、エンコーダホルダ１０４、ラック１０５、回転軸１０６、および、ホールＩＣ１０７を備えて構成される。ステッピングモータ１０２は、励磁コイル（不図示）を含みかつ９０度間隔で配置された２相のステータ、および、その外周を１０極均一に着磁されたマグネットロータ（不図示）を備えて構成されている。マグネットロータと回転軸１０６とは互いに物理的に繋がっている。
【００１９】
エンコーダマグネット１０３は、円筒形状の永久磁石で構成されている。またエンコーダマグネット１０３は、回転軸１０６に取り付けられ、ステッピングモータ１０２のマグネットロータと同様に、その外周を１０極で着磁されている。エンコーダマグネット１０３の直下には、エンコーダ部であるホールＩＣ１０７が配置されている。ホールＩＣ１０７は、エンコーダホルダ１０４上において、機械的に設計された位置に取り付けられている。本実施例において、エンコーダマグネット１０３およびホールＩＣ１０７により、ステッピングモータ１０２の回転位置を検出する位置検出手段が構成される。
【００２０】
回転軸１０６は、フォーカスレンズ（例えば、図３に示されるフォーカスレンズ２０１）と接続されたラック１０５と噛み合っている。このような構成により、ステッピングモータ１０２の回転トルクは、ラック１０５および回転軸１０６を介して、フォーカスレンズ２０１の直線駆動（光軸ＯＡの方向への駆動）に変換される。
【００２１】
ホールＩＣ１０７は、エンコーダマグネット１０３の回転により生じる磁界の変化をＩＣ内のサンプリング間隔で検出し、磁束密度に応じた電圧を出力する。具体的には、ホールＩＣ１０７が面しているマグネットがＮ極の場合、ホールＩＣ１０７は正の電圧を出力する。一方、ホールＩＣ１０７が面しているマグネットがＳ極の場合、ホールＩＣ１０７は負の電圧を出力する。なお本実施例において、ホールＩＣ１０７の出力は２値化された出力であるが、これに限定されるものではない。ホールＩＣ１０７は、面しているマグネットがＮ極の場合にはＨｉｇｈ信号、Ｓ極の場合にはＬｏｗ信号を出力し、ホールＩＣ１０７の出力信号に基づいてデジタル制御が行われる。なお、本実施例のモータユニット１０１は、エンコーダマグネット１０３およびホールＩＣ１０７を用いてステッピングモータ１０２の回転を検出するように構成されている。ただし本実施例はこれに限定されるものではなく、フォトインタラプタおよびパルス板を備えた構成、または、ホールＩＣ１０７を他の磁気センサに変更した構成を採用してもよい。
【００２２】
続いて、本実施例におけるモータユニット１０１の制御方法について説明する。モータユニット１０１は、オープン制御によるモータ駆動制御が可能である。オープン制御とは、所定の時間間隔に従って、モータユニット１０１のコイルに励磁する極性を切り替える制御方法である。すなわち、入力された駆動周波数および回転方向に従ってコイルの励磁を順次切り替えることにより、ステッピングモータ１０２を所定の速度で回転させることができる。また、入力された駆動ステップ数に従って、所定の角度だけ回転させることが可能である。この駆動方式が、本実施例におけるオープン制御である。
【００２３】
また、本実施例におけるモータユニット１０１は、進角制御（フィードバック制御）によるモータ駆動制御も可能である。進角制御とは、ホールＩＣ１０７のＨｉｇｈ／Ｌｏｗ出力の切り替わりタイミングを基準として、ステッピングモータ１０２のコイルに励磁する極性を切り替えるフィードバック制御方法である。モータ（ステッピングモータ１０２）の特性として、ステータとロータとの磁界の位相関係（進角）が９０［ｄｅｇ］ずれている（ステータが進み角）状態において、トルク効率が最大となることが知られている。
【００２４】
図２は、ステッピングモータ１０２のステータとエンコーダマグネット１０３との位相関係図であり、ステッピングモータ１０２のステータの励磁変化に伴ってエンコーダマグネット１０３に発生する磁界変化について示している。図２において、縦軸は磁束、横軸は位相をそれぞれ示す。ステータは、マイクロステップ駆動の正弦波で励磁される。このため、図２に示されるように磁界変化は３６０［ｄｅｇ］（電気角）周期の正弦波形を描く。エンコーダマグネット１０３は、ステータの磁界変化に追従して回転するため、位相に関して遅れて回転する。そして、励磁する周波数が高くなるにつれて追従の遅れは大きくなる。このため、励磁コイルの磁界変化に対するエンコーダマグネット１０３の追従遅れの大きさを調整することにより、ステッピングモータ１０２の回転速度を制御することができる。
【００２５】
図２において、進角はφ［ｄｅｇ］である。ステッピングモータ１０２が目標速度（目標角速度）に達していない場合、進角増減量であるΔφ［ｄｅｇ］を算出し、現在の進角φ［ｄｅｇ］に加算する。図２における点線の正弦波のように、進角Δφ分だけ速くステータの磁界を励磁する（調整後の進角φ＋Δφを用いる）ことにより、進角調整前の進角φを用いた場合よりも大きなトルクを得ることができる。実際の制御においては、ホールＩＣ１０７から得られるＨｉｇｈ／Ｌｏｗ出力の切り替わりタイミングを基準とし、ステータの励磁変化のタイミングを変更することにより制御される。この駆動方式が、本実施例における進角制御である。
【００２６】
次に、図３を参照して、本実施例におけるモータ制御装置の構成について説明する。図３は、モータ制御装置１００のブロック図である。モータ制御装置１００は、オープン制御と進角制御（フィードバック制御）を実行可能に構成されているが、図３は主に進角制御を行う構成を示している。本実施例において、モータ制御装置１００は、フォーカスレンズ２０１を備えたレンズ装置２００に設けられており、フォーカスレンズ２０１を光軸ＯＡの方向に駆動制御可能に構成されている。また本実施例において、レンズ装置２００は撮像素子２１１を備えたカメラ装置２１０に着脱可能であり、レンズ装置２００とカメラ装置２１０とによりカメラシステムが構成される。
【００２７】
ただし本実施例はこれに限定されるものではなく、モータ制御装置１００をレンズ装置２００の他のレンズの駆動に用いることもでき、または、カメラ装置２１０などレンズ装置２００以外の装置に設けてもよい。また本実施例は、レンズ装置２００とカメラ装置２１０が一体的に構成された撮像装置にも適用可能である。
【００２８】
図３に示されるように、モータ制御装置１００は、モータユニット１０１、演算装置３０１、モータドライバ３１０、および、制御装置３２０を備えて構成されている。制御装置３２０は、演算装置３０１の各部の動作を制御する。本実施例において、演算装置３０１および制御装置３２０により制御手段が構成される。モータユニット１０１は、２値化した出力信号を演算装置３０１のセンサ信号処理部３０２へ送る。センサ信号処理部３０２は、ホールＩＣ１０７の極性変化ごとに所定の処理を行い、モータユニット１０１の速度を取得する。またセンサ信号処理部３０２は、現在の進角を取得する。
【００２９】
ここで、図４を参照して、進角制御における進角の取得方法について説明する。図４は、進角制御における進角の説明図である。図４の上段は、駆動信号生成部３０９から出力されるマイクロステップ駆動波形を示す。図４の下段は、ホールＩＣ１０７から出力されるエンコーダマグネット１０３の出力波形を示す。
【００３０】
図４に示されるように、時刻Ｔ４１において、ホールＩＣ１０７の出力がＬｏｗからＨｉｇｈへ切り替わると、センサ信号処理部３０２は、マイクロステップ駆動波形のテーブルの番号（現在何番目のテーブル値であるか）を取得する。本実施例では、時刻Ｔ４１において、テーブル値は１２０である。次に、センサ信号処理部３０２は、時刻Ｔ４１から近い（最も近い）マイクロステップ駆動波形のゼロクロス点のテーブル値（２５６）を取得する。そして、ゼロクロス点のテーブル値（２５６）から時刻Ｔ４１のテーブル値（１２０）を減算することにより、マイクロステップ換算での進角（２５６−１２０＝１３６）が算出される。
【００３１】
基準進角設定部３０３は、進角制御で用いられる基準進角を設定する。本実施例において、基準進角設定部３０３は、オープン制御から進角制御への切り替えタイミングで基準進角を設定する。すなわち、オープン制御から進角制御に切り替わるときの進角を基準進角として設定する。それ以降、進角制御中において基準進角の設定は行われない。オープン制御から進角制御への切り替えタイミングが図４中の時刻Ｔ４１である場合、基準進角として、テーブル幅である１３６を設定する。
【００３２】
目標速度記憶部３０４は、レンズ装置２００またはカメラ装置２１０から送信されるステッピングモータ１０２の目標速度（目標角速度）を記憶する。進角変化量係数記憶部３０５は、進角変化量係数、すなわち進角変化量を算出する際に乗算する係数を記憶する。本実施例において、進角変化量係数は予め算出されて進角変化量係数記憶部３０５に記憶されており、進角変化量の制御ゲイン（係数）として二つの制御ゲイン（第１の制御ゲイン、第２の制御ゲイン）が記憶されている。メモリ３０７（ＲＯＭ）は、進角変化量係数記憶部３０５および進角特性記憶部３０６を含み、メモリ３０７の所定領域には、前述のように進角変化量係数および進角特性が予め記憶されている。
【００３３】
進角特性記憶部３０６（記憶手段）は、ステッピングモータ１０２の進角と速度（角速度）との関係を示す情報（進角と速度との特性）を記憶している。ここで、図５を参照してこの特性について説明する。図５は、ステッピングモータ１０２の進角と速度の特性図である。図５において、横軸は進角φ［ｄｅｇ］、縦軸は角速度ω［ｐｐｓ］をそれぞれ示している。実線の特性曲線Ｃ５１を基準として、個体差や経年変化などにより特性曲線Ｃ５１とは異なる特性曲線Ｃ５２、Ｃ５３を二つの破線でそれぞれ示している。
【００３４】
図５に示されるように、進角の値が進角φ０まで大きくなると、ステッピングモータ１０２は駆動を開始する。そして、進角φの増加に伴い、略一定の傾きｄω／ｄφで角速度ωが増加する。進角の値が進角φｌｉｍｉｔまで増加すると、それ以降は曲線の傾きは緩やかになり、進角φ＝９０［ｄｅｇ］で最高速度となる。進角φをさらに大きくすると、角速度ωは徐々に低下し、やがて脱調が生じる（進角φｏｕｔ）。速度と進角との特性曲線Ｃ５１は、例えば特性曲線Ｃ５２、Ｃ５３で示されるように、製造誤差や個体差により変化し、また同一の個体であっても温度や経年変化などにより変化する。しかし、特性曲線の線形的に変化する範囲（図５の区間［φ０、φｌｉｍｉｔ］）の傾きｄω／ｄφは、いずれのばらつきに対しても略一定である。このため、進角特性記憶部３０６に、傾きｄω／ｄφを記憶させておく。進角特性記憶部３０６に記憶された値（傾きｄω／ｄφ）を用いることにより、個体や使用環境に依存しない加減速特性が得られるような進角の増減量Δφを設定することができる。
【００３５】
進角設定部３０８は、進角を設定する。進角は、前回の進角値、目標速度（目標角速度）と現在の速度（角速度）との差である速度偏差、進角特性記憶部３０６に記憶されている特性、および、進角変化量係数記憶部３０５に記憶されている進角変化量係数（制御ゲイン）を用いて設定される。駆動信号生成部３０９は、モータユニット１０１を駆動するための信号を生成する。本実施例において、駆動信号生成部３０９は、正弦波の１周期に対して５１２の分解能テーブルを有するマイクロステップ波形を生成し、各テーブル値に対応する電圧（信号）をモータドライバ３１０へ出力する。また、正弦波の周波数は、進角設定部３０８で設定された進角になるように調整される。具体的には、次のテーブル値の電圧を出力する時間間隔を調整することにより、目的の進角になるように周波数が調整される。モータドライバ３１０は、駆動信号生成部３０９からの出力信号（電圧）をモータユニット１０１に必要な電流および電圧に変換し、モータユニット１０１へ供給する。
【００３６】
続いて、図６を参照して、本実施例におけるモータ制御装置１００の制御方法について説明する。図６は、本実施例における制御のシーケンス図であり、ステッピングモータ１０２の駆動開始から駆動停止までの駆動速度および駆動モードの推移の概略（速度と時間との関係）について示している。図６中の実線は、本実施例における制御を示している。一方、図６中の点線は、比較例としての制御を示している。
【００３７】
まず演算装置３０１は、時刻Ｔ６０において、停止しているモータ（ステッピングモータ１０２）に対して、オープン制御による加速駆動を開始する。モータの速度が所定の回転速度（本実施例では１０００ｐｐｓ）に到達した場合（時刻Ｔ６１において）、演算装置３０１は、オープン制御から進角制御に移行する。そして、目標速度に到達するまで進角を進めて加速し、目標速度に到達した場合、目標速度を維持するように進角を制御する。その後、時刻Ｔ６２において、目標とする移動量（回転角）に到達する前に進角を遅らせ減速する。そして時刻Ｔ６３において、進角制御からオープン制御に切り替え、目標とする移動量で停止する（時刻Ｔ６４）。以上が、ステッピングモータ１０２の駆動開始から停止までの全体の制御フローである。
【００３８】
まず、ステッピングモータ１０２の駆動開始後の加速時における、オープン制御から進角制御への移行について説明する。モータユニット１０１（ステッピングモータ１０２）をオープン制御で所定ステップ数だけ加速し、速度が１０００ｐｐｓに到達すると、この時点の進角を基準進角設定部３０３で取得し、進角制御における基準進角φｂａｓｅとして設定する。この時点で、ステッピングモータ１０２は所定ステップ数駆動後の状態であるため、ステッピングモータ１０２の回転が安定し、ホールＩＣ１０７の出力信号から算出される進角も確からしい値（信頼できる値）が得られる。また、この基準進角φｂａｓｅを用いて励磁信号を生成するため、ステッピングモータ１０２の個体差やホールＩＣ１０７の検出ばらつきがあっても、スムーズな制御モードの移行（オープン制御から進角制御への移行）を実現することができる。なお本実施例において、基準進角の設定タイミングを、オープン制御と進角制御の切り替え時の駆動速度であると設定している。ただし、ステッピングモータ１０２の回転速度と進角との関係が一意に定まる状態であれば、設定タイミングはこれに限定されるものではない。
【００３９】
次に、図７を参照して、進角制御へ移行した後の制御（進角制御）について説明する。図７は、本実施例における進角制御のフローチャートである。図７の各ステップは、制御装置３２０または演算装置３０１により実行される。まずステップＳ７０１において、制御装置３２０は、進角制御の処理を開始する。本実施例において、進角制御の処理は、ホールＩＣ１０７の出力信号の極性変化ごとに行われる。
【００４０】
続いてステップＳ７０２において、制御装置３２０は、モータ制御方式がオープン制御から進角制御へ移行したか否かを判定する。オープン制御から進角制御への移行は、図６中の時刻Ｔ６１において行われる。オープン制御から進角制御への移行の際には、図７に示される進角制御ルーチンの処理が初めて行われることになる。このため制御装置３２０は、進角制御における初期設定を行う。本実施例において、この移行判定は、オープン制御から進角制御への移行処理を行う際に移行フラグをセットし、そのフラグを確認することにより行われる。オープン制御から進角制御への移行である場合、進角制御の初期設定を行うためにステップＳ７０３へ進む。一方、既に進角制御を行っている場合（進角制御中である場合）、ステップＳ７０５へ進む。なお本実施例において、オープン制御から進角制御への移行判定を行う際にフラグ（移行フラグ）を用いているが、これに限定されるものではない。制御の切り替わりを判定することが可能であれば他の方法を用いてもよい。例えば、オープン制御で駆動するパルス数は所定値であるため、駆動パルス数をモニタリングする方法を用いることができる。
【００４１】
ステップＳ７０３において、最初の進角制御であるため、前回の進角値は設定されていない（すなわち、進角値は不定である）。このため、演算装置３０１（基準進角設定部３０３）は、前回の進角値φｎ−１としてオープン制御から進角制御への移行処理において取得した基準進角φｂａｓｅを設定する。基準進角φｂａｓｅを設定した後、ステップＳ７０４へ進む。そしてステップＳ７０４において、制御装置３２０は、オープン制御から進角制御への移行フラグを０にクリアする。移行フラグをクリアすることにより、次回の進角制御からはステップＳ７０３およびステップＳ７０４の処理は行われない。移行フラグを０にクリアすると、ステップＳ７０６へ進む。
【００４２】
ステップＳ７０５において、制御装置３２０は、目標駆動量に対して駆動残量が減速開始パルス数であるか否かを判定する。減速開始パルス数とは、現在の速度から停止精度が保証される速度まで減速して停止するまでに要する駆動パルス数である。進角制御中であれば、オープン制御に切り替え可能な速度まで減速後、オープン制御に切り替えて所定量駆動後に停止する区間のパルス数を指す。図６では時刻Ｔ６２〜Ｔ６４までのパルス数に相当する。例えば、現在の速度からオープン制御へ移行する１０００ｐｐｓまでに減速するのに必要なパルス数が５パルス、その後のオープン制御からモータを停止させるのに必要なパルス数が５パルスである場合、減速開始パルス数は１０パルスとなる。残り駆動量が減速開始パルス数の場合、ステップＳ７０６へ進む。一方、残り駆動量が減速開始パルス数でない場合、Ｓ７０７へ進む。なお本実施例では、進角制御中に目標駆動位置にモータを停止させるための減速開始を判定するために、駆動残量をモニタリングしている。ただし本実施例はこれに限定されるものではなく、減速開始の判定が可能であれば他の方法を用いてもよい。
【００４３】
ステップＳ７０６において、制御装置３２０は、後述のステップＳ７１０にて用いられる進角変化量を算出するための制御ゲインＫ（進角変化量係数）を制御ゲインＫ２（第２の制御ゲイン）に設定する。このとき、進角変化量係数記憶部３０５に記憶された制御ゲインＫ２が進角設定部３０８に読み出される。制御ゲインＫを設定した後、ステップＳ７０８へ進む。一方、ステップＳ７０７において、制御装置３２０は、制御ゲインＫをＫ１（第１の制御ゲイン）に設定する。このとき、進角変化量係数記憶部３０５に記憶された制御ゲインＫ１が進角設定部３０８に読み出される。制御ゲインＫを設定した後、ステップＳ７０８へ進む。このように本実施例では、制御ゲインＫとして、オープン制御から進角制御への移行時および進角制御中におけるモータの減速開始時に設定される制御ゲインＫ２を、進角制御中の他のタイミングに設定される制御ゲインＫ１よりも大きく設定する（Ｋ１＜Ｋ２）。
【００４４】
続いてステップＳ７０８において、センサ信号処理部３０２は、前回のホールＩＣ１０７の出力信号変化時からの時間変化により、ステッピングモータ１０２の現在の速度を算出する。速度算出後、ステップＳ７０９へ進む。そしてステップＳ７０９において、進角設定部３０８は、速度偏差を算出する。速度偏差は、目標速度記憶部３０４に記憶された目標速度とステップＳ７０９にて算出された現在の速度との差分に基づいて算出される。速度偏差の値が正の場合（現在の速度より目標速度の方が速い場合）、加速制御を行う。一方、速度偏差が負の場合（現在の速度より目標速度の方が遅い場合）、減速制御を行う。
【００４５】
続いてステップＳ７１０において、進角設定部３０８は、進角変化量Δφを算出する。進角変化量とは、直前の進角の値に増減させる変化量である。進角変化量Δφは、ステップＳ７０９にて算出された速度偏差を、進角特性記憶部３０６に記憶されている値（傾きｄω／ｄφ）で除算し、ステップＳ７０６またはステップＳ７０７にて設定された制御ゲインＫ（Ｋ１またはＫ２）を乗算した値である。すなわち進角変化量Δφは、ステッピングモータ１０２の目標角速度Ｖｔ、現在の角速度Ｖ、進角φに対する角速度ωの傾きｄω／ｄφ、および、第１の制御ゲインＫ１または第２の制御ゲインＫ２である制御ゲインＫを用いて、以下の式（１）のように表される。
【００４６】
Δφ＝（（Ｖｔ−Ｖ）／（ｄω／ｄφ））×Ｋ  …  （１）
ここで、Ｖｔ−Ｖは速度偏差である。このように、速度偏差が大きいほど進角変化量Δφは大きくなる。進角変化量を算出した後、ステップＳ７１１へ進む。
【００４７】
続いてステップＳ７１１において、進角設定部３０８は、進角を設定する。新たな進角φｎは、ステップＳ７１０にて算出された進角変化量Δφと前回設定された進角φｎ−１との和により算出される（φｎ＝φｎ−１＋Δφ）。なお、駆動開始後にオープン制御から進角制御へ切り替えて、最初にステップＳ７１１を処理する場合、ステップＳ７０３にて設定されたとおり、前回設定された進角値φｎ−１として基準進角φｂａｓｅが用いられる。進角φｎが設定された後、ステップＳ７１２へ進む。
【００４８】
続いてステップＳ７１２において、駆動信号生成部３０９は、ステッピングモータ１０２を駆動するための励磁信号（駆動信号）を生成する。励磁信号は、ステップＳ７１１にて設定された進角φｎに基づいて生成される。このため、ステータとマグネットロータとの位相関係を考慮した信号となり、ステッピングモータ１０２の高速回転を行うことができる。励磁信号が生成された後、ステップＳ７１３へ進む。そしてステップＳ７１３において、励磁信号を生成して１パルス駆動が行われたため、制御装置３２０は、目標駆動パルスと実際に駆動したパルス数との差である駆動残量のデクリメントを行う。駆動残量のデクリメント後、ステップＳ７１４へ進む。続いてステップＳ７１４において、今回設定された進角φｎを次回の進角制御における進角φｎ−１として用いるため、φｎ−１として今回設定された進角φｎを設定する。進角φｎ−１を設定（更新）した後、ステップＳ７１５へ進む。
【００４９】
続いてステップＳ７１５において、制御装置３２０は、駆動残量が進角制御からオープン制御への切り替えパルス数であるか否かを判定する。進角制御からオープン制御への切り替えパルス数とは、進角制御からオープン制御への切り替えの基準となる速度１０００ｐｐｓからオープン制御中にステッピングモータ１０２を停止させるまでに必要となる駆動パルス数である。本実施例において、このパルス数は５パルスに設定されている。駆動残量がこの切り替えパルス数である場合、ステップＳ７１６へ進む。一方、駆動残量がこの切り替えパルス数でない場合、ステップＳ７１７へ進む。ステップＳ７１６において、駆動残量が進角制御からオープン制御への切り替えパルス数に到達しているため、次回のホールＩＣ１０７の極性変化による進角制御を行うことなく、オープン制御でステッピングモータ１０２を制御する。オープン制御への切り替えが完了した場合、ステップＳ７１７へ進む。ステップＳ７１７において、進角制御の処理は終了したため、本フローを終了する。なお、ステップＳ７１６にてオープン制御への切り替えが行われない限り、次回のホールＩＣ１０７の極性変化が検出されれば、ステップＳ７０１へ戻って繰り返し図７に示される進角制御を行う。
【００５０】
このように本実施例において、制御手段（演算装置３０１および制御装置３２０）は、オープン制御および進角制御でステッピングモータ１０２を制御可能である。また制御手段は、進角制御の場合には位置検出手段（エンコーダマグネット１０３およびホールＩＣ１０７）の出力に基づいて進角を設定する。また制御手段は、進角制御の期間中、第１の制御ゲインＫ１または第１の制御ゲインよりも大きい第２の制御ゲインＫ２を用いて進角変化量を算出する。
【００５１】
好ましくは、制御手段は、進角制御の期間中、ステッピングモータ１０２の目標角速度Ｖｔと現在の速度Ｖとの差（速度偏差）が所定の閾値以上である場合、第２の制御ゲインＫ２を用いて進角変化量を算出する。一方、その差が所定の閾値よりも小さい場合、第１の制御ゲインＫ１を用いて進角変化量を算出する。
【００５２】
より好ましくは、制御手段は、オープン制御から進角制御へ切り替えられた場合、第２の制御ゲインＫ２を用いて進角変化量を算出する。また、好ましくは、制御手段は、進角制御の期間中において進角制御からオープン制御へ切り替えるためにステッピングモータ１０２を減速させる場合、第２の制御ゲインＫ２を用いて進角変化量を算出する。
【００５３】
本実施例の進角制御では、前述したように、図５で示した特性曲線の線形的に変化する範囲において、傾きｄω／ｄφが一定であることを利用している。これにより、目標速度に対応する進角は、目標速度が変化するタイミングや基準進角が設定されたタイミングで一意に定まる。しかしオープン制御から進角制御への切り替え直後や、進角制御中に減速駆動を開始した直後に、目標速度に対応する進角に設定すると、良好な速度応答性が得られる一方で、モータの慣性力によってオーバーシュートが発生してしまうおそれがある。そこで、制御ゲインＫ（係数）を用いて、目標速度に対応する進角に向けて進角を徐々に変化させることにより、オーバーシュートの発生を抑制している。オーバーシュートの発生と速度応答性は、一般的にトレード・オフの関係にあるが、制御ゲインＫを調整することでオーバーシュートの発生を抑制しつつ、かつ良好な速度応答性を有する制御系を得ることができる。
【００５４】
なお本実施例において、オープン制御から進角制御への切り替え直後および進角制御中の減速開始直後のそれぞれにおいて、最初の１回だけ制御ゲインＫを他の期間よりも大きい第２の制御ゲインＫ２に変更し、その後、通常の値（第１の制御ゲインＫ１）に戻す。ただし本実施例はこれに限定されるものではなく、制御ゲインＫを大きい値（第２の制御ゲインＫ２）に設定している期間は、１回ではなく複数回としてもよく、または、所定期間（所定の継続期間）としてもよい。また、制御ゲインＫとして、必要に応じて三つの値Ｋ１、Ｋ２、Ｋ３（Ｋ１＜Ｋ２＜Ｋ３）またはそれ以上の値を設定可能に構成することもできる。
【実施例２】
【００５５】
次に、図８および図９を参照して、本発明の実施例２におけるモータ制御装置について説明する。本実施例におけるモータ制御装置の概略構成および基本動作は実施例１のモータ制御装置１００と同様であるため、それらの説明は省略する。本実施例のモータ制御装置は、実施例１の場合に加えて、目標速度が変更した場合にも制御ゲインＫを変更する点で、実施例１のモータ制御装置とは異なる。
【００５６】
図８は、本実施例における制御のシーケンス図であり、ステッピングモータ１０２の駆動開始から駆動停止までの駆動速度および駆動モードの推移の概略（速度と時間との関係）について示している。本実施例は、進角制御中において目標速度が変更されている点で、図６を参照して説明した実施例１とは異なる。時刻Ｔ８０においてオープン制御から進角制御へ移行した後、目標速度が速度Ｖ１に設定されているため、加速によりステッピングモータ１０２の速度はＶ１となる。その後、時刻Ｔ８１において、目標速度が速度Ｖ１から速度Ｖ２へ変更される。このため、進角制御中に速度Ｖ２まで減速を行い、その後、駆動残量が目標位置に停止するための減速開始パルス数となった場合、さらに１０００ｐｐｓまで減速を行う。そして、時刻Ｔ８２において進角制御からオープン制御へ移行し、ステッピングモータ１０２を停止させる（時刻Ｔ８３）。
【００５７】
続いて図９を参照して、本実施例における進角制御について説明する。図９は、本実施例における進角制御のフローチャートである。図９は、図７のフローチャートにステップＳ９０１〜Ｓ９０３が追加されている点で図７とは異なる。図９中の他のステップは図７と同様であるため、これらの説明は省略する。
【００５８】
まずステップＳ７０１において進角制御が開始すると、ステップＳ９０１において、制御装置３２０は目標速度Ｖを設定する。目標速度Ｖは、目標速度記憶部３０４に記憶される。目標速度Ｖは進角制御のルーチン外で設定されて記憶されている値であるが、本実施例では、進角制御ルーチン中（ステップＳ７０１〜Ｓ７１７の間）に変更される可能性もある。このため、目標速度Ｖが変更された場合でも、このルーチン中は同じ値（速度Ｖ）を利用可能であるようにこの値を保持し、ステップＳ７０２へ進む。
【００５９】
ステップＳ９０２において、制御装置３２０は、前回の進角制御ルーチンから目標速度Ｖが変更されたか否かを判定する。目標速度Ｖが変更されたか否かは、後述のステップＳ９０３にて保存された速度ＶｂａｋとステップＳ９０１にて保存されている速度Ｖとを比較することで判定可能である。目標速度が変更された場合、ステップＳ７０６へ進み、制御ゲインＫをＫ１に設定する。一方、目標速度が変更されていない場合、ステップＳ７０７へ進み、制御ゲインＫをＫ２へ設定する。
【００６０】
ステップＳ９０３において、ステップＳ９０１にて保存された目標速度Ｖを、次回このルーチンへ入った場合に前回の目標速度として使用するため、速度ＶをＶｂａｋに代入する。代入が完了すると、ステップＳ７１５へ進む。
【００６１】
本実施例では、進角制御中に目標速度Ｖ１が遅い速度Ｖ２（Ｖ１＞Ｖ２）に変更されて減速処理を行う場合について説明しているが、これに限定されるものではない。進角制御中に目標速度Ｖ１が速い速度Ｖ３（Ｖ１＜Ｖ３）に変更されて加速処理を行う場合についても、本実施例は同様に適用可能である。
【００６２】
このように本実施例において、制御手段は、進角制御の期間中にステッピングモータ１０２の目標速度が変更された場合、第２の制御ゲインＫ２を用いて進角変化量を算出する。すなわち、進角制御中に目標速度が変更された直後において、制御ゲインＫとして、進角制御中の他の期間よりも大きな値を設定する（Ｋ１＜Ｋ２）。これにより、進角制御中の特定の期間において、進角制御中の他の期間よりも高いトルクを与える進角を設定することができる。このため、進角制御中に目標速度が変更された場合でも、目標速度に到達するまでの時間を短縮することができる。また、高いトルクを与えた後に迅速に通常の値に戻るため、オーバーシュートすることなく応答性の優れたステッピングモータの制御を行うことが可能である。
【００６３】
なお本実施例において、目標速度の変更直後の１回だけ制御ゲインＫを大きな値に変更し、その後は通常の値に戻している。ただし本実施例はこれに限定されるものではなく、制御ゲインＫを大きい値Ｋ１に設定している期間は、１回ではなく複数回としてもよく、または、所定期間（所定の継続期間）としてもよい。
【００６４】
［その他の実施形態］
また、本発明は、以下の処理を実行することによっても実現される。すなわち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（又はＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【００６５】
各実施例によれば、高速かつ応答性に優れた進角制御が可能なモータ制御装置、レンズ装置、カメラシステム、モータ制御方法、プログラム、および、記憶媒体を提供することができる。
【００６６】
以上、本発明の好ましい実施形態について説明したが、本発明はこれらの実施形態に限定されず、その要旨の範囲内で種々の変形及び変更が可能である。
【符号の説明】
【００６７】
１００  モータ制御装置
１０２  ステッピングモータ
１０３  エンコーダマグネット
１０７  ホールＩＣ
３０１  演算装置
３２０  制御装置
【図５】
2015023695.tif 000003
【図７】
2015023695.tif 000004
【図９】
2015023695.tif 000005
【図１】
2015023695.tif 000006
【図２】
2015023695.tif 000007
【図３】
2015023695.tif 000008
【図４】
2015023695.tif 000009
【図６】
2015023695.tif 000010
【図８】
2015023695.tif 000011