Happy HolidaySs Giveaway - Last Sponsor Giveaway of the Year!

Come Enter the BrewDeals/FastFerment Giveaway!


Home Brew Forums > Home Brewing Beer > Electric Brewing > Arduino, PID, or other?
Reply
 
LinkBack Thread Tools
Old 03-17-2012, 10:41 PM   #11
trigger
Feedback Score: 0 reviews
Recipes 
 
Join Date: Aug 2010
Location: portland
Posts: 628
Liked 5 Times on 5 Posts
Likes Given: 2

Default

IF you are willing to spend some time learning the arduino and don't need complex automation then the arduino uno will be able to handle exactly what you want to do for much cheaper than the brewtroller or an all PID system. If you go this route you can easily implement PID control of your HLT, which is beneficial as it's mostly fire and forget. However, as I said before, it will require a more significant time investment than a PID/PWM system. The benefit will be the flexibility. You can start with very basic functionality, and add in features as you would like by simply connecting to a computer and uploading a new sketch once you've written and tested it.

As an example for my current setup I've got it on a very simple 2sec window PWM output for boil control with an integrated timer that triggers an alarm for 4 hop additions and cuts power at the end of the timer. That is running great (on the mockup, still waiting on parts for the physical build). I have a spare arduino and have built a breadboard prototype system with LEDs' to simulate outputs for testing new code. I'm currently working on a more complex boil function that heats at 100% to just before boiling, triggers an alarm and cuts power to maintain 208 F until an action by the user. This is to prevent boilovers and key the first hop addition. Then the boil progresses for the set time, triggering alarms at hop times as set by the user at the beginning of the brew session. After the boil timer expires the final alarm is triggered, power is cut and whirlpooling begins. Once I've got this bit all working I'll be able to upload it to the arduino and away I go.

The brewtroller will allow a lot more functionality, and it'll work well right out of the box. You'll have to do some learning, but as there's already a community for it the learning curve will be much shorter than if you were to try to do it all on your own. Also, the brewtroller has all the functionality built right into it, you just have to set it up properly for your system. Unless you start with an arduino Mega you won't be able to achieve the flexibility of the brewtroller, and a PID/PWM system won't be able to come close to either in terms of automation.

All of that said, the simplicity of a PID/PWM system is a definate strength. There is less to go wrong, and they are much easier to implement. With a system like Kal's any experienced brewer should be able to learn how to run the whole thing with about 5 mins training.

__________________

The power to tax, once conceded, has no limits; it contains until it destroys. I was not joking when I told them to dig into their own pouches. It may not be possible to do away with government — sometimes I think that government is an inescapable disease of human beings. But it may be possible to keep it small and starved and inoffensive — and can you think of a better way than by requiring the governors themselves to pay the costs of their antisocial hobby?

R. A. Heinlein

trigger is offline
 
Reply With Quote Quick reply to this message
Old 03-18-2012, 10:45 AM   #12
simba123
Feedback Score: 0 reviews
Recipes 
 
Join Date: Dec 2011
Location: Edison, New Jersey
Posts: 12
Liked 3 Times on 2 Posts
Likes Given: 1

Default

I went with an arduino and totally automated the system. Look at my build here.

__________________

If Budweiser can do it why not you?
----------------------------------------------------
Brewmigo - My All Grain Electric Brewery

simba123 is offline
 
Reply With Quote Quick reply to this message
Old 03-18-2012, 05:05 PM   #13
jpalarchio
Feedback Score: 1 reviews
Recipes 
 
Join Date: Jan 2009
Location: Holly, MI
Posts: 562
Liked 50 Times on 41 Posts
Likes Given: 11

Default

trigger's posts are a good summary of my thoughts...

I use a very early Brewtroller today with a propane-fired system and I'm looking at going electric now and possibly switching over to an Arduino Mega.

For me, playing with the Arduino is as much of a hobby as brewing. I have a few of them around the house doing various things (one manages my keg cooler and fermentation chamber).

With the Arduino, there's no shortage of sample code available; much of the Brewtroller code could be usable for you too. Things that may seem difficult at first (connecting up an LCD and getting data to it, getting temperature sensor readings) are relatively easy once you start playing with it.

In the end, you can make it as simple or complicated as you want with the Arduino.

__________________
jpalarchio is offline
 
Reply With Quote Quick reply to this message
Old 03-18-2012, 05:05 PM   #14
Islandboy85
Feedback Score: 0 reviews
Recipes 
 
Join Date: Nov 2009
Location: Dallas, Texas
Posts: 634
Liked 9 Times on 7 Posts
Likes Given: 1

Default

Quote:
Originally Posted by simba123
I went with an arduino and totally automated the system. Look at my build here.

Video Link: http://www.youtube.com/watch?v=RLlsLfBZNe8
I love the hot plate RIMS. That could save me a bundle. Does it have enough power to do a 10 gallon batch?
__________________
Islandboy85 is offline
 
