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