The Circuit below shows the opto-isolator circuit I implemented for my RS485 application.
RS485 Transceiver: ISL83483
Calculated resistor Values are: R1,R4,R6 = 4.7K. R2,R3,R5 = 130 Ohms. ( (3.3VDC - 1.35Vf) / 15mA)
Vnode and Vbus are 3.3VDC from different Transformer Secondary Winding. Vnode also supplies power to the MCU controlling the communication flow.
For now, I am yet to connect the RS485 transceiver to the circuit, as i decided to test from the MCU to the PC using FT232 UART cable which supplies 5VDC regulated to 3.3VDC as Vbus.
Now the Issue
The MCU transmits (data to bus) and I am able to view on the PC. However, if I send a response from PC, the MCU never seems to get anything (data from bus).
To be sure, I repeated the above, but without the opto-isolator, by connecting Rx-Tx, Tx-Rx, GND-GND of MCU and PC together. And it was transmitting and receiving on both sides.
I swapped both opto-isolators, and same thing happens.
Where is the cause of this problem? Why can't the MCU get a serial message from PC via the opto-isolator.
I observed some communication but at different voltage levels.
Vnode is always 3.3V as the MCU supply voltage.
My FTDI USB/232 cable is 5.0V.
Using a 3.3V regulator I made Vbus as 3.3V, then PC receives from MCU, but MCU does not receive from PC.
If Vbus is 5.0 (not regulator), PC does not received from MCU, however a message from PC get to MCU.
Could there be a Voltage level issues? Can't the optoisolator work at different voltage levels at both ends? and how can I fix this?