• No results found

Automated water mixer

N/A
N/A
Protected

Academic year: 2022

Share "Automated water mixer"

Copied!
62
0
0

Loading.... (view fulltext now)

Full text

(1)

IN

DEGREE PROJECT TECHNOLOGY, FIRST CYCLE, 15 CREDITS

STOCKHOLM SWEDEN 2019 ,

Automated water mixer

JUSTUS CONRADI PATRIK TIAINEN

KTH ROYAL INSTITUTE OF TECHNOLOGY

SCHOOL OF INDUSTRIAL ENGINEERING AND MANAGEMENT

(2)

Automated water mixer

Bachelor’s Thesis in Mechatronics

JUSTUS CONRADI AND PATRIK TIAINEN

Bachelor’s Thesis at ITM Supervisor: Nihad Subasic

Examiner: Nihad Subasic

TRITA ITM-EX 2019:55

(3)
(4)

Abstract

The aim for this thesis is to explore the possibility to save both water and energy in showers. Through a quicker, more responsive and precise shower faucet using digital thermometers and stepper motors. A faucet has two input pipes with cold and hot water respectively. To reach a de- sired shower temperature; a single thermometer is needed, to measure the mixed water temperature. Using this infor- mation, two motors will control two valve until the desired temperature is reached. To maintain the desired tempera- ture throughout the shower session, the temperature should be continuously monitored and when temperature distur- bance occurs, the valves should compensate for it.

To achieve this a demonstrator was made. The demon- strator uses stepper motors connected to valves to control the flow through a hot and cold water pipe. The system reads the temperature of the output water continuously and makes appropriate changes to the position of the valves.

Due to safety concerns, no water was used in the testing of the demonstrator. The theoretical response time of the system is very short, and the demonstrator can theoret- ically change temperature of the mixed water by around 5°Celsius per second.

Keywords

Mechatronics, temperature control, flow regulation, stepper

motor.

(5)

Referat

Automatisk vattenblandare

Syftet med denna rapport ¨ar att utforska m¨ojligheterna att spara b˚ade vatten och energi till duschar, genom en snabbare, mer responsiv och mer exakt duschblandare. Det- ta ska uppn˚as genom anv¨andning av digitala termometrar och stegmotorer. Duschblandaren ska l¨asa temperaturerna av det blandade vattnet, och justera respektive kran tills

¨onskad temperatur ¨ar uppn˚add. F¨or att bibeh˚alla ¨onskad temperatur kommer temperaturen kontinuerligt ¨overvakas.

N¨ar st¨orningar i temperatur uppkommer ska duschblanda- ren kompensera f¨or det, och d¨armed h˚alla en konstant tem- peratur.

F¨or att ˚astakomma detta byggdes en demonstrationsenhet.

Denna demonstrationsenhet anv¨ander stegmotorer koppla- de till kranar f¨or att kontrollera fl¨odet genom ett varmt och ett kallt vattenr¨or. Systemet l¨aser konstant temperaturen av det blandade vattnet och g¨or l¨ampliga ¨andringar av kra- narnas positioner.

P˚a grund av s¨akerhetsrisk anv¨andes inget vatten vid test- ning av demonstrationsenheten. Den teoretiska responsti- den av systemet ¨ar mycket kort, och demonstrationsenheten kan teoretiskt ¨andra temperatur av det blandade vattnet med en hastighet av ungef¨ar 5°Celsius per sekund.

Nyckelord

Mekatronik, temperaturkontroll, fl¨odesreglering, stegmotor.

(6)

Acknowledgements

We would like to thank Nihad Subasic for feedback concerning our idea and our process, Rijad Alisic for help concerning control theory and Seshagopalan Thora- palli Muralidharan for both practical and theoretical help in the workshop. Keyla Kearns for proof reading and comments. We would also like thank all fellow stu- dents that have helped us with constructive feedback.

Justus Conradi, Patrik Tiainen

Royal Institute of Technology, Stockholm, May 2019

(7)

Contents

1 Introduction 1

1.1 Background . . . . 1

1.2 Purpose . . . . 1

1.3 Method . . . . 2

1.4 Idea . . . . 2

1.5 Scope . . . . 3

2 Theory 5 2.1 Thermodynamics . . . . 5

2.2 Motors . . . . 6

2.2.1 Stepper motor controllers . . . . 7

2.3 Microcontroller . . . . 8

2.3.1 Analogue pins . . . . 8

2.4 Thermometers . . . . 9

2.5 Valves and piping . . . 10

2.6 Software . . . 12

3 Demonstrator 13 3.1 Mechanical . . . 13

3.1.1 Valves and piping . . . 14

3.1.2 Motors . . . 15

3.1.3 Construction . . . 16

3.2 Electrical . . . 17

3.2.1 Stepper motor controller . . . 17

3.2.2 Thermometers . . . 17

3.2.3 Interface . . . 18

3.2.4 Microcontroller . . . 19

3.3 Software . . . 19

4 Results 21 4.1 Thermometer trials . . . 21

4.2 Valve assembly trials . . . 22

4.3 Software simulation . . . 23

(8)

5 Discussion and conclusions 25 5.1 Discussion . . . 25 5.2 Conclusion . . . 26

6 Recommendations and future work 27

Bibliography 29

Appendices 30

A Circuits 31

B JSP 33

C Source code 35

D Thermometer results 43

E Software trials 45

(9)

List of Figures

1.1 General idea of implementation. . . . 2

2.1 System behaviour . . . . 6

2.2 Stepper motor. . . . 7

2.3 Stepping procedure, clockwise rotation pattern. . . . 8

2.4 A discretisation of an analogue function. . . . 9

2.5 Closed loop amplification circuit. . . 10

2.6 Globe valve. . . 11

2.7 Symbols in JSP. . . 12

3.1 Complete demonstrator. . . 13

3.2 CAD model of the RSK 8473400 globe valve. . . 14

3.3 CAD model. . . 16

3.4 Layout of the MP6500. . . 17

3.5 LM35 integrated temperature sensor. . . 18

3.6 Interface to control the device. . . 18

A.1 The complete circuit. . . 31

A.2 The circuit for the interface. . . 32

A.3 The circuit for the LM35. . . 32

B.1 The JSP for the automated water mixer. . . 33

D.1 A selection of tests conducted on LM35. . . 43

E.1 Simulated response due to change in the input water temperature. . . . 45

