(57)【要約】【課題】  状態フィードバック制御によりモータを制御するモータ制御装置において、モータ負荷の変動に拘わらず制御精度を高精度に維持することにより、状態フィードバック制御の制御性能を向上させることを目的とする。【解決手段】  モータ７の制御のためにフィードバック演算処理部２０から出力される制御信号（操作量）と、操作量閾値設定レジスタに設定されている操作量閾値とを比較することにより、モータ７の負荷量の大小を判断する。フィードバック演算処理部２０は、オブザーバを備えてモータ７の状態フィードバック制御を行うものであり、負荷量が通常レベルのときは、オブザーバテーブル３６に設定された通常負荷用のオブザーバ行列ｏｂｓｖ１を選択して、通常負荷用オブザーバを構成する。一方、負荷量が増加したときは、高負荷用のオブザーバ行列ｏｂｓｖ２を選択して、高負荷用オブザーバを構成する。【選択図】  図３
2005204392.tif 000002
【特許請求の範囲】
【請求項１】
ＤＣモータ又は該ＤＣモータにより駆動される駆動対象の目標動作量を設定する目標設定手段と、
前記ＤＣモータ又は前記駆動対象の、前記目標動作量に対応した実際の動作量である実動作量を検出する検出手段と、
前記実動作量が前記目標動作量と一致するように前記ＤＣモータの操作量を演算し、該操作量に対応した制御信号を前記ＤＣモータへ出力することにより該ＤＣモータを制御する制御手段と、
を備えたモータ制御装置であって、
予め想定される前記ＤＣモータの負荷量の変動範囲を複数の負荷レベルにレベル分けすると共に該複数の負荷レベルに応じて各々設けられ、該ＤＣモータの負荷量が対応する前記負荷レベルに属するものと想定した場合の該ＤＣモータ又は前記駆動対象の少なくとも一方の動作状態を示す状態量を、前記検出手段により検出された実動作量と前記操作量とに基づいて推定する推定手段と、
前記ＤＣモータの実際の負荷量を直接又は間接的に示す実負荷情報を取得し、該実負荷情報により示される負荷量が属する前記負荷レベルに対応したいずれか一つの前記推定手段に選択的に切り替える切替手段と、
を備え、
前記制御手段は、前記目標動作量と、前記実動作量と、前記切替手段によって選択された推定手段により推定された状態量とに基づき、前記操作量の演算を行う
ことを特徴とするモータ制御装置。
【請求項２】
前記切替手段は、前記実負荷情報により示される負荷量が前記複数の負荷レベルのいずれに属するかを判定する負荷レベル判定手段を備え、該負荷レベル判定手段により該負荷量が属すると判定された負荷レベルに対応した前記推定手段に切り替える
ことを特徴とする請求項１記載のモータ制御装置。
【請求項３】
前記制御手段が前記操作量を演算する際に使用する制御用ゲインが、前記各推定手段に対応して各々設定され、
前記制御手段は、前記操作量を演算する際に前記各制御用ゲインのいずれかを使用するよう構成されており、
前記切替手段は、前記推定手段の切り替えを行う際、前記制御手段が使用する前記制御用ゲインについても、該切り替え先の推定手段に対応して設定された制御用ゲインに切り替える
ことを特徴とする請求項２記載のモータ制御装置。
【請求項４】
前記実負荷情報は前記操作量であり、
前記ＤＣモータの負荷量が属する前記負荷レベルの変化を前記操作量に基づいて判断するための、隣接する二つの前記負荷レベルの境界部に対応した操作量閾値が、該各境界部毎に設定されており、
前記負荷レベル判定手段は、前記制御手段にて演算された操作量と前記各操作量閾値とを比較することにより前記判定を行う
ことを特徴とする請求項２又は３記載のモータ制御装置。
【請求項５】
請求項２に従属する請求項４記載のモータ制御装置であって、
前記負荷レベル判定手段は、
前記操作量が、現在選択されている前記推定手段に対応した負荷レベルとその上のレベル側に隣接する負荷レベルである上負荷レベルとの境界部に対応した前記操作量閾値を越えているか否かを判定する操作量判定手段と、
予め設定された判定期間毎に、前記操作量判定手段により前記操作量が前記操作量閾値を越えていると判定されている時間を計時する計時手段と、
該計時手段による計時結果が所定の切替判定時間以上である場合に、前記負荷量が前記上負荷レベルに属していると判定する計時判定手段と、
を備えていることを特徴とするモータ制御装置。
【請求項６】
前記計時判定手段は、前記判定期間毎に前記計時結果が前記切替判定時間以上であるか否かを判断し、該切替判定時間以上であると判断した回数が所定の切替決定回数以上となったときに、前記負荷量が前記上負荷レベルに属していると判定する
ことを特徴とする請求項５記載のモータ制御装置。
【請求項７】
請求項２に従属する請求項４記載のモータ制御装置であって、
前記負荷レベル判定手段は、
前記操作量が、現在選択されている前記推定手段に対応した負荷レベルとその下のレベル側に隣接する負荷レベルである下負荷レベルとの境界部に対応した前記操作量閾値を越えているか否かを判定する操作量判定手段と、
予め設定された判定期間毎に、前記操作量判定手段により前記操作量が前記操作量閾値を越えていると判定されている時間を計時する計時手段と、
該計時手段による計時結果が所定の切替判定時間以上ではない場合に、前記負荷量が前記下負荷レベルに属していると判定する計時判定手段と、
を備えていることを特徴とするモータ制御装置。
【請求項８】
前記計時判定手段は、前記判定期間毎に前記計時結果が前記切替判定時間以上であるか否かを判断し、該切替判定時間以上ではないと判断した回数が所定の切替決定回数以上となったときに、前記負荷量が前記下負荷レベルに属していると判定する
ことを特徴とする請求項７記載のモータ制御装置。
【請求項９】
請求項３に従属する請求項４記載のモータ制御装置であって、
前記各操作量閾値は、前記負荷量の属する前記負荷レベルが一つ上がったことを判定するための上閾値と、該負荷レベルが一つ下がったことを判定するための、前記上閾値より所定量小さい下閾値とからなり、
前記負荷レベル判定手段は、
前記操作量が、現在選択されている前記推定手段に対応した負荷レベルとその上のレベル側に隣接する負荷レベルである上負荷レベルとの境界部に対応した前記上閾値を越えているか否かを判定する操作量増加判定手段と、
前記操作量が、現在選択されている前記推定手段に対応した負荷レベルとその下のレベル側に隣接する負荷レベルである下負荷レベルとの境界部に対応した前記下閾値を越えているか否かを判定する操作量低下判定手段と、
予め設定された判定期間毎に、前記操作量増加判定手段により前記操作量が前記上閾値を越えていると判定されている時間である上側時間、又は、前記操作量低下判定手段により前記操作量が前記下閾値を越えていると判定されている時間である下側時間の少なくとも一方を計時する計時手段と、
該計時手段による前記上側時間の計時結果が所定の上側切替判定時間以上である場合は、前記負荷量が前記上負荷レベルに属していると判定し、前記下側時間の計時結果が所定の下側切替判定時間以上ではない場合は、前記負荷量が前記下負荷レベルに属していると判定する計時判定手段と、
を備えていることを特徴とするモータ制御装置。
【請求項１０】
前記計時判定手段は、前記判定期間毎に、前記計時結果が前記上側切替判定時間以上であるか否かの判断又は前記計時結果が前記下側切替判定時間以上であるか否かの判断の少なくとも一方を行い、前記上側切替判定時間以上と判断した回数が所定の上側切替決定回数以上となったときに前記負荷量が前記上負荷レベルに属していると判定し、前記下側切替判定時間以上ではないと判断した回数が所定の下側切替決定回数以上となったときに前記負荷量が前記下負荷レベルに属していると判定する
ことを特徴とする請求項９記載のモータ制御装置。
【請求項１１】
前記計時手段は、前記判定期間内において、前記計時を累積して行うことを特徴とする請求項５〜１０いずれかに記載のモータ制御装置。
【請求項１２】
前記判定期間は、前記駆動対象が前記ＤＣモータにより駆動される際の、駆動開始から停止するまでの所定の単位動作が行われる期間である
ことを特徴とする請求項５〜１１いずれかに記載のモータ制御装置。
【請求項１３】
前記実負荷情報としての前記駆動対象の周囲温度を検出する温度検出手段を備え、
前記ＤＣモータの負荷量が属する前記負荷レベルの変化を前記周囲温度に基づいて判断するための、隣接する二つの前記負荷レベルの境界部に対応した温度閾値が、該各境界部毎に設定されており、
前記負荷レベル判定手段は、前記温度検出手段により検出された周囲温度と前記各温度閾値とを比較することにより前記判定を行う
ことを特徴とする請求項２又は３記載のモータ制御装置。
【請求項１４】
前記駆動対象は回転体であり、前記目標動作量は該回転体の目標回転量であり、前記実動作量は該回転体の実際の回転量である
ことを特徴とする請求項１〜１３いずれかに記載のモータ制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えば状態推定器（オブザーバ）等によって制御対象の動作状態を推定し、その推定結果を用いたフィードバック制御によりモータを制御するモータ制御装置に関する。
【背景技術】
【０００２】
従来より、例えばプリンタやファクシミリ装置等の画像形成装置として、給紙装置により画像形成部に向けて供給された用紙を、画像形成部における用紙への画像形成に伴って搬送する搬送装置を備えたものが知られている。
【０００３】
この種の搬送装置は、用紙に接して摩擦力により用紙を送出するための搬送ローラと、この搬送ローラを回転駆動するためのモータ等の駆動源とを備え、外部からの作動指令に従って搬送ローラの回転量を所定の状態に制御することにより、用紙の搬送動作を行うよう構成されている。そして、搬送ローラにより用紙が搬送されつつ、画像形成部（記録ヘッド等）によって用紙上への画像の記録が行われる。
【０００４】
この搬送装置では、従来、搬送ローラを回転駆動するための駆動源として、ステップモータが用いられてきた。しかし、ステップモータはパルス信号により所定のステップ角度ずつ回転するものであるため、高速化と高解像度化の両立が困難であり、しかもその動作の特性上、動作時の低騒音化は非常に困難であった。
【０００５】
昨今、画像形成装置において高速性、高解像度化、静粛性の要求が高まってきたことにより、搬送ローラを回転駆動するための駆動源としてＤＣモータが採用されるようになってきた。画像形成装置にＤＣモータを適用した例として、例えばインクジェットプリンタの紙送りモータやキャリッジモータにＤＣモータを利用したものが知られている（例えば、特許文献１参照。）。
【０００６】
上記特許文献１に記載されたインクジェットプリンタでは、ＤＣモータをフィードバック制御する際、ＤＣモータの駆動負荷に応じてゲインを切り替えるようにしている。これにより、ＤＣモータの駆動負荷の大小に拘わらずＤＣモータが所定の回転速度に達するまでの時間が同程度となるようにしている。
【特許文献１】特開２００３−２３７８３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、上記特許文献１に開示された技術のようにモータの駆動負荷に応じてゲインを切り替えるだけでは、ＤＣモータの駆動負荷の変動が著しい場合には制御性能が低下してしまうおそれがある。
【０００８】
そこで近年、ＤＣモータを採用した画像形成装置では、モータ駆動の制御精度を高めるために、状態推定器（オブザーバ）を用いたフィードバック制御（以下「状態フィードバック制御」ともいう）が採用されるようになってきた。これによれば、予め制御対象に対して設計されている状態推定器を用いることにより、制御対象を表す全ての状態量をフィードバック制御に反映させることができるため、単なるゲインの切り替えに比べて精度の高い制御が可能になるのである。
【０００９】
ただし、制御対象に対する環境の変動や制御対象の経時変化等によって、制御対象を駆動するＤＣモータの負荷が著しく変動する場合が生じると、状態推定器とのずれが生じて制御性能が低下してしまうおそれがある。
【００１０】
即ち、一般に状態推定器は、制御対象が通常の状態（つまり通常の動作環境、動作条件にある状態）のときのＤＣモータの負荷を設計想定負荷値として、ＤＣモータの負荷がその設計想定負荷値にあるときの制御対象の動作状態を推定するよう構成されている。そのため、例えばＤＣモータの回転を駆動力伝達ベルトによって上記搬送ローラに伝達することにより搬送ローラを回転駆動させるよう構成されている場合に、例えば周囲温度が大きく変化してローラ軸のグリスの粘度が変化したり、或いは経年変化によるグリス粘度の変化や駆動力伝達ベルトの硬度変化などが生じると、ＤＣモータの負荷が設計想定負荷値から変化してしまうおそれがあるのである。
【００１１】
本発明は上記課題に鑑みなされたものであり、状態フィードバック制御によりモータを制御するモータ制御装置において、モータ負荷の変動に拘わらず制御精度を高精度に維持することにより、状態フィードバック制御の制御性能を向上させることを目的とする。
【課題を解決するための手段】
【００１２】
上記課題を解決するためになされた請求項１記載の発明は、ＤＣモータ又は該ＤＣモータにより駆動される駆動対象の目標動作量を設定する目標設定手段と、前記ＤＣモータ又は前記駆動対象の、前記目標動作量に対応した実際の動作量である実動作量を検出する検出手段と、前記実動作量が前記目標動作量と一致するように前記ＤＣモータの操作量を演算し、該操作量に対応した制御信号を前記ＤＣモータへ出力することにより該ＤＣモータを制御する制御手段と、を備えたモータ制御装置であって、予め想定される前記ＤＣモータの負荷量の変動範囲が複数の負荷レベルにレベル分けされると共に該複数の負荷レベルに応じて各々推定手段が設けられている。この推定手段は、ＤＣモータの負荷量が対応する前記負荷レベルに属するものと想定した場合の該ＤＣモータ又は前記駆動対象の少なくとも一方の動作状態を示す状態量を、前記検出手段により検出された実動作量と前記操作量とに基づいて推定する。
【００１３】
更に、ＤＣモータの実際の負荷量を直接又は間接的に示す実負荷情報を取得し、該実負荷情報により示される負荷量が属する前記負荷レベルに対応したいずれか一つの前記推定手段に選択的に切り替える切替手段を備えており、前記制御手段は、前記目標動作量と、前記実動作量と、前記切替手段によって選択された推定手段により推定された状態量とに基づき、前記操作量の演算を行う。
【００１４】
即ち、従来のようにＤＣモータの負荷量に拘わらず同じ一つの推定手段を用いるのではなく、負荷量に応じた複数の推定手段を用意して、ＤＣモータ駆動中の負荷量に応じて推定手段を選択的に用いるようにするのである。例えば、負荷量が０〜ｂまで変動する可能性がある場合にその変動範囲を複数の負荷レベル（例えば０〜ａ１，ａ１〜ａ２，及びａ２〜ｂの３レベル）に分け、各負荷レベルに応じた推定手段を用意する。そして、各推定手段を、ＤＣモータの負荷量が対応する負荷レベルにあるときの上記状態量をより的確に推定できるように構成する。このようにすれば、例えば負荷レベルがａ１〜ａ２のレベル（範囲）にあるときに、その負荷レベルに対応して設けられている推定手段を選択すれば状態量を的確に推定でき、延いては、その負荷レベルａ１〜ａ２に応じた適切なＤＣモータの制御が可能となるのである。
【００１５】
実負荷情報は、実際の負荷量を直接示す情報はもちろん、ＤＣモータの負荷量が変化するとそれに応じて変化するような物理量（逆に言えば、負荷量の変化を起こさせる原因となるような物理量）などのような、負荷レベルを概ね把握できる情報、つまり実際の負荷量を間接的に示すものであって負荷量の変化傾向を概ね予測できるような情報であってもよい。
【００１６】
上記のように構成された請求項１記載のモータ制御装置によれば、負荷レベル毎に備えられた複数の状態推定器の中から、実際の負荷量に応じた状態推定器を選択するようにしたため、モータ負荷の変動に拘わらず制御精度を高精度に維持することができ、推定手段を用いたＤＣモータの制御性能の低下を防止することが可能となる。
【００１７】
なお、ＤＣモータ又はその駆動対象の実動作量を検出する検出手段は、例えばロータリーエンコーダやリニアエンコーダなどを利用することができ、その場合、ＤＣモータ又は駆動対象の実動作量を示す検出信号としてエンコーダ信号のカウント値が検出されることになる。また、制御手段からの制御信号は、例えば直接ＤＣモータに入力するようにしてもよいし、ＤＣモータを駆動する駆動回路等を介して間接的にＤＣモータへ入力するようにしてもよい。
【００１８】
推定手段を選択的に切り替えるための切替手段は、具体的には、例えば請求項２に記載のように、前記実負荷情報により示される負荷量が前記複数の負荷レベルのいずれに属するかを判定する負荷レベル判定手段を備え、該負荷レベル判定手段により該負荷量が属すると判定された負荷レベルに対応した前記推定手段に切り替えるように構成してもよい。上記構成の切替手段を備えたモータ制御装置によれば、動作中のＤＣモータの負荷量が何れの負荷レベルに属しているかを負荷レベル判定手段が判定するため、より的確な推定手段の選択・切り替えが可能となる。
【００１９】
ところで、ＤＣモータの負荷量に応じて推定手段を切り替える上記技術では、負荷量の変動に拘わらず制御精度を高精度に維持できるという効果は得られるのだが、負荷量が大きくなるほど操作量も大きくなる。そして、ＤＣモータやその駆動対象によっては、操作量の増加をできる限り抑制したいという場合もあり得る。
【００２０】
一方、制御手段によるＤＣモータの制御（いわゆるフィードバック制御）においては、通常、操作量を演算する際に制御用ゲインが用いられ、例えば、推定手段により推定された状態量に所定の制御ゲインを積算したり、或いは目標動作量と実動作量との偏差に所定の制御ゲインを積算したりするなどの演算が行われる。そこで、操作量の増大を抑えるために、例えば請求項３に記載のように、推定手段を切り替える際に制御用ゲインについても切り替えるようにするとよい。
【００２１】
即ち、請求項３記載の発明は、請求項２記載のモータ制御装置であって、前記制御手段が前記操作量を演算する際に使用する制御用ゲインが前記各推定手段に対応して各々設定され、前記制御手段は、前記操作量を演算する際に前記各制御用ゲインのいずれかを使用するよう構成されており、前記切替手段は、前記推定手段の切り替えを行う際、前記制御手段が使用する前記制御用ゲインについても、該切り替え先の推定手段に対応して設定された制御用ゲインに切り替えるよう構成されている。
【００２２】
このように構成された請求項３記載のモータ制御装置によれば、推定手段に加えて制御用ゲインについても、切り替え先の推定手段に対応したものに切り替えるため、操作量の増大を抑制しつつより適切な制御を行うことが可能となる。
【００２３】
ここで、実負荷情報として何を用いるかは、上記のように種々考えられるが、例えば操作量に着目してみると、一般に負荷量が大きくなると操作量も大きくなり、負荷量が小さくなると操作量も小さくなる。つまり、制御手段により演算される操作量をみれば、ＤＣモータの実際の負荷量を概ね把握（予測）することができるのである。
【００２４】
そこで、本発明（請求項２又は３）のモータ制御装置は、例えば請求項４に記載のように、前記実負荷情報は前記操作量であり、前記ＤＣモータの負荷量が属する前記負荷レベルの変化を前記操作量に基づいて判断するための、隣接する二つの前記負荷レベルの境界部に対応した操作量閾値が、該各境界部毎に設定されており、前記負荷レベル判定手段は、前記制御手段にて演算された操作量と前記各操作量閾値とを比較することにより前記判定（何れの負荷レベルに属するかの判定）を行うよう構成されたものであるとよい。
【００２５】
このように構成されたモータ制御装置によれば、ＤＣモータ動作中の実際の操作量と操作量閾値との比較結果に基づいて推定手段の切り替え（及び制御用ゲインの切り替え）が行われることになり、ＤＣモータの負荷量を正確に把握した上での制御となるため、より確実に制御性能の低下を防ぐことができる。
【００２６】
尚、上記のように各境界部毎に操作量閾値を設定する方法の他に、例えば、操作量閾値は一つのみとし、操作量がその操作量閾値を越える期間の閾値を負荷レベル毎に複数設定するようにしてもよい。つまり、操作量が操作量閾値を越えた期間の長短に基づいてＤＣモータの負荷レベルを判定し、その負荷レベルに応じた推定手段に切り替えるのである。このようにしても、上記請求項４と同様の効果が得られる。
【００２７】
次に、操作量に基づいて推定手段のみを切り替える場合における負荷レベル判定手段の具体的構成としては、例えば請求項５又は請求項７に記載のように構成することができる。即ち、請求項５に記載のモータ制御装置においては、前記操作量が、現在選択されている前記推定手段に対応した負荷レベルとその上のレベル側に隣接する負荷レベルである上負荷レベルとの境界部に対応した前記操作量閾値を越えているか否かを判定する操作量判定手段と、予め設定された判定期間毎に、前記操作量判定手段により前記操作量が前記操作量閾値を越えていると判定されている時間を計時する計時手段と、該計時手段による計時結果が所定の切替判定時間以上である場合に、前記負荷量が前記上負荷レベルに属していると判定する計時判定手段と、によって負荷レベル判定手段が構成される。
【００２８】
つまり、例えば操作量が操作量閾値を瞬間的に越えただけで、負荷量が増加して上負荷レベルになったものと判定するのではなく、判定期間内において所定期間（切替判定時間）以上越えた場合に上負荷レベルになったものと判定するのである。そのため、例えばノイズや瞬間的な負荷量変化等の何らかの要因で操作量に突発的（瞬間的）な変化が生じても、それによって負荷レベルが誤判定されないようにすることが可能となる。
【００２９】
また、請求項７記載のモータ制御装置においては、前記操作量が、現在選択されている前記推定手段に対応した負荷レベルとその下のレベル側に隣接する負荷レベルである下負荷レベルとの境界部に対応した前記操作量閾値を越えているか否かを判定する操作量判定手段と、予め設定された判定期間毎に、前記操作量判定手段により前記操作量が前記操作量閾値を越えていると判定されている時間を計時する計時手段と、該計時手段による計時結果が所定の切替判定時間以上ではない場合に、前記負荷量が前記下負荷レベルに属していると判定する計時判定手段と、によって負荷レベル判定手段が構成される。
【００３０】
このように構成されたモータ制御装置によれば、ＤＣモータの負荷量のレベルが現在の負荷レベルより１レベル低いレベル（下負荷レベル）になったときにも、その負荷レベルダウンを確実に判定して推定手段の適切な切り替えを行うことが可能となる。
【００３１】
なお、計時手段による操作量閾値を越えた時間の計時は、連続して行うようにしてもよいし、累積して行うようにしてもよい。即ち、前者（連続）の場合は、計時中にわずかでも操作量閾値を下回れば計時時間をリセットするようにし、後者（累積）の場合は、計時中に操作量が一時的に操作量閾値を下回ることがあっても、それまでの計時結果を保留しておき、操作量が再び操作量閾値を越えたときはその保留されていた計時結果を初期値として計時を再開するようにするのである。
【００３２】
但し、前者（連続）の場合は、既述したようにノイズ等で瞬間的に操作量閾値を下回ることがあるとその度に計時時間がリセットされてしまい、その結果、負荷レベルが変化しているにも拘わらず推定手段の切り替えが行われないことも起こりうる。そのため、例えば請求項１１に記載した通り、ノイズ等による操作量の不測の変動を考慮すれば、後者（累積）、即ち計時手段は判定期間内において累積して計時を行うようにするのが好ましい。
【００３３】
更に、請求項５において計時判定手段が行う判定は、ある一つの判定期間において計時手段による計時結果が切替判定時間以上となったことをもってすぐに上負荷レベルに属しているものと判定してもよいが、やはりノイズや偶発的な負荷量変化等の影響で、その判定期間中に限って操作量が操作量閾値を越えてしまう結果になることも起こりうる。そのため、ある一つの判定期間において上記切替判定時間以上となったことをもってすぐに上負荷レベルとの判定を下すのは、結果的に誤判定となるおそれがある。請求項７における計時判定手段が行う判定についても同様のことがいえる。
【００３４】
そこで、請求項５における計時判定手段は、例えば請求項６に記載のように、前記判定期間毎に前記計時結果が前記切替判定時間以上であるか否かを判断し、該切替判定時間以上であると判断した回数が所定の切替決定回数以上となったときに、前記負荷量が前記上負荷レベルに属していると判定するよう構成するとよい。
【００３５】
また、請求項７における計時判定手段についても、例えば請求項８に記載のように、前記判定期間毎に前記計時結果が前記切替判定時間以上であるか否かを判断し、該切替判定時間以上ではないと判断した回数が所定の切替決定回数以上となったときに、前記負荷量が前記下負荷レベルに属していると判定するよう構成するとよい。
【００３６】
このようにすれば、負荷量の変化（負荷レベルの変化）をより正確に判定することができ、負荷量の変動に拘わらずＤＣモータの制御性能をより高精度に維持することが可能となると共に、例えば画像形成装置の用紙搬送ローラをＤＣモータにて回転駆動させる場合に紙詰まり（用紙ジャム）のような異常状態による操作量の増大をもって切り替えを実行してしまう、といった利用者の意図しない行為を回避することができる。
【００３７】
ところで、例えば請求項３に記載のモータ制御装置のように、推定手段に加えて制御用ゲインも切り替えるよう構成されている場合、推定手段のみを切り替える場合と比較して、操作量の増大を抑制することができるのだが、これは即ち、推定手段及び制御用ゲインの切り替え前後で、同じ操作量閾値を用いては適切な負荷レベル判定を行うことができないことを意味する。
【００３８】
そこで、操作量に基づいて推定手段及び制御用ゲインを共に切り替えるよう構成されている場合における負荷レベル判定手段の具体的構成としては、例えば請求項９に記載のように構成するとよい。即ち、請求項９に記載のモータ制御装置は、請求項３に従属する請求項４記載のモータ制御装置であって、前記各操作量閾値は、前記負荷量の属する前記負荷レベルが一つ上がったことを判定するための上閾値と、該負荷レベルが一つ下がったことを判定するための、前記上閾値より所定量小さい下閾値とからなる。
【００３９】
そして、前記負荷レベル判定手段は、前記操作量が、現在選択されている前記推定手段に対応した負荷レベルとその上のレベル側に隣接する負荷レベルである上負荷レベルとの境界部に対応した前記上閾値を越えているか否かを判定する操作量増加判定手段と、前記操作量が、現在選択されている前記推定手段に対応した負荷レベルとその下のレベル側に隣接する負荷レベルである下負荷レベルとの境界部に対応した前記下閾値を越えているか否かを判定する操作量低下判定手段と、予め設定された判定期間毎に、前記操作量増加判定手段により前記操作量が前記上閾値を越えていると判定されている時間である上側時間、又は、前記操作量低下判定手段により前記操作量が前記下閾値を越えていると判定されている時間である下側時間の少なくとも一方を計時する計時手段と、該計時手段による前記上側時間の計時結果が所定の上側切替判定時間以上である場合は、前記負荷量が前記上負荷レベルに属していると判定し、前記下側時間の計時結果が所定の下側切替判定時間以上ではない場合は、前記負荷量が前記下負荷レベルに属していると判定する計時判定手段と、を備えたものである。
【００４０】
このように、負荷レベルの増加を判定するための閾値（上閾値）と、負荷レベルの低下を判定するための閾値（下閾値）とを、上閾値＞下閾値となるように別々に設定することで、例えば、負荷レベルが増加して操作量が上閾値を上側切替判定時間以上越えたことにより、推定手段及び制御用ゲインが共に切り替わって操作量が低く抑えられても、その切り替え後、再び負荷レベルが低下したか否かについては、下閾値を基準に判定される。そのため、推定手段及び制御用ゲインを共に切り替えるよう構成した場合であっても、負荷レベルの増加及び低下の判定をいずれも適切に行うことができるようになる。
【００４１】
そしてこの場合（請求項９）も、計時手段による上閾値又は下閾値を越えた時間の計時は、連続して行うようにしてもよいし、累積して行うようにしてもよいが、ノイズや突発的な負荷量変化等による操作量の不測の変動を考慮すれば、請求項１１に記載したように、判定期間内において累積して計時を行うようにするのが好ましい。
【００４２】
また、計時判定手段が行う判定についても、例えば請求項１０に記載のように、前記判定期間毎に、前記計時結果が前記上側切替判定時間以上であるか否かの判断又は前記計時結果が前記下側切替判定時間以上であるか否かの判断の少なくとも一方を行い、前記上側切替判定時間以上と判断した回数が所定の上側切替決定回数以上となったときに前記負荷量が前記上負荷レベルに属していると判定し、前記下側切替判定時間以上ではないと判断した回数が所定の下側切替決定回数以上となったときに前記負荷量が前記下負荷レベルに属していると判定するようにするとよい。
【００４３】
このようにすれば、請求項５，７に記載の発明と同様、負荷量の変化（負荷レベルの変化）をより正確に判定することができ、負荷量の変動に拘わらずＤＣモータの制御性能をより高精度に維持することができるという効果が得られる。
【００４４】
請求項１２に記載のモータ制御装置は、前記判定期間を、前記駆動対象が前記ＤＣモータにより駆動される際の、駆動開始から停止するまでの所定の単位動作が行われる期間としたものである。単位動作の具体例としては、ＤＣモータにて駆動対象を所定量ずつ位置決めしながら順次駆動させていくもの、例えば既述の画像形成装置における用紙搬送のように、用紙への画像形成を行う過程で用紙を副走査方向に所定量ずつ順次移動させていくような動作が挙げられる。
【００４５】
このように、駆動開始から停止するまでの単位動作毎に計時手段による計時及びその計時結果に基づく計時判定手段の判定を行うようにすれば、負荷量に変動が生じても各単位動作の制御性能の低下を抑えることができ、延いては駆動対象の動作全体にわたって高精度な制御の実現が可能となる。尚、実際に切り替えを行うタイミングは、単位動作中の計時判定手段の判定結果に基づいて当該単位動作中にすぐに切り替えるようにしてもよいが、単位動作の過程で推定手段（及び制御用ゲイン）を切り替えると、制御が不安定になるおそれがある。そのため、好ましくは、切り替えるべきとの判定がなされた単位動作の次の単位動作から切り替えるとよい。
【００４６】
次に、請求項１３記載の発明は、請求項２又は３記載のモータ制御装置であって、前記実負荷情報としての前記駆動対象の周囲温度を検出する温度検出手段を備え、前記ＤＣモータの負荷量が属する前記負荷レベルの変化を前記周囲温度に基づいて判断するための、隣接する二つの前記負荷レベルの境界部に対応した温度閾値が、該各境界部毎に設定されており、前記負荷レベル判定手段は、前記温度検出手段により検出された周囲温度と前記各温度閾値とを比較することにより前記判定を行うよう構成されている。
【００４７】
既述の通り、周囲温度が変化すると、例えば駆動対象が回転体である場合にその回転軸のグリスの粘度が変化したり、また例えば、ＤＣモータの回転駆動力をゴム製の駆動力伝達ベルトによって駆動対象へ伝達するよう構成されている場合にその駆動力伝達ベルトの硬度が変化したりするなど、駆動対象への駆動力伝達方法や駆動対象の構造等による程度の差異はあるもののＤＣモータの負荷量が変化する可能性がある。
【００４８】
そのため、周囲温度を検出することによってＤＣモータの負荷量（負荷レベル）を予測し、その予測した負荷量に応じて推定手段（及び制御用ゲイン）を切り替えるようにすれば、負荷量の変動に適切に対応した制御が可能となり、制御性能の低下を防止することができる。
【００４９】
そして、上記請求項１〜１３いずれかに記載の発明は、ＤＣモータの駆動対象が回転体の場合でもリニア動作するものの場合でも同様に適用可能であるが、駆動対象が回転体であって、前記目標動作量が該回転体の目標回転量であり、前記実動作量が該回転体の実際の回転量である場合に、特に効果的である。
【発明を実施するための最良の形態】
【００５０】
以下に、本発明の好適な実施形態を図面に基づいて説明する。
［第１実施形態］
まず、本実施形態のプリンタの概略構成について、図１及び図２に基づいて説明する。図１は、本発明が適用されたプリンタ１００の側面図であり、図２は、本実施形態のプリンタ１００に搭載された給紙搬送装置１１０の概略構成を示す説明図である。
【００５１】
図１に示す如く、本実施形態のプリンタ１００は、主として、記録用の用紙を積層して収納するための用紙収納部としての用紙収納板２と、この用紙収納板２に収納された用紙を一枚ずつ取り出して送出する給紙ローラ３ａと、給紙ローラ３ａにて送出されてきた用紙を、記録動作実行時に搬送する搬送ローラ４と、記録動作実行中の用紙搬送を補助しつつ記録動作終了後に用紙を排出する排紙ローラ９と、給紙ローラ３ａ，搬送ローラ４及び排紙ローラ９の回転駆動源であるＬＦ（Line Feed ）モータ７と、搬送ローラ４の回転と共に回転する回転スリット板８ａとフォトインタラプタ８ｂとからなるロータリエンコーダ（以下単に「エンコーダ」と称す）８と、を備えている。尚、モータ（以下単に「モータ」と称す）７はＤＣモータである。
【００５２】
モータ７は、搬送ローラ４を駆動する駆動プーリ（図示略）との間に架け渡されたベルト１０５を介して搬送ローラ４及び回転スリット板８ａを回転させると共に、駆動プーリ（図示略）とアイドルローラ１０７との間に架け渡されたベルト１０６及びアイドルローラ１０７を介して排紙ローラ９を回転させる。さらに、モータ７の回転は、図示しない駆動力伝達機構を介して給紙ローラ３ａにも伝達され、給紙ローラ３ａを回転させる。
【００５３】
尚、搬送ローラ４にはピンチローラ（図示略）が、排紙ローラ９には拍車（図示略）が、それぞれ圧接されており、この圧接点を用紙が通過しながら搬送・排紙が行われるのだが、これらについては後述する図２に基づいて説明する。エンコーダ８（本発明の検出手段に相当）は、円周に沿って所定間隔毎にスリットが形成（図示略）された回転スリット板８ａが、所定角度回転する毎に、パルス信号を出力するよう構成されている。この回転スリット板８ａは、搬送ローラ４と同軸回転するものであって、その搬送ローラ４はモータ７により回転され、さらにこのモータ７の回転は給紙ローラ３ａにも伝達される。そのため、エンコーダ８からのパルス信号を検出・カウントすることにより、モータ７の回転量はもちろん、搬送ローラ４や給紙ローラ３ａ等の回転量、搬送ローラ４により搬送される用紙の移動量を検出することができる。
【００５４】
次に、プリンタ１００に搭載された給紙搬送装置について、図２に基づいて説明する。尚、図２の給紙搬送装置１１０は、図１で説明したプリンタ１００を、用紙の送出・搬送・排紙の観点からより詳細且つ模式的に説明したものとなっている。そのため、図２において、図１で説明した構成要素と同じものについては、図１と同じ符号を付し、その説明を省略する。
【００５５】
図２に示す如く、本実施形態の給紙搬送装置１１０は、主として給紙搬送機構１と、ＣＰＵ１１，ＡＳＩＣ（Application Specific Integrated Circuit ）１２，及び駆動回路１３からなるモータ制御装置１０とにより構成されている。給紙搬送機構１において、まず用紙分離機構３は、用紙収納板２に積層した状態で収納された用紙を１枚ずつ取り出して送出するためのものである。また、用紙収納板２の最下部には土手部２ａが設けられている。
【００５６】
用紙分離機構３は、給紙ローラ３ａが積層された用紙の最上面と接触し、この給紙ローラ３ａの反時計回り回転によって、その最上面の用紙が土手部２ａに向かって送り出されるよう構成されている。また、モータ７から駆動力伝達機構（図示略）を介して伝達される回転駆動力を受ける太陽ギア３ｂと、この太陽ギア３ｂの周囲に沿って可動に構成された遊星ギア３ｃと、この遊星ギア３ｃにより回転される従動ギア３ｄと、を備えている。
【００５７】
そして、太陽ギア３ｂは、モータ７が逆転したとき、その回転駆動力を受けて時計回り方向に回転するため、これを受けて遊星ギア３ｃは図２に示した位置に移動する。これにより、遊星ギア３ｃと従動ギア３ｄとが噛合した状態となるため、太陽ギア３ｂの時計回り方向の回転駆動力が遊星ギア３ｃ及び従動ギア３ｄを介して、給紙ローラ３ａまで伝達する。その結果、給紙ローラ３ａが反時計回り方向に回転し、用紙収納板２に積層された用紙を１枚取り出して土手部２ａの方向へ送出する。
【００５８】
一方、モータ７が正転したとき、太陽ギア３ｂは、その回転駆動力を受けて反時計回りに回転する。そのため遊星ギア３ｃは図示の状態から、従動ギア３ｄとの噛合が外れる方向に移動する。これにより、モータ７の回転駆動力は給紙ローラ３ａには伝達されず、給紙ローラ３ａは回転しない。
【００５９】
また、図１でも説明した通り、モータ７の回転駆動力は、搬送ローラ４及び排紙ローラ９にも伝達される。このとき、モータ７が逆転している間（つまり給紙ローラ３ａが回転している間）は、搬送ローラ４は時計回りに回転し、排紙ローラ９は反時計回りに回転する。また、モータ７が正転している間（給紙ローラ３ａは回転しない）は、搬送ローラ４は反時計回りに回転し、排紙ローラ９は時計回りに回転する。
【００６０】
また、搬送ローラ４にはピンチローラ４ａが圧接され、排紙ローラ９には拍車９ａが圧接されており、用紙は、それぞれの圧接点を通過し、搬送ローラ４と排紙ローラ９との間に備えられた記録ヘッド５により記録された後、排紙ローラ９と拍車９ａとの圧接点から排紙される。
【００６１】
土手部（分離部）２ａは、用紙収納板２に積層された用紙の下端を支持しており、給紙ローラ３ａが回転すると、土手部２ａ部分から積層された用紙の１枚が分離されて取り出される。そして、取り出された用紙は、図中破線で示す経路を右方向に送出される。尚、以下の説明では、用紙が用紙収納板２から取り出されて、搬送ローラ４とピンチローラ４ａとの圧接点（レジスト位置）に至るまでの区間を給紙区間といい、用紙がレジスト位置から搬送され、記録ヘッド５による記録動作が終了するまでの区間を搬送区間という。
【００６２】
次に、上記説明した給紙搬送装置１１０における、給紙搬送機構１の動作を制御するモータ制御装置１０について、図３に基づいて説明する。但し、以下の説明では、用紙を搬送区間で搬送する際の制御に絞って説明する。そのため、図３のモータ制御装置１０も、搬送区間におけるモータ制御に必要な構成要素のみを示している。
【００６３】
本実施形態における搬送区間での用紙の搬送は、用紙が副走査方向（用紙の搬送方向）に所定量ずつ順次紙送りされることによりなされる。具体的には、図２において紙面と垂直な方向に往復移動可能な記録ヘッド５によって主走査方向（水平面上において用紙の搬送方向に直交する方向）に一パス分の記録がなされると、次のパスを記録するために用紙が副走査方向に所定量紙送りされて停止し、そのパスにおいて記録ヘッド５による主走査方向の記録がなされる。それが終わると更に次のパスを記録するために再び用紙が副走査方向に所定量紙送りされて停止し、記録ヘッド５による主走査方向への記録がなされる。つまり、副走査方向への所定量の紙送りが、用紙への記録が完了するまで順次繰り返されるのである。
【００６４】
図３は、モータ制御装置１０の概略構成を示す説明図である。図３に示す如く、モータ制御装置１０は、当該プリンタ１００の制御を統括するＣＰＵ１１と、モータ７の回転速度や回転方向等を制御する各種制御指令を生成するＡＳＩＣ１２と、ＡＳＩＣ１２にて生成された各種制御指令に基づいてモータ７を駆動する駆動回路１３とにより構成される。
【００６５】
駆動回路１３の詳細は図６に示す通りであり、ＡＳＩＣ１２内の駆動用信号生成部２１にて生成された駆動指令を受けてその動作を開始し、駆動用信号生成部２１からの駆動方向指令に応じた駆動方向（モータ７を回転すべき方向）にてモータ７を回転させる。また、モータ７の回転量の制御は、駆動用信号生成部２１からの目標電流指令（目標トルク指令）に基づいて行われる。即ち、ＤＣモータ駆動用ＩＣ４６の内部には、図示はしないものの後述する図２２の駆動回路１３ａと同じようなＨブリッジ回路が形成されており、駆動用信号生成部２１からの目標電流指令に基づいてそのＨブリッジ回路を構成する各スイッチング素子（図２２ではＳ１〜Ｓ４）のスイッチング動作が制御されることになる。
【００６６】
ＡＳＩＣ１２内に設けられる駆動用信号生成部２１は、起動設定レジスタ３１の設定値に基づいて駆動指令を生成し出力すると共に、回転方向設定レジスタ３２の設定値にもとづいて駆動方向指令を生成し出力する。さらに、駆動用信号生成部２１は、ＡＳＩＣ１２内のフィードバック演算処理部２０（詳細は後述）にて生成される操作量ｕ（本実施形態では目標電流値）に基づいて、目標電流指令を生成し出力する。
【００６７】
ところで、本実施形態のモータ制御装置１０は、基本的には状態推定器を用いた状態フィードバック制御によりモータ７の駆動を制御（延いては搬送ローラ４を制御）するものであるが、従来の状態フィードバック制御と最も大きく異なる点は、予め想定されるモータ７の負荷量の変動範囲を複数レベルにレベル分けし、各負荷レベルに応じた適切な状態推定器を設けて、モータ７の負荷量に応じたいずれか一つの状態推定器を選択して使用することである。
【００６８】
本実施形態では、モータ７の負荷量変動範囲を、「通常負荷レベル」と「高負荷レベル」の２レベルに分け、各レベルに対応した状態推定器を各々設けている。ここで、通常負荷レベルに対応した状態推定器（以下「通常負荷用オブザーバ」ともいう）とは、モータ７及びその駆動対象である搬送ローラ４等が通常の状態（つまり通常の動作環境、動作条件にある状態）であるときのモータ７の負荷を設計想定負荷値として、モータ７の負荷がその設計想定負荷値にあるときの搬送ローラ４或いはモータ７の動作状態を推定するためのものである。一方、高負荷レベルに対応した状態推定器（以下「高負荷用オブザーバ」ともいう）とは、モータ７の負荷が上記設計想定負荷値より大きい高負荷状態となったときの搬送ローラ４或いはモータ７の動作状態を推定するためのものである。
【００６９】
そして、通常の使用状態ではモータ７の負荷は通常負荷レベルの範囲内にある可能性が高いため、デフォルトでは常に通常負荷用オブザーバが選択されるようになっている。そして、例えば周囲温度の低下や経年変化などによって、搬送ローラ４の軸（図示略）のグリス粘度やベルト１０５が硬化したりすると、モータ７の負荷量が増加して通常負荷レベルの範囲から高負荷レベルの範囲にまで上昇するおそれがある。そのように負荷量が高負荷レベルにまで上昇した場合に、高負荷用オブザーバに切り替えるようにしている。
【００７０】
そこで、ＡＳＩＣ１２の詳細構成を説明する前に、まず、ＡＳＩＣ１２内のフィードバック演算処理部２０について説明した上で、そのフィードバック演算処理部２０からの制御信号（操作量ｕ）によってモータ７がどのように制御されるかについて、図７〜１０に基づいて説明する。
【００７１】
図４は、ＡＳＩＣ１２を構成するフィードバック演算処理部２０の概略構成を示すブロック図である。図４に示す如く、本実施形態のフィードバック演算処理部２０は、位置カウンタ１５（図３参照）から得られるエンコーダ８のパルス信号のカウント値ｙが、目標停止位置設定レジスタ３９（図３参照）に設定されている目標停止位置ｒと一致するようにフィードバック制御するものであり、状態推定器ＯＢＳと、第１加算器ＡＤＤ１と、離散積分器ＩＮＴ１と、積分ゲイン積算器ＭＵＬ２と、第２加算器ＡＤＤ２と、状態フィードバックゲイン積算器ＭＵＬ１とにより構成されている。
【００７２】
まず、第１加算器ＡＤＤ１によって、目標停止位置設定レジスタ３９に設定されている目標停止位置（つまり搬送ローラ４の目標回転量）ｒと、位置カウンタ１５によるカウント値ｙとの偏差が演算される。次に、離散積分器ＩＮＴ１によって、第１加算器ＡＤＤ１により演算された偏差を離散積分した値、つまり、上記偏差にサンプリング時間Ｔｓを乗じた値の累積値が演算される。そして、積分ゲイン積算器ＭＵＬ２によって、離散積分器ＩＮＴ１により演算された累積値と、積分ゲイン設定レジスタ３８（図３参照）に設定されている積分ゲインＦ２とを積算した第１の制御信号が生成される。
【００７３】
状態推定器ＯＢＳは、モータ７によって用紙が搬送（順次紙送り）される紙送り系を、動的線形システムとしてモデル化し、モータ７への入力電流を操作量として送り量を制御する位置サーボ系として考えた場合に、その状態フィードバック制御を実現するための計算を行うものである。その際にどのような状態変数を選択するのかは、状態フィードバックの解説書等にもあるように、一意ではないので、制御系に合わせて適宜選択する必要がある。
【００７４】
本実施形態の状態推定器ＯＢＳは、具体的には図５に示すように、状態推定器（オブザーバ）として周知の基本的構成となっており、入力行列演算器ＭＡＴ２と、第３加算器ＡＤＤ３と、積分器ＩＮＴ２と、システム行列演算器ＭＡＴ１と、出力行列演算器ＭＡＴ３とにより構成されている。
【００７５】
このように構成された状態推定器ＯＢＳでは、フィードバック演算処理部２０が制御信号として出力する操作量ｕと、位置カウンタ１５によるカウント値ｙとが、入力行列Ｂによって演算される。そして、第３加算器ＡＤＤ３では、この入力行列演算器ＭＡＴ２における演算結果と、システム行列演算器ＭＡＴ１における演算結果とが加算され、その加算結果が積分器ＩＮＴ２によって積分演算される。この積分演算結果が、モータ７或いは搬送ローラ４の推定された状態量ｘであり、システム行列ＭＡＴ１にてシステム行列Ａと積算されると共に、出力行列演算器ＭＡＴ３にも入力されて出力行列Ｃとの所定の演算が行われる。この結果、カウント値ｙの推定値ｙ＾が得られると共に、推定値ｘはそのまま当該状態推定器ＯＢＳの外部にも出力される。
【００７６】
本実施形態では、搬送ローラ４の回転量を検出可能なエンコーダ８が存在することから、駆動対象（負荷）の動的な挙動が特徴づけられるパラメータ、例えば搬送ローラ４の角度（回転位置）や角速度、更にはモータ７自体の角度（回転位置）や角速度などを状態量ｘとして推定している。なお、状態量ｘを算出するにあたっては、負荷抵抗や、慣性（イナーシャ）等の機械定数を表す各種パラメータを利用して状態方程式を導いている。従って状態推定器ＯＢＳは、その状態方程式を基に状態量ｘを計算することになり、その状態方程式に基づく演算は図５に示した構成により実現されるのである。
【００７７】
このように、状態推定器ＯＢＳによって、駆動用信号生成部２１に入力する制御信号で示される操作量ｕと位置カウンタ１５によるカウント値ｙとに基づいて用紙搬送のための機構の内部状態を表す状態量ｘが推定されると、状態フィードバックゲイン積算器ＭＵＬ１によって、状態推定器ＯＢＳにより推定された状態量ｘと状態フィードバックゲイン設定レジスタ３７（図３参照）に設定されている状態フィードバックゲインＦ１とを積算した第２の制御信号が生成される。
【００７８】
そして、第２加算器ＡＤＤ２によって、第１の制御信号と第２の制御信号とを加算することにより、制御信号（操作量ｕ）が生成される。本実施形態では、この操作量ｕは、モータ７に流すべき電流の目標値である。
【００７９】
既述の通り、本実施形態では、２つの状態推定器（通常負荷用オブザーバ及び高負荷用オブザーバ）を備えているのであるが、これは即ち、図５に示した状態推定器ＯＢＳにおける状態方程式を決定付ける３つの行列である、システム行列Ａ，入力行列Ｂ，及び出力行列Ｃ（以下これらをまとめて「オブザーバ行列ｏｂｓｖ」ともいう）が、オブザーバテーブル設定レジスタ３６（図３参照）に２種類設定されていることを意味する。つまり、オブザーバテーブル設定レジスタ３６には、二種類のオブザーバ行列ｏｂｓｖ１，ｏｂｓｖ２が各々設定されており、いずれか一つがオブザーバ選択部１９により選択される。そして、この選択されたいずれか一方のオブザーバ行列が、状態推定器ＯＢＳにおける各行列Ａ，Ｂ，Ｃとして設定されるのである。具体的には、オブザーバ行列ｏｂｓｖ１が選択されたときは状態推定器ＯＢＳが通常負荷用オブザーバとして構成され、オブザーバ行列ｏｂｓｖ２が選択されたときは状態推定器ＯＢＳが高負荷用オブザーバとして構成されることになる。
【００８０】
次に、このように構成されたフィードバック演算処理部２０によって、実際にモータ７を駆動して搬送ローラ４を動作させたときの各種制御応答について説明する。まず、図７は、通常（適切なメカ）の場合の応答、即ち搬送ローラ４等が通常状態にあってモータ７の負荷量が通常負荷レベルの範囲内にある場合であって、状態推定器ＯＢＳとして通常負荷用オブザーバが選択されているとき（つまりデフォルト時）の応答を示している。
【００８１】
通常負荷レベルの場合には、操作量ｕ（つまり目標電流値）は図７（ｃ）に示す如く、モータ７の回転駆動開始直後には一旦正方向に増大してその後負側に変化し、最終的には「０」付近の極めて小さい値に収束する。操作量ｕがこのように変化することにより、搬送ローラ４の回転位置（詳細には位置カウンタ１５によるカウント値ｙ）は、図７（ａ）に示す如く、徐々に増加していって約０．３５sec.付近で目標停止位置ｒに到達する。また、搬送ローラ４の回転速度は、図７（ｂ）に示す如く、回転駆動開始直後に一旦増加して、その後再び減少して次第に「０」に収束していく。
【００８２】
モータ７の負荷量に変動がなく、常に通常負荷レベルが保たれていれば、この図７に示したような応答特性にて常に安定した制御がなされるわけだが、周囲温度の変化や経年変化等によってモータ７の負荷量が変動すると、当然ながら制御応答特性も図７の特性からずれが生じるようになる。
【００８３】
図８に、モータ７の負荷量が変動（増加）した場合の各種制御応答を示す。図８は、同じ状態推定器ＯＢＳ（通常負荷用オブザーバ）を選択しているときに負荷量が通常時の４倍（×４）、８倍（×８）、１２倍（×１２）と増大した場合の各応答を示している。操作量ｕのピーク値、即ち最大制御電流は、図８（ｃ）に示す如く負荷量が大きくなるほど増加する。しかも、負荷量が通常の場合は０．２sec.あたりからもう「０」に収束していくのに対し、負荷量が大きくなるほど、０．２sec.あたりから一旦負側に変化している。
【００８４】
これにより、図８（ａ）に示すように、搬送ローラ４の回転位置は、負荷量が大きい場合（特に×１２の場合）、目標停止位置をわずかに越えて再び所定の目標停止位置に戻るという、いわゆるオーバーシュートが生じている。回転速度についても同様であり、図８（ｂ）に示す如く、負荷量が大きい場合（×１２の場合）、０．２sec.あたりから一旦負側に転じている。
【００８５】
つまり、通常負荷用オブザーバを選択して状態フィードバック制御を行っている場合に、モータ７の負荷量が通常時の負荷量（通常負荷レベルの範囲における所定の値）から増加していくと、操作量ｕのピーク値が増加していくのに加え、オーバーシュートが生じるという問題が発生する。特にオーバーシュートについては、図８（ａ）を見る限りは所定の目標停止位置に戻っているため、特に問題ないようにみえるが、これはエンコーダ８の回転位置が正規の位置に戻っていることを示しているだけであって、所定の停止位置より余分に紙送りされた用紙が正規の停止位置に戻っているわけではない。このように用紙の停止位置にずれが生じると、用紙に記録される画像の品質が悪化される。そのため、このオーバーシュートは実際上は許容されないのである。
【００８６】
そのため、本実施形態では、モータ７の負荷量が高負荷レベルにまで増加したときには、それに合わせて状態推定器ＯＢＳも高負荷用オブザーバに切り替えるようにしているのである。そして、負荷量の増加が操作量ｕのピーク値の増加として反映されることに着目し、操作量ｕが所定の操作量閾値を越えたか否か（詳細には操作量閾値を越えた期間が所定の切替判定時間以上であるか否か）を判断して、切替判定時間以上であった場合に、通常負荷用オブザーバから高負荷用オブザーバへ切り替えるようにしている。
【００８７】
具体的には、図９に示す通りであり、本実施形態では操作量閾値を０．６［Ａ］に設定している。また、切替判定時間は２５ｍsec.に設定し、操作量ｕが操作量閾値を越えた時間がこの切替判定時間である２５ｍsec.以上であったときに、高負荷用オブザーバに切り替えるようにしている。尚、モータ７の駆動開始時（０．０５sec.）から停止時（約０．３５msec.）までの期間である約０．３sec.が、搬送区間における副走査方向の紙送り１回（本発明の単位動作）あたりの搬送ローラ回転期間（本発明の判定期間）であり、この期間中に操作量ｕが操作量閾値を所定時間（２５ｍsec.）以上越えたか否かを判定する。
【００８８】
つまり、操作量ｕが操作量閾値を２５ｍsec.以上越えた場合は、モータ７の負荷量が高負荷レベル（本発明の上負荷レベル）にあると判定して高負荷用オブザーバへ切り替える。そして、高負荷用オブザーバへの切り替え後、負荷量が再び低下することによって操作量ｕが操作量閾値を越える時間が２５ｍsec.に満たなくなったときは、負荷量が再び通常負荷レベル（本発明の下負荷レベル）に戻ったものと判定して通常負荷用オブザーバに切り替えるのである。なお、高負荷レベルと通常負荷レベルとの判定の境界となる負荷量、即ち、操作量ｕが操作量閾値を越える時間がちょうど切替判定時間である２５ｍsec.となる場合のモータ７の負荷量が、本発明における負荷レベルの境界部に相当するものである。
【００８９】
但し、本実施形態では、一回の紙送り動作において高負荷レベルにあると判定されても、すぐには高負荷用オブザーバに切り替えず、とりあえず切替対象としておく。そして、搬送区間における用紙搬送中に繰り返し行われる紙送り動作毎に、切替対象とされた回数（つまり高負荷レベルにあると判定された回数）をカウントし、所定の繰り返し回数（本発明の切替決定回数）以上となったときに、高負荷用オブザーバへの切り替えを行うのである。
【００９０】
また、高負荷用オブザーバから通常負荷用オブザーバへの切り替えについても同様であり、高負荷用オブザーバへの切り替え後、通常負荷レベルにあると判定された回数が所定の繰り返し回数となったときに、即ち、繰り返しカウンタ２８が０になったときに、通常負荷用オブザーバへ切り替える。尚、この判定処理については、後に詳述する。
【００９１】
図９の場合、負荷量の増加が比較的緩やかな場合（通常時及び×４時）は、操作量閾値を越える時間が２５ｍsec.未満であるため、通常負荷用オブザーバのままであるが、負荷量が通常時の８倍、１２倍となると、操作量閾値を越える時間が２５ｍsec.以上となって、高負荷用オブザーバへの切替対象となる。
【００９２】
このように、負荷量が通常時及びその４倍の場合は通常負荷用オブザーバのままとし、通常時の８倍及び１２倍の負荷量の場合に高負荷用オブザーバに切り替えたときの、各種制御応答を、図１０に示す。図１０（ｃ）に示す如く、負荷が大きくなるにつれて操作量ｕのピーク値（最大制御電流）は上昇するが、０．２sec.以後の負側への転じがほぼ解消されている。これにより、図１０（ａ）に示す如く、回転位置応答におけるオーバーシュートの発生が解消されている。また、図１０（ｂ）に示す如く、回転速度応答における最大速度のバラツキも減少している。そして、オブザーバを高負荷用に切り替えても、負荷量に応じて操作量ｕのピーク値が増加するという性質は不変であるため、高負荷用オブザーバへの切り替え後も、同じ操作量閾値に基づいて、高負荷レベルのままであるか、それとも通常負荷レベルに戻ったかを判定することができる。
【００９３】
ここで、図３に戻り、本実施形態のモータ制御装置１０を構成するＡＳＩＣ１２について説明する。ＡＳＩＣ１２の内部には、モータ７の制御に用いる各種パラメータを格納する動作モード設定レジスタ群３０が備えられている。この動作モード設定レジスタ群３０は、モータ７を起動するための起動設定レジスタ３１と、モータの回転方向を設定するための回転方向設定レジスタ３２と、負荷レベルの判定基準となる既述の操作量閾値を設定するための操作量閾値設定レジスタ３３と、切替判定時間（本例では２５ｍsec.）を設定するための切替判定時間設定レジスタ３４と、上記の繰り返し回数を設定するための繰り返し回数設定レジスタ３５と、通常負荷用オブザーバ（即ちオブザーバ行列ｏｂｓｖ１）および高負荷用オブザーバ（即ちオブザーバ行列ｏｂｓｖ２）を設定するためのオブザーバテーブル設定レジスタ３６と、状態フィードバックゲインＦ１を設定するための状態フィードバックゲイン設定レジスタ３７と、積分ゲインＦ２を設定するための積分ゲイン設定レジスタ３８と、目標停止位置ｒを設定するための目標停止位置設定レジスタ３９と、離散積分器ＩＮＴ１におけるサンプリング時間Ｔｓを設定するための演算タイミング設定レジスタ４０と、操作量ｕの上限を設定するための制御出力上限設定レジスタ４１とから構成されている。
【００９４】
エンコーダエッジ検出部１４は、エンコーダ８からのパルス信号を取り込んでそのパルス信号のエッジ（例えば立ち上がりエッジ又は立ち下がりエッジのいずれか、若しくはその両方など）を検出し、その検出したエッジを、位置カウンタ１５がカウントすることによって搬送ローラ４の回転量（搬送区間を搬送中の用紙の位置）をそのカウント値ｙとして検出する。また、周期カウンタ１６は、エンコーダエッジ検出部１４からのエッジ間の時間（周期）をカウントすることにより、搬送ローラ４の回転速度を検出するものである。
【００９５】
クロック生成部２２は、エンコーダ８からのパルス信号よりも十分に短い周期のクロック信号を生成して、当該ＡＳＩＣ１２内の各部に供給する。各種信号処理部１７は、エラー処理やＣＰＵ１１に対する割り込み信号出力などを行うものである。
【００９６】
テーブル切替判定処理部１８は、フィードバック演算処理部２０からの制御信号（操作量ｕ）と操作量閾値とを比較することによってモータ７の負荷量の負荷レベル判定を行い、オブザーバ選択部１９に対して状態推定器ＯＢＳの切り替え指示を行うものである。具体的には、紙送りを行う毎、つまり一回の紙送り期間中に、操作量ｕが操作量閾値を越えた時間を計時カウンタ２７が計時する。そして、計時幅レジスタ２６には、切替判定時間設定レジスタに設定された切替判定時間が設定されており、計時カウンタ２７による計時結果がその切替判定時間以上となったときに、切替対象として繰り返しカウンタ２８がカウントアップする。そして、繰り返しカウンタ２８のカウント値が、繰り返し回数設定レジスタ３５に設定された繰り返し回数以上となったときに、負荷量が高負荷レベルになったものと判定して、オブザーバ選択部１９に対して高負荷用オブザーバを選択するよう指示する。
【００９７】
この指示を受けたオブザーバ選択部１９は、指示に応じて、高負荷用オブザーバであるオブザーバ行列ｏｂｓｖ２を、フィードバック演算処理部２０内の状態推定器ＯＢＳにおける各行列Ａ，Ｂ，Ｃとして設定する。
【００９８】
一方、負荷量が通常負荷レベルの範囲内にある場合は、計時カウンタ２７による計時結果が切替判定時間未満となり、繰り返しカウンタ２８はカウントダウンする。そのため、負荷量が高負荷レベルの範囲に増加して繰り返しカウンタ２８のカウント値が繰り返し回数以上となることにより高負荷用オブザーバに切り替わった後、負荷量が再び通常負荷レベルの範囲内に減少すると、計時カウンタ２７による計時結果は切替判定時間未満になって、紙送り一回毎に繰り返しカウンタ２８のカウント値が一つずつ減っていく。そして、カウント値が０になったときに、負荷量が通常負荷レベルになったものと判定して、オブザーバ選択部１９に対して通常負荷用オブザーバを選択するよう指示する。
【００９９】
この指示を受けたオブザーバ選択部１９は、指示に応じて、通常負荷用オブザーバであるオブザーバ行列ｏｂｓｖ１を、フィードバック演算処理部２０内の状態推定器ＯＢＳにおける各行列Ａ，Ｂ，Ｃとして設定する。
【０１００】
次に、本実施形態のモータ制御装置１０において、ＣＰＵ１１が実行する処理、及び、ＡＳＩＣ１２にて実行される処理について、図１１〜１３に基づいて説明する。まず、図１１は、ＣＰＵ１１が実行するＡＳＩＣ設定処理を示すフローチャートである。
【０１０１】
搬送ローラ４による用紙の搬送を行うにあたってまずこのＡＳＩＣ設定処理が開始されると、ステップ（以下「Ｓ」と略す）１１０にて、動作モード設定レジスタ群３０内の各レジスタの設定がなされる。具体的な設定項目は図３で説明した通りである。その後、Ｓ１２０にて、停止割り込み許可をＡＳＩＣ１２へ出力する。この停止割り込み許可信号を受けたＡＳＩＣ１２は、紙送り動作時に所定の目標停止位置ｒにて停止する毎に停止割り込み信号を出力可能な状態となるのだが、ここではその詳細説明を省略する。
【０１０２】
そして、Ｓ１３０で起動設定レジスタ３１を設定することで、モータ７の駆動、延いては搬送ローラ４の回転駆動による用紙の搬送（紙送り）が開始される。その後のモータ７の制御は、基本的にＡＳＩＣ１２により行われ、ＣＰＵ１１は、Ｓ１４０にて停止割り込み信号の待機を行う。そして、ＡＳＩＣ１２から停止割り込み信号が出力されると、Ｓ１４０で肯定判定されてＳ１５０に進み、停止割り込みフラグをクリアすると共に、以後割り込み信号が入ってこないよう、割り込みマスク処理を行う。図１１に示したこのＡＳＩＣ設定処理は、搬送区間において副走査方向に順次紙送りがなされる毎に逐一行われるものである。
【０１０３】
次に、ＡＳＩＣ１２で実行されるモータ制御処理について、図１２に基づいて説明する。なお、ＡＳＩＣ１２によるモータ制御は周知の如くハードウェアの動作としてなされるものであるが、ここでは理解を容易にするため、ハードウェアの動作をフローチャートに置き換えて説明する。
【０１０４】
ＣＰＵ１１の処理によって起動設定レジスタ３１が設定されることによりＡＳＩＣ１２が制御処理を開始すると、まずＳ２１０にて、ｔａｂｌｅ＿ｓｅｌの設定値が判定される。このｔａｂｌｅ＿ｓｅｌは、状態推定器ＯＢＳとして、通常負荷用オブザーバ（ｔａｂｌｅ＿ｓｅｌ＝１）又は高負荷用オブザーバ（ｔａｂｌｅ＿ｓｅｌ＝２）のどちらが選択されているかを示すものであり、本実施形態では、デフォルトでは通常負荷用オブザーバが選択された状態となっている。そのため、ここではｔａｂｌｅ＿ｓｅｌ＝１に設定されているため、Ｓ２２０に進む。
【０１０５】
Ｓ２２０では、オブザーバ行列ｏｂｓｖとして通常負荷用のオブザーバ行列ｏｂｓｖ１を設定する。これにより、状態推定器ＯＢＳは通常負荷用オブザーバとなり、続くＳ２４０にてモータ駆動演算を開始し、更にＳ２５０に進んでモータ７の駆動制御を開始する。このＳ２５０の駆動制御は、搬送ローラ４の回転量が目標停止位置ｒになって停止するまで行われる状態フィードバック制御である。そのため、目標停止位置ｒとなって停止するまで、つまり停止割り込み信号が出力されるまでは、Ｓ２６０にて否定判定され続けるが、目標停止位置ｒまで回転して停止すると、Ｓ２７０に移行して停止処理を行う。
【０１０６】
一方、Ｓ２４０にて開始されるモータ駆動演算は、詳細には図１３に示す通りであり、まずＳ４１０にて計時幅レジスタ２６及び計時カウンタ２７をクリアする。そして、Ｓ４２０にて、操作量ｕが操作量閾値を越えているか否か判断し、越えていればＳ４３０で計時カウンタ２７をカウントアップしてからＳ４４０に進む。Ｓ４４０では、計時幅レジスタ２６に、計時カウンタ２７のカウンタ値をセットする。そして、Ｓ４５０にて停止割り込みが発生したか否か判断し、発生した場合はこのモータ駆動演算処理を終了するが、発生しない間は、Ｓ４２０以下の処理、即ち操作量ｕが操作量閾値を越えているか否かの処理等を繰り返し行うことになる。
【０１０７】
一回の紙送りが終わって搬送ローラ４が一旦停止すると、次の紙送りが開始されるまでの間に、Ｓ２８０以降の処理が行われる。即ち、Ｓ２８０にて、計時幅レジスタ２６にセットされている計時カウンタ２７のカウント値、言い換えれば操作量ｕが操作量閾値を越えた時間が、切替判定時間設定レジスタ３４に設定されている切替判定時間以上であるか否かを判断する。そして、切替判定時間以上と判定された場合、Ｓ３２０に進み、繰り返しカウンタ２８のカウント値が繰り返し回数設定レジスタ３５に設定されている繰り返し回数以上であるか否かを判断する。
【０１０８】
このとき、まだ繰り返し回数以上でない場合は、Ｓ３３０で繰り返しカウンタ２８をインクリメントしてこの処理を終了するが、繰り返し回数以上となった場合は、モータ７の負荷量が増加して高負荷レベルの範囲内に入っているものと判断し、Ｓ３４０で、ｔａｂｌｅ＿ｓｅｌ＝２に設定する。これにより、次の紙送り動作では、高負荷用オブザーバに切り替わることになる。
【０１０９】
また、操作量閾値を越えた期間が切替判定時間に満たなかったことによりＳ２８０で否定判定された場合は、Ｓ２９０にて、繰り返しカウンタ２８のカウンタ値が０であるか否か判断され、０でなければＳ３１０にて繰り返しカウンタ２８のカウント値をデクリメントするが、０となっている場合、Ｓ３００にて、ｔａｂｌｅ＿ｓｅｌ＝１に設定する。つまり、通常負荷用のオブザーバ行列ｏｂｓｖ１を選択して状態推定器ＯＢＳに設定することで、状態推定器ＯＢＳを通常負荷用オブザーバに切り替えるのである。
【０１１０】
このようにして、一回の紙送りが終わり、且つ、計時カウンタ２７のカウント値に基づく状態推定器ＯＢＳの切り替え（又は現状維持）がなされた後は、再び、図１１〜図１３に示した各処理が上記同様に開始されて次の紙送りが開始される。その際、もし前回の紙送り終了後にｔａｂｌｅ＿ｓｅｌ＝２に設定されていた場合は、次の紙送り動作の際のＳ２１０の判定処理では、そのｔａｂｌｅ＿ｓｅｌ＝２の設定内容に従って、Ｓ２３０に進み、オブザーバ行列ｏｂｓｖとして高負荷用のオブザーバ行列ｏｂｓｖ２を設定する。これにより、状態推定器ＯＢＳが高負荷用オブザーバに切り替わるのである。
【０１１１】
以上説明した本実施形態のモータ制御装置１０によれば、想定されるモータ７の負荷量の変動範囲をレベル分けして、負荷量が通常負荷レベルにあるときは通常負荷用オブザーバを用いて状態フィードバック制御を行い、負荷量が高負荷レベルにあるときは高負荷用オブザーバを用いて状態フィードバック制御を行うようにしたため、例えば図１０で説明した制御応答からもわかるように、モータ負荷の変動に拘わらず制御精度を高精度に維持することができ、状態推定器ＯＢＳを用いたモータ７の制御性能の低下を防止することが可能となる。
【０１１２】
また、モータ７の負荷量を表す情報として操作量ｕを利用し、この操作量ｕが所定の操作量閾値を越えたか否か、更に越えた期間が所定の切替判定期間以上であるか否か、更に切替判定時間以上と判断された回数が所定の繰り返し回数以上であるか否かを判断し、繰り返し回数以上となったときに、オブザーバの切り替えを行うようにしている。
【０１１３】
そのため、モータ７の負荷量を正確に把握した上での制御となると共に、例えばノイズや瞬間的な負荷量変化等の何らかの要因で操作量ｕに突発的（瞬間的）な変化が生じても、それによって負荷レベルが誤判定されないようになり、負荷量の変動に拘わらずモータ７の制御性能をより高精度に維持することが可能となる。
【０１１４】
更に、本実施形態では、操作量ｕが操作量閾値を越えた期間の計時を累積して行っている。即ち、図１３に示したように、計時カウンタ２７のカウントアップ中に、一時的に操作量ｕが操作量閾値以下となってＳ４２０で否定判定されても、それまでの計時結果（カウント値）はリセットされずに保持され、再び操作量ｕが操作量閾値を越えたときはその保持されていた計時結果を初期値として計時を再開するのである。そのため、ノイズ等による操作量ｕの不測の変動の影響をうけることなく、より正確に負荷量の変動を把握することができる。
【０１１５】
ここで、本実施形態の構成要素と本発明の構成要素の対応関係を明らかにする。本実施形態において、目標停止位置設定レジスタ３９に目標停止位置ｒを設定するＣＰＵ１１は本発明の目標設定手段に相当し、フィードバック演算処理部２０は本発明の制御手段に相当し、状態推定器ＯＢＳ及びそれを構成する各オブザーバ行列ｏｂｓｖ１，ｏｂｓｖ２は本発明の推定手段に相当する。また、テーブル切替判定処理部１８とオブザーバ選択部１９とにより本発明の切替手段が構成され、このうちテーブル切替判定処理部１８は本発明の負荷レベル判定手段に相当し、さらに計時カウンタ２７は本発明の計時手段に相当する。
【０１１６】
また、図１２のモータ制御処理において、Ｓ２８０，Ｓ２９０，Ｓ３１０〜Ｓ３３０の処理は本発明の計時判定手段が実行する処理に相当し、図１３のモータ駆動演算処理において、Ｓ４２０の処理は本発明の操作量判定手段が実行する処理に相当し、Ｓ４３０及びＳ４４０の処理はいずれも本発明の計時手段が実行する処理に相当する。
【０１１７】
［第２実施形態］
上記第１実施形態では、モータ７の負荷量の変動に応じて適切なオブザーバを選択することで、状態推定器ＯＢＳを用いた状態フィードバック制御の制御性能を高精度に維持するものであった。ところが、負荷レベルに応じてオブザーバのみを切り替えるようにすると、図１０（ｃ）からも明らかなように、負荷量が大きくなるほど操作量ｕも大きくなる。
【０１１８】
この場合、操作量ｕが多少大きくなっても問題とならないような場合はいいのだが、操作量ｕが大きくなると、装置全体としての消費電力の増大、延いては電源装置の容量アップを招いたり、停止精度の悪化を招くおそれもあるため、制御系の種類によっては、操作量ｕが大きくなりすぎるのはあまり望ましくないという場合も考えられる。
【０１１９】
そこで、本実施形態では、負荷レベルに応じてオブザーバを切り替えるだけでなく、オブザーバと共に制御用ゲインも切り替えるようにすることで、負荷量が増大しても操作量ｕの増大を抑制するようにしている。
【０１２０】
具体的には、二つの負荷レベルである「通常負荷レベル」及び「高負荷レベル」のそれぞれについて、適切な制御用ゲインを設定する。ここでいう制御用ゲインとは、フィードバック演算処理部２０（図４参照）で用いられる状態フィードバックゲインＦ１及び積分ゲインＦ２である。この二つの制御用ゲインを、上記各負荷レベル毎に夫々設定することで、負荷量が通常値であって通常負荷用オブザーバが選択されているときの操作量ｕと、負荷量が大きくなって高負荷用オブザーバが選択されているときの操作量ｕとの差が、大きくならないようにしているのである。
【０１２１】
図１４は、負荷量増大によってオブザーバ及び制御用ゲインを切り替えた場合の各種制御応答の変化を示すグラフであり、負荷量が通常時（×１）及びその４倍（×４）の場合は通常負荷用オブザーバが選択されると共にその通常負荷用オブザーバに対応した制御用ゲインが選択され、負荷量が通常時の８倍（×８）及び１２倍（×１２）の場合は高負荷用オブザーバが選択されると共にその高負荷用オブザーバに対応した制御用ゲインが選択されている場合を示している。
【０１２２】
本図（ｃ）と図１０（ｃ）を比較して明らかなように、オブザーバだけでなく制御用ゲインもあわせて切り替えるようにすることで、操作量ｕのピーク値の上昇が抑制され、負荷量が大きくなっても最大電流値を通常状態に抑えることが可能となる。ただし、操作量ｕのピーク値を抑えるために制御用ゲインを切り替えるため、図１４（ａ），（ｂ）に示す如く、高負荷用オブザーバが選択されている場合は、回転速度が遅くなって、目標停止位置に到達するまでの時間も長くなる。
【０１２３】
ところで、上記第１実施形態のモータ制御装置１０を、単にオブザーバと共に制御用ゲインも切り替えるようにしただけの場合、一つ問題が生じる。それは、例えば高負荷用オブザーバに切り替えた場合、操作量ｕのピーク値が通常負荷レベルのときと同程度にまで抑えられるため、切り替え前の操作量閾値（本例では０．６［Ａ］）を用いて負荷レベルの判断を行うことができなくなることである。仮に同じ操作量閾値を用いるようにすると、高負荷用オブザーバに切り替えたとき操作量ｕのピーク値は図１４（ｃ）のように０．６［Ａ］近傍レベルに抑制されるため、負荷量は高負荷レベルにあるにも拘わらず、すぐにまた通常負荷用オブザーバに切り替わってしまう。
【０１２４】
一方、オブザーバ及び制御用ゲインを高負荷用に切り替えた後、負荷量が減少していくと、図１５（ｃ）に示すように操作量ｕのピーク値も減少していく。尚、図１５の制御応答は、オブザーバ及び制御用ゲインが高負荷レベル用の場合を示している。
【０１２５】
そこで、本実施形態では、オブザーバ及び制御用ゲインを高負荷レベル用に切り替えた後は、再び通常負荷レベルに負荷量が低下したか否かの判断を、上記操作量閾値より低い別の閾値に基づいて判断するようにしている。具体的には、図１６に示すように、通常負荷用オブザーバ及びそれに対応した制御用ゲインが選択されているときの、負荷量が通常負荷レベルから高負荷レベルに増加したか否かの判断については、操作量上閾値（第１実施形態における操作量閾値と同じ）に基づいて行い、逆に、高負荷用オブザーバ及びそれに対応した制御用ゲインが選択されているときの、負荷量が高負荷レベルから通常負荷レベルに減少したか否かの判断については、操作量下閾値に基づいて行う。この操作量下閾値に基づく判断は、例えば、操作量ｕが操作量下閾値を越えた時間が所定の切替判定時間以上（本例では２５ｍsec.）のときはまだ高負荷レベルにあると判断し、切替判定時間未満となったときに、通常負荷レベルまで低下したものと判断するようにすることができる。
【０１２６】
このようにすることで、図１６に示すように、負荷量がまだ大きい状態にある場合（×１２及び×８）は、操作量ｕが操作量下閾値を越える時間が２５ｍsec.以上であるため、切替対象外である。しかし、負荷量が小さくなった場合（×１及び×４）は、操作量ｕが操作量下閾値を越える時間が２５ｍsec.未満となるため、通常負荷用オブザーバへの切替対象となる。
【０１２７】
上記説明したような、負荷レベルに応じたオブザーバ及び制御ゲインの切り替えは、図１７に示す構成のモータ制御装置５０により実現できる。図１７に示した本実施形態のモータ制御装置５０が上記第１実施形態のモータ制御装置１０（図３）と異なる点は、次の通りである。
【０１２８】
まず、本実施形態では、図１６で説明した操作量上閾値及び操作量下閾値を夫々設定するための操作量上閾値設定レジスタ６１及び操作量下閾値設定レジスタ６２を備えている。また、通常負荷用オブザーバが選択されているときに負荷量が高負荷レベルにまで増加したか否かを判定するための時間的基準となる高負荷切替判定時間（本発明の上側切替判定時間に相当；第１実施形態の切替判定手段と同じ２５ｍsec.）が設定される高負荷切替時間設定レジスタ６３と、高負荷用オブザーバが選択されているときに負荷量が通常負荷レベルにまで減少したか否かを判定するための時間的基準となる通常負荷切替判定時間（本発明の下側切替判定時間に相当；図１６で説明した通り２５ｍsec.）が設定される通常負荷切替時間設定レジスタ６４とを備えている。
【０１２９】
更に、各オブザーバに対応した制御用ゲインとして、状態フィードバックゲインテーブル設定レジスタ６５には、通常負荷用オブザーバに対応した状態フィードバックゲインであるＦ１＿１と、高負荷用オブザーバに対応した状態フィードバックゲインであるＦ１＿２とが設定され、積分ゲインテーブル設定レジスタ６６には、通常負荷用オブザーバに対応した積分ゲインであるＦ２＿１と、高負荷用オブザーバに対応した積分ゲインであるＦ２＿２とが設定される。
【０１３０】
そして、テーブル切替判定処理部５４による負荷レベルの判定結果（選択指令）に基づいて、状態フィードバックゲイン選択部５５及び積分ゲイン選択部５６はそれぞれ、オブザーバの種類に対応した（つまり負荷レベルに対応した）ゲインを選択してフィードバック演算処理部２０へ出力することになる。
【０１３１】
次に、本実施形態のモータ制御装置５０において、ＡＳＩＣ５２にて実行される処理について、図１８及び図１９に基づいて説明する。まず、図１８は、ＡＳＩＣ５２によってなされる、モータ制御処理を示すフローチャートである。ＣＰＵ５１の処理によって起動設定レジスタ３１が設定されることによりＡＳＩＣ１２が制御処理を開始すると（第１実施形態の図１１と同じ）、まずＳ５１０にて、ｔａｂｌｅ＿ｓｅｌの設定値が判定される。本実施形態では、デフォルトでは通常負荷用オブザーバ及びそれに対応した制御用ゲイン（状態フィードバックゲインＦ１＿１，積分ゲインＦ２＿１）が選択された状態となっている。そのため、ここではｔａｂｌｅ＿ｓｅｌ＝１に設定されているため、Ｓ５２０に進む。
【０１３２】
Ｓ５２０では、オブザーバ行列ｏｂｓｖとして通常負荷用のオブザーバ行列ｏｂｓｖ１を、状態フィードバックゲインＦ１として通常負荷用のゲインＦ１＿１を、積分ゲインＦ２として通常負荷用のゲインＦ２＿１を、それぞれ設定する。これにより、状態推定器ＯＢＳ及び各制御用ゲインは通常負荷用となり、続くＳ５４０にてモータ駆動演算を開始し、更にＳ５５０に進んでモータ７の駆動制御を開始する。このＳ５５０の駆動制御は、図１２のＳ２５０と同様である。その後、目標停止位置ｒとなって停止するまで、つまり停止割り込み信号が出力されるまでは、Ｓ５６０にて否定判定され続けるが、目標停止位置ｒまで回転して停止すると、Ｓ５７０に移行して停止処理を行う。
【０１３３】
一方、Ｓ５４０にて開始されるモータ駆動演算は、詳細には図１９に示す通りであり、まずＳ７１０にて計時幅レジスタ５７及び計時カウンタ５８をクリアする。そして、Ｓ７２０にて、現在どのオブザーバが選択されているかを判断し、通常負荷用オブザーバであればＳ７３０に移行し、高負荷用オブザーバであればＳ７７０に移行する。
【０１３４】
ここで、通常負荷用オブザーバが選択されていることによりＳ７３０に移行した場合、操作量ｕが操作量上閾値より大きいか否かが判定され、大きい場合はＳ７４０で第１計時カウンタをカウントアップしてからＳ７５０に進む。Ｓ７５０では、第１計時幅レジスタに第１計時カウンタのカウンタ値をセットする。そして、Ｓ７６０にて停止割り込みが発生したか否か判断し、発生した場合はこのモータ駆動演算処理を終了するが、発生しない間は、Ｓ７３０以下の処理、即ち操作量ｕが操作量上閾値を越えているか否かの処理等を繰り返し行うことになる。
【０１３５】
逆に、高負荷用オブザーバが選択されていることによりＳ７７０に移行した場合、操作量ｕが操作量下閾値より大きいか否かが判定され、大きい場合はＳ７８０で第２計時カウンタをカウントアップしてからＳ７９０に進む。Ｓ７９０では、第２計時幅レジスタに第２計時カウンタのカウンタ値をセットする。そして、Ｓ８００にて停止割り込みが発生したか否か判断し、発生した場合はこのモータ駆動演算処理を終了するが、発生しない間は、Ｓ７７０以下の処理、即ち操作量ｕが操作量下閾値を越えているか否かの処理等を繰り返し行うことになる。
【０１３６】
なお、図示は省略したものの、第１計時幅レジスタ及び第２計時幅レジスタはいずれも、図１７に示した計時幅レジスタ５７の中に各々設けられており、第１計時カウンタ及び第２計時カウンタはいずれも、図１７に示した計時カウンタ５８の中に各々設けられている。
【０１３７】
一回の紙送りが終わって搬送ローラ４が一旦停止すると、次の紙送りが開始されるまでの間に、Ｓ５８０以降の処理が行われる。即ち、Ｓ５８０にて、第１計時幅レジスタにセットされている第１計時カウンタのカウント値、言い換えれば操作量ｕが操作上量閾値を越えた時間が、高負荷切替判定時間設定レジスタ６３に設定されている高負荷切替判定時間以上であるか否かを判断する。そして、高負荷切替判定時間以上と判定された場合、モータ７の負荷量が増加して高負荷レベルの範囲内に入っているものと判断し、Ｓ５９０で、ｔａｂｌｅ＿ｓｅｌ＝２に設定する。これにより、次の紙送り動作では、高負荷用オブザーバ及びそれに対応した制御用ゲインに切り替わることになる。
【０１３８】
また、操作量上閾値を越えた期間が高負荷切替判定時間に満たなかったことによりＳ５８０で否定判定された場合は、Ｓ６００にて、第２計時幅レジスタにセットされている第２計時カウンタのカウント値、言い換えれば操作量ｕが操作量下閾値を越えた時間が、通常負荷切替判定時間設定レジスタ６４に設定されている通常負荷切替判定時間より短いか否かを判断する。そして、通常負荷切替判定時間以上のときはそのまま本処理を終了するが、通常負荷切替判定時間に満たない場合は、Ｓ６１０にて、ｔａｂｌｅ＿ｓｅｌ＝１に設定する。
【０１３９】
従って、本実施形態のモータ制御装置５０によれば、オブザーバに加えて制御用ゲインについても、オブザーバに対応したものに切り替えるため、操作量ｕのピーク値が増大するのを抑制しつつ、より適切な制御を行うことが可能となる。
【０１４０】
また、負荷レベルの増加を判定するための閾値（操作量上閾値）と、負荷レベルの低下を判定するための閾値（操作量下閾値）とを、操作量上閾値＞操作量下閾値となるように別々に設定しているため、本実施形態のように制御用ゲインを切り替えるよう構成さ手居る場合であっても、負荷レベルの増加及び低下の判定をいずれも適切に行うことが可能となる。
【０１４１】
尚、図１９のモータ駆動演算処理において、Ｓ７３０の処理は本発明の操作量増加判定手段が実行する処理に相当し、ＳＳ７７０の処理は本発明の操作量低下判定手段が実行する処理に相当し、Ｓ７４０及びＳ７５０の処理は本発明の計時手段が実行する処理のうち本発明の上側時間を計時する処理に相当し、Ｓ７８０及びＳ７９０の処理は本発明の計時手段が実行する処理のうち本発明の下側時間を計時する処理に相当する。また、図１８のモータ制御処理において、Ｓ５８０及びＳ６００の処理はいずれも本発明の計時判定手段が実行する処理に相当する。
【０１４２】
［第３実施形態］
上記第１，第２実施形態では、モータ７の負荷量を、操作量ｕに基づいて判断（予測）するようにしたが、モータ７の負荷量は、既述の如く、例えば周囲温度によっても変化する。そこで本実施形態では、操作量ｕに代えて周囲温度に基づいて負荷量を判断するようにしている。そして、周囲温度が低くなるほどモータ負荷が大きくなることが予想されるため、周囲温度が所定の温度閾値より高いときは通常負荷用オブザーバを選択し、所定の温度閾値より低いときは高負荷用オブザーバに切り替える。
【０１４３】
このようなオブザーバの切り替えを行う本実施形態のモータ制御装置は、図２０に示す如く、周囲温度に応じたセンサ信号を出力するサーミスタ７３と、サーミスタ７３からのセンサ信号に基づいて周囲温度を検出する温度検出部７４とを備えている。そして、動作モード設定レジスタ群７６には、負荷レベルを判定する基準となる温度閾値を設定するための温度閾値設定レジスタ７７が設けられ、この温度閾値と、温度検出部７４からの検出温度とを比較することにより、モータ７の負荷量（負荷レベル）を判定してそれに対応したオブザーバを選択するように構成されている。その他の構成は、上記第１実施形態のモータ制御装置１０（図３）と同じであり、図３と同じ構成要素には図３と同じ符号を付している。
【０１４４】
次に、上記のように構成された本実施形態のモータ制御装置７０において、ＡＳＩＣ７２で実行されるモータ制御処理は、図２１に示す通りである。図２１のモータ制御処理は、基本的には第１実施形態におけるモータ制御装置（図１２）と同じ処理である。即ち、図２１においてＳ８１０〜Ｓ８６０までの処理は、図１２におけるＳ２１０〜Ｓ２７０までの処理からＳ２４０の処理を省いたものと全く同じである。また、図２１においてＳ８８０〜Ｓ９３０の処理は、図１２におけるＳ２９０〜Ｓ３４０までの処理と全く同じである。そして、本実施形態では、Ｓ８６０の停止処理（図１２のＳ２７０と同じ）の後、Ｓ８７０にて、温度検出部７４からの検出温度が、温度閾値設定レジスタ７７に設定されている温度閾値より高いか否かを判断し、高ければＳ９１０に移行し、高くなければＳ８８０に移行する。
【０１４５】
そして、高いと判断された回数が所定の繰り返し回数以上となれば低負荷用オブザーバに切り替えるようにし（Ｓ９３０）、高くないと判断されることによって繰り返しカウンタのカウント値が０となったときは高負荷用オブザーバに切り替えるようにしている（Ｓ３００）。
【０１４６】
本実施形態では、周囲温度に応じてオブザーバのみを切り替える例について示したが、上記第２実施形態と同様に、オブザーバ及び制御ゲインの両方を切り替えるように構成してもよいことはいうまでもない。尚、本実施形態において、サーミスタ７３は本発明の温度検出手段に相当し、テーブル切替判定処理部７５は本発明（請求項１３）の負荷レベル判定手段に相当する。
【０１４７】
［変形例］
以上、本発明の好適な実施形態について説明したが、本発明の実施の形態は、上記実施形態に何ら限定されるものではなく、本発明の技術的範囲に属する限り種々の形態を採り得ることはいうまでもない。
【０１４８】
例えば、上記各実施形態では、負荷レベルを二つにレベル分けすると共に、各レベルに応じた二種類のオブザーバ、更には各オブザーバに対応した制御用ゲインを設けて、負荷レベルに応じて切り替えて使用するようにしたが、二つのレベル分けに限ることなく、例えば三つ或いはそれ以上に負荷レベルをレベル分けし、各レベル毎にオブザーバ（及び制御ゲイン）を設定するようにしてもよい。
【０１４９】
また、上記第２実施形態における図１８のモータ制御処理では、第１計時幅が高負荷切替判定時間以上のときはすぐにｔａｂｌｅ＿ｓｅｌ＝２に設定し、また、第２計時幅が通常負荷切替判定時間より短いときはすぐにｔａｂｌｅ＿ｓｅｌ＝１に設定するようにしたが、例えば第１実施形態のモータ制御処理（図１２）のように、繰り返しカウンタを用いるようにしてもよい。
【０１５０】
即ち、例えばＳ５８０で肯定判定された回数をカウントし、所定のカウント値（本発明の上側切替決定回数）以上になったときにＳ５９０を実行するのである。また例えば、Ｓ６００で肯定判定された回数をカウントし、所定のカウント値（本発明の下側切替決定回数）以上になったときにＳ６１０を実行するのである。
【０１５１】
これとは逆に、第３実施形態のモータ制御処理（図２１）においては、カウンタの利用を省略してもよい。即ち、図２１において、Ｓ８８０，Ｓ９００，Ｓ９１０及びＳ９２０の処理を全て省いてもよい。
【０１５２】
また、上記各実施形態では、モータの実際の負荷量を、操作量ｕや周囲温度によって予測する例、つまり操作量ｕや周囲温度に応じて状態推定器を切り替える例を示したが、操作量ｕや周囲温度に限らず、例えばモータに流れる電流を検出してその電流値に基づいてモータの負荷量を予測してもよく、負荷量を直接的又は間接的に且つ適切に予測できる限り、種々の物理量・データを用いて予測することができる。
【０１５３】
更に、上記各実施形態では、モータ７を直接駆動するための駆動回路として、図６に示した駆動回路１３を例に挙げたが、これはあくまでも一例であり、その他に例えば図２２に示す駆動回路１３ａを用いてもよい。
【０１５４】
図２２に示した駆動回路１３ａは、４基のスイッチング素子Ｓ１〜Ｓ４によりＨブリッジ回路が構成されたものである。この場合、駆動用信号生成部２１ａは、フィードバック演算処理部２０からの制御信号（操作量ｕ）及び回転方向設定レジスタ３２の設定値に従って、このＨブリッジ回路の各スイッチング素子Ｓ１〜Ｓ４をオン・オフ制御するためのＰＷＭ信号を生成する。駆動回路１３ａは、このＰＷＭ信号に基づいて各スイッチング素子Ｓ１〜Ｓ４をオン・オフ制御することにより、モータ７を駆動する。尚、各スイッチング素子Ｓ１〜Ｓ４は、例えばＦＥＴ等の半導体スイッチング素子が用いられる。
【図面の簡単な説明】
【０１５５】
【図１】本実施形態のプリンタの側面図である。
【図２】本実施形態のプリンタに搭載された給紙搬送装置の概略構成を示す説明図である。
【図３】第１実施形態のモータ制御装置の概略構成を示すブロック図である。
【図４】本実施形態のフィードバック演算処理部の概略構成を示すブロック図である。
【図５】本実施形態の状態推定器の概略構成を示すブロック図である。
【図６】本実施形態の駆動回路の概略構成を示す説明図である。
【図７】第１実施形態における、モータの負荷量が通常負荷レベルの場合の各種制御応答を示すグラフである。
【図８】第１実施形態における、モータの負荷量が増加した場合の各種制御応答の変化を示すグラフである。
【図９】第１実施形態における、オブザーバの切り替え判定方法を説明するためのグラフである。
【図１０】第１実施形態における、負荷量増大によってオブザーバを切り替えた場合の各種制御応答の変化を示すグラフである。
【図１１】第１実施形態のＣＰＵが実行するＡＳＩＣ設定処理を示すフローチャートである。
【図１２】第１実施形態のＡＳＩＣによってなされる、モータ制御処理を示すフローチャートである。
【図１３】図１２のモータ制御処理におけるＳ２４０のモータ駆動演算処理を示すフローチャートである。
【図１４】第２実施形態における、負荷量増大によってオブザーバ及び制御用ゲインを切り替えた場合の各種制御応答の変化を示すグラフである。
【図１５】第２実施形態における、負荷量増大によってオブザーバ及び制御用ゲインを切り替えた後に負荷量が再び減少する場合の各種制御応答の変化を示すグラフである。
【図１６】第２実施形態における、オブザーバ及び制御用ゲインの切り替え判定方法を説明するためのグラフである。
【図１７】第２実施形態のモータ制御装置の概略構成を示すブロック図である。
【図１８】第２実施形態のＡＳＩＣによってなされる、モータ制御処理を示すフローチャートである。
【図１９】図１８のモータ制御処理におけるＳ５４０のモータ駆動演算処理を示すフローチャートである。
【図２０】第３実施形態のモータ制御装置の概略構成を示すブロック図である。
【図２１】第３実施形態のＡＳＩＣによってなされる、モータ制御処理を示すフローチャートである。
【図２２】駆動回路の変形例を示す説明図である。
【符号の説明】
【０１５６】
１…給紙搬送機構、２…用紙収納板、３…用紙分離機構、４…搬送ローラ、４ａ…ピンチローラ、５…記録ヘッド、７…モータ、８…エンコーダ、９…排紙ローラ、１０，５０，７０…モータ制御装置、１１，５１，７１…ＣＰＵ、１２，５２，７２…ＡＳＩＣ、１３，１３ａ…駆動回路、１４…エンコーダエッジ検出部、１５…位置カウンタ、１６…周期カウンタ、１７…各種信号処理部、１８，５４，７５…テーブル切替判定処理部、１９…オブザーバ選択部、２０…フィードバック演算処理部、２１，２１ａ…駆動用信号生成部、２２…クロック生成部、２６，５７…計時幅レジスタ、２７，５８…計時カウンタ、２８…繰り返しカウンタ、３０，５３，７６…動作モード設定レジスタ群、３１…起動設定レジスタ、３２…回転方向設定レジスタ、３２…及び回転方向設定レジスタ、３３…操作量閾値設定レジスタ、３４…切替判定時間設定レジスタ、３５…繰り返し回数設定レジスタ、３６…オブザーバテーブル、３７…状態フィードバックゲイン設定レジスタ、３８…積分ゲイン設定レジスタ、３９…目標停止位置設定レジスタ、４０…演算タイミング設定レジスタ、４１…制御出力上限設定レジスタ、４６…ＤＣモータ駆動用ＩＣ、５５…状態フィードバックゲイン選択部、５６…積分ゲイン選択部、６３…高負荷切替時間設定レジスタ、６３…高負荷切替判定時間設定レジスタ、６４…通常負荷切替判定時間設定レジスタ、６５…状態フィードバックゲインテーブル設定レジスタ、６６…積分ゲインテーブル設定レジスタ、７３…サーミスタ、７４…温度検出部、７７…温度閾値設定レジスタ、１００…プリンタ、１０５…ベルト、１１０…給紙搬送装置、ＡＤＤ１…第１加算器、ＡＤＤ２…第２加算器、ＡＤＤ３…第３加算器、ＩＮＴ１…離散積分器、ＩＮＴ２…積分器、ＭＡＴ１…システム行列演算器、ＭＡＴ２…入力行列演算器、ＭＡＴ３…出力行列演算器、ＭＵＬ１…状態フィードバックゲイン積算器、ＭＵＬ２…積分ゲイン積算器、ＯＢＳ…状態推定器、Ｓ１〜Ｓ４…スイッチング素子
【図１】
2005204392.tif 000003
【図２】
2005204392.tif 000004
【図３】
2005204392.tif 000005
【図４】
2005204392.tif 000006
【図５】
2005204392.tif 000007
【図６】
2005204392.tif 000008
【図７】
2005204392.tif 000009
【図８】
2005204392.tif 000010
【図９】
2005204392.tif 000011
【図１０】
2005204392.tif 000012
【図１１】
2005204392.tif 000013
【図１２】
2005204392.tif 000014
【図１３】
2005204392.tif 000015
【図１４】
2005204392.tif 000016
【図１５】
2005204392.tif 000017
【図１６】
2005204392.tif 000018
【図１７】
2005204392.tif 000019
【図１８】
2005204392.tif 000020
【図１９】
2005204392.tif 000021
【図２０】
2005204392.tif 000022
【図２１】
2005204392.tif 000023
【図２２】
2005204392.tif 000024