JP4396089B2 - 記録装置におけるモータ制御方法及び記録装置 - Google Patents
記録装置におけるモータ制御方法及び記録装置 Download PDFInfo
- Publication number
- JP4396089B2 JP4396089B2 JP2002256223A JP2002256223A JP4396089B2 JP 4396089 B2 JP4396089 B2 JP 4396089B2 JP 2002256223 A JP2002256223 A JP 2002256223A JP 2002256223 A JP2002256223 A JP 2002256223A JP 4396089 B2 JP4396089 B2 JP 4396089B2
- Authority
- JP
- Japan
- Prior art keywords
- value
- drive
- heat generation
- electric motor
- time
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Accessory Devices And Overall Control Thereof (AREA)
- Character Spaces And Line Spaces In Printers (AREA)
- Control Of Electric Motors In General (AREA)
Description
【発明の属する技術分野】
本発明は、プリンタなどの記録装置において、温度センサを使わずに電動モータの発熱を正確に推定し、推定した発熱情報を基に電動モータの発熱を制限する制御を行う記録装置におけるモータ制御方法及び記録装置に関するものである。
【0002】
【従来の技術】
従来、例えばシリアルプリンタでは、印刷ヘッドを備えたキャリッジが主走査方向(紙送り方向と直交する方向)に走行することで紙などの印刷媒体に印刷が行われる。キャリッジはプリンタに設けられたキャリッジモータにより走行駆動される。キャリッジモータには例えばDCモータなどの電動モータが使用される。
【0003】
ところで、キャリッジモータなどの電動モータは、駆動されるときの消費電力に応じて発熱する。電動モータが規格温度で使用されるように設計されるため、通常の印刷動作においては規格温度以下で使用される。
【0004】
しかし、電動モータが高速駆動されたりキャリッジ移動時の過大な摺動抵抗などが原因で、電動モータに過度の負荷がかかった場合、電動モータの温度が規格温度を超えることが起こり得る。この場合、電動モータが熱で故障しないように、所定時間の休止を入れる発熱制限制御を行うものが知られている。
【0005】
通常、温度センサを使用してモータ温度を検出し、モータ温度が規格温度を超えると、所定時間の休止を入れることで発熱を制限する発熱制限制御を行うことが考えられる。
【0006】
【発明が解決しようとする課題】
しかし、温度センサを使用すると部品点数が増加して製造コストの上昇を招くという問題があった。
【0007】
本発明は上記課題を解決するためになされたものであって、その第1の目的は、温度センサを使わず、電動モータの発熱温度を時間経過による放熱を考慮して比較的正確にかつ簡単な処理で推定でき、電動モータの発熱を制限する制御を好適に行うことができる記録装置におけるモータ制御方法及び記録装置を提供することにある。
【0008】
第2の目的は、第1の目的を達成するうえにおいて、放熱を考慮して電動モータの発熱温度を比較的正確にかつ簡単な処理で推定できることから、電動モータの無駄な休止を減らし、記録装置のスループットの向上を図ることを可能にすることにある。
【0010】
【課題を解決するための手段】
上記第1および第2の目的を達成するために請求項1に記載の発明は、給電手段から供給される電力を基に駆動される電動モータを備えた記録装置におけるモータ制御方法において、前記電動モータの駆動速度と駆動量との異なる組合せ毎に前記電動モータの1駆動当たりの発熱量に関する値が対応付けられた発熱量参照データと、閾値に対応して設けられるとともに対応する閾値が高いほど休止時間が長く設定されかつ対応する閾値が同じであっても前記駆動速度及び前記駆動量の異なる組合せ毎に前記電動モータの休止期間を含む1駆動当たりの実効電流値がほぼ同じになるように可変の当該休止時間が対応付けられた休止時間参照データとを記憶するメモリを備え、与えられた記録データから決まる駆動速度及び駆動量の情報に基づき前記電動モータを制御して当該電動モータを加速域と定速域と減速域とを有する速度プロファイルで定速域において前記駆動速度となるように1駆動毎に可変の前記駆動量で1駆動させる段階と、前記電動モータの1駆動を終える度に当該1駆動の制御に用いた前記駆動速度及び駆動量の情報から前記発熱量参照データを参照して前記電動モータの1駆動当たりの発熱量に関する値を逐次取得する段階と、前記発熱量に関する値を用いて放熱を考慮して前記電動モータの蓄熱量に関する値を逐次求める段階と、前記蓄熱量に関する値が所定の閾値を超えたか否かを判断し、当該閾値を超えた場合は、前記電動モータの1駆動を終える度に、閾値が高いほど長い値に設定された休止時間のうちその超えた閾値に応じた休止時間を取得するとともに、該休止時間の取得に際して当該1駆動の制御に用いた前記駆動速度及び前記駆動量の情報を基にその超えた閾値と対応する前記休止時間参照データを参照して前記電動モータの休止期間を含む1駆動当たりの実効電流値がほぼ同じになる休止時間を取得し、前記電動モータを当該1駆動を終えてから次の1駆動を開始するまでの間に前記取得した休止時間の休止を入れるように制御する段階とを備えたことを要旨とする。
【0011】
この発明によれば、与えられた記録データから決まる駆動速度及び駆動量で電動モータを1駆動させる。駆動速度及び駆動量に基づきメモリの発熱量参照データを参照して電動モータの1駆動当たりの発熱量に関する値を逐次取得する。そして、発熱量に関する値を用いて放熱を考慮して電動モータの蓄熱量に関する値を逐次求める。そして、前記蓄熱量に関する値が所定の閾値を超えたか否かを判断する。当該閾値を超えた場合は、電動モータの1駆動を終える度に、閾値が高いほど長い値に設定された休止時間のうちその超えた閾値に応じた休止時間を取得するとともに、該休止時間の取得に際して当該1駆動の制御に用いた駆動速度及び駆動量の情報を基にその超えた閾値と対応する前記休止時間参照データを参照して、電動モータの休止期間を含む1駆動当たりの実効電流値がほぼ同じになる休止時間を取得する。電動モータを1駆動を終えてから次の1駆動を開始するまでの間にその取得した休止時間の休止を入れるように制御する。従って、温度センサを使わず、電動モータの発熱温度を時間経過による放熱を考慮して比較的正確にかつ簡単な処理で推定でき、電動モータの発熱を制限する制御を好適に行うことができる。そして、放熱を考慮して電動モータの発熱温度を比較的正確にかつ簡単な処理で推定できることから、電動モータの無駄な休止を減らし、記録装置のスループットの向上を図ることができる。また、電動モータの休止期間を含む1駆動当たりの実効電流値がほぼ同じになるように、電動モータの1駆動毎の駆動速度及び駆動量に応じた休止時間が設定されるので、電動モータの駆動速度及び駆動量が異なる駆動間でも電動モータの発熱の制限の程度がほぼ同じとなり、安定な発熱制限が可能になる。
【0012】
前記第1および第2の目的を達成するために請求項2に記載の発明は、給電手段から供給される電力を基に駆動される電動モータを備えた記録装置において、前記電動モータの駆動速度と駆動量との異なる組合せ毎に前記電動モータの1駆動当たりの発熱量に関する値が対応付けられている発熱量参照データと、閾値に対応して設けられるとともに対応する閾値が高いほど休止時間が長く設定されかつ対応する閾値が同じであっても前記駆動速度及び前記駆動量の異なる組合せ毎に前記電動モータの休止期間を含む1駆動当たりの実効電流値がほぼ同じになるように可変の当該休止時間が対応付けられた休止時間参照データとを記憶するメモリと、与えられた記録データから決まる1駆動毎の駆動速度及び駆動量の情報に基づき前記電動モータを制御して当該電動モータを加速域と定速域と減速域とを有する速度プロファイルで定速域において前記駆動速度となるように1駆動毎に可変の前記駆動量で1駆動ずつ駆動させる制御手段と、前記電動モータの1駆動を終える度に当該1駆動の制御に用いた前記駆動速度及び駆動量の情報から前記発熱量参照データを参照して前記電動モータの1駆動当たりの発熱量に関する値を逐次取得する発熱量取得手段と、前記発熱量に関する値を用いて放熱を考慮して前記電動モータの蓄熱量に関する値を逐次求める蓄熱量取得手段とを備え、前記制御手段は、前記蓄熱量に関する値が所定の閾値を超えたか否かを判断し、当該閾値を超えた場合は、前記電動モータの1駆動を終える度に、閾値が高いほど長い値に設定された休止時間のうちその超えた閾値に応じた休止時間を取得するとともに、該休止時間の取得に際して当該1駆動の制御に用いた前記駆動速度及び前記駆動量の情報を基にその超えた閾値と対応する前記休止時間参照データを参照して前記電動モータの休止期間を含む1駆動当たりの実効電流値がほぼ同じになる休止時間を取得し、前記電動モータを当該1駆動を終えてから次の1駆動を開始するまでの間に前記取得した休止時間の休止を入れるように制御することを要旨とする。
【0013】
この発明によれば、請求項1に記載の発明と同様の作用により、放熱が考慮された蓄熱量に関する値を基に電動モータの発熱温度が比較的正確にかつ簡単な処理で推定されることとなり、電動モータの不要な休止が減ることになる。
【0018】
前記第1および第2の目的を達成するために請求項3に記載の発明は、請求項2に記載の記録装置において、前記蓄熱量取得手段は、前記発熱量に関する値を放熱を考慮した補正演算を伴って積算し、該積算値に基づいて前記電動モータの前記蓄熱量に関する値として前記電動モータの発熱温度に関する値を推定する発熱温度推定手段であり、前記制御手段は、前記発熱温度に関する値が所定の閾値を超えると、前記電動モータを1駆動を終えてから次の1駆動を開始するまでの間に前記休止時間の休止を入れるように制御することを要旨とする。
【0019】
この発明によれば、電動モータの駆動速度と駆動量とに基づき発熱量に関する値が求められ、この発熱量に関する値が放熱を考慮した補正演算を伴って積算され、この積算値に基づいて電動モータの発熱温度に関する値が推定される。発熱温度に関する値が所定の閾値を超えると、電動モータはその駆動の合間に休止時間の休止を入れるように制御される。
【0022】
前記第1および第2の目的を達成するために請求項4に記載の発明は、請求項2又は3に記載の記録装置において、前記記録装置は、記録ヘッドを有するキャリッジが主走査方向に往復移動することにより前記記録ヘッドによる記録媒体への記録が行われるシリアル式の記録装置であって、前記電動モータは、前記キャリッジを主走査方向に往復移動させるために駆動される構成であり、前記蓄熱量取得手段は、前記発熱量取得手段が取得した前記1駆動当たりの発熱量を時間経過による放熱を考慮した補正演算を伴って逐次積算して積算値を得る構成であり、前記制御手段は、前記積算値が所定の閾値を超えたら、前記キャリッジの移動反転時に休止時間をもたせるように前記電動モータを制御することを要旨とする。
【0023】
この発明によれば、電動モータの駆動速度と駆動量に基づき1駆動当たりの発熱量が発熱量取得手段により取得される。蓄熱量取得手段は、1駆動当たりの発熱量を時間経過による放熱を考慮した補正演算を伴って逐次積算して積算値を得る。そして、該積算値が所定の閾値を超えたら、キャリッジの移動反転時に休止時間をもたせるように電動モータが制御手段により制御される。従って、シリアル式の記録装置において、時間経過による放熱が考慮された発熱量の積算値を基に電動モータの発熱が比較的正確に推定されることとなり、電動モータの不要な休止が減ることになる。
【0024】
前記第1および第2の目的を達成するために請求項5に記載の発明は、請求項2又は3に記載の記録装置において、前記記録装置は、記録ヘッドを有するキャリッジが主走査方向に往復移動することにより前記記録ヘッドによる記録媒体への記録が行われるシリアル式の記録装置であって、前記電動モータは、前記キャリッジを主走査方向に往復移動させるために駆動される構成であり、前記発熱量取得手段は、前記電動モータの1駆動当たりの発熱量を前記キャリッジの1パス単位の単位発熱量として取得し、取得した前記単位発熱量を逐次積算して単位時間当たりの発熱量を求める構成であり、前記蓄熱量取得手段は、前記単位時間当たりの発熱量を時間経過による放熱を考慮した補正演算を伴って逐次積算して積算値を得る構成であり、前記制御手段は、前記積算値が所定の閾値を超えたら、前記キャリッジのパスとパスの合間に休止時間をもたせるように前記電動モータを制御することを要旨とする。
【0025】
この発明によれば、電動モータの駆動速度と駆動量とに基づきキャリッジの1パス単位の単位発熱量が単位発熱量取得手段により求められる。さらに、単位発熱量を逐次積算して単位時間当たりの発熱量が発熱量取得手段により求められる。そして、蓄熱量取得手段は、単位時間当たりの発熱量を時間経過による放熱を考慮した補正演算を伴って逐次積算して積算値を得る。該積算値が所定の閾値を超えたら、キャリッジのパスとパスの合間に休止時間をもたせるように電動モータが制御手段により制御される。従って、シリアル式の記録装置において、時間経過による放熱が考慮された発熱量の積算値を基に電動モータの発熱が比較的正確に推定されることとなり、電動モータの不要な休止が減ることになる。
前記第1および第2の目的を達成するために請求項6に記載の発明では、請求項2〜5のいずれか一項に記載の記録装置において、前記記録装置の電源投入直後の初期化処理の1つとして、前記電動モータを1駆動させて定速域での電流値を測定するメジャメント処理を行い、当該メジャメント処理で得られた前記定速域での電流値を用いて1駆動当たりの実効電流値を駆動速度及び駆動量の異なる組合せ毎に求め、求めた当該1駆動当たりの実効電流値を用いて前記発熱量参照データを生成し、生成した前記発熱量参照データを前記メモリに記憶する参照データ生成手段をさらに備えたことを要旨とする。
この発明によれば、記録装置の電源投入直後の初期化処理の1つとして、電動モータを1駆動させて定速域での電流値を測定するメジャメント処理が行われる。参照データ生成手段は、メジャメント処理で得られた電流値を用いて、1駆動当たりの実効電流値を駆動速度及び駆動量の異なる組合せ毎に求める。さらに、求めた1駆動当たりの実効電流値を用いて発熱量参照データを生成し、生成した発熱量参照データをメモリに記憶する。
【0026】
前記第1および第2の目的を達成するために請求項7に記載の発明は、請求項2〜5のいずれか一項に記載の記録装置において、前記電動モータの1駆動当たりの実効電流値を、前記電動モータにかかる負荷に依存する負荷電流値と、前記電動モータを加減速させるときのイナーシャ分に相当する固定電流値とに分け、駆動速度及び駆動量の異なる組合せ毎の前記固定電流値を記憶するメモリと、前記定速域の電流を実測して電流実測値を得る電流実測手段と、前記定速域の電流実測値に基づいて決まる負荷電流値と、前記メモリに記憶された固定電流値とを用いて1駆動当たりの実効電流値を駆動速度及び駆動量の異なる組合せ毎に演算する演算手段と、前記1駆動当たりの実効電流値を用いて前記発熱量参照データを生成し、生成した前記発熱量参照データを前記メモリに記憶する参照データ生成手段とをさらに備えたことを要旨とする。
【0027】
この発明によれば、請求項2〜5のいずれか一項に記載の発明の作用に加え、電動モータは、加減速域と定速域とが設定された速度設定で1駆動するように速度制御される。電動モータの1駆動当たりの実効電流値は、電動モータにかかる負荷に依存する負荷電流値と、加減速過程でのイナーシャ分に相当する固定電流値とに分けられる。電流実測手段により定速域の電流が実測されて電流実測値が得られ、この定速域の電流実測値に基づいて負荷電流値が決まる。そして、この負荷電流値とメモリに記憶された固定電流値とを用いて1駆動当たりの実効電流値が演算手段により駆動速度及び駆動量の異なる組合せ毎に演算される。そして、参照データ生成手段は、1駆動当たりの実効電流値を用いて1駆動当たりの発熱量に関する値を、駆動速度及び駆動量の異なる組合せ毎に求めることで、発熱量参照データを生成し、生成した発熱量参照データをメモリに記憶する。
【0028】
請求項9に記載の発明では、請求項2〜8のいずれか一項に記載の記録装置において、前記制御手段は、前記電動モータの休止期間を含む1駆動当たりの実効電流値がほぼ同じになるように、前記電動モータの駆動速度及び駆動量に応じた休止時間を設定することを要旨とする。
【0029】
この発明によれば、請求項2〜8のいずれか一項に記載の発明の作用に加え、制御手段により、電動モータの休止期間を含む1駆動当たりの実効電流値がほぼ同じになるように、電動モータの駆動速度及び駆動量に応じた休止時間が設定される。従って、電動モータの駆動速度及び駆動量が異なる駆動間でも電動モータの発熱の制限の程度がほぼ同じとなり、安定な発熱制限が可能になる。
【0040】
請求項8に記載の発明では、請求項2〜7のいずれか一項に記載の記録装置において、前記放熱の系が、発熱を伴って放熱する発熱系か、発熱を伴わずに放熱する放熱系かを判定する判定手段をさらに備え、前記蓄熱量取得手段は、前記判定手段により判定された系に応じた放熱係数を選択して前記補正演算を行うことを要旨とする。
【0041】
この発明によれば、請求項2〜7のいずれか一項に記載の発明の作用に加え、判定手段は、放熱の系が、発熱を伴って放熱する発熱系か、発熱を伴わずに放熱する放熱系かを判定する。そして、蓄熱量取得手段は、判定手段により判定された系に応じた放熱係数を選択して補正演算が行われる。
【0042】
請求項9に記載の発明では、請求項8に記載の記録装置において、前記判定手段は、前記電動モータの単位時間当たりの駆動回数を計数し、当該単位時間当たりの駆動回数が、前記放熱の系を前記発熱系とみなしうる最低駆動回数である設定回数以上であるか否かを判断し、前記駆動回数が前記設定回数以上であれば前記発熱系と判定し、前記設定回数未満であれば前記放熱系と判定することを要旨とする。
【0043】
この発明によれば、請求項8の発明の作用に加え、判定手段は、電動モータの単位時間当たりの駆動回数を計数し、当該単位時間当たりの駆動回数が設定回数以上であるか否かを判断する。単位時間当たりの駆動回数が設定回数以上であれば発熱系と判定し、設定回数未満であれば放熱系と判定する。従って、放熱の系が発熱系であるか放熱系であるかを比較的簡単に判定することが可能となる。
【0046】
【発明の実施の形態】
以下、本発明をインクジェット式記録装置で具体化した一実施形態を図1〜図19に従って説明する。
【0047】
図2は、インクジェット式記録装置のケース内部の概略構成図である。
図2に示すように、記録装置(印刷装置)としてのインクジェット式印刷装置(以下、プリンタと称す)1は、ケース(図示省略)内にプリンタ本体2を備えている。プリンタ本体2には、レール(ガイドロッド)3に案内されてプラテン4の軸方向と平行な主走査方向に往復移動可能なキャリッジ5が設けられている。キャリッジ5は電動モータとしてのキャリッジモータ(以下CRモータと称す)6によってタイミングベルト7を介して駆動される。本実施形態では、CRモータ6としてDCモータが使用されている。
【0048】
キャリッジ5の下部には、記録媒体である用紙8と対向する下面側に記録ヘッドとしての印刷ヘッド9が配設されている。印刷ヘッド9には各インク色毎のノズル列(図示せず)が多数列形成されている。キャリッジ5の上部には印刷ヘッド9にインクを供給するインクカートリッジ10,11(ブラック用とカラー用の2種類)が着脱可能に装着されている。印刷ヘッド9に内蔵された圧電振動子の振動作用に基づき各ノズルからインク滴が吐出されて印刷が行われる。
【0049】
またプリンタ1には、キャリッジ5の走行速度を検出するためのリニアエンコーダ13が設けられている。リニアエンコーダ13は、樹脂製の被検出用テープ(符号テープ)14と、エンコーダ33(図1に示す)とからなる。テープ14は、キャリッジ5の背面側に主走査方向(キャリッジ走行方向)と平行に張られており、テープ14の主走査方向に一定ピッチで多数本形成されたスリット14aからの投光を、キャリッジ5と一体に移動するエンコーダ33が検出する。
【0050】
またプリンタ1には紙送りモータ15が設けられている。紙送りモータ15が駆動されると、プラテン4の紙送り方向前後(同図における矢印方向)に一対配列された2組の紙送りローラ(図示せず)が駆動されて用紙8が送られる。本実施形態では、紙送りモータ15としてステッピングモータが使用されている。
【0051】
図1は、プリンタにおける印刷駆動制御系の電気構成を示す。同図に示すように、ホストコンピュータ(例えばパーソナルコンピュータ)20は、通信ケーブル21を介してプリンタ1のインタフェイス22に接続されている。プリンタ1は、CPU23、ASIC(Application Specific IC(特定用途向けIC))24、ROM(PROM)25、RAM26、EEPROM27、タイマIC28、DCユニット29、キャリッジモータドライバ(CRモータドライバ)30、紙送りモータドライバ31およびヘッドドライバ32を備えている。CRモータ6および紙送りモータ15は、各モータドライバ30,31にそれぞれ接続されている。また印刷ヘッド9(詳しくはノズル毎の各圧電振動子)は、ヘッドドライバ32に接続されている。CPU23には、エンコーダ33およびホームセンサ、紙検出センサ(いずれも図示省略)などのセンサ類が接続されている。なお、CPU23、DCユニットおよびCRモータドライバ30により休止制御手段が構成される。またCPU23により単位発熱量取得手段が構成される。CPU23およびタイマICにより発熱量取得手段が構成される。
【0052】
ASIC24は、ホストコンピュータ20から受信した印刷データを印刷ヘッド9を制御するときに使用できるようにイメージ展開し、このイメージ展開後のデータを基にヘッドドライバ32を介して印刷ヘッド9を駆動制御する。RAM26は、各種制御のための演算結果を一時格納したり、印刷データおよびイメージ展開後のデータを一時格納するバッファとして機能する。
【0053】
DCユニット29は、交流を直流に変換するとともに、CPU23からの指令値に応じた直流を各モータドライバ30,31に供給する。CPU23はモータドライバ30,31を介してモータ6,15を電圧制御する。例えばDCモータであるCRモータ6を速度制御するときは、CPU23はCRモータドライバ30に制御信号を出力し、モータドライバ30によってその制御信号に応じてCRモータ6が制御され、例えばCRモータ6の正転・逆転が制御される。
【0054】
ROM25にはCPU23が実行する各種制御プログラムやプログラム実行時に用いられる各種設定データなどが記憶されており、その中に例えばCRモータ6を電流値制御するための速度制御用プログラムおよびその設定データが記憶されている。また、発熱制限制御のためのプログラムおよびその設定データが記憶されている。ここで、発熱制限制御とは、モータ温度がモータの規格温度を超えないようにその発熱を制限する制御である。このプログラムおよび設定データについては後述する。
【0055】
エンコーダ33は、投光器と一対の受光式センサを内蔵し、符号テープ14のスリット14aを通る投光を検出することにより、90度位相のずれたA相・B相の2つのパルス信号を出力する。
【0056】
図3は、DCユニット29の構成を示したブロック図である。
DCユニット29は、位置演算部41と、減算器42と、目標速度演算部43と、速度演算部44、減算器45と、比例要素46と、積分要素47と、微分要素48と、加算器49と、PWM回路50と、タイマ51と、加速制御部52とから構成されている。
【0057】
位置演算部41は、エンコーダ33の出力パルスのエッジを検出してその個数を計数し、この計数値に基づきキャリッジ5の位置を演算する。2つのパルス信号の比較処理から認知されるCRモータ6の正転・逆転に応じて、1個のエッジが検出されたときには正転時であればインクリメントし、逆転時であればデクリメントするように計数処理する。
【0058】
減算器42は、CPU23から送られてくる目標位置と、位置演算部41により求められたキャリッジ5の実際の位置との位置偏差を演算する。
目標速度演算部43は、減算器42の出力である位置偏差に基づいてキャリッジ5の目標速度を演算する。この演算は位置偏差にゲインKpを乗算することにより行われる。このゲインKpは位置偏差に応じて決定される。なお、このゲインKpの値は図示しないテーブルに格納されていてもよい。
【0059】
速度演算部44は、エンコーダ33の出力パルスに基づいてキャリッジ5の速度を演算する。すなわちエンコーダ33の出力パルスのパルス周期をタイマカウンタにより計時し、このパルス周期に基づいてキャリッジ速度Vを演算する。
【0060】
減算器45は、目標速度と、速度演算部44によって演算されたキャリッジ5の実際の速度との速度偏差を演算する。
比例要素46は、速度偏差に定数Gpを乗算し、乗算結果を出力する。積分要素47は、速度偏差に定数Giを乗じたものを積算する。微分要素48は、現在の速度偏差と、1つ前の速度偏差との差に定数Gdを乗算し、乗算結果を出力する。比例要素46、積分要素47および微分要素48の演算は、エンコーダ33の種る欲パルスの1周期毎に行われる。
【0061】
比例要素46、積分要素47および微分要素48から出力される信号値は、それぞれの演算結果に応じたデューティDXを示す。ここでデューティDXは、例えばデューティパーセントが(100ラ DX/2000)%であることを示す。この場合、DX=2000であれば、デューティ100%を示し、DX=1000であれば、デューティ50%を示すことになる。
【0062】
比例要素46、積分要素47および微分要素48の出力は、加算器49において加算される。この加算結果がデューティ信号としてPWM回路50に送られて、PWM回路50にて加算結果に応じた指令信号が生成される。この制しえされた指令信号に基づいてドライバ30によりCRモータ6が駆動される。
【0063】
また、タイマ51および加速制御部52は、CRモータ6の加速制御に用いられ、比例要素46、積分要素47および微分要素48を使用するPID制御は、加速制御後の定速および減速制御に用いられる。
【0064】
タイマ51は、CPU23から送ってくるクロック信号に基づいて所定時間毎にタイマ割込信号を発生する。加速制御部52は、タイマ割込信号を受ける毎に所定のデューティDXPを積算し、積算結果がデューティ信号としてPWM回路50に送られる。PID制御と同様に、PWM回路50にて積算結果に応じた指令信号が生成され、生成された指令信号に基づいて、ドライバ30によりCRモータ6が駆動される。
【0065】
ドライバ30は例えば複数個のトランジスタを備えており、PWM回路50の出力に基づいてトランジスタをオン・オフさせることで、CRモータ6に電圧を印加する。
【0066】
次にCRモータ6の駆動制御について説明する。
図4は、DCユニット29に制御されるCRモータ6の電流値およびキャリッジ速度を示したグラフである。電流値はPWM回路50に送られるデューティ信号値から決まる電圧値に応じて定まる値である。
【0067】
キャリッジ5が1パス(1回の片道)を走行する過程では、図4(b)に示す速度パターンが設定されている。キャリッジ5を停止状態から加速する加速域、加速後に一定速度を維持する定速域、定速域から停止するまでキャリッジ5を減速する減速域が設定されている。印刷ヘッド9による印刷は定速域で行われる。
【0068】
図4(a)に示すように、DCユニット29によりまず加速域ではオープン制御が行われ、キャリッジ速度が目標速度Vaに達するまではデューティ値がキャリッジ起動時の初期値から上昇することで電流(消費電流)が上昇し、目標速度Vaに達すると電流値が一定に保持され、次の目標速度Vbに達すれば電流値が少し下降する。そして目標速度Vcに達すると、PID制御に移行する。
【0069】
定速域ではPID制御が行われ、キャリッジ速度Vが定速速度Vc となるようにデューティ値が決まる。そして、キャリッジ5が位置P1,P2,P3,P4,P5に達する度ごとに段階的に減速制御が行われる。このため、キャリッジ5は、復動から往動、あるいは往動から復動へ反転するときの位置は、常に指定された移動距離の位置となる。
【0070】
CPU23はホストコンピュータ20から受け付けた印刷データに基づき、キャリッジ5の印刷速度モードおよび1パス時の移動距離を決定する。本実施形態では印刷速度モードとして例えば5段階の速度モードが用意されている。
【0071】
CPU23は、オープン制御およびPID制御のデューティ値を取得し、このデューティ値に基づいて電圧値を認知する。CPU23は電圧値を電流値に換算する換算式をもち、電圧値を電流値(消費電流値)に換算する。
【0072】
まず本実施形態で採用するモータ温度推定処理と発熱制限制御について説明する。はじめにモータ温度推定処理を概略説明する。本実施形態では、キャリッジ5の1パス毎の実効電流値(消費電流値)Ipassと移動時間(駆動時間)tpassとから1パス当たりの発熱量Qpassを求め、これを逐次積算して単位時間(1分)当たりの発熱量Qsigma を求める。そして1分毎の発熱量Qsigma を、時間経過による放熱を考慮しながら積算して求まる蓄熱量を上昇温度ΔTに換算する。初期温度(例えば室温)からの上昇温度ΔTが分かることから、上昇温度ΔTを監視すれば現在の推定モータ温度を間接的に監視することが可能になる。
【0073】
そして、上昇温度ΔTを使って発熱制限制御を実施する。すなわち、上昇温度ΔTが電動モータの規格温度以下にあるように、ΔTが予め設定した閾値を超えると、1パス毎に休止を入れる発熱制限制御を実施する。本実施形態では、複数の閾値を段階的に設け、ΔTの大きさに応じて休止時間を段階的に長くするようにしている。ΔTが小さいうちは休止を入れてもユーザが不快を感じないようにするとともに、ΔTが大きくなると安全な温度まで下降するのに必要な休止時間を2段階に設定する。
【0074】
まず、モータ温度推定処理について以下にその詳細を説明する。
一般的に、発熱量は以下の式で求められる。
Q=K・W (Kは定数であり、ある仕事を発熱に換算する係数である)
ここで、W=I2 ・R・tである。つまり、Q=I2 ・R・t・Kとなる。モータの動作に伴う発熱を考えると、Rはモータの巻線の抵抗であり、定数である。上記したようにRとKは定数なので、Q∝I2 ・tの関係があることから、以下の説明では、I2 ・tを発熱量と呼ぶ。
【0075】
はじめに1パス当たりの発熱量を求める求め方について説明する。本実施形態では、キャリッジ5の移動速度Vと移動距離Yとから、図9に示すテーブルQTを参照して、1パス当たりの単位発熱量Qpass(テーブルではQpassYV)を求めるようにしている。移動速度Vは5つの印刷速度モードに応じて5段階に設定されている。移動距離Yは、キャリッジ5の1パス最長距離をm分割したm個の移動距離の範囲として設定されており、印刷データから決まる実際の移動距離Xが属する範囲が移動距離Yとして決まるようにしている。
【0076】
この単位発熱量参照テーブルQTによって定まる1パス当たりの単位発熱量QpassYVは、プリンタ電源投入直後のシステム初期化時に、キャリッジ5を1往復動させてモータ電流値を実測するメジャメント処理で得られた実測電流値(電流実測値)を基に計算されたものである。最初に作成されたこの単位発熱量参照テーブルQTはRAM26に記憶される。
【0077】
1パス当たりの単位発熱量Qpassは、1パス当たりの実効電流値Ipassを使って次式のように表される。
Qpass=Ipass2 ・tpass … (1)
また実効電流値Ipassは次式で表される。
Ipass=√{(I12・t+I22・t+…+Ik2・t)/tpass} … (2) ここで、tpassは、キャリッジの1パス移動時間である。
【0078】
メジャメント処理によりモータ電流値を実測するのは、プリンタの使用年数(使用条件)や使用温度環境などによって、キャリッジ駆動時にCRモータ6にかかる負荷が異なるからである。このようなモータ負荷のばらつきを考慮してプリンタ個々に最適なテーブルQTを作成するため、モータ電流値を実測するメジャメント処理を採用している。
【0079】
この場合、テーブルQTの全ての組合せについて1パス毎に実効電流値Ipassを実測しようとすると、5種類の移動速度Vと20種類の移動距離ごとに、合計100種類の実測計算が必要になり、キャリッジ5を100回往復動させる必要がある。これは現実的ではないので、本実施形態では、キャリッジ5を1回往復動させるだけのメジャメント処理で済むように工夫されている。
【0080】
図5は、キャリッジが1パスするときの時間とモータ電流値を示すもので、同図(a)はモータ負荷が小さいとき、同図(b)はモータ負荷が大きいときである。モータ電流値は、加速するときには高く、定速域では負荷に逆らって動いているのでほぼ一定であり、最後に逆方向に電流が流れた後に再び正方向に電流が流れてから停止する。CRモータ6にかかる負荷は、レール3などの摺動部分との動摩擦抵抗および粘性抵抗等によって発生するものである。CRモータ6の定速域における一定電流値IFukaは、キャリッジ5を負荷に逆らって動かすために必要な電流値である。よって、電流値IFukaは、負荷が小さいプリンタでは同図(a)のように小さな値をとり、負荷が大きいプリンタでは同図(b)のように大きな値をとる。
【0081】
例えば加速過程におけるIFukaを超える部分の電流分(同図における斜線部)は、キャリッジ5の質量Mに起因するイナーシャ分に相当し、これは同じ速度モード(加速モード)では質量Mに依存する一定値である。そこで、図6に示すように、1パス当たりの実効電流値Ipassを、負荷によって変動する電流値IFukaと、質量Mと加減速モードにのみ依存するイナーシャ分に相当する電流値IBaseとに分けて求めるようにしている。なお、本実施形態では、イナーシャ分に相当する電流値IBaseが固定電流値に相当する。
【0082】
電流値IFukaは、メジャメント処理で実測する。この際、最大移動速度Vmax (=300cps)でキャリッジ5を駆動させたときにメジャメント処理で実測した電流値IFukaを、全ての移動速度Vに共通に使用する。これは、負荷のうち動摩擦抵抗μは移動速度Vに拠らず一定値で、粘性抵抗ηは移動速度Vに比例する(η=s・V(sは定数))ことから、最大負荷が考慮された電流値IFukaを実測するためである。
【0083】
一方、電流値IBaseは、予め実験で求めておき、図7に示す基準実効電流テーブルITとしてROM25に記憶されている。その求め方は以下のようである。すなわち前記(2) 式に従って、1パスするときの電流値を微小時間t毎に逐次測定し、得られた電流値Iの2乗に微小時間tを乗算した値I2 ・tを逐次積算し、この積算値をキャリッジ5の1パス移動時間tpassで割った値の平方根をとって、1パス当たりの実効電流値Ipassを求める。このときIFukaは以下のように求める。一定電流値である定速域から複数の値をサンプリングし、そのサンプリング値を実効電流値の計算式に従って計算処理する。そして実効電流値Ipassから電流値IFukaを減算することにより、電流値IBaseを算出する(IBase=Ipass−IF uka )。これを各移動速度Vと移動距離Yの全ての組合せについて実測計算し、各基準実効電流IBase[Y][V]として求める。
【0084】
またROM25には、図8に示すキャリッジ1パス時間テーブルPTが記憶されている。このテーブルPTには、キャリッジ5が1パスするときの移動時間(所要時間)tpass[Y][V]が、移動速度Vと移動距離Yの各組合せごとに設定されている。なお、移動時間tpass[Y][V]は、定速域における移動時間(Y/V)に、加速域および減速域における各移動時間を加算した値であり、計算値または実測値として求められたものである。
【0085】
メジャメント処理では、定速域における電流値IFukaを実測することになる。キャリッジが最大移動速度Vmax (=300cps)で最長移動距離(=1800EP)を1回往復動するときの定速域での一定電流値IFukaを実測する。定速域に入り一定電流値になると、電流値Iを単位微小時間t毎にサンプリングし、I2 ・tを算出するとともに逐次積算する。そしてサンプリングした総時間ts が分かっているので、その積算値を時間ts で割った値の平方根をとることで、定速域における実効電流値を算出しこれを電流値IFukaとして算出する。もちろん、IFukaは、サンプリング値を実効電流値の計算式に従って計算処理することにより求めることもできる。なお、CRモータ6を電圧制御している本実施形態では、サンプリングした電圧値を換算式により換算して得られる電流値を使用してIFukaを測定する。
【0086】
ROM25には、図10にフローチャートで示すメジャメント処理のためのプログラムが記憶されている。CPU23はこのメジャメント処理用プログラムを実行することで、メジャメント処理を実施する。次にプリンタ電源投入直後のキャリッジ準備走行時に実行される電流測定処理(メジャメント処理)について、図10のフローチャートに従って説明する。
【0087】
まずステップ(以下「S」と記す)10では、プリンタ電源オンされたことを認知する。
S20では、システム初期化をする。
【0088】
S30では、CRモータ6を起動する。このとき最大移動速度Vmax で最長移動距離を1回往復動するように起動される。最初の加速域ではオープン制御で加速制御を実行する。
【0089】
S40では、PID制御を実行する。すなわち定速域に入るとPID制御を実行する。
S50では、定速域に入って電流値が一定になった時点から電流値Iを記憶する。すなわち定速域の電流値Iをサンプリングする。
【0090】
S60では、モータが定速度で一定量以上回転したか否かを判断する。すなわちエンコーダ33の出力パルスのエッジをカウントして得られるキャリッジ位置が定速域終了前の設定位置に達したか否かを判断する。キャリッジ位置が設定位置に達していなければS40に戻り、キャリッジ位置が設定位置に達していればS70に進む。こうしてキャリッジ5が設定位置に達するまで所定微小時間tごとに電流値Iのサンプリングが行われる。
【0091】
S70では、定速域の実効電流値Ic を算出する。すなわち、定速域でサンプリングしたn個の電流値Iから実効電流値の計算式に従って定速域における実効電流値Ic を算出する。この実効電流値Ic がIFukaとして使用される。
【0092】
このメジャメント処理により電流値IFukaが実測されると、次に、この実測した電流値IFukaと、図7の基準実効電流テーブルITと、図8のCR1パス時間テーブルPTとを用いて、図9の単位発熱量参照テーブルを作成する。すなわち、電流値IFukaと、基準実効電流値IBase[Y][V]と、1パス時間tpass[Y][V]とを用い、次の(3) 式により、単位発熱量Qpass[Y][V]を算出する。
Qpass[Y][V]=(IBase[Y][V]+IFuka)2 ・tpass[Y][V] … (3) こうしてプリンタ電源投入直後のキャリッジ準備駆動時にメジャメント処理がなされ、図9の単位発熱量参照テーブルが作成される。なお、キャリッジ5の往動時と復動時でCRモータ6にかかる負荷が厳密には違うので、実際には図7,8,9のテーブルIT,PT,QTはキャリッジの往動時用と復動時用のそれぞれ2種類を持っている。但し、この実施形態では説明を簡単にするため、往動時と復動時を区別することなく1つのテーブルを持っているものとして説明を進めることにする。
【0093】
次に、プリンタ電源投入時のテーブル作成後に行われる温度推定処理について説明する。テーブル作成後の温度推定処理は、キャリッジ5の駆動・停止に拘わらず、電源投入中は常時実行される。但し、キャリッジ5が駆動されるときは、1パスする毎に1パス当たりの単位発熱量Qpassが算出される。すなわち、キャリッジ5の1パス「起動−停止」毎に、単位発熱量参照テーブルQT(図9)を参照し、移動速度V・移動距離Yから、1パス発熱量Qpass[Y][V]を取得する。
【0094】
図11は、1分間における時間(秒)に対するモータ電流と発熱量Qpassの様子を示したグラフである。同図(a)のグラフから分かるように、モータ電流は、キャリッジ5の往動と復動が交互に繰り返されることにより、1パス毎にプラスとマイナスが交互に反転する。1パスするときの移動速度Vと移動距離Yから、テーブルQT(図9)を参照して、1パス発熱量Qpass[Y][V]を取得する。そしてその1パスが終了する度に、今回の単位発熱量Qpass[Y][V]を、前回の発熱量Qsi gma に加算する。こうして1パス毎に取得される1パス発熱量Qpass[Y][V]を、単位時間Tbox (=60秒)の間に逐次積算して、単位時間Tbox の発熱量Qsigma を求める。1分間の発熱量Qsigma は、前回の発熱量Qsigma に今回の単位発熱量Qpass[Y][V]を加算することにより、式 Qsigma =Qsigma +Qpass[Y][V] により計算される。但し、Qsigma の計算前初期値は「0」であり、1分毎にリセットされる。従って、1分間の間、キャリッジ5が一度も駆動されなかったときのQsigma は「0」となる。
【0095】
単位時間Tbox の60秒は、タイマIC28からのクロック信号を基にCPU23が時間カウンタにて計時する。60秒経過した時点でキャリッジ5がパスの途中にある1パスについては、今回の1分間の発熱量Qsigma には加えず、次回の1分間の発熱量Qsigma に入れるようにしている。従って、同図(a)に示す例では、斜線を施したパスの発熱量Qpassのみが、同じ1分間の集まりとして積算される。なお、同図(a)では、パスとパスの間に時間間隔があるが、これはキャリッジ5の反転時に避けられない一瞬の停止であり、休止時間ではない。
【0096】
次に1分間の発熱量Qsigma を発熱温度(発熱値)ΔTnew に換算する。ΔTnew は、式 ΔTnew =Ka・Qsigma により求まる。ここで、Kaは、発熱量Qから発熱温度ΔTへの変換係数であり、予備実験により求められた値である。熱量Q=κ・ΔT、QはIo2・R・tに比例することから、予備実験で、実効電流値Io をt秒通電したときに、モータの発熱温度ΔTo が測定されたとすると、実効電流値Irms をt秒通電したときに、得られる発熱温度ΔTnew は、次式で表される。
ΔTnew =(ΔTo /Io2)・Irms2
∴ΔTnew ={ ΔTo /(Io2・Tbox )} ・Qsigma
ここで、{ ΔTo /(Io2・Tbox )} をKaとおくと、ΔTnew =Ka・Qsigma となる。実効電流値Io をt秒通電したときのモータの発熱温度ΔTを測定した予備実験から、例えばIo =200 mAでΔTo =20deg.が測定されたとすると、単位時間Tbox =60秒であることから、Ka=0.0000083 になる。よって、単位時間Tbox 当たりの発熱温度ΔTnew は、上記の値をもつ定数(変換係数)Kaを用いて、ΔTnew =Ka・Qsigma により表される。
【0097】
図12は、CRモータの発熱に起因する総発熱温度(総発熱値)を、時間経過による自然放熱を考慮して示したグラフである。グラフに示すように、CRモータ6の最初の1分間の通電による発熱温度(発熱値)をΔT1new 、次の1分間の通電による発熱温度をΔT2new 、さらに次の1分間の通電による発熱温度をΔT3new とする。最初の発熱温度ΔT1new は、時間経過とともに放熱曲線にそって下降し、1分後には自然放熱によりΔT1old に低下する。よって、2分目の総発熱温度ΔT2sum は、ΔT2sum =ΔT1old +ΔT2new で表される。また、2分目の総発熱温度ΔT2sum は、時間経過とともに放熱曲線に沿って下降し、その1分後には自然放熱によりΔT2old に低下する。よって、3分目の総発熱温度ΔT3sum は、ΔT3sum =ΔT2old +ΔT3new で表される。
【0098】
ここで、ΔTsum が1分後に放熱曲線に沿って下降して達する発熱温度ΔTold は、放熱係数Kを用いて、ΔTold =K・ΔTsum として表される。よって、最新のモータ総発熱温度ΔTsum は、前回の総発熱温度ΔTsum に放熱係数Kを掛けた値に、最新の発熱温度ΔTnew を加えることにより算出され、式 ΔTsum =K・ΔTsum +ΔTnew により求まる。なお、この総発熱温度ΔTsum はCRモータの発熱による蓄熱量を発熱温度に変換した値に相当する。従って、熱量から見た場合、前回の蓄熱量に今回の発熱量を加算すると、今回の蓄熱量が求まることになる。
【0099】
放熱係数Kは予め実験から求められたもので、以下のように設定されている。まずプリンタの系には、図13の温度曲線で示されるキャリッジ駆動中の発熱系と、図14の温度曲線で示されるキャリッジ停止中の放熱系とがある。発熱系と放熱系は共に1次遅れ系であるので、ある時刻tの温度は、時定数Tとおくと、exp (−t/T)で表される。発熱系では、まず飽和発熱温度Tsat を実験で求め、この飽和温度Tsat の63%の値に達する時間が、そのプリンタの系の発熱時定数T1sinkになる。一方、放熱系では、飽和発熱後、キャリッジ停止時点の飽和発熱温度から室温に下がっていくとき、63%分の温度が下がるまでの時間が、そのプリンタの系の放熱時定数T2sinkになる。これらの時定数T1sink、T2sinkは共に実験で求められたものである。
【0100】
発熱系と放熱系は共に1次遅れ系であるので、ある時刻tの温度exp (−t/T)は、単位時間Tbox である60秒経過したらK倍になるとすると、次の関係式が成立する。
exp (−(t+60)/T)=K・exp (−t/T)
よって、60秒での放熱係数Kは、次式で表される。
K=exp (−60/T)…(4)
上記(4) 式において、時定数Tとして実験で求めた発熱時定数T1sinkを使用すると、発熱系における放熱係数K=exp (−60/T1sink)が求まる。また、上記(4) 式において、時定数Tとして実験で求めた放熱時定数T2sinkを使用すると、放熱系における放熱係数K=exp (−60/T2sink)が求まる。
【0101】
本実施形態では、単位時間Tbox 当たりのキャリッジ移動回数Ncrをカウンタにて計数し、Ncrが予め設定された設定回数No 以上であるときには、キャリッジ駆動中の発熱系である判断し、発熱時定数T1sinkを使用した放熱係数Kを使用する。一方、キャリッジ移動回数Ncrが設定回数No 未満であるときには、キャリッジ停止中の放熱系であると判断し、放熱時定数T2sinkを使用した放熱係数Kを使用する。よって、総発熱温度ΔTsum は、60秒経過するとそのときの系に応じた放熱係数Kを用いて、K・ΔTsum として計算される。
【0102】
プリンタの電源を切断するときには、発熱温度(発熱値)ΔTsum は、1バイト化処理された後、EEPROM27に1バイトのデータとして記憶される。すなわち、1バイト化係数EEdiv を用いて、ΔTsumEE =ΔTsum /EEdiv により1バイト化される。そして、プリンタ電源投入時に、EEPROM27より前回稼働時の最終発熱値ΔTsumEE (1バイト)を取得し、シーケンス計算単位に合わせて、ΔTsum =ΔTsumEE ・EEdiv により展開する。その値を現在の発熱温度として取得し、ΔTsum の初期値とする。もちろん、電源切断後においても、バックアップ電源を用いて、ΔTsum が所定温度(例えば10℃)に降下するまでΔTsum の計算を継続してもよい。
【0103】
次に発熱制限制御について図15〜図17等に基づいて説明する。
CRモータ6の発熱防止のために、電源オン中は、キャリッジ5の動作に関係なく、常に一定時間(60秒)毎に発熱量Qsigma を計算し、CRモータ6の発熱温度ΔTsum を推定する。CRモータ6の発熱温度ΔTsum が規定の値(閾値)を超えた場合、キャリッジ5の停止直後にショートブレーキ状態を維持する休止時間Twaitをもたせるデューティ制限(発熱制限)がかかる。
【0104】
図15は、温度曲線を示すグラフである。このグラフに示すように、本実施形態では、発熱制限をかける閾値として3つの閾値ΔT1,ΔT2,ΔT3(ΔT1<ΔT2<ΔT3)が設定されている。本実施形態では、第1閾値ΔT1は規格温度より低い温度に設定されている。第2閾値ΔT2および第3閾値ΔT3は共にCRモータ6の規格温度未満に設定されている。
【0105】
CPU23は、発熱温度ΔTsum を監視し、ΔTsum が閾値ΔT1,ΔT2,ΔT3を超えると、その超えた閾値に応じた休止時間T1wait,T2wait,T3waitをそれぞれ設定する。つまり、発熱温度ΔTsum が第1閾値ΔT1を超えると、休止時間Twaitをもたせるデューティ制限がかかる。
【0106】
ROM25には、休止時間T1wait,T2wait,T3waitを決めるデータとして、図16,図17に示す休止時間テーブルW1,W2および休止時間T3wai t が記憶されている。図16の休止時間テーブルW1は、発熱温度ΔTsum が第1閾値ΔT1を超えたときに参照されるもので、テーブルW1を参照することで、移動距離Yと移動速度Vに応じた休止時間T1waitYVが設定される。第1休止時間T1waitYVは、発熱に対して制限をかけつつキャリッジ5を休止させてもユーザが不快に感じないような短い時間に設定されている。このため、1パス毎に第1休止時間T1waitYVの休止が入っても、ユーザはほとんど不快を感じない。
【0107】
このように休止時間を短くする時間優先の考えの下、例えば0.5秒未満の時間が設定されている。移動距離Yと移動速度Vに応じた休止時間T1waitYVを設定するのは、この例では、Y,Vの全ての組合せについて同じ目標温度に落ちてくるような実効電流値Irms になるように休止時間を設けるためである。つまり、休止時間T1waitYVは、全てのモードにおいて、同じ温度に落ちてくるような実効電流値Irms になるような値に設定されている。もちろん、全てのY,Vに共通にして休止時間T1waitを0.2秒に設定するだけでも構わない。
【0108】
図17の休止時間テーブルW2は、発熱温度ΔTsum が第2閾値ΔT2を超えたときに参照されるもので、テーブルW2を参照することで、移動距離Yと移動速度Vに応じた第2休止時間T2waitYVが設定される。第2休止時間T2waitYVは、CRモータ6にかかる負荷が最大でCRモータ6に最大モータ電流Imax (例えばImax =0.8 A)が印加されても、発熱温度ΔTsum (モータ温度)が安全な温度まで下がってくる値に設定されている。CRモータ6に最大モータ電流Imax (例えば0.8 A)が印加されても、発熱温度ΔTsum が目標温度まで下がるようになっている。本実施形態では図17に示すように移動距離Yと移動速度Vに応じて、例えば約0.7〜3秒程度の範囲の値が設定されている。Y、Vに応じて休止時間T2waitYVを設定するのは、Y,Vの全ての組合せについて安全な温度に落ちてくるような実効電流値Irms になるように必要最小限の休止時間を設けるためである。もちろん、全てのY,Vに共通にして休止時間T2waitを約3秒に設定するだけでも構わない。
【0109】
第3休止時間T3waitは、全てのY,Vに共通な値で例えば約5秒に設定されている。第3休止時間T3waitは、CRモータ6の想定している設計上の最大負荷(例えばモータ電流Imax =0.8 A)を超えている場合で、仮に給電手段としてのDCユニット29が想定している設計上の供給最大電流IDCmax (例えばIDCmax =1.2 A)がCRモータ6に印加されても、発熱温度ΔTsum (モータ温度)が安全な目標温度まで下がってくる値に設定されている。CRモータ6に供給最大電流IDCmax (例えば1.2 A)が印加されても、発熱温度ΔTsum が目標温度まで下がるようになっている。
【0110】
安全な目標温度として解除閾値(解除閾値温度)ΔTstd (ΔTstd <ΔT1)が設定されている。デューティ制限が一旦かかると、発熱温度ΔTsum が解除閾値ΔTstd に降下するまでは、デューティ制限は解除されない。すなわち、発熱温度ΔTsum が第1閾値ΔT1を超えると、デューティ制限がかかり、1パス毎に第1休止時間T1waitYVの休止を入れる第1発熱制限モードに移行し、発熱温度ΔTsum が下降して解除閾値ΔTstd に達するまでこの第1発熱制限モードに維持される。また、第1発熱制限モード中に発熱温度ΔTsum が第2閾値ΔT2を超えた場合は、1パス毎に第2休止時間T1waitYVの休止を入れる第2発熱制限モードに移行し、発熱温度ΔTsum が解除閾値ΔTstd に達するまでこの第2発熱制限モードに維持される。さらに同様に、第2発熱制限モード中に発熱温度ΔTsum が第3閾値ΔT3を超えると、1パス毎に第3休止時間T1waitの休止を入れる第3発熱制限モードに移行し、発熱温度ΔTsum が解除閾値ΔTstd に達するまでこの第3発熱制限モードに維持される。CPU23はデューティ制限中に、3つの発熱制限モードのうちどのモードにあるかを判別する発熱制限モードフラグを備え、このフラグの値を見ることで現在の発熱制限モードを認知する。
【0111】
図11(b)に示すように、1パス毎に休止時間Twaitの休止が入ると、単位時間Tbox (60秒)当たりの発熱量Qsigma が小さくなる(つまり60秒間の実効電流値Irms が小さくなる)。従って、デューティ制限中は、最新の1分間の発熱温度ΔTnew が小さくなり、ΔTsum =K・ΔTsum +ΔTnew より、総発熱温度ΔTsum が時間の経過とともに小さく変化する。この最新の発熱温度ΔTnew が休止時間Twaitが長いほど小さくなるので、CRモータ6の温度上昇の程度に応じて3段階の休止時間Twaitを設定することにより、モータ温度を確実に安全な目標温度にまで降下させられるようにしている。
ここで、発熱温度ΔTsum は、Ka・Qsigma として算出される。このKaは定数なので、 ΔTsum の計算よりくくり出すことができる。各閾値(温度値)をKaで除算することにより、各閾値ΔT1,ΔT2,ΔT3,ΔTstd を設定することもできる。
【0112】
以下、発熱制限制御ルーチンについて図18,図19に従って説明する。
ステップ(以下、単に「S」と記す)110では、デューティ制限中であるか否かを判断する。デューティ制限中であればS120に進み、デューティ制限中でなければS130に進む。
【0113】
S120では、休止時間テーブルW1から休止時間T1waitYVを読み出す。休止時間テーブルW1を参照し、今回のパスの移動速度Vと移動距離Yを基に休止時間T1waitYVを求める。
【0114】
S130では、単位発熱量参照テーブルQTから1パス発熱量QpassYVを読み出す。すなわち、今回のパスの移動速度Vと移動距離Yを基に単位発熱量参照テーブルQTを参照して1パス発熱量QpassYV(=Ipass2 *t)を求める(Ipass:1パス当たりの実効電流値)。
【0115】
S140では、前回までの積算値Qsigma に今回の1パス発熱量QpassYVを加えて今回の積算値Qsigma を求める(Qsigma =Qsigma +QpassYV)。Qsigma は、式(1) における√内の値の積算値に相当する値である。
【0116】
S150では、前回の発熱判定時から単位時間Tbox (=60秒)が経過したか否かを判断する。単位時間Tbox を経過していないときは当該ルーチンを終了し、単位時間Tbox を経過したときは次のS160に進む。
【0117】
S160では、ΔTnew =Ka・Qsigma を計算する。すなわち、単位時間Tbox の発熱量Qsigma を上昇温度ΔTnew に換算する。
S170では、ΔTsum =ΔTsum +ΔTnew を求める。すなわち、今回の単位時間当たりの上昇温度ΔTnew を前回までの温度積算値に加えて、今回までの温度積算値ΔTsum を求める。
【0118】
S180では、発熱値の1バイト化処理を行う。発熱値は1バイトで記憶されるので、ΔTsum を1バイトで記憶できる値に換算する。すなわち、
ΔTsum =ΔTsum /EEdiv とする。ここで、EEdiv は1バイト化係数(定数)である。
【0119】
S190では、デューティ制限中(発熱制限中)であるか否かを判断する。デューティ制限中でなければS200に進み、デューティ制限中であればS230に進む。S230はデューティ制限中の処理でありこれは後述する。
【0120】
S200では、ΔTsum >ΔT1であるか否かを判断する。これが成立すればS210に進み、不成立であればS300に進む。
S210では、ΔTsum がΔT1を超えたので、発熱デューティ制限を開始する。このとき第1発熱制限モードフラグをオンにする。
【0121】
S220では、第1発熱制限モードの休止時間T1waitを設定する。
デューティ制限中のときはS230に進むが、このS230では、ΔTsum <ΔTstd が成立したか否かを判断する。これが成立したときはS240に進んで、発熱デューティ制限を解除する。一方、ΔTsum <ΔTstopが不成立であるときはS250に進む。
【0122】
S250では、ΔTsum >ΔT2が成立したか否かを判断する。ΔTsum >ΔT2が成立したときはS260に進み、これが不成立のときはS300に進む。S260では、ΔTsum >ΔT3が成立したか否かを判断する。ΔTsum >ΔT3が不成立であるときはS270に進み、これが成立したときはS280に進む。
【0123】
S270では、第3発熱制限モード中(休止時間T3wait設定中)であるか否かを判断する。第3発熱制限モード中であるときにはS280に進み、それ以外のときはS290に進む。
【0124】
S280では、第3発熱制限モードの休止時間T3waitに切替える。つまりΔTsum >ΔT3が成立したときには第3発熱制限モードへ移行し、休止時間がT3waitに切替えられる。
【0125】
S290では、第2発熱制限モードの休止時間T2waitに切替える。
S300では、キャリッジ移動回数(パス数)Ncrが設定回数No 以上であるか否かを判断する。Ncr≧No が成立すればS310に進み、この条件が不成立あればS320に進む。
【0126】
S310では、第1放熱係数を使用する。つまり発熱系の放熱係数Kが使用されるように、放熱係数Kを決める時定数として発熱時定数T1sinkを設定する。発熱時定数T1sinkは、キャリッジが動作しているときの発熱系の時定数である。
【0127】
S320では、第2放熱係数を使用する。つまり放熱系の放熱係数Kが使用されるように、放熱係数Kを決める時定数として放熱時定数T2sinkを設定する。放熱時定数T2sinkは、キャリッジが停止しているときの放熱系の時定数である。
【0128】
S330では、ΔTsum =K・ΔTsum を計算する。ここでは次回の処理のときに前回の総発熱温度として使用される1分後の総発熱温度ΔTsum を予め求めておく。つまり、次回の処理におけるS170で、ΔTsum =ΔTsum +ΔTnew の右辺で使用されるΔTsum を予め求めておく。このとき、発熱系のときには放熱係数K=exp (−60/T1sink)が使用され、放熱系のときには放熱係数K=exp (−60/T2sink)が使用される。
【0129】
以上詳述したように本実施形態によれば、以下に示す効果が得られる。
(1)CRモータ6の発熱温度ΔTsum を時間経過による放熱を考慮しながら推定し、発熱温度ΔTsum が閾値ΔT1を超えたときにCRモータ6に休止を入れるので、必要なときにだけ休止が入ることになって休止回数を少なくできる。この結果、CRモータ6を過大な発熱から確実に保護できるうえ、キャリッジ5の休止を短くできることから印刷のスループットを向上させることができる。
【0130】
(2)定速域の電流値IFukaと、加減速域の電流値IBaseとに分け、加減速域の電流値IBaseを固定値としてROM25に記憶しておくとともに、定速域の電流値IFukaを実測する方式を採用した。このため、定速域の電流値IFukaのみを実測するだけで1パス当たりの単位発熱量Qpassを簡単な処理で求めることができる。
【0131】
(3)定速域の電流値IFukaをプリンタ電源投入時のメジャメント処理で実測し、ROM25に予め記憶したテーブルIT,PTのデータIBase,tpassを用いて、予め単位発熱量参照テーブルQTを作成しておく。そして、実際の印刷動作中は、移動速度Vと移動距離YからテーブルQTを参照して1パス当たりの単位発熱量QpassQを求める方法を採用したので、印刷動作中は電流実測処理や計算処理の必要がなく、テーブルQTの参照処理のみによって1パス当たりの単位発熱量Qpassを簡単に求めることができる。従って、CPU23の負担を軽減できる。
【0132】
(4)1パス毎の発熱量Qpassを単位時間Tbox (1分)の間積算して得られる単位時間当たりの発熱量(積算値)Qsigma を、単位時間毎に放熱を考慮しながら積算して現在の総発熱温度ΔTsum を求める方法を採用した。従って、毎パスごとに発熱温度を算出する方式に比べ、CPU23の負担を軽減できる。また、一定の単位時間Tbox 毎に発熱量Qsigma を積算処理するので、系が同じであれば毎回同じ放熱係数K(K=exp (−Tbox /Tsink))を使用できる。よって、ΔTsum を求めるための積算処理が簡単で済む。
【0133】
(5)発熱温度ΔTsum (熱量Qsigma )の時間経過による自然放熱を考慮する場合に、発熱しながら放熱する発熱系か、発熱をほとんど伴わずに放熱する放熱系かを判別し、その系に適した放熱係数Kを採用するようにした。従って、系に適した放熱係数Kを採用することにより、発熱温度ΔTsum を実際の発熱温度に近い値として算出でき、発熱温度の推定精度を高めることができる。
【0134】
(6)キャリッジ移動回数Ncrが設定回数No 以上であるか否かを判断して、放熱係数Kを決める系を判定する方法を採用したので、放熱係数Kを決める系の判定を簡単に行うことができる。例えば温度変化を監視して系を判定する方法に比べ、CPU23の負担軽減を図ることができる。
【0135】
(7)発熱温度ΔTsum が閾値を超えると休止を入れる閾値を、複数(本例では3つ)設定した。よって、発熱温度ΔTsum が閾値を超えて発熱制限をかけるときの休止時間を閾値に応じて段階的に設定することができるので、その発熱温度ΔTsum にとってなるべく短い休止時間Twaitを設定することができる。この結果、休止時間Twaitをなるべく短くすることができ、ひいては印刷のスループットを効果的に向上させることができる。
【0136】
(8)発熱温度ΔTsum が第1閾値ΔT1を超えたときに設定される第1休止時間T1waitYVは、発熱制限をかけつつキャリッジ5を休止させてもユーザが不快に感じない短い時間(例えば0.5 秒以内)に設定されている。この結果、1パス毎にキャリッジ5を休止させても、ユーザはほとんど不快を感じない。
【0137】
(9)発熱温度ΔTsum が第2閾値ΔT2を超えたときに設定される第2休止時間T2waitYVは、CRモータ6にかかる負荷が最大でCRモータ6に最大モータ電流Ima x (例えばImax =0.8 A)が印加されても、発熱温度ΔTsum (モータ温度)が安全な温度まで下がってくる時間に設定されている。従って、CRモータ6に最大モータ電流Imax (例えば0.8 A)が印加されても、第2発熱制限モードによって発熱温度ΔTsum を目標温度まで下げることができる。
【0138】
(10)休止時間テーブルW1,W2を用意し、安全な目標温度に落とすことが可能な同じ実効電流値Irms になるように、移動距離Yと移動速度Vに応じて休止時間T1waitYV,T2waitYVを設定した。つまり、全てのY、Vにおいて発熱制限の程度が同じになるように休止時間T1waitYV,T2waitYVを設定した。よって、Y、Vの組合せの違うパス毎に、安全な目標温度に落とすのにほぼ必要最小限の休止時間を設定できることから、印刷のスループットを効果的に向上させることができる。
【0139】
(11)発熱温度ΔTsum が第3閾値ΔT3を超えたときに設定される第3休止時間T3waitは、DCユニット29が想定している設計上の供給最大電流IDCmax (例えばIDCmax =1.2 A)がCRモータ6に印加されても、発熱温度ΔTsu m (モータ温度)が安全な目標温度まで下がってくる値に設定されている。従って、CRモータ6に供給最大電流IDCmax が印加されても、発熱温度ΔTsum を目標温度まで下げることができる。
【0140】
(12)発熱制限(デューティ制限)が一旦かかると、発熱温度ΔTsum が解除閾値ΔTstd に降下するまでは、発熱制限は解除されない。従って、発熱温度ΔTsum を速やかにしかも確実に安全な目標温度まで下降させることができる。
【0141】
(13)発熱温度ΔTsum が解除閾値ΔTstd に降下するまで発熱制限を解除させないばかりか、第2発熱制限モードや第3発熱制限モードからの温度降下であれば、温度降下し始めたときの発熱制限モードで設定された長めの休止時間Twaitを解除閾値ΔTstd に達するまでそのまま維持する。従って、発熱温度ΔTsum を一層速やかにしかも一層確実に安全な目標温度まで下降させることができる。
【0142】
なお、実施の形態は、上記に限定されず次の変形例でも実施できる。
(変形例1) 印刷動作中の1パス毎に電流値を実測するメジャメント処理を行い、実測電流値を基に1パス当たりの単位発熱量Qpassを計算する方式を採用することもできる。
【0143】
(変形例2) プリンタが備えるCRモータ以外の他の電動モータの温度を前記温度推定方法により推定(算出)してもよい。電動モータとしては、例えば紙送りモータが挙げられる。
【0144】
(変形例3)前記実施形態では、1パス毎に休止を入れたが、複数パス毎に休止を入れても構わない。例えば2パス(1往復移動)毎、3パス、4パス、5パス毎、さらに10パス毎でも構わない。また時間で管理して例えば1秒経過後の最初の1パス終了時のタイミングで休止を入れても構わない。この時間も1秒に限らず、2秒、3秒、…としてもよい。
【0145】
(変形例4) 前記実施形態では、モータ温度が閾値を超えるとモータの休止時間を設けることにしたが、モータの電力を小さく抑える電力調整を行う手段を設けてもよい。例えば印刷速度設定が高速モードであっても、モータ温度が閾値を超える場合には、低速モードに切替えて電力を小さく抑える制御を採用し、モータの発熱を小さく抑える制御内容の採用も可能である。
【0146】
(変形例5) 前記実施形態では、モータの発熱温度が閾値を超えるとモータの駆動の合間に休止時間を設けることにしたが、発熱温度が閾値を超えると、モータへの電力の供給を遮断する電力遮断手段を設けることも可能である。この場合、第3閾値より高温側に第4閾値を設け、第4閾値を超えたときにはモータへの電流供給を遮断してキャリッジを非常停止する。この方法によれば、第3閾値を超えた場合でも特に緊急異常時には、速やかにモータ温度を低下させることができ、モータの巻線等の温度疲労をなるべく最小限に抑えることができる。
【0147】
(変形例6) 前記実施形態では、発熱制限(デューティ制限)が一旦かかると、温度降下し始めたときの発熱制限モードで設定された長めの休止時間Twaitを、発熱温度ΔTsum が解除閾値ΔTstd に達するまで維持する方式を採用した。これに対し、発熱温度ΔTsum が降下して閾値ΔT3またはΔT2以下になればその時点で休止時間を1段下の値に切り替える方式を採用することもできる。
【0148】
(変形例7) 放熱係数Kを決める時定数は、発熱系と放熱系の2通りに分けたが、さらに複数(3つ以上)の時定数を用意するようにしても構わない。例えば単位時間当たりのキャリッジ移動回数に応じて3段階以上の時定数を決める方法を採用しても構わない。また、放熱係数Kを決める判断は、キャリッジ移動回数に限定されない。例えば温度変化を監視するようにして系を判定し、その系に適した放熱係数Kを採用する方法も可能である。
【0149】
(変形例8) 発熱量を求める単位時間は一定時間であることに限定されない。例えば単位時間をパス数で規定し、一定パス数の所要時間を単位時間として設定することもできる。この場合、単位時間は不規則になるが、タイマで計時しておけばその時間は知ることができるので、単位時間当たりの発熱量は知ることができる。つまり、放熱係数Kは時間の関数であるため時間さえ分かれば放熱も正しく計算することはできる。
【0150】
(変形例9) 単位時間は1分に限定されない。10秒、20秒、30秒、2分、5分、10分などを設定することもできる。単位時間は、特に10秒〜5分の間が好ましい。発熱温度は時間に対して変化が比較的鈍いので、10秒未満であると発熱判定の演算負担が増し、5分を超えると発熱制限をかけるのが遅れる虞がある。
【0151】
(変形例10) 電動モータの放熱は自然放熱に限定されない。例えばCRモータ6を冷却する冷却ファンを備えた構成とし、ファン冷却による放熱を考慮して補正演算(放熱演算)を行う方法を採用することもできる。
【0152】
(変形例11) キャリッジの反転時に休止を入れる方法に限定されない。プリンタのキャリッジでは定速印字をするため反転時に休止を入れる必要があるが、例えば片道印刷方式のプリンタでは、キャリッジの印刷しない戻りパス途中で休止を入れても構わない。
【0153】
(変形例12) 前記実施形態では、放熱を考慮した発熱量の算出は、複数パス含む単位時間Tbox 毎としたが、例えば1パス毎に発熱量計算を行っても構わない。また1パス毎に発熱判断を行っても構わない。但し、この場合、発熱量を積算する時間間隔が不規則になるので、放熱係数はその不規則な時間間隔に応じて可変となる。
【0154】
(変形例13)消費電流と駆動時間とに基づいて求めるのは発熱量に限定されない。発熱量に関する値であれば足りる。ここで、発熱量に関する値とは、例えば発熱量Q(J)を定数で除した値であり、その値そのものが発熱量に比例すれば足りる。単位は熱量(J)を表さなくても構わない。また、蓄熱量についても同様で、蓄熱量に関する値(蓄熱量に比例や略比例する値)であればよい。さらに発熱温度についても同様で、発熱温度に関する値(発熱温度に比例や略比例する値)であればよい。
【0155】
(変形例14)電動モータの発熱温度が所定の温度閾値を超えたら休止させるために発熱温度が所定の温度閾値を超えたかどうかを判定する判定値は、蓄熱量に関する値、発熱量の放熱を考慮して補正演算された積算値、発熱温度推定値など発熱温度に比例又は略比例する値であれば足りる。発熱温度が温度の閾値を超えたことは判定値に応じた閾値を設定することで判定値と閾値との比較から判定できる。なお、上記蓄熱量に関する値、上記積算値、上記発熱温度推定値は、互いに比例関係にあり、いずれを用いてもそれぞれに対応する閾値を設定することにより、電動モータの発熱温度が所定の温度閾値を超えたかどうかをほぼ正確に判定できる。もちろん上記以外の判定値を採用することもできる。
【0156】
(変形例15) 印刷動作中の1パス毎に電流値を実測するメジャメント処理を行い、実測電流値を基に1パス当たりの単位発熱量Qpassを計算する方式を採用することもできる。
【0157】
(変形例16)1パス当たりの実効電流値の求め方は、定速域の電流値(負荷電流値)とイナーシャ分の電流値(イナーシャ電流値)を分けて取得する方法に限定されない。キャリッジの1パス移動中全域において電流値をサンプリングし、実効電流値の計算式を用いて1パス当たりの実効電流値を求める方法を採用することもできる。
【0158】
(変形例17) 前記実施形態のように電動モータが電圧制御の場合、1駆動当たりの実効電圧値を前記実施形態と同様の手法で求めることもできる。実効電流値が必要な場合も、実効電圧値から実効電流値は求められる。
【0159】
(変形例18) 電動モータは、CRモータに限定されない。例えば紙送りモータに適用してもよい。また、記録装置は、インクジェット式プリンタに限定されるものではなく、バブルジェット式プリンタ、ドットインパクト式プリンタ、レーザープリンタなどに適用することもできる。
【0160】
(変形例19) 記録装置は画像記録装置に限定されない。例えば液晶ディスプレイ、FED(面発光ディスプレイ)、等の電極形成に用いられる電極材(導電ペースト)噴射ヘッド、バイオchip製造に用いられる生体有機物噴射ヘッド、精密ピペットとしての試料噴射ヘッド等を備えた産業用途の記録装置(液体噴射装置)に適用することもできる。
【0161】
前記実施形態及び変形例から把握される技術的思想を、以下に記載する。
(1)給電手段から供給される電力を基に駆動される電動モータを備えた記録装置におけるモータ制御方法において、前記電動モータの消費電流と駆動時間に基づき発熱量に関する値を求める段階と、前記発熱量の積算値を時間経過による放熱を考慮した補正演算を伴って求める段階と、前記積算値が所定の閾値を超えたときに、前記電動モータをその駆動の合間に休止させるように制御する段階とを備えたことを特徴とする記録装置におけるモータ制御方法。
【0162】
(2)請求項1の発明において、前記電動モータは、移動体を加減速域と定速域とが設定された速度設定で1駆動移動させるように速度制御され、前記電動モータの1駆動当たりの消費電流値を、前記移動体を移動させるときに該電動モータにかかる負荷に依存する負荷電流値と、前記移動体を加減速させるときのイナーシャ分に相当する固定電流値とに分け、予め求めた前記固定電流値をメモリに記憶しておき、前記定速域の電流を実測して電流実測値を得る段階と、前記定速域の電流実測値に基づき決まる負荷電流値と、前記メモリに記憶されたイナーシャ電流値とを用いて1駆動当たりの消費電流値を求める段階とを備えたことを特徴とする記録装置におけるモータ制御方法。
(3)給電手段から供給される電力を基に駆動される電動モータを備えた記録装置におけるモータ制御方法において、前記電動モータの消費電流と駆動時間に基づき発熱量を求める段階と、前記発熱量の積算値を求める段階と、自然放熱を考慮して前記積算値を補正する段階と、前記補正後の積算値が所定の閾値を超えたときに、前記電動モータをその駆動の合間に休止させるように制御する段階とを備えたことを特徴とする記録装置におけるモータ制御方法。
【0163】
(4)給電手段から供給される電力を基に駆動される電動モータを備えた記録装置におけるモータ制御装置において、前記電動モータの消費電流と駆動時間に基づき発熱量を求める発熱量取得手段と、前記発熱量の積算値を求める積算手段と、自然放熱を考慮して前記積算値を補正する補正手段と、前記補正後の積算値が所定の閾値を超えたときに、前記電動モータをその駆動の合間に休止させるように制御する休止制御手段とを備えたことを特徴とする記録装置におけるモータ制御装置。
【0164】
(5)給電手段から供給される電力を基に駆動される電動モータを備え、印刷用のキャリッジが前記電動モータの駆動により往復動する記録装置において、前記電動モータの消費電流と駆動時間に基づきキャリッジの1パス毎の発熱量を求め、該発熱量を逐次積算して単位時間当たりの発熱量を求め、該発熱量を時間経過による放熱を考慮して逐次積算して得た積算値を基に前記電動モータの発熱温度を推定することを特徴とする記録装置におけるモータ温度推定方法。
【0165】
(6)給電手段から供給される電力を基に駆動される電動モータを備え、記録ヘッドを有するキャリッジが前記電動モータの駆動により主走査方向に往復移動することにより前記記録ヘッドによる記録媒体への記録が行われるシリアル式の記録装置において、前記電動モータの消費電流と駆動時間に基づき前記キャリッジの1パス単位の単位発熱量を求め、該単位発熱量を逐次積算して単位時間当たりの発熱量を求め、該単位時間当たりの発熱量を時間経過による放熱を考慮した補正演算を伴って逐次積算して得た積算値が所定の閾値を超えたら電動モータの発熱異常と判定することを特徴とする記録装置におけるモータ温度異常検出方法。
【0166】
(7)給電手段から供給される電力を基に駆動される電動モータを備え、記録ヘッドを有するキャリッジが前記電動モータの駆動により主走査方向に往復移動することにより前記記録ヘッドによる記録媒体への記録が行われるシリアル式の記録装置において、前記キャリッジを主走査方向に往復移動させるために駆動される電動モータと、前記電動モータの消費電流と駆動時間に基づきキャリッジの1パス単位の単位発熱量を求め、該単位発熱量を逐次積算して単位時間当たりの発熱量を求め、該単位時間当たりの発熱量を時間経過による放熱を考慮した補正演算を伴って逐次積算して得た積算値が所定の閾値を超えたら、前記キャリッジのパスとパスの合間に休止時間をもたせるように前記電動モータを制御することを特徴とする記録装置におけるモータ制御方法。
【0167】
(8)請求項7〜18のいずれか一項に記載の記録装置において、単位時間経過時に1パス途中にあるパスについては次の単位時間の発熱量の積算に加えることを特徴とする。
【0168】
(9)請求項7〜18のいずれか一項に記載の記録装置において、前記単位時間は、10秒〜5分の間である。10秒以上であるので、発熱判定のためのCPU等の手段の負担を軽減でき、また5分以内であるので電動モータの発熱制限が遅れる虞があまりない。
【0169】
(10)請求項12,13,15〜18のいずれか一項において、前記温度推定手段により推定された発熱温度が所定の閾値を超えると、前記電動モータの消費電力を小さく抑える電力調整手段を備えた。
【0170】
(11)請求項12,13,15〜18のいずれか一項において、前記温度推定手段により推定された発熱温度が所定の閾値を超えると、電動モータへの電力の供給を遮断する電力遮断手段を備えた。
【0171】
(12)請求項7〜18、前記(1)〜(11)の技術的思想のいずれか一つにおいて、前記単位時間は一定時間である。
(13)コンピュータに、請求項2〜18のいずれか一項に記載の記録装置における前記各手段として機能させることを特徴とするプログラム。
【0172】
【発明の効果】
以上詳述したように請求項1〜11、15〜18に記載の発明によれば、電動モータの消費電流と駆動時間とに基づき求めた発熱量を時間経過による放熱を考慮して積算した積算値を基に電動モータの発熱を比較的正確に推定できることから、電動モータの不要な休止を減らすことができるので、記録装置のスループットを向上させることができる。
【0173】
請求項12、13、15〜18に記載の発明によれば、温度センサを使わず、電動モータの発熱温度を時間経過による放熱を考慮して比較的正確に推定することができる。
【0174】
請求項14〜18に記載の発明によれば、温度センサを使わず、電動モータの発熱温度を時間経過による放熱を考慮して比較的正確に推定でき、電動モータの発熱異常を比較的正確に判定することができる。
【図面の簡単な説明】
【図1】一実施形態におけるプリンタシステムの電気的構成を示すブロック図。
【図2】印刷装置の要部斜視図。
【図3】DCユニットの電気的構成を示すブロック図。
【図4】(a)モータ電流値と(b)キャリッジ速度のグラフ。
【図5】モータ電流のグラフであり、(a)は低負荷時、(b)は高負荷時である。
【図6】CRモータの負荷電流と加減速電流とを説明するグラフ。
【図7】基準実効電流テーブルITを示すテーブル図。
【図8】CR1パス時間テーブルPTを示すテーブル図。
【図9】単位発熱量参照テーブルQTを示すテーブル図。
【図10】メジャメント処理のフローチャート。
【図11】単位時間当たりのモータ電流と単位発熱量の関係を示すグラフであり、(a)は休止なし、(b)は休止ありをそれぞれ示す。
【図12】時間経過による放熱を考慮した発熱温度を求めるための積算手順を説明するグラフ。
【図13】発熱系の放熱温度曲線を示すグラフ。
【図14】放熱系の放熱温度曲線を示すグラフ。
【図15】発熱制限処理を説明するグラフ。
【図16】休止時間テーブルW1を示すテーブル図。
【図17】休止時間テーブルW2を示すテーブル図。
【図18】発熱制限処理のフローチャート。
【図19】同じくフローチャート。
【符号の説明】
1…記録装置としてのインクジェット式記録装置(プリンタ)、5…移動体としてのキャリッジ、6…電動モータとしてのキャリッジモータ(DCモータ)、8…記録媒体としての用紙、9…記録ヘッドとしての印刷ヘッド、23…単位発熱量取得手段、発熱量取得手段、蓄熱量取得手段、発熱温度推定手段、休止制御手段、電流実測手段、演算手段、積算手段、判定手段を構成するCPU、27…メモリとしてのEEPROM、28…発熱量取得手段を構成するタイマIC、29…給電手段および休止制御手段を構成するDCユニット、30…休止制御手段を構成するキャリッジモータドライバ 、K…放熱係数、Qpass…発熱量、Qsigma…積算値、T1wait,T2wait,T3wait…休止時間、ΔT1,ΔT2,ΔT3…所定の閾値。
Claims (9)
- 給電手段から供給される電力を基に駆動される電動モータを備えた記録装置におけるモータ制御方法において、
前記電動モータの駆動速度と駆動量との異なる組合せ毎に前記電動モータの1駆動当たりの発熱量に関する値が対応付けられた発熱量参照データと、閾値に対応して設けられるとともに対応する閾値が高いほど休止時間が長く設定されかつ対応する閾値が同じであっても前記駆動速度及び前記駆動量の異なる組合せ毎に前記電動モータの休止期間を含む1駆動当たりの実効電流値がほぼ同じになるように可変の当該休止時間が対応付けられた休止時間参照データとを記憶するメモリを備え、
与えられた記録データから決まる駆動速度及び駆動量の情報に基づき前記電動モータを制御して当該電動モータを加速域と定速域と減速域とを有する速度プロファイルで定速域において前記駆動速度となるように1駆動毎に可変の前記駆動量で1駆動させる段階と、
前記電動モータの1駆動を終える度に当該1駆動の制御に用いた前記駆動速度及び駆動量の情報から前記発熱量参照データを参照して前記電動モータの1駆動当たりの発熱量に関する値を逐次取得する段階と、
前記発熱量に関する値を用いて放熱を考慮して前記電動モータの蓄熱量に関する値を逐次求める段階と、
前記蓄熱量に関する値が所定の閾値を超えたか否かを判断し、当該閾値を超えた場合は、前記電動モータの1駆動を終える度に、閾値が高いほど長い値に設定された休止時間のうちその超えた閾値に応じた休止時間を取得するとともに、該休止時間の取得に際して当該1駆動の制御に用いた前記駆動速度及び前記駆動量の情報を基にその超えた閾値と対応する前記休止時間参照データを参照して前記電動モータの休止期間を含む1駆動当たりの実効電流値がほぼ同じになる休止時間を取得し、前記電動モータを当該1駆動を終えてから次の1駆動を開始するまでの間に前記取得した休止時間の休止を入れるように制御する段階とを備えたことを特徴とする記録装置におけるモータ制御方法。 - 給電手段から供給される電力を基に駆動される電動モータを備えた記録装置において、
前記電動モータの駆動速度と駆動量との異なる組合せ毎に前記電動モータの1駆動当たりの発熱量に関する値が対応付けられている発熱量参照データと、閾値に対応して設けられるとともに対応する閾値が高いほど休止時間が長く設定されかつ対応する閾値が同じであっても前記駆動速度及び前記駆動量の異なる組合せ毎に前記電動モータの休止期間を含む1駆動当たりの実効電流値がほぼ同じになるように可変の当該休止時間が対応付けられた休止時間参照データとを記憶するメモリと、
与えられた記録データから決まる1駆動毎の駆動速度及び駆動量の情報に基づき前記電動モータを制御して当該電動モータを加速域と定速域と減速域とを有する速度プロファイルで定速域において前記駆動速度となるように1駆動毎に可変の前記駆動量で1駆動ずつ駆動させる制御手段と、
前記電動モータの1駆動を終える度に当該1駆動の制御に用いた前記駆動速度及び駆動量の情報から前記発熱量参照データを参照して前記電動モータの1駆動当たりの発熱量に関する値を逐次取得する発熱量取得手段と、
前記発熱量に関する値を用いて放熱を考慮して前記電動モータの蓄熱量に関する値を逐次求める蓄熱量取得手段とを備え、
前記制御手段は、前記蓄熱量に関する値が所定の閾値を超えたか否かを判断し、当該閾値を超えた場合は、前記電動モータの1駆動を終える度に、閾値が高いほど長い値に設定された休止時間のうちその超えた閾値に応じた休止時間を取得するとともに、該休止時間の取得に際して当該1駆動の制御に用いた前記駆動速度及び前記駆動量の情報を基にその超えた閾値と対応する前記休止時間参照データを参照して前記電動モータの休止期間を含む1駆動当たりの実効電流値がほぼ同じになる休止時間を取得し、前記電動モータを当該1駆動を終えてから次の1駆動を開始するまでの間に前記取得した休止時間の休止を入れるように制御することを特徴とする記録装置。 - 前記蓄熱量取得手段は、前記発熱量に関する値を放熱を考慮した補正演算を伴って積算し、該積算値に基づいて前記電動モータの前記蓄熱量に関する値として前記電動モータの発熱温度に関する値を推定する発熱温度推定手段であり、
前記制御手段は、前記発熱温度に関する値が所定の閾値を超えると、前記電動モータを駆動の合間に前記休止時間の休止を入れるように制御することを特徴とする請求項2に記載の記録装置。 - 前記記録装置は、記録ヘッドを有するキャリッジが主走査方向に往復移動することにより前記記録ヘッドによる記録媒体への記録が行われるシリアル式の記録装置であって、
前記電動モータは、前記キャリッジを主走査方向に往復移動させるために駆動される構成であり、
前記蓄熱量取得手段は、前記発熱量取得手段が取得した前記1駆動当たりの発熱量を時間経過による放熱を考慮した補正演算を伴って逐次積算して積算値を得る構成であり、
前記制御手段は、前記積算値が所定の閾値を超えたら、前記キャリッジの移動反転時に前記休止時間をもたせるように前記電動モータを制御することを特徴とする請求項2又は3に記載の記録装置。 - 前記記録装置は、記録ヘッドを有するキャリッジが主走査方向に往復移動することにより前記記録ヘッドによる記録媒体への記録が行われるシリアル式の記録装置であって、
前記電動モータは、前記キャリッジを主走査方向に往復移動させるために駆動される構成であり、
前記発熱量取得手段は、前記電動モータの1駆動当たりの発熱量を前記キャリッジの1パス単位の単位発熱量として取得し、取得した前記単位発熱量を逐次積算して単位時間当たりの発熱量を求める構成であり、
前記蓄熱量取得手段は、前記単位時間当たりの発熱量を時間経過による放熱を考慮した補正演算を伴って逐次積算して積算値を得る構成であり、
前記制御手段は、前記積算値が所定の閾値を超えたら、前記キャリッジのパスとパスの合間に前記休止時間をもたせるように前記電動モータを制御することを特徴とする請求項2又は3に記載の記録装置。 - 前記記録装置の電源投入直後の初期化処理の1つとして、前記電動モータを1駆動させて定速域での電流値を測定するメジャメント処理を行い、当該メジャメント処理で得られた前記定速域での電流値を用いて1駆動当たりの実効電流値を駆動速度及び駆動量の異なる組合せ毎に求め、求めた当該1駆動当たりの実効電流値を用いて前記発熱量参照データを生成し、生成した前記発熱量参照データを前記メモリに記憶する参照データ生成手段をさらに備えたことを特徴とする請求項2〜5のいずれか一項に記載の記録装置。
- 前記電動モータの1駆動当たりの実効電流値を、前記電動モータにかかる負荷に依存する負荷電流値と、前記電動モータを加減速させるときのイナーシャ分に相当する固定電流値とに分け、駆動速度及び駆動量の異なる組合せ毎の前記固定電流値を記憶するメモリと、
前記定速域の電流を実測して電流実測値を得る電流実測手段と、
前記定速域の電流実測値に基づいて決まる負荷電流値と、前記メモリに記憶された固定電流値とを用いて1駆動当たりの実効電流値を駆動速度及び駆動量の異なる組合せ毎に演算する演算手段と、
前記1駆動当たりの実効電流値を用いて前記発熱量参照データを生成し、生成した前記発熱量参照データを前記メモリに記憶する参照データ生成手段とをさらに備えたことを特徴とする請求項2〜5のいずれか一項に記載の記録装置。 - 請求項2〜7のいずれか一項に記載の記録装置において、
前記放熱の系が、発熱を伴って放熱する発熱系か、発熱を伴わずに放熱する放熱系かを判定する判定手段をさらに備え、
前記蓄熱量取得手段は、前記判定手段により判定された系に応じた放熱係数を選択して前記補正演算を行うことを特徴とする記録装置。 - 請求項8に記載の記録装置において、
前記判定手段は、前記電動モータの単位時間当たりの駆動回数を計数し、当該単位時間当たりの駆動回数が、前記放熱の系を前記発熱系とみなしうる前記電動モータの単位時間当たりの最低駆動回数である設定回数以上であるか否かを判断し、前記駆動回数が前記設定回数以上であれば前記発熱系と判定し、前記設定回数未満であれば前記放熱系と判定することを特徴とする記録装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002256223A JP4396089B2 (ja) | 2001-08-31 | 2002-08-30 | 記録装置におけるモータ制御方法及び記録装置 |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001-265121 | 2001-08-31 | ||
JP2001265121 | 2001-08-31 | ||
JP2002256223A JP4396089B2 (ja) | 2001-08-31 | 2002-08-30 | 記録装置におけるモータ制御方法及び記録装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2003159857A JP2003159857A (ja) | 2003-06-03 |
JP4396089B2 true JP4396089B2 (ja) | 2010-01-13 |
Family
ID=26621503
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002256223A Expired - Fee Related JP4396089B2 (ja) | 2001-08-31 | 2002-08-30 | 記録装置におけるモータ制御方法及び記録装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4396089B2 (ja) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007333897A (ja) * | 2006-06-13 | 2007-12-27 | Fuji Xerox Co Ltd | 画像形成装置 |
JP4878334B2 (ja) | 2007-06-14 | 2012-02-15 | 株式会社リコー | 自動原稿搬送装置、画像読取装置および画像形成装置 |
JP5871505B2 (ja) * | 2011-07-29 | 2016-03-01 | キヤノン株式会社 | プリント装置およびプリント方法 |
JP2014000679A (ja) * | 2012-06-15 | 2014-01-09 | Seiko Epson Corp | プリンターおよびその制御方法 |
JP7472388B1 (ja) | 2023-12-11 | 2024-04-22 | Dmg森精機株式会社 | 工作機械 |
-
2002
- 2002-08-30 JP JP2002256223A patent/JP4396089B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2003159857A (ja) | 2003-06-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6719396B2 (en) | Motor control method in recording apparatus and recording apparatus | |
EP0226449B1 (en) | Apparatus and method for calculating parameters of print head drive system for printer | |
JP4396089B2 (ja) | 記録装置におけるモータ制御方法及び記録装置 | |
US20080049062A1 (en) | Printer and printing method | |
US7132814B2 (en) | Method of calculating correction value and method of manufacturing printer | |
EP1408607A1 (en) | Motor controller | |
JP3941438B2 (ja) | 記録装置におけるモータ制御方法及び記録装置 | |
US7821216B2 (en) | Motor control method and control device | |
JP4124126B2 (ja) | モータ制御装置 | |
JP2003079178A (ja) | 記録装置におけるモータ制御方法、電流値取得装置及び記録装置 | |
JP6665636B2 (ja) | 制御システム及び画像形成システム | |
US6822411B2 (en) | Method and apparatus for controlling motors | |
US6310459B1 (en) | DC motor control device and control method | |
JP3956922B2 (ja) | モータ制御方法及び制御装置 | |
JP2005153258A (ja) | プリンタ制御装置及びプリンタ制御方法並びにプリンタ | |
JP2019166761A (ja) | モーター制御方法およびモーター制御装置 | |
JP2015220803A (ja) | モーター制御装置、記録装置およびモーター制御方法 | |
JP3690374B2 (ja) | モータ制御方法およびモータ制御装置 | |
US7194339B2 (en) | Method of controlling motor, motor control device, and printing method | |
JP2005102345A (ja) | 記録装置 | |
JP2003079172A (ja) | モータ制御装置及びプリンタ | |
US7764037B2 (en) | Electronic apparatus and method of controlling electric motor mounted in electronic apparatus | |
JP3714253B2 (ja) | 直流モータの速度制御装置 | |
JP2017132180A (ja) | 印刷装置および位置制御方法 | |
JP2006025497A (ja) | モータ制御方法及び制御装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20041216 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20061219 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20081118 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090116 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090303 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090507 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090707 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090831 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20090929 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20091012 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121030 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121030 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131030 Year of fee payment: 4 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |