Patent Description:
Controlling combustion of boilers, water heaters, and furnaces can be challenging given that a number of variables may need to be controlled during combustion. In the case of some modulating boilers, combustion is non-continuously controlled. Non-continuously controlled combustion is tuned periodically while the boiler is operating at a specific firing rate. Alternatively, combustion may be continuously regulated, ignoring the modulation percentage/firing rate. Some current methods of combustion control do not account for certain factors, such as venting draft and venting restriction, that do not affect combustion uniformly with respect to modulation percentage/firing rate. Because such continuous combustion control methods do not account for these factors, the specific modulation percentage/firing rate effects are not accounted for. Therefore, sub-optimal combustion exits while operating at the specific modulation percentages/firing rates because the combustion control fails to correct control based on the certain factors.

It is desirable to control combustion using feedback control loops that adapt based on various factors. These control loops may control an independent variable such as an air fuel ratio (for example, by using O<NUM> concentration). Alternatively, or additionally, the control loops could control other independent or dependent variables such as a NOx concentration, a CO concentration, a combustion oscillation/noise, a flame characteristic, and/or a burner temperature. The feedback control loops may control the variable at various operating conditions. The various operating conditions may be influenced by factors such as modulation percentage/firing rate, fuel quality (for example, a Wobbe index, a higher heating value, and/or a density), a fuel supply pressure, a manifold gas pressure, a barometric pressure, outdoor temperature, a combustion air temperature, a flame rectification/flame signal, a flame flicker/flame signal frequency, a fan speed, an airflow, an actual gas flow, a flame temperature, a flame appearance/characteristics (such as a flame length, a flame light spectrum/composition presence, a flame light wavelength, a flame color and/or distribution on burner, a flame stability, and/or a flame light intensity), a humidity, a combustion condensate flow, a flue temperature, burner temperature(s), and/or a dry-to-wet concentration ratios of various combustion products (such as O<NUM>, NOx, and/or CO<NUM>).

In order to optimally and efficiently adapt the feedback control loops, trim values are learned. This is accomplished by implementing "learned" feedback control loops. Learned feedback control loops allow the feedback control loop to correct control based on certain factors at specific firing rates. Using learned feedback loops helps to ensure proper control of combustion in the case that a sensor fails, and/or a fault condition occurs. For example, O<NUM> sensors typically have a finite life and may be prone to faults and failures. Accordingly, by using a learned feedback control loop, over time a system can continue to benefit from the use of an O<NUM> sensor even once the sensor is no longer in use.

<CIT> describes methods and systems for programming and controlling a control system of a gas valve assembly. The methods and systems include programming a control system in an automated manner to establish an air-fuel ratio based at least in part on a burner firing rate. The established air-fuel ratio may be configured to facilitate meeting a combustion constituent set point of combustion constituents in the combustion exhaust. The methods and systems include controlling operation of a combustion appliance based on closed-loop control techniques and utilizing feedback from a sensor measuring combustion constituents in exhaust from a combustion chamber in the combustion appliance. The combustion constituents on which control of the combustion appliance may be determined include oxygen and/or carbon dioxide.

<CIT> describes a method for tuning an oxygen trim controller during the commissioning of a combustion control system for controlling operation of a boiler combustion system.

<CIT> describes a method for commissioning a combustion control system for controlling operation of a boiler combustion system. The method includes the step of mapping a plurality of sets of coordinated servo positions for the fuel flow control device and the air flow control device at a plurality of selected firing rate points between a minimum firing rate and a maximum firing rate by using an algorithm and an iterative process to identify the coordinated air and fuel actuator positions.

The invention provides a fluid heating system. The fluid heating system includes a burner unit configured to heat a fluid, a sensor configured to sense a characteristic of the fluid heater system, and a controller coupled to the burner unit and the sensor. The controller includes an electronic processor and a memory. The controller is configured to receive a first signal corresponding to the characteristic from the sensor, determine, based on the first signal, a first feedback loop control, wherein the first feedback loop control includes validating the first signal and outputting a first operating parameter control to the burner unit in response to the first signal being validated, wherein the first signal is validated by determining that the first signal is steady based on previous signals from the sensor and that the first signal includes a threshold error value based on previous signals from the sensor, control combustion of the burner unit based on the first feedback loop control, determine, based on the first feedback loop control, a second feedback loop control, wherein the second feedback loop control includes weighting a first operation point and the first operating parameter control between a second operation point and a second operating parameter control and a third operation point and third operating parameter control, wherein the weighted second operation point and second operating parameter control and the weighted third operation point and third operating parameter control are reverse interpolated into a learned trim table, and control combustion of the burner unit based on the second feedback loop control, wherein all of the operating parameter controls are trim values and combustion of the burner is controlled based on the trim values by adjusting one of gas damper angle, air damper angle, and blower speed.

Before any embodiments of the application are explained in detail, it is to be understood that the application is not limited in its application to the details of construction and the arrangement of components set forth in the following description or illustrated in the following drawings. The application is capable of other embodiments and of being practiced or of being carried out in various ways within the scope of the appended claims.

<FIG> illustrates a combustion system <NUM> for heating a fluid in a fluid heating system according to some embodiments. In some embodiments, the fluid heating system is a boiler, (for example, a modulating boiler or a non-modulating boiler). In such an embodiment, the combustion system <NUM> is configured to heat a fluid (for example, water). In other embodiments, the fluid heating system is a water heater or a furnace. In such an embodiment, the combustion system <NUM> is configured to heat a fluid (for example, water) contained within a tank.

The combustion system <NUM> is used to provide a pre-mixed fuel and air mixture to a burner (not shown). In some embodiments, the burner may be a multi-stage burner. The combustion system <NUM> includes a source of air <NUM>, an air damper <NUM>, a source of gas <NUM>, a safety gas valve <NUM>, a gas pressure regulator <NUM>, a gas damper <NUM>, and a variable speed blower <NUM>. The air damper <NUM> controls the amount of air that is mixed with a gas (for example, natural gas or propane), so that a desirable air to fuel ratio can be maintained. The safety gas valve includes a lever to open and close the flow of gas from a gas source. The gas pressure regulator includes an adjustment screw and spring that allows for varying the gas pressure. The gas damper <NUM> controls the flow of gas that is mixed with air prior to being fed to the variable speed blower, thereby varying the heat output of the burner. The variable speed blower can be controlled to run at different speeds to control the flow of the air and gas mixture to the burner.

<FIG> is a block diagram of a combustion system control <NUM> according to some embodiments. In the illustrated embodiment, the combustion system control <NUM> includes a user interface <NUM>, a comfort controller <NUM>, and a combustion control unit <NUM> that includes a boiler controller <NUM>, a feedback controller <NUM>, and an O<NUM> sensor controller <NUM>.

Each controller in the combustion system control <NUM> includes a combination of hardware and software components. Although illustrated as separate controllers, in other embodiments the controllers of the combustion system control <NUM> may be a single unit, or grouped together in multiple controller groupings. Each controller may include a printed circuit board ("PCB") that is populated with a plurality of electrical and electronic components that provide power, operational control, and/or protection to the fluid heating system. The PCB may include an electronic processor (for example, a microprocessor, a microcontroller, or another suitable programmable device or combination of programmable devices), a memory, and a bus, such as a controller-area network bus ("CAN bus"). The bus connects various components of the PCB, such as the memory to the electronic processor. The memory includes, for example, a read-only memory ("ROM"), a random access memory ("RAM"), an electrically erasable programmable read-only memory ("EEPROM"), a flash memory, a hard disk, or another suitable magnetic, optical, physical, or electronic memory device. The electronic processor may be connected to the memory and executes software instructions that are capable of being stored in the RAM (for example, during execution), the ROM (for example, on a permanent basis), or another non-transitory computer readable medium such as another memory or disc. Additionally, or alternatively, the memory is included in the electronic processor. Software included in the implementation of the fluid heating system is stored in the memory of the respective controller that it pertains to. The software includes, for example, firmware, one or more applications, program data, one or more program modules, and other executable instructions. The controllers are configured to retrieve from memory and execute, among other things, instructions related to the control processes and methods described herein.

Each controller may also include an input/output ("I/O") system that includes routines for transferring information between components within the controller and/or other components of the water heating system. The I/O system may include a wireless receiver/transmitter for wireless communicating with other controllers and/or an external device. In some embodiments, each controller receives power from a power supply (for example, an input power <NUM>). The input power <NUM> may be, for example, a mains power supply, a battery source, for example, AA batteries, AAA batteries, etc., solar panels, thermo-electric generators (TEG), or a wall power adapter.

The PCB of each controller also includes, among other things, a plurality of additional passive and active components such as resistors, capacitors, inductors, integrated circuits, converters, and amplifiers. These components are arranged and connected to provide a plurality of electrical functions to the PCB including, among other things, filtering, signal conditioning, signal converter, and voltage regulation.

Each component of the combustion system control <NUM> will now be described with respect to their specific function. The user interface <NUM> may be connected to a housing of the fluid heating system and is used to modify settings of the fluid heating system (for example, by a user). In some embodiments, the user interface <NUM> may include a variety of buttons, a touchscreen, LEDs, or some combination thereof. A user or operator of the fluid heating system may change the operational status of the fluid heating system by selecting the desired operational status on the user interface <NUM>.

The comfort controller <NUM> receives inputs from the user interface <NUM> and communicates them to the combustion control unit <NUM> to control combustion of the fluid heating system. These inputs may include non-safety switch inputs (such as thermostat/aquastat inputs), non-safety demand management sensor inputs (such as outdoor/tank/system temperatures), Building Management System (BMS) data, Building Automation System (BAS) data, options to cascade multiple heaters in unison, and boiler control operating data (such as clearing operation states and errors). The comfort controller <NUM> may also output one or more signals with respect to heat demands, field outputs (such as alarms), louvers, run-time, pump requirements (ON/OFF or speed), mixing valve values, BMS and BAS output data, and signals corresponding to the cascading of multiple heaters, to the combustion control unit <NUM>. The comfort controller <NUM> may also provide data back to the user interface <NUM>. For example, the comfort controller <NUM> may provide the user interface <NUM> with the combustion system status, error handling instructions, and/or information from the feedback controller <NUM>.

<FIG> is a block diagram of the combustion control unit <NUM> according to some embodiments. In the illustrated embodiment, the combustion control unit <NUM> includes the boiler controller <NUM>, the feedback controller <NUM>, and the O<NUM> sensor controller <NUM>. The boiler controller <NUM>, the feedback controller <NUM>, and the O<NUM> sensor controller <NUM> receive power from the input power <NUM>, as discussed above.

In general operation, the boiler controller <NUM> controls components of combustion at desired operating conditions and provides data to the comfort controller <NUM> to provide to the user interface <NUM> (for example, combustion system status, error handling instructions, and information from the feedback controller <NUM>). In the illustrated embodiment, the boiler controller <NUM> includes a receiver/transmitter <NUM>, a flame detection unit <NUM>, a blower power control <NUM>, a gas valve power control <NUM>, and an ignition spark control <NUM>. The boiler controller <NUM> receives inputs from the comfort controller <NUM>, a flame sensor <NUM>, the safety gas valve <NUM>, and the gas pressure regulator <NUM>. The input from the comfort controller <NUM> may include operating demand information. The flame detection unit <NUM> receives a flame detection input from the flame sensor <NUM>. The safety gas valve <NUM> and the gas pressure regulator <NUM> provide safety switch inputs to the boiler controller <NUM> such as a pressure switch that can detect blockages and air flow and a flow switch that can determine if there is adequate water to be heated by the combustion system <NUM>. As discussed in more detail below, the boiler controller <NUM> may also receive input from the feedback controller <NUM>, as well as output the operating demand received from the comfort controller <NUM> to the feedback controller <NUM>.

The ignition spark control <NUM> determines whether current is supplied to the spark transformer <NUM> to ignite the ignitor <NUM>. The blower power control <NUM> outputs a determined amount of blower power (for example, via a pulse-width modulated (PWM) signal) to the blower <NUM>. The blower power control <NUM> can also perform blower control signal override where it removes a load (for example, 24Vdc) from the blower, thus causing the blower to run at the maximum speed. The gas valve power control <NUM> provides a determined amount of power to the gas valve <NUM> to control the gas valve.

In general operation, the feedback controller <NUM> is configured to control components of combustion based on feedback signals from multiple combustion components. In the illustrated embodiment, the feedback controller <NUM> includes a receiver/transmitter <NUM> and an operating point control unit <NUM>. The operating point control unit <NUM> receives a barometric pressure input, a pre-mix air temperature input from the premix temperature sensor <NUM>, an operating demand input from the boiler controller <NUM>, and/or O<NUM> sensor data from the O<NUM> sensor controller <NUM>. The O<NUM> sensor data may include probe temperature, O<NUM> concentration, operating state, and/or error information. The operating point control unit <NUM> controls the positions of the gas damper <NUM> and the air damper <NUM> and the speed of the blower <NUM>. The output includes increasing or decreasing the blower <NUM> speed, adjusting the gas damper <NUM> angle, and/or adjusting the air damper <NUM> angle. In addition, the feedback controller <NUM> provides output to the O<NUM> sensor controller <NUM> such as operating state, calibration, and/or error handling. In response to receiving feedback from the blower <NUM>, the premix temperature sensor <NUM>, the gas damper <NUM>, the air damper <NUM>, and the O<NUM> sensor controller <NUM>, the feedback controller <NUM> provides data to the boiler controller <NUM> to communicate to the user interface <NUM>. For example, the data may include the barometric pressure, the O<NUM> concentration, the operating status, and error handling instructions.

In general operation, the O<NUM> sensor controller <NUM> controls components of the O<NUM> sensor including heater control, O<NUM> sensor error handling, and O<NUM> sensor validity status. In the illustrated embodiment, the O<NUM> sensor controller <NUM> includes a receiver/transmitter <NUM>, an O<NUM> sensor control <NUM>, and a heater control <NUM>. The O<NUM> sensor controller <NUM> receives inputs from the feedback controller <NUM> that may include operating state requirements dependent upon the operating state the fluid heating system is being run in, such as a free air calibration trigger, a zero calibration trigger, and/or an error reset trigger. The heater control <NUM> receives an O<NUM> sensor heater status (ON/OFF) depending on the operating state. The O<NUM> sensor controller <NUM> further receives a 12Vdc load from the feedback controller <NUM> and an O<NUM> sensor reading and a sensing element resistance relating to element temperature from the O<NUM> sensor <NUM>.

The O<NUM> sensor controller <NUM> outputs both a corrected and uncorrected O<NUM> concentration value based on the O<NUM> sensor <NUM> input, a sensing element resistance based on the O<NUM> sensor <NUM> input, and a sensor status. The O<NUM> sensor controller <NUM> also outputs error information relating to the O<NUM> sensor <NUM> (for example, information relating to an O<NUM> sensor error), the O<NUM> sensor heater, a communication error, and a calibration error. The O<NUM> sensor error may include an O<NUM> sensor open/short fault, an over temperature limit of the O<NUM> sensor fault, a high temperature of the O<NUM> sensor warning, a low temperature limit of the O<NUM> sensor fault, and/or a low temperature of the O<NUM> sensor warning. The O<NUM> sensor heater error may include a heater open/short fault and/or a timeout of heater temperature rising fault. The communication error includes, for example, a communication timeout fault. The calibration error includes, for example, a gain over warning, an out of correction allowable range warning, an out of gain variation range warning, and/or a zero-point calibration warning.

<FIG> is a block diagram of the operating point control unit <NUM> according to some embodiments. In general operation, the operating point control unit <NUM> is configured to synchronize modifications to nominal combustion control based on various inputs. In the illustrated embodiment, the operating point control unit <NUM> includes a nominal operating point table <NUM>, a trim unit <NUM>, a synchronization unit <NUM>, a nominal operating point unit <NUM>, a gas damper control <NUM>, an air damper control <NUM>, and a blower control <NUM>. The nominal operating point table <NUM> may contain nominal operating points that are defined during the development and production of the fluid heating system. Nominal operating points may include, but are not limited to, the gas damper position (as an angle), air damper position (as an angle), and/or fan speed that correspond to a given operating condition of the fluid heating system. Specific operating points can be predefined for conditions such as an ignition operating point, a purge operating point, a standby operating point, and/or a failsafe operating point. In some embodiments, the nominal operating point table <NUM> defines various operating points related to modulation percentage/firing rate. For example, the nominal operating point table <NUM> may include ten points corresponding to ten modulation percentages/firing rates. In order to determine operating points that fall between the ten (for example) modulation percentages/firing rates, linear interpolation is performed, as discussed in detail below.

The nominal operating point table <NUM> outputs a nominal operating point to the trim unit <NUM>. The trim unit <NUM> performs operating point modification on the nominal operating points to control and/or adjust combustion characteristics using trim values, as discussed in detail below. The trim unit <NUM> outputs a modified operating point table, which is input into the synchronization unit <NUM>.

The synchronization unit <NUM> ensures that the modified operating points correspond to operating points on an operating curve when implemented into the combustion system. In addition to the modified operating point table, the synchronization unit <NUM> receives inputs including a desired modulation percentage, an actual gas damper position, an actual air damper position, and/or an actual fan speed. The desired modulation percentage may be provided by the boiler controller <NUM>. The synchronization unit <NUM> outputs a speed limited modulation percentage. The speed limited modulation percentage may be different than the desired modulation percentage, unless the fluid heating system is operating in a steady-state or slow modulating condition. The speed limited modulation percentage may be limited by how fast it can change. For example, this limit may be expressed in the percent change per second (%/sec). The limit is based on the speed limits of the gas damper, air damper, and/or blower. In order to change the modulation percentage according to the speed limited modulation percentage, the target gas damper position, air damper position, and/or fan speed is progressively changed in small increments approaching the desired modulation percentage.

The actual gas damper position, the actual air damper position, and the actual fan speed make up a synchronization feedback loop. The synchronization feedback loop is utilized to ensure that the gas damper, air damper, and blower are within a respective tolerance range based on the speed limited modulation percentage. For example, the tolerance ranges may be calculated between points in the nominal operating table using linear interpolation and/or a step function. If one or more components are not within their respective tolerance ranges, the speed limited modulation percentage will be paused from changing to ensure that each component maintains within tolerance during operation. When the speed limited modulation percentage is paused, a modulate back function takes place. In some embodiments, the speed limited modulation percentage is paused for a pre-determined time to ensure the components are back within tolerance. For example, a synchronization wait time is entered. The synchronization wait time may be in the range of approximately <NUM>-<NUM> seconds.

During the modulate back function, a modulate back time is entered in which the speed limited modulation percentage begins to slowly move in the opposite direction from the desired modulation percentage until all of the components are back within their respective tolerance ranges. For example, the modulate back time may be in the range of approximately <NUM>-<NUM> seconds. A modulate back speed controls how fast the synchronization unit <NUM> will change the modulation rate while modulating back. For example, the modulation back speed may be approximately <NUM>%/sec. Once one or more components are within their respective tolerances, the speed limited modulation percentage will be held at a value for a modulate forward time until either the desired modulation percentage crosses over the value or the burner of the fluid heating system shuts off. For example, the modulate forward time may be in the range of approximately <NUM>-<NUM> minutes. Using a modulate back functions allows operation up to a maximum fan speed to be accomplished and allows limited operation in case of issues such as a damper being stuck.

When a fluid heating system transitions from an ignition state to a run state, the synchronization unit <NUM> operates using the speed limited modulation percentage to ensure components stay within their respective tolerances.

The speed limited modulation percentage is output from the synchronization unit <NUM> to a desired modulation percentage input of the nominal operating point unit <NUM>. Additionally, the modified operating point table may be received from the trim unit <NUM> (for example, via the modified operating point table input of the nominal operating point unit <NUM>). Based on one or more inputs, the nominal operating point unit <NUM> outputs a target gas damper position to the gas damper control <NUM>, a target air damper position to the air damper control <NUM>, and/or a target fan speed to the blower control <NUM>.

<FIG> is a block diagram of the trim unit <NUM> according to some embodiments. The trim unit <NUM> trims the combustion in the combustion system <NUM> by deviating airflow from the nominal operating condition in order to achieve the correct air-fuel ratio. The trim unit <NUM> implements trim values, which describe the magnitude and direction of change, to achieve the correct air-fuel ratio. In some embodiments, the trim value is a multiplier of nominal fan speed that is required. For example, a trim value of <NUM> means that no change is required. Alternatively, a trim value of <NUM> means a <NUM>% increase in fan speed is needed or a trim value of <NUM> means a <NUM>% decrease in fan speed is needed. The trim unit <NUM> may be operated during the ignition state and the run state of the fluid heating system. The trim value is applied to the combustion system <NUM> such that the fan speed is changed without a corresponding change in the gas damper angle, thus allowing the air-fuel ratio to be adjusted at a given firing rate.

The trim unit <NUM> may take a plurality of types of trim into consideration when determining the trim value. The first type of trim may derive from the user interface <NUM> and is output by a user interface operating point corrections table <NUM>. The user interface operating point corrections table <NUM> may be similar to the nominal operating point table <NUM>, however, it contains differential values rather than absolute values. Each of the values may be of the same resolution as the equivalent values in the nominal operating point table <NUM> but can be scaled a certain amount. For example, the fan speed in the user interface operating point corrections table <NUM> at point <NUM> may be scaled to be <NUM> RPM higher than the fan speed at point <NUM> in the nominal operating point table. The amount that the values can be scaled may be limited to prevent extreme adjustments. For example, fan speed can be scaled up to the maximum fan speed, while air damper position and gas damper position can both be scaled a maximum of <NUM>°.

The second type of trim the trim unit <NUM> may consider is feed-forward trim <NUM>. Feed-forward trim <NUM> applies automatic corrections to the air-fuel ratio based on barometric pressure (altitude) and pre-mix temperature. In some embodiments, a reference barometric pressure and a reference pre-mix temperature are determined during commissioning of the fluid heating system. For example, the reference barometric pressure may be set to a <NUM> trim value during commissioning. In some embodiments, multiple settings are established for feed-forward trim <NUM> depending on whether the air damper or the gas damper is adjusted. For example, a first setting may include barometric pressure feed-forward trim, a second setting may include feed-forward for fuel trim, and a third setting may include premix temperature feed-forward trim. Barometric pressure feed-forward trim and feed-forward for fuel trim are both based solely on barometric pressure readings. Premix temperature feed-forward trim is based solely on the premix temperature sensor. The temperatures and pressures are considered on an absolute basis. For example, temperature can be in absolute units such as Kelvin or Rankine.

Feed-forward trim <NUM> can be calculated by the trim unit <NUM>. Barometric pressure feed-forward trim can be calculated by dividing the reference barometric pressure by the actual air pressure as seen in Equation <NUM> below: <MAT>.

Feed-forward for fuel trim can be calculated by taking the reference pressure for the feed-forward fuel trim (which is a different reference value than the barometric pressure reference value) divided by the actual air pressure and multiplying that with the square-root of the actual air pressure divided by the reference pressure for the feed-forward fuel trim as seen in Equation <NUM> below: <MAT>.

Premix temperature feed-forward trim can be calculated by dividing the actual premix temperature by the reference premix temperature as seen in Equation <NUM> below: <MAT>.

The third type of trim the trim unit <NUM> considers is O<NUM> feedback trim <NUM>. O<NUM> feedback trim <NUM> is based on one or more O<NUM> sensor readings. O<NUM> feedback trim <NUM> may be a single trim value that is applied equally to all modulation points (i.e., universal trim). Upon power-up of the fluid heating system, the O<NUM> feedback trim <NUM> may be loaded with a trim value of <NUM>. The O<NUM> feedback trim <NUM> may be saved to the memory of the feedback controller <NUM>. O<NUM> feedback trim <NUM> will be discussed in detail below with respect to <FIG> and <FIG>.

The fourth type of trim the trim unit <NUM> considers is learned trim, presented in a learned trim table <NUM>. The learned trim table <NUM> includes learned trim values that correspond to the ten modulation points in the nominal operating point table <NUM>. A trim value may be applied to a current modulation percentage based on linear interpolation between points in the learned trim table <NUM>. The points in the learned trim table <NUM> may be learned using an integrator that drives the feedback trim to zero. The learned trim table <NUM> may continuously updated during operation and saved to the memory of the feedback controller <NUM>. Additionally, the learned trim table <NUM> may include upper and lower limits. The learned trim table <NUM> will be discussed in detail below with respect to <FIG> and <FIG>.

The fifth type of trim the trim unit <NUM> considers is taught trim, presented in a taught trim table <NUM>. The taught trim table <NUM> is a table of trim values where the current trim value is based on linear interpolation. The taught trim table <NUM> may be set during commissioning of the fluid heating system and is saved in the memory of the feedback controller <NUM>.

In the illustrated embodiment, the trim unit <NUM> includes an add unit <NUM>, a split unit <NUM>, a combine unit <NUM>, a multiply unit <NUM>, O<NUM> feedback trim <NUM>, feed-forward trim <NUM>, the learned trim table <NUM>, and the taught trim table <NUM>. The trim unit <NUM> receives inputs from the nominal operating point table <NUM> and/or the user interface operating point corrections table <NUM>. The trim unit <NUM> then outputs a combined table to the modified operating point table <NUM>.

The nominal operating point table <NUM> and the user interface operating point corrections table <NUM> are input into the add unit <NUM>. The add unit <NUM> combines the nominal operating point table <NUM> and the user interface operating point corrections table <NUM> and feeds the result to the split unit <NUM>. The split unit <NUM> splits the input into the three distinct combustion system <NUM> controls: a gas damper table, an air damper table, and a fan speed table. In some embodiments, the gas damper table and air damper table are then fed into the combine unit <NUM> such that they are not subject to the other trims considered by the trim unit <NUM>. The fan speed table is input into the multiply unit <NUM> along with the O<NUM> feedback trim <NUM>, the feed-forward trim <NUM>, the learned trim table <NUM>, and/or the taught trim table <NUM>. The multiply unit <NUM> outputs a multiplied trim value to the combine unit <NUM>. The combine unit <NUM> combines the gas damper table, the air damper table, and the trimmed fan speed table to produce the combined table. The combined table is then output to the modified operating point table <NUM>.

It should be understood that, in some embodiments, the gas damper table or the air damper table or both can additionally or alternatively be input into a similar multiply unit, so that the trim functions are applied to one or both of those variables in addition to or in alternative to the fan speed table.

<FIG> illustrates the O<NUM> feedback trim <NUM> according to some embodiments. The O<NUM> feedback trim <NUM> is a first feedback control loop, while the learned trim table <NUM> is a second feedback control loop. The O<NUM> feedback trim <NUM> outputs a universal trim factor (i.e. regardless of firing rate/modulation percentage) to control combustion of the combustion system <NUM> to a desired O<NUM> target according to an O<NUM> target curve. The O<NUM> feedback trim <NUM> receives an O<NUM> reading from a wideband O<NUM> sensor, also referred to as an air-fuel ratio (AFR) sensor. The O<NUM> sensor operates accurately at stoichiometric combustion conditions (λ = <NUM>) and can also operate during leaner combustion (λ > <NUM>) which fluid heating systems typically operate in.

During operation of the fluid heating system, the combustion system <NUM> is run at a particular modulation percentage/firing rate. The O<NUM> sensor may sense that the O<NUM> is not at target and determine that an adjustment to the combustion system <NUM> may be necessary. The O<NUM> feedback trim <NUM> then attempts to drive the O<NUM> to target. Target O<NUM> values are held in the nominal operating point table <NUM> corresponding to each of the ten operating points. Additionally, the user interface operating point corrections table <NUM> includes ten target O<NUM> values for each operating point. The O<NUM> targets may be limited between an absolute maximum and an absolute minimum O<NUM> target.

The O<NUM> feedback trim <NUM> is an integral only feedback loop that ensures slow control action when the O<NUM> reading is near target in order to prevent continuous AFR oscillations. The O<NUM> feedback trim <NUM> can be paused externally at the user interface <NUM> or internally based on unsteady O<NUM> readings. The O<NUM> feedback trim <NUM> may operate using two separate buffers to ensure valid and steady O<NUM> readings for accumulating an O<NUM> feedback trim value. The first buffer is a "valid readings table" and the second buffer is a "steady-state (SS) O<NUM> error table. " In some embodiments, each buffer holds a maximum of <NUM> positions and both buffers may be cleared upon an external pause of the O<NUM> feedback trim <NUM>. In some embodiments, the buffers receive a new value and dump out the oldest value in the buffer. The O<NUM> feedback trim <NUM> includes a proportional-integral-derivative (PID) controller (or three-term controller) that determines the trim value to be output by the O<NUM> feedback trim <NUM>.

