1绪论
1.1 课题研究背景及意义
中国自古以来就是一个大国,地大物博,特别是新中国成立以来,粮食的产量屡创新高,但是中国也是一个人口大国,人口达14亿位居世界第一[1]。我国以占世界不到10%的耕地面积养活了世界将近22%的人口,因此粮食的储备问题备受世界各国的关注[2]。
为了保障国家的粮食安全,需要对粮食存储保存以备不时之需,粮食的存储方式主要是通过各地的粮库对粮食进行长期或短期的存放[3]。但是,由于粮仓的存储环境变化,虫害的存在等因素,给粮食的存储带来一些挑战:(1)粮仓中较高的温湿度会对粮仓中粮食的存储产生不良的影响,粮食会发生霉变,同时也容易导致粮食在存储过程中产生害虫[4]。(2)粮仓内的气体成分与其他环境相比比较复杂。首先,粮食想要进入粮仓内,必定要经过各种的科学储藏技术处理,而药物熏蒸就是其中的一种,熏蒸后所保留的气体则会停留在整个粮仓内;其次,粮食中残留的害虫和微生物通过呼吸释放的气体也会留在整个粮仓里;(3)如果谷物发霉,挥发性气体也混合在空气中。由此看来,粮仓内的气体成分较为复杂,如遇到高温、明火时可能会对储粮造成危害,因此需要在粮仓内配置气体浓度传感器[5]。
虽然粮食储备的状况在接连不断的改善中,但其改善效果并不显著[6]。最原始的储备方式已经占据了全国百分之八十以上的百分比,甚至人工检测这种原始方法仍在使用,这样的非智能化方法对粮食的温度、湿度以及害虫的存在情况不能够及时的发现,会产生粮食质变,劣化等严重后果[7]。如若能够实现粮仓的温度、湿度等信息的自动监测,并及时将信息传递到PC端、手机终端,让监管人员无论在何地都能直观清晰的看到各个地方粮仓内部情况[8]。同时也可以及时对粮仓采取措施,避免造成损失,同时也可以实现在一处对不同地区的粮仓进行管理,从而使得粮仓向着更智能化、自动化、现代化方向发展。
结合以上问题,本文将无线通信技术运用到粮情监控系统中,提出一种基于NRF24L01无线通信技术的粮仓温湿度监控系统实现方案,以便对粮仓中的温湿度数据进行实时采集和控制,方便、快捷且容易维护。可大量节省人力、物力,提供了有效的管理手段。
1.2 国内外研究现状
1.2.1 国外研究现状
在国外,早在上世纪60年代,就有人研究利用粮食监测系统来保障粮食的安全储藏。霍尼韦尔国际的工程师 Hughes等使用氨化锂Dunmore型元素法快速测定小麦面粉的水分,将温湿度传感器插入测量样品中,再由之前建立的等温关系曲线得到样品含水率[9]。结果表明,在含水率为10%~15%的范围内,测量精度可达0.2%。1976年,William T. Eng发明了美国粮仓的电子温度监视器[10]。它通过选用多个硅二极管,在粮仓内按一定的规律进行排列,通过电缆与外部监控单元相连。显示单元可显示各点的温度值。该装置在这些功能之外,还具有自动报警的功能,当其中一个传感器检测的温度达到或超过预设值时,就会启动报警功能。
近几年,国外农业发达国家对于粮仓的虫害、粉尘以及挥发性气体等的检测已经有很大的进展。加拿大的许多粮食研究项目一直处于世界领先地位,拥有多达19个粮食研究所。
2015年,阿肯色大学助理教授格里菲斯·阿通古卢(Griffiths atungulu)提出了一种基于平衡水分含量(EMC)的新型布线和传感器技术,可以准确评估稻米品质,包括稻米产量(Mry)、稻米产量(Hry)、稻米颜色和粘度,利用传感器测量空气环境和温湿度,能有效监测真菌毒素特别是黄曲霉毒素的产生[11]。
粮仓环境监测系统的发展既独立于无线通信技术的发展,也独立于传感器技术的进步。虽然目前有线监控仍是主流,但从长远来看,无线检测技术是未来监控技术的选择和发展趋势[12]。
1.2.2 国内研究现状
目前与国外相比,国内研究和应用还存在较大差距。在我国的粮仓管理中,更多的还是利用人工方法来对粮仓进行监控和管理,这种方法不仅速度比较慢,还具有很大的不稳定性。在人工检测过程中,不仅回造成了大量的谷物损失,而且在检测中也会大量的花费成本和时间[13]。
2015年,在《基于ZigBee的智能粮仓温度监控系统的研究与设计》中,作者范娜设计了一个由感知层、传输层和应用层三部分组成的监控系统[14]。它具有短程、复杂程度低、功率损耗低、数据传输速率低、良好的无线接收灵敏度和较强的抗干扰能力。它的缺点是收集的数据种类少,缺乏数据分析进行综合管理。
2017年,笔者翟瑶在《粮仓无线温湿度传感器系统的设计》中,设计了一个基于51单片机的五部分组成的监控系统[15]。通过温湿度传感器来对粮仓的温度和湿度进行检测,再将采集到的数据通过无线传输传输到上层节点。接收端通过USB接口将数据传输到控制终端进行处理,在接收端或控制终端进行显示和控制终端的数据通信与处理。它充分利用软件编程的优点,使元件精度不够引起的误差大大降低。这种设计的缺点是功能单一。
2018年,作者郝胜华、陈艳杰在《基于单片机的粮仓无线温湿度检测系统》中设计,通过温湿度传感器和无线收发模块传输温湿度,并通过报警系统有效防止温湿度过高或过低,采用LCD1602液晶显示器进行实时动态显示,实现了粮仓温湿度无线检测的目的,能有效防止粮仓温湿度的产生[16]。但该设计缺乏报警措施,安全性不高。
2019年,笔者徐爽在《基于单片机粮仓温湿度远程监控系统的设计》中基于MSP430设计,利用GSM无线通信技术和单片机技术实现与PC机或手机的远程通信,及时掌握和控制粮仓温湿度,粮仓管理方式将逐步实现智能化、集成化[17]。此外,还具有报警功能、显示功能和执行功能,便于人员管理和操作。这种设计虽然考虑了功能的多样性,但通风设备不能灵活调用,只能根据设定的阈值进行开关。
2019年,作者李明泽、李一涛、胡凯、石夏、禄玉兰在《基于52单片机的智能粮仓火灾报警系统设计》[18]。它采用ADC0832数模转换芯片,LCD1602显示屏,烟雾,设计并实现了温度传感器等组件对粮仓火灾的各种特性进行实时监测,从而满足生产对火灾报警的要求,而且系统成本相对较低,生产操作简单,很好的实现了火灾报警功能,具有很好的应用和实用价值。这种设计虽然符合推广的要求,但不能及时反映粮仓的情况。火灾发生后不易立即发现并立即采取相应的补救措施,缺乏一定的安全性。
综上所述,粮仓监测系统中人工预测过多、结构过于简单、功能单一、成本过高、监控点布线繁琐、不能依据特殊环境变化而设计监测阈值,当监测不及时都会带来不小的损失,所以设计一种更加智能、可靠、高效的粮仓监控系统是很有必要的。
1.2.3 研究现状综述
为了解决粮食在存储过程中发生不必要的损失为主,国内外都展开了相关的研究。国外进展很快并且保持相对的技术优势,在测温、报警、虫霉、粉尘等方向具有领先的地位。如今有线传感逐渐被无线传感取代,这个趋势正在慢慢加大。国外在这个方面也投入大量的精力、财力、人力,而国内虽然起步较晚,而且还存在人工检测导致谷物损失的现象,但是科研人员以及广大从事这方面的工作人员都在致力开发粮食数据监测的有关系统设计。总的来说国内外对粮食监测分以下几点。
(1)国内外都以粮仓环境监测系统的总体在以实际的生产生活中对粮仓进行监控为目的,努力提高监测水平为需求。
(2)国内外粮仓环境监测系统的采集部分适应需求方便为分散采集,而后便于采集数据集中处理与分析。
(3)国内外粮仓环境监测系统的测试从开始的有线通信走向无线通信,通信距离增大、采集节点功耗以及整体样机的综合性运行和试验系统的可行性提高。因此本设计在考虑各方面等因素设计一种可靠的粮食监测系统。
1.3 主要研究内容
现场采集终端进行传感器数据的采集,经过处理后发送给控制终端,与控制终端程序中的设定阈值进行对比。当大于设定阈值后,声光报警并且显示页面提示,并且对现场采集终端的风机控制,达到降温通风的作用。
系统硬件功能介绍如下:
(1)温湿度反馈功能:采用DHT11模块采集环境温度和湿度的数据;
(2)烟雾反馈功能:采用MQ-2模块采集环境烟雾气体浓度数据[19];
(3)显示功能:采用0.96寸IIC通信协议、分辨率为128X64的OLED屏显示各模块数据;
(4)无线通信功能:采用SPI通信协议的无线模块NRF24L01进行上现场采集终端的通信[20];
(5)报警功能:采用有源蜂鸣器、LED灯进行声光报警;
(6)阈值设定功能:采用轻触开关进行按键触发调整阈值参数;
(7)降温通风功能:采用5V直流电机模拟风机运行状态;
从符合本设计功能要求出发,考虑性价比、成本、安全、实用性、功能多样性等方面因素,确定以上功能实现方案。
2粮仓远程监控系统总体设计
2.1 系统结构设计
根据系统设计硬件分为控制终端和现场采集终端俩个部分,采用无线模块为俩个部分的无线通信枢纽。以单片机为核心,依据采集的多路温湿度、烟感的数据进行声光的报警,相关数据的显示。如图2.1系统框架图所示。
图2.1系统框架图
2.2 设计方案的选择
2.2.1 单片机的选择
微处理器在整个系统都处于举足轻重的地位,它不仅影响整个系统的性能,也决定着整个系统的设计开发难度。
单片机是一种集成电路芯片,如何选择单片机有以下方案。
方案一:目前市场上广泛采用STC公司生产的8051核微处理器。与STC89C52相比,它是新一代增强型微处理器。该指令码与传统的8051完全兼容,速度快了8到12倍,还有良好的加密性和较强的抗干扰性。
方案二:Tms370和MSP430系列由德州仪器公司生产。Tms370是一种8位CMOS微处理器,具有多种存储模式和外围接口模式,特别适用于复杂的实时控制情况;MSP430系列微处理器是一种功率损耗低、功能集成度高的16位微控制器。与Tms370系列微处理器相比,它基本上都是在低停电的情况下使用。
方案三:意法半导体研发生产的STM32系列基于ARM架构的嵌入式单片机,功能强大、功耗低等。
STC微控制器的加密性强,解密或破解困难;抗干扰能力强;低功耗。MSP430是一款16位微处理器,运行速度快,具有丰富的集成资源和两组具有中断功能的公共I/O端口;但是由于工作电压只有3.3V,对于很多5V的系统来说,接口电路就比较麻烦,如果没有保护电路的话,会损坏二极管和电路元件。STM32嵌入式单片机是前面8位机、16位机的升级版,各项功能进行了加强、增加了许多外设功能,但是价格比传统的STC单片机贵。
根据系统控制要求、性价比、实用性等因素,最终选用了STC公司生产的STC15W4K32S4微处理器。STC15W4K32S4微处理器安全可靠,低耗电。采用STC的第9代加密技术,命令代码和以往的8051微处理器可以共用,但他的速度是8051微处理器的8倍到12倍,省去了昂贵的外接晶振和外接复位电路。它集成了8路10位PWM和8路高速10位ADC通道,不需要外部ADC芯片就可以采集MQ-2有害气体检测传感器的信息。该功能完全满足设计要求。
图2.2 STC15W4K32S4芯片图(LQFP形式)
2.2.2 通信模块的选择
方案一:NRF24L01无线传感器模块是一种无线通信的芯片,工作的频率为2.4GHz。它采用GFSK调制,集成了Nordic的Enhanced Shock Burst协议。通信速度高达2Mbps,内部信号放大电路使模块在开放区域的数据传输距离达到1km以上。它提供了标准的SPI接口,方便了与单片机的接口,结合模拟控制终端的按键等部分,实现了对现场采集终端的远程无线控制。
方案二:Wi-Fi模块又称串行Wi-Fi模块,属于物联网传输层。它将串行接口或TTL层转换为符合非FIO网络通信模式的嵌入式模块,并具有嵌入式无线网络协议IEEE802.11b.G。N协议栈和TCP/IP协议栈,传统的硬件设备配备了WLAN模块,可以直接使用Wi-Fi接入互联网。
根据设计的要求,传输距离要远、数据传输速率快,在这里选择方案一,采用NRF24L01无线传感器模块。见图2-3。
图2.3 NRF24L01
2.2.3 降压模块的选择
方案一:线性稳压芯片--AMS1117-3.3,AMS117-3.3是一个低分辨率稳压器,用于输出电压为3.3V的前端,AMS1117稳压率高、设计简单,维护维修不方便。
方案二:开关电源芯片--LM2596-3.3,同样是一种输出电压为3.3V的稳压器。对比线性电源,它的体积和质量只有它的20~30%,但是效率高设计复杂,维护维修不方便。
考虑到在保证功能实现情况的下降低设计难度,选择方案一,见图2.4。
图2.4 AMS1117-3.3
2.2.4 显示模块的选择
根据系统的要求,以及功能的实现,能够准确显示实时的数据,操作简单。界面能够人性化。在这里我们有很多的选择:
方案一:选择数码管。数码管是根据LED灯按数字形状摆放而成的一款电子产品。数码管占用的I/O口多,一次性显示的数据需要多个数码管,当然也有多位一体的数码管,但是给占用整个系统资源较多。
方案二:选择OLED显示屏。在现有的市场上OLED屏一般有SPI、IIC通信的两款。OLED显示屏功耗小,体积小,占用I/O口少,分辨率为128x64,满足显示多组数据。
方案三:选择液晶LCD1602,驱动程序简单,但是缺点就是体积大,占用引脚多,同时不能显示汉字。
方案四:选择液晶LCD12864。液晶12864数据连接在占用单片机I/O口增加电路难度,体积大。
在这里考虑到降低硬件电路设计难度,选择方案二。见图2.4所示。
图2.5 OLED
2.2.5 温湿度模块的选择
温度湿度传感器是常用的传感器之一,即通过一定的测量仪器测量空气中的温度和湿度,测量温度和湿度,根据某些特定规律转换为电信号或其他输出信息,在很多行业中都有应用。
方案一:接触式。接触式温度传感器的检测部分与被测物体接触良好,也可以叫温度计。导电或对流,使温度计的值直接反映被测物体的温度和湿度,一般来说测量精度较高,在一定的温度和湿度允许范围内,也可以测量接触物体里面的温度和湿度的分布。然而,微小的目标或低热容物体将受到重大的测量误差。
方案二:非接触式。其敏感元件与物体不接触,称为非接触式温度计.该仪器可用于测量运动物体的表面温度,小目标和热容或快速(瞬时)体温变化,以及温度场的温度分布。
那么在这里选择方案二,使用非接触式的温湿度传感器DHT11。
图2.6 DHT11
2.2.6 烟雾传感器的选择
方案一:离子型烟雾传感器。它是一种十分发达、稳定并且可靠性高的传感器技术,在许多火灾报警系统有应用到了离子感烟传感器,其性能远远高于气敏火灾报警系统。
方案二:烟雾传感器。烟雾传感器能够检测固定气体,主要包括半导体气体传感器和接触式气体传感器。
根据设计要求,在这里选择方案二。使用气敏式烟雾传感器MQ-2。
图2.7 MQ-2
2.2.7 报警模块的选择
根据设计要求,按键需要有提示音,那么可以选择单片机驱动蜂鸣器。对于蜂鸣器的选择有俩种方案。
方案一:无源蜂鸣器。顾名思义,没有震源,不能由恒定信号引起,因此需要使用2K-5K方波,这就增加了编程的难度。
方案二:有源蜂鸣器。顾名思义,有一个内部震荡源,可以由直流信号驱动,虽然价格比无源蜂鸣器贵,但它符合设计。
虽然两者价格不同,有源蜂鸣器比无源蜂鸣器贵,因为里面有个震荡电路,所以它更符合设计要求。因此选择方案二,见图2.8所示。
图2.8有源蜂鸣器
2.2.8 风机型号的选择
按照工作电源的种类可以划分设计方案,如下:
方案一:直流电动机,它可以直接将直流电转变成机械能。它拥有良好的调速性能。
方案二:交流电机,它能将交流电的电能直接转变为机械能。交流电动机主要由定子绕组和旋转电枢或转子组成,电机是由磁场中通过电流线圈的力旋转现象制成的。
那么根据系统本身,显然选择方案一。
同时考虑的直流电机也分为无刷和有刷前者优点,运行声音小、无火花、寿命长、速度高。后者结构简单运行平稳,启停动效果好、控制精度高。综合考虑。为了提高用户的体验高,选择了直流无刷电机,见图2.9所示。
图2.9 5v直流无刷的电机
3粮仓远程监控系统的硬件设计
3.1 系统总体设计
本设计是以STCW15W4K32S4单片机控制中心,主要通过现场采集终端控制温度传感器DHT11得到的温度以及烟雾传感器MQ-2得到的空气中有害气体浓度,处理数据后上传给控制终端,判断是否超过设定好的安全阈值以此控制电风扇的开关、转速的变化、蜂鸣器以及LED工作。控制终端OLED实时显示现场采集终端采集得来的数据系统总体电路图如图4.2所示。见图3.1控制终端电路图所示。
图3.1 控制终端电路图
那么为了更好的实现粮仓管理,有三路检测温湿度、烟雾。实时检测处理,同样通过无线传感器与控制终端建立通信。当上电时,控制指令来自控制终端并且接受数据,现场采集终端只做数据的采集和接受控制指令。根据采集的数据一旦超过阈值时发送风机的控制指令,来控制现场采集终端风机的启动。见图3.2现场采集终端电路图所示。
图3.2现场采集终端电路图
3.2 主要硬件电路设计
3.2.1 控制核心电路设计
在设计温度控制时,控制核心为STC15W4K32S4单片机,采用8位单片机。
有38个IO端口包含32K闪存进程内存。它适用于电的即时擦除和重写、呼吸酒精测试、人体呼吸气味测试等。而且价格便宜,可以不需要接外部晶振电路以及复位电路。具体步骤:(1)使用ISP程序烧录软件设定主频频率为11.0592Mhz;(2)按键一端连接P5.4口(复位引脚),一端连接VCC。STC15W4K32S4单片机设计电路如下图3.3所示。
图3.3主控制电路图
3.2.2 通信模块电路设计
如图3.4所示,NRF24L01是一款独特的非FIO收发芯片,工作在2.4~2.5GHz的ISM频段,通信是通过SPI协议进行通讯的,也通过STC15单片机提供的SPI接口进行的。此外还要特别注意的就是NRF24L01的供电范围在1.9V-3.6V,因此外围电路使用ASM1117稳压芯片,提供3.3V的电源。控制终端2.4G连接单片机的P4.5(CE)、P2.7(SCK)、P2.6(MISO)、P2.5(IRQ)、P2.4(MOSI)、P2.3(CSN),现场采集终端与控制终端2.4G连接单片机的引脚一致,方便后续的调试。
图3.4 NRF24L01电路图
3.2.3 显示电路设计
如图3.5所示,控制终端采用显示模块为IIC通信协议的OLED屏幕,因此可以直接连接STC15单片机含有IIC端口的I/O口来实现通信。或者直接采用软件模拟的方式,这样引脚的选择就不局限与只有含IIC外设的端口了。在本系统中选择模拟的方式,连接单片机P3.3(SCL)、P3.4(SDA)。
图3.5 OLED显示电路图
3.2.4 降压电路设计
如图3.6所示,NRF24L01的供电范围在1.9V-3.6V,因此在5V输入电源后加上3.3稳压电路,采用Ams1117-3.3调压芯片提供3.3V电源,并在进出口两侧增加滤波电容以保证稳定性。
图3.6 AMS1117-3.3V降压电路图
3.2.5 温湿度模块电路的设计
DHT11模块是一种非常常见的温度和湿度传感器模块,采用单总线通信方式,连接控制终端单片机的一个I/O口即可接收采集信号以及发送采集数据,采用电源模块5V电源供电,分别连接单片机的P1.3、P1.4、P1.6口。如下图3.7所示。
图3.7多路温湿度传感器电路图
4粮仓远程监控系统软件设计
4.1 主程序流程
如图4.1所示,系统通电后,程序初始化。各个模块分配的微处理器资源寄存器以及变量复位。当稳定后,处理器收集模块采集外界的数据并运算处理,经过NRF24L01无线传感器模块把数据由现场采集终端发送到控制终端。现场采集终端的无线通信模块的要调整在发送模式,及时的把传感器的数据发送给控制终端,而控制终端的无信通信模式调整在接收模式,及时接收传感器的数据,进行处理后显示在OLED上。
图4.1主程序流程图
4.2 无线通信子程序
如图4.2所示,NRF24L01无线传感器使用前,需要编程设置好通信地址,数据包位宽以及发送接收的内容,模块收发模式,经过一系列初始化后,发送现场采集终端的处理好的数据给控制终端,同时现场采集终端也随时准备接收控制终端的指令进行参数调整。模块的收发模式要及时切换,提高数据的通信成功率。
图4.2无线通信子程序
4.3 显示子程序
如图4.3所示,OLED显示屏采用IIC通信协议,对通信的I/O配置为准双向口模式,模拟IIC的时序,通过读写字节进行初始化的通信,成功通信后,显示基本的字符串,实时接收来微处理器处理过后的显示数据,更新在显示屏上。
图4.3显示子程序
4.4 温湿度子程序
如图4.4所示,DHT11是单总线协议,对I/O口进行准双向口设置,首先进行通信初始化,再连续的接收模块采集的温湿度数据。存储在数组中,待到要显示时,从数组里面取出来,分别对每一位进行精准的显示。