マルチレベル方式 T型NPC
DC-ACインバータのPWM制御方法
DC-ACインバータについて、バイポーラ方式、ユニポーラ方式に続いてマルチレベル方式について説明していきます。
マルチレベル方式のインバータでは、スイッチング素子の耐圧を更に低耐圧のものにすること、リアクトルのリップルを更に小さくすることを目的に、様々な方法で実現しています。
この記事では、T型NPC方式について解説します。
T型NPC方式とは
マルチレベル方式では、どのように各スイッチに印加されるDC電圧を減らすことができるかということが焦点となります。
NPC方式は、Neutral Point Clamped、つまり中性点クランプ方式と呼ばれており、本記事でご紹介するのは、能動的にスイッチを使ってクランプするので、特にアクティブNPCとも呼ばれています。NPC方式については別記事でも紹介していますが、本記事の回路方式は特にT型のアクティブNPCと呼ばれており、以下のような回路構成となります。
この回路は3レベルインバータと呼ばれます。
合わせて読みたい
先の記事で紹介しているマルチレベルインバータと比較するとT型は以下の様な特長があります。
NPC方式に対してANPC(AdvancedNPC)方式は,直列に接続されたIGBT(Insulated Gate Bipolar Transistor)がNPC方式で使用するIGBTの2倍の定格電圧であることと,直流電源の中間電位点(N)と直列に接続したIGBTの中間点(U)との間に結線される素子に,RBIGBT(Reverse Blocking IGBT)を用いることで回路を簡素化できる。電流の通過素子数が少ないため低損失化が実現でき,インバータを構成するときに必要となるゲート駆動回路の電源数も低減できるメリットを持つ。
上の富士電機様の記事で紹介されているAdvanced NPCというのが、本記事のT型方式となります。
また、富士電機様はT型用のIGBTモジュールも販売されております。以下のアプリケーションノートもご参照ください。
3-Level Modules with Authentic RB-IGBT
スイッチのPWM駆動方法
スイッチのキャリア信号と、サイン波を出力させるための制御信号波を以下に示します。
2つのキャリア信号に対して、2つの制御信号を用いてQ1、Q2、Q3、Q4のゲート信号とQ5、Q6、Q7、Q8のゲート信号を作りだします。
このPWM動作によってa, b間に発生する電圧を、LCで平滑化することで、出力にサイン波を得ます。
この時、a, b間の取る電圧は、+E, +1/2E, 0, -1/2E, -Eとなります。
各スイッチの駆動方法は、単純なダイオードクランプ型NPCと同様であり、中性点で駆動するスイッチが能動的にクランプすることで、マルチレベルを実現します。
この時のシミュレーション波形は以下の様になります。
詳細なスイッチの駆動方法については、アナログ回路での駆動が分かりやすいので、回路図をダウンロードいただき、実際にシミュレーションしていただければと思います。
PWM駆動のシミュレーション
アナログ回路での駆動
アナログ回路モデル、スイッチの駆動方法については、是非モデルをダウンロードしてご確認ください。
本モデルは、パワエレ向け高速回路シミュレータScideam(サイディーム)で動作可能です。
本記事のモデルは以下からダウンロードしてください。
ここで、回路モデル中、VS1などの絶縁アンプは、ハイサイドスイッチを同一信号で駆動するために便宜上使用しています。
シミュレーション結果は以下の通りです。
キャリア信号と制御信号、Vabに注意して、出力電圧を確認してください。
シミュレーションは、上部にある開始ボタンをクリックすることで、実行可能です。
Waveformモードにし、50msec実行した結果を確認しましょう。
スイッチングキャリアの設定方法などは、別途チュートリアルをご覧ください。
https://www.smartenergy.co.jp/support/ScideamArticles/help/tutorial/tutorial_circuit/tutorial_circuit/
デジタル制御による駆動
サイディームのスクリプト機能を使った、デジタル制御による駆動を以下に示します。
SineTarget1 = sin(50*2*PI*t);
SineTarget2 = -1 * sin(50*2*PI*t);
D1 = SineTarget1;
if(D1 < 0) D1 = 0;
D2 = SineTarget1 + 1;
if(D2 > 1) D2 = 1;
D3 = SineTarget2;
if(D3 < 0) D3 = 0;
D4 = SineTarget2 + 1;
if(D4 > 1) D4 = 1;
setoutvar(D1);
setoutvar(D2);
setoutvar(D3);
setoutvar(D4);
//三角波に変換
D10 = 0.5 - 0.5 * D1;
D11 = 0.5 + 0.5 * D1;
D20 = 0.5 - 0.5 * D2;
D21 = 0.5 + 0.5 * D2;
D30 = 0.5 - 0.5 * D3;
D31 = 0.5 + 0.5 * D3;
D40 = 0.5 - 0.5 * D4;
D41 = 0.5 + 0.5 * D4;
setparam("Q1","T0",D10);
setparam("Q1","T1",D11);
setparam("Q2","T0",D20);
setparam("Q2","T1",D21);
setparam("Q3","T0",D10);
setparam("Q3","T1",D11);
setparam("Q4","T0",D20);
setparam("Q4","T1",D21);
setparam("Q5","T0",D30);
setparam("Q5","T1",D31);
setparam("Q6","T0",D40);
setparam("Q6","T1",D41);
setparam("Q7","T0",D30);
setparam("Q7","T1",D31);
setparam("Q8","T0",D40);
setparam("Q8","T1",D41);
C#主回路は、スイッチ素子にPWMSwitchという素子を使用しています。
この素子は、PWMの時比率を直接入力できるイメージで使用できます。
そのため、アナログ回路の際に使用した制御信号は、単純に時比率という形でスクリプトから、Switch素子に指定しています。
アナログ回路で駆動することに目的がなければ、シミュレータとしても高速に解析することが可能であるため、この方法をお勧めいたします。
ただし、マルチレベル回路の場合、三角波を用いて駆動することが重要であり、単純に時比率を設定してしまうとノコギリ波として出力している状態になってしまうため、Pulse素子に時比率を引き渡す段階で、三角波駆動するのと等価になるように時比率を変更しています。
詳しい使用方法は、チュートリアルをご覧ください。
[デジタルパレット チュートリアルリンク]
https://www.smartenergy.co.jp/support/ScideamArticles/help/tutorial/tutorial_digital_palette/tutorial_digital_palette/
[Pulse素子 チュートリアルリンク]
https://www.smartenergy.co.jp/support/ScideamArticles/help/scideam_help/parts/generator/pulse/pulse/
まとめ
- 3レベルT型NPC方式のマルチレベルインバータにおけるPWM制御の方法について説明しました。
- アナログ回路における実現方法をシミュレーションモデルで説明しました。
- デジタル回路における実現方法をシミュレーションモデルで説明しました。
DC-ACインバータについて、さまざまな方法が以下の記事にまとまっていますので、以下を御覧ください。
▼関連投稿 ーDC-ACインバーター
参考文献
[1]パワーエレクトロニクスハンドブック編集委員会 編, “パワーエレクトロニクスハンドブック”, オーム社 (平成22年)