<FIG> are block diagrams illustrating a method <NUM> performed by the O<NUM> feedback trim <NUM> according to some embodiments. It should be understood that the order of the steps disclosed in the method <NUM> could vary. For example, additional steps may be added to the process and not all of the steps may be required, or steps shown in one order may occur in a second order. The method <NUM> begins at Block <NUM> when the O<NUM> feedback trim <NUM> receives an O<NUM> reading from the O<NUM> sensor and a target O<NUM> value from the additional of the nominal operating point table <NUM> and the user interface operating point corrections table <NUM>. In some embodiments, the target O<NUM> value is related to the actual modulation percentage and not a commanded modulation percentage. At block <NUM>, the O<NUM> feedback trim <NUM> compares the O<NUM> reading to high and low O<NUM> limits (typically within the range of -<NUM>% - <NUM>% O<NUM> concentration) to determine whether the O<NUM> reading is within the limits and therefore whether the O<NUM> reading is "valid. " When the O<NUM> reading is not within the limits, then the first and second buffers will be cleared (block <NUM>). If the O<NUM> reading is within those limits, then the O<NUM> reading is saved to the first buffer (block <NUM>). At block <NUM>, the O<NUM> feedback trim <NUM> determines whether the first buffer is full. If the first buffer is not full, then the O<NUM> feedback trim <NUM> iteration is completed (block <NUM>). If the first buffer is full, then the method proceeds to block <NUM>.

At block <NUM>, the O<NUM> feedback trim <NUM> calculates the average of the first buffer. The method <NUM> proceeds to block <NUM>. At block <NUM>, the O<NUM> feedback trim <NUM> compares the O<NUM> reading to the average of the first buffer. At block <NUM>, the O<NUM> feedback trim <NUM> determines whether the O<NUM> reading is within a certain deviation of the average of the first buffer and therefore whether the O<NUM> reading is "steady-state. " If the O<NUM> reading is not considered within a certain deviation of the average of the first buffer and therefore not steady state, then the second buffer is cleared and the O<NUM> feedback trim <NUM> iteration is complete (block <NUM>). If the O<NUM> reading is within a certain deviation of the average, then the O<NUM> reading is considered steady-state (block <NUM>). In some embodiments, the O<NUM> reading may be ±<NUM>% different than the average and still be considered steady-state.

At block <NUM>, an O<NUM> error is determined based on the difference between the target O<NUM> and the O<NUM> reading, and the O<NUM> error is saved to the second buffer. At block <NUM>, the O<NUM> feedback trim <NUM> determines whether the second buffer is full. If the second buffer is not full, then the O<NUM> feedback trim <NUM> iteration is complete (block <NUM>). If the second buffer is determined to be full, the, the method <NUM> proceeds to block <NUM>. At block <NUM>, the average O<NUM> error is output to the PID controller. The PID controller multiplies the average O<NUM> error by a coefficient (settable at the user interface <NUM>) and adds that number to the current O<NUM> feedback trim value (which is <NUM> upon startup of the fluid heating system).

The PID controller may consider the size of the O<NUM> error. For example, when there is a relatively small O<NUM> error, the O<NUM> feedback trim value may not be impacted since the O<NUM> reading is approximately near to the target O<NUM>. In order to determine whether the O<NUM> error is large enough to impact the O<NUM> feedback trim value, a parameter is set that indicates the smallest non-zero O<NUM> error that will be evaluated by the PID controller. For example, the parameter may be ±<NUM>% O<NUM>. Additionally, in some embodiments, the PID can accumulate the small O<NUM> error values and then output the O<NUM> feedback trim value after the accumulated O<NUM> error has reached a "carry value.

<FIG> illustrates a learned trim control <NUM> according to some embodiments. The learned trim control <NUM> is considered the second feedback loop. The learned trim control <NUM> adjusts combustion factors (air damper angle, gas damper angle, and/or blower speed) that are not universally related to modulation rate. When the O<NUM> feedback trim <NUM> drives the O<NUM> to a target value, the output of the O<NUM> feedback trim <NUM> is no longer at <NUM>%. Therefore, a learned trim control <NUM> is needed to drive the output of the O<NUM> feedback trim <NUM> to <NUM>%. The output of the learned trim control <NUM> is reverse interpolated into the learned trim table <NUM>. The learned trim table <NUM> is then used to by the trim unit <NUM> to adjust the combustion system <NUM>. In some embodiments, the learned trim table <NUM> is intended to be used as a back-up in the case that the O<NUM> sensor no longer works. The learned trim control <NUM> can be paused anytime the O<NUM> feedback trim <NUM> is paused, any time the O<NUM> error is too high, and/or any time the O<NUM> feedback trim value is saturated at a limit. The learned trim control <NUM> may be paused to mitigate the risk of a double trim over-run, where the trim limits of both the O<NUM> feedback trim <NUM> and the learned trim control <NUM> combine together to cause a too large trim. In some embodiments, the learned trim control <NUM> is initiated only once the O<NUM> feedback trim <NUM> has run for a predetermined amount of time.

The learned trim control <NUM> is a relatively slow, integral-only control function that controls combustion based on the O<NUM> feedback trim value compared to a target value of <NUM>. In other words, the learned trim control <NUM> is intended to drive towards zero O<NUM> feedback trim <NUM> action. The learned trim control <NUM> moves the O<NUM> target out of range in an opposite direction due to the adjustment being doubly applied in the O<NUM> feedback trim <NUM> and the learned trim table <NUM>. For example, the learned trim control <NUM> changes the trim value in the same direction as the O<NUM> feedback trim value deviates from <NUM>. This causes a reduction in the output of the O<NUM> feedback trim <NUM> to bring the O<NUM> back to target. If the O<NUM> feedback trim <NUM> is not back to <NUM>%, then some amount of trim will be determined by the learned trim control <NUM> and the accumulated by the learned trim table <NUM>. Over time, the trim will be moved such that the O<NUM> feedback trim <NUM> is at <NUM>%.

