
Andrew_EE (Customer) asked a question.
We are communicating to a sensor via the I2C pins on the P1AM-GPIO shield. We have been able to communicate with the sensor without issues. However, when we turn on Relay 1 or 5 while power (24VDC) is connected to the common legs, I2C communication cuts out. The 24VDC supply connected to the relays is a different supply than the one that powers the P1AM-100 and its modules (though their 0V busses are connected to each other).
The strange part is that if we disconnect the power from the common legs of these relays and then turn them on, the I2C communication continues to function without issue. Currently these relays aren't powering any devices and that 24VDC power supply isn't connected to any other devices.
We are just trying to figure out how connecting anything to the relay's contact or "output" legs could affect the I2C communication on the GPIO shield. Any thoughts?
Our setup:
24VDC power for the for the P1AM-100 and its modules: MDR-20-24 (24W supply we have used for previous versions of this system)
P1AM-ETH | P1AM-GPIO | P1AM-100 | P1-16ND3 | P108TRS | P1-15TD1 | P1-08ADL-2 | P1-04NTC | P1-04NTC
The other 24VDC that we are using for out benchtop setup: GST280A24-C6P (280W, an extra 24VDC that we use for testing as it has been reliable and has a decent amount of power - overkill for our setup)
Hey @Andrew_EE (Customer) ,
Does this issue only occur on relays 1 and 5?
Does your I2C device have pull-up resistors on the data lines or, if not, have you added them externally yourself?
Thanks
Adam
It is only on 1 and 5, the other relays don't have this issue. I am wondering if it has something to do with those being form C relays while the others are form A? Still shouldn't an issue.
We have external pull-up resistors. As I mentioned, we have been able to communicate with the sensor without issues. The connection just gets interrupted while those relays are turned on.
Do you have any transient suppression on your relays? The transient event from the relay coil could be enough to cause glitches on the I2C causing that lockup.
We do not have anything connected to the P1-08TRS relays except for 24VDC to the C# connections. When we turn on the first relay with 24VDC connected to C1 and nothing to NC1 or NO1, the I2C communication gets disrupted. Same for relay 5. To keep our software team going for now, I have had to disconnect the 24VDC wires from the Common terminals of relays 1 and 5. We have not tested with a load connected to either NC# or NO# as we are focused on getting I2C communication up and running with this new sensor (last one used UART) before we started adding other devices.
We also tried swapping out the P1-08TRS with another we have on hand and had the same results.
That is a fascinating problem. As the modules have electromechanical relays and are rated 120VAC (presumably RMS thus about 170V peak) there should be total isolation at 24VDC, if you have no connection to either N.C. or N.O then a connection to common "shouldn't" make any difference. My first thought might be a solder bridge or loose strand of wire, but you tried a another module with the same results! Mysterious!
Personally I'd pry one open and take a look, but if it is a manufacturing defect AD/FACTS might give you grief about returning it if you have opened it. However, FACTS_AdamC (AutomationDirect) did ask; "Do you have any transient suppression on your relays?" since the relays are inside the module the only way you could know is to open the thing up, so I'd argue you have tacit permission 😏
Their schematic shows a TVS of some sort tied to the contact side of their Relays, so it looks like there is transient suppression present. Limited schematic showing this on their tech specs sheet at https://cdn.automationdirect.com/static/specs/P1-08TRS.pdf.
It is also odd that this problem only seems to occur with I2C communication. The UART connection we used before worked fine. I am currently holding off on troubleshooting a ton as software is still testing the new sensor for viability, but once they are finished, I will be jumping back in to try and figure this out (as I mentioned in a reply to FACTS_AdamC, I have disconnected the wiring from relays 1 and 5 on that module to side-step this issue for now).
We may need to add another serial connection to the GPIO shield. If so, we will be redefining pins 6 and 7 to sercom3, and we may try moving the I2C communication to either those pins or another set of pins to check to see if the issue is with those specific pins or if there is a problem with the I2C protocol/our code with this setup. I will post an update on that if we go down this route.
@Tinker (Customer) , I should've clarified that I was asking if there was external transient suppression as mentioned on page 32 of the installation manual for P1000. However, Andrew is correct, there are TVS diodes on this unit. I was thinking there wasn't on this model.
@Andrew_EE (Customer), I'm glad you have a workaround for now. I'll work on getting a setup here to see if we can re-create the issue or at least see evidence of it. If you could, please keep an eye on your PMs for any additional questions about the setup.