基于ARM水胁迫声发射的精准灌溉智能温室系统的设计
2015-10-21余海斌
摘要设计了一种基于ARM平台LPC2300系列的智能溫室控制系统。在传统智能温室系统上加入了植物水胁迫声发射信号的获取以及处理,以实现温室的精准灌溉。该系统以ARM7嵌入式处理器为核心, 将各类数字传感器收集的数据通过现代控制理论及模糊控制算法进行处理,采用自动控制、远程监控和图形化等多种方式来调整温室执行机构,以达到控制温室温湿度、CO2浓度、光照强度以及土壤含水率等参数,在搭建的温室模型中取得稳定、可靠的运行效果。该研究设计的ARM 系统相比于传统温室控制系统,具有维护成本低、功耗低、方便实用等特点;相比于同类设计,该系统开发了数字传感器、图形化界面、模糊控制方法、网络摄像头监控,实现了现代温室控制所具有的智能化、网络化和可视化。
关键词ARM;嵌入式系统;智能温室;精准灌溉;模糊控制
中图分类号S126文献标识码
A文章编号0517-6611(2015)05-351-03
基金项目国家自然科学基金项目(51269033)。
作者简介余海斌(1990- ),男,湖北黄冈人,硕士研究生,研究方向:农业电气化与自动化。*通讯作者,副教授,硕士生导师,从事农业电气工程研究。
收稿日期2014-12-29
随着社会和经济的发展,人们对物质生活的要求越来越高。我国农业以较快的速度发展,大多数农民已经开始使用温室大棚种植技术,但是农作物种植受到地域和自然环境等因素影响,智能温室的发展将会对农业生产有着重大意义。温湿度、光照量和灌溉量是农作物生长很重要的因素,而现今温室大棚的温湿度、光照和灌溉依旧由人工检测和控制,
运用智通温室系统科学地控制温湿度和精准灌溉,可以显著提高农作物的产量以及质量。
当今世界上的发达国家如荷兰、美国等大力提倡发展集成化、规模化的温室产业,温室内温度、光照、CO2、水、肥都已实现了计算机集中调控,从种子的选择、栽培管理到采收加工以及包装等流程,形成了一整套规范化技术体系。美国是世界上最早发明计算机的国家,同样也是将计算机应用于温室控制和管理最早、最广泛的国家之一。美国有一整套发达的设施栽种和培养技术,温室综合环境的控制技术水平非常高。温室环境控制计算机主要是对温室环境(气象环境和栽培环境等)进行实时监测和控制。以花卉温室为例,温室监控项目包括室内温度、水温、土壤含水率、管道温度、空气湿度、保温幕布状况、通窗状况、水泵的工作状况、CO2浓度、EC调节池、pH调节池和回流管数值等参数;室外监控项目包括大气温度、太阳辐射强度、风向风速、相对湿度等。随着互联网的快速发展,温室专家系统的广泛应用也给种植者们带来了一定的经济效益,提高了管理者的决策水平,减轻了技术管理工作量,同时也为种植和培养带来了诸多方便。除此之外,发达国家的温室行业正致力于向高科技方向发展。遥感测控技术、物联网技术、局域网控制技术已逐渐应用于温室的管控之中。智能化控制要求在远离温室现场的计算机控制中心就能完成,即远程控制。另外该网络还连接有其他通讯平台,用户可以在遥远的地方通过逼真、直观的图形化界面与这种分布式的控制系统进行对话,就像在现场操作一样,给人一种身临其境的感觉[1]。
笔者以智能嵌入式ARM微控制器为控制核心,集成温湿度传感器作为温湿度检测元件,加热、加湿设备作为温室调节器,设计了一种温室大棚的智能化控制和管理系统。
1系统介绍
该设计以LPC2300系列ARM智能系统为基础,温度、湿度等因素测量和自动控制系统为核心来对温室进行实时检测。微控制器ARM能独立完成各项功能,同时能通过温湿度传感器等外设对温湿度等信号进行定时采集。测量结果不仅能在本地显示,而且可以利用ARM的串行口和CAN总线通信协议能把温室中的温度、湿度、土壤含水率等参数及时上传至上位机,并与设定值进行比较,与设定值不符时采取相应的处理措施。有了植物的水胁迫声发射信号,使用者能更清楚地知道植物对水的需求量,让温室始终处于恒温恒湿的稳定环境当中。
在设计的过程中充分考虑到性价比和精度,在选用价格适中、通用元件的基础上,尽量满足设计要求,并使系统具有较高的精度。该控制系统以ARM微控制器为核心,实时监测环境的温度、湿度和土壤含水率,并设定了这些参数的上、下限值,设计了相应的报警系统,当超过设定的阈值时,ARM将会触发报警系统进行报警,同时驱动执行继电器打开相应的开关使相应的执行机构运行;当参数值恢复到正常范围内时,ARM将控制执行机构停止运行,从而使环境的温湿度、CO2浓度、含水率等参数控制在一定的范围内[2]。
2系统总体方案
该系统包括ARM 开发板、外围电路和温室模型3部分。通过模拟量和数字量输入接口,将温湿度传感器、光照传感器、CO2传感器、土壤含水率传感器等传感器所得的连续的物理信号通过A/D和D/A转换,转换为离散的电信号。LPC2300系列ARM可以捕捉到这类信号并实时显示在外接LCD上。在对信号的处理上采用智能离散模糊化处理,再将处理后的结果通过执行机构输出接口,传输给通风系统执行机构、加热系统执行机构、湿帘水泵执行电机等执行机构,以调节温室内的温湿度、光照、CO2、土壤含水率等参数,达到人们想要的预期值。
在物联网快速发展的今天,单机控制已经不能完全满足人们的智能化要求。LPC2300系列ARM已经为人们提供了强大的远程数据传输接口,该研究采用CAN接口连接至上位机服务器。服务器采用性能强劲、稳定的Linux系统,它可以将ARM传送的数据实时保存在Oracle数据库中。并与外界的Internet相连,接入农业专家系统以实现精确性。借助强大的Linux系统,可以搭建Web环境,这样就能实施远程监控了。今天人手一台智能手机已成为现实,为此还可以开发相关的APP,做到无论何时何地在手上也能远程查看温室的状况。系统原理见图1。
2.1LPC2300系列ARM控制器LPC2300系列是基于ARM7的微控制器,十分适用于需要串行通信的场合。它包含了10/100 Ethernet MAC、USB2.0全速接口、4个UART、2路CAN通道、1个SPI接口、2个同步串行端口(SSP)、3个I2C接口、1个I2S接口和一条MiniBus总线。
ARM7TDMI-S处理器,可在高达72 MHz的频率下运行;高达512 KB的片内Flash程序存储器,具有在系统编程(ISP)和在应用编程(IAP)功能。单个Flash扇区和整个芯片擦除的时间都为400 ms、256 kB编程的时间为1 ms。Flash程序存储器位于ARM局部总线上,可以进行高性能的CPU访问;两个AHB系统,可同步进行Ethernet DMA、USB DMA及从片内Flash执行程序的操作,执行这些功能时不会产生竞争。AHB总线桥允许Ethernet DMA访问其他AHB子系统;片内振荡器的工作频率为1~24 MHz;4 MHz的内部RC振荡器,可用作系统时钟;片内PLL允许CPU工作在最大速率而无须使用高频率。PLL可从主振荡器、内部RC振荡器或RTC振荡器开始运行;引脚功能选择为使用片内外设功能提供了更多的可能性[3]。
2.2CAN总线的设计
系统由上位机监控中心和CAN总線监测节点组成,CAN总线温室监测系统框架见图2。由采集模块将采集到的温湿度、光照、CO2、土壤含水率等参数信号,传递给主控制模块进行信号的处理;再由通信模块生成协议报文,并由CAN收发器通过CAN总线将数据发送至上位机,同时接收上位机发来的控制命令,并予以反馈。上位机监控中心则负责收集由CAN总线传输过来的各种数据,并实时显示,同时还起着指挥CAN总线各节点的作用,让温室的各种环境参数时刻处于最佳的状态。
2.3模糊控制算法
自动灌溉系统灌溉作物需要混合在水中的营养液的特定浓度,混合营养液同步进行灌溉,营养液在线自动混合控制和自动灌溉是该系统的关键和技术难点。根据对营养液构成及工作特性的分析可知,该系统是一个实时的、大延迟的、有不确定因素的复杂系统,系统有很大的滞后性和惯性环节,并且传递函数也很难确定。因为该控制系统的执行单元是电磁阀,只有开关两种状态,只能按照电磁阀周期内的开关时间比例,用经典控制方法不容易得到很好的控制效果。所以,该系统将采用模糊逻辑控制方法来实现。在模糊控制器的设计时,用偏差和偏差变化量来作为输入变量,为营养液的电导率(EC)或酸碱度(pH)的实测值与营养液的电导率(EC)或酸碱度(pH)的标准值之间的差值,作为邻近2次差值的变化,表示为:
e(k)=r(k)-y(k) (1)
Δe(k)=e(k)-e(k-1)(2)
因为输入变量有2个,故称为二维模糊控制器,控制系统框架见图3。这时的模糊控制器类似于一个PD控制器,从而有利于保证系统的稳定性,减少响应过程的超调量以及削弱其振荡现象[4]。
3软件设计
系统软件主要由主程序、数据采集、显示、报警、键盘等模块组成。
3.1主程序模块主程序模块主要完成硬件初始化、子程序模块调用等功能。具体流程见图4。
3.2数据采集模块
数据采集模块根据输入参数对相应模拟信号进行采样、量化及处理,并将相应信号数值返回主程序。程序代码如下:
void Get_temperature(void)
{
Initize_18B20(); //初始化18b20
Write_Byte_18b20(SkipRom);
Wait_Bus_Delay(1);
Write_Byte_18b20(ConvertTemperature); //18b20 功能指令,写入温度转换命令
Wait_Bus_Delay(5);
Initize_18B20(); //初始化18b20
Write_Byte_18b20(SkipRom);
Wait_Bus_Delay(1);
Write_Byte_18b20(ReadScratchpad); //18b20 功能指令,读暂存器指令
temperature_low=Read_Byte_18b20(); //读取温度数据低位,其中最低4 位为小数位
temperature_high=Read_Byte_18b20(); //读取温度数据高位,其中最高5 位为符号位
Wait_Bus_Delay(20);
temperature_all=((temperature_high<<8)|(temperature_low));
if(temperature_all&0xf800) //判断温度是否为负
{
temperature_all=0; //限制温度测量下限为0 度
}
}[5]
4结语
该研究所设计的系统是一种基于ARM微控制器的智能温室控制系统,针对传统温室灌溉系统存在的不足,利用现代智能传感技术以及水胁迫声发射信号, 以经济、简单、方便、智能的方法实现对温室各种复杂环境参数的准确检测。设计的智能温室控制系统完全满足各种植物生产的实际需求,实践证明该系统具有安全可靠、经济、稳定性好且操作简单等特点,符合当前温室系统的主流发展趋势, 具有良好且广阔的应用前景。
43卷5期余海斌等基于ARM水胁迫声发射的精准灌溉智能温室系统的设计
参考文献
[1]
荆珂,张孟杰,李芳,等.温室控制系统的现状及其发展[J].农机化研究,2008,5(5):213-214.
[2] 丁欣, 孙智卿, 郭鹏举.基于ARM 的智能温室控制系统[J].山西农业大学学报: 自然科学版, 2010, 30(1):62-66.
[3] 周立功.ARM嵌入式系统基础教程[M].北京:北京航空航天出版社,2008:74-75.
[4] 苏林,袁寿其,张兵,等.基于ARM7的智能灌溉摸糊控制系统[J].中国农村水利水电,2007(12):29-30.
[5] 江丽莎,蒙亮,罗涟玲.利用单片机设计农业温室温湿度智能控制系统[J].广西物理,2012,33(1):22-23.
责任编辑夏静责任校对李岩