Electrical – (opto)isolated PISO shift register able to “read” at 24V

arduinoopto-isolatorshift-register

I'd like to create an input module for arduino, which should read 64 digital inputs using (chained) PISO shift registers. My system voltage is 24V, so the best way will be any PISO shift register (with integrated isolation) which should be able to "read 24V inputs directly" and protect arduino from overvoltage on that inputs.

I found the only way – K847PH with CD4021, but this will make my scheme much more complicated and it will rapidly increase number of used parts and pcb size, so I am looking for (near)single-chip solution.

Thank you.

Best Answer

Convert 24V to a lower voltage using a simple voltage divider, this needs 2 resistors per input. Values can be quite high, so the input resistor will double as R for the RC lowpass filter and ESD protection. Add a capacitor across the lower resistor for filtering.

These feed the inputs of your PISO shift registers, which of course run on 5V from a regulator powered from the 24V side.

Now, add isolators on the serial link. You will need 2-3 isolators only, instead of one isolator per input.