Control of Electric Motors

Marc Bodson, Control of Electric Motors, independently published through Amazon,
ISBN: 979-8542651507, June 2023.

Available at:

Corrections: errata

Software labs

Handouts: softlabs.pdf

Blank Simulink file: blank.mdl. Common Simulink blocks: common_blocks.mdl

Right-click on the file name and use "Save as" or "Save link as" to save the mdl files.

Lab 1:   Introduction to Simulink
Lab 2:   Open and closed-loop control of a single-phase motor
Lab 3:   Modelling of the brush DC motor (Lab3.mdl)
Lab 4:   Control of a brush DC motor (again Lab3.mdl)
Lab 5:   Open-loop control of a stepper motor (Lab5.mdl)
Lab 6:   Brushless DC motor control with six-step commutation (Lab6.mdl)
Lab 7:   Position control of a brushless DC motor (Lab7.mdl)
Lab 8:   Slip control of induction motors (Lab8.mdl)
Lab 9:   Field-oriented control of induction motors (Lab8.mdl)

Recommendations for the simulations:
In the Simulink window, select Simulation/Model Configuration Parameters.
  A configuration window opens, select Commonly Used Parameters and Data Import/Export.
  Then, in Format, select Array. Also, uncheck Single simulation output.
Be sure to convert deg to rad and rpm to rad/s (and vice-versa) when needed.
  In particular, the angles of cos and sin functions in Matlab must be expressed in rad.

Recommendations for the preparation of reports can be found at:
Example of a Matlab macro to plot a figure with adjustable font sizes and lines widths:
Note that properties of an existing figure can also be adjusted by clicking on File/Preferences/Figure Copy Template
  and Apply to Figure.

Simulink tutorial videos

The tutorials below show how to perform the tasks of Lab 1, in addition to giving useful information of general interest.
The tutorials and the mdl files were developed using version 2017A of Matlab/Simulink.
Some details may have changed and need to be adjusted with newer versions.

Simulink tutorial - Part 1 (mp4) (wmv)  simulation of a first-order linear time-invariant system
Simulink tutorial - Part 2 (mp4) (wmv)  implementation of a PI controller, viewing signals on a scope, and embedded m-files
Simulink tutorial - Part 3 (mp4) (wmv)  useful settings and additional features
Simulink tutorial - Part 4 (mp4) (wmv)   saving figures and block diagrams for reports

Videos - Inside electric motors

Single-phase AC motors (mp4) (wmv)
Brush DC motors (mp4) (wmv)
Stepper motors (mp4)
Brushless DC motors (mp4)
Induction motors (mp4)

Tutorials on electric machines and sources for surplus motors

Web page: usefullinks.html

Free reference for basics of systems and control

Textbook: Foundations of Control Engineering, available at:

This web page is maintained by Professor Marc Bodson, of the Department of Electrical and Computer Engineering at the University of Utah. Please see the University of Utah Web disclaimer. For questions or comments, please send an e-mail to

Last updated: June 8, 2023