Extending the Controller

There are many ways you can extend our basic design and software. Here’s a few; they’re not necessarily ordered in increasing difficulty:

Build it into a case able to protect it from being dropped or spilled on, and package it with a display window and connectors able to withstand outdoor conditions.

It’s a nuisance to have to have a power cord to run the controller and fan, and you need less than 10 watts to run the entire assembly. If you integrated a Peltier cell into the firebox (which will generate power when one side is hot and the other cold), you could generate the necessary power with nothing but the fire itself.

We noted that the readings from different samples of the same model temperature probe can vary. You could calibrate your specific probe against an accurate source, such as an infrared temperature gun, modifying the additive constant and, if necessary, the variable coefficient for more accurate readings.

We fixed the set point as a constant in the code to simplify the design. If you added some switches (or a keypad), you could create a user interface that lets you modify the set point (and perhaps the tuning coefficients), storing the new values in the EEPROM.

The coefficients in our code are specific for our smoker, and aren’t yet optimal. You could tune the coefficients to your equipment.

The range of temperatures over which we use the sensor is very limited to avoid problems with thermistor non-linearity. You could extend the range; one approach would be to create a lookup table based on the fundamental equation for the sensor and some calibration measurements. If you do, you’ll still need to bound the interval over which the PID algorithm operates, considering the error to be 100 percent outside that range. You might have to adjust the bias for the significantly different set points this enhancement makes possible, such as cold smoking at 150°F.

Sensor

Actuator

Display

PID Loop