New BrewPi Spark that I’m testing (flashed 0.4.3 this morning). I have an RPi 3 with a Spark Photon from BrewPi hacked into a wine cooler to directly control the compressor and a ferm wrap for heating. Cooling mode worked well (brought 100F water in a water bottle down to 65F pretty quickly… ). During manual testing mode with the pre-installed system the heating side worked fine, but now the BrewPi Spark isn’t calling for heat. Any comments on my settings to initiate heating mode? I brew saisons pretty frequently so heating mode is pretty critical.

Beer-to-Fridge proportional gain (Kp)Actuatour output in % = Kp * input error

2

Send to Photon

Beer-to-Fridge integral time constant (Ti)The input error is slowly accumulated in the integrator. A steady state error that is not corrected by Kp, is corrected by the integral. The integral part grows by the proportional part every Ti seconds. If you let it grow to quickly, this can create overshoot. Be careful.

7200

Send to Photon

Beer-to-Fridge derivative time constant (Td)The derivative is the temperature difference per second. The derivative part of PID is -Kp * Td * dT/dt. This can be interpreted as looking Td seconds ahead. For very slow processes (like fermentation), it is recommended to disable the derivative gain by setting it to zero. The limited sensor resolution will make it hard to distinguish bit flips from rises in temperature.

1200

Send to Photon

Maximum difference between fridge and beer set point (= output of PID)The output of this PID is added to the beer set point to automatically set the fridge set point. You can define the maximum difference between the beer temperature setting and fridge temperature setting here.

18

Send to Photon

Beer-to-Fridge Input filter delay timeInput to the PID is filtered. This causes a delay, because of the moving average. More delay means more filtering.

Send to Photon

Beer-to-Fridge Derivative filter delay timeInput to the differential gain is filtered, to prevent bit flips from causing a high derivative. This causes a delay, because of the moving average. More delay means more filtering.

Send to Photon

Cooler proportional gain (Kp)Actuatour output in % = Kp * input error

10

Send to Photon

Cooler integral time constant (Ti)The input error is slowly accumulated in the integrator. A steady state error that is not corrected by Kp, is corrected by the integral. The integral part grows by the proportional part every Ti seconds. If you let it grow to quickly, this can create overshoot. Be careful.

1800

Send to Photon

Cooler derivative time constant (Td)The derivative is the temperature difference per second. The derivative part of PID is -Kp * Td * dT/dt. This can be interpreted as looking Td seconds ahead. For very slow processes (like fermentation), it is recommended to disable the derivative gain by setting it to zero. The limited sensor resolution will make it hard to distinguish bit flips from rises in temperature.

200

Send to Photon

Cooler PWM period (seconds)Each PWM cycle takes this many seconds. A value lower than 4 seconds is not recommended.

1200

Send to Photon

Cooler minimum OFF timeA fridge compressor needs to be OFF for a minimum time to protect it from building up pressure and overheating.

600

Send to Photon

Cooler minimum ON timeA minimum ON time is also recommended, because many short cycles limit the compressor lifespan.

300

Send to Photon

Cooler Input filter delay timeInput to the PID is filtered. This causes a delay, because of the moving average. More delay means more filtering.

Send to Photon

Cooler Derivative filter delay timeInput to the differential gain is filtered, to prevent bit flips from causing a high derivative. This causes a delay, because of the moving average. More delay means more filtering.

Send to Photon

Heater 1 proportional gain (Kp)Actuatour output in % = Kp * input error

10

Send to Photon

Heater 1 integral time constant (Ti)The input error is slowly accumulated in the integrator. A steady state error that is not corrected by Kp, is corrected by the integral. The integral part grows by the proportional part every Ti seconds. If you let it grow to quickly, this can create overshoot. Be careful.

600

Send to Photon

Heater 1 derivative time constant (Td)The derivative is the temperature difference per second. The derivative part of PID is -Kp * Td * dT/dt. This can be interpreted as looking Td seconds ahead. For very slow processes (like fermentation), it is recommended to disable the derivative gain by setting it to zero. The limited sensor resolution will make it hard to distinguish bit flips from rises in temperature.

60

Send to Photon

Heater 1 PWM period (seconds)Each PWM cycle takes this many seconds. A value lower than 4 seconds is not recommended.

4

Send to Photon

Heater 1 Input filter delay timeInput to the PID is filtered. This causes a delay, because of the moving average. More delay means more filtering.

Send to Photon

Heater 1 Derivative filter delay timeInput to the differential gain is filtered, to prevent bit flips from causing a high derivative. This causes a delay, because of the moving average. More delay means more filtering.

Send to Photon

Heater 2 proportional gain (Kp)Actuatour output in % = Kp * input error

10

Send to Photon

Heater 2 integral time constant (Ti)The input error is slowly accumulated in the integrator. A steady state error that is not corrected by Kp, is corrected by the integral. The integral part grows by the proportional part every Ti seconds. If you let it grow to quickly, this can create overshoot. Be careful.

600

Send to Photon

Heater 2 derivative time constant (Td)The derivative is the temperature difference per second. The derivative part of PID is -Kp * Td * dT/dt. This can be interpreted as looking Td seconds ahead. For very slow processes (like fermentation), it is recommended to disable the derivative gain by setting it to zero. The limited sensor resolution will make it hard to distinguish bit flips from rises in temperature.

60

Send to Photon

Heater 2 PWM period (seconds)Each PWM cycle takes this many seconds. A value lower than 4 seconds is not recommended.

4

Send to Photon

Heater 2 Input filter delay timeInput to the PID is filtered. This causes a delay, because of the moving average. More delay means more filtering.

Send to Photon

Heater 2 Derivative filter delay timeInput to the differential gain is filtered, to prevent bit flips from causing a high derivative. This causes a delay, because of the moving average. More delay means more filtering.

Send to Photon

Dead time when switching between actuatorsOnly one can be active at each moment. The dead time is the minimum to wait when switching between one actuator and another. This prevents quickly alternating between heating to cooling.