Patent Publication Number: US-9428036-B2

Title: Vehicle heaters and controls therefor

Description:
This application is a continuation application of U.S. patent application Ser. No. 11/329,113 filed on Jan. 11, 2006 now U.S. Pat. No. 7,597,552 which is a continuation application of U.S. patent application Ser. No. 10/195,150 filed on Jul. 15, 2002 now U.S. Pat. No. 7,270,098, the disclosures of each of which is incorporated herein by reference and priority is claimed. 
    
    
     BACKGROUND OF THE INVENTION 
     This invention relates to heaters, in particular to heaters for heating the coolant of vehicles and to controls therefor. 
     Fuel-powered vehicle heaters are used for two main purposes. The first purpose is to heat the coolant of the vehicle so the vehicle is easier to start in cold climates. This is particularly important for diesel-powered vehicles which are often difficult to start due to low volatility of the fuel. However these heaters have a second important function, particularly for transit vehicles such as buses. Heaters relying solely on the engine coolant as heated by the engine may be insufficient to provide a comfortable interior temperature. Accordingly, fuel-powered heaters may be used to supplement the heat by providing additional heat to the coolant. 
     Fuel-powered vehicle heaters conventionally include a combustion chamber surrounded by a coolant jacket where the coolant is heated by combustion of fuel in the combustion chamber. There is a burner head assembly connected to the combustion chamber which includes such components as a combustion fan, an electric motor for the fan, a burner, a compressor for supplying compressed air to the burner, a fuel pump and a control module. The compressor and the fuel pump are typically operated by the motor. In some prior art heaters the control module is mounted as an exterior unit on the burner head assembly. 
     Typical prior art vehicle heaters employ fans with motors which lack speed control. Accordingly the output of the fan, the compressor, the fuel pump and accordingly of the heater, is dictated to some extent by the voltage supplied to the heater, which can vary as much as 50 percent. Thus a steady output from the heater is not assured. 
     Also, prior art motors have conventionally been customized for the voltage available from the vehicle, typically 12 volts or 24 volts. This means that different motors have been required for these different voltage applications. 
     Different heat outputs may be required for different vehicles. For example, larger buses require heaters with higher BTU outputs than smaller buses. Manufacturers have had to supply completely different heaters for these different heating requirements and this increases the cost of manufacture as well as the complexity and cost of warehousing and handling different models of heaters. 
     Another problem associated with prior art vehicle heaters is troubleshooting techniques. Some prior art vehicle heaters require special diagnostic tools. These heaters do not allow for easily testing and diagnosing of problems arising with various components of the heater. 
     One problem encountered with prior art heaters is ascertaining whether or not proper combustion is occurring. Typically a sight glass is provided which allows an operator or technician to view the combustion area and therefore check for the presence or absence of a flame. The operator/technician can effectively troubleshoot the flame sensor assembly and heater control and replace either if required. It is desirable to remove the sight glass in order to simplify the construction of the heater, but this leaves a problem of how to properly check the flame. 
     Coolant pumps for vehicle heaters sometimes have a maximum current limit which may be exceeded when the motor starts. It is feasible to use a “soft start” which starts and stops the current very quickly, somewhat analogous to pulse width modulation, when an overcurrent is sensed. However such a soft start may cause chattering of the relay associated with the motor. Eventually such a relay fails. 
     Prior art vehicle heaters commonly have protection against excessive currents. However false error readings can result from starting the vehicle. When the ignition of the vehicle is first engaged, the starter motor starts and causes a voltage drop. The motor is cranked for a period of time and then starts, causing the alternator to begin operation. This causes a sharp voltage rise. The result can be a false indication that an overcurrent fault has occurred. 
     Another associated problem relating to prior art vehicle heaters is flame sputtering. Bubbles may occur in the fuel, for example. In fact the flame may be entirely extinguished on some occasions and the ignition for the heater may have to be used to restart the combustion. As a certain point, however, the lack of fuel may indicate a fuel leak or other fault in the fuel system requiring the heater to be shut down. Some prior art heaters do not have adequate means for distinguishing between occasional bubbles in the fuel and more serious problems. 
     Accordingly, it is an object of the invention to provide an improved vehicle heater, and control system therefor, which have a simple, but reliable means for controlling the speed of the motor. 
     Is another object of the invention to provide an improved vehicle heater, and control system therefor, which allow standard replacement motors to be utilized in heaters having different BTU outputs. 
     It is another object of the invention to provide an improved vehicle heater, and control system therefor, which have a main motor speed control system and a backup system in case the main speed control system fails. 
     It is another object of the invention to provide an improved vehicle heater, and control system therefor, which allow combustion to be confirmed without requiring a sight glass. 
     Is a further object of the invention to provide an improved vehicle heater, and control system therefor, which are capable of distinguishing between excessive currents which indicate a fault and situations caused by voltage changes during starting of the vehicle. 
     It is a still further object of the invention to provide an improved vehicle heater, and control system therefor, which are capable of reigniting the heater when the flame fails due to bubbles in the fuel or similar routine operational problems, but shut the heater down in the event that an actual fault, such as a leaking fuel line, is encountered. 
     SUMMARY OF THE INVENTION 
     In accordance with these objects, there is provided, according to a first aspect of the invention, a heater for a liquid, the heater having a combustion chamber, a jacket for the liquid extending about the combustion chamber and a burner head assembly connected to the combustion chamber. The burner head assembly includes a housing having a burner mounted thereon and a hollow interior. There is a control module and a fan mounted in the hollow interior. The fan includes an electric motor. A compressor and a fuel pump are mounted on the housing and are operatively connected to the electric motor. The control module includes a speed control for the motor which maintains the heater at a specified level of operation. 
     There is provided, according to a second aspect of the invention, a heater for a liquid. The heater has a combustion chamber, a jacket for the liquid extending about the combustion chamber and a burner head assembly connected to the combustion chamber. The burner head assembly includes a housing having a burner mounted thereon and a hollow interior. A control module and a fan are mounted in the hollow interior, the fan including an electric motor, a compressor and a fuel pump being mounted on the housing and being operatively connected to the electric motor. The control module includes controls for exercising components of the heater prior to combustion, thereby verifying operation of these components. 
     There is provided, according to a third aspect of the invention, a heater for a liquid. The heater has a combustion chamber, a jacket for the liquid extending about the combustion chamber and a burner head assembly connected to the combustion chamber. The burner head assembly includes a housing having a burner mounted thereon and a hollow interior. A control module and a fan are mounted in the hollow interior, the fan including electric motor, a compressor and a fuel pump mounted on the housing and operatively connected to the electric motor. There is a flame sensor positioned in the housing to sense combustion in the combustion chamber. An indicator is mounted on the housing and operatively connected to the flame sensor to indicate when the flame sensor is sensing light. 
     There is provided, according to a fourth aspect of the invention, a heater for liquid, the heater having a combustion chamber, a jacket for the liquid extending about the combustion chamber and a burner head assembly connected to the combustion chamber. The burner head assembly includes a housing having a burner mounted thereon and a hollow interior. A control module and a fan are mounted in the hollow interior. The fan includes an electric motor, a compressor and a fuel pump being mounted on the housing and operatively connected to the electric motor. There is electric coolant pump connected to the jacket and a pump current modulator which modulates current supplied to the pump. The modulator modulates current supplied to the pump when current supplied to the modulator is above a specified current and supplies an unmodulated current to the pump when current supplied to the modulator is below the specified current. 
     There is provided, according to a fifth aspect of the invention, a method of differentiating overcurrent faults from normal current conditions in an apparatus intended to be mounted to a vehicle and connected to the electrical system thereof. The method comprises monitoring for overcurrent conditions, monitoring voltage levels and determining whether there is a decrease in voltage relative to time exceeding a first specified value of dV/dT, or whether there is an increase in voltage relative to time exceeding a second specified value of dV/dT. No overcurrent fault is declared where there is said decrease in voltage exceeding the first specified value within a first specified time prior to an overcurrent condition or if there is an increase in voltage exceeding the second specified value within a second specified time of the overcurrent condition. An overcurrent fault is declared where there is an overcurrent condition, but no such decrease in voltage or increase in voltage within the specified times. 
     There is provided, according to a sixth aspect of the invention, a vehicle fitted with a fuel-powered heater for coolant. The heater has a combustion chamber, a jacket for liquid extending about the combustion chamber and a burner head assembly connected to the combustion chamber. The burner head assembly includes a housing having a burner mounted thereon and a hollow interior. A control module and a fan are mounted in the hollow interior, the fan including an electric motor. A compressor is mounted on the housing. The control module includes controls for differentiating overcurrents faults from normal current conditions. The controls monitor for overcurrent conditions and voltage levels and determine whether there is a decrease in voltage relative to time exceeding a first specified value of dV/dT, or whether there is an increase in voltage relative to time exceeding a second specified value of dV/dT. No overcurrent fault is declared where there is said decrease in voltage exceeding the first specified value within a first specified time prior to an overcurrent condition or if there is an increase in voltage exceeding the second specified value within a second specified time of the overcurrent condition. An overcurrent fault is declared where there is an overcurrent condition, but no such decrease in voltage or increase in voltage within the specified times. 
     There is provided, according to a seventh aspect of the invention, a method for determining whether a fault has occurred in a device having a fuel burning with a flame and an ignitor for igniting the flame. The method includes the steps of sensing periodically whether or not a flame is present and storing a flame on event if the flame is present. The ignitor is actuated if there is no flame present. A flame out event is stored if no flame is present after the ignitor is actuated. A fault is indicated when a first plurality of flame out events occurs before a second plurality of flame on events occurs. 
     There is provided, according to an eighth aspect of the invention, an apparatus for determining whether a fault has occurred in the device having a fuel burning with a flame and an ignitor for igniting the flame. The apparatus includes a flame sensor which periodically senses whether or not a flame is present. There is a first memory which stores a flame on event if the flame is present. There is means for actuating the ignitor if no flame is present. There is a second memory which stores a flame out event if no flame is present after the ignitor is actuated. A control device indicates that a fault has occurred when a first plurality of flame out events occurs before a second plurality of flame on events occurs. 
     There is provided, according to a ninth aspect of the invention, a heater for liquid. The heater includes a combustion chamber, a jacket for the liquid extending about the combustion chamber and a burner head assembly connected to the combustion chamber. The burner head assembly includes a housing having a burner mounted thereon and a hollow interior. A control module and a fan are mounted in the hollow interior. The fan includes an electric motor. A compressor and a fuel pump are mounted on the housing and operatively connected to the electric motor. There is a flame sensor for sensing the presence or absence of a flame in the combustion chamber. The control module includes controls for determining whether a fault has occurred. The controls periodically check the flame sensor to determine whether or not a flame is present. There is a first memory which stores a flame on event if a flame is present. An ignitor is ignited if no flame is present. There is a second memory which stores a flame out event if no flame is present after the ignitor is actuated. The control module indicates that a fault has occurred when a first plurality of flame out events occurs before a second plurality of flame on events occurs. 
     The invention offers significant advantages compared with the prior art. Speed control on electric motors is well-known per se, but provides distinct advantages when applied to vehicle heaters. No longer is motor speed dependent upon voltage, but a selected heater output can be maintained regardless of the voltage applied, within certain limits. Basically the output of the heater is dependent upon the amount of fuel and the amount of air supplied to the burner. Thus, by regulating motor speed, the output of the heater can be made constant. Alternatively the output of the burner can be changed by changing the speed of the motor along with other minor alterations such as changing the nozzle of the burner. In other words, basically a single model of burner can be used, with minor modifications, to suit different BTU requirements, simply by appropriately re-programming a programmable controller. 
     A closed loop control system can provide the type the speed control described above. However the invention advantageously has a backup system utilizing a lookup table which is utilized if the closed loop system becomes dysfunctional. This provides an extra degree of reliability and safety. 
     Also, operation of the heater can be made independent of the supply voltage by using a lower voltage than the range of supply voltages commonly available. For example, the heater can be made to run on 9 V which is useful for both 12 V and 24 V systems. Voltages above 9 V are simply stripped off by the speed control. 
     Also the invention permits the control module to exercise selective heater components prior to combustion. This allows a service technician to directly observe and verify operation of these loads. This facilitates troubleshooting and eliminates the requirement for special test tools. 
     Also the invention removes the need for a sight glass in order to view the combustion area. The operation of the flame sensor can be verified with the heater switched off, but power applied. For example the technician may use a flashlight to direct light on the flame sensor. An indicator light is provided and, if the light turns on, the flame sensor functionality is confirmed. 
     The invention also protects the coolant pump from overcurrents without unnecessarily using soft starts. Soft starts may cause chatter of the motor relay and lessen relay life. The invention is capable of selectively using soft starts only when required, thus lengthening relay life. 
     The invention reduces the possibility of false overcurrent faults being indicated. In general all circuits have current limits for protecting components such as the motor. However false overcurrent readings can be triggered by rapid voltage changes when the engine of the vehicle is cranked and subsequently when the engine starts and the alternator commences operation. The invention is able to distinguish between the engine starting scenario and a true overcurrent fault. 
     Another problem solved by the invention is interruptions in the fuel supply which temporarily cause the flame to sputter or go out. The invention is able to determine how long the flame has been out, relative to how long the flame has been on. A threshold is set and a ratio of time when the flame is out to the time when the flame is on is used to determine whether the heater should be reignited or a fault declared and the heater stopped when, for example, the fuel tank is empty or the fuel line is severed. At the same time, bubbles in the fuel, typically encountered as the pump is primed, do not cause the heater to shut off. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       In drawings which illustrate embodiment so the invention: 
         FIG. 1  is an exploded isometric view of a transit heater according to an embodiment of the invention; 
         FIG. 2  is an enlarged front, side isometric view of the burner head assembly thereof; 
         FIG. 3  is an exploded, isometric view thereof; 
         FIG. 3 a    is a phantom view of the control module assembly of  FIG. 3  shown in an alternative position rotated 180° from the position of  FIG. 3 ; 
         FIG. 4  is a fragmentary, sectional view showing a fragment of the jacket of the heater and a temperature sensor mounted thereon; 
         FIG. 5  is a flowchart of the first part of a method according to an embodiment of the invention; 
         FIG. 6  is a continuation of the flowchart of  FIG. 5 ; 
         FIG. 7  is a continuation of the flowchart of  FIG. 6 ; 
         FIG. 8  is a continuation of the flowchart of  FIG. 7 ; 
         FIG. 9  is a chart showing temperature conditions and temperature designations for the heater of  FIG. 1 ; 
         FIG. 10  is a graph showing how temperature is regulated for a conventional heater as well as showing an overheat condition; 
         FIG. 11  is a graph showing temperature changes during operation of the heater of  FIG. 1 ; and 
         FIG. 12  is a graph similar to  FIG. 10  showing operation of the heater during a lingering drop off. 
         FIG. 13  is a fragmentary plan view of the burner head housing, partly broken away to show two air filter mounts and an air filter correctly mounted on one of the mounts; 
         FIG. 14  is a fragmentary view of a portion of  FIG. 13  showing an air filter incorrectly mounted on one of the mounts; 
         FIG. 15  is a fragmentary sectional view of the burner head assembly showing the air compressor, air filter, air filter mount and air conduits extending between the filter and the compressor; 
         FIG. 16  is a fragmentary sectional view of the housing showing a rod preventing an air filter from fitting an incorrect air filter mount; 
         FIG. 17  is a fragmentary sectional view showing a portion of the housing located adjacent to the control module and air filter, in a rotationally nonaligned position; 
         FIG. 18  is a fragmentary view thereof showing the portion of the housing moving towards the control module in a rotationally aligned position; 
         FIG. 19  is a view similar to  FIG. 18  showing the portion of the housing fitted onto the control module and against the air filter; 
         FIG. 20  is a rear, elevational view of the burner head assembly showing the burner, fuel pump, compressor and associated transformer; 
         FIG. 21  is a fragmentary sectional view showing two portions of the housing with the control module fitted therebetween and the circuit board of the module extending outwardly to connect with two electrical sockets; 
         FIG. 22  is a fragmentary sectional view showing the Hall effect sensor and magnet on the fan blade assembly for the heater of  FIG. 1 ; 
         FIG. 23  is a diagram showing the closed loop control system for the motor thereof; 
         FIGS. 24-27  together comprise a flowchart of the system for distinguishing overcurrent faults from voltage changes occurring when the engine of the vehicle starts; 
         FIGS. 28 and 29  together comprise a flowchart of the system for selectively soft starting the coolant pump; 
         FIG. 30  is a graph representing voltage changes when the engine starts; 
         FIG. 31  is a diagrammatic representation of the heater and coolant pump of the vehicle; and 
         FIG. 32  is a flowchart of the system for monitoring sputtering flames and determining whether or not the heater should be shut off. 
     
    
    
     DETAILED DESCRIPTIONS OF THE PREFERRED EMBODIMENTS 
     Referring to the drawings, and first to  FIG. 1 , this shows a transit heater  30  according to an embodiment of the invention. The heater includes a heat exchanger  32  equipped with a primary temperature sensor  34  and a secondary temperature sensor  36 . The latter is optional as described below. There are fittings  40  and  42  which serve as inlets and outlets for liquid, a mixture of water and anti-freeze being the usual liquid for a transit vehicle heater. Mounting brackets  44  and  46  are connected to the heat exchanger for mounting the heater on a transit vehicle or similar application. A combustion chamber in the form of a combustion tube  48  fits within the heat exchanger and a burner head assembly  50  fits over the combustion tube. The assembly is secured to the heat exchanger by bolts  52  and  54 . 
     The burner head assembly is shown in better detail in  FIGS. 2 and 3 . The assembly includes a burner head assembly housing  51 , cylindrical in this example, having two portions, a blower housing  56  and a head flange assembly housing  66 . The blower housing  56  has a splash guard  58  connected thereto. There is an air intake behind the splash guard. A blower  60  is mounted on shaft  62  of electrical motor  64 . Burner head flange assembly housing  66  is at the end of the burner head assembly opposite blower housing  56 . The motor is mounted on the inside of the flange assembly housing  66  by means of bolts  68 . A gear  70  is mounted on the shaft of the motor and engages another gear  72  which drives a compressor  130  and a fuel pump  131  on the opposite side of the head flange assembly housing as seen in  FIG. 20 . There is a fitting  74  for connecting a fuel line to the fuel pump. 
     Referring again to  FIG. 20 , there is a burner  132  having a nozzle  134  provided with ignitors  136  and  138 . The ignitors are connected to transformer  140  which receives electrical current through cable  142  connected to internal electrical connector  144 . Cable  146  and internal electrical connector  148  are provided for the fuel solenoid valve. 
     Control module assembly  80 , shown in  FIG. 3 , fits between the two portions of the burner head assembly housing  51 , namely head flange assembly housing  66  and blower housing  56 . The assembly includes an annular member, or module housing  82 , having a central aperture  84  which fits over the motor. The module housing  82  has a circular outer surface  83  which is adjacent to the exterior of the burner head assembly housing. As seen in  FIG. 21 , the housing  56  has an annular recess  160  provided with a shoulder  162  while housing  66  has a corresponding recess  164  and shoulder  166 . The control module has shoulders  168  and  170  which butt against the shoulders  162  and  166  to provide a sealing fit between the control module and the burner head assembly housing. 
     There is a first cylindrical socket or mount  86  for receiving air filter  88  as seen in  FIG. 3 . Likewise there is a second cylindrical socket or mount  87  for receiving the air filter when the control module is rotated 180° as shown in  FIG. 3 a   . A circuit board  150  is located within housing  82  as shown in  FIG. 21 . As shown in  FIG. 3 , a temperature sensor plug  92  is received within a socket  98 . There is also an auxiliary plug  96  and a socket  94  for receiving a data link plug. 
     Referring to  FIGS. 3 and 3   a , the control module assembly  80  can be rotated 180° to an alternate position. This is done so that the external electrical connectors, such as connector  172 , can be rotated to one side or the other of the housing  51  according to the requirements of the vehicle where the heater is being installed. 
     As shown in  FIG. 15 , housing  66  has an air conduit or passageway  180  which communicates with air compressor  130 . Likewise control module housing  82  has an air passageway  182  which aligns with air conduit or passageway  180  and communicates with the air filter mount  86  for the position of the control module housing  82  shown in  FIG. 3 . The passageways  182  and  180  therefore allow air to pass from the air filter to the air compressor. The air filter mount  87  also has an air passageway  184 , shown in  FIG. 16 , which is not used for air in the positions shown in  FIG. 3  and  FIG. 16 . This is because the air compressor is on the opposite side of the assembly. It is desirable to prevent maintenance personnel from inadvertently mounting air filter  88  in the wrong air filter mount, which would be mount  87  in  FIGS. 3 and 16 . For this purpose a pin  186  is connected to the housing  66  in a position such as to extend through the air passageway  184  as shown in  FIG. 16 . If an attempt is made to fit air filter  88  into the wrong mount  87 , then pin  186  prevents this from happening since the filter contacts the pin and cannot be inserted properly into the mount as shown in  FIG. 16 . 
       FIGS. 13 and 14  illustrate how blower cover  56  holds the air filter properly in position. There is a member or pin  190  inside the blower housing  56  which extends towards the air filter when the air filter is properly positioned as shown. The pin has an outer end  192  which fits within flange  194  of the filter and secures the filter in position. A flange  156  extends between the pin and the rest of the housing apart from the outer end of the pin. The pin  190  is properly dimensioned so that the outer end  192  just contacts the filter when the filter is properly positioned. 
     There is a similar pin  196  inside the housing on the side opposite pin  190 . It may be observed however that pin  196  is longer than pin  190 . As shown in  FIG. 14 , the outer end  198  of pin  196  contacts the filter  88 , if the filter is improperly positioned in mount  87 , before the housing  56  is properly seated on control module  82 . The pin  196  accordingly prevents the blower housing from fitting properly on the control module housing if the filter is improperly positioned. 
       FIGS. 17-19  illustrate a mechanism for preventing the pin  190  from dislodging the filter when the blower housing  56  is being mounted on the control module housing  82 . There is a key  200  on the blower housing  56  and a slot  202  on the module housing  82 . There are three more spaced apart similar keys and similar slots on the housings. The keys fit within the slots when the housings  56  and  82  are properly aligned and allow the housings to fit together as shown in  FIG. 19 . If however the housings are not rotationally aligned, as shown in  FIG. 17 , then the keys  200  contact housing  82  and prevent the housings from fitting together. 
     Referring to  FIG. 21 , the control module housing  82  has an internal circuit board  150 . The control module housing as well as the circuit board extend from interior  152  of the burner head assembly to exterior  154  thereof. The circuit board is connected to a pair of external, electrical connectors  156  and  158 , thereby allowing external wiring harnesses to be connected to the control module without requiring wiring harnesses to pass through the housing of the burner assembly. Internally the circuit board is connected to such internal electrical connections as auxiliary plug  96  and socket  98 . 
     Details of the temperature sensor  34 , and a fragment of the heat exchanger are shown in  FIG. 4 . The sensor includes a body  100  with a hexagonal outer portion  102  and a male threaded, hollow inner portion  104 . The male threaded portion is received in a female threaded socket  106  in outer wall  103  of jacket  110  of the heater which surrounds the heat exchanger. The jacket has an inner wall  112  which is exposed to flame  114 . Liquid  116 , typically water and anti-freeze, is located between the inner wall and the outer wall. The sensor has a spring loaded shank  118  which is biased against the inner wall  112 . The sensor has electrical contacts  120  and  122 . 
     In a conventional heater a sensor, such as sensor  34 , would function as either a temperature sensor for cycling the heater on and off or as an overheat sensor. With reference to  FIG. 10 , a normal temperature sensor reads coolant temperatures and turns the burner on when the temperature reaches a lower level, 65° C. in this example. Such a temperature sensor has a portion immersed in the coolant. The burner then operates until the temperature reaches a first value, an upper limit of 85° C. in this example, as illustrated at  124  in FIG.  10 . At this point the controls turn the burner off and the temperature gradually falls to a second value, 65° C. again at  126  and the burner is operated again. 
     However, heaters conventionally also have an overheat sensor which senses, for example, the absence of coolant. If there is no coolant in the jacket, then the inner wall  112  overheats and the heater is shut down. An overheat sensor is therefore in contact with the inner wall of the jacket. Sensor  34 , however, serves both functions, to sense temperature of the coolant, as well as sensing overheating of the heater. This is done utilizing the structure of the sensor shown as well as appropriate programming of the control module. 
     With reference to  FIG. 10 , the heater is cycled off at points  124  and  128  when the maximum temperature is reached. Under overheat conditions, however, the temperature sensed by the sensor continues to increase after the burner cycles off as indicated at  130  in  FIG. 10 . Accordingly, the control module senses an overheat condition and shuts down the heater when the sensor  34  indicates a third value, 90° C. in this example, which exceeds the normal maximum temperature, after the heater has been cycled off. Thus a single temperature sensor can fulfill both functions described above. 
     The heater is also adaptable to changing ambient conditions. A normal on/off temperature control, as shown in  FIG. 10 , may lead to problems when temperatures drop. Referring to  FIG. 11 , the system may aim at providing a mean temperature of 75° C. by cycling on the heater when the coolant reaches a lower temperature of 65° C. The heater then cycles on until the higher temperature of 85° C. (also referred to as the first temperature value herein) is reached, at which time the heater cycles off. However, at lower ambient temperatures it takes longer for the heater to heat the coolant to the higher temperature. For example, the time increases from T 1  to T 2  as a result of cooling conditions. The effect of this is to lower the mean temperature below 75° C. This may mean that the temperature inside a bus, for example, may be too cool for the occupants. 
     The invention overcomes this problem by monitoring the time T 1  or T 2  which it takes for the heater to heat the coolant to the higher temperature. When this time increases, the control module increases the temperature where the heater cycles on (also referred to as the second temperature value herein). For example, in  FIG. 11  the cycle-on temperature is increased to 68° C. since the controls determined that T 2  exceeds T 1 . The cycle-on temperature is also lowered if the time interval to heat the coolant shortens. The cycle-on temperature is varied in this example between specific limits, the lower limit being 65° C. and the upper limit being 78° C. which is a fixed amount, ΔT, below the maximum temperature. The programming of the controls is set out in detail in  FIGS. 5-8 . 
     The algorithm can only modify the temperature within the standard range of 65° C. to 85° C. The cycle-off temperature is never adjusted. This ensures that in the worst-case scenario the heater would just revert back to the standard control method. The algorithm updates the cycle-on temperature once every cooling curve. This ensures that the heater will rapidly adapt to any changes in the parameters of the heating system. By using the heat time to calculate the new cycle-on temperature, every parameter of the heating system is taken into consideration. 
     Details of the algorithm follow: 
     Adjusting Cycle-On Temperature 
     a) The current cycle-on temperature threshold is adjusted at the end of each heating interval (i.e. on entry to purge state)
         i) based on the formula:
 
