Main Content

連続積分法を使ったシミュレーション

状態空間方程式

回路が、nx 個の状態、ns 個のスイッチ、ny 個の電圧出力または電流出力を含むものと仮定して、ソフトウェアは以下のものを決定します。

  • nx 個の状態導関数 (次の式の行列 A、B から計算)

    x˙=A·x+B·u

  • ns 個のスイッチ変数 (開いたスイッチ間の電圧または閉じたスイッチを流れる電流のいずれか)

  • ny 個の出力変数 (次の式の行列 C、D から計算)

    y=C·x+D·u

合計 nx + ns + ny 個の方程式が得られます。

未知の変数は、状態導関数 dx/dt、出力 y、およびスイッチ変数 (スイッチ電圧またはスイッチ電流) です。既知の変数は、状態変数 x と入力 u (電圧源または電流源) です。

スイッチの開閉状態が決まっていないため、回路方程式はスイッチ電圧 (vD1、vD2) およびスイッチ電流 (iD1、iD2) を使用して表現されます。

これらの方程式は、回路ノードでの Kirchhoff 電流則 (KCL) および独立ループに対する Kirchhoff 電圧則 (KVL) を表します。これらの方程式は出力方程式によって完全なものになります。

状態空間モデルの計算は S-Function に組み込まれ、スイッチの状態が変化するたびに順次実行されます。

診断ビューアーで回路方程式のリストを入手するには、Powergui ブロックのパラメーター ダイアログ ボックスの [ソルバー] タブで、[Display circuit differential equations] チェック ボックスをオンにします。

積分アルゴリズムの選択

Simulink® ソフトウェアは、各種の積分法を使ったソルバーを提供します。多くの可変ステップ ソルバーは、線形回路で有効に使われます。しかし、非線形モデルを含む回路、特に回路ブレーカーやパワー エレクトロニクスを含む回路では、スティッフなソルバーが必要です。

精度が良く高速なシミュレーションには、通常、ode23tb が使われます。

ソルバー

ode23tb

相対許容誤差

1e-4

絶対許容誤差

auto

最大ステップ サイズ

auto

初期ステップ サイズ

auto

ソルバーのリセット メソッド

fast

通常、その絶対許容誤差と最大ステップ サイズでは auto が選択されます。場合によっては、最大ステップ サイズと絶対許容誤差の範囲をもつことがあります。許容誤差に関するパラメーターを小さくし過ぎると、シミュレーション時間が極めて遅くなります。絶対許容誤差の選択は、状態変数 (インダクター電流、コンデンサ電圧、制御変数など) の期待値の最大値に依存します。

たとえば、数千ボルトや数千アンペアといった高電力コンバーターを扱おうとする場合、絶対許容誤差は 0.1、あるいはむしろ 1.0 で十分です。しかし、電気回路が基準化された制御信号 (1 のまわりで変化) を利用する制御システムと関連する場合、絶対許容誤差は制御状態により課されます。この場合、1e-3 の絶対許容誤差 (制御信号の 1%) を選択すると適切です。ミリアンペアと予想される電流が流れる非常に低電力の回路を扱っている場合、絶対許容誤差を 1e-6 に設定します。

メモ:

通常、ode23tb ソルバーの [ソルバーのリセット メソッド] パラメーターをその既定値 (高速) にすると、シミュレーションのパフォーマンスが最も良くなります。しかし、非線形性の高い回路では、このパラメーターを [ロバスト] に設定することが必要になることがあります。新しいモデルを作成する場合、[ロバスト][高速] のリセット方法の両方を試すことをお勧めします。シミュレーションの結果に違いがなければ、シミュレーションの速度が最も高速な [高速] メソッドにします。

スイッチとパワー エレクトロニクス デバイスのシミュレーション

powergui ブロックの [Preferences] タブで、[Disable snubbers in switching devices] を選択できます。これにより、モデル内のすべてのスイッチのスナバが無効になります。あるいは、それらのブロック メニューで Rs=inf を指定することで、選択されたスイッチの個々のスナバを無効にすることもできます。抵抗 (Ron) と順電圧 (Vf) を無効にすることによって、完全に理想的なスイッチをシミュレーションすることもできます。

スナバを取り除くと回路の剛性が減少するので、たとえば ode23tb ではなく ode45 を使うように、ノンスティッフ ソルバーを使うことになります。さらに、結果が正確になり、シミュレーション速度が改善され高速になります。

抵抗が大きすぎる抵抗スナバを指定した場合、回路モデルが悪条件になり、シミュレーションが途中停止する原因になることがあります。そのようなケースでは、漏れ電流が許容範囲 (たとえば、スイッチの定格電流の 0.01% から 0.1%) になるよう、スナバの抵抗値を小さくします。

回路によっては順電圧 Vf がゼロより大きくかつ Ron=0 のスイッチを使用することがあり、この場合、状態と電源の依存性のためにシミュレーションが停止し、エラー メッセージが表示されることがあります。この問題を避けるには、(ゼロではない) 小さな Ron 値を指定します。