8051单片机与RS485应用电路原理图

时间:2023-03-19来源:佚名

1 问题的提出

在应用系统中,RS-485半双工异步通信总线是被各个研发机构广泛使用的数据通信总 线,它往往应用在集中控制枢纽与分散控制单元之间。系统简图如图1所示。 图1. RS-485系统示意图 由于实际应用系统中,往往分散控制单元数量较多,分布较远,现场存在各种干扰,所 以通信的可靠性不高,再加上软硬件设计的不完善,使得实际工程应用中如何保障RS-485总 线的通信的可靠性成为各研发机构的一块心病。
在使用RS-485总线时,如果简单地按常规方式设计电路,在实际工程中可能有以下两个问 题出现。一是通信数据收发的可靠性问题;二是在多机通信方式下,一个节点的故障(如死 机),往往会使得整个系统的通信框架崩溃,而且给故障的排查带来困难。 针对上述问题,我们对485总线的软硬件采取了具体的改进措施

2 硬件电路的设计
现以8031单片机自带的异步通信口,外接75176芯片转换成485总线为例。其中为了实现 总线与单片机系统的隔离,在8031的异步通信口与75176之间采用光耦隔离。电路原理图如 图2所示。 图 2 改进后的485通信口原理图 充分考虑现场的复杂环境,在电路设计中注意了以下三个问题。
2.1 SN75176 485芯片DE控制端的设计 由于应用系统中,主机与分机相隔较远,通信线路的总长度往往超过400米,而分机系
统上电或复位又常常不在同一个时刻完成。如果在此时某个75176的DE端电位为“1”,那 么它的485总线输出将会处于发送状态,也就是占用了通信总线,这样其它的分机就无法与 主机进行通信。这种情况尤其表现在某个分机出现异常情况下(死机),会使整个系统通信 崩溃。因此在电路设计时,应保证系统上电复位时75176的DE端电位为“0”。由于8031在复 位期间,I/O口输出高电平,故图2电路的接法有效地解决复位期间分机“咬”总线的问题。

2.2 隔离光耦电路的参数选取
在应用系统中,由于要对现场情况进行实时监控及响应,通信数据的波特率往往做得较 高(通常都在4800波特以上)。限制通信波特率提高的“瓶颈”,并不是现场的导线(现场 施工一般使用5类非屏蔽的双绞线),而是在与单片机系统进行信号隔离的光耦电路上。此 处采用TIL117。电路设计中可以考虑采用高速光耦,如6N137、6N136等芯片,也可以优化普 通光耦电路参数的设计,使之能工作在最佳状态。例如:电阻R2、R3如果选取得较大,将会 使光耦的发光管由截止进入饱和变得较慢;如果选取得过小,退出饱和也会很慢,所以这两 只电阻的数值要精心选取,不同型号的光耦及驱动电路使得这两个电阻的数值略有差异,这 一点在电路设计中要特别慎重,不能随意,通常可以由实验来定。

2.3 485总线输出电路部分的设计

输出电路的设计要充分考虑到线路上的各种干扰及线路特性阻抗的匹配。由于工程环境 比较复杂,现场常有各种形式的干扰源,所以485总线的传输端一定要加有保护措施。在电 路设计中采用稳压管D1、D2组成的吸收回路,也可以选用能够抗浪涌的TVS瞬态杂波抑制器 件,或者直接选用能抗雷击的485芯片(如SN75LBC184等)。 考虑到线路的特殊情况(如某一台分机的485芯片被击穿短路),为防止总线中其它分 机的通信受到影响,在75176的485信号输出端串联了两个20Ω的电阻R10、R11。这样本机的 硬件故障就不会使整个总线的通信受到影响。 在应用系统工程的现场施工中,由于通信载体是双绞线,它的特性阻抗为120Ω左右, 所以线路设计时,在RS-485网络传输线的始端和末端各应接1只120Ω的匹配电阻(如图2中 R8),以减少线路上传输信号的反射。 由于RS-485芯片的特性,接收器的检测灵敏度为± 200mV,即差分输入端VA-VB ≥ 200mV,输出逻辑1,VA-VB ≤-200mV,输出逻辑0;而A、B端电位差的绝对值小于200mV 时,输出为不确定。如果在总线上所有发送器被禁止时,接收器输出逻辑0,这会误认为通 信帧的起始引起工作不正常。解决这个问题的办法是人为地使A端电位高于B两端电位,这样 RXD的电平在485总线不发送期间(总线悬浮时)呈现唯一的高电平,8031单片机就不会被误 中断而收到乱字符。通过在485电路的A、B输出端加接上拉、下拉电阻R7、R9,即可很好地 解决这个问题。
3 软件的编程
485芯片的软件编程对产品的可靠性也有很大影响。由于485总线是异步半双工的通信总 线,在某一个时刻,总线只可能呈现一种状态,所以这种方式一般适用于主机对分机的查询 方式通信,总线上必然有一台始终处于主机地位的设备在巡检其它的分机,所以需要制定一 套合理的通信协议来协调总线的分时共用。这里采用的是数据包通信方式。通信数据是成帧 成包发送的,每包数据都有引导码、长度码、地址码、命令码、内容、校验码等部分组成。 其中引导码是用于同步每一包数据的引导头;长度码是这一包数据的总长度;命令码是主机 对分机(或分机应答主机)的控制命令;地址码是分机的本机地址号;“内容”是这一包数 据里的各种信息;校验码是这一包数据的校验标志,可以采用奇偶校验、和校验等不同的方
式。
在485芯片的通信中,尤其要注意对485控制端DE的软件编程。为了可靠的工作,在485 总线状态切换时需要做适当延时,再进行数据的收发。具体的做法是在数据发送状态下,先 将控制端置“1”,延时1ms左右的时间,再发送有效的数据,一包数据发送结束后再延时 1ms后,将控制端置“0”。这样的处理会使总线在状态切换时,有一个稳定的工作过程。

