HDD vs. Fuel Used

HDD vs. Pellets

Above is a scatter plot of Heating Degree Days (HDD) taken from Weather Underground data from the weather station in Springfield VT. Not exactly Newport, NH but close enough for this graph. It’s important to note that the beginning of October was quite nice which resulted in a fair number of days of timed burns, starting the boiler at 4 pm and running it until 9 pm for example. It quickly became obvious with Novembers below average weather that this would not result in satisfactory comfort and the boiler has been running continuously for most of the month. The trend-line looks like you would expect to see it, but the scatter data is quite varied. It will be interesting to see if this data correlates better as the winter continues.

The total pounds of fuel burned Heating season to date: 92 bags @40 pounds/bag= 3680 pounds vs. a total HDD to Date of 1444.    Last year’s data for December indicates a HDD total for the month of 1069.  This should result in 68 bags burned for the month for a total of 2720 pounds.  Using $215 per ton this should be a monthly cost of $292.40 This is both heat and hot water.  Be interesting to see at the end of the month how close the prediction comes.

You may remember I added a function to collect HDD data at one point, however it never seemed to work as well as it should have so I stopped using it,  I am now considering reviving a variation of that function using an array for the max and min hourly numbers to get a more accurate HDD local number.  I’ll post the code when I finish.


The view from April, Daylight savings time adjustment for your RTC

The boiler has worked flawless all winter, I am happy with the software and hardware but with all things mechanical there is room for improvement. I have just started my 7th ton of pellets. And I really don’t want to get into my 8th and don’t think I will have to, especially if I institute some energy conservation in the software. This is the time of year that I would normally burn what my grandmother called a “trash fire”. In her case it was some cardboard boxes from the trash and maybe an odd shaped piece of wood or two. Just enough for 3-4 hours in the evening, letting it burn out overnight since the days get up to 40°F or 50°F there’s no need for more fire than that. Later in the month most of the nights will be above freezing. But I still want to light the boiler in the evening mostly for the hot water and then turn it off at 2-3 am, so I wrote that into the software and it has gotten the consumption down to 1-2 bags per day. I also added a function in the software to change the real time clock for Daylight savings time and back automatically. It’s not fully tested but I think it will work OK.

void DaylightSavingsSchedule(){//start function
if (Year ==2013 && Month ==11 && Day ==2 && hour ==2&&DaylightTest ==0)//fall back an hour
FallBack();
if (Year ==2013 && Month ==11 && Day ==4 && hour ==2&&DaylightTest ==1)//reset flag
DaylightTest =0;
if (Year ==2014 && Month ==3 && Day ==9 && hour ==2&&DaylightTest ==0)//spring forward an hour
SpringForward();
if (Year ==2014 && Month ==3 && Day ==10 && hour ==2&&DaylightTest ==1)//reset flag
DaylightTest =0;
if (Year ==2014 && Month ==11 && Day ==2 && hour ==2&&DaylightTest ==0)//fall back an hour
FallBack();
if (Year ==2014 && Month ==11 && Day ==3 &&DaylightTest ==1)//reset flag
DaylightTest =0;
if (Year ==2015 && Month ==3 && Day ==8 && hour ==2&&DaylightTest ==0)//spring forward an hour
SpringForward();
if (Year ==2015 && Month ==3 && Day ==9 && hour ==2&&DaylightTest ==1)//reset flag
DaylightTest =0;
if (Year ==2015 && Month ==11 && Day ==1 && hour ==2&&DaylightTest ==0)//fall back an hour
FallBack();
if (Year ==2015 && Month ==11 && Day ==2 &&DaylightTest ==1)//reset flag
DaylightTest =0;
if (Year ==2016 && Month ==3 && Day ==13 && hour ==2&&DaylightTest ==0)//spring forward an hour
SpringForward();
if (Year ==2016 && Month ==3 && Day ==14 && hour ==2&&DaylightTest ==1)//reset flag
DaylightTest =0;
if (Year ==2016 && Month ==11 && Day ==6 && hour ==2&&DaylightTest ==0)//fall back an hour
FallBack();
if (Year ==2016 && Month ==11 && Day ==7 &&DaylightTest ==1)//reset flag
DaylightTest =0;
}//end function

void SpringForward(){//start function
DateTime now = RTC.now(); //get the data from the RTC
now =now.unixtime()+3600; //subtracts an hour from the time
RTC.adjust(DateTime(now.unixtime())); //resets the time to an hour earlier
DaylightTest =1; //flag variable so it won’t go back in time continously
}//end function

