The present invention is related to thermostats and more specifically relates to thermostat initiation of a heating or cooling period.
Mechanical thermostats have for years included anticipators to minimize temperature swings in a room. These thermostats usually included a bimetal element for sensing temperature. The on and off times of the thermostat could be defined by: ##EQU1## where
Time Constant=time constant of the bimetal element;
Droop=setpoint minus room temperature;
TH=total heat which can be put into the bimetal by the anticipator; and
Diff=switch differential.
Electronic thermostats have attempted to model the effects of the anticipators. To this end, algorithms similar to that of FIG. 2, were adopted.
After starting at block 210, the Anticipator variables ANT.sub.new1 and ANT.sub.old1 are set equal to zero in block 220.
In block 240, two calculations occur. First, ANT.sub.new1 was modified to equal the ANT.sub.old1 plus the total heat which can be put into the mechanical anticipator being modeled (here, four degrees) minus the ANT.sub.old1, the quantity divided by a constant K. K was equal to the time constant of the bimetal element plus the iteration period of the equation. The second calculation was to create an ER variable which equals the ANT.sub.new1 subtracted from the quantity of a setpoint entered into the thermostat by an operator minus a room temperature by the thermostat.
Block 250 shows that if the ER variable was greater than zero, the HVAC equipment was turned on. Otherwise, the thermostat returns to block 240 via blocks 252 and 254. Blocks 252 and 254 set ANT.sub.old1 equal to ANT.sub.new1, and then reset ANT.sub.new1 at zero. The steps of blocks 240 through 250 would be performed once per second, or more infrequently.
Blocks 270 through 290 show what happened once the HVAC equipment was turned on. In block 270, the last ANT.sub.new1 created before entering block 260 was used to create an ANT.sub.new2 variable as shown. ANT.sub.new2 was now used to calculate error variable ER. If ER was less than -1, then the HVAC equipment was shut off. Otherwise, the calculations in block 270 reoccur after passing through blocks 282 and 284. These blocks operate similarly to blocks 252 and 254, with ANT.sub.old2 and ANT.sub.new2. This would happen once per second, or more or less frequently.
One problem associated with the prior art methods was that some calculations required division. A microprocessor 20 requires software code in order to perform such an operation. This used memory in the microprocessor and elsewhere which might have been better used in other ways.
Also, when it is desired to run the conditioning equipment at different cycle rates, the factor K had to be adjusted or the iteration period had to be adjusted.
Further, while the prior art method was a numerical way of modeling a mechanical anticipator and with enough resolution would be an exact model, this was not necessary or desirable when only a limited resolution was being used.