(57)【要約】【課題】  タイマ割り込みを用いてモータの駆動を制御する電子機器において、割り込み処理が遅延された場合における制御の精度低下を抑制する。【解決手段】  所定間隔で発生するタイマ割り込み信号に応じて実行されるモータの駆動処理が、他の割り込み信号に対応する処理の実行によって遅延された場合においても、割り込み信号が発生されてから駆動処理が実行されるまでの遅延時間を算出し（Ｓ５０２）、補正位置情報を算出して位置情報が更新され（Ｓ５０５）、フィードバック制御が行われる。【選択図】  図５
2006338367.tif 000002
【特許請求の範囲】
【請求項１】
モータによって駆動される機構を有する電子機器であって、
前記機構の所定量の変位に応じて出力された検出信号に基づいたフィードバック制御によって、所定のプロファイルに従うように前記モータの駆動処理を実行する駆動制御手段と、
所定間隔で発生される第１の割り込み信号に応じて、前記駆動制御手段に前記駆動処理を実行させると共に、他の割り込み信号に応じて対応する処理を実行させる中央制御手段と、を備えており、
前記駆動制御手段は、前記第１の割り込み信号が発生されてから前記駆動処理が実行されるまでの遅延時間に基づいて、前記フィードバック制御のパラメータを補正することを特徴とする電子機器。
【請求項２】
前記中央制御手段は、各割り込み信号に対応する処理を先着順に順次実行させることを特徴とする請求項１に記載の電子機器。
【請求項３】
前記遅延時間を計時すべく、前記第１の割り込み信号が発生されてから前記駆動処理が実行されるまでの時間に関する情報を格納するレジスタ手段を備えることを特徴とする請求項１に記載の電子機器。
【請求項４】
前記駆動制御手段は、前記検出信号に基づいて、前記フィードバック制御のパラメータとして位置情報を算出して、所定の位置プロファイルに従うように前記モータの駆動処理を実行し、
前記遅延時間に基づいて、前記第１の割り込み信号が発生された時点における位置情報を算出して、前記フィードバック制御のパラメータとして用いることを特徴とする請求項１に記載の電子機器。
【請求項５】
前記駆動制御手段は、前記遅延時間が所定範囲内であるときには、前記駆動パラメータの補正を行わないことを特徴とする請求項１に記載の電子機器。
【請求項６】
前記機構の所定距離又は所定の回転角度の変位に応じて前記検出信号を出力するエンコーダを備えることを特徴とする請求項１から５のいずれか１項に記載の電子機器。
【請求項７】
前記機構を駆動して記録動作を実行することを特徴とする請求項１から６のいずれか１項に記載の電子機器。
【請求項８】
モータによって駆動される機構を有する電子機器におけるモータの制御方法であって、
前記機構の所定量の変位に応じて出力された検出信号に基づいたフィードバック制御によって、所定のプロファイルに従うように前記モータの駆動処理を実行する駆動制御工程と、
所定間隔で発生される第１の割り込み信号に応じて、前記駆動制御工程を実行させると共に、他の割り込み信号に応じて対応する処理工程を実行させる中央制御工程と、を備えており、
前記駆動制御工程は、前記第１の割り込み信号が発生されてから前記駆動処理が実行されるまでの遅延時間を求める遅延時間算出工程と、前記遅延時間に基づいて、前記フィードバック制御のパラメータを補正する補正工程とを含むことを特徴とするモータの制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子機器及びモータの制御方法に関し、より詳細には、タイマ割り込みを用いたモータの駆動制御に関する。
【背景技術】
【０００２】
例えばワードプロセッサ、パーソナルコンピュータ、ファクシミリ等に於ける情報出力装置として、所望される文字や画像等の情報を用紙やフィルム等シート状の記録媒体に記録を行う記録装置が広く使用されている。
【０００３】
このような記録装置では、用紙等の記録媒体の供給、搬送、及び排出、記録手段である記録ヘッドの走査、メンテナンス用などにモータが使用されている。これらのモータは、例えばサーボ制御などでフィードバック制御されているのが一般的である。
【０００４】
従来より、記録装置におけるモータの駆動制御は、所定周期で発生されるタイマ割込みを利用して行われる場合が多い。このような記録装置では、他の割り込み処理と競合した場合には、モータの駆動制御の割り込み処理が遅延されるのが一般的である。
【特許文献１】特開２００２−３４５２７７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、モータの駆動制御では、実際の駆動プロファイルが理想プロファイルに近づくようにサーボ制御を行っているので、割り込み処理が遅延されると、遅延時間に制御対象物の位置や速度などが変化するため、当該割り込み処理での制御の基準となった制御対象物の位置や速度と異なってしまう。
【０００６】
このため、制御の基準となった位置や速度と実際に制御が行われる時点における位置や速度との間の誤差によって、正確な駆動制御が行えなくなってしまう。このような誤差による影響はモータ制御の精度低下として現れ、記録ヘッドが搭載されたキャリッジの駆動用モータについては記録ムラ、記録媒体搬送用のモータについては搬送精度の低下として現れるなど、悪影響を及ぼす恐れがある。
【０００７】
この問題は、記録装置だけではなく、割り込み処理を用いてモータを制御するあらゆる装置や電子機器に共通の問題である。
【０００８】
本発明は以上のような状況に鑑みてなされたものであり、タイマ割り込みを用いてモータの駆動を制御する電子機器において、割り込み処理が遅延された場合における制御の精度低下を抑制することを目的とする。
【課題を解決するための手段】
【０００９】
上記目的を達成する本発明の一態様としての電子機器は、モータによって駆動される機構を有する電子機器であって、
前記機構の所定量の変位に応じて出力された検出信号に基づいたフィードバック制御によって、所定のプロファイルに従うように前記モータの駆動処理を実行する駆動制御手段と、
所定間隔で発生される第１の割り込み信号に応じて、前記駆動制御手段に前記駆動処理を実行させると共に、他の割り込み信号に応じて対応する処理を実行させる中央制御手段と、を備えており、
前記駆動制御手段は、前記第１の割り込み信号が発生されてから前記駆動処理が実行されるまでの遅延時間に基づいて、前記フィードバック制御のパラメータを補正する。
【００１０】
すなわち、本発明では、モータによって駆動される機構を有する電子機器において、
所定間隔で発生される第１の割り込み信号に応じて、機構の所定量の変位に応じて出力された検出信号に基づいたフィードバック制御によって、所定のプロファイルに従うようにモータの駆動処理を実行するようにし、他の割り込み信号に応じて対応する処理を実行することにより、第１の割り込み信号が発生されてから駆動処理が実行されるまでに遅延時間が生じた場合、該遅延時間に基づいて、フィードバック制御のパラメータを補正する。
【００１１】
このようにすると、所定間隔で発生する第１の割り込み信号に応じて実行されるモータの駆動処理が、他の割り込み信号に対応する処理の実行によって遅延された場合においても、第１の割り込み信号が発生されてから駆動処理が実行されるまでの遅延時間に基づいて、フィードバック制御のパラメータが補正される。
【００１２】
従って、タイマ割り込みで実行されるモータの駆動処理が、割り込みの競合によって遅延された場合においても、割り込みが発生された時点における本来のパラメータで実行されるので、割り込み処理が遅延された場合における制御の精度低下を抑制し、安定した駆動を行うことができる。
【００１３】
なお、中央制御手段は、各割り込み信号に対応する処理を先着順に順次実行させるように構成されていても良い。
【００１４】
遅延時間を計時すべく、第１の割り込み信号が発生されてから駆動処理が実行されるまでの時間に関する情報を格納するレジスタ手段を備えていてもよい。
【００１５】
駆動制御手段は、検出信号に基づいて、フィードバック制御のパラメータとして位置情報を算出して、所定の位置プロファイルに従うようにモータの駆動処理を実行し、
遅延時間に基づいて、第１の割り込み信号が発生された時点における位置情報を算出して、フィードバック制御のパラメータとして用いてもよい。
【００１６】
駆動制御手段は、遅延時間が所定範囲内であるときには、駆動パラメータの補正を行わなくてもよい。
【００１７】
機構の所定距離又は所定の回転角度の変位に応じて検出信号を出力するエンコーダを備えていてもよい。
【００１８】
電子機器の種類としては、機構を駆動して記録動作を実行する記録装置がある。
【００１９】
上記目的を達成する本発明の別の態様としてのモータの制御方法は、モータによって駆動される機構を有する電子機器におけるモータの制御方法であって、
前記機構の所定量の変位に応じて出力された検出信号に基づいたフィードバック制御によって、所定のプロファイルに従うように前記モータの駆動処理を実行する駆動制御工程と、
所定間隔で発生される第１の割り込み信号に応じて、前記駆動制御工程を実行させると共に、他の割り込み信号に応じて対応する処理工程を実行させる中央制御工程と、を備えており、
前記駆動制御工程は、前記第１の割り込み信号が発生されてから前記駆動処理が実行されるまでの遅延時間を求める遅延時間算出工程と、前記遅延時間に基づいて、前記フィードバック制御のパラメータを補正する補正工程とを含んでいる。
【発明の効果】
【００２０】
本発明によれば、所定間隔で発生する第１の割り込み信号に応じて実行されるモータの駆動処理が、他の割り込み信号に対応する処理の実行によって遅延された場合においても、第１の割り込み信号が発生されてから駆動処理が実行されるまでの遅延時間に基づいて、フィードバック制御のパラメータが補正される。
【００２１】
従って、タイマ割り込みで実行されるモータの駆動処理が、割り込みの競合によって遅延された場合においても、割り込みが発生された時点における本来のパラメータで実行されるので、割り込み処理が遅延された場合における制御の精度低下を抑制し、安定した駆動を行うことができる。
【発明を実施するための最良の形態】
【００２２】
以下に、添付図面を参照して、本発明の好適な実施の形態を例示的に詳しく説明する。ただし、以下の実施形態に記載されている構成要素はあくまで例示であり、本発明の範囲をそれらのみに限定する趣旨のものではない。
【００２３】
以下の実施形態では、着脱可能なインクタンク付き記録ヘッドを搭載したシリアル式のインクジェットプリンタに本発明を適用した場合を例に挙げて説明するが、本発明は割り込み処理を用いてモータを制御するあらゆる装置に適用可能である。
【００２４】
図１は、シリアル式インクジェットプリンタの全体構成を示す斜視図である。同図において、１０１は着脱可能なインクタンクを有する記録ヘッド、１０２は記録ヘッド１０１を搭載するキャリッジである。キャリッジには光学センサが装着されており、記録ヘッドを搭載した場合には、光学センサが遮断される構成となっており、記録ヘッドの有無が検知可能である。また、キャリッジ１０２の軸受け部には、図中Ｘで示す主走査方向に摺動可能な状態でガイドシャフト１０３が挿入され、そのシャフトの両端はシャーシ１１４に固定されている。このキャリッジ１０２に係合したキャリッジ駆動伝達手段であるベルト１０４を介して、キャリッジ駆動手段である駆動モータ１０５の駆動力が伝達され、キャリッジ１０２が主走査方向に移動可能である。ここでキャリッジの位置及び速度は、エンコーダスケール１２２のスリットを、キャリッジ１０２上に装着された不図示のエンコーダセンサで検知、カウントすることで管理されている。
【００２５】
記録待機中において記録媒体としての記録用紙１１５は、給紙ベース１０６にスタックされており、記録開始時にはピックアップモータ（不図示）によってピックアップローラを回転させることにより、記録用紙が所定の位置まで給紙される。この給紙の際に、記録用紙の頭出し量を制御する為にＰＥセンサ（不図示）がピンチローラー１１１の下部に備えつけられている。給紙された記録用紙を搬送するため、ＤＣモータである用紙搬送用モータ１０７の駆動力により伝達手段であるギア列（モータギア１０８、搬送ローラギア１０９、搬送ローラーギア１３０）を介して搬送ローラ１１０が回転させられる。ピンチローラばね（不図示）により搬送ローラ１１０に押圧され従動回転するピンチローラ１１１とこの搬送ローラ１１０とにより、記録用紙１１５は適切な搬送量だけ、図中Ｙで示す搬送方向に搬送される。ここで、用紙の搬送量はコードホイール（ロータリーエンコーダフィルム１１６）のスリットをエンコーダセンサ１１７で検知、カウントすることで管理され、高精度送りを可能としている。１１２はプラテンであり、１１３は排紙ローラーである。
【００２６】
図２は、図１に示した記録装置の制御構成を示すブロック図である。図中、ＣＰＵ２０１は、プリンタ装置の記録データの作成、記録制御のためのモータ駆動、記録ヘッド吐出制御、接続されたホスト機器から転送されたコマンドの解析、パネルからの入力による各種設定などを行う演算装置である。ＲＯＭ２０２には、ＣＰＵ２０１によって読み出されプログラムを含むプリンタの制御用ソフト、各種データ、記録データに使用するフォントデータ等が格納されている。各種データはそのまま初期値として使用されるものと、ＲＡＭ２０３に展開されＣＰＵ２０１により加工されて使用されるものがある。フォントデータは、必要に応じて指定されたフォントデータをＣＰＵ２０１によって読み出してＲＡＭ２０３に展開した後、記録データとして生成される。このフォントデータは機種により搭載個数、搭載文字種類が異なる為、その容量も異なっている。
【００２７】
ＲＡＭ２０３には、上述したフォントデータを指定された修飾方法にて修飾された結果が展開され記録データとして使用される。イメージデータの場合も同様に、ＣＰＵ２０１によって読み込まれたイメージデータが指定された記録位置に対応してＲＡＭ２０３上に展開され、記録データとして使用される。更にＲＡＭ２０３は、プログラム実行に必要なワークメモリ、Ｉ／Ｆ２０４を介して受信したデータの一時格納場所としての受信バッファとしても使用されている。
【００２８】
Ｉ／Ｆ２０４は、不図示のホスト機器と接続され、記録データ、プリント指示コマンド等のデータを受信するためのものである。本実施形態のＩ／ＦはＩＥＥＥ−１２８４に準拠した電気的仕様となっており、ホスト機器からのデータだけでなく、プリンタの状態をホスト機器に転送するため、双方向の通信が可能なＩ／Ｆとなっている。ＥＥＰＲＯＭ２０５には、プリンタの設定状態を保管しておくだけでなく、記録枚数、インク残量などの他の情報も格納されている。プリンタの状態としては、フォント種別、対応用紙、自動電源ＯＮ／ＯＦＦなどの機能項目等が情報として格納されている。
【００２９】
本実施形態のプリンタは、主走査方向に記録ヘッドを走査させて記録を行うプリンタであるので、記録ヘッドを搭載したキャリッジの駆動モータ１０５（図１参照）を制御するためにモータコントローラ２０６が使用される。モータコントローラ２０６への制御は、ＣＰＵ２０１が行いモータの等速域を使用して記録が行われる。モータコントローラ２０６は、記録用紙を搬送方向へ移動させるためのモータである搬送用モータ１０７（図１参照）を制御するためにも使用される。この搬送用モータ１０７は、キャリッジ駆動用のモータ１０５とは独立して動作可能であり、通常記録においては、キャリッジ駆動用モータを制御して１回または複数回の走査が行われた後、搬送用モータによって記録用紙を所定量搬送するように制御される。更に、本実施形態では、給紙用のピックアップモータを備える構成となっている為、モータコントローラ２０６は、記録用紙を給紙口から搬送し、搬送用モータの駆動が伝わる所定の位置まで、ピックアップモータを制御して記録用紙を搬送する。このように、図２においてはモータコントローラ２０６を１つの部分として示しているが、搬送用モータ、キャリッジ駆動用モータ及びピックアップモータのそれぞれに対して、独立して動作が可能なように３つの部分で構成されている。
【００３０】
記録ヘッドコントローラ２０７は、記録ヘッド１０１（図１参照）の各ノズルの駆動、ヘッドメンテナンス制御、インク量検知等の処理を行う。本実施形態の記録ヘッド１０１は、６００ＤＰＩの密度で配列された１６０個のノズルを有するブラックヘッドと、１２００ＤＰＩの密度で配列されたＹ，Ｍ，Ｃ各４８個のノズルを有するカラーヘッドとの２ヘッドで構成されている。２１３はヘッドセンサであり、記録ヘッドコントローラ２０７内にあり、このセンサの出力値をＣＰＵ２０１により定期的に読み出すことにより、記録ヘッド１０１の有無を検知している。本実施形態ではセンサの出力がＨＩＧＨの場合は記録ヘッド装着状態であり、出力値がＬＯＷの場合は記録ヘッド非装着状態となるような電気的仕様となっている。
【００３１】
２０８は、ＣＰＵ２０１内にあるタイマであり、９６ＭＨｚのクロックをカウントし、３２ビットのタイマ設定レジスタの値と等しい値になると、タイムアップ割り込み信号を発生し、クロックのカウントを再び０からカウントアップする。このタイマ機能はタイマを停止するまで続けられる。２０９で示すバスラインは、データを転送するためのデータ及びアドレスバスである。ＣＰＵ２０１がバスライン２０９を使用し、２０２から２０７までの各ユニットを制御する。
【００３２】
２１０及び２１１は、各ユニットへの電源供給ラインであり、２１２は記録装置本体上部に備えられている表示パネルである。表示パネルには、電源キーと、回復、テストプリント、エラーからの回復を指定するリジュームキーと、データ受信、電源状態を表示するＬＥＤが備えられている。
【００３３】
図３は、位置サーボを用いた一般的なモータのフィードバック制御を説明する模式図である。ここでは、本実施形態の搬送用モータ（図１の１０７）に適用した場合について説明する。まず、制御対象に与えたい目標位置は、３０１の理想位置プロファイルという形で与える。これは該当する時刻における位置指令値ということになる。時刻の進行とともに、この位置情報は変化していく。この理想位置プロファイルに対して追値制御を行うことで駆動は遂行される。
【００３４】
装置には３０６のエンコーダセンサ（図１の１１７に対応）が具備されており、モータによて駆動されるコードホイール（図１の１１６）の物理的な回転を検知する。３０７のエンコーダ位置情報取得手段は、エンコーダセンサ３０６が検知したスリット数を加算していき絶対位置情報を得る手段であり、速度情報取得手段３０８はエンコーダセンサ３０６の信号と、プリンタに内蔵されたタイマなどの計時手段の値とから、現在の搬送用モータの駆動速度を算出する手段である。
【００３５】
理想位置プロファイル３０１から、位置情報取得手段３０７により得られた実際の物理的位置を減算した数値を、目標位置に対して足りない位置誤差として、３０２以降の位置サーボのフィードバック処理に受け渡す。３０２は位置サーボのメジャーループであり、一般的には比例項Ｐに関する計算を行う手段が知られている。
【００３６】
３０２における演算の結果としては、速度指令値が出力される。この速度指令値が、３０３以降の速度サーボのフィードバック処理（マイナーループ）に受け渡される。速度サーボのマイナーループでは、比例項Ｐ、積分項Ｉ、微分項Ｄに対する演算を行うＰＩＤ演算が一般的に用いられる。
【００３７】
速度サーボのマイナーループにおいては、３０２から出力された速度指令値から速度情報取得手段３０８の出力であるエンコーダ速度情報を減算した数値を、目標速度に対して足りない速度誤差として、ＰＩＤ演算回路３０３に受け渡す。ＰＩＤ演算回路３０３は、その時点で搬送用ＤＣモータ３０５に与えるべきエネルギーを、ＰＩＤ演算と呼ばれる手法で算出する。それを受けたモータドライバ回路は、例えばＰＷＭ制御を用い、印加電圧のＤｕｔｙを変化させて電流値を調節し、搬送用ＤＣモータ３０５に与えるエネルギーを調節し、速度制御を行う。
【００３８】
搬送用ＤＣモータ３０５は印加された電流値に応じて、３０４の外乱による影響を受けながら物理的な回転を行い、その出力がエンコーダセンサ３０６により検知される。
【００３９】
なお、ここでは搬送用モータに対するフィードバック制御について説明したが、キャリッジ駆動用モータについても、ＣＰＵからの指示により同様な制御が行われる。
【００４０】
図４は、モータ制御の周期と制御タイミングの関係を説明する図である。図中、４０１はモータ制御の割り込みの周期を表しており、本実施形態では、１ｍｓｅｃの周期毎に図３で説明したサーボ制御を行っている。４０２は説明を容易にするための補助周期であり、２００μｓｅｃを表している。４０３は時間の経過を表す時間軸であり、矢印の方向へ向かって時間が経過していく。
【００４１】
４０４，４０５，４０６はキャリッジ駆動用モータの制御が行われている期間を示しており、１ｍｓｅｃの周期４０１毎に約４００μｓｅｃの処理時間で制御が行われている。４１６，４１７，４１８は他の割り込み処理が行われている期間を示しており、キャリッジ駆動用モータと同様に、１ｍｓｅｃの周期毎に割り込みが発生し、４００μｓｅｃの処理時間で制御が行われる。
【００４２】
本実施形態では、ＣＰＵは全ての割り込みに対して優先順位を設定せず、先着順で処理を行う。従って、割り込み処理を実行中に他の割り込みが発生した場合には、実行中の割り込み処理が終了後、後で発生した割り込み処理を開始する構成となっている。
【００４３】
キャリッジ駆動用モータの割り込み処理は破線で示す４０７及び４０８の期間で本来行われるべきである。しかしながら、４０７及び４０８の処理を開始すべき割り込みの発生時に、ＣＰＵは４１６及び４１７で示す他の割り込み処理を実行中である。このため、４０７及び４０８の処理は、他の割り込み処理４１６及び４１７が終了するまで２００μｓｅｃだけ遅延され、４１３及び４１４で示す期間に処理が実行される。
【００４４】
また、４０９は４０７，４０８同様本来の周期で発生すべきキャリッジ駆動用モータの割り込み処理を示しており、４１５は４１３，４１４同様に遅延された処理期間、４１８は他の割り込み処理をそれぞれ示している。４１０、４１１，４１２は他の割り込み処理との競合が終了した部分であり、４０４，４０５，４０６同様本来の周期でキャリッジ駆動用モータの割り込み制御が行われる。
【００４５】
このようなキャリッジの駆動中に発生する可能性がある他の割り込み処理としては、例えば、パネル部のＬＥＤ点滅、ヘッドの温度制御を行うために、定期的に処理する周期タイマー割り込みや、キャリッジが特定の位置を通過した時や、データ処理の完了など不定期に発生する割り込み処理などがある。
【００４６】
ここで、遅延された処理期間４１３において制御に使用される理想位置プロファイルは、本来４０７で示す処理期間での制御で使用されるべく作成されているものである。従って、このプロファイルとの比較に用いる位置情報としては、本来の処理期間４０７のタイミングでエンコーダの出力より得られた位置情報を用いる必要がある。すなわち、遅延された処理期間４１３において得られた位置情報には遅延時間による誤差が含まれているため、この位置情報を用いると制御の精度が低下してしまう。
【００４７】
このような割込みの競合による位置情報の誤差に対して、本実施形態では、本来の処理期間４０７及び４０８における位置情報を算出して、遅延された処理期間４１３及び４１４での制御に使用する。具体的には、遅延された処理期間においてエンコーダ出力から得られた位置情報と、遅延された時間とに基づいて、本来の処理タイミングにおける位置情報（補正位置情報）を算出して、遅延された処理期間での制御に使用する。
【００４８】
その詳細については、図５のフローチャートを参照して以下で詳述する。図５は、本実施形態においてモータの駆動制御で割り込みで実行する処理を示すフローチャートである。
【００４９】
ステップＳ５０１で、モータの駆動制御の割り込み処理を開始する。ステップＳ５０２で、遅延時間用タイマレジスタの値を読み出す。このレジスタは、所定周期の割り込み発生時にゼロクリアされてカウントが開始されるように設定されており、その値は割り込み発生から処理が開始されるまでの遅延時間に対応した値となる。
【００５０】
ステップＳ５０３で、エンコーダ値をリードし現在の位置情報を算出する。ステップＳ５０４では、ステップＳ５０２で得られた遅延時間とステップＳ５０３で算出した現在の位置情報とに基づいて、本来の処理タイミングにおける位置情報（補正位置情報）を算出する。
【００５１】
ここで再度図４を参照して、補正位置情報の算出方法について説明する。図４において、遅延された処理期間４１３について説明する。ステップＳ５０２で読み出した値は、処理期間４０７の開始タイミングから処理期間４１３の開始タイミングまでの遅延時間２００μｓｅｃを表すカウンタ値である。ステップＳ５０３で算出された処理期間４１３での位置情報から、前回の処理期間４０６で更新された位置情報を減算することにより、処理期間４０６から処理期間４１３の間に進んだ距離が算出される。この距離に、前回の処理期間４０６から今回の処理期間４１３までの時間に対する所定の周期の比を乗算することで、前回の処理期間４０６から本来の処理期間４０７までの間に進んだ距離が求められる。
【００５２】
本例では、前回の処理期間４０６から今回の処理期間４１３までの時間は、１ｍｓｅｃ＋２００μｓｅｃ＝１２００μｓｅｃであり、所定の周期は１ｍｓｅｃ（＝１０００μｓｅｃ）である。従って、前回の処理期間４０６から今回の処理期間４１３の間に進んだ距離をｄとすると、前回の処理期間４０６から本来の処理期間４０７までの間に進んだ距離Ｄは、Ｄ＝ｄ×５／６で算出される。そして、このようにして算出した距離Ｄを、前回の処理期間４０６で更新された位置情報に加算することで、本来の処理期間４０７における位置情報（補正位置情報）が得られる。
【００５３】
本例では、キャリッジの駆動制御における割り込み処理の遅延を問題としているので、記録領域におけるキャリッジの走査速度が等速であるという前提に基づけば、上記の算出方法で、補正位置情報が略正確に求められる。
【００５４】
ステップＳ５０５で、位置情報を補正位置情報に更新する。ステップＳ５０６では、この更新された位置情報を用いて、図３に関して説明したサーボ制御によりモータを制御する。ステップＳ５０７では停止判定処理を行う。
【００５５】
ステップＳ５０７で目標位置に到達したと判定された場合には、ステップＳ５０８に進みモータの停止処理を行い、ステップＳ５０９でタイマの停止処理を行い、ステップＳ５１０でモータの駆動の割り込み処理を終了する。
【００５６】
一方、ステップＳ５０７で目標位置に到達していないと判定された場合は、ステップＳ５０８及びＳ５０９の駆動終了に関する処理を行わずに、ステップＳ５１０に進み、モータの駆動の割り込み処理を終了し、目標位置に到達するまで、所定の周期で割り込み処理を繰り返す。
【００５７】
以上説明したように本実施形態によれば、割り込みが発生してから処理が実行されるまでの遅延時間と、前回の処理から今回の処理までの間に進んだ距離とから、割り込みが発生したタイミングにおける補正位置情報が算出され、補正位置情報に基づいてモータの制御が行われるため、割り込み処理が遅延された場合における制御の精度低下を抑制することができる。
【００５８】
＜変形例＞
上記実施形態では、所定周期の割り込み発生時にゼロクリアされてカウントが開始されるように設定されたタイマレジスタの値から遅延時間を得る構成であったが、タイマレジスタに格納する情報は遅延時間に関する情報でなくても良い。
【００５９】
例えば、割り込みが所定周期で発生される場合には、タイマレジスタに前回の割り込みからの経過時間が格納されていても、当該割り込みの遅延時間がわかる。
【００６０】
更に、タイマレジスタは、カウンタ回路などを用いてハードウェアで構成されていても、ＲＡＭなどのメモリ上の所定アドレスを利用してソフト的に構成されていても良い。
【００６１】
また、上記の実施形態では、遅延時間の長さに関わらず補正位置情報の算出を行うが、遅延時間の長さに応じて補正位置情報の算出を行わうか否かを判定してもよい。例えば、遅延時間が短く、想定される位置情報のずれが実質的に影響の無い範囲内である場合には、補正位置情報の算出を行わないようにしてもよい。
【００６２】
＜他の実施形態＞
上記実施形態では、キャリッジの駆動用モータに対する割り込み処理が遅延された場合について例示的に説明したが、本発明は他のモータに対する割り込み処理についても同様に適用できる。
【００６３】
更に、モータのフィードバック制御の方式も上記で説明した位置サーボに限定されず、速度サーボや両者を併用したサーボ制御、あるいは他の方式のフィードバック制御でも良い。
【００６４】
また、エンコーダの構成も、上記実施形態で例示したフィルムやコードホイールと工学的センサとの組み合わせに限定されず、駆動対象の変位（位置や回転角度）げ検出可能であればよい。
【００６５】
上記で説明した実施形態は、インクジェット記録装置のキャリッジ駆動用モータの制御に本発明を適用した例であるが、搬送モータの制御に適用しても構わない。加えて、本発明は記録装置以外の電子機器などで、モータによって駆動される様々な機構の制御にも適用することができるのはもちろんである。
【００６６】
本発明は、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
【００６７】
なお、本発明は、前述した実施形態の機能の少なくとも一部（例えば、図５に示したフローチャートに記載された処理）を実現するソフトウェアのプログラムを、システム或いは装置に直接或いは遠隔から供給し、そのシステム或いは装置のコンピュータが該供給されたプログラムコードを読み出して実行することによっても達成される場合を含む。その場合、プログラムの機能を有していれば、形態は、プログラムである必要はない。
【図面の簡単な説明】
【００６８】
【図１】本発明の実施形態としてのプリンタの全体構成を示す斜視図である。
【図２】図１のプリンタの制御構成を示すブロック図である。
【図３】位置サーボを用いたモータのフィードバック制御を説明する図である。
【図４】モータ制御の周期と制御タイミングの関係を説明する図である。
【図５】本実施形態においてモータの駆動制御で割り込みで実行する処理を示すフローチャートである。
【図１】
2006338367.tif 000003
【図２】
2006338367.tif 000004
【図３】
2006338367.tif 000005
【図４】
2006338367.tif 000006
【図５】
2006338367.tif 000007