4 结论
经过以上的软硬件共同处理,RS-485总线在应用系统工程中的可靠性大大提高,在通常 的环境条件下,24小时连续开机,系统的通信始终处于正常状态,整机性能满足了现场工程 的需要。 但是RS-485总线仍然只是一种常规的通信总线,它不能够做总线的自动仲裁,也就是不 能够同时发送数据以避免总线竞争,所以整个系统的通信效率必然较低,数据的冗余量较 大,对于速度要求高的应用场所不适宜用RS-485总线。同时由于RS-485总线上通常只有一台 主机,所以这种总线方式是典型的集中-分散型控制系统。一旦主机出现故障,会使整个系
统的通信陷于瘫痪状态,因此做好主机的在线热备份是一个重要措施。

尽管RS-485总线存在这样那样的问题,但由于它的线路设计简单、价格低廉、控制方
便,只要合理的使用在某些场所仍然能发挥良好的作

8051单片机与RS485应用电路原理图

    相关阅读

    软启动器12个故障代码

    软启动器常见故障问题的故障代码,参考如下: 1、故障代码Err01 故障类容:→断相;说明:主电路任意一相断相。 2、故障代码Err02 故障类容:→过电流;说明:超过额定电流12倍。 3、故...
    2022-11-26

    电焊机电流调到多少合适,根据焊条大小及焊接对象做调整

    2.5焊条电焊机电流大小应根据焊条的种类来定: 1、一般碳钢焊条焊接电流调到100A左右,不锈钢焊条稍低点。 2、焊方管2.5焊条电流: 60-80A电焊机利用正负两极在瞬间短路时产生的高温电...
    2023-01-09
    电焊机电流调到多少合适,根据焊条大小及焊接对象做调整

    电动车电池看参数的三种方法,轻松查看电动车电池型号

    新买的电动车电池是什么型号的,很多人并不是很清楚,而在需要换电池时搞不清楚型号就会很麻烦,那么电动车电池规格怎么,怎么来识别电动车电池的型号,与电工天下小编一起来...
    2022-11-30

    电动机的启动电流如何计算,电动机启动电流计算公式

    有关电动机启动电流的计算方法,三相电机启动电流瞬时是正常的多少倍,电动机的启动电流是额定电流 的多少,电动机 启动电流计算公式与实例,感兴趣的朋友参考下。 电动机启动...
    2022-11-22
    电动机的启动电流如何计算,电动机启动电流计算公式

    电焊机怎么调,电流与电压调整方法

    电焊机的调整方法,具体参考如下: 1、先把电流旋钮调到最小,把电压旋钮调到最大,试焊一下,不要动电压旋钮,逐步调大电流,直到能正常焊接时停上。 2、反过来,把电流旋钮先...
    2023-01-09
    电焊机怎么调,电流与电压调整方法

    【电力用户怎么分级,电力用户分类标准】

    【电力用户怎么分级,电力用户分类标准】 有网友咨询,电力用户怎么分级,针对分级的问题,电力用户分为一级用户至三级用户,那么电力用户分类标准是怎么样的,电力客户分级和...
    2022-12-10
    【电力用户怎么分级,电力用户分类标准】

    插座发出滋滋滋的声音是什么原因

    首先最有可能的原因就是电源线与插座接线端子接触不牢固,而造成的虚接,进而产生电弧也就是我们俗称的电火花,就会发出的滋滋声音。 插座内由于质量问题,电源接线柱与插头触...
    2022-11-10
    插座发出滋滋滋的声音是什么原因

    异步电动机正反转控制plc接线图及梯形图(图文)

    【 异步电动机 正反转控制plc 接线图及梯形图 】 用plc实现异步电动机的正反转控制,如何设计控制线路图,如何分配i/o,都是绘制plc接线图的关键,另外异步电动机正反转控制设计 过...
    2022-12-11
    异步电动机正反转控制plc接线图及梯形图(图文)

    网站栏目