Index Home About Blog
From: John De Armond
Subject: Re: building electric furnace
Date: Fri, 17 Mar 2000 13:51:58 EST

Terry Harper wrote:

> We have used SCRs in a growing number of installations, but there are often
> problems with harmonics and other factors that rule them out.
> Switching between two taps on a transformer is another solution, but a
> continuously variable transformer is much better for higher levels of power.
> I doubt that SCRs and the associated controller would be a cheaper option
> than a rheostat and a relay.

Please quit bringing the rheostat into such a discussion.  It is bad
advice bordering on reckless to plant the notion that a rheostat is
even a remotely suitable solution.  A high power rheostat is very
expensive, extremely wasteful of energy and practically
unobtainable.  It's just flat dumb advice.

I'm not particularly fond of SCR controls either.  They're more
fragile than other solutions, generate harmonics, as you noted, and
leak current even when off, necessitating separate disconnect
switches for personnel safety.  The Variac, particularly when
purchased surplus, is a good low budget solution for manual
control.  A motor driven variac is a good solution for automated
control, again, especially so when bought surplus (see C&H sales  The best solution and one of the cheaper
ones if bought new is the saturable reactor.  This is simply a
specially designed choke whose impedance can be controlled by a
separate low power DC winding.  While described as "old technology"
by some (usually those selling SCR controls), it remains the best
solution for cleanly controlling moderate to high power AC.  They
can be bought off the shelf for a couple hundred dollars in the
power range we glass people are interested in.  Further, the design
parameters are simple enough for clear understanding by
technician-level people and can be constructed from materials
commonly available, if one wants to go that route.

For the run-of-the-mill kiln or small electric furnace application,
it's hard to beat the proportional on-off controller (such as the
Fuji previously mentioned) along with a mercury displacement
contactor.  If your heating elements are inrush sensitive (silicon
carbide, etc), then a manually operated variac to reduce the input
voltage until the elements can accept full voltage is a reasonable
option.  Mercury displacement contactors are dirt-cheap (C&H
currently has a single pole one for $5) and have an infinite life if
not overloaded.


From: John De Armond
Subject: Re: Sound card as controller? (was Re: Linux)
Date: Tue, 21 Mar 2000 03:19:55 EST

Sundog wrote:
> hehehehehehehehe     hehehehe     hehehe      ha
> OK, I want to know EXACTLY how to make an old 486 into my next kiln
> controller.  I want words. I want drawings. And I want it in lay
> terms............. (please)
> Thanks in advance.......................... ;-)
> Jacques Bordeleau

go to B&B electronics (web site by approximately that name) and buy
a thermocouple to parallel port converter for about $100 or so. 
Plug that into one parallel port.  To a second parallel port,
connect a suitable solid state relay to one of the data bit leads. 
When you write a 1 to that bit, the relay turns on, when you write a
0, the relay turns off.  Use that SSR to control a mercury
displacement relay that controls the kiln.  Then all that remains is
to write some (preferably DOS) code to implement the controller. 
B&B sells the source code for simple PID controller for about $50,
last time I checked.  With that code in hand, all that remains is a
user interface.

An alternative to the B&B module is to use the joy stick port to
digitize an amplified TC signal.  Not nearly as accurate but damn
nearly free.

I built something similar and hacked out the code to run profiles
contained in files over one weekend.  No, the code is long gone,
victim to one too many windoze crashes.


From: John De Armond
Subject: Re: Sound card as controller? (was Re: Linux)
Date: Tue, 21 Mar 2000 18:55:26 EST

Sundog wrote:
> John__ thanks, sounds actually do-able, at least explainable to my tech. My
> next question is, would this then be expandable within the one computer to
> run 3 to 5 'zones' within a large kiln, each zone being a separate circuit &
> thermocouple, in order to maintain even heat throughout the kiln?  This
> concept is limited by the number of ports the computer has, isn't it?

yes. It is easy to bring up to 8 analog signals into a PC because
there are so many good A/D converters with 8 muxed inputs.  There
are lots of companies that make inexpensive converters.  As usual,
Omega engineering is a good place to look and maybe buy if you don't
need the absolutely lowest price.  They resell others' products so
you can probably find a product elsewhere after you find it at
Omega.  On the output side, you can drive up to 10 loads on and off
from a PC parallel port (8 data bits plus 2 status lines.).  B&B
makes a nice little fan-out box for the parallel port that provides
8 buffered outputs plus dome source code to manipulate the parallel
port.  You can easily put 2 parallel ports and 4 serial ports in a
PC.  You can put more than 2 parallel ports of you don't mind
futzing around a bit and perhaps removing other unused resources. 
Beyond that, B&B and others make output multiplexers (MUXers) that
will drive a practically unlimited number of devices from a single
parallel port.  

