モータ制御装置及び画像形成装置
【課題】高速且つ高精度に駆動対象を目標位置に停止可能とする。
【解決手段】モータ制御ユニットは、モータに入力可能な電流上限値を推定し、この上限値に対応する駆動電流でモータを駆動する第一制御処理(S140,S150)を実行する。また、第二制御処理(S210,S220)では、電流上限値よりも小さい偽の電流上限値を、電流上限値の算出式に用いる係数を切り替えることで算出し、その偽の電流上限値に対応する駆動電流でモータを駆動する。そして、第三制御処理(S300)では、第二制御処理終了時の駆動対象の位置P及び速度Vに基づき、定速区間及び減速区間の目標プロファイルを設定し、駆動対象の位置及び速度が、目標プロファイルが示す位置及び速度を追従するように、モータに対する電流指令値を調整する。これによって第三制御処理の初期に電流指令値が電流上限値を超えないようにモータ制御を実行し、駆動対象を目標位置に停止させる。
【解決手段】モータ制御ユニットは、モータに入力可能な電流上限値を推定し、この上限値に対応する駆動電流でモータを駆動する第一制御処理(S140,S150)を実行する。また、第二制御処理(S210,S220)では、電流上限値よりも小さい偽の電流上限値を、電流上限値の算出式に用いる係数を切り替えることで算出し、その偽の電流上限値に対応する駆動電流でモータを駆動する。そして、第三制御処理(S300)では、第二制御処理終了時の駆動対象の位置P及び速度Vに基づき、定速区間及び減速区間の目標プロファイルを設定し、駆動対象の位置及び速度が、目標プロファイルが示す位置及び速度を追従するように、モータに対する電流指令値を調整する。これによって第三制御処理の初期に電流指令値が電流上限値を超えないようにモータ制御を実行し、駆動対象を目標位置に停止させる。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、モータ制御装置及び画像形成装置に関する。
【背景技術】
【0002】
従来、駆動対象を目標とする位置に高速搬送可能な技術としては、バンバン制御が知られている(例えば、特許文献1,2参照)。バンバン制御は、モータへの制御入力(操作量)を最大又は最小に切り替えて、モータの最大能力で駆動対象を駆動するものであり、駆動対象を目標とする位置に高速に搬送して停止させることができる。
【0003】
この他、逆起電力による電流低下等を原因として、想定されているモータ駆動電流と実際のモータ駆動電流との間にずれが生じ、これによって制御精度が劣化する問題を解消するために、速度に応じて変化する飽和電流に基づいた制御デューティの最大制限値を設定するモータ制御装置が知られている(例えば、特許文献3参照)。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2007−086904号公報
【特許文献2】特開平7−302121号公報
【特許文献3】特開2007−221940号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
ところで、バンバン制御は、駆動対象を高速に駆動するのに優れているが、単純な制御手法であるため、この制御手法によって駆動対象を高精度に目標とする位置に停止させることは難しい。一方、高精度に駆動対象を目標とする位置に停止させるための技術としては、目標プロファイル(目標軌跡)に基づいたフィードバック制御が知られている。しかしながら、フィードバック制御に、飽和電流に基づく操作量の制限値を設定する手法を採用しても、高速且つ高精度に駆動対象を制御するには限界がある。
【0006】
本発明は、こうした問題に鑑みなされたものであり、従来よりも高速且つ高精度に駆動対象を目標位置に停止させることが可能なモータ制御装置を提供することを目的とする。
【課題を解決するための手段】
【0007】
上記目的を達成するためになされた第一の発明は、モータを制御するモータ制御手段と、モータの回転に応じた信号を出力する信号出力手段と、を備え、モータ制御手段が、信号出力手段の出力信号に基づきモータを制御して、モータによって駆動される被駆動体を目標停止位置まで変位させるモータ制御装置であって、モータ制御手段が、第一、第二、及び、第三の制御手段と、第一、第二、及び、第三の制御手段を順に切り替えて動作させる切替手段と、を備えるものである。
【0008】
第一の制御手段は、信号出力手段の出力信号から特定されるモータの回転速度に基づき、モータに入力可能な電流の上限値であって逆起電力による電流低下を加味した電流上限値を推定し、推定した電流上限値に対応する駆動電流をモータに入力するモータ制御を実行する。一方、第二の制御手段は、第一の制御手段がモータ制御の終了時にモータに対して入力した駆動電流、又は、第一の制御手段が仮に現在のモータの回転速度から推定した電流上限値に基づきモータを制御する場合にモータに入力する駆動電流、よりも少ない駆動電流をモータに入力するモータ制御を実行する。
【0009】
そして、第三の制御手段は、信号出力手段の出力信号から特定されるモータ又は被駆動体の動作量としての速度(回転速度)及び変位量(回転量)の少なくとも一方と、当該動作量の目標軌跡とに基づき、モータに入力する駆動電流を決定し、当該駆動電流によるモータ制御を実行することにより、目標軌跡に沿って、被駆動体を目標停止位置まで変位させる。
【0010】
このように構成されたモータ制御装置によれば、被駆動体の駆動初期においては、電流上限値に対応する駆動電流で、モータを駆動するため、モータの最大出力に対応する出力で被駆動体を駆動することができる。一方、被駆動体の駆動後期においては、信号出力手段の出力信号から特定されるモータ又は被駆動体の動作量と、当該動作量の目標値とに基づき、入力する駆動電流を決定し、モータを制御するので、高精度に駆動対象を目標停止位置に停止させることができる。
【0011】
更に言えば、このモータ制御装置では、第一の制御手段によるモータ制御の終了時点から第三の制御手段によるモータ制御の開始時点までの期間において、第二の制御手段により、駆動電流を抑えるようなモータ制御を行う。従って、第一の制御手段によるモータ制御から第三の制御手段によるモータ制御に直ちに切り替えてモータ制御を行う場合よりも、第三の制御手段によるモータ制御の際に、モータの動作量と目標軌跡とから決定される駆動電流が電流上限値を超えてしまうような事象の発生確率を抑えることができ、高精度に被駆動体を目標停止位置に停止させることができる。
【0012】
即ち、第一の制御手段では、電流上限値に対応する駆動電流でモータを駆動しているため、このようなモータ制御から第三の制御手段によるモータ制御に、被駆動体の運動状態が不連続とならないように滑らかに切り替えようとすると、第三の制御手段によるモータ制御の開始初期では、電流上限値周辺の駆動電流がモータに入力されることとなる。そして、この時期に、モータに作用する負荷が上昇すると、目標軌跡から決定される駆動電流が電流上限値を超えてしまい、駆動電流の入力に対し、実際にモータを流れる電流量が小さくなる現象である電流飽和が生じる可能性がある。
【0013】
一方、第二の制御手段によるモータ制御で、モータに入力する駆動電流を抑え、その後、第二の制御手段によるモータ制御から第三の制御手段によるモータ制御に、制御を切り替えれば、第三の制御手段によるモータ制御の開始初期では、第二の制御手段によるモータ制御で抑えられた駆動電流を基準にした駆動電流でモータを駆動すればよいため、モータに作用する負荷が上昇しても、目標軌跡から算出される駆動電流が電流上限値を超えてしまう可能性を抑えることができる。従って、本発明によれば、電流飽和が生じるのを抑えることができて、高精度に、被駆動体を目標停止位置に停止させることができる。
【0014】
ところで、切替手段は、第一、第二及び第三の制御手段を、信号出力手段の出力信号から特定されるモータ又は被駆動体の変位量に応じて、順に切り替えて動作させる構成にすることができる。この切替手段の構成によれば、被駆動体を高精度に目標停止位置に停止させることができる。また、第二の制御手段には、第一の制御手段がモータ制御の終了時にモータに対して入力した駆動電流よりも所定割合少ない駆動電流をモータに入力する構成や、第一の制御手段が仮に現在のモータの回転速度から推定した電流上限値に基づきモータを制御する場合にモータに入力する駆動電流よりも所定割合少ない駆動電流をモータに入力する構成等を採用することができる。
【0015】
この他、第一の制御手段が、信号出力手段の出力信号から特定されるモータの回転速度ωに予め定められた係数Kを乗算して得られる値K・ωを逆起電力による電流低下分とみなして、逆起電力による電流低下がない場合にモータに流れる電流の上限値Imaxから値K・ωを減算した値(Imax−K・ω)を、逆起電力による電流低下を加味した電流上限値として推定するものである場合、第二の制御手段は、係数Kよりも大きい係数K’を用いて算出される偽の電流上限値(Imax−K’・ω)に基づき上記第一の制御手段が仮にモータ制御を行う場合にモータに入力する駆動電流と同一の駆動電流をモータに入力する構成にすることができる。このような構成を採用しても、第二の制御手段によって駆動電流を抑えたモータ制御を行うことができて、第三の制御手段によって電流飽和が生じるのを抑えることができる。
【0016】
また、モータ制御装置は、被駆動体を目標停止位置まで変位させるモータ制御の過程において、モータに作用する負荷が上昇するか否かを判定する判定手段を備える構成にされてもよい。付言すれば、判定手段は、第一の制御手段によるモータ制御の終了後において、モータに作用する負荷が上昇するか否かを判定する構成にされるとよい。そして、切替手段は、判定手段により上昇すると判定された場合には、第一の制御手段によるモータ制御の終了後に、第二の制御手段及び第三の制御手段を順に動作させ、判定手段により上昇しないと判定された場合には、第一の制御手段によるモータ制御の終了後に、第二の制御手段を動作させずに、第三の制御手段を動作させる構成にされるとよい。
【0017】
第二の制御手段を設けているのは、第三の制御手段によるモータ制御の開始初期において負荷の上昇で、電流飽和が生じる可能性を抑えるためであり、負荷上昇の可能性が殆どないのであれば、第一の制御手段によるモータ制御から第三の制御手段によるモータ制御に、制御を直ちに切り替えても、第三の制御手段によるモータ制御の開始後に電流飽和が生じる可能性は小さい。従って、上述したように、第二の制御手段によるモータ制御を実行するか否かを切り替えるようにすると、負荷上昇がない場合には、停止精度が劣化するのを抑えて、高速に被駆動体を目標停止位置に停止させることができる。
【0018】
また、第三の制御手段は、動作開始初期において、モータの回転速度が低下する目標軌跡に基づくモータ制御を実行することにより、モータの回転速度を低下させる構成にされるとよい。このように第三の制御手段を構成すると、第三の制御手段によるモータ制御で、電流飽和が生じるのを抑えることができて、目標停止位置への停止誤差が劣化するのを極力を抑えることができる。
【0019】
更に言えば、第三の制御手段は、上記モータの回転速度が低下する目標軌跡に基づくモータ制御を実行した後、モータを定速回転(被駆動体を定速で変位)させるように、モータを制御する構成にされるとよい。第三の制御手段では、被駆動体を目標停止位置に停止させるが、それまでの過程において、モータ(被駆動体)を定速制御すると、目標軌跡からの上記動作量の誤差を抑えた後に、減速制御に移行することができ、高精度に被駆動体を目標停止位置に停止させることができるといった利点がある。
【0020】
この他、第三の制御手段は、第二の制御手段によるモータ制御終了時に信号出力手段の出力信号から特定されたモータ又は被駆動体の速度V0と、この速度V0よりも低い速度であってモータを定速回転させるときのモータ又は被駆動体の標準速度Vcと、に基づき、第二の制御手段によるモータ制御終了時のモータ又は被駆動体の加速度A0を目標加速度の初期値に設定し、速度V0を目標速度の初期値に設定し、標準速度Vcに到達するまでの減速時間を、速度V0と標準速度Vcとの差(V0−Vc)と加速度A0との比(V0−Vc)/A0に応じた時間に設定した目標軌跡であって、目標速度が標準速度Vcまで滑らかに単調減少する目標軌跡を、動作開始初期に用いる目標軌跡に設定して、当該目標軌跡に基づき、モータの回転速度を低下させた後、モータを定速回転させるように、モータを制御する構成にすることができる。
【0021】
また、上記目的を達成するために、モータ制御装置は、次のように構成されてもよい。第二の発明は、モータを制御するモータ制御手段と、モータの回転に応じた信号を出力する信号出力手段と、を備え、モータ制御手段が、信号出力手段の出力信号に基づきモータを制御して、モータによって駆動される被駆動体を目標停止位置まで変位させるモータ制御装置であって、モータ制御手段が、被駆動体を目標停止位置まで変位させるモータ制御過程の前期において動作する前期制御手段と、被駆動体を目標停止位置まで変位させるモータ制御過程の後期において動作する後期制御手段と、前期制御手段及び後期制御手段を順に動作させる切替手段と、を備えるものである。
【0022】
前期制御手段は、信号出力手段の出力信号から特定されるモータの回転速度に基づき、モータに入力可能な電流の上限値であって逆起電力による電流低下を加味した電流上限値を推定し、推定した電流上限値に対応する駆動電流をモータに入力するモータ制御を実行する。一方、後期制御手段は、信号出力手段の出力信号から特定されるモータ又は被駆動体の動作量としての速度及び変位量の少なくとも一方と、当該動作量の目標軌跡とに基づき、モータに入力する駆動電流を決定し、当該駆動電流によるモータ制御を実行することにより、目標軌跡に沿って、被駆動体を目標停止位置まで変位させる。
【0023】
そして、切替手段は、前期制御手段によるモータ制御終了後、所定条件が満足された後に後期制御手段を動作させることで、前期制御手段によるモータ制御終了後、所定条件が満足されるまでは、モータに対して駆動電流が入力されないようにして、前期制御手段及び後期制御手段を順に動作させる。
【0024】
例えば、切替手段は、前期制御手段によるモータ制御終了時点から、予め定められた量モータ又は被駆動体が変位すると、所定条件が満足されたとして、後期制御手段を動作させる構成にすることができる。別例として、切替手段は、前期制御手段によるモータ制御終了時点から、予め定められた時間経過すると、所定条件が満足されたとして、後期制御手段を動作させる構成にされてもよい。
【0025】
前期制御手段によるモータ制御終了後の「モータに対して駆動電流を入力しない期間」では、被駆動体及びモータは当然のことながら減速し、それに伴って電流上限値は低下する。よって、このように、前期制御手段と後期制御手段との間に、「モータに対して駆動電流を入力しない期間」を設けると、後期制御手段によるモータ制御の開始初期において、電流飽和が生じるのを抑えることができ、高精度に目標停止位置に被駆動体を停止させることができる。
【0026】
また、上述した第一及び第二の発明のモータ制御装置は、画像形成装置に組み込むことができる。即ち、画像形成装置は、モータと、モータにより駆動されるローラを備え、ローラの回転により被記録媒体を搬送する搬送手段と、搬送手段により搬送される被記録媒体に画像を形成する画像形成手段と、モータを制御することにより、搬送手段に被記録媒体を目標停止位置まで搬送させる上述のモータ制御装置と、目標停止位置を指定してモータ制御装置を繰返し動作させることにより、モータ制御装置を通じて、搬送手段に被記録媒体を段階的に搬送させる搬送制御手段と、を備えた構成とすることができる。
【0027】
この画像形成装置によれば、被記録媒体の搬送を高精度に行うことができるので、結果として、被記録媒体に対して高品質な画像を形成することができる。
【図面の簡単な説明】
【0028】
【図1】制御システム1の構成を表すブロック図である。
【図2】インクジェットプリンタ100の構成を表す図である。
【図3】第一実施例の制御手法による駆動対象10の位置・速度・加速度の軌跡を表すグラフである。
【図4】電流上限値を算出する関数Um(ω)の導出方法を説明した図である。
【図5】モータ制御ユニット60が実行する主制御処理を表すフローチャートである。
【図6】主制御処理内で実行される第三制御処理を表すフローチャートである。
【図7】第二実施例において実行される第二制御処理を表すフローチャートである。
【図8】第三実施例において実行される第二制御処理を表すフローチャートである。
【図9】第三実施例の制御手法による駆動対象10の位置・速度・加速度の軌跡を表すグラフである。
【図10】第四実施例の制御手法による駆動対象10の位置・速度・加速度の軌跡を表すグラフである。
【図11】第四実施例において実行される第三制御処理を表すフローチャートである。
【図12】インクジェットプリンタ200の構成を表す図である。
【図13】第五実施例においてモータ制御ユニット60が実行する搬送前処理を表すフローチャート(a)及び第五実施例の第二制御処理を表すフローチャート(b)である。
【発明を実施するための形態】
【0029】
以下に本発明の実施例について、図面と共に説明する。
[第一実施例]
本実施例の制御システム1は、図1に示すように、駆動対象10を駆動するモータ(直流モータ)20と、モータドライバ30と、モータ20の回転軸に接続されたロータリエンコーダ40と、ロータリエンコーダ40の出力信号に基づき、モータ20の回転位置Xを検出する位置検出器50及びモータ20の回転速度ωを検出する速度検出器55と、モータ20に対する操作量である電流指令値Uを算出するモータ制御ユニット60と、を備える。
【0030】
この制御システム1は、画像形成装置等の電気的装置に組み込まれ、電気的装置の主制御ユニット(メインマイコン等)から入力される指令に従うモータ制御を行う。具体的に、駆動対象10としては、画像形成装置が備える用紙搬送機構を挙げることができる。
【0031】
図2には、画像形成装置としてのインクジェットプリンタ100の構成を示す。インクジェットプリンタ100は、プラテン101の上流側に、搬送ローラ111及びピンチローラ112を備え、プラテン101の下流側に、排紙ローラ113及びピンチローラ114を備える。また、プラテン101上に、用紙160に対して画像形成可能な記録ヘッド(所謂インクジェットヘッド)131及び記録ヘッド131を搬送するためのキャリッジ135を備える。この他、インクジェットプリンタ100は、搬送ローラ111及び排紙ローラ113を駆動するためのモータ120、このモータ120を制御するモータ制御装置140、並びに、モータ制御装置140を含む装置内各部に対して指令入力して、インクジェットプリンタ100全体を統括制御する主制御ユニット150を備える。
【0032】
このインクジェットプリンタ100において、用紙搬送機構は、主にローラ111〜114によって構成される。搬送ローラ111及び排紙ローラ113は、モータ120からの動力を受けて、互いに連動するように回転する。この用紙搬送機構には、図示しない給紙トレイから用紙160が供給され、給紙された用紙160は、搬送ローラ111とピンチローラ112との間で挟持されて、搬送ローラ111の回転により下流側(図中太矢印方向)に搬送される。また、搬送ローラ111の回転により搬送されて排紙ローラ113に到達した用紙160は、排紙ローラ113とピンチローラ114との間で挟持されて、排紙ローラ113の回転により下流に搬送される。この搬送ローラ111及び排紙ローラ113の同期動作により、用紙160は、図示しない排紙トレイに排出される。また、このように搬送される用紙160に対しては、プラテン101上で、記録ヘッド131によるインク液滴の吐出動作が行われる。
【0033】
インクジェットプリンタ100では、外部から印刷指令を受信すると、主制御ユニット150が、この印刷指令にて指定された印刷対象の画像データに基づく画像を用紙160に形成するために、モータ制御装置140に対して、搬送ローラ111及び排紙ローラ113を所定量回転させるように駆動指令を入力する。これによって、モータ制御装置140は、搬送ローラ111及び排紙ローラ113が所定量回転するように、モータ120を制御する。
【0034】
主制御ユニット150は、このような駆動指令の入力を繰返し実行することにより、モータ制御装置140を通じて、用紙160を所定量ずつ記録ヘッド131による画像形成位置に送り出す。そして、用紙160を所定量ずつ送り出しては、用紙160の搬送方向とは直交する主走査方向(図2紙面法線方向)に、記録ヘッド131を搬送し、この搬送過程では記録ヘッド131に印刷対象の画像データに基づくインク液滴の吐出動作を実行させることにより、プラテン10上の用紙160に印刷対象の画像データに基づく画像を形成する。尚、記録ヘッド131のインク液滴の吐出動作は、少なくとも用紙160が所定量送りだされて停止した状態で実行される。また、記録ヘッド131を1回搬送する中でのインク液滴の吐出動作の実行が終了すると、再度用紙160が所定量送りだされる。図2に示すインクジェットプリンタ100は、このように用紙160を所定量ずつ送り出しては、用紙160に画像を形成する動作を繰り返すことによって、印刷対象の画像データに基づく一連の画像を用紙160に形成する。
【0035】
本実施例の制御システム1は、このような構成のインクジェットプリンタ100に組み込むことができる。具体的に、インクジェットプリンタ100には、制御システム1の駆動対象10及びモータ20を除く構成要素(図1点線内の構成要素)を、モータ制御装置140として組み込むことができる。この場合、インクジェットプリンタ100が備えるモータ120は、制御システム1が備えるモータ20に対応する。そして、搬送ローラ111及び排紙ローラ113、又は、用紙160が駆動対象10に対応する。
【0036】
インクジェットプリンタ100では、用紙160を所定量ずつ送り出しては、用紙160に画像を形成するため、高精度に用紙160を所定量ずつ搬送しないと、用紙160に形成される画像の品質が劣化する。一方で、ユーザからは、高速な印字が求められている。本実施例の制御システム1は、このような高速性と精度とが求められるシステムに適用されると、その効果が発揮される。
【0037】
続いて、制御システム1の詳細構成を説明する。制御システム1が備えるモータドライバ30(図1参照)は、モータ制御ユニット60から入力される電流指令値Uに従って、電流指令値Uに対応する駆動電流をモータ20に入力し、モータ20を駆動する。
【0038】
一方、ロータリエンコーダ40は、モータ20の回転軸に接続されて、モータ20が所定量回転する度にパルス信号を出力する周知のロータリエンコーダである。このロータリエンコーダ40は、パルス信号として、位相がπ/2異なるA相信号及びB相信号を出力する。位置検出器50は、このロータリエンコーダ40から出力されるA相信号及びB相信号に基づき、モータ20の回転位置Xを検出する。そして、検出した回転位置Xの情報をモータ制御ユニット60に入力する。また、速度検出器55は、ロータリエンコーダ40から出力されるA相信号及びB相信号に基づき、モータ20の回転速度ωを検出し、この情報をモータ制御ユニット60に入力する。
【0039】
そして、モータ制御ユニット60は、外部(主制御ユニット150等)から駆動指令が入力されると、その駆動指令と共に指定された目標搬送量Ptに従って、駆動対象10を目標搬送量Pt分搬送する。
【0040】
具体的に、モータ制御ユニット60は、駆動指令が入力されると、駆動対象10を目標搬送量Ptに対応した地点(以下「目標停止位置」とも表現する。)まで移動させるために、制御手法の異なる第一、第二及び第三制御処理を、モータ20の回転位置Xから特定される駆動対象10の位置(搬送量)Pに応じて順に切り替えて実行する。即ち、図3に示すように、駆動対象10の駆動制御初期では、第一制御処理を実行し、駆動制御中期では、第二制御処理を実行し、駆動制御後期では、第三制御処理を実行する。
【0041】
第一制御処理では、速度検出器55から入力されるモータ20の回転速度ωの情報に基づき、この回転速度ωでの逆起電力による電流低下を加味した電流量であってモータ20に入力可能な電流上限値Umaxを、所定の演算式Um(ω)により算出し、算出した電流上限値Umaxに対応する電流指令値U=Umaxを、モータドライバ30に入力する。このような制御によって、電流上限値Umaxに対応する駆動電流をモータ20に入力して、モータ20の最大能力相当で駆動対象10を搬送する。
【0042】
尚、電流上限値Umaxを算出可能な演算式Um(ω)は、予め設計段階で理論又は実験により求めることができる。具体的に、設計者は、理論により演算式Um(ω)を定める場合、演算式Um(ω)を、モータ20の定格電圧Vmax、モータ20の起電力係数Ke、電機子抵抗Raに基づき、次式により定めることができる。
【0043】
【数1】
【0044】
一方、実験結果に基づいて定める場合には、図4に示すように、逆起電力による影響がない状態においてモータ20に流すことのできる最大電流量Imax、即ち、モータ20の回転速度がゼロであるときの最大電流量Imaxを電流指令値U=Imaxとしてモータドライバ30に入力することによって得られるモータ20の最大回転速度ωmaxと、その時点でモータ20を流れる電流の上記最大電流量Imaxからの電流低下分Idと、に基づき、演算式Um(ω)を次式により定めることができる。
【0045】
【数2】
【0046】
演算式Um(ω)を理論及び実験のいずれに基づいて定めるかは、設計者の自由である。しかしながら、理論により演算式Um(ω)を求める場合には、カタログ値の誤差による影響を受けて、電流上限値Umaxを演算式Um(ω)に基づき正確に算出することができない可能性があるので、実験によりImax,Id,ωmaxを求めて、演算式Um(ω)を定めるのが好ましい。
【0047】
また、モータ制御ユニット60は、第一制御処理に代えて第二制御処理を実行すると(図3参照)、電流上限値Umaxより小さい偽の電流上限値Ufを算出し、算出した偽の電流上限値Ufに対応する電流指令値U=Ufを、モータドライバ30に入力する。このような制御によって、電流上限値Umaxよりも小さい駆動電流をモータ20に入力し、駆動対象10を搬送する。
【0048】
具体的に、式(2)を用いて電流上限値Umaxを算出する場合には、Idよりも大きい値として予め設計段階で定めた値Ifを用いて、次式により、偽の電流上限値Ufを算出することができる。
【0049】
【数3】
【0050】
尚、値Ifは、想定される負荷では、第三制御処理によって算出される電流指令値Uが電流上限値Umaxを超えないような値に定める。具体的な値Ifについては、実験的に上記条件を満足する値を探索して定めることができる。
【0051】
この他、モータ制御ユニット60は、第二制御処理に代えて、第三制御処理を実行すると、位置検出器50により検出されたモータ20の回転位置Xから特定される駆動対象10の位置であって駆動開始地点(第一制御処理の実行開始時の地点)を原点とした位置(搬送量)Pと、速度検出器55により検出されたモータ20の回転速度ωから特定される駆動対象10の速度Vと、駆動対象10の位置、速度及び加速度についての目標プロファイル(即ち目標軌跡)と、に基づき、駆動対象10が目標プロファイルに追従して移動するような電流指令値Uを算出する。そして、この電流指令値Uを、モータドライバ30に入力する。この動作により、モータ制御ユニット60は、駆動対象10の位置P及び速度Vを目標値に制御する。
【0052】
尚、第三制御処理で用いられる目標プロファイルは、定速区間及び減速区間を含み、第三制御処理の開始時点での駆動対象10の位置P=Pm及び速度V=Vm、並びにその時点での時刻t=Taに基づいて、例えば、次のように設定される。
【0053】
<定速区間>
・目標加速度Ar=0 …(4)
・目標速度Vr=Vm …(5)
・目標位置Pr=Vm・(t−Ta)+Pm …(6)
<減速区間>
・目標加速度
【0054】
【数4】
【0055】
・目標速度
【0056】
【数5】
【0057】
・目標位置
【0058】
【数6】
【0059】
但し、定速区間は、時刻Taから時刻Tbまでの時間領域に対応し、減速区間は、時刻Tbから時刻Tb+Tdまでの時間領域に対応する。記号tは、駆動対象10の駆動開始時点からの時刻(経過時間)を表し、記号Tbは、減速区間の開始時刻(以下「減速開始時刻」とも表現する。)を表し、記号Apは、減速区間での目標加速度Arのピークの絶対値を表す。Apは、モータ20の最大能力に対応した一律の値に、設計段階で定められる。
【0060】
式(7)から減速区間での駆動対象10の移動量Pd(以下「減速距離」とも表現する。)は、Pd=Vm2/Apとなる。従って、定速区間の時間長さTcは、駆動対象10が目標停止位置Ptで停止するように、Tc=(Pt−Pd−Pm)/Vmに設定され、減速開始時刻Tbは、Tb=Ta+Tcに設定される。
【0061】
尚、第三制御処理では、フィードバック制御系、又は、フィードバック制御系及びフォードフォワード制御系からなる二自由度制御系を用いて、電流指令値Uを算出する構成にすることができる。電流指令値Uを算出する伝達関数については、設計者が駆動対象10の特性に基づいて周知の手法により定めることができる。
【0062】
本実施例では、このような内容の第一、第二及び第三制御処理を切り替えて実行することで、高速且つ高精度に、駆動対象10を目標停止位置Ptまで搬送する。
詳述すると、本実施例では、第一制御処理によって、モータ20の最大能力相当で駆動対象10を駆動する。また、第三制御処理では、モータ20の最大能力相当で駆動対象10を減速・停止させることができるように、減速区間での目標加速度Arのピークが、モータ20の最大能力に対応した一律の値−Apとなるように減速区間の目標プロファイルを設定する。本実施例では、このような駆動対象10の加速・減速・停止手法を採用することにより、高速且つ高精度に、駆動対象10を目標停止位置Ptまで搬送する。
【0063】
また、本実施例では、図3に示すように、第三制御処理の開始後、直ちに駆動対象10を減速させずに、駆動対象10を定速移動させた後に減速・停止させる。目標プロファイルに基づく制御の開始時には、目標プロファイルからの駆動対象10の位置P及び速度Vの変動が大きいが、定速区間を設けることで、その変動を抑えてから、減速過程に移ることができる。従って、本実施例によれば、駆動対象10を高精度に目標停止位置Ptに停止させることができる。尚、定速区間を設けることで、高速性については多少劣化することになるので、場合によっては、定速区間を設けずに目標プロファイルを設定する例も考えられる。
【0064】
続いて、駆動指令が入力されるとモータ制御ユニット60が周期的に実行する主制御処理の詳細を、図5を用いて説明する。主制御処理は、駆動対象10を上記駆動指令にて指定された目標停止位置Ptまで搬送するための処理であり、制御周期毎に実行される。
【0065】
図5に示す主制御処理を開始すると、モータ制御ユニット60は、まず、位置検出器50により検出されたモータ20の回転位置Xに基づき、現時点での駆動対象10の位置Pを特定し、速度検出器55により検出されたモータ20の回転速度ωに基づき、現時点での駆動対象10の速度Vを特定する(S110)。更に、モータ制御ユニット60は、駆動指令が入力されて駆動対象10の駆動制御を開始した時点からの経過時間(現在時刻)tを特定する(S110)。モータ20と駆動対象10とは連動するので、当然の如く、モータ20の回転位置X及び回転速度ωから、駆動対象10の位置P及び速度Vは特定可能である。
【0066】
その後、モータ制御ユニット60は、フラグFが値1にセットされているか否かを判断する(S120)。フラグF及び後述するフラグGは、駆動指令が入力されると値0にリセットされるものである。フラグFは、S250の処理が実行されると、値1にセットされ、フラグGは、S400の処理が実行されると値1にセットされる。
【0067】
ここで、フラグFが値0であると判断すると(S120でNo)、モータ制御ユニット60は、S130に移行し、フラグFが値1であると判断すると(S120でYes)、S160に移行する。
【0068】
S130に移行すると、モータ制御ユニット60は、S110で特定された現在の駆動対象10の位置Pに基づき、駆動対象10が予め定められた第一制御処理から第二制御処理への切替位置である第一切替位置P1に到達したか否かを判断する。具体的には、駆動対象10の位置Pが第一切替位置P1以上である場合に、駆動対象10が第一切替位置P1に到達したと判断する。
【0069】
そして、駆動対象10が第一切替位置P1に到達していないと判断すると(S130でNo)、第一制御処理として、次の内容の処理を実行する。即ち、S110で特定された現在のモータ20の回転速度ωに基づき、上述した式(2)に従って、現在の回転速度ωに対応する電流上限値Umaxを算出し(S140)、この電流上限値Umaxに対応する電流指令値U=Umaxをモータドライバ30に入力する(S150)。その後、モータ制御ユニット60は、当該主制御処理を一旦終了し、周期的に到来する次の実行タイミングで、再度主制御処理をS110から開始する。
【0070】
駆動対象10が第一切替位置P1に到達するまでは、フラグF=0であるため、主制御処理の周期的な実行によって、モータ制御ユニット60では、この第一制御処理(S140,S150)が繰返し実行される。即ち、主制御処理の周期的な実行によって、駆動対象10が第一切替位置P1に到達するまでは、電流上限値Umaxに対応する駆動電流(電流量)でモータ20は回転駆動され、駆動対象10はモータ20の最大能力相当で搬送される。
【0071】
一方、駆動対象10が第一切替位置P1に到達したと判断すると(S130でYes)、モータ制御ユニット60は、S170に移行し、駆動対象10が予め定められた第二制御処理から第三制御処理への切替位置である第二切替位置P2に到達したか否かを判断する。具体的には、駆動対象10の位置Pが第二切替位置P2以上である場合に、駆動対象10が第二切替位置P2に到達したと判断する。
【0072】
そして、駆動対象10が第二切替位置P2に到達していないと判断すると(S170でNo)、モータ制御ユニット60は、第二制御処理として、次の内容の処理を実行する。即ち、S110で特定された現在のモータ20の回転速度ωに基づき、上述した式(3)に従って、現在の回転速度ωに対応する電流上限値Umaxよりも小さい偽の電流上限値Ufを算出し(S210)、この偽の電流上限値Ufに対応する電流指令値U=Ufをモータドライバ30に入力する(S220)。その後、モータ制御ユニット60は、フラグFを値1に設定して(S250)、当該主制御処理を一旦終了する。
【0073】
尚、第二制御処理(S210,S220)の初回実行時点以降で実行される主制御処理において、モータ制御ユニット60は、S120で肯定判断して、S160に移行し、S160では、フラグGが値1に設定されているか否かを判断する。そして、駆動対象10が第二切替位置P2に到達するまでは、フラグGが値1に設定されないので、否定判断して(S160でNo)、S170に移行する。
【0074】
従って、駆動対象10が第二切替位置P2に到達するまでは、主制御処理の周期的な実行によって、モータ制御ユニット60では、この第二制御処理(S210,S220)が繰返し実行される。即ち、主制御処理の周期的な実行によって、駆動対象10が第二切替位置P2に到達するまでは、偽の電流上限値Ufに対応する駆動電流(電流量)でモータ20は回転駆動され、モータ20に入力される駆動電流は、電流上限値Umaxよりも小さな値に調整される。
【0075】
この他、駆動対象10が第二切替位置P2に到達したと判断すると(S170でYes)、モータ制御ユニット60は、S300に移行し、第三制御処理を実行する。また、第三制御処理の実行後には、フラグGを値1に設定して(S400)、当該主制御処理を一旦終了する。
【0076】
尚、第三制御処理(S300)の初回実行時点以降で実行される主制御処理において、モータ制御ユニット60は、S120,S160で肯定判断して、S300に移行する。
従って、駆動対象10が第二切替位置P2に到達してからは、主制御処理の周期的な実行によって、モータ制御ユニット60では、この第三制御処理(S300)が繰返し実行される。モータ制御ユニット60は、この第三制御処理の繰返し実行により、駆動対象10が目標停止位置Ptで停止すると、このような主制御処理の周期的実行を終了する。
【0077】
続いて、S300で実行する第三制御処理の詳細について、図6を用いて説明する。第三制御処理では、フラグGが値1に設定されているか否かを判断し(S310)、フラグGが値1に設定されていないと判断すると(S310でNo)、S320に移行して、定速区間及び減速区間の目標プロファイルを設定する。一方、フラグGが値1に設定されていると判断すると(S310でYes)、S330に移行する。即ち、初回の第三制御処理では、S320で定速区間及び減速区間の目標プロファイルを設定した後に、ここで設定した目標プロファイルに基づいて、S330の処理を実行し、二回目以降の第三制御処理では、S320の処理を実行せずに、初回の第三制御処理で設定した目標プロファイルに基づいて、S330の処理を実行する。
【0078】
S320では、具体的に、S110で特定された現在の駆動対象10の速度V=Vmを用いて、減速距離Pd=Vm2/Apを算出し、この減速距離Pdと、S110で特定された現在の駆動対象10の位置P=Pmと、目標停止位置Ptと、から、駆動対象10を目標停止位置Ptで停止させるのに最適な定速区間の時間長さTc=(Pt−Pd−Pm)/Vmを算出する。そして、現在時刻t=Taに、定速区間の時間長さTcを加算して、減速開始時刻Tbを、Tb=Ta+Tcに設定し、これらの値Pm,Vm,Ta,Tbを用いて、式(4)〜(6)に従う定速区間の目標プロファイルを設定し、更に予め設計段階で定められた値Apを用いて、式(7)〜(10)に従う減速区間の目標プロファイルを設定する。
【0079】
そして、S330に移行すると、モータ制御ユニット60は、目標プロファイルに従う現在時刻tでの目標値(目標加速度Ar、目標速度Vr及び目標位置Pr)と、S110の処理で特定された駆動対象10の位置P及び速度Vとに基づき、駆動対象10の位置P及び速度Vが目標値に追従するようなモータ20に対する電流指令値Uを算出し、算出した電流指令値Uを、モータドライバ30に入力する。その後、第三制御処理を終了し、S400へ移行する。
【0080】
モータ制御ユニット60は、駆動対象10が第二切替位置P2に到達してからは、このような内容の第三制御処理(S300)を繰返し実行することにより、目標プロファイルに従って、駆動対象10が目標停止位置Ptで停止するように、モータ20を制御する。そして、駆動対象10が目標停止位置Ptで停止すると、当該周期的な主制御処理の実行を完了する。尚、モータ制御ユニット60は、位置検出器50から得られる駆動対象10の位置Pが一定時間変化しなくなると、駆動対象10が停止したとみなして周期処理を終了する構成にすることができる。
【0081】
以上、第一実施例の制御システム1の構成について説明したが、本実施例によれば、第一制御処理から目標プロファイルに基づく制御である第三制御処理にモータ制御を切り替える過程で、第二制御処理を実行することにより、第三制御処理の実行直前には、モータ20が電流上限値Umaxよりも小さい電流量で駆動された状態とする。
【0082】
従って、本実施例によれば、第三制御処理の実行直後に、モータ20に作用する負荷が上昇したことを原因として、電流指令値Uが電流上限値Umaxを超えて電流飽和が生じるのを抑えることができ、電流飽和によって駆動対象10が目標プロファイル通りの軌跡で搬送されずに、駆動対象10の停止精度が劣化するのを抑えることができる。
【0083】
また、本実施例によれば、第一、第二及び第三制御処理を、駆動対象10の運動が大きく不連続とならないように、滑らかに切り替えることができて、好ましい制御状態で駆動対象10の減速過程に移行することができ、精度よく駆動対象10を目標停止位置Ptに停止させることができる。
【0084】
そして、本実施例によれば、上述したように、第一制御処理によって高速に駆動対象10を搬送することができるので、結果として、高速且つ高精度に、駆動対象10を目標停止位置Ptに停止させることができる。
【0085】
尚、本実施例によれば、駆動対象10の位置が第一切替位置又は第二切替位置に到達したことを条件に、第一、第二及び第三制御処理の切替が行われるが、制御システム1は、駆動開始からの時間や駆動対象の速度に応じて、切り替えるよう構成されても良い。
【0086】
また、第一切替位置及び第二切替位置は、予め設計者が実験的に求めることができる。具体的には、第一制御処理をできる限り長く実行することで、より早く駆動対象10を移動させることができるが、あまり長すぎると、第三制御処理を実行する距離が短くなり、駆動対象10が目標停止位置Ptに精度良く停止できなくなる可能性がある。従って、第一切替位置は、第三制御処理によって駆動対象10を目標停止位置Ptに精度良く停止できる程度の位置に設定されるとよい。また、第二切替位置としては、想定される負荷では、第三制御処理によって算出される電流指令値Uが電流上限値Umaxを越えないような速度までモータの回転速度が低下する位置を、値Ifと合わせて実験的に求められるとよい。
[第二実施例]
続いて、第二実施例について説明する。第二実施例の制御システム1は、モータ制御ユニット60が実行する第二制御処理の内容が第一実施例から変更になった程度のものであるので、第二制御処理の内容以外の説明を適宜省略する。図7には、主制御処理の内、第二実施例での第二制御処理に係るステップと、その前後のステップを選択的に示す。
【0087】
本実施例では、第一実施例と同様に、駆動対象10が第一切替位置P1に到達すると(S130でYes)、S170に移行する。そして、S170では、駆動対象10が第二切替位置P2に到達したか否かを判断し、駆動対象10が第二切替位置P2に到達していないと判断すると(S170でNo)、第二制御処理として、第一実施例とは異なる次の処理を行う。具体的には、式(1)又は式(2)に示される関数U(ω)に従って、S110で特定された現在のモータ20の回転速度ωに対応する電流上限値Umax=U(ω)を算出する。そして、この電流上限値Umaxに、予め設計段階で定められた1未満の係数Kを掛けることによって、電流上限値Umaxよりも小さい偽の電流上限値Uf=K・Umaxを算出する(S215)。
【0088】
そして、S215で算出された偽の電流上限値Ufに対応する電流指令値U=Ufをモータドライバ30に入力することで、電流上限値Umaxよりも小さい駆動電流でモータ20を駆動する(S220)。その後、S250に移行する。
【0089】
即ち、第二実施例では、第一実施例におけるS210の処理に代えて、S215の処理を実行し、これによって、電流上限値Umaxの所定割合を偽の電流上限値Ufとして算出し、この偽の電流上限値Ufに基づいて、モータ制御を行うことにより、第一実施例におけるS210,S220の処理と同様に、電流上限値Umaxよりも小さい駆動電流でモータ20を駆動する。
【0090】
このように構成された第二実施例の制御システム1によれば、第一実施例の制御システム1と同様の理由により、高速且つ高精度に駆動対象10を目標停止位置に停止させることができる。尚、本実施例では、S215において、その時点での回転速度ωに基づき、偽の電流上限値Ufを算出するようにしたが、偽の電流上限値Ufは、第二制御処理の実行前の最後に実行した第一制御処理において算出された電流上限値Umaxの所定割合Kに設定されてもよい。即ち、S215では、第二制御処理の実行前の最後に実行した第一制御処理において算出された電流上限値Umaxを用いて、偽の電流上限値Uf=K・Umaxを算出してもよい(第二実施例の変形例)。
[第三実施例]
続いて、第三実施例について説明する。第三実施例の制御システム1は、第二実施例と同様、モータ制御ユニット60が実行する第二制御処理の内容が第一実施例から変更になった程度のものである。図8には、主制御処理の内、第三実施例での第二制御処理に係るステップと、その前後のステップを選択的に示す。
【0091】
本実施例のモータ制御ユニット60は、第一実施例と同様に、駆動対象10が第一切替位置P1に到達すると(S130でYes)、S170に移行し、駆動対象10が第二切替位置P2に到達したか否かを判断する。そして、駆動対象10が第二切替位置P2に到達していないと判断すると(S170でNo)、第二制御処理として、S210,S220の処理に代えて、モータドライバ30に対し、電流指令値U=0を入力する処理を実行する(S225)。その後、S250に移行する。
【0092】
第三実施例の制御システム1によれば、第二制御処理の実行により、図9に示すように、駆動対象10の速度Vが下がり、電流上限値Umaxが上昇する。従って、第三制御処理においては、その実行直後においてモータ20の負荷等が上昇しても、第三制御処理によって算出される電流指令値Uが極力、電流上限値Umaxを超えないように、モータ制御を行うことができ、第一実施例の制御システム1と同様に、高速且つ高精度に駆動対象10を目標停止位置Ptに停止させることができる。
[第四実施例]
続いて、第四実施例について説明する。第四実施例の制御システム1は、第三実施例の制御システム1における第三制御処理(S300)の内容を変更した程度のものである。従って、以下では、図10及び図11を用いて、第三制御処理の内容を選択的に説明する。但し、本実施例で採用する第三制御処理の構成は、第一実施例及び第二実施例の制御システム1にも適用できることをここで言及しておく。
【0093】
図10に示すように、本実施例では、第三制御処理において、定速区間の前に調整区間を設けた目標プロファイルを用いる。図10の下段は、図10上段に示した時間対速度(目標速度Vr及び実速度V)のグラフと、時間対電流(電流指令値U及び電流上限値Umax)のグラフにおける第二制御処理から第三制御処理への切替前後の拡大図である。
【0094】
調整区間は、駆動対象10を減速させる区間であるという意味で、減速区間に類似するものであるが、定速区間での速度を低めに設定する目的で設けられた区間であるという意味で、駆動対象10の停止を目的とした減速区間とは異なる。
【0095】
本実施例では、第三制御処理を開始すると、その時点での駆動対象10の速度V=V0、位置P=P0、及び、加速度A=A0と、現在時刻t=T0に基づいて、調整区間で用いる目標プロファイルを設定する。具体的には、次式に従う目標速度Vrのプロファイルを設定する。
【0096】
【数7】
【0097】
ここで、記号T1は、調整区間の終了時刻であり、Vcは、調整区間終了時の目標速度である。尚、目標速度Vcは、固定値として予め設計段階で定められてもよいし、第一制御処理から第二制御処理への切替時刻t=Tpでの駆動対象10の速度V=Vpを基準とした割合Rcで定められてもよい。即ち、設計段階では、割合Rcを定めて、プロファイル設定時には、この割合Rcから、目標速度Vcを、式Vc=Vp・Rcに従って設定してもよい。但し、設計段階では、目標速度Vcが調整区間の開始時刻t=T0での駆動対象10の速度V=V0よりも小さくなるように、目標速度Vc又は割合Rcを定める必要がある。この他、割合Rcを可変値とすることもできる。即ち、調整区間の開始時刻t=T0での駆動対象10の速度V=V0と、時刻t=Tpでの駆動対象10の速度V=Vpとの比R0=V0/Vpを算出し、割合Rcを、この比R0よりも小さい値に定めるようにしてもよい。例えば、R0の所定割合を、値Rcとしてもよい。このような割合Rcを用いて目標速度Vcを算出すれば、目標速度Vcが調整区間の開始時刻t=T0での駆動対象10の速度V=V0よりも小さくなることが保証される。
【0098】
目標速度Vrが上式で設定されることから、調整区間における目標加速度Ar及び目標位置Prのプロファイルは、次式に従って設定される。
【0099】
【数8】
【0100】
上式から理解できるように、調整区間における目標プロファイルは、調整区間の開始時刻である時刻T0での目標加速度Arが、その時点での駆動対象10の加速度A0と同一値を採り、時刻T0での目標速度Vrが、その時点での駆動対象10の速度V0と同一値を採り、時刻T0での目標位置Prが、その時点での駆動対象10の位置P0と同一値を採るものである。また、この目標プロファイルは、調整区間終了時刻T1での目標加速度Arがゼロを採り、調整区間終了時刻T1での目標速度Vrが上述した目標速度Vcを採り、調整区間開始時刻T0から調整区間終了時刻T1までの目標速度Vrが単調減少するものである。本実施例では、このような目標プロファイルを用いることで、調整区間では、滑らかに駆動対象10の速度Vを、目標速度Vcまで減速させ、これによって、電流上限値Umaxを大きくする。
【0101】
続いて、第三制御処理の詳細を、図11を用いて説明する。モータ制御ユニット60は、S300(図5参照)で第三制御処理を開始すると、上述した実施例と同様に、フラグGが値1であるか否かを判断する(S410)。そして、フラグGが値1に設定されていないと判断すると(S410でNo)、S110で特定された現時点での駆動対象10の速度V=V0と、この速度V=V0に基づく加速度A=A0と、現在時刻t=T0と、に基づき、調整区間終了時刻T1を、式(12)に従い設定する(S420)。
【0102】
尚、加速度A=A0については、今回のS110で特定した速度と、前回までのS110で特定した速度と、に基づいて算出することができる。例えば、今回のS110で特定した速度V=V0と、前回のS110で特定した速度V=Vzとの差分(V0−Vz)を、主制御処理の実行周期(サンプリング周期)で除算して算出することが可能である。この動作は、各回のS110で特定した速度Vの全部又は一部をモータ制御ユニット60が備える記憶媒体(RAM等)に記憶しておくで実現することができる。このことについては、目標速度Vcを、上記速度Vpを基準とした割合Rcで算出する場合も同様である。
【0103】
S420での処理を終えると、モータ制御ユニット60は、式(11)(13)(14)に従い、調整区間の目標プロファイルを設定する(S430)。その後、S440に移行する。一方、S410で、フラグGが値1であると判断すると(S410でYes)、S420,S430の処理を実行することなく、S440に移行する。フラグGは、上記実施例と同様、第三制御処理実行後のS400で値1に設定される。
【0104】
S440に移行すると、モータ制御ユニット60は、調整区間終了時刻T1が到来したか否かを判断する。具体的には、S110で特定された現在時刻tが、調整区間終了時刻T1以上であるか否かを判断することにより、調整区間終了時刻T1が到来したか否かを判断する。そして、調整区間終了時刻T1が到来していないと判断すると(S440でNo)、S480に移行して、S430で設定された調整区間の目標プロファイルから特定される現在時刻tでの目標値(目標加速度Ar、目標速度Vr及び目標位置Pr)と、S110で特定された駆動対象10の位置P及び速度Vとに基づき、駆動対象10の位置P及び速度Vが目標値を追従するようなモータ20に対する電流指令値Uを算出し、算出した電流指令値Uを、モータドライバ30に入力する。その後、第三制御処理を終了する。
【0105】
このようにして、モータ制御ユニット60は、駆動対象10が第二切替位置P2に到達した後、調整区間終了時刻T1が到来するまでは、第三制御処理の繰返し実行により、まず調整区間の目標プロファイルに従って、駆動対象10の速度Vを、目標速度Vc付近まで減速させて、電流上限値Umaxを上げる。
【0106】
そして、調整区間終了時刻T1が到来すると、S440で肯定判断して、フラグHが値1であるか否かを判断する(S450)。フラグHは、駆動指令が入力されると値0にリセットされ、S470が実行されると、値1にセットされるものである。このため、調整区間終了時刻T1が到来した直後の第三制御処理では、モータ制御ユニット60は、フラグHが値0であると判断し(S450でNo)、S460に移行する。
【0107】
S460に移行すると、モータ制御ユニット60は、第一実施例から第三実施例におけるS320での処理と同様、定速区間及び減速区間の目標プロファイルを設定する。即ち、S460では、S110で特定された現在の駆動対象10の速度V=Vmを用いて、減速距離Pd=Vm2/Apを算出し、この減速距離Pdと、S110で特定された現在の駆動対象10の位置P=Pmと、目標停止位置Ptと、から、駆動対象10を目標停止位置Ptで停止させるのに最適な定速区間の時間長さTc=(Pt−Pd−Pm)/Vmを算出する。そして、現在時刻t=Taに、定速区間の時間長さTcを加算して、減速開始時刻Tbを、Tb=Ta+Tcに設定し、これらの値Pm,Vm,Ta,Tbを用いて、式(4)〜(6)に従う定速区間の目標プロファイルを設定し、更に予め定められた値Apを用いて、式(7)〜(10)に従う減速区間の目標プロファイルを設定する。
【0108】
このようにして、定速区間及び減速区間の目標プロファイルを設定すると、モータ制御ユニット60は、フラグHを値1にセットし(S470)、その後、S480に移行する。また、フラグHを値1にセットした後のS480では、上述した定速区間及び減速区間の目標プロファイルから特定される現在時刻tでの目標値(目標加速度Ar、目標速度Vr及び目標位置Pr)と、S110で特定された駆動対象10の位置P及び速度Vとに基づき、駆動対象10の位置P及び速度Vが目標値に追従するようなモータ20に対する電流指令値Uを算出し、算出した電流指令値Uを、モータドライバ30に入力する。その後、第三制御処理を終了する。
【0109】
このようにして、モータ制御ユニット60は、調整区間終了時刻T1が到来した後には、第三制御処理の繰返し実行により、定速区間及び減速区間の目標プロファイルに従って、駆動対象10を制御し、駆動対象10を、目標停止位置Ptに減速・停止させる。尚、フラグHが値1にセットされた後の第三制御処理では、S440及びS450で肯定判断することで、S460,S470の処理をスキップし、S480の処理を実行する。
【0110】
以上、第四実施例について説明したが、第四実施例によっても、駆動対象10を、高精度且つ高速に目標停止位置に停止させることができる。特に、本実施例によれば、調整区間を備えることにより、定速区間での速度を、第二制御処理終了時の速度に依らず調整することができて、第三制御処理にて算出される電流指令値Uが負荷上昇により電流上限値Umaxを超えてしまうのを一層効果的に抑制することができる。
[第五実施例]
続いて、第五実施例について説明する。第五実施例の制御システム1は、負荷上昇の有無を判定して、その判定結果に従って、第二制御処理を実行するか否かを切り替える構成にされたものである。第二制御処理については、高速搬送に係る性能が劣化する原因となるので、停止精度よりも高速搬送を優先する必要があり、且つ、第二制御処理を行わなくても第三制御処理にて電流指令値Uが電流上限値Umaxを超えるような負荷上昇の可能性が殆どない環境では、第二制御処理を行わないのが好ましい。そこで、本実施例では、負荷上昇の有無を判定して、その判定結果に従って、第二制御処理を実行するか否かを切り替える。
【0111】
具体的に、以下では、本実施例の制御システムが組み込まれる画像形成装置である負荷が特定の地点で急激に上昇するインクジェットプリンタ200の構成を、図12を用いて説明し、モータ制御ユニット60が実行する処理の詳細を、図13を用いて説明する。尚、第二実施例から第四実施例と同様に、本実施例の制御システム1のハードウェア構成は、基本的に、第一実施例のハードウェア構成と同一である。即ち、本実施例の制御システム1は、モータ制御ユニット60が実行する処理内容が上述の実施例と異なる程度のものである。従って、以下では、上述の実施例と同一構成の説明を適宜省略する。
【0112】
図12に示すインクジェットプリンタ200は、第一実施例で説明したインクジェットプリンタ100(図2参照)と同様に、プラテン201の上流側に、搬送ローラ211及びピンチローラ212を備え、プラテン201の下流側に、排紙ローラ213及び拍車ローラ214を備える。また、プラテン201上に、用紙に対して画像形成可能な記録ヘッド(所謂インクジェットヘッド)231及び記録ヘッド231を搬送するためのキャリッジ235を備える。このインクジェットプリンタ200においては、搬送ローラ211及び排紙ローラ213の回転により、一点鎖線に示すように用紙が搬送される。
【0113】
このインクジェットプリンタ200には、図示しないが、インクジェットプリンタ100と同様に、搬送ローラ211及び排紙ローラ213を駆動するためのモータ、このモータを制御するモータ制御装置、並びに、モータ制御装置を含む装置内各部に対して指令入力して、インクジェットプリンタ200全体を統括制御する主制御ユニットが設けられる。そして、このインクジェットプリンタ200には、第一実施例と同様、本実施例の制御システム1の駆動対象10及びモータ20を除く構成要素(図1点線内の構成要素)を、モータ制御装置として組み込むことができる。
【0114】
このインクジェットプリンタ200は、上述したインクジェットプリンタ100と同様の構成に加えて、経路切替器250と、下流ローラ261と、下流ローラ261に対向配置された拍車ローラ262と、リターンパス270と、戻しローラ281と、戻しローラ281に対向配置されたピンチローラ282とを備える。
【0115】
経路切替器250は、フラップ251と、フラップ251に固定された補助ローラ253,254とを備え、フラップ251が、軸Eを中心に回動可能な構成にされたものである。具体的に、フラップ251は、図12に示すような下方に傾いた第一姿勢と、フラップ収容部255に収容されて概略水平となる第二姿勢と、を採り得るように、回動可能に設置されている。フラップ251は、排紙ローラ213下流の支持部材257に支持された用紙の先端が、フラップ251に取り付けられた補助ローラ253と、支持部材257との間を通過するときに、用紙に作用されて上方に押し上げられ、上記第二姿勢をとる。この用紙は、排紙ローラ213からの力の作用により、フラップ251を押し上げながら、下流ローラ261と拍車ローラ262との間まで移動し、下流ローラ261と拍車ローラ262との間に二ップされて、更に下流に搬送される。尚、下流ローラ261は、排紙ローラ213と同一のモータからの駆動力を受けて、搬送ローラ211及び排紙ローラ213と同期回転する。
【0116】
そして、用紙が下流に搬送される過程で、用紙後端が、補助ローラ253と支持部材257との間を通り抜けると、支持部材257からの支持をなくした用紙は、フラップ251から作用される下方への力に負けて、リターンパス270側へと落ち、それに伴って、フラップ251は、第一姿勢に変化する。
【0117】
インクジェットプリンタ200の主制御ユニットは、このような用紙の後端がリターンパス270側に落ちた状態を、用紙搬送量の情報等に基づき特定し、両面印刷が必要な場合には、モータ制御装置に向けて、モータを逆回転させるように指令入力する。この指令を受けるとモータ制御装置は、モータを逆回転させることで、用紙の後端を、戻しローラ281及びピンチローラ282側へと搬送する。このような搬送が継続されると、図12一点鎖線で示すように、用紙は、裏返され、上記後端が搬送方向側に向いた状態で、搬送ローラ211及びピンチローラ212との間に搬送される。このようにして搬送ローラ211及びピンチローラ212との間に用紙が到達すると、主制御ユニットからは、モータを正回転させるように指示する駆動指令が入力されて、この用紙は、片面印刷時と同様に、搬送され、最終的に、排紙トレイに排出される。
【0118】
このような両面印刷可能なインクジェットプリンタ200では、用紙の先端がフラップ251を押し上げる前後で、搬送負荷が大きく変化する。即ち、用紙の先端がフラップ251を押し上げるときに、搬送負荷が大きく上昇し、これに伴ってモータに作用する負荷も大きく上昇する。
【0119】
このため、このインクジェットプリンタ200に組み込まれる本実施例の制御システム1が備えるモータ制御ユニット60は、主制御ユニットから駆動指令が入力されると、主制御処理を繰返し実行する前に、図13(a)に示す搬送前処理を実行する。
【0120】
搬送前処理を開始すると、モータ制御ユニット60は、現時点での原点位置O(図12参照)からの用紙の総搬送量Bの情報を主制御ユニットから取得する(S510)。即ち、インクジェットプリンタ200では、一枚の用紙を搬送するために目標搬送量(目標停止位置)Ptを指定した駆動指令を主制御ユニットからモータ制御ユニット60に複数回入力することになるが、S510では、これまでの駆動指令によって現在搬送中の用紙の先端が原点位置Oを通過した時点からの用紙の総搬送量Bの情報を主制御ユニットから取得する。
【0121】
尚、インクジェットプリンタ200には、周知の画像形成装置と同様、搬送ローラ211の直前に用紙端を検知するセンサSNが設けられており、センサSNからの入力信号に基づき、原点位置Oに用紙の先端が到達したことを高精度に検出することができる。本実施例では、主制御ユニットがセンサSNからの入力信号を受け付けて、原点位置Oを基準とした総搬送量Bを特定し、この情報を管理するものとする。
【0122】
S510での処理を終えると、モータ制御ユニット60は、取得情報が示す総搬送量Bに、今回の目標搬送量Pt分を加算して、今回の駆動指令に基づく用紙搬送後の総搬送量Bの値D=B+Ptを算出する(S520)。
【0123】
そして、モータ制御ユニット60は、用紙先端がフラップ251の通過を開始する時点での総搬送量Bである負荷上昇時の搬送量Cと、現時点での総搬送量Bと、今回の駆動指令に基づく用紙搬送後の総搬送量Bの値Dとに基づき、条件式B<C<Dが満足されるか否かを判断することによって、今回の駆動指令に基づくモータ制御過程(用紙搬送過程)で、モータ20に対する負荷上昇イベントが発生するか否かを判断する。即ち、条件式B<C<Dが満足される場合には、負荷上昇イベントが発生すると判断し、条件式B<C<Dが満足されない場合には、負荷上昇イベントが発生しないと判断する(S530)。
【0124】
そして、負荷上昇イベントが発生すると判断すると(S530でYes)、第二制御処理実行フラグJを値1に設定する(S540)。一方、負荷上昇イベントが発生しないと判断すると(S530でNo)、第二制御処理実行フラグJを値0に設定する(S550)。その後、当該搬送前処理を終了する。
【0125】
また、搬送前処理を終了して、主制御処理の周期的な実行を開始すると、モータ制御ユニット60は、第一実施例と同様に、駆動対象10としての用紙が第一切替位置P1に到達するまで第一制御処理を実行し、用紙が第一切替位置P1に到達すると(S130でYes)、S170に移行する。そして、S170では、用紙が第二切替位置P2に到達したか否かを判断し、用紙が第二切替位置P2に到達していないと判断すると(S170でNo)、第二制御処理として、図13(b)に示す処理を行う。
【0126】
即ち、本実施例では、第二制御処理実行フラグJが値1に設定されているか否を判断し(S200)、値1に設定されていると判断すると(S200でYes)、第一実施例と同様に、S110で特定された現在のモータ20の回転速度ωに基づき、上述した式(3)に従って、現在の回転速度ωに対応する電流上限値Umaxよりも小さい偽の電流上限値Ufを算出し(S210)、この偽の電流上限値Ufに対応する電流指令値U=Ufをモータドライバ30に入力する(S220)。その後、モータ制御ユニット60は、フラグFを値1に設定して(S250)、当該主制御処理を一旦終了する。尚、S210の処理に代えては、第二実施例のS215と同様の処理を行うことができる。このようにして、第二制御処理実行フラグJが値1に設定されている場合には、用紙が第二切替位置P2に到達するまで、第一実施例(又は第二から第四実施例)と同様の第二制御処理を実行する。
【0127】
一方、第二制御処理実行フラグJが値0に設定されていると判断すると(S200でNo)、モータ制御ユニット60は、S230に移行し、S110で特定された現在のモータ20の回転速度ωに基づき、上述した式(2)に従って、現在の回転速度ωに対応する電流上限値Umaxを算出し、この電流上限値Umaxに対応する電流指令値U=Umaxをモータドライバ30に入力する(S240)。その後、モータ制御ユニット60は、当該主制御処理を一旦終了する。
【0128】
このようにして、第二制御処理実行フラグJが値0に設定されている場合には、用紙が第二切替位置P2に到達するまで、第一実施例(又は第二から第四実施例)と同様の第一制御処理を実行する。
【0129】
また、用紙が第二切替位置P2に到達した後には、上述した第一実施例(又は第二実施例から第四実施例)と同様の第三制御処理を実行する。
以上、本実施例の制御システム1の構成について説明したが、このような制御システム1によれば、負荷上昇の有無に応じて第二制御処理を実行するか否かを切り替えるので、停止精度が劣化するのを回避しつつ高速な用紙搬送を実現することができる。
【0130】
尚、本実施例では、駆動指令に基づく周期的な主制御処理の実行前の時点での総搬送量Bを用いて、条件式B<C<Dが満足するか否かを判断することによって(S530)、今回の駆動指令に基づくモータ制御過程(用紙搬送過程)で、モータ20に対する負荷上昇イベントが発生するか否かを判断するようにしたが、総搬送量Bに、第一切替位置P1を加算して、第一制御処理終了時の総搬送量Bの値B’=B+P1を算出し、この値B’を用いて、条件式B’<C<Dが満足するか否かを判断することによって(S530)、今回の駆動指令に基づくモータ制御過程(用紙搬送過程)であって第一制御処理終了後の過程において、モータ20に対する負荷上昇イベントが発生するか否かを判断するようにしてもよい(第五実施例の変形例)。
[その他]
以上、本発明の実施例について説明したが、本発明が上記実施例に限定されるものではなく、種々の態様を採ることができることは言うまでもない。例えば、本発明は、画像形成装置における用紙搬送の用途以外のモータ制御にも適用することができる。
【0131】
また、上記実施例では、位置検出器50により検出されるモータ20の回転位置X及び速度検出器55により検出されるモータ20の回転速度ωから、駆動対象10の位置P及び速度Vを特定して、この位置P及び速度Vを目標値に合わせるように駆動対象10の駆動制御を行うようにしたが、モータ20の回転位置X及び回転速度ωと、駆動対象10の位置P及び速度Vとは、その尺度が異なる程度のものであるので、当然のことながら、位置検出器50により検出されるモータ20の回転位置X及び速度検出器55により検出されるモータ20の回転速度ωを直接用いて、これを目標値に合わせるようにモータ制御を行うことにより、間接的に、駆動対象10の駆動制御を行うようにしてもよい。
【0132】
また、上記実施例では、ロータリエンコーダ40はモータ20の回転軸に接続されており、駆動対象10の位置Pと速度Vとは、モータ20の回転位置Xと回転速度ωとから特定されていた。しかしながら、ロータリエンコーダ40は、駆動対象10に接続され、駆動対象10の位置Pと速度Vは、直接ロータリエンコーダ40から検出されても良い。例えば、ロータリエンコーダ40は、搬送ローラ111の回転軸に接続され得る。その場合、モータ20の回転位置Xと回転速度ωとは、駆動対象10の位置Pと速度Vとから特定され得る。
【0133】
この他、上記実施例では、駆動対象10の位置P及び速度Vの両方を用いて、目標プロファイルに基づく制御を行うようにしたが、駆動対象10の位置P及び速度Vの一方のみを用いて、目標プロファイルに基づく制御を行うようにしてもよい。また、目標プロファイルとしては、目標加速度Ar、目標速度Vr及び目標位置Prのいずれか一つ又は二つだけのプロファイルを設定するようにしてもよい。
[対応関係]
最後に、用語間の対応関係について説明する。モータ制御ユニット60は、モータ制御手段の一例に対応し、エンコーダ40は、信号出力手段の一例に対応する。また、モータ制御ユニット60が実行する第一制御処理及び第五実施例における第二制御処理のS230,S240は、第一の制御手段又は前期制御手段によって実現される処理の一例に対応し、モータ制御ユニット60が実行する第二制御処理(第五実施例におけるS200,S230,S240を除く。)は、第二の制御手段によって実現される処理の一例に対応し、モータ制御ユニット60が実行する第三制御処理は、第三の制御手段又は後期制御手段によって実現される処理の一例に対応する。
【0134】
特に、第三実施例及び第四実施例における第一制御処理は、前期制御手段によって実現される処理の一例に対応し、第三実施例及び第四実施例における第三制御処理は、後期制御手段によって実現される処理の一例に対応する。
【0135】
また、モータ制御ユニット60が実行するS120,S130,S160,S170,S200の処理は、切替手段によって実現される処理の一例に対応し、モータ制御ユニット60が実行する搬送前処理(第五実施例)は、判定手段によって実現される処理の一例に対応する。この他、主制御ユニット150は、搬送制御手段の一例に対応する。
【符号の説明】
【0136】
1…制御システム、10…駆動対象、20,120…モータ、30…モータドライバ、40…エンコーダ、50…位置検出器、55…速度検出器、60…モータ制御ユニット、100,200…インクジェットプリンタ、101,201…プラテン、111,211…搬送ローラ、112,114,212,282…ピンチローラ、113,213…排紙ローラ、131,231…記録ヘッド、135,235…キャリッジ、140…モータ制御装置、150…主制御ユニット、160…用紙、214,262…拍車ローラ、250…経路切替器、251…フラップ、253,254…補助ローラ、255…フラップ収容部、257…支持部材、261…下流ローラ、270…リターンパス、281…戻しローラ、SN…センサ
【技術分野】
【0001】
本発明は、モータ制御装置及び画像形成装置に関する。
【背景技術】
【0002】
従来、駆動対象を目標とする位置に高速搬送可能な技術としては、バンバン制御が知られている(例えば、特許文献1,2参照)。バンバン制御は、モータへの制御入力(操作量)を最大又は最小に切り替えて、モータの最大能力で駆動対象を駆動するものであり、駆動対象を目標とする位置に高速に搬送して停止させることができる。
【0003】
この他、逆起電力による電流低下等を原因として、想定されているモータ駆動電流と実際のモータ駆動電流との間にずれが生じ、これによって制御精度が劣化する問題を解消するために、速度に応じて変化する飽和電流に基づいた制御デューティの最大制限値を設定するモータ制御装置が知られている(例えば、特許文献3参照)。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2007−086904号公報
【特許文献2】特開平7−302121号公報
【特許文献3】特開2007−221940号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
ところで、バンバン制御は、駆動対象を高速に駆動するのに優れているが、単純な制御手法であるため、この制御手法によって駆動対象を高精度に目標とする位置に停止させることは難しい。一方、高精度に駆動対象を目標とする位置に停止させるための技術としては、目標プロファイル(目標軌跡)に基づいたフィードバック制御が知られている。しかしながら、フィードバック制御に、飽和電流に基づく操作量の制限値を設定する手法を採用しても、高速且つ高精度に駆動対象を制御するには限界がある。
【0006】
本発明は、こうした問題に鑑みなされたものであり、従来よりも高速且つ高精度に駆動対象を目標位置に停止させることが可能なモータ制御装置を提供することを目的とする。
【課題を解決するための手段】
【0007】
上記目的を達成するためになされた第一の発明は、モータを制御するモータ制御手段と、モータの回転に応じた信号を出力する信号出力手段と、を備え、モータ制御手段が、信号出力手段の出力信号に基づきモータを制御して、モータによって駆動される被駆動体を目標停止位置まで変位させるモータ制御装置であって、モータ制御手段が、第一、第二、及び、第三の制御手段と、第一、第二、及び、第三の制御手段を順に切り替えて動作させる切替手段と、を備えるものである。
【0008】
第一の制御手段は、信号出力手段の出力信号から特定されるモータの回転速度に基づき、モータに入力可能な電流の上限値であって逆起電力による電流低下を加味した電流上限値を推定し、推定した電流上限値に対応する駆動電流をモータに入力するモータ制御を実行する。一方、第二の制御手段は、第一の制御手段がモータ制御の終了時にモータに対して入力した駆動電流、又は、第一の制御手段が仮に現在のモータの回転速度から推定した電流上限値に基づきモータを制御する場合にモータに入力する駆動電流、よりも少ない駆動電流をモータに入力するモータ制御を実行する。
【0009】
そして、第三の制御手段は、信号出力手段の出力信号から特定されるモータ又は被駆動体の動作量としての速度(回転速度)及び変位量(回転量)の少なくとも一方と、当該動作量の目標軌跡とに基づき、モータに入力する駆動電流を決定し、当該駆動電流によるモータ制御を実行することにより、目標軌跡に沿って、被駆動体を目標停止位置まで変位させる。
【0010】
このように構成されたモータ制御装置によれば、被駆動体の駆動初期においては、電流上限値に対応する駆動電流で、モータを駆動するため、モータの最大出力に対応する出力で被駆動体を駆動することができる。一方、被駆動体の駆動後期においては、信号出力手段の出力信号から特定されるモータ又は被駆動体の動作量と、当該動作量の目標値とに基づき、入力する駆動電流を決定し、モータを制御するので、高精度に駆動対象を目標停止位置に停止させることができる。
【0011】
更に言えば、このモータ制御装置では、第一の制御手段によるモータ制御の終了時点から第三の制御手段によるモータ制御の開始時点までの期間において、第二の制御手段により、駆動電流を抑えるようなモータ制御を行う。従って、第一の制御手段によるモータ制御から第三の制御手段によるモータ制御に直ちに切り替えてモータ制御を行う場合よりも、第三の制御手段によるモータ制御の際に、モータの動作量と目標軌跡とから決定される駆動電流が電流上限値を超えてしまうような事象の発生確率を抑えることができ、高精度に被駆動体を目標停止位置に停止させることができる。
【0012】
即ち、第一の制御手段では、電流上限値に対応する駆動電流でモータを駆動しているため、このようなモータ制御から第三の制御手段によるモータ制御に、被駆動体の運動状態が不連続とならないように滑らかに切り替えようとすると、第三の制御手段によるモータ制御の開始初期では、電流上限値周辺の駆動電流がモータに入力されることとなる。そして、この時期に、モータに作用する負荷が上昇すると、目標軌跡から決定される駆動電流が電流上限値を超えてしまい、駆動電流の入力に対し、実際にモータを流れる電流量が小さくなる現象である電流飽和が生じる可能性がある。
【0013】
一方、第二の制御手段によるモータ制御で、モータに入力する駆動電流を抑え、その後、第二の制御手段によるモータ制御から第三の制御手段によるモータ制御に、制御を切り替えれば、第三の制御手段によるモータ制御の開始初期では、第二の制御手段によるモータ制御で抑えられた駆動電流を基準にした駆動電流でモータを駆動すればよいため、モータに作用する負荷が上昇しても、目標軌跡から算出される駆動電流が電流上限値を超えてしまう可能性を抑えることができる。従って、本発明によれば、電流飽和が生じるのを抑えることができて、高精度に、被駆動体を目標停止位置に停止させることができる。
【0014】
ところで、切替手段は、第一、第二及び第三の制御手段を、信号出力手段の出力信号から特定されるモータ又は被駆動体の変位量に応じて、順に切り替えて動作させる構成にすることができる。この切替手段の構成によれば、被駆動体を高精度に目標停止位置に停止させることができる。また、第二の制御手段には、第一の制御手段がモータ制御の終了時にモータに対して入力した駆動電流よりも所定割合少ない駆動電流をモータに入力する構成や、第一の制御手段が仮に現在のモータの回転速度から推定した電流上限値に基づきモータを制御する場合にモータに入力する駆動電流よりも所定割合少ない駆動電流をモータに入力する構成等を採用することができる。
【0015】
この他、第一の制御手段が、信号出力手段の出力信号から特定されるモータの回転速度ωに予め定められた係数Kを乗算して得られる値K・ωを逆起電力による電流低下分とみなして、逆起電力による電流低下がない場合にモータに流れる電流の上限値Imaxから値K・ωを減算した値(Imax−K・ω)を、逆起電力による電流低下を加味した電流上限値として推定するものである場合、第二の制御手段は、係数Kよりも大きい係数K’を用いて算出される偽の電流上限値(Imax−K’・ω)に基づき上記第一の制御手段が仮にモータ制御を行う場合にモータに入力する駆動電流と同一の駆動電流をモータに入力する構成にすることができる。このような構成を採用しても、第二の制御手段によって駆動電流を抑えたモータ制御を行うことができて、第三の制御手段によって電流飽和が生じるのを抑えることができる。
【0016】
また、モータ制御装置は、被駆動体を目標停止位置まで変位させるモータ制御の過程において、モータに作用する負荷が上昇するか否かを判定する判定手段を備える構成にされてもよい。付言すれば、判定手段は、第一の制御手段によるモータ制御の終了後において、モータに作用する負荷が上昇するか否かを判定する構成にされるとよい。そして、切替手段は、判定手段により上昇すると判定された場合には、第一の制御手段によるモータ制御の終了後に、第二の制御手段及び第三の制御手段を順に動作させ、判定手段により上昇しないと判定された場合には、第一の制御手段によるモータ制御の終了後に、第二の制御手段を動作させずに、第三の制御手段を動作させる構成にされるとよい。
【0017】
第二の制御手段を設けているのは、第三の制御手段によるモータ制御の開始初期において負荷の上昇で、電流飽和が生じる可能性を抑えるためであり、負荷上昇の可能性が殆どないのであれば、第一の制御手段によるモータ制御から第三の制御手段によるモータ制御に、制御を直ちに切り替えても、第三の制御手段によるモータ制御の開始後に電流飽和が生じる可能性は小さい。従って、上述したように、第二の制御手段によるモータ制御を実行するか否かを切り替えるようにすると、負荷上昇がない場合には、停止精度が劣化するのを抑えて、高速に被駆動体を目標停止位置に停止させることができる。
【0018】
また、第三の制御手段は、動作開始初期において、モータの回転速度が低下する目標軌跡に基づくモータ制御を実行することにより、モータの回転速度を低下させる構成にされるとよい。このように第三の制御手段を構成すると、第三の制御手段によるモータ制御で、電流飽和が生じるのを抑えることができて、目標停止位置への停止誤差が劣化するのを極力を抑えることができる。
【0019】
更に言えば、第三の制御手段は、上記モータの回転速度が低下する目標軌跡に基づくモータ制御を実行した後、モータを定速回転(被駆動体を定速で変位)させるように、モータを制御する構成にされるとよい。第三の制御手段では、被駆動体を目標停止位置に停止させるが、それまでの過程において、モータ(被駆動体)を定速制御すると、目標軌跡からの上記動作量の誤差を抑えた後に、減速制御に移行することができ、高精度に被駆動体を目標停止位置に停止させることができるといった利点がある。
【0020】
この他、第三の制御手段は、第二の制御手段によるモータ制御終了時に信号出力手段の出力信号から特定されたモータ又は被駆動体の速度V0と、この速度V0よりも低い速度であってモータを定速回転させるときのモータ又は被駆動体の標準速度Vcと、に基づき、第二の制御手段によるモータ制御終了時のモータ又は被駆動体の加速度A0を目標加速度の初期値に設定し、速度V0を目標速度の初期値に設定し、標準速度Vcに到達するまでの減速時間を、速度V0と標準速度Vcとの差(V0−Vc)と加速度A0との比(V0−Vc)/A0に応じた時間に設定した目標軌跡であって、目標速度が標準速度Vcまで滑らかに単調減少する目標軌跡を、動作開始初期に用いる目標軌跡に設定して、当該目標軌跡に基づき、モータの回転速度を低下させた後、モータを定速回転させるように、モータを制御する構成にすることができる。
【0021】
また、上記目的を達成するために、モータ制御装置は、次のように構成されてもよい。第二の発明は、モータを制御するモータ制御手段と、モータの回転に応じた信号を出力する信号出力手段と、を備え、モータ制御手段が、信号出力手段の出力信号に基づきモータを制御して、モータによって駆動される被駆動体を目標停止位置まで変位させるモータ制御装置であって、モータ制御手段が、被駆動体を目標停止位置まで変位させるモータ制御過程の前期において動作する前期制御手段と、被駆動体を目標停止位置まで変位させるモータ制御過程の後期において動作する後期制御手段と、前期制御手段及び後期制御手段を順に動作させる切替手段と、を備えるものである。
【0022】
前期制御手段は、信号出力手段の出力信号から特定されるモータの回転速度に基づき、モータに入力可能な電流の上限値であって逆起電力による電流低下を加味した電流上限値を推定し、推定した電流上限値に対応する駆動電流をモータに入力するモータ制御を実行する。一方、後期制御手段は、信号出力手段の出力信号から特定されるモータ又は被駆動体の動作量としての速度及び変位量の少なくとも一方と、当該動作量の目標軌跡とに基づき、モータに入力する駆動電流を決定し、当該駆動電流によるモータ制御を実行することにより、目標軌跡に沿って、被駆動体を目標停止位置まで変位させる。
【0023】
そして、切替手段は、前期制御手段によるモータ制御終了後、所定条件が満足された後に後期制御手段を動作させることで、前期制御手段によるモータ制御終了後、所定条件が満足されるまでは、モータに対して駆動電流が入力されないようにして、前期制御手段及び後期制御手段を順に動作させる。
【0024】
例えば、切替手段は、前期制御手段によるモータ制御終了時点から、予め定められた量モータ又は被駆動体が変位すると、所定条件が満足されたとして、後期制御手段を動作させる構成にすることができる。別例として、切替手段は、前期制御手段によるモータ制御終了時点から、予め定められた時間経過すると、所定条件が満足されたとして、後期制御手段を動作させる構成にされてもよい。
【0025】
前期制御手段によるモータ制御終了後の「モータに対して駆動電流を入力しない期間」では、被駆動体及びモータは当然のことながら減速し、それに伴って電流上限値は低下する。よって、このように、前期制御手段と後期制御手段との間に、「モータに対して駆動電流を入力しない期間」を設けると、後期制御手段によるモータ制御の開始初期において、電流飽和が生じるのを抑えることができ、高精度に目標停止位置に被駆動体を停止させることができる。
【0026】
また、上述した第一及び第二の発明のモータ制御装置は、画像形成装置に組み込むことができる。即ち、画像形成装置は、モータと、モータにより駆動されるローラを備え、ローラの回転により被記録媒体を搬送する搬送手段と、搬送手段により搬送される被記録媒体に画像を形成する画像形成手段と、モータを制御することにより、搬送手段に被記録媒体を目標停止位置まで搬送させる上述のモータ制御装置と、目標停止位置を指定してモータ制御装置を繰返し動作させることにより、モータ制御装置を通じて、搬送手段に被記録媒体を段階的に搬送させる搬送制御手段と、を備えた構成とすることができる。
【0027】
この画像形成装置によれば、被記録媒体の搬送を高精度に行うことができるので、結果として、被記録媒体に対して高品質な画像を形成することができる。
【図面の簡単な説明】
【0028】
【図1】制御システム1の構成を表すブロック図である。
【図2】インクジェットプリンタ100の構成を表す図である。
【図3】第一実施例の制御手法による駆動対象10の位置・速度・加速度の軌跡を表すグラフである。
【図4】電流上限値を算出する関数Um(ω)の導出方法を説明した図である。
【図5】モータ制御ユニット60が実行する主制御処理を表すフローチャートである。
【図6】主制御処理内で実行される第三制御処理を表すフローチャートである。
【図7】第二実施例において実行される第二制御処理を表すフローチャートである。
【図8】第三実施例において実行される第二制御処理を表すフローチャートである。
【図9】第三実施例の制御手法による駆動対象10の位置・速度・加速度の軌跡を表すグラフである。
【図10】第四実施例の制御手法による駆動対象10の位置・速度・加速度の軌跡を表すグラフである。
【図11】第四実施例において実行される第三制御処理を表すフローチャートである。
【図12】インクジェットプリンタ200の構成を表す図である。
【図13】第五実施例においてモータ制御ユニット60が実行する搬送前処理を表すフローチャート(a)及び第五実施例の第二制御処理を表すフローチャート(b)である。
【発明を実施するための形態】
【0029】
以下に本発明の実施例について、図面と共に説明する。
[第一実施例]
本実施例の制御システム1は、図1に示すように、駆動対象10を駆動するモータ(直流モータ)20と、モータドライバ30と、モータ20の回転軸に接続されたロータリエンコーダ40と、ロータリエンコーダ40の出力信号に基づき、モータ20の回転位置Xを検出する位置検出器50及びモータ20の回転速度ωを検出する速度検出器55と、モータ20に対する操作量である電流指令値Uを算出するモータ制御ユニット60と、を備える。
【0030】
この制御システム1は、画像形成装置等の電気的装置に組み込まれ、電気的装置の主制御ユニット(メインマイコン等)から入力される指令に従うモータ制御を行う。具体的に、駆動対象10としては、画像形成装置が備える用紙搬送機構を挙げることができる。
【0031】
図2には、画像形成装置としてのインクジェットプリンタ100の構成を示す。インクジェットプリンタ100は、プラテン101の上流側に、搬送ローラ111及びピンチローラ112を備え、プラテン101の下流側に、排紙ローラ113及びピンチローラ114を備える。また、プラテン101上に、用紙160に対して画像形成可能な記録ヘッド(所謂インクジェットヘッド)131及び記録ヘッド131を搬送するためのキャリッジ135を備える。この他、インクジェットプリンタ100は、搬送ローラ111及び排紙ローラ113を駆動するためのモータ120、このモータ120を制御するモータ制御装置140、並びに、モータ制御装置140を含む装置内各部に対して指令入力して、インクジェットプリンタ100全体を統括制御する主制御ユニット150を備える。
【0032】
このインクジェットプリンタ100において、用紙搬送機構は、主にローラ111〜114によって構成される。搬送ローラ111及び排紙ローラ113は、モータ120からの動力を受けて、互いに連動するように回転する。この用紙搬送機構には、図示しない給紙トレイから用紙160が供給され、給紙された用紙160は、搬送ローラ111とピンチローラ112との間で挟持されて、搬送ローラ111の回転により下流側(図中太矢印方向)に搬送される。また、搬送ローラ111の回転により搬送されて排紙ローラ113に到達した用紙160は、排紙ローラ113とピンチローラ114との間で挟持されて、排紙ローラ113の回転により下流に搬送される。この搬送ローラ111及び排紙ローラ113の同期動作により、用紙160は、図示しない排紙トレイに排出される。また、このように搬送される用紙160に対しては、プラテン101上で、記録ヘッド131によるインク液滴の吐出動作が行われる。
【0033】
インクジェットプリンタ100では、外部から印刷指令を受信すると、主制御ユニット150が、この印刷指令にて指定された印刷対象の画像データに基づく画像を用紙160に形成するために、モータ制御装置140に対して、搬送ローラ111及び排紙ローラ113を所定量回転させるように駆動指令を入力する。これによって、モータ制御装置140は、搬送ローラ111及び排紙ローラ113が所定量回転するように、モータ120を制御する。
【0034】
主制御ユニット150は、このような駆動指令の入力を繰返し実行することにより、モータ制御装置140を通じて、用紙160を所定量ずつ記録ヘッド131による画像形成位置に送り出す。そして、用紙160を所定量ずつ送り出しては、用紙160の搬送方向とは直交する主走査方向(図2紙面法線方向)に、記録ヘッド131を搬送し、この搬送過程では記録ヘッド131に印刷対象の画像データに基づくインク液滴の吐出動作を実行させることにより、プラテン10上の用紙160に印刷対象の画像データに基づく画像を形成する。尚、記録ヘッド131のインク液滴の吐出動作は、少なくとも用紙160が所定量送りだされて停止した状態で実行される。また、記録ヘッド131を1回搬送する中でのインク液滴の吐出動作の実行が終了すると、再度用紙160が所定量送りだされる。図2に示すインクジェットプリンタ100は、このように用紙160を所定量ずつ送り出しては、用紙160に画像を形成する動作を繰り返すことによって、印刷対象の画像データに基づく一連の画像を用紙160に形成する。
【0035】
本実施例の制御システム1は、このような構成のインクジェットプリンタ100に組み込むことができる。具体的に、インクジェットプリンタ100には、制御システム1の駆動対象10及びモータ20を除く構成要素(図1点線内の構成要素)を、モータ制御装置140として組み込むことができる。この場合、インクジェットプリンタ100が備えるモータ120は、制御システム1が備えるモータ20に対応する。そして、搬送ローラ111及び排紙ローラ113、又は、用紙160が駆動対象10に対応する。
【0036】
インクジェットプリンタ100では、用紙160を所定量ずつ送り出しては、用紙160に画像を形成するため、高精度に用紙160を所定量ずつ搬送しないと、用紙160に形成される画像の品質が劣化する。一方で、ユーザからは、高速な印字が求められている。本実施例の制御システム1は、このような高速性と精度とが求められるシステムに適用されると、その効果が発揮される。
【0037】
続いて、制御システム1の詳細構成を説明する。制御システム1が備えるモータドライバ30(図1参照)は、モータ制御ユニット60から入力される電流指令値Uに従って、電流指令値Uに対応する駆動電流をモータ20に入力し、モータ20を駆動する。
【0038】
一方、ロータリエンコーダ40は、モータ20の回転軸に接続されて、モータ20が所定量回転する度にパルス信号を出力する周知のロータリエンコーダである。このロータリエンコーダ40は、パルス信号として、位相がπ/2異なるA相信号及びB相信号を出力する。位置検出器50は、このロータリエンコーダ40から出力されるA相信号及びB相信号に基づき、モータ20の回転位置Xを検出する。そして、検出した回転位置Xの情報をモータ制御ユニット60に入力する。また、速度検出器55は、ロータリエンコーダ40から出力されるA相信号及びB相信号に基づき、モータ20の回転速度ωを検出し、この情報をモータ制御ユニット60に入力する。
【0039】
そして、モータ制御ユニット60は、外部(主制御ユニット150等)から駆動指令が入力されると、その駆動指令と共に指定された目標搬送量Ptに従って、駆動対象10を目標搬送量Pt分搬送する。
【0040】
具体的に、モータ制御ユニット60は、駆動指令が入力されると、駆動対象10を目標搬送量Ptに対応した地点(以下「目標停止位置」とも表現する。)まで移動させるために、制御手法の異なる第一、第二及び第三制御処理を、モータ20の回転位置Xから特定される駆動対象10の位置(搬送量)Pに応じて順に切り替えて実行する。即ち、図3に示すように、駆動対象10の駆動制御初期では、第一制御処理を実行し、駆動制御中期では、第二制御処理を実行し、駆動制御後期では、第三制御処理を実行する。
【0041】
第一制御処理では、速度検出器55から入力されるモータ20の回転速度ωの情報に基づき、この回転速度ωでの逆起電力による電流低下を加味した電流量であってモータ20に入力可能な電流上限値Umaxを、所定の演算式Um(ω)により算出し、算出した電流上限値Umaxに対応する電流指令値U=Umaxを、モータドライバ30に入力する。このような制御によって、電流上限値Umaxに対応する駆動電流をモータ20に入力して、モータ20の最大能力相当で駆動対象10を搬送する。
【0042】
尚、電流上限値Umaxを算出可能な演算式Um(ω)は、予め設計段階で理論又は実験により求めることができる。具体的に、設計者は、理論により演算式Um(ω)を定める場合、演算式Um(ω)を、モータ20の定格電圧Vmax、モータ20の起電力係数Ke、電機子抵抗Raに基づき、次式により定めることができる。
【0043】
【数1】
【0044】
一方、実験結果に基づいて定める場合には、図4に示すように、逆起電力による影響がない状態においてモータ20に流すことのできる最大電流量Imax、即ち、モータ20の回転速度がゼロであるときの最大電流量Imaxを電流指令値U=Imaxとしてモータドライバ30に入力することによって得られるモータ20の最大回転速度ωmaxと、その時点でモータ20を流れる電流の上記最大電流量Imaxからの電流低下分Idと、に基づき、演算式Um(ω)を次式により定めることができる。
【0045】
【数2】
【0046】
演算式Um(ω)を理論及び実験のいずれに基づいて定めるかは、設計者の自由である。しかしながら、理論により演算式Um(ω)を求める場合には、カタログ値の誤差による影響を受けて、電流上限値Umaxを演算式Um(ω)に基づき正確に算出することができない可能性があるので、実験によりImax,Id,ωmaxを求めて、演算式Um(ω)を定めるのが好ましい。
【0047】
また、モータ制御ユニット60は、第一制御処理に代えて第二制御処理を実行すると(図3参照)、電流上限値Umaxより小さい偽の電流上限値Ufを算出し、算出した偽の電流上限値Ufに対応する電流指令値U=Ufを、モータドライバ30に入力する。このような制御によって、電流上限値Umaxよりも小さい駆動電流をモータ20に入力し、駆動対象10を搬送する。
【0048】
具体的に、式(2)を用いて電流上限値Umaxを算出する場合には、Idよりも大きい値として予め設計段階で定めた値Ifを用いて、次式により、偽の電流上限値Ufを算出することができる。
【0049】
【数3】
【0050】
尚、値Ifは、想定される負荷では、第三制御処理によって算出される電流指令値Uが電流上限値Umaxを超えないような値に定める。具体的な値Ifについては、実験的に上記条件を満足する値を探索して定めることができる。
【0051】
この他、モータ制御ユニット60は、第二制御処理に代えて、第三制御処理を実行すると、位置検出器50により検出されたモータ20の回転位置Xから特定される駆動対象10の位置であって駆動開始地点(第一制御処理の実行開始時の地点)を原点とした位置(搬送量)Pと、速度検出器55により検出されたモータ20の回転速度ωから特定される駆動対象10の速度Vと、駆動対象10の位置、速度及び加速度についての目標プロファイル(即ち目標軌跡)と、に基づき、駆動対象10が目標プロファイルに追従して移動するような電流指令値Uを算出する。そして、この電流指令値Uを、モータドライバ30に入力する。この動作により、モータ制御ユニット60は、駆動対象10の位置P及び速度Vを目標値に制御する。
【0052】
尚、第三制御処理で用いられる目標プロファイルは、定速区間及び減速区間を含み、第三制御処理の開始時点での駆動対象10の位置P=Pm及び速度V=Vm、並びにその時点での時刻t=Taに基づいて、例えば、次のように設定される。
【0053】
<定速区間>
・目標加速度Ar=0 …(4)
・目標速度Vr=Vm …(5)
・目標位置Pr=Vm・(t−Ta)+Pm …(6)
<減速区間>
・目標加速度
【0054】
【数4】
【0055】
・目標速度
【0056】
【数5】
【0057】
・目標位置
【0058】
【数6】
【0059】
但し、定速区間は、時刻Taから時刻Tbまでの時間領域に対応し、減速区間は、時刻Tbから時刻Tb+Tdまでの時間領域に対応する。記号tは、駆動対象10の駆動開始時点からの時刻(経過時間)を表し、記号Tbは、減速区間の開始時刻(以下「減速開始時刻」とも表現する。)を表し、記号Apは、減速区間での目標加速度Arのピークの絶対値を表す。Apは、モータ20の最大能力に対応した一律の値に、設計段階で定められる。
【0060】
式(7)から減速区間での駆動対象10の移動量Pd(以下「減速距離」とも表現する。)は、Pd=Vm2/Apとなる。従って、定速区間の時間長さTcは、駆動対象10が目標停止位置Ptで停止するように、Tc=(Pt−Pd−Pm)/Vmに設定され、減速開始時刻Tbは、Tb=Ta+Tcに設定される。
【0061】
尚、第三制御処理では、フィードバック制御系、又は、フィードバック制御系及びフォードフォワード制御系からなる二自由度制御系を用いて、電流指令値Uを算出する構成にすることができる。電流指令値Uを算出する伝達関数については、設計者が駆動対象10の特性に基づいて周知の手法により定めることができる。
【0062】
本実施例では、このような内容の第一、第二及び第三制御処理を切り替えて実行することで、高速且つ高精度に、駆動対象10を目標停止位置Ptまで搬送する。
詳述すると、本実施例では、第一制御処理によって、モータ20の最大能力相当で駆動対象10を駆動する。また、第三制御処理では、モータ20の最大能力相当で駆動対象10を減速・停止させることができるように、減速区間での目標加速度Arのピークが、モータ20の最大能力に対応した一律の値−Apとなるように減速区間の目標プロファイルを設定する。本実施例では、このような駆動対象10の加速・減速・停止手法を採用することにより、高速且つ高精度に、駆動対象10を目標停止位置Ptまで搬送する。
【0063】
また、本実施例では、図3に示すように、第三制御処理の開始後、直ちに駆動対象10を減速させずに、駆動対象10を定速移動させた後に減速・停止させる。目標プロファイルに基づく制御の開始時には、目標プロファイルからの駆動対象10の位置P及び速度Vの変動が大きいが、定速区間を設けることで、その変動を抑えてから、減速過程に移ることができる。従って、本実施例によれば、駆動対象10を高精度に目標停止位置Ptに停止させることができる。尚、定速区間を設けることで、高速性については多少劣化することになるので、場合によっては、定速区間を設けずに目標プロファイルを設定する例も考えられる。
【0064】
続いて、駆動指令が入力されるとモータ制御ユニット60が周期的に実行する主制御処理の詳細を、図5を用いて説明する。主制御処理は、駆動対象10を上記駆動指令にて指定された目標停止位置Ptまで搬送するための処理であり、制御周期毎に実行される。
【0065】
図5に示す主制御処理を開始すると、モータ制御ユニット60は、まず、位置検出器50により検出されたモータ20の回転位置Xに基づき、現時点での駆動対象10の位置Pを特定し、速度検出器55により検出されたモータ20の回転速度ωに基づき、現時点での駆動対象10の速度Vを特定する(S110)。更に、モータ制御ユニット60は、駆動指令が入力されて駆動対象10の駆動制御を開始した時点からの経過時間(現在時刻)tを特定する(S110)。モータ20と駆動対象10とは連動するので、当然の如く、モータ20の回転位置X及び回転速度ωから、駆動対象10の位置P及び速度Vは特定可能である。
【0066】
その後、モータ制御ユニット60は、フラグFが値1にセットされているか否かを判断する(S120)。フラグF及び後述するフラグGは、駆動指令が入力されると値0にリセットされるものである。フラグFは、S250の処理が実行されると、値1にセットされ、フラグGは、S400の処理が実行されると値1にセットされる。
【0067】
ここで、フラグFが値0であると判断すると(S120でNo)、モータ制御ユニット60は、S130に移行し、フラグFが値1であると判断すると(S120でYes)、S160に移行する。
【0068】
S130に移行すると、モータ制御ユニット60は、S110で特定された現在の駆動対象10の位置Pに基づき、駆動対象10が予め定められた第一制御処理から第二制御処理への切替位置である第一切替位置P1に到達したか否かを判断する。具体的には、駆動対象10の位置Pが第一切替位置P1以上である場合に、駆動対象10が第一切替位置P1に到達したと判断する。
【0069】
そして、駆動対象10が第一切替位置P1に到達していないと判断すると(S130でNo)、第一制御処理として、次の内容の処理を実行する。即ち、S110で特定された現在のモータ20の回転速度ωに基づき、上述した式(2)に従って、現在の回転速度ωに対応する電流上限値Umaxを算出し(S140)、この電流上限値Umaxに対応する電流指令値U=Umaxをモータドライバ30に入力する(S150)。その後、モータ制御ユニット60は、当該主制御処理を一旦終了し、周期的に到来する次の実行タイミングで、再度主制御処理をS110から開始する。
【0070】
駆動対象10が第一切替位置P1に到達するまでは、フラグF=0であるため、主制御処理の周期的な実行によって、モータ制御ユニット60では、この第一制御処理(S140,S150)が繰返し実行される。即ち、主制御処理の周期的な実行によって、駆動対象10が第一切替位置P1に到達するまでは、電流上限値Umaxに対応する駆動電流(電流量)でモータ20は回転駆動され、駆動対象10はモータ20の最大能力相当で搬送される。
【0071】
一方、駆動対象10が第一切替位置P1に到達したと判断すると(S130でYes)、モータ制御ユニット60は、S170に移行し、駆動対象10が予め定められた第二制御処理から第三制御処理への切替位置である第二切替位置P2に到達したか否かを判断する。具体的には、駆動対象10の位置Pが第二切替位置P2以上である場合に、駆動対象10が第二切替位置P2に到達したと判断する。
【0072】
そして、駆動対象10が第二切替位置P2に到達していないと判断すると(S170でNo)、モータ制御ユニット60は、第二制御処理として、次の内容の処理を実行する。即ち、S110で特定された現在のモータ20の回転速度ωに基づき、上述した式(3)に従って、現在の回転速度ωに対応する電流上限値Umaxよりも小さい偽の電流上限値Ufを算出し(S210)、この偽の電流上限値Ufに対応する電流指令値U=Ufをモータドライバ30に入力する(S220)。その後、モータ制御ユニット60は、フラグFを値1に設定して(S250)、当該主制御処理を一旦終了する。
【0073】
尚、第二制御処理(S210,S220)の初回実行時点以降で実行される主制御処理において、モータ制御ユニット60は、S120で肯定判断して、S160に移行し、S160では、フラグGが値1に設定されているか否かを判断する。そして、駆動対象10が第二切替位置P2に到達するまでは、フラグGが値1に設定されないので、否定判断して(S160でNo)、S170に移行する。
【0074】
従って、駆動対象10が第二切替位置P2に到達するまでは、主制御処理の周期的な実行によって、モータ制御ユニット60では、この第二制御処理(S210,S220)が繰返し実行される。即ち、主制御処理の周期的な実行によって、駆動対象10が第二切替位置P2に到達するまでは、偽の電流上限値Ufに対応する駆動電流(電流量)でモータ20は回転駆動され、モータ20に入力される駆動電流は、電流上限値Umaxよりも小さな値に調整される。
【0075】
この他、駆動対象10が第二切替位置P2に到達したと判断すると(S170でYes)、モータ制御ユニット60は、S300に移行し、第三制御処理を実行する。また、第三制御処理の実行後には、フラグGを値1に設定して(S400)、当該主制御処理を一旦終了する。
【0076】
尚、第三制御処理(S300)の初回実行時点以降で実行される主制御処理において、モータ制御ユニット60は、S120,S160で肯定判断して、S300に移行する。
従って、駆動対象10が第二切替位置P2に到達してからは、主制御処理の周期的な実行によって、モータ制御ユニット60では、この第三制御処理(S300)が繰返し実行される。モータ制御ユニット60は、この第三制御処理の繰返し実行により、駆動対象10が目標停止位置Ptで停止すると、このような主制御処理の周期的実行を終了する。
【0077】
続いて、S300で実行する第三制御処理の詳細について、図6を用いて説明する。第三制御処理では、フラグGが値1に設定されているか否かを判断し(S310)、フラグGが値1に設定されていないと判断すると(S310でNo)、S320に移行して、定速区間及び減速区間の目標プロファイルを設定する。一方、フラグGが値1に設定されていると判断すると(S310でYes)、S330に移行する。即ち、初回の第三制御処理では、S320で定速区間及び減速区間の目標プロファイルを設定した後に、ここで設定した目標プロファイルに基づいて、S330の処理を実行し、二回目以降の第三制御処理では、S320の処理を実行せずに、初回の第三制御処理で設定した目標プロファイルに基づいて、S330の処理を実行する。
【0078】
S320では、具体的に、S110で特定された現在の駆動対象10の速度V=Vmを用いて、減速距離Pd=Vm2/Apを算出し、この減速距離Pdと、S110で特定された現在の駆動対象10の位置P=Pmと、目標停止位置Ptと、から、駆動対象10を目標停止位置Ptで停止させるのに最適な定速区間の時間長さTc=(Pt−Pd−Pm)/Vmを算出する。そして、現在時刻t=Taに、定速区間の時間長さTcを加算して、減速開始時刻Tbを、Tb=Ta+Tcに設定し、これらの値Pm,Vm,Ta,Tbを用いて、式(4)〜(6)に従う定速区間の目標プロファイルを設定し、更に予め設計段階で定められた値Apを用いて、式(7)〜(10)に従う減速区間の目標プロファイルを設定する。
【0079】
そして、S330に移行すると、モータ制御ユニット60は、目標プロファイルに従う現在時刻tでの目標値(目標加速度Ar、目標速度Vr及び目標位置Pr)と、S110の処理で特定された駆動対象10の位置P及び速度Vとに基づき、駆動対象10の位置P及び速度Vが目標値に追従するようなモータ20に対する電流指令値Uを算出し、算出した電流指令値Uを、モータドライバ30に入力する。その後、第三制御処理を終了し、S400へ移行する。
【0080】
モータ制御ユニット60は、駆動対象10が第二切替位置P2に到達してからは、このような内容の第三制御処理(S300)を繰返し実行することにより、目標プロファイルに従って、駆動対象10が目標停止位置Ptで停止するように、モータ20を制御する。そして、駆動対象10が目標停止位置Ptで停止すると、当該周期的な主制御処理の実行を完了する。尚、モータ制御ユニット60は、位置検出器50から得られる駆動対象10の位置Pが一定時間変化しなくなると、駆動対象10が停止したとみなして周期処理を終了する構成にすることができる。
【0081】
以上、第一実施例の制御システム1の構成について説明したが、本実施例によれば、第一制御処理から目標プロファイルに基づく制御である第三制御処理にモータ制御を切り替える過程で、第二制御処理を実行することにより、第三制御処理の実行直前には、モータ20が電流上限値Umaxよりも小さい電流量で駆動された状態とする。
【0082】
従って、本実施例によれば、第三制御処理の実行直後に、モータ20に作用する負荷が上昇したことを原因として、電流指令値Uが電流上限値Umaxを超えて電流飽和が生じるのを抑えることができ、電流飽和によって駆動対象10が目標プロファイル通りの軌跡で搬送されずに、駆動対象10の停止精度が劣化するのを抑えることができる。
【0083】
また、本実施例によれば、第一、第二及び第三制御処理を、駆動対象10の運動が大きく不連続とならないように、滑らかに切り替えることができて、好ましい制御状態で駆動対象10の減速過程に移行することができ、精度よく駆動対象10を目標停止位置Ptに停止させることができる。
【0084】
そして、本実施例によれば、上述したように、第一制御処理によって高速に駆動対象10を搬送することができるので、結果として、高速且つ高精度に、駆動対象10を目標停止位置Ptに停止させることができる。
【0085】
尚、本実施例によれば、駆動対象10の位置が第一切替位置又は第二切替位置に到達したことを条件に、第一、第二及び第三制御処理の切替が行われるが、制御システム1は、駆動開始からの時間や駆動対象の速度に応じて、切り替えるよう構成されても良い。
【0086】
また、第一切替位置及び第二切替位置は、予め設計者が実験的に求めることができる。具体的には、第一制御処理をできる限り長く実行することで、より早く駆動対象10を移動させることができるが、あまり長すぎると、第三制御処理を実行する距離が短くなり、駆動対象10が目標停止位置Ptに精度良く停止できなくなる可能性がある。従って、第一切替位置は、第三制御処理によって駆動対象10を目標停止位置Ptに精度良く停止できる程度の位置に設定されるとよい。また、第二切替位置としては、想定される負荷では、第三制御処理によって算出される電流指令値Uが電流上限値Umaxを越えないような速度までモータの回転速度が低下する位置を、値Ifと合わせて実験的に求められるとよい。
[第二実施例]
続いて、第二実施例について説明する。第二実施例の制御システム1は、モータ制御ユニット60が実行する第二制御処理の内容が第一実施例から変更になった程度のものであるので、第二制御処理の内容以外の説明を適宜省略する。図7には、主制御処理の内、第二実施例での第二制御処理に係るステップと、その前後のステップを選択的に示す。
【0087】
本実施例では、第一実施例と同様に、駆動対象10が第一切替位置P1に到達すると(S130でYes)、S170に移行する。そして、S170では、駆動対象10が第二切替位置P2に到達したか否かを判断し、駆動対象10が第二切替位置P2に到達していないと判断すると(S170でNo)、第二制御処理として、第一実施例とは異なる次の処理を行う。具体的には、式(1)又は式(2)に示される関数U(ω)に従って、S110で特定された現在のモータ20の回転速度ωに対応する電流上限値Umax=U(ω)を算出する。そして、この電流上限値Umaxに、予め設計段階で定められた1未満の係数Kを掛けることによって、電流上限値Umaxよりも小さい偽の電流上限値Uf=K・Umaxを算出する(S215)。
【0088】
そして、S215で算出された偽の電流上限値Ufに対応する電流指令値U=Ufをモータドライバ30に入力することで、電流上限値Umaxよりも小さい駆動電流でモータ20を駆動する(S220)。その後、S250に移行する。
【0089】
即ち、第二実施例では、第一実施例におけるS210の処理に代えて、S215の処理を実行し、これによって、電流上限値Umaxの所定割合を偽の電流上限値Ufとして算出し、この偽の電流上限値Ufに基づいて、モータ制御を行うことにより、第一実施例におけるS210,S220の処理と同様に、電流上限値Umaxよりも小さい駆動電流でモータ20を駆動する。
【0090】
このように構成された第二実施例の制御システム1によれば、第一実施例の制御システム1と同様の理由により、高速且つ高精度に駆動対象10を目標停止位置に停止させることができる。尚、本実施例では、S215において、その時点での回転速度ωに基づき、偽の電流上限値Ufを算出するようにしたが、偽の電流上限値Ufは、第二制御処理の実行前の最後に実行した第一制御処理において算出された電流上限値Umaxの所定割合Kに設定されてもよい。即ち、S215では、第二制御処理の実行前の最後に実行した第一制御処理において算出された電流上限値Umaxを用いて、偽の電流上限値Uf=K・Umaxを算出してもよい(第二実施例の変形例)。
[第三実施例]
続いて、第三実施例について説明する。第三実施例の制御システム1は、第二実施例と同様、モータ制御ユニット60が実行する第二制御処理の内容が第一実施例から変更になった程度のものである。図8には、主制御処理の内、第三実施例での第二制御処理に係るステップと、その前後のステップを選択的に示す。
【0091】
本実施例のモータ制御ユニット60は、第一実施例と同様に、駆動対象10が第一切替位置P1に到達すると(S130でYes)、S170に移行し、駆動対象10が第二切替位置P2に到達したか否かを判断する。そして、駆動対象10が第二切替位置P2に到達していないと判断すると(S170でNo)、第二制御処理として、S210,S220の処理に代えて、モータドライバ30に対し、電流指令値U=0を入力する処理を実行する(S225)。その後、S250に移行する。
【0092】
第三実施例の制御システム1によれば、第二制御処理の実行により、図9に示すように、駆動対象10の速度Vが下がり、電流上限値Umaxが上昇する。従って、第三制御処理においては、その実行直後においてモータ20の負荷等が上昇しても、第三制御処理によって算出される電流指令値Uが極力、電流上限値Umaxを超えないように、モータ制御を行うことができ、第一実施例の制御システム1と同様に、高速且つ高精度に駆動対象10を目標停止位置Ptに停止させることができる。
[第四実施例]
続いて、第四実施例について説明する。第四実施例の制御システム1は、第三実施例の制御システム1における第三制御処理(S300)の内容を変更した程度のものである。従って、以下では、図10及び図11を用いて、第三制御処理の内容を選択的に説明する。但し、本実施例で採用する第三制御処理の構成は、第一実施例及び第二実施例の制御システム1にも適用できることをここで言及しておく。
【0093】
図10に示すように、本実施例では、第三制御処理において、定速区間の前に調整区間を設けた目標プロファイルを用いる。図10の下段は、図10上段に示した時間対速度(目標速度Vr及び実速度V)のグラフと、時間対電流(電流指令値U及び電流上限値Umax)のグラフにおける第二制御処理から第三制御処理への切替前後の拡大図である。
【0094】
調整区間は、駆動対象10を減速させる区間であるという意味で、減速区間に類似するものであるが、定速区間での速度を低めに設定する目的で設けられた区間であるという意味で、駆動対象10の停止を目的とした減速区間とは異なる。
【0095】
本実施例では、第三制御処理を開始すると、その時点での駆動対象10の速度V=V0、位置P=P0、及び、加速度A=A0と、現在時刻t=T0に基づいて、調整区間で用いる目標プロファイルを設定する。具体的には、次式に従う目標速度Vrのプロファイルを設定する。
【0096】
【数7】
【0097】
ここで、記号T1は、調整区間の終了時刻であり、Vcは、調整区間終了時の目標速度である。尚、目標速度Vcは、固定値として予め設計段階で定められてもよいし、第一制御処理から第二制御処理への切替時刻t=Tpでの駆動対象10の速度V=Vpを基準とした割合Rcで定められてもよい。即ち、設計段階では、割合Rcを定めて、プロファイル設定時には、この割合Rcから、目標速度Vcを、式Vc=Vp・Rcに従って設定してもよい。但し、設計段階では、目標速度Vcが調整区間の開始時刻t=T0での駆動対象10の速度V=V0よりも小さくなるように、目標速度Vc又は割合Rcを定める必要がある。この他、割合Rcを可変値とすることもできる。即ち、調整区間の開始時刻t=T0での駆動対象10の速度V=V0と、時刻t=Tpでの駆動対象10の速度V=Vpとの比R0=V0/Vpを算出し、割合Rcを、この比R0よりも小さい値に定めるようにしてもよい。例えば、R0の所定割合を、値Rcとしてもよい。このような割合Rcを用いて目標速度Vcを算出すれば、目標速度Vcが調整区間の開始時刻t=T0での駆動対象10の速度V=V0よりも小さくなることが保証される。
【0098】
目標速度Vrが上式で設定されることから、調整区間における目標加速度Ar及び目標位置Prのプロファイルは、次式に従って設定される。
【0099】
【数8】
【0100】
上式から理解できるように、調整区間における目標プロファイルは、調整区間の開始時刻である時刻T0での目標加速度Arが、その時点での駆動対象10の加速度A0と同一値を採り、時刻T0での目標速度Vrが、その時点での駆動対象10の速度V0と同一値を採り、時刻T0での目標位置Prが、その時点での駆動対象10の位置P0と同一値を採るものである。また、この目標プロファイルは、調整区間終了時刻T1での目標加速度Arがゼロを採り、調整区間終了時刻T1での目標速度Vrが上述した目標速度Vcを採り、調整区間開始時刻T0から調整区間終了時刻T1までの目標速度Vrが単調減少するものである。本実施例では、このような目標プロファイルを用いることで、調整区間では、滑らかに駆動対象10の速度Vを、目標速度Vcまで減速させ、これによって、電流上限値Umaxを大きくする。
【0101】
続いて、第三制御処理の詳細を、図11を用いて説明する。モータ制御ユニット60は、S300(図5参照)で第三制御処理を開始すると、上述した実施例と同様に、フラグGが値1であるか否かを判断する(S410)。そして、フラグGが値1に設定されていないと判断すると(S410でNo)、S110で特定された現時点での駆動対象10の速度V=V0と、この速度V=V0に基づく加速度A=A0と、現在時刻t=T0と、に基づき、調整区間終了時刻T1を、式(12)に従い設定する(S420)。
【0102】
尚、加速度A=A0については、今回のS110で特定した速度と、前回までのS110で特定した速度と、に基づいて算出することができる。例えば、今回のS110で特定した速度V=V0と、前回のS110で特定した速度V=Vzとの差分(V0−Vz)を、主制御処理の実行周期(サンプリング周期)で除算して算出することが可能である。この動作は、各回のS110で特定した速度Vの全部又は一部をモータ制御ユニット60が備える記憶媒体(RAM等)に記憶しておくで実現することができる。このことについては、目標速度Vcを、上記速度Vpを基準とした割合Rcで算出する場合も同様である。
【0103】
S420での処理を終えると、モータ制御ユニット60は、式(11)(13)(14)に従い、調整区間の目標プロファイルを設定する(S430)。その後、S440に移行する。一方、S410で、フラグGが値1であると判断すると(S410でYes)、S420,S430の処理を実行することなく、S440に移行する。フラグGは、上記実施例と同様、第三制御処理実行後のS400で値1に設定される。
【0104】
S440に移行すると、モータ制御ユニット60は、調整区間終了時刻T1が到来したか否かを判断する。具体的には、S110で特定された現在時刻tが、調整区間終了時刻T1以上であるか否かを判断することにより、調整区間終了時刻T1が到来したか否かを判断する。そして、調整区間終了時刻T1が到来していないと判断すると(S440でNo)、S480に移行して、S430で設定された調整区間の目標プロファイルから特定される現在時刻tでの目標値(目標加速度Ar、目標速度Vr及び目標位置Pr)と、S110で特定された駆動対象10の位置P及び速度Vとに基づき、駆動対象10の位置P及び速度Vが目標値を追従するようなモータ20に対する電流指令値Uを算出し、算出した電流指令値Uを、モータドライバ30に入力する。その後、第三制御処理を終了する。
【0105】
このようにして、モータ制御ユニット60は、駆動対象10が第二切替位置P2に到達した後、調整区間終了時刻T1が到来するまでは、第三制御処理の繰返し実行により、まず調整区間の目標プロファイルに従って、駆動対象10の速度Vを、目標速度Vc付近まで減速させて、電流上限値Umaxを上げる。
【0106】
そして、調整区間終了時刻T1が到来すると、S440で肯定判断して、フラグHが値1であるか否かを判断する(S450)。フラグHは、駆動指令が入力されると値0にリセットされ、S470が実行されると、値1にセットされるものである。このため、調整区間終了時刻T1が到来した直後の第三制御処理では、モータ制御ユニット60は、フラグHが値0であると判断し(S450でNo)、S460に移行する。
【0107】
S460に移行すると、モータ制御ユニット60は、第一実施例から第三実施例におけるS320での処理と同様、定速区間及び減速区間の目標プロファイルを設定する。即ち、S460では、S110で特定された現在の駆動対象10の速度V=Vmを用いて、減速距離Pd=Vm2/Apを算出し、この減速距離Pdと、S110で特定された現在の駆動対象10の位置P=Pmと、目標停止位置Ptと、から、駆動対象10を目標停止位置Ptで停止させるのに最適な定速区間の時間長さTc=(Pt−Pd−Pm)/Vmを算出する。そして、現在時刻t=Taに、定速区間の時間長さTcを加算して、減速開始時刻Tbを、Tb=Ta+Tcに設定し、これらの値Pm,Vm,Ta,Tbを用いて、式(4)〜(6)に従う定速区間の目標プロファイルを設定し、更に予め定められた値Apを用いて、式(7)〜(10)に従う減速区間の目標プロファイルを設定する。
【0108】
このようにして、定速区間及び減速区間の目標プロファイルを設定すると、モータ制御ユニット60は、フラグHを値1にセットし(S470)、その後、S480に移行する。また、フラグHを値1にセットした後のS480では、上述した定速区間及び減速区間の目標プロファイルから特定される現在時刻tでの目標値(目標加速度Ar、目標速度Vr及び目標位置Pr)と、S110で特定された駆動対象10の位置P及び速度Vとに基づき、駆動対象10の位置P及び速度Vが目標値に追従するようなモータ20に対する電流指令値Uを算出し、算出した電流指令値Uを、モータドライバ30に入力する。その後、第三制御処理を終了する。
【0109】
このようにして、モータ制御ユニット60は、調整区間終了時刻T1が到来した後には、第三制御処理の繰返し実行により、定速区間及び減速区間の目標プロファイルに従って、駆動対象10を制御し、駆動対象10を、目標停止位置Ptに減速・停止させる。尚、フラグHが値1にセットされた後の第三制御処理では、S440及びS450で肯定判断することで、S460,S470の処理をスキップし、S480の処理を実行する。
【0110】
以上、第四実施例について説明したが、第四実施例によっても、駆動対象10を、高精度且つ高速に目標停止位置に停止させることができる。特に、本実施例によれば、調整区間を備えることにより、定速区間での速度を、第二制御処理終了時の速度に依らず調整することができて、第三制御処理にて算出される電流指令値Uが負荷上昇により電流上限値Umaxを超えてしまうのを一層効果的に抑制することができる。
[第五実施例]
続いて、第五実施例について説明する。第五実施例の制御システム1は、負荷上昇の有無を判定して、その判定結果に従って、第二制御処理を実行するか否かを切り替える構成にされたものである。第二制御処理については、高速搬送に係る性能が劣化する原因となるので、停止精度よりも高速搬送を優先する必要があり、且つ、第二制御処理を行わなくても第三制御処理にて電流指令値Uが電流上限値Umaxを超えるような負荷上昇の可能性が殆どない環境では、第二制御処理を行わないのが好ましい。そこで、本実施例では、負荷上昇の有無を判定して、その判定結果に従って、第二制御処理を実行するか否かを切り替える。
【0111】
具体的に、以下では、本実施例の制御システムが組み込まれる画像形成装置である負荷が特定の地点で急激に上昇するインクジェットプリンタ200の構成を、図12を用いて説明し、モータ制御ユニット60が実行する処理の詳細を、図13を用いて説明する。尚、第二実施例から第四実施例と同様に、本実施例の制御システム1のハードウェア構成は、基本的に、第一実施例のハードウェア構成と同一である。即ち、本実施例の制御システム1は、モータ制御ユニット60が実行する処理内容が上述の実施例と異なる程度のものである。従って、以下では、上述の実施例と同一構成の説明を適宜省略する。
【0112】
図12に示すインクジェットプリンタ200は、第一実施例で説明したインクジェットプリンタ100(図2参照)と同様に、プラテン201の上流側に、搬送ローラ211及びピンチローラ212を備え、プラテン201の下流側に、排紙ローラ213及び拍車ローラ214を備える。また、プラテン201上に、用紙に対して画像形成可能な記録ヘッド(所謂インクジェットヘッド)231及び記録ヘッド231を搬送するためのキャリッジ235を備える。このインクジェットプリンタ200においては、搬送ローラ211及び排紙ローラ213の回転により、一点鎖線に示すように用紙が搬送される。
【0113】
このインクジェットプリンタ200には、図示しないが、インクジェットプリンタ100と同様に、搬送ローラ211及び排紙ローラ213を駆動するためのモータ、このモータを制御するモータ制御装置、並びに、モータ制御装置を含む装置内各部に対して指令入力して、インクジェットプリンタ200全体を統括制御する主制御ユニットが設けられる。そして、このインクジェットプリンタ200には、第一実施例と同様、本実施例の制御システム1の駆動対象10及びモータ20を除く構成要素(図1点線内の構成要素)を、モータ制御装置として組み込むことができる。
【0114】
このインクジェットプリンタ200は、上述したインクジェットプリンタ100と同様の構成に加えて、経路切替器250と、下流ローラ261と、下流ローラ261に対向配置された拍車ローラ262と、リターンパス270と、戻しローラ281と、戻しローラ281に対向配置されたピンチローラ282とを備える。
【0115】
経路切替器250は、フラップ251と、フラップ251に固定された補助ローラ253,254とを備え、フラップ251が、軸Eを中心に回動可能な構成にされたものである。具体的に、フラップ251は、図12に示すような下方に傾いた第一姿勢と、フラップ収容部255に収容されて概略水平となる第二姿勢と、を採り得るように、回動可能に設置されている。フラップ251は、排紙ローラ213下流の支持部材257に支持された用紙の先端が、フラップ251に取り付けられた補助ローラ253と、支持部材257との間を通過するときに、用紙に作用されて上方に押し上げられ、上記第二姿勢をとる。この用紙は、排紙ローラ213からの力の作用により、フラップ251を押し上げながら、下流ローラ261と拍車ローラ262との間まで移動し、下流ローラ261と拍車ローラ262との間に二ップされて、更に下流に搬送される。尚、下流ローラ261は、排紙ローラ213と同一のモータからの駆動力を受けて、搬送ローラ211及び排紙ローラ213と同期回転する。
【0116】
そして、用紙が下流に搬送される過程で、用紙後端が、補助ローラ253と支持部材257との間を通り抜けると、支持部材257からの支持をなくした用紙は、フラップ251から作用される下方への力に負けて、リターンパス270側へと落ち、それに伴って、フラップ251は、第一姿勢に変化する。
【0117】
インクジェットプリンタ200の主制御ユニットは、このような用紙の後端がリターンパス270側に落ちた状態を、用紙搬送量の情報等に基づき特定し、両面印刷が必要な場合には、モータ制御装置に向けて、モータを逆回転させるように指令入力する。この指令を受けるとモータ制御装置は、モータを逆回転させることで、用紙の後端を、戻しローラ281及びピンチローラ282側へと搬送する。このような搬送が継続されると、図12一点鎖線で示すように、用紙は、裏返され、上記後端が搬送方向側に向いた状態で、搬送ローラ211及びピンチローラ212との間に搬送される。このようにして搬送ローラ211及びピンチローラ212との間に用紙が到達すると、主制御ユニットからは、モータを正回転させるように指示する駆動指令が入力されて、この用紙は、片面印刷時と同様に、搬送され、最終的に、排紙トレイに排出される。
【0118】
このような両面印刷可能なインクジェットプリンタ200では、用紙の先端がフラップ251を押し上げる前後で、搬送負荷が大きく変化する。即ち、用紙の先端がフラップ251を押し上げるときに、搬送負荷が大きく上昇し、これに伴ってモータに作用する負荷も大きく上昇する。
【0119】
このため、このインクジェットプリンタ200に組み込まれる本実施例の制御システム1が備えるモータ制御ユニット60は、主制御ユニットから駆動指令が入力されると、主制御処理を繰返し実行する前に、図13(a)に示す搬送前処理を実行する。
【0120】
搬送前処理を開始すると、モータ制御ユニット60は、現時点での原点位置O(図12参照)からの用紙の総搬送量Bの情報を主制御ユニットから取得する(S510)。即ち、インクジェットプリンタ200では、一枚の用紙を搬送するために目標搬送量(目標停止位置)Ptを指定した駆動指令を主制御ユニットからモータ制御ユニット60に複数回入力することになるが、S510では、これまでの駆動指令によって現在搬送中の用紙の先端が原点位置Oを通過した時点からの用紙の総搬送量Bの情報を主制御ユニットから取得する。
【0121】
尚、インクジェットプリンタ200には、周知の画像形成装置と同様、搬送ローラ211の直前に用紙端を検知するセンサSNが設けられており、センサSNからの入力信号に基づき、原点位置Oに用紙の先端が到達したことを高精度に検出することができる。本実施例では、主制御ユニットがセンサSNからの入力信号を受け付けて、原点位置Oを基準とした総搬送量Bを特定し、この情報を管理するものとする。
【0122】
S510での処理を終えると、モータ制御ユニット60は、取得情報が示す総搬送量Bに、今回の目標搬送量Pt分を加算して、今回の駆動指令に基づく用紙搬送後の総搬送量Bの値D=B+Ptを算出する(S520)。
【0123】
そして、モータ制御ユニット60は、用紙先端がフラップ251の通過を開始する時点での総搬送量Bである負荷上昇時の搬送量Cと、現時点での総搬送量Bと、今回の駆動指令に基づく用紙搬送後の総搬送量Bの値Dとに基づき、条件式B<C<Dが満足されるか否かを判断することによって、今回の駆動指令に基づくモータ制御過程(用紙搬送過程)で、モータ20に対する負荷上昇イベントが発生するか否かを判断する。即ち、条件式B<C<Dが満足される場合には、負荷上昇イベントが発生すると判断し、条件式B<C<Dが満足されない場合には、負荷上昇イベントが発生しないと判断する(S530)。
【0124】
そして、負荷上昇イベントが発生すると判断すると(S530でYes)、第二制御処理実行フラグJを値1に設定する(S540)。一方、負荷上昇イベントが発生しないと判断すると(S530でNo)、第二制御処理実行フラグJを値0に設定する(S550)。その後、当該搬送前処理を終了する。
【0125】
また、搬送前処理を終了して、主制御処理の周期的な実行を開始すると、モータ制御ユニット60は、第一実施例と同様に、駆動対象10としての用紙が第一切替位置P1に到達するまで第一制御処理を実行し、用紙が第一切替位置P1に到達すると(S130でYes)、S170に移行する。そして、S170では、用紙が第二切替位置P2に到達したか否かを判断し、用紙が第二切替位置P2に到達していないと判断すると(S170でNo)、第二制御処理として、図13(b)に示す処理を行う。
【0126】
即ち、本実施例では、第二制御処理実行フラグJが値1に設定されているか否を判断し(S200)、値1に設定されていると判断すると(S200でYes)、第一実施例と同様に、S110で特定された現在のモータ20の回転速度ωに基づき、上述した式(3)に従って、現在の回転速度ωに対応する電流上限値Umaxよりも小さい偽の電流上限値Ufを算出し(S210)、この偽の電流上限値Ufに対応する電流指令値U=Ufをモータドライバ30に入力する(S220)。その後、モータ制御ユニット60は、フラグFを値1に設定して(S250)、当該主制御処理を一旦終了する。尚、S210の処理に代えては、第二実施例のS215と同様の処理を行うことができる。このようにして、第二制御処理実行フラグJが値1に設定されている場合には、用紙が第二切替位置P2に到達するまで、第一実施例(又は第二から第四実施例)と同様の第二制御処理を実行する。
【0127】
一方、第二制御処理実行フラグJが値0に設定されていると判断すると(S200でNo)、モータ制御ユニット60は、S230に移行し、S110で特定された現在のモータ20の回転速度ωに基づき、上述した式(2)に従って、現在の回転速度ωに対応する電流上限値Umaxを算出し、この電流上限値Umaxに対応する電流指令値U=Umaxをモータドライバ30に入力する(S240)。その後、モータ制御ユニット60は、当該主制御処理を一旦終了する。
【0128】
このようにして、第二制御処理実行フラグJが値0に設定されている場合には、用紙が第二切替位置P2に到達するまで、第一実施例(又は第二から第四実施例)と同様の第一制御処理を実行する。
【0129】
また、用紙が第二切替位置P2に到達した後には、上述した第一実施例(又は第二実施例から第四実施例)と同様の第三制御処理を実行する。
以上、本実施例の制御システム1の構成について説明したが、このような制御システム1によれば、負荷上昇の有無に応じて第二制御処理を実行するか否かを切り替えるので、停止精度が劣化するのを回避しつつ高速な用紙搬送を実現することができる。
【0130】
尚、本実施例では、駆動指令に基づく周期的な主制御処理の実行前の時点での総搬送量Bを用いて、条件式B<C<Dが満足するか否かを判断することによって(S530)、今回の駆動指令に基づくモータ制御過程(用紙搬送過程)で、モータ20に対する負荷上昇イベントが発生するか否かを判断するようにしたが、総搬送量Bに、第一切替位置P1を加算して、第一制御処理終了時の総搬送量Bの値B’=B+P1を算出し、この値B’を用いて、条件式B’<C<Dが満足するか否かを判断することによって(S530)、今回の駆動指令に基づくモータ制御過程(用紙搬送過程)であって第一制御処理終了後の過程において、モータ20に対する負荷上昇イベントが発生するか否かを判断するようにしてもよい(第五実施例の変形例)。
[その他]
以上、本発明の実施例について説明したが、本発明が上記実施例に限定されるものではなく、種々の態様を採ることができることは言うまでもない。例えば、本発明は、画像形成装置における用紙搬送の用途以外のモータ制御にも適用することができる。
【0131】
また、上記実施例では、位置検出器50により検出されるモータ20の回転位置X及び速度検出器55により検出されるモータ20の回転速度ωから、駆動対象10の位置P及び速度Vを特定して、この位置P及び速度Vを目標値に合わせるように駆動対象10の駆動制御を行うようにしたが、モータ20の回転位置X及び回転速度ωと、駆動対象10の位置P及び速度Vとは、その尺度が異なる程度のものであるので、当然のことながら、位置検出器50により検出されるモータ20の回転位置X及び速度検出器55により検出されるモータ20の回転速度ωを直接用いて、これを目標値に合わせるようにモータ制御を行うことにより、間接的に、駆動対象10の駆動制御を行うようにしてもよい。
【0132】
また、上記実施例では、ロータリエンコーダ40はモータ20の回転軸に接続されており、駆動対象10の位置Pと速度Vとは、モータ20の回転位置Xと回転速度ωとから特定されていた。しかしながら、ロータリエンコーダ40は、駆動対象10に接続され、駆動対象10の位置Pと速度Vは、直接ロータリエンコーダ40から検出されても良い。例えば、ロータリエンコーダ40は、搬送ローラ111の回転軸に接続され得る。その場合、モータ20の回転位置Xと回転速度ωとは、駆動対象10の位置Pと速度Vとから特定され得る。
【0133】
この他、上記実施例では、駆動対象10の位置P及び速度Vの両方を用いて、目標プロファイルに基づく制御を行うようにしたが、駆動対象10の位置P及び速度Vの一方のみを用いて、目標プロファイルに基づく制御を行うようにしてもよい。また、目標プロファイルとしては、目標加速度Ar、目標速度Vr及び目標位置Prのいずれか一つ又は二つだけのプロファイルを設定するようにしてもよい。
[対応関係]
最後に、用語間の対応関係について説明する。モータ制御ユニット60は、モータ制御手段の一例に対応し、エンコーダ40は、信号出力手段の一例に対応する。また、モータ制御ユニット60が実行する第一制御処理及び第五実施例における第二制御処理のS230,S240は、第一の制御手段又は前期制御手段によって実現される処理の一例に対応し、モータ制御ユニット60が実行する第二制御処理(第五実施例におけるS200,S230,S240を除く。)は、第二の制御手段によって実現される処理の一例に対応し、モータ制御ユニット60が実行する第三制御処理は、第三の制御手段又は後期制御手段によって実現される処理の一例に対応する。
【0134】
特に、第三実施例及び第四実施例における第一制御処理は、前期制御手段によって実現される処理の一例に対応し、第三実施例及び第四実施例における第三制御処理は、後期制御手段によって実現される処理の一例に対応する。
【0135】
また、モータ制御ユニット60が実行するS120,S130,S160,S170,S200の処理は、切替手段によって実現される処理の一例に対応し、モータ制御ユニット60が実行する搬送前処理(第五実施例)は、判定手段によって実現される処理の一例に対応する。この他、主制御ユニット150は、搬送制御手段の一例に対応する。
【符号の説明】
【0136】
1…制御システム、10…駆動対象、20,120…モータ、30…モータドライバ、40…エンコーダ、50…位置検出器、55…速度検出器、60…モータ制御ユニット、100,200…インクジェットプリンタ、101,201…プラテン、111,211…搬送ローラ、112,114,212,282…ピンチローラ、113,213…排紙ローラ、131,231…記録ヘッド、135,235…キャリッジ、140…モータ制御装置、150…主制御ユニット、160…用紙、214,262…拍車ローラ、250…経路切替器、251…フラップ、253,254…補助ローラ、255…フラップ収容部、257…支持部材、261…下流ローラ、270…リターンパス、281…戻しローラ、SN…センサ
【特許請求の範囲】
【請求項1】
モータを制御するモータ制御手段と、
前記モータの回転に応じた信号を出力する信号出力手段と、
を備え、前記モータ制御手段が、前記信号出力手段の出力信号に基づき前記モータを制御して、前記モータによって駆動される被駆動体を目標停止位置まで変位させるモータ制御装置であって、
前記モータ制御手段は、
第一、第二、及び、第三の制御手段と、
前記第一、第二、及び、第三の制御手段を順に切り替えて動作させる切替手段と、
を備え、
前記第一の制御手段は、前記信号出力手段の出力信号から特定される前記モータの回転速度に基づき、前記モータに入力可能な電流の上限値であって逆起電力による電流低下を加味した電流上限値を推定し、前記推定した電流上限値に対応する駆動電流を前記モータに入力するモータ制御を実行し、
前記第二の制御手段は、前記第一の制御手段が前記モータ制御の終了時に前記モータに対して入力した駆動電流、又は、前記第一の制御手段が仮に現在の前記モータの回転速度から推定した前記電流上限値に基づき前記モータを制御する場合に前記モータに入力する駆動電流、よりも少ない駆動電流を前記モータに入力するモータ制御を実行し、
前記第三の制御手段は、前記信号出力手段の出力信号から特定される前記モータ又は前記被駆動体の動作量としての速度及び変位量の少なくとも一方と、当該動作量の目標軌跡とに基づき、前記モータに入力する駆動電流を決定し、当該駆動電流によるモータ制御を実行することにより、前記目標軌跡に沿って、前記被駆動体を目標停止位置まで変位させること
を特徴とするモータ制御装置。
【請求項2】
前記切替手段は、前記信号出力手段の出力信号から特定される前記モータ又は前記被駆動体の変位量に応じて、前記第一、第二及び第三の制御手段を順に切り替えて動作させること
を特徴とする請求項1記載のモータ制御装置。
【請求項3】
前記第二の制御手段は、前記第一の制御手段が前記モータ制御の終了時に前記モータに対して入力した駆動電流よりも所定割合少ない駆動電流、又は、前記第一の制御手段が仮に現在の前記モータの回転速度から推定した前記電流上限値に基づき前記モータを制御する場合に前記モータに入力する駆動電流よりも所定割合少ない駆動電流を前記モータに入力すること
を特徴とする請求項1又は請求項2記載のモータ制御装置。
【請求項4】
前記第一の制御手段は、前記信号出力手段の出力信号から特定される前記モータの回転速度ωに予め定められた係数Kを乗算して得られる値K・ωを逆起電力による電流低下分とみなして、逆起電力による電流低下がない場合に前記モータに流れる電流の上限値Imaxから値K・ωを減算した値(Imax−K・ω)を、前記逆起電力による電流低下を加味した電流上限値として推定するものであり、
前記第二の制御手段は、前記係数Kよりも大きい係数K’を用いて算出される偽の電流上限値(Imax−K’・ω)に対応して前記第一の制御手段が前記モータに入力する駆動電流と同一の駆動電流を前記モータに入力すること
を特徴とする請求項1又は請求項2記載のモータ制御装置。
【請求項5】
前記被駆動体を前記目標停止位置まで変位させるモータ制御の過程において、前記モータに作用する負荷が上昇するか否かを判定する判定手段
を備え、
前記切替手段は、前記判定手段により前記負荷が上昇すると判定された場合には、前記第一の制御手段によるモータ制御の終了後に、前記第二の制御手段及び前記第三の制御手段を順に動作させ、前記判定手段により前記負荷が上昇しないと判定された場合には、前記第一の制御手段によるモータ制御の終了後に、前記第二の制御手段を動作させずに、前記第三の制御手段を動作させること
を特徴とする請求項1〜請求項4のいずれか一項記載のモータ制御装置。
【請求項6】
前記第三の制御手段は、動作開始初期において、前記モータの回転速度が低下する前記目標軌跡に基づくモータ制御を実行することにより、前記モータの回転速度を低下させること
を特徴とする請求項1〜請求項5のいずれか一項記載のモータ制御装置。
【請求項7】
前記第三の制御手段は、前記モータの回転速度が低下する前記目標軌跡に基づくモータ制御を実行した後、前記モータを定速回転させるように、前記モータを制御するものであり、前記第二の制御手段によるモータ制御終了時に前記信号出力手段の出力信号から特定された前記モータ又は前記被駆動体の速度V0と、この速度V0よりも低い速度であって前記モータを定速回転させるときの前記モータ又は前記被駆動体の標準速度Vcと、に基づき、前記第二の制御手段によるモータ制御終了時の前記モータ又は前記被駆動体の加速度A0を目標加速度の初期値に設定し、前記速度V0を目標速度の初期値に設定し、前記標準速度Vcに到達するまでの減速時間を、前記速度V0と前記標準速度Vcとの差(V0−Vc)と前記加速度A0との比(V0−Vc)/A0に応じた時間に設定した目標軌跡であって、前記目標速度が前記標準速度Vcまで滑らかに単調減少する目標軌跡を、前記動作開始初期に用いる前記目標軌跡に設定して、当該目標軌跡に基づき、前記モータの回転速度を低下させた後、前記モータを定速回転させるように、前記モータを制御すること
を特徴とする請求項6記載のモータ制御装置。
【請求項8】
モータを制御するモータ制御手段と、
前記モータの回転に応じた信号を出力する信号出力手段と、
を備え、前記モータ制御手段が、前記信号出力手段の出力信号に基づき前記モータを制御して、前記モータによって駆動される被駆動体を目標停止位置まで変位させるモータ制御装置であって、
前記モータ制御手段は、
前記被駆動体を目標停止位置まで変位させるモータ制御過程の前期において動作する前期制御手段と、
前記被駆動体を目標停止位置まで変位させるモータ制御過程の後期において動作する後期制御手段と、
前記前期制御手段及び前記後期制御手段を順に動作させる切替手段と、
を備え、
前記前期制御手段は、前記信号出力手段の出力信号から特定される前記モータの回転速度に基づき、前記モータに入力可能な電流の上限値であって逆起電力による電流低下を加味した電流上限値を推定し、前記推定した電流上限値に対応する駆動電流を前記モータに入力するモータ制御を実行し、
前記後期制御手段は、前記信号出力手段の出力信号から特定される前記モータ又は前記被駆動体の動作量としての速度及び変位量の少なくとも一方と、当該動作量の目標軌跡とに基づき、前記モータに入力する駆動電流を決定し、当該駆動電流によるモータ制御を実行することにより、前記目標軌跡に沿って、前記被駆動体を目標停止位置まで変位させ、
前記切替手段は、前記前期制御手段によるモータ制御終了後、所定条件が満足された後に前記後期制御手段を動作させることで、前記前期制御手段によるモータ制御終了後、前記所定条件が満足されるまでは、前記モータに対して駆動電流が入力されないようにして、前記前期制御手段及び前記後期制御手段を順に動作させること
を特徴とするモータ制御装置。
【請求項9】
モータと、
前記モータにより駆動されるローラを備え、前記ローラの回転により被記録媒体を搬送する搬送手段と、
前記搬送手段により搬送される前記被記録媒体に画像を形成する画像形成手段と、
前記モータを制御することにより、前記搬送手段に前記被記録媒体を目標停止位置まで搬送させる請求項1〜請求項8のいずれか一項記載のモータ制御装置と、
前記目標停止位置を指定して前記モータ制御装置を繰返し動作させることにより、前記モータ制御装置を通じて、前記搬送手段に前記被記録媒体を段階的に搬送させる搬送制御手段と、
を備えることを特徴とする画像形成装置。
【請求項1】
モータを制御するモータ制御手段と、
前記モータの回転に応じた信号を出力する信号出力手段と、
を備え、前記モータ制御手段が、前記信号出力手段の出力信号に基づき前記モータを制御して、前記モータによって駆動される被駆動体を目標停止位置まで変位させるモータ制御装置であって、
前記モータ制御手段は、
第一、第二、及び、第三の制御手段と、
前記第一、第二、及び、第三の制御手段を順に切り替えて動作させる切替手段と、
を備え、
前記第一の制御手段は、前記信号出力手段の出力信号から特定される前記モータの回転速度に基づき、前記モータに入力可能な電流の上限値であって逆起電力による電流低下を加味した電流上限値を推定し、前記推定した電流上限値に対応する駆動電流を前記モータに入力するモータ制御を実行し、
前記第二の制御手段は、前記第一の制御手段が前記モータ制御の終了時に前記モータに対して入力した駆動電流、又は、前記第一の制御手段が仮に現在の前記モータの回転速度から推定した前記電流上限値に基づき前記モータを制御する場合に前記モータに入力する駆動電流、よりも少ない駆動電流を前記モータに入力するモータ制御を実行し、
前記第三の制御手段は、前記信号出力手段の出力信号から特定される前記モータ又は前記被駆動体の動作量としての速度及び変位量の少なくとも一方と、当該動作量の目標軌跡とに基づき、前記モータに入力する駆動電流を決定し、当該駆動電流によるモータ制御を実行することにより、前記目標軌跡に沿って、前記被駆動体を目標停止位置まで変位させること
を特徴とするモータ制御装置。
【請求項2】
前記切替手段は、前記信号出力手段の出力信号から特定される前記モータ又は前記被駆動体の変位量に応じて、前記第一、第二及び第三の制御手段を順に切り替えて動作させること
を特徴とする請求項1記載のモータ制御装置。
【請求項3】
前記第二の制御手段は、前記第一の制御手段が前記モータ制御の終了時に前記モータに対して入力した駆動電流よりも所定割合少ない駆動電流、又は、前記第一の制御手段が仮に現在の前記モータの回転速度から推定した前記電流上限値に基づき前記モータを制御する場合に前記モータに入力する駆動電流よりも所定割合少ない駆動電流を前記モータに入力すること
を特徴とする請求項1又は請求項2記載のモータ制御装置。
【請求項4】
前記第一の制御手段は、前記信号出力手段の出力信号から特定される前記モータの回転速度ωに予め定められた係数Kを乗算して得られる値K・ωを逆起電力による電流低下分とみなして、逆起電力による電流低下がない場合に前記モータに流れる電流の上限値Imaxから値K・ωを減算した値(Imax−K・ω)を、前記逆起電力による電流低下を加味した電流上限値として推定するものであり、
前記第二の制御手段は、前記係数Kよりも大きい係数K’を用いて算出される偽の電流上限値(Imax−K’・ω)に対応して前記第一の制御手段が前記モータに入力する駆動電流と同一の駆動電流を前記モータに入力すること
を特徴とする請求項1又は請求項2記載のモータ制御装置。
【請求項5】
前記被駆動体を前記目標停止位置まで変位させるモータ制御の過程において、前記モータに作用する負荷が上昇するか否かを判定する判定手段
を備え、
前記切替手段は、前記判定手段により前記負荷が上昇すると判定された場合には、前記第一の制御手段によるモータ制御の終了後に、前記第二の制御手段及び前記第三の制御手段を順に動作させ、前記判定手段により前記負荷が上昇しないと判定された場合には、前記第一の制御手段によるモータ制御の終了後に、前記第二の制御手段を動作させずに、前記第三の制御手段を動作させること
を特徴とする請求項1〜請求項4のいずれか一項記載のモータ制御装置。
【請求項6】
前記第三の制御手段は、動作開始初期において、前記モータの回転速度が低下する前記目標軌跡に基づくモータ制御を実行することにより、前記モータの回転速度を低下させること
を特徴とする請求項1〜請求項5のいずれか一項記載のモータ制御装置。
【請求項7】
前記第三の制御手段は、前記モータの回転速度が低下する前記目標軌跡に基づくモータ制御を実行した後、前記モータを定速回転させるように、前記モータを制御するものであり、前記第二の制御手段によるモータ制御終了時に前記信号出力手段の出力信号から特定された前記モータ又は前記被駆動体の速度V0と、この速度V0よりも低い速度であって前記モータを定速回転させるときの前記モータ又は前記被駆動体の標準速度Vcと、に基づき、前記第二の制御手段によるモータ制御終了時の前記モータ又は前記被駆動体の加速度A0を目標加速度の初期値に設定し、前記速度V0を目標速度の初期値に設定し、前記標準速度Vcに到達するまでの減速時間を、前記速度V0と前記標準速度Vcとの差(V0−Vc)と前記加速度A0との比(V0−Vc)/A0に応じた時間に設定した目標軌跡であって、前記目標速度が前記標準速度Vcまで滑らかに単調減少する目標軌跡を、前記動作開始初期に用いる前記目標軌跡に設定して、当該目標軌跡に基づき、前記モータの回転速度を低下させた後、前記モータを定速回転させるように、前記モータを制御すること
を特徴とする請求項6記載のモータ制御装置。
【請求項8】
モータを制御するモータ制御手段と、
前記モータの回転に応じた信号を出力する信号出力手段と、
を備え、前記モータ制御手段が、前記信号出力手段の出力信号に基づき前記モータを制御して、前記モータによって駆動される被駆動体を目標停止位置まで変位させるモータ制御装置であって、
前記モータ制御手段は、
前記被駆動体を目標停止位置まで変位させるモータ制御過程の前期において動作する前期制御手段と、
前記被駆動体を目標停止位置まで変位させるモータ制御過程の後期において動作する後期制御手段と、
前記前期制御手段及び前記後期制御手段を順に動作させる切替手段と、
を備え、
前記前期制御手段は、前記信号出力手段の出力信号から特定される前記モータの回転速度に基づき、前記モータに入力可能な電流の上限値であって逆起電力による電流低下を加味した電流上限値を推定し、前記推定した電流上限値に対応する駆動電流を前記モータに入力するモータ制御を実行し、
前記後期制御手段は、前記信号出力手段の出力信号から特定される前記モータ又は前記被駆動体の動作量としての速度及び変位量の少なくとも一方と、当該動作量の目標軌跡とに基づき、前記モータに入力する駆動電流を決定し、当該駆動電流によるモータ制御を実行することにより、前記目標軌跡に沿って、前記被駆動体を目標停止位置まで変位させ、
前記切替手段は、前記前期制御手段によるモータ制御終了後、所定条件が満足された後に前記後期制御手段を動作させることで、前記前期制御手段によるモータ制御終了後、前記所定条件が満足されるまでは、前記モータに対して駆動電流が入力されないようにして、前記前期制御手段及び前記後期制御手段を順に動作させること
を特徴とするモータ制御装置。
【請求項9】
モータと、
前記モータにより駆動されるローラを備え、前記ローラの回転により被記録媒体を搬送する搬送手段と、
前記搬送手段により搬送される前記被記録媒体に画像を形成する画像形成手段と、
前記モータを制御することにより、前記搬送手段に前記被記録媒体を目標停止位置まで搬送させる請求項1〜請求項8のいずれか一項記載のモータ制御装置と、
前記目標停止位置を指定して前記モータ制御装置を繰返し動作させることにより、前記モータ制御装置を通じて、前記搬送手段に前記被記録媒体を段階的に搬送させる搬送制御手段と、
を備えることを特徴とする画像形成装置。
【図1】
【図2】
【図3】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図4】
【図2】
【図3】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図4】
【公開番号】特開2013−66301(P2013−66301A)
【公開日】平成25年4月11日(2013.4.11)
【国際特許分類】
【出願番号】特願2011−203502(P2011−203502)
【出願日】平成23年9月16日(2011.9.16)
【出願人】(000005267)ブラザー工業株式会社 (13,856)
【Fターム(参考)】
【公開日】平成25年4月11日(2013.4.11)
【国際特許分類】
【出願日】平成23年9月16日(2011.9.16)
【出願人】(000005267)ブラザー工業株式会社 (13,856)
【Fターム(参考)】
[ Back to top ]