Patent application title:

DYNAMIC TEMPERATURE COMPENSATION FOR THERMOSTATS

Publication number:

US20260043570A1

Publication date:
Application number:

18/800,825

Filed date:

2024-08-12

Smart Summary: A new method helps thermostats get more accurate temperature readings. It does this by adjusting for the heat produced by the thermostat's own parts when they are turned on. Each part generates heat that can affect the temperature reading. By knowing which parts are active and for how long, the thermostat can calculate a corrected temperature. This leads to better control of heating and cooling in a space. 🚀 TL;DR

Abstract:

A method and apparatus for automatically compensating ambient air temperature readings observed by a thermostat. Internal, active components of a thermostat are individually activated, based on an operating state of a thermostat. Each of the active components generates heat that interferes with ambient air temperature readings. A compensated ambient air temperature reading is calculated by knowing which active components are active during particular operating states of the thermostat and, in some cases, how long each active component has been active.

Inventors:

Applicant:

Interested in similar patents?

Get notified when new applications in this technology area are published.

Classification:

F24F11/64 »  CPC main

Control or safety arrangements characterised by the type of control or by internal processing, e.g. using fuzzy logic, adaptive control or estimation of values; Electronic processing using pre-stored data

F24F2110/10 »  CPC further

Control inputs relating to air properties Temperature

Description

BACKGROUND

I. Field of Use

The present application relates generally to the heating, ventilation and air conditioning arts. More specifically, embodiments of the present invention relate to thermostats and a method and apparatus for dynamically compensating ambient air temperature readings.

II. Description of the Related Art

Thermostats are used to control heating, ventilation, and air conditioning (HVAC) equipment, such as central air conditioners and central heaters, to adjust room temperatures to desired user settings.

Thermostat technology has advanced over the decades, initially using mercury-based switches to modern thermostats using computer technology to define setpoints, digitally control HVAC systems, and allow remote control and remote monitoring. Modern thermostats typically comprise a temperature sensing component inside the thermostat for measuring the ambient air temperature. Obtaining accurate ambient air temperature readings are essential to proper operation of a thermostat.

With the advancement of thermostat technology, modern thermostats typically comprise a number of advanced components that generate heat when active. For example, modern thermostats may use bright, LED displays and backlighting, may contain one or more power-intensive microprocessors, microcontrollers, custom ASICs, etc., may contain high-performance radios, power regulation circuitry, etc. The heat generated by these components, and the fact that temperature sensors are typically contained in a body of thermostats, may affect a thermostat's ability to accurately measure the ambient air temperature surrounding a thermostat. New designs are getting smaller and more densely packaged, further exacerbating this problem. Further problematic is the fact that these active components may generate varying amounts of heat depending on a state of operation of a thermostat, and that each component is typically independent of other component's activity.

For example, while idle, a thermostat may use minimal current, where measurements of the ambient air temperature are minimally affected. When a user approaches the thermostat and interacts with it, the thermostat may activate a display screen and enter an active mode of operation, placing a microprocessor in an active state. The display screen and the microprocessor each generate heat, which may be additive, and affect the thermostat's ability to measure the ambient air temperature accurately.

As another example, a user may wish to remotely control a thermostat by turning on the air conditioning before the user arrives home after work. In this example, the thermostat may receive a wireless command to turn on the air conditioning. In response, a microprocessor may be placed into an active state of operation, while radio circuitry is also activated, in order to send and receive further wireless communication signals during this time. While a display of the thermostat may not be activated during remote control operation, the microprocessor and radio circuitry may generate enough heat to affect the accuracy of measuring the ambient air temperature. Typically, the heat generated by the microprocessor and the radio circuitry is far less than the heat generated by a typical display screen, and so the accuracy of measuring the ambient air temperature may be affected in some cases much more than others.

SUMMARY

Embodiments of the present invention are directed towards a method and apparatus for dynamically compensating ambient air temperature readings by a thermostat. In one embodiment, a method is described, comprising determining an ambient air temperature, determining an operating state of a heat-producing, internal component of the thermostat and adjusting the ambient air temperature based on the operating state of the internal component to produce a compensated ambient air temperature.

In another embodiment, a thermostat is described, comprising a temperature sensor, a heat-producing, internal component, a memory for storing processor-executable instructions, and a processor, coupled to the temperature sensor, the heat-producing, internal component in the memory, for executing the processor-executable instructions that cause the processor to determine an ambient air temperature, determine an operating state of a heat-producing, internal component of the thermostat and adjust the ambient air temperature based on the operating state of the internal component to produce a compensated ambient air temperature.

BRIEF DESCRIPTION OF THE DRA WINGS

The features, advantages, and objects of the present invention will become more apparent from the detailed description as set forth below, when taken in conjunction with the drawings in which like referenced characters identify correspondingly throughout, and wherein:

FIG. 1 is a top, plan view of a thermostat in accordance with the inventive principles described herein, with its cover removed, displaying a variety of components that comprise the thermostat;

FIG. 2 is a functional block diagram of one embodiment of the thermostat show in FIG. 1; and

FIGS. 3A and 3B illustrate a flow diagram of one embodiment of a method, performed by the thermostat of FIGS. 1 and 2, for dynamically compensating ambient air temperature readings based on the activity of active electronic components of the thermostat.

DETAILED DESCRIPTION

Embodiments of the present invention are directed towards an improved thermostat for compensating ambient air temperature readings as a result of heat produced by internal electrical components of a thermostat. Ambient air temperature readings are adjusted based on thermal characteristics of active components as they are turned on and off within a thermostat. Adjustments are made based on thermal specifications of the components and, in some cases, a rate of thermal change as components are activated and deactivated. The embodiments described herein improve the functionality of thermostats by providing more accurate ambient temperature readings.

FIG. 1 is a top, plan view of a thermostat 100 in accordance with the inventive principles described herein, with its cover removed, displaying a variety of components that comprise thermostat 100. Shown is display 102, combined main processor 104 and memory 112, power regulator 106, radio 108, thermal sensor 110 and one or more HVAC-capable relays 114, i.e., typically solid state or switched relays capable of carrying more than 500 mA. Each of the components listed above may produce thermal energy, i.e., heat, when activated, and in many cases, the heat produced by each component may vary, depending on an operating state of thermostat 100 and a length of time that each component has been activated.

Display 102 comprises an electronic display screen for conveying information to a user of thermostat 100, such as a current ambient temperature, a current setpoint temperature, time of day, etc. In some embodiments, display 102 comprises a touchscreen that also allows a user to enter information into thermostat 100, such as a number of setpoints, time of day, etc. One example of display 102 is a 4″ Full color Dot Matrix TFT IPS LCD touch screen sold by numerous manufacturers today. Such electronic displays may offer a variety of brightness settings that may be set manually by a user or automatically by main processor 104. While such advanced electronic displays produce vivid colors and high resolution, they often consume more energy and produce more heat than simple LCD displays.

Moreover, such high-end displays may have different operating modes, such as “active”, “not-active”, power saving, user-adjustable backlighting, etc., where the power consumption and heat generated by such displays may vary based on an operating state or condition of the display, as well as a length of time that a display has been activate in any of the operating states or conditions. For example, display 102 may be placed into a quiescent mode, or completely deactivated, when no user interactions are occurring, thus generating little or no heat. When an interaction with a user begins, commonly by the user approaching or touching display 102, display 102 is activated and may enter a bright mode or a dim mode, depending on ambient lighting conditions. In the dim mode, display 102 may generate heat, ramping from a first, lower heat level to a second, higher heat level over a relatively short timeframe, such as one minute. In the bright mode, such as when a backlight of display 102 is fully energized, display 102 may generate a second heat profile, ramping from the first, lower heat level to second, higher heat level (greater than the higher heat level achieved in the dim mode) over a second, relatively short timeframe, such as 90 seconds. In some embodiments, users may be able to manually adjust the brightness level of display 102.

After a user interaction is over, display 102 is typically placed into a quiescent state or deactivated completely. In the quiescent state, a backlight of display 102 may be dimmed or turned off completely. After display 102 has entered the quiescent state or deactivated completely, display 102 cools in accordance with a temperature profile of display 102 after power consumption has been reduced or completely eliminated. This temperature profile may be affected by a variety of factors, such as how hot display 102 becomes in either the bright or dim modes, a proximity to other active components, a proximity to thermal sensor 110, airflow within thermostat 100, etc.

Main processor 104 controls functionality of thermostat 100, such as determining ambient air temperatures and controlling external HVAC equipment based on the current ambient air temperature and preprogrammed setpoints. In many embodiments, main processor 104 may be kept in a low-power, quiescent state, where power consumption and heat generation are at a minimum. However, main processor 104 may be placed into a fully-operational, active state and generate heat over time until it reaches a maximum operating temperature, typically over a short time period, such as 30 seconds.

Power regulator 106 and radio 108 may each comprise active components of thermostat 100, and each component may generate heat when it is active. Heat generated by power regulator 106 may vary as various components of thermostat 100 are activated and deactivated as thermostat 100 performs its normal functions. Similarly, radio 108 may be placed in a quiescent state when thermostat 100 is not communicating wirelessly with a local-area network and activated when communications are needed. During the quiescent state, very little heat may be generated while in an active state, radio 108 may produce heat in accordance with a heat profile, reaching a maximum temperature in accordance with a manufacturer's specifications.

