I have developed a computer controlled BBQ smoker, using a raspberry pi and car throttle valve damper, driven by a stepper motor, the temperature pick up is a thermocouple.
I have a python PID class to control the system and am struggling to tune it. When the set point temperature is reached (rising temp) the damper closes as expected, then re-opens once the temperature passes the set point (falling) but by this point the charcoal fire has gone out. I have tried different kP values to get a steady oscillation about the set point but I am plagued with it fully undershooting, ie going out. I need the damper to start re-opening as soon as the temperature starts falling, not once the system is in falling overshoot. I feel it is something to do with kI and kD. Please can I have some advice before spanking another kilo of charcoal! Many thanks people.