Main Content

電気回路の離散化によるシミュレーション

はじめに

離散シミュレーションを実行するには、powergui ブロックを開いて [Simulation type][Discrete] に設定し、サンプル時間を指定します。電気システムは、Tustin/後退オイラー (TBE) 法によって離散化されます。この方法は、Tustin 法と後退オイラー法を組み合わせたものです。これにより、スナバのないダイオード コンバーターとサイリスタ コンバーターをシミュレートできるようになります。この方法は Tustin 法にみられる数値振動を排除し、後退オイラー法よりも高い精度を提供します。

TBE 離散化法は、Tustin 法の精度と、後退オイラー法の数値振動減衰特性を組み合わせたものです。この方法では、実質的にスナバを使わずにパワー エレクトロニクス回路をシミュレートできます。非常に大きな抵抗値をもつ純粋な抵抗性スナバを使用するため、漏れ電流は無視できる値になります。

シミュレーションの精度は離散化として設定する時間ステップによって決まります。通常、50Hz または 60Hz の電力システムのスイッチングによる過渡状態をシミュレーションする場合に、20μs から 50μs のサンプル時間は十分良い精度が得られます。あるいは、ダイオードやサイリスタのようなライン転流に使われるパワー エレクトロニクス デバイスを使った回路においても、20μs から 50μs のサンプル時間で十分良い精度が得られます。強制整流式のパワー エレクトロニクス スイッチを使ったシステムは、通常は高いスイッチング周波数で動作し、必要なサンプル時間は小さくなります。たとえば、5 kHz で動作するパルス幅変調 (PWM) インバーターをシミュレートするには、1 µs の最大タイム ステップが必要になります。

電子回路を離散化した場合も、連続系の制御システムを使用することができます。ただし、シミュレーション速度は、離散系の制御システムを使用することにより改善されます。

スイッチとパワー エレクトロニクスの離散化

スイッチとパワー エレクトロニクス デバイスは、スイッチを閉じると Ron 抵抗が低くなり、スイッチを開くと無限抵抗をもつ純粋な抵抗素子によって示される非線形素子です。シミュレーション中にスイッチの状態が変化するたびに、回路の線形部分の離散状態空間モデルが再評価され、回路トポロジの変化が反映されます。

状態空間モデルの計算方法上の理由から、スイッチは誘導性回路と直列に接続することはできません。このような状況では、スナバ回路をパワー エレクトロニクス デバイスに接続する必要があります。強制整流式のデバイスの場合、高い抵抗値をもつ純抵抗のスナバを使用してスナバ回路を非常に小さくすることができます。ただし、ダイオードやサイリスタなど自然整流式のデバイスの場合は、固定タイム ステップでシミュレーションが行われるため、デバイスが遮断されると電流ゼロクロッシングが正確に検知されなくなります。

電動機の離散化

電動機は電流源としてシミュレートされる非線形素子です。これらの素子は、寄生抵抗または容量素子が電動機の端子に接続されていない限り、誘導性ネットワークには接続できません。離散システムで電動機を使用する場合、寄生抵抗負荷を増加させて数値振動の発生を避ける必要が生じることがあります。寄生負荷の量はサンプル時間と電動機の離散化に使用されている積分法によって異なります。

同期機モデルおよび非同期機モデルでは台形離散化法を使用します。その他すべての電動機モデルでは、前進オイラー離散化法を使用します。同期機および非同期機の場合は、ブロック メニューの [Advanced] タブで電動機の離散化方法を選択します。

R2018b 以前のバージョンでは、Synchronous Machine ブロックと Asynchronous Machine ブロックの [Advanced] タブでは、非反復の台形法と反復の台形法の 2 種類の積分法が使用できました。

非反復の台形法では、高速かつ安定した解が得られます。しかし、シミュレーションの安定性を維持するには、電動機の端子に寄生抵抗負荷を接続しなければなりません。たとえば、サンプル時間が 50 ms の場合、最小抵抗負荷は電動機の定格電力の 5 ~ 10% にもなることがあります。アプリケーションによっては、これらの負荷を許容可能なレベル、たとえば定格電力の 0.1% 未満に減らすには、反復の台形法で電動機をシミュレートするしかありませんでした。しかし、この手法ではシミュレーションが非常に遅くなるうえ、モデル内の電動機の数が増えると収束しないこともあります。

