Spike Brewing 12.5 Conical Fermenter Giveaway!

Home Brew Forums > Home Brewing Beer > DIY Projects > TeensyPi Networked Temperature Controller

Reply
 
LinkBack Thread Tools
Old 05-10-2013, 01:08 PM   #331
jimmayhugh
Turgid Member
HBT_LIFETIMESUPPORTER.png
Feedback Score: 0 reviews
 
jimmayhugh's Avatar
Recipes 
 
Join Date: Feb 2011
Location: Las Vegas, NV
Posts: 577
Liked 46 Times on 41 Posts
Likes Given: 2

Default

Quote:
Originally Posted by purdman10 View Post
Yes, That's the one. What is the advantage of using 3v3 to 5v level-shifter circuits rather than the 3v3 regulator? I am waiting for that board to arrive to start playing, rather than soldering wires on to the Adafruit Pi Plate board.
The 3v3 signal lines work just fine if the mini-lan is relatively short and configured properly.

I've tested the mini-lan in non-ideal configurations such as extremely long lines (> 100 meters), and mixed topologies (instead of a daisy-chain, I've tested a star configuration and a hybid of daisy-chain and star, with varying line lengths on the stubs of both the daisy-chain and star), and found that as the "weight" of the mini-lan increases, reflections on the 3v3 line can cause problems. This is mediated somewhat by using the level-shifter and driving the mini-lan at 5v.

It's also one less wire in the cabling.
jimmayhugh is offline
 
Reply With Quote Quick reply to this message
Old 05-16-2013, 07:04 PM   #332
jsbird
HBT_SUPPORTER.png
Feedback Score: 0 reviews
Recipes 
 
Join Date: Oct 2012
Posts: 39
Likes Given: 2

Default

Another noobie questions Jimmayhugh:

Does the LCD board connect to the IC2 of the Teensy or the RPI? I expected they would be the same but my TeensyPi board has terminal blocks for both. I'm guessing RPI as I think you mentioned previously that the RPI is managing the data communications while the Teensy is controlling the actions. I haven't found the specific code that tells the LCD what to display; where should I look?

__________________
jsbird is offline
 
Reply With Quote Quick reply to this message
Old 05-17-2013, 01:19 AM   #333
jimmayhugh
Turgid Member
HBT_LIFETIMESUPPORTER.png
Feedback Score: 0 reviews
 
jimmayhugh's Avatar
Recipes 
 
Join Date: Feb 2011
Location: Las Vegas, NV
Posts: 577
Liked 46 Times on 41 Posts
Likes Given: 2

Default

Quote:
Originally Posted by jsbird View Post
Another noobie questions Jimmayhugh:

Does the LCD board connect to the IC2 of the Teensy or the RPI? I expected they would be the same but my TeensyPi board has terminal blocks for both. I'm guessing RPI as I think you mentioned previously that the RPI is managing the data communications while the Teensy is controlling the actions. I haven't found the specific code that tells the LCD what to display; where should I look?
The LCD board(s) are connected to the RPi I2C terminals. The program that controls the LCD board(s) is the compiled program i2c_lcd located at /var/www/htdocs in the latest RPi image (Version 0.0.19 - 04/07/2013), while the c code and compiler script are at /home/teensypi/i2c_lcd/. It uses the WiringPi library, which is also installed.

The i2c_lcd program is in turn started and stopped when an action set is enabled with a LCD selection.

You can also test for the board(s) using i2cdetect.
jimmayhugh is offline
 
Reply With Quote Quick reply to this message
Old 05-17-2013, 01:49 PM   #334
jsbird
HBT_SUPPORTER.png
Feedback Score: 0 reviews
Recipes 
 
Join Date: Oct 2012
Posts: 39
Likes Given: 2

Default

Quote:
Originally Posted by jimmayhugh