Relays 114 are used to control one or more external HVAC components, such as a central air conditioner, central heater, heat pump, etc. Typically, thermostat 100 comprises two or more of such relays and when energized, may affect the internal temperature of thermostat 100 adversely. Moreover, having two or more of such relays active at any given time may impact the internal heat sensed by thermal sensor 100 differently, i.e. as relays are activated as HVAC equipment stages from OFF to Stage 1 Cool or Stage 2 Cool, etc. This internal heat generated by relays 114 may be compensated by applying a temperature offset to the ambient air temperature reading sensed by thermal sensor 110 and main processor 104, either statically or on a dynamic basis, as will be explained in greater detail later herein.

Thermal sensor 110 comprises a sensor that provides electronic signals to main processor 104 in accordance with the ambient air temperature surrounding thermostat 100. Thermal sensor 110 may comprise one of a thermistor, a resistive temperature detector, a thermocouple, semiconductor-type apparatus, or other thermal or temperature sensors known in the art.

In order to counteract the thermal effects of active components within thermostat 100, main processor 104 may periodically calculate a temperature offset based on static temperature offsets assigned to one or more active components. In another embodiment, main processor 104 may calculate a dynamic temperature offset based on the operating state or conditions of thermostat 100 as a whole or the various active components of thermostat 100. The dynamic temperature offset may be based upon each components' thermal profile or thermal characteristics, i.e., a first temperature of a component in a quiescent state, a second temperature of a component in a fully-operable state, a time required for the temperature to rise from the quiescent state to the fully-operable state and, in some cases, a time required for the temperature of a component to fall from the second temperature to the first temperature when the component transitions between the fully-active state to the quiescent state. The dynamic temperature offset may further take into account each active component's relative location to thermal sensor 110 to determine how much of an effect each component has on the accuracy of ambient temperature readings. This may be deduced using empirical methods.

In one embodiment, the temperature offsets associated with two or more of the active components of thermostat 100 are combined, resulting in an overall temperature offset. The overall temperature offset may be static or dynamic. In this embodiment, a table of temperature offsets may be stored in a memory of thermostat 100, each temperature offset associated with thermostat 100 as a whole, a particular operating state of thermostat 100 and/or one or more active components. For example, when a user is interacting with thermostat 100, for example, by programming thermostat 100 with setpoint information, thermostat 100 may be considered to be in an active state as a whole, causing errors in ambient air temperature measurements due to the heat generated by the active components within thermostat 100. Therefore, a temperature offset may be stored in memory of thermostat 100 two offset these errors, for example, −3 degrees which, when added to an ambient air temperature reading taken by main processor 104 via thermal sensor 110, results in a compensated ambient air temperature profile matching an actual ambient air temperature.

Similarly, one or more of the active components within thermostat 100 may each be assigned a temperature offset, either static or dynamic, and stored in a memory of thermostat 100. When main processor 104 wishes to correct an ambient air temperature reading, it may retrieve a static or dynamic temperature offsets stored in the memory for each component that is active, and corrects the ambient air temperature reading with a temperature offset of each component in the active state.

In one embodiment, rather than using temperature offsets, main processor 104 may execute an algorithm that corrects ambient air temperature readings due to internal heat inside thermostat 100. In this embodiment, the algorithm may be initiated upon activation of one or more components of thermostat 100. The algorithm may be determined by observing the effects of internal heat generation over time as one or more components, or thermostat 100 as a whole, are activated. An exemplary algorithm will be described later herein.

FIG. 2 is a functional block diagram of one embodiment of thermostat 100, showing display 102, main processor 104, memory 112, power regulator 106, radio 108 temperature sensor 110 and relays 114 It should be understood that the components could be coupled to one another in a different way in other embodiments, and in some embodiments, some functionality has been omitted for purposes of clarity, such as an HVAC interface for sending commands to HVAC equipment coupled to thermostat 100.

Main processor 104 typically comprises one or more programmable microprocessors, microcomputers, microcontrollers, custom ASICs, System-on-Chips (SoCs), System-in-Packaging (SiP), or the like. Main processor 104 may be selected based on a variety of factors, including power-consumption, size, and cost.

Memory 112 is coupled to main processor 104, comprising one or more information storage devices, such as RAM, ROM, flash memory, or some other type of electronic, optical, or mechanical memory device(s). Memory 112 is used to store processor-executable instructions for operation of thermostat 100, as well as any information used by main processor 104, such as setpoint information, date, day and time of day information, static or dynamic temperature offsets, etc. It should be understood that memory 112 is non-transitory, i.e., it excludes propagating signals, and that memory 112 could be incorporated into main processor 104, for example, when main processor 104 is an SoC. It should also be understood that once the processor-executable instructions are loaded into memory 112, main processor 104 may become a specialized processor for dynamically compensating ambient air temperature readings by thermostat 100.

