(57)【要約】【課題】Ｈブリッジ回路に接続した電流検出素子を用いてモータの駆動電流を検出するモータ駆動装置において、Ｈブリッジ回路に供給するＰＷＭ信号のパルス幅に起因した駆動電流の検出誤差を低減するための技術を提供する。【解決手段】モータ制御部２００は、ＦＥＴ Ｑ１〜Ｑ４で構成されたＨブリッジ回路に対して供給するＰＷＭ信号（ＰＷＭ＋及びＰＷＭ−）を制御することで、駆動対象のモータのコイルＬ１に流れる駆動電流を制御する。符号制御部２０４は、電流検出抵抗Ｒ１に生じる電圧に対応する電圧値Ｖsnsに対して、ＰＷＭ＋のレベルに応じて符号の反転処理を行うことで、駆動電流Ｉの検出値Ｉsnsを生成する。符号制御部２０４は、ＰＷＭ＋のデューティ比ＤＲが、閾値ＤＲ＿Ｈより大きいか、または閾値ＤＲ＿Ｌより小さい場合、ＰＷＭ＋のレベルによらず、生成する検出値Ｉsnsの符号として、直前に生成した検出値の符号を使用する。【選択図】図１
2017184489.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の符号の反転させる処理を行う。このように、ＰＷＭ＋またはＰＷＭ−に応じた、電流値Ｖsnsの符号の反転処理により、電圧値Ｖsnsから、実際の駆動電流Ｉと同様の波形を示す検出値Ｉsnsを取得できる。
【００３６】
＜モータ制御部２００＞
モータ制御部２００は、電流波形生成部２０１、ＰＩＤ制御部２０２、ＰＷＭ生成部２０３、及び符号制御部２０４を備えている。モータ制御部２００は、モータのコイルＬ１に流れる駆動電流Ｉの検出結果に基づいて、モータ駆動回路２５０へ供給するＰＷＭ信号を制御することで、モータの駆動制御を行う。駆動電流Ｉの検出には、上述のように、ＦＥＴ Ｑ３，Ｑ４のソース端子とＧＮＤとの間（Ｈブリッジ回路とＧＮＤとの間）に接続された電流検出抵抗Ｒ１が用いられる。
【００３７】
電流検出抵抗Ｒ１に電流が流れた場合に電流検出抵抗Ｒ１に生じる電圧（両端電圧）は、差動増幅部２３０へ入力される。差動増幅部２３０の出力はＡ／Ｄ変換部２２０を介してモータ制御部２００へ入力される。差動増幅部２３０は、オペアンプ等によって構成されており、電流検出抵抗Ｒ１の両端電圧を増幅してＡ／Ｄ（アナログ／デジタル）変換部２２０へ出力する。Ａ／Ｄ変換部２２０は、差動増幅部２３０から出力された電圧のＡ／Ｄ変換を行うことで、デジタル形式の電圧値Ｖsnsを生成してモータ制御部２００へ出力する。モータ制御部２００内の符号制御部２０４は、電圧値Ｖsnsを、電流検出抵抗Ｒ１に流れる電流の値として取得する。なお、図１では、差動増幅部２３０及びＡ／Ｄ変換部２２０は、モータ制御部２００及びモータ駆動回路２５０とは独立したブロック（回路）として設けられているが、モータ制御部２００またはモータ駆動回路２５０に組み込まれていてもよい。
【００３８】
電流波形生成部２０１は、不図示の上位の制御回路からモータ制御部２００への指示に基づいて駆動対象のモータのコイルＬ１に流れる駆動電流Ｉの目標値Ｉtgtを生成して出力する。例えば、２相のステッピングモータを、１０００ｐｐｓのパルスレート、１Ａの巻線電流による２相励磁モードで駆動する場合には、電流波形生成部２０１は、周波数が２５０Ｈｚ、振幅が１Ａの矩形波を、駆動電流Ｉの目標値Ｉtgtとして生成する。
【００３９】
モータ制御部２００では、電流波形生成部２０１から出力される、駆動電流Ｉの目標値Ｉtgtと、符号制御部２０４から出力される、駆動電流Ｉの検出値Ｉsnsとの差分が算出され、得られた差分値がＰＩＤ制御部２０２に入力される。ＰＩＤ制御部２０２は、入力された差分値に基づいてＰＩＤ演算を行うことで、モータ駆動回路２５０へ出力されるＰＷＭ信号のデューティ比を決定（算出）し、決定したデューティ比をＰＷＭ生成部２０３へ出力する。このように、ＰＩＤ制御部２０２は、符号制御部２０４によって生成された検出値Ｉsnsに基づいて、ＰＷＭ生成部２０３によるＰＷＭ信号の生成を制御する。
【００４０】
ＰＷＭ生成部２０３は、ＰＩＤ制御部２０２から出力されたデューティ比に基づいてＰＷＭ信号を生成し、生成したＰＷＭ信号をモータ駆動回路２５０へ出力する。具体的には、ＰＷＭ生成部２０３は、ＰＷＭ信号の１周期ごとに、ＰＩＤ制御部２０２によって決定されたデューティ比のＰＷＭ信号（ＰＷＭ＋）と、当該ＰＷＭ信号（ＰＷＭ＋）と逆位相の関係にあるＰＷＭ信号（ＰＷＭ−）とを生成する。上述のように、ＰＷＭ＋は、ＦＥＴ Ｑ１，Ｑ４を駆動するために用いられ、ＰＷＭ−は、ＦＥＴ Ｑ２，Ｑ３を駆動するために用いられる。
【００４１】
符号制御部２０４は、Ａ／Ｄ変換部２２０を介して入力された、電流検出抵抗Ｒ１の両端電圧に対応する電圧値Ｖsnsに対して、上述のように、極性（符号）の反転処理を行う。符号制御部２０４は、ＰＷＭ生成部２０３によって生成されたＰＷＭ信号（ＰＷＭ＋）の論理値（ＨまたはＬ）に基づいて、電圧値Ｖsnsの符号（極性）が実際の駆動電流Ｉの極性と一致するよう、電圧値Ｖsnsの符号の反転処理を行う。これにより、符号制御部２０４は、電圧値Ｖsnsから駆動電流Ｉの検出値Ｉsnsを生成する。
【００４２】
＜駆動電流Ｉの検出誤差＞
次に、図５を参照して、電流検出抵抗Ｒ１を用いた駆動電流Ｉの検出において生じうる検出誤差について説明する。図１に示すようにＦＥＴ Ｑ３，Ｑ４のソース端子とＧＮＤとの間（Ｈブリッジ回路とＧＮＤとの間）に配置した電流検出抵抗Ｒ１を用いると、駆動電流Ｉの検出結果として、理想的には図４に示すような検出値Ｉsnsが得られる。しかし、実際には、モータ制御部２００からモータ駆動回路２５０へ供給されるＰＷＭ信号のデューティ比に依存して、検出値Ｉsnsに誤差が生じうる。具体的には、モータ駆動回路２５０に供給されるＰＷＭ信号のＨレベルまたはＬレベルの継続時間が極端に短い（即ち、ＰＷＭ信号のデューティ比が極端に大きいまたは極端に小さい）場合に、そのような誤差が生じうる。
【００４３】
ここで、図５は、図４とは異なるＰＷＭ信号がモータ駆動回路２５０へ供給される場合のタイムチャートを示している。なお、図５において、期間Ｔs1は、ＰＷＭ＋のＬレベルの継続時間（ＰＷＭ−のＨレベルの継続時間）が短い期間に相当し、期間Ｔs2は、ＰＷＭ＋のＨレベルの継続時間（ＰＷＭ−のＬレベルの継続時間）が短い期間に相当する。
【００４４】
図５に示す期間Ｔs1では、ＰＷＭ＋がＨレベルからＬレベルに切り替わることで、理想的には、ＦＥＴ Ｑ１，Ｑ４がオン状態からオフ状態に切り替わるはずである。しかし、実際には、期間Ｔs1が短すぎると、ＦＥＴ Ｑ１，Ｑ４のゲート電荷が十分に放電されず、ゲート‐ソース間電圧が閾値電圧を下回らない。その結果、ＦＥＴ Ｑ１，Ｑ４は、オン状態からオフ状態に切り替わらず、オン状態を継続することになる。なお、ＰＷＭ−によって駆動されるＦＥＴ Ｑ２，Ｑ３については、ＦＥＴ Ｑ１，Ｑ４とは逆に、オフ状態からオン状態に切り替わらず、オフ状態を継続することになる。即ち、期間Ｔs1では、ＦＥＴ Ｑ１〜Ｑ４のスイッチングがＰＷＭ信号に追従できない。
【００４５】
この場合、モータ駆動回路２５０内では、ＰＷＭ＋のＨレベルからＬレベルへの切り替えが生じても、電流検出抵抗Ｒ１に流れる電流の極性の反転が生じず、図５に示すように、当該電流に比例する電圧値Ｖsnsの極性の反転も生じない。したがって、符号制御部２０４が、ＰＷＭ＋のＨレベルからＬレベルへの切り替えに応じて電圧値Ｖsnsの極性を反転させると、電圧値Ｖsnsから得られる検出値Ｉsnsと実際の駆動電流Ｉとの間に誤差が生じる結果となる。
【００４６】
また、図５に示す期間Ｔs2にも、期間Ｔs1と同様の現象が生じる。期間Ｔs2では、ＰＷＭ＋がＬレベルからＨレベルに切り替わることで、理想的には、ＦＥＴ Ｑ１，Ｑ４がオフ状態からオン状態に切り替わるはずである。しかし、実際には、期間Ｔs2が短すぎると、ＦＥＴ Ｑ１，Ｑ４のゲート電荷が十分に充電されず、ゲート‐ソース間電圧が閾値電圧以上とならない。その結果、ＦＥＴ Ｑ１，Ｑ４は、オフ状態からオン状態に切り替わらず、オフ状態を継続することになる。なお、ＰＷＭ−によって駆動されるＦＥＴ Ｑ２，Ｑ３については、ＦＥＴ Ｑ１，Ｑ４とは逆に、オン状態からオフ状態に切り替わらず、オン状態を継続することになる。即ち、期間Ｔs2では、ＦＥＴ Ｑ１〜Ｑ４のスイッチングがＰＷＭ信号に追従できない。
【００４７】
この場合、モータ駆動回路２５０内では、ＰＷＭ＋のＬレベルからＨレベルへの切り替えが生じても、電流検出抵抗Ｒ１に流れる電流の極性の反転が生じず、図５に示すように、当該電流に比例する電圧値Ｖsnsの極性の反転も生じない。したがって、符号制御部２０４が、ＰＷＭ＋のＬレベルからＨレベルへの切り替えに応じて電圧値Ｖsnsの極性の反転状態を解除すると、電圧値Ｖsnsから得られる検出値Ｉsnsと実際の駆動電流Ｉとの間に誤差が生じる結果となる。
【００４８】
このように、ＦＥＴ Ｑ１〜Ｑ４のスイッチングがＰＷＭ信号に追従できなくなると、ＰＷＭ信号の論理値に基づく電圧値Ｖsnsの符号反転処理に誤りが生じる。その結果、電流検出抵抗Ｒ１を用いた駆動電流Ｉの検出結果に誤差が生じる。
【００４９】
＜モータ制御部の符号反転処理＞
本実施例では、モータ制御部２００は、電流検出抵抗Ｒ１を用いて駆動電流Ｉを検出する際に、上述のようなメカニズムで生じる検出誤差を低減するように、電圧値Ｖsnsの符号反転処理を制御する。具体的には、モータ駆動回路２５０へ出力するＰＷＭ信号のＨレベルまたはＬレベルの継続時間が所定の時間よりも短い期間では、ＰＷＭ信号のレベルによらず、生成する検出値Ｉsnsの符号として、当該期間の直前に生成した検出値の符号を使用する。この所定の時間は、ＰＷＭ信号のＨレベルまたはＬレベルの継続時間（パルス幅）がそれより短い場合に、ＰＷＭ信号のレベルの変化にＦＥＴのスイッチングが追従できないパルス幅として予め定められ、記憶デバイスに格納されている。図５に示す例では、期間Ｔs1及びＴs2は、所定の時間よりも短い期間に相当する。
【００５０】
ＰＷＭ信号のパルス幅が短く、ＦＥＴのスイッチングがＰＷＭ信号に追従できない期間では、上述のように、電流検出抵抗Ｒ１に流れる電流の方向に変化が生じない。本実施例では、このような場合に、モータ制御部２００（符号制御部２０４）で生成する駆動電流の検出値Ｉsnsの符号として、ＰＷＭ信号のレベルによらずに、直前の検出値Ｉの符号を継続して使用する。これにより、電流検出抵抗Ｒ１に流れる電流の方向が反転していないにもかかわらずＰＷＭ信号に同期して当該電流の検出値Ｉsnsの符号の反転が行われ、駆動電流Ｉの検出結果に誤差が生じることを防止できる。即ち、Ｈブリッジ回路に供給するＰＷＭ信号のパルス幅に起因した駆動電流Ｉの検出誤差を低減することが可能である。
【００５１】
図５に示す例では、符号制御部２０４は、ＰＷＭ＋を用いた符号反転処理として、ＰＷＭ＋がＨレベルである場合には電圧値Ｖsnsの符号を反転させず、ＰＷＭ＋がＬレベルである場合には電圧値Ｖsnsの符号を反転させる処理を行っている。この場合、符号制御部２０４は、ＰＷＭ信号のＨレベルの継続時間が所定の時間よりも短い期間Ｔs2では、直前のＬレベルにおける処理に引き続き、電圧値Ｖsnsの符号を反転させる処理を継続する。一方、符号制御部２０４は、ＰＷＭ信号のＬレベルの継続時間が所定の時間よりも短い期間Ｔs1では、直前のＨレベルにおける処理に引き続き、電圧値Ｖsnsの符号を反転させない処理を継続する。
【００５２】
符号制御部２０４は、ＰＷＭ−を用いた符号反転処理（ＰＷＭ−がＬレベルである場合には電圧値Ｖsnsの符号を反転させず、ＰＷＭ−がＨレベルである場合には電圧値Ｖsnsの符号を反転させる処理）を行っている場合には、以下の処理を行えばよい。即ち、符号制御部２０４は、ＰＷＭ信号のＨレベルの継続時間が所定の時間よりも短い期間Ｔs2では、直前のＬレベルにおける処理に引き続き、電圧値Ｖsnsの符号を反転させない処理を継続する。一方、符号制御部２０４は、ＰＷＭ信号のＬレベルの継続時間が所定の時間よりも短い期間Ｔs1では、直前のＨレベルにおける処理に引き続き、電圧値Ｖsnsの符号を反転させる処理を継続する。
【００５３】
ここで、ＰＷＭ信号のＨレベルまたはＬレベルの継続時間（パルス幅）は、ＰＷＭ信号の１周期内のＨレベルの継続時間の割合を示すデューティ比ＤＲから特定できる。ここで、デューティ比とは、ＰＷＭ信号の１周期におけるＨレベルの期間の占める割合である。本実施例のモータ制御部２００では、符号制御部２０４は、ＰＩＤ制御部２０２によって決定されたデューティ比ＤＲに基づいて、ＰＷＭ生成部２０３によって生成されたＰＷＭ信号のＨレベルまたはＬレベルの継続時間が所定の時間よりも短い期間を特定する。
【００５４】
具体的には、符号制御部２０４は、ＰＩＤ制御部２０２によって決定されたデューティ比ＤＲと、所定の閾値ＤＲ＿Ｌ及びＤＲ＿Ｈ（ＤＲ＿Ｌ＜ＤＲ＿Ｈ）とを比較することで、そのような期間を特定する。これらの閾値ＤＲ＿Ｌ及びＤＲ＿Ｈは、それぞれ、ＰＷＭ信号に追従してＦＥＴ Ｑ１〜Ｑ４をスイッチングさせることが可能なデューティ比の下限値及び上限値を示す。図５に示す例では、期間Ｔs2は、ＰＷＭ＋のデューティ比ＤＲが閾値ＤＲ＿Ｌを下回る期間（ＰＷＭ−のデューティ比ＤＲが閾値ＤＲ＿Ｈを上回る期間）に対応する。また、期間Ｔs1は、ＰＷＭ＋のデューティ比ＤＲが閾値ＤＲ＿Ｈを上回る期間（ＰＷＭ−のデューティ比ＤＲが閾値ＤＲ＿Ｌを下回る期間）に対応する。
【００５５】
なお、閾値ＤＲ＿Ｌ及びＤＲ＿Ｈは、モータ駆動装置の出荷前に測定または検討によって求められた値であってもよいし、出荷後に、後述する実施例２で説明する手順で求められた値であってもよい。閾値ＤＲ＿Ｌ及びＤＲ＿Ｈは、記憶デバイスに格納されている。
【００５６】
＜モータ駆動制御の手順＞
次に、図６を参照して、本実施例に係るモータ制御部２００によるモータ駆動制御の手順の例について説明する。図６では、符号制御部２０４がＰＷＭ＋を用いて電圧値Ｖ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の符号を継続して使用する。これにより、ＦＥＴのスイッチングがＰＷＭ信号に追従できない場合に、実際の駆動電流Ｉに対する、電流検出抵抗Ｒ１を用いた検出結果の誤差を低減できる。即ち、Ｈブリッジ回路に供給するＰＷＭ信号のパルス幅に起因した駆動電流Ｉの検出誤差を低減できる。
【００６３】
［実施例２］
実施例２では、実施例１で説明した閾値ＤＲ＿Ｌ及びＤＲ＿Ｈを、図１に示すモータ駆動装置を使用して取得する例について説明する。本実施例の符号制御部２０４は、駆動電流Ｉの検出結果に基づくＰＩＤ制御部２０２によるフィードバック制御が行われていない期間において、閾値ＤＲ＿Ｌ及びＤＲ＿Ｈを決定する決定処理を実行する。決定処理は、ＰＷＭ生成部２０３によって生成されるＰＷＭ信号のデューティ比を徐々に変化させ、デューティ比を変化させている間に電圧値Ｖsnsから生成した検出値Ｉsnsの符号の変化に基づいて実行される。なお、以下では実施例１との相違点を中心として本実施例について説明する。
【００６４】
図７は、モータ制御部２００によるデューティ比のスイープ動作時における、ＰＷＭ信号、駆動電流Ｉ、電圧値Ｖsns、及び駆動電流Ｉの検出値Ｉsnsの関係を示すタイムチャートであり、閾値ＤＲ＿Ｈを決定する決定処理の例を示している。モータ制御部２００（符号制御部２０４）は、生成するＰＷＭ信号（ＰＷＭ＋）のデューティ比ＤＲを１００％に向かって徐々に増加させるスイープ動作を行いながら、電圧値Ｖsnsから生成した検出値Ｉsnsをモニタリングする。更に、符号制御部２０４は、ＰＷＭ信号にＦＥＴ Ｑ１〜Ｑ４のスイッチングが追従できなくなり、図５の期間Ｔs1のように検出値Ｉ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との間に誤差が生じていない。一方で、ＤＲ＿Ｈ＝９６％である場合には、ＤＲ＝９６％において実際の駆動電流Ｉと検出値Ｉsnsとの間に誤差が生じている。このため、図１０の例では、閾値ＤＲ＿Ｈが９６％に設定されている場合には、適切な値（即ち、９５％）に変更する必要がある。
【００７７】
本実施例では、図１に示すように、モータ制御部２００は、駆動電流Ｉの検出値Ｉsnsの誤差を検出する誤差検出部２０５を更に備えている。誤差検出部２０５は、符号制御部２０４によって生成された（符号反転処理後の）検出値Ｉsnsを、所定のサンプリング周期でサンプリングしてモニタリングする。更に、誤差検出部２０５は、生成された最新の検出値Ｉsnsに、直前と生成された検出値から所定の変化幅ΔＩより大きな変化が生じているか否かを判定する。所定の変化幅ΔＩは、例えば、モータ駆動装置の出荷前に測定または検討によって、サンプリング周期における、取りうる検出値Ｉsnsの変化幅の最大値として定められうる。
【００７８】
誤差検出部２０５は、上述の判定処理により、最新の検出値Ｉsnsとその直前の検出値との間の誤差を検出する。モータ制御部２００（符号制御部２０４）は、誤差検出部２０５によってそのような誤差が検出されると、ＰＩＤ制御部２０２によるフィードバック制御が行われていない期間に、図８及び図９に示す手順で、閾値ＤＲ＿Ｈ及びＤＲ＿Ｌの決定処理を再び実行する。その結果、閾値ＤＲ＿Ｈ及びＤＲ＿Ｌは、駆動電流Ｉの検出結果の誤差を低減できるように更新可能である。
【００７９】
本実施例によれば、ＦＥＴの温度特性や性能の経時変化に依存して、閾値ＤＲ＿Ｌ及びＤＲ＿Ｈとして適した値が変化した場合にも、ＤＲ＿Ｌ及びＤＲ＿Ｈを適切に更新することが可能になる。それにより、駆動電流Ｉの検出誤差を低減することが可能になる。
【００８０】
［実施例４］
実施例４では、上述の実施例１〜３で説明した符号制御部２０４によって生成される、駆動電流Ｉの検出値Ｉsnsのフィードバックに基づくフィードバック制御を、ベクトル制御により実行する例について説明する。なお、以下では実施例１〜３との相違点を中心として本実施例について説明する。
【００８１】
＜モータ制御部４００＞
図１１は、本実施例に係るモータ駆動装置に相当するモータ制御部４００の構成例を示す図である。モータ制御部４００は、駆動対象のステッピングモータ５０９の各相の巻線（図１３のコイルＬ１，Ｌ２）に駆動電流（相電流）を流すことで、ステッピングモータ５０９を駆動する。図１１に示すＣＰＵ４１０は、モータ制御部４００の外部のコントローラ（画像形成装置１００内の上位の制御回路）に相当する。ＣＰＵ４１０は、ステッピングモータ５０９の回転子の位置（回転位置）の指令値（θ＿ｒｅｆ）を生成し、モータ制御部４００へ出力する。例えば、位置指令値θ＿ｒｅｆは、パルス状の矩形波信号であり、１パルスがステッピングモータの回転角度の最小変化量を規定する。なお、モータの回転速度の指令値（速度指令値ω＿ｒｅｆ）は、θ＿ｒｅｆに対応する周波数として求められる。ＣＰＵ４１０は、モータの駆動シーケンスを開始すると、生成した位置指令値θ＿ｒｅｆを、所定の時間周期（制御周期）でモータ制御部４００へ出力する。モータ制御部４００は、ＣＰＵ４１０から与えられる位置指令値に従って、ステッピングモータ５０９の位置制御及び速度制御を実行する。
【００８２】
（ベクトル制御）
本実施例のモータ制御部４００は、ステッピングモータ５０９の駆動制御をベクトル制御によって実現する。ここでは、図１１及び図１２を参照して、モータ制御部４００によって実行される、ステッピングモータ５０９のベクトル制御の概要について説明する。図１１に示すモータ制御部４００の基本的な構成は、ブラシレスＤＣモータ、ＡＣサーボモータ等のモータで利用されている、静止座標系から回転座標系への座標変換を用いたインバータ制御に対応した構成である。なお、ステッピングモータ５０９は、少なくとも２相から成るモータであり、本実施例では実施例１〜３と同様、Ａ相及びＢ相（第１相及び第２相）から成る２相のモータである。
【００８３】
モータ制御部４００では、ベクトル制御部５１５から出力される、ステッピングモータ５０９の駆動電圧Ｖα，Ｖβに応じて、ＰＷＭインバータ５０６がステッピングモータ５０９へ駆動電流を供給することによって、ステッピングモータ５０９を駆動する。なお、図１１に示すように、ベクトル制御部５１５は、速度制御器５０２、電流制御器５０３，５０４、及び座標変換器５０５，５１１によって構成されている。
【００８４】
ここで、図１２は、Ａ相及びＢ相から成る２相のモータと回転座標系のｄ軸及びｑ軸との関係を示す図である。同図では、静止座標系における、Ａ相及びＢ相の巻線に対応した軸をそれぞれα軸及びβ軸と定義している。また、静止座標系におけるα軸と、回転子（ロータ）として用いられる永久磁石の磁極によって作られる磁束の方向（ｄ軸）との成す角度をθと定義している。この場合、ステッピングモータ５０９の出力軸の位置（回転位置）は、角度θによって表される。ベクトル制御では、図１２に示すように、回転子の磁束方向に沿ったｄ軸と、ｄ軸から９０度進んだ方向に沿った（ｄ軸と直交する）ｑ軸とで表される、ステッピングモータ５０９の位置θを基準とした回転座標系が用いられる。
【００８５】
モータ制御部４００は、ステッピングモータ５０９へ供給する駆動電流を、ステッピングモータ５０９の位置θを基準とした回転座標系の電流値によって制御するベクトル制御を行う。ベクトル制御では、ステッピングモータ５０９のＡ相及びＢ相の巻線に流れる駆動電流に対応する電流ベクトルが、α軸及びβ軸で表される静止座標系から、ｄ軸及びｑ軸で表される回転座標系に変換される。このような座標変換の結果、ステッピングモータ５０９に供給される駆動電流は、回転座標系において、直流のｄ軸成分（ｄ軸電流）及びｑ軸成分（ｑ軸電流）によって表される。この場合、ｑ軸電流は、ステッピングモータ５０９にトルクを発生させるトルク電流成分に相当し、回転子の回転に寄与する電流である。ｄ軸電流は、ステッピングモータ５０９の回転子の磁束強度に影響する励磁電流成分に相当する。モータ制御部４００は、回転座標系におけるｑ軸電流及びｄ軸電流を独立して制御することで、ステッピングモータ５０９のベクトル制御を実現する。
【００８６】
具体的には、モータ制御部４００は、ステッピングモータ５０９の回転子の位置（ロータ位置）及び回転速度を推定（決定）し、その推定結果に基づいてベクトル制御を行う。モータ制御部４００は、図１１に示すように、位置制御器５０１、速度制御器５０２、及び電流制御器５０３，５０４へのそれぞれのフィードバックに基づく３つの制御ループを含み、これらの制御ループによってベクトル制御を実現する。なお、図１１に示すモータ制御部４００において、ステッピングモータ５０９の位置θの推定は、誘起電圧演算部５１２及び位置演算部５１３によって行われる。また、ステッピングモータ５０９の回転速度ωの推定は、位置θの推定値に基づいて、速度演算部５１４によって行われる。
【００８７】
位置制御器５０１を含む、最も外側の制御ループでは、ステッピングモータ５０９の位置θの推定値のフィードバックに基づいて、ステッピングモータ５０９の位置制御を行う。モータ制御部４００には、システムコントローラ１５１のＣＰＵ４１０から、ステッピングモータ５０９の位置指令値θ＿ｒｅｆが与えられる。位置制御器５０１は、位置演算部５１３からフィードバックされる、ステッピングモータ５０９の位置θの推定値の、位置指令値θ＿ｒｅｆ（目標値）に対する偏差が０に近づくように、速度指令値ω＿ｒｅｆを生成して出力する。このようにして、位置制御器５０１によるステッピングモータ５０９の位置制御が行われる。
【００８８】
速度制御器５０２を含む制御ループでは、ステッピングモータ５０９の回転速度ωの推定値のフィードバックに基づいて、ステッピングモータ５０９の速度制御を行う。速度制御器５０２は、速度演算部５１４からフィードバックされる、ステッピングモータ５０９の回転速度ωの推定値の、速度指令値ω＿ｒｅｆ（目標値）に対する偏差が０に近づくように、電流指令値ｉｑ＿ｒｅｆ，ｉｄ＿ｒｅｆを生成して出力する。なお、電流指令値ｉｑ＿ｒｅｆ，ｉｄ＿ｒｅｆは、静止座標系（αβ軸）から回転座標系（ｄｑ軸）への座標変換後の、回転座標系における電流指令値である。
【００８９】
電流制御器５０３，５０４を含む制御ループでは、ステッピングモータ５０９の各相の巻線に流れる駆動電流の検出値のフィードバックに基づいて、ステッピングモータ５０９の各相の巻線に供給する駆動電流を制御する。ここで、ステッピングモータ５０９のＡ相及びＢ相の巻線にそれぞれ流れる電流（交流電流）の電流値ｉα，ｉβは、静止座標系において、ステッピングモータ５０９の位置θを用いて次式によって表すことができる。
ｉα＝Ｉ＊ｃｏｓθ
ｉβ＝Ｉ＊ｓｉｎθ      （１）
この場合、回転座標系におけるｄ軸電流及びｑ軸電流（直流電流）の電流値ｉｄ，ｉｑは、次式に示す座標変換（クラーク変換）によって表される。
ｉｄ＝  ｃｏｓθ＊ｉα＋ｓｉｎθ＊ｉβ
ｉｑ＝−ｓｉｎθ＊ｉα＋ｃｏｓθ＊ｉβ      （２）
【００９０】
このような座標変換によって、静止座標系における、Ａ相及びＢ相の巻線にそれぞれ流れる交流電流値ｉα，ｉβは、回転座標系における直流電流値ｉｑ，ｉｄに変換される。なお、ｑ軸電流は、ステッピングモータ５０９にトルクを発生させるトルク電流成分（第１の電流成分）である。ｄ軸電流は、ステッピングモータ５０９の回転子の磁束強度に影響する励磁電流成分（第２の電流成分）であり、ステッピングモータ５０９のトルクの発生には寄与しない。
【００９１】
ステッピングモータ５０９のＡ相及びＢ相の巻線に流れる駆動電流は、電流検出部５０７，５０８によってそれぞれ検出される。電流検出部５０７，５０８は、ＰＷＭインバータ５０６からステッピングモータ５０９のＡ相及びＢ相の巻線にそれぞれ供給される駆動電流が流れる経路に接続されている。電流検出部５０７，５０８は、ステッピングモータ５０９の各相の巻線に流れる駆動電流を検出して電流検出値を出力する。電流検出部５０７，５０８から出力される、静止座標系における電流値（電流検出値）ｉα，ｉβは、座標変換器５１１及び誘起電圧演算部５１２へ入力される。
【００９２】
座標変換器５１１は、式（２）によって、静止座標系（αβ軸）における電流値ｉα，ｉβを回転座標系（ｄｑ軸）における電流値ｉｑ，ｉｄへ変換して出力する。電流制御器５０３，５０４には、座標変換器５１１から出力される、回転座標系における検出された電流値ｉｑ，ｉｄと、速度制御器５０２から出力される、回転座標系における電流指令値ｉｑ＿ｒｅｆ，ｉｄ＿ｒｅｆとの差分値が入力される。電流制御器５０３，５０４は、入力された差分値（即ち、検出された電流値ｉｑ，ｉｄの、目標値である電流指令値ｉｑ＿ｒｅｆ，ｉｄ＿ｒｅｆに対する偏差）が０に近づくように、回転座標系における電流値ｉｑ'，ｉｄ'を生成及び出力する。なお、位置制御器５０１、速度制御器５０２、及び電流制御器５０３，５０４はそれぞれ、例えば、比例補償器及び積分補償器で構成され、ＰＩ制御によりフィードバック制御を実現する。
【００９３】
座標変換器５０５は、電流制御器５０３，５０４から出力される、回転座標系における電流値ｉｑ'，ｉｄ'を、次式によって、静止座標系における電流値ｉα'，ｉβ'へ逆変換する。
ｉα'＝ｃｏｓθ＊ｉｄ'−ｓｉｎθ＊ｉｑ'
ｉβ'＝ｓｉｎθ＊ｉｄ'＋ｃｏｓθ＊ｉｑ'      （３）
座標変換器５０５は、静止座標系への座標変換後の電流値ｉα'，ｉβ'に応じた駆動電圧Ｖα，Ｖβを、フルブリッジ回路で構成されたＰＷＭインバータ５０６、及び誘起電圧演算部５１２へ出力する。
【００９４】
このようにして、ベクトル制御部５１５は、ステッピングモータ５０９の位置θを基準とした回転座標系（ｄｑ軸）の電流値によって、ステッピングモータ５０９の各相の巻線に供給する駆動電流を制御するベクトル制御を行う。本実施例では、ステッピングモータ５０９の位置θは、後述するように、当該モータの各相の巻線に流れる駆動電流の検出結果に基づく推定演算によって決定される。ベクトル制御部５１５は、ステッピングモータ５０９の位置θの推定値のフィードバックに基づくベクトル制御の結果として、ステッピングモータ５０９へ供給する駆動電流に対応する駆動電圧Ｖα，Ｖβを出力する。なお、ベクトル制御では、通常、ステッピングモータ５０９のトルクの発生には寄与しない電流成分であるｄ軸電流は、値が０となるように制御される。即ち、ベクトル制御部５１５では、電流指令値ｉｄ＿ｒｅｆが０に設定される。
【００９５】
ＰＷＭインバータ５０６では、座標変換器５０５から入力された駆動電圧Ｖα，Ｖβによってモータ駆動回路２５０（図１３）が駆動される。その結果、ＰＷＭインバータ５０６は、駆動電圧Ｖα，Ｖβに応じてステッピングモータ５０９の各相の巻線（図１３のコイルＬ１，Ｌ２）に駆動電流を供給することによって、ステッピングモータ５０９を駆動する。
【００９６】
（センサレス制御）
上述のように、ベクトル制御では、モータの位置制御及び速度制御を行うために、モータの位置及び回転速度を示す情報のフィードバックが必要である。具体的には、図１１に示す構成では、ステッピングモータ５０９の回転子の位置θを示す位置情報、及びステッピングモータ５０９の回転速度ωを示す速度情報を、位置制御器５０１及び速度制御器５０２にそれぞれフィードバックする必要がある。
【００９７】
通常、モータの位置及び回転速度を検出（推定）するためには、モータの回転軸にロータリエンコーダを取り付け、エンコーダの出力パルス数に基づいて位置を検出し、エンコーダの出力パルス周期に基づいて回転速度を検出する。しかし、本来ステッピングモータの駆動に不要であるエンコーダを追加することによって、上述のように、コストアップ及び配置スペースの確保が問題となる。そこで、エンコーダ等の位置検知のためのセンサを用いることなくモータの位置及び回転速度を推定し、その推定結果に基づいてベクトル制御を行うセンサレス制御が提案されている。以下では、再び図１１を参照して、ステッピングモータ５０９のセンサレス制御について説明する。
【００９８】
まず、誘起電圧演算部５１２は、ステッピングモータ５０９（の回転子）の回転に従って、Ａ相（第１相）及びＢ相（第２相）の巻線にそれぞれ誘起される誘起電圧（Ａ相及びＢ相の逆起電圧）を演算する。具体的には、電流検出部５０７，５０８から出力された電流値ｉα，ｉβと、ベクトル制御部５１５から出力された、ステッピングモータ５０９の駆動電圧Ｖα，Ｖβとが、誘起電圧演算部５１２に入力される。誘起電圧演算部５１２は、Ａ相及びＢ相のそれぞれについて、駆動電圧Ｖα，Ｖβと電流値ｉα，ｉβとから、以下の電圧方程式によって、ステッピングモータ５０９の誘起電圧Ｅα，Ｅβを演算する。
Ｅα＝Ｖα−Ｒ＊ｉα−Ｌ＊ｄｉα／ｄｔ
Ｅβ＝Ｖβ−Ｒ＊ｉβ−Ｌ＊ｄｉβ／ｄｔ      （４）
ここで、Ｒは巻線レジスタンス、Ｌは巻線インダクタンスである。Ｒ及びＬの値は、使用されているステッピングモータ５０９に固有の値であり、例えばモータ制御部４００内に設けられたメモリ（図示せず）に予め格納されている。
【００９９】
誘起電圧演算部５１２によって演算された、Ａ相及びＢ相の誘起電圧Ｅα，Ｅβは、位置演算部５１３へ入力される。位置演算部５１３は、Ａ相の誘起電圧ＥαとＢ相の誘起電圧Ｅβとの比から、次式によってステッピングモータ５０９の位置θの推定値を演算する。
θ＝ｔａｎ-1 (−Ｅβ／Ｅα)      （５）
位置演算部５１３は、このような推定演算により得られた位置θの推定値を、位置制御器５０１及び速度演算部５１４に出力（フィードバック）する。なお、位置θの推定値は、位置演算部５１３から速度制御器５０２、座標変換器５０５，５１１にもフィードバックされることで、座標変換等に利用される。
【０１００】
なお、ステッピングモータ５０９の実際の回転位置（機械角）と、推定された回転位置（電気角）とが１対１に対応しない場合には、電気角から機械角への変換を行う変換器を、位置演算部５１３と位置制御器５０１との間に設けてもよい。この場合、ステッピングモータ５０９の位置θの推定値は、このような変換器によって実際の回転位置（機械角）に変換された後に、位置制御器５０１へフィードバックされる。
【０１０１】
速度演算部５１４は、入力された位置θから、次式によってステッピングモータ５０９の回転速度ωの推定値を演算する。
ω＝ｄθ／ｄｔ      （６）
式（６）のように、回転速度ωは、位置θの推定値の時間変化に基づいて演算される。速度演算部５１４は、得られた回転速度ωを速度制御器５０２に出力（フィードバック）する。
【０１０２】
＜ＰＷＭインバータ５０６及び電流検出部５０７，５０８＞
図１３は、図１１に示すＰＷＭインバータ５０６及び電流検出部５０７の構成例を示す図である。本実施例では、ＰＷＭ生成部２０３は、ＰＷＭインバータ５０６内に設けられており、符号制御部２０４、Ａ／Ｄ変換部２２０及び差動増幅部２３０は、電流検出部５０７，５０８のそれぞれに設けられている。なお、電流検出部５０７と電流検出部５０８は、同様の構成を有している。
【０１０３】
ＰＷＭインバータ５０６は、ステッピングモータ５０９のＡ相に対応するＰＷＭ生成部２０３及びモータ駆動回路２５０と、ステッピングモータ５０９のＢ相に対応するＰＷＭ生成部２０３及びモータ駆動回路２５０とを備えている。なお、図１３には、ステッピングモータ５０９のＡ相に対応するＰＷＭ生成部２０３及びモータ駆動回路２５０のみを示しているが、実際にはＢ相に対応するＰＷＭ生成部２０３及びモータ駆動回路２５０も備えている。Ａ相に対応するモータ駆動回路２５０内のＨブリッジ回路は、ステッピングモータのＡ相の巻線であるコイルＬ１に接続されている。Ｂ相に対応するモータ駆動回路２５０内のＨブリッジ回路は、ステッピングモータのＢ相の巻線であるコイルＬ２に接続されている。
【０１０４】
以下では、Ａ相に対応するＰＷＭ生成部２０３及びモータ駆動回路２５０、並びに電流検出部５０７について主に説明するが、Ｂ相に対応するＰＷＭ生成部２０３及びモータ駆動回路２５０、並びに電流検出部５０８も同様である。ベクトル制御部５１５から出力される駆動電圧Ｖαは、Ａ相に対応するＰＷＭ生成部２０３に入力される。なお、ベクトル制御部５１５から出力される駆動電圧Ｖβは、Ｂ相に対応するＰＷＭ生成部２０３に入力される。ＰＷＭ生成部２０３は、駆動電圧Ｖα，Ｖβに対応するデューティ比のＰＷＭ信号を生成し、生成したＰＷＭ信号をモータ駆動回路２５０へ出力する。具体的には、ＰＷＭ生成部２０３は、ＰＷＭ信号の１周期ごとに、駆動電圧Ｖα，Ｖβに対応するデューティ比のＰＷＭ信号（ＰＷＭ＋）と、当該ＰＷＭ信号（ＰＷＭ＋）と逆位相の関係にあるＰＷＭ信号（ＰＷＭ−）とを生成する。上述のように、ＰＷＭ＋は、ＦＥＴ Ｑ１，Ｑ４を駆動するために用いられ、ＰＷＭ−は、ＦＥＴ Ｑ２，Ｑ３を駆動するために用いられる。
【０１０５】
電流検出部５０７は、Ａ相に対応するモータ駆動回路２５０内の電流検出抵抗Ｒ１を用いて、コイルＬ１に流れる駆動電流を検出し、当該駆動電流の検出値ｉαを出力する。電流検出部５０８は、Ｂ相に対応するモータ駆動回路２５０内の電流検出抵抗Ｒ１を用いて、コイルＬ２に流れる駆動電流を検出し、当該駆動電流の検出値ｉβを出力する。具体的には、電流検出部５０７，５０８内の差動増幅部２３０、Ａ／Ｄ変換部２２０及び符号制御部２０４は、実施例１〜３と同様に動作する。電流検出部５０７，５０８内に誤差検出部２０５が設けられている場合には、誤差検出部２０５は実施例３と同様に動作する。なお、実施例１〜３で（図６、図８、図９等を参照して）説明した、モータ制御部２００によって実行される処理は、本実施例ではモータ制御部４００によって実行される。
【０１０６】
その結果、電流検出部５０７，５０８は、それぞれ、符号制御部２０４によって生成された検出値Ｉsnsを、電流検出値ｉα，ｉβとして出力する。電流検出部５０７，５０８から出力された電流検出値ｉα，ｉβは、上述のように、座標変換器５１１及び誘起電圧演算部５１２へ入力される。モータ制御部４００では、電流検出部５０７，５０８から出力される電流検出値ｉα，ｉβに基づく上述の演算によって、ベクトル制御に用いられるステッピングモータの位置θ（回転子の回転位置）が推定（決定）される。位置θは、誘起電圧演算部５１２及び位置演算部５１３によって決定され、ベクトル制御部５１５へフィードバックされる。ベクトル制御部５１５は、位置θのフィードバックに基づく上述のベクトル制御の結果として、ステッピングモータ５０９へ供給する駆動電流に対応する駆動電圧Ｖα，Ｖβを出力する。このようにして、ベクトル制御によるステッピングモータ５０９の駆動制御を実現できる。
【０１０７】
本実施例によれば、実施例１〜３においてモータ制御部２００によって実行される処理をモータ制御部４００に適用しながら、駆動対象のステッピングモータ５０９のベクトル制御を実現することが可能である。したがって、本実施例のモータ制御部４００では、ステッピングモータ５０９のベクトル制御を実現しながら、実施例１〜３と同様の効果を達成することが可能である。
【符号の説明】
【０１０８】
１００：画像形成装置、２５０：モータ駆動装置、Ｑ１〜Ｑ４：ＦＥＴ、２００，４００：モータ制御部、２０１：電流波形生成部、２０２：ＰＩＤ制御部、２０３：ＰＷＭ生成部、２０４：符号制御部、２０５：誤差検出部、２２０：Ａ／Ｄ変換部、２３０：差動増幅部
【図１】
2017184489.tif 000003
【図２】
2017184489.tif 000004
【図３】
2017184489.tif 000005
【図４】
2017184489.tif 000006
【図５】
2017184489.tif 000007
【図６】
2017184489.tif 000008
【図７】
2017184489.tif 000009
【図８】
2017184489.tif 000010
【図９】
2017184489.tif 000011
【図１０】
2017184489.tif 000012
【図１１】
2017184489.tif 000013
【図１２】
2017184489.tif 000014
【図１３】
2017184489.tif 000015
【図１４】
2017184489.tif 000016