基于μC/OS的作物生长环境信息采集装置设计

2013-10-20 04:54关蓓蓓田立国程晓亮陈高丽
天津职业技术师范大学学报 2013年3期
关键词:嵌入式处理器作物

关蓓蓓,田立国,李 猛,刘 刚,武 海,程晓亮,陈高丽

(天津职业技术师范大学,天津市信息传感与智能控制重点实验室,天津 300222)

精准农业的基本涵义是根据作物生长的环境状况,调节对作物的投入,以最少的投入达到同等收入或更高的收入,并改善环境[1]。作物生长环境是一个复杂的生态系统,包括温度、湿度、光照、CO2浓度、风速等多种环境因子,动态、实时、精确的作物生长微环境信息对现代农业特别是精准农业的发展越来越重要。

传统作物生长环境信息采集工程中,一般都是利用各种测量仪表人工在现场逐项进行数据采集,所运用的采集装置也是以单片机为核心的简易装置,不仅存储容量小,而且采集到的数据精确度低。本文基于μC/OS-Ⅱ嵌入式系统、多种传感器、液晶显示技术以及大容量信息管理技术等,设计出新型的作物生长环境信息采集装置[2]。该装置能够获取基于植物生长柜环境下影响作物生长的各种环境参数以及多种实时动态微环境信息,继而进行相应的数据处理、存储、传输及显示,为精准农业的实施提供数据支持。

1 系统总体结构

在植物生长柜内,影响作物生长的环境信息主要包括温度、湿度、光照、CO2浓度、风速等,这些信息对作物的生长起着重要的作用。作物生长环境信息采集装置主要完成对作物生长微环境信息的采集、预处理采样以及数据传输3项基本功能。本文依据植物生长柜内环境信息获取过程中高密度、高准确度、低成本和低功耗等特点,设计了一套基于μC/OS的作物生长环境信息采集装置,该装置以嵌入式处理器STM32F103VE为核心,配置相应的传感器模块、数据传输模块、液晶显示模块以及电源模块等,既可以单独使用进行数据的采集、处理和显示,也可以通过3种通信方式与远端计算机进行通讯和传输。该装置的总体框图如图1所示。

图1 作物生长环境信息采集装置系统框图

2 系统硬件设计

作物生长环境信息采集装置的硬件组成部分主要包括微处理器模块、传感器模块、数据传输模块、液晶显示模块及电源模块等,完成作物生长微环境信息的采集、预处理以及传输。

2.1 微处理器模块

微处理器采用以Cortex-M3为内核的32位处理器STM32F103VE,该处理器是最新一代的嵌入式ARM处理器,具有高性能、低功耗、实时应用、成本低等优势,具有12位的16路A/D采样通道,最高频率可达72 MHz,此外该处理器还具有丰富的通信接口,满足了整个装置的功能要求[3]。

2.2 传感器模块

该作物生长环境信息采集装置主要配置了以下几种传感器模块:

(1)冠层温度传感器。选用非接触式的TNR红外测温传感器TN901,通过测量作物自身辐射发出的红外能量准确地测定作物的冠层温度。其温度测量范围为-33~220℃,精度达到±2%,输出数字信号。

(2)叶层温湿度传感器。选用湿温度一体化数字传感器DHT11,该传感器包括一个NTC测温元件和一个电阻式测湿元件,通过与处理器简单的电路连接就能够实时的采集湿度和温度,DHT11功耗低,5 V电源电压下,工作平均最大电流0.5 mA。

(3)光照度传感器。选用数字式串行输出型环境光传感器BH1710FVC-TR,该传感器对环境光线具有较强的灵敏度,内含A/D转换器件,数字式输出,量程最大可达65536 Lux,工作电源电压为2.4~3.6 V。

(4)CO2传感器模块。采用BM1000-CO2二氧化碳传感器。BM1000-CO2是一款室内空气质量检测变送器,专用于测量空气中的二氧化碳气体,具有良好的性价比,采用进口先进红外技术传感器,工作更加稳定可靠。

(5)风速传感器。选用TSI风速传感器,采用热风力测定技术,对低风速具有良好的灵敏度,对气流反映时间仅为0.2 s,量程范围为0.5~50 m/s,模拟信号输出。

2.3 数据传输模块

数据传输有RS-485串行总线传输、ZigBee无线传输及SD卡存储传输3种传输方式,便于农作物生长微环境信息的数据上传及查询。