E.2 Simulated response due to change in desired temperature. . . 46

(10)

List of Tables

4.1 Valve assembly speed tests. . . 22

(11)
(12)

List of acronyms

ADC - Analogue to digital converter.

CAD - Computer-aided design.

CPU - Central processing unit.

DAC - Digital to analogue converter.

DC - Direct current.

IDE - Interactive development environment.

JSP - Jackson structured programming.

LED - Light emitting diode.

RAM - Random access memory.

RTD - Resistance temperature detectors.

PROM - Programmable read only memory.

(13)
(14)

Nomenclature

T Output temperature

˙

m c Mass flow cold water

˙

m c Mass flow hot water T c Temperature cold water T h Temperature hot water V c Cold valve opening percentage V h Hot valve opening percentage T ref Desired temperature

t Sample time V Voltage

n Number of bits

(15)
(16)

Chapter 1

Introduction

1.1 Background

Regulatory systems are widely used in water treatment facilities, mostly to control water levels, flow and temperature. Sensors are placed at various locations giving the necessary information to the regulator. The regulator takes the information from the sensors, processes it, and sends the output commands to appropriate motors, valves and actuators. These systems can be complex, and expensive to implement, and are therefore mostly used in heavy industry. Home applications are rare. With recent low-cost microcomputers, the regulator can be made and programmed at a reasonable cost, making regulated systems more viable for consumers. Home water regulating systems are often primitive. One or two valves control the flow of hot and cold water thus controlling the temperature and flow of the product of the two.

With recent developments in energy efficiency and smart home technology, these systems inefficiency stand out.

1.2 Purpose

The purpose of this thesis is to research, develop and build a shower mixer with a built-in regulatory system, that is faster at adjusting temperature than a human, thus saving water and energy. The research questions to be answered are:

• How can a fast, reliable, simple and easy-to-use product be built?

• How much energy and water can be saved by implementing the proposed design?

• How fast can the system be made?

(17)

CHAPTER 1. INTRODUCTION

1.3 Method

To start, the physical properties of the system are to be determined. This can be completed in many ways; using thermodynamic principles and testing the system with given values is the most suitable method. When the physics of the system are determined, parts will be researched. Standard parts will be used whenever possible.

When all parts have been determined and sourced, their performance will be tested.

The performance of all parts combined will reflect the overall performance of the system. Finally, a program to control the system will be made.

1.4 Idea

To regulate the outgoing temperature of water exiting the system, at least two inputs are needed. Generally, there is one hot water supply and one cold. By using two valves as in Figure 1.1, these two supplies can be controlled by limiting their respective mass-flow rates.

Figure 1.1. General idea of implementation. Illustration made in Affinity Designer.

2

(18)

1.5. SCOPE

1.5 Scope

To keep the project at a manageable size, certain restrictions in scope were made.

First and foremost this is a thesis concerning temperature control so the pressure and flow rate control are therefore not in the scope.

The computer-aided design (CAD) model and physical model are to be treated as prototypes. Therefore, no regard to mass production, visual appeal or assembly will be made.

Due to safety concerns from the course supervisor, no water can be used in the

demonstrator for testing. However, smaller subsystems with a very low chance of

leaks will be tested. This leads to difficulties in determining the performance of the

final product. Therefore, it is assumed that the product is the sum of its parts,

meaning that the speed of the system is the combined speed of the individual parts.

(19)
(20)

Chapter 2

Theory

2.1 Thermodynamics

To methodically design the control system, a model of the system must be con- structed. The basis of this model is the mixing of the two fluids. This is simply modelled by averaging the temperatures and flows of water through the valves[1].

T = m ˙ c · T c + ˙ m h · T h

˙

m c + ˙ m h (2.1)

From Equation 2.1, both hot and cold mass-flow needs to be regulated to determine the final output temperature. This is a system with two inputs and one output.

To simplify the calculations one of the mass-flow-rates is set to constant (for exam- ple, one of the taps is fully open). Now the system has one input and one output, making it simple to control. Since the mass flow through the valve is the controlled variable, Equation 2.1 is rewritten as:

˙

m c = m ˙ h · T h − T · m ˙ h

T − T c (2.2)

However, this limits the output temperatures that are possible to achieve. For

example, if the cold valve is constant and set to 100% and the hot valve is regulated,

the maximum temperature possible is the average between the two. This is avoided

by regulating the two valves individually, meaning if the hot and cold water valves

are both set to 100% and the target temperature is not reached, set the hot water

valve to constant, and start regulating the cold water. This is can be seen in Figure

2.1. This approach has an inherent delay in response time but is necessary for the

system to have a single input.

(21)

CHAPTER 2. THEORY

Figure 2.1. How the system should behave in case both valves are 100% open.

Illustration made with Affinity Designer.

2.2 Motors

Stepper motors use an even number of coils to rotate an outgoing axis. The coil has a gear-shaped side facing a rotary-gear shaped axis. When a coil is active, the rotary gear aligns with it but offsets to the previous and next coil. To rotate the motor, the first coil is deactivated and the second coil is electrified. The rotary gear then aligns to the second coil and a step is achieved. For example: to rotate the motor in Figure 2.2, a voltage is applied to A 1 , then B 2 , then A 2 and so on. This process is illustrated in Figure 2.3. This would cause the rotor to rotate one step per applied voltage in the clockwise direction. To step the motor counter-clockwise, the coils are electrified in the opposite order. How much the axis rotates per step depends on how many teeth the rotary gear has. For instance, a gear with 50 teeth has step angle of 1.8°[2] [3]. The position of the stepper motor can be calculated since the angle that every step generates is known, and how many steps have been taken.

6

(22)

2.2. MOTORS

Figure 2.2. Stepper motor. A

1

, A

2

, B

1

and B

2

are the voltages applied to the coils.

Figure made with Affinity Designer.

2.2.1 Stepper motor controllers

To use stepper motors, a stepper motor controller is advantageous. Controlling the stepper motors can be a complex procedure. It requires precise control of the voltage across the motor coils. A dedicated board for doing this is used to reduce processing done by the microcontroller.

Stepper motor controllers generally interfaces with the stepper motor via a number of pins, A 1 , A 2 , B 2 and B 1 in Figure 2.2. To rotate the motor a single step, the stepper motor controller does the procedure described in section 2.2 Motors and Figure 2.3. To interface with the microcontroller a number of pins are used. The

