Advanced Thermal Management For Internal Combustion Engines PDF

Download as pdf or txt
Download as pdf or txt
You are on page 1of 114

Clemson University

TigerPrints
All Theses Theses

8-2007

Advanced Thermal Management for Internal


Combustion Engines
Thomas Mitchell
Clemson University, [email protected]

Follow this and additional works at: https://tigerprints.clemson.edu/all_theses


Part of the Engineering Mechanics Commons

Recommended Citation
Mitchell, Thomas, "Advanced Thermal Management for Internal Combustion Engines" (2007). All Theses. 179.
https://tigerprints.clemson.edu/all_theses/179

This Thesis is brought to you for free and open access by the Theses at TigerPrints. It has been accepted for inclusion in All Theses by an authorized
administrator of TigerPrints. For more information, please contact [email protected].
ADVANCED THERMAL MANAGEMENT FOR INTERNAL
COMBUSTION ENGINES

A Thesis
Presented to
the Graduate School of
Clemson University

In Partial Fulfillment
of the Requirements for the Degree
Master of Science
Mechanical Engineering

by
Tom Mitchell
August 2007

Accepted by
Dr. John Wagner, Committee Chair
Dr. Darren Dawson
Dr. Gregory Mocko
ABSTRACT

The automotive cooling system has unrealized potential to improve internal

combustion engine performance through enhanced coolant temperature control and

reduced parasitic losses. Advanced automotive thermal management systems use

controllable actuators (e.g., smart thermostat valve, variable speed water pump, and

electric radiator fan) in place of conventional mechanical cooling system components to

improve engine temperature tracking over most operating ranges. To optimize advanced

cooling system performance, the electro-mechanical actuators must work in harmony to

control engine temperature. The design and placement of cooling components should

also be considered when attempting to maximize the performance.

In this research project, two distinct vehicle thermal management issues were

explored. First, a set of nonlinear control architectures were proposed for transient

temperature tracking while attempting to minimize overall cooling component power

consumption. Representative numerical and experimental results have been discussed to

demonstrate the functionality of the thermal management system in accurately tracking

prescribed temperature profiles and minimizing electrical power usage. Second, four

different thermostat configurations have been analyzed to investigate engine warm-up

behaviors and thermostat valve operations. The configurations considered include

factory, two-way valve, three-way valve, and no valve. In both studies, experimental

testing was conducted on a steam-based thermal bench to simulate engine combustion

events and examine the effectiveness of each valve configuration and control designs.

ii
A series of four real time thermal management controllers (backstepping robust,

robust, normal radiator, and adaptive) were developed. Although they performed

similarly in regulating coolant temperature, the backstepping robust control algorithm

had the best performance when compared to the others. The test results demonstrate that

in the normal radiator operation, steady state temperature errors may be reduced to less

then 0.2°K while consuming an average instantaneous power of 19.334 watts. The

backstepping robust control had similar temperature tracking with the lowest overall

instantaneous power consumption of 16.449 watts. Results for the thermostat valve study

demonstrate that a three-way valve configuration provides optimal performance for

engine warm-up, temperature tracking and instantaneous power consumption at 363.9

seconds, 0.175°K, and 24.31 watts, respectively. In contrast, the factory wax-based

thermostat with emulated mechanical actuators configuration never reached its operating

temperature and consumed nearly four times the instantaneous power at 109.37 watts.

Some recommendations for future work include in-vehicle and dynamometer testing of

both the control algorithm and actuator design simultaneously.

iii
DEDICATION

I dedicate this work to my wife, Kate Mitchell. Your patience, love and support

made this all possible.

iv
ACKNOWLEDGMENTS

I would first like to thank my advisor, Dr. John R. Wagner for his guidance

throughout this process. I would also like to thank Dr. Darren Dawson and Dr. Greg

Mocko for serving on my committee. My colleague and fellow researcher Mohammad

Salah deserves many thanks and recognition for assisting with this research and enduring

my continuous ranting.

Special thanks must go to Michael Justice, Jamie Cole, and Gerald Nodine for the

immense amount of knowledge, wisdom and help they provided. Rest assured I will be

leaving Clemson with the skill necessary to start a small displacement pressure washer.

Also, the support of fellow graduate students Jesse Black, Erhun Iyasere, Peyton Frick

and Ryan Lusso was much appreciated and allowed me to see the light at the end of the

tunnel no matter how dim it was.

Finally, the overwhelming motivation and support provided by my family and

friends was necessary in guiding me through this period in my life and deserves my

deepest thanks and appreciation.

v
TABLE OF CONTENTS

Page

TITLE PAGE ...................................................................................................... i

ABSTRACT........................................................................................................ ii

DEDICATION .................................................................................................... iv

ACKNOWLEDGMENTS ................................................................................... v

LIST OF TABLES .............................................................................................. viii

LIST OF FIGURES............................................................................................. ix

NOMENCLATURE LIST................................................................................... x

CHAPTER

1. INTRODUCTION ................................................................................ 1

2. NONLINEAR CONTROL STRATEGY FOR ADVANCED


THERMAL MANAGEMENT SYSTEMS...................................... 5

2.1: Automotive Thermal Management Models............................... 5


2.2: Thermal System Control Design............................................... 9
2.3: Experimental Thermal Test Bench............................................ 14

3. CONTROLLER DESIGN NUMERICAL AND


EXPIRIMENTAL RESULTS ......................................................... 17

3.1: Backstepping Robust Control ................................................... 17


3.2: Normal Radiator Operating Strategy......................................... 21
3.3: Results Summary ..................................................................... 25

4. AUTOMOTIVE THERMOSTAT VALVE


CONFIGURATIONS...................................................................... 27

4.1: Cooling System Configurations and Valve Operation............... 28


4.2: Thermal Models and Operating Strategy .................................. 34
4.3: Thermostat Valve Thermal Test Bench..................................... 38

vi
Table of Contents (Continued)

Page

5. AUTOMOTIVE THERMOSTAT VAVLE


CONFIGURATIONS – EXPERIMENTAL
RESULTS AND OBSERVATIONS ............................................... 41

6. CONCLUSION .................................................................................... 53

APPENDICES .................................................................................................... 58

A: Proof of Theorem 1 ......................................................................... 59


B: Finding CrT&vr Expression .............................................................. 62
C: Steam Start up Procedure ................................................................ 63
D: Backstepping Robust Control
SIMULINK Block Diagram and Code....................................... 71
E: Normal Radiator Operating Strategy Experimental C-Code ............. 75
F: Backstepping Robust Control Strategy Experimental C-Code .......... 85

REFERENCES.................................................................................................... 95

vii
LIST OF TABLES

Table Page

3.1 Summary of controller numerical and experimental results ................... 26

5.1 Thermostat valve configuration tests and components........................... 42

5.2 Summary of thermostat valve configuration tests performance.............. 49

viii
LIST OF FIGURES

Figure Page

2.1 Advance cooling system for controller design ....................................... 6

2.2 Experimental test bench utilized for controller design ........................... 16

3.1 Numerical response for the robust backstepping controller.................... 18

3.2 First experimental test for the robust backstepping controller ................ 20

3.3 Second experimental test for the robust backstepping controller............ 21

3.4 Numerical response for the normal radiator operation ........................... 23

3.5 First experimental test for the normal radiator operation ....................... 24

3.6 Second experimental test for the normal radiator operation ................... 25

4.1 Five valve configurations to enhance fluid flow .................................... 28

4.2 Factory cooling system configuration.................................................... 30

4.3 Two-way valve configuration ............................................................... 31

4.4 Three-way valve configuration.............................................................. 32

4.5 Valve absent configuration featuring radiator baffles ............................ 33

4.6 Schematic of thermal test bench utililized


for thermostat valve configuration testing........................................ 39

5.1 Factory cooling system configuration experimental results.................... 43

5.2 Two-way valve configuration experimental results ............................... 44

5.3 Three-way valve configuration experimental results.............................. 46

5.4 Valve absent configuration experimental results ................................... 47

5.5 Valve absent configuration with radiator baffles experimental results ... 48

ix
NOMENCLATURE LIST

Aa fan blowing area [m2]

Ac pump outlet cross section area [m2]

Af frontal area of the fan [m2]

Ap area of valve plate [m2]

α control gain

αe positive control gain

b water pump inlet impeller width [m]

bf fan damping coefficient [N-m-s/Rad]

bp pump damping coefficient [N-m-s/Rad]

bv valve damping coefficient [N-m-s/Rad]

β inlet impeller angel [Rad]

βr positive constant [Rad/sec-m2]

Ce engine block capacity [kJ/ºK]

C pc coolant specific heat [kJ/kg-ºK]

C pa air specific heat [kJ/kg-ºK]

Cr radiator capacity [kJ/ºK]

c coulomb friction [N]

d gear pitch [m]

∆P pressure drop across the valve [Pascal]

x
Ess steady state error [ºK]

e engine temperature tracking error [ºK]

eo initial engine temperature tracking error [ºK]

ess engine temperature steady state error [ºK]

εe valve constant

εr valve constant

ε effectiveness of the radiator fan [%]

η radiator temperature tracking error [ºK]

ηf radiator fan efficiency [%]

h valve piston translational displacement [m]

H normalized valve position [%]

H normalized valve position for m [%]

Ho minimum normalized valve position [%]

iaf radiator fan motor armature current [A]

iap water pump motor armature current [A]

iav valve motor armature current [A]

Jf radiator fan and load inertia [kg-m2]

Jp water pump and load inertia [kg-m2]

Jv valve and load inertia [kg-m2]

Kbf radiator fan back EMF constant [V-sec/Rad]

Kbp water pump back EMF constant [V-sec/Rad]

Kbv valve back EMF constant [V-sec/Rad]

xi
Ke positive control gain

K mf radiator fan torque constant [N-m/A]

K mp water pump torque constant [N-m/A]

K mv valve torque constant [N-m/A]

Kr positive control gain

Laf radiator fan inductance [H]

Lap water pump inductance [H]

Lav valve inductance [H]

m additional coolant mass flow rate control input for mo in radiator [kg/sec]

m& a fan air mass flow rate [kg/sec]

m& b bypass coolant mass flow rate [kg/sec]

m& c pump coolant mass flow rate [kg/sec]

m& f fan air mass flow rate [kg/sec]

m& o min. radiator coolant mass flow rate [kg/sec]

m& r radiator coolant mass flow rate [kg/sec]

m& raw ram air mass flow rate [kg/sec]

M1 pump coolant mass flow rate meter

M2 radiator fan air mass flow rate meter

N worm to valve gear ratio

Osh temperature overshoot [ºK]

P1 valve power sensor

xii
P2 water pump power sensor

P3 radiator fan power sensor

Pfan fan power [kW]

Ppump pump power [kW]

Ptotal total power [kW]

PM cooling system power measure [W]

Psys cooling system power consumption [W]

Pv valve power consumption [W]

∆p pressure drop across the radiator [bar]

ρ control gain

ρa air density [kg/m3]

ρc coolant density [kg/m3]

ρe positive constant

Qin combustion process heat energy [kW]

Qo radiator heat lost due to uncontrollable air flow [kW]

r pump inlet to impeller blade length [m]

Raf radiator fan resistor [Ohm]

Rap water pump resistor [Ohm]

Rav valve resistor [Ohm]

Rf radiator fan radius [m]

sgn standard signum function

t test time [sec]

xiii
to initial time [sec]

twu warm-up time [sec]

T1 coolant temperature at engine outlet [ºK]

T2 coolant temperature at radiator outlet [ºK]

T3 ambient temperature sensor [ºK]

Te coolant temperature at the engine outlet [ºK]

Th liquid wax temperature [ºK]

Tl wax softening temperature [ºK]

Tr radiator outlet coolant temperature [ºK]

T∞ surrounding ambient temperature [ºK]

θv valve angular displacement [Rad]

Ted desired engine temperature trajectory [ºK]

Tvr design virtual radiator reference temp. [ºK]

Tvro virtual radiator reference temperature design constant [ºK]

Tvr control input that affects the radiator loop mass flow rate [ºK]

τ constant of integration

∆t sample time [sec]

∆T valve operating temperature deviation [ºK]

ue control input

ur control input

v inlet radial coolant velocity [m/sec]

Vaf air volume per fan rotation [m3/Rad]

xiv
Vo fluid volume per pump rotation [m3/Rad]

Vf voltage applied on the radiator fan [V]

Vp voltage applied on the pump [V]

Vv voltage applied on the valve [V]

ωf radiator fan angular velocity [Rad/sec]

ωp water pump angular velocity [Rad/sec]

x valve position [cm]

xv
CHAPTER ONE

INTRODUCTION

The internal combustion engine has undergone extensive developments over the

past three decades with the inception of sophisticated components and integration of

electro-mechanical control systems for improved operation (Stence, 1998; Schoner,

2004). For instance, stratified charge and piston redesign offer improved thermal

efficiency through lean combustion, directly resulting in lower fuel consumption and

higher power output (Evans, 2006). Further, variable valve timing adjusts engine valve

events to reduce pumping losses on a cycle-to-cycle basis (Mianzo and Peng, 2000; Hong

et al., 2004). However, the automotive cooling system has been overlooked until

recently (Couëtouse and Gentile, 1992; Wagner et al., 2002a). Although the

conventional automotive cooling system (i.e., wax thermostat mechanical water pump,

and mechanical radiator fan) has proven satisfactory for many decades, servomotor

controlled cooling components have the potential to reduce fuel consumption, parasitic

losses, and tailpipe emissions (Brace et al., 2001; Melzer et al., 1999; Redfield et al.,

2006; Choukroun and Chanfreau, 2001). This action decouples the water pump and

radiator fan from the engine crankshaft. Hence, the problem of having over/under

cooling, due to the mechanical coupling, is solved as well as parasitic losses reduced

which arose from operating mechanical components at high rotational speeds (Chalgren

and Barron, 2003).

Numerous studies have been conducted to explore the possible benefits of

advanced thermal management. An assessment of thermal management strategies for


large on-highway trucks and high-efficiency vehicles has been reported by Wambsganss

(1999). Chanfreau et al. (2001) studied the benefits of engine cooling with fuel economy

and emissions over the FTP drive cycle on a dual voltage 42V-12V minivan. Cho et al.

(2004) investigated a controllable electric water pump in a class-3 medium duty diesel

engine truck. It was shown that the radiator size can be reduced by replacing the

mechanical pump with an electrical one. Chalgren and Allen (2005) and Chalgren and

Traczyk (2005) improved the temperature control, while decreasing parasitic losses, by

replacing the conventional cooling system of a light duty diesel truck with an electric

cooling system.

To create an efficient automotive thermal management system, the vehicle’s

cooling system behavior and transient response must be analyzed. Wagner et al. (2001,

2002, and 2003) pursued a lumped parameter modeling approach and presented multi-

node thermal models which estimated internal engine temperature. Eberth et al. (2004)

created a mathematical model to analytically predict the dynamic behavior of a 4.6L

spark ignition engine. To accompany the mathematical model, analytical/empirical

descriptions were developed to describe the smart cooling system components. Henry et

al. (2001) presented a simulation model of powertrain cooling systems for ground

vehicles. The model was validated against test results which featured basic system

components (e.g., radiator, water pump, surge (return) tank, hoses and pipes, and engine

thermal load).

A multiple node lumped parameter-based thermal network with a suite of

mathematical models, describing controllable electromechanical actuators, was

introduced by Setlur et al. (2005) to support controller studies. The proposed simplified

2
cooling system used electrical immersion heaters to emulate the engine’s combustion

process and servomotor actuators, with nonlinear control algorithms, to regulate the

temperature. In their experiments, the water pump and radiator fan were set to run at

constant speeds, while the smart thermostat valve was controlled to track coolant

temperature set points. Cipollone and Villante (2004) tested three cooling control

schemes (e.g., closed-loop, model-based, and mixed) and compared them against a

traditional “thermostat-based” controller. Page et al. (2005) conducted experimental tests

on a medium-sized tactical vehicle that was equipped with an intelligent thermal

management system. The authors investigated improvements in the engine’s peak fuel

consumption and thermal operating conditions. Finally, Redfield et al. (2006) operated a

class 8 tractor at highway speeds to study potential energy saving and demonstrate engine

cooling to with ±3ºC of a set point value.

Aside from modeling and controller design, the thermostat valve configuration

and design has a large affect on the performance of thermal management systems. In

particular, the main function of the thermostat valve (Wanbsganss, 1999) is to control

coolant flow to the radiator. Traditionally, this is achieved using a wax-based thermostat

which is passive in nature (Allen and Lasecki, 2001) and cannot be integrated in an

engine management system (Wagner et al., 2002b). A smart thermostat valve offers

improved coolant flow control since it can be controlled to operate at optimal engine

conditions (Visnic, 2001).

An electric thermostat valve may be designed with different architectures and

control strategies to support a variety of cooling system configurations. For example, a

DC motor controlled two-way valve may be utilized at multiple locations in a cooling

3
circuit (Chastain and Wagner, 2006). Similarly, a solenoid controlled three-way valve

offers similar functionality to traditional thermostats but could be electrically controlled

by the engine control module (ECM). In general, the valve design dictates its placement

in the cooling system since valve geometry contributes to the dynamics of the overall

cooling system. It should be noted that the thermostat valve may be located on the

engine block with internal passages for coolant flow or external to the block with

supporting hoses. The next generation of internal combustion engines should be

designed to facilitate advanced thermal management concepts.

Thesis Organization

This thesis discusses advanced thermal management for internal combustion

engines by presenting two studies on the topic. The first chapter consists of an

introduction to both studies. Chapter Two presents multiple control strategies for the

various system actuators: Nonlinear Control for Advanced Thermal Management

Systems. Experimental results are given in Chapter Three. Chapter Four discusses

thermostat valve configurations and how they apply to the engine warm-up condition:

Automotive Thermostat Valve Configurations for Enhanced Warm-Up Condition

Performance. The experimental results for this valve study are shown in Chapter Five.

Chapter six concludes this thesis. The Appendices present a Lyapunov-based stability

analysis, which was needed for the controller designs, as well as a complete

nomenclature list.

4
CHAPTER TWO

NONLINEAR CONTROL STARTEGY FOR ADVANCED

VEHICLE THERMAL MANAGEMENT SYSTEMS

In this chapter, nonlinear control strategies are presented to actively regulate the

coolant temperature in internal combustion engines. An advanced thermal management