(1)RS-485通信。RS-485协议采用差分信号进行传输,最大传输距离可以达到1.2 km,是针对远距离、高灵敏度、多点通讯制定的标准。

(2)ZigBee无线通信。ZigBee是一种新兴的短距离、低功耗、低数据速率、低成本、低复杂度的无线网络技术,其在农业中的应用越来越广泛[4-5]。本装置采用ZigBee无线通信芯片CC2530,通过串口与处理器STM32F103VE进行数据传输并进行无线转发,将数据传送到远端的终端计算机,完成对数据的处理,电路原理图如图2所示。

(3)SD卡数据存储。SD卡是基于半导体快闪记忆器的新一代记忆设备,拥有高记忆容量、快速数据传输率、极大的移动灵活性以及很好的安全性。本装置配置SD卡用于定时存储采集到的数据,以便当通信线路发生故障时,也能够进行数据查询,SD卡与处理器模块采用SPI通信方式连接,其电路原理图如图3所示。

2.4 液晶显示模块

为方便工作人员现场查看各种测量参数,作物生长环境信息采集装置配置了一个4.3寸TFT彩屏模块,带有触摸功能,并利用μC/GUI编写了相关的人机界面,可以实时查看各种传感器的工作状态及测量参数的实时设定。

3 系统软件设计

传统的嵌入式系统软件设计中大都采用单任务、程序顺序执行的模式,不带有操作系统。这样就容易带来很多问题,如编程复杂、可维护性较差等,最为关键的是系统的实时性得不到保证。μC/OS嵌入式系统与传统的单片机的最大区别就是引入了操作系统,通过前期操作系统的移植工作,后期的应用程序的开发可以直接在操作系统上进行,而单片机则所有程序需要重新编写。另外,在传统的单片机开发中大多是基于中断的前后台技术,对多任务的管理有局限性。μC/OS嵌入式系统通过引入进程的管理调度系统,使系统运行更加高效。

图2 ZigBee无线通信模块电路原理图

图3 SD卡数据存储模块电路原理图

公开源码的μC/OS嵌入式多任务实时操作系统提高了软件开发的效率并使系统的扩展性能和移植性得到提高。在此基础上,通过移植μC/GUI图形界面系统,设计友好的人机界面,方便用户对数据信息的查询。软件系统整体结构框图如图4所示。

图4 软件系统整体结构框图

3.1 μC/OS嵌入式实时操作系统

μC/OS-Ⅱ是一个嵌入式多任务实时操作系统,它的主要特点是源代码公开,并且具有执行效率高、占用空间小、实时性优良以及可扩展性强等优点[6]。μC/OS-Ⅱ是一个基于优先级的实时多任务操作系统,最多可以有56个应用程序任务,每个任务的优先级不同,对于实时性和稳定性要求较高的数据采集系统来说,引入μC/OS-Ⅱ能够大大改善其性能,极大地方便了系统多功能化设计。

基于μC/OS的作物生长环境信息采集装置,根据整个装置所需要实现的功能和要求进行系统任务分割,并根据实际需要为各个任务分配优先级。系统整体上分为如下几个任务:主任务、各通道的数据采集任务、显示任务以及包含在数据采集任务中的通信任务。对于每个任务,编写相应的应用开发程序,最终实现对影响农作物生长的各种环境参数以及多种实时动态微环境信息的采集,为精准农业的实施提供数据支持。

3.2 μC/GUI图形界面系统

μC/GUI是一种用于嵌入式应用的图形支持软件,它被设计用于为任何使用一个图形LCD的应用提供一个有效的不依赖于处理器和LCD处理器的图形用户接口[7]。将μC/GUI图形界面系统移植到本作物生长环境信息采集装置中实现人机交互也是与传统方式运用单片机进行信息采集的区别之一。运用单片机进行信息采集,只能进行简单的数据显示,无法实现人机交互。而μC/GUI完全是以ANSIC编写的,可以方便地工作于单任务和多任务环境下,具有非常好的移植特性和可裁减性。针对具体应用,只要编写好LCD的驱动程序,通过对相应配置宏的设置,就能很轻松地将μC/GUI嵌入到具体的应用装置中。该装置的人机交互界面采用层次化的结构,根据各个功能的划分选择多级菜单的显示方式,主要包括开机界面、“一级界面”和具体的“二级界面”,所设计的GUI人机界面层次结构如图5所示。

图5 GUI人机界面层次结构图

3.3 应用程序的软件实现

系统运行主程序设计流程图如图6所示。

