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