HDD Update for the first week of December

In the first week of December I have used 15 bags of pellets to heat the house and shop including hot water. This weeks heating and hot water costs were $64.50.  In the last post I calculated a monthly usage of 68 bags if this month followed the trend for December 2012 Heating Degree Days (HDD).  So with 22.6% of the month gone I have used 22.0% of the fuel predicted.  Probably not a good sign considering it will get colder as the month goes on (probably).  In the first week the HDD were 224 in Springfield, VT.  Last year the first week of December there were 211 HDD and not until the 3rd week was the weekly total as high as 224 barely topping this years first week at a whopping 226.  So this may indicate a colder month than last year’s December.

No further progress on the boiler rebuild, I got distracted by obtaining a “free” hot tub.  It had a fried control board, as well as a fried pump motor.  I am sure the two are related and this should give me a clue as to how to fix the control board but, I have decided to replace the control board with a home built board consisting of relays.  Several of these relays will be controlled by switches by the operator, and several will be controlled by an Arduino  for example controlling the circulator pump and heater as well as reading the temperature sensors and reading the operators desire to raise or lower the temperature.  That will probably keep me occupied in my spare time for a week or so.  The second project in the shop is a sander which is giving me problems.  I ended up buying a second sander to make sure I would be able to meet my contractual obligations but in the meantime, there is a sander taking up a lot of space while I wait for parts.  It is a treat to work on it inside however, so I am not complaining just rationalizing why I am not working on the new boiler feed for chips.


Minor Software changes can make life much more convienient

DSC00698This time of year in New Hampshire it is warm days and cool nights.  Pleasant for the most part but it is still fall.  There can be some rainy raw days that need a touch of heat and to heat the hot water or maybe the day is warm enough but just cloudy so you want to heat the hot water for showers.  So in other words the boiler can often run for 3-4 hours per night, maybe one or two evenings per week.

Shutting the unit down before the upgrade consisted of unplugging the unit which includes all the controls except the draft fan.  This of course shuts off the feed and everything else but the fire still burns the remaining fuel.  I keep the draft fan on to minimize any smoking that might occur otherwise.  I live on the second floor of the building and the boiler is on the first floor so typically I would walk down unplug the unit, take a shower and then go back down and unplug the draft fan.  More than once I have had to go down later after forgetting to unplug the draft fan.  So I added a physical button, the Attn button, to the front of the control panel, and rewired the control box to relay control the draft fan.  Now with a minor software change made I can go down hit the button and the unit shuts the auger feed immediately and then after twenty minutes turns off the relay for the draft fan.  It’s so cool my girlfriend wants to go push the button.  Can life get any better?


Summer’s almost over, time to start thinking about heat

2013 Boiler design flow chart

I know it’s early on the calendar but my focus is starting to shift back to my heating hobby.  After two years of experimenting I have a proven performer with both the mechanical unit and the software I used last winter.  I could change nothing and go through the winter fairly smoothly but there is  always room for more improvement.   So this is my plan:  1) Build a new unit very similar to the proven unit I have been using but with greater feed range capability to allow the unit to feed wood chips as well as pellets.  By building a complete new unit I can always roll up the proven unit after the experiment is over and the data collected and resume heating without a hiccup.   2) Make slight modifications to the boiler to allow a larger interface plate between the feed unit and the boiler.  This will allow a greater range of experimentation with burner designs.  3) Continue making small experimental changes to the working pellet unit such as a vibrator for ash removal, different burner designs, different draft designs.  4)  Continue to make changes and improvements to the software.  To start I would like three modes of operation.  Continuous, run for some amount of time, and run until a set time.  I changed the software to run to a set time by calendar date last spring but it was built into the software by date not menu or button choice.  I would like to have the option of running for a few hours for both experimentation and also to occasionally heat hot water and be able to choose these options by menu.  This fall I am sure I would like the unit to be able to take the chill off and then shut down.    5) Build a chip dryer.  This is going to get to be a priority , I know the days are getting a little shorter and it is amazing how much less solar there is in the fall.  Time to giddy up on that one.

I know I have to prioritize the work, and work as time and cash flow allows.  But I think the first step will be to make a new interface plate and boiler opening.  This will allow standardization for the next design and this work can be done while there is no particular need for heat.  I went dumpster diving the other day and got a great new electrical box, so I guess I can get going on the that part of the new burner feed.  I like free stuff.  I may hit that dumpster again soon.

In the mean time it is still summer and there is still sailing weather.


Fire!

Well of course there’s fire in the burner that’s how it works. After today however the Arduino should be able to sense the fire since I added a photo resistor,  commonly known as a flame sensor, bought at a furnace supply store. With the Arduino’s ability to sense flame, the addition of automatic self starting should be enabled.  The ability to determine if fuel is building up should also add safety to an already proven safe unit.