<FIG> is a block diagram of a method <NUM> performed by the learned trim control <NUM> according to some embodiments. It should be understood that the order of the steps disclosed in the method <NUM> could vary. For example, additional steps may be added to the process and not all of the steps may be required, or steps shown in one order may occur in a second order. At block <NUM>, the learned trim control <NUM> receives the O<NUM> feedback trim value. At block <NUM>, the learned trim control <NUM> determines an active firing point (for example, a modulation percentage demanded). As discussed above, the learned trim table <NUM> includes ten points (corresponding to modulation percentages/firing rates) with corresponding operating points (air damper angle, gas damper angle, and/or blower speed). As seen in <FIG>, in some embodiments, the active firing point lies between two points in the learned trim table <NUM>. At block <NUM>, the active firing point that is determined based on the O<NUM> feedback trim value is weighted into the two points adjacent to the active firing point in the learned trim table <NUM>. The magnitude of the O<NUM> feedback trim value added to each adjacent point is inversely related to how close the active firing point is to the adjacent point in the learned trim table <NUM>. For example, if the active firing point was <NUM>% of the way between Pt. <NUM> and Pt. <NUM> (as shown in <FIG>), then <NUM>% of the deviation of the O<NUM> feedback trim value from <NUM> would be added to Pt. <NUM> and the remaining <NUM>% of the deviation would be added to Pt. <NUM> in the learned trim table <NUM> (Block <NUM>). By way of further example, if the O2 feedback trim value (FB_Trim) was a value of <NUM>, then the learned trim value for Pt. <NUM> would increase by <NUM> and the learned trim value for Pt. <NUM> would increase by <NUM>. At block <NUM>, the learned trim control <NUM> outputs a value from the learned trim table <NUM> to the multiply unit <NUM> in the trim unit <NUM>, as discussed above with respect to <FIG>.

It may be desirable to implement limits on what values can be held in the learned trim table <NUM> to avoid having a trim value learned by the learned trim control <NUM> that is larger than limited by the speed limiting values to be held in the learned trim table <NUM>. In the event that a learned trim value is saturated at an extreme allowable value, the learned trim control <NUM> will be allowed to continue, but values may not be interpolated into the learned trim table <NUM> to prevent learned trim values that are further outside the allowable range. In some embodiments, only one operating point may be modified by the learned trim control <NUM> if the other operating point is saturated.

<FIG> is a block diagram of a method <NUM> performed by the combustion control unit <NUM> according to some embodiments. It should be understood that the order of the steps disclosed in the method <NUM> could vary. For example, additional steps may be added to the process and not all of the steps may be required, or steps shown in one order may occur in a second order. At block <NUM>, a first signal is received from a sensor. In some embodiments, the first signal is an O<NUM> reading from an O<NUM> sensor. In some embodiments, the first signal is received by the O<NUM> feedback trim <NUM>. At block <NUM>, a first trim value (for example, an O<NUM> feedback trim value) is determined. The O<NUM> feedback trim value may be determined according to the method <NUM>, described above. At block <NUM>, the combustion control unit <NUM> controls combustion of the combustion system <NUM> based on the first trim value. At block <NUM>, a second value (for example, a learned trim value) is determined. The learned trim value is determined according to the method <NUM>, described above. At block <NUM>, the combustion control unit <NUM> controls the combustion system <NUM> based on the second trim value.

In some embodiments, the learned trim control <NUM> may be operated with respect to combustion air temperature as opposed to modulation percentage/firing rate. In some embodiments, the learned trim control <NUM> may be operated with respect to combustion air temperature and modulation percentage/firing rate. For example, the output of the learned trim control <NUM> may be reverse interpolated into a learned trim table that is a two-dimensional array pertaining to combustion air temperature and modulation percentage/firing rate. Using this two-dimensional array may be useful because airflow can affect heat-up of combustion air in a building compared to a cold outdoor temperature where the combustion air is originally sourced. As firing rate increases, the combustion airflow increases, resulting in a lower "warm-up" effect in air inlet ducting. In some embodiments, there may be two learned trim controls whose outputs may be reverse interpolated into two separate learned trim tables, one for combustion air temperature and one for modulation percentage/firing rate. In some embodiments, the learned trim control <NUM> may be operated with respect to one or more of barometric pressure, humidity, fuel quality or composition, air quality or composition, flame quality, flue temperature, combustion temperature, water temperatures, condensate flow, condensate temperature.

In some embodiments, the O<NUM> feedback trim <NUM> and the learned trim control <NUM> may be operated based on NOx concentration, as opposed to O<NUM> concentration. In some embodiments, the O<NUM> feedback trim <NUM> and the learned trim control <NUM> may be operated based on NOx concentration in addition to O<NUM> concentration. For example, combustion control unit <NUM> may receive input from a NOx sensor as well as an O<NUM> sensor. An additional feedback loop is provided in this embodiment that adjusts the O<NUM> target in order to achieve a desired NOx. For example, the additional feedback loop may be an integral-only control that drives the output to an O<NUM> target that is different than the nominal combustion O<NUM> target in order to maintain NOx concentration at or below a threshold. This allows for the O<NUM> to be closest to the target O<NUM> while maintaining NOx at or below an acceptable threshold. The additional feedback loop applies a universal O<NUM> target change factor at all modulation percentages/firing rates. The additional feedback loop is the first feedback loop in the combustion control according to this embodiment. The output of the additional feedback loop may be combined with the output of a second feedback loop. In this embodiment, a NOx, O<NUM> target adjustment learned train table can be implemented where the second feedback loop drives the additional (first) feedback loop to some predefined value. For example, the setpoint of the second feedback loop may be greater than <NUM>%. The outcome of the second feedback loop may be reverse interpolated to the NOx, O<NUM> target adjustment learned train table similar to the reverse interpolation described above.

In some embodiments, combustion air humidity may be considered instead of O<NUM> concentration. In some embodiments, O<NUM> target adjustment learned trim can be implemented as a combination of independent variables (such as humidity and modulation percentage) or as a combination multiple learned trim functions with single dimensional independent variables. For example, the O<NUM> target adjustment learned trim may be implemented with NOx in addition to other combustion control characteristics, such as burner temperature, flame length, flame characteristics (wavelength, light spectrum, color, flame size, flame flicker frequency, flame rectification/flame signal), combustion noise, and/or other factors.

