Monotube boiler

Motivation

Have been interested in steam engines for some time, and rather than doing the usual of constructing an engine first, then working on a boiler (and giving up)thought I’d try at nailing boiler construction first

Rather than going for a pot boiler, or water tube boiler, which would require all kinds of safety devices thought I attempt a monotube boiler. In theory these are nothing more than a length of thin piping (usually coiled) exposed to flame. water enters one end of the pipe, and steam exits the other end. small diameter pipe can cope with high pressures see hoop stress which increases the factors of safety(or allows higher operating pressures) As there’s only a relatively small volume of water near the boiling temperature, even if the boiler busts there ain’t a huge amount of steam produced as that hot water boils and expands into steam.

Others may have come across monotube boilers under the label of flash boilers. They’re the same thing. I prefer the term monotube, because heating water to boil,is a completely different process to flashing which is reducing pressure to boil a fluid yes if you have a monotube boiler operating under pressure and that pressure is reduced flashing will happen but that’s not sustainable.

Practice is never as simple as theory. Turns out it can be difficult to balance the amount of water entering a monotube boiler, with the amount of steam leaving. If too much water enters the boiler tube it’ll eventually cease boiling water and it’ll just function as a water heater. Too little water enters and all the water that was inside the tube will boil off, and the tubes will soon reach red heat, and maybe even melt.

One way of providing feedback and close this control loop is to drive an engine on the exiting steam, and to drive a water pump from the engine. The engine consumes y kg of steam per stroke, and the pump then pushes y kg of water per stroke in to the boiler. But I see that as bit of cop-out. I want to be able to have the boiler manage itself regardless of how much steam the engine is using per stroke. I might want to drive additional devices from the boiler. I am likely to want to alter the engine’s cut off the point of which is too reduce the amount of steam the engine consumes per stroke

Temperature control for water feed (fail)

If there’s less water entering the boiler, the steam produced should be hotter. With that in mind I grounded one side of a thermocouple. Temperature might get too high for thermistor – and accuracy wasn’t hugely important for this proving test. Other thermocouple terminal to comparator. Comparators output switched a FET that controlled a solenoid valve. If thermocouple’s output voltage was below a threshold value the solenoid valve would block water from being added. if thermocouple’s output voltage was above a threshold, solenoid valve would open and add water.

As boiler was initially cold at start the solenoid remained shut.Even heating the pipe to red heat didn’t result in the solenoid opening. The hot air inside the boiler wasn’t sufficient to heat the thermocouple to the point at which it would flipt the comparator. Used the solenoid’s override lever to let a little water into the boiler.The tubes were red hot/still being heated so some of that water boiled almost instantaneous into steam, and I ended up with a slug of slightly warm water being spat out of the exit of boiler , followed by a little steam, which soon stopped. Not long afterwards there was a smaller slug of water ejected,followed by more steam, which again stopped almost as soon as it started. After a while no more slugs of water were pushed out but a small wisp of steam exited the boiler. That stopped after about a minute and when it did the tubes once again began to glow red. No more water left in boiler. At no point did I hear the click of the water valve opening. Connected multimeter to the thermocouple to get indication of its temperature, and discovered that even though there was steam being produced the thermocouple’s temperature wasn’t exceeding about 99 degC. So no surprise valve wasn’t being opened. Set the temperature threshold to a far lower point aprox 80, and tested from dry again. It wouldn’t open the valve on its own initially, but once it was fully flooded the valve would open and shut as expected, and the escaping water was of approximately the right temperature

Seems on its own with such a small boiler the low flow rate and temperature of steam wasn’t enough to heat the thermocouple up to switching temperature, before the boiler ran dry- the slugs of water probably didn’t help either as that would rob heat from the thermocouple.

As that wasn’t working looked for different solution and put the regulation of steam temperature on hold.

Self regulating monotube(partial success)

As the boiler kept running dry I decided it might work to place a water sensor in the middle of the heating tube.  If water level is before this point add more water, if water level after this point stop adding water. should ensure there was some water in the boiler. After quite a bit of faff getting a reliable sensor. I eventually fashioned a capacitive water sensor which seems to be reliable. This sensor has a variable frequency output. Low frequency output if there’s high capacitance caused by presence of water. High frequency if low capacitance indicating lack of water.