用户应用程序是整个软件系统中的核心部分,负责作物生长环境信息的采集、处理、传输以及显示等功能,通过移植μC/OS操作系统和μC/GUI图形界面系统来实现。具体包括系统主程序、传感器数据采集子程序、数据传输通信子程序和作物生长环境信息显示子程序4部分。

图6 作物生长环境信息采集主程序设计流程图

系统上电后先执行的是主函数程序,主函数首先进行硬件平台的初始化,包括I/O口、串口以及各种传感器。硬件初始化完成后再初始化μC/OS-II与μC/GUI,主要配置一些μC/OS-II和μC/GUI所需参数,初始化完成后就可以创建任务:首先创建主任务,接着由主任务创建相应的子任务,如人机界面子任务、数据采集子任务、数据传输子任务等。任务创建完成后启动任务,到这里主函数的任务已经完成,最后将控制权交给操作系统,实现作物生长环境信息采集装置的功能要求。

3.4 传感器数据采集子程序

作物生长环境信息采集装置配置的传感器模块的输出信号分为数字和模拟2种。模拟信号为0~5 VDC标准电压信号(CO2浓度风速),可以直接与处理器的模数转换接口ADC相连,通过相应的A/D转换函数完成信息采集,该装置的ADC处理任务函数如下:

其他输出数字信号的传感器(如温湿度、温度、光照等传感器)由于信号标准不统一,需要按照其相应的通信协议编写程序,完成数据的采集。

3.5 数据传输通信子程序

在数据传输的3种方式中,RS—485与ZigBee无线通信都是采取串口与处理器连接,程序中只需完成相应的串口配置就能进行串口通信,其串口配置函数如下:

3.6 作物生长环境信息显示子程序

作物生长环境信息显示子程序实时地在液晶屏上显示各种作物生长环境信息。根据菜单选项,可以选择显示相应的画面;选择系统设置菜单,可以设置系统工作方式以及通信方式;选择信息采集菜单,可以设置相应的传感器参数、信息采集参数等;信息显示区域提供了冠层温度、叶层温湿度、CO2浓度、光照度、风速以及时间等信息的实时显示;系统说明菜单,提供了简要的作物生长环境信息采集装置说明。

4 结束语

基于μC/OS的作物生长环境信息采集装置,将低成本、高效率的智能化设备应用于植物生长柜内作物生长环境信息的采集,集成了多种作物生长环境信息的采集功能,通过移植μC/GUI图形界面系统,实现了智能化的人机交互。不仅为精准农业的实施提供了实时数据支持,而且用信息技术来提升改造传统农业,推动中国传统农业向精准农业稳步持续快速地发展。该装置充分利用了μC/OS操作系统的可操作性强、经济效益高、设备投入和数据传输成本低、存储容量大等优点,但是该装置只是采集了单一节点的作物生长环境信息,没用形成网络覆盖,这将会成为今后研究过程中的新课题。

[1]刘爱民,封志明,徐丽明.现代精准农业及我国精准农业的发展方向[J].中国农业大学学报,2000(2):24-29.

[2]徐宝国,宋爱国.基于UCOS和UCGUI的嵌入式数字示波器[J].测控技术,2007,26(7):7-8,28.

[3]李宁.基于MDK的STM32处理器应用开发[M].北京:北京航空航天大学出版社,2008.

[4]刘原,宋良图.基于ZigBee技术的农业信息无线数据传输[J].自动化与仪器仪表,2006,5:21-25.

[5]DING G,SAHINOGLU Z,ORLIK P,et al.Tree based data broadcast in IEEE 802.15.4 and ZigBee Networks[J].IEEE Transactions on Mobile Computing,2006,38 (11):1561-1574.

[6]JEANJLabrosse.嵌入式实时操作系统μC/OS—Ⅱ[M].2版.邵贝贝,译.北京:北京航空航天大学出版社,2003.

[7]μC/GUI Graphical User Interface with Graphic Library Manual Rev.0[M].New York:Micrium Technologies Corporation,2006.

猜你喜欢
嵌入式处理器作物
Focal&Naim同框发布1000系列嵌入式扬声器及全新Uniti Atmos流媒体一体机
作物遭受霜冻该如何补救
四种作物 北方种植有前景
内生微生物和其在作物管理中的潜在应用
TS系列红外传感器在嵌入式控制系统中的应用
作物遭受药害的补救措施
搭建基于Qt的嵌入式开发平台
ADI推出新一代SigmaDSP处理器
倍福 CX8091嵌入式控制器
火线热讯