THE SECOND PROJECT FOR CS 5478
Programmer :Tongchun Xu
Instructor : X. Li
Apr. 10, 1999
Contents
Abstract
Specifications
Thermal measurements
Users Manual
A Java program has been written for the second project "Home Heating System" in CS 5478. We have mainly used Unified Modeling Language in designing, modeling, and developing this project. We have met the basic requests, such as simulation of activation and deactivation of furnace, properly regulating heat supply in terms of desired room temperature and predetermined occupancy states for a room, and so on. We have further developed three new functions. These are, first, input living pattern by user to reschedule the occupancy status, second, simulated time, which the simulated processes can follow, and third, change the simulation rate by user. The processes in furnace are always executed in the minimum simulation rate of 60 (in which 60 sec. in virtual time is associated with 1 sec. real time) although the changes in occupancy status follow the simultaneous rate that user may control.
There must be at least three rooms in the present home (i.e. living room, kitchen, and bedroom). The basic function of this system is to regulate the heat flow to individual rooms to maintain proper temperatures at various times.
When a room is occupied according to a predetermined schedule, a desired temperature (± 1 ° Fahrenheit) should be maintained. When the room is vacant, the temperature will remain 5° lower than the desired temperature. The user can set a desired temperature through a manual input device.
This system maintains a weekly living pattern and attempts to raise room temperatures thirty minutes before occupancy is anticipated. The weekly living pattern is updated when variations to the established pattern occur two weeks in a row. However, users may reschedule the occupancy of any room at any time when they feel needed. The users can input their occupancy timetable through a text field, so that the system will follow it immediately.
Two sensors are installed in each room. They are a thermometer that continuously measures room temperature, and an infrared sensor that continuously determines whether the room is occupied.
The user interface permits the user to control and monitor the furnace. The following devices are used:
Device | Function(s) |
Heat switch | The heat switch controls the functioning of the furnace; it can be turned on or off by the user. |
Desired-temperature input device in the room-display box | The box shows the measured temperature at its bottom scale bar and the desired temperature on its circle scale face at the top. User may set a desired temperature through the scrollbar. |
Fault reset switch/indicator | This is a combined switch and indicator. The
heat flow regulator automatically turns the "fault reset" off upon the
detection of either a fuel-flow or combustion-state fault. However, the
user can reset the fault by setting the "fault reset" to on.
|
Furnace status indicator | It displays the running/not running state of the furnace |
Time display boxes | Real time and simulated time are shown. In present simulation, one minute is approximately equivalent to one second of real time. |
Home Heating System | User may suspend the program by turning off the system’s power. |
The timer provides a continuously incrementing count, one increment for every second of elapsed time approximately. The real time is obtained by the computer function Date ( ) while the simulated virtual time is obtained through Thread.
The simulated time is much faster than the real time. The simulation ratio is defined as the virtual time-span in seconds for each repaint. Whenever the program starts to execute, it takes approximately 1 second in real-time (60 seconds in virtual time) for each repaint. Accordingly, the initial simulation ratio is 60. Afterward, user may change the simulation ratio through some interfaces.
Heat is provided to each room of the home by circulating hot water, which is heated by the furnace. A water valve of each room controls the flow of hot water into the room. The valve can be commanded to be either completely open or closed.
The furnace consists of a boiler, oil valve, igniter, blower, and a water-temperature sensor. The furnace heats water in the boiler up to requested temperature. Then the hot water can be circulated to one or more rooms of the home as requested. The furnace is alternately activated and deactivated by the heat flow regulator as needed to maintain the required temperature for each room.
The furnace activation procedure is as follows.
The furnace deactivation procedure is as follows:
A fuel-flow status sensor and an optical combustion sensor signal the system if abnormalities occur, in which case the system deactivates the furnace, turns the fault reset switch/indicator off, and closes all the room water valves.
The heat-flow regulator interacts with other components of the home heating system to determine the heating needs for each room and to control the flow of heat necessary to satisfy those requirements.
Without regard to the running/not running state of the furnace, the heat-flow regulator determines whether the room needs heat to maintain a proper temperature for each room. If the furnace is not running, the heat switch and the fault-reset switch/indicator are both on, and at least one room needs heat, the regulator activates the furnace and then route heat to the appropriate rooms. The regulator deactivates the running furnace whenever either the heat switch or the fault-reset switch/indicator is off and no rooms need heat.
The minimum time for furnace restart after prior operation
is 5 minutes.
Thermal measurements
Temperature is measured in two different systems.
Assuming that Fv if the value of Fahrenheit while Cv
is the value of Celsius, we then have the following relationship.
The commonly requested indoor room temperature during the winter, human body temperature, and water boiling temperature in different measurements are written as follows.
Fahrenheit (° F) | Celsius (° C) |
68 | 20 |
98.6 | 37 |
212 | 100 |
Users Manual
The system starts with the initial state of "power off". At this state, the real time and simulated time are both shown. The following explanations are based on the simulated time.
User should click the "power on" button at the upper left corner, so that the water pipes and others indicators will appear.
Under the condition of "power on", user may click the button "heat on" on the panel "operator interface" to trigger the furnace to run. The following events occur sequentially after the triggering: blower on, ignition in very short time, open oil valve, boiler water warms up to 200 ° F, open hot water valves to heat rooms whenever it needs to.
After starting the program, user may speed up the virtual time by clicking the button "faster". User may slow the virtual time by clicking the button "slower". In both cases, the textbox above them will show a new ratio. The minimum ratio is 60.
Users may set up their own desired room temperatures through scrollbars in each room’s panel. The meters of the circle face shows the desired temperatures while the ruler bars indicate actual room temperatures. When the room is occupied on schedule, the present system maintains it at the desired temperature (± 1 ° F) while when it is not, it maintains the room at the temperature of 5 ° F lower than the desired one.
When users feel it is necessary, they may input a new schedule of occupancy for any room through the text field located on the bottom of the Applet.
The format of input is defined as follows. Each integer represents one variable. They should be written in order.
The integers on the imput must be separated each from other by the white space delimiter (" ").
]For example, the living pattern for the master bedroom is: at six O’clock am leave the room and at 10 O’clock in the evening go to bed. Accordingly the input should be
2 1 2 6 22 which represents the following time table.
Time (O’clock) | 0 | 6 | 22 |
Occupied |
If the living room is occupied from 7 to 8 am, from 12 to 1 p.m., and from 6 to 10 p.m., its input will be
6 0 0 7 8 12 13 18 20 which represents the following
time table.
Time | 0 | 6 | 8 | 12 | 13 | 18 | 20 |
Status |
If the kitchen is occupied between, 7 and 8 am, 11 am and 1 p.m., and 5 and 8 p.m. the input for it should be
6 0 1 7 8 11 13 17 20 which represents the following
time table.
Time | 0 | 7 | 8 | 11 | 13 | 17 | 20 |
Status |