Goal: I want to protect a couple of MCU's inputs (PIC16LF18446) that are connected to reed switches through a 3m (10 foot) cable from inductive kickback using snubber diodes. The MCU (and its inputs) run at 3.3V. I want to make the circuit as reliable and robust as possible so it can work for the longest possible time. Working frequency is less than 5 Hz
Problem: It seems that I chose the wrong diodes for this purpose
Questions:
1.- Are the diodes really necessary?
2.- Can some other component/technique be used instead?
Here's the small circuit that I built and tested:
Here's the thing: I built several circuits using the exact same parts and the exact same layout, and to my annoyance and surprise, some of them work fine, and some don't. The MCU was perfectly able to sense when its inputs were being pulled down in some of the circuits, whilst in others it worked erratically, and in some others it didn't work at all. It wasn't until I removed D3 and D4 that things began to work reliably. The reason I installed said diodes was that I was afraid that the cable's length and the prolonged use of the MCU's pins to constantly being mechanically switched between high and low states by the reed switches (I have no control over the use of said switches, they belong to a third party's device) might in the long term damage the the MCU's inputs due to small and constant inductive spikes.
I know for a fact that some MCU's already have built-in protective diodes at their inputs (such as Atmel's line of 8051 architecture MCUs) but I cannot find data on this issue regarding Microchip's PIC16 line of products.
Anyway, here's the data of the diodes I chose for this purpose.
The main reason I chose them was because of their size. They're 0805 and therefore much easier to solder manually than smaller configurations. When I chose them, I thought that, as long as they were of the Schottky type, any diode would do. I now realize I was wrong. These (among other things) diodes have a huge reverse current when compared to the current being drawn by the switches when they pull the lines down. An I suspect that is the culprit of why my circuit behaved so unstably. But I'd very much like to know the opinion of more knowledgeable people on this matter.
Anyway, I'm now in the process of choosing diodes more suitable for this purpose. But I'm finding it kind of difficult because another requirement that I hadn't mentioned is that the diodes should draw as little current as possible when reverse-biased. This because the circuit works on batteries and they should last as many YEARS as possible.
One of the options I'm considering is using nFets configured as diodes (see diagram below). I've done it before and they proved better than Schottkeys, but what they solved is their better performance at high frequency switching, but I'm not sure if they're the best option for this application.



