cpswan / RPi_sousvide

Raspberry Pi scripts to control temperature for a sous vide water bath

Home Page:https://blog.thestateofme.com/2013/03/31/raspberry-pi-sous-vide-water-bath/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Raspberry Pi Sous Vide

A set of scripts to control the temperature of a water bath for Sous Vide cooking.

Hardware

A slow cooker or rice cooker (or anything else that has a heating element and that can hold the stuff you want to cook and enough water to submerge it)

A 434MHz remote controlled mains socket such as:

Lloytron A1210WH

I was originally using a socket from Maplin, but they're no longer in business, and that type of socket is impossible to come by these days.

A 434MHz RF transmitter such as:

http://proto-pic.co.uk/434mhz-rf-link-transmitter/

A waterproof DS18B20 temperature sensor (from eBay) and a 4k7 pull up resistor.

I used a Ciseco Slice of Pi to keep everything tidy, but they're also out of business now :(

Installation

Starting with Raspbian. First make sure that everything is up to date:

sudo apt-get update && sudo apt-get upgrade -y

Install dependencies:

sudo apt-get install -y git-core screen

Install PiLight
I've added a copy of my /etc/pilight/config.json here.

Install these scripts:

cd~
git clone https://github.com/cpswan/RPi_sousvide

Circuit

The 434MHz receiver needs to be connected like this:

Tx PinRaspberry Pi Header Pin
Pin 1 GNDPin 6 0V (Ground)
Pin 2 Data inPin 11 GPIO 0
Pin 3 VccPin 2 5.0 VDC Power
Pin 4 ANT173mm antenna wire (not on the Pi!)

and the DS18B20 needs to be connected like this:

Tx PinRaspberry Pi Header Pin
BlackPin 6 0V (Ground)
WhitePin 7 GPIO 7
RedPin 1 3.3 VDC Power

Here's a reminder of the Raspberry Pi GPIO pinout:

Before you start

Take a look in /sys/bus/w1/devices/ to find the device ID for the DS18B20 (e.g. 28-000003ea0350).

Edit 3biased.py and t1.sh with nano/vi or whatever to have the correct ID.

Running

It's a good idea to run this in a screen session:

screen

Optional - have a separate process monitoring temperature, so that there's a log afterwards:

./templog.sh &
tail -f temp_log

Press ctrl-a c to create another screen session (ctrl-a 0 and ctrl-a 1 can then be used to switch between sessions).

The main script will default to 55C:

./3biased.py

But it can be overridden to cook at different temperatures:

./3biased.py -t 60

It's also possible to change the control loop variables with command line switches to tune the script to a given cooker.

Disclaimer

This works for me, if you try it yourself and break your Raspberry Pi, ruin your food, or burn down your kitchen then I'm sorry, but it's your problem not mine.

About

Raspberry Pi scripts to control temperature for a sous vide water bath

https://blog.thestateofme.com/2013/03/31/raspberry-pi-sous-vide-water-bath/


Languages

Language:Python 73.5%Language:Shell 26.5%