胡古月,黄丽华
(南京农业大学工学院,江苏南京 210031)
温室、大棚等设施农业生产过程中,温湿度的实时收集与控制管理是优质、高产农作物栽培的重要环节。温湿度传感器一般以有限传送的方式传输数据,存在传输线路复杂,不适合大范围放置,线路易老化而影响数据的可靠性,连接维修成本昂贵等问题。温度传感器与湿度测量器属于20世纪90年代兴起的产品。湿度传感器分为电阻式与电容式2种,产品的形式都是基片上涂覆感湿材料形成感湿膜。近年来,国内外在湿度传感器研发领域取得了较大的发展,湿敏传感器从简单的单一元件向集成化、智能化、多参数检测的方向迅速发展。国内外厂家的温湿度传感器产品水平不一、价格参差不齐。就国内市场而言,湿度传感器以电容式湿敏传感器较为多见。目前,国外已相继推出高精度、高分辨力的智能传感器,如由美国DALLAS半导体公司新研制的DS1624型高分辨力智能传感器,能输出13位二进制数据,其分辨力高达0.031 25℃,测量精度为±0.2℃。另外,智能温湿度传感器正从单通道向多通道方向发展,而总线技术也实现了标准化、规范化,如使用I2C总线、SMBUS总线、SPI总线等。随着价格低、集成度高的无线模块的不断问世,使用无线通信技术传输数据已成为可能。基于STM32的温室温湿度采集系统包括温湿度传感器、串口模块、无线模块,以及上位机模块。2个无线模块通过单片机将采集到的数据通过串口传输到PC机中,再由上位机显示实时数据,从而达到实时采集、无线传输与在线监控的目的。实验虽以温室为例,但因其简便性,具有较好的可移植能力,可以移植到其他工作环境中。
本系统由一个主机与2个单片机组成,系统原理框架由图1所示。上位机由STM32单片机、无线模块、天线、电源模块、时钟模块、终端设备,以及串口通信模块组成。在上位机系统下,STM32单片机作为主控单元,通过接收无线模块从下位机发送过来的温湿度数字信号,经过串口通信模块与终端设备进行通信,数据进入 PC机,由LABVIEW编写的上位机显示出相应数据。下位机由控制芯片STM32单片机、无线模块、电源模块、时钟模块组成。下位机系统中,由温湿度传感器DHT21分别对温湿度进行实时采集,采集的数字信号经过主控芯片STM32单片机的处理由无线发送模块nRF24L01将温湿度数字信号发送到上位机系统中。
DHT21数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合传感器。应用专用的数字模块采集技术和温湿度技术,使产品具有极高的可靠性和长期的稳定性。DTH21为4针单排引脚封装信号传输距离可达20 m以上。
图1 基于STM32的温室温湿度采集系统的整体结构
STM32系列基于专为高性能低成本的嵌入式专门设计的ARM Cortex-M3内核,替代M3内核,该系列处理器融合了16位单片机的优点,具有低功耗、低成本等特点。增强型系列更是达到时钟频率72 MHz,能够实现高端的运算。二外设则带来出众的控制和联接能力。采用哈佛结构、单周期乘法指令和硬件除法指令,与ARM7TDMI相比,运行速度可加快35%,而代码最多可节省45%。系统选用STM32F103RBT6作为MCU,使用这款主要是其优秀的性价比,其最小系统拥有128KB FLASH、20KB SRAM、51个可用I/O脚和4个16位定时器等,这样的配置无论放到哪里都是很不错的,更重要的是其价格低廉,所以选择其作为我们的主芯片。STM32单片机在系统中,接受无线射频模块发送的信息,并通过另一块STM32单片机控制无线射频模块发送接收到的温湿度数字信号。本系统设计最初宗旨是使其可以方便运输与使用,STM32这款单片机最小系统模块大小适中,并且便于拆卸与组装,易于携带。
nRF24L01是一款新型单片射频收发一体器件,工作频段为2.4~2.5 GHz ISM频段。其内部包括频率发生器、增强型“SchockBurst”模式控制器、功率放大器、晶体振荡器、调制器和解调器。具有极低的电流消耗,在发射模式下发射功率0 dBm时电流消耗为11.3 mA,接收模式为12.3 mA,掉电模式和待机模式下电流消耗更低。本系统中nRF24L01模块,2块都与单片机相连,执行接受与发送信号的功能。具有自动应答和自动再发送功能,如果要实现可靠传输,就必须用户程序设计,事实上这种方式能更好地实现可靠传输。对于农田或温室这种变化较大的环境下,信号传输的稳定是决定工作人员是否对农作物进行调控的决定性因素。所以,nRF24L01可靠的稳定性和自动应答功能,可使用户得到较为可信的数据。模块原理如图2所示。
图2 无线发射模块的工作原理
系统中单片机及温湿度传感器采用5 V供电,无线模块采用3.3 V供电,为了保证两者信号传输的可靠性,设计了电平转化电路,分别如图3和图4所示。
图3 单片机5 V供电的电路
图4 无线模块3.3 V供电的电路
系统采用Labview作为上位机开发软件。Labview是一种程序开发环境,由美国国家仪器(NI)公司研制开发,使用图形化编辑语言G语言编写,产生框图形式的程序。作为一款虚拟仪器开发软件,Labview是通用编程程序,是一种用图标代替文本创建应用程序的图形化编辑语言。Labview的核心为数据流,采用数据流编程方式,根据节点的数据流向编写程序。作为一款面向最终用户的工具,它增强了创建用户自己的科学和工程系统能力,提供了实现仪器编程和数据采集系统的便捷途径,因此,提高了工作效率。系统上位机控制界面如图5所示。
图5 上位机控制的界面
温湿度数据经过无线传输模块的传输,单片机的解析后,通过串口由单片机传送给PC上位机,上位机对数据进行分类后在虚拟仪器中显示出来,当数据达到或超过环境所需最大容量时,报警器即亮红灯,提示温度或湿度过高,需要相关人员进行调节。当采集次数等于预设次数时,系统停止采集,否则一直进行采集直到结束按钮被按下为止。
本研究是基于STM32的温湿度采集系统,并实现数据的无线传输。通过小规模试验验证,在封闭环境下,系统采集数据稳定、可靠,可将系统移植于温室大棚中,检测温室大棚中温湿度的变化。
试验采用400 mm×400 mm×400 mm的正方体塑料盒,上方放置6只1 W灯泡。将传感器采集节点模块分别放置在容器中节点1,2,3,4和5中 (表1),输入程序连续采集数据10次,通过PC上位机观察具体数据。
闭合电灯开关,带盒中温度稳定后接通传感器节点采集模块电源,并观察上位机数据,具体结果见表1。表1 系统各节点测试的温度和相对湿度
传输距离/节点1 m节点2节点3节点4节点5温度/℃湿度/%对照温度/℃温度/℃湿度/%对照温度/℃温度/℃湿度/%对照温度/℃温度/℃湿度/%对照温度/℃温度/℃湿度/%对照温度/℃10 59 40 60 58 41 60 56 39 55 40 41 41 41 40 41 20 58 40 60 57 41 60 52 40 55 42 41 41 41 41 41 30 59 41 60 59 42 60 52 40 55 39 40 41 40 39 41 40 57 42 60 59 40 60 51 42 55 41 42 41 40 38 41 50 0 0 60 0 0 60 0 0 55 0 0 41 0 0 41
试验结果表明,基于STM32的温室温湿度采集系统,具有操作方便,结构简单,上位机操作界面人性化,采集的数据稳定、精确等优点,且无线接收,可大幅降低成本,能够基本满足采集要求,具有较好的应用前景。但系统也存在一定的问题,如传输距离超过40 m时数据无法显示,或者数据传输不精确;需不同位置多次采集,才可以得出环境平均温湿度。如何通过使用其他型号模块来试图加大距离,以及系统采集数据功能的完善,尚待进一步研究。
[1]朱玉颖,蔡占辉.基于nRF24L01的远程温度检测系统设计[J].自动化技术与应用,2010(5):56-58.
[2]吴成东,孙秋野,盛科.LabVIEW虚拟仪器程序设计及应用[M].北京:人民邮电出版社,2008.
[3]孟臣,李敏.数字式温湿度传感器原理与应用 [J].世界电子元器件,2003(8):66-68.
[4]谭浩强.C程序设计 [M].北京:清华大学出版社,1991:7.
[5]塞尔.无线通信设备与系统设计大全[M].张之超,黄世亮,吴海云,译.北京:人民邮电出版社,2004.