element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • About Us
  • Community Hub
    Community Hub
    • What's New on element14
    • Feedback and Support
    • Benefits of Membership
    • Personal Blogs
    • Members Area
    • Achievement Levels
  • Learn
    Learn
    • Ask an Expert
    • eBooks
    • element14 presents
    • Learning Center
    • Tech Spotlight
    • STEM Academy
    • Webinars, Training and Events
    • Learning Groups
  • Technologies
    Technologies
    • 3D Printing
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • Technology Groups
  • Challenges & Projects
    Challenges & Projects
    • Design Challenges
    • element14 presents Projects
    • Project14
    • Arduino Projects
    • Raspberry Pi Projects
    • Project Groups
  • Products
    Products
    • Arduino
    • Avnet Boards Community
    • Dev Tools
    • Manufacturers
    • Multicomp Pro
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • Store
    Store
    • Visit Your Store
    • Choose another store...
      • Europe
      •  Austria (German)
      •  Belgium (Dutch, French)
      •  Bulgaria (Bulgarian)
      •  Czech Republic (Czech)
      •  Denmark (Danish)
      •  Estonia (Estonian)
      •  Finland (Finnish)
      •  France (French)
      •  Germany (German)
      •  Hungary (Hungarian)
      •  Ireland
      •  Israel
      •  Italy (Italian)
      •  Latvia (Latvian)
      •  
      •  Lithuania (Lithuanian)
      •  Netherlands (Dutch)
      •  Norway (Norwegian)
      •  Poland (Polish)
      •  Portugal (Portuguese)
      •  Romania (Romanian)
      •  Russia (Russian)
      •  Slovakia (Slovak)
      •  Slovenia (Slovenian)
      •  Spain (Spanish)
      •  Sweden (Swedish)
      •  Switzerland(German, French)
      •  Turkey (Turkish)
      •  United Kingdom
      • Asia Pacific
      •  Australia
      •  China
      •  Hong Kong
      •  India
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      • Americas
      •  Brazil (Portuguese)
      •  Canada
      •  Mexico (Spanish)
      •  United States
      Can't find the country/region you're looking for? Visit our export site or find a local distributor.
  • Translate
  • Profile
  • Settings
Wireless
  • Technologies
  • More
Wireless
Forum RS485 polarization + common ground
  • Blog
  • Forum
  • Documents
  • Polls
  • Quiz
  • Events
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
Join Wireless to participate - click to join for free!
Actions
  • Share
  • More
  • Cancel
Forum Thread Details
  • Replies 9 replies
  • Subscribers 224 subscribers
  • Views 3169 views
  • Users 0 members are here
  • converter
  • rs485
  • grounding
Related

RS485 polarization + common ground

Former Member
Former Member over 14 years ago

Hi there Everybody.

 

I've had few problems with my devices with embedded RS485 tranciver.

 

I've constructed a USB<>RS485 Half Duplex converter witch is based on FT232R chip, and SN75176 (almost the same as MAX485). Well as the data sheet said, the RS485 bus should have terminating resistors on each end. Of course I've added them (120Ohm resistors). I've tested the devices in my workshop, it worked just fine without any problems.

 

The problems however started to aper after installing the devices in the working place. There are a lot of errors in comunication, a lot of dummy data. The reason for that is probably that when there is no transition on the  line (all transmitters are off) the bus is not droved by any signal and  is in HiZ. I've decided that the problem is in lack of polarization resistors (2x 510Ohm pull-up/pull-down on A and B).

 

Well the question here is pretty simple and short. Should I polarize the bus in one place (e.g. middle), where the terminators are (on ends in 2 places) or in each device?

 

Well for me its pretty simple, that the device should be polarized in one place (maybe two). I've read somewhere that all the devices should have those resistors witch I think is wrong thinking. From intuition the pull-ups/pull-downs will be to strong. This can be counted with a parallel resistors model. I really think that when there are more devices on the network the transition will be worser quality. What are you're thoughts on that?

 