“step” pin is pulsed by the microcontoller to send a command to rotate the motor a single step. To achieve a constant rotation, the step pin is pulsed at a set interval.

Most stepper motor controllers also have pins for direction of rotation, sleep mode

and step mode. The step mode pins refers to the process of microstepping, meaning

a step can be divided to enable more precise control. This is done by applying

different voltages to the coil pairs at the same time [4].

(23)

CHAPTER 2. THEORY

Figure 2.3. Stepping procedure, clockwise rotation pattern. A

1

, A

2

, B

1

and B

2

are the voltages applied to the coils. Figure drawn in Affinity Designer

2.3 Microcontroller

To control the motors, given the values read by the thermometers, a microcontroller is needed. A microcontroller is essentially a small computer. The microcontroller and a PC share most components, the difference being their size and capabilities [5].

Most computers, including microcontrollers, need random access memory (RAM), a central processing unit (CPU) and programmable read only memory (PROM) to function [6]. The CPU is a very large collection of programmable transistors, this is the component containing all logic operators needed to make calculations, and is able to interface with other components through input and output pins. The CPU needs a program to perform, this program is located in the PROM, and is made by the human programmer. The programmer constructs the program and writes it to PROM. The main difference between the PROM and RAM is the speed and stability. RAM is much faster than PROM, making it more suitable for tasks requiring fast read and write speeds. In general, the program is loaded from the PROM into the RAM and is ran from RAM by the CPU. The CPU is also able to write to RAM. This is used to store, for example, the values of program variables.

RAM needs constant power to retain its state, PROM does not [5].

2.3.1 Analogue pins

A microcontroller is a purely digital device, meaning it can only input, process and output discrete values. These values are represented by the binary numeral system.

A system is needed to convert between discrete and continuous functions since most things in the physical world are continuous

Some microcontrollers have “analogue pins”, meaning they emulate the shape of an analogue signal using discrete values. To make this possible, the microcontroller

8

(24)

2.4. THERMOMETERS

is equipped with an Analog to Digital Converter (ADC). This device reads analogue voltages as binary numbers at a fixed time interval. This creates a list of numbers that can be interpreted as a discretisation of the input function, according to Figure 2.4 [6].

Figure 2.4. A discretisation of an analogue function. Figure drawn in Affinity Designer

Similarly, the microcontroller is equipped with an Digital to Analogue Converter (DAC), which converts a series of numbers (representing a function) to voltages that can be output through a pin.

A shorter sample time and a higher number of bits will clearly make the discretisa- tion more similar to the continuous function, therefore improving the result.

2.4 Thermometers

To detect a temperature electronically, several methods are used, however, they all rely on one principle: change in voltage due to temperature. The analogue pins on a microcontroller are able to detect these changes in voltage. A few methods of reading this temperature dependent voltage are:

• Temperature dependent resistors: A material that changes resistance depend- ing on temperature. Using Kirchhoff’s and Ohm’s laws, the changing re- sistance is detected, either using a voltage divider or a Wheatstone bridge.

Examples of such resistors are resistance temperature detectors (RTD) and thermistors [7].

• Thermocouples: A component that utilises the thermoelectric effect. A small voltage is created when two rods made from dissimilar metals change temper- atures [8].

• Semiconductor sensors: Two transistors with different properties create a volt-

age between them when the temperature changes [9].

(25)

CHAPTER 2. THEORY

All electrical components have some resistance, therefore, passing a current through a component will always cause heating. Self heating is present in all electronic tem- perature sensors. This causes an error in the read temperature. This error varies among temperature sensors [10].

The voltages created by these components are often very small, in the mV range.

For obtaining usable voltages for a 5V, 10-bit ADC the output voltage requires amplification. An operational amplifier simply scales all incoming voltages by a set factor. An schematic of an operational amplifier is in Figure 2.5.

RTDs and thermistors offers a small size and good accuracy, but they require a Wheatstone bridge to detect the small voltages they produce. Thermocouples are large and relativly inaccurate, but they are affordable. Semiconductor sensors are small and accurate, but require complex circuit to generate a usable voltage, how- ever, they are usually packaged as part of an integrated circuit [8].

Figure 2.5. Closed loop amplification circuit. Illustration made with Affinity De- signer.

2.5 Valves and piping

Sweden and most EU countries use the British pipe standard (BSP). The standard involves both parallel and tapered joints. At least 41 unique sizes are available. For home use, the G 1/2 size thread is common. “G” meaning gas and “1/2” meaning 1/2 inch size [11].

10

(26)

2.5. VALVES AND PIPING

Many different ways of regulating flow through a pipe are available. The most com- mon way is to use a valve, that is to say, converting a rotating motion to a linear motion in order to limit the flow through a pipe.

The needle valve uses a cone shape to slow down or stop the flow. It enables precise control of the flow and requires low torque to operate. The downside is that the pipe through the valve is small and it can not withstand high pressures [12].

Globe valves, as seen in Figure 2.6, are widely used in many applications, including home use. Globe valves can withstand high pressure and the flow can be regulated continuously, they also offer a near-linear relation between stem angle and flow.

They are also relatively cheap to produce [2] [13].

Figure 2.6. A Globe valve [14]

(27)

CHAPTER 2. THEORY

2.6 Software

To make a computer program as easy to understand, modify and expand as possible Jackson Structured Programming (JSP) can be used. With this method program functions are illustrated as blocks with added symbols for sequence, iteration and selection. Sequence is that the program does the instruction once before proceed- ing to the next. Iteration is that the instruction is repeated several times until a predefined state has been achieved. Selection is a choice dependant on one or more variables [15]. The symbols used in JSP are illustrated in Figure 2.7 .

Figure 2.7. Symbols in JSP. Illustration made with Affinity Designer.

12

(28)

Chapter 3

Demonstrator

3.1 Mechanical

The complete demonstrator is shown in Figure 3.1. Below are chapters on how this design was reached.

Figure 3.1. Complete demonstrator. Photo.

(29)

CHAPTER 3. DEMONSTRATOR

3.1.1 Valves and piping

Different kinds of valves were evaluated for their strengths, weaknesses and relevance to the requirements. To achieve the required flow of water to control the output temperature of the system, the valves need to fulfil some criteria. These are as follows:

• Have a wide spectrum between 0% and 100% flow.

• The relation between how much the tap is open and the flow needs be contin- uous, and preferably linear.

• The valves must require low torque to open and close.

