(57)【要約】【課題】移動体の加速等のパターンに適した制御を行う。【解決手段】モータ制御装置は、カウンタと、メモリと、駆動制御部とを有する。カウンタは、モータの駆動に伴って移動する移動体の移動量をカウントする。メモリは、モータの駆動に関する制御情報を記憶する。このメモリには、カウンタの複数のカウント値に対応した第１制御情報を記憶する第１領域、及び、カウンタのカウント値のそれぞれに対応した第２制御情報を記憶する第２領域が設けられる。駆動制御部は、第１領域と第２領域の何れかを選択し、選択された領域から、カウンタのカウント値に応じた制御情報を読み出し、前記モータの駆動制御を行う。【選択図】図９
2008072806.tif 000002
【特許請求の範囲】
【請求項１】
（Ａ）モータの駆動に伴って移動する移動体の移動量をカウントするカウンタと、
（Ｂ）前記モータの駆動に関する制御情報を記憶したメモリであって、
前記カウンタの複数のカウント値に対応した第１制御情報を記憶する第１領域、及び、前記カウンタのカウント値のそれぞれに対応した第２制御情報を記憶する第２領域を有するメモリと、
（Ｃ）前記第１領域と前記第２領域の何れかを選択し、選択された領域から、前記カウンタのカウント値に応じた制御情報を読み出し、前記モータの駆動制御を行う駆動制御部と、
（Ｄ）を有するモータ制御装置。
【請求項２】
請求項１に記載のモータ制御装置であって、
タイミングを定めるための電圧変化を有し、かつ、前記移動体が所定量移動する毎に前記電圧変化が生じるタイミング信号を生成する、タイミング信号生成部を有し、
前記カウンタは、
前記タイミング信号における前記電圧変化の回数を、前記移動体の移動量としてカウントする、モータ制御装置。
【請求項３】
請求項２に記載のモータ制御装置であって、
前記駆動制御部は、
前記カウント値を除算して得られた値を用いて、前記第１領域から前記第１制御情報を読み出し、
前記カウント値を用いて、前記第２領域から前記第２制御情報を読み出す、モータ制御装置。
【請求項４】
請求項１から請求項３の何れかに記載のモータ制御装置であって、
前記駆動制御部は、
前記第１領域と前記第２領域とを前記移動体の加速度合いに応じて選択する、モータ制御装置。
【請求項５】
請求項４に記載のモータ制御装置であって、
前記メモリは、
前記第１領域と前記第２領域の少なくとも一方を有する制御パターン情報を、前記移動体の移動速度に応じて定められる複数の制御モードのそれぞれに対応させて記憶する、モータ制御装置。
【請求項６】
請求項１から請求項５の何れかに記載のモータ制御装置であって、
前記メモリは、
前記第１制御情報として、前記カウンタの複数のカウント値に対応した前記移動体の目標速度を記憶し、
前記第２制御情報として、前記カウンタのカウント値のそれぞれに対応した前記移動体の目標速度を記憶する、モータ制御装置。
【請求項７】
（Ａ）モータの駆動に伴って移動する移動体の移動量をカウントすること、
（Ｂ）前記モータの駆動に関する制御情報を記憶したメモリに設けられる第１領域と第２領域であって、前記カウンタの複数のカウント値に対応した第１制御情報を記憶する第１領域と前記カウンタのカウント値のそれぞれに対応した第２制御情報を記憶する第２領域について、何れかの領域を選択すること、
（Ｃ）選択された領域から、前記カウンタのカウント値に応じた制御情報を読み出し、前記モータの駆動制御を行うこと、
（Ｄ）を行うモータ制御方法。
【請求項８】
（Ａ）インクを吐出させるヘッドであって、第１モータによって所定の移動方向に移動されるヘッドについて、その移動量をカウントするカウンタと、
（Ｂ）前記第１モータの駆動に関する制御情報を記憶したメモリであって、
前記カウンタの複数のカウント値に対応した前記移動体の目標速度を、第１制御情報として記憶する第１領域、及び、前記第１カウンタのカウント値のそれぞれに対応した前記移動体の目標速度を、第２制御情報として記憶する第２領域を有するメモリと、
（Ｃ）前記媒体の搬送終了時に前記ヘッドが前記インクの吐出開始位置へ達するように、前記媒体を搬送するための第２モータを駆動中に前記第１モータの駆動を開始させる駆動制御部であって、
前記媒体の搬送終了タイミング、インク吐出開始位置までの前記ヘッドの移動量に対応する前記第１カウンタのカウント値、及び、前記第１領域及び前記第２領域に記憶された前記ヘッド用の目標速度に基づき、前記第１モータに対する駆動制御の開始タイミングを求め、
求められた開始タイミングにて、前記第１モータに対する駆動制御を開始する、駆動制御部と、
（Ｄ）を有する印刷装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、モータ制御装置、モータ制御方法、及び、印刷装置に関する。
【背景技術】
【０００２】
モータは駆動源として様々な装置に用いられている。例えば、インクジェットプリンタ等の印刷装置では、ヘッドが取り付けられたキャリッジを移動させるための駆動源として、及び、画像が印刷される用紙を搬送させるための駆動源として用いられている。この印刷装置において、キャリッジの加速時及び減速時と一定速度の移動時（定速移動時）とで、異なる制御情報（加速領域電流値データ，固定周期電流値）を用いたものが提案されている（例えば、特許文献１を参照。）。
【特許文献１】特開２００３−６３０８５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
近年の装置では、多様な動作パターンでの制御が行われる。例えば、極めて短い時間で移動体を加速させたり減速させたりするパターンや、移動体を比較的緩やかに加速等させるパターンがある。また、加速期間や減速期間の途中までは移動体を急加速等させ、その後緩やかに加速等させるパターンもある。ここで、移動体における加速度合いや減速度合いを短時間で急に変化させる場合には、モータの駆動制御を細かな間隔で行うことが好ましい。一方、移動体の加速度合いや減速度合いが一定の場合、モータの駆動制御は、加速等の度合いを急に変化させる場合に比べて粗い間隔で行えばよい。
【０００４】
前掲の装置では、加速等の期間において一定周期毎に制御情報を与えているため、加速等の度合いに適した駆動制御が行い難いという問題があった。仮に、制御情報が与えられる間隔を、加速等の度合いを急に変化させる場合を基準に設定したとする。この場合、移動体の加速度合いが一定であるときに、不必要に制御が細かくなってしまう。そして、制御情報の量が過度に多くなってしまい、必要とされるメモリの容量が過度に多くなってしまうという問題が生じる。
【０００５】
本発明はこのような事情に鑑みてなされたものであり、その目的は、移動体の加速等のパターンに適した制御を行うことにある。
【課題を解決するための手段】
【０００６】
前記目的を達成するための主たる発明は、（Ａ）モータの駆動に伴って移動する移動体の移動量をカウントするカウンタと、（Ｂ）前記モータの駆動に関する制御情報を記憶したメモリであって、前記カウンタの複数のカウント値に対応した第１制御情報を記憶する第１領域、及び、前記カウンタのカウント値のそれぞれに対応した第２制御情報を記憶する第２領域を有するメモリと、（Ｃ）前記第１領域と前記第２領域の何れかを選択し、選択された領域から、前記カウンタのカウント値に応じた制御情報を読み出し、前記モータの駆動制御を行う駆動制御部と、（Ｄ）を有するモータ制御装置である。
【０００７】
本発明の他の特徴は、本明細書、及び添付図面の記載により、明らかにする。
【発明を実施するための最良の形態】
【０００８】
本明細書の記載、及び添付図面の記載により、少なくとも次のことが明らかにされる。
【０００９】
すなわち、（Ａ）モータの駆動に伴って移動する移動体の移動量をカウントするカウンタと、（Ｂ）前記モータの駆動に関する制御情報を記憶したメモリであって、前記カウンタの複数のカウント値に対応した第１制御情報を記憶する第１領域、及び、前記カウンタのカウント値のそれぞれに対応した第２制御情報を記憶する第２領域を有するメモリと、（Ｃ）前記第１領域と前記第２領域の何れかを選択し、選択された領域から、前記カウンタのカウント値に応じた制御情報を読み出し、前記モータの駆動制御を行う駆動制御部と、（Ｄ）を有するモータ制御装置を実現できることが明らかにされる。
【００１０】
かかるモータ制御装置であって、タイミングを定めるための電圧変化を有し、かつ、前記移動体が所定量移動する毎に前記電圧変化が生じるタイミング信号を生成する、タイミング信号生成部を有し、前記カウンタは、前記タイミング信号における前記電圧変化の回数を、前記移動体の移動量としてカウントする構成が好ましい。
【００１１】
かかるモータ制御装置であって、前記駆動制御部は、前記カウント値を除算して得られた値を用いて、前記第１領域から前記第１制御情報を読み出し、前記カウント値を用いて、前記第２領域から前記第２制御情報を読み出す構成が好ましい。
【００１２】
かかるモータ制御装置であって、前記駆動制御部は、前記第１領域と前記第２領域とを前記移動体の加速状態に応じて選択する構成が好ましい。
【００１３】
かかるモータ制御装置であって、前記メモリは、前記第１領域と前記第２領域の少なくとも一方を有する制御パターン情報を、前記移動体の移動速度に応じて定められる複数の制御モードのそれぞれに対応させて記憶する構成が好ましい。
【００１４】
かかるモータ制御装置であって、前記メモリは、前記第１制御情報として、前記カウンタの複数のカウント値に対応した前記移動体の目標速度を記憶し、前記第２制御情報として、前記カウンタのカウント値のそれぞれに対応した前記移動体の目標速度を記憶する構成が好ましい。
【００１５】
また、次のモータ制御方法を実現できることが明らかにされる。すなわち、（Ａ）モータの駆動に伴って移動する移動体の移動量をカウントすること、（Ｂ）前記モータの駆動に関する制御情報を記憶したメモリに設けられる第１領域と第２領域であって、前記カウンタの複数のカウント値に対応した第１制御情報を記憶する第１領域と前記カウンタのカウント値のそれぞれに対応した第２制御情報を記憶する第２領域について、何れかの領域を選択すること、（Ｃ）選択された領域から、前記カウンタのカウント値に応じた制御情報を読み出し、前記モータの駆動制御を行うこと、（Ｄ）を行うモータ制御方法を実現できることが明らかにされる。
【００１６】
また、次の印刷装置を実現できることも明らかにされる。すなわち、（Ａ）インクを吐出させるヘッドであって、第１モータによって所定の移動方向に移動されるヘッドについて、その移動量をカウントするカウンタと、（Ｂ）前記第１モータの駆動に関する制御情報を記憶したメモリであって、前記カウンタの複数のカウント値に対応した前記移動体の目標速度を、第１制御情報として記憶する第１領域、及び、前記第１カウンタのカウント値のそれぞれに対応した前記移動体の目標速度を、第２制御情報として記憶する第２領域を有するメモリと、（Ｃ）前記媒体の搬送終了時に前記ヘッドが前記インクの吐出開始位置へ達するように、前記媒体を搬送するための第２モータを駆動中に前記第１モータの駆動を開始させる駆動制御部であって、前記媒体の搬送終了タイミング、インク吐出開始位置までの前記ヘッドの移動量に対応する前記第１カウンタのカウント値、及び、前記第１領域及び前記第２領域に記憶された前記ヘッド用の目標速度に基づき、前記第１モータに対する駆動制御の開始タイミングを求め、求められた開始タイミングにて、前記第１モータに対する駆動制御を開始する、駆動制御部と、（Ｄ）を有する印刷装置を実現できることも明らかにされる。
【００１７】
＝＝＝第１実施形態＝＝＝
モータ、及び、モータ制御装置は、種々の装置に用いられる。本明細書では、これらのモータ、及び、モータ制御装置を有するインクジェットプリンタ（以下、単にプリンタともいう。）を例に挙げて説明する。このプリンタは、ヘッドから吐出されたインクによって媒体に画像を印刷する印刷装置に相当する。図１に示すように、プリンタ１０は、コントローラ部２０とエンジン部３０とを有する。
【００１８】
＜コントローラ部２０について＞
コントローラ部２０は、プリンタ１０における制御を担当する部分であり、ＣＰＵ２１、ＡＳＩＣ２２、メモリ２３、タイマーＩＣ２４、及び、ＤＣユニット２５を有する。ＣＰＵ２１は、プリンタ１０の全体の制御を行うための演算処理装置である。このＣＰＵ２１は、バスＢＵを介して、ＡＳＩＣ２２、メモリ２３、及び、インタフェース２６と通信可能に接続されている。なお、インタフェース２６は、ホストコンピュータＨＣと通信可能に接続されている。この他に、ＣＰＵ２１は、ＤＣユニット２５、キャリッジモータドライバ３３（ＣＲモータドライバ）、搬送モータドライバ３６（ＰＦモータドライバ）と電気的に接続されている。ＡＳＩＣ２２は、ホストコンピュータＨＣからの印刷データに基づいてドット毎の制御データをシリアル伝送したり、ヘッドＨＤに用いられる駆動波形等を生成したりする。また、ＡＳＩＣ２２は、ヘッドドライバ３８と通信可能に接続されている。メモリ２３は、ＣＰＵ２１やＡＳＩＣ２２用のプログラムや変数を記憶する領域として用いられたり、作業用の領域として用いられたりする。このメモリ２３は、ＲＡＭ、ＥＥＰＲＯＭ、ＲＯＭ等の記憶素子によって構成される。これらの記憶素子によって、作業用の領域等に用いられる揮発性領域、プログラム等を記憶する領域等に用いられる不揮発性領域、及び、変数や定数等を記憶する領域等に用いられる書き換え可能な不揮発性領域が構成される。タイマーＩＣ２４は、時間を認識するためのクロック（以下、計時用クロックともいう。）を生成する。そして、計時用クロックはＣＰＵ２１に供給される。従って、ＣＰＵ２１は、計時用クロックのエッジ（タイミングを示す電圧変化）を、メモリ２３に設けられる計時カウンタ領域（図示せず）でカウントすることで、あるタイミングからの経過時間を認識できる。そして、ＣＰＵ２１は、計時用クロックに基づくタイマー信号を出力する。このタイマー信号は、放熱状態の取得タイミングを定める際に用いられる。ＤＣユニット２５は、キャリッジモータドライバ３３や搬送モータドライバ３６を制御するための指令信号（制御用信号）を出力する。なお、ＤＣユニット２５については後で詳しく説明する。
【００１９】
＜エンジン部３０について＞
エンジン部３０は、印刷のための動作を担当する部分である。そして、エンジン部３０は、キャリッジ３１と、キャリッジ移動機構３２と、キャリッジモータドライバ３３と、リニアエンコーダ３４と、用紙搬送機構３５と、搬送モータドライバ３６と、ロータリエンコーダ３７と、ヘッドドライバ３８とを有する。
【００２０】
キャリッジ３１は、インクカートリッジ（図示せず）やヘッドＨＤが取り付けられる部材である。このキャリッジ３１は、キャリッジ移動機構３２によって、キャリッジ移動方向（用紙Ｓの幅方向）に移動される。なお、ヘッドＨＤは、キャリッジ３１に取り付けられているため、キャリッジ３１の移動に伴って移動する。従って、キャリッジ３１やヘッドＨＤは移動体に相当する。また、キャリッジ移動機構３２はヘッド移動機構に相当し、かつ、移動体を移動させるための移動機構に相当する。本実施形態において、キャリッジ移動機構３２は、タイミングベルト４１と、駆動プーリー４２と、アイドラプーリー４３と、キャリッジモータ４４を有する。タイミングベルト４１は、キャリッジ３１に接続されるとともに、駆動プーリー４２とアイドラプーリー４３との間に架け渡されている。キャリッジモータ４４は、キャリッジ３１を移動させるための駆動源であり、その回転軸が駆動プーリー４２に接続されている。このキャリッジモータ４４は、ＤＣモータによって構成されている。このＤＣモータでは、印加電流に応じてキャリッジモータ４４の回転速度を制御することができる。従って、キャリッジモータドライバ３３は、ＤＣユニット２５からの指令信号の電流量に応じてキャリッジモータ４４を駆動させる。
【００２１】
リニアエンコーダ３４は、キャリッジ３１（ヘッドＨＤ）が所定距離移動する毎に電圧レベルが変化するエンコーダ信号ＥＮＣ_Ｃを出力する。図２Ａに示すように、リニアエンコーダ３４は、所定間隔で透光部が形成された符号板４５と、キャリッジ３１とともに移動し、エンコーダ信号ＥＮＣ_Ｃを出力するセンサユニット４６とを有する。符号板４５は、プリンタ１０のフレーム側に、キャリッジ移動方向に沿って取り付けられている。そして、また、センサユニット４６から出力されるエンコーダ信号ＥＮＣ_Ｃは、例えば図２Ｂに示すように、互いに位相の異なる２種類の信号である。そして、各エンコーダ信号ＥＮＣ_ＣＡ，ＥＮＣ_ＣＢは、符号板４５が有する透光部の検出に対応して電圧をＨレベルとＬレベルの一方から他方へと交互に変化させる。本実施形態において、センサユニット４６は、キャリッジ３１が１／１８０インチの距離を移動する毎に、１周期の信号レベル変化（電圧変化）を生じさせる。そして、第２エンコーダ信号ＥＮＣ_ＣＢは、第１エンコーダ信号ＥＮＣ_ＣＡに対して１／４周期だけ位相がずれている。このため、第１エンコーダ信号ＥＮＣ_ＣＡと第２エンコーダ信号ＥＮＣ_ＣＢの各エッジに基づき、キャリッジ３１の移動を１／７２０インチ毎に検出できる。後で説明するように、このプリンタ１０では、エンコーダ信号ＥＮＣ_Ｃのエッジのタイミング（電圧変化のタイミング）で、キャリッジモータ４４に対する駆動制御が行われる。このため、エンコーダ信号ＥＮＣ_Ｃは、制御タイミングを定めるための電圧変化を有するタイミング信号に相当する。また、リニアエンコーダ３４は、タイミング信号生成部に相当し、移動体としてのキャリッジ３１が所定距離移動する毎に、出力するエンコーダ信号ＥＮＣ_Ｃの電圧変化を生じさせる。
【００２２】
用紙搬送機構３５は、媒体としての用紙Ｓを搬送する機構であり、媒体搬送機構に相当する。なお、用紙Ｓは移動体にも相当するため、用紙搬送機構３５も、移動体を移動させるための移動機構に相当する。図１では、その主要部である搬送ローラ４７と搬送モータ４８を示している。搬送ローラ４７は、回転によって用紙Ｓを搬送方向へ送り出す部材である。この搬送方向は、キャリッジ３１の移動方向と直交する方向である。搬送モータ４８は、搬送ローラ４７を回転させるための駆動源であり、ＤＣモータによって構成される。従って、印加された電流量に応じて搬送モータ４８の回転速度を制御できる。そして、搬送モータドライバ３６は、ＤＣユニット２５からの指令信号の電流量に応じて搬送モータ４８を駆動する。
【００２３】
ロータリエンコーダ３７は、搬送ローラ４７が所定角度回転する毎に電圧レベルが変化するエンコーダ信号ＥＮＣ_Ｐを出力する。言い換えれば、用紙Ｓが所定距離搬送される毎に電圧レベルが変化するエンコーダ信号ＥＮＣ_Ｐを出力する。図３Ａに一部分を示すように、ロータリエンコーダ３７は、所定間隔で透光部が形成された符号板４９と、エンコーダ信号ＥＮＣ_Ｐを出力するセンサユニット５０とを有する。符号板４９は、円盤状をしており、透光部が所定間隔で形成されている。そして、搬送ローラ４７の回転とともに回転する。この例では、搬送ローラ４７の回転軸に符号板４９が取り付けられている。センサユニット５０は、リニアエンコーダ３４が有するものと同様の構成であり、符号板４９の透光部と他の部分とを検出する毎に、エンコーダ信号ＥＮＣ_Ｐのレベルを変化させる。例えば図３Ｂに示すように、位相が１／４周期分だけ異なる２種類のエンコーダ信号ＥＮＣ_ＰＡ，ＥＮＣ_ＰＢを出力する。これにより、用紙Ｓの搬送量を１／１４４０インチ毎に検出することができる。なお、このプリンタ１０では、エンコーダ信号ＥＮＣ_Ｐのエッジのタイミングで、搬送モータ４８に対する駆動制御が行われる。このため、エンコーダ信号ＥＮＣ_Ｐもまた、制御タイミングを定めるための電圧変化を有するタイミング信号に相当する。そして、ロータリエンコーダ３７は、タイミング信号生成部に相当し、移動体としての用紙Ｓが所定距離移動する毎に、出力するエンコーダ信号ＥＮＣ_Ｐの電圧変化を生じさせる。
【００２４】
ヘッドドライバ３８は、ヘッドＨＤの駆動制御を担当する部分である。例えば、ＡＳＩＣ２２からシリアル伝送されたドット毎の制御データをパラレル変換したり、この制御データに基づいてインクの吐出制御を行ったりする。
【００２５】
＝＝＝ＤＣユニット２５＝＝＝
＜全体の構成について＞
次にＤＣユニット２５について説明する。このＤＣユニット２５は、キャリッジモータ４４や搬送モータ４８の駆動制御を行うものであり、モータ制御装置における駆動制御部に相当する。このため、ＤＣユニット２５は、コントローラ部２０が有するＣＰＵ２１からの各種信号に基づき、キャリッジモータドライバ３３や搬送モータドライバ３６を制御するための指令信号（制御用信号）を出力する。図４に示すように、ＤＣユニット２５は、ＣＰＵ６１、メモリ６２、及び、ＰＷＭ回路６３を有する。そして、これらの各部によって、図５に示す機能が実現される。便宜上、図５に示す各機能ブロックを、ＤＣユニット２５の構成として説明する。このＤＣユニット２５は、キャリッジモータ４４の制御を担当するキャリッジモータ制御ユニット６４と、搬送モータ４８の制御を担当する搬送モータ制御ユニット６５とを有する。
【００２６】
キャリッジモータ制御ユニット６４は、位置演算部７１、第１減算器７２、目標速度演算部７３、目標速度テーブル７４、速度演算部７５、第２減算器７６、比例要素７７Ｐ、積分要素７７Ｉ、微分要素７７Ｄ、加算器７８、ＰＷＭ回路６３ａ、及び、ウェイト制御部７９によって構成される。同様に、搬送モータ制御ユニット６５は、位置演算部８１、第１減算器８２、目標速度演算部８３、目標速度テーブル８４、速度演算部８５、第２減算器８６、比例要素８７Ｐ、積分要素８７Ｉ、微分要素８７Ｄ、加算器８８、ＰＷＭ回路６３ｂ、及び、ウェイト制御部８９によって構成される。なお、搬送モータ制御ユニット６５が有する各部８１〜８９は、キャリッジモータ制御ユニット６４が有する各部７１〜７９と同様に構成されている。このため、キャリッジモータ制御ユニット６４について構成を説明し、搬送モータ制御ユニット６５については構成の説明を省略する。
【００２７】
位置演算部７１は、リニアエンコーダ３４からのエンコーダ信号ＥＮＣ_Ｃにおける各々の立ち上がりエッジ、立ち下がりエッジを検出する。そして、検出されたエッジをカウントし、このカウント値に基づいてキャリッジ３１の位置を求める。エッジのカウントは、位置演算部７１が有する位置カウンタ７１ａによってなされる。キャリッジモータ４４の正転時において、位置カウンタ７１ａは、１個のエッジが検出されるとカウント値を「＋１」する。また、キャリッジモータ４４の逆転時において、位置カウンタ７１ａは、１個のエッジが検出されるとカウント値を「−１」する。第１減算器７２は、コントローラ部２０のＣＰＵ２１から送られてくる目標位置と、位置演算部７１によって求められたキャリッジ３１の演算位置との位置偏差を演算する。目標速度演算部７３は、キャリッジ３１の目標速度を演算する。この目標速度演算部７３は、キャリッジ３１が定速で移動している際における目標速度を演算する。すなわち、目標速度演算部７３は、第１減算器７２からの位置偏差にゲインＫｐを乗算することで目標速度を求める。なお、このゲインＫｐの大きさは位置偏差に応じて決定される。そして、ゲインＫｐは、ＤＣユニット２５が有するメモリ６２に記憶される。目標速度テーブル７４は、キャリッジ３１の加速時や減速時において参照される目標速度を、位置カウンタ７１ａのカウント値に対応させた状態で記憶する。この目標速度テーブル７４は、例えばメモリ６２が有する一部の領域（不揮発性の領域）を用いて構成される。
【００２８】
速度演算部７５は、リニアエンコーダ３４からのエンコーダ信号ＥＮＣ_Ｃに基づき、キャリッジ３１の移動速度を演算する。例えば、あるエッジが検出されてから他のエッジが検出されるまでの時間をタイマカウンタ等によって計測し、キャリッジ３１の移動距離を計測時間で除算することで移動速度を求める。なお、キャリッジ３１の移動距離は、位置カウンタ７１ａのカウント値等によって認識される。第２減算器７６は、キャリッジ３１の加速時や減速時においては、目標速度テーブル７４から読み出された目標速度と、速度演算部７５によって演算されたキャリッジ３１の移動速度との偏差（速度偏差ともいう。）を求める。また、キャリッジ３１の定速移動時においては、目標速度演算部７３によって演算された目標速度と、速度演算部７５によって演算されたキャリッジ３１の移動速度との偏差を求める。比例要素７７Ｐは、速度偏差に定数（Ｇｐ）を乗算し、乗算結果を出力する。積分要素７７Ｉは、速度偏差に定数（Ｇｉ）を乗じ、乗算結果を積算する。微分要素７７Ｄは、現在の速度偏差と１つ前の速度偏差との差に定数（Ｇｄ）を乗算し、乗算結果を出力する。そして、比例要素７７Ｐ、積分要素７７Ｉ及び微分要素７７Ｄの演算は、リニアエンコーダ３４からのエンコーダ信号ＥＮＣ_Ｃのエッジで定められるタイミングで行われる。すなわち、エンコーダ信号ＥＮＣ_Ｃは、モータの駆動制御の実行タイミングを定めるための第１タイミング信号に相当する。そして、エンコーダ信号ＥＮＣ_Ｃにおけるエッジは、制御の実行タイミングを定めるための電圧変化に相当し、エッジ同士の間隔は、制御の実行間隔を定める第１周期に相当する。
【００２９】
比例要素７７Ｐからの出力、積分要素７７Ｉからの出力、及び、微分要素７７Ｄからの出力は、それぞれ加算器７８にて加算される。そして、加算結果はＰＷＭ回路６３ａへ入力される。すなわち、加算結果は、デューティ値を示す信号としてＰＷＭ回路６３ａへ入力される。ＰＷＭ回路６３ａは、加算結果（デューティ値）に応じた指令信号を生成して出力する。生成された指令信号は、キャリッジモータドライバ３３に入力される。キャリッジモータドライバ３３は、指令信号の電流量に応じてキャリッジモータ４４を駆動する。その結果、キャリッジ３１の現在の速度と、目標速度との偏差に応じた制御量でキャリッジモータ４４が駆動される。
【００３０】
ウェイト制御部７９は、キャリッジモータ４４の発熱状態を取得し、取得された発熱状態に基づいてキャリッジモータ４４の休止に関する制御（駆動停止制御）をする。このウェイト制御部７９により、キャリッジモータ４４が過度に発熱していた場合に、必要な休止時間（ウェイト時間）が与えられる。例えば、キャリッジ３１が往路方向から復路方向へ移動方向を切り替える場合、或いは、その逆へ移動方向を切り替える場合に、必要な休止時間が与えられる。これにより、キャリッジモータ４４の発熱状態を適正範囲に維持できる。
【００３１】
＜目標速度テーブル７４について＞
次に、目標速度テーブル７４について説明する。この目標速度テーブル７４は、前述したように、キャリッジ３１の加速時や減速時において参照される目標速度を、位置カウンタ７１ａのカウント値に対応させた状態で記憶している。そして、目標速度の情報は、モータの駆動に関する制御情報の一種に相当する。また、目標速度テーブル７４は、メモリ６２が有する一部の領域によって構成されている。このため、ＤＣユニット２５が有するメモリ６２は、モータの駆動に関する制御情報を記憶したメモリに相当する。図６に示すように、目標速度テーブル７４は、複数の制御パターン情報から構成されている。この制御パターン情報は、キャリッジ３１の目標速度を所定のタイミング毎に記憶したものである。これらの制御パターン情報は、キャリッジ３１の移動速度に基づいて定められた複数の駆動モードに対応して用意されている。例えば、最も速い移動速度の高速モードに対応する第１制御パターン情報７４Ａ、２番目に速い移動速度の速度モードに対応する第２制御パターン情報７４Ｂ、…、最も遅い移動速度の低速モードに対応する第ｎ制御パターン情報７４Ｎというように、ｎ種類の制御パターン情報が用意されている。
【００３２】
制御パターン情報のそれぞれは、エッジ間テーブルと、１周期テーブルとを有している。ここで、エッジ間テーブルとは、エンコーダ信号ＥＮＣ_Ｃが有するエッジ毎に、対応する目標速度を記憶したテーブルである。例えば、図７に示す例において、第１エンコーダ信号ＥＮＣ_ＣＡについては、タイミングｔ１，ｔ３，ｔ５，ｔ７，…のように奇数番目のタイミングでエッジが生じる。また、第２エンコーダ信号ＥＮＣ_ＣＢについては、タイミングｔ２，ｔ４，ｔ６，ｔ８，…のように偶数番目のタイミングでエッジが生じる。エッジ間テーブルでは、これらの各エッジに対応して定められた目標速度が記憶される。例えば、タイミングｔ１については、このタイミングｔ１での目標速度ｖ１が、カウント値（エッジの数）Ｃ１に対応する領域に記憶される。また、タイミングｔ２については、目標速度ｖ２がカウント数Ｃ２に対応する領域に記憶される。他のタイミングについても同様に目標速度が記憶される。例えば、タイミングｔ３については、目標速度ｖ３がカウント数Ｃ３に対応する領域に記憶される。また、タイミングｔ１１については、目標速度ｖ１１がカウント数Ｃ１１に対応する領域に記憶される。このようなエッジ間テーブルは、メモリが有する第２領域に相当し、移動体の移動量を示すカウント値のそれぞれに対応した第２制御情報（目標速度ｖ１等）を記憶する。
【００３３】
一方、１周期テーブルとは、エンコーダ信号ＥＮＣ_Ｃが有する複数のエッジに対応させて目標速度を記憶したテーブルである。図８の例では、第１エンコーダ信号ＥＮＣ_ＣＡの１周期に属する複数のエッジ毎に目標速度が記憶される。そして、タイミングｔ１からタイミングｔ４のそれぞれに対応する４つのエッジが同じ周期に属する。また、タイミングｔ５からタイミングｔ７のそれぞれに対応する４つのエッジが同じ周期に属する。１周期テーブルでは、これらの同じ周期に属する複数のエッジ対して共通に定められた目標速度が記憶される。例えば、複数のタイミングｔ１〜ｔ４については、これらのタイミングｔ１〜ｔ４（つまり、これらのタイミングを示すカウント値）における共通の目標速度ｖ２１が、対応する領域に記憶される。また、複数のタイミングｔ５〜ｔ８については、これらのタイミングｔ５〜ｔ８における共通の目標速度ｖ２２が、対応する領域に記憶される。そして、他のタイミングについても同様に目標速度が記憶される。このような１周期テーブルは、メモリが有する第１領域に相当し、移動体の移動量を示す複数のカウント値に対応した第１制御情報（目標速度ｖ２１等）を記憶する。
【００３４】
エッジ間テーブルと１周期テーブルとを比較すると、エッジ間テーブルはエンコーダ信号における１／４周期毎に目標速度が記憶されているのに対し、１周期テーブルはエンコーダ信号における１周期毎に目標速度が記憶されている。このため、エッジ間テーブルに基づく制御では、１周期テーブルに基づく制御に比べて目標周期をきめ細かに設定することができる。従って、このエッジ間テーブルを、キャリッジ３１を急に加速させたり、急に減速させたりする際に用いることで、適切な目標速度を与えることができる。その結果、キャリッジ３１の急な加速や減速を円滑に行うことができる。一方、１周期テーブルに基づく制御では、複数のタイミング（複数のカウント値）に対応して共通の目標速度が記憶されている。このため、目標速度の記憶に必要な容量を抑えることができる。
【００３５】
第１制御パターン情報７４Ａ、第２制御パターン情報７４Ｂ、及び、第ｎ制御パターン情報７４Ｎを比較すると、何れの制御パターン情報も、２つのエッジ間テーブルの間に１つの１周期テーブルが配置されている。例えば、第１制御パターン情報７４Ａは、前側エッジ間テーブル７４ａと後側エッジ間テーブル７４ｃの間に、１周期テーブル７４ｂが配置されている。また、第２制御パターン情報７４Ｂは、前側エッジ間テーブル７４ｄと後側エッジ間テーブル７４ｆの間に、１周期テーブル７４ｅが配置されている。同様に、第ｎ制御パターン情報７４Ｎは、前側エッジ間テーブル７４ｇと後側エッジ間テーブル７４ｉの間に、１周期テーブル７４ｈが配置されている。
【００３６】
いずれの制御パターンにおいても、前側エッジ間テーブル７４ａ，７４ｄ，７４ｇは、キャリッジ３１の加速度合いや減速度合いを次第に高める場合の制御を担当する。後側エッジ間テーブル７４ｃ，７４ｆ，７４ｉは、キャリッジ３１の加速度合いや減速度合いを次第に抑える場合の制御を担当する。また、は、キャリッジ３１の加速度合いや減速度合いが安定している場合の制御を担当する。そして、各制御パターン７４Ａ，７４Ｂ，…７４Ｎは、各制御パターンにおける前側エッジ間テーブル及び後側エッジ間テーブルと、１周期テーブルとの比率が異なっている。
【００３７】
簡単に説明すると、第１制御パターン情報７４Ａは、前側エッジ間テーブル７４ａ及び後側エッジ間テーブル７４ｃの比率が最も多い。言い換えれば、１周期テーブル７４ｂの比率が最も少ない。このような第１制御パターン情報７４Ａは、前側エッジ間テーブル７４ａ及び後側エッジ間テーブル７４ｃの比率が最も多いため、キャリッジ３１における加速度合いや減速度合いの変化が大きい場合の制御に適している。例えば、キャリッジ３１を最も高い移動速度で移動させる高速モードにおいて、キャリッジ３１を最高速度までできるだけ短時間で加速させ、かつ、キャリッジ３１を最高速度からできるだけ短時間で停止させる場合の制御に適している。
【００３８】
一方、第ｎ制御パターン情報７４Ｎは、前側エッジ間テーブル７４ｇ及び後側エッジ間テーブル７４ｉの比率が最も少ない。言い換えれば、１周期テーブル７４ｈの比率が最も多い。このような第ｎ制御パターン情報７４Ｎは、前側エッジ間テーブル７４ａ及び後側エッジ間テーブル７４ｃの比率が最も少ないため、キャリッジ３１における加速度合いや減速度合いの変化が小さい場合の制御に適している。言い換えれば、加速度合いや減速度合いを一定にしてキャリッジ３１を移動させる場合の制御に適している。例えば、キャリッジ３１を最も低い移動速度で移動させる低速モードにおいて、キャリッジ３１を加速させたり、停止させたりする場合の制御に適している。
【００３９】
このように、キャリッジ３１について、急な加速や減速が必要な期間においてエッジ間テーブルに基づく制御を行い、加速や減速の度合いが一定あるいは緩やかな期間において１周期テーブルに基づく制御を行うことで、必要な周期で制御が行えるとともに、必要なメモリの量を抑制することができる。
【００４０】
＝＝＝モータの駆動制御＝＝＝
次に、モータの駆動制御について説明する。この駆動制御は、コントローラ部２０のメモリ２３やＤＣユニット２５のメモリ６２に記憶されたコンピュータプログラムに基づいて、ＤＣユニット２５のＣＰＵ６１等によってなされる。このため、これらのプログラムは、対応する制御を実現するためのコードを有している。例示したプリンタ１０は、制御対象のモータとしてキャリッジモータ４４と搬送モータ４８とを有している。そして、キャリッジモータ４４の駆動制御と搬送モータ４８の駆動制御とは、対象は異なるが同じ内容である。このため、本明細書では、キャリッジモータ４４の駆動制御について説明をし、搬送モータ４８の駆動制御については説明を省略する。
【００４１】
また、モータの駆動制御に関しては、目標速度テーブル７４に記憶された目標速度を読み出して駆動制御を行う加速時や減速時の制御に特徴を有する。このため、特徴的な制御である加速時について説明をする。さらに、使用する制御パターン情報は、第１制御パターン情報７４Ａとする。図６に示すように、この第１制御パターン情報７４Ａは、前側エッジ間テーブル７４ａが１２テーブル（１２カウント分）、１周期テーブル７４ｂが３テーブル（１２カウント分）、後側エッジ間テーブル７４ｃが１２テーブル（１２カウント分）用意されている。
【００４２】
キャリッジモータの駆動処理（メイン処理）は、リニアエンコーダ３４からのエンコーダ信号ＥＮＣ_Ｃで規定されるタイミングで行われる。すなわち、エッジで定められるタイミングで行われる。図９Ａのフローチャートに示すように、メイン処理では、まず目標速度読出処理が行われる（Ｓ１）。この目標速度読出処理は、目標速度テーブル７４から、位置カウンタ７１ａのカウント値に対応する目標速度を読み出す処理である。なお、このプリンタ１０では、読み出した目標速度と現在速度との偏差も算出している。
【００４３】
図９Ｂに示すように、この目標速度読出処理では、まず位置カウンタ７１ａのカウント値が取得される（Ｓ１１）。すなわち、ＣＰＵ６１（位置演算部７１）は、位置カウンタ７１ａを参照し、その時点におけるカウント値を取得する。前述したように、位置カウンタ７１ａは、エンコーダ信号ＥＮＣ_Ｃのエッジを検出する毎にカウント値を変化させる。このため、位置カウンタ７１ａのカウント値は、キャリッジ３１（ヘッドＨＤ）の現在位置を示す情報となる。カウント値を取得したならば、ＣＰＵ６１は、起動位置（移動開始点）と現在位置の差分を算出する（Ｓ１２）。すなわち、起動位置からの移動距離を算出する。このプリンタ１０では、カウント値を位置の情報として用いるため、その時点でのカウント値から起動位置におけるカウント値を減算した値が算出される。
【００４４】
差分を算出したならば、ＣＰＵ６１は、参照すべき目標速度テーブルを選択する（Ｓ１３）。この処理では、カウント値の差分に基づき、前側エッジ間テーブル７４ａ、１周期テーブル７４ｂ、後側エッジ間テーブル７４ｃの何れかが選択される。この選択は、各テーブルに付属情報として設定された切替位置の情報に基づいて行われる。図６及び図１０に示すように、この例では、前側エッジ間テーブル７４ａがカウント値［０］から［１１］に対応し、１周期テーブル７４ｂがカウント値［１２］から［２３］に対応し、後側エッジ間テーブル７４ｃがカウント値［２４］から［３５］に対応している。このため、切替位置の情報としては、１周期テーブル７４ｂの先頭カウント値［１２］、及び、後側エッジ間テーブル７４ｃの先頭カウント値［２４］が設定されている。ＣＰＵ６１は、カウント値の差分と切替位置の情報に基づいて、参照すべき目標速度テーブルを選択する。すなわち、差分が値［０］から値［１１］の範囲内であった場合には前側エッジ間テーブル７４ａが選択され、差分が値［１２］から値［２３］の範囲内であった場合には１周期テーブル７４ｂが選択される。また、差分が値［２４］から値［３５］の範囲内であった場合には後側エッジ間テーブル７４ｃが選択される。そして、ＣＰＵ６１は、選択した目標速度テーブルの格納タイプを参照する（Ｓ１４）。ここで、格納タイプとは、目標速度がエンコーダ信号ＥＮＣ_Ｃのエッジ毎に記憶（格納）されているのか、１周期毎に記憶されているのかの種別である。この格納タイプを示す情報は、切替位置の情報と同様に、各テーブル７４ａ，７４ｂ，７４ｃに付属情報として設定されている。
【００４５】
格納タイプを参照したならば、ＣＰＵ６１は、格納タイプに基づく判断をする（Ｓ１５）。そして、格納タイプが「エッジ毎」であった場合にはステップＳ１６に移行し、格納タイプが「周期毎」であった場合にはステップＳ１９に移行する。格納タイプが「エッジ毎」であった場合、ＣＰＵ６１は、位置カウンタ７１ａのカウント値でテーブルを参照する旨の設定をする（Ｓ１６）。そして、ＣＰＵ６１は、エッジ毎の目標周期を設定する（Ｓ１７）。つまり、隣接するエッジ同士の間隔を目標周期に設定する。これらの設定をしたならば、ＣＰＵ６１は、目標速度テーブル７４から対応する目標速度を取得する（Ｓ１８）。図１０の例で説明すると、カウント値が値［０］であった場合、このカウント値［０］に対応する前側エッジ間テーブル７４ａが参照され、目標速度Ｔａ０が取得される。また、カウント値が値［１０］であった場合、対応する前側エッジ間テーブル７４ａから目標速度Ｔａ１０が取得される。同様に、カウント値が値［２４］であった場合、対応する後側エッジ間テーブル７４ｃから目標速度Ｔａ１２が取得される。
【００４６】
一方、格納タイプが「周期毎」であった場合、ＣＰＵ６１は、位置カウンタ７１ａのカウント値を１／４した値でテーブルを参照する旨の設定をする（Ｓ１９）。そして、ＣＰＵ６１は、周期毎の目標周期を設定する（Ｓ２０）。つまり、第１エンコーダ信号ＥＮＣ_ＣＡの１周期の間隔を目標周期に設定する。これらの設定をしたならば、ＣＰＵ６１は、目標速度テーブル７４から対応する目標速度を取得する（Ｓ２１）。例えば、カウント値が値［１４］であった場合、ＣＰＵ６１は、値［１４］から値［１２］を減算して、１周期テーブル７４ｂに対応するカウント範囲（値［１２］から値［２３］）における何番目のカウント値であるかを求める。この場合、減算して得られた値が値［２］であるため、カウント範囲における２番目のカウント値となる。そして、この値を１周期に含まれるエッジの数で除算する。この例では１周期に４つのエッジが含まれているので値［４］で除算する。その結果、値［０］（＝２／４）が得られる。ＣＰＵ６１は、この値［０］に対応する１周期テーブルを参照し、目標速度Ｔｂ０を取得する。また、カウント値が値［１８］であった場合、ＣＰＵ６１は、値［１８］から値［１２］を減算し、カウント範囲における６番目のカウント値であることを示す値［６］を取得する。そして、この値［６］を値［４］で除算し、値［１］を得る。得られた値［１］に基づいて、対応する１周期テーブルを参照し、目標速度Ｔｂ１を取得する。
【００４７】
以上の手順で、エッジ毎の目標速度（Ｓ１８）、或いは、周期毎の目標速度（Ｓ２１）を取得したならば、ＣＰＵ６１（第２減算器７６）は、目標速度と現在速度の偏差を求める（Ｓ２２）。この偏差は、以降の処理で用いられる。目標速度と現在速度の偏差を求めたならば、ＣＰＵ６１は、一連の目標速度読出処理を終了する。
【００４８】
目標速度読出処理（Ｓ１）が終了したならば、ＰＩＤ計算処理が行われる（Ｓ２）。このＰＩＤ計算処理では、ＣＰＵ６１（比例要素７７Ｐ，積分要素７７Ｉ，微分要素７７Ｄ，加算器７８）は、速度偏差に定数（Ｇｐ）、定数（Ｇｉ）、定数（Ｇｄ）を乗算等し、演算結果を加算する。この加算結果は、デューティ値を示す信号としてＰＷＭ回路６３ａへ入力される。
【００４９】
次に、ＰＷＭ出力処理（Ｓ３）が行われる。このＰＷＭ出力処理において、ＰＷＭ回路６３ａは、加算結果（デューティ値）に応じた指令信号を生成して出力する。生成された指令信号は、キャリッジモータドライバ３３に入力される。キャリッジモータドライバ３３は、指令信号の電流量に応じてキャリッジモータ４４を駆動する。その結果、キャリッジ３１の現在の速度と、目標速度との偏差に応じた制御量でキャリッジモータ４４が駆動される。
【００５０】
そして、以上説明した一連の処理がエンコーダ信号ＥＮＣ_Ｃで規定されるタイミングで行われることにより、例えば、図１１に示すように、加速期間における前側部分、及び、後側部分では、エンコーダ信号ＥＮＣ_Ｃのエッジ毎に定められる目標速度に基づいて、キャリッジモータ４４の制御が行われる。また、加速期間における中間部分では、エンコーダ信号ＥＮＣ_Ｃの周期毎に定められる目標速度に基づいて、キャリッジモータ４４の制御が行われる。これにより、その部分に適した周期でキャリッジモータ４４の駆動制御を行うことができる。また、目標速度を記憶するための領域を必要な容量に定めることができる。
【００５１】
＝＝＝まとめ＝＝＝
以上説明したように、このプリンタ１０では、メモリ６２の不揮発性領域に設けられる目標速度テーブル７４に、１周期テーブル（第１領域）と前側エッジ間テーブル及び後側エッジ間テーブル（第２領域）とを設けている。そして、１周期テーブルには、位置カウンタ７１ａの複数のカウント値に対応した目標速度（第１制御情報）を記憶させ、前側エッジ間テーブル及び後側エッジ間テーブルには、位置カウンタ７１ａのカウント値のそれぞれに対応した目標速度（第２制御情報）を記憶させている。そして、ＤＣユニット２５（駆動制御部）は、前側エッジ間テーブル、１周期テーブル、及び、後側エッジ間テーブルの何れかを選択し、選択された領域から、位置カウンタ７１ａのカウント値に応じた目標速度を読み出し、キャリッジモータ４４の駆動制御を行う。
【００５２】
この構成により、キャリッジ３１やヘッドＨＤ（移動体）における加速度合いや減速度合いを短時間で急に変化させる場合には、前側エッジ間テーブルや後側エッジ間テーブルから目標速度を読み出してキャリッジモータ４４の制御を行うことで、駆動制御を細かな間隔（エンコーダ信号ＥＮＣ_Ｃのエッジ毎の間隔）で行うことができる。一方、キャリッジ３１やヘッドＨＤにおける加速度合いや減速度合いが一定あるいは緩やかな変化の場合には、１周期テーブルから目標速度を読み出してキャリッジモータ４４の制御を行うことで、駆動制御を適度な間隔（エンコーダ信号ＥＮＣ_Ｃの１周期毎の間隔）で行うことができる。その結果、メモリ６２の容量が過度に多くなってしまう不具合を防止でき、また制御の適正化が図れる。
【００５３】
また、このプリンタ１０は、キャリッジ３１が所定量移動する毎に、その電圧レベルをＨレベルとＬレベルの一方から他方へと変化させるエンコーダ信号ＥＮＣ_Ｃを生成するリニアエンコーダ３４を有している。また、用紙Ｓが所定量搬送される毎にその電圧レベルをＨレベルとＬレベルの一方から他方へと変化させるエンコーダ信号ＥＮＣ_Ｐを生成するロータリエンコーダ３７も有している。そして、各位置カウンタ７１ａ，８１ａは、これらのエンコーダ信号ＥＮＣ_Ｃ，ＥＮＣ_Ｐのエッジの数（電圧変化の回数）を、キャリッジ３１の移動量や用紙Ｓの搬送量としてカウントしている。この構成により、キャリッジ３１の移動量や用紙Ｓの搬送量を容易に認識することができる。
【００５４】
また、ＤＣユニット２５（駆動制御部）では、位置カウンタ７１ａのカウント値を除算して得られた値を用いて、位置カウンタ７１ａの複数のカウント値に対応した目標速度（第１制御情報）を読み出している。また、位置カウンタ７１ａのカウント値を用いて、カウント値のそれぞれに対応した目標速度（第２制御情報）を読み出している。この構成により、共通のカウント値を用いて、種類の異なる目標速度（第１制御情報と第２制御情報）を読み出すことができる。
【００５５】
そして、ＤＣユニット２５（駆動制御部）は、キャリッジ３１の加速状態（加速の変化度合い）に応じて、前側エッジ間テーブル、１周期テーブル、及び、後側エッジ間テーブルの何れかを選択している。この構成により、キャリッジ３１の加速状態に適した制御ができる。
【００５６】
また、メモリ６２に設けられる目標速度テーブル７４は、各制御パターン情報（第１制御パターン情報７４Ａ，第２制御パターン情報７４Ｂ，…，第ｎ制御パターン情報７４Ｎ）を、キャリッジ３１の移動速度や用紙Ｓの搬送速度に応じて定められる複数の制御モードのそれぞれに対応させて記憶している。この構成により、キャリッジ３１等の移動速度に適したパターンで制御が行える。なお、制御パターン情報に関し、前側エッジ間テーブルや後側エッジ間テーブルのように、位置カウンタ７１ａのカウント値毎に目標速度を与える形式のテーブルだけで構成しても良く、１周期テーブルのように、位置カウンタ７１ａの複数のカウント値に対応させて目標速度を与える形式のテーブルだけで構成してもよい。
【００５７】
＝＝＝第２実施形態＝＝＝
前述した第１実施形態において、目標速度テーブル７４には、駆動制御のタイミング毎に与えられる目標速度が、キャリッジの移動距離（エンコーダ信号ＥＮＣ_Ｃ，ＥＮＣ_Ｐのエッジのカウント数）と関係付けられた状態で記憶されていた。これらの目標速度と移動距離の情報を用いることで、或る制御タイミングから次の制御タイミングまでの経過時間を事前に知ることができる。ひいては、用紙Ｓにおける１単位の搬送開始から終了までの経過時間（便宜上、用紙Ｓの搬送時間ともいう。）を事前に知ることができる。
【００５８】
また、インクの吐出開始位置までのキャリッジ３１（ヘッドＨＤ）の移動距離は、ヘッドＨＤに入力されるドット形成データに基づいて取得できる。ここで、ドット形成データとは、吐出されるインクの量を単位領域（ドットが形成され得る場所として仮想的に定められた空間）毎に示すものである。そうすると、キャリッジ３１の移動開始からヘッドＨＤがインクの吐出を開始するまでの経過時間（便宜上、吐出開始までの時間ともいう。）も事前に知ることができる。
【００５９】
このように、用紙Ｓの搬送時間と吐出開始までの時間とを事前に知ることができるため、用紙Ｓの搬送終了時点から吐出開始までの時間だけ遡ったタイミングで、キャリッジ３１の移動を開始させると、用紙Ｓの搬送終了時点とインクの吐出開始時点とを揃えることができる。これにより、或る期間において、用紙Ｓの搬送動作とキャリッジ３１の移動動作とが重畳的になされることとなり、印刷動作を高速化できる。以下、このように構成した第２実施形態について説明する。なお、第２実施形態において、ハードウェアの構成は前述した第１実施形態と同じである。このため、説明は省略する。
【００６０】
また、この実施形態において、キャリッジモータ４４は、ヘッドＨＤをヘッド移動方向（所定の移動方向）に移動させるための第１モータに相当する。位置演算部７１が有する位置カウンタ７１ａは、ヘッドＨＤの移動量をカウントする第１カウンタに相当する。同様に、搬送モータ４８は、用紙Ｓをヘッド移動方向とは交差する搬送方向へ搬送させるための第２モータに相当する。位置演算部８１が有する位置カウンタ８１ａは、用紙Ｓの搬送量（移動量）をカウントする第２カウンタに相当する。
【００６１】
加えて、メモリ６２に設けられる目標速度テーブル７４は、位置カウンタ７１ａのカウント値に対応するキャリッジモータ４４の目標速度を記憶したメモリである。同様に、メモリ６２に設けられる目標速度テーブル８４は、位置カウンタ８１ａのカウント値に対応する搬送モータ４８の目標速度を記憶したメモリである。この目標テーブル７４には、前側エッジ間テーブル７４ａ…、１周期テーブル７４ｂ…、及び、後側エッジ間テーブル７４ｃ…が設けられる。また、目標速度テーブル８４についても同様に、前側エッジ間テーブル、１周期テーブル、及び、後側エッジ間テーブルが設けられる。
【００６２】
これらのテーブルの中で、１周期テーブルは、位置カウンタ７１ａ（第１カウンタ）及び位置カウンタ８１ａ（第２カウンタ）の複数のカウント値に対応したヘッドＨＤや用紙Ｓ（移動体）の目標速度を、第１制御情報として記憶する第１領域に相当する。また、前側エッジ間テーブルと後側エッジ間テーブルは、位置カウンタ７１ａ及び位置カウンタ８１ａのカウント値のそれぞれに対応したヘッドＨＤや用紙Ｓの目標速度を、第２制御情報として記憶する第２領域に相当する。
【００６３】
そして、駆動制御部としてのＤＣユニット２５（ＣＰＵ６１，メモリ６２）は、用紙Ｓの搬送終了時における位置カウンタ８１ａのカウント値、及び、目標速度テーブル８４に記憶された用紙Ｓ用の目標速度に基づき、搬送モータ４８に対する駆動制御の終了タイミングを求め、求められた終了タイミング、インク吐出開始位置までのヘッドＨＤの移動量に対応する位置カウンタ７１ａのカウント値、及び、目標テーブル７４に記憶されたヘッドＨＤ用の目標速度に基づき、キャリッジモータ４４に対する駆動制御の開始タイミングを求め、求められた開始タイミングにて、キャリッジモータ４４に対する駆動制御を開始する。
【００６４】
＜処理の具体例について＞
以上の処理を図１２に基づいて具体的に説明する。まず、ＤＣユニット２５（駆動制御部）では、用紙Ｓに対する１単位の搬送時間ＷＰ、すなわち、あるパスから次のパスへ移行する際における用紙Ｓの搬送に要する時間を求める。この搬送時間ＷＰは、例えば、定数としてメモリ６２に記憶されているものが用いられる。すなわち、搬送期間ＷＰは主に搬送量に基づいて定まり、他の要因による変動の影響は少ないからである。そして、この搬送時間ＷＰが得られると、ＤＣユニット２５は、搬送モータ４８の駆動開始タイミングｔ１に対応する駆動終了タイミングｔ２（用紙Ｓの搬送終了タイミング）を認識することができる。
【００６５】
次に、ＤＣユニット２５は、インクの吐出を開始するヘッドＨＤの位置Ｐ１（キャリッジ移動方向の位置）を取得する。この取得は、例えば、コントローラ部２０のＣＰＵ２１からの情報に基づいて行われる。この情報としては、例えば、ドット形成データに基づくドットの形成位置の情報が用いられる。そして、キャリッジ３１（ヘッドＨＤ）の停止位置は、位置カウンタ７１ａのカウント値より認識できるので、インク吐出開始位置Ｐ１を取得することにより、キャリッジ３１の停止位置からインクの吐出開始位置Ｐ１までの移動距離Ｘが認識できる。
【００６６】
キャリッジ３１の移動距離Ｘを認識したならば、ＤＣユニット２５は、この移動距離Ｘを移動するために必要な移動時間ＷＣ１を取得する。この移動時間ＷＣ１は、目標速度テーブル７４に記憶された目標速度と、エンコーダ信号ＥＮＣ_Ｐのエッジ同士で規定されるキャリッジの単位移動量に基づいて求めることができる。便宜上、吐出開始位置Ｐ１に対応する位置カウンタ７１ａのカウント値は値［３０］であるとする。なお、カウント値は吐出開始位置Ｐ１と互いに関連しているので、ＤＣユニット２５は、吐出開始位置Ｐ１の情報からカウント値を取得できる。
【００６７】
ＤＣユニット２５は、カウント値［３０］に基づいて目標速度テーブル７４を参照し、対象となる範囲のテーブルを特定する。例えば、第１制御パターン情報７４Ａを用いる場合、図１０に示すように、対象となるテーブルとして、前側エッジ間テーブル７４ａと、１周期テーブル７４ｂと、後側エッジ間テーブル７４ｂの７番目のテーブルまでとが特定される。そして、特定された個々のテーブルについて、目標速度毎に所要時間が計算される。
【００６８】
例えば、前側エッジ間テーブル７４ａの１番目のテーブルには、目標速度Ｔａ０が記憶されている。この目標速度Ｔａ０は、キャリッジ３１を１／１８０インチの１／４（つまり、１／７２０インチ）だけ移動させる際の、キャリッジ３１の移動速度と考えることができる。このため、この移動距離（１／７２０インチ）を目標速度Ｔａ０で除算することで、目標速度Ｔａ０に対応する所要時間が計算できる。そして、前側エッジ間テーブル７４ａや後側エッジ間テーブル７４ｃに属する他のテーブルについても同様の計算により、各目標速度Ｔａ１〜Ｔａ１８に対応する所要時間が計算できる。
【００６９】
また、１周期テーブル７４ｂの１番目のテーブルには、目標速度Ｔｂ０が記憶されている。この目標速度Ｔｂ０は、キャリッジ３１を１／１８０インチだけ移動させる際の、キャリッジ３１の移動速度と考えることができる。このため、この移動距離（１／１８０インチ）を目標速度Ｔｂ０で除算することで、目標速度Ｔｂ０に対応する所要時間が計算できる。なお、１周期テーブル７４ｂに属する他のテーブルについても同様の計算により、各目標速度Ｔｂ１，Ｔｂ２に対応する所要時間が計算できる。
【００７０】
各目標速度Ｔａ０〜Ｔａ１８，Ｔｂ０〜Ｔｂ２に対応する所要時間が得られたならば、ＤＣユニット２５は、全ての所要時間を加算する。これにより、図１２に示す移動時間ＷＣ１が得られる。
【００７１】
移動時間ＷＣ１が得られたならば、ＤＣユニット２５は、タイミングｔ２から移動時間ＷＣ１だけ遡ったタイミングｔ３を特定し、このタイミングｔ３をキャリッジ３１の駆動開始タイミングに定める。
【００７２】
そして、ＤＣユニット２５は、搬送モータ４８の駆動をタイミングｔ１で開始した後、タイミングｔ３の到来を監視する。そして、タイミングｔ３が到来したことを条件に、搬送モータ４８の駆動中にキャリッジモータ４４の駆動を開始する。これにより、用紙Ｓの搬送終了タイミングとヘッドＨＤからのインクの吐出タイミングが、ともにタイミングｔ２で揃う。その結果、印刷の高速化が図れる。そして、このプリンタ１０では、目標速度テーブル７４に記憶された目標速度を用いてキャリッジモータ４４の駆動開始タイミングｔ３を定めているので、移動時間ＷＣ１を精度良く定めることができる。その結果、用紙Ｓの搬送終了タイミングとヘッドＨＤからのインクの吐出タイミングとを、より精度良く定めることができる。
【００７３】
なお、以上の説明では搬送時間ＷＰを定数としてメモリ６２に記憶させていたが、この搬送時間ＷＰを演算で用いて求めてもよい。この場合、加速期間ＷＰ１及び減速期間ＷＰ３では、目標速度テーブル８４に記憶されている目標速度、及び、エンコーダ信号ＥＮＣ_Ｐで規定される単位搬送量（対応するエッジ同士によって定まる搬送量）に基づいて必要な時間が求められる。また、定速期間ＷＰ２では、目標搬送量、目標搬送量を与える回数、及び、ゲインＫｐに基づいて必要な時間が求められる。
【００７４】
＝＝＝その他の実施形態＝＝＝
前述の実施形態は、主としてプリンタ１０に組み込まれたモータ制御装置について記載されているが、その中には、モータ制御方法や制御用プログラムの開示も含まれている。また、上記の実施形態は、本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。本発明は、その趣旨を逸脱することなく、変更、改良され得ると共に、本発明にはその等価物が含まれることはいうまでもない。特に、以下に述べる実施形態であっても、本発明に含まれるものである。
【００７５】
＜制御対象となるモータ等について＞
前述の各実施形態において、プリンタ１０は、キャリッジモータ４４と搬送モータ４８を有していたが、他の種類のモータも制御対象とすることができる。そして、これらのモータは、ＤＣモータによって構成されていたが、他の種類のモータによって構成してもよい。また、発熱量を取得するための信号として、前述の実施形態では、ＰＷＭ回路６３から出力された指令信号を用いていた。しかしながら、モータの発熱量を認識できる信号であれば、指令信号に限定されるものではない。例えば、ＰＷＭ回路６３に入力されるデューティ信号であってもよい。
【００７６】
＜モータ制御装置が組み込まれる対象装置について＞
前述の各実施形態では、モータ制御装置が組み込まれる対象装置として、プリンタ１０を例に挙げて説明した。しかしながら、対象装置はプリンタ１０に限定されるものではない。モータを有する他の装置も対象装置となり得る。
【００７７】
＜制御情報について＞
第１実施形態では、テーブルに記憶される制御情報として目標速度が例示されていた。制御情報としては、目標速度に限定されるものではない。他の種類の情報であってもよい。
【図面の簡単な説明】
【００７８】
【図１】プリンタの構成を説明するブロック図である。
【図２】図２Ａは、リニアエンコーダの構成を説明するための図である。図２Ｂは、リニアエンコーダからのエンコーダ信号を説明するための図である。
【図３】図３Ａは、ロータリエンコーダの構成を説明するための図である。図３Ｂは、ロータリエンコーダからのエンコーダ信号を説明するための図である。
【図４】ＤＣユニットの構成を説明するブロック図である。
【図５】ＤＣユニットの機能を説明するブロック図である。
【図６】目標速度テーブルを説明する概念図である。
【図７】エンコーダ信号のエッジ毎の電流値（目標速度）を説明する概念図である。
【図８】エンコーダ信号の周期毎の電流値（目標速度）を説明する概念図である。
【図９】図９Ａは、キャリッジモータの駆動処理（メイン処理）を説明するフローチャートである。図９Ｂは、キャリッジモータの駆動処理における、目標速度読出処理を説明するフローチャートである。
【図１０】目標速度テーブルからの目標速度の読み出しを説明する概念図である。
【図１１】１パス期間中における指令信号の電流値、キャリッジの移動速度、及び、エンコーダ信号を説明する図である。
【図１２】第２実施形態を説明する図である。
【符号の説明】
【００７９】
１０  プリンタ，２０  コントローラ部，２１  ＣＰＵ，２２  ＡＳＩＣ，
２３  メモリ，２４  タイマーＩＣ，２５  ＤＣユニット，２６  インタフェース，
３０  エンジン部，３１  キャリッジ，３２  キャリッジ移動機構，
３３  キャリッジモータドライバ，３４  リニアエンコーダ，
３５  用紙搬送機構，３６  搬送モータドライバ，３７  ロータリエンコーダ，
３８  ヘッドドライバ，４１  タイミングベルト，４２  駆動プーリー，
４３  アイドラプーリー，４４  キャリッジモータ，４５  符号板，
４６  センサユニット，４７  搬送ローラ，４８  搬送モータ，
４９  符号板，５０  センサユニット，６１  ＣＰＵ，６２  メモリ，
６３  ＰＷＭ回路，６３ａ  キャリッジモータ制御ユニット側のＰＷＭ回路，
６３ｂ  搬送モータ制御ユニット側のＰＷＭ回路，
６４  キャリッジモータ制御ユニット，６５  搬送モータ制御ユニット，
７１  位置演算部，７１ａ  位置カウンタ，７２  第１減算器，
７３  目標速度演算部，７４  目標速度テーブル，７４Ａ  第１制御パターン情報，
７４Ｂ  第２制御パターン情報，７４Ｎ  第ｎ制御パターン情報，
７４ａ，７４ｄ，７４ｇ  前側エッジ間テーブル，
７４ｃ，７４ｆ，７４ｉ  後側エッジ間テーブル，
７４ｂ，７４ｅ，７４ｈ  １周期テーブル，
７５  速度演算部，７６  第２減算器，
７７Ｐ  比例要素，７７Ｉ  積分要素，７７Ｄ  微分要素，７８  加算器，
７９  ウェイト制御部，８１  位置演算部，８２  第１減算器，
８３  目標速度演算部，８４  目標速度テーブル，８５  速度演算部，
８６  第２減算器，８７Ｐ  比例要素，８７Ｉ  積分要素，８７Ｄ  微分要素，
８８  加算器，８９  ウェイト制御部，ＢＵ  バス，ＨＣ  ホストコンピュータ，
ＨＤ  ヘッド，ＥＮＣ_ＣＡ  第１エンコーダ信号，
ＥＮＣ_ＣＢ  第２エンコーダ信号，ＥＮＣ_ＰＡ  第１エンコーダ信号，
ＥＮＣ_ＰＢ  第２エンコーダ信号，Ｋｐ  ゲイン
【図１】
2008072806.tif 000003
【図２】
2008072806.tif 000004
【図３】
2008072806.tif 000005
【図４】
2008072806.tif 000006
【図５】
2008072806.tif 000007
【図６】
2008072806.tif 000008
【図７】
2008072806.tif 000009
【図８】
2008072806.tif 000010
【図９】
2008072806.tif 000011
【図１０】
2008072806.tif 000012
【図１１】
2008072806.tif 000013
【図１２】
2008072806.tif 000014