以下に本発明の実施例について、図面と共に説明する。
図1は、本発明が適用された印刷装置1の構成を表すブロック図である。また、図2は、ヘッド搬送機構40の構成を表す説明図である。
図1に示すように、本実施例の印刷装置1は、CPU11と、CPU11が実行するプログラム等を記憶するROM13と、プログラム実行時に作業領域として使用されるRAM15と、設定情報等を記憶するEEPROM17と、パーソナルコンピュータ(PC)3に接続され、PC3から送信されてくる印刷指令や当該印刷指令と共に送信されてくる印刷対象データを受信するインタフェース19(例えば、USBインタフェース)と、印字制御部21と、モータ制御部31と、を備える。
また、印刷装置1は、インク液滴を吐出する記録ヘッド23と、記録ヘッド23を駆動するためのヘッド駆動回路25と、記録ヘッド23を主走査方向に搬送するキャリッジ41やキャリッジ41を主走査方向に移動させるためのCRモータ43等で構成されるヘッド搬送機構40と、用紙をインク吐出領域に搬送するための搬送ローラ(図示せず)や当該搬送ローラを回転させるためのLFモータ61等で構成される用紙搬送機構60と、を備える。尚、CRモータ43及びLFモータ61は、DC(直流)モータで構成されている。
その他、印刷装置1は、CRモータ43を駆動するためのCRモータ駆動回路51と、CRモータ43によって駆動されるキャリッジ41の位置に対応してパルス信号を出力するCRエンコーダ53と、LFモータ61を駆動するためのLFモータ駆動回路71と、LFモータ61が所定角度回転する度にパルス信号を出力するロータリーエンコーダからなるLFエンコーダ73と、を備える。
詳述すると、記録ヘッド23は、周知のピエゾ型インクジェットヘッドと同一構成にされ、駆動電圧が印加されると、インク室に隣接する圧電部を変形させて、インク室の容積を変化させることにより、インク室内のインクをノズルから用紙に向けて吐出する構成にされている。この記録ヘッド23は、シアン(C)、マゼンタ(M)、イエロー(Y)、ブラック(K)の各色のインク液滴を吐出するためのノズル23C,23M,23Y,23Kを備え、ノズル23C,23M,23Y,23Kから該当する色のインク液滴を吐出することにより、用紙にカラー画像を形成する。また、記録ヘッド23は、キャリッジ41に搭載されており、キャリッジ41に搬送されて、主走査方向に移動する。
また、ヘッド搬送機構40は、キャリッジ41がガイド軸42に沿って移動可能に設置され、キャリッジ41が、無端ベルト44に連結された構成にされている。無端ベルト44は、CRモータ43の駆動力を受けて回転するプーリー45とアイドルプーリー46との間に掛けられ、CRモータ43の駆動力をプーリー45を介して受けて、回転する。即ち、ヘッド搬送機構40は、CRモータ43の回転力を受けて、無端ベルト44が回転することにより、キャリッジ41が、ガイド軸42に沿って主走査方向に移動する構成にされている。
また、印刷装置1には、図2に示すように、ガイド軸42に沿って、スリットが一定の微小間隔で形成されたタイミングスリット47が設けられ、タイミングスリット47に形成されたスリットの間隔を読み取ってキャリッジ41の位置に対応したパルス信号を出力するセンサ素子(図示せず)が、キャリッジ41に設けられている。即ち、本実施例においては、タイミングスリット47とセンサ素子とにより、リニアエンコーダとしてのCRエンコーダ53が構成されている。
この他、ガイド軸42に沿うキャリッジ41の移動経路の前方端部には、キャップ機構81及びポンプ83を備えたメンテナンスユニット80が設けられている。このメンテナンスユニット80は、メンテナンスフレーム85の上部にキャップ機構81を有し、メンテナンスフレーム85の下部に、記録ヘッド23のノズル23C,23M,23Y,23Kに付着する残留インクを吸引するためのポンプ83を有する。また、キャップ機構81は、図3及び図4に示す構成にされている。
図3及び図4は、キャップ機構81の構成を表す説明図である。キャップ機構81は、主として、キャップリフトホルダ810と、ノズルキャップ811と、2本の平行な等長リンク813,814を1組とした2組の等長リンク813,814と、を備え、キャップリフトホルダ810が、2組の等長リンク813,814からなる4節リンク機構により、メンテナンスフレーム85に係合されてなる。
即ち、等長リンク813の一端は、係合部813aにおいてキャップリフトホルダ810に係合され、他端は、メンテナンスフレーム85の固定点Caに回転可能に固定されている。また、等長リンク814の一端は、係合部814aにおいてキャップリフトホルダ810に係合され、他端は、メンテナンスフレーム85の固定点Cbに回転可能に固定されている。
この他、メンテナンスユニット80には、メンテナンスフレーム85に、キャップリフトホルダ810の前方下端を支持するキャップ支持部87が設けられている。また、キャップリフトホルダ810の後方下端には、キャップリフトホルダ810の下面よりも下側でメンテナンスフレーム85に接続されたバネ815の他端が接続されており、バネ815は、キャップリフトホルダ810に対し、後方斜め下方向の付勢力を作用させるように、配置されている。
また、キャップリフトホルダ810は、前方端部に、上方へ立設された受け板810aを備えた構成にされている。この受け板810aは、記録ヘッド23が前進してきたときに、記録ヘッド23と当接する位置まで上方に立設されており、記録ヘッド23からの押圧力を受けて、キャップリフトホルダ810を上昇させる機能を果たす。
即ち、キャリッジ41が主走査方向に沿って前進して、記録ヘッド23が受け板810aに接触すると、その後、キャリッジ41及び記録ヘッド23が前進することによって、受け板810aには押圧力が働き、キャップリフトホルダ810は、前方に移動するが、この際には、等長リンク813,814が固定点Ca,Cbを中心として回動するため、キャップリフトホルダ810は、等長リンク813,814に規制されて、上昇することになる。
尚、キャリッジ41及び記録ヘッド23が更に前方に移動すると、等長リンク813,814は、最終的に、垂直に起立する(図4参照)。また、この過程では、キャップリフトホルダ810の上面に備えられたノズルキャップ811が、上方に押圧力を有した状態で記録ヘッド23のノズル面周囲に密着し、ノズル面周囲を包囲して、ノズル面をキャッピングする。
具体的に、キャップリフトホルダ810の上面に設けられたノズルキャップ811は、記録ヘッド23のノズル面に対応する大きさの凹部を有した方形状に構成されており、シリコンゴムにより構成されている。このノズルキャップ811は、キャップリフトホルダ810がキャップ支持部87に支持される最も下方の待機位置に位置するとき、記録ヘッド23及びキャリッジ41の下面よりも低い場所に位置する。
一方、記録ヘッド23に押されてキャップリフトホルダ810が前方に円弧状に変位する過程において、ノズルキャップ811の位置は、記録ヘッド23の移動と共に、上昇し、ノズルキャップ811の上端縁は、記録ヘッド23のノズル面周囲に到達して接触する。その後、ノズルキャップ811は、記録ヘッド23に対する密着度を少しずつ高めて上昇する。また、最終的に、キャッピング位置において、記録ヘッド23のノズル面は、ノズルキャップ811により気密に保持され、記録ヘッド23は、キャッピングされた状態にされる。
尚、ノズルキャップ811及びキャップリフトホルダ810には、ポンプ83に繋がる排水路811a,810bが設けられており、ポンプ83が稼動すると、ノズル23C,23M,23Y,23Kに付着するインクは、ノズルキャップ811の排水路811a及びキャップリフトホルダ810の排水路810bを通じて、吸引され排出される。本実施例のメンテナンスユニット80は、このように動作する。
また、ポンプ83は、LFモータ61の駆動力を受けて動作する構成にされており、ガイド軸42には、記録ヘッド23のキャッピングが完了してキャリッジ41が停止するキャッピング位置よりも所定距離手前の位置Pzに、ガイド軸42に沿って摺動可能に、ポンプ稼動部材95が設けられている。
このポンプ稼動部材95は、キャリッジ41が主走査方向に沿って前進する際に、記録ヘッド23に押圧されて移動し、キャッピング位置に記録ヘッド23が到達した時点でLFモータ61の駆動力がポンプ83へ伝達するように、動力伝達機構90を操作する。
即ち、動力伝達機構90は、ポンプ稼動部材95の移動に伴って、ギアの接続関係を切り替え、ポンプ稼動部材95が記録ヘッド23と共にキャッピング位置に到達すると、LFモータ61をポンプ83に接続する構成にされている。
また、この動力伝達機構90は、キャリッジ41を前進させるときの回転方向とは反対の負方向に、CRモータ43が回転すると、ギアの接続関係を切り替えて、ポンプ83とLFモータ61との接続を遮断する構成にされている。また、詳細は図示しないが、本実施例の印刷装置1は、キャリッジ41がキャッピング位置から後退するとき、ポンプ稼動部材95が初期位置Pzに復帰する構成にされている。
尚、図5は、このポンプ稼動部材95の構成及び動作を示した説明図である。図5に示すように、本実施例のポンプ稼動部材95は、ガイド軸42に挿通された筒部95aと、記録ヘッド23の押圧力を受ける接触部95bとを備え、筒部95aから板状の接触部95bがガイド軸42に対して垂直方向に延設された構成にされている。また、接触部95bは、記録ヘッド23との接触時に湾曲して衝撃を吸収するプラスチック部材で構成されている。
このポンプ稼動部材95は、キャリッジ41が前進する過程で、記録ヘッド23と接触すると(図5(a))、その後、記録ヘッド23の押圧力を受けて、静止した状態で撓む(図5(b)参照)。そして、更に、記録ヘッド23が前進すると、当該撓みの復元力及び記録ヘッド23からの押圧力により、ガイド軸42に沿って移動する。このような過程を経て、ポンプ稼動部材95は、ガイド軸42に沿って、記録ヘッド23と共に前方に移動する。本実施例では、このようなポンプ稼動部材95の動作により、ポンプ83が、最終的に稼動する。
この他、印字制御部21は、CPU11の指令により動作を開始すると、CRエンコーダ53から入力されるパルス信号及びCPU11から入力される画像データに基づき、記録ヘッド23を、ヘッド駆動回路25を通じて制御し、CPU11から入力された画像データに応じた画像を、記録ヘッド23を通じ、用紙に形成する構成にされている。具体的に、印字制御部21は、周知の印刷装置と同様、CRエンコーダ53から入力されるパルス信号に基づき、キャリッジ41の移動に合わせて駆動電圧を記録ヘッド23に印加し、記録ヘッド23に、ノズル23C,23M,23Y,23Kからインク液滴を吐出させて、用紙に画像を形成する。
また、モータ制御部31は、図6に示すように、CRモータ制御部31a、CR位置カウンタ31b、LFモータ制御部31c、及び、LF位置カウンタ31dを備え、CRモータ制御部31aにより、CRモータ43を制御し、LFモータ制御部31cにより、LFモータ61を制御する構成にされている。即ち、本実施例では、モータ制御部31がCRモータ駆動回路51及びLFモータ駆動回路71に対して、モータ43,61への入力電流量Iを設定し、CRモータ駆動回路51及びLFモータ駆動回路71が設定された電流Iで、モータ43,61を駆動することにより、CRモータ43及びLFモータ61の制御が実現される。
尚、図6は、モータ制御部31の詳細構成を示したブロック図である。具体的に、CRモータ制御部31aは、CPU11から画像形成処理の開始指令が入力されると、CR位置カウンタ31bから得られるキャリッジ41の位置座標に基づき、次のようにキャリッジ41が動作するように、CRモータ43を制御する。
即ち、CRモータ制御部31aは、CPU11から画像形成処理の開始指令が入力されると、キャリッジ41を、ホームポジションであるキャッピング位置から、キャッピング位置とは反対側の調整領域の始点まで、後退させる。その後、キャリッジ41を前方に加速させて、記録領域の始点(調整領域の終点)で、キャリッジ41の移動速度Vnが、CPU11から指定された目標移動速度Vsになるようにする。
また、CRモータ制御部31aは、記録領域内において、CPU11から指定された目標停止位置より所定距離手前の位置まで、キャリッジ41が目標移動速度Vsで定速走行するように、CRモータ43を制御し、上記目標停止位置より所定距離手前の位置にキャリッジ41が到達した場合には、目標停止位置でキャリッジ41が停止するように、CRモータ43を制御する。また、目標停止位置でキャリッジ41が停止した場合には、再び、キャリッジ41を調整領域の始点まで移動させ、その後、キャリッジ41を上述の手法で目標停止位置まで移動させる。
CRモータ制御部31aは、このような動作を画像形成処理の終了指令がCPU11から入力されるまで繰返し実行して、キャリッジ41を往復運動させる。尚、キャリッジ41が前進する過程では、印字制御部21による記録ヘッド23の制御により、記録領域において用紙にインク液滴が吐出され、この動作により、本実施例の印刷装置1では、用紙に画像が形成される。
この他、CRモータ制御部31aは、画像形成処理の終了指令がCPU11から入力されると、キャリッジ41を、記録領域の終点(待機領域の始点)まで移動させて停止させ、その後には、CRモータ43へ入力する電流量Iを、徐々に上げるようにしてキャリッジ41を前進させる。また、CRモータ制御部31aは、CR位置カウンタ31bが示すキャリッジ41の位置座標が1進む度に、キャリッジ41が前進したとして、CRモータ43へ入力する電流量Iを、一旦初期値Ikeepに下げ、その後、電流量Iを、この初期値Ikeepから徐々に上げるようにして、CRモータ43を駆動する。このような処理によって、CRモータ制御部31aは、待機領域において、キャリッジ41を微小速度でキャッピング位置まで移動させる(図7〜図9,図12,図13参照。詳細後述)。
また、CR位置カウンタ31bは、CRエンコーダ53が出力するパルス信号(A相信号、B相信号)に基づき、キャリッジ41の進行方向を検出すると共に、キャリッジ41が所定量(スリット間隔L)変位したことを検知し、キャリッジ41が所定量前進した場合には、位置座標を1加算し、キャリッジ41が所定量後退した場合には、位置座標を1減算して、キャリッジ41の位置座標を算出する構成にされている。
この他、LFモータ制御部31cは、CPU11から、画像形成処理の開始指令に先駆けて給紙指令が入力されると、用紙の先端を、所定位置まで搬送し、その後、画像形成処理の開始指令が入力されると、キャリッジ41が主走査方向に目標停止位置まで移動する度に、用紙を所定量送り出すように、LFモータ61を制御する構成にされている。具体的に、LFモータ制御部31cは、LF位置カウンタ31dが示す用紙の位置座標に基づき、LFモータ61に入力する電流量Iを調整して、LFモータ61を制御する。
尚、LF位置カウンタ31dは、CR位置カウンタ31bと同様、LFエンコーダ73が出力するパルス信号(A相信号、B相信号)に基づき、用紙の進行方向を検出すると共に、用紙が所定量変位したことを検知し、用紙が所定量前進した場合には、位置座標を1加算し、用紙が所定量後退した場合には、位置座標を1減算して、用紙の位置座標を算出する構成にされている。尚、LF位置カウンタ31dが保持する位置座標は、用紙の搬送経路に配置された図示しないセンサにより用紙の先端が検出された地点で、リセットされて、位置座標の原点位置が設定される。
続いて、CRモータ制御部31aが、待機領域の始点からキャリッジ41をキャッピング位置まで移動させる過程において実行するモータ制御処理、について詳述する。CRモータ制御部31aは、上述したように、画像形成処理の終了指令を受けて、キャリッジ41を、記録領域の終点(待機領域の始点)まで移動させた場合には、その後、図7に示すモータ制御処理を開始し、キャリッジ41を微小速度でキャッピング位置まで移動させる。
尚、待機領域の始点から、上記モータ制御処理を実行して、キャリッジ41を微小速度で移動させる理由は、記録ヘッド23に対してキャッピングが行われる過程で、記録ヘッド23が高速に移動すると、ノズルキャップ811が記録ヘッド23のノズル面を強く擦って、ノズル面が傷ついてしまう可能性があるためである。
本実施例の印刷装置1では、記録ヘッド23の移動に伴う押圧力により、ノズルキャップ811を、上昇させてノズル位置まで移動させる。また、記録ヘッド23の移動に伴う押圧力により、ポンプ稼動部材95を移動させて、動力伝達機構90を操作する。従って、記録ヘッド23をキャッピング位置まで移動させる際には、CRモータ43に対して大きな負荷変動が生じる。よって、単純なモータ制御では、負荷変動の影響を受けてキャリッジ41の速度を十分に制御することができない。このため、本実施例では、図7に示すモータ制御処理を実行することにより、大きな負荷変動が生じても、キャリッジ41(記録ヘッド23)を微小速度で移動させることができるようにしている。
図10は、キャップ機構81に記録ヘッド23が当接する地点A1前後のCRモータ43の負荷変動を示したグラフである。図10に示すように、地点A1に到達する前において、CRモータ43に対する負荷変動は殆どないが、キャップ機構81に記録ヘッド23が当接した地点から、前方にキャリッジ41が移動する際には、負荷が大きく上昇する。
また、ポンプ稼動部材95に記録ヘッド23が当接する地点B1から前方にキャリッジ41が移動する際には、初期において、ポンプ稼動部材95が静止した状態で図5(a)〜図5(b)に示すように変形するため、負荷が少しずつ上昇する。また、ポンプ稼動部材95が摩擦による静止状態を維持できなくなる地点B2では、撓みの復元力によってポンプ稼動部材95が瞬間的に前進するため、ポンプ稼動部材95が移動を開始した地点B3では、図11に示すように、急激にCRモータ43に対する負荷が減少する。尚、図11は、ポンプ稼動部材95が移動する過程における負荷変動を示したグラフである。
本実施例のCRモータ制御部31aは、このような負荷変動が生じても、キャリッジ41の速度が大幅に変動しないように、モータ制御処理を実行する。
図7は、CRモータ制御部31aが実行するモータ制御処理を表すフローチャートである。モータ制御処理を開始すると、CRモータ制御部31aは、キャリッジ41が前進したときに設定するCRモータ43への入力電流量Ikeepとして、設計段階で定められた値Ikeep0(但し、Ikeep0は正値)を設定すると共に、パラメータMの値をゼロに設定し、パラメータFの値をゼロに設定する(S110)。
また、この処理を終えると、CRモータ制御部31aは、パラメータPback_posの値を、CR位置カウンタ31bが示すキャリッジ41の位置座標に設定すると共に(S120)、パラメータP(0),P(1),P(2),…,P(i),…,P(n)の値を、パラメータPback_posと同値に設定する(S130)。その後、S140に移行する。
尚、パラメータPback_posは、キャリッジ41が後退したときに当該後退直前のキャリッジ41の位置座標が設定されるものであり、パラメータP(i)は、キャリッジ41の現在の位置座標をP(n)として、これより(n−i)サイクル過去のキャリッジ41の位置座標が設定されるものである。これらのパラメータIkeep,M,F,Pback_pos,P(i){i:i=0,1,2,…,n}の値は、CRモータ制御部31aが有する図示しない記憶部に記憶される。また、上述の値nは、後述する定数Sv1,Sv2の値に基づいて設計段階で任意に定められる。
S140に移行すると、CRモータ制御部31aは、CRモータ43への入力電流量Iを値I0(但し、I0は正値)に設定し、CRモータ駆動回路51を介して、CRモータ43を電流I=I0で駆動する(S140)。その後、S150に移行する。尚、値I0は、キャリッジ41の静止摩擦に応じて、CRモータ43が電流I=I0で駆動されてもキャリッジ41が移動しない程度の値に、設計段階で、定められる。
また、S150に移行すると、CRモータ制御部31aは、パラメータP(0)に、パラメータP(1)の現在値を設定し、パラメータP(1)に、パラメータP(2)の現在値を設定すると言った具合で、i=0から順にi=n−1まで、パラメータP(i)の値を、パラメータP(i+1)の現在値に更新する処理を行う(P(i)←P(i+1))。この他、パラメータP(n)の値を、CR位置カウンタ31bが示すキャリッジ41の現在の位置座標に更新する。このようにして、CRモータ制御部31aは、現在からnサイクル分過去の時点までのキャリッジ41の位置座標の軌跡を、離散的に、パラメータP(i)として記憶する。
また、S150の処理を終えると、CRモータ制御部31aは、S160に移行し、パラメータP(n)の値に基づき、キャリッジ41が、記録ヘッド23のキャッピング位置Prefまで到達したか否かを判断する。即ち、P(n)=Prefであるか否かを判断する。
そして、キャリッジ41がキャッピング位置Prefまで到達していないと判断すると(S160でNo)、パラメータP(n),P(n−1)の各値に基づき、キャリッジ41が後退したか否かを判断する(S170)。
具体的には、現在のキャリッジ41の位置座標を表すパラメータP(n)の値が、1サイクル前のキャリッジ41の位置座標を表すパラメータP(n−1)の値よりも小さいか否かを判断することにより、キャリッジ41が後退したか否かを判断する(S170)。
そして、キャリッジ41が後退したと判断すると(S170でYes)、図8に示す後退イベント後処理を実行する(S180)。また、当該後退イベント後処理の終了後には、S150に移行し、パラメータP(i)の値を再び更新して、S160以降の処理を実行する。
一方、キャリッジが後退していないと判断すると(S170でNo)、CRモータ制御部31aは、S190に移行して、パラメータP(n),P(n−1)の各値に基づき、キャリッジ41が前進したか否かを判断する(S190)。
具体的には、現在のキャリッジ41の位置座標を表すパラメータP(n)の値が、1サイクル前のキャリッジ41の位置座標を表すパラメータP(n−1)の値よりも大きいか否かを判断することにより、キャリッジ41が前進したか否かを判断する(S190)。
そして、キャリッジ41が前進したと判断すると(S190でYes)、図9に示す前進イベント後処理を実行する(S200)。また、当該前進イベント後処理の終了後には、S150に移行し、パラメータP(i)の値を再び更新して、S160以降の処理を実行する。
これに対し、キャリッジ41が前進していないと判断すると(S190でNo)、CRモータ制御部31aは、S210に移行し、CRモータ43への入力電流量を、現在の入力電流量Iに所定量Iinc(但し、Iincは正値)を加算した値I’=(I+Iinc)に設定し、CRモータ駆動回路51を介して、CRモータ43を電流I’=I+Iincで駆動する。
そして、S210での処理を終えると、CRモータ制御部31aは、S150に移行し、パラメータP(i)の値を更新した後、S160以降の処理を実行する。また、S160にて、キャリッジ41が記録ヘッド23のキャッピング位置Prefまで到達したと判断すると(S160でYes)、CRモータ43への入力電流量Iをゼロに設定し(S165)、その後、当該モータ制御処理を終了する。
続いて、CRモータ制御部31aがS180で実行する後退イベント後処理について説明する。図8は、CRモータ制御部31aが実行する後退イベント後処理を表すフローチャートである。
後退イベント後処理を開始すると、CRモータ制御部31aは、現在のキャリッジ41の位置座標を表すパラメータP(n)及び1サイクル前のキャリッジ41の位置座標を表すP(n−1)の各値に基づき、前サイクルからのキャリッジ41の後退量ΔPbを算出する(S310)。
ΔPb=P(n−1)−P(n)
また、この処理を終えると、後退量ΔPbが値1以下であるか否かを判断する(S315)。そして、前サイクルからのキャリッジ41の後退量ΔPbが値1以下であると判断すると(S315でYes)、S320に移行し、パラメータIkeepの値を、現在値に所定量Ikeep_up(但し、Ikeep_upは正値)を加算した値に更新する(Ikeep←Ikeep+Ikeep_up)。
その後、CRモータ制御部31aは、パラメータF=1に設定すると共に(S330)、パラメータM=1に設定し(S340)、これらの処理の実行後、当該後退イベント後処理を終了する。
一方、CRモータ制御部31aは、前サイクルからのキャリッジ41の後退量ΔPbが値1より大きいと判断すると(S315でNo)、S350に移行し、パラメータF=0に設定する。その後、S360に移行して、後退直前のキャリッジ41の位置座標P(n−1)がパラメータPback_posの値よりも小さいか否かを判断する。
即ち、現在の状態が、キャリッジ41が一旦後退した後、更に、その後退直前の位置に到達する前に後退した状態であるか否かを判断する。尚、本実施例においては、キャリッジ41が負荷に負けて後退した後、更に、その後退位置に到達する前に後退することは、基本的に発生しないが、ここでは、異常な状態に発展したときのエラー処理として、M=1にリセットする処理を実行するために、当該判断を行う。
そして、後退直前のキャリッジ41の位置座標P(n−1)がパラメータPback_posの値よりも小さいと判断すると(S360でYes)、パラメータM=1に設定した後(S365)、S370に移行する。
一方、後退直前のキャリッジ41の位置座標P(n−1)がパラメータPback_posの値以上であると判断すると(S360でNo)、S365の処理を実行することなく、S370に移行する。
また、S370に移行すると、CRモータ制御部31aは、パラメータPback_posの値を、後退直前のキャリッジ41の位置座標を表すパラメータP(n−1)の値に更新し、その後、S380に移行する。
また、S380に移行すると、CRモータ制御部31aは、パラメータMの値が1よりも大きいか否かを判断し、M>1であると判断すると(S380でYes)、S390に移行して、パラメータIkeepの値を、現在値から値(M*Ikeep_up)減算した値に更新する(Ikeep←Ikeep−Ikeep_up*M)。
尚、本実施例の印刷装置1は、キャリッジ41が位置Pback_posで後退すると、その後、キャリッジ41が前進して元の位置Pback_posに戻ったときに、初期値Ikeepを増加させる構成にされている(図9S450参照。詳細後述)。S390の処理は、このように大きくした電流量I=IkeepでCRモータ43を駆動しても、再びキャリッジ41が後退してしまう場合に、初期値Ikeepを増加前の値に更新するための処理である。本実施例のCRモータ制御部31aは、S390にて、この処理を実行すると、当該後退イベント後処理を終了し、S150に移行する。
一方、S380において、M≦1であると判断すると(S380でNo)、CRモータ制御部31aは、S390の処理を実行することなく、当該後退イベント後処理を終了する。その後、S150に移行する。
続いて、CRモータ制御部31aが、S200で実行する前進イベント後処理について説明する。図9は、CRモータ制御部31aが実行する前進イベント後処理を表すフローチャートである。
CRモータ制御部31aは、前進イベント後処理を開始すると、まず、S410にて、キャリッジ41が位置Pback_posを越えて前進したか否かを判断する。具体的に、CRモータ制御部31aは、キャリッジ41の現在位置を表すパラメータP(n)の値が、パラメータPback_posよりも大きいか否かを判断することにより、キャリッジ41が位置Pback_posを越えて前進したか否かを判断する。
そして、キャリッジ41が位置Pback_posを越えて前進したと判断すると(S410でYes)、パラメータM=1に設定する(S420)。その後、S430に移行する。一方、キャリッジ41が位置Pback_posを越えて前進していないと判断すると(S410でNo)、S420の処理を実行することなく、S430に移行する。
S430に移行すると、CRモータ制御部31aは、パラメータF=1であるか否かを判断し、パラメータF=1ではないと判断すると(S430でNo)、S440に移行する。
また、S440に移行すると、CRモータ制御部31aは、パラメータP(n)の値に基づき、キャリッジ41が、前回後退時の位置Pback_posに存在するか否かを判断し、キャリッジ41が位置Pback_posに存在すると判断すると(S440でYes)、S450に移行する。一方、キャリッジ41が位置Pback_posに存在しないと判断すると(S440でNo)、S445に移行する。
S450に移行すると、CRモータ制御部31aは、パラメータIkeepの値を、現在値に、値(M*Ikeep_up)を加算した値に更新する(Ikeep←Ikeep+Ikeep_up*M)。また、この後には、パラメータMの値を1加算した値に更新し(S460)、その後、S520に移行する。
また、S520に移行すると、CRモータ制御部31aは、CRモータ43への入力電流量Iを、初期値Ikeepに切り替え、CRモータ駆動回路51を介して、CRモータ43を電流I=Ikeepで駆動する(S520)。その後、当該前進イベント後処理を終了し、S150に移行する。
一方、S430において、パラメータF=1であると判断すると(S430でYes)、CRモータ制御部31aは、F=0に設定した後(S435)、S440〜S460の処理を実行することなく、S520に移行し、CRモータ駆動回路51を介して、CRモータ43を電流I=Ikeepで駆動する(S520)。尚、S430でYesと判断される場合には、それ以前に、S320でパラメータIkeepの値が更新されているので、S520において、CRモータ制御部31aは、S320で更新された初期値Ikeepで、CRモータ43を駆動することになる。このようにして、S520の処理を実行すると、CRモータ制御部31aは、当該前進イベント後処理を終了し、S150に移行する。
一方、S445に移行すると、CRモータ制御部31aは、キャリッジ41の現在位置P(n)が、位置Pback_posより前方にα進んだ位置(Pback_pos+α)を超えているか否かを判断する。尚、定数αは、設計者により、ゼロ又は正の値で、任意に定められる。尚、本実施例では、キャリッジ41の移動速度Vnが高いと、初期値Ikeepを下げる動作を行うが、キャリッジ41が前進したからといって、初期値Ikeepを上げた直後に、初期値Ikeepを下げると、再び、キャリッジ41が後退しまう可能性がある。S445での判断は、このような事態を回避するための処理である。
S445において、キャリッジ41の現在位置P(n)が、位置(Pback_pos+α)を超えていると判断すると(S445でYes)、CRモータ制御部31aは、S470に移行する。一方、キャリッジ41の現在位置P(n)が位置(Pback_pos+α)を超えていないと判断すると(S445でNo)、S520に移行する。そして、S520では、現在設定されている初期値Ikeepにて、CRモータ43を駆動する。
また、S470に移行すると、CRモータ制御部31aは、次の処理を実行する。即ち、CRモータ制御部31aは、キャリッジ41の現在位置P(n)と、Sv1サイクル前のキャリッジ41の位置P(n−Sv1)とに基づき、時間(Ts*Sv1)内に生じたキャリッジ41の変位量ΔP1を算出する。尚、ここでいうTsは、1サイクルの時間、即ち、S150の実行周期である。また、値Sv1は設計段階で定められる定数である。
ΔP1=P(n)−P(n−Sv1)
また、この処理を終えると、CRモータ制御部31aは、S475に移行し、変位量ΔP1が基準値Pv以上であるか否かを判断する。尚、値Pvは設計段階で定められる定数である(本実施例では、Pv=2であるものとする)。
即ち、S475では、キャリッジ41の移動速度Vnが、次式で表される第一基準速度Vth1以上であるか否かを判断する。但し、定数Lは、CRエンコーダ53のスリット間隔であり、CR位置カウンタ31bが示す位置座標(整数)の単位当りの距離である。
Vth1=(Pv*L)/(Sv1*Ts)
S475において、変位量ΔP1が基準値Pv未満であると判断すると(S475でNo)、CRモータ制御部31aは、S520に移行し、CRモータ43の入力電流量Iを、パラメータIkeepの現在値に切り替え、CRモータ駆動回路51を介し、CRモータ43を電流I=Ikeepで駆動する。その後、当該前進イベント後処理を終了する。即ち、キャリッジ41の移動速度Vnが第一基準速度Vth1未満である場合には、基本的に、キャリッジ41が前進する度、CRモータ43への入力電流量Iを、前回と同じ初期値Ikeepに切り替える動作を行う。
一方、S475において、変位量ΔP1が基準値Pv以上であると判断すると(換言すると、キャリッジ41の移動速度Vnが第一基準速度Vth1以上であると判断すると)、CRモータ制御部31aは、S480に移行し、パラメータIkeepの値を、現在値から所定量Ikeep_down減算した値に更新する。尚、減算量Ikeep_downは、設計段階で、設計者により予め定められる正の定数である。
また、この後には、S480で更新したパラメータIkeepの最新値が、負値であるか否かを判断し(S490)、パラメータIkeepの最新値が負値であると判断すると(S490でYes)、S500に移行し、パラメータIkeepの値を、下限値である値ゼロに更新する(Ikeep=0)。その後、S510に移行する。
一方、パラメータIkeepの最新値が、ゼロ又は正値であると判断すると(S490でNo)、CRモータ制御部31aは、S500の処理を実行することなく、S510に移行する。
また、S510に移行すると、CRモータ制御部31aは、キャリッジ41の現在位置P(n)と、Sv2サイクル前のキャリッジ41の位置P(n−Sv2)とに基づき、時間(Ts*Sv2)内に生じたキャリッジ41の変位量ΔP2を算出する。尚、Sv2は、設計段階において、定数Sv1よりも小さい値で定められる定数である。
ΔP2=P(n)−P(n−Sv2)
また、この処理を終えると、CRモータ制御部31aは、S515に移行し、変位量ΔP2が、基準値Pv以上であるか否かを判断する。即ち、S515では、キャリッジ41の移動速度Vnが、第一基準速度Vth1よりも大きい、次式で表される第二基準速度Vth2以上であるか否かを判断する。
Vth2=(Pv*L)/(Sv2*Ts)
そして、変位量ΔP2が基準値Pv未満であると判断すると(S515でNo)、CRモータ制御部31aは、S520に移行し、CRモータ43への入力電流量Iを、初期値Ikeepに切り替えて、CRモータ43を電流I=Ikeepで駆動する。その後、当該前進イベント後処理を終了して、S150に移行する。
即ち、CRモータ制御部31aは、キャリッジ41の移動速度Vnが、第一基準速度Vth1以上、第二基準速度Vth2未満である場合、S480で所定量Ikeep_down下げた初期値Ikeepに、電流量Iを切り替えることで、キャリッジ41の移動速度Vnが上がらないように対処する。
一方、CRモータ制御部31aは、変位量ΔP2が基準値Pv以上であると判断すると(S515でYes)、S530に移行し、CRモータ43への入力電流量Iを、ゼロに設定する(I=0)。即ち、本実施例では、キャリッジ41の移動速度Vnが第二基準速度Vth2以上となった場合、キャリッジ41の移動速度Vnが異常であるとして、CRモータ43への入力電流量Iを、一旦ゼロに設定し、キャリッジ41の移動速度Vnを抑える。その後、当該前進イベント後処理を終了して、S150に移行する。
以上、本実施例の印刷装置1の構成及び動作について説明したが、本実施例の印刷装置1では、CRモータ43に対する負荷が上昇し、CRモータ43への入力電流量Iを初期値Ikeepに切り替えたときに、キャリッジ41が後退する場合には、初期値Ikeepを上げて、負荷の上昇に対処する。
但し、本実施例では、後退量が大きい場合、上述した処理により、キャリッジ41が後退する直前の地点Pback_posに戻るまで、初期値Ikeepを上げないようにする。尚、図12は、キャリッジ41が後退した場合であって、後退量ΔPbが値1より大きい場合のキャリッジ41の位置P(n)の変化及びこのときのCRモータ43に対する入力電流量Iの変化を示したグラフである。
即ち、本実施例では、キャリッジ41が後退する直前の地点Pback_posに到達した時点で、パラメータのIkeepの値を増やし、CRモータ43への入力電流量Iを、この増加後の初期値Ikeepに切り替える。このような手法で、負荷の上昇に対処する。
負荷増加に対する対処方法としては、他に、キャリッジ41が後退した時点で、初期値Ikeepを上げてしまう方法が考えられるが、このような方法を採用すると、負荷が増加する手前で、初期値Ikeepを上げてしまうことになり、キャリッジ41が後退直前の地点Pback_posに到達するまでに加速してしまう可能性がある。そして、加速した状態で、キャリッジ41が後退直前の地点Pback_posを通過すると、場合によっては、キャッピング位置までキャリッジ41が勢いよく移動してしまい、記録ヘッド23のノズル面が傷ついてしまう可能性がある。
一方、本実施例では、上述したように、キャリッジ41が後退した場合でも後退する直前の地点Pback_posにキャリッジ41が到達するまで、初期値Ikeepを上げるのを保留するので、キャリッジ41が後退直前の地点Pback_posに到達するまでに加速してしまい、キャリッジ41を微小速度でキャッピング位置まで移動させることができなくなるのを防止することができる。
従って、本実施例によれば、負荷が上昇する場合に、当該負荷変動に依らず、従来よりも好適に、キャリッジ41を微小速度で移動させることができ、例えば、記録ヘッド23のノズル面が傷ついてしまうのを防止することができる。
また、本実施例では、負荷の急激な上昇により、初期値Ikeepを上げてCRモータ43を駆動しても、再びキャリッジ41が後退してしまう場合には、キャリッジ41が後退しなくなるまで、段階的に、初期値Ikeepを上げて対応するようにした。従って、本実施例では、初期値Ikeepを1度に大きく上げる場合よりも、キャリッジ41を微小速度で安定的にキャッピング位置まで移動させることができる。
この他、本実施例では、キャリッジ41の移動速度Vnが第一基準速度Vth1以上となった場合、図13(a)に示すように、初期値Ikeepを下げて、キャリッジ41の移動速度Vnを抑えるようにした。また、キャリッジ41の移動速度Vnが、更に大きい第二基準速度Vth2以上となった場合には、図13(b)に示すように、CRモータ43の入力電流量Iを、一旦ゼロに下げて、キャリッジ41の移動速度Vnを抑えるようにした。
従って、本実施例によれば、負荷が急激に減少する場合であっても、キャリッジ41を安定的に微小速度でキャッピング位置まで移動させることができる。従って、本実施例によれば、負荷減少にも適切に対応することができ、キャリッジ41が高速移動してしまうことにより、記録ヘッド23のノズル面が傷ついてしまうのを防止することができる。
また、本実施例では、キャリッジ41の位置座標の軌跡P(n),〜,P(0)を記憶し、所定時間(Sv1*Ts)内にキャリッジ41が変位した量ΔP1を算出し、この変位量ΔP1に基づいて、キャリッジ41の移動速度Vnが基準速度Vth1以上であるか否かを判定するようにした。従って、本実施例によれば、速度判定に当たって、エンコーダとは別に、速度検出用のセンサ(ハードウェア)を用いる必要がなく、安価に、本発明を適用した印刷装置1を構成することができる。
尚、本発明のモータ駆動手段は、本実施例において、CRモータ駆動回路51及びS520,S530,S210の処理により実現され、検知手段は、S190の処理により実現され、後退判定手段は、S170の処理により実現されている。また、速度判定手段は、S475の処理により実現され、初期値更新手段は、S480,S320,S440,S450の処理により実現され、位置検出手段は、CRエンコーダ53及びCR位置カウンタ31bにより実現されている。この他、軌跡記憶手段は、S150の処理により実現され、変位量算出手段は、S470の処理により実現され、異常判定手段は、S515の処理により実現されている。
また、本発明は、上記実施例に限定されるものではなく、種々の態様を採ることができる。例えば、上記実施例では、CRモータ43でキャリッジ41及び記録ヘッド23を搬送する印刷装置1に、本発明を適用した例を説明したが、本発明は、キャリッジ41を搬送する装置に拘わらず、その他の各種装置に適用することができる。
1…印刷装置、11…CPU、13…ROM、15…RAM、17…EEPROM、19…インタフェース、21…印字制御部、23…記録ヘッド、25…ヘッド駆動回路、31…モータ制御部、31a…CRモータ制御部、31b…CR位置カウンタ、31c…LFモータ制御部、31d…LF位置カウンタ、40…ヘッド搬送機構、41…キャリッジ、42…ガイド軸、43…CRモータ、44…無端ベルト、45,46…プーリー、47…タイミングスリット、51…CRモータ駆動回路、53…CRエンコーダ、60…用紙搬送機構、61…LFモータ、71…LFモータ駆動回路、73…LFエンコーダ、80…メンテナンスユニット、81…キャップ機構、83…ポンプ、85…メンテナンスフレーム、87…キャップ支持部、90…動力伝達機構、95…ポンプ稼動部材、95a…筒部、95b…接触部、810…キャップリフトホルダ、810a…受け板、810b…排水路、811…ノズルキャップ、811a…排水路、813,814…等長リンク、813a,814a…係合部、815…バネ