(57)【要約】【課題】モータに適した補正値をプリンタに設定する。【解決手段】本発明は、モータと、前記モータを制御するためのＰＩＤ制御系と、補正値を記録するためのメモリとを備え、前記ＰＩＤ制御系の積分要素の出力値と前記補正値に基づいて、前記モータに流れる電流値を算出するプリンタの、前記補正値を算出する方法に関する。本発明は、モータの特性が変動したときの、前記モータが第１の速度にて駆動されるときの前記積分要素の出力値、及び、前記モータが第２の速度にて駆動されるときの前記積分要素の出力値、の和と、前記補正値との関係を予め求め、製造対象となるプリンタの前記モータを第１の速度にて駆動して、そのときの前記積分要素の出力値を測定し、そのプリンタの前記モータを第２の速度にて駆動し、そのときの前記積分要素の出力値を測定し、測定された２つの前記出力値の和と前記関係とに基づいて補正値を決定することを特徴とする。【選択図】  図２３
2006015724.tif 000002
【特許請求の範囲】
【請求項１】
モータと、前記モータを制御するためのＰＩＤ制御系と、補正値を記録するためのメモリとを備え、
前記ＰＩＤ制御系の積分要素の出力値と前記補正値に基づいて、前記モータに流れる電流値を算出する
プリンタの、前記補正値を算出する方法であって、
モータの特性が変動したときの、前記モータが第１の速度にて駆動されるときの前記積分要素の出力値、及び、前記モータが第２の速度にて駆動されるときの前記積分要素の出力値、の和と、前記補正値との関係を予め求め、
製造対象となるプリンタの前記モータを第１の速度にて駆動して、そのときの前記積分要素の出力値を測定し、
そのプリンタの前記モータを第２の速度にて駆動し、そのときの前記積分要素の出力値を測定し、
測定された２つの前記出力値の和と前記関係とに基づいて補正値を決定する
ことを特徴とする補正値算出方法。
【請求項２】
請求項１に記載の補正値算出方法であって、
前記モータの特性値は、所定範囲内で変動するものであり、
前記モータの標準的な特性値と、前記所定範囲内で変動する前記モータの特性値とに基づいて、前記関係を求める
ことを特徴とする補正値算出方法。
【請求項３】
請求項２に記載の補正値算出方法であって、
前記関係は、
前記モータの特性が標準であるときの、前記モータが第１の速度にて駆動されるときの前記積分要素の出力値、及び、前記モータが第２の速度にて駆動されるときの前記積分要素の出力値、の和に相当する値と、
モータの特性が変動したときの、前記モータが第１の速度にて駆動されるときの前記積分要素の出力値、及び、前記モータが第２の速度にて駆動されるときの前記積分要素の出力値、の和、
の差と前記補正値との関係である
ことを特徴とする補正値算出方法。
【請求項４】
請求項１〜３のいずれかに記載の補正値算出方法であって、
前記プリンタは、印刷を行うとき前記モータにかかる負荷が変化することを特徴とする補正値算出方法。
【請求項５】
請求項４に記載の補正値算出方法であって、
前記プリンタは、インクカートリッジを装着するためのキャリッジを備え、
前記モータは、前記キャリッジを移動させる
ことを特徴とする補正値算出方法。
【請求項６】
請求項１〜５のいずれかに記載の補正値算出方法であって、
前記モータは、ＰＷＭ制御により駆動されることを特徴とする補正値算出方法。
【請求項７】
請求項１〜６のいずれかに記載の補正値算出方法であって、
前記プリンタが印刷を行うとき、前記プリンタは、前記モータに流れる電流値に基づいて、前記モータの発熱量を算出することを特徴とする補正値算出方法。
【請求項８】
請求項１〜７のいずれかに記載の補正値算出方法であって、
前記プリンタが印刷を行うとき、前記プリンタは、前記モータに流れる電流値に基づいて、前記モータの停止時間を決定することを特徴とする補正値算出方法。
【請求項９】
モータと、前記モータを制御するためのＰＩＤ制御系と、補正値を記録するためのメモリとを備え、
前記ＰＩＤ制御系の積分要素の出力値と前記補正値に基づいて、前記モータに流れる電流値を算出する
プリンタの、前記補正値を算出する方法であって、
モータの特性が変動したときの、前記モータが第１の速度にて駆動されるときの前記積分要素の出力値、及び、前記モータが第２の速度にて駆動されるときの前記積分要素の出力値、の和と、前記補正値との関係を予め求め、
製造対象となるプリンタの前記モータを第１の速度にて駆動して、そのときの前記積分要素の出力値を測定し、
そのプリンタの前記モータを第２の速度にて駆動し、そのときの前記積分要素の出力値を測定し、
測定された２つの前記出力値の和と前記関係とに基づいて補正値を決定し、
前記モータの特性値は、所定範囲内で変動するものであり、
前記モータの標準的な特性値と、前記所定範囲内で変動する前記モータの特性値とに基づいて、前記関係を求め、
前記関係は、
前記モータの特性が標準であるときの、前記モータが第１の速度にて駆動されるときの前記積分要素の出力値、及び、前記モータが第２の速度にて駆動されるときの前記積分要素の出力値、の和に相当する値と、
モータの特性が変動したときの、前記モータが第１の速度にて駆動されるときの前記積分要素の出力値、及び、前記モータが第２の速度にて駆動されるときの前記積分要素の出力値、の和と、
の差と前記補正値との関係であり、
前記プリンタは、印刷を行うとき前記モータにかかる負荷が変化するものであり、
前記プリンタは、インクカートリッジを装着するためのキャリッジを備えるものであり、
前記モータは、前記キャリッジを移動させ、ＰＷＭ制御により駆動されるものであり、
前記プリンタは、前記プリンタが印刷を行うとき、前記モータに流れる電流値に基づいて、前記モータの発熱量を算出するものであり、
前記プリンタは、前記プリンタが印刷を行うとき、前記モータに流れる電流値に基づいて、前記モータの停止時間を決定するものであり、
前記プリンタは、
印刷を行うとき、前記モータにより移動対象物を加速させ、一定速度で前記移動対象物を移動させて、目標位置まで前記移動対象物を移動させるものであり、
前記印刷を行う前に、前記一定速度で前記移動対象物を移動させる際の前記積分要素の出力値を測定するものであり、
印刷を行うときに、前記一定速度で前記移動対象物を移動させる際に前記モータに流れる電流を、前記積分要素の出力値と前記補正値に基づいて、算出するものである
ことを特徴とする補正値算出方法。
【請求項１０】
モータと、前記モータを制御するためのＰＩＤ制御系と、補正値を記録するためのメモリとを備え、
前記ＰＩＤ制御系の積分要素の出力値と前記補正値に基づいて、前記モータに流れる電流値を算出する
プリンタを、製造する方法であって、
モータの特性が変動したときの、前記モータが第１の速度にて駆動されるときの前記積分要素の出力値、及び、前記モータが第２の速度にて駆動されるときの前記積分要素の出力値、の和と、前記補正値との関係を予め求め、
製造対象となるプリンタの前記モータを第１の速度にて駆動して、そのときの前記積分要素の出力値を測定し、
そのプリンタの前記モータを第２の速度にて駆動し、そのときの前記積分要素の出力値を測定し、
測定された２つの前記出力値の和と前記関係とに基づいて決定される補正値を、そのプリンタの前記メモリに記録する
ことを特徴とするプリンタ製造方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、モータを備える補正値算出方法及びプリンタの製造方法に関する。
【背景技術】
【０００２】
プリンタには、キャリッジを移動させるためのキャリッジモータや、紙を搬送するための搬送モータ等の各種モータが備えられている。このようなモータを制御するため、プリンタにはＰＩＤ制御回路が設けられている。
【０００３】
モータを駆動したときにモータに流れる電流値は、モータにかかる負荷に応じて変化する。そこで、モータに流れる電流値を直接測定できない場合、ＰＩＤ制御回路の積分要素の出力値を測定し、積分要素の出力値に基づいて、モータに流れる電流値を算出することが行われている。
【０００４】
一方、モータには個体差があるため、積分要素の出力値から電流値を算出する際に標準的なモータの特性値を用いると、誤差が生じてしまう。そこで、標準的なモータの特性値に基づいて算出された電流値を補正値により補正することが行われている（特許文献１参照）
【特許文献１】特開２００３−７９１７２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかし、モータの個体差に適した補正値を正しく設定しなければ、電流値を精度良く算出することはできない。  
そこで、本発明は、モータの個体差に適した補正値をプリンタに設定することを目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成するための主たる第１の発明は、モータと、前記モータを制御するためのＰＩＤ制御系と、補正値を記録するためのメモリとを備え、前記ＰＩＤ制御系の積分要素の出力値と前記補正値に基づいて、前記モータに流れる電流値を算出するプリンタの、前記補正値を算出する方法であって、モータの特性が変動したときの、前記モータが第１の速度にて駆動されるときの前記積分要素の出力値、及び、前記モータが第２の速度にて駆動されるときの前記積分要素の出力値、の和と、前記補正値との関係を予め求め、製造対象となるプリンタの前記モータを第１の速度にて駆動して、そのときの前記積分要素の出力値を測定し、そのプリンタの前記モータを第２の速度にて駆動し、そのときの前記積分要素の出力値を測定し、測定された２つの前記出力値の和と前記関係とに基づいて補正値を決定することを特徴とする。
【０００７】
上記目的を達成するための主たる第２の発明は、モータと、前記モータを制御するためのＰＩＤ制御系と、補正値を記録するためのメモリとを備え、前記ＰＩＤ制御系の積分要素の出力値と前記補正値に基づいて、前記モータに流れる電流値を算出するプリンタを、製造する方法であって、モータの特性が変動したときの、前記モータが第１の速度にて駆動されるときの前記積分要素の出力値、及び、前記モータが第２の速度にて駆動されるときの前記積分要素の出力値、の和と、前記補正値との関係を予め求め、製造対象となるプリンタの前記モータを第１の速度にて駆動して、そのときの前記積分要素の出力値を測定し、そのプリンタの前記モータを第２の速度にて駆動し、そのときの前記積分要素の出力値を測定し、測定された２つの前記出力値の和と前記関係とに基づいて決定される補正値を、そのプリンタの前記メモリに記録することを特徴とする。
【０００８】
本発明の他の特徴については、本明細書及び添付図面の記載により明らかにする。
【発明を実施するための最良の形態】
【０００９】
＝＝＝開示の概要＝＝＝
本明細書及び添付図面の記載により、少なくとも、以下の事項が明らかとなる。
【００１０】
モータと、前記モータを制御するためのＰＩＤ制御系と、補正値を記録するためのメモリとを備え、
前記ＰＩＤ制御系の積分要素の出力値と前記補正値に基づいて、前記モータに流れる電流値を算出する
プリンタの、前記補正値を算出する方法であって、
モータの特性が変動したときの、前記モータが第１の速度にて駆動されるときの前記積分要素の出力値、及び、前記モータが第２の速度にて駆動されるときの前記積分要素の出力値、の和と、前記補正値との関係を予め求め、
製造対象となるプリンタの前記モータを第１の速度にて駆動して、そのときの前記積分要素の出力値を測定し、
そのプリンタの前記モータを第２の速度にて駆動し、そのときの前記積分要素の出力値を測定し、
測定された２つの前記出力値の和と前記関係とに基づいて補正値を決定する
ことを特徴とする補正値算出方法。  
このような補正値算出方法によれば、製造対象のプリンタのモータに適した補正値を算出することができる。
【００１１】
かかる補正値算出方法であって、前記モータの特性値は所定範囲内で変動するものであり、前記モータの標準的な特性値と、前記所定範囲内で変動する前記モータの特性値とに基づいて、前記関係を求めることが望ましい。また、前記関係は、「前記モータの特性が標準であるときの、前記モータが第１の速度にて駆動されるときの前記積分要素の出力値、及び、前記モータが第２の速度にて駆動されるときの前記積分要素の出力値、の和に相当する値」と「モータの特性が変動したときの、前記モータが第１の速度にて駆動されるときの前記積分要素の出力値、及び、前記モータが第２の速度にて駆動されるときの前記積分要素の出力値、の和」との差と前記補正値との関係であることが望ましい。これにより、算出された補正値は、各モータの特性に適した値になる。
【００１２】
かかる補正値算出方法であって、前記プリンタは、印刷を行うとき前記モータにかかる負荷が変化することが望ましい。また、前記プリンタは、インクカートリッジを装着するためのキャリッジを備え、前記モータは、前記キャリッジを移動させることが好ましい。このようなプリンタを製造する製造方法に対して特に有効である。
【００１３】
かかる補正値算出方法であって、前記モータは、ＰＷＭ制御により駆動されることが望ましい。このようなプリンタであれば、モータに流れる電流値を精度良く算出することができる。
【００１４】
かかる補正値算出方法であって、前記プリンタが印刷を行うとき、前記プリンタは、前記モータに流れる電流値に基づいて、前記モータの発熱量を算出することが望ましい。これにより、モータの発熱量を精度良く算出できるプリンタを製造することができる。
【００１５】
かかる補正値算出方法であって、前記プリンタが印刷を行うとき、前記プリンタは、前記モータに流れる電流値に基づいて、前記モータの停止時間を決定することが望ましい。これにより、印刷速度を向上させたプリンタを製造することができる。
【００１６】
モータと、前記モータを制御するためのＰＩＤ制御系と、補正値を記録するためのメモリとを備え、
前記ＰＩＤ制御系の積分要素の出力値と前記補正値に基づいて、前記モータに流れる電流値を算出する
プリンタを、製造する方法であって、
モータの特性が変動したときの、前記モータが第１の速度にて駆動されるときの前記積分要素の出力値、及び、前記モータが第２の速度にて駆動されるときの前記積分要素の出力値、の和と、前記補正値との関係を予め求め、
製造対象となるプリンタの前記モータを第１の速度にて駆動して、そのときの前記積分要素の出力値を測定し、
そのプリンタの前記モータを第２の速度にて駆動し、そのときの前記積分要素の出力値を測定し、
測定された２つの前記出力値の和と前記関係とに基づいて決定される補正値を、そのプリンタの前記メモリに記録する
ことを特徴とするプリンタ製造方法。  
このようなプリンタ製造方法によれば、モータに適した補正値をプリンタに設定することができる。
【００１７】
かかるプリンタ製造方法であって、前記モータの特性値は所定範囲内で変動するものであり、前記モータの標準的な特性値と、前記所定範囲内で変動する前記モータの特性値とに基づいて、前記関係を求めることが望ましい。また、前記関係は、「前記モータの特性が標準であるときの、前記モータが第１の速度にて駆動されるときの前記積分要素の出力値、及び、前記モータが第２の速度にて駆動されるときの前記積分要素の出力値、の和に相当する値」と「モータの特性が変動したときの、前記モータが第１の速度にて駆動されるときの前記積分要素の出力値、及び、前記モータが第２の速度にて駆動されるときの前記積分要素の出力値、の和」との差と前記補正値との関係であることが望ましい。これにより、算出された補正値は、各モータの特性に適した値になる。
【００１８】
かかるプリンタ製造方法であって、前記プリンタは、印刷を行うとき前記モータにかかる負荷が変化することが望ましい。また、前記プリンタは、インクカートリッジを装着するためのキャリッジを備え、前記モータは、前記キャリッジを移動させることが好ましい。このようなプリンタを製造する製造方法に対して特に有効である。
【００１９】
かかるプリンタ製造方法であって、前記モータは、ＰＷＭ制御により駆動されることが望ましい。このようなプリンタであれば、モータに流れる電流値を精度良く算出することができる。
【００２０】
かかるプリンタ製造方法であって、前記プリンタが印刷を行うとき、前記プリンタは、前記モータに流れる電流値に基づいて、前記モータの発熱量を算出することが望ましい。これにより、モータの発熱量を精度良く算出できるプリンタを製造することができる。
【００２１】
かかるプリンタ製造方法であって、前記プリンタが印刷を行うとき、前記プリンタは、前記モータに流れる電流値に基づいて、前記モータの停止時間を決定することが望ましい。これにより、印刷速度を向上させたプリンタを製造することができる。
【００２２】
＝＝＝印刷システムの構成＝＝＝
次に、印刷システム（コンピュータシステム）の実施形態について、図面を参照しながら説明する。ただし、以下の実施形態の記載には、コンピュータプログラム、及び、コンピュータプログラムを記録した記録媒体等に関する実施形態も含まれている。
【００２３】
図１は、印刷システムの外観構成を示した説明図である。この印刷システム１００は、プリンタ１と、コンピュータ１１０と、表示装置１２０と、入力装置１３０と、記録再生装置１４０とを備えている。プリンタ１は、紙、布、フィルム等の媒体に画像を印刷する印刷装置である。コンピュータ１１０は、プリンタ１と電気的に接続されており、プリンタ１に画像を印刷させるため、印刷させる画像に応じた印刷データをプリンタ１に出力する。表示装置１２０は、ディスプレイを有し、アプリケーションプログラムやプリンタドライバ等のユーザインタフェースを表示する。入力装置１３０は、例えばキーボード１３０Ａやマウス１３０Ｂであり、表示装置１２０に表示されたユーザインタフェースに沿って、アプリケーションプログラムの操作やプリンタドライバの設定等に用いられる。記録再生装置１４０は、例えばフレキシブルディスクドライブ装置１４０ＡやＣＤ−ＲＯＭドライブ装置１４０Ｂが用いられる。
【００２４】
コンピュータ１１０にはプリンタドライバがインストールされている。プリンタドライバは、表示装置１２０にユーザインタフェースを表示させる機能を実現させるほか、アプリケーションプログラムから出力された画像データを印刷データに変換する機能を実現させるためのプログラムである。このプリンタドライバは、フレキシブルディスクＦＤやＣＤ−ＲＯＭなどの記録媒体（コンピュータ読み取り可能な記録媒体）に記録されている。または、このプリンタドライバは、インターネットを介してコンピュータ１１０にダウンロードすることも可能である。なお、このプログラムは、各種の機能を実現するためのコードから構成されている。
【００２５】
なお、「印刷装置」とは、狭義にはプリンタ１を意味するが、広義にはプリンタ１とコンピュータ１１０とのシステムを意味する。
【００２６】
＝＝＝プリンタの構成＝＝＝
＜インクジェットプリンタの構成について＞
図２は、本実施形態のプリンタの全体構成のブロック図である。また、図３は、本実施形態のプリンタの全体構成の概略図である。また、図４は、本実施形態のプリンタの全体構成の横断面図である。以下、本実施形態のプリンタの基本的な構成について説明する。
【００２７】
本実施形態のプリンタは、搬送ユニット２０、キャリッジユニット３０、ヘッドユニット４０、検出器群５０、およびコントローラ６０を有する。外部装置であるコンピュータ１１０から印刷データを受信したプリンタ１は、コントローラ６０によって各ユニット（搬送ユニット２０、キャリッジユニット３０、ヘッドユニット４０）を制御する。コントローラ６０は、コンピュータ１１０から受信した印刷データに基づいて、各ユニットを制御し、紙に画像を形成する。プリンタ１内の状況は検出器群５０によって監視されており、検出器群５０は、検出結果をコントローラ６０に出力する。検出器群５０から検出結果を受けたコントローラ６０は、その検出結果に基づいて、各ユニットを制御する。
【００２８】
搬送ユニット２０は、媒体（例えば、紙Ｓなど）を印刷可能な位置に送り込み、印刷時に所定の方向（以下、搬送方向という）に所定の搬送量で紙を搬送させるためのものである。すなわち、搬送ユニット２０は、紙を搬送する搬送機構（搬送手段）として機能する。搬送ユニット２０は、給紙ローラ２１と、搬送モータ２２（ＰＦモータとも言う）と、搬送ローラ２３と、プラテン２４と、排紙ローラ２５とを有する。ただし、搬送ユニット２０が搬送機構として機能するためには、必ずしもこれらの構成要素を全て必要とするわけではない。給紙ローラ２１は、紙挿入口に挿入された紙をプリンタ内に自動的に給紙するためのローラである。給紙ローラ２１は、Ｄ形の断面形状をしており、円周部分の長さは搬送ローラ２３までの搬送距離よりも長く設定されているので、この円周部分を用いて紙を搬送ローラ２３まで搬送できる。搬送モータ２２は、紙を搬送方向に搬送するためのモータであり、ＤＣモータにより構成される。搬送ローラ２３は、給紙ローラ２１によって給紙された紙Ｓを印刷可能な領域まで搬送するローラであり、搬送モータ２２によって駆動される。プラテン２４は、印刷中の紙Ｓを支持する。排紙ローラ２５は、印刷が終了した紙Ｓをプリンタの外部に排出するローラである。この排紙ローラ２５は、搬送ローラ２３と同期して回転する。
【００２９】
キャリッジユニット３０は、ヘッドを所定の方向（以下、移動方向という）に移動（「走査」とも呼ばれる）させるためのものである。キャリッジユニット３０は、キャリッジ３１と、キャリッジモータ３２（ＣＲモータとも言う）とを有する。キャリッジ３１は、移動方向に往復移動可能である。（これにより、ヘッドが移動方向に沿って移動する。）また、キャリッジ３１は、インクを収容するインクカートリッジを着脱可能に保持している。キャリッジモータ３２は、キャリッジ３１を移動方向に移動させるためのモータであり、ＤＣモータにより構成される。
【００３０】
ヘッドユニット４０は、紙にインクを吐出するためのものである。ヘッドユニット４０は、ヘッド４１を有する。ヘッド４１は、インク吐出部であるノズルを複数有し、各ノズルから断続的にインクを吐出する。このヘッド４１は、キャリッジ３１に設けられている。そのため、キャリッジ３１が移動方向に移動すると、ヘッド４１も移動方向に移動する。そして、ヘッド４１が移動方向に移動中にインクを断続的に吐出することによって、移動方向に沿ったドットライン（ラスタライン）が紙に形成される。
【００３１】
検出器群５０には、リニア式エンコーダ５１、ロータリー式エンコーダ５２、紙検出センサ５３、および光学センサ５４等が含まれる。リニア式エンコーダ５１は、キャリッジ３１の移動方向の位置を検出するためのものである。ロータリー式エンコーダ５２は、搬送ローラ２３の回転量を検出するためのものである。紙検出センサ５３は、印刷される紙の先端の位置を検出するためのものである。この紙検出センサ５３は、給紙ローラ２１が搬送ローラ２３に向かって紙を給紙する途中で、紙の先端の位置を検出できる位置に設けられている。なお、紙検出センサ５３は、機械的な機構によって紙の先端を検出するメカニカルセンサである。詳しく言うと、紙検出センサ５３は搬送方向に回転可能なレバーを有し、このレバーは紙の搬送経路内に突出するように配置されている。そのため、紙の先端がレバーに接触し、レバーが回転させられるので、紙検出センサ５３は、このレバーの動きを検出することによって、紙の先端の位置を検出する。光学センサ５４は、キャリッジ３１に取付けられている。光学センサ５４は、発光部から紙に照射された光の反射光を受光部が検出することにより、紙の有無を検出する。そして、光学センサ５４は、キャリッジ３１によって移動しながら紙の端部の位置を検出する。光学センサ５４は、光学的に紙の端部を検出するため、機械的な紙検出センサ５３よりも、検出精度が高い。
【００３２】
コントローラ６０は、プリンタの制御を行うための制御ユニット（制御手段）である。コントローラ６０は、インターフェース部６１と、ＣＰＵ６２と、メモリ６３と、ユニット制御回路６４とを有する。インターフェース部６１は、外部装置であるコンピュータ１１０とプリンタ１との間でデータの送受信を行うためのものである。ＣＰＵ６２は、プリンタ全体の制御を行うための演算処理装置である。メモリ６３は、ＣＰＵ６２のプログラムを格納する領域や作業領域等を確保するためのものであり、ＲＡＭ、ＥＥＰＲＯＭ等の記憶手段を有する。ＣＰＵ６２は、メモリ６３に格納されているプログラムに従って、ユニット制御回路６４を介して各ユニットを制御する。
【００３３】
＜印刷動作について＞
図５は、印刷時の処理のフロー図である。以下に説明される各処理は、コントローラ６０が、メモリ６３内に格納されたプログラムに従って、各ユニットを制御することにより実行される。このプログラムは、各処理を実行するためのコードを有する。
【００３４】
印刷命令受信（Ｓ００１）：まず、コントローラ６０は、コンピュータ１１０からインターフェース部６１を介して、印刷命令を受信する。この印刷命令は、コンピュータ１１０から送信される印刷データのヘッダに含まれている。そして、コントローラ６０は、受信した印刷データに含まれる各種コマンドの内容を解析し、各ユニットを用いて、以下の給紙処理・搬送処理・インク吐出処理等を行う。
【００３５】
給紙処理（Ｓ００２）：給紙処理とは、印刷すべき紙をプリンタ内に供給し、印刷開始位置（頭出し位置とも言う）に紙を位置決めする処理である。コントローラ６０は、給紙ローラ２１を回転させ、印刷すべき紙を搬送ローラ２３まで送る。コントローラ６０は、搬送ローラ２３を回転させ、給紙ローラ２１から送られてきた紙を印刷開始位置に位置決めする。紙が印刷開始位置に位置決めされたとき、ヘッド４１の少なくとも一部のノズルは、紙と対向している。
【００３６】
ドット形成処理（Ｓ００３）：ドット形成処理とは、移動方向に沿って移動するヘッドからインクを断続的に吐出させ、紙上にドットを形成する処理である。コントローラ６０は、キャリッジモータ３２を駆動し、キャリッジ３１を移動方向に移動させる。そして、コントローラ６０は、キャリッジ３１が移動している間に、印刷データに基づいてヘッドからインクを吐出させる。ヘッドから吐出されたインク滴が紙上に着弾すれば、紙上にドットが形成される。移動するヘッドからインクが断続的に吐出されるので、紙上には移動方向に沿った複数のドットからなるドット列が形成される。なお、１回のドット形成処理の際に、キャリッジ３１が移動方向に１回移動することを「１パス」と言う。
【００３７】
搬送処理（Ｓ００４）：搬送処理とは、紙をヘッドに対して搬送方向に沿って相対的に移動させる処理である。コントローラ６０は、搬送モータを駆動し、搬送ローラを回転させて紙を搬送方向に搬送する。この搬送処理により、ヘッド４１は、先ほどのドット形成処理によって形成されたドットの位置とは異なる位置に、ドットを形成することが可能になる。
【００３８】
排紙判断（Ｓ００５）：コントローラ６０は、印刷中の紙の排紙の判断を行う。印刷中の紙に印刷すべきデータが残っていれば、排紙は行われない。そして、コントローラ６０は、印刷すべきデータがなくなるまで、ドット形成処理と搬送処理とを交互に繰り返し、ドットから構成される画像を徐々に紙に印刷する。
【００３９】
排紙処理（Ｓ００６）：印刷中の紙に印刷すべきデータがなくなれば、コントローラ６０は、排紙ローラを回転させることにより、その紙を排紙する。なお、排紙を行うか否かの判断は、印刷データに含まれる排紙コマンドに基づいても良い。
【００４０】
印刷終了判断（Ｓ００７）：次に、コントローラ６０は、印刷を続行するか否かの判断を行う。次の紙に印刷を行うのであれば、印刷を続行し、次の紙の給紙処理を開始する。次の紙に印刷を行わないのであれば、印刷動作を終了する。
【００４１】
＝＝＝搬送処理＝＝＝
＜搬送処理について＞
図６は、搬送ユニット２０の構成の説明図である。なお、これらの図において、既に説明された構成要素については、同じ符号を付しているので、説明を省略する。
【００４２】
搬送ユニット２０は、コントローラからの搬送指令に基づいて、所定の駆動量にて搬送モータ２２を駆動させる。搬送モータ２２は、指令された駆動量に応じて回転方向の駆動力を発生する。搬送モータ２２は、この駆動力を用いて搬送ローラ２３を回転させる。また、搬送モータ２２は、この駆動力を用いて排紙ローラ２５を回転させる。つまり、搬送モータ２２が所定の駆動量を発生すると、搬送ローラ２３と排紙ローラ２５は所定の回転量にて回転する。搬送ローラ２３と排紙ローラ２５が所定の回転量にて回転すると、紙は所定の搬送量にて搬送される。搬送ローラ２３と排紙ローラ２５は同期して回転しているため、搬送ローラ２３及び排紙ローラ２５の少なくとも一方に紙が接触していれば、紙は搬送ユニット２０によって搬送可能である。
【００４３】
紙の搬送量は、搬送ローラ２３の回転量に応じて定まる。したがって、搬送ローラ２３の回転量が検出できれば、紙の搬送量も検出可能である。そこで、搬送ローラ２３の回転量を検出するため、ロータリー式エンコーダ５２が設けられている。
【００４４】
＜ロータリー式エンコーダの構成について＞
図７は、ロータリー式エンコーダの構成の説明図である。なお、これらの図において、既に説明された構成要素については、同じ符号を付しているので、説明を省略する。
【００４５】
ロータリー式エンコーダは５２、スケール５２１と検出部５２２とを有する。
【００４６】
スケール５２１は、所定の間隔毎に設けられた多数のスリットを有する。このスケール５２１は、搬送ローラ２３に設けられている。つまり、スケール５２１は、搬送ローラ２３が回転すると、一緒に回転する。例えば、搬送ローラ２３が紙Ｓを１／１４４０インチ分の搬送を行うように回転すると、スケール５２１は、検出部５２２に対して、１スリット分だけ回転する。
【００４７】
検出部５２２は、スケール５２１と対向して設けられており、プリンタ本体側に固定されている。検出部５２２は、発光ダイオード５２２Ａと、コリメータレンズ５２２Ｂと、検出処理部５２２Ｃとを有しており、検出処理部５２２Ｃは、複数（例えば、４個）のフォトダイオード５２２Ｄと、信号処理回路５２２Ｅと、２個のコンパレータ５２２Ｆａ、５２２Ｆｂとを備えている。
【００４８】
発光ダイオード５２２Ａは、両端の抵抗を介して電圧Ｖｃｃが印加されると光を発し、この光はコリメータレンズに入射される。コリメータレンズ５２２Ｂは、発光ダイオード５２２Ａから発せられた光を平行光とし、スケール５２１に平行光を照射する。スケールに設けられたスリットを通過した平行光は、固定スリット（不図示）を通過して、各フォトダイオード５２２Ｄに入射する。フォトダイオード５２２Ｄは、入射した光を電気信号に変換する。各フォトダイオードから出力される電気信号は、コンパレータ５２２Ｆａ、５２２Ｆｂにおいて比較され、比較結果がパルスとして出力される。そして、コンパレータ５２２Ｆａ、５２２Ｆｂから出力されるパルスＥＮＣ−Ａ及びパルスＥＮＣ−Ｂが、ロータリー式エンコーダ５２の出力となる。
【００４９】
＜ロータリー式エンコーダの信号について＞
図８Ａは、搬送モータ２２が正転しているときの出力信号の波形のタイミングチャートである。図８Ｂは、搬送モータ２２が反転しているときの出力信号の波形のタイミングチャートである。
【００５０】
図に示された通り、搬送モータ１２の正転時および反転時のいずれの場合であっても、パルスＥＮＣ−ＡとパルスＥＮＣ−Ｂとは、位相が９０度ずれている。搬送モータ２２が正転しているとき、すなわち、紙Ｓが搬送方向に搬送されているときは、パルスＥＮＣ−Ａは、パルスＥＮＣ−Ｂよりも９０度だけ位相が進んでいる。一方、搬送モータ２２が反転しているとき、すなわち、紙Ｓが搬送方向とは逆方向に搬送されているときは、パルスＥＮＣ−Ａは、パルスＥＮＣ−Ｂよりも９０度だけ位相が遅れている。各パルスの１周期Ｔは、搬送ローラ２３がスケール５２１のスリットの間隔（例えば、１／１４４０インチ（１インチ＝２．５４ｃｍ））分だけ回転する時間に等しい。
【００５１】
コントローラがパルス信号の数をカウントすれば、搬送ローラ２３の回転量を検出できるので、紙の搬送量を検出することができる。また、コントローラが各パルスの１周期Ｔを検出すれば、搬送ローラ２３の回転速度を検出できるので、紙の搬送速度を検出することができる。
【００５２】
なお、リニア式エンコーダ５１の信号も、同様である。リニア式エンコーダ５１の場合、キャリッジ３１に検出部が設けられ、プリンタ本体側にリニアスケールが設けられる。そして、キャリッジ３１が移動すると、リニア式エンコーダ５１からパルス信号が出力される。キャリッジは往復移動し、キャリッジの往動時には、パルスＥＮＣ−ＡがパルスＥＮＣ−Ｂよりも９０度だけ位相が進み、キャリッジの復動時には、パルスＥＮＣ−ＡがパルスＥＮＣ−Ｂよりも９０度だけ位相が遅れる。
【００５３】
＝＝＝キャリッジユニット制御回路＝＝＝
＜キャリッジユニット制御回路の構成について＞
図９は、キャリッジユニット制御回路７０のブロック図である。キャリッジユニット制御回路７０は、キャリッジユニット３０のＣＲモータ３２（キャリッジモータ）の駆動を制御するものであり、前述のユニット制御回路６４に設けられている。  
このキャリッジユニット制御回路７０は、位置演算部７１と、減算器７２と、ゲイン７３と、速度演算部７４と、減算器７５と、比例要素７６Ａと、積分要素７６Ｂと、微分要素７６Ｃと、加算器７７と、ＰＷＭ回路７８と、加速制御部７９Ａ、タイマ７９Ｂとを有する。
【００５４】
位置演算部７１は、リニア式エンコーダ５１の出力パルスのエッジを検出し、その個数をカウントし、このカウント値に基づきＣＲモータ３２の回転位置を演算する。位置演算部７１は、２つのパルス信号の比較処理からＣＲモータ３２の正転・逆転を認知し、１個のエッジが検出された時に正転・逆転に応じてインクリメント・デクリメントするように計数処理する。  
減算器７２は、ＣＰＵ６２から送られてくる目標位置と、位置演算部７１により検出された検出位置との位置偏差を演算する。ゲイン７３は、減算器７２から出力される位置偏差にゲインＫｐを乗算し、目標速度を出力する。ゲインＫｐは、位置偏差に応じて決定される。なお、このゲインＫｐの値と位置偏差との関係を示すテーブルは、メモリ６３に格納されている。  
速度演算部７４は、リニア式エンコーダ５１の出力パルスに基づいて、ＣＲモータ３２の回転速度を演算する。すなわち、速度演算部７４は、リニア式エンコーダ５１の出力パルスのパルス周期を計時し、このパルス周期に基づいてＣＲモータ３２の回転速度を演算する。  
減算器７５は、ゲイン７３から出力される目標速度と、速度演算部７４により検出された検出速度との速度偏差を演算する。
【００５５】
比例要素７６Ａは、速度偏差に定数Ｇｐを乗算し、比例成分を出力する。積分要素７６Ｂは、速度偏差に定数Ｇｉを乗算したものを積算し、積分成分を出力する。微分要素７６Ｃは、現在の速度偏差と、１つ前の速度偏差との差に定数Ｇｄを乗算し、微分成分を出力する。比例要素７６Ａ、積分要素７６Ｂ及び微分要素７６Ｃの演算は、リニア式エンコーダ５１の出力パルスの１周期毎に行われる。
【００５６】
比例要素７６Ａ、積分要素７６Ｂ及び微分要素７６Ｃから出力される信号値は、それぞれの演算結果に応じたデューティＤＸを示す。ここで、デューティＤＸは、例えばデューティパーセントが（１００×ＤＸ／２０００）％であることを示す。この場合、ＤＸ＝２０００であれば、デューティ１００％を示し、ＤＸ＝１０００であれば、デューティ５０％であることを示す。なお、積分要素７６Ｂから出力される信号値のことを、ＤＸＩとも表す。
【００５７】
加算器７７は、比例要素７６Ａの出力と、積分要素７６Ｂの出力と、微分要素７６Ｃの出力とを加算する。この加算結果は、デューティ信号として、ＰＷＭ回路７８に送られる。ＰＷＭ回路７８は、加算器７７の加算結果に応じた指令信号を生成する。ドライバ２２Ａは、この指令信号に基づいて、ＣＲモータ３２を駆動する。
【００５８】
ドライバ２２Ａは、例えば複数個のトランジスタを備えており、ＰＷＭ回路７８からの指令信号に基づいて、トランジスタをオン・オフさせることで、ＣＲモータ３２に電圧を印加する。
【００５９】
また、加速制御部７９Ａ及びタイマ７９Ｂは、ＣＲモータ３２の加速制御時に用いられる。タイマ７９Ｂは、ＣＰＵ６２から送られてくるクロック信号に基づいて、所定時間毎にタイマ割込信号を発生する。加速制御部７９Ａは、タイマ割込信号を受ける毎に所定のデューティＤＸＰを積算し、積算結果としてデューティ信号をＰＷＭ回路７８に出力する。
【００６０】
ＣＲモータ３２を加速駆動するとき、ＰＷＭ回路７８は、加速制御部７９Ａから出力されるデューティ信号に基づいて、指令信号をＣＲモータ３２に出力し、ＣＲモータ３２を制御する。ＣＲモータ３２を定速駆動するとき、及び、ＣＲモータ３２を減速するとき、ＰＷＭ回路７８は、加算器７７から出力されるデューティ信号に基づいて、指令信号をＣＲモータ３２に出力し、ＣＲモータ３２をＰＩＤ制御する。
【００６１】
＜ＣＲモータの駆動について１＞
図１０Ａは、ＰＷＭ回路７８に入力されるデューティ信号の時間変化のグラフである。図１０Ｂは、モータの速度変化のグラフである。以下、これらの図を用いて、ＣＲモータの駆動について説明する。
【００６２】
ＣＲモータ３２が停止している時に、ＣＲモータ３２を起動させる起動指令信号がＣＰＵ６２からキャリッジユニット制御回路７０へ送られると、信号値がＤＸ０である起動初期デューティ信号が加速制御部７９ＡからＰＷＭ回路７８へ送られる。この起動初期デューティ信号は、起動指令信号とともにＣＰＵ６２から加速制御部７９Ａへ送られてくる。そして、この起動初期デューティ信号は、ＰＷＭ回路７８によって、信号値ＤＸ０に応じた指令信号に変換されて、ＣＲモータ３２の起動が開始される。
【００６３】
キャリッジユニット制御回路７０が起動指令信号を受信した後、所定の時間ごとにタイマ７９Ｂからタイマ割込信号が発生される。加速制御部７９Ａは、タイマ割込信号を受信する毎に、起動初期デューティ信号の信号値ＤＸ０に所定のデューティＤＸＰを積算し、積算されたデューティを信号値とするデューティ信号をＰＷＭ回路７８に送る。このデューティ信号は、ＰＷＭ回路７８によって、その信号値に応じた指令信号に変換されて、ＣＲモータ３２の回転速度は上昇する。このため加速制御部７９ＡからＰＷＭ回路７８に送られるデューティ信号の値は、階段状に上がっていく。
【００６４】
加速制御部７９Ａにおけるデューティの積算処理は、積算されたデューティが所定のデューティＤＸＳになるまで行われる。時刻ｔ１において積算されたデューティが所定値ＤＸＳとなると、加速制御部７９Ａは積算処理を停止し、以後ＰＷＭ回路７８に一定のデューティＤＸＳを信号値とするデューティ信号を送る。
【００６５】
そして、ＣＲモータ３２が所定の回転速度になると（時間ｔ２参照）、加速制御部７９Ａは、ＰＷＭ回路７８へ出力するデューティ信号を減少させて、ＣＲモータ３２に印加される電圧のデューティパーセントを減少させるよう制御する。このときＣＲモータ３２の回転速度は更に上昇する。そして、時間ｔ３になると、ＰＷＭ回路７８は加算器７７の出力を選択し、ＰＩＤ制御が行われる。ＰＩＤ制御が開始される時点（ｔ３）において、積分要素７６Ｂの積分値が適当な値に設定されており、積分要素７６Ｂの出力値が所定の値になる。
【００６６】
ＰＩＤ制御が開始されると、キャリッジユニット制御回路７０は、目標位置と、リニア式エンコーダ５１の出力から得られる実際の位置との位置偏差にゲインＫｐを乗算して目標速度を算出する。そして、キャリッジユニット制御回路７０は、この目標速度と、リニア式エンコーダ５１の出力から得られる実際の速度との速度偏差に基づいて、比例要素７６Ａ、積分要素７６Ｂ及び微分要素７６Ｃを用いて比例成分、積分成分及び微分成分の演算を行い、これらの演算結果の和に基づいて、ＣＲモータ３２の制御を行う。尚、上記比例、積分及び微分演算は、例えばリニア式エンコーダ５１の出力パルスＥＮＣ−Ａの立ち上がりエッジに同期して行われる。これにより、ＣＲモータ３２の回転速度は、時刻ｔ４において、所望の速度となるように制御される。
【００６７】
ＣＲモータ３２が目標位置に近づくと（時刻ｔ５）、位置偏差が小さくなるから目標速度も小さくなる。このため速度偏差、即ち減算器７５の出力が負になり、ＣＲモータ３２は減速し、時刻ｔ６に停止する。
【００６８】
＝＝＝発熱制限制御の概略＝＝＝
コントローラ６０は、１回のドット形成処理当たりのＣＲモータ３２の発熱量Ｑpass[Y][V]を算出し、この発熱量Ｑpass[Y][V]に基づいてＣＲモータ３２の温度を推定し、推定温度に応じてＣＲモータ３２に対して発熱制限制御を行う。
【００６９】
１回のドット形成処理当たりのＣＲモータ３２の発熱量Ｑpass[Y][V]は、ＣＲモータ３２の加速・減速時の電流値であるＩbase[Y][V]と、ＣＲモータ３２の定速時の電流値であるＩfukaとを加算して以下のように算出される。（なお、１回のドット形成処理当たりのＣＲモータ３２の駆動時間をｔpass[Y][V]とする。）
Ｑpass[Y][V]＝（Ｉbase[Y][V]＋Ｉfuka）２・ｔpass[Y][V]
【００７０】
移動速度Ｖと移動距離Ｙとの各組み合わせ毎に、加速時（及び減速時）の電流値Ｉbase[Y][V]及び駆動時間ｔpass[Y][V]が、それぞれＩbaseテーブル及びｔpassテーブルとしてメモリ６３に予め記憶されている。そして、印刷時に移動速度Ｖと移動距離Ｙが定まれば、コントローラ６０は、テーブルに基づいて、電流値Ｉbase[Y][V]と駆動時間ｔpass[Y][V]とを求めることができる。  
定速時にＣＲモータ３２に流れる電流Ｉfukaは、ＣＲモータ３２の負荷によって異なるので、電源ＯＮ時に計測される（「負荷メジャメント」の項で後述する）。
【００７１】
コントローラ６０は、１回のドット形成処理当たりのＣＲモータ３２の発熱量Ｑpass[Y][V]に基づいて、ＣＲモータ３２からの自然放熱を考慮して、ＣＲモータ３２の温度を推定する（「温度推定処理」の項で後述する）。
【００７２】
発熱制限制御は、推定されたＣＲモータ３２の温度が閾値に達した時に、開始される。ＣＲモータ３２は搬送モータ２２と交互に駆動されるので、発熱制限制御では、ＣＲモータ３２の間欠的な駆動に休止時間を挿入し、ＣＲモータ３２の熱を放出させる（「発熱制限制御」の項で後述する）。
【００７３】
＝＝＝テーブルの作成＝＝＝
一般に、発熱量は以下の式で求められる。  
Ｑ＝Ｋ・Ｗ  （Ｋは、ある仕事Ｗを発熱に換算する係数である）
ここで、Ｗ＝Ｉ２・Ｒ・ｔである。つまり、Ｑ＝Ｉ２・Ｒ・ｔ・Ｋとなる。ＣＲモータ３２の動作に伴う発熱を考えると、ＲはＣＲモータの巻線の抵抗であり、定数である。ＲとＫは定数なので、Ｑ∝Ｉ２・ｔの関係がある。そこで、以下の説明では、Ｉ２・ｔを発熱量と呼ぶ（実際には発熱相当量である）。
【００７４】
＜Ｉbaseテーブルの作成＞
図１１Ａは、モータ負荷の小さいときの時間と電流値との関係のグラフである。図１１Ｂは、モータ負荷の大きいときの時間と電流値との関係のグラフである。
【００７５】
電流値は、加速するときには高くなり、定速域では負荷に逆らっているのでほぼ一定である。ＣＲモータ３２の負荷は、レールなどの摺動部分との動摩擦抵抗及び粘性抵抗等によって発生するものである。ＣＲモータ３２の定速域における一定電流値Ｉfukaは、キャリッジ３１を負荷に逆らって動かすために必要な電流値である。よって、図に示すように、電流値Ｉfukaは、負荷が小さいときは小さい値をとり、負荷が大きいときは大きい値をとる。
【００７６】
加速時において、Ｉfukaを越える部分の電流分（図中の斜線部）は、キャリッジ３１の質量Ｍに起因するイナーシャ分に相当し、これは同じ速度モード（加速モード）では質量Ｍに依存する一定値である。そこで、図１２に示すように、１パス当たりの実効電流値Ｉpassを、負荷によって変動する電流値Ｉfukaと、質量Ｍと加減速モードにのみ依存するイナーシャ分に相当する電流値Ｉbaseとに分けて求めるようにしている（なお、１回の発熱量をＱpassとすると、実効電流値Ｉpassは、Ｑpass＝Ｉpass２×ｔpass  の関係にある）。このうち、電流値Ｉfukaは、後述する負荷メジャメントと同様の方法により、実測される（ここでは説明を省略する）。
【００７７】
図１３は、Ｉbaseテーブルの説明図である。このＩbaseテーブルは、移動速度Ｖと移動距離Ｙとに関連付けて、加速時（及び減速時）の電流値Ｉbase[Y][V]を記憶したテーブルである。各電流値Ｉbase[Y][V]は、予め実験で求められたものである。この求め方は、以下の通りである。
【００７８】
まず、１パスの間のＣＲモータ３２の電流値Ｉを微小時間ｔ毎に逐次測定し、得られた電流値Ｉの２乗に微小時間ｔを乗算した値Ｉ２×ｔを逐次積算し、この積算値をＣＲモータの駆動時間ｔpassで割った値の平方根を算出し、１パス当たりの実効電流値Ｉpassを算出する。そして、実効電流値Ｉpassから、実測された電流値Ｉfukaを減算し、電流値Ｉbaseを算出する（Ｉbase＝Ｉpass−Ｉfuka）。これを各移動速度Ｖと移動距離Ｙの全ての組み合わせについて実効電流Ｉbase[Y][V]を実測計算し、これによりＩbaseテーブルを完成させる。そして、作成されたＩbaseテーブルは、メモリ６３に記憶される。
【００７９】
＜ｔpassテーブルの作成＞
図１４は、ｔpassテーブルの説明図である。このｔpassテーブルは、移動速度Ｖと移動距離Ｙとに関連付けて、１回のドット形成処理当たり（１パス当たり）のＣＲモータ３２の駆動時間ｔpass[Y][V]を記憶したテーブルである。各移動速度Ｖと移動距離Ｙの全ての組み合わせについて予め実験で計測し、これによりｔpassテーブルを完成させる。そして、作成されたｔpassテーブルは、メモリ６３に記憶される。
【００８０】
＝＝＝負荷メジャメント＝＝＝
ＣＲモータ３２が一定速度で回転するために必要な電流値は、ＣＲモータ３２にかかる負荷によって異なる。そこで、電源ＯＮ時などの印刷処理前に、プリンタは、以下に説明する負荷メジャメントを行い、ＣＲモータ３２が一定速度Ｖ１で移動するときにＣＲモータ３２に流れる電流値Ｉfukaを計測している。  
図１５は、負荷メジャメント処理のフロー図である。図１６は、負荷メジャメント処理時の積分要素７６Ｂのデューティ信号値（出力値）とＣＲモータ回転速度の時間変化のグラフである。コントローラ６０は、電源ＯＮ時又はインクカートリッジ交換時に、メモリ６３に格納されているプログラムに従ってキャリッジユニット制御回路を制御して、以下の処理を行う。
【００８１】
まず、コントローラ６０は、ＣＲモータ３２を起動する（Ｓ１０１）。最初の加速域では、コントローラ６０は、オープン制御で加速制御を行い、ＣＲモータ３２の回転速度が所定の目標速度Ｖ１に近づくまでＣＲモータを加速する。  
次に、ＣＲモータ３２の回転速度が目標速度Ｖ１に近づいたら、オープン制御からＰＩＤ制御に移行する（Ｓ１０２）。ＰＩＤ制御によりＣＲモータ３２の駆動を続けると、ＣＲモータ３２の回転速度と目標速度Ｖ１との差が小さくなっていく。  
ＣＲモータ３２の回転速度と目標速度Ｖ１との差が所定値以下となり、積分要素７６Ｂの出力信号値ＤＸＩがほぼ一定値になったら、コントローラ６０は、積分要素７６Ｂの出力信号値ＤＸＩをサンプリング間隔Δｔにて記録する（Ｓ１０３）。  
サンプリングを開始してからＮ個の出力信号値を記録したら（Ｓ１０４でＹＥＳ）、コントローラ６０は、サンプリングしたＮ個の出力信号値に基づいて、その平均値ＤＸＩ_v1を算出する（Ｓ１０５）。
【００８２】
ＣＲモータ３２に印加される一定電圧をＶｐ、ＣＲモータ３２の抵抗値をＲ、ＣＲモータの回転速度をＶ１、回転速度Ｖ１のときにＣＲモータ３２に流れる電流をＩfuka、負荷メジャメントにより得られた積分要素７６Ｂの出力信号値の平均値をＤＸＩ_v1、モータ逆起電圧係数をｋＥ、デューティパーセント１００％を示す積分要素出力値を２０００とすると、
Ｉfuka＝｛Ｖｐ×（ＤＸＩ_v1／2000）−ｋＥ×Ｖ１｝／Ｒ
という関係式が成立する。  
したがって、この負荷メジャメントにより、積分要素７６Ｂの出力値ＤＸＩ_v1が分かれば、一定速度Ｖ１でキャリッジを駆動するときにＣＲモータ３２に流れる電流値Ｉfukaを求めることができる（Ｓ１０６）。
【００８３】
但し、ＣＲモータ３２には個体差があるため、実際のＣＲモータのＶｐ、ｋＥ、Ｒの値は、上記計算に用いられたＶｐ、ｋＥ、Ｒと異なる。このため、上記の計算により算出されたＩfukaには、モータの個体差によるバラツキのため、誤差を含んでいる。  
そこで、本実施形態では、電流値Ｉfukaを求める際に、上記の関係式にて求められた電流値Ｉfukaに、計算誤差分の補正値Ｉfuka_subを加算する。この補正値Ｉfuka_subの算出方法については、後述する。
【００８４】
＝＝＝温度推定処理＝＝＝
＜１回のドット形成処理当たり（１パス当たり）の発熱量Ｑpassについて＞
図１７は、Ｑpassテーブルの説明図である。このＱpassテーブルは、移動速度Ｖと移動距離Ｙとに関連付けて、１回のドット形成処理当たり（１パス当たり）のＣＲモータの発熱量Ｑpass[Y][V]を記憶したテーブルである。各発熱量Ｑpass[Y][V]は、次式により、算出される。  
Ｑpass[Y][V]＝（Ｉbase[Y][V]＋Ｉfuka[Y][V]）２×ｔpass[Y][V]
【００８５】
Ｑpassテーブルの作成過程を説明すると、以下の通りになる。プリンタ出荷前に工場内においてＩbaseテーブルとｔpassテーブルが作成される。作成されたＩbaseテーブルとｔpassテーブルは、メモリ６３に予め記憶され、プリンタが出荷される。プリンタを購入したユーザが、プリンタを設置して、プリンタの電源を投入すると、負荷メジャメントが行われて、電流値Ｉfukaが計測される。そして、コントローラ６０は、Ｉbaseテーブルを参照して得られるＩbase[Y][V]と、ｔpassテーブルを参照して得られるｔpass[Y][V]と、負荷メジャメントにより計測された電流値Ｉfukaとに基づいて、１回のドット形成処理当たり（１パス当たり）のＣＲモータの発熱量Ｑpass[Y][V]を算出する。そして、コントローラ６０は、各移動速度Ｖと移動距離Ｙの全ての組み合わせについてＱpass[Y][V]を算出し、Ｑpassテーブルを作成する。
【００８６】
なお、キャリッジ３１の往動時と復動時とでは、ＣＲモータ３２にかかる負荷が厳密には違うので、実際には、Ｉbaseテーブル、ｔpassテーブル、Ｉfuka及びＱpassテーブルには、往動時用と復動時用の２種類ある。但し、本実施形態では、説明を簡単にするため、往動時と復動時を区別することなく、１つのテーブルを共通にしている。
【００８７】
＜発熱温度の推定について＞
次に、プリンタの電源投入時のＱpassテーブル作成後に行われる温度推定処理について説明する。
【００８８】
１回のドット形成処理の際に、コントローラ６０は、Ｑpassテーブルを参照し、移動速度Ｖ・移動距離Ｙに基づいて、そのときの発熱量Ｑpassを取得する。コントローラ６０は、このような発熱量Ｑpassの取得を、ドット形成処理毎に（１パス毎に）行う。  
そして、プリンタの印刷処理時、キャリッジ３１は往動と復動を繰り返し、ＣＲモータは発熱を繰り返すので、コントローラ６０は、逐次取得した発熱量Ｑpassを積算する。  
ここでは、１分間を単位時間Ｔboxとし、単位時間内の発熱量Ｑpassを積算し、単位時間内の発熱量Ｑsigmaを計算する。発熱量Ｑsigmaの計算前初期値は「０」であり、単位時間Ｔbox経過する毎にリセットされる。従って、キャリッジ３１が１分間１度も駆動されなかったときの発熱量Ｑsigmaは「０」となる。
【００８９】
次に、１分間の発熱量Ｑsigmaを発熱温度（発熱値）ΔＴnewに換算する。ΔＴnew は、式 ΔＴnew ＝Ｋａ・Ｑsigma により求まる。ここで、Ｋａは、発熱量Ｑから発熱温度ΔＴへの変換係数であり、予備実験により求められた値である。熱量Ｑ＝κ・ΔＴ、ＱはＩo２・Ｒ・ｔに比例することから、予備実験で、実効電流値Ｉo をｔ秒通電したときに、モータの発熱温度ΔＴo が測定されたとすると、実効電流値Ｉrms をｔ秒通電したときに、得られる発熱温度ΔＴnew は、次式で表される。  
ΔＴnew ＝（ΔＴo ／Ｉo２）・Ｉrms２ 
∴ΔＴnew ＝{ ΔＴo ／（Ｉo２・Ｔbox ）}×Ｑsigma
ここで、{ ΔＴo ／（Ｉo２・Ｔbox ）} をＫａとおくと、ΔＴnew ＝Ｋａ・Ｑsigma となる。実効電流値Ｉo をｔ秒通電したときのモータの発熱温度ΔＴを測定した予備実験から、例えばＩo ＝200 ｍＡでΔＴo ＝20deg.が測定されたとすると、単位時間Ｔbox ＝６０秒であることから、Ｋａ＝0.0000083 になる。よって、単位時間Ｔbox 当たりの発熱温度ΔＴnew は、上記の値をもつ定数（変換係数）Ｋａを用いて、ΔＴnew ＝Ｋａ・Ｑsigma により表される。
【００９０】
図１８は、ＣＲモータ３２の発熱に起因する総発熱温度（総発熱値）を、時間経過による自然放熱を考慮して示したグラフである。グラフに示すように、ＣＲモータ３２の最初の１分間の通電による発熱温度（発熱値）をΔＴ１new 、次の１分間の通電による発熱温度をΔＴ２new 、さらに次の１分間の通電による発熱温度をΔＴ３new とする。最初の発熱温度ΔＴ１new は、時間経過とともに放熱曲線にそって下降し、１分後には自然放熱によりΔＴ１old に低下する。よって、２分目の総発熱温度ΔＴ２sum は、ΔＴ２sum ＝ΔＴ１old ＋ΔＴ２new で表される。また、２分目の総発熱温度ΔＴ２sum は、時間経過とともに放熱曲線に沿って下降し、その１分後には自然放熱によりΔＴ２old に低下する。よって、３分目の総発熱温度ΔＴ３sum は、ΔＴ３sum ＝ΔＴ２old ＋ΔＴ３new で表される。
【００９１】
ここで、ΔＴsum が１分後に放熱曲線に沿って下降して達する発熱温度ΔＴold は、放熱係数Ｋを用いて、ΔＴold ＝Ｋ・ΔＴsum として表される。よって、最新のモータ総発熱温度ΔＴsum は、前回の総発熱温度ΔＴsum に放熱係数Ｋを掛けた値に、最新の発熱温度ΔＴnew を加えることにより算出され、式 ΔＴsum ＝Ｋ・ΔＴsum ＋ΔＴnew により求められる。なお、この総発熱温度ΔＴsumはＣＲモータ３２の発熱による蓄熱量を発熱温度に変換した値に相当する。従って、熱量から見た場合、前回の蓄熱量に今回の発熱量を加算すると、今回の蓄熱量が求められることになる。
【００９２】
放熱係数Ｋは予め実験から求められたもので、以下のように設定されている。まずプリンタの系には、図１９の温度曲線で示されるキャリッジ駆動中の発熱系と、図２０の温度曲線で示されるキャリッジ停止中の放熱系とがある。発熱系と放熱系は共に１次遅れ系であるので、ある時刻ｔの温度は、時定数Ｔとおくと、exp （−ｔ／Ｔ）で表される。発熱系では、まず飽和発熱温度Ｔsat を実験で求め、この飽和温度Ｔsat の６３％の値に達する時間が、そのプリンタの系の発熱時定数Ｔ１sinkになる。一方、放熱系では、飽和発熱後、キャリッジ停止時点の飽和発熱温度から室温に下がっていくとき、６３％分の温度が下がるまでの時間が、そのプリンタの系の放熱時定数Ｔ２sinkになる。これらの時定数Ｔ１sink、Ｔ２sinkは共に実験で求められたものである。
【００９３】
発熱系と放熱系は共に１次遅れ系であるので、ある時刻ｔの温度exp （−ｔ／Ｔ）は、単位時間Ｔbox である６０秒経過したらＫ倍になるとすると、次の関係式が成立する。  
exp （−（ｔ＋６０）／Ｔ）＝Ｋ・exp （−ｔ／Ｔ）  
よって、６０秒での放熱係数Ｋは、次式で表される。  
Ｋ＝exp （−６０／Ｔ）
上式において、時定数Ｔとして実験で求めた発熱時定数Ｔ１sinkを使用すると、発熱系における放熱係数Ｋ＝exp （−６０／Ｔ１sink）が求められる。また、上式において、時定数Ｔとして実験で求めた放熱時定数Ｔ２sinkを使用すると、放熱系における放熱係数Ｋ＝exp （−６０／Ｔ２sink）が求められる。
【００９４】
本実施形態では、単位時間Ｔbox（＝６０秒）当たりのキャリッジ移動回数Ｎcrをカウンタにて計数し、Ｎcrが予め設定された設定回数Ｎo 以上であるときには、キャリッジ駆動中の発熱系である判断し、発熱時定数Ｔ１sinkを使用した放熱係数Ｋを使用する。一方、キャリッジ移動回数Ｎcrが設定回数Ｎo 未満であるときには、キャリッジ停止中の放熱系であると判断し、放熱時定数Ｔ２sinkを使用した放熱係数Ｋを使用する。よって、総発熱温度ΔＴsum は、６０秒経過するとそのときの系に応じた放熱係数Ｋを用いて、Ｋ・ΔＴsum として計算される。
【００９５】
プリンタの電源を切断するときには、発熱温度（発熱値）ΔＴsum は、１バイト化処理された後、ＥＥＰＲＯＭに１バイトのデータとして記憶される。すなわち、１バイト化係数ＥＥdiv を用いて、ΔＴsumEE ＝ΔＴsum ／ＥＥdiv により１バイト化される。そして、プリンタ電源投入時に、ＥＥＰＲＯＭより前回稼働時の最終発熱値ΔＴsumEE （１バイト）を取得し、シーケンス計算単位に合わせて、ΔＴsum ＝ΔＴsumEE ・ＥＥdiv により展開する。その値を現在の発熱温度として取得し、ΔＴsum の初期値とする。もちろん、電源切断後においても、バックアップ電源を用いて、ΔＴsum が所定温度（例えば１０℃）に降下するまでΔＴsum の計算を継続してもよい。
【００９６】
コントローラ６０は、算出された総発熱温度ΔＴsumをＲＡＭ等のメモリ６３に記憶する。この総発熱温度ΔＴsumは、ＣＲモータの推定温度になる。そして、ＣＲモータの推定温度が所定の閾値を超えたとき、発熱制限制御を開始する。つまり、コントローラ６０は、総発熱温度ΔＴsumに基づいて、発熱制限制御を行うか否かを決定する。
【００９７】
＝＝＝発熱制限制御＝＝＝
図２１Ａは、通常時（発熱制限制御を行う前）のＣＲモータ３２の電流の時間変化の説明図である。図２１Ｂは、発熱制限制御時のＣＲモータ３２の電流の時間変化の説明図である。なお、ＣＲモータ３２の電流値がプラスとマイナスを交互に反転するのは、キャリッジ３１が往動と復動とを交互に繰り返すためである。
【００９８】
通常時には、コントローラ６０は、所定の間隔にて、ＣＲモータ３２を間欠的に駆動する。なお、ＣＲモータ３２の間欠的な駆動の合間に、搬送モータ２２が駆動され、搬送処理が行われる。  
ＣＲモータ３２の間欠的な駆動を続けると、ＣＲモータ３２の温度が高くなる。しかし、ＣＲモータ３２が高温になると、ＣＲモータ３２に品質上の問題が生じる恐れがある。一方、ＣＲモータ３２の間欠的な駆動を続けると、ＣＲモータ３２の温度を推定するための総発熱温度ΔＴsumも高くなる。
【００９９】
そこで、本実施形態では、総発熱温度ΔＴsumが所定の閾値を超えたとき、コントローラ６０は、発熱制限制御を行いながら、ＣＲモータ３２を駆動する。  
発熱制限制御とは、ＣＲモータ３２の間欠的な駆動の間に休止時間を挿入し、ＣＲモータ３２の間欠的な駆動の間隔を広げる制御である。この発熱制限制御によれば、単位時間Ｔbox（＝６０秒）当たりの発熱量Ｑsigmaが小さくなり、発熱制限制御中の最新の１分間の発熱温度ΔＴnewが小さくなり、ΔＴsum ＝Ｋ・ΔＴsum ＋ΔＴnewより、総発熱温度ΔＴsumが時間の経過と共に小さく変化する。すなわち、発熱制限制御により、ＣＲモータの発熱を抑え、ＣＲモータが高温になるのを防いでいる。
【０１００】
ところで、発熱制限制御が行われると、ＣＲモータ３２の駆動間隔が広がるので、印刷速度が遅くなり、１枚当たりの印刷時間が長くなる。そのため、ＣＲモータ３２の実際の温度が低いときに発熱制限制御が行われると（ＣＲモータ３２の推定温度が実際の温度よりも高く算出されると）、不必要な発熱制限制御が行われてしまい、印刷速度が損なわれてしまう。  
特に、ＣＲモータの電圧値Ｖｐ、抵抗値Ｒ及びモータ逆起電圧係数ｋＥは個体差によるバラツキがあるため、標準的なＶｐ、Ｒ、ｋＥを用いてＩfukaを算出して発熱量を求めたのでは、推定温度と実際の温度との間に大きな誤差が生じてしまい、不必要な発熱制限制御が行われてしまう。  
そこで、本実施形態では、電流値Ｉfukaを算出する際に、モータ個体差による誤差が小さくなるように補正値Ｉfuka_subを算出し、標準的なＶｐ、Ｒ、ｋＥを用いて算出された電流値Ｉfukaに計算誤差分の補正値Ｉfuka_subを加算している。
【０１０１】
＝＝＝補正値Ｉfuka_sub＝＝＝
以下の説明において、ＣＲモータの標準の電圧値をＶｐとし、ＣＲモータの実際の電圧値をＶｐ’と表す（抵抗値Ｒ及びモータ逆起電圧係数ｋＥも同様である）。電圧値等の標準の値は、既知である。一方、電圧値等の実際の値は、設計上の範囲内で、個々のモータ毎にバラツキがある。
【０１０２】
＜補正値Ｉfuka_subについて＞
ＣＲモータ３２を一定速度Ｖで駆動するとき、ＣＲモータ３２に流れる電流Ｉfukaは、次式の通りである。  
Ｉfuka＝｛Ｖｐ×（ＤＸＩ／2000）−ｋＥ×Ｖ｝／Ｒ            （式１）
上述の負荷メジャメントによる計測では、個々のモータのバラツキを反映したものになるので、ＣＲモータ３２に流れる電流値がＩfuka_v1のとき、積分要素７６Ｂの出力信号値は、ＤＸＩ_v1’であり、次式のように表される。  
ＤＸＩ_v1’＝（Ｒ’×Ｉfuka_v1’＋ｋＥ’×Ｖ１）×2000／Ｖｐ’（式２）
個々のモータのＶｐ’、ｋＥ’及びＲ’は分からないため、標準的な値（Ｖｐ、ｋＥ、Ｒ）を用いて電流値を算出するため、ＣＲモータ３２に流れている電流Ｉfuka_v1’を次式のように計算する。  
Ｉfuka_v1’＝｛Ｖｐ’×（ＤＸＩ_v1’／2000）−ｋＥ’×Ｖ１｝／Ｒ’（式３）
このように、個々のモータのＶｐ’、ｋＥ’及びＲ’は分からないため、Ｉfuka_v1’を直接算出することはできない。そのため、上記の式３のＶｐ’、ｋＥ’及びＲ’の代わりに標準的な値（Ｖｐ、ｋＥ、Ｒ）を用いて電流値を算出した場合、算出された電流値には、誤差が含まれている。  
そこで、本実施形態では、以下のように補正値Ｉfuka_subを用いて、実際の電流値Ｉfuka_v1’に近似するＩfuka_v1を算出している。  
Ｉfuka_v1＝｛Ｖｐ×（ＤＸＩ_v1’／2000）−ｋＥ×Ｖ１｝／Ｒ＋Ｉfuka_sub  (式４)
【０１０３】
この補正値Ｉfuka_subは、個々のモータに特有の値である。そこで、プリンタを製造する工場内において、以下に説明する方法で、製造対象のそれぞれのプリンタの補正値Ｉfuka_subを求め、各プリンタのメモリ６３に補正値Ｉfuka_subを記憶させる。そして、プリンタを購入したユーザーの下で負荷メジャメントが行われるとき、コントローラ６０は、メモリ６３に記憶された補正値Ｉfuka_subを用いて、上記の式４により電流値Ｉfukaを算出する。
【０１０４】
＜補正値Ｉfuka_subの算出について＞
（１）補正値算出関数の作成
図２２Ａは、本実施形態の補正値算出関数の説明図である。本実施形態では、この補正値算出関数に基づいて、補正値Ｉfuka_subを算出している。ここでは、この補正値算出関数の作成方法について説明する。  
標準的なＣＲモータの場合、積分要素７６Ｂの出力値ＤＸＩは、以下のようになる。
【０１０５】
ＤＸＩ＝（Ｒ×Ｉfuka＋ｋＥ×Ｖ）×2000／Ｖｐ          （式５）
ＣＲモータの速度Ｖ１での負荷電流値をＩfuka_v1、ＣＲモータの速度Ｖ２での負荷電流値をＩfuka_v2とする。それぞれの負荷電流値の値は、プリンタの設計上、予め所定の範囲内であることが分かっている。ここでは、ＣＲモータに対する負荷が最も大きい場合での負荷電流値Ｉfuka_v1及び負荷電流値Ｉfuka_v2を使って、以下の計算を行う。
【０１０６】
標準的なＣＲモータの場合、それぞれの速度での積分要素７６Ｂの出力信号値ＤＸＩ_v1及び出力信号値ＤＸＩ_v2は、以下のように表される。  
ＤＸＩ_v1＝（Ｒ×Ｉfuka_v1＋ｋＥ×Ｖ１）×2000／Ｖｐ    （式６）
ＤＸＩ_v2＝（Ｒ×Ｉfuka_v2＋ｋＥ×Ｖ２）×2000／Ｖｐ    （式７）
上の２つの式を加算すると、以下のようになる。  
ＤＸＩ_v1＋ＤＸＩ_v2＝｛Ｒ×（Ｉfuka_v1＋Ｉfuka_v2）＋ｋＥ×（Ｖ１＋Ｖ２）｝
×2000／Ｖｐ                      （式８）
モータの特性のバラツキを考慮した場合、負荷電流値Ｉfuka_v1及び負荷電流値Ｉfuka_v2に対する積分要素７６Ｂの出力信号値ＤＸＩ_v1’及び出力信号値ＤＸＩ_v2’の和は、以下のように表される。  
ＤＸＩ_v1’＋ＤＸＩ_v2’＝｛Ｒ’×（Ｉfuka_v1＋Ｉfuka_v2）
＋ｋＥ’×（Ｖ１＋Ｖ２）｝×2000／Ｖｐ’ （式９）
標準的なモータの場合の積分要素７６Ｂの出力信号値ＤＸＩ_v1及び出力信号値ＤＸＩ_v2の和と、モータの特性のバラツキを考慮した場合の積分要素７６Ｂの出力信号値ＤＸＩ_v1’及び出力信号値ＤＸＩ_v2’の和との差を、ＤＸＩ_subと称することにする。つまり、ＤＸＩ_subは、次式の通りになる。  
ＤＸＩ_sub＝（ＤＸＩ_v1＋ＤＸＩ_v2）−（ＤＸＩ_v1’＋ＤＸＩ_v2’）
＝｛Ｒ×（Ｉfuka_v1＋Ｉfuka_v2）＋ｋＥ×（Ｖ１＋Ｖ２）｝×2000／Ｖｐ
−｛Ｒ’×（Ｉfuka_v1＋Ｉfuka_v2）＋ｋＥ’×（Ｖ１＋Ｖ２）｝
×2000／Ｖｐ’                （式１０）
【０１０７】
次に、ＣＲモータの速度Ｖ１での負荷電流値をＩfuka_v1とし、モータの特性のバラツキを考慮して積分要素７６Ｂの出力信号値ＤＸＩ_v1’を算出すると、以下のようになる。  
ＤＸＩ_v1’＝（Ｒ’×Ｉfuka_v1＋ｋＥ’×Ｖ１）×2000／Ｖｐ’  （式１１）
前述の負荷メジャメントでは、積分要素７６Ｂの出力信号がＤＸＩ_v1’である場合、標準的なモータの特性値（Ｖｐ、ｋＥ、Ｒ）を用いて、負荷電流値が算出される。このときの負荷電流値をＩfuka_v1’とすると、算出される負荷電流値Ｉfuka_v1’は、次式の通りである。  
Ｉfuka_v1’＝｛Ｖｐ×（ＤＸＩ_v1’／2000）−ｋＥ×Ｖ１｝／Ｒ  （式１２）
そこで、Ｉfuka_v1と、このＩfuka_v1に基づいて算出される上式のＩfuka_v1’との差を、Ｉfuka_subと称することにする。つまり、Ｉfuka_subは、次式の通りになる。  
Ｉfuka_sub＝Ｉfuka_v1−Ｉfuka_v1’                            （式１３）
＝Ｉfuka_v1−（｛Ｖｐ×（ＤＸＩ_v1’／2000）−ｋＥ×Ｖ１｝／Ｒ）
【０１０８】
ところで、標準的なモータにおける電圧値Ｖｐに対して、実際のモータの電圧値Ｖｐ’は、９５％〜１０５％の範囲でばらつく。また、標準的なモータにおける逆起電圧定数ｋＥに対して、実際のモータの逆起電圧定数ｋＥ’は、９０％〜１１０％の範囲でばらつく。また、標準的なモータにおける抵抗値Ｒに対して、実際のモータの抵抗値Ｒ’は、９０％〜１１０％の範囲でばらつく。  
そこで、電圧値Ｖｐ’について３通り（９５％、１００％、１０５％）、逆起電圧定数ｋＥ’について３通り（９０％、１００％、１１０％）、抵抗値Ｒ’について３通り（９０％、１００％、１１０％）、計２７通りの組み合わせによりＤＸＩ_sub（式１０）及びＩfuka_sub（式１３）を算出する（なお、式１３中のＤＸＩ_v1’には、式１１により算出されるＤＸＩ_v1’が用いられる）。そして、Ｘ軸をＤＸＩ_subとし、Ｙ軸をＩfuka_subとするグラフに、２７個の点をプロットする。
【０１０９】
本実施形態によれば、プロットされた２７個の点は、ほぼ１直線上に並ぶ。そして、プロットされた点よりも上になるように、次式で表される補正値算出関数を作成する。  
Ｉfuka_sub＝ａ×ＤＸＩ_sub＋ｂ
例えば、図中の補正値算出関数の場合、ａ＝０．７、ｂ＝５３．９である。プリンタ製造業者は、プリンタ製造ラインを管理するコンピュータのデータベースに、作成された補正値算出関数を保存する。
【０１１０】
（２）各プリンタの補正値Ｉfuka_subの決定
次に、プリンタの製造ラインにおいて、個々のプリンタ毎に補正値Ｉfuka_subを決定する。ここでは、個々のプリンタのＣＲモータの特性値（Ｖｐ’、ｋＥ’、Ｒ’）は、分からない状態である。なお、負荷電流値Ｉfuka_v1及びＩfuka_v2は、プリンタの設計上所定の範囲内であることが分かっているので、ここでは、ＣＲモータに対する負荷が最も大きい場合での負荷電流値Ｉfuka_v1及び負荷電流値Ｉfuka_v2の値を用いる。
【０１１１】
まず、個々のプリンタ毎に、ＣＲモータが速度Ｖ１で回転するときの積分要素７６Ｂの出力信号値ＤＸＩ_v1’と、ＣＲモータが速度Ｖ２で回転するときの積分要素７６Ｂの出力信号値ＤＸＩ_v2’とを測定する。
【０１１２】
一方、標準的なモータの特性値（Ｖｐ、ｋＥ、Ｒ）を用いて、負荷電流値Ｉfuka_v1及び負荷電流値Ｉfuka_v2に基づいて、次式の通り、積分要素７６Ｂの出力信号ＤＸＩ_v1と出力信号ＤＸＩ_v2との和を算出することができる。  
ＤＸＩ_v1＋ＤＸＩ_v2＝｛Ｒ×（Ｉfuka_v1＋Ｉfuka_v2）＋ｋＥ×（Ｖ１＋Ｖ２）｝
×2000／Ｖｐ                              （式１４）
そして、次式の通り、式１４により算出された出力信号ＤＸＩ_v1及び出力信号ＤＸＩ_v2の和と、測定された出力信号値ＤＸＩ_v1’及び出力信号値ＤＸＩ_v2’の和との差を算出し、ＤＸＩ_subを算出する。  
ＤＸＩ_sub＝（ＤＸＩ_v1＋ＤＸＩ_v2）−（ＤＸＩ_v1’＋ＤＸＩ_v2’） （式１５）
【０１１３】
そして、個々のプリンタ毎に算出されるＤＸＩ_subと、プリンタ製造ラインのデータベースにある補正値算出関数とに基づいて、個々のプリンタ毎に、補正値Ｉfuka_subを決定する。なお、上記の式１４により算出されるＤＸＩ_v1＋ＤＸＩ_v2は、プリンタの個体差によらず、一定値である。そのため、ＤＸＩ_subは、測定された出力信号値ＤＸＩ_v1’及び出力信号値ＤＸＩ_v2’の和に基づいて、算出される値となる。
【０１１４】
決定されたＩfuka_subは、各プリンタのメモリ６３に記憶される。そして、その後、プリンタは、工場から出荷され、ユーザーの下に届く。  
プリンタがユーザーの下で印刷を行うとき、コントローラ６０は、ＣＲモータ３２をＰＷＭ制御にて駆動する。ＰＷＭ制御を行っているので、ＣＲモータ３２に流れる電流値Ｉfukaは、直接分からない状態である。そこで、電源投入時に、ユーザーの下で前述の負荷メジャメントが行われ、積分要素７６Ｂの実際の出力信号値ＤＸＩ’を測定し、この測定値に基づいてＣＲモータ３２に流れる電流値Ｉfukaを算出する。但し、負荷メジャメントでは、標準的なモータの特性値（Ｖｐ、ｋＥ、Ｒ）を利用して演算するので、モータの個体差によるバラツキのため、誤差を含んでいる。
【０１１５】
そこで、本実施形態では、コントローラ６０は、ユーザーの下で印刷前に算出されるＩfukaに、メモリ６３に記憶されている計算誤差分の補正値Ｉfuka_subを、加算する。つまり、本実施形態では、Ｉfukaを以下のように算出する。  
Ｉfuka_v1＝｛Ｖｐ×（ＤＸＩ_v1’／2000）−ｋＥ×Ｖ１｝／Ｒ＋Ｉfuka_sub
【０１１６】
本実施形態によれば、プリンタ内のＣＲモータ３２に実際に流れる電流値を、精度良く算出することができる。  
そして、本実施形態では、コントローラ６０は、補正値Ｉfuka_subを加算して得られた電流値Ｉfukaに基づいて、前述の温度推定処理及び発熱制限制御を行っている。これにより、ＣＲモータの実際の温度を精度良く推定することができる。また、ＣＲモータの実際の温度に応じて発熱制限制御が行われるので、不要な発熱制限制御が行われずに済み、印刷速度を高めることができる。
【０１１７】
（３）比較例について
図２２Ｂは、比較例の補正値算出関数の説明図である。同図の比較例では、「出力信号値ＤＸＩ_v1及び出力信号値ＤＸＩ_v2の差」と「出力信号値ＤＸＩ_v1’及び出力信号値ＤＸＩ_v2’の差」との差に基づいて、ＤＸＩ_subを算出している。なお、本実施形態では、「出力信号値ＤＸＩ_v1及び出力信号値ＤＸＩ_v2の和」と「出力信号値ＤＸＩ_v1’及び出力信号値ＤＸＩ_v2’の和」との差に基づいて、ＤＸＩ_subを算出している。  
比較例によれば、本実施形態と比較して、プロットされる点がバラバラになる。
【０１１８】
図２３Ａは、本実施形態のＤＸＩ_subとＩfuka_subの算出方法により、ＣＲモータの負荷が大きい状態と小さい状態について点をプロットしたものである。図２３Ｂは、比較例のＤＸＩ_subとＩfuka_subの算出方法により、ＣＲモータの負荷が大きい状態と小さい状態について点をプロットしたものである。ＣＲモータ３２の負荷が大きい状態の点を黒丸で示し、ＣＲモータ３２の負荷が小さい状態の点を白四角で示す。
【０１１９】
ＣＲモータにかかる負荷は、キャリッジ３１に搭載されるインクカートリッジ内のインク残量に応じて変化する。インクカートリッジ内にインクが多く残っていれば、インクカートリッジが重くなり、ＣＲモータにかかる負荷が大きくなる。
【０１２０】
前述の補正値算出関数の作成の際には、ＣＲモータ３２にかかる負荷が最も大きい状態で算出されている。このため、ＣＲモータ３２にかかる負荷が大きい状態であれば、補正値算出関数により、適した補正値Ｉfuka_subを算出することができる。一方、ＣＲモータ３２にかかる負荷が小さいとき、補正値算出関数により補正値Ｉfuka_subを算出すると、補正値Ｉfuka_subが必要以上に大きな値となる。この結果、算出される負荷電流値Ｉfukaが実際の負荷電流値よりも大きな値になり、ＣＲモータ３２の推定温度が実際の温度よりも高く推定され、ＣＲモータ３２の実際の温度が低くても発熱制限制御が開始されてしまう。
【０１２１】
但し、本実施形態によれば、ＣＲモータ３２にかかる負荷が小さいとき、比較例と比べて、算出される補正値が大きくなりすぎないようにすることができる。そのため、本実施形態によれば、比較例と比べて、算出される負荷電流値Ｉfukaが小さな値になり、ＣＲモータ３２の推定温度が低く設定され、不必要な発熱制限制御が行われずに済み、印刷速度を高めることができる。
【０１２２】
＝＝＝その他の実施の形態＝＝＝
一実施形態としてのプリンタ等を説明したが、上記の実施形態は、本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。本発明は、その趣旨を逸脱することなく、変更、改良され得ると共に、本発明にはその等価物が含まれることは言うまでもない。特に、以下に述べる実施形態であっても、本発明に含まれるものである。
【０１２３】
＜インクについて＞
前述の実施形態は、プリンタの実施形態だったので、染料インク又は顔料インクをノズルから吐出していた。しかし、ノズルから吐出する液体は、このようなインクに限られるものではない。例えば、金属材料、有機材料（特に高分子材料）、磁性材料、導電性材料、配線材料、成膜材料、電子インク、加工液、遺伝子溶液などを含む液体（水も含む）をノズルから吐出しても良い。このような液体を対象物に向かって直接的に吐出すれば、省材料、省工程、コストダウンを図ることができる。
【０１２４】
＜ノズルについて＞
前述の実施形態では、圧電素子を用いてインクを吐出していた。しかし、液体を吐出する方式は、これに限られるものではない。例えば、熱によりノズル内に泡を発生させる方式など、他の方式を用いてもよい。
【０１２５】
＜ＣＲモータの駆動について＞
前述の実施形態では、ＣＲモータ３２が加速・定速・減速する間のうち、ＣＲモータ３２が定速駆動されるときだけ、ＰＩＤ制御が行われていた。しかし、これに限られるものではない。例えば、ＣＲモータ３２が加速・定速・減速する間、ずっとＰＩＤ制御が行われていてもよい。
【０１２６】
＜発熱量の算出について＞
前述の実施形態では、１回のドット形成処理当たりのＣＲモータの発熱量Ｑpassは、ＣＲモータ３２の加速・減速時の電流値であるＩbaseと、ＣＲモータ３２の定速時の電流値であるＩfukaとを加算して得られる実効電流値Ｉpassに基づいて、算出されていた。しかし、１回のドット形成処理当たりのＣＲモータの発熱量は、このようにして算出されるものに限られない。  
例えば、１回のドット形成処理当たりのＣＲモータ３２の発熱量Ｑpassが、ＣＲモータ３２の加速時の発熱量である加速時発熱量Ｑbaseと、ＣＲモータ３２の定速時の発熱量である定速時発熱量Ｑｃとを加算して算出されても良い。  
この場合、加速時発熱量Ｑbaseとキャリッジの移動量（目標位置）とを対応づけたテーブルが、メモリ６３に予め記憶されている。目標位置が定まれば、コントローラ６０は、テーブルに基づいて、加速時発熱量Ｑbaseを求めることができる。また、定速時発熱量Ｑｃは、定速時にＣＲモータ３２に流れる電流Ｉfukaと、定速で回転する間の時間ｔｃとに基づいて、算出することができる。定速時にＣＲモータ３２に流れる電流Ｉfukaは、前述の負荷メジャメントにより計測される。定速で回転する間の時間ｔｃは、実際の印刷時に計測される。  
以下、発熱量Ｑpassの算出方法の別の実施形態について詳述する。
【０１２７】
図２４は、加速時発熱量Ｑbaseの計測方法の説明図である。  
まず、実際の印刷時と同じ駆動モードにて、ＣＲモータ３２を駆動する。そして、ＣＲモータ３２に流れる電流値Ｉを微小時間Δｔ毎に逐次測定する。そして、測定された電流値Ｉの２乗に微小時間Δｔを乗算した値Ｉ２・ｔを逐次積算する。この積算結果は、加速時発熱量Ｑbaseに相当する。そして、キャリッジの移動量と加速時発熱量Ｑbaseとを対応づけた加速時発熱量テーブルを作成する。
【０１２８】
図２５は、作成された加速時発熱量テーブルである。加速時発熱量テーブルの作成は、プリンタを製造する工場内において行われる。そして、作成された加速時発熱量テーブルはメモリ６３に記憶され、このような加速時発熱量テーブルをメモリ６３に記憶させた状態で、プリンタが工場から出荷される。なお、本実施形態の加速時発熱量テーブルは、加速期間に関する情報も含んでいる。
【０１２９】
そして、１回のドット形成処理当たりのＣＲモータ３２の発熱量Ｑpassを算出する。発熱量Ｑpassは、加速時発熱量Ｑbaseと定速時発熱量Ｑｃとを加算して算出される。  
加速時発熱量Ｑbaseは、移動量が定まれば、加速時発熱量テーブルを参照して求めることができる。定速時発熱量Ｑｃは、定速時にＣＲモータ３２に流れる電流値Ｉfukaと、定速で回転する間の時間ｔｃとに基づいて、Ｉfuka２×ｔｃとして算出できる。なお、電流値Ｉfukaは、印刷前に行う負荷メジャメントにより計測されている。定速で回転する間の時間ｔｃは、ドット形成処理時のＣＲモータの駆動時間ｔｒを実測し、この駆動時間から加速期間ｔａを引けばよい。なお、加速期間ｔａは、搬送量が定まれば、加速時発熱量テーブルを参照して求めることができる。
【０１３０】
例えば、移動量が１５００ｍｍの場合について説明する。コントローラ６０は、印刷データを解析し、次のドット形成処理のキャリッジの移動量を１５００ｍｍに決定する。コントローラ６０は、リニア式エンコーダ５１の出力に基づいてフィードバック制御を行いながら、キャリッジ３１を１５００ｍｍだけ移動させる。そして、不図示の駆動時間タイマにより、ＣＲモータ３２が目標位置まで駆動する間の駆動時間ｔｒを実測する。ＣＲモータ３２の駆動後、コントローラ６０は、次式に基づいて、発熱量Ｑpassを算出する。なお、次式の中のＱｂ１及びｔａ１は、加速時発熱量テーブルを参照することによって、決定される値である。また、次式の中のＩfukaは、前述の負荷メジャメントにより測定された電流値である。  
Ｑpass＝Ｑｂ１＋Ｉfuka２×（ｔｒ−ｔａ１）
（＝Ｑbase＋Ｑｃ）
【０１３１】
＜温度推定処理について＞
前述の実施形態では、単位時間内の発熱量Ｑsigmaを計算し、１分間の発熱量Ｑsigmaを発熱温度ΔＴnewに換算し、前回の総発熱温度ΔＴsum に放熱係数Ｋを掛けた値に、最新の発熱温度ΔＴnew を加えることによって、最新のモータの総発熱温度ΔＴsumを算出していた。しかし、単位時間毎に計算するものに限られるものではない。
【０１３２】
例えば、ドット形成処理を行う毎にＣＲモータ３２が発熱するので、ドット形成処理毎に最新のモータの総発熱温度ΔＴsumを算出しても良い。
【０１３３】
図２６は、温度推定処理のフロー図である。  
電源投入後、まず、コントローラ６０は、ΔＴsumの値を初期値に設定する（Ｓ２０１）。  
ドット形成処理があったとき、コントローラ６０は、そのドット形成処理の際の発熱量Ｑpassを算出する（Ｓ２０２）。この算出方法については、既に説明した通りである。  
次に、コントローラ６０は、発熱量Ｑpassを発熱温度ΔＴに換算する（Ｓ２０３）。ΔＴは、ΔＴ＝Ｋａ×Ｑpassにより求まる。ここで、Ｋａは、発熱量Ｑから発熱温度ΔＴへの変換係数であり、予備実験により求められた値であり、メモリ６３に記憶されている。  
次に、コントローラ６０は、自然放熱を考慮して、既存の総発熱温度ΔＴsumに放熱係数Ｋを乗算した値と発熱温度ΔＴとを加算して、総発熱温度ΔＴsum（ΔＴsum＝Ｋ・ΔＴsum＋ΔＴ）を算出する（Ｓ２０４）。
【０１３４】
放熱係数Ｋは、前回のΔＴsumの算出から時間ｔが経過したものとし、時定数をτとすると、Ｋ＝ｅｘｐ（−ｔ／τ）となる。時定数τは、予備実験により求められた値であり、メモリ６３に記憶されている。ＣＲモータ３２の間欠的な駆動に休止時間が挿入されると、放熱係数Ｋを算出に用いられる時間ｔが大きくなるので、放熱係数Ｋが小さい値になる。このため、ＣＲモータ３２の休止時間が長くなると、総発熱温度ΔＴsumの増加を抑制できる。
【０１３５】
コントローラ６０は、算出された総発熱温度ΔＴsumをＲＡＭ等のメモリ６３に記憶する（Ｓ２０５）。この総発熱温度ΔＴsumは、ＣＲモータの推定温度になる。また、総発熱温度ΔＴsumは、次の搬送処理のときに総発熱温度ΔＴsumを算出するときに用いられる。また、コントローラ６０は、この総発熱温度ΔＴsumに基づいて、発熱制限制御を行うか否かを決定する。
【０１３６】
なお、温度推定処理は、ＣＲモータ３２の駆動・停止にかかわらず、電源投入中は常時実行される（Ｓ２０６でＮＯ）。  
以上のような処理でも、ＣＲモータの温度を推定することができる。
【０１３７】
＜発熱制限制御について＞
前述の実施形態によれば、ＣＲモータ３２の推定温度が閾値を越えたか否かに基づいて、発熱制限制御を行うか否かを決定している。しかし、ＣＲモータ３２の推定温度に応じて、発熱制限制御における休止時間の長さを決定するようにしても良い。
【０１３８】
＝＝＝まとめ＝＝＝
（１）前述の実施形態のプリンタは、ＣＲモータ３２と、ＣＲモータ３２を制御するためのＰＩＤ制御系（比例要素７６Ａ、積分要素７６Ｂ、微分要素７６Ｃ）と、補正値を記録するためのメモリ６３とを備えている。そして、このプリンタは、プリンタを購入したユーザー先で印刷を行う前に、負荷メジャメントを行い、積分要素７６Ｂの出力信号値に基づいて電流値を算出し、この電流値に補正値Ｉfuka_subを加算して、ＣＲモータ３２に流れる電流値Ｉfukaを算出している。  
このようなプリンタを製造する工場では、ＣＲモータ３２の特性に適した補正値を各プリンタに設定する必要がある。
【０１３９】
そこで、本実施形態では、ＣＲモータ３２の特性（例えば、電圧値、逆起電圧定数、抵抗値など）が変動したときの、ＣＲモータ３２が速度Ｖ１にて駆動されるときの積分要素７６Ｂの出力信号値ＤＸＩ_v1、及び、ＣＲモータ３２が速度Ｖ２にて駆動されるときの積分要素７６Ｂの出力信号値ＤＸＩ_v2、の和と、補正値Ｉfuka_subとの関係を示す補正値算出関数を予め求めている。  
仮に、出力信号値ＤＸＩ_v1及び出力信号値ＤＸＩ_v2の和と補正値との関係ではなく、出力信号値ＤＸＩ_v1及び出力信号値ＤＸＩ_v2の差と補正値との関係から補正値算出関数を求めると、図２３Ｂに示すような状態になる。図２３Ｂに示すような補正値算出関数から各プリンタの補正値を算出すると、補正値に含まれる計算誤差が大きくなる。  
したがって、本実施形態によれば、補正値に含まれる計算誤差を小さくできる補正値算出関数を利用できるのである。
【０１４０】
そして、本実施形態では、プリンタを製造する工場において、製造対象となるプリンタのＣＲモータを速度Ｖ１で駆動したときの積分要素７６Ｂの出力信号値ＤＸＩ_v1’を測定し、また、ＣＲモータを速度Ｖ２で駆動したときの積分要素７６Ｂの出力信号値ＤＸＩ_v1’を測定し、ＤＸＩ_v1’及びＤＸＩ_v2’（測定された２つの出力信号値の和）と補正値算出関数から補正値Ｉfuka_sub（式１５参照）を決定している。これにより、そのＣＲモータ３２に適した補正値を決定することができる。  
本実施形態で製造されるプリンタは、このような補正値をメモリ６３に記憶しているので、各プリンタは、負荷メジャメントの際に、ＣＲモータ３２に流れる電流値を精度良く算出することができる。
【０１４１】
（２）前述のプリンタのモータの特性値は、所定範囲内で変動するものであった。例えば、標準的なＣＲモータ３２における電圧値Ｖｐに対して、実際のＣＲモータ３２の電圧値Ｖｐ’は、９５％〜１０５％の範囲で変動する。  
この所定範囲内でＶｐ’、ｋＥ’及びＲ’を変えてＤＸＩ_subとＩfuka_subを算出し、横軸をＤＸＩ_subとし縦軸をＩfuka_subとするグラフにプロットしていく。なお、ＤＸＩ_subとＩfuka_subの算出には、ＣＲモータ３２の標準的な特性値（Ｖｐ、ｋＥ、Ｒ）と、所定範囲内で変動するモータの特性値（Ｖｐ’、ｋＥ’、Ｒ’）とが用いられる。本実施形態では、計算誤差が少ないので、プロットされた点は、ほぼ１直線上に並ぶ。そして、プロットされた点よりも上になるようにして、Ｉfuka_sub＝ａ×ＤＸＩ_sub＋ｂで表される補正値算出関数を作成する。  
このような補正値算出関数により補正値を算出すれば、算出された補正値は、各モータの特性に適した値になる。
【０１４２】
（３）前述の補正値算出関数（関係）の横軸ＤＸＩ_subは、（ＤＸＩ_v1＋ＤＸＩ_v2）−（ＤＸＩ_v1’＋ＤＸＩ_v2’）として算出される。なお、ＤＸＩ_v1及びＤＸＩ_v2は、ＣＲモータ３２の特性が標準であるときの、ＣＲモータ３２が速度Ｖ１にて駆動されるときの積分要素７６Ｂの出力値、及び、ＣＲモータ３２が速度Ｖ２にて駆動されるときの積分要素７６Ｂの出力値である。また、ＤＸＩ_v1’及びＤＸＩ_v2’は、実際のＣＲモータにおいて、ＣＲモータ３２が速度Ｖ１にて駆動されるときの積分要素７６Ｂの出力値、及び、ＣＲモータ３２が速度Ｖ２にて駆動されるときの積分要素７６Ｂの出力値である。  
なお、ＤＸＩ_v1＋ＤＸＩ_v2は、設計上の値から算出可能なので、予め算出し、算出結果を定数として保存しても良い。  
このような横軸ＤＸＩ_subと補正値Ｉfuka_subの関係を示す補正値算出関数によれば、各モータの特性に適した補正値を算出することが可能になる。
【０１４３】
（４）前述のプリンタは、印刷を行うときにＣＲモータにかかる負荷が変化する。このようにモータにかかる負荷が変化する場合、負荷が大きい場合と負荷が小さい場合とで、適した補正値が異なる。例えば、図２３Ａから分かる通り、負荷が小さければ、負荷が大きい場合と比較して、補正値算出関数の示す補正値Ｉfuka_subが低い値になるはずであるこのため、負荷の変動にかかわらず共通の補正値算出関数を用いると、適した補正値に対して、大きい値の補正値が算出されてしまう。  
但し、本実施形態によれば、たとえ大きい値の補正値が算出されたとしても、比較例（図２３Ｂ）と比べて、計算誤差を小さくできる。  
なお、モータにかかる負荷の変化が予め分かっていれば、負荷の大きさに応じて補正値算出関数を変えても良い。例えば、負荷の大きい場合の補正値算出関数と、負荷の小さい場合の補正値算出関数とをデータベースに記憶させていても良い。このようにすれば、計算誤差をより小さくすることができる。
【０１４４】
（５）前述のプリンタは、インクカートリッジを装着するためのキャリッジを備え、ＣＲモータは、キャリッジを移動させている。インクカートリッジはインクの残量に応じて重さが異なるので、ＣＲモータの負荷も変動することになる。  
本実施形態では、このようなＣＲモータに対する補正値の算出に特に有効である。但し、これに限られるものではなく、搬送モータに対して、前述の実施形態と同様に補正値を求めても良い。
【０１４５】
（６）前述のＣＲモータ３２は、ＰＷＭ制御により駆動されている。コントローラは、ＰＷＭ制御によりＣＲモータ３２を駆動するので、ＣＲモータ３２に流れる電流値Ｉfukaが、直接分からない状態である。このため、コントローラは、積分要素７６Ｂの出力信号値ＤＸＩに基づいてＩfukaを算出しているのである。そして、前述の実施形態によれば、ＣＲモータ３２に流れる電流値を精度良く算出することができる。
【０１４６】
（７）前述のプリンタは、印刷時に、ＣＲモータ３２に流れる電流値Ｉfukaに基づいて、ＣＲモータ３２の発熱量を算出している。これにより、温度センサを設けなくても、ＣＲモータ３２の温度を推定することができる。また、本実施形態によれば、ＣＲモータ３２の発熱量を精度良く算出することができる。
【０１４７】
（８）前述のプリンタは、印刷時に、ＣＲモータ３２に流れる電流値Ｉfukaに基づいて、ＣＲモータ３２の停止時間を決定している。具体的には、Ｉfukaに基づいて発熱量Ｑpassを算出し、この発熱量に基づいて算出される推定温度が閾値を超えたとき、発熱制限制御が開始され、ＣＲモータの間欠的な駆動の間に停止時間が挿入されるようになる。
【０１４８】
発熱制限制御が行われると、印刷速度が遅くなる。但し、前述のプリンタによれば、精度良くＣＲモータ３２の温度を算出できるので、不必要な発熱制限制御が行われずに済む。
【図面の簡単な説明】
【０１４９】
【図１】印刷システムの全体構成の説明図である。
【図２】プリンタの全体構成のブロック図である。
【図３】プリンタの全体構成の概略図である。
【図４】プリンタの全体構成の横断面図である。
【図５】印刷時の処理のフロー図である。
【図６】搬送ユニットの構成の説明図である。
【図７】ロータリー式エンコーダの構成の説明図である。
【図８】図８Ａは、正転時の出力信号の波形のタイミングチャートである。図８Ｂは、反転時の出力信号の波形のタイミングチャートである。
【図９】キャリッジユニット制御回路のブロック図である。
【図１０】図１０Ａは、ＰＷＭ回路に入力されるデューティ信号の時間変化のグラフである。図１０Ｂは、モータの速度変化のグラフである。
【図１１】図１１Ａは、モータ負荷の小さいときの時間と電流値との関係のグラフである。図１１Ｂは、モータ負荷の大きいときの時間と電流値との関係のグラフである。
【図１２】ＣＲモータの負荷電流と加減速電流とを説明するグラフである。
【図１３】Ｉbaseテーブルの説明図である。
【図１４】ｔpassテーブルの説明図である。
【図１５】負荷メジャメント処理のフロー図である。
【図１６】負荷メジャメント処理時の積分要素のデューティ信号値（出力値）とＣＲモータ回転速度の時間変化のグラフである。
【図１７】Ｑpassテーブルの説明図である。
【図１８】ＣＲモータの発熱に起因する総発熱温度（総発熱値）を、時間経過による自然放熱を考慮して示したグラフである。
【図１９】発熱系の放熱温度曲線を示すグラフである。
【図２０】放熱系の放熱温度曲線を示すグラフである。
【図２１】図２１Ａは、通常時のＣＲモータの電流の時間変化の説明図である。図２１Ｂは、発熱制限制御時のＣＲモータの電流の時間変化の説明図である。
【図２２】図２２Ａは、本実施形態の補正値算出関数の説明図である。図２２Ｂは、比較例の補正値算出関数の説明図である。
【図２３】図２３Ａは、本実施形態のＤＸＩ_subとＩfuka_subの算出方法によりプロットしたものである。図２３Ｂは、比較例のＤＸＩ_subとＩfuka_subの算出方法によりプロットしたものである。
【図２４】加速時発熱量Ｑbaseの計測方法の説明図である。
【図２５】作成された加速時発熱量テーブルである。
【図２６】温度推定処理のフロー図である。
【符号の説明】
【０１５０】
１  プリンタ、
２０  搬送ユニット、２１  給紙ローラ、２２  搬送モータ（ＰＦモータ）、
２３  搬送ローラ、２４  プラテン、２５  排紙ローラ、
３０  キャリッジユニット、３１  キャリッジ、
３２  キャリッジモータ（ＣＲモータ）、
４０  ヘッドユニット、４１  ヘッド、
５０  検出器群、５１  リニア式エンコーダ、５２  ロータリー式エンコーダ、
５２１  スケール、  ５２２  検出部、
５３  紙検出センサ、５４  光学センサ、
６０  コントローラ、６１  インターフェース部、６２  ＣＰＵ、
６３  メモリ、６４  ユニット制御回路、
７０  キャリッジユニット制御回路、７１  位置演算部、７２  減算器、
７３  ゲイン、７４  速度演算部、７５  減算器、
７６Ａ  比例要素、７６Ｂ  積分要素、７６Ｃ  微分要素、
７７  加算器、７８  ＰＷＭ回路、７９Ａ  加速制御部、７９Ｂ  タイマ、
１００  印刷システム、１１０  コンピュータ、１２０  表示装置、
１３０  入力装置、１３０Ａ  キーボード、１３０Ｂ  マウス、
１４０  記録再生装置、
１４０Ａ  フレキシブルディスクドライブ装置、
１４０Ｂ  ＣＤ−ＲＯＭドライブ装置
【図１】
2006015724.tif 000003
【図２】
2006015724.tif 000004
【図３】
2006015724.tif 000005
【図４】
2006015724.tif 000006
【図５】
2006015724.tif 000007
【図６】
2006015724.tif 000008
【図７】
2006015724.tif 000009
【図８】
2006015724.tif 000010
【図９】
2006015724.tif 000011
【図１０】
2006015724.tif 000012
【図１１】
2006015724.tif 000013
【図１２】
2006015724.tif 000014
【図１３】
2006015724.tif 000015
【図１４】
2006015724.tif 000016
【図１５】
2006015724.tif 000017
【図１６】
2006015724.tif 000018
【図１７】
2006015724.tif 000019
【図１８】
2006015724.tif 000020
【図１９】
2006015724.tif 000021
【図２０】
2006015724.tif 000022
【図２１】
2006015724.tif 000023
【図２２】
2006015724.tif 000024
【図２３】
2006015724.tif 000025
【図２４】
2006015724.tif 000026
【図２５】
2006015724.tif 000027
【図２６】
2006015724.tif 000028