The Raspberry Pi sparked a bi-weekly embedded interest group at my hackerspace in Chicago, Pumping Station: One. At our last meeting, Eric Stein presented how he and the other members of our hackerspace brew brewing group have used the Raspberry Pi to automate chilling:
Eric and crew were able to easily add temperature sensing to the Raspberry Pi by following Adafruit's tutorial "Send Raspberry Pi Data to COSM". It shows how to read the TMP36 analog temp sensor with a Microchip MCP3008 analog to digital converter (ADC):
(credit: Eric Stein; source: http://cons.truct.org/album/beerchurch/2012-08-28_0001)
Eric quickly started developing his own application called chillmon, which as described on GitHub:
Monitor multiple temperature probes and use them to control a chiller. IRC bot interface, PID loop to control the temperature. Primarily useful for beer brewing. Will be expanded to be a general purpose system for managing beer fermentation
The project is quickly evolving with the help of fellow hackerspace members. During our meeting, the MCP3008 ADC was on a breadboard with jumpers connected to the screw terminals on an Adafruit Pi Plate (connected on top of the Pi):
Here's another view of the temporary wiring which will soon be replaced with the circuit being permanently soldered onto the Pi Plate's prototyping area:
Here's a close-up of the TMP36 temperature sensor that reads the room temperature:
There's two more TMP36 sensors inside the insulated chamber. The PID loop running on the Raspberry Pi determines at what temperature threshold and for how long the AC unit is turned on. This is implemented with the PID class located in the chillmon python file. This is a snippet from the PID class as of the most recent commit (2012-Sept-16):
Here's a shot of the relay (on the right) which the Pi is controlling (some of wiring was in a temporary state during buildout so safety notes were posted):
Beyond temperature sensing and PID control, the chillmon software provides the ability for our beer hackers to keep tabs on the operation remotely. For those that dig chat, there is a bot in our #pumpingstationone IRC channel on Freenode which spits out the temp readings whenever someone types "!temp":
And, of course, temperature readings beg to be graphed, so there is a graphing web application that can be accessed by either desktop or mobile browsers:
Here's a screenshot of the latest version which now displays the PID loop states, too:
I've got more photos in my Picasa gallery of the meeting, and Eric also has some additional photos of the brewing in his gallery. Our next "NERP" meeting is this coming Monday, Sept 24, so I look forward to seeing the continued progress of the project... and eventually tasting it, too!
Cheers,
Drew