system has been implemented on a laboratory test bench that featured a smart thermostat

valve, variable speed electric water pump and fan, radiator, engine block, and a steam-

based heat exchanger to emulate the combustion heating process. The proposed

backstepping robust control strategy has been verified by simulation techniques and

validated by experimental testing. In Section 2.1, a set of mathematical models are

presented to describe the automotive cooling components and thermal system dynamics.

The nonlinear tracking control strategies are introduced in Section 2.2. Section 2.3

presents the experimental test bench.

2.1: Automotive Thermal Management Models

A suite of mathematical models will be presented to describe the dynamic

behavior of the advanced cooling system. The system components include a 6.0L diesel

engine with a steam-based heat exchanger to emulate the combustion heat, a three-way

smart valve, a variable speed electric water pump, and a radiator with a variable speed

electric fan.
Cooling System Thermal Descriptions

A reduced order two-node lumped parameter thermal model (refer to Figure 2.1)

describes the cooling system’s transient response and minimizes the computational

burden for in-vehicle implementation. The engine block and radiator behavior can be

described by

CeT&e = Qin − C pc m& r (Te − Tr ) (1)

Cr T&r = −Qo + C pc m& r ( Te − Tr ) − ε C pa m& f (Te − T∞ ) . (2)

The variable Qin and Qo represent the input heat generated by the combustion process

and the radiator heat loss due to uncontrollable air flow, respectively. An adjustable

double pass steam-based heat exchanger delivers the emulated heat of combustion at a

maximum 55kW in a controllable and repeatable manner. In an actual vehicle, the

combustion process will generate this heat which is transferred to the coolant through the

block’s water jacket.

Radiator Steam Supply


Fan mc
mf
Tr
Water
Pump
M1
Heat Exchanger
M2 T2
P2
Radiator
P3
To Condensator

P1
Te

T1
3-Way
T3 Te Valve
Engine Block

Figure 2.1: Advanced cooling system which features a smart valve, variable speed
pump, variable speed fan, engine block, radiator, and sensors (temperature, mass flow
rate, and power)

For a three-way servo-driven thermostat valve, the radiator coolant mass flow

rate, m& r (t ) , is based on the pump flow rate and normalized valve position as m& r = Hm& c

6
where the variable H ( t ) satisfies the condition 0 ≤ H (t ) ≤ 1 . Note that H (t ) = 1(0)

corresponds to a fully closed (open) valve position and coolant flow through the radiator

(bypass) loop. To facilitate the controller design process, three assumptions are imposed:

A1: The signals Qin (t ) and Qo (t ) always remain positive in (1) and (2) (i.e.,
Qin (t ), Qo (t ) ≥ 0 ). Further, the signals Qin (t ) and Qo (t ) , and their first two time
derivatives remain bounded at all time, such that
Qin (t ), Q& in (t ), Q
&& (t ), Q (t ), Q& (t ), Q
in o o
&& (t ) ∈ L .
o ∞
A2: The surrounding ambient temperature T∞ (t ) is uniform and satisfies
Te (t ) − T∞ (t ) ≥ ε1 , ∀t ≥ 0 where ε1 ∈ ℜ+ is a constant.
A3: The engine block and radiator temperatures satisfy the condition
Te (t ) − Tr (t ) ≥ ε 2 , ∀t ≥ 0 where ε 2 ∈ ℜ+ is a constant. Further, Te (0) ≥ Tr (0) to
facilitate the boundedness of signal argument.

This final assumption allows the engine and radiator to initially be the same temperature

(e.g., cold start). The unlikely case of Te (0) < Tr (0) is not considered.

Variable Position Smart Valve

A dc servo-motor has been actuated in both directions to operate the multi-

position smart thermostat valve. The compact motor, with integrated external

potentiometer for position feedback, is attached to a worm gear assembly that is

connected to the valve’s piston. The governing equation for the motor’s armature

current, iav , can be written as

diav 1  dθ 
=  Vv − Rav iav − K bv v . (3)
dt Lav  dt 

The motor’s angular velocity, dθv ( t ) dt , may be computed as

d 2θv 1  dθ v   dh   
2
=  −bv + K mviav + 0.5dN .  Ap ∆P + c sgn     (4)
dt Jv  dt   dt   

7
Note that the motor is operated by a high gain proportional control to reduce the position

error and speed up the overall piston response.

Variable Speed Water Pump

A computer controlled electric motor operates the high capacity centrifugal water

pump. The motor’s armature current, iap , can be described as

diap 1
dt
=
Lap
(
V p − Rap iap − K bpω p ) (5)

where the motor’s angular velocity, ω p ( t ) , can be computed as

dω p
dt
=
1
Jp
(( )
− b p + R f Vo2 ω p + K mpiap . ) (6)

The coolant mass flow rate for a centrifugal water pump depends on the coolant density,

shaft speed, system geometry, and pump configuration. The mass flow rate may be

( )
computed as m& c = ρc ( 2π rbv ) where v ( t ) = rω p tan β . It is assumed that the inlet

radiator velocity, v ( t ) , is equal to the inlet fluid velocity and that the flow enters normal

to the impeller.

Variable Speed Radiator Fan

A cross flow heat exchanger and a dc servo-motor driven fan form the radiator

assembly. The electric motor directly drives a multi-blade fan that pulls the surrounding

air through the radiator assembly. The air mass flow rate going through the radiator is

affected directly by the fan’s rotational speed, ω f , so that

dω f 1
dt
=
Jf
(
−b f ω f + K mf iaf − ρ a A f R f Vaf2 ) (7)

8
(( K )
0.3
where Vaf = mf η f ρa A f ) iaf ω f . The corresponding air mass flow rate is written

as m& f = β r ρ a A f Vaf + m& ram . The last term denotes the ram air mass flow rate effect due to

vehicle speed or ambient wind velocity. The fan motor’s armature current, iaf , can be

described as

diaf 1
dt
=
Laf
(
V f − Raf iaf − Kbf ω f . ) (8)

Note that a voltage divider circuit has been inserted into the experimental system to

measure the current drawn by the fan and estimate the power consumed.

2.2: Thermal System Control Design

A Lyapunov-based nonlinear control algorithm will be presented to maintain a

desired engine block temperature, Ted (t ) . The controller’s main objective is to precisely

track engine temperature set points while compensating for system uncertainties (i.e.,

combustion process input heat, Qin (t ) , radiator heat loss, Qo (t ) ) by harmoniously

controlling the system actuators. Referring to Figure 2.1, the system servo-actuators are a

three-way smart valve, a water pump, and a radiator fan. Another important objective is

to reduce the electric power consumed by these actuators, PM (t ) . The main concern is

pointed towards the fact that the radiator fan consumes the most power of all cooling

system components followed by the pump. It is also important to point out that in (1) and

(2), the signals Te (t ) , Tr (t ) and T∞ (t ) can be measured by either thermocouples or

thermistors, and the system parameters C pc , C pa , Ce , Cr , and ε are assumed to be

constant and fully known.

9
Backstepping Robust Control Objective

The control objective is to ensure that the actual temperatures of the engine,

Te (t ) , and the radiator, Tr (t ) , track the desired trajectories Ted (t ) and Tvr (t ) ,

Ted (t ) − Te (t ) ≤ ε e , Tr (t ) − Tvr (t ) ≤ ε r as t → ∞ (9)

while compensating for the system variable uncertainties Qin (t ) and Qo (t ) where ε e and

ε r are positive constants.

A4: The engine temperature profiles are always bounded and chosen such that their first
three time derivatives remain bounded at all times (i.e., Ted (t ), T&ed (t ), T&&ed (t ) and
T&&& (t ) ∈ L ). Further, T (t ) >> T at all times.
ed ∞ ed ∞

Remark 1: Although it is unlikely that the desired radiator temperature setpoint, Tvr (t ) ,
is required (or known) by the automotive engineer, it will be shown that the
radiator setpoint can be indirectly designed based on the engine’s thermal
conditions and commutation strategy (refer to Remark 2).

To facilitate the controller’s development and quantify the temperature tracking

control objective, the tracking error signals e ( t ) and η ( t ) are defined as

e = Ted − Te , η = Tr − Tvr (10)

By adding and subtracting MTvr ( t ) to (1), and expanding the variables M = C pc mo and

m& r ( t ) = mo + m = H o m& c + Hm& c , the engine and radiator dynamics can be rewritten as

CeT&e = Qin − M ( Te − Tvr ) − C pc m (Te − Tr ) + M η (11)

Cr T&r = −Qo + C pc ( mo + m )( Te − Tr ) − ε C pa m& f (Te − T∞ ) (12)

where η ( t ) was introduced in (10), and mo and H o are positive design constants.

10
Closed-Loop Error System Development and Controller Formulation

The open-loop error system can be analyzed by taking the first time derivative of

both expressions in (10) and then multiplying both sides of the resulting equations by Ce

and Cr for the engine and radiator dynamics, respectively. Thus, the system dynamics

described in (11) and (12) can be substituted and then reformatted to realize

Ce e& = CeT&ed − Qin + M (Te − Tvro ) − ue − M η (13)

Crη& = M (Te − Tr ) − Qo + ur − Cr T&vr (14)

In these expressions, (10) was utilized as well as Tvr ( t ) = Tvro + Tvr ,

ue ( t ) = MTvr − C pc m ( Te − Tr ) , and ur ( t ) = C pc m ( Te − Tr ) − ε C pa m& f (Te − T∞ ) . The

parameter Tvro is a positive design constant.

Remark 2: The control inputs m ( t ) , Tvr ( t ) and m& f ( t ) are uni-polar. Hence,
commutation strategies are designed to implement the bi-polar inputs ue ( t )
and ur ( t ) as
ue sgn ( ue ) − 1 ue 1 + sgn ( ue ) F 1 + sgn ( F )
m= , Tvr = , m& f =
2C pc (Te − Tr ) 2M 2ε C pa ( Te − T∞ )
(15)
where F ( t ) = C pc m ( Te − Tr ) − ur . The control input, m f ( t ) is obtained
&
from (15) after m ( t ) is computed. From these definitions, it is clear that if
ue ( t ) , ur ( t ) ∈ L∞∀t ≥ 0 , then m ( t ) , Tvr ( t ) , m& f ( t ) ∈ L∞ ∀t ≥ 0 .

To facilitate the subsequent analysis, the expressions in (13) and (14) are

rewritten as

Ce e& = N% e + N ed − ue − M η , Crη& = N% r + N rd + ur − CrT&vr (16)

where the auxiliary signals N% e (Te , t ) and N% r (Te , Tr , t ) are defined as

N% e = N e − N ed , N% r = N r − N rd . (17)

11
Further, the signals N e (Te , t ) and N r (Te , Tr , t ) are defined as

N e = CeT&ed − Qin + M (Te − Tvro ) , N r = M ( Te − Tr ) − Qo (18)

with both N ed ( t ) and N rd ( t ) represented as

N ed = N e Te =Ted = CeT&ed − Qin + M (Ted − Tvro ) ,

N rd = N r Te =Ted ,Tr =Tvr = M ( Ted − Tvr ) − Qo . (19)

Based on (17) through (19), the control laws ue ( t ) and ur ( t ) introduced in (16) are

designed as

ue = K e e, ur = − K rη + ur (20)

where ur ( t ) is selected as

2 Me, , ∀ue ∈ ( −∞, 0 ) 


 
u r =  Cr Cr K e2  Cr K e . (21)
 2 M − K e − e − η , ∀ue ∈ [ 0, ∞ ) 
 Ce Ce M  Ce 

Knowledge of ue ( t ) and ur ( t ) , based on (20) and (21), allows the commutation

relationships of (15) to be calculated which provides m& r ( t ) and m& f ( t ) . Finally, the

voltage signals for the pump and fan are prescribed using m& r ( t ) and m& f ( t ) with a priori

empirical relationships.

Stability Analysis

A Lyapunov-based stability analysis guarantees that the advanced thermal

management system will be stable when applying the control laws introduced in (20) and

(21).

12
Theorem 1: The controller given in (20) and (21) ensures that: (i) all closed-loop signals
stay bounded for all time; and (ii) tracking is uniformly ultimately bounded
(UUB) in the sense that ( e ( t ) ≤ ε e , η ( t ) ≤ ε r as t → ∞ ).

Proof: See Appendix A for the complete Lyapunov-based stability analysis.

Normal Radiator Operation Strategy

The electric radiator fan must be controlled harmoniously with the other thermal

management system actuators to ensure proper power consumption. From the

backstepping robust control strategy, a virtual reference for the radiator temperature,

Tvr ( t ) , is designed to facilitate the radiator fan control law (refer to Remark 1). A

tracking error signal, η ( t ) , is introduced for the radiator temperature. Based on the

radiator’s mathematical description in (2), the radiator may operate normally, as a heat

exchanger, if the effort of the radiator fan ε C pa m& f (Te − T∞ ) , donated by ur ( t ) in (22), is

set to equal the effort produced by the water pump C pc m& r (Te − Tr ) , donated by ue ( t ) in

(23). Therefore, the control input ue ( t ) provides the signals m& r ( t ) and m& f ( t ) .

To derive the operating strategy, the system dynamics (1) and (2) can be written

as

CeT&e = Qin − ue (22)

CrT&r = −Qo + ue − ur . (23)

If ur ( t ) is selected so that it equals ue ( t ) , then the radiator operates normally. The

control input ue ( t ) can be designed, utilizing a Lyapunov-based analysis, to robustly

regulate the temperature of the engine block as

ue = − ( K e + α e ) [ e − eo ] − ∫t α e ( K e + α e ) e(τ ) + ρ e sgn(e(τ ))  dτ


t
(24)
o

13
where the last term in (24) compensates for the variable unmeasurable input heat, Qin ( t ) .

Refer to Setlur et al. (2005) for more details on this robust control design method.

Remark 3: The control input m& r ( t ) is uni-polar. Again, a commutation strategy may be
designed to implement the bi-polar input ue ( t ) as
ue 1 + sgn ( ue ) 
m& r = . (25)
2C pc (Te − Tr )
From this definition, if ue ( t ) ∈ L∞∀t ≥ 0 , then m& r ( t ) ∈ L∞∀t ≥ 0 . The
choice of the valve position and water pump’s speed to produce the required
control input m& r ( t ) , defined in (25), can be determined based on energy
optimization issues. Further, this allows m& r ( t ) to approach zero without
stagnation of the coolant since m& r = Hm& c and 0 ≤ H ( t ) ≤ 1 . Another
commutation strategy is needed to compute the uni-polar control input
m& f ( t ) so that
ur 1 + sgn ( ur ) 
m& f = (26)
2ε C pa (Te − T∞ )
where ur ( t ) = ue ( t ) . From this definition, if ur ( t ) ∈ L∞ ∀t ≥ 0 , then
m& f ( t ) ∈ L∞∀t ≥ 0 .

2.3: Experimental Thermal Test Bench

An experimental test bench (refer to Figure 2.2) was fabricated to demonstrate the

proposed advanced thermal management system controller design. The assembled test

bench offers a flexible, rapid, repeatable, and safe testing environment. Clemson

University facilities generated steam is utilized to rapidly heat the coolant circulating

within the cooling system via a two-pass shell and tube heat exchanger. The heated

coolant is then routed through a 6.0L diesel engine block to emulate the combustion

process heat. From the engine block, the coolant flows to a three-way smart valve and

then either through the bypass or radiator to the water pump to close the loop. The

thermal response of the engine block to the adjustable, externally applied heat source

14
emulates the heat transfer process between the combustion gases, cylinder wall, and

water jacket in an actual operating engine. As shown in Figure 2.1, the system sensors

include three type-J thermocouples (e.g., T1 = engine temperature, T2 = radiator

temperature, and T3 = ambient temperature), two mass flow meters (e.g., M1 = coolant

mass flow meter, and M2 = air mass flow meter), and electric voltage and current

measurements (e.g., P1 = valve power consumed, P2 = pump power consumed, and P3 =

fan power consumed).

The steam bench can provide up to 55 kW of energy. High pressure saturated

steam (412 kPa) is routed from the campus facilities plant to the steam test bench, where

a pressure regulator reduces the steam pressure to 172 kPa before it enters the low

pressure filter. The low pressure saturated steam is then routed to the double pass steam

heat exchanger to heat the system’s coolant. The amount of energy transferred to the

system is controlled by the main valve mounted on the heat exchanger. The mass flow

rate of condensate is proportional to the energy transfer to the circulating coolant.

Condensed steam may be collected and measured to calculate the rate of energy transfer.

From steam tables, the enthalpy of condensation can be acquired. To facilitate the

analysis, pure saturated steam and condensate at approximately T=100ºC determines the

enthalpy of condensation. Baseline testing was performed to determine the average

energy transferred to the coolant at various steam control valve positions. The coolant

temperatures were initialized at Te = 67ºC before measuring the condensate. Each test

was executed for different time periods.

15
Steam Heat
Exchanger

Pump

Three-Way Engine
Radiator
Valve Block
Figure 2.2: Experimental thermal test bench that features a 6.0L diesel engine block,
three-way smart valve, electric water pump, electric radiator fan, radiator, and steam-
based heat exchanger

16
CHAPTER THREE

CONTROLLER DESIGN NUMERICAL

AND EXPERIMENTAL RESULTS

In this chapter, the numerical and experimental results are presented to verify and

validate the mathematical models and control design. First, a set of Matlab/Simulink™

simulations have been created and executed to evaluate the backstepping robust control

design and the normal radiator operation strategy. The proposed thermal model

parameters used in the simulations are Ce = 17.14kJ/ºK, Cr = 8.36kJ/ºK, C pc =

4.18kJ/kg.ºK, C pa = 1kJ/kg.ºK, ε = 0.6, and T∞ ( t ) = 293ºK. Second, a set of

experimental tests have been conducted on the steam-based thermal test bench to

investigate the control design and operation strategies.

3.1: Backstepping Robust Control

A numerical simulation of the backstepping robust control strategy, introduced in

chapter two, has been performed on the system dynamics (1) and (2) to demonstrate the

performance of the proposed controller in (20) and (21). For added reality, band-limited

white noise was added to the plant. To simplify the subsequent analysis, a fixed smart

valve position of H ( t ) = 1 (e.g., fully closed for 100% radiator flow) has been applied to

investigate the water pump’s ability to regulate the engine temperature. An external ram

air disturbance was introduced to emulate a vehicle traveling at 20km/h with varying

input heat of Qin ( t ) = [50kW, 40kW, 20kW, 35kW] as shown in Figure 3.1. The initial
simulation conditions were Te ( 0 ) = 350 ºK and Tr ( 0 ) = 340 ºK. The control design

constants are Tvro = 356 ºK and mo = 0.4 . Similarly, the controller gains were selected as

K e = 40 and K r = 0.005 . The desired engine temperature varied as

Ted ( t ) = 363 + sin ( 0.05t ) ºK. This time varying setpoint allows the controller’s tracking

performance to be studied.

370 0
Desired Engine Temperature Ted
a b
Engine Temperature vs. Radiator Temperature [ºK]

368
Actual Engine Temperature Te -0.2
366

Engine Temperatue Tracking Error [ºK]


-0.4
364
-0.6
362

360 -0.8

358 -1

356
-1.2
354
-1.4
352

350 -1.6
50kW 40kW 20kW 35kW 50kW 40kW 20kW 35kW

348 -1.8
0 200 400 600 800 1000 1200 0 200 400 600 800 1000 1200
Time [Sec] Time [Sec]

c d
Coolant Mass Flow Rate Through the Pump [kg/sec]

1.2
Air Mass Flow Rate Through the Fan [kg/sec]

2.5
1

2
0.8

1.5
0.6

1
0.4

0.5 0.2

50kW 40kW 20kW 35kW 50kW 40kW 20kW 35kW

0 0
0 200 400 600 800 1000 1200 0 200 400 600 800 1000 1200
Time [Sec] Time [Sec]

Figure 3.1: Numerical response of the backstepping robust controller for variable engine
thermal loads. (a) Simulated engine temperature response for desired engine temperature
profile Ted ( t ) = 363 + sin ( 0.05t ) ºK; (b) Simulated engine commanded temperature
tracking error; (c) Simulated mass flow rate through the pump; and (d) Simulated air
mass flow rate through the radiator fan.

In Figure 3.1a, the backstepping robust controller readily handles the heat

fluctuations in the system at t = [200sec, 500sec, 800sec]. For instance, when

Qin ( t ) = 50kW (heavy thermal load) is applied from 0 ≤ t ≤ 200 sec, as well as when

18
Qin ( t ) = 20kW (light thermal load) is applied at 500 ≤ t ≤ 800 sec, the controller is able to

maintain a maximum absolute value tracking error of 1.5ºK. Under the presented

operating condition, the error in Figure 3.1b fluctuates between –0.4ºK and –1.5ºK. In

Figures 3.1c and 3d, the coolant pump (maximum flow limit of 2.6kg/sec) expends more

effort than the radiator fan which is ideal for power minimization.

Remark 4: The error fluctuation in Figure 3.1b is quite good when compared to the
overall amount of heat handled by the cooling system components.

Two scenarios have been implemented to investigate the controller’s performance

on the experimental test bench. The first case applies a fixed input heat of

Qin ( t ) = 35kW and a ram air disturbance which emulates a vehicle traveling at 20km/h as

shown in Figure 3.2. From Figure 3.2b, the controller can achieve a steady state absolute

value temperature tracking error of 0.7ºK. In Figures 3.2c and 3.2d, the water pump

works harder than the radiator fan which again is ideal for power minimization. Note that

the water pump reaches its maximum mass flow rate of 2.6kg/sec, and that the fan runs at

73% of its maximum speed (e.g., maximum air mass flow rate is 1.16kg/sec). The

fluctuation in the coolant and air mass flow rates during 0 ≤ t ≤ 400 sec (refer to Figures

3.2c and 3.2d) is due to the fluctuation in the actual radiator temperature about the

radiator temperature virtual reference Tvro ( t ) = 356ºK as shown in Figure 3.2a.

The second scenario varies both the input heat and disturbance. Specifically

Qin ( t ) changes from 50kW to 35kW at t = 200sec while Qo ( t ) varies from 20km/h to

40km/h to 20km/h at t =400sec and 700sec (refer to Figure 3.3). From Figure 3.3b, it is

clear that the proposed control strategy handles the input heat and ram air variations

nicely. During the ram air variation between 550sec and 750sec, the temperature error

19
fluctuates within 1ºK due to the oscillations in the water pump and radiator fan flow rates

per Figures 3.3c and 3.3d. This behavior may be attributed to the supplied ram air that

causes the actual radiator temperature, Tr ( t ) , to fluctuate about the radiator temperature

virtual reference Tvro ( t ) = 356ºK in Figure 3.3a.

375 1.5
Engine Temperature T
370
a e
Radiator Temperature T 1
b
r

Engine Temperature Tracking Error [ºK]


365
0.5
Temperatures [ºK]

360
0
355
-0.5
350

-1
345

340 -1.5

335 -2
0 200 400 600 800 1000 1200 0 200 400 600 800 1000 1200
Time [Sec] Time [Sec]

3 1.4
Air Mass Flow Rate Through the Radiator Fan [kg/sec]

c d
Coolant Mass Flow Rate Through the Pump [kg/sec]

1.2
2.5

1
2

0.8
1.5
0.6

1
0.4

0.5
0.2

0 0
0 200 400 600 800 1000 1200 0 200 400 600 800 1000 1200
Time [Sec] Time [Sec]

Figure 3.2: First experimental test for the backstepping robust controller with emulated
vehicle speed of 20km/h and Qin ( t ) = 35 kW. (a) Experimental engine and radiator
temperatures with a desired engine temperature Ted ( t ) = 363 ºK; (b) Experimental engine
temperature tracking error; (c) Experimental coolant mass flow rate through the pump;
and (d) Experimental air mass flow rate through the radiator fan.

20
375 2
Engine Temperature Te
370
a Radiator Temperature Tr
1.5 b

Engine Temperature Tracking Error [ºK]


1
365
0.5
Temperatures [ºK]

360
0

355
-0.5

350 -1

345
-1.5

-2
340 20 km/h 40 km/h 20 km/h
20 km/h 40 km/h 20 km/h
50 kW 35 kW -2.5
335 50 kW 35 kW
0 200 400 600 800 1000 1200 -3
Time [Sec] 0 200 400 600 800 1000 1200
Time [Sec]

3 1.4

Air Mass Flow Rate Through the Radiator Fan [kg/sec]


Coolant Mass Flow Rate Through the Pump [kg/sec]

1.2
d
2.5

1
2

0.8
1.5

0.6
1

0.4

0.5
20 km/h 40 km/h 20 km/h
0.2
20 km/h 40 km/h 20 km/h
50 kW 35 kW
0 50 kW 35 kW
0 200 400 600 800 1000 1200 0
Time [Sec] 0 200 400 600 800 1000 1200
Time [Sec]

Figure 3.3: Second experimental test scenario for the backstepping robust controller
where the input heat and ram air disturbance vary with time. (a) Experimental engine and
radiator temperatures with a desired engine temperature Ted ( t ) = 363 ºK; (b)
Experimental engine temperature tracking error; (c) Experimental coolant mass flow rate
through the pump; and (d) Experimental air mass flow rate through the radiator fan.

3.2: Normal Radiator Operating Strategy

The normal radiator operation strategy, introduced in chapter two, has been

numerically simulated using system dynamics (1) and (2) to investigate the robust

tracking controller performance given in (24). The simulated thermal system’s

parameters, initial simulation conditions, and desired engine temperature were equivalent

to Section 3.1. Again, a band-limited white noise was added to the plant. A fixed 100%

radiator flow smart valve position allows the water pump’s ability to regulate the engine

temperature to be studied. The external ram air emulated a vehicle traveling at 20km/h;

21
the input heat was varied as shown in Figure 3.4 (e.g., Qin ( t ) = [50kW, 40kW, 20kW,

35kW]). The control gains were set as K e = 10 , α e = 0.005 , and ρe = 0.1 . Although the

normal radiator operation accommodated the heat variations in Figure 3.4a, its

performance was inferior to the backstepping robust control. However, the normal

radiator operation achieved less tracking error under the same operating condition when

Figure 3.1b and 3.4b are compared. In this case, the maximum temperature tracking error

fluctuation was 1ºK. In Figures 3.4c and 3.4d, the pump works harder than the fan which

is preferred for power minimization. Note that the power consumption is larger than that

achieved by the backstepping robust controller (refer to Figures 3.1c, 3.1d, 3.4c, and

3.4d).

The same two experimental scenarios presented for the backstepping robust

controller are now implemented for the normal radiator operation strategy on the thermal

test bench. In the first scenario, a fixed input heat and ram air disturbance,

Qin ( t ) = 35kW and 20km/h vehicle speed, were applied. In Figure 3.5a, the normal

radiator operation overshoot and settling time are larger than the backstepping robust

control (refer to Figure 3.2a). As shown in Figure 3.5b, an improved engine temperature

tracking error was demonstrated but with greater power consumption in comparison to

the backstepping robust control (refer to Figure 3.2b). Finally, the water pump operated

continuously at its maximum per Figure 3.5c.

For the second test scenario, the input heat and disturbance are both varied as

previously described for the backstepping robust control. The normal radiator operation

maintained the established control gains. In Figure 3.6b, the temperature error remains

within a ±0.4ºK neighborhood of zero despite variations in the input heat and ram air.

22
Although the temperature tracking error is quite good, this strategy does not minimize

average power consumption in comparison to the backstepping robust control strategy.

370 2
Desired Engine Temperature Ted
b
Engine Temperature vs. Radiator Temperature [ºK]

368 1
Actual Engine Temperature Te
366

Engine Temperatue Tracking Error [ºK]


0
364
-1
362
-2
360
a -3
358
-4
356
-5
354

352 -6

350 -7
50kW 40kW 20kW 35kW 50kW 40kW 20kW 35kW

348 -8
0 200 400 600 800 1000 1200 0 200 400 600 800 1000 1200
Time [Sec] Time [Sec]

c 1.2
d
Coolant Mass Flow Rate Through the Pump [kg/sec]

Air Mass Flow Rate Through the Fan [kg/sec]


2.5
1

2
0.8

1.5
0.6

1
0.4

0.5 0.2

50kW 40kW 20kW 35kW 50kW 40kW 20kW 35kW

0 0
0 200 400 600 800 1000 1200 0 200 400 600 800 1000 1200
Time [Sec] Time [Sec]

Figure 3.4: Numerical response of the normal radiator operation for variable engine
thermal loads. (a) Simulated engine temperature response for desired engine temperature
profile Ted ( t ) = 363 + sin ( 0.05t ) ºK; (b) Simulated engine commanded temperature
tracking error; (c) Simulated mass flow rate through the pump; and (d) Simulated air
mass flow rate through the radiator fan.

23
375 1
Engine Temperature Te
370
a Radiator Temperature Tr
0

Engine Temperature Tracking Error [ºK]


365

-1 b
Temperatures [ºK]

360

355 -2

350
-3

345

-4
340

335 -5
0 200 400 600 800 1000 1200 0 200 400 600 800 1000 1200
Time [Sec] Time [Sec]

3 1.4

Air Mass Flow Rate Through the Radiator Fan [kg/sec]


c d
Coolant Mass Flow Rate Through the Pump [kg/sec]

1.2
2.5

1
2

0.8
1.5
0.6

1
0.4

0.5
0.2

0 0
0 200 400 600 800 1000 1200 0 200 400 600 800 1000 1200
Time [Sec] Time [Sec]

Figure 3.5: First experimental test results for the normal radiator operation controller
with emulated vehicle speed of 20km/h and Qin ( t ) = 35 kW. (a) Experimental engine and
radiator temperatures with a desired engine temperature Ted ( t ) = 363 ºK; (b)
Experimental engine temperature tracking error; (c) Experimental coolant mass flow rate
through the pump; and (d) Experimental air mass flow rate through the radiator fan.

24
375 1
Engine Temperature Te
370
a Radiator Temperature Tr 0

Engine Temperature Tracking Error [ºK]


365
-1
b
Temperatures [ºK]

360
-2
355
-3
350

-4
345

340 20 km/h 40 km/h 20 km/h -5 20 km/h 40 km/h 20 km/h

50 kW 35 kW 50 kW 35 kW
335 -6
0 200 400 600 800 1000 1200 0 200 400 600 800 1000 1200
Time [Sec] Time [Sec]

3 1.4

Air Mass Flow Rate Through the Radiator Fan [kg/sec]


c d
Coolant Mass Flow Rate Through the Pump [kg/sec]

1.2
2.5

1
2

0.8
1.5
0.6

1
0.4

0.5
20 km/h 40 km/h 20 km/h 0.2 20 km/h 40 km/h 20 km/h

50 kW 35 kW 50 kW 35 kW
0 0
0 200 400 600 800 1000 1200 0 200 400 600 800 1000 1200
Time [Sec] Time [Sec]

Figure 3.6: Second experimental test scenario for the normal radiator operation
controller where the input heat and ram air disturbance vary with time. (a) Experimental
engine and radiator temperatures with a desired engine temperature Ted ( t ) = 363 ºK; (b)
Experimental engine temperature tracking error; (c) Experimental coolant mass flow rate
through the pump; and (d) Experimental air mass flow rate through the radiator fan.

3.3: Results Summary

The simulation and experimental results are summarized in Table 3.1 to compare

the controller strategies. To ensure uniform operating conditions, all reported data

corresponds to the first scenario thermal conditions. Further, the controller gains, initial

conditions, and temperature set points were maintained for both the simulation and

experimental tests. Note that adaptive and robust controllers were also designed and

implemented (Salah et al., 2006) for comparison purposes. However, the designs are not

25
reported in this paper. For these two controllers, the radiator temperature set point was

required which may be considered a weakness.

Overall, the normal radiator operation strategy was better than the adaptive and

robust control strategies. However, it is not as good as the backstepping control when

compared in terms of power consumption despite achieving less temperature tracking

error. Therefore, the backstepping robust control strategy is considered to be the best

among all controllers and operation strategies. The power measure is the minimum, the

heat change handling is more satisfactory, and a set point for the radiator temperature is

not required. From Table 3.1 it is clear that the variations in the actual coolant

temperature about the set point, quantified by the steady state tracking error, are

relatively minor given that the maximum absolute tracking error is 0.3% (e.g., adaptive

control).

1 t 1 1 
Remark 5: The power measure PM = ∫  2 2 ( )+
3
m& c τ
2 2 ()
3
m& f τ + Pv  dτ
calculates
T t 
o
2 ρc Ac 
2ρ f A f

the average power consumed by the system actuators over the time
T=20min. Power measure is performed for the duration of the experimental
test (T) using the trapezoidal method of integration. The power consumed by
the smart valve is considered to be quite small so it is neglected. The
following parameters’ values are used: ρc = 1000kg/m3, ρ a = 1.2kg/m3,
Ac = 1.14mm2, Aa = 114mm2, and Pv ≅ 0.

Error |ess| [ºK] Power PM [W]


Description
Simulation Experiment Simulation Experiment
Backstepping
0.616 0.695 15.726 16.449
robust control
Normal radiator
0.105 0.175 18.922 19.334
operation strategy
Adaptive control 1.003 1.075 18.646 18.880
Robust control 0.905 0.935 17.079 17.795
Table 3.1: Simulation and experimental results summary for four control strategies.

26
CHAPTER FOUR

AUTOMOTIVE THERMOSTAT VALVE CONFIGURATIONS

A series of automotive cooling system architectures may be created using

different thermostat valve scenarios as shown in Figure 4.1. The valve and radiator baffle

configurations considered include: factory mode (Case 1); two-way valve (Case 2);

three-way valve (Case 3); valve absent without radiator baffles (Case 4); and valve absent

with radiator baffles (Case 5). The factory configuration has the mechanically driven

water pump and radiator fan emulated by an electric variable speed pump and fan. The

two-way valve operates by regulating coolant flow in either the bypass or radiator branch

of the cooling circuit. The three-way valve proportionally directs the flow through either

the bypass and/or radiator loop. The proper utilization of a variable speed pump

potentially allows the thermostat valve to be removed since the coolant flow rate may be

predominantly controlled by the pump. The introduction of radiator baffles in the valve

absent configuration provides external radiator airflow control (due to vehicle speed)

further enhancing effectiveness.

Hypothesis: The automotive thermostat valve’s primary role is to route the coolant flow
between the bypass and radiator branches during warm-up conditions. The
best thermostat valve cooling system configuration utilizes a computer
controlled three-way valve since it offers the most precise coolant flow
regulation for warm-up scenarios.

In this chapter, the thermostatic valve’s functionality will be investigated in

ground vehicle advanced thermal management systems. In Section 4.1, an overview of

the predominant cooling system configurations and the thermostatic valve’s operation

will be discussed. A model-based nonlinear control law, with underlying system thermal
model, will be introduced in Section 4.2 to regulate the coolant pump and radiator fan

servo-motor actuators. Two valve control strategies will also be introduced. In Section

4.3, the experimental test bench which creates a repeatable testing environment will be

reviewed.

1. Factory 2. Two-Way Valve 3. Three-Way Valve 4. Valve Absent


Engine Temperature Engine

Te Te
Radiator
Flow
Meter

Tr
Variable
Variable Speed Fan Speed
Radiator Temperature Pump

+
5. Valve Absent
With Radiator Baffles

Figure 4.1: Five valve configurations to enhance fluid flow control; note the two
thermocouples, Te (t ) and Tr (t ) , and fluid flow meter after the pump

4.1: Cooling System Configurations and Valve Operation

The typical automotive cooling system has two main thermal components: engine

and radiator. The coolant flow through the engine loop transports excess combustion

heat to the radiator loop which dissipates this heat. Controlling and directing coolant

28
flow between these two loops is the main function of most thermostat valves. This

functionality may be accomplished through different valve configurations and system

architectures.

Traditional Thermostat Valve Fluid Control (Case 1)

The common cooling system has three key components working to regulate

engine temperature: thermostat, water pump, and radiator fan (refer to Figure 4.2). In

operation, when the engine is cold, the thermostat is closed and coolant is forced to flow

through an internal engine bypass (usually a water passage parallel to the engine water

jackets). Once the coolant reaches the desired operating temperature, the thermostat

begins to open and allow coolant to flow through the radiator where excess heat can be

rejected. Coolant flowing through the radiator is further cooled by the radiator fan

pulling air across the radiator. When the coolant has dropped below the thermostat

temperature rating, the valve closes (via spring force) directing the coolant again through

the bypass. Conventional thermostats are wax based; their operation depends on the

material properties of the wax in the thermostat housing and the coolant temperature

surrounding it (Choukroun and Chanfreau, 2001). Traditional water pumps and radiator

fans are generally mechanically driven by the engine’s crankshaft. Specifically, the water

pump is driven as an accessory load while the radiator fan is often connected directly to

the crankshaft with a clutch.

29
Wax Thermostat
Engine

Radiator

Mechanically Driven Radiator Fan


Mechanically Driven Water Pump

Figure 4.2: Factory cooling system configuration demonstrating the use of mechanically
driven water pump and radiator fan with a wax thermostat (Case 1).

Factory cooling systems typically present two problems (Chalgren and Barron,

2003). First, large parasitic losses are associated with operating mechanical components

at high rotational speeds due to their mechanical linkages. This not only decreases the

overall engine power, but increases the fuel consumption. Additionally, these parasitic

losses are compounded since the traditional cooling system components are designed for

maximum (and often infrequent) cooling loads. Second, over/under cooling may occur

since the water pump speed is directly proportional to the engine speed (again due to the

mechanical linkages). At low engine speeds, the water pump may not be circulating

coolant fast enough to properly cool the engine at higher loads. Similarly, the water

pump may be circulating the coolant too fast, causing the engine to be overcooled and

lose efficiency at higher speeds. Fundamentally, the traditional cooling system is passive

and there is no direct control over its operation.

Two Way Valve Fluid Control (Case 2)

The two-way smart valve controls flow by blocking the coolant from entering an

external bypass as shown in Figure 4.3. When the engine is cold, the valve is open and

coolant flows through the bypass at a rate proportional to the pressure drop across the

bypass and valve. Therefore, the pressure drop can be partially controlled by the valve

30
position. During this time, the radiator is also receiving a portion of the coolant flow.

Once the engine has reached operating temperature, the valve begins to close and coolant

is routed through the radiator only.

Two-Way Valve Engine


&r )
(m &c )
(m
Te
Radiator Flow
& b ) Meter
(m

Tr
Variable
Variable Speed Fan Speed
Pump

Figure 4.3: Advanced thermal management system with two-way valve configuration
which emphases design simplicity while providing non-precise fluid flow control
between radiator and bypass loops (Case 2).

When the valve is oriented in the bypass mode, some coolant will always flow

through the radiator which is a major drawback when trying to rapidly warm the engine

to operating temperature. Further, the amount of coolant flow through the bypass and

radiator is determined by the valve’s geometry and location within the cooling circuit.

Therefore, a two-way valve would be specific to a particular cooling system and would

most likely not be interchangeable between vehicles. It is possible to place two-way

valves in many locations for an advanced cooling system that would alter the thermal

dynamics. For instance, the valve could be shifted to the inlet of the radiator, completely

preventing flow from entering the radiator (when fully closed) to aid in engine warm-up

times. However, a pressure drop has been added in series with the radiator and some

fluid will always flow through the bypass.

31
Three-Way Valve Fluid Control (Case 3)

The operation of a smart three-way valve is very similar to the two-way valve.

However, a three-way valve controls coolant flow through the bypass and radiator loops

as shown in Figure 4.4. Unlike the two-way valve, the coolant flow can be completely

blocked from entering the radiator or bypass which aids in engine warm-up time

(Chalgren, 2004). This is the primary advantage of utilizing a three-way valve in the

cooling circuit. Although increased control is achieved, the introduction of hardware

with greater functionality can be expensive. In addition, valve geometries can become

complicated when designing a three-way valve that proportionally controls coolant flow

while minimizing the pressure drop.

&r )
(m Three-Way Valve
&c )
(m Engine

Te
Radiator Flow
&b )
(m
Meter

Tr
Variable
Speed
Variable Speed Fan Pump

Figure 4.4: Advanced thermal management system with three-way valve configuration
which offers precise fluid flow regulation (Case 3).

No Valve Fluid Control (Cases 4 and 5)

When control over the coolant pump speed (and therefore flow rate) can be

achieved, the possibility exists to eliminate the thermostat valve completely. As

mentioned earlier, the thermostat’s main roll is to regulate the coolant flow rate and

direction. Therefore, the valve loses one of its primary purposes due to active pump

speed control. The valve is now reduced to controlling fluid flow between the bypass and

radiator loops, which is only required during warm-up conditions. That is, when the

32
engine is cold, coolant is routed through the bypass via valve position to reduce warm-up

times. However, the valve could potentially be eliminated if the pump circulates coolant

as required by the engine (refer to Figure 4.5). Note that coolant must be circulated at all

times since hot spots may develop, leading to engine damage.

Engine
&c )
(m
Te
Radiator Flow
Meter

Tr
Variable
Variable Speed Fan Speed
Pump
Radiator Baffles
Fully Open Fully Closed

Figure 4.5: The thermostat valve is removed which eliminates the need for a bypass;
temperature control achieved by the coolant pump and radiator fan. Note that the radiator
baffles range from fully open to fully closed (Cases 4 and 5).

Temperature control is handled by varying the pump speed (or flow rate). During

warm-up conditions, the pump speed is minimized to reach operating temperature

quickly. Once the engine reaches its operating temperature, the pump speed would then

be adjusted according to the heat load. The radiator fan becomes active when the pump

alone cannot control the thermal input from the engine and is adjusted to match the

necessary amount of heat rejection. Overall, this configuration simplifies the cooling

system by eliminating the thermostat valve.

A further improvement of warm-up times, without a thermostat valve, may be

achieved with servo-motor driven radiator baffles. Radiator baffles control ram-air

effects acting on the radiator (due to the vehicle speed). In essence, the baffles serve as a

33
valve for external air flow. In warm-up conditions, the baffles would be closed to block

airflow across the radiator and minimize the amount of heat rejected. Once the engine

has reached its operating temperature, the baffles may be opened and the radiator

functions normally. The coolant pump operation would be similar to the no baffle case.

4.2: Thermal Models and Operating Strategy

A reduced order lumped parameter thermal model may be used to describe the

transient response of the engine thermal management system. The thermal dynamics for

the engine and radiator nodes, Te (t ) and Tr (t ) , in Figure 4.1 may be written as (Setlur et

al., 2005)

CeT&e = Qin − c pc m& r (Te − Tr ) , Cr T&r = c pc m& r (Te − Tr ) − ε c pa m& a (Te − T∞ ) − Qo . (27)

In the two-way valve configuration (refer Figure 4.3), a flow rate exists through the

radiator branch, m& r (t ) , at all times so that m& r = (1 − ε ) Hm& c + ε m& c . The coolant mass

flow rate through the bypass branch, m& b (t ) , becomes m& b = (1 − ε )(1 − H ) m& c . Note that

the parameter ε ( ∆p ) depends on the pressure drop, ∆p (t ) , across the radiator and bypass

branches. The variable H ( x ) represents the normalized valve position which is

dependant on the actual valve position, x(t ) . Finally, the overall coolant mass flow rate

is m& c = m& r + m& b .

The cooling circuit dynamic behavior varies slightly when a three-way valve is

introduced as shown in Figure 4.4. The three-way valve may be modeled using a linear

relationship between the normalized valve position, H ( x) , and the coolant flow rate

through the radiator branch, m& r (t ) , for a given water pump speed. In this case, the flow

34
rates through the radiator and bypass branches become m& r = Hm& c and m& b = (1 − H ) m& c ,

respectively. If the valve and bypass are completely removed from the cooling system

(refer to Figure 4.5), then the flow rate through the radiator branch and water pump will

be equivalent, m& r = m& c .

The three-way valve dynamics may be applied to evaluate the traditional factory

thermostat behavior (Case 1) by adjusting the smart valve’s operation. The valve

position, H ( x ) , will respond in a linear manner to the coolant temperature so that (Zou

et al., 1999)

 0; Te < Tl (bypass only )



T −T
H =  e l ; Tl ≤ Te ≤ Th (28)
 Th − Tl
 1; Te > Th (radiator only )

The parameters Tl and Th represent the temperatures at which the wax in the thermostat

begins to soften and fully melt. In an actual wax thermostat, hysteresis occurs while the

wax is changing states such that the valve’s operation is nonlinear. For this paper, the

hysteresis has been neglected. For on/off (or bang-bang) valve control (Cases 2 and 3),

the control authority is

0; Te < Ted − ∆T (bypass only )


H = (29)
1; Te ≥ Ted − ∆T (radiator only )

where ∆T is the boundary layer about the desired engine temperature, Ted (t ) . The

boundary layer was introduced to reduce valve dithering. Note in equations (28) and (29)

that H = 1 corresponds to coolant flow completely through the radiator. Similarly,

complete coolant flow through the bypass occurs when H = 0 . Remember that Cases 4

35
and 5 remove the thermostat valve.

The main purpose of the engine’s thermal management system is to maintain a

desired engine block temperature, Ted (t ) , while accommodating the un-measurable

combustion process heat input, Qin (t ) and the uncontrollable air flow heat loss across the

radiator, Qo (t ) . To achieve this goal, a Lyapunov-based nonlinear controller has been

developed so that the engine’s coolant temperature, Te (t ) , tracks the desired temperature,

Ted (t ) , by regulating the system actuators (variable speed electric water pump and

radiator fan) in harmony with each other. Note that in equation (27), the signals Te (t ) ,

Tr (t ) and T∞ (t ) are measured by thermocouples (or thermistors). The system parameters

c pc , c pa , Ce , Cr , and ε are assumed completely known and constant throughout the

engine’s operation. The controller objective is to ensure that the actual engine

temperature, Te (t ) , tracks the desired trajectory, Ted (t ) , such that Te (t ) → Ted (t ) as

t → ∞ while compensating for the system variable uncertainties Qin (t ) and Qo (t ) .

To formulate the control law, the thermal system dynamics described in equation

(27) can be rewritten as

CeT&e = Qin − ue , Cr T&r = ue − ur − Qo (30)

where ue (t ) and ur (t ) are the control inputs, which are defined as

ue = c pc m& r (Te − Tr ) , ur = ε c pa m& a (Te − T∞ ) . (31)

A Lyapunov based nonlinear controller can be developed and applied to regulate the

engine temperature (similar to Setler et al., 2005) so that the control law (which

establishes a basis to determine the pump and fan speeds) is designed as

36
t
ue = − ( K + α ) [ e − eo ] − ∫ α ( K + α ) e(τ ) + ρ sgn(e(τ ))  dτ . (32)
to

In this expression, the final term, ρ sgn(e) , compensates for the variable un-measurable

input heat, Qin ( t ) . The error, e(t ) , is the difference between the desired and actual

engine temperatures, Ted (t ) − Te (t ) . Finally, the variable, eo , is the initial temperature

error.

The radiator’s mathematical description in equation (27) states that it operates

normally (i.e., as a heat exchanger) if the effort of the radiator fan, denoted by ur ( t ) in

equation (30), is set equal to the effort produced by the water pump, denoted by ue ( t ) .

Therefore, the control input ue ( t ) provides the signal m& r ( t ) and the control input

ur (t ) = ue ( t ) provides the signal m& a ( t ) as shown in equation (31). The signal m& r ( t ) is

uni-polar, so a commutation strategy determines the radiator coolant mass flow rate as

ue 1 + sgn ( ue ) 
m& r = . (33)
2c pc ( Te − Tr )

The coolant mass flow rate, m& c (t ) , or pump effort, is now determined using equation (7)

and the valve configuration with its normalized position, H . For Cases 2 and 3, the

m& r m&
coolant flow rates become m& c = and m& c = r , respectively. If a valve does
H − ε ( H + 1) H

not exist for Cases 4 and 5, then m& c = m& r . Note that the coolant pump command voltage

is determined by an a priori empirical relationship (e.g., Chastain and Wagner, 2006).

From equation (33), if ue (t ) is bounded for all time, then m& r (t ) is bounded for all time.

37
A second commutation strategy is proposed to compute the uni-polar control

input m& a ( t ) so that

ur 1 + sgn ( ur ) 
m& a = . (8)
2ε c pa ( Te − T∞ )

As stated earlier, ur ( t ) = ue ( t ) . The radiator fan speed determines the radiator air flow

rate which does not include the ram air flow due to vehicle speed. The ram air effects are

handled by Qo in equations (27) and (30). Again, an a priori empirical relationship

determined the fan motor voltage. From this definition, if ur (t ) is bounded for all time,

then m& a (t ) is bounded for all time. Note that equation (31) is utilized to develop

equations (33) and (38). For further details, the reader is referred to Salah et al. (2007).

4.3: Thermostat Valve Thermal Test Bench

An experimental test bench was created to investigate the thermostat valve

configurations (Cases 1-5) shown in Figure 4.1. This custom bench offered maximum

flexibility and a repeatable environment (refer to Figure 4.6). Clemson University

Facilities steam was used to rapidly heat engine coolant which flowed through a double

pass shell and tube heat exchanger, to emulate combustion, and the engine block. The

integration of a 6.0L International V-8 engine block into the test bench offered a thermal

capacitance similar to actual operation. From the engine, the coolant flowed to the smart

thermostat valve which can be selected to operate in either the traditional (Case 1), two-

way (Case 2), three-way (Case 3), or no valve with/without baffles (Cases 4 and 5)

through a series of valves shown in Figure 4.6. For Cases 1 and 3, Valve A is closed and

Valve B is opened. In contrast, Case 2 operation occurs when Valve A is opened and

38
Valve B is closed. This action forces the coolant to flow through either the smart

thermostat valve or Valve A as it would in the two-way valve operation per Section 4.1.

Also, when Valve A is opened and Valve B is closed, Cases 4 and 5 may be explored by

positioning the smart valve for flow through the radiator, H = 1 .

Electric Water Pump

Valve A
&r )
(m Valve B J-TC ( Te ) Engine

Radiator ( Qout )

Flow
Meter
(m&c )

J-TC ( Tr )
Electric
Fan
Steam Inlet a
Heat
Exchanger ( Qin )

Condensate
Outlet

Figure 4.6: Schematic of thermal test bench with actual cooling system components,
engine block, sensors, and steam heat exchanger.

To calculate the rate of heat transfer, Qin (t ) , condensed steam was collected and

measured. It has been assumed that the amount of condenser condensate is proportional

to the amount of heat transferred to the circulating coolant (Incropera and DeWitt, 1990).

The inlet steam control valve regulates the flow of incoming steam to the condenser

which in turn regulates heat transfer. Overall, heat transfer rates of up to 60 kW can be

39
achieved with the current steam heat exchanger. Two J type Omega thermocouples, with

Omega OM5-LTC signal conditioners, measure the coolant temperatures at the engine,

Te (t ) , and radiator, Tr (t ) , outlets. The coolant mass flow, m& c (t ) , was determined using

an Omega FP7001A paddle-wheel mass flow meter placed after the pump.

Data acquisition was performed by a Servo-to-Go controller board which utilizes

eight digital-to-analog (DA) outputs and eight analog-to-digital (AD) inputs. This

controller board provides signals for the smart valve, variable speed electric pump, and

radiator fan. The custom steel body smart valve, with Teflon filled Delrin (Delrin AF)

piston, was linearly actuated by a Litton servo-motor driven worm gear. The pump was a

standard brass centrifugal pedestal pump (3.2cm outlet and 3.8cm inlet) driven by a

Reliance Electric 240VAC three phase electric motor. The electric radiator fan (Summit

SUM-G4904) has a diameter d=45.7cm and can handle flow rates up to 850 liters/sec.

40
CHAPTER FIVE

AUTOMOTIVE THERMOSTAT VALVE CONFIGURATIONS


– EXPERIMENTAL RESULTS AND OBSERVATIONS

Five different valve and radiator baffle configurations were investigated on the

steam test bench using the proposed control strategies in Chapter four to study

temperature warm-up time, tracking error, and overshoot, as well as total actuator power

consumption. The configuration tests are presented in Table 5.1 with Case 5 reflecting

the radiator blocked by baffles during warm-up. The warm-up time, twu , is the time

required for the engine temperature, Te (t ) , to reach its desired set point, Ted (t ) . The

absolute steady-state temperature error, Ess , represents the difference between Te (t ) and

Ted (t ) at steady-state operation. The temperature overshoot, Osh , denotes the difference

between the engine temperature, Te (t ) , at its peak value and the desired engine

temperature, Ted (t ) . The total power consumption, Ptotal , is the average power consumed

by the water pump and radiator fan during the test ( 0 < t < 40 minutes). Note that the

power consumed by the valve is negligible and has been ignored. All the tests began at

Te ( 0 ) = 305 ˚K with Ted ( t ) = 363˚K. To simulate a vehicle driving at a constant speed

and load, the input heat has been selected as Qin ( t ) = 35kW . Further, the wind speed

associated with Qo ( t ) was approximately 100 km/hr. The control gains, selected

through tuning, were K = 23 , α = 1.0e-04 , and ρ = 0.1 .


Electric
Case Configuration Valve Operation Electric Fan
Pump
Traditional Tl=358˚K, Th=368˚K Fixed, half Fixed, full
1
factory per (28) speed speed
Ted=363˚K, ∆T=0.5˚K
2 Two-way valve
per (29)
Ted=363˚K, ∆T=0.5˚K Variable Variable
3 Three-way valve
per (29) speed per speed per
4 No valve n/a (32), (33) (32), (34)
No valve with
5 n/a
baffles
Table 5.1: Summary of the valve configuration tests, components, and operating modes.

Factory Configuration (Case 1) Experimental Results

In the factory cooling configuration, the engine and radiator temperature

responses are shown in Figure 5.1a with no apparent temperature overshoot since the set

point, Ted (t ) , was not achieved. A steady-state temperature offset of Ess = 0.777 ˚K was

observed. Constant radiator air flow, m& a ≅ 1.53 kg/sec, corresponded to fixed engine

speed and clutch operation as displayed in Figure 5.1b. The water pump flow rate was

maintained at approximately m& c ≅ 1.50 kg/sec to emulate constant engine speed (refer to

Figure 5.1c). Operation of the thermostat valve was controlled by equation (2) with

Tl =358˚K and Th =368˚K; the normalized valve position is displayed in Figure 5.1d. The

valve started opening at t ≅ 296 seconds with steady-state operation achieved at

approximately t ≅ 2000 seconds. Coolant flow rate through the entire cooling circuit

decreased when the valve opened and reflects different pressure drops between the

radiator and bypass loops.

42
370 1.8

a b

Air Mass Flow Rate through the Radiator Fan [kg/sec]


360 1.6

1.4
350

1.2
Temperatures [ºK]

340
1
330
0.8
320
0.6

310
0.4

300 Engine Temperature Te 0.2


Radiator Temperature Tr
290 0
0 500 1000 1500 2000 0 500 1000 1500 2000
Time [Sec] Time [Sec]

c d
Coolant Mass Flow Rate Through the Pump [kg/sec]

100

Normalized Valve Position (H) [% Bypass Branch]


2.5

80

60

1.5

40

20

0.5

0
0 500 1000 1500 2000 0 500 1000 1500 2000
Time [Sec] Time [Sec]

Figure 5.1: Case 1 - Factory configuration with (a) Engine and radiator temperatures for
a desired engine temperature Ted (t ) ; (b) Air mass flow rate through the radiator fan; (c)
Coolant mass flow rate through the pump; and (d) Normalized valve position.

Two Way Valve Configuration (Case 2) Experimental Results

The two-way valve configuration located the smart valve in the bypass loop as

shown in Figure 4.3. Transient response of the engine and radiator (refer to Figure 5.2a)

display slower temperature dynamics when compared to the factory setting in Figure 5.1a

(e.g., t ≅ 380 versus t ≅ 270 seconds for the engine temperature to reach Te = 350 ˚K).

The steady-state temperature error between the engine and prescribed value is

Ess = 0.245 ˚K. This thermal behavior may be explained by the lack of control over the

fluid flow through the radiator. In Figure 5.2d, the valve changes position only once at

t ≅ 548 seconds, which is attributed to the engine temperature, Te (t ) , remaining above

43
the desired temperature Ted =363˚K when reached. In Figures 5.2b and 5.2c, the valve

position change (routing from the bypass to the radiator) produces oscillations in the air

and coolant mass flow rates. These fluctuations may be attributed to the high gain

control of the pump and fan.

370 1.8

Air Mass Flow Rate Through the Radiator Fan [kg/sec]


360
a 1.6 b
1.4
350

1.2
Temperatures [ºK]

340
1
330
0.8
320
0.6

310
0.4

300 Engine Temperature T 0.2


e
Radiator Temperature T
r
290 0
0 500 1000 1500 2000 0 500 1000 1500 2000
Time [Sec] Time [Sec]

c 100
d
Coolant Mass Flow Rate through the Pump [kg/sec]

Normalized Valve Position (H) [% Bypass Branch]

2.5

80

60

1.5

40

20

0.5

0
0 500 1000 1500 2000 0 500 1000 1500 2000
Time [Sec] Time [Sec]

Figure 5.2: Case 2 - Two-way valve configuration with (a) Engine and radiator
temperatures for a desired engine temperature Ted ( t ) ; (b) Air mass flow rate through the
radiator fan; (c) Coolant mass flow rate through the water pump; and (d) Normalized
valve position.

Three-Way Valve Configuration (Case 3) Experimental Results

The main attribute of the three-way valve resides in the ability to route coolant

proportionally through the bypass and the radiator loops (refer to Figure 4.4). In Figure

5.3a, the thermal response of the engine and radiator coolant temperatures is displayed.

The three-way valve switches between the bypass and radiator at t ≅ 359 , t ≅ 428 , and

44
t ≅ 471 seconds (refer to Figure 5.3d) to realize a short warm-up time of twu = 363.9

seconds. A minimum steady-state error was demonstrated with Ess = 0.175 ˚K which

may be attributed to the improved coolant flow control associated with the three-way

valve as discussed in Section 4.1. The fan and coolant mass flow rates (refer to Figures

5.3b and 5.3c) again display flow oscillations during the valve’s operation due to the high

control gains. It is important to note that these gains were selected to minimize the

temperature tracking error with the understanding that flow oscillations may occur.

Finally, a correlation exists between the valve’s initial position change and the

temperature profile which indicates that the restricted radiator flow allowed the radiator’s

fluid volume to be cooled and waiting to be released into the engine block to quickly

lower the engine temperature.

45
370 1.8

Air Mass Flow Rate Through the Radiator Fan [kg/sec]


360 1.6 b
1.4
350

1.2
Temperatures [ºK]

340
1
330
0.8
320
0.6

310
0.4

300 Engine Temperature Te 0.2


Radiator Temperature Tr
290 0
0 500 1000 1500 2000 0 500 1000 1500 2000
Time [Sec] Time [Sec]

1.8

c 100
d
Coolant Mass Flow Rate through the Pump [kg/sec]

Normalized Valve Position (H) [% Bypass Branch]


1.6

1.4 80

1.2
60

40
0.8

0.6 20

0.4
0

0.2
0 500 1000 1500 2000 0 500 1000 1500 2000
Time [Sec] Time [Sec]

Figure 5.3: Case 3 - Three-way valve configuration with (a) Engine and radiator
temperatures for a desired engine temperature Ted ( t ) ; (b) Air mass flow rate through the
radiator fan; (c) Coolant mass flow rate through the water pump; and (d) Normalized
valve position.

No Valve Configuration Experimental Results (Cases 4 and 5)

The elimination of the bypass and thermostat valve results in a simplified, single

loop cooling circuit composed of the engine block, radiator fan, and coolant pump (refer

to Figure 4.5). In Figure 5.4a, the temperature profiles demonstrate that the warm-up

time, twu ≅ 594.1 seconds, is larger when compared to the three-way valve configuration

(Cases 1, twu ≅ 363.9 seconds) but very similar to the two-way valve architecture (Case

2, twu ≅ 558.0 seconds). Note that the steady-state temperature error is Ess = 0.276 ˚K.

The radiator fan and water pump responses are shown in Figures 5.4b and 5.4c. Once

again the signal oscillations may be attributed to the high control gains for the pump and

46
radiator fan.

370 1.8

Air Mass Flow Rate Through the Radiator Fan [kg/sec]


360
a 1.6 b
1.4
350

1.2
Temperatures [ºK]

340
1
330
0.8
320
0.6

310
0.4

300 Engine Temperature Te 0.2


Radiator Temperature Tr
290 0
0 500 1000 1500 2000 0 500 1000 1500 2000
Time [Sec] Time [Sec]

c
Coolant Mass Flow Rate through the Pump [kg/sec]

2.5

1.5

0.5

0
0 500 1000 1500 2000
Time [Sec]

Figure 5.4: Case 4 - Valve absent configuration with (a) Engine and radiator
temperatures for a desired engine temperature Ted ( t ) ; (b) Air mass flow rat through the
radiator; and (c) Coolant mass flow rate through the pump.

In an attempt to minimize the warm-up time with this configuration, baffles

blocked the air flow through the radiator until the engine coolant temperature reached the

desired temperature. As shown in Figure 5.5a, the warm-up time, twu ≅ 382.9 seconds,

was significantly improved by a 35.5% decrease in comparison to Case 4. However, the

integration of servo-actuated baffles into the radiator would add to system complexity

and power consumption. Note that these experimental results do not reflect the power

required to drive the radiator baffles so the power consumption value reported in Table

5.2 should be slightly larger. For this test, the baffles were removed at t ≅ 406 seconds

47
as noted by the decrease in radiator temperature due to the enhanced cooling process via

available ram air flow.

370
1.8
a

Air Mass Flow Rate Through the Radiator Fan [kg/sec]


360 1.6 b
350 1.4

1.2
Temperatures [ºK]

340

1
330
0.8
320
0.6
310
0.4

300 Engine Temperature T


e 0.2
Radiator Temperature T
r
290 0
0 500 1000 1500 2000 0 500 1000 1500 2000
Time [Sec] Time [Sec]

c
Coolant Mass Flow Rate through the Pump [kg/sec]

2.5

1.5

0.5

0
0 500 1000 1500 2000
Time [Sec]

Figure 5.5: Case 5 - Valve absent and baffles present configuration with (a) Engine and
radiator temperatures for a desired engine temperature Ted ( t ) ; (b) Air mass flow rate
through the radiator; and (c) Coolant mass flow rate through the pump.

Configuration Performance Comparison and Observations

The experimental data presented in Figures 5.1 through 5.5 has been summarized in

Table 5.2. To aid in the selection of an advanced cooling system architecture focused on

the engine warm-up scenario, four observations are discussed.

48
|Ess| [˚K] Ptotal
Case Configuration twu [sec] Osh [˚K] Rank
[W]
Traditional 0.777
1 n/a 1 n/a 109.37 4
factory
2 Two-way valve 558.0 0.245 4.3 33.14 5
3 Three-way valve 363.9 0.175 3.6 24.31 1
4 No valve 594.1 0.276 4.3 24.72 3
No valve with 0.254
5 382.9 3.2 36.56 2
baffles
Table 5.2: Summary of the valve configuration tests performance in terms of warm-up
time, absolute steady state error, temperature overshoot, average power consumption, and
relative rank. Case 5 does not consider energy required to operate the baffles.

Observation 1: One of the greatest effects on engine warm-up time (outside of


combustion events) is the control of fluid flow across the radiator. The
blockage of coolant and/or air flow through the radiator achieves the
best warm-up times. Use of a three-way valve or radiator baffles
effectively achieves this condition. A two-way valve is not effective at
controlling warm-up times when positioned in the bypass circuit and
may be completely removed under this criterion.

The comparison of warm-up times, twu , between the various cooling system

configurations reveals that the three-way valve architecture achieved the shortest time

followed by the valve absent with baffles configuration. Note that the factory thermostat

(Case 1) did not reach the desired temperature due to overcooling so its warm-up time

was not reported. A short warm-up time can be primarily attributed to restricting the

coolant flow to the bypass allowing minimal heat loss. This effect is especially evident

when the two-way and no valve (Cases 2 and 4) warm-up times are considered given that

some coolant will flow through the radiator during warm-up. It is interesting to observe

that the two-way valve configuration warm-up time, twu = 558.0 seconds, is similar to

the valve absent, twu = 594.1 seconds. Hence, the two-way valve is largely ineffective

during the warm-up scenario. When air flow across the radiator is blocked (Case 5), the

1
The engine coolant temperature never reached the desired value of Ted = 363˚K.

49
warm-up time is on par with that of the three-way valve configuration ( twu = 363.9

versus twu = 382.9 seconds).

Observation 2: To minimize temperature tracking error, precise fluid control must be


maintained by the thermostat valve, coolant pump, and/or radiator fan.

The temperature tracking error is an important metric when discussing advanced

thermal management systems. Engine coolant temperature should be controlled as close

as possible to the set point temperature to facilitate combustion efficiency. The steady-

state temperature error, Ess , ranking can be stated as Case 3, 2, 5, 4 and 1, respectively.

The three-way valve offered a 28.6% improvement over the two-way valve. Similar

observations may be made for Case 3 when compared to the valve absent (Case 4) and

the valve absent with baffles (Case 5) with 36.6% and 31.1% improvements. An

explanation for this behavior may be attributed to the improved fluid control in the three-

way valve configuration. The factory configuration (Case 1) had the highest relative

error measure due to the fact that the engine temperature was realized by overcooling the

system through elevated coolant pump and radiator fan operation. The emulated wax

thermostat valve only allowed 42% of maximum radiator flow to control the coolant

temperature to a neighborhood of Ted .

Observation 3: Power consumption may be minimized using an advanced thermal


management system (Cases 2-5) in comparison to the factory
architecture (Case 1). Further, the three-way valve configuration (Case
3) consumed less power than the valve absent architecture (Case 4)
without the associated increase in warm-up time and error measure.

1 t 1 
The power measure Ppump = ∫ 2 2 ( )  dτ
3
m& c τ and
∆t t 
o
2 ρ c Ac 

50
1 t 1 
Pfan = ∫ 2 2 a ( )  dτ
3
m& τ calculates the average power consumed by the water pump
∆t t 
o
2 ρa A f


and radiator fan, respectively, over the time period ∆t = t − to = 40 minutes. The total

average power consumption has been reported in column 6 of Table 5.2. As stated

earlier, power consumed by the valve is minimal and has been neglected. Observing the

power consumption values, the three-way configuration (Case 3) consumed the least

power, Ptotal = 24.31 W, followed closely by the valve absent configuration (Case 4) at

Ptotal = 24.72 W. However, the trade-off between the lower power consumption for the

valve absent configuration were longer warm-up times and increased error measure. The

factory configuration consumed the most power during testing, Ptotal = 109.37 W, due to

the constant pump and fan operation. In the valve absent with baffles configuration

(Case 5), the total power consumption does not consider the power required to operate

the baffles which would increase the reported value in Table 5.2.

Observation 4: The three-way valve configuration provides the most benefits, with very
few drawbacks in system design, and outperforms all other valve
configurations. If simplicity is desired, completely removing the valve
negatively impacts the cooling system performance. The addition of
baffles, while removing the thermostat valve, provides similar
performance to the three-way valve configuration at the cost of
additional radiator hardware.

From a design perspective, the valve absent configuration (Case 4) would be ideal

for cooling system simplicity. Extra hardware is eliminated by removing the valve which

reduces cost and engineering time associated with its development. However, this

architecture comes with the penalty of increased warm-up times, and therefore, results in

the valve absent configuration being ranked third. The addition of baffles helped to

improve the warm-up time when the valve was removed (Case 5) resulting in the

51
configuration being ranked second. For maximum control and flexibility, the three-way

valve configuration (Case 3) was ideal and ranked the highest in Table 5.2. During

testing, it performed very well by providing low warm-up times and tracking error while

consuming little power compared to the other cases. The two-way valve configuration

(Case 2) may be labeled obsolete when compared to the three-way valve’s performance

and carries the same relative cost and time for integration into the cooling system.

Further, the two-way valve configuration warm-up time was very similar to the valve

absent configuration, leading to the fifth rank. The fact that the factory configuration

(Case 1) had a favorable relative warm-up time compared to the other cases at the critical

cost of total power consumption and steady-state temperature error resulted in the fourth

rank.

52
CHAPTER SIX

CONCLUSION

Advanced automotive thermal management can have a positive impact on

gasoline and diesel engine cooling systems. In this study, a suite of servo-motor based-

cooling system components have been assembled and controlled using a Lyapunov-based

nonlinear control technique. The control algorithm has been investigated using both

simulation and experimental tests. Two detailed and two supplemental controllers were

applied to regulate the engine coolant temperature. In each instance, the controllers

successfully maintained the engine block to prescribed setpoint temperatures with small

error percentages. It has also been shown that the power consumed by the system

actuators can be reduced. Overall, the findings demonstrated that setpoint temperatures

can be maintained satisfactory while minimizing power consumption which ultimately

impacts fuel economy.

Thermostat valve configuration is an important topic in advanced thermal

management systems as it pertains to engine coolant temperature warm-up time. Four

valve configurations were examined and tested for effectiveness: factory, two-way valve,

three-way valve, and valve absent. Summarizing the findings, the three-way valve

configuration provides excellent temperature tracking, power consumption, and warm-up

time when compared to the other cases. The two-way valve and valve absent

configurations were very similar in performance, leading to the conclusion that a two-

way valve can possibly be eliminated entirely form the cooling system. Finally, a

tradeoff exists between the three-way valve and valve absent configurations. The
inherent cost of designing and implementing a three-way valve must be weighted against

the improved performance. Overall, the results and observations made in Chapter 5

support the hypothesis formulated in Chapter 3.

Future Work

1) In-Vehicle Testing: Advanced thermal management systems testing must include in-

