(57)【特許請求の範囲】
【請求項１】
ステッピングモータの回転部の回転位置の検知信号を生成する生成手段と、
前記回転部の回転速度を検出する回転速度検出手段と、
前記検知信号と前記ステッピングモータを制御するための制御波形とに基づいて進角を検出する進角検出手段と、
駆動電圧ごとに前記進角と前記回転速度との関係を示す情報を記憶する記憶手段と、
前記記憶手段に記憶された前記情報に基づいて、前記回転部の目標回転速度に応じた目標進角を算出する目標進角算出手段と、
前記進角が前記目標進角となるように制御する進角制御手段と、
前記記憶手段に記憶された前記情報に基づいて、前記回転部の前記目標回転速度と検出された回転速度との偏差が所定の閾値の範囲内になるように前記ステッピングモータの前記駆動電圧を制御する電圧制御手段と、を有し、
前記電圧制御手段は、前記記憶手段に記憶された前記情報と前記回転部の前記回転速度および前記目標回転速度とに基づいて、前記駆動電圧を制御し、
前記進角と前記回転速度との関係を示す前記情報は、前記駆動電圧ごとに該進角と該回転速度との関係を示す複数の軌跡であり、
前記目標回転速度に基づいて、前記複数の軌跡のうちの一つの軌跡に沿って前記目標進角を制御する第１の制御と、前記進角を固定した状態で前記駆動電圧を制御する第２の制御とが切り替わることを特徴とする制御装置。
【請求項２】
前記目標回転速度が第１の回転速度よりも低い場合、前記第１の制御により、第１の駆動電圧に対応する前記軌跡に従って前記目標進角が制御され、 前記目標回転速度が第２の回転速度よりも高い場合、前記第１の制御により、第２の駆動電圧に対応する前記軌跡に従って前記目標進角が制御され、
前記目標回転速度が前記第１の回転速度と前記第２の回転速度の間の場合、前記第２の制御により、前記進角を固定した状態で前記駆動電圧が制御されることを特徴とする請求項１に記載の制御装置。
【請求項３】
前記第１の制御は、前記軌跡の傾きの絶対値が第１の所定値よりも大きい場合の制御であり、
前記第２の制御は、前記軌跡の傾きの絶対値が前記第１の所定値よりも小さい場合の制御であり、
前記軌跡の傾きは、前記目標進角に対する前記目標速度の変化率に相当することを特徴とする請求項１または２に記載の制御装置。
【請求項４】
前記第１の制御は、前記軌跡のリニアリティが第２の所定値よりも小さい場合の制御であり、
前記第２の制御は、前記軌跡のリニアリティが前記第２の所定値よりも大きい場合の制御であり、
前記軌跡のリニアリティは、前記目標進角に対する前記目標速度の変化率のリニアリティに相当することを特徴とする請求項１または２に記載の制御装置。
【請求項５】
前記記憶手段は、前記複数の軌跡のそれぞれを、前記進角と前記回転速度との関係を示す近似式として記憶していることを特徴とする請求項１乃至４のいずれか１項に記載の制御装置。
【請求項６】
前記記憶手段は、前記複数の軌跡のそれぞれを前記進角と前記回転速度との関係を直線近似式として記憶していることを特徴とする請求項５に記載の制御装置。
【請求項７】
前記回転速度検出手段は、前記生成手段が前記検知信号を生成する周期で前記回転部の前記回転速度を検出することを特徴とする請求項１乃至６のいずれか１項に記載の制御装置。
【請求項８】
前記進角制御手段は、前記目標進角と前記進角検出手段により検出された前記進角とに基づいて、前記目標進角に至るまでの途中の進角の変化に合わせて徐々に前記回転部の前記目標回転速度を変更することを特徴とする請求項１乃至７のいずれか１項に記載の制御装置。
【請求項９】
前記進角制御手段は、
前記目標進角と前記進角検出手段により検出された前記進角との差が第三の所定値よりも大きい場合、前記進角検出手段により検出された前記進角に対応する回転速度を前記目標回転速度として設定し、
前記差が前記第三の所定値よりも小さい場合、前記目標進角に対応する回転速度を前記目標回転速度として設定することを特徴とする請求項８に記載の制御装置。
【請求項１０】
前記電圧制御手段は、前記目標進角と前記進角検出手段により検出された前記進角との差が前記第三の所定値よりも大きい場合、フィードバックゲインを弱めることを特徴とする請求項９に記載の制御装置。
【請求項１１】
ステッピングモータと、
前記ステッピングモータにより駆動される被駆動部材と、
前記ステッピングモータを制御する請求項１乃至１０のいずれか１項に記載の制御装置と、を有することを特徴とする光学機器。
【請求項１２】
ステッピングモータの回転部の回転位置の検知信号を生成するステップと、
前記回転部の回転速度を検出するステップと、
前記検知信号と前記ステッピングモータを制御するための制御波形とに基づいて進角を検出するステップと、
記憶手段に記憶された、駆動電圧ごとに前記進角と前記回転速度との関係を示す情報に基づいて、前記回転部の目標回転速度に応じた目標進角を算出するステップと、
前記進角が前記目標進角となるように制御するステップと、
前記記憶手段に記憶された前記情報に基づいて、前記回転部の前記目標回転速度と検出された回転速度との偏差が所定の閾値の範囲内になるように前記ステッピングモータの前記駆動電圧を制御するステップと、を有し、
前記駆動電圧を制御するステップは、前記記憶手段に記憶された前記情報と前記回転部の前記回転速度および前記目標回転速度とに基づいて、前記駆動電圧を制御するステップを含み、
前記進角と前記回転速度との関係を示す前記情報は、前記駆動電圧ごとに該進角と該回転速度との関係を示す複数の軌跡であり、
前記目標回転速度に基づいて、前記複数の軌跡のうちの一つの軌跡に沿って前記目標進角を制御する第１の制御と、前記進角を固定した状態で前記駆動電圧を制御する第２の制御とが切り替わることを特徴とする制御方法。
【請求項１３】
ステッピングモータの回転部の回転位置の検知信号を生成するステップと、
前記回転部の回転速度を検出するステップと、
前記検知信号と前記ステッピングモータを制御するための制御波形とに基づいて進角を検出するステップと、
記憶手段に記憶された、駆動電圧ごとに前記進角と前記回転速度との関係を示す情報に基づいて、前記回転部の目標回転速度に応じた目標進角を算出するステップと、
前記進角が前記目標進角となるように制御するステップと、
前記記憶手段に記憶された前記情報に基づいて、前記回転部の前記目標回転速度と検出された回転速度との偏差が所定の閾値の範囲内になるように前記ステッピングモータの前記駆動電圧を制御するステップと、をコンピュータに実行させるプログラムであって、
前記駆動電圧を制御するステップは、前記記憶手段に記憶された前記情報と前記回転部の前記回転速度および前記目標回転速度とに基づいて、前記駆動電圧を制御するステップを含み、
前記進角と前記回転速度との関係を示す前記情報は、前記駆動電圧ごとに該進角と該回転速度との関係を示す複数の軌跡であり、
前記目標回転速度に基づいて、前記複数の軌跡のうちの一つの軌跡に沿って前記目標進角を制御する第１の制御と、前記進角を固定した状態で前記駆動電圧を制御する第２の制御とが切り替わることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ステッピングモータを制御する制御装置に関する。
【背景技術】
【０００２】
従来から、ステッピングモータは撮像装置などの光学機器に搭載されており、ステッピングモータに関して種々の駆動方法が提案されている。ステッピングモータは、正弦波を制御波形とするマイクロステップ駆動により、開ループ制御で簡易に高分解能を得ることができる。このため、ステッピングモータは、一般的に、開ループ制御で駆動される。
【０００３】
一方、ステッピングモータは、高速回転の際に脱調する可能性がある。このため、ステッピングモータの回転位置を検出する検出機構を設け、制御波形の位相を所定の角度だけ進めることにより、ステッピングモータの脱調を回避して高速に回転させるための進角制御が提案されている。
【０００４】
特許文献１には、進角制御および電圧制御を行うことによりステッピングモータを脱調させることなく加速する制御装置が開示されている。特許文献２には、進角と速度の関係を近似式として記憶し、その関係を電圧に応じてシフトする制御装置が開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１５−２３７０３号公報
【特許文献２】特許第６００４８３０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、進角を大きくすると、ステッピングモータの回転速度の制御性が低下するとともに負荷変動に弱くなり、その結果、ステッピングモータの速度状態が不安定にある。この問題を回避するため、特許文献１に開示された制御装置を用いて小さい進角で電圧制御へ移行したとしても、ステッピングモータに印加する電圧の上限が決められている場合、十分なダイナミックレンジを得ることができない。特許文献２に開示された制御装置では、温度や姿勢差などの負荷変動により進角と速度との関係が崩れたときの電圧に基づいて近似式を切り替えた場合、制御性が逆に低下してしまう。
【０００７】
また、ステッピングモータの進角を変更させながら速度を変更すると、目標進角に達するまである程度の時間を要して徐々に進角が変化し、それに合わせて速度も変化する。しかしながら、特許文献１や特許文献２のように進角制御と電圧制御とを用いたシステムを用いてモータの加速を行う際、目標速度に合わせて電圧制御の目標速度を変更すると制御対象の速度状態が不安定になり、目標速度に対してオーバーシュートを引き起こす。その結果、駆動騒音や制御性の劣化の要因となる。
【０００８】
そこで本発明は、ステッピングモータの回転速度のダイナミックレンジを確保しつつ、滑らかな加減速が可能な制御装置、光学機器、制御方法、および、プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明の一側面としての制御装置は、ステッピングモータの回転部の回転位置の検知信号を生成する生成手段と、前記回転部の回転速度を検出する回転速度検出手段と、前記検知信号と前記ステッピングモータを制御するための制御波形とに基づいて進角を検出する進角検出手段と、駆動電圧ごとに前記進角と前記回転速度との関係を示す情報を記憶する記憶手段と、前記記憶手段に記憶された前記情報に基づいて、前記回転部の目標回転速度に応じた目標進角を算出する目標進角算出手段と、前記進角が前記目標進角となるように制御する進角制御手段と、前記記憶手段に記憶された前記情報に基づいて、前記回転部の前記目標回転速度と検出された回転速度との偏差が所定の閾値の範囲内になるように前記ステッピングモータの前記駆動電圧を制御する電圧制御手段とを有し、前記電圧制御手段は、前記記憶手段に記憶された前記情報と前記回転部の前記回転速度および前記目標回転速度とに基づいて、前記駆動電圧を制御し、前記進角と前記回転速度との関係を示す前記情報は、前記駆動電圧ごとに該進角と該回転速度との関係を示す複数の軌跡であり、前記目標回転速度に基づいて、前記複数の軌跡のうちの一つの軌跡に沿って前記目標進角を制御する第１の制御と、前記進角を固定した状態で前記駆動電圧を制御する第２の制御とが切り替わる。
【００１０】
本発明の他の側面としての光学機器は、ステッピングモータと、前記ステッピングモータにより駆動される被駆動部材と、前記制御装置とを有する。
【００１１】
本発明の他の側面としての制御方法は、ステッピングモータの回転部の回転位置の検知信号を生成するステップと、前記回転部の回転速度を検出するステップと、前記検知信号と前記ステッピングモータを制御するための制御波形とに基づいて進角を検出するステップと、記憶手段に記憶された、駆動電圧ごとに前記進角と前記回転速度との関係を示す情報に基づいて、前記回転部の目標回転速度に応じた目標進角を算出するステップと、前記進角が前記目標進角となるように制御するステップと、前記記憶手段に記憶された前記情報に基づいて、前記回転部の前記目標回転速度と検出された回転速度との偏差が所定の閾値の範囲内になるように前記ステッピングモータの前記駆動電圧を制御するステップとを有し、前記駆動電圧を制御するステップは、前記記憶手段に記憶された前記情報と前記回転部の前記回転速度および前記目標回転速度とに基づいて、前記駆動電圧を制御するステップを含み、前記進角と前記回転速度との関係を示す前記情報は、前記駆動電圧ごとに該進角と該回転速度との関係を示す複数の軌跡であり、前記目標回転速度に基づいて、前記複数の軌跡のうちの一つの軌跡に沿って前記目標進角を制御する第１の制御と、前記進角を固定した状態で前記駆動電圧を制御する第２の制御とが切り替わる。
本発明の他の側面としてのプログラムは、前記制御方法をコンピュータに実行させる。
【００１２】
本発明の他の目的及び特徴は、以下の実施形態において説明される。
【発明の効果】
【００１３】
本発明によれば、ステッピングモータの回転速度のダイナミックレンジを確保しつつ、滑らかな加減速が可能な制御装置、光学機器、制御方法、および、プログラムを提供することができる。
【図面の簡単な説明】
【００１４】
【図１】各実施形態におけるモータ制御システムのブロック図である。
【図２】各実施形態におけるステッピングモータユニットの構成図である。
【図３】各実施形態におけるエンコーダからの信号の説明図である。
【図４】各実施形態における進角と回転速度との関係図である。
【図５】各実施形態における駆動電圧ごとの進角と回転速度との関係図である。
【図６】第１の実施形態における制御方法のフローチャートである。
【図７】第１の実施形態における制御状態の説明図である
【図８】第１の実施形態および第２の実施形態における進角制御および電圧フィードバック制御のフローチャートである。
【図９】各実施形態における進角制御の説明図である。
【図１０】各実施形態における電圧フィードバックによる速度制御の説明図である。
【図１１】第２の実施形態における進角と回転速度の関係を示す近似式の説明図である。
【図１２】第２の実施形態における駆動電圧ごとの進角と速度との関係を示す近似式の説明図である。
【図１３】第２の実施形態における制御方法のフローチャートである。
【図１４】第２の実施形態における制御方法の説明図である。
【図１５】第３の実施形態における進角制御および電圧フィードバック制御のフローチャートである。
【図１６】第３の実施形態における進角制御の説明図である。
【発明を実施するための形態】
【００１５】
以下、本発明の実施形態について、図面を参照しながら詳細に説明する。
【００１６】
（第１の実施形態）
まず、図１を参照して、本発明の第１の実施形態におけるモータ制御システムの構成を説明する。図１は、本実施形態におけるモータ制御システム１０のブロック図である。モータ制御システム１０は、ステッピングモータユニット１２０と、ステッピングモータユニット１２０を制御する制御装置１００とを備えて構成される。
【００１７】
制御装置１００は、ステッピングモータ（モータ）１０１の回転位置を検出しながら、ステッピングモータ１０１の回転制御を行う。制御装置１００は、ステッピングモータ１０１の回転速度に応じた進角データを用いて進角制御を行う機能と、駆動電圧でステッピングモータ１０１の速度制御を行う機能とを有する。
【００１８】
ステッピングモータユニット１２０は、ステッピングモータ１０１、ロータ軸１０２、パルス板１０５、および、ＰＩ（フォトインタラプタ）１０３、１０４を備えて構成されている。ステッピングモータユニット１２０は、位置検出機能を有する。本実施形態では、ステッピングモータユニット１２０に設けられたステッピングモータ１０１のロータ軸１０２にパルス板１０５が設けられたエンコーダを例として説明する。ステッピングモータ１０１は、被駆動部材１２２を駆動する。被駆動部材１２２は、例えば、レンズ装置や撮像装置などに設けられたレンズである。この場合、ステッピングモータ１０１の回転に伴い、被駆動部材１２２としてのレンズが光軸方向に移動する。ただし、本実施形態はこれに限定されるものではなく、ステッピングモータ１０１は、レンズ以外の被駆動部材を駆動することもできる。
【００１９】
図２は、ステッピングモータユニット１２０の構成図である。パルス板１０５は、明領域と暗領域との比率が５０：５０で設計されている。ステッピングモータ１０１の機械的に設計された位置に２つのＰＩ１０３、１０４が取り付けられている。図２に示されるように、ロータ軸１０２のＮ領域とパルス板１０５の「明」領域、ロータ軸１０２のＳ領域とプロペラの「暗」領域とがそれぞれ一致している状態となっており、ＰＩ１０３、１０４とパルス板１０５とを組み合わせて２相のエンコーダが構成される。以上の構成により、ロータ軸１０２の回転に伴ってパルス板１０５がＰＩ１０３、１０４の明および暗の出力信号を変化させ、２相の矩形信号（信号３０１、３０２）が発生する。図３は、エンコーダの信号（エンコーダからの信号を二値化した信号３０１、３０２）の説明図である。
【００２０】
図１に示されるように、制御装置１００は、コンパレータ１０６、エンコーダ回路１０７、ＣＰＵ１０８、正弦波発生器１０９、ＰＷＭ発生器１１１、モータドライバ１１２、および、メモリ（記憶手段）１２１を備えて構成される。コンパレータ１０６は、ＰＩ１０３、１０４から出力されたアナログ信号を入力し、設定された閾値電圧に応じて、図３に示されるような２相の二値化された信号３０１、３０２を後段に出力する。このようにコンパレータ１０６は、ステッピングモータ１０１の回転部（ロータ）に取り付けられたロータ軸１０２の回転位置の検知信号を生成する生成手段として機能する。ＰＩ１０３、１０４の信号を二値化した信号はそれぞれ、エンコーダ回路１０７に出力される。
【００２１】
エンコーダ回路１０７は、信号の立ち上がりおよび立ち下がりのタイミングを取得する。またエンコーダ回路１０７は、このタイミングに合わせて、ステッピングモータ１０１の位置カウントおよび信号周期カウントを行う。またエンコーダ回路１０７は、信号入力タイミング時にＣＰＵ１０８に対して割り込み処理を行うことができる。ＣＰＵ１０８は、予め保存されているプログラムを実行する機能を備え、エンコーダ回路１０７からの割り込み処理に応じてプログラムを順次実行する。
【００２２】
本実施形態において、ＣＰＵ１０８は、回転速度検出手段１０８ａ、進角検出手段１０８ｂ、目標進角算出手段１０８ｃ、進角制御手段１０８ｄ、および、電圧制御手段１０８ｅを有する（すなわちＣＰＵ１０８は各手段の機能を有する）。回転速度検出手段１０８ａは、回転部（ロータ）の回転速度を検出する。進角検出手段１０８ｂは、コンパレータ１０６により生成された検知信号と制御波形（制御信号）とに基づいて進角を検出する。目標進角算出手段１０８ｃは、メモリ１２１に記憶された、駆動電圧ごとに進角と回転速度との関係を示す情報（進角−速度特性曲線）に基づいて、回転部の目標回転速度に応じた目標進角を算出する。進角制御手段１０８ｄは、進角が目標進角となるように制御する。電圧制御手段１０８ｅは、メモリ１２１に記憶された情報に基づいて、回転部の目標回転速度と検出された回転速度との偏差が所定の範囲になるようにステッピングモータ１０１の駆動電圧を制御する。また電圧制御手段１０８ｅは、メモリ１２１に記憶された情報と回転部の回転速度および目標回転速度とに基づいて、駆動電圧を制御する。
【００２３】
またＣＰＵ１０８は、バス１１０を介して、エンコーダ回路１０７、正弦波発生器１０９、および、ＰＷＭ発生器１１１を制御する。正弦波発生器１０９は、ＣＰＵ１０８からの指示に従って、正弦波の１周期に相当する分解能でＰＷＭ値をＰＷＭ発生器１１１へ出力する。ＰＷＭ発生器１１１は、ＰＷＭ値に応じてＰＷＭ信号を生成し、ＰＷＭ信号をモータドライバ１１２へ出力する。モータドライバ１１２は、ＰＷＭ信号を増幅してステッピングモータユニット１２０（ステッピングモータ１０１）へ出力する。
【００２４】
モータドライバ１１２は、ＰＷＭのＤＵＴＹ比（％）に従って出力電圧を制御し、ステッピングモータユニット１２０のコイル（Ａ相コイル１１３、Ｂ相コイル１１４）に対して実効的に正弦波状の電圧信号を印加する。以下、説明の簡便化のため、コイルに印加する電圧は正弦波であるとして扱う。ステッピングモータ１０１の回転速度は、正弦波状の電圧信号の印加により制御される。このようにＣＰＵ１０８、正弦波発生器１０９、ＰＷＭ発生器１１１、および、モータドライバ１１２は、ロータ軸１０２の検知信号に応じたタイミングでステッピングモータ１０１の回転速度を制御するモータ制御手段として機能する。
【００２５】
ステッピングモータ１０１が備えるＡ相コイル１１３、Ｂ相コイル１１４は、モータドライバ１１２から正弦波状の電圧信号を受ける。Ａ相コイル１１３およびＢ相コイル１１４は、後段のステータＡ＋１１５、ステータＡ−１１６、ステータＢ＋１１７、ステータＢ−１１８に対して、４種類の位相の異なる正弦波電圧を発生させる。Ａ相コイル１１３に対してサイン波とＢ相コイル１１４にコサイン波を出力すると、Ｂ相はＡ相よりも９０度先行した波形となり、ステッピングモータ１０１（ロータ軸１０２）は正転する。逆に、Ｂ相にＡ相よりも９０度遅れた波形を出力すると、ステッピングモータ１０１は逆転する。
【００２６】
以下、ロータマグネット（ロータ）１１９の着磁位相に対してエンコーダのパルス板１０５の明暗位相が一致するように取り付けられている場合について説明する。ロータマグネット１１９の着磁位相とエンコーダのパルス板１０５の明暗位相との位相ズレ量が既知であれば、位相ズレ量を考慮して同等の制御を行うことができる。
【００２７】
次に、図４および図５を参照して、ステッピングモータ１０１の進角と回転速度との関係について説明する。図４は、所定の駆動電圧におけるステッピングモータ１０１の進角と回転速度との関係図である。図５は、駆動電圧ごとのステッピングモータ１０１の進角と回転速度との関係図である。図４および図５のそれぞれにおいて、横軸は進角θ［ｄｅｇ］、縦軸は回転速度Ｓ［ｐｐｓ］を示している。以下、図４または図５に示されるグラフ上の進角と速度との関係を示す軌跡を、進角−速度特性曲線という。
【００２８】
図４および図５に示されるように、進角を小さくすると（図４および図５の左方向に向けて）駆動速度（回転速度）は遅くなる。一方、進角を大きくすると（図４および図５の右方向に向けて）駆動速度（回転速度）は速くなる。しかし、所定の進角よりも大きくなると、駆動速度（回転速度）は低下する。このような進角と速度との対応関係を示す対応情報（進角−速度データ）を実測してテーブル化し、制御装置１００に記憶させておくことにより、任意の速度を指定して駆動する場合であっても目標となる進角値を算出することができる。本実施形態では、図５に示されるように、電圧（電圧Ｖ０、Ｖ１）ごとの進角−速度データをテーブルデータとして複数記憶しておき、目標となる回転速度Ｓ（目標速度）や目標となる進角θ（目標進角）に応じてテーブルデータを選択する。図５に示されるように、同じ進角であれば電圧が高いほど回転速度は上がる。
【００２９】
次に、図６および図７を参照して、本実施形態における制御装置１００の動作（制御方法）について説明する。図６は、本実施形態における制御方法のフローチャートである。図６の各ステップは、主に制御装置１００のＣＰＵ１０８により実行される。図７は、本実施形態における制御状態の説明図である。
【００３０】
図７に示されるように、本実施形態では、制御状態として、状態０（第１の制御状態）、状態１（第２の制御状態）、および、状態２（第１の制御状態）が存在する。状態０（第１の制御状態）は、電圧Ｖ０の進角−速度データに沿って進角を制御して目標速度Ｓを設定する制御状態である。状態１（第２の制御状態）は、進角θＡを固定して電圧を制御し、目標速度ＳＡまでの目標速度Ｓを設定する制御状態である。状態２（第１の制御状態）は、電圧Ｖ１の進角−速度データに沿って進角を制御して目標速度Ｓを設定する制御状態である。
【００３１】
まず、図６のステップＳ６０１において、ＣＰＵ１０８は、ステッピングモータ１０１の停止状態から駆動状態へ移行する初期化処理を行う。ここではステッピングモータ１０１は停止しているため、前回制御時の目標速度であるバックアップ速度Ｓ’を０、制御状態を状態０、駆動電圧を定常駆動電圧Ｖにそれぞれ設定する。
【００３２】
続いてステップＳ６０２において、ＣＰＵ１０８は、目標となる回転速度である目標速度Ｓを設定する。続いてステップＳ６０３において、ＣＰＵ１０８は、メモリ（記憶手段）１２１に記憶されている進角−速度データに基づいて、現在設定されている定常駆動電圧Ｖおよび目標進角θにおける速度の変化率α（進角の変化に対する回転速度の変化）を算出する。
【００３３】
ステップＳ６０４からステップＳ６１３までの処理は、制御状態（状態０〜２）に応じて定常駆動電圧Ｖおよび目標進角θを設定する処理である。定常駆動電圧Ｖとは、後述する速度フィードバック制御におけるステッピングモータ１０１を所定の目標速度で駆動する際の定常駆動電圧である。
【００３４】
まずステップＳ６０４において、ＣＰＵ１０８は、現在の制御状態を判定する。ＣＰＵ１０８は、現在の制御状態が状態０（第１の制御状態）であると判定した場合、ステップＳ６０５へ進む。ステップＳ６０５において、ＣＰＵ１０８は、進角―速度データの変化率αの状態を判定する。すなわちＣＰＵ１０８は、変化率αが閾値α＿ｔｈ１よりも小さいか否かを判定する。変化率αが閾値α＿ｔｈ１以上である場合、ステップＳ６０８へ進む。一方、変化率αが閾値α＿ｔｈ１よりも小さい場合、ステップＳ６０６へ進む。ＣＰＵ１０８は、前記閾値判定に加えて、最新の変化率αと前回の変化率α’との変動状態が所定値Ｘよりも小さい場合に、ステップＳ６０６へ進むように制御してもよい。ステップＳ６０６において、ＣＰＵ１０８は、状態０のときの処理として、定常駆動電圧ＶをＶ０に設定し、テーブルデータとして記憶されている電圧Ｖ１に関する進角−速度データに基づいて目標進角θを設定する。
【００３５】
ステップＳ６０４にて、ＣＰＵ１０８は、現在の制御状態が状態１（第２の制御状態）であると判定した場合、ステップＳ６０７へ進む。ステップＳ６０７において、ＣＰＵ１０８は、目標速度Ｓが速度ＳＡよりも大きいか否かを判定する。本実施形態において、所定速度ＳＡとは、テーブルデータである電圧Ｖ０に関する進角−速度データ上にある速度であり、状態０から状態１へ切り替わる際の目標速度Ｓに相当する。ステップＳ６０７にて目標速度Ｓが速度ＳＡ以下である場合、ステップＳ６０５へ進む。一方、目標速度Ｓが速度ＳＡよりも大きい場合、ステップＳ６０８へ進む。ステップＳ６０８において、ＣＰＵ１０８は、目標速度Ｓが速度ＳＢ以下であるか否かを判定する。目標速度Ｓが速度ＳＢよりも大きい場合、ステップＳ６１３へ進む。一方、目標速度Ｓが速度ＳＢ以下である場合、ステップＳ６０９へ進む。ステップＳ６０９において、ＣＰＵ１０８は状態１のときの処理として、状態２のテーブルデータに基づいて定常駆動電圧Ｖを設定し、目標進角θをθ１に設定する。
【００３６】
ステップＳ６０４にて、ＣＰＵ１０８は、現在の制御状態が状態２（第１の制御状態）であると判定した場合、ステップＳ６１０へ進む。ステップＳ６１０において、ＣＰＵ１０８は、目標速度Ｓが速度ＳＢよりも大きいか否かを判定する。目標速度Ｓが速度ＳＢ以下である場合、ステップＳ６０７へ進む。一方、目標速度Ｓが速度ＳＢよりも大きい場合、ステップＳ６１１へ進む。本実施形態において、速度ＳＢは、テーブルデータである電圧Ｖ１に関する進角−速度データ上にある速度であり、状態１から状態２に切り替わる目標速度Ｓに相当する。ステップＳ６１１において、ＣＰＵ１０８は、目標速度Ｓがリミット閾値Ｓ＿Ｌｉｍｉｔよりも大きいか否かを判定する。目標速度Ｓがリミット閾値Ｓ＿Ｌｉｍｉｔよりも大きい場合、ステップＳ６１２に進む。ステップＳ６１２において、ＣＰＵ１０８は、目標速度Ｓをリミット閾値Ｓ＿Ｌｉｍｉｔに設定し（リミット処理を行い）、ステップＳ６１３へ進む。一方、ステップＳ６１１にて目標速度Ｓがリミット閾値Ｓ＿Ｌｉｍｉｔ以下である場合、ステップＳ６１３へ進む。ステップＳ６１３において、ＣＰＵ１０８は、状態２のときの処理として、定常駆動電圧ＶをＶ１に設定し、図７に示されるテーブルデータとして記憶されている電圧Ｖ１に関する進角−速度データに基づいて目標進角θを設定する。
【００３７】
ステップＳ６０８、Ｓ６０９、Ｓ６１０のいずれかの処理が完了した後、ステップＳ６１４へ進む。ステップＳ６１４において、ＣＰＵ１０８は、進角制御および速度フィードバック制御の並列処理を行い、ステッピングモータ１０１の回転速度が目標速度Ｓになるように制御する。なお、進角制御および速度フィードバック制御の並列処理の詳細については、追って説明する。
【００３８】
続いてステップＳ６１５において、ＣＰＵ１０８は、制御データのバックアップ処理を行う。すなわちＣＰＵ１０８は、目標速度Ｓを目標速度Ｓ’、目標進角θをφとして記憶部に保存して、ステップＳ６１６へ進む。ステップＳ６１６において、ＣＰＵ１０８は、停止指示を受けたか否かを判定する。ＣＰＵ１０８が停止指示を受けていない場合、ステップＳ６０１に戻り、一連の処理を繰り返す。一方、停止指示を受けた場合、ＣＰＵ１０８はステッピングモータ１０１を停止させる。
【００３９】
次に、図８を参照して、進角制御および速度フィードバック制御の並列処理（ステップＳ６１４）について詳述する。図８は、進角制御および速度フィードバック制御のフローチャートである。図８の各ステップは、主に、制御装置１００のＣＰＵ１０８により実行される。
【００４０】
まずステップＳ８０１において、ＣＰＵ１０８は、エンコーダ回路１０７から得られたエンコーダの割り込み信号に同期してステッピングモータ１０１の回転位置を検出することにより、位相遅れ角ωを算出する。算出した位相遅れ角ωは、回転するステッピングモータ１０１の逆起電力などにより生じる。
【００４１】
続いてステップＳ８０２において、ＣＰＵ１０８は、エンコーダの割り込み信号に同期してステッピングモータ１０１の制御進角を算出する。本実施形態において、ＣＰＵ１０８は、位相遅れ角ωと目標進角θとの位相偏差ω−θを制御進角として算出する。続いてステップＳ８０３において、ＣＰＵ１０８は、エンコーダの割り込み信号に同期して目標進角θになるように駆動波形を制御する。すなわちＣＰＵ１０８は、位相偏差ω−θを補償するように駆動波形を制御して、目標進角θの状態を保つように進角制御を行う。具体的には、ＣＰＵ１０８は、位相偏差ω−θを、次のエンコーダの割り込み信号が発生するタイミングまでに制御波形の位相を位相偏差ω−θだけ進めるように正弦波発生器１０９の波形位相を制御する。このようにＣＰＵ１０８（進角制御手段１０８ｄ）は、ロータの回転位置の検知信号に応じたタイミングで制御波形の進角が目標進角となるように制御する。
【００４２】
ここで、図９を参照して、図８のステップＳ８０３における進角制御の例を説明する。図９は、進角制御の説明図である。図９（Ａ）は、ステッピングモータ１０１のロータ軸１０２に取り付けられたエンコーダ信号の出力波形を示す。ＣＰＵ１０８は、エンコーダの明暗または暗明の切り替わりタイミングで駆動波形の位相検出や位相制御を行う。図９（Ｂ）は、進角が０度の場合における駆動波形の一例である。図９（Ｃ）は、開ループ制御による駆動波形の一例であり、図９（Ｂ）の駆動波形と比べて、位相に遅れが生じていることを示している。図９（Ｄ）は、図９（Ｃ）の開ループ制御から進角制御に切り替えられた場合の駆動波形である。
【００４３】
図９（Ｂ）に示される波形は、電流遅れがない理想的な駆動波形（進角０度）を示す。図９（Ｃ）に示される波形は、開ループ制御の際の駆動波形を示す。図９（Ｃ）に示される波形を参照すると、図９（Ａ）の明から暗に切り替わるタイミングＩｎにおいて位相遅れがＣｎ、１／４周期後のタイミングＩｎ＋１ではＣｎ＋１の位相遅れが発生していることがわかる。図９（Ｄ）のように、タイミングＩｎにて開ループ制御から進角制御に切り替えた場合、ＣＰＵ１０８は、制御波形を１／４周期後（Ｉｎ＋１）に目標位相となるように制御波形の周期を制御する。例えば、目標位相を進角０度とすると、ＣＰＵ１０８は、位相遅れＤｎ＋１が０度になるように、１／４周期の期間で制御波形の周期を変更するように制御する。タイミングＩｎの直後から制御波形の位相を進めると不連続な波形となり、モータの振動、異音、または、脱調などの問題が発生する。したがって、この例では、ＣＰＵ１０８は、制御波形の周期を制御して問題が発生しない所定期間（例えば１／４周期）で位相を合わせるように制御を行う。なお本実施形態では、図９を参照して進角が０度になるように進角制御を行った場合を例にして進角制御を説明したが、位相遅れがδだけ残った状態になるように進角制御した場合、進角δで進角制御を行ってもよい。
【００４４】
図８のステップＳ８０４、Ｓ８０５において、ＣＰＵ１０８は、前述の進角制御と同時に（並列して）、電圧フィードバックによる速度制御（速度フィードバック制御）を実行し、ステッピングモータ１０１の回転速度が速度Ｓになるように制御する。具体的には、まずステップＳ８０４において、ＣＰＵ１０８は、エンコーダの割り込み信号の検出間隔を測定し（エンコーダの割り込み信号に同期して）、ステッピングモータ１０１の回転速度を算出する。このようにＣＰＵ１０８（回転速度検出手段１０８ａ）は、ステッピングモータ１０１の回転位置の検知信号を生成する周期でロータの回転速度を検出する。続いてステップＳ８０５において、ＣＰＵ１０８は、エンコーダの割り込み信号に同期して、ステッピングモータ１０１の回転速度が速度Ｓになるように駆動電圧を制御する。すなわちＣＰＵ１０８は、ステップＳ８０４にて算出した回転速度と目標速度Ｓとの偏差量を駆動電圧に反映させて、ステッピングモータ１０１の回転速度を制御する。前述のように、進角制御および駆動速度のフィードバック制御は、エンコーダの割り込み信号に同期して行われる。
【００４５】
ここで、図１０を参照して、電圧フィードバックによる速度制御について説明する。図１０は、電圧フィードバックによる速度制御の説明図である。ステッピングモータ１０１を所定の目標速度Ｓで駆動する際の定常駆動電圧をＶとする。定常駆動電圧Ｖは、ＣＰＵ１０８により設定される駆動電圧の制御範囲の中央値（上限電圧Ｖａと下限電圧Ｖｂとの中央）となる駆動電圧である。ＣＰＵ１０８は、定常駆動電圧Ｖを中心として電圧を微調整して、目標速度Ｓと現在の回転速度との偏差が０に近づくように制御する。
【００４６】
ＣＰＵ１０８は、抽出した数式データに基づいて、目標速度に応じた進角値を算出する。ＣＰＵ１０８が、算出した進角になるように進角制御を行うと、ステッピングモータ１０１は定常駆動電圧Ｖ０において目標速度付近の速度で回転する。このときＣＰＵ１０８は、ステッピングモータ１０１の実際の駆動速度（回転速度）を図８のステップＳ８０４にて算出し、実際の駆動速度と目標速度との偏差がある場合、ステップＳ８０５にて駆動電圧を変化させて駆動速度を制御する。このようにＣＰＵ１０８（電圧制御手段１０８ｅ）は、メモリ１２１に記憶された進角−速度データに対応する数式データに基づいて、速度ＳとステップＳ８０４にて算出された回転速度との偏差が所定の閾値の範囲内になるように駆動電圧を制御する。
【００４７】
駆動電圧によるステッピングモータ１０１の速度制御を行う場合、システムの電力設計などの理由により、駆動電圧には制限範囲が設定される。図１０に示される例では、駆動電圧の上限電圧をＶａ、下限電圧をＶｂとしている。ＣＰＵ１０８は、駆動電圧を上限電圧Ｖａと下限電圧Ｖｂとの間で変化させながら目標速度になるようにステッピングモータ１０１を制御する。
本実施形態において、電圧制御手段１０８ｅは、メモリ１２１に記憶された情報（進角と回転速度との関係を示す情報）とロータの回転速度および目標回転速度とに基づいて、駆動電圧を制御する。好ましくは、進角と回転速度との関係を示す情報は、駆動電圧ごとに（駆動電圧をパラメータとして）進角と回転速度との関係を示す複数の軌跡である。より好ましくは、進角制御手段１０８ｄは、第１の制御状態（状態０または状態２）において、複数の軌跡のうちの一つの軌跡に沿って進角を制御することにより目標回転速度を設定する。また電圧制御手段１０８ｄは、第２の制御状態（状態１）において、進角を固定した状態で駆動電圧を制御して目標回転速度を設定する。より好ましくは、第１の制御状態は、軌跡の傾き（進角の変化に対する回転速度の変化：変化率α）の絶対値が第１の所定値よりも大きい場合の制御状態であり、第２の制御状態は、軌跡の傾きの絶対値が第１の所定値よりも小さい場合の制御状態である。
【００４８】
このように本実施形態の制御装置１００は、進角制御と電圧による速度制御を併用することにより、開ループ制御では出せない高速駆動でありながら、任意の速度で速度制御することが可能となる。また、環境温度や個体差などのバラツキも電圧制御範囲内で吸収することができるため、実測による進角−速度データだけでは実現が困難な高精度な速度制御が可能となる。
【００４９】
（第２の実施形態）
次に、本発明の第２の実施形態について説明する。第１の実施形態では進角−速度データをテーブル化してメモリ（記憶手段）１２１に記憶するが、このような構成ではデータ量が多くなってしまう場合がある。そこで本実施形態の制御装置１００では、限られた速度範囲内における進角−速度データを予めメモリ１２１に記憶させておき、ＣＰＵ１０８はメモリ１２１に記憶されている進角−速度データを用いて目標進角を算出する。このような構成により、目標進角の算出に用いるデータ量を削減することができる。なお本実施形態において、第１の実施形態と共通の構成や動作についての説明は省略する。
【００５０】
図１１は、本実施形態におけるステッピングモータ１０１の進角と回転速度の関係を示す近似式の説明図である。本実施形態では、図４に示される進角−速度データを、図１１に示されるように直線近似を行い、以下の式（１）で表されるように回転速度Ｓと進角θとの関係を定数ａ、ｂを用いて数式化しておく。
【００５１】
Ｓ＝ａθ＋ｂ  …  （１）
具体的には、制御可能な駆動速度の範囲内で、進角−速度特性曲線における平均変化率が高く、比較的リニアリティが高い領域の進角−速度データを直線近似して算出して電圧ごとに記憶する。そしてＣＰＵ１０８（進角算出手段）は、メモリ１２１に予め記憶された、ステッピングモータ１０１の回転速度の所定の範囲における進角と回転速度との対応情報に基づいて、速度Ｓに応じた制御波形の進角値を目標進角として算出する。
【００５２】
図１２は、図５のそれぞれの駆動電圧における進角―速度データを直線近似した例の説明図である。１つの進角−速度データを記憶しているだけでは、図１１のように制御可能な駆動速度や設定可能な進角が制限されるが、図１２のように駆動電圧を変えた複数の進角−速度データの近似式を組み合わせることで、速度のダイナミックレンジを広げることが可能である。すなわち本実施形態の制御装置によれば、所定の進角のまま電圧を変化させても、所定の電圧のまま進角を変化させても駆動速度を制御することが可能である。
【００５３】
次に、図１３および図１４を参照して、本実施形態における制御装置１００の動作（制御方法）について説明する。図１３は、本実施形態における制御方法のフローチャートである。図１３の各ステップは、主に制御装置１００のＣＰＵ１０８により実行される。図１４は、本実施形態における制御方法の説明図である。図１４（Ａ）は回転速度Ｓと定常駆動電圧Ｖとの関係を示し、図１４（Ｂ）は進角θと回転速度Ｓとの関係を示している。
【００５４】
まずステップＳ１３０１において、ＣＰＵ１０８は、目標速度Ｓを設定する。そしてＣＰＵ１０８は、ステップＳ１３０２〜Ｓ１３０６において、定常駆動電圧Ｖおよび目標進角θを図７に従って決定する。定常駆動電圧Ｖは、速度フィードバック制御において、ステッピングモータ１０１を所定の目標速度で駆動するときの定常駆動電圧である。
【００５５】
ステップＳ１３０２において、ＣＰＵ１０８は、目標速度Ｓが速度Ｓ０よりも小さいか否かを判定する。目標速度Ｓが速度Ｓ０よりも小さい場合、ステップＳ１３０３へ進む。ステップＳ１３０３において、ＣＰＵ１０８は、図１４（Ａ）に従って、定常駆動電圧ＶをＶ１に設定する。またＣＰＵ１０８は、図１４（Ｂ）に従って、直線Ｓ＝ａ０θ＋ｂ０より目標進角θを設定する。
【００５６】
一方、ステップＳ１３０２にて目標速度Ｓが速度Ｓ０よりも大きい場合、ステップＳ１３０４へ進む。ステップＳ１３０４において、ＣＰＵ１０８は、目標速度Ｓが速度Ｓ１（Ｓ０＜Ｓ１）よりも小さいか否かを判定する。目標速度Ｓが速度Ｓ１よりも小さい場合、ＣＰＵ１０８は、図１４（Ａ）に従って、Ｖ＝ｐＳ＋ｑより定常駆動電圧Ｖを設定する。またＣＰＵ１０８は、図１４（Ｂ）に従って、目標進角θを進角θ１に設定する。
【００５７】
一方、ステップＳ１３０４にて目標速度Ｓが速度Ｓ１よりも大きい場合、ステップＳ１３０６へ進む。ステップＳ１３０６において、ＣＰＵ１０８は、図１４（Ａ）に従って、定常駆動電圧ＶをＶ２に設定する。またＣＰＵ１０８は、図１４（Ｂ）に従って、直線Ｓ＝ａ１θ＋ｂ１より目標進角θを設定する。
【００５８】
以上のように、ＣＰＵ１０８は、図１４に示される関係に従って、目標速度Ｓが速度Ｓ０よりも小さい場合または速度Ｓ１よりも大きい場合、定常駆動電圧を固定にして進角を変更することにより、速度を変更する。一方、ＣＰＵ１０８は、目標速度Ｓが速度Ｓ０〜Ｓ１の間である場合、進角を固定にして定常駆動電圧を変更することにより、速度を変更する。進角−速度データの近似直線は、平均変化率に基づいて、平均変化率が所定値より大きい部分を近似直線として、ＣＰＵ１０８に接続されているメモリ１２１に記憶されている。すなわち、進角−速度データの平均変化率が小さくなると、目標進角θをθ１に固定にして、定常駆動電圧を変更させてステッピングモータ１０１の回転速度を制御する。その後、定常駆動電圧Ｖを調節し、目標速度がＳ＝ａ１θ＋ｂ１上のＳ１に達すると、定常駆動電圧をＶ１に固定して進角を調節することにより、ステッピングモータ１０１の回転速度を制御する。
【００５９】
ステップＳ１３０３、Ｓ１３０５、Ｓ１３０６のいずれかの処理が完了した後、ステップＳ１３０７へ進む。ステップＳ１３０７において、ＣＰＵ１０８は、進角制御および速度フィードバック制御の並列処理を行い、ステッピングモータ１０１の回転速度が目標速度Ｓになるように制御する。なお、ステップＳ１３０７は、図８を参照して説明した第１の実施形態のステップＳ６１４と同様であるため、その説明を省略する。続いてステップＳ１３０８において、ＣＰＵ１０８は、停止指示を受けたか否かを判定する。ＣＰＵ１０８が停止指示を受けていない場合、ステップＳ１３０１に戻り、一連の処理を繰り返す。一方、停止指示を受けた場合、ＣＰＵ１０８はステッピングモータ１０１を停止させる。
【００６０】
本実施形態において、第１の制御状態は、軌跡のリニアリティが第２の所定値よりも小さい場合の制御状態であり、第２の制御状態は、軌跡のリニアリティが第２の所定値よりも大きい場合の制御状態である。好ましくは、メモリ１２１は、複数の軌跡のそれぞれを複数の近似式として記憶している。より好ましくは、メモリ１２１は、複数の軌跡のそれぞれを複数の直線近似式として記憶している。
【００６１】
（第３の実施形態）
次に、本発明の第３の実施形態について説明する。なお本実施形態において、第１の実施形態と共通の説明については省略する。
【００６２】
まず、図１５を参照して、本実施形態における進角制御および速度フィードバック制御の並列処理（ステップＳ６１４）について説明する。図１５は、進角制御および速度フィードバック制御のフローチャートである。図１５の各ステップは、主に、制御装置１００のＣＰＵ１０８により実行される。
【００６３】
まずステップＳ１５０１において、ＣＰＵ１０８は、エンコーダ回路１０７から得られたエンコーダの割り込み信号に同期してステッピングモータ１０１の回転位置を検出することにより、位相遅れ角ωを算出する。算出した位相遅れ角ωは、回転するステッピングモータ１０１の逆起電力などにより生じる。
【００６４】
続いてステップＳ１５０２において、ＣＰＵ１０８は、目標進角θと位相遅れ角ωとの差分絶対値Δを算出する。続いてステップＳ１５０３において、ＣＰＵ１０８は、差分絶対値Δが所定値ΔＴｈよりも大きいか否かを判定する。またＣＰＵ１０８は、制御状態が状態１（第２の制御状態）以外であるか否かを判定する。差分絶対値Δが所定値ΔＴｈよりも大きい場合、または、制御状態が状態１以外である場合、ステップＳ１５０４へ進む。
【００６５】
ステップＳ１５０４において、ＣＰＵ１０８は、位相遅れ角ωに対応するステッピングモータ１０１の回転速度（速度Ｕ）を算出する。速度Ｕは、図７に示されるテーブルデータとしてメモリ１２１に記憶されている進角−速度データより、位相遅れ角ωに対応する回転速度を参照することで求めることができる。続いてステップＳ１５０５において、ＣＰＵ１０８は、速度フィードバック制御の目標速度Ｖｔａｒｇとして速度Ｕ（第２の目標回転速度）を設定する。なお、ステップＳ１５０３にて差分絶対値Δが所定値ΔＴｈよりも大きい場合、速度フィードバックのサーボゲインを落として応答を弱くしてもよい。
【００６６】
一方、ステップＳ１５０３にて、差分絶対値Δが所定値ΔＴｈ以下の場合、かつ制御状態が状態１の場合、ステップＳ１５０６へ進む。ステップＳ１５０６において、ＣＰＵ１０８は、速度フィードバック制御の目標速度Ｖｔａｒｇとして速度Ｓ（第１の目標回転速度）を設定する。
【００６７】
続くステップＳ１５０７〜Ｓ１５０９は、図８のステップＳ８０２〜Ｓ８０４とそれぞれ同様である。ステップＳ１５１０において、ＣＰＵ１０８は、エンコーダの割り込み信号に同期して、ステッピングモータ１０１の回転速度が速度Ｖｔａｒｇになるように駆動電圧を制御する。すなわちＣＰＵ１０８は、ステップＳ１５００９にて算出した回転速度と目標速度Ｖｔａｒｇとの偏差量を駆動電圧に反映させて、ステッピングモータ１０１の回転速度を制御する。本実施形態によれば、図１５のフローチャートによる処理を繰り返し実行することにより、目標進角θに引き込む途中の進角αの変化に合わせて徐々に速度フィードバック処理に与える目標速度Ｖｔａｒｇを変更させることができる。
【００６８】
図１６は、本実施形態における進角制御の説明図である。図１６（Ａ）は、時間と進角との関係図であり、横軸は時間、縦軸は進角をそれぞれ示している。破線１１０１で示されるように目標進角θを時間ｔ０で変更した場合、検出される位相遅れ角ωは実線１１００のように変化して目標進角θへ引き込まれる。ここで、前述の進角と速度との関係を表す図１６（Ｂ）に示されるテーブルデータを用いることにより、前述の図１５のステップＳ１５０４における、位相遅れ角ωに対応するステッピングモータ１０１の回転速度（速度Ｕ）を算出することができる。図１６（Ｂ）のテーブルデータを参照することにより、進角の変化に応じて、ステッピングモータ１０１の回転速度（速度Ｕ０〜Ｕｔ）を求め、目標速度Ｖｔａｒｇとして速度フィードバック制御を行う。これにより、制御対象の速度が目標速度をオーバーシュートしないなど安定した制御を実現することができる。
【００６９】
本実施形態において、進角制御手段１０８ｄは、目標進角と進角検出手段１０８ｂにより検出された進角とに基づいて、ロータの目標回転速度としての第１の目標回転速度（速度Ｓ）を第２の目標回転速度（速度Ｕ）へ変更する。好ましくは、進角制御手段１０８ｄは、目標進角と進角検出手段１０８ｂにより検出された進角との差が第三の所定値よりも大きい場合、第１の目標回転速度を第２の目標回転速度へ変更する。一方、進角制御手段１０８ｄは、その差が第三の所定値よりも小さい場合、第２の目標回転速度として第１の目標回転速度を設定する。より好ましくは、電圧制御手段１０８ｅは、目標進角と進角検出手段１０８ｂにより検出された進角との差が第三の所定値よりも大きい場合、フィードバックゲインを弱める。また好ましくは、進角制御手段１０８ｄは、検知信号を検出するタイミングで第２の目標回転速度を設定する。
【００７０】
（その他の実施形態）
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【００７１】
各実施形態によれば、ステッピングモータの回転速度のダイナミックレンジを確保しつつ、滑らかな加減速が可能な制御装置、光学機器、制御方法、および、プログラムを提供することができる。
【００７２】
以上、本発明の好ましい実施形態について説明したが、本発明はこれらの実施形態に限定されず、その要旨の範囲内で種々の変形及び変更が可能である。
【符号の説明】
【００７３】
１００  制御装置
１０６  コンパレータ（生成手段）
１０８ａ  回転速度検出手段
１０８ｂ  進角検出手段
１０８ｃ  目標進角算出手段
１０８ｄ  進角制御手段
１０８ｅ  電圧制御手段
１２１  メモリ（記憶手段）
【図１】
0006987527.tif 000002
【図２】
0006987527.tif 000003
【図３】
0006987527.tif 000004
【図４】
0006987527.tif 000005
【図５】
0006987527.tif 000006
【図６】
0006987527.tif 000007
【図７】
0006987527.tif 000008
【図８】
0006987527.tif 000009
【図９】
0006987527.tif 000010
【図１０】
0006987527.tif 000011
【図１１】
0006987527.tif 000012
【図１２】
0006987527.tif 000013
【図１３】
0006987527.tif 000014
【図１４】
0006987527.tif 000015
【図１５】
0006987527.tif 000016
【図１６】
0006987527.tif 000017