U.S. patent application number 16/146659 was filed with the patent office on 2019-06-13 for thermostat with energy modeling.
This patent application is currently assigned to Johnson Controls Technology Company. The applicant listed for this patent is Johnson Controls Technology Company. Invention is credited to Michael J. Ajax, Nathan M. Zimmerman.
Application Number | 20190178518 16/146659 |
Document ID | / |
Family ID | 64734269 |
Filed Date | 2019-06-13 |
![](/patent/app/20190178518/US20190178518A1-20190613-D00000.png)
![](/patent/app/20190178518/US20190178518A1-20190613-D00001.png)
![](/patent/app/20190178518/US20190178518A1-20190613-D00002.png)
![](/patent/app/20190178518/US20190178518A1-20190613-D00003.png)
![](/patent/app/20190178518/US20190178518A1-20190613-D00004.png)
![](/patent/app/20190178518/US20190178518A1-20190613-D00005.png)
![](/patent/app/20190178518/US20190178518A1-20190613-D00006.png)
![](/patent/app/20190178518/US20190178518A1-20190613-D00007.png)
![](/patent/app/20190178518/US20190178518A1-20190613-D00008.png)
![](/patent/app/20190178518/US20190178518A1-20190613-D00009.png)
![](/patent/app/20190178518/US20190178518A1-20190613-D00010.png)
View All Diagrams
United States Patent
Application |
20190178518 |
Kind Code |
A1 |
Zimmerman; Nathan M. ; et
al. |
June 13, 2019 |
THERMOSTAT WITH ENERGY MODELING
Abstract
A thermostat for a building space is disclosed. The thermostat
can include a processing circuit. The processing circuit can cause
building equipment to heat or cool the building space via one or
more heating outputs or one or more cooling outputs. The processing
circuit can record the length of time that the processing circuit
causes the building equipment to heat or cool the building space.
The processing circuit can simulate a thermal plant model to
determine a simulated runtime, wherein the thermal plant model is a
thermal plant model of the building space and the building
equipment. The processing circuit can determine a number of hours
saved based on the simulated runtime and the recorded length of
time
Inventors: |
Zimmerman; Nathan M.;
(Wauwatosa, WI) ; Ajax; Michael J.; (Milwaukee,
WI) |
|
Applicant: |
Name |
City |
State |
Country |
Type |
Johnson Controls Technology Company |
Auburn Hills |
MI |
US |
|
|
Assignee: |
Johnson Controls Technology
Company
Auburn Hills
MI
|
Family ID: |
64734269 |
Appl. No.: |
16/146659 |
Filed: |
September 28, 2018 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
62595757 |
Dec 7, 2017 |
|
|
|
Current U.S.
Class: |
1/1 |
Current CPC
Class: |
F24F 11/61 20180101;
F24F 2110/12 20180101; G05D 23/1951 20130101; F24F 2140/50
20180101; F24F 11/65 20180101; G05B 13/041 20130101; F24F 11/64
20180101; F24F 11/46 20180101; F24F 11/58 20180101; F24F 2140/60
20180101; F24F 2110/10 20180101; G05B 17/02 20130101; G05B
2219/2642 20130101; G05B 15/02 20130101 |
International
Class: |
F24F 11/46 20060101
F24F011/46; F24F 11/58 20060101 F24F011/58; F24F 11/61 20060101
F24F011/61; F24F 11/64 20060101 F24F011/64; F24F 11/65 20060101
F24F011/65; G05B 13/04 20060101 G05B013/04 |
Claims
1. A method for determining energy savings of a thermostat, the
method comprising: causing, by one or more processing circuits of a
thermostat, building equipment to heat or cool a building space via
one or more heating outputs or one or more cooling outputs of the
thermostat; recording, by the one or more processing circuits of
the thermostat, the length of time that the building equipment
heating or cooling the building space; simulating, by the one or
more processing circuits of the thermostat, a thermal plant model
to determine a simulated runtime, wherein the thermal plant model
is a thermal plant model of the building space and the building
equipment; and determining, by the one or more processing circuits
of the thermostat, a number of hours saved based on the simulated
runtime and the recorded length of time.
2. The method of claim 1, further comprising identifying, by the
one or more processing circuits, the thermal plant model from
environmental data and control outputs of the thermostat via a
stochastic parameter estimation method.
3. The method of claim 2, wherein the stochastic parameter
estimation method is at least one or a combination of linear least
squares, non-linear least squares, a variants least square method,
a robust linear least squares method, and a robust non-linear least
squares method.
4. The method of claim 2, wherein generating, by the one or more
processing circuits, the thermal plant model comprises: generating
an initial set of model parameters for the thermal plant model with
least squares; and generating a set of model parameters for the
thermal plant model based on at least the initial set of model
parameters for the thermal plant model and non-linear least
squares.
5. The method of claim 4, wherein generating the set of model
parameters for the thermal plant model comprises iteratively
solving for the set of model parameters with non-linear least
squares for a predetermined number of iterations or based upon
parameter convergence.
6. The method of claim 4, wherein generating the initial set of
model parameters for the thermal plant model comprises: generating,
with least squares, the initial set of model parameters to be a
first set of initial model parameters if the building equipment is
configured to heat the building space; and generating, with least
squares, the initial set of model parameters to be a second set of
initial model parameters if the building equipment is configured to
cool the building space.
7. The method of claim 6, wherein generating, with least squares,
the first set of initial model parameters comprises: determining a
temperature influence of the building equipment configured to heat
the building space based on at least one zone temperature (ZNT)
value and at least one outdoor air temperature (OAT) value;
determining some of the first set of model parameters with least
squares and the determined temperature influence; and determining
some of the first set of model parameters based on the minimum
difference of a plurality of ZNT values and a plurality of OAT
values.
8. The method of claim 6, wherein generating, with least squares,
the second set of initial model parameters comprises: determining a
temperature influence of the building equipment configured to cool
the building space based on at least one zone temperature (ZNT)
value and at least one outdoor air temperature (OAT) value;
determining some of the second set of parameters with least squares
and the determined temperature influence; and determining some of
the second set of parameters based on a maximum difference of a
plurality of ZNT values and a plurality of OAT values.
9. The method of claim 1, further comprising generating, by the one
or more processing circuits, the thermal plant model for the
building space and the building equipment based on recorded outdoor
ambient temperature (OAT) values, zone temperature (ZNT) values,
states of the one or more heating outputs, and states of the one or
more cooling outputs.
10. The method of claim 1, further determining, via a Kalman
filter, a temperature disturbance for the thermal plant model.
11. A thermostat for a building space, the thermostat comprising: a
processing circuit configured to: cause building equipment to heat
or cool the building space via one or more heating outputs or one
or more cooling outputs; record the length of time that the
processing circuit causes the building equipment to heat or cool
the building space; simulate a thermal plant model to determine a
simulated runtime, wherein the thermal plant model is a thermal
plant model of the building space and the building equipment; and
determine a number of hours saved based on the simulated runtime
and the recorded length of time.
12. The thermostat of claim 11, wherein the processing circuit is
configured to identify the thermal plant model for the building
space and the HVAC equipment based on recorded outdoor ambient
temperature (OAT) values, zone temperature (ZNT) values, states of
the one or more heating outputs, and states of the one or more
cooling outputs.
13. The thermostat of claim 11, wherein the processing circuit is
configured to determine, via a Kalman filter, a temperature
disturbance for the thermal plant model.
14. The thermostat of claim 11, wherein the processing circuit is
configured to: record a plurality of actual runtimes, wherein the
actual runtimes are lengths of time that the processing circuit
causes the HVAC equipment to heat or cool the building for a
plurality of days; and simulate the thermal plant model to
determine a plurality of simulated runtimes for the plurality of
days, wherein the thermal plant model is a thermal plant model of
the building space and the HVAC equipment.
15. The thermostat of claim 14, wherein the thermostat further
comprises a user interface configured to display information to a
user; and wherein the processing circuit is configured to cause the
user interface to display the plurality of recorded actual runtimes
for at least some of the plurality of days and the plurality of
simulated runtimes for the at least some of the plurality of days
via a graph.
16. The thermostat of claim 15, wherein the graph displays hours of
runtime on a first axis and the at least some of the plurality of
days on a second axis.
17. A system for determining energy usage of a thermostat for a
building space, the thermostat comprising: a processing circuit
configured to: cause building equipment to heat or cool the
building space via one or more heating outputs or one or more
cooling outputs; record the length of time that the processing
circuit causes the building equipment to heat or cool the building
space; send, via a network, the one or more heating outputs, the
one or more cooling outputs, and a zone temperature to a remote
device; receive, via the network, a simulated runtime from the
remote device, wherein the remote device determines simulated
runtime based on a thermal plant model, wherein the thermal plant
model of the building space and the building equipment; and
determine a number of hours saved based on the simulated runtime
and the recorded length of time.
18. The system of claim 17, wherein the system further comprises
the remote device comprising a processing circuit, wherein the
processing circuit is configured to: receive, via the network, the
one or more heating outputs, the one or more cooling outputs, and a
zone temperature from the thermostat; determine the simulated
runtime by: generating the thermal plant model for the building
space and the HVAC equipment based on at least one ambient
temperature (OAT) value, the at least one received zone temperature
(ZNT) values, the one or more heating outputs, and the one or more
cooling outputs; and simulating the thermal plant model to
determine the simulated runtime.
19. The system of claim 18, wherein the processing circuit of the
remote device is configured to determine, via a Kalman filter, a
temperature disturbance for the thermal plant model.
20. The method of claim 2, wherein the method further comprises
updating and re-identifying the thermal plant model based on
additional environmental data and additional control outputs of the
thermostat collected over a period of time, wherein updating and
re-identifying the thermal plant model adapts the thermal plant
model to changes in the building equipment and seasons.
Description
CROSS-REFERENCE TO RELATED APPLICATION
[0001] This application claims the benefit of the following
provisionally filed U.S. patent application: Application No.
62/595,757, filed Dec. 7, 2017, and entitled "Thermostat with
Energy Modeling," which application is hereby incorporated herein
by reference.
BACKGROUND
[0002] A thermostat, in general, is a component of an HVAC control
system. Thermostats sense the temperature or other parameters
(e.g., humidity) of a system and control components of the HVAC
system in order to maintain a set point for the temperature or
other parameter. A thermostat may be designed to control a heating
or cooling system or an air conditioner. Thermostats use a variety
of sensors to measure temperature and other desired parameters of a
system.
SUMMARY
[0003] One embodiment includes a method for determining energy
savings of a thermostat. The method can include causing, by one or
more processing circuits of the thermostat, building equipment to
heat or cool a building space via one or more heating outputs or
one or more cooling outputs of the thermostat. The method can
include recording, by the one or more processing circuits of the
thermostat, the length of time that the building equipment heats or
cools the building space. The method can include simulating, by the
one or more processing circuits of the thermostat, a thermal plant
model to determine a simulated runtime, wherein the thermal plant
model is a thermal plant model of the building space and the
building equipment. The method can include determining, by the one
or more processing circuits of the thermostat, a number of hours
saved based on the simulated runtime and the recorded length of
time.
[0004] Another embodiment includes a thermostat for a building
space. The thermostat can include a processing circuit. The
processing circuit can cause building equipment to heat or cool the
building space via one or more heating outputs or one or more
cooling outputs. The processing circuit can record the length of
time that the processing circuit causes the building equipment to
heat or cool the building space. The processing circuit can
simulate a thermal plant model to determine a simulated runtime,
wherein the thermal plant model is a thermal plant model of the
building space and the building equipment. The processing circuit
can determine a number of hours saved based on the simulated
runtime and the recorded length of time.
[0005] Yet another embodiment includes a system for determining
energy usage of a thermostat for a building space. The thermostat
includes a processing circuit. The processing circuit can cause
building equipment to heat or cool the building space via one or
more heating outputs or one or more cooling outputs. The processing
circuit can record the length of time that the processing circuit
causes the building equipment to heat or cool the building space.
The processing circuit can send, via a network, the one or more
heating outputs, the one or more cooling outputs, and a zone
temperature to a remote device. The processing circuit can receive,
via the network, a simulated runtime from the remote device,
wherein the remote device determines simulated runtime based on a
thermal plant model, wherein the thermal plant model of the
building space and the building equipment. The processing circuit
can determine a number of hours saved based on the simulated
runtime and the recorded length of time.
BRIEF DESCRIPTION OF THE DRAWINGS
[0006] Various objects, aspects, features, and advantages of the
disclosure will become more apparent and better understood by
referring to the detailed description taken in conjunction with the
accompanying drawings, in which like reference characters identify
corresponding elements throughout. In the drawings, like reference
numbers generally indicate identical, functionally similar, and/or
structurally similar elements.
[0007] FIG. 1A is a drawing of a thermostat with a transparent
cantilevered display, according to an exemplary embodiment.
[0008] FIG. 1B is a schematic drawing of a building equipped with a
residential heating and cooling system and a thermostat, according
to an exemplary embodiment.
[0009] FIG. 2 is a schematic drawing of the thermostat and the
residential heating and cooling system of FIG. 1, according to an
exemplary embodiment.
[0010] FIG. 3A is a block diagram of the thermostat of FIGS. 1A,
1B, and 2 shown in greater detail, according to an exemplary
embodiment.
[0011] FIG. 3B is a block diagram of the thermostat of FIG. 3A
communicating with a remote device, according to an exemplary
embodiment.
[0012] FIG. 4 is a block diagram the energy modeling features of
the thermostat of FIG. 3A, according to an exemplary
embodiment.
[0013] FIG. 5 is a chart illustrating system identification that
can be performed by the thermostat of FIG. 3A, according to an
exemplary embodiment.
[0014] FIG. 6 is a chart illustrating a plant simulation, according
to an exemplary embodiment.
[0015] FIG. 7 is a user interface indicating energy savings of the
thermostat of FIG. 3A, according to an exemplary embodiment.
[0016] FIGS. 8-28 are drawings of user interfaces that indicate
energy savings, energy savings notifications, and energy savings
tips, according to various exemplary embodiments.
DETAILED DESCRIPTION
Overview
[0017] Referring generally to the FIGURES, systems and methods for
determining hours of energy saved for a thermostat with an energy
model is shown, according to various exemplary embodiments. The
energy model described herein can be used to calculate the energy
savings that a thermostat achieves during its operation. The actual
operation of the thermostat can be compared to the operation
determined with the energy model, a "typical" operation. The
typical operation may be an indication of a runtime achieved where
a thermostat would continuously control heating and/or cooling with
a fixed setpoint (e.g., 72 degrees Fahrenheit). The simulated
typical operation may be determined by operating against a thermal
model that is identified for a user's home and/or operational
environment. The thermal model can be created by the thermostat or
any other device to account for HVAC energy expenditure of a
building for a multitude of factors. These factors include the
insulation efficiency of the building, the capacity of the HVAC
equipment, the outdoor temperature, and internal temperature
disturbances.
[0018] Energy savings of the thermostat can be achieved by
operating the thermostat with auto-away and various scheduling
features that avoid operating a user's HVAC system unnecessarily.
The output of the energy model can be hours of equipment runtime
saved which illustrates the effect of the energy savings features
of the thermostat. It may be difficult to convert hours of
equipment runtime saved into dollars saved since the HVAC equipment
capacity may be unknown and the cost of energy per a user's
location may also be unknown. These factors vary widely per user
and per location. For this reason, hours of energy saved can be
used to inform a user of the saved energy.
[0019] As described herein, systems and methods by which hours of
energy saved can be displayed to a user in a daily or weekly view
in comparison to a thermostat operating at fixed setpoint (e.g., a
72 degrees Fahrenheit setpoint) in their environment (e.g.,
building, home, office, etc.). The systems and methods described
herein can be used to mathematically model (e.g., generate a
thermal model) a home, building, and/or HVAC equipment such that
the baseline comparison between actual operation and normal
operation can be performed.
[0020] Hours of energy saved may be based directly on an identified
mathematical model of a user's environment and consequently can be
far more accurate than statistical methods. This mathematical
thermal model can evolve over time, can reject data on bad days
(e.g., where equipment is always off/on), can handle multiple
equipment stages, and can be stored statically. Furthermore, the
determination of the thermal model can be performed efficiently
such that it can be done all on a user's device (e.g., on the
thermostat itself, on a mobile phone, etc.) and may not require
cloud computation. However, in various embodiments, the
determination of the thermal model can be performed on a remote
server or other cloud computation service. The thermal dynamics
model of a user's environment can take into account the outdoor air
temperature as well as random temperature disturbances is
mathematically complex.
[0021] FIG. 1A is a drawing of a thermostat 10 that includes a
transparent cantilevered user interface 14. The user interface 14
may be an interactive display that can display information to a
user and receive input from the user. The user interface 14 may be
transparent such that a user can view information on the display
and view the surface (e.g., a wall) located behind the display. The
thermostat 10 can be configured to determine hours of energy saved
which may indicate a reduction in runtime of the equipment of a
home or building of a user. The thermostat 10 can present the hours
of energy saved via single number and/or via multiple graphs.
Examples of displaying energy savings to a user is shown in FIGS.
7-27. Thermostats with transparent and cantilevered user interfaces
are described in further detail in U.S. patent application Ser. No.
15/146,649 filed May 4, 2016, the entirety of which is incorporated
by reference herein.
[0022] The user interface 14 can be a touchscreen or other type of
electronic display configured to present information to a user in a
visual format (e.g., as text, graphics, etc.) and receive input
from a user (e.g., via a touch-sensitive panel). For example, the
user interface 14 may include a touch-sensitive panel layered on
top of an electronic visual display. A user can provide inputs
through simple or multi-touch gestures by touching the user
interface 14 with one or more fingers and/or with a stylus or pen.
The user interface 14 can use any of a variety of touch-sensing
technologies to receive user inputs, such as capacitive sensing
(e.g., surface capacitance, projected capacitance, mutual
capacitance, self-capacitance, etc.), resistive sensing, surface
acoustic wave, infrared grid, infrared acrylic projection, optical
imaging, dispersive signal technology, acoustic pulse recognition,
or other touch-sensitive technologies known in the art. Many of
these technologies allow for multi-touch responsiveness of user
interface 14 allowing registration of touch in two or even more
locations at once. The display may use any of a variety of display
technologies such as light emitting diode (LED), organic
light-emitting diode (OLED), liquid-crystal display (LCD), organic
light-emitting transistor (OLET), surface-conduction
electron-emitter display (SED), field emission display (FED),
digital light processing (DLP), liquid crystal on silicon (LCoC),
or any other display technologies known in the art. In some
embodiments, the user interface 14 is configured to present visual
media (e.g., text, graphics, etc.) without requiring a
backlight.
[0023] FIG. 1B illustrates a residential heating and cooling system
100, such as an HVAC system. The residential heating and cooling
system 100 may provide heated and cooled air to a residential
structure. Although described as a residential heating and cooling
system 100, embodiments of the systems and methods described herein
can be utilized in a cooling unit or a heating unit in a variety of
applications include commercial HVAC units (e.g., roof top units).
In general, a residence 24 includes refrigerant conduits that
operatively couple an indoor unit 28 to an outdoor unit 30. Indoor
unit 28 may be positioned in a utility space, an attic, a basement,
and so forth. Outdoor unit 30 is situated adjacent to a side of
residence 24. Refrigerant conduits transfer refrigerant between
indoor unit 28 and outdoor unit 30, typically transferring
primarily liquid refrigerant in one direction and primarily
vaporized refrigerant in an opposite direction.
[0024] When the system 100 shown in FIG. 1B is operating as an air
conditioner, a coil in outdoor unit 30 serves as a condenser for
recondensing vaporized refrigerant flowing from indoor unit 28 to
outdoor unit 30 via one of the refrigerant conduits. In these
applications, a coil of the indoor unit 28, designated by the
reference numeral 32, serves as an evaporator coil. Evaporator coil
32 receives liquid refrigerant (which may be expanded by an
expansion device, not shown) and evaporates the refrigerant before
returning it to outdoor unit 30.
[0025] Outdoor unit 30 draws in environmental air through its sides
as indicated by the arrows directed to the sides of the unit,
forces the air through the outer unit coil using a fan, and expels
the air. When operating as an air conditioner, the air is heated by
the condenser coil within the outdoor unit 30 and exits the top of
the unit at a temperature higher than it entered the sides. Air is
blown over indoor coil 32 and is then circulated through residence
24 by means of ductwork 20, as indicated by the arrows entering and
exiting ductwork 20. The overall system 100 operates to maintain a
desired temperature as set by thermostat 10. When the temperature
sensed inside the residence 24 is higher than the set point on the
thermostat 10 (with the addition of a relatively small tolerance),
the air conditioner will become operative to refrigerate additional
air for circulation through the residence 24. When the temperature
reaches the set point (with the removal of a relatively small
tolerance), the unit can stop the refrigeration cycle
temporarily.
[0026] In some embodiments, the system 100 is configured so that
the outdoor unit 30 is controlled to achieve a more elegant control
over temperature and humidity within the residence 24. The outdoor
unit 30 is controlled to operate components within the outdoor unit
30, and the system 100, based on a percentage of a delta between a
minimum operating value of the compressor and a maximum operating
value of the compressor plus the minimum operating value. In some
embodiments, the minimum operating value and the maximum operating
value are based on the determined outdoor ambient temperature, and
the percentage of the delta is based on a predefined temperature
differential multiplier and one or more time dependent
multipliers.
[0027] Referring now to FIG. 2, an HVAC system 200 is shown
according to an exemplary embodiment. Various components of system
300 are located inside residence 24 while other components are
located outside residence 24. Outdoor unit 30, as described with
reference to FIG. 1, is shown to be located outside residence 24
while indoor unit 28 and thermostat 10, as described with reference
to FIG. 1, are shown to be located inside the building. In various
embodiments, the thermostat 10 can cause the indoor unit 28 and the
outdoor unit 30 to heat residence 24. In some embodiments, the
thermostat 10 can cause the indoor unit 28 and the outdoor unit 30
to cool the residence 24. In other embodiments, the thermostat 10
can command an airflow change within the residence 24 to adjust the
humidity within the residence 24.
[0028] Thermostat 10 can be configured to generate control signals
for indoor unit 28 and/or outdoor unit 30. The thermostat 10 is
shown to be connected to an indoor ambient temperature sensor 202,
and an outdoor unit controller 204 is shown to be connected to an
outdoor ambient temperature sensor 206. The indoor ambient
temperature sensor 202 and the outdoor ambient temperature sensor
206 may be any kind of temperature sensor (e.g., thermistor,
thermocouple, etc.). The thermostat 10 may measure the temperature
of residence 24 via the indoor ambient temperature sensor 202.
Further, the thermostat 10 can be configured to receive the
temperature outside residence 24 via communication with the outdoor
unit controller 204. In various embodiments, the thermostat 10
generates control signals for the indoor unit 28 and the outdoor
unit 30 based on the indoor ambient temperature (e.g., measured via
indoor ambient temperature sensor 202), the outdoor temperature
(e.g., measured via the outdoor ambient temperature sensor 206),
and/or a temperature set point.
[0029] The indoor unit 28 and the outdoor unit 30 may be
electrically connected. Further, indoor unit 28 and outdoor unit 30
may be coupled via conduits 210. The outdoor unit 30 can be
configured to compress refrigerant inside conduits 210 to either
heat or cool the building based on the operating mode of the indoor
unit 28 and the outdoor unit 30 (e.g., heat pump operation or air
conditioning operation). The refrigerant inside conduits 210 may be
any fluid that absorbs and extracts heat. For example, the
refrigerant may be hydro fluorocarbon (HFC) based R-410A, R-407C,
and/or R-134a.
[0030] The outdoor unit 30 is shown to include the outdoor unit
controller 204, a variable speed drive 212, a motor 214 and a
compressor 216. The outdoor unit 30 can be configured to control
the compressor 216 and to further cause the compressor 216 to
compress the refrigerant inside conduits 210. In this regard, the
compressor 216 may be driven by the variable speed drive 212 and
the motor 214. For example, the outdoor unit controller 204 can
generate control signals for the variable speed drive 212. The
variable speed drive 212 (e.g., an inverter, a variable frequency
drive, etc.) may be an AC-AC inverter, a DC-AC inverter, and/or any
other type of inverter. The variable speed drive 212 can be
configured to vary the torque and/or speed of the motor 214 which
in turn drives the speed and/or torque of compressor 216. The
compressor 216 may be any suitable compressor such as a screw
compressor, a reciprocating compressor, a rotary compressor, a
swing link compressor, a scroll compressor, or a turbine
compressor, etc.
[0031] In some embodiments, the outdoor unit controller 204 is
configured to process data received from the thermostat 10 to
determine operating values for components of the system 100, such
as the compressor 216. In one embodiment, the outdoor unit
controller 204 is configured to provide the determined operating
values for the compressor 216 to the variable speed drive 212,
which controls a speed of the compressor 216. The outdoor unit
controller 204 is controlled to operate components within the
outdoor unit 30, and the indoor unit 28, based on a percentage of a
delta between a minimum operating value of the compressor and a
maximum operating value of the compressor plus the minimum
operating value. In some embodiments, the minimum operating value
and the maximum operating value are based on the determined outdoor
ambient temperature, and the percentage of the delta is based on a
predefined temperature differential multiplier and one or more time
dependent multipliers.
[0032] In some embodiments, the outdoor unit controller 204 can
control a reversing valve 218 to operate system 200 as a heat pump
or an air conditioner. For example, the outdoor unit controller 204
may cause reversing valve 218 to direct compressed refrigerant to
the indoor coil 32 while in heat pump mode and to an outdoor coil
220 while in air conditioner mode. In this regard, the indoor coil
32 and the outdoor coil 220 can both act as condensers and
evaporators depending on the operating mode (i.e., heat pump or air
conditioner) of system 200.
[0033] Further, in various embodiments, outdoor unit controller 204
can be configured to control and/or receive data from an outdoor
electronic expansion valve (EEV) 222. The outdoor electronic
expansion valve 222 may be an expansion valve controlled by a
stepper motor. In this regard, the outdoor unit controller 204 can
be configured to generate a step signal (e.g., a PWM signal) for
the outdoor electronic expansion valve 222. Based on the step
signal, the outdoor electronic expansion valve 222 can be held
fully open, fully closed, partial open, etc. In various
embodiments, the outdoor unit controller 204 can be configured to
generate step signal for the outdoor electronic expansion valve 222
based on a subcool and/or superheat value calculated from various
temperatures and pressures measured in system 200. In one
embodiment, the outdoor unit controller 204 is configured to
control the position of the outdoor electronic expansion valve 222
based on a percentage of a delta between a minimum operating value
of the compressor and a maximum operating value of the compressor
plus the minimum operating value. In some embodiments, the minimum
operating value and the maximum operating value are based on the
determined outdoor ambient temperature, and the percentage of the
delta is based on a predefined temperature differential multiplier
and one or more time dependent multipliers.
[0034] The outdoor unit controller 204 can be configured to control
and/or power outdoor fan 224. The outdoor fan 224 can be configured
to blow air over the outdoor coil 220. In this regard, the outdoor
unit controller 204 can control the amount of air blowing over the
outdoor coil 220 by generating control signals to control the speed
and/or torque of outdoor fan 224. In some embodiments, the control
signals are pulse wave modulated signals (PWM), analog voltage
signals (i.e., varying the amplitude of a DC or AC signal), and/or
any other type of signal. In one embodiment, the outdoor unit
controller 204 can control an operating value of the outdoor fan
224, such as speed, based on a percentage of a delta between a
minimum operating value of the compressor and a maximum operating
value of the compressor plus the minimum operating value. In some
embodiments, the minimum operating value and the maximum operating
value are based on the determined outdoor ambient temperature, and
the percentage of the delta is based on a predefined temperature
differential multiplier and one or more time dependent
multipliers.
[0035] The outdoor unit 30 may include one or more temperature
sensors and one or more pressure sensors. The temperature sensors
and pressure sensors may be electrical connected (i.e., via wires,
via wireless communication, etc.) to the outdoor unit controller
204. In this regard, the outdoor unit controller 204 can be
configured to measure and store the temperatures and pressures of
the refrigerant at various locations of the conduits 210. The
pressure sensors may be any kind of transducer that can be
configured to sense the pressure of the refrigerant in the conduits
210. The outdoor unit 30 is shown to include pressure sensor 226.
The pressure sensor 226 may measure the pressure of the refrigerant
in conduit 210 in the suction line (i.e., a predefined distance
from the inlet of compressor 216. Further, the outdoor unit 30 is
shown to include pressure sensor 226. The pressure sensor 226 may
be configured to measure the pressure of the refrigerant in
conduits 210 on the discharge line (e.g., a predefined distance
from the outlet of compressor 216).
[0036] The temperature sensors of outdoor unit 30 may include
thermistors, thermocouples, and/or any other temperature sensing
device. The outdoor unit 30 is shown to include temperature sensor
208, temperature sensor 228, temperature sensor 230, and
temperature sensor 232. The temperature sensors (i.e., temperature
sensor 208, temperature sensor 228, temperature sensor 230, and/or
temperature sensor 232) can be configured to measure the
temperature of the refrigerant at various locations inside conduits
210.
[0037] Referring now to the indoor unit 28, the indoor unit 28 is
shown to include indoor unit controller 234, indoor electronic
expansion valve controller 236, an indoor fan 238, an indoor coil
240, an indoor electronic expansion valve 242, a pressure sensor
244, and a temperature sensor 246. The indoor unit controller 234
can be configured to generate control signals for indoor electronic
expansion valve controller 248. The signals may be set points
(e.g., temperature set point, pressure set point, superheat set
point, subcool set point, step value set point, etc.). In this
regard, indoor electronic expansion valve controller 248 can be
configured to generate control signals for indoor electronic
expansion valve 242. In various embodiments, indoor electronic
expansion valve 242 may be the same type of valve as outdoor
electronic expansion valve 222. In this regard, indoor electronic
expansion valve controller 248 can be configured to generate a step
control signal (e.g., a PWM wave) for controlling the stepper motor
of the indoor electronic expansion valve 242. In this regard,
indoor electronic expansion valve controller 248 can be configured
to fully open, fully close, or partially close the indoor
electronic expansion valve 242 based on the step signal.
[0038] Indoor unit controller 234 can be configured to control
indoor fan 238. The indoor fan 238 can be configured to blow air
over indoor coil 32. In this regard, the indoor unit controller 234
can control the amount of air blowing over the indoor coil 240 by
generating control signals to control the speed and/or torque of
the indoor fan 238. In some embodiments, the control signals are
pulse wave modulated signals (PWM), analog voltage signals (i.e.,
varying the amplitude of a DC or AC signal), and/or any other type
of signal. In one embodiment, the indoor unit controller 234 may
receive a signal from the outdoor unit controller indicating one or
more operating values, such as speed for the indoor fan 238. In one
embodiment, the operating value associated with the indoor fan 238
is an airflow, such as cubic feet per minute (CFM). In one
embodiment, the outdoor unit controller 204 may determine the
operating value of the indoor fan based on a percentage of a delta
between a minimum operating value of the compressor and a maximum
operating value of the compressor plus the minimum operating value.
In some embodiments, the minimum operating value and the maximum
operating value are based on the determined outdoor ambient
temperature, and the percentage of the delta is based on a
predefined temperature differential multiplier and one or more time
dependent multipliers.
[0039] The indoor unit controller 234 may be electrically connected
(e.g., wired connection, wireless connection, etc.) to pressure
sensor 244 and/or temperature sensor 246. In this regard, the
indoor unit controller 234 can take pressure and/or temperature
sensing measurements via pressure sensor 244 and/or temperature
sensor 246. In one embodiment, pressure sensor 244 and temperature
sensor 246 are located on the suction line (i.e., a predefined
distance from indoor coil 32). In other embodiments, the pressure
sensor 244 and/or the temperature sensor 246 may be located on the
liquid line (i.e., a predefined distance from indoor coil 32).
[0040] Referring now to FIG. 3A, the thermostat 10 as described
with reference to FIGS. 1A-2 is shown in greater detail, according
to an exemplary embodiment. The thermostat 10 is shown to
communicate to temperature sensors 340 and HVAC equipment 346. In
FIG. 3A, the thermostat 10 is shown to include the user interface
14.
[0041] The user interface 14 may be a touch screen display
configured to receive input from a user and display images and text
to a user. In some embodiments, user interface 14 is at least one
or a combination of a resistive touch screen and a capacitive touch
screen (e.g., projective capacitive touch screen). In some
embodiments, the user interface 14 is a transparent touch screen
device. In some embodiments, the user interface 14 is a laser
display, a holographic display, a light field display, and/or any
other display or combination of displays. The user interface 14 may
be configured to display images and text to a user but may not be
configured to receive input from the user. In some embodiments, the
user interface 14 is one or a combination of a CRT display, an LCD
display, an LED display, a plasma display, and/or an OLED display
(e.g., a transparent OLED display).
[0042] The temperature sensors 342 and 344 can be configured to
measure the ambient temperature of a building (e.g. the residence
24), the temperature of a zone associated with the building, and/or
an outdoor temperature. Temperature sensors 342 and 344 may be
sensors outputting an analog signal (e.g., sinusoid, square wave,
PWM wave, etc.) and/or a measurable value (e.g. current, voltage,
resistance) and/or may be a temperature module outputting a digital
value. The temperature sensors 342 and 344 may communicate a
digital and/or analog value to the thermostat 10. The temperature
sensors 342 and/or 344 may be located inside an enclosure of the
thermostat 10, outside the thermostat 10, outside a building,
and/or inside a building. The temperature sensors 342 and 344 may
be any other type or combination of temperature sensor. In some
embodiments, temperature sensor 344 is an outdoor temperature
sensor owned by a third party (e.g., a weather forecaster). The
thermostat 10 may receive (e.g., receive via a network) the
temperature from the weather forecaster which identifies outdoor
temperature.
[0043] The temperature sensors 342 and 344 may be part of the
thermostat 10, e.g., located in the same enclosure as thermostat
10, or may be external sensors. The thermostat 10 can receive,
determine, and/or store measured temperature values of temperature
sensors 342 and 344. The temperature measured by the temperature
sensor 342 may be stored as zone temperature (ZNT) 332. The
temperature measured by the temperature sensors 344 may be stored
as an outdoor air temperature (OAT) 330.
[0044] The processing circuit 302 can include a processor 306 and a
memory 308. The processor 306 can be a general purpose or specific
purpose processor, an application specific integrated circuit
(ASIC), one or more field programmable gate arrays (FPGAs), a group
of processing components, or other suitable processing components.
The processor 306 may be configured to execute computer code and/or
instructions stored in the memory 308 or received from other
computer readable media (e.g., CDROM, network storage, a remote
server, etc.).
[0045] The memory 308 can include one or more devices (e.g., memory
units, memory devices, storage devices, etc.) for storing data
and/or computer code for completing and/or facilitating the various
processes described in the present disclosure. The memory 308 can
include random access memory (RAM), read-only memory (ROM), hard
drive storage, temporary storage, non-volatile memory, flash
memory, optical memory, or any other suitable memory for storing
software objects and/or computer instructions. The memory 308 can
include database components, object code components, script
components, or any other type of information structure for
supporting the various activities and information structures
described in the present disclosure. The memory 306 can be
communicably connected to the processor 306 via the processing
circuit 302 and can include computer code for executing (e.g., by
the processor 306) one or more processes described herein.
[0046] The memory 308 is shown to include an HVAC controller 320.
The HVAC controller 320 can be configured to control the HVAC
equipment 346. The HVAC equipment 346 can be the indoor unit 28
and/or the outdoor unit 30 as well as any industrial airside or
waterside system or other HVAC equipment. Examples of such
industrials systems can be found in detail in U.S. patent
application Ser. No. 15/338,215 filed Oct. 28, 2016, the entirety
of which is incorporated by reference herein.
[0047] The HVAC controller 320 may use any of a variety of control
algorithms (e.g., state-based algorithms, extremum-seeking control
algorithms, PID control algorithms, model predictive control
algorithms, feedback control algorithms, etc.) to determine
appropriate control actions for any HVAC equipment 346 connected to
the thermostat 10 as a function of temperature and/or humidity.
[0048] The HVAC controller 320 is shown to store values for the OAT
330 and the ZNT 332. Further, the HVAC controller 320 is shown to
store and/or determine, heating outputs 334 and cooling outputs
336. The heating outputs 334 may be commands to turn on one or more
heating states of the HVAC equipment 346. The heating outputs 334
may be first and second stage heating, e.g., W1 and W2. Similarly,
the cooling outputs 336 can be determined and/or stored by the HVAC
controller 320 for various cooling stages of the HVAC equipment
346. For example, the cooling stages may be Y1 and Y2. Various
other outputs can be determined and stored by the HVAC controller
320, for example, a fan output e.g., G, an auxiliary output, e.g.,
AUX, and/or any other output.
[0049] Based on the outputs for the HVAC equipment 346, the HVAC
controller 320 may include one or more output circuits of the
thermostat 10. The output circuits may be solid state switches,
relays, triacs, FET switches, BJT switches, etc. Based on which
heating or cooling stage that the HVAC controller 320 determines to
turn on or off to meet a setpoint (e.g., the heating outputs 334
and/or the cooling outputs 336), the output circuits can be
configured to cause the HVAC equipment 346 to be operated per the
outputs (e.g., the heating outputs 334 and the cooling outputs 336)
determined by the HVAC controller 320.
[0050] The memory 308 is shown to include an actual runtime circuit
314. The actual runtime circuit 314 is shown to determine and store
an actual runtime 322. The actual runtime 322 may be one or more
lengths of time that the HVAC controller 320 operates the HVAC
equipment 346. The actual runtime circuit 314 may include one or
more time keeping devices (e.g., 8-bit timers, 16-bit timers,
32-bit timers, etc.). When the HVAC controller 320 enables the HVAC
equipment 346 to either heat or cool, the actual runtime circuit
314 can be configured to record the length of time the equipment
was run, the starting and ending times of the run, etc. The actual
runtime 322 may indicate the amount of time that the HVAC equipment
346 was run for during particular year, month, week, day, hour,
and/or minute.
[0051] The memory 308 is shown to include a system identifier 310.
The system identifier 310 can be configured to generate and/or
store a plant model 324. The plant model 324 may be a thermal model
of a building that the thermostat 10 is associated with (e.g.,
located in and/or configured to control heating and/or cooling for)
and/or the HVAC equipment 346. The system identifier 310 can be
configured to receive various inputs (e.g., OAT 330 and/or ZNT 332)
from the HVAC controller 320 and/or various outputs (e.g., heating
outputs 334 and/or the cooling outputs 336) and determine the plant
model 324 based on said inputs and/or outputs. In some embodiments,
the system identifier 310 records a historical database of inputs
and outputs and trains the plant model 324 based on the historical
inputs and/or outputs.
[0052] The memory 308 is shown to include a control logic simulator
312. The control logic simulator 312 is shown to generate simulated
runtime 328 based on the plant model 324. The control logic
simulator 312 can determine, for various OAT 330 and/or ZNT 332
values and the plant model 324, an amount of time (simulated
runtime 328) that the thermostat 10 would run at for a particular
setpoint value (e.g., 70 degrees Fahrenheit, 72 degrees Fahrenheit)
without any occupancy detection, schedule setbacks, or other
thermostat features that reduce the amount of time that the HVAC
equipment 346 runs.
[0053] An energy savings circuit 316 is shown in FIG. 3A. The
energy savings circuit 316 can be configured to receive the
simulated runtime 328 from the control logic simulator 312 and the
actual runtime 322 from the actual runtime circuit 314,
respectively. The energy savings circuit 316 can be configured to
take the difference between the simulated runtime 328 and the
actual runtime circuit 314 to determine the hours saved 326. The
energy savings circuit 316 can store the hours saved 326 and/or
provide the hours saved 326 to the user interface controller 318
for display on the user interface 14.
[0054] The user interface controller 318 can be configured to cause
the user interface 14 to display various energy savings information
and/or allow the user to interact with the energy savings
information. The user interface controller 318 can be configured to
display various graphics, charts, and/or other indications of hours
saved 326 for various periods of time (e.g., hours, days, weeks,
months, years, etc.). In this regards, the user interface
controller 318 can be configured to store the hours saved 326 for
various hours, days, months, and/or years.
[0055] Referring now to FIG. 3B, the thermostat 10 is shown to
communicate with a remote device 352, according to an exemplary
embodiment. In FIG. 3B, the thermostat 10 may receive simulated
runtime 328 from the remote device 352 rather than determining the
simulated runtime 328 by itself. FIG. 3B is shown to include a
network 350. The remote device 352 may be a remote server or cloud
computing platform. In various embodiments, the remote device 352
is a smartphone, tablet, laptop computer, desktop computer, or any
other device configured to perform the functions of thermostat 10
(e.g., configured to implement the system identifier 310 and/or the
control logic simulator 312). In some embodiments, the remote
device 352 is an Android or Apple iOS based device including a
mobile application configured to allow the device to implement the
functionality of the thermostat 10 (e.g., configured to implemented
the system identifier 310 and/or the control logic simulator
312).
[0056] In some embodiments, network 350 may include the Internet
and/or other types of data networks, such as a local area network
(LAN), a wide area network (WAN), a cellular network, a satellite
network, or any other type of data network or combination thereof.
The network 350 may include any number of computing devices (e.g.,
computers, servers, routers, network switches, etc.) configured to
transmit, receive, or relay data. The network 350 may further
include any number of hardwired and/or wireless connections. For
example, the thermostat 10 may communicate wirelessly (e.g., using
a WiFi or cellular radio, etc.) with a transceiver that is
hardwired (e.g., via a fiber optic cable, Ethernet, a CAT5 cable,
etc.) to a computing device (e.g., the remote device 352) in
communication with the network 350. The network 350 may include
services that facilitate managing the wireless and/or wired
communication of devices connected to the network 350. Network
vendors may include, for example, cellular telecommunications
providers (e.g., Verizon, T-Mobile, AT&T, etc.) as well as
internet service providers.
[0057] In some embodiments, the thermostat 10 is configured to
transmit the OAT 330, the heating outputs 334, the ZNT 332, and/or
the cooling outputs 336 to the remote device 352 via the network
350. The thermostat 10 may send the data as historical data
entries, e.g., data for various points in time for a day, week,
month, or year. The remote device 352 can be configured to receive
the data and train the plant model 324 for the thermostat via the
system identifier 310. The remote device 352 can be configured to
generate the simulated runtime 328 by running the plant model 324
with the control logic simulator 312.
[0058] The remote device 352 can be configured to transmit the
simulated runtime 328 to the thermostat 10. The thermostat 10 can
be configured to receive the simulate runtime 328 from the remote
device 352 via the network 350 and determine the hours saved 326
based on the received simulated runtime 328.
[0059] Referring now to FIG. 4, a block diagram of an energy
savings model 400 illustrating the energy savings determinations of
the thermostat 10 of FIG. 3A (or the remote device 352 of FIG. 3B)
is shown, according to an exemplary embodiment. In general, the
energy savings model 400 can approximate the energy saved by the
use of the thermostat 10's auto-away (e.g., occupancy detection),
scheduling features, and/or any other feature, which allows the
thermostat 10 to reduce the runtime of the HVAC equipment 346. The
thermostat 10 operating at a predefined setpoint (e.g., a 70 degree
setpoint) may be used for the baseline comparison of the energy
model 400.
[0060] The energy savings model 400 outputs the hours of run time
saved (e.g., hours saved 326) by various energy savings features of
the thermostat 10. The input to the energy savings model 400 (e.g.,
the inputs and outputs 402) can be various inputs e.g., control
outputs (e.g., the heating outputs 334 and the cooling outputs 336)
and/or various inputs (e.g., the OAT 330 and/or the ZNT 332). The
energy savings model 400 can performs a system identification
(e.g., generate the plant model 324) based on the input output data
402. The plant model 324 can be fed to an internal clone of the
control logic of the thermostat 10 (e.g., fed into control logic
simulator 312). The logic clone can then determine the simulated
runtime 328. The energy savings (in hours), e.g., the hours saved
326, can then be determined by subtracting a given day's daily run
time (e.g., actual runtime 322) from the simulated runtime 328.
[0061] The energy model 400 may assume that the temperature in a
house, apartment, and/or room can be modeled by the system
identifier 310 via the plant model 324 based on Equation 1,
T.sub.ZNT=T.sub.HVAC+T.sub.OAT+T.sub.D (Equation 1)
where T.sub.ZNT is the zone temperature measured by a temperature
sensor (e.g., the temperature sensor 344), T.sub.HVAC is a
temperature influence of the HVAC system, T.sub.OAT is the outdoor
air temperature (e.g., measured by the temperature sensor 344), and
T.sub.D represents internal temperature disturbances. The T.sub.D
disturbances may include heat generated by electrical load, human
body heat, solar radiance and other factors. T.sub.HVAC and T.sub.D
shall be discussed in further detail below, respectively.
Determination of T.sub.HVAC Dynamics Through System
Identification
[0062] The value of T.sub.HVAC may be dependent on a particular
HVAC system (which may not be known to the thermostat 10). This
system, for simplicity, may be assumed to be a linear time
invariant system of some arbitrary order. The current value of
T.sub.HVAC may be dependent on past values of U.sub.HVAC (e.g., the
heating outputs 334 and/or the cooling outputs 336) as well as
inputs such as whether the HVAC system is operational or not. The
plant model 324 can be learned over time by the system identifier
310 observing and recording past inputs and outputs of the system.
A transfer function representation of this system (e.g., plant
model 324) can be Equation 2,
H ( z ) = T HVAC ( z ) U HVAC ( z ) = b 1 z - 1 + b 2 z - 2 + b 3 z
- 3 1 + a 1 z - 1 + a 2 z - 2 + a 3 z - 3 ( Equation 2 )
##EQU00001##
where a and b represent transfer function coefficients that reflect
the nature of the system. This transfer function can be rewritten
in a one step ahead prediction form of Equation 3,
T.sub.HVAC(k+1)=-a.sub.1T.sub.HVAC(k)-a.sub.2T.sub.HVAC(k-1)-a.sub.3T.su-
b.HVAC(k-2) . . .
+b.sub.1U.sub.HVAC(k)+b.sub.2U.sub.HVAC(k-1)+b.sub.2U.sub.HVAC(k-2)
(Equation 3)
In some embodiments, the system identifier 310 can use Equation 3
to estimate T.sub.HVAC while concurrently estimating T.sub.D using
one of the equations discussed below, for example, Equation 31.
[0063] Taking the Jacobian, with respect to the parameters, of data
from the plant model 324 would be Equation 4,
( Equation 4 ) ##EQU00002## J = [ T HVAC ( k - 1 ) T HVAC ( k - 2 )
T HVAC ( k - 3 ) U HVAC ( k - 1 ) U HVAC ( k - 2 ) U HVAC ( k - 3 )
T HVAC ( k - 2 ) T HVAC ( k - 3 ) T HVAC ( k - 4 ) U HVAC ( k - 2 )
U HVAC ( k - 3 ) U HVAC ( k - 4 ) T HVAC ( k - 3 ) T HVAC ( k - 4 )
T HVAC ( k - 5 ) U HVAC ( k - 3 ) U HVAC ( k - 4 ) U HVAC ( k - 5 )
T HVAC ( n - 1 ) T HVAC ( n - 2 ) T HVAC ( n - 2 ) U HVAC ( n - 1 )
U HVAC ( n - 2 ) U HVAC ( n - 3 ) ] ##EQU00002.2##
[0064] This Jacobian is for a series of n samples with respect to
the parameter. Given this, one can solve for the optimal parameters
(in the L2 norm sense) through the normal equation, Equation 5,
[-a.sub.1,-a.sub.2,-a.sub.3, . . . ,b.sub.1,b.sub.2,b.sub.3, . . .
]=(J.sup.TJ).sup.-1J.sup.TT.sub.HVAC (Equation 5)
[0065] However, this application is not possible because
T.sub.HVAC, or the effect of the HVAC system, may not be directly
measurable. T.sub.HVAC can be calculated by Equation 6,
T.sub.HVAC=T.sub.ZNT-T.sub.OAT-T.sub.D (Equation 6)
[0066] However, T.sub.D is also not measured and is unknown. As a
result, this problem is a nonlinear least squares problem. In this
case, the disturbance can be approximated by a time varying
polynomial. A cubic polynomial can be selected in order to allow
the model sufficient ability to change over the course of a
day.
T.sub.D=c.sub.3t.sup.3+c.sub.2t.sup.2+c.sub.1t+c.sub.0 (Equation
7)
[0067] Next, the model parameters .theta. can be defined as in
Equation 8,
.theta.=[-a.sub.1,-a.sub.2,-a.sub.3, . . .
,b.sub.1,b.sub.2,b.sub.3, . . . ,c.sub.3,c.sub.2,c.sub.1,c.sub.0]
(Equation 8)
[0068] To solve this, a non-linear-least-square (NLSQ) method can
be used such as the Levenberg Marquadrt algorithm. This algorithm
iteratively solves using the following calculations in Equations
9-16,
= 10 - 10 ( Equation 9 ) r k = T ^ ZNT - T ZNT ( Equation 10 ) J k
= r ( .theta. k + ) - r ( .theta. k ) ( Equation 11 ) p k = ( J k T
J k + .lamda. k I ) - 1 J k T r k ( Equation 12 ) if ( r k (
.theta. k ) > r k ( .theta. k + p k ) ) ( Equation 13 ) .theta.
k + 1 = .theta. k + p k ( Equation 14 ) .lamda. k + 1 = .lamda. k
0.1 else ( Equation 15 ) .lamda. k + 1 = .lamda. k 10 ( Equation 16
) ##EQU00003##
[0069] The following Equations define the parameters of Equations
9-16,
k=Iteration Step (Equation 17)
.theta.=Parameters (Equation 18)
=Jacobian Precision (Equation 19)
T.sub.ZNT=Measured Temperature (Equation 20)
{circumflex over (T)}.sub.ZNT=Estimated Temperature (Equation
21)
r.sub.k=Residual Vector (Equation 22)
J.sub.k=Finite Difference Jacobian (Equation 23)
p.sub.k=Step (Equation 24)
.lamda..sub.k=Damping Parameter (Equation 25)
[0070] This algorithm can be run a fixed number of iterations to
give it consistent runtime characteristics.
Initial Guess of .theta..sub.0
[0071] Since this problem is a non-linear estimation problem, it is
non convex and requires an initial guess of .theta. which is
annotated as .theta..sub.0. Unfortunately, the performance and
success of most non-linear estimation problems are highly dependent
on the initial guess. Consequently, an intelligent guess of
.theta..sub.0 may be required in order for this algorithm to work.
Ideally the a, b parameters could be solved initially through least
squares. This may be dangerous because it can result in an unstable
system. Consequently, T.sub.HVAC can be calculated in such a way to
ensure the model stability. A different calculation method can be
used if the model (e.g., the plant model 324) is of a HVAC heating
system (Equation 26) or an HVAC cooling system (Equation 27),
T.sub.HVAC.sub.0.sub.Heating=T.sub.ZNT-T.sub.OAT-min(T.sub.ZNT-T.sub.OAT-
) (Equation 26)
T.sub.HVAC.sub.0.sub.cooling=T.sub.ZNT-T.sub.OAT-max(T.sub.ZNT-T.sub.OAT-
) (Equation 27)
[0072] Then the initial a, b parameters can be calculated with the
normal equation, Equation 28,
[-a.sub.1,-a.sub.2,-a.sub.3, . . . ,b.sub.1,b.sub.2,b.sub.3, . . .
].sub.0=(J.sup.TJ).sup.-1J.sup.TT.sub.HVAC.sub.0 (Equation 28)
[0073] For the initial guess of disturbance related parameters, for
simplicity, it can be assumed initially to be constant.
Consequently, c.sub.0 of Equation 28 is the only parameter that
needs to be calculated, which can include:
c.sub.0 Heating=min(T.sub.ZNT-T.sub.OAT) (Equation 29)
c.sub.0 Cooling=max(T.sub.ZNT-T.sub.OAT) (Equation 30)
[0074] Using these equations for initial guesses helps ensure
convergence to a reasonable result that is stable. After collecting
day(s) worth of data (e.g., collecting OAT 330, ZNT 332, heating
outputs 334, and/or cooling outputs 336), the above procedure can
be performed by the system identifier 310 to determine the plant
model 324. This plant model 324 can then be controlled by the
control logic simulator 312 to create a baseline of what a typical
thermostat 10 would have used in the environment modeled by the
plant model 324.
Kalman Identification of T.sub.D
[0075] Since T.sub.D, the temperature disturbance, varies day to
day, the T.sub.D of yesterday is not necessarily applicable for the
next day. Consequently, T.sub.D must be constantly estimated for
the plant model 324 on a given day by the system identifier 310. A
good general purpose estimator is the Kalman filter. The OAT 330 as
well as the previously identified plant model (e.g., a plant model
324 for a previous day) can be used by the system identifier 310 to
identify T.sub.D. However, in order to use a Kalman filter, the
plant model 324 can be converted to state space. The following
Equation can used to convert the transfer function model to state
space,
A = ( - a 1 1 0 0 0 - a 2 0 1 0 0 0 0 0 a n - 1 0 1 0 - a n 0 0 0 0
0 0 0 0 ) Kalman identified Parameters , B = ( b 1 - a 1 b 0 b 2 -
a 2 b 0 b n - 1 - a n - 1 b 0 b n - a n b 0 0 ) , X = ( T HVAC ( k
) T HVAC ( k + 1 ) T HVAC ( k + n ) T D _ ) C = ( 1 0 0 ) (
Equation 31 ) ##EQU00004##
[0076] When the Kalman filter operates on live data, it estimates
the T.sub.D which actively accounts for temperature disturbance
during a given day.
[0077] Referring again to FIG. 3A, the system identifier 310 can be
configured to reject data to model the plant model 324 in response
to insufficient excitation (operation) of the HVAC equipment 346.
In this regard, the system identifier 310 can be configured to
record the length of time that the HVAC equipment 346 is operated
by the HVAC controller 320. In response to determining that the
HVAC equipment 346 has operated for a time greater than a
predetermined amount, the system identifier 310 can use recorded
data (e.g., OAT 330, ZNT 332, heating outputs 334, and/or cooling
outputs 336), to train the plant model 324. However, if the
operation time is less than the predetermined amount, the system
identifier 310 can be configured to not use the recorded data and
can skip training the plant model 324 for that particular day.
[0078] In some embodiments, OAT 330 is not present or reliable
i.e., the temperature sensor 344 is not properly reading
temperature or a network connection over which the thermostat 10
receives the OAT 330 is not available. Any heating outputs 334
and/or cooling outputs 336 used to train the system plant model 324
may be ignored by the system identifier 310. Further, data for the
entire day where OAT 330 is unavailable or unreliable may be
ignored.
[0079] The plant model 324 can be generated for any kind of
environment with any kind of equipment controlling the environment.
For example, the heating outputs 334 and the cooling outputs 336
may be outputs for single-stage or multi-stage equipment, air
conditioners, furnaces, heat pumps, industrial airside systems, VAV
systems, for VFR systems, for waterside systems, etc.
[0080] In some embodiments, the system identifier 310 stores
multiple plant models 324. For example, if the environment
controlled by the thermostat 10 has heating and cooling systems,
the system identifier 310 can be configured to generate a heating
system plant model and a cooling system plant model and use the
heating system plant model and the cooling system model when the
thermostat 10 is heating or cooling respectively. Further, the
system identifier 310 can be configured to generate thermal models
specifically for heat pumps. For example, the system identifier 310
can be configured to generate a plan model for the heat pump when
the reversing valve of the heat pump causes the heat pump to
operate as an air conditioner. Further, the system identifier 310
can be configured to generate second plant model for the heat pump
when the reversing valve of the heat pump causes the heat pump to
operate as a heat pump. These various models can be updated over
time, providing that each day of data recorded meets the various
requirements of sufficient runtime of the HVAC equipment 346 and
reliability of the OAT 330.
[0081] The system identifier 310 can be configured to determine
whether the plant model 324 (or any number of plant models stored
by the system identifier 310) is stable or unstable. If the model
is unstable, it may be discarded and a new model may be trained. In
some embodiments, the system identifier 310 can be configured to
use the NLSQ algorithm modified to be based on a L1-norm as opposed
to the traditional L2-norm in order to better reject outliers.
[0082] Referring now to FIG. 5, chart 500 illustrates an example of
the plant model 324, according to an exemplary embodiment. In chart
500, the system identification process that can be performed by the
system identifier 310 is shown identifying a plant model 324 for a
real world home. The resulting disturbance 502 (T.sub.D) and
simulated temperature 506 (the simulated temperature of the plant
model 324, {circumflex over (T)}.sub.ZNT) are shown below as well
as the actual temperature 504 for that day (the ZNT 332).
[0083] Referring now to FIG. 6, chart 600 illustrates the plant
model 324 being simulated by the control logic simulator 312,
according to an exemplary embodiment. The chart 600 illustrates the
system identification process (e.g., the system identifier 310
training the plant model 324) and feeding the model into the
simulated control loop (e.g., the control logic simulator 312).
[0084] Referring now to FIG. 7, an interface 700 that the user
interface controller 318 can cause the user interface 14 to display
is shown, according to an exemplary embodiment. The user interface
700 illustrates days of a week and hours of runtime on a x-axis and
a y-axis. Interface 700 illustrates the actual runtime (e.g., the
actual runtime 322) for each day in a first color (light green) and
illustrates the simulated runtime (e.g., the simulated runtime 328)
for each day in grey.
Energy Savings Interfaces
[0085] Referring generally to FIGS. 8-28, user interfaces for
displaying energy savings to a user via the user interface 14,
according to various exemplary embodiments. The user interface
controller 318 can be configured to generate the user interfaces
shown in FIGS. 8-24 and cause the user interface 14 to display the
user interface, and users to interact with the user interfaces.
[0086] Referring now to FIG. 8-14, user interfaces for a coachmarks
process that the user interface controller 318 can be configured to
perform are shown. The coachmarks process may be part of a startup
wizard that walks a user through various features of the thermostat
10 when the user first installs and powers on the thermostat 10. In
some embodiments, the coachmarks process first occurs when the user
accesses the energy savings features of the thermostat 10 via the
user interface 14.
[0087] Referring now to FIG. 8, interface 800 illustrates a first
interface of the coachmarks process. The first time a user enters,
via the user interface 14, the energy savings information of the
thermostat 10, the user interface controller 318 can be configured
to cause interface 800 to be displayed. If the user presses the
"Get Started" button of interface 800, the coachmarks process may
begin (e.g., the user interface controller 318 may cause user
interface 900 or 1000 to be displayed). If the user presses the
arrow button of interface 800, the user interface controller 318
may navigate the user to a "Quick View" interface (e.g., a
homescreen). The coachmarks process may not be skippable if the
user is running the coackmarks process for a first time. The
coackmarks can be restarted at any time from a settings menu
interface of the thermostat 10.
[0088] Referring now to FIG. 9, an interface 900 is shown for
informing the user of the current network connection of the
thermostat 10. If the thermostat 10 connects to a wireless network
(e.g., a Wi-Fi network), and the thermostat 10 experiences a drop
in connectivity or if a user attempts to access the energy savings
displays of the thermostat 10 without the thermostat 10 being
connected to the wireless network, the user may be informed via
interface 900 that the thermostat 10 is offline and they max
experience limited feature functionality of the energy savings
display. If the user presses the continue button, the user may be
navigated to the user interface 1000.
[0089] Referring now to FIG. 10, a user interface 1000 is shown
introducing a user to the two axis of the energy savings graph. The
horizontal axis may be a day while the vertical axis may be the
number of hours that the thermostat 10 has run the HVAC equipment
346 as compared to a simulated runtime. If the user presses the
next button, the user may be navigated to the next tip e.g., the
user interface 1100.
[0090] Referring now to FIG. 11, a user interface 1100 displays
energy savings with a line connecting one or more data points, the
runtime for various days. The user interface 1100 illustrates the
energy usage of thermostat 10 to a user by referencing the line. If
the user presses the next button, the user may be navigated to a
user interface 1200.
[0091] Referring now to FIG. 12, a user interface 1200 displays the
standard hours of runtime for the thermostat 10. The standard
thermostat runtime may be an estimate (e.g., the simulated runtime
328) of the energy usage (e.g., runtime) of the standard energy
usage of the thermostat 10. If the user presses the next button of
the interface 1100, the user may be navigated to the user interface
1300.
[0092] Referring now to FIG. 13, a user interface 1300 is shown
which indicates where extra energy was saved by the thermostat 10
via lightning bolts. These locations of extra energy savings
lightning bolts may be located on days where the runtime of the
HVAC equipment 346 was particularly low (e.g., lower than a
predefined amount or a predefined amount lower than the baseline
runtime). If the user presses the next button, the user may be
navigated to the user interface 1400.
[0093] Referring now to FIG. 14, a user interface 1400 is shown
which instructs a user how to interact with a particular day to
view more energy usage information for the particular day. If the
user presses the done button, the coachmarks process is complete
and the user will be directed to a week view interface, e.g., the
user interface 1500. Once the user presses the done button, they
will not be taken through the coachmarks process again the user
attempts to interact with the energy savings feature a second time.
If the thermostat 10 crashes or reboots before the user presses the
done button, the user should restart the coachmarks process from
the beginning of the touch the next time they interact with the
energy savings feature.
[0094] Referring now to FIG. 15, a week view interface 1500 is
shown, illustrating energy usage of the thermostat 10 for a
particular week, according to an exemplary embodiment. The
interface 155 can display a rolling sum of energy savings hours for
each day over the past seven days. The user can compare usage
between their systems actual runtime and an estimate of the runtime
of the thermostat 10. If the user presses the arrow, the user is
navigated to a quick view interface (e.g., a homescreen).
[0095] If the user presses a particular day of the interface 1500,
e.g., Friday the 18.sup.th, the user will be navigated to a user
interface corresponding to the energy usage of that particular day.
Interface 1600 is a day view illustrating the energy usage of a
particular day, Friday the 18.sup.th. The lightning bolts shown in
interface 1500 marks where very low amounts of energy (e.g., low
amounts of equipment runtime) are consumed. The lightning bolt may
indicate where an "auto away" energy savings feature is activated
by the thermostat 10. The auto away energy savings feature may
cause the thermostat 10 to operate in a particular low energy usage
mode when no users are detected in an environment associated with
the thermostat 10 for a predefined amount of time.
[0096] In some embodiments, the thermostat 10 receives the energy
usage information to be displayed in user interface 1500 from a
mobile application, a remote server, and/or any other remote
computing device. In this regard, the interface 1500 may only be
available to a user if the user if the thermostat 10 is connected
to a network connection by which the thermostat 10 can retrieve the
energy usage information.
[0097] Referring now to FIG. 16, a day view interface 1600 is shown
illustrating the energy usage of the thermostat 10 for a particular
day selected by the user via the week view interface 1500. When the
user taps on a specific day of the week view interface 1500, the
user will be navigated to a detailed view of the tapped day. The
user can view the wake and sleep times of the thermostat 10,
scheduled events, and auto away events. If the user comes home
early during an away event, the interface 1600 may display an
occupancy block on top of the away event. The away event hours
saved may be updated based on the occupancy detection.
[0098] Referring now to FIG. 17, another week view interface 1700
is shown, according to an exemplary embodiment. The interface 1700
indicates where energy usage of the thermostat 10 exceeded the
baseline amount, i.e., the actual runtime of the thermostat 10 was
greater than the simulated runtime. The interface 1700 may indicate
days with high energy usage (e.g., days where the actual runtime
exceeds the simulated runtime) as yellow.
[0099] Referring now to FIG. 18, an interface 1800 is shown
allowing a user to swipe the interface 1800 horizontally to view
various days of a week and the energy savings for each day. A user
can view various days of a particular month or months. The text
displaying hours of energy savings may disappear in response to a
user swiping left or right in interface 1800.
[0100] Referring now to FIG. 19, another week view interface 1900
is shown, according to an exemplary embodiment. The interface 1900
illustrates energy usage of the thermostat 10 for a week but does
not display the baseline runtimes. The interface 1900 may be
displayed on the thermostat 10 when the thermostat 10 is not
connected to a Wi-Fi network and the thermostat receives the
baseline runtimes via the Wi-Fi network from a remote device. The
network symbol with an exclamation point may indicate that the
energy savings feature of the thermostat 10 does not have wireless
connection.
[0101] Referring now to FIG. 20, a day view interface 2000
illustrates energy usage where the thermostat 10 does not have Auto
Away enabled and there are no scheduled away events. Referring now
to FIG. 21, another day view interface 2100 illustrating a day
where Auto Away is disabled and there are no scheduled events
and/or the thermostat 10 has been running HVAC equipment all day,
i.e., no energy has been saved.
[0102] Referring now to FIG. 22, an information interface 2200 is
shown informing a user of the auto away feature. The interface 2200
can be navigated to from any day view interface that includes an
information button. The interface 2200 explains to a user how the
thermostat 10 saves energy and reduces equipment runtimes. The user
may be navigated to the interface 2200 if the user presses the
information button of interface 2000.
[0103] Referring now to FIG. 23, a user interface 2300 is shown for
informing a user how energy savings are determine for the
thermostat 10. A user may navigate to the interface 2300 by
pressing an information icon in one of the week view interfaces. If
the user swipes to the left on the interface 2300, the user can be
navigated to an interface 2400. Referring now to FIG. 24, the user
interface 2400 can provide a user with various tips on increasing
the amount of energy saved by the thermostat 10.
[0104] Referring now to FIG. 25, an interface 2500 is shown for
notifying a user of low energy savings, according to an exemplary
embodiment. If the thermostat 10 determines that the thermostat 10
is not saving at least a predefined amount of energy over a period
of a predefined amount of days, i.e., the thermostat 10 has run
equipment longer than a predefined amount of time, a notification
may appear in the form of the interface 2500 guiding the user
through steps to increase their energy savings.
[0105] Referring now to FIG. 26, an interface 2600 is shown for
providing a user with energy savings tips if their system has run a
predefined amount above a threshold amount for a predefined number
of days. The notification may inform the user of steps they can
take to increase their energy savings.
[0106] Referring now to FIG. 27, a user interface 2700 is shown
illustrating a day view, according to an exemplary embodiment. The
day view 2700 illustrates occupancy being detected midway during a
scheduled away event. The occupancy detection block appears over
the scheduled away event. The hours of energy saved can be updated
based on when occupancy is detected. The occupancy block indicates
zero hours of energy saved for a portion of the scheduled away
event.
[0107] Referring now to FIG. 28, a user interface 2800 is shown
illustrating a day view, according to an exemplary embodiment. The
day view 2800 illustrates occupancy being detected at the beginning
of a scheduled away event. The occupancy detection block shows zero
hours of energy saved for the entire scheduled away event.
Configuration of Exemplary Embodiments
[0108] The construction and arrangement of the systems and methods
as shown in the various exemplary embodiments are illustrative
only. Although only a few embodiments have been described in detail
in this disclosure, many modifications are possible (e.g.,
variations in sizes, dimensions, structures, shapes and proportions
of the various elements, values of parameters, mounting
arrangements, use of materials, colors, orientations, etc.). For
example, the position of elements may be reversed or otherwise
varied and the nature or number of discrete elements or positions
may be altered or varied. Accordingly, all such modifications are
intended to be included within the scope of the present disclosure.
The order or sequence of any process or method steps may be varied
or re-sequenced according to alternative embodiments. Other
substitutions, modifications, changes, and omissions may be made in
the design, operating conditions and arrangement of the exemplary
embodiments without departing from the scope of the present
disclosure.
[0109] The present disclosure contemplates methods, systems and
program products on any machine-readable media for accomplishing
various operations. The embodiments of the present disclosure may
be implemented using existing computer processors, or by a special
purpose computer processor for an appropriate system, incorporated
for this or another purpose, or by a hardwired system. Embodiments
within the scope of the present disclosure include program products
comprising machine-readable media for carrying or having
machine-executable instructions or data structures stored thereon.
Such machine-readable media can be any available media that can be
accessed by a general purpose or special purpose computer or other
machine with a processor. By way of example, such machine-readable
media can comprise RAM, ROM, EPROM, EEPROM, CD-ROM or other optical
disk storage, magnetic disk storage or other magnetic storage
devices, or any other medium which can be used to carry or store
desired program code in the form of machine-executable instructions
or data structures and which can be accessed by a general purpose
or special purpose computer or other machine with a processor. When
information is transferred or provided over a network or another
communications connection (either hardwired, wireless, or a
combination of hardwired or wireless) to a machine, the machine
properly views the connection as a machine-readable medium. Thus,
any such connection is properly termed a machine-readable medium.
Combinations of the above are also included within the scope of
machine-readable media. Machine-executable instructions include,
for example, instructions and data which cause a general purpose
computer, special purpose computer, or special purpose processing
machines to perform a certain function or group of functions.
[0110] Although the figures show a specific order of method steps,
the order of the steps may differ from what is depicted. Also two
or more steps may be performed concurrently or with partial
concurrence. Such variation will depend on the software and
hardware systems chosen and on designer choice. All such variations
are within the scope of the disclosure. Likewise, software
implementations could be accomplished with standard programming
techniques with rule based logic and other logic to accomplish the
various connection steps, processing steps, comparison steps and
decision steps.
* * * * *