• It should withstand pressures up to eight bar.

The globe valve RSK 8473400 from Trio Perfecta features standard G 1/2 threads and angled inputs. This valve enables the motors to be mounted at an angle with respect to the wall mount. The construction can therefore be made more compact.

This Globe valve can be viewed in Figure 3.2. Compare to Figure 2.6 for additional reference.

Figure 3.2. CAD model of the RSK 8473400 globe valve. Figure made with Solid Edge ST10 and Adobe Photoshop

To connect the valves, two 90° pipes and one T-junction were chosen. The T- junction is where the water is mixed and sent out to the shower hose. The 90° pipes are 90°Elbow Threaded Fitting from Conex-Banninger and the T-juncion is a RS Pro Stainless Steel Threaded Fitting, Tee from RS PRO. They all use the standard G 1/2 thread. Their configuration can be viewed in Figure 3.3.

14

(30)

3.1. MECHANICAL

3.1.2 Motors

The main function of this machine is to rotate the two valves. This must be done accurately and quickly. To control the valves, the motors have to be able to rotate to specific positions, both clockwise and counter-clockwise. Motors with these fea- tures are stepper motors and servo motors. The circuit for the stepper motors are shown in Appendix A Figure 1.

Stepper motors were chosen since they can be controlled fairly accurately and they are cheap compared to servomotors. Gearing can also be applied to increase accu- racy and torque, while decreasing speed. [2].

Tamagawa Seiki model number TS3214N16 meets the demands. It has a step

angle of 1.8°, rotates both clockwise and counter-clockwise and has decent enough

torque [16].

(31)

CHAPTER 3. DEMONSTRATOR

3.1.3 Construction

To facilitate the construction, maintenance and repair of the product standard com- ponents were chosen where possible. All piping has the same size and thread.

The final configuration of parts was made to be as simple as possible, with only three standard piping components connecting to two valves with two motors. The frame in the demonstrator is made from 3.5 mm laser cut acrylic glued together.

In this model custom spur gears were made from the same material, however they can easily be replaced with standardised parts. A picture of the CAD model can be seen in Figure 3.3.

Figure 3.3. CAD model. Made with Solid Edge ST 10 and Adobe Photoshop

16

(32)

3.2. ELECTRICAL

3.2 Electrical

3.2.1 Stepper motor controller

The MP6500 Stepper Motor Driver was chosen as the controller for the stepper motors. It has 16 pins, but only 10 are needed for the stepper motors to perform as intended in this application. The used pins are shown in as filled circles in Figure 3.4. The stepper motor driver allows a current of 1,5 A. B 2 , B 1 , A 1 and A 2 corre- spond to B 2 , B 1 , A 1 and A 2 in Figure 2.2. These circuits are shown in Apppendix A.

Figure 3.4. Layout of the MP6500. Made with Affinity Designer

3.2.2 Thermometers

For the system to be responsive to sudden changes in temperature and adjust ac- cordingly, the thermometers need to have a low thermal time constant. To fit in the pipes they also need to be small and easily isolated from exposure to water.

The LM35 Precision Centigrade Temperature Sensor from Texas instruments is a semiconductor type thermometer. The difference in the transistors causes a volt- age of 8,8 mV/°C. In the integrated circuit this voltage is amplified and linearised to a stable, and easy to work with 10 mV/°C. The LM35 is calibrated to the Cel- sius scale, meaning the output is zero V at 0°C, and 250 mV at 25°C. Some other properties of the LM35 include:

• Ensured accuracy of 0,5°C, with a typical accuracy of 0,25°C around room temperature.

• Less than 60 µA current draw.

• Low self heating, negligible in moving water.

• Linear temperature response.

(33)

CHAPTER 3. DEMONSTRATOR

The LM35 outputs a high enough voltage to be used by a 5 V 10-bit ADC with- out amplification, and still be accurate enough for this application. It also offers a small size of less than six mm 3 [17]. The circuit for the LM35 is shown in Figure 3.5. How the LM35 is connected in this application is shown in Appendix A Figure 3.

Figure 3.5. The LM35 integrated temperature sensor circuit.[17]

3.2.3 Interface

To set the desired output temperature, two buttons were used. A single press of a button changes the value by 1 °C. To communicate the current temperature in relation to the set temperature, three different coloured light emitting diodes (LED) were used. Red meaning the output is too hot, green meaning it is ± 1 °C from the set temperature, and yellow meaning the output is too cold. A schematic view of the interface is available in Figure 3.6, and wiring diagram can be viewed in Appendix A Figure 3.

Figure 3.6. Interface to control the device. Three LED’s and two buttons. Illustra- tion made with Affinity Designer.

18

(34)

3.3. SOFTWARE

3.2.4 Microcontroller

An Arduino Uno was used to read the temperature, process and step the stepper motors. The Arduino is a programmable controller board based on the ATmega328P microcontroller. The board is programmed using a PC with the Arduino Interactive Development Environment (IDE), and the program is loaded to the PROM with a USB cable. The Arduino Uno features include:

• A 16 Mhz processor.

• 14 Digital input/output pins.

• 6 Analogue input pins.

• A 5V 10-bit ADC.

• 35 kb of PROM.

In total the thermometer, LED’s, buttons and stepper motor controllers require 10 of the available pins. The 35 kb of on-board flash memory and the 16 Mhz CPU are more than enough for this application [6].

3.3 Software

The main function of the software is to rotate the motors to the correct positions.

It does this by continually reading the mixed temperature and stepping one of the motors while the temperature is not within a certain range. If the program detects that one valve is fully open, it switches to the other. As stated in section 2.1, Ther- modynamics, the program only has to keep track of a single valve at a given time.

The program calculates the position of the valves by counting how many steps have been taken.

The JSP for the program can be viewed in Appendix B. The full source code for

the Arduino written in C is available in Appendix C.

(35)
(36)

Chapter 4

Results

4.1 Thermometer trials

The LM35 was tested in pipes to research how fast it could detect changes in water temperature and reach a stable level. Five sets of tests were completed with two iterations each. Each test was performed with water from a normal tap set to the warmest or the coldest temperature possible. The thermometer was allowed to return to room temperature before testing. The tests were as follows:

• Room temperature to hot water.

• Room temperature to cold water.

• Hot water to cold water

• Cold water to hot water.

• Hot water then adding small amounts of cold water to simulate a temperature drop.

