(57)【特許請求の範囲】
【請求項１】
入力された電圧指令値に対応する電圧をモータに印加することによって、前記モータを駆動するモータドライバと、
前記モータドライバに、前記モータドライバを介して前記モータに印加可能な電圧範囲の上限値である上限電圧値に対応する前記電圧指令値を入力することによって、前記モータドライバに前記モータを駆動させ、所定条件が満足されると、前記モータドライバに入力する前記電圧指令値を、前記上限電圧値に対応する前記電圧指令値から漸次減少させる第一制御手段と、
エンコーダ信号として前記モータの回転に応じた信号を出力するエンコーダと、
前記エンコーダ信号から特定される前記モータ又は前記モータにより駆動される駆動体である対象物の速度と、予め定められた前記対象物の目標速度とに基づき、前記モータドライバに入力する前記電圧指令値を決定し、前記決定した前記電圧指令値を前記モータドライバに入力することによって、前記対象物の速度を前記目標速度にフィードバック制御する第二制御手段と、
前記対象物の駆動初期においては、前記第一制御手段に前記モータドライバに対する前記電圧指令値の入力動作を実行させ、前記モータドライバに入力する前記電圧指令値の漸次減少動作により、前記第一制御手段によって前記モータドライバに入力される前記電圧指令値が、予め設定された切替条件値に到達すると、以後、前記第一制御手段に代えて、前記第二制御手段に前記モータドライバに対する前記電圧指令値の入力動作を実行させる切替手段と、
前記第二制御手段によるフィードバック制御の開始時に用いられる前記目標速度の初期値に対応する回転速度で前記モータが回転したときに生じる逆起電力を推定し、前記切替手段に設定する前記切替条件値を、予め定められた切替条件値の基本値から前記推定した逆起電力に対応する量補正してなる値に決定し、当該決定した前記切替条件値を前記切替手段に設定する設定手段と、
を備え、
前記切替手段は、前記第一制御手段によって前記モータドライバに入力される前記電圧指令値が、前記設定手段により設定された前記切替条件値に到達すると、以後、前記第一制御手段に代えて、前記第二制御手段に前記モータドライバに対する前記電圧指令値の入力動作を実行させること
を特徴とするモータ制御装置。
【請求項２】
前記モータの逆起電力定数を推定する推定手段
を備え、
前記設定手段は、前記推定手段より推定された逆起電力定数に前記目標速度の初期値に対応する前記モータの回転速度を乗算することによって、前記目標速度の初期値に対応する回転速度で前記モータが回転したときに生じる逆起電力を推定すること
を特徴とする請求項１記載のモータ制御装置。
【請求項３】
入力された電圧指令値に対応する電圧をモータに印加することによって、前記モータを駆動するモータドライバと、
前記モータドライバに、前記モータドライバを介して前記モータに印加可能な電圧範囲の上限値である上限電圧値に対応する前記電圧指令値を入力することによって、前記モータドライバに前記モータを駆動させ、所定条件が満足されると、前記モータドライバに入力する前記電圧指令値を、前記上限電圧値に対応する前記電圧指令値から漸次減少させる第一制御手段と、
エンコーダ信号として前記モータの回転に応じた信号を出力するエンコーダと、
前記エンコーダ信号から特定される前記モータ又は前記モータにより駆動される駆動体である対象物の速度と、予め定められた前記対象物の目標速度とに基づき、前記モータドライバに入力する前記電圧指令値を決定し、前記決定した前記電圧指令値を前記モータドライバに入力することによって、前記対象物の速度を前記目標速度にフィードバック制御する第二制御手段と、
前記対象物の駆動初期においては、前記第一制御手段に前記モータドライバに対する前記電圧指令値の入力動作を実行させ、前記モータドライバに入力する前記電圧指令値の漸次減少動作により、前記第一制御手段によって前記モータドライバに入力される前記電圧指令値が、予め設定された切替条件値に到達すると、以後、前記第一制御手段に代えて、前記第二制御手段に前記モータドライバに対する前記電圧指令値の入力動作を実行させる切替手段と、
前記モータの逆起電力定数を推定する推定手段と、
前記推定手段により推定された逆起電力定数の、予め定められた前記逆起電力定数の標準値からの偏差に従い、前記切替手段に設定する前記切替条件値を、予め定められた切替条件値の標準値から前記偏差に対応する量補正してなる値に決定し、当該決定した前記切替条件値を前記切替手段に設定する設定手段と、
を備え、
前記切替手段は、前記第一制御手段によって前記モータドライバに入力される前記電圧指令値が、前記設定手段により設定された前記切替条件値に到達すると、以後、前記第一制御手段に代えて、前記第二制御手段に前記モータドライバに対する前記電圧指令値の入力動作を実行させること
を特徴とするモータ制御装置。
【請求項４】
前記モータドライバは、前記入力された電圧指令値に対応する電圧を前記モータに印加することによって、前記モータを駆動するが、前記モータを流れる電流が予め定められた上限値に到達した場合には、前記モータを流れる電流が前記上限値を超えないように前記モータを駆動するものであり、
前記推定手段は、
前記モータドライバに対して一定の前記電圧指令値が入力される期間であって、前記モータを流れる電流が前記モータドライバにより前記上限値に制限される第一の電圧指令値Ｖ１が前記一定の前記電圧指令値として前記モータドライバに入力される第一の期間において、前記モータの回転により生じる逆起電力の変化により前記モータを流れる電流が前記上限値に制限された状態から前記上限値未満となる現象を検知し、前記エンコーダ信号から特定される前記検知された時点での前記モータの回転速度を、第一の回転速度ω１として記憶する一方、
前記モータドライバに対して前記第一の電圧指令値Ｖ１とは異なる一定の前記電圧指令値が入力される期間であって、前記モータドライバにより前記モータを流れる電流が前記上限値に制限される第二の電圧指令値Ｖ２が前記一定の前記電圧指令値として前記モータドライバに入力される第二の期間において、前記モータの回転により生じる逆起電力の変化により前記モータを流れる電流が前記上限値に制限された状態から前記上限値未満となる現象を検知し、前記エンコーダ信号から特定される前記検知された時点での前記モータの回転速度を、第二の回転速度ω２として記憶し、
前記記憶した前記第一の回転速度ω１及び前記第二の回転速度ω２、並びに、前記第一の電圧指令値Ｖ１及び前記第二の電圧指令値Ｖ２に基づいて、前記逆起電力定数を推定する構成にされていること
を特徴とする請求項２又は請求項３記載のモータ制御装置。
【請求項５】
前記推定手段は、前記エンコーダ信号から特定される前記対象物の加速度を監視し、前記加速度が減少し始める現象を検知することによって、前記モータを流れる電流が前記上限値に制限された状態から前記上限値未満となる現象を検知すること
を特徴とする請求項４記載のモータ制御装置。
【請求項６】
前記第一の期間は、前記第一制御手段の動作によって、前記第一の電圧指令値Ｖ１としての前記上限電圧値に対応する前記電圧指令値が前記モータドライバに入力される期間であり、
前記第二の期間は、前記推定手段の動作によって、前記電圧指令値が前記モータドライバに入力される期間であり、
前記推定手段は、前記第一制御手段の動作時に、前記モータを流れる電流が前記上限値に制限された状態から前記上限値未満となる現象を検知して、前記エンコーダ信号から特定される前記検知された時点での前記モータの回転速度を、前記第一の回転速度ω１として記憶し、前記第一制御手段及び前記第二制御手段の非動作時に、前記モータドライバに対して前記第二の電圧指令値Ｖ２を入力しつつ、前記モータを流れる電流が前記上限値に制限された状態から前記上限値未満となる現象を検知して、前記エンコーダ信号から特定される前記検知された時点での前記モータの回転速度を、前記第二の回転速度ω２として記憶すること
を特徴とする請求項４又は請求項５記載のモータ制御装置。
【請求項７】
前記推定手段は、前記第一制御手段及び前記第二制御手段の非動作時である前記モータ制御装置の起動時に、前記モータドライバに対して前記第二の電圧指令値Ｖ２を入力しつつ、前記モータを流れる電流が前記上限値に制限された状態から前記上限値未満となる現象を検知して、前記エンコーダ信号から特定される前記検知された時点での前記モータの回転速度を、前記第二の回転速度ω２として記憶すること
を特徴とする請求項６記載のモータ制御装置。
【請求項８】
前記推定手段は、式Ｋ＝（Ｖ１−Ｖ２）／（ω１−ω２）に従って算出される値Ｋを、前記モータの前記逆起電力定数であると推定すること
を特徴とする請求項４〜請求項７のいずれか一項記載のモータ制御装置。
【請求項９】
前記第二制御手段は、前記対象物の速度と前記対象物の目標速度とに基づき、積分要素を含む伝達関数に従う前記電圧指令値を算出し、算出した前記電圧指令値を前記モータドライバに入力するものであり、
前記切替手段は、前記第一制御手段に代えて、前記第二制御手段に前記モータドライバに対する前記電圧指令値の入力動作を実行させる際には、前記積分要素の出力値の初期値を、前記切替条件値に設定すること
を特徴とする請求項１〜請求項８のいずれか一項記載のモータ制御装置。
【請求項１０】
前記第一制御手段は、前記エンコーダ信号から特定される前記対象物の速度が、予め定められた速度に到達すると、前記所定条件が満足されたとして、前記モータドライバに入力する前記電圧指令値を、前記上限電圧値に対応する値から漸次減少させること
を特徴とする請求項１〜請求項９のいずれか一項記載のモータ制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、モータ制御装置に関する。
【背景技術】
【０００２】
従来、モータ制御装置としては、目標速度と、エンコーダ等により計測されたモータの計測速度と、の偏差に基づいた操作量を算出し、この操作量をモータドライバに入力し、モータドライバを介して当該操作量に基づいたモータ駆動を行うことによって、モータの回転速度を制御する技術が知られている。また、モータの回転により発生する逆起電力によって、上記モータドライバに入力した操作量に対応した駆動電流がモータに印加されないことによる制御誤差を抑えるために、モータドライバに入力する操作量に上限を設ける技術が知られている。例えば、ＰＷＭ制御を行うモータ制御装置であって、制御デューティに、逆起電力定数等を用いて算出した最大制限値を設定するモータ制御装置が知られている（特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００７−２２１９４０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、インクジェットプリンタ等の画像形成装置では、高品質な画像を用紙に形成するために、記録ヘッドを搭載したキャリッジを、予め定められた速度まで加速させた後、キャリッジを定速搬送しつつ、記録ヘッドにインク液滴を吐出させて、用紙に画像を形成することが行われている。但し、このような方法では、キャリッジの加速領域で用紙に対するインク液滴の吐出動作が行われないため、加速領域が長い程、製品が大型化する。従って、この種の画像形成装置においては、加速領域をできるだけ短くするのが好ましい。しかしながら、単にモータを最大能力で動作させて、加速を早くするだけでは、定速搬送初期に高精度な速度制御を行うことが難しい。
【０００５】
本発明は、こうした問題に鑑みなされたものであり、加速を迅速に行うことができ、加速後の速度制御を高精度に実行可能なモータ制御技術を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成するためになされた本発明のモータ制御装置は、モータドライバと、第一制御手段と、エンコーダと、第二制御手段と、切替手段とを備える。モータドライバは、入力された電圧指令値に対応する電圧をモータに印加することによって、モータを駆動するものであり、第一制御手段は、モータドライバに、モータドライバの上限電圧値に対応する電圧指令値を入力することによって、モータドライバにモータを駆動させ、所定条件が満足されると、モータドライバに入力する電圧指令値を、上限電圧値に対応する電圧指令値から漸次減少させるものである。ここで、モータドライバの上限電圧値とは、モータドライバを介してモータに印加可能な電圧範囲における上限値のことを言う。
【０００７】
一方、エンコーダは、エンコーダ信号としてモータの回転に応じた信号を出力するものであり、第二制御手段は、エンコーダ信号から特定されるモータ又はモータにより駆動される駆動体である対象物の速度と、予め定められた対象物の目標速度とに基づき、モータドライバに入力する電圧指令値を決定し、決定した電圧指令値をモータドライバに入力することによって、対象物の速度を目標速度にフィードバック制御する。
【０００８】
切替手段は、対象物の駆動初期においては、第一制御手段にモータドライバに対する電圧指令値の入力動作を実行させ、モータドライバに入力する電圧指令値の漸次減少動作により、第一制御手段によってモータドライバに入力される電圧指令値が、予め設定された切替条件値に到達すると、以後、第一制御手段に代えて、第二制御手段にモータドライバに対する電圧指令値の入力動作を実行させる。
【０００９】
このモータ制御装置によれば、第一制御手段が、モータの駆動初期においてモータドライバの上限電圧値に対応する電圧指令値を入力するので、モータ及び駆動体を迅速に加速させることができる。また、フィードバック制御を行うに先立っては、電圧指令値を漸次減少させることで、モータ及び駆動体の加速を抑えて、フィードバック制御の開始時に制御が不安定になるのを抑える。従って、本発明のモータ制御装置によれば、モータ及び駆動体の加速を迅速に行いつつ、加速後の速度制御を高精度に行うことができる。
【００１０】
ところで、切替条件値は、フィードバック制御の開始時の目標速度及び目標加速度に対応した電圧指令値に設定することができ、具体的には、この目標速度及び目標加速度で対象物が変位する電圧指令値に設定することができる。例えば、第二制御手段によって対象物を一定速度に制御する場合、切替条件値は、対象物が目標速度に一致する一定速度で変位するような電圧指令値に設定することができる。
【００１１】
更に言えば、この切替条件値は、対象物が目標速度で変位するときに生じるモータの逆起電力を加味した電圧指令値に設定することができる。例えば、モータ制御装置には、第二制御手段によるフィードバック制御の開始時に用いられる目標速度の初期値に対応する回転速度でモータが回転したときに生じる逆起電力を推定し、推定した逆起電力に基づいて、切替条件値を設定する設定手段を設けることができる。
【００１２】
具体的に、上記設定手段は、切替手段に設定する切替条件値を、予め定められた切替条件値の基本値から上記推定した逆起電力に対応する量補正してなる値に決定する構成にすることができる。例えば、モータ制御装置には、フィードバック制御の開始時の目標速度及び目標加速度に対応した電圧指令値であって、逆起電力を考慮しない場合にモータドライバに入力すべき電圧指令値を予め基本値として設定し、モータ制御装置では、上記基本値を上記推定した逆起電力に応じて補正することによって、上記逆起電力を加味した切替条件値を設定することができる。
【００１３】
このモータ制御装置によれば、逆起電力を加味した適切な条件で、第一制御手段に制御から第二制御手段によるフィードバック制御に切り替えることができ、フィードバック制御開始直後の速度制御を、一層安定なものとすることができる。
【００１４】
また、設定手段は、モータの逆起電力定数に目標速度の初期値に対応するモータの回転速度を乗算することによって、目標速度の初期値に対応する回転速度でモータが回転したときに生じる逆起電力を推定する構成にすることができる。但し、モータの逆起電力に関する特性値（逆起電力定数）は、個体毎にばらつきがあり、更には環境（温度等）に応じて変化する可能性がある。従って、モータ制御装置には、モータの逆起電力定数を推定する推定手段を設け、設定手段は、推定手段より推定された逆起電力定数に目標速度の初期値に対応するモータの回転速度を乗算することによって、目標速度の初期値に対応する回転速度でモータが回転したときに生じる逆起電力を推定する構成にされるとよい。このモータ制御装置によれば、逆起電力を加味した切替条件値を適切に設定し、第一制御手段による制御から第二制御手段によるフィードバック制御への切替を、良好に行うことができる。
【００１５】
この他、上記設定手段は、推定手段により推定された逆起電力定数の、予め定められた逆起電力定数の標準値からの偏差に従い、切替手段に設定する切替条件値を、予め定められた切替条件値の標準値から上記偏差に対応する量補正してなる値に決定する構成にされてもよい。例えば、モータ制御装置には、モータの逆起電力定数が特定値（標準値）であるときに設定すべき切替条件値を、当該切替条件値の標準値として予め設定しておくことができる。
【００１６】
また、モータドライバが、モータを流れる電流が予め定められた上限値を超えないように、電圧印加してモータを駆動する構成にされている場合、推定手段は、次のように逆起電力定数を推定する構成にすることができる。
【００１７】
即ち、モータドライバに対して一定の電圧指令値が入力される期間であって、モータを流れる電流がモータドライバにより上限値に制限される第一の電圧指令値Ｖ１が上記一定の電圧指令値としてモータドライバに入力される第一の期間において、モータの回転により生じる逆起電力の変化によりモータを流れる電流が上限値に制限された状態から上限値未満となる現象を検知し、エンコーダ信号から特定される検知された時点でのモータの回転速度を、第一の回転速度ω１として記憶する。一方、モータドライバに対して第一の電圧指令値Ｖ１とは異なる一定の電圧指令値が入力される期間であって、モータドライバによりモータを流れる電流が上限値に制限される第二の電圧指令値Ｖ２が上記一定の電圧指令値としてモータドライバに入力される第二の期間において、モータの回転により生じる逆起電力の変化によりモータを流れる電流が上限値に制限された状態から上限値未満となる現象を検知し、エンコーダ信号から特定される検知された時点でのモータの回転速度を、第二の回転速度ω２として記憶する。そして、記憶した第一の回転速度ω１及び第二の回転速度ω２、並びに、第一の電圧指令値Ｖ１及び第二の電圧指令値Ｖ２に基づいて、逆起電力定数を推定する。推定手段は、このように逆起電力定数を推定する構成にすることができる。具体的には、式Ｋ＝（Ｖ１−Ｖ２）／（ω１−ω２）に従って算出される値Ｋを、モータの逆起電力定数として推定することができる。このような推定方法によれば、高精度に逆起電力定数を推定することができる。
【００１８】
また、モータを流れる電流と対象物の加速度との間に相関があることを利用すれば、上記推定手段は、エンコーダ信号から特定される対象物の加速度を監視し、加速度が減少し始める現象を検知することによって、モータを流れる電流が上限値に制限された状態から上限値未満となる現象を検知する構成にすることができる。このように推定手段を構成すれば、モータを流れる電流を計測するための機器を設けなくても済む。
【００１９】
また、上記推定手段は、第一制御手段の動作により、上限電圧値に対応する電圧指令値がモータドライバに入力される期間を利用して、第一の回転速度ω１を記憶する構成にすることができる。即ち、第一の電圧指令値Ｖ１としての上限電圧値に対応する電圧指令値がモータドライバに入力される期間（第一の期間）において、モータを流れる電流が上限値に制限された状態から上限値未満となる現象を検知し、エンコーダ信号から特定される当該検知された時点でのモータの回転速度を、第一の回転速度ω１として記憶する構成にすることができる。
【００２０】
また、上記推定手段は、第一制御手段及び第二制御手段の非動作時に、モータドライバに対して第二の電圧指令値Ｖ２を入力しつつ、モータを流れる電流が上限値に制限された状態から上限値未満となる現象を検知して、エンコーダ信号から特定される検知された時点でのモータの回転速度を、第二の回転速度ω２として記憶する構成にすることができる。「第一制御手段及び第二制御手段の非動作時」としては、モータ制御装置の起動時を挙げることができる。
【００２１】
この他、第二制御手段は、対象物の速度と対象物の目標速度とに基づき、積分要素を含む伝達関数に従う電圧指令値を算出し、算出した電圧指令値をモータドライバに入力する構成にすることができる。そして、切替手段は、第一制御手段に代えて、第二制御手段にモータドライバに対する電圧指令値の入力動作を実行させる際には、積分要素の出力値の初期値を、切替条件値に設定する構成にすることができる。このように第二制御手段を構成すると、第一制御手段による制御から第二制御手段によるフィードバック制御への切替時に、電圧指令値が不連続となるのを抑えることができ、フィードバック制御による速度制御を、一層安定なものとすることができる。
【００２２】
また、第一制御手段は、エンコーダ信号から特定される対象物の速度が、予め定められた速度に到達すると、所定条件が満足されたとして、モータドライバに入力する電圧指令値を、上限電圧値に対応する値から漸次減少させる構成にすることができる。この構成によれば、フィードバック制御の開始前において一層適切に対象物の加速を抑えることができて、フィードバック制御による速度制御を、一層安定なものとすることができる。
【図面の簡単な説明】
【００２３】
【図１】インクジェットプリンタ１の概略構成を表すブロック図（Ａ）及びモータ制御装置７０の構成を表すブロック図（Ｂ）である。
【図２】モータ４０の回転制御（換言すれば、キャリッジ１０の搬送制御）の態様を表すグラフである。
【図３】モータ４０の速度変化の態様を表すグラフ（Ａ）（Ｂ）である。
【図４】逆起電力定数Ｋｅの特定原理を説明した図（Ａ）（Ｂ）である。
【図５】主制御装置９０が実行する順方向搬送制御処理を表すフローチャート（Ａ）及び逆方向搬送制御処理を表すフローチャート（Ｂ）である。
【図６】モータ制御ユニット７７が実行するモータ制御処理を表すフローチャートである。
【図７】ＦＦ駆動演算処理を表すフローチャートである。
【図８】同定前処理を表すフローチャート（Ａ）及び同定処理を表すフローチャート（Ｂ）である。
【図９】加速度低下判定処理を表すフローチャート（Ａ）及び加速度ピーク検出区間を表すグラフ（Ｂ）である。
【図１０】ＦＢ駆動演算処理を表すフローチャート（Ａ）及び目標速度ωｒの軌跡を表すグラフ（Ｂ）である。
【発明を実施するための形態】
【００２４】
以下に本発明の実施例を図面と共に説明する。図１（Ａ）に示す本実施例のインクジェットプリンタ１は、周知のインクジェットプリンタと同様に、用紙Ｑを副走査方向（図１（Ａ）に示す紙面法線方向）に所定量搬送しては、記録ヘッド２０（所謂インクジェットヘッド）を搭載したキャリッジ１０を主走査方向（図１（Ａ）に示す太矢印方向）に搬送し、キャリッジ１０の搬送時には、記録ヘッド２０にインク液滴を吐出させることにより、プラテン６０上の用紙Ｑに画像を形成するものである。
【００２５】
キャリッジ１０は、主走査方向に延設されたガイドレール３０に取り付けられており、ガイドレール３０によって、その移動を主走査方向に規制されている。このキャリッジ１０は、モータ（直流モータ）４０の動力を受けて回転するベルト３１に連結され、ベルト３１の回転に伴って、主走査方向に移動する。
【００２６】
ベルト３１は、モータ４０に駆動されて回転する駆動プーリ３３と従動プーリ３４との間に巻回されており、モータ４０に駆動されて駆動プーリ３３が回転すると、駆動プーリ３３からの動力を受けて、従動プーリ３４と共に回転する。駆動プーリ３３は、モータ４
０に対し、直接又はギヤ等を介して間接的に接続されている。
【００２７】
また、モータ４０の回転軸には、モータ４０の回転に応じたパルス信号（エンコーダ信号）を出力するロータリエンコーダとしてのエンコーダ５０が取り付けられており、エンコーダ５０からの出力信号は、モータ制御装置７０に入力される。ロータリエンコーダに代えては、キャリッジ１０の変位に応じたパルス信号を出力するリニアエンコーダを設けてもよい。ロータリエンコーダ及びリニアエンコーダのいずれを用いても、モータ４０からキャリッジ１０への動力伝達系の機械的構成に基づいて、モータ４０の回転位置及び回転速度並びにキャリッジ１０の位置及び速度を検出可能である。
【００２８】
また、モータ制御装置７０は、主制御装置９０からの指令に従って、エンコーダ信号に基づくモータ４０の制御を実行し、このモータ制御により、キャリッジ１０の搬送を制御するものである。具体的に、モータ制御装置７０は、主制御装置９０からの指令に従うモータ制御を繰返し実行することにより、キャリッジ１０を主走査方向に沿って、その順方向及び逆方向に往復動させる。キャリッジ１０が順方向に移動する際には、主制御装置９０からの指令を受けて、印字制御装置８０が記録ヘッド２０からのインク液滴の吐出制御を行う。この動作により、用紙Ｑには印刷対象の画像データに基づく画像が形成される。
【００２９】
また、主制御装置９０は、インクジェットプリンタ１全体を統括制御するものである。主制御装置９０は、外部のパーソナルコンピュータ等から印刷指令を受けると、印刷指令にて指定された印刷対象の画像データに基づく画像を用紙Ｑに形成するために、モータ制御装置７０及び印字制御装置８０、並びに、他の図示しない装置内の各部に指令入力し、この指令入力により、キャリッジ１０を介して記録ヘッド２０を主走査方向に搬送し、この際に記録ヘッド２０にインク液滴を吐出させることによって用紙Ｑに画像を形成し、この画像形成後には、用紙Ｑを副走査方向（図１（Ａ）紙面法線方向）所定量送り出す統括制御処理を実行する。この統括制御処理を繰返し実行することにより、主制御装置９０は、用紙Ｑに、印刷対象の画像データに基づく一連の画像を形成（印刷）する。
【００３０】
具体的に、上記統括制御処理では、指令入力により、モータ制御装置７０を介してキャリッジ１０を順方向始点から終点に向けて移動させ、キャリッジ１０の順方向移動時には、印字制御装置８０を介して記録ヘッド２０にインク液滴を吐出させる。また、キャリッジ１０が順方向終点まで到達した後には、モータ制御装置７０を介してキャリッジ１０を逆方向に移動させ、キャリッジ１０を順方向始点まで戻す。そして、キャリッジ１０を順方向始点まで戻す際には、図示しない用紙Ｑの搬送装置を介して、用紙Ｑを副走査方向に所定量送り出す。尚、用紙Ｑの送出量は、キャリッジ１０の順方向移動時に用紙Ｑに形成される画像の副走査方向の幅に対応する。また、移動の始点及び終点は、画像の主走査方向の幅に対応して設定される。外部のパーソナルコンピュータ等から印刷指令を受けると、主制御装置９０は、このような統括制御処理を繰返し実行し、用紙Ｑに、印刷対象の画像データに基づく一連の画像を形成（印刷）する。
【００３１】
続いて、モータ制御装置７０の詳細構成を説明する。図１（Ｂ）に示すようにモータ制御装置７０は、モータドライバ７１と、位置検出器７３と、速度検出器７５と、モータ制御ユニット７７と、を備える。モータドライバ７１は、モータ制御ユニット７７から入力された電圧指令値Ｕに対応する電圧をモータ４０に印加して、モータ４０を駆動するものである。例えば、モータドライバ７１は、ＰＷＭ制御により、入力された電圧指令値Ｕに対応する電圧をモータ４０に印加する。但し、このモータドライバ７１は、電流制限回路７１ａを含む。電流制限回路７１ａは、モータ４０の焼付等を防止するために、モータ４０に流れる電流Ｉを上限値Ｉｍａｘに制限するものである。即ち、モータドライバ７１は、入力された電圧指令値Ｕに一致する電圧をモータ４０に印加することによって、モータ４０を駆動するが、モータ４０を流れる電流Ｉが予め定められた上限値Ｉｍａｘに到達し
た場合には、モータ４０を流れる電流Ｉが上限値Ｉｍａｘを超えないようにモータ４０に電圧指令値Ｕ以下の電圧を印加し、モータ４０を駆動する。
【００３２】
一方、位置検出器７３は、エンコーダ５０の出力信号に基づき、モータ４０の回転位置Ｘを検出するものであり、速度検出器７５は、エンコーダ５０の出力信号に基づき、モータ４０の回転速度ωを検出するものである。エンコーダ５０としては、モータが所定角度回転する度にパルス信号を出力するロータリエンコーダであって、位相がπ／２異なる二つのパルス信号であるＡ相信号及びＢ相信号を出力するものが知られている。この種のエンコーダ５０を用いる場合、位置検出器７３は、エンコーダ５０から入力されるＡ相信号及びＢ相信号の位相差に基づき、モータ４０の回転方向を検知する構成にすることができる。また、位置検出器７３は、モータ４０が正回転している場合には、Ａ相信号の立ち上りエッジが入力される度、内蔵のカウンタを１カウントアップし、モータ４０が負回転している場合には、Ａ相信号の立ち上りエッジが入力される度、上記カウンタを１カウントダウンすることにより、モータ４０の回転位置Ｘを検出（計測）する構成にすることができる。この他、速度検出器７５は、エンコーダ５０からＡ相信号の立ち上りエッジが入力される時間間隔を計測し、この時間に対応するモータ４０の回転量を、当該計測された時間間隔で除算することにより、モータ４０の回転速度ωを検出（計測）する構成にすることができる。
【００３３】
また、モータ制御ユニット７７は、位置検出器７３から入力されるモータ４０の回転位置Ｘ、及び、速度検出器７５から入力されるモータ４０の回転速度ωに基づき、電圧指令値Ｕを設定し、当該電圧指令値Ｕをモータドライバ７１に入力することにより、モータ４０の回転を制御し、キャリッジ１０の運動を制御するものである。
【００３４】
具体的に、モータ制御ユニット７７は、図２上段に例示するような形態で、電圧指令値Ｕをモータドライバ７１に入力することにより、図２下段に例示するような形態で、モータ４０の回転速度ωを制御する。即ち、モータ制御ユニット７７は、主制御装置９０から駆動指令が入力されると、まず、モータドライバ７１に対し電圧指令値Ｕとして、主制御装置９０から設定された初期電圧指令値Ｕｉｎｉを入力する動作を所定条件が満足されるまで継続する。この動作によって、一定の電圧指令値Ｕ＝Ｕｉｎｉをモータドライバ７１に入力する。このような電圧指令値Ｕ＝Ｕｉｎｉの入力により、モータ４０及びキャリッジ１０は急加速する。
【００３５】
また、モータ制御ユニット７７は、速度検出器７５により検出されるモータ４０の回転速度ωを参照し、この回転速度ωが主制御装置９０から指定された閾値速度ωｃｈを超えると、上記所定条件が満足されたと判断して、モータドライバ７１に入力する電圧指令値Ｕを、初期電圧指令値Ｕｉｎｉから一次関数的に減少させる。尚、閾値速度ωｃｈは、フィードバック制御切替時の目標速度ωｒの基準に、それ未満の値に設計段階で定められる。このように電圧指令値Ｕを減少させると、モータ４０の加速度Ａは減少する。そして、電圧指令値Ｕが、フィードバック制御開始時点の目標速度ωｒとして主制御装置９０から指定された定速時の目標速度ωｒ＝ωｃ、及び、目標加速度Ａｒ＝０でモータ４０を回転させるのに必要十分な電圧指令値Ｕｃｏｎｖに到達すると、モータ制御ユニット７７は、フィードバック制御を実行し、速度検出器７５により検出されるモータ４０の回転速度ωと目標速度ωｒとの偏差に応じた電圧指令値Ｕをモータドライバ７１へ入力する。
【００３６】
具体的にフィードバック制御を開始すると、モータ制御ユニット７７は、まずモータ４０を速度ωｃ及び加速度ゼロで定速回転させる。その後、所定条件が満足されるとモータ４０の減速制御を開始し、モータ４０を停止させる。そして、位置検出器７３により検出される回転位置Ｘが所定時間更新されないことを確認することで、モータ４０及びキャリッジ１０の停止を確認すると、片道分のキャリッジ１０の搬送制御が終了したことを通知
する制御終了通知を主制御装置９０に入力して、主制御装置９０から入力された駆動指令に基づくモータ制御を完了する。尚、図２からも理解できるように、本実施例のインクジェットプリンタ１では、モータ制御ユニット７７による制御がフィードバック制御に切り替わり、キャリッジ１０が定速搬送される期間に限って、印字制御装置８０を介したインク液滴の吐出制御が行われ、用紙Ｑに印刷対象の画像データに基づく画像が形成される。
【００３７】
ところで、本実施例では、フィードバック制御に切り替えるタイミングを規定する上記電圧指令値Ｕｃｏｎｖを、モータ制御装置７０に設定する必要があるが、この電圧指令値Ｕｃｏｎｖに関しては、インクジェットプリンタ１の設計者が、目標速度ωｒ＝ωｃ及び目標加速度Ａｒ＝０でモータ４０を回転させるのに必要十分な電圧指令値を予め実験的に求め、これをインクジェットプリンタ１に記憶させることで実現することができる。
【００３８】
但し、モータ４０が速度ωで回転するときには、モータ４０に逆起電力Ｋｅ・ωが生じる。このため、モータドライバ７１によって電圧指令値Ｕに対応する電圧をモータ４０側に印加しても、モータ４０の動力に寄与する電圧分はＵ−Ｋｅ・ωである。ここで、Ｋｅは、逆起電力定数である。そして、モータ４０の逆起電力定数Ｋｅについては、個体差があり、熱等による環境変化も考えられる。このため、インクジェットプリンタ１に記憶された電圧指令値Ｕｃｏｎｖが前提とする逆起電力定数Ｋｅと、この電圧指令値Ｕｃｏｎｖに基づいてフィードバック制御を開始するときの逆起電力定数Ｋｅとの誤差が大きい場合には、電圧指令値Ｕｃｏｎｖが、真の逆起電力定数Ｋｅに対応する最適値より高かったり低かったりして、フィードバック制御開始時の速度制御の精度が悪化する。
【００３９】
図３（Ａ）は、フィードバック制御への切替に用いた電圧指令値Ｕｃｏｎｖが前提とする逆起電力定数Ｋｅと真の逆起電力定数Ｋｅとの間の誤差が大きい場合のモータ４０の速度変化を表したグラフである。一方、図３（Ｂ）は、フィードバック制御の切替に用いた電圧指令値Ｕｃｏｎｖが前提する逆起電力定数Ｋｅと真の逆起電力定数Ｋｅとの間の誤差が小さい場合のモータ４０の速度変化を表したグラフである。但し、図３（Ａ）では、誤差による速度変化の影響を分かり易く示すために、過剰に誤差が大きい場合の速度変化を示している。即ち、実際に設計段階で定められる電圧指令値Ｕｃｏｎｖで、このような速度の大きな振動が現れることを意味するものではないことに留意されたい。図３（Ａ）及び図３（Ｂ）から理解できるように、フィードバック制御開始初期において高精度な速度制御（定速制御）を実現するためには、逆起電力定数Ｋｅの想定値と真値との誤差が小さいのが好ましい。換言すれば、逆起電力定数Ｋｅの想定値と真値との間に誤差がある場合には、この誤差に応じて発生する電圧指令値Ｕｃｏｎｖの誤差を補正するのが好ましい。
【００４０】
そこで、本実施例では、モータドライバ７１が電流制限回路７１ａを備えることによって発生する次の現象を観測して、逆起電力定数Ｋｅを特定する。即ち、逆起電力定数Ｋｅの真値を推定する。図４には、逆起電力定数Ｋｅの特定原理を示す。
【００４１】
本実施例のモータドライバ７１には、電流制限回路７１ａが内蔵されているので、モータ４０を流れる電流Ｉがモータドライバ７１により上限値Ｉｍａｘに制限されるような一定の電圧指令値Ｕｃを、モータ４０が静止した状態からモータドライバ７１に対して入力し続けると、モータ４０の回転速度ωが上昇し、逆起電力Ｋｅ・ωが上昇することで、モータ４０を流れる電流Ｉが、図４（Ａ）に示すように、ある時点から電流制限回路７１ａによる制限から解放され、減少し始める。そして、電流Ｉの低下に伴って、モータトルクも減少し、加速度Ａも電流Ｉと同様に変化する。
【００４２】
図４（Ａ）に示す時刻［１］は、電流制限回路７１ａによって、モータ４０に流れる電流Ｉが上限値Ｉｍａｘに制限されている時刻である。このような状況では、図４（Ｂ）上段及び下段に示すように、モータドライバ７１に対して電圧指令値Ｕｃ＝Ｖ１，Ｖ２を入
力しても、モータ４０には、電流制限回路７１ａの働きによって、電圧指令値Ｕｃ未満の電圧が印加される。尚、図４（Ｂ）上段は、電圧指令値ＵｃとしてＶ１をモータドライバ７１に入力したときのモータ４０の電気抵抗Ｒによる電圧低下分とモータ４０に生じる逆起電力による電圧低下分との合算値を横幅で示したものであり、図４（Ａ）に対応する時刻［１］［２］［３］毎の値を示したものである。また、図４（Ｂ）下段は、電圧指令値ＵｃとしてＶ１より小さい値Ｖ２をモータドライバ７１に入力したときのモータ４０の電気抵抗Ｒによる電圧低下分とモータ４０に生じる逆起電力による電圧低下分との合算値を横幅で示したものであり、図４（Ａ）に対応する時刻［１］［２］［３］毎の値を示したものである。図４（Ｂ）に示すＩ，Ｉｍａｘは、モータ４０に流れる電流であり、特に、Ｉｍａｘは、電流制限回路７１ａによって制限される電流上限値であり、Ｋｅは、逆起電力定数であり、ω，ω１，ω２は、モータ４０の回転速度であり、特にω１，ω２は、時刻［２］でのモータ４０の回転速度ωである。
【００４３】
一方、図４（Ａ）に示す時刻［２］は、モータ４０の回転速度ωが上昇し、逆起電力Ｋｅ・ωが上昇することによって、モータ４０に実質的に印加される電圧（Ｕｃ−Ｋｅ・ω）が、モータ４０に電流Ｉｍａｘが流れるときのモータ４０の電気抵抗Ｒによる電圧低下分Ｒ・Ｉｍａｘに等しくなった時刻を示す。そして、図４（Ａ）に示す時刻［３］は、更にモータ４０の回転速度ωが上昇し、モータ４０に実質的に印加される電圧（Ｕｃ−Ｋｅ・ω）が、モータ４０に電流Ｉｍａｘが流れるときのモータ４０の電気抵抗Ｒによる電圧低下分Ｒ・Ｉｍａｘ未満となり、この現象によって、モータ４０には上限値Ｉｍａｘ未満の電流Ｉが流れるようになった時刻を示す。
【００４４】
図４（Ｂ）からも理解できるように、電圧指令値ＵｃとしてＶ１をモータドライバ７１に入力したときの時刻［２］でのモータ４０の回転速度ωを速度ω１とすると、次の等式Ｒ・Ｉｍａｘ＝Ｖ１−Ｋｅ・ω１が成立し、電圧指令値ＵｃとしてＶ２をモータドライバ７１に入力したときの時刻［２］でのモータ４０の回転速度ωを速度ω２とすると、次の等式Ｒ・Ｉｍａｘ＝Ｖ２−Ｋｅ・ω２が成立する。
【００４５】
従って、モータドライバ７１に入力される電圧指令値Ｖ１，Ｖ２と、モータ４０の回転速度ω１，ω２と、逆起電力定数Ｋｅとの間には、次の関係が成立する。
Ｋｅ＝（Ｖ１−Ｖ２）／（ω１−ω２）  …（１）
このような関係が成立することから、本実施例では、次の手順により、モータ４０の逆起電力定数Ｋｅを特定し、電圧指令値Ｕｃｏｎｖを補正する。
【００４６】
＜手順１＞モータドライバ７１に対して一定の電圧指令値Ｕｃが入力される期間であって、モータ４０を流れる電流Ｉがモータドライバ７１により上限値Ｉｍａｘに制限される第一の電圧指令値Ｕｃ＝Ｖ１がモータドライバに入力される第一の期間において、モータ４０の回転により生じる逆起電力の変化によりモータ４０を流れる電流Ｉが上限値Ｉｍａｘに制限された状態から上限値Ｉｍａｘ未満となる現象を検知し、検知された時点でのモータ４０の回転速度ωを、第一の回転速度ω１として記憶する。
【００４７】
＜手順２＞モータドライバ７１に対して第一の電圧指令値Ｖ１とは異なる一定の電圧指令値Ｕｃが入力される期間であって、モータ４０を流れる電流Ｉがモータドライバ７１により上限値Ｉｍａｘに制限される第二の電圧指令値Ｕｃ＝Ｖ２がモータドライバ７１に入力される第二の期間において、モータ４０の回転により生じる逆起電力の変化によりモータ４０を流れる電流Ｉが上限値Ｉｍａｘに制限された状態から上限値Ｉｍａｘ未満となる現象を検知し、検知された時点でのモータ４０の回転速度ωを、第二の回転速度ω２として記憶する。
【００４８】
＜手順３＞電圧指令値Ｖ１，Ｖ２及び回転速度ω１，ω２に基づいて、式（１）に従っ
て、逆起電力定数Ｋｅを特定する。
＜手順４＞設計段階で実験的に求めた電圧指令値Ｕｃｏｎｖ*（以下では、標準の電圧
指令値Ｕｃｏｎｖ*と表現する。）と、この標準の電圧指令値Ｕｃｏｎｖ*が前提とする逆起電力定数Ｋｅ*（以下では、標準の逆起電力定数Ｋｅ*と表現する。）と、手順３で特定した逆起電力定数Ｋｅと、フィードバック制御開始時の目標速度ωｒ＝ωｃと、に基づき、標準の電圧指令値Ｕｃｏｎｖ*を、次式に従う電圧指令値Ｕｃｏｎｖに補正する。
【００４９】
Ｕｃｏｎｖ＝Ｕｃｏｎｖ*−Ｋｅ*・ωｃ＋Ｋｅ・ωｃ  …（２）
本実施例では、このようにフィードバック制御に切り替えるタイミングを規定する電圧指令値を、標準の電圧指令値Ｕｃｏｎｖ*から実際の逆起電力定数Ｋｅに対応した値Ｕｃ
ｏｎｖに補正することにより、フィードバック制御開始初期の速度制御を高精度に実現できるようにする。更に付言すると、本実施例では、手順３で特定した逆起電力定数Ｋｅを、学習値として記憶保持することにより、このような逆起電力定数Ｋｅの特定結果を、活用できるようにする。
【００５０】
続いては、上述した逆起電力定数Ｋｅの特定機能及び電圧指令値Ｕｃｏｎｖの補正機能を有した本実施例のインクジェットプリンタ１の処理動作について説明する。
上述したように主制御装置９０は、モータ制御装置７０に駆動指令を入力して、キャリッジ１０を往復動させるが、キャリッジ１０を順方向に移動させる際には、図５（Ａ）に示す順方向搬送制御処理を実行して、モータ制御装置７０にモータ４０の制御を実行させ、これにより、キャリッジ１０の順方向への搬送制御を実現する。また、キャリッジ１０を逆方向に移動させる際には、図５（Ｂ）に示す逆方向搬送制御処理を実行して、モータ制御装置７０にモータ４０の制御を実行させ、これにより、キャリッジ１０の逆方向への搬送制御を実現する。
【００５１】
但し、キャリッジ１０のホームポジションは、順方向終点側に設定されているため、印刷指令が外部のパーソナルコンピュータから入力されると、主制御装置９０は、まず逆方向搬送制御処理を実行して、ホームポジションにあるキャリッジ１０を、順方向始点まで搬送する。その後、順方向搬送制御処理及び逆方向搬送制御処理を交互に実行し、キャリッジ１０を往復動させ、キャリッジ１０が順方向に移動する際には、印字制御装置８０に対して指令入力して、記録ヘッド２０にインク液滴と吐出させる。また、印刷指令に基づく画像形成完了時には、ホームポジションにキャリッジ１０を配置する。
【００５２】
順方向搬送制御処理を開始すると、主制御装置９０は、キャリッジ１０が順方向終点まで順方向に移動して停止するようなモータ制御をモータ制御装置７０に実行させるために必要な各種パラメータ値をモータ制御装置７０に設定する（Ｓ１１０）。ここで、モータ制御装置７０に設定するパラメータ値としては、初期電圧指令値Ｕｉｎｉ、閾値速度ωｃｈ、モータ４０の回転速度ωが閾値速度ωｃｈに到達して電圧指令値Ｕの漸次減少させる際の電圧指令値Ｕの減少幅Ｄ、定速時の目標速度ωｃ、標準の逆起電力定数Ｋｅ*、及び
、標準の電圧指令値Ｕｃｏｎｖ*等を挙げることができる。但し、標準の逆起電力定数Ｋ
ｅ*及び標準の電圧指令値Ｕｃｏｎｖ*については、設計段階で予め定められて主制御装置９０に登録（記憶）されるものとする。また、Ｓ１１０では、初期電圧指令値Ｕｉｎｉとして、モータドライバ７１に対して指定可能な電圧指令値の最大値Ｖ１、換言すれば、モータドライバ７１を介してモータ４０に印加可能な電圧範囲の上限値である上限電圧値を設定する。
【００５３】
また、この処理を終えると、主制御装置９０は、直前の逆方向搬送制御処理でモータ制御装置７０において「同定前処理」が実行されたか否かを判断し（Ｓ１２０）、「同定前処理」が実行されていないと判断すると（Ｓ１２０でＮｏ）、モータ制御装置７０の動作モードを「非同定処理」モードに設定し（Ｓ１３０）、モータ制御装置７０に対して駆動
指令を入力する（Ｓ１６０）。尚、本実施例のモータ制御装置７０は、動作モードとして「同定前処理」モード、「同定処理」モード、及び「非同定処理」モードを有する。「同定前処理」モード及び「同定処理」モードでは、モータ４０の逆起電力定数Ｋｅの特定に必要な処理を実行する。
【００５４】
一方、主制御装置９０は、直前の逆方向搬送制御処理でモータ制御装置７０において「同定前処理」が実行されたと判断すると（Ｓ１２０でＹｅｓ）、モータ制御装置７０の動作モードを「同定処理」モードに設定し（Ｓ１４０）、モータ制御装置７０に対して駆動指令を入力する（Ｓ１６０））。その後、順方向搬送制御処理を終了する。
【００５５】
また、逆方向搬送制御処理を開始すると、主制御装置９０は、モータ制御装置７０に、逆起電力定数Ｋｅの特定に必要な「同定前処理」を実行させるか否かを判断する（Ｓ２１０）。この「同定前処理」は、例えば、インクジェットプリンタ１の起動時にモータ制御装置７０に実行させることができる。この他、印刷指令の入力毎にモータ制御装置７０に実行させてもよい。即ち、Ｓ２１０では、インクジェットプリンタ１起動後、初回の逆方向搬送制御処理で肯定判断し、それ以外の回で否定判断することが一例として考えられる。この他、印刷指令が入力された後の初回の逆方向搬送制御処理で肯定判断し、それ以外の回で否定判断することが別例として考えられる。
【００５６】
そして、「同定前処理」を実行させると判断すると（Ｓ２１０でＹｅｓ）、主制御装置９０は、キャリッジ１０が順方向始点まで逆方向に移動して停止するようなモータ制御をモータ制御装置７０に実行させるために必要な各種パラメータ値であって「同定前処理」用のパラメータ値をモータ制御装置７０に設定する（Ｓ２２０）。ここでは、Ｓ１１０の説明で例示したようなパラメータの値を設定するが、「同定前処理」をモータ制御装置７０に実行させるために、初期電圧指令値Ｕｉｎｉとしては、値Ｖ１よりも小さい所定値Ｖ２を設定する（Ｓ２２０）。更に、Ｓ２２０の処理後には、モータ制御装置７０の動作モードを「同定前処理」モードに設定し（Ｓ２３０）、その後、モータ制御装置７０に駆動指令を入力する（Ｓ２６０）。尚、値Ｖ２については、設計者が値Ｖ１よりも小さい範囲で任意の値に定めることができる。
【００５７】
一方、「同定前処理」を実行させないと判断すると（Ｓ２１０でＮｏ）、主制御装置９０は、Ｓ２４０に移行し、キャリッジ１０が順方向始点まで逆方向に移動して停止するようなモータ制御をモータ制御装置７０に実行させるために必要な各種パラメータ値であって「同定前処理」を実行させない場合のパラメータ値をモータ制御装置７０に設定する。ここでは、初期電圧指令値Ｕｉｎｉとして、Ｓ１１０と同様の値Ｖ１を設定する（Ｓ２４０）。この後、モータ制御装置７０の動作モードを「非同定処理」モードに設定し（Ｓ２５０）、モータ制御装置７０に駆動指令を入力し（Ｓ２６０）、逆方向搬送制御処理を終了する。
【００５８】
即ち、主制御装置９０は、モータ制御装置７０を「非同定処理」モード及び「同定処理」モードで動作させる場合、初期電圧指令値Ｕｉｎｉを、モータドライバ７１に入力可能な最大値（上限電圧値）Ｖ１に設定するが、「同定前処理」モードで動作させる場合には、初期電圧指令値Ｕｉｎｉを、値Ｖ１よりも小さい値Ｖ２に設定する。
【００５９】
続いて、モータ制御装置７０のモータ制御ユニット７７が実行する処理を説明する。モータ制御ユニット７７は、主制御装置９０から駆動指令が入力されると、駆動指令の入力時に設定された各種パラメータの値に従って、図６に示すモータ制御処理を、制御終了通知（Ｓ３９５参照）を主制御装置９０に入力するまで、制御周期毎に繰返し実行する。
【００６０】
このモータ制御処理を開始すると、モータ制御ユニット７７は、まず前回のモータ制御
処理で設定された電圧指令値Ｕをモータドライバ７１に入力し（Ｓ３１０）、更には、位置検出器７３からモータ４０の回転位置Ｘの情報を取得し、速度検出器７５からモータ４０の回転速度ωの情報を取得する（Ｓ３１５）。但し、駆動指令が入力された直後の初回のモータ制御処理におけるＳ３１０では、主制御装置９０から設定された初期電圧指令値Ｕｉｎｉをモータドライバ７１に入力する。その後、モータ制御ユニット７７は、モータ４０の停止条件が満足されたか否かを判断し（Ｓ３２０）、停止条件が満足されたと判断すると（Ｓ３２０でＹｅｓ）、Ｓ３８０に移行し、停止条件が満足されていないと判断すると（Ｓ３２０でＮｏ）、Ｓ３３０に移行する。
【００６１】
Ｓ３３０に移行すると、モータ制御ユニット７７は、自己が備える記憶部７７ａに、学習済の逆起電力定数Ｋｅが記憶されているか否かを判断し（後述するＳ７６０（図８（Ｂ）参照）、学習済の逆起電力定数Ｋｅが記憶されていないと判断すると（Ｓ３３０でＮｏ）、フィードバック制御への切替タイミングを規定する電圧指令値Ｕｃｏｎｖを、標準の電圧指令値Ｕｃｏｎｖ*に設定した後（Ｓ３３３）、Ｓ３４０に移行する。一方、学習済
の逆起電力定数Ｋｅが記憶されていると判断すると（Ｓ３３０でＹｅｓ）、電圧指令値Ｕｃｏｎｖを、標準の電圧指令値Ｕｃｏｎｖ*、標準の起電力定数Ｋｅ*、目標速度ωｃ、及び、記憶部７７ａに記憶されている学習値としての逆起電力定数Ｋｅを用いて、次式に従い設定する（Ｓ３３７）。
【００６２】
Ｕｃｏｎｖ＝Ｕｃｏｎｖ*−Ｋｅ*・ωｃ＋Ｋｅ・ωｃ  …（３）
即ち、Ｓ３３７では、標準の電圧指令値Ｕｃｏｎｖ*が前提とする逆起電力定数Ｋｅ*と学習された逆起電力定数Ｋｅとの偏差（Ｋｅ*−Ｋｅ）に対応する量｛−（Ｋｅ*−Ｋｅ）・ωｃ｝、標準の電圧指令値Ｕｃｏｎｖ*を補正して、モータ４０の逆起電力定数Ｋｅに
対応する電圧指令値Ｕｃｏｎｖを設定する。換言すれば、ここでは、電圧指令値Ｕｃｏｎｖ*の逆起電力を考慮しない基本値｛Ｕｃｏｎｖ*−Ｋｅ*・ωｃ｝を、学習された逆起電
力定数Ｋｅに対応する量、即ち、逆起電力定数Ｋｅ及び目標速度ωｃから推定される逆起電力Ｋｅ・ωｃだけ補正して、モータ４０の逆起電力定数Ｋｅに対応する電圧指令値Ｕｃｏｎｖを設定する。その後、Ｓ３４０に移行する。但し、Ｓ３３３とＳ３３７の処理は、当然ではあるが、制御周期毎に毎回行う必要はない。即ち、モータ制御処理が開始された１回目の処理のみ行ってＵｃｏｎｖを記憶保持すればよい。
【００６３】
Ｓ３４０に移行すると、モータ制御ユニット７７は、現在モータドライバ７１に入力されている電圧指令値Ｕが、Ｓ３３０で設定された電圧指令値Ｕｃｏｎｖ以下であるか否かを判断し、モータドライバ７１に入力されている電圧指令値Ｕが値Ｕｃｏｎｖ以下ではないと判断すると（Ｓ３４０でＮｏ）、Ｓ３５０に移行する。一方、モータドライバ７１に入力されている電圧指令値Ｕが値Ｕｃｏｎｖ以下であると判断すると（Ｓ３４０でＹｅｓ）、フラグＦ０を値１に設定した後に（Ｓ３４５）、図１０（Ａ）に示すＦＢ駆動演算処理を実行することによって（Ｓ３７０）、フィードバック制御に基づく電圧指令値Ｕを算出し、算出値を次回の制御周期でモータドライバ７１に入力する電圧指令値Ｕに設定する（詳細後述）。その後、今回のモータ制御処理を終了する。尚、電圧指令値Ｕｃｏｎｖは、上述したように初期電圧指令値Ｕｉｎｉよりも小さい値に設定される。また、フラグＦ０及び後述するフラグＦ１〜Ｆ４は、駆動指令の入力時に全て値ゼロに初期化される。
【００６４】
一方、Ｓ３５０に移行すると、モータ制御ユニット７７は、フラグＦ０が値１であるか否かを判断し、フラグＦ０が値１であると判断すると（Ｓ３５０でＹｅｓ）、Ｓ３７０に移行してＦＢ駆動演算処理を実行する一方、フラグＦ０が値１ではないと判断すると（Ｓ３５０でＮｏ）、Ｓ３６０に移行して図７に示すＦＦ駆動演算処理を実行する。これによって、次回の制御周期でモータドライバ７１に入力する電圧指令値Ｕを更新設定する。具体的に、ＦＦ駆動演算処理では、モータ４０の回転速度ωが閾値速度ωｃｈに到達するまで、次回の制御周期でモータドライバ７１に入力する電圧指令値Ｕを初期電圧指令値Ｕｉ
ｎｉに設定し、モータ４０の回転速度ωが閾値速度ωｃｈ以上となると、モータドライバ７１に入力する電圧指令値Ｕを制御周期毎に一定量ずつ減算した値に設定する。その後、モータ制御処理を終了する。尚、ＦＦ駆動演算処理による電圧指令値Ｕの更新設定により、モータドライバ７１に入力される電圧指令値Ｕは、初期電圧指令値Ｕｉｎｉから漸次減少し、これによってＳ３４０で肯定判断される時期が到来する。そして、Ｓ３４０で一旦肯定判断されると、フラグＦ０が値１に設定されることから、以後においては、電圧指令値Ｕに依らず、ＦＢ駆動演算処理（Ｓ３７０）が実行される。そして、このような制御周期毎のＦＢ駆動演算処理（Ｓ３７０）の実行により、定速制御及び減速制御を含むモータ４０の速度制御が実行され、減速制御が完了するとＳ３２０で肯定判断がなされる。
【００６５】
モータ制御ユニット７７は、Ｓ３２０で肯定判断して、Ｓ３８０に移行すると、次回の制御周期でモータドライバ７１に入力する電圧指令値Ｕを値ゼロに設定して、モータ４０の停止制御を行う。そして、モータ４０が停止したか否かを判断し（Ｓ３９０）、モータ４０が停止していないと判断した場合には（Ｓ３９０でＮｏ）、今回のモータ制御処理を終了するが、制御周期毎のモータ制御処理については継続し、モータ４０が停止したと判断すると（Ｓ３９０でＹｅｓ）、制御終了通知を主制御装置９０に入力して（Ｓ３９５）、モータ制御処理の制御周期毎の実行を終了する。尚、Ｓ３９０では、位置検出器７３から得られるモータ４０の回転位置Ｘが所定時間変化しないことを条件に肯定判断することができる。
【００６６】
続いて、モータ制御ユニット７７が、Ｓ３６０で実行するＦＦ駆動演算処理の詳細を説明する。図７に示すＦＦ駆動演算処理を開始すると、モータ制御ユニット７７は、今回のＳ３１５で取得したモータ４０の回転速度ω、即ち、現在時刻ｔでのモータ４０の回転速度ωが閾値速度ωｃｈ以上であるか否かを判断する（Ｓ５１０）。そして、この回転速度ωが閾値速度ωｃｈ以上であると判断すると（Ｓ５１０でＹｅｓ）、Ｓ５７０に移行し、閾値速度ωｃｈ未満であると判断すると（Ｓ５１０でＮｏ）、Ｓ５２０に移行する。
【００６７】
Ｓ５２０に移行すると、モータ制御ユニット７７は、主制御装置９０から設定された動作モードが「同定前処理」モードであるか否かを判断する。そして、動作モードが「同定前処理」モードであると判断すると（Ｓ５２０でＹｅｓ）、Ｓ５４０に移行し、図８（Ａ）に示す同定前処理を実行した後、Ｓ５６０に移行する。一方、モータ制御ユニット７７は、動作モードが「同定前処理」モードではないと判断すると（Ｓ５２０でＮｏ）、動作モードが「同定処理」モードであるか否かを判断し（Ｓ５３０）、「同定処理」モードであると判断すると（Ｓ５３０でＹｅｓ）、図８（Ｂ）に示す同定処理を実行した後（Ｓ５５０）、Ｓ５６０に移行する。この他、動作モードが「同定処理」モードではない（即ち、「非同定処理」モードである）と判断すると（Ｓ５３０でＮｏ）、モータ制御ユニット７７は、Ｓ５４０，Ｓ５５０の処理を実行せずにＳ５６０に移行する。そして、Ｓ５６０では、次回の制御周期でモータドライバ７１に入力する電圧指令値Ｕを初期電圧指令値Ｕｉｎｉに設定し、ＦＦ駆動演算処理を終了する。
【００６８】
一方、Ｓ５７０に移行すると、モータ制御ユニット７７は、フラグＦ１が値１であるか否かを判断する。そして、フラグＦ１が値１であると判断すると（Ｓ５７０でＹｅｓ）、Ｓ５９０に移行し、フラグＦ１が値１ではないと判断すると（Ｓ５７０でＮｏ）、Ｓ５８０に移行する。そして、Ｓ５８０では、フラグＦ１を値１に設定し、続くＳ５８５では、現在時刻ｔを、基準時刻Ｔｃｈとして記憶保持する（Ｓ５８５）。その後、Ｓ５９０に移行する。また、Ｓ５９０に移行すると、モータ制御ユニット７７は、初期電圧指令値Ｕｉｎｉから、｛Ｄ・（ｔ−Ｔｃｈ）｝減算した値｛Ｕｉｎｉ−Ｄ・（ｔ−Ｔｃｈ）｝を、次回の制御周期でモータドライバ７１に入力する電圧指令値Ｕに設定し、ＦＦ駆動演算処理を終了する。
【００６９】
続いて、モータ制御ユニット７７がＳ５４０で実行する同定前処理を、図８（Ａ）を用いて説明する。図８（Ａ）に示す同定前処理を開始すると、モータ制御ユニット７７は、図９（Ａ）に示す加速度低下判定処理を実行することにより、モータ４０を流れる電流Ｉが上限値Ｉｍａｘから減少し、モータ４０の加速度Ａが低下し始めたか否かを判定する。上述したように、電流Ｉが減少すれば、モータトルクが減少するのでモータ４０の加速度Ａが低下する。本実施例では、この加速度低下判定処理によって、モータ４０の回転により生じる逆起電力の変化によりモータ４０を流れる電流Ｉが上限値Ｉｍａｘに制限された状態から上限値未満となる現象を検知する。
【００７０】
そして、加速度低下判定処理でモータ４０の加速度Ａが低下し始めたと判定されなかった場合には（Ｓ６２０でＮｏ）、Ｓ６３０〜Ｓ６５０の処理を実行せずに、同定前処理を終了する。一方、加速定低下判定処理でモータ４０の加速度Ａが低下し始めたと判定されると（Ｓ６２０でＹｅｓ）、フラグＦ２が値１であるか否かを判断する（Ｓ６３０）。
【００７１】
そして、フラグＦ２が値１であると判断すると（Ｓ６３０でＹｅｓ）、Ｓ６４０，Ｓ６５０の処理を実行せずに、当該同定前処理を終了し、フラグＦ２が値１ではないと判断すると（Ｓ６３０でＮｏ）、フラグＦ２を値１に設定した後に（Ｓ６４０）、Ｓ６５０に移行する。Ｓ６５０では、逆起電力定数Ｋｅを特定するための前段階の処理として、今回のモータ制御処理のＳ３１５で取得した現在時刻ｔでのモータ４０の回転速度ωを、回転速度ωｑとして記憶し、現在時刻ｔでモータドライバ７１に入力されている電圧指令値Ｕ＝Ｕｉｎｉを、電圧指令値Ｖｑとして記憶する（Ｓ６５０）。その後、当該同定前処理を終了する。
【００７２】
続いて、モータ制御ユニット７７がＳ５５０で実行する同定処理を説明する。図８（Ｂ）に示す同定処理を開始すると、モータ制御ユニット７７は、同定前処理と同様、Ｓ７１０で図９（Ａ）に示す加速度低下判定処理を実行することにより、モータ４０の加速度Ａが低下し始めたか否かを判定する。そして、加速度低下判定処理でモータ４０の加速度Ａが低下し始めたと判定されなかった場合には（Ｓ７２０でＮｏ）、Ｓ７３０〜Ｓ７６０の処理を実行せずに、当該同定処理を終了する。
【００７３】
一方、加速度低下判定処理でモータ４０の加速度Ａが低下し始めたと判定されると（Ｓ７２０でＹｅｓ）、フラグＦ３が値１であるか否かを判断し（Ｓ７３０）、フラグＦ３が値１であると判断すると（Ｓ７３０でＹｅｓ）、Ｓ７４０〜Ｓ７６０の処理を実行せずに、同定処理を終了する。一方、フラグＦ３が値１ではないと判断すると（Ｓ７３０でＮｏ）、フラグＦ３を値１に設定した後（Ｓ７４０）、今回のモータ制御処理のＳ３１５で取得した現在時刻ｔでのモータ４０の回転速度ωを、回転速度ωｐとして記憶保持し、現在時刻ｔでモータドライバ７１に入力されている電圧指令値Ｕ＝Ｕｉｎｉを、電圧指令値Ｖｐとして記憶保持する（Ｓ７５０）。その後、既に同定前処理で記憶部７７ａに記憶保持したωｑ，Ｖｑと、今回記憶保持したωｐ，Ｖｐと、に基づいて、モータ４０の逆起電力定数Ｋｅを式Ｋｅ＝（Ｖｐ−Ｖｑ）／（ωｐ−ωｑ）に従って算出し、この逆起電力定数Ｋｅを学習値として記憶部７７ａに記憶保持する（Ｓ７６０）。その後、当該同定処理を終了する。但し、逆起電力定数Ｋｅを記憶保持する代わりに、ωｑ，Ｖｑ，ωｐ，Ｖｐを記憶保持し、これらの値に基づいてＳ３３７にて電圧指令値Ｕｃｏｎｖを算出してもよい。
【００７４】
続いて、モータ制御ユニット７７がＳ６１０，Ｓ７１０で実行する加速度低下判定処理について説明する。図９（Ａ）に示す加速度低下判定処理を開始すると、モータ制御ユニット７７は、予め定められたピーク検出開始時刻Ｔｓｈが到来したか否かを判断し（Ｓ８１０）、ピーク検出開始時刻Ｔｓｈが到来していないと判断すると（Ｓ８１０でＮｏ）、Ｓ８６０に移行し、モータ４０の加速度Ａが未だ低下し始めていないと判定した後（「非
低下開始」判定）、加速度低下判定処理を終了する。一方、ピーク検出開始時刻Ｔｓｈが到来したと判断すると（Ｓ８１０でＹｅｓ）、現在時刻ｔでのモータ４０の回転速度ωがピーク検出終了速度ωｓｈ以上であるか否かを判断する（Ｓ８２０）。そして、回転速度ωがピーク検出終了速度ωｓｈ未満であると判断すると（Ｓ８２０でＮｏ）、Ｓ８３０に移行し、モータ４０の回転速度ωがピーク検出終了速度ωｓｈ以上であると判断すると（Ｓ８２０でＹｅｓ）、Ｓ８５０に移行する。尚、ピーク検出終了速度ωｓｈは、上述した閾値速度ωｃｈ未満の値として設計段階で定められる。具体的に、ピーク検出終了速度ωｓｈは、逆起電力定数Ｋｅの想定範囲内でモータ４０を流れる電流Ｉが上限値Ｉｍａｘ以下となる時点でのモータの回転速度ωの最小値よりも低い速度に、予め設計者が定め、主制御装置９０に記憶させることができる。そして、主制御装置９０は、Ｓ１１０，Ｓ２２０で、これをモータ制御装置７０に設定する構成にすることができる。
【００７５】
Ｓ８３０に移行すると、モータ制御ユニット７７は、モータ４０の現在時刻ｔでの加速度Ａが加速度ピークＡｐｋ以上であるか否かを判断する。尚、加速度ピークＡｐｋは、主制御装置９０からの駆動指令入力時に装置構成上設定できる最大値に初期化される。また、モータ４０の加速度Ａは、今回のＳ３１５で取得したモータ４０の回転速度ωと、前回のＳ３１５で取得したモータ４０の回転速度との偏差δωを、モータ制御処理の実行間隔（制御周期）Ｔｓで除算することにより求めることができる。
【００７６】
そして、加速度Ａが加速度ピークＡｐｋ未満であると判断すると（Ｓ８３０でＮｏ）、この加速度Ａを加速度ピークＡｐｋに設定した後（Ｓ８４０）、Ｓ８６０に移行し、現在の加速度Ａが加速度ピークＡｐｋ以上であると判断すると（Ｓ８３０でＹｅｓ）、Ｓ８４０の処理を実行せずにＳ８６０に移行する。そして、Ｓ８６０では、モータ４０の加速度Ａが未だ低下し始めていないと判定する。その後、加速度低下判定処理を終了する。
【００７７】
一方、回転速度ωがピーク検出終了速度ωｓｈに到達してＳ８５０に移行すると、モータ制御ユニット７７は、モータ４０の現在時刻ｔでの加速度Ａが加速度ピークＡｐｋ未満であるか否かを判断する。そして、加速度Ａが加速度ピークＡｐｋ以上であると判断すると（Ｓ８５０でＮｏ）、モータ４０の加速度Ａが未だ低下し始めていないと判定し（Ｓ８６０）、モータ４０の加速度Ａが加速度ピークＡｐｋ未満であると判断すると（Ｓ８５０でＹｅｓ）、Ｓ８７０に移行して、モータ４０の加速度Ａが低下し始めたと判定する（「低下開始」判定）。その後、当該加速度低下判定処理を終了する。
【００７８】
このようにして、モータ制御ユニット７７は、図９（Ｂ）に示すピーク検出開始時刻Ｔｓｈからモータの回転速度ωがピーク検出終了速度ωｓｈに到達するまでの区間における加速度Ａの最小値を加速度ピークＡｐｋとして検出し、モータ４０の加速度Ａが、この加速度ピークＡｐｋ未満となった時点で、モータ４０の加速度Ａが低下し始めたと判定して、Ｓ６３０〜Ｓ６５０の処理又はＳ７３０〜Ｓ７６０の処理を実行する。この構成により、駆動開始初期の加速度の変動を避けた加速度ピークＡｐｋを設定でき、精度良く加速度の低下を判定することができる。
【００７９】
続いて、モータ制御ユニット７７が、Ｓ３７０で実行するＦＢ駆動演算処理について説明する。図１０（Ａ）に示すＦＢ駆動演算処理を開始すると、モータ制御ユニット７７は、フラグＦ４が値１であるか否かを判断し（Ｓ９１０）、フラグＦ４が値１であると判断すると（Ｓ９１０でＹｅｓ）、変数Ｕｉ＿Ｌに、前回のＦＢ駆動演算処理で算出された電圧指令値Ｕの積分要素Ｕｉを設定した後（Ｓ９４０）、Ｓ９５０に移行する。一方、フラグＦ４が値１ではないと判断すると（Ｓ９１０でＮｏ）、フラグＦ４を値１に変更した後（Ｓ９２０）、変数Ｕｉ＿Ｌを、値｛Ｕｃｏｎｖ−Ｋｉ・（ωｃ−ω）・Ｔｓ｝に設定し（Ｓ９３０）、Ｓ９５０に移行する。尚、Ｋｉは、予め定められた積分ゲインであり、Ｔｓは、制御周期であり、ωｃは、フィードバック制御開始時の目標速度（定速時の目標速
度）であり、ωは、現在のモータ４０の回転速度である。
【００８０】
また、Ｓ９５０に移行すると、モータ制御ユニット７７は、主制御装置９０のＳ１１０，Ｓ２２０，Ｓ２４０で設定されるパラメータ値によって定義される目標速度ωｒの軌跡に従って、現在時刻ｔでの目標速度ωｒを設定する。尚、Ｓ９１０で否定判断される初回のＦＢ駆動演算処理での目標速度ωｒは、図１０（Ｂ）に示すように定速時の目標速度ωｃである。
【００８１】
その後、モータ制御ユニット７７は、次回の制御周期でモータドライバ７１に設定する電圧指令値Ｕの比例要素Ｕｐを、目標速度ωｒと現在時刻ｔのモータ４０の回転速度ωとの偏差（ωｒ−ω）と、比例ゲインＫｐとを用いて、式Ｕｐ＝Ｋｐ（ωｒ−ω）に従って算出する（Ｓ９６０）。
【００８２】
また、モータ制御ユニット７７は、次回の制御周期でモータドライバ７１に設定する電圧指令値Ｕの積分要素Ｕｉを、積分要素Ｕｉの前回値が設定される変数Ｕｉ＿Ｌの値と、積分ゲインＫｉと、偏差（ωｒ−ω）と、制御周期Ｔｓとに基づいて、式Ｕｉ＝Ｕｉ＿Ｌ＋Ｋｉ・（ωｒ−ω）・Ｔｓに従って算出する（Ｓ９７０）。尚、フィードバック制御開始時刻でのＵｉ＿Ｌは、Ｓ９３０で設定される値｛Ｕｃｏｎｖ−Ｋｉ・（ωｃ−ω）・Ｔｓ｝である一方、目標速度ωｒは、ωｃに等しいので、結果的に、フィードバック制御開始時のＵｉは、このＦＢ駆動演算処理を実行する契機となった電圧指令値Ｕｃｏｎｖに一致する。
【００８３】
その後、モータ制御ユニット７７は、次回の制御周期でモータドライバ７１に入力する電圧指令値Ｕを、比例要素及び積分要素の合算値Ｕｐ＋Ｕｉに設定して（Ｓ９８０）、ＦＢ駆動演算処理を終了する。モータ制御ユニット７７は、このように電圧指令値Ｕを演算することにより、モータ４０の回転速度ωを、ＰＩ（比例積分）制御し、モータ４０の回転速度ωを図１０（Ｂ）に示す目標速度ωｒに沿って変化させる。
【００８４】
以上、本実施例のインクジェットプリンタ１について説明したが、本実施例によれば、モータ４０の駆動初期においてモータドライバ７１の上限電圧値Ｖ１に対応する電圧指令値Ｕ＝Ｖ１を入力するので、モータ４０及びキャリッジ１０をモータ４０の最大能力相当で迅速に加速させることができる。また、フィードバック制御を行うに先立っては、電圧指令値Ｕを値Ｖ１から漸次減少させることで、モータ４０及びキャリッジ１０の加速を抑えるので、フィードバック制御の開始時に速度制御が不安定になるのを抑えることができる。従って、本実施例のインクジェットプリンタ１によれば、モータ４０及びキャリッジ１０の加速を迅速に行いつつ、加速後の速度制御を高精度に行うことができる。尚、本実施例では、電圧指令値Ｕを一定の減少幅Ｄとして漸次減少させていたが、単調減少するよう設定されれば、他の関数を用いて減少させてもよい。
【００８５】
また、本実施例によれば、フィードバック制御に切り替えるタイミングを規定する電圧指令値Ｕｃｏｎｖを、フィードバック制御の開始時の目標速度ωｒ＝ωｃ及び目標加速度Ａｒ＝０に対応した電圧指令値であって、実験的に求めたモータ制御を安定的にフィードバック制御に切替可能な電圧指令値Ｕｃｏｎｖ*に対応した値に設定するので、フィード
バック制御への切替直後から精度よくモータ４０及びキャリッジ１０の速度制御を実行することができる。従って、本実施例によれば、フィードバック制御へ切替後のインク液滴の吐出動作の際に、制御誤差によってインク液滴の着弾点にずれが生じるのを抑えることができ、用紙Ｑに高品質な画像を形成することができる。
【００８６】
更に、本実施例によれば、モータ４０の逆起電力定数Ｋｅを特定して、電圧指令値Ｕｃｏｎｖ*を、この電圧指令値Ｕｃｏｎｖ*が前提とする逆起電力定数Ｋｅ*と上記特定した
逆起電力定数Ｋｅとの誤差に応じた量補正し、電圧指令値Ｕｃｏｎｖを設定する。従って、本実施例のインクジェットプリンタ１によれば、逆起電力定数Ｋｅの誤差による影響を抑えて、良好にモータ制御をフィードバック制御に切り替えることができる。従って、本実施例によれば、モータ４０及びキャリッジ１０の加速を迅速に行いつつ、一層高品質な画像を用紙Ｑに形成することができる。
【００８７】
尚、本実施例の主制御装置９０がＳ１１０で初期電圧指令値Ｕｉｎｉ＝Ｖ１を設定する処理及びモータ制御ユニット７７が実行するＳ３１０の処理及びＦＦ駆動演算処理のＳ５２０〜５５０を除く処理は、第一制御手段によって実現される処理の一例に対応する。
また、モータ制御ユニット７７が実行するＳ３１０及びＦＢ駆動演算処理は、第二制御手段によって実現される処理の一例に対応し、モータ制御ユニット７７が実行するＳ３４０〜Ｓ３５０の処理は、切替手段によって実現される処理の一例に対応し、モータ制御ユニット７７が実行するＳ３３０〜Ｓ３３７の処理は、設定手段によって実現される処理の一例に対応する。
【００８８】
この他、モータ制御ユニット７７が実行するＳ６１０，Ｓ６５０，Ｓ７１０，Ｓ７５０，Ｓ７６０の処理、同定前処理モードで実行されるモータ制御処理、及び、主制御装置９０がＳ２２０で初期電圧指令値Ｕｉｎｉ＝Ｖ２に設定する処理は、推定手段によって実現される処理の一例に対応する。また、モータ制御ユニット７７が、インクジェットプリンタ１の起動後初回の逆方向搬送制御処理にて同定前処理を実行する動作は、推定手段が第一制御手段及び第二制御手段の非動作時であるモータ制御装置の起動時に回転速度ω２を記憶する動作の一例に対応する。
【００８９】
また、本発明は、上記実施例に限定されるものではなく、種々の態様を採ることができる。例えば、上記実施例では、エンコーダ５０として、ロータリエンコーダを用いてモータ４０の回転位置Ｘ及び回転速度ωを検出し、この検出値に基づいたモータ４０の速度制御を行うようにしたが、インクジェットプリンタ１は、エンコーダ５０としてリニアエンコーダを用いてキャリッジ１０の位置及び速度を検出し、この検出値に基づいたキャリッジ１０の速度制御を行ってもよい。キャリッジ１０の速度とモータ４０の回転速度ωは、その尺度が異なる程度のものであるため、逆起電力の算出や電圧指令値Ｕｃｏｎｖの算出は、回転速度ωに代えてキャリッジ１０の速度を用いて、上記実施例と同様に行うことができる。
【符号の説明】
【００９０】
１…インクジェットプリンタ、１０…キャリッジ、２０…記録ヘッド、３０…ガイドレール、３１…ベルト、３３…駆動プーリ、３４…従動プーリ、４０…モータ、５０…エンコーダ、７０…モータ制御装置、７１…モータドライバ、７１ａ…電流制限回路、７３…位置検出器、７５…速度検出器、７７…モータ制御ユニット、７７ａ…記憶部、８０…印字制御装置、９０…主制御装置
【図１】
0005834729.tif 000002
【図２】
0005834729.tif 000003
【図３】
0005834729.tif 000004
【図４】
0005834729.tif 000005
【図５】
0005834729.tif 000006
【図６】
0005834729.tif 000007
【図７】
0005834729.tif 000008
【図８】
0005834729.tif 000009
【図９】
0005834729.tif 000010
【図１０】
0005834729.tif 000011