Continue to Site

Welcome to our site!

Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

  • Welcome to our site! Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

RS485 bus help needed

Status
Not open for further replies.

arunb

Member
Hi,

I am trying to develop a system based on the **broken link removed**

The motor communicates via RS485 with a Kinco K506 PLC. Both the motor and the PLC do not have pull-up resistors on the RS485 network.

My queries are

1. Is it OK to pull-up the RS485 network to +2.8 VDC instead of +5 VDC. I know the RS485 specs mention +5 VDC as the bus level. However it also mentions biasing the network, so does it matter if voltage is +5VDC?

I am using 470E pull-up to +ve on the RS485 A+ line, and 470E pull-up to the ground.

2. I normally run a ground line alongwith the RS485+ and RS485- lines. However in this case the motor and PLC are both powered by different power supplies. So is it possible to remove the ground line ? I would prefer this as I do not want noise in the motor supply to affect the PLC.

thanks
a
 
Hi,

I am trying to develop a system based on the **broken link removed**

The motor communicates via RS485 with a Kinco K506 PLC. Both the motor and the PLC do not have pull-up resistors on the RS485 network.

My queries are

1. Is it OK to pull-up the RS485 network to +2.8 VDC instead of +5 VDC. I know the RS485 specs mention +5 VDC as the bus level. However it also mentions biasing the network, so does it matter if voltage is +5VDC?

## this could cause issues as this will affect the common mode voltage level.

I am using 470E pull-up to +ve on the RS485 A+ line, and 470E pull-up to the ground.

2. I normally run a ground line alongwith the RS485+ and RS485- lines. However in this case the motor and PLC are both powered by different power supplies. So is it possible to remove the ground line ? I would prefer this as I do not want noise in the motor supply to affect the PLC.

## The thing is that although rs485 is a differential bus, it still needs the signal to be within certain common mode range. If there is no common ground then the two devices can start drifting away.

# you could look at using isolated rs485 transceivers..you might have to convert to TTL levels 'locally' first and then connect the grounds on the 2 ' isolated' sides .


thanks

# hope this helps.
a
 
RS485 generally uses a terminating resistor across the bus lines at each end, it's a transmission line system.
If you want to add a fixed DC level, I'd use a resistor across the bus plus relatively high value resistors to 0V and 5V to give eg. 100mV or so bias when no driver is active. 150R terminator plus two 2k2 resistors for bias could be a good starting point.

It definitely does need the ground as well as the data lines; the receivers only have a limited common mode range (typically +/- 7V or so) and if the ground voltages differ by more than that, data will be corrupted or lost. The ICs may also be damaged.

You can get (or make) an optically isolated transceiver that gives ground isolation for the bus connections.
eg. A standard transceiver IC with optos at the local side and a small DC-DC converter to provide it with its own floating supply.
 
RS485 generally uses a terminating resistor across the bus lines at each end, it's a transmission line system.
If you want to add a fixed DC level, I'd use a resistor across the bus plus relatively high value resistors to 0V and 5V to give eg. 100mV or so bias when no driver is active. 150R terminator plus two 2k2 resistors for bias could be a good starting point.

It definitely does need the ground as well as the data lines; the receivers only have a limited common mode range (typically +/- 7V or so) and if the ground voltages differ by more than that, data will be corrupted or lost. The ICs may also be damaged.

You can get (or make) an optically isolated transceiver that gives ground isolation for the bus connections.
eg. A standard transceiver IC with optos at the local side and a small DC-DC converter to provide it with its own floating supply.

I use 120E resistance across RS485+ and RS485- lines, only one device in the bus has this. However is it OK to use 2.8V instead of 5VDC as mentioned in the RS485 specs ? I am worried about electrical noise from outside, as the system is meant to be used in an industrial environment where electrical noise could be generated from lines, electrical motors etc. The RS485 bus will be at approximately 10-15 meters long.

Unfortunately both the devices have built in RS485 transceivers, and they are not optically isolated, it would have been perfect though.
 
If you don't want to couple the Grounds the your best bet is to use additional transceivers locally to get TTL levels for both TX and RX. Then use isolated modules which have built-in power supplies to give isolation. Then you can and must common the grounds on the isolated sides only. Hope that this makes sense.
 
As long as the bus cable is an appropriate screened twisted pair, it should be pretty immune to outside noise.

As long as both pieces of equipment are separately earthed to the _same_ distribution board, you may be able to leave the ground disconnected at one end of the data cable; the critical thing is that there is not excess ground difference or anything "floating" - it does not matter exactly how the two system grounds are kept close together.

If the gear runs on different boards or the possible ground noise is foo extreme, then an inline bidirectional isolator is advisable at one end or the other, as Dontreallyknow suggests.


If the motor is designed for RS485 control, I'd expect the makers to have allowed for the conditions where it will be used - eg. does the electronics section have its own earth terminal that can be tied back to to the control end, to avoid voltage offsets?
 
Thanks that was the most helpful. I understand now.

There is only one point left, the bus voltage, normally its +5VDC but is it OK to use 2.8 VDC instead ?? I know the bus lines needs to be biased, will a lower voltage affect the communication ??
 
RS485 but lines are generally just terminated and not biassed.

Use whatever termination the motor maker defines.
>looks at data sheet<
It's on page 10 if the data sheet - 120 Ohms at either end of the bus and 1K to 5V & 0V to set a bias, _if_ the bus will be left floating otherwise.

That sets the bus voltage in the middle of the 5V range. Connecting both to 2.8V would not provide a differential bias on the bus?
If you mean between 2.8V and ground, it can be done but needs rather different resistor values.

It's about the same ratio as I guessed when you said only one terminator; with two, you use around half the value for each bias resistor.
 
And where is this 2.8v coming from?

What does the product documentation say about connections?

Also if you are biasing the 485 network without any common ground then it may irrelevant or may even make matters worse. It is very dependent on the arrangement.

Try connecting the Comms lines with a common ground and no biasing. Maybe there is internal biasing of some sort.

Also is it full or half duplex?
 
I have DC-DC converter near the PLC. This is powered from the same supply as the PLC (+24 VDC). The RS485 ground line is connected to both the motor and the PLC.

I have tried without biasing but the communication does not work, however it does work perfectly with the biasing resistors (470E) pulled up to +2.8 VDC and GND, along with the terminating resistance of 120E.

The documentation do not mention internal biasing in either the PLC or the motor.

The communication is half duplex.

I will post the schematic...
 
Last edited:
Status
Not open for further replies.

Latest threads

New Articles From Microcontroller Tips

Back
Top