(57)【要約】【課題】目標速度と実速度との誤差を抑制可能なモータ駆動装置を提供する。【解決手段】本発明の印刷装置では、フィードバック制御方式により、キャリッジを駆動するモータに対する操作量ｕを決定する。また、操作量ｕに補正量ｃを加算し、補正後の操作量ｕ’＝ｕ＋ｃに対応した電流をモータに入力して、モータを駆動する。尚、補正量ｃは、補正データに基づき決定される。補正データは、Ｎ個の基本補正量Ｄ［ｉ］からなり、本装置では、キャリッジが第ｉ主補正位置Ｐ［ｉ］を通過するとき、補正量をｃ＝ｋ・Ｄ［ｉ］に決定して操作量ｕ’を求める。また、本装置では、位置Ｐ［ｉ］に対応する学習位置をキャリッジが通過するとき、キャリッジ速度と目標速度との誤差εが閾値Ｔｈより大きい場合、補正量Ｄ［ｉ］を１小さい値に更新し、誤差εが閾値−Ｔｈよりも小さい場合、１大きい値に更新する。これより、誤差｜ε｜が小さくなる方向に補正データを更新する。【選択図】図１０
2008211869.tif 000002
【特許請求の範囲】
【請求項１】
ＤＣモータの回転力を、駆動対象に作用させて、前記駆動対象を所定方向に移動させる駆動機構
が有する前記ＤＣモータを駆動するためのモータ駆動装置であって、
予め設定された目標速度に基づき、前記ＤＣモータに対する操作量を決定する操作量決定手段と、
前記操作量決定手段により決定された操作量に対して施すべき補正量を記憶する補正量記憶手段と、
前記補正量記憶手段の記憶内容に従って、前記操作量決定手段により決定された操作量を補正する補正手段と、
前記補正手段による補正後の操作量に対応した操作を、前記ＤＣモータに加えて、前記ＤＣモータを駆動するモータ駆動手段と、
前記駆動対象の移動速度を検出する速度検出手段と、
前記速度検出手段により検出された移動速度と、前記目標速度と、の誤差を検出する誤差検出手段と、
前記誤差検出手段により検出された誤差に基づき、前記駆動対象が前記目標速度で移動するように、前記補正量記憶手段が記憶する補正量を更新する補正量更新手段と、
を備え、
前記補正量記憶手段は、複数の補正量を記憶し、
前記補正手段は、前記駆動対象の移動に合わせて、前記補正量記憶手段が記憶する前記複数の補正量を順次切り替えて用い、前記操作量決定手段により決定された操作量を補正する構成にされていることを特徴とするモータ駆動装置。
【請求項２】
前記補正量記憶手段は、前記ＤＣモータの駆動により前記駆動対象が移動する経路内における予め定められた複数の地点の各地点毎に、その地点に前記駆動対象が移動した際に施すべき補正量を記憶し、
前記補正手段は、前記補正量記憶手段が記憶する各補正量に対応する地点に、前記駆動対象が移動する度、前記補正量記憶手段が記憶する当該地点の補正量に基づき、前記操作量決定手段により決定された操作量を、補正する構成にされていることを特徴とする請求項１記載のモータ駆動装置。
【請求項３】
前記補正手段は、前記補正量記憶手段が記憶する各補正量に対応する地点以外の地点に、前記駆動対象が位置する場合、前記補正量記憶手段が記憶する複数の補正量の内、前記駆動対象の現在地点を挟む当該現在地点から最も近い二地点の補正量に基づき、前記駆動対象の現在地点に対応する補正量を算出し、当該算出した補正量に基づき、前記操作量決定手段により決定された操作量を、補正する構成にされていることを特徴とする請求項２記載のモータ駆動装置。
【請求項４】
前記補正量記憶手段は、前記ＤＣモータの駆動により前記駆動対象が始点から終点まで移動する期間内において予め定められた複数の時刻の各時刻毎に、その時点で前記操作量決定手段により決定された操作量に対して施すべき補正量を記憶し、
前記補正手段は、前記補正量記憶手段が記憶する各補正量に対応する時刻が到来する度に、前記補正量記憶手段が記憶する当該時刻の補正量に基づき、前記操作量決定手段により決定された操作量を、補正する構成にされていることを特徴とする請求項１記載のモータ駆動装置。
【請求項５】
前記補正手段は、前記補正量記憶手段が記憶する各補正量に対応する時刻以外の時間帯においては、前記補正量記憶手段が記憶する複数の補正量の内、時間軸上で、現在時刻から過去方向及び未来方向の各方向において最も近い二点の時刻の補正量に基づき、現在時刻に対応する補正量を算出し、当該算出した補正量に基づき、前記操作量決定手段により決定された操作量を、補正する構成にされていることを特徴とする請求項４記載のモータ駆動装置。
【請求項６】
前記補正量記憶手段は、前記各補正量を整数値で記憶し、
前記補正手段は、前記補正量記憶手段が記憶する整数値で表される前記補正量を、前記操作量に対応したスケールの値に変換し、変換後の補正量を、前記操作量決定手段により決定された操作量に加算することにより、前記操作量決定手段により決定された操作量を補正する構成にされていることを特徴とする請求項１〜請求項５のいずれかに記載のモータ駆動装置。
【請求項７】
前記補正量更新手段は、前記補正量記憶手段が記憶する補正量の夫々を、その補正量を用いて求めた補正後の操作量に基づき前記ＤＣモータを駆動した時期に前記誤差検出手段により検出された誤差に基づいて、更新する構成にされていることを特徴とする請求項１〜請求項６のいずれかに記載のモータ駆動装置。
【請求項８】
前記補正量更新手段は、前記誤差検出手段により検出された誤差が、予め定められた許容範囲から外れると、当該誤差が検出された時期に用いられた補正量を、更新する構成にされていることを特徴とする請求項７記載のモータ駆動装置。
【請求項９】
前記補正量更新手段は、前記誤差検出手段により検出された誤差が前記許容範囲から外れた場合であって、前記速度検出手段により検出された前記駆動対象の移動速度が前記目標速度よりも高い場合には、前記補正量記憶手段が記憶する複数の補正量の内、当該誤差が検出された時期に用いられた補正量を、所定量減算した値に更新し、前記誤差検出手段により検出された誤差が前記許容範囲から外れた場合であって、前記速度検出手段により検出された前記駆動対象の移動速度が目標速度よりも低い場合には、前記補正量記憶手段が記憶する複数の補正量の内、当該誤差が検出された時期に用いられた補正量を、所定量加算した値に更新する構成にされていることを特徴とする請求項８記載のモータ駆動装置。
【請求項１０】
前記補正量更新手段は、前記補正量記憶手段が記憶する補正量の夫々を、その補正量を用いて求めた補正後の操作量に基づき前記ＤＣモータを駆動した時期に前記誤差検出手段により検出された誤差が、予め定められた許容範囲から外れた場合に限って、更新する構成にされ、前記速度検出手段により検出された前記駆動対象の移動速度が前記目標速度よりも高い場合には、前記補正量記憶手段が記憶する複数の補正量の内、当該誤差が検出された時期に用いられた補正量を、１減算した値に更新し、前記速度検出手段により検出された前記駆動対象の移動速度が目標速度よりも低い場合には、前記補正量記憶手段が記憶する複数の補正量の内、当該誤差が検出された時期に用いられた補正量を、１加算した値に更新することを特徴とする請求項６記載のモータ駆動装置。
【請求項１１】
前記操作量決定手段は、前記速度検出手段により検出された前記駆動対象の移動速度に基づき、逐次、前記駆動対象の移動速度が前記目標速度に一致するように、前記ＤＣモータに対する操作量を決定して、フィードバック制御方式により、駆動対象の速度制御を実現する構成にされていることを特徴とする請求項１〜請求項１０のいずれかに記載のモータ駆動装置。
【請求項１２】
請求項１〜請求項１１のいずれかに記載のモータ駆動装置を備えると共に、
ＤＣモータの回転力を、インク液滴をノズルから吐出する記録ヘッドを搭載したキャリッジに作用させて、前記キャリッジを主走査方向に移動させる搬送機構、を前記駆動機構として備え、
前記モータ駆動装置は、前記キャリッジが主走査方向に目標速度に応じた一定の速度で移動するように、前記搬送機構が有するＤＣモータを駆動する構成にされていることを特徴とする画像形成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＤＣモータの回転力を、駆動対象に作用させて、駆動対象を所定方向に移動させる駆動機構が有する上記ＤＣモータを駆動するためのモータ駆動装置に関する。
【背景技術】
【０００２】
周知のように、一般的なインクジェット方式の画像形成装置は、インク液滴をノズルから吐出する記録ヘッドがキャリッジに搭載されてなり、このキャリッジをモータにより駆動することにより、記録ヘッドを主走査方向に移動させて、記録シート上に画像を形成する。即ち、従来の画像形成装置では、画像形成処理の実行時、キャリッジを主走査方向に移動させて、記録ヘッドを主走査方向に搬送し、これと共に記録ヘッドを制御して、対向する記録シートにインク液滴を吐出することにより、記録シート上に画像を形成している。このような画像形成処理の実行時には、記録シートに均一な画質の画像を形成するため、キャリッジを、主走査方向に一定速度で移動させるのが一般的である。
【０００３】
しかしながら、モータによりキャリッジを駆動する場合には、キャリッジが一定速度で移動するようにモータを制御しても、モータのコギングやプーリーの偏心等の様々な要因によって、キャリッジの移動速度（実速度）が変動する。このようなキャリッジの移動速度の変動は、インクの着弾地点のずれに影響を与え、その変動量の大小は、画質の良否を大きく左右する。このため、従来から、キャリッジの移動速度の変動によって発生する画質劣化の問題に対しては、様々な対策が採られている。
【０００４】
例えば、従来装置としては、キャリッジの移動速度の変動が大きい場合に、操作量の演算に係るパラメータ（係数）を補正して、変動幅を抑えるものが知られている（例えば、特許文献１参照）。
【特許文献１】特開２００６−２１８６６３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、操作量の演算に係るパラメータ（係数）を補正する従来の手法では、パラメータ（係数）の補正により、一律に移動速度の変動を抑えてしまうため、不規則な速度変動に十分対応することができないといった問題があった。また、従来手法では、速度制御の応答性が悪くなるといった問題もあった。
【０００６】
本発明は、こうした問題になされたものであり、従来よりも好適に、目標速度に対する実速度の誤差を抑えることが可能なモータ駆動装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
かかる目的を達成するためになされた本発明（請求項１）は、ＤＣモータの回転力を、駆動対象に作用させて、駆動対象を所定方向に移動させる駆動機構が有する上記ＤＣモータを駆動するためのモータ駆動装置であって、操作量決定手段と、補正量記憶手段と、補正手段と、モータ駆動手段と、速度検出手段と、誤差検出手段と、補正量更新手段と、を備える。
【０００８】
このモータ駆動装置では、操作量決定手段が、予め設定された目標速度に基づき、ＤＣモータに対する操作量を決定する。一方で、補正量記憶手段は、操作量決定手段により決定された操作量に対して施すべき補正量を記憶し、補正手段は、補正量記憶手段の記憶内容に従って、操作量決定手段により決定された操作量を補正する。また、モータ駆動手段は、補正手段による補正後の操作量に対応した操作を、ＤＣモータに加えて、ＤＣモータを駆動する。
【０００９】
また、このモータ駆動装置では、補正量更新手段が、補正量記憶手段が記憶する各補正量を更新するが、この更新に先立って、速度検出手段が駆動対象の移動速度を検出し、誤差検出手段が、速度検出手段が検出した移動速度と、目標速度との誤差を検出する。即ち、補正量更新手段は、誤差検出手段により検出された誤差に基づき、駆動対象が目標速度で移動するように、補正量記憶手段が記憶する補正量を更新する。
【００１０】
具体的に、上記補正量記憶手段は、複数の補正量を記憶する構成にされ、補正手段は、駆動対象の移動に合わせて、補正量記憶手段が記憶する複数の補正量を順次切り替えて用い、操作量決定手段により決定された操作量を補正する。
【００１１】
このように、本発明のモータ駆動装置では、駆動対象の実速度と目標速度との誤差に基づき、ＤＣモータに対する操作量の補正量を決定し、これを次回のモータ制御の際に利用する。従って、操作量決定手段による制御では、駆動対象の移動速度を目標速度に維持することができないような、移動速度の変動が生じる場合でも、上記補正により、その変動を抑えることができ、駆動対象を目標速度で安定的に移動させることができる。従って、本発明のモータ駆動装置を用いれば、駆動対象の変動による諸々の問題を解決することができる。
【００１２】
特に、本発明のモータ駆動装置では、駆動対象の移動に合わせて、補正量記憶手段が記憶する複数の補正量を順次切り替えて用い、操作量決定手段により決定された操作量を補正するので、空間的に不規則な移動速度の変動にも適切に対応して、駆動対象を目標速度で安定的に移動させることができる。
【００１３】
尚、具体的に、上述のモータ駆動装置における補正量記憶手段は、ＤＣモータの駆動により駆動対象が移動する経路内における予め定められた複数の地点の各地点毎に、その地点に駆動対象が移動した際に施すべき補正量を記憶する構成にされ、補正手段は、補正量記憶手段が記憶する各補正量に対応する地点に、駆動対象が移動する度、補正量記憶手段が記憶する当該地点の補正量に基づき、操作量決定手段により決定された操作量を、補正する構成にされるとよい（請求項２）。
【００１４】
キャリッジの搬送機構等では、目標速度に対する駆動対象の速度の変動パターンが、駆動対象の位置に依存しやすい。従って、駆動対象が移動する経路内における予め定められた地点毎に、その地点に駆動対象が移動した際に施すべき補正量を記憶しておき、この地点に駆動対象が到来したときに、この補正量に基づき、操作量を補正すれば、位置に依存した不規則な移動速度の変動を効果的に抑制することができる。
【００１５】
また、このようにモータ駆動装置を構成する場合には、補正手段を次のように構成するとよい。即ち、補正手段は、補正量記憶手段が記憶する各補正量に対応する地点以外の地点に、駆動対象が位置する場合、補正量記憶手段が記憶する複数の補正量の内、駆動対象の現在地点を挟む当該現在地点から最も近い二地点の補正量に基づき、駆動対象の現在地点に対応する補正量を算出し、当該算出した補正量に基づき、操作量決定手段により決定された操作量を、補正する構成にされるとよい（請求項３）。
【００１６】
操作量に補正を加える各地点での補正量を全て補正量記憶手段に記憶させる場合には、データの総計が多くなって、容量の大きい記憶手段（メモリ等）を装置に搭載する必要がでてくる。一方、本発明のように、操作量に補正を加える各地点の補正量を全て補正量記憶手段に記憶させるのではなく、一部の地点の補正量を補正量記憶手段に記憶させ、これらの地点間では、隣接する地点の補正量に基づき、補正量を決定するように装置を構成すれば、補正量記憶手段に記憶させる補正量のデータ量を抑えることができて、安価に、本発明を適用した装置を構成することができる。
【００１７】
また、補正量記憶手段は、ＤＣモータの駆動により駆動対象が始点から終点まで移動する期間内において予め定められた複数の時刻の各時刻毎に、その時点で操作量決定手段により決定された操作量に対して施すべき補正量を記憶する構成にされ、補正手段は、補正量記憶手段が記憶する各補正量に対応する時刻が到来する度に、補正量記憶手段が記憶する当該時刻の補正量に基づき、操作量決定手段により決定された操作量を、補正する構成にされてもよい（請求項４）。
【００１８】
上述したように、キャリッジの搬送機構等では、目標速度に対する駆動対象の速度の変動パターンが、駆動対象の位置に依存しやすいが、速度の変動量が小さい場合には、時刻によって概ね駆動対象の位置を推定することができる。従って、時刻により、補正するタイミングを決定しても、地点により補正するタイミングを決定する上述のモータ駆動装置と同様に、位置に依存した不規則な移動速度の変動を効果的に抑制することができる。
【００１９】
また、補正手段は、補正量記憶手段が記憶する各補正量に対応する時刻以外の時間帯において、補正量記憶手段が記憶する複数の補正量の内、時間軸上で、現在時刻から過去方向及び未来方向の各方向において最も近い二点の時刻の補正量に基づき、現在時刻に対応する補正量を算出し、当該算出した補正量に基づき、操作量決定手段により決定された操作量を、補正する構成にされるとよい（請求項５）。このように補正手段を構成すれば、補正量記憶手段に記憶させるべきデータ量を抑えることができ、安価に本発明を適用したモータ駆動装置を構成することができる。
【００２０】
また、各補正量を整数値で記憶するように、モータ駆動装置を構成すれば、更に、記憶すべきデータ量を抑えることができる。具体的に、補正量記憶手段において各補正量を整数値で記憶するように、モータ駆動装置を構成する場合には、補正手段を、次のように構成すればよい。即ち、補正手段は、補正量記憶手段が記憶する整数値で表される補正量を、操作量に対応したスケールの値に変換し、変換後の補正量を、操作量決定手段により決定された操作量に加算することにより、操作量決定手段により決定された操作量を補正する構成にされるとよい（請求項６）。
【００２１】
このように、補正量を整数値で記憶し、この補正量を、操作量に対応するスケールの値に変換して用いて、操作量を補正するようにすれば、当該スケール変換後の浮動小数の補正量を、補正量記憶手段に記憶させる場合よりも、補正量記憶手段に記憶させるべきデータ量を抑えることができる。
【００２２】
また、補正量更新手段は、具体的に、次のように構成されるのがよい。即ち、補正量更新手段は、補正量記憶手段が記憶する補正量の夫々を、その補正量を用いて求めた補正後の操作量に基づきＤＣモータを駆動した時期に誤差検出手段により検出された誤差に基づいて、更新する構成にされるのがよい（請求項７）。このようにして補正量記憶手段が記憶する各補正量を更新すれば、目標速度と実速度との誤差を縮める方向に、適切に、補正量を更新することができる。
【００２３】
その他、補正量更新手段は、誤差検出手段により検出された誤差が、許容範囲から外れると、当該誤差が検出された時期に用いられた補正量を、更新する構成にされるとよい（請求項８）。補正量記憶手段が記憶する補正量は、常時更新されてもよいが、そうすると、補正量更新に係る処理量が多くなる。一方、誤差が許容範囲から外れた場合に限って、補正量を更新するようにモータ駆動装置を構成すれば、補正量更新に係る処理量を抑えて、効率的に、補正量を更新することができる。
【００２４】
具体的に、誤差が許容範囲から外れた場合には、次のようにして、補正量を更新すればよい。即ち、補正量更新手段は、速度検出手段により検出された駆動対象の移動速度が目標速度よりも高い場合、補正量記憶手段が記憶する複数の補正量の内、当該誤差が検出された時期に用いられた補正量を、所定量減算した値に更新し、速度検出手段により検出された駆動対象の移動速度が目標速度よりも低い場合には、補正量記憶手段が記憶する複数の補正量の内、当該誤差が検出された時期に用いられた補正量を、所定量加算した値に更新する構成にすればよい（請求項９）。
【００２５】
また、補正量を整数値で記憶するモータ駆動装置においては、補正量更新手段を次のように構成するとよい。即ち、補正量更新手段は、補正量記憶手段が記憶する補正量の夫々を、その補正量を用いて求めた補正後の操作量に基づきＤＣモータを駆動した時期に誤差検出手段により検出された誤差が、許容範囲から外れた場合に限って、更新する構成にされ、速度検出手段により検出された駆動対象の移動速度が目標速度よりも高い場合には、補正量記憶手段が記憶する複数の補正量の内、当該誤差が検出された時期に用いられた補正量を、１減算した値に更新し、速度検出手段により検出された駆動対象の移動速度が目標速度よりも低い場合には、補正量記憶手段が記憶する複数の補正量の内、当該誤差が検出された時期に用いられた補正量を、１加算した値に更新する構成にされるとよい（請求項１０）。このようにして段階的に補正量を更新すれば、安定的に誤差が小さくなる方向に補正量を更新することができる。
【００２６】
また、操作量決定手段は、速度検出手段により検出された駆動対象の移動速度に基づき、逐次、駆動対象の移動速度が目標速度に一致するように、ＤＣモータに対する操作量を決定して、フィードバック制御方式により、駆動対象の速度制御を実現する構成にされるとよい（請求項１１）。このようにモータ駆動装置を構成すれば、効果的に、駆動対象の移動速度の変動を抑えることができ、駆動対象を目標速度で安定的に移動させることができる。
【００２７】
この他、上述したモータ駆動装置に係る各発明は、ＤＣモータの回転力を、インク液滴をノズルから吐出する記録ヘッドを搭載したキャリッジに作用させて、キャリッジを主走査方向に移動させる搬送機構、を上記駆動機構として備える所謂インクジェットプリンタとして機能する画像形成装置に適用することができる。即ち、画像形成装置は、上述のモータ駆動装置を備え、このモータ駆動装置により、キャリッジが主走査方向に目標速度に応じた一定の速度で移動するように、ＤＣモータを駆動する構成にされるとよい（請求項１２）。このように、画像形成装置を構成すれば、キャリッジを主走査方向に、目標速度（一定速度）で安定的に移動させることができ、その結果、良好な画質で、記録シートに画像を形成することができる。
【発明を実施するための最良の形態】
【００２８】
以下に本発明の実施例について、図面と共に説明する。
図１は、本発明が適用された印刷装置１の構成を表すブロック図である。また、図２は、ヘッド搬送機構４０の構成を表す斜視図である。
【００２９】
図１に示すように、本実施例の印刷装置１は、ＣＰＵ１１と、ＣＰＵ１１が実行するプログラム等を記憶するＲＯＭ１３と、プログラム実行時に作業領域として使用されるＲＡＭ１５と、各種設定情報を記憶するＥＥＰＲＯＭ１７と、パーソナルコンピュータ（ＰＣ）３に接続され、ＰＣ３から送信されてくる印刷指令や当該印刷指令と共に送信されてくる印刷対象データを受信するためのインタフェース１９（例えば、ＵＳＢインタフェース）と、印字制御部２１と、モータ制御部３１と、を備える。
【００３０】
また、この印刷装置１は、インク液滴を吐出するためのノズルが複数配列された記録ヘッド２３と、記録ヘッド２３を駆動するためのヘッド駆動回路２５と、記録ヘッド２３を主走査方向に搬送するキャリッジ４１やキャリッジ４１を主走査方向に移動させるためのＣＲモータ４３等で構成されるヘッド搬送機構４０と、用紙Ｐをインク吐出領域に搬送するための搬送ローラ６１や搬送ローラ６１を回転させるためのＬＦモータ６３等で構成される用紙搬送機構６０と、を備える。尚、ＣＲモータ４３及びＬＦモータ６３は、ＤＣモータで構成されている。
【００３１】
その他、印刷装置１は、ＣＲモータ４３を駆動するためのＣＲモータ駆動回路５１と、ＣＲモータ４３によって駆動されるキャリッジ４１の位置に対応してパルス信号を出力するＣＲエンコーダ５３と、ＬＦモータ６３を駆動するためのＬＦモータ駆動回路７１と、ＬＦモータ６３が所定角度回転する度にパルス信号を出力するロータリーエンコーダからなるＬＦエンコーダ７３と、を備える。
【００３２】
具体的に、ヘッド搬送機構４０は、キャリッジ４１がガイド軸４２に沿って移動可能に設置され、キャリッジ４１が、無端ベルト４４に連結された構成にされている。無端ベルト４４は、ＣＲモータ４３の回転軸に設けられたプーリー４５と、図示しないアイドルプーリーとの間に掛けられ、ＣＲモータ４３の回転力をプーリー４５を介して受けて、回転する構成にされている。即ち、ヘッド搬送機構４０は、ＣＲモータ４３の回転力を受けて、無端ベルト４４が回転することにより、キャリッジ４１が、ガイド軸４２に沿って主走査方向に移動する構成にされている。
【００３３】
また、この印刷装置１には、ガイド軸４２に沿って、スリットが一定の微小間隔で形成されたタイミングスリット４７が設けられ、タイミングスリット４７に形成されたスリットの間隔を読み取ってキャリッジの位置に対応したパルス信号を出力するセンサ素子４８が、キャリッジ４１に設けられている。即ち、本実施例においては、タイミングスリット４７とセンサ素子４８とにより、リニアエンコーダとしてのＣＲエンコーダ５３が構成されている。
【００３４】
また、記録ヘッド２３は、周知のピエゾ型インクジェットヘッドと同一構成にされ、駆動電圧が印加されると、インク室に隣接する圧電部を変形させて、インク室の容積を変化させることにより、インク室内のインクをノズルから用紙に向けて吐出する構成にされている。この記録ヘッド２３は、キャリッジ４１に搭載されており、キャリッジ４１に搬送されて、主走査方向に移動する。
【００３５】
また、印字制御部２１は、ＣＰＵ１１の指令により動作を開始すると、ＣＲエンコーダ５３から入力されるパルス信号及びＣＰＵ１１から入力される画像データに基づき、記録ヘッド２３を、ヘッド駆動回路２５を通じて制御し、ＣＰＵ１１から入力される画像データに応じた画像を、用紙Ｐに形成する構成にされている。具体的に、印字制御部２１は、周知の印刷装置と同様、ＣＲエンコーダ５３から入力されるパルス信号に基づき、キャリッジ４１の移動に同期して駆動電圧を記録ヘッド２３に印加し、記録ヘッド２３に、ノズルからインク液滴を吐出させる。
【００３６】
この他、モータ制御部３１は、ＣＲモータ制御部３１ａ及びＬＦモータ制御部３１ｂを備え、ＣＰＵ１１の指令により動作を開始すると、ＣＲモータ制御部３１ａによりＣＲモータ４３を制御し、ＬＦモータ制御部３１ｂによりＬＦモータ６３を制御する構成にされている。
【００３７】
具体的に、ＣＲモータ制御部３１ａは、ＣＲエンコーダ５３から入力されるパルス信号に基づき、キャリッジ４１の移動速度（実速度）Ｖｎを検出し、移動速度Ｖｎと目標移動速度Ｖｓが一致するように、キャリッジ４１の移動速度を制御する。また、ＬＦモータ制御部３１ｂは、キャリッジ４１が始点から主走査方向に一通り移動する度に、用紙Ｐが所定量送り出されるように、ＬＦモータ６３を制御する構成にされている。具体的に、ＬＦモータ制御部３１ｂは、ＬＦエンコーダ７３から入力されるパルス信号に基づき、ＬＦモータ６３に対する操作量を調整し、用紙Ｐが所定量送り出されるように、ＬＦモータ６３を制御する。
【００３８】
続いて、ＣＲモータ制御部３１ａの構成について詳細説明する。図３は、ＣＲモータ制御部３１ａの構成を表すブロック図である。図３に示すように、本実施例のＣＲモータ制御部３１ａは、計測部１１０と、レジスタ部１２０と、制御部１３０と、ＰＷＭ生成部１４０と、を備える。
【００３９】
計測部１１０は、エッジ検出部１１１、位置カウント部１１３、及び、速度演算部１１５を備え、ＣＲエンコーダ５３から入力されるパルス信号の立ち上がりエッジを、エッジ検出部１１１で検出し、エッジ検出部１１１から出力される検出信号に基づき、ＣＲエンコーダ５３から入力されたパルス信号の入力回数を、位置カウント部１１３でカウントし、この動作によってキャリッジ４１の位置Ｐｎを検出する構成にされている。
【００４０】
また、計測部１１０は、エッジ検出部１１１から出力される検出信号に基づき、ＣＲエンコーダ５３から入力されるパルス信号の入力周期を、速度演算部１１５で検出し、この検出結果に基づいて、キャリッジ４１の現在の移動速度Ｖｎを算出する構成にされている。尚、速度演算部１１５により算出されたキャリッジ４１の移動速度Ｖｎ、及び、位置カウント部１１３が保持するキャリッジ４１の現在位置Ｐｎの情報は、制御部１３０に入力される。
【００４１】
また、レジスタ部１２０は、ＣＲモータ４３の制御方法を決定付ける設定パラメータの入力を、ＣＰＵ１１又は後述する補正データ学習部１３９から受け付けて、当該設定パラメータを記憶する構成にされている。具体的に、本実施例のレジスタ部１２０は、キャリッジ４１の目標停止位置、及び、キャリッジ４１を始点から目標停止位置まで搬送する際のキャリッジ４１の目標移動速度Ｖｓ、及び、後述する補正係数ｋの入力を、ＣＰＵ１１から受け付けて、これらを記憶すると共に、後述する基本補正量Ｄ［ｉ］の入力を、補正データ学習部１３９から受け付けて、これらを補正データとして記憶する構成にされている。
【００４２】
続いて、制御部１３０の構成について、図４を用いて説明する。図４に示すように、ＣＲモータ制御部３１ａが備える制御部１３０は、操作量演算部１３１と、補正データ学習部１３９と、を備える。
【００４３】
操作量演算部１３１は、フィードバック制御部１３３、トルクムラ補正部１３５、及び、加算器１３７からなり、フィードバック制御部１３３により、キャリッジ４１の移動速度を、フィードバック制御する。
【００４４】
具体的に、フィードバック制御部１３３は、キャリッジ４１を始点から主走査方向へ目標停止位置まで搬送する際、加速区間及び減速区間以外の区間においては、キャリッジ４１の移動速度Ｖｎが、レジスタ部１２０が記憶する目標移動速度Ｖｓとなるように、逐次、ＣＲモータ４３に対する操作量ｕを決定する構成にされている。また、キャリッジ４１を目標停止位置まで搬送した後には、キャリッジ４１を始点まで戻す処理を実行する構成にされている。
【００４５】
尚、本実施例では、本発明に係る印刷装置１の構成を簡単にするため、画像形成処理の実行時において、キャリッジ４１を始点から目標停止位置まで搬送する際には、記録ヘッド２３を通じて、用紙Ｐに画像を形成するが、キャリッジ４１を始点まで戻す際には、記録ヘッド２３を駆動せず、用紙Ｐに対するインク吐出を行わないものとする。
【００４６】
このような構成のフィードバック制御部１３３の動作について、更に詳述すると、フィードバック制御部１３３は、キャリッジ４１を始点から目標停止位置まで搬送する際、速度演算部１１５からキャリッジ４１の移動速度Ｖｎの情報を取得すると共に、位置カウント部１１３から現在位置Ｐｎの情報を取得し、これらの情報に基づき、ＣＲ４３モータ４３に対する操作量ｕを決定する。
【００４７】
具体的に、キャリッジ４１が始点から定速走行領域開始地点Ｐ０に到達するまでの区間においては、キャリッジ４１が、目標移動速度Ｖｓまで加速するように、操作量ｕを決定する。尚、定速走行領域開始地点Ｐ０は、設計段階で予め定められるものとする。また、本実施例では、操作量ｕとして、ＣＲモータ４３に対する入力電流量を決定するものとする。
【００４８】
また、フィードバック制御部１３３は、キャリッジ４１が定速走行領域に到達すると、キャリッジ４１の移動速度Ｖｎと目標移動速度Ｖｓとの誤差がなくなるように、ＣＲモータ４３に対する操作量ｕを決定する。
【００４９】
この他、フィードバック制御部１３３は、レジスタ部１２０が記憶する目標停止位置で、キャリッジ４１が停止するように、目標停止位置より所定距離手前の位置から、キャリッジ４１を減速・停止させるための操作量ｕを決定する。尚、このようにして、フィードバック制御部１３３により決定される操作量ｕは、加算器１３７に入力される。
【００５０】
また、加算器１３７に入力された操作量ｕは、当該加算器１３７で補正されて、操作量ｕ’に置換される。具体的に、加算器１３７は、フィードバック制御部１３３から入力される操作量ｕに、トルクムラ補正部１３５にて設定された補正量ｃを加算して、操作量ｕ’＝ｕ＋ｃを算出する。また、加算器１３７により算出された操作量ｕ’は、ＰＷＭ生成部１４０に入力され、ＰＷＭ生成部１４０は、入力された操作量ｕ’に対応したデューティー比のＰＷＭ信号をＣＲモータ駆動回路５１に出力し、ＣＲモータ４３を、電流量ｕ’で駆動する。
【００５１】
一方、トルクムラ補正部１３５は、レジスタ部１２０が記憶する補正データ及び補正係数ｋに基づいて、補正量ｃを算出する構成にされている。具体的に、この補正データは、補正量ｃの算出の基礎となる基本補正量Ｄ［ｉ］が、複数個配列された構成にされている。このレジスタ部１２０が記憶する各基本補正量Ｄ［ｉ］（ｉ＝１，２，…，Ｎ）は、印刷装置１の起動時に、補正データ学習部１３９の動作によって、更新される。尚、レジスタ部１２０に記憶される基本補正量の個数Ｎは、予め設計者により定められる。
【００５２】
図５は、レジスタ部１２０が記憶する補正データの構成を表す説明図である。レジスタ部１２０においては、基本補正量Ｄ［ｉ］が整数値で記憶されており、レジスタ部１２０が記憶する補正係数ｋは、基本補正量Ｄ［ｉ］を、操作量ｕに対応したスケールの補正量ｃに置換する際に、用いられる。
【００５３】
次に、トルクムラ補正部１３５が実行する処理の詳細について、図６を用いて説明する。図６は、トルクムラ補正部１３５が実行する補正処理を表すフローチャートである。トルクムラ補正部１３５は、キャリッジ４１を始点から目標停止位置まで主走査方向へ搬送する際に、当該補正処理の実行を開始する。
【００５４】
図６に示す補正処理を開始すると、トルクムラ補正部１３５は、まずＳ１１０にて、補正量ｃをゼロ（ｃ＝０）に設定し、Ｓ１２０にて、パラメータｉを初期値１に設定し（ｉ＝１）、更に、Ｓ１３０にて、基準位置Ｐ１を、第１主補正位置Ｐ［１］に設定する（Ｓ１３０）。
【００５５】
本実施例においては、図７に示すように、キャリッジ４１が始点から終点（目標停止位置の最大値）まで移動する経路において、定速走行領域となる区間内に、Ｎ個の補正位置を、等間隔に定めている。具体的には、定速走行領域の開始地点Ｐ０から、終点より所定距離手前の定速走行領域の終了地点Ｐｅまでの距離をＬとして、定速走行領域の開始地点Ｐ０から距離ΔＬ＝Ｌ／（Ｎ＋１）進んだ地点を、第１主補正位置Ｐ［１］とし、この第１主補正位置Ｐ［１］から主走査方向に距離（ｉ−１）・ΔＬ離れた位置を、第ｉ主補正位置Ｐ［ｉ］と定めている。
【００５６】
Ｓ１３０において、トルクムラ補正部１３５は、このようにして予め定められた第１〜第Ｎ主補正位置の内、第１主補正位置Ｐ［１］を、基準位置Ｐ１に設定するのである。
Ｓ１３０での処理を終えると、トルクムラ補正部１３５は、位置カウント部１１３からキャリッジ４１の現在位置Ｐｎの情報を取得し、この情報に基づいて、キャリッジ４１が定速走行領域開始地点Ｐ０に到達したか否かを判断する（Ｓ１４０）。そして、キャリッジ４１が定速走行領域開始地点Ｐ０に到達していないと判断すると（Ｓ１４０でＮｏ）、キャリッジ４１が定速走行領域開始地点Ｐ０に到達するまで待機する。
【００５７】
一方、トルクムラ補正部１３５は、キャリッジ４１が定速走行領域開始地点Ｐ０に到達したと判断すると（Ｓ１４０でＹｅｓ）、Ｓ１５０に移行し、位置カウント部１１３からキャリッジ４１の現在位置Ｐｎの情報を取得して、キャリッジ４１が基準位置Ｐ１に到達したか否かを判断する。
【００５８】
そして、キャリッジ４１が基準位置Ｐ１に到達していないと判断すると（Ｓ１５０でＮｏ）、Ｓ１６０に移行し、キャリッジ４１の現在位置Ｐｎに基づいて、基本補正量ｄを、次式に従って算出する（Ｓ１６０）。尚、（Ｐ１−Ｐ０）は、定速走行領域開始地点Ｐ０から基準位置Ｐ１までの距離であり、（Ｐｎ−Ｐ０）は、定速走行領域開始地点Ｐ０から現在位置Ｐｎまでの距離である。
【００５９】
ｄ＝Ｄ［１］／（Ｐ１−Ｐ０）・（Ｐｎ−Ｐ０）
また、このようにして基本補正量ｄを算出すると、トルクムラ補正部１３５は、Ｓ１６０で算出した基本補正量ｄ、及び、レジスタ部１２０が記憶する補正係数ｋに基づき、補正量ｃを、次のように設定する（Ｓ１６５）。
【００６０】
ｃ＝ｋ・ｄ
尚、本実施例では、第１主補正位置Ｐ［１］で、補正量をｃ＝ｋ・Ｄ［１］に設定する。従って、Ｓ１６０〜Ｓ１６５では、図８（ａ）に示すように、線形補間によって、レジスタ部１２０が記憶する基本補正量Ｄ［１］から、キャリッジ４１の現在位置Ｐｎに対応した基本補正量ｄを求め、この基本補正量ｄに対応した補正量ｃを設定することとなる。
【００６１】
また、このようにしてＳ１６５での処理を終えると、トルクムラ補正部１３５は、Ｓ１５０に移行し、キャリッジ４１が基準位置Ｐ１に到達するまで、繰返し、上述した手法で補正量ｃを設定する。
【００６２】
一方、キャリッジ４１が基準位置Ｐ１に到達すると（Ｓ１５０でＹｅｓ）、トルクムラ補正部１３５は、Ｓ１７０に移行し、補正量ｃを、レジスタ部１２０が記憶する基本補正量Ｄ［ｉ］及び補正係数ｋに基づいて、次のように設定する。
【００６３】
ｃ＝ｋ・Ｄ［ｉ］
また、この処理を終えると、トルクムラ補正部１３５は、基準位置Ｐ２を、現在設定されている基準位置Ｐ１に設定すると共に（Ｓ１８０）、パラメータｉの値を１加算して（Ｓ１９０）、加算後のパラメータｉの値に基づき、基準位置Ｐ１を、第ｉ主補正位置Ｐ［ｉ］に設定し（Ｓ２００）、その後、Ｓ２１０に移行する。但し、ｉ＞Ｎのときには、基準位置Ｐ１を、上述したキャリッジ４１の移動経路終点より所定距離手前の位置Ｐｅに設定すると共に、Ｄ［Ｎ＋１］＝０に設定して、後述する処理を実行する。
【００６４】
また、Ｓ２１０に移行すると、トルクムラ補正部１３５は、位置カウント部１１３からキャリッジ４１の現在位置Ｐｎの情報を取得し、この情報に基づき、キャリッジ４１が基準位置Ｐ１に到達したか否かを判断する。
【００６５】
そして、キャリッジ４１が基準位置Ｐ１に到達していないと判断すると（Ｓ２１０でＮｏ）、基本補正量ｄを、次式に従って算出する（Ｓ２２０）。
ｄ＝ａ・（Ｐｎ−Ｐ２）＋Ｄ［ｉ−１］
ａ＝（Ｄ［ｉ］−Ｄ［ｉ−１］）／（Ｐ１−Ｐ２）
また、この処理を終えると、トルクムラ補正部１３５は、Ｓ２２０で算出した基本補正量ｄ、及び、レジスタ部１２０が記憶する補正係数ｋに基づき、補正量ｃを、次のように設定する（Ｓ２２５）。
【００６６】
ｃ＝ｋ・ｄ
尚、本実施例では、キャリッジ４１が第ｉ主補正位置Ｐ［ｉ］に位置するときに、補正量ｃを、ｃ＝ｋ・Ｄ［ｉ］に設定する。従って、Ｓ２２０〜Ｓ２２５では、図８（ｂ）に示すように、線形補間によって、レジスタ部１２０が記憶する基本補正量Ｄ［ｉ］，Ｄ［ｉ−１］から、キャリッジ４１の現在位置Ｐｎに対応した基本補正量ｄを求め、この基本補正量ｄに対応した補正量ｃを設定することになる。
【００６７】
また、このようにしてＳ２２５での処理を終えると、トルクムラ補正部１３５は、Ｓ２３０に移行し、キャリッジ４１が定速走行領域の終了地点に到達したか否かを判断する。即ち、Ｓ２３０では、キャリッジ４１が、レジスタ部１２０が記憶する目標停止位置よりも所定距離手前の地点に到達したか否かを判断する。
【００６８】
そして、キャリッジ４１が定速走行領域の終了地点に到達したと判断すると（Ｓ２３０でＹｅｓ）、補正量ｃを、ゼロに設定して（Ｓ２６０）、当該補正処理を終了する。一方、Ｓ２３０において、キャリッジ４１が定速走行領域の終点地点に到達していないと判断すると（Ｓ２３０でＮｏ）、トルクムラ補正部１３５は、Ｓ２１０に移行し、キャリッジ４１が基準位置Ｐ１に到達するか、定速走行領域の終点地点に到達するまで、Ｓ２１０〜Ｓ２３０の処理を繰返し実行する。そして、キャリッジ４１が基準位置Ｐ１に到達すると（Ｓ２１０でＹｅｓ）、Ｓ２４０に移行して、補正量ｃを、ｃ＝ｋ・Ｄ［ｉ］に設定する。その後、Ｓ２５０に移行する。
【００６９】
また、Ｓ２５０に移行すると、トルクムラ補正部１３５は、Ｓ２３０での処理と同様、キャリッジ４１が定速走行領域の終了地点に到達したか否かを判断し、キャリッジ４１が定速走行領域の終了地点に到達していないと判断すると（Ｓ２５０でＮｏ）、Ｓ１８０に移行して、基準位置Ｐ２、パラメータｉ、基準位置Ｐ１の値を順に更新し（Ｓ１８０〜Ｓ２００）、その後、更新した値を用いて、Ｓ２１０以降の処理を実行する。
【００７０】
また、キャリッジ４１が定速走行領域の終了地点に到達したと判断すると（Ｓ２５０でＹｅｓ）、トルクムラ補正部１３５は、Ｓ２６０に移行し、補正量ｃをゼロに設定して、当該補正処理を終了する。
【００７１】
このようにして、トルクムラ補正部１３５は、キャリッジ４１の主走査方向への移動に合わせて、補正データを構成する各基本補正量Ｄ［ｉ］を順次切り替えて用い、補正量ｃを設定する。そして、当該ＣＲモータ制御部３１ａでは、この補正量ｃに基づき、キャリッジ４１の位置に対応した補正を、操作量ｕに施して、コギング等によるキャリッジ４１の移動速度の変動を抑えるように、当該キャリッジ４１の移動速度を、トルクムラ補正部１３５でフィードフォワード制御する。
【００７２】
続いて、制御部１３０が有する補正データ学習部１３９の動作について説明する。補正データ学習部１３９は、印刷装置１の起動時に、ＣＰＵ１１の指令に従って、図９に示す学習処理を実行し、レジスタ部１２０が記憶する各基本補正量Ｄ［１］〜Ｄ［Ｎ］の値を更新する。尚、図９は、補正データ学習部１３９が実行する学習処理を表すフローチャートである。
【００７３】
学習処理を開始すると、補正データ学習部１３９は、まず、レジスタ部１２０が記憶する補正データを初期化する。即ち、各基本補正量Ｄ［１］〜Ｄ［Ｎ］を、全て、ゼロにリセットする（Ｓ３１０）。また、この処理を終えると、Ｓ３２０に移行し、キャリッジ４１の移動経路終点を、目標停止位置に設定して、操作量演算部１３１に、キャリッジ４１を始点から主走査方向へ終点まで移動させるように指令入力し、操作量演算部１３１に、上述した手法で操作量ｕ及び補正量ｃを演算させ、補正後の操作量ｕ’に対応したＣＲモータ４３の駆動制御を実行させる。
【００７４】
また、上述の指令入力の後には、パラメータｊを初期値１に設定し（Ｓ３３０）、学習位置Ｐｌを、第１主補正位置Ｐ［１］から主走査方向に距離α進んだ位置（Ｐ［１］＋α）に、設定する（Ｓ３４０）。
【００７５】
尚、距離αは、値ゼロを含む正の実数値で、設計者により設計段階で任意に定められるものとする。具体的に、距離αは、操作量演算部１３１で求められた操作量ｕ’に基づくＣＲモータ４３の操作がＣＲモータ４３の実速度に反映されるまでの遅延時間、に基づき、定められる。
【００７６】
Ｓ３４０での処理を終えると、補正データ学習部１３９は、Ｓ３５０に移行する。また、Ｓ３５０に移行すると、補正データ学習部１３９は、位置カウント部１１３からキャリッジ４１の現在位置Ｐｎの情報を取得し、キャリッジ４１が定速走行領域開始地点Ｐ０に到達したか否かを判断する（Ｓ３５０）。そして、キャリッジ４１が定速走行領域開始地点Ｐ０に到達していないと判断すると（Ｓ３５０でＮｏ）、キャリッジ４１が定速走行領域開始地点Ｐ０に到達するまで待機する。
【００７７】
一方、補正データ学習部１３９は、キャリッジ４１が定速走行領域開始地点Ｐ０に到達したと判断すると（Ｓ３５０でＹｅｓ）、Ｓ３６０に移行する。そして、位置カウント部１１３からキャリッジ４１の現在位置の情報を取得して、キャリッジ４１が学習位置Ｐｌに到達したか否かを判断する。そして、キャリッジ４１が学習位置Ｐｌに到達していないと判断すると（Ｓ３６０でＮｏ）、キャリッジ４１が学習位置Ｐｌに到達するまで待機する。
【００７８】
また、キャリッジ４１が学習位置Ｐｌに到達したと判断すると（Ｓ３６０でＹｅｓ）、補正データ学習部１３９は、Ｓ３７０に移行し、速度演算部１１５からキャリッジ４１の現在の移動速度Ｖｎの情報を取得して、レジスタ部１２０が記憶する目標移動速度Ｖｓと、キャリッジ４１の現在の移動速度Ｖｎとの誤差εを算出する。尚、本実施例においては、印刷装置１の起動時に、ＣＰＵ１１の動作によりレジスタ部１２０に対して目標移動速度Ｖｓが設定されるものとする。
【００７９】
ε＝Ｖｎ−Ｖｓ
また、このようにして、Ｓ３７０での処理を終えると、補正データ学習部１３９は、Ｓ３８０に移行し、学習位置Ｐｌを、第（ｊ＋１）主補正位置Ｐ［ｊ＋１］＋αに設定する（Ｐｌ＝Ｐ［ｊ＋１］＋α）。
【００８０】
その後、補正データ学習部１３９は、Ｓ３９０に移行し、誤差εの絶対値｜ε｜が、予め設計段階で正の値として定められた閾値Ｔｈよりも大きい値であるか否か判断する（Ｓ３９０）。そして、｜ε｜が閾値Ｔｈ以下であると判断すると（Ｓ３９０でＮｏ）、Ｓ４３０に移行する。
【００８１】
一方、｜ε｜が閾値Ｔｈよりも大きい値であると判断すると（Ｓ３９０でＹｅｓ）、誤差ε＞０であるか否かを判断する（Ｓ４００）。そして、誤差ε＞０であると判断すると（Ｓ４００でＹｅｓ）、レジスタ部１２０が記憶する基本補正量Ｄ［ｊ］の値を１減算した値に更新する（Ｓ４１０）。一方、誤差ε＜０であると判断すると（Ｓ４００でＮｏ）、レジスタ部１２０が記憶する基本補正量Ｄ［ｊ］の値を１加算した値に更新する（Ｓ４２０）。そして、Ｓ４１０又はＳ４２０での処理を終えると、Ｓ４３０に移行する。
【００８２】
また、Ｓ４３０に移行すると、補正データ学習部１３９は、Ｓ３６０でＹｅｓと判断した時点でキャリッジ４１が最終学習地点（Ｐ［Ｎ］＋α）に到達しているか否かを判断し、キャリッジ４１が最終学習地点に到達していないと判断すると（Ｓ４３０でＮｏ）、パラメータｊを１加算した値に更新し（Ｓ４３５）、その後、Ｓ３６０に移行して、キャリッジ４１が上記更新後の学習位置Ｐｌに到達するまで待機する。そして、キャリッジ４１が上記更新後の学習位置Ｐｌに到達すると、再び、Ｓ３７０以降の処理を実行する。
【００８３】
このようにして、当該学習処理では、キャリッジ４１の移動経路において予め設定されたＮ個の主補正位置Ｐ［１］〜Ｐ［Ｎ］を、キャリッジ４１が通過する際に使用される基本補正量Ｄ［１］〜Ｄ［Ｎ］を、基本補正量Ｄ［ｉ］が使用された時期に検出された誤差εに基づき、順次更新する。
【００８４】
一方、補正データ学習部１３９は、Ｓ４３０において、キャリッジ４１が最終学習地点に到達していると判断すると（Ｓ４３０でＹｅｓ）、キャリッジ４１が始点から終点に移動するまでの間に、Ｓ３２０〜Ｓ４３０の処理により、補正データが更新されたか否かを判断する（Ｓ４４０）。即ち、学習位置で、｜ε｜が閾値Ｔｈを超えたかを判断する。
【００８５】
そして、補正データが更新されたと判断すると（Ｓ４４０でＹｅｓ）、キャリッジ４１を始点まで移動させた後（Ｓ４５０）、Ｓ３２０に移行し、再び、操作量演算部１３１に対して、キャリッジ４１を始点から主走査方向へ終点まで移動させるように指令入力する。そして、キャリッジ４１の移動に合わせて、誤差｜ε｜が閾値Ｔｈを超えたか否かを逐次判断し、誤差｜ε｜が閾値Ｔｈを超えた場合には、レジスタ部１２０が記憶する基本補正量Ｄ［ｉ］を、上述した手法で更新する処理を行う。
【００８６】
例えば、Ｓ３２０からＳ４５０までのプロセスの１巡目では、キャリッジ４１の移動速度Ｖｎが、図１０（ａ）に示すように検出されたとする。尚、図１０（ａ）は、１巡目のプロセスでのキャリッジ４１の移動速度Ｖｎの変動を、横軸をキャリッジ４１の位置、縦軸を、キャリッジ４１の移動速度として表現したグラフである。図１０では、学習位置でのキャリッジ４１の移動速度Ｖｎを、黒丸で示す。
【００８７】
図１０（ａ）の場合、第１学習位置（第１主補正位置＋α）では、キャリッジ４１の移動速度Ｖｎと目標移動速度Ｖｓとの誤差｜ε｜が閾値Ｔｈ以下であるため、基本補正量Ｄ［１］を更新しないまま値ゼロで保持するが、第２学習位置（第２主補正位置＋α）では、誤差εが閾値Ｔｈより正方向に大きいため、基本補正量Ｄ［２］を１減算した値−１に更新する。また、第５学習位置（第５主補正位置＋α）では、誤差εが閾値−Ｔｈより負方向に大きいため、基本補正量Ｄ［５］を１加算した値１に更新する。このようにして、１巡目のプロセスでは、レジスタ部１２０が記憶する基本補正量Ｄ［ｉ］を、必要に応じて、初期値ゼロから更新する。
【００８８】
一方、２巡目のプロセスでは、当該更新後の基本補正量Ｄ［ｉ］を用いて、操作量演算部１３１が操作量ｕ’を算出し、これに基づいて、ＣＲモータ４３を駆動するため、キャリッジ４１の移動速度の変動εが、１巡目よりも小さくなる。尚、図１０（ｂ）は、２巡目のプロセスでのキャリッジ４１の移動速度Ｖｎの変動を表したグラフである。図１０（ｂ）に示す点線は、１巡目のプロセスにおいて検出されたキャリッジ４１の移動速度Ｖｎを表す。
【００８９】
しかしながら、１回のプロセスで更新する基本補正量Ｄ［ｉ］の当該更新量は、微小であるため、２巡目のプロセスでは、１巡目のプロセスで更新した基本補正量Ｄ［ｉ］を更に更新する。
【００９０】
例えば、図１０（ｂ）に示す例では、２巡目のプロセスにおいても、第２学習位置（第２主補正位置＋α）において、誤差εが閾値Ｔｈより正方向に大きくなっているため、基本補正量Ｄ［２］を１減算した値−２に更新する。また、第５学習位置（第５主補正位置＋α）では、誤差εが閾値−Ｔｈより負方向に大きくなっているため、基本補正量Ｄ［５］を１加算した値２に更新する。このようにして、２巡目のプロセスでは、レジスタ部１２０が記憶する基本補正量Ｄ［ｉ］を、１巡目での更新後の値から、更に更新する。
【００９１】
本実施例では、このようにして、キャリッジ４１の移動速度の変動量｜ε｜が、学習位置で、全て閾値Ｔｈ以下となるまで、補正データの更新を繰り返すのである。尚、図１０（ｃ）は、３巡目のプロセスでのキャリッジ４１の移動速度の変動を表したグラフである。
【００９２】
既に２回更新した更新後の基本補正量Ｄ［ｉ］を用いる３巡目のプロセスでは、操作量演算部１３１が、既に２回更新した更新後の基本補正量Ｄ［ｉ］を用いて、操作量ｕ’を算出し、これに基づいて、ＣＲモータ４３を駆動するため、キャリッジ４１の移動速度の変動εは、２巡目よりも更に小さくなる。従って、基本補正量Ｄ［ｉ］の更新は、未だ、誤差｜ε｜が閾値Ｔｈよりも大きい学習位置においてのみ実行することになる。例えば、図１０（ｃ）に示す例では、第２学習位置（第２主補正位置＋α）において、未だ、誤差εが閾値Ｔｈより正方向に大きいため、基本補正量Ｄ［２］を１減算した値−３に更新する。一方、第５学習位置（第５主補正位置＋α）では、誤差｜ε｜が閾値Ｔｈ以下であるため、基本補正量Ｄ［５］を更新せずに、値２で保持する。このようにして、３巡目のプロセスでは、レジスタ部１２０が記憶する基本補正量Ｄ［ｉ］を、更新する。
【００９３】
補正データ学習部１３９は、このような手法で、基本補正量Ｄ［ｉ］の更新を繰返し実行し、キャリッジ４１の移動速度の変動量｜ε｜が、学習位置で、全て閾値Ｔｈ以下となると、これ以上の補正データの更新が当該学習処理で行われることはないので、Ｓ４４０でＮｏと判断し、当該学習処理を終了する。
【００９４】
以上が、本実施例の印刷装置１の基本動作である。この印刷装置１では、起動時に、レジスタ部１２０に対して、パラメータを初期設定し、ＣＰＵ１１からの指令入力により補正データ学習部１３９を動作させて、キャリッジ４１をテスト走行させ、キャリッジ４１の実移動速度Ｖｎと目標移動速度Ｖｓとの誤差εに基づき、フィードバック制御部１３３が決定する操作量ｕに対する補正量Ｄ［ｉ］を求める。
【００９５】
そして、インタフェース１９を介して、印刷指令及び印刷対象データ（画像データ）をＰＣ３から受信した際には、ＣＰＵ１１からの指令入力により、印字制御部２１及びモータ制御部３１を起動し、キャリッジ４１を主走査方向に移動させると共に、用紙Ｐを副走査方向に移動させ、これと同時に、記録ヘッド２３にインクを吐出させることにより、用紙Ｐに印刷対象データに基づく画像を形成する。
【００９６】
また、この画像形成処理の実行時には、印刷装置１の起動時に求めた補正量Ｄ［ｉ］を、トルクムラ補正部１３５で用いることにより、キャリッジ４１の移動速度Ｖｎをフィードフォワード制御して、移動速度Ｖｎの目標移動速度Ｖｓに対する変動を抑える。具体的に、本実施例の印刷装置１では、キャリッジ４１の移動に合わせて、レジスタ部１２０が記憶する補正量Ｄ［ｉ］を順次切り替えて用い、フィードバック制御部１３３が決定した操作量ｕを補正することにより、移動速度Ｖｎの目標移動速度Ｖｓに対する変動を抑える。
【００９７】
従って、本実施例によれば、フィードバック制御だけでは、キャリッジ４１の移動速度Ｖｎを目標移動速度Ｖｓに維持することができない場合でも、補正量ｃにより、その移動速度Ｖｎの変動を抑えることができる。従って、本実施例によれば、従来あったキャリッジ４１の移動速度Ｖｎの変動を原因とする画質の劣化を抑えることができる。
【００９８】
また、本実施例では、キャリッジ４１の移動経路における特定地点を、主補正位置に設定して、その主補正位置をキャリッジ４１が通過する際に施すべき補正量Ｄ［ｉ］をレジスタ部１２０に記憶し、主補正位置以外の地点にキャリッジ４１が存在する場合には、キャリッジ４１の現在地点Ｐｎを挟む当該現在地点Ｐｎから最も近い二地点の主補正位置Ｐ［ｉ−１］，Ｐ［ｉ］の補正量Ｄ［ｉ−１］，Ｄ［ｉ］に基づき、線形補間により、現在位置Ｐｎの補正量ｄを求めるようにした。従って、本実施例によれば、操作量ｕに補正を加える地点の補正量を全てレジスタ部１２０に記憶させる場合よりも、補正データのデータ量を抑えることができ、結果として、安価に装置を構成することができる。
【００９９】
また、本実施例では、補正量Ｄ［ｉ］を整数値で記憶し、操作量ｕを補正する際には、補正量Ｄ［ｉ］を補正係数ｋによりスケール変更して、操作量ｕに対応した補正量ｃを求めるようにした。従って、本実施例によれば、浮動小数の補正量ｃを直接記憶する場合よりも、補正データのデータ量を抑えることができる。
【０１００】
また、ヘッド搬送機構４０では、キャリッジ４１の移動速度Ｖｎの変動が、キャリッジ４１の位置に依存しやすいので、上述のようにして、操作量ｕを補正する本実施例の印刷装置１によれば、補正量Ｄ［ｉ］に基づき、位置に依存した不規則な移動速度の変動を効果的に抑制することができる。
【０１０１】
この他、本実施例では、レジスタ部１２０が記憶する基本補正量Ｄ［ｉ］を、起動時に更新し、全学習位置での誤差εが閾値Ｔｈ以下となった時点で、基本補正量Ｄ［ｉ］の更新を止めて、基本補正量Ｄ［ｉ］を確定するようにした。また、基本補正量Ｄ［ｉ］の更新を、誤差｜ε｜が閾値Ｔｈを超えた場合に限って行うようにした。従って、本実施例によれば、常時、基本補正量Ｄ［ｉ］を更新する場合よりも、補正量更新に係る処理量を抑えることができ、効率的に、移動速度Ｖｎの変動を抑えることができる。
【０１０２】
また、本実施例では、キャリッジ４１の移動速度Ｖｎが目標移動速度Ｖｓよりも高い場合には、対応する基本補正量Ｄ［ｉ］を１減算した値に更新し、キャリッジ４１の移動速度Ｖｎが目標移動速度Ｖｓよりも低い場合には、対応する基本補正量Ｄ［ｉ］を１加算した値に更新し、このようなプロセスを複数回実行することにより、段階的に、基本補正量Ｄ［ｉ］を更新するようにした。従って、本実施例によれば、安定的に誤差εが小さくなる方向に補正量Ｄ［ｉ］を更新することができ、結果として、効率的に、適切な基本補正量Ｄ［ｉ］を求めることができる。
【０１０３】
尚、本発明のＤＣモータは、本実施例のＣＲモータ４３に相当し、駆動対象は、キャリッジ４１に相当し、駆動機構は、ヘッド搬送機構４０に相当する。また、補正量記憶手段は、レジスタ部１２０に相当し、操作量決定手段は、フィードバック制御部１３３に相当する。
【０１０４】
その他、補正手段は、トルクムラ補正部１３５及び加算器１３７にて実現されている。また、モータ駆動手段は、ＰＷＭ生成部１４０及びＣＲモータ駆動回路５１にて実現され、速度検出手段は、速度演算部１１５にて実現され、誤差検出手段及び補正量更新手段は、補正データ学習部１３９が実行する学習処理にて実現されている。
【０１０５】
また、上記実施例では、キャリッジ４１が移動する経路において主補正位置Ｐ［ｉ］を複数設定し、この主補正位置Ｐ［ｉ］に対応する学習位置で検出された誤差εに基づき、キャリッジ４１の移動速度Ｖｎの変動が小さくなる方向に、主補正位置Ｐ［ｉ］での補正量Ｄ［ｉ］を更新するようにしたが、これとは別に、印刷装置１は、次のように構成されてもよい。
【０１０６】
即ち、印刷装置１は、ＣＲモータ４３の駆動によりキャリッジ４１が始点から終点まで移動する期間内において予め定められた時刻Ｔ［ｉ］毎に、その時点で、操作量ｕに対して施すべき補正量Ｄ［ｉ］を記憶し、時刻Ｔ［ｉ］においては、補正量Ｄ［ｉ］に基づき、操作量ｕを、操作量ｕ’＝ｕ＋ｋ・Ｄ［ｉ］に補正する構成にされてもよい（変形例）。
［変形例］
続いて、変形例の印刷装置１について説明する。変形例の印刷装置１は、基本的に、トルクムラ補正部１３５が実行する補正処理の内容、及び、補正データ学習部１３９が実行する学習処理の内容が、上記実施例と異なる程度であるので、以下では、変形例の説明として、図１１及び図１２を用いて、トルクムラ補正部１３５が実行する補正処理の内容、及び、補正データ学習部１３９が実行する学習処理の内容についてを選択的に説明する。尚、図１１は、変形例においてトルクムラ補正部１３５が実行する補正処理を表すフローチャートであり、図１２は、変形例において補正データ学習部１３９が実行する学習処理を表すフローチャートである。
【０１０７】
トルクムラ補正部１３５は、図１１に示す補正処理を開始すると、まずＳ５１０にて、補正量ｃ＝０に設定し、Ｓ５２０にて、パラメータｉ＝１に設定し、更に、Ｓ５３０にて、基準時刻Ｔ１を、第１主補正時刻Ｔ［１］に設定する（Ｓ５３０）。
【０１０８】
変形例においては、定速走行領域開始地点Ｐ０をキャリッジ４１が通過した時刻を、ｔ＝０として、キャリッジ４１が始点から終点（目標停止位置の最大値）まで移動する期間内で、Ｎ個の補正時刻を等間隔に定めている。具体的には、時間間隔をΔｔ＝（Ｌ／Ｖｓ）／（Ｎ＋１）で定めて、定速走行領域の開始地点Ｐ０の通過時刻ｔ＝０から時間（ｉ・Δｔ）経過した時刻を、第ｉ主補正時刻Ｔ［ｉ］と定めている。即ち、Ｔ［ｉ］は、ｉ＝１，２，…，Ｎの範囲で、値Ｔ［ｉ］＝ｉ・Δｔを採る。尚、Ｌは、定速走行領域の開始地点Ｐ０から、キャリッジ４１の移動経路終点より所定距離手前の定速走行領域の終了地点Ｐｅまでの距離であり、Ｖｓは、レジスタ部１２０に設定された目標移動速度である。
【０１０９】
Ｓ５３０において、トルクムラ補正部１３５は、このようにして予め定められた第１〜第Ｎ主補正時刻の内、第１主補正時刻Ｔ［１］を、基準時刻Ｔ１に設定するのである。
また、このようにしてＳ５３０での処理を終えると、トルクムラ補正部１３５は、位置カウント部１１３からキャリッジ４１の現在位置Ｐｎの情報を取得し、この情報に基づいて、キャリッジ４１が定速走行領域開始地点Ｐ０に到達したか否かを判断する（Ｓ５４０）。そして、キャリッジ４１が定速走行領域開始地点Ｐ０に到達していないと判断すると（Ｓ５４０でＮｏ）、キャリッジ４１が定速走行領域開始地点Ｐ０に到達するまで待機する。
【０１１０】
一方、キャリッジ４１が定速走行領域開始地点Ｐ０に到達したと判断すると（Ｓ５４０でＹｅｓ）、トルクムラ補正部１３５は、Ｓ５４５に移行し、この時点を、時刻ｔ＝０として、経過時間ｔの計測を開始する。
【０１１１】
また、経過時間ｔの計測を開始した後には、この計測結果に基づき、定速走行領域開始地点Ｐ０の通過時を時刻ｔ＝０とした現在の時刻ｔが、基準時刻Ｔ１であるか否かを判断する（Ｓ５５０）。
【０１１２】
そして、現在時刻ｔが基準時刻Ｔ１ではないと判断すると（Ｓ５５０でＮｏ）、現在時刻ｔに基づき、基本補正量ｄを、次式に従って算出する（Ｓ５６０）。
ｄ＝Ｄ［１］／Ｔ１・ｔ
また、Ｓ５６０で算出した基本補正量ｄ、及び、レジスタ部１２０が記憶する補正係数ｋに基づき、補正量ｃを、次のように設定する（Ｓ５６５）。
【０１１３】
ｃ＝ｋ・ｄ
尚、当該変形例では、第１主補正時刻Ｔ［１］において補正量をｃ＝ｋ・Ｄ［１］に設定する。従って、Ｓ５６０〜Ｓ５６５では、線形補間によって、レジスタ部１２０が記憶する基本補正量Ｄ［１］から、現在時刻ｔに対応した基本補正量ｄを求めて、この基本補正量ｄに対応した補正量ｃを設定することとなる。
【０１１４】
また、このようにしてＳ５６５での処理を終えると、トルクムラ補正部１３５は、Ｓ５５０に移行し、基準時刻Ｔ１が到来するまで、繰返し、上述したように、補正量ｃを設定する。
【０１１５】
一方、基準時刻Ｔ１が到来した場合には、Ｓ５５０でＹｅｓと判断し、補正量ｃを、レジスタ部１２０が記憶する基本補正量Ｄ［ｉ］及び補正係数ｋに基づき、次のように設定する（Ｓ５７０）。
【０１１６】
ｃ＝ｋ・Ｄ［ｉ］
また、この処理を終えると、トルクムラ補正部１３５は、基準時刻Ｔ２を、現在設定されている基準時刻Ｔ１に設定すると共に（Ｓ５８０）、パラメータｉを１加算して（Ｓ５９０）、加算後のパラメータｉの値に基づき、基準時刻Ｔ１を、第ｉ主補正時刻Ｔ［ｉ］に設定し（Ｓ６００）、その後、Ｓ６１０に移行する。但し、ｉ＞Ｎのときには、基準時刻Ｔ１を、Ｔ１＝Ｔ［Ｎ］＋Δｔに設定すると共に、Ｄ［Ｎ＋１］＝０に設定して、後述する処理を実行する。
【０１１７】
また、Ｓ６１０に移行すると、トルクムラ補正部１３５は、現在時刻ｔが、基準時刻Ｔ１であるか否かを判断し、現在時刻ｔが基準時刻Ｔ１ではないと判断すると（Ｓ６１０でＮｏ）、現在時刻ｔに基づき、基本補正量ｄを、次式に従って算出する（Ｓ６２０）。
【０１１８】
ｄ＝ａ・（ｔ−Ｔ２）＋Ｄ［ｉ−１］
ａ＝（Ｄ［ｉ］−Ｄ［ｉ−１］）／（Ｔ１−Ｔ２）
また、Ｓ６２０で算出した基本補正量ｄ、及び、レジスタ部１２０が記憶する補正係数ｋに基づき、補正量ｃを、次のように設定する（Ｓ６２５）。
【０１１９】
ｃ＝ｋ・ｄ
尚、変形例では、第ｉ主補正時刻Ｔ［ｉ］において、補正量ｃを、ｃ＝ｋ・Ｄ［ｉ］に設定する。従って、Ｓ６２０〜Ｓ６２５では、線形補間によって、レジスタ部１２０が記憶する基本補正量Ｄ［ｉ］，Ｄ［ｉ−１］から、現在時刻ｔに対応した基本補正量ｄを求め、この基本補正量ｄに対応した補正量ｃを設定することになる。
【０１２０】
また、このようにしてＳ６２５での処理を終えると、トルクムラ補正部１３５は、Ｓ６３０に移行し、キャリッジ４１が定速走行領域の終了地点（目標停止位置より所定距離手前の地点）に到達したか否かを判断する。そして、キャリッジ４１が定速走行領域の終了地点に到達したと判断すると（Ｓ６３０でＹｅｓ）、補正量ｃを、ゼロに設定して（Ｓ６６０）、当該補正処理を終了する。尚、目標停止位置が、位置Ｐｅに設定されている場合には、時刻ｔ＝Ｔ［Ｎ］＋Δｔとなった時点で、キャリッジ４１が定速走行領域の終了地点に到達したとして、Ｓ６６０に移行する。
【０１２１】
一方、Ｓ６３０において、キャリッジ４１が定速走行領域の終点地点に到達していないと判断すると（Ｓ６３０でＮｏ）、トルクムラ補正部１３５は、Ｓ６１０に移行して、基準時刻Ｔ１が到来するか、キャリッジ４１が定速走行領域の終点地点に到達するまで、Ｓ６１０〜Ｓ６３０の処理を繰返し実行する。
【０１２２】
また、基準時刻Ｔ１が到来して、Ｓ６１０でＹｅｓと判断すると、トルクムラ補正部１３５は、Ｓ６４０に移行して、補正量ｃを、ｃ＝ｋ・Ｄ［ｉ］に設定する。その後、Ｓ６５０に移行する。
【０１２３】
また、Ｓ６５０に移行すると、トルクムラ補正部１３５は、Ｓ６３０での処理と同様、キャリッジ４１が定速走行領域の終了地点（目標停止位置より所定距離手前の地点）に到達したか否かを判断し、キャリッジ４１が定速走行領域の終了地点に到達していないと判断すると（Ｓ６５０でＮｏ）、Ｓ５８０に移行して、基準時刻Ｔ２、パラメータｉ、基準時刻Ｔ１の値を順に更新し（Ｓ５８０〜Ｓ６００）、その後、更新した値を用いて、Ｓ６１０以降の処理を実行する。
【０１２４】
一方、キャリッジ４１が定速走行領域の終了地点に到達したと判断すると（Ｓ６５０でＹｅｓ）、Ｓ６６０に移行し、補正量ｃをゼロに設定して、当該補正処理を終了する。
このようにして、トルクムラ補正部１３５では、キャリッジ４１の主走査方向への移動に合わせて、基本補正量Ｄ［ｉ］を順次切り替えて用い、補正量ｃを設定する。変形例では、このような動作により、キャリッジ４１の移動速度Ｖｎの変動を抑える。
【０１２５】
続いて、変形例における補正データ学習部１３９の動作について説明する。補正データ学習部１３９は、印刷装置１の起動時に、ＣＰＵ１１の指令に従って、図１２に示す学習処理を実行し、レジスタ部１２０が記憶する基本補正量Ｄ［１］〜Ｄ［Ｎ］の値を更新する。
【０１２６】
学習処理を開始すると、補正データ学習部１３９は、まず、レジスタ部１２０が記憶する補正データを初期化する。即ち、各基本補正量Ｄ［１］〜Ｄ［Ｎ］を、全て、ゼロにリセットする（Ｓ７１０）。また、この処理を終えると、Ｓ７２０に移行し、操作量演算部１３１に、キャリッジ４１を始点から主走査方向へ終点まで移動させるように指令入力し、操作量演算部１３１に、上述した手法で操作量ｕ及び補正量ｃを演算させ、補正後の操作量ｕ’に対応したＣＲモータ４３の駆動制御を実行させる。
【０１２７】
また、この処理を終えると、補正データ学習部１３９は、パラメータｊ＝１に設定し（Ｓ７３０）、学習時刻Ｔｌを、第１主補正時刻Ｔ［１］から所定時間β進んだ時間（Ｔ［１］＋β）に、設定する（Ｓ７４０）。但し、時間βは、値ゼロを含む正の実数値で、設計者により設計段階で任意に定められるものとする。具体的に、時間βは、操作量演算部１３１で求められた操作量ｕ’に基づくＣＲモータ４３の操作が、ＣＲモータ４３の実速度Ｖｎに反映されるまでの遅延時間に基づき、定められる。
【０１２８】
このようにして、Ｓ７４０での処理を終えると、補正データ学習部１３９は、Ｓ７５０に移行し、位置カウント部１１３からキャリッジ４１の現在位置Ｐｎの情報を取得して、この情報に基づき、キャリッジ４１が定速走行領域開始地点Ｐ０に到達したか否かを判断し（Ｓ７５０）、キャリッジ４１が定速走行領域開始地点Ｐ０に到達していない場合には（Ｓ７５０でＮｏ）、キャリッジ４１が定速走行領域開始地点Ｐ０に到達するまで待機する。
【０１２９】
一方、補正データ学習部１３９は、キャリッジ４１が定速走行領域開始地点Ｐ０に到達したと判断すると（Ｓ７５０でＹｅｓ）、現在時刻をｔ＝０として、経過時間ｔの計測を開始する（Ｓ７５５）。また、この処理を終えると、補正データ学習部１３９は、Ｓ７６０に移行し、現在時刻ｔが、学習時刻Ｔｌであるか否かを判断する。
【０１３０】
そして、現在時刻ｔが学習時刻Ｔｌではないと判断すると（Ｓ７６０でＮｏ）、学習時刻Ｔｌが到来するまで待機する。一方、現在時刻ｔが学習時刻Ｔｌであると判断すると（Ｓ７６０でＹｅｓ）、Ｓ７７０に移行し、速度演算部１１５からキャリッジ４１の移動速度Ｖｎの情報を取得して、レジスタ部１２０が記憶する目標移動速度Ｖｓと、キャリッジ４１の現在の移動速度Ｖｎとの誤差εを算出する。尚、変形例においては、印刷装置１の起動時に、ＣＰＵ１１によりレジスタ部１２０に対して目標移動速度Ｖｓが設定されるものとする。
【０１３１】
ε＝Ｖｎ−Ｖｓ
また、このようにして、Ｓ７７０での処理を終えると、補正データ学習部１３９は、Ｓ７８０にて、学習時刻Ｔｌを、現在設定されているパラメータｊの値に基づき、第（ｊ＋１）主補正時刻Ｔ［ｊ＋１］＋βに設定し（Ｔｌ＝Ｔ［ｊ＋１］＋β）、その後、誤差εの絶対値｜ε｜が、閾値Ｔｈよりも大きいか否か判断する（Ｓ７９０）。そして、｜ε｜が閾値Ｔｈ以下であると判断すると（Ｓ７９０でＮｏ）、Ｓ８３０に移行する。
【０１３２】
一方、補正データ学習部１３９は、｜ε｜が閾値Ｔｈよりも大きいと判断すると（Ｓ７９０でＹｅｓ）、誤差がε＞０であるか否かを判断する（Ｓ８００）。そして、誤差ε＞０であると判断すると（Ｓ８００でＹｅｓ）、レジスタ部１２０が記憶する基本補正量Ｄ［ｊ］を１減算した値に更新し（Ｓ８１０）、誤差ε＜０であると判断すると（Ｓ８００でＮｏ）、レジスタ部１２０が記憶する基本補正量Ｄ［ｊ］を１加算した値に更新する（Ｓ８２０）。
【０１３３】
そして、Ｓ８１０又はＳ８２０での処理を終えると、補正データ学習部１３９は、Ｓ８３０に移行し、Ｓ７６０でＹｅｓと判断した時点で最終学習時刻（Ｔ［Ｎ］＋β）が到来した状態にあるか否かを判断し、最終学習時刻（Ｔ［Ｎ］＋β）が到来した状態にないと判断すると（Ｓ８３０でＮｏ）、パラメータｊを１加算した値に更新した後（Ｓ８３５）、Ｓ７６０に移行し、上記更新後の学習時刻Ｔｌが到来するまで待機する。そして、上記更新後の学習時刻Ｔｌが到来すると、再び、Ｓ７７０以降の処理を実行する。このようにして、当該学習処理では、誤差εに基づき、主補正時刻Ｔ［１］〜Ｔ［Ｎ］において用いる基本補正量Ｄ［１］〜Ｄ［Ｎ］の値を、順次更新する。
【０１３４】
一方、補正データ学習部１３９は、Ｓ８３０において、最終学習時刻（Ｔ［Ｎ］＋β）が到来した状態にあると判断すると（Ｓ８３０でＹｅｓ）、キャリッジ４１が始点から終点に移動するまでの間に、Ｓ７２０〜Ｓ８３０の処理により、補正データが更新されたか否かを判断する（Ｓ８４０）。即ち、学習時刻で、誤差｜ε｜が閾値Ｔｈを超えたときがあったか否かを判断する。
【０１３５】
そして、補正データが更新されたと判断すると（Ｓ８４０）、キャリッジ４１を始点まで移動させた後（Ｓ８５０）、Ｓ７２０に移行し、操作量演算部１３１に対して、再度、キャリッジ４１を始点から主走査方向へ終点まで移動させるように指令入力する。そして、学習時刻Ｔｌが到来する度に、誤差｜ε｜が閾値Ｔｈを超えたか否かを判断し、誤差｜ε｜が閾値Ｔｈを超えた場合には、レジスタ部１２０が記憶する基本補正量Ｄ［ｉ］を、上述した手法で更新する処理を行う。
【０１３６】
変形例では、このようにして、キャリッジ４１の移動速度の変動量｜ε｜が、学習時刻で、全て閾値Ｔｈ以下となるまで、補正データの更新を繰り返す。そして、キャリッジ４１の移動速度の変動量｜ε｜が、学習時刻で、全て閾値Ｔｈ以下となると、Ｓ８４０でＮｏと判断して、当該学習処理を終了する。
【０１３７】
以上が、変形例の印刷装置１の基本的な動作である。上述したように、ヘッド搬送機構４０では、目標移動速度Ｖｓに対するキャリッジ４１の移動速度Ｖｎの変動パターンが、キャリッジ４１の位置に依存しやすいが、キャリッジ４１の移動速度Ｖｎの変動量が小さい場合には、時刻によって概ねキャリッジ４１の位置を推定することができる。従って、時刻により、補正するタイミングを決定しても、地点により補正するタイミングを決定する上記実施例と同様に、位置に依存した不規則な移動速度Ｖｎの変動を効果的に抑制することができる。従って、変形例によっても、キャリッジ４１の移動速度Ｖｎの変動を効果的に抑えることができ、移動速度Ｖｎの変動に起因する画質の劣化を、効果的に抑制することができる。
【０１３８】
以上、本発明の実施例について述べたが、本発明は、上記実施例に限定されるものではなく、種々の態様を採ることができる。例えば、上記実施例では、画像形成処理の実行時に、補正データ学習部１３９を動作させないように、印刷装置１を構成したが、補正データ学習部１３９は、印刷装置１の起動時に加えて画像形成処理の実行時に動作させても良く、常時、補正量Ｄ［ｉ］を更新するように、印刷装置１を構成しても構わない。
【０１３９】
また、本発明は、上記実施例に限定されるものではなく、モータを用いて、駆動対象を駆動する種々の装置に適用することができる。
【図面の簡単な説明】
【０１４０】
【図１】印刷装置１の構成を表すブロック図である。
【図２】ヘッド搬送機構４０の構成を表す斜視図である。
【図３】ＣＲモータ制御部３１ａの詳細構成を表すブロック図である。
【図４】制御部１３０の詳細構成を表すブロック図である。
【図５】レジスタ部１２０が記憶する補正データの構成を表す説明図である。
【図６】トルクムラ補正部１３５が実行する補正処理を表すフローチャートである。
【図７】主補正位置Ｐ［１］〜Ｐ［Ｎ］を示した説明図である。
【図８】基本補正量ｄの設定方法を示した説明図である。
【図９】補正データ学習部１３９が実行する学習処理を表すフローチャートである。
【図１０】補正データの更新方法を示した説明図である。
【図１１】トルクムラ補正部１３５が実行する変形例の補正処理を表すフローチャートである。
【図１２】補正データ学習部１３９が実行する変形例の学習処理を表すフローチャートである。
【符号の説明】
【０１４１】
１…印刷装置、１１…ＣＰＵ、１３…ＲＯＭ、１５…ＲＡＭ、１９…インタフェース、２１…印字制御部、２３…記録ヘッド、２５…ヘッド駆動回路、３１…モータ制御部、３１ａ…ＣＲモータ制御部、４０…ヘッド搬送機構、４１…キャリッジ、４２…ガイド軸、４３…ＣＲモータ、４４…無端ベルト、４５…プーリー、４７…タイミングスリット、４８…センサ素子、５１…ＣＲモータ駆動回路、５３…ＣＲエンコーダ、１１０…計測部、１１１…エッジ検出部、１１３…位置カウント部、１１５…速度演算部、１２０…レジスタ部、１３０…制御部、１３１…操作量演算部、１３３…フィードバック制御部、１３５…トルクムラ補正部、１３７…加算器、１３９…補正データ学習部、１４０…ＰＷＭ生成部
【図１】
2008211869.tif 000003
【図２】
2008211869.tif 000004
【図３】
2008211869.tif 000005
【図４】
2008211869.tif 000006
【図５】
2008211869.tif 000007
【図６】
2008211869.tif 000008
【図７】
2008211869.tif 000009
【図８】
2008211869.tif 000010
【図９】
2008211869.tif 000011
【図１０】
2008211869.tif 000012
【図１１】
2008211869.tif 000013
【図１２】
2008211869.tif 000014