以下に本発明の実施例について、図面と共に説明する。
本実施例の画像形成装置1は、インクジェットプリンタであり、図1に示すように、用紙搬送機構10と、キャリッジ搬送機構20と、記録ヘッド30と、モータドライバDR1,DR2と、ヘッド駆動回路DR3と、エンコーダ信号処理部SP1,SP2と、制御ユニット40と、を備える。
用紙搬送機構10は、印刷対象の用紙Qを、副走査方向に沿って記録ヘッド30による画像形成地点に搬送するためのものであり、動力源としてのLFモータ(直流モータ)M1と、用紙Qの搬送量を検出するためのロータリエンコーダE1と、を備える。この用紙搬送機構10は、図2(A)に示すように、搬送ローラ101と、搬送ローラ101に対向配置されるピンチローラ102と、排紙ローラ104と、排紙ローラ104に対向配置されるピンチローラ105と、プラテン107と、を更に備える。
用紙搬送機構10は、画像形成装置1が備える図示しない給紙機構から給紙された用紙Qを、搬送ローラ101とピンチローラ102との間に挟持し、この状態で搬送ローラ101をLFモータM1から発生する動力を用いて回転させることにより、用紙Qを、プラテン107に沿って、記録ヘッド30による画像形成地点(インク液滴の吐出地点)に搬送する。尚、所謂インクジェットヘッドとしての記録ヘッド30は、プラテン107上方において、用紙Qの搬送方向である副走査方向とは直交する主走査方向(図2(A)紙面法線方向)に移動可能に設けられている(詳細後述)。
そして、プラテン107よりも用紙搬送方向下流に設けられた排紙ローラ104は、搬送ローラ101とベルト等で連結されており、LFモータM1からの動力は、搬送ローラ101及び排紙ローラ104の両者に伝達する。即ち、用紙搬送機構10では、搬送ローラ101と排紙ローラ104とが、共にLFモータM1からの動力を受けて、互いに連動するように回転する。
排紙ローラ104は、LFモータM1からの動力を受けて、搬送ローラ101と同期回転し、搬送ローラ101からプラテン107に沿って搬送されてくる用紙Qを、ピンチローラ105との間で挟持し、更に用紙Qを副走査方向下流の排紙トレイ側に搬送する。排紙ローラ104の副走査方向下流には、図示しない排紙トレイが設けられており、用紙Qは、このような搬送ローラ101及び排紙ローラ104の回転動作により搬送されて、最終的に、排紙トレイに排出される。
また、ロータリエンコーダE1は、周知のインクリメンタル型のロータリエンコーダであり、搬送ローラ101の回転軸上に取り付けられた回転板(図示せず)を備え、回転板に形成されたスリットを読み取って、読取結果に応じたエンコーダ信号を出力する。即ち、ロータリエンコーダE1は、上記エンコーダ信号として、搬送ローラ101が所定量回転する度にパルス信号を出力し、これをエンコーダ信号処理部SP1に入力する。
また、エンコーダ信号処理部SP1は、ロータリエンコーダE1から入力されるパルス信号を検出する度に、位置カウント値X1を1インクリメント又は1デクリメントすることにより、搬送ローラ101の回転量、換言すれば、搬送ローラ101の回転位置を検出し、この検出値を位置カウント値X1として保持するものである。具体的に、エンコーダ信号処理部SP1は、搬送ローラ101が用紙搬送方向に正回転している場合には、パルス信号を検出する度に、位置カウント値X1を1インクリメントし、搬送ローラ101が逆回転している場合には、パルス信号を検出する度に位置カウント値X1を1デクリメントする。
尚、用紙Qは、基本的には、搬送ローラ101との間で滑りが発生しないように搬送されるため、上記エンコーダ信号から特定可能な搬送ローラ101の回転量は、用紙Qの搬送量に対応する。本実施例では、このロータリエンコーダE1を用いて搬送ローラ101の回転量を検出することで、用紙Qの搬送量を間接的に特定する。また、図示しないが、画像形成装置においては、一般的に搬送ローラ101の近傍に用紙Qの先端を検知するためのセンサが設けられる。搬送ローラ101による用紙Qの搬送量は、例えば、このセンサの出力信号とロータリエンコーダE1から得られるエンコーダ信号とに基づいて特定される。例えば、エンコーダ信号処理部SP1は、位置カウント値X1として、上記センサにより用紙Qの先端が検知された時点からのインクリメント動作及びデクリメント動作によって得られた値を保持する構成にすることができる。
本実施例の制御ユニット40は、このエンコーダ信号処理部SP1が保持する搬送ローラ101の位置カウント値X1に基づいて、LFモータM1に対する操作量Uを算出し、この操作量UをモータドライバDR1に入力することにより、LFモータM1の駆動制御、ひいては、搬送ローラ101の回転制御及び用紙Qの搬送制御を実現する。モータドライバDR1は、このようにして制御ユニット40から入力される操作量Uに対応する駆動電流をLFモータM1に印加することにより、LFモータM1を駆動する。
一方、キャリッジ搬送機構20は、記録ヘッド30を搭載したキャリッジ201を主走査方向に往復動させるためのものであり、図1に示すように、動力源としてのCRモータ(直流モータ)M2と、キャリッジ201の位置を検出するためのリニアエンコーダE2と、を備える。このキャリッジ搬送機構20は、図3(A)に示すように、記録ヘッド30を搭載したキャリッジ201と、ガイド軸203と、ベルト機構210と、キャップ機構220と、を更に備える。
ガイド軸203は、キャリッジ201の移動を主走査方向に規制するものであり、主走査方向に長尺に形成されたものである。キャリッジ201は、このガイド軸203に挿通されて、移動を主走査方向に規制される。
また、ベルト機構210は、CRモータM2から発生した動力をキャリッジ201に伝達するものであり、CRモータM2に駆動される駆動プーリ211と、従動プーリ212と、駆動プーリ211と従動プーリ212との間に巻回されたベルト213と、を備える。駆動プーリ211には、CRモータM2がギヤを介して接続されており、駆動プーリ211は、CRモータM2から発生する動力を、ギヤを介して受けて回転する。この駆動プーリ211の回転によって、駆動プーリ211と従動プーリ212との間に巻回されたベルト213は、CRモータM2からの動力を間接的に受けて回転し、従動プーリ212は、ベルト213を介して、駆動プーリ211に従動する。
ベルト213には、キャリッジ201が接続固定されている。従って、CRモータM2が回転すると、ベルト213の回転に連動し、キャリッジ201は、主走査方向に移動する。本実施例のキャリッジ搬送機構20は、このような機械的構成により、キャリッジ201を主走査方向に搬送する。
また、キャリッジ搬送機構20が備えるキャップ機構220は、キャリッジ201のホームポジションに設けられており、具体的には、ベルト機構210によるキャリッジ201の搬送路の一端に設けられている。このキャップ機構220は、図3(B)に示すように、キャリッジ201がホームポジションに近づくに従って、記録ヘッド30のノズル面30aを被覆するためのキャップ223をノズル面30aに近づくように上昇させ、キャリッジ201がホームポジションから遠ざかるに従って、キャップ223をノズル面30aから外すように降下させる機械的構造を有する。このキャップ機構220によれば、キャップ223による記録ヘッド30のノズル面30aの被覆により、ノズル面30aにおける乾燥が抑えられ、インク詰まり等が抑制される。
ここで、キャップ機構220の構成について詳述すると、本実施例のキャップ機構220は、モータ等の動力を直接的には用いずに、キャリッジ201からの押圧力及びキャップ機構220の自重及びバネの付勢力によりキャップ223を昇降させる機械的構造を有する。即ち、キャップ機構220は、キャップ223を備える水平状の下部構成体221aと、この下部構成体221aから上方に立設された、キャリッジ201からの押圧力を受ける上部構成体221bと、を備えた概略L字形状のキャップ機構本体221を備える。また、キャップ223と下部構成体221aとの間には、キャップ223を上方に付勢するコイルバネ224aが配置されている。また、不図示の装置筐体と上部構成体221bとの間には、上部構成対体221bを印字領域側に付勢するコイルバネ224bが配置されている。更に、キャップ機構220は、この下部構成体221aに接続された4本のリンク225を備える。このリンク225は、キャップ機構本体221の下部構成体221a、及び、下部構成体221aより下方に位置する画像形成装置1の部位に対して、回動可能に接続される。
このように構成されたキャップ機構220では、図3(B)に示すように、キャリッジ201がキャップ機構220に接近し、コイルバネの付勢力に逆らって上部構成体221bを主走査方向に押圧し始めると、リンク225が回動して、キャップ機構本体221が上昇し、これに伴ってキャップ223が記録ヘッド30のノズル面30aに向かって上昇する。そして、キャリッジ201がホームポジションで停止する直前で(図3(B)下段参照)、キャップ223が記録ヘッド30のノズル面30aを完全に被覆し、更に、この状態から下部構成体221aが持ち上げられコイルバネ224aを撓ませて、キャッピング動作を完了する。一方、キャリッジ201がキャップ機構220から遠ざかると、キャリッジ201の移動に合わせて、コイルバネ224a,224bの付勢力を受けながらリンク225がキャップ機構本体221の重みにより回動し、キャップ機構本体221が下降する。この動作により、キャップ223は、下降し、記録ヘッド30のノズル面30aから外れる。本実施例のキャップ機構220は、このような動作により、ホームポジションで記録ヘッド30のノズル面30aを被覆する。コイルバネ224a,224bの付勢力は、その伸縮状態によって変化する。そのため、キャップ機構220の昇降の間にキャリッジ201に対する負荷の変動が発生しやすい。
また、リニアエンコーダE2は、ガイド軸203に併設された主走査方向に長尺なエンコーダスケール230と、キャリッジ201に固定されたセンサ部(図示せず)とを備え、センサ部によりエンコーダスケール230を読み取って、キャリッジ201の移動に応じたパルス信号をエンコーダ信号として出力するものである。即ち、リニアエンコーダE2は、キャリッジ201が所定量主走査方向に移動する度に、センサ部から上記エンコーダ信号としてのパルス信号を出力し、このパルス信号をエンコーダ信号処理部SP2に入力する。
エンコーダ信号処理部SP2は、リニアエンコーダE2から入力されるパルス信号を検出する度に、位置カウント値X2を1インクリメント又は1デクリメントすることにより、キャリッジ201(換言すれば記録ヘッド30)の位置を検出し、この検出値を位置カウント値X2として保持する一方、リニアエンコーダE2から入力されるパルス信号の入力間隔からキャリッジ201の速度を検出して、この検出値を速度値V2として保持するものである。例えば、エンコーダ信号処理部SP2は、キャリッジ201がホームポジションに向かう方向に移動している場合には、パルス信号を検出する度に、位置カウント値X2を1インクリメントし、キャリッジ201がホームポジションから離れる方向に移動している場合には、パルス信号を検出する度に、位置カウント値X2を1デクリメントする。
本実施例の制御ユニット40は、このエンコーダ信号処理部SP2が保持するキャリッジ201の位置カウント値X2又は速度値V2に基づいて、CRモータM2に対する操作量Uを算出し、この操作量UをモータドライバDR2に入力することにより、CRモータM2の駆動制御、ひいては、キャリッジ201及び記録ヘッド30の搬送制御を実現する。モータドライバDR2は、このようにして制御ユニット40から入力される操作量Uに対応する駆動電流をCRモータM2に印加することにより、CRモータM2を駆動する。尚、操作量Uとして、電圧値が設定されてもよい。
また、制御ユニット40は、画像形成装置1全体を統括制御するものであり、上述したCRモータM2及びLFモータM1の駆動制御に加えて、記録ヘッド30によるインク液滴の吐出動作を、ヘッド駆動回路DR3を介して制御する処理を実行することにより、外部のパーソナルコンピュータ(PC)3から入力された印刷対象の画像データに基づく画像を、用紙Qに形成する。
即ち、制御ユニット40は、PC3から印刷対象の画像データが入力されると、図示しない給紙機構を通じて給紙トレイに載置された用紙Qを一枚分離し、用紙搬送機構10に供給する。更に、LFモータM1の駆動制御を行うことにより、用紙搬送機構10に供給された用紙Qの先頭を、記録ヘッド30による画像形成地点まで頭出しする。一方、CRモータM2の駆動制御を行うことにより、キャリッジ201及び記録ヘッド30を、ホームポジションから、ホームポジションとはキャリッジ搬送路の反対側の地点であるキャリッジ搬送開始地点に搬送する。
その後、制御ユニット40は、CRモータM2の駆動制御を行って、キャリッジ201をホームポジション手前の折返し地点までホームポジションに向かう方向に定速搬送する一方、定速搬送時には、ヘッド駆動回路DR3を介して記録ヘッド30によるインク液滴の吐出動作を制御することにより、所定ライン分の画像を用紙Qに形成する。また、記録ヘッド30による所定ライン分の画像形成動作が完了した時点から、LFモータM1の駆動制御により、用紙Qを上記所定ライン分副走査方向に搬送し、用紙Qの搬送動作の完了に合わせて、CRモータM2の駆動制御により、キャリッジ201を前回とは反対方向に、折返し地点まで定速搬送し、その定速搬送時には、ヘッド駆動回路DR3を介して記録ヘッド30によるインク液滴の吐出動作を制御することにより、所定ライン分の画像を用紙Qに形成する。制御ユニット40は、このような制御を繰り返し実行することにより、所定ラインずつ用紙Qに印刷対象の画像データに基づく画像を形成する。そして、用紙Q全体に対する画像形成動作が完了すると、CRモータM2の駆動制御により、キャリッジ201をホームポジションまで搬送して、記録ヘッド30をキャッピングする一方、LFモータM1の駆動制御を行って、用紙Qを排紙トレイまで排出する。制御ユニット40は、このような制御により、用紙Qに印刷対象の画像データに基づく一連の画像を形成する。
さて、本実施例のような画像形成装置1では、高画質モード等で用紙Qに画像を形成する際、用紙Qを所定ラインずつ正確に送り出すことが要求される。即ち、用紙Qを高精度に目標位置に停止させることが要求される。また、上述した構成のキャップ機構220に向けてキャリッジ201を搬送する際やキャップ機構220から離れる方向にキャリッジ201を搬送する場合には、超低速でキャリッジ201を搬送しないと記録ヘッド30のノズル面がキャップ223と擦れて傷つく可能性がある。また、キャップ機構220周辺ではキャリッジ201を超低速で搬送しないと、キャップ機構220とキャリッジ201が接触するときの衝撃等で、メニスカスブレイクが生じて、次のインク液滴の吐出動作に際して支障が生じる可能性がある。
そこで、本実施例では、図2(B)に示すように、高画質モード等で用紙Qを所定量正確に送り出すケースや、図3(A)及び図3(B)に示すように、キャリッジ201をキャップ機構220周辺で搬送するケースでは、図4に示す微小駆動処理を制御周期(サンプリング周期)毎に繰り返し実行することにより、位置カウント値X1,X2が1変化する毎に、駆動対象(搬送ローラ101又はキャリッジ201)を一旦停止させるような駆動制御を行う。これによって、駆動対象を超低速で微小駆動して、駆動対象を目標位置に正確に停止させる。
以下では、微小駆動処理による搬送ローラ101及びキャリッジ201の駆動制御の内容に関して、共通するフローチャートでまとめて説明するために、搬送ローラ101及びキャリッジ201を、単に「駆動対象」と表現する。また、駆動対象を駆動するためのLFモータM1及びCRモータM2のことを、モータMと表現し、モータドライバDR1,DR2のことを、モータドライバDRと表現し、駆動対象の変位を検出するためのロータリエンコーダE1及びリニアエンコーダE2のことを、エンコーダEと表現し、エンコーダ信号処理部SP1,SP2のことを、エンコーダ信号処理部SPと表現し、エンコーダ信号処理部SP1,SP2が保持する位置カウント値X1,X2のことを、位置カウント値Xと表現する。即ち、以下では、モータM、モータドライバDR、エンコーダE、エンコーダ信号処理部SP、及び位置カウント値Xとの表現の夫々を、駆動対象が搬送ローラ101である場合には、モータM1、モータドライバDR1、ロータリエンコーダE1、エンコーダ信号処理部SP1及び位置カウント値X1と、駆動対象がキャリッジ201である場合には、モータM2、モータドライバDR2、リニアエンコーダE2、エンコーダ信号処理部SP2及び位置カウント値X2と解釈されたい。この他、以下では、駆動対象が目的の方向(即ち目標位置に近づく方向)に変位することを「前進」と表現し、駆動対象が目的の方向とは逆方向(即ち目標位置から離れる方向)に変位することを「後退」と表現し、駆動対象を前進させる方向の動力が働く操作量を正値として表現するので留意されたい。
制御ユニット40は、予め定められた微小駆動処理の実行開始条件が満足されると、駆動対象が目標位置に到達するなどして微小駆動処理の実行終了条件が満足されるまで、図4に示す微小駆動処理を制御周期毎に繰り返し実行する。そして、この微小駆動処理の周期的な実行によっては、図6等に示すように、モータドライバDRに入力する操作量Uを、初期値Uiniから制御周期毎に規定量Uincずつ増加させる処理(以下、「操作量変更処理」と表現する。)を実行するが、位置カウント値Xが、駆動対象が前進する方向に変化すると、モータドライバDRに入力する操作量Uを、初期値U=Uiniに切り替えて、再度、初期値Uiniから制御周期毎に規定量Uincずつ増加させる上記操作量変更処理を実行する。特に、待機時間Twとしてゼロより大きい値が設定されている場合には、モータドライバDRに入力する操作量Uを初期値U=Uiniに切り替えた後、待機時間Tw分遅れて上記操作量変更処理を開始する。
詳述すると、制御ユニット40は、制御周期毎に実行する上記微小駆動処理において、図4に示すように、まず入出力処理を実行する(S110)。入出力処理では、前回の微小駆動処理で設定したモータMに対する操作量UをモータドライバDRに入力することによって、モータドライバDRに、当該操作量Uに一致する駆動電流をモータMに印加させる。一方で、入出力処理では、エンコーダ信号処理部SPから現在の位置カウント値Xを取得して記憶する。但し、制御ユニット40は、初回の微小駆動処理のために、前回の微小駆動処理で設定した操作量Uがない場合には、操作量U=0をモータドライバDRに入力する。尚、ここでいう「初回」とは、制御周期毎に繰り返し実行される周期的な微小駆動処理の最初の実行回のことである。即ち、一旦、周期的な微小駆動処理の実行が上記微小駆動処理の実行終了条件が満足されて終了した後、再度、微小駆動処理の実行開始条件が満足されて実行される微小駆動処理についての1回目の実行は、ここでいう「初回」の実行に該当する。
この入出力処理を終えると次に、制御ユニット40は、今回のS110で取得した位置カウント値Xと、前回のS110で取得して記憶した位置カウント値Xとを比較することにより、駆動対象が所定量前進したか否かを判断する(S120)。即ち、今回取得した位置カウント値Xが前回取得した位置カウント値Xに対して、駆動対象が前進する方向に1以上変化しているか否かを判断する。尚、ここでいう「所定量」とは、エンコーダ信号1パルス分に相当する駆動対象の変位量のことである。但し、制御ユニット40は、初回の微小駆動処理のために、前回取得した位置カウント値Xがない場合には、S120において、形式的に、駆動対象が所定量前進していないと判断する。
そして、駆動対象が所定量前進したと判断すると(S120でYes)、S200に移行し、駆動対象が所定量前進していないと判断すると(S120でNo)、S130に移行する。また、S130において、制御ユニット40は、タイマ値Trを1インクリメントして更新する(Tr←Tr+1)。尚、タイマ値Trは、初回の微小駆動処理の実行前に制御ユニット40によって0に初期化される変数である。このタイマ値Trは、初回の微小駆動処理におけるS130の処理により、値1に更新され、その後、微小駆動処理の実行毎に、1インクリメントされ、更に、駆動対象が所定量前進すると、S200の処理で値1に切り替えられる。即ち、タイマ値Trは、初回の微小駆動処理、及び、駆動対象が所定量前進したと判断される微小駆動処理を1回目とする微小駆動処理の実行回数を表すものであり、換言すれば、初回の微小駆動処理が開始されてから、又は、駆動対象が所定量前進してからの経過時間を、微小駆動処理の実行周期、即ち、制御周期単位で表すものである。
S130でタイマ値Trを1インクリメントすると、制御ユニット40は、S140に移行し、現在のタイマ値Trが、現在設定されている待機時間Twに値1を加算した値(Tw+1)より大きいか否かを判断する。尚、待機時間Twは、初回の微小駆動処理の実行前に制御ユニット40によって0に初期化されるものであり、上述したように、モータドライバDRに入力する操作量Uを、初期値Uiniから制御周期毎に規定量Uincずつ増加させる上記操作量変更処理を開始するまでの待機時間を表すものである。
そして、タイマ値Trが値(Tw+1)以下であると判断すると(S140でNo)、制御ユニット40は、次回の微小駆動処理でモータドライバDRに入力する操作量Uとして、初期値Uiniを設定し(S150)、当該微小駆動処理を終了する。一方、制御ユニット40は、タイマ値Trが値(Tw+1)より大きいと判断すると(S140でYes)、S160に移行して、次回の微小駆動処理でモータドライバDRに入力する操作量Uとして、現在値から規定量Uincだけ増加した値を設定する(U←U+Uinc)。例えば、待機時間Tw=0であるときには、タイマ値Tr=1であると、操作量Uを初期値U=Uiniに設定し、タイマ値Trが2以上である場合には、操作量Uを規定量Uinc増加させた値に設定する。
続いて、制御ユニット40が実行する切替処理の内容を、図5を用いて説明する。制御ユニット40は、S200(図4参照)に移行して切替処理を開始すると、まずS210において、現在のタイマ値Trに基づき、駆動対象が所定量前進するのに要した時間である処理時間Tzを特定し、この時間を記憶する(S210)。即ち、処理時間Tzとして、現在のタイマ値Trを記憶する(Tz←Tr)。
その後、制御ユニット40は、タイマ値Trを値1に戻し(S220)、次回の微小駆動処理でモータドライバDRに入力する操作量Uとして、初期値Uiniを設定する(S230)。
また、制御ユニット40は、S210で特定した今回駆動対象が所定量前進するのに要した時間である処理時間Tzと、現在設定されている待機時間Twとに基づき、処理時間Tzから待機時間Twを除いた駆動時間Td=Tz−Twを算出する(S240)。尚、ここでの算出に用いられる待機時間Twは、この処理時間Tzに対応する期間において上記操作量変更処理を開始するまで待機した時間に対応する。
S240での処理を終えると、次に制御ユニット40は、上記算出した駆動時間Tdが予め定められた基準時間T0未満であるか否かを判断する(S250)。尚、基準時間T0は、予め設計段階で設計者により定められるものであり、駆動対象の微小駆動に際して上限とする駆動対象の速度Vの逆数1/Vに対応するものである。そして、駆動時間Tdが基準時間T0以上であると判断すると(S250でNo)、待機時間Twの設定値をゼロに更新し(S260)、駆動時間Tdが基準時間T0未満であると判断すると(S250でYes)、待機時間Twの設定値を、基準時間T0と駆動時間Tdとの差(T0−Td)に設定する(S270)。その後、当該切替処理を終了する。
以上には、本実施例の制御ユニット40が実行する微小駆動処理の内容をフローチャートに基づいて説明したが、図6には、この微小駆動処理によってモータドライバDRに入力される操作量Uの変化の一例を、グラフで示す。
図6に示すように微小駆動処理では、モータドライバDRに入力する操作量Uを制御周期毎に、規定量Uincずつ増加させる(S160)。そして、位置カウント値Xが前進方向に更新されると(S120でYes)、次回モータドライバDRに入力する操作量Uを、初期値Uiniに切り替える(図6に示す時刻T1,T2,T3,T4及び図5に示すS230参照)。そして、切替後の操作量U=Uiniから再びモータドライバDRに入力する操作量Uを制御周期の到来に合わせて漸次増加させる(S160)。
尚、図6に示す時刻T1,T2においては、待機時間Tw=0に設定されているので、位置カウント値Xが前進方向に更新されたことを契機として次回モータドライバDRに入力する操作量Uを初期値Uiniに切り替えた制御周期の次の制御周期の微小駆動処理から、S160の処理が実行される。
本実施例では、制御ユニット40によるこのような処理によって駆動対象がエンコーダ信号1パルス分変位しては、停止するような駆動制御を実現する。但し、駆動対象に作用する負荷が小さい場合には、操作量Uを初期値Uiniに落としても駆動対象が直ぐには停止しない可能性がある。そして、このような状態で操作量Uを規定量Uinc増加させる処理を開始してしまうと、駆動対象が停止せずに加速してしまう。図6に示す時刻T2から時刻T3にかけては、モータドライバDR2に操作量Uとして初期値Uiniを入力しても、その時点では駆動対象が停止した状態にないので、駆動対象が早くエンコーダ信号1パルス分前進してしまい、駆動時間Tdが基準時間T0未満となっている。
本実施例では、負荷の減少によって、このような駆動時間Tdが基準時間T0未満となる事象が発生すると(S250でYes)、位置カウント値Xが前進方向に更新されたことを契機として次回モータドライバDRに入力する操作量Uを初期値Uiniに切り替えた後、操作量Uを初期値Uiniから制御周期毎に規定量Uincずつ増加させる処理を開始するまでの間に時間差を設ける。即ち、ゼロより大きい待機時間Twを設定する(S270)。本実施例では、このような処理によって、駆動時間Tdについては負荷を原因とする変動が生じても、処理時間Tzについては、基準時間T0未満とならないように、駆動対象の速度調整を行う。
従って、本実施例によれば、駆動対象に作用する負荷が減少しても、駆動対象の速度が基準時間T0に対応した上限速度Vを超えないように速度制御しながら、駆動対象を微小駆動することができる。即ち、本実施例によれば、駆動対象を低速で微小駆動する際の速度の挙動を改善することができ、駆動対象の速度が負荷変動によって上昇するのを効果的に抑えることができる。そして、このような効果が得られる結果として、駆動対象がキャリッジ201である場合には、キャップ機構220周辺での加速によってノズル面が傷ついたりメニスカスブレイク等が生じるのを抑えることができ、駆動対象が搬送ローラ101である場合には、用紙位置や用紙姿勢による負荷の減少にも適切に対応して駆動対象を超低速で適切に搬送することができ、高精度に目標位置に用紙Qを停止させることができる。
以上に、本発明の実施例について説明したが、本発明は、上記実施例に限定されるものではなく、種々の態様を採ることができる。例えば、上記実施例では、駆動時間Tdが基準時間T0未満となったときに、ゼロより大きい待機時間Twとして、基準時間T0と駆動時間Tdとの差(T0−Td)に対応する時間を設定するようにしたが、待機時間Twは、予め定められた固定時間に設定されてもよい。即ち、図7に示す変形例の切替処理のように、S270(図5参照)の処理に代えては、待機時間Twを、予め定められたゼロより大きい固定時間Tw0に設定するS275の処理を行っても良い。待機時間Twを固定時間に設定する場合には、待機時間Twを、基準時間T0と駆動時間Tdとの差(T0−Td)に応じた時間に設定する上記実施例よりも、負荷変動に対する駆動対象の速度制御を高精度に行うことが難しくなる可能性があるが、比較的負荷変動が小さい環境においては、このような待機時間Twの設定によっても十分である可能性が高い。そして、このように待機時間Twを設定する場合には、微小駆動処理の内容を簡単にすることができるといった利点がある。この待機時間Twは、実験的に定めることが可能であり、1エンコーダ分進んだ駆動対象が、想定される負荷範囲内で確実に停止できる時間に設定されるとよい。
また、上記実施例においては、初期値Uiniの詳細について触れなかったが、初期値Uiniは、微小駆動処理を行う環境において、駆動対象が停止した状態、換言すれば、駆動対象に摩擦力として動摩擦力ではなく静止摩擦力が作用している状態で、操作量U=Uiniに対応するモータMからの動力を駆動対象に作用したときに、駆動対象が停止した状態を保つような値に、設計段階で定めることができる。但し、初期値Uiniは、駆動対象の位置に応じて調整されてもよい。例えば、駆動対象を後退させるような大きな外力が駆動対象に対して作用する位置では、初期値Uiniを高めに設定し、そのような外力が小さい位置では、初期値Uiniを低めに設定することにより、大きな外力の変化にも適切に対応して、駆動対象を所定量ずつ適切に微小駆動することができる。即ち、駆動対象が後退しないようにして駆動対象を所定量ずつ適切に微小駆動することができる。尚、駆動対象に作用する負荷に応じて初期値Uiniを変更する技術については、周知であるので、これについての説明は、省略する。
この他、上記実施例では、微小駆動処理の実行時において、モータドライバDRが制御ユニット40から入力された操作量Uに対応した駆動電流でモータMを駆動する旨を説明したが、モータドライバDRは制御ユニット40から入力された操作量Uに対応する駆動電圧でモータMを駆動する構成にされてもよい。また、本発明は、その適用分野を画像形成装置に限定されるものではなく、微小駆動が必要な種々の電気的装置に適用することができる。
最後に、用語間の対応関係について説明する。駆動対象としてのキャリッジ201を変位(移動)させるキャリッジ搬送機構20又は駆動対象としての搬送ローラ101を変位(回転)させる用紙搬送機構10は、駆動機構の一例に対応する。また、制御ユニット40が実行するS120の処理は、検知手段によって実現される処理の一例に対応し、制御ユニット40が実行するS110,S150,S160,S230の処理は、駆動制御手段によって実現される処理の一例に対応する。また、制御ユニット40が実行するS260,S270(S275)の処理は、設定手段によって実現される処理の一例に対応し、制御ユニット40が実行するS130,S210,S220,S240の処理は、検出手段によって実現される処理の一例に対応する。