Spike Brewing 12.5 Conical Fermenter Giveaway!

Home Brew Forums > Home Brewing Beer > Automated Brewing Forum > Android Controlled Electric Brewery Part 1

Reply
 
LinkBack Thread Tools
Old 07-07-2012, 07:36 PM   #11
jpalarchio
Feedback Score: 1 reviews
Recipes 
 
Join Date: Jan 2009
Location: Holly, MI
Posts: 514
Liked 42 Times on 35 Posts
Likes Given: 10

Default

MalFet- I'm in the Arduino (Mega) camp too. How about some sample code (in another post)?

__________________
jpalarchio is offline
 
Reply With Quote Quick reply to this message
Old 07-07-2012, 07:42 PM   #12
Zakit24
HBT_SUPPORTER.png
Feedback Score: 0 reviews
 
Zakit24's Avatar
Recipes 
 
Join Date: Aug 2011
Location: San Diego, California
Posts: 40
Liked 1 Times on 1 Posts

Default

I am currently working on my Arduino controlled system as well, and it is coming along very well. I started out with an Uno and soon realized I would be needing many more output so I got the Mega and it is just the right thing.
My set up is pretty different from the OP's in terms of all the inputs are manual, but the control system I think will be the same idea.
I have four inputs: 4 buttons to choose between which step (HLT, Mash, Sparge, Boil), two dials to set temp and time, and two temp probes.
I then have three outputs: One LCD screen which displays the current temp, brew step, and time running (or whatever I program it to show), and two LED 7 segment displays which show the dialed in Temp and Time.
Aside from that I also have LEDs to show which process is running, manual override switches for all the individual components, and of course a board full of relays which the Mega controls.
On the relay board I have one relay to turn on gas, one for a spark, one for a pump, and a few others relays for some other components, but of course anything could be hooked up to the relays.

As a power supply for the entire thing I got a cheap computer PSU and used the lines from that to power the system.

All in all Arduino has worked very well for me and I would be more than happy to pass on any information you may want.

Good luck

__________________

Planned: Düsseldorfer Alt
Primary: American Wheat
Secondary: N/A
Kegged/Drinking: Bamber Rauchbier

Hau weg die Scheisse!

Zakit24 is offline
 
Reply With Quote Quick reply to this message
Old 07-07-2012, 08:03 PM   #13
MalFet
/bɪər nərd/
HBT_LIFETIMESUPPORTER.png
Feedback Score: 1 reviews
 
MalFet's Avatar
Recipes 
 
Join Date: May 2010
Location: NYC / Kathmandu
Posts: 8,180
Liked 1218 Times on 806 Posts
Likes Given: 555

Default

Quote:
Originally Posted by jpalarchio View Post
MalFet- I'm in the Arduino (Mega) camp too. How about some sample code (in another post)?
If you have any questions, feel free to start a thread and I'll be happy to help as I can.
__________________

"Be excellent to each other." -Benjamin Franklin

MalFet is offline
 
Reply With Quote Quick reply to this message
Old 07-08-2012, 01:01 AM   #14
Adeering
Feedback Score: 0 reviews
Recipes 
 
Join Date: Jan 2012
Location: Sherwood, Arkansas
Posts: 666
Liked 45 Times on 37 Posts
Likes Given: 4

Default

Thanks for all the replies and comments. While I agree with the fact that an ARM based board would be more powerful, but as been mentioned I dont need it to do much. I am planning on having the arduino do the following things only:

1. Control Element-will turn it on and off and depending on feasibility use the PID library to control temp
2. Turn pumps on and off
3. Output to tablet and various LEDs and a LCD display

The Idea right now is that the android will do the thinking and just tell the arduino when and what to do. This might evolve once I do more research and turn into more of the android just displaying what the arduino is doing and allow for user input, but well see when I get there.

Question for Malfet (or anyone who can answer)-
Lets say I wasnt going to use the android at all, would a single Arduino Mega be able handle control two elements like a PID and two pumps (basic on/off) based on inputs

__________________
Primary: None
Secondary: Apple Pie
Bottle Conditioning/Carbonating: None
Kegged: Aphrodite's Potion
Bottled: None
Next Brews: Pumpkin Ale, Unknown
Adeering is offline
 
Reply With Quote Quick reply to this message
Old 07-08-2012, 01:45 AM   #15
MalFet
/bɪər nərd/
HBT_LIFETIMESUPPORTER.png
Feedback Score: 1 reviews
 
MalFet's Avatar
Recipes 
 
Join Date: May 2010
Location: NYC / Kathmandu
Posts: 8,180
Liked 1218 Times on 806 Posts
Likes Given: 555

