(57)【要約】      （修正有）【課題】想定できない負荷が制御対象に付加されるときにも目標位置に移動させ停止させることを可能にする。【解決手段】位置検出部８１の出力および制御パラメータに基づいて、制御対象の速度が目標速度となるように決定された電流値でモータを制御する第１の制御部８５と、位置検出部および速度検出部８２の各々の出力と制御パラメータとに基づいて、制御対象の速度が目標速度となるように決定された電流値でモータを制御する第２の制御部８６と、位置検出部の出力および制御パラメータに基づいて制御対象が所定範囲内に停止するように決定された電流値でモータを制御する第３の制御部８９と、所定のタイミングで動作し、位置検出部の出力に基づいて制御対象が目標範囲内に位置しているか否かを判定し、位置しているときは、第３の制御部を選択し、位置していないときは、第１または第２の制御部を選択し、制御動作させる制御選択部８４とを備えた。【選択図】図１
2005262885.tif 000002
【特許請求の範囲】
【請求項１】
モータによって駆動される制御対象の位置および進行方向を検出する位置検出部と、
前記制御対象の速度に対応する物理量を検出する速度検出部と、
前記位置検出部の出力および制御パラメータに基づいて、前記制御対象の速度が目標速度となるように前記モータに付加する電流値を決定し、この決定された電流値に基づいて前記モータを制御する第１の制御部と、
前記位置検出部および前記速度検出部の各々の出力と前記制御パラメータとに基づいて、前記制御対象の速度が目標速度となるように前記モータに付加する電流値を決定し、この決定された電流値に基づいて前記モータを制御する第２の制御部と、
前記位置検出部の出力および前記制御パラメータに基づいて前記制御対象が所定範囲内に停止するように前記モータの電流値を決定し、この決定された電流値に基づいて前記モータを制御する第３の制御部と、
前記目標速度に応じて前記制御パラメータを選択して設定するとともに所定のタイミングで動作し、前記位置検出部の出力に基づいて前記制御対象が目標範囲内に位置しているか否かを判定し、位置しているときは、前記第３の制御部を選択し、前記制御対象が前記目標範囲内に位置していないときは前記速度に対応する物理量に基づいて第１または第２の制御部を選択し、制御動作させる制御選択部と、
を備えたことを特徴とする印刷制御装置。
【請求項２】
前記第１または第２の制御部が選択されているときに動作し、前記制御対象の速度を前記速度検出部の出力に基づいて演算して各動作時における前記制御対象の速度と基準速度との速度偏差を求め、今回の動作時における速度偏差と前回の動作時における速度偏差との差に比例した電流値を演算し、この電流値と、前記選択された制御部の出力との和に基づいて前記モータを制御する微分速度制御部を更に備えたことを特徴とする請求項１記載の印刷制御装置。
【請求項３】
前記制御対象はキャリッジであり、前記モータは前記キャッリッジを駆動するキャリッジモータであり、前記位置検出部は、前記キャリッジモータの回転に応じて出力パルスを発生するエンコーダの出力パルスの立ち上がりエッジおよび立ち下がりエッジを検出してこの検出されたエッジを、前記キャリッジモータが正転しているときはカウントアップし、逆転しているときにカウントダウンするように計数するカウンタを有するとともに前記立ち上がりエッジおよび立ち下がりエッジに同期してパルスを出力することを特徴とする請求項１記載の印刷制御装置。
【請求項４】
前記制御選択部は、前記キャリッジの目標速度に応じた設定値を有してカウント値が前記設定値に達したときおよび前記位置検出部からパルスを受けたときにカウント値がリセットされるタイマカウンタを備えており、前記キャリッジが前記目標範囲内に位置していない場合に、前記タイマカウンタのカウント値が前記設定値に達しても前記位置検出部からのパルスを受信しないとき前記第１の制御部を選択し前記タイマカウンタのカウント値が前記設定値に達する前に前記位置検出部からのパルスを受信したとき前記第２の制御部を選択することを特徴とする請求項３記載の印刷制御装置。
【請求項５】
前記第１の制御部は、前記制御選択部によって選択されたときに、
前記キャリッジの位置が前記目標位置を超えていない場合には、前記キャリッジモータに現在、付加されている電流値に、前記目標速度に応じて前記制御パラメータの中から選択した加減電流値を加算し、この加算結果に基づいて前記キャリッジモータを制御し、
前記キャリッジの位置が前記目標位置を超えて前記目標範囲も超えた場合は、前記キャリッジモータに現在、付加されている電流値から前記加減電流値を減算し、この減算結果に基づいて前記キャリッジモータを制御し、
前記キャリッジの位置が前記目標範囲内に入っている場合は、前記キャリッジモータに付加されている電流値から前記制御パラメータの１つである摩擦負荷相当分の電流値を前記キャリッジの進行方向の電流値と逆方向に減算し、この減算結果に基づいて前記キャリッジモータを制御することを特徴とする請求項４記載の印刷制御装置。
【請求項６】
前記第２の制御部は、前記制御選択部によって選択されたときに、
前記キャリッジの位置が前記目標位置を超えていない場合および前記キャリッジの位置が前記目標位置を超えて前記目標範囲も超えた場合には、前記速度検出部の出力と、前記制御パラメータ内のしきい値とを比較し、この比較結果に基づいて前記制御パラメータの中から加減電流値を選択し、この選択した加減電流値と前記キャリッジモータに現在付加されている電流値とに基づいて前記キャリッジの速度が目標速度となるような、前記キャリッジモータに付加すべき電流値を演算し、この演算された電流値に基づいて前記キャリッジモータを制御し、
前記キャリッジの位置が前記目標範囲内に入っている場合には、前記キャリッジモータに付加されている電流値から摩擦負荷相当分の電流値を前記キャリッジの進行方向の電流値と逆方向に減算し、この減算結果に基づいて前記キャリッジモータを制御することを特徴とする請求項４乃至５のいずれかに記載の印刷制御装置。
【請求項７】
前記速度検出部は、前記エンコーダの出力パルスの立ち上がりエッジおよび立ち下がりエッジを検出し、エッジ間の時間を測定する時間測定手段を有しこの測定結果を出力することを特徴とする請求項６記載の印刷制御装置。
【請求項８】
前記第１または第２の制御部が選択されているときに動作し、前記キャリッジの速度を前記速度検出部の出力に基づいて演算して各動作時における前記キャリッジの速度と基準速度との速度偏差を求め、今回の動作時における速度偏差と前回の動作時における速度偏差との差に比例した電流値を演算し、この演算した電流値と、前記選択された制御部の出力との和に基づいて前記キャリッジモータを制御する微分速度制御部を更に備えたことを特徴とする請求項７記載の印刷制御装置。
【請求項９】
前記第３の制御部は、前記制御選択部によって選択されたときに、前記キャリッジの位置が前記目標範囲を含む所定の許容範囲内に入っているか否かを判定し、前記許容範囲内に入っている場合は、前記キャリッジモータに付加すべき電流値を零として前記キャリッジモータを制御し、前記許容範囲内に入っていないときは前記制御選択部を介して前記第１の制御部または第２の制御部を動作させることを特徴とする請求項４乃至８のいずれかに記載の印刷制御装置。
【請求項１０】
前記キャリッジモータに付加すべき電流値の絶対値が許容値を超える場合には前記キャリッジを停止させ、前記キャリッジモータをショートブレーキ運転することを特徴とする請求項３乃至９のいずれかに記載の印刷制御装置。
【請求項１１】
前記制御選択部は、前記位置検出部の出力に基づいて、前記目標範囲外の位置であってかつ前記目標範囲の端部から所定距離にある所定位置に前記キャリッジが前記目標範囲に向かって近づいている場合には前記キャリッジの目標速度が第１の値となるように前記制御パラメータを選択して設定し、前記所定位置を過ぎた場合には前記目標速度が前記第１の値より小さい第２の値となるように前記制御パラメータを選択して設定することを特徴とする請求項３乃至１０のいずれかに記載の印刷制御装置。
【請求項１２】
前記キャリッジモータによって駆動される前記キャリッジと一体となって移動するエンコーダの出力パルスの立ち上がりエッジおよび立ち下がりエッジを検出してこの検出されたエッジを、前記キャリッジモータが正転しているときはカウントアップし、逆転しているときにカウントダウンするように計数するカウンタを有するとともに前記立ち上がりエッジおよび立ち下がりエッジに同期してパルスを出力する位置カウンタと、
前記エンコーダの出力パルスの立ち上がりエッジおよび立ち下がりエッジを検出し、エッジ間の時間を測定する周期カウンタと、
前記キャリッジの目標速度に応じた設定値を有してカウント値が前記設定値に達したときおよび前記位置検出部からパルスを受けたときにカウント値がリセットされるタイマカウンタと、
を備えている印刷装置において、
前記キャリッジモータに初期電流値を付加するステップと、
前記位置カウンタからパルスを受信したときおよび前記タイマカウンタのカウント値が前記設定値に達したときに前記位置カウンタのカウント値と前記キャリッジの目標位置とを比較するステップと、
前記キャリッジの位置が前記目標位置を含む目標範囲内に入っている場合は、前記位置カウンタの出力および制御パラメータに基づいて前記キャリッジが前記目標範囲を含む許容範囲内に停止するようにホールド制御を行うステップと、
前記キャリッジの位置が前記目標範囲内に位置していない場合に、前記タイマカウンタのカウント値が設定値に達しても前記位置カウンタからのパルスを受信しないときに前記位置カウンタの出力および前記制御パラメータに基づいて前記キャリッジが目標速度となるようにタイマ割込制御を行うステップと、
前記キャリッジが前記目標範囲内に位置していない場合に、前記タイマカウンタのカウント値が前記設定値に達するまでに前記位置カウンタからのパルスを受信したときに前記位置カウンタの出力および前記周期カウンタの出力ならびに前記制御パラメータに基づいて前記キャリッジの速度が前記目標速度となるようにエンコーダ割込制御を行うステップと、
を備えたことを特徴とする印刷制御方法。
【請求項１３】
前記タイマ割込制御を行うステップは、
前記キャリッジの位置が前記目標位置を超えていない場合には、前記キャリッジモータに現在、付加されている電流値に、前記目標速度に応じて前記制御パラメータの中から選択した加減電流値を加算し、この加算結果に基づいて前記キャリッジモータを制御し、
前記キャリッジの位置が前記目標位置を超えて前記目標範囲も超えた場合は 、前記キャリッジモータに現在付加されている電流値から前記加減電流値を減算し、この減算結果に基づいて前記キャリッジモータを制御するステップと、
前記キャリッジの位置が前記目標範囲内に入っている場合は、前記キャリッ ジモータに付加されている電流値から前記制御パラメータの１つである摩擦負荷相当分の電流値を前記キャリッジの進行方向の電流値と逆方向に減算し、この減算結果に基づいて前記キャリッジモータを制御するするステップと、
を備えていることを特徴とする請求項１２記載の印刷制御方法。
【請求項１４】
前記エンコーダ割込制御を行うステップは、
前記キャリッジの位置が前記目標位置を超えていない場合および前記キャリッジの位置が前記目標位置を超えて前記目標範囲も超えた場合には、前記周期カウンタの出力と、前記制御パラメータ内のしきい値とを比較し、この比較結果に基づいて前記制御パラメータの中から加減電流値を選択し、この選択した加減電流値と前記キャリッジモータに現在付加されている電流値とに基づいて前記キャリッジの速度が目標速度となるような、前記キャリッジモータに付加すべき電流値を演算し、この演算された電流値に基づいて前記キャリッジモータを制御するステップと、
前記キャリッジの位置が前記目標範囲内に入っている場合には、前記キャリッジモータに付加されている電流値から摩擦負荷相当分の電流値を前記キャリッジの進行方向の電流値と逆方向に減算し、この減算結果に基づいて前記キャリッジモータを制御するステップと、
を備えていることを特徴とする請求項１２乃至１３のいずれかに記載の印刷制御方法。
【請求項１５】
前記ホールド制御を行うステップは、
前記キャリッジの位置が前記目標範囲を含む所定の許容範囲内に入っているか否かを判定し、前記許容範囲内に入っている場合は、前記キャリッジモータに付加すべき電流値を零として前記キャリッジモータを制御し、前記許容範囲内に入っていないときは前記タイマ割込制御またはエンコーダ割込制御を動作させるステップを備えていることを特徴とする請求項１２乃至１４のいずれかに記載の印刷制御方法。
【請求項１６】
キャリッジを駆動するキャリッジモータに初期電流値を付加する手順と、
位置カウンタからパルスを受信したときおよびタイマカウンタのカウント値が設定値に達したときに前記位置カウンタのカウント値と前記キャリッジの目標位置とを比較する手順と、
前記キャリッジの位置が前記目標位置を含む目標範囲内に入っている場合は、前記位置カウンタの出力および制御パラメータに基づいて前記キャリッジが前記目標範囲を含む許容範囲内に停止するようにホールド制御を行う手順と、
前記キャリッジの位置が前記目標範囲内に位置していない場合に、前記タイマカウンタのカウント値が設定値に達しても前記位置カウンタからのパルスを受信しないときに前記位置カウンタの出力および前記制御パラメータに基づいて前記キャリッジが目標速度となるようにタイマ割込制御を行う手順と、
前記キャリッジが前記目標範囲内に位置していない場合に、前記タイマカウンタのカウント値が前記設定値に達するまでに前記位置カウンタからのパルスを受信したときに前記位置カウンタの出力および前記周期カウンタの出力ならびに前記制御パラメータに基づいて前記キャリッジの速度が前記目標速度となるようにエンコーダ割込制御を行う手順と、
を備えたことを特徴とするコンピュータによって印刷制御するための印刷制御プログラムを記録した記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷制御装置および印刷制御方法ならびに印刷制御プログラムを記録した記録媒体に関するものであって、特に想定できない負荷に対してキャリッジを目標位置まで移動させて停止させる制御（負荷位置決め制御）に関する。
【背景技術】
【０００２】
一般に、インクジェットプリンタ等のシリアルプリンタにおいては、印刷紙上を記録ヘッドが走査して印字を行う、この記録ヘッドはキャリッジに固定されて、キャリッジとともに移動する。そしてこのキャリッジは、ＤＣモータによって駆動される。このキャリッジを停止位置から目標位置まで移動させる制御は、目標位置とキャリッジの検出位置との位置偏差に応じた目標速度を求め、この目標速度と検出速度との速度偏差に基づいたＰＩＤ制御によって行っていた。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
印刷装置においては、キャリッジの移動中や、目標位置でのインクメンテナンス中等に想定できない負荷がキャリッジに加わる場合がある。この場合、キャリッジが途中で停止したり、目標位置からずれた位置に停止してしまう。このようなときには、従来の制御においては、ＰＩＤ制御等によってＤＣモータを動かし、キャリッジを目標位置に移動させていた。
【０００４】
しかし、停止位置から目標位置まで移動させる従来のＰＩＤ制御においては、大きな負荷がキャリッジ（制御対象）に加わることは考慮されておらず、キャリッジが目標位置まで移動させることができない場合があった。
【０００５】
また仮に目標位置までキャリッジを移動させることができても目標位置に継続して停止させることは難しかった。
【０００６】
本発明は上記事情を考慮してなされたものであって、想定できない負荷が制御対象に加わった場合でも、制御対象を目標位置に移動させて停止させることのできる印刷制御装置および印刷制御方法ならびに印刷制御プログラムを記録した記録媒体を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明による印刷制御装置は、モータによって駆動される制御対象の位置および進行方向を検出する位置検出部と、前記制御対象の速度に対応する物理量を検出する速度検出部と、前記位置検出部の出力および制御パラメータに基づいて、前記制御対象の速度が目標速度となるように前記モータに付加する電流値を決定し、この決定された電流値に基づいて前記モータを制御する第１の制御部と、前記位置検出部および前記速度検出部の各々の出力と前記制御パラメータとに基づいて、前記制御対象の速度が目標速度となるように前記モータに付加する電流値を決定し、この決定された電流値に基づいて前記モータを制御する第２の制御部と、前記位置検出部の出力および前記制御パラメータに基づいて前記制御対象が所定範囲内に停止するように前記モータの電流値を決定し、この決定された電流値に基づいて前記モータを制御する第３の制御部と、前記目標速度に応じて前記制御パラメータを選択して設定するとともに所定のタイミングで動作し、前記位置検出部の出力に基づいて前記制御対象が目標範囲内に位置しているか否かを判定し、位置しているときは、前記第３の制御部を選択し、前記制御対象が前記目標範囲内に位置していないときは前記速度に対応する物理量に基づいて第１または第２の制御部を選択し、制御動作させる制御選択部と、を備えたことを特徴とする。
【０００８】
なお、前記第１または第２の制御部が選択されているときに動作し、前記制御対象の速度を前記速度検出部の出力に基づいて演算して各動作時における前記制御対象の速度と基準速度との速度偏差を求め、今回の動作時における速度偏差と前回の動作時における速度偏差との差に比例した電流値を演算し、この電流値と、前記選択された制御部の出力との和に基づいて前記モータを制御する微分速度制御部を更に備えるように構成しても良い。
【０００９】
なお、前記制御対象はキャリッジであり、前記モータは前記キャッリッジを駆動するキャリッジモータであり、前記位置検出部は、前記キャリッジモータの回転に応じて出力パルスを発生するエンコーダの出力パルスの立ち上がりエッジおよび立ち下がりエッジを検出してこの検出されたエッジを、前記キャリッジモータが正転しているときはカウントアップし、逆転しているときにカウントダウンするように計数するカウンタを有するとともに前記立ち上がりエッジおよび立ち下がりエッジに同期してパルスを出力するように構成することが好ましい。
【００１０】
なお、前記制御選択部は、前記キャリッジの目標速度に応じた設定値を有してカウント値が前記設定値に達したときおよび前記位置検出部からパルスを受けたときにカウント値がリセットされるタイマカウンタを備えており、前記キャリッジが前記目標範囲内に位置していない場合に、前記タイマカウンタのカウント値が前記設定値に達しても前記位置検出部からのパルスを受信しないとき前記第１の制御部を選択し前記タイマカウンタのカウント値が前記設定値に達する前に前記位置検出部からのパルスを受信したとき前記第２の制御部を選択するように構成することが好ましい。
【００１１】
なお、前記第１の制御部は、前記制御選択部によって選択されたときに、前記キャリッジの位置が前記目標位置を超えていない場合には、前記キャリッジモータに現在付加されている電流値に、前記目標速度に応じて前記制御パラメータの中から選択した加減電流値を加算し、この加算結果に基づいて前記キャリッジモータを制御し、前記キャリッジの位置が前記目標位置を超えて前記目標範囲も超えた場合は、前記キャリッジモータに現在付加されている電流値から前記加減電流値を減算し、この減算結果に基づいて前記キャリッジモータを制御し、前記キャリッジの位置が前記目標範囲内に入っている場合は、前記キャリッジモータに付加されている電流値から前記制御パラメータの１つである摩擦負荷相当分の電流値を前記キャリッジの進行方向の電流値と逆方向に減算し、この減算結果に基づいて前記キャリッジモータを制御するように構成することが好ましい。
【００１２】
なお、前記第２の制御部は、前記制御選択部によって選択されたときに、前記キャリッジの位置が前記目標位置を超えていない場合および前記キャリッジの位置が前記目標位置を超えて前記目標範囲も超えた場合には、前記速度検出部の出力と、前記制御パラメータ内のしきい値とを比較し、この比較結果に基づいて前記制御パラメータの中から加減電流値を選択し、この選択した加減電流値と前記キャリッジモータに現在付加されている電流値とに基づいて前記キャリッジの速度が目標速度となるような、前記キャリッジモータに付加すべき電流値を演算し、この演算された電流値に基づいて前記キャリッジモータを制御し、前記キャリッジの位置が前記目標範囲内に入っている場合には、前記キャリッジモータに付加されている電流値から摩擦負荷相当分の電流値を前記キャリッジの進行方向の電流値と逆方向に減算し、この減算結果に基づいて前記キャリッジモータを制御するように構成することが好ましい。
【００１３】
なお、前記速度検出部は、前記エンコーダの出力パルスの立ち上がりエッジおよび立ち下りエッジを検出し、エッジ間の時間を測定する時間測定手段を有しこの測定結果を出力するように構成しても良い。
【００１４】
なお、前記第１または第２の制御部が選択されているときに動作し、前記キャリッジの速度を前記速度検出部の出力に基づいて演算して各動作時における前記キャリッジの速度と基準速度との速度偏差を求め、今回の動作時における速度偏差と前回の動作時における速度偏差との差に比例した電流値を演算し、この演算した電流値と、前記選択された制御部の出力との和に基づいて前記キャリッジモータを制御する微分速度制御部を更に備えるように構成しても良い。
【００１５】
なお、前記第３の制御部は、前記制御選択部によって選択されたときに、前記キャリッジの位置が前記目標範囲を含む所定の許容範囲内に入っているか否かを判定し、前記許容範囲内に入っている場合は、前記キャリッジモータに付加すべき電流値を零として前記キャリッジモータを制御し、前記許容範囲内に入っていないときは前記制御選択部を介して前記第１の制御部または第２の制御部を動作させるように構成しても良い。
【００１６】
なお、前記キャリッジモータに付加すべき電流値の絶対値が許容値を超える場合には前記キャリッジを停止させ、前記キャリッジモータをショートブレーキ運転することが好ましい。
【００１７】
なお、前記制御選択部は、前記位置検出部の出力に基づいて、前記目標範囲外の位置であってかつ前記目標範囲の端部から所定距離にある所定位置に前記キャリッジが前記目標範囲に向かって近づいている場合には前記キャリッジの目標速度が第１の値となるように前記制御パラメータを選択して設定し、前記所定位置を過ぎた場合には前記目標速度が前記第１の値より小さい第２の値となるように前記制御パラメータを選択して設定するように構成しても良い。
【００１８】
また、本発明による印刷制御方法は、
前記キャリッジモータによって駆動される前記キャリッジと一体となって移動するエンコーダの出力パルスの立ち上がりエッジおよび立ち下がりエッジを検出してこの検出されたエッジを、前記キャリッジモータが正転しているときはカウントアップし、逆転しているときにカウントダウンするように計数するカウンタを有するとともに前記立ち上がりエッジおよび立ち下がりエッジに同期してパルスを出力する位置カウンタと、前記エンコーダの出力パルスの立ち上がりエッジおよび立ち下がりエッジを検出し、エッジ間の時間を測定する周期カウンタと、前記キャリッジの目標速度に応じた設定値を有してカウント値が前記設定値に達したときおよび前記位置検出部からパルスを受けたときにカウント値がリセットされるタイマカウンタと、を備えている印刷装置において、
前記キャリッジモータに初期電流値を付加するステップと、前記位置カウンタからパルスを受信したときおよび前記タイマカウンタのカウント値が前記設定値に達したときに前記位置カウンタのカウント値と前記キャリッジの目標位置とを比較するステップと、前記キャリッジの位置が前記目標位置を含む目標範囲内に入っている場合は、前記位置カウンタの出力および制御パラメータに基づいて前記キャリッジが前記目標範囲を含む許容範囲内に停止するようにホールド制御を行うステップと、前記キャリッジの位置が前記目標範囲内に位置していない場合に、前記タイマカウンタのカウント値が設定値に達しても前記位置カウンタからのパルスを受信しないときに前記位置カウンタの出力および前記制御パラメータに基づいて前記キャリッジが目標速度となるようにタイマ割込制御を行うステップと、前記キャリッジが前記目標範囲内に位置していない場合に、前記タイマカウンタのカウント値が前記設定値に達するまでに前記位置カウンタからのパルスを受信したときに前記位置カウンタの出力および前記周期カウンタの出力ならびに前記制御パラメータに基づいて前記キャリッジの速度が前記目標速度となるよううにエンコーダ割込制御を行うステップと、を備えたことを特徴とする。
【００１９】
なお、前記タイマ割込制御を行うステップは、前記キャリッジの位置が前記目標位置を超えていない場合には、前記キャリッジモータに現在付加されている電流値に、前記目標速度に応じて前記制御パラメータの中から選択した加減電流値を加算し、この加算結果に基づいて前記キャリッジモータを制御し、 前記キャ リッジの位置が前記目標位置を超えて前記目標範囲も超えた場合は、前記キャリッジモータに現在付加されている電流値から前記加減電流値を減算し、この減算結果に基づいて前記キャリッジモータを制御するステップと、 前記キャリッジ の位置が前記目標範囲内に入っている場合は、前記キャリッジモータに付加されている電流値から前記制御パラメータの１つである摩擦負荷相当分の電流値を前記キャリッジの進行方向の電流値と逆方向に減算し、この減算結果に基づいて前記キャリッジモータを制御するするステップと、を備えていることが好ましい。
【００２０】
なお、前記エンコーダ割込制御を行うステップは、前記キャリッジの位置が前記目標位置を超えていない場合および前記キャリッジの位置が前記目標位置を超えて前記目標範囲も超えた場合には、前記周期カウンタの出力と、前記制御パラメータ内のしきい値とを比較し、この比較結果に基づいて前記制御パラメータの中から加減電流値を選択し、この選択した加減電流値と前記キャリッジモータに現在付加されている電流値とに基づいて前記キャリッジの速度が目標速度となるような、前記キャリッジモータに付加すべき電流値を演算し、この演算された電流値に基づいて前記キャリッジモータを制御するステップと、前記キャリッジの位置が前記目標範囲内に入っている場合には、前記キャリッジモータに付加されている電流値から摩擦負荷相当分の電流値を前記キャリッジの進行方向の電流値と逆方向に減算し、この減算結果に基づいて前記キャリッジモータを制御するステップと、を備えていることが好ましい。
【００２１】
なお、前記ホールド制御を行うステップは、前記キャリッジの位置が前記目標範囲を含む所定の許容範囲内に入っているか否かを判定し、前記許容範囲内に入っている場合は、前記キャリッジモータに付加すべき電流値を零として前記キャリッジモータを制御し、前記許容範囲内に入っていないときは前記タイマ割込制御またはエンコーダ割込制御を動作させるステップを備えていることが好ましい。
【００２２】
また、本発明による印刷制御プログラムを記録した記録媒体は、キャリッジを駆動するキャリッジモータに初期電流値を付加する手順と、位置カウンタからパルスを受信したときおよびタイマカウンタのカウント値が設定値に達したときに前記位置カウンタのカウント値と前記キャリッジの目標位置とを比較する手順と、前記キャリッジの位置が前記目標位置を含む目標範囲内に入っている場合は、前記位置カウンタの出力および制御パラメータに基づいて前記キャリッジが前記目標範囲を含む許容範囲内に停止するようにホールド制御を行う手順と、前記キャリッジの位置が前記目標範囲内に位置していない場合に、前記タイマカウンタのカウント値が設定値に達しても前記位置カウンタからのパルスを受信しないときに前記位置カウンタの出力および前記制御パラメータに基づいて前記キャリッジが目標速度となるようにタイマ割込制御を行う手順と、前記キャリッジが前記目標範囲内に位置していない場合に、前記タイマカウンタのカウント値が前記設定値に達するまでに前記位置カウンタからのパルスを受信したときに前記位置カウンタの出力および前記周期カウンタの出力ならびに前記制御パラメータに基づいて前記キャリッジの速度が前記目標速度となるようにエンコーダ割込制御を行う手順と、を少なくとも備えるものである。
【発明の効果】
【００２３】
本発明によれば、想定できない負荷が制御対象に付加されても目標位置まで移動させて停止させることができる。
【発明を実施するための最良の形態】
【００２４】
本発明の実施の形態を以下、図面を参照して説明する。
【００２５】
まず、本発明が用いられるシリアルプリンタの１つであるインクジェットプリンタの概略の構成について説明する。このインクジェットプリンタの概略の構成を図１１に示す。
【００２６】
このインクジェットプリンタは、紙送りを行う紙送りモータ（以下、ＰＦモータともいう）１と、この紙送りモータ１を駆動する紙送りモータドライバ２と、キャリッジ３と、このキャリッジ３を駆動するキャリッジモータ（以下、ＣＲモータともいう）４と、このキャリッジモータ４を駆動するＣＲモータドライバ５と、ＤＣユニット６と、目詰まり防止のためインクの吸い出しを制御するポンプモータ７と、このポンプモータ７を駆動するポンプモータドライバ８と、キャリッジ３に固定されて印刷紙５０にインクを吐出するヘッド９と、このヘッド９を駆動制御するヘッドドライバ１０と、キャリッジ３に固定されたリニア式エンコーダ１１と、所定の間隔にスリットが形成された符号板１２と、ＰＦモータ１用のロータリ式エンコーダ１３と、印刷処理されている紙の終端位置を検出する紙検出センサ１５と、プリンタ全体の制御を行うＣＰＵ１６と、ＣＰＵ１６に対して周期的に割込み信号を発生するタイマＩＣ１７と、ホストコンピュータ１８との間でデータの送受信を行うインタフェース部（以下ＩＦともいう）１９と、ホストコンピュータ１８からＩＦ１９を介して送られてくる印字情報に基づいて印字解像度やヘッド９の駆動波形等を制御するＡＳＩＣ２０と、ＡＳＩＣ２０およびＣＰＵ１６の作業領域やプログラム格納領域として用いられるＰＲＯＭ２１，ＲＡＭ２２およびＥＥＰＲＯＭ２３と、印刷中の紙５０を支持するプラテン２５と、ＰＦモータ１によって駆動されて印刷紙５０を搬送する搬送ローラ２７と、ＣＲモータ４の回転軸に取付けられたプーリ３０と、このプーリ３０によって駆動されるタイミングベルト３１と、を備えている。
【００２７】
なお、ＤＣユニット６は、ＣＰＵ１６から送られてくる制御指令およびエンコーダ１１，１３の出力に基づいて紙送りモータドライバ２およびＣＲモータドライバ５を駆動制御する。また、紙送りモータ１およびＣＲモータ４はいずれもＤＣモータで構成されている。
【００２８】
このインクジェットプリンタのキャリッジ３の周辺の構成を図１２に示す。
【００２９】
キャリッジ３は、タイミングベルト３１によりプーリ３０を介してキャリッジモータ４に接続され、ガイド部材３２に案内されてプラテン２５に平行に移動するように駆動される。キャリッジ３の印刷紙に対向する面には、ブラックインクを吐出するノズル列およびカラーインクを吐出するノズル列からなる記録ヘッド９が設けられ、各ノズルはインクカートリッジ３４からインクの供給を受けて印刷紙にインク滴を吐出して文字や画像を印字する。
【００３０】
またキャリッジ３の非印字領域には、非印字時に記録ヘッド９のノズル開口を封止するためのキャッピング装置３５と、図１１に示すポンプモータ７を有するポンプユニット３６とが設けられている。キャリッジ３が印字領域から非印字領域に移動すると、図示しないレバーに当接してキャッピング装置３５は上方に移動し、記録ヘッド９を封止する。
【００３１】
記録ヘッド９のノズル開口列に目詰まりが生じた場合や、カートリッジ３４の交換等を行って記録ヘッド９から強制的にインクを吐出する場合は、記録ヘッド９を封止した状態でポンプユニット３６を作動させ、ポンプユニット３６からの負圧により、ノズル開口列からインクを吸い出す。これにより、ノズル開口列の近傍に付着している塵埃や紙粉が洗浄され、さらには記録ヘッド９の気泡がインクとともにキャップ３７に排出される。
【００３２】
次に、キャリッジ３に取付けられたリニア式エンコーダ１１の構成を図１３に示す。このエンコーダ１１は発光ダイオード１１ａと、コリメータレンズ１１ｂと、検出処理部１１ｃとを備えている。この検出処理部１１ｃは複数（４個）のフォトダイオード１１ｄと、信号処理回路１１ｅと、２個のコンパレータ１１ｆＡ ，１１ｆＢ と、を有している。
【００３３】
発光ダイオード１１ａの両端に抵抗を介して電圧Ｖｃｃが印加されると、発光ダイオード１１ａから光が発せられる。この光はコリメータレンズ１１ｂによって平行にされて符号板１２を通過する。符号板１２には所定の間隔（例えば１／１８０インチ（＝１／１８０×２．５４ｃｍ））毎にスリットが設けられた構成となっている。
【００３４】
この符号板１２を通過した平行光は、図示しない固定スリットを通って各フォトダイオード１１ｄに入射し、電気信号に変換される。４個のフォトダイオード１１ｄから出力される電気信号が信号処理回路１１ｅにおいて信号処理される。この信号処理回路１１ｅから出力される信号がコンパレータ１１ｆＡ ，１１ｆＢ において比較され、比較結果がパルスとして出力される。コンパレータ１１ｆＡ ，１１ｆＢ から出力されるパルスＥＮＣ−Ａ，ＥＮＣ−Ｂがエンコーダ１１の出力となる。
【００３５】
パルスＥＮＣ−ＡとパルスＥＮＣ−Ｂは位相が９０度だけ異なっている。ＣＲモータ４が正転すなわちキャリッジ３が主走査方向に移動しているときは図１４（ａ）に示すようにパルスＥＮＣ−ＡはパルスＥＮＣ−Ｂよりも９０度だけ位相が進み、ＣＲモータ４が逆転しているときは図１４（ｂ）に示すようにパルスＥＮＣ−ＡはパルスＥＮＣ−Ｂよりも９０度だけ位相が遅れるようにエンコーダ４は構成されている。そして、上記パルスの１周期Ｔは符号板１２のスリット間隔（例えば１／１８０インチ（＝１／１８０×２．５４ｃｍ））に対応し、キャリッジ３が上記スリット間隔を移動 する時間に等しい。
【００３６】
一方、ＰＦモータ１用のロータリ式エンコーダ１３は符号板がＰＦモータ１の回転に応じて回転する回転円板である以外は、リニア式エンコーダ１１と同様の構成となっている。なおインクジェットプリンタにおいては、ＰＦモータ１用のエンコーダ１３の符号板に設けられている複数のスリットのスリット間隔は、１／１８０インチ（＝１／１８０×２．５４ｃｍ）であり、ＰＦモータ１が上記１スリット間隔だけ回転すると、１／１４４０インチ（１／１４４０×２．５４ｃｍ）だけ紙送りされるような構成となっている。
【００３７】
次に図１１において示した紙検出センサ１５の位置について図１５を参照して説明する。図１５において、プリンタ６０の給紙挿入口６１に挿入された紙５０は、給紙モータ６３によって駆動される給紙ローラ６４によってプリンタ６０内に送り込まれる。プリンタ６０内に送り込まれた紙５０の先端が例えば光学式の紙検出センサ１５によって検出される。この紙検出センサ１５によって先端が検出された紙５０はＰＦモータ１によって駆動される紙送りローラ６５および従動ローラ６６によって紙送りが行われる。
【００３８】
続いてキャリッジガイド部材３２に沿って移動するキャリッジ３に固定された記録ヘッド（図示せず）からインクが滴下されることにより印字が行われる。そして所定の位置まで紙送りが行われると、現在、印字されている紙５０の終端が紙検出センサ１５によって検出される。そしてＰＦモータ１によって駆動される歯車６７ａにより，歯車６７ｂを介して歯車６７ｃが駆動され、これにより、排紙ローラ６８および従動ローラ６９が回転駆動されて、印字が終了した紙５０が排紙口６２から外部に排出される。
【００３９】
次に、キャリッジ３に加わる負荷の例として、ワイピングおよびラビングについて説明する。
【００４０】
ワイピングはゴム板等からなるブレードによりノズルプレート上の拭き取りを行う処理である。ラビングはインク吸収性に富んだ微細な繊維を編み固めた布材のブレードによりワイピングよりも強い拭き取りを行う処理である。イメージ的には、木材板を粗めのサンドペーパで擦るのがラビングで、細目のサンドペーパで仕上げるのがワイピングであり、どちらも木材板を擦っているものの、ラビングでは、大きな凹凸（ほとんど異物）を強く擦り落としていることになる。
【００４１】
図２１を参照してワイピングおよびラビングの動作を説明する。本発明の印刷制御装置が用いられるインクジェットプリンタでは、ワイピングとラビングを行うブレードを一体に接着し、ワイパーと呼ぶ。図２１においては、ワイパー２００の左側にラビング材のブレード２０１が、右側にワイピング材のブレード２０２が接着されている（図２１（ａ）参照）。
【００４２】
ワイピングあるいはラビング動作時には、インクジェット式記録ヘッド９の走査方向に対して緩衝するようにワイパー２００が突出するように構成されている（図２１（ｂ）、（ｄ）参照）。
【００４３】
記録ヘッド９が走査方向に移動すると、これによりノズルプレート９ａはワイパー２００によって拭き取りが行われる（図２１（ｃ）、（ｅ））。このとき、ワイパー２００の拭き取り方向により、ワイピングかラビングかが決定される。図２１（ｃ）ではワイピング材２０２がノズルプレート９ａ上を拭き取っていることからワイピングが行われ、図２１（ｅ）ではラビング材２０１がノズルプレート９ａ上を拭き取っていることからラビングが行われる。
【００４４】
（第１の実施の形態）
次に本発明による印刷制御装置の第１の実施の形態の構成を図１に示す。
【００４５】
この実施の形態の印刷制御装置８０は、図１１に示したＤＣユニット６に含まれ、位置カウンタ８１と、周期カウンタ８２と、制御パラメータ記憶部８３と、制御選択部８４と、タイマ割込制御部８５と、エンコーダ割込制御部８６と、選択部８７と、微分速度制御部８８と、ホールド制御部８９と、選択部９１と、Ｄ／Ａコンバータ９２とを備えている。そしてこの印刷制御装置８０は想定できない負荷がキャリッジに付加された場合でも目標位置まで移動させ停止させる制御（以下、負荷位置決め制御ともいう）に使用される。
【００４６】
位置カウンタ８１はエンコーダ１１の出力パルスＥＮＣ−Ａ，ＥＮＣ−Ｂの各々の立ち上がりエッジ、立ち下がりエッジを検出し、検出されたエッジの個数を計数するとともに上記立ち上がりエッジ、立ち下りエッジに同期してパルスを出力する。この計数はＣＲモータ４が正転しているときは１個のエッジが検出されると「＋１」を加算し、逆転しているときは、１個のエッジが検出されると「−１」を加算する。パルスＥＮＣ−ＡおよびＥＮＣ−Ｂの各々の周期は符号板１２のスリット間隔に等しく、かつパルスＥＮＣ−ＡとパルスＥＮＣ−Ｂは位相が９０度だけ異なっている。このため、上記計数のカウント値「１」は符号板１２のスリット間隔の１／４に対応する。これにより上記計数値にスリット間隔の１／４を乗算すれば、キャリッジ３の、計数値が「０」に対応する位置からの移動量を求めることができる。この計算値が「０」の位置を、ホーム位置とすればホーム位置を基準としたキャリッジ３の位置を得ることができる。このときエンコーダ１１の解像度は符号板１２のスリットの間隔の１／４となる。上記スリットの間隔を１／１８０インチ（１／１８０×２．５４ｃｍ）とすれば解像度は１／７２０インチ（１／７２０×２．５４ｃｍ）となる。
【００４７】
周期カウンタ８２は、エンコーダ１１の出力パルスＥＮＣ−Ａ，ＥＮＣ−Ｂの各々の立ち上がりエッジ、立ち下りエッジを検出し、符号板１２のスリット間隔の１／４をキャリッジ３が移動する時間（周期）を例えばタイマカウントによってカウントし、このカウント値Ｔ＿curを出力する。符号板１２のスリット間隔をλとすれば、キャリッジの速度はλ／（４×Ｔ_cur）として求められる。
【００４８】
制御パラメータ記憶部８３は、負荷位置決め制御に必要な制御パラメータを記憶する。この制御パラメータは例えば図９に示すように、負荷位置決め制御の起動指令によって動かされるキャリッジ３の目標速度、タイマの設定時間Ｔｉｍｅｒ、周期（すなわち速度）のしきい値Ｔ_limitＬ，Ｔ_limit，Ｔ_limitＤ、ＣＲモータ４に付加する電流の加減値Ｉ_step1，Ｉ_step2，Ｉ_step3、キャリッジ３をホールドするためにＣＲモータ４に付加する、摩擦負荷に相当する電流値Ｉ−hold 、キャリッジ３を始動させるためにＣＲモータ４に付加される初期電流値Ｉ_start、およびＣＲモータ４に付加される電流の上限値Ｉ_max等から構成されている。
【００４９】
図９においては、目標速度は例えば、微速、中速、高速の３種類に分けられる。微速のときの目標速度はａｖ１（ｃｐｓ（character per second))であり、中速のときの目標速度はａｖ２（ｃｐｓ）であり、高速のときの目標速度はａｖ３（ｃｐｓ）である。ここでａｖ１＜ａｖ２＜ａｖ３である。
【００５０】
また、各目標速度ａｖｉ（ｉ＝１，２，３）毎にＴｉｍｅｒの値ｂＴｍｉ 、Ｔ_limitＬの値ｂＴＬｉ 、Ｔ_limitの値ｂＴｉ、Ｔ_limitＤの値ｂＴＤｉ 、Ｉ_step1の値ｃ１ｉ、Ｉ_step2の値ｃ２ｉ、Ｉ_step3の値ｃ３ｉ、Ｉ_hold の値ｃｆｉ、Ｉ_startの値ｃｓｉ、Ｉ_maxの値ｃｍｉが与えられる。ここで、各目標速度ａｖｉ（ｉ＝１，２，３）に対して図１０に示すようにｂＴｍｉ ＞ｂＴＬｉ ＞ｂＴｉ＞ｂＴＤｉ である。またｂＴｍｉ （ｉ＝１，２，３）に対してｂＴｍ１ ＞ｂＴｍ２ ＞ｂＴｍ３ であり、ｂＴＬｉ （ｉ＝１，２，３）に対してｂＴＬ１ ＞ｂＴＬ２ ＞ｂＴＬ３ であり、ｂＴｉ（ｉ＝１，２，３）対してｂＴ１＞ｂＴ２＞ｂＴ３であり、ｂＴＤｉ （ｉ＝１，２，３）に対してｂＴＤ１ ＞ｂＴＤ２ ＞ｂＴＤ３ である。
【００５１】
制御選択部８４はタイマカウンタ８４ａを有し、このタイマカウンタ８４ａの設定値Ｔｉｍｅｒを、図１１に示すＣＰＵ１６から位置決め制御の起動指令とともに送られてくる目標速度に基づいて制御パラメータ記憶部８３から選択し、設定する。例えば図９に示すように目標速度が中速でその値がａｖ２のときには、タイマカウンタ８４ａの設定値Ｔｉｍｅｒは値ｂＴｍ２ が設定される。なお、このとき初期電流値Ｉ_startも上記目標速度に応じて選択され、ＣＲモータ４に付加すべき電流Ｉ_curがＩ_cur＝Ｉ_startに初期設定され、この電流値I_curがＣＲモータに付加される。
【００５２】
そして、タイマカウンタ８４ａは設定値が設定されると、カウントを開始し、カウント値が上記設定値に達するまでカウントを行い、上記設定値に達したときおよび位置カウンタ８１からの出力パルスを受けたときは、リセットされ再び零からカウントを開始する。
【００５３】
また制御選択部８４は、位置カウンタ８１からの出力パルスを受けたときに図３に示すように目標位置を含む目標範囲内にキャリッジ３が位置している場合は、ホールド制御部８９を選択する。そして上記目標範囲外に位置している場合は、位置カウンタ８１からの出力パルスをタイマカウンタ８４ａが受信したときのカウント値Ｔに基づいてタイマ割込制御部８５かまたはエンコーダ割込制御部８４を選択する。上記カウント値Ｔが設定値Ｔｉｍｅｒに達しても位置カウンタ８１から出力パルスを受信しない場合（この場合、Ｔ＞Ｔｉｍｅｒと見なす）、すなわちキャリッジ３が停止しているかまたは目標速度よりもかなりゆっくりと動いている場合はタイマ割込制御部８５を選択し、上記カウント値Ｔが設定値Ｔｉｍｅｒの値以下の場合はエンコーダ割込制御部８６を選択する。したがって制御選択部８４は位置カウンタ８１から出力パルスを受信する毎、すなわちキャリッジ３が符号板１２のスリット間隔λの１／４を移動する毎か、またはタイマカウンタ８４ａのカウント値が設定値Ｔｉｍｅｒに達したときに、上記３つの制御部のうちの１つの制御部を選択する動作を行う。
【００５４】
タイマ割込制御部８５は、制御選択部８４によって選択されたときには、位置カウンタ８１の出力から得られるキャリッジ３の位置および進行方向に基づいてＣＲモータ４に付加する電流Ｉ_curを決定し、選択部８７に送出する。
【００５５】
エンコーダ割込制御部８６は、制御選択部８４によって選択されたときには、位置カウンタ８１の出力から得られるキャリッジ３の位置および進行方向と、周期カウンタ８２の出力から得られた周期Ｔ_curとに基づいて、ＣＲモータ４に付加する電流Ｉ_curを決定し、選択部８７に送出する。
【００５６】
選択部８７は、タイマ割込制御部８５が選択されているときにはタイマ割込制御部８５の出力を選択し、エンコーダ割込制御部８６が選択されているときにはエンコーダ割込制御部８６の出力を選択して微分速度制御部８８に送出する。
【００５７】
微分速度制御部８８は、周期カウンタ８２の出力を受信する毎に動作し、この出力から得られる周期Ｔ_curに基づいて、キャリッジ３の現在の速度と基準速度との速度偏差を演算し、この速度偏差と一つ前の割込時、すなわち一つ前の動作時の速度偏差との差に応じた増減電流値Ｉ_crtD を決定し、この増減電流値Ｉ_crtD と選択部８７の出力Ｉ_curとの和を演算して、この和をＣＲモータ４に付加する電流Ｉ_curとして出力する。
【００５８】
ホールド制御部８９は、位置カウンタ８１の出力から得られる、キャリッジ３の位置および進行方向に基づいて、キャリッジ３が図３に示すホールド時の許容範囲内に位置しているときは、上記範囲内にキャリッジ３の位置が保持されるようにＣＲモータ４に付加する電流Ｉ_curを決定し、キャリッジ３が上記許容範囲外に位置しているときには、制御選択部８４を介して、タイマ割込制御部８５またはエンコーダ割込制御部８６を動作させる。
【００５９】
選択部９１はホールド制御部８９が選択されているときには、ホールド制御部８９の出力を選択し、ホールド制御部８９が選択されていないときには微分速度制御部８８の出力を選択し、この選択された、ＣＲモータ４に付加する電流値Ｉ_curをＤ／Ａに送出する。この電流値Ｉ_curはＤ／Ａコンバータ９２によってアナログ電流に変換され、このアナログ電流に基づいてドライバ５によってＣＲモータ４が駆動される。
【００６０】
ドライバ５は、例えば４個のトランジスタを備えており、Ｄ／Ａコンバータ９２の出力に基づいて上記トランジスタを各々ＯＮまたはＯＦＦさせることにより  （ａ）ＣＲモータ４を正転または逆転させる運転モード
（ｂ）回生ブレーキ運転モード（ショートブレーキ運転モード、すなわちＣＲモータ４の停止を維持するモード）
（ｃ）ＣＲモータ４を停止させようとするモード
を行わせることが可能な構成となっている。
【００６１】
次に本実施の形態の印刷制御装置８０の動作を図２を参照して説明する。負荷位置決め制御の起動指令を受信する直前のキャリッジ３の位置を図３に示すようにＰ１とし、この位置Ｐ１から目標位置Ｌを１つの端部とする目標範囲にキャリッジ３を移動させて停止させるものとする。なお、キャリッジ３が目標範囲を超えて移動された場合、すなわちキャリッジ３が目標範囲のもう一方の端部となる位置Ｒの右側に移動されたときには、目標位置は位置Ｌではなく位置Ｒとなる。すなわち、キャリッジ３が目標範囲外に位置しているときの目標位置は、キャリッジ３の位置に最も近い目標範囲の端部が目標位置となる。
【００６２】
まず、ＣＰＵ１６から負荷位置決め制御の起動指令とともに目標位置、目標速度、および初期電流値Ｉ_startを含む制御パラメータが印刷制御装置８０に送られてくる。すると、制御パラメータは制御パラメータ記憶部に記憶されるとともに上記目標速度に応じた設定値Ｔｉｍｅｒがタイマカウンタ８４ａにおいて設定されて、このタイマカウンタ８４ａがカウントを開始する。また、このときＣＲモータ４に付加すべき電流値Ｉ_curがＩ_cur＝Ｉ_startに設定され、この電流値がＣＲモータに付加される（図２のステップＦ１参照）。
【００６３】
タイマカウンタ８４ａがカウントを開始してからカウント値Ｔが設定値Ｔｉｍｅｒに達するまでに位置カウンタ８１からパルスを受信しないとき（Ｔ＞Ｔｉｍｅｒと見なされるとき）、制御選択部８４によってタイマ割込制御部８５が選択され（ステップＦ２，Ｆ３参照）タイマ割込制御が行われる。カウント値Ｔが設定値Ｔｉｍｅｒ以下のときは、制御選択部８４によってエンコーダ割込制御部８６が選択されエンコーダ割込制御が行われる（ステップＦ２，Ｆ４参照）。
【００６４】
そして選択された制御部によってＣＲモータ４に付加すべき電流値Ｉ_curが決定され、選択部８７を介して微分速度制御部８８に送られる。この微分速度制御部８８において決定された増減電流値Ｉ_crtＤと上記電流値Ｉ_curの和がＣＲモータ４に付加すべき電流値Ｉ_curとして選択部９１を介してＤ／Ａコンバータ９２に送られる。すると、この電流値Ｉ_curはＤ／Ａコンバータ９２によってアナログ電流に変換されて、ドライバ５に送られる。そしてＣＲモータ４に供給される電流値が電流値Ｉ_curとなるようにドライバ５によってＣＲモータ４が駆動される。
【００６５】
次に位置カウンタ８１からパルスを受信したときかまたはタイマカウンタ８４ａのカウント値Ｔが設定値Ｔｉｍｅｒに達したときに位置カウンタ８１の出力に基づいてキャリッジ３が目標位置すなわち目標範囲内に到達したか否かが制御選択部８４によって判定され（ステップＦ５参照）、到達していないときはステップＦ２に戻り、上述のことが繰返される。到達したときはホールド制御部８９が制御選択部８４によって選択されてホールド制御が行われる（ステップＦ６参照）。すなわちホールド制御部８９によって決定された、ＣＲモータ４に付加すべき電流値Ｉ_curに基づいてＤ／Ａコンバータ９２、ドライバ５を介してＣＲモータ４が制御される。
【００６６】
次にタイマ割込制御部８５によって行われるタイマ割込制御の一具体例を図４を参照して説明する。この具体例はキャリッジ３が８０桁側から１桁側、すなわち図３において左から右に移動する場合を示している。
【００６７】
まず、制御選択部８４によってタイマ割込制御部８５が選択されると、位置カウンタ８１の出力に基づいてキャリッジ３の位置Ｐ１およびキャリッジ３の進行方向Ｄ１がタイマ割込制御部８５によって確認される（ステップ１１，Ｆ１２参照）。なお、位置カウンタ８１のカウント値はキャリッジ３が１桁側から８０桁側に移動するにしたがって増加する。
【００６８】
続いてキャリッジ３の現在の位置と目標範囲の左端の点の位置Ｌとがタイマ割込制御部８５において比較され（ステップＦ１３参照）、キャリッジ３の位置Ｐ１が位置Ｌの左側（図３参照）にある場合すなわち位置カウンタ８１による位置Ｐ１のカウント値が位置Ｌのそれよりも大きい場合は、制御パラメータ記憶部８３に記憶されている電流値Ｉ_step1が、現在の電流値Ｉ_curに加えられ、この和（＝Ｉ_cur＋Ｉ_step1）がＣＲモータ４に新たに付加すべき電流値Ｉ_curとなる（ステップＦ１４参照）。なお、ここでＩ_step1は目標速度に応じた値となっていることは云うまでもない。
【００６９】
ステップＦ１３において、キャリッジ３の位置Ｐ１が位置Ｌの左側に無い場合は、ステップＦ１５に進み位置Ｐ１と目標範囲の右端部の位置Ｒとが比較され、位置Ｐ１が位置Ｒの右側（図３参照）にある場合、すなわち位置カウンタ８１による位置Ｐ１のカウント値が位置Ｒのそれよりも小さい場合は、キャリッジ３が目標範囲内に位置するように現在の電流値Ｉ_curから電流値Ｉ_step1が減算され、この減算結果（＝Ｉ_cur−Ｉ_step1）がＣＲモータ４に新たに付加すべき電流値Ｉ_curとなる（ステップＦ１６参照）。
【００７０】
ステップＦ１５において、位置Ｐ１が位置Ｒの右側に無い場合、すなわち、位置Ｐ１が目標範囲内にある場合は、ステップＦ１７に進む。そしてキャリッジ３の進行方向が８０桁側から１桁側である場合、すなわち図３においてキャリッジ３が左から右に進行している場合は、現在の電流値Ｉ_curから制御パラメータ記憶部８３に記憶されている摩擦負荷に相当する電流値Ｉ_hold が減算され、この減算結果（＝Ｉ_cur−Ｉ_hold ）がＣＲモータ４に新たに付加すべき電流値Ｉ_curとなる（ステップＦ１８参照）。
【００７１】
ステップＦ１７において、キャリッジ３の進行方向が１桁側から８０桁側である場合には、ステップＦ１９に進み現在の電流値Ｉ_curに電流値Ｉ_hold が加算され、この加算結果（＝Ｉ_cur＋Ｉ_hold ）がＣＲモータ４に新たに付加すべき電流値Ｉ_curとなる。
【００７２】
このようにして求められた電流値Ｉ_curはタイマ割込制御部８５において、制御パラメータ記憶部８３に記憶されている、電流の上限値Ｉ_maxと比較され（ステップＦ２０参照）、電流値Ｉ_curが上限値Ｉ_maxを超えている場合はキャリッジエラーとなって、メッセージを外部に出力するとともにキャリッジ３は停止され、ＣＲモータ４はショートブレーキ運転される。電流値Ｉ_curが上限値Ｉ_max以下の場合には、ステップＦ２２に進み、微分速度制御部８８によって微分速度制御が行われる。この微分速度制御の具体例については後で詳述する。
【００７３】
次にエンコーダ割込制御部８６によって行われるエンコーダ割込制御の一具体例を図５および図６を参照して説明する。
【００７４】
まず制御選択部８４によってエンコーダ割込制御部８６が選択されると、位置カウンタ８１の出力に基づいてキャリッジ３の位置Ｐ１および進行方向Ｄ１がエンコーダ割込制御部８６によって確認される（ステップＦ３１，Ｆ３２参照）。またこのとき、周期カウンタ８２の出力から得られる現在の周期Ｔ_curがエンコーダ割込制御部８６によって確認される（ステップＦ３３参照）。
【００７５】
続いてキャリッジ３の現在位置Ｐ１と目標範囲の左端の点の位置Ｌとがエンコーダ割込制御部８６において比較され（ステップＦ３４参照）、位置Ｐ１が位置Ｌの右側にある場合、すなわち位置カウンタ８１による位置Ｐ１のカウント値が位置Ｌのそれよりも小さいかまたは等しいときは図６に示すステップＦ５０に進む。図６に示す手順は後で詳述する。
【００７６】
キャリッジ３の位置Ｐ１が位置Ｌの左側にある場合は、ステップＦ３５に進み、キャリッジ３の進行方向Ｄ１が８０桁側から１桁側であるか否かがエンコーダ割込制御部８６によって判定される。キャリッジ３の進行方向Ｄ１が１桁側から８０桁側である場合には、ステップＦ３６に進み、制御パラメータ記憶部８３に記憶されている加減電流値Ｉ_step1が現在の電流値Ｉ_curに加算され、この加算結果（＝Ｉ_cur＋Ｉ_step1）がＣＲモータ４に新たに付加すべき電流値Ｉ_curとなる。
【００７７】
ステップＦ３５において、キャリッジ３の進行方向Ｄ１が８０桁側から１桁側である場合には、ステップＦ３８に進み、現在の周期Ｔ_curと、制御パラメータ記憶部８３に記憶されているしきい値Ｔ_limitＤとが比較される。そしてＴ_cur≦Ｔ_limitＤの場合には、ステップＦ３９に進み、現在の電流値Ｉ_curから電流値Ｉ_step1が減算され、この減算結果（＝Ｉ_cur −Ｉ_step1 ）がＣＲモータ４に新たに付加すべき電流値Ｉ_curとなる。
【００７８】
ステップＦ３８において、Ｔ_cur≦Ｔ_limitＤでない場合は、ステップＦ４１に進み、現在の周期Ｔ_curと、制御パラメータ記憶部８３に記憶されているしきい値Ｔ−limitとが比較される。そしてＴ_cur≦Ｔ_limitの場合は、ステップＦ４２に進み、現在の電流値Ｉ_curから電流値Ｉstpe2 が減算され、この減算結果（＝Ｉ_cur−Ｉ_step2）がＣＲモータ４に新たに付加すべき電流値Ｉ_curとなる。
【００７９】
ステップＦ４１において、Ｔ_cur≦Ｔ_limitでない場合は、ステップＦ４４に進み、現在の周期Ｔ−curと、しきい値Ｔ_limitＬとが比較される。そしてＴ_cur≦Ｔ_limitＬの場合は、現在の電流値がＣＲモータ４に新たに付加すべき電流値Ｉ_curとなる（ステップＦ４５参照）。Ｔ_cur≦Ｔ_limitＬでない場合は現在の電流値Ｉ_curに電流値Ｉ_step2が加算され、この加算結果（＝Ｉ_cur＋Ｉ_step2）がＣＲモータ４に新たに付加すべき電流値Ｉ_curとなる。このように、目標位置Ｌに向かうときのキャリッジ３の速度（１/Ｔ_curに比例）が第１の所定速度(１／Ｔ_limitに比例）以上のときには、キャリッジ３がオーバーシュートしないようにＣＲモータ４に付加すべき電流値を減少させ（ステップＦ３８乃至Ｆ４２参照）、キャリッジ３の速度が第２の所定速度（１／Ｔ_limitＬに比例）より小さいときには、キャリッジ３が停止しないようにＣＲモータ４に付加すべき電流値を増加させる（ステップＦ４４，Ｆ４６参照）。なお、キャリッジ３の速度が第１の所定速度より小さくかつ第２の所定速度以上のときには、ＣＲモータ４に付加する電流値は、変化させない（ステップＦ４５参照）。
【００８０】
次にステップＦ３４に戻り、キャリッジ３の位置Ｐ１が位置Ｌの左側にない場合について図６を参照して説明する。この場合はステップＦ５０に進み、キャリッジ３の位置Ｐ１が位置Ｒの右側にあるか否かが判定される。位置Ｒの右側にない場合、すなわち、キャリッジ３が目標範囲内にある場合は、ステップＦ５１に進み、キャリッジ３の進行方向Ｄ１が８０桁側から１桁側に向かっているか否かが判定される。そして８０桁側から１桁側である場合には、ステップＦ５２に進み現在の電流値Ｉ_curから摩擦負荷に相当する電流値Ｉ_hold を減算し、この減算結果（＝Ｉ_cur−Ｉ_hold ）がＣＲモータ４に新たに付加される電流値Ｉ_curとなる。これに対して、キャリッジ３の進行方向が１桁側から８０桁側に向かっている場合は、ステップＦ５３に進み、現在の電流値Ｉ_curに電流値Ｉ_hold が加算され、この加算結果（＝Ｉ_cur ＋Ｉ_hold ）がＣＲモータ４に新たに付加される 電流値となる。その後、ステップＦ５３ａに進み、キャリッジ３の現在位置が予め設定された負荷領域に位置しているか否かが判定される。そして、キャリッジ３が負荷領域に位置していない場合のみ、ＣＲモータ４に付加すべき電流値Ｉ_curを零にする（ステップＦ５３ｂ参照）。
【００８１】
ステップＦ５０において、キャリッジ３の位置Ｐ１が位置Ｒの右側にある場合は、ステップＦ５４に進み、キャリッジ３の進行方向Ｄ１が８０桁側から１桁側に向かっているか否かが判定される。そして８０桁側から１桁側に向かっている場合は、ステップＦ５５に進み、現在の電流値Ｉ−curから加減電流値Ｉ_step1が減算され、この減算結果（＝Ｉ_cur−Ｉ_step1）がＣＲモータ４に新たに付加される電流値Ｉ_curとなる。
【００８２】
これに対して、キャリッジ３の進行方向が１桁側から８０桁側に向かっている場合は、ステップＦ５６に進み、現在の周期Ｔ_curと、しきい値Ｔ_limitとが比較される。そしてＴ_cur≧Ｔ_limitの場合は現在の電流値Ｉ_curがＣＲモータ４に新たに付加すべき電流値Ｉ_curとなる（ステップＦ５７参照）。Ｔ_cur≦Ｔ_limitでない場合はステップＦ５８に進み、現在の周期Ｔ_curがしきい値Ｔ_limitの半分以下か否かが判定される。半分以下の場合は現在の電流値Ｉ_curに電流値Ｉ_step2をαｔ倍したものが加算され、この加算結果（＝Ｉ_cur＋αｔ・Ｉ_step2）がＣＲモータ４に新たに付加すべき電流値Ｉ_curとなる。なお、αｔは定数で例えば実験等から決定しても良い。現在の周期Ｔ_curがしきい値Ｔ_limitの半分以下でない場合は、ステップＦ６０に進み、現在の電流値Ｉ_curに電流値Ｉ_step2が加算され、この加算結果（＝Ｉ_cur＋Ｉ_step2）がＣＲモータ４に新たに付加すべき電流値Ｉ_curとなる。
【００８３】
なお、上述のステップＦ５６乃至Ｆ６０は、図１６に示すステップＦ１０１乃至Ｆ１０７に置き換えても良い。すなわち、ステップＦ１０１において、現在の周期Ｔ_curと、制御パラメータ記憶部８３に記憶されているしきい値Ｔ_limitＤとが比較される。そしてＴ_cur≦Ｔ_limitＤの場合には、ステップＦ１０２に進み、現在の電流値Ｉ_curに電流値Ｉ_step1が加算され、この加算結果（＝Ｉ_cur ＋Ｉ_step1 ）がＣＲモータ４に新たに付加すべき電流値Ｉ_curとなる。
【００８４】
ステップＦ１０１において、Ｔ_cur≦Ｔ_limitＤでない場合は、ステップＦ１０３に進み、現在の周期Ｔ_curと、制御パラメータ記憶部８３に記憶されているしきい値Ｔ−limitとが比較される。そしてＴ_cur≦Ｔ_limitの場合は、ステップＦ１０４に進み、現在の電流値Ｉ_curに電流値Ｉstpe2 が加算され、この加算結果（＝Ｉ_cur＋Ｉ_step2）がＣＲモータ４に新たに付加すべき電流値Ｉ_curとなる。
【００８５】
ステップＦ１０３において、Ｔ_cur≦Ｔ_limitでない場合は、ステップＦ１０５に進み、現在の周期Ｔ−curと、しきい値Ｔ_limitＬとが比較される。そしてＴ_cur≦Ｔ_limitＬの場合は、現在の電流値がＣＲモータ４に新たに付加すべき電流値Ｉ_curとなる（ステップＦ１０６参照）。Ｔ_cur≦Ｔ_limitＬでない場合は現在の電流値Ｉ_curから電流値Ｉ_step2が減算され、この減算結果（＝Ｉ_cur−Ｉ_step2）がＣＲモータ４に新たに付加すべき電流値Ｉ_curとなる。
【００８６】
再び図５に戻る。このようにしてＣＲモータ４に新たに付加すべき電流値Ｉ_curが決定されると、ステップＦ４７に進み、上記電流値Ｉ_curと上限値Ｉ_maxが比較される。そしてＩ_cur≦Ｉ_maxでない場合はステップＦ４９に進み、キャリッジエラーとなって外部にメッセージが出力されるとともにキャリッジ３は停止され、ＣＲモータ４はショートブレーキ運転される。Ｉ_cur≦Ｉ_maxの場合はステップＦ４８に進み、微分速度制御部８８によって微分速度制御が行われる。
【００８７】
次に微分速度制御部８８によって行われる微分速度制御の一具体例を図７を参照して説明する。この具体例はキャリッジ３が８０桁側から１桁側に移動する場合を示している。
【００８８】
まず、現在の周期Ｔ_curと、しきい値Ｔ_limitＤとが比較される（ステップＦ７１，Ｆ７２参照）。Ｔ_cur＞Ｔ_limitＤでない場合、すなわちキャリッジ３の速度が、しきい値Ｔ_limitＤに対応する速度よりも速い場合は、現在の周期Ｔ_curはＴ_limitＤに置換えられ（ステップＦ７３参照）、ステップＦ７４に進む。
【００８９】
Ｔ_cur＞Ｔ_limitＤの場合はステップＦ７４に進み、しきい値Ｔ_limitに対応する速度ｋ／Ｔ_limitと現在の周期Ｔ_curに対応する速度ｋ／Ｔ_curとの速度差Ｖ_rad2 が微分速度制御部８８において演算される。ここでｋは周期から速度を求めるための定数である。
【００９０】
次に、前の動作時に求めた上記速度偏差Ｖ_rad1 と、今回の動作で求めた速度偏差Ｖ−rad2 との差に比例した電流値Ｉ_crtD を、
Ｉ_crtD ＝Ｉ_step3×（Ｖ_rad2 −Ｖ_rad1 ）
として求める（ステップＦ７５参照）。ここでＩ_step3は制御パラメータ記憶部８３に記憶されている。
【００９１】
次に、この電流値Ｉ_crtD は、タイマ割込制御部８５またはエンコーダ割込制御部８６によって決定された電流値Ｉ_curに加算され（ステップＦ７６参照）、この加算結果（＝Ｉ_cur＋Ｉ_crtD ）が、ＣＲモータ４に新たに付加される電流値Ｉ_curとなり、選択部９１を介してＤ／Ａコンバータ９２に送られる。これにより、Ｄ／Ａコンバータ９２の出力に基づいてドライバ５によってＣＲモータ４が制御される。
【００９２】
次に上記電流値Ｉ_curの確認が行われる（ステップＦ７７参照）。すなわち、上記電流値Ｉ_curの絶対値が上限値Ｉ_maxか否かがステップＦ７８において判定され、上限値Ｉ_maxを超えている場合は、キャリッジエラーとされ（ステップＦ７９参照）、外部にメッセージが出力されるとともに、キャリッジ３が停止され、ＣＲモータ４がショートブレーキ運転される。
【００９３】
ステップＦ７８において、Ｉ_cur≦Ｉ_maxの場合は、ステップＦ８０に進み、電流値Ｉ_curが負であるか否かが判定される。負である場合は、キャリッジ３が１桁側から８０桁側に向かって移動する電流値であり（ステップＦ８１参照）、正または零である場合は、キャリッジ３が８０桁側から１桁側に向かって移動する電流値となる（ステップＦ８２参照）。
【００９４】
そして、ステップＦ８３において、Ｖ_rad1 の値がＶ_rad2 の値に置換えられ、微分制御が終了する。
【００９５】
なお、上述のタイマ割込制御、エンコーダ割込制御、および微分速度制御ならびに後述のホールド制御においては、制御パラメータ、例えばＴｉｍｅｒ，Ｔ_limitＬ，Ｔ_limit，Ｔ_limitＤ，Ｉ_step1，Ｉ_step2，Ｉ_step3，Ｉ_hold ，Ｉ_start，Ｉ_maxは、一般に目標速度に基づいて図９に従って選択される。また、キャリッジ３の目標速度が中速または高速である場合に、キャリッジ３が目標位置（例えば位置Ｌ）から所定距離の範囲内に入ったときには、目標速度を微速に切換えることが好ましい。このとき、上述の各制御においては、電流値Ｉ_curは変更されずに制御パラメータのみが「微速」に対応したものとなる。
【００９６】
次に、ホールド制御部８９によって行われるホールド制御の一具体例を図８を参照して説明する。この具体例はキャリッジ３が８０桁側から１桁側に移動する場合を示している。
【００９７】
まず、制御選択部８４によってホールド制御部８９が選択されると、位置カウンタ８１の出力に基づいて、キャリッジ３の位置Ｐ１および進行方向Ｄ１の確認がホールド制御部８９によって行われる（ステップＦ９１，Ｆ９２参照）。
【００９８】
続いてキャリッジ３の現在位置Ｐ１と、ホールド時の許容範囲の左端の点の位置ＬＬ（図３参照）とが、ホールド制御部８９によって比較される（ステップＦ９３参照）。そして位置Ｐ１が位置ＬＬの左側にない場合はステップＦ９４に進み、左側にある場合はステップＦ９６に進む。
【００９９】
ステップＦ９４においては、キャリッジ３の現在位置Ｐ１と、ホールド時の許容範囲の右端の点の位置ＲＲ（図３参照）とが比較される。そして位置Ｐ１が位置ＲＲの右側にない場合、すなわちキャリッジ３がホールド時の許容範囲内にあるときは、キャリッジ３をホールドするためにＣＲモータ４に付加すべき電流値Ｉ_cur変えないか（Ｉ_cur＝Ｉ_cur）または零（Ｉ_cur＝０）とし（ステップＦ９５参照）、この電流値Ｉ_curを選択部９１を介してＤ／Ａコンバータ９２に送る。すると、このＤ／Ａコンバータ９２の出力に基づいてドライバ５によってＣＲモータ４が制御され、キャリッジ３が停止した状態となる。
【０１００】
ステップＦ９４において、位置Ｐ１が位置ＲＲの左側にある場合、すなわちキャリッジ３が許容範囲を外れた場合にはステップＦ９６に進む。
【０１０１】
ステップＦ９６において、制御選択部を介してタイマ割込制御またはエンコーダ割込制御を動作させる。
【０１０２】
なお、ホールド制御における許容範囲（すなわちホールド時の許容範囲）を 目標範囲よりも広く取ってあるのは（図３参照）、ホールド時における不必要な動作（ハンチング等）を防止するためである。
【０１０３】
以上説明したように本実施の形態の印刷制御装置によれば、想定できない負荷がキャリッジに付加された場合でも、キャリッジを目標位置まで移動させて、停止させることができる。
【０１０４】
なお、上記実施の形態においては周期カウンタ８２によってカウントされる、キャリッジ３が符号板１２のスリット間隔λの１／４だけ移動する時間（周期）、すなわちキャリッジの速度に対応する物理量を用いて制御を行ったが、この周期の逆数に比例するキャリッジ３の速度を用いて制御を行っても良い。この場合、制御パラメータのうち、しきい値Ｔ_limitＬ，Ｔ_limit，Ｔ_limitＤは時間ではなく、速度となる。なお、キャリッジの速度に対応する物理量は、キャリッジの速度をも含んでいるものとする。
【０１０５】
なお上記実施の形態においては、エンコーダ１１の出力バルスＥＮＣ−Ａ，ＥＮＣ−Ｂの全てのエッジを用いて制御を行ったが、上記の２つの出力パルスのうちの一方の出力パルス（例えば出力パルスＥＮＣ−Ａ）の立ち上がりエッジおよび立ち下がりエッジの一方のエッジのみを用いて制御を行っても良いし、上記２つの出力パルスのうちの一方の出力パルスの全てのエッジを用いて制御を行っても良い。
【０１０６】
また、上記実施の形態においては、制御パラメータは、制御パラメータ記憶部８３に記憶させたが、必要なときにＣＰＵ１６から送出するようにしても良い。
【０１０７】
なお、上記第１の実施の形態においては、負荷位置決め制御の起動から終了まで目標速度の変更は、行っていない。このため、目標速度が微速であって、かつ起動時のキャリッジ３の位置が目標位置から離れている場合には、キャリッジ３の速度が微速であるので負荷位置決め制御が終了するまでにかなりの時間を要する。また、目標速度が中速または高速の場合には、目標範囲を超えて停止することがあり、この場合には再度ＣＲモータに電流を付加してキャリッジ３を目標位置範囲まで動かすように制御する必要があり、負荷位置決め制御が終了するまでにかなりの時間を要する。負荷位置決め制御に要する時間を短くするためには、キャリッジ３が目標位置から離れているときには目標速度を高速または中速とし、目標位置に近づいたときには目標速度を微速に変更するように制御を行うことが考えられる。これを第２の実施の形態として説明する。
【０１０８】
（第２の実施の形態）
次に、本発明による印刷制御装置の第２の実施の形態を図１７および図１８を参照して説明する。図１７は本実施の形態の印刷制御装置の構成を示すブロック図であり、図１８は本実施の形態の動作を示すフローチャートである。
【０１０９】
この実施の形態の印刷制御装置８０Ａは、図１に示す第１の実施の形態の印刷制御装置８０に微速切換判定部１００を新たに設けた構成となっている。この微速切換判定部１００は、位置カウンタ８１の出力に基づいてキャリッジ３が目標位置前の所定位置に到達したか否かを判定し、到達した場合に制御選択部８４に指令信号を送る。制御選択部８４は微速切換判定部１００から指令信号を受信すると、キャリッジ３の目標速度を高速または中速から微速に切換る。なお、本実施の形態においては、ＣＰＵ１６から負荷位置決め制御の起動指令を制御選択部８４が受信した場合の目標速度は高速または中速である。
【０１１０】
次に、本実施の形態の動作を図１８を参照して説明する。まず、第１の実施の形態の場合と同様にＣＰＵ１６から負荷位置決め制御の起動指令および制御パラメータを制御選択部８４が受信すると、上記目標速度に応じた設定値Ｔｉｍｅｒが制御選択部８４内のタイマ８４ａに設定されるとともに、ＣＲモータ４に付加すべき電流値Ｉ_ｃｕｒがＩ_ｃｕｒ＝Ｉ_startに設定されてこの電流値がＣＲモータ４に付加される（図１８のステップＦ１１１参照）。
【０１１１】
タイマカウンタ８４ａがカウントを開始してからカウント値Ｔが設定値Ｔｉｍｅｒに達するまでに位置カウンタ８１からパルスを受信しないとき（Ｔ＞Ｔｉｍｅｒと見なされるとき）、制御選択部８４によってタイマ割込制御部８５が選択され（ステップＦ１１２，Ｆ１１３参照）タイマ割込制御が行われる。カウント値Ｔが設定値Ｔｉｍｅｒ以下のときは、制御選択部８４によってエンコーダ割込制御部８６が選択されエンコーダ割込制御が行われる（ステップＦ１１２，Ｆ１１４参照）。なお、タイマ割込制御およびエンコーダ割込制御は第１の実施の形態で説明したと同様にして行う。
【０１１２】
そして、所定のタイミングで微速切換判定部１００が位置カウンタ８１の出力に基づいて、キャリッジ３が目標位置前の所定位置に到達したか否かを判定し（図１８のステップＦ１１５参照）、到達しない場合にはステップＦ１１２に戻り上述のことを繰り返す。キャリッジ３が目標位置前の所定位置に到達した場合には、制御選択部８４に指令信号を送る。すると、制御選択部８４はキャリッジ３の目標速度を高速または中速から微速に切換える。そして、上記目標速度に応じた設定値Ｔｉｍｅｒが制御選択部８４内のタイマ８４ａに設定される。なお、このときＣＲモータ４に付加される電流値は変化させない。
【０１１３】
設定値Ｔｉｍｅｒが制御選択部８４内のタイマ８４ａに設定されると、タイマ８４ａがカウントを開始する。そして、タイマカウンタ８４ａがカウントを開始してからカウント値Ｔが設定値Ｔｉｍｅｒに達するまでに位置カウンタ８１からパルスを受信しないとき（Ｔ＞Ｔｉｍｅｒと見なされるとき）、制御選択部８４によってタイマ割込制御部８５が選択され（ステップＦ１１６，Ｆ１１７参照）タイマ割込制御が行われる。カウント値Ｔが設定値Ｔｉｍｅｒ以下のときは、制御選択部８４によってエンコーダ割込制御部８６が選択されエンコーダ割込制御が行われる（ステップＦ１１６，Ｆ１１８参照）。なお、このときタイマ割込制御およびエンコーダ割込制御に用いられる制御パラメータは、目標速度が微速であるときの制御パラメータであり、上述の制御は第１の実施の形態で説明したと同様にして行う。
【０１１４】
そして、位置カウンタ８１からパルスを受信したときかまたはタイマカウンタ８４ａのカウント値Ｔが設定値Ｔｉｍｅｒに達したときに位置カウンタ８１の出力に基づいてキャリッジ３が目標位置すなわち目標範囲内に到達したか否かが制御選択部８４によって判定され（ステップＦ１１９参照）、到達していないときはステップＦ１１６に戻り、上述のことが繰返される。到達したときはホールド制御部８９が制御選択部８４によって選択されてホールド制御が行われる（ステップＦ１２０参照）。すなわちホールド制御部８９によって決定された、ＣＲモータ４に付加すべき電流値Ｉ_curに基づいてＤ／Ａコンバータ９２、ドライバ５を介してＣＲモータ４が制御される。
【０１１５】
以上説明したように本実施の形態の印刷制御装置によれば、想定できない負荷がキャリッジに付加された場合でも、キャリッジを目標位置まで移動させて、停止させることができる。また、負荷位置決め制御に要する時間を短くすることができる。
【０１１６】
なお、上記第１および第２の実施の形態においては、制御対象をキャリッジとしたが、ＰＦモータによって駆動される紙またはＡＳＦ（Auto sheet feed）モータによって、供 給される紙を制御対象としても同様の効果を得ることができる。
【０１１７】
また上記第１および第２の実施の形態ではＤＣモータについて説明したがＤＣモータ以外のモータを使用している印刷装置にも本発明を適用できることはいうまでもない。
【０１１８】
（第３の実施の形態）
次に、本発明の第３の実施の形態を図１９および図２０を参照して説明する。この実施の形態は、印刷制御装置の制御プログラムを記録した記録媒体である。図１９および図２０は、本実施の形態の制御プログラムを記録した記録媒体が用いられるコンピュータシステム１３０の一例を示す斜視図およびブロック図である。
【０１１９】
図１９において、コンピュータシステム１３０は、ＣＰＵを含むコンピュータ本体１３１と、例えばＣＲＴ等の表示装置１３２と、キーボードやマウス等の入力装置１３３と、印刷を実行するプリンタ１３４と、を備えている。
【０１２０】
コンピュータ本体１３１は、図２０に示すように、ＲＡＭより構成される内部メモリ１３５と、内蔵または外付け可能なメモリユニット１３６と、を備えており、メモリユニット１３６としてはフレキシブルまたはフロッピディスク（ＦＤ）ドライブ１３７，ＣＤ−ＲＯＭドライブ１３８，ハードディスクドライブ（ＨＤ）ユニット１３９が搭載されている。図１９に示すように、これらのメモリユニット１３６に用いられる記録媒体１４０としては、ＦＤドライブ１３７のスロットに挿入されて使用されるフレキシブルディスクまたはフロッピディスク（ＦＤ）１４１と、ＣＤ−ＲＯＭドライブ１３８に用いられるＣＤ−ＲＯＭ１４２等が用いられる。
【０１２１】
図１９および図２０に示すように、一般的なコンピュータシステムに用いられる記録媒体１４０としては、ＦＤ１４１やＣＤ−ＲＯＭ１４２が考えられるが、本実施の形態は特にプリンタ１３４の制御プログラムに関するものであるので、例えばプリンタ１３４に内蔵させる不揮発性メモリとしてのＲＯＭチップ１４３に本発明の制御プログラムを記録させるようにしても良い。
【０１２２】
また、記録媒体としては、ＦＤ、ＣＤ−ＲＯＭ、ＭＯ(Ｍａｇｎｅｔｏ−Ｏｐｔｉｃａｌ）ディスク、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ  ）、その他の光学的記録ディスク、カードメモリ、磁気テープ等であっても良いことは云うまでもない。
【０１２３】
本実施の形態の記録媒体１４０は、図２示す制御手順ステップＦ１〜Ｆ６、図４に示す制御手順ステップＦ１１〜Ｆ２１、図５に示す制御手順ステップＦ３１〜Ｆ４８、図６に示す制御手順ステップＦ５０〜Ｆ６０、図７に示す制御手順ステップＦ７１〜Ｆ８３、図８に示す制御手順ステップＦ９１〜Ｆ９６、図１６に示す制御手順ステップＦ１０１〜Ｆ１０７、および図１８に示す制御手順ステップＦ１１１〜Ｆ１２０を備えるように構成したものである。即ち本実施の形態の記録媒体１４０は、キャリッジを駆動するキャリッジモータに初期電流値を付加する手順と、位置カウンタからパルスを受信したときおよびタイマカウンタのカウント値が設定値に達したときに前記位置カウンタのカウント値と前記キャリッジの目標位置とを比較する手順と、前記キャリッジの位置が前記目標位置を含む目標範囲内に入っている場合は、前記位置カウンタの出力および制御パラメータに基づいて前記キャリッジが前記目標範囲を含む許容範囲内に停止するようにホールド制御を行う手順と、前記キャリッジの位置が前記目標範囲内に位置していない場合に、前記タイマカウンタのカウント値が設定値に達しても前記位置カウンタからのパルスを受信しないときに前記位置カウンタの出力および前記制御パラメータに基づいて前記キャリッジが目標速度となるようにタイマ割込制御を行う手順と、前記キャリッジが前記目標範囲内に位置していない場合に、前記タイマカウンタのカウント値が前記設定値に達するまでに前記位置カウンタからのパルスを受信したときに前記位置カウンタの出力および前記周期カウンタの出力ならびに前記制御パラメータに基づいて前記キャリッジの速度が前記目標速度となるようにエンコーダ割込制御を行う手順と、を少なくとも備えるように構成しても良い。
【図面の簡単な説明】
【０１２４】
【図１】本発明による印刷制御装置の第１の実施の形態の構成を示すブロック図。
【図２】本発明による印刷制御装置の動作を説明するフローチャート。
【図３】キャリッジの現在位置と目標位置との関係を模式的に示した図。
【図４】本発明にかかるタイマ割込制御の動作を説明するフローチャート。
【図５】本発明にかかるエンコーダ割込制御の動作を説明するフローチャート。
【図６】本発明にかかるエンコーダ割込制御の動作を説明するフローチャート。
【図７】本発明にかかる微分速度制御動作を説明するフローチャート。
【図８】本発明にかかるホールド制御の動作を説明するフローチャート。
【図９】本発明に用いられる制御パラメータを示す図。
【図１０】制御パラメータ間の関係を模式的に示す図。
【図１１】本発明の印刷制御装置が用いられるインクジェットプリンタの構成を示すブロック図。
【図１２】キャリッジ周辺の構成を示す斜視図。
【図１３】リニア式エンコーダの構成を示す模式図。
【図１４】エンコーダの出力パルスの波形図。
【図１５】紙検出センサの位置を説明するプリンタの概略の斜視図。
【図１６】図６に示す本発明にかかるエンコーダ割込制御の動作の変形例を示すフローチャート。
【図１７】本発明による印刷制御装置の第２の実施の形態の構成を示すブロック図。
【図１８】第２の実施の形態の動作を説明するフローチャート。
【図１９】本発明による印刷制御装置の制御プログラムを記録した記録媒体が用いられるコンピュータシステムの一例を示す斜視図。
【図２０】本発明による印刷制御装置の制御プログラムを記録した記録媒体が用いられるコンピュータシステムの一例を示すブロック図。
【図２１】キャリッジに付加される負荷の例であるワイピングおよびラビングを説明する図。
【符号の説明】
【０１２５】
１  紙送りモータ（ＰＦモータ）
２  紙送りモータドライバ
３  キャリッジ
４  キャリッジモータ（ＣＲモータ）
５  キャリッジモータドライバ（ＣＲモータドライバ）
６  ＤＣユニット
７  ポンプモータ
８  ポンプモータドライバ
９  記録ヘッド
１０  ヘッドドライバ
１１  リニア式エンコーダ
１２  符号板
１３  エンコーダ（ロータリ式エンコーダ）
１５  紙検出センサ
１６  ＣＰＵ
１７  タイマＩＣ
１８  ホストコンピュータ
１９  インタフェース部
２０  ＡＳＩＣ
２１  ＰＲＯＭ
２２  ＲＡＭ
２３  ＥＥＰＲＯＭ
２５  プラテン
３１  タイミングベルト
３２  キャリッジモータのガイド部材
３４  インクカートリッジ
３５  キャッピング装置
３６  ポンプユニット
３７  キャップ
５０  記録紙
８０  印刷制御装置
８１  位置カウンタ
８２  周期カウンタ
８３  制御パラメータ記憶部
８４  制御選択部
８４ａ  タイマカウンタ
８５  タイマ割込制御部
８６  エンコーダ割込制御部
８７，９１  選択部
８８  微分速度制御部
８９  ホールド制御部
９２  Ｄ／Ａコンバータ
１００  微速切換判定部
【図１】
2005262885.tif 000003
【図２】
2005262885.tif 000004
【図３】
2005262885.tif 000005
【図４】
2005262885.tif 000006
【図５】
2005262885.tif 000007
【図６】
2005262885.tif 000008
【図７】
2005262885.tif 000009
【図８】
2005262885.tif 000010
【図９】
2005262885.tif 000011
【図１０】
2005262885.tif 000012
【図１１】
2005262885.tif 000013
【図１２】
2005262885.tif 000014
【図１３】
2005262885.tif 000015
【図１４】
2005262885.tif 000016
【図１５】
2005262885.tif 000017
【図１６】
2005262885.tif 000018
【図１７】
2005262885.tif 000019
【図１８】
2005262885.tif 000020
【図１９】
2005262885.tif 000021
【図２０】
2005262885.tif 000022
【図２１】
2005262885.tif 000023