Brewpi randomly setting temp to 3F, 5F and 7F


#1

Hey, @Elco. I just finished my first brew with version 0.5.5, and I noticed something strange happening with the Fridge Setting. On occasion the fridge setpoint would drop really low… into single digit F! This is definitely strange for a number of reasons, but especially considering I had max temp difference set to 10F. Also, not sure if this is related but I would notice that sometimes when I’d log in my settings would be blank and I’d have to hit “Receive from Script” to bring them back.


#2

It sounds like a communication error more than an actual setting being wrong.

I recommend upgrading to 0.5.9.
Also decrease Td and set filtering for derivative to maximum to get a smoother fridge setpoint.


#3

Made the upgrade to 0.5.9 last night and will see how it goes.

Also, thanks for the loop tuning tips!


#4

Hey @Elco, I ran a test run with the new setting and the new software update (0.5.9) and noticed some overshoot when cooling… any additional tips?

  "kind": "Control",
  "pids": [
    {
      "kind": "Pid",
      "name": "heater1pid",
      "enabled": true,
      "input": {
        "kind": "SensorSetPointPair",
        "sensor": {
          "kind": "TempSensorFallback",
          "onBackupSensor": false,
          "sensor": {
            "kind": "TempSensorDelegate",
            "name": "fridge",
            "delegate": {
              "kind": "OneWireTempSensor",
              "value": 18.0625,
              "connected": true,
              "address": "280B5CC10700009E",
              "settings.calibrationOffset": 0
            }
          }
        },
        "setPoint": {
          "kind": "SetPointSimple",
          "name": "fridgeset",
          "value": 18.0117
        }
      },
      "output": {
        "kind": "ActuatorPwm",
        "dutySetting": 26.3633,
        "period": 4,
        "minVal": 0,
        "maxVal": 100,
        "target": {
          "kind": "ActuatorMutexDriver",
          "mutexGroup": {
            "kind": "ActuatorMutexGroup",
            "deadTime": 1800000,
            "waitTime": 1797973
          },
          "target": {
            "kind": "ActuatorDigitalDelegate",
            "name": "heater1",
            "delegate": {
              "state": 0,
              "kind": "ActuatorPin",
              "pin": 16,
              "invert": false
            }
          }
        }
      },
      "inputError": 0.0352,
      "Kp": 10,
      "Ti": 600,
      "Td": 100,
      "p": -0.3516,
      "i": 27.6914,
      "d": -0.9766,
      "actuatorIsNegative": false
    },
    {
      "kind": "Pid",
      "name": "heater2pid",
      "enabled": true,
      "input": {
        "kind": "SensorSetPointPair",
        "sensor": {
          "kind": "TempSensorDelegate",
          "name": "beer2",
          "delegate": {
            "kind": "TempSensorDisconnected",
            "value": null,
            "connected": false
          }
        },
        "setPoint": {
          "kind": "SetPointSimple",
          "name": "beer2set",
          "value": null
        }
      },
      "output": {
        "kind": "ActuatorPwm",
        "dutySetting": 0,
        "period": 4,
        "minVal": 0,
        "maxVal": 100,
        "target": {
          "kind": "ActuatorMutexDriver",
          "mutexGroup": {
            "kind": "ActuatorMutexGroup",
            "deadTime": 1800000,
            "waitTime": 1797970
          },
          "target": {
            "kind": "ActuatorDigitalDelegate",
            "name": "heater2",
            "delegate": {
              "kind": "ActuatorNop",
              "state": 0
            }
          }
        }
      },
      "inputError": null,
      "Kp": 30,
      "Ti": 1800,
      "Td": 60,
      "p": 0,
      "i": 0,
      "d": 0,
      "actuatorIsNegative": false
    },
    {
      "kind": "Pid",
      "name": "coolerpid",
      "enabled": true,
      "input": {
        "kind": "SensorSetPointPair",
        "sensor": {
          "kind": "TempSensorFallback",
          "onBackupSensor": false,
          "sensor": {
            "kind": "TempSensorDelegate",
            "name": "fridge",
            "delegate": {
              "kind": "OneWireTempSensor",
              "value": 18.0625,
              "connected": true,
              "address": "280B5CC10700009E",
              "settings.calibrationOffset": 0
            }
          }
        },
        "setPoint": {
          "kind": "SetPointSimple",
          "name": "fridgeset",
          "value": 18.0117
        }
      },
      "output": {
        "kind": "ActuatorPwm",
        "dutySetting": 5.0898,
        "period": 2400,
        "minVal": 0,
        "maxVal": 100,
        "target": {
          "kind": "ActuatorMutexDriver",
          "mutexGroup": {
            "kind": "ActuatorMutexGroup",
            "deadTime": 1800000,
            "waitTime": 1797966
          },
          "target": {
            "kind": "ActuatorTimeLimited",
            "minOnTime": 180,
            "minOffTime": 600,
            "maxOnTime": 65535,
            "state": 0,
            "target": {
              "kind": "ActuatorDigitalDelegate",
              "name": "cooler",
              "delegate": {
                "state": 0,
                "kind": "ActuatorPin",
                "pin": 17,
                "invert": false
              }
            }
          }
        }
      },
      "inputError": -0.7695,
      "Kp": 10,
      "Ti": 7200,
      "Td": 20,
      "p": 7.6953,
      "i": -12.3164,
      "d": -0.4688,
      "actuatorIsNegative": true
    },
    {
      "kind": "Pid",
      "name": "beer2fridgepid",
      "enabled": true,
      "input": {
        "kind": "SensorSetPointPair",
        "sensor": {
          "kind": "TempSensorDelegate",
          "name": "beer1",
          "delegate": {
            "kind": "OneWireTempSensor",
            "value": 15.25,
            "connected": true,
            "address": "288269C00700003B",
            "settings.calibrationOffset": 0
          }
        },
        "setPoint": {
          "kind": "SetPointSimple",
          "name": "beer1set",
          "value": 15.5547
        }
      },
      "output": {
        "kind": "ActuatorOffset",
        "target": {
          "kind": "SensorSetPointPair",
          "sensor": {
            "kind": "TempSensorFallback",
            "onBackupSensor": false,
            "sensor": {
              "kind": "TempSensorDelegate",
              "name": "fridge",
              "delegate": {
                "kind": "OneWireTempSensor",
                "value": 18.0625,
                "connected": true,
                "address": "280B5CC10700009E",
                "settings.calibrationOffset": 0
              }
            }
          },
          "setPoint": {
            "kind": "SetPointSimple",
            "name": "fridgeset",
            "value": 18.0117
          }
        },
        "reference": {
          "kind": "SensorSetPointPair",
          "sensor": {
            "kind": "TempSensorDelegate",
            "name": "beer1",
            "delegate": {
              "kind": "OneWireTempSensor",
              "value": 15.25,
              "connected": true,
              "address": "288269C00700003B",
              "settings.calibrationOffset": 0
            }
          },
          "setPoint": {
            "kind": "SetPointSimple",
            "name": "beer1set",
            "value": 15.5547
          }
        },
        "useReferenceValue": false,
        "setting": 2.457,
        "achieved": 2.5078,
        "minimum": -4.4453,
        "maximum": 4.4453
      },
      "inputError": -0.2891,
      "Kp": 10,
      "Ti": 14400,
      "Td": 0,
      "p": 2.8906,
      "i": -0.4336,
      "d": 0,
      "actuatorIsNegative": false
    }
  ]
}