Kiln Controller Project - Page 1
Forum section: electronics / projects

author: Unknown
author_rank: Unknown
timestamp: September 16, 2012, 08:13:44 pm
content: Hi, I thought I'd share something I've been working on for quite a while in my evening and weekends, It's a kiln controller, it will ramp/soak temperatures up to 1300c. The programmes are created in XML on the PC then sent to the controller via Bluetooth, it can hold ~500 programmes, each programme can have up to 255 segments each. It will log each successful firing into a 32k memory segment, then you can retrieve the logs via Bluetooth for display into a graph, the number of logs depend on the sample rate it's set at.Everything is bit-banged, the real time clock the 64k eeprom and also the Bluetooth rx tx lines; The Bluetooth rx timing was by far the most awkward but it wasn't long before I had a workaround to solve it, and I think I've learned quite a bit from doing it that way.The first version was a breadboard version that I hooked up to a kiln and test fired some stoneware sculptures that my father-in-law created. Since the first version I've added a lot more functionality, mostly because I was learning more and more about electronics whilst making it, and also "feature creep". In the end I had to remove stuff just to make it all fit in the 8K of the microcontroller.My plan is to create a SMT version and perhaps design a nice enclosure for it. And also to actually start creating some nice ceramic sculptures to fire in my kiln! ;-)Prototype MkIIPrototype MkI

author: robrenz
author_rank: Super Contributor
timestamp: October 28, 2012, 07:53:33 pm
content: Nice job! dont let lack of replies discourage you. I think your subject title has a lot of people not even look. I only came here because of your post on the smoothing thermocouple thread.

author: M. András
author_rank: Super Contributor
timestamp: October 28, 2012, 08:08:54 pm
content: nice job, what kind of that wire mesh on those wires? im courios about the heating method btw

author: Unknown
author_rank: Unknown
timestamp: October 28, 2012, 08:56:14 pm
content: Quote from: M. András on October 28, 2012, 08:08:54 pmThanks. The wire mesh is just k-type thermcouple protective cable shielding. The TC wires should ideally be connected directly onto the AD595 for the cold junction compensation to work correctly.The heating method is via a 80A heatsinked SSR, it only has to handle 22 Amps but I figured it wouldn't hurt. The actual heating elements are two sets of Kanthal A1 elements.

author: Unknown
author_rank: Unknown
timestamp: October 28, 2012, 09:21:22 pm
content: Quote from: robrenz on October 28, 2012, 07:53:33 pmThanks Robrenz! After doing this project I'm now totally hooked on electronics!

author: Unknown
author_rank: Unknown
timestamp: February 12, 2013, 12:56:04 pm
content: Not much of an update other than I've just created a 2 board smaller version to fit in what I thought was a really cool looking blue transparent box! little did I know these boxes are considered a bit cheesy now!, but hey, in Maplins it was either a grey expensive one, or a "reduced to clear" i-mac coolness box ;-)I've been learning tons from this EEVblog forum and around the web, so I've been planning out v2 which will use a small TFT touchscreen and SMD parts.

author: TerraHertz
author_rank: Super Contributor
timestamp: February 13, 2013, 11:01:57 pm
content: Cool project (pun intended), especially for a beginner.Did you ever wonder how kiln temperature profile control was automated before microprocessors?Many years ago I salvaged such a controller from an old brickworks that had been shut down and abandoned years before that. The way it worked was fascinating.It was like a chart recorder, but functionally reversed. There were rollers that held a long roll of film, about a foot wide, many feet long. On the film someone would stick a thin black tape, graphing the temperature profile they wanted. As the machine fed the film past an optical head (very slowly), a feedback loop would keep the optical head centered over the black tape. The analog signal from the head position was passed to an analog PID control circuit that controlled the kiln gas burners to keep the kiln temperature sensor signal the same as the optical head position signal. With some rather slow time constants, considering this was a huge brick-making kiln, and firings that took weeks.If I ever get my 3rd workshop finished, it will include a metal casting kiln plus a ceramics kiln (also doubling as a glassware annealing kiln.) So I'll have the same problem. But that won't be for a while yet.Hmmm... actually, progress has been stuck for a while, partly due to a TIG welding problem I haven't yet solved. Maybe I should ask the machinist experts here about that.That workshop is to be the 'messy stuff' space. Woodworking, metal casting, ceramics, sandblasting, etc. Things that I'm never going to do again in my main workshop, after some regrettable fine dust contamination incidents.