The results were saved to a PC from the Arduino using the serial port, the data was plotted and is shown in Appendix C, Thermometer data.

From the graphs shown in Appendix D, it is clear that the LM35 has a very short thermal time constant. It can change read temperature by more than 20 °C in under 50 ms.

In conculsion, the LM35 has a short thermal time constant using the flow through

this system. This corresponds to a negligible response time.

(37)

CHAPTER 4. RESULTS

4.2 Valve assembly trials

The speed of the valve assembly is critical to the system. To evaluate the perfor- mance of the motors and valves, tests were made. Firstly the maximum speed of the assembly was determined. If the speed is too great for a given torque the stepper motor skips steps. The maximum speed is therefore the speed the motor can rotate without skipping. The required torque, and therefore the maximum speed varies during opening and closing of the valve. This was however neglected and a single fixed speed was used.

Secondly, the positions of 0% and 100% were determined. The motors were ro- tated between the two positions to find the opening and closing times. Since the motors are rotating with a constant angular velocity the opening and closing of the valve is considered linear.

Tests were made to evaluate the speed of the valve assembly. The valve was fully closed and then rotated to fully open. The motors were stepped as fast as possible without skipping steps. The time to perform this and the number of steps were recorded.

Table 4.1. Valve assembly speed tests.

Direction Time Steps

CW 31 770

CCW 33 642

CW 27 620

CCW 31 769

CW 28 720

CCW 29 721

CW 30 743

CCW 30 786

CW 32 684

CCW 30 760

From Table 4.1 it is evident that the time and number of steps required for a full opening is inconsistent. This is due to irregularities around the extremes of the motion. To make this more consistent, 0% and 100% were set arbitrarily, since it is the ratio between the mass flows that affect the resulting temperature. For this demonstrator the 0% was set to closed, meaning no water can pass through the valve. 100% was set to one full rotation from the closed state.

22

(38)

4.3. SOFTWARE SIMULATION

From Table 4.1 the the angular velocity was calculated by averaging the speeds.

The angular velocity of the valve assembly was calculated to 43,25°/s given the step angle of 1,8°. Assuming that the hot and cold water supplies are at the standardised 4°C and 50 °C respectively, the mixer would be able to change output temperature by 5,52 °C/s. If the input temperatures are not according to the standard, for example, 10 °C and 40 °C, the speed of the system would be reduced to 3,60 °C/s.

4.3 Software simulation

To confirm that the Software functioned properly, simulations were made. Since no water was used, the output temperature was calculated using Equation 2.1. The temperature of each pipe was set using two potentiometers. The mass flow through the pipes was calculated using the positions of the vavles. By using potentiometers, disturbances in the input water could be simulated. The results are plotted in Ap- pendix E Figure 1. The plot also shows that different valves are used to change the temperature depending on their position and if the output temperature is lower or higher then the desired temperature. This is also shown in Appendix E Figure 2.

The system reacts firstly by closing the cold valve due to the hot valve being fully opened and the desired temperature being higher then the output. This confirms how the system was designed in Section 3.3 Software and in the JSP in Appendix B.

The simulation shows the theroetical response of the system. The simulation ne-

glects the thermal time constant of the LM35 and the computation speed of the

Arduino.

(39)
(40)

Chapter 5

Discussion and conclusions

5.1 Discussion

Since both the thermometers and the Arduino are very fast in comparison to both humans and to the rest of the system, their speed is neglected and it is assumed that the system performs according to chapter 4 Results.

Since the performance of a human regulating the temperature is unknown, some assumptions about the speed of the system compared to the speed of a human have to be made. Humans are very fast at turning the valves, but have no way of knowing what effects their actions will have on the temperature. A game of over and under compensating begins where the final temperature is dialed in. When a disturbance in temperature occurs, the game begins all over. The system described in this thesis would find the correct temperature on the first try, and if a disturbance appears it would sense it and compensate for it immediately. This fact reduces energy loss and increases showering comfort. The system also gives a clear indication through the LEDs when the water is at the set temperature. This reduces time spent waiting for the shower to heat up.

As was stated in 1.5, Scope, the results are theoretical. The tests made were in controlled conditions, and the final product was not tested with water. It is not tested how the parts interact, if any feedback loops are created or any other unfore- seen component interaction.

In practice, all parts have tolerances and do not always perform as they one would

expect in theory. The valves have some play in the thread, causing a number of

steps to only move the slack, and not actually move the plug. The spur gears are

also a source for the same type of error. If the gears do not align perfectly, the

driven gear has to move before the gears touch. This error could either be reduced

by compensating for it in the programming, buying better quality valves and gears

or can be accepted as within the margin of error.

(41)

CHAPTER 5. DISCUSSION AND CONCLUSIONS

If the thermometer is not adequately isolated an error can occur. Thermal con- duction through the pipes can cause the thermometers to read an erroneous tem- perature.

Using this control system, the motors move with a constant angular velocity. An- other approach to this problem would be to use control theory. A proportional, derivative and integrating (PID) controller could be used. This method sets the valve positions given the error between the output temperature and the set tem- perature. The controller then calculates the position of the valves and moves the motors.

5.2 Conclusion

A self-regulating, fast shower mixer can be built using one LM35 temperature sen- sors, two stepper motors and two globe valves. All controlled by an Arduino Uno with the help of two stepper motor controllers.

Energy can be saved by reaching the correct temperature right away without hav- ing to change is several times, and showing the user when the set temperature is achieved. Exactly how much energy is saved requires additional research involving testing with people.

If the input temperatures are according to standard and the motors are allowed to spin at their maximum angular velocity, the system can theoretically change temperature at a rate of 5,52 °C/s.

26

(42)

Chapter 6

Recommendations and future work

As mentioned in section 1.5, Scope, the prototype is not constructed to fit the stan- dardised bathroom which will be a requirement for the future product. Therefore, the pipes for hot and cold water need to be reconstructed to be meet current stan- dards.

To increase the speed of the system, the motors are the largest bottleneck. Stronger stepper motors or servo motors would speed up the system significantly.

As mentioned in section 2.4, Thermometers, the LM35 temperature sensor has an accuracy of 10 mV/°C. With the ADC in the Arduino this means a tempera- ture sensitivity of approximately 0,5°C. This is within the margins needed for this project, but with an amplifier the voltage can be raised to take advantage of the full range of the ADC. With an appropriate amplifier the temperature sensitivity could be around 0,25 °C. This would be a simple addition, if greater accuracy is needed.

