Electronic – How to de-couple DMX512 with opto-isolators

dmx512opto-isolatorrs485

I'd like to build a DMX512 device.

The problem I have is how to decouple the device from the bus. I decided to use opto-isolators, but how should I wire the diode part of the isolator?

Since I need TTL/RS232 levels on the controller side, I'm using either a MAX485 or ADM485 to convert the RS485 levels (DMX512 is just an implementation using RS485) to TTL/UART levels.
But where and how should I use the opto-isolator? Before or after the MAX485?

I was thinking before, right at the bus, but I'm not quite sure how the circuit should look like.

The device is only supposed to receive, not send to the bus.

Best Answer

I'm doing that very thing in a project I'm working on right now. I can't take credit for this, but it sure has worked well.

Both the MAX485 and MAX481 should work well. I modified this design a bit. This design currently has a 133ohm terminating resistor between pins 2 & 3 of the DMX connector. This is used to terminate the end of the dmx bus. I added a switch so that I could enable or disable the terminator.

You'll also note that a DC/DC converter is used to create isolated supply and ground. I'm sure someone else can explain, in better detail, why this is important. My understanding is that it helps with ground loops and voltage differences with the external devices that are connected to the dmx bus.

DMX Shield for Arduino with isolation enter image description here