R2019a では、電動機モデルを離散化するための 2 つの手法が追加で導入されました。ロバストな台形法と、ロバストな後退オイラー法です。これらの手法は、より高速で高精度な電動機のシミュレーションを可能にするロバストなソルバーの一部です。このソルバーを使用して、寄生負荷を取り除くとともに、無負荷の電動機、または回路ブレーカーが直列に直接接続された電動機 (以前のリリースでは不可能だった回路構成) をシミュレートできます。このロバストなソルバーは反復手法を用いないため、リアルタイム アプリケーションに適しています。

新しいソルバーは、非反復の台形法で大きな寄生負荷を使用した場合に発生する安定性の問題と、反復台形法での収束とシミュレーション速度低下の問題に対応しています。次の例では、ロバストなソルバーを使用する利点を示します。

SM および ASM ブロックを使用した離散モデルの例

次の例では、電動機の離散化手法と並列負荷量がモデルの安定性に与える影響について説明します。

  1. Emergency Diesel-Generator and Asynchronous Motor モデル例を開きます。このモデルには、1 MW の負荷と同じ母線に並列接続された同期機 (SM) 1 台と非同期機 (ASM) 1 台が含まれます。

  2. Powergui メニューで、[Simulation type][Discrete] を選択し、Ts = 50 μs のサンプル時間を指定します。[Preferences] タブで、[Tustin/Backward Euler discrete solver] を選択します。

  3. Load Flow ツールを使用して電動機モデルを初期化します。

  4. シミュレーションを開始し、モデルが定常状態で始まっていることを確認します。

このモデルでは、既定の離散化手法は Synchronous Machine ブロックおよび Asynchronous Machine ブロックの [Advanced] タブで非反復の台形法に設定されています。相対的に大きい 1 MW の負荷が電動機の端子に接続されているため、このモデルは安定しています。この負荷は SM 定格電力の 32% および ASM 定格電力の 60% を表します。

ここで、電動機の端子に実質的に負荷を接続せずにこの離散モデルをシミュレートします。たとえば、1 MW の負荷を 1 kW (SM および ASM 電動機の定格電力のそれぞれ 0.032% と 0.06%) に減少させます。

抵抗負荷を 1 MW から 1 kW に変更し、シミュレーションを開始します。1 kW の負荷は電動機モデルの安定性を保証するには小さすぎるため、数値振動が発生することに注意してください。

50 kW ずつ負荷を増加させていくと、非反復の台形法で安定モデルを得るための必要最小限の負荷は 300 kW であることがわかります。これは、電動機の定格電力合計の 6.2% に相当します (4.80 MVA = (ASM の 3.125 MVA) + (SM の 1.678 MVA))。

Synchronous Machine ブロックの [Advanced] タブで、ソルバーを [Trapezoidal iterative] に変更し、Asynchronous Machine ブロックのソルバーについては [Trapezoidal non iterative] を選択したままにします。モデルのシミュレーションを実行します。シミュレーション結果は連続モデルと同じで、精度も同じですが、代数ループ警告が返されます。このソルバーを使用する欠点は、シミュレーション速度です。さらに、両方の電動機に対して [Trapezoidal iterative] ソルバーを使用しようとすると、Simulink® の収束が失敗することがわかります。

この離散モデルを 1 kW の負荷でシミュレートするには、両方の電動機ブロックに対してロバストな台形法かロバストな後退オイラー法を使用するしかありません。ロバストな台形法は、ロバストな後退オイラー法より少しだけ精度が高くなります。これは、特にサンプル時間が大きい場合に顕著です。ロバストな台形法では、電動機の負荷がないときに、電圧にわずかな減衰数値振動が生じる傾向があります。このようなシナリオでは、ロバストな後退オイラー法が振動を防ぐとともに、許容可能なシミュレーション精度を維持します。ロバストなソルバーによって、電動機の端子における並列負荷を取り除くことができます。

両方の電動機ブロックでロバストな台形法を指定し、負荷をコメント アウトします。相 A と相 B の間の Voltage Measurement ブロックを再接続します (そうしないと、負荷によって定義されていた接地点が存在しなくなるため、Simulink がエラーを返します)。シミュレーションを開始し、Vab 電動機の電圧にズームして、故障が適用されたときとクリアされたときの小さな数値振動を観察します。両方の電動機にロバストな後退オイラー法を使用すれば、これらの振動を回避できます。2 つのタイプのロバストなソルバーによって得られたシミュレーション速度は、非反復の台形法で得られたシミュレーション速度とほぼ同じです。

非線形抵抗器と非線形インダクターの離散化