The sensor I obtained is a flame sensor used in a normal oil or gas fired burner.  The flame sensor allows me to sense the light corresponding to a fire currently burning. The sensor cannot determine if the fire went out or if the flame sensor can no longer see it but functionally it makes no difference to me.  I am interested in either condition and the response is the same to both conditions, turn off the fuel feed.    If the fire went out, no need to keep feeding fuel, that will simply clog the  feed chute and make a mess.  If the fuel has backed up the feed chute so much as to shield the flame sensor, there is excess fuel, turn off the fuel feed.  Physically the sensor is mounted to “look” through the back of the feed slide.  This positions was chosen purposefully to determine if fuel was backing up.

Because the flame sensor is a resistor, I am using a voltage divider circuit to measure the voltage and then using the software to check the voltage with a if – then statement.  The software determines if the voltage is high enough to indicate flame or too low indicating dark.  I have been  recording various sensor data to the micro SD over the heating season, so I will record the voltage overnight and we can see the range of data tomorrow.  If anything this should be a good time of year for the test since the fire is needed to maintain the temperature in the building, it is mid 30’s F here today, but the fire is not required to be too vigorous since the temperature is not extremely cold.

Pictures and data to follow.


Fuel savings built into the software

I added a function to check for the time of year and hour of day to shut the boiler down automatically, I mentioned this in the last post. But as the days get warmer I wanted to make additional changes. I probably ought to be calculating the HDD and comparing to the present outside temperature to calculate a dynamic time needed for adequate heat, however that seemed too complicated so I wrote a simple function to check for date and time. At this time of year it shuts the boiler off at midnight. In March it ran until 3 am.

void FuelSavingsDateCheck() {//start function
DateTime now = RTC.now();  //get the data from the RTC
Month =now.month(),DEC;    //get the month from the RTC
Day =now.day(),DEC;        //get the day from the RTC
hour = now.hour(),DEC;     //get the hour from the RTC
if (Month ==12 && Day <15)  //month of December before the 15th
{//start if section
if (hour >3 && hour <9)  //shut off time of 3 am
FuelTest =0;
else
FuelTest =1;
}// end if section
if (Month == 3 && Day >15)  //after March 15th
{//start if section
if (hour >3 && hour < 9)  //at 3am shutoff burner
FuelTest =0;
else
FuelTest=1;
}// end if section
if (Month == 4)              //month of April
{//start if section
if (hour ==0 && hour < 9)  //midnight shutoff
FuelTest =0;
else
FuelTest=1;
}// end if section
}//end function


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


All is well here in NH

I went out on a customer issue the other day, I had to meet a locksmith at a customer’s house. After the job was done the locksmith who I have done business with for years and is a friend came back to the shop for a check and a beer. Naturally I showed him my home built boiler. He rent’s so he wasn’t particularly interested but mentioned he buys a 5 gallon can of off road diesel to bring home to heat his house every day. The price is about $3.77 per gallon which is about what the local oil company would charge to deliver. So if it’s the same price why not have it delivered? Because he doesn’t want to, or can’t tie up the $471.25 the fuel company would want for a minimum sale. That amount of fuel would last him about 25 days at his 5 gallon a day rate, maybe less time if the 10 gallon nights are accounted in as well. Since it was quite cold he was planning on buying two cans that night. He said the normal 5 gallons cost him $19/day. Rounding this to $20 for ease of math and multiplying by 30 days per month this is approx. $600 per month for fuel oil. We bought our third ton of of pellets for the heating season for $209 at Tractor supply last week. So our total fuel costs for the year are approx. $800 from November to mid February. What a difference! Not to mention I can’t imagine going to the gas station every day for fuel. What a pain. Having diesel trucks and fueling up at the same pumps I see many different people filling five gallon cans every time I fuel my trucks. I’m not the best at budgeting in the world, but I realize my blessings when I witness first hand how the paycheck to paycheck underemployed crowd deals with winter.

I’ve started calculating the Heating degree days with the Arduino program. It’s a pretty accurate look at the day’s heating requirements. I want to correlate those temperatures to fuel usage. I also have updated the CNC plasma cutter to the 5 start lead screw. Before I made the upgrades I needed to limit the cutter to a linear travel rate of 13 inches per minute to avoid vibration issues. After reassembly I tested the machine to 40 inches per minute with no problems. It may be even better than that I just got so giddy I quit testing. I am hoping this will significantly reduce the slag produced by the plasma cut. Not much motivation to take anything apart at this point. It’s just too damn cold out. It was -5°F this morning here, the HDD days yesterday was 65.5. Stay warm out there. I could back the tractor out of the shop and do some woodworking, maybe build the chip dryer…..


