Turns a Raspberry Pi into a cheap, universal & web-enabled kiln Controller.
 
 
 
 
Go to file
benkrasnow 35eb7d3346
Update oven.py
Added proportional output funtionality by turning the oven (SSR) on for a portion of the time_step determined by the pid loop output. So, if time_step = 1, and the pid loop is calling for .3 heat, the SSR will be on for .3 seconds, and off for .7 seconds.  I did this by adding an additional sleep.  Previously, the SSR would be on whenever pid > 0.
2018-06-09 13:42:55 -07:00
lib Update oven.py 2018-06-09 13:42:55 -07:00
public fixed BUG with deleting profiles 2016-12-13 00:21:43 -05:00
storage/profiles More UI status update fixes 2013-12-10 14:10:56 +00:00
.gitignore support for kernel spi (not bitbang) MAX38155 interface 2017-11-30 18:48:39 -06:00
README.md add stanza to readme, lose the requirements file 2017-11-30 19:03:16 -06:00
config.py.EXAMPLE add a note about GPIO collisions with system SPI 2017-12-01 18:59:07 -06:00
picoreflowd.py Add time and temperature options 2016-07-07 23:41:06 -05:00

README.md

picoReflow

Turns a Raspberry Pi into a cheap, universal & web-enabled Reflow Oven Controller. Of course, since it is basically just a robot sensing temperature and controlling environmental agitators (heating/cooling) you can use it as inspiration / basis when you're in need of a PID based temperature controller for your project. Don't forget to share and drop a link, when you do :)

Standard Interface

Image

Curve Editor

Image

Hardware

  • Raspberry Pi (Rev 2B)
  • MAX 31855/6675 Cold-Junction K-Type Thermocouple
  • GPIO driven Solid-State-Relays/MOSFETs

Installation

Dependencies

We've tried to keep external dependencies to a minimum to make it easily deployable on any flavor of open-source operating system. If you deploy it successfully on any other OS, please update this:

Currently tested versions

  • greenlet-0.4.2
  • bottle-0.12.4
  • gevent-1.0
  • gevent-websocket-0.9.3

Ubuntu/Raspbian

$ sudo apt-get install python-pip python-dev libevent-dev
$ sudo pip install ez-setup
$ sudo pip install greenlet bottle gevent gevent-websocket

Gentoo

$ emerge -av dev-libs/libevent dev-python/pip
$ pip install ez-setup
$ pip install greenlet bottle gevent gevent-websocket

Raspberry PI deployment

If you want to deploy the code on a PI for production:

$ pip install RPi.GPIO

This only applies to non-Raspbian installations, since Raspbian ships RPi.GPIO with the default installation.

If you also want to use the in-kernel SPI drivers with a MAX31855 sensor:

$ sudo pip install Adafruit-MAX31855

Clone repo

$ git clone https://github.com/apollo-ng/picoReflow.git
$ cd picoReflow

Configuration

All parameters are defined in config.py, just copy the example and review/change to your mind's content.

$ cp config.py.EXAMPLE config.py

Usage

Server Startup

$ ./picoReflowd.py

Autostart Server onBoot

If you want the server to autostart on boot, run the following commands

sudo cp /home/pi/picoReflow/lib/init/reflow /etc/init.d/
sudo chmod +x /etc/init.d/reflow
sudo update-rc.d reflow defaults

Client Access

Open Browser and goto http://127.0.0.1:8080 (for local development) or the IP of your PI and the port defined in config.py (default 8080).

License

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.

Support & Contact

Please use the issue tracker for project related issues.

More info: https://apollo.open-resource.org/mission:resources:picoreflow