(57)【要約】      （修正有）【課題】モータがロック状態と回転状態を繰り返す運転を行う場合であっても、正確にスイッチング素子の温度を演算できるようにして、スイッチング素子の熱破壊からの保護を正確な時期に行えるようにする。【解決手段】ＰＭモータがロック状態にあるか、あるいは回転状態にあるかが判別され、ロック状態にあると判別された場合には、ロック状態であると判別されていた時間ｔと、前回までに演算されたジャンクション〜ベース間温度差Ｔbjn-1とに基づいて、今回のジャンクション〜ベース間温度差Ｔbjn（＝ｆn（Ｗ））が順次演算される。ＰＭモータが回転状態にあると判別された場合には、回転状態であると判別されていた時間ｔと、前回までに演算されたジャンクション〜ベース間温度差Ｔbjn-1とに基づいて、今回のジャンクション〜ベース間温度差Ｔbjn（＝ｇn（Ｗ））が順次演算される。【選択図】  図３
2006296112.tif 000002
【特許請求の範囲】
【請求項１】
建設機械を駆動するモータと、
入力されたスイッチング信号に応じて作動され、前記モータに対して駆動信号を出力するスイッチング素子と、
前記モータの回転数を検出する回転数検出手段と、
回転数検出手段で計測された回転数をフィードバック量として、前記スイッチング素子にスイッチング信号を出力する第１の制御手段と、
前記モータがロック状態にあるか、あるいは回転状態にあるかを判別する判別手段と、
前記モータがロック状態にあると判別された場合には、前回までに演算されたスイッチング素子の温度とに基づいて、ロック状態用の演算式を用いて、今回のスイッチング素子の温度を順次演算するとともに、
前記モータが回転状態にあると判別された場合には、前回までに演算されたスイッチング素子の温度とに基づいて、回転状態用の演算式を用いて、今回のスイッチング素子の温度を順次演算する温度演算手段と、
前記温度演算手段で演算されたスイッチング素子の温度に応じて、前記スイッチング素子を熱的に保護する制御を行う第２の制御手段と
を具えたことを特徴とする建設機械のモータ制御装置。
【請求項２】
前記スイッチング素子は、インバータを構成するスイッチング素子であり、
前記インバータは、ベース板上にスイッチング素子が装着されて構成されており、
ベース板には、スイッチング素子を冷却するための冷却器が接合されており、
前記ベース板の温度を検出する温度検出手段が設けられ、
前記温度演算手段は、
前記モータがロック状態にあると判別された場合には、前回までに演算されたスイッチング素子の温度とベース板の温度との温度差とに基づいて、ロック状態用の演算式を用いて、今回のスイッチング素子の温度とベース板の温度との温度差を順次演算するとともに、
前記モータが回転状態にあると判別された場合には、前回までに演算されたスイッチング素子の温度とベース板の温度との温度差とに基づいて、回転状態用の演算式を用いて、今回のスイッチング素子の温度とベース板の温度との温度差を順次演算し、
さらに、この温度差に対して前記温度検出手段によって検出されたベース板の温度を加算することによって、スイッチング素子の温度を演算するものであること
を特徴とする請求項１記載の建設機械のモータ制御装置。
【請求項３】
前記モータは、建設機械の旋回体を駆動するモータであること
を特徴とする請求項１記載のモータ制御装置。
【請求項４】
前記第２の制御手段は、
前記温度演算手段で演算されたスイッチング素子の温度が所定のしきい値以上になった場合に、前記スイッチング素子を熱的に保護するためのスイッチング信号が、第１の制御手段から前記スイッチング素子に出力されるように、第１の制御手段に指令を与えること
を特徴とする請求項１記載の建設機械のモータ制御装置。
【請求項５】
建設機械を駆動するモータであって、スイッチング素子から駆動信号が与えられることで駆動されるモータ、を制御するプログラムにおいて、
前記モータがロック状態にあるか、あるいは回転状態にあるかを判別し、
前記モータがロック状態にあると判別された場合には、前回までに演算されたスイッチング素子の温度とに基づいて、ロック状態用の演算式を用いて、今回のスイッチング素子の温度を順次演算するとともに、
前記モータが回転状態にあると判別された場合には、前回までに演算されたスイッチング素子の温度とに基づいて、回転状態用の演算式を用いて、今回のスイッチング素子の温度を順次演算し、
演算されたスイッチング素子の温度に応じて、前記スイッチング素子を熱的に保護する制御を行うようにした、建設機械のモータ制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、建設機械の上部旋回体等を駆動するモータを制御する装置および同モータを制御するためのプログラムに関する。
【背景技術】
【０００２】
近年、一般自動車などにおいて、駆動源としてエンジンと電気モータを併用するハイブリッドシステムが実用化されており、油圧ショベル等の建設機械の分野においても、ハイブリッドシステムを取り入れる試みがされている。
【０００３】
たとえば特許文献１（特開２００１−９９１０３号公報）には、油圧ポンプの駆動源にエンジンと電気モータを併用するハイブリッド油圧システムが開示されている。
【０００４】
建設機械のハイブリッドシステムでは、電気モータとして、たとえばＰＭ（永久磁石モータ）型が使用される（以下、ＰＭモータという）。ＰＭモータは、インバータによって周波数と電流（電圧）が制御され、ＰＭモータの回転数（速度）とトルクが制御される。
【０００５】
図１（ａ）、（ｂ）は、インバータ１０、ＰＭモータ３０の構成をそれぞれ示している。
【０００６】
インバータ１０は、図１（ａ）に示すように、三相（Ｕ相、Ｖ相、Ｗ相）のブリッジ回路で構成されている。すなわち、インバータ１０には、６個のスイッチング素子１１、１２、１３、１４、１５、１６が設けられている。スイッチング素子は、たとえばＩＧＢＴが使用される。各スイッチング素子１１、１２、１３、１４、１５、１６にはそれぞれ、環流用のダイオード１７、１８、１９、２０、２１、２２が並列に接続されている。
【０００７】
図中上側のＵ相、Ｖ相、Ｗ相用のスイッチング素子１１、１２、１３にはそれぞれ、スイッチング信号（オンオフの電圧）Ｖu、Ｖv、Ｖwが加えられる。図中下側のＵ相、Ｖ相、Ｗ相用のスイッチング素子１４、１５、１６にはそれぞれ、スイッチング信号（電圧）Ｖu、Ｖv、Ｖwに応じたスイッチング信号（オンオフの電圧）が加えられる。
【０００８】
Ｕ相のスイッチング素子１１、１４の接続部位には、Ｕ相の相電流Ｉuが出力される電気信号線２３が接続されている。Ｖ相のスイッチング素子１２、１５の接続部位には、Ｖ相の相電流Ｉvが出力される電気信号線２４が接続されている。W相のスイッチング素子１３、１６の接続部位には、Ｗ相の相電流Ｉwが出力される電気信号線２５が接続されている。
【０００９】
インバータ１０の入力端子には、所定の直流電源から直流電圧が印加される。インバータ１０の入力端子には、直流電圧を平滑化するための平滑コンデンサ４０が接続されている。
【００１０】
各スイッチング素子１１、１２、１３（１４、１５、１６）には、所定のコントローラから、ゲート信号として、スイッチング信号（電圧）Ｖu、Ｖv、Ｖwが加えられる。スイッチング素子の制御は、たとえばＰＷＭ制御によって行われる。各スイッチング素子１１、１２、１３（１４、１５、１６）に加えるスイッチング信号のオンオフの時間、スイッチング周波数を制御することによって、各電気信号線２３、２４、２５には、位相が１２０゜づつずれた所定周波数、所定振幅の正弦波状の相電流Ｉu、Ｉv、Ｉwが流れる。
【００１１】
インバータ１０の出力端子には、ＰＭモータ３０が接続されており、各電気信号線２３、２４、２５、出力端子を介して、相電流Ｉu、Ｉv、Ｉwが、三相交流電力としてＰＭモータ３０に供給される。
【００１２】
図１（ｂ）は、ＰＭモータ３０の概念図であり、ＰＭモータ３０のステータは、コイル３１、３２、３３によって構成され、ロータ３４の内部には永久磁石が埋め込まれている。すなわち、図１（ｂ）のＰＭモータ３０は、ＩＰＭ型（埋込磁石型モータ）である。各コイル３１、３２、３３にはそれぞれ、電気信号線２３、２４、２５を介して相電流Ｉu、Ｉv、Ｉwが通電される。コイル３１、３２、３３にそれぞれ相電流Ｉu、Ｉv、Ｉwが通電されると、ステータに回転磁界３５、３６が形成され、ロータ３４は、その回転磁界３５、３６に応じて回転する。
【００１３】
ＰＭモータ３０には、レゾルバ、エンコーダ等を用いて構成される回転数検出器が設けられている。コントローラでは、検出された回転数をフィードバック量として、インバータ１０の各スイッチング素子１１〜１６に対して、スイッチング信号を出力して、ＰＭモータ３０を制御する。コントローラは、ＰＭモータ３０の目標回転数と現在の回転数との偏差を零にするためのトルク値を演算し、更にこのトルク値を得るために必要なスイッチング信号（電圧）Ｖu、Ｖv、Ｖwを演算して、インバータ１０に出力する。
【００１４】
インバータ１０は、モジュール化された筐体として構成され、筐体を支持するベースを介して、ヒートシンク等の冷却器に接合されている。冷却器によって、インバータ１０における熱発生源であるスイッチング素子１１〜１６（ＩＧＢＴ）が冷却される。
【００１５】
建設機械の場合、ＰＭモータ３０は、上部旋回体の駆動用のモータとして取り付けられることが多い。
【００１６】
これは、ＰＭモータ３０を発電機として用い、インバータ１０を介して、直流電力のエネルギーを有効に回生できるからである。
【００１７】
すなわち、油圧ショベルなどの建設機械にあっては、地山等を掘削してバケットに積込み、上部旋回体を旋回させてバケットをダンプトラックの荷台まで移動させて、バケット内の積荷をダンプトラックの荷台に積み込む、という積込み作業が繰り返し行われる。かかる積込み作業の過程で、バケットをダンプトラックの荷台に位置決めするときに、上部旋回体に急激にブレーキがかかり、上部旋回体を旋回させるスイングマシナリに、大きなトルクが発生する。スイングマシナリで発生したトルクは、ＰＭモータ３０の駆動軸に伝達、吸収されて発電が行われる。ブレーキ時には、スイッチング素子１１〜１６に対して逆トルクを取り出すためのスイッチング信号が加えられる。これによりＰＭモータ３０で発生した交流電力がインバータ１０で直流電力に変換される。直流電力は、インバータ１０の入力端子から逆向きに、直流電源線を介して、キャパシタ、蓄電池等の直流電源に供給されて、電力として蓄積される（充電される）。
【００１８】
このように積込み作業が繰り返し行われ、上部旋回体が繰り返し停止する毎に、エネルギー回生が行われるため、建設機械の燃費を大幅に低減させることができる。
【００１９】
（従来技術１）
エレベータの駆動を上述したインバータ１０とＰＭモータ３０を用いて行うという発明が、後掲する特許文献２に記載されている。
【００２０】
この特許文献２には、ＰＭモータ３０の回転数をフィードバックする信号線に断線が生じたり、機械的な要因などによって、ＰＭモータ３０がロック（回転停止）するという異常事態が生じることがあると記載されている。特許文献２には、ＰＭモータ３０のロック状態が継続すると、インバータ１０を構成するスイッチング素子１１〜１６の接合部の温度が急激に上昇し、熱破壊を起こすおそれがあるということに鑑みて、ロック状態になったときのインバータ１０およびＰＭモータ３０の制御信号、制御定数（相電流値等）に関するデータと、冷却器の冷却能力に関するデータとに基づいて、スイッチング素子の温度を演算して、熱破壊に至るまでの許容時間を求め、この許容時間が経過した時点で、スイッチング素子１１〜１６を熱破壊から保護する制御を行うという発明が記載されている。
【特許文献１】特開２００１−９９１０３号公報
【特許文献２】特開２００４−６４８６４号公報
【発明の開示】
【発明が解決しようとする課題】
【００２１】
建設機械、たとえば油圧ショベルでは、溝掘り作業や埋め戻し作業が行われる。溝掘り作業や埋め戻し作業では、作業機を旋回させて作業機を地山等に押し当るという動作が繰り返し行われる。このとき上部旋回体を駆動するＰＭモータ３０では、「回転→ロック→回転→ロック…」という具合に、回転状態とロック状態とが繰り返される。
【００２２】
ＰＭモータ３０がロック状態になると、ＰＭモータ３０の回転数がほぼ０となり、これをフィードバック量としてインバータ１０に指令を与えるコントローラは、インバータ１０に対して、大きなトルクを発生させるためのスイッチング信号を出力し続けることとなり、特定のスイッチング素子に大電流が流れ続けるために、その特定のスイッチング素子の発熱量が大きくなる。
【００２３】
このため上記従来技術１と同様に、スイッチング素子の熱破壊を保護するための制御を行う必要がある。
【００２４】
しかし、建設機械の場合には、上述したエレベータに適用される従来技術１をそのまま適用することはできない。その理由は以下の通りである。
【００２５】
ａ）従来技術１のＰＭモータ３０では、ロックしたということはそれだけで異常な事態であり、前回にロックしたということは何ら想定されてはいない。これに対して建設機械のＰＭモータ３０の場合には、作業時にロック状態が繰り返されることは当然のことであり、前回にロックしたということは当然に考慮されなくてはならない。従来技術１を建設機械のＰＭモータ３０に適用すると、ロック状態になる毎に、前回のロック状態の熱履歴は何ら考慮されるなくスイッチング素子の温度が演算されることになる。しかし、実際には、前回のロック状態（あるいは前々回のロック状態）のときにスイッチング素子の温度は既に上昇しているのであり、その熱履歴を考慮せずに行った演算温度は、実際の温度とはかけ離れたものとなり、適切な時期にスイッチング素子を熱的に保護する制御を行うことができない。
【００２６】
ｂ）建設機械は、多数の機種があり、上部旋回体を旋回させるために必要なＰＭモータ３０の定格出力も様々である。このため、ＰＭモータ３０の種類に応じて、インバータ１０のスイッチング素子に流れる電流の大きさも様々であり、それに応じて冷却器も異なる冷却性能のものを多種類にわたり用意しなければならない。従来技術１では、冷却器の冷却能力に関するデータに基づいて、スイッチング素子の温度を演算しているため、冷却器が多種類にわたると、演算処理のための演算プログラムを冷却器の種類毎に用意して、コントローラにインストールしなければならない。そこで冷却器の冷却能力の如何によらずに、共通の演算プログラムでスイッチング素子の温度を演算できるようにすることが、コントローラの汎用性を高め、部品の共通化、コスト削減を図るためにも、要請されている。
【００２７】
本発明はこうした実状に鑑みてなされたものであり、建設機械のモータのように、モータがロック状態と回転状態を繰り返す運転を行う場合であっても、正確にスイッチング素子の温度を演算できるようにして、スイッチング素子の熱破壊からの保護を正確な時期に行えるようにすることを第１の解決課題とするものである。また、本発明は、上記第１の解決課題の達成に加えて、建設機械のインバータ用の冷却器のように、冷却器（の冷却能力）が多種類におよぶ場合であっても、冷却器の冷却能力如何によらずに共通の演算プログラムでスイッチング素子の温度を演算できるようにして、コントローラの汎用性を高め、部品の共通化、コスト削減を図ることを第２の解決課題とするものである。
【課題を解決するための手段】
【００２８】
第１発明は、
建設機械を駆動するモータと、
入力されたスイッチング信号に応じて作動され、前記モータに対して駆動信号を出力するスイッチング素子と、
前記モータの回転数を検出する回転数検出手段と、
回転数検出手段で計測された回転数をフィードバック量として、前記スイッチング素子にスイッチング信号を出力する第１の制御手段と、
前記モータがロック状態にあるか、あるいは回転状態にあるかを判別する判別手段と、
前記モータがロック状態にあると判別された場合には、前回までに演算されたスイッチング素子の温度とに基づいて、ロック状態用の演算式を用いて、今回のスイッチング素子の温度を順次演算するとともに、
前記モータが回転状態にあると判別された場合には、前回までに演算されたスイッチング素子の温度とに基づいて、回転状態用の演算式を用いて、今回のスイッチング素子の温度を順次演算する温度演算手段と、
前記温度演算手段で演算されたスイッチング素子の温度に応じて、前記スイッチング素子を熱的に保護する制御を行う第２の制御手段と
を具えた建設機械のモータ制御装置であることを特徴とする。
【００２９】
第２発明は、第１発明において、
前記スイッチング素子は、インバータを構成するスイッチング素子であり、
前記インバータは、ベース板上にスイッチング素子が装着されて構成されており、
ベース板には、スイッチング素子を冷却するための冷却器が接合されており、
前記ベース板の温度を検出する温度検出手段が設けられ、
前記温度演算手段は、
前記モータがロック状態にあると判別された場合には、前回までに演算されたスイッチング素子の温度とベース板の温度との温度差とに基づいて、今回のスイッチング素子の温度とベース板の温度との温度差を順次演算するとともに、
前記モータが回転ク状態にあると判別された場合には、前回までに演算されたスイッチング素子の温度とベース板の温度との温度差とに基づいて、今回のスイッチング素子の温度とベース板の温度との温度差を順次演算し、
さらに、この温度差に対して前記温度検出手段によって検出されたベース板の温度を加算することによって、スイッチング素子の温度を演算するものであること
を特徴とする。
【００３０】
第３発明は、第１発明において、
前記モータは、建設機械の旋回体を駆動するモータであること
を特徴とする。
【００３１】
第４発明は、第１発明において、
前記第２の制御手段は、
前記温度演算手段で演算されたスイッチング素子の温度が所定のしきい値以上になった場合に、前記スイッチング素子を熱的に保護するためのスイッチング信号が、第１の制御手段から前記スイッチング素子に出力されるように、第１の制御手段に指令を与えること
を特徴とする。
【００３２】
第５発明は、
建設機械を駆動するモータであって、スイッチング素子から駆動信号が与えられることで駆動されるモータ、を制御するプログラムにおいて、
前記モータがロック状態にあるか、あるいは回転状態にあるかを判別し、
前記モータがロック状態にあると判別された場合には、前回までに演算されたスイッチング素子の温度とに基づいて、ロック状態用の演算式を用いて、今回のスイッチング素子の温度を順次演算するとともに、
前記モータが回転状態にあると判別された場合には、前回までに演算されたスイッチング素子の温度とに基づいて、回転状態用の演算式を用いて、今回のスイッチング素子の温度を順次演算し、
演算されたスイッチング素子の温度に応じて、前記スイッチング素子を熱的に保護する制御を行うようにしたことを特徴とする。
【００３３】
第１発明〜第５発明を図３に即して説明する。
【００３４】
ＰＭモータ３０がロック状態にあるか、あるいは回転状態にあるかが判別される（ステップ１０２）。
【００３５】
ＰＭモータ３０がロック状態にあると判別された場合には（ステップ１０２の判断Ｙｅｓ）、前回までに演算されたジャンクション〜ベース間温度差Ｔbjn-1とに基づいて、ロック状態用の演算式、つまり関数ｆn（Ｗ）を用いて、その関数値が計算されて、今回のジャンクション〜ベース間温度差Ｔbjn（＝ｆn（Ｗ））が順次演算される（ステップ１０３）。
【００３６】
一方、ＰＭモータ３０が回転状態にあると判別された場合には（ステップ１０２の判断Ｎｏ）、前回までに演算されたジャンクション〜ベース間温度差Ｔbjn-1とに基づいて、回転状態用の演算式、つまり関数ｇn（Ｗ）を用いて、その関数値が計算されて、今回のジャンクション〜ベース間温度差Ｔbjn（＝ｇn（Ｗ））が順次演算される（ステップ１０４）。
【００３７】
ジャンクション〜ベース間温度差Ｔbjnが演算されると、ジャンクション〜ベース間温度差Ｔbjnに対して、現在のベース温度Ｔbnを加算する処理が実行されて、現在のジャンクション温度Ｔjnが求められる（Ｔjn＝Ｔbn＋Ｔbjn；ステップ１０５）。
【００３８】
つぎに、ジャンクション温度Ｔjnが、上限値Ｔerrを超えているか否かが判断される（ステップ１０６）。
【００３９】
ジャンクション温度Ｔjnが、上限値Ｔerrを超えたと判断されると（ステップ１０６の判断Ｙｅｓ）、これ以上ジャンクション温度が上昇するとスイッチング素子が熱破壊を起こすおそれがあると判断して、、スイッチング素子１１〜１６を熱的に保護するための保護シーケンスが実行される（ステップ１０７）。
【００４０】
第１発明〜第５発明の共通の効果を図４を用いて説明する。
【００４１】
図４に示す「ロック（２）」では、過去の「ロック（１）」、「回転（１）」の熱履歴、つまり今まで演算されたジャンクション〜ベース間温度差Ｔbjn-1に基づいて、ジャンクション〜ベース間温度差Ｔbjnが計算される。
【００４２】
このためロック状態と回転状態が繰り返される場合に、極めて正確にジャンクャンクション〜ベース間温度差Ｔbjnを求めることができる。そして、この正確に得られたジャンクャンクション〜ベース間温度差Ｔbjnに基づきジャンクション温度Ｔjnが求められる（Ｔjn＝Ｔbn＋Ｔbjn）。このため、ジャンクション温度Ｔjnは、極めて精度のよいものとなる。この結果、適切な時期に、スイッチング素子１１〜１６を熱的に保護する制御を行うことができる。
【００４３】
第２発明は、図５に示す構成を前提としている。
【００４４】
すなわち、インバータ１０は、ベース板９１上には、図示しない絶縁基板を介してシリコンチップ１１Ｃ〜１６Ｃ（スイッチング素子１１〜１６）が装着されて構成されている（なお、実際には）。ベース板９１には、シリコンチップ１１Ｃ〜１６Ｃ（スイッチング素子１１〜１６）を冷却するための冷却器９２が接合されている。
【００４５】
第２発明では、ジャンクション〜ベース間温度差Ｔbjnに対して、ベース温度Ｔbnを加算することで、ジャンクション温度Ｔjnが求められ（Ｔjn＝Ｔbn＋Ｔbjn）、そのジャンクション〜ベース間温度差Ｔbjnは、ヒートシンク９２の冷却能力に依存しない演算式で算出される。
【００４６】
このため第２発明によれば、上述した第１発明〜第５発明の共通の効果に加えて以下の効果が得られる。
【００４７】
すなわち、ヒートシンク９２が異なる冷却性能のものに変更された場合でも、共通の演算プログラムでスイッチング素子の温度（ジャンクション温度Ｔjn）を演算できる。このためＩＧＢＴ保護用コントローラ７０を共通化でき、コントローラの汎用性が高められ、部品の共通化、コスト削減が図られる。
【発明を実施するための最良の形態】
【００４８】
以下、図面を参照して本発明に係る建設機械のモータ制御装置およびモータ制御プログラムの実施の形態について説明する。
【００４９】
図６は、建設機械のハイブリッドシステムの構成のうち、上部旋回体１を駆動制御する部分を抜き出して図示したものである。なお、実施形態では、建設機械として油圧ショベルを想定する。
【００５０】
油圧ショベルには、ＰＭモータ３０が、上部旋回体１の駆動用のモータとして取り付けられている。すなわち、上部旋回体１には、スイングサークル、スイングピニオン等をスイングマシナリ２が連結されている。スイングマシナリ２が駆動すると、上部旋回体１が旋回する。
【００５１】
スイングマシナリ２の駆動軸には、ＰＭモータ３０の駆動軸が連結されている。
【００５２】
インバータ１０の出力端子はＰＭモータ３０の入力端子に電気的に接続されている。インバータ１０の入力端子には、キャパシタや蓄電池などで構成された直流電源３が電気的に接続されている。なお、エンジンの出力軸には発電電動機が連結され、発電電動機によって発電された電力が直流電源３に蓄積される。
【００５３】
コントローラ６０は、インバータ１０に対してスイッチング信号を出力して、インバータ１０を介して、ＰＭモータ３０の回転数とトルクを制御して、上部旋回体１を所望の回転数で回転させる。
【００５４】
図２は、インバータ１０、ＰＭモータ３０、コントローラ６０の構成を示している。コントローラ６０は、ＩＧＢＴ保護用コントローラ７０と、インバータ制御用コントローラ８０とからなる。
【００５５】
インバータ１０は、三相（Ｕ相、Ｖ相、Ｗ相）のブリッジ回路で構成されている。すなわち、インバータ１０には、６個のスイッチング素子１１、１２、１３、１４、１５、１６が設けられている。スイッチング素子は、たとえばＩＧＢＴが使用される。各スイッチング素子１１、１２、１３、１４、１５、１６にはそれぞれ、環流用のダイオード１７、１８、１９、２０、２１、２２が並列に接続されている。
【００５６】
図中上側のＵ相、Ｖ相、Ｗ相用のスイッチング素子１１、１２、１３にはそれぞれ、スイッチング信号（オンオフの電圧）Ｖu、Ｖv、Ｖwが加えられる。図中下側のＵ相、Ｖ相、Ｗ相用のスイッチング素子１４、１５、１６にはそれぞれ、スイッチング信号（電圧）Ｖu、Ｖv、Ｖwに応じたスイッチング信号（オンオフの電圧）が加えられる。
【００５７】
Ｕ相のスイッチング素子１１、１４の接続部位には、Ｕ相の相電流Ｉuが出力される電気信号線２３が接続されている。Ｖ相のスイッチング素子１２、１５の接続部位には、Ｖ相の相電流Ｉvが出力される電気信号線２４が接続されている。W相のスイッチング素子１３、１６の接続部位には、Ｗ相の相電流Ｉwが出力される電気信号線２５が接続されている。
【００５８】
インバータ１０の入力端子には、直流電源３から直流電圧が印加される。インバータ１０の入力端子には、直流電圧を平滑化するための平滑コンデンサ４０が接続されている。
【００５９】
各スイッチング素子１１、１２、１３（１４、１５、１６）には、インバータ制御用コントローラ８０から、ゲート信号として、スイッチング信号（電圧）Ｖu、Ｖv、Ｖwが加えられる。スイッチング素子の制御は、たとえばＰＷＭ制御によって行われる。各スイッチング素子１１、１２、１３（１４、１５、１６）に加えるスイッチング信号のオンオフの時間、スイッチング周波数を制御することによって、各電気信号線２３、２４、２５には、位相が１２０゜づつずれた所定周波数、所定振幅の正弦波状の相電流Ｉu、Ｉv、Ｉwが流れる。
【００６０】
インバータ１０の出力端子には、ＰＭモータ３０が接続されており、各電気信号線２３、２４、２５、出力端子を介して、相電流Ｉu、Ｉv、Ｉwが、三相交流電力としてＰＭモータ３０に供給される。
【００６１】
ＰＭモータ３０には、ＰＭモータ３０の回転位置（回転角度）θを検出するレゾルバ等の回転位置（角度）検出器５０が設けられている。インバータ制御用コントローラ８０には、回転位置検出器５０の検出信号θが入力される。回転位置検出器５０の検出信号θに基づいて、回転数（回転速度）ωが算出される。
【００６２】
また、電気信号線２３、２５を流れる相電流Ｉu、Ｉwが検出されて、インバータ制御用コントローラ８０に入力される。
【００６３】
インバータ制御用コントローラ８０は、ＰＭモータ３０の実際の回転数ωをフィードバック量として、ＰＭモータ３０の回転数が目標回転数ωpとなるように、スイッチング信号Ｖu、Ｖv、Ｖwを生成し、インバータ１０の各スイッチング素子１１〜１６に対して、出力して、ＰＭモータ３０を制御する。
【００６４】
インバータ制御用コントローラ８０は、ＰＭモータ３０をベクトル制御する制御系で構成することができる。すなわち、インバータ制御用コントローラ８０は、ＰＭモータ３０の目標回転数ωpと現在の回転数ωとの偏差を零にするためのトルク値τを演算し、更にこのトルク値τを回転座標系のｄ軸電流値Ｉd、ｑ軸電流値Ｉqに変換する。そして、回転位置θ、回転数ω、相電流Ｉu、Ｉwに基づいて、ｄ軸電流値Ｉd、ｑ軸電流値Ｉqをそれぞれ、ｄ軸電圧値Ｖd、ｑ軸電圧値Ｖqに変換する。そして、回転位置θに基づいて、ｄ軸電圧値Ｖd、ｑ軸電圧値Ｖqを、静止座標系の各電圧値（スイッチング信号）Ｖu、Ｖv、Ｖwに変換する。こうして演算されたスイッチング信号（電圧）Ｖu、Ｖv、Ｖwを、インバータ１０に出力する。
【００６５】
エネルギー回生時には以下のように動作する。
【００６６】
すなわち、油圧ショベルが地山等を掘削してバケットに積込み、上部旋回体１を旋回させてバケットをダンプトラックの荷台まで移動させて、バケット内の積荷をダンプトラックの荷台に積み込む、という積込み作業を繰り返し行う場合を想定する。かかる積込み作業の過程で、バケットをダンプトラックの荷台に位置決めするときに、上部旋回体１に急激にブレーキがかかり、上部旋回体１を旋回させるスイングマシナリ２に、大きなトルクが発生する。スイングマシナリ２で発生したトルクは、ＰＭモータ３０の駆動軸に伝達、吸収されて発電が行われる。ブレーキ時には、スイッチング素子１１〜１６に対して逆トルクを取り出すためのスイッチング信号が加えられる。これによりＰＭモータ３０で発生した交流電力がインバータ１０で直流電力に変換される。直流電力は、インバータ１０の入力端子から逆向きに、直流電源線を介して、直流電源３に供給されて、電力として蓄積される（充電される）。
【００６７】
このように積込み作業が繰り返し行われ、上部旋回体１が繰り返し停止する毎に、エネルギー回生が行われるため、建設機械の燃費を大幅に低減させることができる。
【００６８】
図５は、インバータ１０を冷却する装置の構成を斜視図にて示している。
【００６９】
インバータ１０は、ベース板９１上に、図示しない絶縁基板を介して、各スイッチング素子１１、１２、１３、１４、１５、１６に対応するシリコンチップ１１Ｃ、１２Ｃ、１３Ｃ、１４Ｃ、１５Ｃ、１６Ｃが装着されたモジュールとして構成されている。
【００７０】
ベース板９１には、冷却器としてのヒートシンク９２が接合されている。ヒートシンク９２は、所定流量の冷却水を通過させることによって、シリコンチップ１１Ｃ、１２Ｃ、１３Ｃ、１４Ｃ、１５Ｃ、１６Ｃ、つまりスイッチング素子１１〜１６（ＩＧＢＴ）を冷却する。とりわけ熱発生源となるＰＮ接合部（ＩＧＢＴジャンクション）を冷却する。ＰＮ接合部（ＩＧＢＴジャンクション）は、シリコンチップ１１Ｃ〜１６Ｃのうち熱的に最も弱い部位である。
【００７１】
ベース板９１には、ベース板９１の温度（以下、ベース温度）Ｔbを検出する温度センサ２６が設けられている。
【００７２】
以下において、スイッチング素子１１、１２、１３、１４、１５、１６のＰＮ接合部（ＩＧＢＴジャンクション）の温度を、ジャンクション温度Ｔjと定義し、ジャンクション温度Ｔjと、ベース温度Ｔbとの温度差を、ジャンクション〜ベース間温度差Ｔbjと定義する。
【００７３】
つぎに、ＩＧＢＴ保護用コントローラ７０で行われる制御内容について説明する。
【００７４】
ＩＧＢＴ保護用コントローラ７０には、直流電源３の電圧値Ｖdc、相電流の検出電流値Ｉu、Ｉw、ＰＭモータ３０の検出回転位置θが入力される。
【００７５】
ＩＧＢＴ保護用コントローラ７０には、図３のフローチャートで示される制御プログラムがインストールされている。ＩＧＢＴ保護用コントローラ７０の各処理部７１〜７７では図３の制御プログラムにしたがい順次、処理が実行される。
【００７６】
以下では、油圧ショベルが溝掘り作業や埋め戻し作業を行う場合を想定する。溝掘り作業や埋め戻し作業では、作業機を旋回させて作業機を地山等に押し当るという動作が繰り返し行われる。このとき上部旋回体１を駆動するＰＭモータ３０では、「回転→ロック→回転→ロック…」という具合に、回転状態とロック状態とが繰り返される。
【００７７】
ＰＭモータ３０がロック状態になると、ＰＭモータ３０の回転数ωがほぼ０となり、これをフィードバック量としてインバータ１０に指令を与えるインバータ制御用コントローラ８０は、インバータ１０に対して、大きなトルクτを発生させるためのスイッチング信号を出力し続けることとなり、スイッチング素子に大きな電流が流れ続け、スイッチング素子の発熱量が大きくなる。
【００７８】
そこで、ＩＧＢＴ保護用コントローラ７０では、スイッチング素子の熱破壊を保護するための制御が行われる。
【００７９】
図３の処理は、所定のサンプリング時間ｔ毎に行われるものとする。したがって、ｎ回目のサンプリング時の時刻は、ｎｔとなる。以下では、変数を表す符合にサフィックス「ｎ」を付与して、時刻ｎｔにおける値であることを明確にする。
【００８０】
まず、ＩＧＢＴ損失計算部７４で、入力された直流電源３の電圧値Ｖdc、相電流の検出電流値Ｉu、Ｉwと、メモリ７８の記憶データとに基づいて、各スイッチング素子１１〜１６（ＩＧＢＴ）毎に、時刻（ｎ−１）ｔ〜ｎｔ間のＩＧＢＴ損失Ｗn（単位：ジュールＪ）が計算される。
【００８１】
ＩＧＢＴ損失Ｗnは、次式にて求められる。
【００８２】
ＩＧＢＴ損失Ｗn＝定常損失Ｗ1n＋スイッチ損失Ｗ2n
定常損失Ｗ1n＝ｍ・Ｖce（sat）・Ｉ・ｔ
スイッチ損失Ｗ2n＝Ｖdc・Ｉ・（τon＋τoff）・ｆ・ｔ・ａ
ただし、
ｍ：変調率
Ｉ：相電流Ｉu、Ｉv、Ｉw
Ｖce（sat）：スイッチング素子１１〜１６（ＩＧＢＴ）のオン（飽和）電圧
Ｖdc：電源電圧
τon：スイッチング素子１１〜１６（ＩＧＢＴ）の立上り時間
τoff：スイッチング素子１１〜１６（ＩＧＢＴ）の立下り時間
ｆ：スイッチング周波数
ａ：係数
変調率ｍ、飽和電圧Ｖce（sat）、立上り時間τon、立下り時間τoff、スイッチング周波数ｆ、係数ａについては、固有の定数としてメモリ７８に記憶されておかれる。相電流ＩのうちＶ相の電流値Ｉvについては、入力された検出電流値Ｉu、Ｉwに基づいて求められる（ステップ１０１）。
【００８３】
つぎに、モータロック判定部７２で、ＰＭモータ３０がロック状態にあるか、あるいは回転状態にあるかが判別される。たとえば、速度信号処理部７１で、入力された回転位置θに基づいて、回転数ωが算出される。そして、ロック状態であると判断するためのしきい値ω0（たとえば±５０ｒｐｍ）が設定され、ＰＭモータ３０の回転数ωがしきい値ω0以下であるか否かを判断することによって、ＰＭモータ３０がロック状態であるか否かを判定する（ステップ１０２）。
【００８４】
以下では、つぎのように変数を定義する。
【００８５】
Ｔbjn：時刻ｎｔにおけるジャンクション〜ベース間温度差
ｆn（Ｗ）：時刻ｎｔでロック状態であると判定されたときにジャンクション            〜ベース間温度差Ｔbjnを算出する関数
ｇn（Ｗ）：時刻ｎｔで回転状態であると判定されたときにジャンクション〜              ベース間温度差Ｔbjnを算出する関数
Ｔbn：時刻ｎｔにおけるベース温度
Ｔjn：時刻ｎｔにおけるジャンクション温度
Ｔerr：ジャンクション温度の上限値
つぎに、ジャンクション〜ベース間温度差Ｔbj算出部７３では、時刻ｎｔにおけるジャンクション〜ベース間温度差Ｔbjnがサンプリング時間ｔ毎に順次演算される。
【００８６】
すなわち、ＰＭモータ３０がロック状態にあると判別された場合には（ステップ１０２の判断Ｙｅｓ）、前回までに演算されたジャンクション〜ベース間温度差Ｔbjn-1に基づいて、ロック状態用の演算式、つまり関数ｆn（Ｗ）を用いて、その関数値が計算されて、今回のジャンクション〜ベース間温度差Ｔbjn（＝ｆn（Ｗ））が順次演算される（ステップ１０３）。一方、ＰＭモータ３０が回転状態にあると判別された場合には（ステップ１０２の判断Ｎｏ）、前回までに演算されたジャンクション〜ベース間温度差Ｔbjn-1に基づいて、回転状態用の演算式、つまり関数ｇn（Ｗ）を用いて、その関数値が計算されて、今回のジャンクション〜ベース間温度差Ｔbjn（＝ｇn（Ｗ））が順次演算される（ステップ１０４）。
【００８７】
関数ｆn（Ｗ）、ｇn（Ｗ）は、たとえば下記式で表される。
【００８８】
ｆn（Ｗ）＝ｋL1・Ｗn/（１＋τL1/ｔ）
＋（τL1/ｔ）/（１＋τL1/ｔ）・Ｔbjn-1  …（１）
ｇn（Ｗ）＝ｋR・Ｗn/（１＋τR/ｔ）
＋（τR/ｔ）/（１＋τR/ｔ）・Ｔbjn-1  …（２）
ただし、
ｋL1：ロック状態のときの一次遅れのゲイン
ｋR：回転状態のときの一次遅れのゲイン
τL1：ロック状態のときの一次遅れ時定数
τR：回転状態のときの一次遅れ時定数
Ｔbjn-1：前回のサンプリング時刻（ｎ−１）ｔにおけるジャンクション〜ベ          ース間温度差
上記（１）、（２）式に示されるように、ジャンクション〜ベース間温度差Ｔbjnは、ＩＧＢＴ損失Ｗnの１次遅れ（積分）として計算される。ただし、ＰＭモータ３０がロック状態のときには回転状態である場合に比べてベース板９１の面内温度分布がばらつくため、この温度分布のばらつきを考慮して、ロック状態のときの一次遅れのゲインｋL1は、回転状態のときの一次遅れのゲインｋRよりも大きい値に設定される。つまりロック時には、ベース板９１の面内の温度分布が偏りをもつため、ベース板面内の温度分布による温度上昇分を加味して、ジャンクション〜ベース間温度差Ｔbjnを求める。
【００８９】
さらに、ロック状態のときには、ベース板９１の面内の温度分布も一次遅れとして捕らえて、ジャンクション〜ベース間温度差Ｔbjn（＝ｆn（Ｗ））を算出する実施も可能である。この場合には、上記（１）式の代わりに、下記（３）式が用いられる。
【００９０】
ｆn（Ｗ）＝Ｔbbjn＋Ｔbbn  …（３）
ただし、
Ｔbbjn：時刻ｎｔにおけるＰＮ接合部（ＩＧＢＴジャンクション）の温度と、          ＰＮ接合部（ＩＧＢＴジャンクション）直下のベース板９１の部位の          温度との温度差（以下、ジャンクション〜ジャンクション真下部位間          温度差）
Ｔbbn：時刻ｎｔにおけるＰＮ接合部（ＩＧＢＴジャンクション）直下のベー        ス板９１の部位の温度と、ベース温度Ｔbとの温度差（以下、ジャンク        ション真下部位〜ベース間温度差）
上記Ｔbbjn、Ｔbbnはそれぞれ、下記式で表される。
【００９１】
Ｔbbjn＝ｋL2・Ｗn/（１＋τL2/ｔ）
＋（τL2/ｔ）/（１＋τL2/ｔ）・Ｔbbjn-1  …（４）
Ｔbbn＝ｋL3・Ｗn/（１＋τL3/ｔ）
＋（τL3/ｔ）/（１＋τL3/ｔ）・Ｔbbn-1  …（５）
ｋL2：ロック状態のときの一次遅れ（ＩＧＢＴ損失Ｗnの一次遅れ）のゲイン
ｋL3：ロック状態のときの一次遅れ（ベース板面内温度分布の一次遅れ）の        ゲイン
τL2：ロック状態のときの一次遅れ（ＩＧＢＴ損失Ｗnの一次遅れ）時定数
τL3：ロック状態のときの一次遅れ（ベース板面内温度分布の一次遅れ）時        定数
Ｔbbjn-1：前回のサンプリング時刻（ｎ−１）ｔにおけるジャンクション〜ジ            ャンクション真下部位間温度差
Ｔbbn-1：前回のサンプリング時刻（ｎ−１）ｔにおけるジャンクション真下          部位〜ベース間温度差
こうして現在のジャンクション〜ベース間温度差Ｔbjnが演算されると、加算部７５にて、下記式のごとく、ジャンクション〜ベース間温度差Ｔbjnに対して、現在のベース温度Ｔbnを加算する処理が実行されて、現在のジャンクション温度Ｔjnが求められる。
【００９２】
Ｔjn＝Ｔbn＋Ｔbjn    （ステップ１０５）
図４は、油圧ショベルが溝掘り作業や埋め戻し作業を行い、ＰＭモータ３０が「ロック（１）→回転（１）→ロック（２）→回転（２）→ロック（３）」という動作をしたときのジャンクション〜ベース間温度差Ｔbj（Ｔbjn）の計算結果を例示している。横軸が時間（秒）で、縦軸がジャンクション〜ベース間温度差Ｔbj（゜Ｃ）である。
【００９３】
図４に示す「ロック（１）」では、ロック状態用の関数ｆn（Ｗ）によって、ジャンクション〜ベース間温度差Ｔbjnが計算される。このため、ロック状態であると判定されている時間ｔの経過に伴い、ジャンクャンクション〜ベース間温度差Ｔbjnが増大する。
【００９４】
「回転（１）」では、過去の「ロック（１）」の熱履歴、つまり今まで演算されたジャンクション〜ベース間温度差Ｔbjn-1に基づいて、ジャンクション〜ベース間温度差Ｔbjnが計算される。「回転（１）」では、回転状態用の関数ｇn（Ｗ）によって、ジャンクション〜ベース間温度差Ｔbjnが計算される。このため、回転状態であると判定されている時間ｔの経過に伴い、ジャンクャンクション〜ベース間温度差Ｔbjnが減少する。
【００９５】
「ロック（２）」では、過去の「ロック（１）」、「回転（１）」の熱履歴、つまり今まで演算されたジャンクション〜ベース間温度差Ｔbjn-1に基づいて、ジャンクション〜ベース間温度差Ｔbjnが計算される。「ロック（２）」では、ロック状態用の関数ｆn（Ｗ）によって、ジャンクション〜ベース間温度差Ｔbjnが計算される。このため、ロック状態であると判定されている時間ｔの経過に伴い、ジャンクャンクション〜ベース間温度差Ｔbjnが増大する。以下、「回転（２）」、「ロック（３）」についても同様である。このためロック状態と回転状態が繰り返される場合に、極めて正確にジャンクャンクション〜ベース間温度差Ｔbjnを求めることができる。したがって、その正確に得られたジャンクャンクション〜ベース間温度差Ｔbjnに基づきジャンクション温度Ｔjnが求められるため、ジャンクション温度Ｔjnは、極めて精度のよいものとなる。
【００９６】
つぎに、判断部７６にて、演算された現在のサンプリング時刻におけるジャンクション温度Ｔjnが、上限値Ｔerrを超えているか否かが判断される（ステップ１０６）。
【００９７】
現在のサンプリング時刻におけるジャンクション温度Ｔjnが、上限値Ｔerrを超えていないと判断されると（ステップ１０６の判断Ｎｏ）、再度ステップ１０１に戻り同様の処理が繰り返されるが、現在のサンプリング時刻におけるジャンクション温度Ｔjnが、上限値Ｔerrを超えたと判断されると（ステップ１０６の判断Ｙｅｓ）、これ以上ジャンクション温度が上昇するとスイッチング素子が熱破壊を起こすおそれがあると判断して、ステップ１０７に移行し、保護シーケンス部７７で、スイッチング素子を熱的に保護するための保護シーケンスを実行する。なお、ジャンクション温度Ｔjnは、各スイッチング素子１１〜１６毎に求められるため、少なくとも１つのスイッチング素子について、ジャンクション温度Ｔjnが上限値Ｔerrを超えたと判断されると、保護シーケンスが実行される。
【００９８】
保護シーケンスは、たとえば下記に列挙される内容のものを採用することができる。
【００９９】
１）ＰＭモータ３０を停止させる。
【０１００】
すなわち、インバータ制御用コントローラ８０は、ＰＭモータ３０の目標回転数ωpと現在の回転数ωとの偏差を零にするためのトルク値τを演算しているが、ジャンクション温度Ｔjnが上限値Ｔerrを超えると、ＩＧＢＴ保護用コントローラ７０は、インバータ制御用コントローラ８０に対して、現在、演算されているトルク値にかかわらずにトルク値τを強制的に０にする旨の指令を送り、ＰＭモータ３０に流れる電流値を零にして、回転を停止させる。
【０１０１】
２）ＰＭモータ３０のトルク（電流）を徐々に下げる。
【０１０２】
上部旋回体１が旋回している途中で、トルクを直ぐに０にすると、オペレータや油圧ショベルの周囲の作業者にショックを与えたり危険がおよぶおそれがある。そこで、ジャンクション温度Ｔjnが上限値Ｔerrを超えると、ＩＧＢＴ保護用コントローラ７０は、インバータ制御用コントローラ８０に対して、現在、演算されているトルク値から徐々にトルク値τを小さくする旨の指令を送り、ＰＭモータ３０に流れる電流値を徐々に小さくする。
【０１０３】
また、ジャンクション温度Ｔjnの大きさと、ＰＭモータ３０で出力可能な最大トルク値とを対応づけたテーブルを用意しておき、ジャンクション温度Ｔjnが上限値Ｔerrを超えると、ＩＧＢＴ保護用コントローラ７０は、インバータ制御用コントローラ８０に対して、現在のジャンクション温度Ｔjnに対応する最大トルク値を上限として、トルク値τを演算する旨の指令を送り、ＰＭモータ３０に流れる電流値に制限を加える。
【０１０４】
３）スイッチング周波数ｆを下げてＩＧＢＴ損失Ｗnを低減させる。
【０１０５】
ジャンクション温度Ｔjnが上限値Ｔerrを超えると、ＩＧＢＴ保護用コントローラ７０は、インバータ制御用コントローラ８０に対して、スイッチング周波数ｆを下げてスイッチング信号を生成する旨の指令を送り、スイッチング素子１１〜１６（ＩＧＢＴ）のＩＧＢＴ損失Ｗnを低減させて、スイッチング素子１１〜１６（ＩＧＢＴ）の発熱を抑制する。この場合、ＰＭモータ３０のトルクは維持できるが、スイッチング周波数ｆの低下に伴い、スイッチング音は大きくなる。
【０１０６】
４）電流ベクトルを意図的にずらし、特定のスイッチング素子（ＩＧＢＴ）への熱負荷を緩和させる。ただし、ＰＭモータ３０のトルクは維持できる電流ベクトルにする。
【０１０７】
ジャンクション温度Ｔjnが上限値Ｔerrを超えると、ＩＧＢＴ保護用コントローラ７０は、インバータ制御用コントローラ８０に対して、ＰＭモータ３０の出力トルクを維持しつつ、特定の相、特定のスイッチング素子に流れる電流値を最小にするように電流ベクトルを設定する旨の指令を送る。
【０１０８】
たとえば正弦波駆動（ＳＭ）の埋込磁石型モータ（ＩＰＭ）では、次式によってトルクτを算出することができる。
【０１０９】
τ＝ｐ（Ψ・ｉq＋（Ｌd−Ｌq）・ｉd・ｉq）
ただし、
τ：トルク
ｐ：極対数
Ψ：トルク定数
ｉq：ｑ軸電流
ｉd：ｄ軸電流
Ｌd：ｄ軸インダクタンス
Ｌq：ｑ軸インダクタンス
ｄ軸電流ｉd、ｑ軸電流ｉqの比率と大きさを決めるのが電流ベクトルであるので、同じトルクτを出力するにもｄ軸電流ｉd、ｑ軸電流ｉqの組み合わせが何通りもある。通常は、ＰＭモータ３０、インバータ１０の効率を最大とするため出来る限り電流値を最小にしている。しかし、ロック時には、それが最適とは限らない。例えば、Ｕ相の電流値ｉuが１００Ａで、Ｖ相、Ｗ相の電流値ｉv、ｉwが−５０Ａとなっている状態で、ＰＭモータ３０がロックしてジャンクション温度Ｔjnが上限値Ｔerrを超えると、電流ベクトルを３０゜づつずらすことによって、Ｕ相の電流値ｉuを（８６．６・ｋ）Ａ、Ｖ相の電流値ｉvを０Ａ、Ｗ相の電流値ｉwを（−８６．６・ｋ）Ａにすることで、トルク値τを維持しつつ、特定のスイッチング素子への熱負荷を低減できる。ただし、ｋは定数である（ステップ１０７）。
【０１１０】
ところで、油圧ショベルなどの建設機械は、多数の機種があり、上部旋回体１を旋回させるために必要なＰＭモータ３０の定格出力も様々である。このため、ＰＭモータ３０の種類に応じて、インバータ１０のスイッチング素子に流れる電流の大きさも様々であり、それに応じてヒートシンク９２も異なる冷却性能のものを、多種類にわたり用意しなければならない。たとえばヒートシンク９２に流す冷却水の流量が、機種によって変更される。
【０１１１】
この点、上述した本実施例では、ジャンクション〜ベース間温度差Ｔbjnに対して、ベース温度Ｔbnを加算することで、ジャンクション温度Ｔjnが求められ（Ｔjn＝Ｔbn＋Ｔbjn）、そのジャンクション〜ベース間温度差Ｔbjnは、ヒートシンク９２の冷却能力に依存しない演算式で算出される。このためヒートシンク９２が異なる冷却性能のものに変更された場合でも、共通の演算プログラムでスイッチング素子の温度（ジャンクション温度Ｔjn）を演算できる。このためＩＧＢＴ保護用コントローラ７０を共通化でき、コントローラの汎用性が高められ、部品の共通化、コスト削減が図られる。
【０１１２】
なお、上述した実施形態では、油圧ショベルを想定して説明したが、油圧ショベル以外のホイールローダ、ブルドーザ等の他の建設機械に対しても同様に本発明を適用できる。また、ＰＭモータ３０が上部旋回体１を駆動する構成（図６）を想定して説明したが、ＰＭモータ３０が上部旋回体１を駆動する構成に代えて、作業機（ブーム、アーム、バケット）を駆動する構成の場合にも、本発明を適用することができる。あるいはＰＭモータ３０が上部旋回体１を駆動するとともに、ＰＭモータ３０が作業機（ブーム、アーム、バケット）を駆動する構成の場合にも、本発明を適用することができる。
【０１１３】
実施例では、建設機械のハイブリッドシステムを想定して説明したが、駆動源が電気モータのみのシステム（エンジンと併用しないシステム）にも、当然本発明を適用することができる。
【図面の簡単な説明】
【０１１４】
【図１】図１（ａ）、（ｂ）はそれぞれインバータの構成、ＰＭモータの構成を説明する図である。
【図２】図２は実施例のモータ制御装置の構成図である。
【図３】図３は図２に示すＩＧＢＴ保護用コントローラで行われる処理手順を示すフローチャートである。
【図４】図４はジャンクション〜ベース間温度差の計算結果を例示した図である。
【図５】図５は実施例のインバータと、インバータを冷却する冷却器の構成を示す斜視図である。
【図６】図６は、建設機械のハイブリッドシステムのうち、上部旋回体を駆動制御する構成部分を取りだして示したブロック図である。
【符号の説明】
【０１１５】
１０  インバータ  １１〜１６  スイッチング素子（ＩＧＢＴ）、３０  ＰＭモータ、７０  ＩＧＢＴ保護用コントローラ、８０  インバータ制御用コントローラ
【図１】
2006296112.tif 000003
【図２】
2006296112.tif 000004
【図３】
2006296112.tif 000005
【図４】
2006296112.tif 000006
【図５】
2006296112.tif 000007
【図６】
2006296112.tif 000008