### Highlights from Temperature Control of a Water Tank

3.35714

3.4 | 14 ratings Rate this file 19 Downloads (last 30 days) File Size: 11.6 KB File ID: #4440

# Temperature Control of a Water Tank

03 Feb 2004 (Updated 27 Nov 2007)

Uses P, PI and PID control to raise water tank temperature to 80°C.

File Information
Description

We would like to rise water temperature with a heater. Oulet temperature must be equal to the set point temperature (80°C). Proportional (P), Proportional-Integral (PI) and Proportional-Integral-Derivative (PID) control are used and the respective results are compared. Inlet water temperature is equal to 20°C. Water flow is equal to 10 m3/hr. Tank volume is equal to 100 m3. Water density and heat capacity are 1 Kg/m3 and 4.19 KJ/(Kg °C). The heater and the temperature measurement device have a first order delay with a time constant equal to respectively TauQ and TauSens. Initial heat input and tank temperature are equal to 2500 KJ/hr and 20°C. This problem is solved using Berkeley-Madonna in Chemical Engineering Dynamics by J. Ingham et al. (second edition, Wiley-VCH, 2000). The solution using MatLab is present in this page. Sensor temperature lags slightly behind tank temperature. P control gives a small characteristic offset, PI control shows oscillations and PID control gives best control with no offset and quickly damped oscillations.

A similar program using Mathematica 6.0 is available at the following link:

http://demonstrations.wolfram.com/ProportionalTemperatureControl/

Please also visit an earlier version using Mathematica 5.0 available at the Wolfram Library Archive:

http://library.wolfram.com/infocenter/MathSource/5141/

Required Products MATLAB Compiler
MATLAB release MATLAB 6.0 (R12)
Other requirements Windows
08 May 2013
17 Aug 2008

very good example for me as an undergraduate student

15 Aug 2007

To study

01 Aug 2007
16 Jul 2007
22 Mar 2007
07 Oct 2006

merci pour votre travail

27 May 2006

This script does offer no help to student's. Sorry.

09 May 2006

hey, I'm a student from the university of cape town and i have to agree with John D'Errico, this script does offer no help to student's

04 Feb 2006

28 Jan 2006

The PID contain an error. I also agree with Le about the derivative term of the PID. It is not right, because you need the derivative or trend of the error, not to subtract just the states. That can be easily corrected. Other minor thing is that the control action is not written in the conventional way.

26 Jan 2006

These scripts offer no enhancement to the use of matlab. They contain no documentation. There are no inputs, no outputs except for simple plots. If these scripts are to be of any value to a student, they should attempt to teach their topic. These fail miserably in that task. If the plots that result are of any value at all, then they belong on a private website maintained by the author.

23 Mar 2005

Dear Houssam,
I don't think that the third term of your PID (the differential) must be proportionnal to (x(1)-x(3)). Basically, the differential term is proportional to the error's variation, so propostionnal to d(error)/dt . If you want to discretize, it gives[(TRset-x(3)_t ) - (TRset -x(3)_t-1)]/timestep.

27 Jan 2005

This topic is very interesting for me because I am finishing my college.

05 Jan 2005

thanks a lot

13 Nov 2004