vehicle or dynamometer evolution. The results presented in this research project

were all obtained from testing performed on a steam-based thermal test bench. This

bench essentially emulated combustion events by providing a constant heat load to

the coolant. In an actual engine, many variables go into the amount of heat

introduced to the coolant and it is certainly not constant. Therefore, to further

increase the effectiveness of controllers and actuators, testing needs to be conducted

on an actual engine. Dynamometer testing would be sufficient, but variables that

affect the cooling system would still need to be simulated (such as vehicle speed).

This leads to in-vehicle testing, which would be ideal for future continuation of

advanced thermal management by providing typical conditions that the thermal

management system would be subjected to during driving. It would also provide a

test bed for refinement of the advanced thermal management actuators.

2) Cold Weather Testing: The bulk of this research was conducted at ambient operating

temperatures. Ideally, elevated and freezing temperatures need to be tested to

completely map the thermal management systems performance. Currently, most

vehicles address issues with elevated temperature engine cooling due to the fact that

the cooling system components are designed to maintain operating conditions at the

extreme environmental conditions (Lehner et al., 2001). Cold weather operating

54
conditions are often not considered when designing cooling systems because warm

weather effects have a large impact on the lifespan of an engine. One of the major

problems with the operation of cooling systems in cold weather is the cold coolant

charge that develops in the radiator when the thermostat is in the bypass position.

When the thermostat switches positions to allow flow through the radiator, this cold

coolant charge is introduced into the hot engine. Due to these large temperature

fluctuations, high thermo-cyclic stresses are created which distort the engine block

and head leading to possible damage (Heisler, 1995). Design of cooling system

components that allow ideal operation in both cold and warm weather offers further

benefits for overall engine performance.

3) Radiator Shutter/Baffle Design and Control: The introduction of radiator

baffles/shutters (discussed in Chapters 4 and 5) is one solution to dealing with a cold

environment. Current radiator baffle designs are either manually operated by the

driver or automatically operated via a second thermostat, the “shutterstat” (Ursini et

al., 1982). The shutterstat is usually located on the engine block and controls the

opening and closing of the radiator baffles/shutters via pneumatic pressure from an

engine powered air pump. Typically, the shutterstat operates in a similar manner to

the conventional wax based thermostat. When the engine is cold wax in the

shutterstat is solid and a spring holds a pneumatic spool valve in the closed position

as shown in Figure 6.1. When the engine reaches its operating condition, the wax in

the shutterstat begins to melt and expand, compressing the retaining spring and

opening the pneumatic valve. Attached to the shutterstat valve is a pneumatic

actuator that activates a mechanical linkage causing the shutters/baffles to open.

55
Radiator
(Top View) DC motor controls shutter
position and velocity through the
Warm Coolant gear train

Air Flow
Radiator Fan

Shutterstat
– controls
pneumatic
actuator

Cold Coolant

Conventional Electro Mechanical


Shutter System Shutter System

Figure 6.1: Operation and demonstration of conventional and controllable radiator


shutter systems to regulate underhood airflow.

Many of the problems associated with the typical thermostat are also present in

the shutterstat. Namely, the passive nature of such a system. The opportunity exists

