電力損失解析の実行
この例では、電力損失の解析方法と、過渡的な電力消費挙動の軽減方法を説明します。過渡状態がある場合とない場合の両方について行う電力損失の解析は、コンポーネントが安全と効率性のガイドライン内で動作しているかどうかを判断するのに役立ちます。
前提条件
この例では、MATLAB® ワークスペース内にシミュレーション ログ変数が必要です。この例のモデルは、全シミュレーション時間にわたってモデル全体の Simscape™ データを記録するように構成されています。
モデルがシミュレーション データを記録するように構成されているかどうかを確認する方法については、モデルのシミュレーション データ ログ コンフィギュレーションの確認を参照してください。
シミュレーションでの平均電力損失の計算
モデルを開きます。MATLAB コマンド プロンプトで、次のように入力します。
openExample("simscapeelectrical/PowerLossAnalysisExample");
モデルのシミュレーションを実行します。
sim("PowerLossAnalysis")
simlog_PowerLossAnalysis
という名前のシミュレーション ログ変数がワークスペース内に表示されます。モデル内の各ダイオードについて、シミュレーション全体での平均損失を計算します。
rectifierLosses = ee_getPowerLossSummary(simlog_PowerLossAnalysis.Rectifier)
rectifierLosses = 6×2 table LoggingNode Power ________________ _____ {'Rectifier.D6'} 11514 {'Rectifier.D3'} 11514 {'Rectifier.D2'} 11511 {'Rectifier.D5'} 11511 {'Rectifier.D1'} 11511 {'Rectifier.D4'} 11511
平均すると、ダイオード D3 と D6 が整流器内の他のダイオードよりも多くの電力を消費しています。
瞬時電力消費を使用した電力消費の差の解析
各 Diode ブロックには、瞬時電力消費を測定する変数 power_dissipated があります。ダイオードが消費した平均電力の差を調べるには、Simscape 結果エクスプローラーを使用してシミュレーション データを表示します。
結果エクスプローラーを使用してシミュレーション データを開きます。
sscexplore(simlog_PowerLossAnalysis)
ダイオードによって消費された瞬時電力を表示します。
[Rectifier] ノードを展開します。
[D1] ~ [D6] のノードを展開します。
ダイオード [D1] の
power_dissipated
ノードをクリックしてから、他の 5 つのダイオードのpower_dissipated
ノードを Ctrl キーを押しながらクリックします。結果エクスプローラー ウィンドウで、[プロット オプション] セクションで [レイアウト] ボタンをクリックして
Separate
に設定します。
シミュレーション開始時には、各ダイオードの電力消費に差があります。
さらに詳しく差を調べます。プロットを重ね合わせ、シミュレーション開始時点にズームします。結果エクスプローラー ウィンドウで、次のようにします。
[終了時間] に
0.02
を指定します。[レイアウト] を
Overlay
に設定します。
電力消費の変動は、シミュレーション開始時の過渡的挙動によるものです。モデルは、シミュレーション時間 t ⋍ 0.001 秒で定常状態に達します。
過渡的挙動が含まれる期間中のダイオードのみについて平均電力消費を求めます。
rectifierLosses = ee_getPowerLossSummary(simlog_PowerLossAnalysis.Rectifier,0,1e-3)
rectifierLosses = 6×2 table LoggingNode Power ________________ ______ {'Rectifier.D3'} 38772 {'Rectifier.D6'} 38772 {'Rectifier.D4'} 293.62 {'Rectifier.D5'} 293.62 {'Rectifier.D1'} 139.11 {'Rectifier.D2'} 31.26
ダイオード D3 と D6 により消費された電力の平均値は、他のダイオードの平均値を上回っています。
シミュレーション時間全体について、各ダイオードの最大電力消費の table を出力します。
pd_D1_max = max(simlog_PowerLossAnalysis.Rectifier.D1.power_dissipated.series.values); pd_D2_max = max(simlog_PowerLossAnalysis.Rectifier.D2.power_dissipated.series.values); pd_D3_max = max(simlog_PowerLossAnalysis.Rectifier.D3.power_dissipated.series.values); pd_D4_max = max(simlog_PowerLossAnalysis.Rectifier.D4.power_dissipated.series.values); pd_D5_max = max(simlog_PowerLossAnalysis.Rectifier.D5.power_dissipated.series.values); pd_D6_max = max(simlog_PowerLossAnalysis.Rectifier.D6.power_dissipated.series.values); diodes = {'D1';'D2';'D3';'D4';'D5';'D6'}; PowerMax = [pd_D1_max;pd_D2_max;pd_D3_max;pd_D4_max;pd_D5_max;pd_D6_max]; T = table(PowerMax,'RowNames', diodes)
T = 6×1 table PowerMax ________ D1 39892 D2 39892 D3 60746 D4 39891 D5 39892 D6 60746
ダイオード D3 と D6 の最大瞬時電力消費は、他のダイオードの最大瞬時電力消費のほぼ 2 倍です。
シミュレーション データにおける過渡効果の軽減
シミュレーション開始時の過渡的な電力消費を軽減するために、シミュレーションの最終状態を使用して、新しいシミュレーションを定常状態で初期化します。
最終状態を保存するようにモデルを構成します。
モデル コンフィギュレーション パラメーターを開きます。
[ソルバー] ペインで、[終了時間] を
0.5
から 1e-3 に変更します。[データのインポート/エクスポート] ペインで、次のオプションを選択します。
最終状態
最終の操作点を保存
[適用] をクリックします。
シミュレーションを実行します。
最終状態は、変数 xFinal として MATLAB ワークスペース内に保存されます。
モデル コンフィギュレーション パラメーターで、xFinal を使用して初期化するようにモデルを構成します。
[データのインポート/エクスポート] ペインで、次のようにします。
[初期状態] オプションを選択する。
[初期状態] パラメーターの値を
xInitial
からxFinal
に変更する。[最終状態] オプションをオフにする。
[ソルバー] ペインで、[終了時間] を
0.5
に変更します。[OK] をクリックします。
シミュレーションを実行します。
新しいシミュレーションのデータを表示します。
Simscape 結果エクスプローラーの [データのインポート] ボタンをクリックします。
[OK] をクリックし、
simlog_PowerLossAnalysis
がログ データを含む変数名であることを確認します。データをより明確に確認するために、凡例をクリックしてドラッグし、ピーク振幅から遠ざけます。
プロットは、シミュレーションに過渡状態がなくなったことを示しています。
変更されたシミュレーションで、各ダイオードの最大電力消費の table を出力します。
pd_D1_max = max(simlog_PowerLossAnalysis.Rectifier.D1.power_dissipated.series.values); pd_D2_max = max(simlog_PowerLossAnalysis.Rectifier.D2.power_dissipated.series.values); pd_D3_max = max(simlog_PowerLossAnalysis.Rectifier.D3.power_dissipated.series.values); pd_D4_max = max(simlog_PowerLossAnalysis.Rectifier.D4.power_dissipated.series.values); pd_D5_max = max(simlog_PowerLossAnalysis.Rectifier.D5.power_dissipated.series.values); pd_D6_max = max(simlog_PowerLossAnalysis.Rectifier.D6.power_dissipated.series.values); diodes = {'D1';'D2';'D3';'D4';'D5';'D6'}; PowerMax = [pd_D1_max;pd_D2_max;pd_D3_max;pd_D4_max;pd_D5_max;pd_D6_max]; T = table(PowerMax,'RowNames', diodes)
T = 6×1 table PowerMax ________ D1 39892 D2 39892 D3 39891 D4 39891 D5 39892 D6 39892
ダイオード D3 と D6 の最大瞬時電力消費は、他のダイオードの最大瞬時電力消費と同じになっています。