データからの太陽電池パラメーターの抽出
この例では、さまざまな温度にわたって定義されたデータを近似するための、Solar Cell ブロックのパラメーターの最適化を示します。MATLAB® 最適化関数 fminsearch
を使用します。Simscape™ Electrical™ モデルに対するこの種のパラメーター近似の実行に使用可能なその他の製品には、Optimization Toolbox™ や Simulink® Design Optimization™ があります。これらの製品は、GUI またはコマンド ライン アプローチを使用してブロックの操作と解析を行うための、事前定義された関数を提供します。
手法
2 ステップの手順を使用して、8 パラメーターの Solar Cell の I-V 出力曲線をデータに近似します。
Solar Cell の [メイン] ダイアログ タブのパラメーターを最適化して、出力曲線を室温におけるデータに一致させます。
Solar Cell の [温度] ダイアログ タブのパラメーターを最適化して、出力曲線を室温以外の温度におけるデータに一致させます。
データとブロックのセットアップ
MATLAB データ ファイル SolarCellFromDatasheetData.mat には、Solar Cell データが構造体配列として格納されます。各構造体には、temperature、i (電流)、v (電圧) の 3 つのフィールドがあります。Solar Cell ブロックはデータ構造体を参照して、デバイスの動作温度と VPulse ブロックのパルス値 V2 を設定し、規定電圧におけるシミュレーションの出力電流を生成します。規定電圧は、規定の出力時間にシミュレーション結果を出力することによって設定されます。出力時間を設定するには、[モデル化] タブで [モデル設定] をクリックし、[コンフィギュレーション パラメーター] の [データのインポート/エクスポート] カテゴリで、[追加パラメーター] をクリックして [出力時間] を指定します。スコープは、出力電圧の応答と出力電流の応答を構造体データ Io.signal.values と Vo.signal.values として保存します。
初期パラメーター指定
fminsearch
の開始値は、Solar Cell ブロックの既定値、データシートの値、および次の方程式の組み合わせを使用して推定できます。
最適化前のパラメーターと初期値のリスト
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