モータを駆動するモータ駆動手段と、前記モータに流れるモータ電流を検出する電流検出手段と、前記電流検出手段が検出したモータ電流の検出電流値を目標電流値と比較し、その偏差に基づいて前記モータ駆動手段を制御する制御手段と、前記モータ駆動手段の状態が、前記モータ電流がゼロとみなされる状態にあるときに、前記電流検出手段が検出したドリフト電流の検出電流値を電流オフセット値として設定し、当該電流オフセット値により前記モータ電流の検出電流値を補償する補償手段と、を備えたモータ制御装置において、前記補償手段は、検出された前記ドリフト電流の電流値に応じた目標オフセット値を設定し、前記電流オフセット値が前記目標オフセット値に到達するまで、当該電流オフセット値を段階的に補正することを特徴とするモータ制御装置。請求項1に記載のモータ制御装置において、前記電流検出手段は、所定の周期ごとに前記ドリフト電流を検出し、前記補償手段は、前記電流検出手段が検出したドリフト電流の検出電流値に基づいて、前記周期ごとに目標オフセット値を設定し、前記電流オフセット値が前記目標オフセット値より小さい場合は、前記電流オフセット値に予め設定された補正値を加算し、前記電流オフセット値が前記目標オフセット値より大きい場合は、前記電流オフセット値から前記補正値を減算することにより、前記電流オフセット値を前記周期ごとに補正することを特徴とするモータ制御装置。請求項2に記載のモータ制御装置において、前記電流検出手段は、前記周期ごとに前記モータ電流を検出し、前記補償手段は、前記電流検出手段が検出した前記モータ電流の検出電流値を、補正された前記電流オフセット値により前記周期ごとに補償し、前記制御手段は、前記周期ごとに、前記補償されたモータ電流の検出電流値と前記目標電流値との偏差に基づいて、前記モータ駆動手段を制御することを特徴とするモータ制御装置。請求項1に記載のモータ制御装置において、前記補償手段は、前記電流オフセット値と前記ドリフト電流の検出電流値との差を求め、この差が所定範囲にない場合にのみ、前記目標オフセット値を設定して前記電流オフセット値を補正することを特徴とするモータ制御装置。請求項1に記載のモータ制御装置において、前記補償手段は、前記モータ駆動手段の電源がONした後、前記モータ駆動手段が動作を開始するまでの間に前記電流検出手段で検出されたドリフト電流の検出電流値を、電流オフセット値の初期値として設定し、前記制御手段は、前記モータ駆動手段が動作を開始した後、前記初期値により補償されたモータ電流の検出電流値と前記目標電流値との偏差に基づいて、前記モータ駆動手段を制御することを特徴とするモータ制御装置。電流オフセット値によってモータ電流の補償を行う場合、ドリフト電流に応じて電流オフセット値が急激に変化すると、電圧指令値もそれに伴って急激に変化する。このため、モータの回転数が急変して、操舵フィーリングが不安定になるという問題がある。本発明の課題とするところは、電流オフセット値の急激な変化を抑制して、安定した操舵フィーリングを維持できるモータ制御装置を提供することにある。本発明に係るモータ制御装置は、モータを駆動するモータ駆動手段と、モータに流れるモータ電流を検出する電流検出手段と、この電流検出手段が検出したモータ電流の検出電流値を目標電流値と比較し、その偏差に基づいてモータ駆動手段を制御する制御手段と、モータ駆動手段の状態が、モータ電流がゼロとみなされる状態にあるときに、電流検出手段が検出したドリフト電流の検出電流値を電流オフセット値として設定し、当該電流オフセット値によりモータ電流の検出電流値を補償する補償手段とを備える。そして、補償手段は、検出されたドリフト電流の電流値に応じた目標オフセット値を設定し、電流オフセット値が目標オフセット値に到達するまで、当該電流オフセット値を段階的に補正する。このようにすると、ドリフト電流が大きく変化した場合でも、電流オフセット値は急激に変化せず、目標オフセット値に徐々に近づくように補正される。このため、電圧指令値の急激な変化に伴うモータ回転数の急変が回避され、安定した操舵フィーリングを維持することができる。本発明において、電流検出手段は、所定の周期ごとにドリフト電流を検出し、補償手段は、電流検出手段が検出したドリフト電流の検出電流値に基づいて、周期ごとに目標オフセット値を設定するのが好ましい。この場合、補償手段は、電流オフセット値が目標オフセット値より小さければ、電流オフセット値に予め設定された補正値を加算し、電流オフセット値が目標オフセット値より大きければ、電流オフセット値から上記補正値を減算することにより、電流オフセット値を周期ごとに補正する。また、本発明において、電流検出手段は、所定の周期ごとにモータ電流を検出し、補償手段は、電流検出手段が検出したモータ電流の検出電流値を、補正された電流オフセット値により周期ごとに補償するのが好ましい。この場合、制御手段は、周期ごとに、補償されたモータ電流の検出電流値と目標電流値との偏差に基づいて、モータ駆動手段を制御する。また、本発明において、補償手段は、電流オフセット値とドリフト電流の検出電流値との差を求め、この差が所定範囲にない場合にのみ、目標オフセット値を設定して電流オフセット値を補正するのが好ましい。また、本発明において、補償手段は、モータ駆動手段の電源がONした後、モータ駆動手段が動作を開始するまでの間に電流検出手段で検出されたドリフト電流の検出電流値を、電流オフセット値の初期値として設定し、制御手段は、モータ駆動手段が動作を開始した後、上記初期値により補償されたモータ電流の検出電流値と目標電流値との偏差に基づいて、モータ駆動手段を制御するのが好ましい。本発明によれば、電流オフセット値の急激な変化を抑制して、安定した操舵フィーリングを維持できるモータ制御装置を提供することができる。以下、本発明の実施形態につき、図面を参照しながら説明する。各図において、同一部分または対応部分には、同一符号を付してある。図1は、PWM制御方式のモータ制御装置の一例を示している。電源回路1は、整流回路や平滑回路等から構成され、出力端にコンデンサCが接続されている。インバータ回路2は、上下一対のアームがU相、V相、W相に対応して3組設けられた3相ブリッジから構成されている。U相の上アームA1はスイッチング素子Q1を有し、U相の下アームA2はスイッチング素子Q2を有している。V相の上アームA3はスイッチング素子Q3を有し、V相の下アームA4はスイッチング素子Q4を有している。W相の上アームA5はスイッチング素子Q5を有し、W相の下アームA6はスイッチング素子Q6を有している。これらのスイッチング素子Q1~Q6は、FETFieldEffectTransistor:電界効果トランジスタからなる。インバータ回路2は、後述のドライバIC3とともに、本発明におけるモータ駆動手段を構成している。モータMは、例えば車両の電動パワーステアリング装置に用いられる3相ブラシレスモータである。モータMに流れる電流モータ電流を検出するためのシャント抵抗Rは、単一の抵抗からなり、電源回路1とインバータ回路2との間に接続されている。シャント抵抗Rの両端の電圧は、増幅回路5に与えられる。増幅回路5は、シャント抵抗Rの両端の電圧を増幅し、演算制御部4へ出力する。演算制御部4は、CPUやメモリ等からなる。シャント抵抗R、増幅回路5、および演算制御部4は、本発明における電流検出手段を構成している。また、演算制御部4は、本発明における制御手段および補償手段を構成している。演算制御部4には、増幅回路5の出力が検出電圧値として入力され、また、操舵トルクを検出するトルクセンサ図示省略から検出トルク値が入力される。演算制御部4は、検出電圧値からモータ電流の検出電流値を算出するとともに、検出トルク値から目標電流値モータMに流す電流の目標値を算出し、検出電流値と目標電流値との偏差に基づいて、各相のPWM信号のデューティを算出する。そして、このデューティと鋸歯状のキャリア信号とに基づいて生成した各相のPWM信号を、ドライバIC3へ供給する。また、演算制御部4は、シャント抵抗Rに流れるドリフト電流に基づいて、モータ電流の検出電流値に対しドリフト補償を行う詳細は後述。ドライバIC3は、スイッチング素子Q1~Q6を個別にONOFFさせるための各相のPWM信号を、各スイッチング素子Q1~Q6のゲートへ出力する。このPWM信号に基づくスイッチング素子Q1~Q6のONOFF動作により、電源回路1からインバータ回路2を介してモータMへ電流が供給され、モータMが回転する。図2は、ドライバIC3からインバータ回路2へ与えられるPWM信号を示している。ここでは、U相をデューティが最も大きい最大相、V相をデューティが中間の中間相、W相をデューティが最も小さい最小相としている。U相の上段PWM信号は、上アームA1のスイッチング素子Q1に印加されるPWM信号であり、下段PWM信号は、下アームA2のスイッチング素子Q2に印加されるPWM信号である。V相の上段PWM信号は、上アームA3のスイッチング素子Q3に印加されるPWM信号であり、下段PWM信号は、下アームA4のスイッチング素子Q4に印加されるPWM信号である。W相の上段PWM信号は、上アームA5のスイッチング素子Q5に印加されるPWM信号であり、下段PWM信号は、下アームA6のスイッチング素子Q6に印加されるPWM信号である。なお、図中のτは、各アームにおける上下のスイッチング素子が同時にON状態となってインバータ回路2に短絡が生じるのを回避するためのデッドタイムである。次に、モータMに流れる電流を検出するタイミングにつき、図3を参照しながら説明する。図3に示されるように、PWM信号の1周期においては、力行区間と回生区間上段回生区間および下段回生区間とが存在する。力行区間においては、デッドタイム区間を除いて、インバータ回路2の上アームのスイッチング素子以下、上段スイッチング素子というQ1、Q3、Q5の少なくとも1つがON状態となり、下アームのスイッチング素子以下、下段スイッチング素子というQ2、Q4、Q6の少なくとも1つがON状態となることにより、シャント抵抗Rにモータ電流が流れる。このため、シャント抵抗Rの両端には、図で示したシャント電圧が現れる。一方、上段スイッチング素子Q1、Q3、Q5がすべてON状態で、下段スイッチング素子Q2、Q4、Q6がすべてOFF状態となる上段回生区間では、理論上シャント抵抗Rにモータ電流が流れないので、シャント抵抗Rの両端には、シャント電圧が現れない。また、上段スイッチング素子Q1、Q3、Q5がすべてOFF状態で、下段スイッチング素子Q2、Q4、Q6がすべてON状態となる下段回生区間でも、理論上シャント抵抗Rにモータ電流が流れないので、シャント抵抗Rの両端には、シャント電圧が現れない。T1~T4は、シャント抵抗Rに流れる電流を検出するタイミングを示している。なお、ここでいうタイミングとは、電流検出が可能な時間幅をもった区間の概念である。タイミングT1、T2は力行区間における検出タイミングであって、これらはシャント抵抗Rにモータ電流が流れている状態での通常の電流検出タイミングである。タイミングT3、T4はそれぞれ上段回生区間、下段回生区間における検出タイミングであって、これらは理論上シャント抵抗Rに電流が流れていない状態、すなわちモータ電流がゼロとみなされる状態での電流検出タイミングである。図3のタイミングT1では、上段スイッチング素子Q1、Q3、Q5がそれぞれON、OFF、OFFで、下段スイッチング素子Q2、Q4、Q6がそれぞれOFF、ON、ONとなり、インバータ回路2には、図4に破線矢印で示した経路で電流が流れる。このとき、シャント抵抗Rに流れる電流はU相電流であり、タイミングT1でモータMのU相電流が検出される。図3のタイミングT2では、上段スイッチング素子Q1、Q3、Q5がそれぞれON、ON、OFFで、下段スイッチング素子Q2、Q4、Q6がそれぞれOFF、OFF、ONとなり、インバータ回路2には、図5に破線矢印で示した経路で電流が流れる。このとき、シャント抵抗Rに流れる電流はW相電流であり、タイミングT2でモータMのW相電流が検出される。V相電流については、U相電流とW相電流とから、計算により求められる。すなわち、U相電流値をIu、V相電流値をIv、W相電流値をIwとしたとき、これらの間には、次の関係が成立する。IuIvIw=0したがって、V相電流値Ivは、Iv=-IuIvとして算出することができる。図3のタイミングT3では、上段スイッチング素子Q1、Q3、Q5はすべてON、下段スイッチング素子Q2、Q4、Q6はすべてOFFとなり、インバータ回路2には、図6に破線矢印で示した経路で電流が流れる。このときの電流は、モータMの巻線Lu、Lv、Lwに蓄積された電気エネルギーの放出による回生電流であり、上段スイッチング素子Q1、Q3、Q5を介して回流する。したがって、タイミングT3では理論上、シャント抵抗Rに電流は流れないはずである。しかしながら、先述のとおり、実際にはシャント抵抗Rにドリフト電流が流れることがある。この場合、シャント抵抗Rの両端に電圧が発生するので、この電圧に基づいてドリフト電流が検出される。図3のタイミングT4では、上段スイッチング素子Q1、Q3、Q5はすべてOFF、下段スイッチング素子Q2、Q4、Q6はすべてONとなり、インバータ回路2には、図7に破線矢印で示した経路で電流が流れる。このときの電流は、モータMの巻線Lu、Lv、Lwに蓄積された電気エネルギーの放出による回生電流であり、下段スイッチング素子Q2、Q4、Q6を介して回流する。したがって、タイミングT4でも理論上、シャント抵抗Rに電流は流れないはずであるが、前記と同様にシャント抵抗Rにドリフト電流が流れることがある。この場合も、シャント抵抗Rの両端に電圧が発生するので、この電圧に基づいてドリフト電流が検出される。次に、演算制御部4が行なうドリフト補償について説明する。ドリフト補償は、インバータ回路2の状態が、モータ電流がゼロとみなされる状態にあるときに、シャント抵抗Rに流れるドリフト電流を検出し、このドリフト電流の検出電流値に基づいて、モータ電流の検出電流値を補正する処理である。図8は、ドリフト補償を説明するタイムチャートである。図8aは、電源回路1からインバータ回路2へ供給される電源のONOFF状態を示している。図8bは、ドライバIC3からインバータ回路2に出力されるPWM信号の波形を示している。なお、ドライバIC3からは、スイッチング素子Q1~Q6に対応して、6種類のPWM信号が出力されるが、図8bでは、そのうちの1つのPWM信号の波形が模式的に示されている。図8cは、ドリフト電流、電流オフセット値および目標オフセット値の各変化を示している。図8dは、モータ制御装置が搭載されているECU電子制御ユニットの温度変化を示している。図8dのようにECUの温度が変化すると、図8cのようにドリフト電流も変動する。ドリフト電流は、温度の上昇とともに増加し、温度の下降とともに減少する傾向を示す。このドリフト電流を周期Tごとに測定し、その測定値に基づいて、目標オフセット値を周期Tごとに設定する。そして、目標オフセット値と電流オフセット値とを比較しつつ、電流オフセット値が目標オフセット値に到達するまで、電流オフセット値を一定量づつ段階的に補正する。すなわち、周期Tごとに、電流オフセット値を予め設定された補正値Kだけ補正することにより、徐々に目標オフセット値に近づけてゆく。この場合、電流オフセット値<目標オフセット値であれば、電流オフセット値に補正値Kを加算し、電流オフセット値>目標オフセット値であれば、電流オフセット値から補正値Kを減算する。次に、図9のフローチャートを参照しながら、ドリフト補償の手順をさらに詳細に説明する。図9における各ステップは、演算制御部4を構成するCPUにより実行される。ステップS1では、電源回路1からインバータ回路2へ供給される電源がONとなる図8の時刻t1。この時点では、ドライバIC3はまだ動作状態になっておらず、PWM信号を出力しないので、インバータ回路2は駆動されない。ステップS2では、インバータ回路2がPWM駆動されていない状態モータ電流がゼロとみなされる状態で、シャント抵抗Rに流れるドリフト電流を、増幅回路5を介して検出し、この検出電流値を電流オフセット値として設定する図8の時刻t2。このときの設定値は、電流オフセット値の初期値となる。ステップS3では、ドライバIC3が動作してPWM信号を出力し、インバータ回路2のPWM駆動が開始される図8の時刻t3。ステップS4では、モータ電流が流れる力行区間図3参照において、シャント抵抗Rに流れるモータ電流が検出される。このときの検出電流値をIとする。検出電流値Iは、増幅回路5の出力である検出電圧値に電流ゲインを乗算することにより算出される。ステップS5では、ステップS4で検出された検出電流値Iに電流オフセット値を加算することにより、モータ電流の検出電流値Iを補償する。この補償された電流値が、制御用電流値となる。なお、ステップS5の初回実行時においては、加算される電流オフセット値は、ステップS2で設定された初期値である。ステップS6では、ステップS5で算出した制御用電流値に基づいて、通常のフィードバック制御が行われる。すなわち、制御用電流値と目標電流値との偏差から電圧指令値を算出し、この電圧指令値に応じたデューティを有する各相のPWM信号を生成する。そして、生成したPWM信号をドライバIC3へ出力し、ドライバIC3によりインバータ回路2をPWM駆動する。これにより、モータMに流れる電流が、目標電流値となるように制御される。ステップS7では、モータ電流がゼロとみなせる回生区間図3参照において、シャント抵抗Rに流れるドリフト電流が検出される。このときの検出電流値をIoとする。検出電流値Ioは、増幅回路5の出力である検出電圧値に電流ゲインを乗算することにより算出される。ステップS8では、ステップS5で用いられた電流オフセット値と、ステップS7で検出されたドリフト電流の検出電流値Ioとの差を求め、この差が所定範囲にあるか否かを判定する。ここでは、両者の差絶対値を閾値である補正値Kと比較し、差が補正値K以下であればステップS8;YES、ドリフト電流の変化が小さく、電流オフセット値の補正は不要と判断して、ステップS10へ進む。一方、両者の差が補正値Kを超えておればステップS8;NO、ドリフト電流の変化が大きく、電流オフセット値の補正が必要と判断して、ステップS9へ進む。図10は、図9のステップS9における電流オフセット値補正の詳細手順を示したフローチャートである。図10の各ステップは、演算制御部4を構成するCPUにより実行される。ステップS21では、ドリフト電流の検出電流値Ioを、目標オフセット値として設定する。ステップS21の初回実行時においては、検出電流値Ioは、図9のステップS7で検出された電流値である。ステップS22では、ステップS21で設定された目標オフセット値と、電流オフセット値とを比較する。ステップS22の初回実行時においては、電流オフセット値は、図9のステップS2で設定された初期値である。ステップS22での比較の結果、電流オフセット値が目標オフセット値より小さい場合は、電流オフセット値を増加させて目標オフセット値に近づけるため、ステップS23へ進む。ステップS23では、電流オフセット値に補正値Kを加算して、電流オフセット値を更新する。その後、ステップS25へ進む。一方、ステップS22での比較の結果、電流オフセット値が目標オフセット値より大きい場合は、電流オフセット値を減少させて目標オフセット値に近づけるため、ステップS24へ進む。ステップS24では、電流オフセット値から補正値Kを減算して、電流オフセット値を更新する。その後、ステップS25へ進む。ステップS25では、図9のステップS4と同様に、力行区間でモータ電流を検出する。ステップS26では、制御用電流値を更新する。すなわち、ステップS25で検出されたモータ電流の検出電流値Iに、ステップS23、S24で得られた電流オフセット値を加算して、新たな制御用電流値を算出する。ステップS27では、ステップS26で算出された制御用電流値を用いて、図9のステップS6と同様に、通常のフィードバック制御が行われる。ステップS28では、ステップS23、S24で電流オフセット値を更新した結果、電流オフセット値が目標オフセット値に到達したか否かが判定される。電流オフセット値が目標オフセット値に到達していない場合ステップS28;NOは、電流オフセット値の補正を継続する必要があると判断して、ステップS29へ進む。ステップS29では、図9のステップS7と同様に、モータ電流がゼロとみなせる回生区間でドリフト電流を検出する。そして、ステップS21へ移って、ステップS29で検出されたドリフト電流の検出電流値Ioを、新たな目標オフセット値として設定する。これにより、目標オフセット値が更新される。その後、ステップS22において、更新した目標オフセット値と現在の電流オフセット値とを比較し、その比較結果に基づいて、ステップS23、S24で電流オフセット値の補正を行う。そして、ステップS25~S27の各処理を実行し、ステップS28で電流オフセット値が目標オフセット値と等しくなるまで、ステップS21~S29の処理を繰り返す。ステップS21~S29の処理が繰り返し実行されることにより、電流オフセット値は、周期Tごとに補正値Kだけ補正されて、徐々に目標オフセット値に近づいてゆく。例えば、図8の時刻t4~t11の区間では、電流オフセット値が目標オフセット値より小さいので、周期Tごとに電流オフセット値に補正値Kが加算されて、電流オフセット値が目標オフセット値に近づいてゆく。また、図8の時刻t15~t23の区間では、電流オフセット値が目標オフセット値より大きいので、周期Tごとに電流オフセット値から補正値Kが減算されて、電流オフセット値が目標オフセット値に近づいてゆく。そして、ステップS28において、電流オフセット値が目標オフセット値と等しくなるとステップS28;YES、電流オフセット値がドリフト補償に必要な値に補正されたと判断して、電流オフセット値の補正を終了する図8の時刻t11~t15。その後、図9のステップS10へ移り、電源回路1からインバータ回路2へ供給される電源がOFFとなったか否かを判定する。電源がOFFでなければステップS10;NO、ステップS4へ戻って、以降の各ステップを実行する。そして、電源がOFFになるとステップS10;YES、図9の一連の手順を終了する。なお、図8の例では、温度変化に伴ってドリフト電流が単調増加および単調減少し、単調増加の区間では補正値の加算が繰り返され、単調減少の区間では補正値の減算が繰り返されて、電流オフセット値が補正される。しかしながら、ドリフト電流は温度のほかノイズ等によっても変動する。ノイズの場合は、ドリフト電流の変化が不規則になって、加算と減算とが入り混じって繰り返されることがあるが、電流オフセット値の補正の原理は、温度変化の場合と同じである。以上のように、本実施形態では、ドリフト補償を行うにあたって、電流オフセット値に対し、周期Tごとに補正値Kの加算または減算を行い、電流オフセット値を毎回少しづつ補正しながら、徐々に目標オフセット値に近づけるようにしている。このため、ドリフト電流が大きく変化した場合でも、電流オフセット値の急激な変化が抑制される。これにより、電圧指令値の急激な変化に伴うモータ回転数の急変が回避され、安定した操舵フィーリングを維持することができる。また、本実施形態では、電流オフセット値が目標オフセット値に到達するまでの間は、周期Tごとに、モータ電流の検出ステップS25と、その検出電流値に対する電流オフセット値による補償ステップS26と、補償された検出電流値制御用電流値に基づくモータ制御ステップS27とを行う。これにより、周期単位で、きめの細かいドリフト補償を行うことができる。また、本実施形態では、電流オフセット値とドリフト電流の検出電流値との差を求め、この差が所定範囲にない場合にのみ、目標オフセット値を設定して電流オフセット値の補正を行うステップS8、S21~S24。このため、電流オフセット値の補正は、電流オフセット値とドリフト電流の検出電流値との差が大きくなった場合に実行され、両者の差が小さい場合は実行されないので、制御用電流値が必要以上に変動することがない。これによって、より安定した操舵フィーリングを維持することができる。また、本実施形態では、インバータ回路2の電源がONした後、インバータ回路2が動作を開始するまでの間に検出されたドリフト電流の検出電流値を、電流オフセット値の初期値として設定するステップS2。そして、インバータ回路2が動作を開始した後、上記初期値を用いて算出した制御用電流値に基づいて、モータ電流を制御するステップS5、S6。ここで、初期値はモータMの停止状態において設定された電流オフセット値であるので、モータMが駆動を開始した時点で、電流オフセット値の急変が問題となることはない。本発明では、以上述べた以外にも種々の実施形態を採用することができる。例えば、前記実施形態では、各周期ごとに目標オフセット値を設定して、電流オフセット値を段階的に補正したが、例えば、1周期おきに目標オフセット値を設定して、電流オフセット値を段階的に補正してもよい。また、前記実施形態では、図9のステップS8における閾値として、図10のステップS23、S24における補正値Kを用いたが、ステップS8における閾値は、補正値Kと別の値であってもよい。また、前記実施形態では、単一のシャント抵抗Rを用いたモータ制御装置を例に挙げたが、各相の下アームにそれぞれシャント抵抗が設けられている場合にも、本発明を適用することができる。また、前記実施形態では、上段回生区間と下段回生区間の両方において、シャント抵抗Rの電流を検出し、ドリフト補償を行なったが、上段回生区間と下段回生区間のいずれか一方のみにおいて、シャント抵抗Rの電流を検出し、ドリフト補償を行なってもよい。また、前記実施形態では、U相が最大相、V相が中間相、W相が最小相である場合を例に挙げたが図2、これは一例であって、例えば、U相が最小相、V相が中間相、W相が最大相である場合や、U相が中間相、V相が最小相、W相が最大相である場合など、各相と最大相中間相最小相との組み合わせがどのような場合であっても、本発明を適用することができる。また、前記実施形態では、スイッチング素子Q1~Q6としてFETを使用したが、IGBT絶縁ゲート型バイポーラモードトランジスタのような他のスイッチング素子を使用してもよい。また、前記実施形態では、モータMとして3相モータを例に挙げたが、本発明は、4相以上の多相モータを駆動する場合にも適用することができる。また、前記実施形態では、モータMとしてブラシレスモータを例に挙げたが、本発明は、誘導モータや同期モータなどを駆動する装置にも適用することができる。さらに、前記実施形態では、車両の電動パワーステアリング装置に本発明を適用した例を挙げたが、本発明は、電動パワーステアリング装置以外の装置にも適用することができる。