Searching \ for '[EE]: Relay question...' in subject line. ()
Make payments with PayPal - it's fast, free and secure! Help us get a faster server
FAQ page: www.piclist.com/techref/io/motors.htm?key=relay
Search entire site for: 'Relay question...'.

Exact match. Not showing close matches.
PICList Thread
'[EE]: Relay question...'
2000\06\25@202525 by Bob Ammerman

picon face
You can get 8 per chip if you just wrap the last relay around to the first
position.

IE:

Relay 1 connects to Q0 and Q1
Relay 2 connects to Q1 and Q2
...
Relay 7 connects to Q6 and Q7
Relay 8 connects to Q7 and Q0

Bob Ammerman
RAm Systems
(high performance, high function, low-level code)

2000\06\25@215718 by Greg Peyton

flavicon
face
In a message dated 6/25/00 5:25:52 PM Pacific Daylight Time,
spam_OUTRAMMERMANTakeThisOuTspamPRODIGY.NET writes:


{Quote hidden}

Bob,
Thank you for your reply.
I'm really glad I posted the problem, it's forced me to think through the
potential pitfalls and will undoubtedly improve the final results.
I read your post and though "Doh, boy do I feel stupid". It seemed so simple.
Then I started working this out in a spreadsheet to see if it was possible.
It almost immediately became clear that a second relay could possibly be
affected. At first I thought this might be a possible flaw in the design for
unseen future settings. Imagine if, for only a few ns a high voltage was
applied across a low resistance (or a short) linked to an adjacent relay. For
safety, I thought it best if only one relay be changed at a time.

I may be wrong (I frequently am) but what I found was that you could not use
the wrap-around scheme without possibly effecting two relays simultaneously.
The only way that all other relays, besides the targeted relay, can remain in
the current position is if both sides of the coil are in the same state. With
the wrap around scheme you are possibly forced into affecting one other
relay. Scratch out the binary for this out on paper and see what I mean. I'm
sure I'll hear about this from MANY people if my take is wrong headed.

Although As I think about this it would seem that I only have to worry about
T/F settings immediately adjacent to the present position. That could be
dealt with in software. I'm beginning to see the beauty in creating a stack
that allows me to define which relays (in the correct order) need to be set
and then unset as I move from one test to the next. I'm tempted to say more
but think that I'd better give this some thought.

I'm going to take another look at this but what I see right now isn't
encouraging. Let me know if there's a fix for this that I've overlooked.

-Greg

2000\06\26@090552 by Bob Ammerman

picon face
Greg:

Now I see what you're saying. In order to turn on  a given relay you output
a string of zeros and ones such that the desired relay is the only one which
has different values on its two inputs. You need to keep the ends open,
because otherwise there would always be two relays that saw different
values.

You should plan on always sending the entire byte at one time to the
hardware, then you will only have the skew between bits to deal with,
certainly much too short an interval to falsely trigger a relay. I guess I
would use an 8-bit port as a data bus. Three additional bits could select
one out of eight '373's via a '138 decoder. A final output bit could act as
the enable through the '138. This would allow for 8*7 = 56 relays.

So, as I understand it, the values to turn the relays on and off would be:

00000000   Idle state
11111111  Alternate idle state

00000001  Turn on relay 1
00000011  Turn on relay 2
00000111  Turn on relay 3
00001111  Turn on relay 4
00011111  Turn on relay 5
00111111  Turn on relay 6
01111111  Turn on relay 7

11111110  Turn off relay 1
11111100  Turn off relay 2
11111000  Turn off relay 3
11110000  Turn off relay 4
11100000  Turn off relay 5
11000000  Turn off relay 6
10000000  Turn off relay 7

Note that you can operate more than one relay simultaneously, although there
are restrictions on the combinations you can do. For example:

01010101  Turns on relays 1, 3, 5 and 7 and turns off relays 2, 4 and 6.

Message -----
From: Greg Peyton <.....GPEYCOKILLspamspam@spam@CS.COM>
To: <PICLISTspamKILLspamMITVMA.MIT.EDU>
Sent: Sunday, June 25, 2000 9:55 PM
Subject: Re: [EE]: Relay question...


> In a message dated 6/25/00 5:25:52 PM Pacific Daylight Time,
> .....RAMMERMANKILLspamspam.....PRODIGY.NET writes:
>
>
> >  You can get 8 per chip if you just wrap the last relay around to the
first
{Quote hidden}

