(57)【特許請求の範囲】
【請求項１】
用紙を供給する供給部と、
照射した光の反射光を受光して、受光レベルを出力する光学センサと、
前記光学センサを移動させる移動部と、
用紙を検出するための閾値の初期値を記憶する記憶部と、
前記供給部が用紙を供給しない状態で、前記移動部に前記光学センサを移動させながら、前記光学センサに受光レベルを連続して出力させ、当該連続して出力された受光レベルの中から選択された受光レベルが大きいほど大きくなるように用紙有無判断値を算出し、当該算出された用紙有無判断値と前記初期値との差分が、予め定められた値未満である場合に、当該算出された用紙有無判断値を、用紙を検出するための閾値として使用する制御部と、を備えること
を特徴とする用紙検出装置。
【請求項２】
前記制御部は、
工場出荷前に、前記供給部が用紙を供給しない状態で、前記移動部に前記光学センサを移動させながら、前記光学センサに受光レベルを連続して出力させ、当該連続して出力された受光レベルの中から選択された受光レベルが大きいほど大きくなる用紙有無判断値を算出し、当該算出された用紙有無判断値を前記初期値として前記記憶部に記憶させること
を特徴とする請求項１に記載の用紙検出装置。
【請求項３】
通知を行う通知部をさらに備え、
前記制御部は、前記算出された用紙有無判断値と前記初期値との差分が、予め定められた値以上である場合に、予め定められた通知を前記通知部に行わせること
を特徴とする請求項１に記載の用紙検出装置。
【請求項４】
前記制御部は、前記連続して出力された受光レベルの中の最高値の受光レベルを選択して、前記用紙有無判断値を算出すること
を特徴とする請求項１から３の何れか一項に記載の用紙検出装置。
【請求項５】
前記制御部は、前記光学センサから受光レベルが出力された時点で、それまでに出力された受光レベルの最高値と比較することで、順次最高値を更新し、前記光学センサの移動が終了した時点の最高値を、前記用紙有無判断値を算出するための受光レベルとして選択すること
を特徴とする請求項４に記載の用紙検出装置。
【請求項６】
前記制御部は、前記光学センサから出力された受光レベルが、それまでに出力された受光レベルの最高値よりも予め定められた値以上高くなっている場合には、最高値を更新しないこと
を特徴とする請求項５に記載の用紙検出装置。
【請求項７】
用紙を供給する供給部と、
照射した光の反射光を受光して、受光レベルを出力する光学センサと、
前記光学センサを移動させる移動部と、
用紙を検出するための閾値である用紙有無判断値を記憶する記憶部と、
前記供給部が前記用紙を供給する際に、前記移動部に前記光学センサを移動させて、前記光学センサに受光レベルを連続して出力させ、当該出力された受光レベルと、前記用紙有無判断値とを比較することにより、前記光学センサの移動方向における前記用紙の位置を検出する制御部とを備え、
前記制御部は、前記出力された受光レベルが、前記用紙有無判断値以下である場合でも、前記出力された受光レベルが、前記光学センサから前回出力された受光レベルよりも予め定められた値以上大きくなっている場合に、用紙が有ると判断すること
を特徴とする用紙検出装置。
【請求項８】
前記制御部は、前記光学センサから出力された受光レベルが、前記光学センサから前回出力された受光レベルよりも予め定められた値以上大きくなっている連続回数が予め定められた回数以上である場合に、用紙が有ると判断すること
を特徴とする請求項７に記載の用紙検出装置。
【請求項９】
前記制御部は、前記光学センサから出力された受光レベルが、前記光学センサから前回出力された受光レベルよりも予め定められた値以上小さくなっている場合に、用紙が無いと判断すること
を特徴とする請求項７又は８に記載の用紙検出装置。
【請求項１０】
前記制御部は、前記光学センサから出力された受光レベルが、前記光学センサから前回出力された受光レベルよりも予め定められた値以上小さくなっている連続回数が予め定められた回数以上である場合に、用紙が無いと判断すること
を特徴とする請求項９に記載の用紙検出装置。
【請求項１１】
請求項１又は７に記載の用紙検出装置を備えること
を特徴とする画像形成装置。
【請求項１２】
用紙を供給しない状態で、位置を変えながら、照射した光の反射光の受光レベルを連続して出力する過程と、
前記連続して出力された受光レベルの中から選択された受光レベルが大きいほど大きくなるように用紙有無判断値を算出する過程と、
前記算出された用紙有無判断値と、用紙を検出するための閾値の初期値との差分が、予め定められた値未満である場合に、前記算出された用紙有無判断値を、前記用紙を検出するための閾値とする過程と、を有すること
を特徴とする用紙検出方法。
【請求項１３】
前記算出された用紙有無判断値と前記初期値との差分が、予め定められた値以上である場合に、予め定められた通知を行う過程をさらに有すること
を特徴とする請求項１２に記載の用紙検出方法。
【請求項１４】
用紙を供給する過程と、
前記用紙の供給方向と交差する方向に位置を変えながら、照射した光の反射光の受光レベルを連続して出力する過程と
前記出力された受光レベルと、前記用紙を検出するための閾値である用紙有無判断値とを比較することにより、前記用紙の供給方向と交差する方向における前記用紙の位置を検出する過程とを有し、
前記用紙の位置を検出する過程では、前記出力された受光レベルが、前記用紙有無判断値以下である場合でも、前記出力された受光レベルが、前回出力された受光レベルよりも予め定められた値以上大きくなっている場合に、用紙が有ると判断すること
を特徴とする用紙検出方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、用紙検出装置、画像形成装置及び用紙検出方法に関する。
【背景技術】
【０００２】
従来のインパクトドットマトリクスプリンタ及びインクジェットプリンタ等のプリンタにおいて、印刷を実施する場合には、プリンタに用紙をセットして、プリンタに実装されているスイッチを押す事で、プリンタにセットされた用紙の給紙動作が開始される。そして、用紙が印刷開始位置まで移動されると、印刷が開始される。
また、付加機能を実装したプリンタにおいては、用紙給紙動作中に給紙された用紙の幅、左端位置及び右端位置を計測して、給紙された用紙がプリンタの基準点位置からどの位置に有るか判断し、給紙された用紙のない箇所に印刷をしないような制御を行っている。さらに、特許文献１に記載されたプリンタでは、搬送される用紙の位置を検出する検出手段のセンサレベルの低下を検出することで、センサ汚れなどのエラーを未然に防ぐ技術が記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００９−１０７２８１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来のプリンタにおける用紙給紙動作内の用紙幅検出動作には、以下のような問題がある。
用紙有無判断値は、プリンタのセンサの状態に影響され易い。例えば、プリンタの修理でセンサを交換した後に用紙有無判断値の再設定を行う場合、センサ又はプラテンが埃、紙粉等のゴミで汚れていると、用紙幅検出センサの出力レベルが上昇する。用紙有無判断値は、通常、用紙幅検出センサの出力レベルの最大値に基づいて決定されるため、用紙幅検出センサの出力レベルが上昇すると、用紙有無判断値も上昇してしまい、用紙幅の検出が困難になる。
【０００５】
そこで、本発明は、用紙幅の検出を確実に行うことができるようにすることを目的とする。
【課題を解決するための手段】
【０００６】
本発明の第１の態様に係る用紙検出装置は、用紙を供給する供給部と、照射した光の反射光を受光して、受光レベルを出力する光学センサと、前記光学センサを移動させる移動部と、用紙を検出するための閾値の初期値を記憶する記憶部と、前記供給部が用紙を供給しない状態で、前記移動部に前記光学センサを移動させながら、前記光学センサに受光レベルを連続して出力させ、当該連続して出力された受光レベルの中から選択された受光レベルが大きいほど大きくなるように用紙有無判断値を算出し、当該算出された用紙有無判断値と前記初期値との差分が、予め定められた値未満である場合に、当該算出された用紙有無判断値を、用紙を検出するための閾値として使用する制御部と、を備えることを特徴とする。
【０００７】
本発明の第２の態様に係る用紙検出装置は、用紙を供給する供給部と、照射した光の反射光を受光して、受光レベルを出力する光学センサと、前記光学センサを移動させる移動部と、用紙を検出するための閾値である用紙有無判断値を記憶する記憶部と、前記供給部が前記用紙を供給する際に、前記移動部に前記光学センサを移動させて、前記光学センサに受光レベルを連続して出力させ、当該出力された受光レベルと、前記用紙有無判断値とを比較することにより、前記光学センサの移動方向における前記用紙の位置を検出する制御部とを備え、前記制御部は、前記出力された受光レベルが、前記用紙有無判断値以下である場合でも、前記出力された受光レベルが、前記光学センサから前回出力された受光レベルよりも予め定められた値以上大きくなっている場合に、用紙が有ると判断することを特徴とする。
【０００９】
本発明の第１の態様に係る用紙検出方法は、用紙を供給しない状態で、位置を変えながら、照射した光の反射光の受光レベルを連続して出力する過程と、前記連続して出力された受光レベルの中から選択された受光レベルが大きいほど大きくなるように用紙有無判断値を算出する過程と、前記算出された用紙有無判断値と、前記用紙を検出するための閾値の初期値との差分が、予め定められた値未満である場合に、前記算出された用紙有無判断値を、前記用紙を検出するための閾値とする過程と、を有することを特徴とする。
【００１０】
本発明の第２の態様に係る用紙検出方法は、用紙を供給する過程と、前記用紙の供給方向と交差する方向に位置を変えながら、照射した光の反射光の受光レベルを連続して出力する過程と、前記出力された受光レベルと、前記用紙を検出するための閾値である用紙有無判断値とを比較することにより、前記用紙の供給方向と交差する方向における前記用紙の位置を検出する過程とを有し、前記用紙の位置を検出する過程では、前記出力された受光レベルが、前記用紙有無判断値以下である場合でも、前記出力された受光レベルが、前回出力された受光レベルよりも予め定められた値以上大きくなっている場合に、用紙が有ると判断することを特徴とする。
【発明の効果】
【００１２】
本発明の一態様によれば、用紙幅の検出を確実に行うことができる。
【図面の簡単な説明】
【００１３】
【図１】実施の形態１及び２に係る画像形成装置としてのプリンタにおける媒体の搬送機構を横方向から見た場合の概略図である。
【図２】実施の形態１及び２における用紙検出センサ配置を示す概略図である。
【図３】実施の形態１及び２に係るプリンタの制御系の構成を概略的に示すブロック図である。
【図４】実施の形態１に係るプリンタでの用紙給紙動作を示すフローチャート（その１）である。
【図５】実施の形態１に係るプリンタでの用紙給紙動作を示すフローチャート（その２）である。
【図６】実施の形態１における用紙左端位置の検出処理を示すフローチャートである。
【図７】実施の形態１における用紙右端位置の検出処理を示すフローチャートである。
【図８】実施の形態１における用紙有無判断値の生成処理を示すフローチャート（その１）である。
【図９】実施の形態１における用紙有無判断値の生成処理を示すフローチャート（その２）である。
【図１０】（Ａ）〜（Ｃ）は、実施の形態１における用紙幅検出センサの出力レベル（出力電圧）の変化を説明するためのグラフである。
【図１１】実施の形態２に係るプリンタでの用紙給紙動作を示すフローチャート（その１）である。
【図１２】実施の形態２に係るプリンタでの用紙給紙動作を示すフローチャート（その２）である。
【図１３】実施の形態２における用紙左端位置の検出処理を示すフローチャート（その１）である。
【図１４】実施の形態２における用紙左端位置の検出処理を示すフローチャート（その２）である。
【図１５】実施の形態２における用紙右端位置の検出処理を示すフローチャート（その１）である。
【図１６】実施の形態２における用紙右端位置の検出処理を示すフローチャート（その２）である。
【図１７】実施の形態２における用紙退避動作を示すフローチャートである。
【発明を実施するための形態】
【００１４】
実施の形態１．
（構成の説明）
図１は、実施の形態１及び２に係る画像形成装置としてのプリンタ１００における媒体の搬送機構を横方向から見た場合の概略図である。
プリンタ１００は、フィードローラ１０１Ａ、１０１Ｂと、用紙検出センサ１０２と、プリントヘッド１０３と、用紙幅検出センサ１０４と、プラテン１０５とを備える。
【００１５】
フィードローラ１０１Ａ、１０１Ｂは、媒体としての用紙ＰＡを供給する供給部である。具体的には、フィードローラ１０１Ａ、１０１Ｂは、プリンタ１００にセットされた媒体としての用紙ＰＡをプリンタ１００の内部へ搬送するためのローラである。
用紙検出センサ１０２は、フィードローラ１０１Ａ、１０１Ｂの噛み込み部の直近に配置され、セットされた用紙ＰＡを検出するためのセンサである。用紙検出センサ１０２は、例えば、透過型の光学センサで実現することができる。なお、図１には示されていないが、用紙検出センサ１０２の上方には、発光部が備えられており、この発光部からの光が用紙ＰＡで遮られることで、プリンタ１００に用紙ＰＡがセットされたかどうかを判定することができる。また、図２に示されているように、用紙検出センサ１０２は、用紙ＰＡの搬送方向Ｄに対して交差する方向に、複数配置されている。
【００１６】
プリントヘッド１０３は、図示しないインパクトピンを用いて、用紙ＰＡに対して予め用意されたインクリボン（図示せず）に対して、ヘッドピンを突出させることで、インクリボンのインクを用紙ＰＡに転写する。
用紙幅検出センサ１０４は、プリントヘッド１０３を固定する部品に実装されている。用紙幅検出センサ１０４は、給紙された用紙ＰＡの左端位置、右端位置、及び用紙幅を求めるために使用される。用紙幅検出センサ１０４は、例えば、反射型の光学センサにより実現することができる。この場合、用紙幅検出センサ１０４は、照射した光の反射光を受光して、受光レベルを出力レベルとして出力する光学センサである。用紙幅検出センサ１０４は、プリントヘッド１０３に実装されることで、プリントヘッド１０３と共に水平方向に移動しながらその出力レベルを監視することで、プリンタ１００にセットされた用紙ＰＡの幅を検出することができる。
プラテン１０５は、プリントヘッド１０３からインパクトされたピンを図示しないインクリボンを介して、用紙ＰＡに転写するための土台である。
なお、プリントヘッド１０３、図示しないインクリボン及びプラテン１０５により印刷部（画像形成部）が構成される。
【００１７】
図３は、プリンタ１００の制御系の構成を概略的に示すブロック図である。
プリンタ１００は、制御部としてのＣＰＵ１１０と、記憶部としてのＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１２０及びＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１３０と、ＬＳＩ（Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎ）１４０と、プリントヘッド駆動回路１５０と、スペースモータ駆動回路１５１と、フィードモータ駆動回路１５２と、インタフェース基板１６０と、表示部１７０とを備える。
なお、図３の括弧内の符号は、実施の形態２における構成を示す。
また、用紙検出装置は、図３に示されている構成と、フィードローラ１０１Ａ、１０１Ｂとを含んでいる。
【００１８】
ＣＰＵ１１０は、プリンタ１００を制御する中央処理装置である。ＣＰＵ１１０は、プリンタ１００の動作を制御するプログラムコードが記憶されている不揮発性メモリであるＲＯＭ１２０と、揮発性メモリであるＲＡＭ１３０と、集積回路であるＬＳＩ１４０と、に接続されている。ＣＰＵ１１０は、ＲＯＭ１２０に記憶されているプログラムコードを読み出して実行することで、プリンタ１００での処理を制御するための様々な機能を果たす。特に、ＣＰＵ１１０は、用紙有無判断値生成部１１１、用紙給紙実行部１１２及び用紙幅検出部１１３として機能する。
【００１９】
用紙有無判断値生成部１１１は、用紙有無判断値（以下、スライスレベルともいう）を生成する。
用紙給紙実行部１１２は、プリンタ１００にセットされた用紙ＰＡを搬送する処理を制御する。
用紙幅検出部１１３は、プリンタ１００にセットされた用紙ＰＡの左端、右端及び用紙幅の検出を行う。
【００２０】
ＲＯＭ１２０は、プリンタ１００を動作させるためのプログラムを格納する。プリンタ１００を動作するためのプログラムとは、上位装置から送信されたデータを受信し、プリンタ１００に給紙された印刷用紙上に印刷するためのプロセスを記述したデータである。このプリンタ１００を動作するためのプログラムには、プリンタ１００が給紙した用紙の幅を検出する際に使用する用紙有無判断値を生成する機能と、プリンタ１００にセットされた用紙をプリンタ内部に搬送し印刷準備を整える機能と、プリンタ１００に給紙された用紙の左右端位置を検出する機能とが含まれる。
また、ＲＯＭ１２０には、第１の用紙有無判断値１２１と、第２の用紙有無判断値１２２とを記憶する。
第１の用紙有無判断値１２１は、用紙を検出するための閾値の初期値である。例えば、第１の用紙有無判断値１２１は、プリンタ１００の工場出荷時（工場出荷前）に算出されて記憶される。
第２の用紙有無判断値１２２は、用紙を検出するための閾値であり、第１の用紙有無判断値１２１の後に記憶される。例えば、第２の用紙有無判断値１２２は、プリンタ１００の修理時等、工場出荷時以外に算出されて記憶される。
なお、用紙幅検出部１１３は、第２の用紙有無判断値１２２が記憶されていない場合には、第１の用紙有無判断値１２１を用いて検出を行い、第２の用紙有無判断値１２２が記憶されている場合には、第２の用紙有無判断値１２２を用いて検出を行う。以下では、第１の用紙有無判断値１２１及び第２の用紙有無判断値１２２を特に区別する必要がない場合には、用紙有無判断値と記載する。
【００２１】
ＲＡＭ１３０は、プリンタ１００での制御に必要な制御情報、及び、情報処理装置としての上位装置１９０から送信され、インタフェース基板１６０で受信したデータを記憶する。ＲＡＭ１３０は、ＣＰＵ１１０及びＬＳＩ１４０に接続されている。
ＬＳＩ１４０は、プリンタ１００を制御するためのＩ／Ｏ（Ｉｎｐｕｔ／Ｏｕｔｐｕｔ）、及び、プリンタ１００の状態を検出するためのセンサ状態を制御する入出力Ｉ／Ｏ等を有する。ＬＳＩ１４０には、プリントヘッド駆動回路１５０、スペースモータ駆動回路１５１、そしてフィードモータ駆動回路１５２が接続されている。
【００２２】
プリントヘッド駆動回路１５０は、ＣＰＵ１１０からの指示に応じて、プリントヘッド１０３を駆動するための回路である。
スペースモータ駆動回路１５１は、ＣＰＵ１１０からの指示に応じて、スペースモータ１０６を駆動するための回路である。
フィードモータ駆動回路１５２は、ＣＰＵ１１０からの指示に応じて、フィードモータ１０７を駆動するための回路である。
スペースモータ１０６は、プリントヘッド１０３を、印刷するために左右に移動させるためのモータである。スペースモータ１０６の回転は、図示しないプーリ及びタイミングベルトを介して、往復動作に変換される。言い換えると、スペースモータ１０６、図示しないプーリ及び図示しないタイミングベルトにより、プリントヘッド１０３を移動させる移動部が構成される。
フィードモータ１０７は、用紙ＰＡを、搬送方向Ｄ、又は搬送方向Ｄと反対方向に移動させるためのモータである。
インタフェース基板１６０は、上位装置１９０から、インタフェースケーブルを介して送信されたデータを受信するインタフェース部である。
表示部１７０は、画面を表示する。ここで、表示部１７０は、メッセージを表示することでオペレータに予め定められた通知を行う通知部として機能する。
なお、上位装置１９０は、図示しないオペレーティングシステム及びアプリケーションのプログラムがインストールされており、印刷実行時（画像形成実行時）においては、印刷（画像形成）を行うデータをプリンタ１００へ出力する。
【００２３】
（動作の説明）
図４及び図５は、実施の形態１に係るプリンタ１００での用紙給紙動作を示すフローチャートである。
この用紙給紙動作には、プリンタ１００にセットされた用紙ＰＡを印刷位置（画像形成位置）までフィードする制御とともに、プリンタ１００が給紙している用紙ＰＡの幅を計測する制御も含まれる。なお、ここで説明する制御は、葉書又はＡ４サイズの用紙ＰＡである単票用紙を例にして説明する。
【００２４】
まず初めに、用紙給紙実行部１１２は、プリンタ１００に用紙ＰＡがセットされたか否かを確認する（Ｓ１０）。用紙給紙実行部１１２は、プリンタ１００に実装されている用紙検出センサ１０２の出力状態を定期的に監視することで、用紙ＰＡが給紙されたか否かを確認する。用紙ＰＡがセットされた場合（Ｓ１０でＹｅｓ）には、処理はステップＳ１１に進む。用紙ＰＡがセットされていない場合（Ｓ１０でＮｏ）には、用紙給紙実行部１１２は、用紙ＰＡがセットされるまで待機する。
ステップＳ１１では、用紙給紙実行部１１２は、現在の用紙セット位置から用紙幅検出位置までのフィード量をセットする。例えば、用紙ＰＡは、上端がフィードローラ１０１Ａ、１０１Ｂの噛み込み部に接するようにセットされる。このため、用紙ＰＡの予め定められた位置が、この噛み込み部から用紙幅検出センサ１０４の配置されている位置に達するまでのフィード量がセットされる。
【００２５】
次に、用紙給紙実行部１１２は、プリンタ１００に複数実装されている用紙検出センサ１０２の状態をチェックし、複数の用紙検出センサ１０２の内、用紙有りを検出している最左端のセンサ位置を特定する（Ｓ１２）。同様に、複数の用紙検出センサ１０２の内、用紙有りを検出している最右端のセンサ位置を特定する。このように、用紙検出センサ１０２が検出した用紙ＰＡの左端及び右端の位置を確認する事で、おおよその用紙設定位置を特定することができる。
プリンタ１００にセットされた用紙ＰＡを取り込むため、用紙給紙実行部１１２は、ＬＳＩ１４０を介してフィードモータ駆動回路１５２に指示して、フィード動作を行わせる（Ｓ１３）。
そして、用紙給紙実行部１１２は、用紙ＰＡが用紙幅検出位置までフィードが行われたか否かを監視する（Ｓ１４）。用紙ＰＡのフィード動作が完了した場合（Ｓ１４でＹｅｓ）には、処理はステップＳ１５に進む。
【００２６】
ステップＳ１５では、用紙幅検出部１１３は、用紙幅の検出を実施するため、ステップＳ１２で特定された用紙左端のセンサ位置の左隣の用紙検出センサ１０２の位置を目標として、プリントヘッド１０３を移動させる。
プリントヘッド１０３の移動が完了したら、用紙幅検出部１１３は、用紙左端位置の検出処理を開始する（Ｓ１６）。用紙左端位置の検出処理については、図６を用いて詳細に説明する。
【００２７】
そして、用紙幅検出部１１３は、用紙左端位置が検出されたか否かを確認する（Ｓ１７）。例えば、用紙幅検出部１１３は、後述する用紙左端位置検出完了フラグがセットされている場合に、用紙左端位置が検出されたと判断する。用紙左端位置が検出されていない場合（ステップＳ１７でＮｏ）には、処理はステップＳ１８に進み、用紙左端位置が検出された場合（ステップＳ１７でＹｅｓ）には、処理はステップＳ１９に進む。
ステップＳ１８では、用紙幅検出部１１３は、プリントヘッド１０３が、ステップＳ１２で特定された用紙右端のセンサ位置の右隣の用紙検出センサ１０２の位置にまで移動したか否かを判断する。プリントヘッド１０３がそのような位置にまで移動していない場合（ステップＳ１８でＮｏ）には、処理はステップＳ１６に戻り、用紙幅検出部１１３は、用紙左端位置の検出処理を続行する。プリントヘッド１０３がそのような位置にまで移動した場合（ステップＳ１８でＹｅｓ）には、処理はステップＳ２２に進む。
【００２８】
ステップＳ１９では、用紙幅検出部１１３は、用紙右端位置の検出処理を開始する。用紙右端位置の検出処理については、図７を用いて詳細に説明する。
そして、用紙幅検出部１１３は、用紙右端位置が検出されたか否かを確認する（Ｓ２０）。例えば、用紙幅検出部１１３は、後述する用紙右端位置検出完了フラグがセットされている場合に、用紙右端位置が検出されたと判断する。用紙右端位置が検出されていない場合（ステップＳ２０でＮｏ）には、処理はステップＳ２１に進み、用紙右端位置が検出された場合（ステップＳ２０でＹｅｓ）には、処理はステップＳ２３に進む。
ステップＳ２１では、用紙幅検出部１１３は、プリントヘッド１０３が、ステップＳ１２で特定された用紙右端のセンサ位置の右隣の用紙検出センサ１０２の位置にまで移動したか否かを判断する。プリントヘッド１０３がそのような位置にまで移動していない場合（Ｓ２１でＮｏ）には、処理はステップＳ１９に戻り、用紙幅検出部１１３は、用紙右端位置の検出処理を続行する。プリントヘッド１０３がそのような位置にまで移動した場合（Ｓ２１でＹｅｓ）には、処理はステップＳ２２に進む。
ステップＳ２２では、用紙幅検出部１１３は、用紙幅検出エラーとし、用紙ＰＡの給紙を終了して、オペレータへの通知等予め定められたエラー処理を行う。
ステップＳ２３では、用紙幅検出部１１３は、用紙幅走査のために移動したプリントヘッド１０３の動作を終了させる。そして、処理は、図５のステップＳ２４に進む。
【００２９】
図５のステップＳ２４では、用紙給紙実行部１１２は、ステップＳ１６で検出された用紙左端位置と、ステップＳ１９で検出された用紙右端位置とから、印刷開始位置と終了位置を決定する。例えば、用紙開始位置は、用紙左端位置から余白を設けた位置とし、用紙終了位置は、用紙右端位置から余白を設けた位置にする。
また、用紙給紙実行部１１２は、これらの用紙左端位置及び用紙右端位置から用紙中央位置を求める（Ｓ２５）。
【００３０】
次に、用紙給紙実行部１１２は、スペースモータ駆動回路１５１に指示することで、ステップＳ２５で求められた用紙中央位置を目標位置としてプリントヘッド１０３を移動させる（Ｓ２６）。
次に、用紙給紙実行部１１２は、現在の用紙幅検出位置から、搬送方向における印刷開始位置（画像形成開始位置）までの距離を求める（Ｓ２７）。なお、搬送方向における印刷開始位置は、予め定められているものとする。
そして、用紙給紙実行部１１２は、フィードモータ駆動回路１５２に指示することで、搬送方向における印刷開始位置までフィード動作を実行する（Ｓ２７）。
そして、用紙給紙実行部１１２は、搬送方向における印刷開始位置までフィードが完了したか確認する（Ｓ２９）。フィードが完了した場合（Ｓ２９でＹｅｓ）には、用紙給紙動作を終了する。
【００３１】
図６は、図４のステップＳ１６における用紙左端位置の検出処理を示すフローチャートである。
この用紙左端位置の検出処理は、上述した用紙給紙動作の中で実施され、給紙された用紙の位置を確認するために実施される。
用紙左端位置の検出は、一定の間隔で用紙の有無を検出する制御であるため、用紙幅検出部１１３は、用紙幅検出のタイミングであるか否かを確認する（Ｓ３０）。用紙幅検出のタイミングである場合（Ｓ３０でＹｅｓ）には、処理はステップＳ３１に進み、用紙幅検出のタイミングでない場合（Ｓ３０でＮｏ）には、用紙幅検出部１１３は、用紙幅検出のタイミングとなるまで待機する。
【００３２】
ステップＳ３１では、用紙幅検出部１１３は、用紙幅検出センサ１０４の出力レベル（ＰＬ）を読み出す。
そして、用紙幅検出部１１３は、ステップＳ３１で読み出された出力レベルと、用紙有無判断値とを比較する（Ｓ３２）。
用紙幅検出部１１３は、ステップＳ３２での比較結果で、用紙ＰＡの有無を検出する（Ｓ３３）。例えば、ステップＳ３１で読み出された出力レベルが用紙有無判断値よりも大きい場合には、用紙幅検出部１１３は、用紙有り状態を検出したと判断する。
そして、用紙有り状態が検出されなかった場合（ステップＳ３３でＮｏ）には、処理はステップＳ３４に進み、用紙有り状態が検出された場合（ステップＳ３３でＹｅｓ）には、処理はステップＳ３５に進む。
【００３３】
ステップＳ３４では、用紙幅検出部１１３は、用紙の左端の位置を検出したことを示す用紙左端位置検出完了フラグをクリアし、ＲＡＭ１３０に用紙左端位置が記憶されている場合には、記憶されている用紙左端位置をクリアする。さらに、ＲＡＭ１３０に記憶されている用紙有り状態検出カウンタを初期値（例えば、０）に戻す。ここで、用紙有り状態検出カウンタは、用紙有り状態が連続して検出された回数を示すカウンタである。
【００３４】
ステップＳ３５では、用紙幅検出部１１３は、ステップＳ３３で検出された用紙有り状態が、用紙左端位置の走査を開始してから、最初に検出されたものであるか否かを判断する。例えば、用紙幅検出部１１３は、ＲＡＭ１３０に記憶されている用紙有り状態検出カウンタが初期値である場合には、用紙有り状態が最初に検出されたものであると判断することができる。最初のものである場合（ステップＳ３５でＹｅｓ）には、処理はステップＳ３６に進み、最初のものではない場合（ステップＳ３５でＮｏ）には、処理はステップＳ３７に進む。
【００３５】
ステップＳ３６では、用紙幅検出部１１３は、現在のプリントヘッド１０３の位置を用紙の左端位置としてＲＡＭ１３０に記憶させる。そして、処理はステップＳ３７に進む。
ステップＳ３７では、用紙幅検出部１１３は、ＲＡＭ１３０に記憶されている用紙有り状態検出カウンタをチェックすることで、用紙有り状態がＮ回（Ｎは、２以上の整数）連続して検出されたか否かを判断する。用紙有り状態がＮ回連続して検出された場合（ステップＳ３７でＹｅｓ）には、処理はステップＳ３８に進み、用紙有り状態の連続検出回数がＮ回に満たない場合（ステップＳ３８でＮｏ）には、処理はステップＳ３９に進む。
【００３６】
ステップＳ３８では、用紙幅検出部１１３は、ＲＡＭ１３０に用紙左端位置検出完了フラグをセットして、処理を終了する。ここで、本実施の形態では、電気的ノイズ、及び、紙粉等のゴミの影響を十分に考慮して、１度のみの用紙有り検出で用紙左端位置を確定せず、複数回連続で用紙有り状態が検出された場合のみ、用紙左端位置を確定している。
一方、ステップＳ３９では、用紙幅検出部１１３は、ＲＡＭ１３０に記憶されている用紙有り状態検出カウンタに１を加算して、処理を終了する。
【００３７】
図７は、図４のステップＳ１９における用紙右端位置の検出処理を示すフローチャートである。
この用紙右端位置の検出処理は、上述した用紙給紙動作の中で実施され、給紙された用紙の位置を確認するために実施される。
用紙右端位置の検出は、一定の間隔で用紙の有無を検出する制御であるため、用紙幅検出部１１３は、用紙幅検出のタイミングであるか否かを確認する（Ｓ４０）。用紙幅検出のタイミングである場合（Ｓ４０でＹｅｓ）には、処理はステップＳ４１に進み、用紙幅検出のタイミングでない場合（Ｓ４０でＮｏ）には、用紙幅検出部１１３は、用紙幅検出のタイミングとなるまで待機する。
【００３８】
ステップＳ４１では、用紙幅検出部１１３は、用紙幅検出センサ１０４の出力レベル（ＰＬ）を読み出す。
そして、用紙幅検出部１１３は、ステップＳ４１で読み出された出力レベルと、用紙有無判断値とを比較する（Ｓ４２）。
用紙幅検出部１１３は、ステップＳ４２での比較結果で、用紙ＰＡの有無を検出する（Ｓ４３）。例えば、ステップＳ４１で読み出された出力レベルが用紙有無判断値以下である場合には、用紙幅検出部１１３は、用紙無し状態を検出したと判断する。
そして、用紙有り状態が検出された場合（ステップＳ４３でＮｏ）には、処理はステップＳ４４に進み、用紙無し状態が検出された場合（ステップＳ４３でＹｅｓ）には、処理はステップＳ４５に進む。
【００３９】
ステップＳ４４では、用紙幅検出部１１３は、用紙の右端の位置を検出したことを示す用紙右端位置検出完了フラグをクリアし、ＲＡＭ１３０に用紙右端位置が記憶されている場合には、記憶されている用紙右端位置をクリアする。さらに、ＲＡＭ１３０に記憶されている用紙無し状態検出カウンタを初期値（例えば、０）に戻す。ここで、用紙無し状態検出カウンタは、用紙無し状態が連続して検出された回数を示すカウンタである。
【００４０】
ステップＳ４５では、用紙幅検出部１１３は、ステップＳ４３で検出された用紙無し状態が、用紙右端位置の走査を開始してから、最初に検出されたものであるか否かを判断する。例えば、用紙幅検出部１１３は、ＲＡＭ１３０に記憶されている用紙無し状態検出カウンタが初期値である場合には、用紙無し状態が最初に検出されたものであると判断することができる。最初のものである場合（ステップＳ４５でＹｅｓ）には、処理はステップＳ４６に進み、最初のものではない場合（ステップＳ４５でＮｏ）には、処理はステップＳ４７に進む。
【００４１】
ステップＳ４６では、用紙幅検出部１１３は、現在のプリントヘッド１０３の位置を用紙の右端位置としてＲＡＭ１３０に記憶させる。そして、処理はステップＳ４７に進む。
ステップＳ４７では、用紙幅検出部１１３は、ＲＡＭ１３０に記憶されている用紙無し状態検出カウンタをチェックすることで、用紙無し状態がＭ回（Ｍは、２以上の整数）連続して検出されたか否かを判断する。用紙無し状態がＭ回連続して検出された場合（ステップＳ４７でＹｅｓ）には、処理はステップＳ４８に進み、用紙無し状態の連続検出回数がＭ回に満たない場合（ステップＳ４８でＮｏ）には、処理はステップＳ４９に進む。
【００４２】
ステップＳ４８では、用紙幅検出部１１３は、ＲＡＭ１３０に用紙右端位置検出完了フラグをセットして、処理を終了する。ここで、本実施の形態では、電気的ノイズ、及び、紙粉等のゴミの影響を十分に考慮して、１度のみの用紙無し検出で用紙右端位置を確定せず、複数回連続で用紙無し状態が検出された場合のみ、用紙右端位置を確定している。
一方、ステップＳ４９では、用紙幅検出部１１３は、ＲＡＭ１３０に記憶されている用紙無し状態検出カウンタに１を加算して、処理を終了する。
【００４３】
図８及び図９は、用紙幅の検出処理で使用される用紙有無判断値の生成処理を示すフローチャートである。
用紙有無判断値の生成処理は、プリンタ１００が製造された時及びプリンタ１００の修理を実施した時に実行される。例えば、プリンタ１００の図示しない入力部に、用紙有無判断値の生成処理を開始する指示の入力があった場合に、図８及び図９の処理はスタートされる。
【００４４】
まず、用紙有無判断値生成部１１１は、今回の処理が用紙有無判断値の初期値の生成処理であるか否かを判断する（Ｓ５０）。例えば、用紙有無判断値生成部１１１は、ＲＯＭ１２０に第１の用紙有無判断値１２１が記憶されているか否かで、この判断を行うことができる。用紙有無判断値の初期値の生成処理である場合（ステップＳ５０でＹｅｓ）には、処理はステップＳ５１に進み、用紙有無判断値の初期値の生成処理ではない場合（ステップＳ５０でＮｏ）には、処理はステップＳ５２に進む。
ステップＳ５１では、用紙有無判断値生成部１１１は、用紙有無判断値の初期値の生成であることを示す情報をＲＡＭ１３０にセットする。このような情報がセットされると、用紙有無判断値の初期値設定モードとなる。
【００４５】
ステップＳ５２では、用紙有無判断値生成部１１１は、プリンタ１００に実装されている全ての用紙検出センサ１０２の出力レベル（ＰＥ＿Ｌｖｌ）を読み出す。
そして、用紙有無判断値生成部１１１は、用紙検出センサ１０２の出力レベル（ＰＥ＿Ｌｖｌ）に基づいて、プリンタ１００に用紙ＰＡがセットされているか否かを判断する。用紙がセットされていない場合（Ｓ５３でＮｏ）には、処理はステップＳ５４に進む。
【００４６】
ステップＳ５４では、用紙有無判断値生成部１１１は、給紙無し状態、言い換えると、用紙ＰＡが給紙されない状態（用紙ＰＡがセットされていない状態）において、用紙幅検出センサ１０４のセンサ出力状態を計測する範囲の設定を実施する。例えば、用紙有無判断値生成部１１１は、プリンタ１００が給紙できる最大の用紙幅に対して、左右に検出マージンを追加することにより、計測範囲を設定する。
そして、用紙有無判断値生成部１１１は、プリントヘッド１０３のキャリッジ部に実装されている用紙幅検出センサ１０４の最大スキャン値（ＰＷ＿Ｍａｘ）を初期化する。この用紙幅検出センサ１０４の最大スキャン値（ＰＷ＿Ｍａｘ）は、これから実行する給紙無し状態での用紙幅検出センサ１０４の出力レベルの最大値を示すものである。ここでは、最大スキャン値（ＰＷ＿Ｍａｘ）の初期値として、「０」がセットされる。
【００４７】
用紙有無判断値生成部１１１は、用紙幅検出センサ１０４での走査を開始するため、スペースモータ駆動回路１５１に指示することで、プリントヘッド１０３を、Ｓ５４で設定した計測範囲の左端の位置へ移動させる（Ｓ５６）。
次に、用紙有無判断値生成部１１１は、スペースモータ駆動回路１５１に指示することで、プリントヘッド１０３を左方向から右方向に向かって移動させる（Ｓ５７）。
用紙有無判断値生成部１１１は、一定の間隔で給紙無し状態での用紙幅検出センサ１０４の出力レベルをリードするため、用紙幅検出センサ１０４の検出タイミングとなったか否かを確認する（Ｓ５８）。このような検出タイミングとなった場合（ステップＳ５８でＹｅｓ）には、処理は図９のステップＳ５９に進む。
【００４８】
図９のステップＳ５９では、用紙有無判断値生成部１１１は、用紙幅検出センサ１０４の出力レベル値（ＰＷ＿Ｌｖｌ）をリードする。
用紙有無判断値生成部１１１は、用紙幅検出センサ１０４の最大スキャン値（ＰＷ＿Ｍａｘ）と現在の出力レベル（ＰＷ＿Ｌｖｌ）との大小を比較する（Ｓ６０）。
そして、今回リードしたセンサの出力レベル（ＰＷ＿Ｌｖｌ）が最大スキャン値（ＰＷ＿Ｍａｘ）よりも大きい場合（ステップＳ６０でＹｅｓ）には、処理はステップＳ６２に進み、今回リードしたセンサの出力レベル（ＰＷ＿Ｌｖｌ）が最大スキャン値（ＰＷ＿Ｍａｘ）以下である場合（ステップＳ６０でＮｏ）には、処理はステップＳ６４に進む。
【００４９】
ステップＳ６２では、用紙有無判断値生成部１１１は、今回リードしたセンサの出力レベル（ＰＷ＿Ｌｖｌ）が最大スキャン値（ＰＷ＿Ｍａｘ）から予め定められたＸＸボルト以上電圧が上昇したか否かを判断する。用紙幅検出センサ１０４の走査位置に紙片、紙粉等のゴミが蓄積していると、正しく用紙無しの状態を検出できなくなる。このため、用紙有無判断値生成部１１１は、ステップＳ６２で、用紙幅検出センサ１０４のセンサ出力レベルを監視して、ゴミの存在を確認している。そして、用紙有無判断値生成部１１１は、現在のセンサ出力レベル（ＰＷ＿Ｌｖｌ）が、最大スキャン値（ＰＷ＿Ｍａｘ）からＸＸボルト以上電圧が上昇した場合（ステップＳ６４でＹｅｓ）には、ステップＳ６４に進み、ゴミがあると判断し、ステップＳ６３における最大スキャン値（ＰＷ＿Ｍａｘ）の更新を実施しない。一方、現在のセンサ出力レベル（ＰＷ＿Ｌｖｌ）が、最大スキャン値（ＰＷ＿Ｍａｘ）からＸＸボルト以上電圧が上昇していない場合（ステップＳ６４でＮｏ）には、処理はステップＳ６３に進む。
【００５０】
ステップＳ６３では、用紙有無判断値生成部１１１は、現在の出力レベル（ＰＷ＿Ｌｖｌ）で最大スキャン値（ＰＷ＿Ｍａｘ）を更新する。そして、処理はステップＳ６４に進む。
ステップＳ６４では、用紙有無判断値生成部１１１は、図８のステップＳ５４で設定された判定範囲の走査が完了したか否かを確認する。走査が完了した場合（ステップＳ６４でＹｅｓ）には、処理はステップＳ６５に進み、走査が完了していない場合（ステップＳ６４でＮｏ）には、処理は図８のステップＳ５７に戻る。
ステップＳ６５では、用紙有無判断値生成部１１１は、以上でスキャンした新しい用紙無し状態の最大スキャン値（ＰＷ＿Ｍａｘ）から、新しい用紙有無判断値を生成する。例えば、用紙有無判断値生成部１１１は、最大スキャン値（ＰＷ＿Ｍａｘ）に予め定められた値ｎ（ｎは、１以上の数）を乗算することで、用紙有無判断値を生成する。このため、用紙有無判断値は、最大スキャン値（ＰＷ＿Ｍａｘ）が大きくなればなるほど、大きな値となる。
【００５１】
次に、用紙有無判断値生成部１１１は、今回の処理が用紙有無判断値の初期値の生成処理であるか否かを確認する（Ｓ６６）。例えば、初期値の生成であることを示す情報がＲＡＭ１３０にセットされ、初期値設定モードとなっている場合には、用紙有無判断値生成部１１１は、今回の処理が工場出荷時の用紙有無判断値の生成処理であると判断する。今回の処理が用紙有無判断値の初期値の生成処理である場合（ステップＳ６６でＹｅｓ）には、処理はステップＳ６７に進み、今回の処理が用紙有無判断値の初期値の生成処理ではない場合（ステップＳ６６でＮｏ）には、処理はステップＳ６８に進む。
ステップＳ６７では、用紙有無判断値生成部１１１は、ステップＳ６５で生成された用紙有無判断値を第１の用紙有無判断値１２１としてＲＯＭ１２０に記憶させる。そして、処理はステップＳ７１に進む。
【００５２】
ステップＳ６８では、用紙有無判断値生成部１１１は、ステップＳ６５で生成された用紙有無判断値と、ＲＯＭ１２０に記憶されている第１の用紙有無判断値１２１とを比較する。
そして、用紙有無判断値生成部１１１は、ステップＳ６５で算出された用紙有無判断値が、ＲＯＭ１２０に記憶されている第１の用紙有無判断値１２１からＹＹボルト以上電圧が乖離しているか否かを判断する（Ｓ６９）。ＹＹボルト以上電圧が乖離している場合（ステップＳ６９でＹｅｓ）には、処理はステップＳ７０に進み、電圧の乖離がＹＹボルト未満である場合（ステップＳ６９でＮｏ）には、処理はステップＳ７１に進む。
【００５３】
ステップＳ７０では、用紙有無判断値生成部１１１は、用紙幅検出センサ１０４、走査線上にあるプラテン１０５等の装置に汚れがあると判断して、表示部１７０に清掃を促すメッセージを表示して、清掃の必要があることを通知する。
一方、ステップＳ７１では、用紙有無判断値生成部１１１は、ステップＳ６５で生成された用紙有無判断値を第２の用紙有無判断値１２２としてＲＯＭ１２０に記憶させる。
【００５４】
次に、実施の形態１において生成される用紙有無判断値について説明する。
図１０（Ａ）〜（Ｃ）は、用紙幅検出センサ１０４の出力レベル（出力電圧）の変化を説明するためのグラフである。
図１０（Ａ）は、工場出荷時の用紙幅検出センサ１０４の出力レベルの変化を示すグラフである。図１０（Ａ）に示されているように、用紙幅検出センサ１０４及びその走査線上の装置等に汚れ又はゴミが付着していないような状況においては、用紙幅検出センサ１０４の出力レベルは、０ボルトに近いレベルであることが確認できる。
本実施の形態における用紙幅検出センサ１０４では、センサから発光した光がプラテン１０５の斜行部に当たり、センサの受光部で受光する受光量が非常に低いことが確認できる。
図１０（Ｂ）は、用紙幅検出センサ１０４が汚れている、又は、プラテン１０５に埃又は紙粉等のゴミが蓄積されている場合の用紙幅検出センサ１０４の出力レベルの変化を示すグラフである。ゴミの影響により、センサから発光された光の受光量が増加し、出力レベルが上昇している。
図１０（Ｃ）は、用紙幅検出センサ１０４の走査線上に紙片等のゴミがあった場合の用紙幅検出センサ１０４の出力レベルの変化を示すグラフである。紙片等のゴミによりセンサの出力レベルが局所的に急激に上昇していることが確認できる。
【００５５】
実施の形態１においては、例えば、図９のステップＳ６２及びＳ６３において、用紙幅検出センサ１０４の出力レベルが急激に上昇している場合には、そのような値に基づいて用紙有無判断値を作成しないため、走査線上にゴミがあった場合でも、そのようなゴミの影響を回避することができる。
また、例えば、図９のステップＳ６９及びＳ７０において、プリンタ１００の修理後に生成された用紙有無判断値が、工場出荷時の用紙有無判断値から大きく乖離している場合には、清掃が必要であることを通知するようにしている。このため、用紙幅検出センサ１０４が汚れている、又は、プラテン１０５にゴミが蓄積されている等による影響を回避することができる。
従って、用紙幅検出センサ１０４及び用紙幅検出時の走査線上にあるプラテン等に存在するゴミや汚れによってセンサの出力電圧が上昇して、この出力電圧をｎ倍することで算出される用紙有無判断値も上昇し、用紙幅の検出に失敗してしまう等の問題を解決することができる。
【００５６】
以上に記載した実施の形態１では、図９のステップＳ７０において、表示部１７０に清掃を促すメッセージを表示させているが、このような例に限定されるものではない。例えば、プリンタ１００は、清掃を促す際に点灯されるＬＥＤ等の発光部により通知を行ってもよい。また、プリンタ１００は、清掃を促す際に特定の音又はメッセージを出力するスピーカ等の音声出力部により通知を行ってもよい。
【００５７】
実施の形態２．
（構成の説明）
従来の技術のように、給紙無し状態において用紙幅検出センサ１０４の出力レベルの最高値をｎ倍することで生成された用紙有無判断値を用いて、用紙の左端位置及び右端位置を検出する場合、用紙幅検出センサ１０４が照射した光を反射し難い用紙、又は、用紙厚の薄い薄紙用紙を使用した場合には、用紙有無判断値を越えるセンサの出力レベルを得ることができずに、正しく用紙幅検出を行うことができないという問題がある。
また、印刷動作や用紙搬送動作により、用紙の紙片及び埃等のゴミがプリンタ１００内部に残った場合、用紙検出センサ１０２又は用紙幅検出センサ１０４の出力レベルに影響が発生し、次の用紙給紙動作及び用紙排出動作が正常にできなくなる、又は、給紙した用紙外に印刷されるといった問題があった。
そこで、実施の形態２は、光を反射し難い用紙又は用紙厚の薄い用紙が使用された場合でも、正確に用紙幅を検出することができるようにする。
また、実施の形態２は、センサに影響を与える用紙の紙片及び埃等のゴミを容易に検出することができるようにする。
【００５８】
図３に示されているように、実施の形態２に係るプリンタ２００は、制御部としてのＣＰＵ２１０と、記憶部としてのＲＯＭ１２０及びＲＡＭ１３０と、ＬＳＩ１４０と、プリントヘッド駆動回路１５０と、スペースモータ駆動回路１５１と、フィードモータ駆動回路１５２と、インタフェース基板１６０とを備える。
実施の形態２に係るプリンタ２００は、ＣＰＵ２１０が行う機能において、実施の形態１に係るプリンタ１００と異なっている。
【００５９】
ＣＰＵ２１０は、プリンタ２００を制御する中央処理装置である。ＣＰＵ２１０は、用紙有無判断値生成部１１１、用紙給紙実行部２１２及び用紙幅検出部２１３として機能する。実施の形態２におけるＣＰＵ２１０は、用紙給紙実行部２１２及び用紙幅検出部２１３としての機能において、実施の形態１におけるＣＰＵ１１０と異なっている。
用紙給紙実行部２１２は、プリンタ２００にセットされた用紙ＰＡを搬送する処理を制御する。
用紙幅検出部２１３は、プリンタ２００にセットされた用紙ＰＡの左端、右端及び用紙幅の検出を行う。
本実施の形態における用紙給紙実行部２１２及び用紙幅検出部２１３は、走査線上のゴミの検出を行う。
【００６０】
（動作の説明）
図１１及び図１２は、実施の形態２に係るプリンタ２００での用紙給紙動作を示すフローチャートである。
この用紙給紙動作には、プリンタ２００にセットされた用紙ＰＡを印刷位置（画像形成位置）までフィードする制御とともに、プリンタ２００が給紙している用紙ＰＡの幅を計測する制御も含まれる。なお、ここで説明する制御は、葉書又はＡ４サイズの用紙ＰＡである単票用紙を例にして説明する。
なお、図１１及び図１２は、実施の形態１における図４及び図５に示されたフローの代わりに行われるフローである。ここで、図１１及び図１２のフローにおいて、図４及び図５のフローにおける処理と同様の処理については、図４及び図５における処理と同じ符号を付す。
【００６１】
図１１におけるステップＳ１０〜Ｓ１５までの処理については、図４におけるステップＳ１０〜Ｓ１５までの処理と同様である。但し、図１１のステップＳ１５の後は、処理はステップＳ８０に進む。
【００６２】
ステップＳ８０においては、用紙幅検出部２１３は、用紙左端位置の検出処理を開始する。用紙左端位置の検出処理については、図１３及び図１４を用いて詳細に説明する。そして、処理はステップＳ１７に進む。
ステップＳ１７では、用紙幅検出部２１３は、用紙左端位置が検出されたか否かを確認する。用紙左端位置が検出されていない場合（ステップＳ１７でＮｏ）には、処理はステップＳ１８に進み、用紙左端位置が検出された場合（ステップＳ１７でＹｅｓ）には、処理はステップＳ８１に進む。
【００６３】
ステップＳ８１では、用紙幅検出部２１３は、ステップＳ１２で算出された用紙の最左端のセンサ位置と、ステップＳ８０で検出された用紙左端位置とを比較する。
そして、用紙幅検出部２１３は、ステップＳ８０で検出された用紙左端位置が適正であるか否かを判断する（Ｓ８２）。例えば、用紙幅検出部２１３は、ステップＳ１２で算出された用紙の最左端のセンサ位置と、そのセンサ位置の左隣のセンサ位置との間に、ステップＳ８０で検出された用紙左端位置が入っている場合には、それが適正であると判断する。それが適正である場合（ステップＳ８２でＹｅｓ）には、処理は図１２のステップＳ８３に進み、それが適正ではない場合（ステップＳ８２でＮｏ）には、処理は図１２のステップＳ２２に進む。
【００６４】
図１２のステップＳ８３においては、用紙幅検出部２１３は、用紙右端位置の検出処理を開始する。用紙右端位置の検出処理については、図１５及び図１６を用いて詳細に説明する。そして、処理はステップＳ２０に進む。
ステップＳ２０では、用紙幅検出部２１３は、用紙右端位置が検出されたか否かを確認する。用紙右端位置が検出されていない場合（ステップＳ２０でＮｏ）には、処理はステップＳ２１に進み、用紙右端位置が検出された場合（ステップＳ２０でＹｅｓ）には、処理はステップＳ８４に進む。
【００６５】
ステップＳ８４では、用紙幅検出部２１３は、ステップＳ１２で算出された用紙の最右端のセンサ位置と、ステップＳ８３で検出された用紙右端位置とを比較する。
そして、用紙幅検出部２１３は、ステップＳ８３で検出された用紙右端位置が適正であるか否かを判断する（Ｓ８５）。例えば、用紙幅検出部２１３は、ステップＳ１２で算出された用紙の最右端のセンサ位置と、そのセンサ位置の右隣のセンサ位置との間に、ステップＳ８３で検出された用紙右端位置が入っている場合には、それが適正であると判断する。それが適正である場合（ステップＳ８５でＹｅｓ）には、処理はステップＳ２３に進み、それが適正ではない場合（ステップＳ８５でＮｏ）には、処理はステップＳ２２に進む。
【００６６】
図１２のステップＳ２１〜Ｓ２９までの処理は、図４及び図５におけるステップＳ２１〜Ｓ２９までの処理と同様である。
【００６７】
図１３及び図１４は、図１１のステップＳ８０における用紙左端位置の検出処理を示すフローチャートである。
用紙左端位置の検出処理は、上述した用紙給紙動作の中で実施され、給紙された用紙ＰＡの位置と用紙ＰＡの幅を取得するために実施される。
ここで、図１３及び図１４のフローにおいて、図６のフローにおける処理と同様の処理については、図６における処理と同じ符号を付す。
【００６８】
図１３におけるステップＳ３０〜Ｓ３３までの処理及びステップＳ３５〜Ｓ３９までの処理については、図６におけるステップＳ３０〜Ｓ３３までの処理及びステップＳ３５〜Ｓ３９までの処理と同様である。但し、図１３のステップＳ３３で、用紙有り状態が検出されなかった場合（ステップＳ３３でＮｏ）には、処理は図１４のステップＳ９０に進む。
【００６９】
図１４のステップＳ９０では、用紙幅検出部２１３は、図１３のステップＳ３１で読み出した、用紙幅検出センサ１０４の出力レベル（ＰＬ）の、前回読み出した出力レベル（Ｂｅｆｏｒｅ＿Ｌｖｌ）からの増分を算出する。なお、前回の読み出した出力レベル（Ｂｅｆｏｒｅ＿Ｌｖｌ）がない場合には、用紙幅検出部２１３は、増分を０として、後の処理を進める。
次に、用紙幅検出部２１３は、図１３のステップＳ３１で読み出した、用紙幅検出センサ１０４の出力レベル（ＰＬ）を、前回読み出した出力レベル（Ｂｅｆｏｒｅ＿Ｌｖｌ）としてＲＡＭ１３０に記憶させる（Ｓ９１）。
【００７０】
用紙幅検出部２１３は、ステップＳ９０で算出された増分がＸＸボルト以上であるか否かを判断する（Ｓ９２）。その増分がＸＸボルト未満である場合（ステップＳ９２でＮｏ）には、処理はステップＳ９３に進む。一方、その増分がＸＸボルト以上である場合（ステップＳ９２でＹｅｓ）には、用紙幅検出部２１３は、用紙有り状態を検出したと判断して、処理をステップＳ９４に進める。
ステップＳ９３では、用紙幅検出部２１３は、用紙左端位置検出完了フラグをクリアし、ＲＡＭ１３０に用紙左端位置が記憶されている場合には、記憶されている用紙左端位置をクリアする。さらに、ＲＡＭ１３０に記憶されている用紙有り状態検出カウンタを初期値（例えば、０）に戻す。
【００７１】
ステップＳ９４では、用紙幅検出部２１３は、ステップＳ９２で検出された用紙有り状態が、用紙左端位置の走査を開始してから、最初に検出されたものであるか否かを判断する。最初のものである場合（ステップＳ９４でＹｅｓ）には、処理はステップＳ９５に進み、最初のものではない場合（ステップＳ９４でＮｏ）には、処理はステップＳ９６に進む。
【００７２】
ステップＳ９５では、用紙幅検出部２１３は、現在のプリントヘッド１０３の位置を用紙の左端位置としてＲＡＭ１３０に記憶させる。そして、処理はステップＳ９６に進む。
ステップＳ９６では、用紙幅検出部２１３は、ＲＡＭ１３０に記憶されている用紙有り状態検出カウンタをチェックすることで、用紙有り状態がＮ回（Ｎは、２以上の整数）連続して検出されたか否かを判断する。用紙有り状態がＮ回連続して検出された場合（ステップＳ９６でＹｅｓ）には、処理はステップＳ９７に進み、用紙有り状態の連続検出回数がＮ回に満たない場合（ステップＳ９６でＮｏ）には、処理はステップＳ９８に進む。
【００７３】
ステップＳ９７では、用紙幅検出部２１３は、ＲＡＭ１３０に用紙左端位置検出完了フラグをセットして、処理を終了する。
一方、ステップＳ９８では、用紙幅検出部２１３は、ＲＡＭ１３０に記憶されている用紙有り状態検出カウンタに１を加算して、処理を終了する。
【００７４】
図１５及び図１６は、図１２のステップＳ８３における用紙右端位置の検出処理を示すフローチャートである。
用紙右端位置の検出処理は、上述した用紙給紙動作の中で実施され、給紙された用紙ＰＡの位置と用紙ＰＡの幅を取得するために実施される。
ここで、図１５及び図１６のフローにおいて、図７のフローにおける処理と同様の処理については、図７における処理と同じ符号を付す。
【００７５】
図１５におけるステップＳ４０〜Ｓ４２までの処理及びステップＳ４５〜Ｓ４９までの処理については、図７におけるステップＳ４０〜Ｓ４２までの処理及びステップＳ４５〜Ｓ４９までの処理と同様である。但し、図１５のステップＳ４２の後には、処理はステップＳ１００に進む。
【００７６】
ステップＳ１００では、用紙幅検出部２１３は、ステップＳ４２での比較結果で、用紙ＰＡの有無を検出する。例えば、ステップＳ４１で読み出された出力レベルが用紙有無判断値以下である場合には、用紙幅検出部２１３は、用紙無し状態を検出したと判断する。但し、図１４のフローにおいて、前回の出力レベルからの増分がＸＸボルト以上となる連続回数がＮ回以上となって、用紙有り状態が確定して用紙の左端位置が特定された場合には、ステップＳ４１で読み出された出力レベルは用紙有無判断値を超えていないため、このような場合には、ステップＳ４１で読み出された出力レベルは用紙有無判断値以下であっても、用紙幅検出部２１３は、用紙有り状態と判断する。用紙幅検出部２１３は、このような判断を行うために、図１４のフローにおいて、前回の出力レベルからの増分がＸＸボルト以上となる連続回数がＮ回以上となった場合には、そのような状態で用紙有り状態になっていることを示す情報をＲＡＭ１３０に記憶させておく。そして、用紙無し状態が検出された場合（ステップＳ１００でＮｏ）には、処理はステップＳ４５に進み、用紙有り状態が検出された場合（ステップＳ１００でＹｅｓ）には、処理は図１６のステップＳ１０１に進む。
【００７７】
図１６のステップＳ１０１では、用紙幅検出部２１３は、図１５のステップＳ４１で読み出した、用紙幅検出センサ１０４の出力レベル（ＰＬ）の、前回読み出した出力レベル（Ｂｅｆｏｒｅ＿Ｌｖｌ）からの減少分を算出する。なお、前回の読み出した出力レベル（Ｂｅｆｏｒｅ＿Ｌｖｌ）がない場合には、用紙幅検出部２１３は、減少分を０として、後の処理を進める。
次に、用紙幅検出部２１３は、図１５のステップＳ４１で読み出した、用紙幅検出センサ１０４の出力レベル（ＰＬ）を、前回読み出した出力レベル（Ｂｅｆｏｒｅ＿Ｌｖｌ）としてＲＡＭ１３０に記憶させる（Ｓ１０２）。
【００７８】
用紙幅検出部２１３は、ステップＳ１０１で算出された減少分がＸＸボルト以上であるか否かを判断する（Ｓ１０３）。その減少分がＸＸボルト未満である場合（ステップＳ１０３でＮｏ）には、処理はステップＳ１０４に進む。一方、その減少分がＸＸボルト以上である場合（ステップＳ１０３でＹｅｓ）には、用紙幅検出部２１３は、用紙無し状態を検出したと判断して、処理をステップＳ１０５に進める。
ステップＳ１０４では、用紙幅検出部２１３は、用紙右端位置検出完了フラグをクリアし、ＲＡＭ１３０に用紙右端位置が記憶されている場合には、記憶されている用紙右端位置をクリアする。さらに、ＲＡＭ１３０に記憶されている用紙無し状態検出カウンタを初期値（例えば、０）に戻す。
【００７９】
ステップＳ１０５では、用紙幅検出部２１３は、ステップＳ１０３で検出された用紙無し状態が、用紙右端位置の走査を開始してから、最初に検出されたものであるか否かを判断する。最初のものである場合（ステップＳ１０５でＹｅｓ）には、処理はステップＳ１０６に進み、最初のものではない場合（ステップＳ１０５でＮｏ）には、処理はステップＳ１０７に進む。
【００８０】
ステップＳ１０６では、用紙幅検出部２１３は、現在のプリントヘッド１０３の位置を用紙の右端位置としてＲＡＭ１３０に記憶させる。そして、処理はステップＳ１０７に進む。
ステップＳ１０７では、用紙幅検出部２１３は、ＲＡＭ１３０に記憶されている用紙無し状態検出カウンタをチェックすることで、用紙無し状態がＭ回（Ｍは、２以上の整数）連続して検出されたか否かを判断する。用紙無し状態がＭ回連続して検出された場合（ステップＳ１０７でＹｅｓ）には、処理はステップＳ１０８に進み、用紙無し状態の連続検出回数がＭ回に満たない場合（ステップＳ１０７でＮｏ）には、処理はステップＳ１０９に進む。
【００８１】
ステップＳ１０８では、用紙幅検出部２１３は、用紙右端位置検出完了フラグをセットして、処理を終了する。
一方、ステップＳ１０９では、用紙幅検出部２１３は、ＲＡＭ１３０に記憶されている用紙無し状態検出カウンタに１を加算して、処理を終了する。
【００８２】
薄紙又は光を反射しづらい用紙は、普通の用紙に比べて、用紙幅検出センサ１０４の出力レベルが、なだらかに上昇及び下降し、出力レベルが用紙有無判断値を越えないことが多い。このことから、実施の形態２においては、用紙幅検出部２１３は、出力レベルが用紙有無判断値を越えていなくても、出力レベルがＮ回連続して上昇した場合に、用紙の左端を検出したと判断し、また、出力レベルがＭ回連続して下降した場合に、用紙の左端を検出したと判断している。
なお、実施の形態２においては、出力レベルがＮ回連続して上昇した場合に、用紙の左端を検出したと判断し、また、出力レベルがＭ回連続して下降した場合に、用紙の左端を検出したと判断しているがこのような例に限定されるものではない。例えば、用紙有無判断値よりも低い補助用紙有無判断値を予め定めておき、出力レベルが用紙有無判断値以下であっても、補助用紙有無判断値よりも連続してＮ回上回った場合には、用紙有り状態を確定して、左端位置の検出を完了してもよい。このような場合には、出力レベルが補助用紙有無判断値以下となる出力レベルがＭ回連続して検出された場合に、用紙無し状態を確定して、右端位置の検出を完了してもよい。
【００８３】
図１７は、実施の形態２における用紙退避動作を示すフローチャートである。
ここで、実施の形態２における用紙退避動作は、プリンタ２００に印刷するための用紙ＰＡを給紙してから、印刷が終了し用紙ＰＡをプリンタ２００から排出する動作までの印刷動作及び用紙搬送動作において、プリンタ２００の用紙幅検出ライン上に用紙ＰＡの紙片や紙粉等のゴミが落下し、そのゴミの影響により、次の用紙給紙動作及び用紙幅検出動作が正常に動作しない場合に行われる動作である。なお、図１７に示されているフローチャートは、例えば、プリンタ２００に設けられているスイッチ等の入力部（図示せず）に、オペレータから用紙退避指示の入力があった場合、用紙給紙エラー及び用紙幅検出エラー等のエラーに基づいてＣＰＵ２１０が用紙退避コマンドを出した場合等に、開始される。
【００８４】
用紙給紙実行部２１２は、プリンタ２００に用紙ＰＡが給紙されているか否かを確認する（Ｓ１１０）。例えば、用紙給紙実行部２１２は、用紙検出センサ１０２の出力状態により、用紙ＰＡが給紙されているか否かを確認する。用紙ＰＡが給紙されている場合（Ｓ１１０でＹｅｓ）には、処理はステップＳ１１１に進む。
ステップＳ１１１では、用紙給紙実行部２１２は、用紙退避動作で実行する用紙退避のための最大フィード量を設定する。最大フィード量は、プリンタ２００がサポートしている最大の用紙ＰＡの１ページ長にマージンを設けた量になる。
そして、用紙給紙実行部２１２は、スペースモータ駆動回路１５１に指示することで、用紙中央位置を目標位置としてプリントヘッド１０３を移動させる（Ｓ１１２）。
【００８５】
用紙給紙実行部２１２は、フィードモータ駆動回路１５２に指示することで、用紙ＰＡのフィード動作を開始する（Ｓ１１３）。
そして、用紙給紙実行部２１２は、用紙検出センサ１０２の出力状態を定期的に監視することで、用紙無し状態となったか否かを判断する（Ｓ１１４）。用紙無し状態ではない場合（ステップＳ１１４でＮｏ）には、ステップＳ１１３の処理を繰り返し、用紙無し状態となった場合（ステップＳ１１４でＹｅｓ）には、処理はステップＳ１１５に進む。
【００８６】
ステップＳ１１５では、用紙給紙実行部２１２は、フィードモータ駆動回路１５２に指示することで、用紙ＰＡのフィード動作を停止する。
用紙給紙実行部２１２は、スペースモータ駆動回路１５１に指示することで、プリントヘッド１０３をプリンタ２００の最も左側に移動させる（Ｓ１１６）。
そして、用紙幅検出部２１３は、図１３及び図１４に示されている用紙左端位置検出処理と同様の処理を行い（Ｓ１１７）、用紙有り状態が検出された場合（ステップＳ１１８でＹｅｓ）には、ゴミを検出したと判断し、例えば、表示部１７０にゴミの除去を促すメッセージを表示する等により、オペレータにエラーを通知し、オペレータに対してゴミの除去を促す（Ｓ１１９）。
【００８７】
ここで、図１７のステップＳ１１７では、ゴミの検出を目的としているため、例えば、図１３のステップＳ３７及び図１４のステップＳ９６における連続検出回数Ｎの値を１にすることが望ましい。また、図１３のステップＳ９３〜Ｓ９８を行う必要はない。これにより、図１０（Ｃ）に示されているような出力レベルの変化があった場合に、エラーをオペレータに通知することができる。
【００８８】
以上のように、実施の形態２に係るプリンタ２００によれば、用紙幅検出センサ１０４の出力レベルが用紙有無判断値に満たない場合でも、用紙幅検出センサ１０４の出力レベルの上昇分をチェックし、用紙右端位置と用紙左端位置を確定することができる。このため、薄紙又は用紙幅検出センサ１０４が出力した光が反射し難い用紙等を使用しても、用紙検出を精度良く行うことができる。
【００８９】
さらに、実施の形態２に係るプリンタ２００によれば、用紙退避動作時に用紙幅検出走査上に紙片等のゴミがないか、用紙幅検出センサ１０４を用いてチェックすることができるため、このようなゴミを取り除き、用紙給紙動作時の用紙幅検出精度を向上することができる。
【００９０】
以上に記載した実施の形態２では、図１７のステップＳ１１９において、表示部１７０にゴミの除去を促すメッセージを表示させているが、このような例に限定されるものではない。例えば、プリンタ２００は、ゴミの除去を促す際に点灯されるＬＥＤ等の発光部により通知を行ってもよい。また、プリンタ２００は、ゴミの除去を促す際に特定の音又はメッセージを出力するスピーカ等の音声出力部により通知を行ってもよい。
【００９１】
実施の形態１及び２においては、本発明をシリアルドットマトリクスプリンタ１００、２００に適用したが、本発明は、このような例に限定されない。例えば、用紙の検出を反射型の光学センサや透過型の光学センサを利用したインクジェットプリンタ及び用紙搬送装置にも本発明を適用することができる。
【００９２】
以上に記載した実施の形態においては、最大スキャン値を用いて用紙有無判断値を算出したが、このような例に限定されるものではない。例えば、用紙幅検出センサ１０４からの出力レベルの最低値又は平均値等他の値であってもよい。
【符号の説明】
【００９３】
１００，２００  プリンタ、  １０１  フィードローラ、  １０２  用紙検出センサ、  １０３  プリントヘッド、  １０４  用紙幅検出センサ、  １０５  プラテン、  １１０，２１０  ＣＰＵ、  １２０  ＲＯＭ、  １３０  ＲＡＭ、  １４０  ＬＳＩ、  １５０  プリントヘッド駆動回路、  １５１  スペースモータ駆動回路、  １５２  フィードモータ駆動回路、  １６０  インタフェース基板、  １７０  表示部、  １１１  用紙有無判断値生成部、  １１２，２１２  用紙給紙実行部、  １１３，２１３  用紙幅検出部。
【図１】
0006357404.tif 000002
【図２】
0006357404.tif 000003
【図３】
0006357404.tif 000004
【図４】
0006357404.tif 000005
【図５】
0006357404.tif 000006
【図６】
0006357404.tif 000007
【図７】
0006357404.tif 000008
【図８】
0006357404.tif 000009
【図９】
0006357404.tif 000010
【図１０】
0006357404.tif 000011
【図１１】
0006357404.tif 000012
【図１２】
0006357404.tif 000013
【図１３】
0006357404.tif 000014
【図１４】
0006357404.tif 000015
【図１５】
0006357404.tif 000016
【図１６】
0006357404.tif 000017
【図１７】
0006357404.tif 000018