Temperature regulation in pottery kiln with 3 phase 400V

My wife will retire from her work in a near future, and she´s very interested (and skilled) in pottery. For this reason we have bought a pottery kiln, able to reach temperatures up to 1200 oC. In order to make the kiln appropriate for glass works (with higher demands on the temperature curve) I have started to sketch on a new temperature control system. Some of the fundamentals of this system are:

  1. Heating elements are 3 x 5 kW, Y-coupled (400V 50Hz)
  2. Temperature sensor is a thermocouple, type K with capacity up to 1200 oC
  3. PID should preferrably build on Arduino UNO (´cause I have it)
  4. Instead of contactors or other hardswitches I would like to use a thyristor stack, controlled by the Arduino environment

Logically the control system must be able to read a wished temperature at a certain time, compare this value with actual temperature in the kiln, and regulate the power given to the heating elements through the thyristors. A suitable thyristor pack should probably be UAL:s PR3-E-18KW, this burst firing control stack uses fast pulse zero volts switching technology.

The temperature in the kiln must be regulated both through heating and cooling cycles. The duration of the whole operation will be around 10 hours. With temperature checks each minute, there will be at least 600 checkpoints against wished temperature. A PWM device should regulate the thyristor pack, depending om the difference between actual and wished temperature. A typical temperature curve for glass works is shown in fig 1 below.

As you already understood, I´m very new in this world of nice opportunities, so I need your help!

Some of my first questions are:

Can I use Arduino UNO for this purpose? Is the thyristor pack the right choice for this purpose? Do I need some interface(s) between the Arduino and the thyristor pack (the control circuit can handle 5V, with a current limited to approx 40 mA)?

How to deal with the list of wished temperatures at different times? What should be the best way to store these temperature curves (there are several curves depending on what program we run – glass or different kind of pottery)?

A very simple first sketch of the system is presented in fig 2 below.

I would have thought an SCR was the right switching tool but thyristor sounds good too. (They are just slightly different configurations of the same device.)

You need to be absolutely sure that the 400v is isolated from your Arduino and anything that you or your wife will be near. This is usually done by optocouplers between the high and low voltage parts of the circuit. The datasheet for the thyristors should probably show this as one of the example circuits. Keep looking at other datasheets for similar devices and I'm sure you'll see one that tells you what isolation components to use.

The type of control you probably want is PID control. There's hundreds or thousands of Arduinos out there being used for this kind of temperature control. (Few will be working at this power level.) The code for this sort of ramp up and down should be easily obtainable by googling for Arduino temperature controllers.

I would store the temperature profiles in the EEPROM of the Arduino. Use an LCD screen so that it can be used without an attached laptop. If you don't mind attaching the laptop to edit the profiles, then just hardcode the different options into your Arduino program and provide enough buttons or switches and LED lights to select the desired temperature profile.

Google "Arduino reflow oven control" for numerious examples of doing oven temperature control with a programmable temperature profile. You'll also find there information on how to increase the voltage from the type K thermocouple to a voltage that can be used by Arduino.

A PWM device should regulate the thyristor pack, depending om the difference between actual and wished temperature.

Why ?

It doesn't seem to be a particularly relevant application for PWM here.

From looking at the specs, I think the control inputs are opto-isolated. Unfortunately, the manufacture does not say that in the controller spec. Fortunately, their Documents page had some files that did say "opto-isolated inputs." I could not find any connection between the controller document and other documents. It's reasonable that they are opto-isolated, but it doesn't hurt to ask.

The second thing I noticed is that it is really an analog input. You could treat it like an on-off signal, but you should take advantage all the engineering they put into the thyristor control by feeding it a 0-5V analog signal. However...

Arduinos don't have analog outputs, so you can either "smooth" a PWM signal into an RC network, or add some DAC. Feeding PWM directly into the control input is probably not a good idea, as michinyon noted.

Keep us posted! /dev

michinyon: Why ?

It doesn't seem to be a particularly relevant application for PWM here.

not the right term perhaps.

Burst fire controller ? its basically pwm with widths in multiples of10 ms. I suspect the reason for the thyristor rather than scr is to allow switching of both pos and neg half cycles.

/dev: some DAC. Feeding PWM directly into the control input is probably not a good idea, as Keep us posted! /dev

zero volts switching has been mentioned. high power controllers like that fire for a discrete no of cycles normally.

need to check what the manufactures says though

One caveat though . you may have to employ phase sensing.

