From: John Fields on
On Fri, 29 Jan 2010 13:09:58 -0600, "rei" <dickillyes(a)gmail.com> wrote:

>I am a microprocessor programmer specializing in the Zilog Z8 family.
>In the past I have done several boards for controlling high speed
>processes. I like the Z8 because of its large number of registers and
>on chip features. My current project will use the Z8F6421.
>
>I am working on a board that will control greenhouses. I have no
>training in electronics but over the years have learned all I needed
>to know from app notes.
>
>However, all my previous projects were completely digital. I now need
>to control a large number of relays. I have no experience or
>education in this area, and am having trouble understanding the
>information I am finding.
>
>I originally planned to control the relays directly with GPIO pins,
>but now am leaning toward 74HCT574's and a 74HCT138 to multiplex the
>pins, since the number of needed relays grows daily.
>
>I am looking at darlington arrays such as the ULN2803 but don't know
>how to determine the added resistors and diodes.
>
>I also want the driver to drive a led which will turn on when the
>relay is activated, and want to use a zener to sense the presence of
>24v AC voltage at the output of each relay. There will be a fuse at
>each relay and I see the zener at the relay end of the fuse. I plan
>to run the zener output into a 74HCT251 and sense AC activity with a
>GPIO pin.
>
>I came to this board in the hopes of getting some detailed advice on
>the exact resistors and diodes needed with the ULN2803. I originally
>chose the ULN2803 because I planned to drive the relay directly from
>the GPIO pins of a 3.3v microprocessor, and purchased 3.3v coil relays
>for the prototype for the same reason. Advice on the best devices and
>best way would be appreciated now that they will be driven by the
>output of an HCT574.
>
>Thanks in advance to anyone who can provide some advice.

---
View in Courier:


+5V
|
+------+-----+ 24VAC
| | | |
ALLEGRO | [R] | O
A6276 | | | |
+-------+ [DIODE] [LED] [COIL]- - -|
| _ | |A |K | O--> |
SIN>--------------|SDI Q0|----+------+-----+ |
| _ | +--------->24OUT
HFCK>-+-----------|> Q1| |
| | | [R]
LE>---|-+---------|LE Q2| |
| | |__ | [DIODE]
GND>--|-|-+-------|OE Q3| |
| | | | | +----+-----+---+
| | +--[R]--|REXT Q4| | |K |+ |
| | | | | | [ZENER][CAP][R]
| | | | Q5| | | | |
| | | | | | +-----+---+
| | | | Q6| | |
| | | | | | GND
| | | | Q7| |
| | | | | | HC165
| | | | SDO|-+ | +-------+
| | | +-------+ | +---|DO |
. . . . . .
. . . . . .
. . . . . .
| | | | FROM ZENER>-----|D7 |
| | | +-----------+ | |
| | | | A6276 �C I/O>----|> |
| | | | +-------+ |_ |
| | | | | _ | �C I/O>----|L/S |
| | | +-|SDI Q0| |__ |
| | | | _ | GND>---O|CE |
HFCK>-+-|-|-------|> Q1| | Q7|-->�C I/O
| | | _ | +-------+
LE>-----+-|-------|LE Q2|
| |__ _ |
+-------|OE Q3|
| | _ |
+--[R]--|REXT Q4|
| _ |
| Q5|
| _ |
| Q6|
| _ |
| Q7|
| |
| SDO|
+-------+

I'm a little pressed for time, so I didn't show the 24V detect as well
as I could have, sorry.

Basically, assuming you've got a ground referenced 24V, the state the 5V
Zeners will be broadside loaded into a shift register and serial shifted
out, so mapping the Zeners to clocks will tell which Zeners are hot and
which aren't.

On the front end, the 6276's are serial-in parallel out shift registers
with outputs that can sink up to 90 ma each. Their REXT's are connected
to resistors chosen to supply the current needed by the relay and the
LED.

High efficiency LED, BTW so the bulk of the current can be used to drive
the relay.

Here's the data sheet:

http://www.allegromicro.com/en/Products/Part_Numbers/6276/6276.pdf

JF