simple.
> Then I started working this out in a spreadsheet to see if it was
possible.
> It almost immediately became clear that a second relay could possibly be
> affected. At first I thought this might be a possible flaw in the design
for
> unseen future settings. Imagine if, for only a few ns a high voltage was
> applied across a low resistance (or a short) linked to an adjacent relay.
For
> safety, I thought it best if only one relay be changed at a time.
>
> I may be wrong (I frequently am) but what I found was that you could not
use
> the wrap-around scheme without possibly effecting two relays
simultaneously.
> The only way that all other relays, besides the targeted relay, can remain
in
> the current position is if both sides of the coil are in the same state.
With
> the wrap around scheme you are possibly forced into affecting one other
> relay. Scratch out the binary for this out on paper and see what I mean.
I'm
> sure I'll hear about this from MANY people if my take is wrong headed.
>
> Although As I think about this it would seem that I only have to worry
about
> T/F settings immediately adjacent to the present position. That could be
> dealt with in software. I'm beginning to see the beauty in creating a
stack
> that allows me to define which relays (in the correct order) need to be
set
> and then unset as I move from one test to the next. I'm tempted to say
more
> but think that I'd better give this some thought.
>
> I'm going to take another look at this but what I see right now isn't
> encouraging. Let me know if there's a fix for this that I've overlooked.
>
> -Greg

2000\06\26@110338 by Russell McMahon

picon face
The MM525x  I mentioned could use the scheme below and would allow 31 or 33
relays (depending on version used) with a single IC.
It would still require pullup resistors and the instantaneous current would
be a wee bit high but possibly tolerable (I'd have to check the data sheet
to see for sure).

The MM545x drives all its outputs on/off essentially simultaneously and
switching times are much faster than relay response time.


     Russell McMahon
_____________________________


>Greg:
>
>Now I see what you're saying. In order to turn on  a given relay you output
>a string of zeros and ones such that the desired relay is the only one
which
{Quote hidden}

etc

2000\06\26@144228 by Oliver Broad

picon face
UCN5818.

Serial load, 32 buffered outputs, source and sink.

Not sure what the actuall drive is but should be stronger than PIC?

Oliver.

2000\06\27@123605 by Howard Cripe
flavicon
face
I am in the process of designing a board which needs to drive 16 12v
solenoids at 1.2amps. I found a chip very similar to the 74HC595 which will
drive relays or solenoids directly. It is the TPIC6595 made by TI and it
will handle 1.5amps pulsed per output. DigiKey has it for $2.84 in singles.
I am controlling them (daisy chained) with 4 pic lines (clock, data, strobe
& clear). With the strobe line, you can shift all the bits in, then latch
them, to avoid small spikes on the relays/solenoids as the bit are being
shifted. The chip has built in voltage clamping diodes on the outputs,
which will handle up to 45 volts.

Data sheet: http://www-s.ti.com/sc/psheets/slis010a/slis010a.pdf

Maybe this will be an option.

Howard

2000\06\27@180909 by Peter L. Peres

picon face
---------- Forwarded message ----------
Date: Tue, 27 Jun 2000 00:08:16 +0300 (IDT)
From: "Peter L. Peres" <EraseMEplpspam_OUTspamTakeThisOuTplp.plp.home.org>
To: pic microcontroller discussion list <piclistspamspam_OUTmitvma.mit.edu>
Subject: Re: Relay question...


Hi,

there is no need to use one driver per relay, with latching relays use a
matrix. For 32 relays you could use 2 x 373 as latches, with 6 data bits
used in each, and two additional PIC pins used as strobes (total 8 pins
used - but see below for a solution using only 3 pins - chip count == 2
n/incl pic). A set of diodes are required at the drivers to remove the
kickback problem. These are available integrated (in nines even). To steer
the array you first strobe one side of the matrix, then the other, then
turn it off.

If you need to steer all the relays statically (not latching)  then it
might be better to use a serial in parallel out shift register, or rather
many of these, chained. You'd need four for 32 IOs, using only three PIC
pins. You can use only two shift registers for a matrix of latching relays
(8x8 = 64).  This I have done (with 20 latching reed relays in a 5x4
crossbar matrix).

Note that you may not need to use separation diodes in the matrix, because
the phantom circuits will only have 1/2 Vcc or less applied and most
bistable relays do not change state under these conditions (you need to
check specs).

Peter

More... (looser matching)
- Last day of these posts
- In 2000 , 2001 only
- Today
- New search...