(57)【特許請求の範囲】
【請求項１】
ステッピングモータの励磁相を指示する励磁相信号を、入力されるクロック信号のパルスに応じて更新して出力する励磁相制御部と、
前記励磁相制御部が出力する励磁相信号に基づき、その励磁相信号によって指示された励磁相に対応した駆動電流を前記ステッピングモータに供給する駆動部と、
を有するモータドライバと、
前記モータドライバへ通電するか否かを制御するモータドライバ通電制御部と、
前記駆動部による前記駆動電流の供給を命令するか停止させる駆動制御部と、
前記クロック信号を前記励磁相制御部に出力するクロック信号出力部と、
前記モータドライバ通電制御部によって前記モータドライバへの通電が遮断されたときに前記励磁相信号によって指示されていた励磁相を、停止時励磁相として取得して記憶する励磁相記憶部と、
前記励磁相制御部が出力する励磁相信号の励磁相が前記クロック信号の１パルス当たりに更新される量を規定する励磁モードを、前記励磁相制御部に対して設定する励磁モード設定部と、
前記クロック信号出力部から出力されるクロック信号のパルス数と、前記励磁モード設定部によって設定された励磁モードと、を用いて、前記励磁相制御部が出力する励磁相信号によって指示される励磁相を取得する励磁相取得部と、
を有するドライバ制御部と、
を備え、
前記モータドライバ通電制御部によって前記モータドライバへの通電が再開されたとき、前記クロック信号出力部から入力されるクロック信号のパルス数に応じて前記励磁相制御部が出力する励磁相信号が前記停止時励磁相を指示する励磁相信号に更新されるまで、前記駆動制御部は前記駆動電流の供給を停止させ、前記励磁相制御部が出力する励磁相信号が前記停止時励磁相を指示する励磁相信号に更新された後は、前記駆動制御部が前記駆動電流の供給を命令し、
前記励磁相記憶部は、前記モータドライバ通電制御部によって前記モータドライバへの通電が遮断されたときに前記励磁相取得部が取得していた励磁相を、前記停止時励磁相として取得して記憶することを特徴とするステッピングモータ制御装置。
【請求項２】
前記励磁モード設定部は、前記クロック信号の１パルス当たりに更新される量が互いに異なる複数の励磁モードを有し、
前記励磁相取得部は、前記励磁モード設定部によって設定された励磁モードに応じた前記更新される量と前記クロック信号出力部から出力されるクロック信号のパルス数とを乗算した計数値を取得し、
前記励磁相記憶部は、前記モータドライバ通電制御部によって前記モータドライバへの通電が遮断されたときに前記励磁相取得部が取得していた計数値に対応する励磁相を、前記停止時励磁相として取得して記憶し、
前記モータドライバ通電制御部によって前記モータドライバへの通電が再開されたとき、前記励磁相取得部が取得する前記乗算した計数値が前記停止時励磁相に対応する計数値に更新されるまで、前記駆動制御部は前記駆動電流の供給を停止させ、前記励磁相取得部が取得する前記乗算した計数値が前記停止時励磁相に対応する計数値に更新された後は、前記駆動制御部が前記駆動電流の供給を命令すること、
を特徴とする請求項１に記載のステッピングモータ制御装置。
【請求項３】
前記励磁相取得部は、前記励磁モード設定部によって設定された励磁モードが第１励磁モードからその第１励磁モードとは異なる第２励磁モードに変更された場合、前記第１励磁モードに応じた前記更新される量とその間に前記クロック信号出力部から出力されたクロック信号のパルス数とを乗算した計数値に、更に、前記第２励磁モードに応じた前記更新される量とその間に前記クロック信号出力部から出力されたクロック信号のパルス数とを乗算した計数値を加えた合計の計数値を取得し、
前記励磁相記憶部は、前記モータドライバ通電制御部によって前記モータドライバへの通電が遮断されたときに前記励磁相取得部が取得していた前記合計の計数値に対応する励磁相を、前記停止時励磁相として取得して記憶すること、
を特徴とする請求項２記載のステッピングモータ制御装置。
【請求項４】
前記ドライバ制御部は、
更に、
前記複数の励磁モードにおける各励磁相に対応する計数値が記憶される記憶部と、
制御部と、
を有し、
前記制御部は、前記複数の励磁モードにおける各励磁相に対応する計数値と前記励磁相取得部が取得した計数値とを比較し、一致する励磁相を前記モータドライバの励磁相と判断し、その励磁相を前記励磁相記憶部に記憶させること、
を特徴とする請求項２又は３記載のステッピングモータ制御装置。
【請求項５】
前記ドライバ制御部への通電が遮断される際、
前記励磁相記憶部は、その時点で記憶していた停止時励磁相を不揮発性メモリに記憶することを特徴とする請求項１〜４のいずれか１項に記載のステッピングモータ制御装置。
【請求項６】
請求項１〜５のいずれか１項に記載のステッピングモータ制御装置と、
前記ステッピングモータの回転を利用して画像の読取動作を行う読取部と、
前記読取部による読取動作が開始される前に、その読取部の調整を行う調整部と、
を備え、
前記調整部による前記調整と並行して、前記ドライバ制御部による、前記励磁相制御部が出力する励磁相信号が前記停止時励磁相を指示する励磁相信号に更新されるまで前記駆動制御部が前記駆動電流の供給を停止させる処理が実行されることを特徴とする画像読取装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、クロック信号に応じて励磁相を更新するモータドライバを有し、そのモータドライバによってステッピングモータを駆動するステッピングモータ制御装置、及び、そのステッピングモータ制御装置を利用して画像の読取動作を行う画像読取装置に関する。
【背景技術】
【０００２】
ステッピングモータは、回転軸に固定されたロータと、その外側に付けられたステータとによって構成される。ステッピングモータを駆動するモータドライバは、ステータに巻かれているコイルに励磁相に対応した電流を順次通電することで、ロータを一定の角度単位で正確に回転させることができる。なお、励磁相とは、モータドライバがステッピングモータのコイルにどのように電流を供給するかを示す位相である。そして、その励磁相に応じて、ステッピングモータの回転位置（ロータの位置）が定まっている。
【０００３】
ステッピングモータを駆動するモータドライバには、クロック入力方式とパラレル入力方式との２種類のタイプのモータドライバがある（例えば、特許文献１参照）。
パラレル入力方式のモータドライバは、ＣＰＵ、ＡＳＩＣ等の制御部から直接、励磁相を指示する信号が入力される。そのモータドライバは、その信号に基づいてコイルに電流を供給することで、ステッピングモータを駆動する。
【０００４】
一方、クロック入力方式のモータドライバは、ＣＰＵ、ＡＳＩＣ等の制御部からクロック信号が入力される。そのモータドライバは、その入力されたクロック信号に応じて励磁相を指示する信号を更新して、その信号に基づいてコイルに電流を供給することで、ステッピングモータを駆動する。
【０００５】
また、この種のステッピングモータを駆動するモータドライバを利用した装置では、モータドライバへの通電を停止し、ＣＰＵ、ＡＳＩＣ等の制御部における処理（例えば、駆動命令の監視処理）は継続する、いわゆるスリープモードが設定される場合がある。
【０００６】
前記励磁相を指示する信号をＣＰＵ，ＡＳＩＣ等の制御部からパラレル入力方式のモータドライバへ出力するステッピングモータ制御装置を利用した記録装置において、スリープモード移行時等の停止時の励磁相を制御部に記憶しておくことが提案されている。駆動命令が入力されてスリープモードから記録装置が復帰する際には、制御部が、前記記憶しておいた励磁相を指示する信号をモータドライバへ出力する。すると、モータドライバが、その信号に基づいてコイルに電流を供給するため、ステッピングモータがスリープモード移行時の停止した回転位置から再駆動することができる（例えば、特許文献２参照）。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００８−２９１４６号公報
【特許文献２】特開２０００−１３４９９３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
ところが、クロック入力方式のモータドライバを用いたステッピングモータ制御装置において、そのモータドライバは、クロック信号に応じて励磁相を指示する信号を更新する。また、そのモータドライバは、モータドライバの通電再開時には、定められた所定の励磁相（初期励磁相）から励磁相の更新を開始する。故に、仮に制御部側でスリープモード移行時の停止時の励磁相の情報を記憶したとしても、その情報をモータドライバの動作に反映することができなかった。
【０００９】
このため、クロック入力方式のステッピングモータ制御装置では、スリープモード等へ移行してモータドライバへの通電が遮断された後は、ステッピングモータをスリープモード移行時の停止した回転位置から再駆動することができない場合があった。
【００１０】
そこで、本発明は、制御部からモータドライバへクロック信号を出力し、モータドライバ側でそのクロック信号に応じて励磁相を指示する信号を更新するいわゆるクロック入力方式のステッピングモータ制御装置、及び、そのステッピングモータ制御装置を利用して画像の読取動作を行う画像読取装置において、モータドライバへの通電が遮断された後、再びモータドライバへの通電が再開した際に、モータドライバへの通電が遮断された際に停止した回転位置からステッピングモータを再駆動できるようにすることを目的としてなされた。
【課題を解決するための手段】
【００１１】
前記目的を達するためになされた本発明のステッピングモータ制御装置は、ステッピングモータの励磁相を指示する励磁相信号を、入力されるクロック信号のパルスに応じて更新して出力する励磁相制御部と、前記励磁相制御部が出力する励磁相信号に基づき、その励磁相信号によって指示された励磁相に対応した駆動電流を前記ステッピングモータに供給する駆動部と、を有するモータドライバと、前記モータドライバへ通電するか否かを制御するモータドライバ通電制御部と、前記駆動部による前記駆動電流の供給を命令するか停止させる駆動制御部と、前記クロック信号を前記励磁相制御部に出力するクロック信号出力部と、前記モータドライバ通電制御部によって前記モータドライバへの通電が遮断されたときに前記励磁相信号によって指示されていた励磁相を、停止時励磁相として取得して記憶する励磁相記憶部と、前記励磁相制御部が出力する励磁相信号の励磁相が前記クロック信号の１パルス当たりに更新される量を規定する励磁モードを、前記励磁相制御部に対して設定する励磁モード設定部と、前記クロック信号出力部から出力されるクロック信号のパルス数と、前記励磁モード設定部によって設定された励磁モードと、を用いて、前記励磁相制御部が出力する励磁相信号によって指示される励磁相を取得する励磁相取得部と、を有するドライバ制御部と、を備え、前記モータドライバ通電制御部によって前記モータドライバへの通電が再開されたとき、前記クロック信号出力部から入力されるクロック信号のパルス数に応じて前記励磁相制御部が出力する励磁相信号が前記停止時励磁相を指示する励磁相信号に更新されるまで、前記駆動制御部は前記駆動電流の供給を停止させ、前記励磁相制御部が出力する励磁相信号が前記停止時励磁相を指示する励磁相信号に更新された後は、前記駆動制御部が前記駆動電流の供給を命令し、前記励磁相記憶部は、前記モータドライバ通電制御部によって前記モータドライバへの通電が遮断されたときに前記励磁相取得部が取得していた励磁相を、前記停止時励磁相として取得して記憶することを特徴としている。
【００１２】
このように構成された本発明では、制御部としてのドライバ制御部のクロック信号出力部がモータドライバの励磁相制御部にクロック信号を出力すると、その励磁相制御部は、ステッピングモータの励磁相を指示する励磁相信号を前記クロック信号のパルスに応じて更新して出力する。すると、モータドライバの駆動部は、前記励磁相制御部が出力する励磁相信号に基づき、その励磁相信号によって指示された励磁相に対応した駆動電流をステッピングモータに供給する。
【００１３】
また、ドライバ制御部のモータドライバ通電制御部は、前記モータドライバへ通電するか否かを制御し、ドライバ制御部の駆動制御部は、前記駆動部による前記駆動電流の供給を命令するか停止させる。そして、モータドライバ通電制御部によって前記モータドライバへの通電が遮断されたとき、励磁相記憶部は、そのときに励磁相信号によって指示されていた励磁相を停止時励磁相として取得して記憶する。
【００１４】
そして、前記モータドライバ通電制御部によってモータドライバへの通電が再開されたとき、クロック信号出力部から入力されるクロック信号のパルス数に応じて励磁相制御部が出力する励磁相信号が前記停止時励磁相を指示する励磁相信号に更新されるまで、前記駆動制御部は前記駆動電流の供給を停止させ、前記励磁相信号が前記停止時励磁相を指示する励磁相信号に更新された後は、前記駆動制御部が前記駆動電流の供給を命令する。従って、本発明では、モータドライバへの通電が遮断された後、再びモータドライバへの通電が再開した際に、モータドライバへの通電が遮断された際の停止位置からステッピングモータを再駆動できるようにすることができる。
【００１５】
また、励磁相がクロック信号の１パルス当たりに更新される量と、励磁相がクロック信号のパルスに応じて更新される方向とが設定可能な場合、それらを適切に設定することで、励磁相制御部が出力する励磁相信号が停止時励磁相を指示する励磁相信号に更新されるまでに要するクロック信号の必要パルス数を少なくすることができる場合がある。そこで、前記更新される量を規定する励磁モードを励磁相制御部に対して設定する励磁モード設定部と、前記方向を規定する回転方向を励磁相制御部に対して設定する回転方向設定部とが、前記必要パルス数が最も少なくなるように前記励磁モード及び前記回転方向を設定してもよい。従って、この場合、モータドライバ通電制御部によってモータドライバへの通電が再開されたとき、励磁相制御部が出力する励磁相信号が停止時励磁相を指示する励磁相信号に更新されるまでに要する時間を短縮することができる。
【００１６】
そして、この場合、前記ドライバ制御部は、前記クロック信号出力部から出力されるクロック信号のパルス数を計数することにより、前記励磁相制御部が出力する励磁相信号によって指示される励磁相を取得する励磁相取得部を、更に備え、前記励磁相記憶部は、前記モータドライバ通電制御部によって前記モータドライバへの通電が遮断されたときに前記励磁相取得部が取得していた励磁相を、前記停止時励磁相として取得して記憶してもよい。
【００１７】
この場合、ドライバ制御部の励磁相取得部は、クロック信号出力部から出力されるクロック信号のパルス数を計数することにより、励磁相制御部が出力する励磁相信号によって指示される励磁相を常時取得している。そして、励磁相記憶部は、モータドライバ通電制御部によってモータドライバへの通電が遮断されたときに前記励磁相取得部が取得していた励磁相を、前記停止時励磁相として取得して記憶する。このため、励磁相記憶部による停止時励磁相の取得は瞬時に実行でき、前記モータドライバへの通電の遮断に要する時間を短縮することができる。
【００１８】
本発明おいて、前記励磁モード設定部は、前記クロック信号の１パルス当たりに更新される量が互いに異なる複数の励磁モードを有し、前記励磁相取得部は、前記励磁モード設定部によって設定された励磁モードに応じた前記更新される量と前記クロック信号出力部から出力されるクロック信号のパルス数とを乗算した計数値を取得し、前記励磁相記憶部は、前記モータドライバ通電制御部によって前記モータドライバへの通電が遮断されたときに前記励磁相取得部が取得していた計数値に対応する励磁相を、前記停止時励磁相として取得して記憶し、前記モータドライバ通電制御部によって前記モータドライバへの通電が再開されたとき、前記励磁相取得部が取得する前記乗算した計数値が前記停止時励磁相に対応する計数値に更新されるまで、前記駆動制御部は前記駆動電流の供給を停止させ、前記励磁相取得部が取得する前記乗算した計数値が前記停止時励磁相に対応する計数値に更新された後は、前記駆動制御部が前記駆動電流の供給を命令してもよい。そしてその場合、前記励磁相取得部は、前記励磁モード設定部によって設定された励磁モードが第１励磁モードからその第１励磁モードとは異なる第２励磁モードに変更された場合、前記第１励磁モードに応じた前記更新される量とその間に前記クロック信号出力部から出力されたクロック信号のパルス数とを乗算した計数値に、更に、前記第２励磁モードに応じた前記更新される量とその間に前記クロック信号出力部から出力されたクロック信号のパルス数とを乗算した計数値を加えた合計の計数値を取得し、前記励磁相記憶部は、前記モータドライバ通電制御部によって前記モータドライバへの通電が遮断されたときに前記励磁相取得部が取得していた前記合計の計数値に対応する励磁相を、前記停止時励磁相として取得して記憶してもよい。そして、更にその場合、前記ドライバ制御部は、更に、前記複数の励磁モードにおける各励磁相に対応する計数値が記憶される記憶部と、制御部と、を有し、前記制御部は、前記複数の励磁モードにおける各励磁相に対応する計数値と前記励磁相取得部が取得した計数値とを比較し、一致する励磁相を前記モータドライバの励磁相と判断し、その励磁相を前記励磁相記憶部に記憶させてもよい。
【００１９】
また、前記目的を達するためになされたステッピングモータ制御装置は、ステッピングモータの励磁相を指示する励磁相信号を、入力されるクロック信号のパルスに応じて更新して出力する励磁相制御部と、前記励磁相制御部が出力する励磁相信号に基づき、その励磁相信号によって指示された励磁相に対応した駆動電流を前記ステッピングモータに供給する駆動部と、を有するモータドライバと、前記モータドライバへ通電するか否かを制御するモータドライバ通電制御部と、前記駆動部による前記駆動電流の供給を命令するか停止させる駆動制御部と、前記クロック信号を前記励磁相制御部に出力するクロック信号出力部と、前記モータドライバ通電制御部によって前記モータドライバへの通電が遮断されたときに前記励磁相信号によって指示されていた励磁相を、停止時励磁相として取得して記憶する励磁相記憶部と、を有するドライバ制御部と、を備え、前記励磁相制御部は、予め設定された初期励磁相を指示する励磁相信号を出力する際、前記ドライバ制御部に初期励磁相信号を出力し、前記ドライバ制御部は、前記励磁相制御部が出力する励磁相信号の励磁相が前記クロック信号の１パルス当たりに更新される量を規定する励磁モードを、前記励磁相制御部に対して設定する励磁モード設定部と、前記励磁相制御部が出力する励磁相信号の励磁相が前記クロック信号のパルスに応じて更新される方向を規定する回転方向を、前記励磁相制御部に対して設定する回転方向設定部と、前記励磁相制御部から前記初期励磁相信号を取得する初期励磁相信号取得部と、前記クロック信号出力部が出力したクロック信号のパルス数をカウントするカウント部と、を更に備え、前記モータドライバ通電制御部によって前記モータドライバへの通電が遮断される前に前記駆動制御部が前記駆動部による前記駆動電流の供給を停止させ、前記クロック信号出力部は、その停止がなされてからも前記初期励磁相信号取得部が前記初期励磁相信号を取得するまで前記クロック信号を出力し続け、前記励磁相記憶部は、前記停止がなされてから前記初期励磁相信号取得部が前記初期励磁相信号を取得するまでの間に前記カウント部がカウントしたパルス数と、その間に前記励磁モード設定部及び前記回転方向設定部が設定していた励磁モード及び回転方向とに基づいて、前記停止時励磁相を取得して記憶し、前記モータドライバ通電制御部によって前記モータドライバへの通電が再開されたとき、前記クロック信号出力部から入力されるクロック信号のパルス数に応じて前記励磁相制御部が出力する励磁相信号が前記停止時励磁相を指示する励磁相信号に更新されるまで、前記駆動制御部は前記駆動電流の供給を停止させ、前記励磁相制御部が出力する励磁相信号が前記停止時励磁相を指示する励磁相信号に更新された後は、前記駆動制御部が前記駆動電流の供給を命令することを特徴とするものであってもよい。
【００２０】
この場合、モータドライバ通電制御部によってモータドライバへの通電が遮断される前に、駆動制御部が駆動部による駆動電流の供給を停止させる。そして、クロック信号出力部は、その停止がなされてからも、予め設定された初期励磁相を指示する励磁相信号が出力される際に励磁相制御部が出力する初期励磁相信号を初期励磁相信号取得部が取得するまで、前記クロック信号を出力し続ける。
【００２１】
このとき、励磁相記憶部は、前記停止がなされてから前記初期励磁相信号取得部が初期励磁相信号を取得するまでの間にカウント部がカウントした前記クロック信号のパルス数と、その間に前記励磁モード設定部及び前記回転方向設定部が設定していた励磁モード及び回転方向とに基づいて、前記停止時励磁相を取得して記憶する。このため、励磁相記憶部はモータドライバへの通電が遮断される直前の処理のみによって前記停止時励磁相を取得することができ、ステッピングモータ駆動中の処理負荷を軽減することができる。
【００２２】
なお、前記クロック信号出力部は、前記励磁相制御部が出力する励磁相信号が、前記停止時励磁相を指示する励磁相信号に更新されるまで、前記励磁相制御部が動作可能な最低パルス間隔以上で、かつ、前記ステッピングモータが動作可能な最低パルス間隔未満のパルス間隔のクロック信号を出力し、前記励磁相制御部が出力する励磁相信号が、前記停止時励磁相を指示する励磁相信号に更新された後は、前記ステッピングモータが動作可能な最低パルス間隔以上のパルス間隔のクロック信号を出力してもよい。
【００２３】
すなわち、励磁相制御部が出力する励磁相信号が停止時励磁相を指示する励磁相信号に更新されるまでの間は、ステッピングモータを動作させる必要がない。そこで、その間、前記クロック信号出力部は、前記励磁相制御部が動作可能な最低パルス間隔以上で、かつ、前記ステッピングモータが動作可能な最低パルス間隔未満のパルス間隔のクロック信号を出力する。このため、前記励磁相制御部が出力する励磁相信号を、前記停止時励磁相を指示する励磁相信号に早く更新することができる。また、励磁相制御部が出力する励磁相信号が停止時励磁相を指示する励磁相信号に更新された後は、前記クロック信号出力部はステッピングモータが動作可能な最低パルス間隔以上のパルス間隔のクロック信号を出力する。このため、励磁相制御部が出力する励磁相信号が停止時励磁相を指示する励磁相信号に更新された後は、ステッピングモータを良好に動作させることができる。
【００２４】
また、前記ドライバ制御部への通電が遮断される際、前記励磁相記憶部は、その時点で記憶していた停止時励磁相を不揮発性メモリに記憶してもよい。この場合、前記ドライバ制御部への通電が遮断された後も、前記ステッピングモータを前記停止位置から再駆動することができる。
【００２５】
また、本発明の画像読取装置は、前記いずれかに記載のステッピングモータ制御装置と、前記ステッピングモータの回転を利用して画像の読取動作を行う読取部と、前記読取部による読取動作が開始される前に、その読取部の調整を行う調整部と、を備え、前記調整部による前記調整と並行して、前記ドライバ制御部による、前記励磁相制御部が出力する励磁相信号が前記停止時励磁相を指示する励磁相信号に更新されるまで前記駆動制御部が前記駆動電流の供給を停止させる処理が実行されることを特徴としている。
【００２６】
このように構成された本発明の画像読取装置では、前記ステッピングモータの回転を利用した読取部による読取動作が開始される前に、その読取部の調整を調整部が行う処理と並行して、前記ドライバ制御部による前述の処理が実行される。すなわち、前記調整と並行して、励磁相制御部が出力する励磁相信号が停止時励磁相を指示する励磁相信号に更新されるまで駆動電流の供給を停止させる処理が実行される。このため、読取部による読取動作を早期に開始することができる。
【図面の簡単な説明】
【００２７】
【図１】本発明が適用されたモータ制御装置の構成を表すブロック図である。
【図２】励磁相制御回路の励磁モード及び励磁相を表す説明図である。
【図３】モータ制御装置のタイミング生成回路の構成の一部を表すブロック図である。
【図４】励磁相取得部の構成を表すブロック図である。
【図５】そのモータ制御装置を用いた画像読取装置の構成を表す概略断面図である。
【図６】画像読取装置のメインルーチンを表すフローチャートである。
【図７】モータ制御装置におけるモータ制御処理を表すフローチャートである。
【図８】モータ制御処理を時系列に沿って表すタイムチャートである。
【図９】上記モータ制御処理の駆動処理を表すフローチャートである。
【図１０】上記モータ制御処理の励磁相記憶処理を表すフローチャートである。
【図１１】そのモータ制御処理の復帰処理を表すフローチャートである。
【図１２】その復帰処理の励磁モード信号判定処理を表すフローチャートである。
【図１３】上記励磁相記憶処理の他の例を表すフローチャートである。
【発明を実施するための形態】
【００２８】
［ステッピングモータ制御装置の構成］
以下に本発明の実施の形態について、図面と共に説明する。図１は、本発明が適用されたステッピングモータ制御装置（単に以下モータ制御装置ともいう）５０の構成を表すブロック図である。図１に示すように、本実施の形態のモータ制御装置５０は、後述のスイッチ６５も含むモータドライバ６０と、そのモータドライバ６０を制御するＡＳＩＣ７０（ドライバ制御部の一例）とから構成され、ステッピングモータからなるモータ２３を制御するものである。
【００２９】
なお、ＡＳＩＣ７０は、モータドライバ６０を制御するのみに用いられるわけではない。例えば、モータ制御装置５０が後述する図５の画像読取装置１に用いられるモータ２３を制御する場合、ＡＳＩＣ７０は、モータドライバ６０の他に、読取デバイス２１等の各種デバイスを制御するように構成されていてもよい。
【００３０】
なお、モータ２３は、Ａ相のコイル２３ａとＢ相のコイル２３ｂとに励磁相に応じた駆動電流が供給されることにより、その励磁相に応じた回転位置に回転するステッピングモータである。そこで、モータドライバ６０は、指示された励磁相に対応する駆動電流をコイル２３ａ，２３ｂに供給する駆動回路６１（駆動部の一例）と、その励磁相を指示する励磁相信号を駆動回路６１に送信する励磁相制御回路６２（励磁相制御部の一例）とを備えている。また、モータドライバ６０はスイッチ６５を介して電源６６に接続されている。
【００３１】
一方、ＡＳＩＣ７０は、ＣＰＵ７１，ＲＯＭ７２，ＲＡＭ７３，ＥＥＰＲＯＭ７４（不揮発性メモリの一例）をバス７７によって互いに接続してなる制御回路を備えている。また、ＡＳＩＣ７０は、モータドライバ６０等との間で次のような信号を送受信するタイミング生成回路８０を備えている。すなわち、タイミング生成回路８０（モータドライバ通電制御部の一例）は、スイッチ６５に対して、そのスイッチ６５のＯＮ／ＯＦＦを切り替えるモータドライバＯＦＦ信号（Ｈレベルでスイッチ６５をＯＦＦ）を送信している。また、タイミング生成回路８０は、励磁相制御回路６２に、モータ２３の励磁モードを指示する励磁モード信号と、モータ２３の回転方向（ＣＣＷまたはＣＷ）を指示する回転方向信号と、励磁相の切り替えタイミングを指示するクロック信号とを送信している。
【００３２】
モータドライバ６０が有する励磁相制御回路６２は、励磁モード信号と回転方向信号とに応じて、タイミング生成回路８０から入力されるクロック信号の１パルス毎に励磁相を更新する論理回路で構成されている。
【００３３】
ここで、図２は、励磁相制御回路６２のＷ１−２相，１−２相，２−２相の３種類の励磁モードに応じた励磁相をそれぞれ示している。
励磁相制御回路６２の励磁相は、タイミング生成回路８０から入力されるクロック信号の１パルス毎に、更新される。
【００３４】
例えば、励磁モード信号としてＷ１−２相と、回転方向信号としてＣＣＷ（反時計回り）と所定のパルス間隔のクロック信号とが励磁相制御回路６２に入力されている。すると、励磁相制御回路６２の励磁相は、入力されるクロック信号のパルス毎に・・・⇒ｃ１⇒ｃ２⇒・・・のように図２の反時計回りに更新される。
【００３５】
励磁相制御回路６２の励磁相は、励磁モードがＷ１−２相の場合、クロック信号の１６パルスで１周する。同様に、励磁モードが１−２相の場合、クロック信号の８パルスで、励磁モードが２−２相の場合、クロック信号の４パルスでそれぞれ１周する。
【００３６】
そして、その更新に伴い、励磁相制御回路６２は、更新された励磁相を指示する励磁相信号を駆動回路６１に出力する。
なお、励磁相制御回路６２は、モータドライバ６０の電源がＯＮの際は、励磁相の情報を保持する。しかし、モータドライバ６０の電源がＯＦＦされると、励磁相制御回路６２は、励磁相の情報を保持しない。再び、モータドライバの電源がＯＮされると、励磁相制御回路６２は、ｃ０相，ｂ０相，ａ０相である初期励磁相からクロック信号のパルス毎に、励磁相を更新する。
【００３７】
また、励磁相制御回路６２は、励磁相が初期励磁相に更新された際に、タイミング生成回路８０に、初期励磁相信号を送信する。更に、タイミング生成回路８０は、励磁相制御回路６２の励磁相を取得する励磁相取得部９０を備えている。
【００３８】
更に、タイミング生成回路８０（駆動制御部の一例）は、モータドライバ６０の駆動回路６１に対し、駆動回路６１による駆動電流の供給を命令するか停止するか切り替える駆動回路ＯＦＦ信号（Ｈレベルで駆動電流供給停止）を送信している。
【００３９】
次に、図３は、タイミング生成回路８０の構成の一部を表すブロック図である。図３に示すように、タイミング生成回路８０は、ＣＰＵ７１から駆動開始信号を受信したとき、前述のクロック信号，励磁モード信号，回転方向信号を論理回路等からなるハードウェアによって自動生成する駆動時タイミング生成回路８１を備えている。後述のように、ＣＰＵ７１も、クロック信号，励磁モード信号，回転方向信号を生成可能に構成されている。そこで、タイミング生成回路８０は、駆動時タイミング生成回路８１が生成した上記各信号とＣＰＵ７１が生成した上記各信号とのいずれを励磁相制御回路６２に送信するか切り替えるためのタイミング信号出力セレクタ８５を備えている。
【００４０】
タイミング信号出力セレクタ８５は、セレクタ８６（クロック信号出力部の一例）と、セレクタ８７（励磁モード設定部の一例）と、セレクタ８８（回転方向設定部の一例）とを備えている。セレクタ８６は、駆動時タイミング生成回路８１が生成したクロック信号とＣＰＵ７１が生成したクロック信号とのいずれを励磁相制御回路６２に送信するか切り替える。セレクタ８７は、駆動時タイミング生成回路８１が生成した励磁モード信号とＣＰＵ７１が生成した励磁モード信号とのいずれを励磁相制御回路６２に送信するか切り替える。セレクタ８８は、駆動時タイミング生成回路８１が生成した回転方向信号とＣＰＵ７１が生成した回転方向信号とのいずれを励磁相制御回路６２に送信するか切り替える。
【００４１】
なお、各セレクタ８６，８７，８８において、駆動時タイミング生成回路８１からの信号は端子Ａに、ＣＰＵ７１からの信号は端子Ｂに、それぞれ入力され、各セレクタの切り替えは、ＣＰＵ７１から送信されるセレクト信号に応じてなされる。
【００４２】
次に、図４は、タイミング生成回路８０の励磁相取得部９０の構成を表すブロック図である。ＣＰＵ７１が、励磁相制御回路６２の励磁相がどの励磁相なのかを把握する為に、励磁相取得部９０が設けられている。
【００４３】
図４に示すように、励磁相取得部９０は、次のようなカウントアップ信号出力部９１と、カウント刻み設定信号出力部９２と、アップダウンセレクト信号出力部９３と、アップダウンカウンタ９５とを備えている。カウントアップ信号出力部９１は、タイミング信号出力セレクタ８５が送信したクロック信号に同期して、アップダウンカウンタ９５に計数されるカウントアップ信号を送信する。
【００４４】
カウント刻み設定信号出力部９２は、タイミング信号出力セレクタ８５が送信した励磁モード信号に応じたカウント刻み設定信号をアップダウンカウンタ９５に送信する。
カウント刻み設定信号出力部９２は、励磁モード信号によって指示される励磁モードが、Ｗ１−２相の場合はクロック信号１パルスに対するカウント刻みとして１を、１−２相の場合は上記カウント刻みとして２を、２−２相の場合は上記カウント刻みとして４を、それぞれ指示するカウント刻み設定信号を送信する。
【００４５】
更に、アップダウンセレクト信号出力部９３は、タイミング信号出力セレクタ８５から送信される回転方向信号に応じて、アップダウンカウンタ９５がカウントアップかカウントダウンかを指示するアップダウンセレクト信号を送信する。
【００４６】
回転方向信号が反時計回りの場合は、アップダウンセレクト信号はカウントアップを指示し、回転方向信号が時計回りの場合は、アップダウンセレクト信号はカウントダウンを指示する。
【００４７】
そして、アップダウンカウンタ９５は、クロック信号に同期するカウントアップ信号の１パルスが入力される毎にカウント刻みに応じて計数する。すなわち、Ｗ１−２相、ＣＣＷの場合、アップダウンカウンタ９５が計数する値は、カウントアップ信号の１パルスが入力される毎に、０⇒１⇒２・・・１５⇒０⇒１・・・となる。同様に、１−２相、ＣＣＷの場合、アップダウンカウンタ９５が計数する値は、カウントアップ信号の１パルスが入力される毎に、０⇒２⇒４⇒６⇒・・・１４⇒０⇒２・・・となる。また、１−２相、ＣＷの場合、アップダウンセレクト信号によってカウントダウンが指示され、アップダウンカウンタ９５が計数する値は、０⇒１４⇒１２⇒・・・⇒２⇒０・・・となる。
そして、アップダウンカウンタ９５はそのカウント値をカウント値信号としてＣＰＵ７１に送信している。
【００４８】
ＲＡＭ７３には、各励磁モードにおける励磁相がカウンタ値として記憶されている。Ｗ１−２の場合、ｃ０は０、ｃ１は１、・・・、ｃ１５は１５のカウント値、１−２相の場合、ｂ０は０、ｂ１は２、・・・ｂ７は１４のカウント値が、２−２相の場合、ａ０は０、ａ１は４、ａ３は１２のカウント値がＲＡＭ７３にそれぞれ記憶されている。
【００４９】
ＣＰＵ７１は、入力されるカウント値信号とＲＡＭ７３に記憶されて各励磁相に対応したカウント値とを対比し、一致するカウント値の励磁相が、励磁相制御回路６２の励磁相であることを認識する。
【００５０】
また、ＣＰＵ７１は、初期励磁相に対応するカウント値を設定する初期励磁相設定信号をアップダウンカウンタ９５に送信可能なように構成されている。
［画像読取装置の構成］
以下、モータ制御装置５０を用いた装置の一例として、画像読取装置１を例示して説明する。
【００５１】
図５は、画像読取装置１の長手方向（後述の読取デバイス２１の移動方向）に沿う断面の構成を表す概略断面図である。図５に示すように、画像読取装置１は、いわゆるフラットベッド型のスキャナ装置として構成されており、装置本体３と、その装置本体３の上方に開閉可能に設けられたカバーの一例としてのＦＢカバー５と、からなる。この画像読取装置１は、プラテンガラス１３に載置された原稿Ｐもしくは、ＦＢカバー５に設けられた原稿搬送装置２７の動作によって搬送されてきた原稿Ｐを読み取ることが可能である。
【００５２】
装置本体３は、プラテンガラス１３に載置された原稿を読み取る読取デバイス２１（読取部の一例）と、モータ制御装置５０によって制御されるモータ２３と、そのモータ２３の回転に応じて読取デバイス２１を移動させるベルト機構部２５と、を備えている。
【００５３】
また、装置本体３は、図示を省略したユーザインタフェース（ＵＩ）を有している。画像読取装置１を使用する使用者は、このユーザインタフェースを介して原稿Ｐの画像の読み取りを画像読取装置１に指示し、また、画像読取装置１の主電源をＯＦＦする指示を与えることができる。
【００５４】
また、読取デバイス２１は、ベルト機構部２５が備えるプーリ２５ａに巻回されたベルト２５ｂに固定されており、モータ２３の回転に応じて回転するベルト２５ｂと共に、画像読取装置１の左右方向に移動する。
【００５５】
［画像読取装置のメインフローチャート］
次に、画像読取装置１にモータ制御装置５０が適用された場合のＣＰＵ７１における処理について説明する。
【００５６】
また、ＣＰＵ７１は、図６で示す画像読取装置１のメインルーチンの処理と図７で示す
モータ制御処理とを並列に連動する形で処理している。ＣＰＵ７１は、図６と図７の処理とをＲＯＭ７２に記憶されたプログラムに基づいて実行する。
【００５７】
まず、最初に、図６のＣＰＵ７１が実行する画像読取装置１のメインルーチンを表すフローチャートについて説明する。
なお、この処理は、画像読取装置１の電源投入時に開始される。図６に示すように、この処理では、先ず、Ｓ１（Ｓはステップを表す：以下同様）にて、各種初期設定が実行される。続くＳ２では、ＣＰＵ７１は稼働状態に維持しつつモータドライバ６０等を停止するいわゆるスリープモードへ移行すべきか否かのスリープ判定（ＳＬＥＥＰ判定）を行う。
【００５８】
画像読取装置１の電源投入時にはＳ２では否定判断がなされ、Ｓ３にて、ユーザインタフェース（ＵＩ）から何らかの入力がされたか否かが判断される。ユーザインタフェースからの入力もない場合は（Ｓ３：Ｎ）、処理はＳ４へ移行する。ＣＰＵ７１は、ユーザインタフェースから画像読取装置１の主電源をＯＦＦする命令がなされたか否かを判断する。ユーザインタフェースから画像読取装置１の主電源をＯＦＦする命令がなされていない場合、Ｓ５にて待機時間（すなわちユーザインタフェース等の操作がないまま待機している時間）が取得されて処理は前述のＳ２へ移行する。また、ＣＰＵ７１は、使用者がユーザインタフェースを介して画像読取装置１の主電源をＯＦＦする命令をした場合（Ｓ４：Ｙ）、画像読取装置１の電源ＯＦＦを指示する（Ｓ１６）。
【００５９】
なお、Ｓ１６の画像読取装置１の電源ＯＦＦの指示する命令は、後述する図７のＳ１００の励磁相記憶処理が完了して後、ＣＰＵ７１によってなされる。その後、画像読取装置１の電源はＯＦＦされる。
【００６０】
電源投入時には、このＳ２〜Ｓ５のループ処理が繰り返し実行され、そのループ処理中にユーザインタフェースから入力がなされると（Ｓ３：Ｙ）、処理はＳ７へ移行する。なお、以下の説明は、プラテンガラス１３に載置された原稿Ｐの画像を読み取る命令がユーザインタフェースから入力された場合を例にとって説明する。
【００６１】
Ｓ７では、ＣＰＵ７１は、駆動前処理命令を行う。
続く調整部の一例としてのＳ８にて、白基準部材１９等を用いた読取デバイス２１の光量調整やシェーディング補正などといった周知の読取前処理が実行される。
【００６２】
Ｓ８の読取前処理と後述する図７（Ｓ５１：ＹＥＳ）からＳ５２に至る処理とは、並列に処理される。後述する図７（Ｓ５１：ＹＥＳ）からＳ５２に至る処理は、Ｓ８の読取前処理が終了するまでには、終了する。
【００６３】
Ｓ８の読取前処理が終了すると、続くＳ９にて、ＣＰＵ７１がモータ駆動命令を行う。すると、後述のように、モータ２３が駆動されることにより読取デバイス２１の移動が開始される。そして、その移動中に、続くＳ１０で読取デバイス２１を介して原稿Ｐの画像を読み取る読取処理が実行される。
【００６４】
そして、その読取処理が終了すると、Ｓ１１にて待機時間がリセットされた後、処理は前述のＳ４へ移行する。
また、上記Ｓ２〜Ｓ５のループ処理中に上記待機時間が所定時間に達するなどしてスリープモードへ移行すべきスリープ判定がなされると（Ｓ２：Ｙ）、Ｓ１５にてドライバスリープ命令（ドライバｓｌｅｅｐ命令）がなされる。そして、処理は前述のＳ３へ移行する。
【００６５】
［モータ制御処理の全体の流れ］
図７は、ＣＰＵ７１が処理するモータ制御処理を表すフローチャートである。画像読取装置１の電源が投入されると、後述する復帰処理（Ｓ２０）が実行される。なお、本復帰処理によって、モータドライバ６０の電源は投入された状態となる。
【００６６】
ＣＰＵ７１は、モータドライバ６０の電源がＯＮ／ＯＦＦいずれの状態かを示すドライバ電源フラグを電源がＯＮの状態としてＲＡＭ７３に設定する（Ｓ８５）。
ＣＰＵ７１は、並列処理されている図６のメインルーチンのＳ１５において、ドライバスリープ命令がなされているか否かを判断する（Ｓ５０）。電源投入直後のようにドライバスリープ命令がなされていない場合は（Ｓ５０：Ｎ）、処理はＳ５１へ移行する。
【００６７】
Ｓ５１にてＣＰＵ７１は、図６のＳ７において、駆動前処理命令がなされているか否かを判断する。電源投入直後のように駆動前処理命令がなされていない場合は（Ｓ５１：Ｎ）、処理はＳ５２へ移行する。
【００６８】
Ｓ５２にてＣＰＵ７１は、図６のＳ９において、モータ駆動命令がなされているか否かを判断する。電源投入直後のようにモータ駆動命令がなされていない場合は（Ｓ５２：Ｎ）、処理はＳ５３へ移行する。
【００６９】
Ｓ５３にてＣＰＵ７１は、図６のＳ４において、画像読取装置１の電源ＯＦＦが指示されたか否かを判断する。画像読取装置１の電源ＯＦＦが指示されていない場合は（Ｓ５３：Ｎ）、処理は前述のＳ５０へ移行する。
【００７０】
そして、このＳ５０〜Ｓ５３のループ処理中に、図６のＳ１５において、ドライバスリープ命令がなされていると（Ｓ５０：Ｙ）、Ｓ７０の後述する励磁相記憶処理が実行される。
【００７１】
励磁相記憶処理（Ｓ７０）が終了すると、ＣＰＵ７１は、ドライバ電源フラグの状態をＯＦＦとしてＲＡＭ７３に設定する（Ｓ８０）。そして、ＣＰＵ７１による処理は前述したＳ５０〜Ｓ５３のループ処理へ移行する。
【００７２】
また、このループ処理中に前述の図６のＳ７によって駆動前処理命令がなされると（Ｓ５１：Ｙ）、処理はＳ８１へ移行する。
ＣＰＵ７１は、ＲＡＭ７３にアクセスし、ドライバ電源フラグの状態がＯＦＦの状態であるか否かを判断する（Ｓ８１）。そして、ドライバ電源フラグがＯＦＦの場合は（Ｓ８１：ＹＥＳ）、Ｓ８２にてＳ２０と同様の復帰処理が実行される。続くＳ８３にてドライバ電源フラグがＯＮに設定された上で、処理は前述のＳ５２へ移行する。
【００７３】
そして、図６のＳ９によりモータ駆動命令がなされると（Ｓ５２：Ｙ）、Ｓ９０の駆動処理が実行される。
駆動処理（Ｓ９０）が終了すると、処理は前述したＳ５０〜Ｓ５３のループ処理へ移行する。そして、そのループ処理中に図６のＳ４において、画像読取装置１の主電源をＯＦＦする命令がなされると（Ｓ５３：Ｙ）、処理はＳ１００へ移行する。そして、Ｓ７０と同様の励磁相記憶処理（Ｓ１００）が実行された後、このモータ駆動処理が終了する。
【００７４】
図８は、モータ２３の駆動から、ドライバスリープ命令によってモータドライバ６０の電源がＯＦＦとなり、そして復帰処理を経て再びモータ２３を駆動するまでの一連の流れを時系列に沿って表すタイムチャートである。なお、図８には、タイミング生成回路８０からモータドライバ６０に出力される各種信号と、励磁相制御回路６２が駆動回路６１に出力する励磁相信号と、駆動回路６１がモータ２３のコイルに流す電流とが、それぞれ示
されている。
【００７５】
ここで、図８のタイムチャートと合わせて、本実施の形態における図７の駆動処理（Ｓ９０）と、励磁相記憶処理（Ｓ７０）と、復帰処理（Ｓ２０、Ｓ８２、Ｓ１００）とをそれぞれ説明する。
【００７６】
[駆動処理]
図９は、図７のＳ９０の駆動処理を表すフローチャートである。なお、この駆動処理は、ドライバ電源フラグがＯＮ（Ｓ８１：ＯＮ）、モータ駆動命令がなされたとき（Ｓ５２：ＹＥＳ）、ＣＰＵ７１によって行われる。
【００７７】
ＣＰＵ７１は、タイミング生成回路８０に対してＬレベルである駆動回路ＯＦＦ信号を送信するように指示する。すると、駆動回路ＯＦＦ信号がＬレベルに切り替えられ、駆動回路６１がＯＮされる（Ｓ９１）。
【００７８】
ＣＰＵ７１は、タイミング生成回路８０に対して、励磁モード信号と，回転方向信号と，クロック信号との送信を開始するように指示する（Ｓ９２）。すると、励磁相制御回路６２は、クロック信号の１パルス毎に更新された励磁相を指示する励磁相信号を駆動回路６１に出力する。そして、駆動回路６１に、その励磁相信号に応じた駆動電流の供給が命令される。そして、その結果、モータ２３は、クロック信号の１パルス毎に更新される励磁相に対応する回転位置に回転することとなる。
【００７９】
なお、図８のモータ駆動においては、励磁モード信号としてＷ１−２相、回転方向信号としてＣＣＷがタイミング生成回路８０から出力されている場合を示している。そして、励磁相制御回路６２が励磁相信号をクロック信号の１パルス毎に出力し、その励磁相信号に応じて、駆動回路６１がモータ２３のコイルに駆動電流を供給している状況を示している。
【００８０】
次に、Ｓ９３では、モータ停止命令がなされたかどうかを判断する。モータ停止命令がなされていない場合（Ｓ９３：ＮＯ）、処理はそのままＳ９３にて待機する。なお、モータ停止命令とは、例えば、読取デバイス２１が一端から他端まで移動したことが周知のセンサによって検出された場合に、周知の処理によってＣＰＵ７１が行う命令である。
【００８１】
こうして、モータ停止命令がなされるまでモータ２３は駆動され続け（Ｓ９３：Ｎ）、モータ停止命令がなされると（Ｓ９３：Ｙ）、処理はＳ９４へ移行する。Ｓ９４では、タイミング生成回路８０からのクロック信号の送信が停止される。
【００８２】
また、続くＳ９５にて、駆動制御部として機能するタイミング生成回路８０によって駆動回路ＯＦＦ信号がＨレベルに切り替えられることにより駆動回路６１がＯＦＦされて、この駆動処理が終了する。
【００８３】
図８のモータ駆動では、時点ｔ１でモータ停止命令がなされると（Ｓ９３：Ｙ）、クロック信号が停止され（Ｓ９４）、続く時点ｔ２で駆動回路６１がＯＦＦされる（Ｓ９５）ことを示している。
【００８４】
励磁相制御回路６２は、時点ｔ１の時点でクロック信号の入力が停止すると、励磁相がｃ１１を保持した状態で維持される。なお、モータドライバ６０の電源はＯＮであるため、駆動回路６１は駆動回路ＯＦＦ信号によってＯＦＦされているが、励磁相制御回路６２は通電している。故に、時点ｔ２で駆動回路６１がＯＦＦされても励磁相制御回路６２は、励磁相ｃ１１を保持した状態のままである。
【００８５】
[励磁相記憶処理]
次に、図１０の励磁相記憶処理を表すフローチャートについて説明する。例えば、図８の時点ｔ２から少し経過した時点（なお、時間ｔ３より前の時点である）でＣＰＵ７１が図６のドライバスリープ命令を行い（Ｓ５０：Ｙ）、励磁相記憶処理（Ｓ７０）が行なわれるものとする。
【００８６】
この処理では、先ず、ＣＰＵ７１は、現在の励磁相を、励磁相取得部９０からモータドライバ６０の電源ＯＦＦ前の励磁相（停止時励磁相の一例）として取得する（Ｓ７１）。上述した励磁相取得部９０の動作によりＣＰＵ７１が、図８の時点ｔ２から少し経過した時点の励磁相制御回路６２の励磁相はｃ１１であることを認識することができる。
【００８７】
そして、ＣＰＵ７１は、その取得された励磁相の情報をＥＥＰＲＯＭ７４に区画された励磁相記憶部に記憶する（Ｓ７２）。そして、更に、ＣＰＵ７１は、モータドライバ通電制御部として機能するタイミング生成回路８０を介してモータドライバＯＦＦ信号をＨレベルに切り替える（Ｓ７３）。そして、ＣＰＵ７１は、モータドライバ６０の電源６６のスイッチ６５をＯＦＦする命令であるモータドライバＯＦＦ信号（Ｈレベル）をタイミング生成回路８０が出力するように指示する。すると、モータドライバ６０の電源がＯＦＦされてこの励磁相記憶処理が終了する。
【００８８】
なお、図８の時点ｔ３からｔ４の間は、モータドライバ６０の電源はＯＦＦされるため、励磁相制御回路６２は、励磁相ｃ１１を保持せず不定となる。また、励磁相ｃ１１の情報は、Ｓ７２によってＥＥＰＲＯＭ７４に記憶されている。電源ＯＦＦ処理時の励磁相記憶処理（図７のＳ１００）も同様であるので、画像読取装置１の電源ＯＦＦ後も上記電源ＯＦＦ前の励磁相はＥＥＰＲＯＭ７４に保持される。
【００８９】
[復帰処理]
次に、図１１の復帰処理のフローチャートについて説明する。ここで述べる復帰処理は、Ｓ８２の復帰処理を例示して説明するものである。すなわち、ドライバスリープ命令（Ｓ５０：ＹＥＳ）からＳ７０、Ｓ８０の処理を経て、図８の時点ｔ４でドライバスリープ命令が解除され（Ｓ５０：ＮＯ）と、それと連動して駆動前処理命令（Ｓ５１：ＹＥＳ）がなされた場合（Ｓ８２）を考える。なお、画像読取装置１の電源投入時の処理（Ｓ２０）もＳ８２の復帰処理と同様である。
【００９０】
図１１に示すように、この処理では、先ず、Ｓ２１にて、ＣＰＵ７１がセレクト信号をタイミング信号出力セレクタ８５に送信する。そして、タイミング信号出力セレクタ８５の各セレクタ８６〜８８が端子Ｂ側に切り替えられる。ＣＰＵ７１の指示によってモータドライバＯＦＦ信号がＬレベルに切り替えられることにより、モータドライバ６０の電源がＯＮされる（Ｓ２２）。
【００９１】
時点ｔ４において、モータドライバ６０の電源がＯＮするが、励磁相制御回路６２は通電して動作可能状態であるが、駆動回路６１は、駆動回路６１をＯＦＦする駆動回路ＯＦＦ信号（Ｈ信号）が供給されているため、駆動回路６１は動作しない。このため、以下の処理で励磁相が更新されてもモータ２３は回転しない。
【００９２】
上述したように、励磁相制御回路６２の励磁相は、モータドライバ６０の通電再開時には、初期励磁相となる。故に、時点ｔ４においては、励磁相制御回路６２の励磁相はｃ０となる。
【００９３】
また、ＣＰＵ７１は、アップダウンカウンタ９５に初期励磁相設定信号を出力する（Ｓ
２３）。すると、励磁相取得部９０は、初期励磁相から励磁相を取得する。
続くＳ２４では、Ｓ７２の処理によりＥＥＰＲＯＭ７４（励磁相記憶部の一例）に記憶されているモータドライバ６０の電源ＯＦＦ前の励磁相（停止時励磁相の一例）が取得される。
【００９４】
図８では、Ｓ７２の処理によりＥＥＰＲＯＭ７４には、電源ＯＦＦ前の励磁相として励磁相ｃ１１という情報が記憶されている。しかし、励磁相制御回路６２の励磁相はｃ０から更新されるため、励磁相制御回路６２の励磁相をｃ１１にする必要がある。
【００９５】
そこで、ＥＥＰＲＯＭ７４に記憶されているモータドライバ６０の電源ＯＦＦ前の励磁相と初期励磁相との関係から、初期励磁相から電源ＯＦＦ前の励磁相まで励磁相を変化させる際のステップ数が少ない方の回転方向が決定される（Ｓ２５）。すると、タイミング生成回路８０が、その回転方向に対応する回転方向信号を励磁相制御回路６２に送信する。
【００９６】
図２を見ても分かるように、初期励磁相ｃ０からモータドライバ６０の電源ＯＦＦ前の励磁相であるｃ１１までは、時計回りの方が速く到達することがわかる。故に、図８のｔ５において、ＣＰＵ７１によって回転方向信号としてＣＷ（時計回り）が指示される。
【００９７】
更に続くＳ３０では、次のような励磁モード信号判定処理が実行される。図１２は、その励磁モード信号判定処理を表すフローチャートである。図１２に示すように、この処理では、先ず、Ｓ３１にて、上記決定された方向に励磁相が２−２相で１ステップ進むと上記電源ＯＦＦ前の励磁相を超えるか否かが判断される。超えない場合は（Ｓ３１：Ｎ）、処理はＳ３２へ移行し、２−２相の励磁モードを指示する励磁モード信号が励磁相制御回路６２に送信されてこの励磁モード信号判定処理が終了する。
【００９８】
一方、２−２相で１ステップ進むと電源ＯＦＦ前の励磁相を超える場合は（Ｓ３１：Ｙ）、処理はＳ３３へ移行する。上記決定された方向に励磁相が１−２相で１ステップ進むと上記電源ＯＦＦ前の励磁相を超えるか否かが判断される。超えない場合は（Ｓ３３：Ｎ）、処理はＳ３４へ移行し、１−２相の励磁モードを指示する励磁モード信号が励磁相制御回路６２に送信されて、この励磁モード信号判定処理が終了する。
【００９９】
一方、１−２相で１ステップ進むと電源ＯＦＦ前の励磁相を超える場合は（Ｓ３３：Ｙ）、処理はＳ３５へ移行し、Ｗ１−２相の励磁モードを指示する励磁モード信号が励磁相制御回路６２に送信されてこの励磁モード信号判定処理が終了する。
【０１００】
図１１へ戻って、このようにして励磁モード信号判定処理（Ｓ３０）が終了すると、続くＳ４０にて、上記電源ＯＦＦ前の励磁相と、励磁相信号によって指示される現在の励磁相とが等しいか否かが判断される。なお、上記現在の励磁相は、励磁相取得部９０を介して取得される。そして、電源ＯＦＦ前の励磁相と現在の励磁相とが等しくない場合は（Ｓ４０：Ｎ）、Ｓ４１にて、前回クロック信号が送信されてからの時間Ｔｗが所定時間ｔｂ未満であるか否かが判断される。なお、Ｓ４２においてクロック信号を送信していない場合、Ｓ４１の処理は、Ｓ４０のモータドライバ電源ＯＦＦ前の励磁相と等しくないと判断（Ｓ４０：Ｎ）した時点からの時間Ｔｗが所定時間ｔｂ未満であるか否かに基づいて判断される。
【０１０１】
なお、この所定時間ｔｂは、励磁相制御回路６２が動作可能な最低パルス間隔以上で、かつ、モータ２３が動作可能な最低パルス間隔未満のパルス間隔に対応するクロック信号のパルス間隔である。通常、クロック信号のパルス間隔が短すぎるとモータ２３が脱調してしまうが、上述のようにこの処理の間はモータ２３が回転しない。従って、このような
短いパルス間隔でクロック信号を送信しても問題は生じず、次のように、励磁相を上記電源ＯＦＦ前の励磁相に迅速に一致させることができる。また、この所定時間ｔｂは、励磁相制御回路６２が動作可能な最低パルス間隔以上であり励磁相制御回路６２における上記励磁相の切り替えは実行可能である。
【０１０２】
すなわち、ｔｂ＞Ｔｗの場合はＳ４１にて処理は待機し（Ｓ４１：Ｙ）、ｔｂ≦Ｔｗとなると、Ｓ４２にてクロック信号が送信されて処理は前述のＳ３０へ移行する。図２を見ても分かるように、初期励磁相ｃ０からモータドライバ６０の電源ＯＦＦ前の励磁相であるｃ１１までは、時計回り（ＣＷ）の場合、２−２相で１ステップ進み、続いてＷ１−２相で１ステップ進めばよい。故に、図８のｔ６において２−２相の励磁モードを指示する励磁モード信号が送信され（Ｓ３２）、クロック信号が１パルス送信される（Ｓ４２）。続く図８のｔ７において、Ｗ１−２相の励磁モードを指示する励磁モード信号が送信され（Ｓ３５）、クロック信号が１パルス送信される（Ｓ４２）。すると、励磁相信号によって指示される励磁相が電源ＯＦＦ前の励磁相と等しくなる。
【０１０３】
こうして、Ｓ３０〜Ｓ４２の処理が繰り返し実行される間に、励磁相信号によって指示される励磁相が電源ＯＦＦ前の励磁相と等しくなると（Ｓ４０：Ｙ）、処理はＳ４３へ移行してタイミング信号出力セレクタ８５の各セレクタ８６〜８８が端子Ａ側に切り替えられ、この復帰処理が終了する。これによって、例えば図８のｔ８の時点で駆動処理がなされて駆動回路６１がＯＮされ（Ｓ９１）、コイル２３ａ，２３ｂに実際に駆動電流を供給してモータ２３を回転させる際には、励磁相制御回路６２が送信する励磁相信号が電源ＯＦＦ前の励磁相と一致している。従って、上記電源ＯＦＦ前の回転位置からモータ２３を回転させることが可能となる。
【０１０４】
また、本実施の形態では、復帰処理中のクロック信号のパルス間隔を上記所定時間ｔｂとするばかりでなく、励磁モード信号判定処理（Ｓ３０）及び回転方向の決定（Ｓ２５）も実行しているので、上記励磁相信号によって指示される励磁相を上記電源ＯＦＦ前の励磁相に極めて迅速に一致させることができる。すなわち、図２に矢印で例示するように、電源ＯＦＦ前の励磁相がｃ１１相であった場合、上記励磁モード信号判定処理及び回転方向の決定により、最初の１ステップは２−２相でＣＷ方向に励磁相が変化され（Ｓ３２）、次の１ステップはＷ１−２相でＣＷ方向に励磁相が変化される（Ｓ３５）。このため、上述のようにモータ２３が回転しない状態でなされる復帰処理に要する時間を良好に短縮することができる。
【０１０５】
なお、図８の復帰処理におけるクロック信号のパルス間隔は、図８のモータ駆動におけるクロック信号のパルス間隔よりも短いが、表記の都合上、同じ間隔で表記している。
そして、図８の復帰処理において、励磁相信号ｃ０とａ０と、励磁相信号ａ３とｃ１２とは、同じ励磁相であり、特に信号を切り換えているわけではない。
【０１０６】
[画像読取装置１の主電源をＯＦＦする際の処理について]
上述した図８では、ドライバスリープ命令によってモータドライバ６０の電源がＯＦＦとなる場合を説明した。次に、画像読取装置１の主電源をＯＦＦに伴って、モータドライバ６０の電源がＯＦＦする場合について説明する。
【０１０７】
本実施の形態では、画像読取装置１の主電源をＯＦＦする命令がなされると（Ｓ５３：Ｙ）、Ｓ１００にて図１０に示す励磁相記憶処理が実行される。そして、前述のように電源ＯＦＦ前の励磁相がＥＥＰＲＯＭ７４に記憶され、モータドライバ６０の電源及び画像読取装置１の主電源がＯＦＦとなる。そして、次に画像読取装置１の主電源をＯＮする命令がなされると、Ｓ２０にて図１１に示す復帰処理が実行される。この復帰処理によって、ＣＰＵ７１は、前述のように、駆動回路６１がＯＦＦでモータ２３が回らない状態を維
持したままで、励磁相制御回路６２の励磁相を上記電源ＯＦＦ前の励磁相に一致させる。このため、主電源のＯＦＦによってモータドライバ６０の電源がＯＦＦされた場合でも、モータ２３を前回の停止位置から再駆動することができる。すなわち、次にモータ駆動命令がなされて（Ｓ５２：Ｙ）、Ｓ９０の駆動処理のうちＳ９１にて駆動回路ＯＦＦ信号がＬレベルとされると、電源ＯＦＦ前の励磁相に応じた電流がコイル２３ａ，２３ｂに通電される。
【０１０８】
[本実施の形態の効果及びその変形例]
本実施の形態と異なり、従前のクロック入力方式のモータドライバを用いたステッピングモータ制御装置では、モータドライバの電源がＯＮされると、駆動回路がモータに駆動電流を供給する。故に、モータは初期励磁相に対応する回転位置から回転を開始するため、ＡＳＩＣ側でモータドライバの電源ＯＦＦ時の励磁相を記憶していたとしても、反映することができない。また、従前のクロック入力方式のモータドライバでは、スリープ時にモータドライバの電源をＯＦＦすると、モータが電源ＯＦＦ時の回転位置から回転を開始することができない。故に、スリープ時において、モータが電源ＯＦＦ時の回転位置から回転を開始するためには、従前のステッピングモータ制御装置では、ＣＰＵとともにモータドライバの電源もＯＮしておく必要がある。
【０１０９】
しかし、既に説明したように本実施の形態では、励磁相制御回路６２の励磁相を上記電源ＯＦＦ前の励磁相に一致して後、駆動回路６１がＯＮとなってモータ２３が回転する。故に、本実施の形態のステッピングモータ制御装置を用いると、モータ２３がモータドライバの電源ＯＦＦ時の回転位置から回転を開始することができる。
【０１１０】
なお、スリープモードから復帰する場合には、モータドライバ６０の電源ＯＦＦ前の励磁相をＥＥＰＲＯＭ７４に限らず、ＲＡＭ７３に記憶されていてもよい。
また、画像読取装置１等の主電源ＯＦＦ時には、モータドライバ６０の電源ＯＦＦ前の励磁相をＥＥＰＲＯＭ７４に記憶するとよりよい。不揮発性のメモリであるＥＥＰＲＯＭ７４にモータドライバ６０の電源ＯＦＦ前の励磁相を記憶しておくと、画像読取装置１等の主電源ＯＮ時のＳ２０の復帰処理によって、モータが電源ＯＦＦ時の回転位置から回転を開始することができる。
【０１１１】
また、本実施の形態では、復帰処理中のクロック信号のパルス間隔をモータ２３が動作可能なパルス間隔未満の所定時間ｔｂとすると共に、回転方向や励磁モードも復帰処理中のクロック数が最も少なくてよいように設定している（Ｓ２５，Ｓ３０）。このため、上記励磁相信号を上記電源ＯＦＦ前の励磁相を指示する信号に迅速に一致させることができ、上記モータ２３の再駆動を早期に行うことができる。しかも、その復帰処理も、読取前処理（Ｓ８）と並行して実行されるので、画像読取装置１による読取処理を早期に開始することができる。
【０１１２】
なお、本発明は上記実施の形態になんら限定されるものではなく、本発明の要旨を逸脱しない範囲で種々の形態実施することができる。例えば、上記励磁相記憶処理（Ｓ７０）は、次のような処理としてもよい。図１３は、上記励磁相記憶処理の他の例を表すフローチャートである。なお、この励磁相記憶処理もモータドライバＯＦＦ信号がＨレベルとなってモータ２３が回転しない状態で実行される（Ｓ９５参照）。
【０１１３】
図１３に示すように、この処理では、先ず、Ｓ１７１にて、ＣＰＵ７１は、タイミング生成回路８０に、モータ２３の駆動停止前の最終的な励磁モード信号及び回転方向信号を励磁相制御回路６２に送信させる。続くＳ１７２では、初期励磁相信号取得部として機能するタイミング生成回路８０を介してモータドライバ６０の励磁相制御回路６２から初期励磁相信号が送信されているか否かが判断される。そして、初期励磁相信号が送信されて
いない場合は（Ｓ１７２：Ｎ）、Ｓ１７３にてクロック信号が励磁相制御回路６２に送信される。
【０１１４】
カウント部ＣＰＵ７１として機能するＣＰＵ７１は、そのクロック信号のカウンタ値をカウントする（Ｓ１７４）。次に、処理は上記Ｓ１７２へ移行する。こうして、Ｓ１７２〜Ｓ１７４の処理が繰り返し実行され、クロック信号を送信しては（Ｓ１７３）カウントアップがなされるうちに（Ｓ１７４）、励磁相制御回路６２から初期励磁相信号が送信されると（Ｓ１７２：Ｙ）、処理はＳ１７５へ移行する。
【０１１５】
Ｓ１７５では、Ｓ１７１にて送信された励磁モード信号及び回転方向信号と、Ｓ１７４によって計数されたクロック信号の送信数とから、上記電源ＯＦＦ前の励磁相（ドライバの最終励磁相）が算出される。例えば、励磁モード信号が示す励磁モードがＷ１−２相で回転方向信号が示す回転方向がＣＣＷの場合に、１パルスのクロック信号で初期励磁相信号が送信されたとすると、電源ＯＦＦ前の励磁相はｃ１５であることが分かる。また、励磁モード信号が示す励磁モードが１−２相で回転方向信号が示す回転方向がＣＷの場合に、２パルスのクロック信号で初期励磁相信号が送信されたとすると、電源ＯＦＦ前の励磁相はｂ２であることが分かる。
【０１１６】
続くＳ１７６では、ＣＰＵ７１はその励磁相をＥＥＰＲＯＭ７４（励磁相記憶部の一例）に保存する。ＣＰＵ７１は、更に続くＳ１７７（モータドライバ通電制御部の一例）にてモータドライバ６０の電源をＯＦＦした後、この励磁相記憶処理を終了する。このような励磁相記憶処理を採用した場合、励磁相取得部９０を省略することもでき、モータ２３の駆動中のＡＳＩＣ７０の負荷を一層軽減することができる。これに対して、図１０の励磁相記憶処理を採用した場合は、電源ＯＦＦ前の励磁相が瞬時に取得して記憶できるので、モータドライバ６０への通電の遮断に要する時間を短縮することができる。
【０１１７】
また、上記実施の形態では、本発明のステッピングモータ制御装置を画像読取装置用のステッピングモータに適用した場合を例にとって説明したが、本発明のステッピングモータ制御装置は、インクジェットプリンタ，ＸＹプロッタ等の画像形成装置、ミシン、工作機械等の各種装置に用いられるステッピングモータの制御に適用することができる。これらの装置でも、ＡＳＩＣ７０の電源はＯＮに維持したままモータドライバ６０の電源をＯＦＦするいわゆるスリープモードが設定される場合があり、そのような場合に、本発明は前述のような顕著な効果を発揮する。更に、励磁相取得部９０の構成としても種々考えられ、励磁相信号そのものがモータドライバ６０からフィードバックされてもよい。
【符号の説明】
【０１１８】
１…画像読取装置                  ２１…読取デバイス        ２３…モータ
５０…ステッピングモータ制御装置  ６０…モータドライバ      ６１…駆動回路
６２…励磁相制御回路              ６５…スイッチ            ７０…ＡＳＩＣ
７１…ＣＰＵ                      ７２…ＲＯＭ              ７３…ＲＡＭ        ７４…ＥＥＰＲＯＭ                ８０…タイミング生成回路
８１…駆動時タイミング生成回路    ９０…励磁相取得部
９５…アップダウンカウンタ
【図１】
0005585702.tif 000002
【図２】
0005585702.tif 000003
【図３】
0005585702.tif 000004
【図４】
0005585702.tif 000005
【図５】
0005585702.tif 000006
【図６】
0005585702.tif 000007
【図７】
0005585702.tif 000008
【図８】
0005585702.tif 000009
【図９】
0005585702.tif 000010
【図１０】
0005585702.tif 000011
【図１１】
0005585702.tif 000012
【図１２】
0005585702.tif 000013
【図１３】
0005585702.tif 000014