(57)【特許請求の範囲】
【請求項１】
モータによって駆動される駆動対象が所定量駆動される毎にパルス信号を繰り返し発生するパルス発生手段と、
該パルス発生手段により発生されるパルス信号の立ち上がりエッジと立ち下がりエッジとの少なくとも一方を検知してエッジを計数する信号計数手段と、
ユーザの操作を受けて、駆動距離の解像度を示す解像度モードを、高解像度のモードおよび低解像度のモードのいずれかに切り替えるモード切替手段と、
該モード切替手段により切り替えられた解像度モードに対応する解像度の中から、前記目標駆動距離設定手段によって設定された目標駆動距離に応じて駆動距離の分解能を選択する分解能選択手段と、
該分解能選択手段により選択された駆動距離の分解能に基づいて、前記目標駆動距離設定手段により設定された目標駆動距離に相当するエッジの計数値を算出する計数値算出手段と、
前記信号計数手段により計数されたエッジの数と前記計数値算出手段により算出された計数値とを比較し、両者を一致させるべくフィードバック制御を行うフィードバック制御手段と、を備えている
ことを特徴とするモータ制御装置。
【請求項２】
前記分解能選択手段は、目標駆動距離が大きい場合には低い分解能を選択し、当該目標駆動距離が小さい場合には高い分解能を選択することを特徴とする請求項１に記載のモータ制御装置。
【請求項３】
前記パルス発生手段は、
互いに所定の位相差を有する第１、第２のパルス信号を発生可能に構成され、前記信号計数手段は、前記第１のパルス信号の立ち上がりエッジを計数する第１信号計数手段と、
前記第１のパルス信号の立ち下がりエッジを計数する第２信号計数手段と、
前記第２のパルス信号の立ち上がりエッジを計数する第３信号計数手段と、
前記第２のパルス信号の立ち下がりエッジを計数する第４信号計数手段とからなり、
前記分解能選択手段は、
エッジを計数する計数モードを、前記第１信号計数手段のみでエッジを計数して分解能が第１分解能となる第１計数モード、前記第１信号計数手段および前記第２信号計数手段でエッジを計数して分解能が前記第１分解能より高い第２分解能となる第２計数モード、前記第１から第４信号計数手段全てでエッジを計数して分解能が前記第２分解能より高い第３分解能となる第３計数モードのうちいずれかに切り換えることによって、駆動距離の分解能を選択する
ことを特徴とする請求項１または請求項２に記載のモータ制御装置。
【請求項４】
前記分解能選択手段は、モータによる前記駆動対象の駆動距離が前記目標駆動距離設定手段により設定された目標駆動距離に近接したとき、より高い分解能を選択する
ことを特徴とする請求項１から請求項３のいずれかに記載のモータ制御装置。
【請求項５】
被印刷媒体と、インク滴を吐出して該被印刷媒体上に所望の画像を印刷するための印字ノズル列を備えた印字ヘッドとをモータにより相対的に移動させて印刷する印刷機におけるモータ制御装置であって、
被印刷媒体または印字ヘッドを前記駆動対象とし、該駆動対象の目標駆動距離が前記印字ノズル列よりも長い場合に、前記分解能選択手段は、最も低い分解能を選択する
ことを特徴とする請求項１から請求項４のいずれかに記載のモータ制御装置。
【請求項６】
モータによって駆動される駆動対象が所定量駆動される毎に繰り返し発生されるパルス信号に基づいて、該パルス信号の立ち上がりエッジと立ち下がりエッジとの少なくとも一方を検知してエッジの数を計数して、
前記駆動対象の目標駆動距離を設定して、
ユーザにより高解像度のモードおよび低解像度のモードのいずれかに切り替えられた解像度モードに対応する解像度の中から、前記設定した目標駆動距離に応じて駆動距離の分解能を選択して、
該選択した駆動距離の分解能に基づいて、前記設定した目標駆動距離に相当するエッジの計数値を算出して、
前記計数したエッジの数と前記算出した計数値とを比較し、両者を一致させるべくフィードバック制御を行う
ことを特徴とするモータ制御方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、フィードバック制御によって、モータが駆動する制御対象の動作を制御する制御するモータ制御装置に関する。
【０００２】
【従来の技術】
従来から、フィードバック制御によって、モータが駆動する制御対象の動作を制御する制御するモータ制御装置が利用されている。この種のモータ制御装置では、モータが駆動する制御対象の実駆動量（実際の動作量）がエンコーダによって検出され、実駆動量が目標駆動量（目標となる動作量）と一致するようにモータが制御される。
【０００３】
また、このモータ制御装置では、実駆動量を示すエンコーダ信号の計数値がフィードバック入力となるため、実駆動量を目標駆動量に精度よく到達させるためには、エンコーダにより検出できる最小の駆動量（動作量）を小さく、つまり、制御対象の動作を高い分解能で検出できるように構成すればよいことになる。なお、分解能を高くするためには、例えば、エンコーダ信号の立ち上がりおよび立ち下がりの両エッジを計数するように構成したり、また、位相がずれた複数のエンコーダ信号を出力するエンコーダを利用し、複数のエンコーダ信号それぞれを計数するように構成することが行われている。
【０００４】
【発明が解決しようとする課題】
しかし、制御対象の動作を高い分解能で検出するように構成した場合、目標駆動量に応じてエンコーダ信号の計数値が急激に増加するため、これに伴って、エンコーダ信号を計数するためのレジスタやフィードバック制御に関する演算を行う演算器などの記憶領域を大きく（ビット長を長く）しなければならない。
【０００５】
また、レジスタや演算器などの記憶領域を小さくするために、制御対象の動作を低い分解能で検出するように構成した場合には、記憶領域を小さく抑えることはできるが、目標駆動量が小さいときの検出誤差が大きくなってしまい、実駆動量を目標駆動量に精度よく到達させることができなくなる。
【０００６】
そのため、従来のモータ制御装置では、小さな目標駆動量に対応するために分解能を充分に高くしなければならず、また、高い分解能で大きな目標駆動量にも対応するためにレジスタや演算器などの記憶領域を充分に大きく（ビット長を充分に長く）しておく必要がある。しかし、この構成では、目標移動量が大きいとき、エンコーダ信号の大きな計数値に基づいて演算器による演算を行わなければならないため、フィードバック制御に拘わる処理の負荷が重くなってしまう。また、目標移動量が小さいときは、エンコーダ信号の計数値が充分に大きくならず、レジスタや演算器の利用効率が極端に低くなってしまう。
【０００７】
本発明は、目標駆動量によって、フィードバック制御に拘わる処理の負荷が重くなったり、レジスタや演算器の利用効率が低下してしまうことのないモータ制御装置およびモータ制御方法を提供することを目的とする。
【０００８】
【課題を解決するための手段および発明の効果】
上記問題を解決するため請求項１に記載のモータ制御装置は、モータによって駆動される駆動対象が所定量駆動される毎にパルス信号を繰り返し発生するパルス発生手段と、該パルス発生手段により発生されるパルス信号の立ち上がりエッジと立ち下がりエッジとの少なくとも一方を検知してエッジを計数する信号計数手段と、ユーザの操作を受けて、駆動距離の解像度を示す解像度モードを、高解像度のモードおよび低解像度のモードのいずれかに切り替えるモード切替手段と、該モード切替手段により切り替えられた解像度モードに対応する解像度の中から、前記目標駆動距離設定手段によって設定された目標駆動距離に応じて駆動距離の分解能を選択する分解能選択手段と、該分解能選択手段により選択された駆動距離の分解能に基づいて、前記目標駆動距離設定手段により設定された目標駆動距離に相当するエッジの計数値を算出する計数値算出手段と、前記信号計数手段により計数されたエッジの数と前記計数値算出手段により算出された計数値とを比較し、両者を一致させるべくフィードバック制御を行うフィードバック制御手段と、を備えていることを特徴とする。
【０００９】
このように構成されたモータ制御装置によれば、分解能選択手段が目標駆動距離に応じた分解能を選択して、この選択された分解能に基づいて、計数値算出手段が目標駆動距離に相当するエッジの計数値を算出する。ここで、分解能選択手段によって、目標駆動距離が長いほど低い分解能が選択されるように構成すれば、信号計数手段による計数値が目標駆動距離の長さによって大きく変動しなくなる。そのため、目標駆動距離の値によって、フィードバック制御に拘わる処理の負荷が重くなったり、レジスタや演算器の利用効率が低下してしまうことがない。
【００１０】
なお、上述したパルス発生手段は、駆動対象または駆動対象を駆動するモータが所定量動作する毎にパルス信号を繰り返し発生する手段であって、例えば、制御対象またはモータに取り付け、制御対象またはモータが所定量動作する毎にパルス状のエンコーダ信号を出力するロータリーエンコーダやリニアエンコーダなどを利用することができる。
【００１１】
また、信号計数手段は、パルス発生手段により発生されるパルス信号の立ち上がりおよび立ち下がりエッジのうちいずれか一方または両方のエッジを検知して、エッジの数を計数する手段である。また、信号計数手段は、パルス信号のエッジを検知する検知手段と、検知手段により検知されたエッジの数を計数する計数手段とが、別の手段として構成されていてもよい。
【００１２】
また、目標駆動距離設定手段は、駆動対象の目標駆動距離を設定（または入力）する手段である。ここで、目標駆動距離とは、駆動対象を動作させるべき目標となる駆動距離（動作量）である。また、分解能選択手段は、目標駆動距離設定手段により設定された目標駆動距離に応じて駆動距離の分解能を選択する手段である。ここで、駆動距離の分解能とは、制御対象の駆動距離を検出する最小の長さを示すものであって、分解能が高いほど短い駆動距離を検出できることになる。また、駆動距離の分解能は、信号計数手段によりエッジを計数する間隔に応じて変更されるため、「駆動距離の分解能」との記載を「エッジの分解能」と置き換えてもよい。本モータ制御装置では、駆動対象が所定量駆動される毎にパルス発生手段により繰り返しパルス信号が発生されるため、信号計数手段によりパルス信号のエッジを計数する間隔を変更すれば、駆動距離の分解能を変更することができる。具体的には、パルス信号の立ち上がりエッジのみをカウントし、エッジをカウントする間隔をパルス信号の周期とする場合よりも、立ち上がりおよび立ち下がりエッジをカウントし、エッジをカウントする間隔をパルス信号の１／２周期とする場合の方が、制御対象の駆動距離を検出する最小の長さが短くなる。
【００１３】
また、計数値算出手段は、分解能選択手段により選択された駆動距離の分解能に基づいて、目標駆動距離に相当するエッジの計数値を算出、つまり、目標駆動距離をエッジの数に換算する手段である。ここでは、目標駆動距離を分解能で示される長さで除算した値が、目標駆動距離に相当するエッジの計数値として算出される。
【００１４】
また、本モータ制御装置においては、フィードバック制御手段が、信号計数手段により計数されたエッジの数と計数値算出手段により算出された計数値とを比較するように構成されている。しかし、計数値算出手段のかわりに、分解能選択手段により選択された駆動距離の分解能と信号計数手段により計数されたエッジの数とを用いて駆動距離を算出する駆動距離算出手段を備え、フィードバック制御手段が、駆動距離算出手段により算出された駆動距離と目標駆動距離とを比較するように構成しても同様の効果を得ることができる。
【００１５】
また、請求項２に記載のモータ制御装置は、前記分解能選択手段は、目標駆動距離が大きい場合には低い分解能を選択し、当該目標駆動距離が小さい場合には高い分解能を選択することを特徴とする。
【００１６】
このように構成されたモータ制御装置によれば、目標駆動距離が大きい場合には低い分解能とし、目標駆動距離が小さい場合には高い分解能とすることができる。また、請求項３に記載のモータ制御装置は、前記パルス発生手段は、互いに所定の位相差を有する第１、第２のパルス信号を発生可能に構成され、前記信号計数手段は、前記第１のパルス信号の立ち上がりエッジを計数する第１信号計数手段と、前記第１のパルス信号の立ち下がりエッジを計数する第２信号計数手段と、前記第２のパルス信号の立ち上がりエッジを計数する第３信号計数手段と、前記第２のパルス信号の立ち下がりエッジを計数する第４信号計数手段とからなり、前記分解能選択手段は、エッジを計数する計数モードを、前記第１信号計数手段のみでエッジを計数して分解能が第１分解能となる第１計数モード、前記第１信号計数手段および前記第２信号計数手段でエッジを計数して分解能が前記第１分解能より高い第２分解能となる第２計数モード、前記第１から第４信号計数手段全てでエッジを計数して分解能が前記第２分解能より高い第３分解能となる第３計数モードのうちいずれかに切り換えることによって、駆動距離の分解能を選択することを特徴とする。
【００１７】
このように構成されたモータ制御装置によれば、分解能選択手段によって、計数モードを切り換えることにより駆動距離の分解能を選択することができる。また、請求項４に記載のモータ制御装置は、前記分解能選択手段は、モータによる前記駆動対象の駆動距離が前記目標駆動距離設定手段により設定された目標駆動距離に近接したとき、より高い分解能を選択することを特徴とする。
【００１８】
このように構成されたモータ制御装置によれば、駆動対象の駆動距離が目標駆動距離に近接したときに、近接する以前よりも高い分解能となる。そのため、例えば、目標駆動距離が長く設定されている場合であって、目標駆動距離（位置）付近までは速やかな移動を行うために、低い分解能が設定されている場合でも、制御対象の駆動距離が目標駆動距離に近接したときには分解能が高くなるため、制御対象の駆動距離を精度よく目標駆動距離に到達させることができる。
【００１９】
なお、高い分解能を選択する条件である目標駆動距離への近接とは、例えば、駆動対象の駆動距離が目標駆動距離に到達するまでの残りの駆動距離があらかじめ定められたしきい値以下になった状態や、残り駆動距離が目標駆動距離における所定の割合（例えば、目標駆動距離の１０％）に相当する値以下になった状態のことである。
【００２０】
ところで、上述したモータ制御装置は、例えば、被印刷媒体または印字ヘッドを制御対象として、これらをモータにより相対移動させる印刷機に適用することができる。このような印刷機において、印字ヘッドは、印字ノズルからインク滴を吐出した後、制御対象である被印刷媒体または印字ヘッドが目標駆動量だけ動作した後、再度、印字ノズルからインク滴を吐出する。つまり、被印刷媒体と印字ヘッドとをモータにより相対移動させる印刷機において、目標駆動距離とは、印字ヘッドがインク滴を吐出する吐出間隔を示すことになる。
【００２１】
このような吐出間隔が大きい場合、例えば、低解像度の画像を印刷するような場合には、高解像度の画像を印刷する場合と比べて、吐出間隔の精度が多少悪くても、印刷される最終的な画像の画質に大きな差が出ることは少ない。そのため、吐出間隔、つまり、目標駆動距離が大きくなるような場合には、制御対象の駆動距離を精度よく目標駆動距離に到達させなくてもよいことになる。
【００２２】
また、上記吐出間隔が印字ヘッドのノズル列よりも大きい場合には、吐出間隔の間にインク滴により着色されない領域が存在する（例えば、主走査方向あるいは副走査方向に空白の間隔をおいて複数の画像が印刷される場合など）そのため、吐出間隔つまり目標駆動距離が所定距離以上大きい場合には、制御対象（被印刷媒体あるいは印字ヘッド）を目標駆動距離に精度よく到達させる必要はないが、その代わり速やかに到達させることが必要である。
【００２３】
そこで、被印刷媒体と、インク滴を吐出して該被印刷媒体上に所望の画像を印刷する印字ヘッドとをモータにより相対的に移動させて印刷する印刷機におけるモータ制御装置において、被印刷媒体または印字ヘッドを前記駆動対象とし、該駆動対象の目標駆動距離が所定のしきい値よりも長い場合に、前記分解能選択手段は、最も低い分解能を選択するように構成するとよい。
【００２４】
このように構成すれば、制御対象の駆動距離を精度よく目標駆動距離に到達させる必要がない場合に、分解能選択手段によって最も低い分解能が選択されるため、このような場合においては、目標駆動距離に速やかに到達させることができるとともに、エッジを計数する際の処理に拘わる負荷を軽くすることができる。
【００２５】
なお、分解能選択手段が最も低い分解能を選択する条件となる目標駆動距離のしきい値は、例えば、制御対象の駆動距離を精度よく目標駆動距離に近づける必要がない値としてあらかじめ定められた値であればよい。具体的には、請求項５に記載のように、印字ヘッドの備える印字ノズル列の長さをしきい値とすることが考えられる。
【００２６】
請求項５に記載のモータ制御装置は、被印刷媒体と、インク滴を吐出して該被印刷媒体上に所望の画像を印刷するための印字ノズル列を備えた印字ヘッドとをモータにより相対的に移動させて印刷する印刷機におけるモータ制御装置であって、被印刷媒体または印字ヘッドを前記駆動対象とし、該駆動対象の目標駆動距離が前記印字ノズル列よりも長い場合に、前記分解能選択手段は、最も低い分解能を選択することを特徴とする。
【００２７】
このように構成されたモータ制御装置によれば、目標駆動距離が印字ノズル列よりも長い場合に、分解能選択手段によって最も低い分解能が選択されるため、このような場合においては、目標駆動距離に速やかに到達させることができるとともに、エッジを計数する際の処理に拘わる負荷を軽くすることができる。
【００２８】
なお、印字ノズル列は、副走査方向の印刷に関しては、被印刷媒体が搬送される方向に向けて配設されているノズル列を意味し、主走査方向の印刷に関しては印字ヘッドが左右方向に往復移動される方向に向けて配設されているノズル列を意味するものである。
【００２９】
また、請求項６に記載のモータ制御方法は、モータによって駆動される駆動対象が所定量駆動される毎に繰り返し発生されるパルス信号に基づいて、該パルス信号の立ち上がりエッジと立ち下がりエッジとの少なくとも一方を検知してエッジの数を計数して、前記駆動対象の目標駆動距離を設定して、ユーザにより高解像度のモードおよび低解像度のモードのいずれかに切り替えられた解像度モードに対応する解像度の中から、前記設定した目標駆動距離に応じて駆動距離の分解能を選択して、該選択した駆動距離の分解能に基づいて、前記設定した目標駆動距離に相当するエッジの計数値を算出して、前記計数したエッジの数と前記算出した計数値とを比較し、両者を一致させるべくフィードバック制御を行うことを特徴とする。
【００３０】
このようなモータ制御方法でモータを制御すれば、請求項１に記載のモータ制御装置と同様の作用・効果を得ることができる。また、このモータ制御方法を、目標駆動距離が大きい場合には低い分解能を選択し、当該目標駆動距離が小さい場合には高い分解能を選択するようにしてもよい。
【００３１】
このようなモータ制御方法でモータを制御すれば、請求項２に記載のモータ制御装置と同様の作用・効果を得ることができる。また、このモータ制御方法を、互いに所定の位相差を有する第１、第２のパルス信号のうち該第１のパルス信号の立ち上がりエッジのみを計数して分解能が第１分解能となる第１計数モード、前記第１のパルス信号の立ち上がりおよび立ち下がりエッジを計数して分解能が前記第１分解能より高い第２分解能となる第２計数モード、前記第１、第２のパルス信号の立ち上がりおよび立ち下がりエッジを計数して分解能が前記第２分解能より高い第３分解能となる第３計数モードのうちいずれかに、エッジを計数する計数モードを切り換えることによって、駆動距離の分解能を選択するようにしてもよい。
【００３２】
このようなモータ制御方法でモータを制御すれば、請求項３に記載のモータ制御装置と同様の作用・効果を得ることができる。また、このモータ制御方法を、モータによる前記駆動対象の駆動距離が前記設定した目標駆動距離に近接したとき、より高い分解能を選択するようにしてもよい。
【００３３】
このようなモータ制御方法でモータを制御すれば、請求項４に記載のモータ制御装置と同様の作用・効果を得ることができる。
【００３４】
【発明の実施の形態】
次に、本発明をプリンタに備えられている紙送り機構を駆動するＬＦ（Line Feed）モータの制御に採用した場合の実施形態を説明する。
［第１実施形態］
プリンタ１は、図１に示すように、用紙搬送ローラとしてのメインローラ１０、メインローラ１０の回転状態を検出するロータリーエンコーダ（以降、単にエンコーダとする）１２、排紙ローラ１４ｂ、ＬＦモータ２０などからなる紙送り機構（本発明における駆動対象）を備えている。
【００３５】
エンコーダ１２は、メインローラ１０と共に回転する回転板１２ａ、回転板１２ａが回転したことを検出するフォトインタラプタ１２ｂなどにより構成されている。このエンコーダ１２は、回転板１２ａが所定の角度回転する毎に、図２に示すように、フォトインタラプタ１２ｂから相互に1/4周期の位相差を有する２種類のエンコーダ信号ENC1、ENC2を出力するように構成されている。なお、エンコーダ信号ENC1は、タイミング（エッジ）を検出するためのものとして利用され、エンコーダ信号ENC2は、回転方向を判別するためのものとして利用されることは一般のエンコーダと同じであるが、ここでは、エンコーダ信号ENC2はタイミング（エッジ）を検出するためにも利用される。
【００３６】
また、回転板１２ａはメインローラ１０と共に回転することから、エンコーダ信号ENC1、ENC2は、メインローラ１０により用紙（被印刷媒体）が所定量（本発明においては1/1,500inch）搬送される毎に一周期のパルス信号が出力される。また、各エンコーダ信号ENC1、ENC2のエッジが立ち上がってから、メインローラ１０により用紙が1/3,000inch搬送されると、各エンコーダ信号ENC1、ENC2のエッジが立ち下がり、また、エンコーダ信号ENC1のエッジが立ち上がって（または立ち下がって）から、メインローラ１０により用紙が1/6,000inch搬送されると、エンコーダ信号ENC2のエッジが立ち上がる（または立ち下がる）ように構成されている。
【００３７】
ＬＦモータ２０は、メインローラ１０に直結し、メインローラ１０を駆動する駆動プーリ（図示せず）との間に掛け渡されたベルト１６ａを介して、メインローラ１０および回転板１２ａを回転させると共に、駆動プーリ（図示せず）の回転を伝達するためのベルト１６ｂ及びアイドルギア１４ａを介して、排紙ローラ１４ｂを回転させることができる（図１における矢印ｃ、ｄ参照）。メインローラ１０にはピンチローラ１０ａが圧接され、排紙ローラ１４ｂには排出拍車１４ｃが圧接されており、用紙は、それぞれの圧接点を通過し、メインローラ１０と排紙ローラ１４ｂの間（の経路中）で画像を記録された後、排紙ローラ１４ｂ、排出拍車１４ｃの圧接点から排出される（図１における矢印ｅ参照）。ＬＦモータ２０は、メインローラ１０を、順方向（図１における矢印ａ参照）に回転させることによって、メインローラ１０から排紙ローラ１４ｂに向けて用紙を外部に向けて搬送することができる。
【００３８】
また、プリンタ１には、図３に示すように、プリンタ１全体の動作を制御するＣＰＵ３０、ＣＰＵ３０による処理手順および処理結果を記憶するメモリ（ROM、RAM）３２、印刷時の解像度を切り換える解像度切換スイッチ３４、例えば、USB（Universal Serial Bus）インターフェース等を介してコンピュータシステムなどの端末装置と接続される入出力インターフェース３６、ＬＦモータ２０を駆動するモータ駆動回路４０、モータ駆動回路４０に入力するＰＷＭ信号を生成する信号生成回路１００などが内蔵されており、これらによって、本発明におけるモータ制御装置を構成している。
【００３９】
ＣＰＵ３０は、入出力インターフェース３６を介して送信されてきた印刷データを受信した際に、後述する用紙送り処理（図４）を実行することによって、用紙を搬送する。この印刷データには、用紙を搬送すべき複数（第１から第ｎ）の目標搬送量が指定されている。
【００４０】
信号生成回路１００は、いわゆるASIC（Application Specific Integrated Circuit）によって構成されており、ＬＦモータ２０の制御に用いる各種パラメータを格納するレジスタ群１１０、エンコーダ１２から入力したエンコーダ信号に基づき用紙の搬送状態をチェックする搬送状態チェック部１２０、ＬＦモータ２０を制御するための制御信号を生成する信号生成部１３０、信号生成部１３０により生成された制御信号をＰＷＭ信号に変換する信号変換部１４０、クロック信号を信号生成回路１００全体に供給可能なクロック生成部１５０などにより構成されている。なお、クロック生成部１５０は、エンコーダ１２から入力されるエンコーダ信号の最短周期よりも短い周期のクロック信号を生成するように構成されている。
【００４１】
これらのうち、レジスタ群１１０は、信号生成回路１００を起動するための起動設定レジスタ１１１、後述する制御信号を生成する手順（図５）を行うタイミングを示す演算時間ｔｏをセットするタイミング設定レジスタ１１２、用紙の目標搬送量として目標搬送量Ｒに相当するエンコーダ信号の数を示す目標値ｒをセットする目標設定レジスタ１１３、搬送状態をチェックする際にエンコーダ信号のどのエッジを利用するかを設定する有効エッジ設定レジスタ１１４、信号生成部１３０が制御信号を生成する際に利用する積分ゲインＦ１、状態フィードバックゲインＦ２をセットする第１ゲイン設定レジスタ１１５、第２ゲイン設定レジスタ１１６などからなる。なお、各レジスタのうちの起動設定レジスタ１１１は、信号生成回路１００を起動するための指令が書き込まれるレジスタであって、この起動設定レジスタ１１１への書き込みが行われることによって、信号生成回路１００全体が起動する。
【００４２】
また、搬送状態チェック部１２０は、エンコーダ１２から入力したエンコーダ信号のエッジを検出する検出部１２１、検出部１２１により検出されたエッジの数をカウントするカウンタ１２２、用紙の搬送量が目標搬送量に到達した際に停止割込信号をＣＰＵ３０へ出力する割込処理部１２３などからなる。この割込処理部１２３は、カウンタ１２２によるカウント値ｙが、目標設定レジスタ１１３にセットされている目標値ｒ以上となった際、もしくは、目標値ｒに一致してから一定時間経過した後に停止割込信号を出力する。
【００４３】
これらのうち、検出部１２１は、有効エッジ設定レジスタ１１４にセットされている設定値に基づいて、設定値が「01」であればエンコーダ信号ENC1の立ち上がりエッジのみを検出する。この場合、カウンタ１２２は、メインローラ１０により用紙が1/1,500inch搬送される毎にカウント値を加算することになる。また、検出部１２１は、設定値が「10」であればエンコーダ信号ENC1の立ち上がりおよび立ち下がりエッジを検出する。この場合、カウンタ１２２は、メインローラにより用紙が1/3,000inch搬送される毎にカウント値を加算することになる。また、検出部１２１は、設定値が「11」であればエンコーダ信号ENC1、ENC2の立ち上がりおよび立ち下がりエッジを検出する。この場合、カウンタ１２２は、メインローラ１０により用紙が1/6,000inch搬送される毎にカウント値を加算することになる（図８参照）。こうして、設定値「01」「10」「11」の順に、用紙の搬送量を細かく、つまり、高い分解能で検出できるようになる。
【００４４】
また、信号生成部１３０は、ＬＦモータ２０を制御するための制御信号を生成する演算処理部１３１、クロック生成部１５０により生成されたクロック信号に基づいて時間をカウントするタイマー１３３などからなる。なお、図３には図示していないが、被印刷媒体である用紙の先端が検出されてから用紙が排出されるまでの間、エンコーダ信号ENC1、ENC2の立ち上がりおよび立ち下がりエッジを検出すると共に検出したエッジをカウントする累積カウンタが、カウンタ１２２とは別個に設けられており、この累積カウンタは、設定値が「11」に設定された場合のカウンタ１２２と同様のタイミングで計数動作を行うようになっている。
【００４５】
［ＣＰＵ３０による用紙送り処理］
以下に、ＣＰＵ３０が行う用紙送り処理を図４に基づいて説明する。この用紙送り処理は、入出力インターフェース３６を介して印刷データを受信した際に開始される。
【００４６】
まず、ＣＰＵ３０は、初期化処理を行う（ｓ１１）。この処理においては、変数ｎに「１」がセット（１→ｎ）される。なお、以降に記載の「ｎ」は、変数ｎにセットされている値を示すものとする。次に、ＣＰＵ３０は、印刷データで指定された目標搬送量を抽出する（ｓ１２）。この処理においては、印刷データで指定されている複数の目標搬送量のうち、第ｎの目標搬送量Ｒが抽出される。
【００４７】
次に、ＣＰＵ３０は、印刷時の解像度モードをチェックする（ｓ１３）。この処理においては、印刷時の解像度モードを、高解像度の精細な印刷を行うファインモードとするか、低解像度の粗い印刷を行うドラフトモードとするかが、解像度切換スイッチ３４の切換状態によって判定される。
【００４８】
このｓ１３の処理で、印刷時の解像度モードがファインモードである場合（ｓ１３：ＹＥＳ）、ＣＰＵ３０は、用紙の目標搬送量に応じて３種類の値（01、10、11）のうちいずれかの値を有効エッジ設定レジスタ１１４にセットする（ｓ１４）。この処理においては、まず、用紙の目標搬送量がチェックされ、ｓ１２の処理で抽出された目標搬送量Ｒが１inchより大きければ（１＜Ｒ）、有効エッジ設定レジスタ１１４に「01」がセットされる。また、目標搬送量Ｒが1/16inchより大きく１inch未満であれば（1/16＜Ｒ≦１）、有効エッジ設定レジスタ１１４に「10」がセットされる。また、目標搬送量Ｒが1/16inch以下であれば（Ｒ≦1/16）、有効エッジ設定レジスタ１１４に「11」がセットされる。これによって、目標搬送量Ｒが小さいほど、有効エッジ設定レジスタ１１４にセットされる値に対応してカウンタ１２２がカウントすべきエッジが多くなり、用紙の搬送量を高い分解能で検出できるようになる。
【００４９】
また、ｓ１３の処理で、印刷時の解像度モードがドラフトモードである場合（ｓ１３：ＮＯ）、ＣＰＵ３０は、用紙の目標搬送量に応じて２種類の値（01、11）のうちいずれかの値を有効エッジ設定レジスタ１１４にセットする（ｓ１５）。この処理においては、まず、用紙の目標搬送量がチェックされ、目標搬送量Ｒが１inchより大きければ（１＜Ｒ）、有効エッジ設定レジスタ１１４に「01」がセットされる。また、目標搬送量Ｒが１inch以下であれば（Ｒ≦１）、有効エッジ設定レジスタ１１４に「11」がセットされる。これによって、目標搬送量Ｒが小さいほど、ｓ１４の処理と同様に、用紙の搬送量を高い分解能で検出できるようになる。
【００５０】
こうして、ｓ１４の処理またはｓ１５の処理を終えた後、ＣＰＵ３０は、レジスタ群１１０の各レジスタにパラメータをセットする（ｓ１６）。この処理においては、タイミング設定レジスタ１１２に演算時間ｔｏがセットされ、第１ゲイン設定レジスタ１１５に積分ゲインＦ１がセットされ、第２ゲイン設定レジスタ１１６に状態フィードバックゲインＦ２がセットされる。このとき、各ゲイン設定レジスタ１１５、１１６には、目標搬送量Ｒが大きいほど、絶対値の大きな積分ゲインＦ１、状態フィードバックゲインＦ２がセットされる。
【００５１】
次に、ＣＰＵ３０は、レジスタ群１１０の目標設定レジスタ１１３に目標値ｒをセットする（ｓ１７）。この処理においては、ｓ１４の処理またはｓ１５の処理で有効エッジ設定レジスタ１１４にセットされた設定値に基づいて算出された値が、目標値ｒとして目標設定レジスタ１１３にセットされる。
【００５２】
具体的には、設定値が「01」であれば、目標搬送量Ｒを1/1,500inchで除算した値が目標値ｒ（＝Ｒ／（1/1,500））としてセットされる。また、設定値が「10」であれば、目標搬送量Ｒを1/3,000inchで除算した値が目標値ｒ（＝Ｒ／（1/3,000））としてセットされる。また、設定値が「11」であれば、目標搬送量Ｒを1/6,000inchで除算した値が目標値ｒ（＝Ｒ／（1/6,000））としてセットされる。こうして、目標値ｒとして目標設定レジスタ１１３にセットされる値は、目標搬送量Ｒ（分子）が小さくなるほど目標搬送量Ｒを除算する値（分母）も小さくなるため、目標搬送量Ｒによって大きく変動しない。
【００５３】
次に、ＣＰＵ３０は、信号生成回路１００を起動させる（ｓ１８）。この処理においては、レジスタ群１１０を構成する起動設定レジスタ１１１への書き込みが行われ、これによって、信号生成回路１００全体が起動する。こうして、信号生成回路１００が起動した後、信号生成回路１００を構成する信号生成部１３０が、後述する制御信号を生成する手順（図５）に従って、制御信号を生成する。そして、この制御信号が信号変換部１４０を介してモータ駆動回路４０に入力され、ＬＦモータ２０が用紙の搬送を開始する。この後、制御信号が繰り返しモータ駆動回路４０に入力された後、用紙の搬送量が目標搬送量に到達すると、信号生成回路１００を構成する搬送状態チェック部１２０の割込処理部１２３から、停止割込信号が出力されてくる。
【００５４】
次に、ＣＰＵ３０は、搬送状態チェック部１２０の割込処理部１２３から停止割込信号を入力するまで待機し（ｓ１９：ＮＯ）、停止割込信号を入力したら（ｓ１９：ＹＥＳ）、変数ｎに「１」を加算（ｎ＋１→ｎ）する（ｓ２０）。そして、ＣＰＵ３０は、第ｎの目標搬送量が指定されていれば（ｓ２１：ＹＥＳ）、ｓ１１の処理に戻り、以降、ｓ１１からｓ２１の処理を印刷データで指定された目標搬送量全てに対して行った後（ｓ２１：ＮＯ）、本用紙送り処理を終了する。
【００５５】
［信号生成部１３０により制御信号を生成する手順］
以下に、信号生成回路１００の信号生成部１３０が制御信号を生成する手順を図５に基づいて説明する。この手順による制御信号の生成は、図４におけるｓ１８の処理で起動設定レジスタ１１１への書き込みが行われた後に開始される。なお、信号生成回路１００は、いわゆるASICからなり、ハードウェアとして動作するものであるが、ここでは理解を容易にするためにハードウェアとしての動作をフローチャートに置き換えて説明する。
【００５６】
まず、信号生成部１３０は、タイマー１３３をスタートする（ｓ３１）。次に、信号生成部１３０は、演算を行うタイミングとなるまで待機する（ｓ３２：ＮＯ）。ここでは、タイマー１３３による計測時間ｔがタイミング設定レジスタ１１２にセットされている演算時間ｔｏに到達するまで（ｔ＜ｔｏの間）待機する。
【００５７】
このｓ３２の手順において、演算を行うタイミングとなったら（ｓ３２：ＹＥＳ）、信号生成部１３０は、用紙の搬送量が目標搬送量に到達しているかどうかをチェックする（ｓ３３）。ここでは、カウンタ１２２によるカウント値ｙと、目標設定レジスタ１１３にセットされている目標値ｒとが比較され、カウント値ｙが目標値ｒより小さければ（ｙ＜ｒ）、用紙の搬送量が目標搬送量に到達していないと判断し、一方、カウント値ｙが目標値ｒ以上であれば（ｙ≧ｒ）、用紙の搬送量が目標搬送量に到達したと判断される。
【００５８】
このｓ３３の手順において、用紙の搬送量が目標搬送量に到達していなければ（ｓ３３：ＮＯ）、信号生成部１３０は、演算処理部１３１によって、モータ駆動回路４０に入力すべき制御信号を生成する（ｓ３４）。ここで、演算処理部１３１が制御信号を生成する詳細な手順は、後述の［演算処理部１３１による制御信号の生成］（図６）において説明する。
【００５９】
次に、信号生成部１３０は、制御信号を信号変換部１４０に出力する（ｓ３５）。制御信号を入力した信号変換部１４０では、制御信号をＰＷＭ信号に変換した後、モータ駆動回路４０に出力する。次に、信号生成部１３０は、タイマー１３３をストップおよびリセットした後（ｓ３６）、ｓ３１の手順に戻る。
【００６０】
そして、ｓ３１からｓ３６の手順が繰り返し行われた後、ｓ３３の手順において、用紙の搬送量が目標搬送量に到達したら（ｓ３３：ＹＥＳ）、本制御信号を生成する手順を終了する。
［演算処理部１３１による制御信号の生成］
以下に、演算処理部１３１により制御信号を生成する手順を図６に基づいて説明する。信号生成部１３０の演算処理部１３１は、カウンタ１２２によるカウント値ｙが目標設定レジスタ１１３にセットされている目標値ｒと一致するようにフィードバック制御を行うものであって、第１加算器add1、積分器int、第１ゲイン積算器g1、状態推定器obs、第２ゲイン積算器g2、第２加算器add2などにより構成されている。
【００６１】
この演算処理部１３１では、まず、第１加算器add1によって、目標設定レジスタ１１３にセットされている目標値ｒとカウンタ１２２によるカウント値ｙとの偏差（ｒ−ｙ）が演算される。次に、積分器intによって、第１加算器add1により演算された偏差をタイミング設定レジスタ１１２にセットされている演算時間ｔｏで離散積分した値、つまり、偏差の累積値（∫（ｒ−ｙ）ｄｔｏ）が演算される。
【００６２】
次に、第１ゲイン積算器g1によって、積分器intにより演算された累積値と、第１ゲイン設定レジスタ１１５にセットされている積分ゲインＦ１とを積算した値「ｕ１（＝−Ｆ１＊∫（ｒ−ｙ）ｄｔｏ）」を有する第１制御信号が生成される。
【００６３】
また、状態推定器obsによって、モータ駆動回路４０に入力する制御信号で示される制御入力ｕとカウンタ１２２によるカウント値ｙとに基づいて紙送り機構の内部状態を表す状態量ｘが推定される。次に、第２ゲイン積算器g2によって、状態推定器obsにより推定された状態量ｘと第２ゲイン設定レジスタ１１５にセットされている状態フィードバックゲインＦ２とを積算した値「ｕ２（＝−Ｆ２＊ｘ）」を有する第２制御信号が生成される。
【００６４】
そして、第２加算器add2によって、第１制御信号と第２制御信号とを加算した値「ｕ（＝ｕ１＋ｕ２）」を制御入力ｕとする制御信号が生成される。これによって、制御信号の制御入力ｕの値に応じた回転方向・角速度でＬＦモータ２０が回転し、この回転に伴って、メインローラ１０およびアイドルギア１４ａが回転する。ここで、ＬＦモータ２０は、制御信号の制御入力ｕが正の値である場合、制御入力ｕの絶対値に相当する速度だけメインローラ１０の順方向（図１における矢印ａ参照）への角速度を増加させる。一方、制御信号の制御入力ｕが負の値である場合、制御入力ｕの絶対値に相当する速度だけメインローラ１０の逆方向（図１における矢印ｂ参照）への角速度を増加、つまり、順方向への角速度を減少させる。
【００６５】
［第１実施形態の効果］
このように構成されたプリンタ１によれば、図４におけるｓ１４またはｓ１５の処理で、用紙の目標搬送量Ｒに応じた設定値（01、10、11）が有効エッジ設定レジスタ１１４にセットされる。この設定値は、カウンタ１２２がカウントするべきエッジを設定するものであって、目標搬送量Ｒが小さいほど、カウントされるエッジの数が多くなるため、同一の搬送量に対するカウント値が多くなる。これによって、目標搬送量Ｒが大きいほど用紙の搬送量が粗く、つまり、低い分解能で検出され、目標搬送量Ｒが小さいほど用紙の搬送量が細かく、つまり、高い分解能で検出されるようになり、カウンタ１２２によるカウント値が目標搬送量Ｒの長さによって大きく変動しなくなる。そのため、高い分解能で大きな目標搬送量Ｒに対応するためにカウンタ１２２や演算処理部１３１の各演算器の記憶領域を充分に大きく（ビット長を充分に長く）しておく必要がない。また、目標搬送量Ｒによって大きく変動しないカウント値に基づいて演算処理部１３１の各演算器による演算を行えばよいため、フィードバック制御に拘わる処理の負荷が目標搬送量Ｒの大きさによって重くなってしまうといったことがない。また、目標搬送量Ｒの大きさによってカウンタ１２２によるカウント値が大きく変動しないため、カウンタ１２２や演算処理部１３１の各演算器の利用効率が目標搬送量Ｒの大きさによって極端に低下するといったことがない。
【００６６】
また、ｓ１４またはｓ１５の処理で、用紙の目標搬送量Ｒに応じた設定値（01、10、11）を有効エッジ設定レジスタ１１４にセットすることによって、用紙の搬送量を検出する際の分解能を選択することができる。
［第２実施形態］
プリンタ２は、第１実施形態に記載のプリンタ１と同様の構成であって、［ＣＰＵ３０による用紙送り処理］（図４）の処理手順が一部異なっているものであるため、この相違点についてのみ詳述する。
【００６７】
［ＣＰＵ３０による用紙送り処理］
以下に、ＣＰＵ３０が行う用紙送り処理を図７に基づいて説明する。まず、ＣＰＵ３０は、初期化処理を行う（ｓ４１）。この処理においては、変数ｎに「１」がセット（１→ｎ）される。
【００６８】
次に、ＣＰＵ３０は、印刷データで指定された目標搬送量を抽出する（ｓ４２）。この処理においては、印刷データのうち第ｎの目標搬送量Ｒが抽出される。次に、ＣＰＵ３０は、有効エッジ設定レジスタ１１４に「01」をセットする（ｓ４３）。この処理では、カウンタ１２２によりカウントすべきエッジが最も少なくなり、用紙の搬送量が粗く、つまり、低い分解能で検出されるようになる。
【００６９】
次に、ＣＰＵ３０は、レジスタ群１１０の各レジスタにパラメータをセットする（ｓ４４）。この処理は、第１実施形態の図４におけるｓ１６の処理と同様の処理である。次に、ＣＰＵ３０は、レジスタ群１１０の目標設定レジスタ１１３に目標値ｒをセットする（ｓ４５）。この処理においては、ｓ４２の処理で抽出された目標搬送量Ｒから所定値ｄを減算し、この減算値を1/1,500inchで除算した値が目標値ｒ（＝（Ｒ−ｄ）／（1/1,500））としてセットされる。この所定値ｄとは、目標搬送量に到達するまでの残り搬送量を示す値として、あらかじめ定められたものであって、以降の処理で、用紙の搬送量を検出する分解能を切り換える際に利用されるものである。なお、所定値ｄは、あらかじめ定められたもの以外に、目標搬送量Ｒにおける所定の割合に相当する値（例えば、目標搬送量の１０％の値）としてもよい。
【００７０】
次に、現在の用紙位置を示す累積カウンタのカウント値（Y1）をメモリ３２に一時保存したのち、信号生成回路１００を起動させる（ｓ４６）。この処理における信号生成回路１００の起動は、第１実施形態の図４におけるｓ１８の処理と同様の処理である。
【００７１】
次に、ＣＰＵ３０は、搬送状態チェック部１２０の割込処理部１２３から停止割込信号を入力するまで待機し（ｓ４７：ＮＯ）、停止割込信号を入力したら（ｓ４７：ＹＥＳ）、当該停止位置における累積カウンタのカウント値（Y2）をメモリ３２に一時保存したのち、有効エッジ設定レジスタ１１４に「11」をセットする（ｓ４８）。この処理では、カウンタ１２２によりカウントすべきエッジが最も多くなり、用紙の搬送量が細かく、つまり、高い分解能で検出されるようになる。こうして、用紙が目標搬送量に到達するまでの残り搬送量が所定値ｄとなったら、用紙の搬送量を検出する際の分解能が高い分解能に切り換えられる。
【００７２】
次に、ＣＰＵ３０は、レジスタ群１１０の各レジスタにパラメータをセットし直す（ｓ４９）。この処理においては、第１ゲイン設定レジスタ１１５に積分ゲインＦ１がセットし直され、第２ゲイン設定レジスタ１１６に状態フィードバックゲインＦ２がセットし直される。このとき、各ゲイン設定レジスタ１１５、１１６には、所定値ｄの大きさに対応する絶対値の積分ゲインＦ１、状態フィードバックゲインＦ２がセットされる。
【００７３】
次に、ＣＰＵ３０は、レジスタ群１１０の目標設定レジスタ１１３に目標値ｒをセットし直す（ｓ５０）。この処理においては、ｓ４２の処理で抽出された目標搬送量Ｒを1/6,000inchで除算した値（Ｒ／（1/6,000））から、累積カウンタによるカウント値「Y2」と「Y1」との差を示す値（Y2-Y1）を減算した値が目標値ｒ（（Ｒ／（1/6,000））−（Y2-Y1））としてセットされる。なお、累積カウンタによるカウント値「Y1」は、搬送開始時におけるカウント値を示しており、カウント値「Y2」は、直前の低い分解能で搬送された搬送量、すなわち搬送終了時におけるカウント値を示している。
【００７４】
次に、信号生成回路１００を再度起動させる（ｓ５１）。この処理は、ｓ４６の処理と同様の処理である。次に、ＣＰＵ３０は、搬送状態チェック部１２０の割込処理部１２３から停止割込信号を入力するまで待機し（ｓ５２：ＮＯ）、停止割込信号を入力したら（ｓ５２：ＹＥＳ）、変数ｎに「１」を加算（ｎ＋１→ｎ）する（ｓ５３）。
【００７５】
そして、ＣＰＵ３０は、第ｎの目標搬送量が指定されていれば（ｓ５４：ＹＥＳ）、ｓ４１の処理に戻り、以降、ｓ４１からｓ５４の処理を印刷データで指定された目標搬送量全てに対して行った後（ｓ５４：ＮＯ）、本用紙送り処理を終了する。
【００７６】
［第２実施形態の効果］
このように構成されたプリンタ２によれば、図７におけるｓ４３の処理で有効エッジ設定レジスタ１１４に「01」がセットされた後、用紙の搬送量が目標搬送量に到達するまでの残りが所定値ｄとなるまで近接したときに、ｓ４８の処理で有効エッジ設定レジスタ１１４に「11」がセットし直される。設定値「11」は、設定値「01」のときよりも、カウンタ１２２によりカウントすべきエッジの数が多くなり、近接する以前よりも用紙の搬送量を高い分解能で検出することができるようになる。よって、用紙の搬送量が目標搬送量に近接するまでを、低い分解能で搬送を制御することにより目標位置（目標搬送量）付近まで速やかに用紙を搬送することができ、その後は、高い分解能で搬送を制御することにより、目標位置（目標搬送量）で精度よく用紙を停止させることができる。このため、分解能を切り換えない場合と比べて、用紙の搬送量を全体として精度よく、しかも速やかに目標搬送量に到達させることができる。
【００７７】
［本発明との対応関係］
以上説明したプリンタ１において、エンコーダ１２は、本発明におけるパルス発生手段であり、エンコーダ１２により出力されるエンコーダ信号がパルス発生手段により発生されるパルス信号（エンコーダ信号ENC1：第１のパルス信号、エンコーダ信号ENC2：第２のパルス信号）に相当する。また、解像度切換スイッチ３４は、本発明におけるモード切替手段に相当する。
【００７８】
また、搬送状態チェック部１２０の検出部１２１およびカウンタ１２２は、本発明における信号計数手段である。また、レジスタ群１１０の目標設定レジスタ１１３は、本発明における目標駆動距離設定手段であり、目標設定レジスタ１１３にセットされる目標値ｒで示される目標搬送量Ｒが目標駆動距離に相当する。
【００７９】
また、信号生成部１３０の演算処理部１３１は、本発明におけるフィードバック制御手段である。また、有効エッジ設定レジスタ１１４にセットされている設定値が「01」である場合にエンコーダ信号ENC1の立ち上がりエッジのみを検出する検出部１２１は、本発明における第１信号計数手段の一部である。また、設定値が「10」である場合にエンコーダ信号ENC1の立ち上がりおよび立ち下がりエッジを検出する検出部１２１は、本発明における第２信号計数手段の一部である。また、設定値が「11」である場合にエンコーダ信号ENC2の立ち上がりおよび立ち下がりエッジを検出する検出部１２１は、本発明における第３、第４信号計数手段の一部である。ここでは、有効エッジ設定レジスタ１１４にセットされる設定値によって、エッジをカウントする計数モードを切り換えていることになる。具体的には、設定値が「01」である場合は本発明における第１計数モード、設定値が「10」である場合は本発明における第２計数モード、設定値が「11」である場合は本発明における第３計数モードである。
【００８０】
また、図４におけるｓ１４およびｓ１５の処理は、本発明における分解能選択手段である。ここでは、目標搬送量に応じた値を有効エッジ設定レジスタ１１４にセットすることによって、用紙の搬送量を検出する際の分解能が選択されている。
【００８１】
また、図７におけるｓ４３およびｓ４８の処理は、本発明における分解能選択手段である。また、図４におけるｓ１７の処理、図７におけるｓ４５およびｓ５０の処理は、本発明における計数値算出手段である。
【００８２】
［変形例］
以上、本発明の実施形態について説明したが、本発明は上記の具体的な実施形態に限定されず、このほかにも様々な形態で実施することができる。例えば、本実施形態においては、本発明のモータ制御装置を、プリンタ１、２に備えられている紙送り機構を駆動するＬＦモータ２０の制御に採用した場合の実施形態を例示した。しかし、本発明のモータ制御装置を、制御対象としてプリンタ１、２の備える印字ヘッドを搭載したキャリッジを動作させるために利用することもできる。この場合、キャリッジの動作状態は、例えば、リニアエンコーダなどの検出装置によって検出するように構成すればよい。
【００８３】
また、本実施形態においては、紙送り機構の動作をロータリーエンコーダ１２によって検出するように構成されているものを例示した。しかし、紙送り機構の動作を検出するためには、ロータリーエンコーダ１２以外の検出装置を利用してもよい。
【００８４】
また、本実施形態においては、エンコーダ１２として、相互に1/4周期の位相差を有する２種類のエンコーダ信号ENC1、ENC2を出力するものを利用した構成を例示した。しかし、エンコーダとして、相互に位相差を有する３種類以上のエンコーダ信号を出力するものを利用した構成としてもよい。
【００８５】
例えば、図８に示したように、相互に1/4周期の位相差を有する２種類のエンコーダ信号ENC1、ENC2の他に、エンコーダ信号ENC1から1/8周期遅れているエンコーダ信号ENC1aと、エンコーダ信号ENC2から1/8周期遅れているエンコーダ信号ENC2aを出力するエンコーダを利用してもよい。この場合、まず、搬送状態チェック部１２０の検出部１２１を、有効エッジ設定レジスタ１１４にセットされている設定値に基づいて、次のようなエッジを検出するように構成する。設定値が「001」であればエンコーダ信号ENC1の立ち上がりエッジのみを検出し、設定値が「010」であればエンコーダ信号ENC1の立ち上がりおよび立ち下がりエッジを検出し、設定値が「011」であればエンコーダ信号ENC1、ENC2の立ち上がりおよび立ち下がりエッジを検出し、設定値が「111」であれば全てのエンコーダ信号の立ち上がりおよび立ち下がりエッジを検出するように構成する。また、図４におけるｓ１４の処理で、目標搬送量Ｒが１inchより大きければ（１＜Ｒ）、有効エッジ設定レジスタ１１４に「001」がセットされ、目標搬送量が1/16inchより大きく１inch未満であれば（1/16＜Ｒ≦１）、有効エッジ設定レジスタ１１４に「010」がセットされ、目標搬送量Ｒが1/32inchより大きく1/16inch未満であれば（1/32＜Ｒ≦1/16）、有効エッジ設定レジスタ１１４に「011」がセットされ、目標搬送量Ｒが1/32inch未満であれば（1/32＞Ｒ）、有効エッジ設定レジスタ１１４に「111」がセットされるように構成する。また、ｓ１７の処理で、有効エッジ設定レジスタ１１４にセットされた設定値が「001」であれば、目標搬送量Ｒを1/1,500inchで除算した値が目標値ｒ（＝Ｒ／（1/1,500））としてセットされ、設定値が「010」であれば、目標搬送量Ｒを1/3,000inchで除算した値が目標値ｒ（＝Ｒ／（1/3,000））としてセットされ、設定値が「011」であれば、目標搬送量Ｒを1/6,000inchで除算した値が目標値ｒ（＝Ｒ／（1/6,000））としてセットされ、設定値が「111」であれば、目標搬送量Ｒを1/12,000inchで除算した値が目標値ｒ（＝Ｒ／（1/12,000））としてセットされるように構成する。このように構成すれば、設定値が「111」である場合に、用紙の搬送量をより高い分解能で検出することができるようになる。
【００８６】
また、上記実施形態においては、検出部１２１が有効エッジ設定レジスタ１１４にセットされている設定値に基づいて、用紙の搬送状態をチェックする際に利用するエッジを選択するように構成されたものを例示した。しかし、検出部１２１が常にエンコーダ信号ENC1、ENC2の立ち上がりおよび立ち下がりエッジを検出するようにし、カウンタ１２２が有効エッジ設定レジスタ１１４にセットされている設定値に基づいてカウントすべきエッジを選択するように構成してもよい。
【００８７】
また、上記実施形態におけるプリンタ１、２において、印字ヘッドを備えるキャリッジ（図示されない）は、印字ノズルからインク滴を吐出し、用紙が目標搬送量だけ用紙が搬送された後、再度、印字ノズルからインク滴を吐出する。つまり、目標搬送量とは、印字ヘッドがインク滴を吐出する吐出間隔を示すことになる。このような吐出間隔が大きい場合、例えば、低解像度の画像を印刷するような場合には、高解像度の画像を印刷する場合と比べて、吐出間隔の精度が多少悪くても、印刷される最終的な画像の画質に大きな差が出ることは少ない。そのため、吐出間隔、つまり、目標搬送量が大きくなるような場合には、用紙の搬送量を精度よく目標搬送量に到達させなくてもよいことになる。また、上記吐出間隔が印字ヘッドのノズル列よりも大きい場合には、吐出間隔の間にインク滴により着色されない領域が存在する（例えば、主走査方向あるいは副走査方向に空白の間隔をおいて複数の画像が印刷される場合など）そのため、吐出間隔つまり目標駆動距離が所定距離以上大きい場合には、制御対象（用紙あるいは印字ヘッド）を目標駆動距離に精度よく到達させる必要はないが、その代わり速やかに到達させることが必要である。そこで、図４におけるｓ１４またはｓ１５の処理において、目標搬送量が所定のしきい値よりも長い場合に、有効エッジ設定レジスタ１１４に「01」がセットされ、用紙の搬送量が最も低い分解能で検出されるように構成してもよい。このように構成すれば、用紙の搬送量を精度よく目標搬送量に到達させる必要がない場合に、用紙の搬送量が最も低い分解能で検出されるようになるため、このような場合においては、目標駆動距離に速やかに到達させることができるとともに、エッジをカウントする際の処理に拘わる負荷を軽くすることができる。
【００８８】
また、用紙の搬送量が最も低い分解能で検出されるための条件であるしきい値としては、例えば、キャリッジの備える印字ヘッドの印字ノズル列の長さとすればよい。具体的には、ｓ１４またはｓ１５の処理において、目標搬送量が印刷ノズル列の長さよりも長い場合に、有効エッジ設定レジスタ１１４に「01」がセットされ、用紙の搬送量が最も低い分解能で検出されるようになるといった構成である。このように構成すれば、目標搬送量が印字ノズル列の長さよりも長い場合に、用紙の搬送量が最も低い分解能で検出されるようになるため、このような場合においては、エッジをカウントする際の処理に拘わる負荷を軽くすることができる。
【００８９】
また、本実施形態においては、図４におけるｓ１３の処理で、解像度切換スイッチ３４の切換状態によって、解像度モードがチェックされるように構成されたものを例示した。しかし、ｓ１３の処理で解像度モードをチェックする方法は解像度切換スイッチ３４を利用するものに限定されない。例えば、解像度モードをセットする解像度設定レジスタを、信号生成回路１００のレジスタ群１１０やメモリ３２内に設けておき、ｓ１３の処理で解像度設定レジスタによって解像度モードがチェックされるように構成してもよい。
【図面の簡単な説明】
【図１】プリンタの紙送り機構を示す側面図
【図２】エンコーダにより出力されるエンコーダ信号を示す図
【図３】プリンタの制御系統を示すブロック図
【図４】用紙送り処理の処理手順を示すフローチャート(第１実施形態)
【図５】制御信号を生成する手順を示すフローチャート
【図６】演算処理部の制御ブロックを示す図
【図７】用紙送り処理の処理手順を示すフローチャート(第２実施形態)
【図８】カウンタの動作を示す図
【図９】別の実施形態におけるエンコーダにより出力されるエンコーダ信号を示す図
【符号の説明】
１、２・・・プリンタ、１０・・・メインローラ、１０ａ・・・ピンチローラ、１２・・・ロータリーエンコーダ、１２ａ・・・回転板、１２ｂ・・・フォトインタラプタ、１４ａ・・・アイドルギア、１４ｂ・・・排紙ローラ、１４ｃ・・・排出拍車、１６ａ、１６ｂ・・・ベルト、２０・・・ＬＦモータ、３０・・・ＣＰＵ、３２・・・メモリ、３４・・・解像度切換スイッチ、３６・・・入出力インターフェース、４０・・・モータ駆動回路、１００・・・信号生成回路、１１０・・・レジスタ群、１１１・・・起動設定レジスタ、１１２・・・タイミング設定レジスタ、１１３・・・目標設定レジスタ、１１４・・・有効エッジ設定レジスタ、１１５・・・第１ゲイン設定レジスタ、１１６・・・第２ゲイン設定レジスタ、１２０・・・搬送状態チェック部、１２１・・・検出部、１２２・・・カウンタ、１２３・・・割込処理部、１３０・・・信号生成部、１３１・・・演算処理部、１３３・・・タイマー、１４０・・・信号変換部、１５０・・・クロック生成部。
【図１】
0003700666.tif 000002
【図２】
0003700666.tif 000003
【図３】
0003700666.tif 000004
【図４】
0003700666.tif 000005
【図５】
0003700666.tif 000006
【図６】
0003700666.tif 000007
【図７】
0003700666.tif 000008
【図８】
0003700666.tif 000009
【図９】
0003700666.tif 000010