MATLAB Examples

DC Motor Controller Tuning

This example shows how to design a PI control system to control the speed of a DC motor, and is based on the Control System Toolbox™ example "DC Motor Control".

After loading the model and pre-configured Control System Designer, you can design a new controller using Response Optimization.

Requires Control System Toolbox™.

Contents

Opening the Model and Control System Designer

Open the model and pre-configuredControl System Designer using the command

controlSystemDesigner('dcmotor_demoproject')

Design Overview

The goal of the overall design is to track a reference change in speed with minimal overshoot and to reject output disturbances. The controller must satisfy the following requirements:

  • The closed-loop poles of the control loop are restricted to a region on the root locus plot that implies less than a 5% overshoot.
  • The closed-loop poles of the control loop are restricted to a region on the root locus plot that implies a settling time less than 2 seconds.
  • The output (y) of a unit step output disturbance is reduced by 80% within 0.5 seconds and by 95% within 1 second.

These design requirements have been added to the SControl System Designer. To complete the design, using response optimization, click the Start Optimization button within the Response Optimization dialog.