(57)【特許請求の範囲】
【請求項１】
給電手段から供給される電力を基に駆動される電動モータを備えた記録装置におけるモータ制御方法において、
前記電動モータの駆動速度と駆動量との異なる組合せ毎に前記電動モータの１駆動当たりの発熱量に関する値が対応付けられた発熱量参照データと、閾値に対応して設けられるとともに対応する閾値が高いほど休止時間が長く設定されかつ対応する閾値が同じであっても前記駆動速度及び前記駆動量の異なる組合せ毎に前記電動モータの休止期間を含む１駆動当たりの実効電流値がほぼ同じになるように可変の当該休止時間が対応付けられた休止時間参照データとを記憶するメモリを備え、
与えられた記録データから決まる駆動速度及び駆動量の情報に基づき前記電動モータを制御して当該電動モータを加速域と定速域と減速域とを有する速度プロファイルで定速域において前記駆動速度となるように１駆動毎に可変の前記駆動量で１駆動させる段階と、
前記電動モータの１駆動を終える度に当該１駆動の制御に用いた前記駆動速度及び駆動量の情報から前記発熱量参照データを参照して前記電動モータの１駆動当たりの発熱量に関する値を逐次取得する段階と、
前記発熱量に関する値を用いて放熱を考慮して前記電動モータの蓄熱量に関する値を逐次求める段階と、
前記蓄熱量に関する値が所定の閾値を超えたか否かを判断し、当該閾値を超えた場合は、前記電動モータの１駆動を終える度に、閾値が高いほど長い値に設定された休止時間のうちその超えた閾値に応じた休止時間を取得するとともに、該休止時間の取得に際して当該１駆動の制御に用いた前記駆動速度及び前記駆動量の情報を基にその超えた閾値と対応する前記休止時間参照データを参照して前記電動モータの休止期間を含む１駆動当たりの実効電流値がほぼ同じになる休止時間を取得し、前記電動モータを当該１駆動を終えてから次の１駆動を開始するまでの間に前記取得した休止時間の休止を入れるように制御する段階とを備えたことを特徴とする記録装置におけるモータ制御方法。
【請求項２】
給電手段から供給される電力を基に駆動される電動モータを備えた記録装置において、
前記電動モータの駆動速度と駆動量との異なる組合せ毎に前記電動モータの１駆動当たりの発熱量に関する値が対応付けられている発熱量参照データと、閾値に対応して設けられるとともに対応する閾値が高いほど休止時間が長く設定されかつ対応する閾値が同じであっても前記駆動速度及び前記駆動量の異なる組合せ毎に前記電動モータの休止期間を含む１駆動当たりの実効電流値がほぼ同じになるように可変の当該休止時間が対応付けられた休止時間参照データとを記憶するメモリと、
与えられた記録データから決まる１駆動毎の駆動速度及び駆動量の情報に基づき前記電動モータを制御して当該電動モータを加速域と定速域と減速域とを有する速度プロファイルで定速域において前記駆動速度となるように１駆動毎に可変の前記駆動量で１駆動ずつ駆動させる制御手段と、
前記電動モータの１駆動を終える度に当該１駆動の制御に用いた前記駆動速度及び駆動量の情報から前記発熱量参照データを参照して前記電動モータの１駆動当たりの発熱量に関する値を逐次取得する発熱量取得手段と、
前記発熱量に関する値を用いて放熱を考慮して前記電動モータの蓄熱量に関する値を逐次求める蓄熱量取得手段とを備え、
前記制御手段は、前記蓄熱量に関する値が所定の閾値を超えたか否かを判断し、当該閾値を超えた場合は、前記電動モータの１駆動を終える度に、閾値が高いほど長い値に設定された休止時間のうちその超えた閾値に応じた休止時間を取得するとともに、該休止時間の取得に際して当該１駆動の制御に用いた前記駆動速度及び前記駆動量の情報を基にその超えた閾値と対応する前記休止時間参照データを参照して前記電動モータの休止期間を含む１駆動当たりの実効電流値がほぼ同じになる休止時間を取得し、前記電動モータを当該１駆動を終えてから次の１駆動を開始するまでの間に前記取得した休止時間の休止を入れるように制御することを特徴とする記録装置。
【請求項３】
前記蓄熱量取得手段は、前記発熱量に関する値を放熱を考慮した補正演算を伴って積算し、該積算値に基づいて前記電動モータの前記蓄熱量に関する値として前記電動モータの発熱温度に関する値を推定する発熱温度推定手段であり、
前記制御手段は、前記発熱温度に関する値が所定の閾値を超えると、前記電動モータを駆動の合間に前記休止時間の休止を入れるように制御することを特徴とする請求項２に記載の記録装置。
【請求項４】
前記記録装置は、記録ヘッドを有するキャリッジが主走査方向に往復移動することにより前記記録ヘッドによる記録媒体への記録が行われるシリアル式の記録装置であって、
前記電動モータは、前記キャリッジを主走査方向に往復移動させるために駆動される構成であり、
前記蓄熱量取得手段は、前記発熱量取得手段が取得した前記１駆動当たりの発熱量を時間経過による放熱を考慮した補正演算を伴って逐次積算して積算値を得る構成であり、
前記制御手段は、前記積算値が所定の閾値を超えたら、前記キャリッジの移動反転時に前記休止時間をもたせるように前記電動モータを制御することを特徴とする請求項２又は３に記載の記録装置。
【請求項５】
前記記録装置は、記録ヘッドを有するキャリッジが主走査方向に往復移動することにより前記記録ヘッドによる記録媒体への記録が行われるシリアル式の記録装置であって、
前記電動モータは、前記キャリッジを主走査方向に往復移動させるために駆動される構成であり、
前記発熱量取得手段は、前記電動モータの１駆動当たりの発熱量を前記キャリッジの１パス単位の単位発熱量として取得し、取得した前記単位発熱量を逐次積算して単位時間当たりの発熱量を求める構成であり、
前記蓄熱量取得手段は、前記単位時間当たりの発熱量を時間経過による放熱を考慮した補正演算を伴って逐次積算して積算値を得る構成であり、
前記制御手段は、前記積算値が所定の閾値を超えたら、前記キャリッジのパスとパスの合間に前記休止時間をもたせるように前記電動モータを制御することを特徴とする請求項２又は３に記載の記録装置。
【請求項６】
前記記録装置の電源投入直後の初期化処理の１つとして、前記電動モータを１駆動させて定速域での電流値を測定するメジャメント処理を行い、当該メジャメント処理で得られた前記定速域での電流値を用いて１駆動当たりの実効電流値を駆動速度及び駆動量の異なる組合せ毎に求め、求めた当該１駆動当たりの実効電流値を用いて前記発熱量参照データを生成し、生成した前記発熱量参照データを前記メモリに記憶する参照データ生成手段をさらに備えたことを特徴とする請求項２〜５のいずれか一項に記載の記録装置。
【請求項７】
前記電動モータの１駆動当たりの実効電流値を、前記電動モータにかかる負荷に依存する負荷電流値と、前記電動モータを加減速させるときのイナーシャ分に相当する固定電流値とに分け、駆動速度及び駆動量の異なる組合せ毎の前記固定電流値を記憶するメモリと、
前記定速域の電流を実測して電流実測値を得る電流実測手段と、
前記定速域の電流実測値に基づいて決まる負荷電流値と、前記メモリに記憶された固定電流値とを用いて１駆動当たりの実効電流値を駆動速度及び駆動量の異なる組合せ毎に演算する演算手段と、
前記１駆動当たりの実効電流値を用いて前記発熱量参照データを生成し、生成した前記発熱量参照データを前記メモリに記憶する参照データ生成手段とをさらに備えたことを特徴とする請求項２〜５のいずれか一項に記載の記録装置。
【請求項８】
請求項２〜７のいずれか一項に記載の記録装置において、
前記放熱の系が、発熱を伴って放熱する発熱系か、発熱を伴わずに放熱する放熱系かを判定する判定手段をさらに備え、
前記蓄熱量取得手段は、前記判定手段により判定された系に応じた放熱係数を選択して前記補正演算を行うことを特徴とする記録装置。
【請求項９】
請求項８に記載の記録装置において、
前記判定手段は、前記電動モータの単位時間当たりの駆動回数を計数し、当該単位時間当たりの駆動回数が、前記放熱の系を前記発熱系とみなしうる前記電動モータの単位時間当たりの最低駆動回数である設定回数以上であるか否かを判断し、前記駆動回数が前記設定回数以上であれば前記発熱系と判定し、前記設定回数未満であれば前記放熱系と判定することを特徴とする記録装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、プリンタなどの記録装置において、温度センサを使わずに電動モータの発熱を正確に推定し、推定した発熱情報を基に電動モータの発熱を制限する制御を行う記録装置におけるモータ制御方法及び記録装置に関するものである。
【０００２】
【従来の技術】
従来、例えばシリアルプリンタでは、印刷ヘッドを備えたキャリッジが主走査方向（紙送り方向と直交する方向）に走行することで紙などの印刷媒体に印刷が行われる。キャリッジはプリンタに設けられたキャリッジモータにより走行駆動される。キャリッジモータには例えばＤＣモータなどの電動モータが使用される。
【０００３】
ところで、キャリッジモータなどの電動モータは、駆動されるときの消費電力に応じて発熱する。電動モータが規格温度で使用されるように設計されるため、通常の印刷動作においては規格温度以下で使用される。
【０００４】
しかし、電動モータが高速駆動されたりキャリッジ移動時の過大な摺動抵抗などが原因で、電動モータに過度の負荷がかかった場合、電動モータの温度が規格温度を超えることが起こり得る。この場合、電動モータが熱で故障しないように、所定時間の休止を入れる発熱制限制御を行うものが知られている。
【０００５】
通常、温度センサを使用してモータ温度を検出し、モータ温度が規格温度を超えると、所定時間の休止を入れることで発熱を制限する発熱制限制御を行うことが考えられる。
【０００６】
【発明が解決しようとする課題】
しかし、温度センサを使用すると部品点数が増加して製造コストの上昇を招くという問題があった。
【０００７】
本発明は上記課題を解決するためになされたものであって、その第１の目的は、温度センサを使わず、電動モータの発熱温度を時間経過による放熱を考慮して比較的正確にかつ簡単な処理で推定でき、電動モータの発熱を制限する制御を好適に行うことができる記録装置におけるモータ制御方法及び記録装置を提供することにある。
【０００８】
第２の目的は、第１の目的を達成するうえにおいて、放熱を考慮して電動モータの発熱温度を比較的正確にかつ簡単な処理で推定できることから、電動モータの無駄な休止を減らし、記録装置のスループットの向上を図ることを可能にすることにある。
【００１０】
【課題を解決するための手段】
上記第１および第２の目的を達成するために請求項１に記載の発明は、給電手段から供給される電力を基に駆動される電動モータを備えた記録装置におけるモータ制御方法において、前記電動モータの駆動速度と駆動量との異なる組合せ毎に前記電動モータの１駆動当たりの発熱量に関する値が対応付けられた発熱量参照データと、閾値に対応して設けられるとともに対応する閾値が高いほど休止時間が長く設定されかつ対応する閾値が同じであっても前記駆動速度及び前記駆動量の異なる組合せ毎に前記電動モータの休止期間を含む１駆動当たりの実効電流値がほぼ同じになるように可変の当該休止時間が対応付けられた休止時間参照データとを記憶するメモリを備え、与えられた記録データから決まる駆動速度及び駆動量の情報に基づき前記電動モータを制御して当該電動モータを加速域と定速域と減速域とを有する速度プロファイルで定速域において前記駆動速度となるように１駆動毎に可変の前記駆動量で１駆動させる段階と、前記電動モータの１駆動を終える度に当該１駆動の制御に用いた前記駆動速度及び駆動量の情報から前記発熱量参照データを参照して前記電動モータの１駆動当たりの発熱量に関する値を逐次取得する段階と、前記発熱量に関する値を用いて放熱を考慮して前記電動モータの蓄熱量に関する値を逐次求める段階と、前記蓄熱量に関する値が所定の閾値を超えたか否かを判断し、当該閾値を超えた場合は、前記電動モータの１駆動を終える度に、閾値が高いほど長い値に設定された休止時間のうちその超えた閾値に応じた休止時間を取得するとともに、該休止時間の取得に際して当該１駆動の制御に用いた前記駆動速度及び前記駆動量の情報を基にその超えた閾値と対応する前記休止時間参照データを参照して前記電動モータの休止期間を含む１駆動当たりの実効電流値がほぼ同じになる休止時間を取得し、前記電動モータを当該１駆動を終えてから次の１駆動を開始するまでの間に前記取得した休止時間の休止を入れるように制御する段階とを備えたことを要旨とする。
【００１１】
この発明によれば、与えられた記録データから決まる駆動速度及び駆動量で電動モータを１駆動させる。駆動速度及び駆動量に基づきメモリの発熱量参照データを参照して電動モータの１駆動当たりの発熱量に関する値を逐次取得する。そして、発熱量に関する値を用いて放熱を考慮して電動モータの蓄熱量に関する値を逐次求める。そして、前記蓄熱量に関する値が所定の閾値を超えたか否かを判断する。当該閾値を超えた場合は、電動モータの１駆動を終える度に、閾値が高いほど長い値に設定された休止時間のうちその超えた閾値に応じた休止時間を取得するとともに、該休止時間の取得に際して当該１駆動の制御に用いた駆動速度及び駆動量の情報を基にその超えた閾値と対応する前記休止時間参照データを参照して、電動モータの休止期間を含む１駆動当たりの実効電流値がほぼ同じになる休止時間を取得する。電動モータを１駆動を終えてから次の１駆動を開始するまでの間にその取得した休止時間の休止を入れるように制御する。従って、温度センサを使わず、電動モータの発熱温度を時間経過による放熱を考慮して比較的正確にかつ簡単な処理で推定でき、電動モータの発熱を制限する制御を好適に行うことができる。そして、放熱を考慮して電動モータの発熱温度を比較的正確にかつ簡単な処理で推定できることから、電動モータの無駄な休止を減らし、記録装置のスループットの向上を図ることができる。また、電動モータの休止期間を含む１駆動当たりの実効電流値がほぼ同じになるように、電動モータの１駆動毎の駆動速度及び駆動量に応じた休止時間が設定されるので、電動モータの駆動速度及び駆動量が異なる駆動間でも電動モータの発熱の制限の程度がほぼ同じとなり、安定な発熱制限が可能になる。
【００１２】
前記第１および第２の目的を達成するために請求項２に記載の発明は、給電手段から供給される電力を基に駆動される電動モータを備えた記録装置において、前記電動モータの駆動速度と駆動量との異なる組合せ毎に前記電動モータの１駆動当たりの発熱量に関する値が対応付けられている発熱量参照データと、閾値に対応して設けられるとともに対応する閾値が高いほど休止時間が長く設定されかつ対応する閾値が同じであっても前記駆動速度及び前記駆動量の異なる組合せ毎に前記電動モータの休止期間を含む１駆動当たりの実効電流値がほぼ同じになるように可変の当該休止時間が対応付けられた休止時間参照データとを記憶するメモリと、与えられた記録データから決まる１駆動毎の駆動速度及び駆動量の情報に基づき前記電動モータを制御して当該電動モータを加速域と定速域と減速域とを有する速度プロファイルで定速域において前記駆動速度となるように１駆動毎に可変の前記駆動量で１駆動ずつ駆動させる制御手段と、前記電動モータの１駆動を終える度に当該１駆動の制御に用いた前記駆動速度及び駆動量の情報から前記発熱量参照データを参照して前記電動モータの１駆動当たりの発熱量に関する値を逐次取得する発熱量取得手段と、前記発熱量に関する値を用いて放熱を考慮して前記電動モータの蓄熱量に関する値を逐次求める蓄熱量取得手段とを備え、前記制御手段は、前記蓄熱量に関する値が所定の閾値を超えたか否かを判断し、当該閾値を超えた場合は、前記電動モータの１駆動を終える度に、閾値が高いほど長い値に設定された休止時間のうちその超えた閾値に応じた休止時間を取得するとともに、該休止時間の取得に際して当該１駆動の制御に用いた前記駆動速度及び前記駆動量の情報を基にその超えた閾値と対応する前記休止時間参照データを参照して前記電動モータの休止期間を含む１駆動当たりの実効電流値がほぼ同じになる休止時間を取得し、前記電動モータを当該１駆動を終えてから次の１駆動を開始するまでの間に前記取得した休止時間の休止を入れるように制御することを要旨とする。
【００１３】
この発明によれば、請求項１に記載の発明と同様の作用により、放熱が考慮された蓄熱量に関する値を基に電動モータの発熱温度が比較的正確にかつ簡単な処理で推定されることとなり、電動モータの不要な休止が減ることになる。
【００１８】
前記第１および第２の目的を達成するために請求項３に記載の発明は、請求項２に記載の記録装置において、前記蓄熱量取得手段は、前記発熱量に関する値を放熱を考慮した補正演算を伴って積算し、該積算値に基づいて前記電動モータの前記蓄熱量に関する値として前記電動モータの発熱温度に関する値を推定する発熱温度推定手段であり、前記制御手段は、前記発熱温度に関する値が所定の閾値を超えると、前記電動モータを１駆動を終えてから次の１駆動を開始するまでの間に前記休止時間の休止を入れるように制御することを要旨とする。
【００１９】
この発明によれば、電動モータの駆動速度と駆動量とに基づき発熱量に関する値が求められ、この発熱量に関する値が放熱を考慮した補正演算を伴って積算され、この積算値に基づいて電動モータの発熱温度に関する値が推定される。発熱温度に関する値が所定の閾値を超えると、電動モータはその駆動の合間に休止時間の休止を入れるように制御される。
【００２２】
前記第１および第２の目的を達成するために請求項４に記載の発明は、請求項２又は３に記載の記録装置において、前記記録装置は、記録ヘッドを有するキャリッジが主走査方向に往復移動することにより前記記録ヘッドによる記録媒体への記録が行われるシリアル式の記録装置であって、前記電動モータは、前記キャリッジを主走査方向に往復移動させるために駆動される構成であり、前記蓄熱量取得手段は、前記発熱量取得手段が取得した前記１駆動当たりの発熱量を時間経過による放熱を考慮した補正演算を伴って逐次積算して積算値を得る構成であり、前記制御手段は、前記積算値が所定の閾値を超えたら、前記キャリッジの移動反転時に休止時間をもたせるように前記電動モータを制御することを要旨とする。
【００２３】
この発明によれば、電動モータの駆動速度と駆動量に基づき１駆動当たりの発熱量が発熱量取得手段により取得される。蓄熱量取得手段は、１駆動当たりの発熱量を時間経過による放熱を考慮した補正演算を伴って逐次積算して積算値を得る。そして、該積算値が所定の閾値を超えたら、キャリッジの移動反転時に休止時間をもたせるように電動モータが制御手段により制御される。従って、シリアル式の記録装置において、時間経過による放熱が考慮された発熱量の積算値を基に電動モータの発熱が比較的正確に推定されることとなり、電動モータの不要な休止が減ることになる。
【００２４】
前記第１および第２の目的を達成するために請求項５に記載の発明は、請求項２又は３に記載の記録装置において、前記記録装置は、記録ヘッドを有するキャリッジが主走査方向に往復移動することにより前記記録ヘッドによる記録媒体への記録が行われるシリアル式の記録装置であって、前記電動モータは、前記キャリッジを主走査方向に往復移動させるために駆動される構成であり、前記発熱量取得手段は、前記電動モータの１駆動当たりの発熱量を前記キャリッジの１パス単位の単位発熱量として取得し、取得した前記単位発熱量を逐次積算して単位時間当たりの発熱量を求める構成であり、前記蓄熱量取得手段は、前記単位時間当たりの発熱量を時間経過による放熱を考慮した補正演算を伴って逐次積算して積算値を得る構成であり、前記制御手段は、前記積算値が所定の閾値を超えたら、前記キャリッジのパスとパスの合間に休止時間をもたせるように前記電動モータを制御することを要旨とする。
【００２５】
この発明によれば、電動モータの駆動速度と駆動量とに基づきキャリッジの１パス単位の単位発熱量が単位発熱量取得手段により求められる。さらに、単位発熱量を逐次積算して単位時間当たりの発熱量が発熱量取得手段により求められる。そして、蓄熱量取得手段は、単位時間当たりの発熱量を時間経過による放熱を考慮した補正演算を伴って逐次積算して積算値を得る。該積算値が所定の閾値を超えたら、キャリッジのパスとパスの合間に休止時間をもたせるように電動モータが制御手段により制御される。従って、シリアル式の記録装置において、時間経過による放熱が考慮された発熱量の積算値を基に電動モータの発熱が比較的正確に推定されることとなり、電動モータの不要な休止が減ることになる。
前記第１および第２の目的を達成するために請求項６に記載の発明では、請求項２〜５のいずれか一項に記載の記録装置において、前記記録装置の電源投入直後の初期化処理の１つとして、前記電動モータを１駆動させて定速域での電流値を測定するメジャメント処理を行い、当該メジャメント処理で得られた前記定速域での電流値を用いて１駆動当たりの実効電流値を駆動速度及び駆動量の異なる組合せ毎に求め、求めた当該１駆動当たりの実効電流値を用いて前記発熱量参照データを生成し、生成した前記発熱量参照データを前記メモリに記憶する参照データ生成手段をさらに備えたことを要旨とする。
この発明によれば、記録装置の電源投入直後の初期化処理の１つとして、電動モータを１駆動させて定速域での電流値を測定するメジャメント処理が行われる。参照データ生成手段は、メジャメント処理で得られた電流値を用いて、１駆動当たりの実効電流値を駆動速度及び駆動量の異なる組合せ毎に求める。さらに、求めた１駆動当たりの実効電流値を用いて発熱量参照データを生成し、生成した発熱量参照データをメモリに記憶する。
【００２６】
前記第１および第２の目的を達成するために請求項７に記載の発明は、請求項２〜５のいずれか一項に記載の記録装置において、前記電動モータの１駆動当たりの実効電流値を、前記電動モータにかかる負荷に依存する負荷電流値と、前記電動モータを加減速させるときのイナーシャ分に相当する固定電流値とに分け、駆動速度及び駆動量の異なる組合せ毎の前記固定電流値を記憶するメモリと、前記定速域の電流を実測して電流実測値を得る電流実測手段と、前記定速域の電流実測値に基づいて決まる負荷電流値と、前記メモリに記憶された固定電流値とを用いて１駆動当たりの実効電流値を駆動速度及び駆動量の異なる組合せ毎に演算する演算手段と、前記１駆動当たりの実効電流値を用いて前記発熱量参照データを生成し、生成した前記発熱量参照データを前記メモリに記憶する参照データ生成手段とをさらに備えたことを要旨とする。
【００２７】
この発明によれば、請求項２〜５のいずれか一項に記載の発明の作用に加え、電動モータは、加減速域と定速域とが設定された速度設定で１駆動するように速度制御される。電動モータの１駆動当たりの実効電流値は、電動モータにかかる負荷に依存する負荷電流値と、加減速過程でのイナーシャ分に相当する固定電流値とに分けられる。電流実測手段により定速域の電流が実測されて電流実測値が得られ、この定速域の電流実測値に基づいて負荷電流値が決まる。そして、この負荷電流値とメモリに記憶された固定電流値とを用いて１駆動当たりの実効電流値が演算手段により駆動速度及び駆動量の異なる組合せ毎に演算される。そして、参照データ生成手段は、１駆動当たりの実効電流値を用いて１駆動当たりの発熱量に関する値を、駆動速度及び駆動量の異なる組合せ毎に求めることで、発熱量参照データを生成し、生成した発熱量参照データをメモリに記憶する。
【００２８】
請求項９に記載の発明では、請求項２〜８のいずれか一項に記載の記録装置において、前記制御手段は、前記電動モータの休止期間を含む１駆動当たりの実効電流値がほぼ同じになるように、前記電動モータの駆動速度及び駆動量に応じた休止時間を設定することを要旨とする。
【００２９】
この発明によれば、請求項２〜８のいずれか一項に記載の発明の作用に加え、制御手段により、電動モータの休止期間を含む１駆動当たりの実効電流値がほぼ同じになるように、電動モータの駆動速度及び駆動量に応じた休止時間が設定される。従って、電動モータの駆動速度及び駆動量が異なる駆動間でも電動モータの発熱の制限の程度がほぼ同じとなり、安定な発熱制限が可能になる。
【００４０】
請求項８に記載の発明では、請求項２〜７のいずれか一項に記載の記録装置において、前記放熱の系が、発熱を伴って放熱する発熱系か、発熱を伴わずに放熱する放熱系かを判定する判定手段をさらに備え、前記蓄熱量取得手段は、前記判定手段により判定された系に応じた放熱係数を選択して前記補正演算を行うことを要旨とする。
【００４１】
この発明によれば、請求項２〜７のいずれか一項に記載の発明の作用に加え、判定手段は、放熱の系が、発熱を伴って放熱する発熱系か、発熱を伴わずに放熱する放熱系かを判定する。そして、蓄熱量取得手段は、判定手段により判定された系に応じた放熱係数を選択して補正演算が行われる。
【００４２】
請求項９に記載の発明では、請求項８に記載の記録装置において、前記判定手段は、前記電動モータの単位時間当たりの駆動回数を計数し、当該単位時間当たりの駆動回数が、前記放熱の系を前記発熱系とみなしうる最低駆動回数である設定回数以上であるか否かを判断し、前記駆動回数が前記設定回数以上であれば前記発熱系と判定し、前記設定回数未満であれば前記放熱系と判定することを要旨とする。
【００４３】
この発明によれば、請求項８の発明の作用に加え、判定手段は、電動モータの単位時間当たりの駆動回数を計数し、当該単位時間当たりの駆動回数が設定回数以上であるか否かを判断する。単位時間当たりの駆動回数が設定回数以上であれば発熱系と判定し、設定回数未満であれば放熱系と判定する。従って、放熱の系が発熱系であるか放熱系であるかを比較的簡単に判定することが可能となる。
【００４６】
【発明の実施の形態】
以下、本発明をインクジェット式記録装置で具体化した一実施形態を図１〜図１９に従って説明する。
【００４７】
図２は、インクジェット式記録装置のケース内部の概略構成図である。
図２に示すように、記録装置（印刷装置）としてのインクジェット式印刷装置（以下、プリンタと称す）１は、ケース（図示省略）内にプリンタ本体２を備えている。プリンタ本体２には、レール（ガイドロッド）３に案内されてプラテン４の軸方向と平行な主走査方向に往復移動可能なキャリッジ５が設けられている。キャリッジ５は電動モータとしてのキャリッジモータ（以下ＣＲモータと称す）６によってタイミングベルト７を介して駆動される。本実施形態では、ＣＲモータ６としてＤＣモータが使用されている。
【００４８】
キャリッジ５の下部には、記録媒体である用紙８と対向する下面側に記録ヘッドとしての印刷ヘッド９が配設されている。印刷ヘッド９には各インク色毎のノズル列（図示せず）が多数列形成されている。キャリッジ５の上部には印刷ヘッド９にインクを供給するインクカートリッジ１０，１１（ブラック用とカラー用の２種類）が着脱可能に装着されている。印刷ヘッド９に内蔵された圧電振動子の振動作用に基づき各ノズルからインク滴が吐出されて印刷が行われる。
【００４９】
またプリンタ１には、キャリッジ５の走行速度を検出するためのリニアエンコーダ１３が設けられている。リニアエンコーダ１３は、樹脂製の被検出用テープ（符号テープ）１４と、エンコーダ３３（図１に示す）とからなる。テープ１４は、キャリッジ５の背面側に主走査方向（キャリッジ走行方向）と平行に張られており、テープ１４の主走査方向に一定ピッチで多数本形成されたスリット１４ａからの投光を、キャリッジ５と一体に移動するエンコーダ３３が検出する。
【００５０】
またプリンタ１には紙送りモータ１５が設けられている。紙送りモータ１５が駆動されると、プラテン４の紙送り方向前後（同図における矢印方向）に一対配列された２組の紙送りローラ（図示せず）が駆動されて用紙８が送られる。本実施形態では、紙送りモータ１５としてステッピングモータが使用されている。
【００５１】
図１は、プリンタにおける印刷駆動制御系の電気構成を示す。同図に示すように、ホストコンピュータ（例えばパーソナルコンピュータ）２０は、通信ケーブル２１を介してプリンタ１のインタフェイス２２に接続されている。プリンタ１は、ＣＰＵ２３、ＡＳＩＣ（Application Specific  ＩＣ（特定用途向けＩＣ））２４、ＲＯＭ（ＰＲＯＭ）２５、ＲＡＭ２６、ＥＥＰＲＯＭ２７、タイマＩＣ２８、ＤＣユニット２９、キャリッジモータドライバ（ＣＲモータドライバ）３０、紙送りモータドライバ３１およびヘッドドライバ３２を備えている。ＣＲモータ６および紙送りモータ１５は、各モータドライバ３０，３１にそれぞれ接続されている。また印刷ヘッド９（詳しくはノズル毎の各圧電振動子）は、ヘッドドライバ３２に接続されている。ＣＰＵ２３には、エンコーダ３３およびホームセンサ、紙検出センサ（いずれも図示省略）などのセンサ類が接続されている。なお、ＣＰＵ２３、ＤＣユニットおよびＣＲモータドライバ３０により休止制御手段が構成される。またＣＰＵ２３により単位発熱量取得手段が構成される。ＣＰＵ２３およびタイマＩＣにより発熱量取得手段が構成される。
【００５２】
ＡＳＩＣ２４は、ホストコンピュータ２０から受信した印刷データを印刷ヘッド９を制御するときに使用できるようにイメージ展開し、このイメージ展開後のデータを基にヘッドドライバ３２を介して印刷ヘッド９を駆動制御する。ＲＡＭ２６は、各種制御のための演算結果を一時格納したり、印刷データおよびイメージ展開後のデータを一時格納するバッファとして機能する。
【００５３】
ＤＣユニット２９は、交流を直流に変換するとともに、ＣＰＵ２３からの指令値に応じた直流を各モータドライバ３０，３１に供給する。ＣＰＵ２３はモータドライバ３０，３１を介してモータ６，１５を電圧制御する。例えばＤＣモータであるＣＲモータ６を速度制御するときは、ＣＰＵ２３はＣＲモータドライバ３０に制御信号を出力し、モータドライバ３０によってその制御信号に応じてＣＲモータ６が制御され、例えばＣＲモータ６の正転・逆転が制御される。
【００５４】
ＲＯＭ２５にはＣＰＵ２３が実行する各種制御プログラムやプログラム実行時に用いられる各種設定データなどが記憶されており、その中に例えばＣＲモータ６を電流値制御するための速度制御用プログラムおよびその設定データが記憶されている。また、発熱制限制御のためのプログラムおよびその設定データが記憶されている。ここで、発熱制限制御とは、モータ温度がモータの規格温度を超えないようにその発熱を制限する制御である。このプログラムおよび設定データについては後述する。
【００５５】
エンコーダ３３は、投光器と一対の受光式センサを内蔵し、符号テープ１４のスリット１４ａを通る投光を検出することにより、９０度位相のずれたＡ相・Ｂ相の２つのパルス信号を出力する。
【００５６】
図３は、ＤＣユニット２９の構成を示したブロック図である。
ＤＣユニット２９は、位置演算部４１と、減算器４２と、目標速度演算部４３と、速度演算部４４、減算器４５と、比例要素４６と、積分要素４７と、微分要素４８と、加算器４９と、ＰＷＭ回路５０と、タイマ５１と、加速制御部５２とから構成されている。
【００５７】
位置演算部４１は、エンコーダ３３の出力パルスのエッジを検出してその個数を計数し、この計数値に基づきキャリッジ５の位置を演算する。２つのパルス信号の比較処理から認知されるＣＲモータ６の正転・逆転に応じて、１個のエッジが検出されたときには正転時であればインクリメントし、逆転時であればデクリメントするように計数処理する。
【００５８】
減算器４２は、ＣＰＵ２３から送られてくる目標位置と、位置演算部４１により求められたキャリッジ５の実際の位置との位置偏差を演算する。
目標速度演算部４３は、減算器４２の出力である位置偏差に基づいてキャリッジ５の目標速度を演算する。この演算は位置偏差にゲインＫｐを乗算することにより行われる。このゲインＫｐは位置偏差に応じて決定される。なお、このゲインＫｐの値は図示しないテーブルに格納されていてもよい。
【００５９】
速度演算部４４は、エンコーダ３３の出力パルスに基づいてキャリッジ５の速度を演算する。すなわちエンコーダ３３の出力パルスのパルス周期をタイマカウンタにより計時し、このパルス周期に基づいてキャリッジ速度Ｖを演算する。
【００６０】
減算器４５は、目標速度と、速度演算部４４によって演算されたキャリッジ５の実際の速度との速度偏差を演算する。
比例要素４６は、速度偏差に定数Ｇｐを乗算し、乗算結果を出力する。積分要素４７は、速度偏差に定数Ｇｉを乗じたものを積算する。微分要素４８は、現在の速度偏差と、１つ前の速度偏差との差に定数Ｇｄを乗算し、乗算結果を出力する。比例要素４６、積分要素４７および微分要素４８の演算は、エンコーダ３３の種る欲パルスの１周期毎に行われる。
【００６１】
比例要素４６、積分要素４７および微分要素４８から出力される信号値は、それぞれの演算結果に応じたデューティＤＸを示す。ここでデューティＤＸは、例えばデューティパーセントが（１００ラ ＤＸ／２０００）％であることを示す。この場合、ＤＸ＝２０００であれば、デューティ１００％を示し、ＤＸ＝１０００であれば、デューティ５０％を示すことになる。
【００６２】
比例要素４６、積分要素４７および微分要素４８の出力は、加算器４９において加算される。この加算結果がデューティ信号としてＰＷＭ回路５０に送られて、ＰＷＭ回路５０にて加算結果に応じた指令信号が生成される。この制しえされた指令信号に基づいてドライバ３０によりＣＲモータ６が駆動される。
【００６３】
また、タイマ５１および加速制御部５２は、ＣＲモータ６の加速制御に用いられ、比例要素４６、積分要素４７および微分要素４８を使用するＰＩＤ制御は、加速制御後の定速および減速制御に用いられる。
【００６４】
タイマ５１は、ＣＰＵ２３から送ってくるクロック信号に基づいて所定時間毎にタイマ割込信号を発生する。加速制御部５２は、タイマ割込信号を受ける毎に所定のデューティＤＸＰを積算し、積算結果がデューティ信号としてＰＷＭ回路５０に送られる。ＰＩＤ制御と同様に、ＰＷＭ回路５０にて積算結果に応じた指令信号が生成され、生成された指令信号に基づいて、ドライバ３０によりＣＲモータ６が駆動される。
【００６５】
ドライバ３０は例えば複数個のトランジスタを備えており、ＰＷＭ回路５０の出力に基づいてトランジスタをオン・オフさせることで、ＣＲモータ６に電圧を印加する。
【００６６】
次にＣＲモータ６の駆動制御について説明する。
図４は、ＤＣユニット２９に制御されるＣＲモータ６の電流値およびキャリッジ速度を示したグラフである。電流値はＰＷＭ回路５０に送られるデューティ信号値から決まる電圧値に応じて定まる値である。
【００６７】
キャリッジ５が１パス（１回の片道）を走行する過程では、図４（ｂ）に示す速度パターンが設定されている。キャリッジ５を停止状態から加速する加速域、加速後に一定速度を維持する定速域、定速域から停止するまでキャリッジ５を減速する減速域が設定されている。印刷ヘッド９による印刷は定速域で行われる。
【００６８】
図４（ａ）に示すように、ＤＣユニット２９によりまず加速域ではオープン制御が行われ、キャリッジ速度が目標速度Ｖａに達するまではデューティ値がキャリッジ起動時の初期値から上昇することで電流（消費電流）が上昇し、目標速度Ｖａに達すると電流値が一定に保持され、次の目標速度Ｖｂに達すれば電流値が少し下降する。そして目標速度Ｖｃに達すると、ＰＩＤ制御に移行する。
【００６９】
定速域ではＰＩＤ制御が行われ、キャリッジ速度Ｖが定速速度Ｖc となるようにデューティ値が決まる。そして、キャリッジ５が位置Ｐ１，Ｐ２，Ｐ３，Ｐ４，Ｐ５に達する度ごとに段階的に減速制御が行われる。このため、キャリッジ５は、復動から往動、あるいは往動から復動へ反転するときの位置は、常に指定された移動距離の位置となる。
【００７０】
ＣＰＵ２３はホストコンピュータ２０から受け付けた印刷データに基づき、キャリッジ５の印刷速度モードおよび１パス時の移動距離を決定する。本実施形態では印刷速度モードとして例えば５段階の速度モードが用意されている。
【００７１】
ＣＰＵ２３は、オープン制御およびＰＩＤ制御のデューティ値を取得し、このデューティ値に基づいて電圧値を認知する。ＣＰＵ２３は電圧値を電流値に換算する換算式をもち、電圧値を電流値（消費電流値）に換算する。
【００７２】
まず本実施形態で採用するモータ温度推定処理と発熱制限制御について説明する。はじめにモータ温度推定処理を概略説明する。本実施形態では、キャリッジ５の１パス毎の実効電流値（消費電流値）Ｉpassと移動時間（駆動時間）ｔpassとから１パス当たりの発熱量Ｑpassを求め、これを逐次積算して単位時間（１分）当たりの発熱量Ｑsigma を求める。そして１分毎の発熱量Ｑsigma を、時間経過による放熱を考慮しながら積算して求まる蓄熱量を上昇温度ΔＴに換算する。初期温度（例えば室温）からの上昇温度ΔＴが分かることから、上昇温度ΔＴを監視すれば現在の推定モータ温度を間接的に監視することが可能になる。
【００７３】
そして、上昇温度ΔＴを使って発熱制限制御を実施する。すなわち、上昇温度ΔＴが電動モータの規格温度以下にあるように、ΔＴが予め設定した閾値を超えると、１パス毎に休止を入れる発熱制限制御を実施する。本実施形態では、複数の閾値を段階的に設け、ΔＴの大きさに応じて休止時間を段階的に長くするようにしている。ΔＴが小さいうちは休止を入れてもユーザが不快を感じないようにするとともに、ΔＴが大きくなると安全な温度まで下降するのに必要な休止時間を２段階に設定する。
【００７４】
まず、モータ温度推定処理について以下にその詳細を説明する。
一般的に、発熱量は以下の式で求められる。
Ｑ＝Ｋ・Ｗ  （Ｋは定数であり、ある仕事を発熱に換算する係数である）
ここで、Ｗ＝Ｉ2 ・Ｒ・ｔである。つまり、Ｑ＝Ｉ2 ・Ｒ・ｔ・Ｋとなる。モータの動作に伴う発熱を考えると、Ｒはモータの巻線の抵抗であり、定数である。上記したようにＲとＫは定数なので、Ｑ∝Ｉ2 ・ｔの関係があることから、以下の説明では、Ｉ2 ・ｔを発熱量と呼ぶ。
【００７５】
はじめに１パス当たりの発熱量を求める求め方について説明する。本実施形態では、キャリッジ５の移動速度Ｖと移動距離Ｙとから、図９に示すテーブルＱＴを参照して、１パス当たりの単位発熱量Ｑpass（テーブルではＱpassYV）を求めるようにしている。移動速度Ｖは５つの印刷速度モードに応じて５段階に設定されている。移動距離Ｙは、キャリッジ５の１パス最長距離をｍ分割したｍ個の移動距離の範囲として設定されており、印刷データから決まる実際の移動距離Ｘが属する範囲が移動距離Ｙとして決まるようにしている。
【００７６】
この単位発熱量参照テーブルＱＴによって定まる１パス当たりの単位発熱量ＱpassYVは、プリンタ電源投入直後のシステム初期化時に、キャリッジ５を１往復動させてモータ電流値を実測するメジャメント処理で得られた実測電流値（電流実測値）を基に計算されたものである。最初に作成されたこの単位発熱量参照テーブルＱＴはＲＡＭ２６に記憶される。
【００７７】
１パス当たりの単位発熱量Ｑpassは、１パス当たりの実効電流値Ｉpassを使って次式のように表される。
Ｑpass＝Ｉpass2 ・ｔpass  …  (1)
また実効電流値Ｉpassは次式で表される。
Ｉpass＝√{（Ｉ12・ｔ＋Ｉ22・ｔ＋…＋Ｉk2・ｔ）／ｔpass}   …  (2) ここで、ｔpassは、キャリッジの１パス移動時間である。
【００７８】
メジャメント処理によりモータ電流値を実測するのは、プリンタの使用年数（使用条件）や使用温度環境などによって、キャリッジ駆動時にＣＲモータ６にかかる負荷が異なるからである。このようなモータ負荷のばらつきを考慮してプリンタ個々に最適なテーブルＱＴを作成するため、モータ電流値を実測するメジャメント処理を採用している。
【００７９】
この場合、テーブルＱＴの全ての組合せについて１パス毎に実効電流値Ｉpassを実測しようとすると、５種類の移動速度Ｖと２０種類の移動距離ごとに、合計１００種類の実測計算が必要になり、キャリッジ５を１００回往復動させる必要がある。これは現実的ではないので、本実施形態では、キャリッジ５を１回往復動させるだけのメジャメント処理で済むように工夫されている。
【００８０】
図５は、キャリッジが１パスするときの時間とモータ電流値を示すもので、同図（ａ）はモータ負荷が小さいとき、同図（ｂ）はモータ負荷が大きいときである。モータ電流値は、加速するときには高く、定速域では負荷に逆らって動いているのでほぼ一定であり、最後に逆方向に電流が流れた後に再び正方向に電流が流れてから停止する。ＣＲモータ６にかかる負荷は、レール３などの摺動部分との動摩擦抵抗および粘性抵抗等によって発生するものである。ＣＲモータ６の定速域における一定電流値ＩFukaは、キャリッジ５を負荷に逆らって動かすために必要な電流値である。よって、電流値ＩFukaは、負荷が小さいプリンタでは同図（ａ）のように小さな値をとり、負荷が大きいプリンタでは同図（ｂ）のように大きな値をとる。
【００８１】
例えば加速過程におけるＩFukaを超える部分の電流分（同図における斜線部）は、キャリッジ５の質量Ｍに起因するイナーシャ分に相当し、これは同じ速度モード（加速モード）では質量Ｍに依存する一定値である。そこで、図６に示すように、１パス当たりの実効電流値Ｉpassを、負荷によって変動する電流値ＩFukaと、質量Ｍと加減速モードにのみ依存するイナーシャ分に相当する電流値ＩBaseとに分けて求めるようにしている。なお、本実施形態では、イナーシャ分に相当する電流値ＩBaseが固定電流値に相当する。
【００８２】
電流値ＩFukaは、メジャメント処理で実測する。この際、最大移動速度Ｖmax （＝300cps）でキャリッジ５を駆動させたときにメジャメント処理で実測した電流値ＩFukaを、全ての移動速度Ｖに共通に使用する。これは、負荷のうち動摩擦抵抗μは移動速度Ｖに拠らず一定値で、粘性抵抗ηは移動速度Ｖに比例する（η＝ｓ・Ｖ（ｓは定数））ことから、最大負荷が考慮された電流値ＩFukaを実測するためである。
【００８３】
一方、電流値ＩBaseは、予め実験で求めておき、図７に示す基準実効電流テーブルＩＴとしてＲＯＭ２５に記憶されている。その求め方は以下のようである。すなわち前記(2) 式に従って、１パスするときの電流値を微小時間ｔ毎に逐次測定し、得られた電流値Ｉの２乗に微小時間ｔを乗算した値Ｉ2 ・ｔを逐次積算し、この積算値をキャリッジ５の１パス移動時間ｔpassで割った値の平方根をとって、１パス当たりの実効電流値Ｉpassを求める。このときＩFukaは以下のように求める。一定電流値である定速域から複数の値をサンプリングし、そのサンプリング値を実効電流値の計算式に従って計算処理する。そして実効電流値Ｉpassから電流値ＩFukaを減算することにより、電流値ＩBaseを算出する（ＩBase＝Ｉpass−ＩF uka ）。これを各移動速度Ｖと移動距離Ｙの全ての組合せについて実測計算し、各基準実効電流ＩBase[Y][V]として求める。
【００８４】
またＲＯＭ２５には、図８に示すキャリッジ１パス時間テーブルＰＴが記憶されている。このテーブルＰＴには、キャリッジ５が１パスするときの移動時間（所要時間）ｔpass[Y][V]が、移動速度Ｖと移動距離Ｙの各組合せごとに設定されている。なお、移動時間ｔpass[Y][V]は、定速域における移動時間（Ｙ／Ｖ）に、加速域および減速域における各移動時間を加算した値であり、計算値または実測値として求められたものである。
【００８５】
メジャメント処理では、定速域における電流値ＩFukaを実測することになる。キャリッジが最大移動速度Ｖmax （＝300cps）で最長移動距離（＝1800EP）を１回往復動するときの定速域での一定電流値ＩFukaを実測する。定速域に入り一定電流値になると、電流値Ｉを単位微小時間ｔ毎にサンプリングし、Ｉ2 ・ｔを算出するとともに逐次積算する。そしてサンプリングした総時間ｔs が分かっているので、その積算値を時間ｔs で割った値の平方根をとることで、定速域における実効電流値を算出しこれを電流値ＩFukaとして算出する。もちろん、ＩFukaは、サンプリング値を実効電流値の計算式に従って計算処理することにより求めることもできる。なお、ＣＲモータ６を電圧制御している本実施形態では、サンプリングした電圧値を換算式により換算して得られる電流値を使用してＩFukaを測定する。
【００８６】
ＲＯＭ２５には、図１０にフローチャートで示すメジャメント処理のためのプログラムが記憶されている。ＣＰＵ２３はこのメジャメント処理用プログラムを実行することで、メジャメント処理を実施する。次にプリンタ電源投入直後のキャリッジ準備走行時に実行される電流測定処理（メジャメント処理）について、図１０のフローチャートに従って説明する。
【００８７】
まずステップ（以下「Ｓ」と記す）１０では、プリンタ電源オンされたことを認知する。
Ｓ２０では、システム初期化をする。
【００８８】
Ｓ３０では、ＣＲモータ６を起動する。このとき最大移動速度Ｖmax で最長移動距離を１回往復動するように起動される。最初の加速域ではオープン制御で加速制御を実行する。
【００８９】
Ｓ４０では、ＰＩＤ制御を実行する。すなわち定速域に入るとＰＩＤ制御を実行する。
Ｓ５０では、定速域に入って電流値が一定になった時点から電流値Ｉを記憶する。すなわち定速域の電流値Ｉをサンプリングする。
【００９０】
Ｓ６０では、モータが定速度で一定量以上回転したか否かを判断する。すなわちエンコーダ３３の出力パルスのエッジをカウントして得られるキャリッジ位置が定速域終了前の設定位置に達したか否かを判断する。キャリッジ位置が設定位置に達していなければＳ４０に戻り、キャリッジ位置が設定位置に達していればＳ７０に進む。こうしてキャリッジ５が設定位置に達するまで所定微小時間ｔごとに電流値Ｉのサンプリングが行われる。
【００９１】
Ｓ７０では、定速域の実効電流値Ｉc を算出する。すなわち、定速域でサンプリングしたｎ個の電流値Ｉから実効電流値の計算式に従って定速域における実効電流値Ｉc を算出する。この実効電流値Ｉc がＩFukaとして使用される。
【００９２】
このメジャメント処理により電流値ＩFukaが実測されると、次に、この実測した電流値ＩFukaと、図７の基準実効電流テーブルＩＴと、図８のＣＲ１パス時間テーブルＰＴとを用いて、図９の単位発熱量参照テーブルを作成する。すなわち、電流値ＩFukaと、基準実効電流値ＩBase[Y][V]と、１パス時間ｔpass[Y][V]とを用い、次の(3) 式により、単位発熱量Ｑpass[Y][V]を算出する。
Ｑpass[Y][V]＝（ＩBase[Y][V]＋ＩFuka）2 ・ｔpass[Y][V]  …  (3) こうしてプリンタ電源投入直後のキャリッジ準備駆動時にメジャメント処理がなされ、図９の単位発熱量参照テーブルが作成される。なお、キャリッジ５の往動時と復動時でＣＲモータ６にかかる負荷が厳密には違うので、実際には図７，８，９のテーブルＩＴ，ＰＴ，ＱＴはキャリッジの往動時用と復動時用のそれぞれ２種類を持っている。但し、この実施形態では説明を簡単にするため、往動時と復動時を区別することなく１つのテーブルを持っているものとして説明を進めることにする。
【００９３】
次に、プリンタ電源投入時のテーブル作成後に行われる温度推定処理について説明する。テーブル作成後の温度推定処理は、キャリッジ５の駆動・停止に拘わらず、電源投入中は常時実行される。但し、キャリッジ５が駆動されるときは、１パスする毎に１パス当たりの単位発熱量Ｑpassが算出される。すなわち、キャリッジ５の１パス「起動−停止」毎に、単位発熱量参照テーブルＱＴ（図９）を参照し、移動速度Ｖ・移動距離Ｙから、１パス発熱量Ｑpass[Y][V]を取得する。
【００９４】
図１１は、１分間における時間（秒）に対するモータ電流と発熱量Ｑpassの様子を示したグラフである。同図（ａ）のグラフから分かるように、モータ電流は、キャリッジ５の往動と復動が交互に繰り返されることにより、１パス毎にプラスとマイナスが交互に反転する。１パスするときの移動速度Ｖと移動距離Ｙから、テーブルＱＴ（図９）を参照して、１パス発熱量Ｑpass[Y][V]を取得する。そしてその１パスが終了する度に、今回の単位発熱量Ｑpass[Y][V]を、前回の発熱量Ｑsi gma  に加算する。こうして１パス毎に取得される１パス発熱量Ｑpass[Y][V]を、単位時間Ｔbox （＝６０秒）の間に逐次積算して、単位時間Ｔbox の発熱量Ｑsigma を求める。１分間の発熱量Ｑsigma は、前回の発熱量Ｑsigma に今回の単位発熱量Ｑpass[Y][V]を加算することにより、式  Ｑsigma ＝Ｑsigma ＋Ｑpass[Y][V]  により計算される。但し、Ｑsigma の計算前初期値は「０」であり、１分毎にリセットされる。従って、１分間の間、キャリッジ５が一度も駆動されなかったときのＱsigma は「０」となる。
【００９５】
単位時間Ｔbox の６０秒は、タイマＩＣ２８からのクロック信号を基にＣＰＵ２３が時間カウンタにて計時する。６０秒経過した時点でキャリッジ５がパスの途中にある１パスについては、今回の１分間の発熱量Ｑsigma には加えず、次回の１分間の発熱量Ｑsigma に入れるようにしている。従って、同図（ａ）に示す例では、斜線を施したパスの発熱量Ｑpassのみが、同じ１分間の集まりとして積算される。なお、同図（ａ）では、パスとパスの間に時間間隔があるが、これはキャリッジ５の反転時に避けられない一瞬の停止であり、休止時間ではない。
【００９６】
次に１分間の発熱量Ｑsigma を発熱温度（発熱値）ΔＴnew に換算する。ΔＴnew は、式  ΔＴnew ＝Ｋａ・Ｑsigma   により求まる。ここで、Ｋａは、発熱量Ｑから発熱温度ΔＴへの変換係数であり、予備実験により求められた値である。熱量Ｑ＝κ・ΔＴ、ＱはＩo2・Ｒ・ｔに比例することから、予備実験で、実効電流値Ｉo をｔ秒通電したときに、モータの発熱温度ΔＴo が測定されたとすると、実効電流値Ｉrms をｔ秒通電したときに、得られる発熱温度ΔＴnew は、次式で表される。
ΔＴnew ＝（ΔＴo ／Ｉo2）・Ｉrms2
∴ΔＴnew ＝{ ΔＴo ／（Ｉo2・Ｔbox ）} ・Ｑsigma
ここで、{ ΔＴo ／（Ｉo2・Ｔ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 （−６０／Ｔ）…(4)
上記(4) 式において、時定数Ｔとして実験で求めた発熱時定数Ｔ１sinkを使用すると、発熱系における放熱係数Ｋ＝exp （−６０／Ｔ１sink）が求まる。また、上記(4) 式において、時定数Ｔとして実験で求めた放熱時定数Ｔ２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 の計算を継続してもよい。
【０１０３】
次に発熱制限制御について図１５〜図１７等に基づいて説明する。
ＣＲモータ６の発熱防止のために、電源オン中は、キャリッジ５の動作に関係なく、常に一定時間（６０秒）毎に発熱量Ｑsigma を計算し、ＣＲモータ６の発熱温度ΔＴsum を推定する。ＣＲモータ６の発熱温度ΔＴsum が規定の値（閾値）を超えた場合、キャリッジ５の停止直後にショートブレーキ状態を維持する休止時間Ｔwaitをもたせるデューティ制限（発熱制限）がかかる。
【０１０４】
図１５は、温度曲線を示すグラフである。このグラフに示すように、本実施形態では、発熱制限をかける閾値として３つの閾値ΔＴ１，ΔＴ２，ΔＴ３（ΔＴ１＜ΔＴ２＜ΔＴ３）が設定されている。本実施形態では、第１閾値ΔＴ１は規格温度より低い温度に設定されている。第２閾値ΔＴ２および第３閾値ΔＴ３は共にＣＲモータ６の規格温度未満に設定されている。
【０１０５】
ＣＰＵ２３は、発熱温度ΔＴsum を監視し、ΔＴsum が閾値ΔＴ１，ΔＴ２，ΔＴ３を超えると、その超えた閾値に応じた休止時間Ｔ１wait，Ｔ２wait，Ｔ３waitをそれぞれ設定する。つまり、発熱温度ΔＴsum が第１閾値ΔＴ１を超えると、休止時間Ｔwaitをもたせるデューティ制限がかかる。
【０１０６】
ＲＯＭ２５には、休止時間Ｔ１wait，Ｔ２wait，Ｔ３waitを決めるデータとして、図１６，図１７に示す休止時間テーブルＷ１，Ｗ２および休止時間Ｔ３wai t が記憶されている。図１６の休止時間テーブルＷ１は、発熱温度ΔＴsum が第１閾値ΔＴ１を超えたときに参照されるもので、テーブルＷ１を参照することで、移動距離Ｙと移動速度Ｖに応じた休止時間Ｔ１waitYVが設定される。第１休止時間Ｔ１waitYVは、発熱に対して制限をかけつつキャリッジ５を休止させてもユーザが不快に感じないような短い時間に設定されている。このため、１パス毎に第１休止時間Ｔ１waitYVの休止が入っても、ユーザはほとんど不快を感じない。
【０１０７】
このように休止時間を短くする時間優先の考えの下、例えば０．５秒未満の時間が設定されている。移動距離Ｙと移動速度Ｖに応じた休止時間Ｔ１waitYVを設定するのは、この例では、Ｙ，Ｖの全ての組合せについて同じ目標温度に落ちてくるような実効電流値Ｉrms になるように休止時間を設けるためである。つまり、休止時間Ｔ１waitYVは、全てのモードにおいて、同じ温度に落ちてくるような実効電流値Ｉrms になるような値に設定されている。もちろん、全てのＹ，Ｖに共通にして休止時間Ｔ１waitを０．２秒に設定するだけでも構わない。
【０１０８】
図１７の休止時間テーブルＷ２は、発熱温度ΔＴsum が第２閾値ΔＴ２を超えたときに参照されるもので、テーブルＷ２を参照することで、移動距離Ｙと移動速度Ｖに応じた第２休止時間Ｔ２waitYVが設定される。第２休止時間Ｔ２waitYVは、ＣＲモータ６にかかる負荷が最大でＣＲモータ６に最大モータ電流Ｉmax （例えばＩmax ＝0.8 Ａ）が印加されても、発熱温度ΔＴsum （モータ温度）が安全な温度まで下がってくる値に設定されている。ＣＲモータ６に最大モータ電流Ｉmax （例えば0.8 Ａ）が印加されても、発熱温度ΔＴsum が目標温度まで下がるようになっている。本実施形態では図１７に示すように移動距離Ｙと移動速度Ｖに応じて、例えば約０．７〜３秒程度の範囲の値が設定されている。Ｙ、Ｖに応じて休止時間Ｔ２waitYVを設定するのは、Ｙ，Ｖの全ての組合せについて安全な温度に落ちてくるような実効電流値Ｉrms になるように必要最小限の休止時間を設けるためである。もちろん、全てのＹ，Ｖに共通にして休止時間Ｔ２waitを約３秒に設定するだけでも構わない。
【０１０９】
第３休止時間Ｔ３waitは、全てのＹ，Ｖに共通な値で例えば約５秒に設定されている。第３休止時間Ｔ３waitは、ＣＲモータ６の想定している設計上の最大負荷（例えばモータ電流Ｉmax ＝0.8 Ａ）を超えている場合で、仮に給電手段としてのＤＣユニット２９が想定している設計上の供給最大電流ＩDCmax （例えばＩDCmax ＝1.2 Ａ）がＣＲモータ６に印加されても、発熱温度ΔＴsum （モータ温度）が安全な目標温度まで下がってくる値に設定されている。ＣＲモータ６に供給最大電流ＩDCmax （例えば1.2 Ａ）が印加されても、発熱温度ΔＴsum が目標温度まで下がるようになっている。
【０１１０】
安全な目標温度として解除閾値（解除閾値温度）ΔＴstd （ΔＴstd ＜ΔＴ１）が設定されている。デューティ制限が一旦かかると、発熱温度ΔＴsum が解除閾値ΔＴstd に降下するまでは、デューティ制限は解除されない。すなわち、発熱温度ΔＴsum が第１閾値ΔＴ１を超えると、デューティ制限がかかり、１パス毎に第１休止時間Ｔ１waitYVの休止を入れる第１発熱制限モードに移行し、発熱温度ΔＴsum が下降して解除閾値ΔＴstd に達するまでこの第１発熱制限モードに維持される。また、第１発熱制限モード中に発熱温度ΔＴsum が第２閾値ΔＴ２を超えた場合は、１パス毎に第２休止時間Ｔ１waitYVの休止を入れる第２発熱制限モードに移行し、発熱温度ΔＴsum が解除閾値ΔＴstd に達するまでこの第２発熱制限モードに維持される。さらに同様に、第２発熱制限モード中に発熱温度ΔＴsum が第３閾値ΔＴ３を超えると、１パス毎に第３休止時間Ｔ１waitの休止を入れる第３発熱制限モードに移行し、発熱温度ΔＴsum が解除閾値ΔＴstd に達するまでこの第３発熱制限モードに維持される。ＣＰＵ２３はデューティ制限中に、３つの発熱制限モードのうちどのモードにあるかを判別する発熱制限モードフラグを備え、このフラグの値を見ることで現在の発熱制限モードを認知する。
【０１１１】
図１１（ｂ）に示すように、１パス毎に休止時間Ｔwaitの休止が入ると、単位時間Ｔbox （６０秒）当たりの発熱量Ｑsigma が小さくなる（つまり６０秒間の実効電流値Ｉrms が小さくなる）。従って、デューティ制限中は、最新の１分間の発熱温度ΔＴnew が小さくなり、ΔＴsum ＝Ｋ・ΔＴsum ＋ΔＴnew より、総発熱温度ΔＴsum が時間の経過とともに小さく変化する。この最新の発熱温度ΔＴnew が休止時間Ｔwaitが長いほど小さくなるので、ＣＲモータ６の温度上昇の程度に応じて３段階の休止時間Ｔwaitを設定することにより、モータ温度を確実に安全な目標温度にまで降下させられるようにしている。
ここで、発熱温度ΔＴsum は、Ｋａ・Ｑsigma として算出される。このＫａは定数なので、 ΔＴsum の計算よりくくり出すことができる。各閾値（温度値）をＫａで除算することにより、各閾値ΔＴ１，ΔＴ２，ΔＴ３，ΔＴstd を設定することもできる。
【０１１２】
以下、発熱制限制御ルーチンについて図１８，図１９に従って説明する。
ステップ（以下、単に「Ｓ」と記す）１１０では、デューティ制限中であるか否かを判断する。デューティ制限中であればＳ１２０に進み、デューティ制限中でなければＳ１３０に進む。
【０１１３】
Ｓ１２０では、休止時間テーブルＷ１から休止時間Ｔ１waitYVを読み出す。休止時間テーブルＷ１を参照し、今回のパスの移動速度Ｖと移動距離Ｙを基に休止時間Ｔ１waitYVを求める。
【０１１４】
Ｓ１３０では、単位発熱量参照テーブルＱＴから１パス発熱量ＱpassYVを読み出す。すなわち、今回のパスの移動速度Ｖと移動距離Ｙを基に単位発熱量参照テーブルＱＴを参照して１パス発熱量ＱpassYV（＝Ｉpass2 ＊ｔ）を求める（Ｉpass：１パス当たりの実効電流値）。
【０１１５】
Ｓ１４０では、前回までの積算値Ｑsigma に今回の１パス発熱量ＱpassYVを加えて今回の積算値Ｑsigma を求める（Ｑsigma ＝Ｑsigma ＋ＱpassYV）。Ｑsigma は、式(1) における√内の値の積算値に相当する値である。
【０１１６】
Ｓ１５０では、前回の発熱判定時から単位時間Ｔbox （＝６０秒）が経過したか否かを判断する。単位時間Ｔbox を経過していないときは当該ルーチンを終了し、単位時間Ｔbox を経過したときは次のＳ１６０に進む。
【０１１７】
Ｓ１６０では、ΔＴnew ＝Ｋａ・Ｑsigma を計算する。すなわち、単位時間Ｔbox の発熱量Ｑsigma を上昇温度ΔＴnew に換算する。
Ｓ１７０では、ΔＴsum ＝ΔＴsum ＋ΔＴnew   を求める。すなわち、今回の単位時間当たりの上昇温度ΔＴnew を前回までの温度積算値に加えて、今回までの温度積算値ΔＴsum を求める。
【０１１８】
Ｓ１８０では、発熱値の１バイト化処理を行う。発熱値は１バイトで記憶されるので、ΔＴsum を１バイトで記憶できる値に換算する。すなわち、
ΔＴsum ＝ΔＴsum ／ＥＥdiv とする。ここで、ＥＥdiv は１バイト化係数（定数）である。
【０１１９】
Ｓ１９０では、デューティ制限中（発熱制限中）であるか否かを判断する。デューティ制限中でなければＳ２００に進み、デューティ制限中であればＳ２３０に進む。Ｓ２３０はデューティ制限中の処理でありこれは後述する。
【０１２０】
Ｓ２００では、ΔＴsum ＞ΔＴ１であるか否かを判断する。これが成立すればＳ２１０に進み、不成立であればＳ３００に進む。
Ｓ２１０では、ΔＴsum がΔＴ１を超えたので、発熱デューティ制限を開始する。このとき第１発熱制限モードフラグをオンにする。
【０１２１】
Ｓ２２０では、第１発熱制限モードの休止時間Ｔ１waitを設定する。
デューティ制限中のときはＳ２３０に進むが、このＳ２３０では、ΔＴsum ＜ΔＴstd が成立したか否かを判断する。これが成立したときはＳ２４０に進んで、発熱デューティ制限を解除する。一方、ΔＴsum ＜ΔＴstopが不成立であるときはＳ２５０に進む。
【０１２２】
Ｓ２５０では、ΔＴsum ＞ΔＴ２が成立したか否かを判断する。ΔＴsum ＞ΔＴ２が成立したときはＳ２６０に進み、これが不成立のときはＳ３００に進む。Ｓ２６０では、ΔＴsum ＞ΔＴ３が成立したか否かを判断する。ΔＴsum ＞ΔＴ３が不成立であるときはＳ２７０に進み、これが成立したときはＳ２８０に進む。
【０１２３】
Ｓ２７０では、第３発熱制限モード中（休止時間Ｔ３wait設定中）であるか否かを判断する。第３発熱制限モード中であるときにはＳ２８０に進み、それ以外のときはＳ２９０に進む。
【０１２４】
Ｓ２８０では、第３発熱制限モードの休止時間Ｔ３waitに切替える。つまりΔＴsum ＞ΔＴ３が成立したときには第３発熱制限モードへ移行し、休止時間がＴ３waitに切替えられる。
【０１２５】
Ｓ２９０では、第２発熱制限モードの休止時間Ｔ２waitに切替える。
Ｓ３００では、キャリッジ移動回数（パス数）Ｎcrが設定回数Ｎo 以上であるか否かを判断する。Ｎcr≧Ｎo が成立すればＳ３１０に進み、この条件が不成立あればＳ３２０に進む。
【０１２６】
Ｓ３１０では、第１放熱係数を使用する。つまり発熱系の放熱係数Ｋが使用されるように、放熱係数Ｋを決める時定数として発熱時定数Ｔ１sinkを設定する。発熱時定数Ｔ１sinkは、キャリッジが動作しているときの発熱系の時定数である。
【０１２７】
Ｓ３２０では、第２放熱係数を使用する。つまり放熱系の放熱係数Ｋが使用されるように、放熱係数Ｋを決める時定数として放熱時定数Ｔ２sinkを設定する。放熱時定数Ｔ２sinkは、キャリッジが停止しているときの放熱系の時定数である。
【０１２８】
Ｓ３３０では、ΔＴsum ＝Ｋ・ΔＴsum   を計算する。ここでは次回の処理のときに前回の総発熱温度として使用される１分後の総発熱温度ΔＴsum を予め求めておく。つまり、次回の処理におけるＳ１７０で、ΔＴsum ＝ΔＴsum ＋ΔＴnew の右辺で使用されるΔＴsum を予め求めておく。このとき、発熱系のときには放熱係数Ｋ＝exp （−６０／Ｔ１sink）が使用され、放熱系のときには放熱係数Ｋ＝exp （−６０／Ｔ２sink）が使用される。
【０１２９】
以上詳述したように本実施形態によれば、以下に示す効果が得られる。
（１）ＣＲモータ６の発熱温度ΔＴsum を時間経過による放熱を考慮しながら推定し、発熱温度ΔＴsum が閾値ΔＴ１を超えたときにＣＲモータ６に休止を入れるので、必要なときにだけ休止が入ることになって休止回数を少なくできる。この結果、ＣＲモータ６を過大な発熱から確実に保護できるうえ、キャリッジ５の休止を短くできることから印刷のスループットを向上させることができる。
【０１３０】
（２）定速域の電流値ＩFukaと、加減速域の電流値ＩBaseとに分け、加減速域の電流値ＩBaseを固定値としてＲＯＭ２５に記憶しておくとともに、定速域の電流値ＩFukaを実測する方式を採用した。このため、定速域の電流値ＩFukaのみを実測するだけで１パス当たりの単位発熱量Ｑpassを簡単な処理で求めることができる。
【０１３１】
（３）定速域の電流値ＩFukaをプリンタ電源投入時のメジャメント処理で実測し、ＲＯＭ２５に予め記憶したテーブルＩＴ，ＰＴのデータＩBase，ｔpassを用いて、予め単位発熱量参照テーブルＱＴを作成しておく。そして、実際の印刷動作中は、移動速度Ｖと移動距離ＹからテーブルＱＴを参照して１パス当たりの単位発熱量ＱpassＱを求める方法を採用したので、印刷動作中は電流実測処理や計算処理の必要がなく、テーブルＱＴの参照処理のみによって１パス当たりの単位発熱量Ｑpassを簡単に求めることができる。従って、ＣＰＵ２３の負担を軽減できる。
【０１３２】
（４）１パス毎の発熱量Ｑpassを単位時間Ｔbox （１分）の間積算して得られる単位時間当たりの発熱量（積算値）Ｑsigma を、単位時間毎に放熱を考慮しながら積算して現在の総発熱温度ΔＴsum を求める方法を採用した。従って、毎パスごとに発熱温度を算出する方式に比べ、ＣＰＵ２３の負担を軽減できる。また、一定の単位時間Ｔbox 毎に発熱量Ｑsigma を積算処理するので、系が同じであれば毎回同じ放熱係数Ｋ（Ｋ＝exp （−Ｔbox ／Ｔsink））を使用できる。よって、ΔＴsum を求めるための積算処理が簡単で済む。
【０１３３】
（５）発熱温度ΔＴsum （熱量Ｑsigma ）の時間経過による自然放熱を考慮する場合に、発熱しながら放熱する発熱系か、発熱をほとんど伴わずに放熱する放熱系かを判別し、その系に適した放熱係数Ｋを採用するようにした。従って、系に適した放熱係数Ｋを採用することにより、発熱温度ΔＴsum を実際の発熱温度に近い値として算出でき、発熱温度の推定精度を高めることができる。
【０１３４】
（６）キャリッジ移動回数Ｎcrが設定回数Ｎo 以上であるか否かを判断して、放熱係数Ｋを決める系を判定する方法を採用したので、放熱係数Ｋを決める系の判定を簡単に行うことができる。例えば温度変化を監視して系を判定する方法に比べ、ＣＰＵ２３の負担軽減を図ることができる。
【０１３５】
（７）発熱温度ΔＴsum が閾値を超えると休止を入れる閾値を、複数（本例では３つ）設定した。よって、発熱温度ΔＴsum が閾値を超えて発熱制限をかけるときの休止時間を閾値に応じて段階的に設定することができるので、その発熱温度ΔＴsum にとってなるべく短い休止時間Ｔwaitを設定することができる。この結果、休止時間Ｔwaitをなるべく短くすることができ、ひいては印刷のスループットを効果的に向上させることができる。
【０１３６】
（８）発熱温度ΔＴsum が第１閾値ΔＴ１を超えたときに設定される第１休止時間Ｔ１waitYVは、発熱制限をかけつつキャリッジ５を休止させてもユーザが不快に感じない短い時間（例えば0.5 秒以内）に設定されている。この結果、１パス毎にキャリッジ５を休止させても、ユーザはほとんど不快を感じない。
【０１３７】
（９）発熱温度ΔＴsum が第２閾値ΔＴ２を超えたときに設定される第２休止時間Ｔ２waitYVは、ＣＲモータ６にかかる負荷が最大でＣＲモータ６に最大モータ電流Ｉma x  （例えばＩmax ＝0.8 Ａ）が印加されても、発熱温度ΔＴsum （モータ温度）が安全な温度まで下がってくる時間に設定されている。従って、ＣＲモータ６に最大モータ電流Ｉmax （例えば0.8 Ａ）が印加されても、第２発熱制限モードによって発熱温度ΔＴsum を目標温度まで下げることができる。
【０１３８】
（１０）休止時間テーブルＷ１，Ｗ２を用意し、安全な目標温度に落とすことが可能な同じ実効電流値Ｉrms になるように、移動距離Ｙと移動速度Ｖに応じて休止時間Ｔ１waitYV，Ｔ２waitYVを設定した。つまり、全てのＹ、Ｖにおいて発熱制限の程度が同じになるように休止時間Ｔ１waitYV，Ｔ２waitYVを設定した。よって、Ｙ、Ｖの組合せの違うパス毎に、安全な目標温度に落とすのにほぼ必要最小限の休止時間を設定できることから、印刷のスループットを効果的に向上させることができる。
【０１３９】
（１１）発熱温度ΔＴsum が第３閾値ΔＴ３を超えたときに設定される第３休止時間Ｔ３waitは、ＤＣユニット２９が想定している設計上の供給最大電流ＩDCmax （例えばＩDCmax ＝1.2 Ａ）がＣＲモータ６に印加されても、発熱温度ΔＴsu m  （モータ温度）が安全な目標温度まで下がってくる値に設定されている。従って、ＣＲモータ６に供給最大電流ＩDCmax が印加されても、発熱温度ΔＴsum を目標温度まで下げることができる。
【０１４０】
（１２）発熱制限（デューティ制限）が一旦かかると、発熱温度ΔＴsum が解除閾値ΔＴstd に降下するまでは、発熱制限は解除されない。従って、発熱温度ΔＴsum を速やかにしかも確実に安全な目標温度まで下降させることができる。
【０１４１】
（１３）発熱温度ΔＴsum が解除閾値ΔＴstd に降下するまで発熱制限を解除させないばかりか、第２発熱制限モードや第３発熱制限モードからの温度降下であれば、温度降下し始めたときの発熱制限モードで設定された長めの休止時間Ｔwaitを解除閾値ΔＴstd に達するまでそのまま維持する。従って、発熱温度ΔＴsum を一層速やかにしかも一層確実に安全な目標温度まで下降させることができる。
【０１４２】
なお、実施の形態は、上記に限定されず次の変形例でも実施できる。
（変形例１）  印刷動作中の１パス毎に電流値を実測するメジャメント処理を行い、実測電流値を基に１パス当たりの単位発熱量Ｑpassを計算する方式を採用することもできる。
【０１４３】
（変形例２）  プリンタが備えるＣＲモータ以外の他の電動モータの温度を前記温度推定方法により推定（算出）してもよい。電動モータとしては、例えば紙送りモータが挙げられる。
【０１４４】
（変形例３）前記実施形態では、１パス毎に休止を入れたが、複数パス毎に休止を入れても構わない。例えば２パス（１往復移動）毎、３パス、４パス、５パス毎、さらに１０パス毎でも構わない。また時間で管理して例えば１秒経過後の最初の１パス終了時のタイミングで休止を入れても構わない。この時間も１秒に限らず、２秒、３秒、…としてもよい。
【０１４５】
（変形例４）  前記実施形態では、モータ温度が閾値を超えるとモータの休止時間を設けることにしたが、モータの電力を小さく抑える電力調整を行う手段を設けてもよい。例えば印刷速度設定が高速モードであっても、モータ温度が閾値を超える場合には、低速モードに切替えて電力を小さく抑える制御を採用し、モータの発熱を小さく抑える制御内容の採用も可能である。
【０１４６】
（変形例５）  前記実施形態では、モータの発熱温度が閾値を超えるとモータの駆動の合間に休止時間を設けることにしたが、発熱温度が閾値を超えると、モータへの電力の供給を遮断する電力遮断手段を設けることも可能である。この場合、第３閾値より高温側に第４閾値を設け、第４閾値を超えたときにはモータへの電流供給を遮断してキャリッジを非常停止する。この方法によれば、第３閾値を超えた場合でも特に緊急異常時には、速やかにモータ温度を低下させることができ、モータの巻線等の温度疲労をなるべく最小限に抑えることができる。
【０１４７】
（変形例６）  前記実施形態では、発熱制限（デューティ制限）が一旦かかると、温度降下し始めたときの発熱制限モードで設定された長めの休止時間Ｔwaitを、発熱温度ΔＴsum が解除閾値ΔＴstd に達するまで維持する方式を採用した。これに対し、発熱温度ΔＴsum が降下して閾値ΔＴ３またはΔＴ２以下になればその時点で休止時間を１段下の値に切り替える方式を採用することもできる。
【０１４８】
（変形例７）  放熱係数Ｋを決める時定数は、発熱系と放熱系の２通りに分けたが、さらに複数（３つ以上）の時定数を用意するようにしても構わない。例えば単位時間当たりのキャリッジ移動回数に応じて３段階以上の時定数を決める方法を採用しても構わない。また、放熱係数Ｋを決める判断は、キャリッジ移動回数に限定されない。例えば温度変化を監視するようにして系を判定し、その系に適した放熱係数Ｋを採用する方法も可能である。
【０１４９】
（変形例８）  発熱量を求める単位時間は一定時間であることに限定されない。例えば単位時間をパス数で規定し、一定パス数の所要時間を単位時間として設定することもできる。この場合、単位時間は不規則になるが、タイマで計時しておけばその時間は知ることができるので、単位時間当たりの発熱量は知ることができる。つまり、放熱係数Ｋは時間の関数であるため時間さえ分かれば放熱も正しく計算することはできる。
【０１５０】
（変形例９）  単位時間は１分に限定されない。１０秒、２０秒、３０秒、２分、５分、１０分などを設定することもできる。単位時間は、特に１０秒〜５分の間が好ましい。発熱温度は時間に対して変化が比較的鈍いので、１０秒未満であると発熱判定の演算負担が増し、５分を超えると発熱制限をかけるのが遅れる虞がある。
【０１５１】
（変形例１０）  電動モータの放熱は自然放熱に限定されない。例えばＣＲモータ６を冷却する冷却ファンを備えた構成とし、ファン冷却による放熱を考慮して補正演算（放熱演算）を行う方法を採用することもできる。
【０１５２】
（変形例１１）  キャリッジの反転時に休止を入れる方法に限定されない。プリンタのキャリッジでは定速印字をするため反転時に休止を入れる必要があるが、例えば片道印刷方式のプリンタでは、キャリッジの印刷しない戻りパス途中で休止を入れても構わない。
【０１５３】
（変形例１２）  前記実施形態では、放熱を考慮した発熱量の算出は、複数パス含む単位時間Ｔbox 毎としたが、例えば１パス毎に発熱量計算を行っても構わない。また１パス毎に発熱判断を行っても構わない。但し、この場合、発熱量を積算する時間間隔が不規則になるので、放熱係数はその不規則な時間間隔に応じて可変となる。
【０１５４】
（変形例１３）消費電流と駆動時間とに基づいて求めるのは発熱量に限定されない。発熱量に関する値であれば足りる。ここで、発熱量に関する値とは、例えば発熱量Ｑ（Ｊ）を定数で除した値であり、その値そのものが発熱量に比例すれば足りる。単位は熱量（Ｊ）を表さなくても構わない。また、蓄熱量についても同様で、蓄熱量に関する値（蓄熱量に比例や略比例する値）であればよい。さらに発熱温度についても同様で、発熱温度に関する値（発熱温度に比例や略比例する値）であればよい。
【０１５５】
（変形例１４）電動モータの発熱温度が所定の温度閾値を超えたら休止させるために発熱温度が所定の温度閾値を超えたかどうかを判定する判定値は、蓄熱量に関する値、発熱量の放熱を考慮して補正演算された積算値、発熱温度推定値など発熱温度に比例又は略比例する値であれば足りる。発熱温度が温度の閾値を超えたことは判定値に応じた閾値を設定することで判定値と閾値との比較から判定できる。なお、上記蓄熱量に関する値、上記積算値、上記発熱温度推定値は、互いに比例関係にあり、いずれを用いてもそれぞれに対応する閾値を設定することにより、電動モータの発熱温度が所定の温度閾値を超えたかどうかをほぼ正確に判定できる。もちろん上記以外の判定値を採用することもできる。
【０１５６】
（変形例１５）  印刷動作中の１パス毎に電流値を実測するメジャメント処理を行い、実測電流値を基に１パス当たりの単位発熱量Ｑpassを計算する方式を採用することもできる。
【０１５７】
（変形例１６）１パス当たりの実効電流値の求め方は、定速域の電流値（負荷電流値）とイナーシャ分の電流値（イナーシャ電流値）を分けて取得する方法に限定されない。キャリッジの１パス移動中全域において電流値をサンプリングし、実効電流値の計算式を用いて１パス当たりの実効電流値を求める方法を採用することもできる。
【０１５８】
（変形例１７）  前記実施形態のように電動モータが電圧制御の場合、１駆動当たりの実効電圧値を前記実施形態と同様の手法で求めることもできる。実効電流値が必要な場合も、実効電圧値から実効電流値は求められる。
【０１５９】
（変形例１８）  電動モータは、ＣＲモータに限定されない。例えば紙送りモータに適用してもよい。また、記録装置は、インクジェット式プリンタに限定されるものではなく、バブルジェット式プリンタ、ドットインパクト式プリンタ、レーザープリンタなどに適用することもできる。
【０１６０】
（変形例１９）  記録装置は画像記録装置に限定されない。例えば液晶ディスプレイ、ＦＥＤ（面発光ディスプレイ）、等の電極形成に用いられる電極材（導電ペースト）噴射ヘッド、バイオchip製造に用いられる生体有機物噴射ヘッド、精密ピペットとしての試料噴射ヘッド等を備えた産業用途の記録装置（液体噴射装置）に適用することもできる。
【０１６１】
前記実施形態及び変形例から把握される技術的思想を、以下に記載する。
（１）給電手段から供給される電力を基に駆動される電動モータを備えた記録装置におけるモータ制御方法において、前記電動モータの消費電流と駆動時間に基づき発熱量に関する値を求める段階と、前記発熱量の積算値を時間経過による放熱を考慮した補正演算を伴って求める段階と、前記積算値が所定の閾値を超えたときに、前記電動モータをその駆動の合間に休止させるように制御する段階とを備えたことを特徴とする記録装置におけるモータ制御方法。
【０１６２】
（２）請求項１の発明において、前記電動モータは、移動体を加減速域と定速域とが設定された速度設定で１駆動移動させるように速度制御され、前記電動モータの１駆動当たりの消費電流値を、前記移動体を移動させるときに該電動モータにかかる負荷に依存する負荷電流値と、前記移動体を加減速させるときのイナーシャ分に相当する固定電流値とに分け、予め求めた前記固定電流値をメモリに記憶しておき、前記定速域の電流を実測して電流実測値を得る段階と、前記定速域の電流実測値に基づき決まる負荷電流値と、前記メモリに記憶されたイナーシャ電流値とを用いて１駆動当たりの消費電流値を求める段階とを備えたことを特徴とする記録装置におけるモータ制御方法。
（３）給電手段から供給される電力を基に駆動される電動モータを備えた記録装置におけるモータ制御方法において、前記電動モータの消費電流と駆動時間に基づき発熱量を求める段階と、前記発熱量の積算値を求める段階と、自然放熱を考慮して前記積算値を補正する段階と、前記補正後の積算値が所定の閾値を超えたときに、前記電動モータをその駆動の合間に休止させるように制御する段階とを備えたことを特徴とする記録装置におけるモータ制御方法。
【０１６３】
（４）給電手段から供給される電力を基に駆動される電動モータを備えた記録装置におけるモータ制御装置において、前記電動モータの消費電流と駆動時間に基づき発熱量を求める発熱量取得手段と、前記発熱量の積算値を求める積算手段と、自然放熱を考慮して前記積算値を補正する補正手段と、前記補正後の積算値が所定の閾値を超えたときに、前記電動モータをその駆動の合間に休止させるように制御する休止制御手段とを備えたことを特徴とする記録装置におけるモータ制御装置。
【０１６４】
（５）給電手段から供給される電力を基に駆動される電動モータを備え、印刷用のキャリッジが前記電動モータの駆動により往復動する記録装置において、前記電動モータの消費電流と駆動時間に基づきキャリッジの１パス毎の発熱量を求め、該発熱量を逐次積算して単位時間当たりの発熱量を求め、該発熱量を時間経過による放熱を考慮して逐次積算して得た積算値を基に前記電動モータの発熱温度を推定することを特徴とする記録装置におけるモータ温度推定方法。
【０１６５】
（６）給電手段から供給される電力を基に駆動される電動モータを備え、記録ヘッドを有するキャリッジが前記電動モータの駆動により主走査方向に往復移動することにより前記記録ヘッドによる記録媒体への記録が行われるシリアル式の記録装置において、前記電動モータの消費電流と駆動時間に基づき前記キャリッジの１パス単位の単位発熱量を求め、該単位発熱量を逐次積算して単位時間当たりの発熱量を求め、該単位時間当たりの発熱量を時間経過による放熱を考慮した補正演算を伴って逐次積算して得た積算値が所定の閾値を超えたら電動モータの発熱異常と判定することを特徴とする記録装置におけるモータ温度異常検出方法。
【０１６６】
（７）給電手段から供給される電力を基に駆動される電動モータを備え、記録ヘッドを有するキャリッジが前記電動モータの駆動により主走査方向に往復移動することにより前記記録ヘッドによる記録媒体への記録が行われるシリアル式の記録装置において、前記キャリッジを主走査方向に往復移動させるために駆動される電動モータと、前記電動モータの消費電流と駆動時間に基づきキャリッジの１パス単位の単位発熱量を求め、該単位発熱量を逐次積算して単位時間当たりの発熱量を求め、該単位時間当たりの発熱量を時間経過による放熱を考慮した補正演算を伴って逐次積算して得た積算値が所定の閾値を超えたら、前記キャリッジのパスとパスの合間に休止時間をもたせるように前記電動モータを制御することを特徴とする記録装置におけるモータ制御方法。
【０１６７】
（８）請求項７〜１８のいずれか一項に記載の記録装置において、単位時間経過時に１パス途中にあるパスについては次の単位時間の発熱量の積算に加えることを特徴とする。
【０１６８】
（９）請求項７〜１８のいずれか一項に記載の記録装置において、前記単位時間は、１０秒〜５分の間である。１０秒以上であるので、発熱判定のためのＣＰＵ等の手段の負担を軽減でき、また５分以内であるので電動モータの発熱制限が遅れる虞があまりない。
【０１６９】
（１０）請求項１２，１３，１５〜１８のいずれか一項において、前記温度推定手段により推定された発熱温度が所定の閾値を超えると、前記電動モータの消費電力を小さく抑える電力調整手段を備えた。
【０１７０】
（１１）請求項１２，１３，１５〜１８のいずれか一項において、前記温度推定手段により推定された発熱温度が所定の閾値を超えると、電動モータへの電力の供給を遮断する電力遮断手段を備えた。
【０１７１】
（１２）請求項７〜１８、前記（１）〜（１１）の技術的思想のいずれか一つにおいて、前記単位時間は一定時間である。
（１３）コンピュータに、請求項２〜１８のいずれか一項に記載の記録装置における前記各手段として機能させることを特徴とするプログラム。
【０１７２】
【発明の効果】
以上詳述したように請求項１〜１１、１５〜１８に記載の発明によれば、電動モータの消費電流と駆動時間とに基づき求めた発熱量を時間経過による放熱を考慮して積算した積算値を基に電動モータの発熱を比較的正確に推定できることから、電動モータの不要な休止を減らすことができるので、記録装置のスループットを向上させることができる。
【０１７３】
請求項１２、１３、１５〜１８に記載の発明によれば、温度センサを使わず、電動モータの発熱温度を時間経過による放熱を考慮して比較的正確に推定することができる。
【０１７４】
請求項１４〜１８に記載の発明によれば、温度センサを使わず、電動モータの発熱温度を時間経過による放熱を考慮して比較的正確に推定でき、電動モータの発熱異常を比較的正確に判定することができる。
【図面の簡単な説明】
【図１】一実施形態におけるプリンタシステムの電気的構成を示すブロック図。
【図２】印刷装置の要部斜視図。
【図３】ＤＣユニットの電気的構成を示すブロック図。
【図４】（ａ）モータ電流値と（ｂ）キャリッジ速度のグラフ。
【図５】モータ電流のグラフであり、（ａ）は低負荷時、（ｂ）は高負荷時である。
【図６】ＣＲモータの負荷電流と加減速電流とを説明するグラフ。
【図７】基準実効電流テーブルＩＴを示すテーブル図。
【図８】ＣＲ１パス時間テーブルＰＴを示すテーブル図。
【図９】単位発熱量参照テーブルＱＴを示すテーブル図。
【図１０】メジャメント処理のフローチャート。
【図１１】単位時間当たりのモータ電流と単位発熱量の関係を示すグラフであり、（ａ）は休止なし、（ｂ）は休止ありをそれぞれ示す。
【図１２】時間経過による放熱を考慮した発熱温度を求めるための積算手順を説明するグラフ。
【図１３】発熱系の放熱温度曲線を示すグラフ。
【図１４】放熱系の放熱温度曲線を示すグラフ。
【図１５】発熱制限処理を説明するグラフ。
【図１６】休止時間テーブルＷ１を示すテーブル図。
【図１７】休止時間テーブルＷ２を示すテーブル図。
【図１８】発熱制限処理のフローチャート。
【図１９】同じくフローチャート。
【符号の説明】
１…記録装置としてのインクジェット式記録装置（プリンタ）、５…移動体としてのキャリッジ、６…電動モータとしてのキャリッジモータ（ＤＣモータ）、８…記録媒体としての用紙、９…記録ヘッドとしての印刷ヘッド、２３…単位発熱量取得手段、発熱量取得手段、蓄熱量取得手段、発熱温度推定手段、休止制御手段、電流実測手段、演算手段、積算手段、判定手段を構成するＣＰＵ、２７…メモリとしてのＥＥＰＲＯＭ、２８…発熱量取得手段を構成するタイマＩＣ、２９…給電手段および休止制御手段を構成するＤＣユニット、３０…休止制御手段を構成するキャリッジモータドライバ  、Ｋ…放熱係数、Ｑｐａｓｓ…発熱量、Ｑｓｉｇｍａ…積算値、Ｔ１wait，Ｔ２wait，Ｔ３wait…休止時間、ΔＴ１，ΔＴ２，ΔＴ３…所定の閾値。
【図１】
0004396089.tif 000002
【図２】
0004396089.tif 000003
【図３】
0004396089.tif 000004
【図４】
0004396089.tif 000005
【図５】
0004396089.tif 000006
【図６】
0004396089.tif 000007
【図７】
0004396089.tif 000008
【図８】
0004396089.tif 000009
【図９】
0004396089.tif 000010
【図１０】
0004396089.tif 000011
【図１１】
0004396089.tif 000012
【図１２】
0004396089.tif 000013
【図１３】
0004396089.tif 000014
【図１４】
0004396089.tif 000015
【図１５】
0004396089.tif 000016
【図１６】
0004396089.tif 000017
【図１７】
0004396089.tif 000018
【図１８】
0004396089.tif 000019
【図１９】
0004396089.tif 000020