Looking for help - Testing RS485 serial communication for electrical noise - Page 1
Forum section: electronics / testgear

author: prskier17
author_rank: Newbie
timestamp: April 12, 2017, 02:30:10 pm
content: Hello,This is my first eevblog.com post....OK, I work at a company that manufactures precision motion stages and we have several products that use RS485 serial communication to transfer parameters to a "smart" stepper motor which has the controller and amplifier onboard. We have a desire to test the integrity of the RS485 communication over several cable sets with different levels of shielding and environmental electrical noise. Note that we are a group of mechanical guys with limited electronics background, so we're learning as we go.What is a good method to test the RS485 communication to maximize our confident that our products won't have issues in the field? I came across the IKALogic ScanaQuad product and am wondering if this is something that can be used for this purpose? Any help or pointers in the right direction would be appreciated!Thanks in advance,Chris Skjolsvik

author: janoc
author_rank: Super Contributor
timestamp: April 12, 2017, 03:19:55 pm
content: That Ikalogic device is a logic analyzer, that is not really going to tell you anything about whether or not you are having signal integrity issues - distortion, noise, etc. Logic analyzer would only help you determine whether correct data are being sent.You will need an oscilloscope and someone who knows what they are looking at.On the other hand, properly implemented RS485 usually doesn't need neither shielding nor any special treatment and runs happily over twisted pairs and long distances. It is a differential protocol that is very good at suppressing common mode noise already. That capability is one of the design goals behind RS485.

author: tggzzz
author_rank: Super Contributor
timestamp: April 12, 2017, 03:28:32 pm
content: First you need to test thatbitsare correctly sent and received. This is "signal integrity", and is in the analogue domain. Essentially you have to check that the transmitted and received voltages, times and transition times are within the RS485 spec. Use an oscilloscope.Then you need to check that thedigital messageis correctly transmitted and received. This is "protocol analysis", and is in the digital domain. You can use scopes, but logic analysers and printf statements are also useful.Finally you need to check that your programs correctly detect garbled messages, and continue to work correctly. That is a function of your system design.

author: nctnico
author_rank: Super Contributor
timestamp: April 12, 2017, 03:50:21 pm
content: Quote from: tggzzz on April 12, 2017, 03:28:32 pmThis actually is the most important part when it comes to communication: messages can and will be missed/distorted so make sure the system can detect and recover from such events.At the electrical interface I'd check for signal levels and signs of reflections. A good rule of thumb is to filter incoming an outgoing signals to a bandwidth at which the communication can work. Excess bandwidth can makes the system susceptible to interference and it may make it emit more noise than it has to. Last but not least: put some TVS diodes or varistors (if the bitrate is very low and only a few nodes) across each RS485 transceiver to catch surges.

author: prskier17
author_rank: Newbie
timestamp: April 12, 2017, 04:15:22 pm
content: Thanks for the response everyone!We previously had been using a cable set that had twisted pairs that were individually shielded. The design of the product includes a plastic energy chain with a tight bend radius that exceeded minimum bend radius of the high flex rated cable. Our only option without ordering a custom flat cable (at $6k with minimum order requirements) was to use a non-shield AND non twisted-pair high flex cable (Alpha Wire # 79058). We have captured the signal with an oscilloscope using both the original twisted pair and shielded wire as well as the new non-twisted and non-shield wire. I am looking into this data and will post info shortly....