author: Unknown
author_rank: Unknown
timestamp: February 14, 2013, 12:23:09 am
content: Quote from: TerraHertz on February 13, 2013, 11:01:57 pmTerraHertz - Very interesting! and sorry to hear about your heath!With the controller it has space for quite a few programmes and I'm keen to add as many presets as I can, the idea is that it can be used for everything under the sun! Does a glassware annealing kiln require controlled cooling or just heating? also do you have any curve info about pottery / metal and glass you'd like to share, if so, i'd be very interested to look at.The problem for me now is because of Mr Jones, i'm so hooked on electronics my art painting and new ceramics hobby are all taking a back-seat ride!

author: NiHaoMike
author_rank: Super Contributor
timestamp: February 14, 2013, 05:05:56 am
content: Based on my (very limited) experience with ceramics in school, the clay must dry before it can be baked. How useful would it be to have a very low setpoint (50C or so?) for accelerated drying of the clay?And why did you have to resort to bit banging? Did that rather large microcontroller really didn't have enough UARTs?

author: poorchava
author_rank: Super Contributor
timestamp: February 14, 2013, 08:28:26 am
content: I've done something similar some time ago. Temperature controller for 39kW, three phase pizza baking oven. Temperatures were lower though (like 350*C max). I remember that I had quite a hard time figuring out what would be the best switching element for that kind of power.What is the power that kiln? Is it 1 phase or 3 phase (i see 3 large TO220 devices there, but they may be as well connected in parallel). What regulation method do you use and how do you deal with (presumably) very high time constant?

author: Unknown
author_rank: Unknown
timestamp: February 14, 2013, 10:12:43 am
content: Quote from: NiHaoMike on February 14, 2013, 05:05:56 amVery useful - I've already added a programme for very gently dying the slip casting plaster moulds but I'll look into forced clay drying setpoints, thanks for the tip!Quote from: NiHaoMike on February 14, 2013, 05:05:56 amWell, To cut a long story very short, a real electronics engineer would simply specify the uC based on his hardware requirements and that would be the quickest and most logical way to approach the problem in my opinion; But If I said I'm not an EE and I spent 6 years at art school and then I said I am probably dyslexic, then to me the most logical solution is to read about rs232, then just write the code. I know this probably makes no sense to a real electrical engineer, but to me it does.When I wrote the communication console software to talk to the controller over rs232 bluetooth in C# I was getting corrupted data on the sends; but because I had written the uC rs232 stuff myself I instantly knew that it required a slight delay between each byte sent from the PC because of the limitations of the uC code, I knew the limitations of my uC buffer size, also I knew that 9600 baud is 1/9600 = ~104uS, so my pic 16f877a running at 4mhz / 4 = 1uS per instruction cycle had around ~104uS to push the incoming bits into a buffer and do any buffer parsing before the next received bit/s. I really enjoyed doing it that way because I learned to use my cheap digital scope by watching the i2c and rs232 signals and counting the bits ;-)

