(57)【要約】【課題】モータ角と推定角との誤差を収束させるためのＰＩ制御における不具合の発生を抑制することができるようにすること。【解決手段】モータを駆動する駆動装置であって、前記モータのモータ角と、前記モータの推定角との誤差である第１の誤差を検出する第１の誤差検出部と、前記モータ角と、前記推定角に第１の所定の角度を加えた角度との誤差である第２の誤差を検出する第２の誤差検出部と、前記第１の誤差検出部によって検出された前記第１の誤差と、前記第２の誤差検出部によって検出された前記第２の誤差との差が所定量となるように、前記第１の誤差および前記第２の誤差の検出ゲインを調整する検出ゲイン調整部とを備える。【選択図】図３
2018133971.tif 000002
【特許請求の範囲】
【請求項１】
モータを駆動する駆動装置であって、
前記モータのモータ角と、前記モータの推定角との誤差である第１の誤差を検出する第１の誤差検出部と、
前記モータ角と、前記推定角に第１の所定の角度を加えた角度との誤差である第２の誤差を検出する第２の誤差検出部と、
前記第１の誤差検出部によって検出された前記第１の誤差と、前記第２の誤差検出部によって検出された前記第２の誤差との差が所定量となるように、前記第１の誤差および前記第２の誤差の検出ゲインを調整する検出ゲイン調整部と
を備える駆動装置。
【請求項２】
前記第１の誤差検出部は、
前記モータ角と、前記推定角に第２の所定の角度を加えた角度との誤差である前記第１の誤差を検出する
請求項１に記載の駆動装置。
【請求項３】
前記第１の所定の角度および前記第２の所定の角度は、互いに絶対値が同一であり、且つ、正負が逆である
請求項２に記載の駆動装置。
【請求項４】
前記検出ゲイン調整部は、
前記第１の誤差と前記第２の誤差との差が所定量となるように、フィードバック制御により前記第１の誤差および前記第２の誤差の検出ゲインを調整する構成を有している
請求項１から３のいずれか一項に記載の駆動装置。
【請求項５】
前記モータと、
請求項１から４のいずれか一項に記載の駆動装置と
を備える駆動システム。
【請求項６】
請求項５に記載の駆動システム
を備える画像形成装置。
【請求項７】
請求項５に記載の駆動システム
を備える搬送装置。
【請求項８】
モータを駆動する駆動方法であって、
前記モータのモータ角と、前記モータの推定角との誤差である第１の誤差を検出する第１の誤差検出工程と、
前記モータ角と、前記推定角に第１の所定の角度を加えた角度との誤差である第２の誤差を検出する第２の誤差検出工程と、
前記第１の誤差検出工程において検出された前記第１の誤差と、前記第２の誤差検出工程において検出された前記第２の誤差との差が所定量となるように、前記第１の誤差および前記第２の誤差の検出ゲインを調整する検出ゲイン調整工程と
を含む駆動方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、駆動装置、駆動システム、画像形成装置、搬送装置、および駆動方法に関する。
【背景技術】
【０００２】
従来、モータのセンサレス制御方法として、クローズドループ制御が知られている。クローズドループ制御は、モータの回転角や回転速度等をフィードバックし、モータの回転角や回転速度等が所望の制御値に一致するように、モータを制御する制御方法である。クローズドループ制御によれば、モータを高精度に制御することができる。
【０００３】
このようなクローズドループ制御においては、モータ角（モータの回転子軸の角度）と推定角（推定されたモータ角）との誤差Δθを、モータの駆動電流、駆動電圧、モータ特性等を用いて算出し、その誤差Δθを、ＰＬＬ（Phase Locked Loop）制御を用いたＰＩ（Proportional Integral）制御を行うことによってゼロに収束させることで、推定角をモータ角に一致させる技術が利用されている。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
一般的に、ＰＬＬ制御によって誤差Δθを収束させる際には、その入力となる誤差Δθの検出ゲインが一定であることが前提となっている。しかしながら、発明者らは、モータの動作条件（例えば、負荷電流、負荷トルク、モータ回転速度等）が変化した際に、検出ゲインが一定の値から変化する場合があることを見出した。このように、検出ゲインが一定の値から変化してしまうと、ＰＩ制御を行う際に、位相余裕が十分に確保できずに発振してしまう等の不具合が生じてしまう虞がある。
【０００５】
本発明は、上述した従来技術の課題を解決するため、モータ角と推定角との誤差を収束させるためのＰＩ制御における不具合の発生を抑制することができるようにすることを目的とする。
【課題を解決するための手段】
【０００６】
上述した課題を解決するために、本発明の駆動装置は、モータを駆動する駆動装置であって、前記モータのモータ角と、前記モータの推定角との誤差である第１の誤差を検出する第１の誤差検出部と、前記モータ角と、前記推定角に第１の所定の角度を加えた角度との誤差である第２の誤差を検出する第２の誤差検出部と、前記第１の誤差検出部によって検出された前記第１の誤差と、前記第２の誤差検出部によって検出された前記第２の誤差との差が所定量となるように、前記第１の誤差および前記第２の誤差の検出ゲインを調整する検出ゲイン調整部とを備えることを特徴とする。
【発明の効果】
【０００７】
本発明によれば、モータ角と推定角との誤差を収束させるためのＰＩ制御における不具合の発生を抑制することができる。
【図面の簡単な説明】
【０００８】
【図１】本発明の第１実施形態に係る駆動システムの構成を示す図である。
【図２】本発明の第１実施形態に係る駆動システムによって利用される座標系を模式的に示す図である。
【図３】本発明の第１実施形態に係る推定部の具体的な構成例を示す図である。
【図４】本発明の第１実施形態に係る軸誤差演算部から出力される誤差検出値の一例を示す図である。
【図５】本発明の第１実施形態に係るＡＧＣ部の具体的な構成例を示す図である。
【図６】本発明の第２実施形態に係る推定部の具体的な構成例を示す図である。
【図７】本発明の第２実施形態に係る軸誤差演算部から出力される誤差検出値の一例を示す図である。
【図８】本発明の第２実施形態に係るＡＧＣ部の具体的な構成例を示す図である。
【図９】本発明の第１実施例に係る画像形成装置の概略構成を示す図である。
【図１０】本発明の第２実施例に係る搬送装置の概略構成を示す図である。
【発明を実施するための形態】
【０００９】
〔第１実施形態〕
以下、図面を参照して、本発明の第１実施形態について説明する。
【００１０】
（駆動システム１０の構成）
図１は、本発明の第１実施形態に係る駆動システム１０の構成を示す図である。図１に示す駆動システム１０は、モータ１１、インバータ１２、電流検出器１３、および駆動装置１００を備えている。
【００１１】
モータ１１は、２相のステッピングモータである。モータ１１の各相を、Ａ相およびＢ相と称する。モータ１１は、Ａ相およびＢ相のコイル（固定子）と、回転子と、を備える。回転子は、Ｓ極およびＮ極が交互に並んだ永久磁石により構成され、ｐ個の極ペア（Ｓ極およびＮ極のペア）を有する。なお、本実施形態では、２相のステッピングモータを用いているが、３相ブラシレスモータやそれ以外のモータでも同様の方式での制御が可能である。
【００１２】
以下では、回転子の１回転を１周期とする角度を機械角と称し、回転子の１回転をｐ周期とする角度を電気角と称する。電気角は、機械角のｐ倍に相当する。以降、断りのない限り、回転子の角度（位置）および速度（角速度）を電気角で表す。
【００１３】
モータ１１は、インバータ１２から供給された電流によって駆動される。具体的には、モータ１１は、インバータ１２からＡ相およびＢ相のコイルにそれぞれ電流ＩＡ，ＩＢを供給される。モータ１１の回転子は、電流ＩＡ，ＩＢに応じてＡ相およびＢ相のコイルが発生させた磁界に従って回転する。
【００１４】
インバータ１２は、駆動装置１００が出力した電圧指令値Ｖａ＊，Ｖｂ＊に応じた電流ＩＡ，ＩＢをモータ１１に供給することにより、モータ１１を駆動する。以下、＊を付された値は、指令値（制御値）を示すものとする。電圧指令値Ｖａ＊，Ｖｂ＊は、Ａ相およびＢ相のコイルにそれぞれ印加する電圧の指令値である。なお、図１の例では、インバータ１２が駆動装置１００外に設けられているが、インバータ１２は駆動装置１００内に設けられているものであってもよい。
【００１５】
電流検出器１３は、モータ１１の電流値Ｉａ，Ｉｂを検出する。例えば、電流検出器１３は、シャント抵抗、Ａ／Ｄコンバータ等によって構成される。
【００１６】
駆動装置１００は、モータ１１をセンサレス制御する装置である。図１に示すように、駆動装置１００は、位置制御部１０１、速度制御部１０２、指令値切替部１０３、電流制御部１０４、第１座標変換部１０５、第２座標変換部１０６、推定部１０７、および選択部１０８を備えている。これらの各機能部は、メモリに格納されたプログラムをプロセッサが実行することにより実現される。
【００１７】
位置制御部１０１は、角度指令値θ＊と、角度推定値θｅｓｔと、に基づいて、角度誤差θｅｒｒを算出する。角度指令値θ＊は、回転子の角度（位置）の指令値であり、外部（例えば、上位のアプリケーション）から入力される。角度推定値θｅｓｔは、回転子の角度の推定値であり、推定部１０７から入力される。角度誤差θｅｒｒは、角度指令値θ＊と、角度推定値θｅｓｔとの差である。
【００１８】
位置制御部１０１は、Ｐ（Proportional）制御やＰＩ制御によって、角度誤差θｅｒｒが０に追従するように、速度指令値ω＊を出力する。速度指令値ω＊は、回転子の速度（角速度）の指令値である。位置制御部１０１が出力した速度指令値ω＊は、速度制御部１０２に入力される。
【００１９】
速度制御部１０２は、速度指令値ω＊と、速度推定値ωｅｓｔと、に基づいて、速度誤差ωｅｒｒを計算する。速度推定値ωｅｓｔは、回転子の速度の推定値であり、推定部１０７から入力される。速度誤差ωｅｒｒは、速度指令値ω＊と、速度推定値ωｅｓｔとの差である。
【００２０】
速度制御部１０２は、Ｐ制御やＰＩ制御によって、速度誤差ωｅｒｒが０に追従するように、電流指令値Ｉｑｃｖ＊を出力する。電流指令値Ｉｑｃｖ＊は、クローズドループ制御の場合にモータ１１に供給するｑｃ軸電流の指令値である。速度制御部１０２が出力した電流指令値Ｉｑｃｖ＊は、指令値切替部１０３に入力される。
【００２１】
指令値切替部１０３は、選択信号ｓｅｌに応じて、電流指令値Ｉｄｃ＊，Ｉｑｃ＊を選択的に切り替えて出力する。選択信号ｓｅｌは、オープンループ制御またはクローズドループ制御のいずれかを指定する信号である。本実施形態において、選択信号ｓｅｌは、外部から入力される。
【００２２】
電流指令値Ｉｄｃ＊は、モータ１１に供給する電流のｄｃ軸成分であるｄｃ軸電流の指令値である。電流指令値Ｉｑｃ＊は、モータ１１に供給する電流のｑｃ軸成分であるｑｃ軸電流の指令値である。指令値切替部１０３が出力した電流指令値Ｉｄｃ＊，Ｉｑｃ＊は、電流制御部１０４に入力される。
【００２３】
指令値切替部１０３は、選択信号ｓｅｌによってクローズドループ制御が指定されている間、電流指令値Ｉｄｃ＊として０を出力する（Ｉｄｃ＊＝０）。また、指令値切替部１０３は、選択信号ｓｅｌによってクローズドループ制御が指定されている間、電流指令値Ｉｑｃ＊として電流指令値Ｉｑｃｖ＊を出力する（Ｉｑｃ＊＝Ｉｑｃｖ＊）。
【００２４】
指令値切替部１０３は、選択信号ｓｅｌによってオープンループ制御が指定されている間、切替期間を除き、電流指令値Ｉｄｃ＊として電流指令値ＯｐｅｎＩｄｃ＊を出力する（Ｉｄｃ＊＝ＯｐｅｎＩｄｃ＊）。また、指令値切替部１０３は、選択信号ｓｅｌによりオープンループ制御を指定されている間、切替期間を除き、電流指令値Ｉｑｃ＊として０を出力する（Ｉｑｃ＊＝０）。電流指令値ＯｐｅｎＩｄｃ＊は、オープンループ制御の場合にモータ１１に供給するｄｃ軸電流の指令値として予め設定される。
【００２５】
切替期間とは、選択信号ｓｅｌが指定する制御方法が切り替えられてから所定の期間のことである。この切替期間の間に、指令値切替部１０３は、電流指令値Ｉｄｃ＊，Ｉｑｃ＊を、切替前の制御方法（クローズドループ制御）の電流指令値Ｉｄｃ＊，Ｉｑｃ＊から、切替後の制御方法（オープンループ制御）の電流指令値Ｉｄｃ＊，Ｉｑｃ＊の目標値まで段階的に遷移させる。
【００２６】
具体的には、制御方法がクローズドループ制御からオープンループ制御に切り替えられた場合、指令値切替部１０３は、切替期間の間に、電流指令値Ｉｄｃ＊を０からＯｐｅｎＩｄｃ＊まで段階的に遷移させる。すなわち、ＯｐｅｎＩｄｃ＊は、制御方法の切替時における、電流指令値Ｉｄｃ＊の目標値に相当する。また、指令値切替部１０３は、切替期間の間に、電流指令値Ｉｑｃ＊をＩｑｃｖ＊から０まで段階的に遷移させる。すなわち、０は、制御方法の切替時における、電流指令値Ｉｑｃ＊の目標値に相当する。なお、電流指令値Ｉｑｃ＊の目標値は、ＯｐｅｎＩｄｃ＊に比べて十分小さい微小値であってもよい。この際、指令値切替部１０３は、切替中にモータ１１に供給される電流の振幅と、切替後にモータ１１に供給される電流の振幅と、が等しくなるように、電流指令値Ｉｄｃ＊，Ｉｑｃ＊を出力する。
【００２７】
モータ１１に供給される電流の振幅は、以下の式（１）で表されるから、切替後にモータ１１に供給される電流の振幅は、ＯｐｅｎＩｄｃ＊となる。したがって、指令値切替部１０３は、切替中にモータ１１に供給される電流の振幅が、ＯｐｅｎＩｄｃ＊となるように、電流指令値Ｉｄｃ＊，Ｉｑｃ＊を出力する。
【００２８】
【数１】
2018133971.tif 000003
【００２９】
このように、指令値切替部１０３が電流指令値Ｉｄｃ＊，Ｉｑｃ＊を段階的に遷移させることにより、切替前の制御方法で利用される電流指令値Ｉｄｃ＊，Ｉｑｃ＊を、切替後の制御方法で利用される電流指令値Ｉｄｃ＊，Ｉｑｃ＊に、切り替えることができる。
【００３０】
電流制御部１０４は、電流指令値Ｉｄｃ＊および電流値Ｉｄｃに基づいて、電流誤差Ｉｄｃｅｒｒを計算する。電流誤差Ｉｄｃｅｒｒは、電流指令値Ｉｄｃ＊と、電流値Ｉｄｃと、の差である。電流値Ｉｄｃは、第２座標変換部１０６から入力される。
【００３１】
また、電流制御部１０４は、電流指令値Ｉｑｃ＊および電流値Ｉｑｃに基づいて、電流誤差Ｉｑｃｅｒｒを計算する。電流誤差Ｉｑｃｅｒｒは、電流指令値Ｉｑｃ＊と、電流値Ｉｑｃと、の差である。電流値Ｉｑｃは、第２座標変換部１０６から入力される。
【００３２】
電流制御部１０４は、Ｐ制御やＰＩ制御によって、電流誤差Ｉｄｃｅｒｒ，Ｉｑｃｅｒｒが０に追従するように、電圧指令値Ｖｄｃ＊，Ｖｑｃ＊を出力する。電圧指令値Ｖｄｃ＊は、モータ１１に印加する電圧のｄｃ軸成分であるｄｃ軸電圧の指令値である。電圧指令値Ｖｑｃ＊は、モータ１１に印加する電圧のｑｃ軸成分であるｑｃ軸電圧の指令値である。電流制御部１０４が出力した電圧指令値Ｖｄｃ＊，Ｖｑｃ＊は、第１座標変換部１０５に入力される。また、電流制御部１０４が出力した電圧指令値Ｖｄｃ＊は、推定部１０７に入力される。
【００３３】
第１座標変換部１０５は、電圧指令値Ｖｄｃ＊，Ｖｑｃ＊を、ｄｃｑｃ座標系からａｂ座標系に座標変換することにより、電圧指令値Ｖａ＊，Ｖｂ＊を生成し、出力する。第１座標変換部１０５が出力した電圧指令値Ｖａ＊，Ｖｂ＊は、インバータ１２に入力される。電圧指令値Ｖａ＊，Ｖｂ＊は、以下の式（２）で表される。
【００３４】
【数２】
2018133971.tif 000004
【００３５】
式（２）において、右辺第１項は、座標変換のための変換行列である。θは、選択部１０８から入力される角度であり、オープンループ制御の場合、角度指令値θ＊、クローズドループ制御の場合、角度推定値θｅｓｔである。
【００３６】
第２座標変換部１０６は、電流値Ｉａ，Ｉｂを、ａｂ座標系からｄｃｑｃ座標系に座標変換することにより、電流値Ｉｄｃ，Ｉｑｃを生成し、出力する。第２座標変換部１０６が出力した電流値Ｉｄｃ，Ｉｑｃは、電流制御部１０４および推定部１０７に入力される。電流値Ｉｄｃ，Ｉｑｃは、以下の式で表される。
【００３７】
【数３】
2018133971.tif 000005
【００３８】
式（３）において、右辺第１項は、座標変換のための変換行列である。θは、選択部１０８から入力される角度であり、オープンループ制御の場合、角度指令値θ＊、クローズドループ制御の場合、角度推定値θｅｓｔである。
【００３９】
推定部１０７は、電圧指令値Ｖｄｃ＊および電流値Ｉｄｃ，Ｉｑｃに基づいて、回転子の角度推定値θｅｓｔおよび速度推定値ωｅｓｔを算出する。そして、推定部１０７は、算出された速度推定値ωｅｓｔを、速度制御部１０２に出力する。また、推定部１０７は、算出された角度推定値θｅｓｔを、位置制御部１０１および選択部１０８に出力する。推定部１０７は、角度推定値θｅｓｔおよび速度推定値ωｅｓｔの算出方法として、従来知られている任意の方法を利用できる。
【００４０】
以下では、推定部１０７が誘起電圧を利用して角度および速度を推定する場合を例に説明する。モータ１１には以下の電圧方程式が成り立つ。
【００４１】
【数４】
2018133971.tif 000006
【００４２】
式（４）〜式（６）において、Ｒはコイルの巻線抵抗、ｐは微分演算子、Ｌｄはｄ軸インダクタンス、Ｌｑはｑ軸インダクタンス、ｅｄｃはｄｃ軸誘起電圧、ｅｑｃはｑｃ軸誘起電圧である。また、Ｉｄはｄ軸電流、Ｉｑはｑ軸電流、ωｒｅは回転子の実際の速度である実速度、θｒｅは回転子の実際の角度である実角度、Ψａは電気子鎖磁束数である。
【００４３】
式（４）より、以下の式が成り立つ。
【００４４】
【数５】
2018133971.tif 000007
【００４５】
ωｅｓｔ≒ωｒｅとすると、式（５）および式（７）より、以下の式が成り立つ。
【００４６】
【数６】
2018133971.tif 000008
【００４７】
また、回転子が等速回転中とすると、Ｉｄは０、Ｉｑは一定となるため、式（６）は以下のように書き換えられる。
【００４８】
【数７】
2018133971.tif 000009
【００４９】
Ｉｄが０、Ｉｑが一定の場合、Ｉｄｃも一定となる。したがって、式（８）および式（９）より、以下の式が成り立つ。
【００５０】
【数８】
2018133971.tif 000010
【００５１】
クローズドループ制御では、実角度θｒｅを角度指令値θ＊と一致させるために、角度推定値θｅｓｔが実角度θｒｅと一致するように制御される。そこで、左辺を０とすると、以下の式が成り立つ。
【００５２】
【数９】
2018133971.tif 000011
【００５３】
推定部１０７は、式（１１）を満たす実速度ωｒｅを、速度推定値ωｅｓｔとして出力する。また、推定部１０７は、速度推定値ωｅｓｔを積分することにより、角度推定値θｅｓｔを計算できる。
【００５４】
選択部１０８は、選択信号ｓｅｌに応じて、角度指令値θ＊または角度推定値θｅｓｔのいずれか一方を選択して出力する。具体的には、選択部１０８は、選択信号ｓｅｌによってオープンループ制御が指定された場合、角度指令値θ＊を出力する。一方、選択部１０８は、選択信号ｓｅｌによってクローズドループ制御が指定された場合、角度推定値θｅｓｔを出力する。なお、本実施形態において、選択信号ｓｅｌは、外部から入力される。選択部１０８から出力された角度指令値θ＊または角度推定値θｅｓｔは、第１座標変換部１０５および第２座標変換部１０６に入力される。
【００５５】
図２は、本発明の第１実施形態に係る駆動システム１０によって利用される座標系を模式的に示す図である。図２において、実線は、ａｂ座標系を示している。また、破線は、ｄｑ座標系を示している。また、点線は、ｄｃｑｃ座標系を示している。各座標系は、原点を共有する。
【００５６】
ａｂ座標系は、互いに直交するａ軸およびｂ軸からなる固定座標系である。ａ軸はモータ１１のＡ相に対応し、ｂ軸はモータ１１のＢ相に対応する。すなわち、Ａ相のコイルに供給される電流ＩＡの電流値Ｉａは、モータ１１に供給される電流のａ軸成分であり、Ｂ相のコイルに供給される電流Ｉｂの電流値Ｉｂは、モータ１１に供給される電流のｂ軸成分である。
【００５７】
ｄｑ座標系は、互いに直交するｄ軸およびｑ軸からなる回転座標系である。ａ軸に対するｄ軸の角度は、角度指令値θ＊に相当する。すなわち、ｄｑ座標系は、回転子の理想的な位置を基準とする座標系である。
【００５８】
ｄｃｑｃ座標系は、互いに直交するｄｃ軸およびｑｃ軸からなる回転座標系である。ａ軸に対するｄｃ軸の角度は、回転子の角度推定値θｅｓｔに相当し、ｄｃ軸に対するｄ軸の角度は角度誤差θｅｒｒに相当する。すなわち、ｄｃｑｃ座標系は、駆動装置１００が推定した回転子の位置を基準とする座標系である。クローズドループ制御では、角度誤差θｅｒｒが０に追従するように、モータ１１に電流が供給される。上述のｑｃ軸電流とは、モータ１１に供給される電流のｑｃ軸成分のことである。
【００５９】
（推定部１０７の具体的な構成例）
図３は、本発明の第１実施形態に係る推定部１０７の具体的な構成例を示す図である。図３に示すように、推定部１０７は、軸誤差演算部３０１、軸誤差演算部３０２、回転演算部３０３、回転演算部３０４、ＡＧＣ（Automatic Gain Control）部３０５、およびＰＬＬ部３０６を備えている。
【００６０】
軸誤差演算部３０１は、本発明の「第１の誤差検出部」の一例である。軸誤差演算部３０１は、モータ１１のモータ角と、モータ１１の推定角との誤差である第１の誤差を検出する。具体的には、軸誤差演算部３０１は、モータａｂ軸に対して推定角ｔｈｅ（上記角度推定値θｅｓｔに相当）で回転演算することによって得られたｖｄｑｃｔｌ（ｔｈｅ）およびｉｄｑ（ｔｈｅ）が入力される。ｖｄｑｃｔｌ（ｔｈｅ）は、モータａｂ軸に対して推定角ｔｈｅで回転演算することによって得られたｖｄｃｔｌ（上記電圧指令値Ｖｄｃ＊に相当）およびｖｑｃｔｌ（上記電圧指令値Ｖｑｃ＊に相当）をまとめて称するものである。ｉｄｑ（ｔｈｅ）は、モータａｂ軸に対して推定角ｔｈｅで回転演算することによって得られたｉｄ（上記電流値Ｉｄｃに相当）およびｉｑ（上記電流値Ｉｑｃに相当）をまとめて表すものである。
【００６１】
そして、軸誤差演算部３０１は、ｖｄｑｃｔｌ（ｔｈｅ）、ｉｄｑ（ｔｈｅ）、およびモータパラメータを用いて、所定の演算を行うことにより、モータ軸と推定角と間の軸誤差検出値を算出して、当該軸誤差検出値を第１の誤差検出値（本発明の「第１の誤差」の一例）として出力する。ここで、軸誤差検出値の算出方法には、従来知られている任意の方法（例えば、特許第４６２５１１６に開示されているように、ｄｃ軸電圧指令値、ｑｃ軸電圧指令値、ｄｃ軸電流値、ｑｃ軸電流値、およびモータ定数の設定値から、所定の式を用いて算出する方法）を用いることができる。
【００６２】
回転演算部３０３は、モータａｂ軸に対して推定角ｔｈｅ（上記角度推定値θｅｓｔに相当）で回転演算することによって得られたｉｄｑ（ｔｈｅ）が入力される。そして、回転演算部３０３は、入力されるｉｄｑ（ｔｈｅ）に対して、角度δの回転演算を行い、その演算結果をｉｄｑ（ｔｈｅ＋δ）として出力する。この演算結果は、モータａｂ軸に対して推定角ｔｈｅの回転演算を行うことによって得られたｉｄｑ（ｔｈｅ）に対して、さらに角度δの回転演算を行うことによって得られたものであるため、ｉｄｑ（ｔｈｅ＋δ）と称する。なお、回転演算部３０３による角度θの回転演算は、上記式（２）における右辺第１項の変換行列を用いて行われる。
【００６３】
回転演算部３０４は、モータａｂ軸に対して推定角ｔｈｅ（上記角度推定値θｅｓｔに相当）で回転演算することによって得られたｖｄｑｃｔｌ（ｔｈｅ）が入力される。そして、回転演算部３０４は、入力されるｖｄｑｃｔｌ（ｔｈｅ）に対して、角度δの回転演算を行い、その演算結果をｖｄｑ（ｔｈｅ＋δ）として出力する。この演算結果は、モータａｂ軸に対して推定角ｔｈｅの回転演算を行うことによって得られたｖｄｑｃｔｌ（ｔｈｅ）に対して、さらに角度δの回転演算を行うことによって得られたものであるため、ｖｄｑ（ｔｈｅ＋δ）と称する。なお、回転演算部３０４による角度θの回転演算は、上記式（２）における右辺第１項の変換行列を用いて行われる。
【００６４】
軸誤差演算部３０２は、本発明の「第２の誤差検出部」の一例である。軸誤差演算部３０２は、モータ１１のモータ角と、モータ１１の推定角に角度δ（本発明の「第１の所定の角度」の一例）を加えた角度との誤差である第２の誤差を検出する。具体的には、軸誤差演算部３０２は、回転演算部３０３から出力されたｉｄｑ（ｔｈｅ＋δ）と、回転演算部３０４から出力されたｖｄｑ（ｔｈｅ＋δ）とが入力される。そして、軸誤差演算部３０２は、ｖｄｑ（ｔｈｅ＋δ）、ｉｄｑ（ｔｈｅ＋δ）、およびモータパラメータを用いて、所定の演算を行うことにより、モータ軸と推定角と間の軸誤差検出値を算出して、当該軸誤差検出値を第２の誤差検出値（本発明の「第２の誤差」の一例）として出力する。ここでも、軸誤差検出値の算出方法には、従来知られている任意の方法を用いることができる。
【００６５】
ＡＧＣ部３０５は、本発明の「検出ゲイン調整部」の一例である。ＡＧＣ部３０５は、軸誤差演算部３０１から出力された第１の誤差検出値と、軸誤差演算部３０２から出力された第２の誤差検出値との差が所定量となるように、第１の誤差検出値および第２の誤差検出値の検出ゲインを調整する。具体的には、ＡＧＣ部３０５は、第１の誤差検出値と第２の誤差検出値との差が所定量となるように、第１の誤差検出値および第２の誤差検出値のフィードバック制御を行い、上記差が所定量となったときの第１の誤差検出値を出力する。なお、ＡＧＣ部３０５の具体的な構成例については、図５を用いて後述する。
【００６６】
ＰＬＬ部３０６は、ＡＧＣ部３０５から出力された誤差検出値（第１の誤差検出値）を用いて、ＰＩ制御によるフィードバック制御を行うことにより、当該誤差検出値をゼロに収束させる。すなわち、ＰＬＬ部３０６は、誤差検出値の検出ゲインが一定の状態でＰＩ制御を行うことができるため、誤差検出ゲインが一定でない場合に生じ得る各種不具合（例えば、位相余裕が十分に確保できずに発振してしまう等）を生じさせるとなく、ＰＩ制御を行うことができる。
【００６７】
（誤差検出値の一例）
図４は、本発明の第１実施形態に係る軸誤差演算部３０１，２０２から出力される誤差検出値の一例を示す図である。図４に示すグラフの横軸は、モータ角と推定角（ｔｈｅ）との誤差［ｄｅｇ]を表している。図４に示すように、軸誤差演算部３０１から出力される第１の誤差検出値（図４の符号４０１）、および、軸誤差演算部３０２から出力される第２の誤差検出値（図４の符号４０２）は、正弦波状に出力されるものとなる。
【００６８】
軸誤差演算部３０１から出力された第１の誤差検出値は、ＰＬＬ部３０６によるフィードバック処理により、ゼロに収束するように制御される。しかしながら、誤差検出ゲインａが一定でないと、フィードバック制御が、期待する特性（例えば、推定器の制御精度、速度、フィードバック制御ループの位相余裕等が設計目標の特性）にならなかったり、不安定になって発振したりする虞がある。それにもかかわらず、誤差検出ゲインａは、モータの動作条件（例えば、負荷電流、負荷トルク、モータ回転速度等）の変化に応じて変動する場合がある。このため、推定器のフィードバック特性の安定化のためには、誤差検出ゲインａが一定となるようにしておく必要がある。
【００６９】
ここで、ＰＬＬ部３０６により、軸誤差演算部３０１から出力された第１の誤差検出値がゼロとなるように制御した場合、推定角ｔｈｅはモータ軸の角度と一致する。このため、軸誤差演算部３０２の出力は、角度δの誤差があるときの出力値（ａ＊ｓｉｎ（δ））となる。したがって、誤差検出ゲインａが変動すると、軸誤差演算部３０２の出力レベルも変動することになる。
【００７０】
そこで、本実施形態では、軸誤差演算部３０２の出力レベルを一定に保つことで、誤差検出ゲインａ（第１の誤差検出値と第２の誤差検出値の差）が、角度δに応じた一定の値（予め設計されている値）を保つように、ＡＧＣ部３０５を構成している。なお、角度δの値は、ｓ＊ｓｉｎ（θ）のゼロクロス付近の直線に近似できる区間であり、かつ、モータ特性が変化して軸誤差演算部３０１，３０２の検出ゲインが変動したときでも十分なレベルが確保できるように、予め決定しておく。このとき、検出ゲインが小さくなった場合にａ＊ｓｉｎ（δ）の値が小さくなりノイズに埋もれてしまわないようにする。
【００７１】
（推定部１０７の具体的な構成例）
図５は、本発明の第１実施形態に係るＡＧＣ部３０５の具体的な構成例を示す図である。図５に示すように、ＡＧＣ部３０５は、乗算器５０１、乗算器５０２、減算器５０３、アンプ５０４、および積分器５０５を備えている。
【００７２】
乗算器５０１は、軸誤差演算部３０１から出力された第１の誤差検出値に対して、積分器５０５の出力を乗算して出力する。乗算器５０２は、軸誤差演算部３０２から出力された第２の誤差検出値に対して、積分器５０５の出力を乗算して出力する。減算器５０３は、乗算器５０２の出力から乗算器５０２の出力目標である、入力信号ｇ_ｔｇｔ１に設定されている値を減算する。アンプ５０４は、減算器５０３の出力を一定倍して出力する。積分器５０５は、アンプ５０４の出力を積分して出力する。
【００７３】
ここで、図４で説明したように、減算器５０３の入力信号ｇ_ｔｇｔ１には、軸誤差演算部３０１，３０２の誤差検出ゲインの目標値をａ０としたときに、ａ０＊ｓｉｎ（δ）となるように設定する。
【００７４】
乗算器５０２は、軸誤差演算部３０２からの出力を、積分器５０５が出力するゲイン（α）倍にして出力する。推定角が収束しているとき、モータ角と推定角との誤差はゼロであるため、軸誤差演算部３０２の出力はａ＊ｓｉｎ（δ）となる。したがって、乗算器５０２からはａ＊α＊ｓｉｎ（δ）が出力され、誤差検出ゲインはａ＊αとなる。
【００７５】
誤差検出ゲインを目標値ａ０とするためには、減算器５０３に入力する入力信号ｇ_ｔｇｔ１へａ０＊ｓｉｎ（δ）を設定する。これにより、乗算器５０２の出力がａ０＊ｓｉｎ（δ）となるようにフィードバック制御され 、軸誤差演算部３０１の出力が適切な誤差検出ゲインとなって、ＰＬＬ部３０６に供給されるようになる。したがって、推定部１０７全体としてのフィードバックループのオープンループゲインを狙いの特性とすることが可能となり、推定器特性を安定的に運用することが可能となる。
【００７６】
〔第２実施形態〕
次に、図６〜図８を参照して、本発明の第２実施形態について説明する。この第２実施形態では、駆動装置１００は、推定部１０７の代わりに推定部１０７Ａを備えている。
【００７７】
（推定部１０７Ａの具体的な構成例）
図６は、本発明の第２実施形態に係る推定部１０７Ａの具体的な構成例を示す図である。図６に示すように、推定部１０７Ａは、軸誤差演算部６０１、軸誤差演算部６０２、回転演算部６０３、回転演算部６０４、回転演算部６０５、回転演算部６０６、ＡＧＣ部６０７、およびＰＬＬ部６０８を備えている。
【００７８】
回転演算部６０３は、モータａｂ軸に対して推定角ｔｈｅ（上記角度推定値θｅｓｔに相当）で回転演算することによって得られたｉｄｑ（ｔｈｅ）が入力される。そして、回転演算部６０３は、入力されるｉｄｑ（ｔｈｅ）に対して、角度δの回転演算を行い、その演算結果をｉｄｑ（ｔｈｅ＋δ）として出力する。
【００７９】
回転演算部６０４は、モータａｂ軸に対して推定角ｔｈｅ（上記角度推定値θｅｓｔに相当）で回転演算することによって得られたｖｄｑｃｔｌ（ｔｈｅ）が入力される。そして、回転演算部３０３は、入力されるｖｄｑｃｔｌ（ｔｈｅ）に対して、角度δの回転演算を行い、その演算結果をｖｄｑ（ｔｈｅ＋δ）として出力する。
【００８０】
軸誤差演算部６０１は、回転演算部６０３から出力されたｉｄｑ（ｔｈｅ＋δ）と、回転演算部６０４から出力されたｖｄｑ（ｔｈｅ＋δ）とが入力される。そして、軸誤差演算部６０１は、ｖｄｑ（ｔｈｅ＋δ）、ｉｄｑ（ｔｈｅ＋δ）、およびモータパラメータを用いて、所定の演算を行うことにより、モータ軸と推定角と間の軸誤差検出値を算出して、当該軸誤差検出値を第１の誤差検出値として出力する。
【００８１】
回転演算部６０５は、モータａｂ軸に対して推定角ｔｈｅ（上記角度推定値θｅｓｔに相当）で回転演算することによって得られたｉｄｑ（ｔｈｅ）が入力される。そして、回転演算部６０５は、入力されるｉｄｑ（ｔｈｅ）に対して、角度−δの回転演算を行い、その演算結果をｉｄｑ（ｔｈｅ−δ）として出力する。
【００８２】
回転演算部６０６は、モータａｂ軸に対して推定角ｔｈｅ（上記角度推定値θｅｓｔに相当）で回転演算することによって得られたｖｄｑｃｔｌ（ｔｈｅ）が入力される。そして、回転演算部３０３は、入力されるｖｄｑｃｔｌ（ｔｈｅ）に対して、角度−δの回転演算を行い、その演算結果をｖｄｑ（ｔｈｅ−δ）として出力する。
【００８３】
軸誤差演算部６０２は、回転演算部６０５から出力されたｉｄｑ（ｔｈｅ−δ）と、回転演算部６０６から出力されたｖｄｑ（ｔｈｅ−δ）とが入力される。そして、軸誤差演算部６０２は、ｖｄｑ（ｔｈｅ−δ）、ｉｄｑ（ｔｈｅ−δ）、およびモータパラメータを用いて、所定の演算を行うことにより、モータ軸と推定角と間の軸誤差検出値を算出して、当該軸誤差検出値を第２の誤差検出値として出力する。
【００８４】
ＡＧＣ部６０７は、軸誤差演算部６０１から出力された第１の誤差検出値と、軸誤差演算部６０２から出力された第２の誤差検出値との差が所定量（第２の所定量）となるように、第１の誤差検出値および第２の誤差検出値の検出ゲインを調整する。具体的には、ＡＧＣ部６０７は、第１の誤差検出値と第２の誤差検出値との差が所定量となるように、第１の誤差検出値および第２の誤差検出値のフィードバック制御を行い、上記差が所定量となったときの第１の誤差検出値を出力する。なお、ＡＧＣ部６０７の具体的な構成例については、図８を用いて後述する。
【００８５】
ＰＬＬ部６０８は、ＡＧＣ部６０７から出力された誤差検出値（第１の誤差検出値）を用いて、ＰＩ制御によるフィードバック制御を行うことにより、当該誤差検出値をゼロに収束させる。すなわち、ＰＬＬ部６０８は、誤差検出値の検出ゲインが一定の状態でＰＩ制御を行うことができるため、各種不具合を生じさせるとなく、ＰＩ制御を行うことができる。
【００８６】
（誤差検出値の一例）
図７は、本発明の第２実施形態に係る軸誤差演算部６０１，６０２から出力される誤差検出値の一例を示す図である。図７に示すグラフの横軸は、モータ角と推定角（ｔｈｅ）との誤差［ｄｅｇ]を表している。図７に示すように、軸誤差演算部６０１から出力される第１の誤差検出値（図７の符号７０１）、および、軸誤差演算部６０２から出力される第２の誤差検出値（図７の符号７０２）は、正弦波状に出力されるものとなる。なお、図７の符号７０３は、第１の誤差検出値と第２の誤差検出値との平均値を示す。
【００８７】
ここで、ＰＬＬ部６０８により、モータ角と推定角（ｔｈｅ）との誤差をゼロに収束させた場合、軸誤差演算部６０１の出力は、ａ＊ｓｉｎ（δ）となり、軸誤差演算部６０２の出力は、−ａ＊ｓｉｎ（δ）となる。本実施形態では、軸誤差演算部６０１の出力レベルと軸誤差演算部６０２の出力レベルとの差を一定に保つことで、誤差検出ゲインａ（第１の誤差検出値と第２の誤差検出値の差）が、角度δに応じた一定の値（予め設計されている値）を保つように、ＡＧＣ部６０７を構成している。なお、角度δの値は、ｓ＊ｓｉｎ（θ）のゼロクロス付近の直線に近似できる区間であり、かつ、モータ特性が変化して軸誤差演算部６０１，６０２の検出ゲインが変動したときでも十分なレベルが確保できるように、予め決定しておく。但し、この第２実施形態の構成では、第１実施形態の構成よりも角度δの値を小さくした場合であっても、誤差検出ゲインａを大きくとることができるため、より高精度に誤差検出ゲインの調整を行なうことが可能である。
【００８８】
（ＡＧＣ部６０７の具体的な構成例）
図８は、本発明の第２実施形態に係るＡＧＣ部６０７の具体的な構成例を示す図である。図８に示すように、ＡＧＣ部６０７は、乗算器８０１、乗算器８０２、減算器８０３、減算器８０４、アンプ８０５、積分器８０６、加算器８０７、およびゲインアンプ８０８を備えている。
【００８９】
乗算器８０１は、軸誤差演算部６０１から出力された第１の誤差検出値に対して、積分器８０６の出力を乗算して出力する。乗算器８０２は、軸誤差演算部６０２から出力された第２の誤差検出値に対して、積分器８０６の出力を乗算して出力する。減算器８０３は、乗算器８０１の出力から、乗算器８０２の出力を減算する。減算器８０４は、減算器８０３の出力から減算器８０３の出力目標である、入力信号ｇ_ｔｇｔ２に設定されている値を減算する。アンプ８０５は、減算器８０４の出力を一定倍して出力する。積分器８０６は、アンプ８０５の出力を積分して出力する。加算器８０７は、乗算器８０１の出力と、乗算器８０２の出力とを加算する。ゲインアンプ８０８は、加算器８０７の出力の１／２の出力値を出力する。
【００９０】
ここで、図７で説明したように、減算器８０４の入力信号ｇ_ｔｇｔ２には、軸誤差演算部６０１，６０２の誤差検出ゲインの目標値をａ０としたときに、２＊ａ０＊ｓｉｎ（δ）となるように設定する。これにより、減算器８０３の出力が２＊ａ０＊ｓｉｎ（δ）となるようにフィードバック制御され 、ゲインアンプ８０８の出力（軸誤差演算部６０１の出力と軸誤差演算部６０２の出力との平均値）が適切な誤差検出ゲインとなって、ＰＬＬ部３０６に供給されるようになる。したがって、推定部１０７Ａ全体としてのフィードバックループのオープンループゲインを狙いの特性とすることが可能となり、推定器特性を安定的に運用することが可能となる。
【００９１】
この第２実施形態では、目標値（ｇ＿ｔｇｔ２）を、第２実施形態の構成よりも大きくとることができるため、より高精度に誤差検出ゲインの調整を行なうことが可能である。なお、第２実施形態では、軸誤差演算部６０１，６０２の入力に、角度δ，−δで回転演算されたものを使用しているが、これらの回転演算に使用する角度は、同一符号や異なる絶対値であってもよく、この場合、ＡＧＣ部６０７の構成および目標値（ｇ＿ｔｇｔ２）を適切に変更することで、上記第２実施形態と同様の作用効果を得ることができる。但し、上記第２実施形態のとおり、角度δ，−δを用いて回転演算を行うようにすることで、ＡＧＣ部６０７の構成を比較的簡単な構成とすることができる。
【００９２】
〔第１実施例〕
図９は、本発明の第１実施例に係る画像形成装置９００の概略構成を示す図である。図９に示す画像形成装置９００は、プリントサーバ９１０および本体９２０を備えている。プリントサーバ９１０には、印刷データが記憶されている。プリントサーバ９１０に記憶されている印刷データは、ユーザからの指示により、本体９２０へと送信される。
【００９３】
本体９２０は、光学装置９２１、感光体ドラム９２２、現像ローラ９２３、転写ローラ９２４、転写ベルト９２５、転写ローラ９２６、定着装置９２７、搬送装置９３１、用紙トレイ９３２、搬送路９３３、排紙トレイ９３４、および記録紙９３５を備えている。
【００９４】
本体９２０は、印刷データに色補正、濃度変換、小値化等の処理を行う。そして、本体９２０は、最終的に２値となった印刷データを、光学装置９２１に送る。
【００９５】
光学装置９２１は、レーザダイオード等をレーザ光源として用いている。光学装置９２１は、一様に帯電した状態の感光体ドラム９２２に対して、印刷データに応じたレーザ光の照射を行う。
【００９６】
感光体ドラム９２２は、一様に帯電した状態で、印刷データに応じたレーザ光が表面に照射されることにより、レーザ光が照射された部分だけ電荷が消失する。これにより、感光体ドラム９２２の表面には、印刷データに応じた潜像が形成される。ここで形成された潜像は、感光体ドラム９２２の回転に伴って、対応する現像ローラ９２３の方向へと移動する。
【００９７】
現像ローラ９２３は、回転しながら、トナーカートリッジから供給されたトナーを、その表面に付着させる。そして、現像ローラ９２３は、その表面に付着されたトナーを、感光体ドラム９２２の表面に形成された潜像に付着させる。これにより、現像ローラ９２３は、感光体ドラム９２２の表面に形成された潜像を顕像化して、感光体ドラム９２２の表面にトナー像を形成する。
【００９８】
感光体ドラム９２２の表面に形成されたトナー像は、感光体ドラム９２２と転写ローラ９２４との間において、転写ベルト９２５上に転写される。これにより、転写ベルト９２５上に、トナー画像が形成される。
【００９９】
図９に示す例では、光学装置９２１、感光体ドラム９２２、現像ローラ９２３、および転写ローラ９２４は、４つの印刷色（Ｙ，Ｃ，Ｍ，Ｋ）の各々に対して設けられている。これにより、転写ベルト９２５上には、各印刷色のトナー画像が形成される。
【０１００】
搬送装置９３１は、用紙トレイ９３２から搬送路９３３へ、記録紙９３５を送出する。搬送路９３３に送出された記録紙９３５は、転写ベルト９２５と転写ローラ９２６との間に搬送される。これにより、転写ベルト９２５と転写ローラ９２６との間において、転写ベルト９２５上に形成された各印刷色のトナー画像が、記録紙９３５に転写される。その後、記録紙９３５は、定着装置９２７によって熱および圧力が加えられることにより、トナー画像が定着される。そして、記録紙９３５は、排紙トレイ９３４に搬送される。
【０１０１】
例えば、このように構成された画像形成装置９００において、上記実施形態の駆動システム１０を適用して、各種ローラ（例えば、給紙ローラ、紙搬送ローラ等）を駆動するモータの誤差検出ゲインを、駆動装置１００によって一定に制御することにより、誤差検出ゲインが一定の値から変化することによって生じ得る各種不具合の発生を抑制することができる。
【０１０２】
〔第２実施例〕
図１０は、本発明の第２実施例に係る搬送装置１０００の概略構成を示す図である。図１０に示す搬送装置１０００は、用紙Ｐを搬送するための装置である。図１０に示すように、搬送装置１０００は、モータ１１Ａ、モータ１１Ｂ、搬送ローラ１００１、および搬送ローラ１００２を備えている。搬送ローラ１００１は、モータ１１Ａの駆動により回転する。搬送ローラ１００２は、モータ１１Ｂの駆動により回転する。この搬送装置１０００は、搬送ローラ１００１と搬送ローラ１００２とが互いに同一の方向に回転することにより、モータ１１Ａの出力トルクとモータ１１Ｂの出力トルクとの合成トルクにより、用紙Ｐを搬送方向に搬送することができる。例えば、このように構成された搬送装置１０００において、上記実施形態の駆動システム１０を適用して、モータ１１Ａおよびモータ１１Ｂの各々の誤差検出ゲインを、駆動装置１００によって一定に制御することにより、誤差検出ゲインが一定の値から変化することによって生じ得る各種不具合の発生を抑制することができる。
【０１０３】
以上、本発明の好ましい実施形態および実施例について詳述したが、本発明はこれらの実施形態および実施例に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形又は変更が可能である。
【０１０４】
例えば、上記第１，第２実施例では、本発明の駆動システムを画像形成装置，搬送装置に適用する例を説明したが、本発明の駆動システムは、モータによって何らかの駆動対象を駆動する構成を採用しているものであれば、如何なる装置にも適用することが可能である。
【０１０５】
一例として、本発明の駆動システムは、シート状のプリプレグや、紙幣等を搬送する搬送装置において、搬送ローラを駆動する構成に適用することができる。その他、本発明の駆動システムは、例えば自動車やロボットやアミューズメント機器等において、モータによって駆動される回転軸の回転運動により、動力を得ることを目的とする構成に適用することができる。
【符号の説明】
【０１０６】
１０  駆動システム
１１  モータ
１００  駆動装置
１０７，１０７Ａ  推定部
３０１，６０１  軸誤差演算部（第１の誤差検出部）
３０２，６０２  軸誤差演算部（第２の誤差検出部）
３０３，３０４，６０３〜６０６  回転演算部
３０５，６０７  ＡＧＣ部（検出ゲイン調整部）
３０６，６０８  ＰＬＬ部
９００  画像形成装置
１０００  搬送装置
【先行技術文献】
【特許文献】
【０１０７】
【特許文献１】特許第４６２５１１６号公報
【図１】
2018133971.tif 000012
【図２】
2018133971.tif 000013
【図３】
2018133971.tif 000014
【図４】
2018133971.tif 000015
【図５】
2018133971.tif 000016
【図６】
2018133971.tif 000017
【図７】
2018133971.tif 000018
【図８】
2018133971.tif 000019
【図９】
2018133971.tif 000020
【図１０】
2018133971.tif 000021