The reason is that you need to ensure each element gets the same no of cycles, the physical arrangement of the elements otherwise could mean that if one element gets more power than the others, the heating could be uneven

Need more information on that controller though. my suspicion is that it may be an analogue input with the internal electronics taking care of the pwm. I built one of those over 30 years ago and it had a knob :o

Thanks for all your inputs! :) As Boardburner2, I thought that zero volt switching meant a need for a PWM. But there is also an alternative for manually power regulation, which indicates that a PWM is integrated in the power pack. So I must check several of your comments with UAL:s representatives here in Sweden.

I´ll be back!

Btw, if there´s an analog in on the power pack - how to solve it with UNO? /Kaj

Hi,

http://www.radio-electronics.com/info/data/semicond/thyristor/thyristor.php

No difference between SCR and Thyristor, just what side of electronics/electrical you come from. The burst control is basically ON/OFF control with very long times involved using complete AC cycles. For example. 50% power could be, 100cycles ON, 100cycles OFF. 25% power could be, 25cycles ON, 75cycles OFF. (A form of PWM but not as we would normally know it, Jim) The inertia of the kiln is such that the possibility of over shoot is extremely low.

Zero crossing switching ensures a relatively noiseless switch and low surge current.

The digital output of the arduino should be enough to turn the PR3-E-18KW on and off via an opto-coupler. If you do need output level control then the PWM output will have to be used with a filter circuit to convert it to analog.

I like the choice of PR3-E-18KW as it has some basic monitoring alarms, such as phase loss and over heating.

Tom..... :)

kajan: if there´s an analog in on the power pack - how to solve it with UNO?

Uhhh...

/dev: you can either "smooth" a PWM signal into an RC network...

A quick google search found this, via Hack-A-Day. It's as simple as a resistor from the Arduino digital output pin to the "+", and a capacitor across the "+" and "-". You just have to pick the values. UAL don't say how much current it will sink, but I would guess between 1 and 500uA (*micro*Amps!). That means R should probably be something between 10k and 100k. C should probably be between 0.1uF and 2.2uF. I'm just guessing, though.

/dev: ... or add some DAC

There are any number of Digital-to-Analog Converter modules available for a few bucks. You don't need much precision for what you're doing. google "arduino DAC module".

Boardburner2: I built one of those over 30 years ago and it had a knob :o

Yes, one of the options was to hook a pot to the inputs. You could also drive it with 4-20mA current instead of voltage by placing a 270ohm resistor across the inputs. 0-10V was also an option. Which method you want to use is selected with switches on the controller.

Although you could treat it like an ON/OFF input, you'd be bypassing all the nice work they've done inside the controller. If you go this route, you should probably flip no quicker than 10 seconds or so. Really, how much will the temperature change in 10 seconds?

This is where the gazillion reflow controller projects can help you determine how to measure the oven's reaction with the thermistor, and how to use and set up the PID. As avr_fred mentioned, the thermistor also needs some interface circuitry... just like you'll see in the Reflow Controllers. :)

Cheers, /dev

https://store-ce0ee.mybigcommerce.com/content/X10592%20-%20PR3-E-(12_18_27)kW.pdf

As I thought. Analog input is for a knob.

Best to use the digital input which is basically on off and the internals take care of the rest.

So no PWM needed just a PID controller.

I have no idea what the two thirds control technique is though.

http://www.digitry.com/gb1.html

That's a commercial unit , v expensive though

TomGeorge: Hi,

No difference between SCR and Thyristor, just what side of electronics/electrical you come from.

Sorry yes I was thinking Triac and said Thyristor.

/dev: Uhhh...

Although you could treat it like an ON/OFF input, you'd be bypassing all the nice work they've done inside the controller. If you go this route, you should probably flip no quicker than 10 seconds or so. Really, how much will the temperature change in 10 seconds?

Cheers, /dev

Missed that.

I do not think so . It would not make sense, these things are designed to be used with commercial PID controllers

Boardburner2:
I do not think so. It would not make sense,

I’m not sure why you disagree with the 10s update rate, though. Because

Boardburner2:
these things are designed to be used with commercial PID controllers.

Agreed! An update rate of 0.1s to 100s seems common.

For example, here’s one that can either control a relay or SSR (digital output) or 4-20mA, 0-10V or 0-5V analog output (aka “linear”) .

Or this one, with relay/SSR (digital) or 4-20mA/0-5V/0-10V (analog) outputs.

Or this magic beast with fuzzy logic and PC control. It also has an option for full-period (30Hz or 33mS) SSR control, but it’s the SSR that knows about the cycle phase, not the PID. Likewise, the UAL controller knows about cycles and phase.

