Take the 2-minute tour ×
Electrical Engineering Stack Exchange is a question and answer site for electronics and electrical engineering professionals, students, and enthusiasts. It's 100% free.

Possible Duplicate:
No response from device when using rs485

I've been stuck on this issue for quite some time. I am trying to use an arduino to communicate with another device using RS485. The problem is that I can see the data being sent but, the device does not reply at all. Here's the break down so far:

  • I am using a hardware serial port and a Max487 rs485 transceiver which is attached to a custom sheild.

  • I am able to get the device working over RS232 using a library I have written so, I don't believe its a software issue.

  • I have also been able to communicate with the device using a usb to rs485 converter. This wasn't attached to my arduino, I sent the data using realterm. So, i don't think its a problem with the device.

  • I am using a sheilded cable with 2 twisted pairs. One pair I am using for ground, the other for the Non-inverting/inverting signals. The cable has an impedance of 120Ohms. My cable is about 11m long.

  • I have a 120 ohm terminating resistor on my pcb and have enabled the biasing termination on the device. (The iverting line is 5V biased, the non inverting is at 0v).

  • When I look at the traces, I can see that all the data is being sent, along with the parity and stop bits. I have attached a picture of the 2 traces and the result of (non inverting line - inverting line)

  • I am writing !(Receiver Enable) and Driver Enable pins high when transmitting, and low as soon as the transmission is complete.

  • When I couldn't get it working with my first sheild, I made another. Unfortunately, I am still haing trouble.

In summary, I don't think its a software issue. I've done a lot of reading but, haven't managed to find anything that helped. Does anyone have any suggestions for what could be preventing the device from responding? Any help would be greatly appreciated

Thanks in advance1) inverting line. 2) non inverting line. M) 2 - 1

share|improve this question

migrated from stackoverflow.com Jan 4 '13 at 15:11

This question came from our site for professional and enthusiast programmers.

marked as duplicate by Kortuk Jan 4 '13 at 16:02

This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.

    
thanks, I'll check that out –  Andre Jan 3 '13 at 8:36

1 Answer 1

You are showing that the Arduino will be using a single supply for the 485 voltage levels. Many RS232 and 485 devices are based on dual supplies and would not be compatible with your single sided scheme. Check whether the device uses a dual supply. If there is +/- 5 or 12 V on the transciever, then it may not Rx with your Arduino Tx.

I'm presuming you are using 10x probes but have not set the scope scale. Those voltages are low even with 10x. Second consider what signal voltage levels your device expects. I have not seen serial devices operating other than +/- 12V

share|improve this answer
    
Hi,thanks for the reply. The transceiver does have a 24V pin, at the moment, its not connected. When i tried connecting it, I noticed no difference in behaviour or the signal. I will try connecting it again. –  Andre Jan 3 '13 at 8:24
    
continued... The probes were at 1x scaling. The device requires the following levels: # logic 0 # transmitter: 1.5 - 5V receiver: >0.3V # logic 1 # transmitter: -1.5 - -5V receiver: <=-0.3V –  Andre Jan 3 '13 at 8:32

Not the answer you're looking for? Browse other questions tagged or ask your own question.