(57)【要約】    【構成】  制御装置１０はマイコン１２を含み、マイコンには、ＣＰＵ２０およびＰＩＤ制御回路２６が設けられる。ＰＩＤ制御回路は、モータドライバ２８を介してモータ３０に接続され、ＣＰＵからの入力に基づく操作量を出力する。ＣＰＵは、モータ３０の回転数についての目標値と、エンコーダ３２からＩ／Ｆ３４を介して入力されるパルス信号に基づいて算出した実際の回転数（制御量）との偏差をＰＩＤ制御回路に入力する。また、ＣＰＵは、回転数から目標値を減算した差分Ｄｆが閾値Ｘ以上である場合に、モータの回転振れが発生していると判断し、ＰＩＤ制御回路の各要素のパラメータ値を、当該回転振れを抑制するためのパラメータ値に切り替える。    【効果】  パラメータ値を切り替えることにより、全体として回転振れを抑制することができる。【選択図】  図１
2016173695.tif 000002
【特許請求の範囲】
【請求項１】
制御対象の制御量を検出する制御量検出手段、および前記制御量検出手段によって検出された制御量と目標値の偏差を無くすように前記制御対象に操作量を出力するＰＩＤ制御手段を備える、制御装置であって、
制御の開始時において、前記制御量が前記目標値になるように、パラメータ値の初期値を前記ＰＩＤ制御手段の要素に設定するパラメータ値設定手段、
前記制御量が定常状態になった後に、前記目標値に対する当該制御量の誤差が第１閾値以上であるかどうかを判断する状態判断手段、および
前記状態判断手段によって前記誤差が前記第１閾値以上であることが判断されたとき、前記パラメータ値を、少なくとも当該誤差が前記第１閾値以下の第２閾値未満に収まるように前記制御量を変化させるための抑制値に変更するパラメータ値変更手段を備える、制御装置。
【請求項２】
前記抑制値は、前記誤差が前記目標値よりも前記第１閾値以上大きい場合のプラス側抑制値と、前記誤差が前記目標値よりも前記第１閾値以上小さい場合のマイナス側抑制値とを含み、
前記状態判断手段によって前記誤差が前記第１閾値以上であることが判断されたとき、前記制御量と前記目標値の大小を検出する大きさ検出手段をさらに備え、
前記パラメータ値変更手段は、前記大きさ検出手段によって検出された大小に応じて、前記パラメータ値の前記プラス側抑制値または前記マイナス側抑制値を前記要素に設定する、請求項１記載の制御装置。
【請求項３】
異なる複数の前記第１閾値を有し、
前記複数の第１閾値の各々に対応して決定される前記パラメータ値についての複数の抑制値を設け、
前記パラメータ値変更手段は、前記状態判断手段によって前記誤差が前記複数の第１閾値のうちの少なくとも一つの当該第１閾値以上であることが判断されたとき、当該誤差よりも小さい当該第１閾値のうちの最大の当該第１閾値に対応する前記抑制値を前記要素に設定する、請求項１記載の制御装置。
【請求項４】
前記複数の抑制値は、前記複数の第１閾値の各々について、前記誤差が前記目標値よりも前記第１閾値以上大きい場合のプラス側抑制値と、前記誤差が前記目標値よりも前記第１閾値以上小さい場合のマイナス側抑制値とを含み、
前記状態判断手段によって前記誤差が前記複数の第１閾値のうちの少なくとも一つの当該第１閾値以上であることが判断されたとき、前記制御量と前記目標値の大小を検出する大きさ検出手段をさらに備え、
前記パラメータ値変更手段は、前記大きさ検出手段によって検出された大小に応じて、前記最大の前記第１閾値に対応する前記パラメータ値の前記プラス側抑制値または前記マイナス側抑制値を前記要素に設定する、請求項３記載の制御装置。
【請求項５】
少なくとも現在の前記パラメータ値に基づいて前記抑制値を算出する算出手段をさらに備え、
前記パラメータ値変更手段は、前記算出手段によって算出された前記抑制値を前記要素に設定する、請求項３または４記載の制御装置。
【請求項６】
前記ＰＩＤ制御手段は、前回の前記制御量に第１パラメータ値を乗算する第１要素、前々回の前記制御量に第２パラメータ値を乗算する第２要素、前記第１要素および前記第２要素の出力を前記偏差に加算した第１加算値に第３パラメータ値を乗算する第３要素、前回の前記第１加算値に第４パラメータ値を乗算する第４要素、前々回の前記第１加算値に第５パラメータ値を乗算する第５要素を備え、前記第３要素、前記第４要素および前記第５要素の出力を加算した第２加算値を前記操作量として出力する、請求項１ないし６のいずれかに記載の制御装置。
【請求項７】
制御対象の制御量を検出する制御量検出手段、および前記制御量検出手段によって検出された制御量と目標値の偏差を無くすように前記制御対象に操作量を出力するＰＩＤ制御手段を備える、制御装置の制御プログラムであって、
前記制御装置のプロセッサに、
制御の開始時において、前記制御量が前記目標値になるように、パラメータ値の初期値を前記ＰＩＤ制御手段の要素に設定するパラメータ値設定ステップ、
前記制御量が定常状態になった後に、前記目標値に対する当該制御量の誤差が第１閾値以上であるかどうかを判断する状態判断ステップ、および
前記状態判断ステップにおいて前記誤差が前記第１閾値以上であることを判断したとき、前記パラメータ値を、少なくとも当該誤差が前記第１閾値以下の第２閾値未満に収まるように前記制御量を変化させるための抑制値に変更するパラメータ値変更ステップを実行させる、制御プログラム。
【請求項８】
制御対象の制御量を検出する制御量検出手段、および前記制御量検出手段によって検出された制御量と目標値の偏差を無くすように前記制御対象に操作量を出力するＰＩＤ制御手段を備える、制御装置の制御方法であって、
前記制御装置のプロセッサは、
（ａ）制御の開始時において、前記制御量が前記目標値になるように、パラメータ値の初期値を前記ＰＩＤ制御手段の要素に設定し、
（ｂ）前記制御量が定常状態になった後に、前記目標値に対する当該制御量の誤差が第１閾値以上であるかどうかを判断し、そして
（ｃ）前記ステップ（ｂ）において前記誤差が前記第１閾値以上であることを判断したとき、前記パラメータ値を、少なくとも当該誤差が前記第１閾値以下の第２閾値未満に収まるように前記制御量を変化させるための抑制値に変更する、制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、制御装置、制御プログラムおよび制御方法に関し、特にたとえば、モータの回転数のような制御量をＰＩＤ制御する、制御装置、制御プログラムおよび制御方法に関する。
【背景技術】
【０００２】
特許文献１に開示される画像形成装置では、判別手段が、ＰＩＤ制御演算部から出力されるＰＷＭ信号（ＰＷＭ値）を入力（監視）して、ＰＷＭ値のピーク値が予め定めた閾値を越えたか否かを判別し、判別手段によってＰＷＭ値のピーク値が予め定めた閾値を越えたと判別されたときに、補正手段が、ロール紙を搬送する搬送手段の搬送量を増加するように、比較演算部に与えられる目標値を補正する信号を出力する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１３−１８０８９３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、特許文献１では、ＰＷＭ値を監視して、搬送量を増加するように比較演算部に与えられる目標値を補正するため、振動モータや搬送ローラの回転数を直接監視して目標値を補正する場合と比較して、タイムラグが生じてしまう。また、用紙搬送のタイミングは常に一定ではないため、目標値を補正するタイミングによっては、ＰＩＤ制御演算部からの出力（ＰＷＭ値）が発散し、ロール紙を搬送する搬送手段（搬送ローラ）を駆動する駆動モータの回転が安定しない場合がある。
【０００５】
それゆえに、この発明の主たる目的は、新規な、制御装置、制御プログラムおよび制御方法を提供することである。
【０００６】
また、この発明の他の目的は、制御量の振れを全体として抑えることができる、制御装置、制御プログラムおよび制御方法を提供することである。
【課題を解決するための手段】
【０００７】
第１の発明は、制御対象の制御量を検出する制御量検出手段、および制御量検出手段によって検出された制御量と目標値の偏差を無くすように制御対象に操作量を出力するＰＩＤ制御手段を備える、制御装置である。この制御装置は、パラメータ値設定手段、状態判断手段、およびパラメータ値変更手段を備える。パラメータ値設定手段は、制御の開始時において、制御量が目標値になるように、パラメータ値の初期値をＰＩＤ制御手段の要素に設定する。状態判断手段は、制御量が定常状態になった後に、目標値に対する当該制御量の誤差が第１閾値以上であるかどうかを判断する。つまり、制御量に過渡的反応を示す振れが生じているかどうかが判断される。そして、パラメータ値変更手段は、状態判断手段によって誤差が第１閾値以上であることが判断されたとき、パラメータ値を、少なくとも当該誤差が第１閾値以下の第２閾値未満に収まるように制御量を変化させるための抑制値に変更する。
【０００８】
第１の発明によれば、目標値に対する制御量の誤差が第１閾値以上である場合には、この誤差が第１閾値以下である第２閾値未満に収まるようにＰＩＤ制御手段の要素のパラメータ値を初期値から抑制値に変更するので、直接的に制御量を検出して、少なくとも次の制御量の振れを抑制することができる。したがって、全体として制御量の振れを抑制することができる。
【０００９】
第２の発明では、抑制値は、誤差が目標値よりも第１閾値以上大きい場合のプラス側抑制値と、誤差が目標値よりも第１閾値以上小さい場合のマイナス側抑制値とを含む。制御装置は、大きさ検出手段をさらに備える。この大きさ検出手段は、状態判断手段によって誤差が第１閾値以上であることが判断されたとき、制御量と目標値の大小を検出する。したがって、パラメータ値変更手段は、大きさ検出手段によって検出された大小に応じて、パラメータ値のプラス側抑制値またはマイナス側抑制値を要素に設定する。
【００１０】
第２の発明によれば、制御量と目標値の大小に応じた抑制値を設定するので、適切なパラメータ値を設定して、振れを効果的に抑制することができる。
【００１１】
第３の発明では、異なる複数の第１閾値を有し、複数の第１閾値の各々に対応して決定されるパラメータ値についての複数の抑制値が設けられる。つまり、誤差に応じた抑制値が設けられる。パラメータ値変更手段は、状態判断手段によって誤差が複数の第１閾値のうちの少なくとも一つの当該第１閾値以上であることが判断されたとき、当該誤差よりも小さい当該第１閾値のうちの最大の当該第１閾値に対応する抑制値を要素に設定する。
【００１２】
第３の発明によれば、誤差の大きさに応じた抑制値を設定するので、精度の高いパラメータ値を設定することができる。したがって、効果的に制御量の振れを抑制することができる。
【００１３】
第４の発明では、複数の抑制値は、複数の第１閾値の各々について、誤差が目標値よりも第１閾値以上大きい場合のプラス側抑制値と、誤差が目標値よりも第１閾値以上小さい場合のマイナス側抑制値とを含む。制御装置は、大きさ検出手段をさらに備える。この大きさ検出手段は、状態判断手段によって誤差が複数の第１閾値のうちの少なくとも一つの当該第１閾値以上であることが判断されたとき、制御量と目標値の大小を検出する。パラメータ値変更手段は、大きさ検出手段によって検出された大小に応じて、最大の第１閾値に対応するパラメータ値のプラス側抑制値またはマイナス側抑制値を要素に設定する。
【００１４】
第４の発明よれば、制御量と目標値の大小に応じた抑制値を設定するので、適切なパラメータ値を設定して、振れをより効果的に抑制することができる。
【００１５】
第５の発明は、少なくとも現在のパラメータ値に基づいて抑制値を算出する算出手段をさらに備え、パラメータ値変更手段は、算出手段によって算出された抑制値を要素に設定する。
【００１６】
第５の発明によれば、現在設定されているパラメータ値に基づいて抑制値を算出するので、誤差に応じたパラメータ値を適切に設定することができる。
【００１７】
第６の発明は、ＰＩＤ制御手段は、前回の制御量に第１パラメータ値を乗算する第１要素、前々回の制御量に第２パラメータ値を乗算する第２要素、第１要素および第２要素の出力を偏差に加算した第１加算値に第３パラメータ値を乗算する第３要素、前回の第１加算値に第４パラメータ値を乗算する第４要素、前々回の第１加算値に第５パラメータ値を乗算する第５要素を備え、第３要素、第４要素および第５要素の出力を加算した第２加算値を操作量として出力する。
【００１８】
第６の発明によれば、現在の制御量、前回の制御量および前々回の制御量を用いることにより、制御量の変化に応じた操作量を生成することができる。
【００１９】
第７の発明は、制御対象の制御量を検出する制御量検出手段、および制御量検出手段によって検出された制御量と目標値の偏差を無くすように制御対象に操作量を出力するＰＩＤ制御手段を備える、制御装置の制御プログラムであって、制御装置のプロセッサに、制御の開始時において、制御量が目標値になるように、パラメータ値の初期値をＰＩＤ制御手段の要素に設定するパラメータ値設定ステップ、制御量が定常状態になった後に、目標値に対する当該制御量の誤差が第１閾値以上であるかどうかを判断する状態判断ステップ、および状態判断ステップにおいて誤差が第１閾値以上であることを判断したとき、パラメータ値を、少なくとも当該誤差が第１閾値以下の第２閾値未満に収まるように制御量を変化させるための抑制値に変更するパラメータ値変更ステップを実行させる、制御プログラムである。
【００２０】
第８の発明は、制御対象の制御量を検出する制御量検出手段、および制御量検出手段によって検出された制御量と目標値の偏差を無くすように制御対象に操作量を出力するＰＩＤ制御手段を備える、制御装置の制御方法であって、（ａ）制御の開始時において、制御量が目標値になるように、パラメータ値の初期値をＰＩＤ制御手段の要素に設定し、（ｂ）制御量が定常状態になった後に、目標値に対する当該制御量の誤差が第１閾値以上であるかどうかを判断し、そして（ｃ）ステップ（ｂ）において誤差が第１閾値以上であることを判断したとき、パラメータ値を、少なくとも当該誤差が第１閾値以下の第２閾値未満に収まるように制御量を変化させるための抑制値に変更する、制御方法である。
【００２１】
第７および第８の発明においても、第１の発明と同様に、全体として制御量の振れを抑制することができる。
【発明の効果】
【００２２】
この発明によれば、制御量の振れが発生した場合に、ＰＩＤ制御回路に含まれる要素のパラメータ値を、この振れを抑制するための抑制値に変更するので、少なくとも次の振れを抑制することができ、全体として制御量の振れを抑制することができる。
【００２３】
この発明の上述の目的，その他の目的，特徴および利点は、図面を参照して行う以下の実施例の詳細な説明から一層明らかとなろう。
【図面の簡単な説明】
【００２４】
【図１】図１は第１実施例の制御装置の一例を示すブロック図である。
【図２】図２は図１に示すＰＩＤ制御回路の一例を示すブロック図である。
【図３】図３はＰＩＤ制御回路のパラメータ値を切り替えない場合のモータの回転数の時間変化の一例を示すグラフである。
【図４】図４はＰＩＤ制御回路のパラメータ値を切り替えた場合のモータの回転数の時間変化の一例を示すグラフである。
【図５】図５は図３および図４に示すモータの回転数の時間変化を重ねて表示したグラフである。
【図６】図６は図１に示すＲＡＭのメモリマップの一例を示す図解図である。
【図７】図７は図１に示すＣＰＵのパラメータ設定処理の一例を示すフロー図である。
【図８】図８は第２実施例におけるＲＡＭのメモリマップの一例を示すフロー図である。
【図９】図９は第２実施例におけるパラメータ設定処理の一例を示すフロー図である。
【図１０】図１０は第３実施例における閾値テーブルの一例を示す図解図である。
【図１１】図１１は第３実施例におけるパラメータテーブルの一例を示す図解図である。
【図１２】図１２は第３実施例におけるＣＰＵのパラメータ設定処理の一例を示すフロー図である。
【図１３】図１３は第４実施例の制御装置の一例を示すブロック図である。
【図１４】図１４は第５実施例における画像形成装置の一例を示すブロック図である。
【発明を実施するための形態】
【００２５】
＜第１実施例＞
図１は第１実施例の制御装置１０の一例を示すブロック図である。図１を参照して、この発明の第１実施例である制御装置１０は、マイコン１２を含む。また、マイコン１２は、ＣＰＵ２０、ＲＯＭ２２、ＲＡＭ２４、ＰＩＤ制御回路２６およびインターフェイス（Ｉ／Ｆ）３４を含み、ＣＰＵ２０は、内部バスを介して、ＲＯＭ２２、ＲＡＭ２４、ＰＩＤ制御回路２６およびＩ／Ｆ３４の各々に通信可能に接続される。
【００２６】
また、制御装置１０は、モータドライバ２８をさらに含み、上記のＰＩＤ制御回路２６がモータドライバ２８に接続される。また、モータドライバ２８は、モータ３０に接続される。モータ３０には、エンコーダ３２が接続（連結）され、エンコーダ３２は、上記のＩ／Ｆ３４を介してＣＰＵ２０に接続される。
【００２７】
このような制御装置１０では、ＣＰＵ２０が、ホストコンピュータからの指示の下、モータ３０の動作（駆動）を制御する。ＣＰＵ２０は、制御装置１０の全体的な制御を司る。ＲＯＭ２２は、ＣＰＵ２０が実行する制御プログラムやＰＩＤ制御回路２６に設定するパラメータの値（以下、「パラメータ値」という）を記憶する。ただし、制御プログラムやパラメータ値は、ホストコンピュータから取得するようにしてもよい。
【００２８】
ＲＡＭ２４は、ＣＰＵ２０のワーク領域およびバッファ領域として使用される。ＰＩＤ制御回路（制御要素）２６は、ＣＰＵ２０からの指示に従って、モータドライバ２８に操作量（ここでは、モータ３０の回転数を制御する信号）を出力する。また、このＰＩＤ制御回路２６では、ＣＰＵ２０によって、当該ＰＩＤ制御回路２６に含まれる各要素（伝達要素）のパラメータ値が設定される。
【００２９】
モータドライバ２８は、モータ３０を駆動するための電圧（駆動電圧）を、ＰＩＤ制御回路２６から与えられる操作量に応じて生成し、生成した駆動電圧をモータ３０に印加する。
【００３０】
モータ３０は、たとえば、汎用のＤＣモータであり、モータドライバ２８から印加される駆動電圧によってモータ軸が回転される。また、モータ３０は、その回転軸にギアが設けられ、このギアと噛合される他のギアなどに回転力を与える。
【００３１】
エンコーダ３２は、モータ３０の回転軸の回転方向および回転角度を検出し、検出結果に応じたパルス信号をＩ／Ｆ３４を介してＣＰＵ２０に入力（フィードバック）するロータリーエンコーダである。ＣＰＵ２０は、入力されたパルス信号に基づいて、モータ３０の回転方向および回転数を検出（算出）する。
【００３２】
図２は、図１に示したＰＩＤ制御回路２６の具体的な構成の一例を示すブロック図である。図２に示すように、ＰＩＤ制御回路２６は、ＣＰＵ２０からの偏差ｅ（e=SV-PV）が入力される端子５２を含む。図２では端子５０を示し、この端子５０には目標値ＳＶが入力されるとともに、モータ３０の実際の回転数（制御量）ＰＶが反転して入力される。したがって、ＣＰＵ２０では、目標値ＳＶから回転数ＰＶを減算した偏差ｅが算出され、ＰＩＤ制御回路２６（端子５２）に入力される。ただし、回転数ＰＶは、エンコーダ３２から入力されたパルス信号に基づいてＣＰＵ２０によって算出される。また、目標値ＳＶはモータ３０が適用される機器の当該モータ３０が回転力を与える対象物に応じて予め決定されている。
【００３３】
なお、図１と対比して分かるように、図２では、説明の都合上、端子５０がＣＰＵ２０に設けられるように記載されているが、実際には、ＣＰＵ２０は、内部処理によって、回転数ＰＶを算出するとともに、目標値ＳＶと回転数ＰＶの偏差ｅを算出しているだけである。
【００３４】
また、端子５２には、要素（第１要素）５８の出力および要素（第２要素）６２の出力も入力される。端子５２では、偏差ｅに要素５８の出力および要素６２の出力が加算され、その加算値（第１加算値）Ｐが、要素（第３要素）６４、遅延要素６６で遅延されて要素（第４要素）６８、および遅延要素７０で遅延されて要素（第５要素）７２のそれぞれに入力される。
【００３５】
要素６４、要素６８および要素７２の出力は、端子５４に与えられ、端子５４で加算され、その加算値（第２加算値）は出力値（操作量）Ｕとしてモータドライバ２８に与えられる。また、出力値Ｕは、遅延要素５６を介して要素５８に入力され、遅延要素６０を介して要素６２に入力される。
【００３６】
ただし、遅延要素５６および遅延要素６６は、現在時刻ｔの入力を一つ後の時刻に遅延させる（Ｄ１）。また、遅延要素６０および遅延要素７０は、現在時刻ｔの入力を二つ後の時刻に遅延させる（Ｄ２）。ただし、遅延される時刻の単位時間は、モータ３０の回転数を算出する場合のサンプリング周期の一周期分の時間（たとえば、５００ｍｓｅｃ）に相当する。したがって、現在時刻ｔにおいては、要素５８には、５００ｍｓｅｃ前の出力値Ｕが入力され、要素６２には、１ｓｅｃ前の出力値Ｕが入力される。同様に、現在時刻ｔにおいては、要素６８には、５００ｍｓｅｃ前の加算値Ｐが入力され、要素７２には、１ｓｅｃ前の加算値Ｐが入力される。
【００３７】
また、要素５８、６２、６４、６８および７２には、目標値ＳＶに応じて予め決定されたパラメータ値ＧＡ、ＧＢ、ＧＣ、ＧＤ、ＧＥの初期値Ｙ０が設定（初期設定）される。この初期値Ｙ０は、シミュレーションや実験等によって得られた数値である。
【００３８】
たとえば、上記のモータ３０は、コピー機、プリンタ、ファクシミリおよびこれらの２つ以上の機能を有する複合機のような画像形成装置やスキャナのような画像読取装置に設けられる搬送ローラを駆動させるために用いられる。ただし、複合機には、画像読取装置も含まれる場合がある。搬送ローラは、画像形成装置や画像読取装置の用紙搬送路に設けられ、原稿用紙、給紙された印字前の用紙や印字後の用紙を搬送する。
【００３９】
図３は、モータ３０を駆動させた場合のモータ３０の回転軸の回転数およびモータ３０の出力の時間変化の一例を示す。図４は、モータ３０を駆動させた場合のモータ３０の回転軸の回転数およびモータ３０の出力の時間変化の他の例を示す。図５は、図３および図４に示したモータ３０の回転数の時間変化を重ねて表示したグラフである。ただし、図３〜図５に示すグラフは、上述したように、モータ３０が画像形成装置の用紙搬送路に設けられる搬送ローラを回転させ、この用紙搬送路を用紙が搬送された場合に得られたものである。
【００４０】
図３からも分かるように、モータ３０の回転軸の回転数は、目標値ＳＶ（２５００ｒｐｍ）付近で安定した後に、３０ｍｓｅｃ〜３５ｍｓｅｃの間で大きく変動している（過渡的反応が生じている）。これは、搬送ローラに用紙が入るタイミングや搬送ローラから用紙が出るタイミングで負荷変動が起こり、その影響により、モータ３０の回転振れが発生しているためである。
【００４１】
このような回転振れを回避する方法としては、搬送ローラの回転変動を予測して、予測したタイミングにおいて、ＰＩＤ制御回路２６に含まれる各要素５８、６２、６４、６８、７２のパラメータ値ＧＡ、ＧＢ、ＧＣ、ＧＤ、ＧＥを、回転振れを抑制するためのパラメータ値に変更するフィードフォワード制御が考えられる。
【００４２】
しかし、用紙搬送のタイミングは常に一定ではないため、タイミングによっては、ＰＩＤ制御回路２６の出力が発散してしまい、モータ３０の回転が安定しない場合がある。
【００４３】
そこで、この第１実施例では、回転振れが発生した場合に、ＰＩＤ制御回路２６に含まれる各要素５８、６２、６４、６８、７２のパラメータ値ＧＡ、ＧＢ、ＧＣ、ＧＤ、ＧＥを、当該回転振れを抑制するためのパラメータ値に切り替える（変更する）ようにしてある。したがって、一つ目の回転振れが発生したタイミングで、パラメータ値ＧＡ、ＧＢ、ＧＣ、ＧＤ、ＧＥが変更されると、図４に示すように、少なくとも二つ目の回転振れを抑制することができ、全体的として回転振れを抑制することができる。
【００４４】
なお、図４に示す例では、後述する、回転振れが発生しているかどうかを判断するための閾値を比較的小さい値に設定したため、図３と比較して分かるように、一つ目の回転振れについても抑制されている。
【００４５】
したがって、図３に示す回転数の時間変化および図４に示す回転数の時間変化を重ねて表示した図５から良く分かるように、回転振れが発生した場合に、パラメータ値を変更することにより、回転数の変動が抑制される。
【００４６】
この第１実施例では、回転振れが発生しているかどうかを判断するための閾値（第１閾値）Ｘが設定される。この閾値Ｘは、目標値ＳＶからのずれ量（回転振れ）の発生を判定するための基準値であり、たとえば、目標値（２５００ｒｐｍ）の所定の割合（たとえば、２％）で決定される。したがって、モータ３０の回転数ＰＶが、目標値ＳＶに対して、所定の割合以上多くなったり、所定の割合以上少なくなったりした場合に、回転振れが発生したことが判断される。
【００４７】
ただし、閾値Ｘ（所定の割合）は、シミュレーションや実験により経験的に得られた値である。
【００４８】
また、第１実施例では、モータ３０を目標値ＳＶで回転させるための各要素５８、６２、６４、６８、７２のパラメータ値ＧＡ、ＧＢ、ＧＣ、ＧＤ、ＧＥの初期値Ｙ０と、回転振れを抑制するための各要素５８、６２、６４、６８、７２のパラメータ値ＧＡ、ＧＢ、ＧＣ、ＧＤ、ＧＥの抑制値ＹｘがＲＯＭ２２に記憶されており、ＣＰＵ２０がモータ３０を制御する場合（たとえば、画像形成装置の主電源がオンされた場合）に、ＲＯＭ２２から読み出してＲＡＭ２４に記憶する。
【００４９】
ただし、抑制値Ｙｘも初期値Ｙ０と同様に、シミュレーションや実験により経験的に得られた値である。
【００５０】
そして、回転振れが閾値（第２閾値）Ｋ（この第１実施例では、目標値ＳＶの０．５％）未満になると、回転振れが十分に抑制されたと判断され、各要素５８のパラメータ値ＧＡ、ＧＢ、ＧＣ、ＧＤ、ＧＥが抑制値Ｙｘから初期値Ｙ０に切り替えられる（戻される）。
【００５１】
図６は図１に示したＲＡＭ２４のメモリマップ１００の一例を示す図解図である。図６に示すように、ＲＡＭ２４は、プログラム記憶領域１０２およびデータ記憶領域１０４を含む。プログラム記憶領域１０２には、モータ３０を制御するための制御プログラムが記憶され、制御プログラムは、モータ駆動プログラム１０２ａ、回転数算出プログラム１０２ｂ、回転振れ判断プログラム１０２ｃ、パラメータ設定プログラム１０２ｄなどを含む。
【００５２】
モータ駆動プログラム１０２ａは、目標値ＳＶと制御量（回転数ＰＶ）の偏差ｅを算出し、偏差ｅをＰＩＤ制御回路２６に出力するためのプログラムである。回転数算出プログラム１０２ｂは、Ｉ／Ｆ３４を介してエンコーダ３２から入力されるパルス信号に基づいてモータ３０の回転数を算出するためのプログラムである。
【００５３】
回転振れ判断プログラム１０２ｃは、回転振れが発生しているかどうかを判断するためのプログラムである。具体的には、回転振れ判断プログラム１０２ｃは、回転数算出プログラムに従って算出された回転数ＰＶから目標値ＳＶを減算して差分Ｄｆを求め、その差分Ｄｆの絶対値が閾値データ１０４ｂに対応する閾値Ｘ以上であるかどうかを比較し、差分Ｄｆの絶対値が閾値Ｘ以上である場合に、回転振れが発生していることを判断する。また、回転振れ判断プログラム１０２ｃは、差分Ｄｆの絶対値が閾値Ｘ未満である場合に、回転振れが発生していないことを判断する。
【００５４】
パラメータ設定プログラム１０２ｄは、ＰＩＤ制御回路２６に含まれる各要素５８、６２、６４、６８、７２のパラメータ値ＧＡ、ＧＢ、ＧＣ、ＧＤ、ＧＥを設定および変更する（切り替える）ためのプログラムである。
【００５５】
図示は省略するが、モータ３０を制御するために必要な他のプログラムも記憶される。
【００５６】
また、データ記憶領域１０４には、回転数データ１０４ａ、閾値データ１０４ｂおよびパラメータデータ１０４ｃが記憶される。
【００５７】
回転数データ１０４ａは、回転数算出プログラム１０２ｂに従って算出した回転数ＰＶについての数値データである。閾値データ１０４ｂは、回転振れが発生しているかどうかを判断するための閾値Ｘおよび回転振れが十分に抑制されたかどうかを判断するための閾値Ｋの数値データである。パラメータデータ１０４ｃは、各要素５８、６２、６４、６８、７２のパラメータ値ＧＡ、ＧＢ、ＧＣ、ＧＤ、ＧＥの初期値Ｙ０および抑制値Ｙｘについての数値データである。
【００５８】
図示は省略するが、データ記憶領域１０４には、モータ３０を制御するために必要な他のデータが記憶されたり、モータ３０を制御するために必要なカウンタ（タイマ）やフラグが設けられたりする。
【００５９】
図７は図１に示したＣＰＵ２０のパラメータ設定処理の一例を示すフロー図である。このパラメータ設定処理は、モータ３０の駆動が開始され、または、ＰＩＤ制御回路２６の各要素５８、６２、６４、６８、７２のパラメータ値ＧＡ、ＧＢ、ＧＣ、ＧＤ、ＧＥが初期値Ｙ０に戻され、モータ３０の回転数が安定した状態（定常状態）で開始される。ただし、定常状態が継続している場合には、所定時間（たとえば、数百ｍｓｅｃ〜数ｍｓｅｃ）毎に、パラメータ設定処理は実行される。
【００６０】
なお、ＣＰＵ２０は、モータ３０の制御を開始するときに、ＰＩＤ制御回路２６の各要素５８、６２、６４、６８、７２のパラメータ値ＧＡ、ＧＢ、ＧＣ、ＧＤ、ＧＥとして初期値Ｙ０を設定する。
【００６１】
図７に示すように、ＣＰＵ２０は、パラメータ設定処理を開始すると、ステップＳ１で、エンコーダ３２からＩ／Ｆ３４を介して入力されるパルス信号に基づいて回転数ＰＶを算出する。次のステップＳ３では、回転数ＰＶと目標値ＳＶの差分Ｄｆを算出する（Df=PV-SV）。
【００６２】
続いて、ステップＳ５では、差分Ｄｆの絶対値が閾値Ｘ未満（-X<Df<X）であるかどうかを判断する。つまり、目標値ＳＶに対する回転数ＰＶの誤差が所定値（閾値Ｘ）未満であるかどうかが判断される。ただし、閾値Ｘの数値データは、データ記憶領域１０４に記憶される閾値データ１０４ｂに含まれる。
【００６３】
ステップＳ５で“ＹＥＳ”であれば、つまり差分Ｄｆの絶対値が閾値Ｘ未満であれば、回転振れが発生していないと判断して、そのままパラメータ設定処理を終了する。
【００６４】
一方、ステップＳ５で“ＮＯ”であれば、つまり差分Ｄｆの絶対値が閾値Ｘ以上であれば、回転振れが発生していると判断して、ステップＳ７で、振れ抑制用のパラメータ値に切り替える。このステップＳ７では、ＣＰＵ２０は、ＰＩＤ制御回路２６の各要素５８、６２、６４、６８、７２のパラメータ値ＧＡ、ＧＢ、ＧＣ、ＧＤ、ＧＥを初期値Ｙ０から抑制値Ｙｘに変更する。
【００６５】
続いて、ステップＳ９で、回転数ＰＶを算出し、ステップＳ１１で、差分Ｄｆを算出する。ステップＳ９の処理はステップＳ１と同じであり、ステップＳ１１の処理はステップＳ３と同じであるため、重複した説明は省略する。そして、ステップＳ１３で、差分Ｄｆの絶対値が閾値Ｋ(たとえば、目標値ＳＶの０．５％）未満（-K<Df<K）であるかどうかを判断する。ただし、閾値Ｋの数値データは、データ記憶領域１０４に記憶される閾値データ１０４ｂに含まれる。
【００６６】
ステップＳ１３で“ＮＯ”であれば、つまり差分Ｄｆの絶対値が閾値Ｋ以上であれば、回転振れが十分に抑制されていないため、ステップＳ９に戻る。一方、ステップＳ１３で“ＹＥＳ”であれば、つまり差分Ｄｆの絶対値が閾値Ｋ未満であれば、回転振れが十分に抑制されているため、ステップＳ１５で、パラメータ値を初期値Ｙ０に切り替えて、パラメータ設定処理を終了する。このステップＳ１５では、ＣＰＵ２０は、ＰＩＤ制御回路２６の各要素５８、６２、６４、６８、７２のパラメータ値ＧＡ、ＧＢ、ＧＣ、ＧＤ、ＧＥを、抑制値Ｙｘから初期値Ｙ０に変更する。
【００６７】
第１実施例によれば、回転振れが発生した場合には、これを抑制するための抑制値ＹｘをＰＩＤ制御回路２６の各要素５８、６２、６４、６８、７２に設定するので、少なくとも２つ目の回転振れを抑制することができ、したがって、全体として回転振れを抑制することができる。
＜第２実施例＞
第２実施例の制御装置１０は、回転振れが発生した場合に、回転振れの方向に応じた抑制値をＰＩＤ制御回路２６の各要素５８、６２、６４、６８、７２に設定するようにした以外は、第１実施例と同じであるため、異なる内容について説明し、重複する内容については、簡単に説明する、または、説明を省略する。
【００６８】
この第２実施例では、第１実施例の場合と同様に、回転数ＰＶ（制御量）から目標値ＳＶを減算した差分Ｄｆの絶対値が閾値Ｘ以上である場合に、回転振れが発生したことが判断（検出）される。そして、回転振れが発生した場合に、回転数ＰＶが目標値ＳＶよりも大きい（プラス側）か小さい（マイナス側）かが判断される。つまり、差分Ｄｆの符号がプラスかマイナスかが判断される。この判断結果に応じて、差分Ｄｆの符号がプラスの場合の振れ抑制用の抑制値または差分Ｄｆの符号がマイナスの場合の振れ抑制用の抑制値が、ＰＩＤ制御回路２６の各要素５８、６２、６４、６８、７２に設定される。したがって、第２実施例では、回転振れの方向（プラス側かマイナス側）に応じたパラメータ値ＧＡ、ＧＢ、ＧＣ、ＧＤ、ＧＥの抑制値Ｙｐ、Ｙｍが予め設定されている。
【００６９】
このため、第２実施例では、図８に示すように、回転振れの方向を判定するためのプログラムとして、オーバー／アンダー判定プログラム１０２ｅがさらにＲＡＭ２４に記憶される。
【００７０】
また、第２実施例では、パラメータデータ１０４ｃは、各要素５８、６２、６４、６８、７２のパラメータ値ＧＡ、ＧＢ、ＧＣ、ＧＤ、ＧＥの初期値Ｙ０、プラス側の抑制値Ｙｐおよびマイナス側の抑制値Ｙｍの各々についてのデータである。
【００７１】
具体的には、図１に示したＣＰＵ２０が図９に示すパラメータ設定処理のフロー図を処理する。以下、第２実施例のパラメータ設定処理について説明するが、図９では、図７に示した第１実施例のパラメータ設定処理と同じ処理には同じ参照符号を付してある。また、異なる点についてのみ説明し、重複する説明は省略する。
【００７２】
図９に示すように、第２実施例では、第１実施例で示したパラメータ設定処理のステップＳ７の処理に代えて、ステップＳ３１、Ｓ３３、Ｓ３５およびＳ３７の処理が実行される。
【００７３】
具体的には、図９に示すように、差分Ｄｆの絶対値が閾値Ｘ以上であれば、ステップＳ５で“ＹＥＳ”となり、ステップＳ３１で、差分Ｄｆが０よりも大きいかどうかを判断する。つまり、ＣＰＵ２０は、差分Ｄｆがプラスかどうかを判断する。
【００７４】
ステップＳ３１で“ＹＥＳ”であれば、つまり差分Ｄｆが０よりも大きい場合には、ステップＳ３３で、プラスの場合の振れ抑制用の抑制値Ｙｐを選択し、ステップＳ３７に進む。一方、ステップＳ３１で“ＮＯ”であれば、つまり差分Ｄｆが０よりも小さい場合には、ステップＳ３５で、マイナスの場合の振れ抑制用の抑制値Ｙｍを選択して、ステップＳ３７に進む。
【００７５】
ステップＳ３７では、各要素５８、６２、６４、６８、７２のパラメータ値ＧＡ、ＧＢ、ＧＣ、ＧＤ、ＧＥの初期値Ｙ０を、ステップＳ３３で選択した抑制値ＹｐまたはステップＳ３５で選択した抑制値Ｙｍに切り替えて、ステップＳ９に進む。
【００７６】
第２実施例によれば、回転振れの方向に応じた抑制値を設定するので、精度の良いパラメータ値ＧＡ、ＧＢ、ＧＣ、ＧＤ、ＧＥを適切に選択することができ、したがって、回転振れを効果的に抑制することができる。
＜第３実施例＞
第３実施例の制御装置１０は、回転振れが発生したかどうかを多段階で判断し、回転振れが発生した場合に、回転振れ量および回転振れの方向に応じたパラメータをＰＩＤ制御回路２６の各要素５８、６２、６４、６８、７２に設定するようにした以外は、第２実施例と同じであるため、異なる内容について説明し、重複する内容については、簡単に説明する、または、説明を省略する。
【００７７】
この第３実施例では、回転振れが発生したかどうかを判断するための複数の閾値Ｘｉ（ｉ＝１、２、…、ｎ）が設けられる。この第３実施例では、番号（変数ｉ）が大きくなるにつれて閾値Ｘｉの数値は小さくされ、たとえば、５つの閾値Ｘｉ（ｉ＝１、２、３、４、５）が設けられる場合には、各閾値Ｘ１、Ｘ２、Ｘ３、Ｘ４、Ｘ５を、目標値ＳＶの３％、２％、１．５％、１％、０．５％に決定することができる。したがって、第３実施例では、閾値Ｘｉを変更することにより、回転振れが多段階で判断される。
【００７８】
また、各閾値Ｘｉに対応して、プラス側およびマイナス側の抑制値が設けられる。閾値Ｘｉを最大値から一段階ずつ小さくなるように順に設定し、差分Ｄｆの絶対値が閾値Ｘｉ以上と判断された場合の最大の閾値Ｘｉに対応するパラメータのうち、回転振れの方向（プラス方向またはマイナス方向）に応じて振れ抑制用の抑制値（ＹｉｐまたはＹｉｍ）が選択される。そして、選択された抑制値（ＹｉｐまたはＹｉｍ）が、ＰＩＤ制御回路２６の各要素５８、６２、６４、６８、７２にパラメータ値ＧＡ、ＧＢ、ＧＣ、ＧＤ、ＧＥとして設定される。
【００７９】
このため、第３実施例では、図１０に示すように、複数の閾値Ｘｉが記述されたテーブル（閾値テーブル）Ｔ１が用意される。図１０に示す閾値テーブルＴ１では、番号ｉに対応して、閾値Ｘｉが記述される。番号は、閾値Ｘｉを識別するための識別番号であり、番号の欄には、１、２、３、…、ｎが記述される。閾値の欄には、各番号に対応する閾値Ｘｉ（ｉ＝１、２、３、…、ｎ）が記述される。したがって、この第３実施例では、第２実施例に示したＲＡＭ２４のメモリマップ１００において、閾値データ１０４ｂとして、この閾値テーブルＴ１についてのデータが記憶される。
【００８０】
また、第３実施例では、各閾値Ｘｉに対応して、差分Ｄｆの符号がプラスの場合の抑制値Ｙｉｐと差分Ｄｆの符号がマイナスの場合の抑制値Ｙｉｍが用意されている（設けられている）。つまり、回転振れ量および回転振れの方向に応じた抑制値Ｙｉｐ、Ｙｉｍが用意されている。したがって、図１１に示すように、番号に対応してパラメータ値ＧＡ、ＧＢ、ＧＣ、ＧＤ、ＧＥが記述されたテーブル（パラメータテーブル）Ｔ２が用意される。
【００８１】
番号の欄には、各パラメータ値を識別するための識別番号が記述され、識別番号は２桁の数で示される。左側の数が、閾値Ｘｉに対応し、右側の数が、プラス方向（１）およびマイナス方向（２）に対応する。ただし、番号００は、初期値Ｙ０に対応する。
【００８２】
パラメータ値の欄には、初期値Ｙ０と、各閾値Ｘｉに対応して、差分Ｄｆの符号がプラスの場合の抑制値Ｙｉｐと差分Ｄｆの符号がマイナスの場合の抑制値Ｙｉｍが記述される。したがって、この第３実施例では、第２実施例に示したＲＡＭ２４のメモリマップ１００において、パラメータデータ１０４ｃとして、このパラメータテーブルＴ２についてのデータが記憶される。
【００８３】
また、この第３実施例では、回転振れ判断プログラム１０２ｃは、段階的に設定される閾値Ｘｉを用いて、回転振れが発生しているかどうかを判断するためのプログラムである。
【００８４】
さらに、この第３実施例では、パラメータ設定プログラム１０２ｄは、ＰＩＤ制御回路２６に含まれる各要素５８、６２、６４、６８、７２のパラメータ値ＧＡ、ＧＢ、ＧＣ、ＧＤ、ＧＥを、パラメータテーブルＴ２に従って選択した初期値Ｙ０、抑制値Ｙｎｐまたは抑制値Ｙｎｍに設定および変更するためのプログラムである。
【００８５】
また、この第３実施例では、後述するように、閾値Ｘｉの最小値が閾値Ｋと同じ値に設定され、閾値Ｘｉの最小値よりも差分Ｄｆが小さい場合に、回転振れが十分に抑制されたと判断される。このため、第３実施例においては、閾値データ１０４ｂに閾値Ｋの数値データは含めなくてよい。
【００８６】
具体的には、図１に示したＣＰＵ２０が図１２に示すパラメータ設定処理のフロー図を処理する。以下、第３実施例のパラメータ設定処理について説明するが、図１２では、図９に示した第２実施例のパラメータ設定処理と同じ処理には同じ参照符号を付してある。また、異なる点についてのみ説明し、重複する説明は省略する。
【００８７】
図１２に示すように、ステップＳ３で、差分Ｄｆを算出すると、ステップＳ５１で、変数ｉに初期値を設定する（ｉ＝１）。ただし、変数ｉは１、２、３、…、ｎであり、閾値テーブルＴ１の番号およびパラメータテーブルＴ２の番号の左側の数に相当し、最大値ｎは閾値の個数に相当する。
【００８８】
次のステップＳ５３では、差分Ｄｆの絶対値が閾値Ｘｉ未満（-Xi<Df<Xi）であるかどうかを判断する。ステップＳ５３で“ＹＥＳ”であれば、つまり差分Ｄｆの絶対値が閾値Ｘｉ未満であれば、ステップＳ５５で、変数ｉを１加算し（i=i+1）、ステップＳ５７で、変数ｉが最大値よりも大きい（i>n）かどうかを判断する。
【００８９】
ステップＳ５７で“ＮＯ”であれば、つまり変数ｉが最大値以下である場合には、ステップＳ５３に戻る。一方、ステップＳ５７で“ＹＥＳ”であれば、つまり変数ｉが最大値よりも大きい場合には、回転振れが発生していない、または回転振れが十分に抑制されたと判断し、ステップＳ１５に進む。たとえば、変数ｉが最大値ｎの場合の閾値Ｘｉは目標値の０．５％であり、上述したように、これは第１実施例または第２次実施例で示した閾値Ｋに相当する。
【００９０】
また、ステップＳ５３で“ＮＯ”であれば、つまり差分Ｄｆの絶対値が閾値Ｘｉ以上であれば、ステップＳ３１で、差分Ｄｆが０より大きいかどうかを判断する。ステップＳ３１で“ＮＯ”であれば、ステップＳ５９で、パラメータテーブルＴ２の番号ｉ１に対応する抑制値Ｙｉｐを選択して、ステップＳ６３に進む。一方、ステップＳ３１で“ＹＥＳ”であれば、ステップＳ６１で、パラメータテーブルＴ２の番号ｉ２に対応する抑制値Ｙｉｍを選択して、ステップＳ６３に進む。ステップＳ６３では、現在設定されている各要素５８、６２、６４、６８、７２のパラメータ値ＧＡ、ＧＢ、ＧＣ、ＧＤ、ＧＥを、ステップＳ５９で選択した抑制値ＹｉｐまたはステップＳ６１で選択した抑制値Ｙｉｍに切り替えて、ステップＳ１に戻る。
【００９１】
第３実施例によれば、回転振れ量および回転振れ方向に応じて、精度の高いパラメータ値ＧＡ、ＧＢ、ＧＣ、ＧＤ、ＧＥをより適切に設定することができ、より効果的に回転振れを抑制することができる。
【００９２】
なお、第３実施例では、各閾値Ｘｉに対応して、プラス側の抑制値およびマイナス側の抑制値を用意しておき、目標値と制御量の大小に応じて、一方の抑制値を設定するようにしたが、これに限定される必要はない。第１実施例と同様に、各閾値Ｘｉに対応して一つの抑制値を用意しておき、目標値と制御量の大小に拘わらず、差分Ｄｆが閾値Ｘｉ以上となる場合の当該閾値Ｘｉに対応する抑制値を設定するようにしてもよい。
【００９３】
また、第３実施例では、パラメータテーブルＴ２を用意しておき、このパラメータテーブルＴ２に従ってパラメータ値ＧＡ、ＧＢ、ＧＣ、ＧＤ、ＧＥを設定（変更）するようにしたが、これに限定される必要はない。変更されるパラメータ値ＧＡ、ＧＢ、ＧＣ、ＧＤ、ＧＥは、現在設定されている（直前の）パラメータ値ＧＡ、ＧＢ、ＧＣ、ＧＤ、ＧＥと回転振れを判断したときの閾値Ｘｉを用いて算出するようにしてもよい。
【００９４】
たとえば、変更されるパラメータ値ＧＡ、ＧＢ、ＧＣ、ＧＤ、ＧＥは、数１に従って算出することができる。ここでは、変更されるパラメータ値ＧＡ、ＧＢ、ＧＣ、ＧＤ、ＧＥのうち、要素５８のパラメータ値ＧＡを算出する場合について示すが、他の要素６２、６４、６８、７２のパラメータ値ＧＢ、ＧＣ、ＧＤ、ＧＥについても同様である。また、数１において、右辺においてプラスが選択されると、差分Ｄｆの符号がマイナスの場合の振れ抑制用のパラメータ値が算出され、右辺においてマイナスが選択されると、差分Ｄｆの符号がプラスの場合の振れ抑制用のパラメータ値が算出される。ただし、数１では、変更（算出）されるパラメータ値をＧＡｉで表記し、直前のパラメータ値をＧＡｐｒと表記する。
【００９５】
［数１］
ＧＡｉ＝ＧＡｐｒ×（１±Ｘｉ／１０００）
この数１では、回転振れの振れ量（差分Ｄｆ）に応じたパラメータ値ＧＡ、ＧＢ、ＧＣ、ＧＤ、ＧＥを算出するために、差分Ｄｆの絶対値が閾値Ｘｉ以上である場合の当該閾値Ｘｉを用いてある。したがって、差分Ｄｆの絶対値が閾値Ｘｉ以上である場合に、閾値Ｘｉ分を変更されるパラメータ値（ここでは、ＧＡｉ）に反映させることができる。
【００９６】
たとえば、数１において、差分Ｄｆが閾値Ｘｉを越えた場合の閾値Ｘｉを“１０”とし、このときのパラメータ値ＧＡｐｒが“１８０”であるとすると、差分Ｄｆの符号がプラスであるため、数１の右辺ではマイナスが選択される。したがって、数２に示すように、パラメータ値ＧＡｉは算出される。
【００９７】
［数２］
ＧＡｉ＝１８０×（１−１０／１０００）＝１８０×０．９９＝１７８．２
よって、閾値Ｘｉが小さければ、パラメータ値ＧＡ、ＧＢ、ＧＣ、ＧＤ、ＧＥを細かく変更することができる。
【００９８】
ただし、数１は一例であり、振れ量（差分Ｄｆ）に応じたパラメータ値ＧＡ、ＧＢ、ＧＣ、ＧＤ、ＧＥが算出されれば、他の算出方法が採用されてもよい。
＜第４実施例＞
第４実施例の制御装置１０は、第１〜第３実施例に示した制御装置１０とは電気的な構成が異なる以外は同じであるため、重複した内容については、簡単に説明する、または説明を省略する。
【００９９】
図１３は第４実施例の制御装置１０の電気的な構成の一例を示すブロック図である。以下、図１３を用いて第４実施例の制御装置１０について説明するが、この図１３では、図１に示した制御装置１０と同じ構成については同じ参照符号を付してある。
【０１００】
図１３に示すように、制御装置１０は、ＣＰＵ２０を含み、ＣＰＵ２０にはバスを介してＲＯＭ２２およびＲＡＭ２４が接続される。また、ＣＰＵ２０は、ＡＳＩＣ４０を介してモータドライバ２８に接続される。ＡＳＩＣ４０は、ＰＩＤ制御回路２６を含み、ＰＩＤ制御回路２６には内部バスを介して回転数算出回路３６が接続される。この回転数算出回路３６には、内部バスを介してI／Ｆ３４が接続される。ただし、ＣＰＵ２０は、ＡＳＩＣ４０に含まれるＰＩＤ制御回路２６および回転数算出回路３６と接続される。
【０１０１】
また、モータドライバ２８にはモータ３０が接続され、このモータ３０にはエンコーダ３２が接続（連結）される。そして、エンコーダ３２は、上記のＩ／Ｆ３４に接続される。
【０１０２】
このように、第４実施例の制御装置１０は構成されるため、ＣＰＵ２０からは、目標値ＳＶがＰＩＤ制御回路２６に入力されたり、パラメータ値ＧＡ、ＧＢ、ＧＣ、ＧＤ、ＧＥの初期値Ｙ０および抑制値Ｙｘ、Ｙｐ、Ｙｍ、Ｙｉｐ、Ｙｉｍが入力されたりする。したがって、第４実施例のＰＩＤ制御回路２６は、図２に示した具体的な構成において、さらに端子５０を含む。また、回転数算出回路３６が、Ｉ／Ｆ３４を介して入力されるパルス信号に基づいて、モータ３０の回転数ＰＶを検出（算出）する。そして、算出された回転数ＰＶが端子５０に反転入力されるとともに、ＣＰＵ２０に入力される。
【０１０３】
図示および説明は省略するが、第４実施例では、ＣＰＵ２０では、上記の第１実施例〜第３実施例に示したいずれかのパラメータ設定処理が実行される。
【０１０４】
第４実施例によれば、制御装置１０の一部をＡＳＩＣで構成しても、第１実施例〜第３実施例と同様の効果を得ることがきる。
【０１０５】
なお、第４実施例では、ＰＩＤ制御回路２６、Ｉ／３４および回転数算出回路３６をＡＳＩＣで構成するようにしたが、ＦＰＧＡで構成するようにしてもよい。
＜第５実施例＞
第５実施例は、第１実施例〜第４実施例に示したいずれかの制御装置１０を画像形成装置５００に適用する。
【０１０６】
図１４は画像形成装置５００の一例を示すブロック図である。図１４に示すように、画像形成装置５００は上述した制御装置１０を含み、制御装置１０（ＣＰＵ２０）には、内部バス５３０を介して、ＨＤＤ５０２、画像処理回路５０４、ディスプレイ５０６、タッチパネル５０８、操作ボタン５１０、プリンタ５１２、スキャナ５１４、ネットワーク接続回路５１６および通信制御回路５１８が接続される。
【０１０７】
この第５実施例では、画像形成装置５００として、プリント機能、スキャナ機能およびファクシミリ機能を備える複合機について説明するが、これに限定される必要はなく、少なくともプリント機能を有していれば、スキャナ機能およびファクシミリ機能は有していなくてよい。
【０１０８】
制御装置１０に含まれるＣＰＵ２０は、画像形成装置５００の全体的な制御を司る。ただし、第５実施例では、ＲＯＭ２２は、上述したモータ３０を制御するための制御プログラムのみならず、画像形成装置５００の各種の動作ないし機能（プリント、スキャン、通信など）を制御するための各種のプログラムも記憶する。ＨＤＤ５０２は、画像形成装置５００の主記憶装置であり、ネットワーク接続回路５１６を介してＰＣなどの外部のコンピュータから送信された印刷データなどのデータを記憶したり、スキャナ５１４で読み取った画像データを記憶したり、通信制御回路５１８で受信した画像データを記憶したりする。
【０１０９】
画像処理回路５０４は、ＲＡＭ２４の一部の領域をＶＲＡＭとして使用して、ＨＤＤ５０２から読み出した画像データに対してＲＩＰ(Raster image processing)処理を施したり、画像データに対して加工処理を施したり、外部へ送信する際にそのデータの形式を変換する変換処理を施したりする。ただし、ＲＩＰ処理とは、外部のコンピュータから送信されたプリンタ言語で表現された印刷データをビットマップデータのような画像データに変換する処理である。また、加工処理とは、たとえば、明るさの調整、色目の調整、画質の調整、トリミングおよび合成処理などを意味する。
【０１１０】
なお、この第５実施例では、画像処理回路５０４は、ＲＡＭ２４の一部の領域をＶＲＡＭとして使用するようにしてあるが、ＨＤＤ５０２の仮想メモリを使用するようにしてもよい。
【０１１１】
ディスプレイ５０６は、ＬＣＤやＥＬ（Electro-Luminescence）ディスプレイなどの汎用の表示装置であり、後述するタッチパネル５０８および操作ボタン５１０とともに用いられることにより、操作パネルを構成する。ディスプレイ５０６は、画像形成装置５００の操作のための様々な種類の画面を表示する。また、ＶＲＡＭに展開された画像データが読み出され、プレビュー表示される場合もある。
【０１１２】
タッチパネル５０８は、ユーザのタッチ操作を検出して、このタッチ操作で指示される位置の座標（タッチ座標）についてのデータ（タッチ座標データ）をＣＰＵ２０に出力する。ただし、タッチ操作は、タッチオン、タッチオフ、スライド、フリックなどの操作を意味する。タッチパネル５０８は、汎用のタッチパネルであり、静電容量方式、電磁誘導方式、抵抗膜方式、赤外線方式など、任意の方式のものを用いることができる。この第１実施例では、タッチパネル５０８としては、静電容量方式のタッチパネルがディスプレイ５０６の表示面上に設けられる。
【０１１３】
操作ボタン５１０は、ハードウェアのボタンないしキーで構成され、ユーザによるボタンないしキーの操作に応じて、操作信号（操作データ）をＣＰＵ２０に入力する。
【０１１４】
プリンタ５１２は、たとえば、汎用のレーザプリンタであり、感光体、帯電器、露光装置、現像装置、転写装置、定着装置などを備え、画像処理回路５０４で処理された画像データに対応する画像を記録紙（用紙）などに印刷する。簡単に説明すると、レーザプリンタでは、帯電された感光体ドラムに静電潜像が形成され、この静電潜像にトナーが現像される。つまり、トナー像が形成される。そして、感光体ドラムに形成されたトナー像が転写ローラによって用紙に転写され、転写されたトナー像が溶融および圧接されることにより、用紙に定着される。ただし、カラーで印刷する場合には、黒、マゼンタ、シアン、イエローの各色について設けられた感光体ドラムに、各色についての静電潜像が形成され、各色のトナー像が形成され、各色のトナー像が中間転写ローラに一次転写され、その後、用紙に転写（二次転写）される。
【０１１５】
スキャナ５１４は、たとえば、ＣＣＤラインセンサを含み、原稿からの反射光をＣＣＤラインセンサで読み取って、画像データに変換する。変換された画像データはスキャナ５１４から出力され、上述したように、ＨＤＤ５０２に一旦記憶される。
【０１１６】
ネットワーク接続回路５１６は、ＬＡＮに接続するための通信回路であり、ＣＰＵ２０からの指示に従って、ＰＣなどの外部のコンピュータと通信する。
【０１１７】
通信制御回路５１８は、モデムであり、ＣＰＵ２０からの指示に従って、電話回線のような通信回線と接続されて、通信相手のファクシミリとの間で画像データを送受信する。通信相手のファクシミリから受信した画像データは、上述したように、ＨＤＤ５０２に一旦記憶される。
【０１１８】
このような画像形成装置５００において、モータ３０は、たとえば、給紙された印字前の用紙や印字後の用紙を、画像形成装置５００の内部に設けられる用紙搬送路を搬送するための搬送ローラを回転させるために用いられる。また、モータ３０は、たとえば、転写ローラ（一次転写または／および二次転写）を回転させるために用いることもできる。さらに、モータ３０は、原稿用紙を、画像読取装置の内部に設けられる用紙搬送路を搬送するための搬送ローラを回転させるために用いられる。
【０１１９】
第５実施例によれば、画像形成装置５００に制御装置１０を用いるので、モータ３０で回転される各種のローラの回転振れを抑制することができる。したがって、画像形成装置５００に振動が発生し、用紙搬送のタイミングなどに及ぼす影響を出来る限り少なくするとともに、モータ３０が駆動する搬送ローラの磨耗促進や画像品質の劣化を出来る限り防止することができる。
【０１２０】
なお、上述の各実施例では、或る目標値ＳＶに対して、パラメータ値ＧＡ、ＧＢ、ＧＣ、ＧＤ、ＧＥの初期値Ｙ０および抑制値Ｙｘ、Ｙｐ、Ｙｍ、Ｙｉｐ、Ｙｉｍが用意される場合について説明したが、目標値ＳＶが変化される場合には、各目標値ＳＶに応じて、パラメータ値ＧＡ、ＧＢ、ＧＣ、ＧＤ、ＧＥの初期値および抑制値が用意される。
【０１２１】
また、上述の各実施例では、モータの回転（回転数）を制御する場合について説明したが、これに限定される必要はない。他の例として、ベルトコンベアに設けられるモータの回転（回転数）、ガスタービンの回転（回転数）、ポンプの圧力（水圧）、ボイラーの温度などを制御する場合にも、制御装置１０を用いることができる。つまり、制御対象は限定されない。ただし、いずれの場合においても、目標値に対する制御量の振れを抑制するためのパラメータ値を予め用意しておき、振れの発生を検出した場合に、ＰＩＤ制御回路２６の各要素５８、６２、６４、６８、７２のパラメータ値ＧＡ、ＧＢ、ＧＣ、ＧＤ、ＧＥを切り替えるようにすればよい。当然のことではあるが、目標値は制御対象に応じて適宜設定される。
【０１２２】
さらに、上述の各実施例で挙げた具体的な数値等は一例であり、実際の製品に応じて適宜変更することが可能である。また、同じ効果が得られる場合には、フロー図に示した各ステップの順番は適宜変更されてもよい。
【符号の説明】
【０１２３】
１０  …制御装置
１２  …マイコン
２０  …ＣＰＵ
２２  …ＲＯＭ
２４  …ＲＡＭ
２６  …ＰＩＤ制御回路
２８  …モータドライバ
３０  …モータ
３２  …エンコーダ
３６  …回転数算出回路
４０  …ＡＳＩＣ
【図１】
2016173695.tif 000003
【図２】
2016173695.tif 000004
【図３】
2016173695.tif 000005
【図４】
2016173695.tif 000006
【図５】
2016173695.tif 000007
【図６】
2016173695.tif 000008
【図７】
2016173695.tif 000009
【図８】
2016173695.tif 000010
【図９】
2016173695.tif 000011
【図１０】
2016173695.tif 000012
【図１１】
2016173695.tif 000013
【図１２】
2016173695.tif 000014
【図１３】
2016173695.tif 000015
【図１４】
2016173695.tif 000016