Skip to content

Arduino implementation of a ventilation controller to monitor body temperature and controll a ventilatior accoring to the input data

Notifications You must be signed in to change notification settings

acmbo/ArduinoPersonalClimate

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Personal Temperature Controll Project

This repo describes the code for implementing a prototype for a personal climate system, which was implemented with a heating and a cooling function. The body temperature of a person should be measured, and according to the temperature either a fan or a heat rod should be activated to controll the body temperature. The aim is to create a comfortable temperature bubble for a working person infront of a desk, to save energy consumed by the HVAC system.

The concept was already proposed and prototyped in Arens and Zhang[2006]:

The projects consisted of a hardware implementation with an Arduino micro controller with a compatible programm and a additional monitor for plotting the incoming data from the Arduino on a computer system. A major part of the project was to implement a PDI-Controller for controlling either a fan or a heating rod to warm the body.

The PID-controller

The implementation of the controller does work on following assumptions:

  • a constant body temperature is set at the beginning of the regulation to keep up for the whole process and equals T_Target(german: T_Soll)
  • T_Target(german: T_Soll) can only be manual be changed. The adurino is capable to accept commands to change T_Target(german: T_Soll) and the PID reacts to this change
  • both heating or cooling system react to changes of body temperature in changing their intensity, measured by the difference of bodytemperature T_Body(german:T_Haut) and T_Target(german: T_Soll)
  • ideal body temperature lies around 37°Celsius

The following diagramm shows how the controller should react:

Flowchart

Theoretic cases to compute by the adurino:

Used Hardware

On the harware side we used:

  • Aduino Board UNO R3
  • Contactsensor OneWire DS18B20
  • Cpu fan
  • 12R Resistor (german: Widerstand)
  • Breadboard (german: Busleiste)

According to the controll loop in the chapter above, the tasks of the components are represented as following:

loop

The follow scheme was used for connecting the components:

scheme

The protoype looked as follows:

Hardware

Software

On the software side, we computed the adurino with C++. We used existing libaries to connect the Arduino with sensors and for the PID controller. We developed a command parser for input commands over computer.

The following scripts were used for these cases:

  • windows_PID_heiz.ino was used for heating case
  • windows_PID_venti.ino was used for cooling case

These commands where implemented:

  • setOffset double: change T_Target temperature
  • ki double: change K_i or integral part of the PID controller
  • kp double: change K_p or change the constant part of the PID controller

Calibration and Tests

To calibrate the controller we had to set K_i and K_p manually. To find appropriate we conducted a test to determine the Step response of our system for heating and cooling case.

For the following values we recieved a ideal response for the heating case: Heating

And for the cooling case: Cooling

In a livetest we generated good results for the cooling case with using the CPU fan: Livetest

For the heating case we couldnt replicate the results from the Step response test. There are also several downfalls which we observed:

  • There can be a discrepancy between mesured temperature and bodytemperature, because the sensor has to be glued to the body
  • A solution with the cable sensor is very impractical. A better solution can be provided by using an infrared sensor
  • The heating case was impractical because of the used hardware/heatrod. A better solution should be found here
  • The environmental temperature influence isn't quite clear, but didn't had a strong inpact on the measurments
  • The fan distance is another unknown parameter, which has to be researched further

Sources

Arens, E., Zhang, H., 2006. The skin's role in human thermoregulation and comfort, in: N. Pan, P. Gibson (Eds.), Therm. Moisture Transp. Fibrous Mater., Wood- head Publishing Ltd, 560-602.

Credits

Project "Anwendungswerkstatt" in 2019 at RWTH Aachen E3D

By:

Yuhan Hu, Stephan Wegewitz, Evaluna Angelini, Shutong Li

About

Arduino implementation of a ventilation controller to monitor body temperature and controll a ventilatior accoring to the input data

Resources

Stars

Watchers

Forks