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