Flow-rate or pressure sensors could be implemented to expand the functionality of the product. In the current configuration it is assumed that the user always wants maximum flow-rate. This would require reading an additional three analogue values and programming appropriate actions depending on their values. The added complexity may require a more powerful and/or larger microcontoller.

A waterproof case must be made for the device to be safe in a bathroom envi- ronment. The current configuration of parts could be rearranged to better fit inside a visually pleasing milled aluminium case.

At present the frame for the prototype is made from laser cut 3,5 mm acrylic and

glued together. To make the product much cheaper it is proposed that 1 mm steel

plate is used. The steel plate would be either water cut or stamped, and bent at

right angles to make the frame.

(43)
(44)

Bibliography

[1] T. Lu, D. Attinger, and S.M. Liu. “Large-eddy simulations of velocity and temperature fluctuations in hot and cold fluids mixing in a tee junction with an upstream straight or elbow main pipe”. eng. In: Nuclear Engineering and Design 263 (2013), pp. 32–41. issn: 0029-5493. doi: 10.1016/j.nucengdes.

2013.04.002 .

[2] Machine Design. Which Motors Are the Best: Servos or Steppers? url: https:

//www.machinedesign.com/motion- control/which- motors- are- best- servos-or-steppers . (accessed: 30-04-2019).

[3] P.J. Siripala and Y. Ahmet Sekercioglu. “A generalised solution for generating stepper motor speed profiles in real time”. eng. In: Mechatronics 23.5 (2013), pp. 541–547. issn: 0957-4158. doi: 10.1016/j.mechatronics.2013.04.004.

[4] Motion Controll tips. What are Stepper drivers and how do they work? url:

https://www.motioncontroltips.com/faq- what- are- stepper- drives- and-how-do-they-work . (Accessed: 14-02-2019).

[5] Sam Sattel. How do microcontrollers work? url: https://www.autodesk.

com/products/eagle/blog/how- microcontrollers- work/ . (accessed: 26- 05-2019).

[6] Arduino. Introduction to the Arduino Board. url: https://www.arduino.

cc/en/reference/board . (Accessed: 14-02-2019).

[7] Andrea De Marcellis, Giuseppe Ferri, and Paolo Mantenuto. “A novel 6- decades fully-analog uncalibrated Wheatstone bridge-based resistive sensor in- terface”. eng. In: Sensors and Actuators B: Chemical 189 (2013), pp. 130–140.

issn: 09254005. doi: http://dx.doi.org/10.1016/j.snb.2013.02.014.

[8] Wika. Temperature sensors. url: https : / / en . wika . com / landingpage _ temperature_sensor_en_co.WIKA . (accessed: 14-02-2019).

[9] Capgo. Introduction to Semiconductor Temperature Sensors. url: http://

www.capgo.com/Resources/Temperature/Semiconductor/Semi.html . (ac-

cessed: 26-05-2019).

(45)

BIBLIOGRAPHY

[10] Mitar Simic et al. “Multi-sensor system for remote environmental (air and water) quality monitoring”. eng. In: 2016 24th Telecommunications Forum (TELFOR). IEEE, 2016, pp. 2–3. isbn: 9781509040865. doi: 10.1109/TELFOR.

2016.7818711 .

[11] Apollo International. Brittish Standard Pipe Thread. url: http : / / www . apollointernational.in/bsp-thread-chart.php . (accessed: 26-05-2019).

[12] Forbes Marshall. Types of Valves. url: https://www.forbesmarshall.com/

fm_micro/news_room.aspx?Id=seg&nid=145 . (accessed: 14-02-2019).

[13] S.K. Sreekala and S. Thirumalini. “Study of flow performance of a globe valve and design optimisation”. In: Journal of Engineering Science and Technology 12.9 (2017), pp. 2403–2409. issn: 18234690.

[14] Globe Valve Diagram. 2009. url: https://sv.m.wikipedia.org/wiki/Fil:

Globe_valve_diagram.svg . (accessed: 12-02-2019).

[15] Kj¨all B¨ackman. Structured Programing with C++. eng. bookboon, 2012. isbn:

978-87-403-0099-4.

[16] Tamagawa Seiko. 2-Phase Step Motors. url: https://www.tamagawa-seiki.

com/products/stepmotor/2-phase-step.html . (accessed: 26-05-2019).

[17] Texas Instrumnets. LM35 Datasheet. url: http://www.ti.com/lit/ds/

symlink/lm35.pdf . (accessed: 11-04-2019).

30

(46)

Appendix A

Circuits

Figure A.1. The complete circuit. Figure made with Affinity Designer.

(47)

APPENDIX A. CIRCUITS

Figure A.2. The circuit for the interface. Figure made with Affinity Designer.

Figure A.3. The circuit for one LM35. Figure made with Affinity Designer.

32

(48)

Appendix B

JSP

Figure B.1. The JSP for the automated water mixer. Figure made with Affinity

Designer.

(49)
(50)

Appendix C

Source code

/∗

∗The Arduino code to c o n t r o l the p o s i t i o n o f the stepper motors

∗ ∗ Authors : Conradi , Justus and Tiainen , Patrik

∗ P ro je ct name : Automatic water mixer

∗ Course : MF133X−Bachelors examination in mechatronics

∗TRITA number : TRITA−ITM−EX 2019:55

∗ U n i v e r s i t y : KTH−Royal I n s t i t u t e o f Technology .

∗ Last modified : 2019−05−15.

∗ D e s c r i p t i o n : This program uses the p o s i t i o n o f two potentiometers to

∗ simulate the temperature o f two input pipes to a water mixer .

∗ I t uses t h i s information to move two stepper motors

∗ connected to two v a l v e s . The v a l v e s move u n t i l a

∗ s e t temperature i s achieved .

∗/

// input and output pins i n t s l e e p h o t = 1 3;

i n t buttonplus = 3 ; i n t buttonminus = 4 ; i n t yellow = 5 ; i n t green = 6 ; i n t red = 7 ;

i n t s l e e p c o l d = 1 2 ;

i n t d i r h o t = 9 ;

i n t stephot = 11 ;

i n t d i r c o l d = 8 ;

(51)

APPENDIX C. SOURCE CODE

i n t s t e p c o l d = 1 0;

i n t v o l t a g e i n t e r f a c e = 2 ; i n t potenhot = A0 ;

