(57)【特許請求の範囲】
【請求項１】
回転軸に同期して回転する回転板と、
前記回転板に対して所定の位置に取り付けられ、前記回転板の回転速度に対応した第１のパルス信号を発生する第１のパルス発生手段と、
前記回転軸に対して前記第１のパルス発生手段と９０度の位置に取り付けられ、前記回転板の回転速度に対応した第２のパルス信号を発生する第２のパルス発生手段と、
前記回転軸に対して前記第１のパルス発生手段と１８０度の位置に取り付けられ、前記回転板の回転速度に対応した第３のパルス信号を発生する第３のパルス発生手段と、
前記第１のパルス信号に基づく前記回転板の回転速度と前記第３のパルス信号に基づく前記回転板の回転速度との平均値、及び、前記第２のパルス信号に基づく前記回転板の回転速度の、前記第２のパルス信号に基づく前記回転板の回転速度の最大値に対する割合である補正係数に基づいて、前記回転軸の回転速度を演算する演算手段と、を備える回転検出器。
【請求項２】
前記演算手段は、前記最大値が所定値を超えたか否かを判定し、
前記最大値が前記所定値を超えた場合に、前記平均値及び前記補正係数に基づいて前記回転軸の回転速度を演算する請求項１記載の回転検出器。
【請求項３】
前記演算手段は、前記回転軸の回転速度の演算後に最初に検出された前記第２のパルス信号に基づく前記回転板の回転速度の最大値を第２の最大値として記憶し、
前記第２の最大値を記憶した後も前記第２のパルス信号に基づく前記回転板の回転速度を継続的に監視して、前記第２のパルス信号に基づく前記回転板の回転速度の最大値である第３の最大値を抽出し、
前記第２の最大値の、前記第３の最大値に対する割合である第２の補正係数を算出し、前記平均値、前記補正係数、及び前記第２の補正係数に基づいて、前記回転軸の回転速度を再度演算する請求項１又は２記載の回転検出器。
【請求項４】
前記演算手段は、前記第３の最大値が前記所定値を超えたか否かを判定し、
前記第３の最大値が前記所定値を超えた場合に、前記回転軸の回転速度を再度演算する請求項３記載の回転検出器。
【請求項５】
前記最大値は、前記平均値のみに基づいて前記回転軸の回転速度を制御している状態で取得する請求項１乃至４の何れか一項記載の回転検出器。
【請求項６】
前記最大値は、少なくとも前記回転軸の回転角９０度分の前記第２のパルス信号のパルス間隔時間の中から最大のものを抽出した値である請求項１乃至５の何れか一項記載の回転検出器。
【請求項７】
前記回転板の周辺温度を検出する温度検出器を更に備え、
前記温度検出器の検出した周辺温度が第１の値より高くなった後、前記第１の値よりも小さい第２の値よりも低くなった場合に、前記平均値及び前記補正係数に基づいて前記回転軸の回転速度を演算する請求項１乃至６の何れか一項記載の回転検出器。
【請求項８】
前記回転軸の回転ムラを検出する回転ムラ検出手段を更に備え、
前記回転ムラ検出手段の検出した回転ムラが所定値を超えた場合に、前記平均値及び前記補正係数に基づいて前記回転軸の回転速度を演算する請求項１乃至６の何れか一項記載の回転検出器。
【請求項９】
前記回転軸の連続回転時間及び連続停止時間を計測する時間計測手段を更に備え、
前記時間計測手段の計測した連続回転時間が第１の値より長くなった後、前記回転軸の回転が停止し、前記時間計測手段の計測した連続停止時間が第２の値より長くなり、その後前記回転軸が回転を開始した場合に、前記平均値及び前記補正係数に基づいて前記回転軸の回転速度を演算する請求項１乃至６の何れか一項記載の回転検出器。
【請求項１０】
前記回転軸の回転速度の演算は、前記平均値を演算して、前記回転板の１回転に対して１周期発生する誤差成分を除去する第１の演算と、
前記平均値に前記補正係数を乗算して、前記回転板の１回転に対して２周期発生する誤差成分を除去する第２の演算と、を含む請求項１乃至９の何れか一項記載の回転検出器。
【請求項１１】
前記回転軸の回転速度の再度の演算では、前記平均値に前記補正係数を乗算した値に更に前記第２の補正係数を乗算する請求項３又は４記載の回転検出器。
【請求項１２】
前記回転軸を回転させるモータと、
請求項１乃至１１の何れか一項記載の回転検出器と、
前記モータを駆動する駆動手段と、
前記モータを、前記演算手段の演算した前記回転速度に基づいて制御する制御手段と、を備えるモータ駆動装置。
【請求項１３】
請求項１２記載のモータ駆動装置を備える画像形成装置。
【請求項１４】
無端状搬送体上にトナーパターン列を作像するトナーパターン列作像手段と、
前記トナーパターン列を検出するセンサと、
前記センサの検出結果に基づいて色ずれ補正を実行し、色ずれ値を算出する色ずれ値算出手段と、を備え、
前記色ずれ値算出手段の算出した前記色ずれ値が所定値を超えた場合に、前記平均値及び前記補正係数に基づいて前記回転軸の回転速度を演算する請求項１３記載の画像形成装置。
【請求項１５】
請求項１乃至１１の何れか一項記載の回転検出器の各手段の処理を実行する手順を備えるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、回転軸の回転速度を演算する回転検出器、前記回転検出器を備えるモータ駆動装置、前記モータ駆動装置を備える画像形成装置、及び前記回転検出器の各手段の処理を実行する手順を備えるプログラムに関する。
【背景技術】
【０００２】
近年、画像形成装置における画像品質は高画質であることがより求められている。カラー複写機等の画像形成装置においては様々な転写駆動のためのモータを有しているが、そこでは画像悪化の原因となる回転ムラを発生させないことが重要である。
【０００３】
モータの回転ムラを発生させない技術としては、例えば、モータの回転軸、又はモータの回転軸に連結される感光体ドラムの回転軸に回転速度を検出するエンコーダを設け、そのエンコーダの出力信号に基づいて感光体ドラムの回転速度を制御する技術が知られている。エンコーダとしては、例えば、多数の透過部及び遮光部が周方向に等間隔で交互に配置された光学パターンを有するコードホイールをモータの回転軸等に同軸的に取り付けると共に、その光学パターンを挟んで発光素子と受光素子とを配置したエンコーダセンサを設け、そのエンコーダセンサがコードホイールの回転に伴う受光の有無に応じたパルス信号（ＯＮ／ＯＦＦ信号）を出力する光学式のエンコーダが採用されている。
【０００４】
又、エンコーダの取り付け誤差（偏心）による影響を除去するために、２つのエンコーダセンサを１８０°対極した位置に配置し、２つのエンコーダセンサの出力を平均化することで、正弦波状の偏心成分を取り除く技術が知られている。
【０００５】
しかしながら、コードホイールの材料として安価なＰＥＴ（ポリエチレンテレフタレート）等が用いられると、縦横方向の膨張率の相違によってゆがみが生じコードホイールがある方向に膨張し他の方向に収縮して楕円状に変形（以降、伸縮楕円変形とする）する場合がある。このような場合には、コードホイールの取り付け偏心成分である回転軸の１回転に対して１周期発生する正弦波成分（以降、１周期誤差成分とする）に加え、回転軸の１回転に対して２周期発生する正弦波成分（以降、２周期誤差成分とする）が発生する。２周期誤差成分は、１８０°対極した位置に配置した２つのエンコーダセンサの出力を平均するのみでは除去できない。そこで、図１８に示すように、３つのエンコーダセンサを用いる技術が開示されている。
【０００６】
図１８は、従来のエンコーダを例示する図である。図１８（ａ）が平面図、図１８（ｂ）が正面図である。図１８において、１１０はコードホイールを、１６０は回転軸を、３２０ａ〜３２０ｃはエンコーダセンサを示している。又、図１８では、コードホイール１１０が伸縮楕円変形している場合を示している。なお、破線は伸縮楕円変形する前の円形のコードホイール１１０を示している。
【０００７】
コードホイール１１０は、エンコーダセンサ３２０ａ〜３２０ｃが出射する光を遮蔽する材料で形成されており、その外周近傍にはエンコーダセンサ３２０ａ〜３２０ｃが出射する光を透過するスリット１１０ｘが周方向に略等間隔で全周に亘り形成されている。コードホイール１１０は、回転軸１６０に同軸的に取り付けられている。
【０００８】
図１８に示すように配置されたエンコーダセンサ３２０ａ〜３２０ｃにおいて、回転軸１６０の１回転に含まれる１周期誤差成分及び２周期誤差成分を除去するためには、エンコーダセンサ３２０ａ〜３２０ｃの出力するパルス信号のパルス間隔時間を下記の式（１）を用いて演算すればよい。１周期誤差成分及び２周期誤差成分を取り除いた回転軸の回転成分をP（θ）、エンコーダセンサ３２０ａの出力をＥ１（θ）、エンコーダセンサ３２０ｂの出力をＥ２（θ）、エンコーダセンサ３２０ｃの出力をＥ３（θ）とすると、『Ｐ（θ）＝｛Ｅ１（θ）＋Ｅ２（θ）｝÷２  −  √２÷４×｛Ｅ１（θ＋π／４）−Ｅ３（θ＋π／４）｝・・・式（１）』となる。
【０００９】
式（１）からわかるように、１周期誤差成分と２周期誤差成分を除去するためには、エンコーダセンサ３２０ａの出力Ｅ１（θ）に対してπ／４位相が進んだ出力情報Ｅ１（θ＋π／４）と、エンコーダセンサ３２０ｃの出力Ｅ３（θ）に対してπ／４位相が進んだ出力情報Ｅ３（θ＋π／４）が必要となる。しかし、エンコーダセンサ３２０ａ〜３２０ｃはそれぞれπ／２（９０°）ずれた位置に配置されているため、出力情報Ｅ１（θ＋π／４）及びＥ３（θ＋π／４）を直接取得することはできない。そこで、出力情報Ｅ１（θ＋π／４）及びＥ３（θ＋π／４）を演算で求めるか、又は過去のデータを蓄積しておきそれを用いて演算する必要がある。従来例では、過去π／４位相分のエンコーダセンサの出力データをメモリ上に保存しておき、その出力データを用いて１周期誤差成分及び２周期誤差成分を除去する例が開示されている（例えば、特許文献１参照）。
【発明の概要】
【発明が解決しようとする課題】
【００１０】
ところで、コードホイール１１０が楕円状に変形する場合には、図１８に示す伸縮楕円変形による場合以外に、図１９（図１９（ａ）が平面図、図１９（ｂ）が正面図）に示すように、コードホイール１１０が熱膨張後の温度変化（冷える過程）により反り、その後反った状態が維持されて楕円状に変形する場合がある。図１９の場合には、反った状態のコードホイール１１０の楕円の長径と反る前のコードホイール１１０の直径は同一である。なお、図１９において、破線は反る前の円形のコードホイール１１０を示している。
【００１１】
上記従来例の演算は、図１８に示すようなコードホイールの伸縮楕円変形の場合には有効であるが、図１９に示すようなコードホイール１１０が反った状態のまま回転するような場合には有効ではない。
【００１２】
これを式（１）で考えると、図１８及び図１９の何れの場合も対向位置誤差が０となるので、式（１）の第２項は０となり第１項のみが残り、式（１）は、『Ｐ（θ）＝｛Ｅ１（θ）＋Ｅ２（θ）｝÷２』となる。図１８の場合には『Ｅ１（θ）＋Ｅ２（θ）＝"一定"』であるが、図１９の場合には反りが大きいほど『Ｅ１（θ）＋Ｅ２（θ）』の値が大きくなる。つまり、図１９の場合には、本来検出すべきパルス間隔時間よりも大きな値が検出される（回転速度を実際よりも遅く検出する）。従って、この値に基づいて速度制御を行うと、コードホイール１１０の回転速度は、目標値よりも速くなる。
【００１３】
このように、従来からある２周期誤差成分を除去する演算方法は、コードホイールの伸縮楕円変形に対しては有効であるが、コードホイールの反りに対しては有効ではなく、２周期誤差成分を除去できず回転速度を実際よりも遅く検出してしまうため、補正後の回転速度が目標値より速くなるという問題があった。
【００１４】
本発明は、上記の点に鑑みて、コードホイールの反りにより生じる回転速度検出情報の誤差を低減可能な回転検出器、前記回転検出器を備えるモータ駆動装置、前記モータ駆動装置を備える画像形成装置、及び前記回転検出器の各手段の処理を実行する手順を備えるプログラムを提供することを課題とする。
【課題を解決するための手段】
【００１５】
本回転検出器は、回転軸に同期して回転する回転板と、前記回転板に対して所定の位置に取り付けられ、前記回転板の回転速度に対応した第１のパルス信号を発生する第１のパルス発生手段と、前記回転軸に対して前記第１のパルス発生手段と９０度の位置に取り付けられ、前記回転板の回転速度に対応した第２のパルス信号を発生する第２のパルス発生手段と、前記回転軸に対して前記第１のパルス発生手段と１８０度の位置に取り付けられ、前記回転板の回転速度に対応した第３のパルス信号を発生する第３のパルス発生手段と、前記第１のパルス信号に基づく前記回転板の回転速度と前記第３のパルス信号に基づく前記回転板の回転速度との平均値、及び、前記第２のパルス信号に基づく前記回転板の回転速度の、前記第２のパルス信号に基づく前記回転板の回転速度の最大値に対する割合である補正係数に基づいて、前記回転軸の回転速度を演算する演算手段と、を備えることを要件とする。
【００１６】
本モータ駆動装置は、前記回転軸を回転させるモータと、本発明に係る回転検出器と、前記モータを駆動する駆動手段と、前記モータを、前記演算手段の演算した前記回転速度に基づいて制御する制御手段と、を備えることを要件とする。
【００１７】
本画像形成装置は、本発明に係るモータ駆動装置を備えることを要件とする。
【００１８】
本プログラムは、本発明に係る回転検出器の各手段の処理を実行する手順を備えることを要件とする。
【発明の効果】
【００１９】
開示の技術によれば、コードホイールの反りにより生じる回転速度検出情報の誤差を低減可能な回転検出器、前記回転検出器を備えるモータ駆動装置、前記モータ駆動装置を備える画像形成装置、及び前記回転検出器の各手段の処理を実行する手順を備えるプログラムを提供できる。
【図面の簡単な説明】
【００２０】
【図１】エンコーダを有する一般的な回転速度制御装置を例示する図（その１）である。
【図２】図１に示すエンコーダを構成するコードホイールを例示する図である。
【図３】エンコーダを有する一般的な回転速度制御装置を例示する図（その２）である。
【図４】エンコーダを有する一般的な回転速度制御装置の制御方法を例示するフローチャートである。
【図５】第１の実施の形態に係る回転速度制御装置を例示する図である。
【図６】第１の実施の形態に係る回転速度制御装置の制御部の機能ブロックを例示する図である。
【図７】第１の実施の形態に係るエンコーダを例示する図である。
【図８】第１の実施の形態に係るエンコーダの出力するパルス信号を例示する図である。
【図９】エンコーダの出力するパルス間隔時間と速度変動の関係を例示する図である。
【図１０】１周期誤差成分を除去すると共にコードホイールの反りの程度を検出するフローチャートの一例である。
【図１１】２周期誤差成分を除去するフローチャートの一例である。
【図１２】コードホイールの反り補正実行後に徐々に反りの程度が変化した場合のフローチャートの一例である。
【図１３】コードホイールの温度監視のフローチャートの一例である。
【図１４】コードホイールの回転ムラを計測するフローチャートの一例である。
【図１５】回転軸の連続回転時間及び連続停止時間を計測するフローチャートの一例である。
【図１６】第２の実施の形態に係る画像形成装置を例示する図である。
【図１７】色ずれ補正を実行した場合のフローチャートの一例である。
【図１８】従来のエンコーダを例示する図（その１）である。
【図１９】従来のエンコーダを例示する図（その２）である。
【発明を実施するための形態】
【００２１】
以下、図面を参照して、実施の形態の説明を行う。なお、各図において、既に説明した図と同一部分には同一符号を付し、その説明を省略する場合がある。
【００２２】
〈第１の実施の形態〉
始めに、エンコーダを有する一般的な回転速度制御装置に関して説明する。図１は、エンコーダを有する一般的な回転速度制御装置を例示する図（その１）である。図１を参照するに、回転速度制御装置１Ａは、エンコーダ１０と、回転軸１３ａを有するモータ１３と、ギア１４と、ギア１５と、回転軸１６と、パルス検出手段１７と、制御部１８と、駆動手段１９と、通信手段２０とを有する。エンコーダ１０は、スリット１１ｘを有するコードホイール１１と、パルス発生手段１２とを有する。
【００２３】
モータ１３は、印加される電圧等に応じて回転軸１３ａが回転する回転体である。ギア１４は、モータ１３の回転軸１３ａに同軸的に固定されている。ギア１５とエンコーダ１０のコードホイール１１とは回転軸１６に同軸的に固定されており、ギア１５はギア１４と噛み合っている。ギア１４、ギア１５及びコードホイール１１は、略円盤状に形成されている。図２に示すように、コードホイール１１は、後述するパルス発生手段１２が出射する光を遮蔽する材料で形成された回転板である。コードホイール１１の外周近傍にはパルス発生手段１２が出射する光を透過する回転速度検出用パターンであるスリット１１ｘが周方向に沿って略等間隔で全周に亘り形成されている。又、コードホイール１１の中心部近傍には、回転軸１６が挿入される貫通孔１１ｙが設けられている。
【００２４】
パルス発生手段１２は略コの字型の光センサであり、コの字型の一端部近傍及び対向する他端部近傍でスリット１１ｘを挟むようにコードホイール１１と非接触に配置されている。パルス発生手段１２の一端部近傍及び対向する他端部近傍の何れか一方には発光素子（図示せず）が設けられており、他方には受光素子（図示せず）が設けられている。パルス発生手段１２としては、例えば透過型フォトインタラプタを用いることができる。
【００２５】
モータ１３の回転軸１３ａが所定の回転数で回転すると、それに同期してコードホイール１１はギア１４とギア１５とのギア比で決まる回転数に減速されて回転する。
【００２６】
図３は、エンコーダを有する一般的な回転速度制御装置を例示する図（その２）である。図３を参照するに、回転速度制御装置１Ｂは、ギア１４及び１５が存在せず、モータ１３の回転軸１３ａに直接コードホイール１１が固定されている点が回転速度制御装置１Ａと異なる。モータ１３の回転軸１３ａが所定の回転数で回転すると、それに同期してコードホイール１１は回転軸１３ａと同一の回転数で回転する。
【００２７】
回転速度制御装置１Ａ及び１Ｂにおいて、パルス発生手段１２の発光素子（図示せず）が出射した光はスリット１１ｘの部分を透過して受光素子（図示せず）に入射し、スリット１１ｘ以外の部分では遮蔽されて受光素子（図示せず）には入射しない。その結果、パルス発生手段１２の受光素子（図示せず）において、コードホイール１１の回転速度に対応したパルス信号が発生する。
【００２８】
このように、パルス発生手段１２は、回転速度検出用パターンであるスリット１１ｘを読み取り、回転板であるコードホイール１１の回転速度に対応したパルス信号を発生する機能を有する。パルス発生手段１２が発生した単位時間当たりのパルス信号数を計測することにより、コードホイール１１の回転速度を検出することができる。
【００２９】
パルス発生手段１２が発生したパルス信号はパルス検出手段１７に入力される。パルス検出手段１７は、インプットキャプチャ１７ａと、フィルタ１７ｂとを有する。インプットキャプチャ１７ａは、入力されたパルス信号の立ち上がりエッジ間隔を計測することにより、入力されたパルス信号のパルス間隔時間（パルス周期）をデータ（例えば４ビットデータ等）として取得する機能を有する。以降、インプットキャプチャ１７ａが取得したパルス間隔時間（パルス周期）のデータ（例えば４ビットデータ等）をパルス間隔データと称する場合がある。又、インプットキャプチャ１７ａがパルス間隔データを取得する処理を、単にインプットキャプチャと称する場合がある。
【００３０】
パルス間隔データは、フィルタ１７ｂに入力される。フィルタ１７ｂは、例えばディジタルフィルタであり、ノイズ除去や平均化などのフィルタ処理を行う機能を有する。具体的には、例えばパルス間隔データが通常ではありえない値（極端に大きい値や小さい値）であった場合にその値を除去したり、外的要因により発生する高周波ノイズを除去するために取得したパルス間隔データを平均化（過去何回かのデータを加算し平均する）したりする。インプットキャプチャ１７ａ及びフィルタ１７ｂは、ソフトウェア若しくはハードウェアの何れか一方又は双方により実現することができる。
【００３１】
なお、パルス間隔時間（パルス周期）を取得する手段はインプットキャプチャ１７ａには限定されず、例えばソフトウェアでパルス信号の変化点を監視してその周期を計測する手段等で代用しても構わない。又、フィルタ１７ｂの機能はノイズ除去や平均化には限定されず、そのシステム全体としての性能や目的に応じて最適なフィルタ処理を用いることができる。更に、パルス検出手段１７は、必ずしもフィルタ１７ｂを有さなくても構わない。パルス検出手段１７により所定の処理を施されたパルス間隔データは、制御部１８へ入力される。
【００３２】
制御部１８は、パルス検出手段１７から入力されたパルス間隔データを用いて、モータ１３を回転制御（フィードバック制御）する機能を有する。制御部１８は、ＣＰＵ１８ａ（中央演算ユニット）、ＲＡＭ１８ｂ（揮発性メモリ）、ＲＯＭ１８ｃ（不揮発性メモリ）等を有する。
【００３３】
駆動手段１９は、制御部１８からの信号（指示）を受けてモータ１３を直接駆動できるドライバ回路からなる。通信手段２０は、上位システムやユーザ等からのモータ回転要求を判断処理する手段であり、上位システムやユーザ等からの要求に応じて制御部１８に対してモータの起動や停止の指示を発行する機能を有する。パルス発生手段１２、パルス検出手段１７、制御部１８、駆動手段１９及び通信手段２０は、回転速度制御装置１の外部に配置された電源装置（図示せず）と接続されており、電源装置（図示せず）から所定の電源電圧が供給されている。
【００３４】
次に、エンコーダを有する一般的な回転速度制御装置１の制御方法に関して説明する。図４は、エンコーダを有する一般的な回転速度制御装置の制御方法を例示するフローチャートである。図４を参照するに、まず、回転速度制御装置１に電源を投入した後、通信手段２０は、上位システムやユーザ等からのモータ起動要求の有無を確認する（Ｓ１００）。Ｓ１００で通信手段２０が上位システやユーザ等からモータ起動要求を受けていない場合（Ｎｏの場合）には、Ｓ１００の処理を繰り返す。Ｓ１００で通信手段２０が上位システやユーザ等からモータ起動要求を受けた場合（Ｙｅｓの場合）には、モータ１３を起動させる（Ｓ１０１）。
【００３５】
具体的には、通信手段２０は、制御部１８に対してモータの起動指示を発行する。そして、制御部１８は、目標とするモータ回転速度を駆動手段１９に指示する。例えばモータ１３がＤＣブラシレスモータの場合、回転速度はＰＷＭデューティにより指示することができる（以降、回転速度をＰＷＭデューティにより指示する場合を例に説明を行う）。この場合、制御部１８に周期とデューティを任意に設定できるＰＷＭタイマ機能を持たせ、そのデューティ値をソフトウェアで設定することによりモータ回転速度を指示すればよい。モータ１３が起動（回転）すると、それにともなってコードホイール１１が回転し、パルス発生手段１２の受光素子（図示せず）からは、コードホイール１１の回転に対応したパルス信号が発生する。
【００３６】
Ｓ１０１でモータ１３が起動した後、パルス検出手段１７のインプットキャプチャ１７ａは、パルス発生手段１２の発生したパルス信号を計測し、計測したパルス信号のパルス間隔時間（パルス周期）をデータ（パルス間隔データ）として取得する（Ｓ１０２）。そして、パルス検出手段１７のフィルタ１７ｂは、インプットキャプチャ１７ａの取得したパルス間隔データに対してノイズ除去や平均化などのフィルタ処理を行い、制御部１８に出力する（Ｓ１０３）。そして、制御部１８は、入力されたパルス間隔データに基づいてモータ１３の速度を検知する（Ｓ１０４）。
【００３７】
次に、制御部１８は、Ｓ１０４で検知したモータ１３の速度と、予め設定されているモータ１３の目標速度とを比較する（Ｓ１０５）。Ｓ１０５でモータ１３の速度と目標速度とが一致している場合（Ｙｅｓの場合）には、制御部１８はＳ１０１においてＰＷＭデューティにより指示された回転速度（駆動手段１９に対する速度指示値）を更新せず、その状態を継続維持させる。
【００３８】
Ｓ１０５でモータ１３の速度と目標速度とが一致していない場合（Ｎｏの場合）には、制御部１８は、Ｓ１０４で検知したモータ１３の速度が、予め設定されているモータ１３の目標速度よりも速いか否かを判定する（Ｓ１０６）。Ｓ１０６でモータ１３の速度が目標速度よりも速いと判定した場合（Ｙｅｓの場合）には、制御部１８はＰＷＭタイマ値を更新してＰＷＭデューティを下げることにより速度指示値を減算し、駆動手段１９に通知する（Ｓ１０７）。その結果、モータ１３の回転速度が遅くなり、それにともなってパルス発生手段１２が発生するパルス信号のパルス間隔時間は長くなる。
【００３９】
Ｓ１０６でモータ１３の速度が目標速度よりも遅いと判定した場合（Ｎｏの場合）には、制御部１８はＰＷＭタイマ値を更新してＰＷＭデューティを上げることにより速度指示値を加算し、駆動手段１９に通知する（Ｓ１０８）。その結果、モータ１３の回転速度が速くなり、それにともなってパルス発生手段１２が発生するパルス信号のパルス間隔時間は短くなる。
【００４０】
次に、通信手段２０は、上位システムやユーザ等からのモータ停止要求の有無を確認する（Ｓ１０９）。Ｓ１０９で通信手段２０が上位システムやユーザ等からのモータ停止要求を受けた場合（Ｙｅｓの場合）には、通信手段２０は、制御部１８に対してモータの停止指示を発行する。通信手段２０から停止指示を受けた制御部１８は、速度指示値をゼロにし、駆動手段１９に通知する（Ｓ１１０）。その結果、モータ１３は停止する。Ｓ１０９で通信手段２０が上位システムやユーザ等からのモータ停止要求を受けていない場合（Ｎｏの場合）には、Ｓ１０２〜Ｓ１０９の処理を繰り返す。
【００４１】
このように、図４に例示するフローチャートの処理により、モータ１３は目標とする回転速度を維持することができる。なお、図４の説明において、制御部１８に内蔵したＰＷＭタイマのＰＷＭデューティを変えることによりモータ１３の回転速度を指示する場合を例に説明したが、回転速度を指示する手段をＰＷＭタイマに限定するものではない。
【００４２】
次に、１周期誤差成分及び２周期誤差成分を確実に除去し、本来検出したい回転速度変動をより高精度に検出することが可能な回転速度制御装置について説明する。
【００４３】
図５は、第１の実施の形態に係る回転速度制御装置を例示する図である。図６は、第１の実施の形態に係る回転速度制御装置の制御部の機能ブロックを例示する図である。図７は、第１の実施の形態に係るエンコーダを例示する図である。図７（ａ）が平面図、図７（ｂ）が正面図である。なお、図７は、第１の実施の形態に係るエンコーダ３０が、回転軸１６に固定された状態を示している。
【００４４】
図５〜図７を参照するに、回転速度制御装置２は、エンコーダ３０を有する点及び制御部１８が制御部２８に置換された点が、回転制御装置１Ａ（図１参照）とは異なる。エンコーダ３０は、コードホイール１１と、３個のパルス発生手段３２ａ〜３２ｃとを有する。エンコーダ３０のコードホイール１１は、回転軸１６に同軸的に取り付けられており、回転軸１６に同期して回転する。以下、図１と同一構成部分についての説明は省略し、図１と異なる構成部分を中心に説明する。
【００４５】
コードホイール１１は、後述するパルス発生手段３２ａ〜３２ｃが出射する光を遮蔽する材料で形成された回転板である。コードホイール１１の外周近傍にはパルス発生手段３２ａ〜３２ｃが出射する光を透過する回転速度検出用パターンであるスリット１１ｘが周方向に沿って略等間隔で全周に亘り形成されている。
【００４６】
パルス発生手段３２ａ〜３２ｃは略コの字型の光センサであり、コの字型の一端部近傍及び対向する他端部近傍でスリット１１ｘを挟むようにコードホイール１１と非接触に配置されている。又、パルス発生手段３２ａ〜３２ｃは、それぞれのコの字の開口部が回転軸１６の軸心を向いた状態でコードホイール１１の周方向に沿ってそれぞれ９０°間隔で配置されている。すなわち、パルス発生手段３２ｂは、回転軸１６に対してパルス発生手段３２ａと９０°の位置に取り付けられており、パルス発生手段３２ｃは、回転軸１６に対してパルス発生手段３２ａと１８０°の位置に取り付けられている。
【００４７】
パルス発生手段３２ａ〜３２ｃの一端部近傍及び対向する他端部近傍の何れか一方には発光素子（図示せず）が設けられており、他方には受光素子（図示せず）が設けられている。パルス発生手段３２ａ〜３２ｃとしては、例えば透過型フォトインタラプタを用いることができる。
【００４８】
モータ１３の回転軸１３ａが所定の回転数で回転すると、それに同期してコードホイール１１はギア１４とギア１５とのギア比で決まる回転数に減速されて回転する。パルス発生手段３２ａ〜３２ｃの発光素子（図示せず）が出射した光はスリット１１ｘの部分を透過して受光素子（図示せず）に入射し、スリット１１ｘ以外の部分では遮蔽されて受光素子（図示せず）には入射しない。その結果、パルス発生手段３２ａ〜３２ｃの受光素子（図示せず）において、それぞれコードホイール１１の回転速度に対応したパルス信号が発生する。
【００４９】
このように、パルス発生手段３２ａ〜３２ｃは、回転速度検出用パターンであるスリット１１ｘを読み取り、回転板であるコードホイール１１の回転速度に対応したパルス信号を発生する機能を有する。パルス発生手段３２ａ〜３２ｃが発生した単位時間当たりのパルス信号数を計測することにより、コードホイール１１の回転速度を検出することができる。なお、パルス発生手段３２ａ〜３２ｃは、便宜上異なる符号を付しているが、同一部品を用いて構わない。パルス発生手段３２ａ〜３２ｃが発生したパルス信号はパルス検出手段１７に入力される。
【００５０】
なお、コードホイール１１の有する回転速度検出用のパターンは必ずしもスリットである必要はなく、例えばスリットに代えて反射率の異なるパターンを交互に配置する構成等としても構わない。この場合には、パルス発生手段３２ａ〜３２ｃとしては、例えば反射型フォトインタラプタ（フォトリフレクタ）等を用いることができる。
【００５１】
制御部２８は、回転速度制御装置２全体を管理及び操作するためのＣＰＵ２８ａ（中央演算ユニット）、制御等に必要なデータを一時的に格納するＲＡＭ２８ｂ（揮発性メモリ）、制御部２８に含まれる各種手段を動作させるためのプログラムやデータ等が格納されたＲＯＭ２８ｃ（不揮発性メモリ）等を有する。なお、制御部２８は図５に示す構成には限定されず、同等の機能を実現できるのであれば如何なる構成であっても構わない。
【００５２】
制御部２８は、回転速度制御装置２に関する様々な制御を行う機能を有する。制御部２８は、制御手段２８ｐ、演算手段２８ｑ、温度検出手段２８ｒ、回転ムラ検出手段２８ｓ、及び時間計測手段２８ｔ等の各種手段を有する。制御手段２８ｐは、パルス検出手段１７から入力されたパルス間隔データを用いて、モータ１３を回転制御（フィードバック制御）する機能等を有する。その他の手段の機能については、後述する。
【００５３】
制御部２８に含まれる各種手段の機能は、ＲＯＭ２８ｃ等に記録されたプログラムがメインメモリに読み出されてＣＰＵ２８ａにより実行されることによって実現される。ただし、制御部２８の一部又は全部は、ハードウェアのみにより実現されてもよい。又、制御部２８は、物理的に複数の装置により構成されてもよい。
【００５４】
なお、回転速度制御装置２に含まれる、回転軸１６、パルス検出手段１７、制御部２８、及びエンコーダ３０は、本発明に係る回転検出器の代表的な一例である。又、回転速度制御装置２に含まれる、モータ１３、回転軸１６、パルス検出手段１７、駆動手段１９、制御部２８、及びエンコーダ３０は、本発明に係るモータ駆動装置の代表的な一例である。
【００５５】
図８は、第１の実施の形態に係るエンコーダの出力するパルス信号を例示する図である。図８（ａ）はパルス発生手段３２ａの出力するパルス信号、図８（ｂ）はパルス発生手段３２ｂの出力するパルス信号、図８（ｃ）はパルス発生手段３２ｃの出力するパルス信号である。各パルス信号は、位相が異なっている。図８において、Ｅ１（ｎ）、Ｅ２（ｎ）、及びＥ３（ｎ）は、それぞれ、パルス発生手段３２ａ、パルス発生手段３２ｂ、及びパルス発生手段３２ｃの出力するパルス信号のパルス間隔時間（以降、パルス発生手段３２ａのパルス間隔時間という場合がある）を示している（但し、ｎは自然数）。又、Ｅ２（ＭＡＸ）は、パルス発生手段３２ｂの出力するパルス信号のパルス間隔時間の最大値を示している。
【００５６】
図９は、エンコーダの出力するパルス間隔時間と速度変動の関係を例示する図である。図９（ａ）はパルス発生手段３２ｂの出力するパルス信号、図９（ｂ）はパルス発生手段３２ｂの出力するパルス信号から得られるコードホイール１１の速度変動を示している。なお、図９（ｂ）に示す波形は回転速度制御装置２で実際に観測される波形ではなく、図９（ａ）に示すパルス信号が含んでいる情報を模式的に示したものである。
【００５７】
図８及び図９に示すように、パルス発生手段３２ａ〜３２ｃからは、コードホイール１１に設けられたスリット１１ｘの間隔と回転軸１６の回転状態に応じた略矩形波のパルス信号が出力される。そして、パルス発生手段３２ａ〜３２ｃの出力する各パルス信号のパルス間隔時間の変動は、コードホイール１１の速度変動を表している。従って、パルス発生手段３２ａ〜３２ｃの出力する各パルス信号のパルス間隔時間を測定し、測定した各パルス信号のパルス間隔時間に基づいて回転軸１６の回転速度を演算し、演算結果が一定になるようにモータ１３の速度を制御できる。
【００５８】
本実施の形態においては、コードホイール１１に反りが発生した場合でも回転軸１６にその影響を発生させないために、『Ｐ（θ）＝｛Ｅ１（θ）＋Ｅ３（θ）｝÷２×｛Ｅ２（θ）／Ｅ２（ＭＡＸ）｝・・・式（２）』を算出し、算出したＰ（θ）に基づいてモータ１３を駆動する。ここで、Ｐ（θ）は、誤差成分を取り除いた回転軸１６の回転検出信号であり、回転軸１６の回転速度を表している。なお、Ｐ（θ）は、パルス発生手段３２ａ〜３２ｃの出力する各パルス信号がインプットキャプチャされる毎に算出される。
【００５９】
式（２）において、『｛Ｅ１（θ）＋Ｅ３（θ）｝÷２』は、対向位置に配置したパルス発生手段３２ａのパルス間隔時間Ｅ１（θ）とパルス発生手段３２ｃのパルス間隔時間Ｅ３（θ）を用いて、コードホイール１１の取り付け偏心がある場合に生じる１周期誤差成分のみを除去する演算（以降、第１の演算とする）である。
【００６０】
式（２）において、『Ｅ２（θ）／Ｅ２（ＭＡＸ）』は、パルス発生手段３２ｂのパルス間隔時間Ｅ２（θ）の、パルス発生手段３２ｂのパルス間隔時間Ｅ２（θ）の所定期間内の最大値に対する割合である。なお、『Ｅ２／Ｅ２（ＭＡＸ）』を補正係数と称する場合がある。コードホイール１１が反った場合の楕円の長径は反る前の円の直径に等しいので、第１の演算結果に補正係数を乗算することにより反りを補正できる。
【００６１】
例えば、回転軸１６が何らかの手段により常に一定の回転数で回転しているとする。このとき、コードホイール１１が反ってなく円形であれば、パルス間隔時間Ｅ１（θ）、Ｅ２（θ）、Ｅ３（θ）＝一定値（以降、一定値＝Ｅｃとする）となる。ここで、コードホイール１１が反ったとすると、コードホイール１１の楕円の長径は反る前の円の直径に等しいので、コードホイール１１の楕円の長径の部分がパルス発生手段３２ａ及び３２ｃの位置にあるときには、パルス発生手段３２ａ及び３２ｃではそれぞれ円の時と同じパルス間隔時間Ｅｃが検出される。つまり、｛Ｅ１（θ）＋Ｅ３（θ）｝÷２＝Ｅｃとなる。一方、この時には、コードホイール１１の楕円の短径の部分がパルス発生手段３２ｂの位置にあるので、パルス発生手段３２ｂで検出されるパルス間隔時間Ｅ２はＥ２（ＭＡＸ）と等しくなる。よって、補正係数＝Ｅ２（ＭＡＸ）／Ｅ２（ＭＡＸ）＝１となり、Ｐ（θ）＝Ｅｃとなる。つまり、本来算出すべき回転検出信号を算出できる。
【００６２】
又、コードホイール１１の楕円の短径の部分がパルス発生手段３２ａ及び３２ｃの位置にあるときには、パルス発生手段３２ａ及び３２ｃで検出されるパルス間隔時間Ｅ１及びＥ３はそれぞれＥ２（ＭＡＸ）と等しくなる。つまり、｛Ｅ１（θ）＋Ｅ３（θ）｝÷２＝Ｅ２（ＭＡＸ）となる。一方、この時には、コードホイール１１の楕円の長径の部分がパルス発生手段３２ｂの位置にあるので、パルス発生手段３２ｂでは円の時と同じパルス間隔時間Ｅｃが検出される。よって、補正係数＝Ｅｃ／Ｅ２（ＭＡＸ）となり、Ｐ（θ）＝Ｅ２（ＭＡＸ）×Ｅｃ／Ｅ２（ＭＡＸ）＝Ｅｃとなる。つまり、本来算出すべき回転検出信号を算出できる。
【００６３】
パルス発生手段３２ａ〜３２ｃとコードホイール１１の楕円の長径との位置関係が上記以外の場合にも、同様に本来算出すべき回転検出信号を算出できる。このように、本実施の形態では、コードホイール１１が反った場合に、コードホイール１１の楕円の長径の部分を基準として反りを補正している。その結果、コードホイール１１が反った場合にも、１周期誤差成分及び２周期誤差成分を除去することが可能となり、本来算出すべき回転検出信号（上記例ではＰ（θ）＝Ｅｃ）を算出できる。
【００６４】
Ｐ（θ）を算出するには、まず第１の演算を行い、第１の演算の結果に基づいてモータ１３を駆動し、回転軸１６の回転速度の値が安定する状態にする。このとき、コードホイール１１が反っていれば、回転軸１６の１回転につき２回の最大値が観測される。つまり、Ｅ２（θ）に２周期誤差成分が現れる。そこで、少なくとも回転角９０°分のデータを抽出し、抽出したデータ中から最も回転速度が遅いと判断したデータ（パルス間隔時間が最大となるデータ）を取得する。取得したデータがＥ２（ＭＡＸ）となる。Ｅ２（ＭＡＸ）は、コードホイール１１が反っている場合の楕円短径に相当するデータである。
【００６５】
以降、コードホイール１１の反り補正（２周期誤差成分の除去）を行うために、第１の演算の結果に補正係数であるＥ２（θ）／Ｅ２（ＭＡＸ）を乗算する第２の演算を行い、第１の演算の結果を補正する。これにより、１周期誤差成分及び２周期誤差成分が除去された回転検出信号Ｐ（θ）が得られ、Ｐ（θ）に基づいてモータ１３を駆動することにより、コードホイール１１が反った場合にも、回転軸１６を目標の回転速度に制御できる。
【００６６】
図１０は、１周期誤差成分を除去すると共にコードホイールの反りの程度を検出するフローチャートの一例である。コードホイール１１が反っていれば、Ｅ２（θ）に２周期誤差成分が現れるので、その中からＥ２（ＭＡＸ）を取得することで反りの程度を検出できる（反り計測ができる）。なお、図１０に示すフローチャートは、パルス間隔時間に重畳する１周期誤差成分及び２周期誤差成分を除去するためのフローチャートの一部となる。
【００６７】
ここで、９０°間隔で配置された３つのパルス発生手段３２ａ、３２ｂ、及び３２ｃが出力するパルス信号をインプットキャプチャ１７ａが計測し、計測した各パルス信号から取得したパルス間隔時間のデータを、それぞれパルス間隔データＥ１、Ｅ２、及びＥ３とする。パルス発生手段３２ａ〜３２ｃの出力するパルス信号は、図８（ａ）〜図８（ｃ）に示すように、それぞれ非同期であり、それぞれ個別にインプットキャプチャされ、パルス間隔データＥ１、Ｅ２、及びＥ３が取得される。なお、図１０等では、一例として、パルス発生手段３２ｂの出力するパルス信号を基準として、１周期誤差成分及び２周期誤差成分を除去のための演算を実施するが、基準となるパルス発生手段としてパルス発生手段３２ａや３２ｃを用いても良い。
【００６８】
図１０において、まず、制御手段２８ｐは、パルス間隔データＥ２のインプットキャプチャが完了したか否かを判定する（Ｓ２００）。Ｓ２００で、制御手段２８ｐがパルス間隔データＥ２のインプットキャプチャが完了していないと判定した場合（Ｎｏの場合）には、Ｓ２００の処理を繰り返す。Ｓ２００で、制御手段２８ｐがパルス間隔データＥ２のインプットキャプチャが完了したと判定した場合（Ｙｅｓの場合）には、制御手段２８ｐはパルス検出手段１７からパルス間隔データＥ２を取得する（Ｓ２０１）。なお、このタイミングで、パルス間隔データＥ１及びＥ３のインプットキャプチャも完了している。
【００６９】
次に、制御手段２８ｐは、インプットキャプチャ済みのパルス間隔データＥ１の最新値を取得する（Ｓ２０２）。次に、制御手段２８ｐは、インプットキャプチャ済みのパルス間隔データＥ３の最新値を取得する（Ｓ２０３）。ここで、パルス間隔データＥ１及びＥ３は、それぞれのインプットキャプチャ計測完了を監視して、計測結果のみを別に保存しておき、パルス間隔データＥ２の取得時に保存していたデータを読み込むことで処理できる。なお、この説明は一例であり、常に最新データを取得し、保存し、読み出しする手段については同等の機能を実現できれば特に限定されない。
【００７０】
次に、演算手段２８ｑは、パルス間隔データＥ１とパルス間隔データＥ３の平均値を演算（第１の演算）する（Ｓ２０４）。第１の演算として、単純に『（Ｅ１＋Ｅ３）÷２』の演算を実行することで、回転軸１６に対するコードホイール１１の取り付け偏心の成分（１周期誤差成分）を除去できる。
【００７１】
次に、演算手段２８ｑは、Ｓ２０４での第１の演算結果である『（Ｅ１＋Ｅ３）÷２』の値を現在の回転速度として速度制御を行う（Ｓ２０５）。つまり、コードホイール１１の取付け偏心に起因する１周期誤差成分が除去された回転検出信号に基づいて回転軸１６の速度制御を行う。
【００７２】
次に、演算手段２８ｑは、第１の演算結果である『（Ｅ１＋Ｅ３）÷２』の値が安定しているか否かを判定する（Ｓ２０６）。安定しているか否かは、例えば、第１の演算結果と予め設定した目標値とを比較し、そのずれが予め設定した所定の範囲内にあるか否かで判定できる。Ｓ２０６で安定していないと判定した場合（Ｎｏの場合）には、Ｓ２０６の処理を繰り返す。Ｓ２０６で安定していると判定した場合（Ｙｅｓの場合）には、Ｓ２０７に移行する。
【００７３】
Ｓ２０７では、演算手段２８ｑは、パルス間隔データＥ２を回転軸１６が１周する分サンプリングする。但し、ここでは、パルス間隔データＥ２を回転軸１６が１周する分抽出する例を示すが、パルス間隔データＥ２は少なくとも回転軸１６が９０°回転する分を抽出すればよい。次に、演算手段２８ｑは、Ｓ２０７でサンプリングしたパルス間隔データＥ２中の最大値Ｅ２（ＭＡＸ０）を取得する（Ｓ２０８）。ただし、パルス抜けと判断できるようなデータは取り除く。
【００７４】
このように、図１０に例示するＳ２００〜Ｓ２０８の処理により、パルス間隔時間に重畳する１周期誤差成分を除去すると共にコードホイール１１の反りの程度を示すＥ２（ＭＡＸ０）を取得することができる。なお、図１０に例示した処理は、図１０に例示した処理を実行する手順を備えたプログラムとしてＲＯＭ２８ｃ等に記憶することができる。そして、ＲＯＭ２８ｃ等に記憶されたプログラムは、ＣＰＵ２８ａにより実行することができる。
【００７５】
図１１は、２周期誤差成分を除去するフローチャートの一例である。なお、図１１に示すフローチャートは、パルス間隔時間に重畳する１周期誤差成分及び２周期誤差成分を除去するためのフローチャートの一部となる。
【００７６】
図１１において、まず、演算手段２８ｑは、図１０のＳ２０８で取得したＥ２（ＭＡＸ０）が所定値ｋ（２周期誤差成分の許容限界値）よりも大きいか否かを判定する（Ｓ２０９）。Ｓ２０９で大きいと判定した場合（Ｙｅｓの場合）にはＳ２１０に、Ｓ２０９で大きくないと判定した場合（Ｎｏの場合）にはＳ２１１に移行する。なお、許容限界値ｋは、例えば、第１の演算結果である『（Ｅ１＋Ｅ３）÷２』の５％程度とすることができる。
【００７７】
Ｓ２１０では、演算手段２８ｑは、最新のパルス間隔データＥ１、Ｅ２、及びＥ３を用いて第１の演算である『（Ｅ１＋Ｅ３）÷２』を行い、その結果に『Ｅ２／Ｅ２（ＭＡＸ０）』を乗算する第２の演算をし、コードホイール１１の反り補正を行う。すなわち、最新のパルス間隔データＥ１、Ｅ２、及びＥ３を用いて『（Ｅ１＋Ｅ３）÷２×｛Ｅ２／Ｅ２（ＭＡＸ０）｝』を演算する。その後Ｓ２１２に移行する。
【００７８】
Ｓ２１１では、演算手段２８ｑは、最新のパルス間隔データＥ１及びＥ３を用いて第１の演算である『（Ｅ１＋Ｅ３）÷２』のみを行い、その後Ｓ２１２に移行する。なお、Ｓ２１１で第２の演算を行わないのは、コードホイール１１の反りが許容範囲内（Ｅ２（ＭＡＸ０）≦ｋ）であり、補正（２周期誤差成分の除去）をする必要がないからである。又、図１１の例では、２周期誤差成分の許容限界値ｋを設けたが、２周期誤差成分の許容限界値ｋは必ずしも設けなくても良い。その場合には、Ｓ２１１の処理は行わず、常にＳ２１０の演算が実行される。
【００７９】
次に、制御手段２８ｐは、Ｓ２１０又はＳ２１１の演算結果を現在の回転速度として速度制御を行う（Ｓ２１２）。つまり、コードホイール１１の反りが許容限界値を超えていた場合には、コードホイール１１の反りに起因する２周期誤差成分が除去された回転検出信号に基づいて回転軸１６の速度制御を行う。
【００８０】
次に、演算手段２８ｑは、Ｓ２１２の速度制御が安定したら、Ｓ２０７と同様にパルス間隔データＥ２を回転軸１６が１周する分（少なくとも回転軸１６が９０°回転する分）サンプリングする。そして、演算手段２８ｑは、サンプリングしたパルス間隔データＥ２中の最大値Ｅ２（ＲＭＡＸ０）を取得し、ＲＡＭ１８ｂ等に記憶する（Ｓ２１３）。ただし、パルス抜けと判断できるようなデータは取り除く。このように、Ｅ２（ＭＡＸ０）はＳ２１２の速度制御が安定する前に取得した値であり、Ｅ２（ＲＭＡＸ０）はＳ２１２の速度制御が安定した後に取得した値である。
【００８１】
次に、制御手段２８ｐは、２周期誤差成分が低減しているか否かを判定する（Ｓ２１４）。２周期誤差成分が低減しているか否かは、例えば、回転検出信号をＦＦＴ（Fast Fourier Transform）解析することにより判定できる。ＦＦＴ解析用のプログラムは、例えば、ＲＯＭ１８ｃ等に格納しておくことができる。Ｓ２１４で低減していると判定した場合（Ｙｅｓの場合）には、２周期誤差成分を除去する処理を終了する。Ｓ２１４で低減していないと判定した場合（Ｎｏの場合）には、再度Ｓ２００に移行して反り計測を実行する（反りの程度を検出する）。
【００８２】
このように、図１１に例示するＳ２０９〜Ｓ２１４の処理により、パルス間隔時間に重畳する２周期誤差成分を除去することができる。又、Ｓ２００〜Ｓ２１４の処理により、パルス間隔時間に重畳する１周期誤差成分及び２周期誤差成分を除去することができる。なお、図１１に例示した処理は、図１１に例示した処理を実行する手順を備えたプログラムとしてＲＯＭ２８ｃ等に記憶することができる。そして、ＲＯＭ２８ｃ等に記憶されたプログラムは、ＣＰＵ２８ａにより実行することができる。
【００８３】
図１２は、コードホイールの反り補正実行後に徐々に反りの程度が変化した場合のフローチャートの一例である。図１０及び図１１の処理によりコードホイール１１の反り補正が実行され、『（Ｅ１＋Ｅ３）÷２×｛Ｅ２／Ｅ２（ＭＡＸ０）｝』の演算結果に基づいて回転軸１６の速度制御がなされる。この際に、徐々にコードホイール１１の反りの程度が変化する場合があり、その場合には図１２のフローチャートに従って補正係数の再検出を行う。
【００８４】
図１２において、まず、演算手段２８ｑは、Ｓ２０７と同様にパルス間隔データＥ２を回転軸１６が１周する分（少なくとも回転軸１６が９０°回転する分）サンプリングする。そして、制御手段２８ｐは、サンプリングしたパルス間隔データＥ２中の最大値Ｅ２（ＲＭＡＸ）を取得する（Ｓ３００）。ただし、パルス抜けと判断できるようなデータは取り除く。
【００８５】
次に、演算手段２８ｑは、Ｓ３００で取得したＥ２（ＲＭＡＸ）が所定値ｋ（２周期誤差成分の許容限界値）よりも大きいか否かを判定する（Ｓ３０１）。Ｓ３０１で大きいと判定した場合（Ｙｅｓの場合）にはＳ３０２に、Ｓ３０１で大きくないと判定した場合（Ｎｏの場合）にはＳ３０３に移行する。
【００８６】
Ｓ３０２では、演算手段２８ｑは、最新のパルス間隔データＥ１、Ｅ２、及びＥ３を用いて、現在の回転制御に用いている『（Ｅ１＋Ｅ３）÷２×｛Ｅ２／Ｅ２（ＭＡＸ０）｝』にＥ２（ＲＭＡＸ０）／Ｅ２（ＲＭＡＸ）』を乗算する演算をし、コードホイール１１の反り補正を再度行う。その後Ｓ３０４に移行する。ここで、Ｅ２（ＲＭＡＸ０）は、Ｓ２１３においてＲＡＭ１８ｂ等に記憶した値を用いる。なお、『Ｅ２（ＲＭＡＸ０）／Ｅ２（ＲＭＡＸ）』を第２の補正係数と称する場合がある。
【００８７】
Ｓ３０３では、演算手段２８ｑは、最新のパルス間隔データＥ１、Ｅ２、及びＥ３を用いて『（Ｅ１＋Ｅ３）÷２×｛Ｅ２／Ｅ２（ＭＡＸ０）｝』を演算し、その後Ｓ３０４に移行する。なお、Ｓ３０３で第２の補正係数を乗算しないのは、コードホイール１１の反りが許容範囲内（Ｅ２（ＲＭＡＸ）≦ｋ）であり、再度の補正（２周期誤差成分の除去）をする必要がないからである。ただし、図１２の例では、２周期誤差成分の許容限界値ｋを設けたが、２周期誤差成分の許容限界値ｋは必ずしも設けなくても良い。その場合には、Ｓ３０３の処理は行わず、常にＳ３０２の演算が実行される。
【００８８】
次に、制御手段２８ｐは、Ｓ３０２又はＳ３０３の演算結果を現在の回転速度として速度制御を行う（Ｓ３０４）。つまり、コードホイール１１の反りが許容限界値を超えていた場合には再度反り補正を実行し、コードホイール１１の反りに起因する２周期誤差成分が除去された回転検出信号に基づいて回転軸１６の速度制御を行う。その後、Ｓ３００に移行し、同様の処理を繰り返す。
【００８９】
このように、図１２に例示するＳ３００〜Ｓ３０４の処理を繰り返すことにより、コードホイール１１の反り補正実行後に徐々に反りの程度が変化した場合にも、再度図１０に示す反り計測に移行することなく、パルス間隔時間に重畳する２周期誤差成分を除去し、好適な回転軸１６の回転速度制御を継続できる。なお、図１２に例示した処理は、図１２に例示した処理を実行する手順を備えたプログラムとしてＲＯＭ２８ｃ等に記憶することができる。そして、ＲＯＭ２８ｃ等に記憶されたプログラムは、ＣＰＵ２８ａにより実行することができる。
【００９０】
以上のように、第１の実施の形態では、パルス間隔データＥ１及びＥ３の平均値である『（Ｅ１＋Ｅ３）÷２』、及び、パルス間隔データＥ２の最大値Ｅ２（ＭＡＸ０）に対する割合である補正係数『Ｅ２／Ｅ２（ＭＡＸ０）』に基づいて、回転軸１６の回転速度を演算する。具体的には、『（Ｅ１＋Ｅ３）÷２×｛Ｅ２／Ｅ２（ＭＡＸ０）｝』を演算してパルス間隔時間に重畳する１周期誤差成分及び２周期誤差成分を除去し、演算結果に基づいて回転軸１６の回転速度制御を実行する。その結果、コードホイール１１の偏心や反りの影響が低減された好適な回転軸１６の回転速度制御を実現できる。
【００９１】
又、コードホイール１１の反り補正実行後（平均値と補正係数に基づいた演算後）に徐々に反りの程度が変化した場合には、反り補正実行後に最初に検出されたパルス間隔データＥ２の最大値Ｅ２（ＲＭＡＸ０）を記憶しておく。そして、最大値Ｅ２（ＲＭＡＸ０）を記憶した後もパルス間隔データＥ２を継続的に監視して、パルス間隔データＥ２の最大値Ｅ２（ＲＭＡＸ）を抽出する。そして、最大値Ｅ２（ＲＭＡＸ０）の最大値Ｅ２（ＲＭＡＸ）に対する割合である第２の補正係数『Ｅ２（ＲＭＡＸ０）／Ｅ２（ＲＭＡＸ）』を算出し、平均値『（Ｅ１＋Ｅ３）÷２』、補正係数『Ｅ２／Ｅ２（ＭＡＸ０）』、及び第２の補正係数『Ｅ２（ＲＭＡＸ０）／Ｅ２（ＲＭＡＸ）』に基づいて、回転軸１６の回転速度を再度演算する。具体的には、『（Ｅ１＋Ｅ３）÷２×｛Ｅ２／Ｅ２（ＭＡＸ０）｝×｛Ｅ２（ＲＭＡＸ０）／Ｅ２（ＲＭＡＸ）｝』を演算してパルス間隔時間に重畳する１周期誤差成分及び２周期誤差成分を除去し、演算結果に基づいて回転軸１６の回転速度制御を実行する。その結果、コードホイール１１の反り補正実行後に徐々に反りの程度が変化した場合に、再度図１０に示す反り計測を実行せずに、コードホイール１１の偏心や反りの影響が低減された好適な回転軸１６の回転速度制御を継続できる。
【００９２】
なお、第１の実施の形態に係る回転速度制御装置２ではモータ１３の回転軸１３ａとコードホイール１１の回転軸１６との間にギア１４及び１５からなる減速機構を設けていたが、減速機構を設けずにモータ１３の回転軸１３ａに直接コードホイール１１が取り付けられた回転速度制御装置に本発明を適用しても良い。
【００９３】
〈第１の実施の形態の変形例１〉
第１の実施の形態の変形例１では、モータ１３の近傍に温度検出器を設置してコードホイール１１の周辺温度を監視し、温度検出器の検出温度が所定の条件を満足する場合にコードホイール１１に反りが生じたと判断し、図１０及び図１１（又は、図１０〜図１２）の処理を実行する例を示す。
【００９４】
温度検出器（図示せず）は、モータ１３の内部又は外部のコードホイール１１の周辺温度が推定できる場所に設置する。温度検出器（図示せず）としては、例えば、サーミスタ等を用いることができる。
【００９５】
図１３は、コードホイールの温度監視のフローチャートの一例である。図１３において、まず、温度検出手段２８ｒは、温度検出器の検出温度（コードホイール１１の周辺温度）が所定の温度Ｔよりも高いか否かを判定する（Ｓ４００）。Ｓ４００で高いと判定した場合（Ｙｅｓの場合）にはＳ４０１に移行し、Ｓ４００で高くないと判定した場合（Ｎｏの場合）にはＳ４００の処理を繰り返す。なお、所定の温度Ｔは、コードホイール１１に反りが発生し得る温度であり、予め実験により定めることができる。所定の温度Ｔは、例えば、８０℃とすることができる。
【００９６】
Ｓ４０１では、温度検出手段２８ｒは、温度検出器の検出温度（コードホイール１１の周辺温度）が所定の温度ＴＬ（ＴＬ＜Ｔ）よりも低いか否かを判定する（Ｓ４０１）。Ｓ４０１で低いと判定した場合（Ｙｅｓの場合）には、Ｓ２００〜Ｓ２０８（図１０参照）の反り計測を実行し、更にＳ２０９〜Ｓ２１４（図１１参照）の２周期誤差成分の除去を実行する。更に、Ｓ３００〜Ｓ３０４（図１２参照）の処理を実行しても良い。Ｓ４０１で低くないと判定した場合（Ｎｏの場合）にはＳ４０１の処理を繰り返す。所定の温度ＴＬは、例えば、３０℃とすることができる。なお、温度検出器の検出温度（コードホイール１１の周辺温度）が所定の温度ＴＬよりも低くなるのは、モータ１３が所定期間停止していた場合等が考えられる。
【００９７】
このように、第１の実施の形態の変形例１では、モータ１３の近傍に温度検出器を設置してコードホイール１１の周辺温度を監視し、コードホイール１１の周辺温度が所定の温度Ｔよりも高くなった後、所定の温度ＴＬよりも低くなったことを検出した場合に、コードホイール１１が熱膨張後の温度変化（冷える過程）により反ってしまい、その後反った状態が維持されていると判断する。このような場合に、図１０及び図１１（又は、図１０〜図１２）の処理を実行することにより、１周期誤差成分及び２周期誤差成分が除去され、コードホイール１１の偏心や反りの影響が低減された、好適な回転軸１６の回転速度制御を実現できる。なお、図１３に例示した処理は、図１３に例示した処理を実行する手順を備えたプログラムとしてＲＯＭ２８ｃ等に記憶することができる。そして、ＲＯＭ２８ｃ等に記憶されたプログラムは、ＣＰＵ２８ａにより実行することができる。
【００９８】
〈第１の実施の形態の変形例２〉
第１の実施の形態の変形例２では、コードホイール１１の回転ムラ（２周期誤差成分の変動）が所定値を超えた場合にコードホイール１１に反りが生じたと判断し、図１０及び図１１（又は、図１０〜図１２）の処理を実行する例を示す。
【００９９】
図１４は、コードホイールの回転ムラを計測するフローチャートの一例である。図１４において、まず、回転ムラ検出手段２８ｓは、回転検出信号に重畳された２周期誤差成分の変動からコードホイール１１の回転ムラ（％）を計測する。そして、計測した回転ムラが所定値Ａ（％）よりも大きいか否かを判定する（Ｓ４５０）。なお、所定値Ａは、例えば、５％とすることができる。
【０１００】
Ｓ４５０で大きいと判定した場合（Ｙｅｓの場合）には、Ｓ２００〜Ｓ２０８（図１０参照）の反り計測を実行し、更にＳ２０９〜Ｓ２１４（図１１参照）の２周期誤差成分の除去を実行する。更に、Ｓ３００〜Ｓ３０４（図１２参照）の処理を実行しても良い。Ｓ４５０で低くないと判定した場合（Ｎｏの場合）にはＳ４５０の処理を繰り返す。なお、回転ムラ検出手段２８ｓの一例としては、ＦＦＴを挙げることができる。この場合、回転ムラ検出手段２８ｓは、パルス間隔データＥ１、Ｅ２、及びＥ３の何れかをＦＦＴ解析することにより回転ムラを計測することができる。
【０１０１】
このように、第１の実施の形態の変形例２では、コードホイール１１の回転ムラを計測し、計測した回転ムラが所定値Ａよりも大きくなったことを検出した場合に、コードホイール１１が反っていると判断する。このような場合に、図１０及び図１１（又は、図１０〜図１２）の処理を実行することにより、１周期誤差成分及び２周期誤差成分が除去され、コードホイール１１の偏心や反りの影響が低減された、好適な回転軸１６の回転速度制御を実現できる。なお、図１４に例示した処理は、図１４に例示した処理を実行する手順を備えたプログラムとしてＲＯＭ２８ｃ等に記憶することができる。そして、ＲＯＭ２８ｃ等に記憶されたプログラムは、ＣＰＵ２８ａにより実行することができる。
【０１０２】
〈第１の実施の形態の変形例３〉
第１の実施の形態の変形例３では、モータ１３の継続的な駆動時間（回転軸１６の連続回転時間）が所定値を超え、かつ、その後のモータ１３の連続停止時間（回転軸１６の連続停止時間）が所定値を超えた場合にコードホイール１１に反りが生じたと判断し、図１０及び図１１（又は、図１０〜図１２）の処理を実行する例を示す。
【０１０３】
図１５は、回転軸の連続回転時間及び連続停止時間を計測するフローチャートの一例である。図１５において、まず、制御手段２８ｐは、モータ１３（回転軸１６）が回転している否かを判定する（Ｓ５００）。なお、回転しているか否かは、パルス間隔データＥ１、Ｅ２、Ｅ３の少なくとも１つを監視することにより判定できる。Ｓ５００で回転していると判定した場合（Ｙｅｓの場合）には、時間計測手段２８ｔはカウントアップ（時間計測）を開始し（Ｓ５０１）、その後Ｓ５００に戻る。なお、カウントアップは、例えば、１秒に１回行うことができる。Ｓ５００で回転していないと判定した場合（Ｎｏの場合）にはＳ５０２に移行する。つまり、Ｓ５０２に移行するのは、モータ１３（回転軸１６）が停止している場合である。
【０１０４】
Ｓ５０２では、時間計測手段２８ｔは、カウンタ値が所定値Ｃよりも大きいか否かを判定する（Ｓ５０２）。所定値Ｃは、例えば、７２００程度とすることができる。１秒に１回カウントアップする場合には、７２００カウントは２時間に相当する。この場合には、Ｓ５０２では、モータ１３（回転軸１６）が停止前に２時間より長く継続的に回転していたか否かを判定していることになる。Ｓ５０２で大きいと判定した場合（Ｙｅｓの場合）には、Ｓ５０３に移行しカウントダウンを開始する。カウントダウンは、例えば、０．１秒に１回行うことができる。
【０１０５】
次に、時間計測手段２８ｔは、カウンタ値が所定値ＣＬよりも大きいか否かを判定する（Ｓ５０４）。所定値ＣＬは、例えば、Ｓ５０２のカウンタ値よりも６０００低い値に設定することができる。つまり、所定値ＣＬは、Ｓ５０２のカウンタ値により異なる。０．１秒に１回カウントダウンする場合には、６０００カウントは１０分に相当する。この場合には、Ｓ５０４では、カウントダウンを開始してから１０分より長い時間が経過したか否か（モータ１３（回転軸１６）が１０分より長い時間停止していたか否か）を判定していることになる。
【０１０６】
Ｓ５０４で大きくないと判定した場合（Ｎｏの場合）には、モータ１３を駆動後、Ｓ２００〜Ｓ２０８（図１０参照）の反り計測を実行し、更にＳ２０９〜Ｓ２１４（図１１参照）の２周期誤差成分の除去を実行する。更に、Ｓ３００〜Ｓ３０４（図１２参照）の処理を実行しても良い。その後、Ｓ５０６で時間計測手段２８ｔはカウンタを０に設定して図１５の処理を終了する。
【０１０７】
Ｓ５０４で大きいと判定した場合（Ｙｅｓの場合）にはＳ５０５に移行し、制御手段２８ｐは、Ｓ５００と同様に、モータ１３（回転軸１６）が回転している否かを判定する（Ｓ５０５）。Ｓ５０５で回転していると判定した場合（Ｙｅｓの場合）には、Ｓ５００に戻る。Ｓ５０５で回転していないと判定した場合（Ｎｏの場合）にはＳ５０３に戻る。
【０１０８】
Ｓ５０２で大きくないと判定した場合（Ｎｏの場合）にはＳ５０７に移行し、時間計測手段２８ｔは、カウンタが０か否かを判定する（Ｓ５０７）。Ｓ５０７で０と判定した場合（Ｙｅｓの場合）には図１５の処理を終了し、Ｓ５０７で０でないと判定した場合（Ｎｏの場合）にはＳ５０８に移行する。Ｓ５０８では、時間計測手段２８ｔは、Ｓ５０３と同様にカウントダウンを開始する。
【０１０９】
次に、制御手段２８ｐは、Ｓ５００と同様に、モータ１３（回転軸１６）が回転している否かを判定する（Ｓ５０９）。Ｓ５０９で回転していると判定した場合（Ｙｅｓの場合）には、Ｓ５００に戻る。Ｓ５０９で回転していないと判定した場合（Ｎｏの場合）にはＳ５０７に戻る。
【０１１０】
このように、第１の実施の形態の変形例３では、モータ１３（回転軸１６）が所定時間より長く継続的に回転し、その後所定時間より長く継続的に停止していたことを検出した場合に、モータ１３の発熱によりコードホイール１１が一旦高温になって熱膨張し、モータ１３の停止後の温度変化（冷える過程）により反ってしまい、その後反った状態が維持されていると判断する。このような場合に、図１０及び図１１（又は、図１０〜図１２）の処理を実行することにより、１周期誤差成分及び２周期誤差成分が除去され、コードホイール１１の偏心や反りの影響が低減された、好適な回転軸１６の回転速度制御を実現できる。なお、図１５に例示した処理は、図１５に例示した処理を実行する手順を備えたプログラムとしてＲＯＭ２８ｃ等に記憶することができる。そして、ＲＯＭ２８ｃ等に記憶されたプログラムは、ＣＰＵ２８ａにより実行することができる。
【０１１１】
〈第２の実施の形態〉
第２の実施の形態では、第１の実施の形態に係る回転速度制御装置を搭載した画像形成装置に関して説明する。
【０１１２】
始めに、第２の実施の形態に係る画像形成装置の概略の構成について説明する。図１６は、第２の実施の形態に係る画像形成装置を例示する図である。図１６を参照するに、画像形成装置６０は、無端状搬送体である中間転写ベルトを用いたカラー画像形成装置であり、スキャナユニット６１と、感光体ドラム６２ａと、感光体ドラム６２ｂと、感光体ドラム６２ｃと、感光体ドラム６２ｄと、定着ユニット６３と、中間転写ベルト６４と、二次転写ローラ６５と、斥力ローラ６６と、レジストローラ６７と、給紙ユニット６８と、給紙ローラ６９と、紙搬送ローラ７０と、排紙ユニット７１と、中間転写スケール検出センサ７２と、駆動ローラ７３と、従動ローラ７４と、制御部８０とを有する。９０は、転写紙を示している。
【０１１３】
スキャナユニット６１は、原稿を読み取る機能を有する。感光体ドラム６２ａ〜６２ｄは、レーザ光が照射されると、それぞれＹ（イエロー）色、Ｃ（シアン）色、Ｍ（マゼンダ）色、Ｋ（黒）色の画像を形成する機能を有する。定着ユニット６３は、転写されたトナー画像を転写紙９０上に定着させる機能を有する。
【０１１４】
駆動ローラ７３は中間転写ベルト駆動モータ（図示せず）により回転駆動され、それに従って中間転写ベルト６４が搬送される。従動ローラ７４は、駆動ローラ７３に従動する。中間転写ベルト６４は、感光体ドラム６２ａ〜６２ｄで形成された各色の画像を重ね合わせる機能を有する。二次転写ローラ６５は、中間転写ベルト６４上の画像を転写紙９０に転写する機能を有する。
【０１１５】
斥力ローラ６６は、二次転写ローラ６５の対向部分に配置され、中間転写ベルト６４と二次転写ローラ６５間のニップを生成及び維持する機能を有する。レジストローラ６７は、転写紙９０のスキュー補正及び転写紙９０の搬送等を行う機能を有する。給紙ユニット６８は、転写紙９０を積載しておく機能を有する。給紙ローラ６９は、転写紙９０を給紙ユニット６８から紙搬送ローラ７０へ送り出す機能を有する。紙搬送ローラ７０は、給紙ローラ６９から送り出された転写紙９０をレジストローラ６７まで搬送する機能を有する。排紙ユニット７１は、画像が転写かつ定着された転写紙９０を排出する機能を有する。
【０１１６】
中間転写ベルト６４上には、中間転写ベルトスケール６４ａが形成されている。中間転写ベルトスケール６４ａは、搬送方向に沿って一定の周期で交互に配置された反射部と非反射部とを有する目盛である。中間転写ベルト６４近傍の、中間転写ベルトスケール６４ａを読み取れる位置には、中間転写スケール検出センサ７２が配置されている。中間転写スケール検出センサ７２は、中間転写ベルト６４上に形成された中間転写ベルトスケール６４ａの一定の周期に対応したパルス信号を出力する機能を有する。
【０１１７】
制御部８０は、画像形成装置６０に関する様々な制御を行う機能を有する。制御部８０は、例えばＣＰＵ、ＲＯＭ、メインメモリなどを含み、制御部８０の各種機能は、ＲＯＭ等に記録された制御プログラムがメインメモリに読み出されてＣＰＵにより実行されることによって実現される。ただし、制御部８０の一部又は全部は、ハードウェアのみにより実現されてもよい。又、制御部８０は、物理的に複数の装置により構成されてもよい。
【０１１８】
感光体ドラム６２ａ〜６２ｄを駆動するドラムモータ（図示せず）にはエンコーダ３０（図示せず）が設けられており、図示しないパルス検出手段１７、駆動手段１９、通信手段２０、及び制御部２８と合わせて第１の実施の形態に係る回転速度制御装置２（図示せず）を構成している。ドラムモータ（図示せず）は、制御部２８により例えば図１０及び図１１（又は、図１０〜図１２）のフローチャートに従って速度制御される。又、図１３〜図１５の処理と組み合わせても構わない。その結果、１周期誤差成分及び２周期誤差成分が除去され、コードホイール１１の偏心や反りの影響が低減された、好適なドラムモータ（図示せず）の回転速度制御を実現できる。つまり、ドラムモータ（図示せず）の回転ムラを減少することが可能となる。
【０１１９】
中間転写ベルト６４を駆動する中間転写モータ（図示せず）や二次転写ローラ６５を駆動する二次転写モータ（図示せず）等にエンコーダ３０を設け、同様に制御部２８により回転速度制御しても構わない。
【０１２０】
画像形成装置６０において、スキャナユニット６１から読み取られた画像は、制御部８０に転送され、制御部８０にて転写紙９０に形成される画像のデータ（以降、画像データとする）を生成する。生成された画像データは、感光体ドラム６２ａ〜６２ｄ上に作像され、続いて、中間転写ベルト６４上に画像が形成される。更に、中間転写ベルト６４上に形成された画像は、中間転写ベルト６４と二次転写ローラ６５との間に給紙ユニット６８から転写紙９０が搬送されたタイミングで、転写紙９０上に転写される。
【０１２１】
転写紙９０上に転写された画像は定着ユニット６３を通過する。この際、転写紙９０上に転写されたトナー画像を転写紙９０上に固定するための定着が行われる。続いて、転写紙９０は、排紙ユニット７１へ排出される。
【０１２２】
このように、第２の実施の形態に係る画像形成装置では、第１の実施の形態に係る回転速度制御装置を搭載したため、画像悪化の原因となるモータの回転ムラを減少することが可能となり、画像品質を向上することができる。
【０１２３】
〈第２の実施の形態の変形例１〉
第２の実施の形態の変形例１では、第１の実施の形態に係る回転速度制御装置２を搭載した画像形成装置６０において、色ずれ補正の確認時に算出した色ずれ値が所定値Ｚよりも大きくなった場合にコードホイール１１に反りが生じたと判断し、図１０及び図１１（又は、図１０〜図１２）の処理を実行する例を示す。
【０１２４】
図１７は、色ずれ補正を実行した場合のフローチャートの一例である。画像形成装置６０は環境変化や作像枚数が所定の枚数に達したら色ずれ計測を実行し、その結果に基づいて色ずれ補正をする。しかし、コードホイール１１が反っていると、ドラムモータ（図示せず）に回転ムラが生じ、色ずれが補正できない虞がある。そこで、色ずれ補正の確認時に算出した色ずれ値が所定値Ｚよりも大きくなった場合にコードホイール１１に反りが生じたと判断し、図１０及び図１１（又は、図１０〜図１２）の処理を実行する。
【０１２５】
具体的には、図１７において、まず、制御部８０中の色ずれ値算出手段は、色ずれ補正を実行し、色ずれ補正の確認時に色ずれ値を算出する（Ｓ６００）。ここで、色ずれ補正とは、例えば、色合せ用のトナーパターン列を各色について作像し、基準色に対する他の色の色ずれをフォトトランジスタ等のセンサにより計測し、センサの計測結果に基づいて色ずれ値を算出し、感光体ドラム６２ａ〜６２ｄへレーザ光を照射するタイミング調整等を行うことである。
【０１２６】
より詳しくは、例えば、制御部８０中のトナーパターン列作像手段が、中間転写ベルト６４等の無端状搬送体上に色ずれ計測用のトナーパターン列を作像する。トナーパターン列としては、例えば、Ｙ（イエロー）色、Ｃ（シアン）色、Ｍ（マゼンダ）色、Ｋ（黒）色の各色について横線パターン及び斜め線パターンを含むものとすることができる。そして、無端状搬送体上に作像されたトナーパターン列をセンサによって計測する。そして、色ずれ値算出手段は、センサの計測結果に基づいて、基準色（例えば、黒）に対する他の色のスキュー、副走査レジストずれ、主走査レジストずれ、主走査倍率誤差等を算出し、感光体ドラム６２ａ〜６２ｄへレーザ光を照射するタイミング調整等により色ずれ補正を実行する。そして、色ずれ補正を実行後、色ずれ補正の確認のため、再度色合せ用のトナーパターン列を各色について作像して再度色ずれ値を算出する。
【０１２７】
次に、演算手段２８ｑは、Ｓ６００で色ずれ補正の確認時に算出した色ずれ値が、所定値Ｚよりも大きいか否かを判定する（Ｓ６０１）。Ｓ６０１で大きいと判定した場合（Ｙｅｓの場合）には、Ｓ２００〜Ｓ２０８（図１０参照）の反り計測を実行し、更にＳ２０９〜Ｓ２１４（図１１参照）の２周期誤差成分の除去を実行する。更に、Ｓ３００〜Ｓ３０４（図１２参照）の処理を実行しても良い。Ｓ６０１で大きくないと判定した場合（Ｎｏの場合）には図１７の処理を終了する。なお、所定値Ｚは、例えば、１００μｍとすることができる。
【０１２８】
このように、第２の実施の形態の変形例１では、色ずれ補正の確認時に算出した色ずれ値が所定値Ｚよりも大きくなったことを検出した場合に、コードホイール１１が反ってドラムモータ（図示せず）に回転ムラが生じていると判断する。このような場合に、図１０及び図１１（又は、図１０〜図１２）の処理を実行することにより、１周期誤差成分及び２周期誤差成分が除去され、コードホイール１１の偏心や反りの影響が低減された、好適なドラムモータ（図示せず）の回転速度制御を実現できる。その結果、色ずれ補正を実行可能となる。なお、図１７に例示した処理は、図１７に例示した処理を実行する手順を備えたプログラムとして制御部８０のＲＯＭ等に記憶することができる。そして、制御部８０のＲＯＭ等に記憶されたプログラムは、制御部８０のＣＰＵにより実行することができる。
【０１２９】
以上、好ましい実施の形態及びその変形例について詳説したが、上述した実施の形態及びその変形例に制限されることはなく、特許請求の範囲に記載された範囲を逸脱することなく、上述した実施の形態及びその変形例に種々の変形及び置換を加えることができる。
【符号の説明】
【０１３０】
１Ａ、１Ｂ、２  回転速度制御装置
１０、３０  エンコーダ
１１  コードホイール
１１ｘ  スリット
１１ｙ  貫通孔
１２、３２ａ、３２ｂ、３２ｃ  パルス発生手段
１３  モータ
１３ａ、１６  回転軸
１４、１５  ギア
１７  パルス検出手段
１７ａ  インプットキャプチャ
１７ｂ  フィルタ
１８、２８、８０  制御部
１８ａ、２８ａ  ＣＰＵ
１８ｂ、２８ｂ  ＲＡＭ
１８ｃ、２８ｃ  ＲＯＭ
１９  駆動手段
２０  通信手段
２８ｐ  制御手段
２８ｑ  演算手段
２８ｒ  温度検出手段
２８ｓ  回転ムラ検出手段
２８ｔ  時間計測手段
６０  画像形成装置
６１  スキャナユニット
６２ａ〜６２ｄ  感光体ドラム
６３  定着ユニット
６４  中間転写ベルト
６５  二次転写ローラ
６６  斥力ローラ
６７  レジストローラ
６８  給紙ユニット
６９  給紙ローラ
７０  紙搬送ローラ
７１  排紙ユニット
７２  中間転写スケール検出センサ
７３  駆動ローラ
７４  従動ローラ
９０  転写紙
【先行技術文献】
【特許文献】
【０１３１】
【特許文献１】特開２００５−１６８２８０号公報
【図１】
0005459153.tif 000002
【図２】
0005459153.tif 000003
【図３】
0005459153.tif 000004
【図４】
0005459153.tif 000005
【図５】
0005459153.tif 000006
【図６】
0005459153.tif 000007
【図７】
0005459153.tif 000008
【図８】
0005459153.tif 000009
【図９】
0005459153.tif 000010
【図１０】
0005459153.tif 000011
【図１１】
0005459153.tif 000012
【図１２】
0005459153.tif 000013
【図１３】
0005459153.tif 000014
【図１４】
0005459153.tif 000015
【図１５】
0005459153.tif 000016
【図１６】
0005459153.tif 000017
【図１７】
0005459153.tif 000018
【図１８】
0005459153.tif 000019
【図１９】
0005459153.tif 000020