1、2.2.2 无线通信模块方案 22.2.3 温湿度传感器方案 32.2.4 显示模块方案 33 主要芯片介绍和系统模块硬件设计 43.1 ATmega16L-8AI单片机 43.2 nRF24L01无线模块 53.2.1 nRF24L01模块电路图 53.2.2 nRF24L01模块接口电路 53.2.3 nRF24L01模块供电电源 63.2.4 nRF24L01模块工作模式 63.2.5 nRF24L01模块工作原理 73.2.6 nRF24L01配置字 83.3 数字温湿度传感器 AM2301 83.3.1 AM2301概述 83.3.2 AM2301接口及温湿采集电路 93.3.3 A
2、M2301工作原理 93.4 显示模块TFT-LCD 104 系统软件设计 114.1 单片机软件设计 114.1.1 发送端流程 114.1.2 接收端流程 125 硬件电路 135.1 硬件制作 135.2 硬件调试 145.3 硬件调试结果 145.3.1 温湿度采集测试 155.3.2 nRF24L01无线模块测试 186 结论与展望 18参考文献 19附录 20致谢 22华南农业大学本科生毕业设计成绩评定表1 前言粮食是人类赖于生存不可或缺的物质基础,是人类从事各种活动的前提。粮仓粮食的存储是否得当对国家的经济能否正常合理的运行有很大的影响。受限制于以前的经济和科技水平,粮食的存储环
3、境差,管理落后。为此,合理地布置温湿度测量点,以便及时发现粮食的发热点、潮湿点,成为粮库管理的重中之重。随着嵌入式技术,短距离无线通信技术、传感器网络技术等的不断发展,电子设备检测技术可以大大的降低粮仓的管理成本。同时,现代化的粮食仓储系统对粮食的安全性也提出了更高的要求。在粮仓管理过程中,湿度和温度是两个重要的控制指标,直接影响粮食的储存质量。然而,传统的人工测试方法费时费力,效率低,且测试的温度及湿度误差大,随机性大(王明明等,2012);而有线方式的测温湿度系统存在着不稳定性,且布线复杂,线路容易老化,线路故障难以排查,设备重新布局需要重新布置等问题。而无线方式的测温湿度系统不存在以上的
4、这些问题,为此,采用无线实时的温湿度检测系统,对数据进行采集、装载、发送、并由终端对无线采集来的数据进行相应处理,以控制监测设备的运行情况,可大大的减少不必要的线路设备开支(张玉建,2012)。本设计采用无线传感器网络技术,通过自组无线传感器网络实现一对多的通信,对粮仓内部环境进行监测。由于每一个无线监测节点需长时间工作,对功率消耗十分敏感,为此,本系统采用低功耗无线传输芯片和超低功耗嵌入式处理器,组建实时的无线传感器监测网络,以实现对粮仓温湿度的网络化实时监测和报警。2 系统方案分析与选择论证2.1 系统最终方案发送端:由数字温湿度传感器AM2301,实时地采集当前的温湿度信息,经ATmeg
5、a16L单片机分析处理后,通过模拟SPI接口控制无线射频模块nRF24L01装载温湿度信息,由无线射频模块nRF24L01发射给主机接收端并显示温湿度信息。红外模块可用于监测各监测节点附近有无老鼠,试验中未做出。接收端:由nRF24L01无线射频模块接收终端采集过来的数据信息,经模拟SPI接口发给ATmega16L单片机,由ATmega16L单片机控制液晶LCD-TFT实时显示温湿度信息,并且显示报警温湿度上限值。当温湿度过高或者过低时,TFT是否报警一行显示是并开始闪烁,蜂鸣器鸣叫,起报警作用,直到温湿度值恢复正常。图1 系统方框图此系统为一对多的无线通信系统,多个从机发送端由传感器本地采集
6、并且通过nRF24L01无线射频模块发送温湿度信息,一个主机通过nRF24L01无线射频模块的多个通道(最多6个,nRF24L01至多可开启6个通道接收数据)接收多个终端节点的温湿度信息,实时显示各终端节点温湿度信息,系统方框图如图1所示。2.2 系统方案设计2.2.1 主控芯片方案方案一:采用宏晶科技有限公司的STC90C52Rc单片机作为主控芯片。此芯片为51类单片机增强版,价格便宜、易于操作,比较经济实惠。方案二:采用ATmega16L作为主控芯片。此芯片是基于增强的AVR RISC结构的低功耗8 位CMOS微控制器。由于其先进的指令集以及单时钟周期指令执行时间,ATmega16 的数据
7、吞吐率高达1 MIPSMHz,从而可以减缓系统在功耗和处理速度之间的矛盾,且其跟51类单片机相比,具有超低功耗和内置晶振等特点。考虑到此系统的复杂度,进行模数转换实现对温湿度的监测所需外围器件较多,监测节点电路板面积小,主控采用贴片封装。从性能和实用性上考虑我们选择方案二。2.2.2 无线通信模块方案采用GSM(Global System for Mobile)模块进行通信,GSM模块需要借助移动卫星或者手机卡,虽然能够远距离传输,但是其成本较大、且需要内置SIM(Subscriber Identity Module)卡,通信过程中需要收费,后期成本较高。采用TI(德州仪器)生产的C2430无
8、线通信模块,此模块采用Zigbee总线模式,传输速率可达250kbps,且内部集成高性能8051内核。但是此模块价格较贵,且Zigbee协议相对较为复杂,实用性不高。方案三:采用nRF24L01无线射频模块进行通信,nRF24L01是挪威Nordic公司推出的单片射频收发芯片,工作于2.42.5GHz ISM频段,抗干扰能力强,能耗非常低,满足多点通信和跳频通信需要。当加定向天线后,在无障碍通信情况下能传输上千米的距离,而且价格较便宜,采用SPI总线通信模式电路简单,操作方便。综合考虑各方面因素,采用方案三作为本系统的无线通信方案。2.2.3 温湿度传感器方案AD590是美国ANALO G D
9、EV ICES 公司的单片集成两端感温电流源芯片,采用此芯片测量温度。此器件测温精度高、电源电压范围宽,但须差分放大器放大和AD转换,需要元器件多,且价格较贵。采用湿敏电阻测量湿度信息,通过将湿敏电阻的电阻变化量放大并且通过模数转换为相对湿度数值。此方法测相对湿度信息精度较差,也需要较多元器件。采用广州奥松有限公司生产的 DHT11温湿度一体的数字传感器。通过单片机等微处理器单总线的电路连接就能实时地采集本地温度和湿度信息。功耗很低。工作电压范围为3.5V5.5V,可以直接和单片机的IO口相连。采用广州奥松电子有限公司生产的AM2301温湿度一体的数字传感器。它是电阻式感湿元件DHT11湿度传
10、感器的升级版,具有高精度,低功耗、抗干扰能力强等优点。其中采集温度的精度为0.5,采集相对湿度的精度为3%。外围电路简单,只需在数据口上拉一个5K欧电阻,便可直接和ATmega16L单片机的IO口相连。使用DHT11采用单总线的控制方式。线路简单,编程容易,但是比AD590精度低。AD590还需要其它辅助电路,线路复杂,编程难度大。而AM2301外围电路简单,并且精度相比于DHT11高。所以,考虑到电路的设计复杂度、系统的精度,功耗,还有本系统需多点通信,在成本考虑上,选择方案三,即用AM2301作为本系统的温湿度传感器。2.2.4 显示模块方案采用字符液晶LCD1602显示信息,LCD160
11、2是一款比较通用的字符液晶模块,能显示字符和数字等信息,且价格便宜,容易控制。选择主控为ST7920驱动器的带字库的LCD12864来显示信息。LCD12864是一款通用的液晶显示屏,能够显示常用的汉字及ASCII码,而且能够绘制图片,描点画线,设计成比较理想的结果,但考虑到监测节点较多,需显示的信息较多,而其最多只能显示四行信息。采用配置2.8寸的TFT-LCD即薄膜晶体管液晶显示器。该模块的控制器为ILI9325,具有26万像素,320240的分辨率,16位真彩显示。可以清晰的显示各监测节点的信息,且其可以显示人性化界面,各节点信息以及报警上限温湿度值一目了然。综合以上方案,选择了可显示人
12、性化界面的TFT-LCD作为接收端的显示。3 主要芯片介绍和系统模块硬件设计3.1 ATmega16L-8AI单片机图2 单片机最小系统单片机控制模块由ATmega16L最小系统组成,包括ATmega16L-8AI单片机(芯片内集成晶振电路)和复位电路。单片机复位端低电平有效,系统上电后由RC充放电电路实现自动复位,也可短按复位按键S1实现手动复位(王卫星,2009)。单片机最小系统如图2所示。ATmega16L系列单片机管脚如图2所示。本设计无线传感器模块控制接口为PB3PB7以及PD2;下载程序采用ISP通信,采用USB ISP下载器进行程序下载,其接口为PB5PB7以及RST端口;RXD
13、P3.0和TXDP3.1为串口通信端口,RXD用于读数据, TXD用于发送数据;监测端:温湿度数据采集端口为PC0PC7;TFT彩屏接口为PC0PC7和PA2PA4。3.2 nRF24L01无线模块3.2.1 nRF24L01模块电路图nRF24L01(张玉建,2012;刘靖等,2007)芯片是由NORDIC公司生产一款无线通信芯片,采用FSK调制方式,内部集成有NORDIC自己的Enhanced Short Burst协议。可以实现点对点或是1对6的无线通信。通信速度可以达到2Mbs。nRF24L01无线射频模块的电路图如图3所示。图3 nRF24L01模块电路图3.2.2 nRF24L01
14、模块接口电路 图4 单片机与无线模块通信及其电源转换电路图nRF24L01是一款新型单片射频收发器件,工作于2.4 GHz2.5 GHz ISM(Industrial Scientific Medical)频段。内置频率合成器、功率放大器、晶体振荡器、调制器等功能模块,并融合了增强型ShockBurst技术,其中输出功率和通信频道可通过程序进行配置。nRF24L01功耗低,在以-6 dBm的功率发射时,工作电流也只有9 mA;接收时,工作电流只有12.3 mA,多种低功率工作模式(掉电模式和空闲模式)使节能设计更方便。表1 nRF24L01模块引脚功能管脚功能CE工作模式,TX或者RX模式选择
15、CSNSPI片选使能,低电平有效SCKSPI时钟MOSISPI数据输入MISOSPI数据输出IRQ中断输出VDD电源1.9-3.6V输入GND地nRF24L01无线射频模块的各引脚功能如表1所示。图4所示为单片机与无线模块通信及其电源转换电路图,图中CE(Control Enable)使能控制线,CSN(Channel Sequence Number) 频道序号,MOSI (Master Out Slave In)主机输出从机输入,MISO(Master In Slave Out)主机输入从机输出,SCK(Serial Clock)串行时钟线,IRQ(Interrupt Request)中断请
16、求位,分别跟ATmega16L的PB3PB7以及PD2端口连接。3.2.3 nRF24L01模块供电电源此无线射频模块需要的电源为1.9 V3.6 V,故不能直接用5V电源供电,本系统中采用3.3V直流电源对无线射频模块供电,5V电源经LM1117芯片进行转换后即得到稳定的直流电源供给nRF24L01无线射频模块。3.2.4 nRF24L01模块工作模式通过配置寄存器可将nRF241L01配置为发射、接收、空闲及掉电四种工作模式,如表2所示。 在掉电模式下电流损耗最小,同时nRF24L01也不工作,但其所有配置寄存器的值仍然保留。3.2.5 nRF24L01模块工作原理发射数据:先将nRF24
17、L01配置为发射模式,再把接收节点地址TX_ADDR和有效数据TX_PLD按照时序由SPI口写入nRF24L01缓存区。TX_PLD必须在CSN为低时连续写入,而 TX_ADDR在发射时写入一次即可,然后置为高电平并保持至少10s,延迟130s后发射数据。若自动应答开启,那么nRF24L01在发射数据后立即进入接收模式,接收应答信号(自动应答接收地址应该与接收节点地址TX_ADDR一致)。如果收到应答,则认为此次通信成功,TX_DS置高,同时TX_PLD从TXFIFO中清除;若未收到应答,则自动重新发射该数据(自动重发已开启)。若重发次数达到上限,MAX_RT置高,TXFIFO中数据保留以便再
18、次重发。MAX_RT或TX_DS置高时,使IRQ变低,产生中断,通知ATmega16L。最后发射成功时。若CE为低,则nRF24L01进入空闲模式1;若发送堆栈中有数据且CE为高,则进入下一次发射;若发送堆栈中无数据且CE为高,则进入空闲模式2。表2 nRF24L01工作模式及配置工作模式PWR_UPPRIM_RXFIFO寄存器状态接收模式1数据在RXFIFO寄存器中发射模式数据在TX下降沿停留在发送模式,直至数据发送完待机模式1无数据传输待机模式2TX为空掉电接收数据:首先将nRF24L01配置为接收模式,接着延迟130s进入接收状态等待数据的到来。当接收方监测到有效的地址和CRC时,就将数
19、据包存储在RXFIFO数据寄存器中,同时中断标志位RX_DR置高,IRQ变低,产生中断,进入中断服务子程序,通知单片机ATmega16L去取数据。若此时自动应答开启,接收方则同时进入发射状态回传应答信号。若自动应答未开启,则不进入发射状态。最后接收成功时,若CE变低,则nRF24L01进入空闲模式1。3.2.6 nRF24L01配置字SPI口为同步串行通信接口,最大传输速率为10 Mbs,传输时先传送低位字节,再传送高位字节。但针对单个字节而言,要先送高位再送低位。与SPI相关的指令共有8个,使用时这些控制指令由nRF24L01的MOSI输入。相应的状态和数据信息是从MISO输出给单片机ATm
20、ega16L。nRF24L0l所有的配置字都由配置寄存器定义,这些配置寄存器可通过SPI口访问。nRF24L01 的配置寄存器共有25个,常用的配置寄存器如表3所示。表3 nRF24L01常用配置寄存器地址(H)寄存器名称00CONFIG设置nRF24L01工作模式01EN_AA设置接收通道及自动应答02EN_RXADDR使能接收通道地址03SETUP_AW设置地址宽度04SETUP_RETR设置自动重发数据时间和次数07STATUS状态寄存器,用来判定工作状态0A-0FRX_ADDR_P0P5设置接收通道地址10TX_ADDR设置接收节点地址11-16RX_PW_P0P5设置接收通道的有效数
21、据宽度3.3 数字温湿度传感器 AM23013.3.1 AM2301概述AM2301数字温湿度传感器,别称为DHT21温湿度传感器,是电阻式感湿元件DHT11湿度传感器的升级版, 具有高精度,快响应、抗干扰能力强等优点。AM2301它是一款含有已校准数字信号输出的温湿度复合传感器,应用专用的数字模块采集技术和温湿度传感技术。传感器包括一个电容式感湿元件和一个NTC(Negative Temperature Coefficient)测温元件。每个AM2301传感器都在极为精确的湿度校验室中进行校准。校准系数以程序的形式储存在OTP(One Time Programable)内存中,传感器内部在检
22、测信号的处理过程中要调用这些校准系数。单线制串行接口,使系统集成变得简易快捷。超小的体积、极低的功耗,信号传输距离理论上可达20米以上,使其成为各类应用场合的最佳选择。(王志宏等,2011)。3.3.2 AM2301接口及温湿采集电路表4所示为AM2301各管脚功能,图5所示为AM2301温湿度采集电路图。其中Data数据口连接线长度短于20米时用5K上拉电阻,大于20米时根据实际情况使用合适的上拉电阻。3.3.3 AM2301工作原理AM2301的供电电压为5V。传感器上电后,要等待 1s 以越过不稳定状态在此期间无需发送任何指令。电源引脚(VDD,GND)之间可增加一个100nF 的电容,
23、用以去耦滤波。AM2301采用单总线接口,其中DATA 数据口用于微处理器与AM2301之间的通讯和同步,采用单总线数据格式,一次通讯时间5ms左右,具体格式如下,当前数据传输为40bit,高位先出。数据格式:40bit数据=16bit湿度数据+16bit温度数据+8bit校验和。当接收40bit数据如:0000 0010 1000 1100 0000 0001 0101 1111 1110 1110。其中前16位是湿度数据,接下来16位是温度数据,最后8位数据是温湿度校验和,即湿度高8位+湿度低8位+温度高8位+温度低8位=数据的末8位=校验和。如:0000 0010+1000 1100+0
24、000 0001+0101 1111=1110 1110。其中湿度=65.2, 温度=35.1(当温度低于0时温度数据的最高位置1)。用户主机(MCU)发送一次开始信号后,AM2301从低功耗模式转换到高速模式,等待主机开始信号结束后,AM2301发送响应信号,送出40bit的数据,并触发一次信号采集(注:主机从AM2301读取的温湿度数据总是前一次的测量值,如两次测量间隔时间很长,需连续读取两次数据以获得实时的温湿度值)。总线空闲状态为高电平,MCU把总线拉低等待AM2301响应,MCU把总线拉低必须大于18毫秒,保证AM2301能检测到起始信号。AM2301接收到MCU的起始信号后,等待M
25、CU开始信号结束,然后发送80s低电平响应信号。MCU发送开始信号结束后,延时等待2040s后,读取AM2301的响应信号,MCU发送开始信号后,可以切换到输入模式,或者输出高电平均可,总线由上拉电阻拉高。总线为低电平,说明AM2301发送响应信号,发送响应信号之后,再把总线拉高80s,准备发送数据,每1bit数据都以50s低电平时隙开始,高电平时间为2628s时数据位为0;高电平时间为70s时数据位为1。如果读取响应信号为高电平,则AM2301没有响应。当最后1bit数据传送完毕后,AM2301拉低总线50s,随后总线由上拉电阻拉高进入空闲状态。3.4 显示模块TFT-LCD图6 彩屏TFT电路图显示模块采用TFT-LCD(Thin Film Transistor-Liquid Crystal Display)即薄膜晶体管液晶显示器。TFT-LCD与无源TN-LCD、STN-LCD的简单矩阵不同,它在液晶显示屏的每一个象素上都设置有一个薄膜晶体管(TFT),可有效地克服非选通时的串扰,使显示液晶屏的静态特性与扫描线数无关,因此大大提高了图像质量。TFT-LCD也被叫做真彩液晶显示器。上配置2.8寸的TFTLCD。该模块的控制器为ILI9325,具有26万像素,320240的分辨率,16位真彩显示,自带触摸屏,可以用来作为控制输入。电路图如图6所示。4 系统软件设计4.1
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1