i n t potencold = A1 ;

i n t thermoout = A5 ; // unused LM35 // D e c l a i r i n g v a r i a b l e s

f l o a t n r c o l d s t e p s ; //How many s t e p s the cold water valve has taken f l o a t n r h o t s t e p s ; //How many s t e p s the warm water valve has taken // the temperature o f the water

f l o a t tempcold ; f l o a t temphot ; f l o a t tempout ;

i n t targettemp = 2 5;

// the temperature c o n t r o l l e d by the buttons i n t l a s t b u t t o n s t a t e p l u s = 0 ;

i n t l a s t b u t t o n s t a t e m i n = 0 ; i n t temprange = 0 . 2 5 ;

f l o a t mc ; f l o a t mh;

f l o a t temperror ;

// constants f o r making the code more readalbe i n t hotmotor = 1 ;

i n t coldmotor = 2 ; f l o a t maxsteps = 200;

i n t Open = 1 ; i n t Close = 2 ;

void setup ( ) { // The setup , runs once −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−

// I n c l u d i n g l i b r a r i e s

#i n c l u d e <math . h>

// s e t t i n g i n p u i t and output pins pinMode ( sleephot , OUTPUT) ; // Sleep 1

pinMode ( buttonplus , INPUT ) ; // i n c r e a s e targettemp pinMode ( buttonminus , INPUT ) ; // d e c r e a s e targettemp pinMode ( yellow , OUTPUT) ; // Yellow LED

pinMode ( green , OUTPUT) ; // Green LED

36

(52)

pinMode ( red , OUTPUT) ; // Red LED

pinMode ( s l e e p c o l d , OUTPUT) ; // Sleep 2 pinMode ( dirhot , OUTPUT) ; // d i r e c t i o n 1 pinMode ( d i r c o l d , OUTPUT) ; // d i r e c t i o n 2 pinMode ( stepcold , OUTPUT) ; // Stepp 2

pinMode ( v o l t a g e i n t e r f a c e , OUTPUT) ; // Voltage f o r thermometers pinMode ( potenhot , INPUT ) ; // the two potentiometers

pinMode ( potencold , INPUT ) ; pinMode ( thermoout , INPUT ) ;

// Begin s e r i a l communication S e r i a l . begin ( 9 6 0 0 ) ;

while ( n r c o l d s t e p s <= maxsteps ) { // open the cold valve to 100%

stepmotor (Open , coldmotor ) ; d i g i t a l W r i t e ( yellow , HIGH) ; d i g i t a l W r i t e ( green , HIGH) ; d i g i t a l W r i t e ( red , HIGH) ; S e r i a l . p r i n t l n ( tempout ) ; S e r i a l . p r i n t l n ( targettemp ) ; }

}

void loop ( ) { // The main program loop −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−

d i g i t a l W r i t e ( v o l t a g e i n t e r f a c e , HIGH) ;

// s e t t i n g pin 13 to always high , to supply the i n t e f a c e with power d i g i t a l W r i t e ( sleephot , LOW) ;

// Turn on s l e e p on both motors while they aren ’ t moving d i g i t a l W r i t e ( s l e e p c o l d , LOW) ;

readbuttons ( ) ;

// reading the pushbuttons and i n c r e a s i n g // d e c r e a s i n g the t a r g e t temperature . calctemp ( ) ;

// C a l c u l a t e s the output temperature depending on valve p o s i t i o n and

// input temperatures .

(53)

APPENDIX C. SOURCE CODE

temperror = tempout − targettemp ;

// C a l c u l a t i n g how f a r o f f the c o r r e c t temperature we are i f ( temperror > 0.25 | | temperror < −0.25) {

// The span in which the mixer should r e a c t

while ( temperror > 0 && n r h o t s t e p s != 0 && n r c o l d s t e p s >= 200) { stepmotor ( Close , hotmotor ) ;

readbuttons ( ) ; calctemp ( ) ;

temperror = tempout − targettemp ; d i s p l e d ( yellow ) ;

S e r i a l . p r i n t l n ( tempout ) ; S e r i a l . p r i n t l n ( targettemp ) ; }

while ( temperror < 0 && n r h o t s t e p s <= 200 ) { stepmotor (Open , hotmotor ) ;

readbuttons ( ) ; calctemp ( ) ;

temperror = tempout − targettemp ; d i s p l e d ( red ) ;

S e r i a l . p r i n t l n ( tempout ) ; S e r i a l . p r i n t l n ( targettemp ) ; }

while ( temperror < 0 && n r h o t s t e p s >= 200 && n r c o l d s t e p s != 0) { stepmotor ( Close , coldmotor ) ;

readbuttons ( ) ; calctemp ( ) ;

temperror = tempout − targettemp ; d i s p l e d ( red ) ;

S e r i a l . p r i n t l n ( tempout ) ; S e r i a l . p r i n t l n ( targettemp ) ; }

while ( temperror > 0 && n r h o t s t e p s >= 200 && n r c o l d s t e p s <= 200) { stepmotor (Open , coldmotor ) ;

readbuttons ( ) ; calctemp ( ) ;

temperror = tempout − targettemp ; d i s p l e d ( yellow ) ;

S e r i a l . p r i n t l n ( tempout ) ; S e r i a l . p r i n t l n ( targettemp ) ;

38

(54)

}

d i s p l e d ( green ) ; }

S e r i a l . p r i n t l n ( tempout ) ;

S e r i a l . p r i n t l n ( targettemp ) ;

i f ( d i g i t a l R e a d ( buttonplus ) && d i g i t a l R e a d ( buttonminus ) ) { c l o s e a l l ( ) ;

}

S e r i a l . p r i n t l n ( tempout ) ; S e r i a l . p r i n t l n ( targettemp ) ; }

// Functions −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−