Power regulator 106 is coupled to the active components within thermostat 100, comprising circuitry for regulating power for consumption by the active components within thermostat 100, including transforming voltages from one voltage to another, rectifying AC power waveforms, maintaining one or more DC outputs, etc. Power regulator 106 may generate a varying amount of heat in proportion to a load produced by the other components of thermostat 100 as the various components are energized/deenergized depending on various modes of operation of thermostat 100. Such power regulator circuitry is well-known in the art.

Radio 108 is coupled to main processor 104, comprising circuitry necessary to communicate wirelessly with a local-area network, such as a Wi-Fi, Zwave® or Zigbee® communication network where thermostat 100 is located. In some embodiments, radio 108 may comprise circuitry enabling thermostat 100 to communicate directly with other devices, such as RF or Bluetooth circuitry. Such radio circuitry is well known in the art.

Display 102, thermal sensor 110 and relays 114 are each coupled to main processor 104 and have been previously described.

FIGS. 3A and 3B illustrate a flow diagram of one embodiment of a method, performed by thermostat 100, for dynamically compensating ambient air temperature readings based on operating states of thermostat 100 as a whole, or based on operating states of various active electronic components of thermostat 100. It should be understood that the steps described in this method could be performed in an order other than what is shown and discussed and that some minor steps may have been omitted for clarity and simplicity.

At block 300, thermostat 100 may be provisioned with one or more static or dynamic temperature offsets associated with thermostat 100 as a whole while it is in a quiescent and/or an active state, one or more static or dynamic temperature offsets associated with thermostat 100 as a whole while it is in one or more other operating states, and/or one or more static or dynamic temperature offsets associated with one or more active components of thermostat 100 during various operating states of thermostat 100. The temperature offsets are stored in memory 200.

At step 302, thermostat 100 is operating normally, installed in a room of a home or business, with an actual ambient air temperature of 70 degrees Fahrenheit. Thermostat 100 is in a quiescent state, wherein a backlight of display 102 is off, main processor 104 and radio 108 are in either an “off” state or a quiescent state, each of these components drawing no, or minimum, power and each generating no, or a minimum, amount of heat.

At step 304, main processor 104 may determine the current ambient air temperature surrounding thermostat 100 using electrical signals from thermal sensor 110. In one embodiment, main processor 104 may briefly exit the quiescent state in order to make this determination. In this example, the actual ambient air temperature is 70 degrees but may processor 104 incorrectly determines in ambient air temperature of 71 degrees using signals received from thermal sensor 110.

At step 306, main processor 104 may determine an operating state of thermostat 100 as a whole, either by accessing memory 112 and reading a current operating state of thermostat 100, such as “quiescent”, “active”, “off”, “active-display max”, “active-display-med”, “active-display low”, “active-display at level X” (where X is some value between a minimum brightness and a maximum brightness, either in discreet or continuous levels) “active-radio on”, “active-radio on, display max”, etc.

At step 308, in one embodiment, when processor 104 determines that thermostat 100, as a whole, is in the quiescent state, (or has briefly exited the quiescent state in order to measure the current ambient air temperature), main processor 104 may determine that no adjustments are necessary to the current ambient air temperature reading, due to a predetermination that the active components of thermostat 100 do not change the ambient air temperature readings while thermostat is in a quiescent state. Continuing with the above example, processor 104 may indicate that the ambient air temperature is 71 degrees, 1 degree warmer than the actual ambient air temperature. A 1-degree temperature difference or less may be acceptable in some situations.

At step 310, in another embodiment after main processor 104 determines that thermostat 100, as a whole, is in the quiescent state, main processor 104 may adjust the current ambient air temperature reading by a fixed or dynamic temperature offset retrieved from memory 112. For example, main processor 104 may reduce the current ambient air temperature reading by a fixed, predetermined temperature offset as stored in memory 112 in association with thermostat 100 being in the quiescent state. For example, the total heat generated by all of the components of thermostat 100 while thermostat 100 is in the quiescent state may have been previously determined and stored in memory 112, in this example, an error of +1 degree is typically introduced into the current ambient air temperature reading. In this case, main processor 104 may look up a temperature offset in memory 112 to be used when thermostat 100 is in the quiescent state, in this case, −1 degrees. Main processor 104 may then alter the current ambient air temperature reading, in this example, by −1 degrees, resulting in a compensated ambient air temperature reading of 70 degrees, matching the actual ambient air temperature.

