SImscape:如何在保险丝温度达到熔化温度跳闸情况后生成保险丝的温度降额曲线?

问题描述

我试图从 Simscape 中的热电等效电路模型中获得 10A 保险丝的温度-电流曲线。为此,我创建了一个自定义开关和可变电阻。

Thermoelectric_Simscape_Model

Thermal RC Cauer 模型与 FEM 一样,分为不同的 RC 连接,从那里计算保险丝的温度。


  1. 温度相关电阻(模型中:Variable_Resistance_Custom)

方程:

  1. R = R0*(1+alpha*(T-T0))
  2. P_electric_loss = iRR

.ssc 脚本

component R_ele_variable
% Variable Resistor
% Resistor is an electrical component that reduces the electric current. 
% The resistor's ability to reduce the current is called resistance.
%
% Resistance: Temperature Coefficient resistance Could be expected to 
% increase with temperature,since there  will be more collisions. 
% (R-R0)/R0 = alpha*(T-T0)

inputs
T =  { 0.0,'K' }; % T_RC:left 
end

outputs
P_ele = {0,'W'}; % P_ele:right
R_T = {0,'Ohm'}; % R_T:right
end

nodes
p = foundation.electrical.electrical; % +:left
n = foundation.electrical.electrical; % -:right
end

parameters
R0 = {7,75e-3,'Ohm'};           % Nominal resistance
T0 = {296.15,'K'};        % Reference temperature
alpha = {3.527e-3,'1/K'};    % Temperature coefficient
end

variables
i = { 0,'A' }; % Current    
end

branches
   i : p.i -> n.i;
end

equations
assert(R0>=0)
assert(T0>0)
assert(alpha>=0)
let
    % Calculate R,protecting against negative values
    Rdem = R0*(1+alpha*(T-T0));
    R = if Rdem > 0,Rdem else {0,'Ohm'} end;
in
    R*i == p.v-n.v; % Electrical equation
    P_ele == R*i*i; 
    R_T == R;
end        
end
end

  1. 一个控制保险丝的开关,每当温度达到熔化温度(在我的情况下大约 3.49 秒,它应该打开电路(在模型中:Switch_Custom)然后保险丝的温度将下降到环境温度(室温:23°C)根据以下等式:

  2. T = e^((-t)/(R∗C)),这里 R = R1 + R2 + R3 + R4 + R5 & C = C1+ C2 + C3 + C4 + C5(来自热模型)

.ssc 开关脚本

component switch_custom_tripping_1
% Switch_custom_tripping_1
% The block represents a switch controlled by an external physical
% signal. If the external physical signal PS is less than the threshold,% then the switch is closed,otherwise the switch is open.

inputs
T = { 0.0,'K' }; % T_RC:bottom
R = {0.0,'Ohm'}; % R_T:top
end

nodes
p = foundation.electrical.electrical; % p:top
n = foundation.electrical.electrical; % n:bottom
end

parameters
T_melting = { 661.15,'K' };       % Threshold
C_th = { 5035.9938,'J/K' };          % Thermal Capacitance
R_th = { 215.45,'K/W' };          % Thermal Resistance
end

variables
i = { 0,'A' }; % Current
v = { 0,'V' }; % Voltage
end

branches
i : p.i -> n.i;
end

equations
assert(T>0)
assert(T_melting>0)
assert(R>0)
v == p.v - n.v;
if T < T_melting      % Switch is close
    v == i*R; 
else     % Switch is open
    T == T_melting*exp(-{1,'s'}/(R_th*C_th));
%         R == {Inf,'Ohm'};
end
end
end

在此模型中给定认电流:15A 保险丝熔化温度:388 °C (661.15 Kelvin)

错误: 1) • 时间 3.495038669135668 的瞬态初始化,求解一致的状态和模式,未能收敛。 • 非线性求解器:线性代数错误。无法使用迭代矩阵求解。

在达到熔化温度后,我怎样才能使这个温度达到环境室温?

Derating Curve

我应该创建单独的函数来计算降额温度还是可以在 Variable_Resistor_Custom 中包含这个降额方程?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...