Another option for input is to use the Basic Stamp single board
computer (less than $100 from Digikey, as
the front end.  The code is written in BASIC, downloaded to the
Stamp over a serial line and stored in Flash RAM.  The Stamp then
runs and does its thing.  It is pretty trivial with the Stamp to
read up to 8 thermocouples, converter the data and ship it out the
Stamp's serial port to the PC.  They call it the Basic Stamp because
it's about the size of a postage stamp.

> Related idea then.... since the Digitry Controller can run 5
> kilns/annealers, it would easily run 5 zones in one box, yes?  (Actually I
> think 3 zones will do the job for me at about 38 x 120"). I may even try to
> add a removable partition within the box to work shorter projects without
> firing the whole shebang every time.

Dunno.  I've always built my controllers so I'm not terribly
familiar with commercial units.


From: John De Armond
Subject: Re: Sound card as controller? (was Re: Linux)
Date: Tue, 21 Mar 2000 23:46:35 EST

db wrote:
> I noticed that most of the books on programming parallel ports include
> source code. What I don't get is all the talk about 'learning' programs that
> can anticipate when to fry and when not, and phasing and milliamp this and
> that. If the task at hand is simply to turn relays on and off, and to read a
> thermocouple signal, then you could probably even use the stuff for
> household appliance control, like at Although John's suggestion
> of B&B looks like a better place to start. They make a good brandy too.


One could use an X-10, though the duty cycle for controlling a kiln
would probably wear it out fast, at least for the relay-out module.

For things like phase angle and such, the short answer is, you let
the mfr who makes the switch or controller worry about that.

There are broadly two styles of control.  The first is on-off.  This
is the control you have in your house for heat and cooling.  When
the house gets colder than the thermostat setpoint, the furnace
turns on.  Full on, not partially on.  When the house warms up
enough to surpass the thermostat setpoint by a little, the furnace
turns full off.  If the weather is very cold, the "ON" time will be
longer than the "OFF" time.  If only a little heat is required, the
"OFF" time will be more than the "ON" time.

The second type of control is proportional.  In this type of
control, the output varies in proportion to the difference between
the setpoint and the sensor.  In the case of a kiln, that means that
the power sent to the heating elements is proportional to the
difference between the kiln and the desired temperature.  In manual
terms, you would be watching the temperature indication and setting
the power level proportional to the difference between what
temperature you want and what you have.  It should be intuitive that
the higher the gain between input and output, the better the
control.  That is, the smaller temperature differential required to
produce the full swing in heater power, the tighter the temperature
will be held to setpoint.  This hold true until the gain becomes so
high that the temperature overshoots from stored heat in the
element. Then the system will oscillate around the setpoint just
like an on-off controller.  This is, of course, undesirable because
it defeats the inherently finer control of proportional control.

Since the error between setpoint and the actual temperature is what
is amplified to generate the output, it is again intuitive that some
error is necessary to be amplified to drive the output.  If the load
becomes higher (opening a vent or whatnot), then the error must be
higher to generate more output to fire the heaters higher.  Assuming
that we chose proportional control because we wanted the temperature
to be controlled quite closely, it is undesirable to have this error
or "offset".  The solution is to use the error to periodically
internally shift the setpoint until the error between the measured
and set temperature.  This is the same effect as if you watched the
temperature indicator and slowly nudge the indicator up until the
indicated temperature is what you wanted it to be.  A controller
that does this automatically is said to have "reset" action (old
term) or "integral action".  Mathematically, it integrates the error
term and adds it back in to the setpoint to force the measured
temperature to the original setpoint.  With the integral action set
low, the setpoint will creep up on the setpoint.  With too much
integral action, the temperature will overshoot because the setpoint
correction was too great, and then it will either settle down with
some oscillation or will continue to oscillate if way too much
integral is set.  Any overshoot in a glass kiln is not desirable
(think: glass running everywhere!) so integral is used with caution.

Now suppose you open the kiln and insert a cold object.  (think of a
lehr with a continuously moving belt.) In order for the heater
output to be increased to make up for this load, the temperature
must drop to generate an error signal.  This may negatively affect
things already in the kiln.  Suppose we could anticipate that
increase load and jack up the heat ahead of time.  We can.  If we
were manually controlling the system, all we'd need to do is to
watch the temperature and when the very first change is evident,
crank in extra power depending on how  fast the temperature is
changing.  Mathematically, what we're doing is taking the time
derivative of the input. The rate of change of the temperature is
analyzed and an additional output signal is developed that is
proportional to the rate of change of the input.  The old term for
this is "rate action".  The new term is "derivative action".

We've worked around to defining a commonly bantered about term. 
When a controller has Proportional, Integral and Derivative action,
it is a PID controller.  PID control has been around for 100+ years,
implemented in pneumatic (air operated) controls before the
development of electronics.

When a PID control is properly adjusted for the right amount of P, I
and D, a disturbance in the load results in only a slight, momentary
droop, a very slight overshoot as it adapts and and then quick
settling to the setpoint again.  If it does it in an oscillation and
a half, it is "critically damped".  This is generally regarded as
the best control, though for processes like glass working where any
overtemperature may be destructive, the system may be set to recover
to setpoint slightly slower in order to not have any overshoot. 
Getting everything set correctly is called "tuning" and
traditionally required a very skilled instrumentation technician.

Like the buggy whip maker, this job has been obsoleted to a great
extent by modern technology.  A "Self-Tuning" controller is one that
will measure the transfer function of the process (how much and when
the temperature changes for a change in input power), compute PID
coefficients and apply them to the PID control loop.  One type of
self-tuning controller requires a perturbation in the process to
learn the transfer function.  This is typically done by putting the
controller in "learn" or "self-tune" mode and then starting the kiln
up without any glass in it.  The temperature will significantly
overshoot as the controller learns how to control the system.  Once
tuned, it will adapt to changing conditions.  Better controllers
will learn the transfer function from normal kiln operation and will
continuously tune itself for the best operation.

Commercial self-tuning techniques are highly proprietary, though
theoretical treatment is given the topic in the textbooks. 
Typically, for using a PC as a controller, one either buys or
scrounges working self-tuning PID control code.  B&B sells PID
control code quite inexpensively.  I'm sure it's also out there on
the net somewhere.  All you really need to know is that the PID
controller is a black box that takes input (temperature), generates
output (heat demand) and behaves as I described.

The normal method of proportionally controlling the power applied to
a process is to use a linear actuator.  For heat, that might be a
device that takes the proportional output signal from the controller
and converts that into some end effect, say, power to a heater.  A
phase angle controller is an example of such a device.  In response
to an input signal, it varies the power delivered to the heater by
varying where on the 60 hz sine wave the power is turned on (phase
angle control).  This is done 120 times a second.  A variation on
this technique is to switch whole cycles of power to the heater.  If
we arbitrarily select 1 second as the cycle interval, then we could
achieve the lowest power by switching 1 cycle out of 60 (for 60 hz
power) to the load and get the most power by switching all 60 cycles
to the load.  The advantage to this technique is that the power is
switched only when the voltage is crossing zero so there is no
electrical noise generated.  Such noise can interfere with other
electronic equipment.  This is called zero crossing switching.

When the end effector (power controller) is separate from the PID
controller, the industry standard analog method of conveying demand
to the controller is via a 4 to 20 milliamp current loop.  When the
controller wants zero power, it outputs 4 ma.  When it wants maximum
power, it outputs 20 ma.  4 ma instead of 0 ma is chosen so there is
a "live zero".  If there weren't, a wire break could be confused
with no demand.  Most instruments detect "below zero" as a loop
break.  This same scheme is used to convey measurements from the
field.  A common instrument is a thermocouple to current converter. 
It generates a current signal proportional to the temperature of the
thermocouple.  A 4-20 ma current loop can transmit the information
over miles of wire.  It is overkill for most kiln installations so
it is seldom seen in glass shops.

Because the kiln has a lot of thermal inertia (it doesn't
immediately cool off when the power is turned off), we can take
advantage of that fact to greatly simplify the control system. 
Above we talked about zero crossing and switching individual cycles
of AC.  We don't need that degree of control.  Suppose we set the
cycle interval to 20 seconds instead of 1 second.  For minimum heat
input, we might turn the power on for 1 second out of 20 while for
full output, the power would be on for the whole time - on
continuously.  This is called proportional on-off control and is
implemented in many self-contained temperature controllers.  Instead
of a 4-20 ma output signal, the controller outputs a contact
closure.  The output is either on or off.  This control signal
typically operates a relay.  20 seconds is a typical cycle time. The
cycle time is settable in most controllers.  When minimal heat is
needed, it turns the relay on only a small amount of time over each
20 second interval.  If half power is needed, the relay would be on
for 10 seconds and off for 10 seconds.

Though an ordinary relay or power contactor can be used, it will be
noisy and will quickly wear out.  Typically a mercury displacement
relay is used.  In this relay, power is switched by magnetically
moving a plunger which separates or connects two pools of mercury. 
Since the mercury is liquid, there are no contacts to wear.  And
since the plunger is inside a closed mercury capsule, the relay is
almost silent.  Typically only a small "thunk" is heard on each
operation.  Life is essentially forever.  The solid state version of
this is the Solid State Relay (SSR) or solid state contactor.  The
only advantage the SSR or SSC brings is it is totally silent and
theoretically will last longer since there are no moving parts.  The
negative is, sensitive electronic parts are involved that can be
smoked by lightning and other transients, and the device is much
more expensive than the mercury displacement relay.

Closing the loop, so to speak, when we talked about a PC controller,
what we'd be doing is using the PC to implement the PID control. 
Some sort of external converter converts the thermocouple signal
into a digital value.  Proportional on-off control is achieved by
turning a data bit on the parallel port on and off.  This line is
used to control either a mercury displacement relay or an SSR/SSC. 

How's that for a control theory short course? :-)  See, it's not
that complicated.  BTW, an infinite control is really a little
self-contained manually operated proportional on-off controller.


Index Home About Blog