USN


Course PEF3006 Process Control

Lab 3:

Temperature control of an air heater

Aim

To get practical experience in manual model adaptation, control system implementation in LabVIEW, and controller tuning and control system performance.

Equipment

  • PC with LabVIEW
  • Air heater
  • I/O-device mounted on the air heater

Organization

Time and place: Monday 23 Oct 2017. Details shown in TimeEdit.

The lab assignment is accomplished in student groups.

Responsible for the lab: Teacher Finn Aakre Haugen (finn.haugen@usn.no).

Assistance: The teaching assistant and the teacher.

Hand-in and assessment

Each group will write a lab journal according to the following guidelines:
  • Language: English.
  • The structure of the journal is the same as in the assignment text. A good start is to copy the assignment text into journal and then add your own contents which consists of screen captures of plots (it is ok to include snapshots of the entire screen) and your short comments in red beneath the figures. It is not required to include setup and configuration of hardware and software in the journal.
  • Please use this journal template. The journal should not contain sections lik summary, preface, introduction or discussion (short discussions may be included inline, i.e. in the text inside the sections corresponding to the tasks).
  • The journal should/must be written during the lab.
  • The journal is uploaded as a PDF file to Canvas before 18.00 the same day.
  • The file name should contain the family names of the students in the group, for example. Lab3_Name1_Name2.pdf.

Tasks

Information about the program:

During the experiments, the fan of the air heater can be set to its maximum speed, unless otherwise is told in the task. The default temperature setpoint is 35 degrees C (but you may adjust it in some of the tasks).

The program air_heater_temperature_control.vi in LLB_air_heater_temperature_control.llb contains a PID control system for a simulator of the air heater. In that VI, there are also IO functions for connecting the program to the real air heater. These IO functions are initially disabled as they are put inside Diagram Disabled Structure structures in the block diagram. Enabling of the pertinent programming code can by done via right-clicking on the label of the structure (at the top of the structure).

To switch between using simulated air heater and real air heater, use the pertinent switch on the Sim settings tab on the front panel of the program.

The tasks:

  1. Get to know the given LabVIEW program:
    1. Try to understand the program (by studying it).
    2. Get to know the PID Advanced function using Help. (Note that not every terminal of this function is connected to external values, i.e. their default values are used. You may skip trying to understand the meaning of these terminals.)
    3. Remove the PID Advanced from the block diagram, and re-insert from the pertinent functions palette (without using copy-paste).
     
  2. Simulation with the controller in manual mode: Run the program in simulation mode, with the IO-functions deactivated. (When using the program in simulation mode, you may want to set the sim_speed factor on the Sim settings tab greater than 1 to save time.) Manually control the heating element with the PID controller in manual mode. Is the response in T_out as expected (according to the model)? In particular, check that the response is in accordance with the values of the time-delay, the time-constant, the gain, and the ambient temperature as indicated on the "Model Params" tab.
     
  3. Activate the IO functions (the IO device of the physical air heater process must now be connected to the PC). Check that the IO functions work by manually controlling the heating element, which should provide some response to the measured temperature.

  4. Model adaptation (the physical hot air process must now be connected). Adapt the model parameters (environmental temperature, time-delay, gain, time-constant) to the real air heater by proper experiments, however do not spend too much time on this task (the default values on the Model Params-tab are quite accurate values).

    The following tasks may be performed both on a simulated and real process. It is required that you use the real process, so using the simulated process is voluntary. The experiments on a simulated process may even be run before the actual lab day, with the model parameters as specified on the Model Params tab.
     
  5. Random PI settings: Try some random values of Kc and Ti (Td can be set to zero). How is the stability of the control system with these controller settings? (To see the stability, you may change the setpoint as a step.) Is the control system stable? Unstable? Is there a need for better settings?

  6. Ziegler-Nichols PI controller tuning:
    1. Tune the PI controller using the Ziegler-Nichols' (original) method. Then, check the stability of the control system (you can excite the control system by changing the setpoint as a step). Note: The control signal must not reach neither the maximum nor the minimum value (5 V, 0 V, respectively) during experimentation in the ZN method. Otherwise, the ultimate controller gain will get a wrong value, and consequently, the resulting controller gain will be wrong. 
    2. Tune the PI controller using the Relaxed Ziegler-Nichols formulas. Is the stability improved comparing with the original Z-N formulas?
        
  7. Skogestad PI controller tuning: Tune the PI controller using the Skogestad method. Is the control system stability improved comparing with using the ZN settings?
     
  8. Temperature PI control performance:
    1. Apply the Skogstad PI settings that you found above (alternatively, you may use Gain = 0.5, and integral time = 20 s, which are setting that should work with all the air heaters). Let the setpoint initially be 35 C. In steady state, is the controller able to make the temperature track its setpoint with zero mean control error, or is there a non-zero mean control error? (You are not supposed to implement a mean value calculation here. Instead, you should  estimate the mean value by just observing the difference between the setpoint and the measurement.)
    2. Apply a step change of the setpoint (amplitude change of, say, 1 C). In steady state, what is the mean control error after this step change?
      (After this experiment, you may set the setpoint back to 35 C.)
    3. Increase the process disturbance (process load) by increasing the air flow to maximum. In steady state, what is the mean control error due to this disturbance change?
      (After this experiment, the air flow can be set back to its minimum value.)
       
  9. Control behaviour with active derivative (D) term:
    1. Apply the Skogstad PI settings that you found above. Enable the D term by setting Td = Ti/4, which is a typical relationship between Td and Ti when the D term is in use). How does the control system behave now that the D term is active (in particular, study the behavior of control signal)?
    2. Remove the measuring filter by setting the filter time constant equal to 0. How does the control system now behave? From this experiment: What is a problem of having an active D term in the PID controller?
       
  10. Control system stability: As a starting point, you can use the Skogestad PI settings.
    What happens to the stability of the control system due to the following parameter changes? Also, for the each of the changes, try to understand why the stability is affected. (You can decide yourselves about how large changes to apply. The effect of the changes should of course be clearly observable.)
    1. Starting with a little "reseach methodology" question: Should you set back to the original parameter setting(s) between each experiment?
    2. Increase of the controller gain.
    3. Reduction of the integral time.
    4. Setting the controller to direct mode. (The controller has no reverse/direct mode switch. Instead, direct mode can be obtained with a negative controller gain.)
    5. Reduction of the process flow rate (air flow) to its minimum.

Approval list

Updated 23 Oct 2017 by Finn Aakre Haugen