
Temperature control during fermentation is a key factor for the perfect home-brew, and it’s mandatory if you would like to brew like a professional. There are lot of techniques that are used to control classic fridge or heating element and lot of automation implementations—this project started out as a classic fridge modification, adding a thermo regulator in the range of fermentation and eventually a complementary heating element.
The idea is to leverage the Peltier effect—and a thermo electric cooler (TEC)—that is the main functional component in a lot of cooling applications as there are lot of advantage for controlling the temperature of a small amount of beer (small volume) trough an electronic device rather than using a classical mechanical compressor.
First of all you can modulate the power instead having an sharp on/off control, so you can achieve better precision and stability via a PID /PWM algorithm as well as reducing the power consumption, when the beer reach the stable set point (as the fermentation will produce a small amount of heat). The other key factor is that you can revert heating and cooling so you can compensate for your room temperature in summer and in winter—here is no need to coordinate two different process the e/o elements and the TEC are “all in one”
Final, the other intrinsic advantage is that there are no mechanical parts involved so you can design a very compact and low noise system for the home environment.
I have done many previous implementations (non-Arduino based), both with air to air exchange creating a fermentation chamber, and air-water exchange recirculating cool/hot water with a chiller inside the fermenter to chill the fluid.
-
TEC cooled fermentation chamber
Now I’m porting the solution to an Arduino based control system and I’m trying to set up the basic core code for both PID controlling temperature and PWM / H-bridge motor shield to drive the TEC
-
Arduino PID-PWM-HBrdige TEC controller
The block diagram shows my solution. Arduino read temperature from digital sensor (Dallas oneWire DS18B20 series) and the PID algorithm producing a PWM signal with variable duty cycle. The PID provides the “direction” of the control—either for heating and cooling—while the PWM signal and direction are sent to an H-bridge power device that (DC motor driver) that drives the cells. A fan speed is also controlled accordingly to power of the cells.
At this stage I set up a laboratory test enviroment with a single pettier cell, 2 heater exchangers, and 2 fans in order to develop and debug the control algorithm and the service logic
-
Arduino TEC test set up
One side of system with heating/cooling element and fan has been inserted in a ice cream polystyrene box in order to simulate the fermentation chamber.
I was able to reach good stabilty with this air/air set up as demonstrated the below graph obtained with serial print value of the arduino PID.
The next step is to scale the solution to the air-water heat exchanger and add all the end user interaction menu.
13 thoughts on “Arduino Controlled Cooling/Heating System for Beer Fermentation”
Comments are closed.
[…] Read more on MAKE […]
What is the purpose of beer fermentation by the way?
Cooling Tower Australia
Great concept! I’m just learning to code. Would you be so kind as to share your code? Thanks!
Great project, I am new on coding would you be so kind to share your code??
Can you share code. I am very much intersted to learn PID algorithm. BUt don’t know how to start.
Nice write up. Have you ever fully implemented it? I’m also interested in your code if you are willing to share. Thanks
Thanks Arzaman, could you kindly update us all on your project status. Have you continued to develop it? May followers here are interested in seeing your Arduino PID code as am I. Please share if you can!
Great work!
May I know how you implemented the PID code.
using Aurduino PID library or labview or matlab or any other thirdparty S/W?
[…] Arduino Controlled Cooling/Heating System for Beer Fermentation – I have done many previous implementations (non-Arduino based … algorithm and the service logic One side of system with heating/cooling element and fan has been inserted in a ice cream polystyrene box in order to simulate the fermentation chamber. […]
[…] Arduino Controlled Cooling/Heating System for Beer Fermentation – I have done many previous implementations (non-Arduino based), both with air … and the service logic One side of system with heating/cooling element and fan has been inserted in a ice cream polystyrene box in order to simulate the fermentation chamber. […]
I’m interested in the code too, though I made another homebrewing project with the industrial temperature controller Pixsys. Regrettably, I never been used to Arduino programming.
[…] Arduino Controlled Cooling/Heating System for Beer Fermentation – There are lot of techniques that are used to control classic fridge or heating element … and air-water exchange recirculating cool/hot water with a chiller inside the fermenter to chill the fluid. The block diagram shows my solution. […]
Hi, your project looks great, thanks for the details! Same question as the others though, any chance you could share the code? It would be of great help!