Abstract:
A computer readable medium containing instructions that when executed by a computer performs steps to affect temperature. The steps include defining a desired temperature as a first value; activating an HVAC device if a current temperature achieves a first condition relative to the desired temperature; deactivating the HVAC device if the current temperature achieves a second condition relative to the desired temperature; and defining the desired temperature as a second value if the current temperature does not achieve the second condition within a first time period.

Description:
FIELD 
     The present disclosure generally relates to controlling idling of an engine, and more particularly to controlling idling of an engine to allow climate control functions to be performed in an efficient manner. 
     BACKGROUND 
     Internal combustion engines generate emissions that are undesirable for a variety of reasons. It is well known that waste products in engine exhaust such as carbon monoxide, hydrocarbons, and nitrogen oxides adversely affect human health, and present risks to the environment. Diesel engines in particular produce considerable amounts of soot, which contains particulate matter, black carbon, sulfur dioxide, nitrogen oxides and other hazardous pollutants. Several government agencies regulate emissions of such material. 
     Increases in engine running time produce increases in waste products and fuel consumption. Operators of Semi-tractor trailers often have sleeping quarters located within the cab to allow sleeping or other activity when the truck is parked and the operator is not driving. Operators often leave the engine running when so parked so that he/she may utilize the climate control features of the cab and to allow powering of auxiliary devices without unacceptable depletion of the battery of the truck&#39;s electrical system. Accordingly, the engine of the truck is operated when the truck is not traveling, thereby producing waste products and consuming fuel through idling. 
    
    
     
       BRIEF DESCRIPTION OF THE FIGURES 
         FIG. 1  is a conceptual block diagram of a hardware configuration for the present disclosure; 
         FIG. 2  is graph of temperature fluctuations within the cab of a vehicle utilizing the hardware configuration of  FIG. 1 ; 
         FIG. 3  is a vehicle suitable for employing the hardware configuration of  FIG. 1 ; 
         FIG. 4  is a side view of the monitor of the hardware configuration of  FIG. 1 ; 
         FIG. 5  is a first embodiment of battery connection straps suitable for use with the vehicle of  FIG. 3 ; 
         FIG. 6  is a second embodiment of battery connection straps suitable for use with the vehicle of  FIG. 3 ; 
         FIG. 7  is a perspective view of a wire harness and CEMS control unit that are part of the hardware configuration of  FIG. 1 ; 
         FIG. 8  is a perspective view of the CEMS control unit of  FIG. 7 ; and 
         FIG. 9  is a block diagram of a method battery charging maintenance. 
     
    
    
     The above mentioned and other features of this disclosure, and the manner of attaining them, will become more apparent and the disclosure itself will be better understood by reference to the following description of embodiments of the disclosure taken in conjunction with the accompanying drawings. 
     DETAILED DESCRIPTION 
     The embodiments disclosed below are not intended to be exhaustive or to limit the disclosure to the precise forms disclosed in the following detailed description. Rather, the embodiments are chosen and described so that others skilled in the art may utilize their teachings. 
       FIG. 1  depicts a hardware configuration for use with one embodiment according to the present disclosure. As shown, idle control system  10  includes a central “CEMS” control unit  12  that provides hardware and software for performing many of the functions described herein. Control unit  12  is connected to a monitor/interface  14  for providing information to a driver and, optionally, obtaining driver inputs. Control unit  12  is relatively small and lightweight. Control unit  12  approximately 137 cm 3  in volume and is mounted via a wire harness  100  ( FIG. 7 ) for a combined volume of approximately 266 cm 3 . Being small, lightweight, and mountable via wire harness  100  allows control unit  12  to be mounted in a wide variety of locations on the vehicle (within the engine compartment, under the dash, etc). Furthermore, the design allows easy placement of control unit  12  in vehicles that were not initially manufactured with system  10  in mind, i.e. retrofits. 
     Control unit  12  controls the vehicle&#39;s starter  20  to start and stop engine  22  in the manner described below. Control unit  12  is also connected to LVD  16  (low voltage disconnect) switch which, under certain circumstances described below, may be used to disconnect the vehicle&#39;s electrical loads from batteries  18 . Batteries  18  may be absorbed glass mat (AGM), deep cycle, or other types of batteries. Multiple batteries  18  may be used in combination to provide longer battery operation an to obtain more energy from batteries  18 . This increase in energy allows engine  22  to achieve longer periods of deactivation, and thus increased fuel savings and decreased emissions. Battery  18  will often be discussed herein as a singular battery, however, it should be appreciated that multiple combined batteries  18  are also envisioned. 
     LVD  16  works to provide a “parked” state operation. Parked state provides full power disconnect of battery  18  from loads upon detection of stored energy in battery  18  that falls below a calculated threshold. One such threshold may be set to ensure that enough energy is maintained in battery  18  to start engine  22 . Avoiding full battery discharge (such as after long-term vehicle parking (e.g. vacation)) eliminates needing jump starts. System  10  measures energy supplied to battery  18  during engine  22  operation and energy delivered by battery  18  when engine  22  is off to determine stored battery energy. Alternatively, system  10  may be configured to automatically start engine  22  to charge battery  18  when stored battery energy falls below the threshold. 
     System  10  also includes a “run” state. During vehicle operation at driving speeds, system  10  monitors energy provided to battery  18  as a way of monitoring proper alternator  32  operation. During this state, system  10  may be configured to turn fans of heating and cooling elements  26 ,  28 ,  30  on and off to properly heat/cool the cab while the operator is driving. Controlling the fan of cooling elements  26 ,  60  can reduce parasitic load on engine  22  and therefore, improve fuel efficiency. 
     Idle control system  10  includes communications with the vehicle&#39;s engine control unit “ECU”  24  to obtain a variety of information, including a speed signal, upon which idle control system  10  bases its idle speed determinations. These communication are over a common truck datalink (J1939) used with electronically controlled engines. Speed determinations are made to achieve the ideal engine idle speed by considering the desire to reduce fuel consumption, alternator output considerations, and block temperature or HVAC considerations. 
     In a “base” embodiment, idle control system  10  uses the vehicle&#39;s heating and air conditioning system  26  to control the interior temperature of the vehicle. The base embodiment requires that engine  22  be operating whenever the heating and air conditioning system  26  is needed to change the interior temperature. In an “expanded” embodiment, which can be operated on battery  18  power alone, idle control system  10  uses one or more auxiliary devices  28 ,  30  to heat and cool the vehicle, either exclusively or in conjunction with the vehicle&#39;s heating and air conditioning system  26 . 
     The expanded embodiment utilizes the modular design of system  10 . The expanded embodiment provides for various components to be added to the system to achieve higher efficiencies, but are not required for the system to operate. Control unit  12  is automatically re-configured to control an accessory, such as a fuel fired heater  28  and an A/C device  30 , upon connection of the accessory to control unit  12 . These accessories or auxiliary devices  28 ,  30  are optionally run off of battery power instead of receiving power when the vehicle idles. Accordingly, control unit  12  may control interior temperature without requiring engine operation, thereby decreasing fuel consumption and emissions. Additionally, accessories  28 ,  30  may be used in conjunction with heating and air conditioning system  26  of the vehicle. If control unit  12  is unable to cool or heat to the required temperature by using accessories  28 ,  30  then control unit  12  will also start the engine and use the vehicles heating and air conditioning system  26  to augment the accessory equipment  28 ,  30  in heating and cooling the vehicle. Heating and air conditioning system  26  may include a fuel fired block heater  27  using battery  18  power to activate when oil temperature in engine  22  is too low. 
     The heating and cooling functions of idle control system  10  (all embodiments) are controlled by an algorithm. The operator does not need to select a “heating state” or a “cooling state” in the control unit  12 . In the base embodiment, the driver manually sets the heating or cooling controls on the vehicle&#39;s heating and air conditioning system  26  (e.g., turn the air conditioner to high so that when idle control system  10  starts the vehicle, the air conditioner will be on). Idle control system  10  starts and stops engine  22  to maintain the desired temperature in the vehicle. In the expanded implementation, the driver simply activates idle control system  10 , selects or sets a desired interior temperature via monitor  14  or otherwise, and idle control system  10  determines, based on the current interior temperature, whether to heat or cool the vehicle. In some embodiments, the driver is restricted to choose a desired temperature between 65° F. and 75° F. As indicated above, the heating and cooling may be performed using auxiliary devices  28 ,  30  powered by batteries  18 , or a combination of auxiliary devices  28 ,  30  and the vehicle&#39;s heating and air conditioning system  26 . 
     In either implementation, idle control system  10  periodically starts and stops the vehicle&#39;s engine  22 , either to reach a desired interior temperature, or to charge the vehicle&#39;s batteries  18  as described below. This starting and stopping is performed without regard to the position of the vehicle&#39;s ignition switch. When the driver deactivates idle control system  10 , however, control of engine  22  (i.e., starting and stopping) is immediately returned to the ignition switch. 
     The following example illustrates the normal operation of the heating and cooling functions of idle control system  10 . This example assumes a base embodiment of idle control system  10  (i.e., without auxiliary heating or cooling devices), an outside temperature of 90 degrees, and an initial interior temperature of 80 degrees. After parking the vehicle and activating idle control system  10 , the driver uses the vehicle&#39;s monitor  14  in bunk area  17  to select a desired temperature of 70 degrees. Additionally, to lower the temperature in the bunk area, the driver turns the vehicle&#39;s air conditioning switch to the on position. As the current temperature is higher than the desired temperature, idle control system  10  determines that it must turn on the vehicle&#39;s engine  22  to operate the air conditioning system. Idle control system  10  then continuously monitors the current temperature in the vehicle. 
     Idle control system  10  operates the vehicle&#39;s cooling system  26  until the measured interior temperature reaches a deactivation threshold, which is the desired temperature minus two degrees. It should be appreciated that while thresholds are discussed herein as various values, such as “desired temperature minus two degrees,” other values may be used and such values may be functions of other settings. Idle control system  10  reactivates cooling system  26  when the interior temperature rises to an activation threshold, which is the desired temperature plus four degrees. When heating the interior of the vehicle, idle control system  10  similarly drives the interior temperature to a deactivation threshold (the desired temperature plus two degrees), and reactivates heating system  26  when the interior temperature cools to an activation threshold (the desired temperature minus four degrees). The relationships between the thresholds and the desired temperature cannot be adjusted by the driver. 
     Continuing with the example and referring to  FIG. 2 , when the measured interior temperature is cooled from the initial temperature of 80 degrees, through the activation threshold of 74 degrees (point A), through the desired temperature of 70 degrees, to the deactivation threshold of 68 degrees (point B), engine  22  is typically turned off, thereby deactivating cooling system  26 . 
     As is further described below, even when the deactivation threshold is reached, idle control system  10  may cause engine  22  to continue running if further operation of alternator  32  is needed to charge batteries  18 . In that situation, idle control system  10  turns off the fans for the vehicle&#39;s cooling system  26  when the deactivation threshold is reached, which deactivates the vehicle&#39;s compressor. 
     When cooling system  26  is deactivated, the measured temperature of the interior of the vehicle will slowly rise as the warmer, outside air transfers heat through the vehicle. As shown in  FIG. 2 , the interior temperature eventually reaches the activation threshold (point C) of 74 degrees (the desired temperature plus four degrees). When the measured temperature reaches the activation threshold, idle control system  10  again turns on the vehicle&#39;s engine  22  to operate cooling system  26  and drive the interior temperature back down to the deactivation threshold of 68 degrees (not shown in  FIG. 2 ). This cycling continues as necessary. By turning engine  22  on only as needed to achieve a desired interior temperature, idle control system  10  saves fuel and reduces emissions as compared to full time idling. 
     In some embodiments of idle control system  10 , control unit  12  may, based on data reflecting the historical operation of system  10 , determine or estimate the approximate sleep time of the driver. For example, if idle control system  10  has been regularly activated between the hours of 10:00 p.m. and 6:00 a.m., control unit  12  may assume that the driver sleeps during this time. To further improve overall vehicle energy management, idle control system  10  may be configured to automatically adjust the desired temperature as the driver sleeps. For example, if the driver selects a desired temperature of 70 degrees, control unit  12  may operate in the manner described above until midnight, when it automatically changes the effective desired temperature to 74 degrees. The automated changing of the effective desired temperature results in a virtual set point. It is virtual in that it was not actually set by the user, but the system is treating the set point as if it was selected by the user. This small difference in desired temperature, the four degrees between the set temperature and the virtual set point, should go unnoticed by the sleeping driver, and will further reduce fuel consumption and emissions by decreasing the engine  22  on time. 
     Under some circumstances, idle control system  10  will not be capable of achieving the deactivation threshold temperature. For example, the vehicle&#39;s temperature control systems may perform badly as a result of clogged filters or depleted refrigerant, or the outside temperature may be so extreme that even a fully functional temperature control system could not achieve the deactivation threshold temperature. Alternatively, the driver may have inadvertently or intentionally left a window opened. It is known that some drivers are irritated by or have difficulty sleeping as a result of periodic engine  22  starts and stops. Some of these drivers have attempted to circumvent the operation of idle control systems  10  by opening a window and setting a desired interior temperature that cannot be reached with the incoming outside air. Some idle control systems  10  will run engine  22  continuously in an attempt to achieve the desired temperature, thereby eliminating the fuel and emission reduction of the system. Idle control system  10  prevents this loss of efficiency, regardless of the cause (i.e., equipment problems or driver carelessness/manipulation) by automatically resetting the desired temperature to a virtual set point in the manner described below. 
     Idle control system  10  automatically adjusts the desired temperature if the deactivation threshold associated with the current desired temperature is not reached within a predetermined amount of time (“the allotted time”). Idle control system  10  computes the allotted time upon reaching the activation threshold. By employing a signal from the ECU representing the outside air temperature, the idle control system  10  determines the difference between the outside temperature and the desired temperature (“the temperature differential or TD”). The idle control system  10  then determines whether TD is positive or negative to automatically determine whether to heat or cool. A negative TD indicates a heat mode and a positive TD indicates a cooling mode. A table stored in memory associates TD ranges with an expected rate of inside temperature change (“the expected rate”) in terms of minutes per degree Fahrenheit. Table 1 depicts this expected rate look-up table. 
     
       
         
               
               
             
               
               
               
             
           
               
                   
                 TABLE 1 
               
               
                   
                   
               
               
                   
                 Expected Rate 
               
               
                   
                   
               
             
             
               
                   
               
             
          
           
               
                   
                 Negative TD 
                   
               
               
                   
                 TD &gt; 70 
                 10 
               
               
                   
                 50 &lt; TD ≦ 70 
                 8 
               
               
                   
                 30 &lt; TD ≦ 50 
                 6 
               
               
                   
                  0 ≦ TD ≦ 30 
                 4 
               
               
                   
                 Positive TD 
               
               
                   
                 TD &gt; 35 
                 10 
               
               
                   
                 25 &lt; TD ≦ 35 
                 8 
               
               
                   
                 15 &lt; TD ≦ 25 
                 6 
               
               
                   
                  0 ≦ TD ≦ 15 
                 4 
               
               
                   
                   
               
             
          
         
       
     
     Using the example depicted in  FIG. 2 , at point C the idle control system  10  computes TD (i.e., 92−70=+22, where 92 is the outside temperature and 70 is the desired temperature), and accesses the look-up table to determine an expected rate of change of 6 minutes per degree. Thus, the idle control system  10  determines an allotted time of 36 minutes to reach the deactivation threshold of 68 degrees. It should be noted that the expected rate is checked each time the inside temperature changes one degree. In other words, when the inside temperature reaches 73 degrees, the idle control system  10  will again compute TD (i.e., 92−70=+22, the outside temperature has not changed), and ascertain the expected rate (i.e., 6 minutes per degree) for the remainder of the cycle. Next, the idle control system  10  computes the remaining allotted time based on this expected rate. As such, the originally calculated allotted time may change during the cycle if TD falls into a different range of Table 1 (e.g., as a result of a relatively sudden change in conditions such as a drop in the outside temperature occurring at sunset). 
     If the inside temperature reaches the deactivation threshold before the allotted time elapses, then the HVAC system is simply deactivated as described above. If, on the other hand, the inside temperature does not reach the deactivation threshold in the allotted time, then the idle control system  10  computes a new desired temperature according to the following formulae: Temp NEW =Temp REACHED +3 (for cooling) (with the “3” being derived from taking the temperature range (high limit-low limit) of 6 and dividing it by 2) and Temp NEW =Temp REACHED −3(for heating), where Temp NEW  is the new desired temperature and Temp REACHED  is the temperature reached at the end of the allotted time. 
       FIG. 2  depicts a failure to reach a deactivation threshold within an allotted time. As explained above, under normal conditions the inside temperature of the vehicle is controlled between the 74 degree activation threshold and the 68 degree deactivation threshold when the desired temperature is 70 degrees. In the graph, at some point after point B, an event occurred (assume the driver opened a window to 92 degree outside air) preventing cooling of the vehicle interior to the deactivation threshold within the allotted time. When the temperature reaches point C, the idle control system  10  computes the allotted time as 36 minutes (depicted as T 1  in  FIG. 2 ). At the conclusion of the allotted time, however, the inside temperature is only cooled to 71 degrees (point D). As the deactivation threshold was not reached within the allotted time, the idle control system  10  will deactivate the HVAC system and compute a new desired temperature of 74 degrees (i.e., Temp REACHED +3). The system also calculates new deactivation and activation thresholds of 72 degrees and 78 degrees, respectively, based on the new desired temperature and the equations described above. 
     Accordingly, the HVAC system will remain off until the inside temperature of the vehicle drifts up to the new activation threshold of 78 degrees (point E). At the beginning of the next cooling cycle, the idle control system  10  again computes the allotted time to reach the new deactivation threshold of 72 degrees. For this cycle, TD is +14 (i.e., the outside temperature has dropped to 84, 84−70=+14), the expected rate is 4 minutes per degree, and the allotted time is 24 minutes (6 degrees (78-72) times 4 minutes per degree; depicted as T 2  in  FIG. 2 ). Although not shown in  FIG. 2 , if the Cummins System fails to cool the interior of the vehicle to the new deactivation threshold of 72 degrees within the allotted time, the system will again adjust the desired temperature upwardly. The desired temperature may need to be automatically adjusted two or more times (not shown in  FIG. 2 ), each being progressively farther from the driver selected desired temperature, until a deactivation threshold is reached within the allotted time. 
     One consequence of this automatic readjustment is that driver initiated attempts to cause continuous operation of engine  22  will fail. Without the automatic readjustment of the system  10 , a driver may be able to let in 92 degree air through a window, select a desired temperature of 70 degrees, and cause continuous engine operation to maintain a relatively comfortable interior temperature of, for example, 71 degrees. Using idle control system  10 , however, the above scenario results in a new desired temperature/virtual set point of 74 degrees (Temp REACHED +3) being computed after the first cooling cycle, and subsequent starts and stops being based on the new deactivation threshold of 72 degrees and the new activation threshold of 78 degrees. The more warm air the driver lets into the vehicle, the greater the automatic adjustments to the interior temperature of the vehicle. In certain embodiments, absolute boundaries for the desired temperatures/virtual set point are defined, for example 48° F. minimum and 82° F. maximum. Accordingly, control unit  12  may not adjust the desired temperature/virtual set point outside of this range. Similarly, the boundaries may be the trigger points for determining when control unit  12  invokes the vehicle&#39;s heating and air conditioning system  26  to assist the accessories  28 ,  30  in expanded embodiments. 
     Another behavior programmed into idle control system  10  is a tendency to return to the driver selected desired temperature as conditions permit. More specifically, when idle control system  10  automatically adjusts the desired temperature upon a failure to reach a deactivation threshold, thereby deviating from the desired temperature selected by the driver, it will, during subsequent cycles of operation, automatically adjust the temperature back to that selected by the driver if conditions permit. In the example above, the driver opened the window to 90 degree air and idle control system  10  adjusted the desired temperature/virtual set point to 74 degrees. By reacting to changing conditions, however, idle control system  10  will attempt to adjust the desired temperature back to the driver-selected 70 degrees. For example, if the driver closes the window at approximately point G on the graph of  FIG. 2 , idle control system  10  may not continue to operate using the adjusted 74 degree desired/virtual set point temperature. Instead, if the new deactivation threshold of 72 degrees is reached within the allotted time (again, 24 minutes as was the case at point E), idle control system  10  will continue to further cool the interior of the vehicle as shown in the graph. The inside temperature the idle control system  10  is able to achieve within the allotted time will become the new deactivation threshold. The idle control system  10  will calculate a corresponding new desired temperature and activation threshold based on the new deactivation threshold and using the equations described above. In the example of  FIG. 2 , idle control system  10  is able to reach the original deactivation threshold of 68 degrees (point F) within the allotted time, it will adjust the desired temperature back to the operator selected 70 degrees. 
     In situations where idle control system  10  makes multiple automatic adjustments to the desired temperature/virtual set point (e.g., changes the desired temperature farther and farther from the driver selected temperature), system  10  may also make multiple adjustments back toward the driver selected temperature (as conditions permit) during subsequent cycles of operation. For example, assume idle control system  10  automatically adjusted the desired temperature from 70 degrees, to 74 degrees, to 80 degrees, to 82 degrees before the problem with the cooling system was corrected (e.g., a window was closed). During the next cycle of operation, idle control system  10  may cool the interior well below the current 78 degree deactivation threshold within the allotted time. If, at the end of the allotted time an interior temperature of 76 degrees is reached, then idle control system  10  will consider 76 degrees to be the new deactivation threshold, and compute an adjusted desired temperature/virtual set point of 78 degrees and an activation threshold of 82 degrees according to the equations described above. During the next cycle of operation, idle control system  10  may cool the vehicle to 70 degrees within the allotted time. In that case, 70 degrees is the new deactivation threshold, and the desired temperature/virtual set point and activation threshold are 72 degrees and 76 degrees, respectively. In this manner, idle control system  10  gradually returns to the driver&#39;s preferred temperature. 
     As indicated above, idle control system  10  automatically adjusts the desired temperature in this manner regardless of the reason for a failure to reach a deactivation threshold. When system  10  automatically adjusts the desired temperature/virtual set point, however, it is assumed that some problem exists, and the driver is notified via a message displayed on monitor  14  of idle control system  10 . Idle control system  10  will modify the message if it appears that driver manipulation caused the failure to reach the deactivation threshold. Idle control system  10  is programmed to assume that it should be able to cause the interior temperature of any vehicle to deviate from the outside temperature by at least 10 degrees within the allotted time, as long as the vehicle windows and doors are closed. If idle control system  10  fails to reach a deactivation threshold within the allotted time, then system  10  checks the outside temperature signal from ECU  24 . If system  10  was able to cause the interior temperature to deviate from the outside temperature by more than 10 degrees, indicating that the windows and doors are closed, system  10  will provide a message such as “Please check filters and Freon, ensure that the temperature controls are at their maximum settings, and ensure that all windows and doors are closed.” If, on the other hand, system  10  was unable to cause even a 10 degree deviation, indicating that a window or door is opened, the provided message will read “Please close all windows and doors, check filters and Freon, and ensure that the temperature controls are at their maximum settings.” In addition to controlling the interior temperature of the vehicle, idle control system  10  monitors the operation of the vehicle&#39;s batteries  18 , and causes engine  22  to operate as needed to charge batteries  18  using the vehicle&#39;s alternator  32 . As previously noted, idle control system  10  may be used with either AGM, deep cycle, or wet cell batteries  18 . In general, idle control system  10  determines the internal State of Charge (“SOC”) of batteries  18  based on the DC resistance of batteries  18 . Current sensor  80  is used to measure the current into and out of the batteries, and these measurements are used to compute DC resistance and SOC to monitor the operation of batteries  18 . 
     Embodiments of balanced load battery couplers  36 ,  36 ′,  38 ,  38 ′ are shown in  FIGS. 5 and 6 . Couplers  36 ,  36 ′,  38 ,  38 ′ include electrically conductive material that is selectively covered with molded polymer insulation. The conductive material is exposed at load attachment points  40  and battery attachment points  44 . Current sensor  80  is attached at attachment point  40  of one of positive battery coupler  36 ,  36 ′, negative battery coupler  38 ,  38 ′ or both to take readings therefrom. Attaching current sensor  80  to one or both attachment points  40  provides that all current from all batteries is “seen” by current sensor  80 . Battery terminals  42  electrically couple to battery attachment points  44  of couplers  36 ,  36 ′,  38 ,  38 ′. Thereby, couplers  36 ,  36 ′,  38 ,  38 ′ provide a connection to each of the plurality of batteries  18 . The lead distance, the distance that current must travel within each coupler  36 ,  36 ′,  38 ,  38 ′, between load attachment point  40  and each battery attachment point  44 , is substantially equal. Couplers  36 ,  36 ′,  38 ,  38 ′ provide that each battery  18  sees a substantially similar load. Accordingly, batteries  18  discharge at similar rates as no one battery  18  sees significantly different loads than other batteries  18 . 
     Current sensor  80 ,  FIG. 6 , is a non-intrusive current sensor that utilizes the hall effect. Sensor  80  monitors current output of alternator  32  and return current of battery  18 . Sensor  80  also includes lines to measure voltage of alternator  32  and battery  18 . Accordingly, sensor  80  receives four inputs, alternator current, battery return current, alternator voltage, and battery voltage. Current sensor  80  measures up to 200 A with a resolution of +/−100 mA at the lower end of the current scale. Sensor  80  provides many outputs including: 
     Voltage drop of the charging system, V drop =(V alternator −V battery ) at 100 A by alternator; 
     Energy being provided by alternator  32 , Ah alternator =I alternator ×Hr; 
     Vehicle electrical load with engine on, I vehicle load engine on =(I alternator −I battery return ); 
     Vehicle electrical load with engine off, I vehicle load engine off =ABS(I battery return ); 
     Total energy load with engine on, Ahr alternator =I vehicle load engine on ×Hr(at charge cycle); 
     Total energy load with engine off, Ahr battery =I vehicle load engine off ×Hr(at charge cycle); and 
     Total available energy to batteries  18 , Ahr avail =I battery return ×Hr(at charge cycle). (Available energy does not include charging battery efficiency (battery impedance)). 
     With respect to the readings, it should be appreciated that the greater amount of current loading on batteries  18  at any instant of time, the lower the measured battery voltage for that period of time. The true open circuit voltage (V open circuit ) for battery  18  determines the state of charge of batteries  18 . When voltage is being measured to determine the state of charge, the amount of current loading at the time of the measurement will give false readings. Therefore, an offset is used as related to the amount of vehicle current loading at any instant of time. The offset is either stored as a lookup table or via an equation to determine true open circuit voltage. 
     Sensor  80  also provides outputs including: 
     True open circuit voltage as related to vehicle load, V open circuit =V battery +DC resistance×I batt ; 
     Energy stored (Ahr stored ) at V open circuit ; 
     Energy used at V open circuit ; 
     Comparisons of stored energy to used energy at V open circuit ; 
     Current draw at time V open circuit  is measured; 
     Battery charging efficiency, (Ahr stored /Ahr avail ×100 at the related V open circuit  of Ahr stored ); 
     True state of charge for the battery, SOC batt =V open circuit (battery type factor); 
     Determination of battery type by determining Ahr avail  as related to V open circuit ; 
     Determination of a charging problem if there is excessive voltage drop in power lines, V drop &gt;0.5V at 100 A; 
     Determination of a charging problem for a bad battery by measuring Ahr going into batteries  18  and Ahr going out of batteries  18  to determine if batteries  18  are deteriorating in reserve capacity; 
     Calculation of energy being such that determinations of when to turn on the engine can be made; 
     Energy use in charging batteries  18  including use of V battery (engine off)  for calibration; and 
     Battery  18  cycle count. 
     Upon initial start up of idle control system  10 , it is assumed that batteries  18  are new, or at least in very good condition. As new batteries  18  are generally not fully charged, idle control system  10  detects when batteries  18  are being charged (i.e., engine  22  is running), and monitors the current provided to batteries  18  by alternator  32 . After some period of time, the batteries&#39; SOC reaches an essentially steady-state condition. Idle control system  10  assumes going forward that the SOC associated with this steady-state condition corresponds to the batteries&#39; maximum SOC. 
     Idle control system  10  also determines whether batteries  18  are wet cell or AGM batteries based on the known internal impedance characteristics of those battery types. Idle control system  10  is programmed with data indicating the maximum recommended depletion of the battery types (in percentage of maximum SOC). Knowing the type of battery, the maximum SOC, and the maximum recommended depletion percentage, idle control system  10  computes the minimum SOC threshold below which batteries  18  should not be drained. When the SOC of batteries  18  falls below this minimum threshold, idle control system  10  will start the engine  22  to charge batteries  18 . 
     A second embodiment method for a battery charging maintenance system algorithm  100  is now disclosed with reference to  FIG. 9 .  FIG. 9  shows a method of calculating the SOC used in conjunction with a SOC calibration calculation. By using the two calculations together, the battery charging maintenance system algorithm can be self-adjusting and adaptive. Such adjustment/adaptation allows maximizing of the amount of energy that can be taken out of a battery system for loads while still maintaining enough energy to start engine  22  in all conditions. 
     When batteries  18  are first connected to CEMS  12 , the state of batteries  18  is unknown including the capacity of batteries  18  at 77° F. and the health of batteries  18 . 
     Current from batteries  18  is sampled once a second for 360 seconds (6 minutes). The 360 current values are then summed and the sum is divided by 3600 (the number of seconds in an hour) to arrive at the energy expended over a 6 minute period in Ahr. (Step  102 ). Then, the resulting value is multiplied by ten to determine the average Amperes generated per segment of Time (6 min). (Step  104 ) 
     Then, the SOC is determined, step  106 , using Peukert&#39;s Law. Peukert&#39;s law provides the length in time (hours) that a battery will supply energy until the battery energy is exhausted. 
     Peukert&#39;s Law:  T=R /( I*R/C ) N ,
         T=The length of time it takes for a battery to go from 100% to 0% SOC in hours.   R=The rate, amount of time per a specific load for discharge of a battery, e.g. 20 hr rate.   I=The amount of load being applied in Amps.   C=The capacity of the battery measured in Ahr to a certain Rate (R).   N=The battery constant, e.g. 1.1-1.3, typical 1.2.       

     The Rate (R) will be held constant at 20 hr. and the Capacity (C) will be assumed to be 400 Ahr per 25° C. at the start of a power-up cycle (battery power is first connected). This assumed capacity may be changed after the power-up cycle, depending upon the outside temperature. The outside temperature will be taken via temperature sensor  25  or from another sensor (not pictured) near the batteries and will be considered the temperature of the batteries. 
     Peukert&#39;s Law is changed to minutes by multiplying by 60 or T=60×R/(I/C/R) N . The Depth of Discharge (DOD) is then calculated by taking the ratio of 6÷60×R/(I/C/R) N . This DOD is then summed for each 6 minute segment of time. The SOC is then determined by the following SOC=1−DOD. 
     Occasionally, the determination of the SOC needs to be recalibrated, step  108 . The SOC is recalibrated when there is a greater than 5% difference between the calculated SOC, step  106 , and a SOC determined from a manufacturer&#39;s Voc, step  110 .
 
 Voc =[{( V   0   −V   1 )/( I   1   −I   0 )}× I   1   ]+V   1 .
 
     V 0 =Battery voltage at t=0 
     V 1 =Battery voltage at t=1 
     I 0 =Amount of current being applied to the battery at t=0 
     I 1 =Amount of current being applied to the battery at t=1 
     The true Voc is determined by measuring the DC Resistance (R batt ) of the battery, step  112 . The DC Resistance is calculated by observing the voltage and current (I 0  &amp; V 0 ). of the battery at a certain instant of time and then comparing the voltage and current (I 1  &amp; V 1 ) at another instant of time. The DC Resistance is derived by using the following expression (V 0 −V 1 )/(I 1 −I 0 ). R batt  is measured every 15 minutes and then stored &amp; mapped to batteries SOC. If another reading can be made at the same SOC that is greater than the 2×I 0 , then this value should be used instead and put into the SOC vs R batt  mapping. 
     The voltage drop is calculated, step  114 , at the end of each 6 minute segment by V drop =I ave ×R batt . 
     The true Voc is determined, step  110 , after each 6 minute segment of time by: Voc=V batt +V drop . 
     The SOC is then calculated, Step  116 , by using the true Voc with the following expression: 
     SOC(battery)=−763.0+66.87×Voc (assuming the use of Northstar, Lifeline, or Dynasty batteries). 
     Next, algorithm  100  determines if the calculated SOC, step  106 , varies by more than 5% from the SOC Determination via Voc, step  116 . If it does, then the calculated SOC is replaced the SOC determined via Voc (Manufacturers Voc) and this SOC is used as the starting point for recalculating the SOC with a new capacity, step  118 . 
     The capacity is recalibrated, step  118 , using the following expression, C=IR/(R/T) 1/N  (See Peukert&#39;s Law above for an explanation of the variables). 
     Step  118  determines if the calculated SOC by percentage of time is greater or less than the manufacturer&#39;s determined SOC from the Voc. If the calculated SOC is greater, then the battery capacity is reduced by reducing T. If calculated SOC is less, then battery capacity is increased by increasing T. 
     The new value of T is obtained by either increasing or decreasing T by the difference in the amount of error from the calculated SOC to the manufacturer&#39;s determined SOC. 
     Current is calculated using the average current used by summing up the I ave  for the different 6 min time segments &amp; then dividing by that number of 6 minute time segments. 
     The 20 hr rate is used for R and 1.25 is used for the value of N. 
     The new battery capacity (C calc ) is then recalculated at the current battery temperature in ° F. The Battery Capacity (C) is then normalized for 77° F. by C 77° F. F =C calc /(0.6961+0.005271×77−0.000017×77**2) 
     The Battery Life Cycle Counter (BC life cycle ) is then reset. This reset is done each time the Battery Capacity Determination Algorithm is used to correct the capacity. 
     The expected battery capacity (C) is modified, step  120 , based upon the outside temperature and the number of battery cycles. Whereas the capacity stored in memory, step  118 , is normalized to 77° F., actual capacity is influenced by the outside temperature.
 
 C=C   norm ×(0.6961+0.005271×Temp(° F.)−0.000017×Temp(° F.)**2)
 
     Additionally, capacity decreases based upon the number of cycles experienced by the battery. When BC life cyde =10, the battery capacity is decreased by 1 Ahr. BC life cycle  is reset to zero after each time this algorithm is used to decrease the battery capacity by 1 Ahr. 
     The alternator and battery voltage are measured to determine the V Drop =V Alt −V Batt  when current to the batteries is measured to be greater than 100 Amps. 
     V Drop  is an indication that there is too much resistance in the lines, which typically signifies excessive corrosion on the power line connections. This excessive drop in voltage reduces the amount of energy being supplied to the batteries. 
     V Drop  is logged for each CEMS activation and trended in order to do predictive maintenance on the power lines. A V Drop  of 0.5V typically indicates that the power line connections need to be cleaned of corrosion. 
     A non-intrusive hall effect current sensor, possibly part of sensor  80 , or shunt monitors current output of the load and return current of the battery. Using the current reading (Amp) from the load (measured at the load) plus the current reading (Amp) from the battery equates to the total current being supplied by the alternator, given by the relationship, I alternator (A)=I battery (A)+I load (A). Current sensor  80  may also be placed at the alternator, providing the I alternator (A) directly. 
     Upon power up, CEMS considers the highest measured output of the alternator as an indicator of the maximum output of the alternator. In other words, the system monitors the maximum output by looking at the peak power being be produced by the alternator per a certain engine RPM. This is recorded and then considered as the maximum current rating for the alternator. This remains true until the next power-up sequence. 
     If at any time the alternator output becomes less than 90% of the amount of peak power that the alternator can be provide, then the CEMS system alerts the driver of need to replace the alternator. 
     During a power-up sequence, CEMS assumes a battery capacity of 400 Ahr per 25° C. and consider the batteries as new. The battery capacity changes relative to the number of cycles, temperature, and the amount of loading being applied. Therefore, the batteries should be replaced when the battery capacity reduces capacity by greater than 20%. relative to the 25° C. temperature and a loading of 20 Amps for a 4 battery system. The batteries can still be used beyond the 20% reduction in capacity per 25° C. but much caution will need to be taken to ensure that the engine can still start. 
     The Hall Effect Sensor can determine direction of the current flow and therefore orientation should be noted when placing it on a vehicle&#39;s battery charging system. To decrease the possibility of these sensors being installed backwards, a reconfiguring algorithm is provided. 
     The current sensor on the battery considers whether the current is negative or positive. When engine RPM is greater that 450 RPM, then the current should be positive. If not, then put a flag in non-volatile memory that will be used to change the current readings by multiplying the measured current by (−1) or simply changing the sign of the measured current readings. 
     For the load sensor, the current will always be going in one direction. Therefore, when current is being sensed by the current sensor and the current is negative, then put a flag in non-volatile memory which will be used to change the sign of the current readings. 
     When the stored energy in a battery reaches a certain energy threshold, step  122 , then CEMS will re-start the engine to charge the batteries. This algorithm is self learning such that with time it allows more energy to be used from the battery as it allows a lower DOD per the changing conditions of ambient temperature and battery cycles. The following parameters are measured and recorded during a start sequence: engine RPM, battery voltage during start, depth of discharge (DOD) prior to start, capacity of batteries that take into account the number of cycles and ambient temperature, and oil temperature. The engine RPM needs to stay above 120 RPM and Battery Voltage greater than 8V during a starting event. As the ambient temperature increases so will the ability to go lower in DOD. 
     Since the battery capacity has been changed due to the number of factors, e.g. battery cycles, battery temperature, and DOD of battery, the battery is discharged until the SOC of battery is such that the derived battery capacity will be able to provide enough energy to start an engine to a speed greater than 120 RPM with a V batt  greater than 8V. 
     On power-up, the start sequence commences when the DOD is 50% when considering a 400 Ahr battery capacity. As each cycle (charging/discharge) is completed with an engine start the following are mapped: engine RPM during cranking, average battery voltage during cranking, oil temperature at the time of cranking, and DOD prior to cranking. 
     CEMS  12  automatically maps the conditions and starts the engine accordingly. 
     Regarding engine on and off times, the system  10  may limit the maximum number of engine starts per hour (e.g., 5 starts per hour) by keeping track of engine off time. For example, if the desired maximum number of starts per hour is five (i.e., a minimum cycle time of 12 minutes) and the engine is off for the first four minutes of the hour, but needs to be started to maintain the interior temperature of the vehicle, control unit  12  computes the minimum on time by subtracting the last off time from the minimum cycle time (i.e., minimum on time=12 minutes−4 minutes=8 minutes). Thus, when the engine is started, the control unit  12  causes it to continue to run for at least 8 minutes, even if the desired interior temperature is reached earlier (during temperature control operation) or if the battery energy is replenished earlier (during battery charge operation). If more than eight minutes is required to achieve the desired result (temperature or charge) the control unit  12  will cause the engine to continue running. Thus, the system ensures that the engine is not started more than once every 12 minutes. On time and off time are logged for purposes of tracking the efficiency of the system (i.e. to show fuel savings and emissions reduction.) Accordingly, system  10  is provided with a number of software modules capable of saving and processing the engine and temperature data to provide a number of reports. Such data and reports may be displayed on monitor  14  upon request by the user or may be downloaded to a separate computer. Such download may be via a corded interface, such as a J1939 cord that interfaces with system  10  or the system may have wireless data transfer such as a Wi-Fi or Bluetooth connection. The data storage functionality provides for control module  12  to perform similarly to the “black box” of commercial aircraft. The reports may take the form of suggested accessories that could be added to achieve additional fuel efficiency. 
     One such report is a report that determines the emissions output of engine  22 . The report receives inputs such as fuel rate, engine statistics (size, cylinders, etc.), and load measurements to compute actual engine emissions. The result may take the form of grams per hour. The result may be compared to legislated emissions requirements. Accordingly, the output may be fed back to the CEMS to prevent engine  22  from exceeding the emissions requirements. One such way that CEMS may work to reduce emissions when nearing legislated requirements is to utilizing less than all of an engine&#39;s cylinders (i.e. going from 6 to 3 cylinders). 
     Installation of a idle control system  10  includes the installation of a number of sensors that ensure that proper conditions are met to allow engine  22  to be started at the direction of control unit  12 . One such sensor is a hood tilt sensor  19 . Hood tilt sensor  19  monitors whether the hood is open or closed. When the hood is open, such as when engine  22  is being worked on, control unit  12  is locked out from automatically starting engine  22 . Accordingly, control unit  12  can not start engine  22  when it is being worked on. Similarly, another sensor is a neutral position sensor  21 . Neutral position sensor  21  determines whether the vehicle is engaging a forward or rearward gear. Starting engine  22  when it is engaging a forward or rearward gear potentially causes the vehicle to begin travel. Functionality is also included that assures that neutral position sensor  21  is not issuing a false positive, such as a false positive because of debris engaging sensor  21 . Accordingly, neutral position sensor  21  prevents automatic starting of engine  22  from causing vehicle travel. Yet another possible sensor is a parking brake sensor  23 . Similarly to the neutral position sensor  21 , parking brake sensor  23  checks to ensure that parking brake is engaged prior to engine  22  starting to help prevent driverless travel. 
     In addition to taking user inputs, monitor  14  also provides diagnostic information that assists a user in determining and correcting any faults in the system. Such faults may be indications from the above listed sensors  19 ,  21 ,  23  or other indications. The diagnostic information may also include steps to be performed by the user that allow the problem to be isolated. The provided information may also include illustrations to aid in directing the user through the steps. Monitor  14  may also provide information to a user regarding preventative maintenance. Such preventative maintenance may include suggesting replacement of selected electrical lines by determining at voltage drops and capacity reduction across existing lines. Monitor  14  may also function as a multimedia monitor to play TV programs, movies (with a VCR or DVD player or other source), WWW content, or navigation aids. In such embodiments, control unit  12  breaks in and disrupts multimedia presentations when the system  10  needs to use monitor  14  to convey system information to a user. Multimedia sources may be plugged directly into monitor  14  or may be plugged into control unit  12  that performs the input switching to determine which input is allowed to be output. Monitor  14  may be a touchscreen such that a separate input device is not necessary. Such a monitor  14  is shown in  FIG. 4 . Monitor  14  of  FIG. 4  includes a temperature sensor  29  therein so as to provide the functionality of thermostat  15 . 
     Control module  12  is optionally provided with audio speakers. Such speakers allow system  10  to provide an audible indication of whether system  10  is activated or not. Alternatively to, or in conjunction with, the speakers, system  10  may have a visual indication, such as a light or display on monitor  14 , to indicate whether system  10  is activated or not. 
     Yet another embodiment of the present disclosure is provided for determining heating/cooling operation by control module  12 . Control module  12  is fitted with a humidity sensor. The desired temperature is changed to favor a reduction in energy consumption. However, if heating and cooling needs favor the driver&#39;s comfort, then the humidity reading would be ignored. The heating/cooling algorithm incorporates a Humidity Correction Factor Algorithm if it favors the reduction of the vehicle&#39;s energy consumption. A Comfort Index Temperature (CIT) is calculated as CIT=1.059TMP ACT +0.093H −10.44, where TMP ACT  is the actual temperature and H is humidity being read from the sensor. The attached Exhibit A provides definitions for many of the abbreviations used herein. Table 2 is a summary of when the CIT or the Actual Temperature (TMP ACT ) is used for when the heating/cooling is turned off/on. 
     
       
         
               
             
               
               
             
           
               
                 TABLE 2 
               
               
                   
               
               
                 CIT Utilization Table 
               
               
                   
               
             
             
               
                   
               
             
          
           
               
                 CIT ≦ TMP ACT   
                 During heating state, Use Actual Temperature 
               
               
                 CIT ≧ TMP ACT   
                 During heating state, Use Comfort Index as the new 
               
               
                   
                 recorded temperature 
               
               
                 CIT ≦ TMP ACT   
                 During cooling state, Use Comfort Index as the new 
               
               
                   
                 recorded temperature 
               
               
                 CIT ≧ TMP ACT   
                 During cooling state, Use Actual Temperature 
               
               
                   
               
             
          
         
       
     
     The method provides for determining heating/cooling operation by using time and temperature slope. The method defines a Normal Operating Algorithm. The algorithm dictates that a maximum slope is determined by taking a difference between the TMP (AIR)  (the outside ambient temperature) and the TMP (ACT)  (Actual cab temperature without consideration of a Comfort Index Temperature (CIT)). A difference less than zero defines a heating state and a difference greater than zero defines a cooling state. This difference value is then categorized to determine the Maximum Slope (S MAX ) allowed per the weather conditions (Table 1). 
     Next, a maximum time to reach temperature per the maximum slope allotted for the outside weather conditions is calculated. The Maximum Time (T MAX ) is calculated by T MAX =(TMP (ACT) −LL)×S MAX . Where LL is the lower limit, either the set point or the virtual set point minus the range/2 for cooling. (T MAX =(HL−TMP (ACT) )×S MAX  for heating). 
     Each time segment (TS) has a slope measured (S MEAS ) by determining the number of minutes it takes to change by 1° F. If the temperature starts to move in the wrong direction, then a Wrong Temperature Direction Algorithm, discussed below, is employed. If the temperature remains stationary, then a No Temperature Change Algorithm, discussed below, is employed. 
     The time remaining (T REM ) is determined by subtracting the Measured Slope S MEAS  from T MAX . Thus, T REM =T MAX −S MEAS . If a new S MAX  is observed (weather conditions have changed) or new Heating/Cooling Cycle (HCC) has started, then the T MAX  will be recalculated. For each new TS, a new T REM  is calculated by using previous T REM  and subtracting the new measured slope S MEAS . 
     If time runs out (T REM =0) and the desired temperature has not been achieved, then a Virtual Set Point (VSP) will be issued. This is derived by taking the current cab temperature TMP CAB  (either the actual temperature or CIT) and adding range/2 for cooling and subtracting range/2 for heating. This new VSP will be used when a new HCC is initiated or a new S MAX  is observed. A VSP may be modified, either increased or decreased with the desire to get the VSP=SP. If a VSP has been issued and the temperature has been achieved for the VSP and T REM ≠0, then continue heating/cooling until T REM =0 or VSP=SP and then turn off heating/cooling. 
     Additionally, outside temperature is determined from information provided by ECU  24 . Whereas temperature sensor  25  is shown in  FIG. 3  as being outside the engine compartment, other embodiments are envisioned where temperature sensor  25  is located within the engine compartment. In such embodiments, the temperature is only taken when the engine RPM&gt;0. Once RPM=0, then the temperature will not be taken until a certain length of time has expired because temperature sensor  25  is located in the intake of engine  22  and is affected by the heat rejection from engine  22  once it is off. Regardless of position, temperature sensor  25  may be activated via system  10  independently of activation of ECU  24 . Accordingly, current that would be drawn by ECU  24  is avoided and current consumption is reduced. 
     As previously noted, the method includes a Wrong Temperature Direction Algorithm. This algorithm dictates that if the temperature proceeds more than 2° F. in the wrong direction when the engine and/or HVAC accessory is on (cool state the temperature increases and for heat state the temperature decreases) then a message flashes across monitor  14  that the vehicle&#39;s HVAC is set wrong or the windows need to be closed. After the temperature has increased 2° F. in the wrong direction, then system  10  continues to run for 8 minutes to allow the condition to correct itself. If it does not, and the temperature is equal to the starting temperature or still going in the wrong direction, then engine  22  is cycled 20 min ON and 10 min OFF. After each 20 min on cycle, if the cab temperature starts going in the right direction and the temperature is better than the starting temperature, then the last temperature observed is taken and the High or Low Limit (HH or LL) is added thereto to get the cooling or heating virtual set point. The automatic cycling is stopped and normal operation is resumed with the new virtual set point. If the cycling occurs for more than 2 hours or four (4) complete cycles, then the idle control system  10  discontinues temperature control and only starts the engine as needed to charge the vehicle batteries or until the operator requests activation via monitor  14 . Also, limits may be placed on the number of cycles permitted per hour before cab state is turned off. 
     As also previously noted, the method includes a No Temperature Change Algorithm. This algorithm dictates that if the weather condition is Most Severe (i.e., it is either 70+degrees colder outside than the set point or 35+ degrees hotter outside than the set point), then the engine and/or accessory HVAC is permitted to run continuously. Under these circumstances, the idle control system  10  will run continuously until either the deactivation threshold is reached or TD decreases to one of the non-extreme ranges listed in Table 1. 
     A related behavior of the idle control system  10  is its response to a failure to change the inside temperature when TD is in a non-extreme range. A failure to change the inside temperature under these less extreme conditions indicates a problem with the vehicle&#39;s HVAC system or driver tampering. Accordingly, when (1) TD falls within a non-extreme range, (2) the desired temperature has not been reached, and (3) the inside temperature fails to change by at least one degree within 10 minutes, the idle control system  10  will provide a message to the driver on the monitor such as “Please check filters and Freon, ensure that the temperature controls are at their maximum settings, and ensure that all windows and doors are closed.” The idle control system  10  will also establish a new desired temperature as the current temperature plus four degrees (if cooling) or minus four degrees (if heating). The new deactivation and activation thresholds are computed in the manner described above. 
     After establishing a new desired temperature, the idle control system  10  determines whether the new desired temperature exceeds a predefined upper limit of 82 degrees or a predefined lower limit of 48 degrees. If the desired temperature has been automatically adjusted to exceed either limit, the idle control system  10  causes automatic cycling of the HVAC system in the manner described above (i.e., 20 minutes on, 10 minutes off, 20 minutes on, etc.). At the end of each 20 minute on cycle, the idle control system  10  determines whether the inside temperature is less than 79 degrees (if cooling) or greater than 51 degrees (if heating). If the inside temperature satisfies the appropriate condition, then the idle control system  10  establishes a new desired temperature as the current temperature plus four degrees (if cooling) or minus four degrees (if heating). The new deactivation and activation thresholds are computed in the manner described above. Thereafter, the idle control system  10  resumes normal operation. 
     While this disclosure has been described as having an exemplary design, the present disclosure may be further modified within the spirit and scope of this disclosure. This application is therefore intended to cover any variations, uses, or adaptations of the disclosure using its general principles. Further, this application is intended to cover such departures from the present disclosure as come within known or customary practice in the art to which this disclosure pertains. 
     
       
         
               
             
               
               
             
           
               
                   
               
               
                 Exhibit A 
               
               
                   
               
             
             
               
                   
               
             
          
           
               
                 TS = 
                 Time Segment in minutes that it takes for the temperature  
               
               
                   
                 to go 1° F. (actual or Comfort Index). 
               
               
                 HCC = 
                 Heating/Cooling Cycle is the sum of TS until the HL or  
               
               
                   
                 LL has been reached. 
               
               
                 HL = 
                 High Limit which is the set point or virtual set point plus  
               
               
                   
                 Range/2 for heating. 
               
               
                 LL = 
                 Low Limit which is the set point or virtual set  
               
               
                   
                 point minus Range/2 for cooling. 
               
               
                 TMP CAB  = 
                 Cab Temperature is either actual temperature or the Comfort  
               
               
                   
                 Index Temperature (CIT) 
               
               
                 TMP ACT  = 
                 Actual cab temperature and does not consider CIT. 
               
               
                 TMP AIR  = 
                 Actual outside ambient temperature 
               
               
                 CIT = 
                 Comfort Index Temperature as given by  
               
               
                   
                 1.059(TMP ACT ) + .093 H − 10.44 
               
               
                 H = 
                 Humidity as observed in the cab. 
               
               
                 VSP = 
                 Virtual Set Point. A new temporary set point is issued  
               
               
                   
                 if TMP CAB  cannot be achieved. 
               
               
                 SP = 
                 Actual Set Point requested by operator. 
               
               
                 T MAX  = 
                 Maximum time determined from maximum slope allowed  
               
               
                   
                 per the number of degrees. 
               
               
                 T REM  = 
                 Time left from the original maximum time determined 
               
               
                 S MEAS  = 
                 Measured slope which relates to # of minutes/1° F. 
               
               
                 S MAX  = 
                 Maximum slope per the NOD table which relates to #  
               
               
                   
                 of minutes/1° F. 
               
               
                 Range = 
                 HL − LL; set to = 6 in the described embodiments.