At step 312, main processor may, alternatively, adjust the current ambient air temperature reading dynamically over time, depending on a dynamic temperature offset of thermostat 100 as a whole in association with thermostat 100 entering or leaving the quiescent state from a different operating state. For example, main processor 104 may determine an ambient air temperature reading of 73°. In this example, the dynamic temperature offset of thermostat 100 may be defined as having a +5-degree effect on the ambient air temperature reading while thermostat 100 is in an active state, and after entering the quiescent state, decreasing to +1° after 20 minutes and remaining at that level thereafter. Thus, in this example, main processor 104 may determine that thermostat 100 is in the quiescent state having entered the quiescent state from an active state 10 minutes ago, based on the current time and a timestamp stored in memory 112 each time thermostat 100 changes to a different operating state. This allows main processor 104 to determine how long thermostat 100 has been in a particular state, which then allows main processor 104 to apply a proper offset to the current ambient air temperature reading depending on how long thermostat 100 has been in a present operating state. For example, using the same example above, if main processor 104 determines that thermostat 100 has been in the quiescent state for 10 minutes, it may extrapolate a temperature offset of −3° by taking the difference between the initial temperature offset and the final temperature offset, dividing by 2 and adding 1°, i.e., ((5−1)/2)+1=3°. Main processor 104 may then determine a compensated ambient air temperature reading by reducing the current ambient air temperature reading by 3°, resulting in the actual ambient air temperature of 70°.

In some embodiments, a dynamic temperature offset may comprise a series of discrete temperature offsets over time, such as −1 degree offset between a time zero and 30 seconds after entering the active state from the quiescent state, a −2 degree offset between 30 seconds and 1 minute after entering the active state, a −3 degree offset between 1 minute and 2 minutes after entering the active state, etc. In another embodiment, a dynamic, continuous temperature offset may comprise an initial and a final temperature offset, and a rate of offset change, such as −0.25 degrees per minute, up to 3 minutes (however, the rate may be non-linear in some cases). In this embodiment, main processor 104 may use a linear or non-linear extrapolation algorithm to estimate the desired temperature offset based on an amount of time that thermostat 100 has been in the active state. In some cases, the dynamic temperature offset may be logarithmic, when most of the internal heat is generated, for example, in the first 10 minutes after activation, tapering off for the next 20-30 minutes where it reaches an equilibrium. For example, if an initial temperature offset is −1 degrees and a final temperature offset is −5 degrees three minutes after entering the active state, and main processor 104 determines an ambient air temperature reading of 72.7 degrees, and that thermostat 100 has been in the active state for 2 minutes, then main processor 104 may calculate a compensated ambient air temperature reading of 70 degrees, matching the actual ambient air temperature in this example ((−5)−(−1))=−4; 2/3 minutes; temperature offset=(−4)×2/3=−2.7 degrees.

At step 314, main processor 104 may determine that thermostat 100 is in one or more predetermined, active operating states. Two or more active states may be defined. For example, a first active state may be defined as when a user is interacting with thermostat 100 via display 102 and a second active state may be defined as when information is being transmitted or received by radio 108 and display 102 is not being used.

At step 316, main processor 104 reduces the ambient air temperature reading, in this example, 74 degrees (where the actual ambient air temperature is 70 degrees), in accordance with the operating state of thermostat 100. For example, if only one active state is defined, main processor 104 may retrieve a temperature offset associated with the active state from memory 112, such as −4 degrees, to arrive at a compensated ambient air temperature reading of 70 degrees.

In an embodiment where two or more operating states are defined, main processor 104 may reduce the ambient air temperature reading in accordance with the particular operating state of thermostat 100. For example, if a user is interacting with thermostat 100 via display 102, the ambient air temperature reading may be 75 degrees, due to the increased thermal effects of display 102. Main processor 104 may retrieve a temperature offset associated with this operating state of, for example, −5 degrees from memory 112 to arrive at a compensated ambient air temperature reading of 70 degrees. If a user is not interacting with thermostat 100 via display 102, but radio 108 is active because thermostat 100 transmitting data to a remote entity, the ambient air temperature reading may be 73 degrees. Main processor 104 may retrieve a temperature offset associated with this operating state, in this example, −3 degrees from memory 112 to arrive at a compensated ambient air temperature reading of 70 degrees.

At step 318, the ambient air temperature reading may be statically or dynamically adjusted based on an operating state of one or more active components of thermostat 100 as they heat up after activation and cool down after deactivation. Such operating states may comprise “active”, “quiescent”, “off”, “high”, “medium”, “low”, etc.

At step 320, main processor 104 may determine an operating state of one or more predefined components of thermostat 100. Main processor 104 may make this determination based on an operating state of thermostat 100 as stored in memory 112 or by main processor 104 issuing commands to the various active components. For example, when main processor 104 determines that a message should be transmitted via radio 108, main processor 104 may cause radio 108 to exit a quiescent state and enter into an active state suitable for transmitting the message. After the message has been transmitted, main processor 104 may instruct radio 108 to enter into the quiescent state once again. Thus, main processor 104 knows which components are active or in another state.