ロバストなソルバーでは、反復法を用いることで、離散化された非線形抵抗器と非線形インダクターの高精度なモデル化が実現します。ロバストなソルバーを使用して非線形抵抗器と非線形インダクターを離散化すると、通常、1 回または 2 回の反復で解が求められます。リアルタイム アプリケーションでは、反復回数を制限する必要が生じる場合があります。powergui ブロックのリファレンス ページで、[Solver details for nonlinear elements] 基本設定を参照してください。

非線形抵抗器の離散化

非線形抵抗器とは、電流 (モデルの出力) が電圧 (モデルの入力) の非線形関数である場合の抵抗素子です。このタイプの素子には状態がありません。出力は入力に合わせて瞬時に変化します。つまり、入力と出力の間に直達が存在し、代数ループを生成することになります。この代数ループを解くには、反復法が必要です。

非線形抵抗器は Surge Arrester ブロックのモデル化などに使用します。powergui ブロックの [Simulation type] を [Discrete] に設定すると、Surge Arrester ブロックの [Advanced] タブで離散化手法が選択されます。離散モデルで [Break Algebraic loop in discrete model] チェック ボックスと [Use robust solver in discrete model] チェック ボックスを使用して、3 つの解法オプションを指定できます。

  1. 2 つのチェック ボックスをオフにすると、ロバストなソルバーは無効になり、モデルには Simulink が解く代数ループが含まれ、解が見つかるまでループします。この手法では正しい結果が得られますが、モデル内の Surge Arrester ブロックの数が増えるとシミュレーションが収束しなくなる可能性があるため、推奨されません。代数ループが存在するため、この手法はリアルタイム アプリケーションでは使用できません。

  2. [Break Algebraic loop in discrete model] チェック ボックスのみをオンにすると、代数ループをブレークするために、非線形抵抗器モデルの電流出力に遅延が挿入されます。この遅延では、短いサンプル時間を使用する必要があります。サンプル時間を長くすると不安定になるため、この手法は推奨されません。

  3. [Use robust solver in discrete model] パラメーターをオンにすると、ロバストなソルバーによって、安定した反復と高精度のシミュレーション結果が得られます。R2019a リリース以降は、Surge Arrester ブロックを離散化するには、この手法を推奨します。

非線形インダクターの離散化

非線形インダクターとは、電流 (モデルの出力) が、電圧 (モデルの入力) の積分に対応する鎖交磁束の非線形関数である場合の誘導性素子です。高い精度を得るには、台形法や後退オイラー法のように陰的な積分手法を使用して、鎖交磁束を計算しなければなりません。欠点は、入力と出力の間の直達により、反復解法が必要になることです。

非線形インダクターは、単相変圧器ブロックと三相変圧器ブロックにおける飽和を実装するために使用されます。powergui ブロックの [Simulation type][Discrete] に設定した場合、transformer ブロックの [Advanced] タブで離散化手法を選択します。[Break Algebraic loop in discrete model] チェック ボックスと [Discrete solver model] パラメーターを使用して、4 つの解法を指定できます。

  1. [Break Algebraic loop in discrete model] パラメーターを選択すると、反復を防ぐために、非線形インダクター モデルの出力に遅延が挿入されます。この遅延では、安定性を維持し、高精度の結果を得るために、サンプル時間を短くする必要があります。

  2. [Break Algebraic loop in discrete model] パラメーターをオフにし、磁束 (電圧の積分) を計算するために [Trapezoidal iterative] 手法を使用する場合、Simulink は反復して解を求めます。この手法では正しい結果が得られますが、モデルで Saturable Transformer ブロックの数が増えるとシミュレーションが収束しなくなる可能性があるため、推奨されません。代数ループが存在するため、この手法はリアルタイム アプリケーションでは使用できません。

  3. [Trapezoidal robust] 手法を使用して磁束を計算すると、ロバストなソルバーが反復して解を求めます。

  4. [Backward Euler robust] 手法を使用して磁束を計算すると、ロバストなソルバーが反復して解を求めます。

R2019a リリース以降は、手法 3 と手法 4 を推奨します。ロバストな台形法は、ロバストな後退オイラー法より少しだけ精度が高くなります。ロバストな台形法では、変圧器の負荷がない場合に、変圧器の電圧にわずかな減衰数値振動が生じる可能性があります。このシナリオでは、ロバストな後退オイラー法が振動を防ぐとともに、許容可能な精度を維持します。