TeensyPi Networked Temperature Controller - Page 2 - Home Brew Forums
Home Brew Forums > Home Brewing Beer > DIY Projects > Fermenters > TeensyPi Networked Temperature Controller

Reply
 
Thread Tools
Old 01-05-2013, 06:55 AM   #11
helibrewer
HBT_SUPPORTER.png
 
helibrewer's Avatar
Recipes 
 
Nov 2011
Santa Rosa, CA
Posts: 3,707
Liked 299 Times on 254 Posts


Just checked your site, awesome work. I have a RPi and an Arduino2560 that I am playing with. I've managed to get the RPi to register my DS18D20's and using a php script send them off to be displayed on the Steel Series gauges....I really like your approach and I think I'll fork that way. I also oredered the BrewTroller BX because I just don't have enough crap to play with.


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

Primary:
Brite Tank/Lagering:
Kegged: Sour Saison, Pale Ale, Aggie Ale, Firestone DBA, De Koninck Blonde
Bottled: Belgian Quad (Grand Reserve), Derangement (Belgian Dark Strong)
On Deck: Pliny the Younger

 
Reply With Quote
Old 01-05-2013, 03:40 PM   #12
jimmayhugh
Turgid Member
HBT_LIFETIMESUPPORTER.png
 
jimmayhugh's Avatar
Recipes 
 
Feb 2011
Las Vegas, NV
Posts: 766
Liked 107 Times on 81 Posts


Quote:
Originally Posted by helibrewer View Post
Just checked your site, awesome work. I have a RPi and an Arduino2560 that I am playing with. I've managed to get the RPi to register my DS18D20's and using a php script send them off to be displayed on the Steel Series gauges....I really like your approach and I think I'll fork that way. I also oredered the BrewTroller BX because I just don't have enough crap to play with.
The code for the Teensy 3.0 should work with very little modification on the Mega2650, as that was my original platform for much of the original work. Just be sure that you are using level-shifters for the serial communication between the RPi and Mega, as the RPi GPIO pins are not 5v-tolerant. I used the Adafruit I2C-safe converters, and they worked well. My other blog has more info on the RPi/Mega setup. At one point I had the Mega issuing XML that the Steel Series gauges could use, and that could easily be re-inserted into the Teensy Code.

Right now I'm re-working the PHP pages to make the setup of the chips name-based rather than address-based, since it's easy to get lost when dealing with 36 chips.


__________________
TeensyNet Networked Controller
ButtCrack Brewery
And This Is Why We Drink...
Cogito, ergo bibere cervisia sum

 
Reply With Quote
Old 01-05-2013, 06:03 PM   #13
helibrewer
HBT_SUPPORTER.png
 
helibrewer's Avatar
Recipes 
 
Nov 2011
Santa Rosa, CA
Posts: 3,707
Liked 299 Times on 254 Posts


Quote:
Originally Posted by jimmayhugh View Post
The code for the Teensy 3.0 should work with very little modification on the Mega2650, as that was my original platform for much of the original work. Just be sure that you are using level-shifters for the serial communication between the RPi and Mega, as the RPi GPIO pins are not 5v-tolerant. I used the Adafruit I2C-safe converters, and they worked well. My other blog has more info on the RPi/Mega setup. At one point I had the Mega issuing XML that the Steel Series gauges could use, and that could easily be re-inserted into the Teensy Code.

Right now I'm re-working the PHP pages to make the setup of the chips name-based rather than address-based, since it's easy to get lost when dealing with 36 chips.
So much tinkering to do and so little time!! Thanks again
__________________
Something is always fermenting....
"It's Bahl Hornin'"

Primary:
Brite Tank/Lagering:
Kegged: Sour Saison, Pale Ale, Aggie Ale, Firestone DBA, De Koninck Blonde
Bottled: Belgian Quad (Grand Reserve), Derangement (Belgian Dark Strong)
On Deck: Pliny the Younger

 
Reply With Quote
Old 01-06-2013, 07:40 PM   #14
jimmayhugh
Turgid Member
HBT_LIFETIMESUPPORTER.png
 
jimmayhugh's Avatar
Recipes 
 
Feb 2011
Las Vegas, NV
Posts: 766
Liked 107 Times on 81 Posts


I've re-worked the web pages to used names instead of chip addresses when doing setup for the TeensyPi. This involved changes to web pages and the database tables, so I've uploaded a new image in the Downloads page of my blog.

I've also updated the setup procedure.

As always, comments are welcome.
__________________
TeensyNet Networked Controller
ButtCrack Brewery
And This Is Why We Drink...
Cogito, ergo bibere cervisia sum

 
Reply With Quote
Old 01-14-2013, 05:02 AM   #15
bolts
HBT_LIFETIMESUPPORTER.png
Recipes 
 
Sep 2009
Portland, OR
Posts: 306
Liked 8 Times on 7 Posts


Great stuff -- I already had a set of Teensy 3s from the kickstarter, but was wavering in the Pi -- now I have it in hand. Have you considered isolation between the Teensy and RPI? Something like an optoisolator?

 
Reply With Quote
Old 01-14-2013, 12:11 PM   #16
jimmayhugh
Turgid Member
HBT_LIFETIMESUPPORTER.png
 
