SYSTEMS AND METHODS FOR CONTROLLING THE RATE OF CHANGE OF AIR TEMPERATURE IN A BUILDING.
Patent Information
- Authority / Receiving Office
- MX · MX
- Patent Type
- Patents
- Current Assignee / Owner
- GOODMAN MFG CO LP
- Filing Date
- 2023-06-27
- Publication Date
- 2026-06-12
AI Technical Summary
Existing HVAC systems face challenges in interoperability between communicating and non-communicating equipment, leading to limited consumer choice, high costs, and difficulty in retrofitting or upgrading without complete replacement.
A controller that can communicate with both communicating and non-communicating HVAC units, using a control plan to adjust operation settings based on target times, iteratively refining the plan to achieve desired temperature changes efficiently.
Enables flexible and efficient operation of HVAC systems with a wide range of equipment, optimizing performance and maintenance while allowing for seamless integration of legacy systems.
Smart Images

Figure MX435302B0
Abstract
Description
SYSTEMS AND METHODS FOR CONTROLLING THE RATE OF CHANGE IN AIR TEMPERATURE IN A BUILDING CROSS-REFERENCE WITH RELATED APPLICATIONS This application claims the benefit of U.S. Non-Provisional Application No. 17 / 139293, filed on December 31, 2020. This application is a continuation in part of U.S. Application No. 16 / 832618, entitled “SYSTEMS AND METHODS FOR CONTROLLING AIR TEMPERATURE USING A TARGET TIME-BASED CONTROL PLAN,” filed on March 27, 2020, which is a divisional application of U.S. Application No. 15 / 043134 entitled “SYSTEMS AND METHODS FOR CONTROLLING AIR TEMPERATURE BY MEANS OF A TARGET TIME-BASED CONTROL PLAN,” filed on February 12, 2016, which are incorporated herein in their entirety by this reference. TECHNICAL FIELD The present invention relates to a heating, ventilation, and air conditioning (HVAC) system, and more specifically to an HVAC system in which the HVAC equipment is operated using a controller. The present invention also relates to methods for operating said controller. BACKGROUND Communicating thermostats and communicating HVAC equipment generally refer to HVAC equipment that exchanges information and control signals using modern communication protocols. The increased flexibility of communicating systems provides several advantages. For example, the communicating equipment can be automatically identified, including its available capacity settings and / or the number of stages. A communicating thermostat can use this information and the flexibility of the communication protocol to issue control signals corresponding to specific capacity settings for the equipment. While the use of such protocols provides greater flexibility in the type and amount of data that can be exchanged between communicating thermostats and communicating HVAC equipment, there are significant trade-offs.First, communicating thermostats and HVAC equipment are generally more expensive than their non-communicating counterparts, making the cost of communicating systems prohibitive for many consumers. Second, communicating systems typically do not work with non-communicating equipment, older equipment, or equipment from different manufacturers. As a result, the consumer's choice is extremely limited regarding the equipment to use in a communicating system. Furthermore, this lack of interoperability limits a consumer's ability to adapt or upgrade a system without a relatively complete replacement. Finally, while many of the features and capabilities of communicating systems greatly simplify installation and configuration, many of these features have limited use for the end user. In contrast, legacy thermostats and HVAC equipment typically rely on simpler control signals, such as on / off signals (usually 24 VAC signals), for communication and control. As a result, interoperability is generally less of a concern in HVAC systems that implement only legacy equipment, and consumers have more flexibility to install equipment that best suits their specific needs and budget. As used in this document, the term “legacy” refers to equipment that has the ability to connect to a thermostat that sends 24 VAC on / off signals. In light of the above, there is a need for a system that provides the enhanced degree of control offered by a communicating system while also allowing the use of a wide range of thermostats and other HVAC equipment within the system. Ideally, the system would accommodate both communicating and non-communicating legacy equipment, and device detection and configuration processes would occur using various methods, either alone or in combination. These methods might include reading or retrieving information provided by an installer, customer, or other user; reading or retrieving information available in a remote database; reading or retrieving information directly from the HVAC equipment; or learning the properties of the HVAC equipment using a trial-and-error approach. COMPENDIUM Examples of systems and methods for controlling the air temperature in a building are provided. For example, examples of systems and methods for operating an HVAC system according to a control plan based on a target time are given. The control plan can be designed to achieve a desired air temperature in a building within the target time. The system may include a controller that is coupled to indoor and / or outdoor HVAC units. The controller may include equipment terminals for controlling communicating or non-communicating HVAC units. The controller may be coupled to communicate with a thermostat. The controller may also include sensing terminals that can be coupled to communicate with one or more air temperature sensors. The controller may also include accessory terminals for connecting devices such as indoor air quality equipment, dampers, and other zoning equipment. The controller may include a communication module. The communication module can be connected to a computer via a wired or wireless connection. The communication module can be used to send and receive performance and operational data related to the HVAC system. The computer can use this performance and operational data to analyze the HVAC system, enabling optimized maintenance and performance. The computer can also be used to input control plan parameters, such as target time and desired temperature. The method for controlling the air temperature in a building may include detecting connected devices. The method may also include determining a target time and an initial control plan. The control plan may involve operating one or more HVAC units in a variety of capacity or stage configurations to achieve high performance or efficiency ratings. The control plan can then be executed by a controller in response to a heating / cooling request. The controller can then determine a satisfaction time based on the time it takes to fulfill the heating / cooling request using the control plan. The actual satisfaction time can then be compared to the target time and used to update the control plan. The method can then be repeated using the updated control plan when a new heating / cooling request is received. These and several other features and advantages will become apparent from the detailed description and figures that follow, together with the accompanying claims. Although the embodiments of this disclosure have been illustrated and described and are defined by reference to illustrative embodiments in the description, such references do not imply a limitation of the disclosure, nor shall any such limitations be inferred. The subject matter described may be subject to substantial modifications, alterations, and equivalents in form and function, as will be evident to those skilled in the relevant art who benefit from this disclosure. The embodiments depicted and described in this disclosure are merely examples and do not limit the scope of the disclosure. BRIEF DESCRIPTION OF THE DRAWINGS The modalities of the present and their advantages can be more fully understood by referring to the following description together with the attached figures, in which similar reference numbers indicate similar characteristics. FIG. 1 shows an HVAC system that incorporates an existing thermostat, according to some modalities. FIG. 2 shows an HVAC system without a thermostat, according to some modalities. FIG. 3 is an illustrative representation of a controller for use in an HVAC system. FIG. 4 is a flow diagram illustrating one modality of a method for controlling the air temperature of a building using a control plan based on a target time nc / / nn / cznz / B / viAi. FIG. 5 is a flow diagram illustrating an example of a method for achieving and maintaining a target rate of temperature change during a cooling operation in a building, in accordance with certain aspects of this disclosure. FIG. 6 is a flowchart illustrating an example of a method for achieving and maintaining a target rate of temperature change in a multi-equipment HVAC system, in accordance with certain aspects of this disclosure. DESCRIPTION This disclosure generally refers to a system for controlling a heating, ventilation, and air conditioning (HVAC) system and methods for controlling HVAC equipment in the HVAC system. For the purposes of this disclosure, an HVAC system refers to any system that provides one or more heating, cooling, or ventilation functions to an environment, such as a building. The building may be, but is not limited to, a residential building such as a house, apartment, condominium, or similar. An HVAC system may include one or more pieces of HVAC equipment to provide heating, cooling, or ventilation. HVAC equipment includes, but is not limited to, furnaces, air conditioners, heat pumps, blowers, air handlers, and dehumidifiers. HVAC equipment may operate in a single stage of operation (i.e., single-stage), in one of several discrete stages of operation (i.e., multi-stage), or along a continuum of operating points, such as with modulating furnaces or reverse air conditioning units. HVAC equipment may also operate on gas, electricity, or any other suitable energy source. This disclosure pertains to an HVAC system comprising a controller. In certain embodiments, the controller is incorporated into one or more HVAC system components, such as a thermostat or other HVAC equipment, and is communicatively coupled to other HVAC system components. In other embodiments, the controller is a standalone unit communicatively coupled to HVAC system components. The controller operates by attempting to satisfy heating or cooling requests within a specified target time. To do this, the controller determines an initial control plan to meet the heating / cooling request within that target time and then operates the HVAC system based on that plan. The controller then compares the actual time required to meet the heating / cooling request with the target time and adjusts the control plan accordingly. The revised control plan can then be implemented in the next heating / cooling cycle. Based on the results of comparing the actual time to the target time in the subsequent cycle, the control plan can be adjusted again.This process can be repeated continuously, gradually converging into a control plan that satisfies the heating / cooling plan as close as possible to the target time. The control plan outlines the settings at which the HVAC equipment will operate to meet the heating / cooling demand. The control plan may include instructions for one or more pieces of equipment to be operated, the operating time for each piece of equipment, and, if the equipment can operate at more than one stage or capacity, the stage or capacity at which it will operate. For example, if an HVAC system includes a three-stage air conditioner and is required to meet a cooling demand within a target time of 20 minutes, the control plan might include instructions to operate the air conditioner at the second stage for 15 minutes and at the first stage for 5 minutes. In certain modes, the control plan can be adjusted if the actual satisfaction time is longer or shorter than the target time. For example, if the actual satisfaction time is longer than the target time, the current control plan parameters are generally inadequate to provide sufficient heating or cooling. Consequently, the controller can change the operating equipment, timing, or capacity parameters of the control plan to provide more heating or cooling as needed. Conversely, if the actual satisfaction time is shorter than the target time, the current control plan parameters can be assumed to be too aggressive. Consequently, the controller can change the operating equipment, timing, or capacity parameters of the control plan to provide less heating or cooling. The present invention will now be described in detail with reference to one or more embodiments thereof as illustrated in the accompanying drawings. The description that follows sets forth various specific details in order to provide a complete understanding of the present disclosure. However, the present disclosure may be implemented without some or all of these specific details. In other cases, known process steps and / or structures have not been described in detail so as not to unnecessarily obscure the present disclosure. Furthermore, although the disclosure is described in conjunction with particular embodiments, it should be understood that this description is not intended to limit the disclosure to the embodiments described. Rather, the description is intended to encompass alternatives, modifications, and equivalents that may fall within the spirit and scope of the disclosure as defined in the appended claims. Figure 1 is a schematic representation of an HVAC system 100 according to one embodiment of this disclosure. As depicted, the HVAC system 100 is incorporated into a building 101. The HVAC system 100 includes a controller 102. The controller 102 is depicted as incorporated into and communicatively coupled with an indoor unit 104. The indoor unit 104 may comprise, but is not limited to, heating equipment such as a furnace. The controller 102 is also communicatively coupled to an outdoor unit 106, which may comprise, but is not limited to, cooling equipment such as an air conditioner. Other examples of indoor and outdoor units include, but are not limited to, air handlers and heat pumps, respectively. The controller 102 is further communicatively coupled to a thermostat 108. During operation, controller 102 receives heating or cooling requests from thermostat 108. Specifically, sensors within thermostat 108 determine whether the current temperature inside building 101 rises above (in the case of cooling) or falls below (in the case of heating) a temperature setpoint. If either of these events occurs, thermostat 108 sends a heating or cooling request to controller 102. In response, controller 102 can send control signals to one or more pieces of HVAC equipment, including indoor unit 104 and outdoor unit 106. In the configuration shown in FIG. 1, thermostat 108 performs several functions. First, thermostat 108 senses the temperature inside building 101. Second, in response to the temperature inside building 101 being above or below a desired setpoint, thermostat 108 provides a signal to controller 102 to request cooling or heating, respectively. Once the desired temperature is reached, the heating / cooling request is canceled. In certain configurations, one or more of these functions may be performed by the thermostat or by other components of the HVAC system. Thermostat 108 can also provide signals to enable or disable other optional equipment, including, but not limited to, humidifiers and fans (not shown). In the configuration shown in FIG.2, for example, a thermostat is not required and the functions described are performed by a temperature sensor alone or in combination with a controller. Figure 2 is a schematic illustration of a second embodiment of an HVAC system 200 according to this description. The HVAC system 200, which is incorporated into building 201, includes an indoor unit 204 and an outdoor unit 206 communicatively coupled to a controller 202. The indoor unit 204 may comprise, but is not limited to, heating equipment such as a furnace. The outdoor unit 206 may comprise, but is not limited to, cooling equipment such as an air conditioner. Other examples of indoor and outdoor units include, but are not limited to, air handlers and heat pumps, respectively. In contrast to the embodiment in Figure 1, where the controller 102 is incorporated into the indoor unit 104, the controller 202 is represented as a separate unit. The mode in FIG. 2 also includes a temperature sensor 210 to determine the temperature inside building 201. In certain modes, the temperature sensor 210 can be configured to determine one or more of the actual temperature inside building 201 or whether the current temperature inside building 201 is above or below a temperature set point. Controller 202 can receive and analyze temperature-based signals and data from temperature sensor 210. For example, controller 202 can generate control signals to operate HVAC equipment, such as indoor unit 204 and outdoor unit 206, based at least in part on the temperature-based signals received from temperature sensor 210. In certain modes, sensor 210 can transmit temperature readings to controller 202. Controller 202 can monitor the temperature readings provided by sensor 210 to determine if the temperature in building 201 exceeds or falls below a temperature setpoint, causing controller 202 to generate a heating / cooling request. In response to the heating / cooling request, controller 202 can issue appropriate control signals to at least one of the indoor unit 204 and the outdoor unit 206.In other configurations, sensor 210 can transmit a signal indicating that the air temperature in building 201 is above or below a set temperature. Controller 202 can then generate a heating / cooling request and issue control signals to operate HVAC equipment such as indoor unit 204 and outdoor unit 206 in response to this signal. In certain configurations, temperature readings from temperature sensor 210 can also be stored in a memory module of controller 202. Controller 202 can use these stored temperature readings to determine temperature trends, response times to control signals, and other metrics to refine a control plan implemented by controller 202. Figure 3 is a schematic representation of the 300 controller according to one embodiment of this disclosure in which the 300 controller is configured to receive signals from a legacy thermostat. As noted above, the 300 controller may be incorporated into an indoor unit, an outdoor unit, or a thermostat, or it may be part of a separate component. The 300 controller may include a 301A processing unit and a 301B memory module. Because the 300 controller is designed for use with a legacy thermostat, it includes a 302 terminal block for connecting the controller to such a thermostat. The 302 terminal block may include terminals corresponding to one or more output terminals on the legacy thermostat. For example, as shown in Figure 3, the 302 terminal block includes a 24 VAC supply line terminal (R) 303A, a common ground terminal (C) 303B, a cooling call terminal (Y) 303C, a heating request terminal (W) 303D, a fan terminal (G) 303E, a reversing valve terminal (O) 303F, and a dehumidifier terminal (Deshum) 303G. In other configurations, one or more of the 303A–G terminals may be omitted, or additional terminals may be added.For example, if a thermostat is capable of emitting control signals corresponding to multiple stages of heating or cooling requests (e.g., Y2 or W2 terminals), the controller can include corresponding terminals to receive such signals. The 300 controller can also include one or more equipment terminals for communicating with indoor and / or outdoor units. For example, the 300 controller can include an RS485 interface (304) suitable for communicating data and control signals to communicating HVAC equipment. The 300 controller can also include components for controlling non-communicating equipment using other signals, such as 24 V AC signals. For example, the 300 controller includes a refrigeration relay (306) and a corresponding refrigeration terminal block (308) for connecting the 300 controller to a non-communicating air conditioning unit. The 300 controller can also include interfaces for receiving data or signals from other HVAC system components. For example, the 300 controller includes sensor interfaces 310A and 310B for receiving data from a return air (RA) sensor and a supply air (SA) sensor, respectively. The 300 controller can also include an accessory interface 311 for communication with other HVAC system components, including, but not limited to, indoor air quality equipment, dehumidifiers, humidifiers, ventilation controllers, and other zoning equipment. The 300 controller can also include a 312 communication module for communicating with a computing device. The 312 communication module can include a wired interface. For example, in certain configurations, the 312 communication module can include, among others, one or more of a Universal Serial Bus, Ethernet, FireWire, Thunderbolt, RS-232, or a similar interface. Instead of, or in addition to, a wired interface, the 312 communication module can include a wireless interface for communicating with a computing device. Such wireless interfaces can include, among others, Bluetooth, Wi-Fi, and ZigBee. In certain configurations, the 312 communication module can be configured to connect the 300 controller directly to the computing device.It is also possible to configure the 312 communication module to connect the 300 controller to the computer device via a computer network that includes, but is not limited to, a local area network (LAN), a wide area network (WAN), and the Internet. The 312 communication module typically allows the 300 controller to exchange data with the computer. In certain configurations, the data exchanged between the 300 controller and the computer may include system configuration data. System configuration data may include information about the HVAC system in which the 300 controller is installed, including information about any HVAC equipment or components included in the system. Configuration data may include general information about the basic types of equipment included in an HVAC system, but it may also include specific details about particular pieces of HVAC equipment. For example, if an HVAC system includes a multi-stage air conditioner, the configuration data may include product details such as the brand, model, product number, and serial number of the unit.Configuration data may also include performance details, including the number of stages and the corresponding capacities of the air conditioner. The 312 communication module can also be configured to send and / or receive operating parameters. As discussed previously, the 300 controller typically operates by developing and executing a control plan to meet heating and cooling requests to achieve a desired temperature setpoint as close as possible to a target time. During operation, the 312 communication module can be used to send or receive operating parameters such as the temperature setpoint and target time to establish or retrieve the HVAC system's operating objectives. The 312 communication module can also be used to exchange historical performance data with a computer. For example, the 300 controller can store temperature readings received from an HVAC system temperature sensor in the 301B memory module and transmit or make the temperature data available to a computer. The 300 controller can also transmit historical performance data that can be used to evaluate the overall effectiveness of the system and to determine if maintenance may be required. For example, the controller can provide data on the amount of time a particular piece of HVAC equipment is operated. Such usage information can be used to determine the likely lifespan of HVAC equipment components and develop a corresponding maintenance schedule. Figure 4 is a flow diagram illustrating one embodiment of a general method for operating an HVAC system in accordance with this disclosure. In one or more embodiments, any one or more of the steps described may be omitted. In other embodiments, any one or more of the steps depicted may be performed in any suitable order or combination. The method begins at step 402 with the controller initiating device detection. Device detection generally refers to the process of identifying the equipment present in an HVAC system and may include determining one or more of the type, capacity, number of stages, or other characteristics of that equipment. Device discovery can occur using various methods, alone or in combination, and may include reading or retrieving information provided by an installer, customer, or other user. For example, in certain modes, the user can configure a series of DIP switches located on a controller, thermostat, piece of HVAC equipment, or any other suitable location within the HVAC system to indicate the characteristics of one or more pieces of HVAC equipment within the system. During device discovery, a controller or other suitable equipment in the system can read the DIP switches to determine the characteristics of the installed HVAC equipment. In certain configurations, device discovery data can be stored and retrieved from memory. For example, device discovery data can be stored locally in the memory of an HVAC system controller. In other configurations, device discovery data can be stored in a remote location, such as a remote server. In either configuration, the device discovery process may involve executing instructions to retrieve the device discovery data from memory, regardless of the memory location. Device detection data can be stored in a read-only memory. For example, the memory might include device detection data set during the HVAC system's manufacturing process. In certain configurations, the read-only memory can store default information corresponding to a specific HVAC system, allowing an installer or other user to reset the HVAC system to its default settings if a fault, system failure, or other problem is encountered. In certain configurations, the memory can be reprogrammed by a user. In such configurations, the user can input information pertaining to the HVAC system to be stored in the memory. Any suitable method can be used to program the memory. For example, the user can use a software application to configure the HVAC system and input device data. Such software can run on any suitable platform. For example, in certain configurations, device data can be entered using a panel or terminal specifically designed for the HVAC system. In other configurations, a user can use a computing device with a program or application installed that allows them to input or modify device data. Such general computing devices may include, but are not limited to, laptops, tablets, smartphones, netbooks, and desktop computers.Device data can be entered by directly connecting a computer to the HVAC system using any suitable interface or by providing the device data remotely, including via a wired or wireless connection. For example, in certain modes, a user can enter device data by directly connecting a computer to a device in the HVAC system using a wired connection, which may include, but is not limited to, one or more universal serial bus, Ethernet, FireWire, or Thunderbolt connections. RS-232 or a similar interface. In other modes, the user can provide device data to the HVAC system via the internet or any suitable wireless technology, including but not limited to Wi-Fi, Bluetooth, and ZigBee. In certain configurations, device data can be stored in and retrieved from a database. The database can be stored locally in memory connected to the HVAC system or accessed remotely from a server or other remote data source. In some configurations, device data for a specific part of the HVAC system can be retrieved from the database based on information provided by a user or by the HVAC system components. For example, in certain modes, information can be provided to a database regarding a specific piece of HVAC equipment for inclusion in an HVAC system. Depending on the information provided, one or more database entries can be returned. For instance, if a product name or product ID corresponding to a specific piece of HVAC equipment is provided, the device data for that particular product can be returned. Alternatively, if more generic information is provided (e.g., heating or cooling, number of stages, capacity, etc.), multiple entries can be returned, allowing for further selection or refinement of the retrieved data. Device data can also be reported to the HVAC system by connected equipment. In certain configurations, a piece of HVAC equipment can automatically report its device data to the HVAC system when it is first connected. HVAC equipment can also provide its device data in response to a device data request received from other components of the HVAC system. In certain scenarios, the characteristics of a device can also be determined using a trial-and-error approach. For example, if a cooling command is issued and the temperature does not decrease, the attached equipment is likely a furnace or other heating equipment. A similar approach can be used to determine if a piece of HVAC equipment is capable of operating in multiple capacities or stages. For example, after determining that a refrigeration unit is connected, a cooling command can be issued, requesting the HVAC equipment to provide cooling in a first stage and a second stage corresponding to different capacities. If the cooling following the command occurs more rapidly when operating in one stage or the other, the connected HVAC unit is likely a two-stage unit. Conversely, if no change is observed or if no cooling occurs, the HVAC unit is likely a single-stage unit.Once detection has occurred, the controller determines the desired target time. The target time can be entered directly by a user or installer, or it can be automatically determined based on user preferences. For example, a user might specify a preference for the system to operate to maximize performance, maximize user comfort, maximize efficiency, or achieve a preferred balance of performance, comfort, and efficiency. In response, the controller can automatically determine an appropriate target time corresponding to these preferences. For example, if a user prioritizes performance over efficiency, the controller might apply a short target time so that the HVAC equipment operates at a relatively high capacity for a shorter period.On the other hand, if a user prioritizes efficiency over performance, the controller can select a longer target time so that the HVAC equipment operates at a lower capacity for a longer period. In some configurations, the user can enter the desired target temperature directly into a thermostat that is communicatively coupled to the HVAC system controller. In other configurations, the HVAC system controller may have a means of directly entering the desired target temperature. In still other configurations, the user can enter the desired target temperature by directly connecting a computing device to the HVAC system using any suitable interface or by remotely providing device data, including via a wired or wireless connection. Such general computing devices may include, but are not limited to, laptops, tablets, smartphones, netbooks, and desktop computers. A suitable wired connection may include, but is not limited to, one or more universal serial bus, Ethernet, FireWire, Thunderbolt, RS232, or similar interfaces.A suitable wireless connection may include, among others, Wi-Fi, Bluetooth, and ZigBee. Once a target time has been determined, the controller develops an initial control plan (406) to operate the HVAC equipment to meet a heating / cooling request as close as possible to the target time. Establishing the initial control plan can occur in several ways and may differ depending on whether the equipment being controlled is stepped, and therefore has discrete capacity levels, or modulating, and therefore is capable of a continuous range of capacities. In certain systems where equipment is controlled in stages, the initial control plan can be established by determining the satisfaction times for each of one or more stages. A satisfaction time is generally the time required for the HVAC equipment to operate at a particular stage or capacity to meet a heating / cooling request. Based on these satisfaction times, the controller can determine at which stage or stages one or more pieces of HVAC equipment should operate and approximate the time required to operate at each stage to meet a subsequent heating / cooling request as close as possible to the target time. In certain configurations, the actual satisfaction time for any given capacity setting or stage can be determined by running the equipment at that stage until the heating / cooling demand is met. This approach can be repeated for each stage of the HVAC equipment to determine the full range of satisfaction times. In certain modalities, determining satisfaction times may involve determining the satisfaction time for a subset of stages and then calculating, estimating, looking up, or otherwise determining the satisfaction times for any remaining stages based on the satisfaction times of the subset of stages. For example, the satisfaction time for the maximum capacity of an HVAC unit can be determined as described above. Once the satisfaction time for the maximum capacity has been determined, the satisfaction times for the remaining stages or capacity settings can be calculated, estimated, looked up, or otherwise determined based on the satisfaction time for the maximum capacity. Doing so eliminates the need to operate the HVAC unit at each stage or capacity setting to establish the satisfaction times. In certain configurations where satisfaction times are determined from a subset of satisfaction times, a proportional capacity map can be applied to the known satisfaction times to determine the satisfaction times for any remaining stages or capacity adjustments. One such method is to apply a proportional capacity map that determines satisfaction times based on the relative capacities of the stages to the capacities of the stages for which an actual satisfaction time has been determined. For example, a system with a first, second, and third stage corresponding to 40%, 60%, and 100% (i.e., maximum capacity) can operate first at maximum capacity, achieving a corresponding maximum capacity satisfaction time of 10 minutes.Applying a capacity-based proportional capacity map can result in first and second stage satisfaction time estimates of 25 minutes and 17 minutes, respectively. More sophisticated mapping can also be implemented. For example, instead of, or in addition to, stage capacity ratios, the capacity map can be based on a model that considers thermodynamic effects, equipment characteristics, room characteristics, or any other factor that might affect the time a given piece of HVAC equipment can meet a heating / cooling demand. In certain modalities, the capacity map can be created based wholly or partially on empirical data, which may include data generated during testing of the HVAC equipment or similar units, or data collected during actual operation after installation. Because a low-capacity stage may not be able to satisfy a heating / cooling request within a reasonable time, or at all, certain modalities may include a timeout if a heating / cooling request is not satisfied within a specified time. In modalities that implement a timeout, the process of determining the initial control plan can be shortened by not determining satisfaction times for any stage with capacities lower than those of a stage with an expired timeout. Based on the satisfaction times, the controller can establish an initial control plan that includes instructions for the HVAC system, specifying, among other things, which equipment to operate, at what capacity the equipment should operate, and for how long. As a result, the initial control plan is the best estimate of how to operate the HVAC equipment to meet a heating / cooling request as close as possible to the target time. In one approach, the initial control plan is established by first determining the minimum stage capable of meeting the heating / cooling demand in less than the target time. Because the minimum satisfactory stage will not adequately meet the heating / cooling demand within the target time, the target time can be achieved more closely by operating the HVAC equipment at the minimum satisfactory time for an initial period and then switching the HVAC equipment to the next higher stage for a second period. The lengths of the first and second periods can be based on the satisfactory times of the two stages. For example, if a target time is 10 minutes, a third stage satisfies in 6 minutes, a second stage satisfies in 8 minutes, and a first stage satisfies in 16 minutes, then the second stage is the minimum satisfactory stage.Consequently, the second stage and the first stage are used in the initial control plan. Based on these specific figures, the initial operating time would be 2.5 minutes for the first stage and 7.5 minutes for the second stage. After determining the initial control plan, the controller receives a heating / cooling request on port 408. In certain modes, the heating / cooling demand may originate from a legacy thermostat communicatively coupled with the controller. In other modes, a heating / cooling demand may originate from a communicating thermostat coupled with the controller. In still other modes, the heating / cooling demand may be generated by the controller itself in response to a temperature signal received from a communicatively coupled air temperature sensor. In response to the heating / cooling demand, the controller operates the HVAC equipment according to the current control plan until the heating / cooling demand is met.In certain configurations, the controller can be programmed to time out if the heating / cooling demand is not met within a specific time period. This prevents situations where the initial control plan fails to meet a heating / cooling demand, thus avoiding situations where the demand cannot be met within a reasonable time or at all. Once the heating / cooling demand is met, the controller determines the actual satisfaction time using the current control plan in 412. The controller then compares the actual satisfaction time with the target time in 414. Based on whether the actual satisfaction time is greater or less than the target time and, in certain modes, by how much the target time and satisfaction time differ, the controller updates the control plan in 416. When the controller receives a subsequent heating / cooling demand, the controller implements the updated control plan, determines the satisfaction time according to the updated control plan, compares the satisfaction time according to the updated control plan with the target time, and updates the control plan again to account for any differences.This process can be repeated continuously with the controller updating the control plan after each heating / cooling cycle. As mentioned previously, the control plan can be updated based on whether the heating / cooling demand was met in more or less time than the target and, in certain modes, the degree to which it deviated from the target time. If the heating / cooling demand is met in more time than the target, the control plan is adjusted to provide additional heating / cooling accordingly. To do this, the controller can adjust the control plan in several ways, including changing one or more of the HVAC equipment used in the control plan, the stages or capacities at which a piece of HVAC equipment operates, and the duration for which a piece of HVAC equipment operates. As an example, one modality of current disclosure might include a controller communicatively coupled to a two-stage air conditioner that implements a control plan comprising operating the air conditioner in the first stage for a first period of time and in the second stage for a second period of time. After implementing the control plan, the controller might determine that the time required to meet a cooling demand is greater or less than the target time. In response, the controller might adjust the first and second time periods to account for any discrepancy between the actual satisfaction time and the target time. For example, if the cooling demand was not met within the target time, the control plan might be adjusted to increase the amount of time the air conditioner operates in the second stage. To the extent that the controller is configured to adjust timing, the operating times of the HVAC equipment, or the operating times of the HVAC equipment at particular stages or capacities, can be adjusted by a fixed amount. For example, the timing can be adjusted by a certain number of seconds in favor of the lower stage if the heating / cooling demand is met too quickly, or by the same number of seconds in favor of the upper stage if the heating / cooling demand is not met within the target time. In other configurations, timing settings can be variable. For example, one or more equations can be used to calculate the new time after each heating / cooling cycle. Such equations can adjust the time based on the degree to which the satisfaction time for the most recently completed cycle differs from the target time. An example of such an equation is as follows: / Target time \ New lower stage time = Current lower stage time * —------¡----—---x CF \ Satisfaction time / As shown in the equation, the new run time for the lower stage is based on the current run time of the lower stage and the ratio between the target run time and the actual completion time for the current cycle. An optional correction factor (CF) can also be included in the equation to account for nonlinearity and other adjustments to the newly calculated run time. In certain configurations, the control plan can be adjusted by changing the capacity at which one or more pieces of HVAC equipment operate. Capacity adjustments may involve changing the stage at which the HVAC equipment operates or, in the case of modulating HVAC equipment capable of operating across a continuum of capacities, changing the operating point of the modulating HVAC equipment. Capacity adjustments can be made in addition to, or instead of, time adjustments. In certain modes where the control plan is adjusted by changing capacities, determining the initial control plan (406) may involve determining an initial capacity. The initial capacity may be the minimum capacity that will satisfy a heating / cooling request as close as possible to the target time. Determining the initial capacity can be accomplished in several ways. For example, in certain modes, the controller may complete multiple heating / cooling cycles at various capacities and determine the actual time required to satisfy the heating / cooling request at each capacity. The capacity with a satisfaction time that deviates least from the target time can then be selected as the initial capacity. In other scenarios, the HVAC equipment may operate at a test capacity, and the initial capacity for the control plan may be estimated, calculated, or otherwise determined based on the time it takes to satisfy that test capacity. For example, in certain scenarios, the test capacity may be the maximum capacity of the HVAC equipment. Consequently, if a target time is 20 minutes and the heating / cooling demand is met in 15 minutes when operating at maximum capacity, the initial capacity for the control plan may be determined to be 75%. After determining the initial capacity, the controller can implement a control plan based on that initial capacity in response to a heating / cooling cycle. Once the heating / cooling demand is met, the time of satisfaction is compared to the target time, and the control plan is adjusted. Generally, if the time of satisfaction is less than the target time, the capacity parameters for the control plan are reduced. Conversely, if the time of satisfaction is less than the target time, the capacity parameters of the control plan are increased. In certain systems, this process is repeated, continuously adjusting the HVAC equipment capacity to fine-tune the target time. In certain configurations, capacity adjustments can occur in fixed increments. For example, capacity can be adjusted by a fixed percentage of the total HVAC equipment capacity, a fixed volumetric output, and a fixed energy output (e.g., watts or BTU / h). In other configurations, capacity adjustments can be variable. For example, one or more equations can be used to calculate the new capacity after each heating / cooling cycle. Such equations can adjust the capacity based on the degree to which the satisfaction time for the most recently completed cycle differs from the target time. An example of such an equation is as follows: / Satisfaction time\ New capacity = Current capacity x ---—------——:----- x CF \ Target time and As shown in the equation, the new capacity for the subsequent cycle is based on the current capacity and the ratio between the target time and the actual satisfaction time for the current cycle. An optional correction factor (CF) can also be included in the equation to account for nonlinearity and other adjustments to the newly calculated time. Notification that a heating / cooling request has been fulfilled can occur in several ways depending on the system equipment. For example, in systems with legacy thermostats, the notification may correspond to the thermostat clearing a cooling or heating demand. In systems that include temperature sensors, the notification may be generated in response to a temperature sensor detecting that a temperature setpoint has been reached. In some configurations, the notification may be generated by the temperature sensor itself. In others, the controller may generate a notification internally based on temperature readings received from the temperature sensor(s). Alternatively, the sensor itself may generate a signal indicating that the temperature setpoint has been reached. In certain configurations, the HVAC system described herein is not limited to a single sensor. The system may include multiple sensors located within a building. In some configurations, the sensors may be located in the building's rooms. In still other configurations, the sensors may be located within the HVAC system's ductwork. It should also be understood that the sensors described herein are not limited to temperature sensors. Examples of sensors may include, but are not limited to, temperature and humidity sensors. The HVAC system controller may incorporate all information received from these sensors, such as temperature and humidity readings, into the control plan. Furthermore, information from any of these sensors may be sent to a computer device, as previously discussed, for direct control by a user or another system. In certain configurations, additional inputs or data, such as temperature setpoints and real-time temperature readings, can be used to adjust the timing or capacity settings of the control plan. Such data can be useful for determining the effectiveness of a particular control plan or for developing a more suitable control plan in fewer cycles than would be required without the additional data. For example, if a sensor provides real-time temperature data, a rate of temperature change associated with particular stages or capacities can be determined. This rate of change can then be used to correct or refine the timing or stage capacity determinations. In certain modes, the control plan does not require a time-to-satisfy period to operate. If the building temperature is provided to the controller, the controller can design a control plan using an algorithm that does not require calculating a time-to-satisfy period. In certain modes, the controller can determine an initial control plan based on the building temperature, available HVAC equipment, and user preferences. The controller can then monitor the building temperature and update the control plan based on the user's desired performance, comfort, and efficiency preferences. As discussed earlier, the control plan is typically established by determining the initial control plan parameters, which may include time and / or capacity settings, and iteratively adjusting these parameters to develop a plan that satisfies a heating / cooling request at a target time as close to the target time as possible. Because of this iterative process, a controller operating in a relatively steady-state environment with a consistent temperature and target time setpoint will generally converge on a particular control plan. In other words, the degree of adjustment required for the time and capacity settings will eventually decrease as more heating / cooling cycles are performed. However, the environment in which the HVAC system operates and the HVAC system's operating parameters can change during operation.For example, the environment controlled by the HVAC system may be subject to temperature changes caused by, for instance, opening a window or door, changes in the outside temperature, or the use of heating appliances. System operating parameters, such as the desired temperature setpoint and / or target time, may also be changed. In general, the approach described above will adapt to such changes and converge into a new control plan that takes into account the modified conditions, provided the HVAC equipment is capable of meeting the resulting heating / cooling demands. However, under certain circumstances, such as when the changes are particularly sudden or drastic, it may be more efficient for the system to start with a new initial control plan than to adjust the current control plan over the course of multiple heating / cooling cycles. In certain configurations, the control plan can recognize when an unexpected change in performance can be ignored. For example, if a control plan is repeatedly satisfying a cooling request based on a target time of 20 minutes, and an unexpected event, such as a door opening, causes the next cooling request to be met in 10 minutes, then the control plan would recognize that this was not a permanent change in the building's cooling requirements and would not adjust the control plan accordingly. The restart of the control process by determining a new initial control plan can be triggered by various conditions and events. In certain modes, for example, the controller can restart from a new initial control plan based on the degree to which the satisfaction time or the most recent heating / cooling cycle differs from the penultimate heating / cooling cycle. Large differences in satisfaction times for consecutive heating / cooling cycles may indicate that a significant change has occurred in one or more of the controlled environment or operating parameters. Consequently, in response to discrepancies in satisfaction times, the system can be configured to restart from a new initial control plan. A restart from a new initial control plan can also be triggered by a timeout event caused by the currently implemented control plan failing to satisfy a heating / cooling request within a specified time. The timeout can be based on an absolute time, such as a particular number of minutes. Alternatively, it can be based on a different parameter, such as a target time. For example, a timeout might occur if the current control plan fails to satisfy a heating / cooling request within twice the target time. Implementing a timeout can be particularly useful in multi-stage machines. For example, if a three-stage air conditioner is being operated using only the first and second stages, sufficient heat input can prevent the air conditioner from meeting a corresponding cooling request within the target time, even if the second stage were to operate continuously. To prevent continuous operation in the second stage, a timeout can be implemented to halt the current control plan and generate a new initial control plan, which may include operating the air conditioner in the second and third stages. Alternatively, a timeout can cause the system to increase or decrease the current operating stages of the equipment without requiring a new initial control plan. Control of the rate of temperature change in a building In one or more aspects, the 300 controller can be configured to selectively operate one or more heating or cooling units within the HVAC system to achieve and maintain a target rate of change in the air temperature inside a building. This allows the user to control how quickly the air temperature changes inside a building during heating and cooling operations. In one aspect, a rate of change in temperature can be specified as a change in temperature value over a specific period of time, for example, a temperature change of 5 degrees in one hour. In one or more aspects, the 300 controller can receive a "temperature change rate" setting from a user. For example, a user can provide a desired or target "temperature change rate" setting using a computing device (e.g., a smartphone) communicatively coupled to the 300 controller's 312 communication module. As described earlier, the 312 communication module allows the 300 controller to exchange data with the computing device. The 312 communication module may include a wired interface. For example, in certain configurations, the 312 communication module may include, among others, one or more of a Universal Serial Bus, Ethernet, FireWire, Thunderbolt, RS-232, or a similar interface. Instead of, or in addition to, a wired interface, the 312 communication module may include a wireless interface for wireless communication with a computing device.This wireless interface may include, but is not limited to, one or more Bluetooth, Wi-Fi, and ZigBee interfaces. In certain configurations, the 312 communication module can be configured to connect the 300 controller directly to the computing device. It is also possible to configure the 312 communication module to connect the 300 controller to the computing device via a computer network, including, but not limited to, a local area network (LAN), a wide area network (WAN), and the Internet. Computing devices may include, but are not limited to, laptops, notebooks, tablets, smartphones, netbooks, and desktop computers. Alternatively, the user can set the target "temperature change rate" by entering a "temperature change rate" value (e.g., 5 degrees / hour) into a thermostat (e.g., thermostat 108) that is communicatively coupled to the controller. The thermostat can transmit the target "temperature change rate" value to the controller 300 using either a wired or wireless connection. The thermostat can be configured to exchange data with the controller 300's communication module 312 using at least one of the module's wired or wireless interfaces. For example, the communication module 312 and the thermostat can connect to a Wi-Fi network and exchange data with each other via the internet or a local area network (LAN). The user can also select a 7-day weekly schedule for setting the target temperature change rate. In one aspect, the user can specify different target rate of change values for heating and cooling operations. The 300 controller can receive the desired target rate of change setting and save it to non-volatile memory (e.g., memory 301B) within the controller. In another aspect, the 300 controller can automatically determine the target rate of change, for example, based on user preferences. For instance, the 300 controller can determine a target rate of change based on a target temperature to be achieved and / or a target time within which the target temperature should be reached. As described above, the user can specify both the target temperature and the target time. In one or more aspects, the 300 controller can control the rate of temperature change in a building by selectively operating one or more pieces of HVAC equipment (heating or cooling equipment as required) at different capacities. For example, the heating and / or cooling equipment of the HVAC system may operate within a range of capacities. The 300 controller can adjust the capacities at which one or more pieces of heating and / or cooling equipment operate to adjust the rate of temperature change within a building to achieve a target rate of temperature change. For example, the 300 controller can change a capacity parameter (e.g., a percentage of the equipment's total capacity) of an operating piece of HVAC equipment to provide more or less heating / cooling as needed to achieve the target rate of temperature change in the building. Adjusting the capacity of HVAC equipment can include changing the stage at which the HVAC equipment operates or, in the case of modulating HVAC equipment capable of operating across a continuum of capacities, changing the operating point of the modulating HVAC equipment. HVAC equipment includes, but is not limited to, one or more air conditioners, one or more heat pumps, one or more furnaces, and one or more air controllers. The controller can operate cooling equipment, such as an air conditioner, or heating equipment, such as a heat pump or furnace, depending on whether it received a heating or cooling request from a thermostat.Additionally, or alternatively, as described above, the controller can generate a heating request or a cooling request based on ambient temperature readings received from a thermostat or temperature sensor and a user-specified target temperature setting. In one or more aspects, upon receiving (or generating) a heating or cooling request, the 300 controller initiates the operation of HVAC equipment at a predetermined initial capacity. The controller initiates the operation of cooling equipment (e.g., an air conditioner) in response to a cooling request, or initiates the operation of heating equipment (e.g., a heat pump or furnace) in response to a heating request. The following discussion applies to both heating and cooling operations. In one aspect, the initial capacity of the HVAC equipment can be set to a minimum operating capacity supported by the equipment. For example, the HVAC equipment can be set to 25% of its maximum supported capacity. Once the HVAC equipment starts operating, the 300 controller periodically samples the ambient air temperature in the building. For example, the controller samples the ambient air temperature in the building every 3 minutes. To sample the air temperature in the building, the controller can either poll a thermostat (e.g., thermostat 108) or a temperature sensor (e.g., temperature sensor 210) installed in the building and receive a temperature reading from the respective thermostat or sensor. Alternatively, the ambient air temperature can be recorded at regular intervals by a thermostat or temperature sensor in the building, and the 300 controller can periodically sample the latest temperature reading recorded by that thermostat or sensor.It should be noted that the Controller 300 is not limited to sampling the ambient air temperature in the building at fixed intervals and can sample the air temperature according to any predetermined schedule or randomly. In one aspect, after initiating HVAC equipment operation in response to a cooling or heating request, the Controller 300 can optionally wait a predetermined stabilization period before beginning to sample the ambient air temperature in the building. The stabilization period allows sufficient time for the HVAC equipment to achieve stable operation at its initial capacity setting. For example, assuming the controller initiates HVAC equipment operation at t=0, the stabilization period is set to 10 minutes, and the sampling period is set to 3 minutes, the controller samples the air temperature at t=10 minutes, t=13 minutes, and so on. nc / / nn / cznz / B / viAi At each sampling event (e.g., t=10 min, t=13 min...), the 300 controller determines whether the air temperature in the building has changed since the air temperature sampled in the previous sampling event. If the 300 controller does not detect any change in air temperature since the previous sampling event, it increases the HVAC equipment capacity by a predetermined amount 'a'. At each sampling event, if the 300 controller detects that the air temperature has changed since the previous sampling event, it calculates a rate of change (ROC) value. For example, the ROC value represents the rate of temperature change over one hour (e.g., 5 degrees / hour). If the ROC value is less than the target ROC value (e.g.,If the ROC value is equal to or greater than the target ROC value, indicating that the air temperature is changing at the same rate as the target or faster than the target, respectively, the 300 controller increases the HVAC equipment capacity by a predetermined amount 'b'. The predetermined amounts 'a' and 'b' can be the same or different. If the ROC value is equal to or greater than the target ROC value, indicating that the air temperature is changing at the same rate as the target or faster than the target, respectively, the 300 controller reduces the HVAC equipment capacity by a predetermined amount 'c'. The predetermined amount 'c' can be equal to or different from at least one of 'a' or 'b'. In one aspect, the value 'b' increases by a multiple of n (where n is a positive integer) with each subsequent sampling event when the calculated ROC value is less than the target ROC value.Each of the predetermined quantities 'a', 'b' and 'c' can be set to a fixed percentage of the total capacity supported by the HVAC equipment or a fixed percentage of a current capacity at which the HVAC equipment is operating. Figure 5 is a flow diagram illustrating an example of Method 500 for achieving and maintaining a target rate of temperature change during a cooling operation in a building, in accordance with certain aspects of this disclosure. Method 500 can be implemented by the controller 300 as shown in Figure 3. It should be noted that while Method 500 has been described with reference to a cooling operation, Method 500 is also applicable to a heating operation. Controller 300 activates Method 500 in response to the start-up of cooling equipment (e.g., an air conditioner) and after the expiration of any preset stabilization period. As described above, Controller 300 can start the cooling equipment at an initial capacity in response to a detected cooling demand. For example, the initial capacity is set to 25%. In Figure 5, the HVAC equipment capacity is represented by the term "demand." In one or more aspects, the controller can dynamically adjust the initial capacity at which the cooling or heating equipment starts (for example, before stage 502). For example, the controller can set the initial capacity equal to the minimum capacity (e.g., %) for nighttime operation or if the outside temperature is low (during cooling operation) or high (during heating operation). This allows capacity to be increased slowly if needed when the HVAC system goes through Method 500. The controller can set the initial capacity to maximum (e.g., 100%) if the outside temperature is high (during cooling operation) or low (during heating operation). This allows the capacity to be gradually reduced if necessary when the HVAC system cycles through the different 500 method cycles. The controller can set the initial capacity to the minimum (e.g., 25%) if the previous heating / cooling demand recently ended (e.g., less than 15 minutes ago). This can prevent short equipment cycles. Method 500 begins, in step 502, by checking whether a predetermined sampling period (tRoc) has expired since the previous sampling event. tRoc can be a fixed time interval, such as 3 minutes. "Activate Timed / " represents a timer that starts when method 500 is activated, and "TimeANT" represents the time of the previous sampling event. In step 502, controller 300 determines that the predetermined sampling period tRoc has expired since the previous sampling event when (Activate Timer - TimeANT ^ tRoc). When controller 300 detects that the predetermined sampling period tRoc has expired since the previous sampling event, method 500 proceeds to step 504, where the controller increments a 'pulse 1' counter by 1. The pulse counter is initialized to 0. In step 506, controller 300 checks whether a new ambient air temperature (RATnew) value has been recorded in the building. The RAT (Return Air Temperature) represents the ambient air temperature in the building recorded by a thermostat (e.g., thermostat 108) or a temperature sensor (e.g., temperature sensor 210). RATnew can represent an air temperature value recorded at or after the last sampling event (i.e., at or after the expiration of the last sampling interval tpoc). Thus, in step 506, the controller checks whether a new air temperature value RATnew has been recorded after the last sampling event. If RATnew has been recorded after the last sampling event, the method proceeds to step 510.On the other hand, if RATnueva has not been recorded after the last sampling event, the method advances to step 508 where RATnueva is set to the current air temperature value (displayed as RATact). RATact can represent a more recent air temperature value recorded by the thermostat or temperature sensor. In step 510, controller 300 checks if RATnueva < RATant, where RATant represents an air temperature value recorded at or after the previous sampling event (i.e., at or after the expiration of the previous sampling interval iroc) Essentially, in step 510, controller 300 checks if the latest recorded air temperature RATnueva is lower than a previously recorded air temperature RATant. If RATnueva is not lower than RATant, method 500 proceeds to step 512. In step 512, controller 300 checks if the pulse counter is greater than 1 (pulses 1 > 1). If the pulse counter is not greater than 1, method 500 proceeds to step 516 where the HVAC equipment capacity is set to 50% (displayed as Demand = 50%). Alternatively, if the pulse counter is greater than 1, method 500 proceeds to step 514 where the HVAC equipment capacity is increased by 25% (displayed as Demand = Demand + 25%). Method 500 then continues to step 528 of each of steps 514 and 516. In step 510, if it is observed that RATnueva is less than RATant, method 500 proceeds to step 518 where controller 300 calculates a current rate of change (ROC) of the air temperature in the building as ROC = | RATnueva - RATant |. For example, the calculated current ROC value represents the current rate of temperature change per hour between two consecutive sampling events. In step 520, the controller 300 checks whether the rate of change (ROC) of the air temperature in the building is equal to or greater than a target ROC (displayed as ROC > Target ROC). As described above, the target ROC can be provided by the user or automatically determined by the controller based on one or more parameters, such as the target air temperature and target time. If the ROC is found to be equal to or greater than the target ROC, method 500 proceeds to step 522, where the HVAC equipment capacity is reduced by 5% (displayed as Demand = Demand - 5%). The pulse counter is then reset to 0 in step 524. Alternatively, if the ROC is not equal to or greater than the target ROC, method 500 proceeds to step 526, where the controller increases the HVAC equipment capacity by a multiple of 5% based on the pulse counter (displayed as Demand). = Demand + (pulse 1 - 1) * 5%).By increasing the capacity based on the pulse counter, the controller increases the HVAC equipment capacity by a larger value each time the ROC is not equal to or greater than the target ROC in consecutive sampling events. The method continues in step 528 of each of steps 524 and 526. In step 528, the controller sets RATant to RATnueva (displayed as RATant = RATnueva) In step 530, controller 300 sets TIME to the current value of Activate Timer (displayed as TIME = Activate Timer). In step 532, controller 300 resets RATnew to 0 (displayed as RATnew = empty). In step 534, controller 300 checks whether the HVAC equipment capacity value is equal to or less than a minimum capacity at which the HVAC equipment operates. As noted earlier, in the context of example method 500, the minimum HVAC equipment capacity is assumed to be 25%. Thus, as shown, step 534 checks if Demand < 25%. If the capacity is equal to or less than the minimum capacity at which the HVAC equipment operates, method 500 proceeds to step 536, where the controller sets the capacity to the minimum HVAC equipment capacity (shown as Demand = 25%). This step ensures that the HVAC equipment capacity is not set below the minimum equipment capacity. The method then proceeds to step 538 from step 536. Alternatively, if the capacity is found to be greater than the minimum capacity at which the HVAC equipment operates, method 500 proceeds directly to step 538. In step 538, controller 300 checks if the capacity exceeds the maximum capacity (for example, 100%) of the HVAC equipment (displayed as Demand > 100%). If the capacity exceeds the maximum capacity supported by the HVAC equipment, the method proceeds to step 540, where controller 300 sets the capacity to the maximum capacity of the HVAC equipment (illustrated as Demand = 100%). This step ensures that the capacity is not set above the maximum capacity of the HVAC equipment. It should be noted that the maximum capacity supported by the HVAC system may be less than 100%. The method then proceeds to step 542 from step 540. Alternatively, if the capacity is not greater than the maximum capacity of the HVAC equipment, method 500 proceeds directly to step 542. In step 542, the controller checks if the cooling request has been removed (displayed as cooling request = active). If the cooling request is removed, method 500 terminates here. If the cooling request is still active, the method returns to step 502 and executes another cycle of method 500 upon expiration of the next sampling interval. The cooling request is typically removed when the desired air temperature in the building is reached. Therefore, as long as the cooling request is active, method 500 repeats steps 502 through 542 to achieve the target rate of change (target ROC) and maintain the target ROC once it is reached. It should be noted that, although method 500 has been described with reference to a cooling operation, method 500 also applies to a heating operation. For a heating operation, method 500 can be triggered in response to a heating request. Furthermore, the decision block checks if RATnueva > RATant, and decision block 542 checks if the heating request has been removed. In one or more aspects, some HVAC systems may include heating and / or cooling equipment capable of operating in multiple stages. Additionally, or alternatively, an HVAC system may include multiple heating and / or cooling units that provide multiple sources of cooling or heating. For example, an HVAC system may include two different types of heating equipment, such as a heat pump and a furnace. Similarly, the HVAC system may include multiple cooling units, such as several air conditioning units. In such a case, the 300 controller can leverage the multiple stages of one or more pieces of equipment to achieve and maintain the target ROC. For example, when operating equipment at a lower stage is insufficient to achieve the target ROC, the controller can operate the equipment at a higher stage to provide a greater degree of cooling or heating as needed to achieve the target ROC.Similarly, when the HVAC system includes multiple heating or cooling units, the controller can switch from a low-capacity unit to a high-capacity unit or operate multiple units simultaneously to achieve a higher target ROC. In one or more aspects, when a system includes two or more heating and / or cooling sources, the 300 controller can initiate operation of a first source (e.g., a heating or cooling source depending on the heating or cooling request, respectively) in response to a heating / cooling request and execute method 500 to achieve and maintain a target ROC. When the capacity of the first source reaches its maximum capacity (e.g., 100%) with the current ROC still below the target ROC, the controller can switch to a second source with a higher heating / cooling capacity than the first source and execute method 500 by operating the second source. When the capacity of the second source falls below a minimum threshold, the 300 controller can revert to the first source to conserve resources (e.g., energy, fuel, etc.).The minimum threshold capacity of the second source can be set at the minimum capacity allowed by the second source or at any other value higher than the minimum allowed capacity. Figure 6 is a flowchart illustrating an example of Method 600 for achieving and maintaining a target rate of temperature change in a multi-unit HVAC system, in accordance with certain aspects of this disclosure. Method 600 is shown as an extension of Method 500, as shown in Figure 5. The multi-unit HVAC system may include multiple heating units and / or multiple cooling units providing multiple heating and / or cooling sources, respectively. Example Method 600 applies to both heating and cooling operations. Method 600 assumes that the HVAC system includes a source 1 and a source 2. Sources 1 and 2 can represent heating or cooling sources depending on whether a heating or cooling operation is in progress, respectively. For example, in the context of a heating operation, source 1 might represent a heat pump and source 2 might represent a furnace. In the context of a cooling operation, sources 1 and 2 might represent two different air conditioning units. Method 600 initiates the operation of source 1 (before initiating step 502 in Figure 5) in response to a heating or cooling request, whichever is the case. In step 538, if the capacity exceeds the maximum capacity allowed by source 1, the method proceeds to step 540 where controller 300 sets the capacity to the maximum capacity of source 1 (shown as Demand = 100%). Method 600 then proceeds to step 602 where a second pulse counter, "pulse 2," is incremented by one. Pulse 2 is initialized to '0'. In step 604, controller 300 checks whether pulse 2 has equaled or exceeded a maximum threshold value. In example method 600, the threshold value for pulse 2 is set to 5, and therefore step 604 checks whether pulse 2 > 5. If pulse 2 is equal to or greater than the threshold value, the method proceeds to step 606 where controller 300 switches from source 1 to source 2 and resets pulse 1 to '0'. Source 2 is generally a more powerful heating / cooling source than source 1 and is capable of achieving higher ROCs than source 1.Alternatively, if pulse 2 is less than 5, the method continues with step 542. In one respect, switching from source 1 to source 2 only when pulse 2 reaches a threshold value allows a minimum number of opportunities (equal to the threshold pulse 2 value) for source 1 to achieve the target ROC at its maximum capacity before switching to source 2. For example, when source 1 is a heat pump and source 2 is a furnace, source 2 may be associated with a higher energy cost than source 1. In this case, it may be more efficient to operate source 1 at its maximum capacity for a few additional cycles before switching to source 2. In step 534, if the capacity is equal to or less than the minimum capacity at which the HVAC equipment is operational (source 1 or source 2, whichever is currently operating), the method proceeds to step 536, where the controller sets the capacity to the minimum capacity of the HVAC equipment (illustrated as Demand = 25%). The minimum capacities of source 1 and source 2 can be set to the same value, different values, or the actual minimum capacities supported by sources 1 and 2. Method 600 then continues with step 610, where the controller checks whether source 2 is operating. If source 2 is not operating (for example, when source 1 is operating), the method proceeds to step 538. Alternatively, if source 2 is operating, method 600 proceeds to step 612, where the controller decreases pulse 2 by one (shown as pulse 2 = pulse 2 - 1).In step 614, the controller checks if pulse 2 is equal to a minimum threshold (displayed as pulse 2 = 0). If pulse 2 is not equal to zero, method 600 proceeds to step 538. However, if pulse 2 is equal to 0, method 600 proceeds to step 616, where the controller switches from source 2 to source 1 and resets pulse 1 to zero (pulse 1 = 0). In one respect, the minimum threshold of pulse 2 can be set to any value below the maximum threshold value of pulse 2. In one or more aspects, the 300 controller can be configured to automatically select or adjust the temperature change rate setting based on one or more factors. The controller can reduce the rate of temperature change to save energy and / or increase the operating efficiency of the HVAC system. For example, the controller can reduce the rate of temperature change if a conditioned space is unoccupied for extended periods. The controller can also reduce the rate of temperature change if the outside temperature is low and the HVAC system is cooling, or if the outside temperature is high and the HVAC system is heating. Finally, the controller can reduce the rate of temperature change at night when the occupants are asleep. The controller can adjust the temperature change rate based on the utility company's automated demand response (ADR) signaling. For example, the controller can select a slower temperature change rate if the utility company's ADR restriction is in effect. The controller can reduce the rate of temperature change to lower equipment noise. For example, if the user is in a meeting, the controller can reduce the rate of temperature change to decrease duct noise due to the high airflow. This applies to any other activity that requires reducing HVAC noise while still meeting the thermostat's cooling / heating set points. The controller can dynamically adjust the temperature change rate for a zoned system. For example, the controller can select a lower temperature change rate when most zones are closed. The controller can select a higher temperature change rate when most zones are open. The controller can select or adjust the temperature change rate depending on which accessory(ies) are currently in use. For example, the controller can reduce the temperature change rate when a dehumidifier is operating during a cooling cycle. Reducing the temperature change rate extends the cooling cycle time, allowing the dehumidifier to dehumidify more effectively. Similarly, the controller can reduce the temperature change rate when a humidifier is operating during a heating cycle. Reducing the temperature change rate extends the heating cycle time, allowing the humidifier to humidify more efficiently. In one or more aspects, the 300 controller can be configured to select or modify the sampling period (tñoc) based on one or more factors. nc / / nn / C7nz / B / viAi The controller can select or adjust the iroc based on the outdoor temperature and / or humidity. For example, a shorter iroc is selected if the outdoor temperature and / or humidity are too high. The controller can receive outdoor temperature and / or humidity readings from various sources, including, but not limited to, one or more outdoor thermostats, one or more outdoor temperature / humidity sensors, and an online weather service via the internet. The controller can select a new tnoc in response to detecting a drastic change in the air temperature inside the building. For example, the controller might select a tRoc that is shorter than the current iroc in response to detecting a temperature spike (positive or negative) inside the building. The controller can temporarily implement the shorter tRoc until the temperature spike subsides, after which the controller can reset the iroc to a previously selected value. In one respect, the newly selected iroc may depend on how significant the temperature change is. For example, a larger temperature change might result in the controller selecting a shorter tRoc. The controller can select a new iroc in response to detecting a drastic change in the return air temperature. The return air temperature can be measured with a temperature sensor installed in a return airflow duct. The controller can temporarily implement the shorter iroc until the temperature spike subsides, after which the controller can reset the tpoc to a previously selected value. The controller can select a new iroc in response to detecting a substantial change in the capacity at which a heating or cooling unit is operating. In some cases, when the controller rapidly increases the capacity setting of a heating or cooling unit, there may be a delay in the higher heating or cooling output being reflected in the temperature readings. In such a case, the controller can select (e.g., temporarily) a longer tpoc value to allow the thermostat or temperature sensor readings to reflect the increased heating or cooling output. In a zoned installation, the controller may select a new iroc if a zone is closed. This is because temperature readings previously taken for an earlier zone configuration may no longer apply to the new zone. The controller can select iroc based on the sensitivity of a temperature sensor installed in the building that feeds temperature readings to the controller. Different temperature sensors can have different sensitivities, where the sensitivity of a temperature sensor depends on several factors, including, but not limited to, the material used to construct the sensor bulb (e.g., metal, glass, plastic, etc.), the amount of epoxy used to waterproof the sensor, and the paint used on the sensor. The controller can select or adjust the occupancy interval (tRoc) based on the occupancy level within a building or a specific area. For example, the controller can select a shorter tRoc in response to detecting that an area of the building is occupied and / or detecting constant activity / occupancy in that area. Building occupancy and / or activity data can be obtained through various means, including but not limited to motion detectors, infrared cameras, ultrasonic sensors, ultra-wideband geolocation sensors, GPS geolocation systems, and wearable devices (e.g., smartwatches, iBeacons, etc.). User activity can also be determined from the stability of the return air temperature.For example, a larger fluctuation in return air temperature indicates a constantly changing system load, which may be due to increased activity in a conditioned space, for example, during the day. Conversely, return air temperature trends at night follow a relatively smoother path, so a higher traction control setting can be selected. The controller can select the trOc based on the temperature change rate setting. A shorter trOc can be selected for a larger temperature change rate setting (e.g., 10 degrees per hour), and a longer trOc can be selected for a smaller temperature change rate setting (1 degree per hour). The controller can select or adjust the cutoff based on how close the current operating capacity of a heating or cooling unit is to the unit's maximum capacity. For example, the controller can increase the cutoff value if the unit is operating close to its maximum capacity. The controller can select tRoc based on the accessories currently in operation. For example, the controller may select a longer trac if a fan is running. In this document, "or" is inclusive and not exclusive, unless expressly stated otherwise or the context indicates otherwise. Therefore, in this document, "A or B" means "A, B, or both," unless expressly stated otherwise or the context indicates otherwise. Furthermore, "and" is both joint and several, unless expressly stated otherwise or the context indicates otherwise. Therefore, in this document, "A and B" means "A and B, jointly or separately," unless expressly stated otherwise or the context indicates otherwise. The scope of this disclosure covers all changes, substitutions, variations, alterations, and modifications to the example modalities described or illustrated herein that would be understood by a person skilled in the art. The scope of this disclosure is not limited to the example modalities described or illustrated herein. Furthermore, although this disclosure describes and illustrates the respective modalities herein that include particular components, elements, features, functions, operations, or steps, any of these modalities may include any combination or permutation of any of the components, elements, features, functions, operations, or steps described or illustrated anywhere herein that would be understood by a person skilled in the art.Furthermore, the reference in the appended claims to an apparatus or system or a component of an apparatus or system that is adapted, arranged for, capable of, configured for, enabled for, operable or operational for performing a particular function encompasses that apparatus, system, component, whether or not it or that particular function is activated, switched on or unlocked, provided that such apparatus, system or component is adapted, arranged, capable, configured, enabled, operable or operational.
Claims
1. A system for controlling the air temperature in a building, comprising: one or more pieces of equipment associated with a heating, ventilation, and air conditioning (HVAC) system; at least one of one or more thermostats or one or more temperature sensors for recording the air temperature in the building; and a controller communicatively coupled to one or more pieces of equipment and at least one of one or more thermostats or one or more temperature sensors, wherein the controller comprises: a communication module for exchanging data with one or more devices; and a device interface configured to communicate control signals to the one or more pieces of equipment for controlling the operation of the one or more pieces of equipment;where the controller is configured to: obtain a user-specified target rate of change (ROC) of the air temperature in the building and operate one or more pieces of HVAC system equipment to achieve the target ROC, where the controller is configured to operate the one or more pieces of equipment by: operating one or more pieces of HVAC system equipment at an initial capacity; and adjusting the capacity at which the one or more pieces of HVAC system equipment operate to achieve the target ROC of the air temperature in the building.
2. The system of claim 1, wherein the controller is further configured to: obtain air temperature samples in the building at multiple sampling events according to a schedule and adjust the capacity of one or more pieces of equipment by: increasing the capacity at which the one or more pieces of equipment operate by a first amount in response to not detecting changes in air temperature in a desired direction between two sampling events; calculating a current ROC in the air temperature between the two sampling events in response to detecting a change in air temperature in the desired direction; and in response to the calculation of the current ROC: increasing the capacity at which the one or more pieces of equipment operate by a second amount when the current ROC is less than the target ROC or reducing the capacity at which the one or more pieces of equipment operate by a third amount when the current ROC is equal to or greater than the target ROC.
3. The system of claim 2, wherein the controller is further configured to: receive a heating request or a cooling request from one or more thermostats; and operate one or more pieces of HVAC system equipment to achieve the target ROC, in response to the heating or cooling request.
4. The system of claim 3, wherein the controller is configured to repeat the sampling and adjustment steps until the heating request or the cooling request is eliminated.
5. The system of claim 4, wherein the controller is further configured to: initialize a stabilization period in response to the receipt of the heating request or the cooling request; and initialize sampling after the expiration of the stabilization period.
6. The system of claim 2, wherein at least one of the first quantity, the second quantity, or the third quantity is a fixed percentage of a maximum capacity of one or more pieces of equipment.
7. The system of claim 1, wherein the controller is further configured to: operate the one or more pieces of HVAC system equipment by activating a first piece of equipment, detect that the capacity of the first piece of equipment is set to equal or greater than a selected maximum capacity of the first piece of equipment, in response to the detection, switch from operating the first piece of equipment to operating a second piece of equipment, and adjust the capacity at which the second piece of equipment operates to achieve the target ROC of the air temperature in the building, 8. The system of claim 7, wherein the controller is further configured to: detect that the capacity of the second piece of equipment is set to equal to or less than a selected minimum capacity of the second piece of equipment and, in response, resume operating the first piece of equipment.
9. The system of claim 1, wherein the one or more pieces of equipment comprise at least one heating unit capable of operating at a first plurality of capacities and at least one cooling unit capable of operating at a second plurality of capacities.
10. The system of claim 1, wherein the one or more devices comprise one or more computing devices communicatively coupled to the controller, wherein the controller obtains user input from the one or more computing devices.
11. A method for controlling the air temperature in a building, comprising: obtaining, as specified by the user, a target rate of change (ROC) of the air temperature to be achieved in the building and operating one or more pieces of equipment of a heating, ventilation, and air conditioning (HVAC) system to achieve the target ROC, wherein operating the one or more pieces of equipment comprises: operating one or more pieces of HVAC system equipment at an initial capacity; and adjusting the capacity at which the one or more pieces of HVAC system equipment operate to achieve the target ROC of the air temperature in the building.
12. The method of claim 11, further comprising: obtaining a sample of the air temperature in the building at multiple sampling events according to a schedule and adjusting the capacity of one or more pieces of equipment by: increasing the capacity at which the one or more pieces of equipment operates by a first amount in response to not detecting changes in the air temperature in a desired direction between two sampling events; calculating a current ROC in the air temperature between the two sampling events in response to detecting a change in the air temperature in the desired direction; and in response to the calculation of the current ROC: increasing the capacity at which the one or more pieces of equipment operate by a second amount when the current ROC is less than the target ROC or reducing the capacity at which the one or more pieces of equipment operate by a third amount when the current ROC is equal to or greater than the target ROC.
13. The method of claim 12, further comprising repeating the sampling and adjustment steps until the heating request or the cooling request is eliminated.
14. The method of claim 1, further comprising: operating the one or more units of the HVAC system by activating a first unit of the one or more units, detecting that the capacity of the first unit is set to equal or greater than a selected maximum capacity of the first unit, in response to the detection, switching from operating the first unit to operating a second unit of the one or more units; and adjusting the capacity at which the second unit operates to achieve the target ROC of the air temperature in the building, 15. The method of claim 14, further comprising: Detecting that the capacity of the second piece of equipment is set as equal to or less than a selected minimum capacity of the second piece of equipment; and in response, resuming operation of the first piece of equipment.
16. A controller for controlling the air temperature in a building, comprising: a communication module for exchanging data with one or more devices; and an equipment interface configured to communicate control signals to one or more pieces of equipment in a heating, ventilation, and air conditioning (HVAC) system to control the operation of one or more pieces of equipment; wherein the controller is configured to: obtain, as specified by the user, a target rate of change (ROC) of the air temperature in the building; and operate one or more pieces of equipment in the HVAC system to achieve the target ROC, wherein the controller is configured to operate one or more pieces of equipment by: operating one or more pieces of equipment in the HVAC system at an initial capacity; and adjusting the capacity at which the one or more pieces of equipment in the HVAC system operate to achieve the target ROC of the air temperature in the building.
17. The controller of claim 16, wherein the controller is also configured to: obtain air temperature samples in the building at multiple sampling events according to a schedule and adjust the capacity of one or more pieces of equipment by: increasing the capacity at which the one or more pieces of equipment operates by a first amount in response to not detecting changes in air temperature in a desired direction between two sampling events; calculating a current ROC in the air temperature between the two sampling events in response to detecting a change in air temperature in the desired direction; and in response to the calculation of the current ROC: increasing the capacity at which the one or more pieces of equipment operate by a second amount when the current ROC is less than the target ROC or reducing the capacity at which the one or more pieces of equipment operate by a third amount when the current ROC is equal to or greater than the target ROC.
18. The controller of claim 17, wherein the controller is configured to repeat the sampling and adjustment steps until a heating request or a cooling request is cleared.
19. The controller of claim 16, wherein the controller is also configured to: operate the one or more pieces of HVAC system equipment by activating a first piece of equipment of the one or more pieces of equipment, detect that the capacity of the first piece of equipment is set to equal or greater than a selected maximum capacity of the first piece of equipment, in response to the detection, switch from operating the first piece of equipment to operating a second piece of equipment of the one or more pieces of equipment, and adjust the capacity at which the second piece of equipment operates to achieve the target ROC of the air temperature in the building, 20. The system of claim 19, wherein the controller is further configured to: detect that the capacity of the second piece of equipment is set to equal to or less than a selected minimum capacity of the second piece of equipment and, in response, resume operating the first piece of equipment.