(57)【特許請求の範囲】
【請求項１】
進角の制御によってモータの回転速度を制御するモータ制御装置であって、
前記モータの現在の速度を検出する速度検出手段と、
前記速度検出手段によって検出した前記モータの現在の速度と前記モータの目標速度との差分に基づいて進角の値を設定する第１の進角設定手段と、
前記モータの現在の速度に基づいて進角の値を設定する第２の進角設定手段と、
前記モータの現在の速度が第１の速度を下回る場合には、前記第２の進角設定手段によって設定される進角の値によって前記モータの回転速度を制御する制御手段を有することを特徴とするモータ制御装置。
【請求項２】
前記速度検出手段によって検出した前記モータの現在の速度と前記モータの目標速度との差分が所定時間以上継続するかどうかを判定する判定手段を有し、
前記判定手段によって前記差分が所定時間以上継続すると判定され、かつ前記モータの現在の速度が第１の速度を下回る場合に、前記制御手段は前記第２の進角設定手段によって設定される進角の値によって前記モータの回転速度を制御することを特徴とする請求項１に記載のモータ制御装置。
【請求項３】
前記モータの回転速度範囲ごとにそれぞれ予め設定される進角の値が記憶されるメモリを有し、
前記第２の進角設定手段は前記メモリから前記進角の値を読み出すことで、前記モータの現在の速度に基づいて進角の値を設定することを特徴とする請求項１または２に記載のモータ制御装置。
【請求項４】
前記モータの回転速度範囲ごとにそれぞれ予め設定される進角の値は、前記モータのトルクと回転速度の特性に基づいて設定されることを特徴とする請求項３に記載のモータ制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、モータ制御装置に関する。
【背景技術】
【０００２】
特許文献１及び２は、ロータの回転位置を検出する位置センサの出力を進相させた信号によってコイルに流す電流を切り替え、電流の立ち上がり遅れを防止して高速回転を確保するブラシレスモータを開示している。ここで、位置センサの出力パルスに対して進相させた駆動パルスの位相は「進角」と呼ばれている。
【０００３】
進角とモータの回転速度（ＰＰＳ：パルス／秒）との間には、一般には、進角を上げれば回転速度が高くなる関係があるため、現在の回転速度と目標速度との差分がゼロになるように進角を調節することによってモータ速度をフィードバック制御することができる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特公平０６−０６７２５９号公報
【特許文献２】特開２００２−３５９９９７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ブラシレスモータでは進角を上げてもトルクが上がるとは限らないため、外部負荷によってモータ速度が目標速度から低下した場合に進角を上げてもモータ速度が戻らず、フィードバック制御によって進角を上げ続ける結果、脱調が発生する場合がある。
【０００６】
そこで、本発明は、脱調を防止することが可能なモータ制御装置を提供することを例示的な目的とする。
【課題を解決するための手段】
【０００７】
本発明の一側面としてのモータ制御装置は、進角の制御によってモータの回転速度を制御するモータ制御装置であって、前記モータの現在の速度を検出する速度検出手段と、前記速度検出手段によって検出した前記モータの現在の速度と前記モータの目標速度との差分に基づいて進角の値を設定する第1の進角設定手段と、前記モータの現在の速度に基づいて進角の値を設定する第２の進角設定手段と、前記モータの現在の速度が第1の速度を下回る場合には、前記第２の進角設定手段によって設定される進角の値によって前記モータの回転速度を制御する制御手段を有することを特徴とする。
【発明の効果】
【０００８】
本発明によれば、脱調を防止することが可能なモータ制御装置を提供することができる。
【図面の簡単な説明】
【０００９】
【図１】本実施例のモータ制御装置のブロック図である。
【図２】進角制御を示すフローチャートである。（実施例１）
【図３】図２で示した処理をより詳細に示したフローチャートである。（実施例１）
【図４】本実施例の進角制御を示した説明図である。
【図５】進角制御を示すフローチャートである。（実施例２）
【図６】モータ１０１のトルクと回転速度の特性を示す線図である。
【発明を実施するための形態】
【００１０】
以下、添付図面を参照して、本発明の実施例について説明する。
【実施例１】
【００１１】
図１は、本実施例のモータ１０１の回転速度（回転数）を制御するモータ制御装置及びモータ１０１のブロック図である。
【００１２】
本実施例のモータ１０１はステッピングモータであり、例えば、撮像装置のズームレンズを駆動するモータに適用可能である。但し、本発明のモータはブラシレスモータの機能を有すれば足り、コイルと、マグネットを有して回転可能に構成されたロータ１０３とを有すれば足りる。
【００１３】
モータ１０１は、外周が複数の極（Ｓ極とＮ極）に着磁された円筒形のマグネット１０２を有するロータ１０３を有する。マグネット１０２は、角度位置に対し、径方向の磁力が、概ね正弦波上に変化するように着磁されている。なお、モータ１０１はインナーロータ型でもアウターロータ型でもよい。
【００１４】
モータ制御装置は、磁気センサ１０５ａ，１０５ｂ、ブリッジ回路１１０、エンコーダ部１０６、周期カウント部１０７、駆動パルス制御部１０８及びメモリ部１０９から構成されている。
【００１５】
磁気センサ１０５ａ，１０５ｂは、マグネット１０２の回転位置に応じた磁界変化を検出する。本実施例のモータ制御装置は、磁気センサ１０５ａ，１０５ｂがＮ極を検出した場合はＨｉｇｈ信号、Ｓ極を検出した場合はＬｏｗ信号とした２値化信号を出力し、これらの値に基づいてデジタル制御を行う。なお、３値，４値，５値などの多値化信号を用いてマグネットの位置を高精度に検出してもよい。また、磁気センサ１０５ａ，１０５ｂが、正弦波状でアナログ信号を出力し、その信号に基づいてアナログ制御でモータを制御するようにしてもよい。
【００１６】
磁気センサ１０５ａ，１０５ｂからの２値化されたセンサ矩形波は、エンコーダ部１０６、周期カウント部１０７及び駆動パルス制御部１０８にそれぞれ入力される。
【００１７】
エンコーダ部１０６は、磁気センサ１０５ａと磁気センサ１０５ｂのそれぞれのセンサ矩形波におけるＨｉｇｈ信号及びＬｏｗ信号の組み合わせからモータの回転角度を検出する。エンコーダ部１０６は、モータの回転角度からモータの現在の速度を検出する速度検出手段として機能する。
【００１８】
周期カウント部１０７は、磁気センサ１０５ａから入力されるセンサ矩形波の立ち上がりから次の立ち上がりまでの間に入力されるクロックの数をカウントする。これにより、磁気センサ１０５ａから入力される信号の周期を検出できる。磁気センサ１０５ｂからの信号についても同様である。
【００１９】
制御手段として機能する駆動パルス制御部１０８は、センサ矩形波、エンコーダ部１０６によるエンコード位置及び周期カウント部１０７による周期カウント値を用いて励磁パルスを生成し、ブリッジ回路１１０に送るマイクロプロセッサーである。ブリッジ回路１１０では、駆動パルス制御部１０８による励磁パルスに従い、コイル１０４ａ，１０４ｂに対して励磁を行う。また、駆動パルス制御部１０８には、差分値算出部１０８ａ及び進角設定部１０８ｂが含まれている。
【００２０】
差分値算出部１０８ａは、エンコーダ部１０６による回転角度から算出された現在速度と予めメモリ部１０９に記憶された目標速度との差分値を算出する。本実施例では、現在速度をエンコーダ部１０６による回転角度から算出するが、周期カウント部１０７から現在速度を算出してもよい。進角設定部１０８ｂは、励磁パルスを生成する際にセンサ矩形波を進相させる位相である進角を設定する。進角設定部１０８ｂが差分値算出部１０８ａにて求めた差分値に基づいて進角を設定することが本実施例の第１の進角設定手段に相当する。そして、進角設定部１０８ｂがメモリ部１０９に記憶されている進角に基づいて進角を設定することが本実施例の第２の進角設定手段に相当する。
【００２１】
メモリ部１０９には、モータ１０１の目標速度が記憶されているとともに、モータ１０１の回転速度範囲ごとに設定すべき進角の値が記憶されている。
【００２２】
メモリ部１０９に記憶されているモータ１０１の回転速度範囲ごとに設定すべき進角の値は、モータ１０１のトルクと回転数の特性に基づいて、予め設定されている。図６はモータ１０１のトルクと回転速度の特性を示す線図である。
【００２３】
図６に示すように、モータ１０１の回転速度が１５００ＰＰＳ未満である場合には、進角０°で駆動する場合が最も大きなトルクを発生する。進角０°で駆動する場合には、モータ１０１の回転速度が０であっても脱調することはない。モータ１０１は１５００ＰＰＳ以上の回転速度でも進角０°で駆動可能である。
【００２４】
モータ１０１の回転速度が１５００ＰＰＳ以上２０００ＰＰＳ未満である場合には、進角１０°で駆動する場合が最も大きなトルクを発生する。進角１０°で駆動する場合には、モータ１０１の回転速度が１５００ＰＰＳであっても脱調することはない。モータ１０１は２０００ＰＰＳ以上の回転速度でも進角１０°で駆動可能である。
【００２５】
モータ１０１の回転速度が２０００ＰＰＳ以上３０００ＰＰＳ未満である場合には、進角２０°で駆動する場合が最も大きなトルクを発生する。進角２０°で駆動する場合には、モータ１０１の回転速度が２０００ＰＰＳであっても脱調することはない。モータ１０１は３０００ＰＰＳ以上の回転速度でも進角２０°で駆動可能である。
【００２６】
モータ１０１の回転速度が３０００ＰＰＳ以上４０００ＰＰＳ未満である場合には、進角３０°で駆動する場合が最も大きなトルクを発生する。進角３０°で駆動する場合には、モータ１０１の回転速度が３０００ＰＰＳであっても脱調することはない。モータ１０１は４０００ＰＰＳ以上の回転速度でも進角３０°で駆動可能である。
【００２７】
モータ１０１の回転速度が４０００ＰＰＳ以上５０００ＰＰＳ未満である場合には、進角４０°で駆動する場合が最も大きなトルクを発生する。進角４０°で駆動する場合には、モータ１０１の回転速度が４０００ＰＰＳであっても脱調することはない。モータ１０１は５０００ＰＰＳ以上の回転速度でも進角４０°で駆動可能である。
【００２８】
したがって、メモリ部１０９には、モータ１０１の回転速度範囲が１５００ＰＰＳ未満である場合には、進角の値を０°に変更することが記憶されている。メモリ部１０９には、１５００ＰＰＳ以上２０００ＰＰＳ未満である場合には、進角の値を１０°に変更することが記憶されている。メモリ部１０９には、モータ１０１の回転速度範囲が２０００ＰＰＳ以上３０００ＰＰＳ未満である場合には、進角の値を２０°に変更することが記憶されている。メモリ部１０９には、３０００ＰＰＳ以上４０００ＰＰＳ未満である場合には、進角の値を３０°に変更することが記憶されている。メモリ部１０９には、モータ１０１の回転速度範囲が４０００ＰＰＳ以上５０００ＰＰＳ未満である場合には、進角の値を４０°に変更することが記憶されている。
【００２９】
以下、本実施例のモータ制御装置による制御について図２を用いて説明する。
【００３０】
本実施例のモータ制御装置は、モータ１０１の回転速度を予めメモリ部１０９に格納した目標速度で一定に保つために、コイル１０４ａ，１０４ｂに供給される電流の駆動パルスの進角を進角設定部１０８ｂによって変動させることで、モータ１０１を制御する。そのため、図２のフローチャートはモータ１０１の回転速度が目標速度付近まで到達した後に、モータ１０１の回転速度を一定に保つために駆動パルス制御部１０８が行う処理を示す。図２において、「Ｓ」はステップ（Ｓｔｅｐ）の略である。
【００３１】
まず、駆動パルス制御部１０８は、Ｓ１３０１で差分値算出部１０８ａの値に基づいてモータ１０１の現在速度とメモリ部１０９に格納されている目標速度の差分が存在するかを判定する。ここで、差分がないという判定は、測定できる誤差範囲内で現在速度と目標速度とが一致する場合に行うようにしてもよいし、予め設定された許容の範囲内に現在速度と目標速度の差分がある場合に行うようにしてもよい。
【００３２】
駆動パルス制御部１０８は、Ｓ１３０１において差分がないと判定した場合はＳ１３０６に進む。
【００３３】
駆動パルス制御部１０８は、Ｓ１３０１において差分があると判定した場合には、Ｓ１３０２でモータ１０１の回転速度を一定に保つために、従来のフィードバック制御と同様の処理を行う（以下、Ｓ１３０２の処理を第１の進角設定処理という）。この第１の進角設定処理では、進角設定部１０８ｂが、モータ１０１の現在速度が予めメモリ部１０９に格納されている目標速度となるように（即ち、差分値算出部１０８ａで算出された差分値がゼロになるように）進角の値を求める。
【００３４】
次に駆動パルス制御部１０８は、Ｓ１３０３においてモータ１０１の現在速度が予めメモリ部１０９に格納されている第１の制限速度（第１の速度）よりも下回ったかどうかを判別する。これにより、モータ１０１の回転速度が外部からの負荷によって下がったかどうかが判定できる。
【００３５】
Ｓ１３０３においてモータ１０１の現在速度が第１の制限速度を下回っていないと判定した場合は、駆動パルス制御部１０８はＳ１３０５において第１の処理で求めた値に進角を設定し、Ｓ１３０６に処理を進める。
【００３６】
Ｓ１３０３においてモータ１０１の現在速度が第１の制限速度を下回ったと判定した場合は、駆動パルス制御部１０８はＳ１３０４へ処理を進める。
【００３７】
Ｓ１３０４において駆動パルス制御部１０８は、Ｓ１３０２の第１の進角設定処理で求めた値を、モータの現在の速度に基づいて設定される進角に変更する。（以下、Ｓ１３０３及びＳ１３０４の処理を第２の進角設定処理という）。この変更は、メモリ部１０９に予め記憶された、モータ１０１の回転速度範囲ごとに設定すべき進角の値に基づいて行われる。駆動パルス制御部１０８はＳ１３０５において変更された値に進角を設定し、Ｓ１３０６に処理を進める。
【００３８】
駆動パルス制御部１０８は、Ｓ１３０６において本実施例のモータ制御がＯＮになっていると判定した場合はＳ１３０１に処理を戻し、ＯＦＦになっていると判定した場合は処理を終了する。
【００３９】
本実施例によれば、第１の進角設定処理で進角を求めた後にメモリ部１０９に記憶された進角を用いて第２の進角設定処理を行うことで、モータの回転速度を一定に保つ従来のモータ制御中に外部から負荷が掛かったとしても脱調を防止することができる。
【００４０】
以下、図３及び図４によって具体的な数値を用いて説明する。
【００４１】
図３は、図２のフローチャートにおけるＳ１３０３及びＳ１３０４、即ち、第２の処理において具体的な数値を与えて示したフローチャートである。図２と同様に、「Ｓ」はステップ（Ｓｔｅｐ）の略である。なお、図３および図４は目標速度が７５００ＰＰＳである場合を前提としている。
【００４２】
上述したように、メモリ部１０９には、モータ１０１の回転速度範囲ごとに設定すべき進角の値が記憶されている。
【００４３】
Ｓ１４０２において、駆動パルス制御部１０８は、モータ１０１の現在の回転速度が１５００ＰＰＳ未満であるかどうかを判定する。
【００４４】
Ｓ１４０２にて、モータ１０１の現在の回転速度が１５００ＰＰＳ未満であると、駆動パルス制御部１０８が判定した場合には、Ｓ１４０３に処理を進める。Ｓ１４０３では、駆動パルス制御部１０８が、メモリ部１０９からモータ１０１の回転速度範囲が１５００ＰＰＳ未満である場合の進角の値０°を読み出す。そして、Ｓ１３０２の第１の処理で求めた進角の値を、メモリ部１０９から読み出した進角の値である０°に変更する。その後、Ｓ１３０５に処理を進める。
【００４５】
Ｓ１４０２にて、モータ１０１の現在の回転速度が１５００ＰＰＳ未満であると、駆動パルス制御部１０８が判定しない場合には、Ｓ１４０４に処理を進める。
【００４６】
Ｓ１４０４において、駆動パルス制御部１０８は、モータ１０１の現在の回転速度が２０００ＰＰＳ未満であるかどうかを判定する。
【００４７】
Ｓ１４０４にて、モータ１０１の現在の回転速度が２０００ＰＰＳ未満であると、駆動パルス制御部１０８が判定した場合には、Ｓ１４０５に処理を進める。Ｓ１４０５では、駆動パルス制御部１０８が、メモリ部１０９からモータ１０１の回転速度範囲が１５００ＰＰＳ以上２０００ＰＰＳ未満である場合の進角の値１０°を読み出す。そして、Ｓ１３０２の第１の処理で求めた進角の値を、メモリ部１０９から読み出した進角の値である１０°に変更する。その後、Ｓ１３０５に処理を進める。
【００４８】
Ｓ１４０４にて、モータ１０１の現在の回転速度が２０００ＰＰＳ未満であると、駆動パルス制御部１０８が判定しない場合には、Ｓ１４０６に処理を進める。
【００４９】
Ｓ１４０６において、駆動パルス制御部１０８は、モータ１０１の現在の回転速度が３０００ＰＰＳ未満であるかどうかを判定する。
【００５０】
Ｓ１４０６にて、モータ１０１の現在の回転速度が３０００ＰＰＳ未満であると、駆動パルス制御部１０８が判定した場合には、Ｓ１４０７に処理を進める。Ｓ１４０７では、駆動パルス制御部１０８が、メモリ部１０９からモータ１０１の回転速度範囲が２０００ＰＰＳ以上３０００ＰＰＳ未満である場合の進角の値２０°を読み出す。そして、Ｓ１３０２の第１の処理で求めた進角の値を、メモリ部１０９から読み出した進角の値である２０°に変更する。その後、Ｓ１３０５に処理を進める。
【００５１】
Ｓ１４０６にて、モータ１０１の現在の回転速度が３０００ＰＰＳ未満であると、駆動パルス制御部１０８が判定しない場合には、Ｓ１４０８に処理を進める。
【００５２】
Ｓ１４０８において、駆動パルス制御部１０８は、モータ１０１の現在の回転速度が４０００ＰＰＳ未満であるかどうかを判定する。
【００５３】
Ｓ１４０８にて、モータ１０１の現在の回転速度が４０００ＰＰＳ未満であると、駆動パルス制御部１０８が判定した場合には、Ｓ１４０９に処理を進める。Ｓ１４０９では、駆動パルス制御部１０８が、メモリ部１０９からモータ１０１の回転速度範囲が３０００ＰＰＳ以上４０００ＰＰＳ未満である場合の進角の値３０°を読み出す。そして、Ｓ１３０２の第１の処理で求めた進角の値を、メモリ部１０９から読み出した進角の値である３０°に変更する。その後、Ｓ１３０５に処理を進める。
【００５４】
Ｓ１４０８にて、モータ１０１の現在の回転速度が４０００ＰＰＳ未満であると、駆動パルス制御部１０８が判定しない場合には、Ｓ１４１０に処理を進める。
【００５５】
Ｓ１４１０において、駆動パルス制御部１０８は、モータ１０１の現在の回転速度が５０００ＰＰＳ未満であるかどうかを判定する。
【００５６】
Ｓ１４１０にて、モータ１０１の現在の回転速度が５０００ＰＰＳ未満であると、駆動パルス制御部１０８が判定した場合には、Ｓ１４１１に処理を進める。Ｓ１４１１では、駆動パルス制御部１０８が、メモリ部１０９からモータ１０１の回転速度範囲が４０００ＰＰＳ以上５０００ＰＰＳ未満である場合の進角の値４０°を読み出す。そして、Ｓ１３０２の第１の処理で求めた進角の値を、メモリ部１０９から読み出した進角の値である４０°に変更する。その後、Ｓ１３０５に処理を進める。
【００５７】
Ｓ１４１０にて、モータ１０１の現在の回転速度が５０００ＰＰＳ未満であると、駆動パルス制御部１０８が判定しない場合には、Ｓ１３０２の第１の処理で求めた進角の値を変更することなく、Ｓ１３０５に処理を進める。
【００５８】
図３に示したフローチャートでは目標速度が７５００ＰＰＳから下がった場合を想定したが、目標速度が５１００ＰＰＳであった場合はＳ１４１０において第１の進角設定処理で求められた値、例えば３６°を維持する。次に、図３に示した処理によって得られる作用を、図４を用いて説明する。図４の実曲線は、外部からの負荷がない場合の進角とモータ１０１の回転速度との関係を示している。例えば、進角が２４°以上であればモータ１０１の回転速度を４０００ＰＰＳ以上にすることができ、進角が３５°以上であればモータ１０１の回転速度を５０００ＰＰＳ以上にすることができる。
【００５９】
進角６０°において目標速度７５００ＰＰＳの一定速度でモータが回転していたときに、外部からの過剰な負荷により、モータ１０１の現在速度が３５００ＰＰＳまで低下した場合を想定する。
【００６０】
このとき、駆動パルス制御部１０８は、現在速度が４０００ＰＰＳ未満となっているのでＳ１４０８の処理によってＳ１３０２の第１の処理によって求められた進角の値を３０°に変更する。上述したように、進角３０°という値は、モータ１０１の回転速度が３０００ＰＰＳでも脱調しない値であるので、外部からの過剰な負荷による急激な減速によってモータが脱調することを防げる。モータ１０１の回転速度が負荷によって５０００ＰＰＳ未満４０００ＰＰＳ以上となって進角の値を４０°とする場合も、負荷によって回転速度が３０００ＰＰＳ未満となって進角の値を２０°とする場合も同様に脱調を防ぐことができる。
【００６１】
また、現在速度が３５００ＰＰＳとなった場合、第１制御モードでのフィードバック処理時の目標値速度が７５００ＰＰＳにも関わらず現在速度が４０００ＰＰＳ未満となっている。そのため、進角設定部１０８ｂはＳ１４０８の処理によって進角を３０°に変更する。しかし、図３の実曲線で示されているように、モータ１０１は、外部からの負荷がかかっていないときには進角が３０°であっても４０００ＰＰＳ以上の速度で回転する。すなわち、過剰負荷がかかった状態から抜け出せば、進角が３０°に変更されていても４０００ＰＰＳ以上の速度で回転する。
【００６２】
過剰負荷がなくなりモータ１０１の回転速度が４０００ＰＰＳに達することで、進角設定部１０８ｂはＳ１４１０の処理により進角を４０°に変更する。モータ１０１は、図３の実曲線で描かれているように、進角が４０°のときに負荷のない状態で５０００ＰＰＳ以上の速度を出すことができ、負荷がかかった状態から抜け出していれば速度が５０００ＰＰＳに達し、進角をさらに上げることが可能になる。
【００６３】
要するに、過剰負荷がかかった状態から抜けだした時点で、目標速度７５００ＰＰＳに到達できることになる。
【００６４】
このように、本実施例のモータ制御装置は、メモリ部１０９にモータ１０１の回転速度範囲ごとに設定すべき進角の値が記憶され、駆動パルス制御部１０８がこの進角の値に基づいて、第１の処理で求めた進角の値を変更又は維持する。これによって、現在速度と目標速度との差分をフィードバックして速度制御を行うエンコーダ付きステッピングモータにおいて、脱調の耐性を向上させたモータの速度制御を行うことができる。
【実施例２】
【００６５】
次に、本発明の実施例２について図５を参照しながら説明する。実施例１と重複する構成は省略し、実施例１と異なる部分についてのみについて説明する。
【００６６】
本実施例の差分値算出部１０８ａは実施例１と異なり、モータ１０１の現在速度と予めメモリ部１０９に格納された目標速度との差分値の算出に加えて、差分値を時間積分する。
【００６７】
また、本実施例のメモリ部１０９は、実施例１と同様の情報に加えて後述する積分閾値（所定値）Ｓを格納している。
【００６８】
以下、本実施例によるモータ制御について図５を用いて説明する。
【００６９】
本実施例では、モータ制御装置において第１の処理により差分値算出部１０８ａで算出された目標速度と現在速度との差分値をフィードバックすることで設定する進角を求めた後に、図５のフローチャートに示す処理を行う。
【００７０】
図５のフローチャートは、Ｓ１５０１以外は図３のフローチャートと同様である。
【００７１】
駆動パルス制御部１０８は、Ｓ１５０１において差分値算出部１０８ａによって算出された時間積分値と予めメモリ部１０９に格納されている積分閾値Ｓ未満か判定する。
【００７２】
駆動パルス制御部１０８は、Ｓ１５０１において差分の時間積分値が積分閾値Ｓよりも小さいと判定した場合は、Ｓ１３０５に進み第１の処理で求められた進角の値に進角を設定する。
【００７３】
また、駆動パルス制御部１０８は、Ｓ１５０１において差分の時間積分値が積分閾値Ｓ以上と判定した場合は、Ｓ１３０３に処理を進める。以下、Ｓ１３０３からＳ１３０６まで、実施例１の図３又は図４に示した処理と同様の処理を行う。
【００７４】
このような本実施例の制御によれば、一定の緩衝時間を設け、モータに対して急激な制御変化を加えることを防ぎつつ脱調の耐性を向上させることができる。
【００７５】
なお、本実施例では、現在速度と目標速度に差分が生じた場合に進角の範囲を制限する前に差分の時間積分値を求めたが、要するに所定値以上の現在速度と目標速度の差分値が所定時間以上継続して発生したときに進角の制限を行うようにすればよい。
【００７６】
以上、本発明の好ましい実施例について説明したが、本発明はこれらの実施例に限定されず、その要旨の範囲内で種々の変形及び変更が可能である。
【符号の説明】
【００７７】
１０１  ステッピングモータ
１０２  マグネット
１０３  ロータ
１０４ａ，１０４ｂ  コイル
１０５ａ，１０５ｂ  磁気センサ
１０６  エンコーダ部
１０７  周期カウント部
１０８  駆動パルス制御部
１０８ａ  差分値算出部
１０８ｂ  進角設定部
１０９  メモリ部
１１０  ブリッジ回路
【図２】
0005539002.tif 000002
【図３】
0005539002.tif 000003
【図５】
0005539002.tif 000004
【図６】
0005539002.tif 000005
【図１】
0005539002.tif 000006
【図４】
0005539002.tif 000007