(57)【要約】【課題】回転系の駆動制御をより安定的に行う。【解決手段】減速機構の出力側のエンコーダから出力されたパルスから減速機構の回転速度が速度演算部で演算され、フィルタ演算部に供給される。フィルタ演算部は、供給された回転速度に対してフィルタ処理を施して所望の周波数成分を抽出し、パルス毎の周期変動値として出力する。フィルタ演算部から出力された周期変動値は、速度記憶部で、周期変動の周期における各パルスに対応する位相毎に順次、保持される。速度記憶部に保持された周期変動値は、速度積算部により周期内の対応する位相毎に積算演算される。積算された各周期変動値がパルス毎に順次選択され、乗算部で所定のゲインが乗算され位相調整部で位相を調整されて周期成分抽出部から出力される。周期成分抽出部から出力された各周期変動値は、周期変動を補正する補正値として、補償器の出力に加算される。【選択図】図４−１
2014030324.tif 000002
【特許請求の範囲】
【請求項１】
モータの回転を減速する減速器の回転位置に応じて位置検出部が出力したパルスから求められた検出速度に対し、該パルス毎にフィルタ演算を行うフィルタ演算部と、
前記フィルタ演算部でフィルタ演算された前記パルス毎の検出速度を、前記減速器の１回転の周期より短い、予め定められた周期に対応するパルス数分記憶する記憶部と、
前記記憶部に記憶された前記パルス毎の検出速度に対して予め定められた第１の定数を乗算する第１の乗算部と、
前記第１の乗算部の乗算出力に対して予め定められた遅延を与える位相調整部と、
前記モータの回転速度を補償する補償器の出力に対して前記位相調整部で遅延された前記乗算出力を加算する第１の加算部と
を有する
ことを特徴とする駆動制御装置。
【請求項２】
前記記憶部に記憶された検出速度を、前記パルス毎に、周期の位相を合わせて積算する積算部をさらに有し、
前記位相調整部は、
前記積算部で前記検出速度が積算された積算値に対して前記遅延を与え、
前記第１の加算部は、
前記位相調整部で前記遅延を与えられた前記積算値を前記補償器の出力に対して加算する
ことを特徴とする請求項１に記載の駆動制御装置。
【請求項３】
前記積算部で積算された検出速度に対して第２の定数を乗算する第２の乗算部と、
前記第１の乗算部の乗算出力と、前記第２の乗算部の乗算出力とを加算する第２の加算部と
をさらに有し、
前記位相調整部は、
前記第２の加算部の加算出力に対して前記遅延を与え、
前記第１の加算部は、
前記位相調整部で前記遅延を与えられた前記第２の加算部の加算出力を前記補償器の出力に対して加算する
ことを特徴とする請求項２に記載の駆動制御装置。
【請求項４】
前記積算部は、
前記フィルタ演算部でフィルタ演算された検出速度が予め定められた範囲外である場合に、該フィルタ演算された検出速度を積算し、該フィルタ演算された検出速度が該範囲内である場合に、該フィルタ演算された検出速度の積算を行わない
ことを特徴とする請求項２または請求項３に記載の駆動制御装置。
【請求項５】
前記積算部は、
前記検出速度を積算した積算値が制限値を超える場合に、該積算値を該制限値に固定する
ことを特徴とする請求項２乃至請求項４の何れか１項に記載の駆動制御装置。
【請求項６】
前記フィルタ演算部は、パンドパスフィルタ処理を施す前記フィルタ演算を行い、
前記フィルタ演算部に入力される前記検出速度に対してローパスフィルタ処理を施すローパスフィルタ演算部をさらに有する
ことを特徴とする請求項１乃至請求項５の何れか１項に記載の駆動制御装置。
【請求項７】
前記フィルタ演算部の動作と、前記記憶部での書き込み処理とを基準クロックを用いて行い、
前記記憶部での読み出し処理と、前記第１の乗算部および前記加算部の動作とを前記パルスをクロックとして用いて行う
ことを特徴とする請求項１乃至請求項６の何れか１項に記載の駆動制御装置。
【請求項８】
前記位置検出部が出力する前記パルスは、前記減速器による減速比の整数倍であって、且つ、前記予め定められた周期に対応するパルス数の整数倍の分解能を持つ
ことを特徴とする請求項１乃至請求項７の何れか１項に記載の駆動制御装置。
【請求項９】
モータの回転を減速する減速器の回転位置に応じて位置検出部が出力したパルスから求められた検出速度に対し、該パルス毎にフィルタ演算を行うフィルタ演算ステップと、
前記フィルタ演算ステップでフィルタ演算された前記パルス毎の検出速度を、前記減速器の１回転の周期より短い、予め定められた周期に対応するパルス数分記憶する記憶ステップと、
前記記憶ステップにより記憶された前記パルス毎の検出速度に対して予め定められた定数を乗算する乗算ステップと、
前記乗算ステップの乗算出力に対して予め定められた遅延を与える位相調整ステップと、
前記モータの回転速度を補償する補償器の出力に対して前記位相調整ステップで遅延された前記乗算出力を加算する加算ステップと
を有する
ことを特徴とする駆動制御方法。
【請求項１０】
モータの回転を減速する減速器の回転位置に応じて位置検出部が出力したパルスから求められた検出速度に対し、該パルス毎にフィルタ演算を行うフィルタ演算ステップと、
前記フィルタ演算ステップでフィルタ演算された前記パルス毎の検出速度を、前記減速器の１回転の周期より短い、予め定められた周期に対応するパルス数分記憶する記憶ステップと、
前記記憶ステップにより記憶された前記パルス毎の検出速度に対して予め定められた定数を乗算する乗算ステップと、
前記乗算ステップの乗算出力に対して予め定められた遅延を与える位相調整ステップと、
前記モータの回転速度を補償する補償器の出力に対して前記位相調整ステップで遅延された前記乗算出力を加算する加算ステップと
をコンピュータに実行させるためのプログラム。
【請求項１１】
請求項１乃至請求項８の何れか１項に記載の駆動制御装置と、
前記駆動制御装置の制御に従い駆動されるモータと、
前記モータに駆動される画像形成媒体に対して画像を形成する画像形成部と
を有する
ことを特徴とする画像形成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、回転体の駆動制御を行う駆動制御装置、駆動制御方法およびプログラム、ならびに、画像形成装置に関する。
【背景技術】
【０００２】
電子写真方式の画像形成装置では、光書き込みによって静電潜像を感光体上に形成し、これを現像してトナー像を得る。このトナー像を用紙に転写し、熱や圧力などによって用紙に定着させることによって、用紙上に画像を形成する。
【０００３】
また、フルカラーの画像形成装置において、トナー画像を中間転写体に転写し、この転写されたトナー画像を中間転写体から用紙に転写する技術が知られている。すなわち、カラートナー画像を、一旦中間転写ベルトや中間転写ドラムなどの中間転写体に転写(一次転写)する。中間転写体上に複数色のカラートナー画像を重ねた後、中間転写体から用紙にカラートナー像を転写(二次転写)する。その後、用紙上のカラートナー像を定着させて、フルカラー画像を得る。
【０００４】
このような中間転写体を用いる画像形成装置において、中間転写体に速度変動が生じると、一次転写の際のカラートナー像の重ね位置にズレが生じ、色むらやスジ画像が生じることとなり、画像品質の低下を招くことになる。
【０００５】
中間転写体の速度変動を抑制するために、従来から、回転偏心を抑えるように、軸やモータの機械加工精度を上げたり、高精度なギヤを使用するなどの対策が施されてきた。また、制御系としては、回転検出系のロータリエンコーダの取り付け偏心を抑えるために２つのセンサを使用したり、制御回路をハイゲイン化して検出感度を上げるなどして、回転変動の抑制を図ってきた。
【０００６】
しかしながら、制御回路の単純なハイゲイン化は、機械共振を励振したり、機構パラメータのばらつきやノイズに対してロバストでなくなってしまい、制御系を不安定化させてしまうおそれがある。
【０００７】
特許文献１では、磁気ディスクの１回転中に発生する位相パルス毎に追従誤差信号を累算し、この累算値を位相パルス毎に累算順に順次フィードフォワードして追従誤差を抑えている。特許文献１では、追従誤差信号に所定の値を乗算して累算したり、追従誤差信号を一定値として累算したりしている。追従誤差信号を累算した値を順次フィードフォワードしていることから、乗算値を小さく取れば、機構パラメータの変動やノイズや突発的な外乱に対してもロバスト性が向上する。
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、特許文献１の技術では、乗算値を小さく取ることで、累算値の収束までに時間を要してしまう問題点があった。一方で、乗算値を大きく取るとロバスト性が低下し、制御系を不安定化させる可能性がある。
【０００９】
また、特許文献１は、磁気ディスクを制御対象に考えた技術であるため、ディスク１回転分の位相パルス分の累算値を用意する必要があり、分解能の高いエンコーダを使用した場合、演算器の記憶領域を広く取らなくてはならないという問題があった。
【００１０】
本発明は、上記に鑑みてなされたものであって、回転系の駆動制御をより安定的に行うことを目的とする。
【課題を解決するための手段】
【００１１】
上述した課題を解決し、目的を達成するために、本発明は、モータの回転を減速する減速器の回転位置に応じて位置検出部が出力したパルスから求められた検出速度に対し、パルス毎にフィルタ演算を行うフィルタ演算部と、フィルタ演算部でフィルタ演算されたパルス毎の検出速度を、減速器の１回転の周期より短い、予め定められた周期に対応するパルス数分記憶する記憶部と、記憶部に記憶されたパルス毎の検出速度に対して予め定められた第１の定数を乗算する第１の乗算部と、第１の乗算部の乗算出力に対して予め定められた遅延を与える位相調整部と、モータの回転速度を補償する補償器の出力に対して位相調整部で遅延された乗算出力を加算する第１の加算部とを有することを特徴とする。
【発明の効果】
【００１２】
本発明によれば、回転系の駆動制御をより安定的に行うことができるという効果を奏する。
【図面の簡単な説明】
【００１３】
【図１】図１は、各実施形態に適用可能な画像形成装置の構造の例を概略的に示す図である。
【図２】図２は、各実施形態に適用可能な駆動制御機構の例を示す図である。
【図３】図３は、各実施形態に適用可能な駆動制御部の一例の構成を示すブロック図である。
【図４−１】図４−１は、第１の実施形態による周期成分抽出部の一例の構成を示すブロック図である。
【図４−２】図４−２は、第１の実施形態の変形例による周期成分抽出部の一例の構成を示すブロック図である。
【図５】図５は、第２の実施形態による周期成分抽出部の一例の構成を示すブロック図である。
【図６】図６は、第３の実施形態による周期成分抽出部の一例の構成を示すブロック図である。
【図７】図７は、第３の実施形態に係るヒステリシスを持たせた積算動作のオン／オフ制御を説明するための図である。
【図８】図８は、第３の実施形態に係る周期変動値の取得と、補正値の出力タイミングの例を示すタイミングチャートである。
【図９】図９は、第３の実施形態に係る周期成分抽出部の機能を示す機能ブロック図である。
【図１０】図１０は、第３の実施形態に係るリングバッファを説明するための図である。
【図１１】図１１は、第３の実施形態による補正動作を概略的に説明するための図である。
【図１２】図１２は、第３の実施形態に係る位相補償を説明するためのボード線図である。
【図１３】図１３は、変動周期成分を抑圧する効果を十分に得られない場合の位相補償の例を概略的に示す図である。
【図１４】図１４は、第３の実施形態の変形例による、周期成分抽出部の一例の機能を示す機能ブロック図である。
【図１５】図１５は、第４の実施形態による周期成分抽出部の一例の構成を示すブロック図である。
【図１６】図１６は、周期成分抽出部に速度偏差よりも検出速度を入力する方が好ましいことを説明するための図である。
【図１７】図１７は、各実施形態に係る周期成分抽出部をソフトウェアにより実現する際の一例の構成を示すブロック図である。
【発明を実施するための形態】
【００１４】
以下に添付図面を参照して、駆動制御装置、駆動制御方法およびプログラム、ならびに、画像形成装置の実施形態を詳細に説明する。
【００１５】
なお、以下では、各実施形態に係る駆動制御装置を画像形成装置、例えばカラー画像を形成する複写機に適用した例を挙げて説明するが、適用可能な装置はこれに限られるものではない。例えば、ＰＣ（パーソナルコンピュータ）などの外部コントローラから画像データを受け取り、画像を形成するプリント機器なども含まれる。また、例えば、複写機、プリンタ、スキャナ装置、ファクシミリ装置、および、コピー機能、プリンタ機能、スキャナ機能並びにファクシミリ機能のうち少なくとも２つの機能を有する複合機等の画像形成装置であればいずれにも適用することができる。さらに、各実施形態に係る駆動制御装置は、モータの回転を減速機構を用いて減速させて、回転体を駆動する構造を有していれば、他の種類の装置にも適用可能なものである。
【００１６】
（各実施形態に共通の構成）
図１は、各実施形態に適用可能な画像形成装置１０の構造の例を概略的に示す。なお、各実施形態では、カラー複写機で用いる中間転写ベルトを駆動するためのギアの破損を検出する場合を例に挙げて説明する。図１に示すように、画像形成装置１０は、スキャナユニット１１と、感光体ユニット１２ａ〜１２ｄと、定着ユニット１３と、中間転写ベルト１４と、二次転写ローラ１５と、レジストローラ１６と、給紙ローラ１７と、紙搬送ローラ１８と、転写紙１９と、給紙ユニット２０と、斥力ローラ２１と、排紙ユニット２２と、中間転写スケール検出センサ２３とを備えている。
【００１７】
スキャナユニット１１は、原稿台の上面に載置された原稿の画像を読み取る。感光体ユニット１２ａ〜１２ｄは、それぞれＹＣＭＫ４色に対応し、潜像担持体としてのドラム状の感光体ドラム、感光体クリーニングローラなどを有している。以下、色を特定しない場合は、単に感光体ユニット１２という場合がある。
【００１８】
定着ユニット１３は、転写されたトナー画像を転写紙１９上に定着させる。中間転写ベルト１４は、感光体ユニット１２ａ〜１２ｄで形成されたＹＣＭＫ各色のトナー画像を重ね合わせかつ転写紙１９に転写させる。中間転写ベルト１４は、感光体ユニット１２ａ〜１２ｄにより画像が形成される画像形成媒体である。中間転写ベルト１４は、駆動ローラ３０により駆動される。駆動ローラ３０は、モータ５２により、歯数が異なり連結された歯車５５および５６を介して回転速度が減速されて駆動される。
【００１９】
二次転写ローラ１５は、中間転写ベルト１４上の画像を転写紙１９に転写する。レジストローラ１６は、転写紙１９のスキュー補正および転写紙搬送などを行う。給紙ローラ１７は、転写紙１９を給紙ユニット２０から搬送部へ送り出す。紙搬送ローラ１８は、給紙ローラ１７から送り出された転写紙１９をレジストローラ１６まで搬送する。
【００２０】
給紙ユニット２０は、転写紙１９を積載する。斥力ローラ２１は、二次転写ローラ１５の対向部分に配置され、中間転写ベルト１４と二次転写ローラ１５との間のニップを生成および維持させる。排紙ユニット２２は、画像が転写かつ定着された転写紙が排出される。中間転写スケール検出センサ２３は、中間転写ベルト１４の搬送速度を計測するためのエンコーダであって、中間転写ベルト１４上に形成されたスケールを検出してパルス出力を生成する。
【００２１】
上述の構成において、中間転写ベルト１４の表面速度に速度変動が生じると、ＹＣＭＫ各色のトナー画像の重ね合わせ位置がずれてしまったり、トナー画像が伸び縮みしてしまったりする。これによって、バンディングと呼ばれる色ずれや色の濃淡などの画像の不具合が生じてしまう。
【００２２】
中間転写ベルト１４の表面速度を変化させる原因として、摩擦負荷、駆動ローラ３０や歯車５５、５６などの回転体の偏心や負荷変動、中間転写ベルト１４の厚み変動、モータ５２の回転位置を検出するロータリエンコーダ（図示しない）の取り付け偏心、減速機構（歯車５５、５６など）の取り付け偏心や負荷変動、モータの回転ムラ、用紙突入やクラッチのオン／オフによるトルク変動などが考えられる。これらを外乱と考えると、摩擦負荷による変動は、定常的若しくは非常に低い周波数成分であるため、フィードバック制御を行うことによって抑圧できる。中間転写ベルト１４の厚みによる変動も、他の回転体の偏心などによる変動と比較して低い周波数成分であるため、中間転写ベルト１４の表面速度を直接的に検出できれば、これを使用したフィードバック制御を行うことにより抑圧できる。
【００２３】
一方、回転体の変動成分の中でも、減速機構の偏心やモータの回転ムラは、回転体と中間転写ベルト１４の剛性や、駆動軸と減速機構との連結部の剛性によって生じる機械共振周波数(以下、中間転写ベルト機構の機械共振周波数)に近い周波数となってしまう。そのため、単純にベルト表面速度をフィードバックする制御系では、中間転写ベルト機構の機械共振周波数以下の応答周波数の制御系となり、ゲイン不足により外乱を十分抑圧できず、所望の要求仕様を達成するのが困難である。
【００２４】
そこで、減速後の駆動軸にロータリエンコーダを取り付け、このロータリエンコーダの値をフィードバックするマイナーループと、ベルト表面上のエンコーダパターンの値をフィードバックするメジャーループとからなる二重ループのフィードバック制御系が提案されている。特開２００９−２２２１１２号公報には、この二重ループのフィードバック制御系において、さらに、マイナーループに所望の周波数のゲインを増幅させる手段を設けることにより、減速機構の偏心やモータの回転ムラによる周波数成分を抑えるベルト駆動制御装置が提案されている。
【００２５】
各実施形態では、特開２００９−２２２１１２号公報による、所望の周波数のゲインを増幅させる手段に代えて、高い周波数成分でも抑圧可能な構成を有する駆動制御装置について説明する。
【００２６】
図２は、各実施形態に適用可能な、画像形成装置１０における中間転写ベルト１４の駆動制御機構の例を示す。なお、図２において、上述の図１と共通する部分には同一の符号を付して、詳細な説明を省略する。
【００２７】
モータおよび減速機構５０は、軸に歯車５５が切られたモータ５２と、歯車５５の回転を減速させて駆動ローラ３０に伝達する減速歯車５６とを有する。図２の例では、歯車５５と減速歯車５６とで減速機構が構成されている。減速機構において、入力側の歯車は、モータ５２の軸に取り付けられた構成でもよい。また、図２の例では減速機構が２の歯車５５および減速歯車５６を有するように示されているが、これはこの例に限定されない。例えば、モータおよび減速機構５０は、３以上の歯車を用いて構成してもよいし、遊星歯車機構としてもよい。
【００２８】
減速機構の出力軸（図２の例では、減速歯車５６の軸）に対して、ロータリエンコーダのコードホイール５８が取り付けられており、コードホイール５８のスリットを、駆動軸エンコーダセンサ５９ａおよび５９ｂとで読み取る。駆動軸エンコーダセンサ５９ａおよび５９ｂは、コードホイール５８に対して位相が１８０ｄｅｇだけ異なる位置に配置され、駆動軸エンコーダセンサ５９ａおよび５９ｂの出力の平均値を使用することによって、コードホイール５８の偏心成分を補正することができる。
【００２９】
駆動軸エンコーダセンサ５９ａおよび５９ｂは、コードホイール５８の動きを検出して２値化信号であるエンコーダパルスを出力する。駆動軸エンコーダセンサ５９ａおよび５９ｂの出力は、９０度位相の異なる２相の２値化信号でもよいし、単相アナログ信号や２相アナログ信号でもよい。また、ここでは、２の駆動軸エンコーダセンサ５９ａおよび５９ｂを使用した例を示すが、コードホイール５８の偏心成分を中間転写ベルト１４の表面速度のフィードバックで抑圧することも可能で、この場合には、駆動軸エンコーダセンサ５９ａおよび５９ｂのうち何れか一方のみを用いればよい。
【００３０】
ベルト機構５１は、中間転写ベルト１４と、駆動ローラ３０と、斥力ローラ２１、２５および２６とを含む。ベルト機構５１において、駆動ローラ３０は、減速機構の出力軸である減速歯車５６の回転軸により駆動される。減速機構の出力軸と駆動ローラ３０の軸は、一体で構成されていてもよいが、整備性を考えて継ぎ手機構などで連結されていてもよい。駆動ローラ３０は、中間転写ベルト１４を駆動する。中間転写ベルト１４は、複数の斥力ローラ２１、２５および２６に支持されている。例えば、従動ローラ２６は、中間転写ベルト１４の張力調整機構を有し、斥力ローラ２１は、中間転写ベルト１４上に作像されたトナー画像を用紙に転写する転写軸の機能を併せ持つ。
【００３１】
中間転写ベルト１４の表面にはエンコーダパターン２４が刻まれており、このエンコーダパターン２４を中間転写スケール検出センサ２３で読み取ることによって、中間転写ベルト１４の表面速度（ベルト表面速度）を検出する。中間転写スケール検出センサ２３は、読み取ったエンコーダパターン２４に従い２値化出力であるエンコーダパルスを出力する。
【００３２】
エンコーダパターン２４は、中間転写ベルト１４の裏面に刻まれていてもよい。また、図２の例では、中間転写スケール検出センサ２３を、従動ローラ２５および２６の間に設けているが、これは一例であって、ベルト表面速度を正しく測定するために、中間転写ベルト１４が平坦な部分であれば、他の部分に中間転写スケール検出センサ２３を設けてもよい。例えば、駆動ローラ３０と従動ローラ２５との間や、駆動ローラ３０と斥力ローラ２１との間でもよい。
【００３３】
また、各ローラなどの回転軸上に中間転写スケール検出センサ２３を設けると、中間転写スケール検出センサ２３の出力に回転軸の曲率の影響が現れてしまう。この場合、中間転写ベルト１４の製造上の厚み変動や環境変化による変動によって、エンコーダパターン２４の間隔が変化してしまい、正しいベルト表面速度ではなくなってしまうおそれがある。そのため、各ローラなどの回転軸上に中間転写スケール検出センサ２３を設けることは、避ける必要がある。
【００３４】
エンコーダパターン２４は、製作方法は問わない。例えば、シート状のエンコーダパターン２４を中間転写ベルト１４に貼り付けてもよいし、中間転写ベルト１４上に直接的にパターン加工してもよい。中間転写ベルト１４の製造工程で、中間転写ベルト１４と一体的にエンコーダパターン２４を加工してもよい。
【００３５】
また、中間転写スケール検出センサ２３は、等間隔のスリットを備えた反射式の光学センサを想定しているが、エンコーダパターン２４から中間転写ベルト１４の表面位置を正確に検出できるセンサであればよく、例えば、ＣＣＤ(Charge  Coupled  Device)を撮像素子として用いたカメラを使用してエンコーダパターン２４を撮像し、撮像画像に対して画像処理を施すことで表面位置を検出するものでもよい。さらに、ドップラー方式やベルト表面の凹凸から画像処理によって表面位置を検出できるセンサ方式であれば、エンコーダパターン２４を省略することも可能である。
【００３６】
駆動軸エンコーダセンサ５９ａおよび５９ｂの出力、ならびに、中間転写スケール検出センサ２３の出力は、駆動制御部１００に入力される。駆動制御部１００は、駆動軸エンコーダセンサ５９ａおよび５９ｂ、ならびに、中間転写スケール検出センサ２３の出力信号を使用して、駆動ローラ３０の回転速度とベルト表面速度とを演算し、演算結果に基づき所定の制御演算を行い、モータ５２を所定の回転速度で駆動するための指令値を求める。指令値は、駆動制御部１００から図示されないモータドライバに渡され、モータドライバは、指令値に応じてモータ５２を駆動する。
【００３７】
モータ５２は、ブラシ付きモータでもブラシレスモータでもよい。モータドライバの駆動回路は、モータ５２の形式に応じて変わってくる。モータドライバは、電圧制御方式でも電流制御方式でもよい。電流制御方式のドライバであれば、経時変化や環境変化に対してロバストとなる。モータドライバへの指令値の信号形式は、特に限定されず、アナログ値、デジタル値、ＰＷＭ(Pulse  Width  Modulation)などを用いることができ、モータドライバは、指令値に対して比例した出力が得られるものであればよい。モータドライバは、ＰＷＭ駆動でもリニア駆動でもよい。
【００３８】
駆動制御部１００で行われる制御演算は、アナログ値およびデジタル値の何方を用いて行ってもよい。例えば、ＣＰＵ(Central  Processing  Unit)やＤＳＰ(Digital  Signal  Processor)などのデジタル演算器を用いて制御演算を行うことが一般的に行われており、この場合、制御演算は、ソフトウェアで記述される。これに限らず、単純な制御演算や動作ロジックであって、パラメータ変更が無いのであればハードウェアロジックで制御演算を行わせてもよい。
【００３９】
図３は、各実施形態に適用可能な駆動制御部１００の一例の構成を示す。駆動制御部１００は、比較器１１０および１１２と、加算器１１４と、ベルト速度補償器１１１と、駆動軸速度補償器１１３と、モータドライバ１１５と、駆動軸速度演算部１１６と、ベルト速度演算部１１７と、周期成分抽出部２００とを有する。駆動制御部１００において、モータドライバ１１５は、加算器１１４から出力された指令値に従いモータ５２を駆動し、モータおよび減速機構５０とベルト機構５１とを含む機構部１０１を駆動する。なお、図３では、減速歯車５６の駆動軸に取り付けられた駆動軸エンコーダセンサ５９ａおよび５９ｂを、駆動軸エンコーダセンサ５９として纏めて示している。
【００４０】
駆動制御部１００は、ベルト機構５１の中間転写スケール検出センサ２３の出力に基づきベルト表面速度をフィードバックするメジャーループと、減速歯車５６の駆動軸に取り付けられた駆動軸エンコーダセンサ５９の出力に基づき当該駆動軸の回転速度をフィードバックするマイナーループとからなる二重ループにより、モータ５２の回転速度を制御する。
【００４１】
中間転写ベルト１４の目標速度（ベルト目標速度）が比較器１１０の一方の入力端に入力される。ベルト速度演算部１１７は、ベルト機構５１に設けられた中間転写スケール検出センサ２３の出力に基づき中間転写ベルト１４の速度（ベルト速度）を算出する。算出されたベルト速度は、比較器１１０の他方の入力端に入力される。比較器１１０において、一方および他方の入力端に入力された値が比較され、差分が出力される。より具体的には、比較器１１０において、一方の入力端に入力されたベルト目標速度から他方の入力端に入力されたベルト速度が減算されて、ベルト速度偏差が出力される。ベルト速度偏差は、ベルト速度補償器１１１に入力される。
【００４２】
ベルト速度補償器１１１は、ベルト速度偏差に基づき駆動軸目標速度を出力する。駆動軸目標速度は、中間転写ベルト１４のベルト表面速度を一定に制御するように駆動ローラ３０を駆動するための目標速度である。駆動軸目標速度は、比較器１１２の一方の入力端に入力される。
【００４３】
駆動軸速度演算部１１６は、駆動軸エンコーダセンサ５９の出力に基づき減速歯車５６の駆動軸の回転速度（駆動軸速度）を算出する。算出された駆動軸速度は、比較器１１２の他方の入力端に入力される。比較器１１２において、一方および他方の入力端に入力された値が比較され、差分が出力される。より具体的には、比較器１１２において、被減算入力端に入力された駆動軸目標速度から減算入力端に入力された駆動軸速度が減算されて、駆動軸速度偏差が出力される。
【００４４】
駆動軸速度補償器１１３は、モータ５２の回転速度を指定するモータ指令値を駆動軸速度偏差に基づき算出する。加算器１１４において、モータ指令値と周期成分抽出部２００の出力とが加算される。詳細を後述するように、周期成分抽出部２００は、減速機構の周期変動を抽出し、抽出された周期変動に基づき駆動軸速度補償部１１３から出力されるモータ指令値を補正する補正値を出力する。なお、図３の例では、加算器１１４は、周期成分抽出部２００側の入力端が反転入力とされており、減算器として用いられている。
【００４５】
加算器１１４から出力された補正されたモータ指令値がモータドライバ１１５に供給される。モータドライバ１１５は、加算器１１４から供給された補正されたモータ指令値に従いモータ５２を駆動する。モータ５２の回転は、歯車５５および減速歯車５６を介して駆動ローラ３０に伝達され、中間転写ベルト１４が駆動される。
【００４６】
なお、減速歯車５６の駆動軸の回転速度は、ロータリエンコーダにより検出され、ベルト表面速度はリニアエンコーダにより検出されるため、駆動軸の回転速度とベルト表面速度とでは単位系が異なる。一般的にロータリエンコーダの検出出力は角度で出力され、単位系はラジアン（ｒａｄ）となり、リニアエンコーダの検出出力は長さで出力され、単位系はメートル（ｍ）となる。したがって、駆動軸エンコーダセンサ５９および中間転写スケール検出センサ２３で求められた速度を、何方か一方の単位系に変換する必要がある。
【００４７】
駆動軸の回転速度をベルト表面速度と統一する場合は、速度の単位が「ｍ／ｓ」(meter  per  second)となり、駆動軸速度を変換するための単位変換用の係数を駆動軸速度演算部１１６に含むことになる。また、駆動軸速度補償器１１３も「ｍ／ｓ」に合わせる係数を持つことになる。一方、ベルト表面速度を駆動軸速度と統一する場合は、速度の単位が「ｒａｄ／ｓ」(radian  per  second)となり、ベルト速度補償器１１１に「ｒａｄ／ｓ」に変換する係数を持つことになる。
【００４８】
また、内側にあり、ロータリエンコーダ（駆動軸エンコーダセンサ５９）の値をフィードバックするマイナーループの応答周波数は、外側のリニアエンコーダ（中間転写スケール検出センサ２３）の値をフィードバックするメジャーループの応答周波数に対して、十分に高い必要がある。一般的には、マイナーループの応答周波数の帯域は、メジャーループの応答周波数の帯域に比べて、５〜１０倍以上高い周波数帯域である。
【００４９】
（第１の実施形態）
次に、第１の実施形態について説明する。図４−１は、第１の実施形態による周期成分抽出部２００Ａの一例の構成を示す。なお、図４−１において、当該周期成分抽出部２００Ａを含む駆動制御部１００の構成を、周期成分抽出部２００Ａに関連する部分を抜粋して示してある。なお、これは、後述する図４−２、図５、図６および図１５においても同様である。図４−１、ならびに、後述する図４−２、図５、図６および図１５に示される構成は、上述した二重ループのうちマイナーループ部分に相当する。
【００５０】
なお、図４−１において、比較器２０２は、図３の比較器１１２に対応し、加算器２０４は、図３の加算器１１４に対応する。また、図４−１の補償器２０３、ドライバ２０５および速度演算部２０８は、それぞれ図３の駆動軸速度補償器１１３、モータドライバ１１５および駆動軸速度演算部１１６に対応する。さらに、図４−１におけるモータ２０６および減速機構部２０７は、それぞれ図３のモータおよび減速機構５０に含まれる構成であり、減速機構部２０７の出力は、駆動軸エンコーダセンサ５９の出力である。
【００５１】
第１の実施形態において、周期成分抽出部２００Ａは、フィルタ演算部２１０と、速度記憶部２１１と、速度積算部２１２と、乗算部２１３と、位相調整部２１４とを含む。
【００５２】
速度演算部２０８は、減速機構部２０７において減速側に取り付けられた駆動軸エンコーダセンサ５９の出力から、減速側すなわち減速歯車５６の駆動軸の回転速度を検出する。速度検出は、駆動軸エンコーダセンサ５９から出力されたエンコーダパルスの間隔を基本クロックでカウントし周期を求める方式を用いることができる。これに限らず、パルスカウンタの差分から算出する方式を用いて速度検出を行ってもよい。
【００５３】
速度演算部２０８は、回転速度を駆動軸エンコーダセンサ５９のエンコーダパルス毎に出力する。回転速度は、例えば当該エンコーダパルスの間隔を基本クロックでカウントした場合のカウント値で表される。速度演算部２０８から出力された駆動軸の回転速度は、比較器２０２により目標速度２０１（駆動軸目標速度）と比較され、差分が駆動軸速度偏差として出力される。補償器２０３は、比較器２０２から出力された駆動軸速度偏差に基づきモータ２０６を駆動する駆動電圧相当のＰＷＭ値を出力する。
【００５４】
加算器２０４において、補償器２０３から出力された駆動電圧相当のＰＷＭ値に対して、周期成分抽出部２００Ａから出力される補正値相当のＰＷＭ値が加算され、補償器２０３から出力された駆動電圧相当のＰＷＭ値が補正された補正ＰＷＭ値が出力される。なお、図４−１の例では、加算器２０４の周期成分抽出部２００Ａ側の入力端が反転入力となっているため、補正ＰＷＭ値は、駆動電圧相当のＰＷＭ値から補正値相当のＰＷＭ値を減算した値となる。補正ＰＷＭ値は、モータ２０６を駆動する際のモータ指令値としてドライバ２０５に入力される。ドライバ２０５は、供給されたモータ指令値に従いモータ２０６を電圧駆動する。モータ２０６の回転は、減速機構部２０７の減速機構により減速されて、図示されないベルト機構５１を駆動する。
【００５５】
次に、第１の実施形態による周期成分抽出部２００Ａの動作について説明する。速度演算部２０８から駆動軸エンコーダセンサ５９のエンコーダパルス毎に出力された減速側の駆動軸の回転速度がフィルタ演算部２１０に供給される。フィルタ演算部２１０は、供給されたエンコーダパルス毎の回転速度から、予め定められた周波数成分を抽出するバンドパスフィルタ演算を行う。
【００５６】
例えば、速度演算部２０８が、回転速度を示す値として、駆動軸エンコーダセンサ５９から出力されたエンコーダパルスの間隔を基本クロックでカウントしたカウント値を用いる場合、速度演算部２０８から、エンコーダパルス毎にカウント値が出力される。フィルタ演算部２１０は、このエンコーダパルス毎のカウント値に対してバンドパスフィルタ演算を施すことで、エンコーダパルス毎のカウント値の変動分を抽出することができる。
【００５７】
このフィルタ演算部２１０で抽出される周波数成分が、抑圧したい周期変動の周波数成分に対応する。例えば、フィルタ演算部２１０に対して、抽出する周波数として、モータの１回転相当の周波数や、減速機構部（歯車５５および減速歯車５６）のギヤの噛合い周波数を予め設定することができる。フィルタ演算部２１０に設定可能な周波数は、１種類とは限られず、複数の周波数を設定することも可能である。この場合、それぞれ所定の周波数が設定された複数のフィルタ演算部２１０を並列に接続する。
【００５８】
フィルタ演算部２１０で抽出された周波数成分のエンコーダパルス毎の値（周期変動値と呼ぶ）が速度記憶部２１１に供給される。速度記憶部２１１は、供給された周期変動値を、周期変動の周期におけるエンコーダパルスそれぞれに対応する各位相毎に順次、保持する。例えば、速度記憶部２１１は、周期変動の周期に含まれるエンコーダパルス毎の記憶領域を有し、各位相の周期変動値を各記憶領域に順次記憶させる。速度積算部２１２は、速度記憶部２１１と対応する記憶領域を有し、当該記憶領域を利用して、速度記憶部２１１に保持される周期変動値を、周期内の対応する位相毎に積算演算する。
【００５９】
速度積算部２１２で積算された各周期変動値は、エンコーダパルス毎に順次選択され、乗算部２１３で所定のゲインが乗算される。乗算部２１３でゲインが乗算された各周期変動値は、位相調整部２１４に供給されて位相を調整されて周期成分抽出部２００Ａから出力される。周期成分抽出部２００Ａから出力された各周期変動値は、周期変動を補正する補正値として、加算器２０４で補償器２０３の出力に加算される。
【００６０】
周期成分抽出部２００Ａから出力される補正値は、誤差（周期変動分）を０に近付けるように動く。すなわち、完全に収束した場合、補正値は０となる。このとき、速度積算部２１２で誤差を積算していくため、定常値に収束するまでに所定の時間を要する。乗算部２１３におけるゲイン設定によって、補正値の収束時間を調整することが可能である。より大きなゲインを設定することで、収束時間をより高速とすることができる一方で、ノイズやパラメータの変動の影響を受け易くなり、補正値が不安定化してしまうことになる。補正値を安定化させるための乗算部２１３のゲインの設定方法については、後述する。
【００６１】
上述の構成において、速度記憶部２１１および速度積算部２１２それぞれの記憶領域は、モータ５２の１回転に相当するエンコーダパルス数分のデータを保持可能であればよく、減速歯車５６の１回転分のエンコーダパルス数分のデータを保持可能である必要はない。
【００６２】
所望の周波数は、１周期あたり最低２パルスあれば表現可能である。しかしながら、周期変動を補正する際の補正精度を上げるためには、エンコーダパルスに所定以上の分解能が必要である。
【００６３】
一例として、モータ５２の周期変動を補正する場合について考える。この場合、例えば、モータ５２の１回転相当のエンコーダパルス数を４０パルスとし、減速機構の減速比を１０とすると、モータ５２の周期変動を補正するために必要な駆動軸エンコーダセンサ５９によるエンコーダパルス数は、モータ５２の１回転当たり４０パルス×１０＝４００パルスの整数倍あればよい。よって、ここでは、駆動軸エンコーダセンサ５９の分解能を、４００（パルス／回転）とする。
【００６４】
なお、上述したように、第１の実施形態では、速度記憶部２１１は、周期変動の周期に含まれるパルス分の周期変動値を、エンコーダパルス毎に順次、保持するようにしている。したがって、モータ５２の１回転相当のエンコーダパルス数を４０パルスとした場合、速度記憶部２１１および速度積算部２１２の記憶領域は、データを４０個分保持可能であればよい。
【００６５】
別の例として、ギヤの噛合いによる周期変動を抑制する場合について考える。例えば、モータ５２の１回転当たりのギヤの歯数が１０とする。この場合、ギヤの１周期当たりのエンコーダパルス数が４パルスとなる。モータ５２の１回転当たりのエンコーダパルス数を上述と同様に４０とすると、ギヤの１周期当たりのエンコーダパルス数、モータ５２の１回転当たりのエンコーダパルス数との最小公倍数が４０となり、速度記憶部２１１および速度積算部２１２の記憶領域は、データを４０個分保持可能であればよい。
【００６６】
さらに、ギヤの噛合いの周期変動の抑圧効果を向上させるためには、ギヤの噛合い周波数相当のエンコーダパルス数を多くして、分解能を上げる必要がある。
【００６７】
さらにまた、上述のようにして求めたエンコーダパルス数は、周期変動を抑圧するために必要なエンコーダパルス数であり、フィードバック制御系の制御性能を確保するために必要となるエンコーダパルス数とは異なる。駆動軸エンコーダセンサ５９の出力信号処理による無駄時間を小さくし、フィードバック制御系の応答周波数を向上させるためには、エンコーダパルスについてより細かい分解能が必要となる場合がある。
【００６８】
位相調整部２１４は、補正ＰＷＭ値のドライバ２０５に対する入力から、駆動軸エンコーダセンサ５９からの出力までの位相遅れを考慮した値を設定する。
【００６９】
ところで、ドライバ２０５に印加可能な電圧や電流には制限があるため、周期成分抽出部２００Ａの出力である補正値も制限が必要である。速度積算部２１２の積算値が制限値を超えた場合、実際には、対応する電圧や電流をドライバ２０５に印加できないため、補正値が定常値に収束する時間が長くなってしまう。そこで、速度積算部２１２の積算値に制限を設け、積算値が制限値を超える値にならないようにする。
【００７０】
積算値の制限値int＿dat＿limは、例えば次式（１）により求めることができる。なお、式（１）において、値Ｖlimがドライバ２０５の電圧制限、定数ＧｉFFが乗算部２１３のゲインとする。速度積算部２１２の積算値が制限値int＿dat＿limを超えた場合には、当該積算値を制限値int＿dat＿limに固定する。また、ここでは正側の例について説明したが、負側についても同様である。
【数１】
2014030324.tif 000003
【００７１】
（第１の実施形態の変形例）
次に、第１の実施形態の変形例について説明する。上述した図４−１に示す周期成分抽出部２００Ａから速度積算部２１２を省略し、速度記憶部２１１に保持した周期変動値を補正値として直接的に乗算部２１３に供給してもよい。図４−２は、第１の実施形態の変形例による、速度積算部２１２を省略した周期成分抽出部２００Ａ’の構成の例を示す。なお、図４−２において、図４−１と共通する部分には同一の符号を付し、詳細な説明を省略する。
【００７２】
図４−２に示される周期成分抽出部２００Ａ’では、速度記憶部２１１に保持される周期変動値を直接的に乗算部２１３に供給している。この場合、図４−１に例示した速度積算部２１２を使用する構成に対して、周期成分の抑圧効果が小さくなる一方で、補正出力の収束に要する時間が短いため、周期成分の抑圧効果の応答性が向上する。それと共に、図４−２の構成は、図４−１の構成に対して速度積算部２１２用の記憶領域が不要になる。
【００７３】
（第２の実施形態）
次に、第２の実施形態について説明する。第２の実施形態では、第１の実施形態の構成に対し、速度記憶部２１１および速度積算部２１２の出力にそれぞれゲインを乗じて加算し、加算結果を位相調整部２１４を介して補償器２０３の出力に加算する。
【００７４】
図５は、第２の実施形態による周期成分抽出部２００Ｂの構成の例を示す。なお、図５において、上述の図４−１と共通する部分には同一の符号を付して、詳細な説明を省略する。第２の実施形態による周期成分抽出部２００Ｂは、第１の実施形態による周期成分抽出部２００Ａに対し、乗算部２１３の代わりに、乗算部２１３Ａおよび２１３Ｂが設けられると共に、乗算部２１３Ａおよび２１３Ｂの出力を加算する加算器２１５が追加されている。
【００７５】
速度記憶部２１１の出力は、速度積算部２１２に入力されると共に、乗算部２１３Ｂに入力され比例ゲインＧｐFFが乗算される。速度積算部２１２の出力は、乗算部２１３Ａに入力され、積算値に比例ゲインＧｉFFが乗算される。乗算部２１３Ａおよび乗算部２１３Ｂの出力は、加算器２１５で加算され、位相調整部２１４で位相調整される。位相調整部２１４の出力は、加算器２０４で補償器２０３の出力に加算される。これにより、補償器２０３の出力の周期変動が補正される。
【００７６】
第２の実施形態の周期成分抽出部２００Ｂによれば、速度記憶部２１１の出力により、周期変動の補正にかかる時間を短縮し、速度積算部２１２の出力により周期変動の補正精度を向上させることができる。乗算部２１３Ａの比例ゲインＧｉFFを大きくすることで、初期状態からの補正性能を向上させることができる。また、乗算部２１３Ｂの比例ゲインＧｐFFを大きくすることで、補正出力の収束をより高速とすることができる。
【００７７】
（乗算部のゲイン設定）
ここで、乗算部２１３Ａおよび２１３Ｂの比例ゲインＧｉFFおよびＧｐFFの設定方法について説明する。速度記憶部２１１の出力が供給される乗算部２１３Ｂの比例ゲインＧｐFFの設定は、一般的に、フィードフォワード制御の場合、制御対象の逆モデル相当以下とすればよい。例えば電圧から角速度までの伝達関数を、次式（２）で表すことを考える。ここで、値ωは角速度（ｒａｄ／ｓ）、値Ｖは電圧値（ｖｏｌｔ）、値Ｋeは誘起電圧定数（ｖｏｌｔ／（ｒａｄ／ｓ））、値Ｔeは電気時定数（ｓ）、値Ｔmは機械時定数（ｓ）、値ｓはラプラス演算子である。
【数２】
2014030324.tif 000004
【００７８】
式（２）に基づき、逆モデルは、次式（３）で表される。
【数３】
2014030324.tif 000005
【００７９】
したがって、ラプラス演算子s→ｊωとして、周期変動の周波数を設定して、ＧｐFFを求める。
【００８０】
速度積算部２１２の出力が供給される乗算部２１３Ａの比例ゲインＧｉFFは、制御対象の一巡伝達関数が不安定にならないＧｉFF／ｓの補償器の形として求める。比例ゲインＧｉFFは、大きすぎると不安定となる。
【００８１】
一般的に、乗算部２１３Ａの比例ゲインＧｉFFの設定で、補正動作の収束時間が変化する。速度積算部２１２の出力に対するゲインである比例ゲインＧｉFFを使用する場合は、速度記憶部２１１の出力に対するゲインである比例ゲインＧｐFFは小さくても良く、比例ゲインＧｐFFの設定で、補正の立ち上がり特性を調整できる。
【００８２】
（第３の実施形態）
次に、第３の実施形態について説明する。第３の実施形態では、上述した第２の実施形態の構成に対して、速度積算部２１２の構成が異なる。図６は、第３の実施形態による周期成分抽出部２００Ｃの構成の例を示す。なお、図６において、上述した図５と共通する部分には同一の符号を付して、詳細な説明を省略する。
【００８３】
周期成分抽出部２００Ｃにおいて、速度記憶部２１１の出力は、乗算部２１３Ｂに供給され比例ゲインＧｐFFを乗算されると共に、速度積算部２１６に供給される。速度積算部２１６の出力は、乗算部２１３Ａに供給され比例ゲインＧｉFFを乗算される。乗算部２１３Ａおよび乗算部２１３Ｂの出力は、加算器２１５で加算され、位相調整部２１４で位相調整される。位相調整部２１４の出力は、加算器２０４で補償器２０３の出力に加算される。これにより、補償器２０３の出力の周期変動が補正される。
【００８４】
速度積算部２１６は、速度記憶部２１１から出力される周期変動値を積算する積算部２１８と、フィルタ演算部２１０から出力される周期変動値に応じて積算部２１８による積算動作のオン／オフを制御するスイッチ部２１７とを有する。積算部２１８の動作は、上述した速度積算部２１２の動作と共通であるので、ここでの説明を省略する。
【００８５】
スイッチ部２１７は、フィルタ演算部２１０から出力される周期変動値が０近傍の所定範囲内にある場合は、積算部２１８における積算動作を行わない（オフとする）ように、速度積算部２１６を制御する。一方、スイッチ部２１７は、フィルタ演算部２１０から出力される周期変動値が当該所定範囲外にある場合には、積算部２１８において速度記憶部２１１の出力の積算動作を行う（オンとする）ように、速度積算部２１６を制御する。
【００８６】
図６の例では、スイッチ部２１７の一方の入力端に速度記憶部２１１の出力が入力され、他方の入力端に値「０」が入力されている。スイッチ部２１７は、フィルタ演算部２１０からの周期変動値が当該所定範囲内にある場合に他方の入力端を選択して積算部２１８に０を入力する。一方、スイッチ部２１７は、フィルタ演算部２１０からの周期変動値が当該所定範囲外である場合には、一方の入力端を選択して速度記憶部２１１の出力を積算部２１８に入力する。
【００８７】
フィルタ演算部２１０から出力される周期変動値が０に近付いた状態、換言すれば、周期成分による誤差が０に近付いた状態では、フィルタ演算部２１０の出力に含まれるノイズ成分や離散化誤差、数値丸め誤差などの影響が相対的に大きくなる。この第３の実施形態においては、フィルタ演算部２１０の出力値が０に近付いた場合に速度積算部２１６における積算動作を行わないようにしている。これにより、フィルタ演算部２１０の出力に含まれるノイズや離散化誤差、数値丸め誤差などの影響を排除することができ、周期成分抽出部２００Ｃの補正出力を安定化させて、周期変動の抑圧効果を安定化できる。
【００８８】
なお、上述では、速度積算部２１６の積算動作は、フィルタ演算部２１０の出力値に対して単純に閾値判定を行いオン／オフを制御するように説明したが、これはこの例に限定されない。すなわち、積算動作のオン／オフ制御に図７に例示されるようにヒステリシスを持たせることにより、ノイズによる誤動作の防止や積算動作のオン／オフの切り替えによる過渡特性を改善することができ、より好ましい。
【００８９】
すなわち、周期変動成分が小さくなっていくと、フィルタ演算部２１０で抽出される値も小さくなり、ノイズやデジタル演算による桁落ちなどの誤差成分が増加し、Ｓ／Ｎが悪くなる。Ｓ／Ｎが悪い値を積算していくと、周期変動の補正値が異常値となり、この補正値をフィードフォワードすることによって制御系が発振する可能性があるため、速度積算部２１６では、それを防止する動作を行う。例えば、フィルタ演算部２１０の出力が閾値範囲内である場合は、積算動作をオフとし、閾値範囲外である場合は、積算動作をオンとする。
【００９０】
図７を用いて、このヒステリシスを持たせた積算動作のオン／オフ制御について、より具体的に説明する。図７において、図７（ａ）は、フィルタ演算部２１０から出力される周期変動値に対するオン(ON)／オフ(OFF)判定の例を示し、図７（ｂ）は、この周期変動値に対応するスイッチ部２１７の動作の例を示す。図７（ｂ）において、スイッチ部２１７は、ハイ（Ｈ）状態で積算動作をオンさせ、ロー（Ｌ）状態で積算動作をオフさせる。なお、図７（ａ）では、オン／オフ判定が周期変動値の正側について示されているが、負側においても同様にしたオン／オフ判定を行う。
【００９１】
図７（ａ）に例示されるように、０近傍の周期変動値に対し、積算動作のオフ判定を行う第１の閾値を、オン判定を行う第２の閾値よりも低い値に設定する。補正値に誤差が減少し、フィルタ演算部２１０から出力される周期変動値が０に近付きオフ判定の第１の閾値以下となった時点Ａで、スイッチ部２１７は、積算動作をオフとさせる。その後、誤差が増加し、周期変動値が第１の閾値を超えオン判定の第２の閾値以上になった時点Ｂで、スイッチ部２１７は、積算動作をオンとさせる。さらにその後、誤差が減少し、周期変動値が第２の閾値より小さくなり、さらに第１の閾値以下になると（時点Ｃ）、スイッチ部２１７は、再び積算動作をオフとさせる。
【００９２】
オフ判定を行う第１の閾値を０に近付けることによって、周期変動成分の抑圧効果は大きくなる一方で、ノイズなどによる誤差の影響を受け易くなる。また、第１の閾値と、オン判定を行う第２の閾値との差が小さい方が、周期変動成分の抑圧後の変動が小さくなる一方で、ノイズなどの影響を受け易くなる。したがって、第１の閾値と第２の閾値との間隔をある程度開けるのが好ましい。このとき、第１の閾値と第２の閾値との間隔を大きく取ると、フィルタ演算部２１０の出力がオフ判定を行う第１の閾値以下となった後は、これまでの積算値（学習した値）を使用し続けることになる。温度上昇や経時変化などの何らかの原因で周期変動成分が大きくなると、再度、積算動作を行う。
【００９３】
図８は、周期成分抽出部２００Ｃにおける周期変動値の取得と、補正値の出力タイミングの例を示す。図８において、図８（ａ）は、エンコーダパルス（ＥＮＣ＿ｐｕｌｓｅ）の例を示す。ここでは、モータ２０６の１回転で駆動軸エンコーダセンサ５９からエンコーダパルスが４０パルス出力され、モータ２０６の回転周期の周期変動を抑圧するものとする。図８（ａ）では、モータ２０６の１回転当たりの４０のエンコーダパルスに、それぞれ＃０〜＃３９の番号を付して示している。
【００９４】
また、図８（ｂ）は、速度記憶部２１１の各位相に対応する記憶領域mem＿p0、mem＿p1、mem＿p2、…、mem＿p39に記憶されるデータ（変動周期値）の例を示し、図８（ｃ）は、加算器２１５から出力される各位相の補正値の例を示す。
【００９５】
例えば、モータ２０６のｎ回転目において、エンコーダパルス毎の周期変動値に対応するデータDATA0＿n、DATA1＿n、DATA2＿n、…、DATA39＿nが、エンコーダパルス毎に順次、各記憶領域mem＿p0、mem＿p1、mem＿p2、…、mem＿p39に記憶される。すなわち、エンコーダパルス＃０によりデータDATA0＿nが記憶領域mem＿p0に記憶される。次のエンコーダパルス＃１によりデータDATA1＿nが記憶領域mem＿p1に記憶される。以下同様にしてエンコーダパルス毎に順次データが記憶領域に記憶され、モータ２０６のｎ回転目における最後のエンコーダパルス＃３９によりデータDATA39＿nが記憶領域mem＿p39に記憶される。
【００９６】
なお、速度積算部２１６においても、同様のタイミングで、各位相の周期変動値の積算値Σ(DATA0)〜Σ(DATA39)が、各位相に対応した記憶領域mem＿i0、mem＿i1、mem＿i2、…、mem＿i39に記憶される。
【００９７】
モータ２０６の（ｎ＋１）回転目のエンコーダパルス＃０で、記憶領域mem＿p0からデータDATA0＿nが読み出され、乗算器２１３Ｂで比例ゲインＧｐFFを乗ぜられる。それと共に、当該エンコーダパルス＃０で、記憶領域mem＿i0から積算値Σ(DATA0)が読み出され、乗算器２１３Ａで比例ゲインＧｉFFを乗ぜられる。比例ゲインＧｐFFを乗ぜられたデータDATA0＿nと、比例ゲインＧｉFFを乗ぜられた積算値Σ(DATA0)とが加算器２１５で加算され、位相調整前の補正値として出力される。
【００９８】
以降、エンコーダパルス毎に、順次、位相が対応するデータおよび積算値の各記憶領域からの読み出しが行われる。そして、読み出されたデータおよび積算値に対してそれぞれ対応する比例ゲインが乗じられ、比例ゲインが乗じられたデータおよび積算値が加算されて補正値として出力される。
【００９９】
この記憶領域mem＿p0から読み出されたデータDATA0＿nと、記憶領域mem＿i0から読み出された積算値Σ(DATA0)とによる補正値の出力処理と並行して、モータ２０６の（ｎ＋１）回転目のエンコーダパルス＃０によるデータDATA0＿n+1が取得されて記憶領域mem＿p0に記憶されると共に、データDATA＿0n+1が積算値Σ(DATA0)に加算され、積算値Σ(DATA0)が更新される。
【０１００】
次に、周期成分抽出部２００Ｃの動作について、より詳細に説明する。図９は、周期成分抽出部２００Ｃの機能を示す機能ブロック図である。なお、図９において、上述した図６と共通する部分については同一の符号を付して、詳細な説明を省略する。
【０１０１】
図９の例では、周期成分抽出部２００Ｃは、フィルタ演算部２１０と、判定器２５１および積算部２１８を有する速度積算部２１６と、選定器・位相調整部２５２Ａおよび２５２Ｂと、乗算部２１３Ａおよび２１３Ｂと、加算器２１５とを有する。なお、判定器２５１は、上述したスイッチ部２１７に対応する機能を有する。
【０１０２】
これらのうち、選定器・位相調整部２５２Ａおよび２５２Ｂは、それぞれ図６の位相調整部２１４に対応する。すなわち、図９の構成は、図６の構成に対して、乗算部２１３Ａおよび２１３Ｂ、ならびに、加算器２１５と、位相調整部２１４との処理の順序が異ならされている。図９の構成において選定器・位相調整部２５２Ａおよび２５２Ｂ共通の位相調整を施す場合、位相調整後の各補正値に対してそれぞれゲインを乗じて加算する処理と、図６の構成により各補正値にそれぞれゲインを乗じて加算した後に位相調整する処理とは、実質的に同一であると見做すことができる。
【０１０３】
以下では、抽出する所望の周期変動が、駆動軸エンコーダセンサ５９が出力するエンコーダパルスの４０パルス分の周期であるものとする。すなわち、速度記憶部２１１および速度積算部２１６は、それぞれ４０パルス分の周期変動値を保持可能な記憶領域を有していればよい。
【０１０４】
速度演算部２０８でエンコーダパルス毎に出力された回転速度がフィルタ演算部２１０に供給される。フィルタ演算部２１０は、供給された回転速度から予め定められた周波数成分を抽出するバンドパスフィルタ演算が行われる。上述したように、このバンドパスフィルタ演算で抽出された周波数成分が、抑圧したい周期変動の周波数成分に対応する。フィルタ演算部２１０で抽出された周波数成分のデータすなわち周期変動値は、判定基準信号として判定器２５１に供給されるとともに、分配器２５０に供給される。
【０１０５】
分配器２５０は、エンコーダパルス（ＥＮＣパルス）が供給され、エンコーダパルスのタイミングで周期変動値を順次出力する。このとき、分配器２５０は、抽出する所望の周期変動の周期である、エンコーダパルスの４０パルスを単位として、周期変動値をエンコーダパルス毎に分配する。すなわち、分配器２５０は、供給された周波数変動値を、抽出する所望の周期変動の周期におけるエンコーダパルスそれぞれに対応する各位相毎に出力する。所望の周期変動の周期がエンコーダパルスの４０パルスであるこの例では、周期変動値が、４０パルスそれぞれに対応する各位相毎に分配器２５０で分配され出力される。
【０１０６】
分配器２５０から出力された各位相の周期変動値は、それぞれ判定器２５１に入力されると共に、速度記憶部２１１が有する４０個の記憶領域mem＿p0、mem＿p1、mem＿p2、…、mem＿p39に順次記憶される。
【０１０７】
判定器２５１は、上述したスイッチ部２１７と同様にして、フィルタ演算部２１０から出力された周期変動値を判定基準信号として用いて、供給された各位相の周期変動値の積算を行うか否かを判定する。より具体的には、判定器２５１は、周期変動信号の大きさに基づき、後続する積算部２１８において、抽出された周期変動値を用いるか、値「０」を用いるかを判定する。判定器２５１における動作の詳細は、図７を用いて説明した通りであるので、ここでの説明を省略する。
【０１０８】
判定器２５１の各位相の出力は、積算部２１８にそれぞれ入力される。積算部２１８は、４０個の加算回路Σ0、Σ1、Σ2、…、Σ39を有する加算部２６０と、各加算回路Σ0、Σ1、Σ2、…、Σ39にそれぞれ対応する４０個の記憶領域mem＿i0、mem＿i1、mem＿i2、…、mem＿i39を有する積算値記憶部２６１とを有する。積算部２１８は、判定器２５１から供給された各位相の出力を、それぞれ加算回路Σ0、Σ1、Σ2、…、Σ39で積算し、各積算値を記憶領域mem＿i0、mem＿i1、mem＿i2、…、mem＿i39に記憶する。例えば、加算回路Σ0は、入力された値と記憶領域mem＿i0に記憶されている値とを加算し、加算結果を記憶領域mem＿i0に上書きする。
【０１０９】
選定器・位相調整部２５２Ａは、エンコーダパルスを基準として、位相を合わせるように積算値記憶部２６１の各記憶領域mem＿i0、mem＿i1、mem＿i2、…、mem＿i39に記憶される値を選定する。選定器・位相調整部２５２Ａの出力は、位相を合わせるため、１周期遅れよりも少し位相の進んだ周期成分の積算値となる。例えば、選定器・位相調整２５２Ａは、記憶領域mem＿i0、mem＿i1、mem＿i2、…、mem＿i39において、記憶領域mem＿i2を周期の先頭として積算値を読み出し、以降、記憶領域mem＿i3、mem＿i4、mem＿i5、…、mem＿i39と順次積算値を読み出し、さらに記憶領域mem＿i0、mem＿i1から順次積算値を読み出す。
【０１１０】
選定器・位相調整部２５２Ａの各位相の出力は、乗算部２１３Ａに供給され、式（２）および式（３）を用いて説明したようにして設定した比例ゲインＧｉFFが乗算され、加算器２１５に入力される。
【０１１１】
一方、速度記憶部２１１に記憶された各位相の周期変動値は、上述の選定器・位相調整部２５２Ａと同様にして、選定器・位相調整部２５２Ｂにより、エンコーダパルスを基準として、位相を合わせるように、各記憶領域mem＿p0、mem＿p1、mem＿p2、…、mem＿p39から読み出される。選定器・位相調整部２５２Ｂで調整される位相量は、上述の選定器・位相調整部２５２Ａと同一とされる。選定器・位相調整部２５２Ｂの各位相の出力は、乗算部２１３Ｂに供給され、式（２）および式（３）を用いて説明したようにして設定した比例ゲインＧｐFFが乗算され、加算器２１５に入力される。
【０１１２】
加算器２１５は、乗算部２１３Ａの各位相の出力と、乗算部２１３Ｂの各位相の出力とを、対応する位相毎に加算して出力する。加算器２１５の加算結果は、加算器２０４で補償器２０３の出力に加算される。ここでは、補償器２０３の出力の更新タイミングと独立して周期変動の補正出力が更新される。すなわち、補正出力は、フィードフォワードされる。
【０１１３】
エンコーダパルス４０個分のデータを記憶する、記憶領域mem＿i0、mem＿i1、mem＿i2、…、mem＿i39や記憶領域mem＿p0、mem＿p1、mem＿p2、…、mem＿p39は、リングバッファ構成とし、古い値から順次上書きされるようにすればよい。１周期分の記憶領域を有するリングバッファであれば、３６パルス前に記憶したメモリアドレスの値を読み込む、すなわち位相を遅らせることと、４パルス後に記憶するメモリアドレスの値を読み込む、すなわち位相を進めることとが等価となる。
【０１１４】
図１０は、それぞれ１パルス分のデータを記憶する記憶領域を４０個有するリングバッファを用いた例である。アドレスＡＤＤ＃３７にデータＤＡＴ＃３７の書き込みを行うタイミングにおいて、例えば３６パルス分位相を遅らせたデータを読み出す場合、アドレスＡＤＤ＃３７に対して３６個前のアドレスもしくは４個後のアドレスであるアドレスＡＤＤ＃０１のデータＤＡＴ＃０１を使用することになる。
【０１１５】
図１１を用いて、第３の実施形態による補正動作について、概略的に説明する。なお、ここで説明する補正動作は、第３の実施形態のみならず、各実施形態に適用されるものである。制御対象の伝達特性より、検出された補正前の周期変動成分は、入力に対して位相遅れが発生する。そこで、位相の遅れを考慮して、予め位相を進めた補正値を用意する。また、補正値は、制御対象の伝達特性の周期成分相当の周波数のゲインも考慮した値とする。この補正値を制御対象の入力の加算部２０４にて加算することによって、周期変動成分を相殺し、制御対象の出力で検出される周期変動成分を小さくすることができる。
【０１１６】
なお、各実施形態において、加算部２０４では、補正値の符号を反転して、補償器２０３の出力に対して加算している。
【０１１７】
実機では、位相を進めることはできないので、記憶された１周期遅れた周期変動成分に対して、位相を進めることになる。図１１は、検出された補正前の周期変動成分３１０に対して、位相を遅らせた補正値３１１を作成し、加算部２０４にて加算した結果、補正後の周期変動成分３１２となることを示している。図１１の例からわかるように、１周期遅れの周期成分に対して位相を進めているため、位相を遅らせる量は、１周期（３６０ｄｅｇ）よりも小さくなる。
【０１１８】
第３の実施形態による補正動作について、図９の構成を参照しながらより詳細に説明する。選定器・位相調整部２５２Ａおよび２５２Ｂで調整される位相量は、制御対象の駆動系が電圧駆動方式である場合、抽出する周期成分（周波数）に相当する入力電圧から検出速度までの位相遅れを考慮した値となる。例えば、ボード線図などで表される伝達特性により、所望の周波数ｆ1の位相が−４０ｄｅｇとして求められた場合について考える。この場合、選定器・位相調整部２５２Ａおよび２５２Ｂで周期変動の補正値を予め４０ｄｅｇ進めた後に、補償器２０３の出力に加算することで、回転速度の周期変動を抑えられることになる。ここでは、１周期後の周期変動を補正することを考えると、位相を３６０ｄｅｇ−４０ｄｅｇ＝３２０ｄｅｇ遅らせることによって実現できる。
【０１１９】
抽出する周期変動は、エンコーダパルスの４０パルス分とすると、次式（４）により、エンコーダパルスの３６パルス分遅らせることによって実現できることが分かる。
【数４】
2014030324.tif 000006
【０１２０】
この位相補償について、図１２のボード線図を用いてより詳細に説明する。図１２において、図１２（ａ）は、ゲイン線図を示し、図１２（ｂ）は、当該ゲイン線図に対応する位相線図を示す。
【０１２１】
制御対象のモータ入力電圧から検出速度までの理想的な周波数応答は、上述した式（２）により、誘起電圧定数Ｋｅ、機械時定数Ｔｍ、電気時定数Ｔｅによって決まってくる。ボード線図に漸近線を書いた場合、１つ目の折れ点αが１／Ｔｍ、２つ目の折れ点βが１／Ｔｅとなる。図１２は、簡単化のため、誘起電圧定数ＫｅがＤＣ的な変化であるため無視（Ｋｅ＝１）したときの応答とする。
【０１２２】
例えば、制御対象のモータ入力電圧から検出速度までの周波数応答が図１２のような特性である場合、４０Ｈｚの正弦波状の変動を持ったモータ入力電圧を与えると、図１２（ｂ）に例示されるように、４０ｄｅｇだけ位相が遅れた正弦波状の速度として検出される。
【０１２３】
このような特性の制御対象に、回転系（モータロータや軸、ギヤ、駆動軸など）の偏心などによって発生する４０Ｈｚの変動周期成分が印加され、速度として検出される場合について考える。この場合、この４０Ｈｚの変動周期成分を抑圧するためには、この抽出された４０Ｈｚの変動周期成分を相殺するようにモータを駆動すればよい。
【０１２４】
ここで、変動周期成分として検出した４０Ｈｚの波形に対して単純に比例ゲインでの調整を行い、加算部２０４で補償器２０３の出力に加算しただけでは、回転系で発生する４０Ｈｚの変動周期成分に対して４０ｄｅｇ遅れた補正波形を反転して加算した形となるため、変動周期成分を抑圧する効果を十分に得られない可能性がある。なお、補正波形は、反転して変動周期成分に対して加算しているため、実際には減算処理となる。変動周期成分に加算する際の補正波形の符号は、速度から周期変動を抽出するのか、速度偏差から周期変動を抽出するのかで異なる。
【０１２５】
図１３は、変動周期成分を抑圧する効果を十分に得られない場合の位相補償の例を概略的に示す。図１３において、変動周期成分として検出された波形の例を、正弦波３００として示す。この正弦波３００を、ｙ＝ｓｉｎ（ωｔ）とする。波形３０１は、正弦波３００に対して位相θ1＝−３０ｄｅｇ＝−０．５２ｒａｄずらした正弦波を反転させて加算した第１の補正例を示す。波形３０２は、正弦波３００に対して位相θ2＝−１８０ｄｅｇ＝−３．１４ｒａｄずらした正弦波を反転して加算した第２の補正例を示す。図１３から分かるように、位相が３０ｄｅｇだけ遅れた波形３０１で補正しても、効果は、正弦波３００の振幅を３０％程度低減できるだけである。さらに、位相が１８０ｄｅｇ遅れた波形で補正すると、却って振幅を増幅させてしまい、制御系を不安定化させる結果となる。
【０１２６】
（第３の実施形態の変形例）
次に、第３の実施形態の変形例について説明する。図９を用いて説明した、第３の実施形態による周期成分抽出部２００Ｃは、エンコーダパルス毎に演算処理を行なっていた。すなわち、例えば周期成分抽出部２００Ｃが図示されないＣＰＵの制御に従い動作する場合、若しくは、周期成分抽出部２００Ｃ全体がＣＰＵ上で動作するプログラムにより構成される場合、ＣＰＵは、エンコーダパルスによる割り込みがある毎に、所定の演算処理を実行する。
【０１２７】
図１４は、第３の実施形態の変形例による、周期成分抽出部２００Ｃ’の一例の機能を示す図である。なお、図１４において、上述した図９と共通する部分には同一の符号を付して、詳細な説明を省略する。
【０１２８】
第３の実施形態の変形例では、周期成分抽出部２００Ｃ’の各部を、処理の内容に応じて、エンコーダパルスの割り込みにより処理を行う部分と、タイマの割り込みにより処理を行う部分とに分ける。主として、エンコーダパルスによる割り込みを行う部分では、データの取得と出力とを行い、タイマ割り込みを行う部分では、取得されたデータに対するフィルタ演算を行う。
【０１２９】
より具体的には、図１４に示されるように、周期成分抽出部２００Ｃ’は、エンコーダパルス（ＥＮＣパルス）の割り込みにより演算処理を行うＥＮＣ割込み関数部２７０および２７２と、基準クロックに基づくタイマによる割り込みにより演算処理を行うタイマ割込み関数部２７１とに構成が分割される。基準クロックとしては、例えばＣＰＵの動作の基準となるシステムクロックを用いることができる。
【０１３０】
入力側のＥＮＣ割込み関数部２７０は、分配器２５０’を有する。タイマ割込み関数部２７１は、フィルタ演算部２１０’と、判定器２５１’と、４０個の加算回路Σ0、Σ1、Σ2、…、Σ39を備える加算部２６０とを有する。また、出力側のＥＮＣ割込み関数部２７２は、選定器・位相調整部２５２Ａおよび２５２Ｂと、乗算器２１３Ａおよび２１３Ｂと、加算器２１５と、加算器２０４を含む加算部２６４とを有する。
【０１３１】
加算部２６０の加算結果を記憶する積算値記憶部２６１の４０個の記憶領域mem＿i0、mem＿i1、mem＿i2、…、mem＿i39、ならびに、速度積算部２１１の４０個の記憶領域mem＿p0、mem＿p1、mem＿p2、…、mem＿p39が、それぞれタイマ割込み関数部２７１とＥＮＣ割込み関数部２７２とを跨いで設けられる。また、分配器２５０’とフィルタ演算部２１０’との処理速度の差を吸収するためのバッファ２６３における４０個の記憶領域mem＿v0、mem＿v1、mem＿v2、…、mem＿v39が、ＥＮＣ割込み関数部２７０およびタイマ割込み関数部２７１とを跨いで設けられる。
【０１３２】
このように、第３の実施形態の変形例による周期成分抽出部２００Ｃ’は、上述した第３の実施形態による周期成分抽出部２００Ｃとは、処理の順序が一部異なる。すなわち、周期成分抽出部２００Ｃ’では、入力された回転速度を分配器２５０’でエンコーダパルス毎に各位相に分配した後、フィルタ演算部２１０’でフィルタ演算を行うようにしている。
【０１３３】
図１４において、速度演算部２０８から駆動軸エンコーダセンサ５９のエンコーダパルス毎に出力された減速側の駆動軸の回転速度を示す回転速度データがＥＮＣ割込み関数部２７０に供給され、分配器２５０’に入力される。分配器２５０’は、エンコーダパルス（ＥＮＣパルス）に従い、回転速度データを４０のエンコーダパルスそれぞれに対応する各位相に分配する。分配器２５０’は、各位相に分配した回転速度データを、エンコーダパルスのタイミングでバッファ２６３の各記憶領域mem＿v0、mem＿v1、mem＿v2、…、mem＿v39に記憶する。
【０１３４】
各記憶領域mem＿v0、mem＿v1、mem＿v2、…、mem＿v39に記憶された各回転速度データは、システムクロックに基づくタイマ割り込みにより順次読み出され、タイマ割込み関数部２７１のフィルタ演算部２１０’に供給される。フィルタ演算部２１０’は、タイマ割り込みに従い、供給された回転速度データに対してバンドパスフィルタによるディジタルフィルタ演算を施して所定の周波数成分を抽出し、抽出された周波数成分に基づき各位相の周期変動値を出力する。
【０１３５】
フィルタ演算部２１０’から出力された各位相の周期変動値は、それぞれ判定器２５１’に入力されると共に、速度記憶部２１１が有する４０個の記憶領域mem＿p0、mem＿p1、mem＿p2、…、mem＿p39に順次記憶される。また、フィルタ演算部２１０’は、抽出した周波数成分に基づき周期変動の大きさを求め、求めた値を判定器２５１’による判定の際の判定基準値として、判定器２５１’に供給する。
【０１３６】
判定器２５１’は、上述した判定器２５１と同様にして、フィルタ演算部２１０’から供給された判定基準値に基づき、供給された各位相の周期変動値の積算を行うか否かを判定する。より具体的には、判定器２５１’は、周期変動信号の大きさに基づき、後続する加算部２６０および積算値記憶部２６１からなる積算部において、抽出された周期変動値を用いるか、値「０」を用いるかを判定する。
【０１３７】
判定器２５１’の各位相の出力は、積算部に入力される。積算部は、判定器２５１’から供給された各位相の出力を、それぞれ加算回路Σ0、Σ1、Σ2、…、Σ39で積算し、各積算値を記憶領域mem＿i0、mem＿i1、mem＿i2、…、mem＿i39に記憶する。記憶領域mem＿i0、mem＿i1、mem＿i2、…、mem＿i39に記憶された各積算値は、次周期以降の周期変動を抑圧するために使用する。
【０１３８】
なお、速度記憶部２１１の各記憶領域mem＿p0、mem＿p1、mem＿p2、…、mem＿p39に記憶される回転速度データをフィルタ演算部２１０’でフィルタ演算処理した後、上書きすることによって、回転速度データを記憶する各記憶領域mem＿v0、mem＿v1、mem＿v2、…、mem＿v39と共通化して使うことができる。
【０１３９】
ＥＮＣ割込み関数部２７２において、選定器・位相調整部２５２Ａは、エンコーダパルスを基準として、位相を合わせるように積算値記憶部２６１の各記憶領域mem＿i0、mem＿i1、mem＿i2、…、mem＿i39に記憶される値を選定する。選定器・位相調整部２５２Ａの出力は、位相を合わせるため、１周期遅れよりも少し位相の進んだ周期成分の積算値となる。一例として、選定器・位相調整２５２Ａは、記憶領域mem＿i0、mem＿i1、mem＿i2、…、mem＿i39において、記憶領域mem＿i2を周期の先頭として積算値を読み出し、以降、記憶領域mem＿i3、mem＿i4、mem＿i5、…、mem＿i39と順次積算値を読み出し、さらに記憶領域mem＿i0、mem＿i1から順次積算値を読み出す。各記憶領域mem＿i0、mem＿i1、mem＿i2、…、mem＿i39からの積算値の読み出しは、エンコーダパルスに従い行われる。
【０１４０】
選定器・位相調整部２５２Ａの各位相の出力は、乗算部２１３Ａに供給され、式（２）および式（３）を用いて説明したようにして設定した比例ゲインＧｉFFが乗算され、加算器２１５に入力される。
【０１４１】
一方、ＥＮＣ割込み関数部２７１において、速度記憶部２１１に記憶された各位相の周期変動値は、上述の選定器・位相調整部２５２Ａと同様にして、選定器・位相調整部２５２Ｂにより、エンコーダパルスを基準として、位相を合わせるように、各記憶領域mem＿p0、mem＿p1、mem＿p2、…、mem＿p39から読み出される。選定器・位相調整部２５２Ｂで調整される位相量は、上述の選定器・位相調整部２５２Ａと同一とされる。選定器・位相調整部２５２Ｂの各位相の出力は、乗算部２１３Ｂに供給され、式（２）および式（３）を用いて説明したようにして設定した比例ゲインＧｐFFが乗算され、加算器２１５に入力される。
【０１４２】
加算器２１５は、乗算部２１３Ａの各位相の出力と、乗算部２１３Ｂの各位相の出力とを、対応する位相毎に加算して出力する。加算器２１５の加算結果は、加算器２０４で補償器２０３の出力に加算される。ここでは、補償器２０３の出力の更新タイミングと独立して周期変動の補正出力が更新される。すなわち、補正出力は、フィードフォワードされる。
【０１４３】
このように、周期成分抽出部２００Ｃ’内で、ＥＮＣ割り込み処理を行う演算と、タイマ割り込み処理を行う演算とで処理を分けることによって、ＥＮＣ割込み処理の負荷を低減できる。これにより、複数のエンコーダを使うような構成であっても、データ取得の遅れを小さくすることができる。
【０１４４】
（第４の実施形態）
次に、第４の実施形態について説明する。図１５は、第４の実施形態による周期成分抽出部２００Ｄの一例の構成を示す。なお、図１５において、上述した図６と共通する部分には同一の符号を付して、詳細な説明を省略する。
【０１４５】
図１５に示されるように、第４の実施形態による周期成分抽出部２００Ｄは、図６に示した第３の実施形態による周期成分抽出部２００Ｃに対して、フィルタ演算部２１０の直前に帯域制限演算部２１９が追加されている。すなわち、速度演算部２０８から出力された回転速度は、帯域制限演算部２１９で帯域制限処理を施された後、フィルタ演算部２１０に入力される。
【０１４６】
上述した第１の実施形態〜第３の実施形態では、周期成分抽出部２００Ａ、２００Ｂおよび２００Ｃにおける演算をエンコーダパルス毎に行うため、エンコーダの分解能が高い場合、大きな演算負荷が発生する。一方、高分解能のエンコーダを用いた場合であっても、補正したい周期成分の周波数が低い場合は、エンコーダの高分解能は不要であるため、エンコーダで検出した検出データを間引くことが考えられる。また、補償器２０３と周期成分の補正用フィードフォワード処理とでサンプリング周波数を同一にする場合、補償器２０３のサンプリング周期よりもエンコーダの周波数が高い場合、フィードフォワード処理の出力データを間引く必要がある。
【０１４７】
ここで、単純に値を間引いてしまうと、エリアシングと呼ばれる周期変動が発生し、例えば駆動制御部１００に駆動される中間転写ベルト１４上に形成される各色のトナー画像に周期的なズレが発生し、当該中間転写ベルト１４上のトナー画像により、用紙上に形成される画像にモアレ縞が発生してしまう可能性がある。
【０１４８】
そこで、第４の実施形態では、周期成分抽出部２００Ｄの入力に設けた帯域制限演算部２１９により、エンコーダパルス毎に検出される回転速度に対してローパスフィルタ処理を施し帯域制限をかける。帯域制限演算部２１９で行うローパスフィルタ演算は、ＩＩＲ(Infinite  Impulse  Response)フィルタおよびＦＩＲ(Finite  Impulse  Response)フィルタの何れを用いて行なってもよい。また、帯域制限演算部２１９におけるローパスフィルタ演算は、エンコーダパルスの周期をサンプリング周期として実行する必要がある。例えば、パルス数を１／２に間引きする場合は、単純な方法として２サンプル分のデータを使用して平均化する移動平均フィルタ処理（ＦＩＲフィルタ処理の一種）を行えばよい。
【０１４９】
この場合、周期成分抽出部２００Ｄにおいて、平均化されたデータに対して、間引かれたエンコーダサンプリング周期で、フィルタ演算部２１０以降の演算を上述した周期成分抽出部２００Ａ、２００Ｂおよび２００Ｃなどと同様に行う。
【０１５０】
一方、周期成分抽出部２００Ｄの演算周期が補償器２０３のサンプリング周期よりも長くなる場合、加算器２０４では、補償器２０３のサンプリング周期毎に周期成分の補正用フィードフォワード値を加算する。
【０１５１】
なお、この第４の実施形態による、速度演算部２０８から出力された回転速度データに対して帯域制限演算部２１９でローパスフィルタ処理を施してから周期成分抽出処理を行う構成は、上述した第１および第２の実施形態による周期成分抽出部２００Ａおよび２００Ｂにも適用可能なものである。
【０１５２】
（各実施形態に共通の事項）
上述した各実施形態では、図３に例示するように、検出速度を周期成分抽出部２００に入力して、周期変動の補正値を算出しているが、これはこの例に限定されない。すなわち、目標値と検出速度の差である速度偏差から周期変動の補正値を算出してもよい。この場合、補正のための加算器の符号が異なることに注意する。
【０１５３】
一方、各実施形態による周期成分抽出処理を２重のフィードバックループを持つ制御系のマイナーループに使用する場合、速度偏差を周期成分抽出部２００に入力する方式よりも、検出速度を周期成分抽出部２００に入力する方式の方がより好ましい。
【０１５４】
図１６を用いてこの理由について説明する。図１６（ａ）および図１６（ｂ）の２種類の構成を考える。図１６（ａ）および図１６（ｂ）において、回路４０１、回路４０３および回路４０４は、それぞれ入力に対して演算Ｃ、演算Ｐおよび演算Ｇを施す。また、比較器４００は、入力された信号ｒおよび信号ｙの差分ｅを出力する。加算器４０２および４０５は、回路４０１および回路４０４の出力を加算して信号ｕを出力する。なお、加算器４０５は、回路４０４の出力を反転して、回路４０１の出力に対して加算する。
【０１５５】
まず、図１６（ａ）において、加算器４０２から出力される信号ｕは、下記の式（５）のように表すことができる。
ｕ＝(ｒ−ｙ)×(Ｃ＋Ｇ)＝(ｒ−ｙ)×Ｃ＋(ｒ−ｙ)×Ｇ    …（５）
【０１５６】
一方、図１６（ｂ）において、信号ｕは、下記の式（６）のように表すことができる。
ｕ＝(ｒ−ｙ)×Ｃ−ｙ×Ｇ    …（６）
【０１５７】
ここで、フィードバック補償を行う補償器（図３の例では駆動軸速度補償器１１３）を回路４０１（演算Ｃ）、周期成分抽出部２００を回路４０４（演算Ｇ）と考える。この場合、図１６（ａ）の例では、演算Ｇの計算に信号ｙ（検出速度に相当）および信号ｒ（目標値に相当）が含まれる。一方、図１６（ｂ）の例では、演算Ｇの計算に信号ｙのみが含まれ、信号ｒが含まれない。
【０１５８】
２重ループの場合、外側にあるメジャーループによって目標速度（信号ｒ）が変化する。そのため、図１６（ａ）の構成では、目標速度の変動も周期変動として検出することになる。制御の目的は、モータなどの周期変動であるため、目標値の変動を含まない図１６（ｂ）の構成の方が好ましい。したがって、検出速度を周期成分抽出部２００に入力する構成の方がより高精度に制御を行うことができる。
【０１５９】
上述の各実施形態において、速度積算部２１２および２１６の積算値が所定の値に収束するタイミング、若しくは、所定の時間が経過した後、周期成分抽出部への値の入力を停止し、駆動軸エンコーダセンサ５９から出力されるエンコーダパルスにより、速度記憶部２１１、ならびに、速度積算部２１２および２１６に記憶されている値を選択して周期変動の補正を行ってもよい。これにより、エンコーダパルスによる割り込み毎のフィルタ演算やデータの選定や記憶、加算などの演算負荷を減らすことができる。
【０１６０】
上述では、複数の周波数成分を抽出する場合は、フィルタ演算部２１０を複数個並列に用いると説明したが、これはこの例に限定されない。例えば、抽出した周波数毎に周期変動の抑圧性能を変えたい場合がある。この場合、複数の周期成分抽出部を使用し、要求される抑圧性能を得るように乗算部２１３（第１の実施形態の場合）や、乗算部２１３Ａおよび２１３Ｂ（第２〜第４の実施形態の場合）のゲインを調整する。
【０１６１】
また例えば、周波数の離れた２つの周期成分による周期変動を抑えたい場合は、位相補正量も大きく異なるため、別々の周期成分抽出部を用意するとよい。
【０１６２】
（他の実施形態）
上述した各実施形態による周期成分抽出部２００（周期成分抽出部２００Ａ〜２００Ｄ）は、ロジック回路やＦＰＧＡ(Field-Programmable  Gate  Array)といったハードウェアを用いて実現可能である。これに限らず、周期成分抽出部をＣＰＵ上で動作するプログラムによりソフトウェとしても実現できる。
【０１６３】
図１７は、周期成分抽出部２００をソフトウェアにより実現する際の一例の構成を示す。なお、ここでは、周期成分抽出部２００が含まれる駆動制御部１００の制御対象のモータがＤＣブラシレスモータであるものとして説明する。また、図１７に示される構成は、例えば図１の画像形成装置１０を制御するための全体の構成において各実施形態に関わりの深い部分を抜粋して示している。
【０１６４】
バス６００に対して、ＣＰＵ６１０、ＲＯＭ(Read  Only  Memory)６１１、ＲＡＭ(Random  Access  Memory)６１２、周期カウンタ６１３、ＰＩＯ(Programmed  I/O)６１４およびＰＷＭ発生部６１５が互いに通信可能に接続される。ＣＰＵ６１０は、ＲＯＭ６１１に予め記憶されるプログラムに従い、ＲＡＭ６１２をワークメモリとして用いて、図１７に示される構成の全体を制御する。
【０１６５】
例えば、各実施形態による周期成分抽出部２００を実現するためのプログラムは、ＲＯＭ６１１に予め記憶されて提供される。これに限らず、当該プログラムは、インストール可能な形式または実行可能な形式のファイルでＣＤ(Compact  Disk)、ＦＤ（フレキシブルディスク）、ＤＶＤ(Digital  Versatile  Disk)、フラッシュメモリなどのコンピュータで読み取り可能な記録媒体に記録して提供するように構成してもよい。
【０１６６】
さらに、各実施形態による周期成分抽出部２００を実現するためのプログラムを、インターネットなどのネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また、当該プログラムをインターネットなどのネットワーク経由で提供または配布するように構成してもよい。
【０１６７】
各実施形態による周期成分抽出部２００を実現するためのプログラムは、上述した各部（第３の実施形態の場合、フィルタ演算部２１０、速度記憶部２１１、速度積算部２１６、乗算器２１３Ａおよび２１３Ｂ、加算器２１５、ならびに、位相調整部２１４）を含むモジュール構成となっており、実際のハードウェアとしては、ＣＰＵ６１０がＲＯＭ６１１から当該プログラムを読み出して実行することにより、これら各部がＲＡＭ６１２上にロードされ、フィルタ演算部２１０、速度記憶部２１１、速度積算部２１６、乗算器２１３Ａおよび２１３Ｂ、加算器２１５、ならびに、位相調整部２１４がＲＡＭ６１２上に生成されるようになっている。また、速度記憶部２１１の各記憶領域mem＿p0、mem＿p1、mem＿p2、…、mem＿p39や、速度積算部２１６の各記憶領域mem＿i0、mem＿i1、mem＿i2、…、mem＿i39は、ＲＡＭ６１２内の所定領域を利用して構成することができる。
【０１６８】
図１７の構成において、周期カウンタ６１３は、モータ６１７の回転を減速する減速機構の出力側に設けられたロータリエンコーダ６１８から供給されるエンコーダパルスのパルス間隔を基本クロック（システムクロック）で計測し、エンコーダパルスの周期を求め、当該周期の逆数を計算して、減速機構の出力側の回転速度を算出する。算出された回転速度を示す情報は、ＣＰＵ６１０に供給される。
【０１６９】
ＰＩＯ６１４は、ＣＰＵ６１０とモータドライバ６１６との間のインターフェイスである。ＣＰＵ６１０は、ＰＩＯ６１４を介して、モータドライバ６１６に対して、モータドライバ６１６のオン／オフや、モータ６１７に対するブレーキのオン／オフ、モータ６１７に対する回転方向の指定などを指示する。ＰＷＭ発生部６１５は、ＣＰＵ６１０の命令に従い、モータ６１７を駆動する駆動電圧相当のデューティのＰＷＭ信号を発生させる。ＰＷＭ発生部６１５で発生されたＰＷＭ信号は、モータドライバ６１６に供給される。
【０１７０】
モータ６１７は、上述したモータ５２およびモータ２０６に対応し、減速機構を介して中間転写ベルト１４を駆動する。モータドライバ６１６は、モータ６１７に取り付けられたホール素子から出力されるホール信号ＨＵ、ＨＶおよびＨＷのロジックに応じて３相電流Ｕ、ＶおよびＷを流し、モータ６１７を駆動する。モータ６１７の回転は、図示されない減速機構に伝達される。減速機構の出力側に取り付けられたロータリエンコーダ６１８は、減速機構の動きを検出し、エンコーダパルスを出力する。
【０１７１】
このような構成において、ＣＰＵ６１０は、予め設定された目標速度と、ロータリエンコーダ６１８の出力に基づき周期カウンタ６１３で算出された検出速度とを比較して、モータ６１７の回転速度を補償する補償器演算を行い、その結果に応じたＰＷＭ信号のデューティをＰＷＭ発生部６１５に設定する。
【０１７２】
さらに、各実施形態では、上述の処理に加えて、エンコーダパルスを周期カウンタ６１３で計測するのと同時に、エンコーダパルスのエッジでＣＰＵ６１０に対する割り込みを発生させる。ＣＰＵ６１０は、上述した周期成分抽出部２００を実現するためのプログラムに従い、当該割り込みに応じて、上述した各実施形態による周期成分抽出部２００の動作および演算を行う。
【符号の説明】
【０１７３】
１０  画像形成装置
１４  中間転写ベルト
２３  中間転写スケール検出センサ
５０  モータおよび減速機構
５２，２０６，６１７  モータ
５９，５９ａ，５９ｂ  駆動軸エンコーダセンサ
１１０，１１２，２０２  比較器
１１１  ベルト速度補償器
１１３  駆動軸速度補償器
１１４，２０４，２１５  加算器
１１５，６１６  モータドライバ
１１６  駆動軸速度演算部
１１７  ベルト速度演算部
２００，２００Ａ，２００Ｂ，２００Ｃ，２００Ｃ’，２００Ｄ  周期成分抽出部
２０３  補償器
２０５  ドライバ
２０７  減速機構部
２０８  速度演算部
２１０，２１０’  フィルタ演算部
２１１  速度記憶部
２１２，２１６  速度積算部
２１３，２１３Ａ，２１３Ｂ  乗算部
２１４  位相調整部
２１７  スイッチ部
２１８  積算部
２５０，２５０’  分配器
２５１，２５１’  判定器
２５２Ａ，２５２Ｂ  選定器・位相調整部
６１０  ＣＰＵ
６１１  ＲＯＭ
６１２  ＲＡＭ
６１３  周期カウンタ
６１４  ＰＩＯ
６１５  ＰＷＭ発生部
６１８  ロータリエンコーダ
【先行技術文献】
【特許文献】
【０１７４】
【特許文献１】特公昭６２−６２４１号公報
【図１】
2014030324.tif 000007
【図２】
2014030324.tif 000008
【図３】
2014030324.tif 000009
【図４−１】
2014030324.tif 000010
【図４−２】
2014030324.tif 000011
【図５】
2014030324.tif 000012
【図６】
2014030324.tif 000013
【図７】
2014030324.tif 000014
【図８】
2014030324.tif 000015
【図９】
2014030324.tif 000016
【図１０】
2014030324.tif 000017
【図１１】
2014030324.tif 000018
【図１２】
2014030324.tif 000019
【図１３】
2014030324.tif 000020
【図１４】
2014030324.tif 000021
【図１５】
2014030324.tif 000022
【図１６】
2014030324.tif 000023
【図１７】
2014030324.tif 000024