At step 322, main processor 104 determines a temperature offset to apply to the ambient air temperature reading based on a static temperature offset stored in memory 112 associated with one or more of the active components of thermostat 100. For example, a static temperature offset may be associated with a single, high-power active component, such as display 102. When main processor 104 determines that the single, active component is in an active state, main processor 104 may retrieve the temperature offset associated with the particular active component, such as −4 degrees. Main processor 104 then adjusts the ambient air temperature reading, reducing it by 4 degrees, generating a compensated ambient air temperature reading. Conversely, after processor 104 transitions the predetermined active component into the quiescent, or off, state, main processor 104 may stop applying the temperature offset to the ambient air temperature reading or, in another embodiment, apply a different temperature offset associated with the predetermined active component being in the quiescent, or off, state. For example, main processor 104 may adjust the ambient air temperature reading by only −1 degrees after the predetermined active component is determined to be in the quiescent state.

In one embodiment, main processor 104 executes an algorithm, stored as processor-executable instructions in memory 112, for dynamically compensating the ambient air temperature reading as determined by main processor 104 via readings from thermal sensor 110. An example of one embodiment of such an algorithm is shown below:

    • c as current Minute, where 0≤c≤30
    • l as last_bl_offset
    • m as max_offset
    • b as backlightOffset
    • bllevel as the backlight level, where 0.0≤e≤1.0

The function blmaxoffset(bllevel) is defined as:

bl max ⁢ _ ⁢ offset ( bl level ) = ∑ i = 1 29 ( ( 0.295 × log ⁢ ( 1 i ) + 1.115 ) × ( 0.0625 × bl level ) )

For the original equation:

temp = ( ( 0.295 × log ⁢ ( 1 c ) ) + 1.115 ) × 0.0883846 × ❘ "\[LeftBracketingBar]" l - m ❘ "\[RightBracketingBar]"

The new value for backlightOffset is:

