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