Tuning fridge parameters

Hi,

I’m seeking some assistance in tuning my fridge parameters. When heating, the beer stays within +/- 0.12C of set temp, however when cooling, the temperature fluctuates more before stabilising. It feels like the fridge stays on for longer than it should… This can be seen in the below graph where I am cold crashing.

Zoom on Fluctuation:

My settings are currently:
{ "kind": "Control", "pids": [ { "kind": "Pid", "name": "heater1", "enabled": true, "setPoint": { "kind": "SetPointSimple", "name": "fridgeset", "value": 17.6328 }, "inputSensor": { "kind": "TempSensorFallback", "onBackupSensor": false, "sensor": { "kind": "TempSensor", "name": "fridge", "sensor": { "kind": "OneWireTempSensor", "value": 17.9375, "connected": true, "address": "28986D3507000040", "calibrationOffset": 0 } } }, "inputError": 0.9336, "Kp": 10, "Ti": 1200, "Td": 60, "p": -9.3359, "i": 0, "d": 0.2734, "actuatorIsNegative": false, "outputActuator": { "kind": "ActuatorPwm", "value": 0, "period": 4, "minVal": 0, "maxVal": 100, "target": { "kind": "ActuatorMutexDriver", "mutexGroup": { "kind": "ActuatorMutexGroup", "deadTime": 1800000, "waitTime": 0 }, "target": { "kind": "ActuatorPin", "state": false, "pin": 16, "invert": false } } } }, { "kind": "Pid", "name": "heater2", "enabled": true, "setPoint": { "kind": "SetPointSimple", "name": "beer2set", "value": null }, "inputSensor": { "kind": "TempSensor", "name": "beer2", "sensor": { "kind": "OneWireTempSensor", "value": 15, "connected": true, "address": "287886360700004B", "calibrationOffset": 0 } }, "inputError": null, "Kp": 10, "Ti": 600, "Td": 60, "p": 0, "i": 0, "d": 0, "actuatorIsNegative": false, "outputActuator": { "kind": "ActuatorPwm", "value": 0, "period": 4, "minVal": 0, "maxVal": 100, "target": { "kind": "ActuatorMutexDriver", "mutexGroup": { "kind": "ActuatorMutexGroup", "deadTime": 1800000, "waitTime": 0 }, "target": { "kind": "ActuatorNop", "state": false } } } }, { "kind": "Pid", "name": "cooler", "enabled": true, "setPoint": { "kind": "SetPointSimple", "name": "fridgeset", "value": 17.6328 }, "inputSensor": { "kind": "TempSensorFallback", "onBackupSensor": false, "sensor": { "kind": "TempSensor", "name": "fridge", "sensor": { "kind": "OneWireTempSensor", "value": 17.9375, "connected": true, "address": "28986D3507000040", "calibrationOffset": 0 } } }, "inputError": 0.9336, "Kp": 10, "Ti": 1800, "Td": 0, "p": -9.3359, "i": 0, "d": 0, "actuatorIsNegative": true, "outputActuator": { "kind": "ActuatorPwm", "value": 9.3359, "period": 1200, "minVal": 0, "maxVal": 100, "target": { "kind": "ActuatorMutexDriver", "mutexGroup": { "kind": "ActuatorMutexGroup", "deadTime": 1800000, "waitTime": 0 }, "target": { "kind": "ActuatorTimeLimited", "minOnTime": 120, "minOffTime": 180, "maxOnTime": 65535, "state": false, "target": { "kind": "ActuatorPin", "state": false, "pin": 17, "invert": false } } } } }, { "kind": "Pid", "name": "beer2fridge", "enabled": true, "setPoint": { "kind": "SetPointSimple", "name": "beer1set", "value": 18.5 }, "inputSensor": { "kind": "TempSensor", "name": "beer1", "sensor": { "kind": "OneWireTempSensor", "value": 18.625, "connected": true, "address": "282E6C3507000038", "calibrationOffset": 0 } }, "inputError": 0.4336, "Kp": 2, "Ti": 7200, "Td": 0, "p": -0.8672, "i": 0, "d": 0, "actuatorIsNegative": false, "outputActuator": { "kind": "ActuatorSetPoint", "targetSetPoint": { "kind": "SetPointSimple", "name": "fridgeset", "value": 17.6328 }, "targetSensor": { "kind": "TempSensor", "name": "fridge", "sensor": { "kind": "OneWireTempSensor", "value": 17.9375, "connected": true, "address": "28986D3507000040", "calibrationOffset": 0 } }, "referenceSetPoint": { "kind": "SetPointSimple", "name": "beer1set", "value": 18.5 }, "output": -0.8672, "achieved": -0.5625, "minimum": -10, "maximum": 10 } } ] }

Any suggestions?

Thanks,

Simon

I have standard settings and see a similar overshoot when I cold crash, although, if I remember correctly, not quite a deep as in your case. Unfortunately my RPi SD card got corrupted recently so I have no data. I will check when I do my next cold crash in about 18 days

Stefan

Thanks @Noittinghill - it’s reassuring that this might be just how it functions when cold crashing.

Possibly cold crashing was a bad example. I do get similar temp swings (possibly not as bad overshoot) when using the fridge cooling to maintain fermentation temp during summer, so I was trying to get on the front foot before summer hits. Do you see similar?

I thought there was a guide to tuning the Kp/Ti/Td values, but I couldn’t find it when I searched.