# Detecting switch closure

Any techniques/circuits/sensors that can determine the open/closed state of a set of contacts, independently of whatever power or signals are being switched by the contacts?

Obviously easy if there's no or a known load; but (for example): three NO switches in series switching 120 VAC to a bulb.. what black box circuit could be connected across each set of contacts and measure the state of each switch?

Ultimately a logic-level output for a uC, and don't need a fast response time (under a second is fine).

Edit: let's assume a few mAs of leakage ok, and a power load: DC-60Hz, < 250v.

• What's the real application for this? Any monitor is going to have a voltage range over which it works and AC / DC may be important. Can you tolerate leakage through the load? What happens if the load is disconnected? – Transistor Dec 25 '19 at 17:02
• I'd think about using a small transformer with secondary across the contacts and a circuit on the primary to measure the impedance. The secondary measuring current could be kept low, and the transformer could have enough isolation that the switch could be floating at a relatively high voltage. – John D Dec 25 '19 at 17:07
• Good points. Added some assumptions. – tariksbl Dec 25 '19 at 17:16
• Adding to my previous comment, the transformer would have to be AC coupled to the switch and designed so that when the switch is open it could withstand the voltage appearing across the switch. There are probably much easier ways to do it for any given specific scenario, but if you don't know if the contacts are going to be dry or floating or what voltage they'll be switching you would need something along these lines. – John D Dec 25 '19 at 17:32
• You could measure the current of the load using Hall sensors. But this is one of the thousand possible solutions a "black box" can have. – Huisman Dec 25 '19 at 19:42

The AL5890 from Diodes Incorporated offers some interesting possibilities.

Figure 1. A simple 2-pin constant current LED driver from Diodes Inc. can handle a DC input up to 400 V. The AL5890 is available in pre-fixed regulated current ratings of 10, 15, 20, 30 and 40 mA. It supports either high-side or low-side driving and is intended for use with LED lighting chains.

simulate this circuit – Schematic created using CircuitLab

Figure 2. An AL5890 in series with an opto-isolator across each switch should allow monitoring of each contact on a DC circuit.

simulate this circuit

Figure 3. The AC version requires a bridge rectifier on each switch.

I haven't checked the details on this. The AL5890 have a maximum power dissipation and so the current goes down as the voltage goes up. In your application you have to assume worst case which is all switches closed except one, so full mains voltage would be across that. Check to see if this can be accommodated with a single LED as the load.

If this circuit works your monitoring circuit would need to check for pulses from the opto-transistors as the AC voltage rises away from the zero-cross.

• Nice answer. Putting some hi-z load around each switch (and possibly the load in case disconnected) causes a more predictable voltage drop across each. – tariksbl Dec 27 '19 at 17:09

About 43 yrs ago, I needed to ensure 96 power relays were operating correctly from remote control. They were in a big box for remote power control on my SCADA control system attached to two long umbilical cables to a remote device with lots of batteries, power supplies and research instruments.

I needed "reliable" relay feedback , so chose (Potter& Brumfield) P&B 15A and 25A relays with extra low current "Sense" contacts for feedback to a digital MUX for supervisory verification.

There was a problem with the closed sense contacts appearing open = Fault. It wasn't contact bounce.
It was contact "rust" or silver oxide on brand new relays.

I used a 10k pullup for (NO) normally open contacts to detect ="1" but "0"= 1.5mA closed contact to TTL, going into a TTL logic board, would sometimes not work. My fast investigation revealed the contacts were not gold plated an oversight of mine as all modern contacts today <2A must be gold plated but back then, not so. So the TTL current could not satisfy the 10% typical wetting current needed to burn OFF the oxide. I was just a fairly new engineer out of Uni. ,so this was a learning experience.

I ran a test program sequence using an HP multiprogrammer and HP2825 computer to activate each Relay in sequence, but wait for feedback verification then activate the next. It sounded like a machine gun that was jamming.... I'd hit the box and some relays would be sensed closed by jarring a few microns and it would continue then freeze. These were from a high quality relay company P&B but the silver oxide is no good for low current switching and non-gold plating was an issue for logic currents.

I fixed it with 22uF Tantalum e-caps across each sense contact and the 5V pullup would charge up the cap and when closed, the cap. discharge arc would burn off the oxide without excessive wear with a 100mΩ ESR and 5V/0.1>=50A pulse in less than 2us. A 5V arc @ ~1V/um means the contacts must be within 5um of oxide thickness of making contact to arc then burn off in microseconds.

Then it sounded like a well-oiled machine. rat-a-tat-tat

simulate this circuit – Schematic created using CircuitLab

• Good anecdote but current sense contacts aren't an option here, I want to detect the state of existing single-pole switches. – tariksbl Dec 26 '19 at 14:03
• If there are multiple switches, one could remote monitor the voltage drop on each switch or simply locally monitor the state of the current to see that it is as expected. It depends on the purpose. If just detecting the reliability of the switch where it is used, that would be obvious. But to detect if the problem is before , after or WITH the switch is another purpose, not specified (!) and demands a different solution. – Tony Stewart Sunnyskyguy EE75 Dec 26 '19 at 14:07

The supervisory relay contacts outlined by Tony are a reliable accepted method of detecting relay armature position and should by used if available .+1 .If such contacts are not available the relay armature position can be detected by coil inductance change .These days PWM relay coil drive is common on DC relay coils to save power .When you have a large number of relay coils the microprocessor is the most economical method of generating PWM .When the relay is initially energised the PWM duty cycle would be 100% on a 24VDC relay coil running through a 24 VDC supply then after ample time of say 100ms for the relay to pull in the duty cycle is backed off to 50% giving the relay coil an average voltage of about 12VDC .This could give a power saving of 75% because the coil power is divided by 4 when the voltage is halved .In the multi coil microprocessor case the PWM frequency is fixed so the current ripple magnitude is a inverse function of relay coil inductance .I penned up a basic analog ripple current preamp and detector circuit and tested for a significant voltage difference when I moved the relay armature by hand whilst the relay was energised with 50% duty cycle PWM .I also did a analog implementation which was economical for just one big relay coil where I kept the % ripple current constant using the coil inductance as the frequency determining element of a LR oscillator .In this prototype I measured the frequency making sure I good a good difference between the open and closed positions .To sum up any scheme that measures relay coil inductance on the fly will work .I have only outlined 2 such schemes .A possible drawback of this is that you must pre test on the actual relay that is intended for production to ensure that you register big inductance differences to allow for reliable operation .