Edge release 2019/11/12

Because your beer is around the setpoint, there is about as much reason for cooling as for heating.

Your mutex is only 30m and your cooling PWM period is probably something similar, so while they are waiting, the heater can trigger. They alternate and keep each other in balance.

Try increasing the mutex to 1 or 2 hours and I expect the cyclic behavior will go away.

Thanks, I’ll try that (the cooling pwm period is 10m, btw). I’m still a bit surprised by the difference in fluctuation lately though. It used to look like this; Tuning of brewblox FTSS setup

Do you have a minimum cool time? Can you export your full blocks? With the mutex at 3x pwm, I wouldn’t expect this.

From your first graph, I do see a delay in process response after heating. The overshoot when heating is what triggers the cooling later.

I think your heating and cooling integrator keep each other at non zero. They grow too quickly. The process takes 2 hours to respond to actuators, so Ti should be around 6h for both.

I think the minimum on is 10s, but now I’m not able to check until I get home in the afternoon. I can export full blocks then as well. Ti is 2h. I think I followed the suggestions in the other thread pretty much to the letter.

Here’s the graph with a 2h mutex since about 8:30:

The minimum cooler on time is indeed 10s, and here’s the block export: brewblox-blocks-spark-one.json (4.9 KB)

I checked your settings.
I would change these things:

  • your filtering for the beer setpoint is pretty high. This averaging causes a delay. The delayed PID input causes overheating and overcooling. Reduce it to 1 min. The beer temp is stable enough without filtering.
  • increase heater Kp to 100. The heater is pretty weak so it can heat full power if more than a degree off. Faster heating results in less integral buildup time.
  • increase Ti to 6h for both. It should be longer than your process time constant.

I think the filter is the main cause here.

In graph, I would display pwm values instead of pin state. The state doesn’t make much sense with a 10s period and a 5s sample interval.

Thank you Elco! I’ll make the changes as soon as I get a chance.

For reference, here are my settings.

Heat PWM period 10s, Cool PWM period 10m.
10s minimum ON time for the cool pump, 1h idle time in the mutex.

This is with the original SS brewtech 70W heat pad. But I did give my fermenter some extra insulation between the black neoprene and the stainless.

This topic was automatically closed 10 days after the last reply. New replies are no longer allowed.