基于Cortex M3果蔬大棚管理系统的设计
2013-06-25赵勇,刘伟
赵 勇,刘 伟
(渭南师范学院物理与电气工程学院,陕西渭南714000)
0引言
随着农业现代化技术的发展和果蔬大棚的大批量种植,开发一种针对果蔬大棚的智能化监测系统,以提高果蔬产量和质量是农业发展的必然趋势.本设计以渭北温室大棚大面积种植特点,采用Cortex M3微处理器来监测大棚温度、湿度及CO2浓度等参数,并及时将所监测的数据信息传送到计算机终端.该设计具有操作便捷、能连续测定、实时等优点,方便可靠.[1]同时,该系统还可实现棚内自动通风、自动喷淋灌溉、自动光照调节等智能控制或报警功能.
1 系统总体设计
系统以ST公司的微处理器STM32F103为控制核心,实时采集大棚内的温、湿度及CO2浓度的变化,并将得到的数据通过CAN总线发送到计算机终端,供农业专家研究.同时,可通过采集温度、湿度变化数据来控制大棚内的喷淋装置和通风装置,调节大棚的环境.通过按键预设定系统的各个参数上下限值,使管理人员实时了解大棚内的环境信息.系统框图如图1所示.
图1 系统硬件框图
2 硬件系统设计
2.1 Cortex M3 STM32F103微处理器
STM32F103是ST公司推出的基于ARMv7体系架构的处理器核,具有高性能、低成本、低功耗等特点.STM32系列芯片使用高性能的ARM Cortex M3 32位的RISC内核,工作频率为70 MHz.内置高速存储器(高达512 K字节的闪存和64 K字节的SRAM),丰富的增强I/O端口和联接到两条APB总线的外设.本设计中,采用该处理器主要实现采集外部传感器的数据并完成上位机发出的指令,[2]以及人机交互功能中的触摸屏控制.
2.2 土壤湿度传感器模块
该传感器采用FC-28型土壤湿度传感器,其湿度上下限可通过键盘设定,当湿度高于设定湿度时,启动抽湿机、通风等设备;湿度达到设定湿度时自动停止;湿度低于设定湿度时,启动喷淋装置.湿度传感器模块与STM32F103的连接电路如图2所示.在判断湿度的时候,由于大棚面积较大,为了防止误判情况发生,可在大棚内多处设置实时采集各点的湿度信息,在微处理内通过软件做中值滤波处理,即将各点采集的值做算术平均,将平均的结果作为判断依据,这样的处理能减少误判发生.系统下阶段设计将采用无线传感网络的定位功能,可通过埋在土壤下各节点的湿度传感器传来的信息,直接定位大棚内某处的湿度情况,进行局部控制.
图2 STM32F103与FC-28湿度模块硬件连接图
2.3 CO2浓度传感器模块
CO2浓度传感器模块采用MD62型气敏元件,其内部可通过混合气体的总导热系数,随待分析气体含量的不同而改变,由检测元件和补偿元件配对组成电桥的两个臂,遇可燃性气体时检测元件电阻变小,遇非可燃性气体时检测元件电阻变大(空气背景),桥路输出电压变量,输出电压呈线性响应,其具有速度快、良好的重复性、工作稳定、不存在催化剂中毒、可无氧、缺氧检测.[3]该电压变量随气体浓度增大而成正比例增大,补偿元件起参比及温度补偿作用,检测范围宽(0% ~100%VOL).
2.4 温度检模块
温度的检测采用美国DALLAS公司的一线式数字温度传感器DS18B20,其测量范围为-55℃ ~125℃,测温分辨率可达0.0625℃,多个DS18B20可以并联到1根总线上,CPU只需一个端口线就能与诸多DS18B20通信,以上特点非常适用于远距离多点温度检测系统.
2.5 触摸屏模块
触摸屏模块实现用户与系统之间的人机对话.当点击屏幕设计中的图形按钮时,屏幕内的传感反馈系统可根据预先设计的程序驱动各种连结功能,其可取代机械式的按键,并能产生生动的影音效果.它具有显示内容丰富、直观、易操作等优点.
3 系统软件设计
3.1 μC/OS-II操作系统移植
μC/OS-II是一个完整的、可移植、可固化、可裁剪的占先式实时多任务操作系统,它是一种基于优先级的抢占式多任务实时操作系统,包含了实时内核、任务管理、时间管理、任务间通信同步(信号量、邮箱、消息队列)和内存管理等功能.[4]它可以使各个任务独立工作,互不干涉,并使应用程序的设计过程大大减化.下面介绍本系统对μC/OS-II的移植及其使用.
硬件需求:
CPU(8/16/32/64位);
有最少的RAM和ROM(注:内存需的变化取决于软件的哪些部分被使用以及目标编译程序的效率有多高);
完全的图形LCD(任何类型和任何分辩率).
μC/OS-II的移植只需要修改与处理器相关的代码,具体有如下内容:
(1)os_cpu.h中需要设置一个常量来标识堆栈增长方向;
(2)os_cpu.h中需要声明几个用于开关中断和任务切换的宏;
(3)os_cpu.h中需要针对具体处理器的字长重新定义一系列数据类型;
(4)os_cpu_a.asm需要改写4个汇编语言的函数;
(5)os_cpu_c.c需要用c语言编写6个简单函数.
完成上述工作后μC/OS-II就可以运行在ARM处理器上了.
在任务执行时,如果需要对其进行中断操作,应对于任务用以下函数进行配置:
#define OS_EXIT_CRITICAL()/* 允许中断;
#define OS_ENTER_CRITICAL()/* 禁止中断.
在μC/OS-II中用GUI的,所以还要写几个操作系统接口函数.而GUI_X_x之类的函数是和操作系统相关的接口.
(1)系统时间接口.
取系统时间:intGUI_X_GetTime(void);
延时函数:void GUI_X_Delay(int ms).
(2)任务调度函数.
任务初始化:void GUI_X_InitOS(void);
任务锁定:voidGUI_X_Lock(void);
任务解锁:voidGUI_X_Unlock(void);
本系统在移植μC/OS-II时,修改了3个与ARM体系结构相关操作分别是:任务管理OS_TASK.C、任务管理 OS_MEM.C、任务管理 OS_CORE.C.[5]
图3 系统上位机图形界面
3.2 μC/GUI和μC/GUIBuilder界面设计
uC/GUI是Micrium公司研发的通用的嵌入式用户图像界面软件.它给任何使用图像LCD的应用程式提供单独于处理器和LCD控制器之外的有效的图形用户接口.能够应用于单一任务环境,也能够应用于多任务环境中.GUI Builder是一款用来创建WebElement用户界面(WUI)的模板生成器,能根据用户的要求来生成C语言源代码的工具,也可以作为一个WEP响应程序的基础.它简化了应用程序的设计过程,生成简单的程序框架和事件框架,对逻辑和视图进行分离,使源代码能直接在指定的编译器里编译生成目标文件.
3.3 系统上位机的设计
本系统的上位机是在C#上开发的,C#是微软公司发布的一种面向对象的、运行于.NET Framework之上的高级程序设计语言.图3为上位机软件打开之后的画面.
4 结语
本文结合现代农业的发展趋势,提出利用嵌入式系统整合农业设施所设计的一种新方案.系统通过对温室内的温度与湿度参量的采集,并根据上述参数实现对温度和湿度的自动调节,达到了温室大棚自动控制的目的.该方案对渭北平原果蔬大棚的规范化管理具有的一定的现实意义.
(指导教师 袁 卫)
[1]于海业,马成林,孙瑞东.温室环境自动检测系统[J].农业工程学报,1997,13(S1):262-269.
[2]王瑄,迟道才,王铁良,等.日光温室夏季降温措施的试验研究初报[J].农业工程学报,2001,17(5):95-98.
[3]丁镇生.传感器及传感技术应用[M].北京:电子工业出版社,1998.
[4]赵宁,陈明,何鹏举.嵌入式操作系统μC/OS-II在ARM上的移植与应用[J].计算机技术与应用,2004,(4):29-31.
[5]ELM-FAT File System Module[DB/OL].(2010-05-04)[2013-03-25].http://elm-chan.org/fsw/f/00index_e.html.