The other day I was trying to simulate a customized NTC resistor, and finally I came with the solution of creating a new custom component.
First of all, open a .ssc file in order to access to the block editor. Choose a component, for example a resistor, and open the block parameter.
Blocm parameter: Resistor |
.ssc file example |
Inside this block editor we can create any component.
In my case, I would like to create a NTC with B equation dependence:
Code:
component MyNTC_B_equation
Explanation that will appear in the block parameter:
%NTC Name of the component
%Resistor with temperature dependece defined by R = R0* exp(B*(1./T-1/T0))
%Where R is the nominal resistance at the reference temperature in ohms and B is the characteristic temperature constant
% Temperature must be in Kelvin!!!
Pins that will be in our component
%component pins
nodes
p = foundation.electrical.electrical; %+:left
n = foundation.electrical.electrical; %-:right
end
variables
i = {0,'A'};
v = {0,'V'};
end
Parameters by default that the user can change:
%user interface
parameters
R0 = {33,'kOhm'}; %nominal resistance
B = {3000, 'K'}; %characteristic temperature constant
T0 = {300,'K'} %Reference temperature
T = {300,'K'} %Current temperature
end
%function of model
function setup
if R0 < 0
pm_error('simscape:GreaterThatOrEqualToZero','Resistance')
end
through (i, p.i, n.i);
across (v,p.v,n.v);
end
Component behaviour
%component behaviour
equations
v == R0 * exp(B*(1./T-1/T0))*i;
end
end
Note: The code is just the blue one!
Now, in order to create a library with this component, we must save the file in a folder starting with '+'. For example: '+MyComponents'.
Now, in Matlab enviroment, and in the path we have the new folder, we write:
>>ssc_build
MyComponents;
Matlab will give us back a comment:
Generating Simulink library 'MyComponents_lib' in the current directory '...'
And the library will be created with the component inside it.
Custom components library |
Here I have two examples inside my library: NTC and R therms. The library will convert all the .ssc files to inside the folder to components.
If we select our component into a new Simulink model and we double-click it we can see the different parameters that need to be enter by an external user. We can also go to the code of the NTC.
Block parameters: Custom component |
Now, we can use the component in any schematic we want.
With that tool, we can create whatever we need for our examples! If you have an example I will be glad to look at it and use it in my future examples! You can use mine too!
Hope this helps!