Driver Chips and DMX bus termination
When searching the internet you can see several chips being used to drive a DMX communication. They all are made to convert logic-level signals (LOW & HIGH) to the EIA-485 differential signal levels on the twisted pair cable.
Very common are the chips from MAXIM that I also use for my implementation. The one I prefer is the MAX485 or MAX481 which are identical with the exception of a low power shut down mode in MAX481 that we don’t need in the DMX scenario. MAX481 and MAX485 from MAXIM
Other chips often used are the 75176b differential bus transceivers from Texas Instruments.
A typical schema using MAX481 for a DMX controller is:
For a simple setup it is possible to connect the Driver chip directly to the Arduino pins but if you need a robust system, especially on a stage environment, you will have to add some more electronics to avoid electrical damage by defect equipment or accidental circumstances.
The electric potential of the DMX side of the implementation have to be isolated from the processor. There are 2 sort of chips that implement all you need:
A 5 volt to 5 volt DC/DC converter with galvanic decoupling.
There are complete solutions in a single component available like NME0505SC or AM1S-0505SZ that can be used to generate a 5V power supply that is galvanic isolated up to 1000V. So even if there is a high voltage attached to the DMX bus there is a chance of no or low damage.
High speed TTL compatible Optocouplers
These chips use a LED and light sensitive transistor to isolate the DMX bus from the Arduino data pins. There are standard TTL compatible Optocouplers available like the 6N137 from MOTOROLA.
There are 3 data signals from the arduino that have to be brought from the arduinos side to the DMX side: transmit, receive and the data direction:
So you need at least one driver chip and to be safe you better make an isolation with some optocouplers.
A minimal solution with only:
1x SN 75176
1x 100 Ohm 1%
but there is no isolation!