Ahh, k so basically an i/o board that is easily integrated with a pc. Most controllers I have seen are PID. Sounds like you've got lots of work ahead hehe (fun project btw).
Shouldn't take long at all.
I just ordered the McMasterCarr parts, btw.
The step response is probably a good place to begin, and hopefully you won't have to get terribly complicated, although to hit your mashes without overshoot will be interesting because your amount of grain will usually be different.
I don't think there is much system inertia. I don't think overshoot will be an issue. It will be interesting to see. Hopefully I can just open the valve and watch the temp. When the temp gets to the setpoint, shut the valve.
Unlike other systems, the thermal capacitance of the heating components in the mash is just about zero. I guess we will see.
Here is an email I sent a guy on this topic.
So here is my attempt at mash boiler thermodynamics. Be kind... I am really rusty with my steam calcs.
My data source is http://www.chesterton.com/interactive/tables/steam/
Water and steam at 1atm, 212F. The liquid has an enthalpy of 180 btu/lb and the steam portion has energy of 1150 btu/lb
Water and steam at 25 PSIA (10 PSI), the temp will be 240F. The liquid has an enthalpy of 208 btu/lb and the steam portion is 1160 btu/lb
Straight liquid at 126F at 2PSI has an enthalpy of 94 btu per pound. Straight liquid at 170F at 6 psia has 138 btu per pound. For now we will ignore the energy due to pressure because water is nearly incompressible and that energy change is near nothing.
So to heat water (our mash) from 126 to 170F takes 138-94 = 44 btu per pound. Which makes sense because the temp spread is 44F and water has a specific heat of 1btu/lb.
Lets say we are brewing a beer that uses 10 pounds of grains. Using this page http://www.rackers.org/calcs.shtml
and a water ratio of 1.25 q/lb, it will take 3.93 gallons of volume. Lets say that is all water at 8.33 pounds per gallon, we'd have 32.7 pounds of "water". In reality, it will be both lighter than that and have a lower heat capacity. But using these numbers, the total energy to raise our mash from 126 to 170 would be 32.7 x 44 btu = 1440 btu.
If we were direct heating, a 4.5KW element puts out 15,354 btu/hour or 256 btu/minute. Our water weighs 32.7 pounds so we would get 256/32.7 = 7.8F per minute. That is a pretty good heating rate as far as these systems go. Most are 3F or less per minute.
Now cooling steam from 240F to water at 170F will release 1160-138 = 1022 btu/lb. We need 1440 btu, so that is 1440/1022 = 1.4 pounds of steam = 0.17 gallons = 0.676 quarts. A little over 2 cups of water. Pretty incredible, isn't it !
Now how much energy is stored in the corny ? Assume we have 10L of water (22 pounds) and 9L of steam.
First the water part. When the valve is opened, the pressure will drop to 1 atm and any water over 212F will boil away as steam. And all that will be left is hot water at 212F. Neglecting the change in mass, we go from hot water at 240F to 212F, so that is 28btu/lb x 22 pounds = 616 btu.
Now the steam part. We have 9 L of steam at 16.31 ft^ per pound. 16.31 ft^3 x 1728 in^3/ft^3 /61 in^3/litre = 462 litres per lb. 9L/462L/lb = 1.94 x 10e-2 pounds. That steam has an energy of 1160 btu/lb so 1162 btu/lb x 1.94 x10e-2 lbs = 22.6 btu. Not nearly as much as the hot water because there is little mass.
The boiler energy storage will best work on the principle of heating the water up to a temperature higher than boiling at atmospheric pressure. Like 240F at 25psia. Then when the valve is opened, the pressure drops in the boiler and the water boils, making steam. Just like if you open the radiator cap on a hot car engine.
That is much different than a pressure cooker principle, where one is just capturing what the stove is boiling off as it boils.
Now... if one had the whole corny full of 240F water, then we'd have 19L x 2.2 lbs/litre x 28 btu/lb = 1170 btu stored up ready to go. Almost enough to do our whole batch. We need 1440 btu to go from 128 to 170F.
One could probably release the 1170 btu in about 2 minutes. That would give us a heating power of 1170 btu x 60 minutes/2minutes = 35,100 btu per hour from the hot water alone. 1 KW = 3412 btu/hr so 35100/3412 = 10.2KW. Plus the 4.5 kw element will cut in and add to that, so we have about 14.8 KW of of steam power going to the mash ! That is 50,453 btu/hr or 840 btu per minute. Our mash weighs 32.7 pounds, so the temp rise would be 25.7F per minute !
So a mash temp rise from 128 to 154F would be 32.7lbs x 26 btu = 850 btu, which is almost exacly 1 minute. One would have to throttle the steam flow so that you didn't overshoot on the temp. But on the other hand, you know how many btus is going into the mash from the boiler temp change if you wanted to get fancy ! The computer could measure the temp before and then watch it until it drops the right amount.
Now... how much energy are we putting into heating the water ?
19L x 2.2 = 41.8 pounds. The temp rise will be 240-60F = 180 btu/lb. So 41.8 x 180 = 7524 btu. 1 KWhr is 3412 btu/hr so 2.2 KW Hr of power or about 20 cents worth to get the water ready in the boiler. WIth a 4.5KW element, that should take 7524 btu/256 btu per minute = 29 minutes. If one started the element when the mash started, it would be ready before the first step. Cool ! At the end of the run, one will have 42 pounds of water at 212F for washing ! The energy in that water is 212F - 70F x 42 = 6000 btus. One could do a good job of sterilizing a counter flow chiller by pumping that water through it. I also capture the water that goes through the counterflow chiller in the HLT for washing purposes, so neither of that energy is totally wasted.
So... did I get my math and thermodynamics right ?
What do you think of the boiler operation ?
I like how fast it would raise the temp of the mash ! No more sitting around waiting for the temps to rise. If they are going to rise that quickly, I think I want to manually control the valve and stir at the same time. I think I am going to make a floating thermometer for my mash vessel, with multiple thermistors to get the bed temp at various depths automatically.