(57)【特許請求の範囲】
【請求項１】
目標速度Ｆ（ｔ）により、変数ｓの関数である第２関数ｈ（ｓ）を定め、当該第２関数ｈ（ｓ）を用いて、被駆動体を移動させる電動機の駆動を制御し、時刻ｔ０において停止していた被駆動体を時刻ｔ１において目標速度Ｆ（ｔ１）となるまで加速させ、かつ時刻ｔ２において減速を開始させて時刻ｔ３において停止させる駆動制御装置であって、
上記第２関数ｈ（ｓ）であり、ｔ０≦ｓ≦ｔ１において連続で滑らかであり、かつｈ（ｔ０）＝０及びｈ（ｔ１）＝Ｆ（ｔ１）である第２関数ｈ０１（ｓ）を変換して、ｔ０≦ｓ≦ｔ１において連続で滑らかであり、０＜ｆ（ｔ０）＜ｆ（ｔ１）＝Ｆ（ｔ１）である第１関数ｆ（ｓ）を生成する関数生成手段と、
上記被駆動体の加速期間において、ｆ（ｔ）＝Ｆ（ｔ）として定められる目標速度Ｆ（ｔ）と、上記被駆動体の実際の速度Ｇ（ｔ）との差に基づいて上記電動機をフィードバック制御し、減速期間において、上記第２関数ｈ（ｓ）であり、ｔ２≦ｓ≦ｔ３において連続で滑らかであり、ｈ（ｔ２）＝Ｆ（ｔ２）及びｈ（ｔ３）＝０である第２関数ｈ２３（ｓ）＝Ｆ（ｔ）として定められる目標速度Ｆ（ｔ）と、上記速度Ｇ（ｔ）との差に基づいて上記電動機をフィードバック制御する制御部と、を備える駆動制御装置。
【請求項２】
上記第１関数ｆ（ｓ）は、変数ｓについて少なくとも２階微分が可能なものである請求項１に記載の駆動制御装置。
【請求項３】
上記第１関数ｆ（ｓ）は、変数ｓの２次以上の多項式若しくは変数ｓについての三角関数、或いはそれらの組み合わせで表されるものである請求項１又は２に記載の駆動制御装置。
【請求項４】
上記関数生成手段は、時刻ｔ０における目標速度Ｆ（ｔ０）と時刻ｔ１における目標速度Ｆ（ｔ１）とを用いて、上記第２関数ｈ（ｓ）を下記の式に基づいて変換することにより上記第１関数ｆ（ｓ）を生成する請求項１から３のいずれかに記載の駆動制御装置。
【数１】
0005343379.tif 000013
【請求項５】
上記関数生成手段は、ｈ（ｕ）＝Ｆ（ｔ０）となるような定数ｕを用いて、上記第２関数ｈ（ｓ）を下記の式に基づいて変換することにより上記第１関数ｆ（ｓ）を生成する請求項１から３のいずれかに記載の駆動制御装置。
【数２】
0005343379.tif 000014
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、フィードバックされた実速度と目標速度との速度差に基づいて被駆動体の駆動速度を制御する駆動制御装置に関する。
【背景技術】
【０００２】
インク滴を記録用紙に付着させることにより該記録用紙に画像を記録するインクジェット記録方式の画像記録装置には、記録ヘッドを搭載したキャリッジ（被駆動体）が設けられている。また、原稿台に載置された原稿の画像を読み取る画像読取装置には、イメージセンサなどの画像読取素子を支持するキャリッジ（被駆動体）が設けられている。画像記録装置及び画像読取装置のいずれにおいても、上記キャリッジはベルト或いはギヤなどの伝達機構を介してモータ（電動機）に連結されており、該モータの駆動力を受けて所定方向へ往復移動される。
【０００３】
上記モータを制御する手法として、速度プロファイルを用いたフィードバック制御が知られている。このフィードバック制御は、速度センサなどによって検出されたキャリッジの実際の速度（実速度）と予め算定された速度プロファイルで特定される目標速度との速度差（偏差）を求め、この速度差に所定のゲイン（増幅率）を乗じて得られた駆動信号（駆動電流）をモータに出力することによって、キャリッジの移動速度が目標速度となるように上記モータを制御する手法である。
【０００４】
上記フィードバック制御では、キャリッジの騒音防止、或いは高精度なキャリッジの位置制御などの要請を考慮して、図１１に示されるように、キャリッジの加速区間Ｌ１０１において、略Ｓ字状の非線形の速度プロファイル２０１が採用されている。ここに、図１１は、従来のフィードバック制御に用られる速度プロファイル２０１を示す座標図である。図中の破線はキャリッジの実際の速度軌跡２０２を示す。この速度プロファイル２０１は、図示されるように、原点（速度＝０、時間＝０）からスタートして、時間の経過とともに緩やかに徐々に大きくなり、画像記録或いは画像読取を行う定速区間Ｌ１０２において必要とする設定速度ｖ１に近づくにつれて再び緩やかに変移している。
【０００５】
しかしながら、図１１の速度プロファイル２０１を用いたフィードバック制御では、キャリッジが設定速度ｖ１に到達するまでに時間がかかり過ぎるという問題がある。この問題は、停止状態のキャリッジに作用する静止最大摩擦力の影響によって生じる。つまり、上記問題は、モータに駆動電流が出力されたにもかかわらず、モータの回転トルクが静止最大摩擦力を上回るまではキャリッジが動き出さないという現象（以下この現象を「不感現象」と称する。）が生じることに起因している。
【０００６】
また、上記不感現象が生じている区間Ｌ１０３では、時間の経過に伴って実速度（停止状態では実速度＝０）と目標速度との速度差が大きくなる。このとき、上記速度差に所定のゲインが加味された過大な駆動電流がモータに出力されるため、キャリッジに大きな駆動トルクが加わる。これにより、キャリッジが動き出した直後は、キャリッジが急激に加速するため、実速度が速度プロファイル２０１上の目標速度を大きくオーバーシュートする。その結果、図１１の速度軌跡２０２の如く、速度プロファイル２０１に対して実速度が周期的に大きく変動する。
【０００７】
上記不感現象の発生を抑制するため、特許文献１に開示されているモータ駆動制御装置では、図１２に示されるように、従来の速度プロファイル２０１に対して一定の下限値ｖ２が組み合わされた速度プロファイル２０４が採用されている。ここに、図１２は、従来のモータ駆動制御装置において採用されている速度プロファイル２０４を示す図である。このモータ駆動制御装置では、モータの制御が開始されてから所定時間が経過するまでの区間Ｌ１０４（特許文献１の「最低速度領域」に相当）では、上記下限値ｖ２で示される線形部２０４Ａを用いてモータをフィードバック制御し、区間Ｌ１０４以降の区間Ｌ１０５では、速度プロファイル２０４の非線形部２０４Ｂを用いてモータをフィードバック制御している。
【０００８】
【特許文献１】特開２００７−２８８０８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
しかしながら、特許文献１のモータ駆動制御装置で用いられる速度プロファイル２０４は、線形部２０４Ａから非線形部２０４Ｂへの移行部分２０６が滑らかに連続したものではないため、移行部分２０６の前後におけるモータ制御が不安定になり、キャリッジの実速度及び加速度が安定しなくなるおそれがある。また、速度プロファイル２０４を用いてモータ制御に必要な各種演算処理を行う場合は、線形部２０４Ａ及び非線形部２０４Ｂそれぞれに対応する演算処理を行い、各演算処理の負荷の大小関係等の所定の条件に基づいて適用する演算処理を場合分けしなければならないため、処理負担が大きくなるという問題が生じる。また、演算処理を行うためのプログラムが複雑化するため、例えば、プログラムの柔軟な変更が困難になる。また、プログラムの複雑化に伴い高速な演算装置を必要とするため、装置のコストアップに繋がる。
【００１０】
また、速度プロファイル２０４を用いたモータ制御では、移行部分２０６の前後において、実速度と目標速度との差が急激に増加するため、非線形部２０４Ｂを用いたモータ制御に移った瞬間に実速度が目標速度に対して周期的に大きく変動するおそれがある（図１１の速度軌跡２０２参照）。この周期的な変動を抑制するためにはキャリッジの助走距離を長くする必要があるが、助走距離を長くすると画像記録装置或いは画像読取装置の幅サイズが大きくなり、装置のコンパクト化の要請に反することになる。また、キャリッジの往復移動に要する時間が長くなるという問題も生じる。
【００１１】
そこで、本発明は、上記事情に鑑みてなされたものであり、その第１の目的とするところは、被駆動体の加速制御区間において安定した制御を軽負荷で行うことが可能な駆動制御装置を提供することにある。
【００１２】
また、第２の目的とするところは、画像記録装置或いは画像読取装置に適用した場合に、キャリッジの加速制御区間においてキャリッジの助走距離を短くすることにより、装置の幅をコンパクトにし、且つ、キャリッジの往復移動時間の短縮による高速印刷或いは高速読取を実現することが可能な駆動制御装置を提供することにある。
【課題を解決するための手段】
【００１３】
本発明は、目標速度Ｆ（ｔ）により、変数ｓの関数である第２関数ｈ（ｓ）を定め、当該第２関数ｈ（ｓ）を用いて、被駆動体を移動させる電動機の駆動を制御し、時刻ｔ０において停止していた被駆動体を時刻ｔ１において目標速度Ｆ（ｔ１）となるまで加速させ、かつ時刻ｔ２において減速を開始させて時刻ｔ３において停止させる駆動制御装置であって、上記第２関数ｈ（ｓ）であり、ｔ０≦ｓ≦ｔ１において連続で滑らかであり、かつｈ（ｔ０）＝０及びｈ（ｔ１）＝Ｆ（ｔ１）である第２関数ｈ０１（ｓ）を変換して、ｔ０≦ｓ≦ｔ１において連続で滑らかであり、０＜ｆ（ｔ０）＜ｆ（ｔ１）＝Ｆ（ｔ１）である第１関数ｆ（ｓ）を生成する関数生成手段と、上記被駆動体の加速期間において、ｆ（ｔ）＝Ｆ（ｔ）として定められる目標速度Ｆ（ｔ）と、上記被駆動体の実際の速度Ｇ（ｔ）との差に基づいて上記電動機をフィードバック制御し、減速期間において、上記第２関数ｈ（ｓ）であり、ｔ２≦ｓ≦ｔ３において連続で滑らかであり、ｈ（ｔ２）＝Ｆ（ｔ２）及びｈ（ｔ３）＝０である第２関数ｈ２３（ｓ）＝Ｆ（ｔ）として定められる目標速度Ｆ（ｔ）と、上記速度Ｇ（ｔ）との差に基づいて上記電動機をフィードバック制御する制御部と、を備えている。
【００１４】
このように連続で滑らかな第１関数ｆ（ｓ）を用いて目標速度Ｆ（ｔ）が定められているため、停止状態（ｔ＝ｔ０）から目標速度Ｆ（ｔ１）までの加速区間において、被駆動体を円滑に加速させることができる。したがって、上記加速区間における被駆動体の制御が安定する。また、目標速度Ｆ（ｔ０）が０よりも大きい値に設定されているため、加速制御開始直後の加速初期においてキャリッジの動き出しを早めることができる。なお、目標速度Ｆ（ｔ０）は、時刻ｔ０の時点で用いられる目標速度として事前に入力又は設定されたものであり、目標速度Ｆ（ｔ１）は、時刻ｔ１の時点で用いられる目標速度として事前に入力又は設定されたものである。
【００１５】
(2)  上記第１関数ｆ（ｓ）は、変数ｓについて少なくとも２階微分が可能なものであることが望ましい。
【００１６】
これにより、第１関数ｆ（ｓ）を連続で滑らかな関数として具体的に表すことができる。
【００１７】
(3)  上記第１関数ｆ（ｓ）は、変数ｓの２次以上の多項式若しくは変数ｓについての三角関数、或いはそれらの組み合わせで表されるものである請求項１又は２に記載の駆動制御装置。
【００１８】
これにより、連続で滑らかな第１関数ｆ（ｓ）を具体的に実現することができる。
【００２０】
(5)  上記関数生成手段は、時刻ｔ０における目標速度Ｆ（ｔ０）と時刻ｔ１における目標速度Ｆ（ｔ１）とを用いて、上記第２関数ｈ（ｓ）を下記の式に基づいて変換することにより上記第１関数ｆ（ｓ）を生成するものであることが好ましい。
【００２１】
【数３】
0005343379.tif 000002
【００２２】
これにより、第１関数ｆ（ｓ）を容易に生成することができる。
【００２３】
(6)  また、上記関数生成手段は、ｈ（ｕ）＝Ｆ（ｔ０）となるような定数ｕを用いて、上記第２関数ｈ（ｓ）を下記の式に基づいて変換することにより上記第１関数ｆ（ｓ）を生成するものであってもよい。
【００２４】
【数４】
0005343379.tif 000003
【発明の効果】
【００２５】
本発明によれば、被駆動体の加速制御区間において安定した制御を軽負荷で行うことができる。
【００２６】
また、画像記録装置或いは画像読取装置に本発明を適用した場合に、キャリッジの加速制御区間においてキャリッジの助走距離を短くすることにより、装置の幅をコンパクトにし、且つ、キャリッジの往復移動時間の短縮による高速印刷或いは高速読取を実現することができる。
【発明を実施するための最良の形態】
【００２７】
［図面の説明］
以下、適宜図面を参照して本発明の実施形態について説明する。ここに、図１は、本発明の実施形態に係る複合機１の外観構成を示す斜視図である。図２は、プリンタ部２の主要構成を示す部分拡大断面図である。図３は、プリンタ部２の主要構成を示す平面図であり、主としてプリンタ部２の略中央から装置背面側の構成が示されている。図４は、キャリッジ３８の理想的な速度軌跡を示す図である。図５は、プリンタ部２の主制御部１００の主要構成を示すブロック図である。図６は、モータ制御部１０７の構成を詳細に示すブロック図である。図７は、キャリッジ３８の加速区間Ｌ０１で用いられる速度プロファイルを特定するための関数ｆ０１（ｓ）を示す座標図である。図８及び図９は、キャリッジ３８の移動制御の手順の一例を示すフローチャートである。図１０は、キャリッジ３８の加速区間Ｌ０１で用いられる速度プロファイルを特定するための関数ｆ０１（ｓ）の変形例を示す座標図である。図１１は、従来のフィードバック制御に用られる速度プロファイル２０１を示す座標図である。図１２は、従来のモータ駆動制御装置において採用されている速度プロファイル２０４を示す図である。
【００２８】
［複合機１］
複合機１は、プリンタ部２とスキャナ部３とを一体的に備えた多機能装置（ＭＦＰ：Multi Function Product）であり、プリント機能、スキャン機能、コピー機能、ファクシミリ機能等を有する。図１に示されるように、複合機１は概ね直方体に形成されており、その下部がプリンタ部２であり、上部がスキャナ部３である。
【００２９】
複合機１のプリンタ部２は、所定の印刷データに基づいて、記録用紙に画像や文書を記録するものである。プリンタ部２は、正面に開口９が形成されている。給紙トレイ２０及び排紙トレイ２１は、開口９の内側に上下２段に設けられている。給紙トレイ２０に収容された記録用紙がプリンタ部２の内部へ給送されて、その記録用紙に所望の画像が記録される。その後、画像記録済みの記録用紙が排紙トレイ２１へ排出される。
【００３０】
スキャナ部３は、所謂フラットベッドスキャナとして構成されている。複合機１の天板としての原稿カバー３０がスキャナ部３の上部に開閉自在に設けられている。原稿カバー３０の下側に、図示しないコンタクトガラス及び複数のＣＩＳが設けられている。複数のＣＩＳは、複合機１の奥行き方向（配列方向）へ一列に配列された状態で図示しないキャリッジに搭載されている。このキャリッジは、コンタクトガラスの裏面に沿って上記配列方向と直交する方向（移動方向）へ移動可能に構成されている。上記キャリッジが上記移動方向へ移動される過程において、コンタクトガラスに載置された原稿の画像がＣＩＳによって読み取られる。
【００３１】
図１に示されるように、複合機１の正面上部には、プリンタ部２やスキャナ部３を操作するための操作パネル４が設けられている。操作パネル４は、各種操作ボタンや液晶表示部から構成されている。複合機１は、操作パネル４からの操作指示に基づいて動作する。複合機１が外部のコンピュータに接続されている場合には、該コンピュータからプリンタドライバ又はスキャナドライバを介して送信される指示に基づいても複合機１が動作する。
【００３２】
［プリンタ部２］
図２に示されるように、複合機１の底側に給紙トレイ２０が設けられている。給紙トレイ２０の上側に給紙ローラ２５が設けられている。プリンタ部２の図示しないフレームに基軸２９が支持されている。この基軸２９に給紙アーム２６の基端が回動可能に支持されている。給紙ローラ２５は、給紙アーム２６の先端に回転可能に軸支されている。基軸２９には、給紙ローラ２５を回転駆動させるためのＬＦモータ９５（図５参照）が連結されている。給紙アーム２６には、基軸２９から入力されたＬＦモータ９５の回転駆動力を給紙ローラ２５に伝達するギヤ駆動機構２７が設けられている。ＬＦモータ９５の回転駆動力は、基軸２９、ギヤ駆動機構２７を介して給紙ローラ２５に伝達される。これにより、給紙ローラ２５が回転駆動される。
【００３３】
給紙ローラ２５が給紙トレイ２０上の記録用紙に圧接された状態で回転駆動されると、給紙ローラ２５のローラ面と記録用紙との間の摩擦力により、最上位置の記録用紙が給紙トレイ２０の奥側（図２の右側）へ送り出される。記録用紙は、その先端が傾斜板２２に当接して上方へ案内される。傾斜板２２から用紙搬送路２３が延出されている。具体的には、用紙搬送路２３は、傾斜板２２から上方へ向けられ、そして、複合機１の正面側（図２の左側）へ曲げられてから、複合機１の背面側から正面側へと延ばされて、画像記録ユニット２４の下部を通って、排紙トレイ２１まで延設されている。したがって、給紙トレイ２０に収容された記録用紙は、用紙搬送路２３により下方から上方へＵターンするように案内されて画像記録ユニット２４に至り、画像記録ユニット２４により画像記録が行われた後、排紙トレイ２１に排出される。
【００３４】
図２に示されるように、用紙搬送路２３には、画像記録ユニット２４が配置されている。画像記録ユニット２４は、インクジェット記録方式の記録ヘッド３９と、この記録ヘッド３９を搭載するキャリッジ３８（本発明の被駆動体の一例）とを備えている。キャリッジ３８は、記録用紙の搬送方向と直交する方向（図２の紙面に垂直な方向）へスライド可能に支持されている。
【００３５】
記録ヘッド３９は、キャリッジ３８の底面に配置されており、記録ヘッド３９のノズルがキャリッジ３８の下面に露出されている。複合機１の内部に配置されたインクカートリッジ（不図示）から各色のインクが記録ヘッド３９へ供給される。キャリッジ３８の下面に対向してプラテン４２が設けられている。キャリッジ３８が往復移動される間に、記録ヘッド３９のノズルから各色インクが微小なインク滴として選択的に吐出されると、プラテン４２上を搬送される記録用紙に画像が記録される。
【００３６】
図３に示されるように、用紙搬送路２３の上側において一対のガイドレール４３，４４が配置されている。これらガイドレール４３，４４は、記録用紙の搬送方向（図３の上側から下側方向）に所定距離を隔てられて対向しており、且つ記録用紙の搬送方向と直交する方向（図３の左右方向）に延設されている。ガイドレール４３，４４は、プリンタ部２の筐体内に設けられ、プリンタ部２を構成するフレームの一部を構成している。
【００３７】
ガイドレール４３は、記録用紙の搬送方向上流側に配設されている。このガイドレール４３は、用紙搬送路２３の幅方向（図３の左右方向）の長さがキャリッジ３８の往復移動範囲より長い平板状のものである。また、ガイドレール４４は、記録用紙の搬送方向下流側に配設されている。このガイドレール４４は、用紙搬送路２３の幅方向の長さがガイドレール４３とほぼ同じ長さの平板状のものである。キャリッジ３８は、各ガイドレール４３，４４を跨ぐようにして配設されている。具体的には、キャリッジ３８の搬送方向上流側の端部がガイドレール４３に載置され、キャリッジ３８の搬送方向下流側の端部がガイドレール４４に載置されており、各ガイドレール４３，４４の延出方向に摺動可能に配設されている。
【００３８】
ガイドレール４４の搬送方向上流側の縁部４５は、上方へ向かって略直角に曲折されている。ガイドレール４３，４４に担持されたキャリッジ３８は、縁部４５をローラ対等の挟持部材により摺動可能に挟持している。これにより、キャリッジ３８は、記録用紙の搬送方向に対して位置決めされ、且つ、記録用紙の搬送方向と直交する方向に摺動することができる。つまり、キャリッジ３８は、ガイドレール４３，４４上に摺動自在に担持され、ガイドレール４４の縁部４５を基準として、記録用紙の搬送方向と直交する方向へ往復移動する。
【００３９】
図３に示されるように、ガイドレール４４の上面には、ベルト駆動機構４６が配設されている。ベルト駆動機構４６は、駆動プーリ４７と、従動プーリ４８と、無端環状のベルト４９とを有する。
【００４０】
駆動プーリ４７及び従動プーリ４８は、用紙搬送路２３の幅方向の両端付近にそれぞれ設けられている。駆動プーリ４７と従動プーリ４８との間に、無端環状のベルト４９が張架されている。駆動プーリ４７の軸に、キャリッジ３８を移動させるためのＣＲモータ９６（本発明の電動機の一例、図５参照）が連結されている。このＣＲモータ９６は、フィードバック制御に適合するよう製作されたサーボモータである。ＣＲモータ９６が回転駆動されると、その回転駆動力が駆動プーリ４７に伝達される。そして、駆動プーリ４７の回転によってベルト４９が周運動する。なお、ベルト４９は無端環状のもののほか、有端のベルトの両端部をキャリッジ３８に固着するものも適用可能である。
【００４１】
キャリッジ３８は、その下面側においてベルト４９に連結されている。したがって、ベルト４９の周運動に基づいて、キャリッジ３８が縁部４５を基準としてガイドレール４３，４４上を摺動する。このようなキャリッジ３８に記録ヘッド３９が搭載されて、記録ヘッド３９が、用紙搬送路２３の幅方向を往復移動される。
【００４２】
図３に示されるように、ガイドレール４４には、エンコーダストリップ５０が配設されている。エンコーダストリップ５０は、透明な樹脂からなる帯状のものである。エンコーダストリップ５０には、遮光部と透光部とが等ピッチで配置されたパターンが記されている。ガイドレール４４の幅方向（キャリッジ３８の移動方向）の両端には、その上面から起立する一対の支持リブ３３，３４が設けられている。エンコーダストリップ５０は、その両端部が支持リブ３３，３４に係止されて、縁部４５に沿って架設されている。
【００４３】
キャリッジ３８の上面において、エンコーダストリップ５０に対応する位置には、透過型センサである光学センサ３５が設けられている。光学センサ３５は、キャリッジ３８の移動方向へ僅かに位置をずらして配置された２つの受光素子（例えばフォトトランジスタ）と、これらの受光素子に向けて発光する１つの発光素子（例えばＬＥＤ）とにより構成されている。発光素子及び受光素子の間に、エンコーダストリップ５０が配置されている。このように光学センサ３５及びエンコーダストリップ５０が設けられることによって、キャリッジ３８の位置を検出するためのリニアエンコーダが構成される。
【００４４】
本実施形態では、エンコーダストリップ５０のパターンに応じた２種類のエンコーダ信号ＥＮＣ１及びＥＮＣ２（図６参照）が光学センサ３５から出力される。これらのエンコーダ信号ＥＮＣ１及びＥＮＣ２は、ＨＩＧＨレベルとＬＯＷレベルとからなる矩形波信号である。これらのエンコーダ信号ＥＮＣ１及びＥＮＣ２が後述する主制御部１００（本発明の駆動制御装置の一例、図５参照）のモータ制御部１０７（本発明の制御部の一例）に入力されて、所定の基準位置（例えば待機位置）からのキャリッジ３８の位置が算出される。なお、上記基準位置は、次のようにして判定することができる。例えば、キャリッジ３８を一方向へ移動させて、キャリッジ３８がその可動範囲の端で停止したときに光学センサ３５から一定レベル（ＨＩＧＨレベル又はＬＯＷレベル）の信号が継続して出力されることをもって、その位置（可動範囲の端）を基準位置として認識することができる。
【００４５】
また、主制御部１００では、光学センサ３５から入力された上記エンコーダ信号ＥＮＣ１及びＥＮＣ２（図６参照）に基づいてキャリッジ３８の実際の速度（実速度）や加速度、移動方向が算出される。これらの位置、実速度、加速度、移動方向などのデータ（フィードバックデータ）に基づいてＣＲモータ９６（図５参照）がフィードバック制御によって駆動される。
【００４６】
図３に示されるように、記録用紙が通過しない範囲、すなわち記録ヘッド３９（図２参照）による画像記録領域の外側には、メンテナンス機構５１が配設されている。具体的には、メンテナンス機構５１は、図３においてプラテン４２の右端部に配置されている。メンテナンス機構５１は、記録ヘッド３９のノズル内のインクの乾燥を防止したり、ノズルから気泡や異物を吸引除去するものである。本実施形態では、キャリッジ３８の待機位置（ホームポジション）はメンテナンス機構５１の直上に設定されている。したがって、画像記録を行わない場合は、キャリッジ３８は、画像記録指示が入力されるまで上記待機位置で待機する。
【００４７】
図２に示されるように、画像記録ユニット２４の上流側には、搬送ローラ８７とピンチローラ８８とを有する一対の搬送ローラ対８９が設けられている。画像記録ユニット２４の下流側には、排紙ローラ９０と該排紙ローラ９０の上方に設けられた拍車９１とを有する一対の排出ローラ対９２が設けられている。搬送ローラ８７の軸に、複数のギヤからなるギヤ駆動機構８５（図５参照）が連結されている。ＬＦモータ９５（図５参照）の回転駆動力は、ギヤ駆動機構８５を介して搬送ローラ８７の軸に伝達される。これにより、搬送ローラ８７が所定の回転速度で回転されて、記録用紙が用紙搬送路２３中を搬送される。搬送ローラ８７と排紙ローラ９０とはギヤなどの伝達機構により連結されており、該伝達機構を介して搬送ローラ８７から駆動力が排紙ローラ９０に伝達される。これにより、搬送ローラ８７と排紙ローラ９０とが同期駆動される。
【００４８】
搬送ローラ８７の回転軸にエンコーダディスク５２が設けられている。エンコーダディスク５２の周縁には、遮光部と透光部とが等ピッチで交互に配置されたパターンが記されている。エンコーダディスク５２の周縁に対応する位置に光学センサ（不図示）が配設されている。上記光学センサの発光素子と受光素子との間にエンコーダディスク５２の周縁が配置されている。エンコーダディスク５２と上記光学センサとによって、搬送ローラ８７の回転位置を検出するためのロータリーエンコーダが構成される。本実施形態では、搬送ローラ８７とともにエンコーダディスク５２が回転され、その際に、エンコーダディスク５２のパターンに応じた矩形波信号が上記光学センサから出力される。この矩形波信号は後述する主制御部１００（図５参照）に入力される。主制御部１００は、上記矩形波信号に基づいて、搬送ローラ８７の回転位置を算出する。ここで算出された回転位置を用いて、搬送ローラ８７によって搬送される記録用紙の搬送位置や搬送量などが求められる。
【００４９】
本実施形態では、複合機１に画像記録指示が入力されて、記録用紙における記録領域の先端が記録ヘッド３９の下方に到達すると、ＣＲモータ９６（図５参照）が主制御部１００によって駆動制御される。これにより、キャリッジ３８は、図３の右端部に設定された待機位置からスライドを開始して、記録用紙の搬送方向と直交する方向（図３の左右方向）へ往復移動する。
【００５０】
図４に、キャリッジ３８が往復移動する際の理想的な速度軌跡が示されている。仮に、キャリッジ３８の速度が図４に示される理想的な速度軌跡を辿るように変移すると、キャリッジ３８の理想的な動きが実現されて、高精度な画像記録が行われる。図４の速度軌跡によれば、キャリッジ３８は、ＣＲモータ９６が正回転方向へ回転されることによって、時刻ｔ０において待機位置で静止していた状態から動き出して、区間Ｌ０１において往方向（図３の左方向）へ加速駆動される。そして、所定時間が経過すると、時刻ｔ１における目標速度として予め設定されていた速度ｖ１に達する。
【００５１】
区間Ｌ１２では、キャリッジ３８は上記速度ｖ１で定速駆動される。キャリッジ３８が上記待機位置とは反対側の端部に近づくと、時刻ｔ２から時刻ｔ３の区間Ｌ２３において、速度ｖ１の定速駆動から減速駆動に切り換えられる。キャリッジ３８の減速が終了すると、ＣＲモータ９６が逆方向へ回転されることによって、キャリッジ３８は、時刻ｔ３から時刻ｔ４の区間Ｌ３４において復方向（図３の右方向）へ加速駆動される。そして、時刻ｔ３から所定時間経過後の時刻ｔ４に、キャリッジ３８が、速度ｖ１に達する。その後、時刻ｔ４から時刻ｔ５の区間Ｌ４５において、上記速度ｖ１で定速駆動される。そして、キャリッジ３８が上記待機位置に近づくと、時刻ｔ５から時刻ｔ６の区間Ｌ５６において減速駆動される。その後は、必要に応じて、区間Ｌ０１〜Ｌ５６の動作が繰り返されて、キャリッジ３８が連続して往復移動する。
【００５２】
しかしながら、フィードバック制御により駆動されるキャリッジ３８の実際の速度（実速度）は、静止状態のときにキャリッジ３８に作用する静止最大摩擦力の影響を受けるため、図４に示される速度軌跡のように変移しない。詳細には、加速制御を行う区間Ｌ０１において、ＣＲモータ９６に駆動電流が出力されたにもかかわらず、ＣＲモータ９６の回転トルクが静止最大摩擦力を上回るまでキャリッジ３８が動き出さないという不感現象が生じ、画像記録時に必要な速度に到達するまでに時間がかかり過ぎることになる。しかしながら、本実施形態では、後述するモータ制御部１０７（図５参照）によって、図７に示される関数ｆ０１（ｓ）（本発明の第１関数ｆ（ｓ）の一例）で示される速度プロファイルを用いてＣＲモータ９６がフィードバック制御されて、区間Ｌ０１における加速駆動が行われるため、上記不感現象が生じる時間を短縮することができ、且つ、キャリッジ３８の速度の周期的変動を抑制して安定した制御を実現することが可能になる。なお、モータ制御部１０７及び関数ｆ０１（ｓ）の詳細については後述する。
【００５３】
［主制御部１００］
次に、図５を参照して、プリンタ部２に設けられた主制御部１００の主要構成について説明する。
【００５４】
主制御部１００は、プリンタ部２の全体動作を制御するものであり、記録ヘッド３９の吐出制御のほか、ＣＲモータ９６及びＬＦモータ９５の駆動制御を行う。図５に示されるように、主制御部１００は、主として、各種演算を行うＣＰＵ１０１と、ＲＯＭ１０２と、ＲＡＭ１０３と、ＥＥＰＲＯＭ１０４と、ＣＲモータ９６を制御するモータ制御部１０７と、インターフェース（Ｉ/Ｆ）１０８と、ＣＲモータドライバ１１０と、ＬＦモータドライバ１１１と、ヘッド駆動回路１１３とがバス１０５などで接続されて構成されている。
【００５５】
インターフェース１０８は、図示しないホストコンピュータから出力される印刷データなどの信号を受信するためのものである。
【００５６】
ＲＯＭ１０２には、ＣＰＵ１０１がプリンタ部２の各種動作を制御するための動作プログラムや、ＣＲモータ９６をＰＩＤ制御（フィードバック制御の一例）するための制御プログラムなどが記憶されている。後述する式（４）で表される関数は、この制御プログラムに組み込まれている。なお、制御プログラムに式（４）の関数そのものが組み込まれていなくても、例えば、後述する式（２）で表される一般式と、後述する式（３）を係数ａ，ｂ，ｃ，ｄについて解いたもの或いは式（３）を上記制御プログラムに組み込むことが考えられる。もちろん、これら以外の様々な手法が考えられるが、少なくとも、式（４）の係数を算出する方法（手順）が制御プログラムに組み込まれていればよい。
【００５７】
また、ＲＯＭ１０２には、ＣＲモータ９６のＰＩＤ制御に必要なＰＩＤ定数（比例ゲイン、積分ゲイン及び微分ゲインなど）が記憶されている。ここで、ＰＩＤ制御とは、フィードバック制御の一種であって、目標速度Ｆ（ｔ）と実速度Ｇ（ｔ）との偏差（速度差）に比例ゲインを乗じて入力値を変化させる比例動作（Ｐ動作）と、上記偏差の累積値に積分ゲインを乗じて入力値を変化させる積分動作（Ｉ動作）と、上記偏差の変化（つまり偏差の微分）に微分ゲインを乗じて入力値を変化させる微分動作（Ｄ動作）とを組み合わせた制御方法のことをいう。なお、本実施形態では、説明の便宜上、ＰＩＤ制御によってＣＲモータ９６が駆動される例について説明するが、言うまでもなく、入力とフィードバックデータとを比較して出力制御を行なうあらゆるフィードバック制御をＣＲモータ９６の駆動方式として採用することが可能である。
【００５８】
ＲＡＭ１０３は、ＣＰＵ１０１が上述の各種プログラムを実行する際に用いる各種データや実行時に算出される各種数値を一時的に記録する記憶領域、或いは所定の演算処理を行うための作業領域として使用される。
【００５９】
ＥＥＰＲＯＭ１０４には、電源オフ後も保持すべきデータや設定フラグ等が格納されている。
【００６０】
モータ制御部１０７は、光学センサ３５からのエンコーダ信号ＥＮＣ１及びＥＮＣ２（図６参照）に基づいて生成された基準パルスのカウントや、そのパルス幅に基づいてキャリッジ３８の位置や速度などを算出する演算処理などを行い、これらのカウント値或いは演算値を用いてＣＲモータ９６を制御するものであり、ＡＳＩＣ（Application Specific Integrated Circuit）として構成されている。モータ制御部１０７は、ＣＰＵ１０１の制御の下で、ＣＲモータドライバ１１０に駆動制御信号を出力する。ＣＲモータドライバ１１０は、駆動制御信号に応じた駆動電流をＣＲモータ９６に出力する。駆動電流を受けたＣＲモータ９６は、キャリッジ３８を移動させる。キャリッジ３８が移動されると、光学センサ３５からエンコーダ信号ＥＮＣ１及びＥＮＣ２がモータ制御部１０７にフィードバックされる。なお、モータ制御部１０７の詳細な構成については後述する。
【００６１】
ＣＰＵ１０１は、図示しないホストコンピュータからインターフェース１０８を介して受信された印刷データを、ＲＡＭ１０３の所定の記憶領域に格納するとともに、予めＲＯＭ１０２に記憶されている制御プログラムに従って、ＬＦモータ９５を駆動するために必要な各種制御信号を出力する演算制御動作と、画像データを加工して、この画像データに基づいて実際に画像記録を行う印刷データを展開し、これに基づいて記録ヘッド３９を駆動するための制御信号を出力する処理を行う。また、モータ制御部１０７からの制御信号により、ＣＲモータ９６の動きに同期させてヘッド駆動回路１１３にヘッド駆動信号を送ったり、ＣＲモータ９６の動きに合わせて、ＬＦモータドライバ１１１に制御信号を送ることによりＬＦモータ９５を回転させるなどの、各部分の動作を統括する役割も果たす。
【００６２】
ヘッド駆動回路１１３は、入力された画像データから得られた印刷データに基づいて、記録用紙上の画像記録箇所が記録ヘッド３９の下方に到達したときに、記録ヘッド３９に備えられたピエゾ素子（不図示）に電圧を印加して、記録用紙へ向けてインクを吐出させるものである。
【００６３】
ＬＦモータドライバ１１１は、ＣＰＵ１０１からの微電圧の制御信号を受けて、ＬＦモータ９５に対して駆動電流を出力することにより、ＬＦモータ９５を制御するものである。ＬＦモータ９５は、ＤＣモータからなるものである。搬送ローラ８７の回転軸に取り付けられたエンコーダディスク５２と光学センサ（不図示）とにより構成されたロータリーエンコーダによってＬＦモータ９５の回転位置が検出され、その検出結果がＬＦモータドライバ１１１にフィードバックされる。ＬＦモータドライバ１１１は、フィードバックされた回転位置に基づいて、搬送ローラ８７による記録用紙の搬送量が所定量となるようにＬＦモータ９５を精度よく制御する。
【００６４】
ＬＦモータ９５が回転駆動されると、ギヤなどの伝達機構を介してその駆動力が搬送ローラ８７および排紙ローラ９０に伝達される。これにより、記録用紙が搬送される。主制御部１００では、搬送された記録用紙の搬送位置や搬送量が、搬送ローラ８７の回転位置に基づいて算出される。主制御部１００のＣＰＵ１０１は、算出された記録用紙の搬送位置や搬送量に基づいて記録用紙の搬送状態を判断して、ＬＦモータドライバ１１１に対してＬＦモータ９５を駆動若しくは停止させる制御信号を送信する。
【００６５】
［モータ制御部１０７］
次に、図６を参照して、モータ制御部１０７の構成について詳細に説明する。
【００６６】
モータ制御部１０７は、エッジ検出部１２１と、キャリッジ位置管理部１２２と、エンコーダ周期測定部１２３と、ＰＩＤ演算部１２４と、ＰＷＭ生成部１２５と、速度プロファイル生成部１２８（本発明の関数生成手段の一例）と、目標速度生成部１２９とを有する。モータ制御部１０７は、例えばＡＳＩＣなどの集積回路として構成されている。上記各部は、トランジスタやコンデンサなどの素子が集積配置されたハードロジック回路として構成されており、上記各部が有する後述の固有機能を実現するための回路が１つのチップ内に集約されている。なお、言うまでもないが、上記各部が個別に機能する構成に限られず、例えば、ＰＩＤ演算部１２４、ＰＷＭ生成部１２５、及び速度プロファイル生成部１２８が、各機能を実現する一つの回路で構成されていてもよい。
【００６７】
エッジ検出部１２１は、光学センサ３５で発生したエンコーダ信号ＥＮＣ１及びＥＮＣ２の信号のエッジ（立ち上がり）を検出するとともに、その検出タイミングで基準パルスを生成するものである。生成された基準パルスは、キャリッジ位置管理部１２２及びエンコーダ周期測定部１２３に出力される。また、エッジ検出部１２１は、２種類のエンコーダ信号ＥＮＣ１，ＥＮＣ２の位相差からキャリッジ３８の進行方向を求め、その方向をフラグとする方向フラグ信号をキャリッジ位置管理部１２２へ出力する。
【００６８】
キャリッジ位置管理部１２２は、エッジ検出部１２１から入力された方向フラグ信号に基づいてキャリッジ３８の走行方向を求める。また、このキャリッジ位置管理部１２２は、エッジ検出部１２１から入力された基準パルスのパルス数をカウントすることにより、そのカウント値とパルス幅とからキャリッジ３８の走行位置（待機位置からの走行距離）を求める。ここで求められたキャリッジ３８の走行位置や走行方向は、ＣＰＵ１０１による各種演算処理に用いられる。
【００６９】
エンコーダ周期測定部１２３は、キャリッジ３８の実際の移動速度を算出するものである。詳細には、エンコーダ周期測定部１２３は、図示しないクロック発信器によって与えられた一定時間内において、エッジ検出部１２１から出力された基準パルスのパルス数をカウントすることにより、そのカウント値、パルス幅及び上記一定時間に基づいてキャリッジ３８の移動速度を算出する。ここで算出された移動速度は、ＰＩＤ演算部１２４に出力される。
【００７０】
速度プロファイル生成部１２８は、キャリッジ３８の速度制御に用いられる速度プロファイルを生成する。この速度プロファイルは、変数ｓで定義された関数ｆ（ｓ）で表される。この関数ｆ（ｓ）の変数ｓにフィードバック指令が発せられた時刻ｔを代入した値ｆ（ｔ）は、キャリッジ３８の移動制御区間においてフィードバック指令が発せられる毎に測定されるキャリッジ３８の実速度Ｇ（ｔ）とその都度比較される目標速度Ｆ（ｔ）である。以下、説明の便宜上、移動制御開始直後の停止状態にあるキャリッジ３８を加速させる加速制御の区間Ｌ０１で用いられる速度プロファイルを関数ｆ０１（ｓ）と表記する。また、区間Ｌ１２、区間Ｌ２３、区間Ｌ３４、区間Ｌ４５、区間Ｌ５６それぞれの区間で用いられる速度プロファイルを、関数ｆ１２（ｓ）関数ｆ２３（ｓ）関数ｆ３４（ｓ）関数ｆ４５（ｓ）関数ｆ５６（ｓ）と表記する。
【００７１】
関数ｆ０１（ｓ）は、図７に示されるように、変数ｓに対してｔ０≦ｓ≦ｔ１の範囲で定義された連続で滑らかな関数である（図７の実線参照）。言い換えると、関数ｆ０１（ｓ）は、時刻ｔ０〜時刻ｔ１に対応する変数ｓの範囲ｔ０≦ｓ≦ｔ１において連続しており、時間の経過に伴い滑らかに変移している。このような関数ｆ０１（ｓ）としては、変数ｓに関して少なくとも２階微分が可能なものが考えられる。２階或いはそれ以上の複数階微分が可能な関数ｆ０１（ｓ）であれば、連続した滑らかな関数であると言える。この関数ｆ０１（ｓ）は、変数ｓ（ｔ０≦ｓ≦ｔ１）についての後述する関数ｈ０１（ｓ）（図７の破線参照）を所定のルールで変換することで得られる。なお、関数ｆ０１（ｓ）の詳細については後述する。
【００７２】
なお、本実施形態では、時刻ｔ１以降の区間（区間Ｌ１２以降の区間）における移動制御で用いられる速度プロファイルとしては、ｆ（ｓ）＝ｈ（ｓ）（但し、ｓ≧ｔ１）で表される関数が用いられる。関数ｈ（ｔ）は、図４に示される速度軌跡と概ね同様の曲線を描く。以下、説明の便宜上、区間Ｌ０１（時刻ｔ０〜時刻ｔ１）の範囲に対応する関数ｈ（ｔ）を、関数ｈ０１（ｓ）（ｔ０≦ｓ≦ｔ１）と表記する。この関数ｈ０１（ｓ）が、本発明の第２関数ｈ（ｓ）の一例である。また、同様に、区間Ｌ１２、区間Ｌ２３、区間Ｌ３４、区間Ｌ４５、区間Ｌ５６それぞれの区間に対応する関数ｈ（ｔ）を関数ｈ１２（ｓ）、関数ｈ２３（ｓ）、関数ｈ３４（ｓ）、関数ｈ４５（ｓ）、関数ｈ５６（ｓ）と表記する。上記関数ｈ０１（ｓ）は、従来の加速制御に用られる従来の速度プロファイル（図１１において符号２０１で示される曲線を参照）と概ね同様であって、原点（ｔ＝ｔ０、ｖ＝０）からスタートして、時間の経過とともに緩やかに徐々に大きくなり、定速制御の区間Ｌ１２において必要とする設定速度ｖ１に近づくにつれて再び緩やかに変移する。
【００７３】
ここで、区間Ｌ０１に対応する上述の関数ｈ０１（ｓ）について説明する。この関数ｈ０１（ｓ）は、図７に示されるように、少なくとも時刻ｔ０〜時刻ｔ１（ｔ０≦ｓ≦ｔ１）において連続しており、変数ｓの変化に伴って滑らかに変移している。この関数ｈ０１（ｓ）は、以下の手法で与えられる。なお、区間Ｌ０１以降の各区間に対応する関数ｈ１２（ｓ）、関数ｈ２３（ｓ）、関数ｈ３４（ｓ）、関数ｈ４５（ｓ）、関数ｈ５６（ｓ）についても、関数ｈ０１（ｓ）と同様の手法で算出することができるため、ここではその詳細な説明を省略する。
【００７４】
例えば、キャリッジ３８の制御目標値として、静止状態にある時刻ｔ０におけるキャリッジ３８の速度がｖ０（＝０）、その時点での加速度がα０に設定されていると仮定する。また、定速制御を開始する時刻ｔ１におけるキャリッジ３８の目標速度、つまり区間Ｌ１２で必要とする速度がｖ１、その時点での加速度がα１に設定されていると仮定する。これらの制御目標値は、装置の仕様などにより予め決定される要素であり、予めＣＰＵ１０１に与えられている情報である。速度ｖ０、加速度α０、速度ｖ１、加速度α１は、関数ｈ０１（ｓ）を用いて、下記式（１）のように表される。
【００７５】
【数５】
0005343379.tif 000004
【００７６】
ここで、関数ｈ０１（ｓ）が下記式（２）に示す３次多項式で与えられていると仮定する。なお、本実施形態では、関数ｈ０１（ｓ）を３次多項式として取り扱うが、これは単なる一例であって、例えば、時刻ｔ０やｔ１におけるキャリッジ３８の位置情報を考慮してさらに高次の多項式と仮定してもよい。この場合、式（１）に示される速度ｖ０、加速度α０、速度ｖ１、加速度α１に加えて、多項式の項数に応じた情報が必要であることは言うまでもない。また、関数ｈ０１（ｓ）を、２次多項式や、３次以上の多項式、三角関数、対数関数、指数関数、その他の連続で滑らかな関数、及びそれらの組み合わせと仮定してもかまわない。
【００７７】
【数６】
0005343379.tif 000005
【００７８】
上記式（１）に示される各制御目標値を上記式（２）に代入すると、速度ｖ０、加速度α０、速度ｖ１、加速度α１は、下記式（３）のように表すことができる。
【００７９】
【数７】
0005343379.tif 000006
【００８０】
上記式（３）に示される各式を未知数ａ，ｂ，ｃ，ｄについての４次連立方程式として解くことにより、未知数ａ，ｂ，ｃ，ｄが求められる。ここで求められたａ，ｂ，ｃ，ｄを上記式（２）に代入することによって、関数ｈ０１（ｓ）は、下記式（４）のように与えられる。
【００８１】
【数８】
0005343379.tif 000007
【００８２】
例えば、キャリッジ３８が静止状態にあるときに、「０．３秒後に４３ＩＰＳの速度まで加速し、その後は一定速度で運動せよ。」という内容の加速指令がＣＰＵ１０１から速度プロファイル生成部１２８に入力されると、速度プロファイル生成部１２８は、上記加速指令とともに入力された情報、つまり、ｔ０＝０、ｔ１＝０．３（Ｔ＝０．３）、ｖ０＝０、ｖ１＝４３[ＩＰＳ]、α１＝０を上記式（４）に代入することにより、下記式（５）で表される関数ｈ０１（ｓ）を近似式として算出する。なお、式（５）では、小数点２桁目以下が四捨五入されている。
【００８３】
【数９】
0005343379.tif 000008
【００８４】
このようにして算出された上記式（５）の関数ｈ０１（ｓ）は、変数ｓ（０≦ｓ≦０．３）の範囲において、原点（ｔ０＝０、ｈ０１（ｔ０）＝０）を通り、時間の経過とともに曲線状に変移して制御目標値であるｈ０１（０．３）＝４３[ＩＰＳ]に至る非線形を描く。
【００８５】
次に、関数ｆ０１（ｓ）（図７の実線参照）の生成手法について説明する。この関数ｆ０１（ｓ）は、変数ｓ（ｔ０≦ｓ≦ｔ１）についての関数である。上述したように、区間Ｌ０１における加速制御で用いられる速度プロファイルは、この関数ｆ０１（ｓ）で表される。
【００８６】
速度プロファイル生成部１２８は、加速指令が速度プロファイル生成部１２８に入力された際に算出された関数ｈ０１（ｓ）（例えば、式（５）で表される関数）に基づいて、ｓ＝ｔ０のときにｆ（ｓ）＝Ｆ（ｔ０）、ｓ＝ｔ１のときにｆ（ｓ）＝Ｆ（ｔ１）（＝ｖ１）となるように、定数Ｆ（ｔ０）及び定数Ｆ（ｔ１）を用いて関数ｆ０１（ｓ）（図７の実線参照）を生成する。ここで、定数Ｆ（ｔ０）は、時刻ｔ０の時点で用いられる目標速度として予め設定されたものである。この目標速度Ｆ（ｔ０）が、本発明の目標速度Ｆ（ｔ０）に相当する。また、定数Ｆ（ｔ１）は、時刻ｔ１の時点で用いられる目標速度として予め設定されたものである。この目標速度Ｆ（ｔ１）が、本発明の目標速度Ｆ（ｔ１）に相当する。本実施形態では、速度プロファイル生成部１２８では、下記の式（６）に基づいて関数ｈ０１（ｓ）を変換することにより関数ｆ０１（ｓ）が生成される。
【００８７】
【数１０】
0005343379.tif 000009
【００８８】
上記式（６）及び図７に示されるように、目標速度Ｆ（ｔ０）は、時刻ｔ０＝０おける速度軸（図７のｙ軸）と関数ｆ０１（ｓ）との交点（切片）におけるｆ１１（ｓ）の値である。特に、本実施形態では、目標速度Ｆ（ｔ０）は、０よりも大きく、且つ、制御目標値である時刻ｔ１における目標速度Ｆ（ｔ１）よりも小さい値に設定されている。したがって、上記式（６）によれば、関数ｆ０１（ｓ）は、関数ｈ０１（ｓ）が速度軸（ｙ軸）方向へ（Ｆ（ｔ１）−Ｆ（ｔ０））／Ｆ（ｔ１）（＜１）だけ圧縮され、時刻ｔ０＝０おける速度軸（ｙ軸）と関数ｆ０１（ｓ）との交点（切片）がＦ（ｔ０）（＞０）である関数と言える。
【００８９】
ここで、例えば、目標速度Ｆ（ｔ０）が３[ＩＰＳ]であると仮定する。この場合、速度プロファイル生成部１２８は、上記式（５）と、Ｆ（ｔ０）＝３[ＩＰＳ]と、Ｆ（ｔ１）＝４３[ＩＰＳ]とを上記式（６）に代入することにより、下記式（７）で表される関数ｆ０１（ｓ）を生成する。
【００９０】
【数１１】
0005343379.tif 000010
【００９１】
このように、加速制御の区間Ｌ０１において用いられる速度プロファイルとして、上式（６）に基づいて関数ｈ０１（ｓ）を変換するだけで関数ｆ０１（ｓ）が生成されるため、時刻ｔ０から時刻ｔ１までの区間Ｌ０１において、滑らかに連続する関数ｆ０１（ｓ）を、複雑な処理をすることなく容易に得ることができる。
【００９２】
速度プロファイル生成部１２８で生成された関数ｆ（ｓ）は、目標速度生成部１２９において、各区間において随時（例えばフィードバックループ時間Δｔごと）必要とされる目標速度Ｆ（ｔ）の生成処理に用いられる。区間Ｌ０１における目標速度Ｆ（ｔ）は関数ｆ０１（ｓ）に基づいて生成され、区間Ｌ０１を除く区間Ｌ１２における目標速度Ｆ（ｔ）は、上述の関数ｆ（ｓ）＝ｈ（ｓ）（但し、ｓ≧ｔ１）に基づいて生成される。
【００９３】
例えば、区間Ｌ０１における目標速度Ｆ（ｔ）は、ＣＰＵ１０１からのフィードバック指令が入力される毎にその時点におけるキャリッジ３８の目標速度Ｆ（ｔ）を上記式（６）に示される関数ｆ０１（ｓ）に基づいて生成する。仮に、フィードバックループ時間Δｔが０．０００１秒（１／１００００秒）であるとすると、フィードバック指令が０．０００１秒毎に発せられることになるから、「０．３秒後に４３ＩＰＳの速度まで加速し、その後は一定速度で運動せよ」といった内容の移動指令が入力された上述の例では、上記ループ時間Δｔ毎に｛ｓ＝０．０００１，０．０００２，０．０００３，・・・，０．２９９９，０．３０００｝が順番に式（７）の関数ｆ０１（ｓ）に入力される。そして、各時間毎にその時点での目標速度Ｆ（ｔ）が生成される。具体的には、或る時点において目標速度Ｆ（ｔ）が生成されるとその目標速度にしたがってＣＲモータ９６が駆動されるから、その駆動中に次の目標速度Ｆ（ｔ）が生成される。各ループ時間毎に生成された目標速度Ｆ（ｔ）は、生成される度にＰＩＤ演算部１２４に順次出力される。本実施形態では、目標速度Ｆ（ｔ）はＦ（ｔ）＝ｆ（ｔ）として定められる。
【００９４】
ＰＩＤ演算部１２４は、キャリッジ３８の速度制御のためのＰＩＤ制御の演算を行い、
ＰＷＭ生成部１２５に出力するための制御信号（以下「ＰＩＤ制御信号」と称する。）を生成する。具体的には、エンコーダ周期測定部１２３から入力された実速度Ｇ（ｔ）と目標速度生成部１２９から入力された目標速度Ｆ（ｔ）との速度差が算出される。そして、算出された速度差とＲＯＭ１０２に記憶されているＰＩＤ定数とに基づいてＰＩＤ制御のための各種演算や制御信号の生成が行われる。なお、生成されたＰＩＤ制御信号は、ＰＷＭ生成部１２５へ出力される。
【００９５】
ＰＷＭ生成部１２５は、ＰＩＤ演算部１２４からのＰＩＤ制御信号に応じたＰＷＭ（Pulse Width Modulation：パルス幅変調)信号を生成する。具体的には、ＰＷＭ生成部１２５では、上記ＰＩＤ制御信号に基づいて、所定のデューティ比（ＯＮ時間とＯＦＦ時間の比で、一定の周期に対するＯＮ時間の割合で表されたもの）が求められる。そして、このデューティ比を有するＰＷＭ信号が生成される。生成されたＰＷＭ信号は、ＣＲモータドライバ１１０に出力される。ＰＷＭ信号を受けたＣＲモータドライバ１１０は、ＣＲモータ９６に駆動電流を与えてＣＲモータ９６を回転させる。ＣＲモータ９６の回転駆動力は、ベルト駆動機構４６を介してキャリッジ３８に伝達される。これにより、キャリッジ３８が所定方向へ所定速度で移動する。
【００９６】
以下、図７の座標図、図８及び図９のフローチャートを参照しながら、キャリッジ３８を移動させる際に行われる移動制御の手順の一例について説明する。なお、以下の説明では、関数ｆ（ｓ）を用いて、変数ｓ＝ｔｋ（ｋ＝０，１，２，３，・・・）であるときのｆ（ｔｋ）が目標速度Ｆ（ｔｋ）として与えられる。つまり、目標速度Ｆ（ｔｋ）＝ｆ（ｔｋ）である。
【００９７】
外部のホストコンピュータなどから印刷データとともに画像記録指示がインターフェース１０８を介して複合機１に入力されると、主制御部１００のモータ制御部１０７及びＣＲモータドライバ１１０などによって、ＣＲモータ９６に対し、ＰＩＤ制御による駆動制御が実行される。これにより、停止状態にあるキャリッジ３８の移動制御が開始される。
【００９８】
まず、図８に示されるように、ステップＳ１では、ＣＰＵ１０１によって、当該移動制御に用いられるパラメータｋが初期値「０」に設定される。ここで、パラメータｋは、予め定められた時刻ｔｋを特定するためのものである。本実施形態では、パラメータｋは、「０」以上の整数としており、時刻ｔｋは、区間Ｌ０１〜Ｌ５６（図４参照）の各区間の起点又は終点を表す時刻に対応している。
【００９９】
ステップＳ２では、時刻ｔｋにおける目標速度Ｆ（ｔｋ）と、その時点における目標加速度αｋとが取得される。これらはいずれも、移動制御の指令を受けた際に入力される情報であり、予めＲＡＭ１０３に格納されている。したがって、ＲＡＭ１０３から時刻ｔｋに対応する目標速度Ｆ（ｔｋ）及び目標加速度αｋを読み出すことにより各情報を取得することができる。
【０１００】
ステップＳ３では、時刻ｔｋにおけるキャリッジ３８の実速度Ｇ（ｔｋ）が算出される。実速度Ｇ（ｔｋ）は、上述したように、エンコーダ周期測定部１２３において、エッジ検出部１２１から出力された基準パルスのパルス数をカウントし、そのカウント値やパルス幅に基づいて算出される。なお、キャリッジ３８の移動制御開始直後の時刻ｔ０の時点では、最初のフィードバック制御の指令がまだ出力されておらず、ＣＲモータ９６が駆動されていないので、キャリッジ３８は静止最大摩擦力によって停止状態にある。そのため、通常、時刻ｔ０における実速度Ｇ（ｔ０）は「０」である。
【０１０１】
ステップＳ４では、時刻ｔｋ＋１における目標速度Ｆ（ｔｋ＋１）と、その時点における目標加速度αｋ＋１とが取得される。これらはいずれも、移動制御の指令を受けた際に該指令とともに入力される情報であり、予めＲＡＭ１０３に格納されている。したがって、ＲＡＭ１０３から時刻ｔｋ＋１に対応する目標速度Ｆ（ｔｋ＋１）及び目標加速度αｋ＋１を読み出すことにより各情報を取得することができる。
【０１０２】
ステップＳ５では、関数ｈｋ ｋ＋１（ｓ）が生成される。例えば、パラメータｋ＝０（Ｓ１参照）に設定されている場合は、区間Ｌ０１に対応する関数ｈ０１（ｓ）が生成される。また、パラメータｋ＝１に設定されている場合は、区間Ｌ１２に対応する関数ｈ１２（ｓ）が生成される。かかる関数ｈｋ ｋ＋１（ｓ）の生成手法は、上述した関数ｈ０１（ｓ）の生成手法と同様であるため、ここではその説明を省略する。
【０１０３】
ステップＳ６では、時刻ｔｋにおける実速度Ｇ（ｔｋ）が０かどうかが判断される。かかる判断は、後述のステップＳ１１において目標速度Ｆ（ｔ）を取得する際に用いられる関数を特定するために行われる。なお、実速度Ｇ（ｔｋ）が実際に０である場合に限られず、実質的に速度が０であると評価できる場合にＧ（ｔｋ）＝０と判断してもかまわない。
【０１０４】
ステップＳ６において、実速度Ｇ（ｔｋ）が「０」であると判断されると（Ｓ６のＹｅｓ）、次のステップＳ７では、上述した関数ｆ０１（ｓ）の生成手法と同じ手法で以下の式（８）の関数が生成されて、時刻ｔｋ〜時刻ｔｋ＋１の範囲、つまり区間Ｌｋ ｋ＋１で用いられる関数ｆ（ｓ）＝ｆｋ ｋ＋１（ｓ）として設定される。本実施形態では、時刻ｔ０、時刻ｔ３では実速度が０であるため（図４参照）、各区間Ｌ０１、区間Ｌ３４で用いられる関数ｆ（ｓ）として、ｆ０１（ｓ）、ｆ３４（ｓ）が設定される。
【０１０５】
【数１２】
0005343379.tif 000011
【０１０６】
一方、実速度Ｇ（ｔｋ）が「０」ではないと判断されると（Ｓ６のＮｏ）、次のステップＳ８では、時刻ｔｋ〜時刻ｔｋ＋１の範囲、つまり区間Ｌｋ ｋ＋１で用いられる関数ｆ（ｓ）＝ｆｋ ｋ＋１（ｓ）として、ステップＳ５で生成された関数ｈｋ ｋ＋１（ｓ）が設定される。本実施形態では、時刻ｔ１、時刻ｔ２などでは実速度が「０」ではないため（図４参照）、各区間Ｌ１２、区間Ｌ２３で用いられる関数ｆ（ｓ）として、ｈ１２（ｓ）、ｈ２３（ｓ）が設定される。
【０１０７】
例えば、移動制御が開始された直後の時刻ｔ０の時点では、キャリッジ３８が停止状態にある。そのため、後述するステップＳ１１では、区間Ｌ０１で用いられる目標速度Ｆ（ｔ）は、上式（８）に示す関数に基づいて求められる。また、時刻ｔ３の時点でもキャリッジ３８の実速度Ｇ（ｔ３）、Ｇ（ｔ６）が「０」と判断されるため、後述するステップＳ１１では、区間Ｌ３４で用いられる目標速度Ｆ（ｔ）も、上式（８）に示す関数に基づいて求められる。一方、時刻ｔ１，ｔ２，ｔ４，ｔ５の時点では、キャリッジ３８の実速度Ｇ（ｔ）は「０」よりも大きい。そのため、後述するステップＳ１１では、区間Ｌ１２，Ｌ２３，Ｌ４５，Ｌ５６で用いられる目標速度Ｆ（ｔ）は、関数ｈｋ ｋ＋１（ｓ）に基づいて求められる。
【０１０８】
後述するステップＳ１１で用いられる関数が設定されると、図９に示されるように、次のステップＳ９では、ＣＰＵ１０１によって、当該移動制御に用いられるパラメータｊが初期値「０」に設定される。ここで、パラメータｊは、時刻ｔｋ〜時刻ｔｋ＋１の範囲、つまり区間Ｌｋ ｋ＋１において行われるフィードバック制御の回数をカウントするためのものである。本実施形態では、パラメータｊは、「０」以上の整数としている。
【０１０９】
ステップＳ１０では、目標速度Ｆ（ｔ）を取得するタイミング（時刻ｔ）が定められる。具体的には、区間Ｌｋ ｋ＋１において既に実行されたフィードバック制御の回数を示すパラメータｊとフィードバックループ時間Δｔとを乗じた値ｊΔｔを時刻ｔｋに加算した時刻ｔ＝ｔｋ＋ｊΔｔが求められる。例えば、移動制御が開始された直後に目標速度Ｆ（ｔ）を取得する場合は、パラメータｋ＝０であり、パラメータｊ＝０であるため、目標速度Ｆ（ｔ）を取得するタイミングとして、時刻ｔ＝ｔ０が定められる。
【０１１０】
次のステップＳ１１では、ステップＳ１０で定めた時刻ｔ（＝ｔｋ＋ｊΔｔ）における目標速度Ｆ（ｔ）がステップＳ８若しくはステップＳ９で設定した関数に基づいて取得される。つまり、目標速度Ｆ（ｔ）として、ｆ（ｔ）＝ｆ（ｔｋ＋ｊΔｔ）が求められる。
【０１１１】
ステップＳ１２では、上述したステップＳ３の算出手法と同様にして、時刻ｔ（＝ｔｋ＋ｊΔｔ）における実速度Ｇ（ｔ）（＝Ｇ（ｔｋ＋ｊΔｔ））が算出される。
【０１１２】
そして、ステップＳ１３では、ステップＳ１１で求められた目標速度Ｆ（ｔ）とステップＳ１２で算出された実速度Ｇ（ｔ）との差（速度差）Ｆ（ｔ）−Ｇ（ｔ）がＣＰＵ１０１によって算出される。本実施形態では、移動制御の開始直後の時刻ｔ０の時点では、まだＣＲモータ９６が駆動されておらず、キャリッジ３８は静止最大摩擦力によって停止状態にあるため、その実速度Ｇ（ｔ０）は「０」である。しかしながら、時刻ｔ０時点での目標速度Ｆ（ｔ０）は、０より大きい値に設定される。したがって、速度差として、Ｆ（ｔ０）−Ｇ（ｔ０）＝Ｆ（ｔ０）（＞０）が算出される。その後、速度差Ｆ（ｔ）−Ｇ（ｔ）に基づいてＰＩＤ制御信号が生成されて、上述したように、ＣＲモータ９６の駆動信号の生成、ＣＲモータ９６の駆動制御に用いられる。
【０１１３】
次に、ステップＳ１４において、パラメータｊがインクリメントされて、その後、ステップＳ１５において、時刻ｔ（＝ｔｋ＋（ｊ＋１）Δｔ）が時刻ｔｋ＋１と一致するかどうかが判断される。ステップＳ１５において時刻ｔｋ＋１と一致しないと判断された場合は（Ｓ１５のＮｏ）、ステップＳ１０以降の手順のループ処理が繰り返し行われる。一方、ステップＳ１５において時刻ｔｋ＋１と一致すると判断された場合は（Ｓ１５のＹｅｓ）、パラメータｋがインクリメントされる（Ｓ１６）。
【０１１４】
そして、次のステップＳ１７では、時刻ｔｋ＋１に基づいて、その後の移動が完了したかどうか、言い換えると、画像記録処理が終了したかどうかが判断される。ここで、移動がまだ完了していないと判断されると（Ｓ１７のＮｏ）、上述のステップＳ４以降の手順のループ処理が繰り返し行われる。一方、移動が完了したと判断されると（Ｓ１７のＹｅｓ）、キャリッジ３８を待機位置に戻した後に、キャリッジ３８に関する一連の移動制御が終了する。
【０１１５】
このように、上述の実施形態では、キャリッジ３８の移動制御開始直後の時刻ｔ０における目標速度Ｆ（ｔ０）＝ｆ０１（ｔ０）が、「０」よりも大きく且つ時刻ｔ１における目標速度Ｆ（ｔ１）＝ｆ０１（ｔ１）よりも小さい値であり、更に、加速制御が行われる区間Ｌ０１（時刻ｔ０から時刻ｔ１の区間）に渡って連続して滑らかな関数ｆ０１（ｓ）（式（６）、式（７）参照）で表された速度プロファイルが用いられる。そのため、加速制御の開始時の時刻ｔ０から加速制御が終了する時刻ｔ１までの区間Ｌ０１において、キャリッジ３８の実速度Ｇ（ｔ）が目標速度Ｆ（ｔ）に対して周期的に変動することが抑制される。これにより、キャリッジ３８を円滑に加速させることができ、しかも、区間Ｌ０１におけるＰＩＤ制御が安定する。また、時刻ｔ０に対応する目標速度Ｆ（ｔ０）が０より大きい値に設定されているため、加速制御初期においてキャリッジ３８に大きな駆動トルクを与えることができる。そのため、キャリッジ３８の動き出しを早めることができる。
【０１１６】
また、上述の実施形態では、複数の関数ではなく、１つの関数ｆ（ｓ）に基づいてＰＩＤ制御によるキャリッジ３８の移動制御が行われるため、モータ制御に要する演算処理が複雑にならず、簡素化される。これにより、全区間において、モータ制御を軽負荷で行うことができる。
【０１１７】
また、キャリッジ３８の実速度Ｇ（ｔ）が目標速度Ｆ（ｔ）に対して周期的に変動しないため、加速区間Ｌ０１におけるキャリッジ３８の助走距離を短くすることができる。そのため、プリンタ部２の幅をコンパクトにし、且つ、キャリッジ３８の往復移動時間の短縮による高速印刷を実現することが可能となる。なお、本発明は、スキャナ部３においてＣＩＳを支持するキャリッジの移動制御に適用することも可能である。この場合は、スキャナ部３の幅をコンパクトにし、且つ、当該キャリッジの往復移動時間の短縮による高速読取を実現することが可能となる。
【０１１８】
［変形例］
上述の実施形態では、速度プロファイル生成部１２８は、上記式（６）に示されるようにして関数ｈ０１（ｓ）を変換することにより関数ｆ０１（ｓ）を生成することとしたが、速度プロファイル生成部１２８において、定数ｕを用いて、以下の式（９）に基づいて関数ｈ０１（ｓ）を変換することにより、図１０に示される関数ｆ０１（ｓ）を生成するようにしてもよい。ここで、定数ｕは、ｈ０１（ｕ）＝Ｆ（ｔ０１）となるように定められたものである。
【０１１９】
【数１３】
0005343379.tif 000012
【０１２０】
式（９）によれば、関数ｆ０１（ｓ）は、関数ｈ０１（ｓ）が時間軸（横軸）方向へ定数ｕだけシフトされ、時刻ｔ０（＝０）における速度軸（縦軸）と関数ｆ０１（ｓ）との交点（切片）がｆ０１（ｔ０）＝Ｆ（ｔ０）＝ｈ０１（ｔ０＋ｕ）（＞０）である関数と言える。このように変換することにより、時刻ｔ０における目標速度Ｆ（ｔ０）が０より大きく、時刻ｔ１における目標速度Ｆ（ｔ１）に達するまで滑らかに連続する関数ｆ０１（ｓ）を、複雑な処理をすることなく、容易に生成することができる。
【０１２１】
なお、本発明は、インクジェット記録方式の画像記録装置に限らず、感熱式で画像を記録する、所謂、サーマルプリンタにおいて記録用紙を搬送するための搬送ローラや、ＡＤＦと称される自動原稿送り装置において原稿を画像読取位置へ向けて搬送するための搬送ローラなどを加速制御する場合にも、適用することが可能である。もちろん、これらの被駆動体に限られず、モータの駆動対象である様々な被駆動体を移動制御する場合に、本発明を適用することができる。
【図面の簡単な説明】
【０１２２】
【図１】図１は、複合機１の外観構成を示す斜視図である。
【図２】図２は、プリンタ部２の主要構成を示す部分拡大断面図である。
【図３】図３は、プリンタ部２の主要構成を示す平面図であり、主としてプリンタ部２の略中央から装置背面側の構成が示されている。
【図４】図４は、キャリッジ３８の理想的な速度軌跡を示す図である。
【図５】図５は、プリンタ部２の主制御部１００の主要構成を示すブロック図である。
【図６】図６は、モータ制御部１０７の構成を詳細に示すブロック図である。
【図７】図７は、加速制御区間Ｌ０１で用いられる速度プロファイルを特定するための関数ｆ０１（ｓ）を示す座標図である。
【図８】図８は、キャリッジ３８の加速制御の手順の一例を示すフローチャートである。
【図９】図９は、キャリッジ３８の加速制御の手順の一例を示すフローチャートである。
【図１０】図１０は、加速制御区間Ｌ０１で用いられる速度プロファイルを特定するための関数ｆ０１（ｓ）の変形例を示す座標図である。
【図１１】図１１は、従来のフィードバック制御に用られる速度プロファイル２０１を示す座標図である。
【図１２】図１２は、従来のモータ駆動制御装置において採用されている速度プロファイル２０４を示す図である。
【符号の説明】
【０１２３】
１・・・複合機
２・・・プリンタ部
３５・・・光学センサ
３８・・・キャリッジ（被駆動体）
５０・・・エンコーダストリップ
９５・・・ＬＦモータ
９６・・・ＣＲモータ（電動機）
１００・・・主制御部（駆動制御装置）
１０１・・・ＣＰＵ
１０２・・・ＲＯＭ
１０３・・・ＲＡＭ
１０４・・・ＥＥＰＲＯＭ
１０７・・・モータ制御部（制御部）
１１０・・・ＣＲモータドライバ
１１１・・・ＬＦモータドライバ
１１３・・・ヘッド駆動回路
１２１・・・エッジ検出部
１２２・・・キャリッジ位置管理部
１２３・・・エンコーダ周期測定部
１２４・・・ＰＩＤ演算部
１２５・・・ＰＷＭ生成部
１２６・・・制御信号生成部
１２８・・・プロファイル生成部（関数生成手段）
【図１】
0005343379.tif 000015
【図２】
0005343379.tif 000016
【図３】
0005343379.tif 000017
【図４】
0005343379.tif 000018
【図５】
0005343379.tif 000019
【図６】
0005343379.tif 000020
【図７】
0005343379.tif 000021
【図８】
0005343379.tif 000022
【図９】
0005343379.tif 000023
【図１０】
0005343379.tif 000024
【図１１】
0005343379.tif 000025
【図１２】
0005343379.tif 000026