With regard to flame rectification/flame signal, a burner control may confirm presence of flame before allowing the combustion to continue. In some cases, flame signals might get too low, putting reliable combustion at risk. Similar to the NOx approach, an O<NUM> target adjustment learned trim can be used to correct for low flame signals (by maintaining a flame signal at or above some threshold, and decreasing O<NUM> target to increase flame signal, or vice versa depending on the design of the flame). These systems would utilize the flame detection means already required in an appliance to maintain a sufficiently strong signal.

Combustion noise may also be taken into account for a combustion system. Various combustion noises can be produced combustion system that can typically be corrected by making corrections to the O<NUM> concentration. Microphones can be employed within the appliance to detect certain types of noises. Noises can be characterized by frequency, or sound spectrum makeup as well as by sound level or intensity. Some noises at certain frequencies might be resolved by increasing the air fuel ratio whereas some noises at other frequencies might be resolved by decreasing air fuel ratio. For each such type of noise, a first feedback loop and learned trim system can be applied in order to make adjustment to O<NUM> target.

Burner temperature is similarly affected by O<NUM> concentration, as well as by modulation percentage/firing rate (and other factors, potentially). Typically, raising the O<NUM> target can reduce burner temperatures. Similarly, higher burner temperatures are typically a bigger factor at lower modulation percentages/firing rates where there is less burner loading. Some burners in combustion systems (although not all) are particularly sensitive to burner deck temperature, especially with respect to the life of the burner. Such burner temperature control can be implemented by similar approach as is described for the NOx control, wherein an O<NUM> target adjustment system with first and second feedback loops can be implemented.

Combustion efficiency (related to O<NUM> sensor readings, water temperature, and/or modulation percentage), can be implemented with a combustion condensate flow sensor and temperature sensors as well as combustion air temperature and flue temperature.

In case of scenarios with O<NUM> target adjustment feedback and learning, as long as two or more O<NUM> target adjustments can be combined, these feedbacks can also be combined into a single control.

In some embodiments, the first feedback control and second feedback control may be operated based on fuel energy content. A Wobbe index sensor may be used on incoming fuel to estimate the fuel energy content. For example, two separate combustion sensors, such as two separate O<NUM> sensors, may be used to ascertain fuel quality/heat content. The first sensor being located such that no moisture has been removed from the gaseous combustion products, and the second sensor being fitted such that all or nearly all moisture is removed from the gaseous combustion products (this can be achieved through chemical desiccants in the flow path or by cooling to condense the moisture out, or by locating the sensor after the heat exchanger as long as the boiler is operating in a condensing mode). A factor can be determined based on the ratio of the wet O<NUM> concentration (from the first sensor) to that of the dry O<NUM> concentration (that of the second sensor). The ratio of wet to dry O<NUM> (or CO<NUM> or other components) can be used to infer the fuel energy content.

Alternatively, or additionally, an O<NUM> sensor shift test can be performed in conjunction with an O<NUM> or CO<NUM> sensor to ascertain fuel quality/heat content. In this test, while the appliance is operating at a known/nominal condition, an O<NUM> or CO<NUM> reading can be taken. Then, the combustion system can be modified to provide a predictable change in airflow at a constant fuel flow. This will result in a shift in the O<NUM> concentration, and thus provide a shift in the O<NUM> or CO<NUM> reading. The actual shift in the reading can then be compared to the theoretical shift for a given reference fuel to determine the energy content of the fuel compared to that of the reference fuel. Alternatively, the controls can back-calculate the stoichiometry to estimate the quality or type of the fuel.

The present invention relates to a fluid heating system comprising: a burner unit configured to heat a fluid; a sensor configured to sense a characteristic of the appliance; and a controller coupled to the burner unit and the sensor, the controller including a processor and memory, the controller configured to: receive a first signal corresponding to the characteristic from the sensor, determine, based on the first signal, a first feedback loop control, control combustion of the burner unit based on the first feedback loop control, determine, based on the first feedback loop control, a second feedback loop control, and control combustion of the burner unit based on the second feedback loop control.

The first feedback loop control includes validating the first signal and outputting a first operating parameter control to the burner unit in response to the first signal being validated. The second feedback loop control includes weighting a first operation point and the first operating parameter control between a second operation point and a second parameter control and a third operation point and third operating parameter. The weighted second operation point and second operating parameter and the weighted third operation point and third operating parameter are reverse interpolated into a learned trim table. The operation points may be at least one of modulation percentages, combustion air temperature, and combustion air humidity. The operating parameter controls are trim values. Combustion of the burner is controlled based on the trim values by adjusting one of gas damper angle, air damper angle, and blower speed. The sensor may be at least one of an O<NUM> sensor and a NOx sensor. The first feedback loop control and the second feedback control loop may be paused if the first signal is not validated. The first signal is validated by determining that the first signal is steady based on previous signals from the sensor and that the first signal includes a threshold error value based on previous signals from the sensor.

Claim 1:
A fluid heating system (<NUM>) comprising:
a burner unit configured to heat a fluid;
a sensor configured to sense a characteristic of the fluid heating system (<NUM>); and
a controller (<NUM>) coupled to the burner unit and the sensor, the controller (<NUM>) including a processor and memory, the controller (<NUM>) configured to:
receive a first signal corresponding to the characteristic from the sensor, determine, based on the first signal, a first feedback loop control, wherein the first feedback loop control includes validating the first signal and outputting a first operating parameter control to the burner unit in response to the first signal being validated, wherein the first signal is validated by determining that the first signal is steady based on previous signals from the sensor and that the first signal includes a threshold error value based on previous signals from the sensor,
control combustion of the burner unit based on the first feedback loop control, determine, based on the first feedback loop control, a second feedback loop control, wherein the second feedback loop control includes weighting a first operation point and the first operating parameter control between a second operation point and a second operating parameter control and a third operation point and third operating parameter control, wherein the weighted second operation point and second operating parameter control and the weighted third operation point and third operating parameter control are reverse interpolated into a learned trim table (<NUM>), and
control combustion of the burner unit based on the second feedback loop control,
wherein all of the operating parameter controls are trim values and combustion of the burner is controlled based on the trim values by adjusting one of gas damper angle, air damper angle, and blower speed.