多路高精度温度采集装置
赵书强 九州电气
摘要:多高精路温度采集装置,本文描述了在任何需要对温度采集的场合中应用。无论是人民的日常生活还是工、农业生产中温度测量。在说明中分为原理应用,元件选择,硬件原理描述、软件描述几部分,分别说明了其思想和实现方案。
关键词:DS18B20 完全二叉树
引言
在许多传统行业中,多路高精度温度采集系统是不可或缺的。电厂、石化行业、钢铁厂以及制药厂等企业。生产过程中,普遍存在着需要进行温度测量的场合。利用单片机和温度传感器组成的专用测温系统由于具有结构简单、工作可靠、价格低廉的优势,而得到了广泛的应用。应用在电力系统中,当电力机房中的控制柜、电缆、电容、开关过载或损坏时,都会产生巨大的热量如不及时发现处理,往往会导致事故或火灾的发生。
温度是一种最基本的环境参数,人民的生活与环境的温度息息相关,在工业生产过程中需要实时测量温度,在农业生产中也离不开温度的测量,因此研究温度的测量方法和装置具有重要的意义。
一、高精度采集装置原理简介
本装置结构是通过主核心芯片AT89S52单片机和DALLAS最新单线式数字温度传感器DS18B20组建采集网络完成。并通过两种通讯方式实时上传温度数据,这两种方式有传输距离远、可靠性高的优点,在以下的内容中具体介绍。其结构框图如附图1
图(1)系统原理框
二、元器件选择
1)、单片机AT89S52:
AT89S52单片机是一种低功耗、高性能CMOS 8位微控制器,具有8K在系统可编程Flash存储器。使用Atmel公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得AT89S52单片机为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。
AT89S52具有以下标准功能:
8k字节Flash,256字节RAM,32位I/O口线,看门狗定时器,2个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。另外,AT89S52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。
2)、通讯ADM2483
在这里我们采用的ADM2483是ADI公司生产的一款串行RS485接口芯片,采用双电源供电,输出和输入完全隔离的RS485芯片,可以加强对有效信号的接受与发送,增加了远距离通讯的可靠性。
3)、单线温度传感器DS18B20
DS18B20是美国DALLAS半导体公司生产的可组网的一线式数字温度传感器,与其它温度传感器相比,DS18B20具有以下特性:
(1)具有3引脚TO-92小体积封装形式。在其内部使用了在板(ON-BOARD)专利技术,全部传感元件及转换电路集成在形如一只三极管的集成电路内。
(2)温度测量范围为-55~+125℃,可编程为9位~12位A/D转换精度,测温分辨率可达010625℃,被测温度用符号扩展的16 位数字量方式串行输出.。
(3)其工作电源既可在远端引入,也可采用寄生电源方式产生(见图3)。
(4)独特的单线接口方式。DS18B20在与单片机连接时仅需要一条口线即可实现单片机与DS18B20的双向通讯。
(5)DS18B20支持多点组网功能,多个DS18B20可并联在唯一的三线上,实现多点测温,可节省大量引线和逻辑电路。以上特点使DS18B20非常适用于远距离多点温度检测系统。
三、高精度温度采集系统硬件描述
采集部分
以AT89S52单片机为核心,外置看门狗X5045和一片11.0592MHZ晶振构成最小单片机系统,应用AT89S52单片机的I/O口具有双向传输数据的功能,P3.4与DS18B20一线总线连接,实现对DS18B20进行读取和写入操作,在总线上加入一个上拉电阻,这个电阻可以根据加入网络DS18B20的多少和采集距离的长短来改变电阻阻值。利用P3.0和P3.1特殊功能I/O口定义,做为通讯的收发器。P2.0应用AMD2483的使能控制引脚。在这里我们应用了AT89S52的TQFP封装,体积小,为线路板节省了空间,由此我们应用JTAG标准仿真接口设计,与所有的微处理器一样,通过JTAG接口将程序下载到AT89S52芯片中。实现操作功能。采集部分原理图如图2
图(2)采集部分
电源部分
在进行系统运行时,不可缺少的就是电源的稳定性和可靠性,AMS1117-5.0具有限流和过热自动关断保护功能,其内置的带隙基准可以保证输出电压的误差精度。在输出端需要连接一个至少10uf的钽电解电容用于提高输出端的瞬态响应和稳定性。主要为单片机及周围电路供电。B0505S-W5是金升阳公司生产的一款专门针对线路板上分布式电源系统中需要产生一组与输入电源隔离的电源的应用场合而设计的,在这里为内部隔离的ADM2483提供隔离电源和MAX488通讯提供隔离电源。从而使信号的传输更加可靠。如图(3)
图(3)电源部分
485通讯部分
我们采用的ADM2483是ADI公司生产的一款串行RS485接口芯片,采用双电源供电,输出和输入完全隔离的RS485芯片,可以加强对有效信号的接受与发送,增加了远距离通讯的可靠性。配合555的定时器的功能,EA_485在通常情况下处于低电平接收状态,当TXD_IN有信号输出时使能EA_485变为高电平,将数据发送出去。当发完这段数据时EA_485自动回到低电平接收状态,发送数据这段时间是由R5*C5决定的,能够确定数据传输的完整性。
图(4)485通讯部分
422通讯部分
上位机通过A、B端输入命令,这是RS422接收器端口,Y、Z接收命令,这是RS422的发送器端口。实现了全双工的通讯机制。在RS422的另一端采用光耦隔离的方式,将电源和信号隔离,增加了信息传输的正确率和抗干扰性,保证了信息的完整性。LED、LED1分别指示信息接收指示和发送指示,可以直观的监测信息的传输过程。
图(5)422通讯部分
四、 高精度温度采集系统软件描述
在多路高精度测温系统中,测温单元能独立进行数据采集与上位机的数据通讯,向上位机(主机)发送测量到的温度数据,接收上位机发来控制指令,进行传输数据,与上位机通讯的指令采用定长的CDT代码指令,并有CRC纠错以保证数据正确传输。
在多点温度测量系统中,单总线数字温度传感器(例如DS18B20)因其体积小、构成的系统结构简单等优点,应用越来越广泛。每一个数字温度传感器内均有唯一的64位序列号(最低8位是产品代码,其后48位是器件序列号,最后8位是前56位循环冗余校验码),只有获得该序列号后才可能对其进行操作,也才能在多传感器系统中将它们一一识别。软件流程图(图6)
图 (6)软件流程图
由于传感器序列号的最低8位为产品代号,“需要的位值”可按对应的值给出,关键是其后的48位器件序列号的识别。这里采用了“完全二叉树”的排序思想,如图7所示。具体思路:设在K位首次发生数据位冲突,这时所有的传感器分成两类,即该位为1的传感器和为0的传感器。“需要的位值”给1,K位为1的传感器仍挂接在总线上。若接下来K+M、K+N位发生数据位冲突,“需要的位值”仍分别给1,获得一个序列号。下一个过程在K、K+M位“需要的位值”仍给1,但在K+N位则给0,获得另一个传感器的序列号。第三个过程在K位仍给1,而在K+M位给0,在这条支路上继续识别。K位为1的传感器的序列号识别完后,回到K位时,“需要的位值”给0,按同样的方法识别该支路的传感器序列号。按此思路,多个传感器的序列号只需要分别识别一次。
图(7)完全二叉树
建立关系表后,编制好程序,系统可投入运行。读取每个测温点的温度时,需要用到“符合”ROM命令,该命令要求将关系表中的序列号取出送到总线上,只有序列号与之相符的传感器才挂接在总线上,可读取其温度。
综上所述,用简单的硬件以及编程方法自动建立关系表,在单总线多点温度测量系统中实现了数字温度传感器的自动识别,大大有利于系统的调试、维护,减少维护工作量,并解决了过去维护工作必须由专业人员来完成,而不是由运行人员来完成的不便。
五、结束语
此装置采用51系列单片机作为主CPU,成本低,通讯可靠性好,实时性高,已经完成样机试制,通过相关测试,并投入生产。本产品已经应用在电力系统监测蓄电池周围八路各点温度,并上传给后台。运行稳定,取得了良好的社会效益和经济效益。
参考文献:
1、Dallas Semiconductor Data books
2、孙育才...[等]新型AT89S52系列单片机及其应用,清华大学出版社,2005
3、严蔚敏,吴伟民。数据结构。清华大学出版社,1998
作者简介:赵书强(1980),男,本科,助理工程师
文章评论(0条评论)
登录后参与讨论