to pursue electro-mechanical control of the baffles which would effectively convert

the radiator into a variable rate heat exchanger by allowing complete airflow

regulation. In theory, variable control of airflow through the radiator would eliminate

the need for any type of thermostat valve because heat rejection is controlled by the

shutters/baffles. Although the possibility of this refinement exists, both actuators and

controller would need to be designed based on the radiator and engine performance.

This additional electric motor control would need to be controlled by the Engine

Control Module with the other cooling system components.

4) Investigation of Mixing Tanks: Yet another solution for dealing with a cold

environment exists in the introduction of a coolant mixing tank. The mixing tank

would combine coolant from the radiator and engine allowing a mean temperature to

develop before reintroducing it to the engine (Page et al., 2005). This would

effectively eliminate the temperature gradient seen in cold environments and reduce

56
the system complexity involved with radiator shutters/baffles. Research could be

conducted to explore the feasibility of such a system.

57
APPENDICES
Appendix A

Proof of Theorem 1

Let V ( z , t ) ∈ℜ denote the non-negative function

1 1
V = Ce e 2 + Crη 2 (A.1)
2 2

where z (t ) ∈ ℜ2 is defined as

z = [e η ] T . (A.2)

Note that (A.1) is bounded as (refer to Theorem 2.14 of Qu (1998))

2 2
λ1 z (t ) ≤ V ( z, t ) ≤ λ2 z (t ) (A.3)

where λ1 , and λ2 are positive constants. After taking the time derivative of (A.1), then

V& = eN ed + eN% e − eue − eMη + η N rd + η N% r + η ur − η Cr T&vr (A.4)

where (16) was utilized. From Appendix B, an expression for η ( t ) CrT&vr ( t ) becomes

1
η CrT&vr = 1 + sgn ( ue ) x, x = η Cr ( β1 N e − β 2e − β 3η ) (A.5)
2

where β1 , β2 , and β3 are defined in (B.3). From (A.5), it is clear that η ( t ) CrT&vr ( t ) ,

introduced in (A.4), changes with respect to the sign of the control input ue ( t ) .

Consequently, two cases are realized.

Case I: η ( t ) CrT&vr ( t ) = 0 when ue ( t ) ∈ ( −∞, 0 )

The expression of V& (t ) , introduced in (A.4), can be rewritten as

V& = eN ed + eN% e − K e e2 + η N rd + η N% r − K rη 2 + eMη (A.6)

where (20) and (21) were utilized. To facilitate the subsequent analysis, the auxiliary

signals N% e (Te , t ) and N% r (Te , Tr , t ) , introduced in (17) can be computed as

59
N% e = − Me (A.7)

N% r = − Me − Mη (A.8)

where (18) and (19) were used as well as M introduced in (11). Application of (A.7),

(A.8), and the triangle inequality allows V& (t ) to be upper bounded as

2 2 2 2
V& ≤ − K e e − K r η + e N ed − M e + η N rd − M η . (A.9)

By using (A.2) and completing the squares for the last four terms on the right-

hand side of (A.9), the following inequality can be obtained (Qu, 1998) as

2
V& ≤ −λ3 z + ε o (A.10)

2 2
N N
where λ3 = min {K e , K r } and ε o = ed + rd . From (A.1), (A.3), and (A.10), then
4M 4M

V ( z , t ) ∈ L∞ ; hence, e(t ),η (t ), z (t ) ∈ L∞ . From (10) and Assumption 4, Te (t ) ∈ L∞ since

e(t ),η (t ) ∈ L∞ and ue (t ), ur (t ) ∈ L∞ based on (20) and (21). Thus, Tvr (t ) ∈ L∞ can be

realized using (15) in Remark 2 and the relation Tvr = Tvro + Tvr . From the previous

bounding statements, Tr (t ), m& r (t ), H (t ), m& c (t ), m& f (t ) ∈ L∞ since

m& r = mo + m = H o m& c + Hm& c and the information in (10), (15), and (16).

Case II: η ( t ) CrT&vr ( t ) ≠ 0 when ue ( t ) ∈ [ 0, ∞ )

The expression of V& (t ) , introduced in (A.4), can be rewritten as

C
V& = eN ed + eN% e − K e e2 + η N r − K rη 2 − η Cr β1N e + eMη − K e r eη (A.11)
Ce

where (17), (20), (21), and (A.5) were applied. For convenience, the expression in (A.11)

may be rewritten as

60
C
V& = − K e e2 − K rη 2 + eN% e + eN ed + η N% + η N d + eMη − K e r eη (A.12)
Ce

where the auxiliary signal N% (Te , Tr , t ) becomes

N% = N − N d . (A.13)

The variables N (Te , Tr , t ) and N d ( t ) are defined as

N = N r − Cr β1N e (A.14)

Nd = N Te =Ted ,Tr =Tvr = N rd − Cr β1 N ed (A.15)

where N e ( t ) , N r ( t ) , N ed ( t ) and N rd ( t ) were introduced in (18), (19), and β1 was

introduced in (B.3). The auxiliary signal N% (Te , Tr , t ) , introduced in (A.13), can be

computed as

 C 
N% = −  M − K e r  e − Mη (A.16)
 Ce 

based on (17), (18), (19), and (B.3). By utilizing (A.7), (A.16), and the triangle

inequality, V& (t ) in (A.12) can be upper bounded as

2 2 2 2
V& ≤ − K e e − K r η + e N ed − M e + η N d − M η . (A.17)

The final step of the proof follows the same argument presented in Case I to

2 2
2 N N
demonstrate that V& ≤ −λ3 z + ε o and all signals are bounded where ε o = ed + d .
4M 4M

61
Appendix B

Finding CrT&vr Expression

The expression for CrTvr can be written as

Cr Tvro , ∀ue ∈ ( −∞, 0 ) 


 
CrTvr =  C r ue  (B.1)
Cr Tvro + , ∀ue ∈ [ 0, ∞ ) 
 M 

where (15) and the relation Tvr = Tvro + Tvr were utilized. The parameter M was

introduced in (11). After taking the first time derivative of (B.1), the following

expression can be obtained

0 , ∀ue ∈ ( −∞, 0 ) 


Cr T&vr =   (B.2)
Cr ( β1 N e − β 2e − β 3η ) , ∀ue ∈ [ 0, ∞ ) 

where (16), (17), and (20) were applied. The coefficients β1 , β2 and β3 are defined as

Ke K2 K
β1 = , β 2 = e , β3 = e . (B.3)
MCe MCe Ce

62
Appendix C

Steam Start up Procedure

1) Open main low pressure steam control valve [1] slowly

L.P. Steam
L.P. Filtered Steam
Pressure H.P. Steam
Regulator
Drain/Return

H.P. Filter

L.P.
Steam
Filter
[1]
6 ft/
48 tubes

H.P.
Steam
Outlet
Steam
Trap

Desuperheater
Heat Exchanger

Steam Trap

[1]

63
2) Open low pressure steam drain valve [2] slowly (to prevent water hammer) while [1] is
still opened to flush condensate – leave open until steam is coming from the drain

L.P. Steam
L.P. Filtered Steam
Pressure H.P. Steam
Regulator
Drain/Return

H.P. Filter

L.P.
Steam
Filter
[1]
6 ft/
48 tubes

H.P.
Steam

Steam
Outlet [2]
Trap

Desuperheater
Heat Exchanger

Steam Trap

[2]

64
3) Close low pressure steam drain valve [2] slowly, leave main low pressure steam
control valve [1] open. Now, slowly open the low pressure filter control valve [3].

L.P. Steam
L.P. Filtered Steam
Pressure H.P. Steam
Regulator
Drain/Return

H.P. Filter

L.P.
Steam
Filter
[1]
6 ft/
48 tubes

H.P.
Steam

Steam
Outlet [2]
Trap

[3]

Desuperheater
Heat Exchanger

Steam Trap

[3]

[2]

65
4) Allow steam to build pressure in the filter (approximately 10-15 min). Once pressure
has stabilized in filter, open the heat exchanger control valve [4].

L.P. Steam
L.P. Filtered Steam
Pressure H.P. Steam
Regulator
Drain/Return

H.P. Filter

L.P.
Steam
Filter

6 ft/
48 tubes

H.P.
Steam
Outlet
Steam
Trap

[4]
Desuperheater
Heat Exchanger

Steam Trap

[4]

66
5) Steam is now being routed through the heat exchanger. Adjust the heat exchanger
control valve [4] to control the amount of heat entering the system. Periodically purge
steam through the purge valve [5] to bleed air.

L.P. Steam
L.P. Filtered Steam
Pressure H.P. Steam
Regulator
Drain/Return

H.P. Filter

L.P.
Steam
Filter

6 ft/
48 tubes

H.P.
Steam
Outlet
Steam
Trap

[5] [4]
Desuperheater
Heat Exchanger

Steam Trap

[5]

[4]

67
6) If the system needs to be shut down in case of an emergency or for any other reason,
close the main low pressure steam control valve [1] and open the low pressure steam
drain valve [2] to relieve pressure in the system.

L.P. Steam
L.P. Filtered Steam
Pressure H.P. Steam
Regulator
Drain/Return

H.P. Filter

L.P.
Steam
Filter
[1]
6 ft/
48 tubes

H.P.
Steam

Steam
Outlet [2]
Trap

Desuperheater
Heat Exchanger

Steam Trap

[1] [2]

68
Complete System Schematic

L.P. Steam
L.P. Filtered Steam
Pressure H.P. Steam
Regulator
Drain/Return

H.P. Filter

L.P.
Steam
Filter
[6] [1]
6 ft/
48 tubes

15 psi
H.P. Burst
Steam Plug
Outlet
Steam
[2]
Trap

[3]
[7]
[5] [4]
Desuperheater
Heat Exchanger

Steam Trap

[1] – Main Low Pressure Steam Control Valve


[2] – Low Pressure Steam Drain Valve
[3] – Low Pressure Filter Control Valve
[4] – Heat Exchanger Control Valve
[5] – Heat Exchanger Purge Valve
[6] – Main High Pressure Steam Control Valve
[7] – High Pressure Steam Drain Valve

69
Notes:

• IN CASE OF AN EMERGENCY, ALWAYS CLOSE THE MAIN CONTROL


VAVLES FIRST, THEN OPEN THE MAIN DRAIN VALVES TO RELEIVE
PRESSURE.

• NEVER CHECK FOR STEAM LEAKS WITH YOUR HANDS.

• When first starting the system it would help to clear condensate if the main high
pressure steam control valve [6] and high pressure steam drain valve [7] are opened
before the low pressure side. The high pressure steam will then clear most the
condensate in the lines and help to prevent water hammer. The high pressure steam
only needs to be run around 5 minutes to ensure most the condensate has cleared.

• There is a 15 psi burst plug located on the low pressure filter manifold, do not allow
low pressure to rise above 15 psi without replacing the burst plug. If the plug does
burst, close the main low pressure steam control valve [1].

• Low pressure can be adjusted on the pressure regulator by turning the screw located
on the top. Counter clockwise rotation (loosening) of the screw reduces pressure.

70
Appendix D

Backstepping Robust Control SIMULINK Block Diagram and Code

C–Code for the S-Function builder block “RadDyn”

double Qo, Cpc, H, Te, Tr, E, Cpa, mf, Tinf, Cr, mc, CrTr_dot;

Qo = u0[0];
Cpc = u0[1];
H = u0[2];
Te = u0[3];
Tr = u0[4];
E = u0[5];
Cpa = u0[6];
mf = u0[7];
Tinf = u0[8];
Cr = u0[9];
mc = u0[10];

CrTr_dot = -Qo + Cpc * H * mc * (Te - Tr) - E * Cpa * mf * (Te - Tinf)

y0[0] = CrTr_dot/Cr;
C–Code for the S-Function builder block “RadCon”

double ke, kr, Ce, Cr, Cpc, Ho, Tr, Tvr, dTed, e, Ue, M, eta, lam1, lam2, lam3, Urbar, Ur,
mc;

ke = u0[0];
kr = u0[1];
Ce = u0[2];
Cr = u0[3];
Cpc = u0[4];
Ho = u0[5];
Tr = u0[6];
Tvr = u0[7];
dTed = u0[8];
e = u0[9];
Ue = u0[10];
mc = u0[11];
M = Cpc * Ho * mc;
eta = Tr - Tvr;
lam1 = (Cr * ke)/M;
lam2 = (Cr * ke)/Ce + (Cr * ke * ke)/(M * Ce);
lam3 = (Cr * ke)/Ce;
Urbar = - lam2 * e - lam3 * eta;

if (Ue < 0) { Ur = -kr * eta + 2 * M * e;}


else {Ur = -kr * eta + 2 * M * e + Urbar;}

y0[0] = eta;
y0[1] = Ur;

C–Code for the S-Function builder block “Pump”

double mbar, mo, mc, F, H;

mbar = u0[0];
mo = u0[1];
mc = mbar + mo;
F = 0.17 - mc;

if (F >= 0 ) {H = F/0.085;}
else {H = 0;}

y0[0] = mc;
y0[1] = H;

72
C–Code for the S-Function builder block “Heat”

double t, Qin;

t = u0[0];

if (t <= 400){Qin = 30;}


if ((400 < t) & (t <= 600)){Qin = 40;}
if ((600 < t) & (t <= 900)){Qin = 15;}
if (900 < t){Qin = 25;}

y0[0] = Qin;

C–Code for the S-Function builder block “Fan”

double Cpa, Cpc, Hbar, Te, Tr, Tinf, E, mc, Ur, F, denom, mf;

Cpa = u0[0];
Cpc = u0[1];
Hbar = u0[2];
Te = u0[3];
Tr = u0[4];
Tinf = u0[5];
E = u0[6];
Ur = u0[7];
mc = u0[8];
F = Cpc * Hbar * mc * (Te - Tr) - Ur;
denom = E * Cpa * (Te - Tinf);

if (F >= 0) {mf = F/denom;}


else {mf = 0;}

y0[0] = F;
y0[1] = mf;

C–Code for the S-Function builder block “EngDyn”

double Qin, Cpc, H, Te, Tr, Ce, CeTe_dot, mc;

Qin = u0[0];
Cpc = u0[1];
H = u0[2];
Te = u0[3];
Tr = u0[4];
Ce = u0[5];
mc = u0[6];

73
CeTe_dot = Qin - Cpc * H * mc * (Te - Tr);

y0[0] = CeTe_dot/Ce;

C–Code for the S-Function builder block “EngCon”

double ke, Te, Ted, Tvro, Cpc, Ho, Tr, e, Ue, Hbar, Tvrbar, Tvr, mc;

ke = u0[0];
Te = u0[1];
Ted = u0[2];
Tvro = u0[3];
Cpc = u0[4];
Ho = u0[5];
Tr = u0[6];
mc = u0[7];
e = Ted - Te;
Ue = ke * e;

if (Ue < 0) {Hbar = -Ue/(Cpc * mc * (Te - Tr)); Tvrbar = 0;}


else {Hbar = 0; Tvrbar = Ue/(Cpc * Ho * mc);}

Tvr = Tvro + Tvrbar;

y0[0] = e;
y0[1] = Ue;
y0[2] = Hbar;
y0[3] = Tvr;

C–Code for the S-Function builder block “Desired”

double t, Tedo, Ted, dTed;

t = u0[0];
Tedo = u0[1];

Ted = Tedo + sin(0.05 * t);


dTed = 0.05 * cos(0.05 * t);
y0[0] = Ted;
y0[1] = dTed;

74
Appendix E

Normal Radiator Operating Strategy Experimental C-Code

// ==============================================================
// QMotor - A PC Based Real-Time Graphical Control Environment @ 2000 QRTS
// ==============================================================
// Control Program : NormRadOper.cpp
// Description : Normal Radiator Operating Strategy
// ==============================================================
// ----- QRTS libraries -----
#include "ControlProgram.hpp"
#include "IOBoardClient.hpp"
#include "ButterworthFilter.hpp"
// ----- C standard libraries -----
#include <math.h>
#include <Adams3Integrator.hpp>

//==============================================================
// Class definition of the NormRadOper class
//==============================================================
class NormRadOper : public ControlProgram
{
private:
Adams3Integrator< double > myIntegrator;
Adams3Integrator< double > myIntegrator_PowMeas;
protected:
// ----- Log Variables -----
double filteredTe, filteredTr, filteredTHEin, filteredTHEout;
double filteredTsteam, u, H, mr, mc, mf, Cpc, Cpa, eps;
double filteredKgPS, filteredGPM, filteredFrequencyFR, Qin, filteredmf;
double VPE, POT, DVP, DVPPer, volt;
double fanCur, fanPow, e, PowMeas;
double *adc;
// A/D channels
int *digitalInput;
// Digital inputs
int *encoder;
// Encoder channels
int *encoderAtIndex;
// Encoder values at the index mark
// ----- Control Parameters -----
double Kp;
// proportional gain for the valve control
double K, alpha, rho;
// control gains for the engine block

75
double Ted;
// desired temperature of engine blocks
int doOutput;
// Set to 1 to enable output to D/A and digital out
double cutOffFrequency;
double dampingRatio;
double COF;
double DR;
// ----- Other variables -----
ButterworthFilter<double> filterTe;
ButterworthFilter<double> filterTr;
ButterworthFilter<double> filterTHEin;
ButterworthFilter<double> filterTHEout;
ButterworthFilter<double> filterTsteam;
ButterworthFilter<double> filterFreqFR;
ButterworthFilter<double> filterVR;
ButterworthFilter<double> filterPOT;
// ----- Clients -----
IOBoardClient *iobc;
// ----- Other Variables -----
int numDac;
int numAdc;
int numEncoders;
int numDiginBits;
int numDigoutBits;
int digoutValue;
public:
NormRadOper(int argc, char *argv[]) : ControlProgram (argc, argv) {};
// Constructor. Usually no need to make changes here
~NormRadOper () {};
// Destructor. Usually no need to make changes here
// ----- User Functions -----
// This functions need to be implemented by the user in order to implement
// his control application. The user does not need to implement all of them,
// but usually at least enterControl(), startControl(), control() and
// exitControl() are implemented.
virtual int enterControl();
virtual int startControl();
virtual int control();
virtual int valveControl();
virtual int readTemp();
virtual int getErrorSign(double);
virtual int commStrategies();
virtual int pumpControl();
virtual int fanControl();
virtual int stopControl();

76
virtual int exitControl();
};

