DC Motor
DC motor model with electrical and torque characteristics and fault modeling
Libraries:
Simscape /
Electrical /
Electromechanical /
Brushed Motors
Description
The DC Motor block represents the electrical and torque characteristics of a DC motor using this 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 load and 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 stall torque and no-load speed to determine values for R and kt (and equivalently kv).When you set the Model parameterization parameter to
By rated load and 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 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 load and
speed
.
When a positive current flows from the electrical + to - ports, a positive torque acts from the mechanical C to R ports.
Note
Simscape™ Electrical™ includes several blocks that can model the same type of motor or actuator. You must choose a block that has sufficient modeling detail for the engineering design questions that you need to answer. However, do not use more detail than you need, because higher-fidelity models slow down simulation and are more complex to parameterize.
Blocks like the DC Motor block model motors with fixed or parameter-dependent coefficients with a simple equivalent circuit. These models have an intermediate level of fidelity. Use this block to design controls or systems in actuation applications, such as robotics and mechatronics, and for efficiency predictions when saturation and harmonics only weakly impact losses. For more information about choosing the right block to model your motor at the right level of fidelity, see Choose Blocks to Model Motors or Actuators.
Faults
To model a fault in the DC Motor block, in the Faults section, click the Add fault hyperlink next to the fault that you want to model. In the Add Fault window, specify the fault properties. For more information about fault modeling, see Fault Behavior Modeling and Fault Triggering.
The DC Motor block allows you to model two types of faults:
Armature winding fault — The armature winding fails and goes open circuit.
Field winding fault — The field winding that creates the magnetic field fails and goes open circuit.
The block can trigger fault events:
At a specific time (temporal fault).
When a current limit is exceeded for longer than a specific time interval (behavioral fault).
You can enable or disable these trigger mechanisms separately.
This figure shows a generic representation of a DC motor, with brushes, armatures, commutators, and their windings:
If you add an armature winding fault, the armature fails at
the time specified by the Simulation time for armature
winding fault event 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 behavior for a certain
rev_faulted
during the entire revolution period:
Predefined Parameterization
There are multiple available built-in parameterizations for the permanent magnet
DC Motor block. To select a parameterization, set the Model
Parameterization parameter to By equivalent circuit
parameters
.
This pre-parameterization data allows you to set up the block to represent components by specific suppliers. The parameterizations of these DC motors match the manufacturer data sheets. To load a predefined parameterization, double-click the DC Motor block, click the <click to select> hyperlink of the Selected part parameter and, in the Block Parameterization Manager window, select the part you want to use from the list of available components.
Note
The predefined parameterizations of Simscape components use available data sources for the parameter values. Engineering judgement and simplifying assumptions are used to fill in for missing data. As a result, expect deviations between simulated and actual physical behavior. To ensure accuracy, validate the simulated behavior against experimental data and refine component models as necessary.
For more information about pre-parameterization and for a list of the available components, see List of Pre-Parameterized Components.
Model Thermal Effects
You can expose the thermal port to model the effects of losses that convert power to heat. To expose the thermal port, set the Modeling option parameter to either:
No thermal port
— The block does not contain a thermal port.Show thermal port
— The block contains one thermal conserving port.
For more information about using thermal ports in actuator blocks, see Simulating Thermal Effects in Rotational and Translational Actuators.
Examples
Ports
Conserving
Parameters
References
[1] Bolton, W. Mechatronics: Electronic Control Systems in Mechanical and Electrical Engineering, 3rd edition Pearson Education, 2004.
Extended Capabilities
Version History
Introduced in R2008a