I’ve got two fermenters, a 14g and a 7g running on two separate Spark BrewPis. The 14g works beautifully and is maintaining a +/- 0.1F beer temp on glycol. The 7g, however, is running +1.5/-2F swings. Elco had suggested I wait until I upgraded to the newest software before getting too concerned, but I’ve upgraded and it just seems to be performing very strange.
A few other items to note:
Room temp is a little over 90F so I can ferment a saison.
Glycol temp is 60F because of the beer fermenting @ 65*F in the other fermenter.
Only beer and room temperature sensors are installed.
Beer sensor is in the thermowell of the conical.
The weirdest part of this is that it hits right where I think would make sense, but then keeps going several more cycles until its quite a bit colder than ideal. I read a few of the options and “tweaked” them, which seemed to improve things, but I’m just guessing at this point. I searched for anything that could really help me understand these settings, but I’m not sure I understand. Any help from the community is greatly appreciated!
Full ferment graph:
Detail graph (it’s still hard to see the cooling on because they are for very short bursts):
{
"kind": "Control",
"pids": [
{
"kind": "Pid",
"name": "heater1",
"enabled": true,
"setPoint": {
"kind": "SetPointSimple",
"name": "fridgeset",
"value": 33.9922
},
"inputSensor": {
"kind": "TempSensorFallback",
"onBackupSensor": true,
"sensor": {
"kind": "TempSensor",
"name": "beer1",
"sensor": {
"kind": "OneWireTempSensor",
"value": 32.1875,
"connected": true,
"address": "2809FF35070000F2",
"calibrationOffset": 0
}
}
},
"inputError": -1.8086,
"Kp": 10,
"Ti": 600,
"Td": 60,
"p": 18.0859,
"i": 0,
"d": 0.0391,
"actuatorIsNegative": false,
"outputActuator": {
"kind": "ActuatorPwm",
"value": 18.125,
"period": 4,
"minVal": 0,
"maxVal": 100,
"target": {
"kind": "ActuatorMutexDriver",
"mutexGroup": {
"kind": "ActuatorMutexGroup",
"deadTime": 1800000,
"waitTime": 0
},
"target": {
"kind": "ActuatorNop",
"state": false
}
}
}
},
{
"kind": "Pid",
"name": "heater2",
"enabled": true,
"setPoint": {
"kind": "SetPointSimple",
"name": "beer2set",
"value": null
},
"inputSensor": {
"kind": "TempSensor",
"name": "beer2",
"sensor": {
"kind": "OneWireTempSensor",
"value": 33.625,
"connected": true,
"address": "28A877350700006C",
"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": 33.9922
},
"inputSensor": {
"kind": "TempSensorFallback",
"onBackupSensor": true,
"sensor": {
"kind": "TempSensor",
"name": "beer1",
"sensor": {
"kind": "OneWireTempSensor",
"value": 32.1875,
"connected": true,
"address": "2809FF35070000F2",
"calibrationOffset": 0
}
}
},
"inputError": -1.8086,
"Kp": 10,
"Ti": 1800,
"Td": 200,
"p": 18.0859,
"i": 0,
"d": 0.0391,
"actuatorIsNegative": true,
"outputActuator": {
"kind": "ActuatorPwm",
"value": 0,
"period": 60,
"minVal": 0,
"maxVal": 100,
"target": {
"kind": "ActuatorMutexDriver",
"mutexGroup": {
"kind": "ActuatorMutexGroup",
"deadTime": 1800000,
"waitTime": 0
},
"target": {
"kind": "ActuatorTimeLimited",
"minOnTime": 5,
"minOffTime": 120,
"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": 32.2227
},
"inputSensor": {
"kind": "TempSensor",
"name": "beer1",
"sensor": {
"kind": "OneWireTempSensor",
"value": 32.1875,
"connected": true,
"address": "2809FF35070000F2",
"calibrationOffset": 0
}
},
"inputError": -0.0391,
"Kp": 2,
"Ti": 14400,
"Td": 0,
"p": 0.0781,
"i": 1.6914,
"d": 0,
"actuatorIsNegative": false,
"outputActuator": {
"kind": "ActuatorSetPoint",
"targetSetPoint": {
"kind": "SetPointSimple",
"name": "fridgeset",
"value": 33.9922
},
"targetSensor": {
"kind": "TempSensor",
"name": "fridge",
"sensor": {
"kind": "TempSensorDisconnected",
"value": null,
"connected": false
}
},
"referenceSetPoint": {
"kind": "SetPointSimple",
"name": "beer1set",
"value": 32.2227
},
"output": 1.7695,
"achieved": null,
"minimum": -10,
"maximum": 10
}
}
]
}