Arduino Oven Controller PID
This is my Arduino temperature-ramp PID controller, which is running on a hot plate (up to 325 C) and which shall also be tested on a furnace (up to 650 C). This controller integrates some interesting stuff that I didn't make, using libraries I didn't write, but perhaps this will be useful to someone.
Common furnace PID controllers focus on reaching temperature set-points and are manually set. This controller allows a final temperature set-point and a rate to be specified using serial commands to an Arduino.
An example command "S300 R10" would set a final temperature of 300C and a rate of 10C/minute, starting from the current temperature. A PID controller aims to match the moving temperature ramp.
The challenge for this controller is to make the relay not switch excessively -- I want to avoid wear on the relay, as it's switching a lot of power and is rated for 100,000 events at its rated power.
- McLaughlin Engineering Thermocouple Shield and Max31855 Library
- Omega K-type Thermocouple (I'm using 0.010" bare wire)
- Relay or Power Switch Tail II on Arduino Pin 7
Arduino Source Code Follows and is attached as "TC_Relay_Controls.tar"
Results for a Hot Plate
The above plot shows a hot-plate test to its maximum temperature.