(57)【要約】【課題】  発光部を発光させた場合の検出信号と、消灯させた場合の検出信号を用いることで、センサー故障や、その他、光センサーを用いた処理に悪影響を与える要因をインテリジェントに検出する液体消費装置及び液体消費装置の制御方法等を提供すること。【解決手段】  液体消費装置は、発光部８２と受光部８４を有する光センサー８０と、光センサー８０に対向する面を有するプリズム３２０が配置された液体収容容器を着脱可能に保持可能なホルダー２１と、光センサー８０の出力に基づいて光センサー８０の状態を判定する判定部（故障判定部１２０）を含み、液体収容容器がホルダー２１に装着されている場合に、判定部は、発光部８２を発光させた場合の光センサー８０の検出信号と、発光部８２を消灯させた場合の光センサー８０の検出信号とに基づいて、光センサー８０の故障を検出する。【選択図】      図５
2015157439.tif 000002
【特許請求の範囲】
【請求項１】
発光部と受光部を有する光センサーと、
前記光センサーに対向する面を有するプリズムが配置された液体収容容器を着脱可能に保持可能なホルダーと、
前記光センサーの検出信号に基づいて、前記光センサーの状態を判定する判定部と、
を含み、
前記液体収容容器が前記ホルダーに装着されている場合に、
前記判定部は、
前記発光部を発光させた場合の前記光センサーの検出信号と、前記発光部を消灯させた場合の前記光センサーの検出信号とに基づいて、前記光センサーの故障を検出することを特徴とする液体消費装置。
【請求項２】
請求項１において、
前記判定部は、
前記光センサーの前記発光部から照射され、前記プリズムの底面において反射された反射光を、前記光センサーの前記受光部で受光することによる前記光センサーの検出信号に基づいて、前記光センサーの状態を判定することを特徴とする液体消費装置。
【請求項３】
請求項１又は２において、
前記判定部は、
前記発光部を消灯させた場合の前記光センサーの検出電流が第１の閾値以上と判断される場合に、前記光センサーが故障していると判定することを特徴とする液体消費装置。
【請求項４】
請求項１乃至３のいずれかにおいて、
前記判定部は、
前記発光部を発光させた場合の前記光センサーの検出信号のレベルと、前記発光部を消灯させた場合の前記光センサーの検出信号のレベルとの差分値が第２の閾値以下の場合に、前記光センサーが故障していると判定することを特徴とする液体消費装置。
【請求項５】
請求項１乃至４のいずれかにおいて、
前記判定部は、
前記光センサーの故障が非検出であり、前記発光部を消灯させた場合の前記光センサーの検出信号のレベルと、所与の基準レベルとの差分値が第３の閾値以上の場合に、外乱光有りと判定することを特徴とする液体消費装置。
【請求項６】
請求項１乃至４のいずれかにおいて、
前記ホルダーは、主走査方向に並んで配置される第１〜第Ｎの液体収容容器を保持し、
前記判定部は、
前記光センサーと前記ホルダーを相対的に移動させたときの前記第１〜第Ｎの液体収容容器の各液体収容容器に対応する前記光センサーの検出信号を取得し、前記第１の液体収容容器及び前記第Ｎの液体収容容器の少なくとも一方に対応する前記光センサーの検出信号と、第ｋ（ｋは１＜ｋ＜Ｎを満たす整数）の液体収容容器に対応する前記光センサーの検出信号の差分値が、第４の閾値以上の場合に、外乱光有りと判定することを特徴とする液体消費装置。
【請求項７】
請求項１乃至６のいずれかにおいて、
前記ホルダーは、主走査方向に並んで配置される第１〜第Ｎの液体収容容器を保持し、
前記判定部は、
前記光センサーと前記ホルダーを相対的に移動させたときの前記第１〜第Ｎの液体収容容器の各液体収容容器に対応する前記光センサーの検出信号を取得し、第ｋ（ｋは１＜ｋ＜Ｎを満たす整数）の液体収容容器に対応する前記発光部を消灯させた場合の前記光センサーの検出信号に基づいて、リーク電流の検出処理を行うことを特徴とする液体消費装置。
【請求項８】
請求項１乃至７のいずれかにおいて、
前記判定部は、
前記光センサーを消灯して前記ホルダーと前記光センサーを所定方向に相対移動させて前記光センサーを消灯させた場合の検出信号を取得し、
前記光センサーを発光して前記ホルダーと前記光センサーを前記所定方向とは反対方向に相対移動させて前記光センサーを発光させた場合の検出信号を取得することを特徴とする液体消費装置。
【請求項９】
発光部と受光部を有する光センサーと、前記光センサーに対向する面を有するプリズムが配置された液体収容容器を着脱可能に保持可能なホルダーと、を有する液体消費装置の制御方法であって、
前記液体収容容器が前記ホルダーに装着されている場合に、
前記発光部を発光させた場合の前記光センサーの検出信号と、前記発光部を消灯させた場合の前記光センサーの検出信号とに基づいて、前記光センサーの故障を検出することを特徴とする液体消費装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、液体消費装置及び液体消費装置の制御方法等に関する。
【背景技術】
【０００２】
例えば特許文献１には、インクに近い屈折率の光路部材をインクカートリッジに設け、光路部材の内側にインクが満たされている場合には発光部からの光は光路部材からインク内へ透過し、光路部材の内側のインクが空の場合には発光部からの光は光路部材の内面で全反射され、その全反射された光が受光部により検出されるインク検出装置が、開示されている。
【０００３】
また、特許文献２には、光センサーを用いてインク等の残存状態の判定を行う装置において、センサーの故障を検出する処理を行い、センサー故障が検出された場合とされない場合とで、残存状態の判定処理を変更する手法が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平５−３３２８１２号公報
【特許文献２】特開２０１３−１８８８７９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１、特許文献２のように、光を用いてインク等の液体の残存状態を判定する場合には、発光部と受光部を有する光センサーを用いることが考えられる。その場合、光センサーに故障等が発生したことにより、充分な精度で光の検出処理を行うことができなければ、当該光センサーを用いた液体の残存状態の判定も精度が低いものとなってしまう。そのため、特許文献２ではセンサー故障を考慮した残存状態判定手法が提案されている。
【０００６】
しかし特許文献２では、故障検出板の位置において、発光部を発光させた状態で受光部が受光した光に基づいてセンサー故障を検出している。具体的には、故障判定は当該状態での信号値と、所与の基準信号値の比較というシンプルな処理により実現される。そのため、故障モードを切り分けたり、外光による悪影響や、その他残存状態判定に影響を及ぼす要因を検出するようなシステムは開示されていない。
【０００７】
本発明の幾つかの態様によれば、発光部を発光させた場合の検出信号と、消灯させた場合の検出信号を用いることで、センサー故障や、その他、光センサーを用いた処理に悪影響を与える要因をインテリジェントに検出する液体消費装置及び液体消費装置の制御方法等を提供することができる。
【課題を解決するための手段】
【０００８】
本発明の一態様は、発光部と受光部を有する光センサーと、前記光センサーに対向する面を有するプリズムが配置された液体収容容器を着脱可能に保持可能なホルダーと、前記光センサーの検出信号に基づいて、前記光センサーの状態を判定する判定部と、を含み、前記液体収容容器が前記ホルダーに装着されている場合に、前記判定部は、前記発光部を発光させた場合の前記光センサーの検出信号と、前記発光部を消灯させた場合の前記光センサーの検出信号とに基づいて、前記光センサーの故障を検出する液体消費装置に関係する。
【０００９】
本発明の一態様では、発光部を発光させた場合の検出信号と、発光部を消灯させた場合の検出信号とに基づいて、光センサーの故障を検出する。よって、発光時とは異なる状況での検出信号も処理に用いることができるため、発光時の検出信号のみを用いて故障を検出する手法と比較した場合に、故障内容をより細かく切り分けできる等、インテリジェントな故障検出を行うこと等が可能になる。
【００１０】
また、本発明の一態様では、前記判定部は、前記光センサーの前記発光部から照射され、前記プリズムの底面において反射された反射光を、前記光センサーの前記受光部で受光することによる前記光センサーの検出信号に基づいて、前記光センサーの状態を判定してもよい。
【００１１】
これにより、故障検知板等の、故障検出用の部材を設けることなく故障検出処理を行うこと等が可能になる。
【００１２】
また、本発明の一態様では、前記判定部は、前記発光部を消灯させた場合の前記光センサーの検出電流が第１の閾値以上と判断される場合に、前記光センサーが故障していると判定してもよい。
【００１３】
これにより、消灯時の検出電流と閾値との比較により、故障検出を行うことが可能になる。
【００１４】
また、本発明の一態様では、前記判定部は、前記発光部を発光させた場合の前記光センサーの検出信号のレベルと、前記発光部を消灯させた場合の前記光センサーの検出信号のレベルとの差分値が第２の閾値以下の場合に、前記光センサーが故障していると判定してもよい。
【００１５】
これにより、発光時の検出信号と消灯時の検出信号の差分値と、閾値との比較により、故障検出を行うことが可能になる。
【００１６】
また、本発明の一態様では、前記判定部は、前記光センサーの故障が非検出であり、前記発光部を消灯させた場合の前記光センサーの検出信号のレベルと、所与の基準レベルとの差分値が第３の閾値以上の場合に、外乱光有りと判定してもよい。
【００１７】
これにより、消灯時の検出信号と所与の基準レベルとの差分値と、閾値との比較により、外乱光の有無を判定することが可能になる。
【００１８】
また、本発明の一態様では、前記ホルダーは、主走査方向に並んで配置される第１〜第Ｎの液体収容容器を保持し、前記判定部は、前記光センサーと前記ホルダーを相対的に移動させたときの前記第１〜第Ｎの液体収容容器の各液体収容容器に対応する前記光センサーの検出信号を取得し、前記第１の液体収容容器及び前記第Ｎの液体収容容器の少なくとも一方に対応する前記光センサーの検出信号と、第ｋ（ｋは１＜ｋ＜Ｎを満たす整数）の液体収容容器に対応する前記光センサーの検出信号の差分値が、第４の閾値以上の場合に、外乱光有りと判定してもよい。
【００１９】
これにより、所与の液体収容容器に対応する光センサーの検出信号と、他の液体収容容器に対応する光センサーの検出信号との差分値と、閾値との比較により、外乱光の有無を判定することが可能になる。
【００２０】
また、本発明の一態様では、前記ホルダーは、主走査方向に並んで配置される第１〜第Ｎの液体収容容器を保持し、前記判定部は、前記光センサーと前記ホルダーを相対的に移動させたときの前記第１〜第Ｎの液体収容容器の各液体収容容器に対応する前記光センサーの検出信号を取得し、第ｋ（ｋは１＜ｋ＜Ｎを満たす整数）の液体収容容器に対応する前記発光部を消灯させた場合の前記光センサーの検出信号に基づいて、リーク電流の検出処理を行ってもよい。
【００２１】
これにより、所与の液体収容容器に対応する消灯時の光センサーの検出信号に基づいて、リーク電流の検出処理を行うことが可能になる。
【００２２】
また、本発明の一態様では、前記判定部は、前記光センサーを消灯して前記ホルダーと前記光センサーを所定方向に相対移動させて前記光センサーを消灯させた場合の検出信号を取得し、前記光センサーを発光して前記ホルダーと前記光センサーを前記所定方向とは反対方向に相対移動させて前記光センサーを発光させた場合の検出信号を取得してもよい。
【００２３】
これにより、所定方向での相対移動と、当該所定方向の反対方向での相対移動により、発光時の検出信号と消灯時の検出信号を効率的に取得すること等が可能になる。
【００２４】
また、本発明の他の態様は、発光部と受光部を有する光センサーと、前記光センサーに対向する面を有するプリズムが配置された液体収容容器を着脱可能に保持可能なホルダーと、を有する液体消費装置の制御方法であって、前記液体収容容器が前記ホルダーに装着されている場合に、前記発光部を発光させた場合の前記光センサーの検出信号と、前記発光部を消灯させた場合の前記光センサーの検出信号とに基づいて、前記光センサーの故障を検出する液体消費装置の制御方法に関係する。
【図面の簡単な説明】
【００２５】
【図１】本実施形態における印刷装置の要部を示す斜視図。
【図２】光センサーの詳細な構成例。
【図３】光センサーの受光部の他の構成例。
【図４】インクカートリッジの要部を示す斜視図。
【図５】本実施形態における印刷装置の詳細な構成例。
【図６】インクニアエンドの検出手法についての説明図。
【図７】インクニアエンドの検出手法についての説明図。
【図８】検出電圧の特性例。
【図９】プリズム入射面からの反射光により生じるピークについての説明図。
【図１０】インクニアエンド検出処理のフローチャート。
【図１１】インクニアエンド検出処理の詳細なフローチャート。
【図１２】キャリッジと光センサーの相対位置関係の説明図。
【図１３】図１３（Ａ）、図１３（Ｂ）は発光部を発光させた場合の波形の例。
【図１４】発光部を消灯させた場合の波形の例。
【図１５】図１５（Ａ）は正常時の波形を表す模式図、図１５（Ｂ）〜図１５（Ｄ）は故障等が発生している場合の波形を表す模式図。
【図１６】図１６（Ａ）、図１６（Ｂ）は発光時と消灯時による差異、及びキャリッジと光センサーの相対位置関係を変化させた場合の差異を説明する図。
【図１７】故障検出処理のフローチャート。
【図１８】故障検出処理の詳細なフローチャート。
【図１９】図１９（Ａ）は正常時の波形を表す模式図、図１９（Ｂ）〜図１９（Ｄ）は故障等が発生している場合の波形を表す模式図。
【図２０】故障検出処理の詳細なフローチャート。
【図２１】インクカートリッジの配置例を説明する図。
【図２２】発光量の調整処理と故障検出処理の関係を説明するフローチャート。
【図２３】位置補正処理と故障検出処理の関係を説明するフローチャート。
【発明を実施するための形態】
【００２６】
以下、本実施形態について説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。
【００２７】
１．本実施形態の手法
まず本実施形態の手法について説明する。特許文献１に開示されているように、光センサーを用いて液体の残存状態を判定する手法（インクニアエンドを判定する手法）が知られている。このような手法では、光センサーが光を精度よく検出することが必要であり、光センサーに故障等が発生した場合、当該光センサーを用いた残存状態の判定結果は精度が低いものとなってしまう。
【００２８】
特許文献２に開示されているように、光センサーの故障を検出する手法も種々知られている。特許文献２では、光を全反射するミラーで構成された故障検知板が、光センサーの真上となるような位置で、発光部を発光させた状態での受光部の検出信号を用いて、故障を検知している。具体的には、所定の電圧値範囲を設定しておき、当該範囲内であれば正常、当該範囲外となった場合に故障と判定する。
【００２９】
しかしこのような手法では、故障の内容を細かく切り分けることができない。具体的には、電圧値があらかじめ定められた電圧値（上記範囲の上限値）よりも大きい場合と、電圧値があらかじめ定められた電圧値（上記範囲の下限値）よりも小さい場合とでは、故障内容が異なるということは推定できるが、それ以上の切り分けができない。
【００３０】
また、特許文献２の故障検出手法では、発光部は発光させた状態となっているが、外乱光の影響を考慮する必要がある場合、発光状態だけの判定では充分とは言えない状況も生じうる。ここでの外乱光とは、例えば液体消費装置の外部から装置内部に進入する光のことであり、具体的には液体消費装置のカバーが開けられた状態で検出される光である。
【００３１】
残存状態の判定は、理想的には、発光部により射出され、何らかの部材（特許文献２ではプリズム）で反射された反射光により行う。外乱光等の光は、残存状態判定において本来検出したくない光であり、残存状態判定への悪影響という意味ではセンサー故障と同様に検出することが望ましい。
【００３２】
しかし、発光部を発光させた状態での故障検出では、検出された光が発光部から射出された光であるのか、外乱光であるのかの切り分けができない。そのため、そもそも故障の検出結果が誤ったものになる可能性、或いは残存状態判定に悪影響があるということはわかっても、それがセンサー故障なのか外乱光等によるものなのかを識別できないといった可能性が生じうる。
【００３３】
そこで本出願人は、光センサーの故障や、外乱光、或いはその他残存状態判定に悪影響を与える要因を、切り分けて検出する手法を提案する。具体的には、本実施形態に係る液体消費装置は、図１に示したように、発光部８２と受光部８４を有する光センサー８０と、光センサー８０に対向する面を有するプリズムが配置された液体収容容器（ＩＣ１〜ＩＣ４に対応）を着脱可能に保持可能なホルダー２１と、光センサー８０の検出信号に基づいて、光センサー８０の状態を判定する判定部（図５の故障判定部１２０に対応）とを含む。ここで、液体収容容器（液体収容部）のプリズムは、ホルダー２１に装着されたときに、光センサーと対向する。そして、液体収容容器がホルダー２１に装着されている場合に、判定部は、発光部８２を発光させた場合の光センサー８０の検出信号と、発光部８２を消灯させた場合の光センサー８０の検出信号とに基づいて、光センサー８０の故障を検出する。
【００３４】
発光部８２を消灯させた場合の検出信号を用いることで、発光部８２から射出された光による故障判定への影響を抑止できる。例えば、後述するように光センサーのフォトダイオードに過剰な電流が流れている場合、グランドショートエラーと判定できるが、発光部８２が発光していれば当該発光部８２からの光、すなわち正常状態でも検出される光による電流も含まれてしまうため、故障検出における分解能が低下する。その点、発光部８２を消灯しておけば、正常状態でも検出される光がなくなるため、電流量が異常なレベルで多いか否かを精度よく判定可能である。
【００３５】
また、発光部８２が発光している場合の検出信号と消灯している場合の検出信号の差分を用いることで、外乱光等の影響を抑止して、発光部８２からの光による信号値を精度よく求めること等も可能である。本実施形態での故障検出手法の詳細については後述する。
【００３６】
また、本実施形態では、判定部は、光センサー８０の発光部８２から照射され、プリズムの底面（図６の面ＥＦ）において反射された反射光を、光センサー８０の受光部８４で受光することによる光センサー８０の検出信号に基づいて、光センサー８０の状態を判定してもよい。
【００３７】
例えば、ホルダー２１と光センサー８０の位置関係が、残存状態の判定を行う際と同じ位置関係（或いはある程度近い位置関係の範囲）となる状態で、発光部８２を発光させて故障検出を行ってもよい。このようにすれば、特許文献２とは異なり、故障検出板を設ける必要がなく、部品点数の削減や、ホルダー２１の小型化が可能になる。
【００３８】
図６等を用いて後述するように、残存状態の判定は、プリズムの面ＳＦ１やＳＦ２での反射があるか否かに基づいて行われる。しかし発光部８２からの光はプリズム底面ＥＦを全て通過するものではなく、プリズム底面ＥＦにより反射され、受光部により受光される光も含まれる。これは後述する図８の波形におけるＳｐｋ１やＳｐｋ２に対応するものであり、図８からもわかるように特徴的な信号として現れる。つまり、故障検出のために専用の部品を設けずとも、残存状態判定に用いる部品であるプリズムと開口つきホルダーを故障検出に流用することが可能である。
【００３９】
また、判定部は、発光部８２を消灯してホルダー２１と光センサー８０を所定方向に相対移動させて発光部８２を消灯させた場合の検出信号を取得し、発光部８２を発光してホルダー２１と光センサー８０を所定方向とは反対方向に相対移動させて発光部８２を発光させた場合の検出信号を取得してもよい。
【００４０】
後述するように、故障を検出するための検出信号としては、図８の波形のピークでの電圧値Ｖｐｋ１等が用いられる。そのため、ホルダー２１と光センサー８０が所与の位置関係にある状態での信号を処理に用いてもよいが、ホルダー２１と光センサー８０の相対位置関係を変化させながら信号を検出していき、そこからピークを探索するといった手法が好ましい。
【００４１】
その場合、ホルダー２１と光センサー８０とは、基準となる相対位置関係にある状態から、故障検出のために所定方向に相対移動を行い、その後、上記基準となる相対位置関係に戻るため、上記所定方向とは反対方向に相対移動することが想定される。つまり、基準となる相対位置関係が存在し、何らかの相対移動があった場合には、その後に基準となる相対位置関係に戻る、ということを前提とできるのであれば、相対移動の往路と復路とで、２回故障検出のための信号を取得する機会がある。本実施形態では、上述したように発光部８２が発光した場合と、消灯した場合とでそれぞれ検出信号を取得する必要があるから、往路復路の一方を発光に割り当て、他方を消灯に割り当てることで、無駄な相対移動を抑止して、効率よく故障検出のための信号を取得することが可能になる。
【００４２】
以下、本実施形態の液体消費装置について詳細に説明する。まず、液体消費装置の基本構成及びインクカートリッジの構成例について説明した後、液体消費装置の詳細な構成例を説明し、さらに液体の残存状態の判定手法（インクニアエンドの検出手法）について説明する。その後、本実施形態に係る光センサー８０の故障検出手法を説明し，最後に故障検出の処理が行われるタイミング（他の処理との関係）について説明する。
【００４３】
２．印刷装置の基本構成、インクカートリッジ
図１は、本実施形態における印刷装置（液体消費装置）の要部を示す斜視図である。図１には、互いに直交するＸ方向、Ｙ方向、Ｚ方向を示す。印刷装置の通常の使用姿勢において、印刷装置の正面方向をＸ方向とし、鉛直方向をＺ方向とする。例えばＸ方向を例にとると、矢印の向く方向を＋Ｘ方向（又は単にＸ方向）と呼び、その反対方向を−Ｘ方向と呼ぶ。
【００４４】
図１の印刷装置は、インクカートリッジＩＣ１〜ＩＣ４（液体容器、液体収容容器）と、インクカートリッジＩＣ１〜ＩＣ４を着脱可能に収容するホルダー２１を備えるキャリッジ２０と、ケーブル３０と、紙送りモーター４０と、キャリッジモーター５０と、キャリッジ駆動ベルト５５と、光センサー８０（検出部）を含む。なお、ホルダー２１とキャリッジ２０は一体の部材として形成されてもよいし、別体の部材として形成されてキャリッジ２０にホルダー２１が組み付けられてもよい。
【００４５】
インクカートリッジＩＣ１〜ＩＣ４には、それぞれ一色ずつのインク（液体、印刷材）が収容される。ホルダー２１には、インクカートリッジＩＣ１〜ＩＣ４が着脱可能に装着される。キャリッジ２０の−Ｚ方向の面には、ヘッドが設けられている。インクカートリッジＩＣ１〜ＩＣ４から供給されるインクは、ヘッドから記録媒体に向かって吐出される。記録媒体は、例えば印刷紙である。キャリッジ２０は、ケーブル３０により制御部（後述する図５の制御部１００）に接続されており、このケーブル３０を介して制御部により吐出制御が行われる。紙送りモーター４０は、紙送りローラー（図５の紙送りローラー４５）を回転駆動し、図１に示すＸ方向に印刷紙を送る。キャリッジモーター５０は、キャリッジ駆動ベルト５５を駆動し、キャリッジ２０を±Ｙ方向に移動させる。これらの吐出や紙送り、キャリッジ２０の移動を制御部が制御することにより印刷動作が行われる。
【００４６】
なお以下では、キャリッジ２０を移動させる±Ｙ方向を「主走査方向」と呼び、印刷紙を紙送りするＸ方向を「副走査方向」と呼ぶ。
【００４７】
光センサー８０は、インクカートリッジＩＣ１〜ＩＣ４のインク残存状態を検出するための信号を出力する。具体的には、光センサー８０は、インクカートリッジＩＣ１〜ＩＣ４に設けられたプリズム（後述する図４のプリズム３２０）へ光を照射する発光部８２（発光素子）と、プリズムからの反射光を受光して電気信号に変換する受光部８４（受光素子）と、を含む。例えば、発光部８２はＬＥＤ（Light Emission Diode）により構成され、受光部８４はフォトトランジスターにより構成される。
【００４８】
図２に、光センサー８０の詳細な構成例を示す。光センサー８０は、反射型のフォトインタラプターとして構成されており、発光部８２及び受光部８４を有する。光センサー８０は、発光部８２としてＬＥＤを有し、受光部８４としてフォトトランジスターを有する。フォトトランジスターのエミッタ端子は接地電位ＶＳＳに接地され、コレクタ端子は、抵抗素子Ｒ１を介して電源電位Ｖｃｃに接続されている。
【００４９】
Ａ／Ｄ変換部７０には、抵抗素子Ｒ１とコレクタ端子の間の電位が、光センサー８０の出力電圧Ｖｃ（受光結果信号）として入力される。Ａ／Ｄ変換された出力電圧は、残存判定部１３０に入力される。発光部８２が照射する光の発光量は、トランジスターＴＲ１と抵抗素子Ｒ２、Ｒ３とキャパシターＣ１とを介して発光部８２に印加されるＰＷＭ（Pulse Width Modulation）信号のデューティー比（オン時間とオフ時間の割合）が制御部１００によって調整されることにより設定される。発光部８２から照射された光が、インクカートリッジＩＣ１〜ＩＣ４内のプリズム３２０で反射して受光部８４に受光されると、その受光量に応じた出力電圧Ｖｃが、後述するＡ／Ｄ変換部を介して残存判定部１３０に入力される。本実施形態では、受光部８４が受光する光量が多いほど、光センサー８０から出力される出力電圧Ｖｃは低くなる。
【００５０】
ただし、受光部８４の構成は図２に限定されるものではなく、受光部８４が受光する光量と、光センサー８０（受光部８４）の検出信号との関係も上述のものに限定されない。例えば、受光部８４の構成が図３に示したものであれば、受光部８４で受光する光量が多く、発生する電流量が多いほど、出力電圧Ｖｃと接地電位ＶＳＳとの差が大きくなる。すなわち、受光部８４が受光する光量が多いほど、光センサー８０から出力される出力電圧Ｖｃは高くなる。
【００５１】
光センサー８０がそもそも入射する光の量を検出するものであり、且つ受光部８４が光を電流に変換する素子であることに鑑みれば、光センサー８０の出力とは本質的には受光部８４で発生する電流量で考えるとよい。電流量で考えれば、入射する光が強いほど、出力電流が大きいという関係が成り立つため、構成によらず入射光の光量を判断することができる。以下では、受光部８４の構成が図２である例について説明するため、入射する光量が多いほど発生する電流量が多く、出力電圧Ｖｃは低いものとする。ただし、以下の説明における「出力電圧が低い（高い）」とは、本質的には「発生する電流量が多い（少ない）」と考えることが可能であり、当該電流量をどのような形式の出力信号として検出するかは種々の変形実施が可能である。
【００５２】
図４は、インクカートリッジＩＣ１〜ＩＣ４の要部を示す斜視図である。図４に示すインクカートリッジＩＣは、図１のインクカートリッジＩＣ１〜ＩＣ４の各インクカートリッジに対応する。
【００５３】
インクカートリッジＩＣは、インクを収容する直方体（略直方体を含む）のインク収容部３００と、回路基板３５０（基板）と、インクカートリッジＩＣをホルダー２１に着脱するためのレバー３４０と、ヘッドにインクを供給するインク供給口３３０と、インクカートリッジＩＣの底面３１０に設けられたプリズム３２０と、を含む。回路基板３５０の裏面には、インクカートリッジＩＣに関する情報を記憶する記憶装置３５２が実装されている。回路基板３５０の表面には、記憶装置３５２に電気的に接続される複数の端子３５４が配置されている。これらの複数の端子３５４は、インクカートリッジＩＣがホルダー２１に装着された時に、ホルダー２１に設けられた複数の本体側端子を介して、本体側の制御部（図５の制御部１００）に電気的に接続される。記憶装置３５２としては、例えばＥＥＰＲＯＭ等の不揮発性メモリーを用いることができる。
【００５４】
プリズム３２０は、発光部８２からの光に対して透明な部材で構成され、例えばポリプロピレンにより構成される。プリズム３２０は、発光部８２からの光が入射する入射面が、インクカートリッジＩＣの底面３１０に露出するように設けられる。底面３１０は、図１のホルダー２１にインクカートリッジＩＣが装着された場合に−Ｚ方向側に向く面であり、ホルダー２１には、発光部８２からの光をプリズム３２０の入射面に入射させるための開口が設けられている。即ち、ホルダー２１を備えたキャリッジ２０が図１の主走査方向（±Ｙ方向）に移動すると、インクカートリッジＩＣ１〜ＩＣ４が、順次、光センサー８０の上（＋Ｚ方向）を通過し、各インクカートリッジのプリズム３２０からの反射光が受光部８４により受光される。そして、光センサー８０は、受光部８４の受光結果を、キャリッジ２０の位置に対応したセンサー出力信号（受光結果信号）として出力する。本実施形態では、このキャリッジ２０の位置に対応したセンサー出力信号に基づいて、各インクカートリッジのインクニアエンドを検出する。
【００５５】
ここで、インクニアエンドとは、インク収容部３００に収容されたインクの残量や液面レベルが所定値以下となり、インクカートリッジＩＣのインク量が残り少ない状態のことである。例えば、インクニアエンドが検出された後に印刷を継続し、図５で後述する残量推定部１６０が推定するインク消費量（インクニアエンドを検出した後のインク消費量）が所定の量を超えた場合に、ヘッドがインクを吐出しない空打ち状態となる可能性のある状態である。
【００５６】
３．印刷装置の詳細な構成
図５に、本実施形態における印刷装置の詳細な構成例を示す。図５では、第１の方向Ｄ１を主走査方向とし、第１の方向Ｄ１に直交する第２の方向Ｄ２を副走査方向とする。なお以下では、光センサー８０が出力する受光結果信号が、図２に示したように電圧信号（以下では検出電圧と呼ぶ）である場合を例に説明する。
【００５７】
図５の印刷装置２００は、インクカートリッジＩＣ１〜ＩＣ４と、インクカートリッジＩＣ１〜ＩＣ４を着脱可能に保持するホルダー２１を備えるキャリッジ２０と、紙送りモーター４０と、紙送りローラー４５と、キャリッジモーター５０と、キャリッジ駆動ベルト５５と、Ａ／Ｄ変換部７０と、光センサー８０と、制御部１００と、表示部２１０と、インターフェース部２２０と、を含む。なお、図１で説明した構成要素と同一の構成要素については同一の符号を付し、適宜説明を省略する。
【００５８】
Ａ／Ｄ変換部７０は、光センサー８０からの検出電圧をＡ／Ｄ変換し、そのＡ／Ｄ変換後のデジタル信号を制御部１００へ出力する。具体的には、Ａ／Ｄ変換部７０は、キャリッジ２０を光センサーに対して移動させたとき、キャリッジのホームポジションに対するキャリッジの位置を検出するロータリーエンコーダーのカウント値や制御部１００を構成するＣＰＵの割り込み周期等に応じた所定の位置間隔で、検出電圧をサンプリングし、複数個のサンプリング電圧を取得する。例えば、１個のカートリッジが光センサー８０の上を通過するときに、数１０個のサンプリング電圧を取得する。
【００５９】
制御部１００は、インターフェース部２２０を介してパーソナルコンピューター２５０から画像データを受信し、その画像を印刷紙ＰＡに印刷する制御を行う。制御部１００は、駆動制御部１０５、位置補正部１１０、故障判定部１２０、残存判定部１３０、発光量決定部１４０、閾値決定部１５０、残量推定部１６０を含む。制御部１００は、例えばＣＰＵを有し、不図示のＲＯＭに記憶された制御プログラムを不図示のＲＡＭに展開し、そのＲＡＭに展開された制御プログラムをＣＰＵが実行することで制御部１００の各部として動作する。
【００６０】
駆動制御部１０５は、印刷装置２００の駆動部の制御を行う。具体的には、駆動部であるキャリッジモーター５０の制御を行う。キャリッジモーター５０を制御して、キャリッジ２０を移動させる制御を行う。これにより、キャリッジ２０に備えられるホルダー２１とヘッド２２を移動させる駆動が、キャリッジモーター５０により行われるようになる。
【００６１】
位置補正部１１０は、サンプリングされた検出電圧に基づいて、主走査方向Ｄ１におけるキャリッジ２０の位置情報を補正する。位置を補正する必要があるのは、キャリッジ２０の取り付け公差等があるからである。位置補正部１１０は、インク残存検出を行う際のプリズム中心の位置光センサーの中心とプリズムの中心が一致するキャリッジ位置（プリズムの中心の位置という。）について、実際の検出電圧に基づき、設計上の中心の位置からのズレを補正する。具体的には、各インクカートリッジの検出電圧に対してピーク検出を行い、その検出したピーク位置に基づいて、インク残存検出を行う際のプリズム中心の位置を補正する。
【００６２】
キャリッジ２０の位置は、キャリッジモーター５０に搭載されたロータリーエンコーダーの出力に基づいて把握される。即ち、ロータリーエンコーダーは、例えばキャリッジ２０のホームポジションを基準位置として、その基準位置からの移動量に応じたカウント値を出力する。各インクカートリッジのプリズム中心の位置は、それぞれロータリーエンコーダーの所定のカウント値が対応している。位置補正前においては、その各位置に対応するカウント値は、設計値に基づいてメカ的に設定されており、例えば制御部１００の不図示のＲＯＭに記憶されている。位置補正部１１０は、この各位置に対応するカウント値を、上記補正処理により補正し、その補正されたカウント値もしくは設計上の中心の位置からのずれ量を不図示のＲＡＭに書き込む。
【００６３】
故障判定部１２０は、Ａ／Ｄ変換部７０でサンプリングされた検出電圧に基づいて、光センサー８０の故障や、外乱光の有無等、光センサー８０を用いた処理に悪影響を及ぼす要因を検出する。故障判定部１２０で行われる処理の詳細については後述する。
【００６４】
残存判定部１３０は、Ａ／Ｄ変換部７０でサンプリングされた検出電圧に基づいて、各インクカートリッジについてインクニアエンドであるか否かの判定を行う。制御部１００は、インクニアエンドであると判定されたインクカートリッジについては、例えば印刷装置２００の表示部２１０や印刷装置に接続されたパーソナルコンピューター２５０の表示部にインク交換を知らせるアラームを表示させる指示を出力し、ユーザーにインクカートリッジの交換を促す。例えば、残存判定部１３０によりインクニアエンドと判定された場合に、制御部１００は、インクニアエンド判定がなされた後、残量推定部１６０により所定量のインクが消費された場合に、制御部１００はインクカートリッジが空であると判定し、インクカートリッジが交換されるまで印刷を実行しない。あるいは、残存判定部１３０によりインクニアエンドと判定されると、インクカートリッジが空であると判定し、インクカートリッジが交換されるまで印刷を実行しないこととしてもよい。
【００６５】
発光量決定部１４０は、Ａ／Ｄ変換された検出電圧及び気泡有無の判断結果に基づいて、発光部８２の発光量を決定する処理を行う。制御部１００は、決定された発光量に基づいて図２のＰＷＭ信号を制御し、発光部８２の発光量を制御する。この発光量決定処理は、後述する閾値決定処理と共にインクニアエンド検出よりも前に行われ、インクニアエンド検出は、調整された発光量により行われる。
【００６６】
残量推定部１６０は、ドットカウント（ソフトカウントとも呼ぶ）により各インクカートリッジ内のインク残量を推定する。具体的には、残量推定部１６０は、印刷ヘッドから噴射されるインク滴の数を計数し、計数されたインク滴の数とインク滴当たりの質量とを積算することでインクの使用量を算出する。そして、各インクカートリッジ内のインクの初期充填量から、算出されたインクの使用量を差し引くことでインク残量を推定する。残量推定部１６０は、こうして推定されたインクの残量を、各インクカートリッジに備えられた記憶装置３５２に適宜記録する。例えば、残量推定部１６０は、印刷装置２００の起動時に、各インクカートリッジの記憶装置３５２からインクの残量を取得して制御部１００の不図示のＲＡＭに記憶させ、電源が投入されている間には、印刷の実行や印刷ヘッドのクリーニングに伴って、このＲＡＭ内の値を更新していく。そして、例えば、印刷装置２００の電源オフ時や、各インクカートリッジの交換時、あるいは、所定のインク量を消費する毎に、更新された推定残量を各インクカートリッジの記憶装置３５２に書き戻す。なお、以下ではインク残量を推定する場合を例に説明するが、本実施形態はこれに限定されず、例えばインク消費量などの種々のインク量を推定してもよい。
【００６７】
閾値決定部１５０は、サンプリングされた検出電圧に基づいて、インクが有ると判定する場合の検出電圧とインクニアエンドと判定する場合の検出電圧を区別するための閾値を設定する。位置補正部１１０により、インクニアエンドを検出するときのプリズム中心の位置が高精度に補正されるため、より適切な閾値を設定することが可能となり、インクニアエンドの検出精度を向上できる。
【００６８】
４．インクニアエンドの検出手法
次に、インクニアエンドの検出手法について説明する。図６、図７には、インクカートリッジＩＣのプリズム３２０を通過するＹＺ平面の断面図を示す。また、図６、図７では、プリズム３２０と光センサー８０の位置関係が、インクニアエンドを検出可能な位置関係となったときの状態を示している。
【００６９】
図６に示すように、プリズム３２０の入射面ＥＦには、プリズム３２０を形成するときに生じる変形を抑制するために、空洞部ＢＰが設けられている。ホルダー２１には開口が設けられており、インクカートリッジＩＣがホルダー２１に装着されたときに開口を通して入射面ＥＦと光センサー８０が対向するように構成されている。プリズム３２０の斜面ＳＦ１、ＳＦ２はインク収容部３００の内側を向いており、インク収容部３００にインクＩＫが満たされている場合には斜面ＳＦ１、ＳＦ２はインクＩＫに接する。斜面ＳＦ１は例えば斜面ＳＦ２に直交する面であり、斜面ＳＦ１と斜面ＳＦ２は、図１のＸＺ平面に平行な平面に対して対称となるように配置される。
【００７０】
インクカートリッジＩＣにインクＩＫが満たされている場合、発光部８２からプリズム３２０に入射した光ＥＭＬは、斜面ＳＦ１からインクＩＫ内に入射する（光ＦＣＬ）。この場合、斜面ＳＦ１、ＳＦ２で反射される光ＲＴＬは非常に少なくなるため、受光部８４はほとんど光を受光しない。例えば、インクの屈折率を水の屈折率とほぼ同様の１．５と仮定し、プリズム３２０をポリプロピレンにより構成する場合、斜面ＳＦ１、ＳＦ２における全反射の臨界角は約６４度である。入射角は４５度なので、斜面ＳＦ１、ＳＦ２では全反射されず、入射光ＥＭＬはインクＩＫ内に入射する。
【００７１】
図７に示すように、インクカートリッジＩＣ内のインクＩＫが印刷のために消費され、インクカートリッジＩＣにインクＩＫが満たされていない場合を考える。プリズム３２０の斜面ＳＦ１、ＳＦ２のうち、少なくとも発光部８２からの光が照射される部分が、空気に接しているとする。この場合、発光部８２からプリズム３２０に入射した光ＥＭＬは、斜面ＳＦ１、ＳＦ２で全反射され、入射面ＥＦからプリズム３２０の外へ再び出射する（光ＲＴＬ）。受光部８４は、全反射した光ＲＴＬを受光するため、強い検出電圧が得られる。例えば、空気の屈折率を１とし、プリズム３２０をポリプロピレンにより構成する場合、斜面ＳＦ１、ＳＦ２における全反射の臨界角は約４３度である。入射角は４５度なので、入射光ＥＭＬは斜面ＳＦ１、ＳＦ２で全反射される。
【００７２】
図８に、１個のインクカートリッジＩＣが光センサー８０の上を通過した場合の検出電圧の特性例を示す。図８の横軸は、プリズム３２０と光センサー８０の相対的な位置を表し、プリズム３２０の中心と光センサー８０の中心が一致したときの位置（例えば図６に示すインクカートリッジＩＣと光センサー８０との位置関係）を“０”としている。光センサー８０の中心とは、主走査方向における発光部８２と受光部８４の中央である。縦軸は、横軸の各位置において光センサー８０から出力される検出電圧を表す。
【００７３】
図８に示すように、受光部８４の受光量がゼロに近いほど検出電圧が上限電圧Ｖｍａｘに近くなり、受光部８４の受光量が多いほど検出電圧が下限電圧Ｖｍｉｎに近くなる。受光量が所定値を越えると、検出電圧が飽和して下限電圧Ｖｍｉｎとなる。上限電圧Ｖｍａｘと下限電圧Ｖｍｉｎは、例えば、図２に示した受光部８４がコレクタ端子に出力する電圧範囲の上限電圧と下限電圧に対応する。
【００７４】
図８に示すように、検出電圧は、光センサー８０とプリズム３２０との相対位置に応じて変化する。ＳＩＫは、図６で説明したインクカートリッジＩＣがインクＩＫで満たされている場合の検出電圧特性である。この場合、受光部８４の受光量は小さいため、位置“０”において検出電圧はＶｍａｘに近くなる。位置“０”から、プリズム３２０の中心と光センサー８０の中心との相対位置が主走査方向にずれた位置ＰＫ１、ＰＫ２には、プリズム入射面ＥＦからの反射光によってピークＳｐｋ１、Ｓｐｋ２が生じる。このピークＳｐｋ１、Ｓｐｋ２については図９で後述する。
【００７５】
ＳＥＰは、図７で説明したインクカートリッジＩＣがインクＩＫで満たされていない場合の検出電圧特性である。この場合、受光部８４の受光量は多いため、位置“０”において検出電圧はＶｍｉｎに達する（あるいは、近くなる）。このように、インクカートリッジＩＣがインクＩＫで満たされているか否かによって検出電圧の特性が大きく異なっており、本実施形態では、この検出電圧の特性の違いを検出することにより、インクカートリッジのインクニアエンドを検出する。
【００７６】
具体的には、検出電圧特性ＳＩＫのピーク値Ｖｐｋ１に基づいて、ピーク値Ｖｐｋ１と下限電圧Ｖｍｉｎとの間に閾値Ｖｔｈを設定する。そして、インクカートリッジＩＣが光センサー８０の上を通る検出範囲ＤＰＲとなったときに、光センサー８０の検出電圧が閾値Ｖｔｈよりも小さい場合には、インクニアエンドであると判定し、検出電圧が閾値Ｖｔｈ以上である場合には、インクが残存していると判定する。
【００７７】
次に、図９を用いて、ピークＳｐｋ１、Ｓｐｋ２について説明する。図９に示すように、ホルダー２１には、プリズム３２０に対応して開口が設けられており、その開口の中央には、発光部８２からの光を遮光する遮光部ＳＢが設けられている。開口の中央とは、インクカートリッジＩＣがホルダー２１に装着されたときに、プリズム３２０の中心に対応する位置である。遮光部ＳＢは、主走査方向（±Ｙ方向）に交差する方向（Ｘ方向）に沿って設けられており、ホルダー２１の開口を、主走査方向に沿って並ぶ第１の開口ＡＰ１と第２の開口ＡＰ２とに分割する。
【００７８】
発光部８２からプリズムの入射面ＥＦに入射した光は、一部が反射されて受光部８４に受光される。即ち、発光部８２から入射面ＥＦへの入射角θ１と入射面ＥＦから受光部８４への反射角θ２が等しい光が、受光部８４に受光される。図８の検出電圧特性ＳＩＫに示すように、プリズムの中心と光センサーの中心が一致する位置“０”では遮光部ＳＢが存在するため入射面ＥＦからの反射光は検出されず、位置ＰＫ１、ＰＫ２では、開口ＡＰ１、ＡＰ２が存在するためピークＳｐｋ１、Ｓｐｋ２が検出される。ここで、位置ＰＫ１は、主走査方向における開口ＡＰ１の中央と光センサー８０の中央とが一致する位置であり、位置ＰＫ２は、主走査方向における開口ＡＰ２の中央と光センサー８０の中央とが一致する位置である。従って、検出電圧をもとに補正されるプリズムの中心値とは、開口ＡＰ１の主走査方向の中心と、開口ＡＰ２の主走査方向の中心との間の中央となる。なお、プリズム３２０から全反射光が返ってくる場合にも入射面ＥＦからの反射光は検出されているが、検出電圧特性ＳＥＰに示すように全反射光の信号に埋もれるため、ピークＳｐｋ１、Ｓｐｋ２は生じない。
【００７９】
図１０に、制御部１００が実行するインクニアエンド検出処理のフローチャートを示す。このフローのうちステップＳ１〜Ｓ３（インクニアエンド検出のためのパラメーターを設定するための処理）は、例えば印刷装置の電源投入時や、インクカートリッジ交換時等に実行される。また、このフローのうちステップＳ４〜Ｓ８（実際のインクニアエンド検出処理）は、例えば印刷装置の電源投入時やインクカートリッジ交換時等のほか、例えば印刷ジョブの間や印刷中の所定タイミング等で実行される。
【００８０】
図１０に示すように、処理が開始されると、制御部１００は、以降の処理で用いられる各パラメーターを取得する（ステップＳ１）。具体的には、前回の感度補正処理によって決定された発光量ＰＤ１、各インクカートリッジのインクの推定残量を制御部１００の不図示のＲＯＭや，ＲＡＭから取得する。発光量ＰＤ１は、制御部のＲＯＭに記憶されている。インクの推定残量は、印刷装置２００の電源投入時、カートリッジ交換時に、制御部により各インクカートリッジの記憶装置３５２から制御部１００の不図示のＲＡＭに読み出されて記憶されているため、制御部１００は、インクの推定残量を自身の不図示のＲＡＭから取得することができる。
【００８１】
次に、発光量決定部１４０と閾値決定部１５０が、感度補正処理を実行する（ステップＳ２）。この感度補正処理では、ステップＳ５のインクニアエンド検出処理で用いられる発光量ＰＤ２を決定する処理と、インクニアエンド検出の閾値を決定する処理と、を行う。また、感度補正処理は、位置補正部１１０による位置補正処理を含むものとする。
【００８２】
具体的には、光センサーを発光量ＰＤ１で発光させながらキャリッジを光センサー上を移動させることで、各インクカートリッジの検出電圧のピークＳｐｋ１，Ｓｐｋ２を求め、発光量決定部１４０は、これらのピークのうちピーク電圧が最小のもの（各インクカートリッジのＶ＿Ｆ＿ｍｉｎのうち最小のもの）を選択する。そして、その最小のピーク電圧が所定の電圧範囲内に入るように発光部８２の発光量を調整する。発光量の調整は、最小のピーク電圧と所定電圧との比率に基づいて、発光量を制御するＰＷＭ波形のデューティーを調整することにより行う。
【００８３】
また、各インクカートリッジについて２つのピーク電圧が求め、そのうちの小さい方のピーク電圧をＶ＿Ｆ＿ｍｉｎとして求め、閾値決定部１５０は、αを所定係数とし、βを所定オフセット値として、Ｖｔｈ＝Ｖ＿Ｆ＿ｍｉｎ×α＋βにより判定閾値を求める。α、βは、検出電圧のＳ／Ｎなどを考慮して設定すればよい。閾値決定部１５０は、インクカートリッジＩＣ１〜ＩＣ４について、それぞれ閾値ＶｔｈＩＣ１〜ＶｔｈＩＣ４を求める。
【００８４】
次に、制御部１００は、感度補正処理で決定された新たな各パラメーター、即ち、新たな発光量ＰＤ２を制御部のＲＯＭに書き戻す（ステップＳ３）。
【００８５】
次に、残存判定部１３０は、制御部１００の不図示のＲＡＭから気泡有無判定の結果を読み出す（ステップＳ４）。気泡有無判定の詳細については省略するが、気泡が付着すると、インクＩＫが満たされている場合であってもプリズム３２０と空気が接するため、入射光の一部が全反射されるおそれがあり、結果として光センサー８０を用いた残存状態判定の精度が低下する。よって、感度補正処理の中では検出電圧に基づき気泡の有無を判定し、その結果をＲＡＭに書きこんでいる。気泡がある場合とない場合でインクニアエンドの検出処理の内容を変更するものとしている。ただし、気泡有無判定を省略する等、インクニアエンド検出処理は種々の変形実施が可能である。
【００８６】
図１０の例では、残存判定部１３０は、処理対象のインクカートリッジが気泡無しの場合には、そのインクカートリッジについてインクニアエンド検出処理を行う（ステップＳ５）。この処理では、感度補正処理で決定した閾値による検出電圧の閾値判定と、推定残量が所定値に達しているか否かの判定とに基づいて、インクニアエンドを判定する。インクニアエンド検出処理の詳細については、図１１で後述する。ステップＳ４において、処理対象のインクカートリッジが気泡有りの場合には、残量推定部１６０により推定されたインク残量に基づいて、インクニアエンドを検出する（ステップＳ６）。例えば、この検出処理では、後述する図１１のステップＳ４５〜Ｓ４８と同様の処理を行う。
【００８７】
次に、インクカートリッジＩＣ１〜ＩＣ４の全てについてインクニアエンド検出処理が終了したか否かを判断し（ステップＳ７）、終了していない場合には、次のインクカートリッジを処理対象としてステップＳ４を再び実行する。全インクカートリッジのインクニアエンド検出処理が終了した場合には、判定結果を表示部２１０に表示する処理を行い（ステップＳ８）、このフローの処理を終了する。
【００８８】
図１１に、インクニアエンド検出処理の詳細なフローチャートを示す。この処理が開始されると、制御部１００は、ステップＳ２で決定された発光量ＰＤ２で検出電圧を測定し、Ａ／Ｄ変換部７０はサンプリング電圧を取得し、制御部１００は、そのサンプリング電圧のうち、各カートリッジの検出範囲ＤＰＲにある電圧について不図示のＲＡＭに記憶する。残存判定部１３０は、閾値判定のためのカウント値ＶＬＣｏｕｎｔを“０”にクリアする（ステップＳ４０）。次に、処理対象のインクカートリッジ（以下では、インクカートリッジＩＣ１を例にとり説明する）について、不図示のＲＡＭに記憶された検出電圧のＡ／Ｄ変換値を、格納順に１つずつ読み出す（ステップＳ４１）。
【００８９】
次に、残存判定部１３０は、感度補正処理で求めたインクカートリッジＩＣ１の判定閾値ＶｔｈＩＣ１よりもＡ／Ｄ変換値が小さいか否かを判定する（ステップＳ４２）。Ａ／Ｄ変換値が判定閾値よりも小さいと判定された場合には、カウント値ＶＬＣｏｕｎｔをインクリメントする（ステップＳ４３）。次に、カウント値ＶＬＣｏｕｎｔが３以上であるか否かを判定する（ステップＳ４４）。即ち、インクカートリッジＩＣ１の検出領域において、サンプリングされた検出電圧のうち閾値を下まわったものが３以上であるか否かを判定する。ＶＬＣｏｕｎｔが３以上である場合には、エンプティ仮判定（インクニアエンドの仮判定）とする。
【００９０】
ＶＬＣｏｕｎｔが３以上の場合にエンプティ仮判定とするのは、実際にはインクニアエンドではないにも関わらず、例えば静電気による突発ノイズなどによってＡ／Ｄ変換値が閾値を下回る可能性があるためである。
【００９１】
残存判定部１３０は、エンプティ仮判定となったら、インクの推定残量（ソフトカウント値、ドットカウント値）が所定値より小さいか否かを判定する（ステップＳ４５）。ここで、所定値は、印刷装置及びインクカートリッジの公差や使用環境を考慮して、実際のカートリッジの残量がインクニアエンドとならないインクの推定残量である。インクの推定残量が所定値より小さくない場合には、インク有りやインクニアエンドと判定せず、処理を終了する。インクの推定残量が所定値より小さい場合には、エンプティ仮判定のカウント値Ｅ＿ｔをインクリメントする（ステップＳ４６）。カウント値Ｅ＿ｔは、インクカートリッジ毎にステップ５のインクニアエンド検出処理でインク無しと判定されてそのときのインクの推定残量が所定値より小さかった場合にインクリメントされるカウント値である。次に、残存判定部１３０は、カウント値Ｅ＿ｔが４以上であるか否かを判定する（ステップＳ４７）。Ｅ＿ｔが４以上でない場合には、インクニアエンドと判定せず、処理を終了する。Ｅ＿ｔが４以上である場合には、インクニアエンドと判定し（ステップＳ４８）、処理を終了する。
【００９２】
ステップＳ４２において、Ａ／Ｄ変換値が判定閾値よりも小さくないと判定された場合には、カウント値ＶＬＣｏｕｎｔを“０”にクリアする（ステップＳ４９）。次に、制御部１００の不図示のＲＡＭに記憶されたＡ／Ｄ変換値を全て読み出したか否かを判定する（ステップＳ５０）。読み出していないＡ／Ｄ変換値が有る場合には、ステップＳ４１に戻る。全てのＡ／Ｄ変換値を読み出した場合には、エンプティ仮判定のカウント値Ｅ＿ｔを“０”にクリアし（ステップＳ５１）、インク有りと判定し（ステップＳ５２）、処理を終了する。
【００９３】
５．光センサーの故障検出手法
次に本実施形態における光センサー８０の故障検出の手法について説明する。図１２は、キャリッジ２０が、ホームポジションＰＨから主走査方向Ｄ１に移動したときの光センサー８０とキャリッジ２０の相対的な位置関係を示す概念図である。位置Ｐ４〜Ｐ１は、インクカートリッジＩＣ１〜ＩＣ４の各々のプリズムに発光部８２からの光が当たる位置である。
【００９４】
キャリッジ２０がホームポジションＰＨから主走査方向Ｄ１に移動することで、光センサー８０とインクカートリッジＩＣ１〜ＩＣ４の各々との相対位置関係を変化させながら、受光部８４での検出信号が取得されることになる。本実施形態での故障検出は、各インクカートリッジにインクＩＫが充填された状態で行うことを想定している。よって、発光部８２が発光している場合であれば、図８のＳＩＫに示したように、各インクカートリッジについて、２つのピークＳｐｋ１とＳｐｋ２が現れる波形が取得される。そのため、インクカートリッジが図１等に示したように４つ含まれる場合であれば、図１３（Ａ）に示したように、各インクカートリッジについて２つずつ、合計８個のピークが現れる波形が取得されることになる。図１３（Ａ）のうち、１つのカートリッジに対応する波形を抽出したものが図１３（Ｂ）であり、上述したように、この波形は図８のＳＩＫに対応する。なお図１３（Ａ）、図１３（Ｂ）及び後述する図１４における横軸のＣＲ座標とは、キャリッジ２０の主走査方向Ｄ１における位置を表す座標である。ここではキャリッジ２０が移動するものとしたため、横軸をＣＲ座標としたが、図８と同様に、図１３（Ａ）〜図１４の横軸は、キャリッジ２０と光センサー８０との相対的な位置に拡張して考えることが可能である。
【００９５】
また、本実施形態では上述したように、発光部８２が消灯した状態での検出信号も用いて故障を検出する。発光部８２が消灯している場合、理想的な状況であればインクカートリッジと光センサー８０の相対位置関係によらず光が検出されないため、出力電圧（検出電圧）は電源電圧（電源電位Ｖｃｃ）に等しくなる。
【００９６】
本実施形態では、キャリッジ２０を所与の方向（例えば＋Ｙ方向）への移動と、反対方向（−Ｙ方向）への移動のうち、一方で発光部８２を消灯させることで図１４に示したような信号を取得し、他方で発光部を発光させることで図１３（Ａ）に示したような信号を取得する。そして故障判定部１２０は、これらの信号に基づいて、光センサー８０の故障を検出する。
【００９７】
具体的には、正常状態では、発光時には図１３（Ａ）のように１インクカートリッジ当たり２つのピークＳｐｋ１，Ｓｐｋ２が明確な信号波形が取得され、消灯時には位置によらず図１４のように電源電圧に近い信号波形が取得されることが期待されるため、これを基準に故障を検知すればよい。故障検出処理時に、図１３（Ａ）や図１４に近い波形が取得されれば、故障等は発生していないと判定できるし、図１３（Ａ）や図１４とは異なる波形が取得されれば、故障等が発生していると判定できる。以下、正常状態と異常状態（故障）を判別する具体的な手法について、受光部のフォトトランジスターに起因するリーク電流を考慮しない場合とする場合とに分けて説明する。
【００９８】
５．１  リーク電流を考慮しない手法
まず、リーク電流を考慮しない手法について説明する。ここでは、複数のインクカートリッジがある場合に、各カートリッジに対して処理を行う手法を説明する。光センサー８０の故障であればカートリッジ単位で処理を行う必要性は低いようにも思える。しかし、外乱光については、第１のインクカートリッジの残存状態判定時には入射しているが、第２のインクカートリッジの残存状態判定時には入射していない、といったように、カートリッジ単位に分けて考えることが有用な場合が考えられるためである。
【００９９】
よって以下では、１つのインクカートリッジに対する処理を説明し、本実施形態に係る故障検出は、当該処理をインクカートリッジの個数分繰り返すことで実現されるものとする。
【０１００】
また、本実施形態の手法では、各インクカートリッジについて、取り込み範囲内での出力電圧の最小値を用いる。ここでの取り込み範囲とは、対象のインクカートリッジについて、２つのピークＳｐｋ１，Ｓｐｋ２が充分取得できるだけの位置関係の範囲（狭義には主走査方向Ｄ１での範囲）であり、例えば各インクカートリッジの中央ポジションを基準に約±６ｍｍの範囲を用いればよい。また、各インクカートリッジについて２つのピークが取得されたとしても、そのうち出力電圧の低い（山が大きい）の１つを処理に用いればよい。以下の、図１５（Ａ）〜図１５（Ｄ）等の模式図についても所与のインクカートリッジについて取得される２つのピークのうちの１つを表したものである。
【０１０１】
図１５（Ａ）に正常状態での波形の模式図を示す。図１５（Ａ）の横軸は主走査方向Ｄ１での位置を表し、縦軸は出力電圧を表す。また、図１５（Ａ）の実線が発光部８２を発光させた場合の波形に対応し、破線が発光部８２を消灯させた場合の波形に対応する。以下、図１５（Ｂ）〜図１５（Ｄ）等についても同様である。上述したように、発光部８２が消灯時には位置によらず電源電圧Ｖｃｃに近い値が出力され、発光時には図９に示したＰＫ１、ＰＫ２のいずれかの位置に対応する状態となり、ピークが検出される。
【０１０２】
本実施形態では、まず消灯時の出力電圧を用いることで光センサー８０の故障を検出する。具体的には、判定部は、発光部８２を消灯させた場合の光センサー８０の検出電流が第１の閾値以上と判断される場合に、光センサーが故障していると判定する。
【０１０３】
ここで、光センサー８０の検出信号は、電流で表現されてもよいし電圧で表現されてもよいことは上述したとおりである。つまり、「検出電流が第１の閾値以上」とは、「検出電圧が第１の電圧閾値Ｖｔｈ１以下」と置き換えて考えることが可能である。また、光センサー８０の検出電流とは、狭義には取り込み範囲における検出電流の最大値（検出電圧の最小値）である。
【０１０４】
この場合の模式図が図１５（Ｂ）であり、図１５（Ａ）に示したように発光部８２の消灯時には出力電圧はＶｃｃに近い値となるはずであるのに、出力電圧値が小さい（狭義には接地電位ＧＮＤに近い）状態となっている。図１５（Ｂ）のようなケースでは、本来流れるべきでない過剰な電流が流れていることになり、グランドショートエラーであると推定される。具体的には、フォトダイオード等の受光部８４を構成する素子の故障により、当該素子が通電状態となっている可能性や、回路の構成上のエラーにより、出力端子とグランドが接続されてしまっている可能性が考えられる。
【０１０５】
また、本実施形態では、消灯時の出力電圧と、発光時の出力電圧の差分値を用いて故障を検出する。具体的には、判定部は、発光部８２を発光させた場合の光センサー８０の検出信号のレベルと、発光部８２を消灯させた場合の光センサー８０の検出信号のレベルとの差分値が第２の閾値以下の場合に、光センサー８０が故障していると判定する。
【０１０６】
上述してきたとおり、検出信号のレベルの差分とは、電流値の差分でもよいし電圧値の差分でもよい。発光時の出力電圧には、発光部８２から照射された光の成分が含まれるが、消灯時の出力電圧には、発光部８２から照射された光の成分が含まれない。一方、発光部８２以外に起因する光或いは信号については、発光部８２の発光、消灯の状態によらず検出されていると考えられる。すなわち、発光時と消灯時の差分を取ることで、他の光や信号による影響を抑止し、発光部８２に起因する信号成分を抽出することが可能になる。
【０１０７】
そして、検出信号のレベルの差分が閾値以下の場合の模式図が図１５（Ｃ）であり、電圧で考えれば、発光時の電圧の降下幅が図１５（Ａ）に示した正常時に比べて小さい状態となる。ここで用いている信号（図８のＶｐｋ１）と、液体の残存状態判定に用いる信号（図６のＶｍｉｎ）では、プリズム３２０における反射面がＥＦか、ＳＦ１及びＳＦ２かという違いがあるものの、発光部８２から射出され、プリズム３２０で反射され、受光部８４で受光された光であるという点では同様である。つまり、発光部８２からの光を検出したのに、当該光による検出信号のレベルが小さいということになれば、残存状態の判定の精度も低くなってしまう。また、発光部８２に起因する信号を処理に用いるのは、感度補正時や位置補正時でも同様である。
【０１０８】
よって本実施形態では、図１５（Ｃ）に示したケースでは、発光部８２の発光不良、又は受光部８４での受光感度が著しく低いという故障と判定する。
【０１０９】
また、本実施形態では、上記処理により故障が検出されなかった場合には、消灯時の出力電圧と所与の基準電圧の差分値を用いて外乱光の判定を行う。具体的には、判定部は、光センサー８０の故障が非検出であり、発光部８２を消灯させた場合の光センサー８０の検出信号のレベルと、所与の基準レベルとの差分値が第３の閾値以上の場合に、外乱光有りと判定する。
【０１１０】
上述したように、発光部８２が消灯していれば、理想的には検出される光はなく、流れる電流値は０となり、電圧の降下も０となって出力電圧はＶｃｃとなる。つまり、消灯時に出力電圧がＶｃｃに対して降下しているのであれば、それは外乱光が入射しているためであると推定することができる。この場合の模式図が図１５（Ｄ）である。なお、図１６（Ａ）、図１６（Ｂ）に発光部８２を消灯させた場合と、発光させた場合のそれぞれについて、キャリッジ２０と光センサー８０の相対位置関係の異なる２つの状態に対応する模式図を示した。図１６（Ｂ）に示したように、キャリッジ２０が光センサー８０の上部に位置する場合には、外乱光がキャリッジ２０で遮られることで、受光部８４に入射しなくなると考えられる。図１６（Ａ）、図１６（Ｂ）におけるＩｇとは、外乱光に起因する電流を表し、Ｉｃとは発光部からの光の反射光に起因する電流を表すことになる。図１５（Ｄ）において外乱光有りの場合でも横軸の値が大きい範囲で電圧値の降下幅が小さくなっているのは、このキャリッジ２０による遮蔽を表現したものである。
【０１１１】
液体の残存状態判定では、図８のＶｐｋ１とＶｍｉｎの間に残存状態判定用の閾値を設定する。そのため、外乱光の影響でＶｐｋ１が低下してしまえば、閾値の設定もシビアなものとなるし、残存状態判定も少しの誤差で誤判定が生じるおそれが出てくる。よって、本実施形態では、Ｖｃｃに対して所与の電圧閾値Ｖｔｈ３以上の電圧降下があれば、他の判定に影響を与えるレベルの外乱光が入射していると判定する。
【０１１２】
以上の処理を簡易的に表したフローチャートが図１７である。故障判定部１２０での故障判定では、まず消灯時の最小電圧（ピークＳｐｋ１又はＳｐｋ２に対応する電圧）を取得し、当該最小電圧と第１の閾値Ｖｔｈ１を比較する（ステップＳ１０１）。最小電圧がＶｔｈ１以下の場合には、図１５（Ｂ）に示したようにグランドショートエラーと判定する。
【０１１３】
また、最小電圧がＶｔｈ１より大きい場合には、発光時と消灯時の電圧差と第２の閾値Ｖｔｈ２を比較する（ステップＳ１０２）。電圧差がＶｔｈ２以下の場合には、図１５（Ｃ）に示したように、発光部８２の発光不良又は受光部８４の感度不足と判定する。
【０１１４】
ステップＳ１０２でＮｏの場合、すなわち故障が検出されなかった場合には、消灯時の最小電圧と電源電圧Ｖｃｃの電圧差と、第３の閾値Ｖｔｈ３を比較する（ステップＳ１０３）。電圧差がＶｔｈ３以上の場合には、図１５（Ｄ）に示したように外乱光が入射していると判定する。ステップＳ１０３でもＮｏの場合には、光センサー８０は故障しておらず、外乱光等の影響もないとして、正常終了する。
【０１１５】
以上の処理を詳細に表したフローチャートが図１８である。図１８は、インクカートリッジが複数設けられる場合にも対応した処理の流れを示している。図１８の処理が開始されると、まずＤｕｔｙ＝０％として発光部８２を消灯させる（ステップＳ２０１）。その状態でキャリッジ２０を往路移動（ホームポジションＰＨから離れる方向での移動）させて出力電圧を測定する（ステップＳ２０２）。そして、各インクカートリッジに対して、取り込み範囲内での出力電圧の最小値Ｖ＿ＯＦＦを求める（ステップＳ２０３）。図１のようにインクカートリッジがＩＣ１〜ＩＣ４の４つであれば、Ｖ＿ＯＦＦは４つ求められることになる。
【０１１６】
次に発光部８２を発光させる（ステップＳ２０４）。これは例えばＤｕｔｙ＝１００％とし、最大光量で発光させればよい。その状態でキャリッジ２０を復路移動（ホームポジションＰＨに近づく方向での移動）させて出力電圧を測定する（ステップＳ２０５）。そして、Ｖ＿ＯＦＦと同様に、各インクカートリッジに対して取り込み範囲内での出力電圧の最小値Ｖ＿ＯＮを求める（ステップＳ２０６）。
【０１１７】
Ｖ＿ＯＦＦ，Ｖ＿ＯＮが求められたら、まず全てのインクカートリッジについて、Ｖ＿ＯＦＦ＜Ｖｔｈ１かの判定を行う（ステップＳ２０７）。ここでのＶｔｈ１とは例えば電源電圧が３．３Ｖ程度の場合には、０．４Ｖ程度の値を用いればよい。ステップＳ２０７の判定は図１７のステップＳ１０１に対応するものであり、ステップＳ２０７でＹｅｓの場合にはグランドショートエラーと判定する。
【０１１８】
ステップＳ２０７でＮｏの場合には、全てのインクカートリッジについて、Ｖ＿ＯＦＦ−Ｖ＿ＯＮ＜Ｖｔｈ２かの判定を行う（ステップＳ２０８）。ここでのＶｔｈ２とは例えば０．１Ｖ程度の値を用いればよい。ステップＳ２０８の判定は図１７のステップＳ１０２に対応するものであり、ステップＳ２０８でＹｅｓの場合には発光部８２の発光不良又は受光部８４の感度不足と判定する。
【０１１９】
ステップＳ２０８でもＮｏの場合には、Ｖｃｃ−Ｖ＿ＯＦＦ＞Ｖｔｈ３かの判定を行う（ステップＳ２０９）。ここでのＶｔｈ３とは例えば０．２Ｖ程度の値を用いればよい。ステップＳ２０９の判定は図１７のステップＳ１０３に対応するものであり、所与のインクカートリッジに関してステップＳ２０９でＹｅｓの場合には、当該インクカートリッジについての外乱光フラグを１として（ステップＳ２１０）、外乱光有りと判定する。所与のインクカートリッジについての判定が終了したら、全てのインクカートリッジに対する処理が終了したかの判定を行い（ステップＳ２１１）、未処理のインクカートリッジがある場合には次のインクカートリッジを選択して（ステップＳ２１２）、ステップＳ２０９に戻る。
【０１２０】
ステップＳ２１１でＹｅｓとなった場合には、全てのインクカートリッジに対して外乱光の判定が行われたことになる。その場合には、外乱光フラグが１となっているインクカートリッジが存在するか否かの判定を行う（ステップＳ２１３）。ステップＳ２１３でＹｅｓの場合には、外乱光が入射しているとして、その旨をユーザーに通知する。一方、ステップＳ２１３でＮｏの場合には、故障や外乱光の入射はないものとして正常終了する。
【０１２１】
５．２  リーク電流を考慮する手法
次にリーク電流を考慮した場合の故障判定部１２０の処理について説明する。リーク電流がある場合、当該リーク電流により電圧ドロップが起こるため、故障等の判定を精度よく行うためにはリーク電流による影響を考慮するとよい。リーク電流を考慮する場合の模式図を図１９（Ａ）〜図１９（Ｄ）に示す。図１９（Ａ）は図１５（Ａ）に対応し、正常状態での波形であり、図１９（Ｂ）は図１５（Ｂ）に対応し、グランドショートエラーが発生している場合の波形である。同様に、図１９（Ｃ）は図１５（Ｃ）に対応し、発光不良又は受光部８４の感度不足時の波形であり、図１９（Ｄ）は図１５（Ｄ）に対応し、外乱光が入射している場合の波形である。
【０１２２】
図１５（Ｄ）にも示したように、発光部８２を消灯して発光部８２に起因する電圧ドロップを考慮しなくてよい状況であっても、外乱光が入射していればそれにより電圧値は下がることになる。つまり、単純に消灯時の電圧値だけを用いても、それがリーク電流によるものなのか、外乱光によるものなのかを区別することはできない。
【０１２３】
よって本実施形態では、光センサー８０とキャリッジ２０の相対的な位置関係を用いてリーク電流の判定を行う。液体消費装置の主要部の構成例は図１に示したとおりであり、図１の例であれば外乱光は主として上部（Ｚ軸正方向）から入射することになる。そのため、図１６（Ａ）や図１６（Ｂ）のＣＲ位置Ｂに示した状態のように、光センサー８０の上部にキャリッジ２０が位置する状態であれば、外乱光はキャリッジ２０により遮蔽されるため、光センサー８０の受光部８４には入射しないと考えることが可能である。例えば、インクカートリッジがＩＣ１〜ＩＣ４の順に主走査方向に並んで配置されているのであれば、ＩＣ２やＩＣ３に対する処理中では外乱光が入射しないと考えてよい。
【０１２４】
それに対して、ＩＣ１やＩＣ４のように、ホルダー２１の端部に保持されるインクカートリッジでは、図１６（Ａ）、図１６（Ｂ）のＣＲ位置Ａに示したようにキャリッジ２０による遮蔽効果が小さいため、斜め方向（例えばＹＺ平面内であってＺ軸に対して所与の角度を有する方向）から外乱光が入射する可能性がある。
【０１２５】
よって本実施形態では、ホルダー２１は、主走査方向に並んで配置される第１〜第Ｎの液体収容容器（図１のＩＣ１〜ＩＣ４に対応）を保持し、判定部は、光センサー８０とホルダー２１を相対的に移動させたときの第１〜第Ｎの液体収容容器の各液体収容容器に対応する光センサー８０の検出信号を取得し、第ｋ（ｋは１＜ｋ＜Ｎを満たす整数）の液体収容容器に対応する発光部８２を消灯させた場合の光センサーの検出信号に基づいて、リーク電流の検出処理を行う。
【０１２６】
第ｋの液体収容容器に対応する発光部８２を消灯させた場合の光センサーの検出信号とは、外乱光が入射しないと考えることができる状況での、消灯時の検出信号になる。つまりこの場合の出力電圧は、外乱光によるドロップはなく、仮に電圧値がドロップしているのであればそれはリーク電流によるものであると考えることができる。本実施形態では、このリーク電流に対応する電圧値をＶｌｅａｋとする。
【０１２７】
Ｖｌｅａｋが求められたら、リーク電流を考慮しない場合の処理における所与の電圧値をＶｌｅａｋに置き換えて考えればよい。具体的には、上述の処理では外乱光の判定においてＶｃｃとＶ＿ＯＦＦの差分を用いたが、リーク電流がある場合には、外乱光が全くなくても電圧値はＶｃｃではなくＶｌｅａｋまで降下している。つまり閾値との判定に用いる差分値は、ＶｃｃとＶ＿ＯＦＦの差分値ではなく、ＶｌｅａｋとＶ＿ＯＦＦの差分値に変更するとよい。
【０１２８】
具体的には、判定部は、光センサー８０とホルダー２１を相対的に移動させたときの第１〜第Ｎの液体収容容器の各液体収容容器に対応する光センサー８０の検出信号を取得し、第１の液体収容容器及び第Ｎの液体収容容器の少なくとも一方に対応する光センサーの検出信号と、第ｋ（ｋは１＜ｋ＜Ｎを満たす整数）の液体収容容器に対応する光センサーの検出信号の差分値が、第４の閾値（例えばＶｔｈ４）以上の場合に、外乱光有りと判定する。
【０１２９】
ここでは、第ｋの液体収容容器では外乱光を考慮しなくてもよく、第１、第Ｎの液体収容容器での判定において外乱光が入射しうる前提である。つまり、外乱光が入射している可能性がある検出信号と、外乱光がないと考えられる検出信号との差分を取れば、外乱光の有無を判定することが可能になる。
【０１３０】
この場合の故障判定部１２０での処理を詳細に表したフローチャートが図２０である。図２０のステップＳ３０１〜ステップＳ３０６については図１８のステップＳ２０１〜ステップＳ２０６と同様である。ステップＳ３０６の処理後、シアン（Ｃ）でのＶ＿ＯＦＦであるＶ＿ＯＦＦ＿Ｃと、マゼンダ（Ｍ）でのＶ＿ＯＦＦであるＶ＿ＯＦＦ＿Ｍの比較処理を行う（ステップＳ３０７）。なお、ここではインクカートリッジがＩＣ１〜ＩＣ４の４つであり、図２１に示したように、ＩＣ１がブラック（ＢＫ）、ＩＣ２がシアン、ＩＣ３がマゼンダ、ＩＣ４がイエロー（Ｙ）であるものとしている。
【０１３１】
Ｖ＿ＯＦＦ＿Ｃ≧Ｖ＿ＯＦＦ＿Ｍであれば、Ｖｌｅａｋ＝Ｖ＿ＯＦＦ＿Ｍとし（ステップＳ３０８）、そうでなければＶｌｅａｋ＝Ｖ＿ＯＦＦ＿Ｃとする（ステップＳ３０９）。ステップＳ３０７〜ステップＳ３０９は、外乱光を考慮しなくてよいインクカートリッジを対象として、最小となるＶ＿ＯＦＦをＶｌｅａｋとする処理となる。つまり、ホルダー２１に保持されるインクカートリッジの構成（数や並び順）が変化すれば、ステップＳ３０７〜ステップＳ３０９の処理も合わせて変更する必要がある。
【０１３２】
ステップＳ３０８、Ｓ３０９までで、Ｖ＿ＯＦＦ、Ｖ＿ＯＮ、Ｖｌｅａｋが求められたため、故障判定に移行する。ステップＳ３１０はステップＳ２０７と同様にグランドショートエラーの判定である。また、リーク電流が大きすぎる場合にも、当該リーク電流による残存状態等の判定への悪影響が考えられるため、リーク電流エラーについても判定を行う。具体的には、Ｖｃｃ−Ｖｌｅａｋ＞Ｖｔｈ５を満たすかの判定を行う（ステップＳ３１１）。ここでのＶｔｈ５は例えば０．１Ｖ程度の値である。ステップＳ３１１でＹｅｓの場合には、精度のよい判定ができない程度にリーク電流が多いとしてリーク電流エラーと判定する。
【０１３３】
ステップＳ３１１でＮｏの場合には、ステップＳ２０８と同様に発光不良又は受光感度不足かの判定を行う（ステップＳ３１２）。そしてステップＳ３１２でもＮｏの場合には、センサー故障は発生していないと判定できるため、外乱光判定を行う。
【０１３４】
ここでの外乱光判定は、上述したようにＶｃｃとＶ＿ＯＦＦの差分ではなく、ＶｌｅａｋとＶ＿ＯＦＦの差分を用いる。具体的には、Ｖｌｅａｋ−Ｖ＿ＯＦＦ＞Ｖｔｈ４を満たすかの判定を行う（ステップＳ３１３）。ここでのＶｔｈ４は、上述したＶｔｈ３と同様の閾値と考えられるため、０．２Ｖ程度の値を用いればよい。
【０１３５】
その後のステップＳ３１４〜ステップＳ３１７の処理については、図１８のステップＳ２１０〜ステップＳ２１３と同様であるため詳細な説明は省略する。
【０１３６】
６．センサー故障の検出処理が行われるタイミングの例
上述してきた光センサー８０の故障判定は、残存判定部１３０での残存状態の判定が行われる前に実行されることが望ましい。つまり、故障判定を残存状態判定の前処理として実行するとよい。しかし上述したように、残存状態判定の前処理としては、感度補正処理（狭義には発光量の調整と閾値の設定処理）と、位置補正処理も行われる。よってここでは、感度補正処理と故障判定処理の関係、及び位置補正処理と故障判定処理の関係について説明する。
【０１３７】
６．１  感度補正処理
残存状態の判定処理の具体例については図８等を用いて上述した。図８等からもわかるように、残存状態の判定処理では、キャリッジ２０と光センサー８０の相対位置関係を変化させた場合の、光センサーの出力波形を用いる。そのため、処理を精度よく行うためには相対位置の変化、及び液体の残存状態の変化に対する信号波形の変化が明確となる必要がある。
【０１３８】
具体的には、図８に示したように、波形がＳＩＫに対応する状態であるか、ＳＥＰに対応する状態であるかを判別する必要があり、そのためにはインクがある場合の検出電圧Ｖｐｋ１が明確であり、且つインクニアエンドでの検出電圧（ここでは下限電圧Ｖｍｉｎとするがこれには限定されない）との電圧差が十分大きくなることが望ましい。
【０１３９】
例えば光センサー８０の感度が低い場合には、Ｖｐｋ１が大きい電圧値となり（Ｖｃｃからの降下幅が小さくなり）、ピークＳｐｋ１等が不明確になってしまうし、逆に感度が高すぎる場合には、Ｖｐｋ１は小さい電圧値となり（Ｖｃｃからの降下幅が大きくなり）、Ｖｍｉｎとの差が小さくなってしまう。
【０１４０】
そこで、本実施形態では、感度補正処理として発光量の調整と、閾値の設定処理を行う。具体的には、まず所定の発光量で発光部８２を発光させた状態で、キャリッジ２０と光センサー８０を相対的に移動させて、出力電圧の波形を取得する。そして、出力電圧のうちの最も低い電圧値を、Ｖ＿Ｆｕｌｌとして求める。ここでは、カートリッジに液体が充填されている状態で処理を行うことを想定しているため、Ｖ＿Ｆｕｌｌとは図８のＳＩＫに対応するピークの電圧値を表すことになる。また複数のカートリッジが含まれる場合、Ｖ＿Ｆｕｌｌはカートリッジごとに求める必要はなく、全てのカートリッジに対応する出力電圧のうち、最小の値を採用すればよい。
【０１４１】
Ｖ＿Ｆｕｌｌが求められたら、Ｖ＿Ｆｕｌｌが所定の数値範囲に含まれるように調整を行う。例えばＶｃｃ＝３．３Ｖであるとすれば、１．４Ｖ〜１．８Ｖの範囲に含まれるようにする。このような発光量の調整を行うことで、ＳＩＫにおけるピークＳｐｋ１やＳｐｋ２は、Ｖｃｃに対して最大１．５Ｖ〜１．９Ｖ程度、電圧ドロップが生じるため、ピーク位置も明確となる。もちろん、Ｖ＿Ｆｕｌｌは複数のカートリッジのうちの１つのカートリッジについての電圧値であるため、他のカートリッジでは、ピークとなる位置でも１．５Ｖ〜１．９Ｖ程度の電圧ドロップが生じない可能性はあるが、それでもピークを識別可能な程度の発光量となることが期待される。
【０１４２】
また、液体が残存していない状態での最小電圧Ｖｐｋ１が１．４Ｖ〜１．８Ｖの範囲、或いはそれに近い範囲であれば、下限電圧Ｖｍｉｎとの電圧差は、１．３Ｖ〜１．７Ｖという十分大きな値となるため、Ｖｔｈの設定や、設定されたＶｔｈを用いた判定も容易である。
【０１４３】
本実施形態では、まずは光センサー８０の故障等は考慮せずに、上述したような発光量の調整処理を行う。図１５（Ｂ）〜図１５（Ｄ）等にも示したように、センサー故障時には検出信号は極端な値を取ることから、仮に光センサー８０が故障していれば、Ｖ＿Ｆｕｌｌを所定範囲内に収めるという調整がそもそも行えないはずである。よって、まず感度補正処理を行い、その結果発光量が調整できたのであれば、光センサー８０は故障していないと推定し、上述した故障検出処理は行わない。逆に、発光量を調整しているのにＶ＿Ｆｕｌｌを所定範囲に収めることができないのであれば、光センサー８０の故障が疑われるとして、上述した故障検出処理を行う。
【０１４４】
図２２に以上の処理の流れを説明するフローチャートを示す。発光量の調整処理が開始されると、まず発光量を前回の感度調整時に調整された発光量である初期値に設定して発光部８２を発光させる（ステップＳ４０１）。初期値はＤｕｔｙ＝２０％程度となる。そして、その状態でキャリッジ２０を移動させて出力電圧を測定し（ステップＳ４０２）、出力電圧の最小値Ｖ＿Ｆｕｌｌを求める（ステップＳ４０３）。
【０１４５】
Ｖ＿Ｆｕｌｌが求められたら、まず所定の数値範囲の下限値以上となっているかを判定する（ステップＳ４０４）。図２２では下限値を上述したように１．４Ｖとした例を示している。Ｖ＿Ｆｕｌｌが下限値以上である場合には、さらに上限値以下であるかの判定を行う（ステップＳ４０５）。図２２では上限値を上述したように１．８Ｖとした例を示している。
【０１４６】
ステップＳ４０５でＹｅｓ、すなわちＶ＿Ｆｕｌｌが所定の数値範囲内である場合には、発光量が適切な状態であるとして、発光量の調整処理を正常終了する。図２２には不図示であるが、正常終了後には閾値の設定処理等の他の感度補正処理を行ってもよい。
【０１４７】
一方、ステップＳ４０４でＮｏ、すなわちＶ＿Ｆｕｌｌが数値範囲の下限を下回っている場合には、発光量を下げられないかの判定を行う（ステップＳ４０６）。ここではＤｕｔｙ＝０％が消灯であり、発光量の下限が１％であるため、Ｄｕｔｙ＝１％かの判定を行っている。ステップＳ４０６でＮｏの場合には、発光量はまだ下げられるため、現状では発光量が強すぎるとして、Ｄｕｔｙを下げる処理を行う（ステップＳ４０７）。
【０１４８】
また、ステップＳ４０５でＮｏ、すなわちＶ＿Ｆｕｌｌが数値範囲の上限を上回っている場合には、発光量を上げられないかの判定を行う（ステップＳ４０８）。ここではＤｕｔｙ＝１００％が発光量の最大値であるため、Ｄｕｔｙ＝１００％かの判定を行っている。ステップＳ４０８でＮｏの場合には、発光量はまだ上げられるため、現状では発光量が弱すぎるとして、Ｄｕｔｙを上げる処理を行う（ステップＳ４０９）。
【０１４９】
本実施形態において問題となるのは、ステップＳ４０６でＹｅｓの場合やステップＳ４０８でＹｅｓの場合である。つまり、発光量はこれ以上下げられないのに光が強すぎると判定されたり、発光量はこれ以上上げられないのに光が弱すぎると判定される場合である。この場合、発光部８２の発光量の調整の問題というよりは、光センサー８０に何らかの故障が発生していることが疑われる。よって、ステップＳ４０６でＹｅｓの場合又はステップＳ４０８でＹｅｓの場合には、上述した故障検出処理に移行する。具体的には、図１８や図２０のフローチャートに沿った処理を実行すればよい。
【０１５０】
なお、ステップＳ４０７やステップＳ４０９のように発光量の調整が実行できた場合には、調整後の発光量で発光部８２を発光させた状態でステップＳ４０２に戻って再度処理を行えばよい。ただし、ステップＳ４０７やステップＳ４０９での発光量の調整量を適切に設定しているのであれば、調整を何回繰り返してもＶ＿Ｆｕｌｌが適切な範囲に収まらない（且つ故障判定にも移行しない）といった状況は考えにくい。よって図２２では、所定回数のリトライをしているかの判定を行い（ステップＳ４１０）、所定回数を超えている場合にはステップＳ４０２に戻らずに、インクカートリッジ側に何らかのエラーが生じているとして処理を終了するものとしている。例えば、プリズム３２０の底面ＥＦでの反射が高すぎる場合等が考えられる。
【０１５１】
６．２  位置補正処理
次に位置補正処理と故障検出処理の関係について説明する。液体の残存状態判定処理では、図８のＳＩＫとＳＥＰの波形の違いに基づいて処理を行うため、その違いが明確となる相対位置関係の範囲で信号を取得する必要がある。位置補正処理は、当該相対位置関係の範囲を決定する処理であり、詳細については省略するが、例えばＳｐｋ１やＳｐｋ２といったピーク位置を検出すればよい。つまり、位置補正処理を精度よく行うためには、波形（狭義には液体が残存している状態での波形）のピークが明確に現れる必要がある。
【０１５２】
つまり位置補正処理の前処理として（或いは位置補正処理における最初の処理として）、感度補正処理において上述したように、所定の発光量で発光部８２を発光させた状態での信号波形からＶ＿Ｆｕｌｌを求め、Ｖ＿Ｆｕｌｌが所定の数値範囲内となるように発光量を調整するとよい。上述したようにＶ＿Ｆｕｌｌは図８のＶｐｋ１に対応する電圧値であるため、この値がピーク以外の位置での電圧値と区別可能な値となるような調整を行う。
【０１５３】
ただし、感度補正処理は、残存状態判定を前提とした処理であるため、Ｖｐｋ１だけでなくインクニアエンドでの検出電圧も考慮に入れなければならない。例えば、Ｖｐｋ１が大きくなる（発光量を減らす）ことで、インクニアエンドでの検出電圧がＶｍｉｎの値よりも大きくなると、電圧値はＶｍｉｎ〜Ｖｃｃの範囲を利用できるにもかかわらず、そのうちの狭い範囲しか用いないことになり、Ｖｐｋ１とインクニアエンドでの検出電圧の差も小さくなって好ましくない。また、Ｖｐｋ１が小さすぎるとＶｍｉｎとの差が小さくなってしまい、好ましくない。
【０１５４】
上述した感度補正処理における数値範囲とは、この点を考慮したものであった。しかし位置補正処理ではインクニアエンドでの検出電圧は処理に用いられない以上、位置補正処理の前処理としての発光量の調整処理では考慮する必要はない。つまり、Ｖ＿Ｆｕｌｌの数値範囲としては、Ｓｐｋ１やＳｐｋ２といったピークが明確となるという条件を考慮すれば十分であり、図２２で示した１．４Ｖ〜１．８Ｖに比べて広い数値範囲を用いることが可能である。
【０１５５】
図２３に以上の処理の流れを説明するフローチャートを示す。上述したように、位置補正処理前の発光量の調整処理であるため、ステップＳ５０１〜ステップＳ５１０は、図２２のステップＳ４０１〜ステップＳ４１０と同様の流れとなっている。ただし、数値範囲は図２２に比べて広くてよいため、ステップＳ５０４に示した下限値はステップＳ４０４の下限値よりも小さい値となる。図２３ではステップＳ４０４の１．４Ｖに比べて小さい０．４Ｖを用いる例を示している。同様に、ステップＳ５０５に示した上限値はステップＳ４０５の上限値よりも大きい値となる。図２３ではステップＳ４０５の１．８Ｖに比べて大きい２．１Ｖを用いる例を示している。
【０１５６】
また、図２３は位置補正処理前の処理であるため、ステップＳ５０５でＹｅｓの場合には、発光量調整後の波形を用いてピーク位置を検出して位置を補正する位置補正処理に移行することになる。また、ステップＳ５０６でＹｅｓの場合又はステップＳ５０８でＹｅｓの場合に、本実施形態に係る故障検出処理を行う点は、図２２と同様である。ただし、図２３ではステップＳ５１０でＹｅｓの場合にも故障検出処理に移行する例を示したが、図２２と同様にインクカートリッジエラーと判定してもよく、図２２や図２３のフローチャートについては種々の変形実施が可能である。
【０１５７】
なお、以上のように本実施形態について詳細に説明したが、本発明の新規事項および効果から実体的に逸脱しない多くの変形が可能であることは当業者には容易に理解できるであろう。従って、このような変形例はすべて本発明の範囲に含まれるものとする。例えば、明細書又は図面において、少なくとも一度、より広義または同義な異なる用語と共に記載された用語は、明細書又は図面のいかなる箇所においても、その異なる用語に置き換えることができる。また液体消費装置の構成、動作も本実施形態で説明したものに限定されず、種々の変形実施が可能である。
【符号の説明】
【０１５８】
ＡＰ１  開口、ＡＰ２  開口、ＢＰ  空洞部、Ｃ１  キャパシター、Ｄ１  主走査方向、
Ｄ２  副走査方向、ＤＰＲ  検出範囲、ＥＦ  入射面、
ＩＣ１-ＩＣ４  インクカートリッジ、ＩＫ  インク、ＰＡ  印刷紙、
ＰＨ  ホームポジション、Ｒ１、Ｒ２  抵抗素子、ＳＢ  遮光部、
Ｓｐｋ１，Ｓｐｋ２  ピーク、ＴＲ１  トランジスター、ＶＳＳ  接地電位、
Ｖｃ  出力電圧、Ｖｃｃ  電源電位、Ｖｔｈ１-Ｖｔｈ５  閾値、２０  キャリッジ、
２１  ホルダー、２２  ヘッド、３０  ケーブル、４０  モーター、４５  ローラー、
５０  キャリッジモーター、５５  キャリッジ駆動ベルト、７０  Ａ／Ｄ変換部、
８０  光センサー、８２  発光部、８４  受光部、１００  制御部、
１０５  駆動制御部、１１０  位置補正部、１２０  故障判定部、１３０  残存判定部、
１４０  発光量決定部、１５０  閾値決定部、１６０  残量推定部、２００  印刷装置、
２１０  表示部、２２０  インターフェース部、２５０  パーソナルコンピューター、
３００  インク収容部、３１０  カートリッジの底面、３２０  プリズム、
３３０  インク供給口、３４０  レバー、３５０  回路基板、３５２  記憶装置、
３５４  端子
【図１】
2015157439.tif 000003
【図２】
2015157439.tif 000004
【図３】
2015157439.tif 000005
【図４】
2015157439.tif 000006
【図５】
2015157439.tif 000007
【図６】
2015157439.tif 000008
【図７】
2015157439.tif 000009
【図８】
2015157439.tif 000010
【図９】
2015157439.tif 000011
【図１０】
2015157439.tif 000012
【図１１】
2015157439.tif 000013
【図１２】
2015157439.tif 000014
【図１３】
2015157439.tif 000015
【図１４】
2015157439.tif 000016
【図１５】
2015157439.tif 000017
【図１６】
2015157439.tif 000018
【図１７】
2015157439.tif 000019
【図１８】
2015157439.tif 000020
【図１９】
2015157439.tif 000021
【図２０】
2015157439.tif 000022
【図２１】
2015157439.tif 000023
【図２２】
2015157439.tif 000024
【図２３】
2015157439.tif 000025