Default

Quote:
Originally Posted by Adeering View Post
Question for Malfet (or anyone who can answer)-
Lets say I wasnt going to use the android at all, would a single Arduino Mega be able handle control two elements like a PID and two pumps (basic on/off) based on inputs
Sure, no problem. You would just need four digital pins to control the SSRs. Keeping two PIDs going simultaneously is very manageable. Presumably you'd want a few temperature sensors of some sort too, no? Any valves to drive?

Anyway, all that can be handled by a simple Uno, assuming you don't need much more than what you've described already (I'm not familiar with the Brutus 20, though, so I'm not sure what else you might need). The thing that might push you into Mega territory would be if your I/O starts getting complex. If you're just feeding commands to the controller via bluetooth, I suspect you'd be fine, though I haven't used the bluetooth library personally. If you want to start adding datalogging, internet connectivity, LCDs, more sensors, etc., then you might start running low on codespace with just an Uno.
__________________

"Be excellent to each other." -Benjamin Franklin

MalFet is offline
 
Reply With Quote Quick reply to this message
Old 07-08-2012, 05:36 AM   #16
helibrewer
HBT_SUPPORTER.png
Feedback Score: 1 reviews
 
helibrewer's Avatar
Recipes 
 
Join Date: Nov 2011
Location: Santa Rosa, CA
Posts: 3,137
Liked 183 Times on 167 Posts
Likes Given: 42

Default

I have the BrewAide program and have written Android apps also. This is very intriguing to me. It sounds like you can have the Android device do all the heavy lifting and the arduino would just do basic sensor monitoring (PIDs/sensors) and on/off commands to SSRs.

__________________
Something is always fermenting....
"It's Bahl Hornin'"

Primary:
Brite Tank/Lagering:
Kegged: Hefeweizen, Chocolate Hazelnut Porter, Kumquat Saison, Tart Cherry Cider, Belgian Tripel, Maibock Bock, Ommegang Abbey Ale Clone, Belgian Golden Strong, German Pils (WLP830)
Bottled: Belgian Quad (Grand Reserve), Derangement (Belgian Dark Strong)
On Deck:
My Site: www.restlesscellars.com
helibrewer is offline
 
Reply With Quote Quick reply to this message
Old 07-08-2012, 10:59 AM   #17
Adeering
Feedback Score: 0 reviews
Recipes 
 
Join Date: Jan 2012
Location: Sherwood, Arkansas
Posts: 666
Liked 45 Times on 37 Posts
Likes Given: 4

Default

Ok thanks for the reply. To be on the safe side Ill probably go with the mega, for the $20 more I think its worth it for the extra I/O and code space. Also I will probably want to put in backup manually controls to use instead of the tablet as well so it will be nice to have the extra.

Another question, to control the SSRs is there something that I will need to go between the Arduino and the SSRs or can the Arduinos digital outputs control the SSRs directly

__________________
Primary: None
Secondary: Apple Pie
Bottle Conditioning/Carbonating: None
Kegged: Aphrodite's Potion
Bottled: None
Next Brews: Pumpkin Ale, Unknown
Adeering is offline
 
Reply With Quote Quick reply to this message
Old 07-08-2012, 11:38 AM   #18
emjay
HBT_SUPPORTER.png
Feedback Score: 1 reviews
 
emjay's Avatar
Recipes 
 
Join Date: Jan 2011
Location: Toronto, Ontario
Posts: 12,694
Liked 1712 Times on 1601 Posts
Likes Given: 1

Default

An Android control interface would definitely be nice. Is it impossible to implement with a BCS or BrewTroller, or did you just want to do it a different way?

__________________
emjay is offline
 
Reply With Quote Quick reply to this message
Old 07-08-2012, 12:30 PM   #19
MalFet
/bɪər nərd/
HBT_LIFETIMESUPPORTER.png
Feedback Score: 1 reviews
 
MalFet's Avatar
Recipes 
 
Join Date: May 2010
Location: NYC / Kathmandu
Posts: 8,180
Liked 1218 Times on 806 Posts
Likes Given: 555

Default

Quote:
Originally Posted by Adeering View Post
Ok thanks for the reply. To be on the safe side Ill probably go with the mega, for the $20 more I think its worth it for the extra I/O and code space. Also I will probably want to put in backup manually controls to use instead of the tablet as well so it will be nice to have the extra.

