Author Topic: RS-485 Splitter  (Read 2065 times)

0 Members and 1 Guest are viewing this topic.

Offline robotix3Topic starter

  • Regular Contributor
  • *
  • Posts: 90
  • Country: us
RS-485 Splitter
« on: June 30, 2016, 10:12:45 pm »
I am designing a system that consists of a half-duplex RS-485 bus with about 30 slaves and one master. The bus is driven via uart from micro-controllers, and every node transmits and receives.

Right now I have the system figured out except for how to split the bus. I need to do this to prevent the system installer from having to route one cable to 30 slaves, instead it would be nice to have a method to split the cable to to allow for lines to branch off.

I know you can't just literally put another cable in parallel (since it's a differential pair), right? I can think of a way to do it actively using a micro but it ends up being pretty messy and expensive and seemingly unreliable, mostly due to the bus being half-duplex.

What's the best way to build a splitter for this?
 

Offline HackedFridgeMagnet

  • Super Contributor
  • ***
  • Posts: 2030
  • Country: au
Re: RS-485 Splitter
« Reply #1 on: June 30, 2016, 10:19:10 pm »
Do you have to build it?

just buy it

https://www.google.com.au/search?q=rs485+splitter
 

Offline robotix3Topic starter

  • Regular Contributor
  • *
  • Posts: 90
  • Country: us
Re: RS-485 Splitter
« Reply #2 on: June 30, 2016, 10:31:07 pm »
Quote
Do you have to build it?

just buy it

Yeah I looked at that option but they seem to be ridiculously expensive
 

Offline HackedFridgeMagnet

  • Super Contributor
  • ***
  • Posts: 2030
  • Country: au
Re: RS-485 Splitter
« Reply #3 on: June 30, 2016, 11:25:02 pm »
I did work on a job once, (at Sydney airport actually) where we specified RS485. I explained to the cable guys how to run a multidrop line and that this was the only way. Even gave them a print out of why it was important.
Obviously that directive was ignored and a Star configuration was used, with some of the runs being more than 100m.
Down the track they rang me up when it didn't work.
Idiots.
Did a bad hack by changing the termination resistors at various places which basically worked but was still very wrong.

So you might be able to fiddle it so that roughly the appropriate voltages and currents are present at each node like I did.
Or maybe use a few transceiver chips to do the split and put it in a case.
I think best to do the split in a separate box like a bought one as that way the rest of your project will still adhere to the standard.
 

Offline ludzinc

  • Supporter
  • ****
  • Posts: 506
  • Country: au
    • My Misadventures In Engineering
Re: RS-485 Splitter
« Reply #4 on: July 01, 2016, 01:14:14 am »
What speed are you using?

I've worked with many successful star wired installations, covering 100's of meters, un-terminated.

All at a bisteringly fast 9600 baud.

At 1MBPS there's no hope in hell that that would work, but at 9600 all the reflections died down and the within one or two UART sampling periods.
 

Offline ajb

  • Super Contributor
  • ***
  • Posts: 2652
  • Country: us
Re: RS-485 Splitter
« Reply #5 on: July 01, 2016, 11:47:42 am »
The splitter would need a basic understanding of whatever protocol you're using so that it could change the direction of the transceivers appropriately, but other than that a splitter is just a handful of transceivers and that's basically it.  Maybe some isolation between downstream ports if you wanted to get fancy.  You could do it with an 8-pin micro, since the upstream transceiver's RO line can be tied directly to the downstream DI lines, and the downstream RO lines can be ORed into the upstream DI line.  Then the micro just needs to manage the upstream and downstream DE/RE.  That's only four IO lines, so you still have one or two left over for LEDs.  The micro just has to know when to expect a slave-to-master message and flip DE/RE, and then when the message has ended so it can flip them back.  Come to think of it, you might want to monitor the upstream and downstream channels between the upstream and downstream transceivers separately, so that either means an MCU with two UARTs, or maybe a soft UART if the bus speed is low enough.   

Of course that's only suitable for the application you described, where the upstream port talks to all of the downstream ports and the downstream ports only talk to the upstream ports.  If you needed to be able to communicate from one downstream port to another things get a little more complicated.
 

Offline C

  • Super Contributor
  • ***
  • Posts: 1346
  • Country: us
Re: RS-485 Splitter
« Reply #6 on: July 01, 2016, 03:39:41 pm »

Will your network work correctly with 2X cable length?

The answer is to have the RS485 buss be a proper linear buss while the wire is routed in a loop or star.

If yes then add a new box that has the two terminators for your buss in that box.  When you wire this up your long linear buss becomes a loop. Note that the loop is only open in this new box.

Step two is replace all the RS485 buss cable with a cable that will support two RS485 buses. Each device is connected by a "Tee" connection.

The taps you want then become a "Y" like connection with three connectors.
connector 1 pair 1 goes to connector 2 pair 1
connector 2 pair 2 goes to connector 3 pair 1
connector 3 pair 2 goes to connector 1 pair 1
Connector 3 is the new buss for branch.

You can put the "Y's" where you want. You can not leave one of the "Y's" connectors UN-connected. If this is needed, then connect a dummy plug with pair 1 connected to pair 2.

IBM did this with their Token Ring network. The Token Ring hub was many "Y's" in one box and an automatic dummy plug when a cable was disconnected.  You can see an example of this looking at a RJ31X for the phone line. When plug is removed a set of shorting bars restore the connections.








 
 

Offline robotix3Topic starter

  • Regular Contributor
  • *
  • Posts: 90
  • Country: us
Re: RS-485 Splitter
« Reply #7 on: July 01, 2016, 09:24:53 pm »
Thanks for all the suggestions guys. I'm going to try and build an active splitter since this seems to be the only reliable/affordable/simple way of doing it. I also do not have the ability to tune each installation.

Thanks again!
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf