# Brewing control?

@WBM,
Did you have any luck with the variables I asked about? I’ve been playing around with the frontend some more and I’m getting pretty excited.

Thanks.

That is looking pretty sweet - I look forward to hearing about how it goes.

The website I took the formula from is here http://www.vandelogt.nl/uk_regelen_pid.php#PID3

There is a guide as to how to tune the calculations - see paragraph 3.

It is pretty difficult to follow unfortunately and requires some maths. I used the spreadsheet attached to help - I believe I would have pasted in the log from smartthings.

Midway down the linked page is come code - in this it defines k0 and k1 as this:

Kc.Ts k0 = ----- (for I-term) Ti Td k1 = Kc . – (for D-term) Ts

This means you need to work out Kc, Ts, Ti and Td to know all three of k0, k1 and kc.

I am assuming that the “.” in the calculations was also a reference to multiplication.

As for what Kc, Ts, Ti and Td mean:

Kc: The controller gain Ti: Time-constant for the Integral Gain Td: Time-constant for the Derivative Gain Ts: The sample period [seconds]

I think that smartthings has a limit as to how often the temperature can be updated and checked so I imagine that I set Ts to match this period in seconds (e.g. 60 seconds).

Dead-Time (TD): the dead-time of the system is the time delay between the initial response and a 10 % increase in the process variable (which is the HLT temperature in our case). Unity is given in seconds.

I then think that I plugged in the various numbers to work out an approximate gradient for the graph which then meant I could use that in para 3.3 to get the final numbers.

Sorry this is probably a lot of information to digest. If you can’t follow the link, let me know and I’ll try and decipher exactly what I did.

(Attachment temp pid tune.xlsx is missing)

Thank you! I’ll take a look at this and see if I have any questions. This should get me started for now as I tinker along with the process.

FYI…I just noticed that it says the attachment is missing. Can you try uploading again?

So I decided to create my own code using webcore until I figure out the pid smartapp. I also became concerned I wouldn’t be able to use it since I can’t change the variables in the new app. My test run with water went well. It’s still a work in progress. I hope to do a real brew in a few days.