New-current cycle-on temperature threshold=(1−(target heat time/actual heat time))*maximum temperature change+current cycle-on temperature threshold
           (1) target heat time defines the ideal flame-on-time   (2) actual heat time is measured as duration of heating cycle starting with entry into ignition state and ending with cycle-off event, but qualified by at least one temperature sensor reading above current cycle-on temperature threshold   (3) maximum temperature changes intended to limit the amount of adjustment made in one heating cycle   
           ii) current cycle-on temperature threshold is not permitted to exceed (cycle-off temperature threshold-minimum delta-T), or be less than cycle-on temperature threshold.       

     Timed Cycle-On
         a) a cycle-on event is forced if cooling time since the end of the previous heating cycle exceeds the current maximum cool time and at least one temperature sensor is reading less than cycle-off temperature threshold-minimum delta-T
           i) a current maximum cool time timeout can occur in standby or standby supplemental states   ii) a current maximum cool time timeout causes the current cycle-on temperature threshold to be updated with the greater of the two temperature sensor readings.   
           b) for each consecutive heating cycle begun due to current maximum cool time, the value of current maximum cool time is doubled (for use in the next cycle)
           i) in the subsequent heating cycle, the value of current cycle-on temperature threshold is adjusted per the formula above, as usual.   ii) if, in the current heating cycle, actual heat time exceeds target heat time, then current maximum cool time reverts to default maximum cool time.   
               

     Short Cycle
         a) While purge or purge error state, if T 1  and T 2 &lt;current cycle-on temperature threshold, the system does not wait for completion of purge state, but immediately cycles-on the heater, i.e. abandons purge state, and skips standby state. If the heater is operating in supplemental mode, it also skips the pre-run state.       

     Initial Conditions
         a) at power-up, the value of current cycle-on temperature threshold reverts to the value of cycle-on temperature threshold, and the value of current maximum cool time reverts to the value of default maximum cool time. Also, the cooling time timer is reset.   b) At switch-off, the value of current maximum cool time reverts to the value of default maximum cool time. Also the cooling time timer is reset.       

     As described above, the heater can operate with a single temperature sensor  34  as shown in  FIG. 1 . Optionally however a second sensor  36  may be used for some applications. Typically one sensor is adjacent the hot end of the heater, sensor  34  in this example, and another sensor is adjacent the cool end of the heater, sensor  36  in this example. As described above, both sensors are coolant temperature sensors, but sensor  34  in addition acts as an overheat sensor. It is desirable to have the system adapt so that the flow of coolant through the heater can travel from either fitting  40  to fitting  42  or from fitting  42  to fitting  40 . The choice depends upon the plumbing requirements of a particular installation, for example. In such a system with two sensors is also desirable to have the system operate even if one sensor is removed or if one sensor becomes dysfunctional. 
       FIG. 9  is a chart which sets out various temperature designations and ranges of temperatures employed by the invention. The heater normally cycles within the Normal range of temperatures between the Current Cycle On Threshold and the Cycle Off Threshold. The Cycle Off Threshold is a fixed first value, 85° C. for the example of  FIG. 11 . On the other hand, the Current Cycle On Threshold, or cycle-on temperature, varies between a second value, the Minimum Cycle On Threshold, 65° C. in the case of  FIG. 11 , to the Maximum Cycle On Threshold, namely 78° C. in the case of  FIG. 11 . There is also a third value, an Overheat Threshold which is, for example 90° C. in  FIG. 10 , which, when sensed, results in shutting the heater down. In addition there is the Open Threshold. When the control module receives a voltage reading from a sensor equivalent to a temperature lower than the Open Threshold, then this indicates an open circuit and that the sensor has faulted. Likewise there is a Short Threshold which, when exceeded, indicates that the sensor has shorted. 
     A temperature within the range between the Current Cycle On Threshold and the Cycle Off Threshold is considered to be within the Normal range. Temperatures below the Current Cycle On Threshold and the Open Threshold are considered in the Low temperature range. Temperatures below the Open Threshold indicate a Faulted condition. 
     Temperatures above the Maximum Cycle On Threshold and below the Short Threshold are considered within the Warm range. However temperatures above the Cycle Off Threshold and below the Short Threshold are considered in the High range. Temperatures above the Overheat Threshold, but below the Short Threshold are in the Overheat range. Finally temperatures above the Short Threshold show a Faulted condition. 
     The heater may be configured to expect one or two temperature sensors. The temperature sensor may be connected to either sensor connection on the control module. When the system is configured to expect two temperature sensors, the coolant flow through the heat exchanger may be non-specific. This object is achieved by combining the values of the two sensors into a single overall status according to the following table: 
     
       
         
           
               
               
             
               
                   
                 TABLE 1 
               
             
            
               
                   
                   
               
               
                   
                 Temperature Sensor 1 
               
            
           
           
               
               
               
               
               
               
               
            
               
                   
                 F 
                 OH 
                 H 
                 W 
                 N 
                 L 
               
               
                   
                   
               
            
           
           
               
               
               
               
               
               
               
               
            
               
                 Temp 
                 F 
                 F 
                 F 
                 F 
                 F 
                 F 
                 F 
               
               
                 Sensor 
                 OH 
                 F 
                 OH 
                 OH 
                 OH 
                 OH 
                 OH 
               
               
                 2 
                 H 
                 F 
                 OH 
                 H 
                 H 
                 H 
                 H 
               
               
                   
                 W 
                 F 
                 OH 
                 H 
                 W 
                 W 
                 W 
               
               
                   
                 N 
                 F 
                 OH 
                 H 
                 W 
                 N 
                 N 
               
               
                   
                 L 
                 F 
                 OH 
                 H 
                 W 
                 N 
                 L 
               
               
                   
               
            
           
         
       
     
     In the above table the temperature ranges in the upper row are those sensed by sensor  1 . The temperature ranges in the left-hand column are those sensed by sensor  2 . F indicates a temperature in the Faulted range, OH a temperature in the Overheat range, H a temperature in the High range, W a temperature in the Warm range, N a temperature in the Normal range and L a temperature in the Low range. 
     Alternatively there may be conditions when only one sensor is required, but actually two are present. In this case the control module does not attempt to determine which one is present. The table below defines the overall condition assuming that the absent sensor appears Faulted/open. When there is only one sensor present or required, and if it is faulted, then the control module does not know which sensor is faulted, so faults on both sensors are generated even though there is only one. 
     
       
         
           
               
               
             
               
                   
                 TABLE 2 
               
             
            
               
                   
                   
               
               
                   
                 Temperature Sensor 1 
               
            
           
           
               
               
               
               
               
               
               
            
               
                   
                 F 
                 OH 
                 H 
                 W 
                 N 
                 L 
               
               
                   
                   
               
            
           
           
               
               
               
               
               
               
               
               
            
               
                 Temp 
                 F 
                 F 
                 OH 
                 H 
                 W 
                 N 
                 L 
               
               
                 Sensor 
                 OH 
                 OH 
                 OH 
                 OH 
                 OH 
                 OH 
                 OH 
               
               
                 2 
                 H 
                 H 
                 OH 
                 H 
                 H 
                 H 
                 H 
               
               
                   
                 W 
                 W 
                 OH 
                 H 
                 W 
                 W 
                 W 
               
               
                   
                 N 
                 N 
                 OH 
                 H 
                 W 
                 N 
                 N 
               
               
                   
                 L 
                 L 
                 OH 
                 H 
                 W 
                 N 
                 L 
               
               
                   
               
            
           
         
       
     
     For prior art utilizing an NTC thermistor, it is possible the small amount of moisture or corrosion across the sensor leads can simulate a cold temperature reading. This may cause the heater to fire with a false low reading, and may allow the heater to operate indefinitely if the reading does not change. 
     An algorithm is used to detect a temperature sensor that is not considered open or shorted, but stuck at some level. It is considered a Delta-T fault if at least one temperature level does not increase by a minimum Delta-T (3° C. in this example) from the time the heater enters the Ignition state until it has been in the Run/Reignition states for a Delta-T check time (60 seconds in this example). If either temperature increases by the minimum Delta-T or more, then there is no Delta-T fault. Otherwise a Delta-T fault is indicated for each sensor (which is not faulted open/short) whose value was less than a maximum initial temperature (25° C. in this example) at cycle-on time. 
     A further application of this algorithm is to operate it at all times that the burner is firing, and evaluate the temperature reading against typically anticipated values. 
     While the controls and methods described above are particularly adapted for transit vehicle heaters and other vehicle heaters, they may also be useful, with some alterations, for use with other heaters or other heat transfer devices such as furnaces or air conditioners. Air conditioners typically cycle on and off between fixed higher, cycle-on temperatures and fixed, cycle-off temperatures. The invention can be utilized for example to vary the cycle-on temperature to maintain a desirable average temperature. 
     Referring back to  FIG. 3 , the blower  60  includes a fan blade assembly  61  which is disc-shaped and has a plurality of blades  63 . As shown in  FIG. 22 , there is a magnet  65  mounted on the assembly  61  between a pair of projections  67  and  69 . CPU board housing  90 , shown in  FIG. 3  and  FIG. 22 , houses circuit board  91  which has a Hall effect sensor  93  on the end thereof which faces the fan blade assembly. The Hall effect sensor is aligned with the magnet so that the magnet passes the Hall effect sensor on each rotation of the fan blade assembly and, accordingly, on each rotation of the motor  64 . The Hall effect sensor therefore acts as a speed sensor which is responsive to rotational speeds of the fan. 
     A programmable control module mounted on the circuit board  91  is operatively connected to the Hall effect sensor and includes a closed loop feedback control for the motor as shown in  FIG. 23 . A desired motor speed is inputted at  250  and the processor compares this value at  252  to the momentarily measured value  254  as sensed by the sensor. The calculated error  256  is inputted into control module  258  which drives process  260  with the value  262  to change its output  264 . 
     The use of speed control provides significant advantages over earlier vehicle heaters where speed control has not been used. Accordingly, motor speed varied as much as 50 percent depending upon the voltage supplied to the heater. The addition of speed control means that the speed of the motor is independent of voltage and the output of the heater can be regulated by selecting a particular motor speed which will give the heater the required amount of fuel and air for the designated output. Furthermore, the heater can be a single speed heater or a variable speed heater which accordingly can change the output. For example, the output could be increased initially to heat up a vehicle and then decreased to maintain a steady temperature. 
     The heater  30  has a backup speed control system in case of failure of the system described above including, for example, failure of the Hall effect sensor or physical dislocation of the magnet. The control module includes a lookup table. It looks up the voltage supplied to the heater in the lookup table and uses pulse width modulation to yield the desired rotational speed for the motor. For example, Table 3 below shows that for desired rotational speed of 3600 rpm, the required PWM at a supply voltage of 12 volts is 85 percent. 
     
       
         
           
               
               
               
             
               
                   
                 TABLE 3 
               
               
                   
                   
               
               
                   
                 Volts 
                 PWM 
               
               
                   
                   
               
             
            
               
                   
               
            
           
           
               
               
               
            
               
                   
                 9 
                 100 
               
               
                   
                 10 
                 95 
               
               
                   
                 11 
                 90 
               
               
                   
                 12 
                 85 
               
               
                   
                 13 
                 83 
               
               
                   
                 14 
                 80 
               
               
                   
                 15 
                 78 
               
               
                   
                 16 
                 76 
               
               
                   
                 17 
                 74 
               
               
                   
                 18 
                 72 
               
               
                   
                 18 
                 70 
               
               
                   
                 19 
                 68 
               
               
                   
                 20 
                 66 
               
               
                   
                 21 
                 64 
               
               
                   
                 22 
                 62 
               
               
                   
                 23 
                 61 
               
               
                   
                 24 
                 60 
               
               
                   
                 25 
                 59 
               
               
                   
                 26 
                 58 
               
               
                   
                 27 
                 57 
               
               
                   
                 28 
                 56 
               
               
                   
                 29 
                 55 
               
               
                   
                 30 
                 54 
               
               
                   
                   
               
            
           
         
       
     
     Pulse width modulation is used to reduce the speed to the required amount even if the voltage is higher. During operation of the Hall effect sensor, the table is constantly updated to indicate the amount of pulse width modulation required to yield the correct rotational speed for a particular voltage applied to the heater. If the Hall effect sensor fails, then speed control is maintained utilizing this table. Effectively the control module strips off voltages above 9 volts in the above example. 
     The use of the speed control system utilizing pulse width modulation allows the heater to be used for electrical systems having different voltages. In this example the heater  30  runs at 9 V, but can be utilized on 12 V or 24 V systems. The speed controller strips off the voltages above 9 V as mentioned above. Also the output of the heater can be increased or decreased by increasing or decreasing rotational speed of the motor. A few other modifications are necessary including changing the nozzle  134 . Different motors are not required for different heater outputs, but rather a single motor can be used for different heating capacities unlike the prior art. This reduces the number of components which must be ordered and stored. A personal computer utilizing appropriate software can be connected to a port on the heater and used to change the speed of the motor has desired. 
     Before the control module commences the combustion process, it exercises selective heater components to allow a service technician to directly observe and verify operation of these loads. This facilitates troubleshooting and eliminates the requirement for special test tools. 
     In the heater  30 , the status of the flame sensor  149 , shown in  FIG. 20 , is mirrored by an indicator light. This removes the need for a sight glass to allow an operator or technician to view the combustion area for the presence or absence of the flame. As described above, the flame sensor is integrated into the control module. The operation of the flame sensor should be independently verified so that the entire control module is not replaced for what might be a combustion related problem. With the heater switched off, but with power supplied to the heater, the burner head is removed from the heater assembly and a flashlight is directed onto the flame sensor. If the indicator light turns on, then the flame sensor functionality is confirmed. This can eliminate the flame sensor as a potential problem when troubleshooting. 
       FIG. 31  shows a coolant pump  151  which is connected to heater  30  by coolant conduit  153  and to the cooling system of engine  155 . A cable  157  connects the pump to the heater and supplies the pump with power when operation of the pump is required. 
     The coolant pump may have a current limit which is less than the inrush current encountered when the coolant pump motor is started. For example, the current limit for the motor may be 10 amps, but the inrush current may be 20 amps. A soft start may be employed so as to reduce the current supplied to the motor when the motor starts. In the case where a large pump is utilized, it must be indirectly driven through the use of a relay. However, soft starts may cause chatter in the relay. This causes the relay to eventually fail. Accordingly, the software for the control module uses a special procedure to turn on the coolant pump output. This is shown in detail in the flowchart of  FIGS. 28-29 . 
     The software initially turns on the coolant pump output. If the load current exceeds a preset maximum, the hardware turns off the output and asserts its shut-off line. One millisecond after turning on the output, the software checks the shut-off line. If the coolant pump is still shutting off after two seconds, then the Control module declares a coolant pump fault. At any of the shut-off checks on one millisecond intervals, if the shut-off line is not asserted, then the Control module sets up a one second timer. If there are no further shut-offs by the time that the timer expires, then the Control module declares the pump successfully started and any subsequent shut-offs are declared coolant pump faults. However if a shut-off does occur before the one second timer expires, then the Control module resumes its one millisecond check sequence (it is still within two seconds of the start of the software procedure). This procedure essentially results in a 1 kHz variable duty cycle pulse width modulation (PWM) that lasts no longer than two seconds, with successful starts known to have been running for at least one second without faltering. 
     Using this approach large loads with an inrush current exceeding the preset maximum will be soft-started, thus protecting the control module from low-voltage transients, and protecting the load from demagnetization (only if it is a motor). Loads with inrush currents below the preset maximum will be hard-started. When using a relay to drive a large coolant pump, this prevents relay chatter and prolongs relay life. 
     Essentially this means that a soft start is selectively used if the current is above a certain level and hard start is used if the current is below this level to extend relay life. The soft start turns on and off rapidly like a pulse width modulation. 
     During starting of the vehicle engine, the voltage supply to the heater drops as the engine is cranked by the starter motor. The voltage then jumps when the alternator becomes operational. This voltage jump may show a false high current fault and consequently problems for the operator. The invention addresses this problem by looking for rapid voltage changes when an overcurrent condition occurs. 
     The shown in  FIG. 29  when the vehicle is started and the Control module is operating, the Control module sees a drop in supply voltage during engine cranking, perhaps for several seconds. The motor speed control will probably increase the motor duty cycle to compensate. This drop in supply voltage is followed by a sudden increase in supply voltage when the alternator becomes operational. Such a rapid increase in supply voltage could result in motor and/or coolant pump overcurrent faults. 
     The means of overcoming this problem is shown in the flowchart of  FIGS. 24-27 . The Control module continuously keeps track of whether there has been a large change in supply voltage. Supply voltage level was measured 10 times per second with the last 8 samples retained. As each new sample is obtained, the Control module compares it with the sample taken 0.7 seconds ago. If the voltage rose by more than 1 volt, a 1 bit is shifted into a 32-bit shift register, allowing up to 3.2 seconds of history. Otherwise, once per 0.1 seconds, a zero is shifted in. If the voltage fell by more than 1 volt, a 1 bit is shifted into a separate 32-bit shift register, allowing up to 32 seconds of history. Once per second a zero is shifted in. 
     When a coolant pump or motor (peak or average) overcurrent fault occurs, the Control module checks to see if any rise events occurred in the last 2 seconds, or any fall events occurred in the last 30 seconds. If so, then the apparent coolant pump or motor current fault is declared a dV fault and essentially ignored. The fault is logged using a new code indicating rising and/or falling supply voltage. The Finite State Machine logic which runs the control module proceeds to a Purge Error state. The Error Count does not increment and the indicator light does not blink. It will be readily understood that the values given above are by way of example and would be altered in different embodiments. 
     With reference to the flowchart of  FIG. 32 , the invention includes provision for taking care of a sputtering flame caused, for example, by air bubbles in the fuel. These air bubbles can cause the flame to sputter or go out. If this occurs, then it is necessary to restart combustion. The invention utilizes two timers, a 15 second flame-on timer and a 10 second Flame-off timer. While operating, if the flame extinguishes, then the flame sensor indicates that there is no flame and this turns on the ignition. This attempts to reignite the flame. While the heater is running normally (i.e. with a flame) a Flame-on timer runs as long as the heater is in the Run state. This timer is frozen in the Reignition state. The Flame-on timer and the Flame-off timer are reset when the Flame-on timer times out after being in Run state for 15 seconds. The controls periodically check the flame sensor, in this case once a second, to determine whether or not a flame is present. There is a first memory which registers a flame-on event if the flame is present. The controls actuate the ignitor if no flame is present. There is a second memory which registers a flame-off event if no flame is present after the ignitor is actuated. The control module indicates that a fault has occurred when a plurality of flame-off events are registered before a plurality of flame-on events are registered. The flame sensor senses for a flame cyclically, a new cycle beginning when a plurality of flame-on events are registered before a plurality of flame-off events are registered. In this particular example the presence of the flame is sensed once per second. In this example the plurality of flame-off events is 10 events and the plurality of flame-on events is 15 events. 
     A flame-out timer keeps track of how long the flame has been out. After being out for 10 seconds, a flame-out fault is declared. If the flame reignites, the unit returns to the Run state. The Flame-out timer is not cleared when the unit returns to the Run state rather the Flame-out timer is frozen in case the flame goes out again right away, and the system returns to the Reignition state again. 
     The 10 seconds for the Flame-out timer and 15 seconds for the Flame-on timer are significant. The system tolerates 10 seconds/25 seconds with the flame out. In other words, the flame may be out 40 percent of the time and the heater continues to run. Any more, then the heater will stop since this usually indicates a fault such as a leaking fitting. 
     The heater described above and shown in the drawings is an auxiliary heater for buses and trucks. Engine coolant is pumped through the heat exchanger which surrounds the combustion chamber. The heater burns vehicle fuel. There are two manually operated switch inputs: a main toggle/rocker switch; and a pre-heat momentary push-button switch. The unit also has two inputs that come from the engine or an electronic engine controller. There is a coolant pump input which allows the engine controller to turn the unit&#39;s coolant pump on when the unit is otherwise off. There is also a supplemental input which directs the Control module to produce supplemental heat for the passenger compartment. 
     The unit has control over four primary devices. The first is the blower motor which blows air through the combustion chamber and provide suction for the fuel. The air movement provides oxygen for combustion, removes exhaust gases and cools the chamber after the flame is put out. The second is the coolant pump that helps move liquid engine coolant between the input and output ports of the heat exchanger. The third is a solenoid that controls a fuel valve. The fourth is the spark ignitor used to start the fuel burning. The ignitor is turned off after the fuel starts to burn. Normally the flame continues until the supply of fuel is switched off. 
     The unit has additional inputs to sense the presence of a flame, measure coolant temperature, and detect over/under voltage and other faults, and has additional outputs for an indicator lamp and to power auxiliary/accessory devices. Non-volatile memory is used to record hours meters and keep an event/fault log. The unit has a serial diagnostic port which allows a remote PC to access/control unit operation. 
     There is a heating cycle which is defined as a sequence of automatic operations by the Control module beginning with detecting temperature below the cycle on threshold and starting combustion, and ending with detecting temperature above the cycle off threshold and extinguish in combustion. 
     Once a heating cycle starts, there may be fuel and/or hot exhaust gases in the combustion chamber. When the heating cycle ends, whether or not it terminates successfully, the Control module continues to run the blower motor for a period of time in order to clear out in cool down the combustion chamber. This process is known as purging. 
     The Control module of the preferred embodiment has an RS232 communication port over which it can interact with a diagnostic program running on the standard PC. 
     Many aspects of the Control module operation are governed by parameters accessible and modifiable via the datalink. 
     The behavior of the heater is specified by a finite state machine with 16 defined states in the preferred embodiment. However the unit is considered to be operating in one of four modes discussed below. 
     The Normal Mode is the primary mode for the unit. Operation during this mode depends on the state of the main switch. When the main switch is on, the coolant pump runs continuously, and the burners turned on/off according to temperature set points (i.e. similar to a thermostat for a house furnace). When the main switch is off, the burners stays off, but the coolant pump runs whenever requested by the engine controller. 
     Supplemental mode is similar to Normal mode (with the Main switch on), except that the coolant pump does not run continuously. In Supplemental mode, the coolant pump only runs while the burner is on or when requested by the engine controller. This mode is selected by turning on the Supplemental input (while keeping the Main switch off). Supplemental mode is canceled when the Main switch is turned on. 
     Preheat mode is similar to the Normal mode (with the main switch on), except that it automatically shuts off after 90 minutes. Preheat mode is entered when the operator presses the Preheat pushbutton switch momentarily. The switch is only honored when both main and supplemental inputs are off. Preheat mode is canceled when either of these other switches is turned on. 
     There are three levels of severity of failure conditions which may occur. The first level is noncritical. Some aspect of the unit has failed, but it still can perform its basic heater function and the current heating cycle is allowed to continue. 
     The second level is critical. Here the unit cannot continue the current heating cycle any longer. The cycle is terminated, but another (automatic) heating cycle is permitted regardless of how many different critical faults have occurred within the cycle. 
     If two consecutive heating cycles are terminated in this manner, it is considered catastrophic. Here the unit cannot automatically initiate any more heating cycles. Operator intervention is required. For example, and overheat fault is considered catastrophic. 
     Once a fault has been recognized, and acted upon, the control module must consider the fault condition to be cleared before acting on it again. This prevents a single event from triggering repeated log entries. The control module remembers which faults are currently active and resets this memory under the following conditions: 
     For critical and catastrophic faults, all such faults are reset upon a transition from a class B state to a class A state. Purge, purge error, purge shutdown, purge off, shutdown and shutdown override, all discussed below, are class B states. All others are class A states. 
     For noncritical faults, all such faults are reset as above for critical faults and also on entry to the off state and on exit from the purge state. Again these states are discussed below. 
     The operation of the heater will now be explained with reference to the various operational states thereof. The operation of the heater is specified by a finite state machine (FSM) with the following states. In general all of the states monitor switch inputs for mode changes, exit Preheat mode when time expires and check for faults on given outputs and inputs of interest. 
     Powered Off— 
     This represents the state of the electronic control module when it is powered off. When the power is turned on, the heater normally enters the (heater) Off state. 
     Off— 
     The heater is off in this state. The electronic control module however only stops running when the power supply to the control module is disconnected. All operator switches are off and the unit is considered to be in Normal mode awaiting operator or engine control module input. 
     The unit is intended to be powered, normally by the vehicle battery, at all times. Therefore the heater has a low-power sleep mode while in this state. Any manual switch operation, request from the engine controller or diagnostic port connection will wake it up. 
     While in the Off state, the indicator light is used to show the presence or absence of the flame as detected by the flame sensor. This is to permit a service technician to verify the functionality of the flame sensor. 
     Ignition Check— 
     This state occurs just after the heater has been switched on while in the Off state using the Main switch. The unit turns the ignitor on for five seconds (Ignition Check timeout parameter), allowing the service technician to verify ignitor functionality. Ignitor faults are not checked during this period. The state will terminate prematurely, and the unit returns to the Off state if the Main switch is turned off, otherwise the next state is Standby. 
     Standby— 
     The unit in this state has been switched on by one of the operator switches, but the burner is not on. The unit monitors coolant temperature and initiates the process to turn on the burner when the temperature drops below a lower threshold. The coolant pump is running continuously in this state. The state may occur in any of the three operating modes. However the only way it can occur in Supplemental mode is if the engine controller requests that the coolant pump run. 
     Standby Supp— 
     This state is only for Supplemental mode. It is similar to the Standby state except that the coolant pump is off. The engine controller does not request the coolant pump to run. If the engine controller does request the coolant pump, then the unit changes to Standby stage. If the burner needs to be turned on, the unit goes to the Prerun state. 
     Prerun— 
     This state occurs only for the Supplemental mode. The purpose of this state is to run the coolant pump for thirty seconds. It then checks if the temperature sensed still requires the burner to be turned on. This is because the coolant pump has been off and the unit may not be reading the true coolant temperature. The heat from the engine itself may be sufficient and there may be no need to turn on the burner. 
     Precheck— 
     This is the first of a sequence of states the unit goes through to turn on the burner. Power is applied to the ignition module, but sparking is not enabled. The state lasts about 0.5 seconds, giving the unit time to check for a few types of fault conditions. The checks performed include:
         is the flame already on? (May indicate a faulty flame sensor)   are the temperature sensors okay?   is there an overheat condition (combustion chamber too hot)?   is system voltage within acceptable operating range?   are there ignition module, fuel solenoid or coolant pump faults present?       

     Preignition— 
     This is the second of a sequence of states that the unit goes through to turn on the burner. The blower motor is turned on and ignition module sparking is enabled at this point. The fuel valve is kept closed. The state lasts for about five seconds, giving the unit time to verify motor startup and detect ignition module faults. 
     Ignition— 
     This is a third of a sequence of states that the unit goes through to turn on the burner. The fuel valve is opened at this point. The objective is to ignite the fuel. The state lasts about thirty seconds. During this interval, in addition to the usual array of fault conditions, the unit monitors whether the flame is out. At the end of this interval, if the flame had not been on sufficiently long enough (see Start Criteria parameter), then the sequence is aborted because the burner failed to start. 
     Run— 
     This is the final state in the sequence the unit goes through to turn on the burner. Ignition module sparking is turned off at this point. Fuel should continue to burn. The unit remains in the state until coolant temperature reaches the upper threshold, the Main or Supplemental switch is turned off, or some critical fault is detected. Should the flame go out, the unit attempts reignition by going to the Reignition state. When it is time to terminate the current heating cycle, the unit goes into one of the Purge states to clear the combustion chamber of exhaust gases and cool it down. 
     Reignition— 
     When the flame goes out during the Run state, the unit attempts to reignite it in this state. Ignition module sparking is re-enabled. The state lasts for up to ten seconds or until a flame is sensed again. A flame-out timeout timer keeps track of how long the flame has been out. After being out for ten seconds, a flame-out fault is registered. If the flame reignites, the unit returns to the Run state with sparking off. The Reignition flame-out timeout timer is not cleared when the unit returns to the Run state. Rather the Reignition flame-out timeout timer is frozen in case the flame goes out again right away, and the heater returns to the Reignition state again. The second timer known as the Reignition flame timeout timer runs only in Run state (and is frozen while in Reignition state). The reignition flame timeout timer is reset when the Reignition flame timeout timer times out (after being in the Run state 15 seconds), the Reignition flame timeout timer also restarts. 
     Purge/Purge Off Purge Error/Purge Shut Down— 
     After the burner is turned off at the end of the heating cycle, the combustion chamber is cleared of exhaust gases and cooled by running the blower motor for about 2 minutes. There are four variations of the Purge state, depending on how the cycle ended and what the state of the unit will be after the purging is completed.
         Purge—normal termination of heating cycle because upper temperature threshold was reached. Unit remains in current operating mode with next state being Standby.       

     Purge Off—normal termination of heating cycle because operator switched off the unit or Pre-heat interval timed out. After purge period expires, unit goes to Off state in Normal mode. 
     Purge Error—heating cycle terminated due to a critical failure. While purging, an error code is displayed on the indicator, but after the purge period expires. The unit remains in its current operation mode with the next state being Standby. 
     Purge Shutdown—heating cycle terminated due to a catastrophic failure. An error code is displayed on the indicator, and after the purge period expires, the next state is Shutdown (the error code continues to be displayed). 
     When the blower motor is on during a purge state, it is important that the blower be kept running if possible to adequately cool the burner and vent exhaust gases and unburnt fuel. About one second after a blower motor fault, the motor output is retried. Blower motor PWM gradually ramps up to the target motor speed. This may take several seconds. There is one exception to this motor retry while in purge strategy, namely if the flame sensor detects a flame (see Purge flame timeout parameter), then the motor is turned off (and not retried) in an attempt to extinguish the flame. 
     Shutdown— 
     The unit in the state has automatically turned itself off due to a catastrophic failure. The unit remains in this (or C.P. Override) state until operator presence is indicated by switch operation. If Main and/or Supplemental switches were on at the time of failure, the operator must switch them both off. If the Preheat mode was active at the time of failure (Main and Supplemental switches must have been off), the operator must turn the Main or Supplemental switch on (This does not engage the heater in the corresponding mode, rather the unit stays in Shutdown state, but no longer considers itself in Reheat mode) and off again. The unit then returns to Off state in Normal mode. 
     C.P. Override (Shutdown Override)— 
     While the unit is in Shutdown state, the engine controller can still request that the coolant pump run. The state is essentially identical to Shutdown except the coolant pump is turned on. When the engine controller removes its request, the unit returns to Shutdown state. If there is a coolant pump failure, it is retried every 10 seconds. 
     C.P. Run (Off Override)— 
     While the unit is in Off state, the engine controller can still request that the coolant pump run. The state is essentially identical to Off state, except the coolant pump is turned on. When the engine controller removes its request, the unit returns to Off state. If there is a coolant pump failure, it is retried every 10 seconds. 
     It will be understood by someone skilled in the art that many of the details provided above are by way of example only and can be altered or deleted without departing from the scope of the invention which is to be interpreted with reference to the following claims.