• Please visit and share your knowledge at our sister communities:
  • If you have not, please join our official Homebrewing Facebook Group!

    Homebrewing Facebook Group

Arduino, PID, or other?

Homebrew Talk

Help Support Homebrew Talk:

This site may earn a commission from merchant affiliate links, including eBay, Amazon, and others.
I should qualify that last post. I'm not looking to do one-button brewing. I do want the system to walk me through steps to make my recipes as reproducable as possible.

I don't think I'll ever get to automated liquid routing with gate valves, etc. but I do want the system to tell me to connect this/that/the other and report back with exact temps and durations.

-Scott
 
That's a nice display, a bit beyond what I'd be willing to pay at that size though.

For my setup, my end goal is to have some feedback information and basic at the LCD display but I would like to see the majority of it HTTP accessible.
 
just to give you an idea of what my display looks like this is my PID tuning screen. The kettle is empty and the RIMS is disconnected but you can see how much info I can pack in a screen.

from here I can see the continual PID duty cycle, hold temp, actual temp and live adjust the tunings.

WP_000385.jpg
 
I went with the Cobra because I wanted Integrated USB and SD Cards for transfer of recipes, etc. I also wanted built in ethernet so I can have the device eventually send stats to a database, etc.

I've heard great things about the FEZ panda product with the touch screen add-on. I think there's another brewer here that's developed some nice stuff on the panda.
 
Yeah, a bit pricey. This one is only $40 for a touchscreen display http://www.ghielectronics.com/catalog/product/262 any thoughts on this model?

btw that link is for the 2.5" LCD only, you still need the controller which is the FEZ Panda II I was talking about.

You get the display plus the panda for $80... not too bad.

The processor is a bit slower than the one I'm using, has a bit less ram, and doesn't have built in ethernet.

But that was my second choice -- I just wanted the support for the bigger touch screen and had a refund check to burn.
 
ScottSingleton said:
btw that link is for the 2.5" LCD only, you still need the controller which is the FEZ Panda II I was talking about.

You get the display plus the panda for $80... not too bad.

The processor is a bit slower than the one I'm using, has a bit less ram, and doesn't have built in ethernet.

But that was my second choice -- I just wanted the support for the bigger touch screen and had a refund check to burn.

Lol, well if you've got the money go big or go home :)
 
jpalarchio said:
That display is nice for sure.

I've been waiting for the capacitive touch version of this one to come out: http://www.4dsystems.com.au/prod.php?id=155

When it does, it might be something I splurge on depending on where the rest of everything is at that point...

That's a good price! I'm sure programming for a touchscreen is much harder.
 
Island.
Why re-invent the wheel? Use an STC-1000 for your fermentation chamber and the Ranco or Hughes PID that is common as dirt and well proven. The arduino is the same almost as a Picaxe and they do have their uses, but the programming and engineering of the circuits is a PITA and has already been done by someone who is way way way smarter than me. It will save you time, and money if you use already tested and proven gear. The cost of a bad batch or two will more than cover the difference in cost and you will be much happier with you final design. Not trying to discourage you because I am a deep down tinker till I die type, but I try to avoid re-covering ground thats already well trampled.
Bob
 
Island.
Why re-invent the wheel? Use an STC-1000 for your fermentation chamber and the Ranco or Hughes PID that is common as dirt and well proven. The arduino is the same almost as a Picaxe and they do have their uses, but the programming and engineering of the circuits is a PITA and has already been done by someone who is way way way smarter than me. It will save you time, and money if you use already tested and proven gear. The cost of a bad batch or two will more than cover the difference in cost and you will be much happier with you final design. Not trying to discourage you because I am a deep down tinker till I die type, but I try to avoid re-covering ground thats already well trampled.
Bob

For me, the tinkering with electronics is as much of a hobby as brewing.

So it's not always about what's easiest or cheapest; otherwise we would all just go buy our beer at the store. If you add up what you have on even a moderate brewing setup, the ingredient costs and the time it takes you to brew and tend to your beer, I doubt any of us are doing this for fiscal reasons.
 
jpalarchio said:
For me, the tinkering with electronics is as much of a hobby as brewing.

So it's not always about what's easiest or cheapest; otherwise we would all just go buy our beer at the store. If you add up what you have on even a moderate brewing setup, the ingredient costs and the time it takes you to brew and tend to your beer, I doubt any of us are doing this for fiscal reasons.

You're not kidding since I'm usually brewing on my overtime days. That being said my beer ingredients and time not at work ends up making my beer $3.47 a bottle lol.
 
Rbeckett said:
Island.
Why re-invent the wheel? Use an STC-1000 for your fermentation chamber and the Ranco or Hughes PID that is common as dirt and well proven.
Bob

Well, I would use that if I were making a fermentation chamber, but for now we are building an electric brewery.
 
I do it because I'm a tinker... I had regular PIDs to just control temp but I wanted to play with more automation and a nice user interface. For me it's about the adventure. :)
 
Ok, I'm confused even more now. With some of the Arduino boards you're very limited on how many I/O you have. If you want an LCD screen and have four control buttons and have three heating element outputs and one or two pump outputs it seems like the Arduino Uno wouldn't have enough pins. Now if I added a touch screen hat eats up even more I/O pins. Am I misunderstanding how the hardware operates?
 
Ok, I'm confused even more now. With some of the Arduino boards you're very limited on how many I/O you have. If you want an LCD screen and have four control buttons and have three heating element outputs and one or two pump outputs it seems like the Arduino Uno wouldn't have enough pins. Now if I added a touch screen hat eats up even more I/O pins. Am I misunderstanding how the hardware operates?