b ′ = { min ⁡ ( m , b + temp ) if ⁢ b < m max ⁡ ( 0. , b - temp ) if ⁢ b > m b otherwise

In this particular example, the above algorithm calculates a new temperature offset value once per minute for temperature changes caused by a single component of thermostat 100, such as display 102. While the following description is based on the thermal effect of a single active component of thermostat 100, in other embodiments, a similar algorithm could be used provide temperature compensation due to the thermal effects of two or more components, or even for thermostat 100 as a whole.

The above algorithm begins by calculating an expected maximum offset level m for a particular brightness level bllevel of display 102 (ranging from a normalized value c of 0 (minimum brightness) to 1 (maximum brightness)) over, in this example, 30 minutes, as the summation of results as i ranges from 1 to 29 in this example. In another embodiment, a table of maximum temperature offsets may be stored in memory 112 for each allowable brightness level. The coefficients in the summation algorithm above are typically predetermined empirically for each level of brightness of display 102.

Once m is known, starting at or about the time that display 102 is activated, a temperature offset temp is periodically calculated, such as once per minute, once every 30 seconds, once every 2 minutes, etc. In one embodiment, the calculation period changes as the brightness level is changed, i.e., as the brightness level is changed, the calculation period decreases in order to more accurately track the temperature change due to display 102 warming up.

During a first calculation of temp, the last backlight offset l is set to 0, or to a predetermined offset.

Next, a new temperature offset b′ is calculated depending on whether the current temperature offset b is greater than, less than or equal to the maximum temperature offset m. If the current temperature offset b is less than the maximum temperature offset m, then a new temperature offset b′ is the smaller of the maximum temperature offset and the sum of temp and the current temperature offset b (initially, b is set to 0 or to some other predefined temperature offset). If the current temperature offset is greater than the maximum temperature offset m, then the new temperature offset b′ is the larger of 0 and the difference between the current temperature offset b and temp. In one embodiment, if the current temperature offset b is equal to the maximum temperature offset m, then the new temperature offset b′ is simply the current temperature offset, i.e., no change in offset.

After the new temperature offset b′ is calculated, it is applied to the ambient air temperature reading by main processor 104 via readings from thermal sensor 110 in order to correct the ambient air temperature reading by the current temperature offset. This may result in a decrease of the ambient air temperature reading (i.e., when display 102 is heating up) or in increase of the ambient air temperature reading (i.e., when display 102 has been turned off or lowered in intensity and cooling down).

The algorithm is then repeated at the prescribed time interval, with b′ used as b, and the process repeats until the number of cycles has been completed, in this case, a total of 30 times.

If the brightness level of display 102 is changed during execution of the algorithm, the algorithm may be re-started.

At step 324, in one embodiment, two or more temperature offsets associated with two or more active components, respectively, are used to adjust the ambient air temperature reading. For example, when a user is interacting with thermostat 100 via display 102, for example, changing setpoint information, display 102 may be active in a high-power mode (i.e., high brightness). In this example, main processor 104 may determine a temperature offset associated with a high-power mode of display 102, a second temperature offset associated with power regulator 106 and a third temperature offset associated with main processor 104. Main processor 104 may then add each of the temperature offsets together to achieve an overall temperature offset. This overall temperature offset is then applied to the ambient air temperature reading to produce a compensated ambient air temperature reading.

At step 326, in an embodiment where two or more temperature offsets are applied to an ambient air temperature reading to compensate for the effects of internally-generated heat by active components of thermostat 100, two or more dynamic temperature offsets may be used over time after a component enters an active state. In another embodiment, one or more dynamic temperature offsets and one or more static temperature offsets may be defined and used to adjust the ambient air temperature reading.

For example, display 102 may comprise a dynamic temperature offset of −1 degrees at time zero (i.e., when display 102 enters a “medium power” operating state (i.e., moderate brightness) from the quiescent state), −2 degrees 45 seconds after time zero, and −4 degrees 90 seconds after time zero. Radio 108 may comprise a dynamic temperature offset of 0 degrees at time zero, −1 degrees 30 seconds after time zero, and −2 degrees 60 seconds after time zero. Power regulation circuitry 106 may comprise a static temperature offset of −2 degrees. When adjusting the ambient air temperature reading, main processor 104 may determine that display 102 has been active for 45 seconds and that radio 108 has been active for 30 seconds (based on timestamps when each of these components entered an active state and the current time), main processor 104 may determine a temperature offset due to the display 102 of −2 degrees, a temperature offset due to radio 108 of −1 degrees, and a static temperature offset due to power regulator 106 of −2 degrees. Main processor 104 may then add these three offsets together, resulting in an overall temperature offset of −5 degrees and apply the overall temperature offset to the ambient air temperature reading, producing a compensated ambient air temperature reading that matches the actual ambient air temperature reading.

Conversely, main processor 104 may reduce an overall temperature offset applied to the ambient air temperature reading as components are turned off, enter a quiescent state or begin operating at a lower power-consumption mode. For example, main processor 104 may change the brightness of display 102 to a dim state from a high-brightness state, turn radio 108 off and as a result, power regulator 106 draws less power. Display 102 may comprise a “negative” dynamic temperature offset of −5 degrees at time zero (i.e., when display 102 enters a “low power” operating state (i.e., low brightness) from a high-power operating state), −3 degrees 60 seconds after time zero, and −1 degrees 120 seconds after time zero. Radio 108 may comprise a “negative” dynamic temperature offset of −2 degrees at time zero, −1 degrees 60 seconds after time zero, and −2 degrees 90 seconds after time zero. Power regulation circuitry 106 may comprise a static temperature offset of −1 degrees when it is drawing less power, for example, less than a predetermined threshold stored in memory 112. When adjusting the ambient air temperature reading, main processor 104 may determine that display 102 has been in the low-brightness state from the high-brightness state for 60 seconds and that radio 108 has been deactivated for 60 seconds (based on timestamps when each of these components entered a different operating state and the current time). Main processor 104 may determine a temperature offset due to display 102 of −3 degrees, a temperature offset due to radio 108 of −1 degrees, and a static temperature offset due to power regulator 106 of −1 degrees. Main processor 104 may then add these three offsets together, resulting in an overall temperature offset of −5 degrees and apply the overall temperature offset to the ambient air temperature reading, producing a compensated ambient air temperature reading that matches the actual ambient air temperature reading.

Other technical advantages may become readily apparent to one of ordinary skill in the art after review of the foregoing figures and description.

It should be understood at the outset that, although exemplary embodiments are illustrated in the figures and described above, the principles of the present disclosure may be implemented using any number of techniques, whether currently known or not. The present disclosure should in no way be limited to the exemplary implementations and techniques illustrated in the drawings and described above.

Modifications, additions, or omissions may be made to the systems, apparatuses, and thermostats described herein without departing from the scope of the disclosure. For example, the components of the systems and apparatuses may be integrated or separated. Moreover, the operations of the systems and apparatuses disclosed herein may be performed by more, fewer, or other components and the thermostats described may include more, fewer, or other steps. Additionally, steps may be performed in any suitable order. As used in this document, “each” refers to each member of a set or each member of a subset of a set. The article “a” means “one or more”.

To aid the Patent Office and any readers of any patent issued on this application in interpreting the claims appended hereto, there is no intention that any of the appended claims or claim elements invoke 35 U.S.C. 112(f) unless the words “means for” or “step for” are explicitly used in the particular claim.

Claims

I claim:

1. A method, performed by a thermostat, for automatically compensating ambient air temperature readings, comprising:

determining an ambient air temperature;

determining an operating state of a heat-producing, internal component of the thermostat; and

adjusting the ambient air temperature based on the operating state of the internal component to produce a compensated ambient air temperature.

2. The method of claim 1, wherein adjusting the ambient air temperature comprises:

identifying a temperature offset associated with the operating state of the internal component; and

applying the temperature offset to the ambient air temperature to produce the compensated ambient air temperature.

3. The method of claim 2, wherein identifying the temperature offset comprises:

retrieving the temperature offset from a lookup table in association with the internal component and the operating state of the internal component.

4. The method of claim 1, wherein adjusting the ambient air temperature comprises:

periodically calculating the compensated ambient air temperature as a function of the internal component and an elapsed time after the operating state of the internal component has changed.

5. The method of claim 4, wherein periodically calculating the compensated ambient air temperature comprises:

determining a maximum temperature offset;

determining a current temperature offset based on the maximum temperature offset, the elapsed time and a previous temperature offset; and

applying the current temperature offset to the ambient air temperature to produce the compensated ambient air temperature.

6. The method of claim 4, further comprising:

determining a second operating state of a second heat-producing, internal component of the thermostat;

identifying a temperature offset associated with the operating state of the 2nd internal component; and

applying the temperature offset to the compensated ambient air temperature to produce a multi-compensated ambient air temperature.

7. The method of claim 1, further comprising:

determining a rate of change of the heat generated by the internal component; and

calculating the compensated ambient air temperature as a function of the rate of change of the heat generated by the internal component after the internal component has been activated.

8. The method of claim 7, further comprising:

determining a second rate of change of heat generated by a second heat-producing, internal component of the thermostat; and

calculating the compensated ambient air temperature as a function of the rate of change of the heat generated by the internal component and the second rate of change of heat generated by the second internal component.

9. The method of claim 1, wherein determining an operating state of the heat-producing, internal component comprises:

determining an operating state of the thermostat; and

determining that the heat-producing, internal component is in an active state during the operating state.

10. The method of claim 1, further comprising:

determining an operating state of the thermostat;

determining that the heat-producing, internal component is in an active state during the operating state;

determining that a second heat-producing, internal component of the thermostat is in an inactive state during the operating state; and

adjusting the ambient air temperature based on the heat-producing, internal component only.

11. A thermostat, for automatically compensating ambient air temperature readings observed by the thermostat, comprising:

a temperature sensor;

a heat-producing, internal component;

a memory for storing processor-executable instructions; and

a processor, coupled to the temperature sensor, the heat-producing, internal component in the memory, for executing the processor-executable instructions that cause the processor to:

determine an ambient air temperature;

determine an operating state of a heat-producing, internal component of the thermostat; and

adjust the ambient air temperature based on the operating state of the internal component to produce a compensated ambient air temperature.

12. The thermostat of claim 11, wherein the processor-executable instructions for adjusting the ambient air temperature comprises instructions that cause the processor to:

identify a temperature offset associated with the operating state of the internal component; and

apply the temperature offset to the ambient air temperature to produce the compensated ambient air temperature.

13. The thermostat of claim 12, wherein the processor-executable instructions for identifying the temperature offset comprises instructions that cause the processor to:

retrieve the temperature offset from a lookup table in association with the internal component and the operating state of the internal component.

14. The thermostat of claim 11, wherein the processor-executable instructions for adjusting the ambient air temperature comprises instructions that cause the processor to:

periodically calculate the compensated ambient air temperature as a function of the internal component and a time period after the operating state of the internal component has changed.

15. The thermostat of claim 14, wherein the processor-executable instructions for periodically calculating the compensated ambient air temperature comprises:

determine a maximum temperature offset;

determine a current temperature offset based on the maximum temperature offset, the elapsed time and a previous temperature offset; and

apply the current temperature offset to the ambient air temperature to produce the compensated ambient air temperature.

16. The thermostat of claim 14, wherein the processor-executable instructions comprise further instructions that cause the processor to:

determine a second operating state of a second heat-producing, internal component of the thermostat;

identify a temperature offset associated with the operating state of the 2nd internal component; and

apply the temperature offset to the compensated ambient air temperature to produce a multi-compensated ambient air temperature.

17. The thermostat of claim 11, wherein the processor-executable instructions comprise further instructions that cause the processor to:

determine a rate of change of the heat generated by the internal component; and

calculate the compensated ambient air temperature as a function of the rate of change of the heat generated by the internal component after the internal component has been activated.

18. The thermostat of claim 17, wherein the processor-executable instructions comprise further instructions that cause the processor to:

determine a second rate of change of heat generated by a second heat-producing, internal component of the thermostat; and

calculate the compensated ambient air temperature as a function of the rate of change of the heat generated by the internal component and the second rate of change of heat generated by the second internal component.

19. The thermostat of claim 11, wherein the processor-executable instructions for determining an operating state of the heat-producing, internal component comprises instructions that cause the processor to:

determine an operating state of the thermostat; and

determine that the heat-producing, internal component is in an active state during the operating state.

20. The thermostat of claim 11, wherein the processor-executable instructions comprise further instructions that cause the processor to:

determine an operating state of the thermostat;

determine that the heat-producing, internal component is in an active state during the operating state;

determine that a second heat-producing, internal component of the thermostat is in an inactive state during the operating state; and

adjust the ambient air temperature based on the heat-producing, internal component only.