I setup a test run of my K-RIMS system yesterday (with water). During the recirculating mash period, I am pumping wort out of the kettle and passed a temp sensor as it enters the mash tun, then when it recirculates back into the kettle, it passes another temp sensor (the usual kettle sensor but I’ve reversed the traditional flow in this case). I am driving the setpoint for the mash with the sensor at the mash-tun inlet, and using the kettle valve sensor as feedback, so that I can have a sense of when the mash temperature has stabilized. I don’t expect the two values to completely converge, because there are expected temperature losses as wort travels through the lines and pump. However, I was surprised that I was unable to get the “mash sensor” to match the setpoint. Which PID settings should I toggle, and in which directions? I’ve attached some images of the settings, the system, and the temperature graph…

Your Kp is very low. Try 50.
I think Ti is better set to 10 min and Td to 3min.

Another option is to use a setup similar to our wizard Herms setup, where one PID sets the setpoint for the upper sensor, based on the lower sensor.

The upper sensor would be instead of the HLT sensor. This will give you an upper limit and dynamic output temperature.

Thanks for the quick reply @Elco! Very helpful. I’ll give the HERMS wizard a try. I like the dynamic output (I am using it on my fermentation fridge and it works great!), but I was concerned it could lead to overheating the top of my grain bed, since it may want to crank the temperature up to 100 in order to bring up the mash temp to 67. Can I impose a limit of, for example 75 or 80 degC on the setpoint?

Yes. The Setpoint Driver supports setting an analog constraint with a max setting.
You’ll need to set the desired max value to degC, as it’s a unit-less field.

Mind blown, wow! I have always wondered where that max of 10 degrees came from. Thanks!

@Aaron_Bandler I used the HERMS wizard for my K-RIMS and removed all unnecessary parts. That default setup also includes a 10 degrees maximum on the heating PID. When the kettle temp is slowly reaching the heating setpoint, that 10 degrees goes down (it is the inverse of the error * Kp). It works really well

Thanks everyone. I did what @Timan_Rebel is describing, and I’ve included the block diagram below. One question: is there unnecessary redundancy with having two different kettle setpoint/PID/PWM chains? The reason I set it up this way is twofold. 1: I also use my kettle without the MT/RIMS setup for smaller BIAB batches, so this chain applies to that. 2: Once I’m done mashing and I am moving to the boil steps, the configuration changes–so shouldn’t the PID settings change as well? Feedback appreciated! I haven’t tested this system yet, but I’m curious of people’s thoughts. Thanks!

I think you can use a single control chain for your BK without changing PID settings, unless you use a drastically different fill level during BIAB.

The PID settings for the BK are based on the physical properties of your kettle and heating element: how much % output should be applied to cause temperature to change by X degrees in Y time.

For the Setpoint Driver, your BK chain is a black box anyway: the driver has its own input (sensor), and output (BK setpoint setting), and tweaks the output until the error in the input goes away.

You can disable the Setpoint Driver to revert to manual control of the BK setpoint.

I do it the way @Bob_Steers describes, by “removing” the top PID chain from the bottom PID chain, and set the desired temperature manually

I created a quick action for it to enable/disable the setpoint driver (by heart I believe I sever the connection, but maybe disabling works as well)