(57)【要約】【課題】  大幅なコストアップを招くことなく、ステッピングモータを駆動する際の消費電力を低減させる。【解決手段】  ＣＰＵ１０８は、Ａ相用コイル１１３およびＢ相用コイル１１４に印加される電圧信号に対してロータ１１９の追従遅れがない場合にＥＮＣ０信号またはＥＮＣ１信号が変化するタイミングにおけるテーブル番号と、Ａ相用コイル１１３およびＢ相用コイル１１４に印加される電圧信号に対してロータ１１９の追従遅れがある場合にＥＮＣ０信号またはＥＮＣ１信号が変化するタイミングにおけるテーブル番号との差分を求め、この差分に基づいてＡ相用コイル１１３およびＢ相用コイル１１４に印加される電圧信号制御する。【選択図】  図２
2014220868.tif 000002
【特許請求の範囲】
【請求項１】
コイルに通電することでロータを回転させるステッピングモータと、
周期的に変化する駆動信号を前記コイルに供給する駆動手段と、
前記ロータの回転に対応して出力信号が変化する信号出力手段と、
前記駆動手段を制御する制御手段と、を有し、
前記制御手段は、前記駆動信号に対して前記ロータの追従遅れがない場合に前記出力信号が変化するタイミングにおける前記駆動信号の状態と、前記駆動信号に対して前記ロータの追従遅れがある場合に前記出力信号が変化するタイミングにおける前記駆動信号の状態との差分を求め、
前記駆動手段は、前記差分に基づいて前記駆動信号の電圧を制御することを特徴とするモータ駆動装置。
【請求項２】
前記制御手段は、前記駆動信号に対して前記ロータの追従遅れがある場合に前記出力信号が変化する度に、前記差分を求めることを特徴とする請求項１記載のモータ駆動装置。
【請求項３】
前記ステッピングモータが１回転する間に前記出力信号が変化する回数は、前記ステッピングモータが１回転する間に前記駆動信号の状態が変化する回数より少ないことを特徴とする請求項１または２記載のモータ駆動装置。
【請求項４】
コイルに通電することでロータを回転させるステッピングモータと、周期的に変化する駆動信号を前記コイルに供給する駆動手段と、前記ロータの回転に対応して出力信号が変化する信号出力手段と、前記駆動手段を制御する制御手段と、を有するモータ駆動装置の制御方法であって、
前記駆動信号に対して前記ロータの追従遅れがない場合に前記出力信号が変化するタイミングにおける前記駆動信号の状態と、前記駆動信号に対して前記ロータの追従遅れがある場合に前記出力信号が変化するタイミングにおける前記駆動信号の状態との差分を求め、
前記差分に基づいて前記コイルに供給する電圧を制御することを特徴とするモータ駆動装置の制御方法。
【請求項５】
前記駆動信号に対して前記ロータの追従遅れがある場合に前記出力信号が変化する度に、前記差分を求めることを特徴とする請求項４記載の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ステッピングモータの駆動装置およびその制御方法に関し、特に駆動装置の消費電力を低減させる技術に関する。
【背景技術】
【０００２】
ステッピングモータは小型、高トルク、高寿命という特徴を有し、開ループ制御により容易にデジタル的な位置決め動作を実現することができるため、カメラや光ディスク装置等の情報家電、或いは、プリンタやプロジェクタ等のＯＡ機器等に広く用いられている。
【０００３】
ステッピングモータの回転速度変化またはモータ電流変化によりステッピングモータの脱調を検出し、ステッピングモータが脱調しない範囲でステッピングモータの駆動電圧を低く設定することが知られている（特許文献１参照）
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平２−１５１２９８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、高精度なロータリーエンコーダは高価であるため、ステッピングモータの大幅なコストアップを招く。
【０００６】
また、モータ電流変化にて脱調を高精度に検出する場合には、例えばステッピングモータの個体等を考慮して脱調判定基準を設定しなければならず、大幅なコストアップを招くという課題があった。
【０００７】
本発明は、大幅なコストアップを招くことなく、ステッピングモータを駆動する際の消費電力を低減させることを目的とする。
【課題を解決するための手段】
【０００８】
本発明に係るモータ駆動装置は、コイルに通電することでロータを回転させるステッピングモータと、
周期的に変化する駆動信号を前記コイルに供給する駆動手段と、前記ロータの回転に対応して出力信号が変化する信号出力手段と、前記駆動手段を制御する制御手段と、を有し、前記制御手段は、前記駆動信号に対して前記ロータの追従遅れがない場合に前記出力信号が変化するタイミングにおける前記駆動信号の状態と、前記駆動信号に対して前記ロータの追従遅れがある場合に前記出力信号が変化するタイミングにおける前記駆動信号の状態との差分を求め、前記駆動手段は、前記差分に基づいて前記駆動信号の電圧を制御することを特徴とする。
【発明の効果】
【０００９】
本発明によれば、大幅なコストアップを招くことなく、ロータマグネットの回転位置を高精度に検出することができる。
【図面の簡単な説明】
【００１０】
【図１】本発明の実施形態に係るモータユニットの外観構成を示す斜視図である。
【図２】図１のモータユニットを駆動するモータ制御部の構成を説明するブロック図である。
【図３】図１のモータユニットが備えるステッピングモータの構成と、ステッピングモータが備えるロータ、ｃｈ０フォトインタラプタ、ｃｈ１フォトインタラプタ、スリット回転板およびステータの物理的な位置関係を示す図である。
【図４】モータドライバの動作を説明する図である。
【図５】正弦波発生器に格納されるテーブル番号を説明する図である。
【図６】ロータを正転方向／逆転方向にそれぞれ回転させるためにコイルに印加される電圧信号を示す図である。
【図７】ロータをＮ極とＳ極とが１極ずつの構成にモデル化した図である。
【図８】ロータを正転方向に回転させた際にロータの電気角と回転位置との関係を説明する図である。
【図９】ロータを正転方向に回転させた際の各コイルに印加する電圧信号、ロータの回転位置、各フォトインタラプタからの出力の関係を示す図である。
【図１０】ロータを逆転方向に回転させた際にロータの電気角と回転位置との関係を説明する図である。
【図１１】ロータを逆転方向に回転させた際の各コイルに印加する電圧信号、ロータの回転位置、各フォトインタラプタからの出力の関係を示す図である。
【図１２】ステッピングモータの駆動方法を示す第１のフローチャートである。
【図１３】ステッピングモータの駆動方法を示す第２のフローチャートである。
【図１４】変数ＤｉｆｆＣｎｔに格納される値とＡ相用コイルおよびＢ相用コイルに印加する駆動電圧との関係を示すグラフである。
【発明を実施するための形態】
【００１１】
以下、本発明の実施形態について添付図面を参照して詳細に説明する。図１は、本発明の実施形態に係るモータ駆動ユニット１００の外観構成を示す斜視図である。モータ駆動ユニット１００は、ステッピングモータ１０１、ロータ軸１０２、ｃｈ０フォトインタラプタ１０３、ｃｈ１フォトインタラプタ１０４およびスリット回転板１０５を備える。
【００１２】
モータ駆動ユニット１００において、スリット回転板１０５は、ロータ軸１０２に取り付けられており、明領域と暗領域との角度比率が５０：５０となるように設計されている。ステッピングモータ１０１を駆動すると、スリット回転板１０５が回転し、ｃｈ０フォトインタラプタ１０３とｃｈ１フォトインタラプタ１０４の出力信号は、後述の通りに変化する。
【００１３】
図２は、モータ駆動ユニット１００の構成を説明するブロック図である。図２に示す符号１０１〜１０５は、図１に示す符号１０１〜１０５に対応する。ステッピングモータ１０１は、Ａ相用コイル１１３、Ｂ相用コイル１１４、Ａ相＋側ステータ１１５、Ａ相−側ステータ１１６、Ｂ相＋側ステータ１１７、Ｂ相−側ステータ１１８およびロータマグネット１１９（以下「ロータ１１９」という）を備える。Ａ相用コイル１１３またはＢ相用コイル１１４に通電することで、ロータ１１９は回転する。なお、以下の説明において、Ａ相＋側ステータ１１５、Ａ相−側ステータ１１６、Ｂ相＋側ステータ１１７およびＢ相−側ステータ１１８を総じて、適宜、ステータと称する。
【００１４】
コンパレータ１０６は、ｃｈ０フォトインタラプタ１０３とｃｈ１フォトインタラプタ１０４から出力されるアナログ信号を受信し、予め設定された閾値電圧によって２値化された信号を後段のエンコーダ回路１０７へ出力する。本実施形態では、ステッピングモータ１０１を回転ムラなく一定の回転速度で回転させたときに、コンパレータ１０６の出力におけるＨｉｇｈとＬｏｗの比率が５０：５０となるように、閾値電圧が予め設定されている。以下、ｃｈ０フォトインタラプタ１０３の信号を２値化した信号をＥＮＣ０信号と称呼し、ｃｈ１フォトインタラプタ１０４の信号を２値化した信号をＥＮＣ１信号と称呼する。本実施形態では、ｃｈ０フォトインタラプタ１０３、ｃｈ１フォトインタラプタ１０４、スリット回転板１０５、コンパレータ１０６およびエンコーダ回路１０７が信号出力手段に対応する。また、ｃｈ０フォトインタラプタ１０３およびｃｈ１フォトインタラプタ１０４の分解能は、前述の通りに、コンパレータ１０６による２値化が可能な範囲で、正弦波発生器１０９の分解能よりも低いものを用いる。
【００１５】
エンコーダ回路１０７は、ＥＮＣ０信号とＥＮＣ１信号の出力タイミングの取得と、信号による位置カウントと、信号周期カウントとを行う。エンコーダ回路１０７は、ＥＮＣ０信号のＬｏｗからＨｉｇｈへの変化およびＨｉｇｈからＬｏｗの変化と、ＥＮＣ１信号のＬｏｗからＨｉｇｈの変化およびＨｉｇｈからＬｏｗの変化との４種の信号出力タイミングを取得可能である。ＣＰＵ１０８は、エンコーダ回路１０７の４種の信号出力タイミングに合わせて割り込み処理をかけることができる。その際に、ＣＰＵ１０８は割り込み要因の４つの信号種別を判別する。
【００１６】
ＣＰＵ１０８は、予め保存されているプログラムを実行する機能を備え、また、ＣＰＵ１０８は、バス１１０を介してエンコーダ回路１０７、ＰＷＭ発生器１１１に対してアクセスすることができる。
【００１７】
正弦波発生器１０９は、正弦波を発生させるものであって、発生させる正弦波１周期を５１２分割したテーブルを備えている。正弦波発生器１０９は、０から５１１までのテーブル番号に対応するＰＷＭ値をＰＷＭ発生器１１１に送る、ＰＷＭ発生器１１１は、ＰＷＭ信号をモータドライバ１１２に出力する。モータドライバ１１２は入力されたＰＷＭ信号を増幅させてステッピングモータ１０１のコイル（Ａ相用コイル１１３およびＢ相用コイル１１４）に供給する。
【００１８】
正弦波発生器１０９からステッピングモータ１０１への駆動信号の供給に関して、図４および図５を参照して詳細に説明する。図４は、モータドライバ１１２の動作を説明する図である。図４（ａ）には、スイッチ４０１〜４０４を介して、Ａ相用コイル１１３が接続されている状態が示されている。ＰＷＭ発生器１１１から出力されるＡ相用のＰＷＭ信号がＨｉｇｈ信号である場合、スイッチ４０１とスイッチ４０４が閉じられ、図４（ｂ）の状態となる。この状態では、Ａ相用コイル１１３の両端にはＡ側を高電位としてモータドライバ１１２に供給されている電圧Ｖｃｃ分の電位差が生じる。このとき、Ａ相用コイル１１３のＢ側に対するＡ側の電位は、図４（ｆ）に図示するように、＋Ｖｃｃとなる。また、このとき、Ａ相用コイル１１３を流れる電流は、図４（ｉ）に図示するように、＋Ｉになる。
【００１９】
一方、ＰＷＭ発生器１１１から出力されるＡ相用のＰＷＭ信号がＬｏｗ信号である場合、スイッチ４０２とスイッチ４０３が閉じられ、図４（ｃ）の状態となる。このとき、Ａ相用コイル１１３の両端にはＢ側を高電位としてモータドライバ１１２に供給されている電圧Ｖｃｃ分の電位差が生じる。このとき、Ａ相用コイル１１３のＢ側に対するＡ側の電位は、図４（ｇ）に図示するように、−Ｖｃｃになる。また、このとき、Ａ相用コイル１１３に流れる電流は、図４（ｊ）に図示するように、−Ｉになる。
【００２０】
図４（ｄ），（ｅ）は、図４（ｂ），（ｃ）の状態を短時間で繰り返した場合を示している。図４（ｈ）は、図４（ｄ），（ｅ）の状態におけるＡ相用コイル１１３のＢ側に対するＡ側の電位を示す図である。図４（ｋ）は、図４（ｄ），（ｅ）の状態におけるＡ相用コイル１１３を流れる電流を示す図である。図４（ｄ），（ｅ）の状態を等しい時間間隔で繰り返すと、図４（ｈ）に示されるように、−Ｖｃｃと＋Ｖｃｃの２値の矩形波状の電圧信号が発生する。この矩形波状の電圧信号がＡ相用コイル１１３に印加されると、コイルの電流遅れ成分により、電圧信号が平滑化された形で電流波形が現れ、−Ｖｃｃと＋Ｖｃｃとがそれぞれ５０％の場合には、電流が実効的に０（ゼロ）となる。従って、ＰＷＭ信号のＨｉｇｈ信号率（以下、ＤＵＴＹ比率という）が５０％のときに出力が０Ｖの定常電圧、１００％のときに＋Ｖｃｃの定常電圧、７５％のときに＋Ｖｃｃ／２の定常電圧が掛かっているのと等価として扱うことができる。
【００２１】
そこで、正弦波発生器１０９には、５１２個のテーブル番号のそれぞれにＰＷＭ信号のＤＵＴＹ比率（％）の値が格納されている。図５は、正弦波発生器１０９に格納される０から５１１までのテーブル番号を説明する図である。図５に図示するように、正弦波の０°（度）位相にテーブル番号０、正弦波の１８０°位相にテーブル番号２５６が対応する。テーブル番号０および２５６には、ＤＵＴＹ比率５０％の値が格納され、その後のテーブル番号には正弦波の位相に応じてＰＷＭ信号のＤＵＴＹ比率の値が格納されている。図５に図示するように、本実施形態では、Ｎ極励磁のピークとなるテーブル番号１２８にＤＵＴＹ比率１００％より小さな値を格納し、Ｓ極励磁のピークとなるテーブル番号３８４にＤＵＴＹ比率０％より大きな値を格納している。もし、Ｎ極励磁のピークとなるテーブル番号１２８にＤＵＴＹ比率１００％の値を格納すると、正弦波発生器１０９がテーブル番号１２８を出力するときには、ＰＷＭ発生器１１１に＋Ｖｃｃの値を出力することになり、正弦波のゲインを変更することができない。このような点を考慮して、本実施形態では、Ｎ極励磁のピークとなるテーブル番号１２８はＤＵＴＹ比率１００％より小さな値に設定している。
【００２２】
図４および図５にて説明したように、ステッピングモータ１０１のコイル（Ａ相用コイル１１３およびＢ相用コイル１１４）に正弦波状の電圧信号を印加することができる。すなわち、本実施形態では、ステッピングモータ１０１をマイクロステップ駆動している。以下の説明では、Ａ相用コイル１１３およびＢ相用コイル１１４に印加される電圧信号は正弦波であるとする。
【００２３】
本実施形態では、正弦波発生器１０９、ＰＷＭ発生器１１１およびモータドライバ１１２が駆動手段に対応し、Ａ相用コイル１１３およびＢ相用コイル１１４に印加される正弦波状の電圧信号が周期的に変化する駆動信号に対応する。また、本実施形態では、正弦波発生器１０９が正弦波１周期を５１２分割しているので、ステッピングモータ１０１が１回転する間にＡ相用コイル１１３およびＢ相用コイル１１４に印加される正弦波状の電圧信号の状態が５１２回変化する。すなわち、ステッピングモータ１０１が１回転する間にコンパレータ１０６がＥＮＣ０信号およびＥＮＣ１信号を出力する回数は、ステッピングモータ１０１が１回転する間にＡ相用コイル１１３およびＢ相用コイル１１４に印加される正弦波状の電圧信号の状態が変化する回数よりも少ない。
【００２４】
図２の説明に戻る。Ａ相用コイル１１３は、正弦波状の電圧信号を受けて、Ａ相＋側ステータ１１５およびＡ相−側ステータ１１６に磁極をそれぞれ励磁する。同様に、Ｂ相用コイル１１４は、正弦波状の電圧信号を受けて、Ｂ相＋側ステータ１１７およびＢ相−側ステータ１１８に磁極をそれぞれ励磁する。Ａ相用コイル１１３に印加される電圧信号とＢ相用コイル１１４に印加される電圧は互いに位相が異なっている。図３および図６を参照して、Ａ相用コイル１１３に印加される正弦波状の電圧信号、Ｂ相用コイル１１４に印加される正弦波状の電圧信号、ステータに励磁される磁極、ロータ１１９の停止位置およびスリット回転板１０５の位置の関係について説明する。
【００２５】
図３（ａ）は、ステッピングモータ１０１の構成を説明する図である。ロータ１１９は、自由に回転可能であり、ロータ１１９の周囲には物理角で１８°毎にステータ（Ａ相＋側ステータ１１５、Ａ相−側ステータ１１６、Ｂ相＋側ステータ１１７およびＢ相−側ステータ１１８）が、図３（ａ）に示す通りに配置されている。
【００２６】
Ａ相用コイル１１３に印加される電圧信号が正弦波形の正の領域にあるときには、Ａ相＋側ステータ１１５にＮ極が励磁され、Ａ相−側ステータ１１６にＳ極が励磁される。Ａ相用コイル１１３に印加される電圧信号が正弦波形の負の領域にあるときには、Ａ相＋側ステータ１１５にＳ極が励磁され、Ａ相−側ステータ１１６にＮ極が励磁される。
【００２７】
Ｂ相用コイル１１４に印加される電圧信号が正弦波形の正の領域にあるときには、Ｂ相＋側ステータ１１７にＮ極が励磁され、Ｂ相−側ステータ１１８にＳ極が励磁される。Ｂ相用コイル１１４に印加される電圧信号が正弦波形の負の領域にあるときには、Ｂ相＋側ステータ１１７にＳ極が励磁され、Ｂ相−側ステータ１１８にＮ極が励磁される。
【００２８】
図６（ａ）は、ロータ１１９を正転方向に回転させるためにＡ相用コイル１１３およびＢ相用コイル１１４に印加する正弦波状の電圧信号を示す図である。また、図６（ｂ）は、ロータ１１９を正転方向とは逆の逆転方向に回転させるためにＡ相用コイル１１３およびＢ相用コイル１１４に印加する正弦波状の電圧信号を示す図である。なお、図６では、正弦波形の正領域にＮ極、負領域にＳ極と書かれているが、これはＡ相＋側ステータ１１５およびＢ相＋側ステータ１１７に励磁される磁極を示している。このとき、Ａ相−側ステータ１１６に励磁される磁極はＡ相＋側ステータ１１５の反対の磁極になり、Ｂ相−側ステータ１１８に励磁される磁極はＢ相＋側ステータ１１７の反対の磁極になる。
【００２９】
ロータ１１９を正転方向に回転させる際に、正弦波発生器１０９は、テーブル番号を正方向に進めて駆動信号を生成する。ロータ１１９を逆転方向に回転させる際に、正弦波発生器１０９は、テーブル番号を逆方向に進めて駆動信号を生成する。また、Ａ相用コイル１１３およびＢ相用コイル１１４への出力は、ロータ１１９を正転方向に回転させる際には、Ａ相用コイル１１３への出力がｓｉｎ波、Ｂ相用コイル１１４への出力がｃｏｓ波となる。このとき、Ｂ相用コイル１１４への出力はＡ相用コイル１１３への出力に対して９０°進む。ロータ１１９を逆転方向に回転させる際には、Ｂ相用コイル１１４への出力はＡ相用コイル１１３への出力に対して９０°遅れる。図３（ｂ），（ｃ）は、ロータ１１９、ｃｈ０フォトインタラプタ１０３、ｃｈ１フォトインタラプタ１０４、スリット回転板１０５、Ａ相＋側ステータ１１５およびＢ相＋側ステータ１１７の物理的な位置関係を示す図である。なお、本実施形態では、ステッピングモータ１０１は、図３（ａ）に示すように２０個のステータを備えるが、図３（ｂ），（ｃ）では、Ａ相＋側ステータ１１５およびＢ相＋側ステータ１１７の位置で代表させている。
【００３０】
図３（ｂ）は、ロータ１１９の着磁位相とスリット回転板１０５とが基準位置関係にある状態を示している。ここで、基準位置関係とは、ロータ１１９のＮ極領域とスリット回転板１０５の明領域とが一致する位置関係である。すなわち、スリット回転板１０５が基準位置関係でロータ１１９に取り付けられていれば、ロータ１１９のＮ極領域とスリット回転板１０５の明領域とが一致する。
【００３１】
図３（ｃ）は、図３（ｂ）に示す基準位置関係からスリット回転板１０５が逆転方向に電気角で１８０°だけずれた位置でロータ１１９に取り付けられた状態を示している。ここで、電気角とは、コイルに印加する駆動信号が１周期分変化したときに、ロータが３６０°回転すると定義したものである。よって、本実施形態の場合、スリット回転板１０５とロータ１１９の物理角度７２°が電気角３６０°に相当する。
【００３２】
図３（ａ）に示すように、Ａ相＋側ステータ１１５から逆転方向に物理角１８°だけ離れた位置にＢ相＋側ステータ１１７が配置される。本実施形態では、ｃｈ０フォトインタラプタ１０３がＢ相＋側ステータ１１７と同じ位置に配置され、ｃｈ１フォトインタラプタ１０４がＡ相＋側ステータ１１５と同じ位置に設置されている。これよって、ロータ１１９と共に回転するスリット回転板１０５の回転に対応して、ｃｈ０フォトインタラプタ１０３とｃｈ１フォトインタラプタ１０４はそれぞれ、ロータ１１９の着磁位相に対応した信号を出力する。すなわち、ロータ１１９の回転に対応して、ｃｈ０フォトインタラプタ１０３またはｃｈ１フォトインタラプタ１０４から出力される信号が変化する。
【００３３】
図７は、図３に示すようにＮ極とＳ極とを５極ずつ備えるロータ１１９を、Ｎ極とＳ極とを１極ずつ備える構成にモデル化した図である。このようなモデル化を行うことにより、電気角と物理角とを一致させることができる。以後の説明は、このモデルを用いて行う。
【００３４】
図７（ａ）の左側図は、ロータ１１９の着磁位相とスリット回転板１０５の明暗位相とが基準位置関係にある状態を示している。また、図７（ａ）の右側図（グラフ）は、図７（ａ）の左側図の状態からロータ１１９を正転方向にθ°回転させた場合のＥＮＣ０信号とＥＮＣ１信号の出力変化を示している。なお、図７にあるＥＮＣ０信号はｃｈ０フォトインタラプタ１０３の出力を２値化した信号であり、ＥＮＣ１信号はｃｈ１フォトインタラプタ１０４の出力を２値化した信号である。
【００３５】
図７（ｂ）の左側図は、図７（ａ）の左側図の状態に対してスリット回転板１０５が電気角でα°だけ逆転方向にずれた状態を示している。図７（ｂ）の右側図（グラフ）は、図７（ｂ）の左側図の状態からロータ１１９を正転方向にθ°回転させた場合のＥＮＣ０信号とＥＮＣ１信号の出力変化を示している。図７（ｂ）の状態では、図７（ａ）の状態と比較して、ＥＮＣ０信号とＥＮＣ１信号が電気角でα°だけ遅れて出力される。ロータ１１９を逆転方向に回転させた場合、ＥＮＣ０信号とＥＮＣ１信号は、電気角α°だけ進んで出力される。なお、スリット回転板１０５の取り付け位置のずれ角度（α°）は、モータ駆動ユニット１００の製造時に特定されている。
【００３６】
図８は、ロータ１１９を正転方向に回転させた際に、ロータ１１９の電気角とロータ１１９の回転位置との関係を説明する図である。図８（ａ）は、Ａ相用コイル１１３およびＢ相用コイル１１４に印加する正弦波状の電圧信号に対してロータ１１９の追従遅れが生じていない場合を示している。図８（ｂ）は、Ａ相用コイル１１３およびＢ相用コイル１１４に印加する正弦波状の電圧信号に対してロータ１１９の追従遅れが生じている場合を示している。図８（ａ）および（ｂ）には、ロータ１１９の電気角が０°，９０°，１８０°，２７０°となる状態がそれぞれ示されている。図８（ａ）および（ｂ）に図示されるロータ１１９の電気角が０°では、Ａ相＋側ステータ１１５にＳ極が励磁され、Ｂ相＋側ステータ１１７にはＮ極もＳ極も励磁されていない。図８（ａ）および（ｂ）に図示されるロータ１１９の電気角が９０°では、Ａ相＋側ステータ１１５にはＮ極もＳ極も励磁されず、Ｂ相＋側ステータ１１７にＮ極が励磁される。図８（ａ）および（ｂ）に図示されるロータ１１９の電気角１８０°のときにはＡ相＋側ステータ１１５にＮ極が励磁され、Ｂ相＋側ステータ１１７にはＮ極もＳ極も励磁されていない。図８（ａ）および（ｂ）に図示されるロータ１１９の電気角２７０°のときにはＡ相＋側ステータ１１５にはＮ極もＳ極も励磁されず、Ｂ相＋側ステータ１１７にＳ極が励磁される。図８（ａ）でも、図８（ｂ）でも、それぞれの状態でＡ相＋側ステータ１１５およびＢ相＋側ステータ１１７に励磁される磁極は同じであるが、図８（ｂ）では、ロータ１１９の追従遅れ８０１が生じている。
【００３７】
図９は、ロータ１１９を正転方向に回転させた際の、Ａ相用コイル１１３およびＢ相用コイル１１４に印加する電圧信号と、ロータ１１９の回転位置と、ｃｈ０フォトインタラプタ１０３およびｃｈ１フォトインタラプタ１０４の出力との関係を示している。
【００３８】
図９（ａ）は、Ａ相用コイル１１３に印加される正弦波状の電圧信号を示し、図９（ｂ）は、Ｂ相用コイル１１４に印加される正弦波状の電圧信号を示す図である。図９（ａ）にて、Ａ相用コイル１１３に印加される正弦波状の電圧信号が正の領域となるとき、Ａ相＋側ステータ１１５にはＮ極が励磁され、Ａ相用コイル１１３に印加される正弦波状の電圧信号が負の領域となるとき、Ａ相＋側ステータ１１５にはＳ極が励磁される。図９（ｂ）にて、Ｂ相用コイル１１４に印加される正弦波状の電圧信号が正の領域となるとき、Ｂ相＋側ステータ１１７にはＮ極が励磁され、Ｂ相用コイル１１４に印加される正弦波状の電圧信号が負の領域となるとき、Ｂ相＋側ステータ１１７にはＳ極が励磁される。
【００３９】
図８（ａ）および（ｂ）に示す電気角０°，９０°，１８０°，２７０°の状態は、図９に示す電気角０°，９０°，１８０°，２７０°の状態に対応している。すなわち、Ａ相用コイル１１３に図９（ａ）に図示される正弦波状の電圧信号を印加し、Ｂ相用コイル１１４に、図９（ｂ）に図示される正弦波状の電圧信号を印加すると、ロータ１１９は図８（ａ）または（ｂ）のように回転する。
【００４０】
図９（ｄ）は、Ａ相用コイル１１３に印加される正弦波状の電圧信号に基づいて正弦波発生器１０９から出力されるテーブル番号の変化を示す図である。Ａ相用コイル１１３に印加される正弦波状の電圧信号１周期で、正弦波発生器１０９から出力されるテーブル番号は０から５１２まで変化する。正弦波発生器１０９から出力されるテーブル番号を検出することで、Ａ相用コイル１１３に印加される電圧信号の位相（状態）を検出することができる。また、Ａ相用コイル１１３に印加される電圧信号とＢ相用コイル１１４に印加される電圧信号の位相差は９０°であることが分かっているので、正弦波発生器１０９から出力されるテーブル番号を検出することで、Ｂ相用コイル１１４に印加される電圧信号の位相（状態）も検出することができる。
【００４１】
図９（ｃ）は、正弦波発生器１０９から出力されるテーブル番号を積算した値である。この値は、ロータ１１９が１回転すると５１２増加する。本実施形態では、ロータ１１９の電気角が最初に０°になるとき、テーブル番号の積算値は１４０８となり、ロータ１１９が１回転してロータ１１９の電気角が再度０°になるとき、テーブル番号の積算値は１９２０となる。
【００４２】
図９（ｅ）および（ｆ）は、図８（ａ）に図示したようにＡ相用コイル１１３およびＢ相用コイル１１４に印加する電圧信号に対してロータ１１９の追従遅れが生じていない場合におけるロータ１１９の位置を示している。
【００４３】
図９（ｅ）にて破線で描かれるように、Ａ相＋側ステータ１１５にロータ１１９のＮ極が接近しているときに正の領域となり、Ａ相＋側ステータ１１５にロータ１１９のＳ極が接近しているときに負の領域となる。
【００４４】
図９（ｅ）にてロータ１１９の電気角が０°となる状態は、図８（ａ）にてロータ１１９の電気角が０°となる状態に対応している。図８（ａ）にてロータ１１９の電気角が０°となる状態では、Ａ相＋側ステータ１１５にロータ１１９のＮ極の中心が向かい合っている。したがって、図９（ｅ）にて破線で描かれる正弦波は、ロータ１１９の電気角が０°となる状態にて、最大になる。
【００４５】
図９（ｆ）にて破線で描かれるように、Ｂ相＋側ステータ１１７にロータ１１９のＮ極が接近しているときに正の領域となり、Ｂ相＋側ステータ１１７にロータ１１９のＳ極が接近しているときに負の領域となる。
【００４６】
図９（ｆ）にてロータ１１９の電気角が２７０°となる状態は、図８（ａ）にてロータ１１９の電気角が２７０°となる状態に対応している。図８（ａ）にてロータ１１９の電気角が２７０°となる状態では、Ｂ相＋側ステータ１１７にロータ１１９のＮ極の中心が向かい合っている。したがって、図９（ｆ）にて破線で描かれる正弦波は、ロータ１１９の電気角が２７０°となる状態にて、最大になる。
【００４７】
図９（ｇ）は、図８（ａ）に図示したようにＡ相用コイル１１３およびＢ相用コイル１１４に印加する電圧信号に対してロータ１１９の追従遅れが生じていない場合におけるｃｈ０フォトインタラプタ１０３およびｃｈ１フォトインタラプタ１０４の出力を示している。すなわち、ロータ１１９のそれぞれの電気角におけるＥＮＣ０信号（ｃｈ０フォトインタラプタ１０３の出力を２値化）とＥＮＣ１信号（ｃｈ１フォトインタラプタ１０４の出力を２値化）を示している。図９（ｇ）では、図７で説明したスリット回転板１０５の取り付け位置のずれ角度α°を反映しており、ＥＮＣ０信号、ＥＮＣ１信号がα°だけ遅れてＨｉｇｈ／Ｌｏｗで変化する様子を示している。
【００４８】
図９（ｈ）および（ｉ）は、図８（ｂ）に図示したようにＡ相用コイル１１３およびＢ相用コイル１１４に印加する電圧信号に対してロータ１１９の追従遅れが生じている場合におけるロータ１１９の位置を示している。図８（ｂ）に図示されるロータ１１９の追従遅れ８０１は、図９の追従遅れ量９２５に対応する。
【００４９】
図９（ｈ）にて破線で描かれるように、Ａ相＋側ステータ１１５にロータ１１９のＮ極が接近しているときに正の領域となり、Ａ相＋側ステータ１１５にロータ１１９のＳ極が接近しているときに負の領域となる。図９（ｈ）にて破線で描かれる正弦波は、図９（ｅ）にて破線で描かれる正弦波に対して追従遅れ量９２５だけ遅れる。
【００５０】
図９（ｈ）にてロータ１１９の電気角が０°から９０°となる状態は、図８（ｂ）にてロータ１１９の電気角が０°から９０°となる状態に対応している。図８（ｂ）にてロータ１１９の電気角が０°から９０°までの間の状態で、Ａ相＋側ステータ１１５にロータ１１９のＮ極の中心が向かい合う。したがって、図９（ｅ）にて破線で描かれる正弦波は、ロータ１１９の電気角が０°から９０°までの間の状態で、最大になる。
【００５１】
図９（ｉ）にて破線で描かれるように、Ｂ相＋側ステータ１１７にロータ１１９のＮ極が接近しているときに正の領域となり、Ｂ相＋側ステータ１１７にロータ１１９のＳ極が接近しているときに負の領域となる。図９（ｉ）にて破線で描かれる正弦波は、図９（ｆ）にて破線で描かれる正弦波に対して追従遅れ量９２５だけ遅れる。
【００５２】
図９（ｉ）にてロータ１１９の電気角が２７０°から０°となる状態は、図８（ｂ）にてロータ１１９の電気角が２７０°から０°となる状態に対応している。図８（ｂ）にてロータ１１９の電気角が２７０°から０°までの間の状態で、Ｂ相＋側ステータ１１７にロータ１１９のＮ極の中心が向かい合う。したがって、図９（ｉ）にて破線で描かれる正弦波は、ロータ１１９の電気角が２７０°から０°までの間の状態で、最大になる。
【００５３】
図９（ｊ）は、図８（ｂ）に図示したようにＡ相用コイル１１３およびＢ相用コイル１１４に印加する電圧信号に対してロータ１１９の追従遅れが生じている場合におけるｃｈ０フォトインタラプタ１０３およびｃｈ１フォトインタラプタ１０４の出力を示している。すなわち、ロータ１１９のそれぞれの電気角におけるＥＮＣ０信号（ｃｈ０フォトインタラプタ１０３の出力を２値化したもの）とＥＮＣ１信号（ｃｈ１フォトインタラプタ１０４の出力を２値化したもの）を示している。ＥＮＣ０信号とＥＮＣ１信号も、図９（ｇ）の信号変化位置から追従遅れ量９２５の分だけ遅れてＨｉｇｈ／Ｌｏｗが変化する。図９（ｇ）の追従遅れ量９２５は図８（ｂ）の追従遅れ８０１に対応している。
【００５４】
図１０は、ロータ１１９を逆転方向に回転させた際に、ロータ１１９の電気角とロータ１１９の回転位置との関係を説明する図である。図８では、ロータ１１９の回転方向が正転方向あったのに対して、図１０では、ロータ１１９の回転方向が逆転方向である。図１０（ａ）は、Ａ相用コイル１１３およびＢ相用コイル１１４に印加する正弦波状の電圧信号に対してロータ１１９の追従遅れが生じていない状態を示している。図１０（ｂ）は、Ａ相用コイル１１３およびＢ相用コイル１１４に印加する正弦波状の電圧信号に対してロータ１１９の追従遅れが生じている状態を示している。すなわち、図１０（ｂ）では、ロータ１１９の追従遅れ１００１が生じている。図１０についての詳細な説明は、図８と同様であるため省略する。図１０（ｂ）に図示されるロータ１１９の追従遅れ１００１は、図１１の追従遅れ量１１２５に対応する。
【００５５】
図１１は、ロータ１１９を逆転方向に回転させた際の、Ａ相用コイル１１３およびＢ相用コイル１１４に印加する電圧信号と、ロータ１１９の回転位置と、ｃｈ０フォトインタラプタ１０３およびｃｈ１フォトインタラプタ１０４の出力信号との関係を示している。
【００５６】
図１１（ａ）〜（ｊ）についての詳細な説明は、図９（ａ）〜（ｊ）と同様であるため省略する。
【００５７】
ロータ１１９を正転方向に回転させた場合とロータ１１９を逆転方向に回転させた場合での相違点を説明する。ロータ１１９を逆転方向に回転させた場合には、図１１（ｄ）に示すように正弦波発生器１０９から出力されるテーブル番号が小さくなっていく。したがって、正弦波発生器１０９から出力されるテーブル番号を積算した値も小さくなり、ロータ１１９が１回転すると５１２減少する。また、図１１（ｇ）および（ｊ）に示すように、スリット回転板１０５の取り付け位置のずれ角度α°の影響が進み方向に出る。すなわち、ロータ１１９を逆転方向に回転させた場合には、ＥＮＣ０信号およびＥＮＣ１信号がα°だけ進んでＨｉｇｈ／Ｌｏｗで変化する。
【００５８】
図１２および図１３は、ロータ１１９の位置検出処理を含む、ステッピングモータ１０１の駆動方法を示すフローチャートである。ステップＳ１２００にて、ＣＰＵ１０８は、モータドライバ１１２がＡ相用コイル１１３およびＢ相用コイル１１４に印加する駆動電圧Ｖ０を３．５ｖに設定する。ステップＳ１２０１にて、ＣＰＵ１０８は、ｃｈ０フォトインタラプタ１０３およびｃｈ１フォトインタラプタ１０４の変化タイミングの基準位置設定を行う。ここでは、ロータ１１９の追従遅れがない場合にてＥＮＣ０信号のＨｉｇｈ／Ｌｏｗが変化するタイミングに対応するテーブル番号と、ＥＮＣ１信号のＨｉｇｈ／Ｌｏｗが変化するタイミングに対応するテーブル番号と、を基準位置として設定する。
【００５９】
ロータ１１９を正転方向に回転させる際の基準位置設定方法について、図９を参照して具体的に説明する。図９（ｇ）に図示されるように、ＥＮＣ１信号がＨｉｇｈからＬｏｗに変化するタイミングがＥ１（Ｅ５）である。ＥＮＣ０信号がＬｏｗからＨｉｇｈに変化するタイミングがＥ２（Ｅ６）である。ＥＮＣ１信号がＬｏｗからＨｉｇｈに変化するタイミングがＥ３である。ＥＮＣ０信号がＨｉｇｈからＬｏｗに変化するタイミングがＥ４である。ＥＮＣ１信号がＨｉｇｈからＬｏｗに変化するタイミングＥ１（Ｅ５）では、テーブル番号０にαだけ加算した位置９０５（９１３）を基準位置として設定する。ＥＮＣ０信号がＬｏｗからＨｉｇｈに変化するタイミングＥ２（Ｅ６）では、テーブル番号１２８にαだけ加算した位置９０７（９１５）を基準位置として設定する。ＥＮＣ１信号がＬｏｗからＨｉｇｈに変化するタイミングＥ３では、テーブル番号２５６にαだけ加算した位置９０９を基準位置として設定する。ＥＮＣ０信号がＨｉｇｈからＬｏｗに変化するタイミングＥ４では、テーブル番号３８４にαだけ加算した位置９１１を基準位置として設定する。このときのαは、図７で説明したスリット回転板１０５の取り付け位置ズレα°を、正弦波１周期を５１２のテーブル番号に換算したものである。
【００６０】
ロータ１１９を逆転方向に回転させる際の基準位置設定について、図１１を参照して具体的に説明する。図１１（ｇ）に図示されるように、ＥＮＣ１信号がＬｏｗからＨｉｇｈに変化するタイミングがＥ１（Ｅ５）である。ＥＮＣ０信号がＬｏｗからＨｉｇｈに変化するタイミングがＥ２（Ｅ６）である。ＥＮＣ１信号がＨｉｇｈからＬｏｗに変化するタイミングがＥ３である。ＥＮＣ０信号がＨｉｇｈからＬｏｗに変化するタイミングがＥ４である。ＥＮＣ１信号がＬｏｗからＨｉｇｈに変化するタイミングがＥ１（Ｅ５）では、テーブル番号０にαだけ加算した位置１１０５（１１１３）を基準位置として設定する。ＥＮＣ０信号がＬｏｗからＨｉｇｈに変化するタイミングＥ２（Ｅ６）では、テーブル番号３８４にαだけ加算した位置１１０７を基準位置として設定する。また、ＥＮＣ１信号がＨｉｇｈからＬｏｗに変化するタイミングＥ３では、テーブル番号２５６にαだけ加算した位置１１０９を基準位置として設定する。ＥＮＣ０信号がＨｉｇｈからＬｏｗに変化するタイミングＥ４では、テーブル番号１２８にαだけ加算した位置１１１１を基準位置として設定する。
【００６１】
このように、ステップＳ１２０１では、ロータ１１９が正転方向に回転する場合と逆転方向に回転する場合にて、ＥＮＣ０信号とＥＮＣ１信号のＨｉｇｈ／Ｌｏｗが変化するタイミングに対応するテーブル番号を適当な変数領域に格納する。なお、ステップＳ１２０１で設定される基準位置は、Ａ相用コイル１１３およびＢ相用コイル１１４に印加される電圧信号に対して、ロータ１１９の追従遅れが生じない場合の基準位置である。
【００６２】
ステップＳ１２０２において、ＣＰＵ１０８は、ステップＳ１２０１で設定した８個の値の中に５１２を超えるものがないかを判定する。もし、設定した値の中に５１２を越える値があれば、その値から５１２を減算して、基準位置として設定する。ステップＳ１２０２の処理は、テーブル番号の最大値が５１１であるので、０〜５１１の間の値に正規化するための処理である。
【００６３】
ＣＰＵ１０８は、ステップＳ１２０５において、ステッピングモータ１０１に対する駆動開始命令が発生しているかを判定する。ＣＰＵ１０８は、駆動開始命令が発生している場合（Ｓ１２０５でＹＥＳ）、処理をステップＳ１２０６へ進め、駆動開始命令が発生していない場合（Ｓ１２０５でＮＯ）、ステップＳ１２０５の処理を繰り返す。
【００６４】
ステップＳ１２０６において、ＣＰＵ１０８は、駆動開始命令と共に送られてきた回転方向、速度、目標停止位置の指令値を設定する。そして、ステップＳ１２０７において、ＣＰＵ１０８は、ステップＳ１２０１で設定した基準位置と、実際にＥＮＣ０信号およびＥＮＣ１信号のＨｉｇｈ／Ｌｏｗが変化するタイミングに対応するテーブル番号との差分を格納する変数ＤｉｆｆＣｎｔにゼロ（０）を設定する。そして、ＣＰＵ１０８は、駆動信号の位相（状態）に対するテーブル番号を設定値に応じた条件でステッピングモータ１０１の駆動を開始する。
【００６５】
ステップＳ１２０８において、ＣＰＵ１０８は、ＥＮＣ０信号またはＥＮＣ１信号のＨｉｇｈ／Ｌｏｗ変化が発生したかどうかを判定する。ＥＮＣ０信号またはＥＮＣ１信号のＨｉｇｈ／Ｌｏｗ変化が発生した場合（Ｓ１２０８でＹＥＳ）、ＣＰＵ１０８は、処理をステップＳ１２０９へ進める。ＥＮＣ０信号またはＥＮＣ１信号のＨｉｇｈ／Ｌｏｗ変化が発生しない場合（Ｓ１２０８でＮＯ）、ＣＰＵ１０８は、処理をステップＳ１２３０へ進める。
【００６６】
ステップＳ１２０９では、ＣＰＵ１０８が、駆動開始命令と共に送られてきた回転方向の情報に基づいて、ロータ１１９を正転方向に回転させるのか、逆転方向に回転させるのかを判定する。ロータ１１９を正転方向に回転させる場合（Ｓ１２０９でＹＥＳ）には、処理をステップＳ１２１０へ進める。ロータ１１９を逆転方向に回転させる場合（Ｓ１２０９でＮＯ）には、処理をステップＳ１２１１へ進める。
【００６７】
ステップＳ１２１０では、ステップＳ１２０８で発生したＥＮＣ０信号またはＥＮＣ１信号のＨｉｇｈ／Ｌｏｗ変化がＥＮＣ０信号のＨｉｇｈ／Ｌｏｗ変化なのか否かをＣＰＵ１０８が判定する。ＥＮＣ０信号のＨｉｇｈ／Ｌｏｗ変化であると判定される場合（Ｓ１２１０でＹＥＳ）、処理をステップＳ１２１２へ進める。ＥＮＣ０信号のＨｉｇｈ／Ｌｏｗ変化でないと判定される場合（Ｓ１２１０でＮＯ）、処理をステップＳ１２１３へ進める。
【００６８】
ステップＳ１２１２では、ＥＮＣ０信号がＬｏｗからＨｉｇｈに変化しているのか否かをＣＰＵ１０８が判定する。ＥＮＣ０信号がＬｏｗからＨｉｇｈに変化していると判定される場合（ステップＳ１２１２でＹＥＳ）には、処理をステップＳ１２１６へ進める。ＥＮＣ０信号がＬｏｗからＨｉｇｈに変化していないと判定される場合（ステップＳ１２１２でＮＯ）には、処理をステップＳ１２１７へ進める。
【００６９】
ステップＳ１２１６では、ＥＮＣ０信号がＬｏｗからＨｉｇｈに変化したタイミングに対応するテーブル番号を取得し、ステップＳ１２０１にて基準位置として設定した位置９０７（９１５）との差分を変数ＤｉｆｆＣｎｔに格納する。変数ＤｉｆｆＣｎｔに格納される値は、Ａ相用コイル１１３およびＢ相用コイル１１４に印加する正弦波状の電圧信号に対するロータ１１９の追従遅れ量をテーブル番号で表わしたものとなる。
【００７０】
図９（ｄ）および（ｊ）を参照して、ステップＳ１２１６の処理を具体的に説明する。ステップＳ１２１６を実行するのは、ＥＮＣ０信号がＬｏｗからＨｉｇｈに変化するタイミングＥ８（Ｅ１２）である。ＥＮＣ０信号がＬｏｗからＨｉｇｈに変化するタイミングＥ８（Ｅ１２）に対応するテーブル番号は位置９０８（９１６）である。このとき、差分９１８（９２２）が変数ＤｉｆｆＣｎｔに格納される。差分９１８（９２２）がＡ相用コイル１１３およびＢ相用コイル１１４に印加する正弦波状の電圧信号に対するロータ１１９の追従遅れ量に対応する。
【００７１】
ステップＳ１２１２にて、ＥＮＣ０信号がＬｏｗからＨｉｇｈに変化していないと判定される場合には、ＥＮＣ０信号がＨｉｇｈからＬｏｗに変化したことになり、処理をステップＳ１２１７へ進める。
【００７２】
ステップＳ１２１７では、ＥＮＣ０信号がＨｉｇｈからＬｏｗに変化したタイミングに対応するテーブル番号を取得し、ステップＳ１２０１にて基準位置として設定した位置９１１との差分を変数ＤｉｆｆＣｎｔに格納する。変数ＤｉｆｆＣｎｔに格納される値は、Ａ相用コイル１１３およびＢ相用コイル１１４に印加する正弦波状の電圧信号に対するロータ１１９の追従遅れ量をテーブル番号で表わしたものとなる。
【００７３】
図９（ｄ）および（ｊ）を参照して、ステップＳ１２１７の処理を具体的に説明する。ステップＳ１２１７を実行するのは、ＥＮＣ０信号がＨｉｇｈからＬｏｗに変化するタイミングＥ１０である。ＥＮＣ０信号がＨｉｇｈからＬｏｗに変化するタイミングＥ１０に対応するテーブル番号は位置９１２である。このとき、差分９２０が変数ＤｉｆｆＣｎｔに格納される。
【００７４】
ステップＳ１２１０にて、ＥＮＣ０信号のＨｉｇｈ／Ｌｏｗ変化でないと判定される場合には、ステップＳ１２０８でＥＮＣ１信号のＨｉｇｈ／Ｌｏｗ変化が発生したことになり、処理をステップＳ１２１３へ進める。
【００７５】
ステップＳ１２１３では、ＥＮＣ１信号がＬｏｗからＨｉｇｈに変化しているのか否かをＣＰＵ１０８が判定する。ＥＮＣ１信号がＬｏｗからＨｉｇｈに変化していると判定される場合（ステップＳ１２１３でＹＥＳ）には、処理をステップＳ１２１８へ進める。ＥＮＣ１信号がＬｏｗからＨｉｇｈに変化していないと判定される場合（ステップＳ１２１３でＮＯ）には、処理をステップＳ１２１９へ進める。
【００７６】
ステップＳ１２１８では、ＥＮＣ１信号がＬｏｗからＨｉｇｈに変化したタイミングに対応するテーブル番号を取得し、ステップＳ１２０１にて基準位置として設定した位置９０９との差分を変数ＤｉｆｆＣｎｔに格納する。変数ＤｉｆｆＣｎｔに格納される値は、Ａ相用コイル１１３およびＢ相用コイル１１４に印加する正弦波状の電圧信号に対するロータ１１９の追従遅れ量をテーブル番号で表わしたものとなる。
【００７７】
図９（ｄ）および（ｊ）を参照して、ステップＳ１２１８の処理を具体的に説明する。ステップＳ１２１８を実行するのは、ＥＮＣ１信号がＬｏｗからＨｉｇｈに変化するタイミングＥ９である。ＥＮＣ１信号がＬｏｗからＨｉｇｈに変化するタイミングＥ９に対応するテーブル番号は位置９１０である。このとき、差分９１９が変数ＤｉｆｆＣｎｔに格納される。
【００７８】
ステップＳ１２１３にて、ＥＮＣ１信号がＬｏｗからＨｉｇｈに変化していないと判定される場合には、ＥＮＣ１信号がＨｉｇｈからＬｏｗに変化したことになり、処理をステップＳ１２１９へ進める。
【００７９】
ステップＳ１２１９では、ＥＮＣ１信号がＨｉｇｈからＬｏｗに変化したタイミングに対応するテーブル番号を取得し、ステップＳ１２０１にて基準位置として設定した位置９０５（９１３）との差分を変数ＤｉｆｆＣｎｔに格納する。変数ＤｉｆｆＣｎｔに格納される値は、Ａ相用コイル１１３およびＢ相用コイル１１４に印加する正弦波状の電圧信号に対するロータ１１９の追従遅れ量をテーブル番号で表わしたものとなる。
【００８０】
図９（ｄ）および（ｊ）を参照して、ステップＳ１２１９の処理を具体的に説明する。ステップＳ１２１９を実行するのは、ＥＮＣ１信号がＨｉｇｈからＬｏｗに変化するタイミングＥ７（Ｅ１１）である。ＥＮＣ１信号がＨｉｇｈからＬｏｗに変化するタイミングＥ７（Ｅ１１）に対応するテーブル番号は位置９０６（９１４）である。このとき、差分９１７（９２１）が変数ＤｉｆｆＣｎｔに格納される。
【００８１】
ステップＳ１２１６〜Ｓ１２１９にて、変数ＤｉｆｆＣｎｔに格納される差分９１７〜９２２は、テーブル番号の値に換算されて変数ＤｉｆｆＣｎｔに格納される。ロータ１１９を正転方向に回転させる場合、変数ＤｉｆｆＣｎｔに格納される差分９１７〜９２２は、正の値となる。
【００８２】
ステップＳ１２０９にて、ロータ１１９を逆転方向に回転させると判定される場合には、処理をステップＳ１２１１へ進める。ステップＳ１２１１の処理は、ステップＳ１２１０と同じである。ステップＳ１２０８で発生したＥＮＣ０信号またはＥＮＣ１信号のＨｉｇｈ／Ｌｏｗ変化がＥＮＣ０信号のＨｉｇｈ／Ｌｏｗ変化であれば、処理をステップＳ１２１４へ進め、そうでなければ処理をステップＳ１２１５へ進める。
【００８３】
ステップＳ１２１４の処理は、ステップＳ１２１２と同じである。ＥＮＣ０信号がＬｏｗからＨｉｇｈに変化していれば、処理をステップＳ１２２０へ進め、そうでなければ処理をステップＳ１２２１へ進める。
【００８４】
ステップＳ１２１５の処理は、ステップＳ１２１３と同じである。ＥＮＣ１信号がＬｏｗからＨｉｇｈに変化していれば、処理をステップＳ１２２２へ進め、そうでなければ処理をステップＳ１２２３へ進める。
【００８５】
図１１（ｄ）および（ｊ）を参照して、ステップＳ１２２０〜Ｓ１２２３の処理を具体的に説明する。
【００８６】
ステップＳ１２２０を実行するのは、ＥＮＣ０信号がＬｏｗからＨｉｇｈに変化するタイミングＥ８（Ｅ１２）である。ＥＮＣ０信号がＬｏｗからＨｉｇｈに変化するタイミングＥ８（Ｅ１２）に対応するテーブル番号は位置１１０８（１１１６）である。このとき、差分１１１８（１１２２）が変数ＤｉｆｆＣｎｔに格納される。変数ＤｉｆｆＣｎｔに格納される値は、Ａ相用コイル１１３およびＢ相用コイル１１４に印加する正弦波状の電圧信号に対するロータ１１９の追従遅れ量をテーブル番号で表わしたものとなる。
【００８７】
ステップＳ１２２１を実行するのは、ＥＮＣ０信号がＨｉｇｈからＬｏｗに変化するタイミングＥ１０である。ＥＮＣ０信号がＨｉｇｈからＬｏｗに変化するタイミングＥ１０に対応するテーブル番号は位置１１１２である。このとき、差分１１２０が変数ＤｉｆｆＣｎｔに格納される。変数ＤｉｆｆＣｎｔに格納される値は、Ａ相用コイル１１３およびＢ相用コイル１１４に印加する正弦波状の電圧信号に対するロータ１１９の追従遅れ量をテーブル番号で表わしたものとなる。
【００８８】
ステップＳ１２２２を実行するのは、ＥＮＣ１信号がＬｏｗからＨｉｇｈに変化するタイミングＥ９である。ＥＮＣ１信号がＬｏｗからＨｉｇｈに変化するタイミングＥ９に対応するテーブル番号は位置１１１０である。このとき、差分１１１９が変数ＤｉｆｆＣｎｔに格納される。変数ＤｉｆｆＣｎｔに格納される値は、Ａ相用コイル１１３およびＢ相用コイル１１４に印加する正弦波状の電圧信号に対するロータ１１９の追従遅れ量をテーブル番号で表わしたものとなる。
【００８９】
ステップＳ１２２３を実行するのは、ＥＮＣ１信号がＨｉｇｈからＬｏｗに変化するタイミングＥ７（Ｅ１１）である。ＥＮＣ１信号がＨｉｇｈからＬｏｗに変化するタイミングＥ７（Ｅ１１）に対応するテーブル番号は位置１１０６（１１１４）である。このとき、差分１１１７（１１２１）が変数ＤｉｆｆＣｎｔに格納される。変数ＤｉｆｆＣｎｔに格納される値は、Ａ相用コイル１１３およびＢ相用コイル１１４に印加する正弦波状の電圧信号に対するロータ１１９の追従遅れ量をテーブル番号で表わしたものとなる。
【００９０】
ステップＳ１２２０〜Ｓ１２２３にて、変数ＤｉｆｆＣｎｔに格納される差分１１１７〜１１２２は、テーブル番号の値に換算されて変数ＤｉｆｆＣｎｔに格納される。ロータ１１９を逆転方向に回転させる場合、変数ＤｉｆｆＣｎｔに格納される差分１１１７〜１１２２は、負の値となる。
【００９１】
ステップＳ１２１６〜Ｓ１２２３のいずれかの処理の実行後のステップＳ１２２４にて、ＣＰＵ１０８は、変数ＤｉｆｆＣｎｔに格納される値が２５６より大きいか否かを判定する。ＣＰＵ１０８は、変数ＤｉｆｆＣｎｔに格納される値が２５６より大きい場合（Ｓ１２２４でＹＥＳ）、処理をステップＳ１２２５へ進め、変数ＤｉｆｆＣｎｔに格納される値が２５６より大きくない場合（Ｓ１２２４でＮＯ）、処理をステップＳ１２２６へ進める。ステップＳ１２２５にて、ＣＰＵ１０８は、変数ＤｉｆｆＣｎｔに格納される値から５１２を引いた値を再度、変数ＤｉｆｆＣｎｔに格納し、その後、処理をステップＳ１２２６へ進める。
【００９２】
ステップＳ１２２６にて、ＣＰＵ１０８は、変数ＤｉｆｆＣｎｔに格納される値が−２５６以下か否かを判定する。ＣＰＵ１０８は、変数ＤｉｆｆＣｎｔに格納される値が−２５６以下である場合（Ｓ１２２６でＹＥＳ）、処理をステップＳ１２２７へ進め、変数ＤｉｆｆＣｎｔに格納される値が−２５６以下でない場合（Ｓ１２２６でＹＥＳ）、処理をステップＳ１２２８へ進める。ＣＰＵ１０８は、ステップＳ１２２７において、変数ＤｉｆｆＣｎｔに格納される値に５１２を加算した値を再度、変数ＤｉｆｆＣｎｔに格納し、その後、処理をステップＳ１２２８へ進める。
【００９３】
ステップＳ１２２４〜Ｓ１２２７の処理は、ステップＳ１２１６〜Ｓ１２２３の処理において差分を算出するための２つの値がテーブル番号０を跨いでいる場合（例えば、差分１１１７、１１２１の場合）を補正するための処理である。
【００９４】
ステップＳ１２２８〜Ｓ１２３３の処理は、Ａ相用コイル１１３およびＢ相用コイル１１４に印加される電圧を制御するための動作である。
【００９５】
本実施形態のモータ駆動ユニット１００は、Ａ相用コイル１１３およびＢ相用コイル１１４に印加する電圧信号に対するロータ１１９の追従遅れが、ロータ１１９の電気角で９０°となる状態が最もトルクが大きくなる。したがって、Ａ相用コイル１１３およびＢ相用コイル１１４に印加する正弦波状の電圧信号に対するロータ１１９の追従遅れが、ロータ１１９の電気角で９０°より小さい場合には、Ａ相用コイル１１３およびＢ相用コイル１１４に印加される電圧を低くする。これによって、ロータ１１９の回転速度が落ち、ロータ１１９の追従遅れが増加する。一方、Ａ相用コイル１１３およびＢ相用コイル１１４に印加する正弦波状の電圧信号に対するロータ１１９の追従遅れが、ロータ１１９の電気角で９０°より大きい場合には、Ａ相用コイル１１３およびＢ相用コイル１１４に印加される電圧を高くする。これによって、ロータ１１９の回転速度が上がり、ロータ１１９の追従遅れが減少する。
【００９６】
本実施形態では、Ａ相用コイル１１３およびＢ相用コイル１１４に印加される信号に対するロータ１１９の追従遅れが、所望の状態となるように、ロータ１１９の追従遅れ量に応じてＡ相用コイル１１３およびＢ相用コイル１１４に印加される電圧を制御している。
【００９７】
上述したように、本実施形態では、変数ＤｉｆｆＣｎｔに格納される値が、Ａ相用コイル１１３およびＢ相用コイル１１４に印加する正弦波状の電圧信号に対するロータ１１９の追従遅れ量をテーブル番号で表わしたものとなっている。変数ＤｉｆｆＣｎｔに格納される値が１２８より大きいか小さいかを判定することで、ロータ１１９の追従遅れが９０°より大きいか小さいかを判定している。
【００９８】
ステップＳ１２２８において、ＣＰＵ１０８は、予め設定した電圧制御周期時間が経過したか否かを判断する。予め設定した電圧制御周期時間が経過していれば、処理をステップＳ１２２９に進め、予め設定した電圧制御周期時間が経過していなければ、処理をステップＳ１２３４に進める。これによって、本実施形態では、ロータ１１９の回転速度に関わらず予め設定した時間間隔で、Ａ相用コイル１１３およびＢ相用コイル１１４に印加される電圧を制御することができる。
【００９９】
ステップＳ１２２９にて、ＣＰＵ１０８は、変数ＤｉｆｆＣｎｔに格納される値が１２８より小さいか否かを判定する。変数ＤｉｆｆＣｎｔに格納される値が１２８より小さい場合には、処理をステップＳ１２３０に進め、変数ＤｉｆｆＣｎｔに格納される値が１２８より小さくない場合には、処理をステップＳ１２３１に進める。
【０１００】
ステップＳ１２３０にて、ＣＰＵ１０８は、図１４に示す関係にしたがってモータドライバ１１２がＡ相用コイル１１３およびＢ相用コイル１１４に印加する駆動電圧Ｖ０を低減させる。図１４は、変数ＤｉｆｆＣｎｔに格納される値とＡ相用コイル１１３およびＢ相用コイル１１４に印加する駆動電圧Ｖ０との関係を示すグラフである。ＣＰＵ１０８は、図１４に示すグラフにしたがって駆動電圧Ｖ０を設定することで、モータドライバ１１２がＡ相用コイル１１３およびＢ相用コイル１１４に印加する駆動電圧Ｖ０を低減させる。
【０１０１】
ステップＳ１２３１にて、ＣＰＵ１０８は、変数ＤｉｆｆＣｎｔに格納される値が１２８より小さいか否かを判定する。変数ＤｉｆｆＣｎｔに格納される値が１２８より小さい場合には、処理をステップＳ１２３０に進め、変数ＤｉｆｆＣｎｔに格納される値が１２８より小さくない場合には、処理をステップＳ１２３３に進める。なお、ステップＳ１２３１にて、変数ＤｉｆｆＣｎｔに格納される値が１２８より小さくない場合と判定される場合には、変数ＤｉｆｆＣｎｔに格納される値が１２８となっている場合である。すなわち、ロータ１１９の追従遅れが９０°となっている場合である。
【０１０２】
ステップＳ１２３２にて、ＣＰＵ１０８は、モータドライバ１１２がＡ相用コイル１１３およびＢ相用コイル１１４に印加する駆動電圧Ｖ０を増加させる。ＣＰＵ１０８は、図１４に示すグラフにしたがって駆動電圧Ｖ０を設定することで、モータドライバ１１２がＡ相用コイル１１３およびＢ相用コイル１１４に印加する駆動電圧Ｖ０を増加させる。
【０１０３】
ステップＳ１２３３にて、ＣＰＵ１０８は、モータドライバ１１２がＡ相用コイル１１３およびＢ相用コイル１１４に印加する駆動電圧Ｖ０を変更しない。すなわち、現在の駆動電圧Ｖ０を維持する。
【０１０４】
次に、ステップＳ１２３４において、ＣＰＵ１０８は、ロータ１１９が目標停止位置に到達しているか否かを判定する。ＣＰＵ１０８は、ロータ１１９が目標停止位置に到達している場合（Ｓ１２３４でＹＥＳ）、処理をステップＳ１２３５へ進め、ロータ１１９が目標停止位置に到達していない場合（Ｓ１２３４でＮＯ）、処理をステップＳ１２０５へ戻す。ステップＳ１２３５において、ＣＰＵ１０８は、正弦波発生器１０９によるテーブル番号の進行を停止する。その後、ＣＰＵ１０８は、処理をステップＳ１２０５へ戻す。
【０１０５】
本実施形態では、予め設定した電圧制御周期時間が経過していれば、ＥＮＣ０信号またはＥＮＣ１信号のＨｉｇｈ／Ｌｏｗ変化が発生する度に、変数ＤｉｆｆＣｎｔに格納される値が変化する。すなわち、ｃｈ０フォトインタラプタ１０３またはｃｈ１フォトインタラプタ１０４の出力が変化する度に、ロータ１１９の追従遅れ量が更新され、Ａ相用コイルおよびＢ相用コイルに印加する駆動電圧が設定される。
【０１０６】
なお、ＰＩＤ制御や位相補償フィルタなどを用いて、ロータ１１９の追従遅れ量（変数ＤｉｆｆＣｎｔに格納される値）からＡ相用コイルおよびＢ相用コイルに印加する駆動電圧を設定しても、同様の作用効果を奏することができる。
【０１０７】
以上の処理により、ロータの追従遅れがない場合に信号出力手段から信号が出力されるタイミングにおける駆動信号の状態と、ロータの追従遅れがある場合に信号出力手段から信号が出力されるタイミングにおける駆動信号の状態との差分からロータの追従遅れ量を求めることができる。そして、求めた追従遅れ量に基づいてＡ相用コイルおよびＢ相用コイルに印加する駆動電圧を制御することができる。
【０１０８】
以上、本発明をその好適な実施形態に基づいて詳述してきたが、本発明はこれら特定の実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の様々な形態も本発明に含まれる。さらに、上述した各実施形態は本発明の一実施形態を示すものにすぎず、各実施形態を適宜組み合わせることも可能である。
【０１０９】
本発明は以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）をネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（又はＣＰＵやＭＰＵ等）がプログラムコードを読み出して実行する処理である。この場合、そのプログラム、および該プログラムを記憶した記憶媒体は本発明を構成することになる。
【符号の説明】
【０１１０】
１００  モータユニット
１０１  ステッピングモータ
１０２  ロータ軸
１０３  ｃｈ０フォトインタラプタ
１０４  ｃｈ１フォトインタラプタ
１０５  スリット回転板
１０８  ＣＰＵ
１０９  正弦波発生器
１１３  Ａ相用コイル
１１４  Ｂ相用コイル
１１５  Ａ相＋側ステータ
１１６  Ａ相−側ステータ
１１７  Ｂ相＋側ステータ
１１８  Ｂ相−側ステータ
１１９  ロータマグネット（ロータ）
【図１】
2014220868.tif 000003
【図２】
2014220868.tif 000004
【図３】
2014220868.tif 000005
【図４】
2014220868.tif 000006
【図５】
2014220868.tif 000007
【図６】
2014220868.tif 000008
【図７】
2014220868.tif 000009
【図８】
2014220868.tif 000010
【図９】
2014220868.tif 000011
【図１０】
2014220868.tif 000012
【図１１】
2014220868.tif 000013
【図１２】
2014220868.tif 000014
【図１３】
2014220868.tif 000015
【図１４】
2014220868.tif 000016