If he’s doing his own PID and his own heat/cool curve, I’m suggesting the PID rate should be on a seconds time scale, not 60Hz cycles. The cycles time scale is being handled internally by the controller. Commercial PIDs are not for switching SCRs/thyristors at the cycle level: 100mS is 6 full cycles of 60Hz.

PIDs do not output PWM either, so PWM into the controller is not a “good” idea because, well, PIDs don’t do that. :slight_smile: I love a good tautology!

He could run the PID digital output at 1s update, or even 0.1s update, but is it necessary for something with this kind of response time? For a first project, I would suggest keeping the time scales longer rather than shorter. This may also make testing easier, as these time scales are observable: hook the PID output (digital or analog) to a voltmeter.

I’m afraid I disagree with this, though:

Boardburner2:
Best to use the digital input which is basically on off and the internals take care of the rest.

IMO, using the analog input to the controller (analog output from the UNO) seems the best way to take advantage of the smarts in the UAL controller. It gives more “guidance” to that controller than “full heat” or “no heat”… it can say “a little more” or “a lot more”. This would also completely avoid the digital output rate question.

YMMV, my $0.02, etc.

Cheers,
/dev

I was not disagreeing about the 10S bit.

PID I have used have always had on off outputs.

For a large boiler the initial on time is more like 20 mins although watching the blips I think it turns off every 100 secs for a bit. That's on a self teaching controller.

You could use the analogue internals to vary the power but the pid should sort that out itself by varying the duty cycle. I think varying the power with analogue just adds complexity as internally its doing what a pid does anyway.

It may have application but for this use with a large thermal mass I do not see the need.

Certainly it would be useful if he were designing an analogue pid, but hes going the digital route.

A PID driving a purely binary output will typically show a lot worse control (overshoot, large oscillations).

Its well worth trying to get a reasonably linear output response from the algorithm to get good control, hence slow PWM output.

Heating is often rather non-linear since cooling may be a lot slower than heating, so perfect response is hard to achieve - using PWM output helps linearize the whole system (at the expense of slower start up). More intelligent methods can be used than PID (PID really does assume a linear symmetrical system). The self-teaching controller mentioned probably falls under this category.

Hi everyone,

I'd like to ask some (relevant?) questions:

1) How do you plan to measure the temperature (thermocouple, infrared, . . .)?.

2) Where (I mean, on the glass surface, on the air ambient -inside the furnace, of course-, . .)?. Are you going to measure just one point, two, . . .?

As far as I know, those processes are not response time critical; the time constant is normally high enough as to have an on-off control.

Finally: the curve seems to be easily linearizable.

Kind regards.

MarkT: A PID driving a purely binary output will typically show a lot worse control (overshoot, large oscillations).

Its well worth trying to get a reasonably linear output response from the algorithm to get good control, hence slow PWM output.

Heating is often rather non-linear since cooling may be a lot slower than heating, so perfect response is hard to achieve - using PWM output helps linearize the whole system (at the expense of slower start up). More intelligent methods can be used than PID (PID really does assume a linear symmetrical system). The self-teaching controller mentioned probably falls under this category.

Wow, a first: something I can disagree with MarkT on. Your first sentence is only correct if you are dealing with a very small thermal mass. Conversely, if the item being heating has a large thermal mass (like the kiln of the OP) and the amount of heat applied has a relatively slow rate of rise, a time proportioned output (aka binary pwm) will control temperature just fine with absolutely no overshooting or instability of any kind, given correct loop tuning.

Further, cooling is in most industrial applications is usually done with air or more typically water and in both cases the rate of heat loss is greater/faster than the heating gain. As a result, most good temperature controllers will have seperate heating and cooling gains. The is usually achived in the output channels rather than from the main PID loop. Most systems than have a slow rate of heat gain will normally imploy the D (derivative) portion of the PID loop to prevent overshoot.

I will agree with you on the cooling of a kiln - that it will heat faster than it will cool but this is typically not the rule but more of a specialized case, one that I would consider an exception to the rule.

As a finally note on the subject: my wife throws clay and we've had three different kilns over the years. They all have used simple bang-bang on off control of the heaters. The latest high end kiln we purchased has a custom embedded control system which provides some very sophisticated ramp and soak capability with simple but effective on-off control of the 15kw heater.

Slightly off topic but I have always wondered what the cost is of providing 3 phase into domestic premises.

I am after a larger lathe but they are mostly 3 ph.