"ハイ側スイッチング素子および還流ダイオードを逆並列に接続してなるハイ側アームと、ロー側スイッチング素子および還流ダイオードを逆並列に接続してなるロー側アームとを、直列に接続して構成されるスイッチング回路の制御装置であって、所定のスイッチング周期において、前記ハイ側スイッチング素子のオンデューティと前記ロー側スイッチング素子のオンデューティとを独立に設定可能なデューティ設定手段と、前記ハイ側アームおよび前記ロー側アームの接続点に接続された負荷に流れる負荷電流を検出する負荷電流検出手段と、前記負荷電流検出手段によって検出された前記負荷電流に基づき、前記ハイ側スイッチング素子および前記ロー側スイッチング素子のうち何れのスイッチング素子に順方向電流が流れていないかを判定する第1判定手段と、を備え、前記デューティ設定手段は、前記第1判定手段によって前記順方向電流が流れていないと判定された前記スイッチング素子の前記オンデューティをゼロに設定することを特徴とするスイッチング回路の制御装置。前記第1判定手段によって前記順方向電流が流れていないと判定された前記スイッチング素子の前記オンデューティをゼロに設定するか否かを判定する第2判定手段を備え、前記デューティ設定手段は、前記第2判定手段によって前記オンデューティをゼロに設定すると判定された場合に、前記第1判定手段によって前記順方向電流が流れていないと判定された前記スイッチング素子の前記オンデューティをゼロに設定することを特徴とする請求項1に記載のスイッチング回路の制御装置。前記第2判定手段は、前記負荷電流の絶対値あるいは前記順方向電流の導通損失が所定値以上の場合に、前記第1判定手段によって前記順方向電流が流れていないと判定された前記スイッチング素子の前記オンデューティをゼロに設定すると判定することを特徴とする請求項2に記載のスイッチング回路の制御装置。ところで、上記従来技術に係る電圧変換装置に具備されるスイッチング回路において、例えばスイッチング素子としてMOSFETMetalOxideSemiconductorFieldEffectTransistorのような逆導通可能な双方向性の半導体素子を採用して、例えば相補PWMパルス幅変調によってハイサイドアームおよびローサイドアームの各スイッチング素子を交互にON/OFF駆動させると、各スイッチング素子がONからOFFへと切り換わるときにスイッチング回路に流れる転流電流逆方向電流は並列接続されたスイッチング素子および還流ダイオードに流れる。この場合には、例えば転流電流逆方向電流が還流ダイオードのみに流れる場合に比べて、並列接続されたスイッチング素子および還流ダイオードの合成抵抗が小さくなることに伴って、スイッチング回路全体としての損失を低減させることができる。しかも、還流ダイオードの導通損失および発熱が低減されることから、例えば還流ダイオードを小型化するなどによって還流ダイオードの耐熱性能を低下させることができ、還流ダイオードに必要される費用を削減することができる。しかしながら、スイッチング素子では順方向電流が流れる場合と転流電流逆方向電流が流れる場合との両方において導通損失が生じ、例えば順方向電流のみが流れる場合に比べて、スイッチング素子での発熱の増大に伴って耐熱性能を増大させる必要が生じる虞がある。スイッチング素子の耐熱性能を増大させるためには、例えば、スイッチング素子を大型化したり、スイッチング素子を並列化された複数の素子により構成するなどの方法が知られているが、スイッチング素子は還流ダイオードに比べて複雑な構造を有することから、スイッチング素子の耐熱性能を増大させることに要する費用が還流ダイオードの耐熱性能を低下させることで削減される費用を上回る虞があり、構成に要する費用が嵩むという問題が生じる。本発明は上記事情に鑑みてなされたもので、構成に要する費用が嵩むことを防止しつつ、スイッチング回路の熱損傷を防止することが可能なスイッチング回路の制御装置を提供することを目的としている。上記課題を解決して係る目的を達成するために、本発明の請求項1に係るスイッチング回路の制御装置は、ハイ側スイッチング素子例えば、実施の形態での各トランジスタUH,VH,WHおよび還流ダイオード例えば、実施の形態での各還流ダイオードDUH,DVH,DWHを逆並列に接続してなるハイ側アームと、ロー側スイッチング素子例えば、実施の形態での各トランジスタUL,VL,WLおよび還流ダイオード例えば、実施の形態での各還流ダイオードDUL,DVL,DWLを逆並列に接続してなるロー側アームとを、直列に接続して構成されるスイッチング回路の制御装置であって、所定のスイッチング周期において、前記ハイ側スイッチング素子のオンデューティと前記ロー側スイッチング素子のオンデューティとを独立に設定可能なデューティ設定手段例えば、実施の形態でのPWM演算部25と、前記ハイ側アームおよび前記ロー側アームの接続点に接続された負荷例えば、実施の形態でのモータ12に流れる負荷電流を検出する負荷電流検出手段例えば、実施の形態での各相電流検出部32と、前記負荷電流検出手段によって検出された前記負荷電流に基づき、前記ハイ側スイッチング素子および前記ロー側スイッチング素子のうち何れのスイッチング素子に順方向電流が流れていないかを判定する第1判定手段例えば、実施の形態でのPWM演算部25が兼ねると、を備え、前記デューティ設定手段は、前記第1判定手段によって前記順方向電流が流れていないと判定された前記スイッチング素子の前記オンデューティをゼロに設定する。さらに、本発明の請求項2に係るスイッチング回路の制御装置は、前記第1判定手段によって前記順方向電流が流れていないと判定された前記スイッチング素子の前記オンデューティをゼロに設定するか否かを判定する第2判定手段例えば、実施の形態での逆方向デューティ判定部25aを備え、前記デューティ設定手段は、前記第2判定手段によって前記オンデューティをゼロに設定すると判定された場合に、前記第1判定手段によって前記順方向電流が流れていないと判定された前記スイッチング素子の前記オンデューティをゼロに設定する。さらに、本発明の請求項3に係るスイッチング回路の制御装置では、前記第2判定手段は、前記負荷電流の絶対値あるいは前記順方向電流の導通損失が所定値以上の場合に、前記第1判定手段によって前記順方向電流が流れていないと判定された前記スイッチング素子の前記オンデューティをゼロに設定すると判定する。本発明の請求項1に係るスイッチング回路の制御装置によれば、ハイ側スイッチング素子およびロー側スイッチング素子を相補動作でオン/オフ駆動させる場合に比べて、逆導通可能な双方向性のスイッチング素子の導通損失を低減することができる。これにより、例えば、スイッチング素子を大型化したり、スイッチング素子を並列化された複数の素子により構成するなどによって、スイッチング素子の耐熱性能を増大させる必要が生じることを防止し、装置構成に要する費用が嵩むことを防止しつつ、スイッチング素子および還流ダイオードが熱損傷することを防止することができる。しかも、負荷の制御に用いられる負荷電流を検出する負荷電流検出手段の検出結果を用いることから、ハイ側スイッチング素子および前記ロー側スイッチング素子のうち何れのスイッチング素子に順方向電流が流れていないかを判定するための特別な検出デバイスを必要とせず、装置構成に要する費用が嵩むことを防止することができる。さらに、本発明の請求項2に係るスイッチング回路の制御装置によれば、第2判定手段により、第1判定手段によって順方向電流が流れていないと判定されたスイッチング素子のオンデューティをゼロに設定するか否かを判定することができる。したがって、スイッチング回路の運転状況に応じて、第1判定手段によって順方向電流が流れていないと判定されたスイッチング素子のオンデューティをゼロに設定して、逆方向電流によりスイッチング素子に発生する損失を低減する場合と、第1判定手段によって順方向電流が流れていないと判定されたスイッチング素子のオンデューティをゼロに設定せずに、逆方向電流がスイッチング素子と還流ダイオードとの両方を流れるようにしてスイッチング回路の損失を低減させる場合とを、切り替えて運転することができる。さらに、本発明の請求項3に係るスイッチング回路の制御装置によれば、負荷電流が小さく、スイッチング素子の発熱が小さい場合には、転流電流逆方向電流がスイッチング素子と還流ダイオードとの両方に流れるようにすることができる。転流電流逆方向電流がスイッチング素子と還流ダイオードとの両方に流れる場合には、転流電流が還流ダイオードのみを流れる場合、あるいは、逆方向電流がスイッチング素子のみに流れる場合に比べて、導通抵抗を低減することができ、逆方向電流が流れることによって発生する導通損失を低減することができ、スイッチング回路の損失を低減することができる。以下、本発明の一実施形態に係るスイッチング回路の制御装置について添付図面を参照しながら説明する。本実施の形態によるスイッチング回路の制御装置10は、例えば車両に搭載され、図1および図2に示すように、バッテリ11を直流電源として3相例えば、U相、V相、W相の3相交流のブラシレスDCモータ12以下、単に、モータ12と呼ぶを制御するインバータ13と、処理装置14とを備えて構成されている。インバータ13は、スイッチング素子例えば、双方向性のMOSFET:MetalOxideSemiconductorFieldEffectTransistorを複数用いてブリッジ接続してなるブリッジ回路スイッチング回路13aと平滑コンデンサCとを具備し、このブリッジ回路13aがパルス幅変調PWMされた信号によって駆動される。このブリッジ回路13aでは、例えば各相毎に対をなすハイ側およびロー側U相トランジスタUH,ULと、ハイ側およびロー側V相トランジスタVH,VLと、ハイ側およびロー側W相トランジスタWH,WLとがブリッジ接続されている。そして、各トランジスタUH,VH,WHはドレインがバッテリ11の正極側端子に接続されてハイ側アームを構成し、各トランジスタUL,VL,WLはソースがバッテリ11の接地された負極側端子に接続されてロー側アームを構成している。そして、各相毎に、ハイ側アームの各トランジスタUH,VH,WHのソースはロー側アームの各トランジスタUL,VL,WLのドレインに接続され、各トランジスタUH,UL,VH,VL,WH,WLのドレイン-ソース間には、ソースからドレインに向けて順方向となるようにして各還流ダイオードDUH,DUL,DVH,DVL,DWH,DWLが接続されている。つまり、ブリッジ回路13aは、各相毎にハイ側スイッチング素子各トランジスタUH,VH,WHおよび還流ダイオード各還流ダイオードDUH,DVH,DWHを逆並列に接続すなわち、双方向導通型のハイ側スイッチング素子と、該ハイ側スイッチング素子の順方向導通に対して逆導通する還流ダイオードとを並列に接続してなるハイ側アームと、各相毎にロー側スイッチング素子各トランジスタUL,VL,WLおよび還流ダイオード各還流ダイオードDUL,DVL,DWLを逆並列に接続すなわち、双方向導通型のロー側スイッチング素子と、該ロー側スイッチング素子の順方向導通に対して逆導通する還流ダイオードとを並列に接続してなるロー側アームとが、各相毎に直列に接続されて構成されている。そして、各相毎に、ハイ側アームおよびロー側アームの接続点にモータ12のステータ巻線12aが接続されている。インバータ13は、例えばモータ12の駆動時において、処理装置14から出力されて各トランジスタUH,VH,WH,UL,VL,WLのゲートに入力されるスイッチング指令であるゲート信号つまり、PWM信号に基づき、各相毎に対をなす各トランジスタのオン導通/オフ遮断状態を切り替える。これによって、バッテリ11から供給される直流電力を3相交流電力に変換し、3相のステータ巻線12aへの通電を順次転流させることで、各相のステータ巻線12aに交流のU相電流IuおよびV相電流IvおよびW相電流Iwを通電する。一方、例えばモータ12の回生時において、インバータ13は、モータ12の回転角に基づいて同期がとられて処理装置14から出力されるゲート信号つまり、PWM信号に基づき、各相毎に対をなす各トランジスタのオン導通/オフ遮断状態を切り替えることによって、モータ12から出力される3相交流電力を直流電力に変換してバッテリ11に充電可能である。処理装置14は、例えば、回転直交座標をなすdq座標上で電流のフィードバック制御ベクトル制御をおこなうものであり、目標d軸電流Idc及び目標q軸電流Iqcを演算する。そして、目標d軸電流Idc及び目標q軸電流Iqcに基づいて各相電圧指令Vu,Vv,Vwを算出し、各相電圧指令Vu,Vv,Vwに応じてインバータ13に対するゲート信号であるPWM信号を出力する。そして、実際にインバータ13からモータ12に供給される各相電流Iu,Iv,Iwをdq座標上に変換して得たd軸電流Id及びq軸電流Iqと、目標d軸電流Idc及び目標q軸電流Iqcとの各偏差がゼロとなるように制御をおこなう。処理装置14は、例えば、電流指令演算部21と、差分演算部22と、電流フィードバック演算部23と、dq-3相変換部24と、PWM演算部25と、3相-dq変換部26とを備えて構成されている。電流指令演算部21は、モータ12の目標トルクと回転数とに基づき、インバータ13からモータ12に供給される各相電流Iu,Iv,Iwを指定するための電流指令を演算しており、この電流指令は、回転する直交座標上での目標d軸電流Idc及び目標q軸電流Iqcとして差分演算部22へ出力されている。なお、モータ12の回転数は、例えば、回転子図示略の回転角例えば、所定の基準回転位置からの回転子の磁極の回転角度を検出する回転角センサ31から出力される検出値に基づき算出されてもよいし、あるいは、回転子図示略の回転数を検出する回転数センサ図示略により検出されてもよい。電流指令演算部21は、例えば図3に示すように、予めモータ12の目標トルクと回転数とスイッチング素子の順方向電流との所定の対応関係を示すマップなどのデータを複数の異なる電源電圧つまり、バッテリ11の出力電圧毎に対応付けて記憶している。そして、電流指令演算部21は、モータ12の目標トルクと回転数と電源電圧とに応じたスイッチング素子の順方向電流を、予め記憶しているマップに対するマップ検索などにより取得し、この順方向電流に応じた目標d軸電流Idc及び目標q軸電流Iqcを演算する。なお、例えば図3に示す適宜の電源電圧Aに対する所定のマップでは、目標トルクの増大あるいは回転数の増大あるいは電源電圧の低下に伴い、順方向電流が増大傾向に変化するように設定されているが、これに限定されず、例えばモータ12やインバータ13などの特性あるいは素子特性データなどに応じた適宜の傾向を示すように設定されてもよい。また、回転直交座標をなすdq座標は、例えばモータ12の回転子図示略に具備される永久磁石による界磁極の磁束方向をd軸界磁軸とし、このd軸と直交する方向をq軸トルク軸としており、回転子の回転位相に同期して回転している。これにより、インバータ13からモータ12の各相に供給される交流信号に対する電流指令として、直流的な信号である目標d軸電流Idcおよび目標q軸電流Iqcを与えるようになっている。差分演算部22は、電流指令演算部21から出力される目標d軸電流Idcおよび目標q軸電流Iqcと3相-dq変換部26から出力されるd軸電流Idおよびq軸電流Iqとの各偏差ΔId,ΔIqを算出する。電流フィードバック演算部23は、例えばPID比例積分微分動作などにより、各偏差ΔId,ΔIqを制御増幅してd軸電圧指令値Vdおよびq軸電圧指令値Vqを算出する。dq-3相変換部24は、モータ12の回転子図示略の回転角を検出する回転角センサ31から出力される回転角の検出値により、dq座標上でのd軸電圧指令値Vdおよびq軸電圧指令値Vqを、静止座標である3相交流座標上での電圧指令値であるU相出力電圧VuおよびV相出力電圧VvおよびW相出力電圧Vwに変換する。PWM演算部25は、例えばモータ12の駆動時には、各相のステータ巻線12aに交流の正弦波状のU相電流IuおよびV相電流IvおよびW相電流Iwを通電するために、各相出力電圧Vu,Vv,Vwと三角波などのキャリア信号とを比較して、インバータ13の各トランジスタUH,VH,WH,UL,VL,WLをオン/オフ駆動させるゲート信号つまり、PWM信号を生成する。PWM演算部25は、ハイ側アームおよびロー側アームの各スイッチング素子のオンデューティを独立に設定可能である。PWM演算部25は、例えば図4A,Bおよび図5A,Bに示すように、いわゆる相補PWMパルス幅変調によってブリッジ回路13aのハイ側アームおよびロー側アームの各スイッチング素子を交互にON/OFF駆動させる動作と、順方向電流が流れていないスイッチング素子つまり転流電流が流れている還流ダイオードに並列に接続されたスイッチング素子のオンデューティである逆方向デューティをゼロとする動作とを、切り替えて実行する。そして、各相毎のハイ側スイッチング素子およびロー側スイッチング素子のオンの比率は、各相毎のハイ側およびロー側オンデューティDutyUH,L,DutyVH,L,DutyWH,Lにより設定されている。PWM演算部25は、各相電流検出部32により検出された各相電流Iu,Iv,Iwの検出値に基づき、ハイ側スイッチング素子および前記ロー側スイッチング素子のうち何れのスイッチング素子に順方向電流が流れていないかを判定しており、さらに、この判定結果において順方向電流が流れていないと判定されたスイッチング素子のオンデューティつまり逆方向デューティをゼロに設定するか否かを判定する逆方向デューティ判定部25aを備えている。PWM演算部25は、例えば、通常の制御動作として相補PWMパルス幅変調による動作を実行しており、この場合には、ハイ側アームのハイ側スイッチング素子SW1のオンおよびロー側アームのロー側スイッチング素子SW2のオフの状態と、ハイ側アームのハイ側スイッチング素子SW1のオフおよびロー側アームのロー側スイッチング素子SW2のオンの状態とが、交互に切り替えられる。これにより、例えば図4A,図5Aに示すように、ハイ側アームのハイ側スイッチング素子SW1のオンにおいてハイ側スイッチング素子SW1に順方向電流が流れる場合には、ロー側アームのロー側スイッチング素子SW2のオンにおいてロー側スイッチング素子SW2に逆方向電流が流れると共に、このロー側スイッチング素子SW2に逆並列に接続されている還流ダイオード2に転流電流が流れる。この場合、例えば、順方向電流が流れていないスイッチング素子のオンデューティSW2_Tonは、順方向電流が流れるスイッチング素子のオンデューティSW1_TonおよびデッドタイムTdeadに応じた値=100-SW1_Ton-Tdeadとされる。一方、ロー側アームのロー側スイッチング素子SW2のオンにおいてロー側スイッチング素子SW2に順方向電流が流れる場合には、ハイ側アームのハイ側スイッチング素子SW1のオンにおいてハイ側スイッチング素子SW1に逆方向電流が流れると共に、このハイ側スイッチング素子SW1に逆並列に接続されている還流ダイオード1に転流電流が流れる。なお、順方向電流が流れていないスイッチング素子つまり、転流電流が流れている還流ダイオードに並列に接続されたスイッチング素子のオンの状態において、並列接続されたスイッチング素子および還流ダイオードの両方に転流電流逆方向電流が流れる場合には、例えば図6に示すように、転流電流逆方向電流がスイッチング素子のみ、あるいは還流ダイオードのみに流れる場合に比べて、並列接続されたスイッチング素子および還流ダイオードの合成抵抗が小さくなることに伴って、スイッチング回路全体としての損失を低減させることができる。また、PWM演算部25は、順方向電流が流れていないと判定したスイッチング素子つまり転流電流が流れている還流ダイオードに並列に接続されたスイッチング素子のオンデューティつまり逆方向デューティをゼロに設定すると逆方向デューティ判定部25aによって判定された場合には、この逆方向デューティをゼロとする。この場合には、順方向電流が流れるスイッチング素子のオンおよび転流電流が流れる還流ダイオードに並列に接続されたスイッチング素子のオフの状態と、順方向電流が流れるスイッチング素子のオフおよび転流電流が流れる還流ダイオードに並列に接続されたスイッチング素子のオフの状態とが、交互に切り替えられる。これにより、例えば図4B,図5Bおよび図7A,Bに示すように、に示すように、ハイ側アームのハイ側スイッチング素子SW1のオンにおいてハイ側スイッチング素子SW1に順方向電流が流れる場合には、ハイ側スイッチング素子SW1のオン/オフにかかわらずにロー側アームのロー側スイッチング素子SW2はオンとされず、転流時にはロー側スイッチング素子SW2に逆並列に接続されている還流ダイオード2にのみ転流電流が流れる。この場合、順方向電流が流れていないスイッチング素子のオンデューティSW2_Tonはゼロである。一方、ロー側アームのロー側スイッチング素子SW2のオンにおいてロー側スイッチング素子SW2に順方向電流が流れる場合には、ロー側スイッチング素子SW2のオン/オフにかかわらずにハイ側アームのハイ側スイッチング素子SW1はオンとされず、このハイ側スイッチング素子SW1に逆並列に接続されている還流ダイオード1に転流電流が流れる。逆方向デューティ判定部25aは、例えば、各相電流検出部32により検出された各相電流Iu,Iv,Iwの絶対値または順方向電流の絶対値が所定値以上の場合、あるいは順方向電流の導通損失が所定値以上の場合に、順方向電流が流れていないと判定されたスイッチング素子のオンデューティつまり逆方向デューティをゼロに設定すると判定する。3相-dq変換部26は、各相電流検出部32により検出された各相電流Iu,Iv,Iwの検出値と、回転角センサ31から出力される回転角の検出値とにより、モータ12の回転位相による回転座標すなわちdq座標上でのd軸電流Idおよびq軸電流Iqを算出する。本実施の形態によるスイッチング回路の制御装置10は上記構成を備えており、次に、このスイッチング回路の制御装置10の動作例について説明する。先ず、例えば図8に示すステップS01においては、モータ12の目標トルクおよび回転角および相電流と、電源電圧つまり、バッテリ11の出力電圧を取得する。次に、ステップS02においては、モータ12の目標トルクと回転数と電源電圧とに応じたスイッチング素子の順方向電流を、予め記憶しているマップに対するマップ検索などにより演算する。次に、ステップS03においては、負荷電流例えば、モータ12の相電流がゼロよりも大きいつまり、符号が正であるか否かを判定する。この判定結果がNOの場合には、後述するステップS10に進む。一方、この判定結果がYESの場合には、ステップS04に進む。そして、ステップS04においては、順方向電流が流れるスイッチング素子のオンデューティである順方向デューティとして、ハイ側スイッチング素子のハイ側オンデューティDutyHを、順方向電流に基づき演算する。次に、ステップS05においては、順方向電流の絶対値が所定値Xa未満であるか否かを判定する。この判定結果がNOの場合には、ステップS06に進み、このステップS06においては、ロー側スイッチング素子のロー側オンデューティDutyLをゼロとし、後述するステップS09に進む。一方、この判定結果がYESの場合には、ステップS07に進む。そして、ステップS07においては、例えば予め記憶されているデータなどに基づき、順方向電流が流れていないスイッチング素子に対するデッドタイムTdead例えば、所定の最小デッドタイムなどを取得する。次に、ステップS08においては、順方向デューティつまり、ハイ側オンデューティDutyHおよびデッドタイムTdeadに応じて、順方向電流が流れていないスイッチング素子のオンデューティとして、ロー側スイッチング素子のロー側オンデューティDutyL=100-DutyH-Tdeadを演算する。そして、ステップS09においては、各相毎のハイ側およびロー側オンデューティDutyUH,L,DutyVH,L,DutyWH,Lを出力し、エンドに進む。また、ステップS10においては、順方向電流が流れるスイッチング素子のオンデューティである順方向デューティとして、ロー側スイッチング素子のロー側オンデューティDutyLを、順方向電流に基づき演算する。次に、ステップS11においては、順方向電流の絶対値が所定値Xa未満であるか否かを判定する。この判定結果がNOの場合には、ステップS12に進み、このステップS12においては、ハイ側スイッチング素子のハイ側オンデューティDutyHをゼロとし、上述したステップS09に進む。一方、この判定結果がYESの場合には、ステップS13に進む。そして、ステップS13においては、例えば予め記憶されているデータなどに基づき、順方向電流が流れていないスイッチング素子に対するデッドタイムTdead例えば、所定の最小デッドタイムなどを取得する。次に、ステップS14においては、順方向デューティつまり、ロー側オンデューティDutyLおよびデッドタイムTdeadに応じて、順方向電流が流れていないスイッチング素子のオンデューティとして、ハイ側スイッチング素子のハイ側オンデューティDutyH=100-DutyL-Tdeadを演算し、上述したステップS09に進む。なお、上述したステップS05およびステップS11においては、例えば図9に示すステップS05aおよびステップS11aのように、順方向電流の絶対値が所定値Xa未満であるか否かを判定する代わりに、順方向電流の導通損失順方向損失の絶対値が所定値Ploss未満であるか否かを判定してもよい。上述したように、本実施の形態によるスイッチング回路の制御装置10によれば、順方向電流が流れていないスイッチング素子のオンデューティをゼロに設定することにより、ハイ側スイッチング素子およびロー側スイッチング素子を相補動作でオン/オフ駆動させる場合に比べて、逆導通可能な双方向性のスイッチング素子の導通損失を低減することができる。これにより、例えば、スイッチング素子を大型化したり、スイッチング素子を並列化された複数の素子により構成するなどによって、スイッチング素子の耐熱性能を増大させる必要が生じることを防止し、装置構成に要する費用が嵩むことを防止しつつ、スイッチング素子および還流ダイオードが熱損傷することを防止することができる。しかも、モータ12の制御に用いられる負荷電流つまり、各相電流Iu,Iv,Iwを検出する各相電流検出部32の検出結果を用いて、ハイ側スイッチング素子およびロー側スイッチング素子のうち何れのスイッチング素子に順方向電流が流れていないかを判定することから、特別な検出デバイスを必要とせずに、装置構成に要する費用が嵩むことを防止することができる。さらに、スイッチング回路の運転状況に応じて、順方向電流が流れていないと判定されたスイッチング素子のオンデューティをゼロに設定して、逆方向電流によりスイッチング素子に発生する損失を低減する場合と、順方向電流が流れていないと判定されたスイッチング素子のオンデューティをゼロに設定せずに、逆方向電流転流電流がスイッチング素子と還流ダイオードとの両方を流れるようにしてスイッチング回路の損失を低減させる場合とを、切り替えて、柔軟に運転することができる。さらに、負荷電流が小さく、スイッチング素子の発熱が小さい場合には、転流電流逆方向電流がスイッチング素子と還流ダイオードとの両方に流れるようにすることができる。転流電流逆方向電流がスイッチング素子と還流ダイオードとの両方に流れる場合には、転流電流が還流ダイオードのみを流れる場合、あるいは、逆方向電流がスイッチング素子のみに流れる場合に比べて、導通抵抗を低減することができ、逆方向電流が流れることによって発生する導通損失を低減することができ、スイッチング回路の損失を低減することができる。なお、上述した実施の形態においては、順方向電流の絶対値が所定値Xa未満または順方向損失の絶対値が所定値Ploss未満である場合に、順方向電流が流れていないスイッチング素子のオンデューティを、順方向電流が流れるスイッチング素子のオンデューティ順方向デューティおよびデッドタイムTdeadに応じた所定値=100-順方向デューティ-Tdeadとしたが、これに限定されず、例えばスイッチング素子と還流ダイオードとの転流電流逆方向電流の通電割合に応じた値としてもよい。この第1変形例においては、先ず、例えば図10に示すステップS21において、モータ12の目標トルクおよび回転角および相電流と、電源電圧つまり、バッテリ11の出力電圧を取得する。次に、ステップS22においては、モータ12の目標トルクと回転数と電源電圧とに応じたスイッチング素子の順方向電流を、予め記憶しているマップに対するマップ検索などにより演算する。次に、ステップS23においては、負荷電流例えば、モータ12の相電流がゼロよりも大きいつまり、符号が正であるか否かを判定する。この判定結果がNOの場合には、後述するステップS32に進む。一方、この判定結果がYESの場合には、ステップS24に進む。そして、ステップS24においては、順方向電流が流れるスイッチング素子のオンデューティである順方向デューティとして、ハイ側スイッチング素子のハイ側オンデューティDutyHを、順方向電流に基づき演算する。次に、ステップS25においては、順方向電流の絶対値が所定値Xa未満であるか否かを判定する。この判定結果がNOの場合には、ステップS26に進み、このステップS26においては、ロー側スイッチング素子のロー側オンデューティDutyLをゼロとし、後述するステップS31に進む。一方、この判定結果がYESの場合には、ステップS27に進む。そして、ステップS27においては、例えば予め記憶されている所定のマップや数式などを参照して、スイッチング素子と還流ダイオードとの転流電流逆方向電流の通電割合を取得する。なお、例えば図11に示す所定のマップでは、転流電流逆方向電流の増大に伴い、還流ダイオードの通電割合オンデューティがゼロから50よりも大きい所定の値に向かい増大傾向に変化し、かつ、スイッチング素子の通電割合が50よりも大きい所定の値からゼロに向かい減少傾向に変化するように設定されているが、これに限定されず、例えばモータ12やインバータ13などの特性あるいは素子特性データなどに応じた適宜の傾向を示すように設定されてもよい。そして、ステップS28においては、スイッチング素子と還流ダイオードとの転流電流逆方向電流の通電割合に応じて、逆方向電流を演算する。なお、順方向電流が大きいほど、転流電流逆方向電流も大きくなる。そして、ステップS29においては、例えば予め記憶されているデータなどに基づき、順方向電流が流れていないスイッチング素子に対するデッドタイムTdead例えば、所定の最小デッドタイムなどを取得する。次に、ステップS30においては、逆方向電流およびデッドタイムTdeadに応じて、順方向電流が流れていないスイッチング素子のオンデューティとして、ロー側スイッチング素子のロー側オンデューティDutyLを演算する。そして、この演算結果に対して、順方向デューティつまり、ハイ側オンデューティDutyHおよびデッドタイムTdeadに応じた所定の上限値=100-DutyH-Tdeadによりリミット処理を実行する。このリミット処理では、演算結果がロー側オンデューティDutyLに対する所定の上限値以下であれば、この演算結果をロー側オンデューティDutyLとして出力する。一方、この演算結果がロー側オンデューティDutyLに対する所定の上限値よりも大きい場合には、所定の上限値をロー側オンデューティDutyLとして出力する。そして、ステップS31においては、各相毎のハイ側およびロー側オンデューティDutyUH,L,DutyVH,L,DutyWH,Lを出力し、エンドに進む。そして、ステップS32においては、順方向電流が流れるスイッチング素子のオンデューティである順方向デューティとして、ロー側スイッチング素子のロー側オンデューティDutyLを、順方向電流に基づき演算する。次に、ステップS33においては、順方向電流の絶対値が所定値Xa未満であるか否かを判定する。この判定結果がNOの場合には、ステップS34に進み、このステップS34においては、ハイ側スイッチング素子のハイ側オンデューティDutyHをゼロとし、上述したステップS31に進む。一方、この判定結果がYESの場合には、ステップS35に進む。そして、ステップS35においては、例えば予め記憶されている所定のマップや数式などを参照して、スイッチング素子と還流ダイオードとの転流電流逆方向電流の通電割合を取得する。そして、ステップS36においては、スイッチング素子と還流ダイオードとの転流電流逆方向電流の通電割合に応じて、逆方向電流を演算する。そして、ステップS37においては、例えば予め記憶されているデータなどに基づき、順方向電流が流れていないスイッチング素子に対するデッドタイムTdead例えば、所定の最小デッドタイムなどを取得する。次に、ステップS38においては、逆方向電流およびデッドタイムTdeadに応じて、順方向電流が流れていないスイッチング素子のオンデューティとして、ハイ側スイッチング素子のハイ側オンデューティDutyHを演算する。そして、この演算結果に対して、順方向デューティつまり、ロー側オンデューティDutyLおよびデッドタイムTdeadに応じた所定の上限値=100-DutyL-Tdeadによりリミット処理を実行し、上述したステップS31に進む。このリミット処理では、演算結果がハイ側オンデューティDutyHに対する所定の上限値以下であれば、この演算結果をハイ側オンデューティDutyHとして出力する。一方、この演算結果がハイ側オンデューティDutyHに対する所定の上限値よりも大きい場合には、所定の上限値をハイ側オンデューティDutyHとして出力する。そして、ステップS09においては、各相毎のハイ側およびロー側オンデューティDutyUH,L,DutyVH,L,DutyWH,Lを出力し、エンドに進む。なお、この第1変形例において、上述したステップS25およびステップS33においては、例えば図12に示すステップS25aおよびステップS33aのように、順方向電流の絶対値が所定値Xa未満であるか否かを判定する代わりに、順方向電流の導通損失順方向損失の絶対値が所定値Ploss未満であるか否かを判定してもよい。この第1変形例によれば、スイッチング素子と還流ダイオードとの転流電流逆方向電流の通電割合に応じて、順方向電流が流れていないスイッチング素子のオンデューティを設定することにより、逆方向電流によりスイッチング素子に発生する損失を低減する動作と、スイッチング回路の損失を低減させる動作とを、より柔軟に制御することができる。なお、上述した実施の形態においては、PWM演算部25は、通常の制御動作として相補PWMパルス幅変調によるスイッチング動作を実行するとしたが、これに限定されず、単に、順方向電流が流れていないと判定したスイッチング素子のオンデューティつまり逆方向デューティをゼロに設定してもよい。この第2変形例においては、先ず、例えば図13に示すステップS41において、モータ12の回転角および相電流と、電源電圧つまり、バッテリ11の出力電圧を取得する。次に、ステップS42においては、モータ12の目標トルクと回転数と電源電圧とに応じたスイッチング素子の順方向電流を、予め記憶しているマップに対するマップ検索などにより演算する。次に、ステップS43においては、順方向電流に基づき順方向デューティを演算する。次に、ステップS44においては、例えば予め記憶されているデータなどに基づき、逆方向電流が流れるスイッチング素子に対するデッドタイムTdead例えば、所定の最小デッドタイムなどを取得する。次に、ステップS45においては、順方向デューティおよびデッドタイムTdeadに応じて、逆方向デューティ=100-順方向デューティ-Tdeadを演算する。次に、ステップS46においては、負荷電流つまり、モータ12の相電流がゼロよりも大きいつまり、符号が正であるか否かを判定する。この判定結果がYESの場合には、ステップS47に進み、このステップS47においては、ハイ側スイッチング素子のハイ側オンデューティDutyHを順方向デューティとし、ロー側スイッチング素子のロー側オンデューティDutyLをゼロとする。一方、この判定結果がNOの場合には、ステップS48に進み、このステップS48においては、ロー側スイッチング素子のロー側オンデューティDutyLを順方向デューティとし、ハイ側スイッチング素子のハイ側オンデューティDutyHをゼロとする。そして、ステップS49においては、各相毎のハイ側およびロー側オンデューティDutyUH,L,DutyVH,L,DutyWH,Lを出力し、エンドに進む。なお、上述した実施の形態の第2変形例においては、ステップS41~ステップS49の処理の代わりに、例えば図14に示す第3変形例のようなステップS51~ステップS60の処理を実行してもよい。この第3変形例においては、先ず、例えば図14に示すステップS51において、モータ12の回転角および相電流と、電源電圧つまり、バッテリ11の出力電圧を取得する。次に、ステップS52においては、モータ12の目標トルクと回転数と電源電圧とに応じたスイッチング素子の順方向電流を、予め記憶しているマップに対するマップ検索などにより演算する。次に、ステップS53においては、負荷電流つまり、モータ12の相電流がゼロよりも大きいつまり、符号が正であるか否かを判定する。この判定結果がNOの場合には、後述するステップS57に進む。一方、この判定結果がYESの場合には、ステップS54に進む。次に、ステップS54においては、例えば予め記憶されているデータなどに基づき、順方向電流が流れるスイッチング素子に対するデッドタイムTdead例えば、所定の最小デッドタイムなどを取得する。次に、ステップS55においては、順方向電流およびデッドタイムTdeadに基づき、ハイ側スイッチング素子のハイ側オンデューティDutyHとして、順方向デューティを演算する。次に、ステップS56においては、ロー側スイッチング素子のロー側オンデューティDutyLをゼロとする。そして、ステップS57においては、各相毎のハイ側およびロー側オンデューティDutyUH,L,DutyVH,L,DutyWH,Lを出力し、エンドに進む。また、ステップS58においては、例えば予め記憶されているデータなどに基づき、順方向電流が流れるスイッチング素子に対するデッドタイムTdead例えば、所定の最小デッドタイムなどを取得する。次に、ステップS59においては、順方向電流およびデッドタイムTdeadに基づき、ロー側スイッチング素子のロー側オンデューティDutyLとして、順方向デューティを演算する。次に、ステップS60においては、ハイ側スイッチング素子のハイ側オンデューティDutyHをゼロとし、上述したステップS57に進む。また、上述した実施の形態の第3変形例においては、ステップS51~ステップS60の処理の代わりに、例えば図15に示す第4変形例のようなステップS61~ステップS60の処理を実行してもよい。この第4変形例においては、先ず、例えば図15に示すステップS61において、モータ12の回転角および相電流と、電源電圧つまり、バッテリ11の出力電圧を取得する。次に、ステップS62においては、モータ12の目標トルクと回転数と電源電圧とに応じたスイッチング素子の順方向電流を、予め記憶しているマップに対するマップ検索などにより演算する。次に、ステップS63においては、負荷電流つまり、モータ12の相電流がゼロよりも大きいつまり、符号が正であるか否かを判定する。この判定結果がNOの場合には、後述するステップS68に進む。一方、この判定結果がYESの場合には、ステップS64に進む。次に、ステップS64においては、例えば予め記憶されているデータなどに基づき、順方向電流が流れるスイッチング素子に対するデッドタイムTdead例えば、所定の最小デッドタイムなどを取得する。次に、ステップS65においては、順方向電流およびデッドタイムTdeadに基づき、ハイ側スイッチング素子のハイ側オンデューティDutyHとして、順方向デューティを演算する。次に、ステップS66においては、ロー側スイッチング素子のロー側オンデューティDutyLをゼロとする。そして、ステップS67においては、各相毎のハイ側およびロー側オンデューティDutyUH,L,DutyVH,L,DutyWH,Lを出力し、エンドに進む。また、ステップS68においては、例えば予め記憶されているデータなどに基づき、順方向電流が流れるスイッチング素子に対するデッドタイムTdead例えば、所定の最小デッドタイムなどを取得する。次に、ステップS69においては、例えば順方向電流に基づき予め記憶しているマップや数式などを参照して、ハイ側スイッチング素子のハイ側オンデューティDutyHとして、逆方向デューティを演算する。次に、ステップS70においては、ハイ側オンデューティDutyHつまり逆方向デューティおよびデッドタイムTdeadに基づき、ロー側スイッチング素子のロー側オンデューティDutyL=100-DutyH-Tdeadを演算する。次に、ステップS71においては、ハイ側スイッチング素子のハイ側オンデューティDutyHをゼロとし、上述したステップS67に進む。これらの第1~第4変形例によれば、ハイ側スイッチング素子およびロー側スイッチング素子を相補動作でオン/オフ駆動させる場合に比べて、逆導通可能な双方向性のスイッチング素子の導通損失を低減することができる。"