author: Unknown
author_rank: Unknown
timestamp: February 14, 2013, 11:09:39 am
content: Quote from: poorchava on February 14, 2013, 08:28:26 am39kW that is a lot of pizza! ;-) The kiln is single phase, 240v and draws ~22 amp, the To220 are just lm317's for the DC power rails, 15v for the ad595 thermocouple chip (1mV per 1'c, so my max kiln temp 1300'c requires ~15v) 5v for the 16f877a, ds1302 clock and 64k flash, lcd display) and a 3.3v for the el-cheapo Bluetooth rs232 module.The timing is all done via ds1302, yes a firing can take a very long while. The pic above shows the test firing from a breadboard version I remember starting it at 9pm one night, and I sat with it till later the next day, I wanted watch for any oscillations and take notes.The switching for mine is done with a single ssr rated at 80A with a heatsink and fan. I'm planning on using 2 ssr's, so if one fails closed, I can detect that by a continuing rising temp, then just turn off the heat with the other ssr.The timing is done by first setting up the programmes, these are written in xml. The example below is for a typical programme to biscuit fire a ceramic; this particular one has 3 segments, seg 1 is 200'c at a ramp of 30'c per hr, then 600'c at 70'c, then finally 960'c at full power and it will hold for 15 mins. The xml will get compiled to a binary file then it's uploaded to the controller via a c# console app. the uC then just stuffs it into the 64k flash memory. The uC reads it back when you're selecting a firing programme via the menu of the controller. When the controller is running it gets the time in minutes since you started, and then calculates the target setpoint based on the xml data; it also makes an initial adjustment based on the ambient temperature to skip up the curve to the correct starting place. Regulation is just done via on/off of the ssr, when I ran it initially I noticed the overshoot and made some notes, so now I just compensate to reduce the oscillations; these only occur at lower temperatures; but I added some tweak values so I can dynamically set those via Bluetooth if required depending on the thermal mass of the kiln. Ideally you should read up on PID and implement the proper calculations but since I didn't get maths, it made no sense to me, I just had to make mine up. It seems to work fine and looks ok in the log graph.Code:<prog><title>Biscuit</title><short_description>Biscuit Firing</short_description><long_description></long_description><seg data="200,30,0"/><seg data="600,70,0"/><seg data="960,999,15"/></prog>

author: SeanB
author_rank: Super Contributor
timestamp: February 14, 2013, 04:10:00 pm
content: My brother in law used to work at a brickmaker ( Corobrick) and one day during firing a burner nozzle cracked and a stream of oil went into the kiln for the burn duration rather than burning as a mist. Made a hot spot in the middle, and was not noticed as there were no thermocouples there. Made a 40 ton glass block in the middle fused to the floor. Removal was eventually done by using explosives to crack the base loose and using a massive tow chain attached to a D8 from the quarry to rip it out of the kiln and dump it in a corner of the yard, then rebuild the kiln. Brick making is big, nothing small there, with a blender that you literally dump 20 ton lots of rock into which then mills it to clay and extrudes the bricks out the other end. drop a 2m long crowbar in there and it comes out as metal powder finely mixed in the bricks.

author: TerraHertz
author_rank: Super Contributor
timestamp: February 14, 2013, 06:59:47 pm
content: Quote from: jucole on February 14, 2013, 12:23:09 amMy heath? Oh! Health. Ha ha, no, the problem was, while I was still constructing my main workshop I had several racks of electronics stored under plastic sheets in the same room as I was doing woodworking - making a staircase, cupboard doors, etc. Routers make extremely fine wood dust, and despite the plastic dust covers it got into everything. I'm *still* cleaning that crap out of gear. Never again. One building for clean stuff, one for messy stuff.QuoteMy main experience with furnaces is from a course with a bronze sculptor long ago. After that I was accumulating the gear for my own small casting setup, and then got married. Sigh. Now resurrecting that ambition. With a furnace for melting bronze there's no profile, just 'as hot and fast as you can make it'. Since the tin tends to burn off, so speed is critical. Also for lost wax molds you have a separate furnace going with the mold in it at the same time, and you want both furnaces to be 'done' at the same time. Then you get the red hot mold out and set in a sand bed, and the metal poured into it as quickly as possible. Fun times.

author: JimmyM
author_rank: Regular Contributor
timestamp: March 22, 2013, 01:24:10 am
content: Wow. Bit banging all that. It might seem now that my 16MHz m644 is a bit overkill. My reflow project profiles will just be 2 minutes or so, so I was figuring a RTC chip wasn't needed. A timer interrupt that can "tick" its way through a profile.Nice work.

author: fidi_bastler
author_rank: Newbie
timestamp: February 18, 2018, 08:29:29 am
content: Hi Jucole,thank you for posting this amazing project. I´m starting a similar project. My goal is to visualize the firnig process on a computer screen. I started using an arduino. But coding the avr is not easy for beginners.Could you share the code of your project? Properly I can reply a visualisation programThanks in advance