Main Content

DC Motor

DC motor model with electrical and torque characteristics and fault modeling

  • Library:
  • Simscape / Electrical / Electromechanical / Brushed Motors

  • DC Motor block

Description

The DC Motor block represents the electrical and torque characteristics of a DC motor using the following equivalent circuit model:

DC motor 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:

vb=kvω

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:

TE=kti

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:

TEω=vbiktiω=kvωikv=kt

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:

kv=LafIf

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:

  1. For the steady-state torque-speed relationship, L has no effect.

  2. Sum the voltages around the loop and rearrange for i:

    i=VvbR=VkvωR

  3. Substitute this value of i into the equation for torque:

    TE=ktR(Vkvω)

    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:

T=ktR(Vkvω)Jω˙λω

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:

ktinoload=λωnoload

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:

  • 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.

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 Simscape > Block choices > Show thermal port. 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

Electrical conserving port associated with the DC motor positive terminal.

Electrical conserving port associated with the DC motor negative terminal.

Mechanical rotational conserving port associated with the DC motor case.

Mechanical rotational conserving port associated with the DC motor rotor.

Electrical conserving port associated with the positive field winding.

Dependencies

To enable this port, set Field type to Wound.

Electrical conserving port associated with the negative field winding.

Dependencies

To enable this port, set Field type to Wound.

Thermal port. For more information, see Thermal Port.

Parameters

expand all

Electrical Torque

Select one of the following methods for field type:

  • Permanent Magnet — Generate the DC Motor magnetic field using a permanent magnet.

  • Wound — Generate the DC Motor magnetic field using the current flowing through the windings.

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.

Resistance of the magnetic field.

Dependencies

To enable this parameter, set Field type to Wound.

Inductance of the magnetic field.

Dependencies

To enable this parameter, set Field type to Wound.

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.

Dependencies

To enable this parameter, set Field type to Wound.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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

Resistance of the rotor to change in motor motion. The value can be zero.

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.

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.

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.

The thermal mass is the energy required to raise the temperature by one degree.

Temperature of the thermal port at the start of simulation.

Faults

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 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.

Open-circuit conductance when the armature winding is faulted.

Dependencies

To enable this parameter, set Enable armature winding open-circuit fault to Yes.

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 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.

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.

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.

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.

Open-circuit conductance when the field winding is faulted.

Dependencies

To enable this parameter, set Enable field winding open-circuit fault to Yes.

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 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.

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.

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.

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.

Model Examples

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