深度剖析RS-485组网问题,除了问题怎么办?-电子技术方案|电路图讲解
RS-485总线优点众所皆知,并且为保证通信的稳定性,都会使用隔离RS-485模块进行信号隔离。但在RS-485实际组网时,或多或少会遇到不能通信、通信出错、RS-485收发器损坏等情况,其中究竟为何?本文将深度剖析RS-485组网问题。
0;
1、应用问题;
当出现通信错误或者不能通信时首先判断应用是否符合表 1中的应用情况。
表 1 RS-485总线应用情况
表 1中三种应用情况分别属于终端电阻、上下拉电阻、控制脚以及逻辑输入侧电平的问题,下面对其进行详细分析。
1)终端电阻问题
若RS-485总线上接有终端电阻,且所用RS-485收发器门限电平是±200mV,则可能出现表 2中所述的异常现象。
表 2 终端电阻导致的异常现象
图 1 RS232/485双向转换器
终端电阻导致异常的原因:RS-485收发器接收门限电平为±200mV,即AB之间差分电压大于+200mV,输出高电平;AB之间差分电压小于-200mV,输出低电平;AB之间电压在±200mV之间时,输出状态不确定,即有可能输出高电平(此时表现为通信正常),有可能输出低电平(此时表现为通信异常),因此若总线空闲状态时AB差分电压处于门限电平之内,则会出现一定概率的异常问题。
表 2现象1分析:单板可以正常通信,组网后由于RS-485总线上接有终端电阻,导致空闲状态时总线差分电压处于门限电平之内,出现通信异常。当出现上述情况时,首先需确认总线上是否存在终端电阻。
表 2现象2分析:单板测试时,单板或与之通信的设备接有终端电阻,此时AB之间差分电压处于门限电平之内时,有一定概率出现通信异常。
表 2现象3分析:此现象同样是由于终端电阻导致的,由于RS-232/485双向转换器(如图 1)内部AB引脚一般会设置小阻值的上下拉 电阻(例如560Ω),若用RS-232/485双向转换器通信,由于RS-485总线空闲状态时的电压是由上下拉电阻与终端电阻分压得到,此时空闲状态的AB差分电压会大于200mV,使RS-485收发器输出一个确定的高电平,不会引起通信错误,如图 3为两个RSM485PCHT进行通信,AB之间加60Ω并且增加RS-232/485双向转换器的测试波形,空闲状态的电压为520mV,不会引起错误。图2为两个RSM485PCHT进行通信,AB之间加60Ω测试的波形,可以看出空闲状态AB差分电压为40mV,处于门限电平范围之内,有可能出现通信错误。
图 2 AB间加两个120Ω电阻,并增加RS-232/485双向转换器
图 3 AB间只加两个120Ω电阻
解决方法主要有三种,具体如表 3:
表 3 终端电阻问题解决方法
2)上下拉电阻问题
上下拉电阻并联值过小可能引起的现象如表 4所示。
表 4 上下拉电阻导致的异常现象
上述问题是所加上下拉电阻值较小导致的问题,超过了芯片可以驱动的负载能力。RSM485PCHT在AB之间加两个120Ω电阻后,所加上下拉电阻值与输出差分电压低电平的关系如表 5所示,当上下拉电阻并联值小于51Ω时,虽然芯片可以正常输出,但是输出信号已大于-200mV,此时可能出现通信错误或完全不能通信。上下拉电阻过小会导致RS-485收发器在功耗过大,发热严重,有可能导致收发器过热保护或者损坏,因此为了保证通信的可靠性,上下拉电阻阻值不宜过小,一般上拉或下拉电阻的并联值应大于375Ω。
表 5 不同上下拉电阻值驱动电压
3)控制脚以及逻辑输入侧的问题
由于收发切换需要一定的延时,因此应在发送或者接收数据前增加一段延时(例如RSM485PCHT,需要增加至少25μs)来保证RS-485收发器已经处于发送或者接收状态。
MCU电平应与RS-485收发器输入逻辑电平匹配,即MCU为5V逻辑电平,应使用供电为5V的RSM系列隔离模块。
2、波形测试方法;
由于RS-485总线应用非常广泛,应用问题不仅仅只是上面几种,当排除上面的问题后,可以通过测试总线波形的方法来找到通信异常的位置,判断异常原因。
-电子元器件采购网(www、oneyac、com)是本土元器件目录分销商,采用“小批量、现货、样品”销售模式,致力于满足客户多型号、高质量、快速交付的采购需求。自建高效智能仓储,拥有自营库存超50,000种,提供一站式正品现货采购、个性化解决方案、选项替代等多元化服务。 (本文来源网络整理,目的是传播有用的信息和知识,如有侵权,可联系管理员删除)
蜂鸣器是我们在电路设计中使用的最常见的一种预警发声器件,我们常使三极管的工作于开关状态来驱动它。然而越简单的电路,很多人在设计时往往越容易忽略细节,导致实际电路中蜂鸣器不发声、轻微发声和乱发声的情况发生。
我们在数字电路设计的中常常用三极管的开关特性把数字信号的“1”和“0”来转化成实际电路中的“通”和“断”,来驱动一些蜂鸣器、数码管、继电器等需要较大电流的器件。然而在使用的过程中,如果不在意细节,三极管就可能无法工作在正常的开关状态。最终无法达到预期的效果,有时就是因为这些小小的错误而导致重新打板,导致浪费。
这里小编把自己使用三极管的一些经验以及一些常见的误区给大家分享一下,在电路设计的过程中可以减少一些不必要的麻烦。我们来看几个三极管做开关的常用电路画法。蜂鸣器我们选择了常用的蜂鸣器。
图1
例:图一中a电路中三极管我们选择了2N3904三极管,2N3904是现在常用的NPN三极管。其耐压值40V,Pcm=400mW,Icm=200mA,β=100-400。蜂鸣器LS1接在三极管的集电极,驱动信号取5V,电阻按照经验可以取4.7K。假设三极管放大倍数为100,蜂鸣器的工作电流为20mA,即Ic=20mA。Ib=Ic/β=0.2 mA。当基极电流大于0.2 mA时,蜂鸣器均可正常发声。a电路中的基极电流Ib=(5V-0.7V)/4.7K=0.9mA,大于0.2 mA,可以使蜂鸣器正常发声。b 电路用的是2N3906三极管,PNP型,同样把蜂鸣器LS2接在三极管的集电极,驱动信号是5VTTL电平。由于2N3906其他参数和2N3904基本一致,因此计算过程不再赘述。以上这两个电路图都可以正常工作。
图2
图二的两个电路和图一相比,把蜂鸣器接在了三极管的发射极。在c电路,假设基极电压为5V,基极电流Ib=(5V-0.7V- UL)/4.7K,其中UL为蜂鸣器上的压降。如 果UL比较大,那么相应的Ib就小,很有可能Ib<0.2mA,Ic<20mA,无法驱动蜂鸣器。有人认为把R3的阻值减小,Ib就可以变大,大于0.2 mA时,蜂鸣器就可以正常工作。但是蜂鸣器的压降很难获知,而且有些蜂鸣器的压降可能变动,这样一来基极电阻阻值就很难选择,阻值选择太大就会驱动失败,选择太小,损耗又变大。d电路也会出现同样的问题,所以不建议选用图二的这两种电路。
图3
图三这两个电路,电路的驱动信号为3.3VTTL电平,常出现在3.3V的MCU电路设计中,如果不注意就很容易就设计出这两种电路,而这两种电路都是错误的。
先分析e电路,这是典型的“发射极正偏,集电极反偏”的放大电路,或者叫射极输出器。当PWM信号为3.3V时,Ib=(3.3V-0.7V- UL)/4.7K,会出现和图2中c电路中一样的情况。
f电路也是一个很失败的电路,首先这个电路导通是没有问题的,当驱动信号为0V时,蜂鸣器可以正常动作。然而这个电路是无法关断的,当驱动信号PWM为3.3V高电平的时候,Ube=5V-3.3V=1.7V, Ube>0.7V,三极管仍可以导通,于是蜂鸣器会一直响。那这个问题有办法解决吗?有,如果你的MCU支持OD(开漏)驱动方式,可以在开漏输出后用上拉电阻把电平拉到5V,这样 Ube=5V-5V=0V, Ube<0.7V,三极管就可以正常的关断了。
总结:
三极管作为开关器件,虽然驱动电路很简单,要使电路工作更加稳定可靠,还是不能掉以轻心。为了避免出错,个人建议是优先采用图一的电路,尽量不采用图二的电路,避免使用图三的工作状况。
实用推荐电路如下:
-电子元器件采购网(www、oneyac、com)是本土元器件目录分销商,采用“小批量、现货、样品”销售模式,致力于满足客户多型号、高质量、快速交付的采购需求。自建高效智能仓储,拥有自营库存超50,000种,提供一站式正品现货采购、个性化解决方案、选项替代等多元化服务。 (本文来源网络整理,目的是传播有用的信息和知识,如有侵权,可联系管理员删除)
相关文章
发表评论