DC Motor Control Laboratory Design - Fall 2006 - Spring 2007

Ryan Renne

Dr. Robert Morley
Electrical Engineering Department Washington University in St. Louis


In order to update a previously existing lab for ESE 102, Introduction to Electrical Engineering, a new lab is developed. This new lab was includes a Systems Engineering element so as to expose freshman engineering students to both disciplines. The subject of the lab is DC Motor Control using LabVIEW visual programming language and a Johnson H.K. DC Motor. In addition to the development of a student GUI, one hour of lecture notes, and two hours worth of lab exercises in addition to analysis homework are created. The purpose of the lab is to introduce a working knowledge of the theory and mathematics of Systems Engineering and how it applies to the problem of angular velocity control for a DC Motor. In doing so, students are to derive the transfer function of the motor from a series of equations, design a stable PID controller for the system to meet a list of system specifications, reproduce basic the three basic system reponses, and solve for the system parameters. The lecture takes students from understanding the basic open-loop feedback system through an introduction to the root locus for a controlled system. The lab exercises guide students in tuning the controller gains to reach desired responses while applying the theory and mathematics of the lecture to the physical DC motor.


LabVIEW vi

The DC motor circuitry only allows for an applied voltage of 0 to 5 volts. Saturation occurs at input values outside that range. Attached to the motor is a CD with a black stripe drawn along the radius with a duty cycle of approximately 10%. A Photodiode collects samples at 200 KHz, iterating every 0.5 seconds. A Boolean switch is installed to open and close the loop. While the switch is off, the motor is driven by an applied voltage and students may analyze open loop system properties in order to solve for the system parameters later. While off, the closed loop system is driven by a user-specified desired RPM. The controller is PID whose gain coefficients can set in real-time. The design was specified as an unity feedback loop, therefore no prior system calibration is requried. Noise at the voltage source causes slight fluctuations in applied voltage, therefore necessitating an average of every 4 pulses to be fed back to the input. The output range is between 0 and 2200 RPM.

Lecture Notes

The following Systems Engineering topics were briefly covered at an introductory level: See the Appendix A for a copy of the Lecture Notes.

Laboratory Instructions

The lab begins with students noting the response to the motor when given an outside disturbance (ie. applying a finger to the spinning CD). Next students are asked to run a linear regression to translate applied voltage to RPM. The loop is then closed and students experiment with varous controller gain values, beginning with only proportional gain and gradually adding in integral and derivative. All experiments use a step input of 200 RPM beginning at 1000 RPM. Students are then asked to recreate the three basic types of system response and obtain a response given a set of specifications. Finally, they are asked to apply a disturbance to their closed loop system and compare the response to the open loop reponse. See Appendix B for the Lab Instructions.

Laboratory Analysis

As post-lab analysis, a variety of questions are asked in order to apply the theory from the lecture notes to the DC motor system. See Appendix B for the Lab Analysis.


The initial operation of the feedback system worked as expected within its input voltage boundaries. To get the motor to spin, the system had to be set to open loop and have all but the proportional gain set to zero. Once an input voltage was entered, the open loop system would engage. With the motor operating, the loop could be closed and the derivative and integral gains could be given nonzero values. While the loop was closed, step inputs of amplitudes any greater than approximately 2V would cause the voltage to the actuator to exceed the allowable range and freeze the program. In such cases, the motor would either reach an RPM of around 2200 and stop responding, or would go to zero RPM. The lab was initially designed so as to not exceed a step input of 1V.


The specifications for this project were met, demonstrated by the above report. The three basic system responses were replicated with this design. All the information in the lecture notes is applicable to the designed DC motor system and is required for completion of the laboratory analysis.


DC Motor with LABTrainer Circuit
DC Motor with LABTrainer Circuit

DC Motor
DC Motor

LABTrainer Circuit
LABTrainer Circuit


Appendix A

Appendix B