Resistor
Resistor including optional tolerance, operational limits, fault behavior, and
noise
Description
The Resistor block represents a linear resistor,
while letting you model the following effects:
You can turn these modeling options on and off independently
of each other. When all the additional options are turned off, the
component behavior is identical to the Simscape™ Foundation library Resistor block.
In its simplest form, the Resistor block models
a linear resistor, described with the following equation:
where:
i is current.
v is voltage.
R is resistance.
If you set the Noise mode parameter to Enabled
,
then the defining equations are augmented by a discrete variable iN to
represent thermal noise, as described in Thermal Noise.
Tolerances
You can apply tolerances to the nominal value you provide for
the Resistance parameter. Datasheets typically
provide a tolerance percentage for a given resistor type. The table
shows how the block applies tolerances and calculates resistance based
on the selected Tolerance application option.
Option | Resistance
Value |
---|
None — use nominal value
| R |
Random tolerance
| Uniform distribution: R · (1
– tol + 2· tol· rand ) Gaussian
distribution: R · (1 + tol · randn / nSigma) |
Apply maximum tolerance value
| R · (1 + tol ) |
Apply minimum tolerance value
| R · (1 – tol ) |
In the table,
R is the Resistance parameter
value, nominal resistance.
tol is fractional tolerance, calculated from the
percent-based Tolerance (%) parameter.
nSigma is the value you provide
for the Number of standard deviations for quoted tolerance parameter.
rand
and randn
are standard MATLAB® functions
for generating uniform and normal distribution random numbers.
Note
If you choose the Random tolerance
option and you
are in "Fast Restart" mode, the random tolerance value is updated on every
simulation if at least one between the fractional tolerance,
tol, or the Number of standard deviations for
quoted tolerance, nSigma, is set to Run-time
and is defined with a variable (even if you do not modify that variable).
Operating Limits
You can specify operating limits in terms of power and maximum
working voltage. For the thermal variant of the block (see Thermal Port), you can also specify operating
limits in terms of temperature.
When an operating limit is exceeded, the block can either generate
a warning or stop the simulation with an error. For more information,
see the Operating Limits parameters
section.
Faults
The Resistor block allows you to model an electrical
fault as an instantaneous change in resistance. The block can trigger
fault events:
You can enable or disable these trigger mechanisms separately, or use them together if more
than one trigger mechanism is required in a simulation. When more than one mechanism
is enabled, the first mechanism to trigger the fault takes precedence. In other
words, the component fails no more than once per simulation.
When the resistor fails, its resistance is changed to the value you specify for the
Faulted zero-voltage resistance parameter. You can also
choose whether to issue an assertion when a fault occurs, by using the
Reporting when a fault occurs parameter. The assertion can
take the form of a warning or an error. By default, the block does not issue an
assertion.
Thermal Noise
The Resistor block can generate thermal noise current. If you
set the Noise mode parameter to Enabled
,
then the defining equations are augmented by a discrete variable iN to
represent thermal noise:
If the sampling time is h, then the thermal
noise is given by:
where:
k is the Boltzmann constant, 1.3806504e-23
J/K.
T is the temperature.
R is the resistance.
N is a Gaussian random number with
zero mean and standard deviation of one.
2kT/R is the double-sided thermal
noise power distribution (the single-sided equivalent is 4kT/R).
The block generates Gaussian noise by using the PS Random Number source in
the Simscape Foundation library. You can control the random number seed by setting
the Repeatability parameter:
Not repeatable
—
Every time you simulate your model, the block resets the random seed
using the MATLAB random number generator:
Repeatable
— The
block automatically generates a seed value and stores it inside the
block, to always start the simulation with the same random number.
This auto-generated seed value is set when you add a Resistor block
from the block library to the model. When you make a new copy of the
Resistor block from an existing one in a model, a new seed value is
generated. The block sets the value using the MATLAB random number
generator command shown above.
Specify seed
— If
you select this option, the additional Seed parameter
lets you directly specify the random number seed value.
Thermal Port
The block has an optional thermal port, hidden by default. To
expose the thermal port, right-click the block in your model, and
then from the context menu select > > .
This action displays the thermal port H on the block icon, and adds
the Thermal tab and the Variables tab
to the block dialog box.
Use the Thermal tab to specify how the
resistance value changes with temperature and to set the thermal mass.
Use the Variables tab to set the initial temperature
target.
With the thermal port exposed, the generated noise uses the
temperature at the thermal port when determining the instantaneous
noise value. Exposing the thermal port also extends the options on
the Operating Limits tab as follows:
The Power rating parameter becomes
temperature dependent. You define a temperature up to which the full
power rating is available, plus a higher temperature for which the
power rating is reduced to zero. It is assumed that the power rating
decreases linearly with temperature between these two values.
An additional parameter, Operating temperature
range, [Tmin Tmax], lets you define the valid temperature
range for block operation.
Variables
Use the Variables section of the block
interface to set the priority and initial target values for the block
variables prior to simulation. For more information, see Set Priority and Initial Target for Block Variables.
This section appears only for the blocks with exposed thermal
port. The Temperature variable lets you specify
a high-priority target for the temperature at the start of simulation.
Basic Assumptions and Limitations
Simulating with noise enabled slows down simulation. Choose
the sample time (h) so that noise is generated
only at frequencies of interest, and not higher.
Ports
Conserving
expand all
+
— Positive terminal
electrical
Electrical conserving port associated with the resistor positive
terminal.
-
— Negative terminal
electrical
Electrical conserving port associated with the resistor negative
terminal.
H
— Resistor thermal mass
thermal
Thermal conserving port that represents the resistor thermal mass.
Dependencies
Enabled for the thermal variant of the block. For more
information, see Thermal Port.
Parameters
expand all
Main
Resistance
— Nominal resistance value
1 Ohm (default)
The nominal resistance value. Resistance value must be greater
than zero.
Tolerance (%)
— Resistor tolerance, in percent
5 (default)
The resistor tolerance as defined on the manufacturer datasheet.
Tolerance application
— Select how to apply tolerance during simulation
None — use nominal
value
(default) | Random tolerance
| Apply maximum tolerance value
| Apply minimum tolerance value
Select how to apply tolerance during simulation:
None — use nominal value
— The block does not apply tolerance, uses the nominal
resistance value. This is the default.
Random tolerance
— The block
applies random offset to the resistance value, within the
tolerance value limit. You can choose Uniform or Gaussian
distribution for calculating the random number by using the
Tolerance distribution
parameter.
Apply maximum tolerance value
— The resistance is increased by the specified tolerance
percent value.
Apply minimum tolerance value
— The resistance is decreased by the specified tolerance
percent value.
Tolerance distribution
— Select the distribution type
Uniform
(default) | Gaussian
Select the distribution type for random tolerance:
Dependencies
Enabled when the Tolerance application parameter
is set to Random tolerance
.
Number of standard deviations for quoted tolerance
— Used for calculating the Gaussian random number
4 (default)
Number of standard deviations for calculating the Gaussian random
number.
Dependencies
Enabled when the Tolerance distribution parameter
is set to Gaussian
.
Operating Limits
Enable operating limits
— Select Yes
to enable reporting when the operational
limits are exceeded
No
(default) | Yes
Select Yes
to enable reporting when the operational
limits are exceeded. The associated parameters in the
Operating Limits section become visible to let
you select the reporting method and specify the operating limits in
terms of power and maximum working voltage. Parameters that specify
operating limits in terms of temperature are visible only for blocks
with an exposed thermal port (see Thermal Port). The default value is
No
.
Reporting when operating limits exceeded
— Select the reporting method
Warn
(default) | Error
Select what happens when an operating limit is exceeded:
Dependencies
Enabled when the Enable operating limits parameter
is set to Yes
.
Maximum working voltage
— Maximum voltage allowed for normal block operation
100 V (default)
Maximum voltage magnitude allowed for normal block operation.
Dependencies
Enabled when the Enable operating limits parameter
is set to Yes
.
Power rating
— Maximum power allowed for normal block operation
1 W (default)
Maximum power allowed for normal block operation.
If you expose the thermal port of the block, this parameter
becomes temperature dependent. The value you specify for the Power
rating parameter applies up to the temperature specified
by the Temperature below which full power rating is available parameter
value. Then the power rating decreases linearly with temperature,
until it becomes 0 at temperature specified by the Temperature
above which power rating is reduced to zero parameter value.
Dependencies
Enabled when the Enable operating limits parameter
is set to Yes
.
Temperature below which full power rating is available
— Maximum temperature where full power rating still applies
70 °C (default)
Maximum temperature where full power rating, specified by the Power
rating parameter value, still applies.
Dependencies
Enabled for the thermal variant of the block. For more information,
see Thermal Port.
Temperature above which power rating is reduced to zero
— Temperature where power rating becomes 0
155 °C (default)
Temperature where power rating becomes 0. Above this temperature,
the simulation always issues an assertion regardless of dissipated
power. This parameter value must be higher than Temperature
below which full power rating is available.
Dependencies
Enabled for the thermal variant of the block. For more information,
see Thermal Port.
Operating temperature range, [Tmin Tmax]
— Minimum and maximum temperature values allowed for normal block operation
[-50 150] °C (default)
A row vector of length 2 specifying minimum and maximum temperature
values allowed for normal block operation. The first element is the
lowest allowable operating temperature, and the second element is
the largest allowable operating temperature.
Dependencies
Enabled for the thermal variant of the block. For more information,
see Thermal Port.
Faults
Enable faults
— Select Yes
to enable faults modeling
No
(default) | Yes
Select Yes
to enable faults modeling. The
associated parameters in the Faults section become
visible to let you select the reporting method and specify the trigger
mechanism (temporal or behavioral). You can enable these trigger
mechanisms separately or use them together.
Reporting when a fault occurs
— Choose whether to issue an assertion when a fault occurs
None
(default) | Warn
| Error
Choose whether to issue an assertion when a fault occurs:
None
— The block
does not issue an assertion.
Warn
— The block
issues a warning.
Error
— Simulation
stops with an error.
Dependencies
Enabled when the Enable faults parameter
is set to Yes
.
Faulted resistance
— Resistance when block is in faulted state
inf Ohm (default)
Resistance between the + and – ports when the block is
in the faulted state.
Dependencies
Enabled when the Enable faults parameter
is set to Yes
.
Enable temporal fault trigger
— Select Yes
to enable time-based fault triggering
No
(default) | Yes
Select Yes
to enable time-based fault triggering.
You can enable the temporal and behavioral trigger mechanisms separately
or use them together.
Dependencies
Enabled when the Enable faults parameter
is set to Yes
.
Simulation time for fault event
— Time before entering faulted state
1 s (default)
Set the simulation time at which you want the block to enter the
faulted state.
Dependencies
Enabled when the Enable temporal fault
trigger parameter is set to
Yes
.
Enable behavioral fault trigger
— Select Yes
to enable behavioral fault triggering
No
(default) | Yes
Select Yes
to enable behavioral fault triggering.
You can enable the temporal and behavioral trigger mechanisms separately
or use them together.
Dependencies
Enabled when the Enable faults parameter
is set to Yes
.
Maximum permissible current
— Current threshold to fault transition
1 A (default)
Specify the maximum permissible current value. If the current
exceeds this value for longer than the Time to fail when
exceeding maximum permissible current parameter value,
then the block enters the faulted state.
Dependencies
Enabled when the Enable behavioral fault trigger parameter
is set to Yes
.
Time to fail when exceeding maximum permissible current
— Maximum length of time the current exceeds the threshold
1 s (default)
Set the maximum length of time that the current can exceed the maximum
permissible value without triggering the fault.
Dependencies
Enabled when the Enable behavioral fault
trigger parameter is set to
Yes
.
Noise
Noise mode
— Select whether to model thermal noise current
Disabled
(default) | Enabled
Select whether to model thermal noise current:
Disabled
— No noise is
produced by the resistor.
Enabled
— Resistor generates
thermal noise current, and the associated parameters become
visible in the Noise section.
Sample time
— Rate at which the noise source is sampled
1e-3 s (default)
Defines the rate at which the noise source is sampled. Choose
it to reflect the frequencies of interest in your model. Making the
sample time too small will unnecessarily slow down your simulation.
Dependencies
Enabled when the Noise mode parameter is
set to Enabled
.
Repeatability
— Select the noise control option
Not repeatable
(default) | Repeatable
| Specify seed
Select the noise control option:
Not repeatable
—
The random sequence used for noise generation is not repeatable.
Repeatable
— The
random sequence used for noise generation is repeatable, with a system-generated
seed.
Specify seed
— The
random sequence used for noise generation is repeatable, and you control
the seed by using the Seed parameter.
Dependencies
Enabled when the Noise mode parameter is
set to Enabled
.
Auto-generated seed used for repeatable option
— Auto-generated random number seed
random real number
Random number seed stored inside the block to make the random
sequence repeatable. The parameter value is automatically generated
using the MATLAB random number generator command. You can modify
this parameter value, but it gets overwritten by a new random value
if you copy the block to another block in the model. Therefore, if
you want to control the seed of the random sequence, use the Specify
seed
option for the Repeatability parameter
and specify the desired seed value using the Seed parameter.
Dependencies
Enabled when the Repeatability parameter
is set to Repeatable
.
Seed
— Random number seed
0 (default)
Seed used by the noise random number generator.
Dependencies
Enabled when the Repeatability parameter
is set to Specify seed
.
Device simulation temperature
— Temperature of resistor at the start of the simulation
25 °C (default)
The temperature of the resistor at the start of the simulation.
Dependencies
Enabled when the Noise mode parameter is
set to Enabled
.
For blocks with an exposed thermal port, this parameter is disabled.
Instead, use the Variables tab to set the initial
temperature target. For more information, see Variables.
Thermal
This tab appears only for blocks with exposed thermal port.
For more information, see Thermal Port.
Resistance temperature coefficient
— Specifies how the resistance value changes with temperature
0.00393 1/K (default)
The coefficient α in the equation that describes resistance
as a function of temperature, RT = R (1+α(T–T0)).
The default value is for copper.
Measurement temperature
— Temperature corresponding to nominal resistance
25 °C (default)
The temperature T0,
for which the nominal resistance R is specified.
Thermal mass
— Thermal mass associated with port H
100 J/K (default)
Thermal mass associated with the thermal port H. It represents
the energy required to raise the temperature of the thermal port by
one degree.
Extended Capabilities
C/C++ Code Generation
Generate C and C++ code using Simulink® Coder™.
Introduced in R2009a