Reply With Quote Quick reply to this message
Old 03-18-2012, 06:40 PM   #15
l3asturd
HBT_SUPPORTER.png
Feedback Score: 0 reviews
 
l3asturd's Avatar
Recipes 
 
Join Date: Dec 2011
Location: Visalia, CA
Posts: 464
Liked 8 Times on 7 Posts
Likes Given: 2

Default

Quote:
Originally Posted by simba123 View Post
I went with an arduino and totally automated the system. Look at my build here.

http://www.youtube.com/watch?v=RLlsLfBZNe8
Great job with video AND the system! Love the John Williams theme
__________________
l3asturd is offline
 
Reply With Quote Quick reply to this message
Old 03-19-2012, 01:27 PM   #16
simba123
Feedback Score: 0 reviews
Recipes 
 
Join Date: Dec 2011
Location: Edison, New Jersey
Posts: 12
Liked 3 Times on 2 Posts
Likes Given: 1

Default Pasta/Noodle maker RIMS

Quote:
Originally Posted by Islandboy85 View Post
I love the hot plate RIMS. That could save me a bundle. Does it have enough power to do a 10 gallon batch?
This is a Pasta/Noodle maker, I picked up at a local Chinese supermarket for $25 . The appliance is rated at 1000W(raises about 1.5F per minute for a 4 gallon recirculating mash). It handles the temperatures very well for the 5 gallon batch. But, during the Sac Rest to Mash out, there is a ~18F difference and this appliance takes about 15-20 minutes to raise the 18F. Hope that makes sense. I have explained it in the 2nd video.

Just one more tip, I took a silicone(food grade) tube and inserted a DS18B20 IC into it for the temperature sensor and sealed it using food grade silicone adhesive. Finally, I used a clip and made the IC dip into the recirculating wort. This is a good sensor which will give you about .1F precision.

To answer your question, this may maintain the mash at set temperature for the 10 gallon batch, but during the Sac to Mach out, it will have a problem. I would advice you to go for a device with at least 1500W and that should take care of it.

My entire post with details is here...
http://www.homebrewtalk.com/f170/bre...rewery-306571/
__________________

If Budweiser can do it why not you?
----------------------------------------------------
Brewmigo - My All Grain Electric Brewery

simba123 is offline
 
Reply With Quote Quick reply to this message
Old 03-19-2012, 03:26 PM   #17
Islandboy85
Feedback Score: 0 reviews
Recipes 
 
Join Date: Nov 2009
Location: Dallas, Texas
Posts: 634
Liked 9 Times on 7 Posts
Likes Given: 1

Default

Quote:
Originally Posted by simba123

This is a Pasta/Noodle maker, I picked up at a local Chinese supermarket for $25 . The appliance is rated at 1000W(raises about 1.5F per minute for a 4 gallon recirculating mash). It handles the temperatures very well for the 5 gallon batch. But, during the Sac Rest to Mash out, there is a ~18F difference and this appliance takes about 15-20 minutes to raise the 18F. Hope that makes sense. I have explained it in the 2nd video.

Just one more tip, I took a silicone(food grade) tube and inserted a DS18B20 IC into it for the temperature sensor and sealed it using food grade silicone adhesive. Finally, I used a clip and made the IC dip into the recirculating wort. This is a good sensor which will give you about .1F precision.

To answer your question, this may maintain the mash at set temperature for the 10 gallon batch, but during the Sac to Mach out, it will have a problem. I would advice you to go for a device with at least 1500W and that should take care of it.

My entire post with details is here...
http://www.homebrewtalk.com/f170/bre...rewery-306571/
Good to know. I may end up having to make a normal RIMS tube then because hot plates that big cost just as much if not more.
__________________
Islandboy85 is offline
 
Reply With Quote Quick reply to this message
Old 03-19-2012, 05:32 PM   #18
SimBrew
HBT_SUPPORTER.png
Feedback Score: 0 reviews
Recipes 
 
Join Date: Dec 2010
Location: Montréal, Quebec
Posts: 94
Default

I went with arduino as I like the DIY side of it.

As for the programation, there example basicly for everything you will want to do.
Ex: Runing the LCD, reading the Ds18b20 sensor, Runing the PWM output.
All you have to do after that is merging everything in one program.
I went pretty simple as I only drive my 1500W/120V HLT with it, I got the LCD, a pot for adjustment, and a button.
I program 2 menu on the LCD, one is showing HLT in auto mode info (temp reading, output and set point), one the HLT in manual mode showing temp and output.

When I'll got the 4500W element for the BK, I'll add a menu to set the output in manual for the boiller.

__________________
SimBrew is offline
 
Reply With Quote Quick reply to this message
Old 03-20-2012, 04:18 PM   #19
Islandboy85
Feedback Score: 0 reviews
Recipes 
 
