I am building a circuit to read atleast 22 input channels (24 vdc) using an Arduino board which essentially works on 3.3 vdc or 5 vdc.
My current setup makes use of 22 PC817 optocoupler. I am sharing the most basic circuit diagram below with only one channel reading capability to keep it simple to understand.
To drop the voltage and keep the optocoupler safe, I’ve used a voltage divider with a 68K and 1.5K Resistance (±5%/±10% tolerance) that would drop the voltage to around 3.3 vdc, that I think would be safe for PC817 (please correct if I’m wrong).
Now since there are 22 channels to read, using 22 x PC817, 22 x 68K and 22 x 1.5K resistance adds a lot of complexity to the circuit, I wanted to know if there’s a better way to do it.
I read about 8 channels Digital Isolators like Si838x, and have following questions:
Yes, they are designed to work with 24 VDC (maximum safe voltage). With 8 per tiny SMD package, you need 3 of these ICs to solve your interface problem.
These are the most space efficient parts I know of. Not often interfaces have more than 8 channels.
You can pack them end-to-end, 3 in a row. Be sure to follow manufacture specs for board layout and decoupling capacitors. Use a linear voltage regulator so power supply is quiet. Not enough current consumed to justify a noisy switching power supply.
Answered by user105652 on November 29, 2020
Get help from others!