一种基于DS18B20的温度采集系统设计

2015-02-21 06:49白金柯王志鹏
电子设计工程 2015年18期
关键词:电子设计数据线子程序

王 响,白金柯,王志鹏

(1.许继电气股份有限公司 河南 许昌461000;2.河南化工职业学院 河南 郑州450042)

一种基于DS18B20的温度采集系统设计

王 响1,白金柯2,王志鹏1

(1.许继电气股份有限公司 河南 许昌461000;2.河南化工职业学院 河南 郑州450042)

设计了一种温度采集系统,以单片机AT89C51为控制核心,由一线式数字温度传感器DS18B20对温度进行信号采样,以数字信号的形式由单片机读取,并通过LED实时显示温度。采用模块化结构进行软件设计,程序的逻辑关系十分清晰,降低了硬件设计的复杂性。

单片机;DS18B20;温度采集;传感器

近年来,随着自动测试技术、计算机技术和微电子技术的迅猛发展,在温度测量领域,开发出一种新型的将数字电路和温度传感器集成在一起的数字式温度传感器。在数字式温度传感器的内部一般包含有温度传感器、接口电路、存储器(或寄存器)、信号处理器和A/D转换器。与传统的模拟温度传感器相比,数字式温度传感器在器件微小化、抗干扰能力、可靠性、分辨率以及精度方面都具有明显的优点,此外,其输出的温度数据以及相关的温度控制量能够与各种微处理器相适配[1-2]。

1 硬件设计

1.1 温度传感器

该系统的温度采样元件采用DALLAS半导体公司生产的一线式数字温度传感器DS18B20,微处理器仅需要1条端口线即可实现与DS18B20的双向通信。DS18B20采用仅有3只引脚的小体积封装形式TO-92,包括共用地线、外供电源线和单线数据传输总线端口。DS18B20可提供两种不同的供电方式:一种是外部供电方式,外供电源线接+5 V,此种供电方式设计简单,在较短的时间内就能完成温度测量;另一种为数据线供电方式,要求外供电源线接地,数据线需用单片机的一个I/O口来实现上拉,空闲时通过内部电容从数据线获取能量,此种供电方式设计较复杂,完成温度转换的时间也相对较长[3-6]。选择一线式数字温度传感器DS18B20的主要原因有以下几个方面:

1)系统的特性方面,温度测量范围在-55~+125℃之间,且在-10~+85℃温度范围内可满足±0.5℃的最低精度,温度A/D转换精度可编程为9~12位,温度转换值能够以16位二进制码的格式直接串行输出,完成12位高精度转换的最大时间需要750 ms,通过选择数据线供电方式,可以超低功耗工作。

2)系统复杂程度方面,因为DS18B20是采用单总线控制技术的器件,接口时仅需占用微处理器的其中一个I/O口,并且一条数据总线上可以同时连接几十个相同器件,测温时不需要其他任何外部元件,所以与传统的模拟传感器相比,接线的数量大大减少,系统的复杂程度大大降低,工程施工量也相应减少。

3)系统的调试和维护方面,系统接口由于引线的减少而大大简化,系统调试更加便利,同时由于DS18B20属于全数字元器件,其故障率非常低且抗干扰性很强,因此系统的日常维护工作轻松许多。

4)系统成本方面,随着微电子技术和计算机技术的迅猛发展,集成电路的功能不仅越来越强大,其体积也变得越来越小,且价格也越来越便宜。

1.2 电路原理

本系统采用AT89C51单片机作为控制核心,AT89C51是一种带有4 K字节FLASH闪速存储器的低电压、高性能8位CMOS微处理器,带有128字节的内部RAM、2个16位定时/计数器、32个I/O口、1个5向量两级中断结构、片内振荡器及时钟电路。此外,AT89C51能够降至0 Hz的静态逻辑操作,可以支持软件可选的两种节电工作模式。处于空闲工作模式时,CPU停止工作,但允许RAM、定时/计数器和中断系统继续工作。

电路原理图如图1所示,DS18B20的供电方式采用外部电源,数据线通过一个 4.7 kΩ的上拉电阻接在单片机AT89C51的P1.7口,其他2只管脚分别对应接电源和地,此方式安全可靠且编程简单。

图1 电路原理图Fig.1 Schematic diagram of circuit

温度显示采用四位七段共阳LED数码管,间隔2 ms通过位选通信号P20、P21、P22、P23逐个点亮各个LED数码管,实现温度值的动态显示,可显示-55~+125℃温度测量范围。

2 软件开发流程

2.1 主程序

主程序主要负责通过DS18B20读取到的当前温度测量值和温度的实时显示,由于DS18B20的12位精度的转换时间约为750 ms,可以每隔1 s进行一次温度测量,其程序流程图如图2所示。

图2 主程序流程图Fig.2 Flow chart of main routine

2.2 读温度子程序

读温度子程序的功能主要是从RAM中读取9字节数据,同事还需进行CRC校验,当校验出错时不再进行温度数据的读写,其子程序流程图如图3所示。

图3 读温度子程序流程图Fig.3 Flow chart of temperature read subroutine

2.3 温度转换命令子程序

温度转换命令子程序的主要功能为发送温度转换开始命令,当设置为12位采样分辨率时完成转换时间约为750 ms,故本程序设计中使用显示程序延时法来等待转换完成,延时时间设为1 s,其子程序流程图如图4所示。

