APP下载

基于DS18B20的无线温度测量电路设计

2010-01-13林君焕徐有为

台州学院学报 2010年6期
关键词:数传子程序流程图

方 挺,林君焕,徐有为

(台州职业技术学院 机电系,浙江 台州 318000)

基于DS18B20的无线温度测量电路设计

方 挺,林君焕*,徐有为

(台州职业技术学院 机电系,浙江 台州 318000)

针对恶劣工作环境下温度测量难的问题,提出了一种基于无线通信方式与一线数字式温度传感器的温度测量电路设计方案,设计出一款显示终端与温度测量探头分离的无线温度测量仪,避免测试人员置身于危险环境中测试温度。软硬件调试结果证明电路测量精度高、工作稳定可靠、无线传送距离可达100m。

DS18B20;单片机;无线通信;温度测量仪

1 引言

温度是实际应用中使用最多的参数,温度检测被广泛用于工农业生产、科学研究和人们的日常生活等领域。针对恶劣工作环境下温度测量难的问题,提出了一种基于无线数传模块与一线数字式温度传感器的温度测量电路设计方案,使显示终端与温度测量探头分离,避免了测试人员置身于危险、恶劣的环境中测试温度带来的危险。测量电路采用无线通信模块SRWF-1021-50、低功耗高性能单片机以及单总线数字式测温器件DS18B20等硬件设备,实现温度的实测显示,保存、统计,远程监控和报警等功能。一线式数字温度传感器的采用能降低布线成本、易于维护、降低硬件系统的复杂性[1]。

本研究的特点是:采用高度集成的射频芯片,大大简化系统的硬件和软件设计减小了体积提高了系统工作的可靠性,并以无线数字通讯为纽带,方便了在恶劣环境下的温度采集。

2 系统总设计

图1.系统总结构框图Fig.1 System blockdiagram

系统按功能分为以下两个部分:一是无线数据采集部分,包括温度数据的采集模块(DS18B20)、温度数据处理模块 (单片机)、独立式按键模块、数据发送模块(SRWF-1021-50);二是无线温度显示部分,包括数据接收模块(SRWF-1021-50)、温度数据处理模块(单片机)、独立式按键部分、ROM存储部分、LED温度显示部分。两者通过无线数传模块联系。系统总结构框图如图1所示。

系统具体运行过程:无线采集部分,由温度传感器对环境温度信号采集,由I/O接口直接传给单片机,单片机接收到数字信号转变成对应的数值,由按键开启无线数传模块,并按一定通信协议格式进行数据打包,打包后的数据写入无线通讯模块的发送缓冲区,由无线收发模块经天线完成数据的传输,测得的温度数据经单片机分析处理后存入EPROM并送LED实时显示。

3 系统硬件设计

3.1 DSl8B20接口电路

因为DS18B20是单线数字接口元器件,因此它与单片机的硬件接口十分简单。只需占单片机的一个双向I/O口,通过单片机的P2.5口与DSl8B20的2口(数据线DQ)连接,实现传感器与单片机之间的数据传输。这里采用插槽的方式连接,以方便更换DS18B20温度传感器,硬件电路如图2所示。

3.2 其它外围设备接口电路

3.2.1 无线模块接口电路

系统硬件电路是以SRWF-1021-50和单片机为核心元件。由单片机的I/O端口分别控制SRWF-1021-50的状态接口、模式接口和RS接口。SRWF-1021-50的3口RXD和单片机P3.1口TXD连接,SRWF-1021-50的4口TXD和单片机P3.0口RXD连接如图2、3所示。实现数传模块与单片机的数据传输。

图2 测量端电路图Fig.2 Temperature measuring circuit

图3 显示端电路图Fig.3 Display circuit

3.2.2 LED接口电路

LED显示器是由发光二极管显示字段的显示器件。如图2、3所示电路采用3个共阴极的数码管。3个数码管a……DP8个接口外接8个限流电阻分别和单片机P1.0……P1.7的8个接口连接,3个数码管COM接口和3个晶体管的集电极连接,发射机接公共地,3个晶体管的基极分别和单片机P2.0……P2.2的3个接口连接。通过P2.0……选通数码管,以此实现数码管的动态显示。

3.2.3 按键接口电路

按键主要有两种形式:1.独立式按键;2.矩阵编码键盘。独立式按键的每个按键都单独接到单片机的一个I/O口上,独立式按键则通过判断按键端口的点位即可识别按键操作;而矩阵式键盘则通过行列交叉按键编码进行识别。这里采用独立式按键,如图2、3所示单片机P3.2……P3.5的4个接口与其4个按键相连接,并接4个上拉电阻。按键输入都设置为低电平有效。上拉电阻保证了按键断开时,I/O口线有确定的高电平。

4 系统软件设计

4.1 温度模块程序设计

温度模块程序主要包括主程序,读出温度子程序,温度转换命令子程序,计算温度子程序,显示数据刷新子程序等。

4.1.1 DS18B20主程序

主程序主要完成单片机寄存器初始化、DS18B20复位、写入上下限温度值、设置转换精度、调用读温度子程序、调用数据处理子程序、调用显示子程序以及主循环结构程序。在循环体内,每个1s中读取ds18B20寄存器内温度数据,并刷新显示。程序框图如图4所示。