Join Date: Nov 2009
Location: Dallas, Texas
Posts: 634
Liked 9 Times on 7 Posts
Likes Given: 1

Default

Ugh... I got a C++ app made by Wibit.net. I am soooo lost right now.

__________________
Islandboy85 is offline
 
Reply With Quote Quick reply to this message
Old 03-21-2012, 07:11 AM   #20
matho
Feedback Score: 0 reviews
Recipes 
 
Join Date: Jan 2012
Location: hazelbrook, New South Wales
Posts: 42
Liked 16 Times on 13 Posts
Likes Given: 6

Default

Islandboy keep your head up, I found it daunting when I started but after a couple of months I have a good idea about programming the arduino. If you want plug and play then go for a PID but if you want to go for the custom look then use the arduino.The good thing about the arduino is you can build what you want, you can add a number of temperature probes( not just one like the PID) and you can control a number of outputs Here is a simple code for a thermostat that is PID controlled, it has all the building blocks you will need.

Quote:
//a simple thermostat
#include <LiquidCrystal.h>
#include <OneWire.h>
#include <PID_v1.h>
OneWire ds(11);
LiquidCrystal lcd(2, 3, 4, 5, 6, 7);
//*push*buttons
const int Button_up = A3;
const int Button_dn = A2;
const int Button_prev = A1;
const int Button_nxt = A0;
const int Heat = 9;
// variables
int WindowSize = 5000;
unsigned long windowStartTime;
double Setpoint, Input, Output;
boolean Start = false;
boolean Conv_start = false;
float set_temp = 20;
float Temp_c;
int temp;
byte data[2];
byte i;
byte Busy = 0;
//Specify the links and initial tuning parameters
PID myPID(&Input, &Output, &Setpoint,200,5,3, DIRECT);

void setup(void)
{
// Start up the library
l
cd.begin(16,2);
pinMode (Button_up,INPUT);
pinMode (Button_dn,INPUT);
pinMode (Button_prev,INPUT);
pinMode (Button_nxt,INPUT);
pinMode (Heat,OUTPUT);
windowStartTime = millis();
//tell the PID to range between 0 and the full window size
myPID.SetOutputLimits(0, WindowSize);
myPID.SetMode(AUTOMATIC);
}
void loop(void)
{
Temperature();
Setpoint = set_temp*16;
Input = Temp_c * 16;
lcd.setCursor(0,0);
lcd.print("Set Temp =");
lcd.setCursor(10,0);
lcd.print(set_temp);
lcd.setCursor(0, 1);
lcd.print("Temp =");
lcd.setCursor(7,1);
lcd.print(Temp_c);
if (!(digitalRead(Button_up))&& !(Start))
{
while (digitalRead(Button_up)==0){
}
set_temp= set_temp+0.25;
}
if (!(digitalRead(Button_dn))&& !(Start))
{
while (digitalRead(Button_dn)==0){
}
set_temp= set_temp-0.25;
}
if (digitalRead(Button_prev)==0)
{
while (digitalRead(Button_prev)==0){
}
Start = true;
}
if (digitalRead(Button_nxt)==0)
{
while (digitalRead(Button_nxt)==0){
}
Start = false;
digitalWrite(Heat,LOW);
}
if (Start)
{
PID_HEAT();
}

}
void Temperature(void)
{
ds.reset();
ds.skip();
// start conversion and return
if (!(Conv_start)){
ds.write(0x44,0);
Conv_start = true;
return;
}
// check for conversion if it isn't complete return if it is then convert to decimal
if (Conv_start){
Busy = ds.read_bit();
if (Busy == 0){
return;
}
ds.reset();
ds.skip();
ds.write(0xBE);
for ( i = 0; i < 2; i++) { // we need 2 bytes
data[i] = ds.read();
}
unsigned int raw = (data[1] << 8) + data[0];
Temp_c = (raw & 0xFFFC) * 0.0625;
Conv_start = false;
return;
}
return;
}
void PID_HEAT (void){
myPID.Compute();
/************************************************
turn the output pin on/off based on pid output
************************************************** */
unsigned long now = millis();
if(now - windowStartTime>WindowSize)
{ //time to shift the Relay Window
windowStartTime += WindowSize;
}
if(Output > now - windowStartTime) digitalWrite(Heat,HIGH);
else digitalWrite(Heat,LOW);

return;


}
the code is in deg c because that's what we use down here so you will have to use a formula to change it to deg F.

cheers steve
thermostat.jpg  
__________________
matho is offline
 
Reply With Quote Quick reply to this message
Reply



Quick Reply
Message:
Options
Thread Tools


Similar Threads
Thread Thread Starter Forum Replies Last Post
Arduino driving an SSR thomashp Electric Brewing 4 11-08-2010 07:00 AM



Newest Threads

LATEST SPONSOR DEALS