基于单片机的无线温度采集报警系统设计

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

基于单片机的无线温度采集报警系统设计基于单片机的无线温度采集报警系统设计基于单片机的无线温度采集报警系统设计摘要本文所介绍的是一种采用单总线数字式温度传感器DS18B20、AT89C52单片机、1620LCM液晶显示器、数码管及nRF24L01无线收发一体模块组成的新型温度无线采集报警系统,并使用数码管显示器将所采集温度在采集端显示,并无线传输到接收模块用1620LCM液晶显示器显示出来。该系统以AT89C52单片机为控制核心,利用新型一线制温度传感器DS18B20测量温度值以及高可靠无线收发模块nRF24L01实现环境温度的无线采集和报警。系统测温范围为-50℃—+120℃,测量精度为0.5℃。用户可以通过按键K0、K1、K2、K3随时自定义报警上、下限值,一旦温度超过极限值,接收端单片机便启动报警系统。该系统精度高、测温范围广、报警及时,可广泛应用于基于单片机的温度无线采集报警场合。关键词:AT89C52单片机;无线温度采集;DS18B20;nRF24L01无线传输19AbstractThisarticleintroducedanewtemperaturewirelessacquisitionalarmsystem.ItconsistasinglebusdigitaltemperaturesensorDS18B20,AT89S52SCM,1620LCMLCDmonitor,digitalpipeandnRF24L01wirelesstransceivermodule.Itusedigitaltubedisplaytemperatureinthecollectionandthetemperaturethatwirelesstransmissiontoreceivingmodulewith1620LCMLCDdisplay.thissystemuseAT89S52SCMascontrolcore,usethenewawiretemperaturesensorDS18B20measuringtemperatureandhighreliablewirelesstransceivermodulenRF24L01realizeenvironmentaltemperaturewirelessdatacollectionandalarm.Temperaturemeasurementsystemfor-50℃scope+120℃,measuringprecisionof0.5℃.TheusercanthroughthekeyK0,K1,K2,K3customalarmatanytime,andhavelowerlimit,oncethetemperatureoverlimit,thereceiversingle-chipmicrocomputerstartalarmsystem.Thesystemhavehighprecision,temperaturemeasuringrange,alarmintime,andcanbewidelyusedinthetemperatureoftheacquisitionbasedonsinglechipwirelessalarmoccasion.Keywords:AT89S52SCM;Wirelesstemperaturegathering;DS18B20;NRF24L01目录摘要IAbstractII1概述11.1选题意义11.2设计功能要求11.3整体方案论证11.4无线数据采集器系统框图32温度无线采集报警系统的主要元件介绍42.1温度测量传感器DS18B20的介绍42.1.1DS18B20概述42.1.2内部结构52.1.3DS18B20通信协议62.1.4温度数据的计算处理方法72.2无线发射模块nRF24L01介绍72.2.1概述72.2.2工作模式82.2.3SPI指令及时序103系统硬件电路设计113.1AT89C52单片机最小系统113.2温度检测模块电路123.3温度显示模块电路123.4发射电路模块143.5接收电路模块144系统软件设计154.1主程序154.2子程序165结论19参考文献21附录一22附录二24附录三25致谢431概述1.1选题意义温度是工业、农业生产中常见和最基本的参数之一,由于有些场合生产环境恶劣,工作人员不能长时间停留在现场观察设备是否运行正常,就需要无线采集数据并传输数据到一个环境相对好的操控室内,这样就会产生数据传输问题。由于厂房大、需要传输数据多,使用传统的有线数据传输方式就需要铺设很多很长的通讯线,浪费资源,占用空间,可操作性差,出现错误换线困难。而且,当数据采集点处于运动状态、所处的环境不允许或无法铺设电缆时,数据甚至无法传输,此时便需要利用无线传输的方式进行数据采集。在现实生活中,这种无线温度采集系统已经被成功应用于工农业、环境监测、军事国防、机器人控制等许多重要领域,而且类似于这种温度采集系统的无线通信网络已经被广泛的应用到民用和军事领域。凡是布线繁杂或不允许布线的场合都希望能通过无线方案来解决。为此,需要设计相应的接口系统,控制这些射频芯片工作,完成可靠稳定的无线数据通信,这样的研究也变得更加有意义。1.2设计功能要求(1)能够检测温度传感器DS18B20的状态。(2)收发端都能够显示温度数据,以比较无线传输的正确性。(3)无线传输50m左右。(4)能够提供高低温报警,且能设定高低温报警值。1.3整体方案论证根据各项功能的实现方法以及硬件连接方式,将整个系统划分为三大模块:温度数据采集模块,显示模块,无线通信模块。主要是对温度数据采集模块,无线通信模块做出方案选择。(1)温度数据采集模块在日常生活及工农业生产中,经常要用到温度的无线采集及控制,传统的测温元件有热电偶和热电阻。而热电偶和热电阻测出的一般都是电压,再转换成对应的温度,需要比较多的外部硬件支持。方案一:采用热敏电阻,价格比较便宜,但热敏电阻精度低,可靠性不好。用温度传感器如LM35,其输出的是模拟信号,需经过A/D转换后才能送人单片机。这样电路较复杂,不易进行多点温度测量,其软件设计也比较难设计。方案二:采用单总线温度传感器DS18B20,输出信号全数字化,便于控制,省去传统的测温方法的很多外围电路,且该芯片物理化学特性很稳定,它能用于工业测温元件。DS18B20最大的特点是采用了单总线的数据传输,测温系统的电路就比较简单,体积不大。而且很容易实现多点温度测量。(2)无线通信模块方案一:采用F05P+J04V组成的低成本的无线收发模块,价格比较便宜,但对基带信号有较高要求,对无线收发的布局布线也有一定的要求且可靠性比较低。需要加上一部分外围电流才能实现收发功能。方案二:采用NRF24L01+作为无线收发模块,由于其高可靠性的数据收发和极低的电流消耗,已经广泛使用于各种无线数据通信。NRF24L01+把所有外围电路都集成在一块PCB板上,因此外围电路简单,软件设计只需遵循一定的时序,也比较简单。本设计温度数据采集模块和无线通信模块都采用方案二。(3)显示模块方案一:由HD44100驱动的LCD显示屏来实现温度的显示。本系统的按键功能主要有查看温度数据信息和设置温度报警值,以及其它系统信息显示切换。显示内容更丰富,单片机控制LCM模块时,只要送人相应的命令和数据就可实现所需要的内容,这种模块与单片机接口简单,使用灵活方便。方案二:用七段数码管和按键来做人机交互界面,优点是价格便宜,程序简单,缺点是硬件电路复杂,不方便同时显示温度以及其它系统信息,界面表达不能满足要求。从上述两个方案的对比中看出,发送端选择方案一以作比较,接收端选择方案二,使显示信息更丰富。1.4无线数据采集器系统框图本温度无线采集报警电路设计采用美国DALLAS半导体公司生产的温度传感器DS18B20作为温度检测元件,测温范围为-55~125℃,最高分辨率可达0.0625℃。发射与接收电路采用Nordic公司生产的NRF24L01+作为发射与接收元件,传输距离可达100m。DS18B20可以直接读出被测温度值,而且采用三线制与单片机相连,减少了外部的硬件电路,具有低成本和易使用的特点,NRF24L01+具有自动重发功能、数据包识别及CRC校验功能,增强型ShockBurstTM模式可同时控制应答及重发功能而无需增加MCU的工作量。按照系统设计功能的要求,确定系统由6个模块组成:主控制器、测温电路、发送电路、接收电路、显示电路和报警电路。温度无线采集报警系统结构框图如图1所示显示电路扫描电路DS18B20STC89C52主控制器发射电路接收电路报警电路STC89C52主控制器显示电路图1温度无线采集报警系统结构框图2温度无线采集报警系统的主要元件介绍2.1温度测量传感器DS18B20的介绍2.1.1DS18B20概述(1)引脚如图2图2DS18B20封装及引脚排列图●GND接地。●DQ为数字信号输入\输出端。●VDD为外接电源输入端(在寄生电源接线方式时接地)(2)DS18B20与单片机的连接方式单线数字温度传感器DS18B20与单片机连接电路非常简单,引脚1接地(GND),引脚3(VCC)接电源+5V,引脚2(DQ)接单片机输入\输出一个端口,电压+5V和信号线(DQ)之间接有一个4.7k的电阻。由于每片DS18B20含有唯一的串行数据口,所以在一条总线上可以挂接多个DS18B20芯片。2.1.2内部结构DS18B20采用3脚PR—35封装或8脚SOIC封装,其内部结构框图364位ROM的位结构如图4。开始8位是产品类型的编号;接着是每个器件的唯一序号,共有48位;最后8位是前面56位的CRC检验码,这也是多个DS18B20可以采用单线进行通信的原因。非易失性温度报警触发器TH和TL,可通过软件写入用户报警上下限数据。图3DS18B20内部结构图8位检验CRC48位序列号8位工厂代码MSBLSBMSBLSBMSBLSB图464位ROM结构图DS18B20温度传感器的内部存储器还包括一个高速暂存RAM和一个非易失性的可电擦除的E2PROM。高速暂存RAM的结构为9字节的存储器,结构如图5。前2字节包含测得的温度信息。第3和4字节是TH和TL的拷贝,是易失的,每次上电复位时被刷新。第5字节为配置寄存器,高速暂存RAM的第6、7、8字节保留未用,表现为全逻辑1。第9字节是前面所有8字节的CRC码可用来检验数据,从而保证通信数据的正确性。温度LSB温度MSBTH用户字节1TL用户字节2配置寄存器保留保留保留CRC图5高速暂存RAM结构图1字节2字节3字节4字节5字节6字节7字节8字节9字节当DS18B20接收到转化命令后,开始启动转化。转化完成后的温度值就以16位的带符号扩展的二进制补码形式存储在高速暂存RAM的第1、2字节中。单片机可以通过单线接口读出该数据。读数据时,低位在先,高位在后,数据格式以0.0625℃/LSB形式表示。DS18B20完成温度转化后,就把测得的温度值与RAM中的TH、TL字节内容作比较,若T>TH或T<TL,则将该器件内的报警标志位置位,并对主机发出的报警搜索命令作出响应。因此,可用多只DS18B20同时测量温度并进行报警搜索。2.1.3DS18B20通信协议在对DS18B20进行读写编程时,必须严格保证读写时序,否则将无法读取温度结果。根据DS18B20通信协议,主机控制DS18B20完成温度转化必须经过3个步骤:每一次读写之前都要对DS18B20进行复位,复位成功后发送一条ROM指令,最后发送RAM指令,这样才能对DS18B20进行预定的操作。复位要求主CPU将数据线下拉500us,然后释放,DS18B20收到信号后等待16~60us,然后发出60~240us的存在低脉冲,主CPU收到此信号表示复位成功。DS18B20的ROM指令如表1,RAM指令如表2。表1ROM指令表指令约定代码功能温度变化44H启动DS18B20进行温度转换,12位转换时最长为750ms(9位为93.75

1 / 25
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功