jimmayhugh's Avatar
Recipes 
 
Feb 2011
Las Vegas, NV
Posts: 766
Liked 107 Times on 81 Posts


Quote:
Originally Posted by bolts View Post
Great stuff -- I already had a set of Teensy 3s from the kickstarter, but was wavering in the Pi -- now I have it in hand. Have you considered isolation between the Teensy and RPI? Something like an optoisolator?
Didn't see the need. Both are 3v3 and don't appear to have any problems. I'm messing around with adding one or more local 4x20 LCD screens, and am using voltage converters for the 3v3 to 5v levels there.

I'lll let you know how it goes.
__________________
TeensyNet Networked Controller
ButtCrack Brewery
And This Is Why We Drink...
Cogito, ergo bibere cervisia sum

 
Reply With Quote
Old 01-15-2013, 04:23 AM   #17
helibrewer
HBT_SUPPORTER.png
 
helibrewer's Avatar
Recipes 
 
Nov 2011
Santa Rosa, CA
Posts: 3,707
Liked 299 Times on 254 Posts


Quote:
Originally Posted by jimmayhugh

Didn't see the need. Both are 3v3 and don't appear to have any problems. I'm messing around with adding one or more local 4x20 LCD screens, and am using voltage converters for the 3v3 to 5v levels there.

I'lll let you know how it goes.
I was curious about that too, do you just need to instantiate a new LCD object for each screen?
__________________
Something is always fermenting....
"It's Bahl Hornin'"

Primary:
Brite Tank/Lagering:
Kegged: Sour Saison, Pale Ale, Aggie Ale, Firestone DBA, De Koninck Blonde
Bottled: Belgian Quad (Grand Reserve), Derangement (Belgian Dark Strong)
On Deck: Pliny the Younger

 
Reply With Quote
Old 01-15-2013, 12:26 PM   #18
jimmayhugh
Turgid Member
HBT_LIFETIMESUPPORTER.png
 
jimmayhugh's Avatar
Recipes 
 
Feb 2011
Las Vegas, NV
Posts: 766
Liked 107 Times on 81 Posts


Quote:
Originally Posted by helibrewer View Post
I was curious about that too, do you just need to instantiate a new LCD object for each screen?
Yup, I'm using a MCP23017 port expander over I2C, so I can hook up to 8 of them on the bus and then just create an lcd1, lcd2, etc object for each screen.

Biggest problem I see right now is that it can take up to 500ms to completely refresh the entire 4x20 lines. Plus I have to dig into python unless I want to write my own libraries for the RPi.
__________________
TeensyNet Networked Controller
ButtCrack Brewery
And This Is Why We Drink...
Cogito, ergo bibere cervisia sum

 
Reply With Quote
Old 01-18-2013, 09:13 PM   #19
jimmayhugh
Turgid Member
HBT_LIFETIMESUPPORTER.png
 
jimmayhugh's Avatar
Recipes 
 
Feb 2011
Las Vegas, NV
Posts: 766
Liked 107 Times on 81 Posts


OK, got the proof of concept worked out for the local 4x20 RGB LCB screens.

I've posted a video of the work so far on the TeensyPi website.

I created an I2C controlled RGB LCD card using a MCP23017 port expander, run it with python (good grief!! yet another programming language to learn ) libraries and code from Adafruit, and then hoolk it up to the RPi.

Should be able to run up to eight LCDs, unless the RPi runs out of steam.

I'll keep you posted.
__________________
TeensyNet Networked Controller
ButtCrack Brewery
And This Is Why We Drink...
Cogito, ergo bibere cervisia sum

 
Reply With Quote
Old 01-19-2013, 02:21 AM   #20
CapnBry
Recipes 
 
Oct 2012
Tampa, Florida
Posts: 38
Liked 6 Times on 4 Posts


You may have already found this, but I know when I used an MCP23017 with the adafruit library I noticed that the I2C bus was only running at 100kHz and could be juiced to 400kHz with a compiler define. That was on the Arduino platform though so I don't know if it carries to the Teensy platform.

Also, the adafruit library doesn't follow the needed timing, it errs on an overly-conscious side by ignoring the slow bus transfer speed and adding unneeded delays between transfers. A lot of the LiquidCrystal::write4bits() delay can be removed.

Just something to look at if you're looking to speed up the LCD updates-- I found an easy 5x speed increase which I needed because I was also updating custom characters to generate pseudo-graphics.



 
Reply With Quote
Reply
Thread Tools


Similar Threads
Thread Thread Starter Forum Replies Last Post
Arduino - Networked Temperature Monitor jimmayhugh Kegerators & Keezers 81 01-27-2013 01:22 AM
Temperature Controller sy2088 Equipment/Sanitation 3 10-25-2012 06:28 PM
Lux Temperature Controller scoots Fermenters 9 07-06-2012 01:38 PM
temperature controller from deas fridge - use as external controller on live fridge? BrewingChemist Fermenters 1 05-22-2012 10:21 PM
Johnson Analog Temperature Controller Temperature Profile Coastarine Equipment/Sanitation 4 10-11-2010 03:58 PM


Forum Jump