(57)【要約】【課題】ヘッド温度検出部の検出値を記録ヘッド温度に変換する変換式で用いられる定数の補正にかかる時間を短縮すること。【解決手段】開示の技術の一態様に係る液体吐出装置は、吐出ノズルから印刷媒体に液体を吐出する記録ヘッドと、画像データに基づき、前記吐出ノズルからの前記液体の吐出を制御する吐出制御部と、前記記録ヘッドの温度に応じた電気信号を出力するヘッド温度検出部と、定数を用いた変換式により、前記電気信号に基づく検出値を変換し、前記記録ヘッドの温度を取得するヘッド温度取得部と、前記記録ヘッド近傍の環境温度を検出する環境温度検出部と、前記環境温度を含む補正情報に基づき、前記定数を補正する定数補正部と、前記記録ヘッドの温度の時間変化、及び前記環境温度の時間変化に基づき、前記定数補正部による補正を実行するか否かを判定する補正実行判定部と、を有する。【選択図】図１６
2020124869.tif 000002
【特許請求の範囲】
【請求項１】
吐出ノズルから印刷媒体に液体を吐出する記録ヘッドと、
画像データに基づき、前記吐出ノズルからの前記液体の吐出を制御する吐出制御部と、
前記記録ヘッドの温度に応じた電気信号を出力するヘッド温度検出部と、
定数を用いた変換式により、前記電気信号に基づく検出値を変換し、前記記録ヘッドの温度を取得するヘッド温度取得部と、
前記記録ヘッド近傍の環境温度を検出する環境温度検出部と、
前記環境温度を含む補正情報に基づき、前記定数を補正する定数補正部と、
前記記録ヘッドの温度の時間変化、及び前記環境温度の時間変化に基づき、前記定数補正部による補正を実行するか否かを判定する補正実行判定部と、を有する
液体吐出装置。
【請求項２】
印刷媒体上を移動しながら、吐出ノズルから前記印刷媒体に液体を吐出する記録ヘッドと、
移動面における前記吐出ノズルの位置を検出する位置検出部と、
前記吐出ノズルの位置と、画像データと、に基づき、前記吐出ノズルから前記液体を吐出させる吐出制御部と、
前記記録ヘッドの温度に応じた電気信号を出力するヘッド温度検出部と、
定数を用いた変換式により、前記電気信号に基づく検出値を変換し、前記記録ヘッドの温度を取得するヘッド温度取得部と、
前記記録ヘッド近傍の環境温度を検出する環境温度検出部と、
前記環境温度を含む補正情報に基づき、前記定数を補正する定数補正部と、
前記記録ヘッドの温度の時間変化、及び前記環境温度の時間変化に基づき、前記定数補正部による補正を実行するか否かを判定する補正実行判定部と、を有する
液体吐出装置。
【請求項３】
前記定数補正部は、
前記定数補正部による補正の時に前記ヘッド温度検出部により出力された前記電気信号に基づく前記検出値と、前記定数補正部による補正の時に前記環境温度検出部により検出された前記環境温度と、を含む補正情報に基づき、前記定数を補正する請求項１、又は２に記載の液体吐出装置。
【請求項４】
前記補正実行判定部は、
前記記録ヘッドの温度の時間変化に基づいて取得されるヘッド温度変化率が予め定められたヘッド温度変化率閾値以下で、前記環境温度の時間変化に基づき取得される環境温度変化率が予め定められた環境温度変化率閾値以下で、且つ前記ヘッド温度変化率と前記環境温度変化率の差の絶対値が予め定められた変化率差閾値以下となった時に、前記補正を実行する
請求項１乃至３の何れか１項に記載の液体吐出装置。
【請求項５】
前記液体吐出装置の状態に基づき、前記補正の実行を制御する補正実行制御部と、を有する
請求項１乃至４の何れか１項に記載の液体吐出装置。
【請求項６】
前記記録ヘッドの識別情報と、前記識別情報に対応付けられた前記補正情報と、を記憶する補正情報記憶部を有し、
前記補正実行制御部は、
前記液体吐出装置に装着された前記記録ヘッドの識別情報が前記補正情報記憶部に記憶され、且つ前記識別情報に対応付けられた前記補正情報が前記補正情報記憶部に記憶されている場合に、前記定数補正部に前記補正をさせない
請求項５に記載の液体吐出装置。
【請求項７】
前記記録ヘッドの識別情報と、前記識別情報に対応付けられた前記補正情報と、前記識別情報に対応付けられた補正確定フラグ情報と、を記憶する補正情報記憶部を有し、
前記補正実行制御部は、
前記補正確定フラグ情報がオンである場合、又は、前記補正情報記憶部に記憶された前記補正情報を用いた前記変換式により、前記検出値を変換して取得される前記記録ヘッドの温度が、予め定められた有効温度範囲以内の場合に、前記定数補正部に前記補正を実行させない
請求項５、又は６に記載の液体吐出装置。
【請求項８】
前記補正実行制御部は、
前記補正確定フラグ情報がオフであって、且つ、前記補正情報記憶部に記憶された前記補正情報を用いた前記変換式により、前記検出値を変換して取得される前記記録ヘッドの温度が、予め定めた有効温度範囲外の場合に、前記補正を実行させる
請求項７に記載の液体吐出装置。
【請求項９】
前記補正を開始した後の経過時間を計測する補正時間計測部を有し、
前記補正実行制御部は、
前記補正を開始した後の経過時間が、予め定められた補正時間閾値を超えた場合に、前記定数補正部に前記補正を中止させる
請求項５乃至８の何れか１項に記載の液体吐出装置。
【請求項１０】
前記補正実行制御部が前記定数補正部に前記補正を中止させた場合に、前記液体吐出装置が備える機能の一部を制限する機能制限部を有する
請求項９に記載の液体吐出装置。
【請求項１１】
前記機能制限部は、前記記録ヘッドが前記印刷媒体に前記液体を吐出する機能を制限する
請求項１０に記載の液体吐出装置。
【請求項１２】
前記補正実行制御部が前記定数補正部に前記補正を中止させた場合に、前記補正の失敗を示す通知を表示する表示部を有する
請求項９乃至１１の何れか１項に記載の液体吐出装置。
【請求項１３】
前記記録ヘッド内の前記液体の残量を記憶する残量記憶部を有し、
前記補正実行制御部は、
前記記録ヘッド内の前記液体の残量が予め定められた残量閾値以下の場合に、前記定数補正部に前記補正を実行させない
請求項５乃至１２の何れか１項に記載の液体吐出装置。
【請求項１４】
前記残量記憶部は、前記記録ヘッドに設けられている
請求項１３に記載の液体吐出装置。
【請求項１５】
記録ヘッドに含まれる吐出ノズルから印刷媒体に液体を吐出する記録工程と、
画像データに基づき、前記吐出ノズルからの前記液体の吐出を制御する吐出制御工程と、
前記記録ヘッドの温度に応じた電気信号を出力するヘッド温度検出工程と、
定数を用いた変換式により、前記電気信号に基づく検出値を変換し、前記記録ヘッドの温度を取得するヘッド温度取得工程と、
前記記録ヘッド近傍の環境温度を検出する環境温度検出工程と、
前記環境温度を含む補正情報に基づき、前記定数を補正する定数補正工程と、
前記記録ヘッドの温度の時間変化、及び前記環境温度の時間変化に基づき、前記定数補正工程における補正を実行するか否かを判定する補正実行判定工程と、を含む
液体吐出方法。
【請求項１６】
液体吐出装置を、
記録ヘッドに含まれる吐出ノズルから印刷媒体に液体を吐出する記録部、
画像データに基づき、前記吐出ノズルからの前記液体の吐出を制御する吐出制御部、
前記記録ヘッドの温度に応じた電気信号を出力するヘッド温度検出部、
定数を用いた変換式により、前記電気信号に基づく検出値を変換し、前記記録ヘッドの温度を取得するヘッド温度出力部、
前記記録ヘッド近傍の環境温度を検出する環境温度検出部、
前記環境温度を補正情報に基づき、前記定数を補正する定数補正部、
前記記録ヘッドの温度の時間変化、及び前記環境温度の時間変化に基づき、前記定数補正部による補正を実行するか否かを判定する補正実行判定部、
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、液体吐出装置、液体吐出方法、及びプログラムに関する。
【背景技術】
【０００２】
ノートＰＣの小型化、スマートデバイスの普及等により、プリンタの小型化・携帯化のニーズが高まり、プリンタから紙搬送システムを削除することで小型化された液体吐出装置（以下、ＨＨＰ：ハンドヘルドプリンタという）が実用化されつつある。ＨＨＰでは、紙搬送システムが搭載されていないため、人が紙面上でＨＨＰを移動させ、移動中にインク等の液体が吐出されることで紙面上に画像が形成される。
【０００３】
一方、液体吐出装置では、記録ヘッド内のインクの温度に応じてインクの吐出量や吐出速度が変動し、形成される画像の品質が低下する場合がある。このようなインクの温度の影響を抑制するために、ヘッド温度検出部による記録ヘッド温度の検出値に基づき、インクの吐出制御や記録ヘッドの温度制御を行う技術が知られている。
【０００４】
また、ヘッド温度検出部の製造ばらつき等に起因する温度の検出誤差を低減させるために、液体吐出装置内の記録ヘッドの近傍に設けられた環境温度検出部の検出値を用いて、ヘッド温度検出部の検出値を記録ヘッド温度に変換する変換式で用いられるオフセット値等の定数を補正する技術が開示されている（例えば、特許文献１参照）。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１の技術では、記録ヘッド温度と記録ヘッドの近傍の環境温度とがほぼ同じ温度状態でないと、ヘッド温度検出部の検出値を記録ヘッド温度に変換する変換式で用いられる定数を、正確に補正することができない。そのため、記録ヘッド温度と記録ヘッドの近傍の環境温度とが、どちらも安定した平衡状態になるまで待つ必要があり、補正に時間がかかる場合があった。
【０００６】
本発明は、上記の点に鑑みてなされたものであって、ヘッド温度検出部の検出値を記録ヘッド温度に変換する変換式で用いられる定数の補正にかかる時間を短縮することを課題とする。
【課題を解決するための手段】
【０００７】
開示の技術の一態様に係る液体吐出装置は、吐出ノズルから印刷媒体に液体を吐出する記録ヘッドと、画像データに基づき、前記吐出ノズルからの前記液体の吐出を制御する吐出制御部と、前記記録ヘッドの温度に応じた電気信号を出力するヘッド温度検出部と、定数を用いた変換式により、前記電気信号に基づく検出値を変換し、前記記録ヘッドの温度を取得するヘッド温度取得部と、前記記録ヘッド近傍の環境温度を検出する環境温度検出部と、前記環境温度を含む補正情報に基づき、前記定数を補正する定数補正部と、前記記録ヘッドの温度の時間変化、及び前記環境温度の時間変化に基づき、前記定数補正部による補正を実行するか否かを判定する補正実行判定部と、を有する。
【発明の効果】
【０００８】
ヘッド温度検出部の検出値を記録ヘッド温度に変換する変換式で用いられる定数の補正にかかる時間を短縮することができる。
【図面の簡単な説明】
【０００９】
【図１】実施形態に係るＨＨＰによる印刷の様子の一例を説明する図である。
【図２】実施形態に係るＨＨＰのハードウェア構成の一例を説明するブロック図である。
【図３】実施形態に係る制御部のハードウェア構成の一例を説明するブロック図である。
【図４】ジャイロセンサが角速度を検出する原理を説明する図である。
【図５】ナビゲーションセンサのハードウェア構成の一例を説明するブロック図である。
【図６】ナビゲーションセンサによる移動量の検出方法の一例を説明する図であり、（ａ）は印刷媒体への光の照射を説明する図、（ｂ）はイメージデータの一例を示す図である。
【図７】実施形態に係るヘッドモジュールの構成の一例を説明するブロック図である。
【図８】ＩＪ記録ヘッドのノズル位置の一例を説明する図であり、（ａ）実施形態に係るＨＨＰの構成の一例を説明する平面図、（ｂ）はＩＪ記録ヘッドのみを説明する図である。
【図９】実施形態に係るＨＨＰの座標系と位置の算出方法の一例を説明する図であり、（ａ）はＨＨＰのＸ座標を説明する図、（ｂ）はナビゲーションセンサが検出する移動量を示す図である。
【図１０】印刷中に生じるＨＨＰの回転角の求め方の一例を説明する図である。
【図１１】目標吐出位置とノズルの位置の関係の一例を説明する図である。
【図１２】画像データ出力器とＨＨＰによる印刷動作の一例を示すフローチャートである。
【図１３】第１の実施形態に係るＨＨＰのハードウェア構成の一例を説明するブロック図である。
【図１４】第１の実施形態に係る制御部のハードウェア構成の一例を説明するブロック図である。
【図１５】第１の実施形態に係るヘッド温度センサと環境温度センサの配置の一例を説明する図である。
【図１６】第１の実施形態に係るＨＨＰの機能構成の一例を説明するブロック図である。
【図１７】第１の実施形態に係る制御部による処理の一例を示すフローチャートである。
【図１８】ＩＪ記録ヘッド温度と環境温度の時間変化の一例を説明する図である。
【図１９】第２の実施形態に係るＨＨＰの機能構成の一例を説明するブロック図である。
【図２０】第２の実施形態に係る制御部による処理の一例を示すフローチャートである。
【図２１】第２の実施形態に係る制御部による補正判定処理の一例を示すフローチャートである。
【図２２】第２の実施形態に係る制御部による再補正判定処理の一例を示すフローチャートである。
【図２３】第３の実施形態に係るＨＨＰの機能構成の一例を説明するブロック図である。
【図２４】第３の実施形態に係る制御部による補正判定処理の一例を示すフローチャートである。
【発明を実施するための形態】
【００１０】
以下、本発明を実施するための形態について図面を参照しながら説明する。
【００１１】
実施形態では、液体吐出装置の一例として、インク（液体の一例）を吐出して印刷媒体上に画像を形成するハンドヘルドプリンタ（以下、ＨＨＰという）について説明する。また、実施形態では、記録ヘッドを「ＩＪ記録ヘッド」と称する。
【００１２】
なお、実施形態の用語における印刷、画像形成、印字、記録はいずれも同義である。
【００１３】
＜実施形態に係るＨＨＰの構成＞
先ず、実施形態に係るＨＨＰについて説明する。図１は、実施形態に係るＨＨＰによる印刷の様子の一例を説明する図である。ＨＨＰ２０には、スマートフォンやＰＣ（Personal Computer）等の画像データ出力器１１から画像データが送信される。ユーザはＨＨＰ２０を把持して、印刷媒体１２（定形用紙やノート等）から浮き上がらないようにフリーハンドで走査させる。なお、このＨＨＰ２０が走査される面は、「移動面」の一例である。
【００１４】
ＨＨＰ２０は後述するようにナビゲーションセンサ３０とジャイロセンサ３１で位置を検出し、ＨＨＰ２０が目標吐出位置に移動すると、目標吐出位置で吐出すべき色のインクを吐出する。すでにインクを吐出した場所はマスクされるため（インクの吐出の対象とならないため）、ユーザは、印刷媒体１２上で任意の方向にＨＨＰ２０を走査させることで、印刷媒体１２上に画像を形成することができる。
【００１５】
印刷媒体１２からＨＨＰ２０が浮き上がらないことが好ましいのは、ナビゲーションセンサ３０が印刷媒体１２からの反射光を利用して移動量を検出するためである。印刷媒体１２からＨＨＰ２０が浮き上がると反射光を検出できなくなり移動量を検出できない。印刷媒体１２からナビゲーションセンサ３０がはみ出した場合も、印刷媒体１２の厚みにより反射光を検出できなくなったり、検出できても位置がずれたりする場合がある。このため、ナビゲーションセンサ３０は印刷媒体１２上で走査されることが好ましく、上記のようにノズル６１とナビゲーションセンサ３０が印刷媒体１２上に共に存在することが好ましい。
【００１６】
＜実施形態に係るＨＨＰのハードウェア構成＞
図２は、実施形態に係るＨＨＰのハードウェア構成の一例を説明する図である。ＨＨＰ２０は、制御部２５によって全体の動作が制御され、制御部２５には通信Ｉ/Ｆ（Interface）２７、ＩＪ（Inkjet）記録ヘッド駆動回路２３、ＯＰＵ（Operation panel Unit）２６、ＲＯＭ（Read Only Memory）２８、ＤＲＡＭ（Dynamic Random Access Memory）２９、ナビゲーションセンサ３０、及びジャイロセンサ３１等が電気的に接続されている。
【００１７】
また、ＨＨＰ２０は電力により駆動されるため、電源２２と電源回路２１とを有している。電源回路２１が生成する電力は、点線２２ａで示す配線等により、通信Ｉ/Ｆ２７、ＩＪ記録ヘッド駆動回路２３、ＯＰＵ２６、ＲＯＭ２８、ＤＲＡＭ２９、ＩＪ記録ヘッド２４、制御部２５、ナビゲーションセンサ３０、及びジャイロセンサ３１に供給されている。
【００１８】
電源２２としては主に電池（バッテリー）が利用される。太陽電池や商用電源（交流電源）、燃料電池等が用いられても良い。電源回路２１は、電源２２が供給する電力をＨＨＰ２０の各部に分配する。また、電源２２の電圧を各部に適した電圧に降圧や昇圧する。また、電源２２が充電可能な電池である場合、電源回路２１は交流電源の接続を検出して電池の充電回路に接続し、電源２２の充電を可能にする。
【００１９】
通信Ｉ/Ｆ２７は、スマートフォンやＰＣ等の画像データ出力器１１から画像データの受信等を行う。通信Ｉ/Ｆ２７は例えば無線ＬＡＮ、Bluetooth（登録商標）、ＮＦＣ（Near Field Communication）、赤外線、３Ｇ（携帯電話）、又は、ＬＴＥ（Long Term Evolution）等の通信規格に対応した通信装置である。また、このような無線通信の他、有線ＬＡＮ、ＵＳＢケーブルなどを用いた有線通信に対応した通信装置であっても良い。
【００２０】
ＲＯＭ２８は、ＨＨＰ２０のハードウェア制御を行うファームウェアや、ＩＪ記録ヘッド２４の駆動波形データ（液滴を吐出するための電圧変化を規定するデータ）や、ＨＨＰ２０の初期設定データ等を格納している。
【００２１】
ＤＲＡＭ２９は通信Ｉ/Ｆ２７が受信した画像データを記憶したり、ＲＯＭ２８から展開されたファームウェアを格納したりするために使用される。したがって、ＣＰＵ３３がファームウェアを実行する際のワークメモリとして使用される。
【００２２】
ナビゲーションセンサ３０は、所定のサイクル時間毎にＨＨＰ２０の移動量を検出するセンサである。ナビゲーションセンサ３０は、例えば、発光ダイオード（ＬＥＤ）やレーザ等の光源と、印刷媒体１２を撮像する撮像センサを有している。ＨＨＰ２０が印刷媒体１２上を走査されると、印刷媒体１２の微小なエッジが次々に検出され（撮像され）エッジ間の距離を解析することで移動量が得られる。実施形態では、ナビゲーションセンサ３０は、ＨＨＰ２０の底面に１つだけ搭載されている。従来は２つであった。ただし、説明のためナビゲーションセンサ３０が２つあるＨＨＰ２０について説明する場合がある。なお、ナビゲーションセンサ３０として、さらに多軸の加速度センサを用いても良く、ＨＨＰ２０は加速度センサのみでＨＨＰ２０の移動量を検出しても良い。
【００２３】
ジャイロセンサ３１は、印刷媒体１２に垂直な軸を中心にＨＨＰ２０が回転した際の角速度を検出するセンサである。詳細は後述される。
【００２４】
ＯＰＵ２６は、ＨＨＰ２０の状態を表示するＬＥＤ、ユーザがＨＨＰ２０に印刷を指示するためのスイッチ等を有している。ただし、これに限定されるものではなく、液晶ディスプレイを有していても良く、さらにタッチパネルを有していても良い。また、音声入力機能を有していても良い。
【００２５】
ＩＪ記録ヘッド駆動回路２３は上記の駆動波形データを用いて、ＩＪ記録ヘッド２４を駆動するための駆動波形（電圧）を生成する。インクの液滴のサイズ等に応じた駆動波形を生成できる。
【００２６】
ＩＪ記録ヘッド２４は、インクを吐出するためのヘッドである。図ではＣＭＹＫの４色のインクを吐出可能になっているが、単色でも良く５色以上の吐出が可能でも良い。色毎に一列（二列以上でも良い）に列状に並んだ複数のインク吐出用のノズル６１（吐出ノズルの一例）が配置されている。また、インクの吐出方式はピエゾ方式でもサーマル方式でも良く、この他の方式でも良い。ＩＪ記録ヘッド２４は、ノズル６１からインク等の液体を吐出・噴射する機能部品である。吐出される液体は、ＩＪ記録ヘッド２４から吐出可能な粘度や表面張力を有するものであれば良く、特に限定されないが、常温、常圧下において、または加熱、冷却により粘度が３０〔mPa・s〕以下となるものであることが好ましい。より具体的には、水や有機溶媒等の溶媒、染料や顔料等の着色剤、重合性化合物、樹脂、界面活性剤等の機能性付与材料、ＤＮＡ、アミノ酸やたんぱく質、カルシウム等の生体適合材料、天然色素等の可食材料、などを含む溶液、懸濁液、エマルジョンなどであり、これらは例えば、インクジェット用インク、表面処理液、電子素子や発光素子の構成要素や電子回路レジストパターンの形成用液、３次元造形用材料液等の用途で用いることができる。
【００２７】
制御部２５はＣＰＵ３３を有し、ＨＨＰ２０の全体を制御する。制御部２５は、ナビゲーションセンサ３０により検出される移動量及びジャイロセンサ３１により検出される角速度を元に、ＩＪ記録ヘッド２４の各ノズルの位置と、その位置に応じて形成する画像の決定、後述する吐出ノズル可否判定等を行う。制御部２５について詳細は次述する。
【００２８】
＜制御部のハードウェア構成＞
図３は、制御部２５のハードウェア構成の一例を説明するブロック図である。制御部２５はＳｏＣ（System on a Chip）５０とＡＳＩＣ（Application Specific Integrated Circuit）/ＦＰＧＡ（Field-Programmable Gate Array）４０を有している。ＳｏＣ５０とＡＳＩＣ/ＦＰＧＡ４０はバス４６，４７を介して通信する。ＡＳＩＣ/ＦＰＧＡ４０はどちらの実装技術で設計されても良いことを意味し、ＡＳＩＣ/ＦＰＧＡ４０以外の他の実装技術で構成されて良い。また、ＳｏＣ５０とＡＳＩＣ/ＦＰＧＡ４０を別のチップにすることなく１つのチップや基板で構成してもよい。或いは、３つ以上のチップや基板で実装してもよい。
【００２９】
ＳｏＣ５０は、バス４７を介して接続されたＣＰＵ３３、位置算出回路３４、メモリＣＴＬ（コントローラ）３５、及びＲＯＭ ＣＴＬ（コントローラ）３６等の機能を有している。なお、ＳｏＣ５０が有する構成要素はこれらに限られない。
【００３０】
また、ＡＳＩＣ/ＦＰＧＡ４０は、バス４６を介して接続されたＩｍａｇｅ ＲＡＭ３７、ＤＭＡＣ３８、回転器３９、割込みコントローラ４１、ナビゲーションセンサＩ/Ｆ４２、印字/センサタイミング生成部４３、ＩＪ記録ヘッド制御部４４及びジャイロセンサＩ/Ｆ４５を有している。なお、ＡＳＩＣ/ＦＰＧＡ４０が有する構成要素はこれらに限られない。
【００３１】
ＣＰＵ３３は、ＲＯＭ２８からＤＲＡＭ２９に展開されたファームウェア（プログラム）などを実行し、ＳｏＣ５０内の位置算出回路３４、メモリＣＴＬ３５、及び、ＲＯＭ ＣＴＬ３６等の動作を制御する。また、ＡＳＩＣ/ＦＰＧＡ４０内のＩｍａｇｅ ＲＡＭ３７、ＤＭＡＣ３８、回転器３９、割込みコントローラ４１、ナビゲーションセンサＩ/Ｆ４２、印字/センサタイミング生成部４３、ＩＪ記録ヘッド制御部４４及びジャイロセンサＩ/Ｆ４５等の動作を制御する。
【００３２】
位置算出回路３４は、ナビゲーションセンサ３０が検出するサンプリング周期毎の移動量及びジャイロセンサ３１が検出するサンプリング周期毎の角速度に基づいてＨＨＰ２０の位置（座標情報）を算出する。ＨＨＰ２０の位置とは、厳密にはノズル６１の位置であるが、ナビゲーションセンサ３０のある位置が分かればノズル６１の位置を算出できる。実施形態では、特に断らない限りナビゲーションセンサ３０の位置としてナビゲーションセンサＳ０の位置をいう。また、位置算出回路３４は目標吐出位置を算出する。なお、位置算出回路３４をＣＰＵ３３がソフト的に実現しても良い。位置算出回路３４は、「位置検出部」の一例である。
【００３３】
ナビゲーションセンサ３０の位置は、後述するように所定の原点（印刷が開始される時のＨＨＰ２０の初期位置）等を基準に算出されている。また、位置算出回路３４は、過去の位置と最も新しい位置の差に基づいて移動方向や加速度を推定し、次回の吐出タイミングにおけるナビゲーションセンサ３０の位置を予測することができる。こうすることで、ユーザの走査に対する遅れを抑制してインクを吐出できる。
【００３４】
メモリＣＴＬ３５は、ＤＲＡＭ２９とのインタフェースであり、ＤＲＡＭ２９に対しデータを要求し、取得したファームウェアをＣＰＵ３３に送出したり、取得した画像データをＡＳＩＣ/ＦＰＧＡ４０に送出したりする。
【００３５】
ＲＯＭ ＣＴＬ３６は、ＲＯＭ２８とのインタフェースであり、ＲＯＭ２８に対しデータを要求し、取得したデータをＣＰＵ３３やＡＳＩＣ/ＦＰＧＡ４０に送出する。
【００３６】
Ｉ２Ｃ ＣＴＬ６９は、ＮＶＲＡＭ６７とのインタフェースである。但し、Ｉ２Ｃに限定されるものではなく、ＳＰＩ（Serial Peripheral Interface）やパラレルバス等のインタフェースを用いても良い。
【００３７】
回転器３９は、ＤＭＡＣ３８が取得した画像データを、インクを吐出するヘッド、ヘッド内のノズル位置、及び、取り付け誤差等によるヘッド傾きに応じて回転させる。ＤＭＡＣ３８は回転後の画像データをＩＪ記録ヘッド制御部４４へ出力する。
【００３８】
Ｉｍａｇｅ ＲＡＭ３７はＤＭＡＣ３８が取得した画像データを一時的に格納する。すなわち、ある程度の画像データがバッファリングされ、ＨＨＰ２０の位置に応じて読み出される。
【００３９】
ＩＪ記録ヘッド制御部４４は、画像データ（ビットマップデータ）にディザ処理などを施して大きさと密度で画像を表す点の集合に画像データを変換する。これにより、画像データは吐出位置と点のサイズのデータとなる。ＩＪ記録ヘッド制御部４４は点のサイズに応じた制御信号をＩＪ記録ヘッド駆動回路２３に出力する。ＩＪ記録ヘッド駆動回路２３は上記のように制御信号に対応した駆動波形データを用いて、駆動波形（電圧）を生成する。
【００４０】
ナビゲーションセンサＩ/Ｆ４２は、ナビゲーションセンサ３０と通信し、ナビゲーションセンサ３０からの情報として移動量ΔＸ´、ΔＹ´（これらについては後述する）を受信し、その値を内部レジスタに格納する。
【００４１】
印字/センサタイミング生成部４３は、ナビゲーションセンサＩ/Ｆ４２とジャイロセンサＩ/Ｆ４５が情報を読み取るタイミングを通知し、ＩＪ記録ヘッド制御部４４に駆動タイミングを通知する。情報を読み取るタイミングの周期はインクの吐出タイミングの周期よりも長い。ＩＪ記録ヘッド制御部４４は吐出ノズル可否判定を行い、インクを吐出すべき目標吐出位置があればインクを吐出し、目標吐出位置がなければ吐出しないと判定する。
【００４２】
ジャイロセンサＩ/Ｆ４５は印字/センサタイミング生成部４３により生成されたタイミングになるとジャイロセンサ３１が検出する角速度を取得してその値をレジスタに格納する。
【００４３】
割込みコントローラ４１は、ナビゲーションセンサＩ/Ｆ４２がナビゲーションセンサ３０との通信が完了したことを検知して、ＳｏＣ５０へそれを通知するための割込み信号を出力する。ＣＰＵ３３はこの割込みにより、ナビゲーションセンサＩ/Ｆ４２が内部レジスタに記憶するΔＸ´、ΔＹ´を取得する。その他、エラー等のステータス通知機能も有する。ジャイロセンサＩ/Ｆ４５に関しても同様に、割込みコントローラ４１はＳｏＣ５０に対し、ジャイロセンサ３１との通信が終了したことを通知するための割込み信号を出力する。
【００４４】
＜ジャイロセンサによる検出原理＞
図４は、ジャイロセンサ３１が角速度を検出する原理を説明する図である。移動している物体に回転が加わると、物体の移動方向と回転軸の両方に直行する方向にコリオリ力が発生する。
【００４５】
物体を移動させるため、ジャイロセンサ３１ではＭＥＭＳ（Micro Electro Mechanical Systems）素子を振動させることで速度ｖ（ベクトル）を発生させる。振動している質量ｍのＭＥＭＳ素子に外部から角速度ω（ベクトル）の回転が加わると、ＭＥＭＳ素子にコリオリ力が加わる。コリオリ力Ｆは以下のように表すことができる。
Ｆ＝−２ｍΩ×ｖ
なお、「×」はベクトルの外積を表し、上記のように物体の移動方向と回転軸に直交する方向がコリオリ力Ｆの方向である。ＭＥＭＳ素子は例えば櫛歯構造の電極を有しており、ジャイロセンサ３１はコリオリ力Ｆにより発生した変位を静電容量の変化として捉える。コリオリ力Ｆの信号はジャイロセンサ３１内で増幅されフィルタリングされた後、角速度に演算されて出力される。すなわち、Ｆ，ｍ、ｖが既知なので角速度ωを取り出すことができる。
【００４６】
＜ナビゲーションセンサのハードウェア構成＞
図５は、ナビゲーションセンサのハードウェア構成の構成例を示す図である。ナビゲーションセンサ３０は、Ｈｏｓｔ Ｉ/Ｆ３０１、イメージプロセッサ３０２、ＬＥＤドライバ３０３、２つのレンズ３０４、３０６及び、イメージアレイ３０５を有する。ＬＥＤドライバ３０３は、ＬＥＤと制御回路が一体となっておりイメージプロセッサ３０２からの命令によりＬＥＤ光を照射する。イメージアレイ３０５は、レンズ３０４を介して印刷媒体１２からのＬＥＤ光の反射光を受光する。２つのレンズ３０４，３０６は、印刷媒体１２の表面に対して光学的に焦点が合うように設置されている。
【００４７】
イメージアレイ３０５は、ＬＥＤ光の波長に感度を有するフォトダイオード等を有し、受光したＬＥＤ光からイメージデータを生成する。イメージプロセッサ３０２はイメージデータを取得して、イメージデータからナビゲーションセンサの移動距離（上記のΔＸ´、ΔＹ´）を算出する。イメージプロセッサ３０２は、算出した移動距離を、ホストＩ/Ｆ３０１を介して制御部２５へ出力する。
【００４８】
光源として使用される発光ダイオード(ＬＥＤ)は、表面が粗い印刷媒体１２、例えば紙を使用する場合に有用である。これは、表面が粗い場合、影が発生するため、その影を特徴部分として、Ｘ軸方向及びＹ軸方向の移動距離を正確に算出することができる。一方、表面が滑らか、或いは透明な印刷媒体１２に対しては、光源としてレーザ光を発生させる半導体レーザ(ＬＤ)を使用することができる。半導体レーザで、印刷媒体１２上に例えば縞模様等を形成することで特徴部分を作ることができ、それを基に正確に移動距離を算出することができる。
【００４９】
＜ナビゲーションセンサの動作＞
次に、図６を用いて、ナビゲーションセンサ３０の動作について説明する。図６はナビゲーションセンサ３０による移動量の検出方法の一例を説明する図であり、（ａ）は印刷媒体への光の照射の様子を説明する図、（ｂ）はイメージデータの一例を示す図である。
【００５０】
ＬＥＤドライバ３０３が照射した光は、レンズ３０６を介して印刷媒体１２の表面に照射される。印刷媒体１２の表面は、図６（ａ）に示すように様々な形状の微小な凹凸を有している。このため、様々な形の影が発生する。
【００５１】
イメージプロセッサ３０２は、予め決められたサンプリングタイミング毎に、レンズ３０４及びイメージアレイ３０５を介して反射光を受光し、イメージデータ３１０を取得する。図６（ｂ）に示すように生成したイメージデータ３１０を、イメージプロセッサ３０２は規定の分解能単位でマトリクス化する。すなわち、イメージデータ３１０を複数の矩形領域に分割する。
【００５２】
そして、イメージプロセッサ３０２は、前回のサンプリングタイミングで得られたイメージデータ３１０と、今回のサンプリングタイミングで得られたイメージデータ３１０とを比較してイメージデータ３１０が移動した矩形領域の数を検出し、それを移動距離として算出する。図６（ｂ）で図示するΔＸ方向にＨＨＰ２０が移動したとする。ｔ＝０とｔ＝１のイメージデータ３１０を比較すると、右端にある形状が中央の形状と一致する。したがって、形状は−Ｘ方向に移動しているので、ＨＨＰ２０がＸ方向に一マス分移動したことが分かる。時刻ｔ＝１とｔ＝２についても同様である。
【００５３】
＜ヘッドモジュールの構成＞
図７は、実施形態に係るヘッドモジュールの構成の一例を説明するブロック図である。図７に示すように、ヘッドモジュールは、ＩＪ記録ヘッド駆動回路２３と、ＩＪ記録ヘッド２４と、ＮＶＲＡＭ６７と、サーミスタ２０２と、インクタンク２０３とを有する。
【００５４】
ＮＶＲＡＭ６７は、インクのカートリッジのシリアルナンバー等の識別情報、及びインク残量等の情報を保持する。不揮発性であるため電源切断しても情報は保持される。サーミスタ２０２は、ＩＪ記録ヘッド２４の温度を検出する。インクタンク２０３は、吐出するインクを格納しておき、吐出時にＩＪ記録ヘッド２４へインクを供給する。ヒータ回路２０４は、サーミスタ２０２からの温度情報に基づいて、ＩＪ記録ヘッド２４を温めるためのヒータ制御を行う。
【００５５】
ヘッドモジュールは、制御部２５とはシリアルＩ／Ｆ等を介して接続され、情報及び制御信号のやり取りを行う。ＩＪ記録ヘッド制御部４４は、ＣＰＵ３３から制御要求を受けて、ＩＪ記録ヘッド駆動回路２３の制御、例えば、駆動波形の設定、ヒータ制御のＯＮ／ＯＦＦ等を実施する。
【００５６】
＜ＩＪ記録ヘッドにおけるノズル位置について＞
次に、図８を用いて、ＩＪ記録ヘッド２４におけるノズル位置等について説明する。図８（ａ）は、ＨＨＰ２０の平面図の一例である。図８（ｂ）はＩＪ記録ヘッド２４のみを説明する図の一例である。図示されている面が印刷媒体１２に対向する面である。
【００５７】
実施形態に係るＨＨＰ２０は、１つのナビゲーションセンサＳ０を有している。図８（ａ）のＳ１は、説明の便宜上、ナビゲーションセンサ３０が２つある場合の設置位置を示す。ナビゲーションセンサ３０が２つある場合の、２つのナビゲーションセンサＳ０，Ｓ１の間の長さは距離Ｌである。距離Ｌは長いほどよい。これは、距離Ｌが長いほど検出可能な最小の回転角θが小さくなり、ＨＨＰ２０の位置の誤差が少なくなるからである。
【００５８】
ナビゲーションセンサ３０からＩＪ記録ヘッド２４までの距離はそれぞれ距離ａ、ｂである。距離ａと、距離ｂは等しくてもよいし、ゼロでもよい（ＩＪ記録ヘッド２４に接している）。また、ナビゲーションセンサ３０が１つだけの場合、ナビゲーションセンサＳ０はＩＪ記録ヘッド２４の周囲の任意の場所に配置される。したがって、図示するナビゲーションセンサＳ０の位置は一例である。ただし、ＩＪ記録ヘッド２４とナビゲーションセンサＳ０の距離が短いことでＨＨＰ２０の底面のサイズを削減しやすくなる。
【００５９】
図８（ｂ）に示すように、ＩＪ記録ヘッド２４の端から最初のノズル６１までの距離は距離ｄ、隣接するノズル間の距離は距離ｅである。ａ〜ｅの値はＲＯＭ２８等に予め記憶されている。
【００６０】
位置算出回路３４等がナビゲーションセンサＳ０の位置を算出すれば、距離ａ（距離ｂ）、距離ｄ及び距離ｅを用いて、位置算出回路３４はノズル６１の位置を算出できる。
【００６１】
＜印刷媒体１２におけるＨＨＰ２０の位置について＞
図９は、実施形態に係るＨＨＰの座標系と位置の算出方法の一例を説明する図であり、（ａ）はＨＨＰのＸ座標を説明する図、（ｂ）はナビゲーションセンサが検出する移動量を示す図である。
【００６２】
実施形態では、印刷媒体１２に水平な方向をＸ軸、垂直な方向をＹ軸に設定する。原点は印刷が開始された際のナビゲーションセンサＳ０の位置である。この座標を印刷媒体座標と称することにする。これに対し、ナビゲーションセンサＳ０は図９の座標軸（Ｘ´軸、Ｙ´軸）で移動量を出力する。すなわち、ノズル６１の配列方向をＹ´軸、Ｙ´軸に直交する方向をＸ´軸として移動量を出力する。
【００６３】
図９（ａ）に示したように、印刷媒体１２に対しＨＨＰ２０が時計回りにθ回転している場合を例にして説明する。ユーザがＨＨＰ２０を印刷媒体座標に対し全く傾けることなく走査させることは困難で、ゼロでないθが生じると考えられる。全く回転していなければ、Ｘ＝Ｘ´、Ｙ＝Ｙ´である。しかし、ＨＨＰ２０が印刷媒体１２に対し回転角θ、回転した場合、ナビゲーションセンサＳ０の出力とＨＨＰ２０の印刷媒体１２における実際の位置が一致しなくなる。回転角θは時計回りが正、Ｘ、Ｘ´は右方向が正、Ｙ、Ｙ´は上方向が正である。
【００６４】
図９（ａ）では回転角θのＨＨＰ２０がＸ方向にのみ同じ回転角θのまま移動した場合のナビゲーションセンサＳ０が検出する移動量ΔＸ´、ΔＹ´とＸ，Ｙの対応を示している。なお、ナビゲーションセンサ３０が２つある場合、相対位置は固定なので２つのナビゲーションセンサ３０の出力（移動量）は同じである。ナビゲーションセンサＳ０のＸ座標はＸ１＋Ｘ２であり、Ｘ１＋Ｘ２はΔＸ´、ΔＹ´及び回転角θから求められる。
【００６５】
図９（ｂ）は回転角θのＨＨＰ２０がＹ方向にのみ同じ回転角θのまま移動した場合のナビゲーションセンサＳ０が検出する移動量ΔＸ´、ΔＹ´とＸ，Ｙの対応を示している。ナビゲーションセンサＳ０のＹ座標はＹ１＋Ｙ２であり、Ｙ１＋Ｙ２は−ΔＸ´、ΔＹ´及び回転角θから求められる。
【００６６】
したがって、ＨＨＰ２０がＸ方向及びＹ方向に回転角θのまま移動した場合、ナビゲーションセンサＳ０が出力するΔＸ´、ΔＹ´は印刷媒体座標のＸ，Ｙに以下のように変換できる。
Ｘ＝ΔＸ´cosθ＋ΔＹ´sinθ  …（１）
Ｙ＝−ΔＸ´sinθ＋ΔＹ´cosθ  …（２）
<<回転角θの検出方法>>
実施形態では、回転角θをジャイロセンサ３１の出力により位置算出回路３４が求める。しかしながら、距離Ｌが長い方が位置を高精度に求められることを示すため、ナビゲーションセンサ３０が２つある場合の回転角θの求め方を説明する。
【００６７】
図１０は、印刷中に生じるＨＨＰ２０の回転角ｄθの求め方の一例を説明する図である。回転角ｄθは２つのナビゲーションセンサＳ０，Ｓ１が検出する移動量ΔＸ´を用いて算出される。印刷媒体１２の上側のナビゲーションセンサＳ０が検出する移動量ΔＸ´0、ナビゲーションセンサＳ１が検出する移動量をΔＸ´1とする。なお、図１０ではすでに得られている回転角をθとしている。
【００６８】
ＨＨＰ２０が平行移動しながらｄθ回転した場合、移動量ΔＸ´0とΔＸ´1は一致しない。しかし、どちらの出力も２つのナビゲーションセンサＳ０，Ｓ１を結ぶ直線に垂直な方向の移動量なので、移動量ΔＸ´0とΔＸ´1の差は「ΔＸ´0−ΔＸ´1」として求めることができる。この差はＨＨＰ２０がｄθ回転したことにより生じた値である。また、「ΔＸ´0−ΔＸ´1」、Ｌ、及び、ｄθに図１０に示す関係があることから、ｄθは以下のように表すことができる。
ｄθ＝arcsin｛（ΔＸ´0−ΔＸ´1）/Ｌ｝  …（３）
位置算出回路３４がこのｄθを積算することで回転角θを求めることができる。式（１）（２）に示すように、回転角θは位置の算出に用いられるので、回転角θが位置の精度に影響する。また、式（３）から分かるように、より小さいｄθを検出するには距離Ｌを大きくすることが好ましい。したがって、距離Ｌが位置の精度に影響するが、距離Ｌを大きくするとＨＨＰ２０の底面積が大きくなり、印刷可能範囲５０１が小さくなる。
【００６９】
続いて、ジャイロセンサ３１の出力を用いた回転角θの算出方法を説明する。ジャイロセンサ３１の出力は角速度ωである。
ω=dθ/dt
であるから、ｄｔをサンプリング周期とすると回転角ｄθは以下で表せる。
dθ=ω×dt
したがって、現在（時間t=0〜N）の回転角θは以下のようになる。
【００７０】
【数１】
2020124869.tif 000003
このように、ジャイロセンサ３１でも回転角θを求めることができる。式（１）（２）に示すように、回転角θを用いて位置を算出できる。ナビゲーションセンサＳ０の位置を算出できれば、図８（ｂ）に示したａ〜ｅの値により、位置算出回路３４は各ノズル６１の座標を算出することができる。なお、式（１）のＸ、式（２）のＹはそれぞれサンプリング周期における変化量なのでこのＸ，Ｙを累積することで現在の位置が求められる。
【００７１】
＜目標吐出位置＞
続いて、図１１を用いて目標吐出位置について説明する。図１１は、目標吐出位置とノズル６１の位置の関係の一例を説明する図である。目標吐出位置Ｇ１〜Ｇ９は、ＨＨＰ２０がノズル６１からインクを着弾させる目標位置（画素の形成先）である。目標吐出位置Ｇ１〜Ｇ９は、ＨＨＰ２０の初期位置とＨＨＰ２０のＸ軸/Ｙ軸方向の解像度(Xdpi,Ydpi)から求めることができる。
【００７２】
例えば、解像度が３００dpiの場合、ＩＪ記録ヘッド２４の長手方向及びこれに対し垂直な方向に約0.084[mm]ごとに目標吐出位置が設定される。この目標吐出位置Ｇ１〜Ｇ９に吐出される画素があれば、ＨＨＰ２０はインクを吐出する。
【００７３】
しかし、実際には、ノズル６１と目標吐出位置が完全に一致するタイミングを捉えることは困難であるため、ＨＨＰ２０は目標吐出位置とノズル６１の現在位置との間に許容誤差６２を設けている。そして、ノズル６１の現在位置が目標吐出位置から許容誤差６２の範囲内にある場合に、ノズル６１からインクを吐出する（このような許容範囲を設けることを「吐出ノズル可否判定」という。）。
【００７４】
また、矢印６３に示すように、ＨＨＰ２０はノズル６１の移動方向と加速度を監視しており、次回の吐出タイミングのノズル６１の位置を予測している。したがって、予測された位置と許容誤差６２の範囲内を比較してインクの吐出を準備することが可能になる。
【００７５】
＜画像データ出力器とＨＨＰによる印刷動作＞
図１２は、画像データ出力器１１とＨＨＰ２０による印刷動作の一例を説明するフローチャートである。
【００７６】
まず、ステップＵ１０１において、ユーザは画像データ出力器１１の電源ボタンを押下する。画像データ出力器１１はそれを受け付け、電池等から電源が供給されて起動する。
【００７７】
続いて、ステップＵ１０２において、ユーザは画像データ出力器１１で出力したい画像を選択する。画像データ出力器１１は画像の選択を受け付ける。ワープロアプリケーションのようなソフトウェアの文書データが画像として選択されてもよいし、ＪＰＥＧ等の画像データが選択されても良い。必要であればプリンタドライバが画像データ以外のデータを画像に変更してよい。
【００７８】
続いて、ステップＵ１０３において、ユーザは選択した画像をＨＨＰ２０で印刷する操作を行う。ＨＨＰ２０は印刷ジョブの実行の要求を受け付ける。印刷ジョブの要求により画像データがＨＨＰ２０へ送信される。
【００７９】
続いて、ステップＵ１０４において、ユーザは、ＨＨＰ２０を持ち、印刷媒体１２（例えばノート）の上で初期位置を決定する。
【００８０】
続いて、ステップＵ１０５において、ユーザはＨＨＰ２０の印刷開始ボタンを押下する。ＨＨＰ２０は印刷開始ボタンの押下を受け付ける。
【００８１】
続いて、ステップＵ１０６において、ユーザはＨＨＰ２０を印刷媒体１２の上で滑らせるように自由に走査する。
【００８２】
次に、ＨＨＰ２０の動作を説明する。以下の動作はＣＰＵ３３がファームウェアを実行することで行われる。
【００８３】
ＨＨＰ２０も電源のＯＮにより起動する。
【００８４】
先ず、ステップＳ１０１において、ＨＨＰ２０のＣＰＵ３３は、ＨＨＰ２０に内蔵されている図３，４のハードウェア要素を初期化する。例えば、ナビゲーションセンサＩ/Ｆ４２やジャイロセンサＩ/Ｆ４５のレジスタを初期化したり、印字／センサタイミング生成部４３にタイミング値を設定したりする。また、ＨＨＰ２０と画像データ出力器１１との間の通信を確立する。
【００８５】
続いて、ステップＳ１０２において、ＨＨＰ２０のＣＰＵ３３は初期化が完了したかどうかを判定し、完了していない場合（ステップＳ１０２、Ｎｏ）はこの判定を繰り返す。
【００８６】
初期化が完了すると（ステップＳ１０２、Ｙｅｓ）、ステップＳ１０３において、ＨＨＰ２０のＣＰＵ３３は、ＯＰＵ２６の例えばＬＥＤ点灯によりユーザに印刷可能な状態であることを報知する。これにより、ユーザは印刷可能な状態であることを把握し、上記のように印刷ジョブの実行を要求する。
【００８７】
続いて、ステップＳ１０４において、印刷ジョブの実行の要求により、ＨＨＰ２０の通信Ｉ/Ｆ２７は画像データ出力器１１から画像データの入力を受け付け、画像が入力された旨をＯＰＵ２６のＬＥＤを点滅させる等によりユーザに対し報知する。
【００８８】
続いて、ステップＳ１０５において、ユーザが印刷媒体１２上でＨＨＰ２０の初期位置を決め印刷開始ボタンを押下すると、ＨＨＰ２０のＯＰＵ２６はこの操作を受け付け、ＣＰＵ３３がナビゲーションセンサＩ/Ｆ４２に位置（移動量）を読み取らせる。これにより、ステップＳ１００１において、ナビゲーションセンサＩ/Ｆ４２はナビゲーションセンサＳ０と通信し、ナビゲーションセンサＳ０が検出した移動量を取得しレジスタ等に格納しておく。ＣＰＵ３３はナビゲーションセンサＩ/Ｆ４２から移動量を読み出す。
【００８９】
続いて、ステップＳ０６において、ユーザが印刷開始ボタンを押下した直後に取得された移動量はゼロであるがゼロでないとしても、ＣＰＵ３３は例えば座標(0,0)の初期位置としてＤＲＡＭ２９やＣＰＵ３３のレジスタなどに格納する。
【００９０】
また、ステップＳ１０７において、初期位置を取得すると印字／センサタイミング生成部４３がタイミングの生成を開始する。印字／センサタイミング生成部４３は、初期化で設定されたナビゲーションセンサＳ０の移動量の取得タイミングに達するとナビゲーションセンサＩ/Ｆ４２にタイミングとジャイロセンサＩ/Ｆ４５にタイミングを指示する。これが周期的に行われ上記のサンプリング周期となる。
【００９１】
続いて、ステップＳ１０８において、ＨＨＰ２０のＣＰＵ３３は、移動量と角速度情報を取得するタイミングであるか否かを判定する。この判定は、割込みコントローラ４１からの通知により行うが、印字／センサタイミング生成部４３と同じタイミングをＣＰＵ３３がカウントすることで判定しても良い。
【００９２】
続いて、ステップＳ１０９において、移動量と角速度情報を取得するタイミングになると、ＨＨＰ２０のＣＰＵ３３はナビゲーションセンサＩ/Ｆ４２から移動量を取得し、ジャイロセンサＩ/Ｆ４５から角速度情報を取得する。上記のように、ジャイロセンサＩ/Ｆ４５は印字／センサタイミング生成部４３が生成するタイミングでジャイロセンサ３１から角速度情報を取得しており、ナビゲーションセンサＩ/Ｆ４２は印字／センサタイミング生成部４３が生成するタイミングでナビゲーションセンサＳ０から移動量を取得している。
【００９３】
続いて、ステップＳ１１０において、位置算出回路３４は角速度情報と移動量を用いてナビゲーションセンサＳ０の現在の位置を算出する。具体的には、位置算出回路３４は、前回のサイクルで算出した位置(Ｘ,Ｙ)と、今回取得した移動量(ΔＸ´、ΔＹ´)及び角速度情報から算出した移動距離を加えて、現在のナビゲーションセンサＳ０の位置を算出する。初期位置のみで、前回算出した位置がない場合は、初期位置に今回取得した移動量(ΔＸ´、ΔＹ´) 及び角速度情報から算出した移動距離を加えて、現在のナビゲーションセンサＳ０の位置を算出する。
【００９４】
続いて、ステップＳ１１１において、位置算出回路３４はナビゲーションセンサＳ０の現在の位置を用いて各ノズル６１の現在の位置を算出する。
【００９５】
このように、印字／センサタイミング生成部４３により角速度情報と移動量が同時に又はほぼ同時に取得されるので、回転角と回転角が検出されたタイミングで取得された移動量でノズル６１の位置を算出できる。したがって、種類が異なるセンサの情報でノズル６１の位置が算出されても、ノズル６１の位置の精度が低下しにくい。
【００９６】
続いて、ステップＳ１１２において、ＣＰＵ３３はＤＭＡＣ３８を制御して、算出した各ノズル６１の位置を基に、各ノズル６１の周辺画像の画像データをＤＲＡＭ２９からＩｍａｇｅ ＲＡＭ３７へ送信する。なお、回転器３９は、ユーザにより指定されたヘッド位置（ＨＨＰ２０の持ち方など）及びＩＪ記録ヘッド２４の傾きに応じて、画像を回転させる。
【００９７】
続いて、ステップＳ１１３において、ＩＪ記録ヘッド制御部４４は周辺画像を構成する各画像要素の位置座標と、各ノズル６１の位置座標とを比較する。位置算出回路３４は、ノズル６１の過去の位置と現在の位置を用いてノズル６１の加速度を算出している。これにより、位置算出回路３４は、ナビゲーションセンサＩ/Ｆ４２が移動量を取得しジャイロセンサＩ/Ｆ４５が角速度情報を取得する周期よりも短いＩＪ記録ヘッド２４のインク吐出周期ごとにノズル６１の位置を算出している。
【００９８】
続いて、ステップＳ１１４において、ＩＪ記録ヘッド制御部４４は、位置算出回路３４が算出するノズル６１の位置から所定範囲内に画像要素の位置座標が含まれるか否かを判定する。
【００９９】
吐出条件を満たさない場合（ステップＳ１１５、Ｎｏ）、処理はステップＳ１０８に戻る。吐出条件を満たす場合（ステップＳ１１５、Ｙｅｓ）、ステップＳ１１５において、ＩＪ記録ヘッド制御部４４はノズル６１ごとに画像要素のデータをＩＪ記録ヘッド駆動回路２３に出力する。これにより、印刷媒体１２にはインクが吐出される。
【０１００】
続いて、ステップＳ１１６において、ＣＰＵ３３は全画像データを出力したかを判定する。出力していない場合（ステップＳ１１６、Ｎｏ）、ステップＳ１０８〜Ｓ１１５までの処理を繰り返す。
【０１０１】
全画像データを出力した場合（ステップＳ１１６、Ｙｅｓ）、ステップＳ１１７において、ＣＰＵ３３は、例えばＯＰＵ２６のＬＥＤを点灯させユーザに印刷が終了したことを報知する。
【０１０２】
このようにして、実施形態に係るＨＨＰ２０は、画像データ出力器１１から入力した画像を印刷媒体上に印刷することができる。
【０１０３】
なお、全画像データを出力しなくても、ユーザが十分と判断した場合には、ユーザは印刷完了ボタンを押下し、ＯＰＵ２６がそれを受け付けて、印刷を終了して良い。印刷終了後、ユーザが電源をＯＦＦにすることもできるし、印刷が終了した時点で、自動で電源がＯＦＦにされるようになっていても良い。
【０１０４】
［第１の実施形態］    
次に、第１の実施形態に係るＨＨＰ２０ａについて説明する。なお、既に説明した実施形態と同一の構成部についての説明は省略する。後述する第２の実施形態、及び第３の実施形態においても同様である。
【０１０５】
＜第１の実施形態に係るＨＨＰの構成＞
図１３は、本実施形態に係るＨＨＰのハードウェア構成の一例を説明する図である。ＨＨＰ２０ａは、制御部２５ａによって全体の動作が制御され、制御部２５ａにはヘッド温度センサ６４、環境温度センサ６５、ＡＤ（Analog／Digital）変換器６６、及びＮＶＲＡＭ（Non-Volatile RAM）６７、ヒータ駆動回路６９Ａ、及びヒータ６９Ｂ等が電気的に接続されている。
【０１０６】
また、ＨＨＰ２０ａの電源回路２１が生成する電力は、点線２２ａで示す配線等により、ヘッド温度センサ６４、環境温度センサ６５、ＡＤ変換器６６、ＮＶＲＡＭ６７、ヒータ駆動回路６９Ａ、及びヒータ６９Ｂに供給されている。
【０１０７】
ヘッド温度検出部の一例であるヘッド温度センサ６４は、ＩＪ記録ヘッド２４の基板に一体に形成された薄膜抵抗（thin film metal resistor）等であり、ＩＪ記録ヘッド２４の温度に応じた電気信号をＡＤ変換器６６に出力することができる。但し、ヘッド温度センサ６４は、薄膜抵抗に限定されるものではなく、ダイオードセンサ等の他の温度センサであっても良い。
【０１０８】
環境温度検出部の一例である環境温度センサ６５は、ＩＪ記録ヘッド２４ａの近傍に設けられたサーミスタ等の温度センサであり、ＩＪ記録ヘッド２４ａの近傍の温度（ＨＨＰ２０の装置内温度）に応じた電気信号をＡＤ変換器６６に出力することができる。
【０１０９】
ＡＤ変換器６６は、ヘッド温度センサ６４及び環境温度センサ６５のそれぞれから入力した温度を示すアナログ電圧信号を、デジタル電圧信号に変換して制御部２５ａに出力する電気回路である。なお、ＡＤ変換器６６は少なくとも２つの入出力チャンネルを備え、１つのチャンネルでヘッド温度センサ６４の検出信号を入力し、ＡＤ変換後のデジタル電圧信号を制御部２５ａに出力する。また、別の１つのチャンネルで環境温度センサ６５の検出信号を入力し、ＡＤ変換後のデジタル電圧信号を制御部２５ａに出力することができる。
【０１１０】
ＮＶＲＡＭ６７は、上述したように、不揮発性のメモリであり、ＩＪ記録ヘッド２４ａが含まれるインクカートリッジのシリアルナンバー等の識別情報を格納する。但し、ＩＪ記録ヘッド２４ａ自体にシリアルナンバー等の識別情報が付与されている場合は、ＮＶＲＡＭ６７は、ＩＪ記録ヘッド２４ａの識別情報を記憶しても良い。
【０１１１】
ここで、インクカートリッジは、ＩＪ記録ヘッド２４ａと、インクを貯蔵するインクタンクとが一体化された部材である。また、インクカートリッジは、吐出によりインクタンク内にインクがなくなった場合に交換される、いわゆる消耗品である。インクタンクにインクがなくなりインクカートリッジが交換されると、それに伴い、新品のＩＪ記録ヘッド２４ａがＨＨＰ２０ａに装着されることになる。
【０１１２】
また、ＮＶＲＡＭ６７は、補正情報を格納する。補正情報は、ヘッド温度センサ６４の出力する電気信号に基づく検出値をＩＪ記録ヘッド２４ａの温度に変換する変換式において、用いられる定数を補正するための情報である。この詳細は後述する。
【０１１３】
ヒータ駆動回路６９Ａは、制御部２５ａからの制御信号に応じてヒータ６９を駆動させるための電気回路である。ヒータ６９Ｂは、ＩＪ記録ヘッド２４ａの基板に一体に形成された電気抵抗等で構成され、ヒータ駆動回路６９Ａからの駆動信号によりＩＪ記録ヘッド２４を加熱して、ＩＪ記録ヘッド２４に充填されたインクの温度を変化させることができる。
【０１１４】
制御部２５ａはＣＰＵ３３を有し、ＨＨＰ２０の全体を制御する。制御部２５ａは、ヘッド温度センサ６４の出力する電気信号に基づく検出値を、ＩＪ記録ヘッド２４ａの温度に変換するために用いられる定数を補正する処理等を実行することができる。この補正についても別途詳述する。
【０１１５】
次に、図１４は、制御部２５ａのハードウェア構成の一例を説明するブロック図である。制御部２５ａはＳｏＣ５０ａとＡＳＩＣ/ＦＰＧＡ４０ａを有している。
【０１１６】
ＳｏＣ５０ａは、Ｉ２Ｃ ＣＴＬ６９等の機能を有している。また、ＡＳＩＣ/ＦＰＧＡ４０は、バス４６を介して接続されたＩＪ記録ヘッド制御部４４ａ及びＡＤ変換器Ｉ／Ｆ６８を有している。
【０１１７】
ＣＰＵ３３は、ＲＯＭ２８からＤＲＡＭ２９に展開されたファームウェア（プログラム）等を実行して、ＳｏＣ５０ａ内のＩ２Ｃ ＣＴＬ６９等の動作を制御し、また、ＡＳＩＣ/ＦＰＧＡ４０ａ内のＩＪ記録ヘッド制御部４４ａ、ヘッド温度センサ６４、及びヒータ６９Ｂ等の動作を制御する。
【０１１８】
Ｉ２Ｃ ＣＴＬ６９は、ＮＶＲＡＭ６７とのインタフェースである。但し、Ｉ２Ｃに限定されるものではなく、ＳＰＩ（Serial Peripheral Interface）やパラレルバス等のインタフェースを用いても良い。
【０１１９】
ＩＪ記録ヘッド制御部４４ａは、上述したＩＪ記録ヘッド制御部４４の備える機能に加え、ヘッド温度センサ６４により検出されたヘッド温度に応じてヒータ駆動回路６９Ａに制御信号を出力し、ヒータ駆動回路６９Ａによるヒータ６９Ｂの駆動を制御する機能を有する。
【０１２０】
ＡＤ変換器Ｉ／Ｆ６８は、ＡＤ変換器６６と通信し、ヘッド温度センサ６４の出力信号に基づくＩＪ記録ヘッド２４の内部抵抗値Ｒ、及び環境温度センサ６５により検出された環境温度Ｔａの情報をＡＤ変換器６６から受信し、その値を内部レジスタに格納する。
【０１２１】
次に、図１５は、ヘッド温度センサと環境温度センサの配置の一例を説明する図である。図１５において、印刷媒体１２にノズルが対向するようにＩＪ記録ヘッド２４ａが配置され、矢印７１で示す方向にノズルからインクが吐出されて印刷媒体１２上に印刷が行われる。
【０１２２】
図１５に示すように、ＩＪ記録ヘッド２４ａには、ヘッド温度センサ６４と、ヒータ６９Ｂとが設けられ、ヘッド温度センサ６４及びヒータ６９Ｂは、ＩＪ記録ヘッド２４ａの基板に一体に形成されている。一方、環境温度センサ６５は、ＩＪ記録ヘッド２４ａとは別構成であり、ＩＪ記録ヘッド２４ａの近傍に設けられている。
【０１２３】
ここで、ＨＨＰ２０ａでは、ＩＪ記録ヘッド２４ａ内のインクの温度に応じて、ＩＪ記録ヘッド２４ａから吐出されるインクの吐出量や吐出速度が変動し、形成される画像の品質を低下させる場合がある。インクの温度の影響を抑制するために、インク温度を正確に把握することが好ましいが、インク温度を直接検出することは困難である。
【０１２４】
そこで、本実施形態では、ＩＪ記録ヘッド２４ａの温度Ｔｉを検出するヘッド温度センサ６４を設け、ヘッド温度センサ６４の出力電気信号に基づき、インクの吐出制御やＩＪ記録ヘッド２４ａの温度制御を実行可能にしている。換言すると、インク温度の代用値として検出したＩＪ記録ヘッド２４ａの温度Ｔｉに基づき、インクの吐出制御やＩＪ記録ヘッド２４ａの温度制御を実行することができる。
【０１２５】
ヘッド温度センサ６４には、コストや応答性に優れることから、ＩＪ記録ヘッド２４ａの基板に一体に形成されたダイオードセンサが用いられているが、ダイオードセンサの製造ばらつき等に起因して、温度の検出値に個体差が生じ、正確な温度検出が行えない場合がある。
【０１２６】
具体的には、ＩＪ記録ヘッド２４ａは、上述したようにインクカートリッジとして提供されるため、インクがなくなると、インクカートリッジ交換に伴い、新たなＩＪ記録ヘッド２４ａが液体吐出装置に装着される。ＩＪ記録ヘッド２４ａの交換により、ＩＪ記録ヘッド２４ａに設けられたヘッド温度センサ６４も異なるものとなり、ヘッド温度センサ６４の個体差によってカートリッジの交換の前後で温度の検出値が変化し、正確な温度検出が行えなくなる場合がある。
【０１２７】
そこで、本実施形態では、ＩＪ記録ヘッド２４ａとは別構成として、ＩＪ記録ヘッド２４ａの近傍の環境温度を検出する環境温度センサ６５を備え、以下の（４）式に従って、ＩＪ記録ヘッド２４ａの温度Ｔｉを求める。且つ、カートリッジ交換に伴ってＩＪ記録ヘッド２４ａが交換された際に、ヘッド温度センサ６４及び環境温度センサ６５による検出値に基づき、（４）式で用いられる定数を補正する。ここで、（４）式は「変換式」の一例である。
【０１２８】
【数２】
2020124869.tif 000004
（４）式において、Ｔｉは、インクの吐出制御や記録ヘッドの温度制御の時に用いられるＩＪ記録ヘッド２４ａの温度である。Ｒは、ＩＪ記録ヘッド２４ａの内部抵抗値であり、ＩＪ記録ヘッド２４ａの出力する電気信号がＡＤ変換された値である。ここで、この内部抵抗値Ｒは「ヘッド温度検出部の出力する電気信号に基づく検出値」の一例である。
【０１２９】
ＲＬ及びＴＬは、カートリッジ交換に伴ってＩＪ記録ヘッド２４ａが交換された際に補正される定数の一例であり、定数ＲＬは補正の実行時にヘッド温度センサ６４の出力した電気信号に基づいて取得されるＩＪ記録ヘッド２４ａの内部抵抗値Ｒの補正値である。定数ＴＬは補正の実行時にヘッド温度センサ６４により検出される環境温度Ｔａの補正値である。また、ｍは固定値である。
【０１３０】
内部抵抗値Ｒは以下の（５）式により取得される。
【０１３１】
【数３】
2020124869.tif 000005
（５）式において、ＶｃｃはＡＤ変換器の電圧レンジ、ＡｄｃはＡＤ変換器６６の出力信号、ｎはＡＤ変換器６６の分解能である。ＡＤ変換器６６の分解能ｎは、一例として、８ビットのＡＤ変換器の場合、２の８乗の値となる。
【０１３２】
ここで、ＩＪ記録ヘッド２４ａに設けられたヘッド温度センサ６４は、ＩＪ記録ヘッド２４ａが含まれるインクカートリッジが交換されると、それに付随して新たなものになる。しかし、環境温度センサ６５はインクカートリッジとは別の構成であるため、インクカートリッジが交換されても新たなものにはならない。
【０１３３】
従って、環境温度センサ６５により検出された環境温度Ｔａを基準とし、環境温度ＴａとＩＪ記録ヘッド２４ａの温度Ｔｉがほぼ同じになった状態におけるＩＪ記録ヘッド２４ａの内部抵抗値Ｒを定数ＲＬとし、環境温度Ｔａを定数ＴＬとすることで、定数ＲＬ及びＴＬを補正することができる。そして、補正された定数ＲＬ及びＴＬを用いた（４）式の変換式によりＩＪ記録ヘッド２４ａの温度Ｔを算出することで、ＩＪ記録ヘッド２４ａにより取得される温度Ｔｉを補正（校正）することができる。
【０１３４】
一方、上述した（４）式で用いられる定数ＲＬ及びＴＬの補正は、ＩＪ記録ヘッド２４ａの温度ＴｉとＩＪ記録ヘッド２４ａの近傍の環境温度Ｔａとがほぼ同じ温度状態でないと正確に行うことができない。そのため、ＩＪ記録ヘッド２４ａの温度ＴｉとＩＪ記録ヘッド２４ａの近傍の環境温度Ｔａとが、どちらも安定した平衡状態になるまで待つ必要があり、定数ＲＬ及びＴＬの補正に時間がかかる場合があった。
【０１３５】
そこで、本実施形態に係るＨＨＰ２０ａは、定数ＲＬ及びＴＬの補正にかかる時間を短縮する機能を備えている。以下で、この機能について詳細に説明する。
【０１３６】
＜第１の実施形態に係るＨＨＰの機能構成＞
図１６は、本実施形態に係るＨＨＰの機能構成の一例を説明するブロック図である。図１６に示すように、ＨＨＰ２０ａは制御部２５ａを有する。制御部２５ａは、環境温度信号入力部８１と、ヘッド温度信号入力部８２と、ヘッド温度取得部８３と、定数補正部８４と、補正実行判定部８５とを有する。また、補正実行判定部８５は、環境温度変化率検知部８５１と、ヘッド温度変化率検知部８５２とを有する。これらの機能部は、ＣＰＵ３３がファームウェアを実行すること等により実現されるが、ＡＳＩＣやＦＰＧＡ等の電子回路により実現されても良い。
【０１３７】
また、ＨＨＰ２０ａの備えるＮＶＲＡＭ６７は補正情報記憶部６７１を有する。補正情報記憶部６７１が記憶する補正情報には、定数ＲＬ及びＴＬが含まれる。
【０１３８】
環境温度信号入力部８１は、ＡＤ変換器６６を介し、所定のサンプリング間隔（１秒等）で所定の周期でして入力した環境温度センサ６５の検出信号に基づき、（５）式を用いてＩＪ記録ヘッド２４ａの近傍の環境温度Ｔａを算出する。そして、環境温度Ｔａを示す信号を定数補正部８４、及び環境温度変化率検知部８５１に所定の周期で出力する。
【０１３９】
ヘッド温度信号入力部８２は、ヘッド温度センサ６４が所定のサンプリング間隔で所定の周期で出力する電気信号がＡＤ変換されたデジタル電圧信号に基づき、（５）式を用いてＩＪ記録ヘッド２４ａの内部抵抗値Ｒを算出する。そして、内部抵抗値Ｒを示す信号をヘッド温度取得部８３及び定数補正部８４に所定の周期で出力する。
【０１４０】
ヘッド温度取得部８３は、補正情報記憶部６７１を参照して取得した定数ＲＬ及びＴＬを用い、所定の周期で入力される内部抵抗値Ｒを（４）式によりＩＪ記録ヘッド２４ａの温度Ｔｉに変換する。そして、温度Ｔｉを示す信号をヘッド温度変化率検知部８５２、及びＩＪ記録ヘッド制御部４４ａに所定の周期で出力する。ＩＪ記録ヘッド制御部４４ａは、ＩＪ記録ヘッド２４ａの温度Ｔｉに応じて、ヒータ駆動回路６９Ａを介してヒータ６９Ｂを駆動させ、ＩＪ記録ヘッド２４ａの温度を制御することができる。
【０１４１】
定数補正部８４は、（４）式で用いられる定数の補正を実行する。定数補正部８４により実行される補正は、具体的には、環境温度ＴａとＩＪ記録ヘッド２４ａの温度Ｔｉがほぼ同じ状態になった時に、ヘッド温度信号入力部８２から入力した内部抵抗値Ｒを定数ＲＬとし、また環境温度信号入力部８１から入力した環境温度Ｔａを定数ＴＬとする処理である。定数ＲＬ及びＴＬは補正情報記憶部６７１に記憶される。
【０１４２】
補正を実行する時に、内部抵抗値Ｒと環境温度Ｔａは、それぞれ連続的に取得されるが、定数補正部８４は、一例として、補正を実行する直前に取得された内部抵抗値Ｒを定数ＲＬとし、補正を実行する直前に取得された環境温度Ｔａを定数ＴＬとする。但し、これに限定されるものではなく、連続的に取得された内部抵抗値と環境温度のそれぞれの平均値を用いて定数ＲＬ及びＴＬとしても良い。
【０１４３】
定数補正部８４は、補正情報記憶部６７１に定数ＲＬ及びＴＬを記憶させる際に、ＩＪ記録ヘッド２４ａが含まれるインクカートリッジの識別情報と、定数ＲＬ及びＴＬとを対応付けて記憶させる。インクカートリッジの識別情報に対応付いた定数ＲＬ及びＴＬを（４）式で用いることで、ヘッド温度取得部８３は、ヘッド温度センサ６４の個体差の影響を低減し、ヘッド温度センサ６４の検出値に基づき適切にＩＪ記録ヘッド２４ａの温度を取得することができる。
【０１４４】
補正実行判定部８５は、環境温度変化率検知部８５１と、ヘッド温度変化率検知部８５２とを有し、ＩＪ記録ヘッド２４ａの温度Ｔｉの時間変化、及びＩＪ記録ヘッド２４ａの近傍の環境温度Ｔａの時間変化に基づき、定数補正部８４による補正を実行するか否かを判定する機能を有する。以下に、補正実行判定部８５による判定方法を具体的に説明する。
【０１４５】
環境温度変化率検知部８５１は、環境温度信号入力部８１から入力した環境温度Ｔａの時間変化から環境温度変化率ΔＴａを取得する。ここで、環境温度変化率とは、単位時間当たりの環境温度Ｔａの変化、つまり環境温度変化の傾きを示す値である。
【０１４６】
環境温度変化率検知部８５１は、一例として１秒のサンプリング間隔で３０個の環境温度のデータを入力し、最小二乗法により環境温度Ｔａの時間変化の傾きを算出し、この傾きを環境温度変化率ΔＴａとする。
【０１４７】
ヘッド温度変化率検知部８５２は、同様に、ヘッド温度取得部８３から入力したＩＪ記録ヘッド２４ａの温度Ｔｉの時間変化からヘッド温度変化率ΔＴｉを取得する。ここで、ヘッド温度変化率ΔＴｉとは、単位時間当たりのＩＪ記録ヘッド２４ａの温度Ｔｉの変化、つまりＩＪ記録ヘッド２４ａの温度変化の傾きを示す値である。
【０１４８】
ヘッド温度変化率検知部８５２は、一例として１秒のサンプリング間隔で３０個のＩＪ記録ヘッド２４ａの温度Ｔｉのデータを入力し、最小二乗法によりＩＪ記録ヘッド２４ａの温度Ｔｉの時間変化の傾きを算出し、この傾きをヘッド温度変化率ΔＴｉとする。
【０１４９】
補正実行判定部８５は、ヘッド温度変化率ΔＴｉが予め定められたヘッド温度変化率閾値ＴＨ１以下で、環境温度変化率ΔＴａが予め定められた環境温度変化率閾値ＴＨ２以下で、且つヘッド温度変化率ΔＴｉと環境温度変化率ΔＴａの差の絶対値が予め定められた変化率差閾値ＴＨ３以下となった時に、定数補正部８４に補正を実行させる。
【０１５０】
＜第１の実施形態に係る制御部による処理＞
図１７は、本実施形態に係る制御部による処理の一例を示すフローチャートである。
【０１５１】
先ず、ステップＳ１７１において、環境温度信号入力部８１は、所定のサンプリング間隔でＡＤ変換器６６を介して入力した環境温度センサ６５の検出信号に基づき、（５）式を用いてＩＪ記録ヘッド２４ａの近傍の環境温度Ｔａを算出し、環境温度Ｔａを示す信号を定数補正部８４、及び環境温度変化率検知部８５１に所定の周期で出力する。
【０１５２】
続いて、ステップＳ１７２において、ヘッド温度信号入力部８２は、ヘッド温度センサ６４が所定のサンプリング間隔で出力する電気信号がＡＤ変換されたデジタル電圧信号に基づき、（５）式を用いてＩＪ記録ヘッド２４ａの内部抵抗値Ｒを算出し、ヘッド温度取得部８３及び定数補正部８４に所定の周期で出力する。
【０１５３】
続いて、ステップＳ１７３において、ヘッド温度取得部８３は、補正情報記憶部６７１を参照して取得した定数ＲＬ及びＴＬを用い、内部抵抗値Ｒを（４）式によりＩＪ記録ヘッド２４ａの温度Ｔｉに変換する。そして、温度Ｔｉを示す信号をヘッド温度変化率検知部８５２、及びＩＪ記録ヘッド制御部４４ａに所定の周期で出力する。
【０１５４】
続いて、ステップＳ１７４において、補正実行判定部８５は、環境温度Ｔａのデータと、ＩＪ記録ヘッド２４ａの温度Ｔｉのデータを所定の数（３０個等）だけ取得したか否かを判定する。取得していないと判定した場合は（ステップＳ１７４、Ｎｏ）、ステップＳ１７１に戻り、取得したと判定した場合は（ステップＳ１７４、Ｙｅｓ）、ステップＳ１７５に移行する。
【０１５５】
ステップＳ１７５において、環境温度変化率検知部８５１は、所定の数の環境温度Ｔａのデータを入力し、最小二乗法により環境温度Ｔａ時間変化の傾きを算出して環境温度変化率ΔＴａを取得する。
【０１５６】
続いて、ステップＳ１７６において、ヘッド温度変化率検知部８５２は、所定の数のＩＪ記録ヘッド２４ａの温度Ｔｉのデータを入力し、最小二乗法によりＩＪ記録ヘッド２４ａの温度Ｔｉの時間変化の傾きを算出してヘッド温度変化率ΔＴｉを取得する。
【０１５７】
続いて、ステップＳ１７７において、補正実行判定部８５は、ヘッド温度変化率ΔＴｉが予め定められたヘッド温度変化率閾値ＴＨ１以下で、環境温度変化率ΔＴａが予め定められた環境温度変化率閾値ＴＨ２以下で、且つヘッド温度変化率ΔＴｉと環境温度変化率ΔＴａの差の絶対値が予め定められた変化率差閾値ＴＨ３以下であるか否か（以下、補正実行条件を満たすか否かという）を判定する。
【０１５８】
ステップＳ１７７において、補正実行条件を満たさないと判定された場合は（ステップＳ１７７、Ｎｏ）、ステップＳ１７１に戻り、補正実行条件を満たすと判定された場合は（ステップＳ１７７、Ｙｅｓ）、ステップＳ１７８に移行する。
【０１５９】
ステップＳ１７８において、定数補正部８４は、定数ＲＬ及びＴＬを補正する。
【０１６０】
続いて、ステップＳ１７９において、定数補正部８４は、定数ＲＬ及びＴＬを補正情報記憶部６７１に出力し、補正情報記憶部６７１は入力した定数ＲＬ及びＴＬを記憶する。
【０１６１】
このようにして、制御部２５ａは、（４）式で用いられる定数ＲＬ及びＴＬの補正を行うことができる。
【０１６２】
＜第１の実施形態に係るＨＨＰの作用効果＞
ここで、図１８は、ＩＪ記録ヘッド２４ａの温度ＴｉとＩＪ記録ヘッド２４ａの近傍の環境温度Ｔａの時間変化の一例を説明する図である。図１８において、横軸は時間を示し、縦軸は温度を示している。グラフ１３１はＩＪ記録ヘッド２４ａの温度Ｔｉの時間変化を示し、グラフ１３２は環境温度Ｔａの時間変化を示す。
【０１６３】
実線の直線１３１ａは時間ｔａにおけるＩＪ記録ヘッド２４ａのヘッド温度変化率（傾き）ΔＴｉを表し、破線の直線１３２ａは時間ｔａにおける環境温度変化率（傾き）ΔＴａを表す。また、実線の直線１３１ｂは時間ｔｂにおけるＩＪ記録ヘッド２４ａのヘッド温度変化率ΔＴｉを表し、破線の直線１３２ｂは時間ｔｂにおける環境温度変化率ΔＴａを表す。
【０１６４】
時間ｔａでは、実線の直線１３１ａは傾きが大きく、ヘッド温度変化率ΔＴｉはヘッド温度変化率閾値ＴＨ１を上回っており、また、実線の直線１３２ａも傾きが大きく、環境温度変化率ΔＴａは環境温度変化率閾値ＴＨ２を上回っている。さらに、ヘッド温度変化率ΔＴｉと環境温度変化率ΔＴａとの差も大きい。従って、補正実行条件を満たさないため、補正実行判定部８５は補正を実行しないと判定する。
【０１６５】
一方、時間ｔｂでは、実線の直線１３１ａは傾きが小さく、ヘッド温度変化率ΔＴｉはヘッド温度変化率閾値ＴＨ１以下であり、また実線の直線１３２ａも傾きが小さく、環境温度変化率は環境温度変化率閾値ＴＨ２以下である。また、ヘッド温度変化率ΔＴｉと環境温度変化率ΔＴａとの差も小さい。従って、補正実行条件を待たすため、補正実行判定部８５は補正を実行すると判定する。
【０１６６】
ここで、上述したように、ＩＪ記録ヘッド２４ａの温度Ｔｉと環境温度Ｔａがほぼ同じ状態で定数の補正を行わないと正確な補正が行えない。例えば、単に、ＩＪ記録ヘッド２４ａの温度Ｔｉ及び環境温度Ｔａを監視すると、ＩＪ記録ヘッド２４ａの出力信号に基づき取得される温度Ｔｉの誤差が大きい場合に、ＩＪ記録ヘッド２４ａの温度Ｔｉと環境温度Ｔａがほぼ同じ状態であるか否かを判定することが困難な場合がある。また、両温度が安定する前に偶然に両者が一致して、両者が同じ状態であることを誤って判定する場合がある。さらに、これらを防ぐために、両者が十分に安定するまで待つと、待ち時間が長くなる場合がある。
【０１６７】
本実施形態では、温度の時間変化率に注目し、ヘッド温度変化率ΔＴｉ、環境温度変化率ΔＴａ、及び両者の差分の絶対値が所定の範囲内にあるか否かを判定する。このようにすることで、ＩＪ記録ヘッド２４ａの温度及び環境温度がそれぞれ安定したか否かをいち早く検知し、ＩＪ記録ヘッド２４ａの温度と環境温度がほぼ同じ状態であるか否かを迅速に判定することができる。そして、（４）式で用いられる定数ＲＬ及びＴＬの補正にかかる時間を短縮することができる。
【０１６８】
［第２の実施形態］
次に、第２の実施形態に係るＨＨＰ２０ｂについて説明する。
【０１６９】
＜第２の実施形態に係るＨＨＰの機能構成＞
図１９は、本実施形態に係るＨＨＰの機能構成の一例を説明するブロック図である。図１９に示すように、ＨＨＰ２０ｂはＮＶＲＡＭ６７ｂと、制御部２５ｂを有する。また、ＮＶＲＡＭ６７ｂは補正情報記憶部６７１ｂを有し、制御部２５ｂは補正実行制御部８６と、補正時間計測部８７と、機能制限部８８とを有する。
【０１７０】
補正情報記憶部６７１ｂは、インクカートリッジの識別情報と、インクカートリッジの識別情報に対応付けられた補正情報と、補正確定フラグ情報とを記憶する。ここで、補正確定フラグ情報とは、補正情報が確定したか否かを示す情報である。補正情報が確定した場合、補正確定フラグ情報はオンになり、再度の補正処理は実行されない。一方、補正情報が確定していない場合、補正確定フラグ情報はオフになり、再度の補正処理が実行され得る。
【０１７１】
補正実行制御部８６は、ＨＨＰ２０ｂの状態に基づき、定数補正部８４による補正の実行を制御する機能を有する。以下に、この機能について具体的に述べる。
【０１７２】
ＨＨＰ２０ｂに対するインクカートリッジの装着は、インクカートリッジを新品のものに交換する場合以外にも行われる場合がある。一例として、識別情報（シリアルナンバー等）の確認やＩＪ記録ヘッド２４ａの吐出ノズルの清掃のために、インクカートリッジをＨＨＰ２０ｂから一旦取り外し、再びＨＨＰ２０ｂに装着した場合等である。
【０１７３】
この場合は、インクカートリッジがＨＨＰ２０ｂに装着されても、以前のインクカートリッジの交換時に定数補正部８４により補正された補正情報（定数ＲＬ及びＴＬ）をそのまま使用して、ＩＪ記録ヘッド２４ａの温度を正確に検出できる場合がある。
【０１７４】
しかし、インクカートリッジを装着する動作によりインクカートリッジが交換されたことを検知し、定数補正部８４による補正が自動的に実行されるように制御の設定がされている場合は、インクカートリッジの装着動作に応じて定数補正部８４による補正が自動的に実行される。或いは、ＨＨＰ２０ｂのユーザがＯＰＵ２６を操作して、定数補正部８４による補正を実行する指示を行うと、補正が実行される。そうすると、不要な補正のために時間がかかってしまう。
【０１７５】
そこで、補正実行制御部８６は、ＩＪ記録ヘッド２４ａが含まれるインクカートリッジがＨＨＰ２０ｂに装着された際に、インカートリッジの備えるＩＤチップ等から装着されたインクカートリッジの識別情報を取得する。そして、補正情報記憶部６７１を参照して、装着されたインクカートリッジの識別情報が記憶されているか否か、及び装着されたインクカートリッジの識別情報に対応付いた補正情報が補正情報記憶部６７１に記憶されているか否かを判定する。
【０１７６】
装着されたインクカートリッジの識別情報が補正情報記憶部６７１に記憶され、且つ識別情報に対応付けられた補正情報が補正情報記憶部６７１に記憶されている場合に、補正実行制御部８６は、定数補正部８４に補正を実行させないように制御する。
【０１７７】
このようにすることで、不要な補正のために時間がかかることを防ぐことができる。
【０１７８】
また、インクカートリッジが新品のものに交換された場合でも、ヘッド温度センサ６４の個体差が小さいと、補正情報記憶部６７１に既に記憶されている補正情報をそのまま使用して、ＩＪ記録ヘッド２４ａの温度を正確に検出できる場合がある。この場合にも、定数補正部８４による補正を行うと、不要な補正のために時間がかかってしまう。
【０１７９】
そこで、補正実行制御部８６は、補正情報記憶部６７１を参照して補正情報を取得し、これを用いた（４）式により、新たに取得したＩＪ記録ヘッド２４ａの内部抵抗値Ｒを変換してＩＪ記録ヘッド２４ａの温度Ｔｉを取得する。そして、取得したＩＪ記録ヘッド２４ａの温度Ｔｉが予め定められた有効温度範囲以内であるか否かを判定し、有効温度範囲内である場合に、定数補正部８４に補正を実行させないように制御する。補正実行制御部８６が補正情報記憶部６７１を参照して取得する補正情報は、一例として、最も新しく（最近に）、補正情報記憶部６７１に記憶された補正情報である。
【０１８０】
このようにすることで、補正情報記憶部６７１に既に記憶されている補正情報をそのまま使えるにも関わらず、新たに補正を行うような無駄を防ぎ、不要な補正のために時間がかかることを防ぐことができる。
【０１８１】
一方で、インクカートリッジが新品のものに交換され、定数補正部８４による補正が実行された場合に、ヘッド温度センサ６４や環境温度センサ６５の検出誤差等に起因して、補正が適切に行われない場合がある。適切でない補正により取得された補正情報を用いると、ＩＪ記録ヘッド２４ａの温度を正確に取得できなくなる。
【０１８２】
そこで、補正実行制御部８６は、補正情報記憶部６７１を参照して補正情報を取得し、これを用いた（４）式により、新たに取得したＩＪ記録ヘッド２４ａの内部抵抗値Ｒを変換してＩＪ記録ヘッド２４ａの温度Ｔｉを取得する。そして、取得したＩＪ記録ヘッド２４ａの温度Ｔｉが予め定めた有効温度範囲内であるか否かを判定する。且つ取得したＩＪ記録ヘッド２４ａの温度Ｔｉと、環境温度センサ６５により検出された環境温度Ｔａとの差の絶対値が、予め定められた閾値より大きいか否かを判定する。
【０１８３】
そして、補正実行制御部８６は、ＩＪ記録ヘッド２４ａの温度Ｔｉが予め定めた有効温度範囲外であって、且つＩＪ記録ヘッド２４ａの温度Ｔｉと環境温度Ｔａとの差の絶対値が予め定められた閾値より大きい場合に、定数補正部８４に、補正を実行させた後に、再度、補正を実行させる（再補正）。そして、上記の条件を満足する適切な補正が行われるまで、再補正が繰り返される。
【０１８４】
このようにすることで、適切な補正により取得された補正情報を用いることができ、ＩＪ記録ヘッド２４ａの温度を正確に取得することができる。
【０１８５】
図１９に戻り、補正時間計測部８７は、定数補正部８４が補正を開始した後の経過時間を計測し、補正実行制御部８６に出力する。補正時間計測部８７は、補正の開始を示す信号を定数補正部８４から入力したタイミングでカウンタをプリセットしてＣＰＵ３３のクロックのカウントを開始させる。そして時間の経過とともに累積されるクロックのカウント値を時間に換算することで、定数補正部８４が補正を開始した後の経過時間を計測することができる。
【０１８６】
補正時間計測部８７は、計測した経過時間を所定の周期で補正実行制御部８６に出力し、定数補正部８４から補正の終了を示す信号を入力するか、或いは補正実行制御部８６から補正の中止を示す信号を入力するまで、経過時間の計測と、補正実行制御部８６への出力とを継続する。
【０１８７】
ここで、定数補正部８４が補正を開始した後、ＨＨＰ２０ｂの内部の温度変動等によって補正開始条件を満たすまでに時間がかかってしまう場合がある。
【０１８８】
そこで、補正実行制御部８６は、補正時間計測部８７から入力される、定数補正部８４が補正を開始した後の経過時間を監視し、補正開始後の経過時間が予め定められた補正時間閾値を超えた場合に、定数補正部８４に補正を中止させる。また補正が中止された場合に、補正の中止を示す信号を機能制限部８８に出力する。
【０１８９】
このようにすることで、補正に多くの時間がかかってしまうことを防ぎ、温度が安定せず一向に補正実行条件を満たさないような場合に、補正時間を節約することができる。
【０１９０】
また、定数補正部８４が補正を中止すると、適切な補正情報が得られないため、ＩＪ記録ヘッド２４ａの温度を正確に取得できなくなる。そして、ＩＪ記録ヘッド２４ａの温度に基づくヒータの温度制御、及びＩＪ記録ヘッド２４ａのインク吐出による印刷品質を確保できなくなる。
【０１９１】
そこで、補正実行制御部８６が補正を中止させた場合に、機能制限部８８は、補正実行制御部８６から入力した補正の中止を示す信号に応じて、ＩＪ記録ヘッド２４ａにより印刷媒体にインクを吐出する機能を制限する。これにより、品質が確保されない印刷が行われることを防止することができる。ここで、ＩＪ記録ヘッド２４ａにより印刷媒体にインクを吐出する機能は、「ＨＨＰ２０ｂの備える機能の一部」の一例である。ＩＪ記録ヘッド２４ａにより印刷媒体にインクを吐出する機能以外でも、ＩＪ記録ヘッド２４ａの温度Ｔｉが用いられる機能は、機能制限部８８により制限される。
【０１９２】
但し、ＨＨＰ２０ｂの備える機能のうち、ＩＪ記録ヘッド２４ａの温度Ｔｉを用いない機能は、補正の中止の影響を受けないため、制限されずに、定数補正部８４による補正が中止された後でも利用可能である。ＩＪ記録ヘッド２４ａの温度Ｔｉを用いない機能は、具体的には、ＨＨＰ２０ｂの状態を示すステータス信号の表示や、インクカートリッジにおけるインク残量の表示等である。
【０１９３】
また、機能制限部８８は、補正実行制御部８６が補正を中止させた場合に、その旨を示す信号をＯＰＵ２６に出力し、ＯＰＵ２６に含まれる表示部２６１に、補正が失敗したことを示す通知を表示させる。これにより、補正が失敗したことをＨＨＰ２０ｂのユーザに報知することができる。なお、補正が中止されたことを示す信号は、補正実行制御部８６からＯＰＵに出力されても良い。
【０１９４】
＜第２の実施形態に係る制御部による処理＞
次に、図２０は、本実施形態に係る制御部による処理の一例を示すフローチャートである。ここでは第１の実施形態との相違点を中心に説明する。
【０１９５】
先ず、ステップＳ２０１において、補正時間計測部８７は、定数補正部８４が補正を開始した後の経過時間ｔを計測し、所定の周期で補正実行制御部８６に出力する。
【０１９６】
続いて、ステップＳ２０２において、補正実行制御部８６は、補正時間計測部８７から入力した経過時間ｔが予め定められた補正時間閾値ｔｔｈ以下であるか否かを判定する。そして、経過時間ｔが予め定められた補正時間閾値ｔｔｈ以下である場合は（ステップＳ２０２、Ｙｅｓ）、ステップＳ２０３に移行し、経過時間ｔが予め定められた補正時間閾値ｔｔｈ以下でない場合は（ステップＳ２０２、Ｎｏ）、ステップＳ２１２に移行する。
【０１９７】
ステップＳ２１２において、補正実行制御部８６は、定数補正部８４による補正を中止させ、補正の中止を示す信号を機能制限部８８に出力する。
【０１９８】
続いて、ステップＳ２１３において、機能制限部８８は、補正実行制御部８６から入力した補正の中止を示す信号に応じて、ＨＨＰ２０ｂが備える機能の一部である印刷機能等を制限し、補正の中止を示す信号をＯＰＵ２６に出力する。
【０１９９】
続いて、ステップＳ２１４において、ＯＰＵ２６に含まれる表示部２６１は、補正が失敗したことを示す通知を表示する。
【０２００】
ステップＳ２０３〜Ｓ２１１の処理は、図１７におけるステップＳ１７１〜Ｓ１７９の処理と同様であるため、説明を省略する。
【０２０１】
このようにして、制御部２５ｂは、（４）式で用いられる定数ＲＬ及びＴＬの補正を実行でき、ＨＨＰ２０ｂの内部の温度変動等によって補正実行条件を満たすまでに時間がかかってしまう場合には、補正を中止させることができる。
【０２０２】
次に、図２１は、本実施形態に係る制御部による補正判定処理の一例を示すフローチャートである。
【０２０３】
先ず、ステップＳ２１１において、補正実行制御部８６は、ＩＪ記録ヘッド２４ａが含まれるインクカートリッジがＨＨＰ２０ｂに装着された際に、装着されたインクカートリッジの識別情報を、インカートリッジの備えるＩＤチップ等から取得する。
【０２０４】
続いて、ステップＳ２１２において、補正実行制御部８６は、装着されたインクカートリッジの識別情報が補正情報記憶部６７１に記憶されているか否かを判定する。記憶されていないと判定された場合は（ステップＳ２１２、Ｎｏ）、ステップＳ２１７に移行し、補正実行制御部８６は、定数補正部８４に補正を実行させる。一方、記憶されていると判定された場合は（ステップＳ２１２、Ｙｅｓ）、ステップＳ２１３に移行し、補正実行制御部８６は、装着されたインクカートリッジの識別情報に対応した補正情報が、補正情報記憶部６７１に記憶されているか否かを判定する。
【０２０５】
ステップＳ２１３において、装着されたインクカートリッジの識別情報に対応した補正情報が記憶されていないと判定された場合は（ステップＳ２１３、Ｎｏ）、ステップＳ２１７に移行する。一方、装着されたインクカートリッジの識別情報に対応した補正情報が記憶されていると判定された場合は（ステップＳ２１３、Ｙｅｓ）、ステップＳ２１４に移行し、補正実行制御部８６は、装着されたインクカートリッジの識別情報に基づき、補正情報記憶部６７１を参照して、識別情報に対応した補正情報を取得する。
【０２０６】
続いて、ステップＳ２１５において、補正実行制御部８６は、補正情報に含まれる定数ＲＬが予め定められた定数ＲＬの下限値ＲＬｄｌ以上で、上限値ＲＬｕｌ以下であり、且つ補正情報に含まれる定数ＴＬが予め定められた定数ＴＬの下限値ＴＬｄｌ以上で、上限値ＴＬｕｌ以下であるか否か（以下、有効定数範囲を満たすか否かという）を判定する。
【０２０７】
有効範囲を満たさないと判定された場合は（ステップＳ２１５、Ｎｏ）、ステップＳ２１７に移行する。一方、有効定数範囲を満たすと判定された場合は（ステップＳ２１５、Ｙｅｓ）、ステップＳ２１６に移行し、補正実行制御部８６は、定数補正部８４に補正を実行させないように制御する。
【０２０８】
このようにして、制御部２５ｂは、補正判定処理を実行することができる。
【０２０９】
次に、図２２は、本実施形態に係る制御部による再補正判定処理の一例を示すフローチャートである。
【０２１０】
先ず、ステップＳ２２１において、補正実行制御部８６は、ＩＪ記録ヘッド２４ａが含まれるインクカートリッジがＨＨＰ２０ｂに装着された際に、装着されたインクカートリッジの識別情報を、インカートリッジの備えるＩＤチップ等から取得する。
【０２１１】
続いて、ステップＳ２２２において、補正実行制御部８６は、装着されたインクカートリッジの識別情報に基づき、補正情報記憶部６７１を参照して、前回の補正で取得された補正情報を取得する。前回の補正で取得された補正情報とは、具体的には、補正情報記憶部６７１に既に記憶されている補正情報であって、装着されたインクカートリッジの識別情報に対応付いた補正情報である。
【０２１２】
続いて、ステップＳ２２３において、補正実行制御部８６は、装着されたＩＪ記録ヘッド２４ａの補正確定フラグ情報を補正情報記憶部６７１から取得する。
【０２１３】
続いて、ステップＳ２２４において、補正実行制御部８６は、補正確定フラグ情報がオンかオフかを判定する。補正確定フラグ情報がオンの場合は（ステップＳ２２４、Ｙｅｓ）、処理を終了し、補正確定フラグ情報がオフの場合は（ステップＳ２２４、Ｎｏ）、ステップＳ２２５に移行する。
【０２１４】
ステップＳ２２５において、ヘッド温度信号入力部８２は、ＩＪ記録ヘッド２４ａの内部抵抗値Ｒを算出し、ヘッド温度取得部８３に出力する。そして、ヘッド温度取得部８３は、前回の補正情報を用いた（４）式により、入力した内部抵抗値ＲをＩＪ記録ヘッド２４ａの温度Ｔｉに変換し、取得した温度Ｔｉを示す信号を補正実行制御部８６に出力する。
【０２１５】
続いて、ステップＳ２２６において、環境温度信号入力部８１は、ＩＪ記録ヘッド２４ａの近傍の環境温度Ｔａを算出し、取得した環境温度Ｔａを示す信号を補正実行制御部８６に出力する。
【０２１６】
続いて、ステップＳ２２７において、補正実行制御部８６は、ＩＪ記録ヘッド２４ａの温度Ｔｉと環境温度Ｔａの差分の絶対値が、予め定められた温度閾値以下であるか否かを判定する。温度閾値以下でない場合は（ステップＳ２２７、Ｎｏ）、ステップＳ２２８に移行し、温度閾値以下である場合は（ステップＳ２２７、Ｙｅｓ）、ステップＳ２２９に移行する。
【０２１７】
ステップＳ２２８において、補正実行制御部８６は定数補正部８４に補正を実行させる。その後、処理は終了する。
【０２１８】
ステップＳ２２９において、補正実行制御部８６は補正確定フラグをＯＮにし、ステップＳ２３０において、補正実行制御部８６は補正情報を補正情報記憶部６７１に記憶させる。
【０２１９】
このようにして、制御部２５ｂは、再補正判定処理を実行することができる。
【０２２０】
なお、図２１に示す補正判定処理が実行された後、連続して図２２に示す再補正判定処理が実行されても良い。
【０２２１】
本実施形態の説明において述べた効果以外の効果は、第１の実施形態で説明したものと同様である。
【０２２２】
［第３の実施形態］
次に、第３の実施形態に係るＨＨＰ２０ｃについて説明する。
【０２２３】
＜第３の実施形態に係るＨＨＰの機能構成＞
図２３は、本実施形態に係るＨＨＰの機能構成の一例を説明するブロック図である。図２３に示すように、ＨＨＰ２０ｃは制御部２５ｃと、ＩＪ記録ヘッド２４ｃとを有する。また、制御部２５ｃは補正実行制御部８６ｃと、残量検知部８９とを有し、ＩＪ記録ヘッド２４ｃは残量記憶部２４１を有する。
【０２２４】
残量検知部８９は、ＩＪ記録ヘッド制御部４４ａがＩＪ記録ヘッド駆動回路２３を介してＩＪ記録ヘッド２４ｃに吐出させたインクの吐出滴サイズ（大滴、中滴、小滴等）と吐出滴サイズ毎の吐出数をカウントする。そして、その累積値から吐出インク量を求め、インクタンクに貯蔵されるインク量との差分により、インクカートリッジ内のインク残量を検知し、インク残量データを残量記憶部２４１に出力する。残量検知部８９がインク残量データを残量記憶部２４１に出力するタイミングは、一例として、ＨＨＰ２０ｃが１枚の印刷媒体への印刷を完了するタイミングである。
【０２２５】
残量記憶部２４１は、ＩＪ記録ヘッド２４ｃが備えるＩＤチップ等のメモリにより実現され、残量検知部８９から入力したインク残量データを記憶する。残量記憶部２４１に記憶されたインク残量データは、残量検知部８９からインク残量データが入力されるたびに更新される。
【０２２６】
補正実行制御部８６ｃは、ＩＪ記録ヘッド２４ｃ内のインク残量が予め定められた残量閾値以下の場合に、定数補正部８４による補正を実行させないように制御する。
【０２２７】
なお、本実施形態では、残量記憶部２４１がＩＪ記録ヘッド２４ｃ内に設けられている例を示すが、残量記憶部２４１は、ＨＨＰ２０ｃのＩＪ記録ヘッド２４ｃ以外の部分（ＨＨＰ２０ｃの本体等）に設けられていても良い。
【０２２８】
＜第３の実施形態に係る制御部による処理＞
図２４は、本実施形態に係る制御部による補正判定処理の一例を示すフローチャートである。ステップＳ２４１〜Ｓ２４５の処理は、図２１のステップＳ２１１〜Ｓ２１６の処理と同様であるため、ここでは説明を省略する。
【０２２９】
ステップＳ２４６において、補正実行制御部８６ｃは、残量記憶部２４１を参照してインク残量データＤを取得する。
【０２３０】
続いて、ステップＳ２４７において、補正実行制御部８６ｃはインク残量データＤが予め定められた残量閾値以下であるか否かを判定する。残量閾値以下である場合は（ステップＳ２４７、Ｙｅｓ）、ステップＳ２４８に移行し、補正実行制御部８６ｃは定数補正部８４に補正を実行させないように制御する。一方、残量閾値以下でない場合は（ステップＳ２４７、Ｎｏ）、ステップＳ２４９に移行し、補正実行制御部８６ｃは定数補正部８４に補正を実行させるように制御する。
【０２３１】
インクカートリッジにおけるインクの残量が少ないと、補正を行った後で、すぐにインクカートリッジを交換しなければならなくなってしまう場合があり、実行した補正が無駄になる。そして、無駄な補正のために時間がかかってしまう。
【０２３２】
本実施形態では、インク残量が予め定められた残量閾値以下の場合には、補正実行制御部８６ｃが定数補正部８４に補正を実行させないように制御することで、無駄な補正の時間をなくすことができる。
【０２３３】
また、ＩＪ記録ヘッド２４ｃが残量記憶部２４１を備えることで、ＩＪ記録ヘッド２４ｃが別のＨＨＰに装着された場合にも、別のＨＨＰにおいて、残量記憶部２４１を参照して上述の処理を実行することができ、上述したものと同様の効果を得ることができる。
【０２３４】
なお、これ以外の効果は、既に説明した実施形態で説明したものと同様である。
【０２３５】
以上、本発明を実施するための最良の形態について実施例を用いて説明したが、本発明はこうした実施例に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変形及び置換を加えることができる。
【０２３６】
また、実施形態は、液体吐出方法も含む。例えば、液体吐出方法は、記録ヘッドに含まれる吐出ノズルから印刷媒体に液体を吐出する記録工程と、画像データに基づき、前記吐出ノズルからの前記液体の吐出を制御する吐出制御工程と、前記記録ヘッドの温度に応じた電気信号を出力するヘッド温度検出工程と、定数を用いた変換式により、前記電気信号に基づく検出値を変換し、前記記録ヘッドの温度を取得するヘッド温度取得工程と、前記記録ヘッド近傍の環境温度を検出する環境温度検出工程と、前記環境温度を含む補正情報に基づき、前記定数を補正する定数補正工程と、前記記録ヘッドの温度の時間変化、及び前記環境温度の時間変化に基づき、前記定数補正部による補正を実行するか否かを判定する補正実行判定工程と、を含む。このような液体吐出方法により、上述した液体吐出装置と同様の効果を得ることができる。
【０２３７】
さらに、実施形態は、プログラムも含む。例えば、プログラムは、液体吐出装置を、記録ヘッドに含まれる吐出ノズルから印刷媒体に液体を吐出する記録部、画像データに基づき、前記吐出ノズルからの前記液体の吐出を制御する吐出制御部、前記記録ヘッドの温度に応じた電気信号を出力するヘッド温度検出部、定数を用いた変換式により、前記電気信号に基づく検出値を変換し、前記記録ヘッドの温度を取得するヘッド温度出力部、前記記録ヘッド近傍の環境温度を検出する環境温度検出部、前記環境温度を補正情報に基づき、前記定数を補正する定数補正部、前記記録ヘッドの温度の時間変化、及び前記環境温度の時間変化に基づき、前記定数補正部による補正を実行するか否かを判定する補正実行判定部、として機能させる。このようなプログラムにより、上述した液体吐出装置と同様の効果を得ることができる。
【０２３８】
また、上記で説明した実施形態の各機能は、一又は複数の処理回路によって実現することが可能である。ここで、本明細書における「処理回路」とは、電子回路により実装されるプロセッサのようにソフトウェアによって各機能を実行するようプログラミングされたプロセッサや、上記で説明した各機能を実行するよう設計されたASIC(Application Specific Integrated Circuit)、DSP（digital signal processor）、FPGA（field programmable gate array）や従来の回路モジュール等のデバイスを含むものとする。
【符号の説明】
【０２３９】
１１      画像データ出力器
１２      印刷媒体
２０、２０ａ、２０ｂ、２０ｃ  ＨＨＰ
２３      ＩＪ記録ヘッド駆動回路
２４、２４ａ、２４ｃ  ＩＪ記録ヘッド
２４１    残量記憶部
２５、２５ａ、２５ｂ、２５ｃ  制御部
２６      ＯＰＵ
２６１    表示部
３０      ナビゲーションセンサ
３１      ジャイロセンサ
３３      ＣＰＵ
３４      位置算出回路
４２      ナビゲーションセンサＩ/Ｆ
４３      センサタイミング生成部
４４、４４ａ  ＩＪ記録ヘッド制御部
４５      ジャイロセンサＩ/Ｆ
６１      ノズル
６４      ヘッド温度センサ
６５      環境温度センサ
６６      ＡＤ変換器
６７、６７ｂ  ＮＶＲＡＭ
６７１、６７１ｂ  補正情報記憶部
６８      ＡＤ変換器Ｉ／Ｆ
６９Ａ      ヒータ駆動回路
６９Ｂ      ヒータ
７０      Ｉ２Ｃ ＣＴＬ
８１      環境温度信号入力部
８２      ヘッド温度信号入力部
８３      ヘッド温度取得部
８４      定数補正部
８５      補正実行判定部
８５１    環境温度変化率検知部
８５２    ヘッド温度変化率検知部
８６      補正実行制御部
８７      補正時間計測部
８８      機能制限部
８９      残量検知部
ＲＬ、ＴＬ  定数
Ｔｉ      ＩＪ記録ヘッドの温度
Ｔａ      環境温度
ΔＴｉ    ヘッド温度変化率
ΔＴａ    環境温度変化率
ＴＨ１    ヘッド温度変化率閾値
ＴＨ２    環境温度変化率閾値
ＴＨ３    変化率差閾値
ｔｔｈ    補正時間閾値
ＲＬｄｌ、ＴＬｄｌ  下限値
ＲＬｕｌ、ＴＬｕｌ  上限値
Ｖｔｈ    有効温度閾値
Ｄｔｈ    残量閾値
【先行技術文献】
【特許文献】
【０２４０】
【特許文献１】特開２０１３−００６３３７号公報
【図１】
2020124869.tif 000006
【図２】
2020124869.tif 000007
【図３】
2020124869.tif 000008
【図４】
2020124869.tif 000009
【図５】
2020124869.tif 000010
【図６】
2020124869.tif 000011
【図７】
2020124869.tif 000012
【図８】
2020124869.tif 000013
【図９】
2020124869.tif 000014
【図１０】
2020124869.tif 000015
【図１１】
2020124869.tif 000016
【図１２】
2020124869.tif 000017
【図１３】
2020124869.tif 000018
【図１４】
2020124869.tif 000019
【図１５】
2020124869.tif 000020
【図１６】
2020124869.tif 000021
【図１７】
2020124869.tif 000022
【図１８】
2020124869.tif 000023
【図１９】
2020124869.tif 000024
【図２０】
2020124869.tif 000025
【図２１】
2020124869.tif 000026
【図２２】
2020124869.tif 000027
【図２３】
2020124869.tif 000028
【図２４】
2020124869.tif 000029