(57)【要約】  【課題】  モータの駆動対象の振動を抑制しつつ目標速度に短時間で到達させる。  【解決手段】  演算タイミング毎に、前回出力操作量生成部７５が生成した出力操作量Ｕ［ｎ−１］に対する、今回ＦＢ制御器７４が演算した制御器演算操作量Ｕ’［ｎ］の増減値ΔＭｕ［ｎ］を演算する。駆動開始からの経過時間に応じて初期区間、中間区間、到達区間に分けられ、区間毎に操作量増減値の制限値Ｍが設定されている。補正値演算部８２は、増減値ΔＭｕが制限値Ｍ［ｍ］を超えていた場合にその超過分を累積加算して補正値Ｆ［ｎ］を演算する。第２増減値演算部８４は、中間区間で、増減値ΔＭｕ［ｎ］に前回迄の補正値Ｆ［ｎ−１］を加算して（制限値Ｍ［ｍ］を超えないよう）、これを出力操作量増減値ΔＭｎ［ｎ］とし、出力操作量生成部７５は、前回の出力操作量Ｕ［ｎ］にこの出力操作量増減値ΔＭｎ［ｎ］を加算して今回の出力操作量Ｕ［ｎ］を生成する。【選択図】図４
2009207340.tif 000002
【特許請求の範囲】
【請求項１】
駆動対象を駆動させるモータを制御するために該モータへ実際に与える操作量である実操作量を、所定の演算タイミング毎に、前回の前記演算タイミングでの実操作量からの変化量が所定の閾値を超えないように生成する操作量生成方法であって、
前記駆動対象に対して設定される目標速度に応じて前記モータを制御するための操作量を演算し、該演算された操作量を仮操作量とし、
該仮操作量の、前回の前記演算タイミングで生成された前記実操作量に対する変化量を仮変化量として、該仮変化量と前記閾値とを比較し、該仮変化量が該閾値を超えた過剰状態の場合、該比較結果に基づき、予め設定された規則に従って補正値を生成し、
前記比較において前記仮変化量が前記閾値以上であった場合は、前回の前記演算タイミングで生成された前記実操作量に前記閾値を加えることにより前記実操作量を生成し、
前記比較において前記仮変化量が前記閾値未満の余裕状態であった場合は、前記仮変化量に対し、前記閾値を超えない範囲内で、前回の前記演算タイミング迄に生成された前記補正値の一部又は全てを加算することにより、新たな変化量を演算して、前回の前記演算タイミングで生成された前記実操作量に該新たな変化量を加えることにより、前記実操作量を生成する
ことを特徴とする操作量生成方法。
【請求項２】
請求項１記載の操作量生成方法であって、
前記補正値の生成は、前記比較において前記仮変化量が前記閾値を超えた過剰状態であった場合に、該閾値に対する該仮変化量の超過分に基づいて行う
ことを特徴とする操作量生成方法。
【請求項３】
請求項１又は２記載の操作量生成方法であって、
前記比較において前記仮変化量が前記閾値未満の余裕状態であったことにより前記新たな変化量の演算を行った場合、該演算の際に前記仮変化量に対して加算した加算分を、前回の前記演算タイミング迄に生成された前記補正値から減算することにより、該補正値を更新する
ことを特徴とする操作量生成方法。
【請求項４】
モータにより駆動される駆動対象と、
前記駆動対象に対して設定される目標速度に応じて、前記モータを制御するための第１の操作量を所定の演算タイミングで生成する第１の操作量生成手段と、
前記第１の操作量に基づいて生成された第２の操作量に基づいて前記モータを駆動するモータ駆動手段と、
前記第１の操作量の、前回の前記演算タイミングで生成された前記第２の操作量からの変化量である第１の変化量を演算する第１の変化量演算手段と、
前記第１の変化量と所定の閾値とを比較する比較手段と、
前記比較手段による比較の結果、前記第１の変化量が前記閾値を超えていた場合に、該比較結果に基づき、予め設定された規則に従って補正値を生成する補正値生成手段と、
前記補正値が記憶される記憶手段と、
前記比較手段による比較において前記第１の変化量が前記閾値未満であった場合に、前記第１の変化量に対し、前記閾値を超えない範囲内で、前回の前記演算タイミング迄に前記記憶手段に記憶された前記補正値の一部又は全てを加算することにより、第２の変化量を演算する第２の変化量演算手段と、
前記比較手段による比較において前記第１の変化量が前記閾値以上であった場合、前回の前記演算タイミングで生成された前記第２の操作量に前記閾値を加えることにより前記第２の操作量を生成し、前記比較手段による比較において前記第１の変化量が前記閾値未満であった場合、前回の前記演算タイミングで生成された前記第２の操作量に前記第２の変化量を加えることにより前記第２の操作量を生成する、第２の操作量生成手段と、
を備えたことを特徴とするモータ制御装置。
【請求項５】
請求項４記載のモータ制御装置であって、
前記補正値生成手段は、前記閾値に対する前記第１の変化量の超過分に基づいて、前記補正値を生成する
ことを特徴とするモータ制御装置。
【請求項６】
請求項５記載のモータ制御装置であって、
前記補正値生成手段は、前記比較手段による比較の結果、前記第１の変化量が前記閾値を超える毎に、前記超過分を累積して加算し、該加算結果、又は該加算結果に応じた値を、前記補正値として生成する
ことを特徴とするモータ制御装置。
【請求項７】
請求項４〜６いずれかに記載のモータ制御装置であって、
前記補正値生成手段は、前記第２の操作量生成手段によって、前回の前記演算タイミングで生成された前記第２の操作量に前記第２の変化量を加えることにより前記第２の操作量が生成されたときは、前記第２の変化量演算手段による該第２の変化量の演算の際に前記第１の変化量に対して加算された加算分を、前回の前記演算タイミング迄に前記記憶手段に記憶された補正値から減算することにより、新たな補正値を生成する
ことを特徴とするモータ制御装置。
【請求項８】
請求項４〜７いずれかに記載のモータ制御装置であって、
前記第２の変化量演算手段は、
前回の前記演算タイミングまでに前記記憶手段に記憶された前記補正値が、前記閾値に対する前記第１の変化量の余裕分以下である場合は、該第１の変化量に該補正値を加えることにより前記第２の変化量を演算し、前回の前記演算タイミングまでに前記記憶手段に記憶された前記補正値が前記余裕分を超えている場合は、前記第１の変化量に前記閾値を加えることにより前記第２の変化量を演算する
ことを特徴とするモータ制御装置。
【請求項９】
請求項４〜８いずれかに記載のモータ制御装置であって、
前記駆動対象が停止状態から所定の目標到達速度に到達するまでの駆動区間における所定の区間が補正適用区間として設定されており、
前記第２の変化量演算手段は、前記補正適用区間において前記第２の変化量の演算を行うよう構成されており、
前記第２の操作量生成手段は、前記駆動区間のうち前記補正適用区間を除く区間では、前記第１の変化量が前記閾値未満の場合は、前回の前記演算タイミングで生成された前記第２の操作量に該第１の変化量を加えることにより前記第２の操作量を生成し、前記第１の変化量が前記閾値以上の場合は、前回の前記演算タイミングで生成された前記第２の操作量に前記閾値を加えることにより前記第２の操作量を生成する
ことを特徴とするモータ制御装置。
【請求項１０】
請求項９記載のモータ制御装置であって、
前記駆動区間は、少なくとも、駆動開始後の初期区間、前記目標到達速度に到達する直前の到達区間、前記初期区間が終了してから前記到達区間に入るまでの間の中間区間、の３つの区間に分けられ、該区間毎に前記閾値が設定されており、
前記補正適用区間は、前記初期区間及び前記中間区間の少なくとも何れか一方の区間である
ことを特徴とするモータ制御装置。
【請求項１１】
請求項１０記載のモータ制御装置であって、
前記補正適用区間は前記中間区間であり、
前記中間区間の前記閾値は前記初期区間の前記閾値よりも大きい値に設定されている
ことを特徴とするモータ制御装置。
【請求項１２】
請求項１０又は１１記載のモータ制御装置であって、
前記中間区間はさらに、複数の区間に分けられていると共に、該複数の区間毎に、前記駆動開始からの経過時間に応じて段階的に大きい値になるよう前記閾値が設定されている
ことを特徴とするモータ制御装置。
【請求項１３】
請求項１０〜１２いずれかに記載のモータ制御装置であって、
前記補正値生成手段は、前記初期区間において前記補正値の生成を行う
ことを特徴とするモータ制御装置。
【請求項１４】
請求項４〜１３いずれかに記載のモータ制御装置と、
被記録媒体を所定の搬送路に沿って搬送する搬送手段と、
前記モータにより駆動される前記駆動対象としてのキャリッジに搭載され、該モータにより該キャリッジと共に前記被記録媒体の搬送方向と直交する方向へ移動されつつ、該被記録媒体へインク滴を吐出して該被記録媒体上への画像形成を行う記録ヘッドと、
を備えたことを特徴とする画像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、モータを制御するための操作量を生成する操作量生成方法、モータ制御装置、及び、そのモータ制御装置を用いて記録ヘッドを搭載したキャリッジを駆動しつつ被記録媒体への画像形成を行う画像処理装置に関する。
【背景技術】
【０００２】
従来より、記録ヘッドのノズルから被記録媒体へインク液滴を吐出して画像の形成を行う画像処理装置が知られている。この種の画像処理装置では、記録ヘッドが搭載されたキャリッジが主走査方向に一定速度で移動されつつ、記録ヘッドが動作して対向する被記録媒体へインク液滴が吐出されることにより、被記録媒体上に画像が形成される。キャリッジの駆動源としては、一般にモータが用いられ、モータの駆動力によってキャリッジが一定速度で主走査方向に移動する。
【０００３】
このように構成された画像処理装置では、画像形成の速度向上や装置の小型化のために、画像形成（モータによるキャリッジ駆動）の際、停止状態のキャリッジを短時間で上記一定速度に到達させることが要求される。これを実現すべく、キャリッジ駆動時の加速度は増加する傾向にある。
【０００４】
しかし、キャリッジを短時間で一定速度に到達させるために高加速度でキャリッジの駆動を行うと、駆動開始時の衝撃によってキャリッジが振動し、この振動によって記録ヘッドから被記録媒体へのインク液滴の着弾位置が乱れ、画質が低下するおそれが高くなる。
【０００５】
即ち、モータによるキャリッジの駆動は、一般に、目標位置とキャリッジの実際の速度とを比較してキャリッジの速度が目標速度に一致するよう、モータに対する操作量をフィードバック制御器により演算し、その操作量に応じてモータを駆動することにより行われる。このようにしてモータが制御される場合、キャリッジの駆動開始時は、停止状態のキャリッジを迅速に加速させるべく、演算される操作量は大きな値となる。一方、キャリッジの速度がある程度上昇していくと、モータに対する操作量は小さくなり、これにより加速度も急減する。このように、キャリッジの駆動開始直後はモータに対する操作量が大きく変動して速度変動が大きくなるため、キャリッジが振動するのである。
【０００６】
これに対し、特許文献１には、キャリッジ加速時の振動を抑制するための制御方法が開示されている。この特許文献１に開示されている制御方法は、まず、駆動開始時から所定の目標速度に到達するまでの経過時間を複数の区間に分け、各区間毎に、操作量の増減値（差分）の制限値を設ける。つまり、演算タイミング毎にモータ側へ出力される操作量が大きく変動しないよう、操作量の増減値に制限を設ける。さらに、駆動開始直後の区間及び目標速度到達直前の区間の制限値を、他の区間の制限値よりも低い値に設定する。
【０００７】
このようにモータを制御することで、キャリッジの速度が停止状態からＳ字カーブで滑らかに上昇するため、加速時のキャリッジの振動が抑制され、被記録媒体上へのインク液滴の着弾位置精度が向上して高画質化を図ることができるようになる。
【特許文献１】特開２００７−１０６０８８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかしながら、特許文献１に開示された方法では、キャリッジの振動を抑制することは可能であるものの、フィードバック制御器により演算された操作量（即ち、モータに実際に与えたい操作量）に制限がかけられるため、モータに対しては、実際に与えたい操作量以下の値の操作量しか出力されないことになる。そのため、目標速度に到達するまでの加速時間が必然的に長くなってしまう。
【０００９】
本発明は上記課題に鑑みなされたものであり、モータを制御するにあたり、駆動対象の振動を抑制しつつ、駆動対象を目標とする速度に短時間で到達させることができるようにすることを目的とする。
【課題を解決するための手段】
【００１０】
上記課題を解決するためになされた請求項１記載の発明は、駆動対象を駆動させるモータを制御するために該モータへ実際に与える操作量である実操作量を、所定の演算タイミング毎に、前回の演算タイミングでの実操作量からの変化量が所定の閾値を超えないように生成する操作量生成方法である。
【００１１】
本発明の方法では、駆動対象に対して設定される目標速度に応じてモータを制御するための操作量を演算し、その演算された操作量を仮操作量とし、その仮操作量の、前回の演算タイミングで生成された実操作量に対する変化量を仮変化量として、仮変化量と閾値とを比較し、仮変化量が閾値を超えた過剰状態の場合、その比較結果に基づき、予め設定された規則に従って補正値を生成する。
【００１２】
そして、上記比較（仮変化量と閾値との比較）において仮変化量が閾値以上であった場合は、前回の演算タイミングで生成された実操作量に閾値を加えることにより実操作量を生成する。また、上記比較において仮変化量が閾値未満の余裕状態であった場合は、仮変化量に対し、閾値を超えない範囲内で、前回の演算タイミング迄に生成された補正値の一部又は全てを加算することにより、新たな変化量を演算して、前回の演算タイミングで生成された実操作量にその新たな変化量を加えることにより、実操作量を生成する。
【００１３】
この操作量生成方法によれば、生成される実操作量に対し、前回の実操作量からの変化量が閾値を超えないよう、制限がかけられているため、駆動対象の振動が抑制される。
しかも、単に実操作量の変化量に制限が設けられているだけではなく、演算タイミング毎に、仮変化量と閾値とを比較して、仮変化量が閾値を超えた過剰状態であった場合は、その比較結果に基づいて補正値を生成しておく。そして、仮変化量が閾値未満の余裕状態であった場合における実操作量の生成の際は、前回の実操作量に対して単に仮変化量を加えるのではなく、仮変化量に対して更に補正値の一部又は全てを加算して（但し加算後の値が閾値を超えない範囲内で）その加算結果を新たな変化量とする。そして、その新たな変化量を前回の実操作量に加算することで、実操作量を生成する。
【００１４】
つまり、仮変化量が閾値を超えていた場合に補正値を生成しておいて、仮変化量に余裕があるときは、前回までに生成された補正値をその余裕の範囲内で仮変化量に上乗せすることで、より大きな実操作量を生成するのである。
【００１５】
そのため、駆動対象の加速時間の超過を防ぐことができ、駆動対象を目標とする速度に短時間で到達させることができる。つまり、駆動対象の振動の抑制と加速時間の短縮とが両立して実現されるのである。
【００１６】
補正値の生成は、仮変化量が閾値を超えた場合に仮変化量と閾値との比較結果に基づいて予め設定された規則に従い行うが、具体的にどのような規則で補正値を生成するかは種々考えられる。
【００１７】
例えば、演算タイミング毎に閾値を超えた回数を計数し、その計数値に基づいて（例えば所定の係数を乗じる等）補正量を生成してもよいし、また例えば、請求項２に記載のように、閾値に対する仮変化量の超過分に基づいて行うようにしてもよい。その場合、より具体的な例としては、演算タイミング毎に、仮変化量が閾値を超えていた場合にその超過分を累積加算するようにし、その累積加算値をそのまま、或いはその累積加算値に所定の係数を乗じたものを、補正値として生成することができる。
【００１８】
このように、超過分に基づいて補正値を生成するようにすれば、閾値によって制限された量に応じた適切な補正値を生成することができる。
請求項３記載の発明は、請求項１又は２記載の操作量生成方法であって、上記比較において仮変化量が閾値未満の余裕状態であったことにより新たな変化量の演算を行った場合、その演算の際に仮変化量に対して加算した加算分を、前回の演算タイミング迄に生成された補正値から減算することにより、補正値を更新する。
【００１９】
即ち、仮変化量に余裕があって補正値の一部又は全てをその仮変化量に上乗せして実操作量を生成したときは、それまでに生成した補正値のうち、その上乗せした分を減じるのである。これにより、生成された補正値のうち実操作量に使用された分（上乗せされた分）は差し引かれていくため、生成された補正値がより適切に実操作量に反映され、より適切なモータの制御が可能となる。
【００２０】
次に、請求項４記載の発明は、モータ制御装置であって、モータにより駆動される駆動対象と、駆動対象に対して設定される目標速度に応じて、モータを制御するための第１の操作量を所定の演算タイミングで生成する第１の操作量生成手段と、第１の操作量に基づいて生成された第２の操作量に基づいてモータを駆動するモータ駆動手段と、第１の操作量の、前回の演算タイミングで生成された第２の操作量からの変化量である第１の変化量を演算する第１の変化量演算手段と、第１の変化量と所定の閾値とを比較する比較手段と、比較手段による比較の結果、第１の変化量が閾値を超えていた場合に、該比較結果に基づき、予め設定された規則に従って補正値を生成する補正値生成手段と、補正値が記憶される記憶手段と、比較手段による比較において第１の変化量が閾値未満であった場合に、第１の変化量に対し、閾値を超えない範囲内で、前回の演算タイミング迄に記憶手段に記憶された補正値の一部又は全てを加算することにより、第２の変化量を演算する第２の変化量演算手段とを備える。
【００２１】
そして、第２の操作量生成手段が、比較手段による比較において第１の変化量が閾値以上であった場合、前回の演算タイミングで生成された第２の操作量に閾値を加えることにより第２の操作量を生成し、比較手段による比較において第１の変化量が閾値未満であった場合は、前回の演算タイミングで生成された第２の操作量に第２の変化量を加えることにより第２の操作量を生成する。
【００２２】
このように構成された請求項１記載のモータ制御装置によれば、モータに実際に与えられる第２の操作量が、前回の演算タイミングで生成された値からの変化量が閾値を超えないよう、その変化量に制限が設けられているため、駆動対象の振動が抑制される。
【００２３】
しかも、単に変化量の制限が設けられているだけではなく、演算タイミング毎に、前回生成された第２の操作量に対する今回生成された第１の操作量の変化量（第１の変化量）と閾値とを比較して、第１の変化量が閾値を超えていた場合は、その比較結果に基づいて補正値を生成しておく。そして、第１の変化量が閾値未満の場合は、前回生成された第２の操作量に対して単に第１の変化量を加えて第２の操作量を生成するのではなく、第１の変化量に対して更に、補正値の一部又は全てを加算して（但し加算後の値が閾値を超えない範囲内で）その加算結果を第２の変化量とし、その第２の変化量を前回の第２の操作量に加算することで、今回の第２の操作量を生成する。
【００２４】
つまり、第１の変化量が閾値を超えていた場合には補正値を生成しておくようにし、第１の変化量に余裕があるときは、前回までに生成された補正値をその余裕の範囲内で第１の変化量に上乗せすることで、より大きな第２の操作量を生成するのである。
【００２５】
そのため、駆動対象の加速時間の超過を防ぐことができ、駆動対象を目標とする速度に短時間で到達させることができる。つまり、駆動対象の振動の抑制と加速時間の短縮とが両立して実現されるのである。
【００２６】
請求項５記載の発明は、請求項４記載のモータ制御装置であって、補正値生成手段は、閾値に対する第１の変化量の超過分に基づいて、補正値を生成する。
このように構成された請求項５記載のモータ制御装置によれば、請求項２記載の方法が実現され、超過分に基づいて補正値を生成するようにすることで閾値によって制限された量に応じた適切な補正値を生成することが可能となる。
【００２７】
請求項６記載の発明は、請求項５記載のモータ制御装置であって、補正値生成手段は、比較手段による比較の結果、第１の変化量が閾値を超える毎に、超過分を累積して加算し、該加算結果、又は該加算結果に応じた値を、補正値として生成する。
【００２８】
このように構成された請求項６記載のモータ制御装置によれば、第１の変化量が閾値を超える毎にその超過分を補正値として反映させることができ、第２の変化量演算手段は、前回の演算タイミングまでに演算（累積加算）された超過分に応じた適切な第２の変化量を得ることができる。
【００２９】
請求項７記載の発明は、請求項４〜６いずれかに記載のモータ制御装置であって、補正値生成手段は、第２の操作量生成手段によって、前回の演算タイミングで生成された第２の操作量に第２の変化量を加えることにより第２の操作量が生成されたときは、第２の変化量演算手段による該第２の変化量の演算の際に第１の変化量に対して加算された加算分を、前回の演算タイミング迄に記憶手段に記憶された補正値から減算することにより、新たな補正値を生成する。
【００３０】
このように構成された請求項７記載のモータ制御装置によれば、請求項３記載の方法が実現される。即ち、第１の変化量に余裕があった場合に補正値の一部又は全てを第１の変化量に上乗せして第２の変化量を生成し、その第２の変化量を用いて第２の操作量を生成したときは、前回の演算タイミングまでに生成した補正値のうち、その上乗せした分を減じて、その減じた後の新たな補正値を記憶手段に記憶するのである。これにより、生成された補正値のうち第２の操作量として使用された分（上乗せされた分）は差し引かれていくため、生成された補正値がより適切に第２の操作量に反映され、より適切なモータの制御が可能となる。
【００３１】
請求項８記載の発明は、請求項４〜７いずれかに記載のモータ制御装置であって、第２の変化量演算手段は、前回の演算タイミングまでに記憶手段に記憶された補正値が、閾値に対する第１の変化量の余裕分以下である場合は、該第１の変化量に該補正値を加えることにより第２の変化量を演算し、前回の演算タイミングまでに記憶手段に記憶された補正値が余裕分を超えている場合は、第１の変化量に閾値を加えることにより第２の変化量を演算する。
【００３２】
このように構成された請求項８記載のモータ制御装置によれば、第１の変化量に余裕がある場合（閾値未満の場合）に、その余裕分を最大限に生かして第２の変化量を生成し、それを第２の操作量として反映させることができるため、駆動対象の振動の抑制と加速時間の短縮との両立がより効率的に実現される。
【００３３】
請求項９記載の発明は、請求項４〜８いずれかに記載のモータ制御装置であって、駆動対象が停止状態から所定の目標到達速度に到達するまでの駆動区間における所定の区間が補正適用区間として設定されており、第２の変化量演算手段は、補正適用区間において第２の変化量の演算を行うよう構成されている。そして、第２の操作量生成手段は、駆動区間のうち補正適用区間を除く区間では、第１の変化量が閾値未満の場合は、前回の演算タイミングで生成された第２の操作量に第１の変化量を加えることにより第２の操作量を生成し、第１の変化量が閾値以上の場合は、前回の演算タイミングで生成された第２の操作量に閾値を加えることにより第２の操作量を生成する。
【００３４】
このように構成された請求項９記載のモータ制御装置によれば、駆動区間における所望の区間を補正適用区間として、その補正適用区間において、補正値が上乗せされた第２の変化量に基づく第２の操作量の生成を行うようにすることができるため、駆動対象の振動の抑制と加速時間の短縮とが両立して実現されるという効果に加え、駆動対象の種類や特性等に応じた効率的なモータ制御を行うことができる。
【００３５】
請求項１０記載の発明は、請求項９記載のモータ制御装置であって、駆動区間は、少なくとも、駆動開始後の初期区間、目標到達速度に到達する直前の到達区間、初期区間が終了してから到達区間に入るまでの間の中間区間、の３つの区間に分けられ、区間毎に閾値が設定されている。そして、補正適用区間は、初期区間及び中間区間の少なくとも何れか一方の区間である。
【００３６】
即ち、例えば駆動対象を停止状態から目標到達速度まで加速させ、その後その目標到達速度にて定速駆動させる場合、目標到達速度に到達する直前の到達区間では、通常、モータに対して大きな出力操作量を与える必要性は少ない。そのため、到達区間においては第２の変化量に基づく第２の操作量の生成は行わないようにするのである。
【００３７】
このように構成された請求項１０記載のモータ制御装置によれば、第２の変化量に基づく第２の操作量の生成がより有効な区間（初期区間及び中間区間の少なくとも何れか一方）で行われるため、モータの制御をより効率的に行うことが可能となる。
【００３８】
請求項１１記載の発明は、請求項１０記載のモータ制御装置であって、補正適用区間は中間区間であり、中間区間の閾値は初期区間の閾値よりも大きい値に設定されている。
即ち、初期区間は一般に、停止状態の駆動対象を動かす必要性から操作量が急激に増加する可能性が高いため、駆動対象への衝撃を緩和すべく、閾値を低めに設定するのが好ましい。これに対して中間区間では、駆動対象はすでにある程度の速度で動いており、初期区間よりは操作量の変化量が大きくても振動発生等の悪影響を及ぼすおそれは少ないため、初期区間よりも大きめの閾値を設定してもよい。
【００３９】
そして、初期区間の閾値よりも中間区間の閾値の方が大きい値に設定されている場合は、初期区間では一般に第１の変化量自体がすでに閾値（初期区間の閾値）を超えてしまう可能性が高いものの、中間区間では、第１の変化量が閾値（中間区間の閾値）未満に収まる可能性が比較的高い。そのため、このように閾値に対して比較的余裕の生じる可能性の高い中間区間において、第２の変化量に基づく第２の操作量の生成を行うようにすれば、モータの制御をさらに効率的に行うことが可能となる。
【００４０】
また、請求項１０又は１１記載のモータ制御装置において、中間区間は、請求項１２記載のように、更に複数の区間に分けられると共に、該複数の区間毎に、駆動開始からの経過時間に応じて段階的に大きい値になるよう閾値が設定されたものとしてもよい。
【００４１】
請求項１３記載の発明は、請求項１０〜１２いずれかに記載のモータ制御装置であって、補正値生成手段は、初期区間において補正値の生成を行う。
上述したように、初期区間は、他の中間区間、到達区間と比較すると、第１の変化量が閾値を超える可能性が高く、その反面、中間区間は初期区間と比較すると第１の変化量はそれほど大きくなく閾値未満となる可能性も高い。そこで、補正値の演算を初期区間において行うようにすれば、補正値の演算を必要十分に行うことができ、モータ制御の効率化をより高めることが可能となる。
【００４２】
請求項１４記載の発明は、請求項４〜１３いずれかに記載のモータ制御装置と、被記録媒体を所定の搬送路に沿って搬送する搬送手段と、モータにより駆動される駆動対象としてのキャリッジに搭載され、該モータにより該キャリッジと共に被記録媒体の搬送方向と直交する方向（主走査方向）へ移動されつつ、該被記録媒体へインク滴を吐出して該被記録媒体上への画像形成を行う記録ヘッドと、を備えたことを特徴とする画像処理装置である。
【００４３】
このように、請求項４〜１３いずれかに記載のモータ制御装置を、画像処理装置におけるキャリッジの駆動に用いることで、画像形成時におけるキャリッジの振動を抑制することができると共に、その加速時間を短縮することも可能となる。これにより、被記録媒体に形成される画像の高画質化と、画像処理装置の小型化が実現される。
【発明を実施するための最良の形態】
【００４４】
以下に、本発明の好適な実施形態を図面に基づいて説明する。
［第１実施形態］
（１）多機能装置の構成
図１は、本実施形態の多機能装置（ＭＦＤ：Ｍｕｌｔｉ  Ｆｕｎｃｔｉｏｎ  Ｄｅｖｉｃｅ）１の概略構成を表す断面図であり、図２は、多機能装置１における画像形成機構の概略構成を表す説明図であり、図３は、多機能装置１の電気的構成を表すブロック図である。この多機能装置１は、プリンタ機能、コピー機能、スキャナ機能及びファクシミリ機能を有したものである。
【００４５】
図１に示すように、本実施形態の多機能装置１は、複数枚の用紙Ｐが積層された給紙トレイ３と、給紙トレイ３に収容された用紙Ｐを一枚ずつ分離して搬送路に送出する給紙ユニット１０と、給紙ユニット１０を構成する給紙ローラ１１の回転により搬送路に送出された用紙Ｐを対向配置されたピンチローラ２２と共に挟持し、回転動作によって用紙Ｐを記録ヘッド３０下の記録位置に搬送する搬送ローラ２１と、搬送ローラ２１から搬送されてきた用紙Ｐを、対向配置されたピンチローラ４２と共に挟持し、回転動作によって用紙Ｐを搬送路下流の排紙トレイ（図示略）に排出する排紙ローラ４１と、用紙Ｐの搬送路を構成する土手部５１及びＵターンパス５３及びプラテン５５と、を備える。
【００４６】
給紙ユニット１０は、直流モータで構成される給紙モータ１３の駆動力を受けて給紙ローラ１１を回転させる構成にされており、給紙ローラ１１を、給紙トレイ３に載置された用紙Ｐの上面に当接し、給紙ローラ１１の回転により、給紙トレイ３に載置された最上部の用紙Ｐを分離して、搬送路に送出する。
【００４７】
土手部５１及びＵターンパス５３から構成される搬送路の上流部は、給紙ローラ１１により送出される用紙Ｐの移動を規制して、用紙Ｐを、搬送路下流に位置する搬送ローラ２１とピンチローラ２２との接点ＳＰ１に誘導するためのものであり、Ｕターンパス５３の下流側には、その下方に、用紙Ｐの下方向への移動を規制して、用紙Ｐを搬送ローラ２１とピンチローラ２２との接点ＳＰ１に誘導するための補助部５３ａが設けられている。
【００４８】
このように構成された搬送路により、給紙ローラ１１を通じて給紙トレイ３から送出された用紙Ｐは、Ｕターンパス５３及び補助部５３ａの搬送路下流側に位置する搬送ローラ２１及びピンチローラ２２の接点ＳＰ１に誘導される。
【００４９】
なお、接点ＳＰ１の搬送路上流側には、レジストセンサ６０が設けられており、このレジストセンサ６０により、用紙Ｐの先頭位置及び後端位置が検出される。
また、接点ＳＰ１に用紙Ｐの先端が到来すると、用紙Ｐは、搬送ローラ２１の回転動作によって搬送ローラ２１とピンチローラ２２との間に引き込まれ、搬送ローラ２１及びピンチローラ２２に挟持される。その後、用紙Ｐは、搬送ローラ２１の回転と共に、搬送ローラ２１の回転量に相当する距離、搬送路下流に搬送される。
【００５０】
一方、プラテン５５は、搬送ローラ２１と排紙ローラ４１とを結ぶ搬送路の下流部を構成するものである。このプラテン５５は、搬送ローラ２１から搬送される用紙Ｐを、記録ヘッド３０によって画像が形成される記録位置に誘導すると共に、記録ヘッド３０により画像が形成された用紙Ｐを、排紙ローラ４１とピンチローラ４２との接点ＳＰ２に誘導する。
【００５１】
用紙Ｐは、このプラテン５５に沿って排紙ローラ４１側へと搬送され、先端が排紙ローラ４１とピンチローラ４２との接点ＳＰ２に到達すると、排紙ローラ４１の回転と共に、排紙ローラ４１とピンチローラ４２との間に引き込まれ、排紙ローラ４１及びピンチローラ４２により挟持される。その後、用紙Ｐは、排紙ローラ４１の回転と共に、図示しない排紙トレイへと排出される。
【００５２】
搬送ローラ２１及び排紙ローラ４１は、ベルトにて連結されており、同一の駆動源により連動して回転するように構成されている。即ち、搬送ローラ２１が、直流モータで構成されるＬＦモータ２３の駆動力を受けて回転する構成にされており、搬送ローラ２１がＬＦモータ２３により回転されるとこれに連動して排紙ローラ４１も回転する。
【００５３】
また、記録ヘッド３０は、インク液滴を吐出するためのノズルが、プラテン５５に対向する底面に複数配列された構成にされている。この記録ヘッド３０は、ガイド軸６１（図２参照。詳細は後述。）に沿って主走査方向（図１の紙面に対して垂直な方向。図２参照。）に移動可能なキャリッジ３１に搭載されており、キャリッジ３１は、直流モータで構成されるＣＲ（キャリッジ）モータ３３により駆動され、主走査方向に移動する。
【００５４】
また、多機能装置１には、原稿に記録された画像を読み取る画像読取装置４５が搭載されており、この画像読取装置４５により、多機能装置１におけるスキャナ機能（コピー機能及びファクシミリ機能における画像の読取機能を含む）が実現される。具体的には、当該多機能装置１における記録ヘッド３０の上部に、原稿を載置するための載置用ガラス板（図示略）が設けられており、この載置用ガラス板の下側（キャリッジ３１と干渉しない位置）に、原稿読み取り用の密着型イメージセンサ（ＣＩＳ：Ｃｏｎｔａｃｔ  Ｉｍａｇｅ  Ｓｅｎｓｏｒ）が搭載されたＣＩＳユニット４６が設けられている。
【００５５】
このＣＩＳユニット４６は、直流モータにより構成される読取モータ４７の駆動力によって、キャリッジ３１の移動方向（主走査方向）と平行に配置されたガイド軸（図示略）に沿って往復移動されつつ、載置用ガラスに載置された原稿の画像を読み取る。
【００５６】
また、画像読取装置４５では、載置用ガラスに載置された原稿に対してＣＩＳユニット４６を走査させることによりその原稿の画像を読み取る機能だけでなく、ＣＩＳユニット４６は移動させずに原稿を搬送させつつその画像を読み取っていくための、読取ＡＤＦ機能も備えている。この読取ＡＤＦ機能は、直流モータにより構成されるＡＤＦモータ４８と、このＡＤＦモータ４８の駆動力によって原稿を搬送するための各種機構（図示略）を備えている。
【００５７】
その他、多機能装置１は、記録ヘッド３０を駆動するための記録ヘッドドライバ３２、ＣＲモータ３３を駆動するためのＣＲモータドライバ３７、ＬＦモータ２３を駆動するためのＬＦモータドライバ２７、給紙モータ１３を駆動するための給紙モータドライバ１７などの各種ドライバを備えると共に、これら各種ドライバに対して駆動信号（本実施形態ではＰＷＭデューティ比を示す信号）を出力したり画像読取装置４５との間で各種信号の送受を行うＡＳＩＣ５を備えている。
【００５８】
ここで、記録ヘッド３０及びキャリッジ３１等からなり、多機能装置１におけるプリンタ機能（コピー機能及びファクシミリ機能における画像の形成機能を含む）を実現するための、画像形成機構について、図２に基づいてより具体的に説明する。
【００５９】
図２に示すように、多機能装置１における画像形成機構は、ガイド軸６１が、用紙Ｐの幅方向（即ち、用紙搬送方向と直交する主走査方向）に設置され、このガイド軸６１に、記録ヘッド３０を搭載したキャリッジ３１が、主走査方向に移動可能に挿通されている。
【００６０】
キャリッジ３１は、ガイド軸６１に沿って設けられた無端ベルト６２に連結され、その無端ベルト６２は、ガイド軸６１の一端側に設置されたＣＲモータ３３の駆動プーリ６３と、ガイド軸６１の他端側に設置された従動プーリ６４との間に掛け止められている。これにより、キャリッジ３１は、無端ベルト６２を介して伝達されるＣＲモータ３３の駆動力により、ガイド軸６１に沿って用紙Ｐ の幅方向（主走査方向）に往復駆動される。
【００６１】
また、ガイド軸６１の近傍には、所定の間隔でエンコーダスリットが形成されたリニアスケール６６が、ガイド軸６１に沿って（即ちキャリッジ３１の移動経路に沿って）設置されている。
【００６２】
また、キャリッジ３１におけるリニアスケール６６と対向する位置には、リニアスケール６６を挟んで図示しない発光部および受光部が配置された検出部６７が備えられており、上述のリニアスケール６６と共にＣＲリニアエンコーダ３５を構成している。このＣＲリニアエンコーダ３５からのパルス信号に基づき、ＡＳＩＣ５内にてキャリッジ３１の移動量（位置や速度）が検出される。
【００６３】
このように構成された画像形成機構によって用紙Ｐへの画像形成が行われる際は、待機領域に停止中のキャリッジ３１が記録領域に向かって加速し始め、一定の目標到達速度Ｖｃに到達する。そして、その一定の目標到達速度Ｖｃで定速移動されている間、記録ヘッド３０からのインク液滴吐出による用紙Ｐへの１パス分の画像形成が行われる。その後、キャリッジ３１は減速し、調整領域内で停止する。停止後、キャリッジ３１は、この調整領域から待機領域へ向かう方向へ再び加速、定速Ｖｃで移動（１パス分の画像形成）、減速して、待機領域内で停止する。このように、キャリッジ３１の主走査方向への往復移動によって１パスずつ画像形成が行われる。
【００６４】
続いて、多機能装置１の電気的構成について説明する。図３に示すように、本実施形態の多機能装置１は、ＣＰＵ５１と、ＣＰＵ５１が実行するプログラム等が記憶されたＲＯＭ５２と、ＣＰＵ５１によるプログラム実行時に作業領域として使用されるＲＡＭ５３と、各種設定情報が記憶されるＥＥＰＲＯＭ５４と、図示しないパーソナルコンピュータ（ＰＣ）等に接続され、ＰＣ等から送信されてくる印刷指令や当該印刷指令と共に送信されてくる印刷対象データ等を受信するインタフェース５５（例えば、ＵＳＢインタフェース）と、ＡＳＩＣ５と、各種操作ボタンや液晶表示部等（いずれも図示略）を備えた操作部５６とを備える。
【００６５】
この多機能装置１は、更に、図１及び図２で説明したように、記録ヘッド３０及びキャリッジ３１と、キャリッジ３１を駆動し、キャリッジ３１を主走査方向に移動させるＣＲモータ３３と、キャリッジの移動中にキャリッジ３１の位置に対応したパルス信号を発生するＣＲリニアエンコーダ３５とを備えている。そして、ＡＳＩＣ５内のＣＲモータ制御部３８によりＣＲモータ３３を制御して、キャリッジ３１を主走査方向に移動させる。
【００６６】
ＣＲモータ制御部３８は、ＣＲリニアエンコーダ３５からのパルス信号に基づいてキャリッジ３１の速度や位置を検出し、その検出結果に基づいて、後述するようにＣＲモータ３３に出力すべき操作量である出力操作量（ここでは電圧指令値）を生成する。そして、その生成した出力操作量に対応したＰＷＭ信号（ＰＷＭデューティ比を示す信号）やＣＲモータ３３の回転方向を示す信号等が、ＣＲモータドライバ３７へ入力される。
【００６７】
ＣＲモータドライバ３７は、ＣＲモータ３３へ電力を供給（電圧出力）してＣＲモータ３３を回転させるための、例えばＨブリッジ回路等からなるものであり、ＣＲモータ制御部３８から入力されたＰＷＭ信号や回転方向信号等に従ってＣＲモータ３３へ電力を供給し、ＣＲモータ３３を回転させる。
【００６８】
また、記録ヘッド３０は、ＡＳＩＣ５内の記録制御部３９により制御される。記録ヘッド３０は、周知のピエゾ型インクジェットヘッドと同一構成にされており、記録ヘッドドライバ３２が記録制御部３９からの駆動指令に基づいて駆動電圧を印加し、インク室（図示略）に隣接する圧電部を変形させてインク室の容積を変化させることによって、インク室内のインクをノズルから用紙Ｐに向けて吐出する構成にされている。この記録ヘッド３０は、シアン（Ｃ）、マゼンタ（Ｍ）、イエロー（Ｙ）、ブラック（Ｋ）の各色のインク液滴を吐出するための各ノズル（図示略）を備え、これら各ノズルから該当する色のインク液滴を吐出することにより、用紙Ｐにカラー画像を形成する。
【００６９】
記録制御部３９は、ＣＲリニアエンコーダ３５からのパルス信号に基づいてキャリッジ３１の速度や位置を検出し、その検出結果に基づいて生成された駆動指令を記録ヘッドドライバ３２に出力する。
【００７０】
また、多機能装置１は、給紙モータ１３、及び、給紙モータ１３が所定量回転する度にパルス信号を出力する給紙ロータリエンコーダ１５を備える。給紙ロータリエンコーダ１５からのパルス信号は、ＡＳＩＣ５内の給紙モータ制御部１８に入力される。
【００７１】
給紙モータ制御部１８は、給紙ロータリエンコーダ１５から入力されるパルス信号に基づき、給紙ローラ１１の回転量、更には用紙Ｐの搬送量を検出し、その検出結果に基づいて、給紙モータ１３に出力すべき操作量である出力操作量（ここでは電流指令値）を生成する。そして、その生成した出力操作量に対応したＰＷＭ信号や給紙モータ１３の回転方向を示す信号等が、給紙モータドライバ１７へ入力される。
【００７２】
給紙モータドライバ１７は、ＣＲモータドライバ３７と同様、給紙モータ制御部１８から入力されたＰＷＭ信号や回転方向信号等に従って給紙モータ１３へ電力を供給し、給紙モータ１３を回転させる。これにより、給紙トレイ３から搬送ローラ２１への用紙Ｐの搬送が実現される。
【００７３】
この他、多機能装置１は、ＬＦモータ２３、及び、ＬＦモータ２３が所定量回転する度にパルス信号を出力するＬＦロータリエンコーダ２５を備える。ＬＦロータリエンコーダ２５からのパルス信号は、ＡＳＩＣ５内のＬＦモータ制御部２８に入力される。
【００７４】
ＬＦモータ制御部２８は、ＬＦロータリエンコーダ２５から入力されるパルス信号に基づき、搬送ローラ２１の回転量、更には用紙Ｐの搬送量を検出し、その検出結果に基づいて、ＬＦモータ２３に出力すべき操作量である出力操作量（ここでは電流指令値）を生成する。そして、その生成した出力操作量に対応したＰＷＭ信号やＬＦモータ２３の回転方向を示す信号等が、ＬＦモータドライバ２７へ入力される。
【００７５】
ＬＦモータドライバ２７は、ＣＲモータドライバ３７と同様、ＬＦモータ制御部２８から入力されたＰＷＭ信号や回転方向信号等に従ってＬＦモータ２３へ電力を供給し、ＬＦモータ２３を回転させる。これにより、搬送ローラ２１が取り込んだ用紙Ｐを排紙するまでの用紙搬送が実現される。
【００７６】
更に、多機能装置１は、上述したように画像読取装置４５を備えており、この画像読取装置４５内のＣＩＳユニット４６、読取モータ４７、ＡＤＦモータ４８は読取制御部４９により制御される。
【００７７】
読取モータ４７には、この読取モータ４７が所定量回転する度にパルス信号を出力する読取ロータリエンコーダ（図示略）が設けられている。読取制御部４９は、この読取ロータリエンコーダからのパルス信号に基づき、読取モータ４７の駆動（ひいてはＣＩＳユニット４６の移動）を制御する。また、ＡＤＦモータ４８にも、このＡＤＦモータ４８が所定量回転する度にパルス信号を出力するＡＤＦロータリエンコーダ（図示略）が設けられている。読取制御部４９は、このＡＤＦロータリエンコーダからのパルス信号に基づき、読ＡＤＦモータ４８の駆動（ひいては原稿の搬送）を制御する。
【００７８】
また、ＣＩＳユニット４６により読み取られた画像を示す画像信号は、読取制御部４９に入力される。読取制御部４９は、この入力された画像信号に基づいて各種画像処理を行う。
【００７９】
なお、ＡＳＩＣ５にはレジストセンサ６０が接続されており、ＡＳＩＣ５では、このレジストセンサ６０の出力信号と、上記各ロータリエンコーダ１５，２５の出力信号とに基づいて、搬送路における用紙Ｐの位置が検出され、その検出結果はＣＰＵ５１にも出力される。ＡＳＩＣ５内の各制御部１８，２８，３８，３９，４９は、ＣＰＵ５１からの指令を受けて、それぞれ指令に従った記録ヘッド３０の制御、ＣＲモータ３３の制御、給紙モータ１３の制御、ＬＦモータ２３の制御、画像読取装置４５の制御を実行する構成にされている。
【００８０】
（２）ＣＲモータ制御部３８の制御系構成
次に、ＡＳＩＣ５内のＣＲモータ制御部３８の動作について、図４を用いてより詳しく説明する。図４は、ＣＲモータ制御部３８の制御系の構成を表すブロック図である。本実施形態のＣＲモータ制御部３８は、予め設定した時間間隔の演算タイミング毎にＣＲモータ３３への出力操作量を生成し、その出力操作量に応じたＰＷＭ信号をＣＲモータドライバ３７へ出力するものである。
【００８１】
ＡＳＩＣ５内には、一定周期でクロックパルスを生成するクロックパルス生成回路（図示略）が設けられており、ＣＲモータ制御部３８を含むＡＳＩＣ５内の各制御部は、このクロックパルスを基準に制御演算を行う。そのため、上記の演算タイミングはこのクロックパルスの発生タイミングである。なお、以下の説明では、ＣＲモータ３３の制御開始（キャリッジ３１の駆動開始）からの経過時間、即ちＣＲモータ制御部３８による制御演算開始からの経過時間を、演算タイミングｎで表す。
【００８２】
図４に示すように、ＣＲモータ制御部３８は、キャリッジ３１の目標速度指令Ｖｒｅｆ[ｎ]を設定する目標速度設定部７１と、ＣＲリニアエンコーダ３５からのパルス信号に基づいてキャリッジ３１の実速度Ｖ[ｎ]を検出する速度検出部７２と、目標速度指令Ｖｒｅｆ[ｎ]と実速度Ｖ[ｎ]との差である速度偏差Ｖｅｒｒ[ｎ]を演算する速度偏差演算部７３と、速度偏差Ｖｅｒｒ[ｎ]に基づき、キャリッジ３１の速度が目標速度指令Ｖｒｅｆ［ｎ］と一致するようにＣＲモータ３３を制御するための操作量である制御器演算操作量Ｕ’［ｎ］を演算するフィードバック（ＦＢ）制御器７４と、このＦＢ制御器７４により演算された制御器演算操作量Ｕ’［ｎ］の、前回の演算タイミングで出力操作量生成部７５により生成された出力操作量Ｕ［ｎ−１］（つまり前回の演算タイミングで実際にＣＲモータ３３側へ出力された操作量）からの増減値である演算操作量増減値ΔＭｕ［ｎ］を演算する第１増減値演算部７７と、この第１増減値演算部７７により演算された演算操作量増減値ΔＭｕ［ｎ］に基づき、最終的にＣＲモータ３３へ出力すべき出力操作量Ｕ［ｎ］（電圧指令値）を生成する出力操作量生成部７５と、この出力操作量生成部７５により生成された出力操作量Ｕ［ｎ］に応じたＰＷＭ信号を生成してＣＲモータドライバ３７へ出力するＰＷＭ生成部８０とを備えている。
【００８３】
目標速度設定部７１は、キャリッジ３１の駆動開始後、キャリッジ３１の速度が目標到達速度Ｖｃに到達するように演算タイミング毎に目標速度指令Ｖｒｅｆ［ｎ］を設定するものである。本実施形態では、目標速度設定部７１は、キャリッジ３１の駆動開始から目標到達速度Ｖｃに到達するまでの全区間で、目標速度指令Ｖｒｅｆ［ｎ］を目標到達速度Ｖｃに設定する。
【００８４】
ＦＢ制御器７４は、速度偏差Ｖｅｒｒ［ｎ］に基づき、例えばＰＩＤ制御、或いはロバスト制御などの制御法によって制御器演算操作量Ｕ’［ｎ］を演算するものであり、その演算結果は、第１増減値演算部７７へ入力される。
【００８５】
第１増減値演算部７７は、演算タイミング毎に、ＦＢ制御器７４によって演算された制御器演算操作量Ｕ’［ｎ］と、出力操作量格納メモリ７６に記憶されている、前回の演算タイミングにおいて出力操作量生成部７５により生成された出力操作量Ｕ［ｎ−１］とに基づき、今回の制御器演算操作量Ｕ’［ｎ］が前回出力された出力操作量Ｕ［ｎ−１］からどれだけ増減したかを演算し、演算操作量増減値ΔＭｕ［ｎ］として出力する。
【００８６】
また、本実施形態では、用紙Ｐへの画像形成の際、既述の通り、停止状態のキャリッジ３１が主走査方向に向かって移動を開始し、加速していってやがて目標到達速度Ｖｃに到達するのであるが、この移動開始から目標到達速度Ｖｃに達するまでの駆動区間（目標到達速度Ｖｃまでの加速期間）が、３つの区間に分けられ、各区間毎に、操作量増減値の制限値（本発明の閾値に相当）Ｍ［ｍ］が設定されている。なお、ｍは区間番号（ｍ＝１，２，３）を示す。
【００８７】
具体的には、キャリッジ３１の駆動開始（つまりＣＲモータ３３の制御開始）から所定時間が経過するまでの初期区間（ｍ＝１）と、キャリッジ３１が目標到達速度Ｖｃに到達する直前の所定期間である到達区間（ｍ＝３）と、初期区間が終了してから到達区間に入るまでの間の期間である中間区間（ｍ＝２）との３区間に分かれており、各区間毎に、制限値Ｍ［ｍ］が設定されている。この制限値Ｍ［ｍ］は、出力操作量生成部７５にて生成される出力操作量Ｕ［ｎ］が、前回の演算タイミングでの出力操作量Ｕ［ｎ−１］から急激に変化することのないよう、その増減値に制限をかけるためのものであり、区間制限値格納部７８に格納されている。
【００８８】
比較部７９は、演算タイミング毎に、第１増減値演算部７７にて演算された演算操作量増減値ΔＭｕ［ｎ］と、区間制限値格納部７８に格納されている制限値Ｍ［ｍ］とを比較する。この比較結果は、出力操作量生成部７５、補正値演算部８２、及び第２増減値演算部８４に入力され、当該各部の演算に利用される（詳細は後述）。
【００８９】
また、ＣＲモータ制御部３８は、比較部７９の比較の結果、演算操作量増減値ΔＭｕ［ｎ］が制限値Ｍ［ｍ］を超えていた場合に、その超過分に基づいて補正値Ｆ［ｎ］を生成する、補正値生成部８１を備えている。
【００９０】
補正値生成部８１では、初期区間（ｍ＝１）及び中間区間（ｍ＝２）において、演算タイミング毎に、補正値演算部８２が、比較部７９の比較結果を参照する。そして、演算操作量増減値ΔＭｕ［ｎ］が制限値Ｍ［ｍ］を超えていた場合、補正値演算部８２は、その超過分であるΔＭｕ［ｎ］−Ｍ［ｍ］を、補正値Ｆ［ｎ］として演算する。この補正値Ｆ［ｎ］は補正値格納メモリ８３に記憶され、保持される。補正値演算部８２は、演算タイミング毎に、前回までに演算されて補正値格納メモリ８３に記憶されている補正値Ｆ［ｎ−１］に対し、今回の超過分（ΔＭｕ［ｎ］−Ｍ［ｍ］）を累積加算することで、今回の補正値Ｆ［ｎ］を演算する。この補正値生成部８１で生成された補正値Ｆ［ｎ］は、本実施形態では中間区間において、出力操作量Ｕ［ｎ］の生成の際に用いられる。
【００９１】
出力操作量生成部７５は、初期区間および到達区間においては、まず、比較部７９の比較結果を参照する。そして、第１増減値演算部７７にて演算された演算操作量増減値ΔＭｕ［ｎ］が制限値Ｍ［ｍ］未満であれば、その演算操作量増減値ΔＭｕ［ｎ］をそのまま最終的な出力操作量増減値ΔＭｎ［ｎ］とし、この出力操作量増減値ΔＭｎ［ｎ］を前回の演算タイミングにおいて生成された出力操作量Ｕ［ｎ−１］に加えることで、今回出力すべき出力操作量Ｕ［ｎ］を生成する。
【００９２】
なお、出力操作量生成部７５により生成された出力操作量Ｕ［ｎ］は、ＰＷＭ生成部８０に入力されると共に出力操作量格納メモリ７６に記憶される。出力操作量生成部７５は、演算タイミング毎にこの出力操作量格納メモリ７６から前回の出力操作量Ｕ［ｎ−１］を読み出し、これを用いて今回の出力操作量Ｕ［ｎ］の生成を行う。
【００９３】
一方、出力操作量生成部７５は、初期区間及び到達区間において、演算操作量増減値ΔＭｕ［ｎ］が制限値Ｍ［ｍ］以上であった場合は、制限値Ｍ［ｍ］を最終的な出力操作量増減値ΔＭｎ［ｎ］とし、この出力操作量増減値ΔＭｎ［ｎ］を前回の演算タイミングにおいて生成された出力操作量Ｕ［ｎ−１］に加えることで、今回出力すべき出力操作量Ｕ［ｎ］を生成する。中間区間における出力操作量Ｕ［ｎ］の生成についても、前回の演算タイミングからの増減値が制限値Ｍ［２］以下に制限されること自体は初期区間及び到達区間と同じであるが、それ以外の点で初期区間及び到達区間とは異なる部分がある。その詳細については後述する。
【００９４】
このように、本実施形態では、キャリッジ３１の駆動開始から目標到達速度Ｖｃに到達するまでの各区間毎に操作量増減値の制限値Ｍ［ｍ］が設定され、出力操作量Ｕ［ｎ］の前回演算タイミングからの増減がこの制限値Ｍ［ｍ］を超えないように抑制されている。
【００９５】
また、本実施形態では、区間毎の制限値Ｍ［ｍ］を、中間区間の制限値Ｍ［２］が、他の区間の制限値Ｍ［１］，Ｍ［３］より大きい値に設定されている。より詳しくは、Ｍ［１］＜Ｍ［３］＜Ｍ［２］の関係となっている。このように、中間区間の制限値Ｍ［２］を他の区間よりも大きく設定している（換言すれば、初期区間や到達区間の制限値Ｍ［１］，Ｍ［３］を中間区間の制限値Ｍ［２］よりも小さく設定している）のは、次の理由による。
【００９６】
即ち、初期区間においては、停止状態のキャリッジ３１を動かし、目標速度Ｖｒｅｆ［ｎ］（＝Ｖｃ）に向けて加速させていく必要があるため、ＦＢ制御器７４で演算される制御器演算操作量Ｕ’［ｎ］は急激に増加していく。そのため、その増加量に制限を設けないと、キャリッジ３１が急加速し、振動が発生するおそれが高くなる。そのため、初期区間においては、操作量が急激に増加することのないよう、制限値Ｍ［１］を低いレベルに設定しているのである。
【００９７】
この結果、初期区間のほとんどで、ＦＢ制御器７４で演算される制御器演算操作量Ｕ’［ｎ］の、前回生成された出力操作量Ｕ［ｎ−１］に対する変化量（演算操作量増減値ΔＭｕ［ｎ］）は、制限値Ｍ［１］を超える結果（過剰状態）となる。そのため、初期区間のほとんどで、出力操作量Ｕ［ｎ］は、前回の演算タイミングにおける出力操作量Ｕ［ｎ−１］から制限値Ｍ［１］だけ増加した値となって生成されることとなる。なお、制限値Ｍ［１］の設定レベルによっては必ずしも初期区間のほとんどで演算操作量増減値ΔＭｕ［ｎ］が制限値Ｍ［１］を超えるわけではないことはいうまでもない。
【００９８】
なお、到達区間についても制限値Ｍ［３］が初期区間と同程度の低いレベルに設定されているのは、到達区間においてはキャリッジ３１の実速度Ｖ［ｎ］が目標到達速度Ｖｃに近くなっており、しかも、やがて定速状態に入って画像形成が始まるという状況でもあるため、ＣＲモータ３３への出力操作量Ｕ［ｎ］が大きく変化するのはあまり好ましくない。そのため、到達区間においても制限値Ｍ［３］が低いレベルに設定されているのである。
【００９９】
これに対し、中間区間は、キャリッジ３１の速度もある程度上昇しており、出力操作量Ｕ［ｎ］の変化量が多少大きくても振動発生等の問題が生じるおそれが少ない。そのため、中間区間においては制限値Ｍ［２］が大きな値に設定され、出力操作量Ｕ［ｎ］がある程度大きく増加してもそれが許容されるようにしている。
【０１００】
この中間区間の制限値Ｍ［２］は、通常であれば演算操作量増減値ΔＭｕ［ｎ］がそれを超えることがほとんどないような高いレベルの値である。つまり、中間区間においては、通常は、演算操作量増減値ΔＭｕ［ｎ］が制限値Ｍ［２］に達することはほとんどなく、制限値Ｍ［２］に対して比較的余裕が生じる結果（余裕状態）となるのである。
【０１０１】
そこで本実施形態では、この比較的余裕が生じる中間区間を有効活用すべく、初期区間及び中間区間において、既述の通り、補正値生成部８１が、キャリッジ３１の駆動開始後から毎回の演算タイミング毎に、第１増減値演算部７７にて演算された演算操作量増減値ΔＭｕ［ｎ］が制限値Ｍ［ｍ］を超えていた場合にその超過分を累積加算してそれを補正値Ｆ［ｎ］として保持しておく。
【０１０２】
そして、中間区間での出力操作量Ｕ［ｎ］の生成において、単に前回の出力操作量Ｕ［ｎ−１］に演算操作量増減値ΔＭｕ［ｎ］を加えて今回の出力操作量Ｕ［ｎ］とするのではなく、演算操作量増減値ΔＭｕ［ｎ］に対して更に前回の演算タイミングまでに演算（累積加算）された補正値Ｆ［ｎ−１］を上乗せした新たな増減値（補正値加算増減値Ｋ）を演算する。そして、この補正値加算増減値Ｋを出力操作量増減値ΔＭｎ［ｎ］として（但し制限値Ｍ［２］を上限として）、この出力操作量増減値ΔＭｎ［ｎ］を前回の出力操作量Ｕ［ｎ−１］に加えることで今回の出力操作量Ｕ［ｎ］を生成するようにしている。
【０１０３】
この補正適用区間としての中間区間における、出力操作量Ｕ［ｎ］の生成についてより具体的に説明する。図４に示すように、ＣＲモータ制御部３８は、中間区間（ｍ＝２）において、第１増減値演算部７７により演算された演算操作量増減値ΔＭｕ［ｎ］に補正値Ｆ［ｎ−１］を上乗せした新たな増減値である補正値加算増減値Ｋを演算するための、第２増減値演算部８４を備えている。
【０１０４】
中間区間において、この第２増減値演算部８４は、演算タイミング毎に、比較部７９の比較結果を参照する。そして、演算操作量増減値ΔＭｕ［ｎ］が制限値Ｍ［ｍ］未満であった場合に、今回の演算タイミングで第１増減値演算部７７により演算された演算操作量増減値ΔＭｕ［ｎ］に、補正値格納メモリ８３に記憶されている、前回の演算タイミングで演算された補正値Ｆ［ｎ−１］（つまり前回の演算タイミングまでに累積加算されて得られた補正値）を加算することで、補正値加算増減値Ｋを演算する。
【０１０５】
第２増減値演算部８４は、この補正値加算増減値Ｋが制限値Ｍ［ｍ］（ここではＭ［２］）以上かどうか判断し、制限値Ｍ［２］以上でなければこの補正値加算増減値Ｋをそのまま出力操作量増減値ΔＭｎ［ｎ］とし、制限値Ｍ［２］以上であった場合は、制限値Ｍ［ｍ］を出力操作量増減値ΔＭｎ［ｎ］として、出力操作量生成部７５に出力する。
【０１０６】
出力操作量生成部７５は、中間区間においては、まず、比較部７９の比較結果を参照する。そして、第１増減値演算部７７にて演算された演算操作量増減値ΔＭｕ［ｎ］が制限値Ｍ［２］以上であった場合は、制限値Ｍ［２］を最終的な出力操作量増減値ΔＭｎ［ｎ］とし、この出力操作量増減値ΔＭｎ［ｎ］を前回の演算タイミングにおいて生成された出力操作量Ｕ［ｎ−１］に加えることで、今回出力すべき出力操作量Ｕ［ｎ］を生成する。
【０１０７】
一方、第１増減値演算部７７にて演算された演算操作量増減値ΔＭｕ［ｎ］が制限値Ｍ［２］未満であった場合は、第２増減値演算部８４にて演算された出力操作量増減値ΔＭｎ［ｎ］（補正値加算増減値Ｋ又は制限値Ｍ［２］のいずれか）を、前回の演算タイミングにおいて生成された出力操作量Ｕ［ｎ−１］に加えることで、今回出力すべき出力操作量Ｕ［ｎ］を生成する。
【０１０８】
つまり、中間区間では、第１増減値演算部７７により演算された演算操作量増減値ΔＭｕ［ｎ］が制限値Ｍ［２］に対して余裕があるときは、その余裕分に対し、前回の演算タイミングまでに演算された補正値Ｆ［ｎ−１］を上乗せするのである（但し制限値Ｍ［２］を上限として）。
【０１０９】
そして、このように補正値Ｆ［ｎ−１］の一部又は全てがその余裕分に対して上乗せされたときは、補正値演算部８２は、その上乗せされた分（実使用補正値Ｌ）を、補正値Ｆ［ｎ−１］から減算することにより、新たな補正値Ｆ［ｎ］を演算する。この新たな補正値Ｆ［ｎ］は、補正値格納メモリ８３に記憶（更新）される。
【０１１０】
（３）ＣＰＵ５１による主制御処理
このように、ＣＲモータ３３の制御（キャリッジ３１の駆動制御）は、直接的にはＡＳＩＣ５内のＣＲモータ制御部３８が主体となって行うのだが、多機能装置１では、用紙Ｐへの画像形成が行われる際、ＣＰＵ５１が、給紙処理、搬送処理、画像形成処理、排紙処理などの主制御を行う。図５は、このＣＰＵ５１が実行する主制御処理を表すフローチャートである。ＣＰＵ５１は、多機能装置１に接続されたＰＣや操作部５６等から画像形成指示が入力されると、図５に示す主制御処理を実行する。
【０１１１】
この主制御処理が開始されると、まず、給紙処理が実行される（Ｓ１１０）。この給紙処理は、ＡＳＩＣ５に対して用紙Ｐの給紙動作に必要な各種設定を行うことにより、ＡＳＩＣ５内の給紙モータ制御部１８を動作させて給紙モータ１３を駆動制御するものである。この給紙処理により、給紙モータ１３が回転し、給紙トレイ３から１枚の用紙Ｐが分離され、この用紙Ｐが搬送ローラ２１とピンチローラ２２との接点ＳＰ１まで搬送される。
【０１１２】
この給紙処理が終了すると、次に初期搬送処理が実行される（Ｓ１２０）。この初期搬送処理は、ＡＳＩＣ５に対して各種設定を行うことにより、用紙Ｐの描画エリアの始点が所定の画像形成地点（記録ヘッド３０のインク液滴吐出部の下部）に来るよう、ＡＳＩＣ５内のＬＦモータ制御部２８を制御するものである。
【０１１３】
この初期搬送処理が終了すると、１パス分の画像形成処理が実行される（Ｓ１３０）。即ち、キャリッジ３１が主走査方向に移動し、その際に記録ヘッド３０からインク液滴が吐出されて、用紙Ｐに１パス分の画像が形成される。
【０１１４】
このＳ１３０の画像形成処理における、ＣＲモータ３３の制御は、より詳しくは、次のように行われる。即ち、図５に示すように、まずＣＲモータ制御部３８に対する初期処理が行われる（Ｓ２１０）。この初期処理では、ＡＳＩＣ５内のＣＲモータ制御部３８が有する各種レジスタの初期設定等がなされる。この初期処理が終了すると、ＣＰＵ５１からＣＲモータ制御部３８に対して停止割込み許可が発行される（Ｓ２２０）。これにより、ＣＲモータ制御部３８は、停止割り込み信号を出力可能な状態になる。尚、停止割込み許可を受けたＣＲモータ制御部３８は、１パス分の画像形成が終了してキャリッジ３１が停止する毎に、その状態を検知して停止割り込み信号をＣＰＵ５１へ出力する。
【０１１５】
Ｓ２２０の処理が終了すると、ＣＲモータ制御部３８に対して起動設定がなされる（Ｓ２３０）。即ち、Ｓ２３０では、ＣＰＵ５１によるＣＲモータ制御部３８内の起動設定レジスタ（図示略）の設定を契機として、ＣＲモータ制御部３８側で、制御器演算操作量Ｕ’［ｎ］の演算、更には出力操作量Ｕ［ｎ］の演算等が開始され、ＣＲモータ３３の駆動、ひいてはキャリッジ３１の主走査方向への駆動が開始される。尚、起動設定後に開始されるＣＲモータ３３の制御（キャリッジ３１の駆動制御：図６，図７参照）は、基本的にＡＳＩＣ５内のＣＲモータ制御部３８により行われ、ＣＰＵ５１は、Ｓ２４０にて停止割込み信号の待機を行う。
【０１１６】
そして、ＣＲモータ制御部３８から停止割込み信号が出力されると（Ｓ２４０：ＹＥＳ）、ＣＰＵ５１により停止割込みフラグがクリアされる。また、以後停止割込み信号が入ってこないよう、停止割込みについての割込みマスク処理が実行される（Ｓ２５０）。
【０１１７】
Ｓ１３０による１パス分の画像形成処理が終了すると、用紙Ｐの終点までの画像形成が終了したか否か（つまり１ページ分の画像形成が終了したか否か）が判断され（Ｓ１４０）、終了してないと判断されると（Ｓ１４０：ＮＯ）、搬送処理が実行されて（Ｓ１５０）、用紙Ｐが次パスの画像形成が行われるべき地点まで搬送される。この搬送処理も、初期搬送処理と同様、ＡＳＩＣ５内のＬＦモータ制御部２８を制御して搬送ローラ２１を駆動させることにより行われる。この搬送処理によって用紙Ｐが次パスの画像形成地点まで搬送されると、再びＳ１３０の画像形成処理が実行され、１パス分の画像形成が行われる。
【０１１８】
一方、１ページ分の画像形成が終了したと判断されると（Ｓ１４０：ＹＥＳ）、排紙処理が実行され、ＡＳＩＣ５の制御に基づき、用紙Ｐが排紙トレイに排出される（Ｓ１６０）。
【０１１９】
（４）ＡＳＩＣ５によるキャリッジ駆動処理
図６は、ＡＳＩＣ５内のＣＲモータ制御部３８により実行される、１パス分の画像形成処理時におけるキャリッジ駆動処理を表すフローチャートである。ＣＲモータ制御部３８によるＣＲモータ３３の制御（ひいてはキャリッジ３１の駆動制御）は、既述の通りハードウェアであるＡＳＩＣ５の動作としてなされるものであるが、ここでは、ハードウェアの動作をフローチャートに置き換えて説明する。
【０１２０】
ＣＰＵ５１の起動設定（Ｓ２３０）によってこのキャリッジ駆動処理が開始されると、キャリッジ駆動設定が行われる（Ｓ３１０）。このキャリッジ駆動設定は、ＣＲモータ３３の制御（出力操作量Ｕ［ｎ］の演算等）に必要な各種パラメータ等を設定するものであり、例えば、目標到達速度Ｖｃの設定、ＦＢ制御器７４で制御器演算操作量Ｕ’［ｎ］の演算時に用いられるフィードバック制御ゲインＣの設定、補正値Ｆ［ｎ］の初期設定、区間毎の制限値Ｍ［ｍ］の設定などが行われる。
【０１２１】
そして、Ｓ３２０に移行し、キャリッジ駆動制御が実行される。このキャリッジ駆動制御の詳細については後述する。Ｓ３２０のキャリッジ駆動制御の後、キャリッジ３１が停止位置に到達したか否かが判断され、停止位置に到達するまではＳ３２０のキャリッジ駆動処理が繰り返される。そして、キャリッジ３１が停止位置に到達したと判断された場合は（Ｓ３３０：ＹＥＳ）、停止処理が実行され、キャリッジ３１が停止される（Ｓ３４０）。
【０１２２】
次に、上述した図６のキャリッジ駆動処理におけるＳ３２０のキャリッジ駆動制御について、図７に基づいて説明する。図７は、ＡＳＩＣ５内のＣＲモータ制御部３８にて実行されるキャリッジ駆動制御を表すフローチャートである。ＣＲモータ制御部３８は、Ｓ３１０（図６参照）のキャリッジ駆動設定後、所定の演算タイミング毎に（本実施形態では例えば２００μｓ周期）このキャリッジ駆動制御を実行する。
【０１２３】
このキャリッジ駆動制御が開始されると、まず、区間番号がｍ＝１に設定される（Ｓ４１０）。即ち、停止状態のキャリッジ３１の駆動が開始された後、所定期間Ｔ［１］が経過するまでは初期区間であるため、まずｍ＝１に設定されるのである。
【０１２４】
区間番号の設定後は、区間の判定や切り替え等のための区間判定カウント値Ｃｎｔ［ｎ］の演算が行われる（Ｓ４２０）。この区間判定カウント値Ｃｎｔ［ｎ］は、初期値が０であり、演算タイミング毎に１ずつインクリメントされるものであり、駆動開始時からの経過時間を示すものである。
【０１２５】
そして、続くＳ４３０にて、速度偏差Ｖｅｒｒ［ｎ］の演算が行われる。即ち、目標速度Ｖｒｅｆ［ｎ］（＝Ｖｃ）と実速度Ｖ［ｎ］との差が速度偏差Ｖｅｒｒ［ｎ］として演算される。この演算は、速度偏差演算部７３により行われるものである。
【０１２６】
速度偏差Ｖｅｒｒ［ｎ］が演算されると、その演算された速度偏差Ｖｅｒｒ［ｎ］に所定のフィードバック制御ゲインＣを乗じることで、制御器演算操作量Ｕ’［ｎ］が演算される（Ｓ４４０）。この演算は、ＦＢ制御器７４により行われるものである。なお、速度偏差Ｖｅｒｒ［ｎ］にフィードバック制御ゲインＣを乗じて制御器演算操作量Ｕ’［ｎ］を演算するのはあくまでも一例であり、その演算方法は、ＦＢ制御器７４の構成に応じて種々考えられる。
【０１２７】
制御器演算操作量Ｕ’［ｎ］が演算されると、その演算された制御器演算操作量Ｕ’［ｎ］と、前回の演算タイミングで生成された出力操作量Ｕ［ｎ−１］との差を演算することで、演算操作量増減値ΔＭｕ［ｎ］が演算される（Ｓ４５０）。この演算は、第１増減値演算部７７により行われるものである。
【０１２８】
そして、区間毎に設定されている区間時間Ｔ［ｍ］と現時点での区間判定カウント値Ｃｎｔ［ｎ］との比較による区間判定が行われる（Ｓ４６０）。本実施形態では、駆動開始からＴ［１］が経過するまでの区間が初期区間、初期区間の終了後であって駆動開始からＴ［２］が経過するまでの区間が中間区間、中間区間の終了後であって駆動開始からＴ［３］が経過するまでの区間（つまり目標到達速度Ｖｃに到達する直前の区間）が到達区間、として設定されている。
【０１２９】
駆動開始直後は、Ｔ［１］が経過するまでは初期区間であるため、Ｓ４６０では現時点での区間判定カウント値Ｃｎｔ［ｎ］が初期区間の区間時間Ｔ［１］を超えたか否かが判断されることになる。そして、Ｔ［１］を超えていない場合は（Ｓ４６０：ＮＯ）、まだ初期区間であると判断してＳ４８０に移行する。一方、区間判定カウント値Ｃｎｔ［ｎ］がＴ［１］を超えたと判断された場合は（Ｓ４６０：ＹＥＳ）、区間番号ｍがインクリメントされ、次の区間（この場合は中間区間）に入ったものとして設定される（Ｓ４７０）。その後さらに時間が経過して、区間判定カウント値Ｃｎｔ［ｎ］がＴ［２］を超えたと判断されたときは、区間番号がさらにインクリメントされて次の到達区間（ｍ＝３）に入ったものとして設定されることになる。
【０１３０】
Ｓ４８０では、現時点での区間番号がｍ＝２であるか否か、即ち、中間区間であるか否かが判断される。ここで、初期区間（ｍ＝１）或いは到達区間（ｍ＝３）である場合は、Ｓ４９０に移行し、演算操作量増減値ΔＭｕ［ｎ］が現区間における制限値Ｍ［ｍ］以上であるか否かが判断される。この判断は比較部７９により行われる。そして、制限値Ｍ［ｍ］未満であれば（Ｓ４９０：ＮＯ）、演算操作量増減値ΔＭｕ［ｎ］がそのまま最終的な出力操作量増減値ΔＭｎ［ｎ］とされる（Ｓ５００）。
【０１３１】
その後、区間番号がｍ＝３であるか、即ち到達区間であるか否かが判断され（Ｓ５１０）、到達区間であれば（Ｓ５１０：ＹＥＳ）、そのままＳ６８０に移行するが、到達区間でなければ（Ｓ５１０：ＮＯ）、前回の演算タイミングで演算された補正値Ｆ［ｎ−１］がそのまま今回の補正値Ｆ［ｎ］として更新される（Ｓ５２０）。続くＳ６８０にて、前回生成された出力操作量Ｕ［ｎ］にＳ５００で得られた出力操作量増減値ΔＭｎ［ｎ］が加算されることで、今回の出力操作量Ｕ［ｎ］が生成される（Ｓ６８０）。
【０１３２】
Ｓ４９０の判断処理において、演算操作量増減値ΔＭｕ［ｎ］が制限値Ｍ［ｍ］以上と判断された場合は（Ｓ４９０：ＹＥＳ）、制限値Ｍ［ｍ］がそのまま最終的な出力操作量増減値ΔＭｎ［ｎ］とされる（Ｓ５３０）。そして、Ｓ５１０と同じように到達区間か否かが判断され（Ｓ５４０）、到達区間であればＳ６８０に移行するが、到達区間でなければ、Ｓ５５０に移行する。
【０１３３】
Ｓ５５０では、演算操作量増減値ΔＭｕ［ｎ］が制限値Ｍ［ｍ］に対してどの程度超過しているかを示す制限値超過分Ｊが演算される。そして、その演算された制限値超過分Ｊが、補正値格納メモリ８３に記憶されている前回までの補正値Ｆ［ｎ−１］に加算（累積加算）されることで、新たな補正値Ｆ［ｎ］が演算される（Ｓ５６０）。そして、前回生成された出力操作量Ｕ［ｎ］にＳ５３０で得られた出力操作量増減値ΔＭｎ［ｎ］（即ち制限値Ｍ［ｍ］）が加算されることで、今回の出力操作量Ｕ［ｎ］が生成される（Ｓ６８０）。
【０１３４】
このように、初期区間においては、演算操作量増減値ΔＭｕ［ｎ］が制限値Ｍ［ｍ］以上である毎（実質的には制限値Ｍ［ｍ］を超える毎）に、その超過分が補正値Ｆ［ｎ］として累積加算されていくのである。
【０１３５】
一方、Ｓ４８０の判断処理で中間区間（ｍ＝２）と判断された場合は、Ｓ５７０に移行し、Ｓ４９０と同様に、演算操作量増減値ΔＭｕ［ｎ］が現区間における制限値Ｍ［ｍ］（ここでは制限値Ｍ［２］）以上であるか否かが判断される。そして、制限値Ｍ［ｍ］以上であれば（Ｓ５７０：ＹＥＳ）、制限値Ｍ［ｍ］がそのまま最終的な出力操作量増減値ΔＭｎ［ｎ］とされる（Ｓ６５０）。そして、Ｓ５５０〜Ｓ５６０と全く同様、制限値超過分Ｊが演算され（Ｓ６６０）、その演算された制限値超過分Ｊに基づいて新たな補正値Ｆ［ｎ］が演算されて（Ｓ６７０）、Ｓ６８０に移行する。
【０１３６】
Ｓ５７０の判断処理において、演算操作量増減値ΔＭｕ［ｎ］が制限値Ｍ［ｍ］未満と判断された場合は（Ｓ５７０：ＮＯ）、その演算操作量増減値ΔＭｕ［ｎ］に、補正値格納メモリ８３に格納されている前回演算タイミングにおける補正値Ｆ［ｎ−１］が加算されて、補正値加算増減値Ｋが得られる（Ｓ５８０）。
【０１３７】
そして、この補正値加算増減値Ｋが制限値Ｍ［ｍ］以上であるか否かが判断され（Ｓ５９０）、制限値Ｍ［ｍ］未満であれば（Ｓ５９０：ＮＯ）、この補正値加算増減値Ｋがそのまま最終的な出力操作量増減値ΔＭｎ［ｎ］とされる（Ｓ６００）。この場合、補正値Ｆ［ｎ−１］は全て、補正値加算増減値Ｋとして上乗せ使用されたことになるため、新たな補正値Ｆ［ｎ］が０にリセットされ、補正値格納メモリ８３に記憶（更新）される（Ｓ６１０）。その後、Ｓ６８０にて、この出力操作量増減値ΔＭｎ［ｎ］（即ち補正値加算増減値Ｋ）が前回の出力操作量Ｕ［ｎ−１］に加算されて今回の出力操作量Ｕ［ｎ］が生成される。
【０１３８】
補正値加算増減値Ｋが制限値Ｍ［ｍ］以上であった場合は（Ｓ５９０：ＹＥＳ）、制限値Ｍ［ｍ］がそのまま最終的な出力操作量増減値ΔＭｎ［ｎ］とされる（Ｓ６２０）。そして、制限値Ｍ［ｍ］から演算操作量増減値ΔＭｕ［ｎ］が減算されることにより、補正値Ｆ［ｎ−１］のうち出力操作量増減値ΔＭｎ［ｎ］として実際に上乗せされた分を示す実使用補正値Ｌが演算され（Ｓ６３０）、この実使用補正値Ｌが補正値Ｆ［ｎ−１］から減算されることで、新たな補正値Ｆ［ｎ］が演算される（Ｓ６４０）。
【０１３９】
なお、Ｓ５８０〜Ｓ６００，Ｓ６２０の処理は第２増減値演算部８４により行われ、Ｓ５２０，Ｓ５５０，Ｓ５６０，Ｓ６１０，Ｓ６３０，Ｓ６４０，Ｓ６６０，Ｓ６７０の処理は補正値生成部８１により行われ、Ｓ６８０の処理は出力操作量生成部７５により行われる。
【０１４０】
このように構成された本実施形態の多機能装置１における、キャリッジ３１の駆動開始後の加速期間における速度変化等の一例について、図８に基づいて説明する。図８は、キャリッジ駆動制御におけるキャリッジ３１の１パス分の駆動時における駆動開始から目標到達速度Ｖｃに到達するまでの、速度、加速度、出力操作量Ｕ、及び出力操作量増減値ΔＭｎ［ｎ］の変化を示すグラフである。
【０１４１】
本図において、実線で示す波形は、本実施形態のＣＲモータ制御部３８によりキャリッジ３１を駆動制御した場合を示すものである。これに対し、破線で示す波形（「制限値なし」）は、制限値Ｍ［ｍ］を設定せず、単に、ＦＢ制御器７４にて演算された制御器演算操作量Ｕ’［ｎ］をそのまま出力操作量Ｕ［ｎ］として出力した場合を示すものであり、点線で示す波形（「従来法」）は、特許文献１に開示されている制御法を用いた場合、即ち、単に区間毎に制限値Ｍ［ｍ］を設けているだけの場合を示すものである。また、本例では、初期区間は０〜０．００３sec.、中間区間は０．００３〜０．０１５sec.、到達区間は０．０１５〜０．０５sec.である。更に、初期区間の制限値Ｍ［１］は０．０１、中間区間の制限値Ｍ［２］は０．２、到達区間の制限値Ｍ［３］は０．０５である。なお、これらの数値はあくまでも一例である。
【０１４２】
図８に示すように、「制限値なし」の場合は、出力操作量Ｕ［ｎ］の変化量（増減値）に制限がかからないため、駆動開始直後の初期区間では、ＦＢ制御器７４にて演算された制御器演算操作量Ｕ’［ｎ］がそのまま出力操作量Ｕ［ｎ］として出力されることになり、出力操作量Ｕ［ｎ］は急増する。そのため、キャリッジ３１の加速度も急増・急減し、キャリッジ３１の速度変動が大きくなって、キャリッジ３１に大きな衝撃が加わってしまう。
【０１４３】
一方、「従来法」では、最終的に前回の出力操作量Ｕ［ｎ−１］に加えられる出力操作量増減値ΔＭｎ［ｎ］について、本実施形態と同様に制限が加えられるため、加速度は低く抑えられる。そのため、振動の発生が抑えられつつ、速度はＳ字カーブを描きながら緩やかに上昇していく。つまり、加速時のキャリッジ３１の振動を抑制するという点だけを考えれば、「従来法」でも実現可能である。
【０１４４】
しかし、「従来法」では、操作量の増減値に対して制限が設けられているだけであるため、その分、定速域に達する（目標到達速度Ｖｃに達する）までの加速時間が長くなってしまう。具体的には、駆動開始から０．０５sec.経過してもまだ目標到達速度Ｖｃに到達していない。
【０１４５】
これに対し、本実施形態では、操作量の増減値に対して制限が設けられているという点では「従来法」と同じであるが、演算操作量増減値ΔＭｕ［ｎ］が制限値Ｍ［ｍ］を超えてしまってその制限値Ｍ［ｍ］に抑えられた場合に、その抑えられた分（制限値Ｍ［ｍ］からの超過分）が補正値Ｆ［ｎ］として累積加算される。
【０１４６】
そして、中間区間において、ＦＢ制御器７４の演算結果に基づく演算操作量増減値ΔＭｕ［ｎ］に対して前回までの超過分の累積結果である補正値Ｆ［ｎ−１］を加えたもの（但し制限値Ｍ［２］が上限）が出力操作量増減値ΔＭｎ［ｎ］として、前回の出力操作量Ｕ［ｎ−１］に加算され、今回の出力操作量Ｕ［ｎ］として生成される。つまり、初期区間を含め、前回の演算タイミングまでに制限値を超過して抑えられてしまった分が、比較的余裕のある中間区間で上乗せされるのである。
【０１４７】
そのため、図８に示すように、中間区間における出力操作量増減値ΔＭｎ［ｎ］は、中間区間の開始後から一定時間は、制限値Ｍ［２］となる。即ち、「従来法」ではこの出力操作量増減値ΔＭｎ［ｎ］は中間区間に入ると徐々に減少していき、制限値Ｍ［２］に対する余裕が広がっていく。これに対し本実施形態では、この制限値Ｍ［２］に対する余裕分を有効利用すべく、補正値Ｆ［ｎ−１］を上乗せしており、その結果、中間区間に入ってからもしばらくの間は制限値一杯の出力操作量増減値ΔＭｎ［ｎ］が演算される。そのため、中間区間における加速度がより高まり、その分、目標到達速度Ｖｃへの到達時間が「従来法」に比べて短縮化される。
（５）第１実施形態の効果等
以上説明した本実施形態の多機能装置１によれば、キャリッジ３１の駆動源であるＣＲモータ３３を制御するＣＲモータ制御部３８がＣＲモータ３３への出力操作量Ｕ［ｎ］を生成するにあたり、演算操作量増減値ΔＭｕ［ｎ］が制限値Ｍ［ｍ］を超えた場合にその超過分を補正値Ｆ［ｎ］として累積加算するようにし、中間区間において、演算操作量増減値ΔＭｕ［ｎ］に対して補正値Ｆ［ｎ−１］を加えたものが出力操作量増減値ΔＭｎ［ｎ］として、前回の出力操作量Ｕ［ｎ−１］に加算され、今回の出力操作量Ｕ［ｎ］として生成される（但し制限値Ｍ［２］を上限として）。
【０１４８】
従って、「従来法」と同様に加速時のキャリッジ３１の振動が抑制され、用紙Ｐへに形成される画像の高画質化を確保することができる。更に加えて、「制限値なし」の場合と同等の加速時間（「従来法」より短い加速時間）でキャリッジ３１を目標到達速度Ｖｃへ加速することが可能となるため、多機能装置１の小型化も実現可能となる。
【０１４９】
また、ＦＢ制御器７４により演算される操作量の増減値が比較的小さくなり、且つ、操作量の増減値の制限値Ｍ［ｍ］を比較的大きな値に設定することができる中間区間において、補正値Ｆ［ｎ−１］を上乗せした出力操作量Ｕ［ｎ］の生成を行うようにし、補正値Ｆ［ｎ−１］を上乗せすることの効果が薄い初期区間や、操作量の変化を小さく抑えたい到達区間においては補正値Ｆ［ｎ−１］の上乗せを行わないようにしているため、ＣＲモータ３３の制御（キャリッジ３１の駆動制御）を効率的に行うことが可能となる。
【０１５０】
ここで、本実施形態の構成要素と本発明の構成要素の対応関係を明らかにする。本実施形態において、ＦＢ制御器７４は本発明の第１の操作量生成手段に相当し、第１増減値演算部７７は本発明の第１の変化量演算手段に相当し、比較部７９は本発明の比較手段に相当し、出力操作量生成部７５は本発明の第２の操作量生成手段に相当し、補正値演算部８２は本発明の補正値生成手段に相当し、補正値格納メモリ８３は本発明の記憶手段に相当し、第２増減値演算部８４は本発明の第２の変化量演算手段に相当する。
【０１５１】
また、制御器演算操作量Ｕ’［ｎ］は本発明の仮操作量及び第１の操作量に相当し、出力操作量Ｕ［ｎ］は本発明の実操作量及び第２の操作量に相当し、演算操作量増減値ΔＭｕ［ｎ］は本発明の仮変化量及び第１の変化量に相当し、第２増減値演算部８４により演算される出力操作量増減値ΔＭｎ［ｎ］（補正値加算増減値Ｋ又は制限値Ｍ［２］）は本発明の新たな変化量及び第２の変化量に相当する。
【０１５２】
［第２実施形態］
上記第１実施形態では、ＣＲモータ制御部３８において、補正値Ｆ［ｎ］の演算を初期区間（ｍ＝１）及び中間区間（ｍ＝２）の双方で継続して行うようにしたが、これに限らず、例えば初期区間においてのみ、補正値Ｆ［ｎ］の演算を行うようにしてもよい。
【０１５３】
即ち、初期区間は、他の中間区間、到達区間と比較すると、演算操作量増減値ΔＭｕ［ｎ］が制限値Ｍ［１］を超える可能性が高く、その反面、中間区間は、初期区間と比較すると、演算操作量増減値ΔＭｕ［ｎ］はそれほど大きくなく制限値Ｍ［２］未満となる可能性が高い。そのため、補正値Ｆ［ｎ］の演算、演算操作量増減値ΔＭｕ［ｎ］が制限値Ｍ［ｍ］を超える可能性の高い初期区間においてのみ行うようにすることで、補正値の演算を必要十分に行うことができるのである。
【０１５４】
そこで本第２実施形態では、補正値Ｆ［ｎ］の演算を初期区間のみで行う場合について、説明する。また、本実施形態では、中間区間以降は補正値Ｆ［ｎ］の更新演算（出力操作量増減値ΔＭｎ［ｎ］として上乗せされた分の減算）も行わない場合について説明する。
【０１５５】
図９は、本実施形態のキャリッジ駆動制御を表すフローチャートである。本実施形態が上記第１実施形態と異なるのは、補正値Ｆ［ｎ］の演算を初期区間のみで行っているということであり、その他は第１実施形態と同じである。そのため、本実施形態のキャリッジ駆動制御が図７で説明した第１実施形態のキャリッジ駆動制御と異なるのは、Ｓ５７０の処理の前にＳ５６５の処理が追加されたこと、Ｓ５８０の処理における加算対象が異なること、及び、補正値Ｆ［ｎ］の更新演算のための処理であるＳ６１０，Ｓ６３０，Ｓ６４０，Ｓ６６０，Ｓ６７０の処理が不要となったことである。その他の処理については図７と同じであるため、図７と同じ処理には同じ符号を付し、その説明を省略する。そして、以下、図７と異なる上記各処理について説明する。
【０１５６】
図９に示すように、本実施形態では、中間区間に入ると（Ｓ４８０：ＹＥＳ）、まず、前回までに累積加算されて得られた補正値Ｆ［ｎ−１］を、補正定数Ｆｚとして設定する（Ｓ５６５）。つまり、中間区間以降は補正値Ｆ［ｎ］の更新演算を全く行わないため、初期区間において得られた補正値をそのまま、中間区間において用いる補正定数Ｆｚとするのである。
【０１５７】
そして、演算操作量増減値ΔＭｕ［ｎ］が制限値Ｍ［２］未満であった場合は（Ｓ５７０：ＮＯ）、Ｓ５８０にて、演算操作量増減値ΔＭｕ［ｎ］に補正定数Ｆｚを加算することにより、補正値加算増減値Ｋを演算する。
【０１５８】
この補正値加算増減値Ｋに基づいてなされるＳ５９０以降の処理は第１実施形態と同じである。但し、本実施形態では、既述の通り中間区間での補正値更新は行わないため、Ｓ６００，Ｓ６２０，Ｓ６５０において出力操作量増減値ΔＭｎ［ｎ］が設定された後は、補正値の更新が行われることなくＳ６８０に移行し、出力操作量Ｕ［ｎ］の演算が行われる。
【０１５９】
このように構成された本実施形態の多機能装置１によっても、第１実施形態と同等の効果を得ることができる。しかも、補正値の演算を、演算操作量増減値ΔＭｕ［ｎ］が制限値Ｍ［ｍ］を超える可能性の高い初期区間においてのみ行い、演算操作量増減値ΔＭｕ［ｎ］が制限値Ｍ［ｍ］を超える可能性が低い中間区間以降では補正値の演算を行わないため、補正値の演算を必要十分に行うことができ、モータ制御の効率化をより高めることが可能となる。
【０１６０】
［第３実施形態］
上記第１実施形態では、ＣＲモータ制御部３８において、補正値Ｆ［ｎ］の演算は初期区間及び中間区間の双方で行うものの、補正値Ｆ［ｎ−１］が上乗せされた補正値加算増減値Ｋの演算、即ち第２増減値演算部８４による出力操作量増減値ΔＭｎ［ｎ］（補正値加算増減値Ｋ又は制限値Ｍ［ｍ］）の演算・出力（以下「補正値を加味した出力操作量Ｕ［ｎ］の生成」ともいう）を、中間区間のみで行うようにしたが、これに限らず、初期区間においても、補正値Ｆ［ｎ］の生成を行いつつ、補正値を加味した出力操作量Ｕ［ｎ］の生成を行うようにしてもよい。
【０１６１】
そこで本第３実施形態では、補正値を加味した出力操作量Ｕ［ｎ］の生成を初期区間及び中間区間の双方で行う場合について、説明する。
図１０は、本実施形態のキャリッジ駆動制御を表すフローチャートである。本実施形態が上記第１実施形態と異なるのは、補正値を加味した出力操作量Ｕ［ｎ］の生成を初期区間及び中間区間の双方で行っているということであり、その他は第１実施形態と同じである。そのため、本実施形態のキャリッジ駆動制御が図７で説明した第１実施形態のキャリッジ駆動制御と異なるのは、Ｓ４６０で否定判定された後又はＳ４７０の後における、区間判定処理（図７ではＳ４８０）が異なること、及びこれに付随してＳ５１０，Ｓ５２０，Ｓ５４０〜Ｓ５６０の処理が不要となったことである。その他の処理については図７と同じであるため、図７と同じ処理には同じ符号を付し、その説明を省略する。そして、以下、図７と異なる上記各処理について説明する。
【０１６２】
図１０に示すように、本実施形態では、Ｓ４６０で否定判定された場合又はＳ４７０の処理の後の区間判定処理として、図７のＳ４８０の処理に代えて、初期区間（ｍ＝１）又は中間区間（ｍ＝２）であるか否かが判断される（Ｓ４７５）。そして、初期区間又は中間区間の場合は、いずれもＳ５７０へ移行し、以下、図７で説明したＳ５７０移行の処理と同様に処理が行われる。即ち、初期区間及び中間区間の双方で、補正値Ｆ［ｎ］の演算、補正値を加味した出力操作量Ｕ［ｎ］の生成、及び補正値Ｆ［ｎ］の更新演算（出力操作量増減値ΔＭｎ［ｎ］として上乗せされた分の減算）が行われる。
【０１６３】
一方、到達区間に入った場合は、Ｓ４７５からＳ４９０に移行する。この場合、単に演算操作量増減値ΔＭｕ［ｎ］が制限値Ｍ［ｍ］以上であるか否かが判断され（Ｓ４９０）、制限値Ｍ［ｍ］以上であればその制限値Ｍ［ｍ］が出力操作量増減値ΔＭｎ［ｎ］として出力操作量Ｕ［ｎ］の生成に用いられ、制限値Ｍ［ｍ］未満であればその演算操作量増減値ΔＭｕ［ｎ］がそのまま出力操作量増減値ΔＭｎ［ｎ］として出力操作量Ｕ［ｎ］の生成に用いられる。
【０１６４】
このように構成された本実施形態の多機能装置１によっても、第１実施形態と同等の効果を得ることができる。なお、初期区間は、既述の通り、他の中間区間、到達区間と比較すると、演算操作量増減値ΔＭｕ［ｎ］が制限値Ｍ［１］を超える可能性が高く、それ故に、中間区間に比べると出力操作量Ｕ［ｎ］の生成に補正値Ｆ［ｎ−１］が加味される可能性が低い。そのため、本実施形態のように補正値を加味した出力操作量Ｕ［ｎ］の演算を初期区間から行うかどうかについては、その有効性を考慮して決めるとよい。
【０１６５】
［第４実施形態］
上記第１実施形態の多機能装置１は、キャリッジ３１の駆動開始から目標到達速度Ｖｃに到達するまでの加速時の区間が、初期区間、中間区間、及び到達区間の３区間に分かれ、このうち中間区間において、補正値Ｆ［ｎ−１］を上乗せした出力操作量Ｕ［ｎ］の生成を行うものであった。これに対し、本実施形態では、中間区間がさらに２つに分かれている例を示す。具体的には、初期区間（ｍ＝１）、第１中間区間（ｍ＝２）、第２中間区間（ｍ＝３）、及び到達区間（ｍ＝４）の４区間に分かれている。このうち、初期区間の制限値Ｍ［１］は第１実施形態における初期区間の制限値Ｍ［１］と同じであり、到達区間の制限値Ｍ［４］は第１実施形態における到達区間の制限値Ｍ［３］と同じである。そして、第１中間区間の制限値Ｍ［２］及び第２中間区間の制限値Ｍ［３］はいずれも、他の区間（ｍ＝１，４）の制限値Ｍ［１］、Ｍ［４］よりも大きい値に設定されている。尚且つ、各中間区間における制限値Ｍ［２］、Ｍ［３］は、第１中間区間の制限値Ｍ［２］よりも第２中間区間の制限値Ｍ［３］の方が大きい値に設定されている。つまり、中間区間（ｍ＝２，３）については、区間毎の制限値が、キャリッジ３１の駆動開始からの経過時間に応じて段階的に大きくなるよう設定されている。
【０１６６】
そして、本実施形態では、第１実施形態と同様、補正値Ｆ［ｎ］の演算は、初期区間及び中間区間（第１中間区間及び第２中間区間）の双方で行われ、補正値を加味した出力操作量Ｕ［ｎ］の生成は、中間区間（第１中間区間及び第２中間区間）のみで行われる。
【０１６７】
その他の構成、制御方法等については、上記第１実施形態と同じであるため、ここではその説明を省略する。即ち、本実施形態においても、モータ制御部３８が、図７に示したキャリッジ駆動制御を行うことにより、出力操作量Ｕ［ｎ］を生成する。但し、本実施形態では、図７のキャリッジ駆動制御におけるＳ４８０の処理が異なる。本実施形態では、このＳ４８０において、現時点での区間番号がｍ＝２又は３であるか否かが判断される。そして、ｍ＝２又は３であった場合（つまり第１中間区間又は第２中間区間であった場合）に、Ｓ５７０へ移行することとなる。
【０１６８】
このように中間区間が２つに分かれてなる本実施形態の多機能装置１における、キャリッジ３１の駆動開始後の加速期間における速度変化等の一例を、図１１に示す。本例では、中間区間が全体として０．００３〜０．０１６sec.の期間に設定されており、そのうち第１中間区間は、０．００３〜０．００７sec.の区間、第２中間区間は、０．００７sec.〜０．０１６sec.の区間である。また、第１中間区間の制限値Ｍ［２］は約０．１５であり、第２中間区間の制限値Ｍ［３］は約０．２５である。
【０１６９】
図１１に示すように、本実施形態においても、第１実施形態と同様、制限値Ｍ［１］に抑えられた分（補正値Ｆ［ｎ−１］）が、第１中間区間及び第２中間区間において、制限値Ｍ［ｍ］の範囲内で演算操作量増減値ΔＭｕ［ｎ］に上乗せされ、これが出力操作量増減値ΔＭｎ［ｎ］となる。そのため、出力操作量増減値ΔＭｎ［ｎ］は、第１中間区間では継続して制限値Ｍ［２］となり、第２中間区間でも一定期間は制限値Ｍ［３］となる。つまり、「従来法」と比べてより大きな値の出力操作量増減値ΔＭｎ［ｎ］が演算される（但し制限値Ｍ［ｍ］を上限として）。
【０１７０】
従って、キャリッジ３１は、加速時の振動が抑制されつつ、第１実施形態とほぼ同等の加速時間にて目標到達速度Ｖｃに到達している。
［変形例］
以上、本発明の実施の形態について説明したが、本発明の実施の形態は、上記実施形態に何ら限定されるものではなく、本発明の技術的範囲に属する限り種々の形態を採り得ることはいうまでもない。
【０１７１】
上記実施形態では、補正値演算部８２による補正値Ｆ［ｎ］の演算方法として、第１増減値演算部７７にて演算された演算操作量増減値ΔＭｕ［ｎ］が制限値Ｍ［ｍ］を超えていた場合にその超過分（ΔＭｕ［ｎ］−Ｍ［ｍ］）を累積加算するようにしたが、これはあくまでも一例であって、例えば、この累積加算により演算されたＦ［ｎ］に所定の係数を乗じたものを最終的な補正値［ｎ］として演算、出力するようにしてもよい。
【０１７２】
また例えば、補正値演算部８２は、演算タイミング毎に超過分を比較して最も大きい値を保持しておくようにし、その保持されている超過分、或いはその超過分に所定の係数を乗じたものを、補正値［ｎ］とするようにしてもよい。
【０１７３】
また例えば、補正値演算部８２は、キャリッジ３１の駆動開始直後から演算タイミング毎に、演算操作量増減値ΔＭｕ［ｎ］が制限値Ｍ［ｍ］を超えた回数を計数しておき、その計数値に応じて補正値Ｆ［ｎ］を演算するようにしてもよい。
【０１７４】
また、上記第２実施形態では、補正値Ｆ［ｎ］の演算を初期区間のみとし、補正値を加味した出力操作量Ｕ［ｎ］の生成は中間区間のみとして、初期区間で演算された補正値は中間区間では不変（補正定数Ｆｚ）として更新演算もしないようにしたが、これもあくまでも一例であって、例えば、補正値Ｆ［ｎ］の演算は初期区間のみとするものの、中間区間における補正値Ｆ［ｎ］の更新演算は、第１実施形態と同様に行うようにしてもよい。
【０１７５】
更に、補正値Ｆ［ｎ］の演算、及び、補正値を加味した出力操作量Ｕ［ｎ］の演算の双方を、初期区間、中間区間、及び到達区間の全区間で行うようにしてもよい。
但し、既述の通り、到達区間というのはキャリッジ３１の実速度Ｖ［ｎ］が目標到達速度Ｖｃに近くなっており、やがて定速状態に入って画像形成が始まるという状況であるため、出力操作量Ｕ［ｎ］が大きく変化するのはあまり好ましくない。そのため、到達区間では補正値を加味した出力操作量Ｕ［ｎ］の生成を行わない方が好ましい。
【０１７６】
更にまた、上記第１実施形態では、第２増減値演算部８４による演算方法として、図７のＳ５８０以降に示したように、まず、演算操作量増減値ΔＭｕ［ｎ］に前回までに演算された補正値Ｆ［ｎ−１］を全て加算して補正値加算増減値Ｋを算出し（Ｓ５８０）、これが制限値Ｍ［ｍ］以上であるか否かを判断して（Ｓ５９０）、その判断結果に応じて出力操作量増減値ΔＭｎ［ｎ］を補正値加算増減値Ｋ又は制限値Ｍ［ｍ］のいずれかにするようにしたが、このＳ５８０以降の処理を、例えば図１２に示すように行うこともできる。
【０１７７】
即ち、図１２に示すように、まず、制限値Ｍ［ｍ］から演算操作量増減値ΔＭｕ［ｎ］を減算することにより、制限値Ｍ［ｍ］に対してどれだけ余裕があるかを示す余裕分Ｐを算出する（Ｓ７１０）。そして、前回までに演算された補正値Ｆ［ｎ−１］がその余裕分Ｐ以上であるか否かを判断し（Ｓ７２０）、余裕分Ｐを超えていたら（Ｓ７２０：ＹＥＳ）、制限値Ｍ［ｍ］をそのまま出力操作量増減値ΔＭｎ［ｎ］として出力操作量生成部７５へ出力する（Ｓ７５０）。そして、前回までの補正値Ｆ［ｎ−１］からその余裕分Ｐ（つまり補正値のうち実際に出力操作量Ｕ［ｎ］に加味された量。第１実施形態の実使用補正値Ｌと同じ。）を減算することで補正値Ｆ［ｎ］の更新を行う（Ｓ７６０）。
【０１７８】
一方、前回までの補正値Ｆ［ｎ−１］が余裕分Ｐ未満であれば（Ｓ７２０：ＮＯ）、演算操作量増減値ΔＭｕ［ｎ］にその補正値Ｆ［ｎ−１］を全て加算して出力操作量増減値ΔＭｎ［ｎ］とする（Ｓ７３０）。この場合、補正値Ｆ［ｎ−１］が全て出力操作量Ｕ［ｎ］に加味されたことになるため、新たな補正値Ｆ［ｎ］は０にリセットされる（Ｓ７４０）。
【０１７９】
つまり、図１２に示した方法は、演算操作量増減値ΔＭｕ［ｎ］が制限値Ｍ［ｍ］以下であった場合に、まず先に、制限値Ｍ［ｍ］に対してどれだけの余裕があるかをみる。そして、その余裕分に応じて、前回までの補正値Ｆ［ｎ−１］のうち可能な限りの量を出力操作量Ｕ［ｎ］に加味するのである。この方法は、第２、第３実施形態における第２増減値演算部８４の演算方法としても同様に用いることができる。
【０１８０】
また、上記第４実施形態では、各中間区間における制限値が、Ｍ［２］＜Ｍ［３］となるように設定したが、逆にＭ［２］＞Ｍ［３］とすることも可能である。
更に、中間区間の区間数は３つ以上であってもよい。その場合の各中間区間における区間毎の制限値は、第４実施形態と同様、駆動開始からの経過時間に応じて段階的に大きくなるよう設定することができる。但し、必ずしもそれに限定されるわけではなく、中間区間の区間数や各区間の制限値は、駆動対象の種類や特性等に応じて適宜設定すればよい。
【０１８１】
更にまた、中間区間が複数に分かれている場合に、補正値を加味した出力操作量Ｕ［ｎ］の生成をどの区間で行うか、即ち、複数の中間区間全てにおいて行うか、或いは１又は複数の特定の中間区間においてのみ行うかについても、適宜設定することができる。
【０１８２】
また、上記各実施形態では、目標速度設定部７１が、駆動開始直後から目標速度指令Ｖｒｅｆ［ｎ］として一定の目標到達速度Ｖｃを設定するようにしたが、これも一例であって、目標速度設定部７１は、例えば、駆動開始からの経過時間に伴って変化する（徐々に目標到達速度Ｖｃまで上昇していく）ような目標速度指令Ｖｒｅｆ［ｎ］を設定するようにしてもよい。
【０１８３】
更に、上記本実施形態では、キャリッジ３１が目標到達速度Ｖｃで定速移動されている際に記録ヘッド３０からのインク液滴吐出（画像形成）が行われるものとして説明したが、これに限らず、目標到達速度Ｖｃにまだ達していない加速中の段階から画像形成を開始する構成であってもよい。
【０１８４】
そして、本発明のモータ制御装置は、上記実施形態で説明したＣＲモータ制御部３８への適用に限らず、多機能装置１における読取制御部４９（読取モータ４７，ＡＤＦモータ４８の制御）、給紙モータ制御部１８、ＬＦモータ制御部２８の制御にも適用することが可能である。更に、多機能装置１への適用に限らず、駆動対象をモータによって駆動するよう構成されたあらゆる駆動装置等に本発明のモータ制御装置を適用可能である。
【図面の簡単な説明】
【０１８５】
【図１】実施形態の多機能装置の概略構成を表す断面図である。
【図２】多機能装置における画像形成機構の概略構成を表す説明図である。
【図３】多機能装置の電気的構成を表すブロック図である。
【図４】多機能装置におけるＣＲモータ制御部の制御系の構成を表すブロック図である。
【図５】ＣＰＵにより実行される主制御処理を表すフローチャートである。
【図６】ＣＲモータ制御部により実行される、１パス分の画像形成処理時におけるキャリッジ駆動処理を表すフローチャートである。
【図７】第１実施形態のキャリッジ駆動制御（図６のキャリッジ駆動処理におけるＳ３２０）を表すフローチャートである。
【図８】第１実施形態のキャリッジの１パス分の駆動時における駆動開始から目標到達速度Ｖｃに到達するまでの、速度、加速度、出力操作量、及び出力操作量増減値の変化を示すグラフである。
【図９】第２実施形態のキャリッジ駆動制御を表すフローチャートである。
【図１０】第３実施形態のキャリッジ駆動制御を表すフローチャートである。
【図１１】第４実施形態のキャリッジの１パス分の駆動時における駆動開始から目標到達速度Ｖｃに到達するまでの、速度、加速度、出力操作量、及び出力操作量増減値の変化を示すグラフである。
【図１２】第２増減値演算部８４による演算の変形例を示すフローチャートである。
【符号の説明】
【０１８６】
１…多機能装置、１０…給紙ユニット、１１…給紙ローラ、１３…給紙モータ、１５…給紙ロータリエンコーダ、１７…給紙モータドライバ、１８…給紙モータ制御部、２１…搬送ローラ、２３…ＬＦモータ、２５…ＬＦロータリエンコーダ、２７…ＬＦモータドライバ、２８…ＬＦモータ制御部、３０…記録ヘッド、３１…キャリッジ、３２…記録ヘッドドライバ、３３…ＣＲモータ、３５…ＣＲリニアエンコーダ、３７…ＣＲモータドライバ、３８…ＣＲモータ制御部、３９…記録制御部、４５…画像読取装置、４６…ＣＩＳユニット、４７…読取モータ、４８…ＡＤＦモータ、４９…読取制御部、６１…ガイド軸、６２…無端ベルト、６３…駆動プーリ、６４…従動プーリ、６６…リニアスケール、６７…検出部、７１…目標速度設定部、７２…速度検出部、７３…速度偏差演算部、７４…ＦＢ制御器、７５…出力操作量生成部、７６…出力操作量格納メモリ、７７…第１増減値演算部、７８…区間制限値格納部、７９…比較部、８０…ＰＷＭ生成部、８１…補正値生成部、８２…補正値演算部、８３…補正値格納メモリ、８４…第２増減値演算部、８９…比較部、Ｐ…用紙
【図２】
2009207340.tif 000003
【図３】
2009207340.tif 000004
【図４】
2009207340.tif 000005
【図５】
2009207340.tif 000006
【図６】
2009207340.tif 000007
【図７】
2009207340.tif 000008
【図８】
2009207340.tif 000009
【図９】
2009207340.tif 000010
【図１０】
2009207340.tif 000011
【図１１】
2009207340.tif 000012
【図１２】
2009207340.tif 000013
【図１】
2009207340.tif 000014