The Wall
Forum / Strictly Steam / Homemade Controller
  • Post a Reply to this Thread

    Homemade Controller (21 Posts)

  • MDNLansing MDNLansing @ 8:46 PM
    Contact this user

    Homemade Controller

    Has anyone ever tried, successfully or not, to build a residential boiler control unit using the Arduino platform? I am considering creating a unit that is more accurate and predictive for thermostat functions. For example, the unit would call for heat when needed, but predict if the target temp can be obtained by a single boiler cycle and the residual heat that cycle creates. So instead of kicking back in when the low limit is reached on the pressuretrol, just leave the system off and let the radiators finish radiating. Even if the target temp hasn't been obtained yet. Something far more advanced than just schedule and programming like most current wifi thermostats.

    I know there are some high end units and commercial controllers that let you do things like this, but I can't find anything for residential installations. Thus, the nerd in me has emerged.

    Thoughts?
  • MarkS MarkS @ 9:55 PM
    Contact this user

    Arduino / Phidgets

    I've been working on such a "homemade controller" for several years. I developed a heat loss model for calculating boiler run time, and more recently added PID pressure control when we swapped out the oil burner for a Midco LNB modulating gas burner back in April.

    I chose Phidgets (www.phidgets.com) as the hardware/sensor/control platform primarily because you don't have to mess with low-level circuitry like you do with Arduino and can just get on with the job of programming it to do what you want.

    Earlier versions of the control did have a "pressure lockout" function similar to what you describe, but these days it's more or less out of service since the new burner's firing rate is controlled by steam pressure. When it was in service, the "pressure lockout" worked quite well and saved more than a few gallons of oil over the course of a heating season.

    The three links in the last line of my signature will take you to a couple of threads on the Wall, and an external web site where my project is described in detail.
    Homeowner, Royersford PA | 1890 one-pipe steam system | 3009 sf | 3 floors | 14 radiators | Utica SFE5200S boiler
    Midco LNB-250 Modulating Gas Burner | EcoSteam modulating controls | 70 to 300 MBH |
    607 sf EDR connected load | Operating pressure: 0.5 oz/in2
    Four main runs (insulated) totaling 135 ft in length | All Gorton vents on mains & rads |
    A Steam Odyssey | Odyssey 2 | Odyssey 2014 | A Steam Enthusiast's Outdoor Reset Control
  • MDNLansing MDNLansing @ 1:36 AM
    Contact this user

    Never heard of ot

    I am not familiar with the Phidgets platform, but will certainly investigate it. Thanks!
  • MarkS MarkS @ 6:07 AM
    Contact this user

    Phidgets submarine project

    Check out this Phidgets project created by high school students from Phoenix AZ in a program that provides the students with hands-on experience in science, technology, engineering and mathematics (STEM).

    Falcon Autonomous Underwater Vehicle
    Homeowner, Royersford PA | 1890 one-pipe steam system | 3009 sf | 3 floors | 14 radiators | Utica SFE5200S boiler
    Midco LNB-250 Modulating Gas Burner | EcoSteam modulating controls | 70 to 300 MBH |
    607 sf EDR connected load | Operating pressure: 0.5 oz/in2
    Four main runs (insulated) totaling 135 ft in length | All Gorton vents on mains & rads |
    A Steam Odyssey | Odyssey 2 | Odyssey 2014 | A Steam Enthusiast's Outdoor Reset Control
    This post was edited by an admin on November 20, 2013 6:12 AM.
  • MDNLansing MDNLansing @ 9:29 PM
    Contact this user

    Great Links

    I love that project you did MarkS. Although I'm not looking to modulate my burn rate, I am sitting here thinking why not. I'm looking at a new install and will have 6 months to do it. I certainly will build a custom control unit, and I think my project might be getting a little deeper now. I love the concept of using the burner to regulate steam pressure. I don't think you could possibly get more efficient than that. The wheels are turning in my head...
  • MarkS MarkS @ 6:09 AM
    Contact this user

    Stay tuned

    Thanks. It's been a fun project. I've learned a lot about my own system and steam systems in general, and I'm saving fuel and $$$.

    One recommendation I have for you is to make sure your system is tuned up - proper main venting, pipes insulated, etc. Controls can't fix a system that isn't already in good working order.

    Stay tuned. Around Dec 1 or so I'll be posting a performance report for October & November. It's something the folks at Midco asked me to do, and I figured I share it here as well.
    Homeowner, Royersford PA | 1890 one-pipe steam system | 3009 sf | 3 floors | 14 radiators | Utica SFE5200S boiler
    Midco LNB-250 Modulating Gas Burner | EcoSteam modulating controls | 70 to 300 MBH |
    607 sf EDR connected load | Operating pressure: 0.5 oz/in2
    Four main runs (insulated) totaling 135 ft in length | All Gorton vents on mains & rads |
    A Steam Odyssey | Odyssey 2 | Odyssey 2014 | A Steam Enthusiast's Outdoor Reset Control
    This post was edited by an admin on November 21, 2013 6:13 AM.
  • PMJ PMJ @ 9:53 AM
    Contact this user

    Homemade Controller

    I have run my system with a homemade controller for about maybe 10 years now. My purpose was to do exactly what you are looking for - allow the heat from each fire cycle to radiate into the room and not continue firing all the way until the stat is satisfied which always results in overshoot of some amount. I don't use any pressure controls at all - I have an ultra low pressure 2 pipe system - about1000 EDR. I only change the cycle fire times and off times based on how much time from the last call for heat and then during each call I steadily increase the length of the on cycle vs the length of the off the longer it takes to satisfy. I do 3 complete cycles an hour during a call for heat under all conditions and my boiler never runs more than 50% of the elapsed time during a call - ever. It is simple too - no new sensors to maintain and only on and off times to manage as you learn your own system and structure.
    I have written a number of posts about this in the past. The result has been dramatically evened out heat with rads gently warm all the time instead of going from dead cold to piping hot as was the case with the run till satisfied approach.
  • MDNLansing MDNLansing @ 11:50 AM
    Contact this user

    No Sensors

    So PMJ, you're doing this without taking into account heat loss and outside temperature? Does your program adjust for longer of more frequent cycles the further into winter you get? If I'm reading your post correctly, you're basing the cycle times and frequency based on time models and not actual conditions correct?
  • PMJ PMJ @ 12:31 PM
    Contact this user

    Adjustments

    I'm happy to go into detail about this if you are interested but I will try to summarize quickly here. If my system is off more than 4 hours it will run flat out for 20 minutes - the minimum time I have determined I need to get the top of all my rads warm 2-3 columns in from fill valve from a dead start will all piping at room temp. From there I start at 5 min on and 15 min off for 3 cycles. If the stat is still not satisfied there it switches to 8 min on and 12 min off for another 3 cycles. If still not satisfied it switches to 10 min on and 10 min off which will surely satisfy my structure at -20F outside.

    A single call for heat may not be satisfied for 3-4 hours. But the temp is steadily rising the entire time inside one degree and I never see the stat show anything but the setpoint - it doesn't show to tenths. You get the idea - I am just spreading out the whole process which evens out the heat a whole lot. When it is really cold the boiler is never off the 4 hours and the first hour after a call it only runs 15 min total - but the pipes are all hot and with the system in natural vacuum the steam from those short first 5 min cycles shoots to the rads instantly and the structure is still warming the whole time - slowly.The system adjusts itself to the conditions. when it is in the 40's outside it never gets to the 10 on/10 off High mode.

    Hope this makes sense - I'll provide as much detail as you wish. I have done it for years now and love it - and I know I am saving money.
  • MarkS MarkS @ 1:28 PM
    Contact this user

    Details

    This is a very interesting control strategy PMJ, I'd like to learn more details about it. You've got me curious how well your strategy might work on my system, one-pipe running 1 oz or less pressure (someone once called it "near-vapor") with a modulating burner. Right now, once the mains are hot the burner turns down to maintain a low pressure setpoint, and my average firing rate is currently 16% less than a fixed output burner. That's on top of the general cost savings of gas vs oil. I use a "heat loss replacement" model (think outdoor reset on steroids) to calculate run times. It works pretty well, but it would be nice to reduce the cycle-to-cycle heat variance in the rooms if I can maintain (or reduce) fuel usage at the same time. More cycles should mean less preheat time which is also less time at high fire.
    Homeowner, Royersford PA | 1890 one-pipe steam system | 3009 sf | 3 floors | 14 radiators | Utica SFE5200S boiler
    Midco LNB-250 Modulating Gas Burner | EcoSteam modulating controls | 70 to 300 MBH |
    607 sf EDR connected load | Operating pressure: 0.5 oz/in2
    Four main runs (insulated) totaling 135 ft in length | All Gorton vents on mains & rads |
    A Steam Odyssey | Odyssey 2 | Odyssey 2014 | A Steam Enthusiast's Outdoor Reset Control
  • PMJ PMJ @ 2:28 PM
    Contact this user

    Trying to calculate

    instantaneous heat loss based on outside temp looks like a project to me as sun loads and wind change the load dramatically at the same temp. I tried modulating manually with the main gas valve and found more uneven heating at low fire levels. Also, I was concerned about flue losses leaving the chimney wide open for so much longer a period than what I do now and I don't have a direct outside combustion air supply.


    The really nice thing about what I am doing is that there are no extra moving parts - just the simple programmable logic controller in with the tstat as an input and the main gas valve as the sole output. It turns out that you can develop a system that adapts itself very well to the actual current conditions just based on call times(both calling and not) and run times. You aren't locked into anything either - you can just keep tweaking. Just plug in your laptop and modify.
  • MarkS MarkS @ 3:28 PM
    Contact this user

    Mad science

    Well, my system certainly falls in the "mad scientist" category, but that's intentional - it's built for flexibility, experimentation and data acquisition. Once I get a handle on the best combination of fuel economy and comfort I'll probably dial it back to a subset of the overall functionality. I'd have to eventually anyway, it's hard to sell a house with Franken-controls in the basement!

    That little PLC of yours looks pretty good with a great price point. Might have to get one to play with. I see they have an analog output extender board which I'd need to modulate my burner. It looks like it has function block programmability in addition to traditional ladder logic, is that right?

    Regarding heat loss, I compensate somewhat for wind by fetching current wind-chill temperature from a local weather station over the Internet. It will nudge the run times up if there's enough difference between outdoor sensor and wind-chill temps. There are still some variables I don't fully understand, so sometimes it'll miss the target (over or under) by a degree or so, but for the most part the math has been pretty good at getting within -0.2 to +0.7 degree of target temperature. Even so, it's really just a guess. Your "adaptive pulsed modulation" method could replace that.

    Curious if you have an atmospheric or a power burner, and if you were able to check combustion efficiencies while you were manually modulating your gas valve.
    Homeowner, Royersford PA | 1890 one-pipe steam system | 3009 sf | 3 floors | 14 radiators | Utica SFE5200S boiler
    Midco LNB-250 Modulating Gas Burner | EcoSteam modulating controls | 70 to 300 MBH |
    607 sf EDR connected load | Operating pressure: 0.5 oz/in2
    Four main runs (insulated) totaling 135 ft in length | All Gorton vents on mains & rads |
    A Steam Odyssey | Odyssey 2 | Odyssey 2014 | A Steam Enthusiast's Outdoor Reset Control
  • PMJ PMJ @ 3:55 PM
    Contact this user

    Science Project

    You definitely have taken it to the science lab level - I admire your energy.
    I wanted to stay in something without too many variables and took care of itself. I have been pleasantly surprised at how much improvement I could get so simply. I even have an sheet tacked up with instructions on how to easily go back to on/off control - should my wife ever need to call a pro when I am not in town. What does your system do when there is no internet connection?
    Yes, there are function blocks and analog I/O. I nice platform really at a low price with free software.

    I have a standard atmospheric burner and standing pilot. Never looked at combustion efficiency. Frankly, I like knowing I can have heat with no power at all. It is a trade-off but I think I am doing great on gas with a system this size.
    One thing I am considering is to look at gas cfm/EDR/degree heating day as a way to compare the efficiencies of two different structures. What do you think?
  • MarkS MarkS @ 4:26 PM
    Contact this user

    No internet

    If there's no internet connection the software will just use the wired outdoor temperature sensor values. The control platform itself is autonomous, it will run regardless of whether an Ethernet link is available or if the client user interface is running.

    I've read here that the best method of comparing two different buildings is btus per degree day per square foot of floor space. If I remember correctly, under 5 is awesome, 5-10 is good, 10-15 is OK, above 15 is not so great. Substituting EDR for building square footage ought to work too.

    Edited to add: If you change gas cfm to btus in your calculation, you'll normalize that variable so you can compare to systems burning different fuels. I just ran a btu/edr/deg day calc with my current Oct/Nov data and get 29.1. My btu/dd/sq ft is 5.88.
    Homeowner, Royersford PA | 1890 one-pipe steam system | 3009 sf | 3 floors | 14 radiators | Utica SFE5200S boiler
    Midco LNB-250 Modulating Gas Burner | EcoSteam modulating controls | 70 to 300 MBH |
    607 sf EDR connected load | Operating pressure: 0.5 oz/in2
    Four main runs (insulated) totaling 135 ft in length | All Gorton vents on mains & rads |
    A Steam Odyssey | Odyssey 2 | Odyssey 2014 | A Steam Enthusiast's Outdoor Reset Control
    This post was edited by an admin on November 21, 2013 5:10 PM.
  • PMJ PMJ @ 6:50 PM
    Contact this user

    Calculation

    I ran my Oct/Nov data with your formula and got 8.5 using sqft and 34.4 using EDR. OK I guess for 1926 brick construction - 2 floors with unfinished  attic- not one shred of insulation anywhere, and I run a large rad in a 20x22 garage. The boiler is 1950's Bryant 460,000 BTU input - steam mains and dry returns are insulated.
  • MarkS MarkS @ 8:02 PM
    Contact this user

    About the same construction

    Those numbers seem pretty good, especially running that big garage rad and a boiler that old. The construction here is similar - 1890-ish four course brick with a 2" air gap between brick and interior wall on 1st & 2nd floors, 3rd floor & attic are insulated, low-e glass in windows. How closely matched is your boiler to your EDR? Mine's about 4% oversized so not a bad match.
    Homeowner, Royersford PA | 1890 one-pipe steam system | 3009 sf | 3 floors | 14 radiators | Utica SFE5200S boiler
    Midco LNB-250 Modulating Gas Burner | EcoSteam modulating controls | 70 to 300 MBH |
    607 sf EDR connected load | Operating pressure: 0.5 oz/in2
    Four main runs (insulated) totaling 135 ft in length | All Gorton vents on mains & rads |
    A Steam Odyssey | Odyssey 2 | Odyssey 2014 | A Steam Enthusiast's Outdoor Reset Control
  • MDNLansing MDNLansing @ 6:20 PM
    Contact this user

    Mix It Up

    I am envisioning a combination of things here. So for instance, on warm days, start at short drawn out run times and cycles. But on cold days start more aggressive with longer run times and more frequent cycles. I like the idea of modulating the fire rate, and modulating the cycles as well. I'm working on some math models now to try and predict the run and cycle time needed for the next say 4 hours. So if it's warn out the radiators just constantly stay partially warm, when it's cold they fire hot and slowly fade to warm. 'm also looking at a separate function to maintain the water temp for days that will need more cycles. My idea is to use a small separate burner (or only a portion of the main burner) and pump water through the boiler and maintain water temp. How efficient this is, is still up in the air. I don't have enough math done to know if this is feasible or not.

    I have a vacuum vapor system from 1900 and I'm fitting all of this into all the original piping. I will be assisting the vacuum though by using an air pump when the final cycle completes to speed up the vacuum process. Is amazing how fast the radiators heat when you go from 1.5 psi to 15" of vacuum in 30 seconds. In the spirit of the old dead guys I'm using the steam pressure to draw the vacuum so I can avoid using an electric pump.
  • vaporvac vaporvac @ 7:55 PM
    Contact this user

    Steam under Vacuum

    I'll leave to those doing these experiments to comment more fully on your ideas. I just wanted to point out (as you probably know) that the vacuum determines the temp at which steam is made. For instance, 15.94 " of HG vacuum would give you steam at 176deg. So perhaps you could somehow modulate your vacuum to get your target water temp.
    You could get a low fire if your burner has a multi-stage burn rate. Of course Mark's Midco burner is the ultimate, but $$$. It is the perfect thing for the vaporvacuum systems as it can most closely approximate a coal fire. C
  • MDNLansing MDNLansing @ 10:59 PM
    Contact this user

    Give and Take

    Something often overlooked about vacuum is actual temp. While it's true you can generate vapor at lower temps, it also means the steam is a lower temp. My theory right now is to use the vacuum to boil at a lower temp in order to extend steam production. So we boil at 212, then lower the pressure and continue to boil down to 175. What I am testing right now in my shop is what the average steam and radiant temp is when this happens. Are the radiator temps on the high end, low end, somewhere in between? Not sure yet.
  • MDNLansing MDNLansing @ 9:37 PM
    Contact this user

    Scale Tests

    I am starting some scale tests and various experiments to get some data and algorithms for the controller I will be building. I am wondering if anyone has done this before? My main concern is regarding steam pressure and scale. My test equipment will progressively get more complex and begin to mimic a true steam system. However, I am unsure what direction to take with the scale of steam pressure. For example, if I build a 15:1 scale model, should I scale the steam pressure 15:1 as well, or use normal levels. I am thinking not and that actual pressure should be used regardless of the size of the system, but I am curious if anyone has done this before. Since my house runs on approximately the same pressure as large NYC buildings, my though is that scaling pressure is not needed. Any feedback on this would be appreciated.
  • MarkS MarkS @ 10:18 PM
    Contact this user

    Actual pressure

    I think you're right about not scaling pressure. 2 ounces is 2 ounces regardless of whether it's a 1/4" tube or a 3" pipe. I think you'd need to scale the boiler water content and btu input to match the EDR of your test system.

    I applaud your scientific spirit and look forward to hearing about your results. For what it's worth, I ran a lot of simulation testing in the six weeks between completing my control software and when the new burner was installed, and it paid off. I'll admit to a few white knuckle, is-this-really-gonna-work moments before it came time to throw the switch, but in the end all I really had to do was adjust the tuning parameters on the pressure control to suit the real-world response.

    As somebody once alliterated, prior planning prevents poor performance.
    Homeowner, Royersford PA | 1890 one-pipe steam system | 3009 sf | 3 floors | 14 radiators | Utica SFE5200S boiler
    Midco LNB-250 Modulating Gas Burner | EcoSteam modulating controls | 70 to 300 MBH |
    607 sf EDR connected load | Operating pressure: 0.5 oz/in2
    Four main runs (insulated) totaling 135 ft in length | All Gorton vents on mains & rads |
    A Steam Odyssey | Odyssey 2 | Odyssey 2014 | A Steam Enthusiast's Outdoor Reset Control
  •  
Post a Reply to this Thread