I am currently working on optical isolation of the i2c bus in order to remove the risk of damaging the PI from outside noise.
I am using Si8400 optical isolator but I was so far unable to make it work, so I would like to check with you if I am doing it all ok (and the reason for it not working is that I destroyed the part during soldering or something like that.)
I have a separate 5V usb power supply for the B side of the Si8400 and I am testing connection of an i2c thermometer TC74A5.
When the thermometer has power and i2c bus connected to the pi, I can see it using i2cdetect on its proper address (and all other i2c devices I have connected).
Then I tried connecting the the TC74A5 to the B side of the isolator, and I simply cannot see it using i2cdetect (all the other devices are still there).
Originally, I did not have a 3k pullup-resistor connected to the B side lines, which resulted in the i2cdetect not finding anything at all. After that I have connected two 3k 0.5W resistors between the +5V and the data + clock lines (one at each line). This has resulted in i2cdetect now reporting the devices connected straight to the PI but still no sign of the TC74A5 on the B side.
Am I doing something wrong with the connection?
To summarise the connections of the Si8400:
1 - AVDD - connected directly to Pi's 5V
2 - ASDA - connected directly to Pi's SDA
3 - ASCL - connected directly to Pi's SCL
4 - AGND - connected directly to Pi's GND
8 - BVDD - connected to another 5V power supply
7 - BSDA - connected to +5V using 3k resistor and to SDA of the TC745A
6 - BSCL - connected to +5V using 3k resistor and to SCL of the TC745A
5 - BGND - connected to the ground of the other PS
Links:
Si8400 data sheet
TC74 data sheet