Simscape Model Error - Residual norm too large
조회 수: 1 (최근 30일)
이전 댓글 표시
Hello,
I'm trying to create a model of a solar power system in Simscape. Therefore I wrote an Simscape Component modelling a solar panel. But always when I try to execute my model, I get the following error message:
Initial conditions solve failed to converge. ...Nonlinear solver: failed to converge, residual norm too large. ......Here is the set of components with unconverged equations:
'Simscape_Solar_Module/Solar Panel' Equation location is: 'C:/Users/paschmal/Matlab/Example1/+Electrical/solar_panel.ssc' (line 51)
I hope somebody could help me with this problem?
Thanks a lot!
if true
% code
component solar_panel
nodes
p = foundation.electrical.electrical; % +:top
n = foundation.electrical.electrical; % -:bottom
end
variables
I = {0, 'A'};
V = {0, 'V'};
end
inputs
E = {1000, 'W/m^2'}; % E:top
end
outputs
V_o ={0, 'V'}; % V_o:bottom
I_o ={0, 'A'}; % I_o:bottom
end
parameters
I_sc = {6.46, 'A'}; % Kurzschlussstrom
V_oc = {65.3, 'V'}; % Leerlaufspannung
R_s = {1e-2, 'Ohm'}; % Reihenwiderstand
R_p = {100, 'Ohm'}; % Parallelwiderstand
N = 1.5; % Qualitätsfaktor (1 <= m <= 2)
end
parameters(Access=private)
E_0 = {1000, 'W/m^2'}; % Bestrahlungsstärke STC
V_t = {25.7, 'mV'}; % Temperaturspannung
i_0 = {0, 'A'};
end
function setup
through(I, p.i, n.i);
across(V, p.v, n.v);
end
equations
if abs(V) < V_oc
let
I_ph = I_sc*E/E_0;
V_d = abs(V) + abs(I)*R_s;
I_s = (I_sc-V_oc/R_p)/(exp(V_oc/(N*V_t))-1);
I_d = I_s*(exp(V_d/(N*V_t))-1);
I_p = V_d/R_p;
in
I == I_ph - I_d - I_p;
end
else
I == i_0;
end
V_o == V;
I_o == I;
end
end
end
댓글 수: 0
답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Troubleshooting에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!