[sci.electronics] Looking for isolated DAC chip

brian@ucsd.EDU (Brian Kantor) (01/13/89)

I've got 7 or 8 bits of TTL on a latch output that specify a lamp 
brightness level, and I want to control a TRIAC or other simple 
light-dimmer circuit with it.  The idea is to have a microprocessor
control a lighting panel.

I've seen some somewhat complex circuits involving optoisolators and
time ratio controls, but I'm looking for a simple circuit (i.e., a
complex chip is just fine, but the amount of glue needed to use it has
to be small).  I'd like to control about 1 to 15 amps at 120 VAC per
instance.

Suggestions?  My usual reference books haven't been very helpful.

	Brian Kantor	UCSD Office of Academic Computing
			brian@ucsd.edu ucsd!brian BRIAN@UCSD

larry@kitty.UUCP (Larry Lippman) (01/16/89)

In article <1378@ucsd.EDU>, brian@ucsd.EDU (Brian Kantor) writes:
> I've got 7 or 8 bits of TTL on a latch output that specify a lamp 
> brightness level, and I want to control a TRIAC or other simple 
> light-dimmer circuit with it.  The idea is to have a microprocessor
> control a lighting panel.
> 
> I've seen some somewhat complex circuits involving optoisolators and
> time ratio controls, but I'm looking for a simple circuit (i.e., a
> complex chip is just fine, but the amount of glue needed to use it has
> to be small).  I'd like to control about 1 to 15 amps at 120 VAC per
> instance.

	The "proper" design solution is probably a phase control firing
circuit with zero-crossing detection, and which takes an analog voltage
input to set the firing angle of output pulses.  Isolating the output
pulses using a pulse transformer is trivial.  No isolated DAC would be
required here.

	However, you asked for "simple", so here it is...  The heart
of this approach is the GE H11F1 optocoupler having a bilateral analog
FET output.  In simple terms, changing the LED current on this device
changes a two-terminal output resistance.

	Begin with a simple 8-bit DAC connected to your TTL latch.  You
probably want to run the DAC output in a current mode, so you will need
an op-amp (plus maybe a FET or additional op amp as a buffer) to drive
the optocoupler LED.  Realistically, you probably want to drive from
2 to 20 mA; anything less than 2 mA is off.

	Now, you've got your H11F1 being driven by the DAC in a controlled
fashion.  Take the output of the H11F1 and use it to replace the resistor
in a typical two-terminal TRIAC dimmer circuit using a diac as a trigger
device.  You may have to add a series resistor for "zero" compensation,
and you may want to add a parallel resistor for "keep-alive" current.

	The above approach works.  I have used it for simple proportional
control of electric heating elements, which is close enough to your
application.

	The "price" you pay for the above "simple" circuit is a truly
abysmal shape of the transfer function between DAC setting and effective
lamp brightness.  However, since you obviously have a microprocessor,
you can neatly use a table or algorithm to correlate the relationship
between DAC input value and output birghtness; that's what software is
for, ain't it? :-)

	As an amusing aside, for many years I used to design rather complex
linear circuits intended to render precise transfer functions between a
a control voltage input and process parameter output.  Now with the use of
microprocessors for almost everything, I say screw it, if the transfer
function don't look right, I'll fix it up in software. :-)

<>  Larry Lippman @ Recognition Research Corp., Clarence, New York
<>  UUCP:  {allegra|ames|boulder|decvax|rutgers|watmath}!sunybcs!kitty!larry
<>  VOICE: 716/688-1231          {att|hplabs|mtune|utzoo|uunet}!/
<>  FAX:   716/741-9635 {G1,G2,G3 modes}   "Have you hugged your cat today?" 

dr@skivs.UUCP (David Robins) (01/17/89)

In article <2930@kitty.UUCP> larry@kitty.UUCP (Larry Lippman) writes:
>In article <1378@ucsd.EDU>, brian@ucsd.EDU (Brian Kantor) writes:
>> I've got 7 or 8 bits of TTL on a latch output that specify a lamp 
>> brightness level, and I want to control a TRIAC or other simple 
>> light-dimmer circuit with it.  The idea is to have a microprocessor
>> control a lighting panel.
....
>	However, you asked for "simple", so here it is...  The heart
>of this approach is the GE H11F1 optocoupler having a bilateral analog
>FET output.  In simple terms, changing the LED current on this device
>changes a two-terminal output resistance.
....
>	Now, you've got your H11F1 being driven by the DAC in a controlled
>fashion.  Take the output of the H11F1 and use it to replace the resistor
>in a typical two-terminal TRIAC dimmer circuit using a diac as a trigger
>device.  You may have to add a series resistor for "zero" compensation,
>and you may want to add a parallel resistor for "keep-alive" current.

One problem with this is that the H11F1 is rated at ~30 volts.  Putting
it in a typical triac control circuit should subject it to line
voltages.

A solution was published in a paper I got from GE.  William Sahm was
at GE Semiconductor about 5 years ago, and he sent me:
Chen and Sahm; A Bilateral Analog FET Optocoupler
	It was in a 1978 IEEE journal, I don't have the reference.

In an example, they showed a
220 volt remote lamp dimmer circuit which used a 22K resistor in series with a
27volt MOV across the triac, the MOV at the gate end of the triac.
The voltage now clipped to ~27 volts is applied to the H11F1 in series
with a 0.033 mfd cap, the cap at the "bottom" end. The phase control
voltage at the junction of the H11F1 and the cap is coupled to the
triac thru a 2N4992, a low voltage bilateral trigger; if I recall, it was
about a 7 volt breakover.  Most other diac triggers are about 25-35 volts.