The sensor connects up to a microprocessor, which detects what the sensor’s frequency is. Nothing too complex so microprocessor used was a pic12F.  If the frequency is above a set threshold the uC sets its “low water pin” to high, and its “high water pin to  low”  if the frequency is below a set threshold the uC sets its “low water pin” to low, and its high water pin to high. Two complimentary outputs were implemented because I had a spare pin, it took 3 lines of code, and wasn’t sure if a signal to blocked water entering, or if a signal to add water would be best. Also implemented buttons to raise/lower the threshold value. That happened to be pointless at that time I  hadn’t figured out that  the sensor is highly sensitive to the presence of water- in practice it switches very quickly between high and low frequencies when the water gets to within 1mm of the sensor. Any frequency threshold between max and min would seem to work.

Obtained some 2″ malleable pipe tee,s and various pipe nipples, couplers etc. to form a primite casing for the test boiler. As the boiler tubes were highly likely to get damaged by experimentation, and probably need alteration during testing  I thought it best to make it easy to change them. I fashioned a round plate out some fairly thick steel plate drilled several holes in  and arc welded that onto a male coupler that I cut in half/beveled. I say welded, but as I’ve not practised  my welding much, so it’s almost certainly the probably the flux which is keeping those parts together.  Still, this end plate was then solid enough  to have bulkhead couplers passed through it for compression fittings to screw pipe work onto. yeah compression fittings aren’t brilliant inside boilers but I’m not intending to run at any great pressure nor high temperatures, nor for a long time with this prototype.

Two identical U loops of pipe were then formed to form the heated pipe.  loop one forms the 1st boiler tube the water heater which boils the water. loop two forms the the superheater which is intended to heat up the steam further.  both heated pipe were now connected up to the hot side of the bulkhead coupler, and that was the inside of the boiler completed. Water sensor was plumbed in between the two heated pipe. A bent length of piping was connected to the remaining connection for the superheater to direct steam/hot water in a known direction- if things worked right it would get V hot.

water inlet essentially comprised of in sequence…
hose from garden tap.
souble check valve
Water pressure regulator valve (I might play with at some time)
12v solenoid valve.
reducer valve – ok it’s a ball valve
water heater’s inlet bulkhead connection

wired up the solenoid valve to a FET power transistor controlled by the low water signal from the uC. uC wired up the water sensor. connected electrical power, and was happy to hear the solenoid valve click open, and then before any water exited the boiler it shut the water flow off so quickly the hose jumped with the water hammer. needed to close the ball valve to reduce peak flow rate! Used the manual override lever on the solenoid valve to open it. Lots of water quickly spurted out the steam exit pipe. shut the ball valve down to just before it was shut, and there was barely a trickle of water out of the steam pipe. Solenoid manual override returned to normal, and water flow stopped. Ready to see if it would work.

Got my blow torch out and applied heat as best as I could to the boiler tubes.  Nothing spectacular, just a little water being slowly pushed out the boiler tubes as the water expanded. Then a few slugs of water followed by steam. Pretty quickly just steam. Was wondering if solenoid valve was gonna open, and it did. was a little spitting of water when that happened but overall it worked. The spitting of water is probably due to highly localised heating on the tubes, and some water passing the water sensor into the superheater, and it doesn’t seem to be making superheated steam. Expect steam temperature would be increased by bigger burner, and increasing the length/number of turns of the superheater. That should also reduce the spitting of water problem, as would a better flow restrictor valve
Following video was shot about 5 minutes after 1st applying heat and checking things seemed fine.

Overall for a first heat of a new boiler idea I’m very happy with it.

I’ve hardly touched the the boiler since February, but what I have been doing is “support work” for it. I’ve moved microprocessor to arduino as it seems to have much better c++ support. Martin Nawrath’s Arduino Frequency Counter Library really sped up porting. I also like the ease of talking to an arduino from a computer over USB. Be nice to monitor the frequency the water sensor is outputting, as well as time stamping when the changes happen.I’d only ever dabbled with C previously so of course needed to relearn it all.

Leave a comment