图4 DS18B20主程序流程图Fig.4 Flow chart of main program for DS18B20

图5 读温度流程图Fig.5 Flow chart of temperature reading

4.1.2 读出温度子程序

读出温度子程序的主要功能是读出RAM中的9字节,在读出时需进行CRC校验,校验有错时不进行温度数据的改写[2]。其程序流程图如图5所示。

4.1.3 温度转换命令子程序

温度转换命令子程序主要是发温度转换开始命令,当采用12位分辨率时转换时间约为750 ms,在本程序设计中采用1s显示程序延时法等待转换的完成[2]。温度转换命令子程序流程图如图6所示:

图6 温度转换流程图Fig.6 Flow chart of temperature transformation

4.1.4 计算温度子程序

计算温度子程序将RAM中读取值进行BCD码的转换运算,并进行温度值正负的判定[2],其程序流程图如图7所示。

图7 计算温度流程图Fig.7 Flow chart of temperature computation

图8 显示数据刷新流程图Fig.8 Flow chart of data refreshment

4.1.5 显示数据刷新子程序

显示数据刷新子程序主要是对显示缓冲器中的显示数据进行刷新操作,当最高显示位为0时将符号显示位移入下一位[2]。程序流程图如图8所示。

4.2 单片机与无线数传模块的程序设计

测试端单片机发出指令按一定通讯协议格式把温度信息进行数据打包,再发出指令把打包后的数据写入无线数传模块的发送缓冲器中。显示端单片机发出指令将无线数传模块的接受缓冲器中的数据传入单片机。

4.3 无线数传模块收发程序设计

单片机指令:两块无线数传模块的波特率相同的设置、串行口工作方式的设置、允许串行接收位的设置、发送中断标志位的清零设置等等。总流程图如图9、10所示:

图9 测量端流程图Fig.9 Flow chart of measurement

5 实物与测试结果

图11所示为本次设计的无线温度测量仪实物图,其显示端和测量端可以分离。为了验证远程数据传送的可靠性,设计时特地在测量端也设置了LED显示,在测试中通过观测显示端与测量端是否显示相同的温度值来检验无线传输的可靠性。图中为测试现场情况:测得现场的环境温度为19.8℃,与实际情况相符,验证了测量端电路能够有效工作,同时显示端温度值与测量端保持一致,证明了无线传输数据的可靠性。此外,将两个电路模块分开远距离的试验也证明了该电路工作的可靠性,且远程测量距离可达100m,从而可以使得测试人员在远离环境现场的情况下依然可以观察到环境温度的变化,尤其是需要测恶劣环境下的温度时,避免了测试人员直接置身其中,保障了其安全性。

图11 无线温度测量电路Fig.11 wireless temperature measuring circuit

6 结束语

本系统是以STC89单片机和SRWF-1021-50无线数传模块相结合,构成了无线传输系统,实现环境温度参数的测量。采用基于SRWF-1020-50的无线传输方式,具有低能耗、抗干扰能力强、克服有限通讯电缆线路架设的困难的缺点,使测量工作更加方便。系统无线传输的有效半径在开阔的地方约800米,数据传输可靠。

[1]张银胜,单慧琳.一种无线温度报警系统的设计[J].武汉理工大学学报.2009,31(2):232-235.

[2]张维君,王珠忠,索世文.基于PC机串口与DS18B20的单线多点温度测量[J].仪表技术与传感器.2009,(4):52-53.

[3]李建兰,邵建龙,张志宏,吕英英,罗景文.基于 STC12C 系列单片机的 DS18B20 编程[J].理论与方法.2009,28(1):23-25.

Design on the Wireless Temperature Measuring Circuit Based on DS18B20

FANG Ting,LIN Jun-huan,XU You-wei

(1.Department of Mechanical and Electrical Engineering,Taizhou Vocational&Technical College,Taizhou 318000,China;2.School of Physics&Electronics Engineering,Taizhou University,Taizhou 318000,China)

A temperature measuring circuit based on radio frequency(RF)and 1-wire digital thermometer is designed and assembled. The display circuit and measuring circuit are separated, which can keep users out of dangerous environment during measuring the temperature.The software and hardware testing results show that the designed circuit is characterized by high accuracy,stable operation and a long transfer distance of 100 meters.

PSNRDS18B20;micro-computer;wireless communication;temperature measurement

周小莉)

TP338.1

A

1672-3708(2010)06-0033-06

2010-10-08;

2010-11-30

项目资助:2010年浙江省大学生科技创新项目(2009DKC04)

林君焕(1982- )男,浙江温岭人,讲师,主要研究嵌入式系统应用。

猜你喜欢

数传子程序流程图
基于数传电台的靶弹测控系统设计
嫦娥卫星数传副瓣信号的干涉测量研究与精度验证
专利申请审批流程图
专利申请审批流程图
Arkbird 10通道跳频433高频头增程数传
浅谈子程序在数控车编程中的应用
子程序在数控车加工槽中的应用探索
宁海县村级权力清单36条
西门子840D系统JOG模式下PLC调用并执行NC程序
频率偏置对Ka频段圆极化频率复用数传链路的影响