The LCD board(s) are connected to the RPi I2C terminals. The program that controls the LCD board(s) is the compiled program i2c_lcd located at /var/www/htdocs in the latest RPi image (Version 0.0.19 - 04/07/2013), while the c code and compiler script are at /home/teensypi/i2c_lcd/. It uses the WiringPi library, which is also installed.

The i2c_lcd program is in turn started and stopped when an action set is enabled with a LCD selection.

You can also test for the board(s) using i2cdetect.
That helped. I updated the image and then downloaded the WiringPi Library and it lit right up and displayed action status. I populated all the resistors but wondering now if I need the two you omitted given I'm using your TeensyPi board. It works with them...
__________________
jsbird is offline
 
Reply With Quote Quick reply to this message
Old 05-17-2013, 03:19 PM   #335
jimmayhugh
Turgid Member
HBT_LIFETIMESUPPORTER.png
Feedback Score: 0 reviews
 
jimmayhugh's Avatar
Recipes 
 
Join Date: Feb 2011
Location: Las Vegas, NV
Posts: 577
Liked 46 Times on 41 Posts
Likes Given: 2

Default

Quote:
Originally Posted by jsbird View Post
That helped. I updated the image and then downloaded the WiringPi Library and it lit right up and displayed action status. I populated all the resistors but wondering now if I need the two you omitted given I'm using your TeensyPi board. It works with them...
The missing resistors are the pullups for the I2C lines, and only one set is required. If you plan on using more than one LCD board on your system, leave the resistors off of any future boards.
jimmayhugh is offline
 
Reply With Quote Quick reply to this message
Old 05-17-2013, 04:34 PM   #336
jsbird
HBT_SUPPORTER.png
Feedback Score: 0 reviews
Recipes 
 
Join Date: Oct 2012
Posts: 39
Likes Given: 2

Default

So one and only one of the LCD boards attached the Teensypi at any given time should have the two resistors installed; got it! The LCD is reporting action status fine. Doesn't appear that the software is capable of reporting PID status, correct? I don't see an option to tie PID status to an LCD and setting up a parallel Action will report the temp probe but not the PID switch actions or the setpoint.

__________________
jsbird is offline
 
Reply With Quote Quick reply to this message
Old 05-17-2013, 04:36 PM   #337
jimmayhugh
Turgid Member
HBT_LIFETIMESUPPORTER.png
Feedback Score: 0 reviews
 
jimmayhugh's Avatar
Recipes 
 
Join Date: Feb 2011
Location: Las Vegas, NV
Posts: 577
Liked 46 Times on 41 Posts
Likes Given: 2

Default TeensyPi Board - Version 5

This is my latest version of the TeensyPi main board. This version does away with the need for a separate 3V3 regulator and 3V3 cable:



The 1-Wire mini-lan and both I2C channels are now buffered with level shifters that convert the 3V3 signals from the Teensy 3.0 and RPi to 5V signals to the outside world and vice-versa. The level shifters are comprised of BS170 N-Channel MOSFETS and 10K resistors. Each signal channel is designed per this diagram:



There are 10 - BS170 and 10 - 10k resistors on the board. I went with this design to eliminate the separate 3V3 regulator and additional cable line required in my previous design. The added feature is that it provides better resistance to noise and reflections on a heavily-loaded or non-optimal 1-Wire mini-lan.

This board is compatible with all of the other 1-Wire and I2C boards by simply jumpering the 5V and 3V3 terminal block on the boards.

The Eagle and Gerber files are available on my github account.

__________________
TeensyNet Networked Controller
ButtCrack Brewery
And This Is Why We Drink...
jimmayhugh is offline
 
Reply With Quote Quick reply to this message
Old 05-23-2013, 09:34 PM   #338
jimmayhugh
Turgid Member
HBT_LIFETIMESUPPORTER.png
Feedback Score: 0 reviews
 
jimmayhugh's Avatar
Recipes 
 
Join Date: Feb 2011
Location: Las Vegas, NV
Posts: 577
Liked 46 Times on 41 Posts
Likes Given: 2

Default

