DC Motor Model - MATLAB & Simulink
DC Motor Model - MATLAB & Simulink
In this example, you model a DC motor driven by a constant input signal that approximates a pulse-width
modulated signal and look at the current and rotational motion at the motor output.
To see the completed version of the model you create in this example, open the PWM-Controlled DC Motor
example.
The following table describes the role of the blocks that represent the system components.
Block Description
Solver Con5guration DeDnes solver settings that apply to all physical modeling blocks
Controlled PWM Voltage Generates the signal that approximates a pulse-width modulated motor input
signal
Current Sensor Converts the electrical current that drives the motor into a measurable physical
signal proportional to the current
Ideal Rotational Motion Sensor Converts the rotational motion of the motor into a measurable physical signal
proportional to the motion
2. Add the blocks in this table. The Library Path column speciDes the hierarchical path to each block.
Block Library Quantity
Current Sensor Simscape > Foundation Library > Electrical > Electrical Sensors 1
DC Voltage Source Simscape > Foundation Library > Electrical > Electrical Sources 1
Electrical Reference Simscape > Foundation Library > Electrical > Electrical Elements 1
Mechanical Rotational Simscape > Foundation Library > Mechanical > Rotational 1
Reference Elements
Ideal Rotational Motion Simscape > Foundation Library > Mechanical > Mechanical 1
Sensor Sensors
Note
You can use the Simscape™ function ssc_new with domain type electrical to create a
Simscape model that contains these blocks:
Simulink-PS Converter
PS-Simulink Converter
Scope
Solver Con5guration
Electrical Reference
Solver ConDguration
Electrical Reference
As with Simscape models, you must include a Solver ConDguration block in each topologically distinct
physical network. This example has a single physical network, so use one Solver ConDguration block with the
default parameter values.
You must include an Electrical Reference block in each Simscape Electrical™ network. You must include a
Mechanical Rotational Reference block in each network that includes electromechanical blocks. These
blocks do not have any parameters.
For more information about using reference blocks, see Grounding Rules.
The DC Voltage Source block (PWM reference voltage) generates a constant signal.
In this example, all input ports of the H-Bridge block except the PWM port are connected to ground. As a
result, the H-Bridge block behaves as follows:
When the motor is on, the H-Bridge block connects the motor terminals to the power supply.
When the motor is off, the H-Bridge block acts as a freewheeling diode to maintain the motor current.
In this example, you simulate the motor with a constant current whose value is the average value of the PWM
signal. By using this type of signal, you set up a fast simulation that estimates the motor behavior.
1. In the DC Voltage Source block, set the Constant voltage parameter to 2.5 V.
This value tells the block to generate an output signal whose value is the average value of the PWM
signal. Simulating the motor with an averaged signal estimates the motor behavior in the presence of
a PWM signal. To validate this approximation, use value of PWM for this parameter.
This value tells the block to generate an output signal whose value is the average value of the PWM
signal. Simulating the motor with an averaged signal estimates the motor behavior in the presence of a
PWM signal. To validate this approximation, use value of PWM for this parameter.
Note
The simulation mode for both the Controlled PWM Voltage and H-Bridge blocks must be the same.
Motor Parameters
ConDgure the block that models the motor.
Set the parameters of the DC Motor block, leaving the unit settings at their default values where applicable:
Mechanical section:
Current scope
Of the three blocks, only the PS-Simulink Converter1 block has parameters. Set the PS-Simulink Converter1
block Output signal unit parameter to A to indicate that the block input signal has units of amperes.
RPM scope
Of the three blocks, only the PS-Simulink Converter block has parameters you need to conDgure for this
example. Set the PS-Simulink Converter block Output signal unit parameter to rpm to indicate that the block
input signal has units of revolutions per minute.
Note
You must type this parameter value. It is not available in the drop-down list.
1. In the model window, select Modeling > Model Settings to open the ConDguration Parameters dialog box.
3. Click OK.
:
For more information about conDguring solver parameters, see Simulating an Electronic, Mechatronic, or
Electrical Power System.
To view the motor current and torque, double-click the Scope blocks. You can do this before or after you run
the simulation.
Note
By default, the scope displays appear stacked on top of each other on the screen, so you can only
see one of them. Click and drag the windows to reposition them.
As expected, the motor runs at about 2000 rpm when the applied DC voltage is 2.5 V.
See Also
:
Controlled PWM Voltage | DC Motor | H-Bridge
Related Examples
PWM-Controlled DC Motor
More About
Simulating an Electronic, Mechatronic, or Electrical Power System
Build and Simulate a Simple Circuit
Build and Simulate Single-Phase Half-Bridge Inverter With Ideal Switches and Thermal Port
: