The Circuit below shows the opto-isolator circuit I implemented for my RS485 application.

Opto-isolator Circuit

RS485 Transceiver: ISL83483

Optoisolator: SFH615A

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.



Picture below shows the waveform obtained at PC Transmit (Cathode of R2 Diode), which seems constant each time I send it. PC Transmit

However, this shows waveform at MCU receive (data from bus). Why is there so much distortion? MCU Receive


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?

  • \$\begingroup\$ Does your scope show good logic levels on the MCU's RX signal? \$\endgroup\$ – Brian Drummond Sep 28 '17 at 16:15
  • \$\begingroup\$ What are you doing with the "transmit/receive control" signal? \$\endgroup\$ – CL. Sep 28 '17 at 17:35
  • \$\begingroup\$ @CL for now it does not apply as the RS485 is not yet used. \$\endgroup\$ – Paul A. Sep 28 '17 at 19:00
  • \$\begingroup\$ What baud rate are you using? What is the allowed output current (i.e., the test condition for VOL) specified in the ISL83483 and FT232 datasheets? \$\endgroup\$ – CL. Sep 28 '17 at 19:50
  • \$\begingroup\$ @BrianDrummond I have edited with the waveform. \$\endgroup\$ – Paul A. Sep 30 '17 at 10:24

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.