(57)【特許請求の範囲】
【請求項１】
モータを動力源として使用して機構を駆動する機器におけるモータの制御方法であって、
前記モータに所定の速度指令値を与え、速度サーボにより前記機構を駆動する予備駆動工程と、
前記予備駆動工程において、前記機構の駆動を監視して、前記モータへ出力する電流値に対応する積分補償量を算出するパラメータ算出工程と、
時間と位置との関係を示す位置プロファイルと、時間と速度との関係を示す速度プロファイルとを作成するプロファイル作成工程と、
前記機構の駆動を少なくとも加速領域、減速領域、及び位置決め領域に分け、前記加速領域、前記減速領域においては前記位置プロファイルに従った位置サーボにより前記機構を駆動し、前記位置決め領域においては前記速度プロファイルに従った速度サーボにより前記機構を駆動する制御工程とを有し、
前記パラメータ算出工程で算出した前記積分補償量を、前記加速領域における駆動制御に用いる積分補償量の初期値とすることを特徴とするモータの制御方法。
【請求項２】
モータを動力源として使用して機構を駆動する機器におけるモータの制御装置であって、
前記モータに所定の速度指令値を与え、速度サーボにより前記機構を駆動する予備駆動手段と、
前記予備駆動手段による駆動中に、前記機構の駆動を監視して、前記モータへ出力する電流値に対応する積分補償量を算出するパラメータ算出手段と、
時間と位置との関係を示す位置プロファイルと、時間と速度との関係を示す速度プロファイルとを作成するプロファイル作成手段と、
前記機構の駆動を少なくとも加速領域、減速領域、及び位置決め領域に分け、前記加速領域、前記減速領域においては前記位置プロファイルに従った位置サーボにより前記機構を駆動し、前記位置決め領域においては前記速度プロファイルに従った速度サーボにより前記機構を駆動する制御手段とを有し、
前記パラメータ算出手段で算出した前記積分補償量を前記加速領域における駆動制御に用いる積分補償量の初期値とすることを特徴とするモータの制御装置。
【請求項３】
前記所定の速度指令値は、前記位置決め領域における速度指令値であることを特徴とする請求項２に記載のモータの制御装置。
【請求項４】
前記モータはＤＣモータであり、前記機構の駆動に応じた信号を出力するエンコーダを備えることを特徴とする請求項２または３に記載のモータの制御装置。
【請求項５】
前記パラメータ算出手段は、前記速度プロファイル、前記機構の速度、及び積分ゲインを用いて前記積分補償量を算出することを特徴とする請求項４に記載のモータの制御装置。
【請求項６】
前記パラメータ算出手段は、前記予備駆動手段による駆動の所定期間内に得られた積分補償量を用いて前記初期値を算出することを特徴とする請求項４に記載のモータの制御装置。
【請求項７】
請求項２から６のいずれか１項に記載のモータの制御装置を備えたことを特徴とする電子機器。
【請求項８】
請求項２から６のいずれか１項に記載のモータの制御装置を記録媒体の搬送に使用することを特徴とする記録装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はモータの制御のための方法及び装置に関し、特に、モータを動力源として使用して機構を駆動する際の制御に関する。
【０００２】
【従来の技術】
現在、様々な装置の動力源としてモータが使用されており、特にＤＣモータは、構造が簡単でメンテナンスが不要、回転ムラや振動が少ない、高速化や高精度な制御が可能であるなどの理由で、ＯＡ機器や家庭用電化製品などに数多く使用されている。
【０００３】
近年、プリンタにおいては、一般民生用プリンタは家庭で使用される割合が高いため、画像品位の向上と共に、稼動音の低下が望まれている。稼働時に発生される騒音（ノイズ）としては、記録時に発生するものと機構部分の駆動時に発生するものとがあるが、記録時の騒音発生源の少ないインクジェット記録装置においては、機構部分の駆動時に発生する騒音を低下することとなる。
【０００４】
インクジェット記録装置の主な機構部分としては、記録ヘッドの走査機構と記録媒体の搬送機構とがあるが、記録ヘッドの走査機構の駆動手段として、ＤＣモータとリニアエンコーダを使用して低騒音化を実現している。今日では、これに加え、記録媒体の搬送機構の駆動手段としてもＤＣモータとロータリーエンコーダが採用される場合が増えている。
【０００５】
低騒音化の観点からは、ＤＣモータを採用することにより効果が期待できるが、記録媒体搬送の高精度化の観点からは、機械的精度に加え、より高度な位置制御が必要となる。
【０００６】
ＤＣモータの位置制御方法としては、基本的には目標となる位置にローラの回転（角度）が到達した時にモータの電源をＯＦＦにして惰性で停止させる方法が一般的である。
【０００７】
ＤＣモータを使用した機構において停止位置の精度を確保するためには、停止前速度の低速化と停止前外乱トルクの排除、すなわち停止直前の低速運転の安定化が必要不可欠であり、充分に遅い一定速度となった状態でモータの電源をＯＦＦすることにより、停止までの制定時間及び停止位置の精度を安定させることができる。
【０００８】
停止直前の速度を安定させるためには、更にそれ以前の制御の安定が求められる。従って、制御開始直後すなわち動き始めの時点から、安定した制御を実現することが望ましい。
【０００９】
【発明が解決しようとする課題】
しかしながら、記録媒体の搬送機構においては、材質やサイズの異なる多種多様な記録媒体を安定して搬送する必要があり、ある程度の大きさの負荷を想定して設計される。このような物体を動かすためには、静止摩擦力に打ち勝って動き出すための力を加えてやらなければならない。
【００１０】
一方、フィードバック制御の手法としては一般的にＰＩＤ制御が知られているが、この手法においては積分処理が行われており、これにより算出される過渡変数（以下、積分補償量と呼ぶ）の大きさは、最終的な計算結果となる出力電流の大きさと密接に関連している。積分補償量は、時間が進むに従って変化していく値であり、この初期値を０とした場合には、実際に記録媒体を始動させるまでに、上記静止摩擦力に打ち勝つための駆動力が得られる出力電流に相当する積分補償量値に達するまでの時間を要してしまうことになる。
【００１１】
更に、上述のように記録媒体には様々な種類があり、搬送機構自体の動作の際に生じる摩擦力も個々に異なるため、実際に記録媒体を始動させるために必要な出力電流に相当する積分補償量も様々な値となる。すなわち、該初期値を０とした場合、記録媒体の動き出しの時間が遅くなると共に、動き出しの時間がばらつくという問題が生じ、制御全体の安定性を損なうことになる。
【００１２】
これを解決するためには、上記の初期値として予め適切な値を設定することが望ましい。ところが初期値は上述のようにプリンタ個々の搬送機構の動作の際に生じる摩擦力のばらつき、使用する環境による変化等の要因により、一意的に設定することが大変困難な値である。
【００１３】
従って、一つの製品に対し、初期値として単一の固定値を設定してしまうと、上記のような要因により、初期値が搬送する記録媒体に対して大きすぎたり小さすぎたりする場合が生じる。初期値が最適値よりも大きすぎる場合には、加速時に速度のオーバーシュートを引き起こして制御が安定しなくなってしまう。一方、初期値が最適値よりも小さすぎる場合には、初期値０の場合と同様に、記録媒体の動き出しの時間が遅くなると共に、動き出しの時間がばらつくという問題が生じる。
【００１４】
本発明は以上のような状況に鑑みて成されたものであり、制御対象物及び機構部分の摩擦力の個体差や使用環境の差異にかかわらず、高速かつ高精度な位置制御を可能とするモータの制御のための方法及び装置を提供することを目的とする。
【００１５】
【課題を解決するための手段】
上記目的を達成するために本発明のモータ制御方法は、モータを動力源として使用して機構を駆動する機器におけるモータの制御方法であって、前記モータに所定の速度指令値を与え、速度サーボにより前記機構を駆動する予備駆動工程と、前記予備駆動工程において、前記機構の駆動を監視して、前記モータへ出力する電流値に対応する積分補償量を算出するパラメータ算出工程と、時間と位置との関係を示す位置プロファイルと、時間と速度との関係を示す速度プロファイルとを作成するプロファイル作成工程と、前記機構の駆動を少なくとも加速領域、減速領域、及び位置決め領域に分け、前記加速領域、前記減速領域においては前記位置プロファイルに従った位置サーボにより前記機構を駆動し、前記位置決め領域においては前記速度プロファイルに従った速度サーボにより前記機構を駆動する制御工程とを有し、前記パラメータ算出工程で算出した前記積分補償量を前記加速領域における駆動制御の初期値とする。
【００１６】
また、上記目的を達成するための本発明のモータ制御装置は、モータを動力源として使用して機構を駆動する機器におけるモータの制御装置であって、前記モータに所定の速度指令値を与え、速度サーボにより前記機構を駆動する予備駆動手段と、前記予備駆動手段による駆動中に、前記機構の駆動を監視して、前記モータへ出力する電流値に対応する積分補償量を算出するパラメータ算出手段と、時間と位置との関係を示す位置プロファイルと、時間と速度との関係を示す速度プロファイルとを作成するプロファイル作成手段と、前記機構の駆動を少なくとも加速領域、減速領域、及び位置決め領域に分け、前記加速領域、前記減速領域においては前記位置プロファイルに従った位置サーボにより前記機構を駆動し、前記位置決め領域においては前記速度プロファイルに従った速度サーボにより前記機構を駆動する制御手段とを有し、前記パラメータ算出手段で算出した前記積分補償量を前記加速領域における駆動制御の初期値とする。
【００１７】
すなわち、本発明では、モータを動力源として使用して機構を駆動する機器におけるモータの制御において、モータに所定の駆動パラメータを与えて、機構を駆動する予備駆動を行い、予備駆動を行っている間に、機構の移動を監視して、該機構を始動させるのに必要なモータへの指令値を求め、この指令値を駆動パラメータの初期値として用いて、フィードバックを利用してモータの駆動を制御する。
【００１８】
このようにすると、制御対象となる機構部分の摩擦力の個体差や使用環境の差異にかかわらず、機構を始動させるのに適切な駆動パラメータの初期値が求められ、この値を用いて制御が行われる。
【００１９】
従って、制御対象物及び機構部分の摩擦力の個体差や使用環境の差異にかかわらず、高速かつ高精度な位置制御を達成することができる。
【００２０】
【発明の実施の形態】
以下、本発明の好適な実施形態について図面を参照して詳細に説明する。ここでは、着脱可能なインクタンクを備えた記録ヘッドを搭載したシリアル式インクジェットプリンタを例に挙げて説明する。
【００２１】
本実施形態は、シリアル式インクジェットプリンタにおいて、記録媒体搬送用のラインフィードモータの制御に、本発明のモータの制御方法を適用したものである。
【００２２】
図１は本実施形態に係るシリアル式インクジェットプリンタの全体図である。同図において、１０１はインクタンクを有する記録ヘッド、１０２は記録ヘッド１０１を搭載するキャリッジである。キャリッジ１０２の軸受け部には主走査方向に摺動可能な状態でガイドシャフト１０３が挿入され、そのシャフトの両端はシャーシ１１４に固定されている。このキャリッジ１０２に係合したキャリッジ駆動伝達手段であるベルト１０４を解して、キャリッジ駆動手段である駆動モータ１０５の駆動が伝達され、キャリッジ１０２が主走査方向に移動可能である。
【００２３】
記録待機中において記録用紙１１５は、給紙ベース１０６にスタックされており、記録開始時には給紙ローラ（不図示）により記録用紙が給紙される。給紙された記録用紙を搬送するため、ＤＣモータである用紙搬送用モータ（１０７）の駆動力により伝達手段であるギア列（モータギア１０８、搬送ローラギア１０９）を介して搬送ローラを回転させ、ピンチローラばね（不図示）により搬送ローラ１１０に押圧され従動回転するピンチローラ１１１とこの搬送ローラ１１０とにより記録用紙１１５は適切な送り量だけ搬送される。ここで、搬送量は搬送ローラ１０９に圧入されたコードホイール（ロータリーエンコーダフィルム１１６）のスリットをエンコーダセンサ１１７で検知、カウントすることで管理され、高精度送りを可能としている。
【００２４】
図２は、図１に示したプリンタの制御構成を説明するブロック図である。
【００２５】
図において、４０１はプリンタ装置のプリンタ制御用のＣＰＵで、ＲＯＭ４０２に記憶されたプリンタ制御プログラムやプリンタエミュレーション、記録フォントを利用して記録処理を制御する。
【００２６】
４０３はＲＡＭで、記録のための展開データ、ホストからの受信データを蓄える。４０４はプリンタヘッド、４０５はモータを駆動するモータドライバ、４０６はプリンタコントローラで、ＲＡＭ４０３のアクセス制御やホスト装置とのデータのやりとりやモータドライバへの制御信号送出を行う。４０７はサーミスタ等で構成される温度センサで、プリンタ装置の温度を検知する。
【００２７】
ＣＰＵ４０１はＲＯＭ４０２内の制御プログラムにより本体のメカ的／電気的制御を行いつつ、ホスト装置からプリンタ装置へ送られてくるエミュレーションコマンド等の情報をプリンタコントローラ４０６内のＩ／Ｏデータレジスタから読み出し、コマンドに対応した制御をプリンタコントローラ４０６内のＩ／Ｏレジスタ、Ｉ／Ｏポートに書き込み、読み出しを行う。
【００２８】
図３は、図２に示したプリンタコントローラ４０６の詳細構成を説明するブロック図であり、図２と同一のものには同一の符号を付してある。
【００２９】
図において、５０１はＩ／Ｏレジスタで、ホストとのコマンドレベルでのデータのやり取りを行う。５０２は受信バッファコントローラで、レジスタから受信データをＲＡＭ４０３に直接書き込む。
【００３０】
５０３は記録バッファコントローラで、記録時にはＲＡＭの記録データバッファから記録データを読み出し、プリンタヘッド４０４に対してデータの送出を行う。５０４はメモリコントローラで、ＲＡＭ４０３に対して３方向のメモリアクセスを制御する。５０５はプリントシーケンスコントローラで、プリントシーケンスをコントロールする。２３１はホストインターフェースで、ホストとの通信を司る。
【００３１】
図４は、一般的なＤＣモータの位置サーボによる制御手順（６０００）を示すブロック図である。本実施形態において位置サーボは、加速制御領域、定速制御領域、減速制御領域において使用される。このようなＤＣモータの制御は、ＰＩＤ(proportional integral and differential)コントロールあるいは古典制御と呼ばれており、以下にその手順を説明する。
【００３２】
まず、制御対象に与えたい目標位置を、理想位置プロファイル６００１という形で与える。本実施形態においては、これは該当する時刻においてラインフィードモータによって搬送された紙が到達しているべき絶対位置に該当する。時刻の進行とともに、この位置情報は変化していく。この理想位置プロファイルに対する追値制御を行うことで、本実施形態の駆動制御が行われる。
【００３３】
装置にはエンコーダセンサ６００５が具備されており、これによりモータの物理的な回転を検知する。エンコーダ位置情報変換手段６００９は、エンコーダセンサ６００５が検知したスリット数を累積加算して絶対位置情報を得る手段であり、エンコーダ速度情報変換手段６００６はエンコーダセンサ６００５の信号と、プリンタに内蔵された時計（タイマ）から、現在のラインフィードモータの駆動速度を算出する手段である。
【００３４】
理想位置プロファイル６００１から、位置情報変換手段６００９により得られた実際の物理的位置を減算した数値を、目標位置に対して足りない位置誤差として、６００２以降の位置サーボのフィードバック処理に受け渡す。６００２は位置サーボのメジャーループであり、一般的には比例項Ｐに関する計算を行う手段が知られている。
【００３５】
６００２における演算の結果としては、速度指令値が出力される。この速度指令値が、６００３以降の速度サーボのフィードバック処理に受け渡される。速度サーボのマイナーループは、比例項Ｐ、積分項Ｉ、微分項Ｄに対する演算を行うＰＩＤ演算により行う手段が一般的である。
【００３６】
本実施形態においては、速度指令値の非線形な変化が発生した場合の追従性を改善し、なおかつ追値制御時の微分演算の弊害を防ぐために、一般に微分先行形と呼ばれる手法を示しており、エンコーダ速度情報変換手段６００６で得られたエンコーダ速度情報は、６００２で得られた速度指令値との差を取る前に、微分演算手段６００７を通される。この手法自体は本発明の主題となるものではなく、制御対象の系の特性によっては、６００３において微分演算を行えば充分なものもある。
【００３７】
速度サーボのマイナーループにおいては、速度指令値からエンコーダ速度情報を減算した数値を、目標速度に対して足りない速度誤差として、ＰＩ演算回路６００３に受け渡し、その時点でＤＣモータに与えるべきエネルギーを、ＰＩ演算と呼ばれる手法で算出する。それを受けたモータドライバ回路は、例えばモータ印加電圧は一定として、印加電圧のパルス幅を変化させる手段（以下「ＰＷＭ（Ｐｕｌｅｓ  Ｗｉｄｔｈ  Ｍｏｄｕｌａｔｉｏｎ）制御」と呼ぶ）を用い、印加電圧のＤｕｔｙを変化させて、電流値を調節し、ＤＣモータ６００４に与えるエネルギーを調節し、速度制御を行う。
【００３８】
電流値を印加されて回転するＤＣモータは、６００８の外乱による影響を受けながら物理的な回転を行い、その出力がエンコーダセンサ６００５により検知される。
【００３９】
図５は一般的なＤＣモータの速度サーボによる制御手順（７０００）を説明するブロック図である。図４と同様な構成要素には同じ符号を伏して説明を省略する。本実施形態において速度サーボは、位置決め制御領域において使用される。このようなＤＣモータの制御は、ＰＩＤコントロールあるいは古典制御と呼ばれており、以下にその手順を説明する。
【００４０】
まず、制御対象に与えたい目標速度を、理想速度プロファイル７００１という形で与える。本実施形態においては、これは該当する時刻においてラインフィードモータにより紙を搬送すべき理想速度であり、該当する時刻における速度指令値ということになる。時刻の進行とともに、この速度情報は変化していく。この理想速度プロファイルに対して追値制御を行うことで、本実施形態の駆動制御が行われる。
【００４１】
速度サーボにおいては、比例項Ｐ、積分項Ｉ、微分項Ｄに対する演算を行うＰＩＤ演算により行う手段が一般的である。本実施形態においては、速度指令値の非線形な変化が発生した場合の追従性を改善し、なおかつ追値制御時の微分演算の弊害を防ぐために、一般に微分先行形と呼ばれる手法を示しており、６００６で得られたエンコーダ速度情報は、理想速度プロファイル７００１で得られた速度指令値との差を取る前に、微分演算手段７００３を通される。この手法自体は本発明の主題となるものではなく、制御対象の系の特性によっては、７００２において該微分演算を行えば充分なものもある。
【００４２】
速度サーボにおいては、速度指令値からエンコーダ速度情報を減算した数値を、目標速度に対して足りない速度誤差として、ＰＩ演算回路７００２に受け渡し、その時点でＤＣモータに与えるべきエネルギーを、ＰＩ演算と呼ばれる手法で算出する。それを受けたモータドライバ回路は、例えばＰＷＭ制御を用い、印加電圧のＤｕｔｙを変化させて、電流値を調節し、ＤＣモータ６００４に与えるエネルギーを調節し、速度制御を行う。
【００４３】
電流値を印加されて回転するＤＣモータ６００４は、６００８の外乱による影響を受けながら物理的な回転を行い、その出力がエンコーダセンサ６００５により検知される。
【００４４】
図６は、本実施形態におけるＬＦモータの制御において、外乱の及ぼす影響と実際の制御について、詳細に説明するための図である。
【００４５】
図６では停止直前速度ｖ＿ｓｔｏｐが、平均的かつ理想的な値Ｖ＿ＡＰＰＲＯＡＣＨで終了する場合を示しており、図において横軸は時間、縦軸２００１は速度、縦軸２００２は位置をそれぞれ示している。
【００４６】
なお、本実施形態における説明では、定数値を英大文字、変数値を英小文字で示している。同一スペリングの値について英大文字、英小文字の表記がある場合、英大文字で示された値は理想定数値であり、英小文字で示された値は同じ内容の値について変化しうる変数値を示している。
【００４７】
８００１は理想位置プロファイルを示しており、２００４は理想速度プロファイルを示している。理想位置プロファイル８００１は４つの制御領域からなり、加速制御領域２０１１、定速制御領域２０１２、減速制御領域２０１３、位置決め制御領域２０１４により構成されている。
【００４８】
理想速度プロファイル２００４において、Ｖ＿ＳＴＡＲＴは初速度であり、Ｖ＿ＦＬＡＴは定速制御領域２０１２の速度を示している。Ｖ＿ＡＰＰＲＯＡＣＨは位置決め制御領域の速度を示しており、Ｖ＿ＰＲＯＭＩＳＥは位置決め精度性能を達成するために絶対に守られなければならない停止直前速度の最速値を示している。ｖ＿ｓｔｏｐは、現実の駆動を想定した場合に外乱によってあらゆる値に変化する現実の値としての停止直前速度である。実際の駆動における速度変動を考慮して、Ｖ＿ＡＰＰＲＯＡＣＨはいかなる速度変動が発生してもｖ＿ｓｔｏｐがＶ＿ＰＲＯＭＩＳＥを超えることがないよう充分に低く設定された速度であることが要求される。
【００４９】
本実施形態装置においては、２０１１、２０１２、２０１３の各領域では位置サーボを、位置決め制御領域２０１４では速度サーボを採用している。図示した８００１の曲線は、位置サーボ時の理想位置プロファイルを示している。図示した２００４の曲線は、速度サーボ時には理想速度プロファイルを示し、位置サーボ時には該理想位置プロファイルに追従して動作するために求められる要求速度プロファイルを示している。
【００５０】
理想位置プロファイル８００１は、位置サーボを行う２０１１、２０１２、２０１３の各領域に対して設定されるが、Ｓ＿ＡＰＰＲＯＡＣＨまでしか計算されない。これは、Ｓ＿ＡＰＰＲＯＡＣＨを通り過ぎると速度サーボに切り替わるため、Ｓ＿ＡＰＰＲＯＡＣＨ以降では理想位置プロファイルが不必要であるからである。８００１における減速所要時間Ｔ＿ＤＥＣは現実の駆動と関わりなく一定であり、これに相当する制御領域を理想減速制御領域９００１として示すものとする。
【００５１】
８００３は、外乱の影響がある場合における実際の位置を表わす現実位置プロファイルである。位置サーボにおいては、遅れが必ず発生するため、８００１に対して８００３はいずれも時間的な遅延を持っている。従って、理想位置プロファイル８００１が終了しても、現実位置はＳ＿ＡＰＰＲＯＡＣＨには到達しないことが一般的であり、本実施形態装置においては、８００１が終了してから現実の駆動がＳ＿ＡＰＰＲＯＡＣＨに到達するまでの間には、仮想の理想位置プロファイル８００６によって位置サーボへの指令位置値として代用するものとする。
【００５２】
この仮想の理想位置プロファイル８００６は、理想位置プロファイル８００１の最終的な傾きを用いて、理想位置プロファイルの終点から伸ばした直線とする。
【００５３】
８００５は、物理的なモータの現実駆動速度プロファイルを意味している。理想位置プロファイル８００１を入力としてフィードバック制御を行うと、理想速度プロファイルに対して若干の遅延が生じるが、位置決め制御領域２０１４に進むに従って理想速度に近づいて、最終的な停止直前速度としては位置決めに要求される精度を達成できる速度Ｖ＿ＡＰＰＲＯＡＣＨに収束する。なお、減速制御領域２０１３から位置決め制御領域２０１４への移行は、物理的な駆動状態や速度に関わらず、Ｓ＿ＡＰＰＲＯＡＣＨに達した瞬間に行われるものとする。
【００５４】
Ｓ＿ＤＥＣは定速制御領域２０１２が終了して減速制御領域２０１３が開始される位置を示しており、あくまでも理想位置プロファイル８００１によって決定づけられる値であるため、現実の駆動における外乱の影響とは無関連である。
【００５５】
図中のＳ＿ＡＰＰＲＯＡＣＨは、減速制御領域２０１３が終了して位置決め制御領域２０１４が開始される位置を示しており、Ｓ＿ＳＴＯＰは停止位置を示している。Ｔ＿ＡＤＤは加速制御領域２０１１に費やされる所要時間であり、Ｔ＿ＤＥＣは減速制御領域２０１３に費やされる所要時間である。Ｔ＿ＦＬＡＴは定速制御領域２０１２に費やされる時間であり、駆動開始位置を０としたときの停止位置Ｓ＿ＳＴＯＰ、すなわち総駆動距離を満足する理想位置プロファイル８００１を設定した時点で決定する固定値である。
【００５６】
Ｔ＿ＡＰＰＲＯＡＣＨは位置決め制御領域２０１４に費やされる時間を示している。Ｔ＿ＡＰＰＲＯＡＣＨは、駆動制御対象が実際に動いたときに、位置決め制御領域２０１４に突入する位置Ｓ＿ＡＰＰＲＯＡＣＨから停止位置Ｓ＿ＳＴＯＰまでの距離Ｓ＿ＡＰＲ＿ＳＴＯＰを移動するのに要する時間である。図６では、位置決め領域を駆動制御対象がほぼ理想速度通りに動いた場合を示しているが、現実の制御においては物理的動作が理想的に行われることは一般的に大変困難である。
【００５７】
また、ｔ＿ａｐｐｒｏａｃｈは、現実の駆動を想定した場合に外乱によってあらゆる値に変化する現実の値として、位置決め制御領域２０１４に費やされる時間を表わす現実変数値である。
【００５８】
高速かつ高精度の位置決めを行うために、理想位置プロファイル８００１のカーブは系に適したチューニングが必要である。具体的には、定速制御領域２０１２の速度は位置決め所要時間を短縮するために系の性能の許す限り速くすることが望ましく、位置決め制御領域２０１４の速度は位置決め精度を向上するために系の性能の許す限り遅くすることが望ましい。更に、加速制御領域２０１１、減速制御領域２０１３、位置決め制御領域２０１４での移動距離は、位置決め所要時間を短縮するために系の性能の許す限り短くなるように理想位置プロファイル８００１を設定することが望ましい。しかしながら、より詳細なチューニングの手法については本発明の主旨ではないため、ここではすでに理想位置プロファイル８００１が最適調整されているものとして説明を進める。
【００５９】
図７は、積分補償量の初期値を０とした場合に起こり得る最悪の例を説明するための図である。
【００６０】
図７における現実速度プロファイル８００５では、静止摩擦力に打ち勝って動きうる積分補償量に達するまでに時間ｔ＿ｐｒｏｂｌｅｍを要している。ここでようやく動き出すが、今度はｔ＿ｐｒｏｂｌｅｍ時点までの間に過剰に大きくなってしまった位置の偏差を小さくするために位置サーボのフィードバックが大きくかかり、現実速度プロファイル８００５は一時理想速度プロファイル２００４を大きく超えてしまう。
【００６１】
やがて位置の偏差が少なくなるにつれて速度は落ちてくるが、対象となる系に対して最適調整された駆動プロファイルから完全に逸脱して動いてしまっているため、停止位置近辺まで来ても速度が充分に落ちきらない。その結果、本来は時間Ｔ＿ＤＥＣを要して、Ｖ＿ＡＰＰＲＯＡＣＨに近い速度で到達すべき位置Ｓ＿ＳＴＯＰに、時間Ｔ＿ＤＥＣが経過する前にＶ＿ＡＰＰＲＯＡＣＨよりもかなり速い速度ｖ＿ｂａｄで突入してしまうこととなる。このためオーバーランが発生してｓ＿ｓｔｏｐを通過してしまい、要求される精度が満たせなくなってしまう。
【００６２】
図８は、本実施形態における駆動処理の流れの概略を示したフローチャートであり、図９は、図８の各処理に関するタイミングについて示したタイミングチャートである。
【００６３】
ステップＳ１１０１１でパワーオンがなされると、ステップＳ１１０５４で示される、本発明の特徴であるところの、積分補償量の初期値を検出する積分補償量初期値検出処理が起動される。
【００６４】
積分補償量初期値検出処理Ｓ１１０５４では、ステップＳ１１０５１において、積分補償量の初期値を意味するｉｎｉｔ＿ｉｎｔｅｇｒａｌ＿ｓｐｄの値を０で初期化している。本発明においては、この値を０で初期化するのは、このステップＳ１１０５１においてだけである点が重要である。更にステップＳ１１０５１においては、後続のシーケンスで使用されるＬＦの送りテーブルを選択している。本実施形態装置においては、ここで選択されるテーブルは低速駆動テーブルであり、一定速度ｖ＿ｔｅｓｔでの速度サーボによる駆動を選択するものとする。なお、速度ｖ＿ｔｅｓｔの設定は、検出しようとする積分補償量の初期値に直接かかわるものであり、系に適切なチューニングを行った後に定められることが望ましいが、たとえば図６におけるＶ＿ＡＰＰＲＯＡＣＨの値を使用することが考えられる。
【００６５】
ステップＳ１１０５１が終了すると、該当するテーブルによる駆動の処理が、ステップＳ１１０５２で行われる。なお、ステップＳ１１０５２内の各処理のタイミングは、図９においても示されている。
【００６６】
ステップＳ１１００１で駆動制御処理が開始されると、ステップＳ１１００２で駆動制御準備処理が行われる。ここでは、積分補償量の初期値ｉｎｉｔ＿ｉｎｔｅｇｒａｌ＿ｓｐｄを、実際にフィードバック制御で使用するワーク領域ｉｎｔｅｇｒａｌ＿ｓｐｄに代入する。ステップＳ１１００２は、一般的にモータ制御タスクに記述される処理であり、ｉｎｔｅｇｒａｌ＿ｓｐｄの設定の他に、駆動目的に適したテーブルの選択、駆動量に合致したＴ＿ＦＬＡＴの設定、本発明の特徴である評価処理の結果を次回の駆動で使用する理想速度プロファイルに反映させる反映処理、及び各種ワーク領域の設定を行い、最後にタイマ割り込み処理を司るタイマに起動をかけて終了する。
【００６７】
ステップＳ１１００２でタイマが起動されると、ステップＳ１１００３の実駆動処理に移行する。ステップＳ１１００３は、一般的にタイマ割り込み処理内に記述される処理であり、たとえば１ｍｓｅｃ毎に１回割り込んできて、エンコーダの値を読み出し、ＰＩＤ演算等により出力すべき電流の値を算出し、モータに対してその値を出力するものである。
【００６８】
ステップＳ１１００３の処理と並行して、システムにおいては停止位置Ｓ＿ＳＴＯＰに到達したかどうかの監視が行われており、到達が検知されると駆動目標位置への到達検知処理１１００４が起動されて割り込みが発生し、ステップＳ１１００５の駆動制御終了処理へ移行する。
【００６９】
ステップＳ１１００５においては、モータに対する出力をいち早くディセーブルにしてからタイマを停止し、ステップＳ１１００６で処理を終了する。
【００７０】
駆動処理が終了すると、ステップＳ１１０５３に進み、最適な積分補償量の初期値を求めるべく解析を行う。
【００７１】
以上によりステップＳ１１０５４の積分補償量初期値検出処理を終了すると、ステップＳ１１０５５に進み、駆動命令を待機する状態となる。プリンタシステムでは、例えば、給紙、印刷、排紙等の動作が発生する度に、紙送りの駆動命令が出され、これを受信するとステップＳ１１０５６に処理は進む。
【００７２】
ここで用途に見合った該当駆動テーブルを選択し、ステップＳ１１０５２で駆動処理を行う。
【００７３】
図１０は、図８のステップＳ１１００３の実駆動処理内で行われる処理について、本発明の特徴となる速度のＰＩ演算部分の詳細を示すフローチャートである。
【００７４】
なお、ステップＳ１１００３内で行われる処理全体に関しては、位置サーボ時には位置のＰ（比例）演算、また速度サーボのループにおけるＤ（微分）演算等、他にもさまざまな処理が行われるが、これらの処理は本発明の特徴となるものではなく、また公知の技術であることから説明を省略する。
【００７５】
ステップＳ１１００３で実駆動処理が起動されると、まずステップＳ１１１０１で、エンコーダ速度情報変換手段６００６により現在速度を得てｖ（ｔｘ）に代入する。ここでは、説明の簡略化のため、図４における６００７の微分演算、図５における７００３の微分演算に関しては省略して説明を進める。なお、ｔｘは、該当する時刻を示している。
【００７６】
ステップＳ１１１０２では、理想速度プロファイルの値ｖ＿ｉｄｅａｌ（ｔｘ）と、ｖ（ｔｘ）の差をとってｖ＿ｄｉｆｆｅｒｅｎｃｅに代入する。なお、ｖ＿ｉｄｅａｌ（ｔｘ）は、速度サーボ時には、純粋に速度理想プロファイルの値そのものとなるが、図４に関して説明したように、位置サーボ時には６００２のＰ演算の結果を使用することになる。
【００７７】
本実施形態装置において、ステップＳ１１０５４の積分補償値初期値検出処理実行時には、ｖ＿ｉｄｅａｌ（ｔｘ）にはｖ＿ｔｅｓｔを適用するものとする。この場合、ｖ＿ｉｄｅａｌ（ｔｘ）は時刻の変化には依存しない一定値である。
【００７８】
ステップＳ１１１０３では、積分ゲインとして予め設定した定数値ＩＮＴＥＧＲＡＬ＿ＰＡＲＡＭによって、ｔｘにおける積分補償量ｉｎｔｅｇｒａｌ＿ｓｐｄを算出する。これが一般的に積分演算と呼ばれるものである。
【００７９】
ステップＳ１１１０４では、比例ゲインとして予め設定した定数値ＰＲＯＰＯＲＴＩＯＮ＿ＰＡＲＡＭによって、最終的な出力電流値ｏｕｒｐｕｔ＿ｐｗｍを算出する。これが一般的に比例演算と呼ばれるものである。
【００８０】
ステップＳ１１１０５で、演算結果を駆動対象に対して出力し、ステップＳ１１１０６で、該当時刻ｔｘにおける積分補償量ｉｎｔｅｇｒａｌ＿ｓｐｄを、配列ｍｅｍ＿ｉｎｔｅｇｒａｌ＿ｓｐｄ［ｔｘ］に格納する。なお、この配列ｍｅｍ＿ｉｎｔｅｇｒａｌ＿ｓｐｄ［ｔｘ］は、１１０５３において使用される情報を保存しておくための領域である。
【００８１】
ステップＳ１１１０７で、時刻を示すカウンタｔｘをインクリメントして、ステップＳ１４００８で処理を終了する。
【００８２】
図１１は、積分補償量初期値検出処理Ｓ１１０５４が起動された場合における駆動の様子について示したタイミングチャートである。
【００８３】
ここで、速度指令値はｖ＿ｔｅｓｔで固定されており、一方積分補償量ｉｎｔｅｇｒａｌ＿ｓｐｄは０から開始されるため、現実駆動プロファイル２００５は、時刻０からやや遅れて立ち上がる。その後、一定時間経過するまでの間に、速度はｖ＿ｔｅｓｔに対して上下に変動するが、やがてｖ＿ｔｅｓｔに収束する。
【００８４】
本実施形態装置においては、該条件においてｖ＿ｔｅｓｔに対する現実駆動プロファイルの上下変動が、許容可能なレベルに収束することが予想される時間をＴ＿ＳＡＭＰＬＩＮＧ＿ＳＴＡＲＴとし、この時刻から後の積分補償量を、最適積分補償量初期値解析処理（Ｓ１１０５３）において使用する。Ｔ＿ＳＡＭＰＬＩＮＧ＿ＥＮＤは、最適積分補償量初期値解析処理（Ｓ１１０５３）において使用されるデータのサンプリングされた時刻を表している。
【００８５】
なお、後述するがステップＳ１１０５３では、Ｔ＿ＳＡＭＰＬＩＮＧ＿ＳＴＡＲＴからＴ＿ＳＡＭＰＬＩＮＧ＿ＥＮＤまでの時間に記録された積分補償量の平均をとるため、この区間において速度が多少上下に変動していても、本実施形態の効果を妨げるものではない。速度０からｖ＿ｔｅｓｔに到達するまでの立ち上りに要する時間領域を、Ｔ＿ＳＡＭＰＬＩＮＧ＿ＳＴＡＲＴによってカットできれば、本実施形態の装置において効果は充分期待できるものである。
【００８６】
図１２は、図８にステップＳ１１０５３で示した最適積分補償量初期値解析処理の詳細について示したフローチャートである。
【００８７】
ステップＳ１１２０１で、データのアクセスに用いるカウンタｔｘを初期化し、合計値を算出するためのワーク領域ｓｕｍ＿ｉｎｔｅｇｒａｌ＿ｓｐｄを初期化する。
【００８８】
ステップＳ１１２０２、Ｓ１１２０３、及びＳ１１２０４により、Ｔ＿ＳＡＭＰＬＩＮＧ＿ＳＴＡＲＴからＴ＿ＳＡＭＰＬＩＮＧ＿ＥＮＤまでの時間に記録された積分補償量の合計を取得する。ステップＳ１１２０５で、該積分補償量の平均値を算出し、ｉｎｉｔ＿ｉｎｔｅｇｒａｌ＿ｓｐｄに代入してステップＳ１１２０６で処理を終了する。
【００８９】
以上述べてきた処理により、通常駆動時の積分補償量の初期値は、ｖ＿ｔｅｓｔによる一定速度駆動を行ったときの定速駆動中の積分補償量の初期値となる。ｖ＿ｔｅｓｔで一定速度駆動を行いうる積分補償量であるということは、静止摩擦力に打ち勝って動くだけの出力電流値に対応する積分補償量であるということを意味している。
【００９０】
従って、本実施形態の装置で図７に示した動作を行わせる場合、時刻０において既に出力電流値は静止摩擦力に打ち勝って動き出すに足る値を持つため、実際に動作を開始するまでの時間ｔ＿ｐｒｏｂｌｅｍを短縮することができ、理想プロファイルに対する追従性が向上する。また、ｖ＿ｔｅｓｔをＶ＿ＡＰＰＲＯＡＣＨに設定しておくことにより、この状態で検出された積分補償量の初期値は、Ｖ＿ＦＬＡＴに対して速度のオーバーシュートを誘発する危険は非常に低くなる。
【００９１】
以上説明したように本実施形態によれば、装置個々の機構部分の動作摩擦力や駆動対象となる記録媒体の静止摩擦力のばらつき、あるいは使用環境の差異等にかかわらず、駆動機構を始動させるのに最適な積分補償量の初期値が求められ、この値を用いて高速かつ高精度な駆動制御を実現することができる。
【００９２】
［他の実施形態］
以上の実施形態は、シリアル式インクジェットプリンタの記録紙搬送用（ラインフィード）モータの制御に本発明を適用したものであるが、本発明は、インクジェットプリンタに限らず、モータを使用する様々な機器に適用可能である。
【００９３】
また、上記の実施形態はいずれもＤＣモータの制御に本発明を適用したものであるが、ＤＣモータ以外でも上記の追値制御等のフィードバック制御が可能なモータであれば、本発明を適用できる。
【００９４】
本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読出し実行することによっても、達成されることは言うまでもない。
【００９５】
この場合、記憶媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【００９６】
プログラムコードを供給するための記憶媒体としては、例えば、フロッピディスク，ハードディスク，光ディスク，光磁気ディスク，ＣＤ−ＲＯＭ，ＣＤ−Ｒ，磁気テープ，不揮発性のメモリカード，ＲＯＭなどを用いることができる。
【００９７】
また、コンピュータが読出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００９８】
さらに、記憶媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００９９】
本発明を上記記憶媒体に適用する場合、その記憶媒体には、先に説明した（図８、１０及び１２に示す）フローチャートに対応するプログラムコードが格納されることになる。
【０１００】
【発明の効果】
以上説明したように、本発明によれば、制御対象物及び機構部分の摩擦力の個体差や使用環境の差異にかかわらず、機構を始動させるのに適切な駆動パラメータの初期値が求められ、この値を用いて制御が行われる。
【０１０１】
従って、制御対象物及び機構部分の摩擦力の個体差や使用環境の差異にかかわらず、高速かつ高精度な位置制御を達成することができる。
【図面の簡単な説明】
【図１】本発明の実施形態に係るシリアル式インクジェットプリンタの全体図である。
【図２】図１のプリンタの制御構成を説明するブロック図である。
【図３】図２に示したプリンタコントローラの詳細構成を説明するブロック図である。
【図４】一般的なＤＣモータの位置サーボによる制御手順を示すブロック図である。
【図５】一般的なＤＣモータの速度サーボによる制御手順を示すブロック図である。
【図６】ＬＦモータの制御において、外乱の及ぼす影響と実際の制御について、詳細に説明するための図である。
【図７】積分補償量の初期値を０とした場合に起こり得る最悪の例を説明するための図である。
【図８】本発明の実施形態における駆動処理の流れの概略を示したフローチャートである。
【図９】図８の各処理に関するタイミングについて示したタイミングチャートである。
【図１０】図８の実駆動処理内で行われる処理の詳細を示すフローチャートである。
【図１１】積分補償量初期値検出処理が起動された場合における駆動の様子を示したタイミングチャートである。
【図１２】図８の最適積分補償量初期値解析処理の詳細について示したフローチャートである。
【符号の説明】
１０１  記録ヘッド
１０２  キャリッジ
１０３  ガイドシャフト
１０４  ベルト
１０５  駆動モータ
１０６  給紙ベース
１０７  用紙搬送用モータ
１０８  モータギア
１０９  搬送ローラギア
１１０  搬送ローラ
１１１  ピンチローラ
１１４  シャーシ
１１５  記録用紙
１１６  ロータリーエンコーダフィルム
１１７  エンコーダセンサ
２３１  ホストインターフェース
４０１  ＣＰＵ
４０２  ＲＯＭ
４０３  ＲＡＭ
４０４  プリンタヘッド
４０５  モータドライバ
４０６  プリンタコントローラ
４０７  温度センサ
５０１  Ｉ／Ｏレジスタ
５０２  受信バッファコントローラ
５０３  記録バッファコントローラ
５０４  メモリコントローラ
５０５  プリントシーケンスコントローラ
２００３  理想位置プロファイル
２００４  理想速度プロファイル
２０１１  加速制御領域
２０１２  定速制御領域
２０１３  減速制御領域
２０１４  位置決め制御領域
２００３  理想位置プロファイル
２００４  理想速度プロファイル
２００５  現実駆動速度プロファイル
２００６  現実速度プロファイル
２００７  現実速度プロファイル
６００１  理想位置プロファイル
６００５  エンコーダセンサ
６００９  エンコーダ位置情報変換手段
６００６  エンコーダ速度情報変換手段
６００２  位置サーボのメジャーループ
６００３  ＰＩ演算
６００７  微分演算
６００４  ＤＣモータに与えるエネルギー
６００８  外乱
７００１  理想速度プロファイル
７００２  ＰＩ演算手段
７００３  微分演算手段
８００１  理想位置プロファイル
８００３  現実位置プロファイル
８００５  現実駆動速度プロファイル
８００６  仮想の理想位置プロファイル
【図１】
0003658340.tif 000002
【図２】
0003658340.tif 000003
【図３】
0003658340.tif 000004
【図４】
0003658340.tif 000005
【図５】
0003658340.tif 000006
【図６】
0003658340.tif 000007
【図７】
0003658340.tif 000008
【図８】
0003658340.tif 000009
【図９】
0003658340.tif 000010
【図１０】
0003658340.tif 000011
【図１１】
0003658340.tif 000012
【図１２】
0003658340.tif 000013