I have a shielded twisted pair running from one device polling several devices in an RS 485 loop. The conditions:
- The devices are in parallel as they should be.
- The termination resistors are in place as they should be.
- The communications are half duplex.
- There is no GND wire running with the twisted pair data lines.
- The shield is connected to the Chassis ground on the various devices in the loop - and not at the 'master' end - no ground loops.
- The Signal ground is connected to the chassis ground within the devices with 1nF 500V caps.
- The transceiver in all the 'slave' devices is isolated in terms or power supply (galvanically) and signals (optocoupler).
- The data is being sent over a relatively slow baud rate of 19.2K. The total length of the 485 loop is less than 500m.
The issue: The 'slave' devices are blowing up - no visible blowing of components but the tranceivers are failing after some time. The probable causes identified are surges being injected into the shield - I am pursuing this; and common mode noise being coupled into the data lines, which are exceeding the acceptable voltage levels of 15V.
For the latter, I am planning to add some zener diodes to limit the voltage levels on the transceiver pins from the external connection. Since we do not have a signal ground with the data lines (which should be the reference for the zeners - so all the three (Tx+, Tx- and SGND) can float, is it okay to connect the zeners to chassis ground with some current limiting resistors? The chassis ground was tested and found to be quite stable and low potential. This is the only ground to the receivers and all internal ground are connected to it through caps.
Bottom line:
- Will connecting the zeners to chassis ground work, and save the data lines from dangerous voltages?
- Will this scheme interfere with the data integrity?
- Or should the zeners be connected to SGND (internal to the system)?
- Should the SGND and chassis ground be connected with 1nF caps, or should i remove that connection to have the SGND float freely?
Apologies for the long question, please let me know if you would like any more details - sharing of schematics would not be possible though.