Difference between revisions of "Ceramic Kiln/Controller"

From Makers Local 256
Jump to: navigation, search
(New Page)
 
m (Technical Details: updated pinout to reflect reality)
 
(17 intermediate revisions by one user not shown)
Line 1: Line 1:
 
{{Project|Creator=EnabrinTain
 
{{Project|Creator=EnabrinTain
|Status=<onlyinclude> In Work </onlyinclude>                                <!--LEAVE ONLYINCLUDES FOR STATUS HACK-->  
+
|Status=<onlyinclude> modifying design to account for physics </onlyinclude>                                <!--LEAVE ONLYINCLUDES FOR STATUS HACK-->  
 
|Born On=10:55, 16 February 2013 (CST)                                                                  <!--DO NOT EDIT -->
 
|Born On=10:55, 16 February 2013 (CST)                                                                  <!--DO NOT EDIT -->
 
|Last Updated={{#time: H:i, d F Y| {{REVISIONTIMESTAMP}} }} (CDT)              <!--DO NOT EDIT -->
 
|Last Updated={{#time: H:i, d F Y| {{REVISIONTIMESTAMP}} }} (CDT)              <!--DO NOT EDIT -->
Line 7: Line 7:
 
==Overview==
 
==Overview==
 
I'm building an arduino based kiln controller for driving our Kiln.
 
I'm building an arduino based kiln controller for driving our Kiln.
 +
[https://github.com/enabrintain/kilncontroler The Arduino code is here.]
 +
The libraries that I'm using are:
 +
* [https://github.com/adafruit/Adafruit-MAX31855-library Adafruit MAX31855 library]
 +
* [http://playground.arduino.cc//Code/PIDLibrary PIDLibrary]
 +
* [https://code.google.com/p/sdfatlib/ Seeed SD Card Library]
 +
* [http://playground.arduino.cc/Code/Time Arduino Time Library]
 +
 +
== Goals/Features ==
 +
* Add mode button for Candling. (raise temp to 190F and maintain temp for 12 hours.)
 +
* Add mode buttons for Timed Firing (not sure how this might be useful, but then I know nothing of ceramic arts either. maybe glazing?)
 +
* Add mode button for Gradual Heating (slowly heat the kiln as opposed to full electric on.)
  
  
 
== Materials/Links ==
 
== Materials/Links ==
 
* Arduino Uno
 
* Arduino Uno
* [https://www.adafruit.com/products/269 Thermocouple Amplifier MAX31855 breakout board] ($20)
+
* 2x [https://www.adafruit.com/products/269 Thermocouple Amplifier MAX31855 breakout board] (~$40)
 
* [http://www.ebay.com/itm/121056049471?ssPageName=STRK:MEWNX:IT&_trksid=p3984.m1439.l2649 Type K High Temp Thermocouple] ($28)
 
* [http://www.ebay.com/itm/121056049471?ssPageName=STRK:MEWNX:IT&_trksid=p3984.m1439.l2649 Type K High Temp Thermocouple] ($28)
 
* [http://www.ebay.com/itm/230913392675?ssPageName=STRK:MEWNX:IT&_trksid=p3984.m1439.l2649 DC-AC Solid State Relay SSR-40DA 40A 3-32VDC 24-380VAC w Heat Sink] ($24)
 
* [http://www.ebay.com/itm/230913392675?ssPageName=STRK:MEWNX:IT&_trksid=p3984.m1439.l2649 DC-AC Solid State Relay SSR-40DA 40A 3-32VDC 24-380VAC w Heat Sink] ($24)
 +
* [http://digistump.com/wiki/digispark/tutorials/relay DigiSpark Relay Shield] (because I had spares and am a little afraid of hooking the SSR directly to the arduino without a transistor circuit; also I'm lazy)
 +
* [http://www.seeedstudio.com/wiki/SD_Card_Shield_V3.0 Seeed SD Shield] ($10 + $12 sd card)
 +
 +
== Technical Details ==
 +
* '''Current Status''': We tested the Thermocouple board and determined that for the thermocouple that we are using (adafruit's is only rated to 900F, the kiln fires to 2307F) is passing heat through the wires to the cold end; to the tune of 700F! Our solution: Get another MAX31855 chip, attach it to the cold end, and sum the two temps! I'll be changing the pin map the reflect the new reality and using [http://tronixstuff.wordpress.com/2011/01/11/tutorial-using-analog-input-for-multiple-buttons/ this] method for the buttons. (its a good thing I hadn't soldered the ends to the pins yet...)
 +
* prior comments: reading temp and displaying it on LCD display; The high fire Type K thermocouple arrived and is installed. All SolidStateRelays are in from China. Initial Draft of code is written for governing firing schedule segments. I added a SD Card shield to the design. I am now out of pins on the Arduino. If I want it to do more, I'll have to go to the Mega 2560. ^__^ I need to add more debugging info to the SD log.
 +
  
 +
PIN MAP - currently the code and the pin map do not agree with each other. The code will be changing.
 +
{| class="wikitable sortable" border="1" style="margin: left; width: 60%; border:solid #EFEFF1; -moz-border-radius: 10px; background:white; padding:8px;"
 +
|-
 +
! style="background: #DDDDDD"| Pin
 +
! style="background: #DDDDDD"| Group
 +
! style="background: #DDDDDD"| Use
 +
|-
 +
| D13
 +
| SD Card Shield
 +
| SCK
 +
|-
 +
| D12
 +
| SD Card Shield
 +
| MISO
 +
|-
 +
| D11
 +
| SD Card Shield
 +
| MOSI
 +
|-
 +
| D10
 +
| SD Card Shield
 +
| CS
 +
|-
 +
| D09
 +
| LCD
 +
| RS
 +
|-
 +
| D08
 +
| LCD
 +
| Enable
 +
|-
 +
| D07
 +
| LCD
 +
| d0
 +
|-
 +
| D06
 +
| LCD
 +
| d1
 +
|-
 +
| D05
 +
| LCD
 +
| d2
 +
|-
 +
| D04
 +
| LCD
 +
| d3
 +
|-
 +
| D03
 +
| MAX31855 Thermocouple board
 +
| CLK
 +
|-
 +
| D02
 +
| MAX31855 Thermocouple board
 +
| CS
 +
|-
 +
| D01
 +
| TX
 +
| pin
 +
|-
 +
| D00
 +
| RX
 +
| pin
 +
|-
 +
|-
 +
| A5
 +
| MAX31855 Thermocouple board
 +
| CLK
 +
|-
 +
| A4
 +
| MAX31855 Thermocouple board
 +
| CS
 +
|-
 +
| A3
 +
| MAX31855 Thermocouple board
 +
| d0
 +
|-
 +
| A2
 +
| MAX31855 Thermocouple board
 +
| d0
 +
|-
 +
| A1
 +
| Kiln Relay
 +
| pin
 +
|-
 +
| A0
 +
| Buttons
 +
|}
  
== Code ==
+
== Usecases ==
* Status: reading temp and displaying it on lcd display; I'm waiting on the parts from ebay to start integrated kiln testing.
+
  
 +
1.'''Turn On / Clear'''
 +
* Press Init Button
 +
2.'''Select Cone'''
 +
* Starts at 022 and goes to 8
 +
3.'''Select Hold Time (mutually exclusive with the physical cone switch)'''
 +
* 0 to 9 hrs
 +
4.'''Select Kiln Mode - default is Fast speed'''
 +
* Press Mode Button to switch between Slow, Medium, Fast, Slow w/ controlled cooling, Medium w/ C.C. (back to slow)
 +
{|
 +
|-
 +
! style="background: #EEEEEE"| Mode
 +
! style="background: #EEEEEE"| Time Segments
 +
! style="background: #EEEEEE"| Description
 +
|-
 +
| Fast
 +
| 1
 +
| Balls to the wall/As hot as the elements can get
 +
|-
 +
| Medium
 +
| 4
 +
| 1(0F-250F@200F/hr), 2(250F-1000F@400F/hr), 3(1000F-1200F@180F/hr), 4(1200F-1700F@300F/hr), Further heating at 200F/hr
 +
|-
 +
| Slow
 +
| 4
 +
| 1(0F-250F@80/hr), 2(250F-1000F@250/hr), 3(1000F-1200F@150/hr), 4(1200F-1700F@180/hr), Further heating at 80F/hr
 +
|-
 +
| Slow w/Controlled Cooling
 +
| 8/9
 +
| Heating cycle as Slow. Cooling is a reverse of Segments.
 +
|-
 +
| Medium w/Controlled Cooling
 +
| 8/9
 +
| Heating cycle as Medium. Cooling is a reverse of Segments.
 +
|}
 +
5.'''Start Button'''
 +
* Verifies all selections are valid and begins Firing Cycle.
  
  

Latest revision as of 20:58, 16 August 2013

Creator:
EnabrinTain
Status:
modifying design to account for physics
Born On:
10:55, 16 February 2013 (CST)
Last Updated:
20:58, 16 August 2013 (CDT)

Overview

I'm building an arduino based kiln controller for driving our Kiln. The Arduino code is here. The libraries that I'm using are:

Goals/Features

  • Add mode button for Candling. (raise temp to 190F and maintain temp for 12 hours.)
  • Add mode buttons for Timed Firing (not sure how this might be useful, but then I know nothing of ceramic arts either. maybe glazing?)
  • Add mode button for Gradual Heating (slowly heat the kiln as opposed to full electric on.)


Materials/Links

Technical Details

  • Current Status: We tested the Thermocouple board and determined that for the thermocouple that we are using (adafruit's is only rated to 900F, the kiln fires to 2307F) is passing heat through the wires to the cold end; to the tune of 700F! Our solution: Get another MAX31855 chip, attach it to the cold end, and sum the two temps! I'll be changing the pin map the reflect the new reality and using this method for the buttons. (its a good thing I hadn't soldered the ends to the pins yet...)
  • prior comments: reading temp and displaying it on LCD display; The high fire Type K thermocouple arrived and is installed. All SolidStateRelays are in from China. Initial Draft of code is written for governing firing schedule segments. I added a SD Card shield to the design. I am now out of pins on the Arduino. If I want it to do more, I'll have to go to the Mega 2560. ^__^ I need to add more debugging info to the SD log.


PIN MAP - currently the code and the pin map do not agree with each other. The code will be changing.

Pin Group Use
D13 SD Card Shield SCK
D12 SD Card Shield MISO
D11 SD Card Shield MOSI
D10 SD Card Shield CS
D09 LCD RS
D08 LCD Enable
D07 LCD d0
D06 LCD d1
D05 LCD d2
D04 LCD d3
D03 MAX31855 Thermocouple board CLK
D02 MAX31855 Thermocouple board CS
D01 TX pin
D00 RX pin
A5 MAX31855 Thermocouple board CLK
A4 MAX31855 Thermocouple board CS
A3 MAX31855 Thermocouple board d0
A2 MAX31855 Thermocouple board d0
A1 Kiln Relay pin
A0 Buttons

Usecases

1.Turn On / Clear

  • Press Init Button

2.Select Cone

  • Starts at 022 and goes to 8

3.Select Hold Time (mutually exclusive with the physical cone switch)

  • 0 to 9 hrs

4.Select Kiln Mode - default is Fast speed

  • Press Mode Button to switch between Slow, Medium, Fast, Slow w/ controlled cooling, Medium w/ C.C. (back to slow)
Mode Time Segments Description
Fast 1 Balls to the wall/As hot as the elements can get
Medium 4 1(0F-250F@200F/hr), 2(250F-1000F@400F/hr), 3(1000F-1200F@180F/hr), 4(1200F-1700F@300F/hr), Further heating at 200F/hr
Slow 4 1(0F-250F@80/hr), 2(250F-1000F@250/hr), 3(1000F-1200F@150/hr), 4(1200F-1700F@180/hr), Further heating at 80F/hr
Slow w/Controlled Cooling 8/9 Heating cycle as Slow. Cooling is a reverse of Segments.
Medium w/Controlled Cooling 8/9 Heating cycle as Medium. Cooling is a reverse of Segments.

5.Start Button

  • Verifies all selections are valid and begins Firing Cycle.