HLT Control with strike, mashout, sparge

Describe your system and processes, and post your config file.
Post Reply
dak0415
Posts: 1
Joined: Wed Oct 29, 2008 11:41 am

HLT Control with strike, mashout, sparge

Post by dak0415 »

Ok, lets take this one(two) step(s) further.
In the brewing scenario, we want to heat up our HLT as fast as possible, then fall into a maintenance state, so -
Heater at 100% until temp is 170deg (strike temp) then maintain at 170 with 25% duty cycle (PID?) until user confirms to the next step.
We manually pump strike water to the mash tun, then confirm next step which is-
Heater at 100% until temp is 205deg (for mash out) then maintain at 205deg at 25% duty cycle until user confirms next step.
We manually pump 205deg water to the mash tun, then confirm next step which is-
Change setpoint to 170deg (for sparging) holding until user confirms process complete. Or optionally a float switch indicates that the water level in the HLT is at risk of exposing the heater element.

I will discuss RIMS mash temp control in the next post.
User avatar
ECC
Posts: 676
Joined: Fri Sep 12, 2008 12:29 pm
Bot?: No
Contact:

Re: HLT Control with strike, mashout, sparge

Post by ECC »

Hi dak0415. Thanks for the question. The sequence that you are describing has 3 unique states, strike, mashout, and sparge.

You mention that you'd use a lesser duty cycle to maintain temperature, but in this case I believe either PID or differential control would be better. The place where these control methods fall apart is when you get around the boiling point, since it moves around based on atmospheric conditions, etc. But as long as you keep it below that (205 is close), they should work fine.

There are 2 approaches that we could take. We could put all states (strike, mashout, and sparge) in one Process, daisy chained together, or create 3 unique Processes, one state each.

The first approach would look like this. I use the User inputs, called Wins (web inputs), to transition to the next state. These are just buttons on the main control page. I labeled them "Continue" and "Stop" to identify their function. At any point the user can also pause the process (to do the manual pumps, whatever) if you need the outputs (heat) to be turned off.

Code: Select all

Process0:  HLT Sequence
   State0: Strike at 170
    Out0: HLT Heat => PID controlled at 170
    Exit Cond: Goto State1 when Win0:Continue is ON
    Exit Cond: Goto Proc0_OFF when Win1:Stop is ON

   State1: Mashout at 205
    Out0: HLT Heat => PID controlled at 205
    Exit Cond: Goto State2 when Win0:Continue is ON
    Exit Cond: Goto Proc0_OFF when Win1:Stop is ON

   State2: Sparge at 170
    Out0: HLT Heat => PID controlled at 170
    Exit Cond: Goto Proc0_OFF when Din0:WaterLevel =0
    Exit Cond: Goto Proc0_OFF when Win1:Stop is ON
And the second approach is to use separate processes for each setpoint (you can have upto 4 processes). This approach is a little more manual, it sounds like that is desired. You would basically use the Process enable/disable controls on the sidebar to turn on/off control. Since Sparge and Strike are the same setpoint, they can be shared.

Code: Select all

Process0:  HLT at 170
   State0: Strike/Sparge
    Out0: HLT Heat => PID controlled at 170
    Exit Cond: Goto Proc0_OFF when Din0:WaterLevel =0
    Exit Cond: Goto Proc0_OFF process diabled

Process1:  HLT at 205
   State0: Mashout
    Out0: HLT Heat => PID controlled at 205
    Exit Cond: Goto Proc1_OFF when Din0:WaterLevel =0
    Exit Cond: Goto Proc1_OFF process diabled
And if you're running short on available Processes, an even more manual approach would be to simply update the temperature setpoint for each use.
Post Reply