(57)【特許請求の範囲】
【請求項１】
モータを制御するモータ制御手段と、
前記モータの回転に応じた信号を出力する信号出力手段と、
を備え、前記モータ制御手段が、前記信号出力手段の出力信号に基づき前記モータを制御して、前記モータによって駆動される被駆動体を目標停止位置まで変位させるモータ制御装置であって、
前記モータ制御手段は、
第一、第二、及び、第三の制御手段と、
前記第一、第二、及び、第三の制御手段を順に切り替えて動作させる切替手段と、
を備え、
前記第一の制御手段は、前記信号出力手段の出力信号から特定される前記モータの回転速度に基づき、前記モータに入力可能な電流の上限値であって逆起電力による電流低下を加味した電流上限値を推定し、前記推定した電流上限値に対応する駆動電流を前記モータに入力するモータ制御を実行するように構成され、前記信号出力手段の出力信号から特定される前記モータの回転速度ωに予め定められた係数Ｋを乗算して得られる値Ｋ・ωを前記逆起電力による電流低下分とみなして、前記逆起電力による電流低下がない場合に前記モータに流れる電流の上限値Ｉｍａｘから値Ｋ・ωを減算した値（Ｉｍａｘ−Ｋ・ω）を、前記逆起電力による電流低下を加味した電流上限値として推定し、
前記第二の制御手段は、前記係数Ｋよりも大きい係数Ｋ’を用いて算出される偽の電流上限値（Ｉｍａｘ−Ｋ’・ω）に対して前記第一の制御手段が前記モータに入力する駆動電流と同一の駆動電流を前記モータに入力することにより、前記第一の制御手段が仮に現在の前記モータの回転速度から推定した前記電流上限値に基づき前記モータを制御する場合に前記モータに入力する駆動電流、よりも少ない駆動電流を前記モータに入力し、これによって、前記第一の制御手段による前記モータ制御の終了時よりも前記モータの回転速度を下げるモータ制御を実行し、
前記第三の制御手段は、前記信号出力手段の出力信号から特定される前記モータ又は前記被駆動体の動作量としての速度及び変位量の少なくとも一方と、当該動作量の目標軌跡とに基づき、前記モータに入力する駆動電流を決定し、当該駆動電流によるモータ制御を実行することにより、前記目標軌跡に沿って、前記被駆動体を目標停止位置まで変位させるように構成され、
前記目標軌跡は、当該目標軌跡に従う前記モータの回転速度が前記第二の制御手段による前記モータ制御の終了時における前記モータの回転速度以下となるように定められた目標軌跡であること
を特徴とするモータ制御装置。
【請求項２】
前記被駆動体を前記目標停止位置まで変位させるモータ制御の過程において、前記モータに作用する負荷が上昇するか否かを判定する判定手段
を備え、
前記切替手段は、前記判定手段により前記負荷が上昇すると判定された場合には、前記第一の制御手段によるモータ制御の終了後に、前記第二の制御手段及び前記第三の制御手段を順に動作させ、前記判定手段により前記負荷が上昇しないと判定された場合には、前記第一の制御手段によるモータ制御の終了後に、前記第二の制御手段を動作させずに、前記第三の制御手段を動作させること
を特徴とする請求項１記載のモータ制御装置。
【請求項３】
モータを制御するモータ制御手段と、
前記モータの回転に応じた信号を出力する信号出力手段と、
を備え、前記モータ制御手段が、前記信号出力手段の出力信号に基づき前記モータを制御して、前記モータによって駆動される被駆動体を目標停止位置まで変位させるモータ制御装置であって、
前記モータ制御手段は、
第一、第二、及び、第三の制御手段と、
前記第一、第二、及び、第三の制御手段を順に切り替えて動作させる切替手段と、
を備え、
前記第一の制御手段は、前記信号出力手段の出力信号から特定される前記モータの回転速度に基づき、前記モータに入力可能な電流の上限値であって逆起電力による電流低下を加味した電流上限値を推定し、前記推定した電流上限値に対応する駆動電流を前記モータに入力するモータ制御を実行し、
前記第二の制御手段は、前記第一の制御手段が前記モータ制御の終了時に前記モータに対して入力した駆動電流、又は、前記第一の制御手段が仮に現在の前記モータの回転速度から推定した前記電流上限値に基づき前記モータを制御する場合に前記モータに入力する駆動電流、よりも少ない駆動電流を前記モータに入力することによって、前記第一の制御手段による前記モータ制御の終了時よりも前記モータの回転速度を下げるモータ制御を実行し、
前記第三の制御手段は、前記信号出力手段の出力信号から特定される前記モータ又は前記被駆動体の動作量としての速度及び変位量の少なくとも一方と、当該動作量の目標軌跡とに基づき、前記モータに入力する駆動電流を決定し、当該駆動電流によるモータ制御を実行することにより、前記目標軌跡に沿って、前記被駆動体を目標停止位置まで変位させるように構成され、
前記目標軌跡は、当該目標軌跡に従う前記モータの回転速度が前記第二の制御手段による前記モータ制御の終了時における前記モータの回転速度以下となるように定められた目標軌跡であり、
前記モータ制御装置は、更に、
前記被駆動体を前記目標停止位置まで変位させるモータ制御の過程において、前記モータに作用する負荷が上昇するか否かを判定する判定手段
を備え、
前記切替手段は、前記判定手段により前記負荷が上昇すると判定された場合には、前記第一の制御手段によるモータ制御の終了後に、前記第二の制御手段及び前記第三の制御手段を順に動作させ、前記判定手段により前記負荷が上昇しないと判定された場合には、前記第一の制御手段によるモータ制御の終了後に、前記第二の制御手段を動作させずに、前記第三の制御手段を動作させること
を特徴とするモータ制御装置。
【請求項４】
前記第二の制御手段は、前記第一の制御手段が前記モータ制御の終了時に前記モータに対して入力した駆動電流よりも所定割合少ない駆動電流、又は、前記第一の制御手段が仮に現在の前記モータの回転速度から推定した前記電流上限値に基づき前記モータを制御する場合に前記モータに入力する駆動電流よりも所定割合少ない駆動電流を前記モータに入力すること
を特徴とする請求項３記載のモータ制御装置。
【請求項５】
前記切替手段は、前記信号出力手段の出力信号から特定される前記モータ又は前記被駆動体の変位量に応じて、前記第一、第二及び第三の制御手段を順に切り替えて動作させること
を特徴とする請求項１〜請求項４のいずれか一項記載のモータ制御装置。
【請求項６】
前記第三の制御手段は、動作開始初期において、前記モータの回転速度が低下する前記目標軌跡に基づくモータ制御を実行することにより、前記モータの回転速度を低下させること
を特徴とする請求項１〜請求項５のいずれか一項記載のモータ制御装置。
【請求項７】
前記第三の制御手段は、前記モータの回転速度が低下する前記目標軌跡に基づくモータ制御を実行した後、前記モータを定速回転させるように、前記モータを制御するものであり、前記第二の制御手段によるモータ制御終了時に前記信号出力手段の出力信号から特定された前記モータ又は前記被駆動体の速度Ｖ０と、この速度Ｖ０よりも低い速度であって前記モータを定速回転させるときの前記モータ又は前記被駆動体の標準速度Ｖｃと、に基づき、前記第二の制御手段によるモータ制御終了時の前記モータ又は前記被駆動体の加速度Ａ０を目標加速度の初期値に設定し、前記速度Ｖ０を目標速度の初期値に設定し、前記標準速度Ｖｃに到達するまでの減速時間を、前記速度Ｖ０と前記標準速度Ｖｃとの差（Ｖ０−Ｖｃ）と前記加速度Ａ０との比（Ｖ０−Ｖｃ）／Ａ０に応じた時間に設定した目標軌跡であって、前記目標速度が前記標準速度Ｖｃまで滑らかに単調減少する目標軌跡を、前記動作開始初期に用いる前記目標軌跡に設定して、当該目標軌跡に基づき、前記モータの回転速度を低下させた後、前記モータを定速回転させるように、前記モータを制御すること
を特徴とする請求項６記載のモータ制御装置。
【請求項８】
モータと、
前記モータにより駆動されるローラを備え、前記ローラの回転により被記録媒体を搬送する搬送手段と、
前記搬送手段により搬送される前記被記録媒体に画像を形成する画像形成手段と、
前記モータを制御することにより、前記搬送手段に前記被記録媒体を目標停止位置まで搬送させる請求項１〜請求項７のいずれか一項記載のモータ制御装置と、
前記目標停止位置を指定して前記モータ制御装置を繰返し動作させることにより、前記モータ制御装置を通じて、前記搬送手段に前記被記録媒体を段階的に搬送させる搬送制御手段と、
を備えることを特徴とする画像形成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、モータ制御装置及び画像形成装置に関する。
【背景技術】
【０００２】
従来、駆動対象を目標とする位置に高速搬送可能な技術としては、バンバン制御が知られている（例えば、特許文献１，２参照）。バンバン制御は、モータへの制御入力（操作量）を最大又は最小に切り替えて、モータの最大能力で駆動対象を駆動するものであり、駆動対象を目標とする位置に高速に搬送して停止させることができる。
【０００３】
この他、逆起電力による電流低下等を原因として、想定されているモータ駆動電流と実際のモータ駆動電流との間にずれが生じ、これによって制御精度が劣化する問題を解消するために、速度に応じて変化する飽和電流に基づいた制御デューティの最大制限値を設定するモータ制御装置が知られている（例えば、特許文献３参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００７−０８６９０４号公報
【特許文献２】特開平７−３０２１２１号公報
【特許文献３】特開２００７−２２１９４０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、バンバン制御は、駆動対象を高速に駆動するのに優れているが、単純な制御手法であるため、この制御手法によって駆動対象を高精度に目標とする位置に停止させることは難しい。一方、高精度に駆動対象を目標とする位置に停止させるための技術としては、目標プロファイル（目標軌跡）に基づいたフィードバック制御が知られている。しかしながら、フィードバック制御に、飽和電流に基づく操作量の制限値を設定する手法を採用しても、高速且つ高精度に駆動対象を制御するには限界がある。
【０００６】
本発明は、こうした問題に鑑みなされたものであり、従来よりも高速且つ高精度に駆動対象を目標位置に停止させることが可能なモータ制御装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するためになされた第一の発明は、モータを制御するモータ制御手段と、モータの回転に応じた信号を出力する信号出力手段と、を備え、モータ制御手段が、信号出力手段の出力信号に基づきモータを制御して、モータによって駆動される被駆動体を目標停止位置まで変位させるモータ制御装置であって、モータ制御手段が、第一、第二、及び、第三の制御手段と、第一、第二、及び、第三の制御手段を順に切り替えて動作させる切替手段と、を備えるものである。
【０００８】
第一の制御手段は、信号出力手段の出力信号から特定されるモータの回転速度に基づき、モータに入力可能な電流の上限値であって逆起電力による電流低下を加味した電流上限値を推定し、推定した電流上限値に対応する駆動電流をモータに入力するモータ制御を実行する。一方、第二の制御手段は、第一の制御手段がモータ制御の終了時にモータに対して入力した駆動電流、又は、第一の制御手段が仮に現在のモータの回転速度から推定した電流上限値に基づきモータを制御する場合にモータに入力する駆動電流、よりも少ない駆動電流をモータに入力するモータ制御を実行する。
【０００９】
そして、第三の制御手段は、信号出力手段の出力信号から特定されるモータ又は被駆動体の動作量としての速度（回転速度）及び変位量（回転量）の少なくとも一方と、当該動作量の目標軌跡とに基づき、モータに入力する駆動電流を決定し、当該駆動電流によるモータ制御を実行することにより、目標軌跡に沿って、被駆動体を目標停止位置まで変位させる。
【００１０】
このように構成されたモータ制御装置によれば、被駆動体の駆動初期においては、電流上限値に対応する駆動電流で、モータを駆動するため、モータの最大出力に対応する出力で被駆動体を駆動することができる。一方、被駆動体の駆動後期においては、信号出力手段の出力信号から特定されるモータ又は被駆動体の動作量と、当該動作量の目標値とに基づき、入力する駆動電流を決定し、モータを制御するので、高精度に駆動対象を目標停止位置に停止させることができる。
【００１１】
更に言えば、このモータ制御装置では、第一の制御手段によるモータ制御の終了時点から第三の制御手段によるモータ制御の開始時点までの期間において、第二の制御手段により、駆動電流を抑えるようなモータ制御を行う。従って、第一の制御手段によるモータ制御から第三の制御手段によるモータ制御に直ちに切り替えてモータ制御を行う場合よりも、第三の制御手段によるモータ制御の際に、モータの動作量と目標軌跡とから決定される駆動電流が電流上限値を超えてしまうような事象の発生確率を抑えることができ、高精度に被駆動体を目標停止位置に停止させることができる。
【００１２】
即ち、第一の制御手段では、電流上限値に対応する駆動電流でモータを駆動しているため、このようなモータ制御から第三の制御手段によるモータ制御に、被駆動体の運動状態が不連続とならないように滑らかに切り替えようとすると、第三の制御手段によるモータ制御の開始初期では、電流上限値周辺の駆動電流がモータに入力されることとなる。そして、この時期に、モータに作用する負荷が上昇すると、目標軌跡から決定される駆動電流が電流上限値を超えてしまい、駆動電流の入力に対し、実際にモータを流れる電流量が小さくなる現象である電流飽和が生じる可能性がある。
【００１３】
一方、第二の制御手段によるモータ制御で、モータに入力する駆動電流を抑え、その後、第二の制御手段によるモータ制御から第三の制御手段によるモータ制御に、制御を切り替えれば、第三の制御手段によるモータ制御の開始初期では、第二の制御手段によるモータ制御で抑えられた駆動電流を基準にした駆動電流でモータを駆動すればよいため、モータに作用する負荷が上昇しても、目標軌跡から算出される駆動電流が電流上限値を超えてしまう可能性を抑えることができる。従って、本発明によれば、電流飽和が生じるのを抑えることができて、高精度に、被駆動体を目標停止位置に停止させることができる。
【００１４】
ところで、切替手段は、第一、第二及び第三の制御手段を、信号出力手段の出力信号から特定されるモータ又は被駆動体の変位量に応じて、順に切り替えて動作させる構成にすることができる。この切替手段の構成によれば、被駆動体を高精度に目標停止位置に停止させることができる。また、第二の制御手段には、第一の制御手段がモータ制御の終了時にモータに対して入力した駆動電流よりも所定割合少ない駆動電流をモータに入力する構成や、第一の制御手段が仮に現在のモータの回転速度から推定した電流上限値に基づきモータを制御する場合にモータに入力する駆動電流よりも所定割合少ない駆動電流をモータに入力する構成等を採用することができる。
【００１５】
この他、第一の制御手段が、信号出力手段の出力信号から特定されるモータの回転速度ωに予め定められた係数Ｋを乗算して得られる値Ｋ・ωを逆起電力による電流低下分とみなして、逆起電力による電流低下がない場合にモータに流れる電流の上限値Ｉｍａｘから値Ｋ・ωを減算した値（Ｉｍａｘ−Ｋ・ω）を、逆起電力による電流低下を加味した電流上限値として推定するものである場合、第二の制御手段は、係数Ｋよりも大きい係数Ｋ’を用いて算出される偽の電流上限値（Ｉｍａｘ−Ｋ’・ω）に基づき上記第一の制御手段が仮にモータ制御を行う場合にモータに入力する駆動電流と同一の駆動電流をモータに入力する構成にすることができる。このような構成を採用しても、第二の制御手段によって駆動電流を抑えたモータ制御を行うことができて、第三の制御手段によって電流飽和が生じるのを抑えることができる。
【００１６】
また、モータ制御装置は、被駆動体を目標停止位置まで変位させるモータ制御の過程において、モータに作用する負荷が上昇するか否かを判定する判定手段を備える構成にされてもよい。付言すれば、判定手段は、第一の制御手段によるモータ制御の終了後において、モータに作用する負荷が上昇するか否かを判定する構成にされるとよい。そして、切替手段は、判定手段により上昇すると判定された場合には、第一の制御手段によるモータ制御の終了後に、第二の制御手段及び第三の制御手段を順に動作させ、判定手段により上昇しないと判定された場合には、第一の制御手段によるモータ制御の終了後に、第二の制御手段を動作させずに、第三の制御手段を動作させる構成にされるとよい。
【００１７】
第二の制御手段を設けているのは、第三の制御手段によるモータ制御の開始初期において負荷の上昇で、電流飽和が生じる可能性を抑えるためであり、負荷上昇の可能性が殆どないのであれば、第一の制御手段によるモータ制御から第三の制御手段によるモータ制御に、制御を直ちに切り替えても、第三の制御手段によるモータ制御の開始後に電流飽和が生じる可能性は小さい。従って、上述したように、第二の制御手段によるモータ制御を実行するか否かを切り替えるようにすると、負荷上昇がない場合には、停止精度が劣化するのを抑えて、高速に被駆動体を目標停止位置に停止させることができる。
【００１８】
また、第三の制御手段は、動作開始初期において、モータの回転速度が低下する目標軌跡に基づくモータ制御を実行することにより、モータの回転速度を低下させる構成にされるとよい。このように第三の制御手段を構成すると、第三の制御手段によるモータ制御で、電流飽和が生じるのを抑えることができて、目標停止位置への停止誤差が劣化するのを極力を抑えることができる。
【００１９】
更に言えば、第三の制御手段は、上記モータの回転速度が低下する目標軌跡に基づくモータ制御を実行した後、モータを定速回転（被駆動体を定速で変位）させるように、モータを制御する構成にされるとよい。第三の制御手段では、被駆動体を目標停止位置に停止させるが、それまでの過程において、モータ（被駆動体）を定速制御すると、目標軌跡からの上記動作量の誤差を抑えた後に、減速制御に移行することができ、高精度に被駆動体を目標停止位置に停止させることができるといった利点がある。
【００２０】
この他、第三の制御手段は、第二の制御手段によるモータ制御終了時に信号出力手段の出力信号から特定されたモータ又は被駆動体の速度Ｖ０と、この速度Ｖ０よりも低い速度であってモータを定速回転させるときのモータ又は被駆動体の標準速度Ｖｃと、に基づき、第二の制御手段によるモータ制御終了時のモータ又は被駆動体の加速度Ａ０を目標加速度の初期値に設定し、速度Ｖ０を目標速度の初期値に設定し、標準速度Ｖｃに到達するまでの減速時間を、速度Ｖ０と標準速度Ｖｃとの差（Ｖ０−Ｖｃ）と加速度Ａ０との比（Ｖ０−Ｖｃ）／Ａ０に応じた時間に設定した目標軌跡であって、目標速度が標準速度Ｖｃまで滑らかに単調減少する目標軌跡を、動作開始初期に用いる目標軌跡に設定して、当該目標軌跡に基づき、モータの回転速度を低下させた後、モータを定速回転させるように、モータを制御する構成にすることができる。
【００２１】
また、上記目的を達成するために、モータ制御装置は、次のように構成されてもよい。第二の発明は、モータを制御するモータ制御手段と、モータの回転に応じた信号を出力する信号出力手段と、を備え、モータ制御手段が、信号出力手段の出力信号に基づきモータを制御して、モータによって駆動される被駆動体を目標停止位置まで変位させるモータ制御装置であって、モータ制御手段が、被駆動体を目標停止位置まで変位させるモータ制御過程の前期において動作する前期制御手段と、被駆動体を目標停止位置まで変位させるモータ制御過程の後期において動作する後期制御手段と、前期制御手段及び後期制御手段を順に動作させる切替手段と、を備えるものである。
【００２２】
前期制御手段は、信号出力手段の出力信号から特定されるモータの回転速度に基づき、モータに入力可能な電流の上限値であって逆起電力による電流低下を加味した電流上限値を推定し、推定した電流上限値に対応する駆動電流をモータに入力するモータ制御を実行する。一方、後期制御手段は、信号出力手段の出力信号から特定されるモータ又は被駆動体の動作量としての速度及び変位量の少なくとも一方と、当該動作量の目標軌跡とに基づき、モータに入力する駆動電流を決定し、当該駆動電流によるモータ制御を実行することにより、目標軌跡に沿って、被駆動体を目標停止位置まで変位させる。
【００２３】
そして、切替手段は、前期制御手段によるモータ制御終了後、所定条件が満足された後に後期制御手段を動作させることで、前期制御手段によるモータ制御終了後、所定条件が満足されるまでは、モータに対して駆動電流が入力されないようにして、前期制御手段及び後期制御手段を順に動作させる。
【００２４】
例えば、切替手段は、前期制御手段によるモータ制御終了時点から、予め定められた量モータ又は被駆動体が変位すると、所定条件が満足されたとして、後期制御手段を動作させる構成にすることができる。別例として、切替手段は、前期制御手段によるモータ制御終了時点から、予め定められた時間経過すると、所定条件が満足されたとして、後期制御手段を動作させる構成にされてもよい。
【００２５】
前期制御手段によるモータ制御終了後の「モータに対して駆動電流を入力しない期間」では、被駆動体及びモータは当然のことながら減速し、それに伴って電流上限値は低下する。よって、このように、前期制御手段と後期制御手段との間に、「モータに対して駆動電流を入力しない期間」を設けると、後期制御手段によるモータ制御の開始初期において、電流飽和が生じるのを抑えることができ、高精度に目標停止位置に被駆動体を停止させることができる。
【００２６】
また、上述した第一及び第二の発明のモータ制御装置は、画像形成装置に組み込むことができる。即ち、画像形成装置は、モータと、モータにより駆動されるローラを備え、ローラの回転により被記録媒体を搬送する搬送手段と、搬送手段により搬送される被記録媒体に画像を形成する画像形成手段と、モータを制御することにより、搬送手段に被記録媒体を目標停止位置まで搬送させる上述のモータ制御装置と、目標停止位置を指定してモータ制御装置を繰返し動作させることにより、モータ制御装置を通じて、搬送手段に被記録媒体を段階的に搬送させる搬送制御手段と、を備えた構成とすることができる。
【００２７】
この画像形成装置によれば、被記録媒体の搬送を高精度に行うことができるので、結果として、被記録媒体に対して高品質な画像を形成することができる。
【図面の簡単な説明】
【００２８】
【図１】制御システム１の構成を表すブロック図である。
【図２】インクジェットプリンタ１００の構成を表す図である。
【図３】第一実施例の制御手法による駆動対象１０の位置・速度・加速度の軌跡を表すグラフである。
【図４】電流上限値を算出する関数Ｕｍ（ω）の導出方法を説明した図である。
【図５】モータ制御ユニット６０が実行する主制御処理を表すフローチャートである。
【図６】主制御処理内で実行される第三制御処理を表すフローチャートである。
【図７】第二実施例において実行される第二制御処理を表すフローチャートである。
【図８】第三実施例において実行される第二制御処理を表すフローチャートである。
【図９】第三実施例の制御手法による駆動対象１０の位置・速度・加速度の軌跡を表すグラフである。
【図１０】第四実施例の制御手法による駆動対象１０の位置・速度・加速度の軌跡を表すグラフである。
【図１１】第四実施例において実行される第三制御処理を表すフローチャートである。
【図１２】インクジェットプリンタ２００の構成を表す図である。
【図１３】第五実施例においてモータ制御ユニット６０が実行する搬送前処理を表すフローチャート（ａ）及び第五実施例の第二制御処理を表すフローチャート（ｂ）である。
【発明を実施するための形態】
【００２９】
以下に本発明の実施例について、図面と共に説明する。
［第一実施例］
本実施例の制御システム１は、図１に示すように、駆動対象１０を駆動するモータ（直流モータ）２０と、モータドライバ３０と、モータ２０の回転軸に接続されたロータリエンコーダ４０と、ロータリエンコーダ４０の出力信号に基づき、モータ２０の回転位置Ｘを検出する位置検出器５０及びモータ２０の回転速度ωを検出する速度検出器５５と、モータ２０に対する操作量である電流指令値Ｕを算出するモータ制御ユニット６０と、を備える。
【００３０】
この制御システム１は、画像形成装置等の電気的装置に組み込まれ、電気的装置の主制御ユニット（メインマイコン等）から入力される指令に従うモータ制御を行う。具体的に、駆動対象１０としては、画像形成装置が備える用紙搬送機構を挙げることができる。
【００３１】
図２には、画像形成装置としてのインクジェットプリンタ１００の構成を示す。インクジェットプリンタ１００は、プラテン１０１の上流側に、搬送ローラ１１１及びピンチローラ１１２を備え、プラテン１０１の下流側に、排紙ローラ１１３及びピンチローラ１１４を備える。また、プラテン１０１上に、用紙１６０に対して画像形成可能な記録ヘッド（所謂インクジェットヘッド）１３１及び記録ヘッド１３１を搬送するためのキャリッジ１３５を備える。この他、インクジェットプリンタ１００は、搬送ローラ１１１及び排紙ローラ１１３を駆動するためのモータ１２０、このモータ１２０を制御するモータ制御装置１４０、並びに、モータ制御装置１４０を含む装置内各部に対して指令入力して、インクジェットプリンタ１００全体を統括制御する主制御ユニット１５０を備える。
【００３２】
このインクジェットプリンタ１００において、用紙搬送機構は、主にローラ１１１〜１１４によって構成される。搬送ローラ１１１及び排紙ローラ１１３は、モータ１２０からの動力を受けて、互いに連動するように回転する。この用紙搬送機構には、図示しない給紙トレイから用紙１６０が供給され、給紙された用紙１６０は、搬送ローラ１１１とピンチローラ１１２との間で挟持されて、搬送ローラ１１１の回転により下流側（図中太矢印方向）に搬送される。また、搬送ローラ１１１の回転により搬送されて排紙ローラ１１３に到達した用紙１６０は、排紙ローラ１１３とピンチローラ１１４との間で挟持されて、排紙ローラ１１３の回転により下流に搬送される。この搬送ローラ１１１及び排紙ローラ１１３の同期動作により、用紙１６０は、図示しない排紙トレイに排出される。また、このように搬送される用紙１６０に対しては、プラテン１０１上で、記録ヘッド１３１によるインク液滴の吐出動作が行われる。
【００３３】
インクジェットプリンタ１００では、外部から印刷指令を受信すると、主制御ユニット１５０が、この印刷指令にて指定された印刷対象の画像データに基づく画像を用紙１６０に形成するために、モータ制御装置１４０に対して、搬送ローラ１１１及び排紙ローラ１１３を所定量回転させるように駆動指令を入力する。これによって、モータ制御装置１４０は、搬送ローラ１１１及び排紙ローラ１１３が所定量回転するように、モータ１２０を制御する。
【００３４】
主制御ユニット１５０は、このような駆動指令の入力を繰返し実行することにより、モータ制御装置１４０を通じて、用紙１６０を所定量ずつ記録ヘッド１３１による画像形成位置に送り出す。そして、用紙１６０を所定量ずつ送り出しては、用紙１６０の搬送方向とは直交する主走査方向（図２紙面法線方向）に、記録ヘッド１３１を搬送し、この搬送過程では記録ヘッド１３１に印刷対象の画像データに基づくインク液滴の吐出動作を実行させることにより、プラテン１０上の用紙１６０に印刷対象の画像データに基づく画像を形成する。尚、記録ヘッド１３１のインク液滴の吐出動作は、少なくとも用紙１６０が所定量送りだされて停止した状態で実行される。また、記録ヘッド１３１を１回搬送する中でのインク液滴の吐出動作の実行が終了すると、再度用紙１６０が所定量送りだされる。図２に示すインクジェットプリンタ１００は、このように用紙１６０を所定量ずつ送り出しては、用紙１６０に画像を形成する動作を繰り返すことによって、印刷対象の画像データに基づく一連の画像を用紙１６０に形成する。
【００３５】
本実施例の制御システム１は、このような構成のインクジェットプリンタ１００に組み込むことができる。具体的に、インクジェットプリンタ１００には、制御システム１の駆動対象１０及びモータ２０を除く構成要素（図１点線内の構成要素）を、モータ制御装置１４０として組み込むことができる。この場合、インクジェットプリンタ１００が備えるモータ１２０は、制御システム１が備えるモータ２０に対応する。そして、搬送ローラ１１１及び排紙ローラ１１３、又は、用紙１６０が駆動対象１０に対応する。
【００３６】
インクジェットプリンタ１００では、用紙１６０を所定量ずつ送り出しては、用紙１６０に画像を形成するため、高精度に用紙１６０を所定量ずつ搬送しないと、用紙１６０に形成される画像の品質が劣化する。一方で、ユーザからは、高速な印字が求められている。本実施例の制御システム１は、このような高速性と精度とが求められるシステムに適用されると、その効果が発揮される。
【００３７】
続いて、制御システム１の詳細構成を説明する。制御システム１が備えるモータドライバ３０（図１参照）は、モータ制御ユニット６０から入力される電流指令値Ｕに従って、電流指令値Ｕに対応する駆動電流をモータ２０に入力し、モータ２０を駆動する。
【００３８】
一方、ロータリエンコーダ４０は、モータ２０の回転軸に接続されて、モータ２０が所定量回転する度にパルス信号を出力する周知のロータリエンコーダである。このロータリエンコーダ４０は、パルス信号として、位相がπ／２異なるＡ相信号及びＢ相信号を出力する。位置検出器５０は、このロータリエンコーダ４０から出力されるＡ相信号及びＢ相信号に基づき、モータ２０の回転位置Ｘを検出する。そして、検出した回転位置Ｘの情報をモータ制御ユニット６０に入力する。また、速度検出器５５は、ロータリエンコーダ４０から出力されるＡ相信号及びＢ相信号に基づき、モータ２０の回転速度ωを検出し、この情報をモータ制御ユニット６０に入力する。
【００３９】
そして、モータ制御ユニット６０は、外部（主制御ユニット１５０等）から駆動指令が入力されると、その駆動指令と共に指定された目標搬送量Ｐｔに従って、駆動対象１０を目標搬送量Ｐｔ分搬送する。
【００４０】
具体的に、モータ制御ユニット６０は、駆動指令が入力されると、駆動対象１０を目標搬送量Ｐｔに対応した地点（以下「目標停止位置」とも表現する。）まで移動させるために、制御手法の異なる第一、第二及び第三制御処理を、モータ２０の回転位置Ｘから特定される駆動対象１０の位置（搬送量）Ｐに応じて順に切り替えて実行する。即ち、図３に示すように、駆動対象１０の駆動制御初期では、第一制御処理を実行し、駆動制御中期では、第二制御処理を実行し、駆動制御後期では、第三制御処理を実行する。
【００４１】
第一制御処理では、速度検出器５５から入力されるモータ２０の回転速度ωの情報に基づき、この回転速度ωでの逆起電力による電流低下を加味した電流量であってモータ２０に入力可能な電流上限値Ｕｍａｘを、所定の演算式Ｕｍ（ω）により算出し、算出した電流上限値Ｕｍａｘに対応する電流指令値Ｕ＝Ｕｍａｘを、モータドライバ３０に入力する。このような制御によって、電流上限値Ｕｍａｘに対応する駆動電流をモータ２０に入力して、モータ２０の最大能力相当で駆動対象１０を搬送する。
【００４２】
尚、電流上限値Ｕｍａｘを算出可能な演算式Ｕｍ（ω）は、予め設計段階で理論又は実験により求めることができる。具体的に、設計者は、理論により演算式Ｕｍ（ω）を定める場合、演算式Ｕｍ（ω）を、モータ２０の定格電圧Ｖｍａｘ、モータ２０の起電力係数Ｋｅ、電機子抵抗Ｒａに基づき、次式により定めることができる。
【００４３】
【数１】
0005990884.tif 000002
【００４４】
一方、実験結果に基づいて定める場合には、図４に示すように、逆起電力による影響がない状態においてモータ２０に流すことのできる最大電流量Ｉｍａｘ、即ち、モータ２０の回転速度がゼロであるときの最大電流量Ｉｍａｘを電流指令値Ｕ＝Ｉｍａｘとしてモータドライバ３０に入力することによって得られるモータ２０の最大回転速度ωｍａｘと、その時点でモータ２０を流れる電流の上記最大電流量Ｉｍａｘからの電流低下分Ｉｄと、に基づき、演算式Ｕｍ（ω）を次式により定めることができる。
【００４５】
【数２】
0005990884.tif 000003
【００４６】
演算式Ｕｍ（ω）を理論及び実験のいずれに基づいて定めるかは、設計者の自由である。しかしながら、理論により演算式Ｕｍ（ω）を求める場合には、カタログ値の誤差による影響を受けて、電流上限値Ｕｍａｘを演算式Ｕｍ（ω）に基づき正確に算出することができない可能性があるので、実験によりＩｍａｘ，Ｉｄ，ωｍａｘを求めて、演算式Ｕｍ（ω）を定めるのが好ましい。
【００４７】
また、モータ制御ユニット６０は、第一制御処理に代えて第二制御処理を実行すると（図３参照）、電流上限値Ｕｍａｘより小さい偽の電流上限値Ｕｆを算出し、算出した偽の電流上限値Ｕｆに対応する電流指令値Ｕ＝Ｕｆを、モータドライバ３０に入力する。このような制御によって、電流上限値Ｕｍａｘよりも小さい駆動電流をモータ２０に入力し、駆動対象１０を搬送する。
【００４８】
具体的に、式（２）を用いて電流上限値Ｕｍａｘを算出する場合には、Ｉｄよりも大きい値として予め設計段階で定めた値Ｉｆを用いて、次式により、偽の電流上限値Ｕｆを算出することができる。
【００４９】
【数３】
0005990884.tif 000004
【００５０】
尚、値Ｉｆは、想定される負荷では、第三制御処理によって算出される電流指令値Ｕが電流上限値Ｕｍａｘを超えないような値に定める。具体的な値Ｉｆについては、実験的に上記条件を満足する値を探索して定めることができる。
【００５１】
この他、モータ制御ユニット６０は、第二制御処理に代えて、第三制御処理を実行すると、位置検出器５０により検出されたモータ２０の回転位置Ｘから特定される駆動対象１０の位置であって駆動開始地点（第一制御処理の実行開始時の地点）を原点とした位置（搬送量）Ｐと、速度検出器５５により検出されたモータ２０の回転速度ωから特定される駆動対象１０の速度Ｖと、駆動対象１０の位置、速度及び加速度についての目標プロファイル（即ち目標軌跡）と、に基づき、駆動対象１０が目標プロファイルに追従して移動するような電流指令値Ｕを算出する。そして、この電流指令値Ｕを、モータドライバ３０に入力する。この動作により、モータ制御ユニット６０は、駆動対象１０の位置Ｐ及び速度Ｖを目標値に制御する。
【００５２】
尚、第三制御処理で用いられる目標プロファイルは、定速区間及び減速区間を含み、第三制御処理の開始時点での駆動対象１０の位置Ｐ＝Ｐｍ及び速度Ｖ＝Ｖｍ、並びにその時点での時刻ｔ＝Ｔａに基づいて、例えば、次のように設定される。
【００５３】
＜定速区間＞
・目標加速度Ａｒ＝０  …（４）
・目標速度Ｖｒ＝Ｖｍ  …（５）
・目標位置Ｐｒ＝Ｖｍ・（ｔ−Ｔａ）＋Ｐｍ  …（６）
＜減速区間＞
・目標加速度
【００５４】
【数４】
0005990884.tif 000005
【００５５】
・目標速度
【００５６】
【数５】
0005990884.tif 000006
【００５７】
・目標位置
【００５８】
【数６】
0005990884.tif 000007
【００５９】
但し、定速区間は、時刻Ｔａから時刻Ｔｂまでの時間領域に対応し、減速区間は、時刻Ｔｂから時刻Ｔｂ＋Ｔｄまでの時間領域に対応する。記号ｔは、駆動対象１０の駆動開始時点からの時刻（経過時間）を表し、記号Ｔｂは、減速区間の開始時刻（以下「減速開始時刻」とも表現する。）を表し、記号Ａｐは、減速区間での目標加速度Ａｒのピークの絶対値を表す。Ａｐは、モータ２０の最大能力に対応した一律の値に、設計段階で定められる。
【００６０】
式（７）から減速区間での駆動対象１０の移動量Ｐｄ（以下「減速距離」とも表現する。）は、Ｐｄ＝Ｖｍ2／Ａｐとなる。従って、定速区間の時間長さＴｃは、駆動対象１０が目標停止位置Ｐｔで停止するように、Ｔｃ＝（Ｐｔ−Ｐｄ−Ｐｍ）／Ｖｍに設定され、減速開始時刻Ｔｂは、Ｔｂ＝Ｔａ＋Ｔｃに設定される。
【００６１】
尚、第三制御処理では、フィードバック制御系、又は、フィードバック制御系及びフォードフォワード制御系からなる二自由度制御系を用いて、電流指令値Ｕを算出する構成にすることができる。電流指令値Ｕを算出する伝達関数については、設計者が駆動対象１０の特性に基づいて周知の手法により定めることができる。
【００６２】
本実施例では、このような内容の第一、第二及び第三制御処理を切り替えて実行することで、高速且つ高精度に、駆動対象１０を目標停止位置Ｐｔまで搬送する。
詳述すると、本実施例では、第一制御処理によって、モータ２０の最大能力相当で駆動対象１０を駆動する。また、第三制御処理では、モータ２０の最大能力相当で駆動対象１０を減速・停止させることができるように、減速区間での目標加速度Ａｒのピークが、モータ２０の最大能力に対応した一律の値−Ａｐとなるように減速区間の目標プロファイルを設定する。本実施例では、このような駆動対象１０の加速・減速・停止手法を採用することにより、高速且つ高精度に、駆動対象１０を目標停止位置Ｐｔまで搬送する。
【００６３】
また、本実施例では、図３に示すように、第三制御処理の開始後、直ちに駆動対象１０を減速させずに、駆動対象１０を定速移動させた後に減速・停止させる。目標プロファイルに基づく制御の開始時には、目標プロファイルからの駆動対象１０の位置Ｐ及び速度Ｖの変動が大きいが、定速区間を設けることで、その変動を抑えてから、減速過程に移ることができる。従って、本実施例によれば、駆動対象１０を高精度に目標停止位置Ｐｔに停止させることができる。尚、定速区間を設けることで、高速性については多少劣化することになるので、場合によっては、定速区間を設けずに目標プロファイルを設定する例も考えられる。
【００６４】
続いて、駆動指令が入力されるとモータ制御ユニット６０が周期的に実行する主制御処理の詳細を、図５を用いて説明する。主制御処理は、駆動対象１０を上記駆動指令にて指定された目標停止位置Ｐｔまで搬送するための処理であり、制御周期毎に実行される。
【００６５】
図５に示す主制御処理を開始すると、モータ制御ユニット６０は、まず、位置検出器５０により検出されたモータ２０の回転位置Ｘに基づき、現時点での駆動対象１０の位置Ｐを特定し、速度検出器５５により検出されたモータ２０の回転速度ωに基づき、現時点での駆動対象１０の速度Ｖを特定する（Ｓ１１０）。更に、モータ制御ユニット６０は、駆動指令が入力されて駆動対象１０の駆動制御を開始した時点からの経過時間（現在時刻）ｔを特定する（Ｓ１１０）。モータ２０と駆動対象１０とは連動するので、当然の如く、モータ２０の回転位置Ｘ及び回転速度ωから、駆動対象１０の位置Ｐ及び速度Ｖは特定可能である。
【００６６】
その後、モータ制御ユニット６０は、フラグＦが値１にセットされているか否かを判断する（Ｓ１２０）。フラグＦ及び後述するフラグＧは、駆動指令が入力されると値０にリセットされるものである。フラグＦは、Ｓ２５０の処理が実行されると、値１にセットされ、フラグＧは、Ｓ４００の処理が実行されると値１にセットされる。
【００６７】
ここで、フラグＦが値０であると判断すると（Ｓ１２０でＮｏ）、モータ制御ユニット６０は、Ｓ１３０に移行し、フラグＦが値１であると判断すると（Ｓ１２０でＹｅｓ）、Ｓ１６０に移行する。
【００６８】
Ｓ１３０に移行すると、モータ制御ユニット６０は、Ｓ１１０で特定された現在の駆動対象１０の位置Ｐに基づき、駆動対象１０が予め定められた第一制御処理から第二制御処理への切替位置である第一切替位置Ｐ１に到達したか否かを判断する。具体的には、駆動対象１０の位置Ｐが第一切替位置Ｐ１以上である場合に、駆動対象１０が第一切替位置Ｐ１に到達したと判断する。
【００６９】
そして、駆動対象１０が第一切替位置Ｐ１に到達していないと判断すると（Ｓ１３０でＮｏ）、第一制御処理として、次の内容の処理を実行する。即ち、Ｓ１１０で特定された現在のモータ２０の回転速度ωに基づき、上述した式（２）に従って、現在の回転速度ωに対応する電流上限値Ｕｍａｘを算出し（Ｓ１４０）、この電流上限値Ｕｍａｘに対応する電流指令値Ｕ＝Ｕｍａｘをモータドライバ３０に入力する（Ｓ１５０）。その後、モータ制御ユニット６０は、当該主制御処理を一旦終了し、周期的に到来する次の実行タイミングで、再度主制御処理をＳ１１０から開始する。
【００７０】
駆動対象１０が第一切替位置Ｐ１に到達するまでは、フラグＦ＝０であるため、主制御処理の周期的な実行によって、モータ制御ユニット６０では、この第一制御処理（Ｓ１４０，Ｓ１５０）が繰返し実行される。即ち、主制御処理の周期的な実行によって、駆動対象１０が第一切替位置Ｐ１に到達するまでは、電流上限値Ｕｍａｘに対応する駆動電流（電流量）でモータ２０は回転駆動され、駆動対象１０はモータ２０の最大能力相当で搬送される。
【００７１】
一方、駆動対象１０が第一切替位置Ｐ１に到達したと判断すると（Ｓ１３０でＹｅｓ）、モータ制御ユニット６０は、Ｓ１７０に移行し、駆動対象１０が予め定められた第二制御処理から第三制御処理への切替位置である第二切替位置Ｐ２に到達したか否かを判断する。具体的には、駆動対象１０の位置Ｐが第二切替位置Ｐ２以上である場合に、駆動対象１０が第二切替位置Ｐ２に到達したと判断する。
【００７２】
そして、駆動対象１０が第二切替位置Ｐ２に到達していないと判断すると（Ｓ１７０でＮｏ）、モータ制御ユニット６０は、第二制御処理として、次の内容の処理を実行する。即ち、Ｓ１１０で特定された現在のモータ２０の回転速度ωに基づき、上述した式（３）に従って、現在の回転速度ωに対応する電流上限値Ｕｍａｘよりも小さい偽の電流上限値Ｕｆを算出し（Ｓ２１０）、この偽の電流上限値Ｕｆに対応する電流指令値Ｕ＝Ｕｆをモータドライバ３０に入力する（Ｓ２２０）。その後、モータ制御ユニット６０は、フラグＦを値１に設定して（Ｓ２５０）、当該主制御処理を一旦終了する。
【００７３】
尚、第二制御処理（Ｓ２１０，Ｓ２２０）の初回実行時点以降で実行される主制御処理において、モータ制御ユニット６０は、Ｓ１２０で肯定判断して、Ｓ１６０に移行し、Ｓ１６０では、フラグＧが値１に設定されているか否かを判断する。そして、駆動対象１０が第二切替位置Ｐ２に到達するまでは、フラグＧが値１に設定されないので、否定判断して（Ｓ１６０でＮｏ）、Ｓ１７０に移行する。
【００７４】
従って、駆動対象１０が第二切替位置Ｐ２に到達するまでは、主制御処理の周期的な実行によって、モータ制御ユニット６０では、この第二制御処理（Ｓ２１０，Ｓ２２０）が繰返し実行される。即ち、主制御処理の周期的な実行によって、駆動対象１０が第二切替位置Ｐ２に到達するまでは、偽の電流上限値Ｕｆに対応する駆動電流（電流量）でモータ２０は回転駆動され、モータ２０に入力される駆動電流は、電流上限値Ｕｍａｘよりも小さな値に調整される。
【００７５】
この他、駆動対象１０が第二切替位置Ｐ２に到達したと判断すると（Ｓ１７０でＹｅｓ）、モータ制御ユニット６０は、Ｓ３００に移行し、第三制御処理を実行する。また、第三制御処理の実行後には、フラグＧを値１に設定して（Ｓ４００）、当該主制御処理を一旦終了する。
【００７６】
尚、第三制御処理（Ｓ３００）の初回実行時点以降で実行される主制御処理において、モータ制御ユニット６０は、Ｓ１２０，Ｓ１６０で肯定判断して、Ｓ３００に移行する。
従って、駆動対象１０が第二切替位置Ｐ２に到達してからは、主制御処理の周期的な実行によって、モータ制御ユニット６０では、この第三制御処理（Ｓ３００）が繰返し実行される。モータ制御ユニット６０は、この第三制御処理の繰返し実行により、駆動対象１０が目標停止位置Ｐｔで停止すると、このような主制御処理の周期的実行を終了する。
【００７７】
続いて、Ｓ３００で実行する第三制御処理の詳細について、図６を用いて説明する。第三制御処理では、フラグＧが値１に設定されているか否かを判断し（Ｓ３１０）、フラグＧが値１に設定されていないと判断すると（Ｓ３１０でＮｏ）、Ｓ３２０に移行して、定速区間及び減速区間の目標プロファイルを設定する。一方、フラグＧが値１に設定されていると判断すると（Ｓ３１０でＹｅｓ）、Ｓ３３０に移行する。即ち、初回の第三制御処理では、Ｓ３２０で定速区間及び減速区間の目標プロファイルを設定した後に、ここで設定した目標プロファイルに基づいて、Ｓ３３０の処理を実行し、二回目以降の第三制御処理では、Ｓ３２０の処理を実行せずに、初回の第三制御処理で設定した目標プロファイルに基づいて、Ｓ３３０の処理を実行する。
【００７８】
Ｓ３２０では、具体的に、Ｓ１１０で特定された現在の駆動対象１０の速度Ｖ＝Ｖｍを用いて、減速距離Ｐｄ＝Ｖｍ2／Ａｐを算出し、この減速距離Ｐｄと、Ｓ１１０で特定された現在の駆動対象１０の位置Ｐ＝Ｐｍと、目標停止位置Ｐｔと、から、駆動対象１０を目標停止位置Ｐｔで停止させるのに最適な定速区間の時間長さＴｃ＝（Ｐｔ−Ｐｄ−Ｐｍ）／Ｖｍを算出する。そして、現在時刻ｔ＝Ｔａに、定速区間の時間長さＴｃを加算して、減速開始時刻Ｔｂを、Ｔｂ＝Ｔａ＋Ｔｃに設定し、これらの値Ｐｍ，Ｖｍ，Ｔａ，Ｔｂを用いて、式（４）〜（６）に従う定速区間の目標プロファイルを設定し、更に予め設計段階で定められた値Ａｐを用いて、式（７）〜（１０）に従う減速区間の目標プロファイルを設定する。
【００７９】
そして、Ｓ３３０に移行すると、モータ制御ユニット６０は、目標プロファイルに従う現在時刻ｔでの目標値（目標加速度Ａｒ、目標速度Ｖｒ及び目標位置Ｐｒ）と、Ｓ１１０の処理で特定された駆動対象１０の位置Ｐ及び速度Ｖとに基づき、駆動対象１０の位置Ｐ及び速度Ｖが目標値に追従するようなモータ２０に対する電流指令値Ｕを算出し、算出した電流指令値Ｕを、モータドライバ３０に入力する。その後、第三制御処理を終了し、Ｓ４００へ移行する。
【００８０】
モータ制御ユニット６０は、駆動対象１０が第二切替位置Ｐ２に到達してからは、このような内容の第三制御処理（Ｓ３００）を繰返し実行することにより、目標プロファイルに従って、駆動対象１０が目標停止位置Ｐｔで停止するように、モータ２０を制御する。そして、駆動対象１０が目標停止位置Ｐｔで停止すると、当該周期的な主制御処理の実行を完了する。尚、モータ制御ユニット６０は、位置検出器５０から得られる駆動対象１０の位置Ｐが一定時間変化しなくなると、駆動対象１０が停止したとみなして周期処理を終了する構成にすることができる。
【００８１】
以上、第一実施例の制御システム１の構成について説明したが、本実施例によれば、第一制御処理から目標プロファイルに基づく制御である第三制御処理にモータ制御を切り替える過程で、第二制御処理を実行することにより、第三制御処理の実行直前には、モータ２０が電流上限値Ｕｍａｘよりも小さい電流量で駆動された状態とする。
【００８２】
従って、本実施例によれば、第三制御処理の実行直後に、モータ２０に作用する負荷が上昇したことを原因として、電流指令値Ｕが電流上限値Ｕｍａｘを超えて電流飽和が生じるのを抑えることができ、電流飽和によって駆動対象１０が目標プロファイル通りの軌跡で搬送されずに、駆動対象１０の停止精度が劣化するのを抑えることができる。
【００８３】
また、本実施例によれば、第一、第二及び第三制御処理を、駆動対象１０の運動が大きく不連続とならないように、滑らかに切り替えることができて、好ましい制御状態で駆動対象１０の減速過程に移行することができ、精度よく駆動対象１０を目標停止位置Ｐｔに停止させることができる。
【００８４】
そして、本実施例によれば、上述したように、第一制御処理によって高速に駆動対象１０を搬送することができるので、結果として、高速且つ高精度に、駆動対象１０を目標停止位置Ｐｔに停止させることができる。
【００８５】
尚、本実施例によれば、駆動対象１０の位置が第一切替位置又は第二切替位置に到達したことを条件に、第一、第二及び第三制御処理の切替が行われるが、制御システム１は、駆動開始からの時間や駆動対象の速度に応じて、切り替えるよう構成されても良い。
【００８６】
また、第一切替位置及び第二切替位置は、予め設計者が実験的に求めることができる。具体的には、第一制御処理をできる限り長く実行することで、より早く駆動対象１０を移動させることができるが、あまり長すぎると、第三制御処理を実行する距離が短くなり、駆動対象１０が目標停止位置Ｐｔに精度良く停止できなくなる可能性がある。従って、第一切替位置は、第三制御処理によって駆動対象１０を目標停止位置Ｐｔに精度良く停止できる程度の位置に設定されるとよい。また、第二切替位置としては、想定される負荷では、第三制御処理によって算出される電流指令値Ｕが電流上限値Ｕｍａxを越えないような速度までモータの回転速度が低下する位置を、値Ｉｆと合わせて実験的に求められるとよい。
［第二実施例］
続いて、第二実施例について説明する。第二実施例の制御システム１は、モータ制御ユニット６０が実行する第二制御処理の内容が第一実施例から変更になった程度のものであるので、第二制御処理の内容以外の説明を適宜省略する。図７には、主制御処理の内、第二実施例での第二制御処理に係るステップと、その前後のステップを選択的に示す。
【００８７】
本実施例では、第一実施例と同様に、駆動対象１０が第一切替位置Ｐ１に到達すると（Ｓ１３０でＹｅｓ）、Ｓ１７０に移行する。そして、Ｓ１７０では、駆動対象１０が第二切替位置Ｐ２に到達したか否かを判断し、駆動対象１０が第二切替位置Ｐ２に到達していないと判断すると（Ｓ１７０でＮｏ）、第二制御処理として、第一実施例とは異なる次の処理を行う。具体的には、式（１）又は式（２）に示される関数Ｕ（ω）に従って、Ｓ１１０で特定された現在のモータ２０の回転速度ωに対応する電流上限値Ｕｍａｘ＝Ｕ（ω）を算出する。そして、この電流上限値Ｕｍａｘに、予め設計段階で定められた１未満の係数Ｋを掛けることによって、電流上限値Ｕｍａｘよりも小さい偽の電流上限値Ｕｆ＝Ｋ・Ｕｍａｘを算出する（Ｓ２１５）。
【００８８】
そして、Ｓ２１５で算出された偽の電流上限値Ｕｆに対応する電流指令値Ｕ＝Ｕｆをモータドライバ３０に入力することで、電流上限値Ｕｍａｘよりも小さい駆動電流でモータ２０を駆動する（Ｓ２２０）。その後、Ｓ２５０に移行する。
【００８９】
即ち、第二実施例では、第一実施例におけるＳ２１０の処理に代えて、Ｓ２１５の処理を実行し、これによって、電流上限値Ｕｍａｘの所定割合を偽の電流上限値Ｕｆとして算出し、この偽の電流上限値Ｕｆに基づいて、モータ制御を行うことにより、第一実施例におけるＳ２１０，Ｓ２２０の処理と同様に、電流上限値Ｕｍａｘよりも小さい駆動電流でモータ２０を駆動する。
【００９０】
このように構成された第二実施例の制御システム１によれば、第一実施例の制御システム１と同様の理由により、高速且つ高精度に駆動対象１０を目標停止位置に停止させることができる。尚、本実施例では、Ｓ２１５において、その時点での回転速度ωに基づき、偽の電流上限値Ｕｆを算出するようにしたが、偽の電流上限値Ｕｆは、第二制御処理の実行前の最後に実行した第一制御処理において算出された電流上限値Ｕｍａｘの所定割合Ｋに設定されてもよい。即ち、Ｓ２１５では、第二制御処理の実行前の最後に実行した第一制御処理において算出された電流上限値Ｕｍａｘを用いて、偽の電流上限値Ｕｆ＝Ｋ・Ｕｍａｘを算出してもよい（第二実施例の変形例）。
［第三実施例］
続いて、第三実施例について説明する。第三実施例の制御システム１は、第二実施例と同様、モータ制御ユニット６０が実行する第二制御処理の内容が第一実施例から変更になった程度のものである。図８には、主制御処理の内、第三実施例での第二制御処理に係るステップと、その前後のステップを選択的に示す。
【００９１】
本実施例のモータ制御ユニット６０は、第一実施例と同様に、駆動対象１０が第一切替位置Ｐ１に到達すると（Ｓ１３０でＹｅｓ）、Ｓ１７０に移行し、駆動対象１０が第二切替位置Ｐ２に到達したか否かを判断する。そして、駆動対象１０が第二切替位置Ｐ２に到達していないと判断すると（Ｓ１７０でＮｏ）、第二制御処理として、Ｓ２１０，Ｓ２２０の処理に代えて、モータドライバ３０に対し、電流指令値Ｕ＝０を入力する処理を実行する（Ｓ２２５）。その後、Ｓ２５０に移行する。
【００９２】
第三実施例の制御システム１によれば、第二制御処理の実行により、図９に示すように、駆動対象１０の速度Ｖが下がり、電流上限値Ｕｍａｘが上昇する。従って、第三制御処理においては、その実行直後においてモータ２０の負荷等が上昇しても、第三制御処理によって算出される電流指令値Ｕが極力、電流上限値Ｕｍａｘを超えないように、モータ制御を行うことができ、第一実施例の制御システム１と同様に、高速且つ高精度に駆動対象１０を目標停止位置Ｐｔに停止させることができる。
［第四実施例］
続いて、第四実施例について説明する。第四実施例の制御システム１は、第三実施例の制御システム１における第三制御処理（Ｓ３００）の内容を変更した程度のものである。従って、以下では、図１０及び図１１を用いて、第三制御処理の内容を選択的に説明する。但し、本実施例で採用する第三制御処理の構成は、第一実施例及び第二実施例の制御システム１にも適用できることをここで言及しておく。
【００９３】
図１０に示すように、本実施例では、第三制御処理において、定速区間の前に調整区間を設けた目標プロファイルを用いる。図１０の下段は、図１０上段に示した時間対速度（目標速度Ｖｒ及び実速度Ｖ）のグラフと、時間対電流（電流指令値Ｕ及び電流上限値Ｕｍａｘ）のグラフにおける第二制御処理から第三制御処理への切替前後の拡大図である。
【００９４】
調整区間は、駆動対象１０を減速させる区間であるという意味で、減速区間に類似するものであるが、定速区間での速度を低めに設定する目的で設けられた区間であるという意味で、駆動対象１０の停止を目的とした減速区間とは異なる。
【００９５】
本実施例では、第三制御処理を開始すると、その時点での駆動対象１０の速度Ｖ＝Ｖ０、位置Ｐ＝Ｐ０、及び、加速度Ａ＝Ａ０と、現在時刻ｔ＝Ｔ０に基づいて、調整区間で用いる目標プロファイルを設定する。具体的には、次式に従う目標速度Ｖｒのプロファイルを設定する。
【００９６】
【数７】
0005990884.tif 000008
【００９７】
ここで、記号Ｔ１は、調整区間の終了時刻であり、Ｖｃは、調整区間終了時の目標速度である。尚、目標速度Ｖｃは、固定値として予め設計段階で定められてもよいし、第一制御処理から第二制御処理への切替時刻ｔ＝Ｔｐでの駆動対象１０の速度Ｖ＝Ｖｐを基準とした割合Ｒｃで定められてもよい。即ち、設計段階では、割合Ｒｃを定めて、プロファイル設定時には、この割合Ｒｃから、目標速度Ｖｃを、式Ｖｃ＝Ｖｐ・Ｒｃに従って設定してもよい。但し、設計段階では、目標速度Ｖｃが調整区間の開始時刻ｔ＝Ｔ０での駆動対象１０の速度Ｖ＝Ｖ０よりも小さくなるように、目標速度Ｖｃ又は割合Ｒｃを定める必要がある。この他、割合Ｒｃを可変値とすることもできる。即ち、調整区間の開始時刻ｔ＝Ｔ０での駆動対象１０の速度Ｖ＝Ｖ０と、時刻ｔ＝Ｔｐでの駆動対象１０の速度Ｖ＝Ｖｐとの比Ｒ０＝Ｖ０／Ｖｐを算出し、割合Ｒｃを、この比Ｒ０よりも小さい値に定めるようにしてもよい。例えば、Ｒ０の所定割合を、値Ｒｃとしてもよい。このような割合Ｒｃを用いて目標速度Ｖｃを算出すれば、目標速度Ｖｃが調整区間の開始時刻ｔ＝Ｔ０での駆動対象１０の速度Ｖ＝Ｖ０よりも小さくなることが保証される。
【００９８】
目標速度Ｖｒが上式で設定されることから、調整区間における目標加速度Ａｒ及び目標位置Ｐｒのプロファイルは、次式に従って設定される。
【００９９】
【数８】
0005990884.tif 000009
【０１００】
上式から理解できるように、調整区間における目標プロファイルは、調整区間の開始時刻である時刻Ｔ０での目標加速度Ａｒが、その時点での駆動対象１０の加速度Ａ０と同一値を採り、時刻Ｔ０での目標速度Ｖｒが、その時点での駆動対象１０の速度Ｖ０と同一値を採り、時刻Ｔ０での目標位置Ｐｒが、その時点での駆動対象１０の位置Ｐ０と同一値を採るものである。また、この目標プロファイルは、調整区間終了時刻Ｔ１での目標加速度Ａｒがゼロを採り、調整区間終了時刻Ｔ１での目標速度Ｖｒが上述した目標速度Ｖｃを採り、調整区間開始時刻Ｔ０から調整区間終了時刻Ｔ１までの目標速度Ｖｒが単調減少するものである。本実施例では、このような目標プロファイルを用いることで、調整区間では、滑らかに駆動対象１０の速度Ｖを、目標速度Ｖｃまで減速させ、これによって、電流上限値Ｕｍａｘを大きくする。
【０１０１】
続いて、第三制御処理の詳細を、図１１を用いて説明する。モータ制御ユニット６０は、Ｓ３００（図５参照）で第三制御処理を開始すると、上述した実施例と同様に、フラグＧが値１であるか否かを判断する（Ｓ４１０）。そして、フラグＧが値１に設定されていないと判断すると（Ｓ４１０でＮｏ）、Ｓ１１０で特定された現時点での駆動対象１０の速度Ｖ＝Ｖ０と、この速度Ｖ＝Ｖ０に基づく加速度Ａ＝Ａ０と、現在時刻ｔ＝Ｔ０と、に基づき、調整区間終了時刻Ｔ１を、式（１２）に従い設定する（Ｓ４２０）。
【０１０２】
尚、加速度Ａ＝Ａ０については、今回のＳ１１０で特定した速度と、前回までのＳ１１０で特定した速度と、に基づいて算出することができる。例えば、今回のＳ１１０で特定した速度Ｖ＝Ｖ０と、前回のＳ１１０で特定した速度Ｖ＝Ｖｚとの差分（Ｖ０−Ｖｚ）を、主制御処理の実行周期（サンプリング周期）で除算して算出することが可能である。この動作は、各回のＳ１１０で特定した速度Ｖの全部又は一部をモータ制御ユニット６０が備える記憶媒体（ＲＡＭ等）に記憶しておくで実現することができる。このことについては、目標速度Ｖｃを、上記速度Ｖｐを基準とした割合Ｒｃで算出する場合も同様である。
【０１０３】
Ｓ４２０での処理を終えると、モータ制御ユニット６０は、式（１１）（１３）（１４）に従い、調整区間の目標プロファイルを設定する（Ｓ４３０）。その後、Ｓ４４０に移行する。一方、Ｓ４１０で、フラグＧが値１であると判断すると（Ｓ４１０でＹｅｓ）、Ｓ４２０，Ｓ４３０の処理を実行することなく、Ｓ４４０に移行する。フラグＧは、上記実施例と同様、第三制御処理実行後のＳ４００で値１に設定される。
【０１０４】
Ｓ４４０に移行すると、モータ制御ユニット６０は、調整区間終了時刻Ｔ１が到来したか否かを判断する。具体的には、Ｓ１１０で特定された現在時刻ｔが、調整区間終了時刻Ｔ１以上であるか否かを判断することにより、調整区間終了時刻Ｔ１が到来したか否かを判断する。そして、調整区間終了時刻Ｔ１が到来していないと判断すると（Ｓ４４０でＮｏ）、Ｓ４８０に移行して、Ｓ４３０で設定された調整区間の目標プロファイルから特定される現在時刻ｔでの目標値（目標加速度Ａｒ、目標速度Ｖｒ及び目標位置Ｐｒ）と、Ｓ１１０で特定された駆動対象１０の位置Ｐ及び速度Ｖとに基づき、駆動対象１０の位置Ｐ及び速度Ｖが目標値を追従するようなモータ２０に対する電流指令値Ｕを算出し、算出した電流指令値Ｕを、モータドライバ３０に入力する。その後、第三制御処理を終了する。
【０１０５】
このようにして、モータ制御ユニット６０は、駆動対象１０が第二切替位置Ｐ２に到達した後、調整区間終了時刻Ｔ１が到来するまでは、第三制御処理の繰返し実行により、まず調整区間の目標プロファイルに従って、駆動対象１０の速度Ｖを、目標速度Ｖｃ付近まで減速させて、電流上限値Ｕｍａｘを上げる。
【０１０６】
そして、調整区間終了時刻Ｔ１が到来すると、Ｓ４４０で肯定判断して、フラグＨが値１であるか否かを判断する（Ｓ４５０）。フラグＨは、駆動指令が入力されると値０にリセットされ、Ｓ４７０が実行されると、値１にセットされるものである。このため、調整区間終了時刻Ｔ１が到来した直後の第三制御処理では、モータ制御ユニット６０は、フラグＨが値０であると判断し（Ｓ４５０でＮｏ）、Ｓ４６０に移行する。
【０１０７】
Ｓ４６０に移行すると、モータ制御ユニット６０は、第一実施例から第三実施例におけるＳ３２０での処理と同様、定速区間及び減速区間の目標プロファイルを設定する。即ち、Ｓ４６０では、Ｓ１１０で特定された現在の駆動対象１０の速度Ｖ＝Ｖｍを用いて、減速距離Ｐｄ＝Ｖｍ2／Ａｐを算出し、この減速距離Ｐｄと、Ｓ１１０で特定された現在の駆動対象１０の位置Ｐ＝Ｐｍと、目標停止位置Ｐｔと、から、駆動対象１０を目標停止位置Ｐｔで停止させるのに最適な定速区間の時間長さＴｃ＝（Ｐｔ−Ｐｄ−Ｐｍ）／Ｖｍを算出する。そして、現在時刻ｔ＝Ｔａに、定速区間の時間長さＴｃを加算して、減速開始時刻Ｔｂを、Ｔｂ＝Ｔａ＋Ｔｃに設定し、これらの値Ｐｍ，Ｖｍ，Ｔａ，Ｔｂを用いて、式（４）〜（６）に従う定速区間の目標プロファイルを設定し、更に予め定められた値Ａｐを用いて、式（７）〜（１０）に従う減速区間の目標プロファイルを設定する。
【０１０８】
このようにして、定速区間及び減速区間の目標プロファイルを設定すると、モータ制御ユニット６０は、フラグＨを値１にセットし（Ｓ４７０）、その後、Ｓ４８０に移行する。また、フラグＨを値１にセットした後のＳ４８０では、上述した定速区間及び減速区間の目標プロファイルから特定される現在時刻ｔでの目標値（目標加速度Ａｒ、目標速度Ｖｒ及び目標位置Ｐｒ）と、Ｓ１１０で特定された駆動対象１０の位置Ｐ及び速度Ｖとに基づき、駆動対象１０の位置Ｐ及び速度Ｖが目標値に追従するようなモータ２０に対する電流指令値Ｕを算出し、算出した電流指令値Ｕを、モータドライバ３０に入力する。その後、第三制御処理を終了する。
【０１０９】
このようにして、モータ制御ユニット６０は、調整区間終了時刻Ｔ１が到来した後には、第三制御処理の繰返し実行により、定速区間及び減速区間の目標プロファイルに従って、駆動対象１０を制御し、駆動対象１０を、目標停止位置Ｐｔに減速・停止させる。尚、フラグＨが値１にセットされた後の第三制御処理では、Ｓ４４０及びＳ４５０で肯定判断することで、Ｓ４６０，Ｓ４７０の処理をスキップし、Ｓ４８０の処理を実行する。
【０１１０】
以上、第四実施例について説明したが、第四実施例によっても、駆動対象１０を、高精度且つ高速に目標停止位置に停止させることができる。特に、本実施例によれば、調整区間を備えることにより、定速区間での速度を、第二制御処理終了時の速度に依らず調整することができて、第三制御処理にて算出される電流指令値Ｕが負荷上昇により電流上限値Ｕｍａｘを超えてしまうのを一層効果的に抑制することができる。
［第五実施例］
続いて、第五実施例について説明する。第五実施例の制御システム１は、負荷上昇の有無を判定して、その判定結果に従って、第二制御処理を実行するか否かを切り替える構成にされたものである。第二制御処理については、高速搬送に係る性能が劣化する原因となるので、停止精度よりも高速搬送を優先する必要があり、且つ、第二制御処理を行わなくても第三制御処理にて電流指令値Ｕが電流上限値Ｕｍａｘを超えるような負荷上昇の可能性が殆どない環境では、第二制御処理を行わないのが好ましい。そこで、本実施例では、負荷上昇の有無を判定して、その判定結果に従って、第二制御処理を実行するか否かを切り替える。
【０１１１】
具体的に、以下では、本実施例の制御システムが組み込まれる画像形成装置である負荷が特定の地点で急激に上昇するインクジェットプリンタ２００の構成を、図１２を用いて説明し、モータ制御ユニット６０が実行する処理の詳細を、図１３を用いて説明する。尚、第二実施例から第四実施例と同様に、本実施例の制御システム１のハードウェア構成は、基本的に、第一実施例のハードウェア構成と同一である。即ち、本実施例の制御システム１は、モータ制御ユニット６０が実行する処理内容が上述の実施例と異なる程度のものである。従って、以下では、上述の実施例と同一構成の説明を適宜省略する。
【０１１２】
図１２に示すインクジェットプリンタ２００は、第一実施例で説明したインクジェットプリンタ１００（図２参照）と同様に、プラテン２０１の上流側に、搬送ローラ２１１及びピンチローラ２１２を備え、プラテン２０１の下流側に、排紙ローラ２１３及び拍車ローラ２１４を備える。また、プラテン２０１上に、用紙に対して画像形成可能な記録ヘッド（所謂インクジェットヘッド）２３１及び記録ヘッド２３１を搬送するためのキャリッジ２３５を備える。このインクジェットプリンタ２００においては、搬送ローラ２１１及び排紙ローラ２１３の回転により、一点鎖線に示すように用紙が搬送される。
【０１１３】
このインクジェットプリンタ２００には、図示しないが、インクジェットプリンタ１００と同様に、搬送ローラ２１１及び排紙ローラ２１３を駆動するためのモータ、このモータを制御するモータ制御装置、並びに、モータ制御装置を含む装置内各部に対して指令入力して、インクジェットプリンタ２００全体を統括制御する主制御ユニットが設けられる。そして、このインクジェットプリンタ２００には、第一実施例と同様、本実施例の制御システム１の駆動対象１０及びモータ２０を除く構成要素（図１点線内の構成要素）を、モータ制御装置として組み込むことができる。
【０１１４】
このインクジェットプリンタ２００は、上述したインクジェットプリンタ１００と同様の構成に加えて、経路切替器２５０と、下流ローラ２６１と、下流ローラ２６１に対向配置された拍車ローラ２６２と、リターンパス２７０と、戻しローラ２８１と、戻しローラ２８１に対向配置されたピンチローラ２８２とを備える。
【０１１５】
経路切替器２５０は、フラップ２５１と、フラップ２５１に固定された補助ローラ２５３，２５４とを備え、フラップ２５１が、軸Ｅを中心に回動可能な構成にされたものである。具体的に、フラップ２５１は、図１２に示すような下方に傾いた第一姿勢と、フラップ収容部２５５に収容されて概略水平となる第二姿勢と、を採り得るように、回動可能に設置されている。フラップ２５１は、排紙ローラ２１３下流の支持部材２５７に支持された用紙の先端が、フラップ２５１に取り付けられた補助ローラ２５３と、支持部材２５７との間を通過するときに、用紙に作用されて上方に押し上げられ、上記第二姿勢をとる。この用紙は、排紙ローラ２１３からの力の作用により、フラップ２５１を押し上げながら、下流ローラ２６１と拍車ローラ２６２との間まで移動し、下流ローラ２６１と拍車ローラ２６２との間に二ップされて、更に下流に搬送される。尚、下流ローラ２６１は、排紙ローラ２１３と同一のモータからの駆動力を受けて、搬送ローラ２１１及び排紙ローラ２１３と同期回転する。
【０１１６】
そして、用紙が下流に搬送される過程で、用紙後端が、補助ローラ２５３と支持部材２５７との間を通り抜けると、支持部材２５７からの支持をなくした用紙は、フラップ２５１から作用される下方への力に負けて、リターンパス２７０側へと落ち、それに伴って、フラップ２５１は、第一姿勢に変化する。
【０１１７】
インクジェットプリンタ２００の主制御ユニットは、このような用紙の後端がリターンパス２７０側に落ちた状態を、用紙搬送量の情報等に基づき特定し、両面印刷が必要な場合には、モータ制御装置に向けて、モータを逆回転させるように指令入力する。この指令を受けるとモータ制御装置は、モータを逆回転させることで、用紙の後端を、戻しローラ２８１及びピンチローラ２８２側へと搬送する。このような搬送が継続されると、図１２一点鎖線で示すように、用紙は、裏返され、上記後端が搬送方向側に向いた状態で、搬送ローラ２１１及びピンチローラ２１２との間に搬送される。このようにして搬送ローラ２１１及びピンチローラ２１２との間に用紙が到達すると、主制御ユニットからは、モータを正回転させるように指示する駆動指令が入力されて、この用紙は、片面印刷時と同様に、搬送され、最終的に、排紙トレイに排出される。
【０１１８】
このような両面印刷可能なインクジェットプリンタ２００では、用紙の先端がフラップ２５１を押し上げる前後で、搬送負荷が大きく変化する。即ち、用紙の先端がフラップ２５１を押し上げるときに、搬送負荷が大きく上昇し、これに伴ってモータに作用する負荷も大きく上昇する。
【０１１９】
このため、このインクジェットプリンタ２００に組み込まれる本実施例の制御システム１が備えるモータ制御ユニット６０は、主制御ユニットから駆動指令が入力されると、主制御処理を繰返し実行する前に、図１３（ａ）に示す搬送前処理を実行する。
【０１２０】
搬送前処理を開始すると、モータ制御ユニット６０は、現時点での原点位置Ｏ（図１２参照）からの用紙の総搬送量Ｂの情報を主制御ユニットから取得する（Ｓ５１０）。即ち、インクジェットプリンタ２００では、一枚の用紙を搬送するために目標搬送量（目標停止位置）Ｐｔを指定した駆動指令を主制御ユニットからモータ制御ユニット６０に複数回入力することになるが、Ｓ５１０では、これまでの駆動指令によって現在搬送中の用紙の先端が原点位置Ｏを通過した時点からの用紙の総搬送量Ｂの情報を主制御ユニットから取得する。
【０１２１】
尚、インクジェットプリンタ２００には、周知の画像形成装置と同様、搬送ローラ２１１の直前に用紙端を検知するセンサＳＮが設けられており、センサＳＮからの入力信号に基づき、原点位置Ｏに用紙の先端が到達したことを高精度に検出することができる。本実施例では、主制御ユニットがセンサＳＮからの入力信号を受け付けて、原点位置Ｏを基準とした総搬送量Ｂを特定し、この情報を管理するものとする。
【０１２２】
Ｓ５１０での処理を終えると、モータ制御ユニット６０は、取得情報が示す総搬送量Ｂに、今回の目標搬送量Ｐｔ分を加算して、今回の駆動指令に基づく用紙搬送後の総搬送量Ｂの値Ｄ＝Ｂ＋Ｐｔを算出する（Ｓ５２０）。
【０１２３】
そして、モータ制御ユニット６０は、用紙先端がフラップ２５１の通過を開始する時点での総搬送量Ｂである負荷上昇時の搬送量Ｃと、現時点での総搬送量Ｂと、今回の駆動指令に基づく用紙搬送後の総搬送量Ｂの値Ｄとに基づき、条件式Ｂ＜Ｃ＜Ｄが満足されるか否かを判断することによって、今回の駆動指令に基づくモータ制御過程（用紙搬送過程）で、モータ２０に対する負荷上昇イベントが発生するか否かを判断する。即ち、条件式Ｂ＜Ｃ＜Ｄが満足される場合には、負荷上昇イベントが発生すると判断し、条件式Ｂ＜Ｃ＜Ｄが満足されない場合には、負荷上昇イベントが発生しないと判断する（Ｓ５３０）。
【０１２４】
そして、負荷上昇イベントが発生すると判断すると（Ｓ５３０でＹｅｓ）、第二制御処理実行フラグＪを値１に設定する（Ｓ５４０）。一方、負荷上昇イベントが発生しないと判断すると（Ｓ５３０でＮｏ）、第二制御処理実行フラグＪを値０に設定する（Ｓ５５０）。その後、当該搬送前処理を終了する。
【０１２５】
また、搬送前処理を終了して、主制御処理の周期的な実行を開始すると、モータ制御ユニット６０は、第一実施例と同様に、駆動対象１０としての用紙が第一切替位置Ｐ１に到達するまで第一制御処理を実行し、用紙が第一切替位置Ｐ１に到達すると（Ｓ１３０でＹｅｓ）、Ｓ１７０に移行する。そして、Ｓ１７０では、用紙が第二切替位置Ｐ２に到達したか否かを判断し、用紙が第二切替位置Ｐ２に到達していないと判断すると（Ｓ１７０でＮｏ）、第二制御処理として、図１３（ｂ）に示す処理を行う。
【０１２６】
即ち、本実施例では、第二制御処理実行フラグＪが値１に設定されているか否を判断し（Ｓ２００）、値１に設定されていると判断すると（Ｓ２００でＹｅｓ）、第一実施例と同様に、Ｓ１１０で特定された現在のモータ２０の回転速度ωに基づき、上述した式（３）に従って、現在の回転速度ωに対応する電流上限値Ｕｍａｘよりも小さい偽の電流上限値Ｕｆを算出し（Ｓ２１０）、この偽の電流上限値Ｕｆに対応する電流指令値Ｕ＝Ｕｆをモータドライバ３０に入力する（Ｓ２２０）。その後、モータ制御ユニット６０は、フラグＦを値１に設定して（Ｓ２５０）、当該主制御処理を一旦終了する。尚、Ｓ２１０の処理に代えては、第二実施例のＳ２１５と同様の処理を行うことができる。このようにして、第二制御処理実行フラグＪが値１に設定されている場合には、用紙が第二切替位置Ｐ２に到達するまで、第一実施例（又は第二から第四実施例）と同様の第二制御処理を実行する。
【０１２７】
一方、第二制御処理実行フラグＪが値０に設定されていると判断すると（Ｓ２００でＮｏ）、モータ制御ユニット６０は、Ｓ２３０に移行し、Ｓ１１０で特定された現在のモータ２０の回転速度ωに基づき、上述した式（２）に従って、現在の回転速度ωに対応する電流上限値Ｕｍａｘを算出し、この電流上限値Ｕｍａｘに対応する電流指令値Ｕ＝Ｕｍａｘをモータドライバ３０に入力する（Ｓ２４０）。その後、モータ制御ユニット６０は、当該主制御処理を一旦終了する。
【０１２８】
このようにして、第二制御処理実行フラグＪが値０に設定されている場合には、用紙が第二切替位置Ｐ２に到達するまで、第一実施例（又は第二から第四実施例）と同様の第一制御処理を実行する。
【０１２９】
また、用紙が第二切替位置Ｐ２に到達した後には、上述した第一実施例（又は第二実施例から第四実施例）と同様の第三制御処理を実行する。
以上、本実施例の制御システム１の構成について説明したが、このような制御システム１によれば、負荷上昇の有無に応じて第二制御処理を実行するか否かを切り替えるので、停止精度が劣化するのを回避しつつ高速な用紙搬送を実現することができる。
【０１３０】
尚、本実施例では、駆動指令に基づく周期的な主制御処理の実行前の時点での総搬送量Ｂを用いて、条件式Ｂ＜Ｃ＜Ｄが満足するか否かを判断することによって（Ｓ５３０）、今回の駆動指令に基づくモータ制御過程（用紙搬送過程）で、モータ２０に対する負荷上昇イベントが発生するか否かを判断するようにしたが、総搬送量Ｂに、第一切替位置Ｐ１を加算して、第一制御処理終了時の総搬送量Ｂの値Ｂ’＝Ｂ＋Ｐ１を算出し、この値Ｂ’を用いて、条件式Ｂ’＜Ｃ＜Ｄが満足するか否かを判断することによって（Ｓ５３０）、今回の駆動指令に基づくモータ制御過程（用紙搬送過程）であって第一制御処理終了後の過程において、モータ２０に対する負荷上昇イベントが発生するか否かを判断するようにしてもよい（第五実施例の変形例）。
［その他］
以上、本発明の実施例について説明したが、本発明が上記実施例に限定されるものではなく、種々の態様を採ることができることは言うまでもない。例えば、本発明は、画像形成装置における用紙搬送の用途以外のモータ制御にも適用することができる。
【０１３１】
また、上記実施例では、位置検出器５０により検出されるモータ２０の回転位置Ｘ及び速度検出器５５により検出されるモータ２０の回転速度ωから、駆動対象１０の位置Ｐ及び速度Ｖを特定して、この位置Ｐ及び速度Ｖを目標値に合わせるように駆動対象１０の駆動制御を行うようにしたが、モータ２０の回転位置Ｘ及び回転速度ωと、駆動対象１０の位置Ｐ及び速度Ｖとは、その尺度が異なる程度のものであるので、当然のことながら、位置検出器５０により検出されるモータ２０の回転位置Ｘ及び速度検出器５５により検出されるモータ２０の回転速度ωを直接用いて、これを目標値に合わせるようにモータ制御を行うことにより、間接的に、駆動対象１０の駆動制御を行うようにしてもよい。
【０１３２】
また、上記実施例では、ロータリエンコーダ４０はモータ２０の回転軸に接続されており、駆動対象１０の位置Ｐと速度Ｖとは、モータ２０の回転位置Ｘと回転速度ωとから特定されていた。しかしながら、ロータリエンコーダ４０は、駆動対象１０に接続され、駆動対象１０の位置Ｐと速度Ｖは、直接ロータリエンコーダ４０から検出されても良い。例えば、ロータリエンコーダ４０は、搬送ローラ１１１の回転軸に接続され得る。その場合、モータ２０の回転位置Ｘと回転速度ωとは、駆動対象１０の位置Ｐと速度Ｖとから特定され得る。
【０１３３】
この他、上記実施例では、駆動対象１０の位置Ｐ及び速度Ｖの両方を用いて、目標プロファイルに基づく制御を行うようにしたが、駆動対象１０の位置Ｐ及び速度Ｖの一方のみを用いて、目標プロファイルに基づく制御を行うようにしてもよい。また、目標プロファイルとしては、目標加速度Ａｒ、目標速度Ｖｒ及び目標位置Ｐｒのいずれか一つ又は二つだけのプロファイルを設定するようにしてもよい。
［対応関係］
最後に、用語間の対応関係について説明する。モータ制御ユニット６０は、モータ制御手段の一例に対応し、エンコーダ４０は、信号出力手段の一例に対応する。また、モータ制御ユニット６０が実行する第一制御処理及び第五実施例における第二制御処理のＳ２３０，Ｓ２４０は、第一の制御手段又は前期制御手段によって実現される処理の一例に対応し、モータ制御ユニット６０が実行する第二制御処理（第五実施例におけるＳ２００，Ｓ２３０，Ｓ２４０を除く。）は、第二の制御手段によって実現される処理の一例に対応し、モータ制御ユニット６０が実行する第三制御処理は、第三の制御手段又は後期制御手段によって実現される処理の一例に対応する。
【０１３４】
特に、第三実施例及び第四実施例における第一制御処理は、前期制御手段によって実現される処理の一例に対応し、第三実施例及び第四実施例における第三制御処理は、後期制御手段によって実現される処理の一例に対応する。
【０１３５】
また、モータ制御ユニット６０が実行するＳ１２０，Ｓ１３０，Ｓ１６０，Ｓ１７０，Ｓ２００の処理は、切替手段によって実現される処理の一例に対応し、モータ制御ユニット６０が実行する搬送前処理（第五実施例）は、判定手段によって実現される処理の一例に対応する。この他、主制御ユニット１５０は、搬送制御手段の一例に対応する。
【符号の説明】
【０１３６】
１…制御システム、１０…駆動対象、２０，１２０…モータ、３０…モータドライバ、４０…エンコーダ、５０…位置検出器、５５…速度検出器、６０…モータ制御ユニット、１００，２００…インクジェットプリンタ、１０１，２０１…プラテン、１１１，２１１…搬送ローラ、１１２，１１４，２１２，２８２…ピンチローラ、１１３，２１３…排紙ローラ、１３１，２３１…記録ヘッド、１３５，２３５…キャリッジ、１４０…モータ制御装置、１５０…主制御ユニット、１６０…用紙、２１４，２６２…拍車ローラ、２５０…経路切替器、２５１…フラップ、２５３，２５４…補助ローラ、２５５…フラップ収容部、２５７…支持部材、２６１…下流ローラ、２７０…リターンパス、２８１…戻しローラ、ＳＮ…センサ
【図１】
0005990884.tif 000010
【図２】
0005990884.tif 000011
【図３】
0005990884.tif 000012
【図５】
0005990884.tif 000013
【図６】
0005990884.tif 000014
【図７】
0005990884.tif 000015
【図８】
0005990884.tif 000016
【図９】
0005990884.tif 000017
【図１０】
0005990884.tif 000018
【図１１】
0005990884.tif 000019
【図１２】
0005990884.tif 000020
【図１３】
0005990884.tif 000021
【図４】
0005990884.tif 000022