The Uno will bring some resource constraints in both I/O and memory depending on what you're trying to do. Add in Ethernet and you have even less pins available to you. On the Arduino platform, the Mega is more robust in this area. Resource constraint is part of the reason why the Brewtroller started on the Sanguino in the beginning.

There are always other options like using some mux options and using things like I2C.

You probably want to sit down and make the list of the "must have" requirements and "would like" options and select your hardware from there.
 
When you're making your list of your I/O needs do know that the DS18B20 temperature probes only use one I/O. They're one-wire technology and you can run many on one I/O port. The only downside is the actual time it takes to poll the chip since you can only poll one at a time and I think it takes about 700-750ms for one to respond.

So if you had 5 temp probes on one I/O to get a reading from each would take about 3.5 seconds total from start to finish. -- but only using one I/O is pretty nifty.
 
ScottSingleton said:
When you're making your list of your I/O needs do know that the DS18B20 temperature probes only use one I/O. They're one-wire technology and you can run many on one I/O port. The only downside is the actual time it takes to poll the chip since you can only poll one at a time and I think it takes about 700-750ms for one to respond.

So if you had 5 temp probes on one I/O to get a reading from each would take about 3.5 seconds total from start to finish. -- but only using one I/O is pretty nifty.

That's awesome. I just read here http://www.adafruit.com/products/642 that they have individual is numbers. I was wondering how the system would know the difference in which sensor was sending he signal. The 3.5 second time wouldn't be much of an issue I would think with a kettle and HLT, buy may be woryh separating the RIMS RTD for faster response. I will need to go home tonight and have a beer after the gym and read up on how multiplying works.
 
If you're for sure going to have a 3 vessel rims with that many sensors, pumps, etc. and going to use a graphic LCD I would highly recommend going with the MEGA. The uno is great, but the MEGA 2560 has 4 times the SRAM. You might be able to get away with muxing inputs on the uno, but if your sketch overflows the RAM it's just not going to run properly. You could get creative with your programming, but for $20 more you'll have a lot more I/Os and less concern about running into problems with the RAM.
 
Basically each sensor has a unique address (sort of like the MAC address on a network card) and you query each sensor by it's address.

Getting the one-wire sensors working on the Arduino is real straight forward and there are tons of code samples out there. Seems about everyone with an Arduino wants to measure temperature and put it on an LCD.

It'll probably be a little easier to understand when you have an Arduino and sensor to play with. I know the Microcenter by me had Arduino UNOs for $15 for a while which was a real good price; I think they're back to about twice that again. The one-wire sensors can bad had for about $2 each on eBay if you're willing to wait 4-6 weeks from China. This is for a bare sensor, no wiring or probe or anything. If you're going to use them in kettles, I'd recommend looking at the sensors or at least the stainless temperature probes from Brewers Hardware.

Keep in mind there is both a DS18S20 and DS18B20 sensor and their resolution is different and thus your code could vary.
 
I know we're getting way off-track here but I do love the one-wire solutions :)

I bought my temp sensors from Brewershardware.com. He mounts the DS18B20s in a SS thermoprobe and glues them up. I just wired them into my bus with a 4.7K resistor bridging the I/O line and the 5v feed from the controller. This allows the DS18s to draw current from the board.

Each DS18 has a unique address (which you can poll through code to get)

The pseudo code is something like this

Assign one-wire interface to I/O pin

send Reset command
send DS18 ROM address to I/O
Tell DS18 to get Temp

send Reset Command
send DS18 ROM address to I/O
read scratchpad from ROM


That's it. Each time you send a command you basically send a reset, then the Rom address, then the command you want that particular chip to perform.

if you only have one temp sensor on the IO then you send a generic (I think it's xFF) to the bus then the command and the sensor respond. I believe that doing that with multiples on the same IO causes a collision on the line.

There is TONS of code out there for the one-wire temp sensors. Really easy to wrap your head around once you start playing with it.


I have 5 temp sensors in my Rig right now running off of two I/Os.

The first one is the HLT which has a sensor in the tank through the sight glass 'T' and one in the RIMS. The RIMS sensor controls the RIMS PID and the tank is just for display.

That same principal runs on the I/O for the MLT except the third sensor is for the Boil kettle for monitoring.
 
One thing I have noticed about the code for the ds18b20 in arduino is that it is mainly focused on the parasitic mode and the code pauses for the 750ms that conversion takes which really slows down the loop. If you have a ds18b20 in powered mode you can use the readbit command to identify if conversion has taken place, you start conversion, then readbit command will return a 1 if conversion is comlete or a 0 if it isn't so you don't need to wait for conversion to happen just keep on polling it until conversion has taken place then read the temp. This is a bit tricky when you have multiple sensors but you could also use the 'skip rom' command and then the 'start conversion' command to start all the sensors then come back in 1 second and individually read each sensor, this will free up time for other bits of code to be executed whilst conversion is taking place.
 
trigger said:
If you're for sure going to have a 3 vessel rims with that many sensors, pumps, etc. and going to use a graphic LCD I would highly recommend going with the MEGA. The uno is great, but the MEGA 2560 has 4 times the SRAM. You might be able to get away with muxing inputs on the uno, but if your sketch overflows the RAM it's just not going to run properly. You could get creative with your programming, but for $20 more you'll have a lot more I/Os and less concern about running into problems with the RAM.

I had planned on using the mega after seeing how many I/o it had. One down side is that the Arduino compatible 4.2" touch screen I was looking at runs halfthe speed on the mega for some reason, but I suppose that's not a big deal since I won't be writing in it or drawing pictures.
 
we really need to get an automation Forum here... these kids of posts aren't just for electric brewers; heck I'm a hybrid direct fire assisted RIMS.
 

Latest posts

Back
Top