(57)【要約】【課題】ＰＷＭ信号に従って駆動電流をモータへ供給する駆動回路を備えるモータ駆動装置において、モータの巻線に流れる駆動電流の検出結果に生じる歪みを低減するための技術を提供する。【解決手段】モータ制御部２００は、ＦＥＴ Ｑ１〜Ｑ４で構成されたＨブリッジ回路に対して供給するＰＷＭ信号（ＰＷＭ＋及びＰＷＭ−）を制御することで、駆動対象のモータのコイルＬ１に流れる駆動電流を制御する。電流値生成部２０４は、電流検出抵抗Ｒ１に生じる電圧に基づいて駆動電流Ｉを検出し、生成した検出値Ｉsnsを補正値Ｃ１またはＣ２で補正する。電流値生成部２０４は、駆動電流Ｉの検出タイミングがＰＷＭ信号のＨ期間内である場合には、補正値Ｃ１で検出値Ｉsnsを補正し、駆動電流Ｉの検出タイミングがＰＷＭ信号のＬ期間内である場合には、補正値Ｃ１とは符号が異なる補正値Ｃ２で検出値Ｉsnsを補正する。【選択図】図１
2017184490.tif 000002
【特許請求の範囲】
【請求項１】
駆動対象のモータの巻線と接続されるスイッチング素子を含み、前記スイッチング素子のスイッチングに応じた駆動電流を前記巻線へ供給することで、前記モータを駆動する駆動回路と、
前記スイッチング素子をスイッチングさせるための、第１レベルと第２レベルとの間で変化するＰＷＭ信号を生成し、前記駆動回路へ供給する生成手段と、
前記駆動回路に対して設けられた電流検出素子に生じる電圧に基づいて、前記巻線に流れる前記駆動電流を検出する検出手段と、
前記検出手段によって生成される、前記駆動電流の検出値を補正する補正手段であって、前記検出手段による前記駆動電流の検出タイミングが前記ＰＷＭ信号の前記第１レベルの期間内である場合には、第１補正値で前記検出値を補正し、前記検出タイミングが前記ＰＷＭ信号の前記第２レベルの期間内である場合には、前記第１補正値とは符号が異なる第２補正値で前記検出値を補正する、前記補正手段と、
前記補正手段によって補正された前記検出値に基づいて、前記生成手段による前記ＰＷＭ信号の生成を制御する制御手段と、
を備えることを特徴とするモータ駆動装置。
【請求項２】
前記検出手段によって生成される前記検出値は、前記検出タイミングが前記第１レベルの期間内である場合には相対的に高い値を示し、前記検出タイミングが前記第２レベルの期間内である場合には相対的に低い値を示し、
前記第１補正値は、前記検出値を減少させる補正値であり、前記第２補正値は、前記検出値を増加させる補正値である
ことを特徴とする請求項１に記載のモータ駆動装置。
【請求項３】
前記検出手段は、前記第１レベルの期間の中心タイミングまたは前記第２レベルの期間の中心タイミングに、前記駆動電流の検出を行い、
前記第１補正値及び前記第２補正値は、所定のデューティ比の前記ＰＷＭ信号を前記生成手段に生成させ、前記第１レベルの期間の中心タイミング及び前記第２レベルの期間の中心タイミングに前記検出手段によってそれぞれ生成される第１検出値及び第２検出値に基づいて得られた値である
ことを特徴とする請求項１または２に記載のモータ駆動装置。
【請求項４】
前記所定のデューティ比は５０％であり、
前記第２補正値は、前記第１検出値と前記第２検出値との差分の絶対値を２で除算して得られた値であり、
前記第１補正値は、前記第２補正値の符号を反転して得られた値である
ことを特徴とする請求項３に記載のモータ駆動装置。
【請求項５】
前記補正手段は、前記制御手段による制御が行われていない期間において、前記所定のデューティ比の前記ＰＷＭ信号を前記生成手段に生成させ、前記第１検出値及び前記第２検出値を前記検出手段に生成させることで、前記第１補正値及び第２補正値を取得する
ことを特徴とする請求項３または４に記載のモータ駆動装置。
【請求項６】
前記補正手段は、前記生成手段によって生成される前記ＰＷＭ信号のデューティ比に応じて前記第１補正値及び前記第２補正値を調整して使用する
ことを特徴とする請求項１から５のいずれか１項に記載のモータ駆動装置。
【請求項７】
前記補正手段は、前記生成手段によって生成される前記ＰＷＭ信号が前記第１レベルと前記第２レベルとの間で切り替わるタイミングにおける前記駆動電流の検出値に応じて前記第１補正値及び前記第２補正値を調整して使用する
ことを特徴とする請求項１から５のいずれか１項に記載のモータ駆動装置。
【請求項８】
前記補正手段は、前記モータの回転に従って巻線に誘起される誘起電圧に応じて前記第１補正値及び前記第２補正値を調整して使用する
ことを特徴とする請求項１から５のいずれか１項に記載のモータ駆動装置。
【請求項９】
前記検出手段は、前記生成手段による前記ＰＷＭ信号の生成の１周期において、前記ＰＷＭ信号の前記第１レベルの期間が前記第２レベルの期間より長い場合には、前記第１レベルの期間内に前記駆動電流を検出し、前記第１レベルの期間が前記第２レベルの期間より長くない場合には、前記第２レベルの期間内に前記駆動電流を検出する
ことを特徴とする請求項１から８のいずれか１項に記載のモータ駆動装置。
【請求項１０】
前記制御手段は、前記検出値と前記駆動電流の目標値との差分に基づいて、前記生成手段によって生成される前記ＰＷＭ信号のデューティ比を決定し、
前記検出手段は、前記制御手段によって決定された前記デューティ比に応じて、前記第１レベルの期間内または前記第２レベルの期間内に前記駆動電流を検出する
ことを特徴とする請求項９に記載のモータ駆動装置。
【請求項１１】
前記電流検出素子は、前記駆動回路とグラウンドとの間に接続されており、
前記検出手段は、前記電流検出素子に生じる電圧に対応する電圧値に対して、前記生成手段によって生成された前記ＰＷＭ信号のレベルに応じて符号の反転処理を行うことで、当該電圧値から前記検出値を生成する
ことを特徴とする請求項１から１０のいずれか１項に記載のモータ駆動装置。
【請求項１２】
前記駆動回路は、電源と前記電流検出素子との間に直列に接続された第１スイッチング素子及び第３スイッチング素子と、前記電源と前記電流検出素子との間に直列に接続され、かつ、前記第１スイッチング素子及び前記第３スイッチング素子とは並列に接続された第２スイッチング素子及び第４スイッチング素子とを含み、前記第１スイッチング素子及び前記第３スイッチング素子の接続点と、前記第２スイッチング素子及び前記第４スイッチング素子の接続点との間に、前記巻線が接続されるように構成されており、
前記生成手段は、第１ＰＷＭ信号を前記第１スイッチング素子及び前記第４スイッチング素子へ供給し、前記第１ＰＷＭ信号と逆位相の関係にある第２ＰＷＭ信号を前記第２スイッチング素子及び前記第４スイッチング素子へ供給する
ことを特徴とする請求項１から１１のいずれか１項に記載のモータ駆動装置。
【請求項１３】
前記制御手段は、前記モータへ供給する駆動電流を、前記検出値から決定される前記モータの回転子の回転位置を基準とした回転座標系の電流値によって制御するベクトル制御を行い、前記駆動電流に対応する駆動電圧を前記生成手段へ出力し、
前記生成手段は、前記制御手段から出力された駆動電圧に基づいて、前記ＰＷＭ信号を生成する
ことを特徴とする請求項１から１２のいずれか１項に記載のモータ駆動装置。
【請求項１４】
前記駆動回路、前記電流検出素子、前記生成手段及び前記検出手段は、前記モータの第１相及び第２相のそれぞれに対して設けられており、
前記第１相に対応する前記検出手段から出力される電流検出値と前記第２相に対応する前記検出手段から出力される電流検出値とに基づく演算によって、前記ベクトル制御に用いられる前記回転位置を決定する決定手段、を更に備える
ことを特徴とする請求項１３に記載のモータ駆動装置。
【請求項１５】
前記決定手段は、
前記モータの第１相及び第２相のそれぞれについて、前記制御手段から出力された駆動電圧と、前記検出手段から出力された電流検出値とから、前記モータの回転子の回転に従って巻線に誘起される誘起電圧を演算する電圧演算手段と、
前記電圧演算手段によって演算された前記第１相の誘起電圧と前記第２相の誘起電圧との比から、前記回転位置の推定値を演算する位置演算手段と、
を備えることを特徴とする請求項１４に記載のモータ駆動装置。
【請求項１６】
前記制御手段は、前記決定手段における演算によって得られる前記回転位置の推定値のフィードバックに基づいて、当該推定値と、外部のコントローラから与えられる前記回転位置の指令値との差が０に近づくように、前記ベクトル制御を行う、
ことを特徴とする請求項１４または１５に記載のモータ駆動装置。
【請求項１７】
前記駆動電流は、前記回転位置を基準とした回転座標系において、前記モータにトルクを発生させる第１の電流成分と、前記モータの回転子の磁束強度に影響する第２の電流成分とによって表され、
前記制御手段は、前記第２の電流成分の電流値が０になるように当該第２の電流成分を制御しながら、前記第１の電流成分を制御することによって、前記駆動電流を制御する、
ことを特徴とする請求項１３から１６のいずれか１項に記載のモータ駆動装置。
【請求項１８】
記録材に画像を形成する画像形成手段と、
前記画像形成手段によって画像が形成される記録材の搬送用のローラを駆動するモータと、
前記モータを駆動する、請求項１から１７のいずれか１項に記載のモータ駆動装置と、
を備えることを特徴とする画像形成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、モータ駆動装置及び画像形成装置に関するものである。
【背景技術】
【０００２】
複写機、プリンタ等の電子写真方式の画像形成装置では、画像が形成される用紙等の記録材を搬送する搬送系の駆動源として、ステッピングモータ等のモータが用いられる。このようなモータの駆動に、複数のスイッチング素子（ＦＥＴ）で構成されたＨブリッジ回路等の駆動回路を用いる場合、ＰＷＭ信号によって各ＦＥＴを制御してモータに駆動電流を供給することでモータを駆動する。この場合、モータの巻線に流れる駆動電流を検出し、その検出結果に基づくフィードバック制御によりＰＷＭ信号を生成することで、モータに供給する駆動電流の値を目標値に制御する駆動制御を実現できる。
【０００３】
モータの駆動回路としてＨブリッジ回路を用いる上述の構成において、駆動電流の検出は、例えばＨブリッジ回路のグラウンド側に電流検出抵抗を配置し、当該抵抗を流れる電流を検出することで実現できる。特許文献１では、Ｈブリッジ回路のグラウンド側に配置した抵抗を用いてモータの駆動電流を検出する構成において、電流検出抵抗の両端間の電圧の正負の極性（符号）をＰＷＭ信号に同期して反転させることで駆動電流を検出している。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平８−９９６４５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上述のような駆動回路を用いてモータを駆動する場合、駆動回路へ供給されるＰＷＭ信号に対する、モータの巻線（コイル）に流れる駆動電流の過渡応答特性に起因して、駆動電流の検出結果に歪みが生じうる。具体的には、駆動電流の検出タイミングが、ＰＷＭ信号のＨレベルの期間である場合とＬレベルの期間である場合とで、検出される電流値が異なってしまう。この、検出値の差異が原因で、駆動電流の検出結果を示す電流波形に歪みを生じさせ、当該検出結果に基づくモータの駆動制御に不具合を生じさせる原因となりうる。
【０００６】
本発明は、上述の課題に鑑みてなされたものである。本発明は、ＰＷＭ信号に従って駆動電流をモータへ供給する駆動回路を備えるモータ駆動装置において、モータの巻線に流れる駆動電流の検出結果に生じる歪みを低減するための技術を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明は、例えば、モータ駆動装置として実現できる。本発明の一態様に係るモータ駆動装置は、駆動対象のモータの巻線と接続されるスイッチング素子を含み、前記スイッチング素子のスイッチングに応じた駆動電流を前記巻線へ供給することで、前記モータを駆動する駆動回路と、前記スイッチング素子をスイッチングさせるための、第１レベルと第２レベルとの間で変化するＰＷＭ信号を生成し、前記駆動回路へ供給する生成手段と、前記駆動回路に対して設けられた電流検出素子に生じる電圧に基づいて、前記巻線に流れる前記駆動電流を検出する検出手段と、前記検出手段によって生成される、前記駆動電流の検出値を補正する補正手段であって、前記検出手段による前記駆動電流の検出タイミングが前記ＰＷＭ信号の前記第１レベルの期間内である場合には、第１補正値で前記検出値を補正し、前記検出タイミングが前記ＰＷＭ信号の前記第２レベルの期間内である場合には、前記第１補正値とは符号が異なる第２補正値で前記検出値を補正する、前記補正手段と、前記補正手段によって補正された前記検出値に基づいて、前記生成手段による前記ＰＷＭ信号の生成を制御する制御手段と、を備えることを特徴とする。
【発明の効果】
【０００８】
本発明によれば、ＰＷＭ信号に従って駆動電流をモータへ供給する駆動回路を備えるモータ駆動装置において、モータの巻線に流れる駆動電流の検出結果に生じる歪みを低減することが可能である。
【図面の簡単な説明】
【０００９】
【図１】モータ駆動装置の概略的な構成例を示す図。
【図２】モータ駆動回路２５０の構成から電流検出抵抗Ｒ１を除外した構成を示す図。
【図３】モータ駆動回路２５０に流れる電流の経路を示す図。
【図４】ＰＷＭ信号、駆動電流Ｉ、電圧値Ｖsns、及び駆動電流Ｉの検出値Ｉsnsの関係を示すタイムチャート。
【図５】駆動電流Ｉの検出タイミングの例を示す図。
【図６】ＰＷＭ信号（ＰＷＭ＋）がＨレベルからＬレベルへ切り替わる期間における、モータのコイルＬ１に流れる駆動電流Ｉの波形の例を示す図。
【図７】駆動電流Ｉの検出結果を示す電流波形の一例を示す図。
【図８】駆動電流Ｉの検出値Ｉsnsの補正の例を示す図。
【図９】電流値生成部２０４の構成例を示す図。
【図１０】補正値の取得処理の手順を示すフローチャート。
【図１１】モータ駆動制御の手順を示すフローチャート。
【図１２】ベクトル制御を適用したモータ制御部４００の構成例を示す図。
【図１３】モータと回転座標系のｄｑ軸との関係を示す図。
【図１４】ＰＷＭインバータ５０６及び電流検出部５０７，５０８の構成例を示す図。
【図１５】画像形成装置１００の構成例を示す断面図。
【発明を実施するための形態】
【００１０】
以下、本発明を実施するための形態について図面を用いて説明する。なお、以下の実施形態は特許請求の範囲に係る発明を限定するものでなく、また実施形態で説明されている特徴の組み合わせの全てが発明の解決手段に必須のものとは限らない。
【００１１】
＜画像形成装置１００＞
まず、図１５を参照して、以下の実施例１〜３で説明するモータ駆動装置が実装される画像形成装置の構成例について説明する。図１５は、画像形成装置１００の概略的な構成例を示す断面図である。画像形成装置１００は、単色画像を形成する画像形成装置であってもよいが、ここでは、複数色のトナー（現像剤）を用いて多色画像を形成する画像形成装置を想定する。画像形成装置１００は、例えば、印刷装置、プリンタ、複写機、複合機（ＭＦＰ）、及びファクシミリ装置のいずれであってもよい。画像形成装置１００は、イエロー（Ｙ）色、マゼンタ（Ｍ）色、シアン（Ｃ）色、及びブラック（Ｋ）色の４色のトナーを用いてトナー画像を形成する４つの画像形成ステーションを備えている。図１５では、Ｙ色のステーションの構成部品にのみ参照番号を付与しているが、４つのステーションはいずれも同一の構成を採用可能である。なお、各ステーションは、感光ドラム１１１や中間転写ベルト１１６等の像担持体にトナーを用いて画像を形成する画像形成手段の一例である。
【００１２】
一次帯電部１１２は、回転する感光ドラム１１１を一様に帯電させる。露光部１１３は、画像信号に基づいて変調したレーザ光（光ビーム）を出力し、感光ドラム１１１の表面をレーザ光で走査する。これにより、感光ドラム１１１上に静電潜像が形成される。現像部１１４は、トナーを用いて静電潜像を現像し、感光ドラム１１１上にトナー画像を形成する。一次転写ローラ１１７は、感光ドラム１１１上のトナー画像を中間転写ベルト１１６に一次転写する。中間転写ベルト１１６は、矢印Ｂの方向に回転している。中間転写ベルト１１６上のトナー画像は、中間転写ベルト１１６と二次転写ローラ１２３とによって形成された二次転写部へ搬送される。その間、各ステーションの感光ドラム１１１上に形成された各色のトナー画像が順に中間転写ベルト１１６上に重ね合わせて一次転写されることで、多色のトナー画像が中間転写ベルト１１６上に形成される。
【００１３】
給紙カセット（給紙部）１２０内のシートＰは、給紙ローラ（ピックアップローラ）１２１によってシート搬送路へ給紙される。シートＰは、記録紙、記録材、記録媒体、用紙、転写材、転写紙等と称されてもよい。シート搬送路へ給紙されたシートＰは、搬送ローラ１２２によって二次転写部へ搬送される。二次転写部において、中間転写ベルト１１６によって搬送されてきたトナー画像がシートＰに二次転写される。定着部１２５は、トナー画像に熱及び圧力を加えて、シートＰ上に定着させる。その後、トナー画像が定着したシートＰは排紙ローラ１２６によって排紙トレイ（排紙部）へ排紙される。なお、感光ドラム１１１及び中間転写ベルト１１６の表面に残留したトナーは、ドラムクリーナ１１５及びベルトクリーナ１１８によってそれぞれ除去（回収）される。
【００１４】
このように、画像形成装置１００は、画像が形成される用紙等の記録材の搬送用のローラとして、給紙ローラ１２１、搬送ローラ１２２、排紙ローラ１２６等のローラを備えている。これらのローラを駆動する駆動源に相当するモータは、画像形成装置１００内の上位の制御回路からの指示により、以下の実施例で説明するモータ駆動装置によって駆動される。なお、画像形成装置１００は、記録材の搬送用の各ローラに対応するモータごとに、以下で説明するモータ駆動装置を備えている。また、以下で説明するモータ駆動装置は、画像形成装置１００が、画像読取装置に原稿を搬送する自動原稿搬送装置（ＡＤＦ）を備える複合機（ＭＦＰ）等である場合には、ＡＤＦが備える原稿搬送用のローラを駆動するモータに対して用いられてもよい。
【００１５】
［実施例１］
図１は、実施例１に係るモータ駆動装置の概略的な構成例を示す図である。モータ駆動装置は、モータ駆動回路２５０及びモータ制御部２００によって構成されている。モータ駆動回路２５０は、駆動対象のモータの巻線（コイル）Ｌ１に駆動電流（相電流）Ｉを流すことで当該モータを駆動する。モータ制御部２００は、モータ駆動回路２５０へ供給するＰＷＭ信号を制御することで、モータの駆動制御を行う。モータ制御部２００は、例えば、ＣＰＵ等のプロセッサの内部に設けられる。この場合、モータ制御部２００は、ＣＰＵがＲＯＭ等の記憶デバイスに格納されたプログラムを読み出して実行する処理によって実現される。あるいは、モータ制御部２００は、図１に示す各ブロックの機能を実現する１つ以上の回路（例えばＡＳＩＣ）によって実現されてもよい。
【００１６】
本実施例では、モータ駆動装置の駆動対象のモータが、２相のステッピングモータである場合について説明する。この場合、図１に示すモータ駆動装置は、ステッピングモータのＡ相及びＢ相（第１相及び第２相）の巻線（コイルＬ１及びＬ２）に対してそれぞれ設けられる。なお、本実施例は、ステッピングモータ以外のタイプのモータが駆動対象である場合、及び２相以外の相数のモータが駆動対象である場合にも、同様に適用できる。
【００１７】
＜モータ駆動回路２５０＞
図１に示すように、モータ駆動回路２５０は、ＦＥＴ（スイッチング素子）Ｑ１〜Ｑ４と、駆動対象のモータのコイルＬ１と、電流検出抵抗（電流検出素子）Ｒ１とで構成される。ＦＥＴ Ｑ１〜Ｑ４は、駆動対象のモータを駆動するＨブリッジ回路（駆動回路）を構成している。即ち、Ｈブリッジ回路は、駆動対象のモータの巻線（コイルＬ１）と接続されるＦＥＴ Ｑ１〜Ｑ４を含み、ＦＥＴのスイッチング（ゲートのオン・オフ動作）に応じた駆動電流Ｉを当該巻線に供給することで、モータを駆動する。電流検出抵抗Ｒ１は、Ｈブリッジ回路とグラウンド（ＧＮＤ）との間に接続されている。
【００１８】
Ｈブリッジ回路は、モータ駆動電源（例えば２４Ｖ）と電流検出抵抗Ｒ１との間に直列に接続されたＦＥＴ Ｑ１及びＦＥＴ Ｑ３を含む。Ｈブリッジ回路は、更に、モータ駆動電源と電流検出抵抗Ｒ１との間に直列に接続され、かつ、ＦＥＴ Ｑ１及びＦＥＴ Ｑ３とは並列に接続されたＦＥＴ Ｑ２及びＦＥＴ Ｑ４とを含む。駆動対象のモータのコイルＬ１は、ＦＥＴ Ｑ１とＦＥＴ Ｑ３との接続点と、ＦＥＴ Ｑ２とＦＥＴ Ｑ４との接続点とをブリッジ（橋絡）するように、これら２つの接続点の間に接続されている。本実施例では、ＦＥＴ Ｑ１〜Ｑ４としてＮチャネルＦＥＴを使用する。ＦＥＴ Ｑ１，Ｑ２のドレイン端子（ＰチャネルＦＥＴの場合はソース端子）は、モータ駆動電源と接続されている。また、ＦＥＴ Ｑ３，Ｑ４のソース端子（ＰチャネルＦＥＴの場合はドレイン端子）は、電流検出抵抗Ｒ１を介してグラウンドと接続されている。
【００１９】
モータ駆動回路２５０では、モータ制御部２００から供給されるＰＷＭ信号（ＰＷＭ＋及びＰＷＭ−）によってＦＥＴ Ｑ１〜Ｑ４のそれぞれのスイッチングが行われる。ＦＥＴ Ｑ１〜Ｑ４は、ゲートに与えられる駆動用のＰＷＭ信号がハイレベル（Ｈレベル）である場合にはオン状態となり、ＰＷＭ信号がローレベル（Ｌレベル）である場合にはオフ状態となる。ＦＥＴ Ｑ１，Ｑ４は、ＰＷＭ信号（ＰＷＭ＋）によって駆動される。一方、ＦＥＴ Ｑ２，Ｑ３は、ＰＷＭ＋と逆位相の関係にあるＰＷＭ信号（ＰＷＭ−）によって駆動される。このため、ＦＥＴ Ｑ１，Ｑ４がオン状態の場合にＦＥＴ Ｑ２，Ｑ３はオフ状態となり、ＦＥＴ Ｑ１，Ｑ４がオフ状態の場合にＦＥＴ Ｑ２，Ｑ３はオン状態となる。なお、ＰＷＭ−信号のＨレベルとＬレベルはＰＷＭ＋信号のＨレベルとＬレベルとは反対の関係になっている。
【００２０】
後述するように、ＦＥＴ Ｑ１〜Ｑ４についてのオン状態とオフ状態との間のスイッチングに依存して、モータのコイルＬ１に流れる駆動電流Ｉが変化する。モータ制御部２００は、モータ駆動回路２５０へ供給するＰＷＭ信号（ＰＷＭ＋及びＰＷＭ−）を制御することで、モータのコイルＬ１に流れる駆動電流Ｉを制御する。なお、モータのコイルＬ２に流れる駆動電流Ｉについても同様に制御される。モータの各相のコイルＬ１及びＬ２に流れる駆動電流Ｉがそれぞれ制御されることで、当該モータの駆動制御が行われる。
【００２１】
ここで、図２乃至図４を参照して、モータ駆動回路２５０の動作について説明する。図２は、図１に示すモータ駆動回路２５０の構成から電流検出抵抗Ｒ１を除外した構成を示しており、ＦＥＴ Ｑ３，Ｑ４のソース端子はＧＮＤと接続されている。図３は、モータ駆動回路２５０に流れる電流の経路を示す図である。図３（Ａ）では、モータのコイルＬ１に流れる駆動電流Ｉが正の期間にモータ駆動回路２５０に流れる電流の経路を、実線及び破線の矢印によって示している。図３（Ｂ）では、モータのコイルＬ１に流れる駆動電流Ｉが負の期間にモータ駆動回路２５０に流れる電流の経路を、実線及び破線の矢印によって示している。
【００２２】
また、図４は、モータ駆動回路２５０へ供給されるＰＷＭ信号（ＰＷＭ＋及びＰＷＭ−）、駆動電流Ｉ、電流検出抵抗Ｒ１（図１）に生じる電圧に対応する電圧値Ｖsns、及び駆動電流Ｉの検出値Ｉsnsの関係を示すタイムチャートである。なお、図４において、期間Ｔ１は、駆動電流Ｉが正（Ｉ＞０）の値になる期間であり、期間Ｔ２は、駆動電流Ｉが負（Ｉ＜０）の値になる期間である。図４に示すように、ＰＷＭ信号（ＰＷＭ＋及びＰＷＭ−）は、Ｈレベル（オン状態）とＬレベル（オフ状態）との間で変化し、ＰＷＭ信号の変化に応じて駆動電流Ｉが変化している。
【００２３】
期間Ｔ１（駆動電流Ｉが正の期間）において、ＰＷＭ＋がＨレベルである（ＰＷＭ−がＬレベルである）場合には、モータ駆動回路２５０内では、図３（Ａ）において実線で示す経路（電源→Ｑ１→Ｌ１→Ｑ４→ＧＮＤ）を電流（力行電流）が流れる。このとき、駆動電流Ｉは、図４において実線で示すように変化する。
【００２４】
その後、ＰＷＭ＋がＬレベルに変化すると（ＰＷＭ−がＨレベルに変化すると）、モータのコイルＬ１には、駆動電流Ｉの急激な変化を阻止する方向に誘導起電力（逆起電力）が生じる。この誘導起電力は、モータを駆動する電源（２４Ｖ）より優位となり、その結果、モータ駆動回路２５０内では、図３（Ａ）において破線で示す経路（ＧＮＤ→Ｑ３→Ｌ１→Ｑ２→電源）を電流（回生電流）が流れる。このとき、駆動電流Ｉは、図４において破線で示すように変化する。
【００２５】
一方、期間Ｔ２（駆動電流Ｉが負の期間）においては、ＰＷＭ＋がＬレベルである（ＰＷＭ−がＨレベルである）場合、モータ駆動回路２５０内では、図３（Ｂ）において実線で示す経路（電源→Ｑ２→Ｌ１→Ｑ３→ＧＮＤ）を電流が流れる。このとき、駆動電流Ｉは、図４において実線で示すように変化する。
【００２６】
その後、ＰＷＭ＋がＨレベルに変化すると（ＰＷＭ−がＬレベルに変化すると）、モータのコイルＬ１には、駆動電流Ｉの急激な変化を阻止する方向に誘導起電力が生じる。この誘導起電力は、モータを駆動する電源（２４Ｖ）より優位となり、その結果、モータ駆動回路２５０内では、図３（Ｂ）において破線で示す経路（ＧＮＤ→Ｑ４→Ｌ１→Ｑ１→電源）を電流（回生電流）が流れる。このとき、駆動電流Ｉは、図４において破線で示すように変化する。
【００２７】
モータの駆動制御は、上述のように、コイルＬ１（及びＬ２）に流れる駆動電流Ｉを制御することによって行われる。モータ制御部２００は、ＦＥＴ Ｑ１〜Ｑ４の駆動用のＰＷＭ信号（ＰＷＭ＋及びＰＷＭ−）を制御することで、駆動電流Ｉを所望の値に制御する。このような制御を実現するためには、モータ駆動回路２５０においてコイルＬ１に実際に流れる駆動電流Ｉを検出し、その検出結果に基づいて、駆動電流Ｉを所望の値に制御するためのＰＷＭ信号を生成する必要がある。
【００２８】
駆動電流Ｉの検出は、例えば、図２に示すＡ点、Ｂ点またはＣ点に電流検出用の素子を配置することによって行うことが可能である。Ａ点またはＢ点で駆動電流Ｉの検出を行う場合には、電源の電圧（２４Ｖ）に対応した（即ち、高電圧に対応した）素子、またはホール素子等の非接触式の素子が必要となる。これに対して、Ｃ点で駆動電流Ｉの検出を行う場合には、検出点における電圧が低く、比較的安価な素子（例えば、電流検出抵抗、及びその両端間の電圧を増幅する差動増幅器等）を用いた電流検出が可能である。
【００２９】
このため、本実施例では、図１に示すように、ＦＥＴ Ｑ３，Ｑ４のソース端子の接続点とＧＮＤとの間の経路上のＣ点に電流検出抵抗Ｒ１を配置することで、Ｃ点で駆動電流Ｉの検出を行う。Ｃ点に電流検出抵抗Ｒ１を配置した場合、電流検出抵抗Ｒ１に生じる電圧（即ち、電流検出抵抗Ｒ１の両端間の電圧）は、オームの法則により、電流検出抵抗Ｒ１に流れる電流に比例する（電流と相似な波形となる）。モータ制御部２００は、電流検出抵抗Ｒ１の両端間の電圧（両端電圧）を差動増幅部２３０で増幅して得られる電圧値Ｖsnsに基づいて、駆動電流Ｉの検出値Ｉsnsを生成する。
【００３０】
図４には、Ｃ点に配置した電流検出抵抗Ｒ１の両端電圧に対応する電圧値Ｖsnsを示している。図４に示すように、ＰＷＭ信号のレベルの切り替えに応じて、電圧値Ｖsnsの極性が変化している。これは、Ｃ点に配置した電流検出抵抗Ｒ１に流れる電流の方向が、ＰＷＭ信号のレベルの切り替えに応じて反転するためである。このため、モータ駆動回路２５０内で、Ｃ点（電流検出抵抗Ｒ１）に流れる電流は、駆動電流Ｉとは一致しない。
【００３１】
具体的には、図３（Ａ）に示すように、駆動電流Ｉの極性が正の期間Ｔ１には、ＰＷＭ＋がＨレベル（ＰＷＭ−がＬレベル）の場合、ＧＮＤ方向に向かって電流が流れるため、電流検出抵抗Ｒ１に流れる電流の極性は正となる。一方、ＰＷＭ＋がＬレベル（ＰＷＭ−がＨレベル）の場合、電源方向に向かって電流が流れるため、電流検出抵抗Ｒ１に流れる電流の極性は負となる。また、図３（Ｂ）に示すように、駆動電流Ｉの極性が負の期間Ｔ２には、ＰＷＭ＋がＬレベル（ＰＷＭ−がＨレベル）の場合、ＧＮＤ方向に向かって電流が流れるため、電流検出抵抗Ｒ１に流れる電流の極性は正となる。一方、ＰＷＭ＋がＨレベル（ＰＷＭ−がＬレベル）の場合、電源方向に向かって電流が流れるため、電流検出抵抗Ｒ１に流れる電流の極性は負となる。
【００３２】
このように、ＰＷＭ信号がＨレベルとＬレベルとの間で変化すると、Ｃ点に配置した電流検出抵抗Ｒ１に流れる電流の極性（電流が流れる方向）が反転し、図４に示すように、電圧値Ｖsnsの極性も反転する。また、電流検出抵抗Ｒ１に流れる電流は、ＰＷＭ＋がＨレベル（ＰＷＭ−がＬレベル）の場合には、駆動電流Ｉと極性が一致する一方で、ＰＷＭ＋がＬレベル（ＰＷＭ−がＨレベル）の場合には、駆動電流Ｉと極性が逆になり、電圧値Ｖsnsも同様に変化する。
【００３３】
したがって、Ｃ点に配置した電流検出抵抗Ｒ１の両端電圧に基づいて駆動電流Ｉを検出するためには、上述の特許文献１のように、電圧値Ｖsnsの極性を、駆動電流Ｉの極性と一致するよう、必要に応じて切り替える（反転させる）処理が必要となる。本実施例では、モータ制御部２００では、電流値生成部２０４が、電流検出抵抗Ｒ１に生じる電圧に対応する電圧値Ｖsnsに対して、ＰＷＭ生成部２０３によって生成されたＰＷＭ信号のレベルに応じて正負の極性（符号）の反転処理を行う。これにより、電流値生成部２０４は、電圧値Ｖsnsから、コイルＬ１に流れる駆動電流Ｉの検出値Ｉsns（実際には補正後の検出値Ｉsns*）を生成する。
【００３４】
図４では、電圧値Ｖsns及び検出値Ｉsnsについて、電圧値Ｖsnsの極性（符号）の反転処理の対象となる箇所を破線で示している。モータ制御部２００は、図４に示すように、ＰＷＭ＋がＨレベル（ＰＷＭ−がＬレベル）の場合には、電圧値Ｖsnsの符号を反転させず、ＰＷＭ＋がＬレベル（ＰＷＭ−がＨレベル）の場合には、電圧値Ｖsnsの符号の反転させる処理を行う。このように、ＰＷＭ＋またはＰＷＭ−に応じた、電流値Ｖsnsの符号の反転処理により、電圧値Ｖsnsから、実際の駆動電流Ｉと同様の波形を示す検出値Ｉsnsを取得できる。
【００３５】
＜モータ制御部２００＞
モータ制御部２００は、電流波形生成部２０１、ＰＩＤ制御部２０２、ＰＷＭ生成部２０３、及び電流値生成部２０４を備えている。モータ制御部２００は、モータのコイルＬ１に流れる駆動電流Ｉの検出結果に基づいて、モータ駆動回路２５０へ供給するＰＷＭ信号を制御することで、モータの駆動制御を行う。駆動電流Ｉの検出には、上述のように、ＦＥＴ Ｑ３，Ｑ４のソース端子とＧＮＤとの間（Ｈブリッジ回路とＧＮＤとの間）に接続された電流検出抵抗Ｒ１が用いられる。
【００３６】
電流検出抵抗Ｒ１に電流が流れた場合に電流検出抵抗Ｒ１に生じる電圧（両端電圧）は、差動増幅部２３０へ入力される。差動増幅部２３０の出力はＡ／Ｄ変換部２２０を介してモータ制御部２００へ入力される。差動増幅部２３０は、オペアンプ等によって構成されており、電流検出抵抗Ｒ１の両端電圧を増幅してＡ／Ｄ（アナログ／デジタル）変換部２２０へ出力する。Ａ／Ｄ変換部２２０は、差動増幅部２３０から出力された電圧のＡ／Ｄ変換を行うことで、デジタル形式の電圧値Ｖsnsを生成してモータ制御部２００へ出力する。モータ制御部２００内の電流値生成部２０４は、電圧値Ｖsnsを、電流検出抵抗Ｒ１に流れる電流の値として取得する。なお、図１では、差動増幅部２３０及びＡ／Ｄ変換部２２０は、モータ制御部２００及びモータ駆動回路２５０とは独立したブロック（回路）として設けられているが、モータ制御部２００またはモータ駆動回路２５０に組み込まれていてもよい。
【００３７】
電流波形生成部２０１は、不図示の上位の制御回路からモータ制御部２００への指示に基づいて駆動対象のモータのコイルＬ１に流れる駆動電流Ｉの目標値Ｉtgtを生成して出力する。例えば、２相のステッピングモータを、１０００ｐｐｓのパルスレート、１Ａの巻線電流による２相励磁モードで駆動する場合には、電流波形生成部２０１は、周波数が２５０Ｈｚ、振幅が１Ａの矩形波を、駆動電流Ｉの目標値Ｉtgtとして生成する。
【００３８】
モータ制御部２００では、電流波形生成部２０１から出力される、駆動電流Ｉの目標値Ｉtgtと、電流値生成部２０４から出力される、駆動電流Ｉの検出値Ｉsns（実際には補正後の検出値Ｉsns*）との差分が算出される。得られた差分値はＰＩＤ制御部２０２に入力される。ＰＩＤ制御部２０２は、入力された差分値に基づいてＰＩＤ演算を行うことで、モータ駆動回路２５０へ出力されるＰＷＭ信号のデューティ比を決定（算出）し、決定したデューティ比をＰＷＭ生成部２０３へ出力する。なお、デューティ比とは、ＰＷＭ信号の１周期におけるＨレベルの期間の占める割合である。このように、ＰＩＤ制御部２０２は、電流値生成部２０４によって生成された検出値Ｉsnsに基づいて、ＰＷＭ生成部２０３によるＰＷＭ信号の生成を制御する。
【００３９】
ＰＷＭ生成部２０３は、ＰＩＤ制御部２０２から出力されたデューティ比に基づいてＰＷＭ信号を生成し、生成したＰＷＭ信号をモータ駆動回路２５０へ出力する。具体的には、ＰＷＭ生成部２０３は、ＰＷＭの１周期ごとに、ＰＩＤ制御部２０２によって決定されたデューティ比のＰＷＭ信号（ＰＷＭ＋）と、当該ＰＷＭ信号（ＰＷＭ＋）と逆位相の関係にあるＰＷＭ信号（ＰＷＭ−）とを生成する。上述のように、ＰＷＭ＋は、ＦＥＴ Ｑ１，Ｑ４を駆動するために用いられ、ＰＷＭ−は、ＦＥＴ Ｑ２，Ｑ３を駆動するために用いられる。
【００４０】
電流値生成部２０４は、Ａ／Ｄ変換部２２０を介して入力された、電流検出抵抗Ｒ１の両端電圧に対応する電圧値Ｖsnsに対して、上述のように、極性（符号）の反転処理を行う。電流値生成部２０４は、ＰＷＭ生成部２０３によって生成されたＰＷＭ信号（ＰＷＭ＋）の論理値（ＨまたはＬ）に基づいて、電圧値Ｖsnsの符号（極性）が実際の駆動電流Ｉの極性と一致するよう、電圧値Ｖsnsの符号の反転処理を行う。これにより、電流値生成部２０４は、電圧値Ｖsnsから駆動電流Ｉの検出値Ｉsnsを生成する。
【００４１】
＜駆動電流Ｉの検出タイミング＞
上述のようなＨブリッジ回路では、ＦＥＴ Ｑ１〜Ｑ４の駆動用のＰＷＭ信号（ＰＷＭ＋及びＰＷＭ−）のパルス幅（ＨレベルまたはＬレベルの継続時間）が極端に短い場合、ＦＥＴのスイッチングがＰＷＭ信号に追従できなくなる。この場合、電流値生成部２０４による駆動電流Ｉの検出結果に誤差が生じうる。具体的には、ＰＷＭ信号のレベルが変化した際に、電流検出抵抗Ｒ１に流れる電流の方向が反転していないにもかかわらず、電流値生成部２０４がＰＷＭ信号に同期して電圧値Ｖsnsの符号の反転処理を行うと、検出値Ｉsnsに誤差が生じる。また、ＰＷＭ信号（ＰＷＭ＋及びＰＷＭ−）のパルス幅（ＨレベルまたはＬレベルの継続時間）が極端に短い場合、ＨレベルとＬレベルとが切り替わるときに生じるスイッチングノイズが検出値Ｉsnsに重畳することで誤差が生じる虞がある。
【００４２】
このような誤差を低減するために、本実施例では、ＰＷＭの１周期（ＰＷＭ信号の生成の１周期）ごとに、ＰＷＭ信号のＨレベルの期間（以下、「Ｈ期間」と称する。）及びＬレベルの期間（以下、「Ｌ期間」と称する。）のうちで長い方の期間に、駆動電流Ｉの検出を行う。ＰＷＭ信号のＨ期間及びＬ期間のいずれにおいて駆動電流Ｉの検出を行うのかは、例えば、ＰＷＭ信号の１周期内のＨレベルの期間の割合を示すデューティ比ＤＲを用いて決定できる。即ち、電流値生成部２０４は、ＰＷＭの１周期において、ＰＷＭ信号のデューティ比ＤＲが５０％以上である場合にはＨ期間に、デューティ比ＤＲが５０％未満である場合にはＬ期間に、電圧値Ｖsnsのサンプルを取得する。更に、電流値生成部２０４は、取得したサンプルから、駆動電流Ｉの検出値Ｉsnsを生成する。
【００４３】
このように、電流値生成部２０４は、ＰＷＭの１周期Ｔpwmごとに１回、ＰＷＭ信号のＨ期間内またはＬ期間内に電圧値Ｖsnsのサンプリングを行い、得られたサンプルから駆動電流Ｉの検出値Ｉsnsを生成する。ここで、図５は、駆動電流Ｉの検出タイミングの例を示す図であり、Ｔpwm、ｔs1及びｔs2は、それぞれ、ＰＷＭ周期、Ｈ期間内のサンプリングタイミング、Ｌ期間内のサンプリングタイミングを示す。本実施例では、図５に示すように、ＰＷＭ信号は、ＰＷＭ周期Ｔpwmの中心にＨ期間が配置され、かつ、ＰＷＭ周期Ｔpwmの中心に対して対称の波形となるように形成される。また、ｔs1は、ＰＷＭ周期Ｔpwmの中心タイミングと一致する、Ｈ期間の中心タイミングに設定される。ｔs2は、ＰＷＭ周期Ｔpwmの開始タイミングと一致する、Ｌ期間の中心タイミングに設定される。
【００４４】
本実施例では、電流値生成部２０４は、各ＰＷＭ周期Ｔpwmにおいて、ＰＷＭ信号のデューティ比ＤＲに応じて、Ｈ期間の中心タイミングｔs1またはＬ期間の中心タイミングｔs2に、電圧値Ｖsnsのサンプルを取得し、検出値Ｉsnsを生成する。Ｌ期間の中心タイミングｔs2におけるサンプリングは、ＰＷＭ周期Ｔpwmの開始タイミングに行われる。即ち、電流値生成部２０４は、各ＰＷＭ周期Ｔpwmにおいて、ＰＷＭ信号のデューティ比ＤＲに応じて、当該ＰＷＭ周期Ｔpwmの中心タイミングｔs1か、当該ＰＷＭ周期Ｔpwmの開始タイミングｔs2に、駆動電流Ｉの検出を行う。なお、このようにＰＷＭ信号のＨレベルまたはＬレベルの期間の中心タイミングで駆動電流Ｉを検出することで、ＰＷＭ信号に従った各ＦＥＴのスイッチングに伴うノイズによる誤検出を避けることができる。
【００４５】
＜駆動電流Ｉの検出結果に生じる歪み＞
次に、Ｈブリッジ回路へ供給されるＰＷＭ信号に対する、モータのコイルＬ１に流れる駆動電流Ｉの過渡応答特性に起因して、駆動電流Ｉの検出結果を示す電流波形に生じる歪みについて説明する。図６は、Ｈブリッジ回路へ供給されるＰＷＭ信号（ＰＷＭ＋）がＨレベルからＬレベルへ切り替わる期間における、モータのコイルＬ１に流れる駆動電流Ｉの波形の例を示す図である。
【００４６】
モータのコイルＬ１に流れる駆動電流Ｉは、図６に示すように、所定の曲率を有する波形を示す。これは、コイルＬ１が、モータのコイルＬ１のリアクタンス成分及び抵抗成分を有しており、それらの成分の直列回路で近似されることに起因している。即ち、駆動電流Ｉは、Ｈブリッジ回路へ供給されるＰＷＭ信号の変化に対して、モータのコイルＬ１のリアクタンス成分及び抵抗成分によって定まる時定数τで変化する過渡応答特性を有している。
【００４７】
上述の駆動電流Ｉの特性に起因して、図６に示すように、ＰＷＭの１周期ごとに、ＰＷＭ＋のＨ期間内のタイミングｔs1における駆動電流Ｉの値（Ｉ＿Ｈ）は、ＰＷＭ＋のＬ期間内のタイミングｔs2における駆動電流Ｉの値（Ｉ＿Ｌ）に比べて高くなる。また、電流値生成部２０４における駆動電流Ｉの検出値Ｉsnsも、同様の傾向を示すことになる。即ち、ＰＷＭ＋のＨ期間内のタイミングｔs1では、駆動電流Ｉは相対的に高い値として検出され、ＰＷＭ＋のＬ期間内のタイミングｔs2では、駆動電流Ｉは相対的に低い値として検出されることになる。
【００４８】
このように、駆動電流Ｉの検出タイミングがＰＷＭ信号のＨ期間である場合とＬ期間である場合とで、それぞれの期間に得られる駆動電流Ｉの検出値Isnsに差が生じる。このような、駆動電流Ｉの検出タイミングによる検出値Ｉsnsの差は、駆動電流Ｉの検出結果を示す電流波形に歪みを生じさせうる。
【００４９】
ここで、図７は、駆動電流Ｉの検出結果を示す電流波形の一例を示す図であり、ＰＷＭ信号のデューティ比ＤＲ＜５０％の期間とＤＲ≧５０％の期間とが交互に繰り返す例を示している。また、図７の電流波形は、ＰＷＭの１周期ごとに１回、デューティ比ＤＲ≧５０％である場合にはＨ期間内に、デューティ比ＤＲ＜５０％である場合にはＬ期間内に、駆動電流Ｉを検出した場合の検出値Ｉsnsの変化を示している。
【００５０】
図７からわかるように、デューティ比が切り替わる時点で電流波形に段差が生じている。これは、各ＰＷＭ周期において駆動電流Ｉの検出タイミングがＨ期間である場合（ＤＲ≧５０％）とＬ期間である場合（ＤＲ＜５０％）とで、駆動電流Ｉの検出値に差異が生じることに起因している。その結果、ＰＷＭ信号のデューティ比ＤＲが、５０％未満の値と５０％以上の値との間で変化する各ポイントで、電流波形（検出値Ｉsns）に急激な変化（段差）が生じ、即ち、駆動電流Ｉの検出結果に歪みが生じている。
【００５１】
図７に示すような歪みが生じた駆動電流Ｉの検出結果に基づいて、ＰＷＭ生成部２０３によるＰＷＭ信号の生成を制御した場合、生成されるＰＷＭ信号のデューティ比ＤＲに急激な変化が生じることになる。その結果、Ｈブリッジ回路による駆動対象のモータに回転速度の変動や振動が生じる等、モータの駆動制御に不具合が生じる可能性がある。
【００５２】
＜駆動電流Ｉの検出値の補正処理＞
本実施例では、上述のように駆動電流Ｉの検出結果に生じる歪みを低減するために、電流値生成部２０４は、電圧値Ｖsnsから得られる駆動電流Ｉの検出値Ｉsnsに対して補正処理を行う。この補正処理は、駆動電流Ｉの検出タイミングに依存した、駆動電流Ｉの検出値Ｉsnsの差異を低減するための処理である。
【００５３】
具体的には、電流値生成部２０４は、駆動電流Ｉの検出タイミングが、ＰＷＭ信号（ＰＷＭ＋）のＨ期間内であるかＬ期間内であるかに応じて、異なる符号の補正値で、検出値Ｉsnsを補正する。駆動電流Ｉの検出タイミングがＨ期間内である場合には、駆動電流Ｉの検出値は相対的に高い値を示す。この場合、電流値生成部２０４は、駆動電流Ｉの検出値Ｉsnsを減少させる補正値Ｃ１（Ｃ１＜０）を使用して、当該検出値を補正すればよい。一方、検出タイミングがＬ期間内である場合には、駆動電流Ｉの検出値Ｉsnsは相対的に低い値を示す。この場合、電流値生成部２０４は、駆動電流Ｉの検出値Ｉsnsを増加させる補正値Ｃ２（Ｃ２＞０）を使用して、当該検出値を補正すればよい。
【００５４】
図８は、駆動電流Ｉの検出値Ｉsnsの補正の例を示す図である。図８には、駆動電流Ｉ(ｔ)及びその検出タイミングｔs1，ｔs2、並びに検出値Ｉsnsの補正の基準として用いる、直線状の基準関数ｒｅｆ１(ｔ)，ｒｅｆ２(ｔ)を示している。なお、ｔは時間を表す。基準関数ｒｅｆ１(ｔ)は、ＰＭＷ信号（ＰＷＭ＋）のＨ期間に駆動電流Ｉが線形的に増加した場合を示し、基準関数ｒｅｆ２(ｔ)は、ＰＭＷ信号（ＰＷＭ＋）のＬ期間に駆動電流Ｉが線形的に減少した場合を示している。なお、図８では、ＰＷＭ生成部２０３によってデューティ比ＤＲ＝５０％のＰＷＭ信号を生成した場合を一例として示している。
【００５５】
本実施例では、駆動電流Ｉの検出値Ｉsnsと、基準関数ｒｅｆ１(ｔ)，ｒｅｆ２(ｔ)が示す基準値との差をキャンセルするように、検出値Ｉsnsを補正する。具体的には、図８に示すように、Ｈ期間内の検出タイミングｔs1における駆動電流の値Ｉ(ｔs1)は、基準関数が示す基準値ｒｅｆ１(ｔs1)よりも、Δｉ１だけ高くなっている。このため、Ｈ期間における補正値Ｃ１は、駆動電流Ｉの検出値ＩsnsをΔｉ１だけ減少させるよう、Ｃ１＝−Δｉ１と定められる。一方、Ｌ期間内の検出タイミングｔs2における駆動電流の値Ｉ(ｔs2)は、基準関数が示す基準値ｒｅｆ２(ｔs2)よりも、Δｉ２だけ低くなっている。このため、Ｌ期間における補正値Ｃ２は、駆動電流Ｉの検出値ＩsnsをΔｉ２だけ増加させるよう、Ｃ２＝Δｉ２と定められる。電流値生成部２０４は、駆動電流Ｉの検出値Ｉsnsに対して補正値Ｃ１またはＣ２を加算することで、当該検出値と基準値との差をキャンセルするように当該検出値を補正する。
【００５６】
図９は、駆動電流Ｉの検出値Ｉsnsを生成し、当該検出値を補正値Ｃ１またはＣ２で補正する電流値生成部２０４の具体的な構成例を示す図である。電流値生成部２０４は、検出制御部９０１、検出値生成部９０２、補正制御部９０３、及び補正値記憶部９０４を備える。
【００５７】
検出制御部９０１は、ＰＷＭ生成部２０３からＰＷＭ信号のデューティ比ＤＲを取得し、取得したＤＲに基づいて、検出値生成部９０２及び補正制御部９０３を制御する。検出制御部９０１は、１ＰＷＭ周期Ｔpwmにおいて、駆動電流Ｉの検出をＨ期間内のタイミングＴs1に行うかＬ期間内のタイミングＴs2に行うかを、上述のようにデューティ比ＤＲに基づいて決定する。更に、検出制御部９０１は、決定したタイミングに駆動電流Ｉの検出を行うよう、検出値生成部９０２を制御する。また、検出制御部９０１は、Ｈ期間用の補正値Ｃ１及びＬ期間用の補正値Ｃ２のいずれを用いて検出値Ｉsnsを補正すべきかを、補正制御部９０３に指示する。
【００５８】
検出値生成部９０２は、Ａ／Ｄ変換部２２０から出力される電圧値Ｖsnsを、検出タイミングＴs1またはＴs2にサンプリングし、得られたサンプルから、駆動電流Ｉの検出値Ｉsnsを生成する。なお、検出値生成部９０２は、電圧値Ｖsns（または、生成した検出値Ｉsns）に対して、必要に応じて上述の符号反転処理を行う。このように、検出値生成部９０２は、Ｈブリッジ回路に対して設けられた電流検出抵抗Ｒ１に生じる電圧に基づいて、モータのコイルＬ１に流れる駆動電流Ｉを検出して検出値Ｉsnsを生成する。
【００５９】
補正制御部９０３は、検出値生成部９０２によって生成される、駆動電流Ｉの検出値Ｉsnsを、検出制御部９０１からの指示に従って補正する。具体的には、補正制御部９０３は、補正値記憶部９０４から読み出した補正値Ｃ１またはＣ２を検出値Ｉsnsに加算することで検出値Ｉsnsを補正し、補正後の検出値Ｉsns*を生成及び出力する。補正値記憶部９０４には、予め決定された補正値Ｃ１及びＣ２が格納されている。
【００６０】
＜補正値の取得処理＞
図１０は、電流値生成部２０４（補正制御部９０３）によって使用される補正値Ｃ１及びＣ２の取得処理の手順を示すフローチャートである。補正値Ｃ１及びＣ２の取得処理は、駆動電流Ｉの検出結果に基づくＰＩＤ制御部２０２によるフィードバック制御が行われていない期間に行われる。なお、図１０に示す各ステップの処理は、ＣＰＵ（図示せず）が記憶デバイスに格納されたプログラムを読み出して実行する処理によって実現されてもよいし、図１及び図９に示す各ブロックの機能を実現する１つ以上の回路によって実現されてもよい。
【００６１】
補正値Ｃ１及びＣ２は、例えば、所定のデューティ比のＰＷＭ信号をＰＷＭ生成部２０３に生成させ、検出タイミングｔs1，ｔs2に電流値生成部２０４によってそれぞれ生成される検出値に基づいて得ることが可能である。図１０では、一例として、デューティ比ＤＲ＝５０％のＰＷＭ信号をＰＷＭ生成部２０３に生成させて、補正値を取得する手順を示している。
【００６２】
まずＳ１０１で、電流値生成部２０４（補正制御部９０３）は、ＰＷＭ生成部２０３に、デューティ比ＤＲ＝５０％のＰＷＭ信号（ＰＷＭ＋及びＰＷＭ−）の生成及びモータ駆動回路２５０への出力を開始させる。これにより、図８に示すようなＰＷＭ信号が、ＰＷＭ生成部２０３からモータ駆動回路２５０へ出力され、Ｈブリッジ回路によってモータのコイルＬ１に駆動電流Ｉが供給される。
【００６３】
次にＳ１０２で、電流値生成部２０４（検出値生成部９０２）は、Ｈ期間内の検出タイミングｔs1及びＬ期間内の検出タイミングｔs2の両方において、電圧値Ｖsnsのサンプリングを行い、駆動電流Ｉの検出値Ｉsnsを生成する。これにより、検出タイミングｔs1及びｔs2のそれぞれにおける検出値Ｉsnsが取得される。
【００６４】
次にＳ１０３で、電流値生成部２０４（補正制御部９０３）は、ｔs1に取得した検出値Ｉsnsとｔs2に取得した検出値Ｉsnsとの差分を算出する。算出される差分Ｉdiffの絶対値は、図８に示すように、Δｉ１及びΔｉ２の和と等価である。Δｉ１及びΔｉ２は以下のように表される。
Δｉ１ ＝ Ｉ(ｔs1)−ｒｅｆ１(ｔs1)      （１）
Δｉ２ ＝ ｒｅｆ２(ｔs2)−Ｉ(ｔs2)      （２）
ここで、検出タイミングｔs1はＨ期間の中心タイミング、検出タイミングｔs2はＬ期間の中心タイミングである。このため、図８に示すように、１次関数であるｒｅｆ１(ｔ)及びｒｅｆ２(ｔ)に基づいて、ｒｅｆ１(ｔs1)及びｒｅｆ２(ｔs2)はいずれも(Ｅ／Ｒ）／２となる。したがって、式（１）及び（２）は、次式に変換できる。
Ｉ(ｔs1) ＝ (Ｅ/Ｒ)/２＋Δｉ１      （３）
Ｉ(ｔs2) ＝ (Ｅ/Ｒ)/２−Δｉ２      （４）
更に、式（３）及び（４）の差分の絶対値は、
|Ｉdiff| ＝ |Ｉ(ｔs1)−Ｉ(ｔs2)| ＝ Δｉ１＋Δｉ２      （５）
と求められる。即ち、検出タイミングｔs1及びｔs2における検出値Ｉsnsの差分Ｉdiffの絶対値は、Δｉ１及びΔｉ２の和と等価であることがわかる。
【００６５】
次にＳ１０４で、電流値生成部２０４（補正制御部９０３）は、Ｓ１０３で得られた差分の絶対値（|Ｉdiff|）を２で除算してΔｉ１及びΔｉ２を求めることで、以下のように補正値Ｃ１，Ｃ２を決定する。
Ｃ１ ＝ −Δｉ１ ＝ −|Ｉdiff|／２
Ｃ２ ＝   Δｉ２ ＝   |Ｉdiff|／２
【００６６】
ここで、Ｈ期間及びＬ期間の開始タイミングをそれぞれｔ＝０として、Ｈ期間及びＬ期間における駆動電流Ｉ(ｔ)をｉ１(ｔ)及びｉ２(ｔ)として表すと、以下の式が得られる。
ｉ１(ｔ) ＝ Ｅ／Ｒ(１−ｅ−(Ｒ/Ｌ)ｔ)      （６）
ｉ２(ｔ) ＝ Ｅ／Ｒ(ｅ−(Ｒ/Ｌ)ｔ)          （７）
なお、ｉ１(ｔ)及びｉ２(ｔ)は、モータのコイルＬ１をそのリアクタンス成分及び抵抗成分の直列回路で近似した場合の、コイルＬ１に流れる電流についての過渡解に相当する。また、電圧Ｅは、駆動電源からモータ駆動回路２５０に印加される電圧（２４Ｖ）であり、Ｒは、コイルＬ１の抵抗成分、Ｌは、コイルＬ１のリアクタンス成分（インダクタンス）である。式(６)は、（ＰＷＭ信号のＨ期間の開始タイミングに）電圧Ｅが印加された際の過渡電流を表している。また、式(７)は、電圧Ｅの印加によって駆動電流がＥ／Ｒに達した状態で、（ＰＷＭ信号のＬ期間の開始タイミングに）印加電圧が０［Ｖ］に切り替わった際の過渡電流を表している。
【００６７】
また、Ｈ期間及びＬ期間の開始タイミングをそれぞれｔ＝０とし、ＴをＰＷＭの半周期（Ｔ＝Ｔpwm／２）とすると、
ｒｅｆ１(ｔ) ＝ Ｅ／Ｒ(ｔ／Ｔ)            （８）
ｒｅｆ２(ｔ) ＝ Ｅ／Ｒ(１−(ｔ／Ｔ))      （９）
と表せる。このように、式（８）及び（９）は、時間Ｔの間にＥ／Ｒだけ駆動電流Ｉが変化することを表した直線に相当する。更に、式（６）と式（８）との差分ｉ１diff(ｔ)、及び（７）と式（９）との差分ｉ２diff(ｔ)を求めると、
ｉ１diff(ｔ) ＝   Ｅ／Ｒ(１−ｅ−(Ｒ／Ｌ)ｔ−ｔ／Ｔ)      （１０）
ｉ２diff(ｔ) ＝ −Ｅ／Ｒ(１−ｅ−(Ｒ／Ｌ)ｔ−ｔ／Ｔ)      （１１）
が得られる。このように、ｉ１diff(ｔ)及びｉ２diff(ｔ)は絶対値が等しい（|ｉ１diff(ｔ)|＝||ｉ２diff(ｔ)|）ことがわかる。検出タイミングｔs1及びｔs2は、ｔ＝Ｔ／２と等価であるため、式（１０）及び（１１）から次式が得られる。
Δｉ１ ＝ |ｉ１diff(Ｔ／２)| ＝ |ｉ２diff(Ｔ／２)| ＝ Δｉ２      （１３）
このように、Δｉ１＝Δｉ２が成立する。このため、検出タイミングｔs1及びｔs2にける検出値Ｉsnsの差分の絶対値（|Ｉdiff|）を２で除算することで、次式のようにΔｉ１及びΔｉ２を求めることが可能である。
|Ｉdiff|／２ ＝ （Δｉ１＋Δｉ２）／２ ＝ Δｉ１ ＝ Δｉ２      （１４）
したがって、上述のように、Ｓ１０４では|Ｉdiff|から補正値Ｃ１及びＣ２を決定できる。
【００６８】
最後にＳ１０５で、電流値生成部２０４（補正制御部９０３）は、決定した補正値Ｃ１及びＣ２を、補正値記憶部９０４に保存する。これにより、補正制御部９０３は、駆動電流Ｉの検出結果に基づいてＰＩＤ制御部２０２によるフィードバック制御が行われる際に、補正値記憶部９０４から補正値Ｃ１及びＣ２を読み出してＩsnsの補正に使用する。
【００６９】
＜モータ駆動制御の手順＞
次に、図１１を参照して、本実施例に係るモータ制御部２００によるモータ駆動制御の手順について説明する。なお、図１１に示す各ステップの処理は、ＣＰＵ（図示せず）が記憶デバイスに格納されたプログラムを読み出して実行する処理によって実現されてもよいし、図１及び図９に示す各ブロックの機能を実現する１つ以上の回路によって実現されてもよい。
【００７０】
Ｓ２０１で、モータ制御部２００は、モータ駆動回路２５０へ出力するＰＷＭ信号（ＰＷＭ＋及びＰＷＭ−）に基づいて、駆動対象のモータの駆動を開始する。これにより、電流値生成部２０４は、Ａ／Ｄ変換部２２０から出力される電圧値Ｖsnsから、駆動電流Ｉの検出値Ｉsnsを生成する処理を開始する。
【００７１】
モータの駆動開始後、Ｓ２０２〜Ｓ２０７の処理は、ＰＷＭ生成部２０３によるＰＷＭ信号の生成の１周期Ｔpwmごとに、電流値生成部２０４によって実行される。まず、Ｓ２０２で、検出制御部９０１は、ＰＷＭ生成部２０３から、生成されたＰＷＭ信号のデューティ比ＤＲを取得し、取得したデューティ比が５０％以上である（ＤＲ≧５０％）か否かを判定する。検出制御部９０１は、ＤＲが５０％以上である場合にはＳ２０３へ処理を進め、ＤＲが５０％未満である場合にはＳ２０５へ処理を進める。Ｓ２０３及びＳ２０５では、電流値生成部２０４は、ＰＩＤ制御部２０２によって決定されたデューティ比ＤＲに応じて、当該デューティ比ＤＲに対応するＰＷＭ信号の１周期において、Ｈレベルの期間内またはＬレベルの期間内に駆動電流Ｉを検出する。
【００７２】
具体的には、Ｓ２０３で、検出制御部９０１は、Ｈ期間内のタイミングｔs1において電圧値Ｖsnsをサンプリングし、駆動電流Ｉの検出値Ｉsnsを生成するよう、検出値生成部９０２を制御する。更に、Ｓ２０４で、検出制御部９０１は、生成された検出値ＩsnsをＨ期間用の補正値Ｃ１で補正するよう、補正制御部９０３を制御する。補正制御部９０３は、取得された検出値Ｉsnsに補正値Ｃ１（Ｃ１＜０）を加算することで、補正後の検出値Ｉsns*を取得し、当該補正後の検出値Ｉsns*を出力する。
【００７３】
一方、Ｓ２０５で、検出制御部９０１は、Ｌ期間内のタイミングｔs2において電圧値Ｖsnsをサンプリングし、駆動電流Ｉの検出値Ｉsnsを生成するよう、検出値生成部９０２を制御する。次に、Ｓ２０６で、検出制御部９０１は、生成した検出値Ｉsnsの符号（即ち、電圧値Ｖsnsの符号）を反転させる反転処理を行うよう、検出値生成部９０２を制御する。更に、Ｓ２０７で、検出制御部９０１は、生成された検出値ＩsnsをＬ期間用の補正値Ｃ２で補正するよう、補正制御部９０３を制御する。補正制御部９０３は、反転処理後の検出値Ｉsnsに補正値Ｃ２（Ｃ１＞０）を加算することで、補正後の検出値Ｉsns*を取得し、当該補正後の検出値Ｉsns*を出力する。
【００７４】
Ｓ２０４またはＳ２０７の後、Ｓ２０８で、モータ制御部２００は、モータの駆動を終了するか否かを判定し、モータの駆動を終了しないと判定と、処理をＳ２０２に戻し、上述の処理を繰り返し実行する。
【００７５】
以上説明したように、本実施例の電流値生成部２０４は、電流検出抵抗Ｒ１に生じる電圧に基づいて駆動電流Ｉを検出するとともに、生成した検出値Ｉsnsを、予め定められた補正値Ｃ１またはＣ２で補正する。電流値生成部２０４は、駆動電流Ｉの検出タイミングがＰＷＭ信号のＨ期間内である場合には、補正値Ｃ１で検出値Ｉsnsを補正する。一方、電流値生成部２０４は、駆動電流Ｉの検出タイミングがＰＷＭ信号のＬ期間内である場合には、補正値Ｃ１とは符号が異なる補正値Ｃ２で検出値Ｉsnsを補正する。これにより、モータのコイルＬ１に流れる駆動電流Ｉの検出結果に生じる歪みを低減し、検出精度を向上させることが可能である。その結果、駆動電流Ｉの検出結果に基づくモータの駆動制御によってモータに回転速度の変動や振動が生じるのを防ぐことが可能になる。
【００７６】
［実施例２］
実施例１では、デューティ比ＤＲ＝５０％のＰＷＭ信号を使用して予め決定された補正値Ｃ１及びＣ２によって、駆動電流Ｉの検出値Ｉsnsを補正している。実施例２では、検出値Ｉsnsの補正精度を向上させるために補正値Ｃ１及びＣ２を調整する例について説明する。本実施例では、補正値Ｃ１及びＣ２は、ＰＷＭ信号のデューティ比ＤＲ、Ｈ期間及びＬ期間の開始タイミングにおける検出値Ｉsns、及び駆動対象のモータの回転に従ってコイルＬ１に誘起される誘起電圧（逆起電圧）の少なくとも１つに応じて調整される。なお、以下では実施例１との相違点を中心として本実施例について説明する。
【００７７】
実施例１の式（１０）のＴと式（１１）のＴは、ＰＷＭ信号のデューティ比ＤＲが５０％である場合には同一の値となる一方、デューティ比ＤＲが５０％ではない場合には異なる値となる。例えば、ＤＲ＞５０％に変化すると、式（１０）のＴは大きくなり、式（１１）のＴは小さくなる。ＤＲ＜５０％に変化すると、式（１０）のＴは小さくなり、式（１１）は大きくなる。このため、デューティ比ＤＲに依存してΔｉ１及びΔｉ２が変化する。したがって、ＰＷＭ信号のデューティ比ＤＲが変化する場合、ＰＷＭ信号のデューティ比ＤＲに応じて補正値Ｃ１及びＣ２を調整することで、より適切な補正値を用いた補正が可能になる。
【００７８】
また、実施例１の式（６）は、Ｈ期間の開始タイミングの駆動電流（初期電流）の値ｉini1が０である場合を示している。一方、初期電流の値ｉini1が０ではない場合、式（６）の駆動電流ｉ１(ｔ)は、次式によって表される。
ｉ１(ｔ) ＝ (Ｅ／Ｒ−ｉini1)(１−ｅ−(Ｒ／Ｌ)ｔ)      （１２）
このように、初期電流に依存して、図８に示す電流波形が変化する。また、Ｌ期間に対応する式（７）の駆動電流ｉ２(ｔ)も同様に、初期電流の値ｉini2を用いて次式によって表される。
ｉ２(ｔ) ＝ (Ｅ／Ｒ−ｉini2)(ｅ−(Ｒ／Ｌ)ｔ)      （１３）
したがって、Ｈ期間及びＬ期間の初期電流の値が０ではない場合、Ｈ期間及びＬ期間の開始タイミングにおける検出値Ｉsns（初期電流の値）に応じて補正値Ｃ１及びＣ２を調整することで、より適切な補正値を用いた補正が可能になる。
【００７９】
また、実施例１では、モータのコイルＬ１に印加される電圧Ｅを、駆動電源から印加される電圧（２４Ｖ）として説明している。しかし、実際には、駆動対象のモータの回転に従って、当該モータの回転速度に応じた誘起電圧ｅがコイルＬ１に発生する。この誘起電圧ｅを考慮した場合、式（１２）及び（１３）は、次式によって表される。
ｉ１(ｔ) ＝ ((Ｅ−ｅ)／Ｒ−ｉini1)(１−ｅ−(Ｒ／Ｌ)ｔ)      （１４）
ｉ２(ｔ) ＝ ((Ｅ−ｅ)／Ｒ−ｉini2)ｅ−(Ｒ／Ｌ)ｔ      （１５）
これらの式は、コイルＬ１には、駆動電源の電圧Ｅを誘起電圧ｅだけ減少させた電圧が印加されることを意味する。
【００８０】
式（１４）及び（１５）から、Δｉ１及びΔｉ２は以下のように求められる。
Δｉ１ ＝ |  ((Ｅ−ｅ)／Ｒ−ｉini1)(１−ｅ−(Ｒ／Ｌ)ｔ−ｔ／Ｔ１)|      （１６）
Δｉ２ ＝ |−((Ｅ−ｅ)／Ｒ−ｉini2)(１−ｅ−(Ｒ／Ｌ)ｔ−ｔ／Ｔ２)|      （１７）
ここでＴ１及びＴ２は、デューティ比ＤＲに依存して変化するＨ期間及びＬ期間の長さを表す。これらのΔｉ１及びΔｉ２を用いて補正値Ｃ１及びＣ２を決定（調整）することで、より適切な補正値を用いた補正が可能になる。
【００８１】
本実施例では、上述の補正値Ｃ１及びＣ２は、モータ駆動装置の出荷前に測定または検討によって決定され、デューティ比ＤＲ、初期電流の値、及び誘起電圧の少なくともいずれかと対応付けて補正値記憶部９０４に予め格納されてもよい。この場合、補正制御部９０３は、デューティ比ＤＲ等に対応する補正値を補正値記憶部９０４から読み出して使用すればよい。
【００８２】
また、駆動電流Ｉの検出結果に基づくＰＩＤ制御部２０２によるフィードバック制御が行われていない期間に、補正値Ｃ１及びＣ２の取得処理が実行されてもよい。この場合、取得処理によって決定された補正値Ｃ１及びＣ２は、デューティ比ＤＲ、初期電流の値、及び誘起電圧の少なくともいずれかと対応付けて補正値記憶部９０４に格納される。補正制御部９０３は、デューティ比ＤＲ等に対応する補正値を補正値記憶部９０４から読み出して使用すればよい。
【００８３】
なお、実施例１，２では、駆動電流Ｉの検出タイミングにおけるＰＷＭ＋のレベル（ＨレベルまたはＬレベル）に合わせて、検出値Ｉsnsの補正（検出値の増加または減少）を行う場合について説明している。しかし、当然ながら、駆動電流Ｉの検出タイミングにおける、ＰＷＭ＋と逆位相の関係にあるＰＷＭ−のレベル（ＨレベルまたはＬレベル）に合わせて検出値Ｉsnsの補正を行うことも可能である。この場合、ＰＷＭ＋のＨ期間用の補正値Ｃ１は、ＰＷＭ−のＬ期間用の補正値として用いられ、ＰＷＭ＋のＬ期間用の補正値Ｃ２は、ＰＷＭ−のＨ期間用の補正値として用いられる。
【００８４】
［実施例３］
実施例３では、上述の実施例１，２で説明した電流値生成部２０４によって生成される、駆動電流Ｉの検出値Ｉsnsのフィードバックに基づくフィードバック制御を、ベクトル制御により実行する例について説明する。なお、以下では実施例１，２との相違点を中心として本実施例について説明する。
【００８５】
＜モータ制御部４００＞
図１２は、本実施例に係るモータ駆動装置に相当するモータ制御部４００の構成例を示す図である。モータ制御部４００は、駆動対象のステッピングモータ５０９の各相の巻線（図１４のコイルＬ１，Ｌ２）に駆動電流（相電流）を流すことで、ステッピングモータ５０９を駆動する。図１２に示すＣＰＵ４１０は、モータ制御部４００の外部のコントローラ（画像形成装置１００内の上位の制御回路）に相当する。ＣＰＵ４１０は、ステッピングモータ５０９の回転子の位置（回転位置）の指令値（θ＿ｒｅｆ）を生成し、モータ制御部４００へ出力する。例えば、位置指令値θ＿ｒｅｆは、パルス状の矩形波信号であり、１パルスがステッピングモータの回転角度の最小変化量を規定する。なお、モータの回転速度の指令値（速度指令値ω＿ｒｅｆ）は、θ＿ｒｅｆに対応する周波数として求められる。ＣＰＵ４１０は、モータの駆動シーケンスを開始すると、生成した位置指令値θ＿ｒｅｆを、所定の時間周期（制御周期）でモータ制御部４００へ出力する。モータ制御部４００は、ＣＰＵ４１０から与えられる位置指令値に従って、ステッピングモータ５０９の位置制御及び速度制御を実行する。
【００８６】
（ベクトル制御）
本実施例のモータ制御部４００は、ステッピングモータ５０９の駆動制御をベクトル制御によって実現する。ここでは、図１２及び図１３を参照して、モータ制御部４００によって実行される、ステッピングモータ５０９のベクトル制御の概要について説明する。図１２に示すモータ制御部４００の基本的な構成は、ブラシレスＤＣモータ、ＡＣサーボモータ等のモータで利用されている、静止座標系から回転座標系への座標変換を用いたインバータ制御に対応した構成である。なお、ステッピングモータ５０９は、少なくとも２相から成るモータであり、本実施例では実施例１，２と同様、Ａ相及びＢ相（第１相及び第２相）から成る２相のモータである。
【００８７】
モータ制御部４００では、ベクトル制御部５１５から出力される、ステッピングモータ５０９の駆動電圧Ｖα，Ｖβに応じて、ＰＷＭインバータ５０６がステッピングモータ５０９へ駆動電流を供給することによって、ステッピングモータ５０９を駆動する。なお、図１２に示すように、ベクトル制御部５１５は、速度制御器５０２、電流制御器５０３，５０４、及び座標変換器５０５，５１１によって構成されている。
【００８８】
ここで、図１３は、Ａ相及びＢ相から成る２相のモータと回転座標系のｄ軸及びｑ軸との関係を示す図である。同図では、静止座標系における、Ａ相及びＢ相の巻線に対応した軸をそれぞれα軸及びβ軸と定義している。また、静止座標系におけるα軸と、回転子（ロータ）として用いられる永久磁石の磁極によって作られる磁束の方向（ｄ軸）との成す角度をθと定義している。この場合、ステッピングモータ５０９の出力軸の位置（回転位置）は、角度θによって表される。ベクトル制御では、図１３に示すように、回転子の磁束方向に沿ったｄ軸と、ｄ軸から９０度進んだ方向に沿った（ｄ軸と直交する）ｑ軸とで表される、ステッピングモータ５０９の位置θを基準とした回転座標系が用いられる。
【００８９】
モータ制御部４００は、ステッピングモータ５０９へ供給する駆動電流を、ステッピングモータ５０９の位置θを基準とした回転座標系の電流値によって制御するベクトル制御を行う。ベクトル制御では、ステッピングモータ５０９のＡ相及びＢ相の巻線に流れる駆動電流に対応する電流ベクトルが、α軸及びβ軸で表される静止座標系から、ｄ軸及びｑ軸で表される回転座標系に変換される。このような座標変換の結果、ステッピングモータ５０９に供給される駆動電流は、回転座標系において、直流のｄ軸成分（ｄ軸電流）及びｑ軸成分（ｑ軸電流）によって表される。この場合、ｑ軸電流は、ステッピングモータ５０９にトルクを発生させるトルク電流成分に相当し、回転子の回転に寄与する電流である。ｄ軸電流は、ステッピングモータ５０９の回転子の磁束強度に影響する励磁電流成分に相当する。モータ制御部４００は、回転座標系におけるｑ軸電流及びｄ軸電流を独立して制御することで、ステッピングモータ５０９のベクトル制御を実現する。
【００９０】
具体的には、モータ制御部４００は、ステッピングモータ５０９の回転子の位置（ロータ位置）及び回転速度を推定（決定）し、その推定結果に基づいてベクトル制御を行う。モータ制御部４００は、図１２に示すように、位置制御器５０１、速度制御器５０２、及び電流制御器５０３，５０４へのそれぞれのフィードバックに基づく３つの制御ループを含み、これらの制御ループによってベクトル制御を実現する。なお、図１２に示すモータ制御部４００において、ステッピングモータ５０９の位置θの推定は、誘起電圧演算部５１２及び位置演算部５１３によって行われる。また、ステッピングモータ５０９の回転速度ωの推定は、位置θの推定値に基づいて、速度演算部５１４によって行われる。
【００９１】
位置制御器５０１を含む、最も外側の制御ループでは、ステッピングモータ５０９の位置θの推定値のフィードバックに基づいて、ステッピングモータ５０９の位置制御を行う。モータ制御部４００には、システムコントローラ１５１のＣＰＵ４１０から、ステッピングモータ５０９の位置指令値θ＿ｒｅｆが与えられる。位置制御器５０１は、位置演算部５１３からフィードバックされる、ステッピングモータ５０９の位置θの推定値の、位置指令値θ＿ｒｅｆ（目標値）に対する偏差が０に近づくように、速度指令値ω＿ｒｅｆを生成して出力する。このようにして、位置制御器５０１によるステッピングモータ５０９の位置制御が行われる。
【００９２】
速度制御器５０２を含む制御ループでは、ステッピングモータ５０９の回転速度ωの推定値のフィードバックに基づいて、ステッピングモータ５０９の速度制御を行う。速度制御器５０２は、速度演算部５１４からフィードバックされる、ステッピングモータ５０９の回転速度ωの推定値の、速度指令値ω＿ｒｅｆ（目標値）に対する偏差が０に近づくように、電流指令値ｉｑ＿ｒｅｆ，ｉｄ＿ｒｅｆを生成して出力する。なお、電流指令値ｉｑ＿ｒｅｆ，ｉｄ＿ｒｅｆは、静止座標系（αβ軸）から回転座標系（ｄｑ軸）への座標変換後の、回転座標系における電流指令値である。
【００９３】
電流制御器５０３，５０４を含む制御ループでは、ステッピングモータ５０９の各相の巻線に流れる駆動電流の検出値のフィードバックに基づいて、ステッピングモータ５０９の各相の巻線に供給する駆動電流を制御する。ここで、ステッピングモータ５０９のＡ相及びＢ相の巻線にそれぞれ流れる電流（交流電流）の電流値ｉα，ｉβは、静止座標系において、ステッピングモータ５０９の位置θを用いて次式によって表すことができる。
ｉα＝Ｉ＊ｃｏｓθ
ｉβ＝Ｉ＊ｓｉｎθ      （１）
この場合、回転座標系におけるｄ軸電流及びｑ軸電流（直流電流）の電流値ｉｄ，ｉｑは、次式に示す座標変換（クラーク変換）によって表される。
ｉｄ＝  ｃｏｓθ＊ｉα＋ｓｉｎθ＊ｉβ
ｉｑ＝−ｓｉｎθ＊ｉα＋ｃｏｓθ＊ｉβ      （２）
【００９４】
このような座標変換によって、静止座標系における、Ａ相及びＢ相の巻線にそれぞれ流れる交流電流値ｉα，ｉβは、回転座標系における直流電流値ｉｑ，ｉｄに変換される。なお、ｑ軸電流は、ステッピングモータ５０９にトルクを発生させるトルク電流成分（第１の電流成分）である。ｄ軸電流は、ステッピングモータ５０９の回転子の磁束強度に影響する励磁電流成分（第２の電流成分）であり、ステッピングモータ５０９のトルクの発生には寄与しない。
【００９５】
ステッピングモータ５０９のＡ相及びＢ相の巻線に流れる駆動電流は、電流検出部５０７，５０８によってそれぞれ検出される。電流検出部５０７，５０８は、ＰＷＭインバータ５０６からステッピングモータ５０９のＡ相及びＢ相の巻線にそれぞれ供給される駆動電流が流れる経路に接続されている。電流検出部５０７，５０８は、ステッピングモータ５０９の各相の巻線に流れる駆動電流を検出して電流検出値を出力する。電流検出部５０７，５０８から出力される、静止座標系における電流値（電流検出値）ｉα，ｉβは、座標変換器５１１及び誘起電圧演算部５１２へ入力される。
【００９６】
座標変換器５１１は、式（２）によって、静止座標系（αβ軸）における電流値ｉα，ｉβを回転座標系（ｄｑ軸）における電流値ｉｑ，ｉｄへ変換して出力する。電流制御器５０３，５０４には、座標変換器５１１から出力される、回転座標系における検出された電流値ｉｑ，ｉｄと、速度制御器５０２から出力される、回転座標系における電流指令値ｉｑ＿ｒｅｆ，ｉｄ＿ｒｅｆとの差分値が入力される。電流制御器５０３，５０４は、入力された差分値（即ち、検出された電流値ｉｑ，ｉｄの、目標値である電流指令値ｉｑ＿ｒｅｆ，ｉｄ＿ｒｅｆに対する偏差）が０に近づくように、回転座標系における電流値ｉｑ'，ｉｄ'を生成及び出力する。なお、位置制御器５０１、速度制御器５０２、及び電流制御器５０３，５０４はそれぞれ、例えば、比例補償器及び積分補償器で構成され、ＰＩ制御によりフィードバック制御を実現する。
【００９７】
座標変換器５０５は、電流制御器５０３，５０４から出力される、回転座標系における電流値ｉｑ'，ｉｄ'を、次式によって、静止座標系における電流値ｉα'，ｉβ'へ逆変換する。
ｉα'＝ｃｏｓθ＊ｉｄ'−ｓｉｎθ＊ｉｑ'
ｉβ'＝ｓｉｎθ＊ｉｄ'＋ｃｏｓθ＊ｉｑ'      （３）
座標変換器５０５は、静止座標系への座標変換後の電流値ｉα'，ｉβ'に応じた駆動電圧Ｖα，Ｖβを、フルブリッジ回路で構成されたＰＷＭインバータ５０６、及び誘起電圧演算部５１２へ出力する。
【００９８】
このようにして、ベクトル制御部５１５は、ステッピングモータ５０９の位置θを基準とした回転座標系（ｄｑ軸）の電流値によって、ステッピングモータ５０９の各相の巻線に供給する駆動電流を制御するベクトル制御を行う。本実施例では、ステッピングモータ５０９の位置θは、後述するように、当該モータの各相の巻線に流れる駆動電流の検出結果に基づく推定演算によって決定される。ベクトル制御部５１５は、ステッピングモータ５０９の位置θの推定値のフィードバックに基づくベクトル制御の結果として、ステッピングモータ５０９へ供給する駆動電流に対応する駆動電圧Ｖα，Ｖβを出力する。なお、ベクトル制御では、通常、ステッピングモータ５０９のトルクの発生には寄与しない電流成分であるｄ軸電流は、値が０となるように制御される。即ち、ベクトル制御部５１５では、電流指令値ｉｄ＿ｒｅｆが０に設定される。
【００９９】
ＰＷＭインバータ５０６では、座標変換器５０５から入力された駆動電圧Ｖα，Ｖβによってモータ駆動回路２５０（図１４）が駆動される。その結果、ＰＷＭインバータ５０６は、駆動電圧Ｖα，Ｖβに応じてステッピングモータ５０９の各相の巻線（図１４のコイルＬ１，Ｌ２）に駆動電流を供給することによって、ステッピングモータ５０９を駆動する。
【０１００】
（センサレス制御）
上述のように、ベクトル制御では、モータの位置制御及び速度制御を行うために、モータの位置及び回転速度を示す情報のフィードバックが必要である。具体的には、図１２に示す構成では、ステッピングモータ５０９の回転子の位置θを示す位置情報、及びステッピングモータ５０９の回転速度ωを示す速度情報を、位置制御器５０１及び速度制御器５０２にそれぞれフィードバックする必要がある。
【０１０１】
通常、モータの位置及び回転速度を検出（推定）するためには、モータの回転軸にロータリエンコーダを取り付け、エンコーダの出力パルス数に基づいて位置を検出し、エンコーダの出力パルス周期に基づいて回転速度を検出する。しかし、本来ステッピングモータの駆動に不要であるエンコーダを追加することによって、上述のように、コストアップ及び配置スペースの確保が問題となる。そこで、エンコーダ等の位置検知のためのセンサを用いることなくモータの位置及び回転速度を推定し、その推定結果に基づいてベクトル制御を行うセンサレス制御が提案されている。以下では、再び図１２を参照して、ステッピングモータ５０９のセンサレス制御について説明する。
【０１０２】
まず、誘起電圧演算部５１２は、ステッピングモータ５０９（の回転子）の回転に従って、Ａ相（第１相）及びＢ相（第２相）の巻線にそれぞれ誘起される誘起電圧（Ａ相及びＢ相の逆起電圧）を演算する。具体的には、電流検出部５０７，５０８から出力された電流値ｉα，ｉβと、ベクトル制御部５１５から出力された、ステッピングモータ５０９の駆動電圧Ｖα，Ｖβとが、誘起電圧演算部５１２に入力される。誘起電圧演算部５１２は、Ａ相及びＢ相のそれぞれについて、駆動電圧Ｖα，Ｖβと電流値ｉα，ｉβとから、以下の電圧方程式によって、ステッピングモータ５０９の誘起電圧Ｅα，Ｅβを演算する。
Ｅα＝Ｖα−Ｒ＊ｉα−Ｌ＊ｄｉα／ｄｔ
Ｅβ＝Ｖβ−Ｒ＊ｉβ−Ｌ＊ｄｉβ／ｄｔ      （４）
ここで、Ｒは巻線レジスタンス、Ｌは巻線インダクタンスである。Ｒ及びＬの値は、使用されているステッピングモータ５０９に固有の値であり、例えばモータ制御部４００内に設けられたメモリ（図示せず）に予め格納されている。
【０１０３】
誘起電圧演算部５１２によって演算された、Ａ相及びＢ相の誘起電圧Ｅα，Ｅβは、位置演算部５１３へ入力される。位置演算部５１３は、Ａ相の誘起電圧ＥαとＢ相の誘起電圧Ｅβとの比から、次式によってステッピングモータ５０９の位置θの推定値を演算する。
θ＝ｔａｎ-1 (−Ｅβ／Ｅα)      （５）
位置演算部５１３は、このような推定演算により得られた位置θの推定値を、位置制御器５０１及び速度演算部５１４に出力（フィードバック）する。なお、位置θの推定値は、位置演算部５１３から速度制御器５０２、座標変換器５０５，５１１にもフィードバックされることで、座標変換等に利用される。
【０１０４】
なお、ステッピングモータ５０９の実際の回転位置（機械角）と、推定された回転位置（電気角）とが１対１に対応しない場合には、電気角から機械角への変換を行う変換器を、位置演算部５１３と位置制御器５０１との間に設けてもよい。この場合、ステッピングモータ５０９の位置θの推定値は、このような変換器によって実際の回転位置（機械角）に変換された後に、位置制御器５０１へフィードバックされる。
【０１０５】
速度演算部５１４は、入力された位置θから、次式によってステッピングモータ５０９の回転速度ωの推定値を演算する。
ω＝ｄθ／ｄｔ      （６）
式（６）のように、回転速度ωは、位置θの推定値の時間変化に基づいて演算される。速度演算部５１４は、得られた回転速度ωを速度制御器５０２に出力（フィードバック）する。
【０１０６】
＜ＰＷＭインバータ５０６及び電流検出部５０７，５０８＞
図１４は、図１２に示すＰＷＭインバータ５０６及び電流検出部５０７の構成例を示す図である。本実施例では、ＰＷＭ生成部２０３は、ＰＷＭインバータ５０６内に設けられており、電流値生成部２０４、Ａ／Ｄ変換部２２０及び差動増幅部２３０は、電流検出部５０７，５０８のそれぞれに設けられている。なお、電流検出部５０７と電流検出部５０８は、同様の構成を有している。
【０１０７】
ＰＷＭインバータ５０６は、ステッピングモータ５０９のＡ相に対応するＰＷＭ生成部２０３及びモータ駆動回路２５０と、ステッピングモータ５０９のＢ相に対応するＰＷＭ生成部２０３及びモータ駆動回路２５０とを備えている。なお、図１４には、ステッピングモータ５０９のＡ相に対応するＰＷＭ生成部２０３及びモータ駆動回路２５０のみを示しているが、実際にはＢ相に対応するＰＷＭ生成部２０３及びモータ駆動回路２５０も備えている。Ａ相に対応するモータ駆動回路２５０内のＨブリッジ回路は、ステッピングモータのＡ相の巻線であるコイルＬ１に接続されている。Ｂ相に対応するモータ駆動回路２５０内のＨブリッジ回路は、ステッピングモータのＢ相の巻線であるコイルＬ２に接続されている。
【０１０８】
以下では、Ａ相に対応するＰＷＭ生成部２０３及びモータ駆動回路２５０、並びに電流検出部５０７について主に説明するが、Ｂ相に対応するＰＷＭ生成部２０３及びモータ駆動回路２５０、並びに電流検出部５０８も同様である。ベクトル制御部５１５から出力される駆動電圧Ｖαは、Ａ相に対応するＰＷＭ生成部２０３に入力される。なお、ベクトル制御部５１５から出力される駆動電圧Ｖβは、Ｂ相に対応するＰＷＭ生成部２０３に入力される。ＰＷＭ生成部２０３は、駆動電圧Ｖα，Ｖβに対応するデューティ比のＰＷＭ信号を生成し、生成したＰＷＭ信号をモータ駆動回路２５０へ出力する。具体的には、ＰＷＭ生成部２０３は、ＰＷＭ信号の１周期ごとに、駆動電圧Ｖα，Ｖβに対応するデューティ比のＰＷＭ信号（ＰＷＭ＋）と、当該ＰＷＭ信号（ＰＷＭ＋）と逆位相の関係にあるＰＷＭ信号（ＰＷＭ−）とを生成する。上述のように、ＰＷＭ＋は、ＦＥＴ Ｑ１，Ｑ４を駆動するために用いられ、ＰＷＭ−は、ＦＥＴ Ｑ２，Ｑ３を駆動するために用いられる。
【０１０９】
電流検出部５０７は、Ａ相に対応するモータ駆動回路２５０内の電流検出抵抗Ｒ１を用いて、コイルＬ１に流れる駆動電流を検出し、当該駆動電流の検出値ｉαを出力する。電流検出部５０８は、Ｂ相に対応するモータ駆動回路２５０内の電流検出抵抗Ｒ１を用いて、コイルＬ２に流れる駆動電流を検出し、当該駆動電流の検出値ｉβを出力する。具体的には、電流検出部５０７，５０８内の差動増幅部２３０、Ａ／Ｄ変換部２２０及び電流値生成部２０４は、実施例１，２と同様に動作する。なお、実施例１，２で（図１０、図１１等を参照して）説明した、モータ制御部２００によって実行される処理は、本実施例ではモータ制御部４００によって実行される。
【０１１０】
その結果、電流検出部５０７，５０８は、それぞれ、電流値生成部２０４によって生成された検出値Ｉsns*を、電流検出値ｉα，ｉβとして出力する。電流検出部５０７，５０８から出力された電流検出値ｉα，ｉβは、上述のように、座標変換器５１１及び誘起電圧演算部５１２へ入力される。モータ制御部４００では、電流検出部５０７，５０８から出力される電流検出値ｉα，ｉβに基づく上述の演算によって、ベクトル制御に用いられるステッピングモータの位置θ（回転子の回転位置）が推定（決定）される。位置θは、誘起電圧演算部５１２及び位置演算部５１３によって決定され、ベクトル制御部５１５へフィードバックされる。ベクトル制御部５１５は、位置θのフィードバックに基づく上述のベクトル制御の結果として、ステッピングモータ５０９へ供給する駆動電流に対応する駆動電圧Ｖα，Ｖβを出力する。このようにして、ベクトル制御によるステッピングモータ５０９の駆動制御を実現できる。
【０１１１】
本実施例によれば、実施例１，２においてモータ制御部２００によって実行される処理をモータ制御部４００に適用しながら、駆動対象のステッピングモータ５０９のベクトル制御を実現することが可能である。したがって、本実施例のモータ制御部４００では、ステッピングモータ５０９のベクトル制御を実現しながら、実施例１，２と同様の効果を達成することが可能である。
【符号の説明】
【０１１２】
１００：画像形成装置、２５０：モータ駆動装置、Ｑ１〜Ｑ４：ＦＥＴ、２００：モータ制御部、２０１：電流波形生成部、２０２：ＰＩＤ制御部、２０３：ＰＷＭ生成部、２０４：電流値生成部、２２０：Ａ／Ｄ変換部、２３０：差動増幅部、９０１：検出制御部、９０２：検出値生成部、９０３：補正制御部、９０４：補正値記憶部
【図１】
2017184490.tif 000003
【図２】
2017184490.tif 000004
【図３】
2017184490.tif 000005
【図４】
2017184490.tif 000006
【図５】
2017184490.tif 000007
【図６】
2017184490.tif 000008
【図７】
2017184490.tif 000009
【図８】
2017184490.tif 000010
【図９】
2017184490.tif 000011
【図１０】
2017184490.tif 000012
【図１１】
2017184490.tif 000013
【図１２】
2017184490.tif 000014
【図１３】
2017184490.tif 000015
【図１４】
2017184490.tif 000016
【図１５】
2017184490.tif 000017