以下に、本発明にかかる過熱保護制御装置の実施の形態を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
実施の形態.
実施の形態にかかるインバータの過熱保護制御装置100について図1及び図2を用いて説明する。図1は、実施の形態にかかるインバータの過熱保護制御装置のブロック図である。図2は、実施の形態におけるインバータの等価回路図である。
実施の形態では、後述のように演算処理量を低減できるので、過熱保護制御装置100が例えば所定の回路等へのハードウェア実装の場合、ハードウェア量(回路規模等)を削減でき、過熱保護制御装置100が例えばマイクロコンピュータへのソフトウェア実装の場合、マイクロコンピュータの演算負荷を抑制でき、演算に使用するメモリ容量を削減できる。
過熱保護制御の対象となるインバータINVは、複数の発熱部品が同一のヒートシンクに接続されている。各発熱部品は、それぞれ、電力損失により発熱する部品であり、例えば、パワーモジュールである。例えば、図1に示すように、インバータINVでは、4個のパワーモジュールPM1〜PM4が1個のヒートシンクHSに接続されている。各パワーモジュールPM1〜PM4は、図2に示すように、例えば2つの半導体素子、すなわちスイッチング素子SW及び還流ダイオードDを有する。スイッチング素子SW及び還流ダイオードDは、それぞれ、PNジャンクションを有する。スイッチング素子SWは、例えば、IGBT(絶縁ゲートバイポーラトランジスタ)又はFET(電界効果トランジスタ)である。各パワーモジュールPM1〜PM4では、制御部13による制御のもと、スイッチング素子SWのスイッチング動作により、直流電源DCからの直流電力Vdcを負荷LDに応じて(例えば2相の)交流電力に変換する。これらの4個のパワーモジュールPM1〜PM4は、何れも少なからず発熱する発熱部品である。また、各パワーモジュールPM1〜PM4では、内蔵する半導体素子のジャンクション温度(例えば、スイッチング素子SWのジャンクション温度)に、最大動作温度が設定されている。
次に、過熱保護制御装置100の構成及び動作(過熱保護制御方法)について説明する。
過熱保護制御装置100は、温度推定部2及び保護制御部4を備える。
温度推定部2には、各パワーモジュールPM1〜PM4の電力損失情報1が入力される。例えば、各パワーモジュールPM1〜PM4の電力損失情報1は、電力損失テーブル14aとして予め記憶部14に記憶されている。なお、記憶部14は、過熱保護制御装置100の内部に備えられていてもよいし、過熱保護制御装置100の外部に設けられていてもよい。
電力損失テーブル14aは、例えば図3に示すように、発熱部品識別子欄14a1及び電力損失欄14a2を有し、発熱部品の識別子と電力損失の値とが複数の発熱部品について対応付けられた情報である。各発熱部品の電力損失の値は、予め実験的に取得されたものである。電力損失テーブル14aを参照すると、例えば、パワーモジュールPM1の電力損失がP1であり、パワーモジュールPM2の電力損失がP2であり、パワーモジュールPM3の電力損失がP3であり、パワーモジュールPM4の電力損失がP4であることを把握できる。すなわち、温度推定部2は、記憶部14を参照し、各発熱部品(例えば、各パワーモジュールPM1〜PM4)の電力損失情報1を、発熱部品の識別子に対応付けられた形で取得する。
また、温度推定部2は、発熱部品のジャンクション温度の変化を推定する熱回路モデルを複数の発熱部品(例えば、複数のパワーモジュールPM1〜PM4)のそれぞれについて持っている。例えば、温度推定部2は、不揮発性記憶素子15を有し、複数の発熱部品のそれぞれの熱回路モデルの状態変数15aを不揮発性記憶素子15に記録している。温度推定部2は、必要に応じて、不揮発性記憶素子15から複数の発熱部品のそれぞれの熱回路モデルの状態変数15aを読み出し、複数の発熱部品の熱回路モデルを生成する。温度推定部2は、複数の発熱部品についての熱回路モデルを用いて、発熱部品の温度を複数の発熱部品のそれぞれについて推定する。
例えば、温度推定部2は、複数の発熱部品の識別子(例えば、PM1〜PM4)に応じて、複数の発熱部品(複数のパワーモジュールPM1〜PM4)から推定対象の発熱部品を選択する。温度推定部2は、複数の発熱部品から選択された推定対象の発熱部品の電力損失情報1と、複数の発熱部品から推定対象の発熱部品を除く残りの発熱部品の電力損失情報1とに基づいて、推定対象の発熱部品に集まる電力損失情報1’を求める。そして、温度推定部2は、推定対象の発熱部品についての熱回路モデルに、その求められた電力損失情報1’を入力して、推定対象の発熱部品のジャンクション温度を推定する。なお、このような温度推定部2の動作は、推定対象の発熱部品が複数の発熱部品のそれぞれである場合について、同時並行的に行われてもよいし、順次に行われてもよい。例えば、推定対象の発熱部品がパワーモジュールPM1である場合の温度推定部2の動作と、推定対象の発熱部品がパワーモジュールPM2である場合の温度推定部2の動作と、推定対象の発熱部品がパワーモジュールPM3である場合の温度推定部2の動作と、推定対象の発熱部品がパワーモジュールPM4である場合の温度推定部2の動作とは、同時並行的に行われてもよいし、順次に行われてもよい。
温度推定部2は、複数の発熱部品の推定温度3を保護制御部4へ出力する。推定温度3は、例えば、パワーモジュール内部の半導体素子のジャンクションション温度(例えば、スイッチング素子SWのジャンクション温度)に相当するものである。
保護制御部4には、推定温度3が入力される。保護制御部4は、例えば、推定温度3に応じて、過熱保護制御処理を行う。
具体的には、保護制御部4は、アラーム発生部5、電力補償計算部7、及び電力損失抑制部9を有する。
アラーム発生部5には、温度推定部2から推定温度3が入力される。アラーム発生部5は、推定温度3と閾値TjALMとを比較し、推定温度3が閾値TjALMを超過している場合、アラーム6を報知部12へ出力する。これに応じて、報知部12は、インバータINVの操作者に向けて、推定温度3が閾値TjALMを超過していることを報知する。報知部12は、例えば、推定温度3が閾値TjALMを超過している旨をメッセージ又は所定の図形の形態で表示画面に表示することにより報知してもよいし、推定温度3が閾値TjALMを超過している旨を所定のランプの点灯等により報知してもよいし、推定温度3が閾値TjALMを超過している旨を音声メッセージ又はブザーの形態で出力することにより報知してもよい。これにより、報知を受けたインバータINVの操作者は、アラーム6が発生した場合に、アラーム6が発生したことを直ちに認識でき、インバータINVを直ちに停止することができる。なお、報知部12は、過熱保護制御装置100内に備えられていてもよいし、過熱保護制御装置100の外部に設けられていてもよい。
あるいは、アラーム発生部5は、アラーム6を報知部12とともに又は報知部12に代えて制御部13へ出力してよい。例えば、制御部13は、各パワーモジュールPM1〜PM4のスイッチング素子SWをスイッチング動作させるための制御信号を各パワーモジュールPM1〜PM4に供給している場合、アラーム6を受けたことに応じて、制御信号の各パワーモジュールPM1〜PM4への供給を停止することで、インバータINVを停止させる。これにより、制御部13は、アラーム6が発生した場合に、インバータINVを直ちに停止させることができる。
電力補償計算部7には、温度推定部2から推定温度3が入力される。電力補償計算部7は、推定温度3が許容上限値TjMAXを超えないように電力補償指令8を求めて電力損失抑制部9へ出力する。
電力損失抑制部9には、電力補償指令8が入力される。電力損失抑制部9は、電力補償指令8に応じて、具体的な電力損失抑制の指令、発熱部品(例えばパワーモジュール)のスイッチング損失を抑制するようなキャリア周波数補償指令10を求めて制御部13へ出力する。また、電力損失は、発熱部品(例えば、パワーモジュール)の電流に応じて変化するので、電力損失抑制部9は、発熱部品(例えば、パワーモジュール)の電流を削減するような電流補償指令11を求めて制御部13へ出力する。
これに応じて、制御部13は、キャリア周波数補償指令10及び電流補償指令11に従って、PWM処理や電流制御など既知の方法でインバータINVを制御する。例えば、制御部13は、PWM制御信号を生成するためのキャリアの周波数をキャリア周波数補償指令10に従ったものになるように調整し、PWM制御信号を生成するためのコンパレータの閾値を電流補償指令11に従ったものになるように調整する。例えば、制御部13は、そのように調整されたPWM制御信号に従った制御信号を各発熱部品(例えば各パワーモジュール)の制御端子(例えばゲート又はベース)に供給する。これにより、制御部13は、各発熱部品(例えば各パワーモジュール)のスイッチング損失が抑制されるとともに、各発熱部品(例えば、パワーモジュール)の電流を削減するように、各パワーモジュールPM1〜PM4のスイッチング素子SWのスイッチングのオン時間及びタイミングを調整する。この結果、インバータINVにおける電力損失を抑制でき、インバータINVに対する過熱保護制御を実現できる。
次に、温度推定部2について詳細に説明する。熱回路モデルは、周囲温度または温度センサ設置部から各発熱部品(例えば各パワーモジュール)とヒートシンクの接続部までの熱回路モデルTCM1と、発熱部品(例えばパワーモジュール)内部の半導体素子近傍の熱回路モデルTCM2とで構成される。TCM1の熱回路モデルは、解析や実験等によって予め求めておく。TCM2の熱回路モデルは、同様に解析や実験等で求めてもよいが、パワーモジュールメーカより、過渡熱抵抗と熱抵抗の形式でデータが提供されておりそれを用いてもよい。
温度センサが利用できる場合(例えばヒートシンクHSに温度センサが設けられている場合)、電力損失情報1を熱回路モデルTCM1に入力して得られる温度降下と、電力損失情報1を熱回路モデルTCM2に入力して得られる温度降下との加算値は、周囲温度または温度センサ設置箇所温度から、パワーモジュールの半導体素子のPNジャンクションまでの温度降下を意味している。すなわち、電力損失情報1を熱回路モデルTCM1に入力して得られる温度降下と、電力損失情報1を熱回路モデルTCM2に入力して得られる温度降下との加算値に、周囲温度または温度センサ出力値をさらに加算することで、ジャンクション温度を得ることができる。
温度センサが利用できない場合は、インバータINVの仕様として定められている最大周囲温度を加算する。この場合、半導体素子のジャンクション温度は実際の値より大きくなるが、インバータINVの周囲温度が仕様範囲内ならば確実に過熱保護が実施できるので問題とはならない。
電力損失情報1により表される発熱部品(例えば、パワーモジュール)の電力損失は、例えば、スイッチング素子SWのオン損失及びスイッチング素子SWのスイッチング損失を含む。オン損失は、半導体素子(スイッチング素子SW)の導通時(オン動作時)の電圧降下と通過電流との積である。その電圧降下は、半導体素子(スイッチング素子SW)の電流や温度に対する値でデータシートに記載されていることが多い。スイッチング損失も、同様に、1回のスイッチング動作あたりの損失値が、電流や温度に対する値でデータシートに記載されていることが多い。このような情報を基に、パワーモジュールの電流情報やキャリア周波数などの情報から電力損失が計算できる。
例えば、各パワーモジュールPM1〜PM4の電流の平均値及び温度の平均値を実験的に求め、データシートに当てはめることにより、各パワーモジュールPM1〜PM4の電力損失P1〜P4を予め計算して、電力損失テーブル14aとして予め記憶部14に記憶しておいてもよい。
なお、各パワーモジュールPM1〜PM4の電力損失P1〜P4が時間的に変化する場合、温度推定部2は、各パワーモジュールPM1〜PM4の電流に対応したパラメータを取得し、そのパラメータに応じて、記憶部14から読み出した電力損失P1〜P4を補正し、補正された電力損失P1’〜P4’を熱回路モデルTCM1及び熱回路モデルTCM2にそれぞれ入力してもよい。
さらに、熱回路モデルTCM1における温度降下の計算について詳しく説明する。熱回路モデルTCM1により発生する温度降下は(1)式で表現できる。(1)式において、ΔT1TCM1〜ΔT4TCM1は各パワーモジュールにおける温度降下、P1〜P4は電力損失、G11〜G44は熱インピーダンスを表現する伝達関数である。添字は4個ある各パワーモジュールPM1〜PM4を区別するためのものである。
伝達関数G11、G22、G33、G44は自己の電力損失に由来する温度降下を表現するものであり、その他は熱干渉、すなわちヒートシンク中を移動してくる熱を表現している。この(1)式を(2)式に変形する。
各伝達関数G11〜G44の応答は比較的近い値となるため、例えばG11 −1・G12といった項は単純な係数に近似できる。従って(2)式は(3)式に近似できる。
K12はG11 −1・G12のDCゲインに相当する。この(3)式では、あるパワーモジュールでの温度降下(発熱)を計算するのに、自己の電力損失情報と他のパワーモジュールから到達する電力損失情報との加算値を、自己の熱回路モデルに入力することに相当する計算を行っている。この(3)式を用いることで、(1)式と比較し計算に必要な伝達関数の個数を42=16個から4個に削減できる。
なお、伝達関数G11、G22、G33、G44のそれぞれは、実際にはラプラス演算子sを用いた数式であるのに対して、係数K12〜K43のそれぞれは、所定の定数である。このため、計算に必要な伝達関数の個数を減らすことで、演算処理量を大幅に削減できる。
また、(3)式を用いた場合、電力損失P1〜P4が一定ならば(1)式と計算結果は一致する。電力損失P1〜P4が時間変化する場合、(1)式の演算結果と比較し若干早い応答でΔT1TCM1〜ΔT4TCM1が変化する。一般的にヒートシンクなどの固体中の熱の時間変化は、発熱ポイントほど応答が速く、発熱ポイントから距離が離れるほど応答速度が低下する。このため、G11の応答速度はG12・G13・G14のそれに似た値ではあるが若干応答が速い。(3)式によりG12からG14の応答はG11にて代用されるため、上記のような特性となる。このように推定したジャンクション温度は実際の値に対し誤差を持つが、応答が速くなる方向への誤差であるので、本実施の形態の目的である過熱保護の妨げとはならない。
電力損失P1〜P4は半導体素子の電流・温度やキャリア周波数に基づく動作パターンなど様々な要因で決定されるが、電流とキャリア周波数とが支配的であり、特にパワーモジュールの電流に比例する場合が多い。このため、(3)式の入力をパワーモジュールの電流としてもよい。パワーモジュールのうち、3相方式の回路(図12参照)を例にとると、静止座標上の相電流(Iu・Iv・Iw)から回転座標上の電流(In)を求める。Inは(4)式を経て(5)式で求めることができる。
この(5)式の電流Inを用いると、(3)式は(6)式にて書きなおせる。係数L11〜L44は電流を電力損失に変換する係数でキャリア周波数に応じて切り替える。係数L11〜L44はパワーモジュールのデータシートに記載された導通時の電圧降下やスイッチング損失のデータから求めることができる。(6)式の下線部における行列は単に係数であるのでまとめて、熱回路モデルTCM1にて保持すればよい。
さらに、熱回路モデルTCM2における温度降下計算について説明する。熱回路モデルTCM2はパワーモジュール内部の半導体素子近傍のモデルであるので、各半導体素子に流れている電流を求め、さらにその電流情報からオン損失とスイッチング損失とを求め、過渡熱抵抗及び熱抵抗により温度降下を計算する。パワーモジュールの内部には一般的に複数の半導体素子が内蔵されているので、最大の温度降下が生じている素子の計算結果を選択して、熱回路モデルTCM2による温度降下として出力する。この(6)式を用いることで、計算に必要な伝達関数の個数を4個に抑制できる。すなわち、熱回路モデルTCM1に加えて熱回路モデルTCM2を用いることで、ジャンクション温度の推定精度を向上できるとともに、計算に必要な伝達関数の合計数を4個+4個(<42=16個)に削減でき演算処理量を低減できる。
なお、熱回路モデルTCM1と同様に電力損失情報の代わりに回転座標上の電流(In)を用いてもよく、(7)式にて温度降下を計算してもよい。H11〜H44は温度降下計算のための係数であり、電流Inに対する比例係数である。パワーモジュール内部の半導体素子は、同一の電流に対し最も発熱が顕著な半導体素子を選択して係数H11〜H44の設定に用いる。インバータの極低周波数の出力時における特定の半導体素子への電流集中を考慮し、係数H11〜H44は、インバータの出力周波数に応じて変化させ、また、キャリア周波数に応じても変化させる。
係数H11〜H44のそのような変化のさせ方の一例を図4〜図7に示す。図4及び図5は、それぞれ、半導体素子の電流と、半導体素子の損失と、過渡熱抵抗・熱抵抗による温度降下とを計算した結果を示す。ここではパワーモジュールの回路構造として2レベル方式とし(図2参照)P側のスイッチング素子の波形を示している。このためパワーモジュールより出る方向の電流極性を正とすると、電流が正の時に電力損失が発生し、それに応じて温度降下が現れる。一般に過渡熱抵抗はインバータ出力周波数が低下すると増加するため、図4に比べて、図5に示すようにインバータ出力周波数が低下すると温度降下のピーク値も増加する。
図6は、上記の過渡熱抵抗を考慮した、電流Inに対し温度降下のピーク値の比を記載した一例であり、(7)式の係数H(係数H11〜H44)に相当する。図6に示すように、キャリア周波数が変わるとスイッチング損失が変化し温度降下のピーク値も変化するので、キャリア周波数に応じて係数Hを切り替える。(7)式の計算においては、この図6のグラフに相当するテーブルを必要とするが、図6に記載するように、係数H(係数H11〜H44)の変化を、インバータ出力周波数が所定周波数Fth以上において一定値で近似し、所定周波数Fth以下において周波数に対する1次または2次関数などで近似することができる。
すなわち、(7)式による熱回路モデルTCM2において、係数H11〜H44を含む行列の部分は、入力された電力損失情報(In1,In2,In3,In4)を所定倍して出力するゲイン付加部として機能する。ゲイン付加部におけるゲイン、すなわち係数H11〜H44は、インバータの出力周波数(すなわち図6の横軸)とキャリア周波数(図6に示す低キャリア周波数、中キャリア周波数、高キャリア周波数のいずれであるか)とを参照して決定される。例えば、ゲイン付加部における係数H11〜H44は、キャリア周波数が高キャリア周波数である場合、インバータの出力周波数がFth以上であれば一定値で近似し、インバータの出力周波数がFth以下であれば1次の減少関数で近似する。例えば、ゲイン付加部における係数H11〜H44は、キャリア周波数が中キャリア周波数又は低キャリア周波数である場合、インバータの出力周波数がFth以上であれば一定値で近似し、インバータの出力周波数がFth以下であれば2次の減少関数で近似する。
この(7)式による熱回路モデルTCM2による温度降下は、常に最大の電流集中が発生していることを想定する。例えば2レベル方式の回路(図2参照)でP側のスイッチング素子(例えばパワーモジュールPM1のスイッチング素子SW)の場合、図7に示すAの位相タイミング近傍を想定する。実際には図7に示すBの位相領域で動作する場合もあり、この場合実際のジャンクション温度より高い温度が推定されることになるが、過熱保護制御は問題なく実施できる。
熱回路モデルTCM1の(3)式の伝達関数G11〜G44や、熱回路モデルTCM2の過渡熱抵抗を詳細に計算する場合など、多くの場合、伝達関数は離散化して実装される。このとき、1から数サンプル前までの熱回路モデルの状態変数を保持する必要がある。例えば、1日の使用開始時に熱回路モデルの状態変数がゼロの状態で推定動作を始める場合は問題がないが、瞬時停電後のインバータ再始動を行うような場合では、熱回路モデルの状態変数がゼロの状態でスタートすると、実際のジャンクション温度よりも低い温度を推定する可能性がある。これを防ぐため、熱回路モデルの状態変数15aを不揮発性記憶素子15(図1参照)に記録する。熱回路モデルの状態変数15aとして、例えば、(3)式の瞬時演算結果を随時不揮発性記憶素子15に記憶しても良い。また、記憶された熱回路モデルの状態変数15aは、インバータINVの設定パラメータの一つとして、インバータINVの起動時に読み出してもよい。温度推定演算開始直後は推定温度に誤差が発生するが、推定したジャンクション温度が実際のジャンクション温度より低い値を推定する可能性が低くなるため、過熱保護制御の保護精度を向上できる。
なお、上記の処理は熱回路モデルの状態変数15aではなく、インバータINVの平均的な使用電力を不揮発性記憶素子15に記憶しても同様の効果が得られる。すなわち随時不揮発性記憶素子15に記録、あるいは設定パラメータの一つとして記録した、パワーモジュールの平均的な電力あるいは平均的な電流値を起動時に読み出し、(3)式の処理をインバータINVの実運転に先立って実施することで、(3)式の状態変数に展開することができる。上記した熱回路モデルにおける伝達関数の状態変数の設定は、パワーモジュールが1個しかないインバータでも適用できる。
次に、電力補償計算部7(図1参照)について図8を用いて説明する。インバータINVの任意の運転パターンに対応できるよう、ジャンクション温度の許容上限値(TjMAX)に対して推定温度3(TjEst)をフィードバックしてPI制御を行い、このPI制御器の出力が電力補償指令8となる。この電力補償指令8はゼロあるいは負値であり、パワーモジュールの現在の電力損失に対する削減目標を指示するものである。
具体的には、電力補償計算部7は、減算器7c、極性判別部7d、比例制御器7a、積分制御器7b、及び加算器7eを有する。
減算器7cは、許容上限値(TjMAX)から推定温度3(TjEst)を減算して、減算結果を極性判別部7d、比例制御器7a、及び積分制御器7bへ供給する。
極性判別部7dは、減算結果を減算器7cから受ける。極性判別部7dは、減算結果の符号に応じて、極性を判別する。例えば、極性判別部7dは、減算結果が正であれば、推定温度3(TjEst)が許容上限値(TjMAX)以下であることを示す極性「1」であると判別する。例えば、極性判別部7dは、減算結果が負であれば、推定温度3(TjEst)が許容上限値(TjMAX)を超えていることを示す極性「−1」であると判別する。極性判別部7dは、判別結果を比例制御器7a、及び積分制御器7bへ供給する。
比例制御器7aは、減算結果を減算器7cから受ける。比例制御器7aは、推定温度3(TjEst)が許容上限値(TjMAX)を越えた場合に動作するよう、推定温度3(TjEst)と許容上限値(TjMAX)の差分の極性に応じ比例ゲインを切り替える。
具体的には、比例制御器7aは、乗算器7a2,7a3及び切り替え部7a1を有する。乗算器7a2には、比例ゲイン0が設定され、実質的に比例ゲインがかからないようになっている。乗算器7a3には、比例ゲインPG(>0)が設定され、比例ゲインPGがかかるようになっている。切り替え部7a1は、極性「1」の場合、減算結果に乗算器7a2の比例ゲイン0がかかり、極性「−1」の場合、減算結果に乗算器7a3の比例ゲインPG(>0)がかかるように、切り替える。切り替え部7a1は、比例ゲイン0又は比例ゲインPG(>0)がかけられた値を加算器7eへ供給する。
積分制御器7bは、減算結果を減算器7cから受ける。積分制御器7bも、比例制御器7aと同様に、推定温度3(TjEst)と許容上限値(TjMAX)の差分の極性に応じ比例ゲインを切り替える。すなわち、積分制御器7bは、推定温度3(TjEst)が許容上限値(TjMAX)を超えた場合は、速やかに電力補償指令8を立ち上げるよう高い積分ゲインIGHを設定する。逆に、積分制御器7bは、推定温度3(TjEst)が許容上限値(TjMAX)より小さい場合に、積分器出力を保持しつつ、ある程度の時間が経過した後に電力補償指令8を立ち下げることができるよう、低い積分ゲインIGL(<IGH)とする。
具体的には、積分制御器7bは、加算器7b6、1サンプルディレイ7b5、リミッタ7b4、乗算器7b2,7b3及び切り替え部7b1を有する。加算器7b6は、減算結果と切り替え部7b1の出力とを加算し、加算結果を加算器7eに出力するとともに、加算結果に1サンプルディレイ7b5、リミッタ7b4、乗算器7b2,7b3及び切り替え部7b1を順に通して加算器7b6にフィードバックさせる。乗算器7b2には、低い積分ゲインIGLが設定され、低い積分ゲインIGLがかかるようになっている。乗算器7b3には、高い積分ゲインIGHが設定され、高い積分ゲインIGHがかかるようになっている。切り替え部7b1は、極性「1」の場合、リミッタ7b4の出力に乗算器7b2の低い積分ゲインIGLがかかり、極性「−1」の場合、リミッタ7b4の出力に乗算器7b3の高い積分ゲインIGH(>IGL)がかかるように、切り替える。切り替え部7b1は、低い積分ゲインIGL又は高い積分ゲインIGHがかけられた値を加算器7b6へ供給する。
積分制御器7bでは、図8に示すような間欠動作を行う場合、積分器出力を保持することで、電力損失立ち上がりにおける、過熱保護制御の応答の遅れを抑制できる。またインバータINVの運転状況が変化し、電力損失が小さくなった場合には、積分器出力を徐々にゼロに戻すことで、電力補償指令8をゼロに立ち下げる。なお以上の電力補償計算部7の動作はフィードバック制御のため、応答には遅れが存在しジャンクション温度には指令値に対しオーバーシュートが生じる場合がある。このため、上記の許容上限値(TjMAX)は、アラーム発生部5におけるアラーム6を発生させる閾値TjALMより、小さい値に設定する。また、以上に説明した電力補償計算部7はパワーモジュールが1個しかないインバータでも適用できる。
次に、電力損失抑制部9の動作について図9〜図11を用いて説明する。図9は電力損失抑制部9の動作を示すフローチャートである。図10は、電流に応じたパワーモジュール電力損失の変化を示す図であり、図11は、キャリア周波数に応じたパワーモジュール電力損失の変化を示す図である。
まず、電力補償指令8が入力されると、電力損失抑制部9は、制御部13に問い合わせて、現在決定されている優先モードを制御部13から読み出す(ステップS1)。
制御部13では、インバータINVに接続される、パワーモジュールPM1〜PM4よる電力を供給する負荷LDに合わせて、キャリア周波数優先モードか電流優先モードかが決定される。キャリア周波数優先モードは、キャリア周波数をなるべく維持し主に電流の削減を優先して実施するためのモードである。電流優先モードは、逆にキャリア周波数の削減を優先して実施するためのモードである。例えば負荷LDがモータの場合、トルクをなるべく維持する場合は電流優先モードを、制御応答をなるべく維持する場合はキャリア周波数優先モードを選択する。これはモータのトルクは電流で決定すること、また電流制御などの応答を確保するために、必要な最低限のキャリア周波数が存在することによる。制御部13は、例えば入力インターフェース(図示せず)を介してインバータINVの操作者からの指示を受け、受けた指示に応じて、キャリア周波数優先モード及び電流優先モードのいずれかを決定する。
電力損失抑制部9は、現在の優先モードがキャリア周波数優先モードであるか否かを判断し(ステップS2)、現在の優先モードがキャリア周波数優先モードである場合(ステップS2でYes)、処理をステップS3へ進め、現在の優先モードが電流優先モードである場合(ステップS2でNo)、処理をステップS4へ進める。
図10は、電流に応じたパワーモジュール電力損失の変化の一例であるが、キャリア周波数一定の場合、電力損失がパワーモジュールの電流に比例する傾向にあることが分かる。また、図11のように、電流一定ならば、電力損失がキャリア周波数の1次関数となる傾向にあることが分かる。従って、パワーモジュールの電力損失Lはキャリア周波数fc、その電流の大きさIを用いて(8)式で表現できる。
この(8)式より電流Iの変化量に対する電力損失Lの変化量を取り出すと(9)式が得られる。主に電流の抑制を行うキャリア周波数優先モードでは、電力損失抑制部9は、この(9)式を用いて電流の削減量を決定する(ステップS3)。電力補償指令8がΔLに相当し、電流補償指令11はΔIとなる。
同様に(8)式よりキャリア周波数fcの変化量に対する電力損失Lの変化量を取り出すと(10)式が得られる。主にキャリア周波数の抑制を行う電流優先モードでは、電力損失抑制部9は、この(10)式を用いてキャリア周波数の削減量を決定する(ステップS4)。電力補償指令8がΔLに相当し、キャリア周波数補償指令10はΔfcとなる。
なお、過熱保護制御の達成のために、それぞれの優先モードにて電力補償指令8を満たせない場合には、お互いに別の優先モードを実行する。例えばキャリア周波数優先モードを第一に実行して、電力補償指令8が満たせない場合(ステップS5でNo)には、電力損失抑制部9は、電流優先モードの(10)式の計算を次に実行する(ステップS6)。また、電力補償指令8を満たせる場合(ステップS5でYes)には、処理を終了する。
あるいは、例えば電流優先モードを第一に実行して、電力補償指令8が満たせない場合(ステップS7でNo)には、電力損失抑制部9は、キャリア周波数優先モードの(9)式の計算を次に実行する(ステップS8)。また、電力補償指令8を満たせる場合(ステップS7でYes)には、処理を終了する。
なお、電流とキャリア周波数の削減を同時に実施しても、すなわち図9でステップS2を省き、ステップS1の後に、ステップS3,S5,S6の処理とステップS4、S7,S8の処理とを同時並行的に行っても、過熱保護制御が達成できるのは言うまでもない。
また、上記の通り、キャリア周波数優先モードか電流優先モードかは、インバータINVに接続されている負荷LDへの要求仕様によるため一概には言えないがインバータINVのユーザやインバータINVの据付時の調整の際に設定できるようにする。例えばサーボモータで位置決め制御を行う場合、位置決め制御開始時と終了時(位置整定時)は制御応答を要するため、キャリア周波数優先モードとし、その間の区間は電流優先モードにしてもよい。また特に両優先モードを設定しない場合(デフォルト設定)の場合は電流優先モードに設定する。これはパワーモジュールの電流の削減はインバータ特性の劣化につながるため、インバータユーザになるべくそれを意識させないようにするためである。なお上記した電力損失抑制部9は、パワーモジュールが1個しかないインバータでも適用できる。
なお、上記の実施の形態では、温度推定や過熱保護制御の対象として、ヒートシンクに接続される発熱部品をパワーモジュールとしたが、ダイオードスタックや平滑コンデンサ、その他回生抵抗なども、同様に適用可能である。
例えば、実施の形態にかかるインバータINV100の過熱保護制御装置100iの実装例について図12を用いて説明する。
過熱保護制御の対象となるインバータINV100は、交流電源を整流して、任意の周波数・電圧振幅の交流出力を行う。具体的には、インバータINV100は、コンバータ部18、平滑コンデンサ19、インバータ部17、及びヒートシンクHSを有する。インバータINV100では、交流電源ACからの交流電力をコンバータ部18で整流化し、整流化された直流電力を平滑コンデンサ19で平滑化し、平滑化された直流電力をインバータ部17で(例えば、3相の)交流電力に変換して負荷LDへ供給する。
インバータINV100では、複数の発熱部品が同一のヒートシンクに接続されている。複数の発熱部品は、それぞれ電力損失により発熱する部品であり、例えば、複数のダイオードスタック及び複数のパワーモジュールを含む。例えば、図12に示すように、インバータINV100では、3個のダイオードスタックDS1〜DS3と3個のパワーモジュールPM11〜PM13とが1個のヒートシンクHSに接続されている。
具体的には、コンバータ部18は、例えば、複数のダイオードスタックDS1〜DS3を有する。各ダイオードスタックDS1〜DS3は、図12に示すように、例えば2つの半導体素子、すなわちP側のダイオードD1及びN側のダイオードD2を有する。P側のダイオードD1及びN側のダイオードD2は、それぞれ、PNジャンクションを有する。各ダイオードスタックDS1〜DS3は、何れも少なからず発熱する発熱部品である。各ダイオードスタックDS1〜DS3は、内蔵する半導体素子のジャンクション温度(例えば、P側のダイオードD1のジャンクション温度)に、最大動作温度が設定されている。
また、インバータ部17は、例えば、複数のパワーモジュールPM11〜PM13を有する。各パワーモジュールPM11〜PM13は、図12に示すように、例えば2つの半導体素子、すなわちP側のスイッチング素子SW1及びN側のスイッチング素子SW2を有する。P側のスイッチング素子SW1及びN側のスイッチング素子SW2は、それぞれ、PNジャンクションを有する。各スイッチング素子SW1,SW2は、例えば、IGBT(絶縁ゲートバイポーラトランジスタ)又はFET(電界効果トランジスタ)である。各パワーモジュールPM11〜PM13では、制御部13による制御のもと、スイッチング素子SW1,SW2のスイッチング動作により、平滑コンデンサ19からの直流電力を負荷LDに応じて(例えば3相の)交流電力に変換する。これらの3個のパワーモジュールPM11〜PM13は、何れも少なからず発熱する発熱部品である。また、各パワーモジュールPM11〜PM13では、内蔵する半導体素子のジャンクション温度(例えば、P側のスイッチング素子SW1のジャンクション温度)に、最大動作温度が設定されている。
ヒートシンクHSには、例えば、温度センサ16が設けられている。温度センサ16は、例えば、ヒートシンクHSの温度を検出して過熱保護制御装置100iの温度推定部2iへ供給する。
また、インバータINV100と負荷LDとの間には電流センサ31が設けられている。電流センサ31は、インバータINV100から負荷LDへ供給される電力に応じた電流を検出し、検出された電流32を過熱保護制御装置100iの温度推定部2iへ供給する。
温度推定部2iの動作は、基本的に上記の温度推定部2と同様であるが、ジャンクション温度を推定すべき複数の発熱部品が例えば3個のダイオードスタックDS1〜DS3と3個のパワーモジュールPM11〜PM13であることに応じた変更を加える必要がある。
例えば、図3に示す電力損失テーブル14aを、3個のダイオードスタックDS1〜DS3及び3個のパワーモジュールPM11〜PM13に対応したものに変更し、(1)式〜(7)式も6個の発熱部品に対応したものに拡張する必要がある。例えば、(1)式を(11)式に拡張する。
(12)式における伝達関数G11〜G66を含む行列は、6行6列の行列であって、左上から右下への対角要素をG11〜G66とし、それ以外の要素を0とする。この(12)式を用いることで、(11)式と比較し計算に必要な伝達関数の個数を62=36個から6個に削減できる。
また、例えば、(7)式を(13)式に拡張する。
(13)式における係数H11〜H66を含む行列は、6行6列の行列であって、左上から右下への対角要素をH11〜H66とし、それ以外の要素を0とする。この(13)式を用いることで、計算に必要な伝達関数の個数を6個に抑制できる。すなわち、熱回路モデルTCM1に加えて熱回路モデルTCM2を用いることで、ジャンクション温度の予測精度を向上できるとともに、計算に必要な伝達関数の合計数を6個+6個(<62=36個)に削減でき演算処理量を低減できる。
また、例えば、温度推定部2iは、電流センサ31により検出された電流32を、各パワーモジュールPM1〜PM4の電流に対応したパラメータとして取得してもよい。すなわち、温度推定部2iは、検出された電流32に応じて(例えば図10の情報を用いるなどして)、記憶部14から読み出した電力損失P1〜P4を補正し、補正された電力損失P1’〜P4’を熱回路モデルTCM1及び熱回路モデルTCM2にそれぞれ入力してもよい。
次に、実施の形態にかかるインバータINV100の過熱保護制御装置100jの他の実装例について図13を用いて説明する。
図13に示す他の実装例は、図12に示す実装例と基本的に同様であるが、インバータINV100と負荷LDとの間には電流センサ31が設けられておらず、過熱保護制御装置100jの温度推定部2jが制御部13から電流指令(I*)41を取得する点で異なる。
制御部13では、インバータINV100から負荷LDへ供給される電力を制御するために、内部的に電流指令41を生成している。この電流指令41は、インバータINV100から負荷LDへ供給される電力に対応したものであると考えられる。そこで、本実装例では、過熱保護制御装置100jの温度推定部2jが制御部13から電流指令41を取得する。
例えば、温度推定部2jは、電流指令41を、各パワーモジュールPM1〜PM4の電流に対応したパラメータとして取得してもよい。すなわち、温度推定部2jは、電流指令41に応じて(例えば、電流指令41から実際の電流を予測し、予測された電流と図10の情報とを用いるなどして)、記憶部14から読み出した電力損失P1〜P4を補正し、補正された電力損失P1’〜P4’を熱回路モデルTCM1及び熱回路モデルTCM2にそれぞれ入力してもよい。
次に、実施の形態にかかるインバータINV100の過熱保護制御装置100kの他の実装例について図14を用いて説明する。
図14に示す他の実装例は、図12に示す実装例と基本的に同様であるが、インバータINV100と負荷LDとの間には電流センサ31が設けられておらず、その代わりに、平滑コンデンサ19とインバータ部17との間に電流センサ21が設けられている点で異なる。
電流センサ31は、平滑コンデンサ19からインバータ部17へ供給される電力に応じた母線電流を検出し、検出された母線電流22を過熱保護制御装置100kの温度推定部2kへ供給する。
例えば、温度推定部2kは、電流センサ21により検出された母線電流22を、各パワーモジュールPM1〜PM4の電流に対応したパラメータとして取得してもよい。すなわち、温度推定部2kは、検出された母線電流22に応じて(例えば、母線電流22から実際の電流を予測し、予測された電流と図10の情報とを用いるなどして)、記憶部14から読み出した電力損失P1〜P4を補正し、補正された電力損失P1’〜P4’を熱回路モデルTCM1及び熱回路モデルTCM2にそれぞれ入力してもよい。
ここで、仮に、複数の発熱部品が同一のヒートシンクに接続されたインバータの過熱保護を行う際に、発熱部品の自己の熱インピーダンスと複数の発熱部品の間の相互の熱インピーダンスとの両方を用いて各発熱部品のジャンクション温度を推定する場合を考える。この場合、発熱部品の個数が増えるに従って、その個数の2乗に比例して、演算処理量が増加する傾向にある。例えば、発熱部品が4個である場合、計算に必要な伝達関数の個数が42=16個になり、あるいは、例えば、発熱部品が6個である場合、計算に必要な伝達関数の個数が62=36個になる。
それに対して、実施の形態では、温度推定部2が、例えば(3)式、(12)式に示されるように、複数の発熱部品から選択された推定対象の発熱部品の電力損失情報と、複数の発熱部品から推定対象の発熱部品を除く残りの発熱部品の電力損失情報とに基づいて、推定対象の発熱部品に集まる電力損失情報を求め、推定対象の発熱部品についての熱回路モデルにその求められた電力損失情報を入力して、推定対象の発熱部品のジャンクション温度を推定する。すなわち、ある発熱部品の温度推定にあたり、自己の電力損失と他の箇所からの電力損失を加算して自己の伝達関数に入力して温度降下を計算する。言い換えると、他の箇所からの動特性を持った熱干渉を、自己の動特性で近似して表現した熱回路モデルを用いて発熱部品のジャンクション温度を推定する。これにより、相互熱インピーダンスの計算を省略できるので、計算に必要な伝達関数の個数の増大を抑制できる。例えば、発熱部品が4個である場合、計算に必要な伝達関数の個数が4個+4個に抑制でき、あるいは、例えば、発熱部品が6個である場合、計算に必要な伝達関数の個数が4個+4個に抑制できる。これにより、演算処理量が大幅に削減できるので、同一のヒートシンクに接続される発熱部品の個数が多い場合に発熱部品のジャンクション温度推定を簡易に行うことができ、確実な過熱保護を実現できる。
あるいは、仮に、複数の発熱部品が同一のヒートシンクに接続されたインバータの過熱保護を行う際に、周囲温度または温度センサ設置部から各パワーモジュールとヒートシンクの接続部までの熱回路モデルTCM1のみを用いて各発熱部品のジャンクション温度を推定する場合を考える。この場合、各発熱部品内部の半導体素子近傍の熱の動きが考慮されていないので、半導体素子の導通電流が変化する場合等に、ジャンクション温度の推定精度が低下しやすい。
それに対して、実施の形態では、温度推定部2が、周囲温度または温度センサ設置部から各発熱部品(例えば各パワーモジュール)とヒートシンクの接続部までの熱回路モデルTCM1に加えて、発熱部品(例えばパワーモジュール)内部の半導体素子近傍の熱回路モデルTCM2を用いて、各発熱部品のジャンクション温度を推定する。すなわち、熱回路モデルTCM1に加えて熱回路モデルTCM2を用いることで、ジャンクション温度の推定精度を向上できるとともに、計算に必要な伝達関数の合計数を上記のように削減でき演算処理量を低減できる。これにより、同一のヒートシンクに接続される発熱部品の個数が多い場合に発熱部品のジャンクション温度推定を簡易且つ高精度に行うことができる。
また、実施の形態では、温度推定部2が、複数の発熱部品のそれぞれの熱回路モデルの状態変数を不揮発性記憶素子に記録する。これにより、停電・再起動時のジャンクション温度の過小推定を抑制できるので、同一のヒートシンクに接続される発熱部品の個数が多い場合に発熱部品のジャンクション温度推定を高精度に行うことができ、過熱保護の精度を向上できる。
また、実施の形態では、複数の発熱部品のそれぞれの熱回路モデルTCM2が、入力された電力損失情報を所定倍して出力するゲイン付加部を持つ。ゲイン付加部におけるゲイン(例えば(7)式における係数H11〜H44)は、インバータの出力周波数とキャリア周波数とを参照して決定される。これにより、極低周波数電力出力時の過熱保護精度を向上できる。
また、実施の形態では、保護制御部4の電力補償計算部7が、推定された複数の発熱部品のそれぞれの温度TjEstと許容上限値TjMAXとを用いたフィードバック処理により、複数の発熱部品のそれぞれの温度が許容上限値TjMAXを超えないように、電力損失の削減幅となる電力補償指令8を求めて出力する。そして、インバータINVの動作制御は、制御部13により、電力補償指令8に応じて、なされる。すなわち、電力補償計算部7でフィードバック補償を用いる(図8参照)ことで、任意の運転パターンに対応して過熱保護制御を実施できる。
また、実施の形態では、保護制御部4の電力損失抑制部9が、予め設定されたキャリア周波数補償及び電流補償の間の優先度を参照して、電力補償指令8に対するキャリア周波数補償指令計算と電流補償指令計算とを順次に実行してキャリア周波数補償指令10と電流補償指令11とを求めて出力する。そして、インバータINVの動作制御は、制御部13により、キャリア周波数補償指令10と電流補償指令11とに従ってなされる。すなわち、電力損失抑制部9の動作により、過熱保護制御実現のためにキャリア周波数や発熱部品の導通電流の削減を行う際に、優先順位を考慮して計算できるため、インバータに接続されている負荷の要求仕様に合わせ、なるべくその仕様を損なわない過熱保護制御が実現できる。