Residential Steam Boiler Control

Any other Phidget projects you've done not related to the above subjects
MarkS
Phidgetly
Posts: 39
Joined: Sat May 15, 2010 8:37 am
Location: Southeast Pennsylvania USA
Contact:

Residential Steam Boiler Control

Postby MarkS » Sun Sep 02, 2012 11:13 am

I live in an 1890’s three-story brick home with a one-pipe steam heating system. In 2009 I had a new oil-fired steam boiler installed, and started to look at ways to reduce fuel consumption.

There’s a principle in hydronic heating control called “outdoor reset”, where the heat produced by the heating system is adjusted based on the outdoor temperature. The warmer the outside temperature, the less energy it takes to maintain the indoor temperature. There’s a bit more to it than that, but that’s the general idea. Outdoor Reset systems can reduce energy consumption by 15% or more versus a typical wall thermostat.

Commercially available Outdoor Reset controls for residential steam systems all lacked certain features I was looking for and were expensive to boot, so I decided to write my own using Phidgets and VB.NET. The software runs on a re-purposed laptop running Windows XP, which also hosts the home lighting control system (Insteon, for anyone who's interested). I put the system online in data acquisition mode during the 2010-2011 heating season, and gave it control of the boiler in January 2012.

Control Features
The control features of the system include:
    • Outdoor Reset Control using either time-proportional or heat loss mathematical models
    • Redundant indoor and outdoor temperature sensors, with configurable sensor selection (High/Low/Average/First Good)
    • Automatic sensor switchover if one of the indoor or outdoor sensors fails
    • Option to fetch current local wind-chill temperature from the internet, and use it as the outdoor temperature in outdoor-reset calculations.
    • Eliminates boiler short-cycling on pressure by applying a thermal lockout when the high pressure limit is reached
    • 7-day, 4-period-per-day temperature setback scheduling
    • 7-day, 4-period-per-day Domestic Hot Water heating schedule
    • On-demand DHW heating when hot water flow is detected during scheduled OFF times
    • Highly configurable – many parameters can be adjusted to tune the system to its environment
    • Records peak pressure and temperature during a heating cycle
    • Logging of continuous analog data, heating cycle events, and cycle history
    • Automatically reverts to wall thermostat control in the event of a critical failure.
    • Web-accessible thermostat-style display, interfaced via the Phidgets Dictionary.
01-BMC Main.jpg
01-BMC Main.jpg (221.09 KiB) Viewed 10066 times
02-BMC Web Thermostat.jpg
02-BMC Web Thermostat.jpg (37.84 KiB) Viewed 10066 times
Phidgets I/O Subsystem
I’m using an 1018 Interface Kit 8/8/8 and a 1051 single-input temperature sensor for my I/O.
The 1018 has the following sensors attached to it:
    • (2) 1124 Precision Temperature sensors for indoor and outdoor temperature
    • (5) 1121 Voltage Dividers with 10K NTC thermistors for backup indoor and outdoor temperatures, un-tempered and tempered Domestic Hot Water temperatures, and steam condensate return temperature
    • (1) 1132 4-20 ma Adapter with a 0-3 psi pressure transmitter attached
    • (2) thermal switches digital input. The switches close at 180 degF and are used to report the presence of steam at various points in the system.
    • (1) flow switch digital input. This switch is installed in the hot water supply line feeding the tankless coil on the boiler, and closes when flow is detected to indicate hot water demand.
    • (1) 3051 Dual Relay board, 2 discrete outputs. One of the relays switches control of the oil burner between the wall-mounted thermostat and the Phidget control system, and is provided as a backup in case I have to take the Phidgets control offline for one reason or another. The other relay turns the oil burner on and off when the first relay is in “Phidget control mode”.

A K-type thermocouple attached to the 1051 measures the flue gas temperature from the boiler.
03-Outdoor Temperature Sensors.JPG
03-Outdoor Temperature Sensors.JPG (158.48 KiB) Viewed 10066 times
04-Phidgets Main Board Box.JPG
04-Phidgets Main Board Box.JPG (262.16 KiB) Viewed 9026 times
Phidgets AI/DI/DO Classes
I created classes for the Phidgets AI, DI, and DO I/O to extend the capability of the basic I/O.
The Analog Input class extensions include:
    • Tag name, description, range and units for each I/O
    • Display range, separate from the device range, so that a narrower range can be shown on the faceplate or other displays.
    • Alarms for High Limit, Low Limit, and Bad PV (bad sensor). The alarms have configurable limits and can be enabled/disabled.
    • Optional High and Low control limits. If used, the control software can take action when the sensor value is higher than the High Limit or lower than the Low Limit.
    • Optional Setpoint control. If used, the control software can take action when the sensor value is above or below this limit.
    • PV Offset allows a bias to be applied to the sensor value.

The Digital Input class extensions include:
    • Tag name and description for each I/O
    • A Discrete Alarm. This alarm can be configured on a per-sensor basis to alarm when on or off. The alarm can be enabled or disabled.
    • Invert Input allows the raw I/O value to be inverted, often used with normally-closed switches.

The Digital Output class extensions include:
    • Tag name and description for each I/O
    • An Uncommanded Change alarm alerts if the output changes without being commanded to do so

Faceplate and detail displays were created for each of the classes to show the sensor values, alarm status, control limit/setpoint configuration, and raw Phidgets sensor data. Clicking on a gauge or discrete tag in the main display will call up the faceplate associated with that I/O.
05-Phidgets-Analog FP DT.jpg
05-Phidgets-Analog FP DT.jpg (69.02 KiB) Viewed 10066 times
07-Phidget-AI Faceplate with Hi-Lo Control Limits.jpg
07-Phidget-AI Faceplate with Hi-Lo Control Limits.jpg (32.93 KiB) Viewed 10066 times
09-Phidget-DI Faceplate.jpg
09-Phidget-DI Faceplate.jpg (29.03 KiB) Viewed 10066 times
10-Phidget-DO Faceplate.jpg
10-Phidget-DO Faceplate.jpg (26.72 KiB) Viewed 10066 times
Event Logging
The system saves data to an event log whenever a system event occurs, such as transitioning from one state to another (Idle to Preheat, for instance). Depending on the event, it may store several lines of event data. For instance, when transitioning from Idle to Preheat, it logs the event change, current outdoor/indoor/comfort setpoint temperatures, burner status, and the length of time the boiler has been off since the last heating cycle.

The attached screenshot shows the event data collected during a typical heating cycle.
11-Event Log.jpg
11-Event Log.jpg (216.87 KiB) Viewed 9026 times
Continuous History Logging
The system saves analog and discrete data values to a continuous history log whenever one of the analog inputs or digital input values changes beyond a configured change threshold, as well as whenever a system event occurs. This data is stored in .csv format, and is used to generate trend charts.

The open source package “LiveGraph” is used to generate trend charts from .csv file data. LiveGraph is available for free download at: http://www.live-graph.org/.

The attached graph shows trends for the following analog inputs:
    Outdoor temperatures are blue
    Indoor temperatures are green
    Condensate temperature is yellow
    Tempered and un-tempered Domestic Hot Water are red
    Steam Pressure is purple. The system operates at less than 2 ounces of pressure, so this value is scaled by a factor of 100 so it appears with the other data in the chart.
12-Livegraph Trends.jpg
12-Livegraph Trends.jpg (152.06 KiB) Viewed 9026 times
Link: EcoSteam - Residential Steam Boiler Control using Phidgets
"Bringing 21st century automation to a 19th century home"

User avatar
burley
Human-Cyborg Relations
Posts: 441
Joined: Tue Sep 27, 2011 2:37 pm
Location: Calgary
Contact:

Re: Residential Steam Boiler Control

Postby burley » Tue Sep 04, 2012 9:11 am

That is a really cool project. It's always great to see people using Phidgets for not only neat, but useful things. If you would be interested in putting this on our website under our application guide section send me an email at support@phidgets.com and I can give you some more information.
Brian Burley
403-282-7335 ext. 6003
support@phidgets.com

erik
King of the Lab
Posts: 476
Joined: Fri Mar 06, 2009 12:42 pm
Location: Calgary, Canada
Contact:

Re: Residential Steam Boiler Control

Postby erik » Tue Sep 04, 2012 10:45 am

Wow this is an awesome project!

With your system, are you seeing the 15%+ reduced consumption rate that you mentioned? What is the typical monthly difference from other years? (Specifically in the winter, if you still have the old bills, of course)

User avatar
Patrick
Lead Developer
Posts: 3078
Joined: Mon Jun 20, 2005 8:46 am
Location: Canada
Contact:

Re: Residential Steam Boiler Control

Postby Patrick » Tue Sep 04, 2012 11:23 am

Yeah this is definitely super cool. I've been wanting to replace my thermostat with Phidgets and some intelligent software for a while now.

-Patrick

MarkS
Phidgetly
Posts: 39
Joined: Sat May 15, 2010 8:37 am
Location: Southeast Pennsylvania USA
Contact:

Re: Residential Steam Boiler Control

Postby MarkS » Tue Sep 04, 2012 2:06 pm

erik wrote:With your system, are you seeing the 15%+ reduced consumption rate that you mentioned? What is the typical monthly difference from other years? (Specifically in the winter, if you still have the old bills, of course)

I'll know better this coming winter, last winter there were too many variables; the weather was unseasonably mild and the software was on-and-offline as I found time to fine-tune it, to name a few. What I do know at this point is that putting the domestic hot water on a schedule has cut oil consumption by more than half in the non-heating season. The old boiler kept the water hot all the time; the new system makes hot water only in the morning for bathing and in the evening for dishwashing, etc, and there's a flow switch in the hot water line that will fire up the boiler if there's flow during an off period. Depending on how long it's been since the last call for hot water, it takes a couple of minutes to come up to temperature, but it's well worth it for the fuel savings.
Link: EcoSteam - Residential Steam Boiler Control using Phidgets
"Bringing 21st century automation to a 19th century home"

Sharla
Fresh meat
Posts: 1
Joined: Sat Aug 24, 2019 7:12 am
Contact:

Re: Residential Steam Boiler Control

Postby Sharla » Sat Aug 24, 2019 7:15 am

I'm researching residential outdoor reset controls for steam boilers but coming up short. Do you have any recommendations?


Return to “Other”

Who is online

Users browsing this forum: No registered users and 1 guest