以下に本発明の実施例について、図面と共に説明する。
本実施例のプリンタ装置1は、ジャムの検知機能を有したプリンタ装置であって、インクジェット方式で用紙Qに画像を形成する所謂インクジェットプリンタとして構成されるものである。このプリンタ装置1は、CPU11と、ROM12と、RAM13と、EEPROM15と、ユーザインタフェース17と、接続インタフェース19と、印字制御部20と、モータ制御部30と、を備える。
更に、このプリンタ装置1は、用紙Qに画像を形成するための構成として、記録ヘッド21と、駆動回路23と、を備え、記録ヘッド21を主走査方向に搬送するための構成として、キャリッジ搬送機構40と、CR(キャリッジ)モータ51と、駆動回路53と、を備え、用紙Qを主走査方向とは直交する副走査方向に搬送するための構成として、用紙搬送機構60と、LFモータ71と、駆動回路73と、を備える。
この他、プリンタ装置1は、記録ヘッド21が搭載されるキャリッジ41の位置及び速度を計測可能なエンコーダ55、及び、用紙Qの搬送量及び搬送速度を計測可能なエンコーダ75を備える。
詳述すると、CPU11は、ROM12に記録されたプログラムに従う処理を実行することにより、プリンタ装置1を統括制御して、各種機能を実現する。ROM12は、各種プログラムを記憶し、RAM13は、CPU11による処理実行時に、作業用メモリとして使用される。EEPROM15は、電気的にデータ書換可能な不揮発性メモリとして、各種設定情報を記憶する。
ユーザインタフェース17は、プリンタ装置1を利用するユーザに向けて各種情報を表示するためのディスプレイ、及び、ユーザからプリンタ装置1への各種操作情報を受け付けるための操作デバイスを備える。接続インタフェース19は、パーソナルコンピュータ(PC)3とプリンタ装置1とを接続するためのインタフェース(例えばUSBインタフェース)であり、PC3からの印刷命令や印刷対象データを受信可能に構成される。
CPU11は、接続インタフェース19を通じてPC3から印刷命令及び印刷対象データを受信すると、印字制御部20及びモータ制御部30に指令入力することによって、印字制御部20に、記録ヘッド21からのインク液滴の吐出制御を実行させ、モータ制御部30に、CRモータ51及びLFモータ71の制御によるキャリッジ41及び用紙Qの搬送制御を実行させる。これによって、用紙Qに印刷対象データに基づく画像を形成する。
記録ヘッド21は、インク液滴を吐出するためのノズルが複数配列された周知のインクジェットヘッドである。この記録ヘッド21は、駆動回路23により駆動され、ノズル面に対向する用紙Qの領域にインク液滴を吐出する。
印字制御部20は、CPU11からの指令に基づき、用紙Qに印刷対象データに基づく画像が形成されるように、駆動回路23に対して制御信号を入力し、この動作によって、記録ヘッド21によるインク液滴の吐出制御を実現する。
一方、キャリッジ搬送機構40は、図2に示すように、CRモータ51に駆動されて回転するベルト機構43を備え、このベルト機構43により、記録ヘッド21を搭載するキャリッジ41を主走査方向に搬送する。このキャリッジ搬送機構40は、図3に示すように、キャリッジ41、ベルト機構43、及び、ガイドレール450,470を備える。
ベルト機構43は、主走査方向に一列に配置された駆動プーリ431及び従動プーリ433と、駆動プーリ431と従動プーリ433との間に巻回されたベルト435と、を備える。このベルト機構43では、駆動プーリ431がCRモータ51からの動力を受けて回転し、ベルト435及び従動プーリ433が、駆動プーリ431の回転に伴って、従動回転する。キャリッジ41は、このように動作するベルト435に固定される。
また、ガイドレール450は、主走査方向に沿って延設され、主走査方向に垂直な断面がL字形状の部材45により構成される。この他、ガイドレール470は、ガイドレール450とは副走査方向に離れた位置で、ガイドレール450と平行に設けられる。ガイドレール470を構成する部材47は、主走査方向に垂直な断面がL字形状の部材であり、部材45よりも副走査方向上流に設けられる。
ベルト機構43は、この部材47のガイドレール470を構成する部位から副走査方向上流の領域に設置される。また、部材47におけるベルト機構43とガイドレール470との間の領域には、リニアエンコーダを構成するエンコーダスケール551が主走査方向に沿って設けられる。
キャリッジ41は、下面部に、ガイドレール450,470の形状に対応する主走査方向の溝(図示せず)を備え、上面部に、エンコーダスケール551の形状に対応する主走査方向の溝410を備える。溝410には、エンコーダスケール551を読取可能な光学センサ553が搭載され、このキャリッジ41には、用紙Qに対してインク液滴を吐出可能に、記録ヘッド21が搭載される。
キャリッジ41は、下面部の溝(図示せず)にガイドレール450,470が配置されるように、ガイドレール450,470上に載置される。この載置によって、キャリッジ41は、CRモータ51が回転すると、ベルト435の回転に連動して、ガイドレール450,470に案内され、主走査方向に移動する。また、記録ヘッド21は、このキャリッジ41の移動に伴って、主走査方向に搬送される。
エンコーダ55は、キャリッジ41の溝410に配置された上記エンコーダスケール551と上記光学センサ553とを備えるものであり、これらの要素によりキャリッジ41の位置及び速度を計測可能なリニアエンコーダとして構成される。エンコーダ55は、周知のリニアエンコーダと同様に、エンコーダスケール551において等間隔に設けられた目盛りを光学センサ553で光学的に読み取る。
即ち、エンコーダ55は、キャリッジ41が主走査方向に移動すると、部材47に固定されたエンコーダスケール551と、キャリッジ41と共に移動する光学センサ553との相対位置が変化する現象を利用して、光学センサ553でエンコーダスケール551の目盛り(スリット等)を読み取り、エンコーダ信号として、キャリッジ41の主走査方向の変位に応じたパルス信号を出力する。本実施例では、このエンコーダ55の出力信号(エンコーダ信号)に基づき、主走査方向におけるキャリッジ41の位置及び速度(間接的には記録へッド21の位置及び速度)が計測される。
この他、モータ制御部30(図1参照)は、CRモータ51の制御により、キャリッジ41の主走査方向への搬送制御を行うCRモータ制御部31を備える。このCRモータ制御部31は、CPU11からの指令に従って、駆動回路53に対する入力信号としてのPWM信号を生成し、直流モータで構成されるCRモータ51を制御する。この際、CRモータ制御部31は、エンコーダ55の出力信号に基づいたフィードバック制御により、キャリッジ41の速度を制御する。また、駆動回路53は、CRモータ制御部31から入力されるPWM信号に従う駆動電流でCRモータ51を駆動する。
また、用紙搬送機構60は、図2に示すように、LFモータ71に駆動されて副走査方向に回転する、主走査方向に平行な軸を有する少なくとも一つのローラ61を備える。用紙搬送機構60は、トレイから供給された用紙Qを、ローラ61の回転により副走査方向に搬送し、用紙Qを記録ヘッド21によるインク液滴の吐出位置に送出する。
モータ制御部30(図1参照)は、LFモータ71の制御により、用紙Qの副走査方向への搬送制御を行うLFモータ制御部35を備える。このLFモータ制御部35は、CPU11からの指令に従って、駆動回路73に対する入力信号としてのPWM信号を生成し、直流モータで構成されるLFモータ71を制御する。この際、LFモータ制御部35は、LFモータ71、ローラ61又はこれらの間の伝達系、に設けられたロータリエンコーダとしてのエンコーダ75からの出力信号に基づいたフィードバック制御により、用紙Qの搬送制御を行う。また、駆動回路73は、LFモータ制御部35から入力されるPWM信号に従ってLFモータ71を駆動する。
プリンタ装置1が備えるCPU11は、接続インタフェース19を通じて印刷指令及び印刷対象データが入力されると、上記印字制御部20を動作させて、印刷対象データに基づく画像を用紙Qに形成させるためのインク液滴の吐出動作を記録ヘッド21に実行させると共に、CRモータ制御部31を動作させて、キャリッジ41を主走査方向に移動させ、更に、キャリッジ41が、主走査方向の折返し地点に到達する度に、LFモータ制御部35を動作させて、用紙Qを所定量副走査方向に送出することにより、用紙Qに対して段階的に画像を形成し、印刷対象データに基づく画像を形成する。
続いて、CRモータ制御部31の構成を、図4を用いて説明する。同図に示すように、本実施例のCRモータ制御部31は、エンコーダ信号処理ユニット110と、外乱オブザーバ130と、判定用反力推定ユニット140と、異常判定ユニット160と、操作量演算ユニット170と、誤計測判定ユニット180と、PWM信号生成回路190と、を備える。
エンコーダ信号処理ユニット110は、エンコーダ55の出力信号に基づき、キャリッジ41の位置X及び速度Vを計測するものである。周知のようにキャリッジ41の速度計測は、上記出力信号としてエンコーダ55から出力されるパルス信号のパルスエッジ間隔(時間間隔)を計測することにより実現できる。また、キャリッジ41の位置計測については、所定の原点位置にキャリッジ41を配置してからのエンコーダ55からの入力パルス数をカウントすることにより計測することができる。具体的には、キャリッジ41が正方向に変位している場合にはパルス入力毎に1加算し、キャリッジ41が負方向に変位している場合にはパルス入力毎に1減算するように、入力パルス数をカウントすることによりキャリッジ41の位置Xを計測することができる。周知のように、エンコーダ55からは、A相信号及びB相信号が出力される。キャリッジ41の変位方向については、これらA相信号及びB相信号の位相差により特定することができる。
また、外乱オブザーバ130は、エンコーダ信号処理ユニット110により計測されたキャリッジ41の速度Vと、操作量演算ユニット170から出力されるCRモータ51に対する操作量Uと、に基づき、キャリッジ41の搬送方向に対応するCRモータ51の回転方向とは反対方向に作用する力である反力を推定し、その反力推定値τ1を、判定用反力推定ユニット140に入力する。
判定用反力推定ユニット140は、この外乱オブザーバ130で推定された反力推定値τ1からジャムの検知に不要な成分を除去し、除去後の反力推定値τを異常判定ユニット160に入力する。
異常判定ユニット160は、この判定用反力推定ユニット140から入力される反力推定値τに基づき、反力推定値τが異常であるか否かを判定する。そして、異常と判定した場合には、そのことを表すフラグF1=1を操作量演算ユニット170に入力し、異常でないと判定した場合には、そのことを表すフラグF1=0を操作量演算ユニット170に入力する。反力推定値τの異常は、例えば、キャリッジ41と用紙Qとが接触する事象であるジャムを原因として生じたり、速度Vの誤計測を原因として生じたりする。
操作量演算ユニット170は、エンコーダ信号処理ユニット110により計測されたキャリッジ41の速度Vに基づいて、キャリッジ41が目標速度Vrに追従するようなCRモータ51に対する操作量Uを演算し、その操作量Uを、PWM信号生成回路190に入力することにより、キャリッジ41の速度制御を行う。本実施例では、操作量Uとして、CRモータ51に対する電流指令値を算出し、これをPWM信号生成回路190に入力する。また、操作量演算ユニット170は、異常判定ユニット160から入力されるフラグF1と、誤計測判定ユニット180から入力されるフラグF2とに基づいて、ジャムの発生を検知する。そして、ジャムの発生を検知した場合には、CRモータ51及びキャリッジ41を停止させるための操作量Uを演算し、これをPWM信号生成回路190に入力する。
誤計測判定ユニット180は、エンコーダ信号処理ユニット110により計測されたキャリッジ41の速度Vの時間変化に基づいて、速度Vの誤計測が生じたか否かを判定し、誤計測が生じたと判定した場合には、そのことを表すフラグF2=1を操作量演算ユニット170に入力し、誤計測が生じていないと判定した場合には、そのことを表すフラグF2=0を操作量演算ユニット170に入力する。
PWM信号生成回路190は、この操作量演算ユニット170から入力される操作量Uに対応した駆動電流でCRモータ51が駆動されるようなPWM信号を生成し、これを駆動回路53に入力する。
続いては、図5を用いて、CRモータ制御部31の詳細構成を更に説明する。CRモータ制御部31は、ハードウェア又はマイクロコンピュータによるソフトウェアの実行により実現される。外乱オブザーバ130では、入力ユニット131が、エンコーダ信号処理ユニット110による速度Vの計測信号(例えば計測された速度Vの時系列データ)を、制御対象の逆モデルP-1に入力する。ここで言う制御対象の逆モデルP-1は、CRモータ51に対する操作量Uと制御対象の制御量(キャリッジ41の速度V)との入出力特性モデルP=V/U、換言すれば操作量Uから制御量Vへの数学モデルである伝達関数P=V/Uの逆モデルP-1のことである。以下で表現する「制御対象」は、操作量Uにより制御量Vを実現する駆動系のことを言う。この駆動系には、少なくともPWM信号生成回路190、CRモータ51及びキャリッジ搬送機構40が含まれる。
外乱オブザーバ130では、減算器133が、この逆モデルP-1の出力U*と、操作量演算ユニット170から出力されるCRモータ51に対する操作量Uとの差分(U−U*)を表す信号(差分信号)を生成し、この差分信号をローパスフィルタ135に入力する。差分(U−U*)は、逆モデルP-1の出力U*に含まれる外乱成分の量に対応し、制御対象の反力の大きさを表す。
ローパスフィルタ135は、カットオフ周波数ω1の1次ローパスフィルタとして構成され、入力された差分信号を濾波して、その濾波信号である高周波成分減衰後の差分信号を、判定用反力推定ユニット140に入力する。
付言すると、差分(U−U*)は、操作量Uが電流指令値である関係上、単位をアンペアとするものであるが、アンペアとトルク(反力)との間には比例関係が成立する。このため、差分(U−U*)は、反力推定値τ1を表すものとして取り扱うことができる。即ち、外乱オブザーバ130は、差分信号をローパスフィルタ135により濾波したものを、反力推定値τ1(外乱の量)を表す信号として、判定用反力推定ユニット140に入力する。
また、カットオフ周波数ω1について詳述すると、本実施例のローパスフィルタ135に対しては、カットオフ周波数ω1として、制御誤差を抑える目的で設置される従来の外乱オブザーバのローパスフィルタよりも低い周波数が設定される。
従来の外乱オブザーバに対しては、外乱による制御誤差を抑えるために、差分信号(U−U*)に含まれる制御対象の機械的特性による振動成分を減衰させないようなカットオフ周波数を設定していた。
これに対し、本実施例の外乱オブザーバ130は、ジャム等による反力推定値τの異常検知を目的としたものであるため、ローパスフィルタ135には、制御対象の機械的特性による振動成分が減衰するようなカットオフ周波数ω1を設定する。具体的には、この振動成分の周波数である振動周波数ωr未満のカットオフ周波数ω1を設定する。
図6(A)示すグラフは、キャリッジ41を停止状態から一定速度Vcまで加速制御後、キャリッジ41を一定速度Vcに速度制御した場合に得られる反力推定値τ1であって、ローパスフィルタ135のカットオフ周波数ω1を、制御対象の機械的特性に応じた振動成分の周波数である振動周波数ωr未満としたときの反力推定値τ1を、横軸を時間、縦軸を反力推定値τ1として表したグラフである。一方、図6(B)は、図6(A)と同様の制御を行った場合に得られる反力推定値τ1であって、ローパスフィルタ135のカットオフ周波数ω1を、振動周波数ωrより大きい値に設定したときの反力推定値τ1を、横軸を時間、縦軸を反力推定値τ1として表したグラフを示す。
このように、ローパスフィルタ135のカットオフ周波数ω1を振動周波数ωrより大きい値に設定すると、加速に伴って反力推定値τ1に振動成分が大きく現れる。そして、振動成分が大きく現れた場合には、ジャム等による反力推定値τの異常が発生していないのにも拘らず、異常判定ユニット160において、反力推定値τの異常が検知されてしまう可能性がある。
このため、本実施例によれば、ローパスフィルタ135のカットオフ周波数ω1として、振動周波数ωrより小さい値を設定し、上記振動成分により、誤って反力推定値τの異常が検知されてしまわないようにする。尚、振動周波数ωrについては、プリンタ装置1を試験動作させて、その際に得られる減算器133の出力信号を周波数解析し、この周波数スペクトルのピークを検出することにより得ることができる。
カットオフ周波数ω1については、小さい値を設定する程、異常判定ユニット160による上記異常の誤検知を抑えることができるが、カットオフ周波数ω1を小さく設定し過ぎると、反力推定値τの変化が緩やかになり、ジャムが発生した際に、反力推定値τが異常な値を示すまでの時間が長くなる。
そこで、プリンタ装置1の設計に際しては、用紙Qとキャリッジ41とが接触し始めてから異常が検知されるまでの時間の許容範囲である許容時間Tjamを定め、この許容時間Tjamに基づいて、カットオフ周波数ω1を、2π/Tjamより大きい値に定めると良い。尚、ここでは「カットオフ周波数」ω1と表現しているが、ω1は、角周波数を表すものであることを念のため言及しておく。
カットオフ周波数ω1を、2π/Tjamより大きい値に設定すると、用紙Qとキャリッジ41とが接触し始めてから時間Tjam以内に、この接触の影響が明確に反力推定値τに現れ、反力推定値τの異常を高精度に検知することができる。
判定用反力推定ユニット140(図5参照)は、このように構成された外乱オブザーバ130からの入力信号が示す反力推定値τ1から、動摩擦力に対応する反力μNを減算することにより、入出力特性モデルPでは考慮されていない動摩擦力成分を除去し、その除去後の反力推定値τ=τ1−μNを異常判定ユニット160に入力する。具体的に、本実施例では、動摩擦係数μ及び抗力Nが一定であるものとみなし、一定の動摩擦力μNに基づく反力推定値τ=τ1−μNを異常判定ユニット160に入力することができる。
但し、キャリッジ41が静止している状態では、反力推定値τ1に動摩擦力成分は含まれない。また、動摩擦力は、キャリッジ41の搬送方向とは逆方向に働くものであるので、反力推定値τ1から動摩擦力成分μNを減算した値が負値となるのは不自然である。
このため、判定用反力推定ユニット140は、エンコーダ信号処理ユニット110により計測された速度Vに基づき、当該速度Vがゼロ(V=0)、又は、反力推定値τ1がμN以下(τ1≦μN)であるときには、反力推定値τとしてゼロ(τ=0)を異常判定ユニット160に入力し、それ以外の場合(V>0且つτ1>μNである場合)に限って、反力推定値τ1から動摩擦力成分μNを減算してなる反力推定値τ=τ1−μNを異常判定ユニット160に入力する。
異常判定ユニット160は、このようにして判定用反力推定ユニット140から入力される反力推定値τを、予め設定された閾値H1と比較し、その絶対値|τ|が閾値H1以上であるときには、フラグF1=1を出力し、絶対値|τ|が閾値H1未満であるときには、フラグF1=0を出力する。このようにして、異常判定ユニット160は、反力推定値τが異常であるか否かを判定し、異常と判定した場合には、フラグF1=1を出力し、そうでない場合には、フラグF1=0を出力する。
この他、操作量演算ユニット170は、フラグF1=0である通常時には、CPU11から設定された速度プロファイルに基づく現時刻での目標速度Vrと、エンコーダ信号処理ユニット110により計測された速度Vと、に基づいて、キャリッジ41が目標速度Vrに追従するような操作量Uを演算し、この操作量UをPWM信号生成回路190に入力する。即ち、操作量演算ユニット170は、速度プロファイルに基づくキャリッジ41の速度制御を行う。速度プロファイルは、制御開始時からの各時刻における目標速度Vrの軌跡を表す。
例えば、操作量演算ユニット170は、速度プロファイルから特定される現時刻の目標速度Vrから上記計測された速度Vを減算し、その差分(Vr−V)を出力する減算器171と、減算器171の出力(Vr−V)にゲインKpを作用させて操作量U=Kp(Vr−V)を出力する比例制御器173としての機能を有した構成にされる。この機能は、ハードウェア又はマイクロコンピュータによるソフトウェアの実行により実現される。
一方、操作量演算ユニット170は、キャリッジ41の速度Vに関する誤計測が生じておらず、フラグF2=0であるときに、フラグF1=1が入力されると、反力推定値τの異常がジャムの発生によるものであるとみなして、CRモータ51及びキャリッジ41を停止させるための操作量Uを演算し、これをPWM信号生成回路190に入力する停止処理を実行する。
ここで、操作量演算ユニット170の処理動作の詳細を、図7を用いて説明する。操作量演算ユニット170は、CPU11からの指令に基づき、CRモータ51の制御、換言すれば、キャリッジ41の搬送制御を開始すると、速度プロファイルに基づく現時刻での目標速度Vrと、エンコーダ信号処理ユニット110により計測された速度Vとに基づいて、キャリッジ41が目標速度Vrに追従するような操作量Uを演算する(S110)。
その後、操作量演算ユニット170は、誤計測判定ユニット180から入力されるフラグF2が値1であるか否かを判断し、値1であると判断すると(S120でYes)、S140に移行し、値ゼロであると判断すると(S120でNo)、S130に移行する。
S130に移行すると、操作量演算ユニット170は、異常判定ユニット160から入力されるフラグF1が値1であるか否かを判断し、フラグF1が値1であると判断すると(S130でYes)、S160に移行し、フラグF1が値ゼロであると判断すると(S130でNo)、S140に移行する。即ち、S120,S130によれば、誤計測判定ユニット180において誤計測が生じていないと判定され、且つ、異常判定ユニット160において反力推定値τが異常であると判定されていることを条件に、S160に移行し、それ以外の場合には、S140に移行する。
S140に移行すると、操作量演算ユニット170は、S110で算出した操作量UをPWM信号生成回路190に入力し、この操作量Uに対応する駆動電流でCRモータ51が駆動されて、キャリッジ41が搬送されるようにする(S140)。即ち、本実施例では、異常判定ユニット160において反力推定値τが異常であると判定された場合でも、誤計測判定ユニット180において誤計測が生じていると判定されている場合には、この異常が誤計測によるものであるとみなして、フラグF1,F2が共に値ゼロである通常時と同様に、速度プロファイルに基づく操作量UをPWM信号生成回路190に入力する。
S140での処理を終えると、操作量演算ユニット170は、キャリッジ41の搬送制御の終了条件が満足されたか否かを判断し(S150)、終了条件が満足されていないと判断した場合には(S150でNo)、S110に移行する。このようにして、操作量演算ユニット170は、誤計測判定ユニット180において誤計測が生じていると判定されている場合(S120でYes)、又は、異常判定ユニット160において反力推定値τが正常であると判定されている場合(S130でNo)には、S110〜S150の処理を繰り返し実行する。そして、終了条件が満足されると(S150でYes)、キャリッジ41の搬送制御を終了する。
S150では、例えば、速度プロファイルに基づく制御終了時刻に達すると、終了条件が満足されたとして、キャリッジ41の搬送制御を終了することができる。この他、一定時間キャリッジ41が停止したことを条件に、キャリッジ41の搬送制御を終了することも可能である。
一方、操作量演算ユニット170は、誤計測判定ユニット180において誤計測が生じていないと判定され、且つ、異常判定ユニット160において反力推定値τが異常であると判定されると、異常判定ユニット160によって検知された異常を、ジャムによる反力推定値τの異常であるとみなして(即ちジャムが発生したとみなして)、S160に移行する。そして、CRモータ51及びキャリッジ41の停止処理を実行しつつ(S160)、CPU11に対し、ジャムが発生した旨のエラー通知を行う(S170)。
上記停止処理は、例えば、S110で演算された操作量Uを用いずに、操作量U=ゼロをPWM信号生成回路190に入力する処理にて実現することができる。別例として、停止処理では、CRモータ51が減速及び停止するように、操作量Uを搬送方向に対してマイナス出力してもよい。この他、CPU11は、上記エラー通知を受けて、ユーザインタフェース17のディスプレイを通じたメッセージ表示やブザー音の出力によるエラー通知をユーザに向けて行うことができる。
操作量演算ユニット170は、このような停止処理(S160)及びエラー通知(S170)をキャリッジ41が停止するまで継続的に実行し、キャリッジ41が停止したと判断すると(S180でYes)、キャリッジ41の搬送制御を終了する。
本実施例のCRモータ制御部31は、このような構成及び動作により、キャリッジ41の速度フィードバック制御を行うと共に、異常判定ユニット160及び誤計測判定ユニット180の出力フラグF1,F2に基づいたジャム検知及びCRモータ51及びキャリッジ41の停止処理を行う。
続いて、誤計測判定ユニット180の詳細を説明する。図5に示すように誤計測判定ユニット180は、変化量演算ユニット181と、主判定ユニット185と、を備える。この誤計測判定ユニット180は、エンコーダ信号処理ユニット110により計測されたキャリッジ41の速度Vについてのサンプリング周期当たりの変化量|δ|が閾値H2以上である場合には、速度Vの誤計測が生じたと判定して、フラグF2=1を出力し、変化量|δ|が閾値H2未満である場合には、速度Vの誤計測は生じていないと判定して、フラグF2=0を出力する。
この誤計測判定ユニット180においては、変化量演算ユニット181が、エンコーダ信号処理ユニット110により計測されたキャリッジ41の速度Vを所定のサンプリング周期毎に取得し、速度Vについての最新の取得値Vnと1サンプリング周期前の速度Vの取得値Vpとの差分Vn−Vpを、速度Vの変化量δ=Vn−Vpとして出力する。
主判定ユニット185は、この変化量δが閾値H2以上であるとき、フラグF2として値1を出力し、この変化量δが閾値H2未満であるとき、フラグF2として値ゼロを出力する。
図8(A)及び図8(B)には、誤計測が生じ、その後にジャムが生じた場合におけるキャリッジ41の目標速度Vr及び計測速度Vの変動態様、並びに、反力推定値τの変動態様を示す。ここで言う計測速度Vは、エンコーダ信号処理ユニット110により計測されたキャリッジ41の速度Vのことである。
図8(A)のグラフ内に示す破線は、キャリッジ41を主走査方向に搬送制御するときの速度プロファイル(目標速度Vrの軌跡)である。一方、図8(A)のグラフ内に示す実線は、このような搬送制御が行われた場合の計測速度Vの一例を表すものである。更に、図8(B)のグラフ内に示す実線は、反力推定値τを表し、図8(B)のグラフ内に示す破線は、上述した閾値H1を表す。
図8(B)からも理解できるように、誤計測によりエンコーダ信号処理ユニット110によるキャリッジ41の計測速度Vが大きく変化すると、反力推定値τには、閾値H1を超えるような大きな変化が生じる。そして、反力推定値τにこのような変化が生じた場合に、無条件に、この事象(反力推定値τの異常)をジャムによるものとみなすと、速度Vの誤計測の影響を受けて、ジャムが誤検知されることになる。尚、ジャムが発生した際にも反力推定値τが上昇することは、同じく図8(A)及び図8(B)から理解できる。
このため、本実施例では、設計段階で閾値H2を調整し、この閾値H2を基準に速度Vの誤計測を検知し、速度Vの誤計測が生じた場合には、誤計測判定ユニット180からフラグF2=1を出力することで、ジャムの誤検知を抑える。但し、本実施例では、誤計測として、エンコーダ55の汚れによる誤計測を想定している。
周知のように、エンコーダ55においては、エンコーダスケール551にインクが付着するなどして汚れが生じると、この汚れが原因で正確な目盛りの読取が阻害され、エンコーダ55から不連続なパルス間隔のパルス信号がエンコーダ信号処理ユニット110に入力される。このことが原因で、エンコーダ信号処理ユニット110では、速度Vの誤計測が生じ、計測速度Vには、不連続な変動が現れる。
本実施例では、このような事象による速度Vの誤計測を検知して、ジャムの誤検知を抑えることができるように、反力推定値τが閾値H1を超えるようなエンコーダ55の汚れによる計測速度Vの変動が生じた場合には、誤計測判定ユニット180からフラグF2=1が出力され、それ以外の場合には、誤計測判定ユニット180からフラグF2=0が出力されるように、閾値H2を設定する。
このように閾値H2を設定すれば、エンコーダ55の汚れにより計測速度Vに不連続な変動が生じ、異常判定ユニット160において異常が検知されることがあっても、フラグF2=1が操作量演算ユニット170に入力される結果、ジャムが検知されて、停止処理が実行されるのを回避することができる。
よって、本実施例のプリンタ装置1によれば、外乱オブザーバ130を用いて得られた反力推定値τに基づき、ジャムを検知する際に、エンコーダ55の汚れによってジャムの誤検知が生じるのを抑えることができ、ユーザに不満が及ぶのを抑えることができるのである。即ち、ジャムが発生していないのにも拘らず、印刷プロセスが中断され、ジャムを解消するように指示するメッセージがユーザインタフェース17を通じてユーザに表示されることにより、ユーザに不満が及ぶのを抑えることができる。
続いて、閾値H1,H2の適値の設定方法について詳述する。図8(A)には、エンコーダ55の汚れによって計測速度Vに大きな変化が生じる例を示したが、エンコーダ55の汚れによって生じる計測速度Vの変化は、図9(A)に示すように小さなものもある。
計測速度Vの変化が小さい場合には、反力推定値τの変化も小さいため、変化量|δ|が閾値H2を超えることがなくても、基本的には、異常判定ユニット160において反力推定値τの異常も検知されないため、ジャムの誤検知を回避することができる。但し、閾値H1,H2の組合せによっては、エンコーダ55の汚れによる誤計測が、誤計測判定ユニット180において検知されないのに、異常判定ユニット160においては反力推定値τの異常が検知される場合が有り得る。このような場合には、ジャムの誤検知が生じる。
図9(A)に示す例によれば、時刻t2で生じた誤計測については、変化量|δ|が閾値H2以上である結果、誤計測判定ユニット180にて誤計測が検知される一方、時刻t1で生じた誤計測については、変化量|δ|が閾値H2未満である結果、誤計測判定ユニット180にて誤計測が検知されない。
このような環境で、閾値H1を低く設定すると、図9(B)に示すように、時刻t1及び時刻t2の夫々において、反力推定値τが閾値H1以上である結果、時刻t1及び時刻t2の夫々において、反力推定値τの異常が異常判定ユニット160で検知されてしまう。従って、時刻t1においてジャムが誤検知されてしまう。
このようなジャムの誤検知は、閾値H1を上方に修正することで防ぐことができる。しかしながら、閾値H1を上方に修正することは、図8(B)に示す例からも理解できるように、ジャムが実際に発生した場合に、ジャムを検知するまでの時間が長くなることを招く。
そこで、速度Vの誤計測によるジャムの誤検知の影響を抑えて、ジャムを高精度且つ迅速に検知するためには、次の手順で閾値H1,H2を決定するとよい。まずは、図10(A)に示すように、実験データとして、ジャムが実際に発生しているときの反力推定値τの時系列データを取得する(S1)。
そして、この時系列データに基づいて、キャリッジ41と用紙Qとの接触から、設計者が定める許容時間Tjam(図10(B)参照)内にジャムを検知できるような閾値H1を求め、この閾値H1を異常判定ユニット160に設定する閾値に決定する(S2)。
更に、決定した閾値H1を基準に、誤計測によって反力推定値τが当該閾値H1となるときに予想される計測速度Vの変化量δ(1サンプリング周期での変化量)を、予測値δ0として算出する(S3)。
この予測値δ0については、シミュレーションにより算出することができる。例えば、CRモータ制御部31に採用される操作量U及び速度Vから反力推定値τへの数学モデル(反力推定値τの算出式)を用いて、反力推定値τ=H1を設定したときの速度Vの変動をシミュレーションにより調べ、その速度Vについてのシミュレーション結果から予測値δ0を求めることができる。
そして、閾値H2については、この予測値δ0を基準に定める(S4)。具体的には、予測値δ0よりも若干小さい値に定めることができる。
このように閾値H1,H2を決定すると、許容時間内に迅速にジャムを検知することができる一方で、ジャムの誤検知の少ないプリンタ装置1を構成することができる。即ち、迅速且つ高精度にジャムを検知して、停止処理を実行し、ジャムの進行を抑えることのできるプリンタ装置1を構成することができる。
以上、本実施例のプリンタ装置1について説明したが、本実施例によれば、逆モデルの出力U*と操作量Uとの差分(U−U*)に基づいて、反力の異常有無を判定し、この判定結果を指標に、ジャムの発生を検知する。但し、反力の異常が検知されても、エンコーダ55からの出力信号に基づくキャリッジ41の計測速度Vのサンプリング周期当たりの変化量δが基準(閾値H2)以上であるときには、速度Vの誤計測により反力の異常が見かけ上現れているだけであるとみなして、ジャムの発生を検知しないようにする。
従って、本実施例によれば、エンコーダ55による速度Vの誤計測によるジャムの誤検知を抑えて、高精度にジャムを検知することができる。そして、本実施例によれば、従来技術のように、エンコーダ55から出力されるパルス信号を何周期にも亘って監視しなくとも、計測速度Vの変化量δ及び差分(U−U*)に基づく反力推定値τからエンコーダ55の汚れによる速度Vの誤計測の影響を抑えて、迅速にジャムを検知することができる。従って、本実施例によれば、従来技術に対して、優れたプリンタ装置1を提供することができる。
また、本実施例によれば、ジャムを迅速に検知して、キャリッジ41を停止させることができるので、ジャムの進行を抑えることができる。従って、ジャムの進行によって用紙Qの取り出し作業が難解になるのを抑えることができると共に、ジャムの進行により記録ヘッド21のノズル面が傷ついてしまうのを抑えることができる。
更に言えば、本実施例では、反力推定値τを得る際に用いる逆モデルの出力U*と操作量Uとの差分信号から、この差分信号に含まれる制御対象の機械的特性に応じた振動成分をローパスフィルタ135により除去する。従って、振動成分に起因した反力推定値τの変動により、ジャムが誤検知されることについても抑えることができ、振動成分が大きく現れるキャリッジ41の加速時などにおいて、誤計測の影響を抑えて、高精度にジャムを検知することができる。
以上に、本発明の実施例について説明したが、本発明は、上記実施例に限定されるものではなく、種々の態様を採ることができる。例えば、本発明は、その適用をインクジェットプリンタに限定されるものではなく、モータにより物体の運動を制御する制御装置であって、物体が異物に接触する可能性のある種々の制御装置に適用することができる。この他、本発明は、フィードバック制御系だけでなく、フィードフォワード制御系等にも適用可能であるし、速度制御系だけでなく、位置制御系等にも適用することができる。また、誤計測判定手段は、最新の取得速度と1サンプリング周期前の取得速度との差分によって誤計測の有無を判定するだけでなく、最新の取得速度と1サンプリング周期前の取得速度との傾きである加速度によって誤計測の有無を判定しても良い。また、複数サンプリング周期分の取得速度によって判定しても良いし、目標速度と取得速度との差分によって判定しても良い。
[対応関係]
用語間の対応関係は、次の通りである。操作量演算ユニット170が実行するS110の処理は、演算手段によって実現される処理の一例に対応し、エンコーダ55及びエンコーダ信号処理ユニット110は、計測手段の一例に対応する。また、入力ユニット131は、逆モデル入力手段の一例に対応し、減算器133は、差分信号生成手段の一例に対応する。この他、異常判定ユニット160は、異常判定手段の一例に対応し、誤計測判定ユニット180は、誤計測判定手段の一例に対応する。そして、操作量演算ユニット170がS130で肯定判断する処理及びS160の処理は、接触検知手段にて実現される処理の一例に対応する。また、CRモータ51とキャリッジ搬送機構40との組合せは、記録ユニット搬送機構の一例に対応する。