Arduino Controlled Homebrew Stir Plate
This post was featured on the Make Magazine blog!
One of the four key ingredients in beer is yeast. They do all the hard work and we get to reap the reward! To get the most out of the yeast, a homebrewer can (and should) create a yeast starter to ensure both the viability and population of the pitched yeast. A stir plate can be a valuable tool when creating a yeast starter for your homebrewed beers. It improves you starter in three ways:
- Helps remove CO2 from the wort – excess CO2 can inhibit yeast propagation
- Aerates the wort – yeast require oxygen for proper growth
- Keeps the yeast in contact with the nutrients necessary for better propagation – stirring the slurry of yeast cells and wort keep the yeast from falling to the bottom of your starter container
While there are many different tutorials on the web about making a DIY stir plate, my take is a slight departure in both function and aesthetics (hopefully for the better in both cases).
The Circuit:
The brains behind this stir plate is an Arduino microcontroller. Because the Arduino is reprogrammable, it can be tuned to the exact speed range you are looking for. If your fan speed is too high, the drag on the stir bar will be too great and it will break free from the drive magnets. Too low and you wont be stirring the starter enough. The Arduino also has PWM outputs which make it possible to use a fancy looking LED case fan. Below is a mock up of the circuit:
- LED Case Fan
- DC Power Jack & 12V Power Supply
- Voltage Regulator - 5V
- 10K Ohm Resistor
- Potentiometer w/ Power Switch & Knob
- ATmega328 with Arduino Bootloader
- NPN Transistor
- 16MHz Ceramic Resonator
The entire unit is powered by a 12V power supply (2) that is plugged into a standard wall outlet. The 12V input is stepped down to 5 volts by the voltage regulator (3) in order to power the Arduino (6) and give a reference voltage for the control knob (5). As the resistance of the control knob changes, the Arduino proportionally adjusts the duty cycle of the PWM signal sent to the NPN transistor (7). Here, the transistor (7) is being used as a high frequency switch. It opens and closes the LED fan’s (1) ground wire to control the fan’s speed. The 10K ohm resistor (4) and the 16MHz ceramic resonator (8) are both required for the Arduino to function properly.
The Code:
/*
Nov 2011
LIAMzilla.com
Code for 'Arduino Controlled Stir Plate'
This example code is in the public domain.
*/
// initialize fanPin to a pin with PWM capabilites
const int fanPin = 9;
// initialize an analog input for the knob signal
const int knobPin = 0;
// change max and min to adjust the
// upper and lower fan speeds
int max = 102;
int min = 25;
int knobValue, pwmValue;
void setup()
{
// initialize the serial port
Serial.begin(9600);
}
void loop()
{
// get the value of the knob
knobValue = analogRead(knobPin);
// remap the values from 10 bit input to 8 bit output
pwmValue = map(knobValue, 0, 1023, max, min);
// use the input value to adjust the fan speed
analogWrite(fanPin, pwmValue);
// print the input value to the serial port for debugging
Serial.println(pwmValue);
}
Stir Plate Pictures:
Promote
If you enjoyed reading this article, help let the world know about it by sharing it on your favourite social networking site
-
Erin
-
Shree
-
CodonAUG
-
ScottInNH
-
Alexander
-
DaVolfman
-
Jackson
-
Ray
-
http://www.summet.com/blog/ Jay
-
Ray
-
ScottInNH
-
ScottInNH
-
Squeptiqual