//==============================================================
// NormRadOper::enterControl
//==============================================================
int NormRadOper::enterControl()
{
const char *ioboardServerName =
d_config.getStringEntry("ioBoardServerName", "qrts/iobs0");
iobc = new IOBoardClient(ioboardServerName);
if (iobc->isStatusError())
{
d_status.setStatusError()
<< d_applicationName << ": [IOBoardTest::startControl()] "
<< "Error connecting to IO board server " << ioboardServerName
<< endl;
delete iobc;
iobc = 0;
return -1;
}
numEncoders = iobc->getNumEncoders();
numAdc = iobc->getNumAdc();
numDac = iobc->getNumDac();
numDiginBits = iobc->getNumDiginBits();
numDigoutBits = iobc->getNumDigoutBits();
// Start message
d_messageStream
<< endl << "----- " << d_applicationName << " -----" << endl
<< "This is a program to test all channels of an I/O board" << endl
<< "It displays A/D, encoder and digital input channels and" << endl
<< "outputs a sine wave to the D/A channels and alternates" << endl
<< "all digital output channels" << endl
<< endl;
d_messageStream
<< "---- Connected to IO Board server " << ioboardServerName << " ----"
<< endl
<< "Number of A/D channels: " << numAdc << endl
<< "Number of D/A channels: " << numDac << endl
<< "Number of encoder channels: " << numEncoders << endl
<< "Number of digital inputs: " << numDiginBits << endl
<< "Number of digital outputs: " << numDigoutBits
<< endl;

// ----- Allocate the log variables -----


adc = new double [(numAdc)? numAdc:1];

77
encoder = new int [(numEncoders)? numEncoders:1];
encoderAtIndex = new int [(numEncoders)? numEncoders:1];
digitalInput = new int [(numDiginBits)? numDiginBits:1];
// ----- Register the log variables -----
registerLogVariable(&filteredTe, "Te", "Engine Temperature");
registerLogVariable(&filteredTr, "Tr", "Radiator Temperature");
registerLogVariable(&filteredTHEin, "THEin", "Heat Exchanger Inlet
Temperature");
registerLogVariable(&filteredTHEout, "THEout", "Heat Exchanger Outlet
Temperature");
registerLogVariable(&filteredTsteam, "Tsteam", "Steam Temperature");
registerLogVariable(&filteredKgPS, "filteredKgPS", "Filtered Kg/sec");
registerLogVariable(&filteredFrequencyFR, "filteredFrequencyFR", "Filtered
Frequency Flow Rate");
registerLogVariable(&Qin, "Qin", "System Heat Input");
registerLogVariable(&VPE, "VPE", "Valve Position Error");
registerLogVariable(&POT, "POT", "Potentiometer Feedback");
registerLogVariable(&DVP, "DVP", "Desired Valve Position");
registerLogVariable(&DVPPer, "DVPPer", "Desired Valve Position Percentage");
registerLogVariable(&e, "e", "Engine Temperature Tracking Error");
registerLogVariable(&mf, "mf", " Radiator Fan Air Mass Flow Rate");
registerLogVariable(&mr, "mr", "Radiator Coolant Mass Flow Rate");
registerLogVariable(&mc, "mc", "Engine Coolant Mass Flow Rate");
registerLogVariable(&fanCur, "fanCur", " Radiator Fan Current");
registerLogVariable(&fanPow, "fanPow", " Radiator Fan Power Consumed");
registerLogVariable(&PowMeas, "PowMeas", "The Power Measure");
registerLogVariable(&u, "u", "control");
registerLogVariable(&H, "H", "NVP");
registerLogVariable(adc, "adc", "Analog inputs", (numAdc)? numAdc:1);

// ----- Register the control parameters -----


registerControlParameter(&Kp, "Kp",
"Proportional gain for the valve control");
registerControlParameter(&K, "K",
"Control gain for the engine block control");
registerControlParameter(&alpha, "alpha",
"Control gain for the engine block control");
registerControlParameter(&rho, "rho",
"Control gain for the engine block control");
registerControlParameter(&Ted, "Ted",
"Desired Temperature of Engine Block");
registerControlParameter(&cutOffFrequency, "cutOffFrequency",
"Cutoff frequency of low-pass filter");
registerControlParameter(&dampingRatio, "dampingRatio",
"Damping ratio of low-pass filter");
registerControlParameter(&COF, "COF",

78
"Cutoff frequency of low-pass filter for the valve feedback");
registerControlParameter(&DR, "DR",
"Damping ratio of low-pass filter for the valve feedback");
registerControlParameter(&doOutput, "doOutput",
"Set to 1 to enable output to digital and D/A channels");
// Set all control parameters initially to zero
clearAllControlParameters();
return 0;
}

//==============================================================
// NormRadOper::startControl
//==============================================================
int NormRadOper::startControl()
{
double initValue;
clearAllLogVariables();
digoutValue = 0;
iobc->setDacValue(4, 5); //activate the voltage for the valve potentiometer
Cpc = 4.1813;
Cpa = 1;
eps = 0.6;
initValue = 0;
myIntegrator.setSamplingPeriod(d_controlPeriod);
myIntegrator.reset(initValue);
myIntegrator_PowMeas.setSamplingPeriod(d_controlPeriod);
myIntegrator_PowMeas.reset(initValue);
filterTe.setCutOffFrequency(cutOffFrequency);
filterTe.setDampingRatio(dampingRatio);
filterTe.setSamplingTime(d_controlPeriod);
filterTe.setAutoInit();
filterTr.setCutOffFrequency(cutOffFrequency);
filterTr.setDampingRatio(dampingRatio);
filterTr.setSamplingTime(d_controlPeriod);
filterTr.setAutoInit();
filterTHEin.setCutOffFrequency(cutOffFrequency);
filterTHEin.setDampingRatio(dampingRatio);
filterTHEin.setSamplingTime(d_controlPeriod);
filterTHEin.setAutoInit();
filterTHEout.setCutOffFrequency(cutOffFrequency);
filterTHEout.setDampingRatio(dampingRatio);
filterTHEout.setSamplingTime(d_controlPeriod);
filterTHEout.setAutoInit();
filterTsteam.setCutOffFrequency(cutOffFrequency);
filterTsteam.setDampingRatio(dampingRatio);
filterTsteam.setSamplingTime(d_controlPeriod);

79
filterTsteam.setAutoInit();
filterPOT.setCutOffFrequency(cutOffFrequency);
filterPOT.setDampingRatio(dampingRatio);
filterPOT.setSamplingTime(d_controlPeriod);
filterPOT.setAutoInit();
filterVR.setCutOffFrequency(cutOffFrequency);
filterVR.setDampingRatio(dampingRatio);
filterVR.setSamplingTime(d_controlPeriod);
filterVR.setAutoInit();
filterFreqFR.setCutOffFrequency(COF);
filterFreqFR.setDampingRatio(DR);
filterFreqFR.setSamplingTime(d_controlPeriod);
filterFreqFR.setAutoInit();
return 0;
}

//==============================================================
// NormRadOper::control
//==============================================================
int NormRadOper::control()
{
int i;
double sign, temp, tempp, integ;
double Temporary, const1, const2;
const1 = 0.439;
const2 = 3.655;
for (i = 0; i < numAdc; i++)
adc[i] = iobc->getAdcValue(i);
for (i = 0; i < numEncoders; i++)
encoder[i] = iobc->getEncoderValue(i);
for (i = 0; i < numEncoders; i++)
encoderAtIndex[i] = iobc->getEncoderIndexValue(i);
for (i = 0; i < numDiginBits; i++)
digitalInput[i] = iobc->getDiginBitValue(i);
H = 0;
valveControl();
readTemp();
filteredFrequencyFR = filterFreqFR.filter(adc[4]);
//80Hz max in the flow meter
filteredKgPS = 8 * 3.774 * filteredFrequencyFR/27.619 * 3.5/11; // Kg/sec
Qin = Cpc * filteredKgPS * (filteredTHEout - filteredTHEin);
e = Ted - filteredTe;
// when the valve action is needed
if (e <= 0.5) {H = 0; // radiator only}
else {H = 1; // bypass only}
// Thermostat wax valve operation (the pump and fan are set to constant speeds)

80
// if (filteredTe <= (Ted - 5)) {H = 1; // bypass only}
// else if (filteredTe >= (Ted + 5)) {H = 0; // radiator only}
// else {H = ((Ted + 5) - filteredTe)/10; }
valveControl();
sign = getErrorSign(e);
temp = alpha * (K + alpha) * e + rho * sign;
tempp = myIntegrator.integrate(temp);
if (tempp >= 50)
{integ = 50;}
else if (tempp <= -50) {integ = -50;}
else {integ = tempp;}
u = -(K + alpha) * e - integ;
commStrategies();
pumpControl();
fanControl();
Temporary = const1 * mc * mc + const2 * mf * mf;
PowMeas = myIntegrator_PowMeas.integrate(Temporary)/d_elapsedTime;
if (doOutput)
{
digoutValue = 1 - digoutValue;
for (i = 0; i < numDigoutBits; i++)
iobc->setDigoutBitValue(i, digoutValue);
}
return 0;
}

//==============================================================
// NormRadOper::valveControl
//==============================================================
int NormRadOper::valveControl()
{
// DVP: desired valve position [volts]
// POT: potentiometer reading (feedback from the valve) [volts]
// VPE: valve position error [volts]
double max, min, d, uu, VPE, V, POTT;
max = 4.2212;
min = 3.2031;
d = max - min;
POTT = adc[7];
POT = filterPOT.filter(POTT);
DVP = H * d + min;
VPE = DVP - POTT;
uu = -Kp * VPE;
if (uu >= 6) {V = 6;}
else if (uu <= -6) {V = -6;}
else {V = uu;}

81
iobc->setDacValue(0, V);
return 0;
}
//==============================================================
// NormRadOper::readTemp
//==============================================================
int NormRadOper::readTemp()
{
double Te, Tr, Tsteam, THEin, THEout;
Te = 80 * adc[0] + 173.15; //[Kelvin]
filteredTe = filterTe.filter(Te);
Tr = 100 * adc[1] + 273.15; //[Kelvin]
filteredTr = filterTr.filter(Tr);
THEin = 100 * adc[2] + 273.15; //[Kelvin]
filteredTHEin = filterTHEin.filter(THEin);
THEout = 80 * adc[3] + 173.15; //[Kelvin]
filteredTHEout = filterTHEout.filter(THEout);
Tsteam = 100 * adc[5] + 273.15; //[Kelvin]
filteredTsteam = filterTsteam.filter(Tsteam);
return 0;
}

//==============================================================
// NormRadOper::getErrorSign
//==============================================================
int NormRadOper::getErrorSign(double error)
{
int result;
if (error > 0) {result = 1;}
else if (error < 0) {result = -1;}
else {result = 0;}
return result;
}

//==============================================================
// NormRadOper::commStrategies()
//==============================================================
int NormRadOper::commStrategies()
{
double fan;
if (u < 0) {mr = 0; mf = 0;}
else
{ mr = u/(Cpc * (filteredTe - filteredTr));
fan = u/(eps * Cpa * (filteredTe - 293));
if (fan >= 1.157) {mf = 1.157;}
else {mf = fan;}

82
}
return 0;
}
//==============================================================
// NormRadOper::pumpControl()
//==============================================================
int NormRadOper::pumpControl()
{
if (H == 1) {mc = 0; // bypass only}
else {mc = mr/(1 - H); // radiator and others}
volt = 4.17 * mc;
if (volt >= 10) {VP = 10;}
else if (volt <= 1.65) {VP = 1.65;}
else {VP = volt;}
iobc->setDacValue(5, VP);
return 0;
}

//==============================================================
// NormRadOper::fanControl()
//==============================================================
int NormRadOper::fanControl()
{
double control, Vin, Vr1;
if (mf >= 1.157) {control = 10;}
else if (mf <= 0) {control = 0;}
else {control = 8.643042 * mf;}
iobc->setDacValue(1, control);
Vin = 2.31 * control;
Vr1 = ((filterVR.filter(adc[5]) + 0.244)/6800000) * 16800000;
fanCur = (filterVR.filter(adc[5]) + 0.244)/0.404762;
fanPow = fanCur * (Vin - Vr1);
return 0;
}

//==============================================================
// NormRadOper::stopControl()
//==============================================================
int NormRadOper::stopControl()
{
iobc->setDacValue(4, 0); // valve
iobc->setDacValue(5, 10); // pump
iobc->setDacValue(1, 10); // fan
return 0;
}

83
//==============================================================
// NormRadOper::exitControl
//==============================================================
int NormRadOper::exitControl()
{
// Disconnect from IO board server
delete iobc;
delete [] adc;
delete [] encoder;
delete [] encoderAtIndex;
delete [] digitalInput;
return 0;
}

//==============================================================
// main()
//==============================================================
main (int argc, char *argv[])
{
NormRadOper *cp = new NormRadOper(argc, argv);
cp->run();
delete cp;
}

84
Appendix F

Backstepping Robust Control Strategy Experimental C-Code

//==============================================================
// QMotor - A PC Based Real-Time Graphical Control Environment @ 2000 QRTS
//==============================================================
// Control Program : BacksteppingRobust.cpp
// Description : Backstepping Robust Control Strategy
//==============================================================
// ----- QRTS libraries -----
#include "ControlProgram.hpp"
#include "IOBoardClient.hpp"
#include "ButterworthFilter.hpp"
// ----- C standard libraries -----
#include <math.h>
#include <Adams3Integrator.hpp>

//==============================================================
// Class definition of the BacksteppingRobust class
//==============================================================
class BacksteppingRobust : public ControlProgram
{
private:
Adams3Integrator< double > myIntegrator_PowMeas;
protected:
double Cpc, Cpa, eps, Ce, Cr, mc, mr, mo, PowMeas, desired, volt, H;
double POT, DVP;
// ----- Log Variables -----
double filteredTe, filteredTr, filteredTHEin, filteredTHEout;
double filteredTsteam;
double Te, Tr, THEin, THEout, Tsteam, Tvr;
double filteredKgPS, filteredGPM, filteredFrequencyFR, Qin, filteredmf;
double e, eta;
double mf, fanCur, fanPow;
double *adc;
// A/D channels
int *digitalInput;
// Digital inputs
int *encoder;
// Encoder channels
int *encoderAtIndex;
// Encoder values at the index mark
// ----- Control Parameters -----
double Kp;
// proportional gain for the valve control

85
double Ke;
// control gain for the engine block
double Kr;
// control gain for the radiator block
double Ted;
// desired temperature of engine block
double Tvro;
// Design constant for vertual reference of radiator block's temperature
int doOutput;
// Set to 1 to enable output to D/A and digital out
double cutOffFrequency;
double dampingRatio;
double COF;
double DR;
// ----- Other variables -----
ButterworthFilter<double> filterTe;
ButterworthFilter<double> filterTr;
ButterworthFilter<double> filterTHEin;
ButterworthFilter<double> filterTHEout;
ButterworthFilter<double> filterTsteam;
ButterworthFilter<double> filterFreqFR;
ButterworthFilter<double> filterVR;
ButterworthFilter<double> filtermf;
ButterworthFilter<double> filterPOT;
// ----- Clients -----
IOBoardClient *iobc;
// ----- Other Variables -----
int numDac;
int numAdc;
int numEncoders;
int numDiginBits;
int numDigoutBits;
int digoutValue;
public:
BacksteppingRobust (int argc, char *argv[]) : ControlProgram (argc, argv)
{};
// Constructor. Usually no need to make changes here
~BacksteppingRobust () {};
// Destructor. Usually no need to make changes here
// ----- User Functions -----
// This functions need to be implemented by the user in order to implement
// his control application. The user does not need to implement all of them,
// but usually at least enterControl(), startControl(), control() and
// exitControl() are implemented.
virtual int enterControl();
virtual int startControl();

86
virtual int control();
virtual int readTemp();
virtual int valveControl();
virtual int commStrategiesE(double);
virtual int pumpControl();
virtual int commStrategiesR(double);
virtual int fanControl();
virtual int stopControl();
virtual int exitControl();
};

//==============================================================
// BacksteppingRobust::enterControl
//==============================================================
int BacksteppingRobust::enterControl()
{
// Connect to server already here, because we need to know how many
// channels we have for registering the variables
const char *ioboardServerName =
d_config.getStringEntry("ioBoardServerName", "qrts/iobs0");
iobc = new IOBoardClient(ioboardServerName);
if (iobc->isStatusError())
{
d_status.setStatusError()
<< d_applicationName << ": [IOBoardTest::startControl()] "
<< "Error connecting to IO board server " << ioboardServerName
<< endl;
delete iobc;
iobc = 0;
return -1;
}
numEncoders = iobc->getNumEncoders();
numAdc = iobc->getNumAdc();
numDac = iobc->getNumDac();
numDiginBits = iobc->getNumDiginBits();
numDigoutBits = iobc->getNumDigoutBits();
// Start message
d_messageStream
<< endl << "----- " << d_applicationName << " -----" << endl
<< "This is a program to test all channels of an I/O board" << endl
<< "It displays A/D, encoder and digital input channels and" << endl
<< "outputs a sine wave to the D/A channels and alternates" << endl
<< "all digital output channels" << endl
<< endl;
d_messageStream
<< "---- Connected to IO Board server " << ioboardServerName << " ----"

87
<< endl
<< "Number of A/D channels: " << numAdc << endl
<< "Number of D/A channels: " << numDac << endl
<< "Number of encoder channels: " << numEncoders << endl
<< "Number of digital inputs: " << numDiginBits << endl
<< "Number of digital outputs: " << numDigoutBits
<< endl;
// ----- Allocate the log variables -----
adc = new double [(numAdc)? numAdc:1];
encoder = new int [(numEncoders)? numEncoders:1];
encoderAtIndex = new int [(numEncoders)? numEncoders:1];
digitalInput = new int [(numDiginBits)? numDiginBits:1];

// ----- Register the log variables -----


registerLogVariable(&filteredTe, "Te", "Engine Temperature");
registerLogVariable(&filteredTr, "Tr", "Radiator Temperature");
registerLogVariable(&filteredTHEin, "THEin", "Heat Exchanger Inlet
Temperature");
registerLogVariable(&filteredTHEout, "THEout", "Heat Exchanger Outlet
Temperature");
registerLogVariable(&filteredTsteam, "Tsteam", "Surrounding Ambient
Temperature");
registerLogVariable(&Tvr, "Tvr", " Radiator Temperature Vertual Reference");
registerLogVariable(&filteredKgPS, "filteredKgPS", "Filtered Kg/sec");
registerLogVariable(&filteredFrequencyFR, "filteredFrequencyFR", "Filtered
Frequency Flow Rate");
registerLogVariable(&Qin, "Qin", "System Heat Input");
registerLogVariable(&e, "e", "Engine Temperature Tracking Error");
registerLogVariable(&eta, "eta", "Radiator Temperature Tracking Error");
registerLogVariable(&mf, "mf", "Air Mass Flow Rate through the Radiator Fan");
registerLogVariable(&fanCur, "fanCur", "Radiator Fan Current");
registerLogVariable(&fanPow, "fanPow", "Radiator Fan Power Consumed");
registerLogVariable(&PowMeas, "PowMeas", "The Power Measure");
registerLogVariable(&desired, "desired", "The Power Measure");
registerLogVariable(&POT, "POT", "Valve Position Feedback");
registerLogVariable(&DVP, "DVP", "Desired Valve Position");
registerLogVariable(&volt, "volt", "Voltage Applied to the Pump");
registerLogVariable(adc, "adc", "Analog inputs", (numAdc)? numAdc:1);

// ----- Register the control parameters -----


registerControlParameter(&Kp, "Kp",
"Proportional gain for the valve control");
registerControlParameter(&H, "H",
"Normalized valve position (percentage)");
registerControlParameter(&Ke, "Ke",
"Control gain for the engine block control");

88
registerControlParameter(&Kr, "Kr",
"Control gain for the radiator block control");
registerControlParameter(&Ted, "Ted",
"Desired Temperature of Engine Block");
registerControlParameter(&Tvro, "Tvro",
"Design constant for the Temperature of Radiator Block");
registerControlParameter(&cutOffFrequency, "cutOffFrequency",
"Cutoff frequency of low-pass filter");
registerControlParameter(&dampingRatio, "dampingRatio",
"Damping ratio of low-pass filter");
registerControlParameter(&COF, "COF", "Cutoff frequency of low-pass filter for
the valve feedback");
registerControlParameter(&DR, "DR", "Damping ratio of low-pass filter for the
valve feedback");
registerControlParameter(&doOutput, "doOutput",
"Set to 1 to enable output to digital and D/A channels");
// Set all control parameters initially to zero
clearAllControlParameters();
return 0;
}

//==============================================================
// BacksteppingRobust::startControl
//==============================================================
int BacksteppingRobust::startControl()
{
double initValue;
clearAllLogVariables();
digoutValue = 0;
iobc->setDacValue(4, 5);
mo = 0.4;
Cpc = 4.1813;
Cpa = 1;
eps = 0.6;
Ce = 17.14;
Cr = 8.36;
initValue = 0;
myIntegrator_PowMeas.setSamplingPeriod(d_controlPeriod);
myIntegrator_PowMeas.reset(initValue);
filterFreqFR.setCutOffFrequency(COF);
filterFreqFR.setDampingRatio(DR);
filterFreqFR.setSamplingTime(d_controlPeriod);
filterFreqFR.setAutoInit();
filterTe.setCutOffFrequency(cutOffFrequency);
filterTe.setDampingRatio(dampingRatio);
filterTe.setSamplingTime(d_controlPeriod);

89
filterTe.setAutoInit();
filterTr.setCutOffFrequency(cutOffFrequency);
filterTr.setDampingRatio(dampingRatio);
filterTr.setSamplingTime(d_controlPeriod);
filterTr.setAutoInit();
filterTHEin.setCutOffFrequency(cutOffFrequency);
filterTHEin.setDampingRatio(dampingRatio);
filterTHEin.setSamplingTime(d_controlPeriod);
filterTHEin.setAutoInit();
filterTHEout.setCutOffFrequency(cutOffFrequency);
filterTHEout.setDampingRatio(dampingRatio);
filterTHEout.setSamplingTime(d_controlPeriod);
filterTHEout.setAutoInit();
filterTsteam.setCutOffFrequency(cutOffFrequency);
filterTsteam.setDampingRatio(dampingRatio);
filterTsteam.setSamplingTime(d_controlPeriod);
filterTsteam.setAutoInit();
filterVR.setCutOffFrequency(cutOffFrequency);
filterVR.setDampingRatio(dampingRatio);
filterVR.setSamplingTime(d_controlPeriod);
filterVR.setAutoInit();
filtermf.setCutOffFrequency(100);
filtermf.setDampingRatio(100);
filtermf.setSamplingTime(d_controlPeriod);
filtermf.setAutoInit();
filterPOT.setCutOffFrequency(1000);
filterPOT.setDampingRatio(200);
filterPOT.setSamplingTime(d_controlPeriod);
filterPOT.setAutoInit();
return 0;
}

//==============================================================/
/ BacksteppingRobust::control
//==============================================================
int BacksteppingRobust::control()
{
int i;
double ue, ur, ur_bar, M, L1, L2, L3;
for (i = 0; i < numAdc; i++)
adc[i] = iobc->getAdcValue(i);
for (i = 0; i < numEncoders; i++)
encoder[i] = iobc->getEncoderValue(i);
for (i = 0; i < numEncoders; i++)
encoderAtIndex[i] = iobc->getEncoderIndexValue(i);
for (i = 0; i < numDiginBits; i++)

90
digitalInput[i] = iobc->getDiginBitValue(i);
valveControl();
readTemp();
filteredFrequencyFR = filterFreqFR.filter(adc[4]);
//80Hz max in the flow meter
filteredKgPS = 8 * 3.774 * filteredFrequencyFR/82.94; // Kg/sec
Qin = Cpc * filteredKgPS * (filteredTHEout - filteredTHEin);
desired = Ted + sin(0.1 * d_elapsedTime);
e = Ted - filteredTe;
ue = Ke * e;
commStrategiesE(ue);
pumpControl();
eta = filteredTr - Tvr;
M = Cpc * mo;
L1 = Ke * Cr/Ce;
L2 = (Cr * Ke * Ke)/(M * Ce) + L1;
L3 = Cr * Ke/Ce;
ur_bar = -L2 * e - L3 * eta;
if (ue < 0) {ur = -Kr * eta + 2 * M * e;}
else {ur = -Kr * eta + 2 * M * e + ur_bar;}
commStrategiesR(ur);
fanControl();
if (doOutput)
{
digoutValue = 1 - digoutValue;
for (i = 0; i < numDigoutBits; i++)
iobc->setDigoutBitValue(i, digoutValue);
}
return 0;
}

//==============================================================/
/ BacksteppingRobust::readTemp
//==============================================================
int BacksteppingRobust::readTemp()
{
Te = 80 * adc[0] + 173.15; //[Kelvin]
filteredTe = filterTe.filter(Te);
Tr = 80 * adc[1] + 173.15; //[Kelvin]
filteredTr = filterTr.filter(Tr);
THEin = 100 * adc[2] + 273.15; //[Kelvin]
filteredTHEin = filterTHEin.filter(THEin);
THEout = 80 * adc[3] + 173.15; //[Kelvin]
filteredTHEout = filterTHEout.filter(THEout);
Tsteam = 100 * adc[5] + 273.15; //[Kelvin]
filteredTsteam = filterTsteam.filter(Tsteam);

91
return 0;
}
//==============================================================
// BacksteppingRobust::valveControl
//==============================================================
int BacksteppingRobust::valveControl()
{
// DVP: desired valve position [volts]
// POT: potentiometer reading (feedback from the valve) [volts]
// VPE: valve position error [volts]
double max, min, d, u, VPE, V, POTT;
max = 4.2212;
min = 3.2031;
d = max - min;
POTT = adc[7];
POT = filterPOT.filter(POTT);
DVP = H * d + min;
VPE = DVP - POTT;
u = -Kp * VPE;
if (u >= 6) {V = 6;}
else if (u <= -6) {V = -6;}
else {V = u;}
iobc->setDacValue(0, V);
return 0;
}

//==============================================================
// BacksteppingRobust::commStrategiesE()
//==============================================================
int BacksteppingRobust::commStrategiesE(double ue)
{
double mbar, Tvrbar;
if (ue < 0)
{
mbar = -ue/(Cpc * (filteredTe - filteredTr));
Tvrbar = 0;
}
else
{
mbar = 0;
Tvrbar = ue/(Cpc * mo);
}
mr = mbar + mo;
Tvr = Tvro + Tvrbar;
return 0;

92
}

//==============================================================
// BacksteppingRobust::pumpControl
//==============================================================
int BacksteppingRobust::pumpControl()
{
double VP;
mc = mr/(1 - H);
volt = 4.17 * mc;
if (volt >= 10) {VP = 10;}
else if (volt <= 1.5) {VP = 1.5;}
else {VP = volt;}
iobc->setDacValue(5, VP);
return 0;
}

//==============================================================
// BacksteppingRobust::commStrategiesR()
//==============================================================
int BacksteppingRobust::commStrategiesR(double ur)
{
double F, fan, Temporary, const1, const2;
const1 = 0.439;
const2 = 3.655;
F = Cpc * mr * (filteredTe - filteredTr) - ur;
if (F < 0) {mf = 0;}
else
{
fan = F/(eps * Cpa * (filteredTe - 293));
if (fan >= 1.157) {mf = 1.157;}
else {mf = fan;}
Temporary = const1 * mc * mc + const2 * mf * mf;
PowMeas = yIntegrator_PowMeas.integrate(Temporary)/d_elapsedTime;
}
return 0;
}

//==============================================================
// BacksteppingRobust::fanControl
//==============================================================
int BacksteppingRobust::fanControl()
{
double control, Vin, Vr1;
if (mf >= 1.157) {control = 10;}
else if (mf <= 0) {control = 0;}

93
else {control = 8.643042 * mf;}
iobc->setDacValue(1, control);
Vin = 2.31 * control;
Vr1 = ((filterVR.filter(adc[5]) + 0.244)/6800000) * 16800000;
fanCur = (filterVR.filter(adc[5]) + 0.244)/0.404762;
fanPow = fanCur * (Vin - Vr1);
return 0;
}

//==============================================================
// BacksteppingRobust::stopControl()
//==============================================================
int BacksteppingRobust::stopControl()
{
iobc->setDacValue(4, 0); // valve
iobc->setDacValue(5, 10); // pump
iobc->setDacValue(1, 10); // fan
return 0;
}

//==============================================================
// BacksteppingRobust::exitControl
//==============================================================
int BacksteppingRobust::exitControl()
{
// Disconnect from IO board server
delete iobc;
delete [] adc;
delete [] encoder;
delete [] encoderAtIndex;
delete [] digitalInput;
return 0;
}

//==============================================================
// main()
//==============================================================
main (int argc, char *argv[])
{
BacksteppingRobust *cp = new BacksteppingRobust(argc, argv);
cp->run();
delete cp;
}

94
REFERENCES

Allen, D., and Lasecki, M., “Thermal Management Evolution and Controlled Coolant
Flow”, SAE paper no. 2001-01-1732, 2001.

Brace, C., Burnham-Slipper, H., Wijetunge, R., Vaughan, N., Wright, K., and Blight, D.,
“Integrated Cooling Systems for Passenger Vehicles,” SAE paper No. 2001-01-1248,
2001.

Chalgren, Jr, R., “Thermal Comfort and Engine Warm-Up Optimization of a Low-Flow
Advanced Thermal Management System”, SAE paper no. 2004-01-0047, 2004.

Chalgren, Jr, R., and Allen, D., “Light Duty Diesel Advanced Thermal Management,”
SAE paper No. 2005-01-2020, 2005.

Chalgren, Jr, R., and Barron, Jr, L., “Development and Verification of a Heavy Duty
42/14V Electric Powertrain Cooling System,” SAE paper no. 2003-01-3416, 2003.

Chalgren, Jr, R., and Traczyk, T., “Advanced Secondary Cooling Systems for Light
Trucks,” SAE paper No. 2005-01-1380, 2005.

Chanfreau, M., Joseph, A., Butler, D., and Swiatek, R., “Advanced Engine Cooling
Thermal Management System on a Dual Voltage 42V-14V Minivan,” SAE paper No.
2001-01-1742, 2001.

Chastain, J., and Wagner, J., “Advanced Thermal Management for Internal Combustion
Engines – Valve Design, Component Testing and Block Redesign”, SAE paper no. 2006-
01-1232, 2006.

Cho, H., Jung, D., Filipi, Z., and Assanis, D., “Application of Controllable Electric
Coolant Pump for Fuel Economy and Cooling Performance Improvement,” proceedings
of the ASME IMECE, Advanced Energy Systems Division, vol. 44, pp. 43-50, Anaheim,
CA, November 2004.

Choukroun, A., and Chanfreau, M., “Automatic Control of Electric Actuators for an
Optimized Engine Cooling Thermal Management,” SAE paper no. 2001-01-1758, 2001.

Cipollone, R., and Villante, C., “Vehicle Thermal Management: A Model-Based


Approach,” proceedings of the ASME Internal Combustion Engine Division, pp. 85-95,
Long Beach, CA, October 2004.

Couëtouse, H., and Gentile, D., “Cooling System Control in Automotive Engines,” SAE
paper no. 920788, 1992.
Eberth, J., Wagner, J., Afshar, B., and Foster, R., “Modeling and Validation of
Automotive “Smart” Thermal Management System Architecture,” SAE paper No. 2004-
01-0048, 2004.

Evans, R.L., “Increasing the Efficiency of Lean-burn Automotive Engines,” International


Journal of Environmental Studies, vol. 63, no. 4, pp. 441-452, August 2006.

Hisler, H., “Advanced Engine Technology”, Hodder Headline Group: London, 1995.

Henry, R., Koo, J., and Richter, C., “Model Development, Simulation and Validation, of
Power Train Cooling System for a Truck Application,” SAE paper No. 2001-01-1731,
2001.

Hong, H., Parvate-Patil, G.B., and Gordon, B., “Review and Analysis of Variable Valve
Timing Strategies – Eight Ways to Approach”, Proceeding of the Institution of
Mechanical Engineers, Part D: Journal of Automobile Engineering, vol. 218, no. 10, pp
1179-1200, 2004

Incropera, F., and DeWitt, D., “Introduction to Heat Transfer”, John Wiley and Sons:
New York, 1990.

Lehner, C., Parker, G., Arici, O., and Johnson, J., “Design and Development of a Model
Based Feedback Controlled Cooling System for Heavy Duty Diesel Truck Applications
Using a Vehicle Engine Cooling System Simulation”, SAE paper No. 2001-01-1731.
2001

Melzer, F., Hesse, U., Rocklage, G., and Schmitt, M., “Thermomanagement”, SAE paper
no. 1999-01-0238, 1999.

Mianzo, L., and Peng, H., “Modeling and Control of a Variable Valve Timing Engine”,
Proceedings of the American Control Conference, vol. 1, pp. 554-558, 2000.

Mitchell, T., Salah, M., Wagner, J., and Dawson, D., “Automotive Thermostat Valve
Configurations for Enhanced Warm-Up Condition Performance – Control, Testing, and
Observations” submitted to the ASME Journal of Dynamic Systems, Measurement, and
Control, 2007

Page, R., Hnatczuk, W., and Kozierowski, J., “Thermal Management for the 21st Century
– Improved Thermal Control & Fuel Economy in an Army Medium Tactical Vehicle,”
SAE paper No. 2005-01-2068, 2005.

Qu, Z., “Robust Control of Nonlinear Uncertain Systems,” John Wiley & Sons, 1998.

96
Redfield, J., Surampudi, B., Ray, G., Montemayor, A., Mckee, H., Edwards, T., and
Lasecki, M., “Accessory Electrification in Class 8 Tractors,” SAE paper no. 2006-01-
0215, 2006.

Salah, M., Wagner, J., and Dawson, D., “Adaptive and Robust Tracking Control for
Thermal Management Systems,” Clemson University CRB Technical Report,
CU/CRB/10/2/06/#1, http://www.ces.clemson.edu/ece/crb/publictn/tr.htm, October 2006.

Salah, M., Mitchell, T., Wagner, J., and Dawson, D., “Nonlinear Control Strategy for
Advanced Thermal Management Systems”, to appear in the IEEE Transactions on
Vehicular Technology, 2008.

Schoner, H.P., “Automotive Mechatronics”, Control Engineering Practice, vol. 12, no.
11, pp. 1343-1351, November, 2004.

Setlur, P., Wagner, J., Dawson, D., and Marotta, E., “An Advanced Engine Thermal
Management System: Nonlinear Control and Test”, IEEE/ASME Transactions on
Mechatronics, vol. 10, no. 2, pp. 210-220, April 2005.

Stence, R.W., “Engine Technology Advancements,” Proceedings of the International


Symposium on Microelectronics, vol. 3582, pp. 899-904, 1998.

Ursini, V., Chiang, E., and Johnson., J., “A Computer Cooling System Study of a Diesel
Powered Truck for Control of Transient Coolant, Oil and Cab Temperatures”, SAE paper
No. 821049, 1982.

Visnic, B., “Thermostat, Thy Days Are Numbered” Wards Autoworld, vol. 37, no. 6, pp.
53-54, June 2001.

Wagner, J., Marotta, E., and Paradis, I., “Thermal Modeling of Engine Components for
Temperature Prediction and Fluid Flow Regulation”, SAE paper No. 2001-01-1014,
2001.

Wagner, J., Ghone, M., Dawson, D., and Marotta, E., “Coolant Flow Control Strategies
for Automotive Thermal Management Systems,” SAE paper no. 2002-01-0713, 2002a.

Wagner, J., Paradis, I., Marotta, E., and Dawson, D., “Enhanced Automotive Engine
Cooling Systems – A Mechatronic Approach”, International Journal of Vehicle Design,
vol. 28, nos. 1/2/3, pp. 214-240, 2002b.

Wagner, J., Srinivasan, V., and Dawson, D., “Smart Thermostat and Coolant Pump
Control for Engine Thermal Management Systems,” SAE paper No. 2003-01-0272, 2003.

Wambsganss, M., “Thermal Management Concepts for Higher-Efficiency Heavy


Vehicle,” SAE paper no. 1999-01-2240, 1999.

97
Zou, X., Jordan, J.A., and Shillor, M., “A Dynamic Model for a Thermostat”, Journal of
Engineering Mathematics, vol. 36, pp. 291-310, January 1999.

98

You might also like