Mid January cabin fever and progress report

It may not be cabin fever, more just a general malaise. That midwinter everything is working and I don’t want to take it apart feeling. But I have several projects half done at this point. I am waiting for headers to install the Ethernet card so the Ethernet update project is on hold. The CNC plasma cutter is apart awaiting a new lead screw for the y-axis. This is to remove the vibration issues I have been experiencing. I am changing from a single start to a five start lead screw. I will lose one fifth of the resolution I have presently but that will still be plenty of resolution for this application. But the big news is I am finally going to move on building a new firebox. It’s time to retire the over the road fuel tank turned boiler. Well maybe not retire, just move onto a new home. Anyone want to buy this working boiler? I would consider selling the auger and burner feed as well as a combination. The unit is located in Newport, NH if you would like to see it working. It won’t be available until it’s replacement is built. It is after all heating the house, shop and hot water. But I am hoping to have the replacement built before the end of the heating season for some testing. If you are interested drop me an email at: clarkcontr@gmail.com
A quick reminder of what the combination looks like, this has successfully burned pellets, chips and to a limited degree sawdust. Ideally you would be a person who can tinker as this is a prototype unit.
The software, Arduino and LCD display all very solid and work very well.

Boiler and Feed Combination


I am considering adding Ethernet capability

By adding Ethernet capability I can write the data I am currently collecting on the micro SD card to a browser directly. This means I could pull up Firefox and go to my Arduino’s IP Address and see the data.  This will give me the ability to read the data from anywhere on my home network as well as anywhere I can get internet connectivity, potentially allowing me to review data from a smart phone remotely. Additionally I could control relays from a remote location as well. But for now the ability to ease the data collection and monitor the process remotely will be a great first step. First I have to buy an Ethernet shield.  For those of you not familiar with Arduino this means an additional plug-in board that will stack on top of the Arduino pins.

Ethernet Shield

Ethernet Shield

Here’s a picture of just the Ethernet shield, the connection point you see on the front is the plug-in point for the Ethernet connection. This is a RJ-45 connector. I was able to get a 100 foot Cat 5 with installed RJ-45 connectors for $27 at Home Depot.

Ethernet Shield stacked on an Arduino UNO, note upper connection is the RJ-45 Ethernet connection

Ethernet Shield stacked on an Arduino UNO, note upper connection is the RJ-45 Ethernet connection

At present I have already have a prototype shield plugged into my Arduino Uno. This allows me to easily disconnect and update the Uno without disturbing any wiring connections. There are quite a few wiring connections for the RTC or Real Time Clock, the LCD display, the outside temperature thermister, the boiler water tank thermister, the Auger Feed pipe thermister as well as Relays to turn on the Auger motor and boiler tank water circulator. But when I attempted to plug in a prototype shield into the Ethernet shield there was interference with the RJ-45 connection point. The prototype shield would have grounded itself on the metal so I have ordered Stacking headers to extend the height above the shield. More when the headers arrive.


Deja Vu (it got really cold again), Test Plan

After writing a similar post on 1/15/2012 I find myself saying basically the same thing, after a -10F night the boiler has kept up. Additionally except for a 12 hour period when I made some boiler modifications the boiler has run continuously for 14 days. There are several differences however. The software is 100% better and controlling the temperature to within a few degrees. The burner is now a waterfall type burner that is much safer and runs more consistently. The hopper and auger setup is much more consistent and dependable as a worm and worm gear than the chain and sprocket setup from last year. Most significantly the burner has proved it can run on chips as well as pellets. During these colder nights it is more difficult for the burner to keep up with chips because of the density differences. The chips are much less dense and because of this the auger must feed significantly more of them. The auger motor may need to be changed to accommodate this burning however during weather that does not require so much energy the chips will burn just fine. I could have easily burned chips for most of December with no issues if they had been dry enough. Which brings me to my second topic.

A test plan. I have taken the Holidays off but it is now the new year and time to make some constant progress. To facilitate the test plan I want to make some incremental improvements in the software. The first change in the software is to gather more data to make better decisions.  To do this I am going to first add the date and outside temperature readings to both the LCD display and the data collected.  By knowing these I can correlate the feed times to temperature and see how close a relationship between them exists. Next I would like to total the run time of the auger per minute and correlate that to both outside temperature and fuel usage. Armed with this additional data I can then make various burner modifications and see the differences if any graphically. The data is good now but could be better. As you can see from the data below the software is not working properly now. The derivative portion of the formula is not contributing at all. This needs to be fixed in the software.

Data collected on SD card

Data collected on SD card