打印

485通信的奇怪问题,请各位同仁帮助分析一下

[复制链接]
2713|13
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主

如图所示,为485电路,应用此电路的产品与计算机间通过485转232模块连接时,用4800bps通信是正常的,但是两个用此电路的产品间互联通信,发送同样的内容,同样的速率,通信却4到5次才成功的1次,485通信线均采用普通0.2线,人工双绞,长度不到1米,此问题是怎么回事呢?后我将AB线上的上下拉电阻阻值改小到560欧,通信速率降低到1200bps等手段,均没有用,甚至将现成的232转485模块中的485芯片SP485替代现在用的sn65hvd3082,也是不行。到底是什么问题导致的呢?

相关帖子

沙发
matao0711| | 2013-2-21 13:39 | 只看该作者
下位机程序的问题,接收部分有问题吧

使用特权

评论回复
板凳
jlass| | 2013-2-21 16:01 | 只看该作者
通信速率降低到1200bps已经无需考虑干扰的问题了,用示波器看一下RX和TX应该就能找到问题了。

使用特权

评论回复
地板
fp123123| | 2013-2-21 22:10 | 只看该作者
先不要用串口模式来测试,把TX脚用软件方式输出一个方波,用示波器看看接收端AB之间的波形,如果波形正常,再看看接收端RX脚的波形,一步一步查找问题

使用特权

评论回复
5
sjnh| | 2013-2-25 09:10 | 只看该作者
PC817光耦速度慢,延时长,如果为了成本非要用它,建议限流电阻560耦减小到330耦。
20耦电阻大了,但只有2个对连也不会出问题,但线长了、数量多了就会出问题。

使用特权

评论回复
6
fristbear| | 2013-3-13 14:23 | 只看该作者
先去电485部分,看看是否能正常工作,排除软件问题,一般都是单片机程序错误造成的比较多。如果程序没问题了,换成高速光耦试试。

使用特权

评论回复
7
john-deng| | 2013-3-14 10:11 | 只看该作者
R20 R21有必要吗?串20也太大了吧?
比较同意sjnh的说法,把你那些TVS都去了,一步一步查。

使用特权

评论回复
8
chunyang| | 2013-3-14 18:03 | 只看该作者
PC817最高只能应付9600bps的波特率,再高就要换高速光耦了,另外注意总线上要有终端电阻,短距下至少用一个,收发切换后要延时适当时间再发起通讯。

使用特权

评论回复
9
skm2008| | 2013-3-15 12:41 | 只看该作者
应该是线路设计的问题,将波特率设置低一些试一下

使用特权

评论回复
10
chinacn1989| | 2013-3-15 14:57 | 只看该作者
试试把R17换小点哈!
用示波器看看光耦前后的波形差异你就明白了!!
我遇到过这样的问题!
网上的电阻一般都是5K,10K
但是我的电路中R2和R17只有几百欧姆!
不然波形就相差有点大!

使用特权

评论回复
11
titita82|  楼主 | 2013-3-19 15:54 | 只看该作者
感谢各位回复,前段时间确实调了好多天,确实是光耦两端上下拉电阻设置不合适,通过调整电阻阻值,问题解决,另485通信线上串20欧太大吗?现在4800bps用1.5mm2线做模拟,到6km没问题。感谢chunyang的回复,确实为了稳定性,切换后需要加一定的延时,这个看情况而定。

使用特权

评论回复
12
dyhalf| | 2013-6-4 11:00 | 只看该作者
将两组RS485接到一起。一个发一个收。232也一样。慢慢确定问题

使用特权

评论回复
13
hzieeboy| | 2013-6-27 19:02 | 只看该作者
SMBJ系列TVS二极管,市场上比较水货的东西会引入误码的。
硬件只有2个问题经常会发生,一个是TVS的结电容过大,导致误码。一个是反射导致误码。

使用特权

评论回复
14
QuakeGod| | 2013-6-27 19:43 | 只看该作者
另外要非常注意一点,偶发现现在几乎所有用485的人和书上都没有提这个问题。
485虽然是差分两线传输,但是耐共模电压只有7V,这个可以看器件的手册查到,
所以实际应用的时候,还是要各个通讯设备间引入第三条线,也就是公共地线,否则会因为共模电压差太大造成通讯失败,甚至损坏器件。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

36

主题

105

帖子

0

粉丝