0 引 言
我国是农业大国,作物收成及蔬菜等农作物的产量直接影响国民生活质量水平,亦关系到农产品价格[1]。作物生长过程中,温度及土壤湿度起着至关重要的作用。在苗木培育过程中,最值得考虑的问题就是,如何利用现代先进技术,改进农业的灌溉技术。合理的灌溉可以促进植物的健康生长,特别是对一些需水量特别大的植物。合理的灌溉,既可以促进植物的生长,增加苗木的产量,还可以节约日益紧缺的水资源。
随着物联网技术[2]的不断发展,越来越多的技术应用到农业生产中。目前,物联网技术逐步应用到了智慧农业建设中,提高了农业生产的管理效率,提升了农产品的附加值,加快了智慧农业的建设步伐。目前,利用RFID、无线数据通信等技术采集农业生产信息,以及时发现问题,准确地确定发生问题的位置,使农业生产自动化、智能化[3],并可实现远程控制,这是当前智慧农业的发展方向。
本系统设计了一套无线农林数据采集控制装置。系统分为收发两部分,其核心都采用ARM LPC2378作为处理器,数据的无线收发通过射频模块nRF905实现。系统设计了友好人机交互界面,以便于工作人员随时监控数据,并对异常数据进行相应处理。
1 系统总体设计方案
系统由上位机和下位机两部分构成[4]。上位机由核心板和射频模块构成,通过射频模块nRF905采集农林环境监测数据,并将数据实时地通过LCD屏动态显示,以便人们进行监测,并根据具体环境数据进行控制[5]。
下位机系统包括四大部分:处理器单元,传感器单元,射频模块单元和执行模块单元。处理器单元为NXP LPC2378,传感器单元包括农林温度检测和土壤湿度检测;执行模块单元连接电磁阀,通过上位机的控制信号打开电磁阀,实现农林灌溉。下位机结构框图如图2所示。
温度传感器采用DS18B20,用于检测农业环境温度[6];土壤湿度传感器采用YL?69,检测土壤相对湿度。系统每30 s循环采样一次,将采样数据通过射频模块发送出去。
上位机处于等待接收数据状态,如果射频模块检测到同频段射频信息,且发送地址和接收机地址一致,则射频模块会接收数据。一帧数据接受完毕后,CPU通过SPI总线读取数据,并处理数据,将数据信息实时地显示于人机交互界面LCD屏。
一旦上位机检测到环境数据有异常,则意味着当前环境不利于作物生长,上位机会给出相应的提示信息,提示事件处理。操作者通过LCD触摸屏给出控制信息,通过上位机的射频模块发出,下位机接收到这个控制信息,触发执行装置,执行相应的任务,来改善当前的农业环境。
2 系统设计
收发系统分别以ARM处理器LPC2378为核心,供电电源为3.3 V,射频模块通过SPI接口和核心板连接,实现收发数据和处理器的交互[7]。
2.1 nRF905简介
nRF905是单片射频发射芯片,可实现高速率的数据传输,工作速可达50 Kb/s,高效GFSK调制,抗干扰能力强,特别适合工业控制场合;在开阔地带,传输距离可达300 m,具体距离视情况而定;接收灵敏度高,125个频道可满足多点通信和调频通信的需要;低功耗的工作方式,一般使用3.3 V电源供电,待机模式状态下电流仅为2.5 μA,收发模式可自由切换,转换时间<650 μs;芯片内置寄存器,可以软件设置地址,只有在接收到本机地址后,才会接收相应数据。
nRF905的工作模式有四种:掉电模式,SPI模式,发射和接收模式。模式的设置由其3个引脚决定,通过编程进行控制。其工作模式见表1。
表1 nRF905工作模式设置
2.2 nRF905软硬件设置
nRF905模块[VCC]供电电压为3.3 V,其他引脚可以和5 V的I/O口直接相连,3 V左右的I/O口更加适用。本系统核心单元模块工作电压为3.3 V,因此,模块和核心板可以直接相连。SPI接口直接连接核心板SPI模块接口,控制引脚及信号检测引脚直接连接GPIO端口,nRF905接地引脚和模板逻辑地连接,[VCC]和母版上输出电压为3.3 V的接口直接相连,尽量简化电路。
通过配置nRF905内部寄存器,可以设定收发频段、本地地址、每帧数据长度和数据校验类型等。设置的数据通过SPI总线直接写入nRF905的配置寄存器。
nRF905的SPI总线的工作特点是片选低电平有效。在第一个SCK的上升沿开始读取数据,数据的采样在上升沿进行,输出在下降沿进行。数据的输出输入是高位在前,低位在后。在软件里,SPI的工作方式设定为0,高位在前。LPC2378 SPI模块的工作特点是作为主机,SPI通过MOSI向外部写数据的同时,会从MISO读取数据,主机的读写是一个函数。
Uint8 spiwriteread(uint8 data)
{
S0SPDR = data;
While(0==(S0SPSR &0X80));
Return(S0SPDR);
}
nRF905发送程序设计:
(1) 工作模式设定为SPI,写配置寄存器,写接收机地址,写发送数据。
(2) 把工作模式改为发送模式,发送地址及数据。
(3) 检测发送信号:数据发送完毕时,DR引脚会自动置高。通过判定DR引脚的电平状态判断数据是否发送完毕。
数据发送完毕之后,DR引脚会自动置高,通过等待语句‘while(DR==0);’等待数据发送出去。当DR引脚置高之后,延时一段时间,引脚会自动变低。发送流程图如图3所示。
图3 发送数据流程图
nRF905接收程序设计:
(1) 工作模式设定为SPI,写配置寄存器,写接收机地址。
(2) 等待接收数据。检测到同频段波段,CD自动置高;检测到地址相符,AM自动置高;接收完一帧数据,DR自动置高。
(3) 通过判定CD,AM,DR引脚的电平状态,判定数据是否接收完毕。
(4) 通过SPI总线将数据传送给主机。
接收数据流程图如图4所示。
写完配置信息后,nRF905会检测同频段的波段,发送及接收端都设置为433 MHz。检测到之后,CD引脚会自动置1。之后,会对比发送地址是否和本地地址一致,如果地址不一致
,则不接收数据;如果地址一致,DR引脚会自动置1,而后把接收到的数据存储到数据寄存器中,接收完数据,DR引脚自动置1。程序通过判定此3引脚的状态来判断数据是否接收完毕,语句while(DR||CD||DR)用于等待这3个引脚全部置高,之后切换为SPI状态,主机读取所接收到的数据。适当延时之后,这3个引脚状态会自动变为低电平。
在设计软件的时候,需要注意状态之间切换的延时时间要大于650 μs。延时时间不够,可能无法接收到正确的数据。状态切换参看表1。
2.3 传感器装置的设置
下位机模块连接各种农林环境检测传感器,包括温度检测和土壤湿度检测。
LPC2378拥有丰富的内部资源及较多的外部接口,各传感器的运用技术成熟,电路连接简单。
系统中温度传感器采用DS18B20,DS18B20是常用的温度检测传感器,温度分辨率可达0.062 5;引脚有3个,[VCC,]GND以及数字输入端;供电电压为3~5 V。传感器3个引脚通过导线连接,[VCC,]GND和母板直接相连,数字输入端和GPIO端口直接连接。
土壤湿度传感器模块采用YL?69,其探头直接插入土壤中,通过土壤中水分含量的多少改变阻值,从而改变输入端电压值GND和母板直接连接,AD输入端与母板AD通道直接连接。LPC2378内部包含AD转换模块,每个模块都有8个AD 输入通道,所以不用外置AD转换模块,直接连接即可。电路连接简单方便,软件设计容易。
传感器模块设定每30 s循环检测一次,依次将检测到的数据通过射频发送出去。
2.4 执行装置的设置
执行模块的作用是驱动电磁阀,使继电器闭合[8],从而实现自动灌溉控制。驱动电路如图5所示。
图5 电磁阀驱动电路
其中,[T1]是电平交换,[T2]是功率驱动级,D1是并接在电磁阀线圈两段的阻尼二极管,用以防止驱动管[T2]击穿损坏。
通过GPIO输出高低电平,从而控制继电器的闭合[9]。
3 结 语
本系统实现了智能农业系统无线数据采集系统硬件设计的精简,减少了布线麻烦[10]。系统可根据检测到的土壤湿度状况控制灌溉。系统硬件设计采用低功耗设计,通过修改相关控制寄存器的参数使主控板处于低功耗模式,nRF905在空闲模式及SPI模式时处于省电状态,低功耗的设计使系统工作时间更长。数据采集系统的硬件装置和灌溉装置集于一体,很大程度上减少了硬件装置。通过对灌溉装置的正确选择,可以将系统用于蔬菜大棚灌溉、草坪灌溉、农田灌溉等多种场合,应用前景良好,具有一定的应用推广价值。
参考文献
[1] 李萍.智能农业系统中感知适配网关的研究与设计[D].杭州:浙江理工大学,2011.
[2] 孙其博,刘杰,黎羴,等.物联网:概念、架构与关键技术研究综述[J].北京邮电大学学报,2010,33(3):1?9.
[3] 何茜.自动化控制技术在农业生产中的应用[J].科技创业家,2014(1):189?189.
[4] 王艳芳,任胜杰,李智强.Profibus总线在智能温室监控系统中的应用[J].机床与液压,2010(4):64?68.
[5] 王威,马俊,叶鹏.基于nRF905的温湿度无线监测系统设计与实现[J].电子测量技术,2013(10):99?103.
[6] 王战备.室内温度多点检测系统设计[J].信息技术,2011(1):20?22.
[7] 李萌,杨彬,陈维琨.基于ARM的嵌入式工业无线网关的设计[J].自动化仪表,2013(9):29?32.
[8] 陈光宇.继电器箱步进继电器线包供电改进[J].有线电视技术,2012(11):81?82.
[9] 张兆明.基于AT89S52单片机的自动温控电风扇设计[J].现代电子技术,2009,32(3):108?110.