i n t stepmotor ( i n t dir , i n t motor ) { //A f u n c t i o n that s t e p s a motor . // Inputs are what d i r e c t i o n and what motor to step .

i f ( motor == hotmotor ) { i f ( d i r == Open) {

d i g i t a l W r i t e ( sleephot , HIGH) ; d i g i t a l W r i t e ( d i r h o t , HIGH) ; d i g i t a l W r i t e ( stephot , HIGH) ;

delay ( 2 5 ) ; // The speed o f the motor d i g i t a l W r i t e ( stephot , LOW) ;

delay ( 2 5 ) ;

return n r h o t s t e p s ++;

}

e l s e i f ( d i r == Close ) {

d i g i t a l W r i t e ( sleephot , HIGH) ; d i g i t a l W r i t e ( d i r h o t , LOW) ; d i g i t a l W r i t e ( stephot , HIGH) ; delay ( 2 5 ) ;

d i g i t a l W r i t e ( stephot , LOW) ;

delay ( 2 5 ) ;

(55)

APPENDIX C. SOURCE CODE

return n r h o t s t e p s −−;

} }

e l s e i f ( motor == coldmotor ) { i f ( d i r == Open) {

d i g i t a l W r i t e ( s l e e p c o l d , HIGH) ; d i g i t a l W r i t e ( d i r c o l d , HIGH) ; d i g i t a l W r i t e ( s t e p c o l d , HIGH) ; delay ( 2 5 ) ;

d i g i t a l W r i t e ( s t e p c o l d , LOW) ; delay ( 2 5 ) ;

return n r c o l d s t e p s ++;

}

e l s e i f ( d i r == Close ) {

d i g i t a l W r i t e ( s l e e p c o l d , HIGH) ; d i g i t a l W r i t e ( d i r c o l d , LOW) ; d i g i t a l W r i t e ( s t e p c o l d , HIGH) ; delay ( 2 5 ) ;

d i g i t a l W r i t e ( s t e p c o l d , LOW) ; delay ( 2 5 ) ;

return n r c o l d s t e p s −−;

} } }

void readbuttons ( ) {

// A f u n c i t o n to change the t a r g e t temperature using two buttons i n t b u t t o n s t a t e p l u s = d i g i t a l R e a d ( buttonplus ) ;

i n t buttonstatemin = d i g i t a l R e a d ( buttonminus ) ;

i f ( b u t t o n s t a t e p l u s != l a s t b u t t o n s t a t e p l u s && targettemp < temphot + 1 ) { i f ( b u t t o n s t a t e p l u s == HIGH) {

targettemp++;

} }

l a s t b u t t o n s t a t e p l u s = b u t t o n s t a t e p l u s ;

40

(56)

i f ( buttonstatemin != l a s t b u t t o n s t a t e m i n && targettemp > tempcold − 1) { i f ( buttonstatemin == HIGH) {

targettemp −−;

} }

l a s t b u t t o n s t a t e p l u s = b u t t o n s t a t e p l u s ; l a s t b u t t o n s t a t e m i n = buttonstatemin ; }

f l o a t calctemp ( ) {

// A f u n c t i o n to c a l c u l a t e the outgoing temperature dependign on // the p o s i t i o n s o f the v a l v e s and temperatures o f the

// potentiometers

f l o a t Vin0 = analogRead ( potenhot ) ; f l o a t Vin1 = analogRead ( potencold ) ; // reads temperatures o f the input pipes

tempcold = Vin0 ∗ 0.488 / 5 0 ; temphot = 40 + Vin1 ∗ 0.488 / 1 5 ;

// Adjusting the input v o l t a g e to r e p r e s e n t a temperature mc = n r c o l d s t e p s / maxsteps ;

mh = n r h o t s t e p s / maxsteps ;

// c a l c u l a t i n g the percentage o f mass flow o f the r e s p e c t i v e v a l v e s tempout = ( tempcold ∗ mc + temphot ∗ mh) / (mc + mh) ;

// C a l c u l a t i n g the output temperature based on mass flow and temperature return tempout ;

}

void c l o s e a l l ( ) {

// Closes both v a l v e s to t h e i r s t a r t i n g pos while ( n r c o l d s t e p s > 0) {

stepmotor ( Close , coldmotor ) ;

S e r i a l . p r i n t l n ( n r c o l d s t e p s ) ;

}

(57)

APPENDIX C. SOURCE CODE

while ( n r h o t s t e p s > 0) { stepmotor ( Close , hotmotor ) ; S e r i a l . p r i n t l n ( n r h o t s t e p s ) ; }

}

void d i s p l e d ( i n t c o l ) {

// l i g h t i n g an LED with ” c o l ” as input i f ( c o l == green ) {

// Displaying a green LED i f temperature i s within range d i g i t a l W r i t e ( green , HIGH) ;

d i g i t a l W r i t e ( yellow , LOW) ; d i g i t a l W r i t e ( red , LOW) ; }

e l s e i f ( c o l == red ) {

// Displaying a red LED i f temperature i s hot d i g i t a l W r i t e ( green , LOW) ;

d i g i t a l W r i t e ( yellow , LOW) ; d i g i t a l W r i t e ( red , HIGH) ; }

e l s e i f ( c o l == yellow ) {

// Displaying a red LED i f temperature i s cold d i g i t a l W r i t e ( green , LOW) ;

d i g i t a l W r i t e ( yellow , HIGH) ; d i g i t a l W r i t e ( red , LOW) ; }

}

42

(58)

Appendix D

Thermometer results

Figure D.1. A selection of tests conducted on LM35. Graphs made in MatLab.

(59)
(60)

Appendix E

Software trials

Figure E.1. Simulated response due to change in the input water temperature.

Graphs made in MatLab.

(61)

APPENDIX E. SOFTWARE TRIALS

Figure E.2. Simulated response due to change in desired temperature. Graphs made in MatLab.

46

(62)

TRITA TRITA-ITM-EX 2019:55

References

Related documents

Carina Dios Falk.. The End of Water Scarcity? Environmental Determinism and Water Security. Department of Human Geography, Essays, Uppsala University. Is there no

Darbelnet (1995: 34-35), a literal translation should always be used unless it gives a different meaning, has no meaning, is impossible for structural reasons, does not have

Är MapGuide en programvara som kan vara något för kommunen att använda i sin distribution av geografiska data.. Det är en billig lösning som kan relativt

Once these key actors have been identified, all Nestlé (as a case study for transnational corporations) connections to said actors and the field of water governance have

If the external factors, such as policy schemes or worsening traffic situation, make the urban waterway service more competitive, the question arises how could be the

Corrosion resistance tests were performed for some common materials used in microfluidic and microsystems (silicon, stainless steel grade 304, silicon carbide, aluminum

The Steering group all through all phases consisted of The Danish Art Council for Visual Art and the Municipality of Helsingoer Culture House Toldkammeret.. The Scene is Set,

The thesis approaches state agent subjectivities through narrative method, analysing how they narrate themselves and the state temporally in terms of choice and