Main Content

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

データからの太陽電池パラメーターの抽出

この例では、さまざまな温度にわたって定義されたデータを近似するための、Solar Cell ブロックのパラメーターの最適化を示します。MATLAB® 最適化関数 fminsearch を使用します。Simscape™ Electrical™ モデルに対するこの種のパラメーター近似の実行に使用可能なその他の製品には、Optimization Toolbox™ や Simulink® Design Optimization™ があります。これらの製品は、GUI またはコマンド ライン アプローチを使用してブロックの操作と解析を行うための、事前定義された関数を提供します。

手法

2 ステップの手順を使用して、8 パラメーターの Solar Cell の I-V 出力曲線をデータに近似します。

  1. Solar Cell の [メイン] ダイアログ タブのパラメーターを最適化して、出力曲線を室温におけるデータに一致させます。

  2. Solar Cell の [温度] ダイアログ タブのパラメーターを最適化して、出力曲線を室温以外の温度におけるデータに一致させます。

データとブロックのセットアップ

MATLAB データ ファイル SolarCellFromDatasheetData.mat には、Solar Cell データが構造体配列として格納されます。各構造体には、temperaturei (電流)、v (電圧) の 3 つのフィールドがあります。Solar Cell ブロックはデータ構造体を参照して、デバイスの動作温度と VPulse ブロックのパルス値 V2 を設定し、規定電圧におけるシミュレーションの出力電流を生成します。規定電圧は、規定の出力時間にシミュレーション結果を出力することによって設定されます。出力時間を設定するには、[モデル化] タブで [モデル設定] をクリックし、[コンフィギュレーション パラメーター] の [データのインポート/エクスポート] カテゴリで、[追加パラメーター] をクリックして [出力時間] を指定します。スコープは、出力電圧の応答と出力電流の応答を構造体データ Io.signal.values と Vo.signal.values として保存します。

初期パラメーター指定

fminsearch の開始値は、Solar Cell ブロックの既定値、データシートの値、および次の方程式の組み合わせを使用して推定できます。

$$I_{ph} = I_{sc}$$

$$I_s = {I_{ph} \over (exp(V_{oc} / (.025*ec)) - 1)}$$

$$R_s = {-dV \over dI} @V_{oc}$$

$$R_p = {-dV \over dI} @I_{sc}$$

最適化前のパラメーターと初期値のリスト

fminsearch は関数の局所的最小値を特定する、制約なしの非線形オプティマイザーであるため、初期推定値を変更すると解のセットが変わります。

初期パラメーターを使用した、Solar Cell の出力に対するデータのプロット

8 パラメーターの Solar Cell モデルを読み込み、パラメーターを設定します。

誤差の二乗和の計算

SolarCellFromDatasheetCostFunction は、fminsearch で最小化される関数です。この関数は、太陽電池の出力電流とデータの差に対する誤差の二乗和を返します。fminsearch によって無効なパラメーター値が供給された場合、catch ステートメントは、誤差として大きな値を返します。

室温における [メイン] タブ ダイアログのパラメーターの最適化 (手順 1)

Optimized parameters for the solar cell main dialog tab are:

	   Is = 3.14978e-07
	  Iph =     3.80137
	   ec =     1.39989
	   Rs =  0.00415132
	   Rp =     10.1093

温度依存を制御するパラメーターの最適化 (手順 2)

Optimized parameters for the solar cell temperature dialog tab are:

	TIPH1 = 0.00080492
	   EG =     1.1384
	TXIS1 =     3.3842

最適化された曲線の表示