I've spent the last several months re-writing the boiler control software that I described here back in September to run in Java on an SBC2. This past week I converted from oil to gas and installed a new Midco LNB-500 modulating gas burner. This is a commercial unit that usually goes into automotive spray paint booths, and was recently qualified for use on residential steam boilers. My objective is to modulate the burner based on steam pressure in the boiler, so that steam production is in balance with the steam condensation rate in the radiators.
I used a Phidgets 1002 Analog Output to control the modulating voltage to the burner (2-10 vdc) and wrote PID algorithms for the SBC to drive the analog ouput based on steam pressure (0-48 oz/in2 pressure transmitter on a Phidgets 1132 4-20 ma Adapter) or stack temperature (Phidgets 1051 Thermocouple board).
I've made extensive use of the Phidgets Dictionary as the communications interface between the server app running on the SBC2 and the user interface on a PC. The server app is autonomous; it will continue to operate in the absence of a user interface or network connection, or if the Phidgets Webservice is not running on the SBC.
Here are links to three YouTube videos of the system in operation:
And here are some pics of the control cabinet and user interface: