ENGR 058 (Control Theory) Laboratory

Angle Control

Your task for this lab is to build a controller that can specify the angle of the motor.

Consider a command input with the shape given below.

 Control input

This sequence is defined in "Repeating Sequence Interpolated" block defined as shown below.

Note, you should change the level of the pulses so it starts at about -45°, jumps to 45°, jumps down to 0°, and then ramps down to -45°.  You'll have to figure out what voltages correspond to each angle (extreme accuracy isn't important here).  Take 0° to be when the line on the top of the motor output points straight out at you.

You may also change the timing of the sequence (either making it faster if you system comes to equilibrium very quickly, or making it slower if it doesn't have enough time to come to equilibrium).  Your system should come to equilibrium at each flat part of the curve.  Keep the relative time scale as is (i.e., the pulse-widths are equal to each other and equal to the ramp width).

Your controller should always be linear except, perhaps, for a very short time near the discontinuities.

The Report

I want your report this week to be in the form of a technical data sheet that describes your design, and the benefits of your design.  What makes it good (what can it do)?  How good is it (what are the technical specs: settling time, overshoot, error coefficients...)?  Why should I buy it (what makes it better than other designs)?  How does it work (theoretical underpinnings and models)?

Turn the report in as a pdf on the moodle page.