基于单片机的温度采集及无线发送系统

基于单片机的温度采集及无线发送系统,第1张

  为了远程监控实时温度数据,利用温度传感器DS18B20的特点,与AT89C51单片机构成实时温度检测系统,并通过LED数码管显示。利用无线传输模块SRWF-1的特点,与单片机构成数据传输部分,将所测量的温度无线传输发送给上位机。给出了DS18B20,SRWF-1分别和AT89-C51所构成系统的应用电路和部分程序。通过无线模块的引入,能较好地实现远程温度检测系统。

  0 引言

  随着数字化脚步的加快,越来越多的数字化产品取代了原有的机械式仪表,从而大大提高了数据的准确率。然而,多数情况下,温度的采集过程只在现场实时显示,在增加了工作量的同时,也可能会造成很多不便,如进入危险区域。因此,将无线网络应用在工业生产中,不仅能大大提高工作效率,同时也在一定程度上降低了劳动强度。

  本设计基于以上两点,将工业生产中常用到的温度进行数字化,并通过无线模块将数据发送出去,在接收方利用无线接收设备接收实时的数据,从而大大降低劳动强度。

  1 系统组成

  系统由单片机、温度传感器、串口通信模块和无线传输模块等几部分组成。测温系统将测得的温度通过单片机在数码管上实时显示,同时,通过串口通信部分和无线模块将数据发送给上位机。系统结构如图1所示。

  

基于单片机的温度采集及无线发送系统,第2张

 

  该设计以Atmel公司生产的单片机AT89C51为核心,以数字温度传感器DS18B20作为温度采集,以SRWF-1无线模块作为无线数据传输,从而构成整体系统。

  1.1 单片机系统

  1.2 数字温度传感器DS18B20

  DS18B20是美国Dallas公司生产的一款可编程1-Wire数字温度计。具有精度高,全数字化,连线少等诸多优点。其可直接将采集到的温度转换成数字信号,通过单条数据线串行发送出去,只要严格遵循规定时序逻辑和脉冲间隔,就能舍去同步时钟信号线,做到通信期间引脚最少化,达到温度采集目的。

  1.2.1 内部结构及外部管脚

  数字式温度传感器DS18B20的内部结构如图2所示,其主要由四部分组成:64位ROM和单总线接口、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器

  

基于单片机的温度采集及无线发送系统,第3张

 

  DS18B20 64位闪存ROM的开始8位是产品类型的编号,接着的48位为每个器件的惟一序号,最后8位是CRC校验码。用于存储用户设定温度上下限值的非易失性温度报警触发器TH和TL,使用时可通过软件写入、设定报警上下限值。DS18B20内部配有一个电可擦除的E2PROM,用于存储TH、TL值,数据先写入内部的高速暂存RAM,经校验后在传给E2PROM。RAM中的第5个字节为配置寄存器,用于确定温度值的数字转化分辨率。工作时按此寄存器中的分辨率将温度转化为相应精度的温度值。

  DS18B20具有三引脚To-92小体积封装形式,如图3所示;温度测量范围为-55~+125℃,其工作电源既可在远端引入,也可使用寄生电源方式产生;CPU只需一根端口线就能与诸多DS18B20通信,由于其占用微处理器的端口较少,因此可节省大量的引线和逻辑电路。

  

基于单片机的温度采集及无线发送系统,第4张

 

  DSB18B20各引脚介绍如下:GND为地;DQ为数据输入/输出端;VDD为外接供电电源输入端(在寄生电源接线方式时接地);NC为SOIC封装的,NC为空引脚。

  1.2.2 工作原理

  DS18B20内部的低温度系数振荡器能产生稳定的频率信号f0,而高温度系数振荡器则将被测温度转化成频率信号f。当计数器打开时,DS 18B20则对f0计数,计数器开通时间由高温度系数振荡器决定。芯片内部还有斜率累加器,可对频率的非线性给予补偿。其测量的结果将暂存在温度寄存器中,可使单片机方便的将温度读出。

  DS18B20的核心是一个直接的数字化温度传感器,可将温度值按9 b,10 b,11 b,12 b分辨率进行量化,默认分辨率为12 b,对应的温度最小增量分别为0.5℃,0.25℃,0.125℃和0.062 5℃。当主机向DS18B20发出温度转化命令后,开始温度转换,检测的温度结果将存放在两个字节中,最低位LSB在前,最高位MSB为符号位。其数据格式如下:

  

基于单片机的温度采集及无线发送系统,第5张

 

  其中,高位字节MSB的高5位为温度的符号位,当温度为正时,该5位为0,温度为负时,统一为1。高位字节MSB的低3位和低位字节LSB的高4位共同组成温度值的整数部分,低位字节LSB的低4位为小数位,采用二进制补码方式存储温度数据。例如,当温度为+125℃时,输出温度为07D0h;当温度为+85℃时,输出温度为0550h;当温度为+25.062 5℃时,输出温度为0191h;当温度为-10.125℃时,输出温度为FF5Eh;当温度为-55℃时,输出温度为FC90h。

  

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/dianzi/2494523.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-08-04
下一篇 2022-08-04

发表评论

登录后才能评论

评论列表(0条)

保存