Go Down

Topic: Full duplex between arduinos over about 60 feet of distance (Read 1 time) previous topic - next topic

torriem

So I believe that what I need is either RS-485 or RS-422, though I'm not clear on the difference as one web site intimates that with two of their RS-485 to UART boards I can get  the equivalent.

In any event I want to have two arduinos be able to communicate back and forth between each other (just two, point to point, no daisy chaining), over a distance of about 60 feet or more, in a somewhat noisy automotive environment.  115kbs is plenty of speed; 9600 might even be fast enough.  My aim is mainly to have one arduino act as a monitor and UI (simple 2-line screen, and some buttons) for another arduino that does the real processing and controls a pump.  I'll work out a very simple serial protocol. 

So do I need maybe two of this sort of adapter on each arduino, one for TX and one for RX? http://www.emartee.com/product/42231/RS485%20Module%20%20Make%20Your%20Arduino%20Talk%20With%20Each%20Other

Or is there another chip that I can use to get duplex communication (standard UART-style connection on the arduino) over a cat-5 cable?  I can certainly wire up my own adapters.

retrolefty


So I believe that what I need is either RS-485 or RS-422, though I'm not clear on the difference as one web site intimates that with two of their RS-485 to UART boards I can get  the equivalent.

In any event I want to have two arduinos be able to communicate back and forth between each other (just two, point to point, no daisy chaining), over a distance of about 60 feet or more, in a somewhat noisy automotive environment.  115kbs is plenty of speed; 9600 might even be fast enough.  My aim is mainly to have one arduino act as a monitor and UI (simple 2-line screen, and some buttons) for another arduino that does the real processing and controls a pump.  I'll work out a very simple serial protocol. 

So do I need maybe two of this sort of adapter on each arduino, one for TX and one for RX? http://www.emartee.com/product/42231/RS485%20Module%20%20Make%20Your%20Arduino%20Talk%20With%20Each%20Other

Or is there another chip that I can use to get duplex communication (standard UART-style connection on the arduino) over a cat-5 cable?  I can certainly wire up my own adapters.


For just 60 ft and willing to go down to 9600 baud if you have to, I would hold off on buying anything other then cable and just try it direct. Pick a shielded cable with two conductors (or get 4 conductor with shield in case you want to go with full duplex RS-485 later) and wire rx to tx and tx to rx and ground to ground.

We use to run temporary RS-232 test equipment runs at over 150-200ft at 9600 using simple unshielded ribbon cable and never had any problems at work. So give it a shot, you can always go with the extra driver hardware if you don't like the results.

Lefty

torriem

#2
Feb 02, 2013, 05:04 am Last Edit: Feb 02, 2013, 05:07 am by torriem Reason: 1
Guess it is worth a shot.  There are other 12 V cables (power and signaling) in the vicinity that could cause interference.    I will try this.  EDIT: I don't think this will work as RS-232 is very different than running a pair of wires from arduino pins to arduino pins.  Though maybe I can use a TTL to RS232 adapter.

Bu tin the meantime, if I were to want to use a more robust serial connection with either Rs-422 or RS-485, how would I do full-duplex communication?  I've been reading people's posts for over an hour and most people are doing simplex or half-duplex, and trying daisy-chain multiple devices.  I only need point-to-point and full-duplex.  

torriem

So from what I've been reading, neither rs-422 or rs-485 are full-duplex.  At best they are half-duplex.  Which might be okay for my needs if I write a careful protocol. 

Also looks like it wouldn't be hard to just use two chips per arduino, and use one twisted pair for data going one way, and one twisted pair for data going the other way.  I can get rs-485 transceiver chips for just a dollar or two.  Since I'm not wanting to build an actual network, even the older, cheaper chips should work.  I'm currently looking at the DS75176 chip because it's easy for me to get a hold of. 

CrossRoads

rs-422 or rs-485 are full-duplex:  use one twisted pair for data going one way, and one twisted pair for data going the other way.  That's full duplex.
Even RS232 will do what you want, with a single wire each direction, uses a higher voltage swing (like +/-10V) for increased noise immunity.
RS485 & RS422 use twisted pairs with lower voltage swing, both pick up the same noise which gets cancelled out by the receiver.
Designing & building electrical circuits for over 25 years. Check out the ATMega1284P based Bobuino and other '328P & '1284P creations & offerings at  www.crossroadsfencing.com/BobuinoRev17.
Arduino for Teens available at Amazon.com.

Go Up