Measuring relay contact resistance under load - Page 1
Forum section: electronics / projects

author: Lupin III.
author_rank: Contributor
timestamp: July 26, 2021, 10:35:15 am
content: I would like to test serveral relay models for contact degradation. The loads will be heating elements (1500-2000W @ 230V -> 6-8A), so purely resistive with a slightly higher inrush current when cold (approx. 20% higher). The test setup will have many relais controlled at the same time (staggered, so power requirements don't go from 0W to something like 20kW in an instant). The test cycles will be about 10 seconds long with an on-time of 2-3 seconds (this seems to be similar to what relay manufacturers do). The test will last until the relays fail (yes, this will be a test that could take a few weeks).My question is: what would be the best way to measure and log the contact resistance of the relays over time? I was thinking about measuring the voltage drop on the closed relay under load. But the problem is that with the relay open I'll have 230V AC across those contacts, while closed it will be a few 100mV, so a ratio of almost 1000:1. I don't need to measure the open voltage so it is fine if the everything above say 3-5 volts is clipped. I still don't have an idea how to build a circuit that can measure a few volts (at <10mV resolution), but at the same time can withstand a few hundred.There are two additional requirements: as there will be 10 - 20 of these stations in parallel the circuit per relay should be simple/reasonably cheap. Also the measurements circuits will most likely have to be galvanically isolated from each other and especially from the data aquisition device (fancy word for what will most likely be an AVR/Arduino, as the accuracy of the absolute values isn't that critical, and the 10bit ADC of an AVR should be good enough for measuring changes).Any ideas how you'd do that?

author: Zero999
author_rank: Super Contributor
timestamp: July 26, 2021, 10:51:40 am
content: It should be fairly easy to make a circuit which can measure 100mV, yet be able to withstand 230VAC. An op-amp circuit will do that. The input needs to be connected by a resistor, to limit the current to a safe level and clamped to the supply rails, using diodes.

author: Berni
author_rank: Super Contributor
timestamp: July 26, 2021, 11:14:14 am
content: Yep as mentioned above the trick is to use large input resistors.The typical opamp differential input amplifier circuit uses resistors between the actual input and the opamp. If you pick a good opamp with nice high impedance inputs then you can use resistor values up into the MOhm range. At that point even if you have the 300V peak of mains you only get 300/1e6 = 0.3 mA of current. This can easily be handled by the opamps internal ESD protection diodes (or a small external one, some opamps omit these on the input to trade resilience for more performance)The only thing to watch out for is that the common mode rejection of such a opamp difference amplifier is heavily dependent on the resistor tolerances, so use fancy high precision resistors or add a trim pot to manualy fine tune it for best performance.

author: Terry Bites
author_rank: Super Contributor
timestamp: July 27, 2021, 01:51:53 pm
content: Texas INA149 and AD629 (more expensive) are rated for +/-275V and protected to +/-500V over voltage. Peak (no, not pk-pk guys) mains voltage is 0.707*VRMS. Ie 230V is +/- 163V Of course you can just use their internal schematic and use it or modify it by upping the input resistors. Either way, you need good resitor matching to get this to work properly. Which is a pain.For DC...See TIs low cost precision idea, Just float an LV CS amplifierhttps://www.google.co.uk/url?sa=t&rct=j&q=&esrc=s&source=web&cd=&ved=2ahUKEwjezNi8sIPyAhUHUhUIHVQwCFQQFjAOegQIBBAD&url=https%3A%2F%2Fwww.ti.com%2Flit%2Fpdf%2Ftidu833&usg=AOvVaw3CD5IAGlkBzgTuDmnu4nX_The INA138 used here is half the price of an INA149 and a third of an AD629. A 12V Zener, a pnp or pfet (better) and few passives.

author: ajb
author_rank: Super Contributor
timestamp: July 27, 2021, 06:57:25 pm
content: You don't necessarily need a differential amplifier if you can reference one side of the sensing system to one of the relay contacts. Since you aren't worried about absolute accuracy, a simple MCU with built-in reference+ADC at each relay could easily measure and digitize the relay contact voltage and optionally load current (with a shunt, if you aren't already measuring it somewhere else) using a single-ended amplifier and give you a digital output that is dead easy to isolate. The amplifier still needs to be fairly precision and care will need to be taken with design/layout if your measured values will be in the millivolts, but still easier/cheaper than laser trimmed differential amps. The digital output could be a UART if you have a sufficiently accurate clock in the sensing MCU, or PWM into a higher resolution timer in the sensing system, both of which only require a single isolated IO (or 2-3 if you want bidirectional comms or a trigger a signal or a clock or whatever). That makes it easy to isolate all of the sensing units from each other and from the acquisition system. Of course you'll need isolated power to each one, but isolated DC-DC converters with a variety of ratings are readily available.

author: jbb
author_rank: Super Contributor
timestamp: July 27, 2021, 11:51:55 pm
content: How about an input switching system and a Digital Multimeter (DMM)? You could use AC Voltage range with auto ranging.Edit: I just realised ou’ll need to be careful of the wiring. A few mV of AC antenna pickup will cause quite a change in the measured voltage. I would suggest you wire each relay contact voltages with its own twisted pair.Edit: A real fancy-pants way to approach this measurement would be to inject some test current at 55 Hz and then use a Lock In Amplifier ($$) to separate the 55 Hz signal from the mains frequency (50Hz or 60Hz).

author: John B
author_rank: Frequent Contributor
timestamp: July 28, 2021, 01:11:14 am
content: Quote from: Terry Bites on July 27, 2021, 01:51:53 pmThe peak voltage would be 1.414*Vrms, or Vrms/0.707 if you prefer. Where I am, Vpeak can easily exceed 350V.

author: trobbins
author_rank: Frequent Contributor
timestamp: July 28, 2021, 02:02:08 am
content: Obviously the contact resistance can change with each wiping action and surface degradation from pitting/arcing due to age, and the contact could fail from welding short. So not sure how you intended to determine end of service life.You could measure the steady-state contact resistance under a benign low voltage dc load in a duty cycle gap between using the relay contact for AC load duty. That may just need a control relay per DUT contact to mux all contact V-I levels to say only two logging meters.

author: ijchan223
author_rank: Contributor
timestamp: July 28, 2021, 03:53:13 am
content: I am not sure if this is a good enough test, but i would just measure the voltage drop and calculate it ?

author: Zero999
author_rank: Super Contributor
timestamp: July 28, 2021, 08:00:59 am
content: Quote from: ijchan223 on July 28, 2021, 03:53:13 amThat's the idea. The problem is designing something which can do it automatically.

author: Terry Bites
author_rank: Super Contributor
timestamp: July 28, 2021, 02:05:50 pm
content: I'd say you really do need diff-amps because referencing to earth will create all kinds of errors on the current measurment side. In paticular mains earth and neutral are in practice never at the same potential and small voltage difference here will screw you. Volts of N-E potential vs your mV.This is what I'd do. See image. Highly reusable for other projects after you're done with relays. I think I'd use isolated USB to to connect to the micro.MOVs on both contacts to earth may be a good idea if you have reactive loads. Fusing essential, local bypass on the relay essential, good design practice will keep you alive.The RC filters for the ADC are notional, you'll have to adjust them to suit your system, I'd most likely buffer the ADC inputs anyway. Low speed opamps will not add much to the cost.You want local circuit breaker on the mains side.Sorry for the wrong schematic earlier. Still, at least I illustrated my idea!Hey. Anone know how to get spell check going again on thesei forum??

author: TimFox
author_rank: Super Contributor
timestamp: July 28, 2021, 04:51:09 pm
content: If the relay circuit is in a 230 V 50 or 60 Hz system, the load current can be measured easily through a current transformer, and a suitable insulated transformer could couple the small voltage across the closed contacts to a suitable (grounded) amplifier through a high impedance and diodes network to protect the amplifier input against the high voltage with open contacts (which you don't need to measure). The effect of this network and transformer should be small with the contacts closed, so long as the transformer can tolerate 230 V. Probably, the voltage-protection circuit should go on the primary (relay contacts) side to protect the transformer, which just needs to handle the insulation question to give galvanic isolation to a conventional grounded amplifier. To derive contact resistance, you need the high current (seen through the current transformer) and the low voltage (seen through the protected transformer), conveniently measured in a grounded data acquisition system.The system can be calibrated by using typical (small) resistor values at the position of the relay contacts (with and without load) to check for unwanted common-mode or leakage effects through the voltage transformer.

author: trobbins
author_rank: Frequent Contributor
timestamp: July 28, 2021, 11:59:16 pm
content: Going through a dedicated mains isolation transformer would allow the secondary neutral to be earthed to the measurement system and normal PE, and measurements could be made during steady-state conditions depending on when relays are switched and their duty cycle of operation (eg. if there was a need to lower the loading on the isolation transformer by having say only half the load circuits on at any one time).

author: Terry Bites
author_rank: Super Contributor
timestamp: July 29, 2021, 01:01:50 pm
content: True. But this guy is going to need a lot of kVAs.

author: Zero999
author_rank: Super Contributor
timestamp: July 29, 2021, 01:40:58 pm
content: The most sane solution is to float the amplifiers and ADCs, at the mains voltage and couple the data via a digital isolator, to the data logger.

author: trobbins
author_rank: Frequent Contributor
timestamp: July 29, 2021, 01:44:16 pm
content: Terry, it sounds like an industrial type project, so even 20kVA is well under a 20A 3ph feed at 415V. Depending on the duty cycle of operation, matrixing of relay/load circuits, and imperative to get the job done, there seems to be some latitude for tweaking.

author: Terry Bites
author_rank: Super Contributor
timestamp: July 30, 2021, 11:35:50 am
content: I've looked at isolated ADCs before but they all seem to have ghastly noise specs.I going to play with a Si8920 after chipaggedon. Low cost iso-amp. Looks just the job.

author: Lupin III.
author_rank: Contributor
timestamp: August 02, 2021, 11:37:22 am
content: Thanks for all the activity over the weekend! Yes, this is an industrial project. So the "few" kVA are nothing. And while I do have 16A 3-phase in the basement I wouldn't want to heat it with 11kW for weeksFirst, because this leads down a rabbit hole: current measurement is not needed, because the load resistance is orders of magnitudes higher than relay contact's, so the current can be considered constant (defined by the load).I was playing around in LTspice. See the schematic, which uses parts I have laying around.The ground symbol is not mains earth, but the ground for the measurement circuit and is equivalent with mains neutral in this case. 5V will be supplied by an isolated supply, that is then referenced to neutral.I do have USB isolators for the connection to the PC.R_load is about 40 Ohm, which results in about 6A RMS.R_parasitic is all the resistance in the traces leading to the relay pinsR_contact ist the resistance I want to measure. I know I could have assigned it directly to switch "MYSW", but it's clearer this way.The two 2.2k resistors (R4, R5) before the diodes are there to limit the maximum current through the clamping diodes.the other two 2.2k resistors (R2, R3) are voltage dividers. I will most likely change their value to adjust to our definition of "failed" contact resistance. They might not be there at all. They are needed when R_load + R_parasitic increases above about 0.6 Ohms, because at that point the upper diodes would start to clip the signal.The rest is just a simple differential amplifier. I might need additional Schottky diodes to clamp the inputs closer to the rails (I don't have 400V rated Schottky diodes for the main clamping diodes at hand).You can see the simulated result at the output in the graph. Where the output is clipped (right part from 300ms onwards), that's when the relay is open. I don't care about the value for that (might use it to check for welded contacts though). I'm interested in the change over thousands of relay switching cycles in the non-clipped part (left up to 300ms). The real cycles will be more like 2s on and 8s off, as I said. I chose 300ms here to show the waveforms better.Sholdn't that work? As said the absolute values aren't that critical, but tracking changes accurately is. At the start of the measurement we will measure current with a clamp meter and voltage drop over the relay contacts with a multimeter to have reference values for the initial resistance. Then the setup will (hopefully) run for weeks (maybe with a daily clampmeter/multimeter check).I'm now mostly wondering, how I will actually measure the value. Trying to catch the peak in software? Smoothing caps in parallel with the diodes? Smoothing caps at the output?

author: ajb
author_rank: Super Contributor
timestamp: August 02, 2021, 04:29:03 pm
content: Are those the resistor values you plan to use? Those two 2k2 resistors at the input are going to pass about 50mA (which also goes through your load!) and dissipate about 12W during the off time, or ~9.2W at your stated duty cycle. Actually depending on how the measurement circuit is referenced it could be worse, if the lower input resistor is effective bypassed by the circuit being double referenced to one side of the relay contact than the upper input resistor ends up with the full open circuit voltage across it.If you intend to isolate the measurement circuit from the acquisition system anyway, why not just reference the measurement ground to one side of the relay and take a single-ended measurement? You may still need/want division at the input but it can be way higher resistance because you don't need to balance its impedance against the resistor network of a diff amp. Two simplified options shown below. The top one will only measure the positive half-cycle, which is probably enough for your needs, the lower one adds a rail splitter to reference the measurement to the middle of measurement circuit's supply to allow both half cycles to be measured. Lots of MCUs have differential-input ADCs now, or you can just measure the reference point directly and calibrate it out. The input divider can and should be pretty high impedance. The second resistor between the clamping diodes and the opamp input provide a bit of extra protection to the op amp since the clamped voltage will still be outside of its rails. Any gain on the op amp stage is optional.It should be possible to build this circuit to be sensitive enough that you won't need to change resistor values for a reasonable range of 'failure' resistances. As far as taking the actual measurements, putting an MCU here gives you a lot of options. A two second on time gives you 100-120 cycles to measure, so you could gate the measurement based on the voltage at the input being below some threshold for a full cycle time, then just take a whole bunch of measurements over each cycle and compute the RMS, which even an 8-bit MCU should be able to do easily enough for mains frequency. Averaging many samples means you don't have to worry about aligning those samples to the cycle nearly as much as with a peak measurement and implicitly filters the signal.

author: Lupin III.
author_rank: Contributor
timestamp: August 02, 2021, 05:54:11 pm
content: Quote from: ajb on August 02, 2021, 04:29:03 pmYou are right. Those values aren't the ones I planned to use. I did some experimentation in LTspice and unfortunately those were the values I last tried and didn't (re)think about them before posting. But too high of a value would indeed be a problem considering the input impedance of this simple diff-amp. And in turn increasing the diff-amps resistors to a few hundred k-Ohms might have its issues of its own.Quote from: ajb on August 02, 2021, 04:29:03 pmMy reasoning behind a diff-amp was that I will have multiple of these in parallel all measured by the same MCU (on different ADC inputs). Considering how low the contact resistance of a relay is (or should be), I might introduce a non-negligible error just from the traces. But on second thought, the relays will be quite close together anyway (maybe 2-3cm spacing). With wide tracks, maybe extra solder or even copper wire added to them and a kind of a star point to avoid as much voltage drop as possible and especially differences for each relay, single ended might be actually enough. It would definitely make things a lot easier.Quote from: ajb on August 02, 2021, 04:29:03 pmI'd like to measure multiple relays with a single MCU (as many as possible). I've not decided which one yet, but I'd like to use something that's supported by "theremino" (https://www.theremino.com/en/), because a colleague is using that for another project already, so I might get around having to write the logging software. "Theremino" is an open source hardware/software system with the main IO hardware being based on a PIC24, but firmwares for atmega32/Arduino and ESP32 are available as well. Whatever it will be, only having to get a single measurement per relay and cycle, would be nice, because of its simplicity. I don't know much about Theremino yet unfortunately, so I don't know what's possible there in software.

author: SeanB
author_rank: Super Contributor
timestamp: August 02, 2021, 07:25:54 pm
content: Just thinking that, as you are really only interested in current under load, and contact degradation from that, there is no need to actually use mains voltage. Cheaper power wise to simply get yourself some 12V 50W halogen downlighter lamps, and a big sheet of aluminium to mount them, using the standard cheap ( under 2 euro) downlighter units, which gives you the ability to have some power control, using either 50 or 30W lamps in there. Does mean you will be buying a few big heavy 250VA downlighter transformers, not the electronic one but the old fashioned 50Hz iron core type, which is heavy. Then you simply arrange loading, probably 100W per relay, 2 lamps, giving just over 4.1A per lamp, and a decent inrush current as well.That way all the measuring is mains isolated, and the off state voltages are as well, easier to handle, and your power bill will be considerably lower as well. After all, you are interested in the current, the on state does not care on relay withstand voltage, and for that you can use a separate relay to control the input to the transformers, and simply compare before and after test values for the resistance with no applied power.