(58)【調査した分野】(Int.Cl.,DB名)
前記制御部は、前記光学センサから受光レベルが出力された時点で、それまでに出力された受光レベルの最高値と比較することで、順次最高値を更新し、前記光学センサの移動が終了した時点の最高値を、前記用紙有無判断値を算出するための受光レベルとして選択すること
を特徴とする請求項4に記載の用紙検出装置。
前記制御部は、前記光学センサから出力された受光レベルが、それまでに出力された受光レベルの最高値よりも予め定められた値以上高くなっている場合には、最高値を更新しないこと
を特徴とする請求項5に記載の用紙検出装置。
前記制御部は、前記光学センサから出力された受光レベルが、前記光学センサから前回出力された受光レベルよりも予め定められた値以上大きくなっている連続回数が予め定められた回数以上である場合に、用紙が有ると判断すること
を特徴とする請求項7に記載の用紙検出装置。
前記制御部は、前記光学センサから出力された受光レベルが、前記光学センサから前回出力された受光レベルよりも予め定められた値以上小さくなっている場合に、用紙が無いと判断すること
を特徴とする請求項7又は8に記載の用紙検出装置。
前記制御部は、前記光学センサから出力された受光レベルが、前記光学センサから前回出力された受光レベルよりも予め定められた値以上小さくなっている連続回数が予め定められた回数以上である場合に、用紙が無いと判断すること
を特徴とする請求項9に記載の用紙検出装置。
【発明を実施するための形態】
【0014】
実施の形態1.
(構成の説明)
図1は、実施の形態1及び2に係る画像形成装置としてのプリンタ100における媒体の搬送機構を横方向から見た場合の概略図である。
プリンタ100は、フィードローラ101A、101Bと、用紙検出センサ102と、プリントヘッド103と、用紙幅検出センサ104と、プラテン105とを備える。
【0015】
フィードローラ101A、101Bは、媒体としての用紙PAを供給する供給部である。具体的には、フィードローラ101A、101Bは、プリンタ100にセットされた媒体としての用紙PAをプリンタ100の内部へ搬送するためのローラである。
用紙検出センサ102は、フィードローラ101A、101Bの噛み込み部の直近に配置され、セットされた用紙PAを検出するためのセンサである。用紙検出センサ102は、例えば、透過型の光学センサで実現することができる。なお、
図1には示されていないが、用紙検出センサ102の上方には、発光部が備えられており、この発光部からの光が用紙PAで遮られることで、プリンタ100に用紙PAがセットされたかどうかを判定することができる。また、
図2に示されているように、用紙検出センサ102は、用紙PAの搬送方向Dに対して交差する方向に、複数配置されている。
【0016】
プリントヘッド103は、図示しないインパクトピンを用いて、用紙PAに対して予め用意されたインクリボン(図示せず)に対して、ヘッドピンを突出させることで、インクリボンのインクを用紙PAに転写する。
用紙幅検出センサ104は、プリントヘッド103を固定する部品に実装されている。用紙幅検出センサ104は、給紙された用紙PAの左端位置、右端位置、及び用紙幅を求めるために使用される。用紙幅検出センサ104は、例えば、反射型の光学センサにより実現することができる。この場合、用紙幅検出センサ104は、照射した光の反射光を受光して、受光レベルを出力レベルとして出力する光学センサである。用紙幅検出センサ104は、プリントヘッド103に実装されることで、プリントヘッド103と共に水平方向に移動しながらその出力レベルを監視することで、プリンタ100にセットされた用紙PAの幅を検出することができる。
プラテン105は、プリントヘッド103からインパクトされたピンを図示しないインクリボンを介して、用紙PAに転写するための土台である。
なお、プリントヘッド103、図示しないインクリボン及びプラテン105により印刷部(画像形成部)が構成される。
【0017】
図3は、プリンタ100の制御系の構成を概略的に示すブロック図である。
プリンタ100は、制御部としてのCPU110と、記憶部としてのROM(Read Only Memory)120及びRAM(Random Access Memory)130と、LSI(Large Scale Integration)140と、プリントヘッド駆動回路150と、スペースモータ駆動回路151と、フィードモータ駆動回路152と、インタフェース基板160と、表示部170とを備える。
なお、
図3の括弧内の符号は、実施の形態2における構成を示す。
また、用紙検出装置は、
図3に示されている構成と、フィードローラ101A、101Bとを含んでいる。
【0018】
CPU110は、プリンタ100を制御する中央処理装置である。CPU110は、プリンタ100の動作を制御するプログラムコードが記憶されている不揮発性メモリであるROM120と、揮発性メモリであるRAM130と、集積回路であるLSI140と、に接続されている。CPU110は、ROM120に記憶されているプログラムコードを読み出して実行することで、プリンタ100での処理を制御するための様々な機能を果たす。特に、CPU110は、用紙有無判断値生成部111、用紙給紙実行部112及び用紙幅検出部113として機能する。
【0019】
用紙有無判断値生成部111は、用紙有無判断値(以下、スライスレベルともいう)を生成する。
用紙給紙実行部112は、プリンタ100にセットされた用紙PAを搬送する処理を制御する。
用紙幅検出部113は、プリンタ100にセットされた用紙PAの左端、右端及び用紙幅の検出を行う。
【0020】
ROM120は、プリンタ100を動作させるためのプログラムを格納する。プリンタ100を動作するためのプログラムとは、上位装置から送信されたデータを受信し、プリンタ100に給紙された印刷用紙上に印刷するためのプロセスを記述したデータである。このプリンタ100を動作するためのプログラムには、プリンタ100が給紙した用紙の幅を検出する際に使用する用紙有無判断値を生成する機能と、プリンタ100にセットされた用紙をプリンタ内部に搬送し印刷準備を整える機能と、プリンタ100に給紙された用紙の左右端位置を検出する機能とが含まれる。
また、ROM120には、第1の用紙有無判断値121と、第2の用紙有無判断値122とを記憶する。
第1の用紙有無判断値121は、用紙を検出するための閾値の初期値である。例えば、第1の用紙有無判断値121は、プリンタ100の工場出荷時(工場出荷前)に算出されて記憶される。
第2の用紙有無判断値122は、用紙を検出するための閾値であり、第1の用紙有無判断値121の後に記憶される。例えば、第2の用紙有無判断値122は、プリンタ100の修理時等、工場出荷時以外に算出されて記憶される。
なお、用紙幅検出部113は、第2の用紙有無判断値122が記憶されていない場合には、第1の用紙有無判断値121を用いて検出を行い、第2の用紙有無判断値122が記憶されている場合には、第2の用紙有無判断値122を用いて検出を行う。以下では、第1の用紙有無判断値121及び第2の用紙有無判断値122を特に区別する必要がない場合には、用紙有無判断値と記載する。
【0021】
RAM130は、プリンタ100での制御に必要な制御情報、及び、情報処理装置としての上位装置190から送信され、インタフェース基板160で受信したデータを記憶する。RAM130は、CPU110及びLSI140に接続されている。
LSI140は、プリンタ100を制御するためのI/O(Input/Output)、及び、プリンタ100の状態を検出するためのセンサ状態を制御する入出力I/O等を有する。LSI140には、プリントヘッド駆動回路150、スペースモータ駆動回路151、そしてフィードモータ駆動回路152が接続されている。
【0022】
プリントヘッド駆動回路150は、CPU110からの指示に応じて、プリントヘッド103を駆動するための回路である。
スペースモータ駆動回路151は、CPU110からの指示に応じて、スペースモータ106を駆動するための回路である。
フィードモータ駆動回路152は、CPU110からの指示に応じて、フィードモータ107を駆動するための回路である。
スペースモータ106は、プリントヘッド103を、印刷するために左右に移動させるためのモータである。スペースモータ106の回転は、図示しないプーリ及びタイミングベルトを介して、往復動作に変換される。言い換えると、スペースモータ106、図示しないプーリ及び図示しないタイミングベルトにより、プリントヘッド103を移動させる移動部が構成される。
フィードモータ107は、用紙PAを、搬送方向D、又は搬送方向Dと反対方向に移動させるためのモータである。
インタフェース基板160は、上位装置190から、インタフェースケーブルを介して送信されたデータを受信するインタフェース部である。
表示部170は、画面を表示する。ここで、表示部170は、メッセージを表示することでオペレータに予め定められた通知を行う通知部として機能する。
なお、上位装置190は、図示しないオペレーティングシステム及びアプリケーションのプログラムがインストールされており、印刷実行時(画像形成実行時)においては、印刷(画像形成)を行うデータをプリンタ100へ出力する。
【0023】
(動作の説明)
図4及び
図5は、実施の形態1に係るプリンタ100での用紙給紙動作を示すフローチャートである。
この用紙給紙動作には、プリンタ100にセットされた用紙PAを印刷位置(画像形成位置)までフィードする制御とともに、プリンタ100が給紙している用紙PAの幅を計測する制御も含まれる。なお、ここで説明する制御は、葉書又はA4サイズの用紙PAである単票用紙を例にして説明する。
【0024】
まず初めに、用紙給紙実行部112は、プリンタ100に用紙PAがセットされたか否かを確認する(S10)。用紙給紙実行部112は、プリンタ100に実装されている用紙検出センサ102の出力状態を定期的に監視することで、用紙PAが給紙されたか否かを確認する。用紙PAがセットされた場合(S10でYes)には、処理はステップS11に進む。用紙PAがセットされていない場合(S10でNo)には、用紙給紙実行部112は、用紙PAがセットされるまで待機する。
ステップS11では、用紙給紙実行部112は、現在の用紙セット位置から用紙幅検出位置までのフィード量をセットする。例えば、用紙PAは、上端がフィードローラ101A、101Bの噛み込み部に接するようにセットされる。このため、用紙PAの予め定められた位置が、この噛み込み部から用紙幅検出センサ104の配置されている位置に達するまでのフィード量がセットされる。
【0025】
次に、用紙給紙実行部112は、プリンタ100に複数実装されている用紙検出センサ102の状態をチェックし、複数の用紙検出センサ102の内、用紙有りを検出している最左端のセンサ位置を特定する(S12)。同様に、複数の用紙検出センサ102の内、用紙有りを検出している最右端のセンサ位置を特定する。このように、用紙検出センサ102が検出した用紙PAの左端及び右端の位置を確認する事で、おおよその用紙設定位置を特定することができる。
プリンタ100にセットされた用紙PAを取り込むため、用紙給紙実行部112は、LSI140を介してフィードモータ駆動回路152に指示して、フィード動作を行わせる(S13)。
そして、用紙給紙実行部112は、用紙PAが用紙幅検出位置までフィードが行われたか否かを監視する(S14)。用紙PAのフィード動作が完了した場合(S14でYes)には、処理はステップS15に進む。
【0026】
ステップS15では、用紙幅検出部113は、用紙幅の検出を実施するため、ステップS12で特定された用紙左端のセンサ位置の左隣の用紙検出センサ102の位置を目標として、プリントヘッド103を移動させる。
プリントヘッド103の移動が完了したら、用紙幅検出部113は、用紙左端位置の検出処理を開始する(S16)。用紙左端位置の検出処理については、
図6を用いて詳細に説明する。
【0027】
そして、用紙幅検出部113は、用紙左端位置が検出されたか否かを確認する(S17)。例えば、用紙幅検出部113は、後述する用紙左端位置検出完了フラグがセットされている場合に、用紙左端位置が検出されたと判断する。用紙左端位置が検出されていない場合(ステップS17でNo)には、処理はステップS18に進み、用紙左端位置が検出された場合(ステップS17でYes)には、処理はステップS19に進む。
ステップS18では、用紙幅検出部113は、プリントヘッド103が、ステップS12で特定された用紙右端のセンサ位置の右隣の用紙検出センサ102の位置にまで移動したか否かを判断する。プリントヘッド103がそのような位置にまで移動していない場合(ステップS18でNo)には、処理はステップS16に戻り、用紙幅検出部113は、用紙左端位置の検出処理を続行する。プリントヘッド103がそのような位置にまで移動した場合(ステップS18でYes)には、処理はステップS22に進む。
【0028】
ステップS19では、用紙幅検出部113は、用紙右端位置の検出処理を開始する。用紙右端位置の検出処理については、
図7を用いて詳細に説明する。
そして、用紙幅検出部113は、用紙右端位置が検出されたか否かを確認する(S20)。例えば、用紙幅検出部113は、後述する用紙右端位置検出完了フラグがセットされている場合に、用紙右端位置が検出されたと判断する。用紙右端位置が検出されていない場合(ステップS20でNo)には、処理はステップS21に進み、用紙右端位置が検出された場合(ステップS20でYes)には、処理はステップS23に進む。
ステップS21では、用紙幅検出部113は、プリントヘッド103が、ステップS12で特定された用紙右端のセンサ位置の右隣の用紙検出センサ102の位置にまで移動したか否かを判断する。プリントヘッド103がそのような位置にまで移動していない場合(S21でNo)には、処理はステップS19に戻り、用紙幅検出部113は、用紙右端位置の検出処理を続行する。プリントヘッド103がそのような位置にまで移動した場合(S21でYes)には、処理はステップS22に進む。
ステップS22では、用紙幅検出部113は、用紙幅検出エラーとし、用紙PAの給紙を終了して、オペレータへの通知等予め定められたエラー処理を行う。
ステップS23では、用紙幅検出部113は、用紙幅走査のために移動したプリントヘッド103の動作を終了させる。そして、処理は、
図5のステップS24に進む。
【0029】
図5のステップS24では、用紙給紙実行部112は、ステップS16で検出された用紙左端位置と、ステップS19で検出された用紙右端位置とから、印刷開始位置と終了位置を決定する。例えば、用紙開始位置は、用紙左端位置から余白を設けた位置とし、用紙終了位置は、用紙右端位置から余白を設けた位置にする。
また、用紙給紙実行部112は、これらの用紙左端位置及び用紙右端位置から用紙中央位置を求める(S25)。
【0030】
次に、用紙給紙実行部112は、スペースモータ駆動回路151に指示することで、ステップS25で求められた用紙中央位置を目標位置としてプリントヘッド103を移動させる(S26)。
次に、用紙給紙実行部112は、現在の用紙幅検出位置から、搬送方向における印刷開始位置(画像形成開始位置)までの距離を求める(S27)。なお、搬送方向における印刷開始位置は、予め定められているものとする。
そして、用紙給紙実行部112は、フィードモータ駆動回路152に指示することで、搬送方向における印刷開始位置までフィード動作を実行する(S27)。
そして、用紙給紙実行部112は、搬送方向における印刷開始位置までフィードが完了したか確認する(S29)。フィードが完了した場合(S29でYes)には、用紙給紙動作を終了する。
【0031】
図6は、
図4のステップS16における用紙左端位置の検出処理を示すフローチャートである。
この用紙左端位置の検出処理は、上述した用紙給紙動作の中で実施され、給紙された用紙の位置を確認するために実施される。
用紙左端位置の検出は、一定の間隔で用紙の有無を検出する制御であるため、用紙幅検出部113は、用紙幅検出のタイミングであるか否かを確認する(S30)。用紙幅検出のタイミングである場合(S30でYes)には、処理はステップS31に進み、用紙幅検出のタイミングでない場合(S30でNo)には、用紙幅検出部113は、用紙幅検出のタイミングとなるまで待機する。
【0032】
ステップS31では、用紙幅検出部113は、用紙幅検出センサ104の出力レベル(PL)を読み出す。
そして、用紙幅検出部113は、ステップS31で読み出された出力レベルと、用紙有無判断値とを比較する(S32)。
用紙幅検出部113は、ステップS32での比較結果で、用紙PAの有無を検出する(S33)。例えば、ステップS31で読み出された出力レベルが用紙有無判断値よりも大きい場合には、用紙幅検出部113は、用紙有り状態を検出したと判断する。
そして、用紙有り状態が検出されなかった場合(ステップS33でNo)には、処理はステップS34に進み、用紙有り状態が検出された場合(ステップS33でYes)には、処理はステップS35に進む。
【0033】
ステップS34では、用紙幅検出部113は、用紙の左端の位置を検出したことを示す用紙左端位置検出完了フラグをクリアし、RAM130に用紙左端位置が記憶されている場合には、記憶されている用紙左端位置をクリアする。さらに、RAM130に記憶されている用紙有り状態検出カウンタを初期値(例えば、0)に戻す。ここで、用紙有り状態検出カウンタは、用紙有り状態が連続して検出された回数を示すカウンタである。
【0034】
ステップS35では、用紙幅検出部113は、ステップS33で検出された用紙有り状態が、用紙左端位置の走査を開始してから、最初に検出されたものであるか否かを判断する。例えば、用紙幅検出部113は、RAM130に記憶されている用紙有り状態検出カウンタが初期値である場合には、用紙有り状態が最初に検出されたものであると判断することができる。最初のものである場合(ステップS35でYes)には、処理はステップS36に進み、最初のものではない場合(ステップS35でNo)には、処理はステップS37に進む。
【0035】
ステップS36では、用紙幅検出部113は、現在のプリントヘッド103の位置を用紙の左端位置としてRAM130に記憶させる。そして、処理はステップS37に進む。
ステップS37では、用紙幅検出部113は、RAM130に記憶されている用紙有り状態検出カウンタをチェックすることで、用紙有り状態がN回(Nは、2以上の整数)連続して検出されたか否かを判断する。用紙有り状態がN回連続して検出された場合(ステップS37でYes)には、処理はステップS38に進み、用紙有り状態の連続検出回数がN回に満たない場合(ステップS38でNo)には、処理はステップS39に進む。
【0036】
ステップS38では、用紙幅検出部113は、RAM130に用紙左端位置検出完了フラグをセットして、処理を終了する。ここで、本実施の形態では、電気的ノイズ、及び、紙粉等のゴミの影響を十分に考慮して、1度のみの用紙有り検出で用紙左端位置を確定せず、複数回連続で用紙有り状態が検出された場合のみ、用紙左端位置を確定している。
一方、ステップS39では、用紙幅検出部113は、RAM130に記憶されている用紙有り状態検出カウンタに1を加算して、処理を終了する。
【0037】
図7は、
図4のステップS19における用紙右端位置の検出処理を示すフローチャートである。
この用紙右端位置の検出処理は、上述した用紙給紙動作の中で実施され、給紙された用紙の位置を確認するために実施される。
用紙右端位置の検出は、一定の間隔で用紙の有無を検出する制御であるため、用紙幅検出部113は、用紙幅検出のタイミングであるか否かを確認する(S40)。用紙幅検出のタイミングである場合(S40でYes)には、処理はステップS41に進み、用紙幅検出のタイミングでない場合(S40でNo)には、用紙幅検出部113は、用紙幅検出のタイミングとなるまで待機する。
【0038】
ステップS41では、用紙幅検出部113は、用紙幅検出センサ104の出力レベル(PL)を読み出す。
そして、用紙幅検出部113は、ステップS41で読み出された出力レベルと、用紙有無判断値とを比較する(S42)。
用紙幅検出部113は、ステップS42での比較結果で、用紙PAの有無を検出する(S43)。例えば、ステップS41で読み出された出力レベルが用紙有無判断値以下である場合には、用紙幅検出部113は、用紙無し状態を検出したと判断する。
そして、用紙有り状態が検出された場合(ステップS43でNo)には、処理はステップS44に進み、用紙無し状態が検出された場合(ステップS43でYes)には、処理はステップS45に進む。
【0039】
ステップS44では、用紙幅検出部113は、用紙の右端の位置を検出したことを示す用紙右端位置検出完了フラグをクリアし、RAM130に用紙右端位置が記憶されている場合には、記憶されている用紙右端位置をクリアする。さらに、RAM130に記憶されている用紙無し状態検出カウンタを初期値(例えば、0)に戻す。ここで、用紙無し状態検出カウンタは、用紙無し状態が連続して検出された回数を示すカウンタである。
【0040】
ステップS45では、用紙幅検出部113は、ステップS43で検出された用紙無し状態が、用紙右端位置の走査を開始してから、最初に検出されたものであるか否かを判断する。例えば、用紙幅検出部113は、RAM130に記憶されている用紙無し状態検出カウンタが初期値である場合には、用紙無し状態が最初に検出されたものであると判断することができる。最初のものである場合(ステップS45でYes)には、処理はステップS46に進み、最初のものではない場合(ステップS45でNo)には、処理はステップS47に進む。
【0041】
ステップS46では、用紙幅検出部113は、現在のプリントヘッド103の位置を用紙の右端位置としてRAM130に記憶させる。そして、処理はステップS47に進む。
ステップS47では、用紙幅検出部113は、RAM130に記憶されている用紙無し状態検出カウンタをチェックすることで、用紙無し状態がM回(Mは、2以上の整数)連続して検出されたか否かを判断する。用紙無し状態がM回連続して検出された場合(ステップS47でYes)には、処理はステップS48に進み、用紙無し状態の連続検出回数がM回に満たない場合(ステップS48でNo)には、処理はステップS49に進む。
【0042】
ステップS48では、用紙幅検出部113は、RAM130に用紙右端位置検出完了フラグをセットして、処理を終了する。ここで、本実施の形態では、電気的ノイズ、及び、紙粉等のゴミの影響を十分に考慮して、1度のみの用紙無し検出で用紙右端位置を確定せず、複数回連続で用紙無し状態が検出された場合のみ、用紙右端位置を確定している。
一方、ステップS49では、用紙幅検出部113は、RAM130に記憶されている用紙無し状態検出カウンタに1を加算して、処理を終了する。
【0043】
図8及び
図9は、用紙幅の検出処理で使用される用紙有無判断値の生成処理を示すフローチャートである。
用紙有無判断値の生成処理は、プリンタ100が製造された時及びプリンタ100の修理を実施した時に実行される。例えば、プリンタ100の図示しない入力部に、用紙有無判断値の生成処理を開始する指示の入力があった場合に、
図8及び
図9の処理はスタートされる。
【0044】
まず、用紙有無判断値生成部111は、今回の処理が用紙有無判断値の初期値の生成処理であるか否かを判断する(S50)。例えば、用紙有無判断値生成部111は、ROM120に第1の用紙有無判断値121が記憶されているか否かで、この判断を行うことができる。用紙有無判断値の初期値の生成処理である場合(ステップS50でYes)には、処理はステップS51に進み、用紙有無判断値の初期値の生成処理ではない場合(ステップS50でNo)には、処理はステップS52に進む。
ステップS51では、用紙有無判断値生成部111は、用紙有無判断値の初期値の生成であることを示す情報をRAM130にセットする。このような情報がセットされると、用紙有無判断値の初期値設定モードとなる。
【0045】
ステップS52では、用紙有無判断値生成部111は、プリンタ100に実装されている全ての用紙検出センサ102の出力レベル(PE_Lvl)を読み出す。
そして、用紙有無判断値生成部111は、用紙検出センサ102の出力レベル(PE_Lvl)に基づいて、プリンタ100に用紙PAがセットされているか否かを判断する。用紙がセットされていない場合(S53でNo)には、処理はステップS54に進む。
【0046】
ステップS54では、用紙有無判断値生成部111は、給紙無し状態、言い換えると、用紙PAが給紙されない状態(用紙PAがセットされていない状態)において、用紙幅検出センサ104のセンサ出力状態を計測する範囲の設定を実施する。例えば、用紙有無判断値生成部111は、プリンタ100が給紙できる最大の用紙幅に対して、左右に検出マージンを追加することにより、計測範囲を設定する。
そして、用紙有無判断値生成部111は、プリントヘッド103のキャリッジ部に実装されている用紙幅検出センサ104の最大スキャン値(PW_Max)を初期化する。この用紙幅検出センサ104の最大スキャン値(PW_Max)は、これから実行する給紙無し状態での用紙幅検出センサ104の出力レベルの最大値を示すものである。ここでは、最大スキャン値(PW_Max)の初期値として、「0」がセットされる。
【0047】
用紙有無判断値生成部111は、用紙幅検出センサ104での走査を開始するため、スペースモータ駆動回路151に指示することで、プリントヘッド103を、S54で設定した計測範囲の左端の位置へ移動させる(S56)。
次に、用紙有無判断値生成部111は、スペースモータ駆動回路151に指示することで、プリントヘッド103を左方向から右方向に向かって移動させる(S57)。
用紙有無判断値生成部111は、一定の間隔で給紙無し状態での用紙幅検出センサ104の出力レベルをリードするため、用紙幅検出センサ104の検出タイミングとなったか否かを確認する(S58)。このような検出タイミングとなった場合(ステップS58でYes)には、処理は
図9のステップS59に進む。
【0048】
図9のステップS59では、用紙有無判断値生成部111は、用紙幅検出センサ104の出力レベル値(PW_Lvl)をリードする。
用紙有無判断値生成部111は、用紙幅検出センサ104の最大スキャン値(PW_Max)と現在の出力レベル(PW_Lvl)との大小を比較する(S60)。
そして、今回リードしたセンサの出力レベル(PW_Lvl)が最大スキャン値(PW_Max)よりも大きい場合(ステップS60でYes)には、処理はステップS62に進み、今回リードしたセンサの出力レベル(PW_Lvl)が最大スキャン値(PW_Max)以下である場合(ステップS60でNo)には、処理はステップS64に進む。
【0049】
ステップS62では、用紙有無判断値生成部111は、今回リードしたセンサの出力レベル(PW_Lvl)が最大スキャン値(PW_Max)から予め定められたXXボルト以上電圧が上昇したか否かを判断する。用紙幅検出センサ104の走査位置に紙片、紙粉等のゴミが蓄積していると、正しく用紙無しの状態を検出できなくなる。このため、用紙有無判断値生成部111は、ステップS62で、用紙幅検出センサ104のセンサ出力レベルを監視して、ゴミの存在を確認している。そして、用紙有無判断値生成部111は、現在のセンサ出力レベル(PW_Lvl)が、最大スキャン値(PW_Max)からXXボルト以上電圧が上昇した場合(ステップS64でYes)には、ステップS64に進み、ゴミがあると判断し、ステップS63における最大スキャン値(PW_Max)の更新を実施しない。一方、現在のセンサ出力レベル(PW_Lvl)が、最大スキャン値(PW_Max)からXXボルト以上電圧が上昇していない場合(ステップS64でNo)には、処理はステップS63に進む。
【0050】
ステップS63では、用紙有無判断値生成部111は、現在の出力レベル(PW_Lvl)で最大スキャン値(PW_Max)を更新する。そして、処理はステップS64に進む。
ステップS64では、用紙有無判断値生成部111は、
図8のステップS54で設定された判定範囲の走査が完了したか否かを確認する。走査が完了した場合(ステップS64でYes)には、処理はステップS65に進み、走査が完了していない場合(ステップS64でNo)には、処理は
図8のステップS57に戻る。
ステップS65では、用紙有無判断値生成部111は、以上でスキャンした新しい用紙無し状態の最大スキャン値(PW_Max)から、新しい用紙有無判断値を生成する。例えば、用紙有無判断値生成部111は、最大スキャン値(PW_Max)に予め定められた値n(nは、1以上の数)を乗算することで、用紙有無判断値を生成する。このため、用紙有無判断値は、最大スキャン値(PW_Max)が大きくなればなるほど、大きな値となる。
【0051】
次に、用紙有無判断値生成部111は、今回の処理が用紙有無判断値の初期値の生成処理であるか否かを確認する(S66)。例えば、初期値の生成であることを示す情報がRAM130にセットされ、初期値設定モードとなっている場合には、用紙有無判断値生成部111は、今回の処理が工場出荷時の用紙有無判断値の生成処理であると判断する。今回の処理が用紙有無判断値の初期値の生成処理である場合(ステップS66でYes)には、処理はステップS67に進み、今回の処理が用紙有無判断値の初期値の生成処理ではない場合(ステップS66でNo)には、処理はステップS68に進む。
ステップS67では、用紙有無判断値生成部111は、ステップS65で生成された用紙有無判断値を第1の用紙有無判断値121としてROM120に記憶させる。そして、処理はステップS71に進む。
【0052】
ステップS68では、用紙有無判断値生成部111は、ステップS65で生成された用紙有無判断値と、ROM120に記憶されている第1の用紙有無判断値121とを比較する。
そして、用紙有無判断値生成部111は、ステップS65で算出された用紙有無判断値が、ROM120に記憶されている第1の用紙有無判断値121からYYボルト以上電圧が乖離しているか否かを判断する(S69)。YYボルト以上電圧が乖離している場合(ステップS69でYes)には、処理はステップS70に進み、電圧の乖離がYYボルト未満である場合(ステップS69でNo)には、処理はステップS71に進む。
【0053】
ステップS70では、用紙有無判断値生成部111は、用紙幅検出センサ104、走査線上にあるプラテン105等の装置に汚れがあると判断して、表示部170に清掃を促すメッセージを表示して、清掃の必要があることを通知する。
一方、ステップS71では、用紙有無判断値生成部111は、ステップS65で生成された用紙有無判断値を第2の用紙有無判断値122としてROM120に記憶させる。
【0054】
次に、実施の形態1において生成される用紙有無判断値について説明する。
図10(A)〜(C)は、用紙幅検出センサ104の出力レベル(出力電圧)の変化を説明するためのグラフである。
図10(A)は、工場出荷時の用紙幅検出センサ104の出力レベルの変化を示すグラフである。
図10(A)に示されているように、用紙幅検出センサ104及びその走査線上の装置等に汚れ又はゴミが付着していないような状況においては、用紙幅検出センサ104の出力レベルは、0ボルトに近いレベルであることが確認できる。
本実施の形態における用紙幅検出センサ104では、センサから発光した光がプラテン105の斜行部に当たり、センサの受光部で受光する受光量が非常に低いことが確認できる。
図10(B)は、用紙幅検出センサ104が汚れている、又は、プラテン105に埃又は紙粉等のゴミが蓄積されている場合の用紙幅検出センサ104の出力レベルの変化を示すグラフである。ゴミの影響により、センサから発光された光の受光量が増加し、出力レベルが上昇している。
図10(C)は、用紙幅検出センサ104の走査線上に紙片等のゴミがあった場合の用紙幅検出センサ104の出力レベルの変化を示すグラフである。紙片等のゴミによりセンサの出力レベルが局所的に急激に上昇していることが確認できる。
【0055】
実施の形態1においては、例えば、
図9のステップS62及びS63において、用紙幅検出センサ104の出力レベルが急激に上昇している場合には、そのような値に基づいて用紙有無判断値を作成しないため、走査線上にゴミがあった場合でも、そのようなゴミの影響を回避することができる。
また、例えば、
図9のステップS69及びS70において、プリンタ100の修理後に生成された用紙有無判断値が、工場出荷時の用紙有無判断値から大きく乖離している場合には、清掃が必要であることを通知するようにしている。このため、用紙幅検出センサ104が汚れている、又は、プラテン105にゴミが蓄積されている等による影響を回避することができる。
従って、用紙幅検出センサ104及び用紙幅検出時の走査線上にあるプラテン等に存在するゴミや汚れによってセンサの出力電圧が上昇して、この出力電圧をn倍することで算出される用紙有無判断値も上昇し、用紙幅の検出に失敗してしまう等の問題を解決することができる。
【0056】
以上に記載した実施の形態1では、
図9のステップS70において、表示部170に清掃を促すメッセージを表示させているが、このような例に限定されるものではない。例えば、プリンタ100は、清掃を促す際に点灯されるLED等の発光部により通知を行ってもよい。また、プリンタ100は、清掃を促す際に特定の音又はメッセージを出力するスピーカ等の音声出力部により通知を行ってもよい。
【0057】
実施の形態2.
(構成の説明)
従来の技術のように、給紙無し状態において用紙幅検出センサ104の出力レベルの最高値をn倍することで生成された用紙有無判断値を用いて、用紙の左端位置及び右端位置を検出する場合、用紙幅検出センサ104が照射した光を反射し難い用紙、又は、用紙厚の薄い薄紙用紙を使用した場合には、用紙有無判断値を越えるセンサの出力レベルを得ることができずに、正しく用紙幅検出を行うことができないという問題がある。
また、印刷動作や用紙搬送動作により、用紙の紙片及び埃等のゴミがプリンタ100内部に残った場合、用紙検出センサ102又は用紙幅検出センサ104の出力レベルに影響が発生し、次の用紙給紙動作及び用紙排出動作が正常にできなくなる、又は、給紙した用紙外に印刷されるといった問題があった。
そこで、実施の形態2は、光を反射し難い用紙又は用紙厚の薄い用紙が使用された場合でも、正確に用紙幅を検出することができるようにする。
また、実施の形態2は、センサに影響を与える用紙の紙片及び埃等のゴミを容易に検出することができるようにする。
【0058】
図3に示されているように、実施の形態2に係るプリンタ200は、制御部としてのCPU210と、記憶部としてのROM120及びRAM130と、LSI140と、プリントヘッド駆動回路150と、スペースモータ駆動回路151と、フィードモータ駆動回路152と、インタフェース基板160とを備える。
実施の形態2に係るプリンタ200は、CPU210が行う機能において、実施の形態1に係るプリンタ100と異なっている。
【0059】
CPU210は、プリンタ200を制御する中央処理装置である。CPU210は、用紙有無判断値生成部111、用紙給紙実行部212及び用紙幅検出部213として機能する。実施の形態2におけるCPU210は、用紙給紙実行部212及び用紙幅検出部213としての機能において、実施の形態1におけるCPU110と異なっている。
用紙給紙実行部212は、プリンタ200にセットされた用紙PAを搬送する処理を制御する。
用紙幅検出部213は、プリンタ200にセットされた用紙PAの左端、右端及び用紙幅の検出を行う。
本実施の形態における用紙給紙実行部212及び用紙幅検出部213は、走査線上のゴミの検出を行う。
【0060】
(動作の説明)
図11及び
図12は、実施の形態2に係るプリンタ200での用紙給紙動作を示すフローチャートである。
この用紙給紙動作には、プリンタ200にセットされた用紙PAを印刷位置(画像形成位置)までフィードする制御とともに、プリンタ200が給紙している用紙PAの幅を計測する制御も含まれる。なお、ここで説明する制御は、葉書又はA4サイズの用紙PAである単票用紙を例にして説明する。
なお、
図11及び
図12は、実施の形態1における
図4及び
図5に示されたフローの代わりに行われるフローである。ここで、
図11及び
図12のフローにおいて、
図4及び
図5のフローにおける処理と同様の処理については、
図4及び
図5における処理と同じ符号を付す。
【0061】
図11におけるステップS10〜S15までの処理については、
図4におけるステップS10〜S15までの処理と同様である。但し、
図11のステップS15の後は、処理はステップS80に進む。
【0062】
ステップS80においては、用紙幅検出部213は、用紙左端位置の検出処理を開始する。用紙左端位置の検出処理については、
図13及び
図14を用いて詳細に説明する。そして、処理はステップS17に進む。
ステップS17では、用紙幅検出部213は、用紙左端位置が検出されたか否かを確認する。用紙左端位置が検出されていない場合(ステップS17でNo)には、処理はステップS18に進み、用紙左端位置が検出された場合(ステップS17でYes)には、処理はステップS81に進む。
【0063】
ステップS81では、用紙幅検出部213は、ステップS12で算出された用紙の最左端のセンサ位置と、ステップS80で検出された用紙左端位置とを比較する。
そして、用紙幅検出部213は、ステップS80で検出された用紙左端位置が適正であるか否かを判断する(S82)。例えば、用紙幅検出部213は、ステップS12で算出された用紙の最左端のセンサ位置と、そのセンサ位置の左隣のセンサ位置との間に、ステップS80で検出された用紙左端位置が入っている場合には、それが適正であると判断する。それが適正である場合(ステップS82でYes)には、処理は
図12のステップS83に進み、それが適正ではない場合(ステップS82でNo)には、処理は
図12のステップS22に進む。
【0064】
図12のステップS83においては、用紙幅検出部213は、用紙右端位置の検出処理を開始する。用紙右端位置の検出処理については、
図15及び
図16を用いて詳細に説明する。そして、処理はステップS20に進む。
ステップS20では、用紙幅検出部213は、用紙右端位置が検出されたか否かを確認する。用紙右端位置が検出されていない場合(ステップS20でNo)には、処理はステップS21に進み、用紙右端位置が検出された場合(ステップS20でYes)には、処理はステップS84に進む。
【0065】
ステップS84では、用紙幅検出部213は、ステップS12で算出された用紙の最右端のセンサ位置と、ステップS83で検出された用紙右端位置とを比較する。
そして、用紙幅検出部213は、ステップS83で検出された用紙右端位置が適正であるか否かを判断する(S85)。例えば、用紙幅検出部213は、ステップS12で算出された用紙の最右端のセンサ位置と、そのセンサ位置の右隣のセンサ位置との間に、ステップS83で検出された用紙右端位置が入っている場合には、それが適正であると判断する。それが適正である場合(ステップS85でYes)には、処理はステップS23に進み、それが適正ではない場合(ステップS85でNo)には、処理はステップS22に進む。
【0066】
図12のステップS21〜S29までの処理は、
図4及び
図5におけるステップS21〜S29までの処理と同様である。
【0067】
図13及び
図14は、
図11のステップS80における用紙左端位置の検出処理を示すフローチャートである。
用紙左端位置の検出処理は、上述した用紙給紙動作の中で実施され、給紙された用紙PAの位置と用紙PAの幅を取得するために実施される。
ここで、
図13及び
図14のフローにおいて、
図6のフローにおける処理と同様の処理については、
図6における処理と同じ符号を付す。
【0068】
図13におけるステップS30〜S33までの処理及びステップS35〜S39までの処理については、
図6におけるステップS30〜S33までの処理及びステップS35〜S39までの処理と同様である。但し、
図13のステップS33で、用紙有り状態が検出されなかった場合(ステップS33でNo)には、処理は
図14のステップS90に進む。
【0069】
図14のステップS90では、用紙幅検出部213は、
図13のステップS31で読み出した、用紙幅検出センサ104の出力レベル(PL)の、前回読み出した出力レベル(Before_Lvl)からの増分を算出する。なお、前回の読み出した出力レベル(Before_Lvl)がない場合には、用紙幅検出部213は、増分を0として、後の処理を進める。
次に、用紙幅検出部213は、
図13のステップS31で読み出した、用紙幅検出センサ104の出力レベル(PL)を、前回読み出した出力レベル(Before_Lvl)としてRAM130に記憶させる(S91)。
【0070】
用紙幅検出部213は、ステップS90で算出された増分がXXボルト以上であるか否かを判断する(S92)。その増分がXXボルト未満である場合(ステップS92でNo)には、処理はステップS93に進む。一方、その増分がXXボルト以上である場合(ステップS92でYes)には、用紙幅検出部213は、用紙有り状態を検出したと判断して、処理をステップS94に進める。
ステップS93では、用紙幅検出部213は、用紙左端位置検出完了フラグをクリアし、RAM130に用紙左端位置が記憶されている場合には、記憶されている用紙左端位置をクリアする。さらに、RAM130に記憶されている用紙有り状態検出カウンタを初期値(例えば、0)に戻す。
【0071】
ステップS94では、用紙幅検出部213は、ステップS92で検出された用紙有り状態が、用紙左端位置の走査を開始してから、最初に検出されたものであるか否かを判断する。最初のものである場合(ステップS94でYes)には、処理はステップS95に進み、最初のものではない場合(ステップS94でNo)には、処理はステップS96に進む。
【0072】
ステップS95では、用紙幅検出部213は、現在のプリントヘッド103の位置を用紙の左端位置としてRAM130に記憶させる。そして、処理はステップS96に進む。
ステップS96では、用紙幅検出部213は、RAM130に記憶されている用紙有り状態検出カウンタをチェックすることで、用紙有り状態がN回(Nは、2以上の整数)連続して検出されたか否かを判断する。用紙有り状態がN回連続して検出された場合(ステップS96でYes)には、処理はステップS97に進み、用紙有り状態の連続検出回数がN回に満たない場合(ステップS96でNo)には、処理はステップS98に進む。
【0073】
ステップS97では、用紙幅検出部213は、RAM130に用紙左端位置検出完了フラグをセットして、処理を終了する。
一方、ステップS98では、用紙幅検出部213は、RAM130に記憶されている用紙有り状態検出カウンタに1を加算して、処理を終了する。
【0074】
図15及び
図16は、
図12のステップS83における用紙右端位置の検出処理を示すフローチャートである。
用紙右端位置の検出処理は、上述した用紙給紙動作の中で実施され、給紙された用紙PAの位置と用紙PAの幅を取得するために実施される。
ここで、
図15及び
図16のフローにおいて、
図7のフローにおける処理と同様の処理については、
図7における処理と同じ符号を付す。
【0075】
図15におけるステップS40〜S42までの処理及びステップS45〜S49までの処理については、
図7におけるステップS40〜S42までの処理及びステップS45〜S49までの処理と同様である。但し、
図15のステップS42の後には、処理はステップS100に進む。
【0076】
ステップS100では、用紙幅検出部213は、ステップS42での比較結果で、用紙PAの有無を検出する。例えば、ステップS41で読み出された出力レベルが用紙有無判断値以下である場合には、用紙幅検出部213は、用紙無し状態を検出したと判断する。但し、
図14のフローにおいて、前回の出力レベルからの増分がXXボルト以上となる連続回数がN回以上となって、用紙有り状態が確定して用紙の左端位置が特定された場合には、ステップS41で読み出された出力レベルは用紙有無判断値を超えていないため、このような場合には、ステップS41で読み出された出力レベルは用紙有無判断値以下であっても、用紙幅検出部213は、用紙有り状態と判断する。用紙幅検出部213は、このような判断を行うために、
図14のフローにおいて、前回の出力レベルからの増分がXXボルト以上となる連続回数がN回以上となった場合には、そのような状態で用紙有り状態になっていることを示す情報をRAM130に記憶させておく。そして、用紙無し状態が検出された場合(ステップS100でNo)には、処理はステップS45に進み、用紙有り状態が検出された場合(ステップS100でYes)には、処理は
図16のステップS101に進む。
【0077】
図16のステップS101では、用紙幅検出部213は、
図15のステップS41で読み出した、用紙幅検出センサ104の出力レベル(PL)の、前回読み出した出力レベル(Before_Lvl)からの減少分を算出する。なお、前回の読み出した出力レベル(Before_Lvl)がない場合には、用紙幅検出部213は、減少分を0として、後の処理を進める。
次に、用紙幅検出部213は、
図15のステップS41で読み出した、用紙幅検出センサ104の出力レベル(PL)を、前回読み出した出力レベル(Before_Lvl)としてRAM130に記憶させる(S102)。
【0078】
用紙幅検出部213は、ステップS101で算出された減少分がXXボルト以上であるか否かを判断する(S103)。その減少分がXXボルト未満である場合(ステップS103でNo)には、処理はステップS104に進む。一方、その減少分がXXボルト以上である場合(ステップS103でYes)には、用紙幅検出部213は、用紙無し状態を検出したと判断して、処理をステップS105に進める。
ステップS104では、用紙幅検出部213は、用紙右端位置検出完了フラグをクリアし、RAM130に用紙右端位置が記憶されている場合には、記憶されている用紙右端位置をクリアする。さらに、RAM130に記憶されている用紙無し状態検出カウンタを初期値(例えば、0)に戻す。
【0079】
ステップS105では、用紙幅検出部213は、ステップS103で検出された用紙無し状態が、用紙右端位置の走査を開始してから、最初に検出されたものであるか否かを判断する。最初のものである場合(ステップS105でYes)には、処理はステップS106に進み、最初のものではない場合(ステップS105でNo)には、処理はステップS107に進む。
【0080】
ステップS106では、用紙幅検出部213は、現在のプリントヘッド103の位置を用紙の右端位置としてRAM130に記憶させる。そして、処理はステップS107に進む。
ステップS107では、用紙幅検出部213は、RAM130に記憶されている用紙無し状態検出カウンタをチェックすることで、用紙無し状態がM回(Mは、2以上の整数)連続して検出されたか否かを判断する。用紙無し状態がM回連続して検出された場合(ステップS107でYes)には、処理はステップS108に進み、用紙無し状態の連続検出回数がM回に満たない場合(ステップS107でNo)には、処理はステップS109に進む。
【0081】
ステップS108では、用紙幅検出部213は、用紙右端位置検出完了フラグをセットして、処理を終了する。
一方、ステップS109では、用紙幅検出部213は、RAM130に記憶されている用紙無し状態検出カウンタに1を加算して、処理を終了する。
【0082】
薄紙又は光を反射しづらい用紙は、普通の用紙に比べて、用紙幅検出センサ104の出力レベルが、なだらかに上昇及び下降し、出力レベルが用紙有無判断値を越えないことが多い。このことから、実施の形態2においては、用紙幅検出部213は、出力レベルが用紙有無判断値を越えていなくても、出力レベルがN回連続して上昇した場合に、用紙の左端を検出したと判断し、また、出力レベルがM回連続して下降した場合に、用紙の左端を検出したと判断している。
なお、実施の形態2においては、出力レベルがN回連続して上昇した場合に、用紙の左端を検出したと判断し、また、出力レベルがM回連続して下降した場合に、用紙の左端を検出したと判断しているがこのような例に限定されるものではない。例えば、用紙有無判断値よりも低い補助用紙有無判断値を予め定めておき、出力レベルが用紙有無判断値以下であっても、補助用紙有無判断値よりも連続してN回上回った場合には、用紙有り状態を確定して、左端位置の検出を完了してもよい。このような場合には、出力レベルが補助用紙有無判断値以下となる出力レベルがM回連続して検出された場合に、用紙無し状態を確定して、右端位置の検出を完了してもよい。
【0083】
図17は、実施の形態2における用紙退避動作を示すフローチャートである。
ここで、実施の形態2における用紙退避動作は、プリンタ200に印刷するための用紙PAを給紙してから、印刷が終了し用紙PAをプリンタ200から排出する動作までの印刷動作及び用紙搬送動作において、プリンタ200の用紙幅検出ライン上に用紙PAの紙片や紙粉等のゴミが落下し、そのゴミの影響により、次の用紙給紙動作及び用紙幅検出動作が正常に動作しない場合に行われる動作である。なお、
図17に示されているフローチャートは、例えば、プリンタ200に設けられているスイッチ等の入力部(図示せず)に、オペレータから用紙退避指示の入力があった場合、用紙給紙エラー及び用紙幅検出エラー等のエラーに基づいてCPU210が用紙退避コマンドを出した場合等に、開始される。
【0084】
用紙給紙実行部212は、プリンタ200に用紙PAが給紙されているか否かを確認する(S110)。例えば、用紙給紙実行部212は、用紙検出センサ102の出力状態により、用紙PAが給紙されているか否かを確認する。用紙PAが給紙されている場合(S110でYes)には、処理はステップS111に進む。
ステップS111では、用紙給紙実行部212は、用紙退避動作で実行する用紙退避のための最大フィード量を設定する。最大フィード量は、プリンタ200がサポートしている最大の用紙PAの1ページ長にマージンを設けた量になる。
そして、用紙給紙実行部212は、スペースモータ駆動回路151に指示することで、用紙中央位置を目標位置としてプリントヘッド103を移動させる(S112)。
【0085】
用紙給紙実行部212は、フィードモータ駆動回路152に指示することで、用紙PAのフィード動作を開始する(S113)。
そして、用紙給紙実行部212は、用紙検出センサ102の出力状態を定期的に監視することで、用紙無し状態となったか否かを判断する(S114)。用紙無し状態ではない場合(ステップS114でNo)には、ステップS113の処理を繰り返し、用紙無し状態となった場合(ステップS114でYes)には、処理はステップS115に進む。
【0086】
ステップS115では、用紙給紙実行部212は、フィードモータ駆動回路152に指示することで、用紙PAのフィード動作を停止する。
用紙給紙実行部212は、スペースモータ駆動回路151に指示することで、プリントヘッド103をプリンタ200の最も左側に移動させる(S116)。
そして、用紙幅検出部213は、
図13及び
図14に示されている用紙左端位置検出処理と同様の処理を行い(S117)、用紙有り状態が検出された場合(ステップS118でYes)には、ゴミを検出したと判断し、例えば、表示部170にゴミの除去を促すメッセージを表示する等により、オペレータにエラーを通知し、オペレータに対してゴミの除去を促す(S119)。
【0087】
ここで、
図17のステップS117では、ゴミの検出を目的としているため、例えば、
図13のステップS37及び
図14のステップS96における連続検出回数Nの値を1にすることが望ましい。また、
図13のステップS93〜S98を行う必要はない。これにより、
図10(C)に示されているような出力レベルの変化があった場合に、エラーをオペレータに通知することができる。
【0088】
以上のように、実施の形態2に係るプリンタ200によれば、用紙幅検出センサ104の出力レベルが用紙有無判断値に満たない場合でも、用紙幅検出センサ104の出力レベルの上昇分をチェックし、用紙右端位置と用紙左端位置を確定することができる。このため、薄紙又は用紙幅検出センサ104が出力した光が反射し難い用紙等を使用しても、用紙検出を精度良く行うことができる。
【0089】
さらに、実施の形態2に係るプリンタ200によれば、用紙退避動作時に用紙幅検出走査上に紙片等のゴミがないか、用紙幅検出センサ104を用いてチェックすることができるため、このようなゴミを取り除き、用紙給紙動作時の用紙幅検出精度を向上することができる。
【0090】
以上に記載した実施の形態2では、
図17のステップS119において、表示部170にゴミの除去を促すメッセージを表示させているが、このような例に限定されるものではない。例えば、プリンタ200は、ゴミの除去を促す際に点灯されるLED等の発光部により通知を行ってもよい。また、プリンタ200は、ゴミの除去を促す際に特定の音又はメッセージを出力するスピーカ等の音声出力部により通知を行ってもよい。
【0091】
実施の形態1及び2においては、本発明をシリアルドットマトリクスプリンタ100、200に適用したが、本発明は、このような例に限定されない。例えば、用紙の検出を反射型の光学センサや透過型の光学センサを利用したインクジェットプリンタ及び用紙搬送装置にも本発明を適用することができる。
【0092】
以上に記載した実施の形態においては、最大スキャン値を用いて用紙有無判断値を算出したが、このような例に限定されるものではない。例えば、用紙幅検出センサ104からの出力レベルの最低値又は平均値等他の値であってもよい。