void FallBack(){//start function
DateTime now = RTC.now(); //get the data from the RTC
now =now.unixtime()-3600; //subtracts an hour from the time
RTC.adjust(DateTime(now.unixtime())); //resets the time to an hour earlier
DaylightTest =1; //flag variable so it won’t go back in time continously
}//end function


Good test for the boiler with -5°F overnight temperature

I restarted the boiler with a friend on Friday afternoon on the 13th of January.  At present it is Sunday morning at 6:45.  Thirty nine hours since starting, in that time the temperature has dropped to a low of -5°F which is the current temperature and the fuel usage has been a total of 5 bags.  The house is still comfortable and has not shown any dip or problems in maintaining temperature.  The only noticeable differences are two things.  The lack of the oil fired boiler running which I can hear upstairs and always makes me a little twitchy.  The second difference is the temperature of my office.   My office is off the utility room which holds the furnace and so is normally quite warm after a cold night.  Today it is the temperature the thermostat is set to maintain.

A few numbers, I paid $215/ton for the pellets, so the cost per 40 lb bag is $4.30.  The hours per bag is approx. 7.8.  This will need a  longer time average to confirm but is probably a reasonably good number so in rough terms this is 3 bags per day for a cost of $12.90/day.  I looked back to see if I had a furnace run time data which I did have a limited amount.  On October 17, 2007 the furnace ran a total of 4.1 hours on a day that had a high of 51 and a low of 33 for a total Heating Degree Day of 22.7.  (Heating Degree Days are calculated as (in °F) 65-(day’s max temp-day’s min temp)/2 or to restate 65-average temp) .  Taking the furnace run time as 4.1 hours x nozzle rate of 1 gal per hour this translates to 4.1 gals usage for a total cost at $3.85 per gallon of $15.78 for one day relatively mild day.  Yesterday’s HDD calculation using a high of 29 and a low of 11 yeilds and average of 20.  So 65-20=41.  Using a simple ratio of HDD/Furnace Run time would calculate to a furnace run time of 7.4 hours per day for a cost of $28.50 per day.  Contrasting this with the pellet costs yields a savings of $15.60 for that one day.

So is that accurate?  That was a lot of math using some not very exact calculations.  The math was done correctly but Heating Degree Day calculations are notoriously rough.  Many oil companies have moved onto more sophisticated methods and of course this is just a snap shot of one day.  But as an reality check  at this point I am confident 5 tons of pellets would easily get this building through the winter for a total cost of $1075.   If I used 800 gals of oil throughout the heating season this would cost me $3080 at a cost of $3.85 per gallon.  So yeah I think the numbers are reasonably accurate if not conservative.  Wait until I try chips at a cost of $40/ton……too fun.


Changed feed sprocket

The New Year practically demands resolutions and change for the better.  So with that constant improvement theme in mind I am publicly stating my goal to lose 15#’s and so  I am starting from  195.7.  My second resolution is the constant improvement of the boiler.  So here we go……

Auger feeding failure  due to the motor stalling demanded the  sprocket change  on the auger motor feed assembly.   The sprocket I chose  doubles the torque available for feeding pellets.  Since the shaded pole motor is constant speed the program had to change to double the auger run time.  So taking the data I had gathered I changed the program in two ways.

New sprocket added

I changed the times to accommodate the speed change  demanded by the sprocket change and I changed the paradigm to have constant run time and vary  the dwell or off time.  The increased torque is a vast improvement and since the change it has had no problem feeding even  adding an entire bag of pellets at one time.

A second advantage of the change is the improvement of the LCD display.  I think that this problem is now fixed since the LCD has been running without garbling the characters for several hours, long past the time when the LCD would normally have failed.  By increasing the torque the auger feed motor is running at less amp draw and so it feeds back less to the relays.  I also grounded the relay in a more positive way.

LCD display


Feed test

Hopper with pellets

The chain arrived from McMaster-Carr last night so today a friend and I hooked up the drive motor for the auger and we did a timing test.  The assumption is the pellets will yeild approx. 5000 BTU’s per pound.  So after running the auger for a minute we weighed the sample and with the weight we calculated the feed rate at approx. 30 secs every 2.5 minutes.  We will have to adjust the rate as needed for the test.  I got a great email from a friend with some useful suggestions for the code which is still having issues.  I incorporated all the suggestions  and look forward to more useful suggestions.

Auger Motor