Hardware protection - 2 Relays - only one can switch-on at the same time.

Hi,

I have a pair of monostable Relays.
I drive them with PCF8574 (i2c) and ULN2803 (see the circuit).
The Problem ist... I need a hardware protection to disallow that both Relays are in the "switched state" (ON) at the same time.

Thanks for Help,
windman

What should happen if an attempt is made to turn on both relays at the same time?

What if one relay is already on and an attempt is made to turn on the other relay? Is that allowed?

Nothing - both Relays stay OFF.

a) The first one stays ON and the second one turns NOT ON, so second one stays OFF.
b) Both relays turn OFF.
Both Scenarios are OK for me, but I prefer the second one.

windman:
Hi,

I have a pair of monostable Relays.
I drive them with PCF8574 (i2c) and ULN2803 (see the circuit).
The Problem ist... I need a hardware protection to disallow that both Relays are in the "switched state" (ON) at the same time.

Use an XOR function. (eg. 74LS86).

Or, if it's a stuck-on relay that you want to cover against then use one of the relay NC contacts to open the feed circuit to the other relay. Do this for both relays, then it matters not whether logic is screwed or working, it is impossible for both relays to be "energised" at the same time. This assumes of course that the relay contacts are 100% reliable.

You are now getting an insight into how difficult it is to design a logic control system that is 100% reliable (it's impossible)

fungus:
Use an XOR function. (eg. 74LS86).

Do you have a circuit for me? I am beginner :slight_smile:

How about this?

or to draw one in Ladder Logic...
Relay2 Relay1 |
+------[ ]-----------( )----+
|
Relay1 Relay2 |
+------[ ]-----------( )----+
|

[ ] is a relay contact, and ( ) is a relay coil.

If both were to be turned on at the same time, the first to engage would stay on. If relay 1 were on then relay 2 could not turn on, and vice versa...

kf2qd:
or to draw one in Ladder Logic...
Relay2 Relay1 |
+------[ ]-----------( )----+
|
Relay1 Relay2 |
+------[ ]-----------( )----+
|

[ ] is a relay contact, and ( ) is a relay coil.

If both were to be turned on at the same time, the first to engage would stay on. If relay 1 were on then relay 2 could not turn on, and vice versa...

shouldn't that be

Relay2 Relay1 |
+------[ / ]-----------( )----+
|
Relay1 Relay2 |
+------[ / ]-----------( )----+
|

KF2QD

Your circuit details what I explained with the exception that you have illustrated NO (Normally Open)contacts which means neither relay will ever operate. The contacts should be NC (Normally Closed). ie ----[/]-----

Edit : Just pipped to the post by abrookfield !! :stuck_out_tongue:

Yeah, in the ckt of post #3, neither one will turn on if both signals are true. That actually
is an XOR, I believe. However, I also think it will work if the lines powering the relays are
switched through the normally-closed contacts, rather than by the inputs. I believe this is
what the previous post is saying [!!].

Also, I'm not sure what official logic function that corresponds to, if any.

fungus:
Use an XOR function. (eg. 74LS86).

It works great for me, thanks!

windmis:

fungus:
Use an XOR function. (eg. 74LS86).

It works great for me, thanks!

Hang on...now I think about it, it's not that simple. You need some ANDs as well.

If the two inputs are called A and B:

Relay 1 = A AND (A XOR B)

Relay 2 = B AND (A XOR B)

The 74LS08 has four AND gates. Each gate has two inputs and one output for a boolean function. With a 74LS86 and a 74LS08 you can wire up the boolean equations above.

nb. These days you're more likely to find 74HC08 and 74HC86 than 74LS08 and 74LS86, the two letters in the middle (eg. "HC") are just the type of material used to make the chips, their function is the same.

See 7400-series integrated circuits - Wikipedia

PS: Even this won't protect you against rats chewing the wires or other random cosmic acts. If this is mission critical then maybe you could put a fuse in the power supply which will blow if both devices turn on simultaneously.

So much complexity. I would just use DPDT relays contacts on each relay and wire one normally closed and common contact from relay #1 in series with the coil of relay #2 and do the same for the other relay. That would override the controllers output signal and switching transistor and would allow only one relay to be activated at any given time, while still allowing both to be turned off. The break before make nature of relay contacts would make this a good simple solution.

Lefty

you could also use 2 relay as such: relay 1 provides or cuts power to relay 2 contacts,
relay 2 switches between device a and device b.