I've been working on a project that requires interfacing a PLC's relay output to a custom made circuit using a PIC10LF320 working at 3.3V
The way both devices are connected is extremely simple:
The MCU_Pin connected to the relay's contacts is configured as an input with its internal "weak pull-up" feature enabled.
Some of the circuits have been behaving well. But some others have been a bit erratic. That is, a few of them have not been detecting the MCU_Pin being pulled to ground when the relay's contacts are closed, or have been detecting it intermittently. I attribute that behavior to the relay's contacts being of the "dry" type, as Max has pointed out in other posts of his. That is, I think that the contacts have been developing some sort of electrical oxidation on their surface, and said oxidation has been acting as an insulator. And this has been made worse due to the low voltage at which the circuit works. Thus explaining the MCU's failure to detect if the relay is closed.
Now, the MCU draws its power from a regulator, and the regulator draws it from a set of batteries connected in series that deliver a bit over 14V when fresh. It is very important that any change I make to the the circuit does not pull more than 5 µA in addition to what it's already being drawn from the batteries.
Any suggestions as to how best to overcome this PITA? ... use an external Zener or an nFet while cancelling the pin's internal pull-up perhaps?
@MaxHeadRoom, @crutschow
The way both devices are connected is extremely simple:
The MCU_Pin connected to the relay's contacts is configured as an input with its internal "weak pull-up" feature enabled.
Some of the circuits have been behaving well. But some others have been a bit erratic. That is, a few of them have not been detecting the MCU_Pin being pulled to ground when the relay's contacts are closed, or have been detecting it intermittently. I attribute that behavior to the relay's contacts being of the "dry" type, as Max has pointed out in other posts of his. That is, I think that the contacts have been developing some sort of electrical oxidation on their surface, and said oxidation has been acting as an insulator. And this has been made worse due to the low voltage at which the circuit works. Thus explaining the MCU's failure to detect if the relay is closed.
Now, the MCU draws its power from a regulator, and the regulator draws it from a set of batteries connected in series that deliver a bit over 14V when fresh. It is very important that any change I make to the the circuit does not pull more than 5 µA in addition to what it's already being drawn from the batteries.
Any suggestions as to how best to overcome this PITA? ... use an external Zener or an nFet while cancelling the pin's internal pull-up perhaps?
@MaxHeadRoom, @crutschow

