**This is about the best sub-forum I could find for this post, but if there is a better one mods, move it please?**
This might be relevant to any researchers looking for fairly precise process temperature control (~+/- 0.1 deg C) and of course homebrewers:
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
. 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.
I've written a couple libraries that may be of use to other Arduino coders out there. The dallas temperature library was creating a huge problem for the speed of my code with its hard coded delay so I've written my own wrapper class for DS18B20 OneWire temperature sensors. I've also written some versatile templated functions to add EEPROM read/write functionality to my project.
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). 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. Can anyone point me in the right direction for creating some images of my wiring layout?notorious PID source via GitHubModerator edit: links corrected