图4 温度转换命令子程序流程图Fig.4 Flow chart of temperature transmission command subroutine

2.4 计算温度子程序

计算温度子程序的功能是从RAM中读取值数据并进行BCD码转换运算,还需要判定温度值的正负,其子程序流程图如图5所示。

图5 计算温度子程序流程图Fig.5 Flow chart of temperature calculation subroutine

2.5 显示数据刷新子程序

显示数据刷新子程序的功能是刷新显示缓冲器中的显示数据,当显示最高位为0时需将符号显示位移到下一位,其子程序流程图如图6所示。

图6 显示数据刷新子程序流程图Fig.6 Flow chart of refreshing display data subroutine

3 结论

此设计基于DS18B20的温度采集系统具有测温精度高、占用口线少、结构简单、连接方便、成本低等优点,但是硬件电路的简洁是以牺牲软件为代价的。由于DS18B20与单片机AT89C51之间采用串行数据传送,所以,在对DS18B20进行读写操作时,必须保证严格的读写时序,否则将无法正确读取测温结果。

[1]曲爱玲,刘红梅,王欣惠,等.基于DSP的智能温度检测系统设计[J].电子设计工程,2014,22(18):98-100.QU Ai-ling,LIU Hong-mei,WANG Xin-hui,et al.Design of intelligent temperature detection system based on DSP[J].Electronic Design Engineering,2014,22(18):98-100.

[2]胡同花,周维龙.温室大棚多点温度采集系统的设计与实现[J].电子设计工程,2014,22(13):87-90.HU Tong-hua,ZHOU Wei-long.Design and implementation ofmulti-pointtemperature acquisition system ofthe greenhouse[J].Electronic Design Engineering,2014,22(13): 87-90.

[3]李强,田国栋.基于DS18B20的室内智能温度控制系统设计[J].电子设计工程,2012,20(3):34-36.LI Qiang,TIAN Guo-dong.The design of indoor intelligent temperature control system based on DS18B20[J].Electronic Design Engineering,2012,20(3):34-36.

[4]路敬祎,王冬梅,段志伟,等.基于LabVIEW的多点温度采集实验开发系统设计[J].电子设计工程,2013,21(23):4-6.LU Jing-yi,WANG Dong-mei,DUAN Zhi-wei,et al.Multipoint temperature acquisition and experimental system design based on LabVIEW [J].Electronic Design Engineering, 2013,21(23):4-6.

[5]刘小群,钱郁,陈磊.基于单片机的多路数据采集与传输显示系统[J].电源技术,2014,8(38):1546-1548.LIU Xiao-qun,QIAN Yu,CHEN Lei.Multi-channel data acquisition and transmission display system based on SCM[J].Chinese Journal of Power Sources,2014,8(38):1546-1548.

[6]焦鹏鹏,张斌,杨梓.基于无线传感器网络的温度采集与传输[J].电子设计工程,2013,21(2):89-92.JIAO Peng-peng,ZHANG Bin,YANG Zi.Temperature acquisition and transmission based on wireless sensor networks[J].Electronic Design Engineering,2013,21(2):89-92.

[7]王黎明,周晋,陈昌龙.GIS微水监测湿度传感器自校验平台的设计[J].陕西电力,2012(4):11-15.WANG Li-ming,ZHOU Jin,CHEN Chang-long.Design of adaptive equipment for humidity sensor of GIS moisture content monitoring[J].Shaanxi Electric Power,2012(4):11-15.

[8]张新华.基于ICA独立成分和加权依赖贝叶斯的传感器节点故障诊断 [J].重庆师范大学学报:自然科学版,2015 (2):138-142.ZHANG Xin-hua.Fault diagnosis for sensor node in wireless sensor network based on independent component analysis and weighted dependant bayes[J].Journal of Chongqing Normal University:Natural Science,2015(2):138-142.

Design of temperature acquisition system based on DS18B20

WANG Xiang1,BAI Jin-ke2,WANG Zhi-peng1
(1.XJ Electric Co.,Ltd,Xuchang 461000,China;2.Henan Vocational College of Chemical Technology,Zhengzhou 450042,China)

A temperature acquisition system with MCU AT89C51 as the control core is designed,by using the 1-wire digital temperature sensor DS18B20 to sample temperature signals which are read by the MCU in the form of digital signal and displayed through the LED.Using the software design of modular structure makes the logic of the program very clear and reduces the complexity of hardware design.

MCU;DS18B20;temperature acquisition;sensor

TN86

:A

:1674-6236(2015)18-0090-03

2014-10-26稿件编号:201410195

王 响(1982—),女,河南商水人,工程师。研究方向:智能控制。

猜你喜欢
电子设计数据线子程序
探究电子设计技术中的电子设计自动化技术
基于Multisim仿真软件的三人表决器电子设计制作——以中学生创新能力培养为例
第三方编织数据线材质更抗拉、更耐用
电子设计中EDA技术的应用分析
降压型直流开关稳压电源——2016江苏省大学生电子设计竞赛A题解析
数据线接口超声波焊接设备设计
浅谈子程序在数控车编程中的应用
会叫唤的数据线
子程序在数控车加工槽中的应用探索
西门子840D系统JOG模式下PLC调用并执行NC程序