I’m using a fresh install of BrewBlox and set up my fridge via the fridge wizard. For now, the beer temperature is directly controlled, while the fridge temperature sensor is not used. Beer temp is perfectly stable, but the fridge temp swings around it a lot and there is quite some unnecessary heating and cooling.
This was the original output of the wizard, but it is harder to tweak and get right.
In our tests, we had very good results with direct beer control, so we made the simpler setup the default.
The indirect control method is still possible, by creating the setup documented there.
With correctly configured PIDs and mutex, it shouldn’t alternate between heating and cooling much. When did you run the wizard?
Can you share some settings, internal PID graphs and perhaps a photo of the real world setup?
I ran the wizard about a week ago. I am very happy with the constant beer temperature, it works great. I just think there’s unnecessary heating and cooling going on which could use some damping.
Here’s a couple of pictures:
My fridge with a tube heater behind the fermentation vessel and a fan which only switches on when the heater is active.
I think both your heater and cooler are a bit too aggressive.
The integral seems fairly steady, so that’s not the problem.
Try to just divide Kp by 2 for both. Maybe the heater a bit more, because it raises the fridge temp pretty quickly. I don’t know what your current value is, but Td should be roughly the expected overshoot duration.
You could also increase Td for both, to decrease the output when it is moving in the right direction quickly.
To block the heater and cooler from alternating, you can increase the lock time in the mutex constraints. Please note that it can now also be set in the individual constraints, which will override the default fallback set in the target mutex block.