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. Choose a block that has sufficient modeling detail for the engineering design questions that you need to answer. Do not use a block that has more modeling 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 Add fault next to the fault that you want to model. 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. 
This figure shows a generic representation of a DC motor, with brushes, armatures, commutators, and their windings:

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:

You specify how and when faults occur by using the Trigger type parameter.
If you set the Trigger type to
                        Behavioral, the DC Motor block triggers faults
                    when the winding currents continuously exceed a threshold value for longer than
                    a specific time interval:
- Armature winding faults occur when the winding currents continuously exceed the value of the Maximum permissible armature winding current parameter for a duration longer than the value of the Time to fail when exceeding armature winding current parameter. 
- Field winding faults occur when the winding currents exceed the value of the Maximum permissible field winding current parameter for a duration longer than the value of the Time to fail when exceeding field winding current parameter. 
If you set the Trigger
            type to Conditional, you can choose whether faults
        in the DC Motor block are reversible (since R2025a). To model irreversible faults, click
        Open fault properties to open the Property Inspector and select the
        Trigger stays on once activated parameter. The block enters the faulted
    state when the trigger condition becomes true for the first time and remains in the faulted
    state for the rest of the simulation. To model reversible faults, clear the Trigger
        stays on once activated parameter. The block enters the faulted state when the
    trigger condition is true and enters the unfaulted state when the trigger condition is
    false.
For more information about adding faults to blocks and specifying fault triggers, see Introduction to Simscape Faults.
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 judgment 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.