Quote:
Originally Posted by jsbird View Post
Doesn't appear that the software is capable of reporting PID status, correct? I don't see an option to tie PID status to an LCD and setting up a parallel Action will report the temp probe but not the PID switch actions or the setpoint.
That's correct. It's doable, I just need to add a few tables and rows to the MySQL database, modify the PID setup and display pages, and re-write the LCD daemon. Right now I'm futzing with the thermocouple hardware/software. The next board will not be a shield, that is it won't sit on top of the RPi. I needed more room to add 4 thermocouples, so I have to spring for a Hobbyist version of EAGLE. I'm also trying to decide if it's more cost-effective to put the SMD parts directly on the board, or use a breakout board similar to the Adafruit board.
__________________
TeensyNet Networked Controller
ButtCrack Brewery
And This Is Why We Drink...
jimmayhugh is offline
 
Reply With Quote Quick reply to this message
Old 06-13-2013, 06:43 AM   #339
suncatalyst
Feedback Score: 0 reviews
Recipes 
 
Join Date: Jun 2013
Posts: 1
Default

Jim,

Ive been following your project and really love what you have accomplished so far...

only features missing for me is a way to send a email if the parameters are above or below the set threshold so it can be dealt with if im not at home to keep a eye on the webpage.

other one is a way to deal with a power outage at my house. i have a APC UPS that will drive the rpi and assorted sensors... and to have it send a email to my phone so im aware of the power outage.

whats the chance of adding these options to the webpage? and to the underlying OS.

of note. Ive been around Unix OS's for long time. ever since the days of SunOS 4.0.x and Solaris 2.1 and FreeBSD 2.x and Linux 0.x... i have VERY little experience with embedded.

__________________
suncatalyst is offline
 
Reply With Quote Quick reply to this message
Old 06-13-2013, 11:18 AM   #340
jimmayhugh
Turgid Member
HBT_LIFETIMESUPPORTER.png
Feedback Score: 0 reviews
 
jimmayhugh's Avatar
Recipes 
 
Join Date: Feb 2011
Location: Las Vegas, NV
Posts: 577
Liked 46 Times on 41 Posts
Likes Given: 2

Default

Quote:
Originally Posted by suncatalyst View Post
Jim,

Ive been following your project and really love what you have accomplished so far...

only features missing for me is a way to send a email if the parameters are above or below the set threshold so it can be dealt with if im not at home to keep a eye on the webpage.

other one is a way to deal with a power outage at my house. i have a APC UPS that will drive the rpi and assorted sensors... and to have it send a email to my phone so im aware of the power outage.

whats the chance of adding these options to the webpage? and to the underlying OS.

of note. Ive been around Unix OS's for long time. ever since the days of SunOS 4.0.x and Solaris 2.1 and FreeBSD 2.x and Linux 0.x... i have VERY little experience with embedded.
The OS on the RPi is basically Debian Linux that's been optimized and compiled for the RPi CPU. Otherwise it's a standard linux, with most of the linux packages available from the appropriate repository.

It should be a relatively trivial operation to add a mail handler, and the code in /var/www/htdocs/updateActionStatusWithMySQL.php or
/var/www/htdocs/updateStatus.php should provide some ideas about where to set the trip points for the e-mail.

Hope this helps.
__________________
TeensyNet Networked Controller
ButtCrack Brewery
And This Is Why We Drink...
jimmayhugh 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 - Networked Temperature Monitor jimmayhugh DIY Projects 81 01-27-2013 12:22 AM
Temperature Controller sy2088 Equipment/Sanitation 3 10-25-2012 06:28 PM
Lux Temperature Controller scoots DIY Projects 9 07-06-2012 01:38 PM
temperature controller from deas fridge - use as external controller on live fridge? BrewingChemist DIY Projects 1 05-22-2012 10:21 PM
Johnson Analog Temperature Controller Temperature Profile Coastarine Equipment/Sanitation 4 10-11-2010 03:58 PM