(57)【要約】【課題】高解像度での画像読取を実行するのに十分な解像度を持たないエンコーダしか備えないＤＣモータを用いた画像読取装置においても、高精度の高解像度の画像読取画像を可能にすることである。【解決手段】原稿を読取る前に、ＤＣモータをその回転一周分させながら、キャリッジの移動と停止を繰り返すように制御するように予備駆動させる。その移動と停止の繰返しにおいて、各停止位置におけるキャリッジのオーバランを求め、そのオーバランとＤＣモータの回転の位相との関係を学習する。実際の画像読取動作においては、キャリッジの移動と停止を繰り返すように、ＤＣモータを駆動する。一方、その学習の結果に基づいて、キャリッジの停止位置では、キャリッジのゆり戻しが発生しないように前記ＤＣモータに電流を供給するように制御する。【選択図】  図９
2011035848.tif 000002
【特許請求の範囲】
【請求項１】
原稿の画像を読取る画像読取装置であって、
予め定められた方向に移動しながら、前記原稿を走査する読取センサを含むキャリッジと、
前記キャリッジを移動させるための駆動源となるＤＣモータと、
画像読取の動作に先き立って、前記ＤＣモータを駆動し一周、回転させながら、前記キャリッジの移動と停止を繰り返すように制御する予備駆動制御手段と、
前記移動と停止の繰返しにおいて、各停止位置における前記キャリッジのオーバーランを求め、前記オーバーランと前記ＤＣモータの回転の位相との関係を学習する学習手段と、
実際の画像読取の動作において、前記キャリッジの移動と停止を繰り返すように、前記ＤＣモータを駆動する一方、前記学習手段による学習の結果に基づいて、前記キャリッジの停止位置では、前記キャリッジのゆり戻しが発生しないように前記ＤＣモータに電流を供給するように制御する駆動制御手段とを有することを特徴とする画像読取装置。
【請求項２】
前記キャリッジの移動速度を検出する検出手段と、
前記検出手段により検出された移動速度に基づいて、前記ＤＣモータの駆動をサーボ制御するサーボ制御手段とをさらに有することを特徴とする請求項１に記載の画像読取装置。
【請求項３】
前記ＤＣモータの回転の位相を検出するロータリーエンコーダと、
前記学習手段による学習の結果を格納する格納手段とをさらに有することを特徴とする請求項１又は２に記載の画像読取装置。
【請求項４】
前記駆動制御手段は、前記各停止位置における前記キャリッジのオーバーランのうち、予め定められたマージンを超えるオーバーランが発生する停止位置に関して、前記ＤＣモータに電流を供給するよう制御することを特徴とする請求項１乃至３のいずれか１項に記載の画像読取装置。
【請求項５】
前記予め定められたマージンを超えるオーバーランが発生する停止位置に関して、前記ＤＣモータに電流を供給する場合、該供給される電流は、前記オーバーランの量が大きくなると大きくすることを特徴とする請求項４に記載の画像読取装置。
【請求項６】
前記予備駆動制御手段は、前記原稿の画像の読取のための１読取ライン分ごとに前記キャリッジの移動と停止を繰り返すように制御することを特徴とする請求項１乃至５のいずれか１項に記載の画像読取装置。
【請求項７】
ＤＣモータを駆動源とし、予め定められた方向に移動しながら原稿を走査することにより前記原稿の画像を読取るキャリッジを備えた画像読取装置の画像読取方法であって、
画像読取の動作に先き立って、前記ＤＣモータを駆動し一周、回転させながら、前記キャリッジの移動と停止を繰り返すように制御する予備駆動制御工程と、
前記移動と停止の繰返しにおいて、各停止位置における前記キャリッジのオーバーランを求め、前記オーバーランと前記ＤＣモータの回転の位相との関係を学習する学習工程と、
実際の画像読取の動作において、前記キャリッジの移動と停止を繰り返すように、前記ＤＣモータを駆動する一方、前記学習工程における学習の結果に基づいて、前記キャリッジの停止位置では、前記キャリッジのゆり戻しが発生しないように前記ＤＣモータに電流を供給するように制御する駆動制御工程とを有することを特徴とする画像読取方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は画像読取装置及び画像読取方法に関し、特に、例えば、駆動源としてＤＣモータを採用し、原稿の読取走査を行うスキャナユニットを駆動する画像読取装置及び画像読取方法に関する。
【背景技術】
【０００２】
従来より、画像処理装置の稼動音を低下させることが望まれている。その対策の１つとして、フラットベット型スキャナ（以下、スキャナ）を読取手段とする画像処理装置では、読取センサを備えたキャリッジを駆動させるのにＤＣモータを使用して稼動音を抑えている。
【０００３】
そのような装置のスキャナは稼動音を低下させると同時に読取解像度を高解像度にすることも求められている。一方、そのようなスキャナは、例えば、７５ｄｐｉ程度の低解像度から９６００ｄｐｉのような高解像度までの幅広い解像度に対応するために、キャリッジを移動させるモータも超低速から超高速までの移動速度に対応すること必要がある。
【０００４】
ＤＣモータを駆動源としたキャリッジを動作させるスキャナにおいて、上記のような高解像の読み取りを実施するために超低速の定速移動を実現しようとした場合、その機構部に適した制御周期でフィードバック制御を行う必要がある。このためには、キャリッジの位置を高精度に知る必要があるので、高解像度のエンコーダが必要となる。従って、十分な解像度を持たないエンコーダを使用して超低速でキャリッジを移動させた場合、コギング等の影響を受け速度変動が発生してしまう。この速度変動によって、１ライン分の画素（以下、１読取ライン）を読取るのに必要な時間よりキャリッジ速度が速くなれば、そのラインの読取りが終了していないのに次の読取ラインへキャリッジが移動してしまう。その結果、出力画像においてラインづれが発生してしまう。同様に、１読取ラインを読取るのに必要な時間よりキャリッジ速度が遅い場合には、露光過多による読取データのオーバーフローが発生したり、読取センサの光源の消灯時間が遅くなって暗電流ノイズが増大する。その結果、出力画像の品質が劣化する。
【０００５】
このような問題を回避するためには、装置の仕様に応じた解像度で原稿を読取るのに適した解像度のエンコーダを備えたＤＣモータが必要である。特に、画像原稿を高解像度で読取る必要があるならば、キャリッジの超低速移動にも正確に追従する高解像度のエンコーダを備えたＤＣモータの使用が必須である。
【０００６】
これまでにも、例えば、特許文献１のように、これを実現するために従来のスキャナが保持していたエンコーダ（高速用エンコーダ）に加え、低速用の高解像度のエンコーダを備え、２つのエンコーダを読取解像度によって使い分けることが提案されている。
【０００７】
さて、高解像度で原稿を読取るために高解像度のエンコーダを備えたＤＣモータを装置に実装するには、その物理的なサイズ、コスト等の要因から搭載することができる装置が限られる。これは、特許文献１で提案された方法においても同様であり、低価格、かつ小型の画像処理装置に搭載するのは困難である。
【０００８】
このような理由から画像処理装置には、その仕様要求を満たすのに不十分な解像度を持つエンコーダしか搭載することができないケースが多い。そのため、キャリッジを超低速で定速移動させようとしても、エンコーダの解像度が十分で無いために正確な速度情報の取得ができず、細かな読取制御ができない。その結果、キャリッジの速度変動に追従できず、画素ズレのような出力画像の品質低下が生じてしまう。これは、高解像度の画像読取をサポートする画像処理装置に対してＤＣモータの実装を妨げる要因となっている。
【０００９】
この問題に対処するために、原稿画像の高解像度読取時には、キャリッジを画像の全体領域にわたって一定速度で移動するのではなく１読取ライン分の速度サーボを実行しては停止し、読取を実行するという処理を繰り返すように制御することが考えられる。キャリッジ移動中の速度変動によって読取画像の品質が低下する可能性のある場合には、読取処理を行わないことで、１ラインを読取るのに最適な読取時間を確保する。これにより、画素ズレ等の出力画像の品質低下を防ぐのである。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特開２００１−９９８５０号公報
【発明の概要】
【発明が解決しようとする課題】
【００１１】
しかしながら上記のような処理を実施する場合、ＤＣモータを主要因とするトルク変動によりモータの停止精度が悪くなる現象が発生する。これは、サーボ領域終了後の停止中に、停止位置が手前にずれてしまう現象（以下、ゆり戻し）である。この目標停止位置と実際の停止位置とのずれ（以下、オーバーラン）量によっては、本来、画像を読取らなければならない場所（ライン）の読取をとばしてしまうといった現象が発生してしまう。
【００１２】
これは、出力画像に画像抜け、ライン抜けを生じさせ、出力画像の品質を低下させてしまう。
【００１３】
本発明は上記従来例に鑑みてなされたもので、原稿の画像を高解像度で高精度度に読取ることができる画像読取装置と画像読取方法とを提供することを目的としている。
【課題を解決するための手段】
【００１４】
上記目的を達成するために本発明の画像読取装置は次のような構成からなる。
【００１５】
即ち、原稿の画像を読取る画像読取装置であって、予め定められた方向に移動しながら、前記原稿を走査する読取センサを含むキャリッジと、前記キャリッジを移動させるための駆動源となるＤＣモータと、画像読取の動作に先き立って、前記ＤＣモータを駆動し一周、回転させながら、前記キャリッジの移動と停止を繰り返すように制御する予備駆動制御手段と、前記移動と停止の繰返しにおいて、各停止位置における前記キャリッジのオーバーランを求め、前記オーバーランと前記ＤＣモータの回転の位相との関係を学習する学習手段と、実際の画像読取の動作において、前記キャリッジの移動と停止を繰り返すように、前記ＤＣモータを駆動する一方、前記学習手段による学習の結果に基づいて、前記キャリッジの停止位置では、前記キャリッジのゆり戻しが発生しないように前記ＤＣモータに電流を供給するように制御する駆動制御手段とを有することを特徴とする。
【００１６】
また他の発明によれば、ＤＣモータを駆動源とし、予め定められた方向に移動しながら原稿を走査することにより前記原稿の画像を読取るキャリッジを備えた画像読取装置の画像読取方法であって、画像読取の動作に先き立って、前記ＤＣモータを駆動し一周、回転させながら、前記キャリッジの移動と停止を繰り返すように制御する予備駆動制御工程と、前記移動と停止の繰返しにおいて、各停止位置における前記キャリッジのオーバーランを求め、前記オーバーランと前記ＤＣモータの回転の位相との関係を学習する学習工程と、実際の画像読取の動作において、前記キャリッジの移動と停止を繰り返すように、前記ＤＣモータを駆動する一方、前記学習工程における学習の結果に基づいて、前記キャリッジの停止位置では、前記キャリッジのゆり戻しが発生しないように前記ＤＣモータに電流を供給するように制御する駆動制御工程とを有することを特徴とする画像読取方法を備える。
【発明の効果】
【００１７】
従って本発明によれば、高解像度での画像読取を実行するのに十分な解像度を持たないエンコーダしか備えないＤＣモータを用いた画像読取装置においても、高精度の高解像度の画像読取を行うことができるという効果がある。
【図面の簡単な説明】
【００１８】
【図１】本発明の代表的な実施例である画像読取装置の外観斜視図である。
【図２】図１に示した画像読取装置の上面図である。
【図３】画像読取装置の制御構成を示すブロック図である。
【図４】速度のフィードバックサーボ制御を説明したフローチャートである。
【図５】図４で示したフィードバックサーボ制御を適用して高解像度の画像読取処理とキャリッジを超低速で移動して画像読取を実行した際の速度変動を示した図である。
【図６】画像読取に無視できない速度変動が発生した場合の対処方法を概念的に説明する図である。
【図７】キャリッジの停止精度を示した図である。
【図８】ＤＣモータの駆動制御を示すフローチャートである。
【図９】図８で説明した制御を実施した際のＤＣモータの停止精度を計測した結果を示す図である。
【符号の説明】
【００１９】
１０１  筐体、１０２  原稿台、１０３  キャリッジ、１０４  原稿、２０１  ガラス面、２０４  ホームポジション、３０１  ＣＰＵ、３０２  モータドライバ、３０３  ＤＣモータ、３０４  ロータリーエンコーダフィルム、３０５  エンコーダセンサ、３０６  光源、３０７  ミラー、３０８  読取センサ（ＣＣＤ）、３０９  ＡＦＥ、３１０  ＲＡＭ、３１１  ＲＯＭ
【発明を実施するための形態】
【００２０】
以下添付図面を参照して本発明の好適な実施例について、さらに具体的かつ詳細に説明する。ただし、この実施例に記載されている構成要素の相対配置等は、特定の記載がない限りは、この発明の範囲をそれらのみに限定する趣旨のものではない。
【００２１】
まず、本発明の代表的な実施例である画像読取装置の基本構成を説明する。
【００２２】
図１は本発明の代表的な実施例である画像読取装置の外観斜視図である。
【００２３】
図１に示すように、画像読取装置１００は、制御回路などを実装した筐体１０１と原稿台１０２とキャリッジ１０３と原稿カバー１０５とで構成される。
【００２４】
図２は図１に示した画像読取装置１００の上面図である。
【００２５】
図２は原稿カバー１０５を開き、原稿台１０２のガラス面２０１を通して、筐体１０１の内部を眺める様子を示したものである。
【００２６】
画像を読取時にはユーザが原稿カバー１０５を開き、原稿台１０２のガラス面２０１に原稿１０４を置き、その後、キャリッジ１０３で走査することで画像の読み取りを行う。
【００２７】
図２に示すように、キャリッジ１０３のホームポジション２０４が原稿台１０２の左側にあり、キャリッジ１０３を矢印２０３の方向（主走査方向）に移動させながら、画像の読み取りを行う。
【００２８】
なお、図１〜図２に示した画像読取装置１００はホストコンピュータ（不図示）と、例えば、ＵＳＢなどのインタフェースを介して接続され、ホストコンピュータからの指示により画像読取を行ない、その読取データをホストコンピュータに出力する。また、図１〜図２では、画像読取装置１００はフラットベッド型の単体装置として描かれているが、多機能プリンタ装置（ＭＦＰ）のスキャナ部として組み込まれる構成のものでも良い。
【００２９】
図３は画像読取装置の制御構成を示すブロック図である。
【００３０】
ＣＰＵ（制御部）３０１はＲＯＭ３１１に記憶された制御プログラムをＲＡＭ３１０の作業領域において実行することにより装置全体を制御する。ＲＯＭ３１１には制御用設定値、パラメータも格納されている。ＲＡＭ３１０はＣＰＵ３０１による制御プログラム実行のための作業領域の他に、ユーザが登録した設定値や装置の管理データ等の保存等に使用される。また、後述する処理において保持すべき出力値やパラメータなどもＲＡＭ３１０に格納される。
【００３１】
さて、ホストコンピュータからの原稿読取開始命令をＣＰＵ３０１が受信すると画像の読取動作が開始される。読み取り動作を開始すると、キャリッジ１０３を構成する光源３０６が点灯し、駆動源となるＤＣモータ３０３が回転し、キャリッジ１０３を移動させながら原稿を照射する。光源３０６にはＬＥＤが用いられる。
【００３２】
原稿からの反射光はミラー３０７を介して読取センサ３０８に入力される。読取センサ３０８は、ＣＣＤやＣＩＳのような光電変換素子を含む。読取センサ３０８は、照射された原稿の反射光または透過光をＡＦＥ３０９により光電変換する。その結果、得られたアナログ電気信号（画像信号）はＣＰＵ３０１に送られ、Ａ／Ｄ変換された後、ＲＯＭ３１１に予め定められた画像処理（２値化処理、中間調処理など）が施される。このようにして得られた画像データがＲＡＭ３１０に格納される。
【００３３】
このような画像読取処理は、ＲＯＭ３１１に格納されたスキャン制御タスクプログラムをＣＰＵ３０１が実行することによって制御される。
【００３４】
キャリッジ１０３の移動は、ＣＰＵ３０１がＲＯＭ３１１に記憶されている制御プログラムを実行してフィードバック制御を行い、モータドライバ３０２を介してＤＣモータ３０３を駆動させることにより行われる。ＤＣモータ３０３にはエンコーダセンサ３０５が取り付けられ、ロータリーエンコーダフィルム３０４を読み取ることで速度情報を得る。
【００３５】
この速度情報に基づいて、ＣＰＵ３０１はキャリッジ１０３の駆動の為のフィードバック制御を実行する。
【００３６】
また、この実施例では、ＤＣモータ３０３に設けられたロータリーエンコーダフィルム３０４やエンコーダセンサ３０５は画像読取装置１００がサポートする最大解像度の読取処理に対応するのに十分な解像度をサポートしていない。
【００３７】
操作部３１２は各種入力キーやＬＥＤランプなどで構成され、ユーザが各種入力操作を行う。バッファメモリ３１３はインタフェースを介してホストコンピュータと通信を行なう際のデータバッファや画像読取により生成された画像データを一時的に格納する領域として用いられる。
【００３８】
インタフェース３１４はＵＳＢ規格に加えて、ＩＥＥＥ８０２．３などのプロトコルに準拠した通信制御を行いホストコンピュータとの間で通信制御を行う。また、インタフェース３１４を介して、例えば、ＴＣＰ／ＩＰ等のプロトコルに従って、データパケットの受信や送信を行なうことができる。
【００３９】
図４は速度のフィードバックサーボ制御を説明したフローチャートである。この制御はkキャリッジの駆動源であるＤＣモータの駆動に適用される。
【００４０】
図４において、ステップＳ１０１〜ステップＳ１０３はソフトウェア的には画像読取制御タスクの階層に属する処理であり、ステップＳ１０４〜ステップＳ１１３はタイマハンドラの階層に属する処理である。
【００４１】
ステップＳ１０１で画像読取制御に伴うＤＣモータの駆動処理が開始されると、ステップＳ１０２で変数ｉｎｔＳｕｍを初期化する。ｉｎｔＳｕｍはフィードバック制御において積分計算により算出される積分補償量を意味する変数である。
【００４２】
ステップＳ１０３でフィードバック制御を行うためのタイマハンドラ（この画像読取装置では１ミリ秒周期）を起動すると、タスク階層での処理は終了となる。
【００４３】
以下、タイマ処理を示すステップＳ１０４により１ミリ秒ごとにステップＳ１０５以下の処理が起動されることになる。
【００４４】
ステップＳ１０５では対象物（ここでは、キャリッジ）が目標停止位置に到達したか否かの判定を行う。ここで、その目標停止位置に到達したと判断されれば、処理はステップＳ１０６に進んでタイマを停止させ、ステップＳ１０７でＤＣモータへの電流供給を切断し、さらにステップＳ１１３に進んで駆動処理終了となる。
【００４５】
これに対して、目標停止位置に到達していないと判断されれば、処理はステップＳ１０８に進んで速度情報を取得する。具体的には、エンコーダセンサ３０５から現在の速度情報を得て変数ｓｐｄＮｏｗに代入する。次に処理はステップＳ１０９に進み、理想速度プロファイル生成ルーテンより処理時点における理想の速度情報ｓｐｄＣｍｄを取得する。
【００４６】
理想速度プロファイルはその速度指令プロファイルの積分により容易に求めることができるので、公知の手段と言ってよく、ここでは詳細の説明は省略する。
【００４７】
次のステップＳ１１０とステップＳ１１１の計算は、一般的にＰＩＤ制御と呼ばれるフィードバック制御を速度制御に適用した公知の構成の一例を示したものである。
【００４８】
ステップＳ１１０では、速度サーボにおける積分演算を行うための処理を行う。即ち、速度指令値ｓｐｄＣｍｄから現在の速度情報ｓｐｄＮｏｗの差をとって速度の遅れ量を算出する。これに速度の積分ゲイン係数であるｉｎｔＴｂｌを乗算したものを、１ミリ秒周期のタイマが前回割り込んだときに求めた積分補償量ｉｎｔＳｕｍに加算して、積分項の演算結果として新たなｉｎｔＳｕｍを得る。
【００４９】
ステップＳ１１１では、速度サーボにおける比例演算を行った上で電流出力値を決定するための処理を行う。即ち、速度指令値ｓｐｄＣｍｄから現在の速度情報ｓｐｄＮｏｗの差をとって速度の遅れ量を算出し、これに速度の積分ゲイン係数であるｉｎｔＴｂｌを乗算する。このようにして得られた比例項の演算結果に、積分項の演算結果であるｉｎｔＳｕｍを加えたものが、電流出力値ｍｔｒ＿ｐｗｍとなる。
【００５０】
次に、処理はステップＳ１１２に進み、演算結果として求められたｍｔｒ＿ｐｗｍの大きさに対応した電流をＤＣモータに対して供給する。
【００５１】
この後、処理はステップＳ１０４に戻り、１ミリ秒が経過するまでは別タスクの処理を行う。
【００５２】
図５は、画像読取装置１００において、図４で示したフィードバックサーボ制御を適用して高解像度の画像読取処理とキャリッジを超低速で移動して画像読取を実行した際の速度変動を示した図である。ここでいう高解像度の画像読取とは、例えば、９６００ｄｐｉでの読取をいう。
【００５３】
図５において、ｘ軸は画像読取中の経過時間であり、Ｙ軸は速度である。図５に示す例では、ＤＣモータ３０３に対して理想速度４０２でキャリッジ１０３を定速移動させるように設定している。
【００５４】
図５において、理想速度４０２を実際の検出速度４０１が上回っている時には、想定よりも読取速度が速いということを意味する。これは、読取に必要な時間、キャリッジ１０３の読取センサが画像を取り込むのに必要な時間だけ読取ライン上にいない可能性があることを示す。その場合、読取センサはその読取ラインの正常な画像データを取得できず、画素ズレが発生する。
【００５５】
同様に、理想速度４０２よりも実際の検出速度４０１が小さい場合には、想定よりも読取速度が遅いということを意味する。この場合、読み取りに必要な時間以上、読取センサが読取ライン上にいる可能性あることを示す。この場合、その読取センサの光源３０６が点灯し続けるなら露光過多により読取画像データの値がオーバフローしたり、読取に必要な時間以外消灯する場合には暗電流によるノイズ発生等が発生する。
【００５６】
このような問題は通常、ある程度の設計マージンが設けられているので、画像に影響を及ぼすケースは少ない。しかしながら、キャリッジのコギング等の影響により、例えば、図５の４０３に示すように、一定周期ごとに無視できないほど大きな速度変動が発生してしまう場合がある。
【００５７】
図６は画像読取に無視できない速度変動が発生した場合の対処方法を概念的に説明する図である。
【００５８】
画像読取に無視できない速度変動は、キャリッジを超低速、かつ一定速度で移動させて高解像度の画像読取を実行しようとするために発生する。従って、この実施例では、１読取ラインごとにキャリッジの移動、キャリッジの停止、画像読取の順で、これら３つの動作を実行するように制御する。これにより、読取対象となる画素を読取るの必要な時間、即ち、読取センサがその読取ラインのデータを取り込むのに必要な時間を確保する。
【００５９】
図６に示すように、解像度９６００ｄｐｉでの画像読取を行なう際には、ＤＣモータ３０３を制御して、まず、キャリッジを１／９６００インチ移動させる（図６の４１１）。そして、その読取ライン分のデータを読取センサが取り込むのに必要な時間（１２．２１ミリ秒）キャリッジは停止し（図６の４１２）、その間に画像読取を実行する（図の４１３）。このサイクルをユーザによって指示された読取ライン数分くりかえすことにより、ＤＣモータ３０３の速度変動による問題を発生させることなく、高解像度で読取処理を実現することが可能となる。なお、このような移動制御はキャリッジが超低速に移動する場合でなくとも同様に適用できる。
【００６０】
さて、図６に示すようなキャリッジの移動制御を実現すると、ＤＣモータを主要因とするトルク変動により停止精度が悪くなる現象が発生する。即ち、サーボ制御領域の移動終了後の静止中に、キャリッジ停止位置が手前にずれてきてしまう現象、ゆり戻しが発生してしまうためである。
【００６１】
図７はキャリッジの停止精度を示した図である。
【００６２】
図７において、Ｘ軸はＤＣモータ３０３の回転量であり、ＤＣモータ３０３のロータリーエンコーダフィルムに刻まれたスリットの数で示されている。従って、その数が多いほど長距離進んだことを示す。一方、Ｙ軸は目標停止位置に対するオーバーラン量を示し、Ｘ軸と同様にスリット単位で示されている。Ｙ軸において、“０”が目標停止位置を示し、＋方向がキャリッジの進み過ぎを示し、−方向がキャリッジが目標の手前で停止したことを示す。従って、“０”からの差が大ききほど目標停止位置よりも離れた位置で停止していることを示している。
【００６３】
通常、設計においてある程度のマージンを設けているので、多少のずれは許容できる（この実施例では±５スリット）。しかしながら、図７の５０１に示されているように、特定の周期で停止してから少し時間が経過すると目標停止位置の手前で停止してしまい、結果として極端に大きな量のオーバーランが発生する。
【００６４】
このオーバーランはＤＣモータの回転位相との間に相関関係が認められる。従って、オーバーランは、周期的に発生する。このため、特定位相で画像読取を実行する際、言い換えると、一定周期ごとに本来読取る必要のある読取ラインとは別の場所の読取処理を実行してしまう可能性が発生する。これは、画素ズレを引き起こし、出力画像の品質低下の要因となる。
【００６５】
この実施例では、上記のことを踏まえ、次のようなＤＣモータの駆動制御を行なう。
【００６６】
まず、ＤＣモータの回転一周分の予備駆動を行なう。このとき、１読取ライン分の速度サーボを行ってはキャリッジを停止し、その停止後のＤＣモータへの電流出力は“０”とする制御を行い、その停止後の所定時間経過後のオーバーランの距離を各位相ごとに求める。そして、各位相ごとのオーバーランの距離と特定の係数から、キャリッジの移動と停止を繰り返すように、ＤＣモータを駆動する場合におけるキャリッジ停止後の電流出力値を算出する。さらに、この算出された電流をキャリッジ停止時のＤＣモータの駆動制御に反映させることでオーバーランを防止し、キャリッジ停止精度を保証する。
【００６７】
図８はＤＣモータの駆動制御を示すフローチャートである。
【００６８】
図８において、（ａ）は予備駆動制御を示し、（ｂ）は画像読取時の駆動制御を示す。
【００６９】
ＣＰＵ３０１は高解像度の画像読取処理を実行する際、ＲＯＭ３１１或はＲＡＭ３１０に格納されている高解像度の画像読取処理を実行するのに最適なキャリッジ移動速度を読み出す。その速度をモータドライバ３０２に設定する。その後、モータドライバ３０２は、ＤＣモータ３０３の１回転分の予備駆動処理を実行する。
【００７０】
まず、図８（ａ）を参照して予備駆動制御について説明する。
【００７１】
ステップＳ２０１では、モータドライバ３０２はＣＰＵ３０１により設定されたキャリッジ移動速度を目標速度に、停止後の電流出力に“０”を、停止目標位置（ｐｏｓｎｅｘｔ）を“論理的な現在位置（ｐｏｓｎｏｗ）＋１読取ライン分”に設定する。その設定後、ステップＳ２０２では、ＤＣモータ３０３の駆動を開始し、サーボタイマを起動する。なお、サーボ制御の動作の詳細については、図４を参照して既に説明した通りである。
【００７２】
ステップＳ２０３では、キャリッジが目標停止位置（ｐｏｓｎｅｘｔ）に到達したかどうかを調べる。これは、１ミリ秒の周期で実行され、目標停止位置に到達したと判断された場合、ＤＣモータへの電流供給を停止し、処理はステップＳ２０４に進む。ステップＳ２０４では、キャリッジの停止を確実に行なうために停止判定するのに十分な時間（Ｔｘ）だけ、処理の実行を待合せる。
【００７３】
その停止後、ステップＳ２０５では、オーバーラン量をＤＣモータの各位相ごとに計測し、停止時のＤＣモータの位相に関連づけて、その計測結果をＲＡＭ３１０に格納する。この際、特定条件下では、ステップＳ２０１で設定した距離だけでは予備駆動制御動作終了後の読取処理（以下、画像読取）の際に必要となるＤＣモータ３０３の位相に関連付けられたオーバーラン量のデータが揃わない場合がある。この特定条件は指定された読取解像度やＤＣモータ３０３のハード的な仕様に依存する。その場合、全位相分のオーバーラン量が計測できるまでステップＳ２０１〜ステップＳ２０５までの処理を繰り返す。このため、ステップＳ２０６では、その繰返し回数が閾値に達したかどうかを調べる。
【００７４】
なお、予備駆動の動作開始時に予めステップＳ２０１〜ステップＳ２０５までの処理を何回（ステップＳ２０６における閾値回数（motorcycle））繰り返すべきか算出しても構わない。同様に、予めＲＯＭ３１１或はＲＡＭ３１０に繰り返し回数（閾値回数（motorcycle））を格納しておいてもよい。
【００７５】
以上のようにして、画像読取で必要なＤＣモータ３０３の全位相分のオーバーラン量が計測し、格納できたなら、予備駆動制御の動作を終了する。なお、画像読取で必要なＤＣモータ３０３の全位相とは、画像読取処理でＤＣモータ３０３が停止し、読取処理を実行する可能性のある全位相のことを指す。
【００７６】
予備駆動制御動作の終了後、画像読取を開始する。
【００７７】
次に、図８（ｂ）を参照して、画像読取時のＤＣモータの駆動制御について説明する。
【００７８】
まず、ステップＳ２０７では、ＣＰＵ３０１は予備駆動制御動作で計測、格納したオーバーラン量（ｏｖｅｒｒｕｎ１）と、そのオーバーラン量とＤＣモータ３０３に反映させるべき電流量の相関を取る定数Ｆ１をモータドライバ３０２に設定する。定数Ｆ１はＤＣモータ３０３等のハード的な仕様によって確定する値であり、固定値である。なお、オーバーラン量が“０”の時、キャリッジ停止時にＤＣモータ３０３に供給する電流値は“Ｆ１”となる。
【００７９】
さらに、モータドライバ３０２は、ＣＰＵ３０１より設定されたキャリッジ移動速度を目標速度に、キャリッジ停止後の電流出力に“オーバーラン量と定数Ｆ１の乗算の結果”を設定する。またさらに、停止目標位置（ｐｏｓｎｅｘｔ）を“論理的な現在位置（ｐｏｓｎｏｗ）＋１読取ライン分”に設定する。ここで、停止後の電流出力に“オーバーラン量と定数Ｆ１の乗算の結果”を設定するのは、オーバーラン量が大きいほど、そのオーバーランを防ぐためより大きな電流をＤＣモータ３０３に供給してやる必要があるためである。なお、キャリッジ移動速度が予備駆動制御動作と変わらないので、キャリッジ停止時のＤＣモータ３０３の位相も同じ位相になる。よって、予備駆動制御動作において計測したオーバーラン量を以後新たに取得する必要は無い。
【００８０】
このような設定後、処理はステップＳ２０８において、モータドライバ３０２はＤＣモータ３０３の駆動を開始し、サーボタイマを起動する。
【００８１】
ステップＳ２０９では、キャリッジが目標停止位置（ｐｏｓｎｅｘｔ）に到達したかどうかを調べる。これは、１ミリ秒の周期で実行され、目標停止位置に到達したと判断された場合、ＤＣモータへの電流供給を停止し、原稿の画像読取（１読取ライン分）を実行する。ＤＣモータ３０３がゆり戻ししないよう、ＤＣモータ３０３が正転方向への回転力が与えられるように電流が供給される（以下、フォワードブレーキ）。この電流はＤＣモータ３０３に供給された電流値に比例して強くなる。画像読取処理の際には、キャリッジが停止している時のＤＣモータの位相に関連付けられた“オーバーラン量と定数Ｆ１の乗算の結果”の電流値が供給されている。そのため、オーバーラン量が大きいほど、大きな電流が供給される。その後、処理はステップＳ２１０に進む。
【００８２】
１読取ライン分の読取終了後、処理はステップＳ２１０において、ユーザによって指定されたライン数だけ読取り終わったかどうかを判断する。ここで、終了と判断されたならば処理を終了し、そうでなければ処理はステップＳ２０７に戻り、次のラインの読取処理を実行する。
【００８３】
図９は図８で説明した制御を実施した際のＤＣモータの停止精度を計測した結果を示す図である。図９において、Ｘ軸とＹ軸の意味は図７で説明したものと同じなので、その説明は省略する。
【００８４】
この実施例では、ＤＣモータの回転一周目を、オーバーラン量を計測するための学習期間と規定する。これは、図８（ａ）に示す予備駆動制御動作（ステップＳ２０１〜ステップＳ２０６）により実行される。そして、その結果得られた学習内容がＤＣモータの回転二周目以降の動作（図８（ｂ）に示すの画像読取の駆動制御動作（ステップＳ２０７〜ステップＳ２１０）に反映される。これにより、図７の５０１に示したような極端に大きなずれオーバーランの発生が、画像読取処理が実行されるＤＣモータの回転二周目以降で防止される。
【００８５】
即ち、ＤＣモータの回転一周目において、図８の６０１に示すようなオーバーランが発生した位相を計測し、どの位相でオーバーランが発生するのかを学習する。そして、ＤＣモータの回転二周目の同位相において、図８の６０２に示すように、ゆり戻しが起こらないような電流値でフォワードブレーキがかける。このような制御を実行することにより、指定した位置（停止目標位置）で確実に停止することができる。
【００８６】
従って以上説明した実施例に従えば、原稿の画像を高解像度で読取る際にも、１読取ライン分速度サーボを実行し、精度が保証されたキャリッジの停止と、１読取ラインを読取るのに最適な時間が確保された読取を行なうことができる。これにより、原稿の画像を高解像度に読取るためにＤＣモータを超低速駆動するために十分な解像度を持たないエンコーダを有した装置でも、高精度に高解像度の画像読取をすることが可能となる。
【００８７】
また、十分な解像度を持たないエンコーダ（即ち、廉価なエンコーダ）を備えた装置でも高精度に高解像度の画像読取が可能になるので、画像読取装置の低価格化にも貢献することになる。
【図１】
2011035848.tif 000003
【図２】
2011035848.tif 000004
【図３】
2011035848.tif 000005
【図４】
2011035848.tif 000006
【図５】
2011035848.tif 000007
【図６】
2011035848.tif 000008
【図７】
2011035848.tif 000009
【図８】
2011035848.tif 000010
【図９】
2011035848.tif 000011