热度 23
2009-10-25 13:30
1903 次阅读|
0 个评论
多路高精度温度采集装置 n 赵书强 九州电气 摘要: 多高精路温度采集装置,本文描述了在任何需要对温度采集的场合中应用。无论是人民的日常生活还是工、农业生产中温度测量。在说明中分为原理应用,元件选择,硬件原理描述、软件描述几部分,分别说明了其思想和实现方案。 关键词: 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 ),男,本科,助理工程师 登陆 www.adum.com.cn 了解更多。