Read 220v relay status (in order to know if someone switched on the light)

Hello, in my house, instead of using switches, I've placed buttons in each room, and a central electrical box filled with relays. This allows me to control each room's light from a central place, and gives me some flexibility. What I would like to do now is to drive these relays using Arduino, and the problem is: how can I "read" the relay state, considering that it could be "on" or "off" (they are latching (bistable) relays)?

The ideas that I've already discarded are: - use a transformer and a rectifier for each relay; - use a second relay, with 220v coil, for each relay.

Have you ever done something like this? Ideas?

Thanks, Matteo

These are the kind of relays where you give it a pulse of current one direction or the other to make it flip from NC to NO and vice versa?
And the pulse can come from either the buttons or the Arduino? Or the Arduino receives the button push and then controls the relay according, so you need to read the relay “state” to know which way to change it?
One simple way would be a resistor, 1M, into the Arduino directly, and do pulseIn() on the pin to see if there’s any frequency there. Add a 5.1V zener diode across the pin for some extra protection.

Atmel AVR182 Zero Cross Detector.pdf (95.1 KB)

they are latching (bistable) relays)

Really ? Are you SURE they are LATCHING . Bi-Stable ? Are you SURE ? What is this statement based on ? Do you have a part number ?

CrossRoads: These are the kind of relays where you give it a pulse of current one direction or the other to make it flip from NC to NO and vice versa?

Exactly! One click, light on. Another click, light off. And so on.

CrossRoads: And the pulse can come from either the buttons or the Arduino? Or the Arduino receives the button push and then controls the relay according, so you need to read the relay "state" to know which way to change it?

The first one, the pulse can come from either the buttons or the Arduino.

CrossRoads: One simple way would be a resistor, 1M, into the Arduino directly, and do pulseIn() on the pin to see if there's any frequency there. Add a 5.1V zener diode across the pin for some extra protection.

Nice idea! I was thinking at something like this http://www.pololu.com/product/1187 but your idea seems cheaper and easier!

Thanks, Matteo

Hello raschemmel, I have some ABB E251-230 relays, like this: http://cs-cs.net/wp-uploads/2012/09/ABBE251_1-Title.jpg

That voltage sensing scheme seems like an excellent way to sell millions of replacement chips.

That is sarcasm, right ?

That voltage sensing scheme seems like an excellent way to sell millions of replacement chips.

Did you look at the link Crossroads attached? i.e. PDF

Yes. Zero crossing detector by Atmel. The relay is by ABB. The part that has me confused is the reference to :replacement chips". I'm not following how that fits in. Could you bring me up to speed ?

I was referring this to michinyon.

I was referring this to michinyon.

Can you explain how this relates to Crossroad's post ? Do you mean Atmel will sell millions of chips and that the chip is a good product idea because of the huge market for such chips ? Is that what you mean ?

That method is valid and works fine, however, there is a personal safety issue when you play with 220. I believe they were implying it was a good way to blow up your controller hence buy more. Sarcasm, yes.

Got it. I recommend an opto-isolator.

Me too.

Have you checked if the latching relays are dual pole ? I have those in my place and use the second pole to read the contact status with a 5V signal.

Looks like just 1 set of output contacts http://www.abb.com/productdetails/2CSM111000R0201

I am thinking of different solution for this instead of using button if i use normal switch and the 2 relay for each switch which is one relay for enable /disable the normal switch and another relay is for controlling from arduino over rf .So my idea is that we can write sketch for that first relay to turn off always which is NC which is connected to the switch when ever we power up the arduino it will automatically switch the relay to NO which will disable the normal switching operation and we can start operating from the second relay no/off. And if we want then we can disable the first relay so as to enable the switch by this way we can switch on/off the application both way without changing the existing wiring system and it will also lower the cost of the system …one disadvantage is that we have to use many relays to get this thing to work. I HAVE ATTACHED A DIAGRAM MADE BY ME.

militanz:
Hello,
in my house, instead of using switches, I’ve placed buttons in each room, and a central electrical box filled with relays. This allows me to control each room’s light from a central place, and gives me some flexibility.
What I would like to do now is to drive these relays using Arduino, and the problem is: how can I “read” the relay state, considering that it could be “on” or “off” (they are latching (bistable) relays)?

The ideas that I’ve already discarded are:

  • use a transformer and a rectifier for each relay;
  • use a second relay, with 220v coil, for each relay.

Have you ever done something like this? Ideas?

Thanks,
Matteo

I am thinking of different solution for this instead of using button if i use normal switch and the 2 relay for each switch which is one relay for enable /disable the normal switch and another relay is for controlling from arduino over rf .So my idea is that we can write sketch for that first relay to turn off always which is NC which is connected to the switch when ever we power up the arduino it will automatically switch the relay to NO which will disable the normal switching operation and we can start operating from the second relay no/off. And if we want then we can disable the first relay so as to enable the switch by this way we can switch on/off the application both way without changing the existing wiring system and it will also lower the cost of the system …one disadvantage is that we have to use many relays to get this thing to work.I HAVE ATTACHED A DIAGRAM MADE BY ME.