ENGR 058 (Control Theory) Laboratory 3

Control of a Thermal System

In this lab you will attempt to control the temperature in a box by adjusting the power delivered to the box.


The equipment is the same as for the last lab.


In this lab you will be trying to control the system shown below.  The transfer function Gp(s) is the plant transfer function (measured in the last lab), and the controller transfer function, Gc(s), is simply a constant, Kp.  You have seen in class how variations in Kp affect the steady state error as well as the speed of the system.  In this lab you will verify how well those results are borne out.

For the purposes of this lab you will set up a Simulink program that looks something like the one shown below.



This diagram is a bit different than the previous.  First, the output of the thermocouple amplifier is multiplied by 100 to get a result in degrees Celsius.  Then we subtract off the ambient temperature to get a temperature that is relative to ambient, θa (so ambient temperature can be treated as zero, and all temperatures are relative to it).  I put the controller gain, Kp, and the ambient temperature in "gain" blocks because you can change the value of the gain blocks without recompiling the model - this might also work with constants (you could replacing the constant "1" and gain θa by a constant θa).

Collecting Data

While debugging you may wish to use a shorter experimental period to save time between runs.

To do:


Repeat the experiment with Kp=10.0 V/°C and the sampling time set to 10 seconds.

Potential extras:  Try to get better results using different algorithms for Gc(s) but restrict yourself to multiplication, addition, and the tapped delay block (i.e., don't use any of the more complex blocks that are available).  Don't worry about analysis (we haven't done that yet), just concentrate on improving (steady state error and/or time constant) system behavior.  Can you drive steady state error to zero? 

Or... try to follow a more complicated input (sawtooth, sinusoid...) 

Or... reconfigure the system to implement disturbance rejection. 


Analyzing Data


Present your data along with best fits (to find final temperature and time constant) and your theoretical results.  I would like this done both graphically (one for each experiment) and as a table that summarizes all experiments.  Comment on these results.

Also note the behavior as the register is opened at 2.5 minutes, though this doesn't necessarily require any theoretical results.


Strive to be organized.  Every graph should be numbered (i.e., graph 1, graph 2...) and labeled (with a title, an x-axis label with units, and a y-axis label with units) and should be explicitly referenced in the report; any tables should likewise be numbered and labeled.

Include the following in your report:

  1. Abstract:  A brief summary of your findings. (5 pts)
  2. Theory: Any necessary theory that you will use in the "Discussion" section. (20 pts)
  3. Experimental Methods: This can be very brief (i.e., you may simply refer to this document if you followed the instructions closely).  You should include a Simulink diagram include any Simulink diagrams, including code in code blocks.  Describe any deviations from the procedure described above. (10 pts)
  4. Results:  Include the graphs and tables listed in the "Analyzing Data" section above. (30 pts)
  5. Discussion: Discuss your results, in particular make sure you focus on (but don't necessarily restrict yourself to) the relationship of experimental to theoretical results. (30 pts)
  6. Conclusion: a brief synopsis of experiment and results. (5 pts)
  7. Extras - up to 10 pts.

To Turn In:

Turn in a pdf of your report on the course moodle page.