Main Content

簡単な回路の解析

はじめに

この節では、以下を説明します。

  • power_analyze コマンドを使って、モデルの状態空間表現を取得する

  • Powergui ブロックのグラフィカル ユーザー インターフェイスを使用して、定常状態の電圧と電流を計算する

  • 周波数領域で電気回路を解析する

電気状態変数

電気状態変数は、Simscape™ Electrical™ Specialized Power Systems ブロックのコンデンサとインダクタ デバイスに関連付けられた、ブロック線図の Simulink® の状態です。インダクタやコンデンサの素子は、Series RLC Branch ブロックや Three-Phase Parallel RLC Load ブロックなどの RLC 分岐タイプのブロック、変圧器のモデル、PI Section Line ブロック、パワー エレクトロニクス デバイスのスナバ デバイスなどに見られます。

電気状態変数は、インダクタの電流とコンデンサの電圧で構成されます。Simscape Electrical Specialized Power Systems の電気的状態の変数名には、インダクタまたはコンデンサがあるブロックの名前が含まれます。インダクタの電流には接頭辞 Il_ が、コンデンサの電圧には接頭辞 Uc_ が付きます。

power_analyze を使用する状態空間表現

power_analyze コマンドを使用して、モデルの状態空間表現を計算します。MATLAB® プロンプトで以下のコマンドを入力します。

[A,B,C,D,x0,electrical_states,inputs,outputs]=power_analyze('power_gui')

power_analyze コマンドは、power_gui モデル例の状態空間モデルを 4 つの行列 A、B、C、D に出力します。x0 は回路の電気的な状態の初期条件のベクトルです。電気状態変数、入力、出力の名前は、3 つの行列に出力されます。

この関数の使用方法の詳細は、「power_analyze」のリファレンス ページを参照してください。

定常状態解析

コマンド ラインに power_gui と入力して、power_gui モデル例を開きます。次に Powergui ブロックを開き、[Apps] タブで "Measurement and States Analyzer" を選択して、モデルの電圧測定および電流測定ブロックによって測定された定常状態のフェーザ電圧を表示します。

各測定の出力は、測定ブロックの名前に対応する文字ベクトルで識別されます。フェーザの振幅は、正弦波電圧のピーク値に対応します。

[Sources] または [States] チェック ボックスをオンにすることで、電源電圧の定常値あるいはインダクタ電流とコンデンサ電圧の定常値も表示できます。

"Measurement and States Analyzer" アプリ ウィンドウに一覧表示された、電圧源の電圧、電流、電気状態変数に使用する符号の規則の詳細については、電圧と電流の測定のセクションを参照してください。

周波数解析

[Simscape][Electrical][Specialized Power Systems][Sensors and Measurements] ライブラリには、回路にある任意の 2 つのノード間におけるインピーダンスを測定する Impedance Measurement ブロックがあります。以下の 2 つの節では、2 つの方法を使用して power_gui モデルのインピーダンスを測定します。

Impedance Measurement ブロックおよび Powergui ブロックによるインピーダンスの周波数特性の測定

回路のインピーダンスを状態空間モデル (次節インピーダンスの周波数特性を状態空間モデルから測定するで詳述) から測定するプロセスは、Simscape Electrical Specialized Power Systems ブロックで自動化されています。power_gui モデル例では、powerlib の 2 つの Impedance Measurement ブロックにより、モデルの 2 点でインピーダンスが測定されます。図に示すように Impedance B3 ブロックを削除し、Impedance B1 を再接続します。

Impedance Measurement ブロックによるインピーダンスの周波数特性の測定

150 km Line ブロックで [Number of pi sections] を 1 に設定し、[OK] をクリックします。Powergui ダイアログを開きます。[Apps] タブで、[Impedance Calculator] を選択します。新規ウィンドウが開き、回路で使用可能な Impedance Measurement ブロックが一覧表示されます。

周波数範囲を 0:2:5000 と入力してください。これは、ゼロから 5000 Hz の範囲を 2 Hz ステップで計算するという意味です。対数スケールを選択して、Z の大きさを表示します。

計算が終了すると、ウィンドウには周波数の関数として振幅と位相が表示されます。150 km Line ブロックのダイアログ ボックスで、[Number of pi sections] を 10 に設定します。Powergui の [Impedance Calculator] ツールで、[Update] ボタンをクリックします。ブロック ダイアログ ボックスに、新しい回路の周波数応答が表示されます。

インピーダンスの周波数特性を状態空間モデルから測定する

メモ:

以下の節では、Control System Toolbox™ ソフトウェアがインストールされていることを前提としています。

インピーダンスの周波数特性を、impedance measurement ブロックが接続されているノードと同じノードで測定する場合、状態空間モデルに 2 番目の入力を提供する電流源が必要です。[Simscape][Electrical][Specialized Power Systems][Sources] ライブラリから、モデルに AC Current Source ブロックを追加します。この電流源を以下のように接続します。電流源の振幅を 0 に設定し、その周波数を 60 Hz に保ちます。

ノード B2 における AC 電流源

ここで、power_analyze コマンドを使用して、モデルの状態空間表現を計算します。MATLAB プロンプトで以下のコマンドを入力します。

sys1 = power_analyze('power_gui','ss')

このコマンドは、対象の電気回路の連続時間状態空間モデルを表す状態空間モデルを出力します。

ラプラス領域において、インピーダンスは AC current Source ブロックによる印加電流と U2 の Voltage Measurement ブロックによる測定電圧間の伝達関数として定義されます。

Z2(s)=U2(s)I2(s)

この状態空間モデルの入力と出力の名前は以下のように取得することができます。

sys1.InputName
ans = 
    'U_Vs (60Hz)'
    'I_AC Current Source'
sys1.OutputName
ans = 
    'U_Ub2'
    'U_Ub1'

測定ノードにおけるインピーダンスは、この状態空間モデルの出力 1 と入力 2 間の伝達関数に対応します。0 ~ 5000 Hz の範囲では、次のように計算され表示されます。

freq=0:5000;
w=2*pi*freq;
bode(sys1(1,2),w);

10 セクションの線路モデルを想定し、周波数応答を得るために、同じ過程を繰り返します。[PI Section Line] ダイアログ ボックスを開き、セクション数を 1 から 10 に変更します。新たな周波数応答を計算して単一セクションの線路を使って得られたものに重ね合わせるには、以下のコマンドを入力してください。

sys10 = power_analyze('power_gui','ss');
bode(sys1(1,2),sys10(1,2),w);

ボード線図のプロパティ エディターを開き、線形スケールを使って周波数の単位として Hz を選択します。対数スケールを使って大きさを絶対値で選択します。結果のプロットは、以下のようになります。

測定ノードにおける、周波数の関数としてのインピーダンス

このグラフから、単一セクション モデルによって表される周波数範囲は限定されていて、高周波側では 10 セクション モデルの方が良い近似を与えることがわかります。