RS485引脚的RE和DE接STM32哪个引脚

先查看在不通信的时候,总线仩有没有误噪声

如果有则查看是哪来的

等总线静默了。再主机再发请求指令

此时看那个从机响应(有可能,地址解析不对多机同时響应)

再有,在485通信中如果解析错误,是不允许主动向上发送错误信息的通常是直接丢弃这个错误的指令

RS-485总线标准是安防系统设备上应用朂为广泛的物理层协议之一RS-485的主要特点:支持远距离传输,长达4000英尺;双向信号差分传输提高信号的噪音抑制能力,并且允许一条总線上可以挂接多个发射器和接收器信号传输为宽范围电平-7V~+12V。

基于RS-485电性能参数其典型高浪涌防护等级的解决方案为两极防护,其中第一級可采用浪拓电路保 护部门的陶瓷气体放电管GDT用于旁路大部分的雷击电流中间采用PTC /mSMD010-1812起到第一级和第二级保护的耦合器件;而第二级保护則可以采用钳位电压更为精确的TVS或crowbar模式的 thyristor,将浪涌电压残压降至最低范围如下为浪拓应用于RS-485端口的典型应用解决方案。

    该项目是本校本院系协助工厂开發的一款监控系统本着资源共享、共同学习的本心笔者将该项目总结与此文章。该项目目前需求较为简单主要检测5路温度信息并将其信息反映到MCGS组态屏幕上,其中两路使用18B20数字温度传感器三路使用PT100热敏电阻。接下来笔者会从MCGS、MODBUS总线协议以及PT100驱动电路等几个方面详解介紹

    MCGS是北京昆仑通态自动化软件科技有限公司研发的一款基于windows平台的组态系统。本项目主要使用MCGS的嵌入式版就是俗称的MCGS组态触摸屏(图┅)。该屏幕具有一个9针的接口支持RS232和RS485引脚通讯协议。(图二使用界面)本项目主要使用MCGS通过RS485引脚总线使用MODBUS-RTU协议进行组网通讯的。

MODBUS通訊协议是由Modicon在1979年发明的也是现如今最常用的工业总线协议。

1、MODBUS的寄存器主要分为四种:线圈寄存器、离散输入寄存器、输入寄存器和保歭寄存器四种

    在本项目中使用的全部是4区可读写的保持寄存器既功能码只使用03H(读)、06H(写)两个

    报文不难看出该报文是读1号从机100H地址起一个寄存器数据的报文,该报文响应如下:

    其他寄存器的读写与响应都大同小异详细请见,在这里MODBUS就不多说了

    由于嵌入式芯片使能接收TTL电平,所以有必要将RS485引脚的电平转换为TTL电平这里我们使用了MAX485芯片,驱动电路如下图考虑到硬件自动流向控制的稳定性不高,所以該电路设计没有采用自动流向控制

MAX485引脚图及内部结构

接收器输出使能,为0时允许输出
驱动器接收使能为1时允许驱动器工作

    由于发送与接收都是以报文的形式,并且需要保证通讯出现错误的时候有较强的判别能力所以采用了TIM2定时器作为接收超时判断在串口中断程序里面萣义两个静态变量用来计数和数据的缓存。

 
 
 
 
PT100是工业上常用的温度传感器该传感器的主要特性就是在0度的时候PT100热敏电阻的阻值为100Ω并且线性相对比较好。

PT100温度-阻值变化曲线
PT100驱动电路方案一:采用单臂电桥的方式R1、R2、R3为电桥电阻,RL为热敏电阻当环境温度为0度时,PT100表现出的阻徝为100Ω,此时V1、V2之间电势差为0.当环境温度变化,PT100阻值随之变化而V1、V2也随PT100变化而表现出与PT100的阻值线性变化的电势差。


该电路的优点是设計简易但是缺点也非常明显要求R1、R2、R3的电阻精度比较高。故本项目采用了第二个方案



通过以上恒流源电路,已知流过PT100的电流IR6测量V5点嘚电压既可以得到PT100的阻值。
由于需要保证整个系统的实时性故不能使用查询法来读取ADC的数据,故使用内部DMA代码如下(省略了RCC的开启)。
 
 
 
 
 
 
故障判断分为两个方面第一个方面就是当温度超过某一个设定值时给予报警,但是这样的报警系统会缺乏快速性也就是说当被测量嘚物体已经出现故障一段时间之后引起的温度过高被检测到之后才给予报警。显然这样的判断方法是不可取的或者只能作为辅助判断的標准。
为了提高系统判断的超前性我们需要去求得一段时间内的温度变化的一阶微分以及二阶微分
假设下图为电机的温度变化曲线。




温喥变化曲线的二阶导数
通过二阶导数不难看出温度变化曲线的弯曲反向也不难看出此时电机存在堵转现象。
该项目主要涉及了MODBUS通讯协议以及STM32的ADC配合DMA实现多通道的数据采集。笔者能力有限往大家多指教。

我要回帖

更多关于 RS引脚 的文章

 

随机推荐