Prototype of Smart Dynamically Shaded Window

Control Algorithm

Constant Value for Demo Description

i_dark

10%

threshold below which is considered to be night

i_dark_time

10s

time in seconds during which it has to be dark before the blinds drop into night Mode

i_sun

60%

level above which there is significant solar loads

i_max

 4.8V

maximum value at saturated intensity, use this value to convert the voltage to a percentage (i_max=100%)

o_waittime

30s

 time in seconds during which not to do anything after a manual override

down_waittime

 10s

 time in seconds during which not to change state after they were dropped because of solar

up_waittime

10s

time in seconds during which do not change state after they were raised because of no solar

t_e_cooling_down

26C

 external temperature above which the system expects the house to need cooling, and will move shades down

t_e_cooling_up

24C

 external temperature below which the shades will be raised

t_e_cooling_time

5s

 time in seconds during which this temperature has to be exceeded to go into shading Mode

default_blind_state

up

state in which the system is when it starts up

Inputs

t_i

interior (room) temperature, from DS18B20

t_e

exterior temperature, from DS18B20

i

intesity of light on exterior, Vad from DS2438

o

override button from DS2406

 Outputs

blind_up

move blinds up , through DS2406

blinds_down

move blinds down, through DS 2406

all inputs should be shown on web-applet, refreshed after each sleep cycle

 

Rules

1)    if override button is pushed, flipped the state of the blinds (up->down, down->up) immediately

2)    start with default_blind_state

3)    keep a running average of t_e and i over running_average_time

4)    if i > i_sun and t_e > t_e_cooling_down   then blinds_down (solar load mode)

5)    wait for down_waittime before evaluating new actions, but keep running average going

6)    if t_e < t_e_cooling_up then blinds_up only if previous action was dropping blinds by action 3), if it was because of action 1)(override) then don't move them up

7)    wait for up_waittime before evaluating new actions, but keep running average going

8)    if i < i_dark for at least i_dark_time then blinds_down (night time mode)

9)    take sample and then sleep for sleep_time, only override button should be immediately.

 

Last Updated: 08/05/2003 17:39