Another question, to control the SSRs is there something that I will need to go between the Arduino and the SSRs or can the Arduinos digital outputs control the SSRs directly
You need to make sure all your power specs are compatible, but in general SSRs can be driven directly from the Arduino's logic pins. Both the mega and the uno provide 40mA per pin, I believe. There are many SSRs that will work fine with that.

The mega will give you a lot more flexibility as far as manual controls go. Those are generally very simple to code, but they will monopolize your pins quickly. Plus, if you've got pins to spare you can always use cheaper parallel rather than more expensive serial LCDs for display.

Quote:
Originally Posted by helibrewer View Post
I have the BrewAide program and have written Android apps also. This is very intriguing to me. It sounds like you can have the Android device do all the heavy lifting and the arduino would just do basic sensor monitoring (PIDs/sensors) and on/off commands to SSRs.
You certainly could do it that way, but personally I've had better luck keeping all the control code directly on the microcontroller. Unless you're trying to do something very complicated and unconventional, the ATMega chips are plenty powerful manage the whole thing. If you keep the brains of the operation on a separate device, you risk having the whole thing fall apart if you have connection difficulties.

The strength of Android in this relationship is its great human interface APIs. If I were designing something in that direction, I'd keep all of the actual control logic on the Arduino and then let the Android handle just user interface and perhaps data visualization. It's easy enough to design a simple command and data protocol that will let the arduino and the android talk to each other over bluetooth or whatever.

But, that's just how I'd do it. There are plenty of ways to skin this cat.
__________________

"Be excellent to each other." -Benjamin Franklin

MalFet is offline
 
Reply With Quote Quick reply to this message
Old 07-08-2012, 02:10 PM   #20
Adeering
Feedback Score: 0 reviews
Recipes 
 
Join Date: Jan 2012
Location: Sherwood, Arkansas
Posts: 666
Liked 45 Times on 37 Posts
Likes Given: 4

Default

Thanks, Ill check the specs for the SSRs Im planning on using and see if they will work.

My general plan is to have the arduino do everything and have the android just be an input source and User interface. Now there will be some android side work based on when to send the signals to the Arduino.

If possible I want the arduino wired to accept input from both the Android device and have manual switches on a control box. This way I can hook up the tablet and have the tablet automate everything based on a recipe to send the right controls to the arduino. Or I can flip switches and set the temps manually on the control box.

Im planning on using the Arduino Mega ADK which has a USB interface already built in that works with android. Google has a library for working with arduino already as well, so the general app should be easy to do. Heres my general thought process right now, let me know if this sounds reasonable or if im missing something big. Also not sure how many pins the things like temp probes and switches will take up

Heres the inputs I see having:
2 - temp probes
2 - basic on/off switches for pump
2 - ARM/DISARM switches for elements (idea will be when using them manually to flip these switches to arm the elements then use the LCD display/buttons to set temp and the PID library will control the output to turn elements on and off)
4 - buttons to control the LCD screen and set temps (Mode, Up, Down, Set)
1 - USB interface (this is already taken care of by the Arduino Mega ADK, this can interface with android devices through USB, which is perfect)

10 - total not counting the USB

Here are the outputs I see having:
2 - SSRs for the pump on/off control - assuming will need 2 pins
2 - SSRs for the element on/off that will be controlled by the PID library - 2 pins
1 - the USB interface can both send and receive so that will talk to the android
1 - LCD display to display whats happening and select temps for elements to hold - needs 11 pins
4 - Lights to show when pumps/elements are on
1 - Buzzer/Alarm for signalling temp has been reached

10 - total not counting the USB

Also for those not familiar with a Brutus20 here is the link to his page that gives a brief description, his is with Gas but youll get the idea

Some things I can see being added to the output side if I decide to go complete automation, because my system will need the output of the pumps changed throughout the brew day I might decide to go with some valves and what not, so would need those, my current estimate based on my design would be 5 valves, which Ill still have plenty of outputs for that and should be fine.

Thanks for the help, gonna order the arduino and start playing with some simple on/off control to get the hang of it and will continue to update with questions/progress

__________________
Primary: None
Secondary: Apple Pie
Bottle Conditioning/Carbonating: None
Kegged: Aphrodite's Potion
Bottled: None
Next Brews: Pumpkin Ale, Unknown
Adeering 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
Electric BrewGaLoo 2.0 Automated Brutus 20 8-Valve System Squeeky Automated Brewing Forum 57 07-10-2013 02:39 AM
Automated Brewery Valve Layout Diagrams Squeeky Automated Brewing Forum 44 03-08-2013 11:23 PM
Lego Mindstorms Controlled Brewery jpalarchio Automated Brewing Forum 6 06-24-2012 01:04 PM