Go Down

Topic: Hardware protection - 2 Relays - only one can switch-on at the same time. (Read 1 time) previous topic - next topic

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.



Thanks for Help,
windman

Coding Badly


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?

windman


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

Nothing - both Relays stay OFF.


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

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.


fungus


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).


No, I don't answer questions sent in private messages (but I do accept thank-you notes...)

jackrae

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)

windman



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...

abrookfield


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  |
+------[ / ]-----------(  )----+
                                    |

jackrae

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 !! :P


oric_dan

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.

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 http://en.wikipedia.org/wiki/7400_series

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.
No, I don't answer questions sent in private messages (but I do accept thank-you notes...)

retrolefty

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


silverxxx

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.

Go Up