DC Motor
DC motor model with electrical and torque characteristics and fault
modeling
Description
The DC Motor block represents the electrical and torque
characteristics of a DC motor using the following equivalent circuit model:
You specify the equivalent circuit parameters for this model when you set the
Model parameterization parameter to By equivalent
circuit parameters
. The resistor R corresponds to
the resistance you specify in the Armature resistance parameter.
The inductor L corresponds to the inductance you specify in the Armature
inductance parameter.
You can specify how to generate the magnetic field of the DC motor by setting the
Field type parameter to the desired option. The permanent
magnets in the motor induce the following back emf
vb in the armature:
where kv is the
Back-emf constant and ω is the angular
velocity. The motor produces the following torque, which is proportional to the motor
current i:
where kt is the
Torque constant. The DC Motor
block assumes that there are no electromagnetic losses. This means that mechanical power
is equal to the electrical power dissipated by the back emf in the armature. Equating
these two terms gives:
As a result, you specify either
kv or
kt in the block parameters.
If the magnetic field is generated from the current flowing through the windings, the
Back-emf constant depends on the field current
If:
where Laf is the
Field-armature mutual inductance.
The torque-speed characteristic for the DC Motor block
is related to the parameters in the preceding figure. When you set the Model
parameterization parameter to By stall torque & no-load
speed
or By rated power, rated speed & no-load
speed
, the block solves for the equivalent circuit parameters as follows:
For the steady-state torque-speed relationship, L has
no effect.
Sum the voltages around the loop and rearrange for i:
Substitute this value of i into the equation for torque:
When you set the Model parameterization parameter to
By stall torque & no-load speed
, the
block uses the preceding equation to determine values for
R and kt
(and equivalently kv).
When you set the Model parameterization parameter to
By rated power, rated speed & no-load
speed
, the block uses the rated speed and power to
calculate the rated torque. The block uses the rated torque and no-load
speed values in the preceding equation to determine values for
R and
kt.
The block models motor inertia J and damping λ
for all values of the Model parameterization parameter. The
resulting torque across the block is:
It is not always possible to measure rotor damping, and rotor damping is not always
provided on a manufacturer datasheet. An alternative is to use the no-load current to
infer a value for rotor damping.
For no-load, the electrically-generated mechanical torque must equal the rotor damping
torque:
where inoload is the no-load current. If you
select By no-load current
for the Rotor damping
parameterization parameter, then this equation is used in addition to the
torque-speed equation to determine values for λ and the other
equation coefficients.
The value for rotor damping, whether specified directly or in terms of no-load
current, is taken into account when determining equivalent circuit parameters for
Model parameterization options By stall torque and
no-load speed
and By rated power, rated speed and no-load
speed
.
When a positive current flows from the electrical + to
- ports, a positive torque acts from the mechanical
C to R ports.
Faults
The DC Motor block allows you to model two types of
faults:
The block can trigger fault events:
You can enable or disable these trigger mechanisms separately.
You can 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.
This figure shows a generic representation of a DC motor, with brushes, armatures,
commutators, and their windings:
If you set the Enable armature winding open-circuit fault
parameter to Yes
, the armature fails at the time
specified by the Time at which armature winding fault is
triggered parameter for a temporal fault, or when the winding
currents exceeds the value of the Maximum permissible armature winding
current parameter for a behavioral fault. When the armature fails,
the voltage source connected to this block observes an open circuit for a fraction
of the total motor revolution, specified by the Fraction of revolution
during which armature is open-circuit parameter,
rev_faulted
. This figure illustrates the circuit state
behaviour for a certain rev_faulted
during the entire revolution period:
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 exposes the Temperature
Dependence and Thermal Port parameters.
Use the thermal port to simulate the effects of copper resistance losses that convert
electrical power to heat. For more information on using thermal ports and on the
Temperature Dependence and Thermal Port
parameters, see Simulating Thermal Effects in Rotational and Translational Actuators.
Ports
Conserving
expand all
+
— Positive terminal
electrical
Electrical conserving port associated with the DC motor positive
terminal.
-
— Negative terminal
electrical
Electrical conserving port associated with the DC motor negative
terminal.
C
— Motor case
mechanical
Mechanical rotational conserving port associated with the DC motor
case.
R
— Motor rotor
mechanical
Mechanical rotational conserving port associated with the DC motor
rotor.
F+
— Positive field
electrical
Electrical conserving port associated with the positive field
winding.
Dependencies
To enable this port, set Field type to
Wound
.
F-
— Negative field
electrical
Electrical conserving port associated with the negative field
winding.
Dependencies
To enable this port, set Field type to
Wound
.
H
— Thermal port
thermal
Thermal port. For more information, see Thermal Port.
Parameters
expand all
Electrical Torque
Field type
— Type of field
Permanent Magnet
(default) | Wound
Select one of the following methods for field type:
Model parameterization
— Block parameterization
By equivalent circuit
parameters
(default) | By stall torque & no-load
speed
| By rated power, rated speed & no-load
speed
Select one of the following methods for block parameterization:
By equivalent circuit
parameters
— Provide electrical
parameters for an equivalent circuit model of the
motor.
By stall torque & no-load
speed
— Provide torque and speed
parameters that the block converts to an equivalent circuit
model of the motor.
By rated power, rated speed & no-load
speed
— Provide power and speed
parameters that the block converts to an equivalent circuit
model of the motor.
Dependencies
To enable this parameter, set Field type to
Permanent magnet
.
Field resistance
— Field resistance
100
Ohm
(default)
Resistance of the magnetic field.
Dependencies
To enable this parameter, set Field type to
Wound
.
Field inductance
— Field inductance
1
H
(default)
Inductance of the magnetic field.
Dependencies
To enable this parameter, set Field type to
Wound
.
Field-armature mutual inductance
— Field-armature mutual inductance
0.15
H
(default)
Mutual inductance between the magnetic field and the conducting
portion of the motor.
Dependencies
To enable this parameter, set Field type to
Wound
.
Initial field current
— Initial field current
0
A
(default)
Initial field current.
Dependencies
To enable this parameter, set Field type to
Wound
.
Armature resistance
— Armature resistance
3.9
Ohm
(default)
Resistance of the conducting portion of the motor.
Dependencies
This parameter is visible only when you set the Model
parameterization parameter to By
equivalent circuit parameters
.
Armature inductance
— Armature inductance
12e-6
H
(default)
Inductance of the conducting portion of the motor. If you do not have
information about this inductance, set the value of this parameter to a
small, nonzero number.
Define back-emf or torque constant
— Constants specification
Specify back-emf constant
(default) | Specify torque constant
Indicate whether you will specify the motor's back-emf constant or
torque constant. When you specify them in SI units, these constants have
the same value, so you only specify one or the other in the block dialog
box.
Dependencies
This parameter is visible only when you set the Model
parameterization parameter to By
equivalent circuit parameters
.
Back-emf constant
— Back-emf constant
0.072e-3
(default) |
V/rpm
The ratio of the voltage generated by the motor to the speed at which
the motor is spinning.
Dependencies
This parameter is visible only when you set the Define
back-emf or torque constant parameter to
Specify back-emf constant
.
Torque constant
— Torque constant
6.876e-4
N*m/A
(default)
The ratio of the torque generated by the motor to the current
delivered to it.
Dependencies
This parameter is visible only when you set the Define
back-emf or torque constant parameter to
Specify torque constant
.
Stall torque
— Stall torque
0.24e-3
N*m
. (default)
The amount of torque generated by the motor when the speed is
approximately zero.
Dependencies
This parameter is visible only when you set the Model
parameterization parameter to By stall
torque & no-load speed
.
No-load speed
— No-load speed
19100
rpm
(default)
Speed of the motor when not driving a load.
Dependencies
This parameter is visible only when you set the Model
parameterization parameter to By stall
torque & no-load speed
or By
rated power, rated speed & no-load
speed
.
Rated speed (at rated load)
— Rated speed
15000
rpm
(default)
Motor speed at the rated mechanical power level.
Dependencies
This parameter is visible only when you set the Model
parameterization parameter to By rated
power, rated speed & no-load speed
.
Rated load (mechanical power)
— Rated load
0.08
W
(default)
The mechanical power the motor is designed to deliver at the rated
speed.
Dependencies
This parameter is visible only when you set the Model
parameterization parameter to By rated
power, rated speed & no-load speed
.
Rated DC supply voltage
— Rated DC supply voltage
1.5
V
(default)
The voltage at which the motor is rated to operate.
Dependencies
This parameter is visible only when you set the Model
parameterization parameter to By stall
torque & no-load speed
or By
rated power, rated speed & no-load
speed
.
Rotor damping parameterization
— Rotor damping parameterization
By damping value
(default) | By no-load current
Select one of the following methods to specify rotor damping:
By damping value
—
Specify a value for rotor damping directly, by using the
Rotor damping parameter in the
Mechanical parameters.
By no-load current
— The
block calculates rotor damping based on the values that you
specify for the No-load current and
DC supply voltage when measuring no-load
current parameters. If you select this
option, the Rotor damping parameter is
not available for the Mechanical
parameters.
No-load current
— No-load current
0
A
(default)
Specify the no-load current value, to be used for calculating the
rotor damping. This parameter is only visible when you select
By no-load current
for the
Rotor damping parameterization
parameter.
Dependencies
This parameter is visible only when you set the Rotor
damping parameterization parameter to By
no-load current
.
DC supply voltage when measuring no-load current
— DC supply voltage when measuring no-load current
1.5
V
(default)
Specify the DC supply voltage corresponding to the no-load current
value, to be used for calculating the rotor damping.
Dependencies
This parameter is visible only when you set the Rotor
damping parameterization parameter to By
no-load current
.
Mechanical
Rotor inertia
— Rotor inertia
0.01
g*cm^2
(default)
Resistance of the rotor to change in motor motion. The value can be
zero.
Rotor damping
— Rotor dissipated energy
0
N*m/(rad/s)
(default)
Energy dissipated by the rotor. The value can be zero.
Dependencies
This parameter is visible only when you set the Rotor
damping parameterization parameter in the
Electrical Torque setting to
By damping value
.
Initial rotor speed
— Initial rotor speed
0
rpm
(default)
Speed of the rotor at the start of the simulation.
Temperature Dependence
This tab appears only for blocks with exposed thermal port. For more information,
see Thermal Port.
Resistance temperature coefficient
— Resistance temperature coefficient
3.93e-3
1/K
(default)
Resistance temperature coefficient.
Measurement temperature
— Measurement temperature
25
degC
(default)
The temperature for which motor parameters are defined.
Thermal Port
This tab appears only for blocks with exposed thermal port. For more information,
see Thermal Port.
Thermal mass
— Thermal mass
100
J/K
(default)
The thermal mass is the energy required to raise the temperature by
one degree.
Initial temperature
— Initial temperature
25
degC
(default)
Temperature of the thermal port at the start of simulation.
Faults
Enable armature winding open-circuit fault
— Whether to enable armature winding faults
No
(default) | Yes
Select Yes
to enable faults modeling and expose the
associated parameters in the Faults section, which
enables you to select the reporting method and specify the time at which
the armature winding fault triggers.
Fraction of revolution during which armature is open-circuit
— Fraction of revolution during which armature is open-circuit
1/3
(default)
Fraction of the revolution of the DC motor during which the armature
winding is faulted and the voltage source observes an open circuit. For
more information, see the Faults
section.
Dependencies
To enable this parameter, set Enable armature winding
open-circuit fault to
Yes
.
Faulted armature winding open-circuit conductance
— Open-circuit conductance of faulted armature winding
1e-5
S
(default)
Open-circuit conductance when the armature winding is faulted.
Dependencies
To enable this parameter, set Enable armature winding
open-circuit fault to
Yes
.
Armature winding fault trigger
— Fault trigger for armature winding
Temporal
(default) | Behavioral
Whether the trigger for the armature winding fault is temporal or
behavioral.
Dependencies
To enable this parameter, set Enable armature winding
open-circuit fault to
Yes
.
Time at which armature winding fault is triggered
— Time at which armature winding fault is triggered
1
s
(default)
Time at which the armature winding becomes faulted.
Dependencies
To enable this parameter, set Enable armature winding
open-circuit fault to Yes
and Armature winding fault trigger to
Temporal
.
Maximum permissible armature winding current
— Maximum permissible armature winding current
inf
A
(default)
Upper load-current threshold for open-circuit armature winding
faults.
Dependencies
To enable this parameter, set Enable armature winding
open-circuit fault to Yes
and Armature winding fault trigger to
Behavioral
.
Time to fail when exceeding armature winding current
— Time to fail when exceeding armature winding current
1
s
(default)
Amount of time that the winding current must continuously exceed the
maximum permissible armature winding current before a behavioral fault
is triggered.
Dependencies
To enable this parameter, set Enable armature winding
open-circuit fault to Yes
and Armature winding fault trigger to
Behavioral
.
Enable field winding open-circuit fault
— Whether to enable field winding faults
No
(default) | Yes
Select Yes
to enable field winding faults modeling
and expose the associated parameters in the Faults
section, which enables you to select the reporting method and specify
the time at which the field winding fault triggers.
Dependencies
To enable this parameter, set Field type to
Wound
.
Faulted field winding open-circuit conductance
— Open-circuit conductance of faulted field winding
1e-5
S
(default)
Open-circuit conductance when the field winding is faulted.
Dependencies
To enable this parameter, set Enable field winding
open-circuit fault to
Yes
.
Field winding fault trigger
— Fault trigger for field winding
Temporal
(default) | Behavioral
Whether the trigger for the field winding fault is temporal or
behavioral.
Dependencies
To enable this parameter, set Enable field winding
open-circuit fault to
Yes
.
Time at which field winding fault is triggered
— Time at which field winding fault is triggered
1
s
(default)
Time at which the field winding becomes faulted.
Dependencies
To enable this parameter, set Enable field winding
open-circuit fault to Yes
and Field winding fault trigger to
Temporal
.
Maximum permissible field winding current
— Maximum permissible field winding current
inf
A
(default)
Upper load-current threshold for open-circuit field winding
faults.
Dependencies
To enable this parameter, set Enable field winding
open-circuit fault to Yes
and Field winding fault trigger to
Behavioral
.
Time to fail when exceeding field winding current
— Time to fail when exceeding field winding current
1
s
(default)
Amount of time that the winding current must continuously exceed the
maximum permissible field winding current before a behavioral fault is
triggered.
Dependencies
To enable this parameter, set Enable field winding
open-circuit fault to Yes
and Field winding fault trigger to
Behavioral
.
Reporting when a fault occurs
— Reporting when a fault occurs
None
(default) | Warn
| Error
Simulation reporting when a fault occurs:
None
— Does not generate
a warning or an error.
Warn
— Generates a
warning.
Error
— The simulation
stops and generates an error.
Dependencies
To enable this parameter, set Enable armature winding
open-circuit fault or Enable field winding
open-circuit fault to
Yes
.
References
[1] Bolton, W.
Mechatronics: Electronic Control Systems in Mechanical and Electrical
Engineering, 3rd edition Pearson Education, 2004..
Extended Capabilities
C/C++ Code Generation
Generate C and C++ code using Simulink® Coder™.
Introduced in R2008a