mboehm
Member
Hey guys! A while back I was inspired by some of the DIY write-ups on here and built my self a little fermentation chamber constructed of solid foam insulation and a diminutive 1.7 cu.ft dorm fridge I wrangled for free. Probably not something I could ever lager in during the summer, but good enough for my needs. That was about a year ago now, and I have done numerous successful batches in it. Previously I had been getting by on simple differential control with the love unit I had wired up with a probe stuck on the carboy side and insulated some. This had been working fine but I wanted a little finer control and was also looking for a little bit of a challenge.
Over the last couple months I have been coding my own open source temperature control program for the Arduino MEGA 2560. I call it notorious PID. It incorporates a 20x4 character LCD for display, a rotary encoder with pushbutton for user input, Dallas OneWire DS18B20 temperature sensors, and a unique control algorithm inspired largely by the work of Elco Jacobs on UberFridge and brewPI. It also has data logging capabilities and supports end-user made CSV temperature programs (lists of steps: run at X temp for Y duration) via an SD card slot. This makes it possible to create custom temperature profiles for different fermentations that include things like temperature ramping, diacetyl rests and cold crashing. For a more complete description, check the README at my GitHub repository.
Most of my work the last couple weeks has been focused on tweaking the control algorithms and determining various tuning parameters (unique to each chamber/fridge/freezer). This is not a simple case of wiring my fridge to alarm outputs on a commercial PID. This is legitimate control that can efficiently maintain a desired setpoint within ~+/- 0.1 deg C. I'm pretty happy with this little project so far. There are a few small bugs that do not affect overall performance that I have to clear up. Until I do so, I've currently released it as prerelease v0.9.0 on GitHub. Pics of my setup to come.
notorious PID source via GitHub
Over the last couple months I have been coding my own open source temperature control program for the Arduino MEGA 2560. I call it notorious PID. It incorporates a 20x4 character LCD for display, a rotary encoder with pushbutton for user input, Dallas OneWire DS18B20 temperature sensors, and a unique control algorithm inspired largely by the work of Elco Jacobs on UberFridge and brewPI. It also has data logging capabilities and supports end-user made CSV temperature programs (lists of steps: run at X temp for Y duration) via an SD card slot. This makes it possible to create custom temperature profiles for different fermentations that include things like temperature ramping, diacetyl rests and cold crashing. For a more complete description, check the README at my GitHub repository.
Most of my work the last couple weeks has been focused on tweaking the control algorithms and determining various tuning parameters (unique to each chamber/fridge/freezer). This is not a simple case of wiring my fridge to alarm outputs on a commercial PID. This is legitimate control that can efficiently maintain a desired setpoint within ~+/- 0.1 deg C. I'm pretty happy with this little project so far. There are a few small bugs that do not affect overall performance that I have to clear up. Until I do so, I've currently released it as prerelease v0.9.0 on GitHub. Pics of my setup to come.
notorious PID source via GitHub