摘要:为了克服空调检测系统存在的布线复杂、温度采集稳定性差的缺点,利用数字温度传感器DS18B20具有一线总线、可组网的特点,结合AT89S52单片机,给出一种用于空调检测系统的高效稳定的温度采集方案,讨论了16片DS18B20数字温度传感器硬件连接和程序设计。应用情况表明,该温度采集方案具有准确率高、稳定性好、安装方便等特点,有效提高了空调检测系统的性能。
在空调生产过程中,为确保空调产品的质量,空调制造商在产品出厂前都必须对空调进行加热带、制热、制冷等环节的测试,通过标准机的电压、功率、输入管温、输出管温、回气温度、排气温度等参数判断空调是否合格,其中温度参数检测是整个空调检测系统的重要部分。
在传统的空调检测系统中,温度采集模块多以热电阻、热电偶为温度传感器,温度模拟信号必须经过专门的调理电路转换为数字信号后才能被单片机处理,使用一段时间后,系统检测到的温度值往往不够准确,同时由于温度采集点分布范围广,增加了布线难度,也给系统维护带来不便。
本文采用DS18B20数字温度传感器、AT89S52单片机,设计出适合空调检测现场的温度采集模块,实现现场16个采集点温度数据的同步采集和传输。
1 系统构成
空调检测系统温度采集模块的结构框图如图1所示。温度采集模块包括电源子模块、16路温度采集子模块、看门狗子模块、报警子模块、RS485接口子模块。微控制器采用Atmel公司的AT89S52,温度采集采用Dallas公司的数字温度传感器DS18B20。上位机采用研祥工控机,监控软件采用Visual Basic 6.0编程。
温度采集模块电路板固定在每个工作站的控制柜里,并将现场采集到的各点温度值实时传送给上位机,因此,温度采集模块并没有集成LCM子模块和键盘电路。
2 硬件连接
2.1 DS18B20数字温度传感器
DS18B20数字温度传感器温度测量范围为-55℃~+125℃,在-10℃~+85℃范围内,精度为±0.5℃,可实现9bit~12bit温度读取。DS18B20具有一线总线的特点,可以轻松组建温度采集网络,并且体积小、分辨率高、抗干扰能力强,实用性和可靠性比同类产品更高[1],因此,在轴承测温[2]、冻土区公路路基温度测量[3]等场合有着广泛的应用。
DS18B20温度寄存器中的温度值以9bit数据格式表示,而输出温度则是以16bit符号扩展的二进制补码形式提供,其中低8bit用补码表示,第9bit~16bit为扩展符号位。空调检测系统所需检测的温度值均在0℃以上,这样,只需读取缓存9个字节的前两个字节即可。
2.2 DS18B20硬件连接
DS18B20器件都有一个唯一的64bit ROM地址,通过协议就能识别这些序列号,这样多个DS18B20可以挂接在同一条单总线上,构成多点温度采集网络。由于DS18B20具有“单总线”的技术特点,因此可以采用两种不同的方式连接单片机。
(1)单端口并联连接:所有DS18B20均连接在同一条总线上,然后再连接到单片机的某个I/O端口。这种连接方式具有硬件开销小的优点,理论上一根总线可以挂接256个DS18B20,但若连接的数字传感器数量较多,单片机需要花较多的时间才能获得每个传感器的序列号,会降低系统的实时性,同时使得软件编程变得复杂。
(2)多端口并行连接:每个DS18B20独占单片机某个I/O端口。这种并行连接方式使得单片机能够对所有的数字传感器进行并行 *** 作,同一时间能实现多个输入输出,实现对温度数据的快速读取,从而提高系统的实时性,同时也使得软件编程变得简单,缩短了项目的开发周期。这种连接方式的缺点是硬件开销比较大。
根据空调检测系统的实际需要,系统使用16片DS18B20构成小型温度数据采集网络,结合单端口并联连接和多端口并行连接的连接特点,每个I/O端口连接两片DS18B20,共使用8个I/O端口,单片机与16片DS18B20连接框图如图2所示。DS18B20芯片的DQ端和单片机的I/O端口相连,并接上一个4.3kΩ的上拉电阻,芯片的GND端接地线,VDD端接5V电源线。AT89S52是一种低功耗、高性能CMOS 8bit微控制器,具有8KB Flash,256B RAM,32bit I/O口线,3个16bit定时器/计数器,其资源性能可以满足空调检测系统温度采集的需要。
单片机需要通过接口电路实现与DS18B20的连接,接口电路图如图3所示。J1是接线端子台, DS18B20通过三芯电缆连接到J1;二极管IN4148实现电压钳位;RWDS1和单片机AT89S52的一个I/O端口相连;16片DS18B20通过J1~J8与温度采集模块连接。
3 程序设计
3.1 DS18B20温度采集
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)