The second thing I've wanted to ask is what about the device grounding. Should the devices have common ground witch goes along with the whole bus? Or should they be grounded from PE cable from the sockets? Well I've read somewhere that if there is no common ground and the bus is long the communication could not work. This is caused by big potential differential between places where the devices are.

 

I've would be pleased to here you're place on those 2 issues. Please mark in You're responses if its a theory or did You used it in practice.

 

Sorry for my bad English.

Regards

H-D

  • Sign in to reply
  • Cancel
  • Former Member
    Former Member over 11 years ago

    Hi

     

    I have Exactly a Same problem I use LT485 with PIC16F877A multi Slave

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • dougw
    dougw over 11 years ago

    Hi Jakub,


    When I run RS485 hundreds of feet, I run a system ground in the cable to keep all node power supplies referenced to the same ground. I don't know if it is correct, but it works.

     

    Here is the normal practice for default states:

     

    Failsafe Bias Resistors

    When inputs are between -200mV and +200mV, receiver output is "undefined". There are four common fault conditions that result in the undefined receiver output that can cause erroneous data:

    • All transmitters in a system are in shutdown.
    • The receiver is not connected to the cable.
    • The cable has an open.
    • The cable has a short.

    Fail-safe biasing is used to keep the receiver's output in a defined state when one of these conditions occurs. The fail-safe biasing consists of a pull-up resistor on the noninverting line and a pull-down resistor on the inverting line. With proper biasing, the receiver will output a valid high when any one of the fault conditions occurs. These fail-safe bias resistors should be placed in one place only - at the receiver end of the transmission line.

    Doug

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • mcb1
    mcb1 over 11 years ago in reply to dougw

    Jakub

    True RS485 is designed to be floating.

    It is a differential system which effectively gives opposite voltage transitions. This effectively cancels noise and induced voltage.

     

    There has been concerns when long cable runs allow the induced voltage to effective raise the cable to much higher than can safely be touched, and clamp diodes with zeners are employed in these 'voltage sponges'  to minimize the potential above ground.

    There are various devices to minimize it.

     

    this article here does a good job of explaining it.

    http://www.lvr.com/rs-485_circuits.htm

    This is also a good reference

    http://www.analog.com/static/imported-files/application_notes/AN-960.pdf

     

     

    We have some gear that uses RS485 and we have issues from time to time.

    The problem is usually the driver chip and either one of the outputs fails to hold the voltage at the correct level while no data flows, or one output dies.

    Luckily the manufacturer also had issues and socketed these chips.

    The problems increased when we terminated at the Tx end as the voltage was effectively the same on both legs, so by the time it reached the other end it was no different to induced noise..

     

    My suggestion is to try to simulate it using resistors in series with the line (ours handle 1000 ohms) which may help identify where the problem is.

     

     

    Mark

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • Former Member
    Former Member over 11 years ago in reply to mcb1

    I have a same problem but is ok

    the problem is a Transmission Bd whe you use a PIC to PIC there is no problem but whene you use a PC to pic then you have a problem to Write in PIC

    you need to be in same BD, use a Quartz special

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • gihu
    gihu over 11 years ago

    Hi,

     

    Is it possible that you have more than one device trying to transmit at the same time?

    Which protocol are you using? MODBUS? or is it just a point to point communication?

    Just the termitation resistor should guarantee that the differential voltage between signal A and B is 0volts, unless any device is transmiting to the line.

    About GND wiring, there are cable indicated for RS485, which has 1.5pairs, 1 pair for A and B, and the 0.5 pair(just 1 cable) for the GND, so I think that if you use a common ground it should be the same along the bus.

    Tying to PE, is a technique using shielded cables, to avoid electromagnetic noise, and you connect the shield to PE, (there are different ways) to avoid such a noise, and this shield must be connected to PE not to GND. So you should consider GND as a one more signal and it is not connected to PE.

     

    Hope that help,

    Miguel

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • gihu
    gihu over 11 years ago in reply to Former Member

    Hi Yassine,

     

    You can also have the same problem, using half-duplex RS485, because not all the dedicated chips for USB-to-serial has an RTS signal able to manage the flow control.

    In some cases RTS signal changes before the transmition is ended, so it is quite posible having corrupted data recived, when the data flows from PC to a PIC. I run into this issue when using a Bluetooth to serial module and interfacing it with a DS75176 image

     

    Hope that helps,

    Miguel

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • mcb1
    mcb1 over 11 years ago in reply to Former Member

    Don't understand what you're trying to say.

     

    RS485 is just a method to transfer data.

    Ethernet is a method to transfer data, along with serial and wireless.

     

    The software at each end needs to be able to receive and transmit the data in accordance with the specifications.

     

    While a uP will output serial data, it doesn't meet RS232 specifications, which may be where your system is failing.

    Unless the RS485 converter contains a TTL to RS232 (or USB) it's likely that the PC won't understand as it won;t be getting the -12v signal.

     

    Mark

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • vsluiter
    vsluiter over 11 years ago

    Well the question here is pretty simple and short. Should I polarize the bus in one place (e.g. middle), where the terminators are (on ends in 2 places) or in each device?

     

    Well for me its pretty simple, that the device should be polarized in one place (maybe two). I've read somewhere that all the devices should have those resistors witch I think is wrong thinking. From intuition the pull-ups/pull-downs will be to strong. This can be counted with a parallel resistors model. I really think that when there are more devices on the network the transition will be worser quality. What are you're thoughts on that?

     

    See Doug's answer with the pull-up on the non-inverting and pull-down on the inverting.

    @ mcb1, even if it's differential, it's not supposed to be floating. You'll have to be sure that the inputs are at defined  (differential) levels.

     

    The second thing I've wanted to ask is what about the device grounding. Should the devices have common ground witch goes along with the whole bus? Or should they be grounded from PE cable from the sockets? Well I've read somewhere that if there is no common ground and the bus is long the communication could not work. This is caused by big potential differential between places where the devices are.

     

    You'll need to add a reference wire, to connect the reference of one system to the others'. There's only a limited amount of common mode voltage that a RS485 receiver can suppress / survive. You need to take care that both drivers' levels do net exceed the maximum common mode voltage, so they'll have to have their local GNDs connected to each other. You might use PE for this, but be sure that you understand what you're doing. Is the PE also the local GND of both systems? If you're doing anything related to human safety, be very much aware of what connections you are making, and how currents can flow through your system.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • mcb1
    mcb1 over 11 years ago in reply to vsluiter

    vsluiter

    I stand corrected.

     

    Our RS485 used isolated supplies, and together with a document from the DOT about the issues they had re-enforced the 'floating' belief.

     

    This document is worth reading and explains the various parts and problems

    http://ftp1.digi.com/support/documentation/90000641_a.pdf

    I noted they suggest the use of a 100ohm resistor to the PE to help prevent earth loops.

     

     

    Thanks

    mark

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
element14 Community

element14 is the first online community specifically for engineers. Connect with your peers and get expert answers to your questions.

  • Members
  • Learn
  • Technologies
  • Challenges & Projects
  • Products
  • Store
  • About Us
  • Feedback & Support
  • FAQs
  • Terms of Use
  • Privacy Policy
  • Legal and Copyright Notices
  • Sitemap
  • Cookies

An Avnet Company © 2025 Premier Farnell Limited. All Rights Reserved.

Premier Farnell Ltd, registered in England and Wales (no 00876412), registered office: Farnell House, Forge Lane, Leeds LS12 2NE.

ICP 备案号 10220084.

Follow element14

  • X
  • Facebook
  • linkedin
  • YouTube