UVW各相の上アームと下アームに夫々スイッチング素子を有するインバータと、スイッチング素子を冷却する冷媒の温度を計測する温度センサと、インバータの出力であるUVW各相の電流を計測する電流センサと、インバータへの入力電圧を計測する電圧センサと、スイッチング素子ごとに電流センサと電圧センサの計測データ及びスイッチング素子のデューティ比に基づいて温度補正値を算出し、温度センサが計測した冷媒温度に算出した温度補正値を加算した値を各スイッチング素子の推定温度とする温度推定器と、を備えることを特徴とする電気自動車。温度推定器は、計測される電流の時間平均値に対応する補正値であり、スイッチング素子の電気抵抗に起因する第1温度補正値を定めたON損失マップデータと、計測される電流の時間平均値に対応する補正値であり、スイッチング動作の損失に起因する第2温度補正値を定めたスイッチング損失マップデータと、電圧センサが計測する電圧に対応した電圧補正係数を定めた電圧補正マップデータと、を記憶しているとともに、電流センサが計測した電流に対応する第1温度補正値をON損失マップデータから特定し、電流センサが計測した電流の極値に対応する第2温度補正値をスイッチング損失マップデータから特定し、電圧センサが計測した電圧に対応する電圧補正係数を電圧補正マップデータから特定し、特定された第1温度補正値にスイッチング素子のデューティ比を乗じた値に、特定された第2温度補正値に電圧補正係数を乗じた値を加算したものを前記温度補正値とする、ことを特徴とする請求項1に記載の電気自動車。温度推定器はさらに、スイッチング素子へのPWM指令を生成する際のキャリア周波数に対応するキャリア周波数補正係数を定めたキャリア周波数補正マップデータを記憶しており、現在のキャリア周波数に応じたキャリア周波数補正係数をキャリア周波数補正マップデータから特定し、特定された第1温度補正値にスイッチング素子のデューティ比を乗じた値に、特定された第2温度補正値に電圧補正係数とキャリア周波数補正係数を乗じた値を加算したものを前記温度補正値とする、ことを特徴とする請求項2に記載の電気自動車。スイッチング素子の推定温度が予め定められた温度閾値を超えている場合に、インバータへの入力電流の上限値を下げることを特徴とする請求項1から3のいずれか1項に記載の電気自動車。モータがロックした場合、各スイッチング素子の温度は極端に異なっていく。モータがロックした場合とは、自動車が高い段差を乗り越えようとするが乗り越えられない場合、あるいは、自動車が障害物に押し当たっており、それ以上は進めない場合などに生じる。モータがロックして各スイッチング素子の温度が大きく異なる場合、いずれかのスイッチング素子の温度を参照して他のスイッチング素子の温度を推定する方法では正確な推定はできない。本明細書は、いずれかのスイッチング素子の温度を参照するのではなく、スイッチング素子を冷却する冷媒の温度に着目し、冷媒温度を基準とし、インバータに既設のセンサのデータに基づいてスイッチング素子の温度を推定する技術を提供する。この方法は、モータがロックしたときなどに特に有用である。インバータは、UVWの3相交流を出力する。そのため、インバータは通常、UVW各相の上アームと下アームに夫々スイッチング素子が配置されている。なお、前述したようにスイッチング素子は、IGBTと還流ダイオードが並列に接続した回路で構成されることが多い。本明細書ではそのような回路をスイッチング素子と称する。また、電気自動車に搭載されるインバータには、スイッチング素子を含むインバータ内の電子部品を冷却する冷媒の温度を計測する温度センサと、インバータの出力であるUVW各相の電流を計測する電流センサと、インバータへの入力電圧を計測する電圧センサが備えられている。本明細書が開示する技術は、それらのセンサのデータと、スイッチング素子トランジスタへの指令信号PWM信号のデューティ比を使ってスイッチング素子の温度を推定する。電流センサは、UVWの各相に一つずつ配置された3個の電流センサでもよいし、UVW相のうちの2つの相にそれぞれ配置された2個の電流センサと、モータのロータの位置を計測するレゾルバで構成されてもよい。レゾルバのデータと2つの相の電流のデータから残りの一つの相の電流が求められるからである。スイッチング素子の温度を推定する温度推定器は、温度センサが計測した冷媒温度を基準とする。冷媒はどのスイッチング素子にも均等にいきわたるので、インバータが有するスイッチング素子群全体の温度の指標基準として用いるのに適している。温度推定器は、電流センサと電圧センサの計測データ、及び、スイッチング素子のデューティ比に基づいて温度補正値を算出し、これを冷媒温度に加算する。その値をスイッチング素子の推定温度とする。電流センサや電圧センサの計測データとスイッチング素子温度との関係は予め実験等によって正確に求めることができる。本明細書が開示する技術は、実験等によって、電流センサや電圧センサの計測値に対応した補正値個別のスイッチング素子の温度上昇分をマップデータ化して記憶しておくとともに、さらに、スイッチング素子のデューティ比に基づく補正係数を使って、冷媒温度スイッチング素子群全体の温度基準に対する個別のスイッチング素子の温度補正値を算出する。個別の温度補正値を冷媒温度に加算したものが各スイッチング素子の推定温度となる。デューティ比は、スイッチング素子に電流が流れる期間を定めるパラメータであるので、スイッチング素子の温度を推定する上で重要である。温度推定器は、具体的には、個別のスイッチング素子の温度上昇分を、主としてスイッチング素子トランジスタ又はダイオードの電気抵抗に起因する温度上昇分これをON損失による温度補正値ΔTonと称すると、主としてスイッチング動作の損失に起因する温度上昇分これをスイッチング損失による温度補正値ΔTswと称するに分け、それらを別々に算出して冷媒温度Twtに加算することによって、個別のスイッチング素子の推定温度を得る。即ち、ON損失による温度補正値ΔTonとスイッチング損失による温度補正値ΔTswを足し合わせたものが、トータルの温度補正値に相当する。温度推定器の実態は、個別の独立したユニットでなくともよく、例えばその機能の一部がインバータ内に備えられ、機能の残りが上位のコントローラ内に備えられ、それらが通信ケーブルによって連結された態様であってもよい。また、冷媒は、典型的には水でよいが、インバータが空冷の場合には、空気あるいは他の不活性ガスが冷媒に相当する。温度推定器の一実施態様を概説する。一実施態様の温度推定器は、ON損失マップデータと、スイッチング損失マップデータと、電圧補正マップデータを記憶している。ON損失マップデータは、計測される電流の様々な値に対応した補正値の集合であって主としてスイッチング素子の電気抵抗に起因する第1温度補正値ΔTon_aを定める。第1温度補正値ΔTon_aは、概ね、スイッチング素子を流れる電流の大きさに比例する。スイッチング損失マップデータは、計測される電流の様々な値に対応する補正値の集合であって、主としてスイッチング動作の損失に起因する第2温度補正値ΔTsw_aを定める。第2温度補正値ΔTsw_aも、概ね、計測される電流の大きさに比例する。電圧補正マップデータは、電圧センサが計測する電圧インバータへの入力電圧に対応した電圧補正係数を定める。電圧補正係数は、第2温度補正値ΔTsw_aのマップデータを決めるときマップデータの各値を決める実験を行ったときの出力電圧と、温度推定する際に計測された電圧との比に相当する。例えば、温度推定の際に計測された電圧が、マップデータを決める際のインバータ入力電圧の2倍であれば、電圧補正係数は2.0となる。温度推定器は、それぞれのスイッチング素子に対し、電流センサが計測した電流UVW各相の夫々に流れる電流に対応する第1温度補正値ΔTon_aをON損失マップデータから特定するとともに、第2温度補正値ΔTsw_aをスイッチング損失マップデータから特定する。さらに温度推定器は、電圧センサが計測した電圧インバータへの入力電圧VHに対応する電圧補正係数Vcmpを電圧補正マップデータから特定する。温度推定器は、それぞれのスイッチング素子に対し、特定された第1温度補正値にスイッチング素子のデューティ比DhたとえばONデューティを乗じた値、及び、特定された第2温度補正値に電圧補正係数を乗じた値をトータルの温度補正値として算出する。温度推定器は、算出した温度補正値を冷媒温度Twtに加算してスイッチング素子の推定温度Teを得る。即ち、推定温度Te=TwtΔTonΔTswとなる。ここで、Twtは冷媒温度であり、ΔTonΔTswがトータルの温度補正値である。また、ΔTon=ΔTon_a×Dhであり、ΔTsw=ΔTsw_a×Vcmpである。温度推定器はさらに、スイッチング素子へのPWM指令を生成する際のキャリア周波数の様々な値に対応したキャリア周波数補正係数Fcmpを定めたキャリア周波数補正マップデータを記憶しており、温度推定する際のキャリア周波数Fcに応じたキャリア周波数補正係数Fcmpをキャリア周波数補正マップデータから特定し、特定された第1温度補正値にスイッチング素子のデューティ比を乗じた値に、特定された第2温度補正値に電圧補正係数とキャリア周波数補正係数を乗じた値を加算したものを、トータルの温度補正値とすることも好適である。即ち、前述のトータルの温度補正値=ΔTonΔTswという式において、ΔTsw=ΔTsw_a×Vcmp×Fcmpとするのが好適である。この温度推定式は、状況に応じてキャリア周波数を変更するインバータに対して有効である。温度推定器が推定したスイッチング素子の温度は、典型的には、温度抑制器に通知される。温度抑制器とは、スイッチング素子の推定温度が所定の温度閾値を超えた場合に、スイッチング素子の発熱を抑制する手段である。温度抑制器の一態様は、スイッチング素子の推定温度Teが予め定められた温度閾値Te_thを超えている場合に、インバータへの入力電流の上限値を下げることである。温度抑制器と温度推定器は、物理的には同一のユニット或いはプログラムを実行するプロセッサで実現されてよいし、異なるユニットに分散して構成されてもよい。また、温度抑制器と温度推定器は、インバータを制御するパワーコントローラの中に実装されてもよい。本明細書が開示する技術の具体的な態様は、以下の実施形態で詳しく説明する。図1に、実施例に係る電気自動車100のシステムブロック図を示す。なお、図1には、本発明を説明するのに必要なユニットのみを示しており、電気自動車100が本来備えるべきユニットの幾つかは図示を省略している。電気自動車100は、走行用のモータMG1を有する。モータMG1は、バッテリMBが供給する電力で駆動される。バッテリMBの電力は、システムメインリレーSMR1、SMR2を介して電圧コンバータ23に入力される。なお、システムメインリレーSMR1、SMR2は、バッテリMBを他の機器から遮断するメインスイッチに相当する。システムメインリレーSMR1、SMR2は、自動車100の電力システムを制御するパワーコントローラ25からの信号SCによって開閉する。バッテリMBの電圧は電圧コンバータ23によって、インバータ21の入力に適した電圧まで昇圧される。例えば、バッテリMBの電圧は200Vであり、電圧コンバータ23は、インバータ21の入力電圧に適した600Vまで、バッテリ電圧MBを昇圧する。インバータ21は、電圧コンバータ23が出力する直流電力を、モータMG1を駆動するのに適した3相交流電力UVWへ変換する。また、電気自動車100では、減速エネルギによってモータMG1が発生した交流電力をインバータ21が直流に変換し、電圧コンバータ23がその直流電力をバッテリMBの充電に適した電圧まで降圧することもできる。即ち、インバータ21と電圧コンバータ23は、双方向で電力を変換することができる。電圧コンバータ23を駆動する信号パルス幅変調信号PWMA、及び、インバータ21を駆動する信号パルス幅変調信号PWMBは、パワーコントローラ25が生成する。パワーコントローラ25は、上位のコントローラであるシステムコントローラ10からの指令例えば、アクセルペダルの開度に応じた指令に基づき、電圧コンバータ23とインバータ21を制御する。図1の符号C1、C2は、電圧コンバータ23の入力側と出力側の電流を平滑化するコンデンサである。電圧コンバータ23とインバータ21は、共通の冷却装置2によって冷却される。より具体的には、冷却装置2は、電圧コンバータ23とインバータ21が内蔵するスイッチング素子トランジスタやダイオードなど、及び、リアクトルL1を冷却する。冷却装置2は、その内部に冷媒が封入されており、ポンプ4によってその冷媒を電圧コンバータ23とインバータ21内で循環させる。冷却装置2には、冷媒の温度を計測する温度センサQwtが備えられている。温度センサQwtが計測する冷媒温度Twtは、パワーコントローラ25に入力される。なお、図では、冷却装置2は電圧コンバータ23とインバータ21に隣接するように描かれているが、冷却装置2の冷媒流路は、電圧コンバータ23やインバータ21の内部のスイッチング素子に接するように、それらの機器の内部にまで通っている。冷媒は、典型的には水である。インバータ21の回路構成について説明する。なお、電圧コンバータ23の回路構成については説明を省略する。インバータ21は、6個のスイッチング素子sw1~sw6を有する。スイッチング素子は皆同じであり、その構成を図2に示す。スイッチング素子swは、トランジスタTr典型的にはIGBTとダイオードDdが並列に接続された構成を有している。トランジスタTrのソースSにダイオードDdのカソードが接続されており、トランジスタTrのドレインDにダイオードDdのアノードが接続されている。ダイオードDdは、トランジスタTrのドレインD側からソースS側へ向けて電流を流す役割を担う。このように接続されたダイオードDrは、還流ダイオード、あるいはフリーホイールダイオードと呼ばれる。トランジスタTrのゲートGには、モータコントローラ25が生成するパルス幅変調信号PWMBに相当するゲート信号が入力される。ゲート信号に応じてトランジスタTrがON又はOFFする。モータのU相、V相、あるいはW相に電流を供給するラインは上アームと呼ばれ、モータのU相、V相、あるいはW相から戻る電流を通すラインは下アームと呼ばれる。符号sw1はU相上アームのスイッチング素子を示しており、符号sw2はU相下アームのスイッチング素子を示している。符号sw3はV相上アームのスイッチング素子を示しており、符号sw4はV相下アームのスイッチング素子を示している。符号sw5はW相上アームのスイッチング素子を示しており、符号sw6はW相下アームのスイッチング素子を示している。モータコントローラ25からのパルス幅変調信号PWMBに応じて各スイッチング素子を所定のタイミング、所定のデューティ比でON/OFFすることで、相互に位相が120度ずれた3相交流電流信号UVW信号がインバータ21から出力される。モータコントローラ25は、パルス幅変調信号PWMBを生成するのに際して所定の周波数のキャリア信号を用いる。インバータ21とモータMG1を繋ぐ3相UVWのラインのうちのV相とW相に即ちV相のアームとW相のアームに、それらのラインを流れる電流iv、iwを計測する電流センサ6が備えられている。また、モータMG1には、ステータに対するロータの回転角θを計測するレゾルバ8が備えられている。電流センサ6が計測した電流iv、iw、及び、レゾルバ8が計測した回転角θは、モータコントローラ25へ送られる。モータコントローラ25では、v相とw相の電流iv、iwとロータ回転角θから、U相を流れる電流iuを推定する。即ち、電流センサ6とレゾルバ8によって、3相UVWの夫々に流れる電流iu、iv、及び、iwが計測できる。電流センサ6とレゾルバ8を合わせたものが、UVW3相各相の電流を計測する電流センサに相当する。インバータ21の入力側電圧コンバータ23の出力側に、インバータへの入力電圧を計測する電圧センサVdHが接続されている。電圧センサVdHが計測する電圧をインバータ入力電圧VHと称する。電圧センサVdHが計測したインバータ入力電圧VHもモータコントローラ25に送られる。パワーコントローラ25は、パルス幅変調信号PWMA、PWMBによって電圧コンバータ23とインバータ21を制御するのと同時に、上記したセンサの信号センサデータに基づいてスイッチング素子sw1~sw6それぞれの温度を推定し、推定温度が所定の温度閾値を超えたときにインバータへの入力電流を抑える制御も行う。即ち、パワーコントローラ25は、温度推定器、及び、温度抑制器としても機能する。スイッチング素子の温度を推定するメカニズムについて説明する前に、本明細書が開示する温度推定が最も有効に機能する状況を説明する。本明細書が開示する温度推定は、モータがロックしたときに特にその効果を発揮する。図3にモータロック前後の、インバータ21のUVW各相に流れる電流波形を示す。モータが正常に回転している間、UVWの各相は、相互に位相が120度ずれた電流波形となる。例えば時刻tmrでモータがロックしたとすると、モータのステータとロータの位置関係が変わらなくなるので、時刻tmr以降は、UVW各相の電流は夫々ほぼ一定となる。他方、インバータ21の各スイッチング素子sw1~sw6はスイッチング動作を繰り返しているから、時刻tmr以降は、流れる電流の大きさがスイッチング素子ごとに大きく異なることになる。このような状態では、いずれかのスイッチング素子の温度に基づいて他のスイッチング素子の温度を推定するのは難しい。以下で説明する温度推定は、インバータのスイッチング素子を冷却する冷媒の温度Twtを基準とする。冷媒は全てのスイッチング素子を冷却するから、全てのスイッチング素子の温度を代表する温度といえるなお、全てのスイッチング素子の平均値ではない点には留意されたい。以下で説明する温度推定は、全てのスイッチング素子の温度を代表する冷媒温度Twtに、個別のスイッチング素子の事情流れる電流の大きさやデューティ比などに応じた温度上昇分温度補正値を加算し、各スイッチング素子の推定温度とする。個別の温度上昇分は、予め実験等によって相当程度に正確に予測できるから、以下のアルゴリズムは、スイッチング素子の温度を比較的正確に推定することができる。スイッチング素子の温度を推定するメカニズムについて説明する。スイッチング素子sw1~sw6の温度推定に用いるセンサデータは、冷却装置2を流れる冷媒、即ち、スイッチング素子を冷却する冷媒の温度Twt、UVW各相を流れる電流iu、iv、及び、iw、及び、インバータ入力電圧VHである。その他、スイッチング素子の温度推定には、各スイッチング素子のトランジスタTrに与えるゲート信号のデューティ比Dhと、インバータ21を駆動するパルス幅変調信号PWMBを生成する際のキャリア周波数Fcを用いる。デューティ比Dhとキャリア周波数Fcは、パワーコントローラ25の内部で生成されるので検出する必要はない。また、各スイッチング素子の温度推定には、いくつかの予め用意されたマップデータを用いる。マップデータは、パワーコントローラ25と接続された記憶デバイス26に記憶されている。記憶デバイス26に記憶されているマップデータ26a~26dについて説明する。記憶デバイス26には、ON損失マップデータ26a、スイッチング損失マップデータ26b、電圧補正マップデータ26c、及び、キャリア周波数補正マップデータ26dが記憶されている。これらのマップデータを使った温度推定は、スイッチング素子ごとに行われる。以下、説明のため、温度推定の対象となるスイッチング素子を流れる電流即ち、電流iu、電流iv、電流iwのいずれかを電流Imと称する。ON損失マップデータ26aの一例を図4に示す。ON損失マップデータ26aは、スイッチング素子を流れる電流Imの様々な値に対して、スイッチング素子の温度上昇分ΔTon_a第1温度補正値を対応付けたテーブルである。図4では、例えば、電流Im=a1のとき、第1温度補償値ΔTon_a=tn1が対応付けられている。第1温度補償値ΔTon_aは、主としてスイッチング素子の電気抵抗に起因して生じる温度上昇分であり、実験等によって予め求められている。第1温度補償値ΔTon_aは、スイッチング素子を流れる電流の増大に伴ってほぼ比例して増大する。スイッチング損失マップデータ26bの一例を図5に示す。スイッチング損失マップデータ26bも、スイッチング素子を流れる電流Imの様々な値に対してスイッチング素子の温度上昇分ΔTsw_a第2温度補正値を対応付けたテーブルである。図5では、例えば、電流Im=a2のとき、第2温度補償値ΔTsw_a=ts2が対応付けられている。第2温度補償値ΔTsw_aは、主としてスイッチング動作に起因して生じる温度上昇分であり、実験等によって予め求められている。第2温度補償値ΔTsw_aも、スイッチング素子を流れる電流の増大に伴ってほぼ比例して増大する。ここで、ON損失マップデータ26a、スイッチング損失マップデータ26bに共通する留意点を述べる。第一に、6個のスイッチング素子sw1~sw6は同じ特性を有しているので、6個のスイッチング素子の夫々に対して一つのON損失マップデータ26a、一つのスイッチング損失マップデータ26bが利用できる。第二に、正値の電流Imに対してはマップデータの具体的な値はスイッチング素子のトランジスタTrの特性で定まり、負値の電流Imに対してはマップデータの具体的な値はスイッチング素子のダイオードDdの特定で定まる。これは、電流Imが正値の場合はトランジスタTrがONしているときであり、このときはトランジスタTrには電流が流れるがダイオードDdには電流が流れないからである。また、電流Imが負値の場合はダイオードDdを通してのみ電流Imが流れるからである。電圧補正マップデータ26cの一例を図6に示す。電圧補正マップデータ26cは、スイッチング素子の温度を推定する際の補正係数であり、スイッチング損失マップデータ26bを作成したときスイッチング損失マップデータ26bの各値を定める実験をしたときのインバータ入力電圧VHの値と、温度推定するときのインバータ入力電圧VHの比で定まる。例えば、スイッチング損失マップデータ26bを作成するときのインバータ入力電圧VHが500[V]であり、温度推定するときの出力電圧VHがv1=250[V]の場合、電圧補正係数Vcmp=cv1=250/500=0.5となる。また、温度推定するときのインバータ入力電圧VHがv4=600[V]の場合、電圧補正係数Vcmp=cv4=600/500=1.2となる。キャリア周波数補正マップデータ26dの一例を図7に示す。キャリア周波数補正マップデータ26dは、スイッチング素子の温度を推定する際の補正係数であり、スイッチング損失マップデータ26bを作成したときスイッチング損失マップデータ26bの各値を定める実験をしたときのキャリア周波数スイッチング素子のパルス幅変調信号PWMBを生成する際の基本となるキャリア周波数と、温度推定する際のキャリア周波数Fcの比で定まる。例えば、スイッチング損失マップデータ26bを作成したときのキャリア周波数が10[kHz]であり、温度推定するときのキャリア周波数Fcがf1=5[kHz]の場合、キャリア周波数補正係数Fcmp=cf1=5/10=0.5となる。また、温度推定するときのキャリア周波数Fcがf4=15[kHz]の場合、キャリア周波数補正係数Fcmp=cf4=15/10=1.5となる。パワーコントローラ25は、スイッチング素子の推定温度Teを次の数1で算出する。Te=TwtΔTonΔTsw数1数1において、Twtはスイッチング素子を冷却する冷媒の温度であり、温度センサQwtで計測された値である。数1のΔTonΔTswが、冷媒温度Twtに対するトータルの温度補正値に相当する。ΔTonは、主にスイッチング素子の電気抵抗による損失に起因して生じる温度上昇分であり、前述したように、ON損失による温度補正値ΔTonと称する。また、ΔTswは、主にスイッチング動作による損失に起因して生じる温度上昇分であり、前述したように、スイッチング損失による温度補正値ΔTswと称する。ON損失温度補正値ΔTonとスイッチング損失温度補正値ΔTswは、センサデータと上記説明した各マップデータの値を用いて次の数2、数3で求められる。ΔTon=ΔTon_a×Dh数2ΔTsw=ΔTsw_a×Vcmp×Fcmp数3第1温度補正値ΔTon_aは、ON損失マップデータ26aから、計測された電流Imに対応する数値を抽出したものである。第2温度補正値ΔTsw_aは、スイッチング損失マップデータ26bから、計測された電流Imに対応する数値を抽出したものである。デューティ比Dhは、パワーコントローラ25内で生成されたものであるから既知である。なお、トランジスタTrに電流が流れる場合、即ち電流Imが正値の場合はDhとしてはONデューティ比を用い、ダイオードDdに電流が流れる場合、即ち電流Imが負値の場合はDhとしてOFFデューディ比を用いる。電圧補正係数Vcmpは、電圧補正マップデータ26cから、計測されたインバータ入力電圧VHに対応する数値を抽出したものである。キャリア周波数補正係数Fcmpは、キャリア周波数補正マップデータ26dから、パワーコントローラ25が使っているキャリア周波数に対応した数値を抽出したものである。数1~数3の数式を各スイッチング素子sw1~sw6に適用することによって、各スイッチング素子の推定温度Teが求まる。数1~数3の技術的意義は以下の通りである。数1は、スイッチング素子を冷却する冷媒の温度Twtを、複数のスイッチング素子全体の周囲の温度であると仮定し、それに、個々のスイッチング素子自身の発熱による温度上昇分、即ち、ON損失温度補正値ΔTonとスイッチング損失温度補正値ΔTswを加算したものを推定温度とすることを意味する。ON損失温度補正値ΔTonにスイッチング損失温度補正値ΔTswを加算したものがトータルの温度補正値に相当する。スイッチング素子単体の温度特性、即ち、上記したマップデータ26a~26dは、実験等により比較的に正確に求まるから、それらマップデータに基づいて算出されるON損失温度補正値ΔTonとスイッチング損失温度補正値ΔTswも、現実の温度上昇分をよく表す。従って、上記アルゴリズムによる推定温度は、実際のスイッチング素子の温度をよく表すものとなる。パワーコントローラ25は、いずれかのスイッチング素子の推定温度が所定の温度閾値Tthを超えた場合、インバータ21に入力する電流を抑制する。パワーコントローラ25は、例えば図8に示すグラフに基づき、スイッチング素子の推定温度Teが温度閾値Te_thを超えた場合、超過温度温度閾値Te_thを超えた分の温度に比例してインバータへの入力電流を漸減させる。実施例の技術についての留意点を述べる。インバータのキャリア周波数が不変の場合、即ち、スイッチング損失マップデータ26bの各値を定める実験をしたときも実際に温度推定をするときも常に同じキャリア周波数である場合、キャリア周波数補正係数即ちキャリア周波数補正マップデータは不要である。また、パワーコントローラ25は、スイッチング素子の推定温度Teが温度閾値Te_thを超えた場合、その時点から予め定められた時間期間の間、入力電流の上限値を所定の幅だけ下げるようにしてもよい。以上、本発明の具体例を詳細に説明したが、これらは例示に過ぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には、以上に例示した具体例を様々に変形、変更したものが含まれる。本明細書または図面に説明した技術要素は、単独であるいは各種の組合せによって技術的有用性を発揮するものであり、出願時請求項記載の組合せに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成し得るものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。