Building a PID kiln controller

I am completely new to Arduino and, for the most part coding. I've checked the forums but haven't found a good solution to my project so hopefully someone could help me out here.

My project is a PID kiln controller, used to run firing programs on a small ceramic test kiln (120v/15a). So far I have gathered that I will probably need an arduino uno, an SSR (though I don't know what kind) and a K-type thermocouple that will be accurate above 1300c. Unfortunately, beyond that I'm not totally sure how to go forward.

Once I have the build complete then I can start to worry about the coding. Any help at all would be greatly appreciated!

See this thread about reading the thermocouple:
http://forum.arduino.cc/index.php?topic=121312.0

Then take a look at the PID example in the playground:
http://playground.arduino.cc/Code/PIDLibrary

You will have to read the thermocouple, run it through an output that supports PWM and tie that to the SSR. Then you will have to tune the PID (not really a trivial task) to get the correct parameters to keep the oven stable.

If you are not tied to the Arduino, you can find a stand alone PID controller for abot $30.

Thanks, Nathan!

I'm not tied to the arduino, but I haven't found a PID controller that can run a segmented program with holds and ramps. The rest of your directions isn't very clear to me but I appreciate you pointing me in the right direction. I will do more reading on the things you mentioned in your post. Or could you be more specific about the hardware I need?

Holds and ramps are a little more than a single loop controller can do easily.

First, you will need the thermocouple. You mentioned you are using a K type. Google Arduino K Type Thermocouple and you will see tons of devices that will work. A thermocouple is a millivolt device that the Arduino cannot read directly. In addition, the thermocouple terminals need to be the same type of metal as the thermocouple itself.

The thermocouple signal will need to be converted to a signal the arduino can read. Most probably convert the signal to a digital signal that can be read over the SPI or I2C bus. The arduino has both of those. You may be able to find a converter that can convert it to a 0 to 5 V signal, but you would lose some resolution there. Look on at the information on the converter to see if they have example code.

I don't have a thermocouple converter, so I don't know which to recommend.

For the output, you will need an SSR (solid state relay). I have used a SSR-25DA. Mine handle output of 24-380 VAC at 25A, with a input of between 3 to 32 VDC for the signal. An Uno or Mega will drive these directly. I don't know if the 3.3V arduinos will. I have a Arduino 101 sitting here, but have not tried to drive the SSR with it. Note, this SSR is a zero crossing SSR. When it turns on, it does not turn off until the AC sine wave crosses the zero point.

When the heater is connected to the SSR, the hot wire is connected to the heater by the SSR (assuming you are on an AC feed with a hot and a neutral).

The PID algorithm will allow you to pulse the heater to maintain the temperature setpoint. You can adjust that setpoint to get the ramps and holds.

Search around the internet, you may find someone who has built an identical or very similar system.

Here is a link I found with a couple of minutes of searching.
https://256.makerslocal.org/wiki/Ceramic_Kiln/Controller

This thread may give you some useful ideas.

http://forum.arduino.cc/index.php?topic=298195.0