(57)【特許請求の範囲】
【請求項１】
スイッチング素子を有しモータに設けられたモータコイルに接続されるＨブリッジ回路と、
前記スイッチング素子を所定のＰＷＭ周期毎に駆動し、前記Ｈブリッジ回路に対して、前記モータコイルに流れるモータ電流を増加させるチャージモード、前記モータ電流を減衰させる高速減衰モード、または前記高速減衰モードよりも遅い減衰速度で前記モータ電流を減衰させる低速減衰モードのうち何れかの動作モードを指定する制御手段と、
前記モータ電流に対応する電流測定値として、前記スイッチング素子に流れる電流に比例する電流を発生させる電流発生部と、
前記電流発生部に流れる電流を電流方向に応じて測定する電流検出部と、
を有し、
前記制御手段は、前記電流検出部による測定結果を用いて、前記各ＰＷＭ周期の開始時からの経過時間が所定の電流制御再実行時間に至る前に前記モータ電流と電流基準値との比較結果に基づいて何れかの前記動作モードを選択するとともに、前記経過時間が前記電流制御再実行時間に至った後に前記モータ電流と前記電流基準値との比較結果に基づいて何れかの前記動作モードを選択する
ことを特徴とするモータ制御装置。
【請求項２】
前記電流基準値は、所定の回転角毎に上昇期間と下降期間とを交互に繰り返す値である
ことを特徴とする請求項１記載のモータ制御装置。
【請求項３】
前記制御手段は、前記各ＰＷＭ周期の開始時から、前記電流制御再実行時間よりも短い最小デューティ時間が経過するまでは、前記動作モードを前記チャージモードに設定する
ことを特徴とする請求項１記載のモータ制御装置。
【請求項４】
前記制御手段は、前記電流基準値が上昇している期間において、前記最小デューティ時間以降で前記電流制御再実行時間以前に前記モータ電流が前記電流基準値以上になったことを検出すると、前記動作モードを前記低速減衰モードに設定するとともに、前記電流制御再実行時間において前記動作モードが前記低速減衰モードであって前記モータ電流が前記電流基準値未満になったことを検出すると、前記動作モードを前記チャージモードに設定する
ことを特徴とする請求項３記載のモータ制御装置。
【請求項５】
前記制御手段は、前記電流基準値が下降している期間において、前記最小デューティ時間以降で前記電流制御再実行時間以前に前記モータ電流が前記電流基準値以上になったことを検出すると、前記動作モードを前記高速減衰モードに設定するとともに、前記電流制御再実行時間において前記モータ電流が前記電流基準値未満になったことを検出すると、前記動作モードを前記低速減衰モードに設定する
ことを特徴とする請求項３記載のモータ制御装置。
【請求項６】
スイッチング素子を有しモータに設けられたモータコイルに接続されるＨブリッジ回路と、前記スイッチング素子を所定のＰＷＭ周期毎に駆動し、前記Ｈブリッジ回路に対して、前記モータコイルに流れるモータ電流を増加させるチャージモード、前記モータ電流を減衰させる高速減衰モード、または前記高速減衰モードよりも遅い減衰速度で前記モータ電流を減衰させる低速減衰モードのうち何れかの動作モードを指定する制御手段と、前記モータ電流に対応する電流測定値として、前記スイッチング素子に流れる電流に比例する電流を発生させる電流発生部と、前記電流発生部に流れる電流を電流方向に応じて測定する電流検出部と、を有するモータ制御装置を制御するモータ制御方法において、
前記モータの回転子と固定子との位置関係に基づいて、前記ＰＷＭ周期毎に電流基準値を設定するステップと、
前記各ＰＷＭ周期の開始時からの経過時間が所定の電流制御再実行時間に至る前に、前記電流検出部による測定結果を用いて、前記モータ電流と前記電流基準値との比較結果に基づいて何れかの前記動作モードを選択するステップと、
前記各ＰＷＭ周期において前記電流制御再実行時間が経過した後に、前記電流検出部による測定結果を用いて、前記モータ電流と前記電流基準値との比較結果に基づいて何れかの前記動作モードを選択するステップと
を実行することを特徴とするモータ制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ステッピングモータの制御に好適なモータ制御装置およびモータ制御方法に関する。
【背景技術】
【０００２】
特許文献１には、ＰＷＭ制御によってステッピングモータを駆動する技術が開示されている。この技術によれば、ＰＷＭ周期毎に、「チャージモード」、「高速減衰モード」、「低速減衰モード」による制御が繰り返される。ここで、チャージモードとは、固定子巻線に供給する電流を増加させてゆく動作モードであり、高速減衰モードとは、該電流を高速に減衰させてゆく動作モードであり、低速減衰モードとは、該電流を低速に減衰させてゆく動作モードである。なお、以下の説明では、高速減衰モードと低速減衰モードとを総称して単に「減衰モード」と呼ぶ場合がある。
【０００３】
これら動作モードは、ステッピングモータに供給する電流の目標値（例えば、階段波によって正弦波を近似した波形）と、電流測定値との比較に基づいて切り替えられる。すなわち、電流測定値が目標値以下であればチャージモードを選択し、電流測定値が目標値を超えると減衰モードを選択するとよい。しかし、何れの動作モードにおいても、電流測定値の波形は事前に予測し難い面がある。まず、チャージモードにおける電流波形は、モータの駆動電圧、モータの回転速度、モータの負荷トルク状況、温度環境等により変化する。
【０００４】
また、固定子巻線のインダクタンスは、回転子と固定子の位置関係に応じて変動するため、減衰モードにおける電流の減衰速度も、この位置関係に応じて変動する。電流測定値が事前の予測から外れ、例えば大きく落ち込むような事態が生じると、それを補うために電流波形のリップルが大きくなる。これにより、モータのトルク損失、振動、騒音などが生じるとともに、チャージモードと高速減衰モード間の頻繁なコイル通電方向の切替が電磁ノイズを発生させる原因にもなる。
【０００５】
このような問題に対応するため、特許文献１の技術では、２個の比較器を設け、電流測定値を２つの基準値と比較し、その比較結果や時間に基づいて動作モードを切り替えている。また、別の手法として、ＰＷＭ周期を短くすることによりリップルを抑制する、という手法も考えられる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００２−２０４１５０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかし、特許文献１のように２個の比較器を設けることは、コストアップにつながる。また、ＰＷＭ周期を短くすることは、高速な動作に対応できるコントローラが必要になるため、やはりコストアップにつながる。
この発明は上述した事情に鑑みてなされたものであり、装置を安価に構成しつつ目標値に対するモータ電流の追従性を高めることができるモータ制御装置およびモータ制御方法を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記課題を解決するため本発明にあっては、
スイッチング素子を有しモータに設けられたモータコイルに接続されるＨブリッジ回路と、
前記スイッチング素子を所定のＰＷＭ周期毎に駆動し、前記Ｈブリッジ回路に対して、前記モータコイルに流れるモータ電流を増加させるチャージモード、前記モータ電流を減衰させる高速減衰モード、または前記高速減衰モードよりも遅い減衰速度で前記モータ電流を減衰させる低速減衰モードのうち何れかの動作モードを指定する制御手段と、
前記モータ電流に対応する電流測定値として、前記スイッチング素子に流れる電流に比例する電流を発生させる電流発生部と、
前記電流発生部に流れる電流を電流方向に応じて測定する電流検出部と、
を有し、
前記制御手段は、前記電流検出部による測定結果を用いて、前記各ＰＷＭ周期の開始時からの経過時間が所定の電流制御再実行時間に至る前に前記モータ電流と電流基準値との比較結果に基づいて何れかの前記動作モードを選択するとともに、前記経過時間が前記電流制御再実行時間に至った後に前記モータ電流と前記電流基準値との比較結果に基づいて何れかの前記動作モードを選択することを特徴とする。
【発明の効果】
【０００９】
本発明によれば、装置を安価に構成しつつ目標値に対するモータ電流の追従性を高めることができる。
【図面の簡単な説明】
【００１０】
【図１】本発明の一実施形態によるモータ制御システムの全体ブロック図である。
【図２】モータ制御装置の詳細ブロック図である。
【図３】Ｈブリッジ回路の動作モードの説明図である。
【図４】モータの回転角に対する電流基準値の波形図である。
【図５】上昇期間における各部の波形図である。
【図６】下降期間における各部の波形図である。
【図７】上昇期間制御ルーチンのフローチャートのである。
【図８】下降期間制御ルーチンのフローチャート（１／２）である。
【図９】下降期間制御ルーチンのフローチャート（２／２）である。
【発明を実施するための形態】
【００１１】
［実施形態の構成］
（全体構成）
次に、図１を参照し、本発明の一実施形態によるモータ制御システムの全体構成を説明する。
図１において、ステッピングモータ１２０は、バイポーラ型２相ステッピングモータであり、永久磁石を有し回動自在に設けられた回転子１２６と、回転子１２６の周囲の周回方向４等分位置に設けられた固定子とを有している。これらの固定子は、Ｘ相の固定子１２２ＸＰ，１２２ＸＮと、Ｙ相の固定子１２２ＹＰ，１２２ＹＮとからなる。これらの固定子には各々巻線が巻回されている。固定子１２２ＹＰ，１２２ＹＮに巻回された巻線は直列に接続されており、両巻線を合わせて「固定子巻線１２４Ｙ」という。同様に、固定子１２２ＸＰ，１２２ＸＮに巻回された巻線は直列に接続されており、両巻線を合わせて「固定子巻線１２４Ｘ」という。
【００１２】
上位装置１３０は、モータ１２０の回転速度を指令する速度指令信号を出力する。モータ制御装置１００は、この速度指令信号に応じてモータ１２０を駆動制御するものである。モータ制御装置１００には、Ｈブリッジ回路２０Ｘ，２０Ｙが設けられており、それぞれ固定子巻線１２４Ｘ，１２４Ｙに対して、Ｘ相電圧ＶＭＸ，Ｙ相電圧ＶＭＹを印加する。
【００１３】
（モータ制御装置１００）
次に、図２を参照し、モータ制御装置１００の詳細を説明する。なお、図１には２系統の固定子巻線１２４Ｘ，１２４Ｙと、２系統のＨブリッジ回路２０Ｘ，２０Ｙを示したが、図２では、これらをまとめて１系統の固定子巻線１２４と、１系統のＨブリッジ回路２０として示している。
【００１４】
モータ制御装置１００の内部に設けられたＣＰＵ（Central Processing Unit）１０１は、ＲＯＭ（Read Only Memory）１０３に記憶された制御プログラムに基づいて、バス１０６を介して各部を制御する。ＲＡＭ（Random Access Memory）１０２は、ＣＰＵ１０１のワークメモリとして使用される。タイマ１０４は、ＣＰＵ１０１の制御の下、リセットされたタイミングからの経過時間を測定する。Ｉ／Ｏポート１０５は、図１に示した上位装置１３０、その他外部装置との間で信号を入出力する。ブリッジ制御部１０７は、ＣＰＵ１０１からの指令に基づいて、ブリッジ制御回路１１０の各部を制御する。
【００１５】
ここで、ブリッジ制御回路１１０は、一体の集積回路として構成されている。その内部においてＰＷＭ信号発生器１１３は、ブリッジ制御部１０７による制御に基づいて、ＰＷＭ信号を生成しＨブリッジ回路２０に供給する。Ｈブリッジ回路２０には、ＦＥＴ（Field-Effect Transistor）２，４，６，８，１５，１７が含まれており、ＰＷＭ信号とは、これらＦＥＴにゲート電圧として印加されるオン／オフ信号である。なお、図中においてこれらＦＥＴの下側の端子がソース端、上側の端子がドレイン端になる。
【００１６】
ＦＥＴ２，４は直列に接続され、その直列回路に対して、直流電源１４０およびアース線１４２が接続され、所定の電圧Ｖｄｄが印加される。同様に、ＦＥＴ６，８も直列に接続され、その直列回路に対して電圧Ｖｄｄが印加される。ダイオード１２，１４，１６，１８は、還流用のダイオードであり、ＦＥＴ２，４，６，８に対して並列に接続されている。ＦＥＴ１５，１７は、電流検出用に設けられているものであり、それぞれＦＥＴ４，８とともにカレントミラー回路を形成している。これにより、ＦＥＴ４，８に流れる電流に比例する電流が、それぞれＦＥＴ１５，１７に流れる。
【００１７】
ＦＥＴ２，４の接続点の電圧ＶＭout0は、モータの固定子巻線１２４の一端に印加される。また、ＦＥＴ６，８の接続点の電圧ＶＭout1は固定子巻線１２４の他端に印加される。従って、固定子巻線１２４には、両者の差であるモータ電圧ＶＭ（＝電圧ＶＭout0−ＶＭout1）が印加される。このモータ電圧ＶＭとは、実際には図１に示したＸ相電圧ＶＭＸおよびＹ相電圧ＶＭＹである。
【００１８】
電流検出部１１６は、ＦＥＴ１５，１７に流れる電流値を電流方向に応じて測定することにより、固定子巻線１２４に流れる電流の電流測定値Ｉcoilを出力する。Ｄ／Ａコンバータ１１５は、ブリッジ制御部１０７から、電流基準値Ｉrefのデジタル値を受信し、これをアナログ値に変換する。比較器１１４は、アナログ値の電流測定値Ｉcoilと電流基準値Ｉrefとを比較し、前者が後者以上になると“１”信号を出力するとともに、それ以外の場合は“０”信号を出力する。
【００１９】
但し、比較器１１４の出力信号には、ノイズ等の影響によってチャタリングが起こる場合がある。電流フィルタ１１１は、このチャタリングを除外するために設けられている。すなわち、比較器１１４の出力信号が切り替わると、電流フィルタ１１１は、所定のフィルタ期間Ｔftだけ待機し、比較器１１４の出力信号が切替後の値に維持されているか否かを再度判定する。この判定結果が肯定的であった場合に、当該切替後の値を閾値超過フラグＣＬとして出力する。
【００２０】
また、電圧ＶＭout0，ＶＭout1はＡ／Ｄコンバータ１１７と、ＢＥＭＦ（逆起電力）検出部１１８にも供給される。ＢＥＭＦ検出部１１８は、モータ電圧ＶＭが逆起電力である場合、すなわちＨブリッジ回路２０から電圧が印加されていない期間に電圧方向の切り替わり（ゼロクロス）に応じてフラグＺＣを出力する。Ａ／Ｄコンバータ１１７は、電圧ＶＭout0，ＶＭout1に基づいて、固定子巻線１２４の逆起電力Ｖbemfを測定し出力する。この逆起電力Ｖbemfは、脱調検出のために用いられる。
【００２１】
また、ブリッジ制御部１０７は、電流制御有効フラグＣＬＭを出力する。このフラグＣＬＭは、Ｈブリッジ回路２０に供給されるＰＷＭ信号の変更を許容する場合は“１”、許容しない場合は“０”になるフラグである。電流制限制御部１１２は、フラグＣＬＭが“０”である場合には、現在のＰＷＭ信号を維持するように、ＰＷＭ信号発生器１１３を制御する。
【００２２】
［実施形態の動作の概要］
（Ｈブリッジ回路２０の動作モード）
次に、図３（ａ）〜（ｆ）を参照し、Ｈブリッジ回路２０の動作モードを説明する。
固定子巻線１２４に流れるモータ電流の絶対値を増加させてゆく場合には、図３（ａ）に示すように、斜めに対向する２つのＦＥＴがオン状態にされる。図示の例では、ＦＥＴ４，６がオン状態であり、ＦＥＴ２，８がオフ状態である。この状態では、ＦＥＴ６、固定子巻線１２４、ＦＥＴ４を介して破線で示す方向にモータ電流が流れるとともに、当該モータ電流が増加してゆく。この動作モードを「チャージモード」という。
【００２３】
図３（ａ）の状態から、モータ電流を高速に減衰させる場合は、図３（ｂ）に示すように、ＦＥＴ４，６をオフ状態にし、ＦＥＴ２，８をオン状態にする。固定子巻線１２４には逆起電力が発生するため、ＦＥＴ８、固定子巻線１２４、ＦＥＴ２を介して破線で示す方向に電流が流れ、当該電流が高速に減衰してゆく。この動作モードを「高速減衰モード」という。
【００２４】
また、図３（ａ），（ｂ）の状態から、電流を低速に減衰させる場合には、図３（ｃ）に示すように、電圧Ｖｄｄ側のＦＥＴ２，６をオン状態とし、接地電位側のＦＥＴ４，８をオフ状態にする。すると、図示の破線のように、ＦＥＴ２，６および固定子巻線１２４をループする電流が流れる。この電流は、ＦＥＴ２，６および固定子巻線１２４のインピーダンスによって減衰してゆくが、減衰速度は低速である。この動作モードを「低速減衰モード」という。
【００２５】
また、低速減衰モードのバリエーションとして、図３（ｄ）に示すように、電圧Ｖｄｄ側のＦＥＴ２，６をオフ状態とし、接地電位側のＦＥＴ４，８をオン状態にしてもよい。すると、図示の破線のように、ＦＥＴ４，８および固定子巻線１２４をループするモータ電流が流れる。この電流は、ＦＥＴ４，８および固定子巻線１２４のインピーダンスによって減衰してゆくが、やはり減衰速度は低速である。
【００２６】
ところで、何れかのＦＥＴのゲート電圧をオフにしたとしても、当該ＦＥＴの寄生容量によって、そのＦＥＴはしばらくの間はオン状態に留まる。このため、例えばチャージモード（図３（ａ））から高速減衰モード（図３（ｂ））に瞬時に切り替えると、瞬間的に全てのＦＥＴがオン状態になり、電圧Ｖｄｄとアース電位との間が短絡し、ＦＥＴが破壊される。このような事態を防止するため、Ｈブリッジ回路２０は「貫通保護モード」という動作モードに設定される。
【００２７】
図３（ｅ）は、全てのＦＥＴ２，４，６，８をオフ状態にした貫通保護モードである。図３（ａ）のチャージモードから図３（ｅ）の貫通保護モードに切り替えられると、固定子巻線１２４には逆起電力が発生するため、ダイオード１８、固定子巻線１２４、ダイオード１２を介して破線で示す方向にモータ電流が流れる。図３（ｅ）の貫通保護モードでは、ダイオード１２，１８の順方向電圧降下に応じた電力損失が生じるため、モータ電流の減衰速度は最も大きくなる。
【００２８】
ここで、図３（ａ）のチャージモードと図３（ｄ）の低速減衰モードとを比較すると、何れにおいても、ＦＥＴ４はオン状態である。従って、図３（ａ）の状態から図３（ｄ）の状態に遷移させる場合においては、ＦＥＴ４はオン状態にしたままであっても差支えない。そこで、このような場合には、図３（ｆ）に示すように、ＦＥＴ４をオン状態にし、ＦＥＴ２，６，８をオフ状態にした貫通保護モードを採用することができる。この場合は、同図の破線に示すように、ＦＥＴ４、ダイオード１８、固定子巻線１２４をループするモータ電流が流れる。
【００２９】
図３（ｆ）の状態では、ダイオード１８の順方向電圧降下に応じた電力損失が生じるため、低速減衰モードと比較すると減衰速度は大きくなるが、高速減衰モードまたは図３（ｅ）の貫通保護モードと比較すると、はるかに減衰速度を低くすることができる。チャージモードまたは高速減衰モードから低速減衰モードに遷移させる場合は、「モータ電流を大きく減衰させたくない」という事であるから、図３（ｆ）に示したように１個のＦＥＴのみをオン状態にした貫通保護モードが選択される。
【００３０】
但し、図１において、ＣＰＵ１０１からブリッジ制御部１０７に指定される動作モードは、チャージモード、低速減衰モードまたは高速減衰モードのうち何れかであり、後述する制御プログラムにおいても、貫通保護モードは明示的には指定されない。しかし、ブリッジ制御部１０７は、指定された動作モードを直ちに反映させるのではなく、間に必ず貫通保護モード（図３（ｅ）または（ｆ））を挿入してＰＷＭ信号発生器１１３を制御する。
【００３１】
（電流基準値の設定）
図２においてブリッジ制御部１０７からＤ／Ａコンバータ１１５に供給される電流基準値Ｉrefは、実際には、Ｘ相の電流基準値ＩＸrefとＹ相の電流基準値ＩＹrefとからなる。ステッピングモータ１２０の一回転、すなわち回転角θが０〜２πの範囲におけるこれら電流基準値ＩＸref，ＩＹrefの設定例を図４（ａ），（ｂ）に示す。図示のように、電流基準値ＩＸref，ＩＹrefは、コサインカーブ、サインカーブを階段波で近似した波形になる。このようにして電流基準値を定めてモータを駆動する方式はマイクロステップ方式と呼ばれており、特に低速回転時に残留振動が小さく安定性に優れている特徴がある。
【００３２】
また、階段波が変動する周期をマイクロステップ周期Ｔｍという。マイクロステップ周期Ｔｍは、ＰＷＭ周期と同一か、その整数倍にすることが望ましい。電流基準値ＩＸref，ＩＹrefは、共に回転角θのπ／２毎に、図示のように上昇期間と下降期間とを交互に繰り返す。ここで「上昇期間」とは、電流基準値ＩＸref，ＩＹrefの絶対値が上昇している期間であり、「下降期間」とは、同絶対値が下降している期間である。
【００３３】
（電流制御の概要：上昇期間）
次に、図５に示す波形図を参照し、上昇期間における電流制御の概要を説明する。
図５において時刻ｔ0，ｔ10，ｔ20，ｔ30，ｔ40，ｔ50，ｔ60は、ＰＷＭ周期Ｔの開始時刻である。また、マイクロステップ周期Ｔｍは、図示の例ではＰＷＭ周期Ｔの２倍であり、マイクロステップ周期Ｔｍ毎に電流基準値Ｉrefが変動している。また、図５には、電圧ＶＭout0，ＶＭout1および閾値超過フラグＣＬの波形も併記する。最下部に示す「チャージモード」と記されている箇所は、動作モードがチャージモードである期間を黒線で、それ以外の動作モードの期間を白抜き線で表示している。
【００３４】
時刻ｔ10〜ｔ12において、Ｈブリッジ回路２０はチャージモード（図３（ａ）参照）に設定されており、時間の経過とともに電流測定値Ｉcoilは増加している。時刻ｔ12において電流測定値Ｉcoilは電流基準値Ｉrefに等しくなっている。しかし、図２において説明したように、電流フィルタ１１１は、チャタリングを除外するために、比較器１１４の出力信号が切り替わった後、フィルタ期間Ｔftだけ待機した後に切替後の値が維持されている場合は閾値超過フラグＣＬを切り替える。従って、図５においては、時刻ｔ12からフィルタ期間Ｔftが経過した時刻ｔ14において閾値超過フラグＣＬは“１”に立ち上がっている。
【００３５】
閾値超過フラグＣＬが“１”に立ち上がると、Ｈブリッジ回路２０の動作モードは原則的には低速減衰モード（図３（ｄ）参照）に切り替えられる。これは、電流測定値Ｉcoilを電流基準値Ｉrefに追従させるためである。従って、時刻ｔ14においても、この原則に従って、動作モードは低速減衰モードに切り替えられる。なお、本実施形態においては、上昇期間における減衰モードは必ず低速減衰モードが選択され、高速減衰モード（図３（ｂ）参照）が選択されることはない。
【００３６】
その後、時刻ｔ16に達すると、閾値超過フラグＣＬに基づいて、再び動作モードが再設定される。時刻ｔ16は、当該ＰＷＭ周期の開始時刻ｔ10から所定時間Ｔｒだけ経過した時刻である。この所定時間Ｔｒを「電流制御再実行時間」と呼ぶ。電流制御再実行時間Ｔｒは、ＰＷＭ周期Ｔの２５％〜７５％程度の時間に設定するとよい。時刻ｔ16において、閾値超過フラグＣＬは“１”のままであるから、動作モードは、当該ＰＷＭ周期（時刻ｔ10〜ｔ20）が終了するまで、低速減衰モードのまま保持される。
【００３７】
時刻ｔ20において次のＰＷＭ周期が開始されると、動作モードは再びチャージモードに設定され、電流測定値Ｉcoilが増加してゆく。時刻ｔ20には、新たなマイクロステップ周期Ｔｍも始まっており、電流基準値Ｉrefは以前よりも高い値に設定されている。時刻ｔ22において電流測定値Ｉcoilが電流基準値Ｉrefに等しくなると、その時点からフィルタ期間Ｔftが経過した時刻ｔ24において閾値超過フラグＣＬが“１”に立ち上がる。
【００３８】
これにより、動作モードは低速減衰モードに遷移する。その後、時刻ｔ26において電流制御再実行時間Ｔｒに達すると、閾値超過フラグＣＬが再び参照される。この時点では、未だ閾値超過フラグＣＬは“１”のままであるから、時刻ｔ30に当該ＰＷＭ周期が終了するまで、動作モードは低速減衰モードのまま保持される。ところで、時刻ｔ30の前後において、電流測定値Ｉcoilは短い期間だけ電流基準値Ｉref未満になっている。しかし、この期間がフィルタ期間Ｔftよりも短ければ、閾値超過フラグＣＬは“１”のまま保持される。
【００３９】
上述のように、閾値超過フラグＣＬが“１”になると、動作モードは原則的には低速減衰モードに設定される。しかし、時刻ｔ30において新たなＰＷＭ周期が開始されると、閾値超過フラグＣＬが“１”であるにもかかわらず、動作モードがチャージモードに設定され、時刻ｔ30〜ｔ32まで電流測定値Ｉcoilが増加している。そこで、この理由について説明しておく。ＰＷＭ周期毎にチャージモードと減衰モードを繰り返すと、ＰＷＭ周期でモータ１２０が振動する。この振動周期が可聴領域に入ると、振動が耳障りな雑音となって人間に聞こえるため、ＰＷＭ周期は可聴領域よりも短い周期に設定されている。しかし、全くチャージモードが無いＰＷＭ周期が現れると、振動の中にＰＷＭ周期の整数倍の成分が現れるため、雑音が人間に聞こえるようになる。
【００４０】
そのような事態を防止するため、本実施形態においては、各ＰＷＭ周期の開始時においては、所定の最小デューティ時間Ｔminは、必ずチャージモードを選択するようにしている。時刻ｔ30〜ｔ32の期間は、この最小デューティ時間Ｔminに相当する。そして、最小デューティ時間Ｔminが経過した後は、閾値超過フラグＣＬが“１”である事に応じて、動作モードは低速減衰モードに切り替えられ、電流測定値Ｉcoilは減衰してゆく。時刻ｔ34には電流測定値Ｉcoilは電流基準値Ｉref未満になり、さらにフィルタ期間Ｔftが経過した時刻ｔ36には、閾値超過フラグＣＬは“０”に立ち下がる。
【００４１】
時刻ｔ37は、当該ＰＷＭ周期において電流制御再実行時間Ｔｒが経過したタイミングであり、この時点で閾値超過フラグＣＬは“０”であるから、動作モードはチャージモードに切り替えられる。その後、電流測定値Ｉcoilは増加してゆくが、時刻ｔ38になると、未だ閾値超過フラグＣＬが“０”であるにもかかわらず、動作モードは低速減衰モードに切り替えられ、電流測定値Ｉcoilは減少に転じている。そこで、この理由についても説明しておく。
【００４２】
本実施形態においては、動作モードがチャージモードに設定され得る期間は、各ＰＷＭ周期の開始時から、所定の最大デューティ時間Ｔmaxに至るまでの期間に限定されている。時刻ｔ38は、当該ＰＷＭ周期の開始時刻ｔ30から最大デューティ時間Ｔmaxが経過した時刻であるため、閾値超過フラグＣＬの値にかかわらず、動作モードは低速減衰モードに切り替えられている。ここで、最大デューティ時間Ｔmaxを設けた理由は、最小デューティ時間Ｔminを設けた理由と同様である。すなわち、全期間にわたってチャージモードになるＰＷＭ周期が存在すると、ＰＷＭ周期の整数倍の周期の振動が生じ、人間に雑音が聞こえるためである。
【００４３】
時刻ｔ40において次のＰＷＭ周期が開始されると、動作モードは再びチャージモードに設定され、電流測定値Ｉcoilが増加してゆく。時刻ｔ40には、新たなマイクロステップ周期Ｔｍも始まっており、電流基準値Ｉrefはさらに高い値に設定されている。電流制御再実行時間Ｔｒが経過した時刻ｔ44に達すると、閾値超過フラグＣＬが再び参照される。この時点では、閾値超過フラグＣＬは“０”であるから、動作モードはチャージモードが維持される。時刻ｔ42において電流測定値Ｉcoilが電流基準値Ｉrefに等しくなっていることから、その時点からフィルタ期間Ｔftが経過した時刻ｔ46において閾値超過フラグＣＬが“１”に立ち上がる。
【００４４】
これにより、動作モードは低速減衰モードに遷移する。その後、当該ＰＷＭ周期が終了する時刻ｔ50まで、動作モードは低速減衰モードのまま保持される。時刻ｔ50において次のＰＷＭ周期が開始されると、最小デューティ時間Ｔminが経過する時刻ｔ52まで動作モードはチャージモードに設定され、時刻ｔ52において低速減衰モードに切り替えられる。そして、当該ＰＷＭ周期において電流制御再実行時間Ｔｒが経過した時刻ｔ54においては、閾値超過フラグＣＬが“０”であるから、動作モードはチャージモードに切り替えられる。上昇期間においては、以上のような動作が繰り返される。
【００４５】
ここで、比較例として、電流制御再実行時間Ｔｒの経過時に閾値超過フラグＣＬの再評価を「実行しない」場合の電流測定値Ｉcoil’を破線で示す。この比較例においては、時刻ｔ37，ｔ54において動作モードがチャージモードに切り替わらないため、電流波形が大きく落ち込む。すなわち、電流波形のリップルが大きくなるため、モータのトルク損失や、振動、騒音が大きくなる。これに対して、本実施形態によれば、電流制御再実行時間Ｔｒの経過時に閾値超過フラグＣＬを再評価し、必要に応じて動作モードを切り替えるから、電流測定値Ｉcoilの立ち上がりの遅れを小さくすることができる。特に、電流基準値Ｉrefが急峻に立ち上がる期間（例えば図４（ａ）において回転角θがπ／２〜３π／４、３π／２〜７π／４の期間）において顕著な効果を奏することができる。
【００４６】
（電流制御の概要：下降期間）
次に、図６に示す波形図を参照し、下降期間における電流制御の概要を説明する。
図６において時刻ｔ100，ｔ110，ｔ120，ｔ130，ｔ140，ｔ150，ｔ160は、ＰＷＭ周期Ｔの開始時刻である。図５において説明した上昇期間の場合と同様に、下降期間においてもマイクロステップ周期ＴｍはＰＷＭ周期Ｔの２倍である。また、最小デューティ時間Ｔmin、最大デューティ時間Ｔmaxおよび電流制御再実行時間Ｔｒが設定されている点も、上昇期間に対する処理と同様である。但し、下降期間においては、減衰モードとして、高速減衰モードおよび低速減衰モードの双方が選択され得る。
【００４７】
図６の時刻ｔ100においてＰＷＭ周期が開始されると、最小デューティ時間Ｔminが経過する時刻ｔ102まで動作モードはチャージモードに設定される。時刻ｔ102において閾値超過フラグＣＬは“１”であるが、下降期間にあっては、フラグＣＬが“１”になると、原則的には動作モードが高速減衰モードに切り替えられる。その後、当該ＰＷＭ周期において電流制御再実行時間Ｔｒが経過した時刻ｔ104に達すると、閾値超過フラグＣＬが参照される。図示のように、時刻ｔ104において閾値超過フラグＣＬは“１”である。このような場合、下降期間においては、動作モードとして高速減衰モードが維持される。従って、図示の例においても、当該ＰＷＭ周期が終了する時刻ｔ110まで、高速減衰モードが維持される。
【００４８】
時刻ｔ110において次のＰＷＭ周期が開始されると、動作モードはチャージモードに切り替えられ、電流測定値Ｉcoilは再び増加してゆく。時刻ｔ112にて電流測定値Ｉcoilは電流基準値Ｉrefに達し、さらにフィルタ期間Ｔftが経過した時刻ｔ114にて閾値超過フラグＣＬは“１”に立ち上がる。これにより、動作モードは高速減衰モードに切り替えられ、電流測定値Ｉcoilは減少してゆく。次に、当該ＰＷＭ周期において電流制御再実行時間Ｔｒが経過した時刻ｔ116においては、閾値超過フラグＣＬが再び参照される。図示の例では、この時点で閾値超過フラグＣＬは“０”である。下降期間においては、このような場合は、動作モードが低速減衰モードに切り替えられ、当該ＰＷＭ周期が終了する時刻ｔ120まで低速減衰モードが維持される。
【００４９】
次に、時刻ｔ120において新たなＰＷＭ周期が開始されるが、同時に新たなマイクロステップ周期Ｔｍも始まっており、電流基準値Ｉrefはさらに低い値に設定されている。時刻ｔ120において動作モードはチャージモードに切り替えられ、電流測定値Ｉcoilは増加してゆく。その後、最小デューティ時間Ｔminが経過した時刻ｔ122において閾値超過フラグＣＬは“１”であるから、動作モードは高速減衰モードに切り替えられ、電流測定値Ｉcoilは減少してゆく。次に、当該ＰＷＭ周期において電流制御再実行時間Ｔｒが経過した時刻ｔ124においては、閾値超過フラグＣＬが再び参照される。この時点で同フラグは“１”であるから、当該ＰＷＭ周期が終了する時刻ｔ130まで高速減衰モードが維持される。
【００５０】
次に、時刻ｔ130において新たなＰＷＭ周期が開始されると、最小デューティ時間Ｔminが経過する時刻ｔ132まで動作モードはチャージモードに設定され、電流測定値Ｉcoilが増加する。そして、時刻ｔ132では閾値超過フラグＣＬが“１”であるから、動作モードは高速減衰モードに切り替えられ、電流測定値Ｉcoilが減少してゆく。時刻ｔ134にて電流測定値Ｉcoilは電流基準値Ｉrefに達し、さらにフィルタ期間Ｔftが経過した時刻ｔ136にて閾値超過フラグＣＬは“０”に立ち下がっている。次に、本ＰＷＭ周期にて電流制御再実行時間Ｔｒが経過した時刻ｔ138において、該フラグＣＬが参照されると、動作モードは低速減衰モードに切り替えられる。
【００５１】
次に、時刻ｔ140において新たなＰＷＭ周期が開始されるが、同時に新たなマイクロステップ周期Ｔｍも始まっており、電流基準値Ｉrefはさらに低い値に設定されている。時刻ｔ140〜ｔ160の動作は、時刻ｔ120〜ｔ130の動作と同様である。すなわち、動作モードは、時刻ｔ140〜ｔ142にてチャージモード、時刻ｔ142〜ｔ150にて高速減衰モード、時刻ｔ150〜ｔ152にてチャージモード、時刻ｔ152〜ｔ156にて高速減衰モードになる。
【００５２】
ここで、比較例として、電流制御再実行時間Ｔｒの経過時に閾値超過フラグＣＬの再評価を「実行しない」場合の電流測定値Ｉcoil’を破線で示す。この比較例では、電流制御再実行時間Ｔｒが経過したタイミングにおいて、フラグＣＬの値にかかわらず、動作モードが低速減衰モードに切り替えられている。この比較例では、電流測定値Ｉcoil’が電流基準値Ｉrefに充分に追従できないため、やはり、モータのトルク損失や、振動、騒音が大きくなるという問題が生じる。これに対して、本実施形態によれば、電流制御再実行時間Ｔｒの経過時に閾値超過フラグＣＬを再評価し、必要に応じて動作モードを切り替えるから、電流測定値Ｉcoilの立ち下がりの遅れを小さくすることができる。特に、電流基準値Ｉrefが急峻に立ち下がる期間（例えば図４（ａ）において回転角θがπ／４〜π／２、５π／４〜３π／２の期間）において顕著な効果を奏することができる。
【００５３】
［電流制御の詳細］
＜上昇期間＞
（最小デューティ時間Ｔminに至るまでの処理）
次に、図７を参照し、上昇期間における動作の詳細を説明する。なお、図７は、ＲＯＭ１０３に記憶されＣＰＵ１０１によって実行される制御プログラムである、上昇期間制御ルーチンのフローチャートであり、上昇期間においてＰＷＭ周期毎に起動される。
【００５４】
図７のステップＳ１にて上昇期間制御ルーチンの処理が開始される。このステップＳ１では、タイマ１０４がリセットされ、以降はＰＷＭ周期が開始された後の経過時間が計時される。また、ステップＳ１では、回転子１２６の回転角θの推定値と、図４（ａ）または（ｂ）に示した波形とに基づいて、当該ＰＷＭ周期における電流基準値Ｉref（図４（ａ），（ｂ）における電流基準値ＩＸrefまたはＩＹref）が決定され、決定された電流基準値Ｉrefはブリッジ制御部１０７（図２参照）にセットされる。次に、ステップＳ２にて、動作モードがチャージモードに設定される。次に、処理がステップＳ３に進むと、タイマ１０４の示す経過時間および閾値超過フラグＣＬが取得される。なお、本ルーチン内では、経過時間および閾値超過フラグＣＬは、ステップＳ３が再び実行されるまで変化しない。
【００５５】
次に、処理がステップＳ４に進むと、ＰＷＭ周期開始後の経過時間が最小デューティ時間Ｔminを経過したか否かが判定される。ここで「Ｎｏ」と判定されると、処理はステップＳ１２に進み、該経過時間は電流制御再実行時間Ｔｒに等しいか否かが判定される。ステップＳ１２において「Ｎｏ」と判定されると、処理はステップＳ１８に進み、経過時間は最大デューティ時間Ｔmaxに等しいか否かが判定される。ステップＳ１８において「Ｎｏ」と判定されると、処理はステップＳ３に戻る。以後、経過時間が最小デューティ時間Ｔminを超過するまで、ステップＳ３，Ｓ４，Ｓ１２，Ｓ１８のループが繰り返され、動作モードはチャージモードに維持される。
【００５６】
（最小デューティ時間Ｔminから電流制御再実行時間Ｔｒまでの処理）
そして、最小デューティ時間Ｔminが経過すると、ステップＳ４にて「Ｙｅｓ」と判定され処理はステップＳ６に進む。ここでは、閾値超過フラグＣＬが“１”であるか否かが判定される。ここで「Ｙｅｓ」と判定されると、ステップＳ８にて現在の動作モードがチャージモードであるか否かが判定される。さらに「Ｙｅｓ」と判定されると、処理はステップＳ１０に進み、動作モードが低速減衰モードに切り替えられる。図５に示した時刻ｔ32，ｔ52における電流測定値Ｉcoilの変化は、このように、最小デューティ時間Ｔminの経過とともに動作モードを低速減衰モードに切り替えた具体例である。
【００５７】
一方、最小デューティ時間Ｔminの経過時に閾値超過フラグＣＬが“０”であれば、ステップＳ６において「Ｎｏ」と判定され、以降は、フラグＣＬが“０”である限り、ステップＳ４，Ｓ６，Ｓ１２，Ｓ１８のループが繰り返され、動作モードはチャージモードに維持される。そして、電流制御再実行時間Ｔｒに至る前にフラグＣＬが“１”になると、ステップＳ６，Ｓ８において「Ｙｅｓ」と判定され、ステップＳ１０にて動作モードは低速減衰モードに切り替えられる。図５に示した時刻ｔ14，ｔ24における電流測定値Ｉcoilの変化は、このように、最小デューティ時間Ｔminの経過後、電流制御再実行時間Ｔｒまでに動作モードを低速減衰モードに切り替えた具体例である。また、時刻ｔ46における電流測定値Ｉcoilの変化は、最小デューティ時間Ｔminの経過後、電流制御再実行時間Ｔｒ以降に動作モードを低速減衰モードに切り替えた具体例である。
【００５８】
（電流制御再実行時間Ｔｒにおける処理）
また、電流制御再実行時間Ｔｒに至るまで閾値超過フラグＣＬが“０”のままであれば、動作モードはチャージモードのまま維持される。従って、電流制御再実行時間Ｔｒにおける動作モードは、チャージモードまたは低速減衰モードの何れか一方に設定されていることが解る。ＰＷＭ周期開始後の経過時間が電流制御再実行時間Ｔｒに等しくなると、ステップＳ１２において「Ｙｅｓ」と判定され処理はステップＳ１４に進む。ここでは、閾値超過フラグＣＬが“０”であるか否かが判定される。ここで「Ｙｅｓ」と判定されると処理はステップＳ１６に進み、動作モードがチャージモードに設定される。
【００５９】
すなわち、ステップＳ１６の実行時における動作モードがチャージモードであれば、そのチャージモードがそのまま維持される。一方、実行時における動作モードが低速減衰モードであれば、動作モードはチャージモードに切り替えられる。図５に示した時刻ｔ37，ｔ54における電流測定値Ｉcoilの変化は、このように、電流制御再実行時間Ｔｒにおいて動作モードを低速減衰モードからチャージモードに切り替えた具体例である。
【００６０】
なお、閾値超過フラグＣＬが“１”である場合には、ステップＳ１４において「Ｎｏ」と判定され、従前の動作モードがそのまま維持されるが、この場合、従前の動作モードは必ず低速減衰モードである。その理由は、チャージモードにおいて閾値超過フラグＣＬが“１”になったとすると、先にステップＳ６，Ｓ８，Ｓ１０が実行され、動作モードは必ず低速減衰モードになるからである。
【００６１】
（電流制御再実行時間Ｔｒから最大デューティ時間Ｔmaxまでの処理）
上述のステップＳ１２においては、経過時間が電流制御再実行時間Ｔｒに等しくなったタイミングのみ「Ｙｅｓ」と判定され、それ以降は常に「Ｎｏ」と判定される。ここで、電流制御再実行時間Ｔｒにおける動作モードが低速減衰モードであったとすると、それ以降、動作モードを他のモードに切り替えるステップが実行されることはない。従って、その後は低速減衰モードが維持され続けることになる。
【００６２】
一方、電流制御再実行時間Ｔｒにおける動作モードがチャージモードであった場合、その後に閾値超過フラグＣＬが“１”になると、ステップＳ６，Ｓ８を介してステップＳ１０が実行され、動作モードは低速減衰モードに切り替えられる。図５に示した時刻ｔ46における電流測定値Ｉcoilの変化は、このように、電流制御再実行時間Ｔｒの経過後、最大デューティ時間Ｔmaxまでに動作モードを低速減衰モードに切り替えた具体例である。
【００６３】
（最大デューティ時間Ｔmax以降の処理）
ＰＷＭ周期開始後の経過時間が最大デューティ時間Ｔmaxに等しくなると、ステップＳ１８において「Ｙｅｓ」と判定され、処理はステップＳ２０に進む。ここでは、動作モードが低速減衰モードに設定される。すなわち、従前の動作モードがチャージモードであったなら、低速減衰モードに切り替えられ、従前の動作モードが低速減衰モードであったなら、該モードがそのまま維持される。次に、ステップＳ２２においては、当該ＰＷＭ周期が終了するまで処理が待機する。従って、動作モードは低速減衰モードに維持される。そして、ステップＳ２２において「Ｙｅｓ」と判定されると、ステップＳ２４にて、本ルーチンの処理は終了する。
【００６４】
＜下降期間＞
（最小デューティ時間Ｔminに至るまでの処理）
次に、図８，図９を参照し、下降期間における動作の詳細を説明する。なお、図８，図９は、ＲＯＭ１０３に記憶されＣＰＵ１０１によって実行される制御プログラムである、下降期間制御ルーチンのフローチャートであり、下降期間においてＰＷＭ周期毎に起動される。
【００６５】
図８のステップＳ３０にて下降期間制御ルーチンの処理が開始される。このステップＳ３０では、タイマ１０４がリセットされ、以降はＰＷＭ周期が開始された後の経過時間が計時される。また、ステップＳ３０では、回転子１２６の回転角θの推定値と、図４（ａ）または（ｂ）に示した波形とに基づいて、当該ＰＷＭ周期における電流基準値Ｉrefが決定され、決定された電流基準値Ｉrefはブリッジ制御部１０７（図２参照）にセットされる。次に、ステップＳ３１にて、動作モードがチャージモードに設定される。次に、処理がステップＳ３２に進むと、タイマ１０４の示す経過時間および閾値超過フラグＣＬが取得される。なお、本ルーチン内では、経過時間および閾値超過フラグＣＬは、ステップＳ３２が再び実行されるまで変化しない。
【００６６】
次に、処理がステップＳ３３に進むと、ＰＷＭ周期開始後の経過時間が電流制御再実行時間Ｔｒを超過したか否かが判定される。ここで「Ｎｏ」と判定されると、処理はステップＳ３４に進み、経過時間が最小デューティ時間Ｔminを経過したか否かが判定される。ここで「Ｎｏ」と判定されると、処理はステップＳ４２に進む。ここでは、ＰＷＭ周期開始後の経過時間が電流制御再実行時間Ｔｒに達したか否かが判定される。ここで「Ｎｏ」と判定されると、処理は図９のステップＳ４８に進む。ここでは、閾値超過フラグＣＬが“１”であるか否かが判定される。ここで「Ｙｅｓ」と判定されると処理はステップＳ５０に進み、動作モードが低速減衰モードであるか否かが判定される。
【００６７】
最小デューティ時間Ｔminが経過前する前においては、動作モードは必ずチャージモードであるから、ステップＳ５０において「Ｎｏ」と判定され、処理はステップＳ５４に進む。なお、ステップＳ４８にて「Ｎｏ」と判定された場合も、そのまま処理はステップＳ５４に進む。ステップＳ５４においては、ＰＷＭ周期開始後の経過時間が最大デューティ時間Ｔmaxを経過したか否かが判定される。ここで「Ｎｏ」と判定されると、処理は図８のステップＳ３２に戻る。以後、ＰＷＭ周期開始後の経過時間が最小デューティ時間Ｔminを超過するまで、ステップＳ３２，Ｓ３３，Ｓ３４，Ｓ４２，Ｓ４８，Ｓ５０，Ｓ５４のループが繰り返され、動作モードはチャージモードに維持される。
【００６８】
（最小デューティ時間Ｔminから電流制御再実行時間Ｔｒまでの処理）
そして、最小デューティ時間Ｔminが経過した後は、ステップＳ３４にて「Ｙｅｓ」と判定され処理はステップＳ３６に進む。ここでは、閾値超過フラグＣＬが“１”であるか否かが判定される。ここで「Ｙｅｓ」と判定されると、ステップＳ３８にて現在の動作モードがチャージモードであるか否かが判定される。さらに「Ｙｅｓ」と判定されると、処理はステップＳ４０に進み、動作モードが高速減衰モードに切り替えられる。図６に示した時刻ｔ122，ｔ132，ｔ142，ｔ152における電流測定値Ｉcoilの変化は、このように、最小デューティ時間Ｔminの経過とともに動作モードを高速減衰モードに切り替えた具体例である。
【００６９】
一方、最小デューティ時間Ｔminの経過後に閾値超過フラグＣＬが“０”であれば、ステップＳ３６において「Ｎｏ」と判定され、ステップＳ４２，Ｓ４８，Ｓ５４を介して、処理は図８のステップＳ３２に戻る。以降は、フラグＣＬが“０”である限り、ステップＳ３２〜Ｓ３６，Ｓ４２，Ｓ４８，Ｓ５４のループが繰り返され、動作モードはチャージモードに維持される。そして、電流制御再実行時間Ｔｒに至る前に閾値超過フラグＣＬが“１”になると、ステップＳ３６，Ｓ３８において「Ｙｅｓ」と判定され、ステップＳ４０にて動作モードは高速減衰モードに切り替えられる。図５に示した時刻ｔ114における電流測定値Ｉcoilの変化は、このように、最小デューティ時間Ｔminの経過後、電流制御再実行時間Ｔｒまでに動作モードを高速減衰モードに切り替えた具体例である。
【００７０】
（電流制御再実行時間Ｔｒにおける処理）
電流制御再実行時間Ｔｒに至るまで閾値超過フラグＣＬが“０”のままであれば、動作モードはチャージモードのまま維持される。従って、電流制御再実行時間Ｔｒにおける動作モードは、チャージモードまたは高速減衰モードの何れか一方に設定されているはずである。電流制御再実行時間Ｔｒの経過時に処理がステップＳ４２に進むと、ここで「Ｙｅｓ」と判定され処理はステップＳ４４に進む。ここでは、閾値超過フラグＣＬが“０”であるか否かが判定される。ここで「Ｙｅｓ」と判定されると処理はステップＳ４６に進み、動作モードが低速減衰モードに設定される。一方、閾値超過フラグＣＬが“１”である場合には、ステップＳ４４において「Ｎｏ」と判定され、従前の動作モード（高速減衰モード）がそのまま維持される。
【００７１】
従って、電流制御再実行時間ＴｒにおいてステップＳ４２〜Ｓ４６の処理が実行された際、動作モードは高速減衰モードまたは低速減衰モードのうち何れかになる。図６に示した時刻ｔ116，ｔ138における電流測定値Ｉcoilの変化は、このように、電流制御再実行時間Ｔｒにおいて動作モードを高速減衰モードから低速減衰モードに切り替えた具体例である。また、図６の時刻ｔ104，ｔ124，ｔ144における電流測定値Ｉcoilの変化は、従前の高速減衰モードがそのまま維持された具体例である。
【００７２】
（電流制御再実行時間Ｔｒから最大デューティ時間Ｔmaxまでの処理）
上述のステップＳ４２においては、タイマ１０４の示す経過時間が電流制御再実行時間Ｔｒに等しくなったタイミングのみ「Ｙｅｓ」と判定され、それ以降は常に「Ｎｏ」と判定される。また、電流制御再実行時間Ｔｒは既に経過しているから、ステップＳ３３では常に「Ｙｅｓ」と判定される。
【００７３】
一方、電流制御再実行時間Ｔｒから最大デューティ時間Ｔmaxまでの期間においても、図９のステップＳ４８〜Ｓ５２の処理は実行される。これは、低速減衰モードにおいて、電流が増加する場合に対応している。すなわち、閾値超過フラグＣＬが“１”になると、処理はステップＳ５０に進み、動作モードが低速減衰モードであるか否かが判定される。ここで「Ｙｅｓ」と判定されると、処理はステップＳ５２に進み、動作モードは高速減衰モードに切り替えられる。
【００７４】
（最大デューティ時間Ｔmax以降の処理）
経過時間が最大デューティ時間Ｔmaxに等しくなると、ステップＳ５４において「Ｙｅｓ」と判定され、処理はステップＳ５６に進む。ここでは、動作モードがチャージモードであるか否かが判定される。ここで「Ｙｅｓ」と判定されると、処理はステップＳ５８に進み、動作モードが低速減衰モードに設定される。従って、ステップＳ５６，Ｓ５８の処理が終了した時点で、動作モードは高速減衰モードまたは低速減衰モードのうち何れかになる。次に、ステップＳ６０においては、当該ＰＷＭ周期が終了するまで処理が待機する。従って、動作モードは高速減衰モードまたは低速減衰モードに維持される。そして、経過時間がＰＷＭ周期Ｔになると、ステップＳ６０において「Ｙｅｓ」と判定されると、ステップＳ６２にて、本ルーチンの処理は終了する。
【００７５】
以上のように、本実施形態のモータ制御装置１００は、
スイッチング素子（２，４，６，８）を有しモータに設けられたモータコイル（１２４）に接続されるＨブリッジ回路（２０）と、
スイッチング素子（２，４，６，８）を所定のＰＷＭ周期毎に駆動し、Ｈブリッジ回路（２０）に対して、モータコイル（１２４）に流れるモータ電流（Ｉcoil）を増加させるチャージモード、モータ電流（Ｉcoil）を減衰させる高速減衰モード、または高速減衰モードよりも遅い減衰速度でモータ電流（Ｉcoil）を減衰させる低速減衰モードのうち何れかの動作モードを指定する制御手段（１０１）と、
を有し、制御手段（１０１）は、各ＰＷＭ周期の開始時からの経過時間が所定の電流制御再実行時間（Ｔｒ）に至る前にモータ電流（Ｉcoil）と電流基準値（Ｉref）との比較結果に基づいて何れかの動作モードを選択するとともに、経過時間が電流制御再実行時間（Ｔｒ）に至った後にモータ電流（Ｉcoil）と電流基準値（Ｉref）との比較結果に基づいて何れかの動作モードを選択するものである。
【００７６】
さらに、モータ制御装置１００における制御手段（１０１）は、各ＰＷＭ周期の開始時から、電流制御再実行時間（Ｔｒ）よりも短い最小デューティ時間（Ｔmin）が経過するまでは、動作モードをチャージモードに設定するものであり、
電流基準値（Ｉref）が上昇している期間において、最小デューティ時間（Ｔmin）以降で電流制御再実行時間（Ｔｒ）以前にモータ電流（Ｉcoil）が電流基準値（Ｉref）以上になったことを検出する（フラグＣＬ＝１）と、動作モードを低速減衰モードに設定する（ｔ14，ｔ24，Ｓ４〜Ｓ１０）とともに、電流制御再実行時間（Ｔｒ）において動作モードが低速減衰モードであってモータ電流（Ｉcoil）が電流基準値（Ｉref）未満になったことを検出する（フラグＣＬ＝０）と、動作モードをチャージモードに設定する（ｔ37，ｔ54，Ｓ１２〜Ｓ１６）ものである。
【００７７】
さらに、制御手段（１０１）は、電流基準値（Ｉref）が下降している期間において、最小デューティ時間（Ｔmin）以降で電流制御再実行時間（Ｔｒ）以前にモータ電流（Ｉcoil）が電流基準値（Ｉref）以上になったことを検出する（フラグＣＬ＝１）と、動作モードを高速減衰モードに設定する（ｔ114，Ｓ３４〜Ｓ４０）とともに、電流制御再実行時間（Ｔｒ）においてモータ電流（Ｉcoil）が電流基準値（Ｉref）未満になったことを検出する（フラグＣＬ＝０）と、動作モードを低速減衰モードに設定する（ｔ116，ｔ138，Ｓ４２〜Ｓ４６）ものである。
【００７８】
また、本実施形態における制御プログラム（図７〜図９）は、
モータの回転子（１２６）と固定子（１２２ＸＰ，１２２ＸＮ，１２２ＹＰ，１２２ＹＮ）との位置関係（回転角θ）に基づいて、ＰＷＭ周期毎に電流基準値（Ｉref）を設定するステップ（Ｓ１，Ｓ３０）と、
各ＰＷＭ周期の開始時からの経過時間が所定の電流制御再実行時間（Ｔｒ）に至る前にモータ電流（Ｉcoil）と電流基準値（Ｉref）との比較結果に基づいて何れかの動作モードを選択するステップ（Ｓ４〜Ｓ１０，Ｓ３４〜Ｓ４０）と、
各ＰＷＭ周期において電流制御再実行時間（Ｔｒ）が経過した後にモータ電流（Ｉcoil）と電流基準値（Ｉref）との比較結果に基づいて何れかの動作モードを選択するステップ（Ｓ１２〜Ｓ１６，Ｓ４２〜Ｓ４６）とを実行するものである。
【００７９】
［実施形態の効果］
以上のような構成により、本実施形態による効果は、下記の通りである。
（１）１つの固定子巻線１２４（図２参照）に対して１つの比較器１１４でモータ制御を行うため、モータ制御装置１００を安価に構成できる。
（２）１回のＰＷＭ周期において、閾値超過フラグＣＬに基づいてＨブリッジ回路２０の動作モードを複数回切り替えることができるため、モータ電流の電流リップルを抑制でき。これにより、モータの駆動効率を上昇させることができるとともに、モータのトルクの損失と騒音、振動等を低減することができる。
（３）また、１回のＰＷＭ周期において動作モードを複数回切り替えることができることにより、電流基準値Ｉrefに対するモータ電流の大きな遅延を抑制することができる。これにより、ＰＷＭ周期を長くすることができ、モータ制御装置１００を安価に構成することができる。
【００８０】
［変形例］
本発明は上述した実施形態に限定されるものではなく、種々の変形が可能である。上述した実施形態は本発明を理解しやすく説明するために例示したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施形態の構成の一部を他の実施形態の構成に置き換えることが可能であり、また、ある実施形態の構成に他の実施形態の構成を加えることも可能である。また、各実施形態の構成の一部について、他の構成の追加・削除・置換をすることが可能である。上記実施形態に対して可能な変形は、例えば以下のようなものである。
【００８１】
（１）上記実施形態において、最小デューティ時間Ｔmin、最大デューティ時間Ｔmaxおよび電流制御再実行時間Ｔｒは、一定でなくてもよい。すなわち、回転子１２６と固定子１２２ＸＰ，１２２ＸＮとの位置関係（例えばマイクロステップ番号）に応じて、これらの時間を設定してもよい。また、上昇期間と下降期間で別の値を利用しても良い。
（２）また、上記実施形態においては、電流制御再実行時間Ｔｒにおける動作モードの再設定は１回のＰＷＭ周期について１回実行したが、複数の電流制御再実行時間Ｔｒを定めることにより、１回のＰＷＭ周期について動作モードの再設定を複数回実行してもよい。
【００８２】
（３）図７〜図９に示した処理は、上記実施形態ではプログラムを用いたソフトウエア的な処理として説明したが、ＡＳＩＣ(Application Specific Integrated Circuit；特定用途向けＩＣ)、あるいはＦＰＧＡ(field-programmable gate array)等を用いたハードウエア的な処理で実現してもよい。
【００８３】
（４）Ｈブリッジ回路２０を構成するスイッチング素子として、上記実施形態ではＦＥＴを適用したが、これらに代えてバイポーラ・トランジスタ、ＩＧＢＴ（絶縁ゲートバイポーラトランジスタ，Insulated Gate Bipolar Transistor）、その他のスイッチング素子を適用してもよい。
（５）また、上記実施形態では、モータ１２０としてバイポーラ型２相ステッピングモータを適用した例を説明したが、モータ１２０の種類や相数は用途に応じて様々なものを適用することができる。また、上記実施形態においては、電流基準値Ｉrefの設定方式としてマイクロステップ方式を採用したが、電流基準値Ｉrefは回転角θに対して連続的に変化する値を用いてもよい。
【符号の説明】
【００８４】
２，４，６，８，１５，１７  ＦＥＴ（スイッチング素子）
１２，１４，１６，１８  ダイオード
２０，２０Ｘ，２０Ｙ  Ｈブリッジ回路
１００  モータ制御装置
１０１  ＣＰＵ（制御手段）
１０２  ＲＡＭ
１０３  ＲＯＭ
１０４  タイマ
１０５  Ｉ／Ｏポート
１０６  バス
１０７  ブリッジ制御部
１１０  ブリッジ制御回路
１１１  電流フィルタ
１１２  電流制限制御部
１１３  ＰＷＭ信号発生器
１１４  比較器
１１５  Ｄ／Ａコンバータ
１１６  電流検出部
１１７  Ａ／Ｄコンバータ
１１８  ＢＥＭＦ検出部
１２０  ステッピングモータ
１２２ＹＰ，１２２ＸＮ，１２２ＹＮ，１２２ＸＰ  固定子
１２４，１２４Ｘ，１２４Ｙ  固定子巻線（モータコイル）
１２６  回転子
１３０  上位装置
１４０  直流電源
１４２  アース線
【図１】
0006322134.tif 000002
【図２】
0006322134.tif 000003
【図３】
0006322134.tif 000004
【図４】
0006322134.tif 000005
【図５】
0006322134.tif 000006
【図６】
0006322134.tif 000007
【図７】
0006322134.tif 000008
【図８】
0006322134.tif 000009
【図９】
0006322134.tif 000010