I used this circuit with the same 22K resistor in a 120 volt
application.  I used a resistor in series with the LED in the H11F1 so
the current thru it was controlled by a voltage.  

I'd be interested in knowing why Larry Lippman's use of the H11F1 in the 
standard triac circuit did not over-voltage it.

-- 
David Robins, M.D.  (ophthalmologist / electronics engineer)
The Smith-Kettlewell Institute of Visual Science,  ***  net:  uunet!skivs!dr
2232 Webster St, San Francisco CA 94115            ***  415/561-1705 (voice) 
The opinions expressed herein do not reflect the opinion of the Institute!

brianr@tekig5.PEN.TEK.COM (Brian Rhodefer) (01/17/89)

A friend and I have dabbled with the construction of
stage lighting control systems for many years now,
with emphasis on computer-controlled lighting system.

Our current approach is to control a network of power
modules from a 'human interface' program running on an
Amiga computer.  Each module drives up to eight loads
at independently settable power levels, with 7-bit
resolution. This sounds fairly close to your application.

Each channel of one of our power modules is driven by
a TRIAC, whose gate-trigger signal is optically coupled
to one bit of (surprise!) an eight-bit latch.  In our
case, this "latch" is an 8-bit output port of a module's
embedded microcontroller, but you may be able to use the
TTL latch you've mentioned.

Control of the power delivered to each load is achieved by
varying the delay, relative to the power line zero-crossing,
of the pulses generated on the associated latch bit.

At 60 Hz, each powerline halfcycle is 8333 microseconds in duration.
Splitting this period up into 128 levels (for 7-bit control) gives
a timing resolution requirement of very nearly 65 microseconds.

The desired power levels of all the channels are sorted in
order of decreasing output, and are then translated into a list
of "firing data".  Each firing datum consists of two pieces of
information:  the pattern of bits to send to the latch, and the
amount of time that must elapse before the next firing datum is used.

Firing-list scanning begins at the zero-crossing of the power line.
The first datum specifies a null firing pattern (all channels OFF),
and gives the delay from zero crossing until the the highest-output
channel(s) must fire.  The delay is loaded into a countdown timer,
which ticks down once per 65us (well, we use 64us...).  Expiration
of the timer causes an interrupt, whose service routine pulls the
next firing datum off the list, stuffs the firing pattern into the
latch, and re-loads the timer with the precomputed relative delay.


The hardware requirements for this approach, beyond the TTL latch
you mentioned, and its assumed controlling processor, are these:

1) A zero-crossing detector connected to the controlling processor.
   We use a bridge to full-wave rectify the mains voltage; the 120Hz
   signal, through a suitable power-resistor divider, holds a
   2N3904-ish transistor ON for all line voltages in excess of 10
   volts or so.  When the transistor cuts OFF, another transistor
   is allowed to extract stored energy from a capacitor and energize
   the transmitting LED of a 4N26-ish optocoupler, whose isolated
   output is used to interrupt our controlling processor.


2) One optocoupler per channel of output drive.  We use optocouplers
   whose receivers are themselves TRIACS, albeit low-power ones.
   When these come ON, they complete a path from Main Terminal 2
   of the power TRIAC, through a 100 ohm limiting resistor, to the
   gate of the power TRIAC.  This gives ampere-magnitude firing
   pulses to the power devices, which get them turned on quite
   nicely.

3) Transient suppression circuitry for each power channel.   The
   recommended practice  is to use power inductors, in the 100 to
   500 microhenry range, to retard the rate-of-rise of the load
   current.  In the past, these were necessary to prevent hot-spots
   from forming in the power TRIAC during turn-on.  Today's devices
   are more rugged, and turn on faster, but you'll probably find that
   unless you tame the spikes down a bit, you'll get crosstalk among
   your channels that'll have them triggering each other.


Hoping to be Helpful,


Brian Rhodefer   ...!tektronix!tekig5!brianr

larry@kitty.UUCP (Larry Lippman) (01/18/89)

In article <2758@skivs.UUCP>, dr@skivs.UUCP (David Robins) writes:
> >	Now, you've got your H11F1 being driven by the DAC in a controlled
> >fashion.  Take the output of the H11F1 and use it to replace the resistor
> >in a typical two-terminal TRIAC dimmer circuit using a diac as a trigger
> >device.  You may have to add a series resistor for "zero" compensation,
> >and you may want to add a parallel resistor for "keep-alive" current.
> 
> One problem with this is that the H11F1 is rated at ~30 volts.  Putting
> it in a typical triac control circuit should subject it to line
> voltages.
> 
> A solution was published in a paper I got from GE.

	You are, of course, correct.

> I'd be interested in knowing why Larry Lippman's use of the H11F1 in the 
> standard triac circuit did not over-voltage it.

	Because, in digging out the design folder from the water bath
project, I used the same circuit which you described!  I even have a
photocopy of page 285 from the 1981 GE Optoelectronics catalog which
shows the circuit.

	I had, of course, forgotten about the use of the varistor.

	However, a schematic for a second unit which we built shows
no varistor, since the voltage across the optocoupler was limited
to about 25 volts by a parallel "minimum output" variable resistor
resistor.

<>  Larry Lippman @ Recognition Research Corp., Clarence, New York
<>  UUCP:  {allegra|ames|boulder|decvax|rutgers|watmath}!sunybcs!kitty!larry
<>  VOICE: 716/688-1231          {att|hplabs|mtune|utzoo|uunet}!/
<>  FAX:   716/741-9635 {G1,G2,G3 modes}   "Have you hugged your cat today?"