基于单片机ATmega16的无线温度监测系统
温度传感器模块采用数字温度传感器DS18B20,它是美国Dallas半导体公司推出的一种智能数字温度传感器。DS18B20在与MCU连接时仅需要一条线(即单总线接口,加电源为三线接口)即可实现微处理器与DS18B20的双向通讯。使用DS18B20可以节省系统资源、使系统结构更趋简单。DS18B20测温范围是-55℃~+125℃,固有测温分辨率0.5℃。工作电源为3 V~5V/DC。在使用中不需要任何外围元件,测量结果以9~12位数字量方式串行传送。DS18B20内部结构主要由四部分组成:64位光刻ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。其中64位光刻ROM中存储的是该DS18B20的地址序列号码。其号码的排列是:最初8位(28H)是产品类型标号,接着的48位是DS18B20自身的序列号,最后8位是前面56位的循环冗余校验码(CRC=X8+X5+X4+1)。光刻ROM中的地址序列码可以区分每一个DS18B20,从而实现在同一根总线上挂接多个DS18B20。根据DS18B20的通讯协议,MCU(单片机)控制DS18B20完成温度转换必须经过三个步骤:
(1)每一次读写之前都要对DS18B20进行复位操作
(2)复位成功后发送一条ROM指令
(3)最后发送RAM指令
这样才能对DS18B20进行预定的操作。复位要求主CPU将数据线下拉500 μs,然后释放,当DS18B20收到信号后等待16~60μs左右,后发出60~240μs的低脉冲,主CPU收到此信号表示复位成功。论文设计的测温系统中每一个DS18B20在与MCU连接时各占用一个I/O口,则MCU控制DS18B20完成温度转换的步骤如图3所示。本文引用地址:https://www.eepw.com.cn/article/172738.htm
nRF24L01是Nordic公司推出的高集成的单片无线收发器件。芯片具备自动应答和自动重发功能,速度可达2 Mbps,126个可选工作频道,很短的频道切换时间,可用于跳频,其输出功率,频道选择以及协议设置都可以通过SPI口进行设置。其Enhanced Shock Burst模式可以同时控制应答及重发功能而无需增加微控制器的工作量。nRF24L01还具备同一频道接收六路不同通道数据的功能,利用FDMA技术最多可实现750个点的数据采集,这使它成为无线温度测量系统硬件实现的最佳选择。nRF24L01模块在与MCU进行数据传输时,可以使用MCU普通的I/O口,系统中直接利用ATmega16的固有资源SPI通信口,这样从一定程度上简化了软件设计过程。
评论