Hi,
I'm planning to use many MCP23017 I/O expanders in a home automation system to
Obviously, I want to protect the pins of the MCP23017, especially the pins used as input. Therefore, I came up with the following scheme:
The switch is put into the wall in different rooms, all cables from the switches are coming to the PCB's in a star form. Hence, some cables can be up to 15 meters of length.
In the above drawing, I've put Schottky Barrier diodes of type 1N5818 to protect against over- or under voltage. Is this a good approach or should I better take zener diodes with a zener voltage of 5.1V (MCP23017 is powered with +5V)?
The 3k3 resistor is used as pull-up resistor, to give a stable voltage to the input pin of the MCP23017, in case the switch (button) is not pressed.
The R1/C2 network is used to filter spikes and also to avoid contact bouncing (RC constant is about 50 ms).
Is this, in general, a good approach to protect as much as possible the pins used as input for the MCP23017?
Any suggestions, remarks, corrections, improvements are highly appreciated.
Best rgds,
I'm planning to use many MCP23017 I/O expanders in a home automation system to
- observe switches (pressed or not) (Niko switches)
- control LED's which are built into the Niko switches
- switch relays (Omron) and impulse switches (Eltako)
Obviously, I want to protect the pins of the MCP23017, especially the pins used as input. Therefore, I came up with the following scheme:
The switch is put into the wall in different rooms, all cables from the switches are coming to the PCB's in a star form. Hence, some cables can be up to 15 meters of length.
In the above drawing, I've put Schottky Barrier diodes of type 1N5818 to protect against over- or under voltage. Is this a good approach or should I better take zener diodes with a zener voltage of 5.1V (MCP23017 is powered with +5V)?
The 3k3 resistor is used as pull-up resistor, to give a stable voltage to the input pin of the MCP23017, in case the switch (button) is not pressed.
The R1/C2 network is used to filter spikes and also to avoid contact bouncing (RC constant is about 50 ms).
Is this, in general, a good approach to protect as much as possible the pins used as input for the MCP23017?
Any suggestions, remarks, corrections, improvements are highly appreciated.
Best rgds,